{"id":19316596,"url":"https://github.com/wisskirchenj/ai-guessing","last_synced_at":"2026-05-16T01:34:18.605Z","repository":{"id":110253164,"uuid":"607369184","full_name":"wisskirchenj/ai-guessing","owner":"wisskirchenj","description":"Simple AI-application, basic language processing, teaching a system to guess an animal","archived":false,"fork":false,"pushed_at":"2024-06-08T16:59:19.000Z","size":198,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-22T00:54:02.263Z","etag":null,"topics":["binary-tree","jackson-json","java19","nlp-machine-learning","picocli","xml","yaml"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wisskirchenj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-27T21:02:36.000Z","updated_at":"2024-06-08T16:59:21.000Z","dependencies_parsed_at":"2024-11-10T01:12:07.322Z","dependency_job_id":"73694851-f760-4029-a414-d349c17a5d79","html_url":"https://github.com/wisskirchenj/ai-guessing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wisskirchenj/ai-guessing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fai-guessing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fai-guessing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fai-guessing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fai-guessing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wisskirchenj","download_url":"https://codeload.github.com/wisskirchenj/ai-guessing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fai-guessing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33087028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T20:25:35.270Z","status":"ssl_error","status_checked_at":"2026-05-15T20:25:34.732Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary-tree","jackson-json","java19","nlp-machine-learning","picocli","xml","yaml"],"created_at":"2024-11-10T01:11:58.224Z","updated_at":"2026-05-16T01:34:18.591Z","avatar_url":"https://github.com/wisskirchenj.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IDEA EDU Course\n\nImplemented in the \u003cb\u003eJava Core\u003c/b\u003e Track of hyperskill.org JetBrain Academy.  \n\nProject goal is to implement a simple AI-application (basic language processing) teaching the system\nto guess an animal. Tree structures, node traversals are used.\n\n## Technology / External Libraries\n\n- Java 19\n- Jackson Json, Xml and Yaml Serializing\n- Internationalization (I18n) with PropertyResourceBundles in English, German and Esperanto\n- PicoCli - a great CLI library\n- Lombok\n- Slf4j\n- Tests with Junit-Jupiter and Mockito\n- Gradle 8.0.2\n\n## Program description\n\nThe application will implement a simple interactive game where the computer will try to guess the animal,\nthat the person has in mind with the help of yes or no questions. During the game, the computer will extend\nits knowledge base by learning new facts about animals and using this information in the next game.\n\n## Project completion\n\nProject was completed on 26.03.23.\n\n## Repository Contents\n\nSources for all project tasks (6 stages) with tests and configurations.\n\n## Progress\n\n27.02.23 Project started. Setup of build and repo with gradle on Kotlin basis.\n\n06.03.23 Stage 1 completed. Simple language understanding, parsing and (random) reply generation.\n\n06.03.23 Stage 2 completed. Ask for two different animals and a distinguishing fact, display learnings. \nFirst phrase creation and recognition.\n\n11.03.23 Stage 3 completed. Full interactive guessing game, store learnings in binary decision tree,\nnot yet persisted.\n\n14.03.23 Stage 4 completed. Deserialize and Store the decision tree on game end and reload at startup. Allow storage\nformats JSON, YAML and XML specified by CLI-parameter and read in with picocli-library. Serialize Interface in tree\nnode using `@JsonSubTypes` and `@JsonTypeInfo`-annotations\n\n20.03.23 Stage 5 completed. Add a main menu - split GuessingGame and Controller. Add third controller class, that\norchestrates the Knowledge Tree explore menu options. Implement 4 actions, that use - and inherit from - an abstract\nDepth First Search implementing class providing a process hook. Add TreePrintAction.\n\n26.03.23 Final stage 6 completed. Full internationalization (I18n) support in English, Esperanto and German added,\nwith basic grammar providing pattern support, implemented using `PropertyResourceBoundle`, `java.text.MessageFormat` and \nregexp-classes. `Locale` is set by System-Property via JVM-option `user.language`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisskirchenj%2Fai-guessing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwisskirchenj%2Fai-guessing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisskirchenj%2Fai-guessing/lists"}