融合LSTM和LDA差异的新闻文本关键词抽取方法*

2020-03-04 07:56王红斌张金鹏
计算机工程与科学 2020年1期
关键词:新闻标题语义向量

宁 珊,严 馨,周 枫,王红斌,张金鹏

(1.昆明理工大学信息工程与自动化学院,云南 昆明 650504;2.昆明理工大学云南省人工智能重点实验室,云南 昆明 650500; 3.云南财经大学信息管理中心,云南 昆明 650221)

1 引言

关键词抽取是文本挖掘、自然语言处理和信息检索的重要研究方向。关键词抽取使我们能够以简洁的方式表示文本文档。文档的紧凑表示在多个应用场景中都很有用,例如自())动索引、自动摘要、自动分类、聚类和过滤等。目前关于关键词抽取的主流方法主要集中在基于最频繁度量的关键词抽取、基于词频-逆文本频率TF-IDF(Term Frequency-Inverse Document Frequency)的关键词抽取和基于共现统计信息的关键词抽取[1]。随着关键词抽取技术的发展,研究者们发现仅仅考虑词语的共现频率已经不能满足关键词抽取任务的要求。牛萍等[2]融合TF-IDF和位置特征及词性特征自动抽取关键词;Abilhoa等[3]和Nagarajan等[4]提出基于图模型的算法,利用节点之间的特征信息抽取关键词;Abdelhaq等[5]根据词语的位置加权,调整TextRank算法中边的传递权重;Habibi[6]等通过隐含狄利克雷分布LDA(Latent Dirichlet Allocation)主题模型构建奖励函数计算词的主题特征,构造关键词抽取模型;Hulth等[7]通过将句法特征融入词语表示获得比N-Gram更高的精度;Yang等[8]通过LDA与TextRank算法相结合抽取关键词;Onan等[9]将基础学习算法与广泛使用的集合方法进行比较,评估统计关键字抽取方法与集成学习算法相结合的有效性;陈忆群等[10]将关键词抽取问题转化为分类问题,利用支持向量机SVM(Support Vector Machine)抽取关键词;Yang等[11]在抽取关键词时考虑了句子影响度;Bordoloi等[12]利用节点之间的邻居频率、中心置和强度等各种特征,在面向Twitter文本方面达到了当前关键词抽取的较好水平。以上基于统计学习的方法,通过融合多种特征在一定程度上提高了关键词抽取的准确率,但是忽略了语义信息对关键词抽取的影响。

随着深度学习的发展,其已被广泛应用于自然语言处理的多种任务中,宁建飞等[13]利用word2vec和TextRank抽取关键词;Xu等[14]通过融合多种关键词抽取算法计算偏移损失,抽取关键词;Mahata等[15]提出使用主题加权个性化PageRank算法和神经短语嵌入相结合来抽取和排序关键词;陈传鹏[16]提出一种词向量与 TextRank 的关键词抽取方法,弥补了语义对TextRank的影响;夏天[17]提出利用词向量聚类与TextRank结合的方法抽取关键词;Wen等[18]使用word2vec计算词之间的相似度作为节点权重的转移概率,通过迭代方法计算词得分,提高了关键词抽取性能;Colla等[19]在关键词抽取中考虑到语义度量,将语义信息融入到关键词抽取算法;Villmow等[20]提出使用基于长短时记忆网络LSTM(Long Short-Term Memory)的端到端模型抽取关键词。以上研究利用深度学习模型并融合多种特征,改善了关键词抽取的效果,但是仍然存在对于短文本文档信息不足,无法利用多特征的问题。

本文在借鉴上述研究的基础上同时针对语义信息对TextRank的影响,以及考虑新闻标题信息高度浓缩以及关键词的覆盖性与差异性的特点,提出一种新的方法,融合LSTM和LDA差异的关键词抽取方法:首先,对新闻文本进行预处理,得到候选关键词;其次,利用LDA主题模型得到候选关键词的主题差异影响度;然后,利用训练好的word2vec模型得到候选词的向量表示,同时利用LSTM模型得到新闻标题向量,计算候选关键词与标题的语义相关性影响度;最后将主题差异影响度和语义相关性影响度融入TextRank算法,得到最终的候选关键词排序,抽取出关键词。

