留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

结合邻域知识的文档级关键词抽取方法

李晨亮 龙俊辉 唐作立 周涛

李晨亮, 龙俊辉, 唐作立, 周涛. 结合邻域知识的文档级关键词抽取方法[J]. 电子科技大学学报, 2021, 50(4): 551-557. doi: 10.12178/1001-0548.2021095
引用本文: 李晨亮, 龙俊辉, 唐作立, 周涛. 结合邻域知识的文档级关键词抽取方法[J]. 电子科技大学学报, 2021, 50(4): 551-557. doi: 10.12178/1001-0548.2021095
LI Chen-liang, LONG Jun-hui, TANG Zuo-li, ZHOU Tao. Document-level Keyphrase Extraction Approach using Neighborhood Knowledge[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(4): 551-557. doi: 10.12178/1001-0548.2021095
Citation: LI Chen-liang, LONG Jun-hui, TANG Zuo-li, ZHOU Tao. Document-level Keyphrase Extraction Approach using Neighborhood Knowledge[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(4): 551-557. doi: 10.12178/1001-0548.2021095

结合邻域知识的文档级关键词抽取方法

doi: 10.12178/1001-0548.2021095
基金项目: 国家自然科学基金面上项目(61872278)
详细信息
    作者简介:

    李晨亮(1983-),男,博士,教授,主要从事信息检索、数据挖掘、机器学习、社交网络分析及自然语言处理方面的研究. E-mail:cllee@whu.edu.cn

  • 中图分类号: TP391

Document-level Keyphrase Extraction Approach using Neighborhood Knowledge

  • 摘要: 基于编码器−解码器(encoder-decoder)框架的生成式方法在关键词抽取任务上得到了广泛应用并取得了较好的性能,然而该方法面临的主要挑战为建模有效的文档向量表示,及生成覆盖整个文档主题的关键词集合,这些挑战都会直接影响关键词抽取的结果。该文提出了结合邻域知识的文档级关键词抽取模型以应对这些挑战。具体来说,通过给指定文档添加少量的最近邻样本,原文档被扩展为一个文档集合。基于单词之间的距离将文档集合中的每个文档构建成词图,合并集合中的所有词图形成一个大图,然后利用图卷积网络进行编码。解码端引入了上下文修改机制和覆盖机制,使模型能够生成更加多样化的关键词来覆盖文档包含的所有主题。最后在4种数据集上分别与现有的基准模型进行对比,实验结果表明该方法能够有效提升关键词抽取的性能。
  • 图  1  编码器结构的示意图

    图  2  解码器结构的示意图

    表  1  数据集统计表

    数据集总数量验证集测试集
    Inspec2 0001 500500
    Krapivin2 3031 903400
    SemEval244144100
    KP20k549 81820 00020 000
    下载: 导出CSV

    表  2  不同模型在4种基准数据集上的关键词抽取性能

    模型InspecKrapivinSemEvalKP20k
    F1@5F1@10F1@5F1@10F1@5F1@10F1@5F1@10
    Tf-Idf0.2230.3040.1130.1430.1200.1840.1050.130
    TextRank0.2290.2750.1720.1470.1720.1810.1800.150
    SingleRank0.2140.2970.0960.1370.1320.1690.0990.124
    ExpandRank0.2110.2950.0960.1360.1350.163N/AN/A
    Maui0.0400.0420.2490.2160.0440.0390.2700.230
    RNN0.0000.0000.0020.0010.0040.0030.1380.009
    CNN0.0880.0690.1410.0980.1620.1270.1880.203
    CopyRNN0.2920.3360.3020.2520.2910.2960.3280.255
    ours0.3570.4010.3600.2920.3640.3420.3580.279
    下载: 导出CSV

    表  3  消融实验

    模型InspecKrapivin
    F1@5F1@10F1@5F1@10
    Our0.3570.4010.3600.292
    -ConModify0.3310.3600.3470.279
    -CovMech0.3430.3760.3550.284
    -Neither0.3350.3650.3420.266
    下载: 导出CSV

    表  4  GCN层数对模型效果的影响

    GCN层数InspecSemEval
    F1@5F1@10F1@5F1@10
    1-layer GCN0.3390.3770.3100.307
    2-layer GCN0.3520.4020.3340.328
    4-layer GCN0.3460.3910.3580.337
    6-layer GCN0.3570.4010.3640.342
    8-layer GCN0.3500.3950.3610.339
    下载: 导出CSV
  • [1] 杨丹浩, 吴岳辛, 范春晓. 一种基于注意力机制的中文短文本关键词提取模型[J]. 计算机科学, 2020, 47(1): 193-198. doi:  10.11896/jsjkx.181202261

    YANG Dan-hao, WU Yue-xin, FAN Chun-xiao. Chinese short text keyphrase extraction model based on attention[J]. Computer Science, 2020, 47(1): 193-198. doi:  10.11896/jsjkx.181202261
    [2] ZHANG Qi, WANG Yang, GONG Ye-yun, et al. Keyphrase extraction using deep recurrent neural networks on twitter[C]//Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2016: 836-845.
    [3] CHEN Wang, CHAN Hou-peng, LI Pi-ji, et al. An integrated approach for keyphrase generation via exploring the power of retrieval and extraction[C]//Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, PA: ACL, 2019: 2846-2856.
    [4] MIHALCEA R, TARAU P. Textrank: Bringing order into text[C]//Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2004: 404-411.
    [5] MENG Rui, ZHAO San-qiang, HAN Shu-guang, et al. Deep keyphrase generation[C]//Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2017: 582-592.
    [6] ZHANG Yong, FANG Yang, XIAO Wei-dong. Deep keyphrase generation with a convolutional sequence to sequence model[C]//The 4th International Conference on Systems and Informatics (ICSAI). New York: IEEE, 2017: 1477-1485.
    [7] CHEN Wang, GAO Yi-fan, ZHANG Jia-ni, et al. Title-guided encoding for keyphrase generation[C]//Proceedings of the AAAI Conference on Artificial Intelligence. Menlo Park, CA: AAAI, 2019: 6268-6275.
    [8] CHAN Hou-pong, CHEN Wang, WANG Lu, et al. Neural keyphrase generation via reinforcement learning with adaptive rewards[C]//Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2019: 2163-2174.
    [9] CHEN Wang, CHAN Hou-pong, LI Pi-ji, et al. Exclusive hierarchical decoding for deep keyphrase generation[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2020: 1095-1105.
    [10] TAM Y C. Cluster-based beam search for pointer-generator chatbot grounded by knowledge[J]. Computer Speech & Language, 2020, 64: 101094.
    [11] KIPF T N, WELLING M. Semi-supervised classification with graph convolutional networks[C]//International Conference on Learning Representations(ICLR). La Jolla, CA: ICLR, 2016: arXiv: 1609.02907.
    [12] VELICKOVIC P, CUCURULL G, CASANOVA A, et al. Graph attention networks[C]//International Conference on Learning Representations (ICLR). La Jolla, CA: ICLR, 2018: arXiv: 1710.10903.
    [13] SUN Zhi-qing, TANG Jian, DU Pan, et al. Divgraphpointer: A graph pointer network for extracting diverse keyphrases[C]//Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 2019: 755-764.
    [14] DAUPHIN Y N, FAN A, AULI M, et al. Language modeling with gated convolutional networks[C]//International Conference on Machine Learning. New York: ACM, 2017: 933-941.
    [15] VASWANI A, SHAZZER N, PARMAR N, et al. Attention is all you need[C]//Advances in Neural Information Processing Systems 30: Annual Conference on Neural Information Processing Systems. Cambridge, MA: MIT Press, 2017: 6000-6010.
    [16] VINYALS O, FORTUNATO M, JAITLY N. Pointer networks[C]//Advances in Neural Information Processing Systems 28: Annual Conference on Neural Information Processing Systems. Cambridge, MA: MIT Press, 2015: 2692-2700.
    [17] TU Zhao-peng, LU Zheng-dong, LIU Yang, et al. Modeling coverage for neural machine translation[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2016: 76-85.
    [18] WAN Xiao-jun, XIAO Jian-guo. Single document keyphrase extraction using neighborhood knowledge[C]//Proceedings of the 23rd AAAI Conference on Artificial Intelligence. Menlo Park, CA: AAAI, 2008: 855-860.
    [19] MEDELYAN O, FRANK E, WITTEN I H. Human-competitive tagging using automatic keyphrase extraction[C]//Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2009: 1318-1327.
  • [1] 章坚武, 戚可寒, 章谦骅, 孙玲芬.  车辆边缘计算中基于深度学习的任务判别卸载 . 电子科技大学学报, 2024, 53(1): 29-39. doi: 10.12178/1001-0548.2022376
    [2] 崔少国, 独潇, 张宜浩.  基于兴趣注意力网络的会话推荐算法 . 电子科技大学学报, 2024, 53(1): 67-75. doi: 10.12178/1001-0548.2022307
    [3] 翟社平, 李航, 亢鑫年, 杨锐.  融合强化学习的实体关系联合抽取模型 . 电子科技大学学报, 2024, 53(2): 1-9. doi: 10.12178/1001-0548.2023107
    [4] 郭峰, 陈中舒, 代久双, 吴云峰, 刘军, 张昌华.  基于动态先验特征的包覆药多类型外观缺陷深度检测框架 . 电子科技大学学报, 2023, 52(6): 872-879. doi: 10.12178/1001-0548.2022326
    [5] 刘丽娜, 王韬, 周一飞, 程志炯, 李方硕, 张昱航, 徐杰.  基于神经网络的配网电气拓扑识别算法 . 电子科技大学学报, 2023, 52(2): 247-253. doi: 10.12178/1001-0548.2022072
    [6] 刘勇国, 高攀, 兰荻, 朱嘉静.  ECA-SKNet:玉米单倍体种子的卷积神经网络识别模型 . 电子科技大学学报, 2023, 52(6): 866-871. doi: 10.12178/1001-0548.2022361
    [7] 张晓旭, 高振涛, 吴磊, 李鑫, 卢明静.  基于混合量子−经典神经网络模型的股价预测 . 电子科技大学学报, 2022, 51(1): 16-23. doi: 10.12178/1001-0548.2021394
    [8] 罗欣, 陈艳阳, 耿昊天, 许文波, 张民.  基于深度强化学习的文本实体关系抽取方法 . 电子科技大学学报, 2022, 51(1): 91-99. doi: 10.12178/1001-0548.2021162
    [9] 王瑞, 崔佳梅, 张越, 郑文.  基于图网络的集群运动预测研究 . 电子科技大学学报, 2021, 50(5): 768-773. doi: 10.12178/1001-0548.2021107
    [10] 李莉, 杜丽霞, 张子柯.  基于多变量LSTM神经网络的澳大利亚大火预测研究 . 电子科技大学学报, 2021, 50(2): 311-316. doi: 10.12178/1001-0548.2020370
    [11] 吴劲, 陈树沛, 杨庆, 周帆.  基于图神经网络的用户轨迹分类 . 电子科技大学学报, 2021, 50(5): 734-740. doi: 10.12178/1001-0548.2020435
    [12] 吴涢晖, 赵子天, 陈晓雷, 邹士亚.  大气低频声信号识别深度学习方法研究 . 电子科技大学学报, 2020, 49(5): 758-765. doi: 10.12178/1001-0548.2019297
    [13] 邹昆, 王伟灿, 董帅, 李文生.  基于堆叠沙漏网络的量体特征点定位 . 电子科技大学学报, 2020, 49(5): 709-717. doi: 10.12178/1001-0548.2019122
    [14] 杨旺功, 淮永建, 张福泉.  基于Gabor及深度神经网络的葡萄种子分类 . 电子科技大学学报, 2020, 49(1): 131-138. doi: 10.12178/1001-0548.2019164
    [15] 邵杰, 黄茜, 曹坤涛.  基于深度学习的人体解析研究综述 . 电子科技大学学报, 2019, 48(5): 644-654. doi: 10.3969/j.issn.1001-0548.2019.05.001
    [16] 李润东, 李立忠, 李少谦, 宋熙煜, 何鹏.  基于稀疏滤波神经网络的智能调制识别 . 电子科技大学学报, 2019, 48(2): 161-167. doi: 10.3969/j.issn.1001-0548.2019.02.001
    [17] 田文洪, 曾柯铭, 莫中勤, 吝博强.  基于卷积神经网络的驾驶员不安全行为识别 . 电子科技大学学报, 2019, 48(3): 381-387. doi: 10.3969/j.issn.1001-0548.2019.03.012
    [18] 林奕欧, 雷航, 李晓瑜, 吴佳.  自然语言处理中的深度学习:方法及应用 . 电子科技大学学报, 2017, 46(6): 913-919. doi: 10.3969/j.issn.1001-0548.2017.06.021
    [19] 陈俊周, 汪子杰, 陈洪瀚, 左林翼.  基于级联卷积神经网络的视频动态烟雾检测 . 电子科技大学学报, 2016, 45(6): 992-996. doi: 10.3969/j.issn.1001-0548.2016.06.020
    [20] 陈姝, 梁文章.  结合特征点匹配及深度网络检测的运动跟踪 . 电子科技大学学报, 2016, 45(2): 246-251.
  • 加载中
图(2) / 表(4)
计量
  • 文章访问数:  4235
  • HTML全文浏览量:  1431
  • PDF下载量:  34
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-03-28
  • 修回日期:  2021-05-06
  • 网络出版日期:  2021-07-23
  • 刊出日期:  2021-06-28

结合邻域知识的文档级关键词抽取方法

doi: 10.12178/1001-0548.2021095
    基金项目:  国家自然科学基金面上项目(61872278)
    作者简介:

    李晨亮(1983-),男,博士,教授,主要从事信息检索、数据挖掘、机器学习、社交网络分析及自然语言处理方面的研究. E-mail:cllee@whu.edu.cn

  • 中图分类号: TP391

摘要: 基于编码器−解码器(encoder-decoder)框架的生成式方法在关键词抽取任务上得到了广泛应用并取得了较好的性能,然而该方法面临的主要挑战为建模有效的文档向量表示,及生成覆盖整个文档主题的关键词集合,这些挑战都会直接影响关键词抽取的结果。该文提出了结合邻域知识的文档级关键词抽取模型以应对这些挑战。具体来说,通过给指定文档添加少量的最近邻样本,原文档被扩展为一个文档集合。基于单词之间的距离将文档集合中的每个文档构建成词图,合并集合中的所有词图形成一个大图,然后利用图卷积网络进行编码。解码端引入了上下文修改机制和覆盖机制,使模型能够生成更加多样化的关键词来覆盖文档包含的所有主题。最后在4种数据集上分别与现有的基准模型进行对比,实验结果表明该方法能够有效提升关键词抽取的性能。

English Abstract

李晨亮, 龙俊辉, 唐作立, 周涛. 结合邻域知识的文档级关键词抽取方法[J]. 电子科技大学学报, 2021, 50(4): 551-557. doi: 10.12178/1001-0548.2021095
引用本文: 李晨亮, 龙俊辉, 唐作立, 周涛. 结合邻域知识的文档级关键词抽取方法[J]. 电子科技大学学报, 2021, 50(4): 551-557. doi: 10.12178/1001-0548.2021095
LI Chen-liang, LONG Jun-hui, TANG Zuo-li, ZHOU Tao. Document-level Keyphrase Extraction Approach using Neighborhood Knowledge[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(4): 551-557. doi: 10.12178/1001-0548.2021095
Citation: LI Chen-liang, LONG Jun-hui, TANG Zuo-li, ZHOU Tao. Document-level Keyphrase Extraction Approach using Neighborhood Knowledge[J]. Journal of University of Electronic Science and Technology of China, 2021, 50(4): 551-557. doi: 10.12178/1001-0548.2021095
  • 关键词抽取技术是一种从文本中抽取主题和一些重要短语的技术,可以帮助阅读者快速了解文本中最有价值的信息[1]。一篇文档的关键词通常是几个单词或者短语,可以作为该文档主要内容的提要。近几十年来,自动抽取关键词的任务受到了广泛关注[2]。另外,由于关键词具有表达简洁、精准的特点,被广泛用于自然语言处理领域中的下游任务,比如文本摘要、情感分析以及文本聚类等[3]

    最传统的关键词抽取方法基于TF-IDF,它能识别出在当前文档中频繁出现,但在整个文档集合中不会频繁出现的单词,即该文档的重点单词。还有基于图的排序方法[4],它首先从文档构造一个词图,然后用基于随机游走的方法(如PageRank)确定关键词的重要性。通过构建词图,这些方法可以有效地识别最显著的关键词。近年来,基于端到端神经网络的关键词抽取方法受到越来越多的关注。文献[2]将关键词抽取视为一项序列标注任务,并提出了一种联合层RNN的模型。文献[5]首先提出了一种用于关键词抽取的编码器−解码器框架,并在框架中引入了注意力机制,使模型基于输入的文档来输出对应的关键词。文献[6]进一步提出了一个基于CNN的模型来完成这项任务。文献[7]提出了一种标题指导的seq2seq网络来加强隐式文档表示。另外,为了考虑生成的关键词之间的关系,文献[8]使用了自适应奖励的强化学习方法。文献[9]指出了关键词生成中第一个词的重要性。文献[10]利用了聚类的方法来过滤掉无意义的候选关键词。

    基于端到端的神经网络方法还面临两个重要挑战:1) 建模有效的文档向量表示。文档向量表示能够直接决定解码器的输出结果,影响整个模型的效果;2) 生成全面并准确覆盖整个输入文档主题的关键词集合。为了解决以上问题,本文提出了结合邻域知识的文档级关键词抽取方法。在编码端给定一个文档,基于该文档与相似文档的相关信息以及文档内部单词之间的距离构建出文档的图结构,将相同的单词聚合到一起用同一个节点表示。在解码端设计了一种多样化指针网络,从原文档的词图中动态地选择相关的单词构成强概括性且不重复的关键词,极大优化了解码器端的性能。实验结果表明,相比传统非监督学习方法和经典的深度学习方法,结合邻域知识的文档级关键词抽取模型可以有效提升抽取结果的相关指标。

    • 本文模型由检索器、编码器及解码器组成。编码器采用了图卷积神经网络(graph convolutional networks, GCN)[11]进行编码,解码器以关键词为单位逐个生成关键词。编码器和解码器的结构示意图分别如图1图2所示。

      图  1  编码器结构的示意图

    • 输入指定文档,找到与该文档相似的邻域文档,邻域文档表示在局部空间中与指定文档靠近的文档。邻域文档可以给原文档提供额外的领域知识上下文信息。即给定文档x,利用相似文档检索技术检索出Top-K个邻域文档,原文档x被扩充为文档集合$\chi = \left\{ {x, {x_1}, \cdots ,{x_k}} \right\}$,作为输入文档的增强上下文知识数据。相似文档检索技术的核心依赖于两个文档相似度的评估功能。本文使用余弦相似度方法来度量文档xi和文档xj的相似度,并引入TF-IDF指标来度量文档中单词的重要性,最后计算出基于加权的文档词项向量的余弦相似度分数,其计算公式为:

      $${{\rm{sim}} _{{\rm{doc}}}}( {{{{x}}_i},{{{x}}_j}} ) = \frac{{{{{x}}_i} \cdot {{{x}}_j}}}{{\left| {{{{x}}_i}} \right| \times \left| {{{{x}}_j}} \right|}}$$ (1)
    • 不同于传统的基于图排序的方法如TextRank和其他图卷积神经网络方法如GAT[12]。模型采用一个有向完全图来表示文档的结构关系[13],把文档中多次出现的同一个词用唯一节点表示,然后利用节点在文档中的结构关系强度,加权得到节点之间的边。通常,设$G = (V,E)$为有向完全图,其中VE分别表示节点集合和边集合,邻接矩阵表示为${{A}} \in \{ {\overleftarrow{{A} }},{\overrightarrow{ A}}\}$。假设文档中的单词经常出现在一起即两个单词彼此越靠近,关系就越强,具有更强的语义关系。该方法扩展了传统的邻接矩阵,使其具有更丰富灵活的节点关系信息。邻接矩阵${{A}} \in \{ {\overleftarrow{{A} }}, {\overrightarrow{ A}}\} $中的两个词节点${w_i}$${w_j}$的边权重大小定义为:

      $${\overleftarrow{A} _{ij}} = \sum\limits_{{p_i} \in {\cal{P}}( {{w_i}} )} {\sum\limits_{{p_j} \in {\cal{P}}( {{w_j}} )} {{\rm{relu}} } } \left( {\frac{1}{{{p_i} - {p_j}}}} \right)$$ (2)
      $${\overrightarrow{A} _{ij}} = \sum\limits_{{p_i} \in {\cal{P}}( {{w_i}} )} {\sum\limits_{{p_j} \in {\cal{P}}( {{w_j}} )} {{\rm{relu}} } } \left( {\frac{1}{{{p_j} - {p_i}}}} \right)$$ (3)

      图  2  解码器结构的示意图

      式中,${\cal{P}}({w_i})$表示文档中单词wi的位置偏移量集合,ReLU激活函数的目的是选择出有效的单向信息,帮助编码器识别出节点序列的顺序信息。完全图的特性确保文档中单词之间都是相互关联的,因此给每个单词都提供了全局视角的上下文信息。为了使模型在迭代过程中信息传输更加稳定有效,将邻接矩阵${{A}}$的对角元素设置为1,给每个节点添加了自环,即${\hat{ {A}}} = {{A}} + {{I}}$。然后引入度矩阵${\hat{ D}}$,其中${\hat D_{ii}} = \displaystyle\sum\limits_j {{{\hat A}_{ij}}}$,最后计算${\tilde{ A}} = {{\hat{ D}}^{ - 1/2}}{\hat{ A}}{{\hat{ D}}^{ - 1/2}}$,得到归一化的邻接矩阵${\tilde{ A}}$

    • 图卷积神经网络(GCN)是一个直接对图进行操作的多层神经网络,能够根据图内部节点中邻居节点的属性来归纳学习当前节点的嵌入向量表示。图卷积神经网络中一个卷积层能够捕获到每个节点的直接邻居信息,如果堆叠多层卷积网络就能够聚集到更大范围的邻域节点信息。因此一旦完成了文档图构建操作,便把整个图输入到一个多层图卷积神经网络中。每个卷积层通常包含两个阶段,第一个阶段聚合每个节点的所有邻居节点信息,在第二个阶段中,每个节点根据当前节点表示和聚合信息表示来更新自身的节点表示,两个阶段共同实现了一次完整的信息传输和聚合流程。给定节点矩阵表示${{{H}}_l}$l表示当前卷积层的下标,图中所有节点的聚合和更新过程用函数${f_l}\left( {{{{H}}_l}} \right)$表示,则有:

      $${f_l}\left( {{{{H}}_{{l}}}} \right) = {\overleftarrow{\tilde{ A} }}{{{H}}_{l}}{{\overleftarrow{{W} }}_l} + {\overrightarrow{\tilde{ A}}}{{{H}}_{l}}{{\overrightarrow{ W}}_{l}} + {{{H}}_l}{{{W}}_l}$$ (4)

      式中,${{\overleftarrow{{W} }}_l}$${{\overrightarrow{ W}}_l}$${{{W}}_l}$为第l层的可训练参数,两个有向矩阵${{\overleftarrow{{W} }}_l}$${{\overrightarrow{ W}}_l}$捕获了图中双向序列信息。因此通过两个有向邻接矩阵聚合了每个节点中具有序列属性的邻域信息。节点表示更新完成之后,受到文献[14]的启发,引入卷积网络门控单元和残差学习框架,其中卷积网络门控单元用公式${h_l}({{X}}) = ({{X}}*{{W}} + $$ {{b}}) \otimes \sigma ({{X}}*{{V}} + {{c}})$表示,$\sigma $表示sigmoid函数,$ \otimes $表示矩阵中的点乘操作。结合残差学习框架后,扩展了节点表示的更新结果,即:

      $${{{H}}_{l + 1}} = {{{H}}_l} + {f_l}\left( {{{{H}}_l}} \right) \otimes \sigma \left( {{g_l}\left( {{{{H}}_l}} \right)} \right)$$ (5)

      门控单元内部的函数${g_l}$具有和${f_l}$相似的网络结构。${{{H}}_0}$初始化为单词的嵌入表示,作为模型的初始输入。

    • 针对编码器端最后一层HL中属于原文档的节点,模型采用多头自注意力机制[15]线性转换原文档中出现的单词表示,计算均值并拼接得到文档的向量表示c,则有:

      $${{c}} = \mathop {{\rm{||}}}\limits_{t = 1}^T \overline {{\mathop{\rm Attention}\nolimits} (Q,K,V){H_L}} $$ (6)
      $${\rm{ Attention }}(Q,K,V) = {\mathop{\rm softmax}\nolimits} \left( {\frac{{Q{K^T}}}{{\sqrt {{d_k}} }}} \right)V$$ (7)

      实验中设置多头的数量为4,即T = 4。

    • 解码器是该方法的重要组成部分,文档通过编码器得到文档的向量表示。基于文档表示,解码器将连续生成多个具有多样性且完整覆盖文档主题的多个关键词。本节将详细介绍用指针网络来实现解码器的方法,并说明引入的上下文修改机制以及覆盖机制的原理和作用。

    • 指针网络[16]是一种学习输出序列的条件概率的网络结构,能够解决可变大小输入字典的问题。因此输入文档表示,解码器就能从输入文档的字典范围中生成多个高质量关键词,满足关键词抽取任务的要求。和大多数seq2seq框架一样,解码器首先使用RNN框架来依次输出每一时刻$t$的网络隐藏状态,则有:

      $${{h}}_t^{(i)} = {\rm{RNN}}\left( {{{y}}_{t - 1}^{(i)},{{h}}_{t - 1}^{(i)}} \right)$$ (8)

      式中,it分别表示第i个关键词和第i个关键词中的第t个单词。用文档表示c来表示${{h}}_0^{(0)}$作为解码器的初始输入。然而在解码的过程中${{h}}_0^{(i)}$应该会随着关键词i动态变化,下个小节将重点解决这个问题。另外,${{y}}_{t - 1}^{(i)}$表示上一时刻预测出单词${\rm{y}}_{t - 1}^{(i)}$的节点表示,${{h}}_{t - 1}^{(i)}$表示上一时刻RNN的隐藏状态。因此利用$t$时刻RNN的隐藏状态${{h}}_t^{(i)}$,原文档中出现过的单词节点表示${{{x}}_j}$,以及指针网络来选取单词${{y}}_t^{(i)}$

      $$e_{t,j}^{(i)} = {{{v}}^{\rm{T}}}\tanh \left( {{{{W}}_h}{{h}}_t^{(i)} + {{{W}}_x}{{{x}}_j} + {{b}}} \right)$$ (9)
      $$P\left( {{{y}}_t^{(i)}} \right) = {\rm{softmax}} \left( {{{e}}_t^{(i)}} \right)$$ (10)

      指针网络使用注意力机制来计算每个单词节点xj的分数,$j \leqslant |V|$表示选择单词的范围只局限在原文档中。然后使用softmax函数归一化向量${{e}}_t^{(i)} \in {\mathcal{R}^{|V|}}$,输出单词节点的概率分布。其中,${{{v}}^{\rm{T}}}$${{{W}}_h}$${{{W}}_x}$${{b}}$是模型中的可学习参数。选择概率分布中具有最大概率的单词节点作为模型$t$时刻生成的单词${{y}}_t^{(i)}$

    • 文档表示c作为解码器端的唯一输入,对解码器的生成效果有至关重要的影响。如果文档表示始终保持不变,将会导致模型生成重复的关键词,并使模型生成的候选关键词集合的语义变得复杂冗余。因此,当模型生成第$i$个关键词之前,本文引入了上下文修改机制[13]动态地修改上下文表示${{h}}_0^{(i)}$

      $${{y}}_0^{(i)} = {{{W}}_y}\left[ {{{c}},\overline {{{{y}}^{(1:i - 1)}}} } \right] + {{{b}}_y}$$ (11)
      $${{h}}_0^{(i)} = \tanh \left( {{{{W}}_h}\left[ {{{c}},\overline {{{{y}}^{(1:i - 1)}}} } \right] + {{{b}}_h}} \right)$$ (12)

      式中,$\overline {{{{y}}^{(1:i - 1)}}} $表示过去生成的所有关键词表示的均值,初始化$\overline {{{{y}}^{(:)}}} $为向量0。因此,上下文修改机制能够促使模型生成多个拥有丰富语义的关键词来覆盖文档的所有主题,解决模型过度生成的问题。

    • 在关键词抽取任务中,多个关键词通常对应原文中不同的位置,已经被模型选择过的单词应该尽量避免多次被模型选中。为了避免这个问题,模型引入了覆盖机制[17],灵活调节每个关键词的概率分布,确保原文中所有的重要区域都能够被模型重点关注并且被总结为关键词。

      具体来说,该模型维护一个词汇级别的覆盖向量c(i)[13],首先记录所有单词的独热(one-hot)编码表示,即解码器生成单词的对应节点位置记为1,其余位置为0,然后计算过去生成关键词的独热编码总和来得到当前时刻的${{c}}_j^{(i)}$。直观而言可以把${{{c}}^{(i)}}$看作是目前为止原文档中所有单词从模型得到的一种关注程度,即覆盖程度。${{c}}_j^{(i)}$计算方式为:

      $${{c}}_j^{(i)} = {{c}}_j^{(i - 1)} + \sum\limits_{t} {{{o}}_{t,j}^{(i - 1)}} $$ (13)

      式中,${{c}}_j^{(i)}$表示模型生成到第i个关键词为止,第j个候选单词的覆盖程度;$\displaystyle\sum\limits_{t} {{{o}}_{t,j}^{(i - 1)}}$表示上一时刻生成的关键词中,第j个单词的覆盖值大小。最后更新指针网络为:

      $$e_{t,j}^{(i)} = {{{v}}^{\rm{T}}}\tanh \left( {{{{W}}_h}{{h}}_t^{(i)} + {{{W}}_x}{{{x}}_j} + {{{W}}_c}{{c}}_j^i + {{b}}} \right)$$ (14)

      式中,新增的${{{W}}_c}$是可学习参数。

    • 给定一个数据样本,其中包括原文本x和对应的关键词集合${\cal{P}} = \left\{ {{p_i}} \right\}_{i = 0}^M$,模型的目标是最小化目标单词的负对数似然函数,损失函数的计算方法如下:

      $$ {\rm{loss}} = - \frac{1}{M}\sum\limits_{i = 0}^M {\sum\limits_{t = 0}^{{T_i}} {\log } } \left( {p\left( {y_t^i\mid y_{1:t - 1}^i,{y^{(1:i - 1)}},{{c}}} \right)} \right)$$ (15)

      另外,训练和解码的过程中在关键词的末尾添加“EOS”符号来让模型停止生成多余的单词。

    • 使用4个科学文献基准数据集来评估模型的效果,包括KP20k、Inspec、Krapivin以及SemEval。对KP20k数据集做了预处理,删除了其中重复的数据,最终保留了509 818个训练集样本,20 000个验证集样本以及20 000个测试集样本。并且有模型都是基于KP20k数据集进行训练。模型训练完成之后,在4个基准的测试集上测试了所有模型。数据集的统计结果如表1所示。

      表 1  数据集统计表

      数据集总数量验证集测试集
      Inspec2 0001 500500
      Krapivin2 3031 903400
      SemEval244144100
      KP20k549 81820 00020 000
    • 首先分别采用以下几个经典的关键词抽取算法作为本文模型的对比模型,其中包括4种无监督关键词抽取算法(Tf-Idf、TextRank、SingleRank[18]、ExpandRank[18])和其他基于监督的关键词抽取算法(Maui[19]、RNN[5]、CNN[6]、CopyRNN[5])。

      为了评价每种模型的表现,采用F1分数作为评价指标。F1指标由召回率R、精确度P计算得到,计算方式如下:

      $$ {{F_1}} = \frac{{2PR}}{{P + R}}$$ (16)

      最后,模型使用英文分词算法(porter stemmer)处理关键词,决定关键词之间是否匹配。

    • 表2总结了不同的关键词抽取算法在4个基准数据集上的表现情况,给出了前5位和前10位的F1结果,并且使用粗体显示最好的分数。

      表 2  不同模型在4种基准数据集上的关键词抽取性能

      模型InspecKrapivinSemEvalKP20k
      F1@5F1@10F1@5F1@10F1@5F1@10F1@5F1@10
      Tf-Idf0.2230.3040.1130.1430.1200.1840.1050.130
      TextRank0.2290.2750.1720.1470.1720.1810.1800.150
      SingleRank0.2140.2970.0960.1370.1320.1690.0990.124
      ExpandRank0.2110.2950.0960.1360.1350.163N/AN/A
      Maui0.0400.0420.2490.2160.0440.0390.2700.230
      RNN0.0000.0000.0020.0010.0040.0030.1380.009
      CNN0.0880.0690.1410.0980.1620.1270.1880.203
      CopyRNN0.2920.3360.3020.2520.2910.2960.3280.255
      ours0.3570.4010.3600.2920.3640.3420.3580.279

      首先将本文的模型与传统的关键词抽取算法进行比较,结果显示本文的模型在所有测试集上都取得了明显的提升效果。另外,本文模型相较于常见的基于端到端的深度学习方法也有了更进一步提升,说明本文模型引入了文档邻域知识,图卷积方法以及多种多样性机制确实学习到了有效的文档向量表示,并使生成的关键词尽可能多地覆盖了文档主题。本文的模型相较于各对比模型都有着良好的关键词抽取效果,证明了该模型的有效性。

    • 为了验证上下文修改机制和覆盖机制对关键词抽取任务的性能影响,在Inspec数据集和Krapivin数据集上对模型进行消融实验。其中,“-ConModify”表示不使用上下文修改机制,即模型在解码的时候不参考之前生成的关键词内容来修改文档向量表示。“-CovMech”表示不使用覆盖机制即每当解码器生成关键词单词的时候,不再记录所有单词one-hot编码总和。“-Neither”表示两者都不使用。从表3中能看到如果模型单纯添加了覆盖机制的情况下即“-ConModify”,相比于“-Neither”方法能够在Krapivin数据集上得到更好的效果,然而在Inspec数据集上的效果却降低了。如模型仅仅增加了上下文修改机制即“-CovMech”,结果表明上下文修改机制在两种数据集上都能给模型带来更好的关键词抽取效果。相较于“-Neither”方法,当同时加入上下文修改机制和覆盖机制,模型的关键词抽取效果得到了提升,说明当前两种机制存在很强的互补关系,并且进一步增强了模型的鲁棒性。

      表 3  消融实验

      模型InspecKrapivin
      F1@5F1@10F1@5F1@10
      Our0.3570.4010.3600.292
      -ConModify0.3310.3600.3470.279
      -CovMech0.3430.3760.3550.284
      -Neither0.3350.3650.3420.266
    • 编码器端使用了图方法来对所有文档进行建模和编码。为了深入研究模型的效果,分析不同GCN层数对模型效果的影响。实验结果如表4所示,结果显示当编码端只有一层GCN的时候,图中的节点无法从邻居节点得到足够的有效信息。在设置2层GCN的情况下,模型在Inspect数据集上取得了较好的效果。直到在实验中设置了6层GCN的情况下,模型在Inspec和SemEval数据集上同时达到了出色的效果。

      表 4  GCN层数对模型效果的影响

      GCN层数InspecSemEval
      F1@5F1@10F1@5F1@10
      1-layer GCN0.3390.3770.3100.307
      2-layer GCN0.3520.4020.3340.328
      4-layer GCN0.3460.3910.3580.337
      6-layer GCN0.3570.4010.3640.342
      8-layer GCN0.3500.3950.3610.339

      实验结果表明随着GCN层数的增加,模型效果会逐渐提升。然而过多的GCN层数会导致整个图中的节点出现同质化的负面效果,导致模型性能下降。另外,通常情况下2层GCN会得到较好的拟合效果,然而卷积网络门控单元和残差学习框架来缓解GCN的过拟合过程,并最终取得了更好的关键词抽取效果。

    • 针对关键词抽取任务,本文提出了一种结合邻域知识的文档级关键词抽取方法。为了更好地建模输入文档的向量表示和生成覆盖文档所有主题的关键词集合,计算文档之间的相似度并选择部分最近邻文档作为原文档的邻域知识。然后根据每个文档中单词之间的长短程关系构建词图,合并输入文档和邻域文档的词图,利用图卷积网络完成编码过程。最后采用指针网络完成解码过程。模型引入上下文修改机制和覆盖机制,共同避免模型生成重复的关键词。在多种数据集上进行关键词抽取任务的对比实验,结果证明结合邻域知识的文档级关键词抽取模型能够有效提升关键词抽取任务的效果。

参考文献 (19)

目录

    /

    返回文章
    返回