我用一些字符串匹配方法列出了两个文本之间的相似度得分similarity_scores
。我手动添加了actual_value
,以显示文本是否确实相似。有没有统计方法可以找到一个超过similarity scrore
的阈值?在
similarity_scores actual_value
1.0 1
1.0 1
1.0 1
1.0 1
0.99 1
0.99 1
0.99 1
0.989 1
0.944 1
0.944 1
0.941 1
0.941 1
0.941 1
0.941 1
0.941 0
0.934 0
0.933 0
0.933 1
0.88 1
0.784 0
0.727 0
0.727 0
0.714 0
0.714 1
0.714 0
0.714 0
0.711 0
0.711 0
0.707 0
0.707 0
0.696 0
0.696 0
0.696 0
0.696 0
确定特定分类对于文档检索有多好的一种常见方法是使用precision and recall值。在您的示例中,对于给定的阈值[1]:
精度告诉您超过阈值的文档中有多少百分比被手动标记为
1
值,或者Recall告诉您标记了
^{pr2}$1
的文档的百分比高于阈值:在你给出的例子中,你可以为每个可能的阈值计算这些值,但是唯一相关的是那些在0和1序列之间有转换的值,所以我只看这些点:
标记为
1
的文档总数是17
。在因此,对于这5个可能的阈值}和{},如下所示:
TH
,我们有{从这里处理这些值在很大程度上取决于您的数据以及结果对假阴性或假阳性的敏感程度。例如,如果你想确保你有尽可能少的误报,你应该使用一个阈值
TH = 0.941
甚至TH = 0.944
。在如果您想平衡精确性和召回率,您可能需要使用
TH = 0.880
,因为这两个度量值都是从高于它的阈值开始增加的,而精度要比低于它的阈值好得多。这是一种相当主观的方法,但是我们可以通过使用F-measure在一定程度上实现自动化。特别是,我将使用F1-measure
,但是您可以找到一个适合您的数据的。在F1-measure
定义为:使用上面的数字我们得到:
如您所见,通过F1度量,
TH=0.880
排在最前面,TH=0.941
不远,这与手动检查可能的阈值得到的结果非常相似。在[1]为了澄清,我定义了阈值,这样相似度得分大于或等于阈值被视为高于阈值,而严格小于阈值的相似度得分被视为低于。在
相关问题 更多 >
编程相关推荐