【文本匹配】表示型模型

基于表示的匹配模型的基本结构包括:

(1)嵌入层,即文本细粒度的嵌入表示;

(2)编码层,在嵌入表示的基础上进一步编码;

(3)表示层:获取各文本的向量表征;

(4)预测层:对文本pair的向量组进行聚合,从而进行文本关系的预测
【文本匹配】表示型模型
对于对称的文本匹配任务,采用共享的编码器和文本表示DNNs无疑是合理的选择,从而也可以获取各文本在统一语义空间的表示方法。

基于表示的匹配模型结构紧凑,可变的花样并不多,主要集中在:

(1)如何更好的获取文本表征,即图中编码器和DNNs如何构造;

(2)如何更好的比较文本表征间的相似度。

这也是各典型模型主要的差异点,下面依次介绍这些典型模型:

1 DSSM及其变种
1.1 DSSM

Deep Structured Semantic Models(DSSM)是一种基于网络检索点击数据来获取query和title间语义相关性的模型,也是表示型匹配模型的鼻祖,其架构基本定义了后续各表示型匹配模型的基本范式。
【文本匹配】表示型模型
DSSM主要的结构模块和要点包括:

(1)word hash:原始输入层为50w词汇构成的one-hot编码向量,为了保证训练的可行,本文提出了一种word hashing算法,通过对英文词进行n-letters的切分(如将word改写为#word#,采用3-letters切分为#wo,wor,ord,rd#),从而实现了term-level维度的压缩。word hash,类似于BPE,是一种常见的英文单词编码方式,但这种做法无法直接移植到中文embedding中;

(2)多层的MLP:表示层通过全连接的方式独立的对qurey和doc进行信息压缩和特征提取,最终得到句子和文档的语义表征;

(3)softmax预测层:DSSM损失函数的构造采用了list-wise rank的做法,采样得到一个正例和若干负例作为sample,通过计算query与doc语义表征的夹角余弦作为相似度logits,然后通过softmax进行归一化,最后通过MLE进行参数的学习。

DSSM的模型简单高效,采用海量点击曝光日志数据的监督学习进行训练,能够快速获取IR结果,但其存在如下不足:

(1)点击曝光日志并不能意味着着q-t间语义的近似程度,因此用起作为语义相似模型训练的依据是值得推敲的;

(2)期嵌入层简单采用了one-hot编码型式,忽略了语法和意义层面的表征;

(3)多层MLP的方式参数众多、形式单一,影响模型训练的效率;

(4)预测层仅仅通过夹角余弦的方式判断相似性,其表达能力稍弱。

1.2 CDSSM

针对DSSM在网络架构方面的局限性,后续提出了各种变种,首先介绍采用CNN进行表示的CDSSM模型:
【文本匹配】表示型模型

CDSSM主要的结构模块和要点包括:

(1)嵌入层:在text sequence的首、尾添加了特殊的<s> token,以补充句子的边界特征,各token仍采用word hashing策略进行编码;

(2)编码层:采用n-gram的滑动窗口选取local term特征(原文直接拼接3-gram的向量表征,3*30k=90k);

(3)表示层:卷积— >池化—>卷积的表示层编码器。具体而言:通过MLP将高维度的local term特征映射到低维特征,然后在sequence length维度进行max pooling,从而将变长的文本统一为相同长度的向量特征,借着再通过一个MLP进一步压缩特征维度,以此作为文本向量表征;

(4)预测层:与DSSM采取相同损失函数、相似度计算策略。

CDSSM在编码层采用n-gram获取滑动窗口内的上下文信息,在表示层采用全局最大池化获取全文的上下文信息,从而能更好的获取语义表征,但由于滑动窗口大小的限制,仍无法获得较长距离的上下文依赖关系。

1.3 LSTM-DSSM

LSTM-DSSM模型将DSSM中的MPL层替换为LSTM层,将最后一个token的隐藏层输出作为句子表征,模型其它的设定与DSSM和CDSSM类似,这里不加赘述。

【文本匹配】表示型模型

1.4 MV-DSSM

Multi-View DSSM将DSSM推广到用户推荐领域,其保留了DSSM的模型架构,创新点在于将不同信息源在统一语义空间进行编码。

【文本匹配】表示型模型

2. SiamCNN和SiamLSTM

前文提及对称的文本匹配任务中常采用共享的编码器和文本表示DNNs,SiamCNN和SiamLSTM就是针对QA问题分别采用CNN模块和LSTM模块的经典模型。

2.1 SiamCNN

SiamCNN的提出者针对表示型文本匹配模型的两个核心步骤,分别对比了大量的CNN双塔模型方案以及相似性计算的方法。

在CNN双塔模型方案中,共对比了如下6种方案:

(1)q-a分别采用单独的Hidden-Layer(MLP+tanh**函数)+ 单独的CNN + 1-D最大池化

(2)q-a采用共享的Hidden-Layer(MLP+tanh**函数)+ 共享的CNN + 1-D最大池化

(3)q-a采用共享的Hidden-Layer(MLP+tanh**函数)+ 共享的CNN + 1-D最大池化 + 单独的Hidden-Layer

(4)q-a采用共享的Hidden-Layer(MLP+tanh**函数)+ 共享的CNN + 1-D最大池化 + 共享的Hidden-Layer

(5)q-a采用共享的Hidden-Layer(MLP+tanh**函数)+ 共享的CNN + 1-D最大池化 + 共享的CNN

(6)q-a采用共享的Hidden-Layer(MLP+tanh**函数)+ 共享的CNN + 共享的CNN + Skip-Connection + 1-D最大池化 +

在文本向量相似度的计算中,共对比了如下9种方案:

(1)夹角余弦;(2)多项式核函数;(3)sigmoid核函数;(4)高斯核函数;(5)欧氏距离;(6)指数核函数;(7)曼哈顿距离;(8)GESD;(9)AESD

本文采用了pair-wise rank的损失计算方法,即一对正、负样本的Hinge Loss。在文章采用的数据集上,模型方案(2)取得最佳结果,而GESD和AESD的相似度计算方法表现更好。
【文本匹配】表示型模型

2.2 SiamLSTM

SiamLSTM的提出者采用LSTM的文本表征,并直接以文本表示pair的ex1x2e^{-|x_1-x_2|}作为最终归一化的相似度结果。
【文本匹配】表示型模型

3. ARC-I

ARC-I模型采用重复堆叠的"CNN+k-Pooling"获取相邻n-gram间的语义关系,最后通过MLP得到句子相似度。

【文本匹配】表示型模型

4. Multi-view

Multi-view是一种适用于多轮对话匹配的表示型模型。

【文本匹配】表示型模型

对于多轮对话文本,该模型采用了两种文本表示方案(因此被成为Multi View):

(1)word-level的文本表示:对上下文utterance进行拼接,中间以特殊的 token划分,然后采用GRU模型取最后一个token的隐藏层输出作为整个文本的语义表征;

(2)utterance-level的文本表示:采用类似HAN的层级架构,首先利用CNN+1D Max-Pooling获取每个utterance的向量表示,然后再利用GRU结构获得上下文各utterance序列的最终语义表征。

同样的对response文本也进行如上的计算。分别对两个层级的文本表示利用一个sigmoid函数表示其相似度,两者之和即为最终的相似度。

5. InferSent

本文探究在NLI语料上采用什么样的模型能够更好的实现文本pair在同一语义空间的映射,从而可以实现下游任务的迁移学习。文章总结了Siamese结构的统一架构:

【文本匹配】表示型模型

模型在文本pair的文本向量基础上,进行了更细致的相似度计算,即将文本向量、文本向量的点乘结果、文本向量差的绝对值等进行拼接(该方案最早鉴于交互型文本匹配模型ESIM),再进行MLP+softmax分类。

同时给出可用做表示层的各种特征抽取器:

(1)LSTM and GRU:采用单向LSTM/GRU隐藏层在最后一个token位置的输出向量;

(2)BiLSTM :采用双向LSTM/GRU隐藏层在各自最后一个token位置的输出的拼接向量;

(3)BiLSTM with mean/max pooling:采用双向LSTM/GRU在各token位置隐藏层的输出拼接向量,然后取sequence length方向的max-pooling或者mean-pooling结果;

(4)Self-attentive network:定义若干组可学习的文本query向量参数(可视为multiple view),然后将BiLSTM在各token的隐藏层输出作为key和value向量,然后基于attention机制得到整个文本在各query作用下加权平均后的语义向量,最后进行拼接得到最终的语义向量;

(5)Hierarchical ConvNet:采用层次化的卷积层,即多层CNN+Max Pooling的迭加,每层中Max Pooling的输出作为文本语义向量的一种表征,最后将多层的向量进行拼接得到最终的语义向量;

本文横向对比了上述各种特征抽取器,结果显示在所采用的语料基础上采用BiLSTM with mean/max pooling的结果更适合迁移学习。

6. SSE

SSE采用Stacked BiLSTM + Max Pooling作为文本向量抽取器,预测层采用了和SentInfer一样的组合策略。
【文本匹配】表示型模型

7. 总结

前文介绍了在IR、QA和NLI等领域提出的典型表示型文本匹配模型,其整体架构均满足Embedding->Encoding->Representation->Prediction的层级顺序,所做的工作集中在:

(1)改进Encoding和Representation层,增强模型对文本向量的表达能力,可采用CNNs、RNNs、Pooling、Attention等机制,并在网络的深度以及网络各层信息的利用等层面进行尝试;

(2)改进Prediction层对文本向量pair相似度的计算,比如可以选择简单的计算夹角余弦、欧式距离、核距离等,也可以对文本向量pair进行更花哨的向量和矩阵计算。

【Reference】

  1. DSSM: Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
  2. CDSSM: A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval
  3. LSTM-DSSM: Semantic Modelling with Long-Short-Term Memory for Information Retrieval
  4. MV-DSSM: A Multi-View Deep Learning Approach for Cross Domain
    User Modeling in Recommendation Systems
  5. ARC-1: Convolutional Neural Network Architectures for Matching Natural Language Sentences
  6. SiamCNN: Applying Deep Learning to Answer Selection: A Study and An Open Task
  7. SiamLSTM: Siamese Recurrent Architectures for Learning Sentence Similarity
  8. Multi-view: Multi-view Response Selection for Human-Computer Conversation
  9. InferSent: Supervised Learning of Universal Sentence Representations from Natural Language Inference Data
  10. SSE: Shortcut-Stacked Sentence Encoders for Multi-Domain Inference
  11. 文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
  12. 谈谈文本匹配和多轮检索
  13. 贝壳找房【深度语义匹配模型 】原理篇一:表示型