APP下载

基于舆情新闻的中文关键词抽取综述

2023-03-16杨文忠丁甜甜卜文秀

计算机工程 2023年3期
关键词:向量单词监督

杨文忠,丁甜甜,康 鹏,卜文秀

(1.新疆大学 信息科学与工程学院,乌鲁木齐 830046;

2.新疆大学 信息科学与工程学院 新疆维吾尔自治区多语种信息技术重点实验室,乌鲁木齐 830046)

0 概述

新闻文本承载着媒体的主观意图。从用户那里提取新闻文本的意图可以揭示出用户在一段时间内的情绪倾向。这一功能对于控制有害舆情事件的发展具有重要意义,有助于政府机关妥善管理舆情事件,维护社会秩序。关键词可以对新闻文本的主题进行简要描述,帮助读者快速了解文本的含义或主题。

目前,关键词抽取技术获得的成果为不同领域的科学研究提供了帮助。例如,在信息科学领域,舆情网站每天都会产生大量新闻,涵盖国际、娱乐、政治、军事等方面。尽管利用媒体信息的好处很多,但虚假新闻和标题骗局是不可避免的,读者越来越难以快速找到有用的信息。关键词可以提供对新闻文本主题的简洁描述,帮助读者快速理解文本的含义或主题。此外,关键词抽取技术对文本生成[1-2]、自动问答[3]、信息搜索等自然语言处理任务都非常重要。如何从海量信息中提取最为核心的词语,将各类热门关键词及时动态地展示给用户,节省用户验证时间,成为当前研究的热点。

提取舆情事件的关键词可以捕捉网上舆情的热点和趋势。事件是人们关注舆情的基础,不同的舆情事件有不同的关键词,每个关键词从不同的方向描述一个舆情事件。例如,爆炸事件的关键词有爆炸发生地、救援工作、事故后的损失及其原因等。这些关键词可以让公众从不同角度了解事件的发展。在分析舆情事件时,使用关键词不仅可以从多个角度描述事件,还可以通过关注同一事件的关键词的演变来追踪事件的进程;通过比较不同事件的关键词的相似性,可以为事件的演变总结规则,方便进一步的研究,预测舆情的爆发点。因此,关键词在事件分析中非常重要[4]。

本文阐述关键词抽取技术的发展历程,对相关模型按照无监督和有监督的分类进行分析与总结。根据关键词抽取技术的发展现状,分析无监督模型的优势与弊端,根据其弊端说明有监督模型出现的原因,并详细解释基于深度学习的有监督关键词抽取模型出现的必然性和其独特的优势以及现有的弊端。在此基础上,对关键词抽取技术未来的发展方向加以展望。

1 关键词抽取现状分析

关键词抽取技术是指从文本中提取与文章含义最相关的关键词。它在文档检索[5]、自动摘要[2]、文本聚类[6]和文本分类[7]中有重要应用。关键词抽取算法一般分为两类:无监督算法和有监督算法。本节根据这两个类别详细介绍关键词抽取技术的研究和发展现状。

1.1 无监督关键词抽取算法

无监督抽取算法关键词领域适用范围最广,也是使用最早的方法。无监督关键词提取算法的一般模式如图1 所示。

图1 无监督算法的一般模式Fig.1 General model of unsupervised algorithms

按照无监督算法的类型,本节按照5 个类别对无监督关键词抽取算法进行介绍[8]。

1)基于简单统计的方法

简单统计方法是对某一特定的候选词进行统计,并按照权重进行排序,抽取排名靠前的词作为关键词[9]。文献[10]采用的TF-IDF(Term Frequency-Inverse Document Frequency)算法是简单统计方法中的典型代表[10]。TF-IDF 在最终的计算过程中会过滤掉常用词而保留重要的词。文献[11]提出的YEAK 模型使用统计指标来提供与背景相关的信息[11]。

简单统计方法的优点是使用简单,不需要太多计算。劣势主要体现在:可扩展性差,简单的统计通常基于来自不同作者数据集的文档的特征,并且结果从一个数据集到另一个数据集差异很大;精度低,该方法的度量基于专家知识,表明它只能覆盖词之间的浅语义信息,而不能挖掘更深层次的语义新闻。

2)基于图的方法

基于图的关键词抽取算法是将文本内容构建为一个词图,之后将图中的节点进行排序确定关键词。文献[12]提出的Positional Function 模型和文献[13]提出的HITS 模型均是基于图的排序模型。

文献[14]使用基于图的文本提取模型TextRank进行关键词抽取,TextRank 派生自PageRank 算法,它使用单词图来分散单词的权重[14]。TextRank 中的关键词权重传播仅关注词频,网络中的有向和无向边缘被无向和有向边缘所取代[15]。

TextRank 的优势是:作为无监督算法,不需要构建带标签数据集进行相关实验;算法思想简单,易部署;可以较为充分地利用词语之间的关系。其局限性表现在:抽取效果与前期工作中的分词、文本清洗有直接关系,如停用词的设定直接影响抽取结果;本质上还是受高频词和词性标注的影响。

针对TextRank 的缺陷,WAN 等[16]提出的SingleRank 模型使用少量的近邻文档来提供更多的知识,以改善单一文档的关键词提取。基于此,文献[17]和文献[18]分别提出的PositionRank 和SGRank 方法利用统计、位置、词的共现等信息来进行关键词抽取,从而更好地提升模型的性能。但是,以上的方法仅是考虑文档自身的信息,为了帮助模型学习更多的文本信息,ExpandRank 通过添加与原文档接近的相邻文本,将基于图排名算法应用于扩展的文档集[16]。与之相似,文献[19]提出的CiteTextRank 模型通过捕捉论文的引文对其的影响,将引文信息与目标文档知识相结合用于关键词抽取。

通过对基于图的方法的发展历程分析发现:基于图的关键词抽取模型的优点是可以充分体验词之间的联系;缺点是虽然准确率得到了一定的提升,但还是较低。

3)基于主题的方法

文献[20]提出了潜在语义分析(Latent Semantic Analysis,LSA)模型,它通过降低单词-文本矩阵的维度来研究一个单词的潜在含义[20]。之后,HUFFMAN 等[21]和周学广等[22]提出概率隐性语义分析(Probabilistic Latent Semantic Analysis,PLSA)模型。图2 所示为PLSA 模型结构,其中:d表示文档;Z表示主题;W表示单词;N表示文档数;M表示一篇文档生成了M个单词。

图2 PLSA 模型结构Fig.2 PLSA model structure

虽然PLSA 相较于LSA 理论更加成熟,但是因为其自身预测方法的问题,文献[23]提出了潜在狄利克雷分布(Latent Dirichlet Allocation,LDA)模型来解决PLSA 模型存在的问题。LDA 的概率模型如图3 所示。图3 中各个符号说明如表1 所示。

图3 LDA 的概率模型Fig.3 Probabilistic model of LDA

表1 LDA 参数说明Table 1 Description of LDA parameters

文献[24]提出的TopicRank 模型是依赖文档主题的基于图的关键词提取方法。它基于图形给每个主题分配不同的权重,通过排名靠前的主题,选择候选词来生成关键短语。文献[25]提出的TPR(Topical PageRank)模型利用词图来衡量词在LDA主题下的重要性,根据词的重要性计算词的排名分数,并抽取排名靠前的候选词作为关键词。之后,研究人员对TPR 进行优化,提出Salience Rank 模型,相较于TPR,该模型只需要运行一次PageRank 就可以在基准数据集上提取出相当或更好的关键词。Salience Rank 可以在不同的话题和数据集上较好地提取关键词[26]。

文献[27]对主题模型的限制性进行了分析与研究:主题概率模型的优势在于它能够分析文档中的潜在主题;缺点是模型质量差,计算的无效词数量多,清洗困难,主题之间缺乏区分,结果较差,主题内词相关性低,无法反映具体场景[27-29]。

4)基于语义的方法

文献[28-32]介绍了无监督关键词抽取算法中具有奠基性的模型——N-gram 模型。该模型可以将前N-1 个单词所有信息进行有效使用,并且这些单词与当前单词的出现密切相关。对基于语义的关键词抽取算法进行研究后发现语义模型的限制性在于:(1)在确定模型参数时需要大量的文本,即当N较大时,模型的参数确定比较困难;(2)数据的覆盖率不高,存在数据平滑问题;(3)基于主观的假设;(4)没有合适的评价方法,很难对实现的结果进行有效性评估。

5)基于词向量的方法

