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

用于生成基于NLP的文本注释器的性能报告的实用工具,nlp,stanford-nlp,gate,Nlp,Stanford Nlp,Gate,我正在尝试为我的文本注释器构建一个质量测试框架。我用 对于每个输入文档,我都有黄金标准(人类注释)数据 以下是质量保证的门户资源列表 到目前为止,我能够使用中的方法获得包含FP、TP、FN、精度、召回率和Fscores的性能矩阵 现在,我想潜得更深。我想看看每个文件的个人FP、FN。 i、 e.我想分析每个FP和FN,以便相应地修复注释器 我在GATE的任何类中都没有看到任何函数,比如annotationdifferent,它返回FP或FN的List。它们只返回FP和FN的计数 int fp=

我正在尝试为我的文本注释器构建一个质量测试框架。我用

对于每个输入文档,我都有黄金标准(人类注释)数据

以下是质量保证的门户资源列表

到目前为止,我能够使用中的方法获得包含
FP、TP、FN、精度、召回率和Fscores
的性能矩阵

现在,我想潜得更深。我想看看每个文件的个人FP、FN。 i、 e.我想分析每个FP和FN,以便相应地修复注释器

我在GATE的任何类中都没有看到任何函数,比如annotationdifferent,它返回FP或FN的
List
。它们只返回FP和FN的计数

int fp=annotationDiffer.getFalsePositivesStrict()
int fn=annotationDiffer.getMissing()

在我继续创建我自己的实用程序之前,我要获取FP和FN的
列表
,以及一些相关的句子,以便为每个输入文档创建一个HTML报告进行分析。我想检查是否已经存在类似的内容。

我找到了获取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);
    }
List difference=annotationdifference.calculateDiff(goldAnnotSet,systemAnnotSet);
对于(注释fnAnnotation:AnnotationDifferent.missingAnnotations)
{
System.out.println(“FN=>”+FN注释);
}
对于(注释fpAnnotation:AnnotationDifference.SpusiousAnnotations)
{
System.out.println(“FP=>”+fpAnnotation);
}
基于
fnAnnotation
fpAnnotations
的偏移量,我可以轻松获得周围的句子并创建一个漂亮的html报告