You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NLTK英文语料库words模块计数出现重复结果的问题

为什么NLTK words语料库调用count()会出现重复计数?

NLTK的words语料库是合并多个不同英语词典资源构建的,并非单一来源的词典。这就导致部分单词会在不同源词典里被重复收录,最终反映在语料库中。

你遇到的words.words().count("skirt")返回2,就是因为这个词在语料库的不同文件/来源里各出现了一次;而count("Skirt")返回0,是因为整个语料库的条目都是小写形式,没有首字母大写的版本。

至于你切片查看甚至排序后没发现重复,是因为words.words()返回的不是普通Python列表,而是懒加载的语料库视图对象:当你切片时,它只会加载对应范围的内容,而重复的条目可能不在你查看的切片范围内。如果要确认重复,你可以把它转成列表后再检查:

from nltk.corpus import words
word_list = list(words.words())
print(word_list.count("skirt"))  # 依然返回2
# 查找重复条目的位置
duplicate_indices = [idx for idx, word in enumerate(word_list) if word == "skirt"]
print(duplicate_indices)  # 会输出两个不同的索引值

这类重复并非NLTK的Bug,而是语料库构建时多源合并的正常结果——不同词典可能因收录标准、地域变体(如美式/英式英语)等原因,重复收录同一个单词。

内容的提问来源于stack exchange,提问作者pebox11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:05:12