搜索相关性

2021-11-20  本文已影响0人  侧耳倾听y

学习极客时间《Elasticsearch 核心技术与实战》课程之后的记录。

搜索是用户和搜索引擎的对话,用户关心的是搜索引擎结果的相关性:

  1. 是否可以找到所有相关的内容;
  2. 有多少不相关的内容被返回了;
  3. 文档的打分是否合理;
  4. 结合业务需求,平衡结果排名。

衡量相关性:

  1. Precision(查准率):尽可能返回较少无关文档;

  2. Recall(查全率):尽量返回较多相关文档;

  3. Ranking:能否按照相关度排序。


    绿色代表应该被搜索到的结果,黄色代表不应该被搜索到的结果。

Precision = True Postive / (True and False Positives)

Recall = True Postive / (True Positives + False Negtives)

相关性算分

词频TF

Term Frequency:检索词在一篇文档中出现的频率,计算公式:
TF = 检索词出现的次数 / 文档的总字数。

度量一条查询和结果文档相关性的简单方法:简单将搜索中的每一个词的TF进行相加。比如说搜索"区块链的应用",相关性 = TF(区块链) + TF(的) + TF(应用)。

Stop word:有些词出现再多次也无需计算到相关性中。比如,的”在文档中出现了很多次,但是对贡献相关度几乎没有用处,不应该考虑他们的TF。

逆文档频率

DF:检索词在所有文档中出现的频率。
Inverse Document Frequency:简单说 = log(全部文档数/检索词出现过得文档总数);

假设搜索"区块链的应用",“区块链”在相对较少的文档中出现;“应用”在相对比较多的文档中出现;“Stop Word”在大量文档中出现。所以“区块链”这个词比“应用”这个词共享度更高。

TF-IDF本质就是将TF求和变成了加权求和:
TF(区块链)* IDF(区块链) + IDF(的)* TF(的) + TF(应用)* IDF(应用)

TF-IDF的概念

TF-IDF被公认为是信息检索领域最重要的发明;
除了在信息检索,在文献分类和其他相关领域有这非常广泛的应用;
IDF的概念,最早是剑桥大学的“斯巴克 琼斯”提出:

1972年-“关键词特殊性的统计解释和它在文献检索中的应用”;但是没有理论上解释IDF应该使用log(全部文档数/检索词出现过得文档总数),而不是其他函数。也没有做进一步的研究。

现代搜索引擎,对TF-IDF进行了大量细微的优化。

BM25

控制算分

Boosting 是控制相关度的一种手段,可以对索引、字段、或查询条件使用。
参数boost的含义:

上一篇 下一篇

猜你喜欢

热点阅读