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

أدوات الموقع


pri:20090321

اختلافات

عرض الاختلافات بين النسخة المختارة و النسخة الحالية من الصفحة.

رابط إلى هذه المقارنة

جانبي المراجعة السابقة المراجعة السابقة
المراجعة التالية
المراجعة السابقة
pri:20090321 [2009/03/22 21:29]
alsadi
pri:20090321 [2015/04/23 00:21] (حالي)
سطر 1: سطر 1:
 +====== محضر اجتماع 2009 03 21 ======
  
 +  * الاتفاق على نموذج البيانات وتجربة جميع النماذج المقترحة
 +  * الاتفاق على أن تكون [[http://​groovy.codehaus.org/​Documentation|groovy]] و lucene و Jetty و sqlite هي التنفيذ المرجعي reference implementation لكن من السهل عمل أي تنفيذ آخر عند الحاجة كأن يكون تطبيق Qt لو Gtk يستخدم webkit او حتى cairo
 +  * تأجيل تجربة ابتكار نظام فهرسة جديد إلى مرحلة لاحقة للاستفادة من مزايا lucene كخبرة في بناء محركنا الخاص مستقبلا إن لزم الامر
 +  * التنبه إلى أن الإصدار الجديد من sqlite3 قد يكسر التوافقية بين sqlite الإصدار 3.5 الشائع وإصدار 3.6 المحبذ
 +    * [[http://​www.sqlite.org/​35to36.html]]
 +    * [[http://​www.sqlite.org/​changes.html]]
 +  * البحث عن النقاط التي قد تسبب التضارب وتجاوز ذلك عبر تضمين المشروع ال sqlite driver عبر ملف jar لإصدار بعينه
 +  * الاتفاق على أن اسم المشروع هو ثواب thawab بحرفي a
 +  * التدرب على أساسيات محرك lucene
 +  * الاتفاق على أن كل نوع من أنواع العلوم يحتاج وسوم مختلفة
 +  * الاتفاق على وسوم قياسية عامة مبنية في النظام وهي
 +    - مرساة - نقطة مرجعية يمكن للروابط الإشارة إليها عبر معرف فريد
 +    - عنوان - الباب أو الفصل الذي يظهر في جدول المحتويات وهي نوع خاص من المرساة
 +    - ملخص - وسم للفقرة التي تلخص معنى الوحدة الجوهرية أو فقرة فيها حتى تعطى قيمة أكبر عند البحث
 +  * الراقمات المخصصة يجب أن توزع في فضاءات namespaces تفصل بينها نقطة مثلا "​حديث.سند"​ أو "​معجم.جذر"​
 +  * الاتفاق على مفهوم الوحدة الجوهرية atomic unit لتكون هي الوحدة التي يعيد معرفها برنامج البحث وهي التي تكون مرقومة بالعنوان وهي التي إن تم عمل plain text rendering ​ لها تعيد النص الأصلي
 +  * الاتفاق على أن الراقمات/​الوسوم ترتبط فيما بينها بالعلاقات الدلالية التالية:​ (ويمكن للمحرر عمل علاقات خاصة بالمحتوى)
 +    - ينتمي ل أو مثال على - hyponym مثلا العدس مثال على البقوليات - وهي علاقة بين عنصر وتصنيف
 +    - نوع من - hypernym مثلا البقوليات نوع من الحبوب - وهي علاقة بين تصنيفين
 +    - جزء من - part meronym مثلا القشرة جزء من الحبة - وهي علاقة بعض بكل
 +    - صفة ل - attribute - "​ذات فلقتين"​ صفة للحبة - وهي علاقة بين صفة وموصوف
 +  * اختيار علم الحديث كنقطة بداية لتحقق من قوة النموذج لأنه الأكثر ترابطا بين كل العلوم الشرعية فمثلا فيه السند والمتن ولكل دراسته فالسند فيه علم الرجال والذي فيه مثلا معرفة الثقات والشيوخ والتلاميذ والتخريج ... أما المتن في البحث عن العلة ...إلخ فهو يشتمل على أنواع مختلفة من الكتب ويحتاج الباحث لتوليد وجمع العديد من البيانات منه مثل شجرة الإسناد
 +  * إعادة تقييم المشروع بعد اسبوع بعد أن يتم تنفيذ ما يلي
 +    - برنامج text renderer
 +    - تمثيل عدد من الكتب بالنموذج مثل كتب دون الكثير من الراقمات (فصول وأبواب ومحتويات دون تفصيل) وتمثيل عدد من الأحاديث تكون مكافئة حجما لمتوسط التشابك في صحيح البخاري للتقييم نموذج البيانات من حيث
 +      * قدرته على استيعاب البيانات المتشابكة والمعقدة
 +      * كلفة العمليات البينية أثناء التحرير
 +      * مقدار الحجم المحجوز
 +      * تناسب الحجم مع التعقيد
 +    - تجربة البحث وتقييم مدى فاعلية البحث وارتباط النتائج بالهدف الذي يتم البحث عنه ranking
 +    - اختبار خوارزميات التجذيع غير الكامل light stemming وفق نموذج 20/80
 +
 +
 +===== تنفيذ عملي =====
 +
 +<​code>​
 +Database queries :
 +
 +update nodes set siblingOrder=siblingOrder+1 where depth=2 and l1=1 and
 +siblingOrder>​1
 +update nodes set siblingOrder=siblingOrder+1 where depth=1 and
 +siblingOrder>​1
 +
 +6) update nodes set  depth=depth+1,​ l3=l2, l2=l1, l1=14 where l1=1 or l1=2
 +
 +-----------------------------------
 +6)
 +
 +update nodes set depth=depth+1 ​ where nodeOrder>​=1 and nodeOrder<​=4;​
 +update nodes set parent=14 ​ where nodeOrder>​=1 and nodeOrder<​=4 and
 +depth=2; # because depth depends on previous step
 +
 +# nodeOrder need to be fixed in other cases
 +# nodeOrder=i2+range2*(nodeOrder+i1)/​range1
 +#​---------------------
 +
 +</​code>​
 +
 +بالنسبة للنموذج الثاني لدينا ما يلي
 +<​code>​
 +f(x)=ceiling(log2(x+1))
 +r=prarentR*1/​2^f(childs_count+1)
 +nodeOrder=parentNodeOrder+siblingOrder*r
 +</​code>​
 +وعند التحريك الجماعي العلاقة هي
 +<​code>​
 +nodeOrder2=(r2/​r1)*(nodeOrder1-i1)+i2
 +</​code>​
 +حيث i هي الأزاحة عن البداية في الحالتين وإن كنا نريدها مباشرة فهي parentNodeOrder
 +
 +{{:​pri:​findingr.png?​480|طريقة حشر الأبناء والأشقاء}}
 +
 +===== مستدرك =====
 +أضيف إلى أنواع الوسوم المعرفة مسبقا
 +  * إلى - رابط إلى مرساة
 +  * آلي - وتعني أنها تطبق على جزء تم توليده آليا يجب أن لا يحرر
 +  * آية - تضمين مقطع من النص قرأني بدلالة السورة وآية البداية وعدد الآيات (1 إن كانت واحدة) ورقم الكلمة من أول الآية ورقم الكلمة من آخر آية وربما يمكن يجمع المعاملات الأربعة رقم واحد فريد عبر bit field (أكبر عدد من الكلمات في الآية الواحدة هو 129 في آية الدين 282 من سورة البقرة - مع ملاحظة إهمال ما يحسبها الحاسوب "​كلمات"​ لكنها ليست كلمات في الرسم العثماني مثل مسافة ثم صلة الوصل ثم مسافة)
 +  * إلى.آية - رابط إلى مقطع من النص القرآني دون عرضه وذلك عبر معرف بالطريقة السابقة
 +  * تدقيق - مرساة خاصة يطلب في التدقيق على العقدة المعنية إن كانت فراغة فإنها تشير لوالدها
 +  * إعادة تسمية header إلى تبويب
 +  * عمل واسمات بأسماء مكافئة للموجودة في docbook على سبيل التجربة
 +===== بايثون =====
 +بدائل ل lucene على بايثون
 +  * http://​stackoverflow.com/​questions/​438315/​is-there-a-pure-python-lucene
 +  * مطابقة ل lucene أهما lupy القديم و nlupy المحدث
 +  * مختلفة عن lucene
 +    * http://​pypi.python.org/​pypi/​Whoosh/​
 +    * في المستودعات باسم xapian-bindings-python انظر http://​xapian.org/​features.php والامثلة هنا http://​xapian.org/​docs/​bindings/​python/​ و http://​www.rkblog.rk.edu.pl/​w/​p/​xapian-python/​
 +
 +===== خربشات =====
 +البحث عن طريقة لاستخراج الصور من ملف pdf
 +
 +  * http://​www.accesspdf.com/​pdftk/​
 +  * http://​www.accesspdf.com/​
 +  * http://​multivalent.sourceforge.net/​index.html
 +  * http://​www.appligent.com/​apstripfiles
 +  * http://​www.scribus.net/?​q=links/​commandlinepdftools
pri/20090321.txt · آخر تعديل: 2015/04/23 00:21 (تحرير خارجي)