MIKOLOV 等[33]提出的词嵌入方法利用分层softmax 和负采样对神经网络语言模型进行改进,显著降低了计算过程的复杂性。Word2Vec 模型分为连续词袋(CBOW)模型和连续跳词语法(Skip-Gram)模型。CBOW 的基本思想是根据周围的文本预测一个词的向量表示,即鉴于中心词的上下文联系,模型找到了该词的预测,如图4(a)所示。Skip-Gram 模型的核心思想是基于中心字来预测邻近单词,真正的目的是在给定的词汇情况下计算出其他词汇的发生概率,如图4(b)所示。Word2Vec 模型的优点是:在Word2Vec 中训练得到词向量的分布式表示方法,将“距离”引入矢量空间,并通过计算字与字之间的距离来确定词语的语义相似性,从而有效地解决了“维度灾难”、“语义鸿沟”等一系列问题;缺点是:因为Word2Vec 模型输出的每一个单词对应的矢量都是固定的,也就是说单词经过Word2Vec编码后被输出为一个低维度的独立静态矢量,这种向量只能代表一种意义,无法解决词的多义性问题。比如:“火狐”可以指代动物,也可以指代浏览器,但是Word2Vec 所编码的“火狐”所对应的词向量的表示是唯一的。

图4 CBOW 和Skip-Gram 模型结构Fig.4 Structure of CBOW and Skip-Gram model

文献[31]提出将词嵌入方法GloVe[34]引入到关键词提取中。文献[32]提出了一种用于关键短语提取的新颖的无监督算法(RVA),该算法使用局部词嵌入GloVe 向量[35],从单词和关键短语的局部表示捕获所属文档在上下文中的准确语义。文献[34]提出的EmbedRank 模型通过句子嵌入(Doc2Vec[36]或Sent2Vec[37])与语义文档嵌入[38],将文档和候选短语表示为高维空间中的向量。

1.2 有监督关键词抽取算法

与无监督的主题提取算法相比,机器学习算法和深度学习算法的快速发展为无监督主题提取算法注入了新的活力。此外,有监督算法更规范化与更标准化,适用于不同的数据集,具有更好的实验结果。本文按照论文的分类方法将关键词抽取算法分为两类[8]:以关键词提取为分类任务,即用分类模型将候选词分为关键词和非关键词,关键词抽取的分类模型如图5 所示;将关键词抽取任务作为序列标注任务,即序列标注模型用于学习标有关键词的句子序列中单词之间的关系,然后对原始句子进行序列标注,以此从句子中提取关键词,关键词抽取序列标注模型如图6 所示。

图5 关键词抽取的分类模型Fig.5 Classification model of keyword extraction

图6 关键词抽取序列标注模型Fig.6 Keyword extraction sequence labelling model

有监督算法必须为模型的预训练提供带标注数据集,因此有监督算法的使用还包括构建数据集的过程,这也是其与无监督算法不同的地方。

在分类模型中词语被认为是独立的,该词语是否被作为关键词是根据其自身的特征决定的。显而易见,分类模型的判别思想的局限性是很大的。在现实中,一个词会经常因为上下文的变化而导致意义发生改变,在判断的过程中,该词汇的权重随着语义的变化而发生相应的变化。

序列标注模型很好地解决了这种语义矛盾。序列标注模型在考虑当前词汇状态的同时也会综合考虑前文发送的信息,即序列标注模型既可以兼顾词汇当前文本的含义,也可以兼顾词汇上下文的语义特征,序列标注模型是使用更为广泛的关键词分析方法之一。

1)分类模型

分类模型主要包括基于机器学习与基于深度学习两种模型。

(1)基于机器学习的分类模型

与基于无监督算法相比,机器学习算法更加标准和规范,适应性更强,实验效果往往比无监督算法要好,对实验数据集的适应性也更强。因此,目前很多研究人员已经将关注点从无监督算法转向机器学习算法。

文献[35]提出将支持向量机(Support Vector Machines,SVM)[39]与关键词抽取技术相融合的方法。文献[36,40]提出的模型仅仅依靠统计信息,通过增加额外的语言知识来取得更好的结果。文献[37]提出使用二进制整数规划(Binary Integer Programming,BIP)[41]提取关键词。

(2)基于深度学习的分类模型

