Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

殷达作者

一文带你速览分层注意力网络在文本分类中的应用

2016年,神经网络文本分类的任务上逐渐成为了主流方法之一。Word2vec等预训练词向量模型为文本任务提供了一个具有很强语义信息的输入,而卷积神经网络和LSTM/GRU也已表现出了在序列任务上的聚合能力。前者可以像n-gram模型一样将前后的信息用一个滑动窗口整合在一起,而后者则是能够在长距离上捕获信息,对于前后顺序极其敏感的文本序列输入非常有效。

注意力机制的引入进一步推动了神经网络模型在文本任务以及自然语言处理上的发展。它不仅能够帮助模型更好地利用输入中的有效信息,而且还对神经网络模型的行为提供了一定的解释能力。

本文介绍的“Hierarchical Neural Networks for Document Classfication”在传统注意力机制的基础上,考虑到了文本的内部结构:文本内的信息本身具有不同层级,比如最底层的字符级别、词语级别到上层的短语级别、句子段落级别。这篇论文将其与注意力机制结合,分别在词语级别上以及句子级别上做了注意力机制的建模,不仅提升了文本分类的效果,而且关注到了不同词语在不同类别上表征特性的变化。

这篇文章提出的分层注意力网络(Hierarchical Attention Network)的结构如上图所示。输入层使用了预训练的200维word2vec词向量,文章中也提到这一部分可以进一步用字符级别的编码模型来构建词向量。在编码层方面,上下两层编码器都采用了50维隐含层的双向GRU结构。在每个编码层之上,采用了注意力机制

GRU训练速度更快,LSTM记忆能力更好

GRU模型相较于传统的RNN模型,使用了重置门(Reset Gate)r和更新门(Update Gate)z,它们共同决定当前信息如何传递到下一时间。相较于LSTM,GRU的参数更少(GRU只有两个控制门而LSTM有三个),因此GRU的训练速度会相对快一些,对于较小规模数据的学习效果相对更好。LSTM则是在较长的序列上有更好的记忆能力。

笔者认为由于模型的输入已经将长文本变为一些句子分别进行输入,输入文本的预期长度相较于原输入会短很多,因此在这里采用了GRU。

HAN中一种基础的注意力机制

在2016年“Attention is All you need”还未出来时,注意力机制已经和LSTM/CNN等序列模型有了很好的结合。相较于直接使用RNN最后的输出,或是使用Max-Pooling或者Average-Pooling在RNN的所有输出上做聚合,使用注意力机制能够更好地利用不同时间点上RNN单元的输出,而且还为模型的行为提供了一定程度的解释。

上图所示的公式便是在HAN中使用的比较基础的一种注意力机制。这里先用一个单层MLP获得输入的隐含表示,然后再用非线性层(tanh)加上softmax做正规化处理得到权重,最后依据这些权重做线性叠加得到重新分配权重后的序列表征。


在模型的最后,HAN采用了单层MLP加softmax做文本分类,并使用negative log likelihood作为训练目标。

原论文在Yelp Review,IMDB reviews,Yahoo reviews以及Amazon Review上做了一系列实验,比较了HAN以及几种经典的Baseline模型的效果。其中,分层注意力网络在各个数据集上都取得了很好的效果提升。

层次网络相较于之前有一定提升

文章指出,在长文本方面,朴素的神经网络模型(LSTM,CNN-word,CNN-char)并没有比传统机器学习模型(SVM)有很大的提升,它们没有充分利用层次信息。显式地使用层次信息(HN-AVE,HN-MAX,HN-ATT)则有非常显著的提升,而且本文的层次网络相较于之前使用层次信息的Conv-GRNN以及LSTM-GRNN也有一定的提升。

注意力机制帮助模型有更高输出

注意力机制对于词语信息的权重重分配,可以帮助模型在相应分类上有着更高的输出。比如对于一个评论,“good”往往象征着积极的评论。如下图所示,横坐标是权重的大小,纵坐标是出现的比例,图3(a)图是“good”在所有案例中的分布,(b)到(f)分别是评分1~5的案例中good的分布情况。可以看到,对于较好的评分(e/f图对应4/5分),”good”的权重往往会较大。

图4中bad的分布正好相反:评分越高bad的权重越小。

层次信息+注意力机制=提高模型的理解分析能力

层次信息的使用加上注意力机制,能够让模型在做出判断时,忽略掉一些干扰信息。比如下图分别是评分为4和评分为0的两个案例的注意力分配情况。左侧的红方块深浅代表句子权重,右侧的蓝方块深浅代表词语权重。可以看到在评分为4的案例中出现了don’t even like这样的信息,虽然这几个词的权重都相对较高,但是句子上的权重把这个影响忽略掉了。

在右侧评分为0的案例中,同样出现了good这样的积极词汇,但是同样地,句子上的权重帮助模型将注意力放在了收尾两句情感意向非常明显的信息上,从而做出了正确的判断。可见层次信息与注意力机制的结合确实提高了模型的理解分析能力,表现出了文本中句子层次上结构信息的重要性。

原文

Yang,Zichao, et al. "Hierarchical attention networks for documentclassification." Proceedings of the 2016 Conference of the NorthAmerican Chapter of the Association for Computational Linguistics: HumanLanguage Technologies. 2016.

引用

https://towardsdatascience.com/what-is-a-recurrent-nns-and-gated-recurrent-unit-grus-ea71d2a05a69

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
理论注意力网络文本分类
3
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

word2vec技术

Word2vec,为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。 训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系。该向量为神经网络之隐藏层。 Word2vec依赖skip-grams或连续词袋(CBOW)来建立神经词嵌入。Word2vec为托马斯·米科洛夫(Tomas Mikolov)在Google带领的研究团队创造。该算法渐渐被其他人所分析和解释。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

推荐文章
暂无评论
暂无评论~