الويب العربي

الويب العربي (http://www.arabwebtalk.com/index.php)
-   تطويرالمواقع (http://www.arabwebtalk.com/forumdisplay.php?f=47)
-   -   اخطاء محركات البحث (http://www.arabwebtalk.com/showthread.php?t=35139)

مجد المصرى 01-09-2006 09:51 AM

اخطاء محركات البحث
 
السلام عليكم

كنت وما زلت أحلم بإنشاء محرك بحث يتوافق مع اللغة العربية، لماذا؟ لأن الإتجاه السائد الآن بين شركات التقنية نحو إنشاء محركات بحث قوية تجعل من الوصول إلى ملايين الوثائق عملية سهلة وبسيطة لا تستغرق سوى ثواني معدودة وفي بعض الحالات أقل من ثانية واحدة.

شركة أبل مثلاً ستطرح نظامها القادم Tiger تقنية بحث جديدة ورائعة اسمها Spotlight هذه التقنية تبحث في جميع ملفات الحاسوب وتأتي بالنتائج فوراً، ليس بعد ثانية أو أقل من ثانية بل "فوراً" وهي ذكية كفاية لتجعل من يراها لأول مرة ينبهر في وقت لم يعد يبهرني شخصياً أي شيء، من أراد معرفة تفاصيل هذا النظام وهذه التقنية فليشاهد العرض الذي قدمه ستيف جوبز في معرض WWDC.

مايكروسوفت ستقوم في نظامها القادم باستخدام نظام ملفات جديد هو WinFS يعد بإمكانيات كبيرة، منها سهولة البحث عن الملفات أو المعلومات، شركة Google تملك كما تعرفون أكبر محرك بحث وأكثرها سرعة ودقة، وهي تدخل في كل مجال يمكن أن تبحث فيه، فقد أدخلت خدمات البحث عن الصور، المنتجات، النقاشات (usenet) الأخبار، وخصصات محركات بحث لمواضيع خاصة مثل لينكس، أو ماك، وقامت بشراء شركات أخرى لتعزيز موقعها في مجال البحث عن المعلومات، حتى بدأ الكثير من الناس في التحذير من قوة هذه الشركة وسيطرتها.

كل هذا يدفعني إلى التفكير في إنشاء محرك بحث يتوافق مع اللغة العربية.

أين المشكلة؟
المشكلة تكمن في أن محركات البحث الحالية لا يمكنها أن تفهم اللغة العربية، فمثلاً لو بحثت في جوجل عن كلمة أحمد ستجد 438 ألف نتيجة، أما إن بحثت عن كلمة احمد (لاحظ غياب الهمزة عن حرف الألف) ستجد 302 ألف نتيجة، المفروض أن محرك البحث يجب أن يفهم هنا أن أحمد هي نفسها احمد لكن المستخدم قد يخطأ.

لنأخذ مثالاً باللغة الإنجليزية، إبحث عن كلمة linox ستجد أن جوجل يصحح لك الخطأ الإملائي ويقترح عليك الكلمة الصحيحة وهي linux، لماذا لا يصحح لنا جوجل أو أي محرك بحث أخطائنا الإملائية إن بحثنا باللغة العربية؟ لأنه لا يفهمها.

هناك مشاكل كثيرة عند البحث باللغة العربية:
1) الهمزات، محركات البحث لا تستطيع التفريق بين الهمزات أو لا تستطيع فهم أن كلمة أحمد هي نفسها احمد أو إحمد لكن المستخدم أخطأ، لذلك هي تقدم نتائج مختلفة ولا تستطيع اقتراح الكلمة الصحيحة.

2) الـ التعريف، الكثير من كلماتنا العربية تبدأ بحرفي التعريف، ومن الخطأ تصنيف كلمة الحضارة تحت الحرف ألف ثم لام ثم حاء، بل يجب تجاهل حرفي التعريف وتصنيف الكلمة مباشرة تحت حرف الحاء، محركات البحث لا تفهم هذه القاعدة.

3) هناك الكثر من المواقع تضيف حروفاً على الكلمات، فمثلاً البعض يمد الكلمة هكذا (ســـــــــــــــــــــــ ــــــــردال) وحرف المد هذا يجعل عملية إيجاد النتائج عملية مستحيلة، لنتصور أن موقعاً ما اسمه (القبطان نامق ) وهذا الموقع يضع اسمه في العنوان (title) بهذا الشكل: الـــــــــقبطان نــــــــــــامق.

