Skip to document
Back
Go to original Localized version was produced by AI. It may contain inaccuracies.
Preparing document pages…
7 short passages of this localized version are shown in the original language because they could not be localized reliably.

VIRGINIJUS DADURKEVIČIUS

Vilniaus universitetas

MORFOLOGIE LITEVŠTINY NA PLATFORMĚ OPEN-SOURCE HUNSPELL1

KLÍČOVÁ SLOVA: počítačová lingvistika, litevština, gramatika, morfologie, morfologická analýza, kontrola pravopisu, indexace textu, vyhledávání, otevřený kód, Hunspell.

ÚVOD

Před více než 100 lety se litevština díky úsilí Jona Jablonskise (1901, 1918, 1922) začala standardizovat a byla uzpůsobena k tomu, aby se stala hlavním prostředkem sjednocujícím stát. Již v první gramatice Jona Jablonskise Lietuviškos kalbos gramatikoje (1901) byly formalizovány fonetika, morfologie a syntax litevštiny: byly definovány základní pojmy a uvedena pravidla skloňování slov a větné stavby (viz obr. 1).

OBR. 1. Ukázka z Lietuviškos kalbos gramatikos 19012 Jona Jablonskise

Neocenitelný přínos Jona Jablonskise spočíval ve standardizaci litevské slovní zásoby a ve vysvětlování sémantických zvláštností slov.

Po dlouhou dobu to žákům a učitelům, spisovatelům a čtenářům, úředníkům a vědcům zcela dostačovalo. S příchodem civilizačně převratné novinky – počítačů – vznikla potřeba, aby si klasická gramatika a lexikologie „oblékly nový šat“ a staly se plnohodnotnou součástí nových

1 Článek vznikl na základě příspěvku Litevská gramatika ve světě open-source, předneseného na 24. mezinárodní konferenci Jona Jablonskise Digitální jazykové zdroje, směry jejich rozvoje a možnosti jejich využití (29. 9. 2017); konferenci uspořádalo Centrum výzkumu spisovného jazyka Litevského jazykového ústavu a Katedra litevského jazyka Vilniuské univerzity.

2 Obrázek z http://www.epaveldas.lt/vbspi/biRecord.do?biRecordId=25383.

BENDRINĖ KALBA 90 (2017)

www.bendrinekalba.lt

ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 2

součástí technologií. Nejprve bylo třeba jazykové informace v počítačích při kódování textu (převodu písmen na čísla), automatické opravě chyb při zadávání textu a dělení textu ve sloupcích oboustranně zarovnané sazby na slabiky. O něco později se uplatnily při vyhledávání informací, analýze a syntéze řeči, strojovém překladu z jednoho jazyka do druhého, automatickém porozumění obsahu, „emoční“ analýze textu atd. Jazykové informace musely být podrobně formalizovány a zaznamenány jiným způsobem, srozumitelným počítačům. Nejdůležitější z nich je morfologie, protože tvoří základ veškeré hlubší práce v oblasti počítačové lingvistiky (syntax, sémantická analýza apod.).

První takovou práci na přelomu tisíciletí vytvořil programátor experimentálního závodu „Bitas“ Vytautas Zinkevičius (1996, 2000). Téměř dvě desetiletí šlo o nenahraditelný a jediný nástroj pro moderní výzkum litevštiny a její počítačové aplikace. Tento systém se úspěšně používal k odhalování pravopisných chyb v textových editorech a také k morfologické analýze a syntéze ve výzkumných i aplikačních projektech v Ústavu litevského jazyka, na Vytautasově univerzitě (kde jeho práce dostaly název „Lemuoklis“) a na Vilniuské univerzitě. Byla dokonce vytvořena verze systému uzpůsobená k analýze staré litevštiny (Gelumbeckaitė a kol. 2012). S rozšiřujícími se potřebami počítačové lingvistiky se však začaly projevovat nedostatky systému: nestandardní, nevyžádané datové struktury; uzavřený kód; neúplná realizace vlastních jmen, ilativu, duálu, budoucího času primárních sloves, zkrácených a vzácných tvarů. Dalšímu rozvoji systému bránil především uzavřený kód – data i algoritmus mohl v praxi měnit pouze sám autor.

