倘若产品不讲逻辑只看结果,那该如何验收?

传统的产品验收过程,通常是逻辑走查,就是查看功能有没有实现、逻辑上有没有缺陷。对于产品经理和测试来说来说代码可能算黑盒,但是通过Code Review (代码审查),依然可以把最幽暗的逻辑暴露在阳光之下,锁定问题。但是在AI时代的算法,算法都是由数学公式和数据训练而成,输出结果通常是概率性的。是一个难以打开的黑盒。逻辑无处可寻,那应该怎么办呢?

用一句话总结就是:定义统计验收标准,找到问题源头奥义。

放在AI产品上就是:1. 建立基于数据测试的验收标准,用统计的方式进行验收;2. 溯源最初始的算法模型,找到其中的奥义;

今天,先分享验收的思路:

一、精确率和召回率

信息检索领域两个最基本指标是召回率(Recall Rate)和精确率(Precision Rate),召回率也叫查全率,精确率也叫查准率。主要目的为了判断该文档是否与用户的搜索请求相关。

如检索“酒店”,系统中所有的酒店内容就是相关,而“美食”的内容就是不相关的,一般情况下,相关的内容就是理论上需要完全被检索到的内容,但是可能搜索结果会与目标产生偏差。这里我们所说的“目标”是找出数据库中所有相关的内容,但是可能由于算法等原因没有呈现在搜索结果中。

通过是否相关和是否被检索到两个维度的指标,我们可以将检索完成后的内容分为四类。如下图:

倘若产品不讲逻辑只看结果,那该如何验收?_第1张图片

精确率表示,搜索结果中有多少是正确的,所以计算公式的分子是结果中与目标相关的文档数(N),分母是所有的查询结果(N+M)

召回率表示,搜索结果是否召回(覆盖)了系统中存在目标相关文档,所以计算公式的分子是结果中与目标相关的文档数(N),分母是所有与目标相关的文档(N+K)

二、P@10指标

这个指标关注前搜索结果中排名靠前的10个结果的质量。因为2/8 原则,在搜索出来的一堆结果中,用户通常更加关注排序前面的内容。所以,评估数据取了前面10条。

假设,一段查询的结果排序有如下,假设就是搜“乔布斯去菜市场买苹果”,那么第一页的10条结果里面有讲乔布斯简介的、有讲水果的苹果、有讲苹果公司的,只有5条讲乔布斯买苹果的。

倘若产品不讲逻辑只看结果,那该如何验收?_第2张图片

绿色的打钩的表示是正确的,红色的打叉的是错误的结果。

P@10 分子是对的结果数5,分母是10(因为取的是前面10条)

倘若产品不讲逻辑只看结果,那该如何验收?_第3张图片

三、MAP指标(Mean Average Precision)

MAP(Mean Average Precision):平均精确率,针对多次查询计算得出。先理解一下AP,AP是一次查询的文档排序精确率平均值。假设一次查询搜索结果,如下图:

倘若产品不讲逻辑只看结果,那该如何验收?_第4张图片

在与查询相关的目标文档只有A、B、C三个文档,在这次搜索结果中有8个结果。分别把A、放在了第二个,把B放在了第四个,把C放在了第六个,剩下都是不相关的结果。先计算文档A、B、C的理想排序位置和实际结果的比值(1/2、2/4、3/6),然后计算者三个排序的平均数(累加3个结果➗3)。


倘若产品不讲逻辑只看结果,那该如何验收?_第5张图片

这样系统检索出来的相关文档越靠前(排序越高),MAP就可能越高。如果系统没有返回相关文档,则精确率默认为0。

MAP的M是什么呢?M代表,多次查询结果,把多次查询的AP分值累加后再平均即可。

总结

不同产品需求不同,指标侧重不同,因此不能一概而论。需要综合分析,合理的选取指标。

例如对于搜索产品,召回率和精确率,就处于一种平衡的关系,如果精确率提升可能召回率就降低,因此,还发明了F值进行评估(精确率 * 召回率 * 2 / (精确率+ 召回率) ),再以辅助以排序MAP指标。​


参考文献

《这就是搜索引擎》 张俊林

你可能感兴趣的:(倘若产品不讲逻辑只看结果,那该如何验收?)