scieee AI-readable full text Open interactive document viewer

Lietuvių kalbos morfologija atvirojo kodo „Hunspell“ platformoje

Virginijus Dadurkevičius

Full text

VIRGINIJUS DADURKEVIČIUS Vilnius Üniversitesi AÇIK KAYNAKLI HUNSPELL PLATFORMUNDA LİTVANYA DİLİ MORFOLOJİSİ1 TEMEL SÖZCÜKLER: bilgisayarlı dilbilim, Litvanya dili, dilbilgisi, morfoloji, morfolojik çözümleme, yazım denetimi, metin dizinleme, arama, açık kaynak, Hunspell. GİRİŞ 100 yılı aşkın süre önce, Jono Jablonskio’nun çabalarıyla (1901, 1918, 1922) Litvanya dili standartlaştırılmaya başlandı ve devleti birleştiren başlıca araç olacak şekilde uyarlandı. Daha Jono Jablonskio’nun ilk Lietuviškos kalbos gramatikoje (1901) adlı eserinde Litvanya dilinin fonetiği, morfolojisi ve sözdizimi biçimselleştirilmişti: temel kavramlar tanımlanmış, sözcük çekimi ve cümle yapısına ilişkin kurallar sunulmuştu (bk. Şekil 1). ŞEKİL 1. Jono Jablonskio’nun Lietuviškos kalbos gramatikos 19012 adlı eserinden bir alıntı Jono Jablonskio’nun Litvanya dilinin söz varlığını standartlaştırma ve sözcüklerin anlamsal özelliklerini açıklama konusundaki katkısı paha biçilmezdir. Uzun süre bu, öğrenciler ve öğretmenler, yazarlar ve okurlar, memurlar ve bilim insanları için tamamen yeterli oldu. Uygarlığı değiştiren bir yenilik olan bilgisayarların ortaya çıkmasıyla, klasik dilbilgisi ve söz varlığının “yeni bir giysi giymesi” ve yeni çağın tam donanımlı bir parçası hâline gelmesi gerekliliği doğdu 1 Bu makale, Lietuvių kalbos gramatika atvirojo kodo pasaulyje başlıklı ve 24. Jono Jablonskio Uluslararası Konferansı’nda Skaitmeniniai kalbos ištekliai, jų plėtros kryptys ir panaudos galimybės (29.09.2017) sunulan bildiriden hazırlanmıştır; konferans, Litvanya Dili Enstitüsü Genel Dil Araştırmaları Merkezi ile Vilnius Üniversitesi Litvanya Dili Bölümü tarafından düzenlenmiştir. 2 Görsel 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 teknolojilerin bir parçası. Başlangıçta bilgisayarlarda dilbilimsel araçlara metin kodlamak (harfleri sayılara dönüştürmek), girilen metindeki hataları otomatik olarak düzeltmek ve çift taraflı hizalama sütunlarındaki metni hecelemek için ihtiyaç duyuldu. Bir süre sonra bilgi arama, konuşma analizi ve sentezi, bir dilden diğerine makine çevirisi, içeriğin otomatik olarak anlaşılması, metnin “duygusal” analizi vb. amaçlarla da kullanılmaya başlandı. Dilbilimsel araçların ayrıntılı biçimde resmileştirilmesi ve bilgisayarların anlayabileceği farklı bir biçimde yazılması gerekiyordu. Bunların en önemlisi morfolojidir; çünkü morfoloji, bilgisayarlı dilbilimin her türlü derinlemesine çalışmasının (sözdizimi, anlamsal analiz vb.) temelini oluşturur. Yüzyıl dönümünde bu türden ilk çalışmayı, deney fabrikası „Bitas“ın programcısı Vytautas Zinkevičius gerçekleştirdi (1996, 2000). Yaklaşık yirmi yıl boyunca bu sistem, çağdaş Litvanca araştırmaları ve bilgisayar uygulamaları için vazgeçilmez ve tek araç oldu. Sistem, metin düzenleme programlarında yazım hatalarını saptamak ve Litvanca Dil Enstitüsü'nde, Vytautas Magnus Üniversitesi'nde (buradaki çalışmaları „Lemuoklis“ adını aldı) ve Vilnius Üniversitelerinde bilimsel ve uygulamalı çalışmalar kapsamında morfolojik analiz ve sentez yapmak için başarıyla kullanıldı. Hatta bu sistemin Eski Litvancayı çözümlemek üzere uyarlanmış bir sürümü de geliştirildi (Gelumbeckaitė et al. 2012). Ancak bilgisayarlı dilbilime yönelik ihtiyaçlar arttıkça sistemin eksiklikleri belirginleşmeye başladı: standart dışı ve talep edilmemiş veri yapıları; kapalı kaynak kod; özel adların, ilatifin, ikili sayının, birincil fiillerin gelecek zamanının, kısalmış ve seyrek biçimlerin yetersiz biçimde gerçekleştirilmesi. Sistemin daha da geliştirilmesini özellikle kapalı kaynak kod engelliyordu; verileri ve algoritmayı pratikte yalnızca yazarın kendisi değiştirebiliyordu. Daha önce açıklanan eksikliklerden kaçınmak ve yeni nesil bir bilgisayarlı Litvanca morfolojisi geliştirmek amacıyla şu gereklilikler belirlendi: 1) yalnızca açık kaynak kod kullanmak ve geliştirmek; 2) Litvancaya özgü özellikler yalnızca verilerde bulunabilir; verilerin biçiminde veya yorumlanmasında bulunamaz; 3) tüm yazılım kodu evrensel olmalı ve başka herhangi bir dil için de uygun olmalıdır; 4) dünyanın diğer dillerine başarıyla uyarlanmış çözümlerden yararlanmak. Belirtilen gereklilikleri Hunspell platformu3 iyi karşılamaktadır. Ayrıca, dil bu şekilde tanımlandığında daha sonra birçok (50'den fazla) uygulamada (OpenOffice, LibreOffice, Firefox, Chrome, Safari, InDesign vb.) yazım hataları kolayca denetlenebilir; sözcüklerin morfolojik analizi ve sentezi yapılabilir, metinsel bilgi için akıllı arama gerçekleştirilebilir vb. 3 İnternet adresi: 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 Šiame straipsnyje apžvelgiamas naujas lietuvių kalbos morfologijos realizavimas Hunspell platformos pagrindu. Aptariamos su tuo susijusios problemos ir jų sprendimo būdai, pateikiami sėkmingo testavimo ir praktinio taikymo pavyzdžiai. 1. LİTVANYA DİLİNİN HUNSPELL BİÇİMİNDE TANIMLANMASININ ÖZELLİKLERİ 1.1. Hunspell platformunun ortaya çıkışının önkoşulları ve genel ilkeleri Açık kaynaklı Hunspell platformu, en basit yazım denetimi araçları olan Ispell4, Aspell5, MySpell6 ve benzerlerinden gelişmiştir. Bunlar giderek karmaşıklaştırılıp çok çeşitli dillere (özellikle Fince, Macarca, Türkçe gibi eklemeli dillere) uyarlandıkça, yalnızca yazım denetimi değil, morfolojik çözümleme ve üretim görevlerini de çözmek mümkün hâle geldi. Dünyada son derece popüler olan bu platformun yazarları çoğunlukla Macar kökenli bilim insanları ve mühendis-programcılardır (Trón ir kt. 2005). Adının ilk öğesi olan “Hun-”un, Macaristan’ın İngilizce adından geldiği şaşırtıcı değildir. Dilbilgisel biçimbilimi Hunspell platformunda iki metin dosyası tanımlar: .aff uzantılı dosyada çekim kuralları, .dic uzantılı dosyada ise başlangıçtaki morfolojik bilgiler ve uygulanabilecek bir veya birkaç çekim kuralı grubuna yönelik başvurularla birlikte sözcük biçimleri sözlüğü kaydedilir. Tek bir kural, şu bilgileri veren bir talimat olarak düşünülebilir: 1) Biçimler sözlüğündeki sözcükte neyin neye dönüştürülebileceği. Örneğin, şu kuralda SFX 85 čias ty [^š]čias is:Masc_Sg_Voc “SFX”, sözcüğün sonunun değiştirildiğini, “-čias”ın ise “-ty” olarak değiştirilebileceğini belirtir. “PFX”, sözcüğün başının değiştirildiğini belirtir. Sözcüğün ortasındaki değişiklikler öngörülmemiştir. 2) Bu kuralın ait olduğu çekim kuralları grubunun numarası. Bir grup, her zaman birlikte uygulanan bir ya da birkaç kuraldan oluşabilir. Önceki örnekte kural, numarası “85” olan gruba aittir. 3) Değişikliğin yapılabileceği koşullar (belirli bir düzenli ifadeler biçimciliği uygulanır). Örneğimizde değişiklik, yalnızca biçimler sözlüğündeki sözcüğün sonu “-ščias” olmadığında mümkündür (ör. “vaikiščias”). 4) Bu değişiklikle ilişkili morfolojik bilgi. Örneğimizde, sözcük sonundaki bu değişiklikle “Masc_Sg_Voc” morfolojik etiketi ilişkilendirilmiştir (eril cinsiyet, tekil, seslenme hâli; ör. “svety”). 4 İnternet erişimi: https://www.cs.hmc.edu/~geoff/ispell.html. 5 İnternet erişimi: http://aspell.net. 6 İnternet erişimi: 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 Hunspell çekim kurallarının oluşturulması ve morfolojik bilginin belirtilmesi ilkeleri hakkında daha ayrıntılı bilgiye bu platformun web sitesinden7 ulaşılabilir; çeşitli dillerin morfolojisinin bu platformda tanımlanma olanakları ise Tommi A. Pirinen'in doktora tezinde (2014) oldukça kapsamlı biçimde incelenmiştir. 1.2. Litvanca uygulamasına özgü gereklilikler Bu tür bir dil biçimselleştirmesinin biçimbilimsel çözümleme ve üretim, metinsel bilgilerin dizinlenmesi ve aranması için uygun olması amacıyla şu iki gereksinim karşılanmalıdır: 1) sözcük biçimleri sözlüğüne yalnızca lemalar (başlık biçimleri) eklenebilir; 2) önekli, sonekli ve dönüşlü türetme, .aff dosyasında değil, .dic dosyasında yansıtılmalıdır. Litvancada ilk gerekliliği, fiil çekimlerinin büyük çeşitliliği (yaklaşık 170 biçim) nedeniyle uygulamak kolay değildir; ancak Hunspell platformunun bir çekim kuralından diğerini çağırabilme özelliği bu sorunun çözülmesine yardımcı olmuştur. Bu tür çağrıların “derinliği” yalnızca bir olabilse de çekim kuralları dosyasının boyutunu birkaç milyondan on binlerce satıra önemli ölçüde düşürür. İkinci gerekliliğin karşılanması .dic dosyasının boyutunu bir miktar artırır; çünkü örneğin aynı kökten türeyen „imti“, „paimti“, „suimti“ ve „nesiimti“ ön ekli–son ekli–dönüşlü türevler ayrı satırlara yazılacaktır. Bu, söz konusu gerekliliğin tek olumsuz sonucu da değildir – daha az kullanılan bir fiil ya da sıfat türevini gözden kaçırmak ve listeye almamak kolayca mümkündür. Gerçi bu sorun, lemalar öncelikle yayımlanmış sözlüklerden değil, derlenmiş metin derlemlerinden seçilerek oldukça kapsamlı biçimde çözülebilir. 1.3. Litvanca.dic ve.aff dosyalarından parçalar (örnekler) Litvancaya ait birkaç .dic dosyası (sözlük) parçası, Jonas Jablonskis'in örnek sözcüklerinin vurgulanmış karşılıklarıyla birlikte Şekil 2'de gösterilmiştir. 7 İnternet erişimi: 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 ŞEK. 2. Kelime biçimlerinin .dic dosyasından bir kesit. Eğik çizgiden sonraki sayılar, adreslenebilir çekim kuralı gruplarına yapılan referansları gösterir. Kırmızıyla vurgulananlar, ŞEK. 3'te gösterilen kural gruplarına yapılan referanslardır. Şekil 3’te Litvanca çekim kurallarını içeren .aff dosyasından birkaç parça sunulmaktadır: 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, iam. is:Masc_Pl_Dat_short SFX 145, ys iam. is:Masc_Pl_Dat_short SFX 145, 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, bu. is:Masc_Pl_Loc_short SFX 145, bunlar. is:Masc_Pl_Loc_short 3 ŞEKİL. Çekim kurallarının .aff dosyasından parçalar. Morfolojik analizi açıklamak için aşağıda kullanılan birkaç kural kalın yazılmıştır. BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204 VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 6 Örneklerde verilen dil tanımını ve standart (dilden bağımsız) Hunspell analiz araçlarını kullanarak, Jono Jablonskio’nun örnek sözcükleri için şu yanıtı elde ederdik (bkz. Şekil 4). ŞEKİL 4. Sözcüklerin morfolojik analizine örnek 2. ÇALIŞMANIN AŞAMALARI VE SONUÇLARI Hunspell biçiminde eksiksiz bir dil tanımı (yani ilgili Hunspell .dic ve.aff dosyaları oluşturulduğunda), yazım ve dilbilgisi denetiminden akıllı bilgi erişim sistemlerine kadar pratik uygulamalar için neredeyse sınırsız olanaklar ortaya çıkar. Litvancanın oldukça karmaşık morfolojisi (çok sayıda kural ve kural grubu) ve lemma listesinin, günümüz yazılı Litvancasının gerçek durumunu yansıtan büyük derlemlerle (1 milyardan fazla sözcük) uyumlu hâle getirilmesi gerekliliği nedeniyle, ilk denemelerden sorunsuz çalışan bir morfoloji sürümünün oluşturulmasına kadar yaklaşık 5 yıl geçmiştir. Bu makalede daha önce verilen örnekler, fikri anlamaya yönelik, daha çok açıklayıcı örneklerdir; gerçek hayatta kurallar ve grupları çok daha karmaşıktır; özellikle fiillerle ilgili olanlar. Morfolojinin geliştirilme süresini kısaltmak ve binlerce kuralı yazarken ve bunları lemmalara atarken oluşabilecek hataları önlemek amacıyla, önce Hunspell spesifikasyonlarının gerektirdiğinden daha soyut, ilk aşamaya yönelik bir morfoloji tanımı oluşturuldu (kurallar – MS Excel tablosunda; lemmalar ve sınıflandırılmaları – MS Access veritabanında). Ayrıca, bu ilk aşamadaki, insanlar için okunması ve anlaşılması daha kolay yapıları otomatik olarak .aff ve.dic dosyalarına ya da uygulamanın özelliklerine göre belirlenen başka bir biçime dönüştürmek için yazılım araçları geliştirildi. Litvanca .aff ve.dic dosyalarının en güncel sürümü yazarın GitHub sitesinde8 sunulmaktadır. Morfolojinin biçimselleştirilmesi süreci boyunca şu temel kaynaklardan yararlanıldı: 8 Çevrimiçi erişim: 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) Günümüz Litvanca Dilbilgisi (DLKG 2006); 2) Vytautas Magnus Üniversitesi’nin (bundan böyle VDU) Günümüz Litvancası derlemi9 – yaklaşık 140 milyon sözcük; 3) Vilnius Üniversitesi makine çevirisi derlemi10 – yaklaşık 800 milyon sözcük, yaklaşık 4 milyon benzersiz sözcük; 4) Litvanya Cumhuriyeti Seiması’nın (bundan böyle LRS) belgeleri11 – yaklaşık 400 milyon sözcük, yaklaşık 1 milyon benzersiz sözcük; 5) Günümüz Litvanca Sözlüğü (DŽ 2006) – yaklaşık 60 bin lemma; 6) Litvanca Sözlüğü12 – yaklaşık 500 bin madde; 7) Yabancı Sözcükler Sözlüğü (VTŽŽe) – yaklaşık 22 bin lemma; 8) Litvanca Soyadları Sözlüğü (LPŽ) (yaklaşık 80 bin soyadı). Toplamda yaklaşık 5.000 adreslenebilir kural grubu (18.000 tekil kural) oluşturuldu. Kural gruplarının sözcük türlerine göre dağılımı Şekil 5’te gösterilmiştir. ŞEKİL 5. Çekim kuralları gruplarının sözcük türlerine göre dağılımı .dic dosyası (sözlük) 171.000 lemadan oluşturulmuştur. Lemaların sözcük türlerine göre dağılımı Şekil 6'da gösterilmiştir. 9 İnternet adresi: http://tekstynas.vdu.lt/tekstynas/. 10 İnternet adresi: https://www.versti.eu/. 11 İnternet adresi: http://www.lrs.lt/. 12 İnternet adresi: 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 ŞEKİL 6. Lemaların sözcük türlerine göre dağılımı Seçim yapılırken yalnızca çağdaş Litvancanın doğru biçimleriyle yetinilmiş; yanlış, Litvanca olmayan, kullanımı önerilmeyen, aşağılayıcı ve artık kullanılmayan sözcüklerden kaçınılmıştır. Özel isimler ayrıca soyadları, adlar, coğrafi adlar ve diğerleri olarak sınıflandırılmıştır. Bu seçim, geliştirilen morfolojinin yazım denetiminde kullanılmasını kolaylaştırır ve analiz sonuçlarının metin analizinin sonraki aşamalarında (sözdizimi, adlandırılmış varlıkların tanınması, dizinleme ve arama) daha kolay kullanılmasına olanak tanır. Yeni geliştirilen morfolojik çözümleyicinin doğruluğu yaklaşık yüzde 98'dir; yani çözümleyici, ortalama olarak her 100 sözcükten 98'ini doğru yorumlar (Kapočiūtė-Dzikienė ve diğerleri 2017). Tanınamayan kalan yüzde 2'lik kesim çoğunlukla yazım hatalarından, başka dillerden sözcüklerden (adlar, soyadları, alıntılanan ifadeler vb.), kullanımı önerilmeyen ve standart dışı sözcüklerden ve lema listesine eklenmemiş doğru sözcüklerden oluşur. 3. PRATİK UYGULAMA 3.1. VDU Sözdizimsel-Anlamsal Analiz Sistemi Yeni oluşturulan Litvanca morfolojisi, Hunspell platformunda 2011–2015 yıllarında VDU Sözdizimsel-Anlamsal Analiz Sistemi13 içinde yazım ve dilbilgisini denetlemek, metnin morfolojik ve sözdizimsel analizini gerçekleştirmek için uyarlandı (bkz. Şekil 7). Morfolojik analiz, karma istatistiksel-kural tabanlı bir belirsizliği giderme yöntemiyle (gizli Markov modeli, altın standarda göre yaklaştırılmış üçlü dizilim olasılıkları, Viterbi algoritması, birkaç istisna) genişletildi. Morfolojik analizde belirsizliği giderme hakkında daha fazla bilgi Jurgita Kapočiūtė-Dzikienė, Erika Rimkutė ve Loïc Boizou'nun (2017) yayınında yer almaktadır. 13 İnternetten erişim: 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 ŞEKİL 7. Hunspell Litvanca morfolojisinin VDU Sözdizimsel-Anlamsal Analiz Sisteminde uygulanması 3.2. LRS Mevzuat Sicili Arama Sistemi 2011–2013 yıllarında, yeni Litvanca morfolojisinin geliştirilmesine paralel olarak, onun LRS Kançılaryasındaki Mevzuat Sicili Arama Sistemine uygulanması da gerçekleştirildi14. Bu tür sistemlerde genellikle ilk arama yapılmadan önce bütün belgeler lematize edilerek dizine eklenir; yani belgelerdeki tüm sözcükler lemalarına dönüştürülür ve her bir lemanın nerede bulunduğu kaydedilir. Arama sorgusu çalıştırılmadan önce sorgu metni de aynı şekilde lematize edilir; bu nedenle daha sonra yalnızca sorguda yazılan sözcük biçimi değil, aranan belgelerde bulunan aynı sözcüğün başka herhangi bir biçimi de bulunur. Bu sistemde .dic,.aff verileri doğrudan kullanılamadığından, sistemin gerektirdiği özgün biçim (her satırı [lemma] [sözcük türü] → [biçimlerin listesi] olan bir metin dosyası) daha önce belirtilen temel morfoloji tanımından üretildi. Bu tanımdan teorik olarak yaklaşık 15 milyon sözcük biçimi üretilebilse de arama sisteminin dahili kısıtlamaları nedeniyle bunların yalnızca en sık kullanılan yaklaşık 1 milyonu kullanıldı. Bu çözüm başarılı oldu; arama oldukça sorunsuz çalışıyor ve günümüzde de kullanılıyor (bkz. Şekil 8). 14 İnternetten erişim: 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 ŞEKİL 8. Litvanca morfolojisinin LRS Mevzuat Kayıt Sistemi’nde aramaya uygulanması 4.3. Açık kaynaklı belge dizinleme ve arama sistemi Solr/Lucene15 Açık kaynağın avantajlarından ve Mevzuat Kayıt Sistemi’nde Litvanca morfolojisinin uygulanması sırasında edinilen deneyimden daha geniş ölçekte yararlanmak amacıyla, Solr/Lucene temelinde Litvanca belgeler için bir dizinleme ve arama sistemi oluşturuldu. .dic,.aff verilerinin bu sistemde doğrudan kullanılması mümkündür, ancak oldukça verimsizdir; bu nedenle, daha önce anılan temel morfoloji tanımından oluşturulan ve bu tanıma göre teorik olarak mümkün olan tüm sözcük biçimlerini üreten sonlu durumlu dönüştürücüyle (FST – Finite State Transducer) değiştirilmiştir. Bu çözüm, istenen tüm sözcük biçimlerinin doğru biçimde dizinlenip bulunmasını sağlamakla kalmaz, dizinlemeyi yüzlerce kat hızlandırır; ayrıca ek taksonomik-anlamsal bilgileri dikkate alarak çeşitli anlamsal ilişkilerden yararlanıp arama sonuçları elde etmeye olanak tanır. Örneğin, sorguda “yılan” sözcüğü belirtilirse sistem ek olarak “engerek”, “çıngıraklı yılan” vb. sözcükleri de arar (bkz. Şekil 9); sorguda “engerek” sözcüğü belirtilirse arama sonuçlarında artık ne “yılanlar” ne de “çıngıraklı yılanlar” yer alır (Ralys, Dadurkevičius 2017). 15 İnternetten erişim: 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 ŞEKİL 9. Litvanca morfolojisinin açık kaynaklı belge dizinleme ve arama sistemi Solr/Lucene’te uygulanmasına örnek 4. PERSPEKTİFLER Litvanca morfolojisinin Hunspell platformunda uygulanmasını daha geniş ölçekte kullanabilmek için iki yönde geliştirilmesi gerekir: standart dil sürümü ve tam sürüm (standart ve standart dışı dil). İlk sürüm, yazım denetimi görevlerinin sürdürülmesini ve dil normlarının ihlallerinin düzeltilmesine yönelik öneriler sunulmasını sağlar; ikinci sürüm ise canlı dilin çözümlemesine yönelik uygulamalı görevler için uygun olur. Geleceğe yönelik en az bunun kadar önemli bir görev, morfoloji sözlüğünü sözlüğe alınmamış ve yeni ortaya çıkan sözcüklerle sürekli genişletmek, ortaya çıkan çekim kuralları ve sözcük sınıflandırması hatalarını düzeltmek ve en yeni .dic,.aff sürümlerini yılda en az bir kez yayımlamaktır. Şimdiye kadar edinilmiş deneyimden yararlanarak Litvanca lehçelerin (özellikle Samogitçenin) veya eski Litvanca yazı dilinin biçimsel bir tanımını hazırlamak da kolay olacaktır. 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