自学内容网 自学内容网

【王树森搜素引擎技术】相关性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)!