斯坦福的CoreNLP和OpenNLP解析器之间是否有桥梁?

时间:2016-07-30 11:16:14

标签: java parsing opennlp stanford-nlp

我继承了一个围绕CoreNLP编写的Java系统,这意味着除了使用CoreNLP解析器之外,系统类在某些地方使用CoreNLP类作为字段。

我想用不同的解析器测试系统的准确性,为此我重构了代码以使用通用的解析器适配器,其子类应该在CoreNLP API和特定的解析器实现之间执行必要的桥接。

现在,子类StanfordParserAdapter是微不足道的。我的问题始于OpnNlpParserAdapter子类。我可以使用这些解析器之间的现有桥梁吗?如果是这样,它将为我(以及可能的其他人)节省大量工作。

示例:给定char str[100] = ""; while(1) { printf("$$$$>"); // scanf("%s",str); // not recommended fgets( str, sizeof( str ), stdin ); // fgets is better } 解析,CoreNLP生成List<HasWord>。我希望OpenNLP解析器(通过桥接代码)在给定相同输入时生成等效的Stanford Tree对象。

1 个答案:

答案 0 :(得分:0)

我不认为桥接是最佳解决方案,因为它涉及大量工作和更多时间,而不是直接在项目中使用Opennlp。

另一方面,配置和使用Opennlp非常简单。并且您可以使用很多支持来解析您的输入。

如果您在配置和使用工具方面需要任何帮助,请发表评论。很多例子都有帮助。