APP下载

基于外部知识注意的中文短文本分类研究

2022-05-26贾洪健宋庆松

软件导刊 2022年5期
关键词:字符短文注意力

贾洪健,田 刚,王 蕊,宋庆松

(1.山东科技大学计算机科学与工程学院;2.山东科技大学能源与矿业工程学院,山东青岛 266590)

0 引言

近年来,以云计算和大数据为代表的新一代信息技术的快速发展,推动了互联网新时代的到来。在互联网给人们生活带来便利的同时,每天也产生大量的文本数据。其中,以新闻、评论、问答等碎片化形式出现的短文本具有增长迅速、数量巨大的特点。这些短文本通常有明显的局限性,即缺乏足够的上下文信息、语义模糊和特征维度稀疏。如何快速有效地从海量短文本数据中提取真正有价值的信息,正是自然语言处理领域(NLP)需要解决的问题。

现有方法对于短文本分类主要可以分为两类:显性表示和隐性表示[1]。对于显式表示,短文本被表示为稀疏向量,其中每个维度是显式特征,对应于包括N-Gram、词性标注和句法分析的短文本句法信息[2],显式模型对人类而言是可解释且易于理解的。然而,显式表示通常忽略短文本的上下文信息,因此可能无法有效提取文本中的细粒度语义信息。就隐式表示而言,短文本通常被映射到隐式空间,并被表示为密集向量[3]。

基于深度神经网络的隐式模型善于捕捉短文本中的句法和语义信息,Mikolov 等[4]提出基于递归神经网络(RNN)的模型,该模型利用RNN 考虑整个句子的表达,该模型可以捕捉长期的依赖关系并学习单词的含义;Kim等[5]提出一种多尺度过滤卷积神经网络(CNN)模型以提取更丰富的文本语义特征,并在文本分类任务上取得了良好效果;Yang 等[6]提出一种用于文档分类的层次化注意网络,该模型不仅将注意力机制应用于文档层次,还应用于单词和句子层次,从而在构建文档表示时能够关注越来越重要的内容;Zhou 等[7]提出一种基于混合注意力机制的中文短文本分类网络模型,该模型不仅考虑了词级文本特征和字符级特征,还通过注意力机制提取了与分类相关的语义特征。

然而,如果只使用神经网络模型提取短文本语义信息的抽象特征,分类效果将在很大程度上取决于神经网络的层数,因此会导致整个模型参数数量的几何级增加,从而显著增加模型训练时间。因此,为了克服短文本语义信息的不足,可以利用外部知识库扩展短文本的语义,从而丰富短文本的语义特征。

本文将短文本的显性和隐性表示集成到一个统一的深层神经网络模型中,主要贡献如下:提出一种基于外部知识注意的中文短文本分类(CSTEKA)方法,这是结合知识库中的先验知识丰富短文本语义信息的注意力模型;引入面向短文本的概念(C-ST)注意和概念对概念集(C-CS)的注意两种注意力机制,从两个方面衡量每个概念的重要性,将它们组合起来,自适应地获取概念的权重;使用相互注意力机制集成单词级和字符级的特征,利用卷积神经网络集成单词级、字符级及概念级的所有特征;在4 个公共数据集上的大量实验表明,本文方法优于其他现有方法。

1 相关工作

传统的文本分类方法中,在分类过程中通常忽略相应的文本语义特征,无法有效提取文本中的细粒度语义信息,导致最终分类结果的准确率较低。为了解决这些问题,Wei 等[2]提出基于N-Grams 的中文文本分类的文本表示和特征选择策略,在特征选择策略中,类内预处理与类间特征选择相结合;Post 等[8]提出使用词性标注技术提取文本的显性和隐性特征;Gautam 等[9]提出一元分词技术和语义分析以表示文本特征;Song等[10]利用概率知识库对短文本进行概念化,从而提高了文本分类过程中对文本语义的理解;张志飞等[11]提出一种基于潜在狄利克雷分配(LDA)主题模型的短文本分类方法,进一步解决了短文本的上下文相关性问题。这些方法虽然可以提取相对丰富的文本特征信息,但也存在一定局限性。

