20

خوارزمية تجذيع عربية لعدّة لغات برمجة (Stemmer)

عاصم

السلام عليكم،

أعرّفكم بمشروعي لصنع خوارزمية تجذيع للغة العربية تكون سريعة ومتوفرة لجميع لغات البرمجة وقد وجدت ضالتي مع Snowball framework (

http://snowballstem.org

) . الخوارزمية بدأت فكرتها في إطار صيف غوغل للتطوير عام 2014 مع مشروع Xapian .

الغاية الأساسية لهذا المجذع هي البحث وبالتالي لا يشترط أن يكون الجذع صحيحا لغويا ولكن يشترط أن يجمع أغلب كلمات العائلة.

البذرة الأولى للمجذع مستوحاة من توثيق في موقع أعجوبة:

http://ojuba.org/thawab/ste...

يمكن الإطلاع على المشروع وتجريبه في الرابط التالي:

http://www.arabicstemmer.com

الخوارزمية استعمالها سهل مثلا في البايثون يمكن استعمالها كما يلي (بعد تثبيتها):

 from snowballstemmer import stemmer
 ar_stemmer = stemmer("arabic")
 ar_stemmer.stemWord(u"فسميتموها")

شفرة المصدر:

لمن يريد المساهمة ، هناك أربع مجالات:

  • تحسين الخوارزمية الأساسية

  • إنشاز الخوارزمية إلى لغة برمجة جديدة مع توثيقها مثلا GO

  • ادماج الخوارزمية في مكتبات البحث والمعالجة المشهورة مثل NLTK و whoosh...

  • تحسين الموقع


ماهي الاستخدامات الممكنة لمثل هذه الخوارزمية لو سمحتم؟

الإستخدام الأمثل هو في تجميع الكلمات حسب جذعها كما في الفهرسة والبحث، عندما يبحث شخص عن كلمة ، تقوم أداة البحث بجمع كل النتائج لجميع الكلمات التي لها نفس الجذع

استعمال آخر هو في عمل tags حيث يجب اعتبار الكلمات التي لها نفس الجذع ككلمات مكررة مثلا: شفرة، الشفرة، والشفرة ،...

واضح.. شكرا