品詞タガーを使い始めたばかりで、多くの問題に直面しています。
私は次の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()
を使用しましたが、機能しませんでした。
Pythonでnltk.download()
と入力すると、NLTKダウンローダーインターフェイスが自動的に表示されます。
モデルをクリックして、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'), ('.', '.')]
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
古いMaxEntモデル、つまりv3.1以下を使用するNLTK
バージョンの場合、以下を使用してください:
>>> 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
デフォルトのpos_tag
、ご覧ください https://github.com/nltk/nltk/pull/114
シェル/ターミナルから、次を使用できます。
python -m nltk.downloader maxent_treebank_pos_tagger
(LinuxではSudoである必要があります)
maxent_treebank_pos_tagger
(つまり、NLTKの標準ツリーバンクPOSタガー)がインストールされ、問題が修正されます。
import nltk
text = "Obama delivers his first speech."
sent = nltk.sent_tokenize(text)
loftags = []
for s in sent:
d = nltk.Word_tokenize(s)
print nltk.pos_tag(d)
結果:
akshayy @ ubuntu:〜/ summ $ python nn1.py [( 'Obama'、 'NNP')、( 'delivers'、 'NNS')、( 'his'、 'PRP $ ')、(' first '、' JJ ')、(' speech '、' NN ')、('。 '、'。 ')]
(このコードを使用した場所で別の質問をしました)
nltk.download()
Modelsをクリックして、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'), ('.', '.')]