下面是我用来预处理文本和应用文本排名的代码(我遵循gensim textrank教程)。请帮我一个方法,以获得更好的结果。我的文本数据是csv中超过2000行的列。 (每一行,一句话)。
我得到的输出是18行(每行不同,而不是段落)的文本 摘要和20个单词作为关键字。输出是一段文本作为摘要吗?我们可以控制要显示的关键字数量
reg_ex = r'[^a-zA-Z]'
replace = ' '
wordnet_lemmatizer = WordNetLemmatizer()
#stop = stopwords.words('english')
comp_df = df['COMMENT'].str.replace(reg_ex, replace).apply(lambda t: ' '.join([wordnet_lemmatizer.lemmatize(w)for w in t.split()])).str.lower()
aa = comp_df.to_string()
import requests
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
from gensim.summarization import summarize
from gensim.summarization import keywords
print ('Summary:')
print (summarize(aa,ratio=0.01))
print ('\nKeywords:')
print (keywords(aa, ratio=0.01))
答案 0 :(得分:0)
输出不能作为摘要的段落。基于文本排名算法,它将为您提供输出中排名最高的句子作为摘要。您可以通过增加比例来增加输出句子。同样也可以应用于关键字。