执行此操作的困难但干净的方法是构建自己的注释器,该注释器将挂钩到Berkeley解析器的编程API中。你基本上想要模仿的行为 ParserAnnotator ,取代斯坦福大学的参考资料 ParserQuery 参考Berkeley Parser +代码进行必要的转换。
ParserAnnotator
ParserQuery
然后使用Berkeley Parser返回的结果(转换为Stanford框架),您可以使用 EnglishGrammaticalStructure 将伯克利选区解析转换为依赖树。
EnglishGrammaticalStructure
较不干净但也许更简单的方法是让Berkeley解析器输出PTB格式的解析并使用 主要方法 EnglishGrammaticalStructure 从这个CoNLL格式生成依赖性解析。
有关第一个选项的更多信息,请求:
您应该创建自己的注释器,其中包含/子类 ParserAnnotator 。覆盖的关键方法是 ParserAnnotator#doOneSentence 。在这里,您可以调用Berkeley Parser API,解析其结果并致电 ParserAnnotator#finishSentence 使用正确转换的树。 finishSentence 应该注意为您准备正确的注释。
ParserAnnotator#doOneSentence
ParserAnnotator#finishSentence
finishSentence
您可以使用特殊属性轻松挂接主管道上的自定义注释器。看到 这个答案 例如代码(我指的是 customAnnotatorClass 属性)。
customAnnotatorClass