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

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

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

الدرس: التقسيم النصي ونمذجة العبارات باستخدام تعبيرات منتظمة

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

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

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

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

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

📝 ملخص الصفحة

تتناول هذه الصفحة مفاهيم أساسية في معالجة اللغات الطبيعية، مع التركيز على استخدام التعبيرات المنتظمة (Regex) للتقسيم النصي. تشرح الصفحة رموز التعبيرات المنتظمة مثل `\W+` التي تتطابق مع الرموز غير الأبجدية الرقمية، و`\w+` التي تتطابق مع الرموز الأبجدية الرقمية والشرطة السفلية، و`\b` التي تمثل حدود الكلمات. كما توضح مثالاً عملياً لدالة `tokenize_doc` لتقسيم النص إلى جمل وكلمات.

بالإضافة إلى ذلك، تقدم الصفحة مقدمة لنمذجة العبارات باستخدام مكتبة جينسيم (Gensim)، حيث يتم بناء نموذج العبارة (`Phrases`) للتعرف على العبارات المكونة من عدة كلمات في النصوص. يتم شرح معاملات الدالة `Phrases`، بما في ذلك قائمة الجمل المقسمة، الكلمات الإنجليزية الشائعة، دالة تسجيل النقاط باستخدام مقياس المعلومات النقطية المشتركة المعاير (NPMI)، وعتبة التقييم.

يتم توضيح العملية من خلال مثال تطبيقي باستخدام بيانات التدريب IMDb، حيث يتم تجميع الجمل المقسمة وبناء نموذج العبارة ثم تجميده باستخدام دالة `freeze` لتحسين الكفاءة. الصفحة تهدف إلى توفير فهم عملي لأدوات معالجة النصوص في سياق تحليل البيانات النصية.

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

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

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

• \W+ تتطابق مع كل الرموز الأبجدية الرقمية (z-a, A-Z, 0-9) والشرطة السفلية.

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

• \w+ تُستخدم للبحث عن واحد أو أكثر من رموز \W. لذلك، في السلسلة النصية hello123_world (مرحباً 123_العالم)، النمط \w+ سيتطابق مع الكلمات hello (مرحباً) و 123 و world (العالم).

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

• \b تمثل الفاصل (Boundary) بين رمز \w ورمز ليس \w، وكذلك، في بداية أو نهاية السلسلة النصية المعطاة. على سبيل المثال، سيتطابق النمط \bcat\b مع الكلمة cat (القطة) في السلسلة النصية The cat is cute (القطة لطيفة)، ولكنه لن يتطابق مع الكلمة cat (القطة) في السلسلة النصية The category is pets (فئة الحيوانات الأليفة).

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

أدناه مثالاً على التقسيم باستخدام الدالة ()tokenize_doc.

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

raw_text='The movie was too long. I fell asleep after the first 2 hours.' tokenized_sentences=tokenize_doc(raw_text) tokenized_sentences

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

[['the', 'movie', 'was', 'too', 'long'], ['i', 'fell', 'asleep', 'after', 'the', 'first', '2', 'hours']]

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

يمكن الآن تجميع الدالة ()tokenize_doc مع أداة العبارات من مكتبة جينسيم (Gensim) لإنشاء نموذج العبارة، وهو نموذج يمكنه التعرف على العبارات المكونة من عدة كلمات في جملة معطاة. يستخدم المقطع البرمجي التالي بيانات التدريب IMDb الخاصة بـ (X_train_text) لبناء مثل هذا النموذج:

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

sentences=[] # list of all the tokenized sentences across all the docs in this dataset for doc in X_train_text: # for each doc in this dataset sentences+=tokenize_doc(doc) # get the list of tokenized sentences in this doc # build a phrase model on the given data imdb_phrase_model = Phrases(sentences, 1 connector_words=ENGLISH_CONNECTOR_WORDS, 2 scoring='npmi', 3 threshold=0.25).freeze() 4

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

كما هو موضح بالأعلى، تستقبل الدالة ()Phrases أربعة متغيرات:

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

1 قائمة الجمل المقسمة من مجموعة النصوص المعطاة.

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

