You are on page 1of 19

‫دراسة حول تصنيف النصوص العربية باستخدام‬

‫األنطولوجيات‬

‫(‪)2‬‬ ‫(‪)1‬‬
‫حسام الحمصي‬ ‫ريما القمحة‬
‫‪hussam.alhomsy@gmail.com‬‬ ‫‪reema47@gmail.com‬‬
‫قسم الرياضيات – كلية العلوم – جامعة دمشق – سورية‬

‫الملخص‬
‫ّ‬
‫نقدم في هذا البحث خوارزمية لتجميع نصوص اللغة العربية‪ .‬حيث نفذنا الخوارزمية على‬
‫‪ 5‬أنطولوجيات عبر برنامج بلغة الجافا‪ ،‬ثم عالجنا النصوص بحيث حصلنا على‬
‫‪ 666333‬مفردة مع أوزانها المقابلة لكل أنطولوجيا‪ .‬وقد أثبتت الخوارزمية فعاليتها في‬
‫تحسين أداء المصنفات التي تم تجربتها في هذه الدراسة وهي )‪ )NB، SVM‬مقارنة مع‬
‫نتائج مصنفات اللغة العربية السابقة‪.‬‬

‫الكلمات المفتاحية‪ :‬األنطولوجيا‪ ،‬تصنيف المستندات‪ ،‬تصنيف النصوص‪ ،‬تنقيب النصوص‪،‬‬


‫‪ ،NB ،SVM‬الويب الداللي‪ ،‬اللغة العربية‪.‬‬

‫(‪ )1‬دكتورة‪ ،‬جامعة دمشق‪ ،‬كلية العلوم‬


‫(‪ )2‬طالب ماجستير‪ ،‬جامعة دمشق‪ ،‬كلية العلوم‬
Study about Arabic Text Documents Classification
using Ontologies

Reema Al-Kamha(1) Hussam Al-Homsy(2)


reema47@gmail.com hussam.alhomsy@gmail.com
Department of Mathematics, Faculty of Science, Damascus
University, Syria

Abstract
In this paper, we introduce an algorithm for grouping Arabic
documents for building an ontology and its words. We execute the
algorithm on five ontologies using Java. We manage the
documents by getting 666333 words with its weights
corresponding to each ontology. The algorithm had proved its
efficiency in optimizing classifiers (SVM, NB) performance, which
we tested in this study, comparing with former classifiers results
for Arabic language.

Key Words: Ontology, Documents classification, Text categorization,


Text mining, SVM, NB, Semantic web, Arabic language.

(1)Associate professor, Damascus University, Faculty of Science.


(2)Master student, Damascus University, Faculty of Science.

2
‫‪-1‬المقدمة‪:‬‬

‫مسألة تصنيف النصوص هي مسألة هامة في الوقت الراهن على الرغم من قدمها‪ ،‬فمع‬
‫تطور التكنولوجيا والحجم الهائل من المعلومات في شتى المجاالت أصبحت الحاجة ملحة‬
‫إلى خوارزميات وأدوات جديدة تسرع وتزيد دقة تصنيف النصوص‪.‬‬

