用于生成基于NLP的文本注释器的性能报告的实用程序

时间:2013-10-25 19:55:03

标签: nlp stanford-nlp gate

我正在尝试为我的文本注释器构建一个质量测试框架。我用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报告以进行分析。我想检查是否存在类似的东西。

1 个答案:

答案 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);
    }

根据fnAnnotationfpAnnotations的偏移量,我可以轻松获取周围的句子并创建一个不错的HTML报告。