📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
خوارزمية لوفان 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.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 4 بطاقة لهذه الصفحة
ما هي خوارزمية لوفان (Louvain Algorithm) وما هو هدفها الرئيسي عند تطبيقها على تحليل المخططات؟
الإجابة: خوارزمية لوفان هي خوارزمية فعالة لتحليل المخططات، هدفها الرئيسي هو اكتشاف بنية المجتمع في الشبكة الضمنية عن طريق تحريك العقد (Nodes) بين المجتمعات المختلفة حتى يتم الوصول إلى الربط الأمثل.
الشرح: الخوارزمية تعمل بشكل تكراري، تحاول تحسين تقسيم الشبكة إلى مجتمعات مما يعكس هيكل العلاقات داخل الشبكة بشكل أفضل.
تلميح: فكر في العملية التي تقوم بها الخوارزمية لتحسين توزيع العقد بين المجموعات.
في سياق دالة `get_communities`، ما هي المخرجات الرئيسية التي تنتجها، وماذا يمثل كل منها؟
الإجابة: تنتج الدالة قاموسين رئيسيين: `word_to_community` الذي يربط كل كلمة بالمجتمع الذي تنتمي إليه، و `community_scores` الذي يربط كل مجتمع بدرجة أهميته (مجموع تكرار الكلمات فيه).
الشرح: الهدف هو معرفة أي كلمة تنتمي لأي مجتمع (word_to_community)، وكذلك مدى تمثيل كل مجتمع للمحتوى (community_scores).
تلميح: ما هي المعلومات الأساسية التي نحتاجها بعد اكتشاف المجتمعات؟
كيف يتم حساب مؤشر أهمية المجتمع (community score) في دالة `get_communities`؟
الإجابة: يتم حساب مؤشر أهمية المجتمع عن طريق جمع تكرار جميع الكلمات الموجودة في هذا المجتمع. بمعنى آخر، هو مجموع عدد مرات ظهور كل كلمة في المجتمع ضمن النص الكلي.
الشرح: كلما زاد تكرار الكلمات داخل المجتمع، زادت أهميته، مما يشير إلى أن هذا المجتمع يمثل جزءاً كبيراً من النص.
تلميح: ما الذي يعطي قيمة أو وزناً أكبر لمجتمع ما؟
ما هو المفهوم الذي تمثله درجة أهمية المجتمع (community score) في سياق تحليل النصوص باستخدام خوارزمية لوفان؟
الإجابة: تمثل درجة أهمية المجتمع جزءاً من النص الذي يضمه هذا المجتمع. كلما ارتفعت الدرجة، دل ذلك على أن المجتمع يمثل جزءاً أكبر وأكثر تكراراً من المحتوى النصي.
الشرح: هذا المؤشر يساعد في فهم مدى تأثير كل مجتمع من المجتمعات المكتشفة على المحتوى الكلي للنص.
تلميح: إذا كان المجتمع يحتوي على كلمات كثيرة الظهور، فماذا يعني ذلك بالنسبة لتمثيله للنص؟