论文笔记|Unsupervised Keyphrase Extraction by Jointly Modeling Local and Global Context

导读

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

一、研究背景

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

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

论文笔记|Unsupervised Keyphrase Extraction by Jointly Modeling Local and Global Context_第1张图片

 二、模型与方法

论文笔记|Unsupervised Keyphrase Extraction by Jointly Modeling Local and Global Context_第2张图片

本文所提出的模型主要参照了以往研究中的基于无监督学习的关键词抽取,整体的模型框架大体可以分为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上的性能差异。

论文笔记|Unsupervised Keyphrase Extraction by Jointly Modeling Local and Global Context_第3张图片

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

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

论文笔记|Unsupervised Keyphrase Extraction by Jointly Modeling Local and Global Context_第4张图片

 五、总结和想法

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

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

你可能感兴趣的:(论文笔记,机器学习,人工智能,自然语言处理)