找不到资源路透社

Resource reuters not found

我用的是windows系统,python3.7 当我安装时:

import nltk
nltk.download('reuters')

导入没问题,我的cmd里也已经安装了nltk

但是当我执行代码时:

import matplotlib.pyplot as plt
from collections import Counter
from nltk.corpus import reuters
import re
import spacy
nlp = spacy.load('en', disable=['parser', 'tagger'])
reuters_fileids = reuters.fileids()  
reuters_nlp = [nlp(re.sub('\s+',' ', reuters.raw(i)).strip()) for i in reuters_fileids[:100]]
label_counter = Counter()

它有一些错误,我不知道如何修复它... 但是,该代码在我的 MacBook 上运行良好 我想知道 windows 系统发生了什么 p.s我用的是anaconda,在windows电脑上,anaconda安装在E:\

Resource reuters not found.
  Please use the NLTK Downloader to obtain the resource:

  >>> import nltk
  >>> nltk.download('reuters')

  Searched in:
    - 'C:\Users\user/nltk_data'
    - 'C:\nltk_data'
    - 'D:\nltk_data'
    - 'E:\nltk_data'
    - 'E:\Anaconda\nltk_data'
    - 'E:\Anaconda\share\nltk_data'
    - 'E:\Anaconda\lib\nltk_data'
    - 'C:\Users\user\AppData\Roaming\nltk_data'

您的新环境中没有语料库。

按照报错提示下载语料:

>>> from nltk.corpus import reuters

>>> import nltk
>>> nltk.download('reuters')
[nltk_data] Downloading package reuters to
[nltk_data]     /Users/liling.tan/nltk_data...
True

>>> reuters.words()
['ASIAN', 'EXPORTERS', 'FEAR', 'DAMAGE', 'FROM', 'U', ...]
>>> reuters.sents()
[['ASIAN', 'EXPORTERS', 'FEAR', 'DAMAGE', 'FROM', 'U', '.', 'S', '.-', 'JAPAN', 'RIFT', 'Mounting', 'trade', 'friction', 'between', 'the', 'U', '.', 'S', '.', 'And', 'Japan', 'has', 'raised', 'fears', 'among', 'many', 'of', 'Asia', "'", 's', 'exporting', 'nations', 'that', 'the', 'row', 'could', 'inflict', 'far', '-', 'reaching', 'economic', 'damage', ',', 'businessmen', 'and', 'officials', 'said', '.'], ['They', 'told', 'Reuter', 'correspondents', 'in', 'Asian', 'capitals', 'a', 'U', '.', 'S', '.', 'Move', 'against', 'Japan', 'might', 'boost', 'protectionist', 'sentiment', 'in', 'the', 'U', '.', 'S', '.', 'And', 'lead', 'to', 'curbs', 'on', 'American', 'imports', 'of', 'their', 'products', '.'], ...]

或者,您也可以从命令行下载语料库:

$ python3 -m nltk.downloader reuters
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py:125: RuntimeWarning: 'nltk.downloader' found in sys.modules after import of package 'nltk', but prior to execution of 'nltk.downloader'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))
[nltk_data] Downloading package reuters to
[nltk_data]     /Users/liling.tan/nltk_data...
[nltk_data]   Package reuters is already up-to-date!

另请参阅:How do I download NLTK data?

如果你的语料库已经下载,但你仍然得到同样的错误,因为语料库是以 zip 格式下载的。直接进入nltk_data目录解压即可。然后再次尝试执行您的代码。

确保它具有以下目录结构:nltk_data/corpora/reuters/training etc

解压缩时可能会出现 nltk_data/corpora/reuters/reuters/training 等,无法看到文件

解压缩文件。您可以在 google colab 中使用以下命令,其中 -d 之后的相对路径将给出文件应解压缩的位置。

unzip /root/nltk_data/corpora/reuters.zip -d /root/nltk_data/corpora

今天早上遇到了这个麻烦,终于解决了。也许你可以这样做:

nltk.download('punkt')