文本匹配实战系列

news2025/1/21 15:32:52

引言

本系列文章开始介绍深度学习在文本匹配领域的应用,并且会尝试得到各种模型在给定的数据集上的表现。

深度文本匹配发展比较久,积累了很多文本匹配方法。也有很多的分类方式,一种分类方式是表示型和交互型。

表示型方法

表示型(representation-based method)方法,也称为双塔型方法,主要思路是计算一段文本的表示向量。对于要匹配的两段文本,分别计算出两个表示向量,然后通过匹配度函数计算两端文本的匹配程度。匹配度函数可以是固定参数的相似度度量函数或可学习的匹配度打分模型。

image-20230830222927766

比如对同一个编码器,分别计算文本a和文本b的表示向量,可以把它们合并起来再喂给一个分类器进行打分。

代表方法:

  • DSSM
  • SiamCNN
  • SiamLSTM
  • SkipThought
  • FastSent
  • SDAE
  • Joint-many
  • InferSent
  • SSE
  • GenSen
  • Quick-Thought
  • USE
  • MT-DAN(USE)
  • Cross-thought
  • Sentence-BERT
  • R-Drop
  • BERT-flow
  • Bert-whitenting
  • SimBERT
  • SimBERT v2
  • SimCSE

交互型方法

而交互型(interaction-based)方法主要思路是计算两段文本之间的交互,做法是首先计算两段文本单词级的词向量,然后对两段文本的单词表示进行交互,构建两段文本之间的匹配模式,可以捕获到更细致、更局部的文本交互信息。最后使用DNN来提取更高层的匹配模式,计算匹配得分。

强调的是待匹配的两段文本之间的充分交互,以及交互后的匹配。

image-20230830223356888

代表方法:

  • DecAtt
  • PWIM
  • MatchPyramid
  • ESIM
  • BERT
  • HCAN
  • RE2

那么这两种方式有什么区别呢?什么情况下用哪种方式呢?

  • 表示型方法侧重于表示层的构建和相似度的计算,可以预先李离线计算好文本表示,推断效率高,适合于对实时性要求高的场景,比如检索式聊天机器人。
  • 交互型方法建模更细致、充分,一般效果也更好。一般以Attention为代表的方式对文本进行不同粒度的交互,然后融合不同粒度交互的结果作为一个特征向量,进而得到最终的匹配结果。但是这种交互方式计算成本(时间)较高,适合于对于匹配精度要求高但非实时的场景。

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

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

相关文章

上海亚商投顾:沪指缩量震荡 数据要素概念午后爆发

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 沪指今日延续反弹,深成指、创业板指盘中涨超1%,随后上演冲高回落走势。数据要素概念午后爆…

universal robot 机械臂 官方基本教程

https://academy.universal-robots.cn/modules/e-Series-core-track/Chinese/module3/story_html5.html?courseId2166&languageChinese 教程1 控制箱内部 包含: 主机板,SD卡,和安全控制板 安全控制板负责所有控制信息,包括…

Android需要掌握的shell脚本基础

linux中sh是链接到bash上的,所以sh与bash在功能上是没有区别的,相当于bash解析器是sh的增强版本,所以安卓开发者可以在 git bash中 测试脚本 1,shell脚本运行与输出指令 $ cat test.sh echo 测试 【输出】$ /bin/bash test.…

Spring框架知识点汇总

01.Spring框架的基本理解 关键字:核心思想IOC/AOP,作用(解耦,简化),简单描述框架组成; Spring框架是一款轻量级的开发框架,核心思想是IOC(反转控制)和AOP&a…

【操作系统】聊聊局部性原理是如何提升性能的

对于目前数据主导的系统,大多数都是Java/Go 技术栈MySQL,但是随着时间的推移,数据库数据的数据量过多,并且会频繁访问热点数据,为了提升系统的性能,一般都是加入缓存中间件、Redis。 局部性原理 我们知道…

Pytorch学习:神经网络模块torch.nn.Module和torch.nn.Sequential

文章目录 1. torch.nn.Module1.1 add_module(name,module)1.2 apply(fn)1.3 cpu()1.4 cuda(deviceNone)1.5 train()1.6 eval()1.7 state_dict() 2. torch.nn.Sequential2.1 append 3. torch.nn.functional.conv2d 1. torch.nn.Module 官方文档…

python的可哈希对象