‫تستخدم عملية تصنيف النصوص في عدة تطبيقات مثل تصفية النصوص‪ ،‬تصفية رسائل‬
‫البريد االلكتروني المزعجة ‪ ،spam‬تصفية الرسائل االلكترونية‪ ،‬التحكم باألخبار‪ ،‬الفهرسة‪،‬‬
‫تنظيم واسترجاع المستندات ]‪ .[1‬وتصنيف النصوص بشكل عام تهدف إلى تحديد انتماء‬
‫نص ما إلى فئة معينة أو إلى غيرها من الفئات‪.‬‬

‫وتلعب األنطولوجيا دو اًر كبي ار في اآلونة األخيرة في كثير من التطبيقات واألنظمة البرمجية‬
‫المتقدمة مثل محركات بحث المعلومات والبرامج المضادة للفيروسات‪ .‬وتعرف األنطولوجيا‬
‫بأنها توصيف صريح (واضح) لمفاهيم مشتركة ]‪ .[2‬فاألنطولوجيا تقدم تعريف ًا مشتركاً‬
‫للكائنات المدروسة والعالقات فيما بينها ]‪ .[8‬وال يخفى ارتباط األنطولوجيا بالويب الداللي‬
‫الذي يعتبر الجيل القادم للويب‪ ،‬فهي عامل رئيسي في تحقيق رؤية الويب الداللي‪.‬‬
‫إن تصنيف النصوص باستخدام األنطولوجي هي عملية واعدة بالنجاح كون األنطولوجيا‬
‫تقدم وصفا دقيقا للكائنات ومرادفات ألسمائها والعالقات فيما بينها وبالتالي عملية تصنيف‬
‫النصوص إلى مجموعة من األصناف تصبح أكثر دقة‪ .‬العديد من الدراسات واألبحاث‬
‫اهتمت بموضوع تصنيف النصوص باستخدام األنطولوجيا‪ .‬حيث قدم [‪ )2112( ]11‬نظاماً‬
‫يقوم بتصنيف صفحات الويب باستخدام األنطولوجيا‪ ،‬وقد ركز البحث على تصنيف‬
‫المستندات باالعتماد على تشابه المصطلحات المستخرجة من صفحات الويب وعلى فئات‬
‫األنطولوجيا‪ ،‬وألنه تم بناء األنطولوجيا(المفاهيم والعالقات بينها) يدويا وضمن مجال‬
‫مخصص لم توصف األنطولوجيا بدقة كبيرة ولم يتوقع منها دقة كبيرة‪ .‬وقدم [‪)2113( ]3‬‬
‫آخر لتصنيف مستندات الويب يقوم بتصنيف المستندات عبر استخالصها من مجال‬
‫نظاماً اً‬
‫أنطولوجيا محدد‪ ،‬وقد تم تطبيقه في جانبين هما المواد الكيميائية والبيانات النصية في‬
‫‪3‬‬
‫مجموعات موقع ياهوو االلكتروني )‪ ،(www.yahoo.com‬بالمقارنة مع نتائج مجال المواد‬
‫الكيميائية (صفحات الويب التي تحوي معلومات حول إنتاج بعض المواد الكيميائية) فإن‬
‫نتائج مجموعات ياهوو لم تظهر تحسينا ملحوظاً‪ ،‬ونستنتج أن االنطولوجيا فعالة في حالة‬
‫وجود عدد كبير من المترادفات والعالقات التصنيفية‪ .‬وفي [‪ )2116( ]11‬نظام آخر يعتمد‬
‫على أنطولوجيا لتصنيف األخبار من الصحف االلكترونية‪ ،‬وقد اعتمد على أنطولوجيا أخبار‬
‫مبنية على أكواد أخبار مجلس االتصاالت الصحفي الدولي ‪International Press‬‬
‫)‪ ،Telecommunications Council (IPTC‬وتوصيف الموضوع محدد فقط بهرمية‬
‫ثالثية (اسم الموضوع‪ ،‬مادة الموضوع‪ ،‬تفاصيل الموضوع) بالتالي هذا النظام غير قادر‬
‫على تصنيف الكثير من المقاالت بدقة‪ .‬وقدم ]‪ )2112( [12‬برنامج حاسوبي للتصنيف‬
‫اآللي للمستندات ‪-‬حسب مخططات ‪ DDC‬التي تم إغناؤها بقائمة ‪ -Sears‬باستخدام‬
‫مجال أنطولوجي محدد يتعلق فقط بالفلسفة والمواضيع المتعلقة بما وراء الطبيعة وكما يمكن‬
‫تطبيق العالقات الداللية خارج األنطولوجيا‪ ،‬ولكن مخططات ‪ DDC‬عددها محدود بسبب‬
‫صعوبة تطوير قواعد بيانات كهذه‪ ،‬كما أن التنفيذ تم على ‪ 26‬مستند فقط تم اختيارها يدوياً‬
‫من ‪ .DDC‬وفي ]‪ (2014) [1‬قدم خوارزمية لتصنيف مستندات الويب العربية واإلنكليزية‬
‫تدعى )‪ (BiLTc‬وقاموا بالدراسة على ‪ 6‬مجموعات فقط قاموا ببنائها يدويا هي إسالمي‪،‬‬
‫رياضة‪ ،‬عالمي كل منها مؤلف من ‪ 611‬مستند باللغة العربية و‪ 611‬مستند باللغة‬
‫اإلنكليزية‪ ،‬وأظهرت نتائجهم تقدم مصنفهم على الدراسات السابقة المتعلقة باللغتين‪ ،‬ونالحظ‬
‫أن آلية اختيار النصوص كانت يدوية‪ ،‬كما أن عدد المجموعات ليس كبي ًار كفاية بحيث‬
‫تظهر دقة المصنف بشكل أكبر‪.‬‬

‫وللقيام بعملية تصنيف النصوص باستخدام األنطولوجيات في مقالتنا هذه قدمنا خوارزمية‬
‫جديدة لبناء مجموعة من ‪ 2‬أنطولوجيات بسيطة باللغة العربية آلي ًا وقمنا ببرمجتها بلغة‬
‫الجافا وتنفيذها فاحتوت ما يقرب من ‪ 21‬ألف ملخص لصفحات الويب‪ ،‬ثم استخدمنا‬
‫خوارزميات التعلم اآللي مثل ‪ NB ،SVM‬لبناء نماذج المصنفات واختبارها‪.‬‬

‫‪4‬‬
‫ولقد اتبعنا التقسيم التالي لباقي أجزاء المقالة‪ :‬في الفقرة ‪ 2‬عرضنا أهداف البحث وطرائقه‪.‬‬
‫وفي الفقرة ‪ 6‬عرضنا خطوات العمل المتبعة في البحث ومراحل التنفيذ‪ ،‬وتشتمل هذه الفقرة‬
‫على الخوارزمية التي قدمناها إلنشاء األنطولوجيات واستخدامها في تصنيف النصوص‪.‬‬
‫وفي الفقرة ‪ 4‬قدمنا النتائج والتوصيات‪ ،‬حيث حصلنا على مصنف له قيمة‬
‫‪F_measure=99.31%‬‬
‫‪-2‬هدف البحث وطرائقه‪:‬‬

‫يهدف هذا البحث إلى تصنيف النصوص العربية بشكل آلي ضمن أنطولوجيات معرفة‬
‫مسبقاً باستخدام خوارزميات التصنيف المشهورة والتي أثبتت فعاليتها في كثير من األبحاث‬
‫في هذا المجال مثل ‪ .[7][3] NB ،SVM‬ولتحديد األنطولوجيا أو الصف المرتبط بالنص‬
‫هناك مجموعة من الخطوات المتبعة عادة‪ .‬وهي بشكل أساسي معالجة النصوص‪ ،‬تقسيم‬
‫النصوص‪ ،‬والتصنيف التي تشمل تدريب النموذج واختباره‪.‬‬

‫فقد وضعنا خوارزمية تقوم ببناء عدة أنطولوجيات وكل أنطولوجيا تختص بنطاق (مجال)‬
‫معين مثل (األخبار‪ ،‬اقتصاد‪ ،‬رياضة‪ .)...‬واستخدمنا هذه األنطولوجيات المبنية في تصنيف‬
‫النصوص العربية‪.‬‬

‫‪-3‬خطوات العمل المتبعة في البحث ومراحل التنفيذ‪:‬‬

‫وقمنا بتنفيذ البحث وفق المراحل التالية‪:‬‬


‫‪ )1‬إنشاء النصوص المتعلقة باألنطولوجيات المراد تدريب المصنف عليها واختباره‪.‬‬
‫‪ )2‬إجراء عمليات معالجة النصوص وتجهيزها‪.‬‬
‫‪ )3‬تدريب مصنفين هما ‪ NB ،SVM‬واختبارهما‪.‬‬

