أكمالا للمنشور السابق فقد أتفقنا علي ضرورة تقليل الكلمات الخاضعة للمعالجة عن طريق التجذيع أي رد الكلمة الي أصلها (كالمصدر في اللغة العربية ), وجوهر فكرة 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'