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...

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


التعليق السابق

شكراً!

ممكن توضيح اكثر ما هي المفردات العجمية؟

يقصد المفردات كما ترد في المعجم(القاموس)

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

من وجهة نظري يكفي أن يرسل الكلمة لكلمة مفتعلة لا معنى لها لكنها تؤدي لربط كلمات ذات دلالة متقاربة

هو كذلك، هدف هذه الخوارزمية هو التجميع وخاصة للفهرسة والبحث وحبذا لو يكون الجذع صحيحا لغويا.