随着计算能力的提高,神经网络和深度学习的使用也在增加。神经网络模型已经在许多自然语言领域的相关任务中取得了巨大成功。深度学习使用词嵌入模型将文本中的词转换为词向量。除了词之间的结构信息外,还包含了词的语义信息,使得关键词提取效果更加全面。深度学习利用海量的神经网络参数,通过大量接近人类认知的人工标注语料进行训练,不断迭代神经网络参数,最终训练出高维非线性调整的模型。

文献[38]提出在关键词提取任务中使用多层感知器(Multilayer Perceptron,MLP)模型,在比较实验中发现MLP 模型优于传统的普通贝叶斯模型和C4.5 决策树模型[42]。但是,使用关键词提取作为分类任务不允许将单个单词与整个上下文关联。

2)序列标注模型

序列标注模型主要包括基于机器学习与基于深度学习两种模型。

(1)基于机器学习的序列标注模型

文献[38]提出使用隐马尔可夫模型(Hidden Markov Model,HMM)通过一系列观察从一组状态中选择概率最高的状态序列。特定状态的概率和状态之间的转换概率可以从一个大规模的语料库中进行粗略的统计估计。在自然语言处理(Natural Language Processing,NLP)领域,HMM 算法凭借成熟的算法体系和其容易学习特性已经被广泛使用,但HMM 也存在一些问题,HMM 的缺陷导致它无法成为序列标注模型的最合适的概率统计模型。因此,后期有很多学者[43-46]对其缺陷进行了优化。

(2)基于深度学习的序列标注模型

基于深度学习的序列标注模型包括一般模式和基于词向量两种模型。

①一般模式的序列标注模型

条件随机场(Conditional Random Field,CRF)是序列标注算法的代表模型[41-42],它使用语言学和文章结果等各种来源特征来表示文章。通过引入自定义特征函数,不仅可以表达观测值之间的依赖关系,还可以表达当前观测值与多个之前状态之间的关系,复杂依赖关系可以有效解决HMM 模型遇到的问题,并从文章中获取关键短语[47-48]。

循环神经网络(Recurrent Neural Network,RNN)展开结构如图7 所示,可以看出:在信息传递过程中,序列中每个节点都会将前面节点的信息进行学习记忆并输出到计算中[49-50]。之所以建立双向RNN是因为可以将文章中的信息进行上下流动,即可以帮助RNN 有效地获取单词与上下文之间的联系。由于RNN 网络在较长的文本反向传播中会出现梯度消失的问题,针对这个问题,文献[45-46]利用长短期记忆(Long Short-Term Memory,LSTM)神经网络[51-52]进行关键词抽取。LSTM 神经网络是一种改进的RNN,如图8 所示。

图7 循环神经网络的展开结构Fig.7 Unfolding structure of recurrent neural network

图8 长短期记忆神经网络结构Fig.8 Structure of long short-term memory neural network

之后,BASALDELLA 等[53]提出双向长短期记忆(Bidirectional Long Short-Term Memory,BiLSTM)网络,主要由前向和后向两层LSTM 层组成。BiLSTM可以捕获文本字符串的双向依赖关系,更好地帮助模型学习文本的上下文信息,文献[48-49]提出的模型将 BiLSTM 应用于序列的标注和分类问题[31,41,54-56]。

图9 所示为BiLSTM 序列标注结构。BiLSTM 的优点是可以利用双向参数来观察字符串(输入)间的相关性。BiLSTM 能够从一组观测数据中自动抽取出一组特征,但其不足之处在于:无法对状态序列进行学习(输出标注间的关联),在抽取关键词时,各标注间存在必定的关联[47,57]。比如,在B 标签之后不可能跟B 标签。所以在诸如BiLSTM 这样的序列标注问题中,尽管可以忽略复杂的功能设计,但其不能了解标注的内容。相对于BiLSTM,CRF 能够模拟出状态序列的特征,但其不足之处在于需要人工抽取。鉴于CRF模型在顺序标注方面的优良性能,文献[50]提出引入BiLSTM+CRF 模式[58],并与其他模型进行了比较,结果表明,该模型具有更好的适用性和精确度。为了改善BiLSTM 存在的问题,本文提出使用词向量模型对文本进行深层次的信息挖掘来优化普通的序列标注模型。

图9 BiLSTM 序列标注结构Fig.9 Sequence labelling structure of BiLSTM

②基于词向量的序列标注模型

