使用JPype的斯坦福解析器
当我尝试使用Stanford解析器和jpype时,出现了以下错误:
文件 "C:\Python26\lib\site-packages\stanford_parser\parser.py",第103行, 在初始化中
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"
类型错误:包edu.stanford.nlp.parser.lexparser.LexicalizedParser不可调用
2 个回答
2
这个问题已经问了很久,但如果还有人路过的话,我之前也遇到过同样的问题,后来通过修正“stanford-parser.jar”的路径解决了。在我的情况下(Ubuntu系统),我在“parser.py”文件中修正了这一行:
os.environ.setdefault("STANFORD_PARSER_HOME", "../3rdParty/stanford-parser/stanford-parser-2010-08-20")
然后错误就不再出现了。只要确保你给出的“stanford-parser.jar”和PCFG文件的路径是正确的就可以了。
2
我也遇到过同样的情况。
问题出在路径不正确。
你确认一下jar文件的路径对不对吗?
要启动JVM,我们会像这样调用startJVM():
jpype.startJVM(jpype.getDefaultJVMPath(), "-ea", "-Djava.class.path=%s" % (jar_path),)
如果"jar_path"不正确,那就无法正常工作。