《武汉工程大学学报》  2020年01期 102-107   出版日期:2021-01-25   ISSN:1674-2869   CN:42-1779/TQ
基于BiLSTM-CRF的体育新闻主题词抽取方法


主题词抽取广泛应用于新闻事件识别。在事件识别领域,将用于表征事件内容的要素称为事件主题词。新闻主题词是由单个字或多个字组成的词,是指能反映新闻主题的概括性词语,时间、地点、人物和事件描述是用于表征新闻事件的四个要素[1]。对于体育新闻,除了具有新闻的一般性之外,还具有其领域的特殊性,人们重点关注的是时间、地点、人物、涉及的国家和体育项目,文中将这些要素统称为主题词。用户凭借主题词,可从大量的新闻中快速地获得有用的信息。 进入大数据时代,主题词抽取技术在新闻检索、新闻文本聚类、分类等自然语言处理(natural language processing,NLP)任务中发挥着重要作用。例如,在新闻事件识别中,通过主题词标识及分类,可迅速为新闻定性;在新闻主题聚类时,可以以主题词为依据,将主题词相似的多篇新闻文本看成一个簇,这样可以大大提高K-Means聚类的效果。 针对新闻主题词抽取任务,传统方法主要有基于统计的方法和基于机器学习的方法。 词频-逆文档频率方法是典型的统计抽取方法,这类方法以词频及逆文档频率作为指标选取前k个词为主题词[2]。这种无监督的方法无需人工标注训练集,简单快捷,但是无法有效地利用句子的语法、语义特征。 最大熵模型、支持向量机模型以及贝叶斯模型是基于机器学习的方法。这种有监督的方法,需要在大量人工标注的样本上进行主题词抽取,将主题词抽取问题转化为判断每个候选词是否为主题词的二分类问题[3]。机器学习的方法对每个候选词单独判断其是否为主题词,失去了文本本身的情感信息和句子结构的有效信息,导致模型的识别效果较差。 针对上述问题,研究者将主题词抽取问题转变为序列标注问题,如隐马尔科夫模型、最大熵马尔科夫和条件随机场。这种方法结合人工设计的特征,目前在NLP中有广泛的应用,如分词、词性标注等[4-6]。但是,这种基于机器学习的序列标注模型,在人工设计特征时需要反复尝试,耗时耗力。 近年来,循环神经网络(recurrent neural network,RNN)已被有效用于各类NLP问题,包括语言模型[7-8]和语音识别[9]。RNN可记忆历史信息,在解决长序列依赖任务时效果显著,图1是RNN结构图[10]。 图1中,[xt]表示[t]时刻输入层的特征可以是表示词或字特征的one-hot向量,也可以是密集的矢量特征。[ht]为t时刻的隐藏状态,由当前时刻的输入和上一隐藏状态决定,因此,隐藏层可以用来存储历史信息。yt表示输出层在每个时刻的输出。隐藏单元ht和输出单元yt的计算如式(1)、式(2)所示。 [ht=fUxt+Wht-1] (1) [yt=gVht-1] (2) 式(1)~(2)中,U,W,V是连接权重,它们在训练时计算得出。f(z),g(z)分别为如式(3)、式(4)所示的sigmoid、softmax激活函数。 [f(z)=11+e-z] (3) [g(zm)=ezmk=1nezk] (4) 长短期记忆网络(long short-term memory network,LSTM)作为RNN的代表,被广泛应用于各种NLP任务中。LSTM模型在处理如情感分析[11]、词性标注[12]、命名实体识别[13-14]、关键词识别[15]等问题时非常有效。但是,LSTM模型进行新闻主题词识别时每个字是相互独立的,最终得到的是每个字的最优预测,如果字与字之间存在较强的依赖关系(例如,以“B-”“I-”分别表示主题词的首字和非首字,主题词的第一字的标签应以“B-”开头,而非“I-”;预测标签“B-label1 I-label2”则无效),LSTM模型无法对这些约束进行建模,预测性能将受到限制。 为了解决传统机器学习需要反复构建特征工程和LSTM模型无法得到全局最优解的问题,本文在处理体育新闻主题词抽取的问题上提出双向长短期记忆网络联合条件随机场(bidirectional long short-term memory network conditional random field,BiLSTM-CRF)模型,双向长短期记忆网络(bidirectional long short-term memory network,BiLSTM)对长期的信息进行记忆并将其应用到当前的输出中,条件随机场(conditional random field,CRF)自动从训练数据中学习字与字之间的约束,计算联合概率来寻找最优解,优化整个句子序列以确保最终预测结果有效,最终实现主题词抽取。 1 体育新闻主题词抽取方法 1.1 抽取流程 体育类新闻的主题词抽取,不仅具有其领域的特殊性,还存在网络新闻的冗余现象,直接在新闻文本上抽取的主题词不具有代表性,并且体育新闻的人名识别面临着人名长度不等、中英文名字用字多变的挑战;体育项目、新闻地点、国家名称的构成复杂,存在简称和全称的多种表示。本文提出的体育新闻主题词抽取框架如图2所示。 具体过程为: 第一步,使用Python3.5中的Request和BeautifulSoup库从新闻网站获取真实新闻文本,清洗数据后得到新闻正文和新闻标题。 第二步,对新闻正文采用TextRank算法提取主题句。 第三步,以新闻标题和主题句为对象进行新闻主题词抽取。 1.2 TextRank提取新闻主题句 新闻标题能反映新闻的主要内容,但标题文字较少,仅仅依靠标题进行抽取对主题词抽取的准确率、覆盖程度有一定影响。而新闻正文是对事件完整的描述,因此,在进行主题句抽取时,考虑新闻正文是对仅考虑新闻标题抽取方法的补充,该方法对主题词的准确率和覆盖程度都有一定程度的提升。首先采用TextRank算法对新闻正文进行主题句自动提取,在主题句的基础上再抽取主题词,这种方法避免了仅仅依赖新闻标题进行主题抽取导致的关键信息遗漏或覆盖不全的问题。TextRank算法拟定一个权重的评分标准,给新闻正文的每个句子进行打分,之后选取排名靠前的k个句子作为结果。TextRank算法将文本中句子作为节点,组成带权重的有向图模型G=(V, E)(V为节点集合,即句子构成的节点集合,E为边集合),用来表示句子间的关系,并经过图的迭代计算实现句子权重的排序。句子Vi权重计算如式(5)所示。 [ω(Vi)=(1-d)+d×Vj∈In(Vi)wjiVk∈Out(Vj)wjkω(Vj)] (5) 式(5)中,[ω(Vi)]表示句子i的权重。d为阻尼系数,取值范围在0到1之间,表示图模型中某节点指向下一节点的概率。In(Vi)和Out(Vi)分别为指向句子Vi的句子集合和句子Vi指向的句子集合。[wjk]表示句[Vj]和句子[Vk]之间的权重,wji表示句子Vi和Vj之间的权重,用句子Vi和Vj的相似度表示,计算方法如式(6)所示。 [Similarity(Si,Sj)=tk|tk∈Sitk∈SjlogSi+logSj] (6) 式(6)中,Si和Sj为句子Vi和Vj在去除停用词后的词集合,tk表示两个句子的共现词。 1.3 BiLSTM模型 以主题句和新闻标题为对象,使用基于字的BiLSTM模型将主题词抽取问题转化为序列标注问题。本文采用BIO标准标注,即B-PER、I-PER代表体育新闻中人名首字、人名非首字,B-LOC、I-LOC代表体育新闻中出现的国家和地名的首字、地名非首字,B-SPO、I-SPO代表体育项目名首字、体育项目名非首字,O代表该字不属于主题词的部分。例如句子“中/国/马/龙/夺/冠/。”中每个字的标注为“B-LOC/I-LOC/B-PER/I-PER/O/O/O”。 为获取上下文语义信息,本文用LSTM进行序列标记。LSTM与RNN相同,只是隐藏层更新被专用内存单元替换,增加了输入门、遗忘门和输出门。因此,相比于RNN,LSTM更善于发现和利用数据中的长期依赖性,如图3所示。 图3中, xt为当前时间步的输入, ht为当前时间步的隐藏状态, LSTM单元的计算如式(7)~(11)所示。 [it=σ(Wxixt+Whiht-1+Wcict-1+bi)] (7) [ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)] (8) [ct=ftct-1+ittanh(Wxcxt+Whcht-1+bc)] (9) [ot=σ(Wxfxt+Whfht-1+Wcfct-1+bo)] (10) [ht=ottanh(ct)] (11) 式(7)~(11)中,[σ]为sigmoid激活函数,[it],[ft],[ot],[ct],[ht]分别为输入门、遗忘门、输出门、单元向量和隐藏向量,它们的维度大小相同,[bi],[bf],[bc],[bo]均为偏置向量,权重矩阵W分别表示与下标相对应单元之间的连接权重矩阵。 序列标注时,利用BiLSTM模型获得过去和未来的输入特征。BiLSTM利用前向状态获取过去的特征,后向状态获取未来的特征来预测当前标签。BiLSTM提取主题词的模型如图4所示。 模型的第一层为look-up层,利用随机初始化的嵌入矩阵将句子中每个字的one-hot向量映射为含有嵌入特征的低维稠密的字向量xi(m维)。 模型的第二层为BiLSTM层,将字向量作为每个时刻的输入,前向隐藏状态[ht]和后向隐藏状态[h’t]进行拼接得到该时刻完整的隐藏状态[ht = ht,h’t](m维)。利用一个线性层将隐藏向量从m维映射为k维(k是标注的标签数)得到pi,pi中的每一维pij为字xi到标签j的打分值。 模型的第三层为Softmax层,对各个位置进行分类,得到最后的结果。 1.4 BiLSTM-CRF模型 BiLSTM模型Softmax层是对单个字进行独立分类,舍去了整个句子的特征,不利于主题词抽取。因此,在BiLSTM模型后接入CRF层进行句子级的标注,图5给出了基于字的BiLSTM-CRF模型。 基于字的BiLSTM-CRF模型与基于字的BiLSTM模型前两层相同,第三层为CRF层,该层具有一个状态转移矩阵的参数。通过这一层,模型可以有效地利用过去的标签和未来的标签来预测当前的标签。用式(12)来计算句子[α]的标签等于y的分数。 [score(α,y)=i=1npi,yi+i=1n+1Ayi-1yi] (12) 式(12)中,[A]是一个加了初始状态和终止状态的(k+2)×(k+2)矩阵,Aij表示从第i个标签到第j个标签的转移分数。可以看出完整序列的分值即所有位置的分值和,而每一个位置的分数由两部分得到,一部分是BiLSTM输出的pi,另一部分由CRF的转移矩阵A决定。 模型最后采用式(13)所示的Viterbi算法求解最优解。 [y*=argmaxyscore(α,y)] (13) 2 实验部分 2.1 数据集 数据来自腾讯、环球和新浪主流新闻网站的1 800余篇文章、约6 MB体育新闻报道,新闻标题字数约为20~40个,正文长度不等。经过数据清洗后建立了体育新闻数据库,数据集基本信息如表1所示。 表1 数据集信息统计表 Tab. 1 Statistic information table of datasets [数据来源\&文档数\&存储容量 / MB\&平均字数\&腾讯体育\&800\&3.01\&1 012\&环球体育\&510\&1.29\&1 345\&新浪体育\&530\&1.49\&1 034\&] 一般新闻文本篇幅过长,内容复杂,不利于主题词的抽取。因此,实验先利用TextRank算法进行主题句提取,提取新闻正文中2个权重最大的句子作为新闻主题句,主题句标题的信息如表2所示。将主题句和标题组成的文本作为模型的输入对象,进行主题词的抽取。 经过上述信息处理后,最后得到来自不同新闻网站的3个标注数据集,实验采用BiLSTM-CRF模型进行新闻主题词抽取,并采用BiLSTM模型作为对照。 2.2 评价标准 采用准确率P(precision)、召回率R(recall)、F1值作为新闻主题词抽取的评价指标,计算方法如式(14)~(16)。 [P=StrueSpredicted] (14) [R=StrueSactual] (15) [F1=2×P×RP+R] (16) 式(14)~(16)中,Strue是准确抽取的标签数目,Spredicted是模型预测的所有标签数目,Sactual是数据集中总的标签数目。 2.3 结果及分析 结合新闻文稿的写作规律,本文对经TextRank提取的主题句进行了主题词的抽取,重点关注体育项目、人名、国家以及地名。对主题词类别做如下约定:体育项目标记为“SPO”,人名标记为“PER”,地名和国家统一标记为“LOC”,“B-”“I-”分别表示标签的首位和非首位,例如体育新闻文本中“在雅加达刚刚结束的田径女子100 m的决赛中,巴林选手夺冠,印度选手摘银,中国选手韦永丽获得第3名。”主题词:雅加达、田径、巴林、印度、中国、韦永丽。具体标签信息如表3所示。 表3 实例标签信息 Tab. 3 Label information of examples [\&体育项目\&人名\&地名\&国家\&标签\&SPO\&PER\&LOC\&LOC\&主题词\&田径\&韦永丽\&雅加达\&巴林、印度、中国\&] 为了测试本文提出方法对体育新闻中主题词的抽取效果,对数据集分别使用BiLSTM-CRF模型和BiLSTM模型进行实验,采用了准确率(P)、召回率(R)、F1值进行评价,实验结果如表4所示。 由表4结果可见,对于新闻主题词抽取,不同数据集上BiLSTM-CRF模型显然在准确率、召回率和F1值均优于BiLSTM模型,从实验数据上来看,在环球体育数据集上,BiLSTM-CRF在三项抽取任务上准确率P、召回率R和F1值优于BiLSTM的比例较平均;在新浪体育数据集上,BiLSTM-CRF在地名(LOC)的识别任务中比BiLSTM高4.2%,能够识别出更加复杂的地名;在较大的腾讯数据集上,尤其在人名(PER)的识别任务中,BiLSTM-CRF的F1值比BiLSTM高5.1%,从测试数据的对比结果来看,BiLSTM-CRF能够识别BiLSTM得不到的标签,如比较复杂的外国人名“科伊”。 在训练数据集相同的情况下,BiLSTM-CRF模型一个epoch需要36.5 s,而BiLSTM模型需要35.1 s,两种模型的训练总时长分别为91.25 min(36.5 s×150 epochs)和87.75 min(35.1 s×150 epochs),相差不大。由图6可知两种模型对于不同字数文档的主题词抽取时长的差异较大,在新闻文档字数较长(字数≥200)时两种模型的差异不大,但对于短篇新闻文档(字数<200)BiLSTM-CRF模型明显小于BiLSTM模型。 3 结 论 本文采用联合TextRank的BiLSTM-CRF方法实现了体育新闻主题词的抽取,在提取的不同体育新闻数据集上均取得较好的识别效果,证明了该方法的鲁棒性。本方法由于考虑了新闻正文信息,先利用TextRank方法提取新闻主题句,相较于仅从新闻标题分析在数据源上有更高的覆盖率;在算法方面,由于用CRF在句子级上考虑了上下文语义信息去除了更多错误分类,提升了识别的准确率并对算法效率有一定提升。 但是体育新闻主题词抽取任务仍然存在挑战。由于中文姓名用字和英文人名用词比较灵活且中文人名和英文人名长度不一,在脱离上下文语境的情况下无法判断是否是人名,基于深度学习的方法对抽取学习的特征干扰比较大,因此,目前的方法在人名的抽取上还有提升空间。下一步,将重点解决人名和地名的抽取问题,可以通过对人名特征的分析,加入人名特征模板等方法进行改进;对于地名,可以考虑与地理信息数据集中的地名词库预先匹配,过滤出地名后再用模型识别,以提高新地名的识别效果。通过一定的预处理手段并结合模型改进策略,可进一步提升新闻主题词的自动抽取性能。