祖 弦,谢 飞+,刘啸剑
1.合肥师范学院计算机学院,合肥 230061
2.合肥工业大学计算机与信息学院,合肥 230009
随着文本数据的日益增多,如何快速、高效、全面地分析及挖掘文本,从中获取用户所需信息是当前自然语言处理领域面临的一大挑战。关键词是最能反映文档主旨的词汇词组,简明扼要地概括并表达文档核心内容。因此关键词自动抽取技术能帮助人们迅速从海量数据中筛选出有用信息,从而有效提高文档检索效率。目前,关键词自动抽取技术已广泛应用于推荐系统、自动文摘[1]、文本分类[2]、信息检索[3]等领域。然而Web 中绝大多数文档都没有提供相应关键词,人工标注、手动编辑不仅繁琐费力,还极具主观性,因此需要研究出高效有用的关键词自动抽取方法。
目前,主流的关键词自动抽取方法分为有监督和无监督两类,有监督算法需要大量人工标注语料库,并预先训练好抽取模型,不仅耗费人力时间,同时标注的主观性也将直接影响抽取模型的效果。无监督算法主要基于以下几种思想:依赖统计特征信息(如词频特征、长度特征、位置特征等)的方法、依赖词图模型的方法、依赖Topic Model(主题模型)的方法,其中基于统计的方法忽略了文档中词语之间的相互联系,局限于仅通过统计相关特征来抽取关键词,导致抽取效果不好。基于词图模型的方法虽然充分考虑了词语间的相互关联,但缺乏语义层面的支持。而基于主题模型的抽取方法试图通过对文本潜在主题信息的挖掘来提高抽取效率,但实际应用中发现自动抽取的关键词主题分布较为广泛,并不能较好反映单篇文档本身的主题,另外主题模型需要事先构建,也增加了计算成本及问题复杂性。无论上述哪一种算法,都忽略了候选词语和文档本身的语义关联性,从而导致自动抽取的关键词准确度不高。
为了提高算法抽取效率,考虑融入语义信息,传统的如利用词共现特征、WordNet 知识库、wiki 语料库等语义知识,均可表示词语和文档的语义信息。近年来,随着深度学习技术的迅速发展,利用深度学习模型表示语义信息的思想已被大量运用到自然语言处理中,如BERT 语言模型、长短期记忆网络(long short-term memory,LSTM)、卷积神经网络(convolutional neural networks,CNN)、嵌入(embedding)技术等。这些模型可以准确地获取文档语法和语义信息,较好表现处理对象的语义特征,避免了数据离散稀疏、语义鸿沟等问题。
本文提出一种新的关键词抽取方法,综合考虑了以下两点核心思想:首先,从单篇文档中抽取的关键词理应与文档本身有着密切的语义联系,因此与文档本身语义更接近的词语更有可能成为关键词。其次,传统的PageRank 算法认为图中所有的单词都有机会成为关键词,因此给每个节点具有相同的初始权重,但考虑不同的单词应该分配不同的起始权重,重要的词语理应获得更高的初始值。因此,较传统方法而言,本文方法能更好地反映文档中不同词语的重要程度。
本文的主要贡献有如下三点:
(1)在抽取算法中融合了深度学习模型,准确获取单词和文档语义层面的关联信息,通过集成语义信息和图模型,设计出一种关键词抽取的新算法。
(2)提出了一种有偏向的随机游走策略,利用单词与文档的语义相似度信息改变图中各节点分值计算的初始权重。从而解决了在传统的基于词图模型方法中,由于忽略单词语义信息导致抽取效率差的难题。
(3)通过两个通用的公开数据集,验证了该关键词抽取算法的准确性和有效性。
在关键词自动抽取方法中,通常根据算法是否需要人工预先标注语料库进行判断类别,主要划分为有监督提取方法和无监督提取方法。有监督方法将抽取过程看成一个二分类问题,通过预先标注好的语料库,利用不同的单词特征选择,选取相应的分类器进行关键词抽取。例如经典的有监督KEA(keyphrase extraction algorithm)抽取算法采用的是朴素贝叶斯分类器,其他如决策树、遗传算法、支持向量机等分类器,均被应用于有监督方法中。2014 年,Haddoud 等人[4]采用逻辑回归分类器进行关键词抽取工作,通过定义文档词语极大性指数,来区别相互重叠的候选关键词,实验结果证明该算法要优于其他分类器抽取效果。2016 年,Sterckx 等人[5]基于决策树分类器提出一种有效且适用性强的有监督抽取算法,适用于从多用户标注的语料库中进行关键词抽取工作,该方法解决了在传统有监督抽取方法中,人工预先标注的训练集语料库具有主观性较强、含有较多噪音和错乱数据的问题。Gollapalli 等人[6]通过融合文档标签特征、结构信息等专家知识特征,基于条件随机场(conditional random field,CRF)策略提高关键词抽取效果。2017 年,Xie 等人[7]提出基于序列模式及不同间隙约束条件的有监督抽取算法,通过灵活通配符约束和one-off 条件来提高序列模式挖掘效率,从而提升关键词抽取性能。2019 年,Alzaidy 等人[8]提出融合LSTM 技术和条件随机场策略,使用序列标记方法进行关键词抽取工作。Santosh等人[9]提出在使用Bi-LSTM(bi-directional long short-term memory)和CRF 策略时,融合文档级的注意力增加机制,更好地捕捉同一篇文章中上下文相关信息,从而提高关键词抽取效果。
总体来说,有监督方法的抽取效率要优于无监督方法,但其抽取成本较高,需要预先人工标注并训练大量语料库,因此应用范围存在局限性。
较早的无监督方法是基于统计的关键词抽取方法,如TF-IDF(term frequency-inverse document frequency)方法,利用统计词频来计算单词的重要性,2010 年,El-Beltagy 等人[10]提出KP-Miner 系统模型,通过提高统计单词的TF(词频)值和IDF(逆向文档频率)值要求,并融入了单词出现的位置等信息提高抽取质量。2017 年,Emu 等人[11]在抽取算法中融入了更多的统计信息,如单词在整个语料库中出现的频次、语料库中包括候选词的文档个数等。基于统计的算法较为简单,普适性强,但忽略了单词间的共现关系、文档及词语的基本语义关系,因此存在抽取单词的局限性,容易忽略词频低却较为重要的单词。
因此,自从2004年Mihalcea等人提出TextRank[12]后,开始涌出大批学者研究基于图的方法进行关键词抽取工作,并在抽取效果上得到了大幅度提升。TextRank 方法通过构建图模型,将文档中每个单词作为图顶点,根据词共现窗口添加边,借助Google 传统的PageRank 随机游走算法,计算每个顶点分值并进行排序。Wan 和Xiao[13]在此工作基础上进行了优化及改进,对于一篇文档,不仅借助文档本身的信息,还需要从与该文档相似的几篇文档中获取信息,继而从这些文档中算出词共现总数作为边的权重。Bellaachia 等人[14]针对推特文章的非正式及噪音多等特点,提出一种基于图的无监督关键词排序方法,认为在计算图中节点排序权重时应该同时考虑本节点权重和边的权重。2017 年,Florescu 等人[15]则通过加入单词在文档中出现的位置信息,改进了PageRank算法,使出现位置越靠前,且出现次数较多的词语,更有可能成为关键词。Yan 等人[16]认为已有的基于图算法仅仅考虑文档中单词间联系,忽略了句子的作用,而实际上如果一个单词出现在重要的句子中,则该单词也更重要。因此作者提出一种充分利用词和句子关系的算法,在构造图模型时,由单独的词图扩充为单词-单词图模型、句子-句子图模型和句子-单词图模型,融合三种图模型同时计算单词分值,并采用聚类方法,最终选择簇中心位置的词作为关键词。Biswas 等人[17]提出一种融合多方面节点权重的方法,认为关键词的重要性是由若干不同的影响因素决定,如:词频、离中心节点的距离、词语位置、邻居节点重要性程度等。实验结果表明,节点的每一种特征都对抽取效果有影响。
另外,除上述抽取方法以外,随着主题模型的出现,很多学者尝试通过对文档中融入主题信息,来提高关键词抽取效率。Liu 等人[18]提出TPR(topical PageRank)关键词抽取算法,通过LDA(latent Dirichlet allocation)主题模型对文档进行主题建模,首先根据词共现窗口构建词图,该图在不同主题下边的权重值不一样,每个主题分别利用PageRank 算法计算单词的重要性,最终融合文档的主题分布信息计算每个单词的最终得分。但上述方法的运行复杂度较高,为改进该算法,2015 年,Sterckx 等人[19]提出单词分值计算依赖于单篇文档本身的单词-主题概率向量和文档-主题概率向量的余弦相似度,从而仅运行一次PageRank 算法,以达到提高性能的目的,但该算法仅仅考虑了主题特异性,却忽略了主题模型的语料库特异性。2017 年,Teneva 等人[20]为上述问题提出了新算法,使得主题和语料库两方面特异性达到平衡,且同样只需要运行一次PageRank 算法。另外,Bougouin 等人[21]提出一种依赖于文档主题表示的无监督抽取方法TopicRank,其利用HAC(hierarchical agglomerative clustering)聚类算法将候选词分成主题簇,每个簇包含了相同主题的候选词,利用主题簇构建图模型,其中图顶点是单个主题簇,而两个簇中所有候选词的距离之和作为边的权重,使用PageRank算法计算每个主题簇的分值,并从每个簇中选取唯一的候选词作为代表,从而取出前N个分值较高的关键词。2018 年,Boudin[22]对上述TopicRank 方法进行了改进,在图模型中同时表示候选词和主题,只有不同主题的候选词才会连接一条边,作者利用两者互相增强的关系来提高候选词排名,性能上获得了较大的提升。2018 年,Li等人[23]对微博帖子这类短文本提出一种无监督的关键词抽取方法,将话题标签作为主题的计算指标进行处理,认为主题分布应该更偏向于帖子相关的标签,该算法不仅能发现较为准确的主题,还能抽取与标签相关的关键字。Mahata等人[24]在对科技文章提取关键词时,同时计算主题词和候选词的向量表示,利用候选短语之间的语义相似性及共现频率计算图中边的权重,算法通过融合词语Embedding 技术和主题加权的PageRank 算法,提高对科技文章关键词抽取的效率。
近年来,随着Embedding 技术如Word2Vec[25]、Glove[26]广泛应用于自然语言处理领域,越来越多的学者开始采用深度学习技术提高关键词抽取效率,基于降维思想,利用词嵌入技术在同一个低维连续的向量空间上,将文档中所有单词表示成词向量,充分挖掘单词间的语义关系。词嵌入向量可以有效表达词语特征,每一维都代表单词的一个语义或语法上的潜在特征表示,Word2Vec[25]在利用神经网络模型训练词向量的过程中包含连续词袋(continuous bag of words model,CBOW)和Skip-gram 两种模型。前者通过中心词周围的所有词来预测中心词的出现概率,后者则通过中心词来预测周围词的出现概率,通过训练得出神经网络隐藏层的权重参数。不论上述哪一种训练模型,训练时都是考虑词语间的共现信息,因此训练出的词向量保留了词语间特别是同义词之间较强的相关性。相较于传统的one-hot 等词向量表示,Word2Vec 能较好地获取自然语言中单词语义特征,重点反映了两个词语间的语义相关性。但词向量的使用存在局限性,主要用来计算单词之间的语义相似度。此时利用Word2Vec 技术计算句子的向量表示时,一般是对句子中每个单词的向量表示取平均所得,但该方法忽略了整个文档的有序性,易丢失上下文相关信息。因此,随着学者对句子表示学习的深入研究,开始出现对段落或句子的嵌入技术,常见的有Sen2Vec模型[27]和Doc2Vec[28]模型。Sen2Vec模型[27]可看成是词向量Word2Vec中CBOW 模型的扩展,该算法充分考虑了词序信息,训练时采用FastText模型对输入的文本序列加入n-gram 特征信息处理,利用CBOW 训练得到单词嵌入向量和n-gram 嵌入向量。具体来说,将句子看成一个完整窗口,同时结合窗口中的词和窗口中所有的n-gram 来预测中心词,句子向量就是对所有n-gram 向量表示求平均。因此,Sen2Vec 模型可同时融合单个词语和其上下文相关信息,能同时对单词和句子进行有效的向量表示。文献[29]中使用Sentence Embedding 技术融入语义信息提高了关键词抽取效果。2019年,Wang等人[30]将Sentence Embedding 方法应用于对专利文档的关键词抽取中,获得了较好的抽取效果。其算法顺利解决在传统专利文本的关键词抽取过程中,由于专利文档的专用词汇术语仅出现于对特定领域的描述中,因此依靠统计词频等特征,或是借助词语间相关性进行关键词抽取时,效率都不理想的问题。
本文提出的关键词自动抽取算法,属于一种基于图的无监督方法,首先利用Sentence Embedding 思想将词语和文档同时映射成同一高维向量空间上的向量,通过计算向量间语义相似度,利用图排序思想,借助随机游走策略,获取候选词在同一篇文档中的重要性分值,通过排序计算获得关键词。本文算法通过在图排序中加入语义相关信息,能使抽取的关键词从语义层面上较好地体现文档主旨信息。
本文提出的基于词和文档嵌入的关键词抽取算法,主要包括以下几个步骤:(1)文档预处理,选取满足规定词性和构词规则的候选词;(2)单词和文档的语义向量化,即在同一个高维向量空间上,将单词和文档映射成向量表示,并计算两者的语义相似度;(3)抽取关键词,首先对文档构造图模型,在该图上使用带语义偏好的PageRank 算法,进而计算候选词得分,筛选出得分最高的前N个作为关键词。基于词和文档向量的关键词抽取算法的详细流程如图1所示。
Fig.1 Flow chart of algorithm图1 算法流程图
文档预处理阶段的主要目的是从文档中选出符合条件的候选词。首先,本文选择斯坦福大学提供的自然语言处理工具Stanford CoreNLP(https://nlp.stanford.edu/software/stanford-corenlp-full-2018-02-27.zip),对文档进行分句,以句子为单位进行分词,并对每个单词进行词性标注。接着对文档删掉停用词后,参照文献[13]中Wan 和Xiao 的选词方法,筛选出只有形容词和名词组合的最大长度词组,即0 个或n个形容词加上1 个或m个名词的词组,作为文档的关键词候选词组。本阶段的另一个任务是选出符合规定词性的单词,即选择具有名词词性及形容词词性的所有单词,作为后续构建词图模型时的单词图节点。
本阶段的主要任务是在算法中导入语义信息,即同时获取单词和文档本身的语义向量表示,并计算两者的语义相关性。首先,将上一阶段筛选的符合词性的单词映射成高维向量空间上的向量表示;接着,在同一维度空间,将文档也映射成相应的语义向量表示;最后,计算单词向量和文档向量的语义相关性。
为了在同一维度的向量空间同时表示单词和文档,本文采用了Sentence Embedding 中公开可用的语言模型工具——Sent2Vec 预训练模型(https://github.com/epfml/sent2vec)。该模型利用英文维基百科语料库,基于词向量和n-grams 向量,生成600 维的高维向量表示空间,可同时在该600 维向量空间上将单词、句子、文档训练生成语义向量。因此,通过Sent2Vec模型,本文算法可同时计算出单词和文档在600 维空间的向量表示。最后,利用式(1)计算每一个单词wi同文档d的余弦相似度。
其中,wi表示某一个单词i的向量表示,d表示该文档本身的向量表示,m表示语义向量空间的维度,此处为600 维。通过式(1)计算出的某一个单词向量和文档向量的余弦相似度越高,说明两个向量越相似,即该单词同文档的语义相似度越高。
2.3.1 构造图模型
根据文献[12]中所述,构造词图模型时,有向图和无向图两种类型不会显著影响关键词抽取的效果,因此本文构造带权无向图G=(V,E),V表示图的顶点集合{v1,v2,…,vn},其中n代表图中单词顶点的个数,在预处理阶段中词性标注为名词或者形容词词性的单词可作为图的顶点。E代表图中边的集合,同一个共现窗口下出现的两个单词之间连一条边,边的权重是指两个顶点单词在同一个共现窗口下的共现次数,如单词i和单词j在同一个共现窗口下出现时,就给图中代表单词i的顶点vi和代表单词j的顶点vj连一条无向边。
2.3.2 带语义偏好的PageRank 算法
以往需要在图模型中计算各单词节点分值的时候,会采用随机游走策略即PageRank 算法,在传统的PageRank 算法中,默认每个单词在文档中是处于同等地位,都有机会成为最终的关键词,因此赋予了每个单词相同的归一化初始权重。然而在本文算法中,与文档有更高语义联系的词语,更有可能成为文档的主旨关键词,因此提出一种带语义偏好的Page-Rank 算法。具体来说,就是给每个单词赋予了不同的初始权重,该初始权重即为2.2 节计算出的单词与文档之间语义相似度大小,与文档语义更接近的词语,语义相似度的值越高,因此分配给该候选词中单词的初始权重也越大。在计算过程中,首先需要对初始权重进行归一化处理,由式(2)所示,从而获得每个单词顶点vi的初始权重值mi。
接下来,利用上述带语义偏好的PageRank 算法,来计算图中每个单词节点vi的分值,如式(3)所示:
其中,S(vi)表示单词i的得分,α是阻尼系数,大小一般设为0.85,vj是无向图中与顶点vi相连的所有顶点,wvj,vi是顶点vj和vi间边的权重值,out(vj)是与顶点vj相连的所有边的权重之和,由式(4)计算所得,vk是无向图中与顶点vj相连的所有顶点,wvj,vk表示顶点vk和vj间边的权重值。
在下文具体的实验中,利用式(3)递归计算单词节点分值的时候,终止条件是两次迭代计算的误差不超过0.000 1 或者最大迭代次数为100 次。
2.3.3 抽取关键词
对于每一个在2.1 节生成的候选词,需判断有无冗余,若两个候选词相同,则只留下一个。接着,累计每个候选词中包含的所有单词在2.3.2 小节计算的得分S(vi)总和,即作为该候选词的最终得分,排序后,选择分值最高的前N个候选词作为最终的关键词。
为了保证本文算法实验结果的有效性和公正性,采用了公开数据集Hulth2003 和DUC2001(https://github.com/snkim/AutomaticKeyphraseExtraction/)作为测试数据集。Hulth2003 由2 000 篇科技论文文献的摘要文档组成,分成了包含500 篇文档的测试集语料库和包含1 500 篇文档的训练集语料库,因本文算法属于无监督方法,无需预先训练语料库,因此选择了测试集中的500 篇文档作为本文的测试数据,人工标注的正确关键词结果在后缀为“.uncontr”的文档中列出,在实验中作为本文结果比对的依据。DUC2001语料库由308 篇报纸文章组成,共分为30 个主题,由Wan 和Xiao[13]创建并手动标注,直接选择该语料库的所有文档作为本次实验测试数据。
为了评价该关键词抽取算法的有效性,本文选择了在机器学习、信息检索、数据挖掘领域中常用的评测指标:准确率P(Precision)、召回率R(Recall)和综合评价指标F值(F-measure)。具体计算如式(5)~式(7)所示。
实验在对算法自动抽取的关键词和人工标注的关键词进行比对前,将两集合中的关键词都提取了词干以及转换大小写,采用的是Python自然语言处理工具NLTK(natural language toolkit)提供的词干提取算法LancasterStemmer,比对时采用了完全匹配的原则,例如在文件名为“26.abstr”的文档中,人工标注的单词为“quasi-weighted means”,如果算法抽取的关键词为“Quasi-weighted means”,则匹配对比正确,但如果抽取的关键词为“weighted means”或“means quasiweighted”,均匹配对比失败。
实验过程中,参数和变量的不同取值,可能会产生不同的关键词抽取结果。因此对本文算法在构造词图模型时的词共现窗口(window)大小、随机游走算法中的阻尼系数α、抽取的关键词个数N,在两个数据集上分别进行了对比实验。
3.3.1 词共现窗口
在构造词图模型时,词共现窗口的大小,决定了图中每个单词节点间的边权重,因此通过调节词共现窗口大小,观察实验抽取结果。在实验过程中,统一选择抽取的关键词个数N为10,阻尼系数α为0.85,词共现窗口大小分别取值为1、2、3、4、5、6、7、8、9、10,得出不同词共现窗口下,关键词抽取结果P值、R值和F值的对比情况,图2和图3是实验结果的折线图。通过观察,在Hulth2003 和DUC2001 两个语料库中,随着词共现窗口大小的增加,算法抽取性能总体都呈下降趋势,这说明词共现窗口的参数调节对实验结果有着一定的影响。但是,当词共现窗口大小取4 到10 之间的值时,衡量性能的F值变化幅度不大,这意味着此时词共现窗口的大小取值对算法抽取结果并没有产生决定性的影响,原因在于利用本文算法提高关键词抽取效率的初衷,主要源自融合语义信息以及图排序算法的思想,因此词共现窗口的大小对结果的影响远没有语义信息及图排序策略对结果的影响高。
Fig.2 Experimental results under different window sizes in Hulth2003图2 Hulth2003 中不同窗口大小下的实验结果
Fig.3 Experimental results under different window sizes in DUC2001图3 DUC2001 中不同窗口大小下的实验结果
3.3.2 阻尼系数α
利用随机游走策略计算图中每个单词节点的分值时,为了确保PageRank 算法不会陷入图循环的误区,因此增加阻尼系数α。在传统的TextRank 中,按照经验值将阻尼系数α设为0.85,但在本文算法中,计算单词节点分值时,对传统的TextRank 分值计算公式进行了修改,因此需要通过调节阻尼系数α的值来查看实验结果。实验中,选择抽取的关键词个数N为10,词共现窗口为10 的情况下,α分别取0.2、0.4、0.6、0.8、1.0,观察所得到的抽取结果P值、R值和F值,具体对比情况如图4 和图5 的折线图所示。从两个语料库的实验结果中发现,随着阻尼系数α的增大,算法抽取效果呈下降趋势,当α取0.2时,本文算法效果最好。实际上,在传统PageRank 图计算算法中,赋予图中所有节点的初始权重均一致。而阻尼系数的作用是用于折衷考虑某节点的初始权重和相邻节点对该节点的贡献,阻尼系数越大,初始权重对某节点分值计算的作用越小。本文算法中,当阻尼系数为1.0 时,忽略式(3)中赋予单词的初始权重值,此时算法效果最差,而当阻尼系数设为0.2时,充分考虑了单词的初始语义信息,与文档语义更接近的词语,初始权重越大,分值计算过程中更占优势。实验结果证明,此时的算法效果最好,提升了关键词抽取性能。这也进一步证实了引入单词向量语义信息的重要性。
Fig.4 Experimental results under different damping factors in Hulth2003图4 Hulth2003 中不同阻尼系数下的实验结果
Fig.5 Experimental results under different damping factors in DUC2001图5 DUC2001 中不同阻尼系数下的实验结果
实验中在递归计算图中每个节点分值的时候,参考了文献[12]和文献[15]中对迭代终止条件的设置,前者将终止条件设为两次连续迭代计算结果不超过给定阈值0.000 1,而后者对终止条件的设置是最大迭代次数不超过100 次,因此在实验过程中分别对这两个条件进行了测试,当阈值设为0.000 1 时,算法F值为0.276 2,当最大迭代次数为100 次时,算法F值为0.276 6,可以发现两者性能差别不大。因此综合考虑,实验中将终止条件设定为两次迭代计算的误差不超过0.000 1 或者最大迭代次数为100 次,当计算时满足以上任一种条件时即终止迭代。
3.3.3 关键词抽取个数N
本文算法将语义信息融入图排序算法中,从理论上来说,跟文档语义关联越接近的词语排名越靠前,尽管这种从语义角度出发的思想确实提高了关键词抽取效果,但可能会带来一定程度上的语义相近的相似单词,如在Hulth2003 语料库中,文件名为“26.abstr”的文档中,人工正确标注的词语有“quasiweighted means”,而利用本文算法抽取的前10个关键词中,有如下3 个相似结构的词语“quasi-weighted means”“weighted means”“guasi-weighted mean”,明显看出此处存在了语义冗余的关键词,导致理应被抽取出来的候选词反而排名靠后。因此在实验中,通过设置不同的关键词抽取个数N,来观察实验结果,N分别取值为1 到20 范围内的所有正整数,实验得到不同N值下的抽取结果P值、R值和F值,如图6 和图7 所示。在图6 中综合评价指标F值在关键词个数N取17 的时候最高,在图7 中F值在关键词个数N取13 的时候最高,这也证实了对数据冗余的猜想。
Fig.6 Experimental results under different keyphrase extraction numbers in Hulth2003图6 Hulth2003 中不同关键词抽取个数的实验结果
Fig.7 Experimental results under different keyphrase extraction numbers in DUC2001图7 DUC2001 中不同关键词抽取个数的实验结果
为了证明本文算法的有效性,在两个公开数据集Hulth2003 和DUC2001 上,与目前主流关键词抽取算法进行了对比实验。由于本文算法是一种基于图的无监督方法,因此选取了3 个基于图的经典抽取算法TextRank[12]、TopicRank[21]、SingleRank[13]。另外,还选取了一个基于统计的经典算法TF-IDF,以及一个基于Embedding 思想的EmbedRank 算法[29],实验中TextRank、SingleRank 以及本文算法中图的节点均为名词或形容词,TopicRank 的图中节点为主题簇,实验中选择每个簇中最中心的词语作为关键词,本文算法的阻尼系数α取0.2,词共现窗口设置为1,详细的实验结果如表1 和表2 所示,详细列出了抽取的关键词个数分别为5、10、15 时,各算法的抽取结果。
根据表1 和表2 在两个公开数据集中的对比实验结果,不难看出,在抽取的关键词个数不同的各类情况下,本文算法的关键词抽取效果均优于其他典型算法。
实验中TF-IDF 算法属于经典的基于统计的方法,仅靠词频特征提取关键词,忽略了文档中词语之间的相互联系,导致实验中抽取效果最差,而本文算法充分考虑了词与词、词与文档间的相互联系,以Hulth2003 语料库上的实验结果为例,在表1 中,当抽取的关键词个数为10 时,本文算法较TF-IDF 而言,综合评价指标F值提高了26.13 个百分点。实验中TextRank、TopicRank、SingleRank 均属于基于图的方法,其中TextRank 利用词共现窗口计算边的权重,SingleRank 在此基础上加入了文档关联信息,而TopicRank 在图方法基础上加入词语主题信息。尽管这3 种方法都充分考虑了词语间的相互关联,但都缺乏语义层面的支持,而本文算法利用词嵌入技术充分考虑了单词和文档语义层面的关联信息,从而大幅度提高了抽取效率。在表1 中,当关键词抽取个数为10 时,本文算法的F值较TextRank 而言提高了20 个百分点,较TopicRank 而言提高了13.63 个百分点,较SingleRank 而言提高了10.76 个百分点。实验中EmbedRank 虽然基于Embedding 技术获取词语与文档的语义信息,却忽略了两个词语之间的语义关联,而本文算法不仅考虑了词语与文档的语义信息,还充分利用图模型融入了词语间的语义关联,因此提高了抽取效果。在表1 中,当关键词抽取个数为10时,本文算法的F值较EmbedRank 而言提高了2.95个百分点。
Table 1 Experimental results comparison in Hulth2003表1 Hulth2003 中对比实验结果
Table 2 Experimental results comparison in DUC2001表2 DUC2001 中对比实验结果
本文提出了一种基于词和文档嵌入的关键词抽取算法,将词语和文档本身同时映射成同一空间维度的高维向量,并计算词语与文档间的语义相似度,从而对图排序算法的初始权重进行赋值,通过带偏向的随机游走策略,计算图中每个节点的分值,候选词的最终分值通过图中各节点分值计算得出,并选择排名较高的前N个候选词作为最能代表文档主旨的关键词。该关键词自动抽取算法通过在图排序中加入语义信息,改善了关键词抽取效率。实验结果表示,本文算法效果大大优于目前其他主流关键词抽取算法。
下一步的工作主要考虑以下两点:(1)在利用Sentence Embedding 思想构建向量模型时,易造成抽取的候选词冗余情况发生,如何通过消除语义相近的冗余单词来提高效率,是未来重点研究方向;(2)在图排序中考虑能否结合更多的候选词特征,以提高图排序效率。