基于词级的模型侧重于促进模型从词级特征获得精确文本表示的能力,这些模型通常在英语中表现良好。然而,在中文短文本任务中,它们对分词有很强的依赖性,有时会导致错误分类。基于字符级的模型利用字符嵌入以避免分词问题。同时,使用字符级特征可以减少词汇外的负面影响。但是在汉语中,有些词的含义比字符多,它们在语篇中起着重要作用,尤其是在短文本中。因此,在大多数情况下,基于字符级的模型性能低于基于单词级的模型。文献[12]将词、字符和概念级特征沿时间步长维度串联起来,再通过卷积神经网络生成文本表示。然而,在中文中,不同的分割会产生不同的序列长度。此外,文献[13]解释了在不同的语料库上训练的单词和字符嵌入是不同的。因此,沿时间步长维度直接连接特征会削弱文本表示。

与传统的机器学习文本分类方法相比,深度神经网络模型能够有效模拟人脑的信息处理过程,能够进一步从输入特征中提取更抽象的语义特征,从而使模型最终分类时所依赖的信息更加可靠。然而,短文本通常缺乏足够的上下文信息和语义特征。如果仅仅通过增加神经网络数量提高短文本的分类效果,会导致整个模型的参数数量呈几何级增长。文献[12]提出一种利用外部知识库和神经网络对短文本进行分类的方法,在概念化短文本丰富语义特征的同时,也捕捉到字符层面更细粒度的特征;文献[14]提出将词和字符嵌入相结合,然后利用CNNs 捕获语义特征,还使用外部知识库对目标词进行概念化,但没有考虑单词和字符级嵌入位于两个独立的空间中,几乎没有重叠,会丢失一些特征信息。该文献中的方法与本文提出的短文本分类方法接近,本文方法是在此基础上的进一步研究和改进。

基于注意力机制,可以动态提取文本的主要特征,而不是直接处理整个文本信息,因此这种机制得到了广泛应用。文献[15]提出一种基于注意力机制的双向长短期记忆(BiLSTM)神经网络,用于捕捉句子中最重要的语义信息并将其用于关系分类;文献[16]提出双向门控递归单元,该单元将一种新的注意力集中机制与最大集中操作相结合,强制模型关注句子中的关键词,并自动维护文本中最有意义的信息;文献[17]提出一种新的CNN 关系分类架构,该架构使用两级注意力机制以更好地识别上下文;文献[18]提出一种用于中文文本分类的词—字符注意力模型,该模型综合了两个层次的注意力模型:词级注意力模型捕捉与文本意义有更密切语义关系的显著词,字符级注意力模型选取文本中的区别字符。

Fig.1 CSTEKA model architecture图1 CSTEKA模型架构

通过这些方法,在面对短文本语义信息不足的问题时,没有同时充分考虑字符层面、词层面和概念层面。因此,本文将单词和字符特征与可训练矩阵相乘,生成两个具有两级特征对齐信息的矩阵。同时,本文在显性知识库的帮助下丰富了短文本的语义表达,如YAGO[19]和Probase[20]。通过概念化将每篇短文与其知识库中的相关概念联系起来,然后将概念信息作为先验知识纳入深层神经网络,最后在卷积神经网络中堆叠所有特征以形成三维张量从而完成分类。

尽管简单地将概念信息整合到深层神经网络中似乎很直观,但仍然存在两个主要问题。一是在对短文本进行概念化时,由于实体的模糊性或知识库中的噪声,容易引入一些不恰当的概念。例如,在短文本S1中:“小贾已经使用苹果6 年多了”,从知识库中获取“苹果”的概念是“水果”和“手机”。显然,“水果”在这里不是一个合适的概念,这是由“苹果”的模糊性引起。二是需要考虑概念的粒度和概念的相对重要性。例如,在短文本S2中:“任正非是华为的创始人”,从知识库中检索任正非的概念是“人”和“企业家”。虽然两者都是正确的概念,但“企业家”比“人”更具体,在这种情况下应该被赋予更大的权重。已有学者[12]利用网络规模的知识库丰富短文本表示,但是没有很好地解决这两个问题。

