论文研读

Explicit Interaction Model towar

2019-01-09  本文已影响18人  SpareNoEfforts

文本分类的显式交互模型

摘要

  文本分类是自然语言处理的基本任务之一。最近,与浅模型相比,深度神经网络在文本分类任务中取得了有前途的性能。尽管深度模型具有重要意义,但它们忽略了细粒度​​(单词和类之间的匹配信号)分类线索,因为它们的分类主要依赖于文本级表示。为了解决这个问题,我们引入了交互机制,将词级匹配信号合并到文本分类任务中。特别是,我们设计了一个新的框架,EXPlicit interAction Model(被称为EXAM),配备了交互机制。我们在几个基准数据集上证明了所提出的方法,包括多标签和多类文本分类任务。大量实验结果证明了该方法的优越性。作为副产品,我们已经发布了代码和参数设置以方便其他研究。

简介

  文本分类是自然语言处理的基本任务之一,旨在将一段文本内容分类为一个或多个类别。 根据所需类别的数量,文本分类可以分为两组,即多标签(多类别)和多类(唯一类别)。 例如,将文章分类为不同的主题(例如,机器学习或数据挖掘)属于前者,因为文章可能同时处于几个主题之下。 相比之下,将电影的评论分类为其相应的评级等级属于多类组。 多标签和多类文本分词已广泛应用于许多领域,如情感分析(Cambria,Olsher和Rajagopal 2014),主题标记(Grave等2017)和文档分类(Yang et al.2016)。

  特征工程在很长一段时间内主导了传统浅文本分类方法的性能。 各种基于规则和统计的特征,如词袋(Wallach 2006)和N-gram(布朗等1992)被设计用于描述文本,并被用于浅层机器学习模型,如线性回归(Zhu和 Hastie 2001)和支持向量机(Cortes和Vapnik 1995)作出判断。 传统解决方案存在两个缺陷
1)人工提取特征的高劳动强度,
2)数据稀疏性(在给定数据集中N-gram只能发生几次)。

  最近,由于能够解决上述问题,深度神经网络(Kim 2014; Iyyer等人2015; Schwenk等人2017; Liu,Qiu和Huang 2016; Grave等人2017)已成为用于文本分类的有希望的解决方案 。 深度神经网络通常学习输入文本的单词级表示,输入文本通常是矩阵,每行/列作为文本中单词的嵌入。 然后,他们将字级表示压缩为具有聚合操作(例如,池化)的文本级表示(向量)。 此后,网络最顶部的全连接(FC)层做出最终决定。 请注意,这些解决方案也称为 基于编码的方法 (Munkhdalai和Yu 2017),因为它们将文本内容编码为潜在的向量表示。

  虽然已经取得了很大的成功,但是这些基于深度神经网络的解决方案自然地忽略了细粒度分类线索(即,词和类之间的匹配信号),因为它们的分类基于文本级表示。 如图1所示,这些解决方案的分类(即FC)层通过点积操作将文本级表示与类表示相匹配。 在数学上,它将FC层的参数矩阵解释为一组类表示(每列与一个类相关联)(Press and Wolf 2017)。 这样,文本属于某个类的概率很大程度上取决于它们的整体匹配分数,而不是字级匹配信号,然后这些信号将提供用于分类的显式信号(例如,导弹强烈地指示军事的主题)。


图1:使用文本级匹配进行文本分类的基于编码的方法示意图

  为了解决上述问题,我们引入了交互机制(Wang和Jiang 2016b),它能够将字级匹配信号结合到文本分类中。 交互机制背后的关键思想是明确计算单词和类之间的匹配分数。 从单词级表示来看,它计算交互矩阵,其中每个条目是单词和类之间的匹配分数(它们的表示之间的点积),说明了单词级匹配信号。 通过将交互矩阵作为文本表示,后面的分类层可以包含细粒度的单词级信号以用于更精细的分类,而不是简单地进行文本级匹配。

  基于交互机制,我们设计了一个EXPlicit interAction Model(称为EXAM)。 具体而言,我们提出的框架由三部分组成:字级编码器交互层聚合层。 字级编码器将文本内容投影到字级表示中。 此后,交互层计算单词和类之间的匹配分数(即,构建交互矩阵)。 然后,最后一层将这些匹配分数聚合成每个类的预测。 我们在多标签和多类文本分类上证明了我们提出的EXAM模型。 几个基准测试的广泛实验证明了所提方法的有效性,显著超越了对应的最新方法。

  总之,这项工作的贡献有三个:

