【问题标题】:NameError: name 'stopwords' is not definedNameError:未定义名称“停用词”
【发布时间】:2018-05-09 04:50:12
【问题描述】:

由于某种原因,我收到了错误NameError: name 'stopwords' is not defined,即使我已经安装了该软件包。我正在尝试对一些反馈评论进行自然语言处理。 dataset 对象是一个包含两列的表,Reviews (a sentence of feedback) 和目标变量 Liked (1 or 0)。感谢您的帮助,谢谢!


第 1 块

import re
import nltk
nltk.download('stopwords')

输出 1

   > [nltk_data] Downloading package stopwords to

   > [nltk_data]     /Users/user/nltk_data...

   > [nltk_data]   Package stopwords is already up-to-date!

   > Out[14]: True

第 2 块

dataset['Review'][0]
review = re.sub('[^a-zA-Z]',' ' ,dataset['Review'][0])
review = review.lower()
review = review.split()
review = [word for word in review if not word in stopwords.words('english')] **ERROR ON THIS LINE**

输出 2

>NameError                                 Traceback (most recent call last)
<ipython-input-16-8d0ee1fd7c7f> in <module>()
      3 review = review.lower()
      4 review = review.split()
----> 5 review = [word for word in review if not word in stopwords.words('english')]

><ipython-input-16-8d0ee1fd7c7f> in <listcomp>(.0)
      3 review = review.lower()
      4 review = review.split()
----> 5 review = [word for word in review if not word in stopwords.words('english')]

>NameError: name 'stopwords' is not defined

【问题讨论】:

  • 你有从 nltk.corpus 导入停用词吗??
  • @Nabin 哇哦,成功了!非常感谢。我正在关注的教程没有,但它对他们有用,奇怪......再次感谢!

标签: python nlp stop-words


【解决方案1】:

您只需在代码中使用 stopwords 之前添加以下行:

from nltk.corpus import stopwords

【讨论】:

  • 谢谢潘娜!我关注的教程没有,所以我觉得有点奇怪。
  • 别感谢我的朋友,这是我们互相帮助:)
  • @PannaDas 嘿,我知道你在几年前就回答了,哈哈,但为什么 NLTK 不自动导入“stopwords()”?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 2019-01-26
  • 2021-10-05
相关资源
最近更新 更多