Aby se předešlo dříve popsaným nedostatkům a vznikla nová generace počítačové morfologie litevštiny, byly stanoveny tyto požadavky:

1) používat a vytvářet pouze otevřený zdrojový kód;

2) specifické vlastnosti litevštiny mohou mít pouze data, nikoli jejich forma a interpretace;

3) veškerý programový kód musí být univerzální a použitelný pro kterýkoli jiný jazyk;

4) využít řešení úspěšně uplatněná pro jiné jazyky světa.

Uvedeným požadavkům dobře vyhovuje platforma Hunspell 3. Navíc lze po takovém popisu jazyka snadno kontrolovat pravopisné chyby v mnoha (více než 50) aplikacích (OpenOffice, LibreOffice, Firefox, Chrome, Safari, InDesign atd.), provádět morfologickou analýzu a syntézu slov, vyhledávat textové informace inteligentním způsobem apod.

3 Přístup na internetu: https://en.wikipedia.org/wiki/Hunspell.

BENDRINĖ KALBA 90 (2017)

www.bendrinekalba.lt

ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 3

Tento článek přináší přehled nové implementace morfologie litevštiny založené na platformě Hunspell. Probírají se související problémy a způsoby jejich řešení a uvádějí se příklady úspěšného testování a praktického použití.

1. ZVLÁŠTNOSTI FORMÁTU HUNSPELL PRO POPIS LITEVŠTINY

1.1. platformy Hunspell: předpoklady jejího vzniku a obecné principy

Open-source platforma Hunspell se vyvinula z nejjednodušších nástrojů pro kontrolu pravopisu, jako jsou Ispell4, Aspell5, MySpell6 a další. Jejich postupným zdokonalováním a přizpůsobováním stále rozmanitějším jazykům (zejména aglutinačním, jako jsou finština, maďarština, turečtina apod.) bylo možné řešit nejen úlohy kontroly pravopisu, ale také morfologické analýzy a syntézy. Autory této ve světě mimořádně oblíbené platformy jsou především vědci a softwaroví inženýři maďarského původu (Trón et al. 2005). Není divu, že první část jejího názvu „Hun-“ pochází z anglického názvu Maďarska.

Morfologie jazyka je na platformě Hunspell popsána ve dvou textových souborech: přípona .aff označuje soubor s pravidly skloňování a soubor s příponou .dic obsahuje slovník slovních tvarů se základní morfologickou informací a odkazy na jednu či více skupin pravidel skloňování, které lze následně uplatnit. Jednotlivé pravidlo si lze představit jako instrukci, která určuje:

1) Co lze vyměnit za co ve slově ze slovníku tvarů. Například v pravidle

SFX 85 čias ty [^š]čias is:Masc_Sg_Voc

„SFX“ označuje, že se mění konec slova; „-čias“ lze změnit na „-ty“.

„PFX“ by označovalo změnu začátku slova. Změny uvnitř slova nejsou předpokládány.

2) Číslo skupiny pravidel skloňování, do které je toto pravidlo zařazeno. Skupinu může tvořit jedno nebo více pravidel, která se vždy uplatňují společně. V předchozím příkladu je pravidlo zařazeno do skupiny s číslem „85“.

3) Podmínky, za nichž je změna možná (používá se určitý formalismus regulárních výrazů). V našem příkladu je změna možná pouze za podmínky, že konec slova ze slovníku tvarů není „-ščias“ (např. „vaikiščias“).

4) Morfologická informace spojená s touto změnou. V našem příkladu je taková změna konce slova spojena s morfologickým označením „Masc_Sg_Voc“ (mužský rod, jednotné číslo, vokativ, např. „svety“).

4 Přístup online: https://www.cs.hmc.edu/~geoff/ispell.html.