2018 年,JUSTYNA 等[59]提 出ELMo(Emdeddings from Language Models)模型,该模型是基于预训练思想的语言模型,其将CharacterCNN[60]作为编码层,多层堆叠的BiLSTM 模型对上下文关系进行建模。文献[54]提出一种基于ELMo 的短文本语义表示模型,该模型采用词嵌入模型[61],基于主题模型LDA根据短文本语义抽取关键词。

EMLo 模型的优点是:该模型使用大量数据创建预训练的语言模型,可以对单词的语法和语义特征进行建模。首先在含有海量文字资料的语料库中建立面向LSTM 的网络语言模型,然后通过对输入与隐藏层矢量的线性结合,可以将词汇矢量表转换为预先训练的单词嵌入模式,从而有效地解决词汇的多义性问题。缺陷是:EMLo 基于的前向模型利用由前面给出的信息来预测和建模,后向模型与之相反,LSTM 的参数在前向和后向两个方向上是独立封闭的。因此,ELMo 仍然是单向编码模型,它只是利用拼接完成了表面上的双向编码模式。ELMo模型训练框架如图10 所示。

图10 ELMo 模型的训练框架Fig.10 Training framework of ELMo model

为了解决LSTM 模块存在的问题,生成式预训练(Generative Pre-Training,GPT)模型将ELMo 模型中的LSTM 模型舍弃掉,因Transformer 具有突出的共同进行计算的能力,该模型使用Transformer 作为特征提取器。这种改变同时促使了模型可以更好地帮助单词学习文本上下文之间远程的关系特征。文献[55]提出一种基于FastText 多语言词嵌入,并将GPT[62]进行关键词的抽取。GPT 模型训练框架如图11 所示。

图11 GPT 模型的训练框架Fig.11 Training framework of GPT model

文献[56-57]将Transformer 的双向编码器表示(Bidirectional Encoder Representation from Transformer,BERT)[63-65]作为预训练模型,在关键词抽取领域取得了最优的结果。BERT 是一种完全的双向训练的模型,可以使神经网络更高效地从一层到另一层获取文本的前后关联。为了改善ELMo 和GPT 预训练语言模型的缺陷[66],BERT 模型充分利用预训练模型各层的文本信息,即模型双向且深度的文本表示,从而获得高质量的词向量。BERT 模型训练框架如图12 所示。

图12 BERT 模型的训练框架Fig.12 Training framework of BERT model

BERT 的输入由3 个向量的总和组成:标注向量,段向量和位置向量。BERT 的输入结构如图13 所示。BERT 通过将整个输入序列转换为一个词的矢量,包括将特殊字符矢量化,形成一个Token 的矢量,用一个分段向量来区分两个句子对句子之间的关系进行建模。最后,为了学习一连串单词的位置特征之间的关系,对每个单词进行位置编码,形成一个位置向量。此外,文献[59-60]提出的中文问答(Chinese Question Answering,CQA)系统的跨语言研究结果表明,BERTCRF 模型词向量抽取结果优于BERT 模型[67-70]。图14和图15 所示为BERT 与BERT-CRF 的n分类问题与k″分类问题。显然,Softmax 逐帧输出的结果之间并没有直接的关系,CRF 会考虑到输出中的上下文关联,在BERT 基础上通过BERT-CRF 模型对整个模型进行建模[70]。关键词抽取算法分析与优缺点分析如表2和表3所示。

表2 关键词抽取算法分析Table 2 Analysis of keyword extraction algorithms

续表

续表

表3 关键词抽取算法优缺点分析Table 3 Analysis of advantages and disadvantages of keyword extraction algorithms

图13 BERT 的输入结构Fig.13 Input structure of BERT

图14 BERT 的n 分类问题Fig.14 n classification problem of BERT

图15 BERT-CRF 的kn分类问题Fig.15 kn classification problem of BERT-CRF

1.3 归纳与总结

根据上文的梳理研究,发现关键词抽取算法主要存在以下问题:

1)无监督算法具有简单、易于实现、不需要标注数据等优点,但算法提取结果的准确性不高,并且在不同的数据集合中提取的效果会有很大的变化。

2)为了提高算法泛化性和优化抽取的效果,传统的有监督分类算法逐渐受到关注,但是传统分类算法并未考虑到字词与上下文之间的联系。

3)为了使字词更好地学习上下文之间的联系,关键词抽取算法序列标注算法逐步取代分类算法,在进行深度学习算法训练时,通常会使用大量带有标注的样本。

