公众号:数据挖掘与机器学习笔记

1.文本匹配概要

文本匹配在信息检索、自动问答、机器翻译、对话系统、复述问题等自然语言处理任务上应用广泛。.这些自然语言处理的任务都可以在一定程度上抽象成文本匹配问题,比如信息检索可以归结为查询项和文档的匹配,自动回答可以归结为问题和候选答案的匹配,机器翻译可以归结为两种语言间的匹配,对话系统可以归结为前一句对话和回复的匹配,复述问题则可以归结为两个同义词句的匹配。文本匹配面临的挑战主要来源于以下几个方面:

  • 词语匹配的多元性

    不同的词语可以表示同一个语义,比如同义词;相同的词在不同的语境下会有不同的语义。

  • 短语匹配的结构性

    多个词语可以按照一定的结构组合成短语,匹配两个短语需要考虑短语的结构信息.比如“机器学习”和“学习机器”只有词语是匹配的,而顺序是打乱的。

  • 文本匹配的层次性

    文本是以层次化的方式组织起来的,词语组成短语,短语组成句子,句子组成段落,段落组成篇章.这样一种特性使得我们在做文本匹配的时候需要考虑不同层次的匹配信息,按照层次的方式组织我们的文本匹配信息。

传统的文本匹配模型需要基于大量的人工定义和抽取的特征,而且可学习的参数相对较少,所以这些特征总是根据特定的任务(信息检索,或者自动问答)人工设计的,很大程度上限制了模型的泛化能力。传统模型在一个任务上表现很好的特征很难用到其他文本匹配任务上.而利用深度学习方法,可以自动从原始数据中抽取特征,免去了大量人工设计特征的开销.首先特征的抽取过程是模型的一部分,根据训练数据的不同,可以方便适配到各种文本匹配的任务当中.以此同时,深度文本匹配模型结合上词向量(word2vec)的技术,更好地解决了词语匹配的多元性问题.最后得益于神经网络的层次化设计原理,深度文本匹配模型也能较好地符合短语匹配的结构性和文本匹配的层次性的特性。

深度文本匹配模型划分成3大类:基于单语义文档表达的深度学习模型、基于多语义文
档表达的深度学习模型和直接建模匹配模式的深度学习模型.

  • 基于单语义文档表达的深度学习模型主要思路是,首先将单个文本先表达成一个稠密向量(分布式表达),然后直接计算两个向量间的相似度作为文本间的匹配度;

  • 基于多语义的文档表达的深度学习模型认为单一粒度的向量来表示一段文本不够精细,需要多语义的建立表达,也就是分别提取词、短语、句子等不同级别的表达向量,再计算不同粒度向量间的相似度作为文本间的匹配度;

  • 而直接建模匹配模式的深度学习模型则认为匹配问题需要更精细的建模匹配的模式,也就是需要更早地让两段文本进行交互,然后挖掘文本交互后的模式特征,综合得到文本间的匹配度.表1展示了深度文本匹配模型的分类。

2. 文本匹配问题简介

2.1 问题描述

给定标注训练数据集 S t r a i n = { ( s 1 ( i ) , s 2 ( i ) , r ( i ) ) } i = 1 N S_{train}=\{(s_1^{(i)},s_2^{(i)},r^{(i)})\}_{i=1}^N Strain​={(s1(i)​,s2(i)​,r(i))}i=1N​,其中, s 1 ( i ) ∈ S 1 , s 2 ( i ) ∈ S 2 s_1^{(i)}\in S_1,s_2^{(i)} \in S_2 s1(i)​∈S1​,s2(i)​∈S2​为两段文本, r ( i ) ∈ R r^{(i)} \in R r(i)∈R表示两段文本的匹配程度。文本匹配的目标是在训练数据上,自动学习匹配模型 f : S 1 × S 2 → R f:S_1 \times S_2 \rightarrow R f:S1​×S2​→R,使得对于测试数据 S t e s t S_{test} Stest​上的任意输入 s 1 ∈ S 1 , s 2 ∈ S 2 s_1 \in S_1,s_2 \in S_2 s1​∈S1​,s2​∈S2​,能够预测出 s 1 s_1 s1​和 s 2 s_2 s2​的匹配度 r r r,然后通过匹配度排序得到结果。

对于一个实际任务,我们通常会抽象成一个排序问题.给定一段文本 s 1 s_1 s1​,和另一段文本的一个列表 s 2 ( i ) s_2 ^{(i)} s2(i)​,目标是在这个列表中筛选出与给定文本狊 s 1 s_1 s1​匹配的文本.文本匹配模型会计算所有的文本对( s 1 s_1 s1​, s 2 ( i ) s_2 ^{(i)} s2(i)​)的匹配度 r ( i ) r^{(i)} r(i),{ r ( i ) r^{(i)} r(i)}列表排序越靠前的文本和 s 1 s_1 s1​的匹配度越高。

2.2 评价指标

排序结果的评价指标可以参考这篇文章

2.3 传统文本匹配学习模型

