Docs/ELK/es打分算法.md
2022-10-18 16:59:37 +08:00

13 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**TF/IDF模型**
* TFTF(Term Frequency),即**词频**表示词条在文本中出现的频率。考虑一篇文档得分的首要方式是查看一个词条在当前文档注意IDF统计的范围是所有文档中出现的次数比如某篇文章围绕ES的打分展开的那么文章中肯定会多次出现相关字眼当查询时我们认为该篇文档更符合所以这篇文档的得分会更高。TF的值通常会被归一化一般是词频除以文章总词数以防止它偏向长的文件同一个词语在长文件里可能会比短文件有更高的词频而不管该词语重要与否
* IDFIDF(Inverse Document Frequency),即**逆文档频率**反应了一个词在所有文档中出现的频率如果一个词在很多的文本中出现那么它的IDF值应该低。而反过来如果一个词在比较少的文本中出现那么它的IDF值应该高。
TF/IDF算法简单来说就是一个词语在某一篇文档中出现次数越多同时在所有文档中出现次数越少那么该文档越能与其它文章区分开来评分就会越高。
字段的长度是多少?字段越短,字段的权重越高。检索词出现在一个内容短的 title 要比同样的词出现在一个内容长的 content 字段权重更大
**BM25模型**
传统的tf计算公式中词频越高tf值就越大没有上限。但BM中的tf随着词频的增长tf值会无限逼近(k+1),相当于是有上限的。这就是二者的区别。一般 k取 1.2Lucene中也使用1.2作为 k 的默认值。