MaltParser не работает в Python NLTK
Мне трудно заставить Maltparser работать с Python NLTK.
Вот мой код до сих пор:
import nltk
os.environ["MALT_PARSER"] = "C:/Python34/maltparser-1.8.1"
os.environ["MALTPARSERHOME"] = "C:/Python34/maltparser-1.8.1"
parser8 = nltk.parse.malt.MaltParser(
... working_dir="C:/Python34/maltparser-1.8.1", mco="engmalt.poly-1.7",
... additional_java_args=['-Xmx512m'])
txt = "This is a test sentence"
parser8.raw_parse(txt)
Я скачал и выбрал для использования предварительно обученную модель.
Это ответ, который я получаю:
runfile('C:/Anaconda/Lib/site-packages/nltk/malt2.py', wdir='C:/Anaconda/Lib/site-packages/nltk')
Traceback (most recent call last):
File "<ipython-input-38-73069e4ee673>", line 1, in <module>
runfile('C:/Anaconda/Lib/site-packages/nltk/malt2.py', wdir='C:/Anaconda/Lib/site-packages/nltk')
File "C:\Anaconda\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 580, in runfile
execfile(filename, namespace)
File "C:/Anaconda/Lib/site-packages/nltk/malt2.py", line 14, in <module>
parser8.raw_parse(txt)
File "C:\Anaconda\lib\site-packages\nltk\parse\malt.py", line 139, in raw_parse
return self.parse(words, verbose)
File "C:\Anaconda\lib\site-packages\nltk\parse\malt.py", line 126, in parse
return self.parse_sents([sentence], verbose)[0]
File "C:\Anaconda\lib\site-packages\nltk\parse\malt.py", line 114, in parse_sents
return self.tagged_parse_sents(tagged_sentences, verbose)
File "C:\Anaconda\lib\site-packages\nltk\parse\malt.py", line 194, in tagged_parse_sents
"code %d" % (' '.join(cmd), ret))
Exception: MaltParser parsing (java -Xmx512m -jar C:/Python34/maltparser-1.8.1\malt.jar -w C:/Python34/maltparser-1.8.1 -c engmalt.poly-1.7.mco -i C:\Python34\maltparser-1.8.1\malt_input.conllqgpbye -o C:\Python34\maltparser-1.8.1\malt_output.conllib1nx0 -m parse) failed with exit code 2
Я следовал всем советам на этот постКак использовать анализатор солода в Python NLTK.
В частности:
-Я скачал последнюю версию MaltParser.
-Используя Pip, я удалил и переустановил NLTK, чтобы получить последнюю версию, которая включает в себя добавление в malt / py, которое позволяет добавлять «Additional_java_args» в качестве параметра.
-Я переименовал файл jar в «malt.jar».
-Я установил переменную окружения, указывающую и MALT_PARSER, и MALTPARSERHOME на рабочий каталог.
-Я пробовал как линейные, так и поли предварительно обученные модели.
-Код для malt.py можно найти здесьhttp://www.nltk.org/_modules/nltk/parse/malt.html
Если нет очевидного решения, как я могу продолжать отлаживать это сам?
Кажется, что есть некоторая косая черта (/) несоответствие с поднятым исключением. Ничто из того, что я делаю, кажется, не может это исправить.