2 قائمة بالكلمات الإنجليزية الشائعة التي تظهر بصورة متكررة في العبارات (مثل: the و of)، وليس لها أي قيمة موجبة أو سالبة، ولكن يمكنها إضفاء المشاعر حسب السياق، ولذلك يتم التعامل معها بصورة مختلفة.

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

3 تُستخدم دالة تسجيل النقاط لتحديد ما إذا كان تضمين مجموعة من الكلمات في العبارة نفسها واجباً. المقطع البرمجي بالأعلى يستخدم مقياس المعلومات النقطية المشتركة المعاير (Normalized Pointwise Mutual Information – NPMI) لهذا الغرض. يستند هذا المقياس على تكرار توارد الكلمات في العبارة المرشحة وتكون قيمته بين 1- ويرمز إلى الاستقلالية الكاملة (Complete Independence)، و1+ ويرمز إلى التوارد الكامل (Complete Co-occurrence).

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

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

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

تُحوّل دالة ()freeze نموذج العبارة إلى تنسيق غير قابل للتغيير أي مُجمد (Frozen) لكنه أكثر سرعة.

نوع: METADATA

وزارة التعليم 147 Ministry of Education 2025 - 1447

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

• \W+ تتطابق مع كل الرموز الأبجدية الرقمية (z-a, A-Z, 0-9) والشرطة السفلية.• \w+ تُستخدم للبحث عن واحد أو أكثر من رموز \W. لذلك، في السلسلة النصية hello123_world (مرحباً 123_العالم)، النمط \w+ سيتطابق مع الكلمات hello (مرحباً) و 123 و world (العالم).• \b تمثل الفاصل (Boundary) بين رمز \w ورمز ليس \w، وكذلك، في بداية أو نهاية السلسلة النصية المعطاة. على سبيل المثال، سيتطابق النمط \bcat\b مع الكلمة cat (القطة) في السلسلة النصية The cat is cute (القطة لطيفة)، ولكنه لن يتطابق مع الكلمة cat (القطة) في السلسلة النصية The category is pets (فئة الحيوانات الأليفة).أدناه مثالاً على التقسيم باستخدام الدالة ()tokenize_doc.raw_text='The movie was too long. I fell asleep after the first 2 hours.' tokenized_sentences=tokenize_doc(raw_text) tokenized_sentences[['the', 'movie', 'was', 'too', 'long'], ['i', 'fell', 'asleep', 'after', 'the', 'first', '2', 'hours']]يمكن الآن تجميع الدالة ()tokenize_doc مع أداة العبارات من مكتبة جينسيم (Gensim) لإنشاء نموذج العبارة، وهو نموذج يمكنه التعرف على العبارات المكونة من عدة كلمات في جملة معطاة. يستخدم المقطع البرمجي التالي بيانات التدريب IMDb الخاصة بـ (X_train_text) لبناء مثل هذا النموذج:sentences=[] # list of all the tokenized sentences across all the docs in this dataset for doc in X_train_text: # for each doc in this dataset sentences+=tokenize_doc(doc) # get the list of tokenized sentences in this doc# build a phrase model on the given data imdb_phrase_model = Phrases(sentences, 1 connector_words=ENGLISH_CONNECTOR_WORDS, 2 scoring='npmi', 3 threshold=0.25).freeze() 4كما هو موضح بالأعلى، تستقبل الدالة ()Phrases أربعة متغيرات:1 قائمة الجمل المقسمة من مجموعة النصوص المعطاة.2 قائمة بالكلمات الإنجليزية الشائعة التي تظهر بصورة متكررة في العبارات (مثل: the و of)، وليس لها أي قيمة موجبة أو سالبة، ولكن يمكنها إضفاء المشاعر حسب السياق، ولذلك يتم التعامل معها بصورة مختلفة.3 تُستخدم دالة تسجيل النقاط لتحديد ما إذا كان تضمين مجموعة من الكلمات في العبارة نفسها واجباً. المقطع البرمجي بالأعلى يستخدم مقياس المعلومات النقطية المشتركة المعاير (Normalized Pointwise Mutual Information – NPMI) لهذا الغرض. يستند هذا المقياس على تكرار توارد الكلمات في العبارة المرشحة وتكون قيمته بين 1- ويرمز إلى الاستقلالية الكاملة (Complete Independence)، و1+ ويرمز إلى التوارد الكامل (Complete Co-occurrence).4 في حدود دالة تسجيل النقاط يتم تجاهل العبارات ذات النقاط الأقل. ومن الناحية العملية، يمكن ضبط هذه الحدود لتحديد القيمة التي تعطي أفضل النتائج في التطبيقات النهائية مثل: النمذجة التنبؤية.تُحوّل دالة ()freeze نموذج العبارة إلى تنسيق غير قابل للتغيير أي مُجمد (Frozen) لكنه أكثر سرعة.2025 - 1447

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

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