2 研究方法

本文基于TextRank并融合语义信息和LDA主题模型的方式计算词语的重要性,方法包括4个模块:词表示模型模块、主题差异性模块、语义相关性计算模块和概率转移矩阵构建模块,如图1所示。

Figure 1 Method frame图1 方法框架图

2.1 词表示模块

在传统的机器学习领域,一般采用分布式的方法表示词,将词用一种低维实数向量表示,其优点在于相似的词在距离上更相近,能体现出不同词之间的相关性,从而反映词之间的依赖关系。对于词表示模型的训练,Mikolov等[21]在2013年提出词表示模型:Skip-gram和连续词袋CBOW(Continuous Bag-Of-Word)模型,用低维稠密的词向量代替原有的分布式的方法表示词语,可以反映出词语的依赖关系以及深层语义信息。本文选择Google的开源工具包word2vec[22],采用Skip-gram模型在搜狗全网新闻语料上进行词表示模型的训练。由于本文不是针对词表示模型的评估,并没有针对Skip-gram模型的不同超参数对关键词抽取结果的影响做特定实验。根据前期词表示训练的经验,本文将窗口大小设为5,向量维数设为200。

2.2 主题差异性模块

关键词不仅要能代表新闻文本的主要内容,还要具有主题差异性以及文本覆盖性[23]。如果只考虑语义重要性,有可能会使得抽取出的关键词只表达了文档某一方面的重要信息,从而出现冗余信息,同时造成抽取出的关键词没有覆盖整个文档的信息。即关键词的属性不仅有语义重要性还有差异性和覆盖性,如表1所示。

Table 1 Keyword extraction examples表1 关键词抽取实例

如表1所示,抽取出的关键词不仅考虑了关键词的语义重要性,同时也考虑了关键词之间的差异性和覆盖性。为了表征关键词之间的差异性和覆盖性,本文引入主题差异影响度,它表示候选关键词在不同主题之间的共享率:在主题之间共享得越少,认为这个词的主题差异性越明显,越能反映一个词区别于其他词的特殊性。本文通过LDA主题模型得到候选关键词的主题差异影响度。

LDA主题模型认为一篇文档由若干个主题组成,同时每个主题又由若干个词构成,如图2所示。

Figure 2 LDA theme model图2 LDA主题模型

在图2中,M表示文档的数目,T表示主题的数目,Nm表示第m篇文档的特征词总数,Wm,n和Zm,n分别表示第m篇文档的第n个特征词及其主题。θm和φt分别表示服从超参数α和β的Dirichlet先验分布,θm表示第m篇文档的主题概率分布,φt表示主题t中的特征词概率分布。在本文中设定超参数α=0.1和β=0.1,通过LDA主题模型,得到第m篇文档属于主题t的概率p(t|m)和在第m篇文档中词u由主题t产生的概率p(t|u,m)。

对于文档中的每个词u来说,定义TS(u)为u在文档中的主题差异影响度,用于表征关键词之间的差异性和覆盖性,它表示候选关键词在不同主题之间的共享率:在主题之间共享得越少,其主题差异性TS(u)越高。在本文中,用KL(Kullback-Leibler)距离来衡量主题差异性TS(u),计算公式为:

(1)

(2)

(3)

2.3 语义相关性计算模块

关键词体现了文本中的重要语义信息,基本的TextRank算法认为共现频率高的词具有重要信息,但是没有考虑候选关键词的语义重要性。随着深度学习的发展,各种基于深度学习的语言模型在自然语言处理中得到应用,同时由于LSTM可以很好地处理序列信息,被广泛应用在自然语言处理的各种任务中。

为了得到候选关键词,本文首先对新闻文本进行预处理(分词、去停用词、词性标注),对预处理后的新闻文本选择其中的名词、动词、形容词作为候选关键词。针对新闻文本标题信息突出的特点,结合训练好的word2vec模型得到候选词向量表示,同时利用LSTM模型[24]得到新闻标题向量;然后计算候选关键词与标题的语义相关性影响度,构建计算语义相关性的网络模型,如图3所示。

