2

我正在研究不同的相似性算法,这些算法定义了在搜索过程中如何计算每个文档的分数。此处列出了可用的算法:http ://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules-similarity.html

我的问题是,在浏览 wikipedia 文章或 lucene API 文档中的类描述时,我很难理解它们。我真的很喜欢这里解释 TF/IDF 相似性算法(ElasticSearch 中的默认算法)的答案:这个 ElasticSearch 查询排名背后的原因是什么?(所以这个我理解到一定程度)。

有人可以对那里概述的其他算法提供类似的简单解释吗?这些包括:

  • bm25 相似度
  • drf相似度
  • ib相似度

先感谢您。

4

1 回答 1

3

您在此处遇到的问题是链接答案中设置的描述,Lucene 的默认相似性和 bm25 基本相同,因为它们都考虑了:

  • 文档中出现的次数越多越好
  • 语料库中较稀有的术语是首选
  • 较短的文档权重更大
  • 用于调整分数、提升等的其他功能。

dfr实际上仅包含 7 个不同的基本模型,每个都使用不同的评分算法,然后是两个高度可配置的标准化步骤。许多配置选项符合上述非常一般的步骤,有些则与之不同。

类似地,ib也允许一些重要的配置,但通常会达到相同的高点,即支持更高的词频,支持更罕见的词的匹配(通过某些描述),以及调整文档长度、提升和其他可能的规范化。

于 2013-10-17T16:39:48.437 回答