首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用nltk库提取关键字

使用nltk库提取关键字
EN

Stack Overflow用户
提问于 2011-06-08 10:27:24
回答 1查看 3K关注 0票数 2

我正在开发一个应用程序,它要求我从会话流中提取关键字(并最终生成这些单词的标记云)。我正在考虑以下步骤:

标记每个原始会话(输出存储为strings)

  • Remove停止词列表)、

  • 使用词干器(Porter词干算法)、

到目前为止,nltk提供了所有的工具,我need.After这一点,但我需要在某种程度上“排序”这些词,并提出最重要的词。有人能建议我从nltk那里用什么工具来做这个吗?

谢谢尼希特

EN

回答 1

Stack Overflow用户

发布于 2011-06-08 11:16:50

我想这取决于你对“重要”的定义。如果你谈论的是频率,那么你就可以用单词(或词干)作为键来构建一个字典,然后将其算作值。之后,您可以根据它们的计数对字典中的键进行排序。

类似于(未测试):

代码语言:javascript
复制
from collections import defaultdict

#Collect word statistics
counts = defaultdict(int) 
for sent in stemmed_sentences:
   for stem in sent:
      counts[stem] += 1

#This block deletes all words with count <3
#They are not relevant and sorting will be way faster
pairs = [(x,y) for x,y in counts.items() if y >= 3]

#Sort (stem,count) pairs based on count 
sorted_stems = sorted(pairs, key = lambda x: x[1])
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6277350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档