目录
文本匹配专题引言
**文本蕴含:**判断P和H的关系(1、推出/推不出; 2、蕴含/冲突/中立)
**文本匹配:**判断P和H是否匹配(匹配可以是不同形式的)
匹配/不匹配
**文本相似:**判断P和H是否相似(说的是同一件事情)
相似/不相似
文本匹配意义及发展
**概述:**文本匹配是自然语言处理中的一个核心问题,很多自然语言处理的任务都可以抽象成文本匹配问题。例如:
- 信息检索(Information Retrieval, IR):可以归结为查询项和文档的匹配;
- 智能问答(Question Answering, QA):可以归结为问题和候选答案的匹配;
- 对话系统:可以归结为对话和回复的匹配。
针对不同的任务选取合适的匹配模型,提高匹配的准确率成为自然语言处理任务的重要挑战。
发展历程
有了多语义模型,并不代表单语义模型就消失殆尽了,有了深层局间交互模型,并不代表就没有其他类型的模型了,不同自然语言方向的模型是一起发展的,只是现在深层句间交互模型越来越多,这也是本专题的重点。
单语义模型只是简单的用全连接、CNN或RNN等神经网络编码两个句子,然后直接计算句子间的匹配度;
多语义模型从多粒度的角度去编码句子,它考虑的是字、句子等的局部结构,所谓粒度指的是对文本拆分,拆分到最小单位,如果对文本中的每个字符都进行编码,那么它就是字符级编码;如果是将每个单词看作是一个整体,那它就是单词级的粒度;
匹配矩阵模型更多的考虑的是待匹配的句子间不同单词的交互,来计算两两之间的匹配度,在用深度网络提取特征,计算句子间的关系。
文本匹配类模型基本结构
前期知识储备
前置知识
- 深度学习基础(全连接网络、激活函数、交叉熵、dropout)
- 基本CNN、RNN、LSTM结构
- 词向量基础(word2vec、glove)
- 注意力机制(Neural machine translation by jointly learning to align and translate)
论文简介
【说明】
- DSSM归类为信息检索方向文章,并非文本匹配。
- DSSM之前,解决方法多维传统机器学习(LSA,LDA等),DSSM之后,解决方法多为深度学习。
- 不要被引言和相关工作的引用文献吓倒,我们的重点学习目标在模型部分 。
学习目标
论文导读
论文研究背景、成果及意义
研究问题
给定一个查询 (query)和一组文档 (documents),返回一个排序 (ranking),系统根据查询所对应文档的契合度高低排序。第一条为最为契合的检索结果。
(为什么会有这篇文章,因为前人做的工作还不够好,自己提出的模型能够对这些工作进行一些补充以及提升)
研究背景
- 潜在语义分析模型(如LSA)本身的约束性,模型质量已达瓶颈。
- 互联网极速发展带来巨量的点击记录 ,LSA等更面临着模型存储的挑战。
- 词语不采用one-hot形式,而是映射值向量空间 给模型的设计提供了新的思路。
研究成果
提出DSSM模型:
- 运用深度神经网络(DNN) 接受查询和文档;
- 利用非线性函数 将文本映射到语义空间;
- 利用余弦相似度 计算查询与各个文档间的相似程度;
- 不同于word2vec,DSSM全程有监督训练 ;
- 利用词哈希 技术解决词表过大问题;
- 在文档排序任务上取得了当时最优成绩 。
实验结果:
研究意义
- 使得文本匹配进入了深度学习时代(引用量:964)
- 为解决实际工业信息检索问题提供了新的解决策略
文本匹配的应用场景: - 新闻个性化推荐
- 用户查询—广告页面相似度
- 智能客服
- ……
论文泛读
论文小标题
摘要
Latent semantic models, such as LSA, intend to map a query to its relevant documents at the semantic level where keyword-based matching often fails.
像LSA那样利用关键词匹配将查询和相关文档在语义空间上建立映射的方法经常失效。
表明文章背景: LSA这类方法可能不好使了。
Keyword-based matching为LSA的一个思想,它的核心是将query和documents映射到语义空间。
We strive to develop a series of new latent semantic models with a deep structure……
我们(指作者)提出了一系列新的深层隐性语义模型。
表明文章贡献: 提出了一种新的网络结构。
that project queries and documents into a common low-dimensional space where the relevance of a document given a query is readily computed as the distance between them.
将查询和文档映射到同一个低维向量空间,在这个空间内,查询与文档的相关性(相似性/匹配程度)可以由两向量的空间距离计算得出。
点出方法核心: 使用向量距离代表匹配程度。
相比之前提到的语义空间,这里的向量空间在计算语义相似度时要快速的多,毕竟两个向量的空间距离是能够很明确得到的(这是关键点)。
The proposed Deep Structured Semantic Models are discriminatively trained by maximizing the conditional likelihood of the clicked documents given a query using the clickthrough data .
所提出的深度结构化语义模型通过使用点击数据在给定查询的情况下最大化被点击文档的条件可能性来进行有区别的训练。
模型的优化策略: 给定输入时,最大化正确标签出现的条件概率。
即:对于一个分类任务,最小化softmax交叉熵损失。
To make our models applicable to large-scale Web search applications, we also use a technique called word hashing, which is shown to effectively scale up our semantic models to handle large vocabularies which are common in such tasks.
为了使我们的模型能够应用于大规模网络搜索应用,我们使用了名为“词哈希”的技术,使得模型能够应对实际任务中存在的大规模词表的情况。
表明文章创新点: 使用了“词哈希”技术。
对于大规模的英文语料,单词量是巨大的,而且很有可能是动态增长的,它规模越大,传统方法的时间响应和空间占用就会暴露出大量问题,“词哈希”技术能够减少占用内存,加快响应速度。
The new models are evaluated on a Web document ranking task using a real-world data set. Results show that our best model significantly outperforms other latent semantic models, which were considered state-of-the-art in the performance prior to the work presented in this paper.
模型被应用于实际场景,有现实意义,同时实验表明DSSM相比其他模型有更出色的表现。
表明文章成果: 效果最佳,且现实意义强。
摘要核心:
- 基于关键词匹配的潜在语义模型(如LSA)经常失效;
- 模型利用历史点击,给定查询和一组文档,最大化匹配被点击过的文档的概率;
- 采用词哈希技术以便能应对大规模的网络搜索;
- 利用真实的网页排名数据做实验,结果显示DSSM明显优于其他模型。
论文精读
研究问题: 给定一个查询(query)和一组文档(documents),返回一个排序(ranking),系统根据查询所对应文档的契合度高低排序。第一条为最为契合的检索结果。
【举例】
查询Q:“文本匹配”
文档D:[“文本匹配算法”, “目标检测”, “傅里叶变换”, “爱因斯坦”, “电动牙刷”]
模型计算输出:[0.8, 0.07, 0.04, 0.06, 0.03]
模型优化、迭代,再次遇到同一组Q、D,希望有输出[0.9, 0.04, 0.02, 0.03, 0.01]
实现最大化匹配被点击过的文档的概率
词哈希
Letter n-gram:
以单词text为例,n=3:
第一步,单词前后加#号:#text#
第二步,设置步长为1,大小为n的滑动窗口,记录每次滑过的单词切片
则切分为#te,tex,ext,xt#
哈希冲突:
【举例】
单词:ababba 和 abbaba
Letter 3-gram结果均为:
[#ab, aba, bab, abb, bba, ba#]
下表展示了不同词表大小,2-gram和3-gram的冲突情况:
分析:当采用2-gram,词表大小为40k时,统计得到的不同切片有1107个,发生冲突的情况(单词)为18例,即40k个单词,撞了的单词只有18个;当采用3-gram,词表大小为500k时,统计得到的不同切片有30621个,发生冲突的情况为22个,冲突比例仅为0.0044%,作者称其为微不足道的。
词哈希的优势:
- 使得形态上相近的单词有相近的表达;
- 有很强的鲁棒性,大幅度缓解OOV问题。
- 词哈希等价于线性映射
【举例】
DSSM整体结构
【词袋模型编码举例】
自然语言是无法直接送到程序的,必须要经过一道处理,词袋模型便是一种处理方法。
先用one-hot进行编码,句子的编码单纯的为每个词的向量的累加,例如图中“文本匹配”的向量编码形式。
【DSSM举例】
目标函数
为了模型能够调优学习,要使得优化函数可微分,最常见的操作就是softmax交叉熵。
实验设置及结果分析
实验细节
实验内容及分析
实验结果
- 模型9:没有使用词哈希
- 模型10:去除全连接层部分
- 模型11:不适用任何非线性函数
- 模型12:完整的DSSM模型
其中,NDCG越高,预测排名越接近理想排名。
从表格可以看出,缺少词哈希对结果影响最大 。原因:直接由词袋编码转为稠密化向量,不经过词哈希这一层缓冲,信息损失极为严重。
论文总结
关键点
- 利用点击数据 设计文档排序实验
- 利用非线性激活函数 提取语义特征
- 使用词哈希 技术使得模型能够应用于大规模实际生产环境
创新点
- 运用深度神经网络(DNN) 接受查询和文档
- 利用非线性函数 将文本映射到语义空间
- 利用词哈希 技术解决词表过大问题
- 利用余弦相似度 计算查询与各个文档间的相似程度
- 不同于word2vec,DSSM全程有监督训练