‫‪-1-3‬إنشاء النصوص‬
‫قمنا بإنشاء النصوص التي نريد تطبيق البحث عليها وهي مصنفة ضمن األنطولوجيات‬
‫التالية‪ :‬أخبار‪ ،‬اقتصاد وأعمال‪ ،‬علم وتكنولوجيا‪ ،‬رياضة‪ ،‬أماكن ومواقع‪ .‬بالنسبة لجميع‬

‫‪5‬‬
‫الفئات السابقة فقد تم تجميعها وفق خوارزمية العمل المقترحة من النتائج المسترجعة من‬
‫محرك بحث ‪ Google‬نتيجة استعالم معين‪ ،‬حيث تم حفظ الملخصات )‪ (snippets‬التي‬
‫تأتي مع كل نتيجة‪ ،‬وقد تم كتابة برنامج بلغة الجافا للقيام بهذه المهمة‪ ،‬ومن الصعوبات‬
‫محرك البحث ال يتيح أكثر من ‪ 100‬استعالم باليوم‪ .‬فحصلنا على ‪ 2008‬نص‪ .‬أما‬
‫بالنسبة لالستعالمات فقد طبقنا ثالثة استعالمات لكل أنطولوجيا كل منها مكون من سبع‬
‫مفردات كما في الجدول التالي‪:‬‬

‫جدول(‪ :)1‬جدول االستعالمات‬

‫عدد النصوص‬ ‫االستعالمات‬ ‫األنطولوجيا‬


‫‪75‬‬ ‫اجتمع وزير خارجية ناطق متحدث قرر اتفق‬
‫‪180‬‬ ‫سلم حرب نزاع الجئ قتل أمن هدد‬ ‫أخبار‬
‫‪327‬‬

‫‪72‬‬ ‫انتخب فاز ترشح وكالة أخبار صحيفة ندد‬


‫‪117‬‬ ‫صفقة تجارة عقد بيع شراء نقد عملة‬
‫اقتصاد‬
‫‪153‬‬ ‫صكوك بنك مؤشر سهم اقتصاد ربح خسارة‬
‫‪453‬‬

‫وأعمال‬
‫‪183‬‬ ‫بناء تحويل مال نسبة تراجع استثمار سعر‬
‫‪243‬‬ ‫اخترع كشف أظهر طور أثبت حقق باحثون‬
‫علم‬
‫‪243‬‬ ‫علم حقيقة طاقة حساب فحص قياس عالج‬
‫‪552‬‬

‫وتكنولوجيا‬
‫‪66‬‬ ‫تكنولوجيا روبوت جهاز إصدار شركة ثغرة برنامج‬
‫‪156‬‬ ‫هدف نتيجة فوز خسر تعادل طرد انتقل‬
‫‪202‬‬ ‫ألعاب قوى رياضة بدنية سباحة قدم سلة‬ ‫رياضة‬
‫‪403‬‬

‫‪45‬‬ ‫نادي ملعب لعبة مدرب دوري أولمبياد مشجع‬


‫‪24‬‬ ‫تشتهر يحدها شمال جنوب مدن بلد مساحتها‬
‫أماكن‬
‫‪132‬‬ ‫معالم وصول تنقل جانب جوار مقابل عبر‬
‫‪273‬‬

‫ومواقع‬
‫‪117‬‬ ‫موقع قرب تقع تطل شارع مكان بناء‬

‫‪6‬‬
‫‪-1-1-3‬خوارزمية العمل المقترحة لتجميع نصوص األنطولوجيا‪:‬‬

‫‪ )1‬نقوم ببناء استعالم أساسي ‪ "Basic Query" BQ‬له المواصفات التالية‪:‬‬


