【NLP-语义匹配】详解深度语义匹配模型DSSM

NLP之文本匹配及语义匹配应用介绍 文章目录1、什么是文本匹配?2、文本匹配方法概述2-1 传统文本匹配方法2-2 主题模型2-3 深度语义匹配模型表示型交互型3、语义匹配应用介绍3-1 短文本-短文本语义匹配3-2 短文本-长文本语义匹配案例1-用户查询-广告页面相似度案例2:文档关键词抽取3-3 长文本-长文本语义匹配案例3:新闻个性化推荐 1、什么是文本匹配? 文本匹配是自然语言处理中一个重要的基础问题,可以应用于大量的NLP... 阅读详情

所谓语义匹配,就是在语义上衡量文本的相似度,在产业界有很多的应用需求。例如,在FAQ场景中需要计算用户输入与标问之间的相似度来寻找合适的答案。本文介绍一种经典的语义匹配技术,DSSM,主要用于语料的召回和粗排。

作者&编辑 | 小Dream哥

1 DSSM的提出 

较早期的语义匹配模型都是基于关键词的匹配,例如LSA等,无法匹配语义层面的信息。基于此,DSSM(Deep Structured Semantic Models)提出深度语义匹配模型,期望能够在语义层面匹配query之间的相似性。

顾名思义,DSSM是一种用于语义相似度计算的深度网络,我们来看看它的庐山真面目到底是怎么样的。

2  整体看结构

我们先来整体来看一下DSSM的网络结构,以整体上对它有一个把握和感觉。如下图所示,是DSSM的网络架构图:

论文原文:https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/cikm2013_DSSM_fullversion.pdf

整体上来看,DSSM网络总共有6层:

1.第一层是输入层,DSSM用的词袋模型,后面再详细介绍;

2.第二层经过word hashing,将维度由500K降为30K;

3.第三,四,五层是3个全连接层,通过这三个全连接层,进行语义特征的提取,并降维度降低到128维;

4.第六层为输出层,计算Q和D之间的余弦相似度之后,输出他们之间的相似度。

3 输入层及word hashing  

DSSM的输入层结合了词哈希(word hashing)和语义匹配,我们在讲词向量的时候详细介绍了词袋模型,忘记的同学可以点击如下链接先了解:

【NLP-词向量】词向量的由来及本质

总的来说词袋模型就是把文本看成是一个装着词的袋子,记录一个文本中,有这个词几个,那个词几个。前提到过,当词典非常大时,用词袋模型会造成维度灾难。所以DSSM还引入了word hashing。

