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

VIRGINIJUS DADURKEVIČIUS

Vilniusi Egyetem

A LITVÁN NYELV MORFOLÓGIÁJA A NYÍLT FORRÁSKÓDÚ HUNSPELL PLATFORMON1

KULCSSZAVAK: számítógépes nyelvészet, litván nyelv, grammatika, morfológia, morfológiai elemzés, helyesírás-ellenőrzés, szövegindexelés, keresés, nyílt forráskód, Hunspell.

BEVEZETÉS

Több mint 100 évvel ezelőtt Jonas Jablonskis erőfeszítéseinek köszönhetően (1901, 1918, 1922) megkezdődött a litván nyelv normáinak kialakítása, és a nyelvet az államot egyesítő fő eszközzé tették. Már Jonas Jablonskis első A litván nyelv grammatikájában (1901) formalizálták a litván nyelv fonetikáját, morfológiáját és szintaxisát: meghatározták az alapfogalmakat, és megadták a szavak ragozásának, valamint a mondatszerkezetnek a szabályait (lásd az 1. ábrát).

1. ÁBRA. Részlet Jonas Jablonskis A litván nyelv grammatikájából, 19012

Jono Jablonskio felbecsülhetetlen hozzájárulása a litván nyelv szókincsének normatív szabályozásához és a szavak szemantikai sajátosságainak magyarázatához.

Hosszú ideig ez teljes mértékben elegendő volt a tanulók és tanárok, írók és olvasók, hivatalnokok és tudósok számára. A civilizációt megváltoztató újdonság, a számítógépek megjelenésével a klasszikus grammatikának és lexikának „új ruhát kellett öltenie”, és az új kor teljes értékű részévé kellett válnia

1 A cikk a A litván nyelv grammatikája a nyílt forráskód világában című előadás alapján készült, amelyet a Jonas Jablonskis-konferencia 24. nemzetközi rendezvényén, Digitális nyelvi erőforrások, fejlesztési irányaik és felhasználási lehetőségeik címmel tartottak (2017. 09. 29.); a rendezvényt a Litván Nyelvi Intézet Köznyelvi Kutatóközpontja és a Vilniusi Egyetem Litván Nyelvi Tanszéke szervezte.

2Ábra innen: 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

a technológia részévé vált. Először a nyelvi ismeretekre a számítógépeken a szöveg kódolásakor (a betűk számokká alakításakor), a bevitt szöveg hibáinak automatikus javításakor, valamint a kétoldali igazítás oszlopainak szövegében a szótagoláskor volt szükség. Később információkereséshez, beszédelemzéshez és -szintézishez, egyik nyelvről a másikra történő gépi fordításhoz, a tartalom automatikus értelmezéséhez, a szöveg „érzelmi” elemzéséhez stb. is. A nyelvi ismereteket aprólékosan formalizálni kellett, és a számítógépek számára érthető módon kellett lejegyezni. Ezek közül a legfontosabb a morfológia, mivel ez képezi minden alaposabb számítógépes nyelvészeti munka (szintaxis, szemantikai elemzés stb.) alapját.

Az első ilyen munkát az ezredfordulón a „Bitas” kísérleti üzem programozója, Vytautas Zinkevičius végezte el (1996, 2000). Közel két évtizeden át ez volt a korszerű litván nyelvi kutatás és a számítógépes alkalmazások nélkülözhetetlen és egyetlen eszköze. A rendszert sikeresen használták a szövegszerkesztő programok helyesírás-ellenőrzésére, valamint morfológiai elemzés és szintézis végzésére tudományos és alkalmazott munkákban a Litván Nyelvi Intézetben, a Vytautas Magnus Egyetemen (ahol munkáit „Lemuoklis” néven emlegették) és a Vilniusi Egyetemen. A rendszernek még egy változatát is létrehozták, amelyet az ólitván nyelv elemzéséhez alakítottak ki (Gelumbeckaitė és mtsai, 2012). A számítógépes nyelvészet igényeinek bővülésével azonban egyre nyilvánvalóbbá váltak a rendszer hiányosságai: nem szabványos, nem kért adatstruktúrák; zárt forráskód; a tulajdonnevek, az illatívusz, a kettős szám, az elsődleges igék jövő idejű alakjainak, valamint a megrövidült és ritka alakoknak nem teljes körű megvalósítása. A rendszer további fejlesztését különösen a zárt forráskód akadályozta – az adatokat és az algoritmust gyakorlatilag csak maga a szerző módosíthatta.