4)随着BERT 算法的提出,它在多个自然语言领域都获得了较好的效果,但是BERT 由于参数较多,且模型体积较大,在训练少量的数据时会造成过度拟合。

ELMo 算法只是使用了简单的LSTM 进行拼接来实现“表面”的双向语言算法,这种拼接的方法是无法实现真正的上下文的语义提取的,并且针对LSTM 算法来说,其文本语义挖掘的能力也远远不如Transformer 算法。之后提出的TGP 预训练算法实质上就是一个单向的Transformer 算法,因此也只可以学习到文本之前的内容信息,而无法完全实现文本上下文的学习。BERT 预训练算法提取的特征粒度包括了字符、词和句子层面的广泛的特征信息,其产生的词汇表示是基于上下文的,并且是在文字的动态特征的基础上产生的,文字在不同的情境中输出为不同的表现,这解决了词的模糊性的问题,并且BERT 输出的大量特征信息也提高了关键词抽取过程的效率。

2 数据集介绍

2.1 公开数据集

本文采用2 个开放数据集Sohu 数据集[97]和Sensor 数据集[98]以增加实验的可信度。由于这2 个公开数据集太小,因此本文只将这2 个数据集作为测试集和验证集。此外,本文抓取100 000 条热门新闻文本作为训练集,采用随机选取的方法从所有的文本中选取1 500 条进行标注作为训练数据集。然后从剩余的文章中随机选取1 000 条作为对抗训练过程中的未标注样本来训练模型。公开数据集的数据分布如表4 所示。

表4 公开数据集的数据分析Table 4 Data distribution of public datasets 单位:条

2.2 自建数据集

由于直接抓取的数据集包含了大量的噪声,无法直接利用,因此在使用数据样本之前首先要对所收集的数据进行文字预处理,然后进行降噪、分词、去停用等。新闻数据主要抓取来自搜狐、微博、百度等各大新闻网站的舆情新闻信息。为了使实验效果更加客观,采用学术界常用的数据分布,带标签样本与测试集和验证集的比例为6∶2∶2。实验数据集分布如表5 所示。

表5 自建数据集分布Table 5 Distribution of self-built datasets 单位:条

3 评价指标

混淆矩阵是一种直观的评价标准,用于通过计算评估结果,将模型预测的数据样本与实际标签信息进行比较。混淆矩阵结构如图16 所示。在图16中:TP 表示实际标签为正,经过模型预测为正;FP 表示实际标签为负,经过模型预测为正;FN 表示实际标签为正,经过模型预测为负;TN 表示实际标签为负,经过模型预测为负;每行代表数据的模型预测;每列代表数据的实际状态。

图16 混淆矩阵结构Fig.16 Structure of confusion matrix

混淆矩阵的主要指标如下:

精确率(P):实际正标签数据在预测为正的结果中的比例。

精确率计算公式如式(1)所示:

其中:Qc表示真实的关键词集合;Qp表示预测的关键词集合。

召回率(R):实际标签为正的数据比例,模型正确预测的数据量。

召回率计算公式如式(2)所示:

由于在精确率与召回率上存在指标的冲突,使得模型间的对比变得困难。因此,通过F1 指标尽量综合考虑两者,F1 计算公式如式(3)所示:

4 实验设计与分析

4.1 对比算法

首先介绍无监督关键词基线算法,选取参考论文中的最佳参数的F1 值(这里的关键词只选择排名前6 名),确保结果公正客观。

主题类的算法选用LDA[23],算法1 所示为LDA主题模型抽取关键词的算法流程。

算法1LDA 算法

步骤1在每个文件中选择1 个特定的主题分配。

步骤2从选定的话题中任意选择1 个词。

步骤3重复以上步骤直到整个文档都被覆盖。

步骤4根据以上3 个步骤,可以得到每个主题的分布顺序,并根据文章中主题的实际分布情况进行调整,检查其是否与文章中主题的正式分布相匹配。

步骤5重复上述的步骤,直至根据所有的主题生成关键词。

统计类算法选用TF-IDF[99-101],TF-IDF 算法流程如算法2 所示。

算法2TF-IDF 算法

步骤1对于一个给定的文本,对词频d 进行预处理操作,如单词分离、词性注释和删除去掉的单词,vn、l、a、d 等具有词性的词被保留下来,形成候选关键词X={x1,x2,…,xn}。