‫‪ .a‬أن تصف مفرداته األنطولوجيا المدروسة ‪"Ontology Attributes" OA‬‬
‫المراد تجميع النصوص حولها‬
‫‪ .b‬أن تكون الواصفات عامة قدر اإلمكان‬
‫‪ .c‬أن يشتمل على أكثر من مفردة واصفة على أال يتجاوز ‪ 7‬حيث يضيق‬
‫النطاق كثي ار‪ ،‬ويمكن متابعة ذلك من خالل عدد نتائج البحث‪.‬‬
‫‪ .d‬ليس بالضرورة أن تشكل مفردات ‪ BQ‬جملة مفهومة‪ ،‬إنما واصفات‬
‫متالحقة بينها فراغ )‪ (white space‬أو فاصلة‪.‬‬
‫‪ )2‬توسيع ‪ BQ‬عبر الحصول على مرادفات للواصفات باستخدام أنطولوجيا وردنت‬
‫العربية ‪ ،Arabic WordNet‬بحيث نضع المفردة المرادفة مكان المفردة األصلية‬
‫في االستعالم الجديد مع الحفاظ على الواصفات األساسية للمفردات األخرى وبذلك‬
‫نحصل على استعالمات موسعة ‪."Extended Queries" EQ‬‬
‫‪ )6‬إرسال ‪ BQ‬و‪ EQ‬إلى محرك بحث ‪ Google‬وحفظ ملخصات أول ‪ 30‬نتيجة‬
‫لكل استعالم ‪ "Query Snippets" QS‬بحيث يحتوي كل نص على ‪10‬‬
‫ملخصات على األكثر‪.‬‬

‫وفيما يلي مخطط الخوارزمية المقترحة‪:‬‬

‫‪7‬‬
‫‪WordNet‬‬ ‫‪BQ‬‬

‫‪EQ n‬‬ ‫‪EQ 2‬‬ ‫‪EQ 1‬‬

‫‪QS‬‬ ‫‪QS‬‬ ‫‪QS‬‬ ‫‪QS‬‬

‫‪DOCs‬‬ ‫‪DOCs‬‬ ‫‪DOCs‬‬


‫‪DOCs‬‬

‫الشكل(‪ :)1‬مخطط خوارزمية تجميع النصوص‬

‫أما البرنامج الذي كتبناه فهو بلغة الجافا ويتألف من ‪ 4‬صفوف أساسية ويستخدم مكتبتان‬
‫خارجيتان هما (‪ )quick-json, AWN‬إضافة إلى مكتبات لغة الجافا‬

‫‪ :Java Sourse Code AWN April-23-2014‬وهي مكتبة قيد التطوير تعالج ملف‬
‫بيانات وردنت العربي وهو بصيغة ‪ ،XML‬وقد حصلنا على تحديث لها يسمح لنا بالحصول‬
‫على المترادفات من قبل المؤلف‪.‬‬

‫‪ :quick-json-1.0.2.3‬وهي مكتبة تسمح لنا بالتعامل مع الملفات بصيغة ‪ ،json‬وقد‬


‫استخدمناها للتعامل مع رد محرك بحث ‪ Google‬على االستعالمات‪.‬‬

‫ومخطط الصفوف كالتالي‪:‬‬

‫‪8‬‬
‫الشكل(‪ :)2‬بنية صفوف برنامج الجافا لتنفيذ الخوارزمية‬

‫الصف ‪ WtG‬هو البرنامج الذي يقوم بالتنفيذ واستدعاء دوال الصفوف الباقية‪.‬‬

‫الصف ‪ GS‬يقوم بجلب ملخصات النتائج عبر إنشاء كائن من ‪ GR‬وكتابة الملخصات إلى‬
‫ملف بصيغة ‪ txt‬بتنسيق ‪.Windows-1256‬‬