إذا بحث أحدكم عن جملة: القبطان نامق، فلن يجد الموقع، بل عليه أن يبحث عن كلمة: الـــــــــقبطان نــــــــــــامق بالضبط لكي يجد الموقع، وهذه مشكلة، الكثير من المواقع تضع حروفاً وأشكالاً كثيرة في روابطها وأسمائها (مثل الفتحة والضمة والتنوين) ويجب على محركات البحث أن تتجاهل مثل هذه الحروف والأشكال، فتصبح كلمة نامق هي نفسها كلمة نــــــــــــــــــامق، لكن محركات البحث الآن لا تفهم ذلك.

4) جوجل يتجاهل الكلمات الشائعة في الإنجليزية مثل the وon وhow وغيرها، لدينا في العربية كلمات مماثلة مثل في ومن وأين، لكنه لا يتجاهلها لأنه لا يفهم العربية، وكذلك محركات البحث الأخرى.

هذه مجموعة من المشاكل التي أراها في محركات البحث، لو تم حلها بنجاح يمكننا أن ننتقل إلى مرحلة أكبر وأكثر تعقيداً وهي تتعلق بالنحو والإملاء والصرف في اللغة العربية، ويعني ذلك أننا استطعنا حل جزء كبير من مشكلة محركات البحث مع لغتنا.


ما هو الحل؟
لست مبرمجاً، كنت ولا زلت أحلم بإنشاء كائن object بلغة php يحل هذه المشاكل ويمكن لأي شخص تركيبه في أي برنامج ليصنع محرك بحث يتجاوز هذه المشاكل.

المطلوب أن يقوم البعض بإنشاء محرك بحث، وأعني بذلك المحرك نفسه وليس الواجهة، ومن المهم أن يتم إنشاء هذا المحرك بلغة php وبلغات أخرى مثل c وC# وجافا فالمشكلة ليست في المواقع فقط بل في البرامج أيضاً وفي أنظمة التشغيل.

الحلول المقترحة:
1) تجاهل حرف أ واعتبار أن أ هو نفسه ا أو إ.

2) إنشاء قاموس إملائي يقترح الكلمة الصحيحة على الباحث في حال أخطأ الباحث في الإملاء، ويجب أن يعطي الباحث أقرب كلمة لما يبحث عنه، فلو بحث عن كلمة علمئ فعليه أن يقترح عليه كلمة صحيحة وهي: علماء.

3) تجاهل الحركات والتنوين والحروف الغريبة مثل حرف الـــــمد والنجوم وغيرها: ^&*$#@ّ!:"،

4) تجاهل ال التعريف، فكلمة العلماء يجب أن تكون هي نفسها كلمة علماء لدى محرك البحث.

5) تجاهل الكلمات التي تستخدم كثيراً مثل من وأين وحرف الواو حينما يسبق الكلمة (مثال: وقال لي فلان ..... ) كلمة قال هنا يجب أن يتجاهل محرك البحث حرف الواو الذي يسبقها فيتعامل مع كلمة وقال مثل ما يتعامل مع كلمة قال.


في النهاية ...
هذه ملاحظات سريعة على موضوع معقد، أعتقد أن أكثر الحلول تعتمد على تجاهل الحروف أو معاملتها بالمثل، فكما قلت من قبل يجب أن يفهم محرك البحث أن أ هو نفسه ا أو إ لكن الباحث قد يخطأ، وللمزيد من الدقة لا بد من دراسة النحو والصرف وفنون اللغة الأخرى لإنشاء محرك بحث يفهم العربية بشكل كبير.

أعتقد أن شركة صخر قادرة على فعل شيء في هذا المجال، فلديهما أبحاث تتعلق باللغة وقامت بإنتاج الكثير من المنتجات والخدمات التي تقدمها الآن لشركات عالمية مثل IBM وإنتل، لكن نحن كمجموعة من الأفراد علينا ألا نعول على شركة يجب أن نعمل بأنفسنا.

وهذا ما أستطيع أن أقدمه الآن، والمطلوب هو برمجة كائن فقط يمكن دمجه ضمن برامج أخرى، طبعاً ما كتبته الآن هو مجرد تصور مبدئي، لا بد من نقاش بعض النقاط والتوسع فيها أكثر والاستعانة بالمتخصصين في اللغة، وإجراء اختبارات لمعرفة أوجه القصور في التصور الذي طرحته.
م ن ق و ل



جميع الأوقات بتوقيت مكة المكرمة. الساعة الآن » 05:00 AM.

Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © ArabWebTalk.Com 2004-2012