步骤2计算词xi在文本中的词频d。

步骤3计算词xi在整个语料库中的IDF。

步骤4重复步骤2、步骤3,对计算结果进行排序,确定前N个词为关键词。

图模型类算法选取TextRank,TextRank 算法关键词抽取的算法流程如算法3 所示。

算法3TextRank 算法

步骤1文本预处理。

步骤2V表示节点集合,构建候选关键词图G=(V,E)。

步骤3重复循环每个节点,直到收敛。

步骤4对每个节点的权重值进行排序,得到前N个词作为候选图。

步骤5对步骤4 得到的关键词在原文中进行标注,如果两者之间有相邻的短语,则认为是关键短语。

PositionRank:根据PositionRank 的算法思想,其关键词抽取算法流程如算法4 所示。

算法4PositionRank 算法

步骤1单词的预处理。

步骤2利用词的共现关系构建一个无定向的词图G=(V,E)。

步骤3计算词xi在词频d 中的位置倒数之和S(xi)。之后,将Position(xi)=pj归一化,以修改PositionRank 的重启概率。

步骤4通过在词图上的随机游走来输出词xi及其相应的分数,直到趋于稳定。

步骤5将候选关键词w的每个组成词x的相应分数相加S(xj),得到候选关键词的操作分数S(w)。

步骤6将前N个候选词作为关键词,候选关键词的分数S(w)是倒置的。

词向量模型类算法选用 Word2Vec+kmeans[102-103],算法5 所示为特定的算法流程。

算法5Word2Vec+k-means 算法

步骤1用Word2Vec 模型训练大型维基语料库,得到“wiki.zh.text.vector”的词向量文件。

步骤2对数据进行预处理,最终得到X={x1,x2,…,xn}。

步骤3遍历候选关键词,从词向量文件中提取候选关键词的词向量表示WWord2Vec={v1,v2,…,vn}。

步骤4通过k-means 对候选关键词进行聚类可以得到不同类型的聚类中心,其中聚类的数量由人工确定,由于本文使用的是舆情新闻领域,因此将其聚类为一类。

步骤5在每一类中,聚类中的词与聚类中心的距离(欧氏距离)根据聚类的大小依次递增,常用的有欧氏距离、曼哈顿距离,本文使用的时间欧氏距离由下式给出:

步骤6通过计算候选关键词,得出最有价值的词,作为文本关键词。

下文对有监督基线算法进行介绍:

HMM[88]:是机器学习中最典型的一种。

CRF[48]:是一种典型的序列标注方法,它既能表达观察间的相关性,又能反映当前观察与前、后多态的关系,获得文中的关键词组。

BiLSTM[53]:利用神经网络的超强非线性拟合特性,在训练过程中,将样本经过复杂的非线性转换获得从样本到标记的功能,然后利用该函数对给定的样本进行预测。

BiLSTM+CRF[58]:BiLSTM 在进行顺序标注时可以省略大量的特征工程,但也存在不能进行标注的缺陷。然而,CRF 的优势在于能够模拟出隐含的状态,了解状态序列的特性,但是其不足之处在于必须手工抽取序列的特征。由于所提的BiLSTM+CRF模式将两者结合起来,因此可以更好地完成与序列标注有关的工作。

BERT+CRF:BERT 能够更好地使模型从背景信息中学习到更多的信息,并且消除了对抗性学习,从而检验在同样的数据比率下对抗学习能否更好地促进模型在没有标注的数据中获得更多的知识。

4.2 实验结果

自建数据集实验结果如表6 所示。

表6 自建数据集F1 值结果Table 6 Results of self-built dataset FI values

从表6 可以得出以下结论:

1)可以观察到Sensor 数据集的性能指标。

2)在这些对比算法中,直接使用无监督的TextRank 与PositionRank 算法抽取关键词的效果较好,在某些数据集合中,甚至超过有监督的算法。

3)BiLSTM+CRF 与BiLSTM 相 比,BiLSTM 的性能指标更好,说明在BiLSTM 上添加CRF 进行纠错的思路是正确的,可以有效提升算法预测的准确率。

4)使用人工创建的特征的CRF 算法有时不如HMM,表明人工创建的规则并不总是能反映文本的深层语义信息。

