导读

这是一篇发表在EMNLP2021上的论文。研究主要面向无监督学习场景,使用全局语义信息与局部语义信息相结合的方法,从文本中抽取关键词。本文的主要贡献在于提出了一种结合全局信息和局部信息的候选词排序方法。文章链接

一、研究背景

目前的研究中,关键词抽取任务主要可以分为两种类型:基于监督学习的关键词抽取和基于无监督学习的关键词抽取。基于监督学习的关键词抽取任务主要是通过大量的含有关键词标记的数据,对模型进行训练,这一类任务常常被转换为序列标注任务,但基于监督学习的方法会受到数据集语义信息范围的制约,当测试的数据与训练数据的主题、类别等方面相差较大时,模型的性能会受到明显的制约。基于无监督学习的方法不会受到以上制约,而目前的基于无监督学习的关键词抽取多采用如下方法:(1)通过分词、词性标注等方式获取一个候选关键词集合(2)对集合内的候选关键词获取嵌入表示,同时获得文档的嵌入表示(3)计算候选关键的的嵌入表示和文档嵌入表示的相似度,并根据相似度进行排序,最终得到抽取的关键词。目前对于文本的嵌入,分为两种方式,一是静态的文本嵌入表示,例如TF-IDF、WordVec等模型;另外一种是动态表示,多基于BERT以及其改进模型。

结合以往的研究,作者认为,传统方法仅仅考虑候选关键词和文档全局的相似度信息,不能捕捉到不同的上下文信息,从而限制了此类无监督关键词抽取任务的表现。作者给出了一张图来解释局部上下文信息的关键性。图中所有的实线圆圈代表候选的关键词。黑色的虚线圆圈代表不同的局部上下文信息,红色的虚线圆圈代表全局的上下文语义信息。在同一个黑色虚线圆圈的节点代表这些节点都与某一重要的局部上下文信息相关(例如文档的某一主题或某一方面)。而在红色圆圈内的节点代表这些节点与文档全局的上下文信息较为相似。按照传统的基于全局上下文语义的方法,我们会倾向选择红色实心的节点作为最终抽取的关键词,但这样会忽略掉一些局部的语义信息,而这些语义信息有可能是很重要的。因此,作者认为,需要将红色的虚线圆圈和黑色的虚线圆圈的语义信息相结合,共同地来抽取出最终的关键词。

二、模型与方法

本文所提出的模型主要参照了以往研究中的基于无监督学习的关键词抽取,整体的模型框架大体可以分为5个部分:

  1. 分词(segmentation)与词性标注(POS tagging);
  2. 使用词性标注的结果筛选出候选关键词集合,候选关键词应为名词性短语(NP, noun phrase),其格式为0个或多个形容词后跟1个或多个名词,例如Deep Learning(1个形容词+1个名词),Convolutional Neural Networks(2个形容词+1个名词);
  3. 使用预训练模型将文本映射到低维向量空间,获取候选关键词和文档全局的语义向量;
  4. 使用融合全局上下文语义信息和局部语义信息的排序方法对所有的候选关键词进行打分和排序;
  5. 根据分数获取最终的关键词抽取结果。

其中,第4步是本文的主要贡献,其工作可以进一步地划分为三个部分:

  1. 基于全局上下文信息和关键词-文档相似度计算;
  2. 基于局部上下文信息的边界感知中心性(boundary-aware centrality);
  3. 全局上下文信息和局部上下文信息的合并。

三、技术与实现细节

3.1 文档和关键词表示

本文使用了StanfordCoreNLP工具完成了分词和词性标注,并获得了候选关键词集合。对于文档 D,其分词后的token集合为\{t_1, t_2,..., t_N\},候选关键词集合为\{KP_0,KP_1,...,KP_n\}。获取以上集合后,本文使用预训练模型BERT获取了所有token的词嵌入表示(embedding):

\{H_1,H_2,...,H_N\}= BERT(\{t_1,t_2,...,t_N\})

此后,本文使用最大池化方法(max pooling)获取了文档D的嵌入表示:

H_D= Max pooling(\{H_1,H_2,...,H_N\})

3.2 融合全局语义和局部语义的排序方法

3.2.1 关键词-文档相似度计算

本文比较了多种相似度的计算方法,最终使用曼哈顿距离(L1-distance)作为关键词和文档相似度计算的方法:

R(H_{KP_i})=\frac{1}{||H_D-H_{KP_i}||_1}

其中,R(H_{KP_i})代表第i个候选关键词和整篇文档的相似度。

3.2.2 边界感知中心性

本文计算中心性的时候,使用的是基于图的排序方法,对于图G=<V,E>,节点集合V=\{H_{KP_i}\}_{i=1,...,n}代表的是候选关键词的嵌入表示,而边集合E=\{e_{ij}\}代表的是候选关键词之间的交互信息,在本篇论文中,e_{ij} = H^T_{KP_i} \cdot H_{KP_j},即两个节点的点乘相似度。对于传统的方法,节点的中心性表示为:

C(H_{KP_i})= \sum_{n}^{j=1}e_{ij}

传统的中心性计算方法不考虑候选关键词在文档中的相对位置,但基于以往研究和生活实践,对于一篇文章来说,出现在文章开头和末尾的短语可能更加重要,因此,作者基于重要信息一般出现在边界(开头、结尾)的假设,提出了一种边界感知的中心性计算方法。

首先,作者提出了计算关键词相对位置的公式:

d_b(i) = min(i, \alpha(n-i)))

其中n是候选关键词总数,\alpha为超参数,控制了出现在文首/文尾的重要程度,对于d_b(i)来说,其值越小,其离边界越近,即出现在文首或文尾。为了强调出现在边界的关键词的重要性,本文在拓展中心度计算的时候,引入了一个惩罚系数\lambda \in [0,1],强调那些出现在边界的关键词的重要性:

C(H_{KP_i})=\sum_{d_b(i)<d_b(j)}e_{ij} + \lambda \sum_{d_b(i) \ge d_b(j)}e_{ij}

此外,作者认为,在原始数据中存在了一些噪声,可能导致在计算中心性的时候对结果造成影响,为了消除一些图结构中的噪声,在计算中心性的时候,作者引入了一个阈值\theta=\beta(max(e_{ij}-min(e_{ij}))),当e_{ij} < \theta时候,将其对其他节点的影响设置为0。其中\beta是一个超参数,用来控制对噪声减弱的程度,因此,边界感知中心性的计算公式可更新为:

C(H_{KP_i})=\sum_{d_b(i)<d_b(j)} max(e_{ij}-\theta, 0) + \lambda \sum_{d_b(i) \ge d_b(j)} max(e_{ij}-\theta, 0)

此外,作者再一次显性考虑了关键词位置信息,选取每个词出现的第一个位置的倒数做为其位置得分p(KP_i)=\frac{1}{p_i^1},其中p_i^1为第i个关键词首次出现的位置。为了防止各关键词的得分差距过大,又经过一个softmax函数,得到关键词的得分:

\hat{p}(KP_i) = \frac{exp(p(KP_i))}{\sum^n_{k=1}exp(p(KP_k))}

最终,边界感知中心度的大小定义为:对于第i个候选关键词,边界感知中心度的大小为:

\hat{C}(H_{KP_i})=\hat{p}(KP_i) \cdot C(H_{KP_i})

3.2.3 融合全局和局部信息的评分和排序

为了同时考虑全局和局部的信息,本文将全局相似度和边界感知中心性相乘,得到最终的得分:

S(KP_i) = R(H_{KP_i}) \cdot \hat{C}(H_{KP_i})

此后根据得分的大小进行排序,抽取topk个关键字作为最终的抽取结果。

四、实验

本文将提出的模型在三个公共数据集Inspec, DUC2001 和 SemEval2010上进行了实验,并与一些其他的模型进行了性能对比,比较了在F1@5, F1@10和F1@15上的性能差异。

结果显示,本文提出的模型在不同数据集上都有一定程度的高性能表现,体现了融合全局和局部信息的关键词抽取方法的有效性。

下图给出了本文实验中测试的一个实例:

五、总结和想法

本文提出了一个融合全局和局部信息的无监督关键词抽取方法,拓展了关键词抽取时信息提取的维度,取得了更好的表现。通过阅读本论文,我有如下思考和问题:

  1. 局部信息中抽取的关键词是否是我们做关键词抽取时所期望的,按道理我们抽取关键词应该是要能够更好地表现该文档的主旨或主题,而文档中的局部关键词不能够很好地表达全局的主旨,如果只是为了提升benchmark,这样的方法放到实际中是否能取得更好的效果是存疑的;
  2. 本文提出的基于边界的方法是基于直觉的。不一定所有的重要信息都是出现在开头和结尾,尤其是在社会科学论文中,开头所陈述的背景知识很有可能并不是文档的主要研究问题,而是提出该问题的一些背景知识,这些词语作为关键词显然是不妥的;
  3. 本文多次考虑了基于边界的信息,这样做是否会导致误差的累加呢;
  4. 本文在融合全局和局部信息的时候,简单地使用了二者的乘积,这样做是没有事实依据的,在二者融合的时候,应有更好的解决方式。

