信息通信
INFORMATION&COMMUNICATIONS
2019
(Sum.No204)
基于神经网络的文本分类
文
莎
(国防大学政治学院军事信息与网络舆论系,上海200433)
摘要:文章针对基于深度神经网络的方法给出一些具有代表性的文本分类模型,即基于词向量合成的模型、基于RNN/
CNN的模型和基于注意力机制的模型,并阐述其基本思想。关键词:文本分类;词向量合成;注意力机制中图分类号:TP391文献标识码:A文章编号:1673-1131(2019)12-0173-02
0引言
自然语言处理任务的特点和图像有极大的不同,其输入是一句或一段文本,因而有如下特点:首先,输入是一维线性词序列;其次,输入是不定长的;再者,单词或者子句的相对位置关系很重要,两个单词位置互换可能导致完全不同的意思;最后,句子中的长距离特征对于理解语义也非常关键。文本分类作为自然语言处理领域最经典领域之一,通过构建模型实现对新闻博客文章中主题分类、搜索引擎中用户查询意图、电商产品评论中情感判别等应用中的文本内容进行自动分类。
现今,各种各样的基于深度神经网络的文本分类方法被相继提出,其中最具有代表性的模型可分为三类:仅是在词向量基础上简单合成的模型、基于RNN/CNN的模型以及在已有神经网络模型基础上引入注意力机制的模型。
1在词向量基础上简单合成的模型
2013年Google的Mikolov等人提出了一个深度神经网
络词向量计算模型Word2Vec。Word2Vec是只有一个隐层的全连接神经网络,用来预测给定单词的关联度大的单词,效果显著。其中包含两个变体子模型CBOW和Skip-gram,前者通过窗口语境预测目标词出现的概率,后者使用目标词预测窗口中的每个语境词出现的概率。通过将文本内容中的词映射成K维实数表示向量,通过词间距来判断语义相似度,语义上相似或相关的词得到的表示向量也相近。
2014年Mikolov等人基于Word2Vec模型提出了Doc2Vec模型。它一个无监督学习算法,该算法用于预测一个向量来表示不同的文档,该模型的结构潜在的克服了词袋模型的缺点。其原理与Word2Vec相同,分为DM(DistributedMemory)和DBOW(DistributedBagofWords)。如图1所示,DM类似于Word2Vec中的CBOW模型,DBOW类似于Word2Vec中的Skip-gram模型。
图1Word2Vec与Doc2Vec
而FastText通过较简单的合成方式实现从词向量到句向量的表示,如图2所示,输入是词向量,句子中所有的词向量
进入AvgPooling层进行平均,然后输入到SoftMax层进行分类。FastText提出了子词嵌入(SubwordEmbedding)的方法,从而试图将构词信息引入Word2Vec中的跳字模型。FastText作为线性分类模型,适合大型数据并提供高效的训练速度。
图2FastText模型
2基于RNN/CNN的模型
当前CNN(卷积神经网络)和RNN(递归神经网络)是深度学习中的两个重要组成部分,基于卷积的CNN善于识别目标任务的结构,而RNN因其记忆功能而对序列识别建模具备优势。于自然语言处理任务,CNN和RNN亦各具优势。
2014年Kim提出基于CNN对文本进行分类的TextCNN算法,将卷积神经网络应用到文本分类任务,利用不同的通道数目和不同大小的卷积核来提取句子中的关键信息(类似于多窗口大小的n-gram),能够更好地捕捉局部相关性。如图3所示,将句子转化为词向量矩阵输入后,经过卷积和最大池化处理,这样不同长度句子变成了定长的表示,组合成筛选过的特征向量通过Softmax层输出每个类别的概率从而对文本分类。然而TextCNN只能在有限窗口下提取句子特征,无法考虑长距离依赖信息以及词序信息,因而会损失一些语义信息。
图3TextCNN模型
173
信息通信
RNN具有自动学习记忆文本序列特征的特点,在自然语言处理的文本处理上取得了很大的成功。其中双向LSTM(BiLSTM)是使用两个LSTM网络分别从前向和后向处理序列,可更全面地提取序列的上下文信息,从而使得分类效果更佳。如图4所示,将句子转换为词向量输入至双向LSTM中进行序列建模。
图4双向LSTM模型
TextCNN和双向LSTM在应对文本分类问题时,各有特色。TextCNN比较适合提取更复杂的文本特征;而双向LSTM对于文本特征的提取、语音的理解和长文本依赖问题有很好的适用性。因此有人将这两个模型组成混合模型,其结构如图5所示。整个网络主要由循环结构和MaxPooling两部分组成。循环结构以词向量为输入,经过双向LSTM的每个神经元处理输出的特征被连结成句子的特征矩阵,用作卷积神经网络的输入,来进行特征的二次提取;MaxPooling经过全连接网络层和SoftMax层处理获得文本的分类结果。
图5RCNN模型
3引入注意力机制的模型
注意力机制中,当预测一个元素,如句中的单词,可使用注意力向量来估计它与其他元素的相关程度,并将其值的总和作为目标的近似值。该思想最先在机器翻译任务中被提出,解决Seq2Seq中的编码过程中把源序列映射成固定长度的目标向量时存在“损失”信息的情况。后来注意力机制被推广到自然语言处理中的文本分类应用。下面介绍注意力机制中的分层注意力和自注意力。
分层注意力网络结构,如图6所示,网络可以被看作为两部分,第一部分为“词注意”部分,另一部分为“句注意”部分。整个网络通过将一个句子分割为几部分(例如可以用“,”将一句话分为几个小句子),对于每部分,都使用双向RNN结合“注意力”机制将小句子映射为一个向量,然后对于映射得到的一组序列向量,再通过一层双向RNN结合“注意力”机制实现对文本的分类。
大多数神经网络模型将文本分类成一维的向量,但是自注意力网络结构模型通过二维矩阵来表示句子,包括双向LSTM和自注意力机制两部分,自注意力机制实现对双向174
文莎:基于神经网络的文本分类
LSTM中所有的隐藏状态以不同权重的方式进行线形组合,
每一次组合获得句子的一部分表示,多次组合得到整体矩阵表示。
图6分层注意力模型
4结语
本文简述了几类具有代表性的基于神经网络的文本分类模型。不过,本文中提及的神经网络方法通常都是结合具体的应用根据有监督的信息进行训练,属于有监督方法,其实也有大量的方法是通过无监督的方法获得普适性的文本分类。
参考文献:
[1]信息检索导论,第14、18章.
[2]短文本理解,计算机研究与发展2016.[3]LDA数学八卦.
[4]
DistributedRepresentationsofWordsandPhrasesandtheirCompositionality,NIPS2013.
[5]DistributedRepresentationsofSentencesandDocuments,
ICML2014.
[6]BagofTricksforEfficientTextClassification,EACL2017.[7]ConvolutionalNeuralNetworksforSentenceClassification,
EMNLP2014.
[8]RecurrentConvolutionalNeuralNetworksforTextClassifi-cation,AAAI2015.
[9]HierarchicalAttentionNetworksforDocumentClassifica-tion,NAACL2016.
[10]AStructuredSelf-attentiveSentenceEmbedding,ICLR2017.作者简介:文莎(1986-),男,讲师,研究方向:信息存储、人工智能应用、大数据架构。
因篇幅问题不能全部显示,请点此查看更多更全内容