5)这些对比实验的模型为本文提供了经验下界。在其他数据集上表现较差的算法如LDA,在“地震”数据集上的表现却比其他无监督算法要好,这可能是因为数据分布不一致所导致。

6)算法效果最好的是BERT+CRF 算法,与BiLSTM+CRF 相比,其提取单词上下文信息的功能要比BiLSTM+CRF 好很多。

通过与基线算法进行的实验对比可知:本文算法在多个数据集上实验效果稳定,充分验证了算法的有效性。

Sensor 和Sohu 数据集实验结果如表7、表8所示。

表7 Sensor 数据集实验结果Table 7 Experimental results of Sensor dataset

表8 Sohu 数据集实验结果Table 8 Experimental results of Sohu dataset

从表7、表8 可以得出以下结论:

1)从整体性能上来看,在Sensor 数据集上的实验效果比Sohu 数据集要好,可能是因为训练集中的内容更加偏向Sensor 数据集的原因。

2)在Sensor 数据集中效果最好的是BERT+CRF算法,F1 值达到了73.1%,比BiLSTM+CRF 算法提高了6.4 个百分点;同样地,在Sohu 数据集中,BERT+CRF 算法比BiLSTM+CRF 算法的效果提高了3.4 个百分点,进一步佐证了该算法比BiLSTM+CRF 算法更能挖掘文本的深层次语义。

3)在2 个公开数据集上,BiLSTM 比BiLSTM+CRF 的效果都要差,说明BiLSTM+CRF 对于序列标注正确性有进一步提升。

4)在所有的数据集上,Word2Vec+k-means 算法效果都比较差,原因是在构建词向量时,使用的维基百科词向量库与数据集并不是很吻合。

5)在整体趋势上,有监督算法要比无监督算法效果更好。

5 未来展望

文本关键词可以提供高度集中的舆论信息,使人们能够快速有效地掌握相关内容。因此,如何从文本中自动提取关键词是文本挖掘领域的重点关注方向之一。从中文关键词提取的角度出发,对中文关键词的提取问题进行了多角度的探讨,并给出了相应的算法。然而,本文研究还存在许多问题,有待于在已有研究的基础上进行深入探讨[95]。

1)采用轻量级方法

目前,BERT 算法较为流行,在实际应用中效果较好,但是与一些无监督或者半监督算法相比,时间耗费量巨大。针对该问题,可以考虑采用一些轻量级的框架替换算法中的大型模块。

2)大型数据集

深度学习需要海量的数据来训练算法,优秀的数据集必须具有大规模和广泛性的特性。目前已有的关键词提取领域中的数据集都有不足之处,因此要提高算法的性能,就必须建立一个较大的样本库,以便对算法进行深入的研究。

3)结合外部知识[104]

仅从文本中所含的信息来进行关键词抽取,其难度和局限性都很大。在此背景下,企业的外部知识结构系统就变得非常重要。因此,本文提出一种基于知识图谱的方法,并将其与外部知识相结合,使其在实际应用中能够得到广泛的拓展。

4)有监督算法与无监督算法相融合

当前有很多效果良好的有监督算法,通过学习文本中标注的信息来增强算法的性能,但是无法发现标注数据此外的知识[105]。因此,可以将现有的研究与无监督算法相结合,如将关键词抽取算法和主题算法相结合,使该算法在抽取时能够充分考虑到词语的主题分布,从而能够更好地反映文本的主题信息。关键词必须有一个主题的资讯才能体现整篇文章。该方法可以将算法和主题算法相结合,使得算法在提取时能够充分考虑到主题的分布。

6 结束语

关键词抽取算法在信息检索、文本聚类、信息推荐等领域都有重要的作用。本文对关键词抽取算法进行了详细的阐述,对比传统算法与目前流行的深度学习算法的优缺点,阐述了关键词抽取算法目前仍需解决的问题与潜在的发展趋势。根据目前的发展情况,基于深度学习的序列标注类型的算法为目前的主流算法,且抽取效果较好,但也存在缺陷与挑战。在未来发展过程中可以将无监督算法与有监督算法进行有效融合,并结合外部知识以促进关键词抽取算法更好的发展。

猜你喜欢

向量单词监督
向量的分解
聚焦“向量与三角”创新题
突出“四个注重” 预算监督显实效
单词连一连
看图填单词
监督见成效 旧貌换新颜
看完这些单词的翻译,整个人都不好了
夯实监督之基
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线