荣垂田,李银银,王 琰
1.天津工业大学 计算机科学与技术学院,天津 300387
2.厦门理工学院 计算机与信息工程学院,福建 厦门 361024
随着计算机技术、互联网技术以及传感器技术的提高与应用,数据产生的速度与规模得到了极大的提高,数据的类型呈现多样化,人们进入大数据时代[1]。互联网平台、移动终端、社交网站、新闻媒体平台等网络媒体持续性快速增长,每天产生的网页内容与传统的数据文档构成了一个广泛的、分布式的、异构的数据仓库,大量的社会动态信息以网页的形式在网上迅速传播。各大门户网站能够报道实时新闻消息,广大网民也能够获取实时新闻消息,了解社会事件的动态。互联网在带来便利的同时也带来了很多挑战。每天产生的网页文档数量巨大,使人们被数据湮没。常常为了搜索到有用的信息而不停地在各个网站之间检索,这严重影响了信息检索的效率。因此,在大数据时代,对文档进行主题分析有重大的研究意义和应用价值。通过对文本主题的分析,将各类文本、新闻等进行分类,能够帮助人们快速获取关键信息,提高信息检索的效率[2-3]。同时,基于主题的新闻分类与推荐能够为用户提供精准的信息服务。但现存的针对主题分析的方法大部分都是基于关键词的,缺乏丰富的上下文语境来表达文档的主题思想,不便于用户快速理解文档的主题,而关键短语则具有丰富的上下文信息,能够相对清晰直接地表达文档的主题意义。因此,对关键短语提取方法的研究,成为文本分类、新闻推荐等相关领域的研究热点之一。
目前国内外已经有很多学者和科研机构投入到文档主题研究与分析[2-5]中来,并且在中文分词、命名实体的抽取、关键词的提取等方面[6-11]都有一定的成果。但是在主题提取方面,大部分研究工作都是基于词的主题分析,无法准确表达文档的主题信息,尤其是中文更为复杂。中文包括很多的同义词、近义词、一词多义,同样的词在不同语境中表达的意思可能是截然相反的。而关键短语,在一定程度上,具有相对丰富的语义语境信息,短语是词与上下文结合的表达,富含一定的语法句法规则,能够更清晰准确地表达文档主题信息。然而,目前对关键短语的提取方法基本都是基于单一的文本特征,例如根据TFIDF(term frequency-inverse document frequency)[4]、互信息或者KL 距离[11](Kullback-Leibler divergence)等。这难以解决上下文语义语境相关的问题,并且难以对结构多样化的网页文本数据进行有效的关键短语提取。因此,对关键短语提取方法的研究,是对文档主题进行分析的重要前提工作。
综上所述,本文从实际应用出发,对已有的关键短语提取方法进行了改进,并将提取的关键短语应用于主题分析研究,目的是通过提取表意清晰、语义语境相对完整的关键短语,对网页文档主题进行分析,帮助网络用户快速获得自己感兴趣的主题,从而提高获取有价值信息的效率。
本文的主要研究工作有三点:
(1)针对SegPhrase 方法在产生短语候选集的过程中仅利用关键词的统计信息的缺点,本文通过使用词串之间的互信息等特征,来提取出低频但关键的短语,以提高关键短语的召回率。
(2)针对SegPhrase 方法在短语评估的过程中没有充分利用短语的不同特征对其质量评估结果的差异性,本文利用OOB(out-of-bag)袋外数据误差方法对短语的不同特征进行了分类处理,通过赋予不同的特征不同的权重对短语进行综合质量评估,提高关键短语的准确率。
(3)针对基于关键词的主题分析方法存在的缺乏上下文语境,无法解决一词多义等问题,本文提出了一种基于关键短语的文档主题分析方法。
本文的组织结构安排如下:第2章介绍相关的研究工作;第3 章介绍相关的定义以及背景知识;第4章介绍改进的关键短语的提取方法;第5章介绍关键短语在主题分析中的应用;第6章对本文提出的算法进行了实验,并与已有的算法进行了对比和分析;第7章总结本文的研究工作以及对未来研究的展望。
关键短语的提取和主题分析被广泛应用于各个领域,例如文本分类、信息检索、新闻推荐等。由于文本数据的多源、异构等非结构化数据特征,对文本数据的挖掘和利用依然存在许多难点。近年来,基于主题的文本分析受到国内外研究人员的重视,同时由于短语具有相对丰富的语义语境信息,越来越多的研究开始利用关键短语来对文档主题进行提取分析。
文献[6-7]利用统计的方法对关键短语进行提取,周而重[4]利用统计的方法对文档进行预处理,用词频TF、词权重TF-IDF以及首位置信息等作为统计特征,对候选短语进行评估,从而提取出文本中关键短语。在统计的方法中,对短语权重的计算公式为:
Pi=A×Valuei+B×Loci
其中,Pi是对短语i的权重评估,value是对候选短语TF-IDF值的非线性加权计算的方法,即:
Loci是对首位置进行归一化之后的特征值,即:
其中,L表示文档数据的总行数,linei表示候选短语Pi首次出现的文档行数。对TF-IDF和首位置Loc采用非线性处理的目的是使候选短语的权重随着统计值的改变呈非线性变化,当TF-IDF特征值很大时,候选短语权重能基本稳定。
条件随机场(conditional random fields,CRF)是在隐马尔科夫模型和最大熵模型的基础上提出的一种无向图学习模型。支持向量机(support vector machine,SVM)模型是一种有监督的学习模型,是一个二分类模型,它的主要思想是建立一个超平面当作分类曲面,使得正例和负例之间的隔离最大化。
李珩等[12]利用SVM 对文本组块进行分析,谭魏璇等[8]提出一种基于SVM 模型、CRF 模型混合统计模型的基本名词短语识别方法用于提取名词短语,并通过实验证明CRF 和SVM 的组合模型可以提高中文名词短语识别的准确率。
韩艳[9]利用决策树进行中文文本关键短语的自动抽取,并通过实验证明,基于决策树算法的关键短语提取,能够识别出大部分的关键短语,比传统的统计方法提高了短语识别的准确率和召回率。
除了以上提到的常用短语提取方法外,现有的关键短语提取方法还有基于图的无监督N元短语提取方法[13],基于混合策略的短语识别方法[10],基于最大熵的短语提取方法[11]等。文献[14-15]提出从文档题目自动抽取短语,并且能够对短语排序的方法。随着近几年神经网络和机器学习的快速发展,有些研究者也提出了一些基于机器学习的方法[2,16],基于加权复杂网络的方法[17],基于空间向量模型的方法[3]等进行关键短语的提取。
文献[18]介绍了主题模型在自然语言处理中的应用,其中LDA(latent Dirichlet allocation)模型及其扩展模型在文本主题分析方面有着广泛的应用,能够对大规模语料库进行基于词的主题分析。吕品等提出了TMPP(topic model based on phrase parameter)主题模型[19],该模型是基于短语进行参数学习的,能够抽取出高质量的在线评论文本的摘要。徐佳俊等基于LDA模型挖掘论坛语料热点话题词[5],并通过对话题词在时间上建模,追踪热点话题的发展趋势。
综合以上分析,已有的关键短语的提取方法存在许多问题。大多数方法基于单一的文本特征,这容易造成提取的短语的准确率偏低;对短语质量的评估方式缺乏多样性。同时,已有的对文本进行主题分析的方法,大多数是基于词的,而词结构较短,表意不清晰,可能会导致主题信息不明确。因此,本文的研究重点是在SegPhrase 方法的基础上,改进候选集产生的方式及短语质量评估的方法,来提高关键短语的召回率和准确率;为了使主题分析的结果更能清晰地表达文档主题信息,提出了基于关键短语的主题分析方法。
关键短语的提取是从大量文档中提取一些候选短语,并对候选短语进行质量评估,将短语按照评分由高到低排序,从而获得高质量的关键短语。本章将介绍关键短语提取和主题分析研究中的相关定义以及相关知识。
定义1(词串)给定一个长度为n的中文词序列C=W1W2…Wn,将词串定义为按照分词之后,不同个数的词组成的N(N>1)元词片段。
例1词序列为:中国互联网违法不良信息举报中心。分词:中国/互联网/违法/不良/信息/举报/中心。可组成的词串有“中国 互联网”“互联网 违法不良”等。
定义2(词元素)中文文本经过分词系统切分以后形成的单字、词项等元素,如例1中的“中国”“互联网”等。
定义3(左、右邻集合)真实文本中,当前词左边或者右边词元素的集合,如例1中“违法”的左邻集合为{“中国”,“互联网”}。
(1)互信息
文本特征表示主要是将文本信息转换成相应的数学表达式,从而对文本进行量化处理,便于计算机进行计算处理。常用的文本特征包括互信息、相对熵、TF-IDF 等特征。本节主要介绍在候选短语产生阶段所使用的互信息特征。
在信息论中,香农提出互信息的概念,表示对两个随机事件相关性的度量标准,主要是用来衡量两个随机事件之间的相关性。假定两个随机事件为X和Y,它们的互信息定义如下:其中,P(x,y)表示时间x与y同时发生的概率,当事件X与Y完全相关时,互信息I(X;Y)取值为1,相反取值为0。在自然语言处理中,对于一个短语V的两个分割片段V1和V2,只要语料库足够大,就很容易计算V1和V2之间的点互信息(pointwise mutual information,PMI):
在文本处理过程中,经常用PMI(V1,V2)作为文本的一致性特征,PMI(V1,V2)值越大,说明V1和V2相关性越大,能够组合成一个短语。反之,PMI(V1,V2)值越小,说明V1和V2关联性越小,不能组成一个短语。
(2)相对熵
相对熵又叫作交叉熵或KL 距离[9],在信息论中相对熵是用来量化两个取值为正数的函数的相关性,定义如下:
两个函数差异越大,相对熵越大;相反,两个函数差异越小,相对熵越小,如果两个函数完全一致,则它们的相对熵取值为0。相对熵在自然语言处理领域应用广泛,例如可以用相对熵量化两个词在不同文本中的分布,从而查看这两个词是否同义,也可以根据两篇文档不同词的概率分布,检查内容是否相似,从而将它们归为一类等。
(3)IDF逆向文档频率
仅仅依靠词频来衡量词的权重是不符合语言学的,因为像“是”“的”等没有实际意义的功能词出现的频率很高,但它们却没有实际意义。因此,在衡量一个词的重要性时,经常采用IDF来量化一个词的权重[4],词w的IDF值定义如下:
其中,|C|表示总文档数。分母表示包含词w的文档数,在信息检索中,经常利用词的IDF 值量化该词对文档的重要性,在关键短语提取的应用中,高质量短语的IDF值应该不会太小。
由Blei等在2003年提出的LDA主题生成模型[20]经常用来挖掘大规模文档集中潜在的主题信息。LDA模型基本思想是一篇文章由K个主题按照一定的概率分布构成,每个主题是由N个词汇根据相应的概率分布构成,利用MCMC(Markov chain Monte Carlo)中的Gibbs 抽样方法近似估算模型超参数[21]。如图1 所示,本文利用LDA 的三层模型对文档进行主题分析。LDA主体模型的基本思想是将每篇文档可以看作由文档、主题、词三层构成。
Fig.1 Three layers model of LDA图1 LDA三层模型
LDA文档主题模型可以快速地对大规模语料库或文档进行主题分析,在新闻分类、文本信息提取、信息检索等领域都有着重要的应用。
对中文关键短语进行提取的框架如图2所示,大致分为5个阶段:
(1)文本抓取。文本抓取就是从互联网中获取需要的文本文档。目前存在很多开源的网络爬虫框架,例如基于Java 的爬虫Nutch(http://nutch.apache.org),基于Python 的爬虫Scrapy(https://scrapy.org)等。由于Scrapy爬虫能够对网页进行定向信息抓取,并且能够将抓取到的内容直接存入数据库,便于下一步进行文本处理。因此,本文主要是利用Scrapy 爬虫框架,对国内各大新闻门户网站进行新闻定向抓取。
Fig.2 Key phrase extraction framework图2 关键短语提取框架
(2)预处理。由于中文文本具有丰富的非结构化形式,对中文进行关键短语提取,首先要进行的就是对文本文档进行预处理,中文词序列之间没有明显的界限,相比于英文复杂。对中文文本预处理主要分为以下几步:①分词,中文分词是对中文文档进行自然语言处理的基础和关键,分词的结果直接影响了后续处理工作。因此,本文采用中科院计算所开发的NLPIR(natural language processing&information retrieval)中文分词系统对文档进行分词。②去停用词,停用词是指没有实际意义的功能词、虚词、复合名词等,例如中文“的”“是”“也”等。为了避免停用词对提取关键短语的影响,在文本处理时,需要构建一个停用词表,把助词、功能词等无意义的词清洗掉。
(3)产生候选集。利用频率、互信息等特征,设置阈值Q,若词串出现的频率或者互信息大于设定的阈值Q,则将该词串视为候选短语,否则抛弃。
(4)文本特征抽取。特征的抽取对关键短语提取的结果影响很大,文本特征抽取的效率与准确度直接影响到短语的质量。本文主要对产生的候选集抽取IDF、互信息、KL 距离等文本特征,作为短语质量评估的参考因素。
(5)短语质量评估。利用预测模型对候选短语集合中包含的文本特征进行质量评估,并按照最终评估结果从高到低排序,获得关键短语。
本文使用的提取关键短语的方法是改进的SegPhrase 算法,下面将首先简单介绍SegPhrase 算法,接着介绍本文改进的SegPhrase算法。
SegPhrase算法[22]是目前提取文本关键短语最新技术,相对于传统的关键短语提取方法,SegPhrase算法在提取关键短语过程中使用的不再是单一文本特征。在产生频繁短语候选集时,利用频率筛选,若词串频率大于设定阈值,则该词串被添加到候选短语集中,否则将该短语舍弃。SegPhrase 在对候选短语进行质量评估分类时,采用的是随机森林算法,抽取了短语的互信息、相对熵、IDF等特征作为文本特征,利用标签数据对随机森林进行训练,最后利用随机森林模型对候选短语进行评估。SegPhrase方法的优点是考虑到了关键短语提取的上下文环境,能够识别大部分高质量短语,比传统方法提高了短语识别的准确率和召回率。
SegPhrase 算法也有自身的缺点,例如在产生频繁候选短语集的时候,仅仅依靠频率选择候选短语,有些低频但具有丰富语义的高质量短语可能被忽略;另外,在对候选短语评估时,将各个文本特征的权重均一化处理,没有充分考虑不同特征对于短语质量贡献的差异性。因此,基于以上SegPhrase 存在的缺陷,本文对SegPhrase算法进行了改进。
(1)候选词串集的产生
本文在候选短语集的产生过程中,考虑到实际语言应用环境中,有些短语虽然低频但却是关键的,因此在产生短语候选集过程中,不仅利用词串的频率单一特征,同时还考虑了词串之间的互信息特征。同时,根据中文短语实际应用情况,本文设定短语最大长度L为6,几乎能够涵盖所有的中文短语。
算法1提取候选短语
输入:语料库C,最小支持度f,短语最大长度L。
输出:候选短语Candidates集。
sequence为词序列,|C|为语料库总词数。
若词串产生过程中遇到逗号、句号、分号等句点符号,但词串长度未达到设定值L,则将标点之前的词串作为候选词串,例如对于词序列“学习党的章程,学习系列讲话精神”,词串“学习党的章程”之后遇到逗号,则可将其看作一个候选词串。
在产生候选词串时,设定词串频率阈值为f,词串互信息阈值为ψ。如果候选词串频率大于设定的阈值f,则将该词串放入候选词串集中;若该词串频率小于阈值f,则考查词串互信息大小,如果互信息值I大于设定阈值ψ,则输出该词串为候选词串,否则该词串被抛弃。
(2)中文短语的界定
与英文相比,中文文本主要以句为分割单位,中文词与词之间没有明显的界限,对中文处理首先要进行文本分词切割,以增加词与词之间的界限。此外,中文短语组合结构更加复杂,容易引起语义组合歧义、结构层次歧义等语法结构问题。例如,结构层次歧义“许多同学送来的贺卡”两种层次关系:
①许多‖同学送来的贺卡
②许多同学‖送来的贺卡
第一种表达的意思是贺卡多,第二种意思是同学多,从而可以看出,中文短语提取过程中需要解决短语界定的歧义问题。
在候选短语产生过程中,仅仅依靠统计信息筛选候选短语集,可能导致有些候选短语不符合实际的中文语言环境。因此,本文针对中文短语进行了界定。在中文语言结构中,主要包含语素、词、短语、句子等成分,它们之间是组成关系,界限模糊无法明确区分。与英语相比,汉语是语义型语言,更加讲究上下文意合,受潜在的语义语境制约较多,因此对中文关键短语的界定,比英语短语分割更加复杂。简单来说,关键短语是能够鲜明表示文本主题思想、中心意义等的特征短语。例如,常见的无实义成分(如“综上所述”“简而言之”)表示文本的功能较弱,而一些指向性强的实义词成分(如“京津冀一体化”“雄安新区规划”)等能够鲜明地表示文本特征。刘华[23]从以下三个角度对中文关键短语进行了界定:
①结构上:结构相对稳定,具有较强的凝固性。
②语义上:表意完整单一、指向性强,在语义上有较强的专指性和完整性。
③统计上:在真实文本中流通性、可重用性强,并非临时性的组合结构,具有一定的统计意义。
左右邻信息熵[24]是指多字词表达的左边界的熵和右边界的熵,是反映短语内部结构与其外部语境的重要统计度量标准。因此,本文利用左右邻统计信息熵对中文短语进行界定,左右邻信息熵的计算公式如下:
式中,A和B分别表示字符W左边和右边字符集,字符W的左熵HL(W)值越大,说明这个字符极有可能是一个词的开端;同样,当一个字符W的右熵HR(W)值越大,则说明这个字符极有可能是一个词的末尾。
(3)候选短语的质量评估
图3是本文研究中改进的SegPhrase方法对短语质量评估的架构图,本文首先利用随机森林的OOB[25]袋外数据误差计算方法,计算单个特征变量的重要性。随机森林算法在构建决策树过程中,用Bootstrap 随机采样方法获得的训练集,只包括原始数据集的大约63%个体,而有37%的数据未被采用[26]。OOB 袋外数据是指没有参加决策树构建的数据,可以用于计算不同特征的重要性,其计算方法如下[27]:
①计算随机森林中决策树的袋外误差,记为OOBerr1。
②随机对所有OOB 数据样本的某一特征F加入噪声干扰,再次计算袋外误差,记为OOBerr2。
③如果随机森林共有Sum棵树,则特征F的重要性为:
Fig.3 Phrase quality estimation图3 短语质量评估
Weight(F)=∑(OOBerr2-OOBerr1)/Sum
该公式说明,给某一特征F随机加入噪声之后,袋外数据准确率明显降低,则说明特征F对分类结果影响很大,重要性就很高,因此可以利用袋外数据误差来衡量不同特征的重要性。
中文文本引号、破折号等主要用于对文本某些内容进行解释说明,因此对文本重要性相对较小,而相对熵、IDF 等则包含文本主要信息,对文本重要性较大。因此,根据文本特征重要性的不同,将短语特征集分为两个特征矩阵,然后利用随机森林算法对短语的两个特征矩阵分别进行评估。第一个特征矩阵M1包含互信息、相对熵、IDF等对短语质量影响较大的特征,第二个特征矩阵M2包括引号、破折号等对短语质量影响较小的特征。最后按照不同权重对两个随机森林的结果进行合并作为短语的质量评估标准,即:
Q=A×R1+B×R2
其中,Q表示候选短语的最终评估得分,R1和R2分别是随机森林利用M1和M2特征矩阵对候选短语进行评估的结果,A和B分别代表特征矩阵M1和M2的权重。在关键短语输出之前,本文根据中文短语特殊的复杂性,增加了对短语的Clear阶段,主要是对提取到的短语进行清洗,例如将以“》”开头和以“《”结尾的不符合短语结构的垃圾词串清除,从而提高关键短语提取的准确率。
(4)算法复杂度分析
候选短语提取:候选短语提取使用的是哈希表,无冲突情况下哈希表的复杂度为O(1),短语最大长度为L,则时间和空间复杂度为O(L|C|),其中|C|为语料库大小,该阶段复杂度与语料库大小线性相关。
特征矩阵抽取:短语特征抽取的难点在于如何快速在原始语料中定位候选短语,文中利用AC(Aho-Corasick automation)自动机算法从语料库中提取所有的短语频繁项集,提取的频繁短语个数为|P|,则AC自动机的时间复杂度为O(|C|+|P|),空间复杂度为O(|P|),每个短语受最大长度L限制,则O(|P|)=O(|C|),因此时间和空间复杂度都是O(|C|)。
短语质量评估:在评估阶段,时间和空间复杂度与特征矩阵维数和标签短语集大小相关。本文使用的标签集很小,且随机森林中决策树个数和深度都是常数,因此分类器训练时间是非常短的,时间和空间复杂度是O(|C|)。
通过对复杂度的分析,时间和空间复杂度都是O(|C|),复杂度和语料库大小是线性相关的。
主题分析是对文本数据进行处理的关键技术,在文本分类、搜索引擎、新闻推荐等领域有着广泛的应用。随着互联网的快速发展,每天产生的网页文档数以千万计,各类新闻报道、热点事件等都会实时在网络中传播,因此要对不同的文档进行分类,按主题信息进行分类归并,方便用户检索。目前常用的主题分析方法都有基于关键词的主题分析法、基于名词串的主题分析法等,这些方法有一个缺陷就是,对文档进行主题分析时,没有考虑关键词上下文环境对文档信息的影响,对文档主题信息表达不清晰。而关键短语富含丰富的语义信息,充分考虑了上下文环境对主题信息的影响,能够相对清楚地表达文档主题。
本文提出了基于关键短语的文档主题分析方法,其框架图如图4所示。与传统的基于关键词的文档主题分析相比,本文在文档预处理阶段,增加用户词典层,把改进的SegPhrase 方法提取到的关键短语作为用户词典,对文档进行分词处理,从而把原来基于词表示的文档转换成基于短语表示的文档。对文档进行分词以及去停用词等清洗之后,利用LDA 模型提取文档潜在的主题信息。
Fig.4 Topic analysis based on key phrases图4 基于关键短语的主题分析
对文档进行主题分析的过程中,不再是简单地以词为单位对文档进行处理,而是对文本进行了基于关键短语的分词等预处理,将LDA 第三层词汇层改变为关键短语层,因此每篇文档可以看作由文档、主题、关键短语三层构成,如图5所示。
Fig.5 Three layers model of LDA based on key phrase图5 基于关键短语的LDA三层模型
从而,根据已有的文档数据可获得第一层文档和第三层关键短语信息,通过利用3.3节介绍的LDA概率模型提取文档隐藏的第二层主题信息,从而对文档进行基于关键短语的主题分析。
本章将会通过对不同短语提取方法进行实验分析对比,展示改进的SegPhrase方法的优点。此外,本章还将对基于关键短语的主题分析进行实验,与传统的基于关键词的主题分析方法进行对比,从而验证文中提到的基于关键短语的主题分析方法。为了方便表示,实验中将改进的SegPhrase 方法称为Seg-Phrase*。
本文研究中所采用的实验文档数据是从国内主流门户网站持续一个月抓取的文档,为了对实验结果进行交叉验证,将实验数据分为10份,每份文档包含2 000 多行数据,每行数据表示一个网页文档,并对这些中文文档进行分词等预处理。由于Wiki词典和百度词条包含相对完整的短语结构和语义语法信息,且部分短语是经过人工筛选的,因此可以看作是高质量的短语,实验中需要的标签数据选自Wiki 词典和百度词条。
为了对比展示改进的SegPhrase方法以及基于关键短语的主题分析方法的优点,在提取关键短语和主题分析实验中分别采用了不同的对比方法,从而验证提出方法的合理性。
(1)HanLP:HanLP(https://github.com/hankcs/HanLP)是一款常用于自然语言处理领域的开源工具,利用互信息和信息熵提取短语。
(2)SegPhrase:SegPhrase 方法采用多文本特征,利用随机森林算法作为分类器,能够区分大部分短语。
(3)SegPhrase*:针对原SegPhrase 方法在候选短语集的产生和对短语质量评估方面存在的缺陷进行了改进。
在对关键短语提取时,常用的评估标准是提取短语的召回率和准确率。召回率被定义为提取出的短语个数和文档中总短语数的比率,准确率被定义为提取出的短语中是准确的短语和提取出的短语总数的比率。
图6 是对短语的不同特征的重要性进行的评估。图中Prob 是短语出现的频率特征,PMI 是互信息特征,PKL(phrase Kullback-Leibler divergence)是短语词串的KL距离,其计算方式就是相对熵的计算方法,Outside为单词频率特征,Stopword为短语停用词特征,First_stop 和Last_stop 分别表示短语开头和结尾是停用词的特征。从图中可以明显看出,不同的特征对短语的影响是有差异的,因此将不同文本特征对短语质量的影响赋以不同的权重是有实验依据的,更符合短语的实际应用情况。
Fig.6 Importance of different features图6 不同特征的重要性
在实验中,由于对每份网页文档缺乏中文关键短语数据集,利用人工筛选成本太大,因而无法直接给出关键短语提取的召回率和准确率,分别利用召回率增益Δrec.和准确率增益Δprec.作为实验结果的评估标准。实验中,利用Wiki 中文词典和百度词条对提取出的短语进行验证,把出现在Wiki 词典和百度词条中的短语视作高质量的短语。
在验证不同特征对短语的重要性不同之后,对改进的SegPhrase方法进行了实验验证。
6.3.1 SegPhrase*方法与HanLP方法对比
表1 是利用SegPhrase*方法与HanLP 方法在提取关键短语的召回率增益和准确率增益上的对比结果。从表1 中可以看出,通过对10 份文档进行独立实验,SegPhrase*方法在提取关键短语时,比利用开源工具HanLP 提取短语在召回率上提升了20%到40%,在准确率方面提升了40%到50%,并且基本保持稳定。从而可知,利用SegPhrase*方法提取短语在一定程度上优于HanLP方法。
Table 1 Comparison between SegPhrase*and HanLP表1 SegPhrase*与HanLP对比
6.3.2 SegPhrase*方法与SegPhrase对比
表2 是利用SegPhrase*方法与原方法进行中文关键短语提取的对比。从表2 中可以看出,Seg-Phrase*方法在提取中文短语时,在召回率方面比原方法提升了6%至12%,准确率却比原方法提升了23%至25%。验证了SegPhrase*方法在提取中文短语时具有更高的准确率和召回率,更合适对复杂的中文文本进行关键短语提取。
Table 2 Comparison between SegPhrase*and SegPhrase表2 SegPhrase*与原方法SegPhrase对比
6.3.3 在英文数据集上的对比
由于SegPhrase 方法不能很好地支持中文,为了更好地展示SegPhrase*方法的优点,本文在实验中利用了DBLP(http://arnetminer.org/citation)中包含的5 000 条英文数据进行两种方法的实验对比,每行数据表示一个文档,实验对比结果如表3所示。从表中可知,SegPhrase*方法比原方法在对英文文本进行关键短语提取时,准确率提升了7%左右,召回率提升了6%左右。
Table 3 Comparison between SegPhrase*and SegPhrase on DBLP表3 SegPhrase*与SegPhrase在DBLP数据集上进行对比
综上所述,通过改进SegPhrase 算法的短语产生方法,使得低频但关键的短语得以保留;通过改进SegPhrase 算法的短语质量评估的方法,赋予不同特征不同的权重来对短语进行综合评估,使得选择的短语更符合实际应用语境。因此本文提出的方法能够更好地支持中文关键短语的提取,在对文本进行关键短语提取时,准确率和召回率方面均比原SegPhrase方法有一定的提升。
6.3.4 基于关键词短语的主题分析
本实验中对基于关键词的主题分析与基于关键词短语的主题分析进行了实验对比。表4 和表5 分别是两种不同方法的主题分析结果。
通过表4 可以看出,关键词没有丰富的语义语境,关键词之间可能是近义词或者同义词,无法清晰表明文档的主题,用户无法直接判断出文档的主题意思,需要多个关键词才能推测出主题的中心思想。相对于表4,表5 是对文档进行基于关键短语的主题分析。可以直观地比较表4 中的Topic1 和表5 中的Topic2,可以更直接地看出表5中的Topic2所表达的主题意思是“京津冀协同发展”。比较表4 中的Topic3与表5 中的Topic4,以及表4 中的Topic5 与表5 中的Topic3,可以发现关键短语具有丰富的语境信息,语义和结构相对完整,能够相对清楚地表达文档主题。
Table 4 Topic analysis based on keywords表4 基于关键词的主题分析
Table 5 Topic analysis based on keyphrase表5 基于关键短语的主题分析
通过实验表明,相对于关键词,利用较少的关键短语就可以直接判断出文档描述的主题信息,以及与主题相关的中心内容,从而能够轻易地对文档做进一步归档、分类等操作,这将在一定程度上节省对大规模文档或语料库进行主题挖掘所需的时间和空间。
针对SegPhrase 方法存在的一些缺陷,在候选短语集的产生和短语质量评估方法进行了改进,充分考虑了不同特征对短语影响的差异性,提升了关键短语抽取的准确率和召回率。同时,文中利用富含语义语境信息的关键短语对文档主题分析,能够更直接清晰地表明文档的中心思想。下一步工作计划:(1)结合多种深度学习、机器学习算法进行关键短语提取,优势互补,提高关键短语提取的准确率和效率;(2)由于文档主题分析没有进一步对文档的情感趋向进行分析,而对文档主题进行情感极性分析,需要在主题子数据集上分别进行情感分类,并行化处理很适合解决这类问题。因此,下一步工作中计划对主题分析进行并行化修改,以提升文档主题分析的丰富性。