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

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

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

الدرس: الإصدار 2

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

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

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

نوع المحتوى: درس تعليمي

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

📝 ملخص الصفحة

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

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

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

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

{ "language": "ar", "direction": "rtl", "page_context": { "page_title": "الإصدار 2", "page_type": "lesson_content", "main_topics": [ "برمجة", "قواعد المعرفة", "JSON", "تشخيص" ], "headers": [ "الإصدار 2" ], "has_questions": false, "has_formulas": false, "has_examples": true, "has_visual_elements": true }, "sections": [ { "order": 1, "type": "highlight_box", "content_classification": "HEADER", "question_indicators": { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false }, "title": null, "content": "الإصدار 2" }, { "order": 2, "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": "في الإصدار الثاني، ستعزز مرونة تطبيق النظام القائم على القواعد بتمكينه من قراءة قاعدة المعرفة المتغيرة مباشرة من ملف JSON (جسون). سيؤدي هذا إلى الحد من عملية الهندسة اليدوية لعبارات IF الشرطية حسب الأعراض ضمن الدالة. وهذا يُعد تحسُّنًا كبيرًا يجعل النظام قابلاً للتطبيق على قواعد المعرفة الأكبر حجمًا مع تزايد عدد الأمراض والأعراض. وفي الأسفل، مثال يوضح قاعدة المعرفة." }, { "order": 3, "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": "symptom_mapping_file= 'symptom_mapping_v2.json'\n\nwith open(symptom_mapping_file) as f:\n mapping=json.load(f)\n\nprint(json.dumps(mapping, indent=2))" }, { "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": "{\n \"diseases\": {\n \"covid19\": [\n \"fever\",\n \"headache\",\n \"tiredness\",\n \"sore throat\",\n \"cough\"\n ],\n \"common cold\": [\n \"stuffy nose\",\n \"runny nose\",\n \"sneezing\",\n \"sore throat\",\n \"cough\"\n ],\n \"flu\": [\n \"fever\",\n \"headache\",\n \"tiredness\",\n \"stuffy nose\",\n \"sneezing\",\n \"sore throat\",\n \"cough\",\n \"runny nose\"\n ],\n \"allergies\": [\n \"headache\",\n \"tiredness\",\n \"stuffy nose\",\n \"sneezing\",\n \"cough\", \"runny nose\"\n ]\n }\n}" }, { "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": "قاعدة المعرفة الجديدة هذه أكبر قليلاً من سابقتها. ومع ذلك، يتضح أن محاولة إنشاء عبارات IF الشرطية في هذه الحالة ستكون أصعب بكثير. على سبيل المثال، تضمنت قاعدة المعرفة السابقة ربط أحد الأمراض بأربعة أعراض، ومرضين بثلاثة أعراض. وعند تطبيق قاعدة ثلاثة أعراض على الأقل المطبقة في الإصدار الأول، تحصل على 6 مجموعات ثلاثية من الأعراض المحتملة التي تؤخذ في الاعتبار. في قاعدة المعرفة الجديدة بالأعلى، تكون للأمراض الأربعة 5 و 6 و 8 أعراض، على التوالي. وبهذا، تحصل على 96 مجموعة ثلاثية من الأعراض المحتملة. وفي حال التعامل مع مئات أو حتى آلاف الأمراض، ستجد أنه من المستحيل إنشاء نظام مثل الموجود في الإصدار الأول.\nوكذلك، لا يوجد سبب طبي وجيه لقصر التشخيص الطبي على مجموعات ثلاثية من الأعراض. ولذلك، ستجعل منطق التشخيص (Diagnosis Logic) أكثر تنوعًا بحساب عدد الأعراض المطابقة لكل مرض، والسماح للمستخدم بتحديد عدد الأعراض المطابقة التي يجب توافرها في المرض لتضمينه في التشخيص." }, { "order": 6, "type": "figure", "content_classification": "FIGURE_REFERENCE", "question_indicators": { "has_question_words": false, "has_numbering": false, "has_multiple_choice": false, "has_instruction_words": false }, "title": "شكل 2.10: الإصدار الثاني لا يحتوي على عبارات IF الشرطية المحددة بتعليمات برمجية ثابتة.",} ], "visual_elements": [ { "type": "diagram", "title": "شكل 2.10: الإصدار الثاني لا يحتوي على عبارات IF الشرطية المحددة بتعليمات برمجية ثابتة.", "description": "A diagram illustrating the evolution from a fixed 'if-else' conditional structure (Version 1) to a more flexible 'for' loop structure (Version 2). The 'if else' block is crossed out with a red line, indicating it's being replaced. Arrows point from 'الإصدار 1' (Version 1) to 'الإصدار 2' (Version 2) and then to a 'for' loop symbol. This visually represents a shift from rigid conditional statements to iterative processing, aligning with the text's explanation of a more dynamic knowledge base.", "axes_labels": null, "data_description": null, "key_values": [ "الإصدار 1", "الإصدار 2", "if", "else", "for" ], "numeric_data": null, "table_structure": null, "educational_context": "This diagram visually supports the text explaining the shift from fixed IF-ELSE statements in Version 1 to a more flexible, data-driven approach in Version 2, likely using iteration (for loop) to process symptoms from a JSON knowledge base.", "estimated": false }, { "type": "image","axes_labels": null, "data_description": null, "key_values": [ "93", "2025 - 1447" ], "numeric_data": null, "table_structure": null, "educational_context": "Standard textbook metadata, indicating the publisher and page number.", "estimated": false } ] }

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

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

