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

本文介绍了TF-IDF算法及其组成部分,包括词频统计、逆向文档频率和字段长度归一化。同时,讨论了向量空间模型如何通过term的频率构建文档向量,并利用余弦相似度衡量语义相似度。布尔模型作为简单的检索方式,通过AND、OR和NOT运算处理查询。这些方法在搜索和信息检索中扮演关键角色,为理解倒排索引和文本相似度计算奠定了基础。
摘要由CSDN通过智能技术生成

1. TF-IDF算法

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

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

词频统计

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

逆向文档频率统

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

其中:

total:文档总数;

frequency:出现term的文档数量;

字段长短归一化

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

其中:

length:字段中term的数量;

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

2. 向量空间模型

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

余弦夹角距离公式

3. 布尔模型

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

评分函数

查询因子归一化

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值