我继承了一个围绕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
对象。
答案 0 :(得分:0)
我不认为桥接是最佳解决方案,因为它涉及大量工作和更多时间,而不是直接在项目中使用Opennlp。
另一方面,配置和使用Opennlp非常简单。并且您可以使用很多支持来解析您的输入。
如果您在配置和使用工具方面需要任何帮助,请发表评论。很多例子都有帮助。