Lietuvių kalbos morfologija atvirojo kodo „Hunspell“ platformoje
Full text
VIRGINIJUS DADURKEVIČIUS
Université de Vilnius
MORPHOLOGIE DE LA LANGUE LITUANIENNE SUR LA PLATEFORME OPEN SOURCE HUNSPELL1
MOTS-CLÉS: linguistique informatique, langue lituanienne, grammaire, morphologie, analyse morphologique, vérification orthographique, indexation de texte, recherche, open source, Hunspell.
INTRODUCTION
Il y a plus de 100 ans, grâce aux efforts de Jonas Jablonskis (1901, 1918, 1922), la langue lituanienne a commencé à être normalisée et a été adaptée pour devenir le principal instrument d’unification de l’État. Dès la première Grammaire de la langue lituanienne de Jonas Jablonskis (1901), la phonétique, la morphologie et la syntaxe du lituanien ont été formalisées: les notions fondamentales ont été définies, et les règles de flexion des mots et de structure de la phrase ont été présentées (voir fig. 1).
FIG. 1. Extrait de la Grammaire de la langue lituanienne de Jonas Jablonskis, 19012
La contribution inestimable de Jonas Jablonskis à la normalisation du lexique lituanien et à l’explication des particularités sémantiques des mots.
Pendant longtemps, cela a pleinement suffi aux élèves et aux enseignants, aux écrivains et aux lecteurs, aux fonctionnaires et aux scientifiques. Avec l’apparition d’une innovation qui allait transformer la civilisation — les ordinateurs —, la grammaire et le lexique classiques ont dû « revêtir un habit neuf » et devenir pleinement adaptés aux nouveaux
1 Cet article s’appuie sur la communication La grammaire de la langue lituanienne dans le monde de l’open source, présentée à la 24e conférence internationale Jonas Jablonskis Ressources linguistiques numériques: orientations de développement et possibilités d’utilisation (29/09/2017); celle-ci était organisée par le Centre de recherche sur la langue standard de l’Institut de la langue lituanienne et par le Département de langue lituanienne de l’Université de Vilnius.
2 Illustration tirée de 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
une composante des technologies. Les besoins linguistiques en informatique se sont d’abord manifestés lors de l’encodage du texte (conversion des lettres en nombres), de la correction automatique des erreurs dans le texte saisi et de la césure du texte dans les colonnes alignées de part et d’autre. Un peu plus tard, ils sont devenus nécessaires pour la recherche d’information, l’analyse et la synthèse de la parole, la traduction automatique d’une langue à une autre, la compréhension automatique du contenu, l’analyse « émotionnelle » du texte, etc. Les phénomènes linguistiques devaient être formalisés avec précision et consignés sous une forme différente, compréhensible par les ordinateurs. Le plus important d’entre eux est la morphologie, car elle constitue le fondement de tout travail approfondi en linguistique informatique (syntaxe, analyse sémantique, etc.).
À la charnière du siècle, le programmeur de l’usine expérimentale « Bitas », Vytautas Zinkevičius (1996, 2000), a réalisé le premier travail de ce type. Pendant près de deux décennies, ce fut un outil irremplaçable et unique pour l’étude moderne de la langue lituanienne et ses applications informatiques. Ce système a été utilisé avec succès pour détecter les erreurs orthographiques dans les logiciels de traitement de texte, ainsi que pour réaliser des analyses et des synthèses morphologiques dans des travaux scientifiques et appliqués à l’Institut de la langue lituanienne, à l’Université Vytautas-Magnus (où ses travaux ont reçu le nom de « Lemuoklis ») et à l’Université de Vilnius. Une variante de ce système, adaptée à l’analyse de l’ancien lituanien, a même été créée (Gelumbeckaitė et al. 2012). Cependant, avec l’élargissement des besoins en linguistique informatique, les lacunes de ce système ont commencé à apparaître: des structures de données non standard et non sollicitées; un code fermé; une prise en charge incomplète des noms propres, de l’illatif, du duel, du futur des verbes primaires, ainsi que des formes abrégées et rares. Le code fermé constituait un obstacle particulièrement important au développement ultérieur du système: en pratique, seul son auteur pouvait modifier les données et l’algorithme.
Afin d’éviter les lacunes décrites précédemment et de créer une nouvelle génération de morphologie informatique du lituanien, les exigences suivantes ont été formulées:
1) utiliser et créer uniquement des logiciels libres;
2) seules les données, et non leur forme ni leur interprétation, peuvent présenter des caractéristiques propres à la langue lituanienne;
3) tout le code logiciel doit être universel et convenir à toute autre langue;
4) tirer parti des solutions appliquées avec succès à d’autres langues du monde.
La plateforme Hunspell 3répond bien aux exigences mentionnées. De plus, une fois la langue décrite de cette manière, il est ensuite facile de vérifier les erreurs orthographiques dans de nombreux (plus de 50) logiciels (OpenOffice, LibreOffice, Firefox, Chrome, Safari, InDesign, etc.), d’effectuer l’analyse et la synthèse morphologiques des mots, de lancer des recherches intelligentes dans les informations textuelles, etc.
3 Accès en ligne: 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
Cet article présente une nouvelle mise en œuvre de la morphologie du lituanien basée sur la plateforme Hunspell. Il examine les problèmes associés et les moyens de les résoudre, et présente des exemples de tests concluants et d’applications pratiques.
1. PARTICULARITÉS DE LA DESCRIPTION DU LITUANIEN AU FORMAT HUNSPELL
1.1. Origine de la plateforme Hunspell et principes généraux
La plateforme open source Hunspell s’est développée à partir des outils les plus simples de vérification orthographique Ispell4, Aspell5, MySpell6, etc. En les complexifiant progressivement et en les adaptant à des langues toujours plus diverses (notamment les langues agglutinantes — finnois, hongrois, turc, etc.), il est devenu possible de résoudre non seulement des problèmes de vérification orthographique, mais aussi des tâches d’analyse et de synthèse morphologiques. Les auteurs de cette plateforme, extrêmement populaire dans le monde, sont principalement des chercheurs et des ingénieurs-programmeurs d’origine hongroise (Trón et al. 2005). Il n’est pas étonnant que le premier élément de son nom, « Hun- », soit tiré du nom anglais de la Hongrie.
La morphologie d’une langue est décrite dans la plateforme Hunspell au moyen de deux fichiers texte: les règles de flexion sont consignées dans un fichier portant l’extension .aff, tandis qu’un fichier portant l’extension .dic contient un dictionnaire de formes de mots, accompagné d’informations morphologiques initiales et de renvois à un ou plusieurs groupes de règles de flexion susceptibles de s’appliquer en complément. On peut se représenter une règle particulière comme une instruction qui précise:
1) Quels éléments d’un mot du dictionnaire de formes peuvent être remplacés, et par quoi. Par exemple, dans la règle
SFX 85 čias ty [^š]čias is:Masc_Sg_Voc
« SFX » indique que la terminaison du mot est modifiée et qu’il est possible de remplacer « -čias » par « -ty ».
« PFX » indiquerait que le début du mot est modifié. La modification du milieu du mot n’est pas prévue.
2) Le numéro du groupe de règles de flexion auquel cette règle appartient. Un groupe peut comprendre une ou plusieurs règles, qui s’appliquent toujours conjointement. Dans l’exemple précédent, la règle appartient au groupe portant le numéro « 85 ».
3) Les conditions dans lesquelles la modification est possible (un formalisme particulier d’expressions régulières est utilisé). Dans notre exemple, la modification n’est possible qu’à condition que la terminaison du mot du dictionnaire de formes ne soit pas « -ščias » (par exemple, « vaikiščias »).
4) Les informations morphologiques associées à cette modification. Dans notre exemple, la modification de la terminaison du mot est associée à l’étiquette morphologique « Masc_Sg_Voc » (masculin, singulier, vocatif, par exemple « svety »).
4 Accès en ligne: https://www.cs.hmc.edu/~geoff/ispell.html.
5 Accès en ligne: http://aspell.net.
6 Accès en ligne: 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
On peut en apprendre davantage sur les principes de création des règles de flexion et d’indication des informations morphologiques de Hunspell sur le site web de cette plateforme7; les possibilités qu’offre cette plateforme pour décrire la morphologie de différentes langues ont été étudiées de manière assez approfondie dans la thèse de Tommi A. Pirinen (2014).
1.2. Exigences spécifiques pour la réalisation en lituanien
Pour qu’une telle formalisation de la langue convienne à l’analyse et à la synthèse morphologiques, à l’indexation de l’information textuelle et à la recherche, il faut satisfaire aux deux exigences suivantes:
1) seules les lemmes (formes vedettes) peuvent être inscrites dans le dictionnaire des formes de mots;
2) la dérivation par préfixation, suffixation et forme réfléchie doit figurer non pas dans le fichier .aff, mais dans le fichier .dic.
La première exigence est difficile à mettre en œuvre en lituanien en raison de la grande diversité des flexions verbales (environ 170 variantes), mais la possibilité qu’offre la plateforme Hunspell d’appeler une règle de flexion depuis une autre a aidé à résoudre ce problème. Bien que la profondeur de ces appels ne puisse être que de un, cela réduit considérablement la taille du fichier des règles de flexion, qui passe de plusieurs millions à quelques dizaines de milliers de lignes.
Le respect de la deuxième exigence augmente quelque peu la taille du fichier .dic car, par exemple, les dérivés préfixés, suffixés et réfléchis de même racine, tels que « imti », « paimti », « suimti » et « nesiimti », seront inscrits sur des lignes distinctes. Et ce n’est pas la seule conséquence négative de cette exigence: on peut facilement se tromper et omettre une forme dérivée, peu fréquente, d’un verbe ou d’un adjectif. Il est vrai que ce problème est traité de manière assez approfondie en sélectionnant les lemmes principalement non pas dans les dictionnaires publiés, mais dans les corpus de textes constitués.
1.3. Extraits des fichiers.dic et.aff lituaniens (exemples)
Des extraits de plusieurs fichiers .dic du lituanien (dictionnaires), avec les équivalents mis en évidence des mots exemples de Jono Jablonskio, sont présentés à la figure 2.
7 Disponible en ligne: 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
pierre des champs/118,122,132,137,141,145,157,159,9999 po:noun
laukan po:adverb
champ/1,3,7,10,12,14,20,21,30,9999 po:noun
Laukavičienė/738,740,745,9999 po:noun_family_name
...
invité/1467,1767,1775,1781,1784,1841,9999 po:adjective
invité/71,73,85,93,98,100,106,116,9999 po:noun
fait de recevoir des invités/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:nom_de_famille
coq/264,268,278,280,284,288,300,302,9999 po:nom
Gaidys/264,268,278,284,288,300,9999 po:nom_de_famille
...
peilinis/2036,9999 po:adjective
couteau/118,122,132,137,141,145,157,159,9999 po:nom
petit couteau/1,3,8,10,12,14,20,21,30,9999 po:noun
lac Peïpous/444,446,452,9999 po:noun_geographic_name
FIG. 2. Fragment du fichier .dic des formes de mots. Les nombres après la barre oblique indiquent les références aux groupes de règles de flexion adressables. Les références aux groupes de règles montrés à la FIG. 3 sont mises en évidence en rouge.
La figure 3 présente quelques extraits du fichier .aff contenant les règles de flexion du lituanien:
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
FIG. 3. Extraits du fichier de règles de flexion .aff. Plusieurs règles utilisées ensuite pour illustrer l’analyse morphologique sont mises en évidence.
BENDRINĖ KALBA 90 (2017)
www.bendrinekalba.lt
ISSN 2351–7204
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 6
En utilisant la description linguistique présentée dans les exemples et les outils d’analyse standard (indépendants de la langue) Hunspell, on obtiendrait la réponse suivante pour les mots exemples de Jonas Jablonskis (voir fig. 4).
FIG. 4. Exemple d’analyse morphologique des mots
2. DÉROULEMENT DU TRAVAIL ET RÉSULTATS
Une fois qu’une description linguistique complète a été établie au format Hunspell (c’est-à-dire que les fichiers .dic et.aff correspondants ont été créés), des possibilités pratiquement illimitées d’applications pratiques s’ouvrent, allant de la vérification de l’orthographe ou de la grammaire aux systèmes intelligents de recherche d’information. En raison de la morphologie assez complexe du lituanien (nombreuses règles et classes de règles) et de la nécessité d’ajuster la liste des lemmes à de grands corpus (plus d’un milliard de mots) reflétant l’état réel du lituanien écrit contemporain, il a fallu environ cinq ans, des premières tentatives à la création d’une version de la morphologie fonctionnant correctement. Les exemples présentés plus tôt dans cet article sont plutôt illustratifs et visent uniquement à faire comprendre l’idée; en réalité, les règles et leurs classes sont bien plus complexes, en particulier celles qui concernent les verbes.
Afin d’accélérer la mise au point de la morphologie et d’éviter les erreurs lors de la rédaction de milliers de règles et de leur attribution aux lemmes, une description morphologique initiale, plus abstraite que celle exigée par les spécifications de Hunspell, a d’abord été élaborée (règles dans un tableau MS Excel, lemmes et leur classification dans une base de données MS Access). Des outils logiciels ont également été créés pour convertir automatiquement ces structures initiales, plus faciles à lire et à comprendre pour un être humain, en fichiers .aff et.dic ou dans une autre forme déterminée par les spécificités de l’application. La version la plus récente des fichiers lituaniens .aff et.dic est disponible sur le site GitHub de l’auteur8.
Tout au long du processus de formalisation de la morphologie, les principales sources suivantes ont été utilisées:
8 Disponible en ligne: 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) Grammaire du lituanien contemporain (DLKG 2006);
2) Corpus du lituanien contemporain de l’université Vytautas-Magnus (ci-après VDU)9 – environ 140 millions de mots;
3) Corpus de traduction automatique de l’université de Vilnius10 – environ 800 millions de mots, dont environ 4 millions uniques;
4) Documents du Seimas de la République de Lituanie (ci-après LRS)11 – environ 400 millions de mots, dont environ 1 million uniques;
5) Dictionnaire du lituanien contemporain (DŽ 2006) – environ 60 000 lemmes;
6) Dictionnaire de la langue lituanienne12 – environ 500 000 articles;
7) Dictionnaire des mots internationaux (VTŽŽe) – environ 22 000 lemmes;
8) Dictionnaire des noms de famille lituaniens (LPŽ) (environ 80 000 noms de famille).
Au total, environ 5 000 classes de règles adressables ont été établies (18 000 règles individuelles). La répartition des classes de règles selon les parties du discours est présentée à la figure 5.
FIG. 5. Répartition des groupes de règles de flexion selon les parties du discours
Le fichier .dic (dictionnaire) a été constitué à partir de 171 000 lemmes. La répartition des lemmes selon les parties du discours est illustrée à la figure 6.
9 Disponible en ligne: http://tekstynas.vdu.lt/tekstynas/.
10 Disponible en ligne: https://www.versti.eu/.
11 Disponible en ligne: http://www.lrs.lt/.
12 Disponible en ligne: 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. Répartition des lemmes selon les parties du discours
Lors de la sélection, seuls les mots conformes au lituanien contemporain ont été retenus; les mots erronés, non lituaniens, déconseillés, offensants ou tombés en désuétude ont été écartés. Les noms propres ont en outre été répartis en noms de famille, prénoms, noms géographiques et autres cas. Cette sélection facilite l’application de la morphologie créée à la vérification orthographique et permet d’exploiter plus facilement les résultats de l’analyse aux étapes ultérieures de l’analyse de texte (syntaxe, reconnaissance des entités nommées, indexation et recherche).
La précision du nouvel analyseur morphologique est d’environ 98%, c’est-à-dire qu’en moyenne, l’analyseur morphologique interprète correctement 98 mots sur 100 (Kapočiūtė-Dzikienė et al. 2017). Les 2% de mots restants qui ne sont pas reconnus sont généralement des fautes d’orthographe, des mots d’autres langues (prénoms, noms de famille, citations de phrases, etc.), des mots déconseillés ou non normatifs, ainsi que des mots corrects qui n’ont pas été inclus dans la liste des lemmes.
3. APPLICATION PRATIQUE
3.1. Système d’analyse syntaxico-sémantique de VDU
La morphologie du lituanien nouvellement créée sur la plateforme Hunspell a été adaptée, entre 2011 et 2015, au système d’analyse syntaxico-sémantique de VDU13 afin de vérifier l’orthographe et la grammaire et d’effectuer des analyses morphologiques et syntaxiques des textes (voir fig. 7). L’analyse morphologique a été complétée par une désambiguïsation statistique-règle mixte (modèle de Markov caché, probabilités de trigrammes approximées selon un étalon-or, algorithme de Viterbi, quelques exceptions). Une présentation plus détaillée de la désambiguïsation en analyse morphologique figure dans la publication de Jurgita Kapočiūtė-Dzikienė, Erika Rimkutė et Loïc Boizou (2017).
13 Accès en ligne: 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: application de la morphologie du lituanien au système d’analyse syntaxico-sémantique de VDU
3.2. Système de recherche du registre des actes juridiques de LRS
Entre 2011 et 2013, parallèlement à la création d’une nouvelle morphologie du lituanien, celle-ci a été adaptée au système de recherche du registre des actes juridiques de la chancellerie de LRS14. Habituellement, dans de tels systèmes, avant la première recherche, tous les documents sont indexés par lemmatisation, c’est-à-dire que tous les mots des documents sont remplacés par leurs lemmes et que l’emplacement de chaque lemme est mémorisé. Avant l’exécution d’une requête, son texte est également lemmatisé de la même manière; la recherche trouve alors non seulement la forme du mot saisie dans la requête, mais aussi toute autre forme de ce mot figurant dans les documents recherchés. Comme il n’était pas possible d’utiliser directement les données .dic,.aff dans ce système, le format original requis par celui-ci (un fichier texte dont chaque ligne est [lemme] [partie du discours] → [liste des formes]) était généré à partir de la description morphologique source mentionnée précédemment. Bien que cette description permette de générer environ 15 millions de formes de mots théoriquement possibles, les limitations internes du système de recherche n’ont permis d’en utiliser qu’environ un million, parmi les plus fréquentes. Cette solution s’est avérée efficace: la recherche fonctionne assez bien et est encore utilisée aujourd’hui (voir fig. 8).
14 Accès en ligne: 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. Application de la morphologie du lituanien dans la recherche du Registre des actes juridiques du LRS
4.3. Système open source d’indexation et de recherche de documents Solr/Lucene15
Afin de tirer davantage parti des avantages et de l’expérience de l’open source acquis lors de la mise en œuvre de la morphologie du lituanien dans le Registre des actes juridiques, un système d’indexation et de recherche de documents lituaniens a été créé sur la base de Solr/Lucene. L’utilisation directe des données .dic,.aff dans ce système est possible, mais très inefficace; elle a donc été remplacée par un transducteur à états finis (FST – Finite State Transducer), constitué à partir de la description morphologique primaire mentionnée précédemment et générant toutes les formes de mots théoriquement possibles selon cette description. Cette solution permet non seulement d’indexer avec précision et de retrouver toutes les formes de mots souhaitées, mais aussi d’accélérer l’indexation de plusieurs centaines de fois et d’obtenir des résultats de recherche en exploitant divers liens sémantiques, tout en tenant compte d’informations taxonomiques et sémantiques supplémentaires. Par exemple, si la requête contient le mot « gyvatė » (serpent), le système recherche également « angis », « barškuolė », etc. (voir fig. 9); en revanche, si la requête contient le mot « angis », les résultats de recherche ne comprennent ni « gyvačių » ni « barškuolių » (Ralys, Dadurkevičius 2017).
15 Disponible en ligne: 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. Exemple d’application de la morphologie du lituanien dans le système open source d’indexation et de recherche de documents Solr/Lucene
4. PERSPECTIVES
Pour étendre l’application de la mise en œuvre de la morphologie du lituanien sur la plateforme Hunspell, il conviendrait de développer deux variantes: une variante normative et une variante complète (langue normative et non normative). La première permettrait de continuer à effectuer des tâches de vérification orthographique et de formuler des recommandations pour corriger les écarts aux normes linguistiques; la seconde conviendrait aux tâches appliquées d’analyse de la langue vivante.
Une tâche future tout aussi importante consiste à enrichir continuellement le dictionnaire morphologique avec les mots qui en sont absents et les mots nouvellement apparus, à corriger les erreurs mises au jour dans les règles de flexion et la classification des mots, et à publier au moins une fois par an les versions les plus récentes de .dic,.aff.
En s’appuyant sur l’expérience déjà acquise, il serait facile de préparer également une description formelle des dialectes lituaniens (en particulier du samogitien) ou de l’ancienne langue des écrits lituaniens.
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