بسم الله الرحمن الرحيم

المعالجة الصرفية لخوارزميات ال lemmatization في مكتبة NLTK

تاريخ النشر : Dec. 7, 2021

None


lemmatization

أكمالا للمنشور السابق فقد أتفقنا علي ضرورة تقليل الكلمات الخاضعة للمعالجة عن طريق التجذيع أي رد الكلمة الي أصلها (كالمصدر في اللغة العربية ), وجوهر فكرة lemmatization تكون بناءً علي المعني القاموسي -يعني في مدونة لازم الخورزمية ترجع لها- بخلاف Stemmer الذي يقوم فكرتة علي تجذيع الكلمة بناً علي تركيبها الهجائي.

from nltk.corpus import wordnet as wn

للحصوا علي المرادفات

wn.synsets('spoke')

النتيجة

[Synset('spoke.n.01'),
 Synset('rundle.n.01'),
 Synset('talk.v.02'),
 Synset('talk.v.01'),
 Synset('speak.v.03'),
 Synset('address.v.02'),
 Synset('speak.v.05')]

لمعرفة معني كلمة من النتيجة السابقة

wn.synset('spoke.n.01').definition()

النتيجة

'support consisting of a radial member of a wheel joining the hub to the rim'

مثال أخر لمدونة WordNetLemmatizer وهي مضمنة في NLTK

from nltk.stem import WordNetLemmatizer
wnl=WordNetLemmatizer()

ولكن لاحظ نحتاج تمرير متغيرين

1- الكلمة المراد تجذعها

2- نوع الكلمة ففي المثال التالي Spoken هو فعل 'v'

wnl.lemmatize('spoken','v')
'speak'
wnl.lemmatize('worst','a')
'bad'

العودة إلي مكتبة NLTK