【王树森搜素引擎技术】相关性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
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 基于文本匹配的传统方法效果远不如深度学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/67575.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

庄小焱——2024年博文总结与展望

摘要 大家好,我是庄小焱。岁末回首,2024 年是我在个人成长、博客创作以及生活平衡方面收获颇丰的一年。这一年的经历如同璀璨星辰,照亮了我前行的道路,也为未来的发展奠定了坚实基础。 1. 个人成长与突破 在 2024 年&#xff0c…

GraphRAG: Auto Prompt Tuning 实践

GraphRAG 的 Auto Prompt Tuning 功能是一个强大的工具,用于优化知识图谱的生成过程。以下是对该功能的详细介绍和分析: 自动提示调优(Auto Prompt Tuning) 1. 概念 GraphRAG 的自动提示调优功能旨在为特定领域的知识图谱生成创…

MySQL下载安装DataGrip可视化工具

目录 WinMySQL下载安装步骤MySQL配置添加环境变量 Mac下载安装配置环境变量 DataGrip可视化工具以Win为例了。Mac忘记截图了。步骤都一样 Win MySQL下载 官网: https://www.mysql.com/ 直接进下载界面: https://downloads.mysql.com/archives/installe…

用sklearn运行分类模型,选择AUC最高的模型保存模型权重并绘制AUCROC曲线(以逻辑回归、随机森林、梯度提升、MLP为例)

诸神缄默不语-个人CSDN博文目录 文章目录 1. 导入包2. 初始化分类模型3. 训练、测试模型,绘图,保存指标 1. 导入包 from sklearn.linear_model import LogisticRegression from sklearn.ensemble import RandomForestClassifier, GradientBoostingClass…

ASP.NET Core - 配置系统之配置提供程序

ASP.NET Core - 配置系统之配置提供程序 3. 配置提供程序3.1 文件配置提供程序3.1.1 JSON配置提供程序3.1.2 XML配置提供程序3.1.3 INI配置提供程序 3.2 环境变量配置提供程序3.3 命令行配置提供程序3.4 内存配置提供程序3.5 配置加载顺序 3.6 默认配置来源 3. 配置提供程序 前…

ESP32学习笔记_FreeRTOS(6)——Event and Notification

摘要(From AI): 这篇博客详细介绍了 FreeRTOS 中的事件组和任务通知机制,讲解了事件组如何通过位操作实现任务间的同步与通信,以及任务如何通过通知机制进行阻塞解除和数据传递。博客提供了多个代码示例,展示了如何使用事件组和任务通知在多任…

ASP.NET Core WebApi接口IP限流实践技术指南

在当今的Web开发中,接口的安全性和稳定性至关重要。面对恶意请求或频繁访问,我们需要采取有效的措施来保护我们的WebApi接口。IP限流是一种常见的技术手段,通过对来自同一IP地址的请求进行频率控制,可以有效地防止恶意攻击和过度消…

网络安全 | 什么是正向代理和反向代理?

关注:CodingTechWork 引言 在现代网络架构中,代理服务器扮演着重要的角色。它们在客户端和服务器之间充当中介,帮助管理、保护和优化数据流。根据代理的工作方向和用途,代理服务器可分为正向代理和反向代理。本文将深入探讨这两种…

回归预测 | MATLAB实TCN时间卷积神经网络多输入单输出回归预测

效果一览 基本介绍 回归预测 | MATLAB实TCN时间卷积神经网络多输入单输出回归预测 …………训练集误差指标………… 1.均方差(MSE):166116.6814 2.根均方差(RMSE):407.5741 3.平均绝对误差(MAE):302.5888 4.平均相对…

yt-dlp脚本下载音频可选设置代理

import yt_dlp# 配置:是否使用代理 use_proxy = True # 设置为 False 可关闭代理# 代理地址 proxy_url = socks5://127.0.0.1:1089URLS = [https://www.bilibili.com/video/BV1WTktYcEcQ/?spm_id_from=333.1007.tianma.6-2-20.click&vd_source=dcb58f8fe1faf749f438620b…

Mixly米思齐1.0 2.0 3.0 软件windows版本MAC苹果电脑系统安装使用常见问题与解决

Mixly软件应用常见问题 Mixly米思齐编译或上传报错? 1、软件安装与驱动(Mixly1-2) 1-1 Windows版本 软件及驱动可以在Mixly群(QQ群号621937623)的群文件夹中找到,或到Mixly在线软件下载链接中重新下安装…

如何搭建智慧电网智能客服Agent

豆包的Agent 角色 Manager:根据收集到的相关代码片段对问题进行定性和分流,将问题场景分为动态调试修复和静态修复两类。 Reproducer:在动态调试修复场景下,根据相关代码和问题描述编写复现脚本,并在沙箱中对脚本进行动态调试以确认复现成功。 Programmer:根据问题描述和…

JavaScript 日期对象、DOM节点操作

日期对象 日期对象:使用new关键字实例化出来的对象 const date new Date() //这样就获取到了一个日期对象 直接打印对象: console.log(date) 打印到控制台如截图所示 时间对象内的方法们: 1.获取对象 对象.getFullYear() -- 获取当前…

Flutter 和 Compose Multiplatform对比

1. 介绍 Flutter 定义:Flutter 是由 Google 开发的一个开源 UI 软件开发工具包,用于构建跨平台的移动、Web 和桌面应用。Flutter 使用 Dart 语言编写,旨在提供高性能、美观且一致的用户界面。特点: 高性能:Flutter 使…

蓝桥杯小白备考指南

一、了解蓝桥杯 蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事 ,旨在促进软件和信息领域专业技术人才培养,提升高校毕业生的就业竞争力。比赛涵盖多个编程语言组别,如 Java、C/C、Python 等。不同组别和参赛类别&…

Python制作简易PDF查看工具PDFViewerV1.0

PDFViewer PDF浏览工具,Python自制PDF查看工具,可实现基本翻页浏览功能,其它功能在进一步开发完善当中,如果有想一起开发的朋友,可以留言。本软件完全免费,自由使用。 软件界面简洁,有菜单栏、…

开源AI智能名片2+1链动模式S2B2C商城小程序源码在活动运营中的应用与优化

摘要:在数字化时代,开源AI智能名片21链动模式S2B2C商城小程序源码作为一种创新的商业应用模式,为企业提供了强大的运营工具。本文旨在探讨该源码在活动运营中的应用与优化策略,包括活动类型与时间节点的梳理、活动模块化设计、后台…

Centos7系统下安装和卸载TDengine Database

记录一下Centos7系统下安装和卸载TDengine Database 安装TDengine Database 先看版本信息 [root192 ~]# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core) [root192 ~]# uname -r 3.10.0-1160.119.1.el7.x86_64 [root192 ~]# uname -a Linux 192.168.1.6 3.10…

云计算与物联网技术的融合应用(在工业、农业、家居、医疗、环境、城市等整理较全)

摘要 为生产领域带来更加全面和深入的变革。通过云计算平台对物联网数据进行处理和分析,企业可以实现对生产过程的更加精细化的管理和控制。 1. 智能生产调度 通过云计算和物联网技术的融合应用,企业可以实现对生产线上各个环节的实时监控和数据分析。…

深入理解Spring Boot:启动方式、注解、配置文件与模板引擎

引言 Spring Boot 是一个用于简化 Spring 应用初始搭建以及开发过程的框架。它通过约定大于配置的方式,大大减少了开发者需要编写的配置代码。本文将详细介绍 Spring Boot 的启动方式、核心注解的用法及含义、配置文件的书写格式以及模板引擎的使用方法。 Spring B…