python - 使用 nltk 时。在 nltk 函数之前
问题描述
我是python新手并使用nltk,所以实际上我有一个非常基本的问题,但在任何地方都找不到答案。
我想知道何时nltk.
在 nltk 模块的功能之前使用。我正在处理一些任务,在某些情况下它不使用它就可以工作,而在某些情况下它没有。我正在使用 Jupyter 笔记本。(在示例中,我只写了我导入的内容和最终命令)。
示例 1:
import nltk
print (FreqDist(words).most_common(10))
这工作得很好。
示例 2:
import nltk
import math
print (FreqDist(words).most_common(10))
给出错误信息
NameError Traceback (most recent call last)
<ipython-input-21-e68f77c40897> in <module>()
----> 1 print (FreqDist(file_words).most_common(10))
NameError: name 'FreqDist' is not defined
如果我在 FreqDist 之前插入 nltk 它可以工作
print (nltk.FreqDist(words).most_common(10))
nltk.
因为我导入了两个模块,所以在第二个示例中它不工作吗?
谢谢!
解决方案
引用自import this
:
命名空间是一个很棒的想法——让我们做更多的事情!
来自维基百科:
通常,当导入模块时,模块中定义的名称通过该模块的名称空间定义,并通过使用完全限定名称从调用模块访问。
例如,在 Python 中,而不是:
import nltk
nltk.pos_tag(nltk.word_tokenize('This is a sentence.'))
您可以导入这样做:
from nltk import word_tokenize, pos_tag
pos_tag(word_tokenize('This is a sentence.'))
回到这个问题,上面的某个地方应该FreqDist
像这样导入:
from nltk import FreqDist
这样你就可以看到FreqDist
没有“完全合格” nltk.FreqDist
。
推荐阅读
- python - 在字典中搜索列表元素,如果它们不存在则删除它们
- python - 即使元素存在,使用 Python 的 BeautifulSoup 仍然返回 null
- python - Plotly-Express:如何在按列名设置颜色时修复颜色映射
- java - 关于jooq escape Postgres的问题
- sql - 将表中的参数和列插入一张表sql
- node.js - 用户构建 Angular 前端表单的最佳策略
- javascript - JS Ajax Async / Await - 未提交表单
- android - Android Studio 3.5.3 不显示布局预览
- r - 从分类数据从长格式转换为宽格式
- zsh - 使用 zsh 处理大型 /.ssh/config 文件的自动完成速度很慢