‫الصف ‪ GR‬يقوم بإنشاء اتصال عبر الشبكة العنكبوتية إلى واجهة محرك البحث ‪Google‬‬
‫المخصص‪ ،‬ثم يقوم بإرسال االستعالم إليه ومعالجة استجابة محرك البحث‪.‬‬

‫الصف ‪ Synums‬يقوم بجلب مرادفات الكلمة العربية‪.‬‬

‫‪9‬‬
‫‪-2-3‬معالجة نصوص األنطولوجيات وتجهيزها‪:‬‬

‫وقد تمت على عدة مراحل هي‪ :‬تقسيم النص وقد قمنا بالتقسيم عند كل ما ليس حرفا‪،‬‬
‫عملية تنظيف النص وهي إزالة كلمات اللغة اإلنكليزية باإلضافة إلى الرموز الخاصة‬
‫واألرقام وقد استخدمنا لذلك التعابير المنتظمة"‪ ،"regular expression‬إزالة كلمات التوقف‬
‫العربية‪ ،‬التجذير الخفيف للغة العربية‪ ،‬وقد استبعدنا عملية اختيار المكونات من أجل معالجة‬
‫جميع المفردات‪ ،‬تشكيل ‪ N-gram‬بطول ‪ 2‬وقد استخدمنا في البرمجة األداة‬
‫‪ ،RapidMiner‬فحصلنا على ‪ 666333‬واصفة(مفردة) مع أوزانها المقابلة لكل أنطولوجيا‪.‬‬

‫‪ -1-2-3‬معالجة النصوص‪:‬‬
‫وهي عملية هامة تهدف إلى صياغة النصوص بشكل يسهل عمليات المعالجة الالحقة‬
‫عليه‪ ،‬واختيار المفردات التي تميز النص‪ .‬ولكن بشكل عام يمكن للنص أن يمر على عدة‬
‫مراحل قبل أن يتم استخدامه الحقاً في عملية التصنيف‪ .‬نذكر منها‪:‬‬

