كيف تمت برمجة مستخرج الجذور؟

استخراج الجذور من الكلمات أمر غاية في الصعوبة، نطرح هنا خوارزميات مختلفة لحل هذا المشكل.
صورة العضو الرمزية
السهلي
Site Admin
مشاركات: 32
اشترك في: الأربعاء 07 يوليو 2021, الساعة 06:20

كيف تمت برمجة مستخرج الجذور؟

مشاركة غير مقروءة بواسطة السهلي »

السبب
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
كان الغرض الأساسي وراء تطوير نظام لاستخراج الجذور هو تمكين المستخدم من البحث عن معاني الكلمات دون ضرورة إجباره على استخراج الجذر بنفسه. فكلمات مثل: مدارس، ومفازة، وحدائق وغيرها قد لا تجدها مباشرة في القواميس العربية (1)، اللهم إذا استخرجت الجذور بنفسك.

صورة

التحديات
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
واجهنا تحديين اثنين لمعالجة هذا المشكل:

التحدي الأول:
لم نكن ندرك أن بعض الكلمات قد يصعب إيجاد جذورها، فخذ مثلا:
  • كلمة الله، هل جذرها أله أم وله أم ألل؟
  • كلمة إنسان، هل جذرها أنس أم نسي؟
  • كلمة إبراهيم، هل جذرها بره أم برهم أم أبره أم لا جذر لها؟
  • كلمة الديموقراطية، هل يمكن أن نحدث لها جذرا فنقول مثلا دمقرط؟
وكما يقول المثل "رب ضارة نافعة"، فقد أدت كل هذه التساؤلات إلى إنتاج القاموس التأثيلي للغة العربية، وقد أحصينا فيه كما كبيرا من الكلمات المعربة والدخيلة على العربية.

التحدي الثاني:
قد يحق القول في أن بعض الحروف في اللغة العربية غاية في الإنفلات وآية في الإنسلات.
ونلخص أنواعها كالتالي:

النوع 1: ج ح خ ع غ ر ز ص ش ث ق
هذه نسميها الحروف الحرة.
فاستخراج الجذور من كلمات كـ: محجوز، حجارة، رجاحة، مغروقات سهل هاهنا.

النوع 2: ت د ذ ض ط ظ
هذه نسميها الحروف المنقلبة.
مشكلة هذا النوع من الحروف هو كونها تكون منقلبة عن بعضها أحيانا، فمثلا:
اضطراب أصلها اضتراب وبالتالي جذرها هو ضرب (انقلاب التاء طاء)
مصطفى أصلها مصتفى وبالتالي جذرها هو صفى أو صفا (انقلاب التاء طاء)
ازدهار أصلها ازتهار وبالتالي جذرها هو زهر (انقلاب التاء دالا)
اطَّلم أصلها اظَّلم التي أصلها اظطلم التي جاءت من اظتلم وبالتالي جذرها هو ظلم (انقلاب التاء طاء فظاء)
وهلم جرا.

النوع 3: ب ه ك ل م ن س ف
هذه نسميها حروف الزيادة.
فإن كانت هذه الحروف تأتي دائما زوائد على الكلمة ولا تدخل في تكوين جذرها، فالحل يسير إذن.
لكن المشكلة في كلمات مثل:
كموج: فالكاف هنا زائدة؛ وإذن فالكلمة هاهنا ينبغي أن تكون موج.
كمود: فالكاف هنا أصلية؛ وجذرها هو كمد.
كمون: فالكاف هنا قد تكون أصلية أو زائدة؛ فإذا كانت أصلية فهي إما اسم نبات أو مصدر كمن. وإذا كانت زائدة فالكلمة هي مون المنقلبة عن مؤن.

النوع 4: أ و ا ي
حروف العلة والهمزة.
الهمزة وأنواعها: أ إ آ ء ئ ؤ
والألف ونوعيه: ا ى
والياء والواو.
هذه الحروف هي الأشدة صعوبة على الإطلاق.
فتارة تراها رأي العين في الكلمات، ومرة أخرى تنقلب الألف واوا أو ياء، وتارة تختفي كلية من الكلمة.
وقد تنقلب الياء همزة والعكس بالعكس. ومن الناس من يكتب مومنون وآخرون يكتبون مؤمنون وهلم جرا.
فخذ مثلا:
سل: أهي فعل مضاعف أم صيغة أمر لـ سال أم سأل؟
ع: أهو حرف العين أم صيغة أمر لـ وعى؟
آية: هل جذرها أيي أو أوي أو لا جذر لها؟
...

وخلاصة القول، أن الأمثلة المذكورة أعلاه ليست إلا غيضا من فيض. فاللغة العربية لغة دينامكية حركية بامتياز.
فلمعالجة هذين التحديين، لا بد من الاضطلاع على علوم من قبيل علم التصريف وعلم الاشتقاق ودراسة الزوائد ومعرفة تأثيل الكلمات وهلم جرا...
وها أنت تعلم الآن لماذا اضطررنا إلى برمجة نظامي التصريف والإشتقاق في العنقاء.

نظام العنقاء لاستخراج الجذور
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

صورة

فكما ترى في هندسة العنقاء، فإن منظومة استخراج الجذور تقع في قلبها، وهي مرتبطة بمعظم الأنظمة الفرعية الأخرى نظرا لأهميتها.
وتستمد هذه المنظومة قدرتها على استنباط الجذور من أربعة منابع مختلفة، وهي موضحة كالتالي:
صورة

وقد قمنا بتعطيل منبع الذكاء الإصطناعي ليس لعدم كفاءته، لكنه لا يلبي رغبتنا في السرعة الفائقة لاستخراج الجذور.
ولعلنا نجد الوقت الكافي لتطوير قدراته ليتماشى مع البحث السريع. وليكن في علمك أن كل منبع من هذه المنابع متشعب العروق ويحتاج لأبحاث علمية لتطويره.
والصورة التالية تبين تصميمنا لتقنية DFA، وهي الأسرع من بين التقنيات الأخرى؛ ومشكلتها تكمن في التعامل مع حروف الزيادة والهمزة وحروف العلة:
صورة

العقد الزرقاء تمثل حروف البداية للكلمات، والصفراء هي حروف الجذر، أما الحمراء فهي حروف الزيادة في آخر الكلمة.
وحرف ع هناك يمثل باقي الحروف. وهذا هو الرابط التفاعلي لها:
https://www.alankaa.com/alankaa/extractor/automata/unit_test/dfa_graph.php

الخلاصة
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
فقد رأيتَ أن بناء نظام فعال لاستخراج الجذور من الكلمات العربية ليس بالأمر الهين بتاتا. وقد أعملنا فيه الجهد الجهيد، وما استطعنا أن نحيط بجله فكيف بكله!
وإذا يسر الله ننشر أبحاثنا في هذا المجال عسى أن تكون عونا لمن يهمه الأمر.
وإذا وجدت عندك قدرة على تصميم خوارزمية فعالة وسريعة لمعالجة هذا المشكلة جملة وتفصيلا، فنرجوا ان تمدنا بها لعلها تكون عونا لموقع العنقاء.


ـــــــــــــــــــــــــــــــــــ
(1) أعني القواميس التقليدية التي ألفت قبل عصر النهضة (أي قبل القرنين 19 و 20 الميلادي).
لَا أَبْرَحُ حَتَّىٰ أَبْلُغَ مَجْمَعَ الْبَحْرَيْنِ أَوْ أَمْضِيَ حُقُبًا...