使用jpype的stanford解析器

时间:2011-07-18 10:44:45

标签: python stanford-nlp

当我尝试使用jpype使用stanford解析器时,我得到以下错误

文件“C:\ Python26 \ lib \ site-packages \ stanford_parser \ parser.py”,第103行,    在 init

self.parser = self.package_lexparser.LexicalizedParser(self.pcfg_model_fname)

文件“C:\ Python26 \ lib \ site-packages \ jpype_jpackage.py”,第55行,   在致电

raise TypeError, "Package "+self.__name+" is not Callable"

TypeError:包edu.stanford.nlp.parser.lexparser.LexicalizedParser不可调用

2 个答案:

答案 0 :(得分:2)

我遇到了同样的情况。 原因是路径不正确。

jar文件的路径是否正确?

要启动JVM,我们调用startJVM(),如

jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % (jar_path),)

如果“jar_path”不正确,则效果不佳。

答案 1 :(得分:2)

自从这个问题被提出以来已经很久了但是如果有人来到这里,我曾经遇到过同样的问题,并通过修复" stanford-parser.jar&#34的路径来修复它。 ;。 在我的情况下(Ubuntu),我在" parser.py"中修复了这一行:

os.environ.setdefault("STANFORD_PARSER_HOME", "../3rdParty/stanford-parser/stanford-parser-2010-08-20")

并且错误停止了报告。只要确保你正确地通往" stanford-parser.jar"和PCFG文件。