Go to originalLocalized version was produced by AI. It may contain inaccuracies.
Preparing document pages…
9 short passages of this localized version are shown in the original language because they could not be localized reliably.
Page 1
VIRGINIJUS DADURKEVIČIUS
Universidade de Vilnius
MORFOLOGIA DA LÍNGUA LITUANA NA PLATAFORMA DE CÓDIGO ABERTO HUNSPELL1
PALAVRAS-CHAVE: linguística computacional, língua lituana, gramática, morfologia, análise morfológica, verificação ortográfica, indexação de texto, pesquisa, código aberto, Hunspell.
INTRODUÇÃO
Há mais de 100 anos, graças aos esforços de Jono Jablonskio (1901, 1918, 1922), a língua lituana começou a ser normatizada e foi adaptada para ser o principal meio de unificação do Estado. Já na primeira Gramática da língua lituana de Jono Jablonskio Lietuviškos kalbos gramatikoje (1901), a fonética, a morfologia e a sintaxe da língua lituana foram formalizadas: definiram-se os conceitos básicos e apresentaram-se regras de flexão das palavras e de estrutura da frase (ver Fig. 1).
FIG. 1. Trecho da Lietuviškos kalbos gramatikos de Jono Jablonskio, 19012
A contribuição inestimável de Jono Jablonskio para a normatização do léxico da língua lituana e para a explicação das particularidades semânticas das palavras.
Durante muito tempo, isso foi inteiramente suficiente para alunos e professores, escritores e leitores, funcionários públicos e cientistas. Com o surgimento dos computadores, uma inovação que transformou a civilização, tornou-se necessário que a gramática e o léxico clássicos «vestissem uma roupa nova» e se tornassem plenamente aptos às novas
1 O artigo foi preparado com base na comunicação Gramática da língua lituana no mundo do código aberto, apresentada na 24.ª conferência internacional de Jono Jablonskis, Recursos linguísticos digitais, suas linhas de desenvolvimento e possibilidades de utilização (29/09/2017); foi organizada pelo Centro de Pesquisa da Língua Padrão do Instituto da Língua Lituana e pelo Departamento de Língua Lituana da Universidade de Vilnius.
2 Figura de http://www.epaveldas.lt/vbspi/biRecord.do?biRecordId=25383.
BENDRINĖ KALBA 90 (2017)
www.bendrinekalba.lt
ISSN 2351–7204
Page 2
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 2
parte das tecnologias. Inicialmente, conhecimentos linguísticos tornaram-se necessários nos computadores para codificar textos (convertendo letras em números), corrigir automaticamente erros no texto digitado e hifenizar textos em colunas alinhadas lado a lado. Mais tarde, passaram a ser necessários para a recuperação de informação, a análise e a síntese da fala, a tradução automática de uma língua para outra, a compreensão automática de conteúdos, a análise «sentimental» de textos etc. Os conhecimentos linguísticos tinham de ser formalizados minuciosamente e registados de outra forma, compreensível pelos computadores. O mais importante desses conhecimentos é a morfologia, pois constitui a base de quaisquer trabalhos mais aprofundados de linguística computacional (sintaxe, análise semântica etc.).
O primeiro trabalho deste tipo, na viragem do século, foi realizado por Vytautas Zinkevičius, programador da fábrica experimental «Bitas» (1996, 2000). Durante quase duas décadas, foi um recurso insubstituível e único para a investigação contemporânea da língua lituana e para aplicações computacionais. O sistema foi utilizado com êxito para detetar erros ortográficos em programas de edição de texto, bem como para realizar análises e sínteses morfológicas em trabalhos científicos e aplicados no Instituto da Língua Lituana, na Universidade Vytautas Magnus (onde os seus trabalhos receberam o nome «Lemuoklis») e na Universidade de Vilnius. Chegou a ser criada uma variante do sistema adaptada à análise do lituano antigo (Gelumbeckaitė et al. 2012). No entanto, à medida que as necessidades da linguística computacional se ampliaram, começaram a evidenciar-se as limitações do sistema: estruturas de dados não padronizadas e não solicitadas; código fechado; implementação incompleta de nomes próprios, ilativo, dual, futuro dos verbos primários, formas contraídas e raras. O código fechado era especialmente prejudicial ao desenvolvimento posterior do sistema: na prática, só o próprio autor podia alterar os dados e o algoritmo.
Para evitar as limitações descritas anteriormente e criar uma morfologia computacional da língua lituana de nova geração, foram estabelecidos os seguintes requisitos:
1) utilizar e desenvolver apenas código aberto;
2) apenas os dados, e não a sua forma ou interpretação, podem ter características específicas da língua lituana;
3) todo o código do programa deve ser universal e adequado a qualquer outra língua;
4) aproveitar soluções aplicadas com êxito a outras línguas do mundo.
A plataforma Hunspell3satisfaz bem os requisitos mencionados. Além disso, depois de descrever a língua desta forma, é fácil verificar erros ortográficos em muitas (mais de 50) aplicações (OpenOffice, LibreOffice, Firefox, Chrome, Safari, InDesign etc.), realizar análises e sínteses morfológicas de palavras, efetuar pesquisas inteligentes de informação textual, entre outras tarefas.
3 Acesso na Internet: https://en.wikipedia.org/wiki/Hunspell.
BENDRINĖ KALBA 90 (2017)
www.bendrinekalba.lt
ISSN 2351–7204
Page 3
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 3
Este artigo apresenta uma nova implementação da morfologia da língua lituana baseada na plataforma Hunspell. São discutidos os problemas relacionados e as formas de resolvê-los, e são apresentados exemplos de testes bem-sucedidos e de aplicação prática.
1. PARTICULARIDADES DA DESCRIÇÃO DA LÍNGUA LITUANA NO FORMATO HUNSPELL
1.1. Pressupostos para o surgimento da plataforma Hunspell e princípios gerais
A plataforma de código aberto Hunspell desenvolveu-se a partir das ferramentas mais simples de verificação ortográfica, como Ispell4, Aspell5, MySpell6, entre outras. Gradualmente, à medida que essas ferramentas se tornaram mais sofisticadas e foram adaptadas a uma variedade cada vez maior de línguas (especialmente as aglutinantes — finlandês, húngaro, turco etc.), tornou-se possível solucionar não apenas tarefas de verificação ortográfica, mas também de análise e síntese morfológicas. Os autores dessa plataforma extremamente popular em todo o mundo são, em sua maioria, cientistas e engenheiros-programadores de origem húngara (Trón et al. 2005). Não é de surpreender que o primeiro elemento do nome, «Hun-», derive do nome da Hungria em inglês.
A morfologia de uma língua na plataforma Hunspell é descrita em dois arquivos de texto: as regras de flexão são registradas no arquivo com a extensão .aff, enquanto o arquivo com a extensão .dic contém um dicionário de formas de palavras, com informações morfológicas básicas e referências a um ou mais grupos de regras de flexão que também podem ser aplicados. É possível imaginar uma regra específica como uma instrução que indica:
1) O que pode ser substituído e por quê na palavra do dicionário de formas. Por exemplo, na regra
SFX 85 čias ty [^š]čias is:Masc_Sg_Voc
«SFX» indica que se altera o final da palavra, e que «-čias» pode ser substituído por «-ty».
«PFX» indicaria que se altera o início da palavra. Não estão previstas alterações no meio da palavra.
2) O número do grupo de regras de flexão ao qual pertence esta regra. Um grupo pode ser composto por uma ou mais regras, que são sempre aplicadas em conjunto. No exemplo anterior, a regra pertence ao grupo de número «85».
3) As condições em que a substituição é possível (aplica-se um formalismo específico de expressões regulares). No nosso exemplo, a substituição só é possível se o final da palavra no dicionário de formas não for «-ščias» (por exemplo, «vaikiščias»).
4) A informação morfológica associada a essa substituição. No nosso exemplo, essa alteração do final da palavra está associada à etiqueta morfológica «Masc_Sg_Voc» (gênero masculino, singular, caso vocativo, por exemplo, «svety»).
4 Acesso à internet: https://www.cs.hmc.edu/~geoff/ispell.html.
5 Acesso à internet: http://aspell.net.
6 Acesso à internet: https://code.google.com/archive/a/apache-extras.org/p/ooo-myspell.
BENDRINĖ KALBA 90 (2017)
www.bendrinekalba.lt
ISSN 2351–7204
Page 4
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 4
Mais informações sobre os princípios de elaboração de regras flexionais e de especificação de informações morfológicas do Hunspell podem ser encontradas no sítio desta plataforma7; as possibilidades de descrição da morfologia de várias línguas nesta plataforma foram estudadas bastante a fundo na dissertação de Tommi A. Pirinen (2014).
1.2. Requisitos específicos para a implementação lituana
Para que essa formalização da língua seja adequada à análise e à síntese morfológicas, bem como à indexação e à pesquisa de informação textual, é necessário cumprir os dois requisitos seguintes:
1) o dicionário de formas de palavras só pode conter lemas (formas de entrada);
2) a derivação por prefixação, sufixação e reflexividade deve estar representada não no ficheiro .aff, mas no ficheiro .dic.
O primeiro requisito não é fácil de cumprir em lituano, devido à grande variedade de flexões verbais (cerca de 170 variantes), mas a possibilidade da plataforma Hunspell de encadear uma regra flexional a outra ajudou a resolver esse problema. Embora a «profundidade» desses encadeamentos só possa ser igual a um, isso reduz consideravelmente o tamanho do ficheiro de regras flexionais — de vários milhões para algumas dezenas de milhares de linhas.
O cumprimento do segundo requisito aumenta um pouco o tamanho do ficheiro .dic, pois, por exemplo, os derivados prefixais, sufixais e reflexivos da mesma raiz — «imti», «paimti», «suimti» e «nesiimti» — serão inseridos em linhas separadas. E essa não é a única consequência negativa do requisito: é fácil cometer um erro e deixar de incluir algum derivado verbal ou adjetival de uso menos frequente. É verdade que esse problema é resolvido de forma bastante abrangente selecionando lemas sobretudo não em dicionários publicados, mas em corpora compilados.
1.3. Fragmentos dos arquivos.dic e.aff lituanos (exemplos)
Alguns fragmentos do ficheiro .dic (dicionário) da língua lituana, com os equivalentes dos exemplos de palavras de Jonas Jablonskis destacados, são apresentados na Figura 2.
7 Acesso em linha: https://github.com/hunspell/hunspell.
BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204
Page 5
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 5
FIG. 2. Excerto do arquivo de formas de palavras .dic. Os números após a barra indicam referências aos grupos de regras de flexão acessíveis. As referências destacadas a vermelho apontam para os grupos de regras apresentados na FIG. 3.
A Figura 3 apresenta alguns fragmentos do arquivo .aff de regras de flexão da língua 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 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 é iuos. is:Masc_Pl_Loc_short
SFX 145 ys iuos. is:Masc_Pl_Loc_short
FIG. 3. Fragmentos do arquivo .aff de regras de flexão. Algumas regras usadas adiante para ilustrar a análise morfológica estão destacadas em negrito.
BENDRINĖ KALBA 90 (2017)
www.bendrinekalba.lt
ISSN 2351–7204
Page 6
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 6
Aplicando a descrição da língua apresentada nos exemplos e os recursos de análise padrão (independentes da língua) Hunspell, obteríamos a seguinte resposta para os exemplos de palavras de Jono Jablonskio (ver Fig. 4).
FIG. 4. Exemplo de análise morfológica de palavras
2. ETAPAS DO TRABALHO E RESULTADOS
Quando já se dispõe de uma descrição completa da língua no formato Hunspell (isto é, quando são criados os ficheiros .dic e.aff correspondentes), abrem-se possibilidades praticamente ilimitadas de aplicações práticas — desde a verificação ortográfica ou gramatical até aos sistemas inteligentes de pesquisa de informação. Devido à morfologia bastante complexa do lituano (muitas regras e grupos de regras) e à necessidade de ajustar a lista de lemas a grandes corpora (com mais de 1 mil milhões de palavras), que refletem o estado real do lituano escrito contemporâneo, foram necessários cerca de cinco anos, desde as primeiras tentativas até à criação de uma versão da morfologia que funcionasse sem problemas. Os exemplos apresentados anteriormente neste artigo são sobretudo ilustrativos, destinando-se apenas a ajudar a compreender a ideia; na realidade, as regras e os seus grupos são muito mais complexos, em especial os relacionados com os verbos.
Para acelerar o desenvolvimento da morfologia e evitar erros ao enumerar milhares de regras e atribuí-las aos lemas, criou-se inicialmente uma descrição morfológica preliminar, mais abstrata do que a exigida pelas especificações do Hunspell (regras — numa folha de cálculo do MS Excel; lemas e respetiva classificação — numa base de dados do MS Access). Foram também criadas ferramentas de software para converter automaticamente estas estruturas preliminares, mais fáceis de ler e compreender por pessoas, em ficheiros .aff e.dic ou noutro formato definido pelas especificidades da aplicação. A versão mais recente dos ficheiros lituanos .aff e.dic está disponível no sítio GitHub do autor8.
Durante todo o processo de formalização da morfologia, foram utilizadas as seguintes fontes principais:
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 7
1) Gramática do lituano contemporâneo (DLKG 2006);
2) Corpus do lituano contemporâneo da Universidade Vytautas Magnus (doravante, VDU)9 — cerca de 140 milhões de palavras;
3) Corpus de tradução automática da Universidade de Vilnius10 — cerca de 800 milhões de palavras, cerca de 4 milhões de palavras únicas;
4) Documentos do Seimas da República da Lituânia (doravante, LRS)11 — cerca de 400 milhões de palavras, cerca de 1 milhão de palavras únicas;
5) Dicionário do lituano contemporâneo (DŽ 2006) — cerca de 60 mil lemas;
6) Dicionário da língua lituana12 — cerca de 500 mil entradas;
7) Dicionário de palavras internacionais (VTŽŽe) — cerca de 22 mil lemas;
8) Dicionário de apelidos lituanos (LPŽ) (cerca de 80 mil apelidos).
No total, foram definidos cerca de 5 000 grupos de regras endereçáveis (18 000 regras individuais). A distribuição dos grupos de regras por classes gramaticais é apresentada na Figura 5.
FIG. 5. Distribuição dos grupos de regras flexionais por classes gramaticais
.dic o ficheiro (dicionário) foi compilado a partir de 171 000 lemas. A distribuição dos lemas por classes gramaticais está ilustrada na Figura 6.
BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204
Page 8
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 8
FIG. 6. Distribuição dos lemas por classes gramaticais
Na seleção, limitou-se a língua lituana contemporânea correta e evitaram-se palavras incorretas, não lituanas, inadequadas, ofensivas ou em desuso. Os nomes próprios foram adicionalmente divididos em apelidos, nomes próprios, topónimos e outros casos. Essa seleção facilita a aplicação da morfologia desenvolvida à verificação ortográfica e permite utilizar mais facilmente os resultados da análise nas etapas posteriores da análise textual (sintaxe, reconhecimento de entidades nomeadas, indexação e pesquisa).
A precisão do novo analisador morfológico é de cerca de 98%, isto é, em média, o analisador morfológico interpreta corretamente 98 em cada 100 palavras (Kapočiūtė-Dzikienė et al. 2017). Os 2% restantes de palavras não reconhecidas consistem geralmente em erros ortográficos, palavras de outras línguas (nomes próprios, apelidos, citações de frases, etc.), palavras inadequadas ou não normativas e palavras corretas que não foram incluídas na lista de lemas.
3. APLICAÇÃO PRÁTICA
3.1. Sistema de análise sintático-semântica da VDU
A morfologia da língua lituana recentemente desenvolvida na plataforma Hunspell foi aplicada, entre 2011 e 2015, no sistema de análise sintático-semântica da VDU13 para verificar a ortografia e a gramática e realizar a análise morfológica e sintática dos textos (ver Fig. 7). A análise morfológica foi complementada com desambiguação estatística baseada em regras, de natureza híbrida (modelo oculto de Markov, probabilidades de trigramas aproximadas de acordo com um padrão-ouro, algoritmo de Viterbi e algumas exceções). A desambiguação na análise morfológica é abordada mais detalhadamente na publicação de Jurgita Kapočiūtė-Dzikienė, Erika Rimkutė e Loïc Boizou (2017).
BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351-7204
Page 9
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 9
FIG. 7. Aplicação da morfologia da língua lituana do Hunspell no sistema de análise sintático-semântica da VDU
3.2. Sistema de pesquisa do registo de atos jurídicos do LRS
Entre 2011 e 2013, paralelamente ao desenvolvimento da nova morfologia da língua lituana, decorreu a sua aplicação no sistema de pesquisa do Registo de Atos Jurídicos da Chancelaria do LRS14. Normalmente, nesses sistemas, antes de se efetuar a primeira pesquisa, todos os documentos são indexados por lematização, isto é, todas as palavras dos documentos são substituídas pelos seus lemas e regista-se onde aparece cada lema. Antes de executar a consulta de pesquisa, o seu texto também é lematizado do mesmo modo; assim, posteriormente, é encontrada não só a forma da palavra escrita na consulta, mas também qualquer outra forma dessa palavra presente nos documentos pesquisados. Como não era possível utilizar diretamente os dados .dic,.aff neste sistema, o formato original necessário ao sistema (um ficheiro de texto em que cada linha corresponde a [lema] [classe gramatical] → [lista de formas]) era gerado a partir da descrição morfológica de origem mencionada anteriormente. Embora dessa descrição seja possível gerar cerca de 15 milhões de formas de palavras teoricamente possíveis, devido às limitações internas do sistema de pesquisa, foram utilizadas apenas cerca de 1 milhão das mais frequentes. Esta solução mostrou-se eficaz: a pesquisa funciona de forma bastante fluida e continua a ser utilizada até hoje (ver Fig. 8).
14 Acesso online: https://www.e-tar.lt
BENDRINĖ KALBA 90 (2017)
www.bendrinekalba.lt
ISSN 2351–7204
Page 10
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 10
FIG. 8. Aplicação da morfologia da língua lituana na pesquisa do Registro de Atos Jurídicos do LRS
4.3. Sistema de código aberto para indexação e pesquisa de documentos Solr/Lucene15
Para aproveitar mais amplamente as vantagens e a experiência acumuladas com a implementação da morfologia da língua lituana no Registro de Atos Jurídicos, foi criado um sistema de indexação e pesquisa de documentos lituanos com base em Solr/Lucene. A aplicação direta dos dados .dic,.aff nesse sistema é possível, mas muito ineficiente; por isso, foi substituída por um transdutor de estados finitos (FST – Finite State Transducer), constituído a partir da descrição morfológica primária mencionada anteriormente e que gera todas as formas de palavras teoricamente possíveis segundo essa descrição. Essa solução permite não apenas indexar e encontrar com precisão todas as formas de palavras desejadas, mas também acelerar a indexação centenas de vezes e obter resultados de pesquisa usando diversas relações semânticas, levando em conta informações taxonômicas e semânticas adicionais. Por exemplo, se a consulta especificar a palavra “gyvatė” (cobra), o sistema também pesquisará “angis”, “barškuolė” e assim por diante (ver Fig. 9); já se a consulta especificar “angis”, os resultados da pesquisa não incluirão “gyvačių” nem “barškuolių” (Ralys, Dadurkevičius 2017).
15 Acesso pela internet: http://lucene.apache.org/solr/.
BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204
Page 11
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 11
FIG. 9. Exemplo da aplicação da morfologia da língua lituana em um sistema de código aberto para indexação e pesquisa de documentos Solr/Lucene
4. PERSPECTIVAS
Para ampliar a aplicação da implementação da morfologia da língua lituana na plataforma Hunspell, seria necessário desenvolver duas de suas vertentes: uma versão da língua normativa e uma versão completa (língua normativa e não normativa). A primeira versão permitiria continuar realizando tarefas de verificação ortográfica e oferecendo recomendações para corrigir violações das normas linguísticas; a segunda seria adequada para resolver tarefas aplicadas de análise da língua viva.
Uma tarefa futura igualmente importante é atualizar continuamente o dicionário morfológico com palavras ainda não incluídas e palavras recém-surgidas, corrigir os erros identificados nas regras de flexão e na classificação das palavras e publicar pelo menos uma vez por ano as versões mais recentes de .dic,.aff.
Com a experiência já acumulada, seria fácil preparar também uma descrição formal dos dialetos lituanos (especialmente o samogítico) ou da língua dos antigos textos lituanos.
BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204
Page 12
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
Page 13
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:
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.
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
Page 15
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.