Topic-Aware Deep Compositional Models for Sentence Classification

Topic-Aware Deep Compositional Models for Sentence Classification (论文解读)

IEEE/ACM Transactions on Audio, Speech and Language Processing Rui Zhao and Kezhi Mao
论文模型:TopCNN、TopLSTMs.

Abstract:

1.深度组合模型成为计算语言和自然语言处理中句子表示学习的一种流行技术。这些模型通常使用特定任务语料库在预先训练过的单词嵌入上训练各种形式的神经网络。然而,这些研究大多在预先训练的词嵌入中忽略了词的多义性。本文引入主题模型来丰富词的多义嵌入。将主题模型与各种语义合成过程相结合,形成主题感知的卷积神经网络(TopCNN)和主题感知的长短期记忆网络(TopLSTMs)。 2.该两个模型认为词意义的成分两部分:词的一般意义上是从一个大型语料库得到和一种具体主题词意来自一个特定于任务的语料库。此外,我们提出的模型侧重于语义组合,而不是单词理解。借助主题模型,我们可以将组合前的词级词义和组合后的句子级词义进行整合。

Introduction:

        句子建模和分类是各种自然语言处理(NLP)任务的基础,句子建模的目的是捕捉和分析句子的语义信息。在这个问题中,最核心也是最关键的一步是表示学习,它的目的是学习一个句子的定长数值向量。经典的表示模型包括单词包(BoW)模型和主题模型。随着近年来深度学习方法的发展,不同层次文本单元的表示学习被重新定义,组合模型建立在单词嵌入的基础上如下图表示。单词嵌入通过训练的神经语言模型将词汇的语义和句法信息编码为低维密集的表示。

在这里插入图片描述

        在没有注释的大型文本语料库上。深度学习模型的另一个重要组成部分是应用的合成模型。深度模型主要采用递归、循环、卷积[等多层神经网络,通过单词嵌入进行学习和组合。在句子建模中,每个句子都被看作是一个词的序列。但是,单词包模型和主题模型忽略了句子中的词序信息。因为他们是词袋模型。
        但是无论使用何种组合模式,组合过程都是在每个单词嵌入句子的基础上进行的。在大多数情况下,这些单词嵌入是预先训练好的单词向量,由于这些嵌入是从一个庞大的语料库(超过数十亿个单词)中学习到的,所以可以将其视为一般的表示(也就是词的一般意思)。当应用于特定应用程序时,可以对这些单词嵌入进行微调,以提高性能。尽管构成模式在各种造句任务上表现出色,但这些模式忽略了单词的多义性。例如,bank有两个完全不同的意思:坡度的土地和金融机构,一个词的恰当意义应该由它出现的语境来决定。为了解决这些问题,一些作品提出multi-sense embeddings-based模型由多个sense-specific嵌入代表每个单词,和一些开创性的工作试图词义消歧融入各种语义成分模型捕获。在这些基于多义嵌入的组合语义模型中,在语义组合之前要执行两项操作:一是学习多义嵌入,二是消除词义的歧义。这两个部分是复杂和具有挑战性的,通常是分开进行的。
        为了解决上述问题,我们提出了一个轻量级和灵活的框架来消除组合模型中的歧义,通过引入主题模型。这个框架旨在将这两个步骤结合在一起。我们主要关注卷积神经网络(CNN)和长短期记忆网络(LSTM)两种特定的构成形式。然而,这些模型没有考虑到多意性的问题。依靠广泛使用的主题模型:潜Dirichlet分配(LDA),可以从特定任务语料库中词语的共现情况推断出词-主题分布p(w|z)和文档-主题分布p(z|d)。因此,可以根据概率p(zi|wj, dh)∝p(wj|zi)p(zi|dh)将主题分配给特定文档中的每个单词。由于句子的长度是有限的,而且整句话是消歧的合适语境,因此可以利用概率p(zi|wj, dh)来诱导同一词在不同语境下的不同意义。在这里,上下文被定义为句子本身。概率信息以及由固定长度向量编码的主题嵌入可以在CNN和LSTMs的两个不同级别(包括单词级和句子级)上集成。
z表示主题、d表示文档、w表示文档中的词、zi表示第i个主题、wj表示第j个词、dh表示第h个文档。

Related Work:

        由于本文的研究是基于主题模型和语义合成模型的,因此对这一领域的一些有价值的研究作了简要的回顾。同时也回顾了一些关于语义组合的多义词嵌入的研究。         主题模型LDA和PLSA。源自潜在语义分析,其目标是将文档术语出现矩阵的高维降为低维,表示为潜在主题。这些方法背后的基本思想是,文档中单词的选择很可能受到文档主题的影响。文档中每个单词的生成过程被认为是三个步骤的组合:首先为文档随机选择一个主题分布,然后从上述分布中选择一个主题,最后从词汇表中相应的分布中选择一个单词。在本研究中,我们使用LDA来获取单词的主题概率和主题文档概率,以丰富单词的嵌入,以便在深度合成模型中后续使用。         Semantic Compositional Models语义组合模型。语义组合模型的目标是在向量空间中表示更大的自然语言单位,如短语、句子和文档。组合操作在词级进行,根据分布信息理论,词的意义也由向量表示。根据所采用组分的性质,组分模型可分为浅模型和深模型。 Shallow Compositional Models浅层组合模型:单词之间的交互是通过代数运算建模的,包括向量加法、向量乘法和张量运算。在上述工作中,代数运算是固定的。在其他工作中,代数运算可以基于一些由语法关系或语义类型定义的监督设置来学习。研究发现,浅层组分模型有局限性。例如,添加模型忽略了单词的排序,因此可能无法捕获单词之间真正的语义交互。         深度组合模型deep composition model:本质是应用各种形式的多层神经网络,包括递归、循环和卷积神经网络在单词嵌入上学习和执行组合。在句子建模中,把句子看成是一个词的序列,其中每个词都用相应的嵌入词来表示。不同的神经网络采用不同的组成过程。例如,递归神经网络沿着单词序列一个接一个地进行合成,循环神经网络沿着预定义的二进制解析树进行合成,卷积神经网络(CNN)沿着滑动窗口进行合成。当组成过程通过整个序列时,所有单词在句子中的嵌入将被融合到一个最终的固定长度的向量中,以表示该句子。由于深层复合模型更能捕获自然语言单位(特别是句子或文档等更高的单位)下的语义信息,因此我们的工作侧重于深层复合模型。         Multi-sense Word Embeddings for Semantic Composition用于语义组合的多义单词嵌入:大多数单词嵌入模型都是用一个唯一的向量来表示一个单词,而不考虑其多义词和同义词。习得的嵌入可能是其多重词义的平均词义。为了缓解这个问题,最近的一些作品提出了多意义嵌入。常用对每个词的上下文预聚类来确定其具体意义。也有提出了主题性词嵌入,通过从LDA中获取单词的出现情况和主题信息来学习单词嵌入。其他一些工作依赖于外部资源,如用于单词消歧的Wikipedia(维基百科)和WordNet(认知语言学英语字典)。也有提出使用基于非参数模型的阈值,基于上下文预聚类自适应地确定每个词的词义数量。上面的大部分工作都是在词汇层面上进行语义建模,而没有考虑语义合成的过程。在最近的基于多义单词嵌入的语义组合的介绍和探索工作中,如下图所示的流水线框架通过以下三个步骤将单词的消歧纳入到语义组合中:(1)多义嵌入学习:每个单词由多个特定意义的嵌入表示;(2)意义归纳法:对于目标语言单位(句子),确定每个单词的意义及对应的嵌入词;(3)基于特定语义嵌入的表示学习:将组合模型应用于特定语义嵌入。浅层模型包括加法运算、乘法运算和张量运算以及先验消歧。

在这里插入图片描述

        我们所提出的主题感知深度合成框架与上述工作有以下几个方面的不同。首先,我们的框架是轻量级和灵活的,不需要多感知嵌入学习和感知归纳作为最终组合模块的分离步骤。通过主题意识,我们的模型中使用的单词嵌入包括两部分:从大型语料库中学习到的一般意义和从特定任务语料库中学习到的特定主题意义。因此,我们的框架不需要额外的多意义嵌入模型。其次,在我们所提出的框架中,应用的LDA模型利用了语料库的整体共现统计信息来进行消歧,而不是像之前的作品所要求的邻域上下文。在之前的这些工作中,上下文长度的超选择是一个非常棘手的问题。第三,与之前的工作相比,我们的框架具有更大的可扩展性,可以在此框架下开发各种不同神经网络的深度合成模型。在我们的工作中,我们以CNN和LSTMs这两个最新的合成模型为例,分别推导出了TopCNN和TopLSTMs这两个主题感知的合成模型。有一些作品将多个版本的单词嵌入到CNN模型中进行句子分类,其中一个版本的单词嵌入可以看作是一个频道。我们提出的TopCNN模型利用了单词嵌入和主题嵌入,这两种嵌入也可以看作是两个单词嵌入。但是,之前的工作仍然不能解决多义问题,因为每个通道中的单词嵌入是由语料库中出现的某一个单词所共享的。相比之下,我们作品中的主题嵌入是由单词在不同上下文中的出现决定的,即单词的概率信息。这意味着单词的主题嵌入是由上下文派生的,并且能够派生出多意义的单词嵌入。此外,我们作品中的主题嵌入可以包含在词和句子层面,而以往的作品只能在词层面整合多原型词嵌入。 ## TopCNN模型结构:

在这里插入图片描述

        这里我们采用了LDA的一个变体:Biterm主题模型(BTM),它对于短文本建模是有效的。也将学习主题的嵌入,用矩阵Wt∈RT乘以dt表示。对于单词嵌入,有各种公共资源,包括预先训练过的单词嵌入和用于实现的工具。对于主题嵌入,我们将提出四种简单而有效的方案来学习每个主题的表示。         首先,每个词都由两个部分组成:一个是从从大型语料库上学习词的一般意义的词向量,另一个是从特定任务的语料库中通过LDA学习到主题分布的概率,在通过BTM学习到的主题词嵌入,最终的主题词向量即为这两个的乘积。之后通过一个卷积层,这个卷积层主要是做特征提取,提取特征。(可以先学习一下CNN)。卷积层之后经过一个池化层,池化层做的是一个最大池化。得到一个单一的特征。通常使用不同权重和不同窗口大小的多个过滤器来得到一个特征向量。最大池操作背后的动机是过滤掉无意义的单词组合。最大池的另一个影响是,它生成一个固定长度的特征向量,而不考虑句子的长度。句子级:考虑到自然语言中的各种语义和语法模式,我们设计了具有不同窗口大小的多个过滤器,并随机初始化权重来匹配和捕获这些模式。经过卷积和maxpooling操作,生成的标量是应用在整个句子上的一个过滤器的输出。把最后得到的单一特征串联在一起。在把整个主题词向量的和最大池化的特征串联在一起。也即全连接层的输入是最大池化的特征与主题的嵌入串联在一起。主题嵌入表示是激活句子的全局上下文,最大池化的特征是激活句子的局部窗口。因此能够更好的表示。主题嵌入是主题的一个概率分布和主题嵌入的一个乘积得到的主题嵌入。最后经过一个全连接层,全连接层是一个两层的隐藏层。最后通过一个分类器进行句子分类。         训练和正则化:在给定预测输出和真实标签的情况下,可以计算训练语料库的交叉熵误差并将其反向传播以更新模型参数。模型参数包括滤波器权值、全连通隐层参数和softmax分类层参数。此外,单词嵌入和主题嵌入也进行了微调。为了避免过拟合,采用了正则化技术。也即损失函数为交叉熵+正则化项。

TopLSTM模型:

在这里插入图片描述

        TopLSTM模型与TopCNN模型类似,TopLSTM模型中单词的主题嵌入被合并到对应的单词嵌入中,然后将这些通用的和特定主题的单词嵌入连接到LSTM单元中。句子的主题嵌入也可以与后续步骤的输出连接。语句的学习表示最终被输入多个隐含层和最终的分类层。

主题嵌入学习的四种模型

        论文最后提出了主题嵌入学习的四种模型,包括随机模型、加法模型、局部神经模型和联合神经模型。随机模型:首先随机初始化这些主题嵌入,然后在训练阶段进行微调。可加性模型:可加性模型背后的动机非常直观,主题可以用一列排名靠前的单词表示,这些单词按属于该主题的概率排序。因此,主题的意义可以用这些排名最靠前的单词的意义Wt来近似,我们对这些排名最靠前的单词的嵌入量进行平均,得到主题的嵌入量。局部神经模型:该神经模型的灵感来自于高效的单词嵌入框架word2vec,包括连续单词包(CBoW)模型和Skip-Gram。CBoW的训练目标是结合上下文词的嵌入来预测目标词,而Skip-Gram的训练目标是通过上下文中的目标词和中心词来预测上下文词。在主题嵌入学习中,可以将文档中出现的单词替换为对应的主题。指定的主题被当作一个伪词来代替实际的词。联合神经模型:上述主题神经模型背后的一个问题在于,已学习的主题嵌入和单词嵌入之间可能存在较大的差异。由于主题神经模型将每个主题看作一个伪单词,所以主题嵌入是在没有单词信息的情况下学习的。为了解决这一问题,提出了一种联合神经模型,将每个词对而不是主题作为一个伪词。词对{词,词的主题}。与局部神经模型相比,联合神经模型可能会遇到稀疏性问题。而在该模型中,单词嵌入是在训练过程中进行预训练和固定的,而主题嵌入是在局部语料库中进行微调的。这种设置的优点有两方面:一是缓解了模型训练过程中的稀疏性问题,二是减少了已学单词嵌入和主题嵌入之间的领域差异。前两种方法属于懒惰方法,没有任何学习方案,后两种方法基于word2vec模型。主题神经模型和联合神经模型的区别在于,联合神经模型在训练过程中共同考虑单词和主题信息,而主题神经模型只依赖于主题信息。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值