我正在尝试启动情绪分析项目,我将使用停用词方法。我做了一些研究,发现nltk有停用词,但是当我执行命令时出现错误。
我所做的是以下内容,以便了解nltk使用的单词(就像您在第4.1节中的http://www.nltk.org/book/ch02.html所见):
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
答案 0 :(得分:127)
您似乎没有在计算机上使用停用词语料库。
您需要启动NLTK Downloader并下载所需的所有数据。
打开Python控制台并执行以下操作:
>>> import nltk
>>> nltk.download()
showing info http://nltk.github.com/nltk_data/
在打开的GUI窗口中,只需按下&#39;下载&#39;按钮下载所有语料库或转到&#39; Corpora&#39;选项卡,只下载您需要/想要的那些。
答案 1 :(得分:11)
我从ubuntu终端尝试过,我不知道为什么GUI根据tttthomassss的回答没有显示出来。所以我按照KLDavenport的评论进行了操作。以下是摘要:
打开终端/命令行,然后键入python
> DataNew
Treatment Round N Initial sd se ci
1 EE 1 3 3000.0000 0.0000 0.00000 0.0000
2 EE 2 3 2524.4444 463.8167 267.78469 1152.1845
3 EE 3 3 1621.4815 1297.3331 749.01563 3222.7542
4 EE 4 3 906.6667 1570.3927 906.66667 3901.0718
5 EU 1 3 3000.0000 0.0000 0.00000 0.0000
6 EU 2 3 2922.2222 134.7151 77.77778 334.6508
7 EU 3 3 2582.9630 514.6560 297.13677 1278.4763
8 EU 4 3 2163.9506 547.9230 316.34352 1361.1163
9 UE 1 3 3000.0000 0.0000 0.00000 0.0000
10 UE 2 3 2280.0000 624.4286 360.51404 1551.1667
11 UE 3 3 1244.4444 1520.4596 877.83779 3777.0311
12 UE 4 3 895.5556 1551.1477 895.55556 3853.2646
13 UU 1 3 3000.0000 0.0000 0.00000 0.0000
14 UU 2 3 2626.6667 283.7840 163.84274 704.9584
15 UU 3 3 1835.5556 474.8957 274.18116 1179.7063
16 UU 4 3 1287.4074 1022.8653 590.55158 2540.9384
> p <-ggplot(DataNew, aes(x=Treatment, y=Initial))
> p +geom_bar(position = position_dodge(),stat = "identity", aes(fill =
Round))
这会将停用词语料库存储在nltk_data下。就我而言,它是>>> import nltk
.>>> nltk.download("stopwords")
。
如果您需要其他语料库,请访问nltk data并找到包含其ID的语料库。然后像我们为停用词一样使用ID下载。
答案 2 :(得分:2)
如果您想手动安装NLTK Corpus。
1)转到http://www.nltk.org/nltk_data/并下载所需的NLTK语料库文件。
2)现在在Python shell中检查nltk.data.path
的值3)选择计算机上存在的路径之一,并将数据文件解压缩到内部的corpora子目录中。
4)现在您可以从nltk.corpos import stopwords
导入数据参考:https://medium.com/@satorulogic/how-to-manually-download-a-nltk-corpus-f01569861da9
答案 3 :(得分:1)
import nltk
nltk.download('stopwords')
from nltk.corpus import stopwords
STOPWORDS = set(stopwords.words('english'))
答案 4 :(得分:0)
import nltk
nltk.download()
当gui提示时点击下载按钮。它对我有用。(nltk.download('stopwords')
对我不起作用)
答案 5 :(得分:0)
elements.foldLeft(0) {
case (accumulator, item) => ...//calculate here next value from previously calculated
//value (accumulator) and current item
}
import nltk
答案 6 :(得分:0)
您可以使用以下命令
import nltk
nltk.download()
点击回车后,会打开一个弹出窗口,您可以从那里下载所有必需的语料库和其他 nltk 工具。