《武汉工程大学学报》 2020年05期
575-580
出版日期:2021-01-29
ISSN:1674-2869
CN:42-1779/TQ
基于Att-iBi-LSTM的新闻主题词提取方法研究
新闻主题词提取是将核心词和短语从新闻文本中挖掘出来的过程。主题词包含有助于人们理解文本内容的主要信息,通过查看主题词,用户可以更轻松地找到他们需要的新闻。由于主题词是对文本主题信息的高度凝练,人们还可以使用它们以较低的复杂度来计算文本相关性,因此为许多自然语言处理应用带来了便利[1-3]。
传统的主题词提取方法主要有两种:一种是根据词的统计信息对关键词进行排序,如词频-逆文档频率方法[4]和TextRank[5]等;另一种是应用机器学习算法,提取各种特征来训练模型,如隐马尔可夫模型[6]、支持向量机(support vector machine,SVM)[7]、朴素贝叶斯模型[8]等。词频-逆文档频率方法在进行文档主题词提取时,由于文档主题结构特征缺少的原因,导致该方法主题词提取效果差。TextRank考虑了部分文档主题结构特征,如文档中词与词之间的关系,但仍然倾向于选取文档中的高频词作为主题词。应用机器学习算法进行主题词提取,通过提取各种特征来训练其模型已被证明可以获得出色的性能,但这种方法依赖人工定义的规则,没有充分考虑词的上下文信息且对特定的数据集敏感[9]。
近年来,长短期记忆(long short-term memory,LSTM)模型在多种NLP问题中被广泛使用,如情感分析[10]、词性标注[11]、命名实体识别[12]、关键词抽取[13]等问题。但是LSTM模型在进行主题提取时从句子开头到中心词建模,没有考虑句子下文对该词的影响。
为了更好地解决这些问题,文中提出了一种双向的LSTM网络模型,用于主题词提取任务。文中将主题词提取任务视为一个二分类问题,对于句子中给定的词,训练一个分类器来确定它是否为主题词。具体而言,需要从两个方面考虑信息,即中心词的内容及其上下文信息。通过双向的LSTM以从句子开头到中心词和从结尾到中心词两个方向对给定单词及其上下文建模。通过这种方式,模型可以捕获中心词的句子级信息。通过利用中心词的上下文的文本信息,模型则可以判断其是否为主题词。
此外,当给定一句话时,某些词在主题中比其他词更具有代表性。例如,在“目前,跳伞比赛一切正常……”一句中,如果想确定“跳伞”一词是否为主题词,“比赛”一词的信息比其他词对“跳伞”的判决有更大的影响。即,应该明确每个单词的重要性,然后生成给定词的向量表示。因此,在双向的LSTM的基础上引入了一种自注意力机制[14-15],通过自注意力机制考虑不同单词的重要性来生成给定单词的表示向量,从而更好地从文本中提取主题词。
由于深度学习网络模型需要大规模的训练数据,并且人工标注的训练数据的大小非常有限,无法满足模型的训练要求。文中提出一种生成此任务的训练语料库的方法,通过该方法获得了大量粗数据集。为了充分利用这些训练数据,文中提出了一种两阶段训练方法来训练模型。首先,使用粗数据集对模型进行预训练,然后使用人工标注的数据重新训练模型。这样,与仅使用人工标注的数据相比,模型获得了更好的性能。
1 相关工作
1.1 LSTM模型
LSTM网络模型属于一种循环神经网络(recurrent neural network,RNN),通过在模型中引入控制门解决了一般的RNN存在的长期依赖问题[16]。所有循环神经网络都具有神经网络的重复模块链的形式,LSTM也具有这种链式结构,LSTM模型如图1所示。
LSTM模型的单个重复模块是由t时刻的输入词向量[wt],细胞状态[Ct],临时细胞状态[Ct′],隐层状态[ht],遗忘门[ft],记忆门[it],输出门[ot]组成。LSTM的信息更新过程是一个遗忘无用信息并记忆新信息的过程,并在这个过程中的任意时刻t均会输出一个隐层状态[ht],其中遗忘[ft],记忆[it]和输出[ot]均与上个时刻的隐层状态[ht-1]和当前输入[wt]有关。于是t时刻的LSTM的状态更新为[16]:
[ft=σ(Wf[ht-1,wt]+bf)] (1)
[it=σ(Wi[ht-1,wt]+bi)] (2)
[Ct′=tanh(Wc[ht-1,wt]+bc]] (3)
[Ct=ftCt-1+itCt′] (4)
[ot=σ(Wo[ht-1,wt]+bo)] (5)
[ht=ottanh(Ct)] (6)
式(1)~(6)中,[Wf]、[Wi]、[Wc]和[Wo]分别表示其下标所对应单元的权重矩阵,[bf]、[bi]、[bc]和[bo]为偏移向量。[σ]和[tanh]为两种激活函数,如式(7)、式(8)所示。
[σ(z)=11+e-z] (7)
[tanh(z)=e2z-1e2z+1] (8)
则,t时刻隐含层状态可以表示为:
[ht=LSTM(wt,ht-1)] (9)
1.2 Attention机制
Attention模型结构如图2(a)所示。
通过Attention机制获得注意力权重[αij],[αij]表示i时刻词[wi]的上文或下文中第j个词[wj]对[wi]的影响。为了使获得的注意力权重发挥作用,将隐含层状态[hi]通过配置注意力权重得到[qi],如式(10)所示:
[qi=j=1kαijhi] (10)
其中,[αij]的计算过程如式(11)所示:
[αij=exp(pij)j=1kexp(pij)] (11)
k为[wi]上文或下文中词的数量,[pij]为目标注意力权重,[pij=tanh(hi,hj)],[tanh]是一种注意力学习函数,[ht]是LSTM网络输出的特征向量。
2 双向LSTM引入Attention机制模型
2.1 双向的LSTM模型
文中将主题词提取看作一个二分类问题,采用LSTM构建分类器。设当前词为中心词,本文视中心词及其上文具有相同重要性。但是,在传统的LSTM模型中,只能使用从句子开头到中心词,从而忽略了中心词的后续文本信息的影响,这样有可能丢失重要信息。因此,为了充分利用中心词的上下文信息,提出改进的双向LSTM模型(iBi-LSTM)进行词分类,将中心词的上下文本信息都输入到模型中,并在两个方向上将中心词与其上下文信息一起建模,以便计算中心词的概率并判断其是否为主题词,如图2(b)所示。
在图2(b)中,采用了两个LSTM对中心词及其上下文信息进行建模,一个以从左到右的方式对从句子开头到中心词的词进行建模(LSTMl),另一个从句子结尾到中心词的信息进行建模(LSTMr)。[wt]表示文档中的第t个词的词向量,[hlt]为t时刻LSTMl的隐藏层的输出,[hrt]表示t时刻LSTMr的隐藏层的输出,则:
[hlt=LSTMl(wt,hlt-1)] (12)
[hrt=LSTMr(wt,hrt-1)] (13)
2.2 Att-iBi-LSTM模型
Attention机制可以通过获取的注意力权重来区分词向量中各语义编码的重要性,增强模型提取特征的能力,因此该方法可以提高模型分类的准确率。本文通过引入Self-Attention来获取句子中词之间的语义或句法特征,如图2(c)所示。
对于给定句子[{w1,w2,?,wm,wt,wt+1?,][wt+n}],若要判断[wt]是否为主题词,通过LSTMl和LSTMr分别对[wt]的上文和下文建模得到所有单词对应的隐藏状态向量[{hl1,hl2,?,hl3,hlt,hrt,][hr1,hr2,???,hrn}],其中[Hl={hl1,hl2,???,hlm,hlt}],[Hr={hrt,hr1,hr2,???,hrn}]。根据这些隐藏状态向量计算自注意力权重矩阵[Al]和[Ar],如式(14)和式(15)所示:
[Al=softmax(Wl2tanh(Wl1HΤl)] (14)
[Ar=softmax(Wr2tanh(Wr1HTr)] (15)
其中,[W1]是一个维度为[da×u]的参数矩阵,[W2]是一个维度为[r×da]的参数矩阵,u为隐藏状态向量[hi]的维度,r是所采用的multi-hop注意力机制的hop数量,[da]为设置的权重矩阵的维度。注意力权重矩阵[A]是multi-hop注意力矩阵,它有助于在对当前单词进行建模时显式捕获语义信息。与传统的single-hop注意力机制相比,multi-hop注意力机制使模型能够专注于上下文的不同部分,从而可从多方面捕获句子信息。
将注意力矩阵[A]和隐藏状态向量[H]相乘,以生成中心词[wt]的加权向量表示:
[Cl=AlHl] (16)
[Cr=ArHr] (17)
最后,通过对[Cl]和[Cr]中的行向量求平均,得到两个方向上中心词的向量表示,然后将这两个向量连接起来以生成中心词的最终向量表示[Vt]。然后将[Vt]输入softmax层以生成中心词是否为主题词的概率分布,如式(16)所示:
[Pt=softmax(WtVt)] (18)
2.3 模型训练
主题词提取实质是一个二分类问题,即是主题词或者不是关键词。采用Adam作为模型的优化器,该模型将AdaGrad和RMSProp算法融合,可基于训练数据迭代更新网络权重实现自适应学习[17]。
分类函数为softmax函数。模型训练目标就是最小化损失函数,本文使用式(17)的交叉熵作为损失函数:
[L=-tytlnPt] (19)
其中,[yt]表示样本t的标签,正类为1,负类为0,[Pt]表示样本t预测为正的概率。
为了更好地训练模型,本文提出一种两阶段训练方法:首先,使用粗数据集对模型进行第一阶段的训练,然后,使用人工标注的数据进行第二阶段的模型训练。
训练深度神经网络模型需要大规模的训练数据。然而,对于主题词提取的任务,需要人工来标注训练所需的语料。由于人工标注的数据集的数量有限,所以本文提出了一种自动标注新闻文本中的主题词并可生成大规模带标签的数据集,用加权词频-逆文档频度值[Tidf,如式(22)所示]作为数据集中主题词的判断依据。但是,这种自动标注的主题词不一定准确,因此将生成的数据集作为第一阶段(预训练阶段)训练的数据集,即粗数据集。
[Tf=swiN] (20)
[Idf=log(MMwi+1)] (21)
[Tidf=Tf×Idf] (22)
式(20)中,[Tf]表示加权词频,[Idf]表示逆文档频度,[swi=2(s1+s2)s2?s1>0?s1>0],[s1]是某个词在标题中出现的次数,[s2]是这个词在文章正文中出现的次数,通常[1s10],因此在实验中词[wi]在标题中出现则[swi=2(s2+1)]。式(21)中,M是语料库的总文档数,[Mwi]是包含该词的文档数。
3 实验部分
3.1 数据集
本实验自建了一个小规模数据集,数据来源于新浪新闻的体育、娱乐和科技新闻共12 000篇文章,其中体育新闻、娱乐新闻和科技类新闻各4 000篇。分别从体育、娱乐和科技新闻中随机抽取1 000篇新闻文本进行人工标注,然后根据2.3节的方法自动标注剩余的9 000篇新闻文本,数据集如表1所示。
表1 数据集
Tab. 1 Data sets
[数据集\&人工标注文本数\&自动标注文本数\&体育\&1 000\&3 000\&娱乐\&1 000\&3 000\&科技\&1 000\&3 000\&]
3.2 实验参数设置
在实验过程中,使用预训练的词向量,并在训练过程中使其保持不变。这些词向量是通过在搜狗新闻数据集上使用Word2Vec的Skip-gram模型[18]进行训练得到的,每个词向量的维度设置为100。每个隐藏状态的维度也设置为100,用于计算自注意力的参数[da]设置为128,batch_size设置为128,Adam的学习率设置为0.001。
3.3 评价指标
采用精确度(precision,P)、召回率(recall,R)和F1值作为模型性能的评价指标。将主题词提取看作是一个二分类问题,主题词为一类A,非主题词为一类B。对于类别A,预测结果与真实结果相同的样本数为[Nptrue],预测结果为A但实际结果不是A的样本数为[Npfalse],实际结果为A但预测结果不为A的样本数为[Nfalse],则:
[P=NptrueNptrue+Npfalse] (23)
[R=NptrueNptrue+Nfalse] (24)
[F1=2P×RP+R] (25)
3.4 实验结果与分析
将本文的iBi-LSTM和Att-iBi-LSTM方法与现有的SVM、TextRank和LSTM模型方法对比,其中数据集相同。
实验1:仅使用人工标注的数据集作为模型训练的语料,在体育、娱乐和科技新闻上分别验证各种主题词提取方法,各新闻语料的80%作为训练集,20%作为测试集,从训练语料中随机抽取10%作为验证集。在测试集上计算出P、R和F1值,实验结果如表2所示。每个评价指标中的最优值用粗体标出。
从表2可以看出,在体育和科技新闻数据集上iBi-LSTM的精确度明显高于其他对比方法,Att-iBi-LSTM的召回率和F1值在所有方法中获得了最优值,在科技新闻数据集上Att-iBi-LSTM的精确度、召回率和F1值都是最高的。
表2 主题词提取结果
Tab. 2 Results of topic words extraction %
[数据集\&方法\&评价指标\&P\&R\&F1\&体育\&SVM\&65.48\&81.63\&72.67\&TextRank\&67.05\&59.78\&63.21\&LSTM\&80.07\&85.82\&82.85\&iBi-LSTM\&82.83\&86.07\&84.42\&Att-iBi-LSTM\&82.6\&89.32\&85.83\&\&\&\&娱乐\&SVM\&63.57\&80.58\&71.07\&TextRank\&60.95\&59.78\&60.36\&LSTM\&79.83\&84.64\&82.16\&iBi-LSTM\&82.30\&85.73\&83.98\&Att-iBi-LSTM\&81.67\&88.26\&84.84\&\&\&\&科技\&SVM\&64.85\&80.41\&71.8\&TextRank\&62.13\&58.64\&60.33\&LSTM\&78.36\&86.33\&82.15\&iBi-LSTM\&82.95\&86.17\&84.53\&Att-iBi-LSTM\&83.77\&88.79\&86.21\&]
各方法在3个数据上的平均结果如表3所示,每个评价指标中的最优值用粗体标出。
表3 各数据集上的平均实验结果
Tab. 3 Mean experimental results on datasets %
[方法\&评价指标\&P\&R\&F1\&SVM\&64.63\&80.87\&71.85\&TextRank\&63.38\&59.40\&61.32\&LSTM\&79.42\&85.60\&82.40\&iBi-LSTM\&82.70\&85.99\&84.31\&Att-iBi-LSTM\&82.68\&88.79\&85.63\&]
从表3可以看出综合3种新闻数据集的主题词提取结果,iBi-LSTM模型的精确度值最高,Att-iBi-LSTM的召回率和F1值高于其他对比方法。iBi-LSTM模型与SVM模型相比P、R和F1值分别提高了17.77%、5.12%和12.46%,与TextRank相比P、R和F1值分别提高了19.32%、26.59%和22.99%,与LSTM模型相比P、R和F1值分别提高了3.28%、0.39%和1.91%。引入Attention机制的双向LSTM模型与iBi-LSTM模型相比主题词提取的召回率和F1值分别提高了2.80%和1.32%,与SVM、TextRank和LSTM相比F1值分别提高了13.78%、24.31%和3.32%。虽然在主题词提取任务中,Att-iBi-LSTM模型比iBi-LSTM模型相比P值没有提升,但是F1值作为P和R的调和平均数更能说明分类效果,因此Attention机制的引入对模型进行该任务是有效的。
实验2:先使用自动标注的数据进行模型的预训练,然后使用人工标注数据集作为模型第二阶段训练的语料,训练集、测试集和验证集的比例与实验1相同,在所有新闻数据集上的总体实验结果如表4所示,iBi-LSTM(2)和Att-iBi-LSTM(2)中的(2)表示模型使用两阶段训练方法。
从表4中可以看出,使用两阶段训练方法的iBi-LSTM(2)与iBi-LSTM相比主题词提取的P、R和F1值分别提高了3.31%、0.86%和2.12%,使用两阶段训练方法的Att-iBi-LSTM(2)与Att-iBi-LSTM相比P、R和F1值分别提高了2.48%、0.53%和1.56%。表4中的实验结果证明了两阶段训练方法对模型进行主题词提取的有效性。
4 结 论
本文采用双向LSTM引入Attention的方法实现了新闻主题词的提取,并且在不同领域新闻主题词提取任务中均得到了较好的提取效果,说明了该方法的泛化性。本方法构建了一个双向的LSTM深度神经网络模型,对中心词所在的句子建模,从两个方向提取这个词的上文和下文的信息,并在该网络模型中引入注意力机制,与单独的LSTM模型相比可以获取更多的文本信息。因此,该方法有利于文本分类、文本聚类等其他自然语言处理工作的进行。此外,文中还提出了一种利用自动标注的粗数据集的两阶段模型训练方法,从实验结果可以发现这种模型训练方法对主题词提取的任务有效,所以在其他类似的工作中也可以利用这种方法。Att-iBi-LSTM结合了LSTM模型和Attention机制的优点,从而获得了更好的主题词提取效果,但是这种混合模型的网络结构与单一模型相比更复杂、计算量更大,所以模型训练的时间更长。因此,需要在以后的工作中对模型进行优化以缩短模型的训练时间。