A korábban ismertetett hiányosságok kiküszöbölése és egy új generációs, számítógépes litván morfológia létrehozása érdekében a következő követelményeket fogalmazták meg:

1) kizárólag nyílt forráskódot használni és létrehozni;

2) csak az adatoknak, nem pedig azok formájának és értelmezésének lehetnek sajátos litván nyelvi jellemzőik;

3) a teljes programkódnak univerzálisnak kell lennie, és bármely más nyelvhez is alkalmazhatónak kell lennie;

4) fel kell használni a világ más nyelveihez sikeresen alkalmazott megoldásokat.

Az említett követelményeknek jól megfelel a Hunspell platform3. Emellett, ha így írjuk le a nyelvet, később számos (több mint 50) alkalmazásban könnyedén ellenőrizhetők a helyesírási hibák (OpenOffice, LibreOffice, Firefox, Chrome, Safari, InDesign stb.), elvégezhető a szavak morfológiai elemzése és szintézise, valamint lehetővé válik a szöveges információk intelligens keresése stb.

3 Elérhető az interneten: 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

A cikk a litván nyelv morfológiájának új, Hunspell platformon alapuló megvalósítását tekinti át. Bemutatja az ezzel kapcsolatos problémákat és megoldási módjaikat, továbbá példákat ismertet a sikeres tesztelésre és gyakorlati alkalmazásra.

1. A LITVÁN NYELV LEÍRÁSA A HUNSPELL FORMÁTUMBAN: SAJÁTOSSÁGOK

1.1. A Hunspell platform kialakulásának előzményei és általános alapelvei

A nyílt forráskódú Hunspell platform a legegyszerűbb helyesírás-ellenőrző eszközökből, az Ispell4, az Aspell5, az MySpell6 és hasonló eszközökből fejlődött ki. Fokozatosan egyre összetettebbé téve és egyre változatosabb nyelvekhez (különösen agglutináló nyelvekhez – például a finnhez, a magyarhoz, a törökhöz stb.) igazítva őket, lehetővé vált nemcsak a helyesírás-ellenőrzési, hanem a morfológiai elemzési és szintézisi feladatok megoldása is. E világszerte rendkívül népszerű platform szerzői főként magyar származású tudósok és mérnök-programozók (Trón ir kt. 2005). Nem meglepő, hogy a nevének első eleme, a „Hun-”, Magyarország angol elnevezéséből származik.

A nyelv morfológiáját a Hunspell platformon két szöveges fájl írja le: a .aff kiterjesztésű fájl tartalmazza a ragozási szabályokat, míg a .dic kiterjesztésű fájl a szóalakok szótárát tartalmazza az alapvető morfológiai információkkal, valamint az egy vagy több, további alkalmazásra alkalmas ragozási szabálycsoportra mutató hivatkozásokkal. Egy-egy szabályt olyan utasításként képzelhetünk el, amely megadja:

1) Mit mire lehet cserélni a szóalakok szótárában szereplő szóban. Például a következő szabályban

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

Az „SFX” azt jelöli, hogy a szó végének módosításáról van szó; a „-čias” „-ty”-ra cserélhető.

A „PFX” a szó elejének módosítását jelölné. A szó közepének módosítására nincs lehetőség.

2) Annak a ragozási szabálycsoportnak a száma, amelyhez ez a szabály tartozik. A csoport egy vagy több szabályból állhat, amelyek mindig együttesen alkalmazandók. Az előző példában a szabály a „85” számú csoporthoz tartozik.

