【发布时间】:2016-09-22 06:45:41
【问题描述】:
我正在尝试创建一个包含特定文本文件中最常见的 50 个单词的列表,但是我想从该列表中删除停用词。我已经用这段代码做到了。
from nltk.corpus import gutenberg
carroll = nltk.Text(nltk.corpus.gutenberg.words('carroll-alice.txt'))
carroll_list = FreqDist(carroll)
stops = set(stopwords.words("english"))
filtered_words = [word for word in carroll_list if word not in stops]
但是,这是删除我想要的单词的重复项。就像我这样做的时候:
fdist = FreqDist(filtered_words)
fdist.most_common(50)
我得到了输出:
[('right', 1), ('certain', 1), ('delighted', 1), ('adding', 1),
('work', 1), ('young', 1), ('Up', 1), ('soon', 1), ('use', 1),
('submitted', 1), ('remedies', 1), ('tis', 1), ('uncomfortable', 1)....]
这是说每个单词都有一个实例,显然它消除了重复项。我想保留重复项,以便查看最常见的单词。任何帮助将不胜感激。
【问题讨论】:
-
请发帖Minimal, complete, verifiable example。没有原始列表和其他支持项目,我们无法重现您的问题。您似乎每个过滤词只有一次,而不是原始文本的全部频率。