2. 桂林电子科技大学 广西可信软件重点实验室, 广西 桂林 541004
2. Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology, Guilin, Guangxi 541004, China
随着计算机网络技术的发展与上网用户的增加, 网页新闻与各类电子文档逐渐融入人们的生活中, 文本关键词提取技术可以帮助用户从海量文档中获取有价值的信息, 快速理解文档的核心内容。关键词提取在文本挖掘中主要是根据词项对文本内容的相关程度进行排序, 因此单篇文档的关键词提取算法应运而生, 并且广泛应用于推荐系统[1-2]、网络广告[3-5]及语义导航[6]等技术中。
关键词提取方法主要分为基于特征的关键词提取方法[7-9]、基于图的关键词提取方法[10-11]和基于语义的关键词提取方法[12-13]。基于特征的关键词提取方法使用句子位置、长度、签名词等度量为每个句子分配一个分数, 如文献[8]研究频率对关键词提取的影响。基于图的关键词提取方法将文档表示为密集连接的图, 其中每个节点表示一个句子, 边连接两个句子, 边的权重值表示两个句点之间的相似性, 然后使用PageRank[14]等图算法对句子进行重要性评分。基于语义的关键词提取方法通过考虑文档内容的潜在语义, 生成准确的关键词, 如文献[12]利用词汇链表示文本的词汇连贯结构, 将提取出包含高出现频次的链词的句子作为文档关键词。本文提出一种基于通配符模式和随机游走算法的关键词提取方法, 利用深度优先模式搜索策略发现具有通配符模式的所有实例, 通过数据结构层次实例图将模式支持度计算嵌入深度优先模式搜索过程中。
1 通配符模式序列S是有序的项目列表, 用S=s1s2…sn表示, Σ是序列S中所有可能项的集合, 通配符是一种能够将Σ中的任意项进行匹配的符号, g[N, M]表示具有最小间隙N和最大间隙M的间隙。模式P=p1g[N, M]p2g[N, M]…g[N, M]pd是项目和间隙的序列, 其中, 模式长度用|P|表示, 为P中的项目数。
定义1(模式出现和实例) 给定模式P=p1p2…pd, 序列S=s1s2…sn和间隙约束g=[N, M], 如果存在位置序列1≤l1<l2<…<ld≤n, 使得slj=pj(1≤j≤d)且N≤lj-lj-1-1≤M(2≤j≤d), 则(l1, l2, …, ld)是序列S中出现的模式P。给定模式P和序列S, 如果(l1, l2, …, ld)是S中出现的模式P, 那么(l1, l2, …, ld)被认为是序列S的P实例。
定义2(一次性条件) 假设occ=(l1, l2, …, ld)和occ′=(l′1, l′2, …, l′d)是序列S中模式P的2个实例。如果对于所有1≤p≤d, 1≤q≤d, 有lp≠l′q, 则这两个实例满足一次性条件。
定义3(支持度和支持集) 序列S中模式P的支持度被定义为所有可能的实例集的最大值, 其中任何两个实例都满足一次性条件。用Sup(P)表示P的支持度, 具有Sup(P)大小的实例集被称为P的支持集。
定义4(非重复模式) 给定模式P=p1p2…pd, 如果∀1≤i, j≤d, pi≠pj, 则将P称为非重复模式。
定义5(子模式与超模式) 对于两种模式P=p1p2…pm和P′=p′1p′2…p′n(n≥m), 如果存在位置序列1≤i1 < i2 < … < im≤n, 对于所有1≤j≤m, 有p′ij=pj, 那么P被认为是P′的子模式, 用P⊆P′表示P′是P的超级模式。只有在没有超级模式P的情况下, 模式P′才是封闭模式, 此时Sup(P)=Sup(P′)。
在挖掘序列模式时, 本文引入SPMW算法[15-16]。给定序列S=s1s2…sn, 模式P=p1p2…pm, 间隙约束g[N, M], 模式P的水平实例图表示为二元组<V, E>, 其中, V是节点集, E是边集。将节点集划分为m层, 第i(1≤i≤m)层节点对应于pi的位置。假设A和B是pi和pi+1的两个节点, 如果A和B的位置在同一个序列上, 且满足间隙约束, 则有一个从A到B的父子边和一个从B到A的子父边。图 1是一个水平实例图, 其中, 实线表示父子边缘, 虚线表示子父边缘, 并且使用虚线连接相同的级别节点。
![]() |
Download:
|
图 1 水平实例图 Fig. 1 Horizontal example graph |
在图 1中, 已知序列S=bcabccabcacdbdda和间隙约束g[0, 5]。模式“b”在序列S中出现4次, 分别在节点1、4、8和13处。第二层节点是项目a的4个位置, 在满足间隙约束g[0, 5]时, 连接第一层节点。由前2个层级节点组成的图是模式Q=ba的实例图。类似地, 模式R=baa的实例图由3个层级节点组成。实例图第二层中的节点16没有子节点。当计算模式R的支持度时, 通过对节点7、10和16的深度优先遍历策略扫描实例图, 其中 < 1, 3, 7>和 < 4, 10, 16>的出现次数为2。
2 关键词提取方法 2.1 关联图生成模式P=p1p2…pd表示d个词满足间隙约束的关系, d取正整数。在构建关联图时, 以词语之间存在的语义关系来确定节点之间的关系, 因为只需要已知项目两两之间的关系, 所以模式长度d取2。间隙约束为g[N, M], 则P=p1g[N, M]p2。给定序列S, 最小支持度阈值min_sup, 计算出所有满足间隙约束和一次性条件的序列模式集合, 并且计算出每个模式的支持度Sup(P)。将模式P中的所有不重复的项作为图的节点, 当且仅当模式P的支持度Sup(P)大于等于最小支持度阈值min_sup时节点之间有边, 边的权重为支持度的值, 由于可能存在p1g[N, M]p2≠p2g[N, M]p1, 因此节点之间的边是有向边。
已知序列S=bcabccabcacdbdda, 间隙约束g[0, 2], 最小支持度阈值min_sup=2, 所有可能项的集合Σ={a, b, c, d}, 计算Σ集合中任意两项的模式支持度如表 1所示。将模式中所有不重复的项作为图的节点, 图的节点集合为{a, b, c, d}, 当支持度大于等于2时节点之间有边, 生成的节点关联图如图 2所示。
![]() |
下载CSV 表 1 模式支持度 Table 1 Pattern support degree |
![]() |
Download:
|
图 2 节点关联图 Fig. 2 Node association diagram |
PageRank是一种计算网页重要程度的算法, 该算法认为如果一个网页被很多其他网页链连到, 则说明该网页比较重要。模型定义如式(1)所示:
$\mathrm{PR}\left(N_{i}\right)=\alpha \cdot \sum\limits_{k=1}^{e} \frac{\mathrm{PR}\left(N_{k}\right)}{C\left(N_{k}\right)}+(1-\alpha) \bar{P} $ | (1) |
其中, Ni表示第i个节点, PR(Ni)表示Ni的PageRank分数, e表示Ni的入边条数, C(Ni)表示Ni的出边条数, α表示一个节点跳转至非邻居节点的衰减系数, P表示所有节点的先验分数。
在式(1)中, 节点之间的跳转概率是相同的, 而理论上相似节点之间跳转的可能性会更大。节点之间边的权值越大, 节点之间跳转的概率越大。在构建关联图时, 将节点之间的支持度作为边的权重, 因为支持度的取值为正整数, 不利于随机游走计算, 所以将支持度进行归一化处理, 节点Ni跳转到节点Nk的概率如式(2)所示:
$\operatorname{Nor}_{i, k}=\frac{\operatorname{Sup}\left(N_{k} N_{i}\right)}{\sum\limits_{j=1}^{C\left(N_{k}\right)} \operatorname{Sup}\left(N_{k} N_{j}\right)} $ | (2) |
式(1)中的P通常被初始化为1/|C|, 其中|C|表示关联图中的节点个数。但是实际情况通常希望更重要的节点分配更高的先验分数, 而不太重要的节点的先验分数变低, 本文利用知识库给出先验排名分数。文献[16-17]提出的监督随机游走被用于预测社交网络中链接的出现, 即监督信息引入到标准的无监督随机游走模型, 并将知识库的语义关系融入监督信息。维基百科或YAGO的知识库提供内容信息以及内容单元之间的链接信息, 在这些链接中含有大量语义信息。维基百科包含超过400万篇文章, 并提供比其他知识库更多的文字覆盖, 因此本文使用工具包Wikipedia-Miner得到维基百科知识库中的链接信息。对于2个节点Ni和Nj, 它们之间的语义相似度计算如式(3)所示:
$\operatorname{sim}\left(N_{i}, N_{j}\right)=\\ 1-\frac{\log _{a}\left(\max \left(\left|E_{i}\right|, \left|E_{j}\right|\right)\right)-\log _{a}\left(\left|E_{i}\right| \cap\left|E_{j}\right|\right)}{\log _{a}(|W|)-\log _{a}\left(\min \left(\left|E_{i}\right|, \left|E_{j}\right|\right)\right)} $ | (3) |
其中, Ei是连接到Ni的文档集, |W|是文件总数。
式(3)表示2个节点Ni和Nj之间的语义相似度, 在随机游走时需要节点Ni的先验分数, 所以分别计算节点Ni与其他节点的相似度。为了更形式化地度量一个节点的先验分数, 对节点Ni的先验分数进行归一化, 如式(4)所示:
$\left\{\begin{array}{l}r_{i}=\frac{1}{z} \sum\limits_{j \in C} \operatorname{sim}\left(N_{i}, N_{j}\right) \\ z=\sum\limits_{i \in C} \sum\limits_{j \in C} \operatorname{sim}\left(N_{i}, N_{j}\right)\end{array}\right. $ | (4) |
其中, ri表示节点Ni的先验分数, r=(r1, r2, …, r|N|)即为关联图中所有节点的先验概率分布。式(2)修正了节点之间的跳转概率, 式(4)引入了知识库中的先验信息。结合式(2)和式(4)修正PageRank公式, 如式(5)所示:
$\operatorname{PR}\left(N_{i}\right)=\alpha \times \sum\limits_{k=1}^{e}\left(\operatorname{PR}\left(N_{k}\right) \times \operatorname{Nor}_{i, k}\right)+(1-\alpha) \times r_{i} $ | (5) |
根据式(5)在关联图上随机游走, 迭代计算每个节点的PR值, 直至满足式(6)[18-19], 使节点分数达到收敛状态, 其中δ为随机游走终止阈值, 并且使用图中的排名分数PR对关键词进行排序, 将排名Top K个词作为关键词。
$\sum\limits_{i=1}^{|C|}\left|\mathrm{PR}^{t+1}\left(N_{i}\right)-\mathrm{PR}^{t}\left(N_{i}\right)\right| \leqslant \delta $ | (6) |
为验证本文方法的有效性, 本文选取《物种起源》作为中文实验数据。经过预处理操作后有71 923个词项。选取MEHRI与DAROONEH合著的“The role of entropy in word ranking”文献(MD’paper)作为英文实验数据。经过预处理操作后有1 180个词项。选取维基百科知识库作为先验信息, 使用工具包Wikipedia-Miner获得词语相似度。根据《物种起源》重要词汇注解表, 选取15个重要词项作为评价关键词提取是否有效的基准, 提取MD’paper中的9个重要词项作为评价英文关键词提取是否有效的基准。
综合平均精度均值(Mean Average Precision, MAP)、召回率(R)和Fβ作为关键短语提取的性能指标。设Mret表示本文关键词提取结果序列, Mrel表示真实词汇表序列, MAP定义如式(7)所示:
$P(i)=\frac{1}{i} \sum\limits_{j=1}^{i} g\left(M_{\text {ret }}(j), M_{\text {rel }}\right)\\ {\rm{AP}} (i)=\frac{\sum\limits_{j=1}^{i} P(j) \times g\left(M_{\text {ret }}(j), M_{\text {rel }}\right)}{\sum\limits_{j=1}^{i} g\left(M_{\text {ret }}(j), M_{\text {rel }}\right)}\\ {\rm{MAP}} ={\frac{1}{M_{\text {ret }}} \sum\limits_{r=1}^{M_{\text {ret }}}} \operatorname{AP}(i) $ | (7) |
其中, Mret(j)表示关键词返回序列Mret的第j个词项, g(t, Mrel)表示指示函数, 若词项t出现在原词汇表序列Mrel中则返回1, 否则返回0, P(i)与AP(i)分别表示Mret中前i个词项的准确率与平均准确率。
Fβ准确率是由MAP和R相结合计算得到, 其中β取值为0.5。Fβ定义如式(8)所示:
$R=\frac{\left|M_{\text {ret }} \cap M_{\text {rel }}\right|}{\left|M_{\text {ret }}\right|}\\ F_{\beta}=\frac{\left(1+\beta^{2}\right) \times \text { MAP } \times R}{\beta^{2} \times \text { MAP }+R} $ | (8) |
本节对最大间隙M、最小支持度阈值min_sup和衰减系数α这3个参数进行分析。在分析min_sup时, 最大间隙M取3, 在中文数据上的准确率如图 3所示, 在英文数据上的准确率如图 4所示。图 3结果表明, 在min_sup取5时, Fβ具有最高的准确率, 所以在中文数据上min_sup的最优取值为5。
![]() |
Download:
|
图 3 最小支持度阈值对准确率的影响(中文) Fig. 3 Effect of minimum support degree threshold on accuracy(Chinese) |
![]() |
Download:
|
图 4 最小支持度阈值对准确率的影响(英文) Fig. 4 Effect of minimum support degree threshold on accuracy(English) |
在分析最大间隙M时, min_sup取5, 在中文数据上的准确率如图 5所示, 在英文数据上的准确率如图 6所示。图 5结果表明MAP和Fβ都在M取4时达到峰值。图 6结果表明, 当M取3时, MAP具有最高的平均精度均值。造成中英文数据上M的最优取值不同的原因是中文数据《物种起源》是一个较长的文本, 而MD’paper英文数据相比于中文数据来说较短。
![]() |
Download:
|
图 5 最大间隙对准确率的影响(中文) Fig. 5 Effect of maximum clearance on accuracy(Chinese) |
![]() |
Download:
|
图 6 最大间隙对准确率的影响(英文) Fig. 6 Effect of maximum clearance on accuracy(English) |
在分析衰减系数α时, 采用中文数据, 当min_sup取5、最大间隙M取4时, 得出的MAP如图 7所示。当α取0.55时, MAP达到峰值。
![]() |
Download:
|
图 7 衰减系数α对MAP的影响 Fig. 7 Effect of attenuation coefficient α on MAP |
为验证本文关键词提取算法的准确性与优越性, 选取TextRank、GraphSum算法与本文算法进行比较分析。实验结果如表 2、表 3所示, 其中阴影部分表示该算法提取出的关键词在关键词参考集中不存在。可见, 在中文数据及英文数据上, GraphSum算法得到的关键词与TextRank算法得到的关键词相比更为准确。然而, 与本文方法相比, 使用GraphSum、TextRank算法得到的结果均有所欠缺。3种方式在中文数据和英文数据进行关键词提取时得到的MAP、R和Fβ如表 4所示。本文方法在中文数据和英文数据上进行关键词提取得到的MAP均大于其他两种算法。
![]() |
下载CSV 表 2 3种关键词提取方式的结果对比(中文) Table 2 Result comparison of three keyword extraction modes(Chinese) |
![]() |
下载CSV 表 3 3种关键词提取方式的结果对比(英文) Table 3 Result comparison of three keyword extraction modes(English) |
![]() |
下载CSV 表 4 3种关键词提取方式的性能对比结果 Table 4 Performance comparison results of three keyword extraction modes(English) |
为验证本文方法运行效率, 在Celeron 1.40 GHz处理器的Windows 10操作系统下, 给出本文方法在不同词量规模下的运行时间, 如图 8所示。由于本文考虑了语义信息和先验信息, 因此本文方法的执行效率会比其他算法更低。但随着词量规模的扩大, 本文方法的运行时间接近于线性增长。
![]() |
Download:
|
图 8 3种方式的运行时间比较 Fig. 8 Comparison of operation time of three modes |
本文提出一种基于通配符模式和随机游走算法的关键词提取方法。该方法基于通配符约束和一次性条件来挖掘序列模式, 使用深度优先搜索策略计算模式支持度, 挖掘出具有间隙约束的所有模式实例, 并在模式支持度大于等于最小支持度阈值时构建关联图, 同时通过引入先验信息的PageRank算法获取排名前Top K个词语作为关键词。实验结果表明, 本文方法相比传统关键词提取算法具有更高的准确率和稳定性。后续可将句子位置、签名词、图结构等信息引入到随机游走算法中, 进一步降低关键词提取算法复杂度并提高执行效率。
[1] |
JI Ke, SHEN Hong. Addressing cold-start:scalable recommendation with tags and keywords[J]. Knowledge-Based Systems, 2015, 83: 42-50. DOI:10.1016/j.knosys.2015.03.008 |
[2] |
WEN Junhao, YUAN Peilei, ZENG Jun, et al. Research on collaborative filtering recommendation algorithm based on topic of tags[J]. Computer Engineering, 2017, 43(1): 247-252. (in Chinese) 文俊浩, 袁培雷, 曾骏, 等. 基于标签主题的协同过滤推荐算法研究[J]. 计算机工程, 2017, 43(1): 247-252. DOI:10.3969/j.issn.1000-3428.2017.01.043 |
[3] |
XU Guangong, WU Zongda, LI Guiling, et al. Improving contextual advertising matching by using Wikipedia thesaurus knowledge[J]. Knowledge and Information Systems, 2015, 43(3): 599-631. DOI:10.1007/s10115-014-0745-z |
[4] |
MISHRA R, KUMAR P, BHASKER B. A Web recommendation system considering sequential information[J]. Decision Support Systems, 2015, 75: 1-10. DOI:10.1016/j.dss.2015.04.004 |
[5] |
YOU W, FONTAINE D, BARTS, J P. An automatic keyphrase extraction system for scientific documents[J]. Knowledge and Information Systems, 2013, 34(3): 691-724. DOI:10.1007/s10115-012-0480-2 |
[6] |
YE Ning, LIANG Zuopeng, DONG Yisheng. A Web site navigation based on ant colony algorithm[J]. Journal of Applied Sciences, 2003, 21(4): 357-361. (in Chinese) 业宁, 梁作鹏, 董逸生. 基于蚁群算法的Web站点导航[J]. 应用科学学报, 2003, 21(4): 357-361. DOI:10.3969/j.issn.0255-8297.2003.04.007 |
[7] |
LIU Jun, ZOU Dongsheng, XING Xinlai, et al. Keyphrase extraction based on topic feature[J]. Application Research of Computers, 2012, 29(11): 4224-4227. (in Chinese) 刘俊, 邹东升, 邢欣来, 等. 基于主题特征的关键词抽取[J]. 计算机应用研究, 2012, 29(11): 4224-4227. DOI:10.3969/j.issn.1001-3695.2012.11.056 |
[8] |
ZHANG Qingguo, XUE Dejun, ZHANG Zhenhai, et al. Automatic keyword extraction from massive data sets based on feature combination[J]. Journal of the China Society for Scientific and Technical Information, 2006, 25(5): 587-593. (in Chinese) 张庆国, 薛德军, 张振海, 等. 海量数据集上基于特征组合的关键词自动抽取[J]. 情报学报, 2006, 25(5): 587-593. DOI:10.3969/j.issn.1000-0135.2006.05.011 |
[9] |
CHANG Yaocheng, ZHANG Yuxiang, WANG Hong, et al. Features oriented survey of state-of-the-art keyphrase extraction algorithms[J]. Journal of Software, 2018, 29(7): 224-248. (in Chinese) 常耀成, 张宇翔, 王红, 等. 特征驱动的关键词提取算法综述[J]. 软件学报, 2018, 29(7): 224-248. |
[10] |
LIU Xiaojian, XIE Fei, WU Xindong. Graph based keyphrase extraction using LDA topic mode[J]. Journal of the China Society for Scientific and Technical Information, 2016, 35(6): 664-672. (in Chinese) 刘啸剑, 谢飞, 吴信东. 基于图和LDA主题模型的关键词抽取算法[J]. 情报学报, 2016, 35(6): 664-672. DOI:10.3772/j.issn.1000-0135.2016.006.010 |
[11] |
XIE Wei, SHEN Yi, MA Yongzheng. Recommendation system for paper reviewing based on graph computing[J]. Application Research of Computers, 2016, 33(3): 798-801. (in Chinese) 谢玮, 沈一, 马永征. 基于图计算的论文审稿自动推荐系统[J]. 计算机应用研究, 2016, 33(3): 798-801. DOI:10.3969/j.issn.1001-3695.2016.03.035 |
[12] |
SUO Hongguang, LIU Yushu, CAO Shuying. A keyword selection method based on lexical chains[J]. Journal of Chinese Information Processing, 2006, 20(6): 25-30. (in Chinese) 索红光, 刘玉树, 曹淑英. 一种基于词汇链的关键词抽取方法[J]. 中文信息学报, 2006, 20(6): 25-30. DOI:10.3969/j.issn.1003-0077.2006.06.004 |
[13] |
HOFMANN T. Unsupervised learning by probabilistic latent semantic analysis[J]. Machine Learning, 2001, 42(1): 177-196. |
[14] |
BRIN S, PAGE L. The anatomy of a large-scale hypertextual Web search engine[J]. Computer Networks and ISDN Systems, 1998, 30(1): 107-117. |
[15] |
XIE F, WU X, ZHU X. Efficient sequential pattern mining with wildcards for keyphrase extraction[J]. Knowledge-Based Systems, 2017, 115: 27-39. DOI:10.1016/j.knosys.2016.10.011 |
[16] |
TURNEY P D. Learning algorithms for keyphrase extraction[J]. Information Retrieval, 2002, 2(4): 303-336. |
[17] |
NIU Xinzheng, NIU Jiajun. Community detection based on weighted content-structural network and random walks[J]. Acta Electronica Sinica, 2017, 45(9): 2135-2142. (in Chinese) 牛新征, 牛嘉郡. 基于加权内容-结构网络和随机游走的社团划分算法[J]. 电子学报, 2017, 45(9): 2135-2142. DOI:10.3969/j.issn.0372-2112.2017.09.012 |
[18] |
HSU C C, LAI Y A, CHEN W H, et al.Unsupervised ranking using graph structures and node attributes[C]//Proceedings of the 20th ACM International Conference on Web Search and Data Mining.New York, USA: ACM Press, 2017: 771-779.
|
[19] |
ZHU Liang, LU Jingya, ZUO Wanli. Query-doc association mining based on user search behavior[J]. Acta Automatica Sinica, 2014, 40(8): 1654-1666. (in Chinese) 朱亮, 陆静雅, 左万利. 基于用户搜索行为的query-doc关联挖掘[J]. 自动化学报, 2014, 40(8): 1654-1666. DOI:10.3724/SP.J.1004.2014.01654 |