读end2end quantum language model

端到端的类量子语言模型

计算机科学与技术专业    2117216082   赵东浩

 

摘要: 语言模型的研究是一直是一个基础的研究课题,基于Alessandro Sordoni在信息检索领域发表的量子语言模型,本实验室提出了端到端的类量子语言模型,并将其成功应用在QA任务中。该模型通过构建新的密度矩阵来联合表示问题和答案,最后将得到的密度矩阵传到卷积神经网络[1]中。实验证明在wikiQA和trecQA数据集上取得了不错的效果。

关键词:QA;量子语言模型;密度矩阵

1 引言

当前在信息检索或者在自然语言处理领域,常用的语言模型有统计语言模型和神经网络语言模型。统计语言模型通过句子的每一个单词计算联合概率分布,神经网络语言模型可以得到每一个词的分布式表示。

最近Alessandro Sordoni提出了量子语言模型[2],该模型在构建多元的依赖关系时,参数的多少只跟单词的个数有关而和构建的元数无关,并且该模型不需要外置的语料库,而索冬尼也是第一个通过量子理论概括出了语言模型。但是量子语言模型必须通过迭代的方法来进行最大似然估计,最终得出密度矩阵,但这种迭代的方法很难在网络中实现;量子语言模型在处理表示,估计和排序时是依次进行的。以上两点直接限制了量子语言模型的适用性,为扩宽该模型的适用范围,本文介绍了一种新的模型神经网络类量子语言模型[3],该模型很好的解决了上述问题。

神经网络类量子语言模型,将句子中的每个单词用矩阵(向量乘以向量的转置)表示,且每个单词乘以各自的权重,将最后的结果相加构成一个句子的矩阵,称之为密度矩阵,将其传到网络中,并通过反向传播算法自动更新单词的权重。本模型是一种端到端的语言模型,并将量子理论成功的应用在QA任务中,通过密度矩阵表示语义空间,并使用卷积神经网络提取特征值,从而完成问题与答案之间的排序与匹配。

2 量子语言模型

2.1 量子基本概念

      在量子概率事件中,用希尔伯特空间来表示概率空间,也可以用符号 来表示,将其压缩到实际空间则为 ,一个单位向量 用右态矢 来表示,它的对偶向量表示为 称为左态矢,左右矢量的内积为 ,向量 外积用 来表示,它也可以表示一种量子状态,因此可以将其看作为一个密度矩阵,用密度矩阵概括传统的概率分布,可以用下面表示 其中 是一个纯态,pi是 发生的概率,ρ是对称的也是半正定的,它的迹为1用tr(ρ)=1来表示。

2.2 量子语言模型 

              量子语言模型在表示单词或者表示各单词直接的依赖关系时,使用密度矩阵来表示,密度矩阵的大小是由单词的个数所决定的,当一句话用N来表示时,密度矩阵ρ就表示为ρ={ },其中 , 表示单词的非空子集, 为一个标准基向量,该向量通过one-hot向量来表示。在索冬尼的量子语言模型中 使用迭代的最大似然估计来计算 ,但这并没有一个明确的计算方法。在得到密度矩阵之后,它的分数可以使用Von-Neumann来计算 其中q表示query,d表示document。但该模型很难应用到end-to-end模型中,本文介绍了一种通过类量子构建密度矩阵直接应用到end-to-end模型中的方法。

3 基于类量子语言模型的神经网络

3.1 密度矩阵来表示句子

       相较于量子语言模型,本模型通过word2vec来表示每一个单词,假如我们有N个词的文档,且使用的是d维的词向量,则嵌入矩阵为文档中的第 单词用向量 来表示,则 ,为了获得一个单位态向量,可以通过下面的公式标准化每一个嵌入向量: ,句子中的每个单词我们都可以通过这种方式来得到,然后根据密度矩阵的定义,我们可以得到 ,这其中所有pi的加和为1,每一个pi表示反应了这个单词发生分概率,也表示这个单词在句中的重要性,在模型中更新。并且这个密度矩阵是对称的,半正定的,而且它的迹为1, 是 的语义空间相较于量子语言模型中的 此处的 将表示更多的语义信息,因为我们这里使用的是word2vec而并不是one-hot。

       当前的QA任务,一般都是通过word2vec来表示每一个单词,而一个句子则是由每一个单词向量组合而成,然而这并没有考虑混合的语义空间,也就是说认为每个单词都是相对独立的,但这并不可能,而基于类量子语言模型的神经网络,将一个句子表示为句子矩阵,这样卷积神经网络就可以从这种混合的语义空间中提取更多的特征

3.2 问答对的联合表示

       在QA任务中,将问句和答句的每个单词都先用相同维度的向量来表示,然后将每个单词向量乘以它的转置向量并乘上一个权重,并将句子中的每个单词形成的矩阵相加到一起,这样就会得到一个句子的密度矩阵,问句和答句都按此操作,将会得到两个密度矩阵为 和 。然后将其按下列公式计算: 将会得到这个问答对的一个联合表示。

       根据第二节介绍的量子基本概念中的 ,我们将本处的句对带入,可以得到 这其中的 是特征值也就是 发生的概率它可以反映单词的分散度,并且 的加和为1; 是一个特征向量,也为纯态,它可以代表一定的语义基础。将答句也按这种表示,为 ,然后联合表示则为: ,然后根据 ,我们可以得到 ,它表示潜在语义的余弦相似度的总和,通过这种方法可以保留相似的部分,丢弃不同的部分, 由问句和答句每个单词的向量,做内积得到矩阵,并求出它的迹。因此我们说 编码了问句和答句中的相似信息。

