اذهب إلى المحتوى
  • 0

تلخيص النص Text Summarization باستخدام NLTK في بايثون

إياد أحمد

السؤال

Recommended Posts

  • 1

لاتوجد دالة أو وحدة جاهزة في NLTK للقيام بذلك مباشرةً، لكن يمكنك استخدام NLTK العملية كما في المثال التالي:

# استيراد الوحدات
from nltk.tokenize import word_tokenize, sent_tokenize
import nltk
from nltk.corpus import stopwords
# قم بتحديد النص المراد تلخيصه
text = """ """
# nltk الحصول على كلمات التوقف المعرفة في  
stopWords = set(stopwords.words("english"))
# تقسيم النص إلى وحدات
tokens = word_tokenize(text)
#  إنشاء قاموس للاحتفاظ بنتيجة كل كلمة
# score تسمى
# نقصد بالنتيجة عدد المرات التي تظهر فيها كل كلمة بعد إزالة كلمات التوقف
freq = dict()
for w in tokens.lower():
    if w in stopWords:
        continue
    if w in freq:
        freq[w] += 1
    else:
        freq[w] = 1
# freqTable الخطوة التالية هي تعيين درجة لكل جملة بناءً على الكلمات التي تحتوي عليها وجدول التردد
# score إنشاء قاموس للاحتفاظ بنتيجة كل جملة
all_sentences = sent_tokenize(text)
sentenceScore = dict()
# الآن نقوم بالمرور على كل جملة
for sentence in all_sentences:
    for w, freq in freq.items():
        if w in sentence.lower():
            if sentence in sentenceScore:
                sentenceScore[sentence] += freq
            else:
                sentenceScore[sentence] = freq
"""
# الآن الخطوة التالية هي بتعيين درجة معينة لمقارنة الجمل في النص
# scores وتتمثل الطريقة الأبسط لمقارنة ال 
# الجملة score في إيجاد متوسط
# مناسبة threshold  ويمكن أن يكون المتوسط نفسه
"""
s = 0
for sent in sentenceScore:
    s += sentenceScore[sent]
avg = s // len(sentenceScore)
# نقوم الآن بتطبيق قيمة العتبة وتخزين الجمل بالترتيب في الملخص.
smy = ''
for sent in all_sentences:
	if (sent in sentenceScore) and (sentenceScore[sent] > (1.2 * average)):
		smy += " " + sent
print(smy)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...