تمثيل المعرفة والأنظمة الخبيرة
وصف الشكل: ملخص محتوى الذكاء الاصطناعي الرمزي
البحث عن الذكاء الاصطناعي قائم، في جزء كبير منه، على البحث عن المعرفة اللي تخلّي الآلة تفهم العالم بطريقة تشبه فهم البشر. لكن كيف نقدر نسوي هالشي؟
في بدايات الذكاء الاصطناعي، كان منهج «من أعلى إلى أسفل» لبناء الأنظمة الذكية — اللي تكلمنا عنه في الدرس السابق — هو الشائع. فكرته إننا نستخرج معرفة البشر ونحوّلها إلى صيغة تقراها الآلة، ثم نستخدمها لحل المشكلات تلقائيًا. ويعتمد هالمنهج على فكرتين أساسيتين:
- تمثيل المعرفة (Knowledge Representation)
- الاستدلال (Reasoning)
تمثيل المعرفة
من أهم مفاهيم الذكاء الاصطناعي الرمزي (Symbolic AI) مفهوم المعرفة. ولازم نفرّق بينها وبين المعلومات والبيانات. مثلًا، نقول إن الكتب تحتوي معرفة لأننا نقدر ندرسها ونصير خبراء. لكن اللي تحتويه الكتب فعلًا هو بيانات؛ ولما نقراها وندمجها في نموذجنا عن العالم، تتحول البيانات عندنا إلى معرفة.
✅ المعرفة شيء موجود في عقولنا ويمثّل فهمنا للعالم. نحصل عليها من عملية تعلم نشطة تدمج المعلومات الجديدة في نموذجنا الحالي للعالم.
غالبًا ما نعطي المعرفة حدودًا تقريبية بدل تعريف صارم، ونربطها بمفاهيم قريبة باستخدام هرم DIKW. ويضم هالمستويات:
- البيانات (Data): شيء ممثّل في وسيط مادي، مثل نص مكتوب أو كلام مسموع. توجد البيانات بشكل مستقل عن البشر، ونقدر ننقلها من شخص لشخص.
- المعلومات (Information): تفسيرنا للبيانات داخل عقولنا. مثلًا، إذا سمعنا كلمة حاسب يكون عندنا تصور عن معناها.
- المعرفة (Knowledge): معلومات اندمجت في نموذجنا للعالم. إذا عرفنا وش هو الحاسب، نبدأ نكوّن أفكارًا عن طريقة شغله وسعره واستخداماته. شبكة المفاهيم المترابطة هذي تكوّن معرفتنا.
- الحكمة (Wisdom): مستوى أعلى من فهم العالم، وتمثّل معرفة عن المعرفة؛ مثل فهم متى وكيف نستخدم معرفة معيّنة.
وصف الشكل: حُذف الأصل لأن حقوق إعادة استخدامه غير موثّقة.
الصورة من Wikimedia Commons، من عمل Longlivetheux، بترخيص CC BY-SA 4.0
إذًا، مشكلة تمثيل المعرفة هي إننا نلقى طريقة فعالة نمثّل بها المعرفة داخل الحاسب على شكل بيانات يقدر يستخدمها تلقائيًا. ونقدر نتصور الحلول على شكل طيف:
وصف الشكل: طيف تمثيل المعرفة
- في الطرف اليسار فيه تمثيلات معرفة بسيطة يقدر الحاسب يستخدمها بكفاءة. أبسطها التمثيل الخوارزمي، وفيه نمثّل المعرفة ببرنامج حاسوبي. لكنه مب أفضل تمثيل لأنه غير مرن، ومعرفتنا داخل عقولنا غالبًا مب خوارزمية.
- في الطرف اليمين فيه تمثيلات مثل نص اللغة الطبيعية. هذي قوية جدًا في التعبير، لكن يصعب استخدامها في الاستدلال الآلي.
✅ فكّروا شوي: كيف تمثّلون المعرفة في عقولكم وتحولونها إلى ملاحظات؟ هل فيه تنسيق معيّن يساعدكم تتذكرونها؟
تصنيف طرق تمثيل المعرفة في الحاسب
نقدر نصنّف طرق تمثيل المعرفة الحاسوبية إلى الفئات التالية:
- التمثيلات الشبكية تعتمد على وجود شبكة مفاهيم مترابطة داخل عقولنا. نقدر نحاول نبني شبكة مشابهة داخل الحاسب على هيئة رسم بياني، وهذا اللي نسميه شبكة دلالية (Semantic Network).
- ثلاثيات الكائن–السمة–القيمة (Object-Attribute-Value, OAV)، أو أزواج السمة والقيمة. بما إننا نقدر نمثّل الرسم البياني داخل الحاسب بقائمة عقد وحواف، نقدر نمثّل الشبكة الدلالية بقائمة ثلاثيات فيها كائنات وسمات وقيم. مثلًا، هذي بعض الثلاثيات عن لغات البرمجة:
✅ فكّروا كيف تقدر الثلاثيات تمثّل أنواعًا ثانية من المعرفة.
-
التمثيلات الهرمية تركز على إننا غالبًا نبني داخل عقولنا تسلسلًا هرميًا للأشياء. مثلًا، نعرف أن الكناري طائر، وأن كل الطيور لها أجنحة. ونعرف تقريبًا وش لون الكناري المعتاد وسرعة طيرانه.
- تمثيل الإطارات (Frame Representation) يمثّل كل كائن، أو كل فئة كائنات، على شكل إطار فيه خانات (Slots). للخانة قيمة افتراضية ممكنة، أو قيود على القيمة، أو إجراء مخزّن نستدعيه عشان نحصل على قيمتها. وتكوّن الإطارات كلها تسلسلًا هرميًا يشبه تسلسل الكائنات في البرمجة كائنية التوجه.
- السيناريوهات (Scenarios) نوع خاص من الإطارات يمثّل مواقف معقدة تتغير مع الوقت.
Python
-
التمثيلات الإجرائية (Procedural Representations) تمثّل المعرفة بقائمة إجراءات تُنفّذ إذا تحقق شرط معيّن.
- قواعد الإنتاج (Production Rules) عبارات «إذا–فإن» تسمح لنا نستنتج نتائج. مثلًا، يمكن يكون عند الطبيب قاعدة تقول: إذا كانت حرارة المريض مرتفعة أو كان مستوى بروتين C التفاعلي في تحليل الدم مرتفعًا، فمعناه إن عنده التهاب. إذا تحقق أحد الشرطين، نستنتج وجود التهاب ونستخدم النتيجة في استدلالات ثانية.
- نقدر نعد الخوارزميات شكلًا آخر من التمثيل الإجرائي، لكنها نادرًا تُستخدم مباشرة في الأنظمة القائمة على المعرفة.
-
اقترح أرسطو المنطق في الأصل بوصفه طريقة لتمثيل المعرفة البشرية العامة.
- منطق المحمولات (Predicate Logic) نظرية رياضية أغنى من إنها تكون قابلة للحساب بكل تفاصيلها؛ لذلك نستخدم عادة جزءًا منها، مثل عبارات Horn المستخدمة في Prolog.
- المنطق الوصفي (Description Logic) عائلة من الأنظمة المنطقية لتمثيل التسلسلات الهرمية للكائنات والاستدلال عليها، وتمثيل المعرفة الموزعة مثل الويب الدلالي.
الأنظمة الخبيرة
من أوائل نجاحات AI الرمزي الأنظمة الخبيرة (Expert Systems): أنظمة حاسوبية مصممة عشان تتصرف كخبير في نطاق مشكلة محدود. تعتمد على قاعدة معرفة (Knowledge Base) مستخرجة من خبير بشري واحد أو أكثر، ومعها محرك استدلال (Inference Engine) يجري الاستدلال على هالمعرفة.
وصف الشكل: بنية مبسطة للنظام العصبي البشري | > وصف الشكل: بنية نظام قائم على المعرفة
---------------------------------------------|------------------------------------------------
بنية مبسطة للنظام العصبي البشري | بنية نظام قائم على المعرفة
تُبنى الأنظمة الخبيرة بطريقة تشبه نظام الاستدلال عند الإنسان، اللي فيه ذاكرة قصيرة المدى وذاكرة طويلة المدى. وبالمثل، نفرّق في الأنظمة القائمة على المعرفة بين هالمكونات:
- ذاكرة المسألة: فيها المعرفة المرتبطة بالمشكلة اللي نحلها الحين؛ مثل حرارة المريض وضغط دمه وهل عنده التهاب. وتسمى بعد المعرفة الثابتة لأنها لقطة للحالة اللي نعرفها الآن، أو حالة المسألة.
- قاعدة المعرفة: تمثّل المعرفة طويلة المدى عن مجال المشكلة. نستخرجها يدويًا من خبراء، وما تتغير من استشارة للثانية. ولأنها تسمح لنا ننتقل من حالة مسألة إلى غيرها، تسمى بعد المعرفة الديناميكية.
- محرك الاستدلال: يدير البحث في فضاء حالات المسألة، ويسأل المستخدم إذا احتاج معلومات، ويحدد القواعد المناسبة لكل حالة.
كمثال، خلّونا نشوف نظامًا خبيرًا يحدد الحيوان من صفاته الجسدية:
وصف الشكل: شجرة AND-OR
يسمى هالمخطط شجرة AND-OR، وهو تمثيل رسومي لمجموعة من قواعد الإنتاج. رسم الشجرة يفيدنا في بداية استخراج المعرفة من الخبير، لكن داخل الحاسب يكون تمثيل المعرفة بقواعد أسهل:
IF the animal eats meat
OR (animal has sharp teeth
AND animal has claws
AND animal has forward-looking eyes
)
THEN the animal is a carnivore
لاحظوا أن كل شرط في الطرف الأيسر من القاعدة، ومعه الإجراء، هو بالأساس ثلاثية OAV. تحتوي ذاكرة العمل (Working Memory) على ثلاثيات OAV الخاصة بالمسألة الحالية. ويبحث محرك القواعد عن القواعد اللي تحققت شروطها، ثم يطبقها ويضيف ثلاثية جديدة إلى ذاكرة العمل.
✅ ارسموا شجرة AND-OR من عندكم عن موضوع يعجبكم.
الاستدلال الأمامي والاستدلال الخلفي
العملية اللي شرحناها فوق اسمها الاستدلال الأمامي (Forward Inference). تبدأ ببيانات أولية عن المسألة موجودة في ذاكرة العمل، ثم تكرر دورة الاستدلال هذي:
- إذا كانت السمة المستهدفة موجودة في ذاكرة العمل، نوقف ونعطي النتيجة.
- ندور على كل القواعد اللي تحققت شروطها، ونكوّن مجموعة التعارض (Conflict Set).
- ننفّذ حل التعارض (Conflict Resolution): نختار قاعدة وحدة تتنفذ في هالخطوة. ومن الاستراتيجيات الممكنة:
- اختيار أول قاعدة تنطبق في قاعدة المعرفة.
- اختيار قاعدة عشوائية.
- اختيار القاعدة الأكثر تحديدًا؛ يعني اللي تحقق أكبر عدد من شروط الطرف الأيسر (LHS).
- نطبّق القاعدة المختارة ونضيف معلومة جديدة إلى حالة المسألة.
- نرجع للخطوة الأولى.
لكن أحيانًا نبي نبدأ بدون معرفة عن المسألة، ثم نسأل أسئلة توصلنا إلى النتيجة. في التشخيص الطبي، مثلًا، ما نسوي كل التحاليل الممكنة قبل ما يبدأ التشخيص؛ نسوي التحليل وقت يحتاج القرار إلى نتيجته.
نقدر نمثّل هالعملية باستخدام الاستدلال الخلفي (Backward Inference). ويقودها الهدف؛ أي قيمة السمة اللي ندور عليها:
- نختار كل القواعد اللي تقدر تنتج قيمة الهدف — يعني الهدف موجود في الطرف الأيمن (RHS) — وهذي هي مجموعة التعارض.
- إذا ما فيه قواعد لهالسمة، أو فيه قاعدة تقول نسأل المستخدم عن القيمة، نسأله. وإلا نكمل.
- نستخدم استراتيجية حل التعارض ونختار قاعدة بوصفها فرضية نحاول إثباتها.
- نكرّر العملية لكل سمة في الطرف الأيسر من القاعدة، ونتعامل معها كهدف فرعي.
- إذا فشلت العملية في أي نقطة، نجرّب قاعدة ثانية من الخطوة 3.
✅ متى يكون الاستدلال الأمامي أنسب؟ ومتى يكون الاستدلال الخلفي أنسب؟
تنفيذ الأنظمة الخبيرة
نقدر ننفّذ الأنظمة الخبيرة بأكثر من أداة:
- نبرمجها مباشرة بلغة برمجة عالية المستوى. هالخيار مب الأفضل عادة؛ لأن أهم ميزة للنظام القائم على المعرفة هي فصل المعرفة عن الاستدلال، ومن المفترض أن يقدر خبير المجال يكتب القواعد بدون ما يعرف تفاصيل محرك الاستدلال.
- نستخدم بيئة جاهزة لنظام خبير (Expert System Shell)، وهي أداة مصممة خصيصًا لإدخال المعرفة بلغة تمثيل معرفة، من غير ما نبني محرك الاستدلال من الصفر.
✍️ تمرين: استدلال الحيوانات
شوفوا Animals.ipynb عشان تطبقون نظامًا خبيرًا يستخدم الاستدلال الأمامي والخلفي.
ملاحظة: المثال بسيط ويعطيكم فكرة عن شكل النظام الخبير. إذا بنيتوا نظامًا مشابهًا، غالبًا ما يبدأ يظهر منه سلوك ذكي بعد ما يوصل عدد القواعد إلى قرابة 200 قاعدة. عندها تتعقد القواعد لدرجة يصعب تذكرها كلها، ويمكن تتساءلون ليه اتخذ النظام قرارًا معيّنًا. الميزة المهمة في الأنظمة القائمة على المعرفة إنكم دائمًا تقدرون تشرحون بالضبط كيف اتخذت كل قرار.
الأنطولوجيات والويب الدلالي
في نهاية القرن العشرين ظهرت مبادرة تستخدم تمثيل المعرفة لوصف موارد الإنترنت، بحيث نقدر نلقى موارد تطابق استعلامات دقيقة جدًا. سميت المبادرة الويب الدلالي (Semantic Web)، واعتمدت على عدة مفاهيم:
- تمثيل معرفة خاص مبني على المنطق الوصفي (Description Logic, DL). يشبه تمثيل الإطارات لأنه يبني تسلسلًا هرميًا لكائنات وخصائص، لكنه يضيف دلالات منطقية رسمية واستدلالًا. وتوجد عائلة كاملة من أنظمة DL توازن بين قوة التعبير وتعقيد خوارزميات الاستدلال.
- تمثيل معرفة موزع، بحيث يكون لكل مفهوم معرّف موارد موحّد (Uniform Resource Identifier, URI) عالمي؛ وهذا يسمح ببناء تسلسلات معرفية تمتد عبر الإنترنت.
- عائلة لغات مبنية على XML لوصف المعرفة: RDF (Resource Description Framework)، وRDFS (RDF Schema)، وOWL (Web Ontology Language).
الفكرة الأساسية في الويب الدلالي هي الأنطولوجيا (Ontology): توصيف صريح لمجال مشكلة باستخدام تمثيل رسمي للمعرفة. أبسط أنطولوجيا يمكن تكون تسلسلًا هرميًا لكائنات المجال، بينما الأنطولوجيات المعقدة تضم قواعد نستخدمها للاستدلال.
كل تمثيلات الويب الدلالي مبنية على ثلاثيات، ولكل كائن وعلاقة معرّف URI فريد. لو بغينا نقول إن منهج AI for Beginners أنشأه Person A في 1 يناير 2022، نقدر نستخدم الثلاثيات التالية:
وصف الشكل: حُذف الأصل لأن حقوق إعادة استخدامه غير موثّقة.
AI for Beginners https://schema.org/dateCreated “Jan 1, 2022”
AI for Beginners https://purl.org/dc/elements/1.1/creator
✅ الرابطان https://schema.org/dateCreated وhttps://purl.org/dc/elements/1.1/creator مثالان لمعرّفات URI معروفة ومتفق عليها للتعبير عن مفهومي المنشئ وتاريخ الإنشاء.
وفي حالة أعقد، إذا بغينا نعرّف قائمة منشئين، نقدر نستخدم بعض هياكل البيانات المعرّفة في RDF.
وصف الشكل: حُذف الأصل لأن حقوق إعادة استخدامه غير موثّقة.
تباطأ تقدم بناء الويب الدلالي نوعًا ما بعد نجاح محركات البحث وتقنيات معالجة اللغة الطبيعية، اللي تقدر تستخرج بيانات منظمة من النص. ومع هذا، للحين فيه مجالات تبذل جهدًا كبيرًا للمحافظة على الأنطولوجيات وقواعد المعرفة. ومن المشاريع المهمة:
- Wikidata مجموعة قواعد معرفة تقراها الآلة ومرتبطة بـWikipedia. تُستخرج أغلب البيانات من InfoBoxes، وهي أجزاء منظمة داخل صفحات Wikipedia. تقدرون تستعلمون من Wikidata باستخدام SPARQL، وهي لغة استعلام خاصة بالويب الدلالي. هالاستعلام يعرض أكثر ألوان العيون شيوعًا بين البشر:
#defaultView:BubbleChart
SELECT ?eyeColorLabel (COUNT(?human) AS ?count)
WHERE
{
?human wdt:P31 wd:Q5. # human instance-of homo sapiens
?human wdt:P1340 ?eyeColor. # human eye-color ?eyeColor
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
GROUP BY ?eyeColorLabel
- DBpedia مشروع ثاني قريب من Wikidata.
✅ إذا ودكم تبنون أنطولوجيا أو تفتحون أنطولوجيا موجودة، جرّبوا المحرر المرئي Protégé. نزّلوه أو استخدموه على الويب.
وصف الشكل: حُذف الأصل لأن حقوق إعادة استخدامه غير موثّقة.
✍️ تمرين: أنطولوجيا العائلة
شوفوا FamilyOntology.ipynb كمثال على استخدام تقنيات الويب الدلالي للاستدلال عن العلاقات العائلية. بناخذ شجرة عائلة بتنسيق GEDCOM الشائع، ومعها أنطولوجيا للعلاقات العائلية، ونبني رسمًا بيانيًا يجمع العلاقات بين مجموعة من الأشخاص.
Microsoft Concept Graph
كان Microsoft Concept Graph مشروعًا بحثيًا لاستخراج علاقات is-a من النص. واجهته وملفاته القديمة مب خدمة تشغيل نعتمد عليها في هالنسخة، لكن فكرته تظل مثالًا تاريخيًا مفيدًا على استخراج تمثيل رمزي من بيانات غير منظمة.
✍️ تمرين: رسم المفاهيم
اختاروا عشر جمل قصيرة من نص عام أو من تأليفكم، واستخرجوا منها أزواجًا بصيغة «المفهوم is-a الفئة». سجّلوا الحالات الملتبسة، وبعدها ارسموا رسمًا صغيرًا يوضح كيف تتغير النتيجة إذا اختلف السياق. ما يحتاج التمرين أي خدمة خارجية.
الخلاصة
الذكاء الاصطناعي الحديث يشمل نماذج عصبية متعلّمة، وتمثيلات رمزية، وبحثًا وتحسينًا، وأنظمة هجينة تجمع أكثر من منهج. تقدر النماذج العصبية تنتج خطوات وسيطة، لكن القواعد والقيود والرسوم المعرفية الصريحة تظل مفيدة إذا احتجنا أثرًا قابلًا للتتبع أو سلوكًا مضبوطًا.
🚀 التحدي
في دفتر أنطولوجيا العائلة المرتبط بهالدرس تقدرون تجرّبون علاقات عائلية ثانية. حاولوا تكتشفون روابط جديدة بين الأشخاص في شجرة العائلة.
المراجعة والدراسة الذاتية
ابحثوا في الإنترنت عن مجالات حاول البشر فيها قياس المعرفة وترميزها. طالعوا تصنيف Bloom، وارجعوا للتاريخ وشوفوا كيف حاول الناس يفهمون عالمهم. استكشفوا عمل Linnaeus في تصنيف الكائنات الحية، وطريقة Dmitri Mendeleev في وصف العناصر الكيميائية وتجميعها. وش أمثلة ثانية مثيرة تقدرون تلقونها؟
المهمة: ابنوا أنطولوجيا