5 Přístup online: http://aspell.net.

6 Přístup online: https://code.google.com/archive/a/apache-extras.org/p/ooo-myspell.

BENDRINĖ KALBA 90 (2017)

www.bendrinekalba.lt

ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 4

Podrobněji se lze se zásadami tvorby ohýbacích pravidel a uvádění morfologických informací v Hunspell seznámit na webových stránkách této platformy7; možnosti popisu morfologie různých jazyků na této platformě jsou podrobně rozebrány v disertaci Tommiho A. Pirinena (2014).

1.2. Specifické požadavky na implementaci pro litevštinu

Aby taková formalizace jazyka byla vhodná pro morfologickou analýzu, syntézu, indexování textových informací a vyhledávání, je třeba splnit tyto dva požadavky:

1) do slovníku slovních tvarů lze zapisovat pouze lemmata (základní tvary);

2) předponová, příponová a zvratná derivace se musí odrážet nikoli v souboru .aff, nýbrž v souboru .dic.

První požadavek není v litevštině snadné splnit kvůli velké rozmanitosti slovesného ohýbání (asi 170 variant), ale s řešením tohoto problému pomohla možnost platformy Hunspell volat jedno ohýbací pravidlo z jiného. Ačkoli hloubka takových volání může být pouze jedna, značně to zmenšuje soubor ohýbacích pravidel – z několika milionů na několik desítek tisíc řádků.

Splnění druhého požadavku poněkud zvětšuje soubor .dic, protože například předponové, příponové a zvratné odvozeniny od stejného kořene „imti“, „paimti“, „suimti“ a „nesiimti“ budou zapsány na samostatných řádcích. To však není jediný negativní důsledek tohoto požadavku – lze snadno udělat chybu a vynechat některé méně často užívané slovesné či adjektivní odvozeniny. Tento problém se do značné míry řeší výběrem lemmat především ze shromážděných korpusů, nikoli z vydaných slovníků.

1.3. Ukázky souborů.dic a.aff pro litevštinu

Několik ukázek litevského slovníkového souboru .dic se zvýrazněnými ekvivalenty příkladových slov Jona Jablonského je uvedeno na obrázku 2.

7 Dostupné online: https://github.com/hunspell/hunspell.

BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 5

Laukakmenis/118,122,132,137,141,145,157,159,9999 po:noun

laukan po:adverb

louka/1,3,7,10,12,14,20,21,30,9999 po:noun

Laukavičienė/738,740,745,9999 po:noun_family_name

...

host/1467,1767,1775,1781,1784,1841,9999 po:adjective

host/71,73,85,93,98,100,106,116,9999 po:noun

hostění se/1308,1310,1314,1315,1317,1319,9999 po:noun_reflexive

Svečiulienė/738,740,745,9999 po:noun_family_name

...

Gaidulis/118,122,132,141,145,157,9999 po:podstatné_jméno_příjmení

Gaidulytė/738,740,745,749,754,760,9999 po:podstatné_jméno_příjmení

kohout/264,268,278,280,284,288,300,302,9999 po:podstatné_jméno

Gaidys/264,268,278,284,288,300,9999 po:podstatné_jméno_příjmení

...

peilinis/2036,9999 po:adjective

nůž/118,122,132,137,141,145,157,159,9999 po:noun

nožíček/1,3,8,10,12,14,20,21,30,9999 po:noun

Peipus/444,446,452,9999 po:podstatné_jméno_zeměpisný_název

OBR. 2. Fragment souboru tvarů slov .dic. Čísla za lomítkem označují odkazy na skupiny adresovatelných skloňovacích pravidel. Červeně jsou zvýrazněny odkazy na skupiny pravidel, které jsou znázorněny na OBR. 3.

Na obr. 3 jsou uvedeny některé fragmenty souboru .aff s pravidly skloňování litevštiny:

SFX 21 Y 1

SFX 21 as uosna. is:Masc_Pl_I

