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

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

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

الدرس: خوارزمية لوفان Louvain Algorithm

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

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

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

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

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

📝 ملخص الصفحة

تقدم هذه الصفحة شرحًا لخوارزمية لوفان (Louvain Algorithm) المستخدمة في تحليل الشبكات والبحث عن المجتمعات ضمن مكتبة Networkx. تعمل الخوارزمية من خلال تحريك العقد بين المجتمعات حتى الوصول إلى بنية المجتمع التي تمثل أفضل ربط في الشبكة الضمنية.

يتم التركيز على دالة `get_communities()` التي تستخدم خوارزمية لوفان للبحث عن المجتمعات في مخطط مبني على الكلمات. تقوم الدالة بحساب مؤشر الأهمية لكل مجتمع على حدة، حيث يمثل هذا المؤشر جزء النص الذي يضمه المجتمع.

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

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

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

خوارزمية لوفان Louvain Algorithm

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

خوارزمية لوفان Louvain Algorithm

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

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

دالة ()Get_communities

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

دالة ()Get_communities

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

تستخدم الدالة الآتية خوارزمية لوفان للبحث عن المجتمعات في المخطط المبني على الكلمات. تحسب الدالة كذلك مؤشر الأهمية لكل مجتمع على حده، ثم تكون المخرجات في صورة قاموسين: • word_to_community الذي يربط الكلمة بالمجتمع. • community_scores الذي يربط المجتمع بدرجة الأهمية. الدرجة تساوي مجموع تكرار الكلمات في المجتمع. على سبيل المثال، إذا كان المجتمع يتضمن ثلاثة كلمات تظهر 5 و 8 و 6 مرات في النص، فإن مؤشر المجتمع حينئذ يساوي 19. ومن ناحية المفهوم، يمثل المؤشر جزءًا من النص الذي يضمه المجتمع.

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

from networkx.algorithms.community import louvain_communities from collections import Counter # used to count the frequency of elements in a list def get_communities( G, # the input graph tokenized_doc:list): # the list of words in a tokenized document # gets the communities in the graph communities=louvain_communities(G, weight='weight') word_cnt=Counter(tokenized_doc)# counts the frequency of each word in the doc word_to_community={} community_scores={} for comm in communities: # for each community # convert it from a set to a tuple so that it can be used as a dictionary key. comm=tuple(comm) score=0 # initialize the community score to 0. for word in comm: # for each word in the community word_to_community[word]=comm # map the word to the community score+=word_cnt[word] # add the frequency of the word to the community's score. community_scores[comm]=score # map the community to the score. return word_to_community, community_scores

نوع: METADATA

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

🔍 عناصر مرئية

Ministry of Education Logo

A stylized logo with Arabic text 'وزارة التعليم' and English text 'Ministry of Education' along with the number '179' and dates '2023 - 1447'. The logo features a green, abstract, geometric design.

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

خوارزمية لوفان Louvain Algorithmتتضمن مكتبة Networkx العديد من الخوارزميات لتحليل المخطط والبحث عن المجتمعات. واحدة من الخيارات الأكثر فعالية هي خوارزمية لوفان التي تعمل عبر تحريك العقد بين المجتمعات حتى تجد بنية المجتمع التي تمثل الربط الأفضل في الشبكة الضمنية.--- SECTION: دالة ()Get_communities --- دالة ()Get_communitiesتستخدم الدالة الآتية خوارزمية لوفان للبحث عن المجتمعات في المخطط المبني على الكلمات. تحسب الدالة كذلك مؤشر الأهمية لكل مجتمع على حده، ثم تكون المخرجات في صورة قاموسين: • word_to_community الذي يربط الكلمة بالمجتمع. • community_scores الذي يربط المجتمع بدرجة الأهمية. الدرجة تساوي مجموع تكرار الكلمات في المجتمع. على سبيل المثال، إذا كان المجتمع يتضمن ثلاثة كلمات تظهر 5 و 8 و 6 مرات في النص، فإن مؤشر المجتمع حينئذ يساوي 19. ومن ناحية المفهوم، يمثل المؤشر جزءًا من النص الذي يضمه المجتمع.from networkx.algorithms.community import louvain_communities from collections import Counter # used to count the frequency of elements in a list def get_communities( G, # the input graph tokenized_doc:list): # the list of words in a tokenized document# gets the communities in the graph communities=louvain_communities(G, weight='weight') word_cnt=Counter(tokenized_doc)# counts the frequency of each word in the doc word_to_community={} community_scores={}for comm in communities: # for each community # convert it from a set to a tuple so that it can be used as a dictionary key. comm=tuple(comm) score=0 # initialize the community score to 0.for word in comm: # for each word in the community word_to_community[word]=comm # map the word to the community score+=word_cnt[word] # add the frequency of the word to the community's score.community_scores[comm]=score # map the community to the score.return word_to_community, community_scores2023 - 1447--- VISUAL CONTEXT ---Context: Standard footer branding for educational materials, indicating the source or publisher.

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

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

ما هي خوارزمية لوفان (Louvain Algorithm) وما هو هدفها الرئيسي عند تطبيقها على تحليل المخططات؟

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

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

تلميح: فكر في العملية التي تقوم بها الخوارزمية لتحسين توزيع العقد بين المجموعات.

في سياق دالة `get_communities`، ما هي المخرجات الرئيسية التي تنتجها، وماذا يمثل كل منها؟

الإجابة: تنتج الدالة قاموسين رئيسيين: `word_to_community` الذي يربط كل كلمة بالمجتمع الذي تنتمي إليه، و `community_scores` الذي يربط كل مجتمع بدرجة أهميته (مجموع تكرار الكلمات فيه).

الشرح: الهدف هو معرفة أي كلمة تنتمي لأي مجتمع (word_to_community)، وكذلك مدى تمثيل كل مجتمع للمحتوى (community_scores).

تلميح: ما هي المعلومات الأساسية التي نحتاجها بعد اكتشاف المجتمعات؟

كيف يتم حساب مؤشر أهمية المجتمع (community score) في دالة `get_communities`؟

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

الشرح: كلما زاد تكرار الكلمات داخل المجتمع، زادت أهميته، مما يشير إلى أن هذا المجتمع يمثل جزءاً كبيراً من النص.

تلميح: ما الذي يعطي قيمة أو وزناً أكبر لمجتمع ما؟

ما هو المفهوم الذي تمثله درجة أهمية المجتمع (community score) في سياق تحليل النصوص باستخدام خوارزمية لوفان؟

الإجابة: تمثل درجة أهمية المجتمع جزءاً من النص الذي يضمه هذا المجتمع. كلما ارتفعت الدرجة، دل ذلك على أن المجتمع يمثل جزءاً أكبر وأكثر تكراراً من المحتوى النصي.

الشرح: هذا المؤشر يساعد في فهم مدى تأثير كل مجتمع من المجتمعات المكتشفة على المحتوى الكلي للنص.

تلميح: إذا كان المجتمع يحتوي على كلمات كثيرة الظهور، فماذا يعني ذلك بالنسبة لتمثيله للنص؟