2012-12-30 71 views
8

我試圖使用語音在NLTK標記,並使用這個命令:NLTK pos_tag使用

>>> text = nltk.word_tokenize("And now for something completely different") 

>>> nltk.pos_tag(text) 

Traceback (most recent call last): 
File "<pyshell#4>", line 1, in <module> 
nltk.pos_tag(text) 
File "C:\Python27\lib\site-packages\nltk\tag\__init__.py", line 99, in pos_tag 
tagger = load(_POS_TAGGER) 
File "C:\Python27\lib\site-packages\nltk\data.py", line 605, in load 
resource_val = pickle.load(_open(resource_url)) 
File "C:\Python27\lib\site-packages\nltk\data.py", line 686, in _open 
return find(path).open() 
File "C:\Python27\lib\site-packages\nltk\data.py", line 467, 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: 

不過,我得到一個錯誤信息,顯示:

engish.pickle not found. 

我有下載整語料庫和英語.pickle文件是在那裏maxtent_treebank_pos_tagger

我能做些什麼來得到這個工作?

+0

歡迎來到SO。儘量在問題中儘可能描述以獲得最佳答案。 – simonmorley

回答

6

您的Python安裝無法達到maxent或treemap。

首先,檢查標記器是否確實存在: 從命令行啓動Python。

>>> import nltk

然後你就可以檢查使用

>>> dir (nltk)

去翻列表,查看maxenttreebank都在那裏。

更容易將鍵入

>>> "maxent" in dir(nltk) 
>>> True 
>>> "Treebank in dir(nltk) 
>>> True 

使用nltk.download() - >型號標籤和檢查,看看是否樹形圖惡搞顯示爲安裝。 您還應該嘗試再次下載標記器。

NLTK Downloader, Models Tab

希望有所幫助。

+0

thram @ram我得到了解決我的問題。我創建了一個文件夾標記器並複製了maxtent_treebank_pos,並且它終於可以正常工作。:) –

2

如果你不想使用下載圖形用戶界面,你可以使用下面的命令在Python或IPython的外殼:

import nltk 
nltk.download('punkt') 
nltk.download('maxent_treebank_pos_tagger')