...

SFX 98 Y 2

SFX 98 as ai. is:Masc_Pl_Nom

SFX 98 as ų. is:Masc_Pl_Gen

...

SFX 264 Y 6

SFX 264 is is. is:Masc_Sg_Nom

SFX 264 ys ys. is:Masc_Sg_Nom

SFX 264 is žio. is:Masc_Sg_Gen

SFX 264 ys žio. is:Masc_Sg_Gen

SFX 264 ai ai. is:Masc_Pl_Nom

SFX 264 ai ų. is:Masc_Pl_Gen

...

SFX 145 Y 12

SFX 145 is iams. is:Masc_Pl_Dat

SFX 145 ys iams. is:Masc_Pl_Dat

SFX 145 is iam. is:Masc_Pl_Dat_short

SFX 145 ys iam. is:Masc_Pl_Dat_short

SFX 145 is ius. is:Masc_Pl_Acc

SFX 145 ys ius. is:Masc_Pl_Acc

SFX 145 is iais. is:Masc_Pl_Inst

SFX 145 ys iais. is:Masc_Pl_Inst

SFX 145 is iuose. is:Masc_Pl_Loc

SFX 145 ys iu. is:Masc_Pl_Loc

SFX 145 is iu. is:Masc_Pl_Loc_short

SFX 145 ys iu. is:Masc_Pl_Loc_short

OBR. 3 Fragmenty souboru .aff s pravidly skloňování. Tučně je vyznačeno několik pravidel, která se dále používají k ilustraci morfologické analýzy.

BENDRINĖ KALBA 90 (2017)

www.bendrinekalba.lt

ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 6

Při použití popisu jazyka uvedeného v příkladech a standardních (na jazyce nezávislých) Hunspell analytických nástrojů bychom pro ukázková slova Jona Jablonského získali následující odpověď (viz obr. 4).

OBR. 4. Příklad morfologické analýzy slov

2. PRŮBĚH PRÁCE A VÝSLEDKY

Jakmile je vytvořen plnohodnotný popis jazyka ve formátu Hunspell (tj. jsou vytvořeny příslušné soubory .dic ir.aff), otevírají se prakticky neomezené možnosti praktického využití – od kontroly pravopisu či gramatiky až po inteligentní systémy pro vyhledávání informací. Vzhledem k poměrně složité morfologii litevštiny (mnoha pravidlům a jejich skupinám) a nutnosti sladit seznam lemmat s rozsáhlými korpusy (více než 1 mld. slov), které odrážejí skutečný stav současné psané litevštiny, trvalo přibližně 5 let od prvních pokusů do vytvoření hladce fungující verze morfologie. Příklady uvedené dříve v tomto článku jsou spíše ilustrativní a slouží pouze k pochopení základní myšlenky; ve skutečnosti jsou pravidla a jejich skupiny mnohem složitější, zejména ta, která se týkají sloves.

Aby se urychlila tvorba morfologie a předešlo chybám při zapisování tisíců pravidel a jejich přiřazování k lemmatům, byl nejprve vytvořen předběžný, abstraktnější popis morfologie, než jaký vyžadují specifikace Hunspell (pravidla v tabulce MS Excel, lemmata a jejich klasifikace v databázi MS Access). Byly také vytvořeny softwarové nástroje pro automatickou konverzi těchto předběžných struktur, které jsou pro člověka přehlednější a snáze pochopitelné, do souborů .aff ir.dic nebo do jiné podoby určené specifiky dané aplikace. Nejnovější verze litevských souborů .aff ir.dic je k dispozici na autorově stránce GitHub8.

Během celého procesu formalizace morfologie byly použity tyto hlavní zdroje:

8 Přístup online: https://github.com/dadurka/hunspell_morphology_lt.

BENDRINĖ KALBA 90 (2017)

www.bendrinekalba.lt

ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 7

1) Gramatika současné litevštiny (DLKG 2006);