‫الحصول على المفردات)‪:(Tokenizing‬‬


‫في هذه العملية نقوم بتقسيم النص إلى كلمات ‪ Tokens‬ومعظم األدوات التي تقوم بهذه‬
‫العملية تستخدم محرف المسافة " " للتقسيم‪ ،‬كما تتيح بعض األدوات إضافة محارف من‬
‫قبل المستخدم مثل الفاصلة "‪ "،‬النقطة "‪ ".‬والسطر الجديد‪.‬‬

‫تنظيف النص)‪:(Cleaning text‬‬


‫تعتبر عملية هامة ومساعدة الحقاً في عملية التصنيف فهي تزيل الكلمات غير الهامة‬
‫واألرقام والرموز الخاصة مثل‪ ،"!,@,#,$,%,^,&,*,(,),-,|,\,/,',;,],[,{,}" :‬وقد‬
‫استخدمناها إلزالة المحارف االنكليزية من النص‪.‬‬

‫االستبدال)‪:(Replacement‬‬
‫وهي عملية مفيدة فيما يتعلق بالنصوص العربية‪ ،‬تقوم باستبدال حروف مثل "أ‪،‬إ‪،‬آ‪،‬اً" إلى‬
‫"ا"‪ .‬كما يمكن استخدامها إلزالة أي مقطع من النص واستبداله بمقطع آخر‪.‬‬
‫‪11‬‬
‫فلترة كلمات التوقف)‪:(Filtering stop words‬‬
‫نقوم في هذه العملية بحذف الكلمات التي ليس لها أهمية في المعالجة الحقاً‪ ،‬وهي مثل‬
‫حروف الجر‪ ،‬ضمائر التملك‪ ،‬أدوات االستفهام فهناك ما يقارب ‪ 692‬كلمة عربية صنفت‬
‫على أنها كلمات توقف]‪.[1‬‬

‫التجذير)‪:(Stemming‬‬
‫في هذه العملية نقوم بإزالة الحروف اإلضافية من الكلمة للحصول على جذرها‪ ،‬ولها نوعين‪:‬‬

‫التجذير التام‪ :‬وهو تجذير يعود بالكلمة إلى أصلها ومصدرها في اللغة العربية فالكلمات‬
‫مثل (كتاب‪ ،‬كتب‪ ،‬مكتبة‪ ،‬كاتب) يعود بها إلى جذرها (كتب) مما يسبب ضياعاً في الداللة‬
‫لدى تصنيف النصوص‪ ،‬ومثال عليها ‪.[9] Khoja Arabic Steming‬‬

‫التجذير الخفيف‪ :‬وهو تجذير يزيل أحرف الزيادة عن الكلمة دون ضياع داللتها‪ ،‬مثل‪:‬‬
‫(الكتاب)⟵(كتاب) و (الكاتب)⟵(كاتب)‪ ،‬ومثال عليها ‪.[5] light stemming‬‬

‫اختيار المكونات)‪:(Feature selection‬‬


‫وهي عملية اختيار أفضل ‪ k‬مفردة كمجموعة جزئية من المفردات‪ ،‬واستخدام هذه المجموعة‬
‫فقط في بناء المصنف لخفض عبئ الذاكرة‪ ،‬ومن أدواتها‪ (x2):‬ويدعى ‪Chi Squared‬‬
‫‪ ،Static‬يقيس الوزن بين الصفة والصف الذي تنتمي له‪ ،‬ويعطى قانونه بالعالقة‬

‫‪(𝑂 − 𝐸)2‬‬
‫∑ = ‪𝑋2‬‬
‫𝐸‬
‫حيث ‪ :O‬التكرار المالحظ‪ :E ،‬التكرار المتوقع‪ .‬كلما زادت قيمته كلما كان االرتباط أقوى‬

‫تمثيل البيانات)‪:(Data representation‬‬


‫أحد طرق تمثيل البيانات هي ‪ N-grams‬حيث تقوم بتمثيل مجموعة النصوص على شكل‬
‫مجموعات من‪ N :‬مفردة متقاربة‪ N-1 ،‬مفردة متقاربة‪ ،...،‬مفردة واحدة‪ .‬ويعطي كل منها‬
‫وزناً يقابل كل أنطولوجي‪.‬‬
‫‪11‬‬
‫‪-2-2-3‬تصنيف النصوص‪:‬‬

‫في هذه المرحلة نقسم النصوص إلى قسمين األول لتدريب النظام البرمجي وتعليمه حتى‬
‫يميز األنماط )‪ (Patterns‬المختلفة من الصفوف )‪ ،(Classes‬والثاني الختبار النظام‬
‫البرمجي وتقييمه‪.‬‬

‫ومن األدوات البرمجية تقوم بهذه العملية معامل ‪ X-Validation Operator‬وله‬


‫عمليتين جزئيتين‪ ،‬األولى‪ :‬التدريب وتستخدم لتدريب النموذج الذي يستخدم الحق ًا في‬
‫العملية الجزئية الثانية وهي‪ :‬االختبار]‪.[1‬‬

‫وهو يعتمد على خوارزمية ‪ k-fold cross validation‬عادة تكون ‪ ،k=10‬والتي تقوم‬
‫الخوارزمية بثالثة أمور‪:‬‬

‫‪ ‬تقسيم النصوص إلى ‪ k‬مجموعة متساوية بشكل عشوائي‬


‫‪ ‬تدريب النموذج من خالل ‪ k-1‬مجموعة واختباره على المجموعة ‪ k‬المتبقية‬
‫‪ ‬تكرار العمل السابق ‪ k‬مرات وفي كل مرة حساب الخطأ‪ ،‬ثم يتم أخذ المتوسط‬
‫لألخطاء جميعها‬

‫‪-3-3‬تدريب النموذج واختباره‪:‬‬

‫‪-1-3-3‬تدريب النظام البرمجي‪:‬‬

‫وتفيد هذه المرحلة في إعطاء القدرة للنظام البرمجي على تمييز أنماط مختلفة من الفئات‬
‫التي نريد تصنيف النصوص وفقها‬

‫وهناك عدة خوارزميات يمكن استخدامها لهذا الغرض‪ ،‬ولكن أشهرها‪:‬‬

‫‪ (Support Vector Machine) SVM ‬خوارزمية الشعاع المدعم‬


‫‪ (Naive Bayes) NB ‬خوارزمية بايز البسيطة‬

‫‪12‬‬
‫‪ -2-3-3‬اختبار النظام البرمجي‪:‬‬

‫في هذه المرحلة نطبق النموذج المدرب على نصوص االختبار من أجل تقييم أداء‬
‫النموذج‪ ،‬وذلك عادة عبر حساب مجموعة من المعايير المعروفة لهذا الغرض مثل‬
‫)‪ .[4] (F1-mesure, precision, recall‬حيث‪:‬‬
‫‪# correct  classes  found‬‬
‫‪Precision ‬‬
‫‪# classes  found‬‬
‫‪ :P‬نسبة عدد الصفوف التي اكتشفت بشكل صحيح إلى عدد الصفوف المكتشفة‪.‬‬

‫‪# correct  classes  found‬‬


‫‪Recall ‬‬
‫‪# correct  classes‬‬

‫‪ :R‬نسبة عدد الصفوف التي اكتشفت بشكل صحيح إلى عدد الصفوف الصحيحة‪.‬‬

‫‪2.P.R‬‬
‫‪F  Measure ‬‬
‫‪PR‬‬

‫‪ :F-measure‬وهذا المعيار كلما زادت قيمته كلما كان المصنف ذو فاعلية ودقة أكبر‬

‫‪-3-3-3‬تطبيق مرحلتي التدريب واالختبار‪:‬‬

‫وقد قمنا بتدريب نموذجين باستخدام خوارزميتي التصنيف ‪ .NB ،SVM‬واستخدمنا‬


‫‪ 10-fold cross validation‬في عملية التدريب واالختبار‪ ،‬ولم نتمكن من تنفيذ‬
‫العملية على حاسب مواصفاته دون (‪ )RAM:8GB, OS:64-bit‬وقد جاء التقييم‬
‫كالتالي‪:‬‬

‫تقييم المصنف ‪:NB‬‬

‫‪ ‬دقة المصنف)‪)0.80% +/-) 99.00% :(Accuracy‬‬


‫‪ ‬خطأ التصنيف(‪)0.80% +/-) 1.00% :)Classification error‬‬