Figure 3 Network model of semantic correlation图3 语义相关性的网络模型

2.3.1 新闻标题句向量表示

首先,对新闻标题进行文本预处理(分词、去停用词),得到新闻标题词集合H={x1,x2,…,xn-1,xn},其中n为标题词个数;再将新闻标题词向量初始化,依次输入到LSTM模型中,得到隐藏状态:

ht=LSTM(ht-1,xt)

(4)

其中,ht-1为上一时间步的隐藏状态t∈[1,n];xt为当前时刻的新闻标题词的输入;依次将新闻标题词输入到LSTM模型中,将最后时间步的隐藏状态hn输出模型作为新闻标题句的向量表示形式。

2.3.2 语义相关性计算

利用LSTM模型得到的新闻标题句向量表示形式设为hn,利用word2vec模型得到候选关键词向量表示形式为vi,计算两者的距离和角度:

(5)

(6)

(7)

(8)

(9)

(10)

其中,0≤i≤2;[y]为大于y的最小整数;{y}表示当y≤0.5时舍弃,y>0.5时进一位。

令损失函数为:

(11)

其中,K为训练的总样本数;i表示第i个词-句对样本。

通过训练语义相关性计算模型,得到候选关键词与新闻标题句的语义相似度。

2.4 构建概率转移矩阵模块

根据TextRank算法,给定词图中节点之间的跳转概率转移矩阵,节点的重要性就可以通过迭代计算得到。令矩阵M表示概率转移矩阵,如下所示:

其中,M中的第j列表示由词语节点j跳转到其他节点的概率分布,每列的跳转概率之和为 1。

在传统的TextRank算法中,p(v→a)表示从节点v转移到节点a的概率,是均匀分布的,即对每个节点的重要性不加以区分,我们称之为覆盖影响度。本文在覆盖影响度的基础上加入了主题差异性影响度和语义相关性影响度。令pf(v→a)表示覆盖影响度的转移概率,即:

(12)

令pt(v→a)表示主题差异性影响度的转移概率,计算公式为:

(13)

其中,TS(a)表示词语a的主题差异性影响度,adj(v)表示v的邻接节点集合。

令py(v→a)表示语义相关性影响度的转移概率,计算公式为:

(14)

其中,py(v→a)表示从节点v转移到节点a的语义相关性影响度转移概率。y′(a)表示词语a的语义相关性影响度,adj(v)表示v的邻接节点集合。

将3种转移概率进行融合,得到最终的转移概率p(v→a),计算公式为:

p(v→a)=φpf(v→a)+

(15)

通过p(v→a)构建最终的概率转移矩阵M。

2.5 抽取关键词

在抽取关键字的迭代计算过程中,假设文本中共有n个候选关键词,即构建的词图中共有n个节点,则将所有节点的重要性分数均匀化得到初始重要性分数向量B0,即:

(16)

利用融合覆盖率影响度、主题差异影响度、语义相关性影响度构造的最终转移矩阵,迭代计算:

(17)

其中,Bi为当前迭代的节点重要性分数向量;d为阻尼系数;n为节点总数;e为所有分量均为1的n维向量。当2次迭代结果Bi和Bi-1之差小于设定的阈值,即对应节点之差都小于给定的阈值,本文设定阈值m=0.05,则认为迭代收敛,认为向量Bi为节点最终的重要性得分,按照从大到小进行排序,选出前topK个词语作为关键词。

3 实验

3.1 实验数据

本文使用来自搜狗实验室的全网新闻数据,数据包含了来自全网的2012年6月~7月期间国内、国际、体育、社会、娱乐等 18 个专题的新闻数据,共 1.4 GB 作为Skip-gram模型的训练集;对于相似度计算模块的训练,由于没有针对词-句相似度的公共数据集,本文随机抽取搜狗新闻语料的18个专题,采用人工标注的方式,构建词-句相似度计算模块的数据集,其中训练集含有词-句对3 869对,测试集含有词-句对2 158对;为了验证本文方法的可行性和优越性,在本文中,我们对18个专题随机分别抽取10篇新闻,共计180篇新闻语料作为测试集,针对测试集,采用多人人工交叉标注的形式抽取新闻关键词,每篇新闻人工抽取 10 个关键词作为人工标注的结果集(通常10个关键词足以概括一篇新闻主要内容)。