3) Azok a feltételek, amelyek teljesülése esetén a módosítás lehetséges (a reguláris kifejezések bizonyos formalizmusát alkalmazzák). Példánkban a módosítás csak akkor lehetséges, ha a szóalakok szótárában szereplő szó vége nem „-ščias” (például „vaikiščias”).

4) A módosításhoz kapcsolódó morfológiai információ. Példánkban a szóvég ilyen módosításához a „Masc_Sg_Voc” morfológiai címke tartozik (hímnem, egyes szám, megszólító eset, például „svety”).

4 Elérhető az interneten: https://www.cs.hmc.edu/~geoff/ispell.html.

5 Elérhető az interneten: http://aspell.net.

6 Elérhető az interneten: 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

A Hunspell ragozási szabályainak összeállítási és a morfológiai információ megadására vonatkozó elvekről részletesebben a platform weboldalán7 lehet tájékozódni; a különböző nyelvek morfológiájának e platformon történő leírási lehetőségeit pedig Tommi A. Pirinen disszertációja (2014) meglehetősen alaposan vizsgálja.

1.2. A litván megvalósítás speciális követelményei

Ahhoz, hogy a nyelv ilyen formalizálása alkalmas legyen morfológiai elemzésre, szintézisre, szöveges információ indexelésére és keresésére, az alábbi két követelménynek kell megfelelni:

1) a szóalakok szótárába csak lemmák (címszóalakok) vehetők fel;

2) az elő- és utóképzős, valamint visszaható képzésnek nem az .aff, hanem a .dic fájlban kell tükröződnie.

Az első követelményt a litván nyelvben nem könnyű megvalósítani az igék nagyfokú ragozási változatossága miatt (mintegy 170 változat), de e probléma megoldását segítette a Hunspell platform azon lehetősége, hogy az egyik ragozási szabályból egy másikat hívjon meg. Bár az ilyen hívások „mélysége” csak egy lehet, ez jelentősen csökkenti a ragozási szabályokat tartalmazó fájl méretét – néhány millió sorról néhány tízezerre.

A második követelmény teljesítése némileg növeli a .dic fájl méretét, mivel például ugyanazon „imti” tő „paimti”, „suimti” és „nesiimti” elő- és utóképzős, illetve visszaható képzős származékai külön sorokban szerepelnek majd. Ez nem az egyetlen kedvezőtlen következménye ennek a követelménynek: könnyen előfordulhat, hogy véletlenül kimarad valamely ritkábban használt igei vagy melléknévi származék. E problémát viszont meglehetősen alaposan orvosolja, ha a lemmákat elsősorban nem kiadott szótárakból, hanem összegyűjtött korpuszokból válogatják ki.

1.3. Részletek (példák) a litván.dic és.aff fájlokból

A litván .dic fájl (szótár) néhány részletét, kiemelve bennük Jono Jablonskio példaszavainak megfelelőit, a 2. ábra mutatja be.

7 Online hozzáférés: 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:főnév

laukan po:határozószó

laukas/1,3,7,10,12,14,20,21,30,9999 po:főnév

Laukavičienė/738,740,745,9999 po:családnév

...

svečias/1467,1767,1775,1781,1784,1841,9999 po:melléknév

svečias/71,73,85,93,98,100,106,116,9999 po:főnév

svečiavimasis/1308,1310,1314,1315,1317,1319,9999 po:visszaható főnév

Svečiulienė/738,740,745,9999 po:családnév

...

Gaidulis/118,122,132,141,145,157,9999 po:családnév

Gaidulytė/738,740,745,749,754,760,9999 po:családnév

gaidys/264,268,278,280,284,288,300,302,9999 po:főnév

Gaidys/264,268,278,284,288,300,9999 po:családnév

...

peilinis/2036,9999 po:adjective

peilis/118,122,132,137,141,145,157,159,9999 po:főnév

