Lietuvių kalbos morfologija atvirojo kodo „Hunspell“ platformoje
Full text
VIRGINIJUS DADURKEVIČIUS
جامعة فيلنيوس
مورفولوجيا اللغة الليتوانية في منصة المصدر المفتوح HUNSPELL1
الكلمات الأساسية: اللسانيات الحاسوبية، اللغة الليتوانية، القواعد، المورفولوجيا، التحليل الصرفي، التدقيق الإملائي، فهرسة النصوص، البحث، المصدر المفتوح، Hunspell.
المقدمة
منذ أكثر من 100 عام، وبفضل جهود جوناس يابلونسكي (1901، 1918، 1922)، بدأ تقنين اللغة الليتوانية وتهيئتها لتكون الأداة الرئيسية لتوحيد الدولة. ففي أول كتاب لقواعد اللغة الليتوانية لجوناس يابلونسكي Lietuviškos kalbos gramatikoje (1901)، جرى إضفاء الطابع الرسمي على صوتيات اللغة الليتوانية ومورفولوجيتها ونحوها: حُدّدت المفاهيم الأساسية، وعُرضت قواعد تصريف الكلمات وبنية الجملة (انظر الشكل 1).
الشكل 1. مقتطف من كتاب قواعد اللغة الليتوانية لجوناس يابلونسكي Lietuviškos kalbos gramatikos 19012
إسهام جوناس يابلونسكي لا يُقدّر بثمن في تقنين معجم اللغة الليتوانية وشرح الخصائص الدلالية للكلمات.
ولمدة طويلة، كان ذلك كافيًا تمامًا للتلاميذ والمعلمين والكتّاب والقرّاء والموظفين والعلماء. ومع ظهور ابتكار غيّر الحضارة، وهو الحواسيب، نشأت ضرورة أن «ترتدي» القواعد والمعجم الكلاسيكيان «ثوبًا جديدًا» وأن يصبحا جزءًا كامل الأهلية من التقنيات الجديدة
1 أُعِدّت هذه المقالة استنادًا إلى عرض بعنوان قواعد اللغة الليتوانية في عالم المصدر المفتوح، قُدّم في المؤتمر الدولي الرابع والعشرين لجوناس يابلونسكي موارد اللغة الرقمية، واتجاهات تطويرها وإمكانات استخدامها (2017 09 29)؛ ونظّم المؤتمر مركز أبحاث اللغة المعيارية في معهد اللغة الليتوانية وقسم اللغة الليتوانية بجامعة فيلنيوس.
2 صورة من 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
جزءًا من التكنولوجيا. في البداية، دعت الحاجة إلى معالجة المسائل اللغوية بالحاسوب عند ترميز النصوص (تحويل الحروف إلى أرقام)، وتصحيح الأخطاء في النص المُدخل آليًا، وتقسيم نصوص أعمدة المحاذاة المتقابلة إلى مقاطع. وبعد ذلك بقليل، أصبحت الحاجة إليها قائمةً للبحث عن المعلومات، وتحليل الكلام وتركيبه، والترجمة الآلية من لغة إلى أخرى، والفهم الآلي للمحتوى، و«التحليل الوجداني» للنص، وما إلى ذلك. وكان لا بد من إضفاء طابع رسمي دقيق على المسائل اللغوية وتدوينها بطريقة أخرى يفهمها الحاسوب. وأهم هذه المسائل علم الصرف، لأنه أساس أي أعمال أعمق في اللغويات الحاسوبية (كعلم النحو والتحليل الدلالي وما إلى ذلك).
أنجز أول عمل من هذا القبيل عند مطلع القرن مبرمجُ مصنع التجارب «Bitas»، Vytautas Zinkevičius (1996, 2000). وعلى مدى عقدين تقريبًا، كان هذا العمل أداةً لا غنى عنها ووحيدةً للبحث الحديث في اللغة الليتوانية وللتطبيقات الحاسوبية. واستُخدم هذا النظام بنجاح لاكتشاف الأخطاء الإملائية في برامج تحرير النصوص، وكذلك لإجراء التحليل الصرفي والتركيب في الأعمال البحثية والتطبيقية بمعهد اللغة الليتوانية وجامعة Vytautas Didysis (حيث أُطلق على أعماله اسم «Lemuoklis») وجامعة Vilnius. بل أُنشئت نسخة من هذا النظام مكيّفة لتحليل اللغة الليتوانية القديمة (Gelumbeckaitė ir kt. 2012). غير أن أوجه القصور في النظام بدأت تتضح مع اتساع احتياجات اللغويات الحاسوبية: هياكل بيانات غير معيارية وغير مطلوبة؛ وشيفرة مغلقة؛ وتمثيل غير مكتمل للأسماء العلم، وحالة الإلِياتيف، والمثنى، وزمن المستقبل للأفعال الأصلية، والصيغ المختزلة والنادرة. وكان انغلاق الشيفرة يعوق بوجه خاص مواصلة تطوير النظام، إذ لم يكن بوسع أحد عمليًا تغيير البيانات والخوارزمية سوى المؤلف نفسه.
لتفادي أوجه القصور الموصوفة آنفًا وإنشاء صرف حاسوبي للغة الليتوانية من الجيل الجديد، وُضعت المتطلبات الآتية:
1) استخدام الشيفرة المفتوحة المصدر وحدها والعمل على تطويرها؛
2) يجوز أن تتسم البيانات وحدها، لا هيئتها ولا طريقة تفسيرها، بخصائص خاصة باللغة الليتوانية؛
3) يجب أن تكون الشيفرة البرمجية كلها عامة، وصالحة لأي لغة أخرى؛
4) الاستفادة من الحلول التي طُبّقت بنجاح على لغات أخرى في العالم.
تلبي منصة Hunspell 3 هذه المتطلبات على نحو جيد. وإضافةً إلى ذلك، فإن وصف اللغة بهذه الطريقة يتيح لاحقًا التحقق بسهولة من الأخطاء الإملائية في كثير من البرامج التطبيقية (أكثر من 50 برنامجًا) (OpenOffice, LibreOffice, Firefox, Chrome, Safari, InDesign وغيرها)، وإجراء التحليل الصرفي للكلمات وتركيبها، وتنفيذ البحث الذكي عن المعلومات النصية، وما إلى ذلك.
3 الوصول عبر الإنترنت: 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
تستعرض هذه المقالة تطبيقًا جديدًا لمورفولوجيا اللغة الليتوانية قائمًا على منصة Hunspell. وتناقش المشكلات المرتبطة بذلك وسبل حلها، كما تعرض أمثلة على الاختبار الناجح والتطبيق العملي.
1. خصائص صيغة HUNSPELL لوصف اللغة الليتوانية
1.1. منطلقات نشأة منصة Hunspell ومبادئها العامة
تطورت منصة Hunspell مفتوحة المصدر انطلاقًا من أبسط أدوات التدقيق الإملائي، مثل Ispell4، وAspell5، وMySpell6، وغيرها. ومع زيادة تعقيد هذه الأدوات تدريجيًا وتكييفها لتناسب لغات أشد تنوعًا (ولا سيما اللغات الإلصاقية، مثل الفنلندية والمجرية والتركية وغيرها)، أصبح من الممكن معالجة مسائل التحليل الصرفي والتوليد الصرفي، لا التدقيق الإملائي فحسب. ومؤلفو هذه المنصة الشهيرة جدًا عالميًا هم في معظمهم علماء ومهندسون ومبرمجون من أصول مجرية (Trón ir kt. 2005). وليس مستغربًا أن يكون المقطع الأول من اسمها، «Hun-»، مستمدًا من الاسم الإنجليزي للمجر.
يُوصَف صرف اللغة على منصة Hunspell في ملفين نصيين: تُدوَّن قواعد التصريف في ملف ذي اللاحقة .aff، بينما يضم ملف ذو اللاحقة .dic معجمًا لصيغ الكلمات، يتضمن معلومات صرفية أولية وإحالات إلى مجموعة واحدة أو أكثر من مجموعات قواعد التصريف التي يمكن تطبيقها أيضًا. ويمكن تصور القاعدة المفردة على أنها تعليمة تحدد ما يلي:
1) ما الذي يمكن تغييره في الكلمة، وإلى ماذا، ضمن معجم الصيغ. مثلًا، في القاعدة
SFX 85 čias ty [^š]čias is:Masc_Sg_Voc
تشير «SFX» إلى أن التغيير يطال نهاية الكلمة، وأنه يمكن استبدال «-čias» بـ«-ty».
أما «PFX» فتشير إلى أن التغيير يطال بداية الكلمة. ولا تتضمن الصيغة تغييرات في وسط الكلمة.
2) رقم مجموعة قواعد التصريف التي تنتمي إليها هذه القاعدة. وقد تتكون المجموعة من قاعدة واحدة أو من عدة قواعد تُطبَّق دائمًا معًا. في المثال السابق، تنتمي القاعدة إلى المجموعة ذات الرقم «85».
3) الشروط التي يجوز في ظلها إجراء التغيير (تُستخدم صيغة شكلية معينة للتعبيرات النمطية). في مثالنا، لا يجوز إجراء التغيير إلا بشرط ألا تنتهي الكلمة الواردة في معجم الصيغ بـ«-ščias» (مثل «vaikiščias»).
4) المعلومات الصرفية المرتبطة بهذا التغيير. في مثالنا، يرتبط تغيير نهاية الكلمة هذا بالوسم الصرفي «Masc_Sg_Voc» (المذكر، المفرد، حالة النداء، مثل «svety»).
4 متاح على الإنترنت: https://www.cs.hmc.edu/~geoff/ispell.html.
5 متاح على الإنترنت: http://aspell.net.
6 متاح على الإنترنت: 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 على موقع هذه المنصة7، كما أن إمكانات وصف مورفولوجيا اللغات المختلفة على هذه المنصة قد دُرست جيدًا في أطروحة تومّي أ. بيرينن (2014).
1.2. المتطلبات الخاصة بالتنفيذ الليتواني
لكي يكون هذا التمثيل الشكلي للغة ملائمًا للتحليل الصرفي والتوليف وفهرسة المعلومات النصية والبحث، ينبغي استيفاء المتطلبين الآتيين:
1) لا يجوز إدراج سوى اللِّمَم (الصيغ المعجمية) في معجم صيغ الكلمات؛
2) يجب أن ينعكس الاشتقاق بالسوابق واللواحق والاشتقاق الانعكاسي في ملف .aff، لا في ملف .dic.
ليس من السهل تنفيذ المطلب الأول في اللغة الليتوانية، بسبب التنوع الكبير في تصريف الأفعال (نحو 170 نوعًا)، لكن إمكانية منصة Hunspell لاستدعاء قاعدة تصريف من قاعدة أخرى ساعدت على حل هذه المشكلة. ومع أن «عمق» هذه الاستدعاءات لا يمكن أن يتجاوز واحدًا، فإن ذلك يقلل كثيرًا من حجم ملف قواعد التصريف، من عدة ملايين إلى بضعة عشرات الآلاف من الأسطر.
يؤدي استيفاء المتطلب الثاني إلى زيادة طفيفة في حجم ملف .dic، إذ ستُدرج، مثلًا، المشتقات ذات السوابق واللواحق والاشتقاق الانعكاسي المنتمية إلى الجذر نفسه، وهي «imti» و«paimti» و«suimti» و«nesiimti»، في أسطر منفصلة. وهذه ليست النتيجة السلبية الوحيدة لهذا المتطلب؛ فمن السهل أيضًا الوقوع في الخطأ وإغفال أحد المشتقات الفعلية أو الوصفية الأقل شيوعًا. غير أن هذه المشكلة تُعالج معالجة وافية إلى حدٍّ ما باختيار اللِّمَم أساسًا من المدونات النصية المتراكمة، لا من المعاجم المنشورة.
1.3. مقتطفات من ملفات.dic و.aff الليتوانية (أمثلة)
تُعرض في الشكل 2 عدة مقتطفات من ملف .dic الليتواني (المعجم)، مع إبراز مقابلات الكلمات النموذجية التي اختارها جوناس يابلونسكس.
7 متاح عبر الإنترنت: 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
الشكل 2. مقتطف من ملف صيغ الكلمات .dic. تشير الأرقام التي تلي الشرطة المائلة إلى إحالات لمجموعات قواعد التصريف المشار إليها. وقد أُبرزت باللون الأحمر الإحالات إلى مجموعات القواعد المعروضة في الشكل 3.
يعرض الشكل 3 بعض مقتطفات ملف .aff لقواعد تصريف اللغة الليتوانية:
SFX 21 Y 1
SFX 21 as uosna. is:Masc_Pl_I
...
SFX 98 Y 2
SFX 98 as ai. is:Masc_Pl_Nom
SFX 98 as ų. is:Masc_Pl_Gen
...
SFX 264 Y 6
SFX 264 is is. is:Masc_Sg_Nom
SFX 264 ys ys. is:Masc_Sg_Nom
SFX 264 is žio. is:Masc_Sg_Gen
SFX 264 ys žio. is:Masc_Sg_Gen
SFX 264 ai ai. is:Masc_Pl_Nom
SFX 264 ai ų. is:Masc_Pl_Gen
...
SFX 145 Y 12
SFX 145 is iams. is:Masc_Pl_Dat
SFX 145 ys iams. is:Masc_Pl_Dat
SFX 145 is iam. is:Masc_Pl_Dat_short
SFX 145 ys iam. is:Masc_Pl_Dat_short
SFX 145 is ius. is:Masc_Pl_Acc
SFX 145 ys ius. is:Masc_Pl_Acc
SFX 145 is iais. is:Masc_Pl_Inst
SFX 145 ys iais. is:Masc_Pl_Inst
SFX 145 is iuose. is:Masc_Pl_Loc
SFX 145 ys iuose. is:Masc_Pl_Loc
SFX 145 is iuos. is:Masc_Pl_Loc_short
SFX 145 ys iuos. is:Masc_Pl_Loc_short
الشكل 3. مقتطفات من ملف .aff لقواعد التصريف. القواعد المظللة بالخط العريض هي عدة قواعد تُستخدم لاحقًا لتوضيح التحليل الصرفي.
BENDRINĖ KALBA 90 (2017)
www.bendrinekalba.lt
ISSN 2351–7204
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 6
باستخدام الوصف اللغوي الوارد في الأمثلة وأدوات التحليل القياسية (المستقلة عن اللغة) Hunspell، نحصل على الإجابة الآتية للكلمات النموذجية ليوناس يابلونسكس (انظر الشكل 4).
الشكل 4. مثال على التحليل الصرفي للكلمات
2. سير العمل والنتائج
عندما يُعَدّ وصفٌ لغويّ متكامل بصيغة Hunspell (أي تُنشأ الملفات المناسبة .dic ir.aff)، تنفتح إمكانات عملية تكاد تكون غير محدودة للتطبيقات العملية، بدءًا من التدقيق الإملائي أو النحوي وصولًا إلى أنظمة البحث الذكية عن المعلومات. وبسبب التعقيد الكبير نسبيًا للصرف الليتواني (كثرة القواعد ومجموعاتها) وضرورة مواءمة قائمة اللمات مع مدونات نصية ضخمة (تضم أكثر من مليار كلمة) تعكس الحالة الفعلية للغة الليتوانية المكتوبة المعاصرة، استغرق الأمر نحو خمس سنوات منذ المحاولات الأولى حتى تطوير نسخة صرفية تعمل بسلاسة. والأمثلة الواردة سابقًا في هذه المقالة توضيحية إلى حد كبير، وهدفها فهم الفكرة فحسب؛ أما في الواقع فالقواعد ومجموعاتها أكثر تعقيدًا بكثير، ولا سيما تلك المتعلقة بالأفعال.
لتسريع إنجاز الصرف وتجنب الأخطاء عند تدوين آلاف القواعد وإسنادها إلى اللِّمَم، أُنشئ أولًا وصف صرفي أولي أكثر تجريدًا من الوصف الذي تتطلبه مواصفات Hunspell (القواعد في جدول MS Excel، واللِّمَم وتصنيفها في قاعدة بيانات MS Access). كما طُوّرت أدوات برمجية لتحويل هذه البنى الأولية، الأيسر قراءةً وفهمًا للبشر، تلقائيًا إلى ملفات .aff و.dic، أو إلى صيغة أخرى تحددها متطلبات التطبيق. ويُتاح أحدث إصدار من ملفات .aff و.dic الليتوانية على موقع المؤلف GitHub8.
استُخدمت المصادر الرئيسية التالية طوال عملية إضفاء الطابع الصوري على الصرف:
8 متاح عبر الإنترنت: 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) قواعد اللغة الليتوانية المعاصرة (DLKG 2006)؛
2) مدونة اللغة الليتوانية المعاصرة التابعة لجامعة فيتاوتاس ماغنوس (ويُشار إليها لاحقًا اختصارًا بـ VDU)9 — نحو 140 مليون كلمة؛
3) مدونة الترجمة الآلية لجامعة فيلنيوس10 — نحو 800 مليون كلمة، منها نحو 4 ملايين كلمة فريدة؛
4) وثائق مجلس جمهورية ليتوانيا (ويُشار إليه لاحقًا اختصارًا بـ LRS)11 — نحو 400 مليون كلمة، منها نحو مليون كلمة فريدة؛
5) معجم اللغة الليتوانية المعاصرة (DŽ 2006) — نحو 60 ألف لِمّة؛
6) معجم اللغة الليتوانية12 — نحو 500 ألف مادة معجمية؛
7) معجم الكلمات الدخيلة (VTŽŽe) — نحو 22 ألف لِمّة؛
8) معجم أسماء العائلات الليتوانية (LPŽ) (نحو 80 ألف اسم عائلة).
أُلّفت إجمالًا نحو 5000 مجموعة قواعد قابلة للإحالة (18 ألف قاعدة فردية). ويعرض الشكل 5 توزيع مجموعات القواعد بحسب أقسام الكلام.
الشكل 5. توزيع مجموعات قواعد التصريف بحسب أقسام الكلام
أُنشئ الملف .dic (المعجم) من 171,000 لِمّة. ويُبيّن الشكل 6 كيفية توزّع اللِّمم بحسب أقسام الكلام.
9 متاح على الإنترنت: http://tekstynas.vdu.lt/tekstynas/.
10 متاح على الإنترنت: https://www.versti.eu/.
11 متاح على الإنترنت: http://www.lrs.lt/.
12 متاح على الإنترنت: http://www.lkz.lt/.
BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 8
الشكل 6. توزيع اللِّمم بحسب أقسام الكلام
اقتصر الاختيار على اللغة الليتوانية المعاصرة السليمة، وتُجُنِّبَت الكلمات الخاطئة وغير الليتوانية وغير المقبولة والمسيئة والمهجورة. كما قُسِّمت أسماء الأعلام إلى أسماء عائلية وأسماء شخصية وأسماء جغرافية وفئات أخرى. ويسهّل هذا الاختيار تطبيق التحليل الصرفي المُنشأ على التدقيق الإملائي، كما يتيح الاستفادة من نتائج التحليل بسهولة أكبر في المراحل اللاحقة لتحليل النصوص (النحو، والتعرّف على الكيانات المسماة، والفهرسة والبحث).
تبلغ دقة المحلّل الصرفي المُنشأ حديثًا نحو 98 بالمئة؛ أي إنه يفسّر 98 كلمة من كل 100 تفسيرًا صحيحًا في المتوسط (Kapočiūtė-Dzikienė وآخرون 2017). وتتألف نسبة الـ2 بالمئة المتبقية من الكلمات غير المتعرّف عليها غالبًا من أخطاء إملائية، وكلمات من لغات أخرى (أسماء شخصية أو عائلية، واقتباسات من عبارات، وما إلى ذلك)، وكلمات غير مقبولة أو غير معيارية، وكلمات سليمة لم تُدرج في قائمة اللِّمم.
3. التطبيقات العملية
3.1. نظام التحليل النحوي-الدلالي في VDU
طُبّق علم الصرف الليتواني الذي أُنشئ حديثًا على منصة Hunspell في نظام التحليل النحوي-الدلالي في VDU خلال الفترة 2011–201513 للتحقق من الإملاء والقواعد، وإجراء التحليل الصرفي والنحوي للنص (انظر الشكل 7). واستُكمل التحليل الصرفي بإزالة الالتباس بطريقة إحصائية-قواعدية هجينة (نموذج ماركوف مخفي، واحتمالات ثلاثيات الكلمات مُقاربة وفقًا للمعيار الذهبي، وخوارزمية فيتربي، وعدد من الاستثناءات). وتتناول دراسة إزالة الالتباس في التحليل الصرفي بالتفصيل منشورات جرجيتا كابوتشيوتِه-دزيكيينيه وإريكا ريمكوتِه وLoïc Boizou (2017).
13 متاح عبر الإنترنت: http://semantika.lt/SyntacticAndSemanticAnalysis/Analysis.
BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351-7204
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 9
الشكل 7. تطبيق علم الصرف الليتواني في Hunspell ضمن نظام التحليل النحوي-الدلالي في VDU
3.2. نظام البحث في سجل التشريعات لدى LRS
خلال الفترة 2011–2013، وبالتوازي مع تطوير علم صرف ليتواني جديد، جرى تطبيقه في نظام البحث بسجل التشريعات لدى أمانة LRS14. في العادة، تُفهرس جميع الوثائق في مثل هذه الأنظمة قبل إجراء البحث الأول، وذلك بإرجاع الكلمات إلى صيغها المعجمية؛ أي تُحوّل جميع كلمات الوثائق إلى صيغها المعجمية، ويُحفظ موضع كل صيغة. وقبل تنفيذ استعلام البحث، يُعالج نصه بالطريقة نفسها، ولذلك لا يُعثر لاحقًا على صيغة الكلمة المكتوبة في الاستعلام فحسب، بل على أي صيغة أخرى لتلك الكلمة ترد في الوثائق موضع البحث أيضًا. وبما أنه لم يكن من الممكن استخدام بيانات .dic و.aff مباشرةً في هذا النظام، فقد أُنشئ التنسيق الأصلي الذي يحتاج إليه النظام (ملف نصي، كل سطر فيه على هيئة [الصيغة المعجمية] [قسم الكلام] → [قائمة الصيغ]) انطلاقًا من الوصف الصرفي الأولي المذكور سابقًا. وعلى الرغم من إمكانية توليد نحو 15 مليون صيغة كلمة ممكنة نظريًا من هذا الوصف، لم يُستخدم منها سوى نحو مليون من أكثر الصيغ شيوعًا بسبب القيود الداخلية لنظام البحث. وقد أثبت هذا القرار نجاحه؛ إذ يعمل البحث بسلاسة إلى حد كبير وما زال مستخدمًا حتى اليوم (انظر الشكل 8).
14 متاح عبر الإنترنت: https://www.e-tar.lt
BENDRINĖ KALBA 90 (2017)
www.bendrinekalba.lt
ISSN 2351–7204
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 10
الشكل 8. تطبيق مورفولوجيا اللغة الليتوانية في البحث ضمن سجل التشريعات القانونية التابع لمجلس النواب الليتواني (LRS)
4.3. نظام مفتوح المصدر لفهرسة الوثائق والبحث فيها Solr/Lucene15
للاستفادة على نطاق أوسع من مزايا البرمجيات مفتوحة المصدر والخبرة المكتسبة عند تنفيذ مورفولوجيا اللغة الليتوانية في سجل التشريعات القانونية، أُنشئ نظام لفهرسة الوثائق الليتوانية والبحث فيها اعتمادًا على Solr/Lucene. يمكن تطبيق بيانات .dic,.aff مباشرةً في هذا النظام، لكن ذلك غير فعّال إلى حد بعيد؛ لذا استُبدلت بمحوّل للحالات المنتهية (FST – Finite State Transducer)، أُنشئ انطلاقًا من الوصف الأولي للمورفولوجيا المذكور سابقًا، ويولّد جميع الصيغ النظرية الممكنة للكلمات وفقًا لهذا الوصف. لا يتيح هذا الحل فهرسة جميع صيغ الكلمات المطلوبة والعثور عليها بدقة فحسب، بل يسرّع الفهرسة مئات المرات أيضًا، كما يتيح الحصول على نتائج البحث بالاستفادة من مختلف العلاقات الدلالية، مع مراعاة المعلومات التصنيفية الدلالية الإضافية. فعلى سبيل المثال، إذا وردت كلمة «أفعى» في الاستعلام، يبحث النظام أيضًا عن «أفعى سامة» و«أفعى جرسية» وما إلى ذلك (انظر الشكل 9)، أما إذا وردت كلمة «أفعى سامة» في الاستعلام، فلن تظهر «الأفاعي» ولا «الأفاعي الجرسية» ضمن نتائج البحث (Ralys, Dadurkevičius 2017).
15 متاح على الإنترنت: http://lucene.apache.org/solr/.
BENDRINĖ KALBA 90 (2017) www.bendrinekalba.lt ISSN 2351–7204
VIRGINIJUS DADURKEVIČIUS. Lietuvių kalbos morfologija atvirojo kodo hunspell platformoje | 11
الشكل 9. مثال على تطبيق مورفولوجيا اللغة الليتوانية في نظام مفتوح المصدر لفهرسة الوثائق والبحث فيها Solr/Lucene
4. الآفاق المستقبلية
لتوسيع نطاق تطبيق تنفيذ مورفولوجيا اللغة الليتوانية ضمن منصة Hunspell، ينبغي تطوير مسارين لها: نسخة اللغة المعيارية والنسخة الكاملة (اللغة المعيارية وغير المعيارية). تتيح النسخة الأولى مواصلة إجراء مهام التدقيق الإملائي وتقديم توصيات لتصحيح مخالفات المعايير اللغوية، أما النسخة الثانية فتصلح لمعالجة المهام التطبيقية لتحليل اللغة الحية.
ومن المهام المستقبلية التي لا تقل أهمية مواصلة إثراء معجم المورفولوجيا بالكلمات التي لم تُدرج فيه والكلمات المستحدثة، وتصحيح الأخطاء المكتشفة في قواعد التصريف وتصنيف الكلمات، ونشر أحدث إصدارات .dic,.aff مرة واحدة على الأقل سنويًا.
وبالاستفادة من الخبرة المتراكمة، لن يكون من الصعب إعداد وصف شكلي للهجات الليتوانية (ولا سيما اللهجة الساموجيتية) أو للغة الليتوانية القديمة المكتوبة.
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