我使用以下命令从nltk下载了路透数据集:
import nltk
nltk.download('reuters')
我确认下载了数据集,并且可以在“ C:/ Users /用户名/ AppData / Roaming / nltk_data”下看到它。
但是,当我想读取数据集时,python看不到它!我收到以下错误:
C:\Users\username\python\Python37-32\Lib\site-packages\sklearn\externals\joblib\externals\cloudpickle\cloudpickle.py:47: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
Traceback (most recent call last):
File "C:\Users\username\python\Python37-32\Lib\site-packages\nltk\corpus\util.py", line 80, in __load
try: root = nltk.data.find('{}/{}'.format(self.subdir, zip_name))
File "C:\Users\username\python\Python37-32\Lib\site-packages\nltk\data.py", line 675, in find
raise LookupError(resource_not_found)
LookupError:
**********************************************************************
Resource [93mreuters[0m not found.
Please use the NLTK Downloader to obtain the resource:
[31m>>> import nltk
>>> nltk.download('reuters')
[0m
Searched in:
- 'C:\\Users\\username/nltk_data'
- 'C:\\nltk_data'
- 'D:\\nltk_data'
- 'E:\\nltk_data'
- 'C:\\Users\\username\\python\\Python37-32\\nltk_data'
- 'C:\\Users\\username\\python\\Python37-32\\share\\nltk_data'
- 'C:\\Users\\username\\python\\Python37-32\\lib\\nltk_data'
- 'C:\\Users\\username\\AppData\\Roaming\\nltk_data'
*******
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\username\eclipse-workspace\ML\src\PAs\pa2\Test.py", line 17, in <module>
from commons import util, datasets, runClassifier, mlGraphics
File "C:\Users\username\eclipse-workspace\ML\src\commons\datasets.py", line 258, in <module>
class Reuters:
File "C:\Users\username\eclipse-workspace\ML\src\commons\datasets.py", line 259, in Reuters
documents = reuters.fileids()
File "C:\Users\username\python\Python37-32\Lib\site-packages\nltk\corpus\util.py", line 116, in __getattr__
self.__load()
File "C:\Users\username\python\Python37-32\Lib\site-packages\nltk\corpus\util.py", line 81, in __load
except LookupError: raise e
File "C:\Users\username\python\Python37-32\Lib\site-packages\nltk\corpus\util.py", line 78, in __load
root = nltk.data.find('{}/{}'.format(self.subdir, self.__name))
File "C:\Users\username\python\Python37-32\Lib\site-packages\nltk\data.py", line 675, in find
raise LookupError(resource_not_found)
LookupError:
*********
Resource [93mreuters[0m not found.
Please use the NLTK Downloader to obtain the resource:
[31m>>> import nltk
>>> nltk.download('reuters')
[0m
Searched in:
- 'C:\\Users\\username/nltk_data'
- 'C:\\nltk_data'
- 'D:\\nltk_data'
- 'E:\\nltk_data'
- 'C:\\Users\\username\\python\\Python37-32\\nltk_data'
- 'C:\\Users\\username\\python\\Python37-32\\share\\nltk_data'
- 'C:\\Users\\username\\python\\Python37-32\\lib\\nltk_data'
-C:\\Users\\username\\AppData\\Roaming\\nltk_data'
我尝试手动创建目录“ C:/ Users / username / nltk_data”,然后将reuters.zip粘贴到该目录中,但这无济于事! 当我再次使用nltk.download()下载它时,它显示以下内容:
[nltk_data] Downloading package reuters to C:\Users\username/nltk_data...
[nltk_data] Package reuters is already up-to-date!
有任何提示吗?
我还想知道为什么python打印的路径同时包含斜杠/
和反斜杠\
?
答案 0 :(得分:0)
由于imp
模块与nltk
一起使用时不推荐使用python 3.7
模块,因此请使用import importlib
而不是import imp
,或尝试使用旧版本的{ {1}}。
答案 1 :(得分:0)
在我的情况下,我只是转到一个下载了语料库的文件夹,然后解压缩了一个存档。 要查看语料库的下载位置,
nltk.download('reuters')
[nltk_data]正在将软件包路透社下载到/ home / denys / nltk_data ...
[nltk_data]打包程序已更新!
答案 2 :(得分:-3)
这是我的代码。您可以相应地获得帮助
import nltk
#nltk.download('punkt')
#nltk.download('averaged_perceptron_tagger')
var = open("e:\Assignment\my_file.txt","r") #open file
lines = var.read() #read all lines
sentences = nltk.sent_tokenize(lines) #tokenize sentences
nouns = [] #empty to array to hold all nouns
for sentence in sentences:
for word,pos in nltk.pos_tag(nltk.word_tokenize(str(sentence))):
if (pos == 'NN' or pos == 'NNP' or pos == 'NNS' or pos == 'NNPS'):
nouns.append(word)
print (nouns)