本文使用面向短文本的概念(C-ST)注意度量短文本与其对应概念之间的语义相似度。本文模型对S1的概念“手机”赋予了更大权重,因为它在语义上更类似于短文本,而不是概念“水果”。同时,使用概念对概念集(C-CS)的注意探索每个概念相对于整个概念集的重要性。本文模型对S2的概念“企业家”赋予了更大权重,这对于特定的分类任务更具区别性。

引入一个软开关,将两个注意力权重合并成一个,并产生每个概念的最终注意力权重,该权重由本文模型在不同的数据集上自适应地学习,然后计算概念向量的加权和以产生概念表示。

2 方法

2.1 方法概述

图1 显示了本文模型(CSTEKA)架构,输入的短文是“我们喜欢踢足球”,概念包括足球、体育等,类别标签是“体育”。本文模型包含4 个模块,由知识检索模块、短文本编码、知识编码和集成层模块组成。知识检索模块从知识库中检索与短文本相关的概念信息。短文本编码模块通过WCAM 模型(图2)对短文本进行编码,生成短文本单词级和字符级嵌入的特征,WCAM 模型中的相互关注层是一个可训练的矩阵,生成单词和字符级特征的两个对齐矩阵。知识编码模块对概念向量应用两种注意力机制,以获得概念表示特征。集成层是一个具有5 个独立通道的卷积神经网络,可以将单词级特征、字符级特征、两个对齐矩阵特征和概念表示特征堆叠集成到三维张量中。

Fig.2 WCAM model图2 WCAM模型

2.2 知识检索

本模块的目标是从知识库中检索相关知识。本文以isA关系为例,其他语义关系如isPropertyOf也可以类似方式加以应用。具体而言,给定一个短文本s,希望找到与之相关的概念集C。本文通过两个主要步骤实现该目标:实体链接和概念化。实体链接是自然语言处理中的一项重要任务,用于识别短文本中提到的实体[21]。本文通过利用现有的实体链接解决方案获得短文本的实体集E[22]。并且,对于每个实体e∈E,本文通过概念化从一个已有的知识库中获取其概念信息,如YAGO[19]、Probase[20]和CNProbase[23]。例如,给定一个短文本“张杰和李宇春出生在四川”,本文通过实体链接获得实体集E={张杰,李宇春};然后,将实体“张杰”概念化,从CN-Probase 获得其概念集C={人物、歌手、演员、音乐家}。

2.3 短文本编码

2.3.1 嵌入层

输入是长度为n的短文本s,如图2 所示,短文本s进入WCAM 模型,被分割成两个不同的序列(句子):

对于每个级别,本文查找预先训练的嵌入矩阵,并将序列中的每个标记映射到一个固定大小的向量e。在这项工作中,本文选择两个开源的中文词向量作为初始预训练嵌入字典,并将两级序列填充到相同的长度n=max(nword,nchar),结果,获得两个长度相同的嵌入向量:

2.3.2 特征层

在特征层,本文选择RNN 获得更深层次的语义特征,因为RNN 被认为是现有模型中解决序列问题的最佳模型。为了解决梯度消失或爆炸问题,并捕捉过去和未来的上下文信息,本文选择双向LSTM 网络(BLSTM),该网络通过引入第二隐藏层扩展单向LSTM 网络,其中隐藏到隐藏的连接以相反的时间顺序流动。

通过组合前向和后向LSTM 的输出计算在步骤t的BLSTM 预测,本文使用分别表示它们,如式(1)所示。

其中,t=1,2,3,...,n,⊕是连接操作。在该模型中,本文将嵌入向量馈入由两个独立BLSTMs 组成的隐藏层,以获得两个特征级表示。BLSTMs 的输出被称为Hword、Hchar、Hword、Hchar∈Rn×d,其中d是隐藏层单元的数量。

