`

搜索扫盲系列(一)

 
阅读更多

外行人做互联网,很多概念不懂。就拿最基础的“召回率”和“准确率”这种概念,看看网上资料知道大概,自己用的时候,脑子里绕着弯儿能想明白,可碰到别人活用的时候,脑子里还是没法一下子反应过来,还是要绕弯想一下。特地找了些资料,将这两个概念整理一下,希望能更熟练。 召回率和准确率是搜索引擎(或其它检索系统)的设计中很重要的两个概念和指标。 召回率:Recall,又称“查全率”; 准确率:Precision,又称“精度”、“正确率”。 在一个大规模数据集合中检索文档时,可把集合中的所有文档分成四类: 相关不相关 检索到AB 未检索到CD A:检索到的,相关的 (搜到的也想要的) B:检索到的,但是不相关的 (搜到的但没用的) C:未检索到的,但却是相关的 (没搜到,然而实际上想要的) D:未检索到的,也不相关的 (没搜到也没用的) 通常我们希望:数据库中相关的文档,被检索到的越多越好,这是追求“查全率”,即A/(A+C),越大越好。 同时我们还希望:检索到的文档中,相关的越多越好,不相关的越少越好,这是追求“准确率”,即A/(A+B),越大越好。 归纳如下: 召回率:检索到的相关文档 比 库中所有的相关文档 准确率:检索到的相关文档 比 所有被检索到的文档 “召回率”与“准确率”虽然没有必然的关系(从上面公式中可以看到),然而在大规模数据集合中,这两个指标却是相互制约的。 由于“检索策略”并不完美,希望更多相关的文档被检索到时,放宽“检索策略”时,往往也会伴随出现一些不相关的结果,从而使准确率受到影响。 而希望去除检索结果中的不相关文档时,务必要将“检索策略”定的更加严格,这样也会使有一些相关的文档不再能被检索到,从而使召回率受到影响。 凡是设计到大规模数据集合的检索和选取,都涉及到“召回率”和“准确率”这两个指标。而由于两个指标相互制约,我们通常也会根据需要为“检索策略”选择一个合适的度,不能太严格也不能太松,寻求在召回率和准确率中间的一个平衡点。这个平衡点由具体需求决定。 其实,准确率(precision,精度)比较好理解。往往难以迅速反应的是“召回率”。我想这与字面意思也有关系,从“召回”的字面意思不能直接看到其意义。 我觉得“召回率”这个词翻译的不够好。“召回”在中文的意思是:把xx调回来。比如sony电池有问题,厂家召回。 既然说翻译的不好,我们回头看“召回率”对应的英文“recall”,recall除了有上面说到的“order sth to return”的意思之外,还有“remember”的意思。 Recall:the ability to remember sth. that you have learned or sth. that has happened in the past. 这里,recall应该是这个意思,这样就更容易理解“召回率”的意思了。 当我们问检索系统某一件事的所有细节时(输入检索query),Recall就是指:检索系统能“回忆”起那些事的多少细节,通俗来讲就是“回忆的能力”。能回忆起来的细节数 除以 系统知道这件事的所有细节,就是“记忆率”,也就是recall——召回率。 这样想,要容易的多了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics