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

VIRGINIJUS DADURKEVIČIUS

Vilniaus universitetas

LITAUISK MORFOLOGI PÅ PLATTFORMEN HUNSPELL MED ÖPPEN KÄLLKOD1

NYCKELORD: datorlingvistik, litauiska, grammatik, morfologi, morfologisk analys, stavningskontroll, textindexering, sökning, öppen källkod, Hunspell.

INLEDNING

För mer än 100 år sedan började litauiskan normeras genom Jonas Jablonskis insatser (1901, 1918, 1922) och anpassades till att vara det främsta medlet för att ena staten. Redan i Jonas Jablonskis första Lietuviškos kalbos gramatikoje (1901) formaliserades litauiskans fonetik, morfologi och syntax: grundläggande begrepp definierades och regler för ordens böjning och meningsbyggnad presenterades (se fig. 1).

FIG. 1. Utdrag ur Jonas Jablonskis Lietuviškos kalbos gramatikos 19012

Jonas Jablonskis ovärderliga bidrag till normeringen av det litauiska ordförrådet och till förklaringen av ordens semantiska särdrag.

Under lång tid räckte detta gott och väl för elever och lärare, författare och läsare, tjänstemän och forskare. När den civilisationsförändrande nyheten – datorerna – kom, blev det nödvändigt för den klassiska grammatiken och lexikonet att ”ta på sig en ny dräkt” och bli fullvärdiga delar av de nya

1 Artikeln bygger på föredraget Lietuvių kalbos gramatika atvirojo kodo pasaulyje, som hölls vid den 24:e internationella Jonas Jablonskis-konferensen Skaitmeniniai kalbos ištekliai, jų plėtros kryptys ir panaudos galimybės (2017 09 29); den organiserades av Institutet för litauiska språkets centrum för forskning om standardspråk och Vilnius universitets institution för litauiska språket.

2 Bild från 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

en del av teknologin. Till att börja med behövdes språkliga resurser i datorer för att koda text (omvandla bokstäver till siffror), automatiskt korrigera fel i inmatad text och avstava text i spalter med ömsesidig justering. Något senare behövdes de för informationssökning, talanalys och talsyntes, maskinöversättning från ett språk till ett annat, automatisk innehållsförståelse, textens ”känslomässiga” analys och så vidare. Språkliga resurser måste formaliseras in i minsta detalj och beskrivas på ett annat sätt som datorer kunde förstå. Den viktigaste av dessa är morfologin, eftersom den utgör grunden för allt mer ingående arbete inom datorlingvistik (syntax, semantisk analys och liknande).

Det första arbetet av detta slag utfördes vid sekelskiftet av Vytautas Zinkevičius (1996, 2000), programmerare vid försöksfabriken ”Bitas”. I nästan två decennier var detta ett oumbärligt och enda verktyg för modern forskning om litauiska och för datorbaserade tillämpningar. Systemet användes framgångsrikt för att upptäcka stavfel i ordbehandlingsprogram och för morfologisk analys och syntes i forsknings- och tillämpningsarbeten vid Litauiska språkets institut, Vytautas Magnus-universitetet (där hans arbete fick namnet ”Lemuoklis”) och Vilnius universitet. En version av systemet skapades till och med för analys av forn litauiska (Gelumbeckaitė et al. 2012). Men i takt med att behoven inom datorlingvistiken växte började systemets brister bli tydliga: icke-standardiserade och odokumenterade datastrukturer; sluten källkod; ofullständig hantering av egennamn, illativ, dualis, primära verbens futurum samt förkortade och ovanliga former. Sluten källkod hindrade särskilt fortsatt utveckling av systemet – i praktiken kunde endast upphovsmannen själv ändra data och algoritm.

För att undvika de tidigare beskrivna bristerna och skapa en ny generation av litauisk datormorfologi ställdes följande krav:

1) endast använda och utveckla öppen källkod;

2) endast data, inte dess form och tolkning, får ha specifika egenskaper för det litauiska språket;

3) all programkod måste vara universell och fungera för alla andra språk;

4) använda lösningar som framgångsrikt har anpassats för andra språk i världen.

