赞
踩
1. TF-IDF算法
这是计算搜索词和文档相似度默认采用的算法;主要包括三个维度:
TF词频统计,IDF逆向文档频率统计以及字段长短;
词频统计
一般认为,一个term在文档中出现的频率越高,那么相似度越高,计算公式如下:
逆向文档频率统
一般认为,一个term在单个文档中出现的频率高,在其他文档中出现的频率低,我们认前者具有更好的区分度;
其中:
total:文档总数;
frequency:出现term的文档数量;
字段长短归一化
一般认为,一个字段越短,相似度越高的概率越大,计算公式:
其中:
length:字段中term的数量;
最后生成的score由以上三部分进行综合评分;
2. 向量空间模型
其核心思想是以空间的相似度表示语义上的相似度;空间上的相似度有很多度量方法,比如余弦夹角,欧几里德,曼哈顿和切比雪夫距离等等;通过term建立每个文档的向量空间(term在文档中出现的次数),通过距离公式计算相似度;
余弦夹角距离公式:
3. 布尔模型
这是最简单检索模式,通过AND,OR以及NOT运算,对term利用倒排索引进行检索;然后使用ES自带的实用评分函数计算相关度;
评分函数
查询因子归一化:
协调因子:可以为那些查询词包含度高的文档提供奖励,文档里出现的查询词越多,它越有机会成为好的匹配结果;
对于搜索来讲,倒排索引是很重要的,其前置工作需要对文本进行切词,下一篇文章会总结一下基于隐马尔科夫链HMM的分词算法;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。