peiliukas/1,3,8,10,12,14,20,21,30,9999 po:főnév

Peipus/444,446,452,9999 po:földrajzi tulajdonnév

2. ÁBRA. A szóalakok .dic fájlrészlete. A perjel utáni számok a ragozási szabálycsoportokra mutató hivatkozásokat jelölik. Piros színnel kiemeltük a 3. ÁBRÁN bemutatott szabálycsoportokra mutató hivatkozásokat.

A 3. ábra a litván ragozási szabályok .aff fájljának néhány részletét mutatja be:

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 iuose. is:Masc_Pl_Loc

SFX 145 is iuos. is:Masc_Pl_Loc_short

SFX 145 ys iuos. is:Masc_Pl_Loc_short

3. ÁBRA. A ragozási szabályok .aff fájlrészletei. Félkövérrel néhány szabály van kiemelve, amelyeket a továbbiakban a morfológiai elemzés szemléltetésére használunk.

BENDRINĖ KALBA 90 (2017)

www.bendrinekalba.lt

ISSN 2351–7204

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

A példákban megadott nyelvleírás és a szabványos (nyelvfüggetlen) Hunspell elemzőeszközök alkalmazásával Jónas Jablonskis példaszavaira a következő választ kapnánk (lásd a 4. ábrát).

4. ÁBRA. Példa a szavak morfológiai elemzésére

2. A MUNKA MENETE ÉS EREDMÉNYEI

Amikor már elkészült a teljes értékű nyelvleírás Hunspell formátumban (azaz létrejöttek a megfelelő .dic ir.aff fájlok), gyakorlatilag korlátlan lehetőségek nyílnak gyakorlati alkalmazások előtt – a helyesírás- vagy nyelvtani ellenőrzéstől kezdve egészen az intelligens információkereső rendszerekig. A litván nyelv meglehetősen összetett morfológiája (a szabályok és csoportjaik nagy száma), valamint az a követelmény, hogy a lemmák jegyzékét a mai írott litván nyelv tényleges állapotát tükröző nagy (több mint 1 milliárd szavas) szövegkorpuszokhoz kell igazítani, azt eredményezte, hogy az első próbálkozásoktól a zökkenőmentesen működő morfológiai változat elkészítéséig mintegy 5 évre volt szükség. A cikkben korábban bemutatott példák inkább szemléltető jellegűek, és csupán az ötlet megértését szolgálják; a valóságban a szabályok és csoportjaik sokkal összetettebbek, különösen az igékhez kapcsolódók.

A morfológia kidolgozásának felgyorsítása és a szabályok ezreinek felsorolásakor, illetve a lemmákhoz rendelésekor előforduló hibák elkerülése érdekében először a Hunspell specifikációi által megköveteltnél elvontabb kezdeti morfológialeírást készítettek (a szabályokat MS Excel-táblázatban, a lemmákat és azok osztályozását pedig MS Access-adatbázisban tárolták). Emellett olyan szoftvereszközöket is készítettek, amelyek automatikusan átalakítják ezeket a kezdeti, az emberek számára könnyebben olvasható és áttekinthető struktúrákat .aff ir.dic fájlokká, vagy az alkalmazás sajátosságai által meghatározott más formátumba. A litván .aff ir.dic fájlok legújabb változata a szerző GitHub-oldalán8 érhető el.

A morfológia teljes formalizálási folyamata során a következő fő forrásokat használták:

8 Online elérhető: 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) A mai litván nyelv nyelvtana (DLKG 2006);

2) A Vytautas Magnus Egyetem (a továbbiakban: VDU) A mai litván nyelv szövegkorpusza9 – mintegy 140 millió szó;

3) A Vilniusi Egyetem gépi fordítási szövegkorpusza10 – mintegy 800 millió szó, mintegy 4 millió egyedi szóalak;

4) A Litván Köztársaság parlamentjének (a továbbiakban: LRS) dokumentumai11 – mintegy 400 millió szó, mintegy 1 millió egyedi szóalak;

