我正在尝试为我的文本注释器构建一个质量测试框架。我用GATE
写了我的注释器我为每个输入文档都有金标准(人工注释)数据。
以下是质量保证的门资源清单GATE Embedded API for the measures
到目前为止,我能够使用方法获得包含FP,TP,FN, Precision, Recall and Fscores
的性能矩阵
AnnotationDiffer
现在,我想深入了解一下。我想在每个文档的基础上查看单个FP,FN。 即我想分析每个FP和FN,以便我可以相应地修复我的注释器。
我没有在GATE的任何类中看到任何函数,例如AnnotationDiffer,它返回FP或FN的List<Annotation>
。他们只返回FP和FN的计数
int fp=annotationDiffer.getFalsePositivesStrict()
int fn=annotationDiffer.getMissing()
在我开始创建自己的实用程序以获取FP和FN的List<Annotation>
以及几个周围的句子之前,为每个输入文档创建HTML报告以进行分析。我想检查是否存在类似的东西。
答案 0 :(得分:2)
我想出了如何获得FP和FN注释
List<AnnotationDiffer.Pairing> differ= annotationDiffer.calculateDiff(goldAnnotSet, systemAnnotSet);
for(Annotation fnAnnotation:annotationDiffer.missingAnnotations)
{
System.out.println("FN=>"+fnAnnotation);
}
for(Annotation fpAnnotation:annotationDiffer.spuriousAnnotations)
{
System.out.println("FP=>"+fpAnnotation);
}
根据fnAnnotation
或fpAnnotations
的偏移量,我可以轻松获取周围的句子并创建一个不错的HTML报告。