Word hashing主要目的是为了减少维度,在英文里,采用letter-ngams来对单词进行切分,如下图所示,加入采用letter-trigams来对词进行切分,则boy这个词可以切分为(#bo,boy,oy#)三个。按这个方法,再将上述词袋里的进行转化。因为英文只有26个字母,这样可以极大的减少维度,如论文中所示将维度从500K转化为30K。

也许反应快的同学很快就会问,英文可以这样做,但是好像中文没有办法这样处理呀?总不能按照偏旁来拆吧?当然不会按照偏旁来拆了,加入汉字部首偏旁特征的研究目前还不很成功。

那么中文怎么处理呢?其实很简单,在单纯的DSSM模型中,中文是按照“字袋模型”来处理的,参考词袋模型,也就是将文本转化成,有几个某某字,有几个某某字。因为中文字个数是有限的,常用的字大概有15K左右,因此这种做法不会有维度过大的问题。

4  特征提取层和相似度计算

熟悉深度学习的朋友,应该很容易看明白DSSM的特征抽取层,其实就是3个全连接层串行的连接起来。看看数学:

可以看出,在DSSM中采用tanh作为激活函数。

通过计算各个Q及D的特征表征,得到了一些128维的特征向量。随后在DSSM中,通过计算Q和D之间的余弦距离来评价他们之间相似度,计算公式如下图所示:

5  DSSM的训练

那么DSSM训练的过程是怎么样的呢?细心的同学会发现,DSSM网络结构图中,DSSM的输入是一个Querry和一个文本集D,D中包含正样本和负样本。

其中 r 为 softmax 的平滑因子,D 为 Query 下的正样本,D 为 Query 下的整个样本空间。

上述公式,计算一个样本空间内正样本的平滑概率,R(Q,D)为两个文本之间余弦距离。

在训练阶段,通过极大似然估计,最小化损失函数为:

总结

DSSM的优点在于能够快速的计算多个query和Doc对之间的语义相似度;相对于词向量的方式,它采用有监督的方法,准确度要高很多。

但是DSSM也有它的缺点,首先,它采用词袋模型,没有考虑词的位置关系,这对语义理解是一个大的损失;此外,采用弱监督、端到端的模型,预测结果不可控。

基于DSSM的上述特点,它最适合应用的场景就是召回和粗排。例如在FAQ中,因为标问会非常多,将标问和用户输入一一匹配时几乎不可能的事情。通常的做法就是,首先基于ES和DSSM做一遍召回和粗排,得到一定数目的标问后再用精排模型得到答案。

除了使用它,更关键的是albert模型的实现和理论。我们会在知识星球讨论相关的内容,感兴趣的话可以扫描下面的二维码了解。

读者们可以留言,或者加入我们的NLP群进行讨论。感兴趣的同学可以微信搜索jen104,备注"加入有三AI NLP群"。

下期预告:暂无

知识星球推荐

扫描上面的二维码,就可以加入我们的星球,助你成长为一名合格的自然语言处理算法工程师。

知识星球主要有以下内容:

(1) 聊天机器人。包括对话系统,FAQ以及闲聊型机器人。

(2) 知识图谱。介绍知识图谱的理论和世纪搭建。

(3) NLP预训练模型,包括BERT,ALBERT等模型的理论及实践。

转载文章请后台联系

侵权必究

往期精选

百度语义匹配模型-simnet代码整理 关于simnet提出背景以及可以应用的地方,机器之心这篇文章里已经说得非常详细了。https://www.jiqizhixin.com/articles/2017-06-15-5 本文主要是记录一下自己使用simnet做语义匹配任务的流程,并对代码各个模块的功能进行整理和解释。 一、模型结构 ... 阅读详情

相关推荐

知识图谱-KGE-模型(二):语义匹配模型【RESCAL、DistMult、HoLE、ComplEx、ANALOGY、SNE、NTN、MLP、NAM】

包括RESCAL、DistMult、HoLE、ComplEx、ANALOGY、SNE、NTN、MLP、NAM模型等;

u013250861的博客 2377

语义相似匹配模型

论文地址:https://arxiv.org/pdf/1908.10084.pdf git 地址:https://github.com/UKPLab/sentence-transformers

weixin_36378508的博客 3014

基于深度学习的文本语义匹配综述

文本的语义匹配任务旨在计算文本在语义上的相似度,进而衡量两段不同文本的匹配程度。作为自然语言处理中的重要基础,文本匹配可用于众多具体任务,如文本蕴含、信息检索、对话系统、机器翻译等。深度学习的应用使文本语义匹配模型能更充分地挖掘文本语义信息,在匹配任务中取得更好效果。基于此,从不同的语义组合结构对多种深度语义匹配模型进行了综述,并介绍了近年来广受关注的预训练语言模型在语义匹配任务上的应用。鉴于文本匹配任务和原始文本的多样性,还简要介绍了长文本的匹配任务和中文的语义匹配发展现状,概述有代表性的模型。

罗伯特技术屋 581

NLP 语义匹配:业务场景、数据集及比赛

作者|周俊贤整理|NewBeeNLP大家好,这篇文章想跟大家讨论一下语义匹配的应用场景。实际上无论是NLP的哪个技术,我认为接触场景,思考这个技术跟具体场景是怎么结合的?...

Kaiyuan_sjtu的博客 3926

LTE/NR中的相应cause场景【原创】

目录1.背景2.LTE EMM cause2.0 写在最前2.1 特殊处理的cause第一梯队第二梯队2.2 非特殊处理的cause3.NR cause 实网分析终端被拒等问题,经常遇到各类cause,其会对应不同的终端限制行为。查找已有资料后理解没有很深,自行总结本文用于梳理现象,如有错误敬请指正,转载请注明出处。 本文用于记录协议Ts 24.301及Ts 24.501中的cause及其对应行为。 已总结的cause值: 24.301中的cause分

2301_79567300的博客 3500

RandLA-Net复现SemanticKITTI和S3DIS数据集

RandLA-Net复现KITTI和室内数据集

weixin_48845174的博客 4122

「NLP-语义匹配」详解深度语义匹配模型DSSM

2019-12-29 11:05:55 所谓语义匹配,就是在语义上衡量文本的相似度,在产业界有很多的应用需求。例如,在FAQ场景中需要计算用户输入与标问之间的相似度来寻找合适的答案。本文介绍一种经典的语义匹配技术,DSSM,主要用于语料的召回和粗排。 作者 | 小Dream哥 编辑 | 言有三 1 DSSM的提出 较早期的语义匹配模型都是基于关键词的匹配,例如LSA等,无法匹配语义层面的...

喜欢打酱油的老鸟 2816

修改注册表导致开机时电脑显示“无法登陆到你的账户”的问题解决方案

1.问题描述:开机电脑显示“无法登陆到你的账户:通常可以通过从你的账户注销,然后重新登陆来解决问题,如果不立即注销,你创建的任何文件或进行的任何更改都将会丢失。” 2.问题原因:想要修改cmd中的用户名(红色部分),修改了注册表,重启时出现问题。 3.问题解决: win+R输入cmd,确定进入注册表界面,将下面的地址复制进地址栏(你也可以自己按目录查找),双击ProfileImage...

qq_33835957的博客 7万+

【每周NLP论文推荐】 介绍语义匹配中的经典文章

欢迎来到《每周NLP论文推荐》。在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的。语义匹配也是NLP中比较基...

hacker_long的专栏 1225

利用Python暴力破解邻居家WiFi密码

如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀!

weixin_45841831的博客 6万+

第六章 汇川技术InoProShop入门之modbusTCP从站协议解读

摘要:ModbusTCP从站协议是Modbus协议在TCP/IP网络上的扩展,作为服务器端被动响应主站请求。它采用MBAP+PDU帧结构,通过IP地址和502端口实现网络通信,支持标准功能码(如读/写寄存器、线圈)。相比传统串行Modbus,具有高速传输、远距离通信优势。从站需解析请求、执行操作并返回响应,同时处理错误校验和并发连接。该协议广泛应用于智能传感器、PLC等工业设备,实现高效可靠的主从数据交互。

zyfucking2010的博客 1439

DSSM模型资料

@创建于:2022.03.29 @修改于:2022.03.29 文章目录1、DSSM介绍2、DSSM 变体3、代码实现4、文本相似度 1、DSSM介绍 语义相似度匹配(一)—— DSSM模型 DSSM, 深度语义匹配模型 2、DSSM 变体 NLP | DSSM双塔模型类综述 深度语义模型以及在淘宝搜索中的应用 LSF-SCNN:一种基于 CNN 的短文本表达模型及相似度计算的全新优化模型 3、代码实现 4、文本相似度 文本相似 ...

chenhepg的博客 451

【箱子之字形摆放】python实现-附ChatGPT解析

箱子之形摆放有一批箱子(形式为宁符串,设为str) ,要求将这批箱子按以之形的顺序摆放在宽度为n的空地,请输出箱子的摆放结果。例如:箱子为ABCDEFG,空地宽度为3,摆放结果如图:则输出结果为:AFGBECD输入一行字符串,通过空格分制,前面部分为字母或数字组成的字符串str,表示;后面部分为一个数字n,表示。ABCDEFG 3箱子摆放结果,如题目示例所示AFGBECD。

sinat_29950703的博客 371

c++两个文档匹配数据_深度学习在自然语言匹配处理中的应用探讨

近年来,深度学习在计算机视觉、语音识别叫等领域取得了突破性的进展,其成功主要得益于其强大的特征表示(知识表示)学习能力。自然语言处理正成为深度学习研究的下一个应用热点,其任务的复杂性和挑战性可能是前所未有的。“深度学习是否可以大幅度提升自然语言处理的精度?是否可以在自然语言处理方面取得同样的成功?”成为大家普遍关心的问题,有许多学者正在全力从事相关研究。目前自然语言处理面临的挑战主要源于语言的如下...

weixin_39785524的博客 150

【AutoSAR】【诊断栈】传输层CANTP

一、功能介绍 数据包发送放拆包分段发送 数据包接收方重组 流控 错误检测 二、参考协议 ISO 15765-2 三、数据帧格式 1、协议数据单元(PDU)格式 2、协议数据单元 - PCI格式 四、数据帧传输 1、单帧传输 CAN帧数据长度小于8字节(包括PCI信息) 无流控握手 PCI包含帧类型、数据长度和数据域 未使用字节填充 2、多帧传输 数据长度超过8字节 流控握手 定时控制 CAN帧类型包括: 首帧 流控帧 后继帧 3、多..

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 1554

数字电路逻辑与设计实验三 译码器和数据选择器

1. 译码器功能测试 将 74LS139 按图 3.1 接线,按表 3.2 输入电平分别置位,填输出状态表。 2. 译码器转换 将双 2-4 线译码器转换为 3-8 线译码器。 (1)画出转换电路图。 (2)在实验箱上接线并验证设计是否正确。 (3)设计并填表写该 3-8 线译码器功能表,画出输入、输出波形。 3. 数据选择器的测试及应用 (1) 将双 4 选 1 数据选择器 74LS153 参照图 3.2 接线,测试其功能并填写功能表 3.3。 (2)将实验箱脉冲信号源中固定连续脉冲 4 个不

欢迎交流学习心得 3087

DSSM(以及CNN-DSSM,LSTM-DSSM)

DSSM(Deep Structured Semantic Models) CNN-DSSM LSTM-DSSM

jokerxsy的博客 3461

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

深度学习解决NLP问题:语义相似度计算——DSSM

在NLP领域,语义相似度的计算一直是个难题:搜索场景下query和Doc的语义相似度、feeds场景下Doc和Doc的语义相似度、机器翻译场景下A句子和B句子的语义相似度等等。本文通过介绍DSSM、CNN-DSSM、LSTM-DSSM等深度学习模型在计算语义相似度上的应用,希望给读者带来帮助。

TonyZhou的博客 2万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

DSSM、CNN-DSSM、LSTM-DSSM等深度学习模型在计算语义相似度上的应用+距离运算

在NLP领域,语义相似度的计算一直是个难题:搜索场景下query和Doc的语义相似度、feeds场景下Doc和Doc的语义相似度、机器翻译场景下A句子和B句子的语义相似度等等。本文通过介绍DSSM、CNN-DSSM、LSTM-DSSM等深度学习模型在计算语义相似度上的应用,希望给读者带来帮助。 1. 背景 以搜索引擎和搜索广告为例,最重要的也最难解决的问题是语义相似度,这里主要体现在两个方面:召回和排序。 在召回时,传统的文本相似性如 BM25,无法有效发现语义类 query-Doc 结果对,如"...

古月哲亭 7172

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

DSSM:深度语义匹配模型(及其变体CLSM、LSTM-DSSM)

导语 在NLP领域,语义相似度的计算一直是个难题:搜索场景下Query和Doc的语义相似度、feeds场景下Doc和Doc的语义相似度、机器翻译场景下A句子和B句子的语义相似度等等。本文通过介绍DSSM、CNN-DSSM、LSTM-DSSM等深度学习模型在计算语义相似度上的应用,希望给读者带来帮助。 1. 背景 以搜索引擎和搜索广告为例,最重要的也最难解决的问题是语义相似度,这里主要体现...

郭耀华's Blog | 人工智能领域技术博客 495

DSSM:Deep Structured Semantic Models

Deep Structured Semantic Models https://daiwk.github.io/posts/nlp-dssm.html

apache的专栏 209

详解深度语义匹配模型DSSM

所谓语义匹配,就是在语义上衡量文本的相似度,在产业界有很多的应用需求。例如,在FAQ场景中需要计算用户输入与标问之间的相似度来寻找合适的答案。本文介绍一种经典的语义匹配技术,DSSM,主...

abcdefg90876的博客 3931

词语之间的语义相似度怎么算_【深度语义匹配模型 】原理篇一:表示型

深度语义匹配模型系列文章会向大家介绍几种经典的表示型和交互型模型原理及其优缺点,同时后续的实践篇将会介绍匹配模型在智能客服中的实践应用。一、背景工业界的很多应用都有在语义上衡量本文相似度的需求,直接目标就是判断两句话是否表达了相同或相似意思,我们将这类需求统称为“语义匹配”,nlp中的许多任务都可以抽象为语义匹配任务。语义匹配的相关应用场景主要有搜索引擎、问答系统、推荐系统、文本去重等,...

weixin_39613744的博客 1995

【深度学习】DSSM双塔模型结构解析

推荐系统中不得不说的 DSSM 双塔模型 - 知乎 (zhihu.com) 深度语义匹配模型DSSM及其变体CNN-DSSM, LSTM-DSSM - 知乎 (zhihu.com) (19条消息) 图解Transformer+DSSM_transformer dssm是啥_a flying bird的博客-优快云博客

Next_SummerAgain的博客 441

详解深度语义匹配模型DSSM和他的兄弟姐妹

一只小狐狸带你解锁NLP/ML/DL秘籍正文作者:郭耀华正文来源:https://www.cnblogs.com/guoyaohua/p/9229190.html前言在NLP领域,语义相...

夕小瑶科技说 960

语义相似度算法总结1

转载请注明出处: http://blog.youkuaiyun.com/u013074302/article/details/76422551 DSSM, Match-LSRM, MatchSRNN 导语 在NLP领域,语义相似度的计算一直是个难题:搜索场景下query和Doc的语义相似度、feeds场景下Doc和Doc的语义相似度、机器翻译场景下A句子和B句子的语义相似度等等。本文通过介绍DSSM、C...

zhangbaoanhadoop的博客 1万+
上一篇: 【年终总结】有三AI至今在人脸图像算法领域都分享了哪些内容?
下一篇: 【文本信息抽取与结构化】目前NLP领域最有应用价值的子任务之一
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值