我是nltk的新手,我注意到要创建一个lemmatizer对象(在导入nltk包之后),
WNlemma = nltk.WordNetLemmatizer
没有显式导入类WordNetLemmatizer
和
from nltk.stem import WordNetLemmatizer
WNlemma = WordNetLemmatizer
我们明确导入类WordNetLemmatizer
的地方将起作用。
我知道两者都引用了WordNetLemmatizer
包中的类nltk.stem.wordnet
,但是为什么在导入时却没有像第一个实例和第二个实例那样声明完整的模块路径,这甚至是“合法的” ?是一些nltk约定还是一般的python东西?如何找到包WordNetLemmatizer
中的类wordnet
?仅基于我对python导入的浅浅了解
from nltk.stem.wordnet import WordNetLemmatizer
为我看起来“合法” ...
我已经搜索了周围,但是找不到任何解释此问题的文档,也许是我搜索了错误的关键字。 这可能是一个菜鸟问题,如果不清楚,请指出,谢谢任何想帮助我的人!
答案 0 :(得分:0)
此约定必须减少您编写的代码量。您可以查看nltk/__init__.py
(https://github.com/nltk/nltk/blob/develop/nltk/init.py)为何起作用:WNlemma = nltk.WordNetLemmatizer