我有一个 python 字典,看起来像:
defaultdict(<type 'int'>, {u'RT': 1, u'be': 1, u'uniforms': 1, u'@ProFootballWkly:': 1, u'in': 1, u'Nike': 1, u'Brooklyn.': 1, u'ET': 1, u"NFL's": 1, u'will': 1, u'a.m.': 1, u'at': 1, u'unveiled': 1, u'Jimmy': 3, u'11': 1, u'new': 1, u'The': 2, u'today': 1})
我正在处理它:
freq_distribution = nltk.FreqDist(filtered_words)
top_words = freq_distribution.keys()[:4]
print top_words
这会输出前 4 个单词,其中包括单词“The”,我试图在此过程发生之前合并删除 Dolch“常用”单词:
filtered_words = [w for w in word_count \
if not w in stopwords.words('english')]
问题是我仍然以“The”这个词结尾,因为 NLTK 中的所有(停用词)都是小写的。我需要一种方法来获取 word_count 的输入并将其切换为小写。我尝试在各个领域添加 lower() ,例如:
freq_distribution = nltk.FreqDist(word_count.lower())
但没有成功,因为我反复收到以下错误:
AttributeError: 'list' object has no attribute 'lower'
filtered_words = [w for w in word_count \
if w.lower() not in stopwords.words('english')]
这小写 w
before 检查它是否在停用词列表中。所以如果w
是"The",在检查之前它会被转换成the
。由于“the”在列表中,它将被过滤掉。
我是一名优秀的程序员,十分优秀!