‫‪13‬‬
‫‪ ‬متوسط وزن االستدعاء(‪99.04% :)Weighted mean recall‬‬
‫(‪ )0.78% +/-‬مع األوزان التالية (‪1, 1, 1, 1, 1:)weights‬‬
‫‪ ‬متوسط وزن األداء(‪98.68% :)Weighted mean precision‬‬
‫)‪ )1.02% +/-‬مع األوزان التالية (‪1, 1, 1, 1, 1:)weights‬‬
‫‪:F-measure ‬‬
‫‪2*99.04*98.68/(99.04+98.68)=98.86%‬‬

‫وجدول االستدعاء واألداء ‪ recall_precision‬كالتالي‪:‬‬

‫جدول(‪ :)2‬نتائج المصنف ‪NB‬‬

‫الحقيقة‬
‫أماكن‬ ‫علم‬ ‫اقتصاد‬ ‫‪class‬‬
‫رياضة‬ ‫أخبار‬
‫ومواقع‬ ‫وتكنولوجيا‬ ‫وأعمال‬ ‫‪precision‬‬
‫التوقع‬
‫أماكن‬
‫‪272‬‬ ‫‪7‬‬ ‫‪5‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪93.47%‬‬
‫ومواقع‬
‫رياضة‬ ‫‪0‬‬ ‫‪396‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪100.00%‬‬
‫علم‬
‫‪0‬‬ ‫‪0‬‬ ‫‪547‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪100.00%‬‬
‫وتكنولوجيا‬
‫اقتصاد‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪449‬‬ ‫‪0‬‬ ‫‪100.00%‬‬
‫وأعمال‬
‫أخبار‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪324‬‬ ‫‪99.69%‬‬
‫‪class‬‬ ‫‪99.63‬‬ ‫‪98.26‬‬ ‫‪99.12‬‬ ‫‪99.08‬‬
‫‪99.09%‬‬
‫‪recall‬‬ ‫‪%‬‬ ‫‪%‬‬ ‫‪%‬‬ ‫‪%‬‬

‫‪14‬‬
‫وتقييم المصنف ‪:SVM‬‬

‫‪ ‬دقة المصنف)‪(0.64% +/-) 99.20% :(Accuracy‬‬


‫‪ ‬خطأ التصنيف(‪)0.64% +/-) 0.80% :)Classification error‬‬
‫‪ ‬متوسط وزن االستدعاء(‪99.17% :)Weighted mean recall‬‬
‫)‪ (0.66%+/-‬مع األوزان التالية (‪1, 1, 1, 1, 1:)weights‬‬
‫‪ ‬متوسط وزن األداء(‪99.45% :)Weighted mean precision‬‬
‫)‪ )0.43% +/-‬مع األوزان التالية (‪1, 1, 1, 1, 1:)weights‬‬
‫‪:F-measure ‬‬
‫‪2*99.17*99.45/(99.17+99.45)=99.31%‬‬
‫وجدول ‪ recall_precision‬كالتالي‪:‬‬
‫جدول(‪ :)6‬نتائج المصنف ‪SVM‬‬

‫الحقيقة‬
‫أماكن‬ ‫علم‬ ‫اقتصاد‬ ‫‪class‬‬
‫رياضة‬ ‫أخبار‬
‫ومواقع‬ ‫وتكنولوجيا‬ ‫وأعمال‬ ‫‪precision‬‬
‫التوقع‬
‫أماكن‬
‫‪272‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪100.00%‬‬
‫ومواقع‬
‫رياضة‬ ‫‪0‬‬ ‫‪395‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪100.00%‬‬
‫علم‬
‫‪1‬‬ ‫‪8‬‬ ‫‪552‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪97.18%‬‬
‫وتكنولوجيا‬
‫اقتصاد‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪449‬‬ ‫‪0‬‬ ‫‪100.00%‬‬
‫وأعمال‬
‫أخبار‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪324‬‬ ‫‪100.00%‬‬
‫‪class‬‬ ‫‪99.63‬‬ ‫‪98.01‬‬ ‫‪100.00‬‬ ‫‪99.12‬‬ ‫‪99.08‬‬
‫‪recall‬‬ ‫‪%‬‬ ‫‪%‬‬ ‫‪%‬‬ ‫‪%‬‬ ‫‪%‬‬
‫‪15‬‬
‫والمقارنة بين المصنفين كما في الشكل التالي‪:‬‬