2) Korpus současné litevštiny Univerzity Vytautase Magnuse (dále jen VDU)9 – ~140 mil. slov;

3) Korpus strojového překladu Vilniuské univerzity10 – ~800 mil. slov, ~4 mil. jedinečných;

4) dokumenty Seimasu Litevské republiky (dále jen LRS)11 – ~400 mil. slov, ~1 mil. jedinečných;

5) Slovník současné litevštiny (DŽ 2006) – ~60 tisíc lemmat;

6) Slovník litevského jazyka12 – ~500 tisíc hesel;

7) Slovník cizích slov (VTŽŽe) – ~22 tisíc lemmat;

8) Slovník litevských příjmení (LPŽ) (~80 tisíc příjmení).

Celkem bylo vytvořeno přibližně 5 000 adresovatelných skupin pravidel (18 000 jednotlivých pravidel). Rozdělení skupin pravidel podle slovních druhů je znázorněno na obrázku 5.

OBR. 5. Rozložení skupin flektivních pravidel podle slovních druhů

Soubor .dic (slovník) byl vytvořen ze 171 000 lemmat. Rozložení lemmat podle slovních druhů znázorňuje obrázek 6.

9 Dostupné online: http://tekstynas.vdu.lt/tekstynas/.

10 Dostupné online: https://www.versti.eu/.

11 Dostupné online: http://www.lrs.lt/.

12 Dostupné online: http://www.lkz.lt/.

BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 8

OBR. 6. Rozložení lemmat podle slovních druhů

Při výběru jsme se omezili pouze na spisovnou současnou litevštinu a vyhýbali jsme se chybným, nelitevským, nevhodným, urážlivým a zastaralým slovům. Vlastní podstatná jména byla dále rozdělena na příjmení, křestní jména, zeměpisné názvy a ostatní případy. Takový výběr usnadňuje využití vytvořené morfologie při kontrole pravopisu a umožňuje snáze využít výsledky analýzy v pozdějších fázích analýzy textu (syntax, rozpoznávání pojmenovaných entit, indexování a vyhledávání).

Přesnost nově vytvořeného morfologického analyzátoru je přibližně 98%, tj. morfologický analyzátor správně interpretuje v průměru 98 ze 100 slov (Kapočiūtė-Dzikienė ir kt. 2017). Zbývající 2% nerozpoznaných slov tvoří nejčastěji pravopisné chyby, slova z jiných jazyků (jména, příjmení, citace frází apod.), nevhodná a nespisovná slova a správná slova, která nebyla zařazena do seznamu lemmat.

3. PRAKTICKÉ POUŽITÍ

3.1. Systém syntakticko-sémantické analýzy VDU

Nově vytvořená morfologie litevského jazyka Hunspell byla v letech 2011–2015 implementována v systému syntakticko-sémantické analýzy VDU13 pro kontrolu pravopisu a gramatiky a pro morfologickou a syntaktickou analýzu textu (viz obr. 7). Morfologická analýza byla doplněna hybridním statisticko-pravidlovým desambiguátorem (skrytý Markovův model, trigramové pravděpodobnosti aproximované podle zlatého standardu, Viterbiho algoritmus, několik výjimek). Více o morfologické desambiguaci pojednává publikace Jurgity Kapočiūtės-Dzikienės, Erikos Rimkutės a Loïca Boizoua (2017).

13 Přístup online: http://semantika.lt/SyntacticAndSemanticAnalysis/Analysis.

BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351-7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 9

OBR. 7. Hunspell aplikace morfologie litevského jazyka v systému syntakticko-sémantické analýzy VDU

3.2. Vyhledávací systém registru právních předpisů LRS