一、介绍 在Python中,可哈希(hashable)是指一种对象类型,该类型的对象可以用作字典的键(keys)或集合(sets)的元素。可哈希的对象具有以下特点: 不可变性(Imm…

【Interaction交互模块】LinearTransformDrive线性变换驱动

文章目录 一、预设位置二、案例:建一个按下后可自动抬起的按钮三、留有疑问 一、预设位置 交互——可控制物体——变换——线性变换驱动 二、案例:建一个按下后可自动抬起的按钮 按钮的结构和设置如下图 为了让它碰触时,往下走——预设体…

【Go 基础篇】Go语言结构体基本使用

在Go语言中,结构体是一种重要的数据类型,用于定义和组织一组不同类型的数据字段。结构体允许开发者创建自定义的复合数据类型,类似于其他编程语言中的类。本文将深入探讨Go语言中结构体的定义、初始化、嵌套、方法以及与其他语言的对比&#…

Java八股文学习笔记day01

01.和equals区别 对于字符串变量来说,使用""和"equals"比较字符串时,其比较方法不同。""比较两个变量本身的值,即两个对象在内存中的首地址,"equals"比较字符串包含内容是否相同。 对于非…

VR司法法治教育平台,沉浸式课堂教学培养刑侦思维和能力

VR司法法治教育平台提供了多种沉浸式体验,通过虚拟现实(Virtual Reality,简称VR)技术让用户深度参与和体验法治知识。以下是一些常见的沉浸式体验: 1.罪案重现 VR司法法治教育平台可以通过重现真实案例的方式,让用户亲眼目睹罪案发…

基于天鹰算法优化的BP神经网络(预测应用) - 附代码

基于天鹰算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于天鹰算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.天鹰优化BP神经网络2.1 BP神经网络参数设置2.2 天鹰算法应用 4.测试结果:5.Matlab代码 摘要…

Python 的画图函数 seaborn 简介

seaborn 简介 seanborn 是 Python 的另外一个常用工具包,它基于 matplotlib,但画出的图形更加美观些,并且与 Pandas 的数据类型结合地较好。 # Import seaborn import seaborn as sns import matplotlib.pyplot as plt# Apply the default …

选择一款可靠的仓库管理软件

在选择仓库管理软件时,数据的准确性、数据的安全性和软件的稳定性这三点是至关重要的。下面我们将详细讨论这些关键点。 第一,数据的准确性对于一个仓库管理软件来说是非常重要的。如果数据的准确性无法得到保证,那么这样的仓库入库出库管理…

华为OD七日集训第1期复盘 - 按算法分类,由易到难,循序渐进,玩转OD(文末送书)

目录 一、活动内容如下第1天、逻辑分析第2天、字符串处理第3天、数据结构第4天、双指针第5天、递归回溯第6天、二分查找第7天、贪心算法 && 二叉树 二、可观测性工程1、简介2、主要内容 大家好,我是哪吒。 最近一直在刷华为OD机试的算法题,坚持…

RT-Thread内核机制 线程栈

int flag;void cmp_val(int a,int b) {volatile int tmp[10];tmp[0] a;if(tmp[0] > b){flag 1;}else{flag 0;} }int main() {int a 1;int b ;cmp_val(a,b);return 0; }我们写好的程序会保存在Flash上。 其它类似汇编指令 SUB R0,R0,#4 R0 R0-4 B LR 放入LR寄存器 局…

Swift使用PythonKit调用Python

打开Xcode项目。然后选择“File→Add Packages”,然后输入软件包依赖链接: ​https://github.com/pvieito/PythonKit.git https://github.com/kewlbear/Python-iOS.git Python-iOS包允许在iOS应用程序中使用python模块。 用法: import Pyth…

超大屏画质奇迹 !TCL 115吋 QD-Mini LED 电视成豪宅顶配

有目共睹的是,现如今的电视屏幕越做越大。 尤其近年来,大屏电视的趋势愈发明显,原因无他,大屏电视所带来的震撼视觉体验,是其他电视所无法比拟的,这也正是电视品牌们不断突破新局限,往“大”了…

Python 画多个子图函数 subplot

子图函数 subplot 若要 pyplot 一次生成多个图形,一般要用到subplot函数,另外还有一个subplots函数。两个函数比较接近但略有区别,限于篇幅,我们只介绍 subplot函数,它的基本语法如下: ax plt.subplot(n…

【C语言基础】变量类型,Static关键字的使用

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…