ما هو الغرض الأساسي من استخدام النمط '\w+' في التعبيرات النمطية؟

الإجابة: يُستخدم النمط '\w+' للبحث عن تطابق واحد أو أكثر من الرموز الأبجدية الرقمية (a-z, A-Z, 0-9) والشرطة السفلية.

الشرح: الرمز '\w' يمثل أي حرف أبجدي رقمي أو شرطة سفلية. إضافة '+' تعني أننا نبحث عن تكرار واحد أو أكثر من هذه الرموز، مما يمكننا من مطابقة كلمات كاملة أو أجزاء منها.

تلميح: فكر في ما يمثله الرمز '\w' وماذا تضيف علامة '+' إليه.

في أي سياق يتم استخدام النمط '\b' في التعبيرات النمطية؟

الإجابة: يُستخدم النمط '\b' لتمثيل 'فاصل' (Boundary) بين رمز '\w' (رمز أبجدي رقمي أو شرطة سفلية) ورمز ليس '\w'، وكذلك في بداية أو نهاية السلسلة النصية.

الشرح: النمط '\b' يضمن أن الكلمة المطابقة تكون كلمة مستقلة وليست جزءًا من كلمة أكبر، مما يزيد من دقة البحث.

تلميح: ما هي الفائدة من تحديد حدود الكلمات بدلاً من مطابقة الكلمة نفسها بغض النظر عن سياقها؟

ما هي وظيفة الدالة `tokenize_doc` المذكورة في النص؟

الإجابة: تقوم الدالة `tokenize_doc` بتقسيم النص إلى جمل، ثم تقوم بتقسيم كل جملة إلى رموز (tokens) فردية، مثل الكلمات والأرقام.

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

تلميح: كيف تساعد هذه الدالة في تجهيز النص للمزيد من المعالجة مثل بناء النماذج؟

ما هو الغرض من تجميع الدالة `tokenize_doc` مع أداة العبارات (Phrases) من مكتبة Gensim؟

الإجابة: يهدف تجميع هذه الأدوات إلى بناء نموذج عبارة (phrase model) قادر على التعرف على العبارات المكونة من عدة كلمات متجاورة في النص، والتي قد تشكل معنى خاصًا عند اجتماعها.

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

تلميح: لماذا قد تكون بعض الكلمات التي تظهر معًا بشكل متكرر أكثر أهمية من الكلمات الفردية؟

اشرح معنى المتغير `scoring='npmi'` عند بناء نموذج العبارة `Phrases`.

الإجابة: يشير `scoring='npmi'` إلى استخدام مقياس 'المعلومات النقطية المشتركة المعاير' (Normalized Pointwise Mutual Information - NPMI) لتحديد ما إذا كان تضمين مجموعة من الكلمات في عبارة واحدة أمرًا منطقيًا بناءً على مدى تواردها معًا مقارنة بتواردها بشكل مستقل.

الشرح: NPMI هو مقياس إحصائي يقيم قوة الارتباط بين كلمتين أو أكثر. قيمة عالية تشير إلى أن الكلمات تظهر معًا بشكل أكبر مما هو متوقع بالصدفة، مما يدل على أنها قد تشكل عبارة ذات معنى.

تلميح: ما الذي يحاول مقياس NPMI قياسه بين الكلمات؟