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

为何NLTK的Text.dispersion_plot()显示文本中不存在的词的出现情况?

NLTK dispersion_plot显示不存在词汇的问题解决

问题根源

你碰到的是NLTK旧版本的已知bug:当给dispersion_plot传入文本里没有的词汇时,方法内部的位置查找逻辑出了问题,会错误地在整个文本范围内铺满标记,而不是完全不显示该词汇的点。

先确认词汇是否真的不存在

可以用这段代码验证:

# 检查词汇是否在text4中
print("asfasfasaf" in text4)
# 统计词汇出现次数
print(text4.count("asfasfasaf"))

如果输出是False和0,就说明词汇确实不在文本里,问题就是版本bug导致的。

解决办法

  • 升级NLTK到最新版:这个bug在后续版本已经被修复,执行命令升级:
pip install --upgrade nltk
  • 手动过滤无效词汇:如果暂时没法升级,先筛出文本里存在的词汇再绘图:
# 筛选出text4中存在的词汇
valid_words = [word for word in ["citizens", 'democracy', "freedom", "duties", "America", "war","asfasfasaf"] if word in text4]
# 只绘制有效词汇的分布
text4.dispersion_plot(valid_words)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 21:27:16