2.3.3 相互关注层

注意力机制用于对齐特征,因为注意力机制的本质是句子对的软对齐。与文献[24]相同,两个新的对齐特征由可训练的注意矩阵A∈Rn×n生成。如图2 所示,对齐特征由A通过以下等式生成:

其中,⊗是元素乘法。

本文使用单位这个术语定义对齐的矩阵,它们与Hword、Hchar具有相同的形状。相互注意矩阵可以通过梯度反向传播在每个时间点进行修改,它可以被看作是一个空间转换器,在训练过程中转换空间并保存单词和字符的信息。每一个单位的算符都是通过加上某一时刻的特征维数进行计算,词的计算会一步步受到影响,反之亦然。该方法简单有效。

本文从短文本编码模块得到Hword、Hchar、Uword、Uchar4 个表示特征,将先堆叠这4 个特征获取短文本表示特征q∈Rn。

2.4 知识编码

从外部知识库获得的先验知识提供了更丰富的信息,有助于在给定短文本的情况下决定类别标签。本文以概念信息为例说明知识编码,其他先验知识也可以类似方式使用。给定大小为k的概念集C,表示为(c1,c2,...,ck),其中ci是第i个概念向量,目标是产生它的表示特征p。首先引入两个注意力机制并更多地关注重要概念。

为了减小由于实体模糊性或知识库中的噪声而引入一些不当概念的不良影响,提出基于普通注意[25]的面向短文本注意的概念(C-ST),以测量第i个概念和短文本表示q之间的语义相似性。使用式(4)计算短文本注意。

其中,mi表示从第i个概念到短文本的关注度。较大的mi意味着第i个概念在语义上更类似于短文本。f(·)是一个非线性激活函数,如双曲正切变换,softmax用于归一化每个概念的注意力权重。是权重矩阵,w1∈是权重向量,其中da是超参数,b1是偏移量。

此外,为了考虑概念之间的相对重要性,提出基于source2token自我注意的概念集(C-CS)注意概念[26]以度量每个概念相对于整个概念集的重要性。将每个概念的CCS注意力定义如式(5)所示。

其中,ni表示从第i个概念到整个概念集的关注权重。是权重矩阵,w1∈是权重向量,其中db是超参数,b2是偏移量。C-CS 注意的效果类似于特征选择,这是一种“软”特征选择,对重要的概念赋予较大权重,对无关紧要的概念赋予较小权重(接近于零)。

通过式(6)将mi和ni相结合,以获得每个概念的最终关注权重:

这里将最后的注意力权重从第i个概念指向短文本,γ ∈[0,1]是调整两个注意力权重mi和ni重要性的一个切换。有多种方式设置参数γ,γ 可以通过神经网络自动学习。可在不同的数据集上自适应地为γ 分配不同的值,以获得更好的实验结果。通过式(7)计算γ:

其中,向量w和标量b是可学习参数,σ是sigmoid函数。最后,使用最终的注意力权重计算概念向量的加权和,产生表示概念的表示特征。

2.5 集成层

特征向量维上的特征不是相互独立的,简单地在时间步长维度上独立应用一维汇集运算可能会破坏特征表示的结构[27]。CNN 利用多个卷积滤波器执行特征映射,可比一维最大池保留更多的特征信息。因此,本文选择CNN将它们进行整合。

将单词级特征、字符级特征、两个对齐矩阵特征和概念表示特征视为具有5 个通道的图像并叠加成三维张量,然后送入卷积神经网络。

具体而言,子特征gi由滤波器w∈Rk×d和特征窗口zi:i+k-1生成。

其中,b是偏置项,f(·)是非线性函数,这里使用双曲正切。

该过滤器被应用于特征级表示z={z1:k,z2:k+1,...,zn-k+1}并生成特征向量。

在多通道架构中,每个滤波器应用于5 个通道,并将结果相加以计算gi,如式(9)所示。文本表示由具有全连接层的集成层输出生成,Softmax分类器用于预测标签。

3 实验

