召回率(Recall Rate)(查全率):是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。
精度(Precision)(查准率):是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率。
对于一个检索系统来讲,召回率和精度不可能两全其美:召回率高时,精度低,精度高时,召回率低。
所以常常用 11 种召回率下 11 种精度的平均值来衡量一个检索系统的精度。
对于搜索引擎系统来讲,因为没有一个搜索引擎系统能够搜集到所有的 Web 网页,所以召回率很难计算。
目前的搜索引擎系统都非常关心精度。
影响一个搜索引擎系统的性能有很多因素,最主要的是信息检索模型,包括文档和查询的表示方法、评价文档和用户查询相关性的匹配策略、查询结果的排序方法和用户进行相关度反馈的机制。
从一个大规模数据集合中检索文档的时,可把文档分成四组:
※ 系统检索到的相关文档(A)
※ 系统检索到的不相关文档(B)
※ 相关但是系统没有检索到的文档(C)
※ 相关但是被系统检索到的文档(D)
直观的说,一个好的检索系统检索到的相关文档越多越好,不相关文档越少越好。
召回率 R:用检索到相关文档数作为分子,所有相关文档总数作为分母,即
R=A/(A+C)。
精度 P:用检索到相关文档数作为分子,所有检索到的文档总数作为分母,即
P=A/(A+B)。
举例:一个数据库有 500 个文档,其中有 50 个文档符合定义的问题;系统检索到 75 个文档,但其中只有 45 个文档符合定义。
召回率:R=45/50=90%。
精度:P=45/75=60%。
上例中:系统检索是比较有效的,召回率为 90%;但是结果有很大的噪音,有近一半的检索结果是不相关。
研究表明:在不牺牲精度的情况下,获得一个高召回率是很困难的;召回率越高,精度下降的很快,而且这种趋势不是线性的。