1、什么是相关性

相关性描述的是⼀个⽂档和查询语句匹配的程度。ES 会对每个匹配查询条件的结果进⾏算分_score。_score 的评分越高,相关度越高

对于信息检索工具,衡量其性能有3大指标:

  1. 查准率 Precision:尽可能返回较少的无关文档
  2. 查全率 Recall:尽可能返回较多的相关文档
  3. 排序 Ranking:是否能按相关性排序

前两者更多与分词匹配相关,而后者则与相关性的判断与算分相关。

2、TF-IDF

2.1、词频 TF(Term Frequency)

检索词在文档中出现的频度是多少?出现频率越高,相关性也越高。

例如:搜索“hello”

在文档A中出现10

在文档B中出现1

文档A的相关性更高

2.2、逆向⽂档频率 IDF(Inverse Document Frequency)

每个检索词在索引中出现的频率,频率越高,相关性越低。

例如:搜索“hello world",standar分词会得到"hello"和"world"两个词。

在10分文档中,如果“hello",总共出现了9次,而”world"则出现了1次。

那么”world“的相关度就比"hello"的权重高

2.3 字段长度准则 field-length norm 

字段的长度是多少?字段越短,字段的权重越高

例如:搜索“hello",文档A和文档B中都出现了

但是文档A,总共10个字符,文档B,总共100个字符。

那么 hello 在文档A中的权重 > 文档B中的权重

总结:

        以上三个因素——词频(term frequency)、逆向文档频率(inverse document frequency)和字段长度归一值(field-length norm)——是在索引时计算并存储的。最后将它们结合在一起计算单个词在特定文档中的权重 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