Kraven ovan uppfylls väl av Hunspell-plattformen3. Dessutom kan man, när språket har beskrivits på detta sätt, enkelt kontrollera stavfel i många (över 50) tillämpningsprogram (OpenOffice, LibreOffice, Firefox, Chrome, Safari, InDesign och så vidare), utföra morfologisk analys och syntes av ord, göra intelligenta sökningar i textinformation och liknande.

3 Åtkomst på internet: 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

I den här artikeln ges en översikt över en ny implementation av litauisk morfologi baserad på plattformen Hunspell. Relaterade problem och sätt att lösa dem diskuteras, och exempel på framgångsrika tester och praktisk tillämpning presenteras.

1. SÄRDRAG HOS FORMATET HUNSPELL FÖR BESKRIVNING AV LITAUISKA

1.1. Förutsättningar för att plattformen Hunspell skulle uppstå och allmänna principer

Plattformen Hunspell med öppen källkod utvecklades ur de enklaste verktygen för stavningskontroll, Ispell4, Aspell5, MySpell6 och så vidare. I takt med att de gradvis gjordes mer avancerade och anpassades till allt fler språk, särskilt agglutinerande språk som finska, ungerska, turkiska med flera, blev det möjligt att lösa inte bara uppgifter inom stavningskontroll utan även uppgifter inom morfologisk analys och syntes. Upphovspersonerna till denna mycket populära plattform världen över är främst forskare och ingenjörsprogrammerare av ungersk härkomst (Trón et al. 2005). Det är inte förvånande att den första delen av namnet, ”Hun-”, kommer från Ungerns namn på engelska.

Ett språks morfologi beskrivs i plattformen Hunspell i två textfiler: böjningsregler anges i en fil med filändelsen .aff, medan en ordbok över ordformer med grundläggande morfologisk information och hänvisningar till en eller flera grupper av böjningsregler som kan tillämpas anges i en fil med filändelsen .dic. En enskild regel kan föreställas som en instruktion som anger:

1) Vad som kan ändras till vad i ett ord i ordformsordboken. Exempelvis i regeln

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

”SFX” markerar att ordets slut ändras, och att ”-čias” kan ändras till ”-ty”.

”PFX” skulle markera att ordets början ändras. Ändringar mitt i ordet är inte tillåtna.

2) Numret på den grupp av böjningsregler som regeln tillhör. Gruppen kan bestå av en eller flera regler som alltid tillämpas tillsammans. I det föregående exemplet tillhör regeln gruppen med numret ”85”.

3) De villkor under vilka ändringen är möjlig (en viss formalism för reguljära uttryck tillämpas). I vårt exempel är ändringen möjlig endast under förutsättning att ordet i ordformsordboken inte slutar på ”-ščias” (t.ex. ”vaikiščias”).

4) Den morfologiska information som hör samman med denna ändring. I vårt exempel är den morfologiska beteckningen ”Masc_Sg_Voc” (maskulinum, singular, vokativ, t.ex. ”svety”) kopplad till en sådan ändring av ordets slut.

4 Tillgänglig online: https://www.cs.hmc.edu/~geoff/ispell.html.

5 Tillgänglig online: http://aspell.net.

6 Tillgänglig 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

Mer ingående information om principerna för att utforma Hunspells böjningsregler och ange morfologisk information finns på plattformens webbplats7, och möjligheterna att beskriva olika språks morfologi på plattformen har undersökts ganska ingående i Tommi A. Pirinens avhandling (2014).

1.2. Specifika krav för den litauiska implementationen

För att en sådan formalisering av språket ska lämpa sig för morfologisk analys, syntes, indexering av textinformation och sökning måste följande två krav uppfyllas:

1) endast lemman (uppslagsformer) får införas i ordformsordboken;

2) prefix-, suffix- och reflexiv avledning måste återspeglas inte i .aff, utan i .dic-filen.

Det första kravet är inte lätt att uppfylla i litauiskan på grund av den stora variationen i verbböjningen (cirka 170 varianter), men problemet kunde lösas med hjälp av Hunspells möjlighet att anropa en annan böjningsregel från en regel. Även om sådana anrop endast kan ha ett djup på ett, minskar det storleken på filen med böjningsregler avsevärt – från flera miljoner till några tiotusentals rader.

