当前位置:   article > 正文

ElasticSearch计算文本相似度的算法总结_elasticsearch 文本相似度

elasticsearch 文本相似度

1. TF-IDF算法

这是计算搜索词和文档相似度默认采用的算法;主要包括三个维度:

TF词频统计,IDF逆向文档频率统计以及字段长短;

词频统计

一般认为,一个term在文档中出现的频率越高,那么相似度越高,计算公式如下:

逆向文档频率统

一般认为,一个term在单个文档中出现的频率高,在其他文档中出现的频率低,我们认前者具有更好的区分度;

其中:

total:文档总数;

frequency:出现term的文档数量;

字段长短归一化

一般认为,一个字段越短,相似度越高的概率越大,计算公式:

其中:

length:字段中term的数量;

最后生成的score由以上三部分进行综合评分;

2. 向量空间模型

其核心思想是以空间的相似度表示语义上的相似度;空间上的相似度有很多度量方法,比如余弦夹角,欧几里德,曼哈顿和切比雪夫距离等等;通过term建立每个文档的向量空间(term在文档中出现的次数),通过距离公式计算相似度;

余弦夹角距离公式

3. 布尔模型

        这是最简单检索模式,通过AND,OR以及NOT运算,对term利用倒排索引进行检索;然后使用ES自带的实用评分函数计算相关度;

评分函数

查询因子归一化

协调因子:可以为那些查询词包含度高的文档提供奖励,文档里出现的查询词越多,它越有机会成为好的匹配结果;

        对于搜索来讲,倒排索引是很重要的,其前置工作需要对文本进行切词,下一篇文章会总结一下基于隐马尔科夫链HMM的分词算法;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/667289
推荐阅读
相关标签
  

闽ICP备14008679号