3.1 实验环境

本文实验平台配置如表1所示。

Table 1 Hardware and software configuration of the experimental platform表1 实验平台软硬件配置

3.2 数据集

本文在清华大学开源的中文新闻数据集(THUCNews)、搜狗新闻、中文新闻标题(CNT)和微博谣言4 个数据集上进行了实验,如表2 所示。表2 中报告了每个数据集的实体和概念的平均数量,所有4 个数据集都通过Jieba工具进行标记化。

THUCNews:该数据集是清华实验室收集的社会新闻集,包含14个类的4万个训练样本和1万个测试样本。

搜狗新闻:该数据集是一个没有标题的社交新闻集,包含10 个类的5 万个训练样本和1 万个测试样本。本实验中截取每个样本的前30 个字符(包括标点符号)作为一个新的数据集。

CNT:该数据集来自参考文献[28],它包含32 个类的47 952 个训练样本和15 986 个测试样本。在删除了包含无法处理特殊字符的标题后,保留47 850 个用于训练,15 950个用于测试。

微博谣言:该数据集来自参考文献[7],数据集里有9 079 条微博谣言。在删除这些记录中的“x”标签后,保留了5 个类别。从该数据集中,随机选择6 030 个样本用于训练,2 160个样本用于测试。

Table 2 Summary statistics of the experimental dataset表2 实验数据集汇总统计

3.3 比较方法

将本文提出的CSTEKA 模型与以下方法进行比较:

RCNN[29]:该方法使用递归卷积神经网络进行文本分类。它用RNN 捕捉上下文信息,用CNN 捕捉文本中的关键成分。

CharCNN[30]:该方法使用只有字符级特征的CNN 作为输入。

BiLSTM-SA[26]:这种方法使用BiLSTM 和source2token自我注意将句子编码成固定大小的表示,用于分类。

KPCNN[12]:该模型是短文本分类的最新方法。它利用CNN 根据短文本和概念的单词和字符级别信息进行分类。

HANs[7]:混合注意网络将中文短文本嵌入到词级和字符级向量中,并运用混合注意力机制生成句子特征。HANs-BLSTM+CNN 表示基于注意力的BLSTM 和基于注意力的CNN 的组合。

BERT[31]:一种基于微调的方法,被称为来自Transforms 的双向编码器表示,旨在通过在所有层中联合调节左右上下文预训练深度双向表示。在许多自然语言处理任务中,BERT 是最先进的模型。本文针对中文短文本分类任务对预先训练的BERT 进行微调。

3.4 设置和度量

对于所有模型,使用Adam[32]进行学习,学习率为0.01,批量大小设置为64,训练迭代次数设为20。使用在搜狗新闻上预先训练的50 维跳跃式字符和单词嵌入,如果一个单词未知,会随机初始化它的嵌入。同时,使用随机初始化的50 维概念嵌入。所有的字符嵌入、单词嵌入和概念嵌入在训练阶段都可以训练和微调,以期学习面向任务的表示。使用宽度为[2,3,4]且尺寸为50 的一维CNN,总共150个。

对于本文模型,以下超参数基于验证集进行估计,并用于最终测试集:u=64,da=70,db=35。而γ 由神经网络自动学习,因为这种方法可以比人工神经网络获得更好的分类结果。评价指标是准确性,其已广泛应用于文本分类任务中。

3.5 结果与分析

将本文CSTEKA 模型与6 个强基线进行比较,结果如表3 所示。在不使用任何知识的情况下,本文模型优于传统的深度神经网络(DNNs),包括RCNN、CharCNN、BiLSTM-SA、KPCNN、HANs-BLSTM+CNN 和BERT。主要原因是本文模型借助于知识库丰富了短文本的信息,具体而言,本文将知识库中的先验知识作为显式特征融入DNNs中,这对短文本分类有很大贡献。本文模型比KPCNN 表现得更好,因为本文模型由于注意力机制能够更多地关注重要知识。本文使用C-ST 和C-CS 注意从两个方面衡量知识的重要性,并自适应地为不同短文本的每个知识分配适当的权重。并且,本文模型实现了比HANs-BLSTM+CNN 更好的性能。此外,可以看到本文模型比BERT 取得了更好的性能,原因在于BERT 是一个基于字符级别的模型。该结果证明,集成多种类型的特征有助于提高中文短文本分类性能。

