30

品詞タガーを使い始めたばかりですが、多くの問題に直面しています。

次のようにPOSタグ付けを開始しました。

import nltk
text=nltk.word_tokenize("We are going out.Just you and me.")

を印刷したい場合'text'、次のことが起こります。

print nltk.pos_tag(text)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "F:\Python26\lib\site-packages\nltk\tag\__init__.py", line 63, in pos_tag
tagger = nltk.data.load(_POS_TAGGER)
File "F:\Python26\lib\site-packages\nltk\data.py", line 594, in load
resource_val = pickle.load(_open(resource_url))
File "F:\Python26\lib\site-packages\nltk\data.py", line 673, in _open
 return find(path).open()
 File "F:\Python26\lib\site-packages\nltk\data.py", line 455, in find
   raise LookupError(resource_not_found)`  
LookupError:
 Resource 'taggers/maxent_treebank_pos_tagger/english.pickle' not
 found.  Please use the NLTK Downloader to obtain the resource:

>>> nltk.download().

 Searched in:
    - 'C:\\Documents and Settings\\Administrator/nltk_data'
    - 'C:\\nltk_data'
    - 'D:\\nltk_data'
    - 'E:\\nltk_data'
    - 'F:\\Python26\\nltk_data'
    - 'F:\\Python26\\lib\\nltk_data'
    - 'C:\\Documents and Settings\\Administrator\\Application Data\\nltk_data'

使用nltk.download()しましたが、うまくいきませんでした。

4

7 に答える 7

36

v3.2以降NLTKのバージョンからは、以下を使用してください。

>>> import nltk
>>> nltk.__version__
'3.2.1'
>>> nltk.download('averaged_perceptron_tagger')
[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data]     /home/alvas/nltk_data...
[nltk_data]   Package averaged_perceptron_tagger is already up-to-date!
True

古いMaxEntNLTKモデルを使用するバージョン、つまり v3.1 以下の場合は、次を使用してください。

>>> import nltk
>>> nltk.download('maxent_treebank_pos_tagger')
[nltk_data] Downloading package maxent_treebank_pos_tagger to
[nltk_data]     /home/alvas/nltk_data...
[nltk_data]   Package maxent_treebank_pos_tagger is already up-to-date!
True

デフォルトの変更の詳細については、https://github.com/nltk/nltk/pull/1143pos_tagを参照してください。

于 2016-06-06T07:01:47.337 に答える
31

Python で入力nltk.download()すると、NLTK Downloader インターフェイスが自動的に表示されます。
モデルをクリックし、maxent_treebank_pos_ を選択します。自動的にインストールされます。

import nltk 
text=nltk.word_tokenize("We are going out.Just you and me.")
print nltk.pos_tag(text)
[('We', 'PRP'), ('are', 'VBP'), ('going', 'VBG'), ('out.Just', 'JJ'),
 ('you', 'PRP'), ('and', 'CC'), ('me', 'PRP'), ('.', '.')]
于 2011-12-22T04:43:48.170 に答える
5

シェル/ターミナルから、次を使用できます。

python -m nltk.downloader maxent_treebank_pos_tagger

(Linux では sudo が必要になる場合があります)

インストールmaxent_treebank_pos_tagger(つまり、NLTK の標準の treebank POS タガー) がインストールされ、問題が修正されます。

于 2015-09-16T05:47:41.087 に答える
1
nltk.download()

モデルをクリックし、maxent_treebank_pos_ を選択します。自動的にインストールされます。

import nltk 
text=nltk.word_tokenize("We are going out.Just you and me.")
print nltk.pos_tag(text)
[('We', 'PRP'), ('are', 'VBP'), ('going', 'VBG'), ('out.Just', 'JJ'),
 ('you', 'PRP'), ('and', 'CC'), ('me', 'PRP'), ('.', '.')]
于 2013-08-13T13:40:55.253 に答える