直接用一个实例来看几个参数具体的含义:
sentence : The Hospital said it would probably know by Tuesday whether its patients had Congo Fever .
gold_tag: b-AGENT e-AGENT o o b-DSE m-DSE e-DSE o o b-TARGET m-TARGET m- TARGET m-TARGET m-TARGET e-TARGET o
predict_tag: o e-AGENT b-DSE o b-DSE m-DSE e-DSE o o b-AGENT b-DSE b-TARGET m-TARGET e-TARGET o o
上述例子中,每一个句子中的,每一个word都有一个gold 和 predict 标签。b、m、e分别表示实体的起始边界、中间边界、结束边界;s是表示当个实体,就是本身一个word就是一个实体。而诸如DSE、TARGET、AGENT表示是实体的类别。
实体只有这三种形式:[b,m….,e]、[b,e]、 [s],实体是有边界的,在精确匹配过程中,需要预测实体类别以及边界范围,只有这两部分都匹配成功,才算预测正确,否则是预测错误。
金标的实体有3个,是上述gold_tag加粗部分, 预测准确部分是predict_tag 加粗部分。
在自然语言处理的任务中,而且数据非常均匀,不存在很极端的数据的情况下,评价指标我们一般会用F值来评测结果。怎么计算F值呢?
给出五个参数:
gold_num:金标数量
predict_num :预测数量
correct_num:预测准确的数量
precision:准确率(精确率)
recall :召回率
f1:F值
具体计算公式如下所示: