`

搜索扫盲系列(一)

 
阅读更多

外行人做互联网,很多概念不懂。就拿最基础的“召回率”和“准确率”这种概念,看看网上资料知道大概,自己用的时候,脑子里绕着弯儿能想明白,可碰到别人活用的时候,脑子里还是没法一下子反应过来,还是要绕弯想一下。特地找了些资料,将这两个概念整理一下,希望能更熟练。 召回率和准确率是搜索引擎(或其它检索系统)的设计中很重要的两个概念和指标。 召回率: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——召回率。 这样想,要容易的多了。

分享到:
评论

相关推荐

    shell扫盲篇:Shell常见知识

    Shell中还有一系列特殊变量,它们具有特定的功能: - **$0**:表示脚本名称。 - **$n**:表示脚本的第n个参数,其中n为一个数字,如`$1`表示第一个参数。 - **$* 和 $#**:`$*`表示所有参数作为一个字符串,`$#`...

    网络广告术语扫盲.pptx

    网络广告是互联网营销的重要组成部分,涉及一系列专业术语,这些术语有助于我们理解和评估广告的效果。以下是对一些关键术语的详细解释: 1. **Ad Views/Impressions**:广告浏览或印象,指的是广告在用户浏览器中...

    Android代码-advanced-java

    互联网 Java 工程师进阶知识完全扫盲 本系列知识出自中华石杉,我对这部分知识做了一个系统的整理,方便学习查阅。By the way,微信公众号石杉的架构笔记(id:shishan100)有其它很多架构知识,墙裂推荐~ 一点...

    TI DSP基础学习

    3. **搜索引擎**:使用Google等搜索引擎进一步搜索相关信息。 4. **技术支持**:当以上方法都无法解决问题时,尝试联系TI的技术支持。 #### 三、处理TI DSP技术文档 新手在面对庞杂的技术文档时往往会感到无所适从...

    实战SEO速成到精通

    通过系统学习《实战SEO速成到精通》课程,学员将掌握一系列高级SEO技能,有能力提升自己网站、博客等在搜索引擎中的排名。这些技能的掌握不仅有助于个人职业发展,也为那些希望在SEO领域进行创业的人提供了宝贵的...

    3000字扫盲shell基础知识(新手必备)

    Shell脚本是Linux系统中的一种命令解释器,用于与操作系统进行交互,自动化执行一系列命令。对于无论是前端开发者、后端开发者还是系统管理员来说,掌握基本的Shell知识都是非常实用的技能。下面将详细介绍Shell的...

    算法和注册机编写教程

    算法是一系列精确的步骤,用于解决特定问题或执行特定任务。本教程将引导你深入理解和掌握算法的设计与实现,并进一步探索注册机的编写技术。 首先,我们从“算法注册机编写扫盲.CHM”开始。这个CHM文件可能包含的...

Global site tag (gtag.js) - Google Analytics