宾夕法尼亚话语树库(PDTB)Parser

时间:2015-10-19 07:59:40

标签: java parsing stanford-nlp

我目前正在尝试运行以下项目(https://github.com/ilija139/PDTB-Parser)。我用来运行项目的文本文件是wsj_2300.txt,它可以在"输出"目录。很遗憾没有任何成功。该项目以斯坦福CoreNLP为基础。我到现在才发现:

  1. 我无法使用CoreNLP版本3.5.2(最新版本),因为该项目基于较旧的依赖项。通过使用通用依赖关系,我得到以下错误消息"没有为MWE使用类(ed.stanford.nlp.trees.SemanticHeadFinder)(MWE(JJ等)(IN as))"定义头规则。但是,Stackowerflow(PrintTree - No head rule defined for MWE - Bug with version 3.5.2)关于同一问题的以下答案无法解决问题!如果有人知道如何修复它,请告诉我。
  2. 尽管如此,由于PDTB解析器上次更新1年前的事实,我只使用了2个旧版本(3.5.1然后是3.4.1),期望该项目按照Thematrixme({{ 3}})。不幸的是,只有第一个问题得到解决而另一个问题出现了。一个简单的" String索引超出范围:-1()"在函数" buildDependencyTrees"由于事实,没有" root"可以在依赖项中找到。
  3. 我试图通过简单地排除节点构建来解决问题,但后来我得到了一个" indexOutOfBoundsException"在下一个依赖项中,因为找不到孩子......有没有人知道我需要做什么,或者我需要使用哪个CoreNLP版本/模型来让这个程序按照手册中的说法正确运行?

    非常感谢

1 个答案:

答案 0 :(得分:0)

我不确定您是如何使用解析器的。但是,您可以通过在用于创建管道的Properties对象中将“parse.originalDependencies”设置为“true”来获得Stanford CoreNLP 3.5.2来创建较旧的Stanford依赖项。或者,如果您从命令行运行,只需包含标志“-parse.originalDependencies”如果您正在使用神经网络依赖关系解析,则​​可以使用Stanford Dependencies模型,而不是将属性“depparse.model”设置为“edu” /stanford/nlp/models/parser/nndep/english_SD.gz“

如果您让我知道您是如何具体创建解析的,我可以准确地告诉您使用什么设置来获取较旧的依赖项。