Stroj na morfologii rubrika: Programování: Jiné

10 dzejkob
položil/-a 30.10.2015
 
upravil/-a 30.10.2015

Nevíte náhodou, zda existuje něco, do čehož když se vloží slovo, tak by to vrátilo:

0..N krát (N pokud by bylo více možností):

  • slovní druh
  • pád
  • číslo
  • rod
  • vzor
  • osoba
  • čas

a umělo by to zchroustat vstupy v různých tvarech.

(teoreticky by i stačila kompletní databáze - v konečném důsledku asi budou stačit podstatná/přídavná jména)

Stáhnul jsem si ispell slovníky - ale nejsem z toho moc moudrej. Suffixy ke slovům jako takové se dají nějak dohledat - ovšem ten ispell ty slova ještě nějak transformuje podle nějakých pravidel.

Ispell jako takový se mi zatím rozběhat nepodařilo (mám prehistorický linux) - ale beztak to dělá jenom kontrolu - nevím, zda se to pak dá nějak donutit, aby z toho vypadly výšeuvedené výstupy (nebo alespoň některé).

Asi nejkompletnější, co jsem viděl, je http://m.prirucka.ujc.cas.cz ale ti databázi v žádné formě a za žádných podmínek neposkytují.

Je tedy ispell/aspell/hunspell cesta, kterou se má smysl vydat?

Komentáře

  • Jaroslav Moravec : htttp:// prirucka.ujc.cas.cz ma na svědomí tým okolo Doc. Paly (MUNI), tzn. že to běží pravděpodobně na morfologickém analyzátoru Majka. https:// nlp.fi.muni.cz/czech-morphology-analyser/ 7.11.2015
  • uetoyo : @Jaroslav Moravec: Má poslední odpověď, měl být komentář...viz níže. 7.11.2015
odkaz
8 uetoyo
odpověděl/-a 31.10.2015
 
upravil/-a 31.10.2015

To nejlepší na co můžeš narazit je toto: https://github.com/ufal/morphodita -- produkuje to lemma a morfologické kategorie -- je to to nejlepší co jsem zatím používal. Knihovna je v C++, bindingy jsou udělané pomocí nástroje SWIG. Samotný kód nemá moc dokumentace, ale manuál je kompletní. Dá se to použít jako knihovna stejně jako program, takže není problém to zavolat jako proces třeba z Pythonu a nedrátovat to do kódu.

Také jsem zkoušel projekty Majka/Ajka z (MU Brno?) a Morče (Morfologie Češtiny) z (MFF UK)... první z nich byl v C a druhý v Perlu, snad se nepletu -- nicméně Morphodita je předčí jak ve spolehlivosti, tak v jednoduchosti použití a navíc je pod svobodnou licencí.

@harrison314 Snowball je stematizátor -- respektive se v něm píše stematizátor pro konkrétní jazyk, jestli si pamatuji byla ta úspěšnost dost mizerná u řešení, která jsem tenkrát zkoušel.

Snad si s tím poradíš, nebo mi napiš .)

Komentáře

  • harrison314 : Ano Snowball je genrator stemeru, tak ako tie dva linky predtym. No vedia urcit priponu a podla nej sa da urcit niektore gramaticke kategorie. 31.10.2015
  • uetoyo : @harrison314 Není to naopak, že na základě znalosti některé gramatické kategorie lze (spolehlivěji) určit základ, tedy stem? 31.10.2015
  • harrison314 : Ano, ale ale stemer moze fungovat aj statisticky (vypocet entropie), slovnikovo, ... Ak sa bavime v aplikcnej rovine a dostupnosti slovnikov, je jednoducsie, pouzit nejaky existujuci stemer, a zaklad slova porovnat s pôvoodnym a potom podla pomerne jednoduchych pravidiel odhadnut morfologicke kategorie. 1.11.2015
  • uetoyo : @harrison314 Díky za doplnění -- pokud však máš lemma, pak más napůl vyhráno -- podle mne je MorphoDiTa knihovna, která tady udělala (respektive autoři) dělící čáru mezi teoreticky zpracovanými ale (pro mne jako uživatele) nefungujícími nástroji a konečně fungujícím, open-source nástrojem -- přitom je to vlastně oneman show -- klobouk dolů! Zřejmě bych mohl použít i jinou (anglo-americkou) knihovnu a nějak ji natrénovat, ale na to nemám čas, navíc bych řešil spoustu dalších problémů jako chybějící "The Czech morphological system by Jan Hajič". 1.11.2015
  • dzejkob : Díky moc. Tohle vypadá hodně dobře. Ještě jsem nezkoumal to api - potřebuju hlavně, aby to umělo ze základního tvaru vytvořit genitiv, akuzativ - prostě pády + množné / jednotné číslo. Klobouk dolů před projektem samotným - nicméně největší záhadou mi jsou ty slovníky. Divím se, že třeba "ústav pro jazyk český" nepublikuje nějaký slovník veřejně v elektronické formě - když si ho de-facto platíme ze svých daní a je obecným zájmem, aby jazyk český vzkvétal a byl používaný. Třeba v tom univerzitním prostředí se k tomu nějak dostanou - ten jejich slovník vypadá mnohem obsáhlejší než třeba ten od Petra Koláře. 1.11.2015
  • uetoyo : @dzejkob: "potřebuju hlavně, aby to umělo ze základního tvaru vytvořit genitiv, akuzativ - prostě pády + množné / jednotné číslo." Tohle MorphoDiTa asi nedělá -- pokud máš informaci o slovním druhu a lemma, pak už se lze nějak dopracovat k možným tvarům slova podle gramatických pravidel. Pokud směřuješ k analýze obsahu nebo sentimentu pak jsi opět na dosti tenkém ledě s množstvím výzev. 2.11.2015
  • dzejkob : Nene analýzu obsahu nebo sentimentu nepotřebuju. Potřebuju jednoduše vyskloňovat určité slova/fráze. Kdyby to bylo potřeba, tak je dokážu dodat v základní formě. Pokud to ale morphodita nedokáže vyskloňovat, tak se divím, proč se to jmenuje "morphodita" a ne třeba "lemmadita". Gramatické pravidla nejsou jednoznačné. Když to dokáže určit základní tvar tak nechápu, proč nedokáže vytvořit patřičný pád. Někde tam ta informace prostě musí být. 2.11.2015
  • dzejkob : Jak píšou: It performs "morphological generation" 2.11.2015
  • uetoyo : @dzejkob Ano! `run_morpho_generate` nebo demo: lindat.mff.cuni.cz/services/morphodita/ -- zatím jsem potřeboval jen analýzu; 2.11.2015

Pro zobrazení všech 3 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.