【王树森搜素引擎技术】相关性03:文本匹配(TF-IDF、BM25、词距)
链路上的相关性模型
- 召回海选
- 打分量:数万
- 模型:文本匹配分数+线性模型或双塔BERT模型
- 粗排
- 打分量:数千
- 模型:双塔BERT,或单塔BERT模型(交叉)
- 精排
- 打分量:数百
- 模型:单塔BERT模型(交叉)
文本匹配
- 传统的搜索引擎使用几十种人工设计的文本匹配分数,作为线性模型或树模型的特征,模型预测相关性分数
- 词匹配分数(TF-IDF,BM25),词距分数(OkaTP, BM25TP)
- 其他分数:类目匹配,核心词匹配等
- 目前搜索排序普遍放弃文本匹配,改用BERT模型。仅剩文本召回使用文本匹配模型做海选
词匹配分数
- 中文分词:将查询词,文档切分成多个字符串
- Q中的词在文档 d 出现的次数越多,则 q 与 d 越可能相关
- TF-IDF 和BM25 都是基于上述想法
Term Frequency(TF)
- 不能同等对待所有的 t,有于词的重要性不同不应该被同等对待
- 如何确定词的权重:语义重要性
- 在没有深度学习的情况下确定重要性
Document Frequency(DF)
- 越不常出现的越重要,越有判别性
Inverse Document Frequency(IDF)
- IDF只取决于文档数据集
- 对于人工智能论文数据集,”深度学习“的IDF很小,因为它在相当多的人工智能论文中都出现
- 对于维基百科数据集,”深度学习“的IDF很大
- 那么可以用idf来作为上面tf的权重
Term Frequency——Inverse Document Frequency (TF-IDF)
- 查询词 q 的分词结果记作 Q,它与文档 d 的相关性可以用 TF-IDF 衡量:
- TF-IDF有很多变种,例如:不用在意细节,只需要知道有很多不同的定义就行
Okapi Best Match 25 (BM25)
- BM25可以看作是 TF-IDF的一种变体
词袋模型(bag of words)
- TF-IDF和BM25隐含了词袋模型的假设:只考虑词频,不考虑词的顺序和上下文。对于不同的文本,虽然词频可能一样,但是顺序不一样,意思也就不一样
- 词袋模型忽略词库和上下文,不利于准确计算相关性
- 前深度学习时代有很多词袋模型
- RNN,BERT,GPT都不是词袋模型,它们会考虑上下文
词距分数
- 一个例子,TF-IDF和BM25的缺陷,引入词距,越近越可能相关
- OkaTP
- 基于文本匹配的传统方法效果远不如深度学习
原文地址:https://blog.csdn.net/hxdxiaoming/article/details/145235209
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!