📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
نوع: محتوى تعليمي
word_to_community, community_scores = get_communities(G,tokenized_doc)
word_to_community['player'][:10] # prints 10 words from the community of the word 'team'
نوع: محتوى تعليمي
('champion',
'stretch',
'finished',
'fifth',
'playing',
'scoring',
'scorer',
'opening',
'team',
'win')
نوع: محتوى تعليمي
الآن بعد ربط كل الكلمات بالمجتمع، وربط المجتمع بمؤشر الأهمية، ستكون الخطوة التالية هي استخدام هذه المعلومات لتقييم أهمية كل جملة في المستند الأصلي. دالة ()evaluate_sentences مصممة لهذا الغرض.
دالة Evaluate_sentences()
نوع: محتوى تعليمي
دالة Evaluate_sentences()
نوع: محتوى تعليمي
تبدأ الدالة بتقسيم المستند إلى جمل، ثم حساب مؤشر الأهمية لكل جملة، استنادًا إلى الكلمات التي تتضمنها.
تكتسب كل كلمة مؤشر الأهمية من المجتمع الذي تنتمي إليه.
على سبيل المثال، لديك جملة مكونة من خمسة كلمات W1, W2, W3, W4, W5. الكلمتان W1 و W2 تنتميان إلى مجتمع بمؤشر قيمته 25، والكلمتان W3 و W4 تنتميان إلى مجتمع بمؤشر قيمته 30، والكلمة W5 تنتمي إلى مجتمع بمؤشر قيمته 15. مجموع مؤشرات الجمل هو 25+30+30+25+15=125. تُستخدم الدالة بعد ذلك هذه المؤشرات لتصنيف الجمل في ترتيب تنازلي، من الأكثر إلى الأقل أهمية.
نوع: محتوى تعليمي
from nltk import sent_tokenize # used to split a document into sentences
def evaluate_sentences(doc:str, # original document
word_to_community:dict, # maps each word to its community
community_scores:dict, # maps each community to a score
model_wv): # Word2Vec model
# splits the text into sentences
sentences=sent_tokenize(doc)
scored_sentences=[]# stores (sentence, score) tuples
for raw_sent in sentences: # for each sentence
# get all the words in the sentence, ignore stopwords and focus only on words that are in the
# Word2Vec model.
sentence_words=[word
for word in re.findall(r'\b\w\w+\b',raw_sent.lower()) # tokenizes
if word not in stop and # ignores stopwords
نوع: METADATA
وزارة التعليم
Ministry of Education
2023 - 1447
نوع: METADATA
180
📄 النص الكامل للصفحة
word_to_community, community_scores = get_communities(G,tokenized_doc)
word_to_community['player'][:10] # prints 10 words from the community of the word 'team'('champion',
'stretch',
'finished',
'fifth',
'playing',
'scoring',
'scorer',
'opening',
'team',
'win')الآن بعد ربط كل الكلمات بالمجتمع، وربط المجتمع بمؤشر الأهمية، ستكون الخطوة التالية هي استخدام هذه المعلومات لتقييم أهمية كل جملة في المستند الأصلي. دالة ()evaluate_sentences مصممة لهذا الغرض.--- SECTION: دالة Evaluate_sentences() --- دالة Evaluate_sentences()تبدأ الدالة بتقسيم المستند إلى جمل، ثم حساب مؤشر الأهمية لكل جملة، استنادًا إلى الكلمات التي تتضمنها.
تكتسب كل كلمة مؤشر الأهمية من المجتمع الذي تنتمي إليه.
على سبيل المثال، لديك جملة مكونة من خمسة كلمات W1, W2, W3, W4, W5. الكلمتان W1 و W2 تنتميان إلى مجتمع بمؤشر قيمته 25، والكلمتان W3 و W4 تنتميان إلى مجتمع بمؤشر قيمته 30، والكلمة W5 تنتمي إلى مجتمع بمؤشر قيمته 15. مجموع مؤشرات الجمل هو 25+30+30+25+15=125. تُستخدم الدالة بعد ذلك هذه المؤشرات لتصنيف الجمل في ترتيب تنازلي، من الأكثر إلى الأقل أهمية.from nltk import sent_tokenize # used to split a document into sentences def evaluate_sentences(doc:str, # original document word_to_community:dict, # maps each word to its community community_scores:dict, # maps each community to a score model_wv): # Word2Vec model# splits the text into sentences sentences=sent_tokenize(doc)
scored_sentences=[]# stores (sentence, score) tuples for raw_sent in sentences: # for each sentence# get all the words in the sentence, ignore stopwords and focus only on words that are in the
# Word2Vec model.
sentence_words=[word for word in re.findall(r'\b\w\w+\b',raw_sent.lower()) # tokenizes if word not in stop and # ignores stopwords2023 - 1447
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 4 بطاقة لهذه الصفحة
ما هي الخطوة الأولى التي تقوم بها الدالة `evaluate_sentences()` عند معالجتها لمستند ما؟
الإجابة: تقوم الدالة بتقسيم المستند الأصلي إلى جمل فردية.
الشرح: تبدأ الدالة `evaluate_sentences()` بعملية تقسيم المستند النصي إلى جمل منفصلة باستخدام مكتبة `nltk` لتسهيل معالجة كل جملة على حدة.
تلميح: قبل تقييم الأهمية، يجب تفكيك المستند إلى وحداته الأساسية. ما هي أصغر وحدة نصية يمكن تحليلها؟
كيف يتم حساب مؤشر أهمية كل جملة في الدالة `evaluate_sentences()`؟
الإجابة: يتم حساب مؤشر أهمية الجملة عن طريق جمع مؤشرات المجتمعات التي تنتمي إليها الكلمات المكونة للجملة.
الشرح: تُحسب أهمية كل جملة بناءً على مؤشرات المجتمعات التي تنتمي إليها الكلمات التي تتكون منها الجملة. يتم إعطاء كل كلمة مؤشر أهمية مرتبط بمجتمعها، ثم يتم جمع هذه المؤشرات لكل جملة.
تلميح: تكتسب الكلمات أهميتها من المجتمعات التي تنتمي إليها، ثم تُجمع هذه الأهمية لتشكيل أهمية أكبر. فكر في علاقة الكلمة بالجملة وبالعالم الأكبر.
ما هو الهدف من ربط الكلمات بالمجتمعات ثم ربط المجتمعات بمؤشرات الأهمية داخل الدالة `evaluate_sentences()`؟
الإجابة: الهدف هو تحديد أهمية كل جملة في المستند بناءً على الكلمات التي تحتويها والمجتمعات التي تنتمي إليها هذه الكلمات.
الشرح: يهدف هذا الربط إلى تقدير قيمة أو أهمية كل جملة بشكل كمي. فإذا كانت الجملة تحتوي على كلمات تنتمي إلى مجتمعات ذات مؤشرات عالية، فمن المتوقع أن تكون الجملة نفسها ذات أهمية أكبر.
تلميح: لماذا نحتاج إلى تجميع الكلمات في مجموعات (مجتمعات) ثم إعطاء هذه المجموعات قيمة (مؤشر)؟ فكر في كيفية تأثير الكلمات ذات الصلة على معنى الجملة ككل.
ماذا تفعل الدالة `evaluate_sentences()` بعد حساب مؤشرات أهمية الجمل؟
الإجابة: تقوم الدالة بتصنيف الجمل في ترتيب تنازلي حسب أهميتها، من الأكثر أهمية إلى الأقل أهمية.
الشرح: بعد حساب مؤشر الأهمية لكل جملة، يتم ترتيبها في قائمة تنازلية، مما يسمح بتحديد الجمل الأكثر صلة أو أهمية في المستند.
تلميح: بعد معرفة قيمة كل جملة، ما هو الإجراء المنطقي التالي لتنظيم هذه المعلومات؟