准备工作

  在本节中,我们将介绍两种广泛使用的字级编码器:Gated Recurrent Units(GRU)(Chung et al.2014)和Region Embedding(Qiao et al.1188)。 这些编码器将一段输入文本投影到单词级表示中,作为所提方法的构建块。 对于本文中的符号,我们使用粗体大写字母(例如,X)和粗体小写字母(例如,x)分别表示矩阵和向量。我们使用非粗体字母(例如,x)来表示标量,以及 希腊字母(例如\alpha)作为参数。 X_{i,:}用于表示矩阵X的第i行,X_{:, j}表示第j列向量,X_{i,j}用于表示第i行和第j列交叉的元素。

Gated Recurrent Units

  由于能够捕获顺序依赖性并且易于优化(即避免梯度消失和爆炸问题),Gated Recurrent Units(GRU)成为广泛使用的字级编码器(Liu,Qiu和Huang 2016; Yogatama et al.2017)。 通常,GRU在两个阶段中生成字级表示:
1)将文本中的每个字映射到embedding(实值向量),
2)将word embeddings序列投影到隐藏表示序列中,其编码顺序依赖。

Word embedding:字嵌入是将字从one hot向量映射到低维和实值向量的一般方法。 通过足够的数据,字嵌入可以捕获单词的高级表示。
Hidden representation:给定一个embedding特征序列:E=[{E_{1,:}},{E_{2,:}},...,{E_{n,:}}]GRU将为每个E_{i,:}的第i个时间步长的时候计算出一个向量 H_{i,:}H_{i,:}定义如下:

\begin{equation} \left\{ {\begin{array}{*{20}{c}} {{r_i} = \sigma ({M_r} \cdot [{H_{i - 1,:}},{E_{i,:}}]),}\\ {{z_i} = \sigma ({M_z} \cdot [{H_{i - 1,:}},{E_{i,:}}]),}\\ {\widetilde {{H_{i,:}}} = \tanh ({M_r} \cdot [{H_{i - 1,:}},{E_{i,:}}]),}\\ {{H_{i,:}} = (1 - {z_i})*{H_{i - 1,:}} + {z_i}*\widetilde {{H_{i,:}}}} \end{array}} \right. \end{equation}

M_rM_zGRU中是可训练的参数,而\sigmatanh分别是sigmoidtanh激活函数。 隐藏表示的序列H = [H_{1,:},..., H_{n,:}]表示为输入文本的单词级表示。

Region Embedding

  尽管word embedding是单词的不错的表示,但它只能计算单个单词的特征向量。 【Qiao等人(2018)】提出了Region Embedding来学习和利用Ngrams的任务特定的分布式表示。 在Region Embedding中,单词的表示有两部分,单词本身的embedding和与本地上下文交互的加权矩阵。 对于单词w_i,通过嵌入矩阵E \in { \mathbb{R}^{k \times v}}学习第一部分e_{w_i},并且通过w_i在字典中的下标 在张量U \in {\mathbb{R}^{k \times (2 \times s + 1) \times v}}中查找第二部分{K_{{w_i}}} \in {\mathbb{R}^{k \times (2 \times s + 1)}},其中v是词汇表的大小,2\times s + 1是区域大小,k是embedding大小。 然后,K_{{w_i}}中的每一列用于与w_i的相应相对位置中的上下文单词交互,以获得该区域中针对每个单词w_{i + t}的上下文感知p_{_{{w_{i + t}}}}^t。 正式地,它由以下函数计算:

\begin{equation} p_{_{{w_{i + t}}}}^t = {K_{{w_{i,t}}}} \odot {e_{{w_{i + t}}}} \end{equation}
其中\odot表示元素对位相乘。并且中间词w_i的最终表示r_{i,s}计算如下:
\begin{equation} {r_{i,s}} = \max ([p_{{w_{i - t}}}^i,p_{{w_{i - s + 1}}}^i,...,p_{{w_{i + s - 1}}}^i,p_{{w_{i + s}}}^i]) \end{equation}

模型

问题描述

模型概述

  由于缺乏细粒度分类线索的基于编码的文本分类模型的局限性,我们提出了一种新的框架,名为EXPlicit nterAction Model(EXAM),利用交互机制来合并字级匹配信号。 从图2中可以看出,EXAM主要包含三个组件:

  考虑到在先前的研究中已经很好地研究了字级编码器(如第2节所述),并且这项工作的目标是学习细粒度分类信号,我们仅在以下小节中详细说明交互层和聚合层。。

交互层

  交互机制广泛应用于匹配源文本内容和目标文本内容的任务,如自然语言推理(Wang和Jiang 2016b)和基于检索的聊天机器人(Wu et al.2017)。交互机制的关键思想是使用小单元之间的交互特征(例如,文本内容中的单词)来推断两个内容是否匹配的细粒度线索。受 配有基于编码的方法的交互机制以匹配文本内容的方法的成功启发,我们将交互机制引入到将文本内容与其类(即文本分类)匹配的任务中。

  具体来说,我们设计了一个交互层,旨在计算单词和类之间的匹配分数。与传统交互层不同,传统交互层使用GRU等编码器提取源和目标的词级表示,这里我们首先将类投影到实值潜在表示中。换句话说,我们使用可训练的表示矩阵T \in {\mathbb{R}^{c \times k}}来编码类(每行代表一个类),其中c表示类的数量,k是embedding大小,等于单词size。然后我们采用点积作为交互函数来估计目标词t和类s之间的匹配分数,公式如下:
\begin{equation} {I_{st}} = {T_{s,:}}H_{t,:}^T \end{equation}
其中H \in {\mathbb{R}^{n \times k}}表示文本的字级表示,由编码器提取,其中n表示文本的长度。 通过这种方式,我们可以通过以下方式计算交互矩阵I \in {\mathbb{R}^{c \times n}}
\begin{equation} {I} = {T}H^T \end{equation}
请注意,我们拒绝更复杂的交互函数,例如元素对位乘法(Gong,Luo和Zhang 2017)和余弦相似度(Wang,Hamza和Florian 2017)以考虑效率。

聚合层

  该层被设计为将每个类s的交互特征聚合成logits o_i^s,其表示类s和输入文本d_i之间的匹配分数。 聚合层可以以不同的方式实现,例如CNN(Gong,Luo和Zhang 2017)和LSTM(Wang,Hamza和Florian 2017)。 但是,为了保持EXAM的简单性和高效性,这里我们只使用具有两个FC层的MLP,其中ReLU是第一层的激活函数。 形式上,MLP聚合 类s的交互特征I_{s,:},并计算其关联的logits如下:
\begin{equation} \left\{ {\begin{array}{*{20}{c}} {{A_{s,:}} = {\mathop{\rm Re}\nolimits} LU({I_{s,:}}{W_1} + b)}\\ {o_i^s = {A_{s,:}}{W_2}} \end{array}} \right. \end{equation}
其中,W_1W_2是可训练的参数,b是第一层中的偏差bias.
  然后我们将logits标准化为{o_i} = [o_i^1,...,o_i^c]
进入概率p_i。 请注意,我们遵循以前的工作(Grave et al.2017),并分别使用softmaxsigmoid进行多类和多标签分类。

损失函数

  与之前的研究(Schwenk et al.2017)类似,在multi-class文本分类中,我们使用交叉熵损失作为我们的损失函数:
根据之前的研究人员(Grave et al.2017),我们选择二元分类损失作为多标签损失函数:

基于广义编码的模型

  在本节中,我们将详细说明如何将基于编码的模型解释为EXAM框架的特例。 由于FastText(Grave et al.2017)是最受欢迎的文本分类模型,并且已在文献中进行了广泛的研究,因此能够恢复它允许EXAM模仿大量的文本分类模型。
  FastText包含三层:
1)用于获得字t的字级表示的嵌入层H_{t,:}
2)用于获得文本级表示f \in {\mathbb{R}^{1 \times k}}平均池化层
3)用于得到最终的 logits p \in {\mathbb{R}^{1 \times k}}FC层
其中k表示embedding大小,c表示类的数量。 请注意,我们为了简明扼要省略了文档ID的下标。 形式上,它计算第s类的logits p^s如下:
\begin{equation} \left\{ {\begin{array}{*{20}{c}} {f = \frac{1}{n}\sum\limits_{t = 1}^n {{H_{t,:}}} }\\ {{p^s} = f{W_{:,s}} + {b_s}} \end{array}} \right. \end{equation}
其中W \in {\mathbb{R}^{k \times c}}b \in {\mathbb{R}^{1 \times c}}是最后一个FC层中的可训练参数,n表示文本的长度。 上面那个函数具有如下形式:
\begin{equation} {p^s} = \frac{1}{n}\sum\limits_{t = 1}^n {({H_{t,:}}{W_{:,s}}) + {b_s}} \end{equation}

  值得注意的是,{H_{t,:}}{W_{:,s}}正好是单词t和类s之间的交互特征。 因此,FastTextEXAM的一个特例,其中平均池化层作为聚合层。 在EXAM中,我们使用非线性MLP作为聚合层,并将FastText概括为非线性设置,这可能比原始设置更具表现力。

实验

Multi-Class分类

数据集 我们使用来自(Zhang,Zhao和LeCun 2015)的公开可用基准数据集来评估EXAM。 共有6个文本分类数据集,分别对应于情感分析,新闻分类,问答和本体提取任务。表1显示了我们实验中使用的数据集的描述性统计。 斯坦福标记器用于标记文本,所有单词都转换为小写。 我们使用padding来处理文本的各种长度,并且分别为每个数据集设置不同的最大长度。 如果文本的长度小于相应的预定义值,我们用零填充它; 否则我们会截断原文。 为了保证公平比较,采用了(Zhang,Zhao和LeCun 2015)的相同评估协议。 我们将来自训练集的10%样本分离为验证集,以便为我们的模型执行早期停止(early stop)。

表1 :数据集统计

超参数 对于multi-class任务,我们选择region embedding作为EXAM中的编码器。 区域大小为7,embedding大小为128.我们使用adam(Kingma和Ba 2014)作为优化器,初始学习率为0.0001,批量大小设置为16.对于聚合MLP,我们设置隐藏层的大小 为2倍交互特征长度。 我们的模型由MXNet(Chen等人,2015年)使用单个NVIDIA TITAN Xp实现和训练。

基线为了证明我们提议的EXAM的有效性,我们将其与几个最先进的基线进行了比较。基线主要有三种变体:
1)基于特征工程的模型;
2)基于字符(Char)的深度模型,
3)基于字(Word)的深度模型。
第一类使用文本中的特征进行分类,我们报告了BoW(Zhang,Zhao和LeCun 2015),N-gram(Zhang,Zhao和LeCun 2015)和Ngrams TFIDF(Zhang,Zhao和LeCun 2015)的结果作为基线。
第二个意味着模型的输入是原始文本中的字符,我们选择了Char-CNN(Zhang,Zhao和LeCun 2015),Char-CRNN(Zhang,Zhao和LeCun 2015)和VDCNN(Schwenk)等人,2017年)作为基线。
对于基于单词的深度模型,文本被预先分割为单词作为输入,我们应用小词CNN[Small word CNN](张,赵和LeCun 2015),大词CNN[Large word CNN](张,赵和LeCun 2015), LSTM(Zhang,Zhao和LeCun 2015),FastText(Grave et al.2017)和WC RegionEmb(Qiao et al.2018)作为基线。值得强调的是,所有基线和我们的EXAM都不会使用预先训练过的word embedding而不是像glove这样的其他语料库。

整体性能
我们将EXAM与几个最先进的基线进行了比较,以确保准确性。 所有结果总结在表2中。

表2:multi-class文档分类任务的测试集准确度[%],基线的所有结果直接引自相应的论文。 三个不同的模型由线分开。 该类别的最佳分数标有下划线,整体最佳分数用粗体字突出显示。

观察到以下四点:

组分评估
我们研究了模型的变体,以进一步研究交互层和聚合层的有效性。我们构建了一个名为EXAM_{Encoder}的模型,仅保留具有最大池层和FC层的编码器组件,以获得最终概率。 EXAM_{Encoder}不考虑类和单词之间的交互功能,因此它会自动退化为基于编码的模型。我们在表3的所有数据集上报告了两个模型的结果,很明显EXAM_{Encoder}不是原始EXAM上的补丁,验证了交互机制的有效性。我们还绘制了EXAM的汇聚线和数据集的EXAM_{Encoder}。从图3中,红线代表EXAM而蓝色代表EXAM_{Encoder},我们观察到EXAM相对于所有数据集的收敛速度比EXAM_{Encoder}快。因此,交互不仅带来性能提升,而且带来更快的收敛。可能的原因是,与第4节中提到的平均池化层相比,非线性聚合层引入了更多参数以适应交互特征。

表3:组分评估 图3:四个数据集DBP, Amz. F., Amz. P. 和Yah. A.上的收敛线

Multi-Label分类

数据集

我们分别在两个不同的多标签文本分类数据集上进行了实验,分别命名为KanShan-Cup 数据集(基准)和Zhihu数据集

