تحليل قاعدة المعرفة وروبوت الدردشة - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: دالة Chat لمعالجة قاعدة المعرفة في روبوت الدردشة

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: example

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

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

يتم شرح دالة Chat التي تُستخدم لمعالجة قاعدة المعرفة وتنفيذ روبوت الدردشة. تقوم الدالة بطرح الأسئلة وقراءة ردود المستخدم، ثم تقييم التشابه الدلالي بين الرد وخيارات الإجابات المقبولة باستخدام نموذج SBERT (تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات).

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

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

نوع: محتوى تعليمي

يمكن توسيع قاعدة المعرفة البسيطة لتشمل مستويات أكثر من الأسئلة والأجوبة، وتجعل روبوت الدردشة أكثر ذكاءً.

نوع: محتوى تعليمي

QA={ "Q1":"What type of courses are you interested in?", "A1":[["Courses in Computer Programming","2"], ["Courses in Engineering","3"], ["Courses in Marketing","4"]], "Q2":"What type of Programming Languages are you interested in?", "A2":[["Java",None],["Python",None]], "Q3":"What type of Engineering are you interested in?", "A3":[["Mechanical Engineering",None],["Electrical Engineering",None]], "Q4":"What type of Marketing are you interested in?", "A4":[["Social Media Marketing",None],["Search Engine Optimization",None]] }

دالة ()Chat

نوع: محتوى تعليمي

دالة ()Chat

نوع: محتوى تعليمي

في النهاية، تُستخدم دالة ()Chat لمعالجة قاعدة المعرفة وتنفيذ روبوت الدردشة. بعد طرح السؤال، يقرأ روبوت الدردشة رد المستخدم. • إن كان الرد مشابهاً دلالياً لأحد خيارات الإجابات المقبولة لهذا السؤال، يُحدّد ذلك الخيار وينتقل روبوت الدردشة إلى السؤال التالي. • إن لم يتشابه الرد مع أي من الخيارات، يُطلب من المستخدم إعادة صياغة الرد. تُستخدم دالة تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) لتقييم مؤشر التشابه الدلالي بين الرد وكل الخيارات المرشحة. يُعد الخيار متشابهاً إذا كان المؤشر أعلى من مُتغيّر الحد الأدنى sim_lbound.

نوع: محتوى تعليمي

import numpy as np # used for processing numeric data def chat(QA:dict, # the Question-Answer script of the chatbot model_sbert, # a pre-trained SBERT model sim_lbound:float): # lower bound on the similarity between the user's response and the closest candidate answer qa_id = '1' # the QA id while True: # an infinite loop, will break in specific conditions print('>>',QA['Q'+qa_id]) # prints the question for this qa_id candidates=QA["A"+qa_id] # gets the candidate answers for this qa_id print(flush=True) # used only for formatting purposes response=input() # reads the user's response # embed the response response_embeddings = model_sbert.encode([response], convert_to_ tensor=True) # embed each candidate answer. x is the text, y is the qa_id. Only embed x.

نوع: METADATA

وزارة التعليم Ministry of Education 183 2023 - 1447

📄 النص الكامل للصفحة

يمكن توسيع قاعدة المعرفة البسيطة لتشمل مستويات أكثر من الأسئلة والأجوبة، وتجعل روبوت الدردشة أكثر ذكاءً.QA={ "Q1":"What type of courses are you interested in?", "A1":[["Courses in Computer Programming","2"], ["Courses in Engineering","3"], ["Courses in Marketing","4"]],"Q2":"What type of Programming Languages are you interested in?", "A2":[["Java",None],["Python",None]],"Q3":"What type of Engineering are you interested in?", "A3":[["Mechanical Engineering",None],["Electrical Engineering",None]],"Q4":"What type of Marketing are you interested in?", "A4":[["Social Media Marketing",None],["Search Engine Optimization",None]] }--- SECTION: دالة ()Chat --- دالة ()Chatفي النهاية، تُستخدم دالة ()Chat لمعالجة قاعدة المعرفة وتنفيذ روبوت الدردشة. بعد طرح السؤال، يقرأ روبوت الدردشة رد المستخدم. • إن كان الرد مشابهاً دلالياً لأحد خيارات الإجابات المقبولة لهذا السؤال، يُحدّد ذلك الخيار وينتقل روبوت الدردشة إلى السؤال التالي. • إن لم يتشابه الرد مع أي من الخيارات، يُطلب من المستخدم إعادة صياغة الرد. تُستخدم دالة تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) لتقييم مؤشر التشابه الدلالي بين الرد وكل الخيارات المرشحة. يُعد الخيار متشابهاً إذا كان المؤشر أعلى من مُتغيّر الحد الأدنى sim_lbound.import numpy as np # used for processing numeric data def chat(QA:dict, # the Question-Answer script of the chatbot model_sbert, # a pre-trained SBERT model sim_lbound:float): # lower bound on the similarity between the user's response and the closest candidate answer qa_id = '1' # the QA id while True: # an infinite loop, will break in specific conditions print('>>',QA['Q'+qa_id]) # prints the question for this qa_id candidates=QA["A"+qa_id] # gets the candidate answers for this qa_id print(flush=True) # used only for formatting purposes response=input() # reads the user's response# embed the response response_embeddings = model_sbert.encode([response], convert_to_ tensor=True) # embed each candidate answer. x is the text, y is the qa_id. Only embed x.2023 - 1447

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما هو الدور الرئيسي لدالة ()Chat في سياق روبوتات الدردشة المتقدمة؟

الإجابة: تُستخدم دالة ()Chat لمعالجة قاعدة المعرفة وتنفيذ روبوت الدردشة، حيث تقوم بتقييم ردود المستخدم ومقارنتها بالخيارات المتاحة للانتقال إلى السؤال التالي أو طلب إعادة الصياغة.

الشرح: الدالة تعالج تدفق المحادثة وتحدد الخطوة التالية بناءً على فهم رد المستخدم.

تلميح: فكر في الوظيفة الأساسية التي تؤديها الدالة بعد الحصول على رد المستخدم.

ما هي التقنية المستخدمة لتقييم التشابه الدلالي بين رد المستخدم وخيارات الإجابات المقبولة؟

الإجابة: تُستخدم دالة تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) لتقييم مؤشر التشابه الدلالي.

الشرح: SBERT هي تقنية متقدمة في معالجة اللغات الطبيعية لفهم سياق ومعنى الجمل.

تلميح: ابحث عن اختصار شائع يستخدم لنمذجة وفهم معنى الجمل.

متى يعتبر رد المستخدم "متشابهاً" لأحد خيارات الإجابات المقبولة في سياق روبوت الدردشة؟

الإجابة: يُعد الخيار متشابهاً إذا كان مؤشر التشابه الدلالي بين رد المستخدم والخيار أعلى من مُتغيّر الحد الأدنى sim_lbound.

الشرح: وجود حد أدنى للتشابه يضمن أن الرد له معنى قريب من الخيارات المتاحة.

تلميح: ما هو الشرط أو المعيار الذي يحدد قبول الرد؟

ما هي وظيفة استدعاء `print(flush=True)` في الكود؟

الإجابة: تُستخدم هذه الاستدعاء فقط لأغراض التنسيق.

الشرح: بعض الأوامر في البرمجة تُستخدم لتحسين العرض المرئي أو تجربة المستخدم دون تغيير نتائج الحسابات.

تلميح: فكر في دور الأوامر التي لا تؤثر بشكل مباشر على المنطق الأساسي للبرنامج.