Próbuję użyć nltk.tag.stanford module
do znakowania zdanie (pierwsza jak np wiki jest), ale wciąż otrzymuję następujący błąd:błąd poz tagger NLTK Stanford: polecenie Java udało
Traceback (most recent call last):
File "test.py", line 28, in <module>
print st.tag(word_tokenize('What is the airspeed of an unladen swallow ?'))
File "/usr/local/lib/python2.7/dist-packages/nltk/tag/stanford.py", line 59, in tag
return self.tag_sents([tokens])[0]
File "/usr/local/lib/python2.7/dist-packages/nltk/tag/stanford.py", line 81, in tag_sents
stdout=PIPE, stderr=PIPE)
File "/usr/local/lib/python2.7/dist-packages/nltk/internals.py", line 160, in java
raise OSError('Java command failed!')
OSError: Java command failed!
lub po LookupError
błędzie:
LookupError:
===========================================================================
NLTK was unable to find the java file!
Use software specific configuration paramaters or set the JAVAHOME environment variable.
===========================================================================
jest to kod exapmle:
>>> from nltk.tag.stanford import POSTagger
>>> st = POSTagger('/usr/share/stanford-postagger/models/english-bidirectional-distsim.tagger',
... '/usr/share/stanford-postagger/stanford-postagger.jar')
>>> st.tag('What is the airspeed of an unladen swallow ?'.split())
użyłem również word_tokenize
zamiast tego split
, ale nie robi to żadnej różnicy.
Zainstalowałem także java ponownie lub jdk
! a wszystkie moje wyszukiwania zakończyły się niepowodzeniem! coś jak nltknltk.internals.config_java()
lub ...!
Uwaga: Używam linux (Xubuntu)!
w 'usr/lib/jvm /' Mam 3 katalogi 'default-java' i' java-1.7.0-openjdak-amd64' oraz 'java-7-openjdk-amd64' whi ch jeden z nich mogę użyć do ścieżki? Używam ich wszystkich, ale otrzymuję błąd ponownie i próbuję na wszystkie sposoby z wyjątkiem 'uninstall' i' install' nltk! jak możesz powiedzieć, że odinstalowuję i instaluję ponownie? – Kasramvd
@Kasra java-1.7.0-openjdak-amd64 Wierzę, że –
ponownie przepisał kod w nowym pliku '.py' i wykonał go, a następnie dostaję ten błąd' print (stderr.decode (sys.stdout.encoding)) TypeError: decode() argument 1 musi być łańcuchem, a nie "None", który znasz? jego dla pliku 'nltk/internals.py'! – Kasramvd