我正在尝试启动一个情感分析的项目,我将使用停用词方法。我进行了一些研究,并发现nltk有停用词,但是当我执行命令时出现了错误。
我的做法是,为了知道nltk使用哪些单词(就像你可能在这里找到的http://www.nltk.org/book/ch02.html的4.1节中所发现的内容一样):
from nltk.corpus import stopwords
stopwords.words('english')
但是当我按下回车键时,我得到的是
---------------------------------------------------------------------------
LookupError Traceback (most recent call last)
<ipython-input-6-ff9cd17f22b2> in <module>()
----> 1 stopwords.words('english')
C:\Users\Usuario\Anaconda\lib\site-packages\nltk\corpus\util.pyc in __getattr__(self, attr)
66
67 def __getattr__(self, attr):
---> 68 self.__load()
69 # This looks circular, but its not, since __load() changes our
70 # __class__ to something new:
C:\Users\Usuario\Anaconda\lib\site-packages\nltk\corpus\util.pyc in __load(self)
54 except LookupError, e:
55 try: root = nltk.data.find('corpora/%s' % zip_name)
---> 56 except LookupError: raise e
57
58 # Load the corpus.
LookupError:
**********************************************************************
Resource 'corpora/stopwords' not found. Please use the NLTK
Downloader to obtain the resource: >>> nltk.download()
Searched in:
- 'C:\\Users\\Meru/nltk_data'
- 'C:\\nltk_data'
- 'D:\\nltk_data'
- 'E:\\nltk_data'
- 'C:\\Users\\Meru\\Anaconda\\nltk_data'
- 'C:\\Users\\Meru\\Anaconda\\lib\\nltk_data'
- 'C:\\Users\\Meru\\AppData\\Roaming\\nltk_data'
**********************************************************************
因为这个问题,类似以下的事情无法正常运行(获得相同的错误):
>>> from nltk.corpus import stopwords
>>> stop = stopwords.words('english')
>>> sentence = "this is a foo bar sentence"
>>> print [i for i in sentence.split() if i not in stop]
你知道问题可能是什么吗?我必须使用西班牙语单词,你推荐另一种方法吗?我也考虑使用英语数据集和Goslate包。
谢谢阅读!
P.D.:我使用Ananconda。
nltk.download("stopwords")
- KLDavenport