Table 3 Accuracy of different models on different datasets表3 不同数据集上模型准确性比较(%)

3.5.1 注意力机制

该实验部分的目的是验证两种注意力机制(C-ST 和C-CS 注意)的有效性。手动调节超参数γ,以探索C-ST 和C-CS 注意的相对重要性,以0.25 的间隔从0 到1 改变γ,结果如表4 所示。一般而言,γ=0.25 的模型效果更好,但对于不同的数据集,优势并不总是存在。例如,γ=0.50 的模型在CNT 数据集上表现最佳。当γ 等于0 或1 时,模型在所有4 个数据集上都表现不佳。仅使用C-ST 注意(γ=1.00),模型忽略了每个概念的相对重要性,导致性能不佳。仅使用C-CS 注意(γ=0.00),模型忽略了短文本和概念之间的语义相似性。在这种情况下,一个不恰当的概念可能会被赋予更大权重,这也会导致较差的性能。

3.5.2 外部知识作用

本文使用概念信息作为先验知识以丰富短文本表示,并提高分类性能。每个数据集的实体和概念的平均数量如表2 所示。为了验证本文模型中外部知识的作用,从CNT 数据集中挑选了一些测试示例,并在表中进行了说明。如“武昌起义”示例中,该短文本被本文模型正确分类为“历史”,但是传统DNNs 错误地将其分类为“城市”。一般而言,概念信息在短文本分类中起到至关重要的作用,尤其是当短文本的上下文不够时。“武昌起义”是一个连续名词,即在训练集中出现的频率较低,因此很难学习认知表征,从而导致传统DNNs 的性能较差。然而,本文模型通过从知识库中引入知识,在一定程度上解决了稀有和未知的单词问题。本文模型中使用的历史和历史事件等概念有助于将短文本分类到正确的类别“历史”中。

Table 4 Settings of the super parameter γ of the proposed model表4 本文模型中超参数γ的设置(%)

3.5.3 三维卷积影响

为了证明三维卷积的有效性,本文在两个数据集上比较了一维汇集和三维卷积。本文沿着时间步长维度连接单词级特征、字符级特征、两个对齐矩阵特征和概念表示特征,称之为一维汇集。本文堆叠单词级特征、字符级特征、两个对齐矩阵特征和概念表示特征5 个特征,并使用卷积神经网络集成它们,称之为三维卷积。图3 表明,三维卷积在两种中文短文本分类任务上可以获得更高的性能。

Fig.3 Comprehensive study of 1-dimensional collection and 3-dimensional convolution图3 一维汇集和三维卷积综合研究

4 结语

针对现有短文本分类方法严重依赖神经网络层数,且因短文本语义模糊导致短文本分类效果不佳的问题,提出一种基于外部知识注意的中文短文本分类模型。由于单词和字符级嵌入在向量空间中没有相关性,为了减少特征信息丢失,设置一个可训练矩阵以获取单词和字符级两个对齐特征矩阵。同时,面对短文本所能提供的语义信息有限的问题,将概念信息整合到知识库中,以增强短文本的表达。为了衡量每个概念的重要性,本文应用两种注意力机制自动获取用于生成概念表示的概念权重。实验表明,本文模型在4 个中文短文本数据集上取得了最好性能。该模型在引入外部知识库时,由于一些短文本过短,没有提到实体,会导致概念化失败。将属性值信息融入深度神经网络,进一步提高短文本分类性能是未来研究重点。

猜你喜欢

字符短文注意力
让注意力“飞”回来
字符代表几
一种USB接口字符液晶控制器设计
KEYS
消失的殖民村庄和神秘字符
Keys
“扬眼”APP:让注意力“变现”
短文改错
短文改错