3.3 匹配密度矩阵

       基于量子语言模型提出了卷积神经网络类量子语言模型,本模型在求解相似度时类似于量子语言模型,但摒弃了求log密度矩阵最大值的方法,而是直接通过迹内积来求问句和答句之间的相似度,公式如下: ,该试在量子语言模型中已经被证出,因此: ,我们可以通过密度矩阵得到句子的语义信息,与此同时我们将密度矩阵对角线上的元素摘录下来与,它的迹内积构成一个新的信息,参与训练,更新每个单词的权重大小,从而匹配问句和答句。

      

         上图是卷积神经网络类量子语言模型,通过上图我们可以很容易的看出,对于每个句子我们先得到句中每个单词的单一表示,然后做外积,并与其权重相乘,再将句中所有单词加到一起构成一个矩阵,这时我们将问句和答句的矩阵相乘得到我们需要的密度矩阵,该矩阵会通过反向传播来更新权重,从而得到最匹配的密度矩阵,再经过卷积层,池化层(行列最大池化),softmax层,最终得到问句和答句的匹配度。

       在反向传播更新参数时,我们采用的将交叉熵看做损失函数,并求其最小值,公式如下: 其中 是softmax的输出,通过此方法我们就可以扩展量子语言模型到端到端模型中去了。

在类量子语言卷积语言模型中,我们采用二维的卷积来提取密度矩阵的特征值也就是在提取每一句话的特征值,因为密度矩阵是由每句话中的单词求外积并相加得到的,将句子的语义抽象的表示出来,虽然本模型采用的是二维的卷积核,在卷积层我们先初始化一个卷积核并扫描密度矩阵对角线上的值,该卷积核长度采用的是根据句子的长度来进行卷积,因此两维的卷集核就变成了一维的卷积核(learn to rank)。特征映射的获取按下面公式: 其中 是一个非线性的激活函数 是密度矩阵,Wi是权重和b是偏置量,卷积层后是池化层,池化层采用行和列最大的池化[4],得到两个向量,并将其拼接起来。这两层不同的卷积核我们可以不同的句子特征,随后调整模型的参数,使其达到最优解。

3.4相关工作:

在当前的QA任务中,大部分使用的是,问句和答句对的数据集,如何通过句子提取出更多的信息,判断两个句子是否匹配成为此工作的重中之重。Enhancing Recurrent Neural Networks with PositionalAttention for Question Answering[5]一文介绍了一种attention机制,并通过实验证明了在词重叠旁边的词需要给予更多的关注,它的模型将获得的句子向量表示根据重叠的位置信息,更新句子表示然后输入到RNN中,最终计算相似度。Natural Language Inference over Interaction Space[6]此文介绍了一种将句子的表示映射到一个高维的线性空间,通过self-attention机制提取更多的句子信息,从而计算相似度。以上两文都取得了不错的结果,本文由量子语言模型的启发,将密度矩阵输入到end-to-end模型中去,并在wiki和trec数据集上取得了不错的实验结果。

4 实验

4.1 数据集和评估函数:

本实验采用的数据集是当前被广泛使用的文本信息检索会议(TREC-QA)和开放数据集(WIKI-QA),这两种数据集都是给定问句和答句,判断是否匹配。评估函数采用的是MAP和MRR。MAP反应了系统在全部相关文档上性能的单值指标,系统检索出的相关文档越靠前MAP就越高。MRR是把标注答案在被评价系统给出结果中的排序倒数作为它的准确度,再对所有问题取平均。

4.2 参数设置:

在本模型中使用的是word2vec作为词向量,维度采取的是50维,在模型中词向量并不发生改变。当遇到未在word2vec中的词时,我们将按规律初始化该词向量,大小在-0.25和0.25之间,滑动窗口设为5,密度矩阵中权重的大小先初始化,然后在网络中进行学习,经过大量的实验数据证明,在批大小取60,卷积核个数的个数取55,正则率取0.0001,学习率取0.01时,该模型可以在trecqa数据集上达到一个最好的效果最大MAP可达0.754918794795194,最大MRR可达到0.80872598162071851。

5 总结

       类量子神经网络语言模型将量子语言模型扩展到端到端机制上,使我们能够通过构建密度矩阵将对句子的表示整合到一个有效的联合训练的神经网络体系结构中去,该模型可以更好的提取句子之间的相似信息,并在QA任务中实现不错的效果。将句中的每个单词嵌入到词向量空间中,并通过量子语言模型的知识构建一个与其相似的密度矩阵,将结果传到二维的卷积神经网络中去,虽然能够学习到更多的有效的相似信息,但并没有摆脱神经网络的限制。因此在未来我们应探索一种更简单有效的方式来提取有效信息;增加类量子神经网络语言模型的可适应性,将其推广到更多的自然语言处理任务中去。

6 参考文献

[1] Severyn, A., and Moschitti, A. 2015.Learning to rank shorttext pairs with convolutional deep neuralnetworks. In Proc. ofSIGIR,373–382. ACM

 [2] Sordoni, A.; Nie, J.-Y.; and Bengio, Y.2013. Modeling termdependencies with quantum language modelsfor ir. In Proc.ofSIGIR, 653–662. ACM.

 [3] Peng zhang;Jiabin niu;2017;End-to-EndQuantum-like Language Models with Application to QuestionAnswering;InAAAI

[4] dos Santos, C.N.; Tan, M.; Xiang, B.; and Zhou, B. 2016.Attentive poolingnetworks. CoRR,abs/1602.03609.

 [5] Qin Chen;Qinmin Hu,Jimmy XiangjiHuang;2017; EnhancingRecurrent Neural Networks with Positional Attention for QuestionAnswering;993-996.ACM

 [6] Yichen Gong,Heng Luo,Jian Zhang;NaturalLanguage Inference over Interaction Space;arXiv,2017

你可能感兴趣的:(读end2end quantum language model)