相关电子技术论文

相关标签

基于层次注意力模型的文本分类研究

发布时间:2019-12-03 17:49

  摘 要

  互联网的普及改变了人的生活方式。电子邮件、在线新闻、网上问答、电子商务等越来越多的互联网服务在提供便利丰富生活的同时,也快速产生着数量庞大、内容丰富的文本信息资源,并催生了大数据的概念。文本分类技术通过计算机实现高速的文本自动分类,对检索、组织和管理当今的海量文本数据有着重要的现实意义。

  基于深度学习的文本分类是近年来文本分类的研究热点。卷积神经网络、循环神经网络及长短时记忆、门式循环单元等新模型提升了文本特征提取的准确程度,推动了文本分类研究的进一步发展。注意力机制对文本中的词或句结合上下文施以不同注意程度,实现了更精细、更准确的文本特征提取。层次注意力网络模型更是建立了文本-句-词多级的层次结构,并引入了词、句级注意力机制。实验表明,基于层次注意力网络的文本分类实现了文本分类准确率水平的新高度。

  结构化自注意句嵌入作为最近提出的句嵌入模型,旨在通过矩阵结构实现具备自注意能力的句嵌入模型,以此提取句子中侧重于不同层面的多重语义,为本文的创新尝试提供了理论基础。

  本文的主要工作包含:

  (1) 研究并基于TensorFlow机器学习框架实现了基于层次注意力网络的文本分类技术,进行了实验验证并对层次注意力进行了可视化输出与分析。

  (2) 研究并引入了结构化自注意句嵌入模型以尝试对层次注意力网络模型实现改进创新。本文实现了基于结构化自注意句嵌入的层次注意力网络模型,进行了多组实验,并展开了对比分析。

  关键词:文本分类;注意力机制;层次注意力网络;结构化自注意句嵌入

  前 言

  随着互联网的诞生及持续发展带来的信息爆炸,过去人工组织、管理文本的方式无法有效地应对海量的文本信息。如何借助计算机的力量实现高速、准确的文本自动分类是当今时代迫切需求、值得研究的问题。文本分类最早起源于知识工程的研究。自19世纪50年代至今,经过研究人员的不懈努力,今天的文本分类技术已取得了较好的分类效果。文本分类作为自然语言处理领域的基础性课题,其理论和技术已在垃圾邮件检测、情感分析、文本主题分类等领域得到了广泛的应用。

  早期的文本分类方法受限于人们当时对自然语言处理的认知局限,认为要对文本进行分类处理,需要让计算机学习和掌握人对语言的理解能力,因此主要采用基于规则的分类方法,通过大量编写分类规则实现文本分类。基于规则的文本分类在处理当时规模相对较小、主题相对较单一的文本时取得了成果,但随着文本数量和多样性的快速增长,依靠人工大量编写规则变得耗时耗力、难以为继。因此,文本分类转向基于统计的分类方式。自基于统计的文本分类诞生以来,文本分类技术经历了从使用线性模型或内核方法对文本的稀疏词汇特征进行分类,到近期的基于神经网络方法对文本表示特征向量进行分类的发展历程。随着对神经网络研究的深入,深度学习开始流行并在各个领域取得了有效的应用,基于深度学习的文本分类方法是目前的研究热点。

  基于层次注意力网络(Hierarchical Attention Network)的文本分类技术是Yang等人于2016年发表的新成果[1]。该模型在文本特征提取中建立了层次结构并引入了注意力机制,有效提升了文本分类水平。实验表明,基于层次注意力网络的文本分类技术明显领先于过去的文本分类技术,创造了近年文本分类领域研究的新高度。

  本文以基于层次注意力网络的文本分类方法为主要研究对象,且以该模型为基础开展创新尝试,实现了基于结构化自注意句嵌入(Structured Self-Attentive Sentence Embedding)[2]的层次注意力网络模型并进行了文本分类实验和对比分析。

  第一章 绪 论

  本章首先介绍文本分类技术的研究背景及其意义,随后介绍文本分类的发展历程及技术概况,接下来介绍本篇论文的主要研究内容及创新点,最后介绍本文的组织结构。

  一.1 研究背景及意义

  在互联网自1969年诞生以来迄今近50年的发展历程中,电子邮件、即时通信、在线新闻、在线社区、电子商务等应用急剧诞生并快速流行。根据We Are Social和Hootsuite最新发布的2018全球数字报告,截至2018年1月,全球互联网用户已达40.21亿人,渗透约53%全球人口[3]。与此同时,如图1.1所示,根据最近五年的统计数据,全球互联网用户数、活跃社交用户数、移动用户数、活跃移动社交用户数均逐年持续显著增长[3][4][5][6][7],最近的2017年1月至2018年1月间增长2.48亿人,同比增长约7%[3][4]。越来越多的组织和个人加入到信息的创造和交换中,加速了信息数字化的进程,对信息的检索、组织和管理提出了更大的需求,并催生了近年流行的大数据的概念。

  自然语言作为人们交换信息的基本方式,随着互联网的高速普及,数字化的文本信息加数量增长尤为迅猛。这些信息不仅数量巨大,而且为了便于存储和传输,大量采用结构化或半结构化形式,例如:HTML(HyperText Markup Language)、XML(eXtensible Markup Language)、JSON(JavaScript Object Notation)。文本信息的浩瀚数量以及为机器解析与生成而设计的表示形式,均使得如何高效地对文本信息进行处理成为一个意义重大的课题。其中,文本分类问题作为自然语言处理领域的基础性问题,有着广泛的应用和影响。文本分类技术在主题标记、情感分析、垃圾邮件检测等实际问题上都有着直接应用。主题标记基于文本分类找出文本最有可能的一个或若干个主题类别;情感分析基于文本分类找出文本中蕴含的一个或若干个情感类型;垃圾邮件检测基于文本分类对邮件主题、正文、发件人等信息进行分类,判断是否为垃圾邮件。因此,文本分类的水准在根本上决定了这些实际应用的实现水平

  近期对文本分类的研究主要围绕基于神经网络的文本分类方法。Bahdanau等人于2014年在研究机器翻译的过程中提出了注意力机制(Attention Mechanism)[8],最初用于词一级,其核心思想是:解码器(decoder)在解码生成出译文时,译文中的每个词应取决于原文中的多个词,但原文中的多个词对译文中每个词的影响有大有小。生成译文词时,解码器更多地注意当前原文句子中相关性高的词,更少地注意当前原文句子中相关性低的词。注意力机制用于文本分类问题时,即意味着一个文本由句、词或其它方式拆分,每个组成部分对文本分类的影响是不同的。注意力机制在文本分类问题中取得了成功的运用。Yang等人于2016年提出了层次注意力网络模型并用于文本分类[1]。该模型实现了层次结构的注意力机制,即:文本由句子组成,因为不同的句子对文本的影响大小是不同的,因此文本对其包含的句子应施以不同的注意力;句子则由词组成,因为不同的词对句子的影响大小是不同的,因此句子对其包含的词应施以不同的注意力。实验表明,基于层次注意力网络模型的文本分类创造了文本分类的新高度。

  一.2 文本分类概述

  文本分类的目标是为文本分配标签。文本分类是指通过文本分类方法,把文本归类到既定的类型中。

  文本分类作为自然语言处理领域的基础性研究,文本分类研究的发展历史和发展阶段与自然语言处理的发展历程紧密结合。自然语言处理从20世纪50年代开始,而文本分类也从这时开始。在20世纪50年代至20世纪70年代期间,自然语言处理还处于早期的发展阶段,这一阶段的研究思想饱受传统语言学研究的影响,认为要让计算机能处理自然语言,就应该让计算机能够学会人理解和处理语言的方式。而当时的人们认为人理解语言的方式是通过学习语法,继而掌握分析语句和理解语义的能力。因此这一阶段的自然语言处理方法主要围绕编写语言的处理规则展开。具体到实现文本分类,就需要针对特定的分类文本,进行研究分析,编写大量分类规则,通过匹配分类规则来实现判定文本的分类类别。这一阶段的研究人员实现了一系列对自然语言语句的文法分析器,编写了大量的语法规则,取得了一定的成果。但是,随着文本信息的类型和数量的大量增加,依靠规则实现自然语言处理难以应对文本信息复杂化、多样化的趋势。对于内容丰富、结构复杂的句子,文法分析器需要建立庞大、复杂的文法分析树才能实现对句子的分析处理,这对于依赖人工编写规则的处理方式是难以实现的,而真实语句中恰恰包含大量复杂的、甚至并不严格遵循语法的语句。

  从20世纪70年代开始,人们开始寻找解决自然语言处理的新思路,对自然语言的处理方法开始从基于规则转向基于统计,文本分类研究也进入了基于统计的阶段。在基于统计的文本分类方法中,传统方法基于稀疏词汇特征(Sparse Lexical Features)实现文本表示,典型的方法有如:词袋模型(BoW, Bag of Words)、n-grams模型,再通过线性模型或核模型来计算分类。这类方法基于向量空间模型(VSM, Vector Space Model)来建立文本表示,即把变长的文本表示为定长的特征向量。特征向量的特征权重经历了从布尔权重到频数权重,再到TF-IDF权重的发展过程,但词袋模型或n-grams模型只统计了词或连续n词出现的频率,而忽视了词与词或短语与短语之间的联系,这意味着这类模型无法有效地提取出文本中包含的语义信息。近年来,随着基于神经网络的机器学习研究的发展,文本分类研究着眼于深度学习,通过搭建基于卷积神经网络的模型或基于循环神经网络的神经网络模型,进行训练,通常会习得词嵌入(Word Embedding)、句嵌入(Sentence Embedding)并实现文本表示,继而通过分类器,例如:多层感知器(MLP, Multi-Layer Perceptron)计算分类。

  2014年,Bahdanau等人提出了注意力机制(Attention Mechanism)[8]。注意力机制尽管最初是在研究机器翻译的过程中提出的,但对文本分类研究同样有很好的启发意义。文本分类中的注意力机制将文本视为由词、句或其它形式组成,对与分类相关性高的组成部分施加更多的注意力,给与分类相关性低的组成部分安排更少的注意力,即根据组成部分的与分类的相关性为各个组成部分分配权重。注意力机制提升了文本分类的水平。2016年,Yang等人在注意力机制的基础之上,发掘了层次的概念,提出了层次注意力网络。层次注意力网络把文本视为文本-句-词的层次结构,在句、词的层级上设置注意力机制,以求对文本特征更准确地进行提取[1]。

  当前的文本分类方法多种多样,但关注的核心部分主要为以下两个部分:

  (1) 文本表示

  自然语言文本本身是非结构化的,词、短语、句子、段落等可长可短,无法被计算机直接计算。要想实现文本分类,就需要对自然语言文本进行转换,转换为可计算的形式。

  (2) 分类器

  分类器用于对文本表示的结果进行分类。文本分类的分类计算与其它领域的分类没有质的区别,通常是输入为文本特征向量,输出为分类结果。

  迄今为止,文本分类已经在许多领域取得了实际应用,例如:

  (1) 垃圾邮件检测

  电子邮件作为互联网的一项服务诞生后,极大地方便了全球互联网用户的信息交流,带来了巨大的经济效益,并成为了当今互联网的基础服务之一。但是,电子邮件的低廉的使用成本既使得电子邮件服务快速流行,也使得垃圾邮件问题日益严重。1998年,Sahami等人基于贝叶斯方法,以词、短语、域名为特征,实现了高精确度的垃圾邮件检测[9]。

  (2) 情感分类

  情感分类研究旨在让计算机能够计算、表示自然语言的情感信息,例如:通常意义上的正面、中性或负面,或是更为细致和丰富的情感类型——忧郁(melancholy)、可怕(ghastly)、暗淡(lackluster)、浪漫(romantic)。Maas等人在2011年提出了基于词向量学习的情感分析方法[10]。

  (3) 主题标记

  主题标记有助于对海量文本数据进行快速的、依据主题的分类。2012年, Wang和Manning对比分析了过去的主题分类方法,并指出朴素贝叶斯和支持向量机是处理主题分类问题既简洁又高效的方法[11]。

  一.3 本文的主要工作及创新点

  本文的以文本分类为研究方向。在近年来的文本分类研究成果中,层次注意力网络实现了领先的文本分类水平,在Yelp, IMDb, Yahoo Answers等数据集上均显著优于过往的文本分类模型。因此,本文以层次注意力网络为主要研究对象,并尝试在层次注意力网络模型的基础之上寻求创新。

  本文的主要工作内容:

  (1) 研究并实现基于层次注意力网络模型的文本分类,在Yelp review和Yahoo Answers大型文本数据集上进行文本分类实验,对结果对比分析。最后实现了对句、词级的层次注意力进行可视化输出并探讨了层次注意力网络模型在Yelp review和Yahoo Answers数据集上分别取得的对情感、主题特征的提取性能。

  (2) 学习并基于结构化自注意句嵌入模型改进基于层次注意力网络的文本分类模型,进行文本分类实验,比较和分析结果。

  本文的创新点:

  在层次注意力模型中引入了结构化自注意句嵌入,并结合结构化自注意句嵌入的特性相应地更新了层次注意力网络的结构,实现了文本-层面-句-词的新层次结构。

  一.4 本文的组织结构

  本文共分五个主要章节:

  第一章:绪论。本章介绍文本分类的研究背景、研究意义,并简要介绍文本分类至今的发展历程和现今已有的文本分类主要技术,最后介绍本文包含的主要工作、尝试的创新点以及全文的主要结构。

  第二章:文本分类技术。本章首先介绍文本分类系统的主要结构组成,随后介绍结合文本分类的主要类别划分,分别介绍各类文本分类的典型技术,并侧重介绍与层次注意力网络模型更为相关的技术背景及理论基础。

  第三章:基于层次注意力模型的文本分类。本章从阐述层次注意力网络模型的背景由来开始,依次介绍该模型的思想、结构和原理,并介绍基于TensorFlow的实验实现,在Yelp review和Yahoo Answers数据集上的实验结果,最后通过可视化分析,验证层次注意力网络模型在Yelp review和Yahoo Answers数据集上分别实现的情感分析和主题标记能力。

  第四章:基于结构化自注意句嵌入的层次注意力模型的文本分类。本章介绍结构化自注意句嵌入模型的思想、结构和原理,并介绍通过引入结构化自注意句嵌入对上述层次注意力网络模型进行改进的创新尝试、实验细节及结果,最后通过实验数据对比分析,将基于结构化自注意句嵌入的层次注意力网络模型与标准的层次注意力网络模型进行比较和分析。

  第五章:总结与展望。本章对本文的主要研究的层次注意力网络模型以及创新尝试进行整体分析和总结,并进一步展望未来的研究方向。

  第二章 文本分类技术

  本章根据文本分类的主要技术类别,分别介绍各类别典型技术的设计思想、结构和原理,最后结合所述文本分类技术的近年实验数据,对比分析文本分类的技术概况。

  二.1 文本分类系统的主要结构

  一个完整的文本分类系统主要结构一般包含三个环节,依次为:预处理、文本表示、分类器。

  二.1.1 预处理

  预处理部分需要完成读取、解析文本内容,建立词汇(vocabulary),对文本的词和标点符号等进行标记化(tokenize)处理,统计词汇、文本数量,拆分数据集等工作。预处理部分通常需要根据处理的文本对象进行相应设计。首先,真实文本一般主要由自然语言组成,考虑到来源、语言不同,可能会采取不同的编码方式,如:GB2312、UTF-8、ASCII等,文本分类系统需要在预处理环节解决编码问题,正确地读取文本内容。另外,获取的数据源通常包含其它信息并通过某种结构进行组织。常见的组织形式如:通过JSON格式序列化后的对象,通过XML进行标记的多层结构。文本分类系统需要在预处理环节实现正确的解析,以取得正确的文本内容。最后,文本因来源场景各不相同,文本内容也有可能存在不符合条件的噪声数据。例如,Web场景下的文本段落间可能会夹杂

  标签,这是HTML中的换行标签。如果是中文文本,还需要进行分词处理。预处理环节中需要根据实际情况有效地进行转换、清洗等处理。

  二.1.2 文本表示

  长度不定的文本标记序列无法直接用于分类器进行分类计算,因此,需要通过文本表示转换为定长的、分类器可处理的表示形式。文本表示对预处理部分输出的标记序列进行特征提取。文本表示环节的输入是预处理后的标记序列,输出是定长的文本特征向量。传统的文本分类方法基于稀疏词汇特征实现文本表示,通过向量空间模型将文本表示为一个定长的特征向量,长度为词汇大小,特征向量的特征权重可以是布尔权重、词项频率/频数或TF-IDF值。近期的文本分类方法基于深度学习,通过训练得到词嵌入、句嵌入,并进一步获得文本表示。

  二.1.3 分类器

  文本表示完成后,就可以进一步对文本表示计算分类。分类器环节的输入是文本表示环节输出的文本特征向量,输出是文本的分类。文本分类的分类器分类计算方法例如:适用于稀疏词汇特征的线性方法或核方法,或是通过训练多层感知器得到神经网络分类器。考虑到给文本确定分类时,有些情况下,一个文本只属于一个分类,但也存在一个文本可以属于多个分类的情况。因此,文本分类根据实际情况、应用需要的不同,可分为单类别(Single-label)分类和多类别(Multi-label)分类两种情况。单类别分类情况下,文本与分类是多对一映射关系;多类别分类情况下,文本与分类是多对多映射关系。

  二.2 文本分类的主要技术

  二.2.1 基于线性方法的文本分类技术

  线性方法是基于多项式逻辑回归对构建好的文本特征进行分类,通常把文本表示为特征向量,例如:

  (1) 词袋和词袋 + TF-IDF

  词袋(BoW, Bag-of-words)模型是基于统计的文本特征提取模型。词袋模型指的是对于一个文本,不考虑其词序、语法等信息,也不考虑词与词之间的关联关系,只将文本视作词的集合,形象地成为词“袋”。先扫描数据集,构建总词汇,以总词汇长度作为文本向量维度。对每一个文本,该文本的文本向量默认全零,如果包含相应词,就把该词的位置的零值置为计数或置为TF-IDF数值,最终获取文本向量作为文本的表示形式。

  (2) n-grams和n-grams + TF-IDF

  n-grams模型相较于词袋模型的区别在于:n-grams模型认为语言中字词不是孤立的,相邻若干词通常会组成词组,有较强的相互关系,因此在n-grams模型中,相较于词袋模型,n-grams模型考虑到了相邻词之间的关系、词组搭配,从词袋模型构建单词词汇的方式变为构建连续n词的词汇。对每个文本进行向量化表示时,也从逐个扫描统计孤立词变成了连续n词。

  (3) Bag-of-means

  均值袋(Bag-of-means)是基于嵌入向量的特征提取方式,Mikolov于2013年发表的成果中提出了这种通过均值减小噪声信息影响的思想[12]。例如,通过word2vec获取文本中每个词的词嵌入向量,对文本中所有词的词嵌入向量求平均取得文本特征向量。

  二.2.2 基于支持向量机的文本分类技术

  支持向量机(SVM, Support Vector Machine)是通过寻找分类超平面的方式来对文本特征向量进行分类判定。基于支持向量机的方法包括:SVM + Unigrams、Bigrams、Text Features、AverageSG、SSWE。其中,Unigrams使用单词词袋模型来建立文本特征向量,Bigrams使用双词词袋模型来建立文本特征向量,而:

  (1) Text Features

  Text Features由Kiritchenko等人在2014年提出[13]。Text Features的思想是文本特征向量中包含更多文本特征信息。在Text Features模型建立的文本特征向量中,包含了词级n-grams、字符级n-grams、字母大写信息、停用词信息、否定义信息、情感字典特征,将上述多方面的统计内容合并,最终生成文本特征向量,这样追求大而全的文本特征提取方式使得Text Features文本特征向量对文本特征的描述表示更为全面。

  (2) AverageSG

  AverageSG模型通过word2vec取得词嵌入向量,并继而对文本所含的所有词的词嵌入向量求平均,最终得到文本特征向量。

  (3) SSWE

  情感特性词嵌入(SSWE, Sentiment Specific Word Embedding)是Tang等人在2014年发表的成果,主要用于情感分析[14]。该模型的思想是:大多数用于学习词连续表示形式的算法只对词的句法上下文进行建模,而忽视了词的情感信息。为了解决此问题,SSWE将情感信息编码进词的连续表示形式。在实际应用中,可以将传统的词嵌入和SSWE的情感特性词嵌入进行结合,获取一个既包含句法上下文信息,又包含情感信息的词特征向量。

  二.2.3 基于神经网络的文本分类技术

  近期的文本分类研究着眼于基于神经网络的方法,例如:

  (1) CNN-word

  CNN-word是基于卷积神经网络建立的词级特征提取模型。一个句子由若干个词组成,每个词的词嵌入是一个特征向量,则一个句子可有若干个向量表示,即一个句子可由词向量序列组合形成矩阵表示。对于这个句子矩阵,就可以引入卷积神经网络进行计算,通过对卷积神经网络的结果进行池化(Pooling)和组合,可以提取出句级特征向量,继而通过全连接层之类的神经网络方法对句特征向量进行分类。CNN-word模型的特点是在词级进行卷积神经网络计算。

  (2) CNN-char

  CNN-char模型由Zhang等人于2015年提出[15],其主要思想是:一个文本可以视作是一个字符序列,每个字符可以表示为一个特征向量,那么一个文本可由若干个字符向量表示,即一个文本可以由字符向量序列组合形成矩阵表示。对于这个文本矩阵,就可以引入卷积神经网络进行计算,通过对卷积神经网络的计算结果进行池化、组合,可以提取出文本特征向量,继而进行后续分类计算。CNN-char在字符级进行卷积神经网络计算。

  (3) LSTM

  长短时记忆(LSTM, Long Short-Term Memory)模型是用于循环神经网络的一种典型的门控式神经元模型。长短时记忆的主要思想是:文本中的词与词之间不是孤立的、无联系的,词序列中的前词会形成语句的上下文信息并对后词的词义产生影响。例如,在词级使用基于长短时记忆的循环神经网络进行计算,前词的隐含状态输出会顺着词序列传递并影响后词输出。通过循环神经网络计算求得序列中所有词的隐含状态,文本特征向量可以通过对隐含状态序列求平均取得。

  (4) Conv-GRNN和LSTM-GRNN

  Tang等人于2015年提出Conv-GRNN模型和LSTM-GRNN模型,分别表示卷积-门式循环神经网络(Conv-GRNN, Convolutional-Gated Recurrent Neural Network)和长短时记忆-门式循环神经网络(LSTM-GRNN, LSTM-Gated Recurrent Neural Network)[16]。Conv-GRNN模型和LSTM-GRNN模型考虑到了文本的文本-句-词的多级结构,并探索了层次结构的文本特征提取模型。

  如图2.1,Conv-GRNN模型和LSTM-GRNN首先分别通过卷积神经网络或长短时记忆完成词级特征提取得到句嵌入向量,随后都通过双向门式循环神经网络完成句级的上下文语义传递,并计算文本表示向量用于文本分类计算。

  (5) HAN

  层次注意力网络(HAN, Hierarchical Attention Network)模型是Yang等人在2016年为处理文本分类问题而提出的文本特征提取模型[1]。该模型建立了自下而上以此为词-句-文本的层次结构,其在词级、句级都建立了词/句编码器和词/句注意力机制。词/句编码器通过双向循环神经网络获取词/句隐含状态向量,词/句注意力机制对句子包含的各词的隐含状态向量/文本包含的各句的隐含状态向量基于词/句级上下文向量求得词/句级注意力(Attention)权重以加权平均求取句嵌入向量/文本表示向量,最终实现了多层级且分注意力权重的文本特征提取模型。

  二.3 文本分类技术对比分析

  上文选取了各文本分类技术类别的典型代表进行了介绍。为了直观地对比上述各类文本分类方法和典型技术,本节结合近年来发表的文本分类实验数据,对本章介绍的文本分类主要类别及其典型技术进行对比分析。

  以下是在较热门的数据集上实现的文本分类实验数据汇总。

  Yelp 2013、Yelp 2014、Yelp 2015分别简记为Yelp’13、Yelp’14、Yelp’15,是美国Yelp公司于2013、2014和2015年各年向学术研究及教育领域提供的数据集。美国Yelp公司主要业务是提供以餐饮、旅宿、周边服务为主的互联网消费点评服务。Yelp数据集中提供商家信息、用户信息、签到记录、用户点评、提示及商品或服务的图片数据。具体到以下介绍的文本分类实验中,所使用的是用户点评数据,文本分类模型根据文本点评信息,进行1~5分的五分类预测。

  IMDb review以下简记为IMDb,是美国IMDb公司提供的影片点评数据集。此数据集提供对影片的点评以及相应的评分。基于此数据集的文本分类实验根据点评文本信息,进行1~10分的十分类预测。

  Yahoo Answers是美国雅虎公司提供的互联网在线问答数据集。此数据集包含问题标题、问题描述、问题回答、问答所属主题类别等信息。在基于此数据集的文本分类实验中,选取了原始数据集中十个主要主题的问答数据,根据问答的问题及描述、最佳答案的文本内容,进行10个主题的十分类预测。

  Amazon review数据集是美国亚马逊公司提供的网上购物点评数据集,由斯坦福大学的SNAP项目进行管理和维护。基于此数据集的文本分类实验是根据点评文本,进行1~5分的五分类预测。

  二.3.2 数据对比与分析

  从表2.2中可以看出,基于词袋模型、n-grams模型或类似统计模型的文本分类技术取得了一定的分类效果。随着对文本特征提取的进一步深入改进,如:TextFeatures,文本分类的效果得到了进一步的提升。

  随着深度学习的兴起,基于神经网络的文本分类技术取得的实验效果了几乎全面超越以往提出的文本分类技术。卷积神经网络、循环神经网络等结构提供了对文本模型实现更准确的特征提取的能力。Tang等人于2015年提出的Conv-GRNN和LSTM-GRNN文本分类技术中,构造了文本-句-词层次结构,并在实验中获得了显著的、更进一步的准确率提升。Yang等人于2016年提出的HN-ATT模型[1],在层次结构的基础之上引入了注意力机制,在以上六个数据集上进行的实验中,文本分类准确率得到了明显提升,且相较于表2.2所列数据,HN-ATT全面领先以往所有文本分类技术。以上实验数据说明了层次注意力网络模型更深入地发掘了文本的结构特点,可以更准确地实现对文本特征的提取。

  第三章 基于层次注意力模型的文本分类

  本章首先介绍层次注意力网络模型的概述,随后具体阐述该模型的结构、计算原理及分类器设计,最后介绍并分析基于层次注意力模型的文本分类实验以及层次注意力的可视化输出。

  三.1 概述

  文本分类的核心在于建立好的数学模型,有效地对文本信息进行特征提取和表示。对文本结构认知的深入推动着对文本特征提取和表示的深入。本章介绍的层次注意力网络模型建立在对文本结构认知不断深入的基础之上。

  自统计语言模型诞生开始,人们视文本为词的集合、短语的集合,并通过统计进行特征提取,典型的代表如:词袋模型、n-grams模型。

  此后,人们意识到只对词、短语进行统计分析仅仅提取了文本中的词、短语的统计特征,而没有包含词、短语、句子相互的上下文影响,因此丢失了大量语义信息。根据Baum等人提出的隐含马尔可夫模型(Hidden Markov Model),人们发现应把文本描述为序列结构,例如:一个句子是若干词组成的序列,那么在这个词序列中,上一个词对下一个词传递上文信息。这就意味着对于后续词,其隐含状态不仅描述该词本身的信息,还包含了前词传递下来的上文信息。基于序列结构的认知,循环神经网络被提出并用于提取文本特征以得到文本表示。在此基础之上,结合文本中的信息受其上文、下文信息共同影响这样的认知,人们发展出了双向循环神经网络用于文本特征提取。为了更好地传递上下文语义信息,长短时记忆、循环神经单元等模型被提出以实现门式循环神经网络。

  Bahdanau等人在研究机器翻译时意识到在解码生成译文句子中的词时,原文句子中的各词都可能包含对翻译相关的语义信息,但各词相关性不同,由此于2014年发表的论文中提出了注意力机制[8]。注意力机制启发人们在文本特征提取时,应结合各组成部分的相关性,对各部分施以大小不同的注意力,即进行加权计算以实现更准确、更精细的文本特征提取。

  Tang等人在研究情感分类问题时,探索了层次结构,于2015年发表成果并提出了卷积-门式循环神经网络(Conv-GRNN)和长短时记忆-门式循环神经网络(LSTM-GRNN)[16]。该层次结构认为文本是由句子直接组成的,而句子是由词直接组成的,因此将文本描述为文本-句-词的层次结构。自下而上对词嵌入通过卷积神经网络或长短时记忆取得句嵌入,并通过双向循环神经网络处理句嵌入最终取得文本表示。

  在以上成果的基础之上,Yang等人在研究文本分类问题时,提出了层次注意力网络作为文本特征提取模型[1]。其核心思想是:

  (1) 层次结构

  文本的结构是文本-句-词的层次结构,因此应相应地设计层次结构的模型进行文本特征提取;

  (2) 注意力机制

  在词级、句级中,不同的词对句子语义影响是不同的,不同的句子对文本语义的影响是不同的,因此,应在文本特征提取模型中引入注意力机制实现对词、句的加权处理。

  该成果于2016年发表,在实验及对比评测中,基于层次注意力网络的文本分类在Yelp 2013、Yelp 2014、Yelp 2015、IMDb review、Yahoo Answers及Amazon review这6个大型文本数据集上全面领先以往的各种文本分类方法,准确率相较以往各种文本分类方法均有明显提升,是近年来文本分类研究的新高度。

  三.2 文本表示模型

  层次注意力网络的整体结构如图3.1所示。

  层次注意力网络的结构自下而上,即从输入到输出,依次为:一个由词编码器和词注意力机制组成的词层级、一个由句编码器和句注意力机制组成的句层级。

  三.2.1 基于门式循环单元的序列编码器

  门式循环单元(GRU, Gated Recurrent Unit)是循环神经网络的节点单元[8],在本文的模型中有着重要的应用。门式循环单元实现了一种门控式的结构处理序列信息,包含重置门(reset gate)和更新门(updated gate)。门式循环单元接收序列的上文信息和序列的当前输入,结合重置门控制上文信息对当前候选状态的影响,结合更新门控制上文信息对输出信息的影响。  三.4 实验

  本文基于TensorFlow框架对层次注意力网络模型进行了编程实现。在Yelp数据集、Yahoo Answers数据集上完成了基于层次注意力模型的文本分类实验。

  三.4.1 数据集

  (1) Yelp数据集

  Yelp数据集简介如上文2.3.1所述。Yelp数据集可在Yelp Open Dataset网站上登记并下载。

  本文实验中,使用的是JSON格式的Yelp数据集,只处理其review部分的数据。本实验通过逐条读取并解析每一条用户点评的记录,获得其名为text的点评文本信息和名为stars的评星数据。训练从点评文本到预测评星的文本分类系统。

  由于Yelp公司开放数据集的条款限制,Yelp不提供往年的数据集。因此,本文使用的Yelp数据集是2018年的被称为Round 11的数据集。历年Yelp数据集都包含点评数据,且都是Yelp公司的真实的用户点评数据。这份Yelp数据集中包含4736897条点评数据。

  (2) Yahoo Answers数据集

  Yahoo Answers数据集的简介如上文2.3.1所述。Yahoo Answers数据集由Yahoo Webscope平台管理,资源号为Webscope_L6,通过提交申请、人工审批后提供下载。

  本文实验中,为便于与同行结果对比实验,因此对数据集进行相同的提取处理,即提取10个主要的文本主题,分别是:社会与文化(Society & Culture)、科学与数学(Science & Mathematics)、健康(Health)、教育与引用(Education & Reference)、计算机与互联网(Computers & Internet)、运动(Sports)、商业与财政(Business & Finance)、娱乐与音乐(Entertainment & Music)、家庭与关系(Family & Relationships)、政治与政府(Politics & Government)。Yahoo Answers原始数据集包含的问题及回答数据高达4483032条,依据上述10个主要分类提取后,包含1524153条问题、描述及对应的最佳回答数据。

  Yahoo Answers数据集采用XML格式描述,分为两个大型XML数据文件。本次实验通过对问答结构进行逐条读取和解析,以解决大型XML数据文件难以被直接读取解析的问题。

  三.4.2 TensorFlow框架

  TensorFlow框架是美国谷歌公司研发的用于机器学习的开源框架。本实验采用TensorFlow框架作为实验的开发框架。强大的机器学习库和高水平的计算性能是TensorFlow框架的主要特性。

  TensorFlow框架提供了一系列的库以便高效构建计算图,例如:循环神经网络及其变体、门式循环单元、长短时记忆等高通用性的网络结构在库中均可直接调用使用,强大的机器学习库资源使得快速构建机器学习模型成为可能。

  TensorFlow用张量流动的概念来描述其计算原理。在构建出的计算图中,张量的每一个计算处理,例如:matmul,被称作是一个操作(Op, Operation)。张量操作在库中的实现贴近硬件,被具体实现为可在CPU、GPU或NPU上高效运行的程序,且通常支持向量计算以利用并行性实现高性能的计算。

  三.4.3 训练、调参等实验细节说明

  实验数据集采用了Yelp数据集和Yahoo Answers数据集。数据集经过预处理后,通过随机分布处理,拆分为训练集、开发集和测试集。考虑到两款数据集均为百万级规模,因此设置训练集、开发集、测试集比例分别为95%、3%、2%。

  本文实验中,在训练过程中计算取得词嵌入。词嵌入的维度设置为200。词汇通过统计数据集中出现的词,并依据词频降序排序构造。对Yelp review数据集,因其评论内容主要围绕餐饮、旅宿,核心词汇量相对较少,因此依词频排序,对词频高的50000词构造词汇标记。对Yahoo Answers数据集,因其问答内容涉及领域广泛,词汇量显著偏大,因此依据词频统计,对词频大于5,即累计出现过5次以上的词进行标记并收录。

  对于词、句编码器部分,门式循环单元的单元数均设置为100,因此,由双向循环神经网络计算后,取得的词隐含状态、句隐含状态以及模型最终输出的文本表示均为200维的向量。

  在训练时,采用小批(mini-batch)训练,考虑到Yelp review和Yahoo Answers数据量均超过百万条,设置批大小为64。为控制可能的过拟合(overfit)情况,在词级输出和句级输出建立dropout机制,设置留存率为0.5。对于Yelp review数据集,设置学习率为0.001,取得了68.4%的准确率,引入学习率衰减(learning rate decay)机制后,使用指数型学习率衰减,设置衰减率为0.9,衰减步长为1000后,取得了71.0%的准确率。对于Yahoo Answers数据集,设置起始学习率为0.01,同样使用指数型学习率衰减且设置衰减率为0.9,衰减步长为200,最终取得了74.93%的准确率。

  三.4.4 实验结果及分析

  经过训练和调参优化,在Yelp review和Yahoo Answers进行的基于层次注意力网络的文本分类实验结果达到了同行的正常水准。

  在Yelp review上的文本分类实验取得了最高71.0%的准确率,达到了Yang等人发表层次注意力网络模型时在Yelp数据集上取得的最高水平(参照值Yelp’13:68.2%;Yelp’14:70.5%;Yelp’15:71.0%)。

  在Yahoo Answers上的文本分类实验取得了最高74.9%,接近Yang等人发表层次注意力网络模型时在Yahoo Answers数据集上取得的最高水平(参照值Yahoo Answers:75.8%)。

  三.5 可视化分析

  层次注意力网络实现了对文本中句子、词两层级别的注意力权重处理。本文实验通过TensorFlow的fetch机制获取层次注意力网络模型中可视化所需的计算过程数据:词级注意力权重数据、句级注意力权重数据,并对输入的文本词句序列流进行了解码和权重对应,最终以HTML的形式实现对文本句、词注意力权重的可视化输出。

  在可视化图例中,句子的注意力权重由句子的背景色显示:背景色越暗,则句子注意力权重越低;背景色越亮,则句子注意力权重越高。句子中词的注意力权重由词的字体颜色表示,红色越暗、越接近黑色,则该词在句子中的注意力权重越低;红色越亮越鲜艳,则该词在句子中的注意力权重越高。

  三.5.1 Yelp review与情感分析

  Yelp review数据集反映的是用户对商家餐饮、旅宿等服务的好恶情感,属于情感分析的细分范畴。

  图3.3是对Yelp review数据集中一条餐饮评论的层次注意力可视化显示。在这个例子中,用户点评文本包含4个句子,其中:第1、3句背景色更暗、更深,注意力权重较低,其内容与点评中的情感语义没有直接关联;第2、4句背景色更亮,句子注意力权重更高,其内容是对食物品质、定价和商家服务的直接评价。第2句赞美了食物品质高、定价合理,第4句赞美商家服务优质且迅速,都包含明显的积极情感。在词注意力可视化中,第2中评价食物的词food、good及第4句中评价商家服务的词great、fast都明显更红,体现出了更高的词注意力权重。

  可视化展示出的注意力权重更高句子和词都表现出了明显的情感倾向性,与最终的评分有着更大的关系,最终正确预测出评分为4,与用户评分结果一致。可见,层次注意力网络在Yelp review数据集上确实实现了有效的情感认知,对评分相关的文本特征实现了注意力更高的特征提取。

  三.5.2 Yahoo Answers与主题标记

  在Yahoo Answers数据集上的实验是根据问答文本识别问答主题以实现主题分类的功能,属于主题标记的细分范畴。

  图3.4是Yahoo Answers数据集中一条问答信息的可视化分析结果。该条记录由9个句子组成。由于句数较多,句注意力权重存在差异但并不显著,其中:问题的主题句注意力权重最高,为0.1456;回答的结尾句注意力权重最低,为0.0581。在这则示例中,词注意力的可视化显示效果十分显著。文本中human、species、evolved、science、scientific、theory、Homo sapiens、Natural selection、variants、tribes、weather、development、brain、technology等词或词组字体红色都十分显著。这些词或词组均与科学与数学的主题内容有着很高的相关性,或是在表述科学与数学主题方面的内容时常常会用到。最终,该问答文本的实验结果正确预测出了Science & Mathematics主题类型,与该文本的实际主题一致。

  在Yahoo Answers上的可视化分析表明,层次注意力网络实现了对主题信息的认知,可以有效地提取出问答文本中与问答主题相关性高的词或句子。

  第四章 基于结构化自注意句嵌入的层次注意力模型的文本分类

  本章在基于层次注意力网络的文本分类实验基础之上尝试创新,引入了近年发表的结构化自注意句嵌入模型,对层次注意力网络模型进行相应改进。

  本章首先概述了结构化自注意句嵌入模型的背景和思想,介绍了该模型的结构与计算原理以及引入该句嵌入模型后对层次注意力网络模型的附加适应性结构修改,随后进行了基于该改进模型的文本分类实验,最后对实验数据进行对比与分析。

  四.1 概述

  图4.1 结构化自注意句嵌入结构及计算模型样例。如子图(a),词嵌入通过双向长短时记忆循环神经网络计算取得隐含状态,结构化自注意句嵌入通过多套权重进行求和取得包含多行且注意不同语义的句嵌入矩阵。子图(b)描述了通过全连接层和softmax回归层实现多套注意力权重计算的机制。注:图例中,蓝色标注隐含表示,红色标注权重、附加项及输入和输出。[2]

  结构化自注意句嵌入(Structed Self-Attentive Sentence Embedding)是一种新型句嵌入模型,由Lin等人于2017年提出[2]。该句嵌入模型的目的是通过引入自注意机制,在句嵌入中实现注意力机制的效果,以求更好地实现对句子语义的特征提取。

  句嵌入通常表示为向量形式,早期研究如Bengio于2001年发表的成果[17],近期的典型研究如Mikolov于2013年发表的成果[18]。相较于广泛运用的向量式句嵌入,结构化自注意句嵌入使用矩阵结构来构建句嵌入,将句嵌入改造成了二维矩阵结构。其中,矩阵的一行可以视为一个向量式句嵌入。结构化自注意句嵌入的思想是:一个句子表达的含义不仅仅只有一层。一个句子可以包含多个层面的语义,因此,如果句嵌入矩阵的每一行关注句子的一个层面,那么多行矩阵就可以实现对句子的多个层面进行语义表示。

  结构化自注意句嵌入在训练时会遇到冗余问题,即对于该句嵌入矩阵的各行,会高度地相似,这样就违背了自注意结构提取句子中多重不同语义的目的。为了解决结构化自注意句嵌入的冗余问题,Lin等人还相应地提出了惩罚项(Penalization Term),在代价函数中计算损失时,加入惩罚项。通过冗余度惩罚及其惩罚系数,使句嵌入矩阵各行相似度降低,修正注意力趋同造成的语义冗余问题[2]。

  四.2 文本表示模型

  四.2.1 结构化自注意句嵌入结构及计算模型

  余问题。句嵌入矩阵中的各行如不采取措施控制,经过训练会出现及其相似的情况,因此造成句嵌入矩阵所提取的多重语义信息高度重复,造成冗余。

  为了解决结构化自注意句嵌入的冗余问题,需要在代价函数中加入惩罚项,将对冗余度的惩罚计入损失。

  本文对层次注意力网络的修改基于这样的认知假设:一个句子具有多重语义含义,那么句子组成的文本也具有多重语义含义。文本的各重含义不是孤立存在的,不会相互保持独立、毫无关联,而是互相影响。文本的整体语义由文本的各层面语义构成,且各层面的语义对文本的整体语义重要性不同。

  基于这样的认知假设,我在句嵌入以上的上层结构加入了层面级,包含层面编码器和层面注意力,引入与层次注意力网络中相同的编码器、注意力机制实现对多层面语义的处理:

  四.4 实验

  基于层次注意力网络的文本分类实验整体的不同,引入结构化自注意句嵌入机制后,模型复杂度增大,训练耗时增长。因此,为了平衡模型训练程度与时间代价,本文对实验过程做了相应调整。

  为了能够与基于层次注意力网络的文本分类进行对比,本文实验同样基于调整后的数据集、参数等,重新训练并取得了层次注意力模型的文本分类数据作为对照实验。

  四.4.1 数据集

  数据集与第三章实验一致,采用Yelp review数据集和Yahoo Answers数据集。

  考虑到Yelp review包含4736897条点评文本,达到了470万条的规模,较为庞大。结合实验中的实际情况,在基于结构化自注意句嵌入的层次注意力网络模型文本分类实验中,从Yelp review数据中取50万条以便缩短训练时间,加快模型迭代速度,更快地取得实验数据以便研究分析。提取出的数据以随机分布处理,按98%、3%、2%的比例划分数据集为训练集、开发集、测试集。

  Yahoo Answers数据集为第三章实验中提取的十主题分类的问答数据,因提取后约150万条的数据量规模适中,因此处理方式与基于层次注意力网络的文本分类实验中保持一致。

  四.4.2 训练、调参等实验细节说明

  实验中采用小批训练,每批包含64条文本。词、句、层面各层神经循环神经网络均采用门式循环单元,为加快迭代,设置单元数为50。为加快模型拟合速度,将学习率提高至0.01,采用学习率衰减机制,以指数学习率衰减随训练步数缩小学习率,衰减率为0.9,衰减步长为200。为避免学习率衰减在大数据集上因训练步数较大而持续衰减至极小,实验中在学习率衰减机制后通过TensorFlow框架的clip机制控制学习率衰减下限,具体使用clip_by_value方法并设置学习率衰减下限为0.0001。在词、句及层面注意力机制输出处均建立dropout机制以避免过拟合,留存率为0.5。

  在实验过程中,发现如果惩罚系数设置过大,易在模型训练梯度下降时,出现数值nan错误(Not A Number)造成训练失效问题。因此调参时应注意控制惩罚系数大小,惩罚项不应过大。缩小惩罚系数后,模型拟合即恢复正常。

  四.4.3 实验结果及分析

  对Yelp review数据集,实验设置惩罚系数为0.2,学习率衰减步长100,在句嵌入层面数

  时,准确率出现了显著下滑。经过实验调参,发现设置惩罚系数为0.1,学习率衰减步长为200时,实验准确率变化趋势表现正常,符合预期。

  对Yahoo Answers数据集根据Yelp review数据集上的惩罚系数0.1,学习率衰减步长200进行实验。

  表4.1 基于层次注意力网络(HAN)的文本分类及基于结构化自注意句嵌入的层次注意力网络(HAN-SA)文本分类实验数据对比(数值为准确率,单位为%;注:r=1时,HAN-SA模型无需惩罚冗余度,惩罚系数p-coef为0;HAN模型无r值,无冗余度惩罚项,学习率衰减步长lr-decayStep均按200设置)  根据对惩罚项系数p-coef、学习率衰减步长lr-decayStep和层面数r的调参实验对比,最终选取惩罚项系数0.1、学习率衰减步长200作为HAN和HAN-SA模型参数,选取层面数10作为应用于Yelp review的HAN-SA模型的参数,选取层面数15作为应用于Yahoo Answers的HAN-SA模型的参数。根据模型的调参结果,在测试集上对HAN-SA模型和HAN模型进行测试检验,实验结果如表4.2。

  值反而劣化了文本分类准确率。Yelp review数据集为餐饮、旅宿消费点评,属于情感分类,Yahoo Answers数据集为互联网知识问答数据,属于主题分类。结构化自注意句嵌入机制对句子语义的特征提取能力的提升需要结合实际使用场景进行分析和运用。

  (2) 在HAN与HAN-SA的实验数据对比中,尽管在本次实验的多组实验数据中,HAN-SA模型的文本分类准确率逼近HAN模型的文本分类水平,但以实际的实验数据而言,HAN仍然保持更高的文本性能,且HAN模型结构相比更简单,计算更快,更利于机器学习训练迭代。

  引入结构化自注意句嵌入模型作为本文在研究层次注意力网络模型基础之上的创新尝试,相较于标准的层次注意力网络模型,在实际的实验中未能实现理想的文本分类准确率提升效果。分析原因可能包含:

  (1) 实验中对模型参数的调试可能仍有深入和提升的空间;

  (2) 引入结构化自注意句嵌入模型后,对层次注意力网络模型的结构进行的相应的增改可能未能契合文本本身的结构特性,劣化了文本特征提取的性能;

  (3) 结构化自注意句嵌入模型的特征提取性能建立在对句子多层面语义的提取和表示之上,对文本分类准确率的实际影响可能与数据集的文本内容有关;

  (4) 结构化自注意句嵌入模型的特征提取性能可能依赖于长短时记忆结构;

  (5) 结构化自注意句嵌入模型可能不适用于层次注意力网络模型,劣化了文本特征提取性能;

  第五章 总结与展望

  本章对本文的文本分类研究进行总结,对未来的文本分类研究提出展望。

  五.1 总结

  文本分类问题作为自然语言处理领域的基础性问题,对众多领域应用有着广泛的影响。文本分类技术的研究水平很大程度上决定了情感分析、主题标记、垃圾/有害信息拦截等诸多上层应用的实现水平。

  本文概述了文本分类技术发展历程,解释了文本分类系统的主要结构,介绍了自基于统计的自然语言处理诞生以来,文本分类技术的主要类别及各类典型技术,并依据近年相关研究的实验数据统计,进行了对比与分析。

  本文主要研究基于层次注意力模型的文本分类方法,介绍了该模型的诞生背景和主要思想,阐述了该模型的多层结构与计算原理,完成了基于该模型的文本分类实验,并进一步实现了对层次注意力的可视化输出与分析。

  在主要研究基于层次注意力网络模型的文本分类基础之上,本文尝试了对层次注意力网络模型进行改进,引入了结构化自注意句嵌入模型,用于层次注意力模型的句嵌入。结合句嵌入模型的修改,本文对层次注意力网络模型的结构做了适应性改进,并完成了基于该修改模型的文本分类实验,给出了实验数据对比与分析。

  五.2 展望

  文本表示的质量,即文本特征提取的水平,是影响文本分类水平的核心因素。词/句嵌入、卷积神经网络、循环神经网络、长短时记忆及循环神经单元、注意力机制、层次结构的不断提出与流行逐步提升了文本特征提取的精细程度,提升了文本表示的质量,推动了文本分类水平的提高。因此,未来对文本分类的研究可以关注于文本特征提取,在文本表示上尝试创新,例如:

  (1) 引入对语句的句法信息的分析处理,以便在词、句等注意力的学习过程中提供修正。

  (2) 本文所实现的基于结构化自注意句嵌入的层次注意力网络模型,在文本分类实验中仍存在不足,未能超越层次注意力网络模型的文本分类水平。结构化自注意句嵌入机制的特征提取特性与合适的应用场景值得进一步研究。

  在文本分类的分类器设计中,本文均使用的是多层感知器结构,具体为单隐含层的全连接神经网络,是常见的分类器设计。未来对文本分类的研究也可以对分类器尝试研究与创新,例如:是否可以通过更复杂的分类器模型实现对复杂分类问题实现更加精细、准确的分类,并处理好复杂分类器模型可能存在的过拟合问题。

毕业论文:http://www.3lunwen.com/jsj/dzjs/5399.html

上一篇:基于策略梯度的强化学习方法研究

下一篇:没有了

     移动版:基于层次注意力模型的文本分类研究

本文标签:
最新论文