‫مقارنة بين المصنفين ‪SVM,NB‬‬

‫‪100‬‬

‫‪99.5‬‬

‫‪99‬‬

‫‪98.5‬‬

‫‪98‬‬
‫دقة المصنف‬ ‫متوسط وزن االستدعاء‬ ‫متوسط وزن األداء‬ ‫‪F-mesure‬‬

‫‪NB‬‬ ‫‪SVM‬‬

‫الشكل(‪ :)6‬مقارنة بين نتائج المصنفين ‪SVM, NB‬‬

‫‪-4‬النتائج والتوصيات‪:‬‬

‫كما هو واضح من النتائج السابقة فعلى الرغم من تقارب نتائج المصنفين ‪ NB ،SVM‬إال‬
‫أن مصنف ‪ SVM‬حقق نتائج أفضل من نتائج مصنف ‪ .NB‬حيث كانت دقة ‪ SVM‬هي‬
‫‪ %22.21‬بينما ‪ NB‬هي ‪ ،%22‬وبالنسبة للمقياس ‪ F-mesure‬فقد حقق ‪ SVM‬نسبة‬
‫‪ %22.61‬مقابل ‪ %26.63‬حققها ‪.NB‬‬

‫أجرها ]‪ [1‬مع العديد من خوارزميات التصنيف العربية من ناحية‬


‫وبالعودة إلى المقارنة التي ا‬
‫‪ F-mesure‬كانت خوارزمية ‪ BilTc‬هي األفضل محققة ‪ 98.69%‬من أجل ‪SVM‬‬

‫‪16‬‬
‫بينما حقق تقريبا ‪ %21‬من أجل ‪ NB‬مع التجذير الخفيف‪ ،‬واذا ما قارناها مع نتائج‬
‫خوارزميتنا نجد أن كال المصنفين اللذين قمنا ببنائهما حققا نتائج أفضل‪.‬‬

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

‫‪17‬‬
REFERENCES (‫)المراجع‬

1- AL-Ghuribi,S Alshomrani,S. 2014. Bi-languages mining


algorithm for classifying text documents (BiLTc), International
Jornal of Academic Research Part A Vol. 6 No. 5, 16-25.
2- Gruber,T. 1993. A translation approach to providing
portable ontology specifications, Knowledge Acquisition, Vol.5
No 2, 199-220.

3- Hastie,T Tibshirani,R Friedman.J. 2013-The elements of


Statistical Learning - Data Mining, Inference, and Prediction.
Springer-Verlag, second Ed, Berlin,764p.

4- Karima,A Zakaria,E Yamani,T. 2012.Arabic Text


Categorization: A Comparative Study of Different
Representation Modes, Journal of Therotical and Applied
Information Technology Vol. 38 No. 1, 1-5.
5- Leah,L Lisa,B and Margaret,C. 2007-Light Stemming for
Arabic Information Retrieval. University of Massachusetts,
Springer.
6- Litvak, M., Last, M., & Kisilevich, S. (2007). Classification of
Web Documents using Concept Extraction from Ontologies.
In Proceedings of the 2nd International Conference on
autonomous intelligent systems: Agents and data mining.
Retrieved from http://www.cs.bgu.ac.il/~litvakm
/papers/concept_extraction.pdf
7- Nasraoui,O Spiliopoulou,M Srivastava,J Mobasher,B
Masand,B.2007-Advances in Web Mining and Web Usage
Analysis: 8th International Workshop on Knowledge
Discovery on the Web. Springer-Verlag, Berlin, 247p.

18
8- Neches,R Fikes,R Finin,T Gruber,T Patil,R Senator,T and
Swartout,W.1991.Enabling Technology for Knowledge
Sharing, Al Magazine vol.12 No.3, 16-36.
9- Pacific University "Shereen Khoja's Page for Arabic
Stemming", Access date, May 31, 2015, from
http://zeus.cs.pacificu.edu/shereen/research.htm
10- Song, M. H., Lim S.Y., Kang, D.J., & Lee, S.J. (2005).
Automatic Classification of Web Pages based on the Concept
of Domain Ontology. In Proceedings of the 12th Asia-Pacific
Software Engineering Conference (APSEC’05), (pp. 645-
651). doi: 10.1109/APSEC.2005.46
11- Tenenboim, L., Shapira, B., & Shoval, P. (2008).
Ontology-based Classification of News in an Electronic
Newspaper. In Proceedings of the International Conference
on Intelligent Information and Engineering Systems, (pp.89-
97). Retrieved from http://www.foibg.com/ibs_isc/ibs-02/IBS-
02-p12.pdf
12- Wijewickrema, P. K. C. M. and Gamage, R. C. G,
Automatic Document Classification Using a Domain Ontology,
Paper presented at the National Conference on Library &
Information Science (NACLIS 2012), Colombo, Sri Lanka on
21 June 2012.

19

You might also like