أعجوبة

البرمجيات الحُرة والمفتوحة المصدر

أدوات المستخدم

أدوات الموقع


Action disabled: media
pri:أفكار

هذه مجرد أفكار لا فائدة منها حاليا

  • المعجم المحوسب يجب أن يعتمد على قاعدة بيانات وليس خوارزميات اشتقاق لأن اللغة في النهائية يغلب عليها أنها سماعية ولأن اللغة ليست رياضيات
  • خوارزميات الاشتقاق وعكسها يجب أن تنفذ على الرغم من النقة السابقة (من أجل الاقتراحات إذا لم تكن الكلمة في قاعدة البيانات على سبيل المثال أو في مساعدة جهود تعريب مصطلحات جديدة)
  • في محرك البحث تجمع الكلمات في جدول ترتيبها في الجدول غير مهم حتى يمكن عمل incremental indexing
  • هناك فائدة ما (لمحرك البحث أو توليد جمل أو في الترجمة أو تحليل السياق …) من جمع relative freq لاحتمال ورود الكلمة W2 بعد W1 وذلك في جدول مثل هذا
- 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 تكرار الكلمة الأولى

  • أغلب جداول relative freq يمكن اختزالها وتحويلها إلى مصفوفات اسفنجية sparse matrix وذلك باحتساب الوسط الحسابي والانحراف المعياري ثم حذف القيم التي تقل عن الوسط الحسابي ناقص معامل (واحد مثلا) في الإنحراف

هذا كود يخمن جذر الكلمة من جدع الكلمة

#! /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 أما اللواحق فهي غير مجدية لأنها في الغالب ليست لواحق تماما

pri/أفكار.txt · آخر تعديل: 2015/04/23 03:21 بواسطة 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki