2012-12-30 9 views
8

Ich versuche Sprache zu verwenden, in NLTK Tagging und verwendet diesen Befehl ein:nltk pos_tag Nutzung

>>> 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: 

Allerdings bekomme ich eine Fehlermeldung, die zeigt:

engish.pickle not found. 

ich herunterladen haben die ganze Korpora und die englische.pickle-Datei gibt es in der maxtent_treebank_pos_tagger

Was kann ich tun, um dies zum Funktionieren zu bringen?

+0

Willkommen bei SO. Versuchen Sie, in Ihren Fragen so aussagekräftig wie möglich zu sein, um die besten Antworten zu erhalten. – simonmorley

Antwort

6

Ihre Python-Installation kann maxent oder treemap nicht erreichen.

Überprüfen Sie zunächst, ob der Tagger tatsächlich vorhanden ist: Starten Sie Python über die Befehlszeile.

>>> import nltk

Dann können Sie

>>> dir (nltk)

Schauen Sie durch die Liste mit überprüfen, um zu sehen, ob maxent und treebank beide da sind.

Einfacher wäre

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

Verwenden nltk.download() eingeben -> Modelle und prüfen Sie, ob die treemap Tagger wie installiert zeigt. Sie sollten auch versuchen, den Tagger erneut herunterzuladen.

NLTK Downloader, Models Tab

Hoffnung, das hilft.

+0

thnks @ram ich habe die Lösung für mein Problem. Ich habe einen Ordner Taggers erstellt und kopiert die Maxtent_treebank_pos in diesem und es funktioniert schließlich .. :) –

2

Wenn Sie den Downloader gui nicht verwenden möchten, können Sie nur die folgenden Befehle in einem Python verwenden oder ipython Shell:

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