3.2 实验设置和评价指标

实验包括word2vec模型和LDA主题模型的训练、候选关键词与新闻标题词的向量表示、构建词图和概率转移矩阵等过程,语料的预处理过程采用中国科学院汉语词法分析系统ICTCLAS 完成,包括分词、去停用词等过程,使用word2vec模型对背景语料进行训练。word2vec模型的训练采用Google的开源工具包word2vec的Skip-gram模型实现,窗口大小设置为5,向量维度为200。针对新闻标题特点,设置LSTM模型展开时间步H=20,向量维度同样设为200。LDA主题模型的训练设置α=0.1和β=0.1,主题个数T=3。利用训练好的词表示模型和LDA主题模型,结合TextRank算法,构建词图和概率转移矩阵,抽取新闻关键词。本文采用准确率P、召回率R以及F值来评估本文提出的新闻文本关键词抽取方法,准确率定义如式(18)所示:

(18)

召回率公式如式(19)所示:

(19)

F值计算公式如式(20)所示:

(20)

其中,N()表示集合中元素个数。

3.3 实验结果及分析

实验1不同共现窗口的实验对比。共现窗口的大小直接影响关键词抽取效果,为了验证不同共现窗口的大小对实验结果的影响,设定l(窗口大小)分别等于2,3,4,5,以验证窗口的大小对结果的影响。本文就窗口的大小l的确定做了4组实验,分别测试l在取2,3,4,5时对关键词抽取的影响。在进行不同共现窗口的实验对比时,同时考虑TextRank、LDA差异性和语义影响度,设置3者的权重为0.3,0.4,0.3,LDA主题模型的训练设置α=0.1和β=0.1;设置抽取出的关键词个数q=9。实验结果如表2所示。

Table 2 Comparison of experimental results of different co-occurrence window sizes表2 不同共现窗口大小的对比实验结果

由实验结果发现,当共现窗口l=3时,F值为最大,F=0.73;当共现窗口大于3时,准确率、召回率和F值都有降低。分析原因主要是当共现窗口太小时,共现关系没有得到充分利用,造成信息利用率不高,从而影响准确率;当共现窗口太大时,会出现冗余信息,造成候选关键词之间的错误关系信息,所以准确率也会降低。根据不同共现窗口的实验对比,本文选取窗口大小l=3。

实验2不同关键词抽取特征组合的实验对比,以验证在实际关键词抽取任务中,TextRank、语义影响度、主题差异影响度对关键词抽取的贡献程度。本实验通过依次加入不同特征进行对比实验。在进行特征组合对比实验时,设置共现窗口大小l=3,抽取出的关键词个数q=9;LDA主题模型的超参数分别设置为α=0.1和β=0.1。实验结果如表3所示。

Table 3 Comparison of experimental results of different keyword extraction feature combinations表3 不同关键词抽取特征组合的对比实验结果

由实验结果发现,仅仅利用TextRank,其准确率明显低于结合LDA差异和语义影响度的,分析原因为TextRank仅仅利用词语的共现信息构造词语之间的关系信息,没有考虑词语与词语之间的语义影响度,也没有考虑关键词的差异性和覆盖性。本文提出的新方法,在TextRank抽取共现信息的基础上,同时也充分考虑候选关键词的语义影响度和关键词的差异性和覆盖性,因此准确率有了很大的提高。

实验3为了验证本文方法的可行性,将本文方法与其他几种主流关键词抽取方法进行比较,实验结果如表4所示。

Table 4 Comparison of experimental results of different keyword extraction methods表4 不同关键词抽取方法的对比实验结果

从表4中可知,本文提出的方法与传统的统计机器学习的方法相比较准确率有明显的提升;本文的方法与LDA+TextRank[4]方法相比较,LDA+TextRank[4]通过LDA主题模型,得到候选关键词的主题重要性,并融合TextRank进行关键词抽取,而本文方法利用LDA主题差异性的概念,不仅考虑到关键词之间的覆盖性,也同时考虑关键词之间差异性,提高了抽取关键词的质量;在本文中,我们利用新闻文本标题信息,通过LSTM模型和word2vec模型结合,计算候选关键词的语义影响度,与word2vec+TextRank[8]方法相比较,不仅提高了计算效率,也提高了关键词抽取的准确率。通过与现有方法相比较,证明了本文方法的优越性,以及本文方法在关键词抽取方面的可行性。

