لمحة حول أفكار تحليل النصوص في اللغات NLP(Natural Language Processing) :
قد يكون هنالك تضارب في بعض الأفكار حول طريقة عمل محلل النصوص واليكم بعض التوضيحات عن طريقة عمل المحلل:
المحلل هو برنامج نمرر له جملة معينة فيعيد لنا نوع كل كلمة في الجملة (فعل , اسم , حرف , حرف وصل , حرف جر , صفة ......).
المحلل لايعتمد على أخذ الكلمة ومن ثم يقوم بالبحث عنها ضمن قاموس ثم يقوم بإعادة نوع الكلمة إن هذا الحل يعتبر حلاً غير عملي أبداً ( لعدم إمكانية حصر جميع الاشتقاقات و الكلمات في اللغة ) فالكثير من الكلمات تشتق من أصلها البسيط بإضافة حرف "s" مثلاً عند الحديث عن الكلمات التي تدل على الجمع في اللغة الإنكليزية و "ون" في اللغة العربية مثلاً ، فهنا سيكون من غير العملي أن نقوم بتخزين آلاف الكلمات التي تجري على نفس النمط في عملية الجمع.
وبعضها الآخر يعتمد على إيجاد الجذر الأولي للكلمة فمثلاً في الكلمات العربية تعود إلى الفعل الثلاثي أو الرباعي أو الخماسي الذي تتشكل منه الكلمة، وهذه الجذور تكون مخزنة ضمن قاعدة بيانات، فهي بهذه الحالة اختصرت عدد الكلمات المخزنة لكن بالتالي هذا سيؤدي إلى تعقيد كبير في خوارزمية استخلاص الجذر.
والخوارزميات الباقية استخدمت ما يسمى بالتجذير الخفيف (Light Stemming) وهو فعال جداً، يعتمد على معلومات إحصائية حول أكثر الأحرف المزيدة تكراراً ، تقوم الخوارزمية على حذف هذه الأحرف من كلمات النص، وتصل إلى الكلمات البسيطة .
إن هذه الخوارزميات تعتبر أسرع الخوارزميات في الحصول على الكلمة الأصلية، حيث أنها لا تعتمد إطلاقاً على أي قاموس، لكن من الواضح أنها بهذه الحالة ستفتقد إلى الدقة.
طريقة التجذير Stemming بشكل عام : تقوم فكرة التجذير على رد الكلمة إلى أصلها في اللغة و من ثم تحديد نوعها فمثلاً :
-كلمة طالب حتى يردها المحلل إلى اصلها يجد أنه الفعل طلب.
بالإضافة إلى هذه الفكرة فإن المحلل قد يواجه مشكلة مثل كلمة (الحافظون) ففي هذه الحالة تتألف الكلمة من بادئة تمثل في (ال) التعريف فيصبح (حافظون) و لاحقة وهي (ون) علامة جمع المذكر السالم فتصبح (حافظ) في هذه الحالة يقوم المحلل برد الكلمة إلى اصلها فتصبح (حفظ).
المحلل لا يقوم فقط بأخذ الكلمات و تحديد نوعها حسب الكلمة مفصولة عن باقي النص بل يجب أن يتم تحديد نوع الكلمة حسب موقعها في النص أي حسب سياق الكلام وسأورد هنا مثالاً على هذه الجزئية و أعتذر عن ركاكة الجمل لكن أوردها كمثال فقط لإيضاح نقطة معينة :
1- عندما وصلت الى المنزل كان قد ذهب إلى الحديقة.
2- ولما فتح الصندوق قال ماهذا ذهب.
في المثالين السابقين إذا أردنا أن نحدد نوع الكلمة ذهب لايمكن ان نحدد أن الكلمة الأولى تعني ( ذهب ) أي فعل الخروج في حين أن الثانية ( ذهب ) تعني المعدن النفيس المعروف إلا بالنظر إلى ماقبل الكلمتين فهنالك قواعد يمكن أن نعتمد عليها و هي كثيرة لكن يمكن حصرها فلا يمكن أن تأتي كلمة ( ذهب ) المعنى النفيس بعد الحرف ( قد ) بأي شكل من الأشكال , و يمكن أن نستقرأ الكثير من القواعد مثلا لايمكن أن يأتي فعلان بعد بعضهما البعض دون أن يأتي بينهما أي فاصل , كما لا يمكن أن يأتي بعد حرف الجر فعل و قس على ذلك العديد من القواعد الأخرى التي تساعد في معرفة نوع الكلمة في حال الاشكال اعتمادا على سياق الكلام.
هذا بشكل عام مقدمة سريعة عن أفكار تحليل اللغات و قد كنت أريد طرح هذا الموضوع منذ مدة طويلة لكن ماحفزني في هذه الفترة هو مشروع ( كيان و زميلتها مشروع تخرج ) الذي طرحتاه في المنتدى و سأحاول إرفاق توثيق المشروع وهو على صيغة PDF يقع في 75 صفحة لكن أريد أن ألفت انتباه ( كيان و زميلتها ) إلى البحث عن الكلمات المفتاحية التالية:
- NLP ( Natural Language Processing) : معالجة اللغات الطبيعية.
- Stemming Or Light Stemming : التجذير و التجذير الخفيف.
حيث يوجد خوارزميات لعمليات التجذير و معرفة نوع الكلمة في اللغة الإنكليزية و على ماأذكر توجد خوارزمية جاهزة و سأتأكد من ذلك إن شاء الله
كما سأقوم بإدراج بعض المراجع التي اعتمدنا عليها مع الفارق ان عملنا كان يقع في تحليل اللغة العربية و ليس الانكليزية
و انا مستعد لأي تساؤلات و الله من وراء القصد.
