NLTK pos_tag模块返回LookupError

时间:2017-10-02 03:24:51

标签: python nlp nltk pos-tagger

enter image description here

enter image description here

详细信息如上。 我在Jupiter笔记本上运行它,并收到错误消息。

1 个答案:

答案 0 :(得分:0)

<强> TL; DR

在终端上:

python -m nltk.downloader averaged_perceptron_tagger

或在Python中

import nltk
nltk.download('averaged_perceptron_tagger')

在长

首先,请在命令行上将您的NLTK版本更新到版本3.2.5(如有必要,请使用sudo):

pip install -U nltk

现在您可以再次尝试使用pos_tag功能,您会看到更有用的错误消息:

>>> from nltk import pos_tag
>>> pos_tag(['foo', 'bar'])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/nltk/tag/__init__.py", line 133, in pos_tag
    tagger = _get_tagger(lang)
  File "/usr/local/lib/python2.7/site-packages/nltk/tag/__init__.py", line 97, in _get_tagger
    tagger = PerceptronTagger()
  File "/usr/local/lib/python2.7/site-packages/nltk/tag/perceptron.py", line 140, in __init__
    AP_MODEL_LOC = 'file:'+str(find('taggers/averaged_perceptron_tagger/'+PICKLE))
  File "/usr/local/lib/python2.7/site-packages/nltk/data.py", line 673, in find
    raise LookupError(resource_not_found)
LookupError: 
**********************************************************************
  Resource averaged_perceptron_tagger not found.
  Please use the NLTK Downloader to obtain the resource:

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

  Searched in:
    - '/Users/alvas/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'

**********************************************************************

请注意,punkt资源用于word_tokenize(),但pos_tag()功能需要averaged_perceptron_tagger模型。

所以,在终端上,请执行:

python -m nltk.downloader averaged_perceptron_tagger

或在Python中

import nltk
nltk.download('averaged_perceptron_tagger')