2013-01-24 16 views
6

Gdy próbuję to:NLTK tagger POS nie działa

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

wyjściowa:

Traceback (most recent call last): 
File "C:/Python27/pos.py", line 3, in <module> 
nltk.pos_tag(text) 
File "C:\Python27\lib\site-packages\nltk-2.0.4-py2.7.egg\nltk\tag\__init__.py" ipos_tag 
tagger = load(_POS_TAGGER) 
File "C:\Python27\lib\site-packages\nltk-2.0.4-py2.7.egg\nltk\data.py", line 605,in 
resource_val = pickle.load(_open(resource_url)) 
ImportError: No module named numpy.core.multiarray 

Odpowiedz

10

Wydaje się, że zapisane słowo tokenizer wymaga numpy. Musisz install it.

+3

If Numpy wymagane przez NLTK, nie powinien on być zainstalowany jako zależność automatycznie zakładając jeden używany Pip lub inne narzędzia instalatora? Pytam, ponieważ zainstalowałem NLTK przy użyciu Pip, a następnie napotkałem ten sam problem. – Inactivist

+1

@Naktywność Numpy nie jest wymagana dla większości NLTK, tylko niektórych części. (Jest wymieniony jako opcjonalny na [stronie instalacyjnej] (http://nltk.org/install.html).) Powiedział, że jest super-przydatny do posiadania w ogóle, jeśli robisz wszelkiego rodzaju rzeczy typu uczenia maszynowego lub inne chrupanie numerów. – Dougal

+0

nie byłoby lepiej, aby NLTK podzielił kod zależny od numpy na oddzielną bibliotekę –

3

numpy zainstalować za pomocą polecenia:

sudo pip install -U numpy