下面是我用来预处理文本和应用文本排名的代码(我遵循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))发布于 2018-07-18 17:44:25
输出不能是段落作为摘要。基于文本排序算法,它会给出你输出的句子中排名最靠前的句子作为摘要。您可以通过增加比例来增加输出句子。同样的方法也适用于关键字。
https://stackoverflow.com/questions/47893976
复制相似问题