Att uppfylla det andra kravet ökar storleken på .dic-filen något, eftersom till exempel prefix-, suffix- och reflexivavledningar av samma stam, såsom ”imti”, ”paimti”, ”suimti” och ”nesiimti”, kommer att införas på separata rader. Och detta är inte den enda negativa följden av kravet – det är lätt att av misstag utelämna någon mindre vanligt förekommande verb- eller adjektivavledning. Problemet kan dock i stor utsträckning hanteras genom att lemman väljs främst från insamlade textkorpusar och inte från utgivna ordböcker.

1.3. Fragment ur de litauiska.dic- och.aff-filerna (exempel)

Några utdrag ur den litauiska språkversionens .dic-fil (ordbok), med motsvarigheterna till Jono Jablonskios exempelord markerade i fetstil, visas i figur 2.

7 Tillgänglig 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

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

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

...

svečias/1467,1767,1775,1781,1784,1841,9999 po:adjective

svečias/71,73,85,93,98,100,106,116,9999 po:noun

svečiavimasis/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:noun_family_name

Gaidulytė/738,740,745,749,754,760,9999 po:noun_family_name

gaidys/264,268,278,280,284,288,300,302,9999 po:noun

Gaidys/264,268,278,284,288,300,9999 po:noun_family_name

...

peilinis/2036,9999 po:adjective

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

peiliukas/1,3,8,10,12,14,20,21,30,9999 po:noun

Peipus/444,446,452,9999 po:noun_geographic_name

FIG. 2. Ett utdrag ur filen med ordböjningsformer .dic. Siffrorna efter snedstrecket anger hänvisningar till adresserade grupper av böjningsregler. Hänvisningar till regelgrupper som visas i FIG. 3 är markerade med rött.

I figur 3 visas några utdrag ur filen .aff med böjningsregler för litauiska:

SFX 21 Y 1

SFX 21 som uosna. is:Masc_Pl_I

...

SFX 98 Y 2

SFX 98 som ai. is:Masc_Pl_Nom

SFX 98 as ų. is:Masc_Pl_Gen

...

SFX 264 Y 6

SFX 264 som 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 som 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 med is. is:Masc_Pl_Inst

SFX 145 ys med iais. is:Masc_Pl_Inst

SFX 145 is med iuose. is:Masc_Pl_Loc

SFX 145 ys med iuose. is:Masc_Pl_Loc

SFX 145 is iuos. is:Masc_Pl_Loc_short

SFX 145 ys iuos. is:Masc_Pl_Loc_short

FIG. 3. Fragment av filen med böjningsregler .aff. Några regler som används nedan för att illustrera den morfologiska analysen är markerade med fetstil.

BENDRINĖ KALBA 90 (2017)

www.bendrinekalba.lt

ISSN 2351–7204

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

Om vi använder språkbeskrivningen som presenterats i exemplen och standardverktygen (oberoende av språk) för analys Hunspell, skulle vi få följande svar för Jono Jablonskis exempelord (se fig. 4).

FIG. 4. Exempel på morfologisk analys av ord

2. ARBETETS GÅNG OCH RESULTAT

När en fullständig språkbeskrivning i Hunspell-format har utarbetats (dvs. när de relevanta filerna .dic och.aff har skapats), öppnar sig i praktiken obegränsade möjligheter till praktiska tillämpningar – från stavnings- och grammatikkontroll till intelligenta informationssökningssystem. På grund av litauiskans relativt komplicerade morfologi (många regler och regelgrupper) och behovet av att anpassa lemmaförteckningen till stora textkorpusar (med över 1 miljard ord) som återspeglar det faktiska tillståndet hos dagens skrivna litauiska, tog det ungefär fem år från de första försöken till dess att en fungerande morfologiversion hade skapats. Exemplen som tidigare återgetts i den här artikeln är mer illustrativa och avsedda enbart för att förklara idén; i verkligheten är reglerna och regelgrupperna mycket mer komplicerade, särskilt de som gäller verb.

