24_ElasticSearch TF&IDF算法以及向量空间模型
2018-03-23 07:38
357 查看
24_ElasticSearch TF&IDF算法以及向量空间模型
更多干货
分布式实战(干货)spring cloud 实战(干货)
mybatis 实战(干货)
spring boot 实战(干货)
React 入门实战(干货)
构建中小型互联网企业架构(干货)
python 学习持续更新
ElasticSearch 笔记
一、概述
boolean model 类似and这种逻辑操作符,先过滤出包含指定term的docTF (term frequency) 一个term在一个doc中,出现的次数越多,那么最后给的相关度评分就会越高
IDF(inversed document frequency) 一个term在所有的doc中,出现的次数越多,那么最后给的相关度评分就会越低
length norm 搜索的那个field的长度,field长度越长,给的相关度评分越低; field长度越短,给的相关度评分越高
vector space model 向量空间模型
二、boolean model
类似and这种逻辑操作符,先过滤出包含指定term的docquery "hello world" --> 过滤 --> hello / world / hello & worldbool --> must/must not/should --> 过滤 --> 包含 / 不包含 / 可能包含
doc --> 不打分数 --> 正或反 true or false --> 为了减少后续要计算的doc的数量,提升性能
三、TF/IDF
单个term在doc中的分数query: 搜索关键字hello world 在doc.content中搜索doc1: java is my favourite programming language, hello world !!! doc2: hello java, you are very good, oh hello world!!!hello对doc1的评分
1、TF: term frequency
找到hello在doc1中出现了几次,1次,会根据出现的次数给个分数一个term在一个doc中,出现的次数越多,那么最后给的相关度评分就会越高
2、IDF:inversed document frequency
找到hello在所有的doc中出现的次数,3次一个term在所有的doc中,出现的次数越多,那么最后给的相关度评分就会越低
3、length norm
hello搜索的那个field的长度,field长度越长,给的相关度评分越低; field长度越短,给的相关度评分越高4、综合平分
最后,会将hello这个term,对doc1的分数,综合TF,IDF,length norm,计算出来一个综合性的分数搜索关键字:hello world --> doc1 --> hello对doc1的分数,world对doc1的分数 --> 但是最后hello world query要对doc1有一个总的分数 --> vector space model
四、vector space model 向量空间模型
1、例子:
多个term对一个doc的总分数hello world --> es会根据hello world在所有doc中的评分情况,计算出一个query vector,query向量hello这个term,给的基于所有doc的一个评分就是2
world这个term,给的基于所有doc的一个评分就是5
doc vector,3个doc,一个包含1个term,一个包含另一个term,一个包含2个term
doc1:包含hello --> [2, 0] doc2:包含world --> [0, 5] doc3:包含hello, world --> [2, 5]
如图,取每个doc vector对query vector的弧度,给出每个doc对多个term的总分数每个doc vector计算出对query vector的弧度,最后基于这个弧度给出一个doc相对于query中多个term的总分数
弧度越大,分数月底; 弧度越小,分数越高
如果是多个term,那么就是线性代数来计算,无法用图表示
相关文章
ElasticSearch 笔记1_ElasticSearch使用term filter来搜索数据
2_ElasticSearch filter执行原理 bitset机制与caching机制
3_ElasticSearch 基于bool组合多个filter条件来搜索数据
4_ElasticSearch 使用terms搜索多个值
5_ElasticSearch 基于range filter来进行范围过滤
6_ElasticSearch 控制全文检索结果的精准度
7_ElasticSearch term+bool实现的multiword搜索原理
8_基于boost的搜索条件权重控制
9_ElasticSearch 多shard场景下relevance score不准确
10_ElasticSearch dis_max实现best fields策略进行多字段搜索
11_ElasticSearch 基于tie_breaker参数优化dis_max搜索效果
12_ElasticSearch multi_match语法实现dis_max+tie_breaker
13_ElasticSearch multi_match+most fiels策略进行multi-field搜索
14_ElasticSearch 使用most_fields策略进行cross-fields search
15_ElasticSearch copy_to定制组合field进行cross-fields搜索
16_ElasticSearch 使用原生cross-fiels 查询
17_ElasticSearch phrase matching搜索
18_ElasticSearch 基于slop参数实现近似匹配
19_ElasticSearch 使用match和近似匹配实现召回率与精准度的平衡
20_ElasticSearch rescoring机制优化近似匹配搜索的性能
21_ElasticSearch 前缀搜索、通配符搜索、正则搜索
22_ElasticSearch 搜索推荐match_phrase_prefix实现search-time
23_ElsaticSearch 搜索推荐ngram分词机制实现index-time更多干货
日志管理ELK
相关文章推荐
- 文本特征抽取的向量空间模型(VSM)和TF/IDF方法
- TF-IDF与向量空间模型
- TF-IDF、向量空间模型和余弦相关度
- Spark ML Lib中的Tf-Idf生成的向量不能直接用于其他算法的问题
- python 利用sklearn自带的模块 快速简单实现文章的 tfidf向量空间的表示
- 向量空间模型(VSM)一种文本相似度算法
- (6)文本挖掘(三)——文本特征TFIDF权重计算及文本向量空间VSM表示
- ElasticSearch之向量空间模型算法
- Java实现的TFIDF空间向量查询方法
- (6)文本挖掘(三)——文本特征TFIDF权重计算及文本向量空间VSM表示
- ElasticSearch43:初识搜索引擎_相关度评分TF&IDF算法揭秘
- 文本表示(Text Representation)之词集模型(SOW)&词袋模型(BOW)&TF-IDF模型
- 文本特征值提取,采用结巴将文本分词,tf-idf算法得到特征值,以及给出了idf词频文件的训练方法
- Lucene 4.0 原理与代码分析 - 相似度评分算法之向量空间模型(VSM)
- 向量空间模型(VSM:Vector Space M…
- TF-IDF算法解析与Python实现
- tf-idf算法,实现文章关键字抽取
- 关于使用TF-IDF模型来推荐歌曲给微博用户的收获
- Python TF-IDF 算法 提取文本关键词
- TF-IDF模型的概率解释