MaltParser在Python NLTK中不起作用

时间:2015-04-08 11:20:34

标签: python parsing 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

我已按照这篇文章How to use malt parser in python nltk的所有建议。

具体做法是:

- 我下载了最新版本的MaltParser。

- 使用Pip,我卸载并重新安装了NLTK以获得最新版本,其中包括在malt / py中添加允许&#39; additional_java_args&#39;作为参数添加。

- 我将jar文件重命名为&#39; malt.jar&#39;。

-I设置一个环境变量,将MALT_PARSER和MALTPARSERHOME指向工作目录。

- 我已尝试过线性和多边预训练模型。

- 可以在http://www.nltk.org/_modules/nltk/parse/malt.html

找到malt.py的代码

如果没有明显的解决方案,我该如何继续自行调试?

似乎与引发的异常存在一些斜杠(/)不一致。我做的任何事情似乎都无法解决。

0 个答案:

没有答案