التعلم غير الموجه - الذكاء الاصطناعي - ثالث ثانوي
الجزء الأول
1. أساسيات الذكاء الاصطناعي
2. خوارزميات الذكاء الاصطناعي
3. معالجة اللغات الطبيعية
الجزء الثاني
4. التعرف على الصور
5. خوارزميات التحسين واتخاذ القرار
6. الذكاء الاصطناعي والمجتمع
154 رابط الدرس الرقمي الدرس الثاني التعلم غير الموجه استخدام التعلم غير الموجه لفهم النصوص Using Unsupervised Learning to Understand Text و www.ien.edu.sa التعلُّم غير الموجه هو نوع من تعلُّم الآلة، يستخدم فيه النموذج بيانات غير معنونة، حيثُ يُقدِّم له مجموعة من الأمثلة التي يتولى البحث فيها عن الأنماط والعلاقات بين البيانات من تلقاء نفسه. وفي سياق فهم النص يمكن استخدام التعلم غير الموجه في تحديد الهياكل والأنماط الكامنة ضمن مجموعة بيانات المستندات النصية. هناك العديد من التقنيات المختلفة التي يمكن استخدامها في التعلّم غير الموجه للبيانات النصية، بما في ذلك خوارزميات التجميع (Clustering Algorithms) ، وتقنيات تقليص الأبعاد (Dimensionality Reduction Techniques) ، والنماذج التوليدية (Generative Models) . تستخدم خوارزميات التجميع المستندات المتشابهة معًا ، بينما تُستخدم تقنيات تقليص الأبعاد لتقليص أبعاد لضم البيانات وتحديد الخصائص الهامة. ومن ناحية أخرى، تُستخدم النماذج التوليدية التعلم غير الموجه لتعلم التوزيع الأساسي للبيانات وتوليد نص جديد مشابه لمجموعة البيانات الأصلية. خوارزميات التجميع Clustering Algorithms (Unsupervised Learning) و في التعلم غير الموجه يُزوّد النموذج يمكن لخوارزميات التجميع تجميع العملاء المتشابهين استنادا إلى السلوكيات بكميات كبيرة من البيانات غير المعنونة أو الديموغرافيا ، أو سجل المشتريات؛ لأغراض التسويق المستهدف وزيادة ويتوجب عليه البحث عن الأنماط في البيانات غير المتراكبة من خلال معدلات الاحتفاظ بالعملاء. تقنيات تقليص الأبعاد Dimensionality Reduction Techniques الملاحظة والتجميع تُستخدم تقنيات تقليص الأبعاد في ضغط الصورة لتقليـل عـدد وحدات تقليص الأبعاد البيكسل فيها، مما يساعد على تقليص حجم البيانات اللازمة لتمثيلها مع الحفاظ على خصائصها الرئيسة. النماذج التوليدية Generative Models : (Dimensionality Reduction) تقنية تقليص الأبعاد هي إحدى تقنيات تعلّم الآلة وتحليل البيانات المستخدمة تُستخدم النماذج التوليدية في تطبيقات الكشف عن الاختلاف؛ حيث لتقليص عدد الخصائص (الأبعاد) في مجموعة البيانات مع تُحدِّد الاختلافات في البيانات بتعلم الأنماط الطبيعية للبيانات باستخدام النموذج التوليدي الاحتفاظ بأكبر قدر ممكن من المعلومات. مدخلات البيانات الأولية التفسير الخوارزمية المعالجة شكل 3.15: تمثيل التعلم غير الموجه المخرج المتوقع وزارة التعليم Ministry of Education 2024-1446
155 وإحدى المزايا الرئيسة لاستخدام التعلُّم غير الموجه هي أنه يمكن استخدامه العنقود (Cluster) للكشف عن الأنماط والعلاقات التي قد لا تبدو واضحة على الفور للمراقب العنقود هو مجموعة من الأشياء البشري. وقد يكون هذا مفيدًا بشكل خاص في فهم مجموعات البيانات المتشابهة. وفي تعلم الآلة، يشير الكبيرة المكونة من النصوص غير المتراكبة، حيث يكون التحليل اليدوي التجميع (Clustering) إلى غير عملي في هذه الوحدة، ستستخدم مجموعة بيانات متوافرة للعامة عملية تجميع البيانات غير من المقالات الإخبارية من هيئة الإذاعة البريطانية (BBC) بواسطة المعنونة في عناقيد متجانسة. جرين وكوننجهام، 2006 ، Greene & Cunningham) لتوضيح بعض التقنيات الرئيسة للتعلّم غير الموجه. يُستخدم المقطع البرمجي التالي وس لتحميل مجموعة البيانات المنظمة في خمسة مجلدات إخبارية مختلفة تمثل مقالات من أقسام إخبارية مختلفة، هي: الأعمال التجارية، والسياسة، والرياضة، والتقنية والترفيه. لن تستخدم القيم الخمسة في توجيه من الخوارزميات المستخدمة في هذه الوحدة وبدلا من ذلك، ستستخدم فقط لأغراض التصوير والمصادقة. يتضمن كل مجلد إخباري مئات الملفات النصية، وكل ملف يتضمن محتوى مقالة واحدة محددة. وقد حملت مجموعة البيانات بالفعل إلى مفكرة جوبيتر (Jupyter Notebook) وستقوم لبنة التعليمات البرمجية بفتح واستخراج كل المستندات والقيم المطلوبة في تركيبتين لبيانات القوائم على التوالي. ، شكل 3.16: تمثيل عنقود وزارة التعليم Ministry of Education 2024-1446 BBC open dataset https://www.kaggle.com/datasets/shivamkushwaha/bbc-full-text-document-classification D. Greene and P. Cunningham. "Practical Solutions to the Problem of Diagonal Dominance in Kernel Document Clustering", Proc. ICML 2006. All rights, including copyright, in the content of the original articles are owned by the BBC. # used to list all the files and subfolders in a given folder from os import listdir # used for generating random number import random shuffling lists bbc_docs=[] # holds the text of the articles bbc_labels=[] #holds the news section for each article for folder in listdir('bbc'): # for each news-section folder for file in listdir('bbc/'+folder): # for each text file in this folder # open the text file, use encoding='utf8' because articles may include non-ascii characters with open('bbc/'+folder+'/'+file,encoding='utf8',errors='ignore') as f: bbc_docs.append(f.read()) # read the text of the article and append to the docs list # use the name of the folder (news section) as a label for this doc bbc_labels.append(folder) # shuffle the docs and labels lists in parallel merged = list(zip (bbc_docs, bbc_labels)) # link the two lists random.shuffle(merged) # shuffle them in parallel (with the same random order) bbc_docs, bbc_labels = zip( *merged) #separate them again into individual lists.
156 تجميع الآن بعد تحميل مجموعة البيانات فإن الخطوة التالية هي تجربة عدة طرائق غير موجهة، ومنها: التجميع الذي يُعدّ الطريقة غير الموجّهة الأكثر شهرة في هذا المستندات Document Clustering تجميع المستندات : (Document Clustering) النطاق. وبالنّظر إلى مجموعة من المستندات غير المعنونة، سيكون الهدف هو تجميع المستندات هو طريقة تُستخدم تجميع الوثائق المتشابهة معًا ، وفي الوقت نفسه الفصل بين الوثائق غير المتشابهة. جدول 3.2: العوامل التي تُحدد جودة النتائج لتجميع المستندات النصية في عناقيد بناءً على تشابه محتواها. 1 طريقة تمثيل البيانات بالمتجهات على الرغم من أن تقنية تكرار المصطلح- تكرار المستند العكسي (TF-IDF) أثبتت كفاءتها وفعاليتها في هذا المجال، إلا أنك ستتعرف في هذه الوحدة على مزيد من البدائل الأكثر تطورًا وتعقيدًا. 2 التعريف الدقيق للتشابه بين مستند وآخر بالنسبة للبيانات النصية الممثلة بالمتجهات، تكون مقاييس المسافة الإقليدية وجيب التمام هما الأكثر شيوعًا ، وسيُستخدم الأول في الأمثلة المشروحة في هذه الوحدة. 3 عدد العناقيد المختارة: يوفر التجميع التكتلي - Agglomerative Clustering طريقة واضحة لتحديد العدد المناسب من العناقيد ضمن مجموعة محددة من البيانات، وهو التحدي الرئيس الذي يواجه مهام التجميع. تحديد عدد العناقيد Selecting the Number of Clusters المسافة الإقليدية :(Euclidean Distance) تحديد العدد الصحيح للعناقيد هو خطوة ضرورية ضمن مهام التجميع. للأسف، تعتمد الغالبية العظمى من خوارزميات التجميع على المستخدم في تحديد عدد العناقيد الصحيحة ضمن المدخلات. ربما يكون للعدد المحدد المسافة الإقليدية هي مسافة الخط المستقيم تأثيرًا كبيرًا على جودة النتائج وقابليتها للتفسير ، ولكن هناك العديد من بين نقطتين في فضاء متعدد الأبعاد. وتُحسب المقاييس أو المؤشرات التي يمكن استخدامها لتحديد عدد العناقيد. بالجذر التربيعي لمجموع مربعات الفروقات بين الأبعاد المناظرة للنقاط. تُستخدم المسافة . إحدى الطرائق الشائعة هي استخدام مقياس التراص (Compactness). الإقليدية في التجميع لقياس التشابه بين يمكن القيام بذلك عن طريق حساب مجموع المسافات بين النقاط ضمن كل نقطتي بيانات. عنقود، وتحديد عدد العناقيد الذي يقلل من هذا المجموع إلى الحد الأدنى. . هناك طريقة أخرى تتلخص في مقياس الفصل (Separation) بين العناقيد ، مثل متوسط المسافة بين النقاط في العناقيد المختلفة، وبناء مسافة جيب التمام عليه، يتم تحديد عدد العناقيد الذي يرفع من هذا المتوسط. : (Cosine Distance) وبشكل عملي، غالبا ما تتعارض المنهجيات المذكورة بالأعلى مع بعضها من تُستخدم مسافة جيب التمام لقياس التشابه حيث التوصية بأرقام مختلفة، ويمثل هذا تحدّيًا مشتركًا عند التعامل مع في جيب التمام بين نقطتي البيانات. فهي البيانات النصية بشكل خاص، فعادةً ما يصعب تمييز تركيبها. تحسب جيب تمام الزاوية بين متَّجَهين يمثلان نقاط البيانات، وتُستخدم عادةً في تجميع شكل :317 آلة حساب المسافات بين النقاط ٥٠ البيانات النصية. وتقع قيمة جيب التمام بين - 1 و 1؛ حيث تشير القيمة -1 إلى الاتجاه العكسي، بينما تشير القيمة 1 إلى الاتجاه نفسه. وزارة التعليم Ministry of Education 2024-1446
157 في التعلم غير الموجّه، يشير عدد العناقيد إلى عدد المجموعات أو : (Hierarchical Clustering) التصنيفات التي تنقسم إليها البيانات بواسطة الخوارزمية. ويُعدّ التجميع الهرمي تحديد عدد العناقيد الصحيح أمرًا مهمًا؛ لأنه يؤثر على دقة النتائج وقابليتها للتفسير. إذا كان عدد العناقيد كبيرًا للغاية، فإنّ المجموعات التجميع الهرمي هو خوارزمية التجميع المستخدمة ستكون محدّدةً جدًا ودون معنى. في حين أنه إذا كان عدد العناقيد لتجميع البيانات في عناقيد بناءً على التشابه في منخفضًا للغاية، فإنّ المجموعات ستكون ممتدة على نطاق واسع التجميع الهرمي، تُنظم نقاط البيانات في تركيب يشبه جدا، ولن تستنبط التركيب الأساسي للبيانات. من الضروري تحقيق الشجرة، حيث تكون كل عُقدة بمثابة عنقود، وتكون التوازن بين توفير عددٍ كافٍ من العناقيد لاستنباط أنماط ذات معنى العُقدة الأم هي نقطة التقاء العقد المتفرعة منها. وألا تكون كثيرة في الوقت نفسه بالقدر الذي يجعل النتائج معقدة للغاية وغير مفهومة. يُستخدم المقطع البرمجي التالي لاستيراد مكتبات محددة تُستخدم في التجميع الهرمي من بدايته حتى نهايته: وزارة التعليم Ministry of Education 2024-1446 # used for tfi-df vectorization, as seen in the previous unit from sklearn.feature_extraction. text import TfidfVectorizer from sklearn.cluster import Agglomerative Clustering # used for agglomerative clustering # used to visualize and support hierarchical clustering tasks import scipy.cluster.hierarchy as hierarchy # set the color palette to be used by the 'hierarchy' tool. hierarchy.set_link_color_palette (['blue','green','red','yellow','brown','purple','orange','pink','black']) import matplotlib.pyplot as plt # used for general visualizations البرمجة الاتجاهية للنصوص Text Vectorization تتطلب العديد من طرائق التعلُّم غير الموجّه تمثيل النصّ الأولي بالمتجهات في تنسيق رقمي، كما تم عرضه في الوحدة السابقة، ويستخدم المقطع البرمجي التالي أداة TfidfVectorizer التي استخدمت في الدرس السابق لهذا الغرض: vectorizer = TfidfVectorizer(min_df=10) # apply tf-idf vectorization, ignore words that appear in more than 10 docs. text_tfidf=vectorizer.fit_transform(bbc_docs) # fit and transform in one line text_tfidf <2225x5867 sparse matrix of type '<class 'numpy.float64'>' with 392379 stored elements in Compressed Sparse Row format> الآن تحولت بيانات النص إلى تنسيق رقمي متباعد كما استخدمت في الدرس السابق.
158 يَستخدم المقطع البرمجي التالي أداة TSENVisualizer من مكتبة yellowbrick لإسقاط وتصوير النصوص الممثلة بالمتجهات في فضاء ثنائي الأبعاد: %%capture !pip install yellowbrick from yellowbrick.text import TSNEVisualizer تقليص الأبعاد Dimensionality Reduction يكون تقليص الأبعاد مفيدًا في العديد من التطبيقات مثل: • تصوير البيانات عالية الأبعاد من الصعب تصوير البيانات في فضاء عالي الأبعاد ، ولذلك تُقلّص الأبعاد ليسهل تصوير البيانات وفهمها في هذه الحالة. تضمين المجاور العشوائي الموزع على شكل T t-Distributed Stochastic Neighbor Embedding (T-SNE) خوارزمية تضمين المجاور العشوائي الموزّع على تبسيط النموذج: النموذج ذو الأبعاد الأقل يكون أبسط وأسهل شكل T-SNE) T) هي خوارزمية تعلُّم الآلة غير فهما ، ويستغرق وقتًا أقل في عملية التدريب. الموجه المستخدمة لتقليص الأبعاد. تحسين أداء النموذج: يُساعد تقليص الأبعاد في التخلص من التشويش وتكرار البيانات، مما يُحسّن أداء النموذج. جدول 3.3 تقنيات تقليص الأبعاد التقنية الوصف مثال التطبيق العملي تحديد الخصائص تحديد الخصائص يتضمن تحديد تحتوي مجموعات البيانات الطبية على مئات من مجموعة فرعية من الخصائص أعمدة البيانات ذات الصلة بحالة المريض. يمكن لعدد (Feature Selection) الرئيسة. قليل من هذه الخصائص مساعدة النموذج في التشخيص السليم لحالة المريض، بينما تكون السمات الأخرى غير مرتبطة بالتشخيص وقد تُشتت النموذج، وتحديد الخصائص يتجاهل كل الخصائص بإستثناء الأكثر تميزا منها. (Feature تحويل الخصائص يتضمن تحويل الخصائص تجميع إذا توقع النموذج إقامة المريض في المستشفى، يمكن الخصائص الأصلية أو تحويلها لإنشاء إنشاء خصائص إضافية للنموذج باستخدام (Transformation مجموعة جديدة من الخصائص ، الخصائص الحالية لسجلات الحالة الطبية للمريض. واستبدال الخصائص الرئيسة إذا لم على سبيل المثال، حساب عدد الفحوصات المخبرية تكن هناك حاجة إليها. المطلوبة على مدار الأسبوع الماضي، أو عدد الزيارات على مدار الشهر الماضي. وهناك مثال آخر، وهو: حساب مساحة المستطيل بإستخدام ارتفاعه وعرضه. (Manifold Learning) التعلم المتشعب تقنيات التعلُّم المتشعب، مثل تضمين يمكن لهذه التقنيات تحويل صورة عالية الأبعاد إلى المجاور العشوائي الموزّع على شكل فضاء منخفض الأبعاد مع الحفاظ على الخصائص T-SNE) T) والتقريب والإسقاط والتركيب الأساسيين لها. ونظرًا لأن هذا يقلص من المتشعب المنتظم Uniform Manifold المساحة المطلوبة، فإنه يمكن تخزين وإرسال هذا (Uniform Approximation and Projection | التمثيل وإعادة بناء الصورة الأصلية مع خسارة أقل UMAP - ( هي تقنيات التعلم غير الموجه قدر من المعلومات. التي تهدف إلى الحفاظ على تركيب البيانات في الفضاء منخفض الأبعاد. وزارة التعليم Ministry of Education 2024-1446
159 إحدى الخصائص الرئيسة لتقنية تضمين المجاور العشوائي الموزّع على شكل TSE) T) هي محاولة الحفاظ على التركيب المحلي للبيانات قدر الإمكان، حتى تتقارب نقاط البيانات الشبيهة في التمثيل منخفض الأبعاد، ويتحقق ذلك بتقليص التباعد بين التوزيعين المحتملين: توزيع البيانات عالية الأبعاد، وتوزيع البيانات منخفضة الأبعاد. مجموعة بيانات هيئة الإذاعة البريطانية الممثلة بالمتجهات تُصنَّف بالتأكيد كبيانات عالية الأبعاد، لأنها تتضمن بُعدًا مستقلًا أي عمودًا (Column) لكل كلمة فريدة تظهر في البيانات يُحسب العدد الإجمالي للأبعاد كما يلي: وزارة التعليم Ministry of Education 2024-1446 print('Number of unique words in the BBC documents vectors: ', len(vectorizer.get_feature_names_out())) Number of unique words in the BBC documents vectors: 5867 يُستخدم المقطع البرمجي التالي لإسقاط 5,867 بُعدًا في محورين فقط وهما محوري X و Y في الرسم البياني. يُستخدم المقطع البرمجي التالي لتصميم مُخطّط الانتشار حيث يمثل كل لون أحد الأقسام الإخبارية الخمسة. tsne = TSNEVisualizer(colors=['blue','green','red','yellow','brown']) tsne.fit(text_tfidf,bbc_labels) tsne.show(); TSNE Projection of 2225 Documents business entertainment politics sport tech شكل 3.18: إسقاط تضمين المجاور العشوائي الموزّع على شكل TSE) T) يستخدم هذا التصور قيمة ground-truth بيانات الحقيقة المعتمدة من القسم الإخباري (News Section) في كل مستند للكشف عن انتشار كل قيمة في إسقاط فضاء البرمجة الاتجاهية ثنائي الأبعاد. يوضّح الشكل أنه على الرغم من ظهور بعض الشوائب في فراغات مُحدَّدة من فضاء البيانات، إلا أن الأقسام الإخبارية الخمسة منفصلة بشكل جيد وسنستعرض لاحقًا البرمجة الاتجاهية المحسَّنة للحد من هذه الشوائب.
التجميع التكتلي (Agglomerative Clustering (AC المستوى السادس التجميع التكتلي (AC) هو الطريقة الأكثر انتشارًا وفعاليةً في هذا الفضاء، فمن المستوى الخامس خلالها يمكن التغلّب على هذا التحدي بتوفير طريقة واضحة لتحديد العدد المناسب المستوى الرابع من العناقيد . يستند التجميع التكتلي (AC) إلى منهجية التصميم من أسفل إلى المستوى الثالث أعلى، حيث تبدأ بحساب المسافة بين كل أزواج نقاط البيانات، ثم اختيار النقطتين الأقرب ودمجهما في عنقود واحد تتكرر هذه العملية حتى تدمج كل نقاط البيانات المستوى الثاني في عنقود واحد ، أو حتى الوصول إلى العدد المطلوب من العناقيد. المستوى الأول fi دالة ()Linkage تُنفذ لغة البايثون التجميع التكتلي (AC) باستخدام دالة ()linkage يجب توفير متغيرين لدالة ( )linkage bl dlle lghl شكل 3.19: التجميع التكتلي (AC) البيانات النصية الممثلة بالمتجهات، ويمكن استخدام دالة ()toarray لتحويل البيانات إلى تنسيق كثيف يمكن لهذه الدالة أن تتعامل معه. مقياس المسافة الذي يجب استخدامه لتحديد العناقيد التي ستدمج أثناء عملية التجميع التكتلي. تتوفر عدة خيارات من مقاييس المسافة للاختيار من بينها وفقًا لمتطلبات وتفضيلات المستخدم، مثل المسافة الإقليدية (Euclidian) ، ومسافة مانهاتن (Manhattan ) ... إلخ، ولكن في هذا المشروع ستستخدم طريقة وارد (ward) القياسية. يستخدم المقطع البرمجي التالي دالة ( ) linkage من الأداة الهرمية ( Hierarchy) الواردة بالأعلى لتطبيق هذه العملية على بيانات هيئة الإذاعة البريطانية الممثلة بالمتجهات: و لل وزارة التعليم Ministry of Education 2024-1446 plt.figure() # create a new empty figure # iteratively merge points and clusters until all points belong to a single cluster # return the linkage of the produced tree linkage_tfidf=hierarchy.linkage(text_tfidf.toarray(),method='ward') #visualize the linkage hierarchy.dendrogram(linkage_tfidf) # show the figure plt.show() 5 3 2 1 0 شكل 3.20 : الرسم الشجري الهرمي لبيانات هيئة الإذاعة البريطانية 160
مسافة وارد Ward Distance يستخدم المثال المثال أعلاه طريقة وارد Ward القياسية لقياس المسافة للمتغير الثاني تستند مسافة وارد (Ward) إلى مفهوم التباين داخل العنقود، وهو مجموع المسافات بين النقاط في العنقود في كل تكرار، تقيم الطريقة كل عملية دمج ممكنة بحساب التباين داخل العنقود قبل عملية الدمج وبعدها ، ثم تبدأ عملية الدمج التي تحقق أقل ارتفاع في التباين أظهرت مسافة وارد (Ward) نتائج جيدة في معالجة البيانات النصية، بالرغم من وجود العديد من + + (+ الخيارات الأخرى. شكل :3.21 مثال على طريقة وارد (Ward) الرسم الشجري في الشكل 3.20 يعرض طريقة واضحة لتحديد الرسم الشجري (Dendrogram) : عدد العناقيد في هذا المثال، تقترح المكتبة استخدام 7 عناقيد، مع تمييز كل عنقود بلون مختلف. قد يتبنى المستخدم هذا المقترح الرسم الشجري هو رسم تخطيطي أو يستخدم الرسم الشجري لاختيار رقم مختلف. على سبيل المثال، تفرعي يوضّح العلاقة الهرمية بين دمج اللونين الأزرق والأخضر في آخر خطوة مع مجموعة العناقيد البيانات، ويأتي عادة في صورة أحد لكل الألوان الأخرى. وهكذا سيؤدي اختيار 6 عناقيد إلى دمج مخرجات التجميع الهرمي. اللونين الأرجواني والبرتقالي، بينما اختيار 5 عناقيد سيؤدي إلى دمج اللونين الأزرق والأخضر. يتبنى المقطع البرمجي التالي مقترحات الأداة ويستخدم أداة التجميع التكتلي من مكتبة سكليرن (Sklearn) لتقسيم المُخطَّط الشجري بعد إنشاء العناقيد السبع: 161 AC_tfidf=AgglomerativeClustering(linkage='ward',n_clusters=7) #prepare the tool, set the number of clusters. AC_tfidf.fit(text_tfidf.toarray()) #apply the tool to the vectorized BBC data. pred_tfidf=AC_tfidf.labels_ # get the cluster labels. pred_tfidf وزارة التعليم Ministry of Education 2024-1446 array([6, 2, 4, ..., 6, 3, 5], dtype=int64) لاحظ أن قيمة ground-truth بيانات الحقيقة المعتمدة من القسم الإخباري News Section في كل مستند لم تُستخدم على الإطلاق في هذه العملية. وبدلًا من ذلك، عولجت عملية التجميع استنادًا إلى نص محتوى كل وثيقة على حده. إنَّ قيم بيانات الحقيقة المعتمدة مفيدة في التطبيق العملي، فهي تتيح التحقق من صحة نتائج التجميع. وقيم بيانات الحقيقة المعتمدة الحالية موجودة في قائمة bbc_labels قيم هيئة الإذاعة البريطانية).
يستخدم المقطع البرمجي التالي قيم بيانات الحقيقة المعتمدة وثلاثة دوال مختلفة لتسجيل النقاط من مكتبة سكليرن ( Sklearn) لتقييم جودة تجميع البيانات: تكون قيم مؤشر التجانس (Homogeneity Score بين 0 و 1 ويمكن زيادة هذه القيم عندما تكون كل النقاط في كل عنقود لها قيمة بيانات الحقيقة المعتمدة. وبالمثل، يحتوي كل عنقود على نقاط البيانات وحيدة التصنيف. تكون قيمة مؤشر راند المعدل (Adjusted and Score بين 0.5 و 1.0 ويمكن زيادة هذه القيم عندما تقع كل نقاط البيانات ذات القيم نفسها في العنقود نفسه وكل نقاط البيانات ذات القيم المختلفة في عناقيد مختلفة. تكون قيمة مؤشر الاكتمال ) Completeness Score بين 0 و 1 ويمكن زيادة هذه القيمة بتعيين كل نقاط البيانات من تصنيف محدد في العنقود نفسه. وزارة التعليم Ministry of Education 2024-1446 from sklearn.metrics import homogeneity_score,adjusted_rand_ score, completeness_score print('\nHomogeneity score:',homogeneity_score(bbc_labels,pred_tfidf)) print('\nAdjusted Rand score:',adjusted_rand_score(bbc_labels,pred_tfidf)) print('\nCompleteness score:',completeness_score(bbc_labels,pred_tfidf)) Homogeneity score: 0.6224333236569846 Adjusted Rand score: 0.4630492696176891 Completeness score: 0.5430590192420555 المؤشر أقرب إلى 1 وهذا يعني أن مجموعة النصوص في العنقود تنتمي إلى قيمة واحدة المؤشر أقرب إلى 1 وهذا يعني إنشاء روابط أفضل بين العناقيد والقيم؛ كل على حده. لاستكمال تحليل البيانات، يُعاد تجميع البيانات باستخدام 5 عناقيد، بالتساوي مع العدد الحقيقي لقيم : ground-truth ) بيانات الحقيقة المعتمدة) AC_tfidf=AgglomerativeClustering(linkage='ward',n_clusters=5) AC_tfidf.fit(text_tfidf.toarray()) pred_tfidf=AC_tfidf.labels_ print('\nHomogeneity score:',homogeneity_score(bbc_labels,pred_tfidf)) print('\nAdjusted Rand score: ',adjusted_rand_score(bbc_labels,pred_tfidf)) print('\nCompleteness score:',completeness_score(bbc_labels,pred_tfidf)) Homogeneity score: 0.528836079209762 Adjusted Rand score: 0.45628412883628383 Completeness score: 0.6075627851312266 نظرا لقدرة التجميع الهرمي على إيجاد العدد الحقيقي من القيم، وتوفير مؤشر اكتمال أكثر دقة، ستحصل على عملية تجميع أفضل من حيث تمثيل البيانات. على الرغم من أن نتائج المؤشر تُظهر أن التجميع التكتلي باستخدام البرمجة الاتجاهية لتكرار المصطلح تكرار المستند العكسي (TF-IDF) تحقق نتائج معقولة، إلا أنّه لا يزال بالإمكان تحسين دقة عملية التجميع سيوضح القسم التالي كيف يمكن أن نحقق نتائج مبهرة باستخدام تقنيات البرمجة الاتجاهية المستندة على الشبكات العصبية. 162
البرمجة الاتجاهية للكلمات باستخدام الشبكات العصبية Word Vectorization with Neural Networks البرمجة الاتجاهية لتكرار المصطلح تكرار المستند العكسي (TF-IDF) تستند إلى حساب تكرار الكلمات ومعالجتها عبر المستندات في مجموعة البيانات. بالرغم من أن هذا يحقق نتائج جيدة، إلا أنّ القيود الكبيرة تعيب الطرائق المستندة إلى التكرار. فهي تتجاهل تمامًا العلاقة الدلالية بين الكلمات. على سبيل المثال، على الرغم من أن كلمتي trip (نزهة وjourney ( رحلة) مترادفتان، إلا أنّ البرمجة الاتجاهيّة المستندة إلى التكرار ستتعامل معهما باعتبارهما كلمتان منفصلتان تمامًا ولهما خصائص مستقلة. وبالمثل، بالرغم من أن كلمتي apple تفاحة و fruit فاكهة) مترابطتان دلاليا؛ لأن التفاح نوع من الفاكهة إلا أنّ ذلك لن يؤخذ بعين الاعتبار أيضًا. تؤثر هذه القيود كثيرًا على التطبيقات التي تستخدم هذا النوع من البرمجة الاتجاهية. فكر في الجملتين التاليتين: • have a very high fever، so I have to visit a doctor لديّ حمّى شديدة، ويجب علي زيارة الطبيب). My body temperature has risen significantly. so I need to see a healthcare professional ارتفعت درجة حرارة جسمي كثيرًا، ويجب عليّ زيارة أخصائي الرعاية الصحية). بالرغم من أن الجملتين تصفان الحالة نفسها إلا أنهما لا تتشاركان أي كلمات دلالية. ولذلك، ستفشل خوارزميات التجميع المستندة إلى تكرار المصطلح تكرار المستند العكسي (TF-IDF) أو أي برمجة اتجاهية (تستند إلى التكرار) في رؤية التشابه بين الكلمات، ومن المحتمل ألا تضعها في نفس العنقود. نموذج الكلمة إلى المتجه Word2Vec يمكن معالجة هذه القيود بالطرائق التي تأخذ بعين الاعتبار التشابه الدلالي بين الكلمات. إحدى الطرائق الشهيرة المتبعة في هذا الصدد الكلمات المستبعدة (Stopwords) : الكلمات المستبعدة كلمات شائعة في و هي و اللغات تُستبعد عادةً أثناء المعالجة المسبقة للنصوص ضمن مهام معالجة اللغات هي نموذج الكلمة إلى المتَّجه (Word Vec) التي تستخدم بنية تستند إلى الشبكات العصبية. يستند نموذج الكلمة إلى المتجه Word ec) إلى فكرة أن الكلمات المتشابهة دلاليا تحاط بكلمات مماثلة في السياق نفسه. ولذلك، نجد الشبكات العصبية تستخدم الطبيعية (NPL) مثل البرمجة الاتجاهية للكلمات. هذه الكلمات تشمل أدوات التعريف وحروف العطف، وحروف الجر، والكلمات سياقه. التي لا تكون مفيدة لتحديد معنى النص، أو التضمين الخفي لكل كلمة للتنبؤ بالسياق، مع ضرورة إنشاء الروابط بين الكلمات والتضمينات الشبيهة . عمليا ، يخضع نموذج الكلمة إلى المتجه (Word2ec للتدريب المسبق على ملايين المستندات لتعلم التضمين عالي الدقة للكلمات. يمكن تحميل النماذج المدرَّبة مسبقًا واستخدامها في التطبيقات المستندة إلى النصوص. يستخدم المقطع التضمين يُعبّر عن الكلمات أو الرموز في البرمجي التالي مكتبة جينسم ( Gensim) لتحميل نموذج شهير مُدرَّب مسبقًا على مجموعة كبيرة جدًا من أخبار قوقل التضمين (Embedding) فضاء المتَّجه المستمر حيث ترتبط الكلمات المتشابهة دلاليا مع النقاط القريبة. 163 وزارة التعليم Ministry of Education 2024-1446 هذا النموذج يربط كل كلمة بتضمين مكوّن من 300 بعد import gensim.downloader as api :(Google News) model_wv = api.load('word2vec-google-news-300' ) fox_emb=model_wv['fox'] print(len(fox_emb)) 300
fox_emb[:10] الأبعاد العشرة الأولى للتضمين العددي لكلمة fox ) ثعلب) موضحة بالأسفل: array([-0.08203125, -0.01379395, -0.3125 -0.12988281, -0.10107422, -0.00164795, dtype=float32) , -0.04125977, 0.15917969, 0.05493164, 0.12402344], يَستخدم النموذج تضمينات الكلمات لتقييم درجة التشابه فكّر في المثال التالي حيث تُظهر المقارنة بين كلمة car ( السيارة) والكلمات الأخرى درجة التشابة من خلال تناقص قيم التشابة. علمًا بأن قيم التشابه تقع دومًا بين 0 و 1 . وزارة التعليم Ministry of Education 2024-1446 pairs = [ ] ('car', 'minivan'), ('car', 'bicycle'), ('car', 'airplane'), ('car', 'street'), ('car', 'apple'), for w1, w2 in pairs: print(w1, w2, model_wv.similarity(w1, w2)) car minivan 0.69070363 car bicycle 0.5364484 car airplane 0.42435578 car street 0.33141237 car apple 0.12830706 يمكن استخدام المقطع البرمجي التالي للعثور على الكلمات الخمسة المشابهة لإحدى الكلمات: print(model_wv.most_similar(positive=['apple'], topn=5)) [('apples', 0.720359742641449), ('pear', 0.6450697183609009), ('fruit', 0.6410146355628967), ('berry', 0.6302295327186584), ('pears', 0.613396167755127)] يُمكن استخدام التصوير في التحقق من صحة تضمينات هذا النموذج المدرَّب مُسبقًا، ويُمكن تحقيق ذلك عبر: تحديد نماذج الكلمات من مجموعة بيانات هيئة الإذاعة البريطانية. استخدام تضمين المجاور العشوائي الموزّع على شكل TSE) T) لتخفيض التضمين ذي الـ 300 بعد لكل كلمة إلى نقطة ثنائية الأبعاد. لل تصوير النقاط في مخطط الانتشار في الفضاء ثنائي الأبعاد. 164
165 وزارة التعليم Ministry of Education 2024-1446 %%capture import nltk # import the nltk library for nlp. import re #import the re library for regular expressions. import numpy as np #used for numeric computations from collections import Counter # used to count the frequency of elements in a given list from sklearn.manifold import TSNE #Tool used for Dimensionality Reduction. # download the 'stopwords' tool from the nltk library. It includes very common words for different languages nltk.download('stopwords' ) from nltk.corpus import stopwords # import the 'stopwords' tool. stop=set(stopwords.words('english')) # load the set of english stopwords. تُستخدم الدالة الآتية لاحقًا لتحديد عينة من الكلمات التمثيلية من مجموعة بيانات هيئة الإذاعة البريطانية. يُحدِّد المقطع البرمجي الكلمات الخمسين الأكثر تكراراً على وجه التحديد من الأقسام الإخبارية الخمسة لهيئة الإذاعة البريطانية مع استثناء الكلمات المستبعدة ( Stopwords) وهي الكلمات الإنجليزية الشائعة جدا والكلمات التي لم تُضمَّن في نموذج الكلمة إلى المتَّجه (Word) المدرب مسبقًا. و تک بعض الكلمات الإنجليزية الشائعة التي تُعدُّ كلمات مُستبعدة ( Stopwords) هي a ( أ ) و (the) (ال) و is ( يكون) و are (يكونون). def get_sample(bbc_docs:list, bbc_labels:list ): word_sample=set() # a sample of words from the BBC dataset # for each BBC news section for label in ['business', 'entertainment', 'politics', 'sport', 'tech']: # get all the words in this news section, ignore stopwords. # for each BBC doc and for each word in the BBC doc # if the word belongs to the label and is not a stopword and is included in the Word2Vec model label_words=[word for i in range(len(bbc_docs)) for word in re.findall(r'\b\w\w+\b',bbc_docs [i].lower()) if bbc_labels[i]==label and word not in stop and word in model_wv] cnt=Counter(label_words) # count the frequency of each word in this news section. # get the top 50 most frequent words in this section. top50=[word for word, freq in cnt.most_common(50)] # add the top50 words to the word sample. word_sample.update(top50) word_sample=list(word_sample) # convert the set to a list. return word_sample word_sample=get_sample(bbc_docs,bbc_labels)
ستستخدم طريقة تضمين المجاور العشوائي الموزّع على شكل T-SNE) T) لتخفيض التضمينات ذات وأخيرًا، للكلمات في العينة ضمن النقاط ثنائية الأبعاد. بعدها ، تُمثَّل النقاط في مُخطّط انتشار بسيط. الـ 300 بعدِ bbc uk milft oscar actor movemedy filmms festival singer actress stars tv music star hym band online video broadband internet win digital matches years group campaign mobile play game players software months phones phone technologmputer million prime data season year final information team coach show rugby half series bestond chart system dub two cup six ald next top services service injury companies last time bacthree side numb dollar firm company firms shares stock sales Reav business net home chinadeal matany on so could way set open party prices bank however well rise best expected going world state country law market economic growth take high tax financial like ail lord great good economy think get added governmentction us general blair says told say public tories people madę make said brown use mps used using users security spokesman presiden Chancellor tony directorader chief police secretary minister december mr frangitain toward england british Wardsea analysts award awards prize شكل 3.22 تمثيل الكلمات الأكثر تكرارًا من مجموعة بيانات هيئة الإذاعة البريطانية يُثبت المُخطَّط أن تضمينات نموذج الكلمة إلى المتَّجه (Word Vec تستنبط الارتباطات الدلالية بين الكلمات، كمـا يتضح من مجموعات الكلمات الواضحة مثل: • economy ( الاقتصاد ) economic ( الاقتصادية ، business ) الأعمال ، financial المالية)، sales (المبيعات)، bank المصرف) firm الشركة ، firms الشركات). Internet ( الإنترنت mobile الهاتف المحمول ، phones ) الهواتف phone الهاتف)، broadband ( النطاق العريض ، online ) متصل) ، digital (رقمي). • actor (ممثل) actress (ممثلة) film (فيلم) ، Comedy (كوميدي) ، films أفلام festival(مهرجان)، band (فرقة) ، movie (فيلم). ، ، (!) injury() coach (Y) players (3) match () team . (a) game • ، ، ، وزارة التعليم Ministry of Education 2024-1446 club نادي)، rugby (الرجبي). 166
167 وزارة التعليم Ministry of Education 2024-1446 البرمجة الاتجاهية للجمل باستخدام التعلم العميق Sentence Vectorization with Deep Learning على الرغم من إمكانية استخدام نموذج الكلمة إلى المتَّجه (Word2Vec في نمذجة الكلمات الفردية، يتطلب التجميع البرمجة الاتجاهية للنص بأكمله. إحدى الطرائق الأكثر شهرة لتحقيق ذلك هي تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) المستندة إلى منهجية التعلم العميق. تمثيلات الترميز ثنائية الاتجاه من المحولات Bidirectional Encoder Representations from Transformers (BERT) و تمثيلات الترميز ثنائية الاتجاه من المحولات (BERT) هي نموذج تمثيل لغوي قوي طورته شركة قوقل، ويعد التدريب المسبق والضبط الدقيق عاملان رئيسان وراء قدرة تمثيلات الترميز ثنائية الاتجاه من المحولات BERT) على تطبيق نقل التعلم، أي القدرة على الاحتفاظ بالمعلومات حول مشكلة ما والاستفادة منها في حلّ مشكلة أخرى، ويتم التدريب المسبق عبر تغذية النموذج بكمية هائلة من البيانات غير المعنونة لعدة مهام، مثل التنبؤ اللغوي المقنَّع (إخفاء الكلمات العشوائية في مدخلات النصوص والمُهِمَّة هي التنبؤ بهذه الكلمات . يُهيِّئ نموذج تمثيلات الترميز ثنائية الاتجاه من المحولات (BERT ) المتغيرات المدرَّبة مُسبقًا للضبط الدقيق، كما تُستخدم مجموعات البيانات المعنونة من المهام النهائية لضبط دقة عمل النموذج ، ويكون لكل مُهِمَّة نهائية نماذج دقيقة منفصلة، برغم أنها مهيئة بالمتغيرات المدربة نفسها مُسبقًا. على سبيل المثال، تختلف عملية الضبط الدقيق لنموذج تحليل المشاعر عن نموذج الإجابة على الأسئلة. ومن المهم معرفة أن الفروقات في بنية النماذج تصبح ضئيلة أو منعدمة بعد خطوة ضبط الدقة. تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات SBERT تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) هي الإصدار المعدَّل من تمثيلات الترميز ثنائية الاتجاه من المحولات .(BERT) . تُدرَّب تمثيلات الترميز ثنائية الاتجاه من المحولات (BERT) مثل نموذج الكلمة إلى المتَّجه (Word Vec) للتنبؤ بالكلمات بناءً على سياق الجمل الواردة بها. ومن ناحية أخرى، تُدرَّب تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) للتنبؤ بما إذا كانت جملتان متشابهتين دلاليًا. تُستخدم تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) لإنشاء تضمينات لأجزاء النصوص الأطول من الجمل، مثل الفقرات، أو النصوص القصيرة أو المقالات في مجموعة بيانات هيئة الإذاعة البريطانية محل الدراسة في هذه الوحدة بالرغم من أن النماذج الثلاث تستند جميعها إلى الشبكات العصبية، إلا أن تمثيلات الترميز ثنائية الاتجاه من المحولات (BERT) وتمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) تنفذان بنية مختلفة بشكل كبير وأكثر تعقيدًا من نموذج الكلمة إلى المتجه (Word2Vec). مكتبة الجمل والمحولات Sentence_transformers Library و 6 Я تُطبق مكتبة الجمل والمحولات sentence_transformers الوظائف الكاملة لنموذج تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات .(SBERT). تأتي المكتبة بالعديد من نماذج تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) المُدرَّبة مُسبقًا؛ كلِّ منها مُدرَّب على مجموعة بيانات مختلفة ولتحقيق أهداف مختلفة. يعمل المقطع البرمجي التالي على تحميل أحد النماذج العامة الشهيرة المدرَّبة مُسبقًا ، ويستخدمها لإنشاء تضمينات للمستندات في مجموعة بيانات هيئة الإذاعة البريطانية %%capture !pip install sentence_transformers from sentence_transformers import SentenceTransformer model = Sentence Transformer('all-MiniLM-L6-v2') # load the pre-trained model. text_emb = model.encode(bbc_docs) #embed the BBC documents.
T لقد استخدمت في وقت سابق في هذه الوحدة أداة تضمين المجاور العشوائي الموزع على شكل آ والتي هي (TSNEVisualizer) ، لتصوير المستندات الممثلة بالمتجهات المنتجة باستخدام أداة تكرار المصطلح تكرار المستند العكسي (TF-IDF) . يمكن الآن استخدامها للتضمينات المنتجة بواسطة تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات :(SBERT) tsne = TSNEVisualizer(colors=['blue','green', 'red','yellow','brown']) tsne.fit(text_emb, bbc_labels) tsne.show(); TSNE Projection of 2225 Documents business entertainment politics sport tech شكل 3.23: إسقاط تضمين المجاور العشوائي الموزّع على شكل T-SNE) T) للتضمينات المنتجة بواسطة تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) يوضّح الشكل أن تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) تؤدي إلى فصل أكثر وضوحًا للأقسام الإخبارية المختلفة مع عدد أقل من الشوائب من تكرار المصطلح تكرار المستند العكسي (TF-IDF). الخطوة التالية هي استخدام التضمينات لتدريب خوارزمية التجميع التكتلي plt.figure() # create a new figure. # iteratively merge points and clusters until all points belong to a single cluster. Return the the linkage of the produced tree. linkage_emb=hierarchy.linkage(text_emb, method='ward') hierarchy.dendrogram (linkage_emb) # visualize the linkage. plt.show() # show the figure. 14 4 12 12 10 10 8 6 4 2 0 شكل 3.24: الرسم الشجري الهرمي لتمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) وزارة التعليم Ministry of Education 2024-1446 168
169 وزارة التعليم Ministry of Education 2024-1446 كما هو موضح في الشكل 3.24 ، فإن أداة الرسم الشجري تشير إلى 4 عناقيد ، كل واحد منها مميز بلون مختلف. يستخدم المقطع البرمجي التالي هذا المقترح لحساب العناقيد وحساب مقاييس التقييم: AC_emb=AgglomerativeClustering(linkage='ward',n_clusters=4) AC_emb.fit(text_emb) pred_emb=AC_emb.labels_ print('\nHomogeneity score:',homogeneity_score(bbc_labels,pred_emb)) print('\nAdjusted Rand score: ',adjusted_rand_score(bbc_labels,pred_emb)) print('\nCompleteness score:', completeness_score (bbc_labels, pred_emb)) Homogeneity score: 0.6741395570357063 Adjusted Rand score: 0.6919474005627763 Completeness score: 0.7965514907905805 إذا كانت البيانات قد تم إعادة تجميعها باستخدام العدد الصحيح من 5 عناقيد ، فالعنقود الأصفر المحدد بالشكل أعلاه سينقسم إلى اثنين، وستكون النتائج على النحو التالي AC_emb=AgglomerativeClustering(linkage='ward',n_clusters=5) AC_emb.fit(text_emb) pred_emb=AC_emb.labels_ print('\nHomogeneity score: ',homogeneity_score(bbc_labels,pred_emb ) ) print('\nAdjusted Rand score: ',adjusted_rand_score(bbc_labels,pred_emb)) print('\nCompleteness score:',completeness_score(bbc_labels,pred_emb)) Homogeneity score: 0.7865655030556284 Adjusted Rand score: 0.8197670431956582 Completeness score: 0.7887580797775077 تُظهر النتائج أن استخدام تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات SBERT) في البرمجة الاتجاهية للنصوص ينتج عنه نتائج تجميع مُحسَّنة بالمقارنة مع تكرار المصطلح تكرار المستند العكسي (TF-IDF). إذا كان عدد العناقيد هو 5 لتكرار المصطلح تكرار المستند العكسي (TF-IDF) (القيمة الصحيحة) و4 عناقيد لتمثيلات ترميز الجمل ثنائية الاتجاه من المحولات SBERT) ، فإن المقاييس الثلاثة لتمثيلات ترميز الجمل ثنائية الاتجاه من المحولات SBERT) لا تزال هي الأعلى بفارق كبير. ثم تزداد الفجوة إذا كان العدد 5 لكل من الطريقتين. وهذا يُعد دليلا على إمكانات الشبكات العصبية، التي تسمح لها بنيتها المتطورة بفهم الأنماط الدلالية المعقدة في البيانات النصية.
170 1 2 3 تمرينات حدد الجملة الصحيحة والجملة الخاطئة فيما يلي: .1. في التعلم غير الموجه تُستخدم مجموعات البيانات المعنونة لتدريب النموذج. 2 يتطلب التعلُّم غير الموجه البرمجة الاتجاهية للبيانات. 3. تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) تُعد أفضل من تكرار المصطلح - تكرار المستند العكسي (TF-IDF) للبرمجة الاتجاهية للكلمات. 4. يتبع التجميع التكتلي منهجية التصميم من أعلى إلى أسفل لتحديد العناقيد. و .5. تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات (SBERT) مُدرّبة للتنبؤ بما إذا كانت جملتان مختلفتين دلاليًا. صحيحة خاطئة استعرض بعض التطبيقات التي يُستخدم فيها تقليص الأبعاد ، وصف التقنيات المستخدمة فيه. اشرح وظائف البرمجة الاتجاهية لمقياس تكرار المصطلح تكرار المستند العكسي (TF-IDF). وزارة التعليم Ministry of Education 2024-1446
171 4+ لديك مصفوفة numpy تدعى Docs تتضمن مستندًا نصيًّا واحدًا في كل صف. لديك كذلك مصفوفة labels تتضمن قيم كل مستند في Docs. أكمل المقطع البرمجي التالي بحيث تستخدم نموذج تمثيلات ترميز الجمل ثنائية الاتجاه من المحولات SBERT) المدرَّب مُسبقًا لحساب تضمينات كل الوثائق في Docs، ثم استخدم أداة TSNEVisualizer تضمين المجاور العشوائي الموزّع على شكل آ لتصوير التضمينات في الفضاء ثنائي الأبعاد باستخدام لون مختلف لكل واحد من القيم الأربعة المحتملة from sentence_transformers import from import TSNEVisualizer model L6-v2') # loads the pre-trained model. docs_emb = model. (Docs) #embeds the docs tsne = tsne. tsne.show(); ('all-MiniLM- =['blue','green','red','yellow']) 5 أكمل المقطع البرمجي التالي بحيث تستخدم نموذج الكلمة إلى المتَّجه (Word2Vec) لاستبدال كل كلمة في إحدى وزارة التعليم Ministry of Education 2024-1446 import gensim. downloader as import re الجمل بأخرى تكون أكثر شبها بها : ('word2vec-google-news-300') model_wv = old_sentence='My name is John and I like basketball.' new_sentence='' for word in re. replacement=model_wv. new_sentence+= sentence=new_sentence.strip() (r'\b\w\w+\b',old_sentence.lower()): (positive=['apple'], =1)[0]