论文笔记|Unsupervised Keyphrase Extraction by Jointly Modeling Local and Global Context相关推荐

  1. MDERank A Masked Document Embedding Rank Approach for Unsupervised Keyphrase Extraction阅读笔记

    这两年对比学习很火,尤其是在CV领域,所以有人尝试将对比学习的思想引入到关键词抽取任务中,虽然最后的结果并没有大的提升,但是这篇论文还是值得看一下的.这篇文章中了2022年ACL Findings. ...

  2. 论文笔记-Vanilla Transformer:Character-Level Language Modeling with Deeper Self-Attention

    论文笔记-Vanilla Transformer:Character-Level Language Modeling with Deeper Self-Attention 1. 介绍 2. Chara ...

  3. 论文阅读:Keyphrase Extraction for N-best Reranking in Multi-Sentence Compression

    作者: Florian Boudin and Emmanuel Morin 来源: 2013 NAACL-HLT 概述: 这篇文章扩展了Filippova (2010)'s word graph-ba ...

  4. 论文笔记二 Positive, Negative and Neutral: Modeling Implicit Feedback inSession-based News Recommendatio。

    目录 一  论文简介 论文名称 :Positive, Negative and Neutral: Modeling Implicit Feedback in 中文名称:积极.消极和中立:在基于会话的新 ...

  5. 论文笔记 Unsupervised Scale-consistent Depth Learning from Video

    我整理了一些单目深度估计的论文,github地址:awesome-Monocular-Depth-Estimation 持续更新中 2021 [IJCV] Unsupervised Scale-con ...

  6. [论文笔记] 2022-TKDE-Semantic and Structural View Fusion Modeling for Social Recommendation

    文章目录 1 摘要 2 介绍 3 问题定义 3.1 社会化推荐中的隐式关系 3.1.1 隐式用户关系 3.1.2 隐式物品关系 3.2 用于社会化推荐的元路径 3.3 元路径引导的图注意力网络 3.4 ...

  7. 论文笔记 Inter-sentence Relation Extraction with Document-level Graph Convolutional Neural Network

    一.动机 为了抽取文档级别的关系,许多方法使用远程监督(distant supervision )自动地生成文档级别的语料,从而用来训练关系抽取模型.最近也有很多多实例学习(multi-instanc ...

  8. 论文笔记:Improved Deep Embedded Clustering with Local Structure Preservation

    前言 DEC 忽略了至关重要的因素,即定义的聚类损失可能会破坏特征空间(聚类损失不能保证局部结构的保存),从而导致无代表性的无意义特征,进而损害聚类性能. 文章提出的Improved Deep Emb ...

  9. Capturing Global Informativeness in Open Domain Keyphrase Extraction

    在开放域关键词提取中捕获全局信息 Si Sun 1 ? , Zhenghao Liu 2 ? , Chenyan Xiong 3 , Zhiyuan Liu 4 ?? , and Jie Bao 1 ...

  10. 【论文笔记】Neural Relation Extraction with Multi-lingual Attention

    一.概要   该paper发于ACL2017上,作者主要基于关系事实通常在各种语言中存在某种模式表达,并且不同语言之间的模式是不同的这两个动机,针对于当前存在的单语言关系抽取的方法,从而存在忽略不同语 ...

最新文章

  1. BNUOJ 52305 Around the World 树形dp
  2. node搭建的一个应用在前端项目中的可切换接口的代理服务器
  3. Matlab GUI 如何自动缩放
  4. CSS-解决苹果点击高亮、安卓select灰色背景(select下拉框在IOS中背景变黑、出现阴影问题)
  5. js文件中定义全局配置文件
  6. 从一个实际的例子触发,理解什么是 Rxjs 的 defer 函数
  7. spring 之 property-placeholder 分析
  8. 【ES6(2015)】Array数组
  9. struts中几种常用的Action
  10. Matlab产生随机数、随机矩阵及正态分布矩阵
  11. elasticsearch批量数据导入和导出
  12. SAT写作例子之Frank Lloyd Wright
  13. VMware 克隆失败,提示指定的虚拟磁盘需要修复【已解决】
  14. TXLINE 这个软件 计算 微带线的宽度
  15. 钉钉入局在线文档市场,阿里和腾讯再次对决?
  16. JZOJ 1266. 玉米田
  17. rally功能分析与使用介绍
  18. 西澳大利亚大学计算机专业,西澳大利亚大学世界排名多少位(西澳大利亚大学热门专业介绍)...
  19. 基于OHCI的USB主机 —— UFI读状态代码
  20. Nodemcu 驱动WS2812点灯红色变绿色的原因及解决

热门文章

  1. 什么是重载?重载的作用?
  2. 生成对抗网络(六)----------Image Denoising Using a Generative Adversarial Network(用GAN对图像去噪)
  3. 华为手机刷微博体验更好?技术角度的分析和思考
  4. 浅谈OA系统与BPM系统的差异化
  5. Windows文件名太长无法删除
  6. SpringBoot整合JDBC的Druid数据源
  7. class6_os_demo2
  8. 『光纤交换机级联设置 』光纤跳线及光纤交换机端口级联类型
  9. python中pos什么意思_python pos是什么
  10. 建立两个磁盘文件f1.text和f2.text,编程实现以下工作