För att förkorta tiden det tog att utveckla morfologin och undvika misstag när tusentals regler skrevs ned och kopplades till lemman, skapades först en preliminär, mer abstrakt morfologibeskrivning än den som krävs enligt Hunspell-specifikationerna (reglerna i en MS Excel-tabell, lemman och deras klassificering i en MS Access-databas). Programverktyg skapades också för att automatiskt omvandla dessa preliminära strukturer, som är lättare för människor att läsa och förstå, till filer av typen .aff och.dic eller till ett annat format som specificeras av tillämpningens behov. Den senaste versionen av de litauiska .aff- och.dic-filerna finns på författarens GitHub-webbplats8.

Under hela formaliseringsprocessen för morfologin användes följande huvudkällor:

8 Tillgänglig på internet: 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) Grammatik för nutida litauiska (DLKG 2006);

2) Vytautas Magnus-universitetets (nedan VDU) korpus för nutida litauiska9 – cirka 140 miljoner ord;

3) Vilnius universitets korpus för maskinöversättning10 – cirka 800 miljoner ord, cirka 4 miljoner unika ord;

4) Republiken Litauens Seimas (nedan LRS) dokument11 – cirka 400 miljoner ord, cirka 1 miljon unika ord;

5) Ordbok över nutida litauiska (DŽ 2006) – cirka 60 000 lemman;

6) Litauisk ordbok12 – cirka 500 000 artiklar;

7) Ordbok över internationella ord (VTŽŽe) – cirka 22 000 lemman;

8) Ordbok över litauiska efternamn (LPŽ) (cirka 80 000 efternamn).

Sammanlagt skapades cirka 5 000 adresserbara regelgrupper (18 000 enskilda regler). I figur 5 visas hur regelgrupperna fördelar sig mellan ordklasserna.

FIG. 5. Fördelning av grupper av böjningsregler efter ordklass

.dic-filen (ordlistan) sammanställdes av 171 000 lexem. Hur lexemen fördelar sig efter ordklass visas i figur 6.

9 Tillgänglig online: http://tekstynas.vdu.lt/tekstynas/.

10 Tillgänglig online: https://www.versti.eu/.

11 Tillgänglig online: http://www.lrs.lt/.

12 Tillgänglig 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

FIG. 6. Lexemens fördelning efter ordklass

Vid urvalet begränsade man sig till korrekt modern litauiska och undvek felaktiga, icke-litauiska, olämpliga, stötande och föråldrade ord. Egennamn delades dessutom in i efternamn, förnamn, geografiska namn och övriga kategorier. Ett sådant urval underlättar tillämpningen av den utvecklade morfologin vid stavningskontroll och gör det enklare att använda analysresultaten i senare steg av textanalysen (syntax, igenkänning av namngivna entiteter, indexering och sökning).

Den nyutvecklade morfologiska analysatorns precision är omkring 98 procent, det vill säga att analysatorn i genomsnitt tolkar 98 av 100 ord korrekt (Kapočiūtė-Dzikienė et al. 2017). De återstående 2 procenten oigenkända orden utgörs oftast av stavfel, ord från andra språk (förnamn, efternamn, citat ur fraser och liknande), olämpliga eller icke-standardiserade ord samt korrekta ord som inte hade tagits med i lexemlistan.

3. PRAKTISK TILLÄMPNING

3.1. VDU:s system för syntaktisk-semantisk analys

Den nyutvecklade litauiska morfologin Hunspell anpassades åren 2011–2015 för användning i VDU:s system för syntaktisk-semantisk analys13 för stavnings- och grammatikkontroll samt morfologisk och syntaktisk textanalys (se fig. 7). Den morfologiska analysen kompletterades med en blandad statistisk-regelbaserad disambiguering (dold Markovmodell, trigramssannolikheter approximerade enligt guldstandarden, Viterbi-algoritmen, några undantag). Mer om disambiguering i morfologisk analys finns i publikationen av Jurgita Kapočiūtė-Dzikienė, Erika Rimkutė och Loïc Boizou (2017).

