scieee AI-readable full text Open interactive document viewer

Lietuvių kalbos morfologija atvirojo kodo „Hunspell“ platformoje

Virginijus Dadurkevičius

Full text

VIRGINIJUS DADURKEVIČIUS Università di Vilnius MORFOLOGIA DELLA LINGUA LITUANA SULLA PIATTAFORMA OPEN SOURCE HUNSPELL1 PAROLE CHIAVE: linguistica computazionale, lingua lituana, grammatica, morfologia, analisi morfologica, controllo ortografico, indicizzazione del testo, ricerca, open source, Hunspell. INTRODUZIONE Oltre 100 anni fa, grazie agli sforzi di Jonas Jablonskis (1901, 1918, 1922), la lingua lituana iniziò a essere standardizzata e fu adattata a fungere da principale strumento di unificazione dello Stato. Già nella prima grammatica di Jonas Jablonskis, Lietuviškos kalbos gramatikoje (1901), la fonetica, la morfologia e la sintassi della lingua lituana erano state formalizzate: erano state definite le nozioni fondamentali e presentate le regole di flessione delle parole e di struttura della frase (cfr. fig. 1). FIG. 1. Estratto dalla Lietuviškos kalbos gramatikos di Jonas Jablonskis, 19012 È inestimabile il contributo di Jonas Jablonskis alla standardizzazione del lessico lituano e alla spiegazione delle caratteristiche semantiche delle parole. Per molto tempo ciò fu del tutto sufficiente per studenti e insegnanti, scrittori e lettori, funzionari e studiosi. Con l’avvento dei computer, un’innovazione capace di trasformare la civiltà, la grammatica e il lessico classici si trovarono di fronte alla necessità di «indossare un abito nuovo» e diventare parte integrante dei nuovi 1 L’articolo è stato preparato sulla base della relazione La grammatica lituana nel mondo open source, presentata alla 24ª Conferenza internazionale Jonas Jablonskis Risorse linguistiche digitali: direzioni di sviluppo e possibilità d’uso (29/09/2017); la conferenza è stata organizzata dal Centro di ricerca sulla lingua standard dell’Istituto di lingua lituana e dalla Cattedra di lingua lituana dell’Università di Vilnius. 2 Immagine tratta da 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 parte delle tecnologie. Inizialmente, le conoscenze linguistiche furono necessarie nei computer per codificare il testo (convertendo le lettere in numeri), correggere automaticamente gli errori nel testo digitato e sillabare il testo delle colonne di impaginazione giustificata. Poco dopo si resero necessarie per la ricerca delle informazioni, l’analisi e la sintesi del parlato, la traduzione automatica da una lingua all’altra, la comprensione automatica dei contenuti, l’analisi «emotiva» del testo e così via. Gli aspetti linguistici dovevano essere formalizzati minuziosamente e registrati in un modo diverso, comprensibile ai computer. Il più importante di questi aspetti è la morfologia, poiché costituisce la base di qualsiasi lavoro più approfondito di linguistica computazionale (sintassi, analisi semantica ecc.). Il primo lavoro di questo tipo, a cavallo tra i due secoli, fu realizzato da Vytautas Zinkevičius, programmatore dello stabilimento sperimentale «Bitas» (1996, 2000). Per quasi due decenni fu uno strumento insostituibile e l’unico disponibile per lo studio moderno della lingua lituana e per le applicazioni informatiche. Il sistema venne utilizzato con successo per individuare errori ortografici nei programmi di elaborazione testi, nonché per svolgere analisi e sintesi morfologiche in progetti di ricerca e applicativi presso l’Istituto della lingua lituana, l’Università Vytautas Magnus (dove i suoi lavori presero il nome di «Lemuoklis») e l’Università di Vilnius. Fu persino creata una variante del sistema adattata all’analisi della lingua lituana antica (Gelumbeckaitė et al. 2012). Tuttavia, con l’espandersi delle esigenze della linguistica computazionale, cominciarono a emergere i limiti del sistema: strutture di dati non standard e non richieste; codice chiuso; trattamento incompleto dei nomi propri, dell’illativo, del duale, del futuro dei verbi primari e delle forme abbreviate e rare. Il codice chiuso ostacolava in particolare l’ulteriore sviluppo del sistema: in pratica, solo l’autore stesso poteva modificare i dati e l’algoritmo. Per evitare i limiti descritti in precedenza e creare una morfologia computazionale della lingua lituana di nuova generazione, furono formulati i seguenti requisiti: 1) utilizzare e sviluppare esclusivamente codice sorgente aperto; 2) solo i dati, e non la loro forma e interpretazione, possono presentare caratteristiche specifiche della lingua lituana; 3) tutto il codice software deve essere universale e adatto a qualsiasi altra lingua; 4) avvalersi di soluzioni applicate con successo ad altre lingue del mondo. La piattaforma Hunspell soddisfa bene i requisiti menzionati3. Inoltre, dopo aver descritto la lingua in questo modo, è facile controllare gli errori ortografici in numerose (oltre 50) applicazioniOpenOffice, LibreOffice, Firefox, Chrome, Safari, InDesign e così via, eseguire l’analisi e la sintesi morfologica delle parole, effettuare ricerche intelligenti di informazioni testuali ecc. 3 Accesso online: 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 Questo articolo offre una panoramica di una nuova implementazione della morfologia della lingua lituana basata sulla piattaforma Hunspell. Vengono esaminati i problemi correlati e i relativi metodi di risoluzione, con esempi di test riusciti e di applicazioni pratiche. 1. CARATTERISTICHE DEL FORMATO HUNSPELL PER LA DESCRIZIONE DELLA LINGUA LITUANA 1.1. Presupposti per la nascita della piattaforma Hunspell e principi generali La piattaforma open source Hunspell si è evoluta a partire dai più semplici strumenti di controllo ortografico Ispell4, Aspell5, MySpell6 e altri. Rendendoli gradualmente più sofisticati e adattandoli a lingue sempre più diverse (in particolare quelle agglutinanti: finlandese, ungherese, turco e così via), è diventato possibile affrontare non solo il controllo ortografico, ma anche i compiti di analisi e sintesi morfologica. Gli autori di questa piattaforma, estremamente popolare in tutto il mondo, sono perlopiù studiosi e ingegneri-programmatori di origine ungherese (Trón et al. 2005). Non sorprende che il primo elemento del suo nome, «Hun-», derivi dal nome inglese dell’Ungheria. La morfologia di una lingua nella piattaforma Hunspell è descritta da due file di testo: le regole di flessione sono registrate nel file con estensione .aff, mentre il file con estensione .dic contiene un dizionario di forme verbali con informazioni morfologiche di base e riferimenti a uno o più gruppi di regole di flessione che possono essere applicati in aggiunta. Una singola regola può essere immaginata come un’istruzione che specifica: 1) Che cosa può essere sostituito con che cosa nella parola del dizionario delle forme. Per esempio, nella regola SFX 85 čias ty [^š]čias is:Masc_Sg_Voc «SFX» indica che si modifica la fine della parola e che «-čias» può essere sostituito con «-ty». «PFX» indicherebbe che si modifica l’inizio della parola. Non sono previste modifiche all’interno della parola. 2) Il numero del gruppo di regole di flessione a cui appartiene questa regola. Un gruppo può essere costituito da una o più regole, che vengono sempre applicate insieme. Nell’esempio precedente, la regola appartiene al gruppo numero «85». 3) Le condizioni in cui la modifica è possibile (si applica un formalismo basato sulle espressioni regolari). Nel nostro esempio, la modifica è possibile solo a condizione che la parola del dizionario delle forme non termini in «-ščias» (per esempio «vaikiščias»). 4) Le informazioni morfologiche associate a questa modifica. Nel nostro esempio, a una modifica di questo tipo della fine della parola è associata l’etichetta morfologica «Masc_Sg_Voc» (genere maschile, singolare, caso vocativo, per esempio «svety»). 4 Accesso online: https://www.cs.hmc.edu/~geoff/ispell.html. 5 Accesso online: http://aspell.net. 6 Accesso 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 Per approfondire i principi di formulazione delle regole di flessione e di specificazione delle informazioni morfologiche in Hunspell, si può consultare il sito web della piattaforma7; le possibilità offerte da questa piattaforma per descrivere la morfologia di varie lingue sono state esaminate piuttosto approfonditamente nella tesi di dottorato di Tommi A. Pirinen (2014). 1.2. Requisiti specifici per l’implementazione del lituano Affinché una simile formalizzazione della lingua sia adatta all’analisi morfologica, alla sintesi, all’indicizzazione delle informazioni testuali e alla ricerca, occorre soddisfare i seguenti due requisiti: 1) nel dizionario delle forme delle parole possono essere inseriti solo i lemmi (forme lemmatiche); 2) la derivazione mediante prefissi, suffissi e forme riflessive deve essere indicata non nel file .aff, bensì nel file .dic. Il primo requisito non è facile da attuare in lituano, data la grande varietà di flessioni verbali (circa 170 varianti), ma a risolvere il problema ha contribuito la possibilità della piattaforma Hunspell di richiamare una regola di flessione da un’altra. Sebbene la «profondità» di tali richiami possa essere pari soltanto a uno, ciò riduce notevolmente le dimensioni del file delle regole di flessione, da alcuni milioni a qualche decina di migliaia di righe. Il soddisfacimento del secondo requisito aumenta un po’ le dimensioni del file .dic, poiché, per esempio, i derivati con prefissi, suffissi e forme riflessive della stessa radice, «imti», «paimti», «suimti» e «nesiimti», saranno inseriti in righe separate. E questa non è l’unica conseguenza negativa del requisito: è facile commettere errori e non includere qualche derivato verbale o aggettivale di uso meno frequente. Va detto, tuttavia, che il problema viene affrontato in modo piuttosto esaustivo selezionando i lemmi innanzitutto non dai dizionari pubblicati, bensì dai corpora testuali raccolti. 1.3. Frammenti (esempi) dei file.dic e.aff in lituano Alcuni frammenti del file .dic lituano (dizionario), con i corrispondenti termini esemplificativi di Jonas Jablonskis evidenziati in grassetto, sono mostrati nella Figura 2. 7 Disponibile 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. Frammento del file .dic delle forme delle parole. I numeri dopo la barra indicano i riferimenti ai gruppi di regole di flessione indirizzabili. In rosso sono evidenziati i riferimenti ai gruppi di regole mostrati nella FIG. 3. La fig. 3 presenta alcuni frammenti del file .aff delle regole di flessione della lingua lituana: 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 con is. 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 è iuos. is:Masc_Pl_Loc_short SFX 145 ys iuos. is:Masc_Pl_Loc_short FIG. 3. Frammenti del file .aff delle regole di flessione. Sono evidenziate alcune regole che saranno utilizzate di seguito per illustrare l’analisi morfologica. BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204 VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 6 Applicando la descrizione linguistica presentata negli esempi e gli strumenti standard (indipendenti dalla lingua) di analisi Hunspell, ai vocaboli esemplificativi di Jonas Jablonskis otterremmo la risposta seguente (v. fig. 4). FIG. 4. Esempio di analisi morfologica delle parole 2. SVOLGIMENTO DEL LAVORO E RISULTATI Una volta predisposta una descrizione linguistica completa nel formato Hunspell (ossia creati i corrispondenti file .dic e.aff), si aprono possibilità praticamente illimitate per le applicazioni pratiche, dal controllo ortografico o grammaticale fino ai sistemi intelligenti di ricerca delle informazioni. Data la morfologia piuttosto complessa del lituano (numerose regole e gruppi di regole) e la necessità di confrontare l’elenco dei lemmi con corpora di grandi dimensioni (oltre 1 miliardo di parole), che rispecchino lo stato attuale della lingua scritta lituana, sono stati necessari circa 5 anni dai primi tentativi alla creazione di una versione della morfologia funzionante senza problemi. Gli esempi presentati in precedenza in questo articolo sono più che altro illustrativi e servono soltanto a comprenderne l’idea; nella realtà, le regole e i gruppi di regole sono molto più complessi, soprattutto quelli relativi ai verbi. Per accelerare lo sviluppo della morfologia ed evitare errori nella stesura di migliaia di regole e nella loro assegnazione ai lemmi, inizialmente è stata creata una descrizione morfologica preliminare, più astratta di quella richiesta dalle specifiche Hunspell (regole in una tabella MS Excel; lemmi e relativa classificazione in un database MS Access). Sono stati inoltre creati strumenti software per convertire automaticamente queste strutture preliminari, più facili da leggere e comprendere per una persona, in file .aff e.dic o in un altro formato definito dalle specifiche dell’applicazione. La versione più recente dei file lituani .aff e.dic è disponibile sul sito GitHub dell’autore8. Durante l’intero processo di formalizzazione della morfologia sono state utilizzate le seguenti fonti principali: 8 Disponibile 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) Grammatica del lituano contemporaneo (DLKG 2006); 2) Corpus del lituano contemporaneo dell’Università Vytautas Magnus (di seguito VDU)9 – circa 140 milioni di parole; 3) Corpus di traduzione automatica dell’Università di Vilnius10 – circa 800 milioni di parole, circa 4 milioni di forme uniche; 4) Documenti del Seimas della Repubblica di Lituania (di seguito LRS)11 – circa 400 milioni di parole, circa 1 milione di forme uniche; 5) Dizionario del lituano contemporaneo (DŽ 2006) – circa 60 mila lemmi; 6) Dizionario della lingua lituana12 – circa 500 mila voci; 7) Dizionario dei forestierismi (VTŽŽe) – circa 22 mila lemmi; 8) Dizionario dei cognomi lituani (LPŽ) (circa 80 mila cognomi). In totale sono stati creati circa 5000 gruppi di regole indirizzabili (18 000 regole individuali). La distribuzione dei gruppi di regole in base alle parti del discorso è illustrata nella figura 5. FIG. 5. Distribuzione dei gruppi di regole flessive in base alle parti del discorso Il file .dic (dizionario) è stato compilato a partire da 171 000 lemmi. La distribuzione dei lemmi in base alle parti del discorso è illustrata nella figura 6. 9 Disponibile online: http://tekstynas.vdu.lt/tekstynas/. 10 Disponibile online: https://www.versti.eu/. 11 Disponibile online: http://www.lrs.lt/. 12 Disponibile 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. Distribuzione dei lemmi in base alle parti del discorso La selezione si è limitata al solo lituano contemporaneo corretto, escludendo parole errate, non lituane, non ammissibili, offensive o non più in uso. I nomi propri sono stati ulteriormente suddivisi in cognomi, nomi, toponimi e altri casi. Una selezione di questo tipo facilita l’impiego della morfologia sviluppata nella correzione ortografica e consente di utilizzare più facilmente i risultati dell’analisi nelle fasi successive dell’analisi del testo (sintassi, riconoscimento delle entità denominate, indicizzazione e ricerca). La precisione del nuovo analizzatore morfologico è di circa il 98%, ossia, in media, l’analizzatore morfologico interpreta correttamente 98 parole su 100 (Kapočiūtė-Dzikienė et al. 2017). Il restante 2% delle parole non riconosciute è costituito per lo più da errori ortografici, parole di altre lingue (nomi, cognomi, citazioni di frasi e simili), parole non ammissibili o non standard e parole corrette che non erano state incluse nell’elenco dei lemmi. 3. APPLICAZIONE PRATICA 3.1. Sistema di analisi sintattico-semantica della VDU La morfologia della lingua lituana, sviluppata ex novo, sulla piattaforma Hunspell è stata adattata tra il 2011 e il 2015 al sistema di analisi sintattico-semantica della VDU13 per il controllo ortografico e grammaticale e per l’analisi morfologica e sintattica dei testi (cfr. fig. 7). L’analisi morfologica è stata integrata con una disambiguazione statistico-regolistica ibrida (modello di Markov nascosto, probabilità dei trigrammi approssimate in base a uno standard aureo, algoritmo di Viterbi, alcune eccezioni). Una trattazione più approfondita della disambiguazione nell’analisi morfologica è disponibile nella pubblicazione di Jurgita Kapočiūtė-Dzikienė, Erika Rimkutė e Loïc Boizou (2017). 13 Accessibile 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 FIG. 7. Hunspell applicazione della morfologia della lingua lituana nel sistema di analisi sintattico-semantica della VDU 3.2. Sistema di ricerca del registro degli atti giuridici dell’LRS Tra il 2011 e il 2013, parallelamente allo sviluppo della nuova morfologia della lingua lituana, si è proceduto al suo adattamento nel sistema di ricerca del Registro degli atti giuridici presso la cancelleria dell’LRS14. Di norma, in sistemi di questo tipo, prima ancora di eseguire la prima ricerca, tutti i documenti vengono indicizzati tramite lemmatizzazione, ossia tutte le parole dei documenti vengono ricondotte ai loro lemmi e si registra dove compare ciascun lemma. Anche il testo della query viene lemmatizzato allo stesso modo prima di avviare la ricerca; in questo modo, in seguito, si trova non solo la forma della parola digitata nella query, ma anche qualsiasi altra forma della stessa parola presente nei documenti cercati. Poiché in questo sistema non era possibile utilizzare direttamente i dati .dic,.aff, il formato originale richiesto dal sistema (un file di testo in cui ogni riga è [lemma] [parte del discorso] → [elenco delle forme]) veniva generato dalla descrizione morfologica sorgente menzionata in precedenza. Sebbene da questa descrizione si possano generare circa 15 milioni di forme di parola teoricamente possibili, a causa dei limiti interni del sistema di ricerca ne è stato utilizzato soltanto circa un milione, le più frequenti. La scelta si è rivelata efficace: la ricerca funziona abbastanza agevolmente ed è utilizzata ancora oggi (cfr. fig. 8). 14 Accessibile 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 FIG. 8 Applicazione della morfologia della lingua lituana nella ricerca del registro degli atti giuridici del LRS 4.3. Sistema open source per l’indicizzazione e la ricerca dei documenti Solr/Lucene15 Per sfruttare più ampiamente i vantaggi dell’open source e l’esperienza maturata nell’implementazione della morfologia della lingua lituana nel Registro degli atti giuridici, è stato creato un sistema per l’indicizzazione e la ricerca di documenti lituani basato su Solr/Lucene. L’applicazione diretta dei dati .dic,.aff in questo sistema è possibile, ma molto inefficiente; è stata quindi sostituita da un trasduttore a stati finiti (FST – Finite State Transducer), costruito a partire dalla descrizione morfologica di base menzionata in precedenza e in grado di generare tutte le forme di parola teoricamente possibili secondo tale descrizione. Questa soluzione consente non solo di indicizzare e trovare con precisione tutte le forme di parola desiderate, ma anche di accelerare l’indicizzazione di centinaia di volte e di ottenere risultati di ricerca sfruttando diverse relazioni semantiche e tenendo conto di ulteriori informazioni tassonomico-semantiche. Per esempio, se nella query viene specificata la parola «gyvatė» (serpente), il sistema cerca anche «angis», «barškuolė» e così via (cfr. fig. 9); se invece nella query si specifica «angis», tra i risultati della ricerca non compariranno «gyvačių» né «barškuolių» (Ralys, Dadurkevičius 2017). 15 Disponibile online: 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 Esempio di applicazione della morfologia della lingua lituana nel sistema open source per l’indicizzazione e la ricerca dei documenti Solr/Lucene 4. PROSPETTIVE Per ampliare l’applicazione dell’implementazione della morfologia della lingua lituana sulla piattaforma Hunspell, occorrerebbe svilupparne due varianti: una per la lingua normativa e una completa (lingua normativa e non normativa). La prima consentirebbe di continuare a svolgere attività di controllo ortografico e di fornire raccomandazioni per correggere le violazioni delle norme linguistiche; la seconda sarebbe adatta ad affrontare compiti applicativi di analisi della lingua viva. Un compito futuro altrettanto importante consiste nell’integrare costantemente il dizionario morfologico con le parole non incluse e quelle di nuova comparsa, correggere gli errori emersi nelle regole di flessione e nella classificazione delle parole e pubblicare almeno una volta all’anno le versioni più recenti .dic,.aff. Sfruttando l’esperienza già acquisita, sarebbe facile preparare anche una descrizione formale dei dialetti lituani (in particolare del samogitico) o della lingua dell’antica tradizione scritta lituana. 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