V letech 2011–2013 probíhala souběžně s tvorbou nové morfologie litevského jazyka její implementace ve vyhledávacím systému registru právních předpisů v kanceláři LRS14. V takových systémech se obvykle ještě před prvním vyhledáváním všechny dokumenty indexují lematizací, tj. všechna slova v dokumentech se převádějí na lemmata a zaznamenává se, kde se které lemma vyskytovalo. Před provedením vyhledávacího dotazu se stejným způsobem lematizuje i jeho text, takže se později najde nejen podoba slova uvedená v dotazu, ale i jakákoli jiná podoba téhož slova obsažená v prohledávaných dokumentech. Protože v tomto systému nebylo možné přímo použít data .dic,.aff, potřebný původní formát systému (textový soubor, jehož každý řádek má podobu [lemma] [slovní druh] → [seznam tvarů]) se generoval z výše uvedeného primárního popisu morfologie. Ačkoli lze z tohoto popisu vygenerovat přibližně 15 milionů teoreticky možných slovních tvarů, kvůli interním omezením vyhledávacího systému se z nich použil pouze přibližně 1 milion nejčastějších. Toto řešení se osvědčilo, vyhledávání funguje poměrně hladce a používá se dodnes (viz obr. 8).

14 Přístup online: https://www.e-tar.lt

BENDRINĖ KALBA 90 (2017)

www.bendrinekalba.lt

ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 10

OBR. 8. Využití morfologie litevského jazyka při vyhledávání v registru právních předpisů LRS

4.3. Systém pro indexaci a vyhledávání dokumentů s otevřeným zdrojovým kódem Solr/Lucene15

Aby bylo možné ve větší míře využít výhod a zkušeností s otevřeným zdrojovým kódem získaných při realizaci morfologie litevského jazyka v registru právních předpisů, byl na základě systému Solr/Lucene vytvořen systém pro indexaci a vyhledávání litevských dokumentů. Přímé použití dat .dic,.aff v tomto systému je možné, ale velmi neefektivní, proto bylo nahrazeno konečným stavovým převodníkem (FST – Finite State Transducer), vytvořeným z výše zmíněného základního popisu morfologie a generujícím všechny teoreticky možné tvary slov podle tohoto popisu. Toto řešení umožňuje nejen přesně indexovat a vyhledávat všechny požadované tvary slov, ale také stonásobně zrychlit indexaci a získávat výsledky vyhledávání s využitím různých sémantických vztahů a doplňujících taxonomicko-sémantických informací. Například pokud je v dotazu uvedeno slovo „gyvatė“ (had), systém navíc vyhledává „angis“ (zmije), „barškuolė“ (chřestýš) apod. (viz obr. 9); pokud je v dotazu uvedeno slovo „angis“, mezi výsledky vyhledávání se již neobjeví ani „gyvačių“ (hadů), ani „barškuolių“ (chřestýšů) (Ralys, Dadurkevičius 2017).

15 Přístup na internetu: http://lucene.apache.org/solr/.

BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 11

OBR. 9. Příklad využití morfologie litevského jazyka v systému pro indexaci a vyhledávání dokumentů s otevřeným zdrojovým kódem Solr/Lucene

4. PERSPEKTIVY

Aby bylo možné ve větší míře využívat realizaci morfologie litevského jazyka na platformě Hunspell, bylo by třeba rozvíjet její dvě podoby: variantu spisovného jazyka a úplnou variantu (spisovný i nespisovný jazyk). První varianta by umožňovala i nadále provádět kontrolu pravopisu a poskytovat doporučení k nápravě porušení jazykových norem, zatímco druhá by byla vhodná k řešení aplikačních úloh analýzy živého jazyka.

Neméně důležitým úkolem do budoucna je průběžně doplňovat morfologický slovník o dosud nezařazená a nově vznikající slova, opravovat zjištěné chyby v pravidlech skloňování a časování i v klasifikaci slov a alespoň jednou ročně zveřejňovat nejnovější verze .dic,.aff.

S využitím již získaných zkušeností by nebylo obtížné připravit také formální popis litevských nářečí (zejména žemaitštiny) nebo jazyka starých litevských písemností.

BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 12

ŠALTINIAI

DLKG 2006 – Dabartinės lietuvių kalbos gramatika. Red. Vytautas Ambrazas. 4-oji pataisyta laida, Vilnius: Mokslo ir enciklopedijų leidybos institutas.