作者 模型 模型简介
Berger和Lafferty 统计机器翻译模型 使用统计机器翻译模型计算网页词和查询词间的“翻译”概率,从而实现了同义或者近义词之间的匹配映射
Gao等 统计机器翻译模型 在词组一级训练统计机器翻译模型并利用用户点击数据进行模型训练
Hardoon等 典型相关分析和篇最小二乘等隐空间模型 试图为两种对象建立一个公共的隐空间,任意给定的查询和文档都可以被映射到此隐空间中,且在隐空间中查询和文档有一致的表达方式和特征维度,从而可以方便地计算两者的相似度或者距离,进而对其是否具有相同的“语义”做出判断
Wu等 正则化隐空间映射 把查询项和网页映射到同一隐空间中,并在模型训练中引入了正则化因子以避免奇异解
Bai等 有监督学习索引模型
Gao等 双语话题模型 扩展了话题模型

上述模型还存在许多问题:

  • 人工提取特征的代价很大.
  • 基于主题模型的隐空间模型还比较粗糙,不能精确建模文本匹配中的语义相近程度
  • 传统模型很难发掘一些隐含在大量数据中,含义不明显的特征,而往往有些特殊情况需要这样的特征才能提高性能

3.基于深度学习的文本匹配模型

优势:

  • 深度学习模型可以将单词表示为语义空间中的向量,利用向量之间的距离运算更准确地描述两个单词之间的语义关系
  • 深度学习模型自身的结构是层次化和序列化的,能够比较自然地描述自然语言中的层次结构、序列结构和组合操作
  • 更好地地利用大规模数据和高性能计算,端到端学习

3.1 深度文本匹配形式化

定义 s 1 = { x i } i = 1 n , s 2 = { y i } i = 1 m s_1=\{x_i\}_{i=1}^n,s_2=\{y_i\}_{i=1}^m s1​={xi​}i=1n​,s2​={yi​}i=1m​表示文本样本 s 1 和 s 2 s_1和s_2 s1​和s2​中的单词序列,其中 n n n和 m m m表示句子长度, x i x_i xi​和 y i y_i yi​表示句子中的单词。

  • 单词表达

    函数 w i = ϕ ( x i ) , v i = ϕ ( y i ) w_i=\phi(x_i),v_i=\phi(y_i) wi​=ϕ(xi​),vi​=ϕ(yi​)表示单词 x i x_i xi​和 y i y_i yi​到词向量 w i , v i w_i,v_i wi​,vi​的一个映射。整个句子映射后得到矩阵 w w w和 v v v

  • 短语、句子表达

    利用函数 p = Φ ( w ) , q = Φ ( v ) p=\Phi(w),q=\Phi(v) p=Φ(w),q=Φ(v),得到短语或者整个句子的表达

  • 文本交互

    用 M 0 M_0 M0​表示两段文本交互后的结果,定义 M 0 = f ( p , q ) M_0=f(p,q) M0​=f(p,q)

  • 匹配空间内的模式提取.在得到基本交互信息的基础上进一步提取匹配空间的模式信息,可以表示为函数 M k = g ( M k − 1 ) M_k=g(M_{k-1}) Mk​=g(Mk−1​),这里的函数 g g g可以由多个函数级联而成。

  • 匹配程度得分

    最后一步旨在综合前面的信息,得到一个匹配程度的打分,也即 r = h ( M n ) r=h(M_n) r=h(Mn​)

3.2 基于单语义文档表达的深度学习模型

文档表达就是将文本表示成一个向量,传统方法得到的只基于一个文档的特征就可以看做一个文档的表达。而基于单语义深度学习模型中的文档表达则是利用深度学习的方法生成一个文档的高维度稠密向量。首先将待匹配的两个对象通过深度学习表达成两个向量,然后通过计算这两个向量之间的相似度便可输出两者的匹配度。

基于单语义文档表达的深度学习模型的核心是构建单个文档表达的差异。分成了基于全连接神经网络、卷积神经网络和循环神经网络这样的3类。

基于单语义文档表达的深度学习算法的重心在于得到一个适合的文档表达。

具有3个优点:

  • 将文本映射为一个简洁的表达,便于储存;

  • 匹配的计算速度快,可以和一些加速方法如位置敏感哈希技术结合,进一步提高计算速度;

  • 模型可以用大量无监督的数据进行预训练,尤其是在匹配监督数据很少的时候,用大量文本进行预训练是相当有效的方法.

    因此,该模型非常适合于信息检索这种对存储和速度要求都比较高的任务

    缺点:

  • 很多匹配问题不具备传递性(例如问答系统中问题和答案的位置不能互换),因此不适合用一个度量空间(参数相同的神经网络)来描述

  • 文本的表示学习本身是非常困难的问题,只有效捕捉与描述对匹配有用的局部化(细节)信息

3.3  基于多语义文档表达的深度学习模型

不仅会考虑两段文本最终的表达向量的相似程度,也会生成局部的短语或者更长的短语的表达进行匹配.这样多粒度的匹配可以很好地补充基于单语义文档表达的深度学习模型在压缩整个句子过程中的信息损失,而达到更好的效果.

3.4 直接建模匹配模式的深度学习模型

