{"id":27056478,"url":"https://github.com/damesek/eszterlanc","last_synced_at":"2025-04-05T10:17:48.954Z","repository":{"id":204264454,"uuid":"711459826","full_name":"damesek/eszterlanc","owner":"damesek","description":"Clojurized access to Magyarlanc toolkit. The magyarlanc is a toolkit for linguistic processing of Hungarian","archived":false,"fork":false,"pushed_at":"2023-11-06T17:16:14.000Z","size":204397,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-07T20:39:43.963Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/damesek.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-29T10:37:43.000Z","updated_at":"2023-11-04T14:22:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"edc5b455-388c-4b96-bdac-c636c7a9efae","html_url":"https://github.com/damesek/eszterlanc","commit_stats":null,"previous_names":["damesek/eszterlanc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damesek%2Feszterlanc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damesek%2Feszterlanc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damesek%2Feszterlanc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damesek%2Feszterlanc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/damesek","download_url":"https://codeload.github.com/damesek/eszterlanc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318730,"owners_count":20919483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-04-05T10:17:48.367Z","updated_at":"2025-04-05T10:17:48.936Z","avatar_url":"https://github.com/damesek.png","language":"Clojure","funding_links":[],"categories":["Tools"],"sub_categories":["Pipelines with Hungarian NLP components"],"readme":"# eszterlanc \n## Clojurized access to Magyarlanc toolkit\n\n### magyarlanc: a toolkit for linguistic processing of Hungarian\n\nhttps://rgai.inf.u-szeged.hu/magyarlanc\n\nThe toolkit called magyarlanc aims at the basic linguistic processing of Hungarian texts. The toolkit consists of only JAVA modules (there are no wrappers for other programming languages), which guarantees its platform independency and its ability to be integrated into bigger systems (e.g. web servers).\n\n\n\nThis clojure library named about a poem or song titled \"Lánc, lánc, eszterlánc\" appears to be a traditional Hungarian children's song or (chain based) game. Just4brave people: https://www.youtube.com/watch?v=NJJLEW17oBQ.\n:) \n\n### Reasons for creating this:\n- It surpasses alternatives like Snowball, HunSpell, and StanfordNLP, which have an accuracy range of 50-70%.\n- Enables seamless integration with Clojure.\n- GenAI Solutions (sometimes) required Syntactic Approaches\n\nOfficial commandline example:\n```bash\njava -Xmx2G -jar magyarlanc-3.0.jar -mode depparse -input in.txt -output out.txt -encoding ISO-8859-2\n```\n\n## Usage\n\n[![Clojars Project](https://img.shields.io/clojars/v/hu.baader/eszterlanc.svg?include_prereleases)](https://clojars.org/hu.baader/eszterlanc)\n\nLeiningen:\n\n```angular2html\n[hu.baader/eszterlanc \"0.3.3\"]\n```\n\nClojure CLI/deps.edn\n\n```angular2html\nhu.baader/eszterlanc {:mvn/version \"0.3.3\"}\n```\n\n# initialize\n\nOn 2023-11-06, I updated the initialization script.\n\nThe script installs the MTA-SZTA Magyarlanc JAR file to the local Maven repository.\nPlease execute the initialization shell script to complete this process.\n\n`./initialize`\n\nYou will find the JAR file located within the lib directory.\nAdd to project `mta.szta.rgai/magyarlanc` and `hu.baader/eszterlanc`.\n\nAs see in the example project:\n\n```clojure \n(defproject eszterlanc-test \"0.1.0-SNAPSHOT\"\n            :description \"FIXME: write description\"\n            :url \"http://example.com/FIXME\"\n            :license {:name \"EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0\"\n                      :url \"https://www.eclipse.org/legal/epl-2.0/\"}\n            :dependencies [[org.clojure/clojure \"1.11.1\"]\n                           [hu.baader/eszterlanc \"0.3.3\"]\n                           [mta.szte.rgai/magyarlanc \"0.3.0\"]]\n            :repl-options {:init-ns eszterlanc-test.core})\n```\n### todo\n\n- S3 Maven bucket for easier usage\n\n## GUI\n\n### Access to GUI\n\n```clojure \n(require '[eszterlanc.gui :as [gui]])\n\n(gui/init)\n```\n![GUI init](resources/gui.png)\n\nGUI namespace functions:\n\n- [**save-image-berkley**](#save-image-berkley): on the picture, the right graph\n- [**save-image-whatswrong**](#save-image-whatswrong): on the picture, the left graph\n- [**save-image-to-resources**](#save-image-to-resources): save both image\n\n## FUNCTIONS\n\n- [**lemma-for-word**](#lemma-for-word): get a word lemma\n- [**sentence-array**](#sentences-into-arrays): split strings into sentence arrays\n- [**object-\u003eclj**](#helper-object-clj): helper-fn\n- [**morphology**](#morphology): Morphological parser (from/via morphdb.hu) \n- [**dependency**](#dependency): Google Mate-tools Analysis adapted to Hungarian\n- [**constituency**](#constituency): Berkley parser adapted to Hungarian\n- [**magyarlanc**](#access-to-all-magyarlanc): Magyarlanc funcionality (all-in-one)\n\n### Init\n\n```clojure \n(require '[eszterlanc.core :as e])\n```\n\n### Sentences into arrays\n\n```clojure\n\n(def test-text\n  \"Két folyó találkozásánál fekszik a város, ami a várakozások ellenére nem egy oroszlánról kapta a nevét. Megmutatjuk a legjobb kocsmákat, és hogy hol lehet a legnagyobb a magyarok öröme.\")\n\n(e/sentence-array test-text)\n\n\u003e\u003e #object[\"[[Ljava.lang.String;\" 0x3c39af25 \"[[Ljava.lang.String;@3c39af25\"]\n\n```\n### helper: object-\u003eclj \n\nI added a little helper to get more readable results, if you would like to see what happens here.\n\n```clojure\n(e/object-\u003eclj \n  (sentence-array test-text))\n\n=\u003e\n[[\"Két\"\n  \"folyó\"\n  \"találkozásánál\"\n  \"fekszik\"\n  \"a\"\n  \"város\"\n  \",\"\n  \"ami\"\n  \"a\"\n  \"várakozások\"\n  \"ellenére\"\n  \"nem\"\n  \"egy\"\n  \"oroszlánról\"\n  \"kapta\"\n  \"a\"\n  \"nevét\"\n  \".\"]\n [\"Megmutatjuk\" \"a\" \"legjobb\" \"kocsmákat\" \",\" \"és\" \"hogy\" \"hol\" \"lehet\" \"a\" \"legnagyobb\" \"a\" \"magyarok\" \"öröme\" \".\"]]\n\n```\n\n### Morphology\n\n\nGet the morph array, about the sentences:\n\nThe morphological parser is a code based on the\nfinite state automata written by György Gyepesi,\nwhich was built on the resource morphdb.hu.\n\n\n```clojure\n(def morph \n  (e/morph-array sentences-array))\n\n(clojure.pprint/pprint morph)\n\n([[\"Két\" \"két\" \"NUM\" \"Case=Nom|NumType=Card|Number=Sing\"]\n  [\"folyó\" \"folyó\" \"NOUN\" \"Case=Nom|Number=Sing\"]\n  [\"találkozásánál\"\n   \"találkozás\"\n   \"NOUN\"\n   \"Case=Ade|Number=Sing|Number[psor]=Sing|Person[psor]=3\"]\n  [\"fekszik\"\n   \"fekszik\"\n   \"VERB\"\n   \"Definite=Ind|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n  [\"város\" \"város\" \"NOUN\" \"Case=Nom|Number=Sing\"]\n  [\",\" \",\" \"PUNCT\" \"_\"]\n  [\"ami\" \"ami\" \"PRON\" \"Case=Nom|Number=Sing|Person=3|PronType=Rel\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n  [\"várakozások\" \"várakozás\" \"NOUN\" \"Case=Nom|Number=Plur\"]\n  [\"ellenére\" \"ellenére\" \"ADP\" \"_\"]\n  [\"nem\" \"nem\" \"ADV\" \"PronType=Neg\"]\n  [\"egy\" \"egy\" \"DET\" \"Definite=Ind|PronType=Art\"]\n  [\"oroszlánról\" \"oroszlán\" \"NOUN\" \"Case=Del|Number=Sing\"]\n  [\"kapta\"\n   \"kap\"\n   \"VERB\"\n   \"Definite=Def|Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin|Voice=Act\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n  [\"nevét\"\n   \"név\"\n   \"NOUN\"\n   \"Case=Acc|Number=Sing|Number[psor]=Sing|Person[psor]=3\"]\n  [\".\" \".\" \"PUNCT\" \"_\"]]\n [[\"Megmutatjuk\"\n   \"megmutat\"\n   \"VERB\"\n   \"Definite=Def|Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin|Voice=Act\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n  [\"legjobb\" \"jó\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\"]\n  [\"kocsmákat\" \"kocsma\" \"NOUN\" \"Case=Acc|Number=Plur\"]\n  [\",\" \",\" \"PUNCT\" \"_\"]\n  [\"és\" \"és\" \"CONJ\" \"_\"]\n  [\"hogy\" \"hogy\" \"SCONJ\" \"_\"]\n  [\"hol\" \"hol\" \"ADV\" \"PronType=Int\"]\n  [\"lehet\"\n   \"lesz\"\n   \"VERB\"\n   \"Definite=Ind|Mood=Pot|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n  [\"legnagyobb\" \"nagy\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n  [\"magyarok\" \"magyar\" \"NOUN\" \"Case=Nom|Number=Plur\"]\n  [\"öröme\"\n   \"öröm\"\n   \"NOUN\"\n   \"Case=Nom|Number=Sing|Number[psor]=Sing|Person[psor]=3\"]\n  [\".\" \".\" \"PUNCT\" \"_\"]])\n```\n\n### Dependency\n\nhttps://code.google.com/archive/p/mate-tools/\nTools for Natural Language Analysis\nadapted to Hungarian\nInput: array\n\n```clojure \n(e/dependency sentences-array)\n=\u003e\n([[\"1\" \"Két\" \"két\" \"NUM\" \"Case=Nom|NumType=Card|Number=Sing\" \"2\" \"ATT\"]\n  [\"2\" \"folyó\" \"folyó\" \"NOUN\" \"Case=Nom|Number=Sing\" \"3\" \"ATT\"]\n  [\"3\" \"találkozásánál\" \"találkozás\" \"NOUN\" \"Case=Ade|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"4\" \"OBL\"]\n  [\"4\"\n   \"fekszik\"\n   \"fekszik\"\n   \"VERB\"\n   \"Definite=Ind|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\"\n   \"0\"\n   \"ROOT\"]\n  [\"5\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"6\" \"DET\"]\n  [\"6\" \"város\" \"város\" \"NOUN\" \"Case=Nom|Number=Sing\" \"4\" \"SUBJ\"]\n  [\"7\" \",\" \",\" \"PUNCT\" \"_\" \"4\" \"PUNCT\"]\n  [\"8\" \"ami\" \"ami\" \"PRON\" \"Case=Nom|Number=Sing|Person=3|PronType=Rel\" \"15\" \"SUBJ\"]\n  [\"9\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"10\" \"DET\"]\n  [\"10\" \"várakozások\" \"várakozás\" \"NOUN\" \"Case=Nom|Number=Plur\" \"11\" \"ATT\"]\n  [\"11\" \"ellenére\" \"ellenére\" \"ADP\" \"_\" \"15\" \"MODE\"]\n  [\"12\" \"nem\" \"nem\" \"ADV\" \"PronType=Neg\" \"15\" \"NEG\"]\n  [\"13\" \"egy\" \"egy\" \"DET\" \"Definite=Ind|PronType=Art\" \"14\" \"DET\"]\n  [\"14\" \"oroszlánról\" \"oroszlán\" \"NOUN\" \"Case=Del|Number=Sing\" \"15\" \"OBL\"]\n  [\"15\" \"kapta\" \"kap\" \"VERB\" \"Definite=Def|Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin|Voice=Act\" \"4\" \"ATT\"]\n  [\"16\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"17\" \"DET\"]\n  [\"17\" \"nevét\" \"név\" \"NOUN\" \"Case=Acc|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"15\" \"OBJ\"]\n  [\"18\" \".\" \".\" \"PUNCT\" \"_\" \"0\" \"PUNCT\"]]\n [[\"1\"\n   \"Megmutatjuk\"\n   \"megmutat\"\n   \"VERB\"\n   \"Definite=Def|Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin|Voice=Act\"\n   \"0\"\n   \"ROOT\"]\n  [\"2\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"4\" \"DET\"]\n  [\"3\" \"legjobb\" \"jó\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\" \"4\" \"ATT\"]\n  [\"4\" \"kocsmákat\" \"kocsma\" \"NOUN\" \"Case=Acc|Number=Plur\" \"1\" \"OBJ\"]\n  [\"5\" \",\" \",\" \"PUNCT\" \"_\" \"1\" \"PUNCT\"]\n  [\"6\" \"és\" \"és\" \"CONJ\" \"_\" \"1\" \"CONJ\"]\n  [\"7\" \"hogy\" \"hogy\" \"SCONJ\" \"_\" \"9\" \"CONJ\"]\n  [\"8\" \"hol\" \"hol\" \"ADV\" \"PronType=Int\" \"9\" \"LOCY\"]\n  [\"9\" \"lehet\" \"lesz\" \"VERB\" \"Definite=Ind|Mood=Pot|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\" \"6\" \"COORD\"]\n  [\"10\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"11\" \"DET\"]\n  [\"11\" \"legnagyobb\" \"nagy\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\" \"9\" \"PRED\"]\n  [\"12\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"13\" \"DET\"]\n  [\"13\" \"magyarok\" \"magyar\" \"NOUN\" \"Case=Nom|Number=Plur\" \"14\" \"ATT\"]\n  [\"14\" \"öröme\" \"öröm\" \"NOUN\" \"Case=Nom|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"9\" \"SUBJ\"]\n  [\"15\" \".\" \".\" \"PUNCT\" \"_\" \"0\" \"PUNCT\"]])\n```\n\n### Constituency\n\nBased on https://github.com/slavpetrov/berkeleyparser\nLearning Accurate, Compact, and Interpretable Tree Annotation\nadapted to Hungarian\nInput: array\n\n```clojure \n(e/constituency sentences-array)\n=\u003e\n(([\"Két\" \"két\" \"NUM\" \"Case=Nom|NumType=Card|Number=Sing\" \"(ROOT(CP(NP(NP*\"]\n  [\"folyó\" \"folyó\" \"NOUN\" \"Case=Nom|Number=Sing\" \"*)\"]\n  [\"találkozásánál\" \"találkozás\" \"NOUN\" \"Case=Ade|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"*)\"]\n  [\"fekszik\"\n   \"fekszik\"\n   \"VERB\"\n   \"Definite=Ind|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\"\n   \"(V_(V0*))\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(NP*\"]\n  [\"város\" \"város\" \"NOUN\" \"Case=Nom|Number=Sing\" \"*)\"]\n  [\",\" \",\" \"PUNCT\" \"_\" \"*\"]\n  [\"ami\" \"ami\" \"PRON\" \"Case=Nom|Number=Sing|Person=3|PronType=Rel\" \"(CP(NP*)\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(PP(NP*\"]\n  [\"várakozások\" \"várakozás\" \"NOUN\" \"Case=Nom|Number=Plur\" \"*)\"]\n  [\"ellenére\" \"ellenére\" \"ADP\" \"_\" \"*)\"]\n  [\"nem\" \"nem\" \"ADV\" \"PronType=Neg\" \"(NEG*)\"]\n  [\"egy\" \"egy\" \"DET\" \"Definite=Ind|PronType=Art\" \"(NP*\"]\n  [\"oroszlánról\" \"oroszlán\" \"NOUN\" \"Case=Del|Number=Sing\" \"*)\"]\n  [\"kapta\" \"kap\" \"VERB\" \"Definite=Def|Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin|Voice=Act\" \"(V_(V0*))\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(NP*\"]\n  [\"nevét\" \"név\" \"NOUN\" \"Case=Acc|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"*))\"]\n  [\".\" \".\" \"PUNCT\" \"_\" \"*))\"])\n ([\"Megmutatjuk\"\n   \"megmutat\"\n   \"VERB\"\n   \"Definite=Def|Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin|Voice=Act\"\n   \"(ROOT(CP(CP(V_(V0*))\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(NP*\"]\n  [\"legjobb\" \"jó\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\" \"(ADJP*)\"]\n  [\"kocsmákat\" \"kocsma\" \"NOUN\" \"Case=Acc|Number=Plur\" \"*))\"]\n  [\",\" \",\" \"PUNCT\" \"_\" \"*\"]\n  [\"és\" \"és\" \"CONJ\" \"_\" \"(C0*)\"]\n  [\"hogy\" \"hogy\" \"SCONJ\" \"_\" \"(C0*)\"]\n  [\"hol\" \"hol\" \"ADV\" \"PronType=Int\" \"(CP(ADVP*)\"]\n  [\"lehet\" \"lesz\" \"VERB\" \"Definite=Ind|Mood=Pot|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\" \"(V_(V0*))\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(NP*\"]\n  [\"legnagyobb\" \"nagy\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\" \"*)\"]\n  [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(NP(NP*\"]\n  [\"magyarok\" \"magyar\" \"NOUN\" \"Case=Nom|Number=Plur\" \"*)\"]\n  [\"öröme\" \"öröm\" \"NOUN\" \"Case=Nom|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"*))\"]\n  [\".\" \".\" \"PUNCT\" \"_\" \"*))\"]))\n```\n\n\n### lemma-for-word\n\nWhy I started this project.. :)\n\nIf we give a non-real word, it still returns the original.\nThis can be misleading, may require further checking.\nE.g. spell checking\n\n```clojure \n(e/lemma-for-word \"baglyokat\")\n=\u003e \"bagoly\"\n```\n\n### Access to all magyarlanc\n\n```clojure \n(e/magyarlanc sentences-array)\n=\u003e\n({:morph ([\"Két\" \"két\" \"NUM\" \"Case=Nom|NumType=Card|Number=Sing\"]\n          [\"folyó\" \"folyó\" \"NOUN\" \"Case=Nom|Number=Sing\"]\n          [\"találkozásánál\" \"találkozás\" \"NOUN\" \"Case=Ade|Number=Sing|Number[psor]=Sing|Person[psor]=3\"]\n          [\"fekszik\" \"fekszik\" \"VERB\" \"Definite=Ind|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\"]\n          [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n          [\"város\" \"város\" \"NOUN\" \"Case=Nom|Number=Sing\"]\n          [\",\" \",\" \"PUNCT\" \"_\"]\n          [\"ami\" \"ami\" \"PRON\" \"Case=Nom|Number=Sing|Person=3|PronType=Rel\"]\n          [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n          [\"várakozások\" \"várakozás\" \"NOUN\" \"Case=Nom|Number=Plur\"]\n          [\"ellenére\" \"ellenére\" \"ADP\" \"_\"]\n          [\"nem\" \"nem\" \"ADV\" \"PronType=Neg\"]\n          [\"egy\" \"egy\" \"DET\" \"Definite=Ind|PronType=Art\"]\n          [\"oroszlánról\" \"oroszlán\" \"NOUN\" \"Case=Del|Number=Sing\"]\n          [\"kapta\" \"kap\" \"VERB\" \"Definite=Def|Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin|Voice=Act\"]\n          [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n          [\"nevét\" \"név\" \"NOUN\" \"Case=Acc|Number=Sing|Number[psor]=Sing|Person[psor]=3\"]\n          [\".\" \".\" \"PUNCT\" \"_\"]),\n  :dep ([\"1\" \"Két\" \"két\" \"NUM\" \"Case=Nom|NumType=Card|Number=Sing\" \"2\" \"ATT\"]\n        [\"2\" \"folyó\" \"folyó\" \"NOUN\" \"Case=Nom|Number=Sing\" \"3\" \"ATT\"]\n        [\"3\" \"találkozásánál\" \"találkozás\" \"NOUN\" \"Case=Ade|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"4\" \"OBL\"]\n        [\"4\"\n         \"fekszik\"\n         \"fekszik\"\n         \"VERB\"\n         \"Definite=Ind|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\"\n         \"0\"\n         \"ROOT\"]\n        [\"5\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"6\" \"DET\"]\n        [\"6\" \"város\" \"város\" \"NOUN\" \"Case=Nom|Number=Sing\" \"4\" \"SUBJ\"]\n        [\"7\" \",\" \",\" \"PUNCT\" \"_\" \"4\" \"PUNCT\"]\n        [\"8\" \"ami\" \"ami\" \"PRON\" \"Case=Nom|Number=Sing|Person=3|PronType=Rel\" \"15\" \"SUBJ\"]\n        [\"9\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"10\" \"DET\"]\n        [\"10\" \"várakozások\" \"várakozás\" \"NOUN\" \"Case=Nom|Number=Plur\" \"11\" \"ATT\"]\n        [\"11\" \"ellenére\" \"ellenére\" \"ADP\" \"_\" \"15\" \"MODE\"]\n        [\"12\" \"nem\" \"nem\" \"ADV\" \"PronType=Neg\" \"15\" \"NEG\"]\n        [\"13\" \"egy\" \"egy\" \"DET\" \"Definite=Ind|PronType=Art\" \"14\" \"DET\"]\n        [\"14\" \"oroszlánról\" \"oroszlán\" \"NOUN\" \"Case=Del|Number=Sing\" \"15\" \"OBL\"]\n        [\"15\"\n         \"kapta\"\n         \"kap\"\n         \"VERB\"\n         \"Definite=Def|Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin|Voice=Act\"\n         \"4\"\n         \"ATT\"]\n        [\"16\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"17\" \"DET\"]\n        [\"17\" \"nevét\" \"név\" \"NOUN\" \"Case=Acc|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"15\" \"OBJ\"]\n        [\"18\" \".\" \".\" \"PUNCT\" \"_\" \"0\" \"PUNCT\"]),\n  :kons ([\"Két\" \"két\" \"NUM\" \"Case=Nom|NumType=Card|Number=Sing\" \"(ROOT(CP(NP(NP*\"]\n         [\"folyó\" \"folyó\" \"NOUN\" \"Case=Nom|Number=Sing\" \"*)\"]\n         [\"találkozásánál\" \"találkozás\" \"NOUN\" \"Case=Ade|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"*)\"]\n         [\"fekszik\"\n          \"fekszik\"\n          \"VERB\"\n          \"Definite=Ind|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\"\n          \"(V_(V0*))\"]\n         [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(NP*\"]\n         [\"város\" \"város\" \"NOUN\" \"Case=Nom|Number=Sing\" \"*)\"]\n         [\",\" \",\" \"PUNCT\" \"_\" \"*\"]\n         [\"ami\" \"ami\" \"PRON\" \"Case=Nom|Number=Sing|Person=3|PronType=Rel\" \"(CP(NP*)\"]\n         [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(PP(NP*\"]\n         [\"várakozások\" \"várakozás\" \"NOUN\" \"Case=Nom|Number=Plur\" \"*)\"]\n         [\"ellenére\" \"ellenére\" \"ADP\" \"_\" \"*)\"]\n         [\"nem\" \"nem\" \"ADV\" \"PronType=Neg\" \"(NEG*)\"]\n         [\"egy\" \"egy\" \"DET\" \"Definite=Ind|PronType=Art\" \"(NP*\"]\n         [\"oroszlánról\" \"oroszlán\" \"NOUN\" \"Case=Del|Number=Sing\" \"*)\"]\n         [\"kapta\"\n          \"kap\"\n          \"VERB\"\n          \"Definite=Def|Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin|Voice=Act\"\n          \"(V_(V0*))\"]\n         [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(NP*\"]\n         [\"nevét\" \"név\" \"NOUN\" \"Case=Acc|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"*))\"]\n         [\".\" \".\" \"PUNCT\" \"_\" \"*))\"])}\n {:morph ([\"Megmutatjuk\"\n           \"megmutat\"\n           \"VERB\"\n           \"Definite=Def|Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin|Voice=Act\"]\n          [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n          [\"legjobb\" \"jó\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\"]\n          [\"kocsmákat\" \"kocsma\" \"NOUN\" \"Case=Acc|Number=Plur\"]\n          [\",\" \",\" \"PUNCT\" \"_\"]\n          [\"és\" \"és\" \"CONJ\" \"_\"]\n          [\"hogy\" \"hogy\" \"SCONJ\" \"_\"]\n          [\"hol\" \"hol\" \"ADV\" \"PronType=Int\"]\n          [\"lehet\" \"lesz\" \"VERB\" \"Definite=Ind|Mood=Pot|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\"]\n          [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n          [\"legnagyobb\" \"nagy\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\"]\n          [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\"]\n          [\"magyarok\" \"magyar\" \"NOUN\" \"Case=Nom|Number=Plur\"]\n          [\"öröme\" \"öröm\" \"NOUN\" \"Case=Nom|Number=Sing|Number[psor]=Sing|Person[psor]=3\"]\n          [\".\" \".\" \"PUNCT\" \"_\"]),\n  :dep ([\"1\"\n         \"Megmutatjuk\"\n         \"megmutat\"\n         \"VERB\"\n         \"Definite=Def|Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin|Voice=Act\"\n         \"0\"\n         \"ROOT\"]\n        [\"2\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"4\" \"DET\"]\n        [\"3\" \"legjobb\" \"jó\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\" \"4\" \"ATT\"]\n        [\"4\" \"kocsmákat\" \"kocsma\" \"NOUN\" \"Case=Acc|Number=Plur\" \"1\" \"OBJ\"]\n        [\"5\" \",\" \",\" \"PUNCT\" \"_\" \"1\" \"PUNCT\"]\n        [\"6\" \"és\" \"és\" \"CONJ\" \"_\" \"1\" \"CONJ\"]\n        [\"7\" \"hogy\" \"hogy\" \"SCONJ\" \"_\" \"9\" \"CONJ\"]\n        [\"8\" \"hol\" \"hol\" \"ADV\" \"PronType=Int\" \"9\" \"LOCY\"]\n        [\"9\"\n         \"lehet\"\n         \"lesz\"\n         \"VERB\"\n         \"Definite=Ind|Mood=Pot|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\"\n         \"6\"\n         \"COORD\"]\n        [\"10\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"11\" \"DET\"]\n        [\"11\" \"legnagyobb\" \"nagy\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\" \"9\" \"PRED\"]\n        [\"12\" \"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"13\" \"DET\"]\n        [\"13\" \"magyarok\" \"magyar\" \"NOUN\" \"Case=Nom|Number=Plur\" \"14\" \"ATT\"]\n        [\"14\" \"öröme\" \"öröm\" \"NOUN\" \"Case=Nom|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"9\" \"SUBJ\"]\n        [\"15\" \".\" \".\" \"PUNCT\" \"_\" \"0\" \"PUNCT\"]),\n  :kons ([\"Megmutatjuk\"\n          \"megmutat\"\n          \"VERB\"\n          \"Definite=Def|Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin|Voice=Act\"\n          \"(ROOT(CP(CP(V_(V0*))\"]\n         [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(NP*\"]\n         [\"legjobb\" \"jó\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\" \"(ADJP*)\"]\n         [\"kocsmákat\" \"kocsma\" \"NOUN\" \"Case=Acc|Number=Plur\" \"*))\"]\n         [\",\" \",\" \"PUNCT\" \"_\" \"*\"]\n         [\"és\" \"és\" \"CONJ\" \"_\" \"(C0*)\"]\n         [\"hogy\" \"hogy\" \"SCONJ\" \"_\" \"(C0*)\"]\n         [\"hol\" \"hol\" \"ADV\" \"PronType=Int\" \"(CP(ADVP*)\"]\n         [\"lehet\"\n          \"lesz\"\n          \"VERB\"\n          \"Definite=Ind|Mood=Pot|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act\"\n          \"(V_(V0*))\"]\n         [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(NP*\"]\n         [\"legnagyobb\" \"nagy\" \"ADJ\" \"Case=Nom|Degree=Sup|Number=Sing\" \"*)\"]\n         [\"a\" \"a\" \"DET\" \"Definite=Def|PronType=Art\" \"(NP(NP*\"]\n         [\"magyarok\" \"magyar\" \"NOUN\" \"Case=Nom|Number=Plur\" \"*)\"]\n         [\"öröme\" \"öröm\" \"NOUN\" \"Case=Nom|Number=Sing|Number[psor]=Sing|Person[psor]=3\" \"*))\"]\n         [\".\" \".\" \"PUNCT\" \"_\" \"*))\"])})\n```\n\n### Save image Berkley\n\nRetrieves a visual representation of the parsed sentence using the\n`get-buffered-image` function and saves it as a PNG image to the specified path.\n\n```clojure\n(require '[eszterlanc.gui :as gui])\n\n(gui/save-image-berkley \"Ez egy teszt, amit nagyon jó lett.\" \"temp.png\")\n```\n\n![save-image-berkley](temp.png)\n\n### Save image whatswrong\n\nRetrieves a visual representation of the parsed sentence using the\n`get-image-from-bytes` function and saves it as a PNG image to the specified path.\n\n```clojure\n(save-image-whatswrong \"Ez egy teszt, amit nagyon jó lett.\" \"temp-w.png\")\n```\n\n![save-image-whatswrong](temp-w.png)\n\n\n\n### Save image to resources \n\nSave both image export with one call.\nObtains two visual representations of the parsed sentence: one via\n`get-buffered-image` and another via `get-image-from-bytes`. Both images are\nsaved as PNG files in the specified directory with distinct filenames\n(`image-berkley.png` and `image-whatswrong.png`).\n\n```clojure \n(save-image-to-resources \"Ez egy teszt, amit nagyon jó lehetett volna.\"\n                         \"resources/magyarlanc-exported-images/\")\n```\n        \n\n## Tests\n\nTests can be run with kaocha:\n\n```bash\n./bin/kaocha --watch\n```\n\n\n\n## Magyarlanc pages\n\nMagyarlanc online demo page: http://rgai.inf.u-szeged.hu/magyarlanc-service/\n\nMagyarlanc github page: https://github.com/zsibritajanos/magyarlanc\n\n## License\n\nSame as Magyarlanc\n\n\nThe toolkit can be used free of charge.\n\nPlease refer to\n\n    Zsibrita, János; Vincze, Veronika; Farkas, Richárd 2013: magyarlanc: A Toolkit for Morphological and Dependency Parsing of Hungarian. In: Proceedings of RANLP 2013, pp. 763-771.\n\nFor further information please contact Richárd Farkas (rfarkas AT inf.u-szeged.hu). This tool is also integrated into the e-magyar language processing system.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamesek%2Feszterlanc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdamesek%2Feszterlanc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamesek%2Feszterlanc/lists"}