DŽ 2006 – Dabartinės lietuvių kalbos žodynas (elektroninis). Vyr. red. Stasys Keinys. 6-as leid. Vilnius: Lietuvių kalbos institutas.

LKŽe – Lietuvių kalbos žodynas, elektroninis variantas. Red. kolegija: Gertrūda Naktinienė (vyr. red.), Jonas Paulauskas, Ritutė Petrokienė, Vytautas Vitkauskas, Jolanta Zabarskaitė, Vilnius: Lietuvių kalbos institutas, 2005. Atnaujinta versija, 2008. Prieiga internete: www.lkz.lt.

LPŽ – Aleksandras Vanagas (red.), Lietuvių pavardžių žodynas 1–2, Vilnius: Mokslas, 1985–1989.

VTŽŽe 2003 – Vaitkevičiūtė V. Tarptautinių žodžių žodynas (elektroninis). Vilnius: Fotonija.

LITERATŪRA

Gelumbeckaite ir kt. 2012: Gelumbeckaite J., Šinkūnas M., Zinkevičius V. Old Lithuanian Reference Corpus (SLIEKKAS) and Automated Grammatical Annotation. – Journal for Language Technology and Computational Linguistics (JLCL), 2012. - 27.2. Altüberlieferte Sprachen als Gegenstand der Texttechnologie. Ancient Languages as the Object of Text Technology, ed. by Armin Hoenen, Thomas Jügel, Gesellschaft für Sprachentechnologie und Computerlinguistik (GSCL), 83–96 p.

Jablonskis J. 1901: Lietuviškos kalbos gramatika. Rašytojams ir skaitytojams vadovėlis. Parašė Petras Kriaušaitis. Tilžėje 1901. Spausdinta pas Otto v. Mauderode. 88 p.

Jablonskis J. 1918: Lietuvių kalbos gramatika: etimologija: pirmosioms mūsų aukštesniosioms mokslo įstaigoms / P. Kriaušaičio ir Rygiškių Jono. Vilnius: Lietuvių mokslo draugija. 237 p.

Jablonskis J. 1922: Lietuvių kalbos gramatika: etimologija: vidurinėms mokslo įstaigoms / Rygiškių Jonas. 2-asis leid. Kaunas; Vilnius: „Švyturio“ b-vė, (Tilžė: Otto v. Mauderodės sp.). 280 p.

Kapočiūtė-Dzikienė J. ir kt. 2017: Jurgita Kapočiūtė-Dzikienė, Erika Rimkutė, Loïc Boizou Comparison of Lithuanian Morphological Analyzers. – Text, Speech, and Dialogue. 20th International Conference, TSD 2017, Prague, August 27–31, 2017, Proceedings, 47–56.

BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 13

Ralys D., Dadurkevičius V. 2017: Informacijos paieškos sistemos ir lietuvių kalba, [žiūrėta 2017-10-30]. Prieiga internete:

https://www.slideshare.net/DanieliusRalys/informacijos-paiekos-sistemos-ir-lietuvi-kalba-81373517.

Tommi A Pirinen 2014: Weighted Finite-State Methods in Spell-Checking and Correction, Doctoral dissertation, University of Helsinki.