基线

我们应用以下模型作为基线来评估EXAM的有效性。

超参数

  我们通过MXNet(Chen等人,2015)实现了基线模型和EXAM。我们使用word2vec训练的矩阵(Mikolov等人2013)初始化embedding层,embedding大小为256.我们采用GRU作为编码器 ,每个GRU Cell有1,024个隐藏状态。 积累的MLP有60个隐藏单位。我们应用Adam(Kingma和Ba 2014)在一个NVIDIA TITAN Xp上优化模型,批量大小为1000,初始学习率为0.001。 验证集用于提前停止以避免过度拟合。 所有超参数都是凭经验选择的。

指标

  我们使用以下指标来评估我们的模型和基线模型的性能。

性能比较

  表4给出了我们的模型和基线关于PrecisionRecall @ 5F_1在两个不同数据集的性能。

表4:EXAM和基线之间的性能比较

我们从表4中观察到以下情况:

图4:EXAM交互功能的可视化
交互可视化

  为了说明显式交互的有效性,我们想象了一个问题的互动特征I:“Second-hand TIDDA 1.6 T Mannual gear has gotten some problems, please everybody help me to solve it?”。 这个问题有5个主题:Car, Second-hand Car, Motor Dom, Autocar Conversation and Autocar Service。 EXAM只误分类了最后一个主题。 在图4中,我们观察到在对不同主题进行分类时,交互功能是不同的。 “Car”和“Second-hand Car”这两个主题非常注重像“Second-hand TIIDA”这样的词汇,而另一个主题如“Autocar Conversation”更侧重于“got some problems”。 结果清楚地表明,单词和类之间的交互特征是很好学习的和非常有意义的。

相关工作

文本分类

现有的文本分类研究可以分为两类:基于特征的模型和深度神经模型。前者侧重于人工特征,并使用机器学习算法作为分类器。词袋(Wallach 2006)是进行特征工程的一种非常有效的方法。 SVM和朴素贝叶斯一直是分类器。后者,深度神经模型,利用神经网络完成数据模型学习,已成为文本分类的有前途的解决方案。例如,Iyyer等人 (2015)提出深度平均网络(DAN)和Grave等人(2017)提出了FastText,两者都很简单但效率很高。为了获得文本中单词之间的时间特征,一些模型如TextCNN(Kim 2014)和Char-CNN(Zhang,Zhao和LeCun 2015)利用卷积神经网络,还有一些模型基于递归神经网络(RNN)。最近,约翰逊等人。 (2017)研究了剩余架构并建立了一个名为VD-CNN和Qiao等人的模型。 (2018)提出了一种用于文本分类的区域嵌入的新方法。但是,如简介中所述,所有这些方法都是文本级模型,而EXAM在单词级别进行匹配。

互动机制

交互机制广泛应用于自然语言句子匹配(NLSM)。 交互机制的关键思想是使用小单元之间的交互特征(如句子中的单词)进行匹配。 王等人。 (2016b)提出了一个“匹配 - 聚合”框架来执行自然语言推理中的交互。 在这项工作之后,Parikh等人。 (2016)将注意力机制整合到这个称为可分解注意力模型的框架中。 然后是王等人。 (2016a)讨论了文本匹配中的不同交互功能。 Yu等人。 (2017)采用树-LSTM来获得不同级别的单元来进行交互。 龚等人。 (2017)提出了一个密集交互式的推理网络,使用DenseNet来聚合密集的交互功能。 我们的工作与它们不同,因为它们主要将这种机制应用于文本匹配而不是分类。

结论

在这项工作中,我们提出了一个名为EXAM的新框架,它使用交互机制来明确地计算文本分类的单词级交互信号。 我们将建议的EXAM应用于多类和多标签文本分类。 对几个基准数据集的实验验证了我们提出的机制的有效性。 将来,我们计划研究不同交互功能在交互机制中的作用。 此外,我们感兴趣的是通过引入更复杂的聚合层(如ResNet或DenseNet)来扩展EXAM。

致谢

国家重点基础研究发展计划(973计划),编号:2015CB352502;
国家自然科学基金,编号:61772310,编号:61702300,编号:61702302;
2016年千人计划项目;
与腾讯AI Lab Rhino-Bird联合研究计划(No.JR201805);
山东大学基础研究基金(No. 2017HW001)。

参考文献

上一篇下一篇

猜你喜欢

热点阅读