【问题标题】:nltk pos_tag error in windows AnacondaWindows Anaconda 中的 nltk pos_tag 错误
【发布时间】:2018-11-18 12:30:02
【问题描述】:

虽然我希望使用 pos_tag 函数收集 POS 标签,但发生了以下错误。我包含了 nltk 所需的所有包。 nltk 版本为 3.3 并在 conda 环境中运行。 python版本是3.6。每个 nltk 包都是使用 nltk 下载函数下载的,但是每次我运行 pos_tag 函数时都会抛出以下错误。

>>> from nltk import pos_tag, word_tokenize
>>> pos_tag(word_tokenize("John's big idea isn't all that bad."))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\User\Anaconda3\envs\sow\lib\site-packages\nltk\tag\__init__.py", line 133, in pos_tag
    tagger = _get_tagger(lang)
  File "C:\Users\User\Anaconda3\envs\sow\lib\site-packages\nltk\tag\__init__.py", line 97, in _get_tagger
    tagger = PerceptronTagger()
  File "C:\Users\User\Anaconda3\envs\sow\lib\site-packages\nltk\tag\perceptron.py", line 141, in __init__
    self.load(AP_MODEL_LOC)
  File "C:\Users\User\Anaconda3\envs\sow\lib\site-packages\nltk\tag\perceptron.py", line 223, in load
    self.model.weights, self.tagdict, self.classes = load(loc)
  File "C:\Users\User\Anaconda3\envs\sow\lib\site-packages\nltk\data.py", line 836, in load
    opened_resource = _open(resource_url)
  File "C:\Users\User\Anaconda3\envs\sow\lib\site-packages\nltk\data.py", line 957, in _open
    return find(path_, ['']).open()
  File "C:\Users\User\Anaconda3\envs\sow\lib\site-packages\nltk\data.py", line 675, in find
    raise LookupError(resource_not_found)
LookupError:
**********************************************************************
  Resource [93mD:[0m not found.
  Please use the NLTK Downloader to obtain the resource:

  [31m>>> import nltk
  >>> nltk.download('D:')
  [0m
  Searched in:
    - ''
********************************************************************** 

【问题讨论】:

    标签: python-3.x anaconda nltk nltk-trainer nltk-book


    【解决方案1】:

    您需要安装nltk 的语料库,即数据。您的代码尝试查找 pos 标记和 tokenize 数据。

    >>> import nltk
    >>> nltk.download()
    

    这应该可以解决您的问题。

    参考:nltk data

    根据@nikki 的建议进行编辑。

    如果您之前安装过nltk_data,它会将其下载到同一位置。在这种情况下,您应该执行以下操作。这就是导致你问题的冲突。

    nltk.data.path.append('old_location_of_nltk_data')
    

    设置NLTK_DATA 环境变量。

    【讨论】:

    • 我已经尝试过 nltk.download() 但显示相同的错误。我在 anaconda 环境中运行整个事情是一个问题吗?
    • 它会显示一个下载工具,我希望您从该工具下载。否则你应该使用nltk.download('all')我认为你以前安装过一般的python安装,所以它似乎没有覆盖它。
    猜你喜欢
    • 2012-12-14
    • 2017-10-29
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多