Trón V. ir kt. 2005: Viktor Trón, András Kornai, György Gyepesi, László Németh, Péter Halácsy, and Dániel Varga. 2005. Hunmorph: open source word analysis. – Proceedings of the Workshop on Software (Software '05). Association for Computational Linguistics, Stroudsburg, PA, USA, 77–85.

Zinkevičius V. 1996: Lietuvių kalbos morfologinių reiškinių kompiuterizavimo lingvistiniai aspektai. – Lietuvių katalikų mokslų akademijos suvažiavimo darbai, XVI tomas, 148–154.

Zinkevičius V. 1996: Lietuvių kalbos morfologinių reiškinių kompiuterizavimas. – Lietuvių katalikų mokslų akademijos suvažiavimo darbai, XVI tomas, 155–162.

Zinkevičius V. 2000: Lemuoblis – morfologinei analizei. – Darbai ir dienos 24, 245–273.

Gauta 2017 10 31

Priimta 2017 12 08

VIRGINIJUS DADURKEVIČIUS

Vilniaus universiteto Taikomųjų mokslų institutas

M. K. Čiurlionio g. 29, 03100 Vilnius

[email protected]

[email protected]

BENDRINĖ KALBA 90 (2017)

www.bendrinekalba.lt

ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 14

LITHUANIAN MORPHOLOGY IN THE HUNSPELL FRAMEWORK

Summary

The paper presents the results of an attempt to build basic Lithuanian language resources using the widespread Hunspell platform. The spelling is actually the primary target of this open-source platform but the morphological analysis and synthesis are also possible. Moreover, the ability to efficiently perform lemmatization (stemming) makes this platform the best option for text search engines (e.g. Solr/Lucene) and information retrieval. Taggers, grammar checkers and other basic natural language processing tools can also be build using properly built Hunspell language resources.

Every Hunspell language resource consists of two files: dictionary and affixes (it may be empty). The dictionary contains main forms (lemmas) whereas the affixes contain the morphological rules to generate all possible forms. As a source for the dictionary we have used the Modern Lithuanian Dictionary (6-th edition), Corpus of the Contemporary Lithuanian Language compiled at the Center of Computation Linguistics of Vytautas Magnus University, database of documents of the Lithuanian Parliament, versti.eu machine translation corpus of Vilnius University and various public internet sources (totally 1.3 billion tokens). Main criteria for semi-manual compilation of the Lithuanian dictionary of lemmas from these sources was correctness, usability, actuality and approval by language authorities. Deprecated loanwords or extremely rare, exotic, obsolete, jargon, insulting forms were discarded from the list. Resulting dictionary consists of 171 000 lemmas: 42 000 common nouns, 73 000 proper nouns, 15 000 adjectives, 53 pronouns, 153 numerals, 35 000 verbs, 4 000 adverbs and 2 000 others (prepositions, conjunctions, particles, onomatopoeias, interjections, acronyms and abbreviations).

The second component of language resource, the so called “affix file”, contains information of various kind: metadata, preferable suggestions for spelling correction, grouping of rules, explicit tags for flexing and non-flexing properties, rules for suffix and affix alteration.

In order to make the Hunspell resources suitable for creating basic language tools, e.g. morphological analyzer and synthesizer, some principles should be kept:

1) every flexion paradigm (consisting of one or more rules) should be thoroughly generated from one single lemma in dictionary file (it is not trivial, especially for irregular verbs);

BENDRINĖ KALBA 90 (2017)

www.bendrinekalba.lt

ISSN 2351–7204

VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 15

2) every individual alteration case should have its own morphological tag, e.g. ‘Masc_Sg_Il’ for masculine + singular + illative;

3) every dictionary item should have references for part of speech and other non-flexing information;

4) avoid prefixation via rules, use dictionary instead – affixed forms may have completely different meanings and using them under single lemma may cause problems for text search engines;

5) do not rely much on calling rules from rules – calling depth can by no more than 1.

The coverage of the contemporary Lithuanian by this implementation of Lithuanian morphology is about 98 percent. The full list of all the theoretically possible forms generated by this resource contains about 17 million entries.

This work clearly shows an efficient way for any language (especially with scarce funding resources) to make basic language tools using a single open source development platform – the Hunspell.

KEYWORDS: Lithuanian, grammar, morphology, computational linguistics, Hunspell, speller, tagger, analyser, parsing, disambiguation, indexing, search.

VIRGINIJUS DADURKEVIČIUS

Institute of Applied Research

Vilnius University

M. K. Čiurlionio g. 29, 03100 Vilnius, Lithuania

[email protected]

[email protected]

BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204

Document details