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

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

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

الدرس: التفاعل الأول

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

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

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

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

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

📝 ملخص الصفحة

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

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

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

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

{ "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false } * `title`: null * `content`: "أنظر إلى التفاعلين التاليين بين روبوت الدردشة والمستخدم:" 2. **Header "التفاعل الأول"**: * `order`: 2 * `type`: "header" * `content_classification`: "EDUCATIONAL_CONTENT" * `question_indicators`: { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false } * `title`: "التفاعل الأول" * `content`: "التفاعل الأول" 3. **Python Code Block**: * `order`: 3 * `type`: "main_content" (could also be "code_block" if that were an option, but "main_content" is closest for educational material) * `content_classification`: "EDUCATIONAL_CONTENT" * `question_indicators`: { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false } * `title`: null * `content`: "candidate_embeddings = model_sbert.encode([x for x,y in candidates],\n convert_to_tensor=True)\n\n# gets the similarity score for each candidate\nsimilarity_scores = util.cos_sim(response_embeddings, candidate_\nembeddings)\n\n# finds the index of the closest answer.\n# np.argmax(L) finds the index of the highest number in a list L\nwinner_index=np.argmax(similarity_scores[0])\n\n# if the score of the winner is less than the bound, ask again.\nif similarity_scores[0][winner_index]<sim_lbound:\n print('>> Apologies, I could not understand you. Please rephrase\nyour response.')\n continue\n\n# gets the winner (best candidate answer)\nwinner=candidates[winner_index]\n\n# prints the winner's text\nprint('\\n>> You have selected:',winner[0])\nprint()\n\nqa_id=winner[1] # gets the qa_id for this winner\n\nif qa_id==None: # no more questions to ask, exit the loop\n print('>> Thank you, I just emailed you a list of courses.')\n break" 4. **Chatbot Interaction Example**: * `order`: 4 * `type`: "example" * `content_classification`: "EDUCATIONAL_CONTENT" * `question_indicators`: { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false } * `title`: null * `content`: "chat(QA,model_sbert, 0.5)\n\n>> What type of courses are you interested in?\nmarketing courses\n>> You have selected: Courses on Marketing\n>> What type of Marketing are you interested in?\nseo\n>> You have selected: Search Engine Optimization\n>> Thank you, I just emailed you a list of courses." 5. **Arabic Explanation of Interaction**: * `order`: 5 * `type`: "main_content" * `content_classification`: "EDUCATIONAL_CONTENT" * `question_indicators`: { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false } * `title`: null * `content`: "في التفاعل الأول، يفهم روبوت الدردشة أن المستخدم يبحث عن دورات تدريبية في التسويق. وكذلك، روبوت الدردشة ذكي بالقدر الكافي ليفهم أن المصطلح SEO يشبه دلاليًا مصطلح Search Engine Optimization (تحسين محركات البحث) مما يؤدي إلى إنهاء المناقشة بنجاح." 6. **Page Number**: * `order`: 6 * `type`: "metadata" * `content_classification`: "METADATA" * `question_indicators`: { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false } * `title`: null * `content`: "184" 7. **Ministry of Education Footer**: * `order`: 7 * `type`: "metadata" * `content_classification`: "METADATA" * `question_indicators`: { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false } * `title`: null * `content`: "وزارة التعليم\nMinistry of Education\n2023 - 1447" **Visual Elements**: 1. **Ministry of Education Logo**: * `type`: "image" * `title`: "شعار وزارة التعليم" (Ministry of Education Logo) * `description`: "شعار وزارة التعليم السعودية، يتضمن النص 'وزارة التعليم' باللغة العربية و 'Ministry of Education' باللغة الإنجليزية، بالإضافة إلى التواريخ '2023 - 1447'." * `axes_labels`: null * `data_description`: null * `key_values`: ["وزارة التعليم", "Ministry of Education", "2023", "1447"] * `numeric_data`: null * `table_structure`: null * `educational_context`: "يشير إلى الجهة الناشرة أو المعتمدة للمحتوى التعليمي." * `estimated`: false I need to be careful about the `page_title` and `main_topics` as they are inferred. The prompt asks for "exact main page title or chapter name", which is not explicitly present. I will use a descriptive title. The prompt also mentions "chemistry textbook page" but the image is clearly not. I will proceed with analyzing{ "language": "ar", "direction": "rtl", "page_context": { "page_title": "تفاعل روبوت الدردشة والمستخدم", "page_type": "lesson_content", "main_topics": [ "روبوت الدردشة", "الذكاء الاصطناعي", "معالجة اللغة الطبيعية", "تحسين محركات البحث", "برمجة بايثون" ], "headers": [ "التفاعل الأول" ], "has_questions": false, "has_formulas": false, "has_examples": true, "has_visual_elements": true }, "sections": [ { "order": 1, "type": "main_content", "content_classification": "EDUCATIONAL_CONTENT", "question_indicators": { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false }, "title": null, "content": "أنظر إلى التفاعلين التاليين بين روبوت الدردشة والمستخدم:" }, { "order": 2, "type": "header", "content_classification": "EDUCATIONAL_CONTENT", "question_indicators": { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false }, "title": "التفاعل الأول", "content": "التفاعل الأول" }, { "order": 3, "type": "main_content", "content_classification": "EDUCATIONAL_CONTENT", "question_indicators": { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false }, "title": null, "content": "candidate_embeddings = model_sbert.encode([x for x,y in candidates],\n convert_to_tensor=True)\n\n# gets the similarity score for each candidate\nsimilarity_scores = util.cos_sim(response_embeddings, candidate_\nembeddings)\n\n# finds the index of the closest answer.\n# np.argmax(L) finds the index of the highest number in a list L\nwinner_index=np.argmax(similarity_scores[0])\n\n# if the score of the winner is less than the bound, ask again.\nif similarity_scores[0][winner_index]<sim_lbound:\n print('>> Apologies, I could not understand you. Please rephrase\nyour response.')\n continue\n\n# gets the winner (best candidate answer)\nwinner=candidates[winner_index]\n\n# prints the winner's text\nprint('\\n>> You have selected:',winner[0])\nprint()\n\nqa_id=winner[1] # gets the qa_id for this winner\n\nif qa_id==None: # no more questions to ask, exit the loop\n print('>> Thank you, I just emailed you a list of courses.')\n break" }, { "order": 4, "type": "example", "content_classification": "EDUCATIONAL_CONTENT", "question_indicators": { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false }, "title": null, "content": "chat(QA,model_sbert, 0.5)\n\n>> What type of courses are you interested in?\nmarketing courses\n>> You have selected: Courses on Marketing\n>> What type of Marketing are you interested in?\nseo\n>> You have selected: Search Engine Optimization\n>> Thank you, I just emailed you a list of courses." }, { "order": 5, "type": "main_content", "content_classification": "EDUCATIONAL_CONTENT", "question_indicators": { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false }, "title": null, "content": "في التفاعل الأول، يفهم روبوت الدردشة أن المستخدم يبحث عن دورات تدريبية في التسويق. وكذلك، روبوت الدردشة ذكي بالقدر الكافي ليفهم أن المصطلح SEO يشبه دلاليًا مصطلح Search Engine Optimization (تحسين محركات البحث) مما يؤدي إلى إنهاء المناقشة بنجاح." }, { "order": 6, "type": "metadata", "content_classification": "METADATA", "question_indicators": { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false }, "title": null, "content": "184" }, { "order": 7, "type": "metadata", "content_classification": "METADATA", "question_indicators": { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false }, "title": null, "content": "وزارة التعليم\nMinistry of Education\n2023 - 1447" } ], "visual_elements": [ { "type": "image", "title": "شعار وزارة التعليم", "description": "شعار وزارة التعليم السعودية، يتضمن النص 'وزارة التعليم' باللغة العربية و 'Ministry of Education' باللغة الإنجليزية، بالإضافة إلى التواريخ '2023 - 1447'. الشعار يظهر في الجزء السفلي الأيسر من الصفحة.", "axes_labels": null, "data_description": null, "key_values": [ "وزارة التعليم", "Ministry of Education", "2023", "1447" ], "numeric_data": null, "table_structure": null, "educational_context": "يشير إلى الجهة الناشرة أو المعتمدة للمحتوى التعليمي للكتاب.", "estimated": false } ] }

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

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

ما هو الدور الأساسي الذي يقوم به `model_sbert.encode()` في سياق هذا الكود؟

الإجابة: يقوم `model_sbert.encode()` بتحويل النصوص (المرشحين `candidates`) إلى متجهات رقمية (embeddings) قابلة للفهم من قبل النموذج، مما يتيح حساب التشابه الدلالي بينها.

الشرح: يعمل نموذج SBERT (Sentence-BERT) على إنشاء تمثيلات متجهية للكلمات والجمل، وهذه المتجهات تلتقط المعنى الدلالي للنص. هذه العملية ضرورية لمقارنة النصوص.

تلميح: فكر في وظيفة النموذج `sbert` وكيف يتعامل مع اللغة.

كيف يتم تحديد المرشح (الإجابة) الأنسب من بين الخيارات المتاحة في الكود؟

الإجابة: يتم تحديد المرشح الأنسب باستخدام `np.argmax(similarity_scores[0])`، والذي يبحث عن أعلى قيمة في مصفوفة درجات التشابه ويعيد فهرسها، ومن ثم يتم استخدام هذا الفهرس لاستدعاء المرشح المناسب من قائمة `candidates`.

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

تلميح: ما هي الدالة التي تبحث عن القيمة القصوى في قائمة وتعيد موقعها؟

ماذا يعني الشرط `if similarity_scores[0][winner_index] < sim_lbound:` في الكود؟

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

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

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

في مثال التفاعل، كيف استطاع روبوت الدردشة فهم العلاقة بين "seo" و "Search Engine Optimization"؟

الإجابة: استطاع روبوت الدردشة فهم العلاقة بفضل استخدام نموذج SBERT الذي يقوم بإنشاء متجهات دلالية للنصوص. مصطلح "seo" وعبارة "Search Engine Optimization" لهما تمثيل متجهي متشابه جداً بسبب معناهما الدلالي المشترك، مما سمح للنموذج باكتشاف التشابه.

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

تلميح: ما هي التقنية التي تسمح للنماذج بفهم المعنى الدلالي للنصوص واكتشاف العلاقات بين الكلمات والعبارات؟