ما هو التحسن الرئيسي في الإصدار الثاني من النظام القائم على القواعد مقارنة بالإصدار الأول؟

الإجابة: التحسن الرئيسي هو تمكين النظام من قراءة قاعدة المعرفة مباشرة من ملف JSON (جسون) متغير، مما يلغي الحاجة إلى إعادة الهندسة اليدوية لعبارات IF الشرطية لكل عرض جديد.

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

تلميح: فكر في كيفية جعل النظام أكثر مرونة وقابلية للتكيف مع التغييرات دون تعديل الكود الأساسي.

كيف يساهم قراءة قاعدة المعرفة من ملف JSON في قابلية توسع النظام؟

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

الشرح: مع تزايد عدد الأمراض والأعراض، يصبح من المستحيل يدوياً كتابة جميع عبارات IF الشرطية المطلوبة. قراءة البيانات من ملف JSON يسمح للنظام بمعالجة هذه الزيادة ديناميكياً.

تلميح: ما هي المشكلة التي يحلها استخدام ملف خارجي بدلاً من تضمين كل شيء في الكود؟

لماذا تُعد محاولة إنشاء عبارات IF الشرطية يدوياً لمئات أو آلاف الأمراض أمراً مستحيلاً؟

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

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

تلميح: تخيل كيف يتزايد عدد الاحتمالات عند إضافة عنصر جديد إلى مجموعة متزايدة.

ما هو التغيير في منطق التشخيص (Diagnosis Logic) في الإصدار الثاني لجعله أكثر تنوعًا؟

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

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

تلميح: بدلاً من الاعتماد على تطابق صارم، كيف يمكن جعل النظام أكثر مرونة في تقييم الأمراض؟

كيف يختلف ملف المعرفة في الإصدار الثاني عن الإصدار الأول فيما يتعلق بـ JSON؟

الإجابة: في الإصدار الثاني، يمكن للنظام قراءة قاعدة المعرفة المتغيرة مباشرة من ملف JSON، بينما في الإصدار الأول، كانت عبارات IF الشرطية مدمجة وثابتة في الكود.

الشرح: JSON (JavaScript Object Notation) هو تنسيق خفيف الوزن لتبادل البيانات، وهو مناسب جداً لتخزين هياكل البيانات مثل الأمراض والأعراض. استخدامه يسمح بمرونة كبيرة في تحديث وتوسيع قاعدة المعرفة دون المساس بكود البرنامج.

تلميح: ما هي صيغة البيانات المستخدمة لقراءة قاعدة المعرفة في الإصدار الثاني، وماذا تعني هذه الصيغة بالنسبة للتغيير؟