- | S | W1 | W2 | W3 |
---|---|---|---|---|
S | S | S1 | S2 | S3 |
W1 | S1 | W11 | W12 | W13 |
W2 | S2 | W21 | W22 | W23 |
W3 | S3 | W31 | W32 | W33 |
حيث W12 هو عدد مرات تكرار الكلمة W2 بعد الكلمة W1 وحيث S مجموع تكرار كل الكلمات و S1 تكرار الكلمة الأولى
هذا كود يخمن جذر الكلمة من جدع الكلمة
#! /usr/bin/python # -*- coding: utf-8 -*- def possible_roots(stem): additives=list(u"اوينتمس") rm_ls=filter(lambda i:i[1] in additives, enumerate(list(stem))) l=len(rm_ls) b=1<<l for j in xrange(b): rm_i=map(lambda c: rm_ls[c[1]][0], filter(lambda b: j & b[0], map(lambda a: (1<<a,a),range(l)))) r=u''.join(map(lambda b: b[1],filter(lambda a: a[0] not in rm_i,enumerate(list(stem))))) yield r.encode('utf-8') def possible_prefix_removal(word): """ remove همزة السؤال remove و ف العطف remove ل ك ب الجر remove ال التعريف أو لل """ pass for i in possible_roots(u"يستكتب"): print i
بطريقة مشابهة يمكن عمل تجذيع السوابق prefix light stemming أما اللواحق فهي غير مجدية لأنها في الغالب ليست لواحق تماما