5) A mai litván nyelv szótára (DŽ 2006) – mintegy 60 ezer lemma;

6) A litván nyelv szótára12 – mintegy 500 ezer szócikk;

7) Az idegen szavak szótára (VTŽŽe) – mintegy 22 ezer lemma;

8) A litván családnevek szótára (LPŽ) (mintegy 80 ezer családnév).

Összesen mintegy 5000 hivatkozható szabálycsoportot (18 000 egyedi szabályt) állítottak össze. Az 5. ábra mutatja, hogyan oszlanak meg a szabálycsoportok a beszédrészek szerint.

5. ÁBRA. A ragozási szabálycsoportok megoszlása szófajok szerint

A .dic fájl (szótár) 171 000 lemmából készült. A lemmák szófajok szerinti megoszlását a 6. ábra mutatja.

9 Elérhető az interneten: http://tekstynas.vdu.lt/tekstynas/.

10 Elérhető az interneten: https://www.versti.eu/.

11 Elérhető az interneten: http://www.lrs.lt/.

12 Elérhető az interneten: 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

6. ÁBRA. A lemmák megoszlása szófajok szerint

A válogatás során kizárólag a szabályos, mai litván nyelvre szorítkoztunk, és kerültük a hibás, nem litván, nem ajánlott, sértő, illetve már nem használt szavakat. A tulajdonneveket további csoportokra osztottuk: vezetéknevekre, keresztnevekre, földrajzi nevekre és egyéb esetekre. Ez a válogatás megkönnyíti a létrehozott morfológia alkalmazását a helyesírás-ellenőrzésben, és lehetővé teszi, hogy az elemzés eredményeit könnyebben felhasználjuk a szövegelemzés későbbi szakaszaiban (szintaxis, névelemek felismerése, indexelés és keresés).

Az újonnan létrehozott morfológiai elemző pontossága körülbelül 98 százalék, vagyis 100 szóból átlagosan 98-at helyesen értelmez (Kapočiūtė-Dzikienė ir kt. 2017). A fennmaradó 2 százaléknyi fel nem ismert szó leggyakrabban helyesírási hiba, más nyelvekből származó szó (keresztnév, vezetéknév, idézett kifejezés stb.), nem ajánlott vagy nem normatív szó, illetve olyan szabályos szó, amely nem került be a lemmák jegyzékébe.

3. GYAKORLATI ALKALMAZÁS

3.1. A VDU szintaktikai-szemantikai elemzőrendszere

Az újonnan létrehozott litván nyelvi morfológiát a Hunspell platformon 2011–2015 között a VDU szintaktikai-szemantikai elemzőrendszerében alkalmazták13 a helyesírás és a nyelvtan ellenőrzésére, valamint a szöveg morfológiai és szintaktikai elemzésére (lásd a 7. ábrát). A morfológiai elemzést hibrid statisztikai-szabályalapú egyértelműsítéssel egészítették ki (rejtett Markov-modell, az arany standard alapján közelített trigramvalószínűségek, Viterbi-algoritmus, néhány kivétel). A morfológiai elemzés egyértelműsítéséről bővebben Jurgita Kapočiūtė-Dzikienė, Erika Rimkutė és Loïc Boizou publikációja ír (2017).

13 Online hozzáférés: 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

7. ÁBRA. Hunspell: a litván nyelv morfológiájának alkalmazása a VDU szintaktikai-szemantikai elemzőrendszerében

3.2. Az LRS jogszabály-nyilvántartó keresőrendszere