13 Tillgänglig på internet: 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

FIG. 7. Hunspell den litauiska morfologins tillämpning i VDU:s system för syntaktisk-semantisk analys

3.2. LRS:s söksystem för lagstiftningsregistret

Åren 2011–2013 pågick, parallellt med utvecklingen av den nya litauiska morfologin, anpassningen av den för användning i söksystemet för rättsaktsregistret vid LRS:s kansli14. I sådana system indexeras vanligtvis alla dokument genom lemmatisering innan den första sökningen görs, dvs. alla ord i dokumenten ersätts med sina lemman och man lagrar information om var varje lemma förekommer. Innan en sökfråga körs lemmatiseras även dess text på samma sätt, vilket gör att man sedan inte bara hittar den ordform som skrivits i frågan, utan också varje annan form av ordet som förekommer bland dokumenten som söks igenom. Eftersom det i detta system inte gick att använda .dic,.aff-data direkt, genererades det ursprungliga format som systemet behövde (en textfil där varje rad har formen [lemma] [ordklass] → [lista över former]) från den tidigare nämnda primära morfologibeskrivningen. Även om cirka 15 miljoner teoretiskt möjliga ordformer kan genereras från denna beskrivning, användes endast omkring 1 miljon av de allra vanligaste på grund av söksystemets interna begränsningar. Lösningen visade sig fungera väl; sökningen fungerar smidigt och används än i dag (se fig. 8).

14 Tillgänglig på internet: 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

FIG. 8. Tillämpning av litauisk morfologi i sökningen i LRS:s register över rättsakter

4.3. System med öppen källkod för dokumentindexering och sökning Solr/Lucene15

För att i större utsträckning utnyttja fördelarna med öppen källkod och den erfarenhet som samlats vid implementeringen av litauisk morfologi i registret över rättsakter, skapades ett system för indexering och sökning av litauiska dokument baserat på Solr/Lucene. Direkt användning av .dic,.aff-data i detta system är möjlig men mycket ineffektiv. Därför ersattes den med en ändlig tillståndstransduktor (FST – Finite State Transducer), som konstruerats utifrån den tidigare nämnda grundläggande morfologiska beskrivningen och genererar alla ordformer som teoretiskt är möjliga enligt denna beskrivning. Lösningen gör det inte bara möjligt att indexera exakt och hitta alla önskade ordformer, utan också att påskynda indexeringen hundratals gånger. Dessutom kan sökresultat erhållas med hjälp av olika semantiska relationer och med hänsyn till ytterligare taxonomisk-semantisk information. Om exempelvis sökfrågan innehåller ordet ”orm” söker systemet även efter ”huggorm”, ”skallerorm” och liknande (se fig. 9), medan sökresultaten inte längre innehåller vare sig ”ormar” eller ”skallerormar” om sökfrågan innehåller ordet ”huggorm” (Ralys, Dadurkevičius 2017).

15 Tillgänglig på internet: 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

FIG. 9. Exempel på tillämpning av litauisk morfologi i systemet med öppen källkod för dokumentindexering och sökning Solr/Lucene

4. FRAMTIDSUTSIKTER

För att i större utsträckning kunna tillämpa implementeringen av litauisk morfologi på Hunspell-plattformen bör två varianter utvecklas: en variant för standardspråket och en fullständig variant (standardiserat och icke-standardiserat språk). Den första varianten skulle även fortsättningsvis möjliggöra stavningskontroll och ge rekommendationer om hur avvikelser från språkets normer kan rättas, medan den andra skulle lämpa sig för tillämpade uppgifter inom analys av levande språk.

En minst lika viktig framtida uppgift är att fortlöpande komplettera morfologiordboken med ord som ännu inte tagits med och med nytillkomna ord, rätta upptäckta fel i böjningsregler och ordklassificering samt publicera uppdaterade versioner av .dic,.aff minst en gång om året.

Med hjälp av den erfarenhet som redan samlats skulle det också vara enkelt att utarbeta en formell beskrivning av litauiska dialekter (särskilt žemaitiska) eller av språket i äldre litauiska skrifter.

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