实验4抽取不同关键词个数的对比实验。为了验证抽取不同关键词的个数对实验结果的影响,选取了抽取q个词作为抽取结果,以验证抽取不同关键词的个数对结果的影响。本实验就抽取不同关键词的个数q的确定做了5组实验,分别测试q在取6,7,8,9,10时对关键词抽取的影响。在进行抽取不同候选关键词个数的对比实验时,同时考虑TextRank、LDA差异性和语义影响度,设置3者的权重为0.3,0.4,0.3,LDA主题模型的训练设置α=0.1和β=0.1,共现窗口大小l=3。实验结果如表5所示。

由实验结果发现,当抽取的关键词个数q=9时,准确率、召回率和F值都达到最大。分析原因主要因为当抽取的关键词个数太少时,只有少部分的重要信息词被抽取出来,造成重要信息抽取不完全,从而影响准确率;当抽取候选关键词个数太多时,又会出现冗余信息,造成多余信息被抽取出来,所以准确率也会降低。根据抽取不同候选关键词个数的对比实验,本文选抽取出的关键词个数q=9。

Table 5 Comparison of experimental results of different number of keywords表5 抽取不同关键词个数的对比实验结果

实验5为了验证所提方法的优越性,本文选取了3个基线模型。其中TKG(Twitter Keyword Graph)模型[3]和KEGBA(Keyword Extraction using Graph-Based Approach)模型[4]作为经典的关键词抽取模型,都是基于图模型的方式,通过融合复杂的节点特征,用中心度量来抽取关键词。KCW(Keyword from Collective Weights)模型[12]作为最新的关键词抽取模型,通过融合节点、位置、强度等特征信息,在面向Twitter文本的关键词抽取方面取得了很好的F值。本实验以这3个模型作为基线模型,通过与经典的基于图模型方法和最新的关键词抽取方法相比较,验证本文方法的可行性与优越性。

Table 6 Comparison of experimental results between the proposed method and baseline models表6 本文方法与基线模型的对比实验结果

由实验结果发现,本文方法与TKG模型[3]和KEGBA模型[4]相比较,F值有明显提升。分析原因主要是因为这2种方法均基于图模型,利用节点之间的特征信息抽取关键词。而本文方法在图模型的基础上,综合考虑了主题差异和语义影响,考虑的信息更全面。KCW模型[12]在我们搜集到的新闻语料上,其F值有所下降,分析原因主要是因为新闻文本信息较长,主题分布更复杂,语义信息相较于Twitter短文本更不好把握。只考虑节点位置、强度等信息忽略了关键词之间的差异性,也无法准确分析出新闻的主要内容。实验结果表明,本文方法的F值与KCW模型的基本持平,说明本文方法达到了较高的水平。

4 结束语

本文针对现有的关键词抽取方法,没有考虑候选关键词的语义重要性、覆盖性、差异性,提出了一种简单高效的融合LSTM和LDA差异的关键词抽取方法。本文方法利用LDA主题模型和LSTM语言模型、word2vec词表示模型,并融合了候选关键词的共现关系、语义重要性、覆盖性和差异性的多种不同属性。实验结果表明,本文方法与现有的关键词抽取方法相比,准确率和召回率都有明显提升。下一步的工作是在现有基础上,针对新闻语料信息高度浓缩的特点,融入外部知识信息,提高关键词抽取质量。

猜你喜欢
新闻标题语义向量
向量的分解
聚焦“向量与三角”创新题
语言与语义
谈新闻标题的现实性
网络新闻标题与报纸新闻标题的对比
批评话语分析中态度意向的邻近化语义构建
无意间击中幽默的新闻标题
“社会”一词的语义流动与新陈代谢
向量垂直在解析几何中的应用
“吃+NP”的语义生成机制研究