2011–2013 között, az új litván nyelvi morfológia fejlesztésével párhuzamosan, alkalmazták azt az LRS Kancellária jogszabály-nyilvántartó keresőrendszerében14. Az ilyen rendszerekben általában már az első keresés előtt indexelik az összes dokumentumot lemmatizálással, vagyis a dokumentumok valamennyi szavát a lemmájukra cserélik, és rögzítik, hogy mely lemma hol fordult elő. A keresési lekérdezés szövegét is ugyanígy lemmatizálják a keresés indítása előtt, ezért később nemcsak a lekérdezésben szereplő szóalak található meg, hanem a keresett dokumentumokban előforduló szó bármely más alakja is. Mivel ebben a rendszerben nem lehetett közvetlenül felhasználni a .dic,.aff adatokat, a rendszer számára szükséges eredeti formátumot (olyan szöveges fájlt, amelyben minden sor formája [lemma] [szófaj] → [alakok listája]) a korábban említett elsődleges morfológiai leírásból állították elő. Bár ebből a leírásból mintegy 15 millió elméletileg lehetséges szóalak generálható, a keresőrendszer belső korlátozásai miatt ezek közül csak körülbelül 1 millió leggyakoribb alakot használták fel. Ez a megoldás bevált: a keresés meglehetősen gördülékenyen működik, és mindmáig használatban van (lásd a 8. ábrát).

14 Online hozzáférés: 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

8. ÁBRA. A litván nyelv morfológiájának alkalmazása a LRS jogszabály-nyilvántartás keresőjében

4.3. Dokumentumindexelési és -keresési nyílt forráskódú rendszer Solr/Lucene15

A nyílt forráskód előnyeinek és a Jogszabály-nyilvántartásban a litván nyelv morfológiájának megvalósítása során szerzett tapasztalatok szélesebb körű hasznosítása érdekében a litván dokumentumok indexelésére és keresésére szolgáló rendszert hoztak létre Solr/Lucene alapokon. A .dic,.aff adatok közvetlen alkalmazása ebben a rendszerben lehetséges, de nagyon nem hatékony, ezért egy végesállapotú transzducerrel (FST – Finite State Transducer) helyettesítették, amely a korábban említett eredeti morfológiai leírásból készült, és az ennek alapján elméletileg lehetséges összes szóalakot generálja. Ez a megoldás nemcsak az összes kívánt szóalak pontos indexelését és megtalálását teszi lehetővé, hanem az indexelést is több százszorosára gyorsítja; a keresési eredmények pedig különféle szemantikai kapcsolatok felhasználásával, kiegészítő taxonómiai-szemantikai információ figyelembevételével jeleníthetők meg. Például, ha a lekérdezésben a „gyvatė” szó szerepel, a rendszer ezen felül az „angis”, „barškuolė” stb. szavakra is keres (lásd a 9. ábrát), míg ha a lekérdezésben az „angis” szó szerepel, a keresési eredmények között már sem „gyvačių”, sem „barškuolių” nem lesz (Ralys, Dadurkevičius 2017).

15 Elérhető az interneten: 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

9. ÁBRA. Példa a litván nyelv morfológiájának alkalmazására a Solr/Lucene nyílt forráskódú dokumentumindexelési és -keresési rendszerben

4. KILÁTÁSOK

A litván nyelv morfológiájának Hunspell platformon történő megvalósításának szélesebb körű alkalmazásához két irányt kellene fejleszteni: a normatív nyelvi változatot és a teljes változatot (normatív és nem normatív nyelv). Az első változat lehetővé tenné a helyesírás-ellenőrzési feladatok további ellátását, valamint ajánlások megfogalmazását a nyelvi normák megsértésének kijavítására, a második pedig alkalmas lenne a beszélt nyelv elemzésével kapcsolatos alkalmazási feladatok megoldására.

A jövő egyik legalább ilyen fontos feladata a morfológiai szótár folyamatos kiegészítése a még fel nem vett és újonnan megjelenő szavakkal, a feltárt ragozási szabály- és szóosztályozási hibák kijavítása, valamint a legújabb .dic,.aff verziók legalább évenkénti közzététele.

A már felhalmozott tapasztalat felhasználásával könnyen elkészíthető lenne a litván nyelvjárások (különösen a žemaitiai nyelvjárás) vagy a régi litván írott nyelv formális leírása is.

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