直接建模匹配模式的深度学习模型旨在直接捕获匹配的特征:匹配的程度和匹配的结构。

论文:《深度文本匹配综述》

论文阅读03:深度文本匹配综述相关推荐

  1. 【NLP】深度文本匹配综述

    目  录 1.研究背景与意义  2.深度学习在自然语言处理的应用  3.深度文本匹配与传统文本匹配  4.深度文本匹配国内外研究现状  4.1基于单语义表达的文本匹配 4.2基于多语义表达的文本匹配 ...

  2. 深度文本匹配在智能客服中的应用

    参加2018 AI开发者大会,请点击↑↑↑ 作者 | 云知声 目录 一. 深度文本匹配的简介 1. 文本匹配的价值 2. 深度文本匹配的优势 3. 深度文本匹配的发展路线 二. 智能客服的简介 1.  ...

  3. 【论文阅读】深度强化学习的攻防与安全性分析综述

    文章目录 一.论文信息 二.论文结构 三.论文内容 摘要 1 深度强化学习方法 2 深度强化学习的攻击方法 2.1 基于观测的攻击 4 深度强化学习的安全性分析 5 应用平台与安全性评估指标 5.1 ...

  4. 2020深度文本匹配最新进展:精度、速度我都要!

    文 | QvQ 编 | 兔子酱 在过去的几年里,信息检索(IR)领域见证了一系列神经排序模型的引入,这些模型多是基于表示或基于交互的,亦或二者的融合.然鹅,模型虽非常有效,尤其是基于 PLMs 的排序 ...

  5. 【深度学习】步态识别-论文阅读:(T-PAMI-2021)综述:Deep Gait Recognition

    论文详情: 期刊:T-PAMI-2021 地址:参考笔记 1.Abstract 本文综述了到2021年1月底在步态识别方面的最新进展,以 全面概述了深度学习步态识别的突破和最近的发展,涵盖了广泛的主题 ...

  6. 论文阅读_深度学习的医疗异常检测综述

    英文题目:Deep Learning for Medical Anomaly Detection - A Survey 中文题目:深度学习的医疗异常检测综述 论文地址:https://arxiv.or ...

  7. 【NLP】2020深度文本匹配最新进展:精度、速度我都要!

    文 | QvQ 编 | 兔子酱 在过去的几年里,信息检索(IR)领域见证了一系列神经排序模型的引入,这些模型多是基于表示或基于交互的,亦或二者的融合.然鹅,模型虽非常有效,尤其是基于 PLMs 的排序 ...

  8. 图像检索|经典论文阅读|快速入门|综述学习

    大家好,这里是[来一块葱花饼],这次带来了图像检索综述的技术学习,欢迎关注,与你分享~ 本文主要参考总数论文<Deep Learning for Instance Retrieval: A Su ...

  9. [论文阅读] (03) 清华张超老师 - GreyOne: Discover Vulnerabilities with Data Flow Sensitive Fuzzing

    数据流敏感的漏洞挖掘方法 Discover Vulnerabilities with Flow Sensitive Fuzzing Chao Zhang 清华大学 2nd International ...

最新文章

  1. JavaWeb之文件上传
  2. 有关多核一致性的理解和思考
  3. LinkedList源码分析(基于Java8)
  4. 文本三剑客之grep
  5. rocketmq 初探(四)
  6. Spring Data JPA 从入门到精通~AliDruidDataSource的配置
  7. 基于Spring+SpringMVC+Mybatis架构的开源博客
  8. 解决ros::TimeNotInitializedExcep
  9. Github新功能 个人展示项目--首页展示个人介绍 图片and so on(2020.08.05)
  10. 免费资源下载:暗色色系的超棒搜索框和下拉菜单UI欣赏
  11. iOS关于setContentOffset的一些细节问题
  12. 原子结构示意图全部_所有原子结构示意图(1-118)最新元素周期表.pdf
  13. Django(十二):django支付(微信支付宝)+项目部署(虚拟机、docker、云服务器)
  14. 夜神模拟器之burp抓包
  15. java版VR全景漫游制作平台 - 1介绍
  16. 网络营销都有什么特点
  17. HTML首字下沉的编码,CSS_有关首行首字下沉的实现原理及代码,下面是两个个小技巧,一个是 - phpStudy...
  18. 重新定义智能空调,TCL发布智能空调新战略及产品阵容
  19. BMP位图转为RGB三通道图
  20. 《SOC芯片研究框架》深度科普,发展趋势、技术特点、产业链一文看懂

热门文章

  1. windows无法启动windows update服务
  2. php判断几维数组的方法,php判断是几维数组
  3. 云服务器视频监控系统,云服务器视频监控系统
  4. python语言的变量特点随时_完美契合人类习惯的Python变量和基本数据类型
  5. 2019最新移动,联通,电信号码正则
  6. Excel根据表格月份内容创建1-12月的文件夹?
  7. 用户意图——《Constructing plausible innocuous pseudo queries to protect user query intention》
  8. 学习小记-----行列式矩阵树定理Kirchhoff's theorem
  9. nginx-web服务器
  10. 误将 “百度”写入公司资料表,B站“抄作业”实锤