论文笔记|Keyphrase Extraction Using Neighborhood Knowledge Based on Word Embeddings

导读

这篇论文是来自伦斯勒理工学院的作者挂在Arxiv上的关于关键词抽取的研究。研究面相无监督的关键词抽取任务,提出了一种基于语义信息结合词语共现信息来构建关键词之间关系的图,并基于构建的图完成候选关键词的排序,从而完成关键词抽取任务。论文链接

一、研究背景

随着现代各类文档数的增加,对文档进行总结作为知识提取的手段已成为一个重要的任务。关键词抽取任务是从文档中寻找那些能够概括文档大意的词语,从而能够代表这篇文档的主题,这些具有代表性的关键词能够被用于文档的浏览、索引等任务中。关键词抽取能够为其他的NLP/IR下游任务提供基础。

目前的关键词抽取任务从数据的角度来看可以分为两类,一类是基于监督学习的关键词抽取,另一类是基于无监督学习的关键词抽取。在基于监/督学习的关键词抽取任务中,关键词抽取任务被建模为一个二分类的任务(按道理常规做法是序列标注?这里作者是不是理解稍微有问题,作者认为是对所有的候选关键词进行分类)。但是,监督学习的关键词抽取需要大量的数据标注,而一些人工的数据标注费时费力,显然不适合数据大量增长的时代,此外,基于监督学习的关键词抽取方法也很依赖模型,当测试集切换到另一个领域的时候,可能模型不能够很好的完成预测任务。

在无监督学习中,基于图的排序方法具有很好的效果,这一类的排序模型的主要的想法是对图中的节点进行投票以完成词语推荐的任务。基于图的方法的大致流程为:(1)基于文档信息构建一个词之间关系的图;(2)在图上应用一些排序模型(如PageRank、HITS等),对 每一个候选关键词进行评分;(3)根据计算出的评分挑选关键词作为最终的输出。目前,一些基于图的评分模型使用了额外的信息来提升关键词抽取的效果,例如,如果两个单词同时出现在几个相似的文档中,则使用相似的文档来加强它们之间的关系。 

统计上和语义上的特征都能够改进关键词抽取的模型,但如何对二者进行合并,鲜有学者涉足于此。语义信息能够帮助识别那些有着相近的含义的短语,从而重新定义图上权值的计算方式。例如,在文档中一个概念可能出现多次,但并不是每一次都以同样的表达形式出现,但这些不同的词语在语义上是十分相似的。如果仅仅使用共现关系来构建图,往往会不能够识别出这些十分相近的词语。因此,对统计上和语义上的信息进行结合,构建图并完成关键词抽取,是有意义的。

二、方法与模型

2.1 概述

在基于图的评分模型中,一般使用词语的共现关系来构建图,通常的方式是,设定一个特定的窗口,如果两个词语同时出现在同一个窗口之中,则认为二者共现;这两个词语共现的次数越多,认为二者之间有着更强的关联性。但这样的方法没有考虑到语义的信息,这个已经在研究背景中介绍过了,这里就不再赘述了。

本文提出的模型大体上可以分为五个步骤:

  1. 对文档的本文内容进行分词和词性标注,挑选出那些有着特定词性的短语作为节点集合;
  2. 邻居建模:对每个短语v_0,创建一个规模为k的邻居集合D_0=\{v_0^1,v_0^2,...,v_0^k\},集合中元素的挑选依据短语之间的语义相似性,选取与v_0最相似的短语;
  3. 构建一个有权无向图,节点v_iv_j之间的权值来源于三个部分:(1)v_iv_j的共现次数;(2)v_iv_j的邻居集合D_j中节点的共现次数;(3)v_jv_i的邻居集合D_i中节点的共现次数;
  4. 在构建的图上应用 Biased PageRank算法,对每个节点计算得分;
  5. 使用集成方法聚合最终输出。

2.2 候选关键词挑选

本文在分词和词性标注之后,使用如下的模式进行匹配,得到候选的关键词集合:(adjective)* (noun)+,即0个或多个的形容词后跟至少一个名词。

2.3 词语语义信息

通常NLP的研究中,学者们多使用大模型将非结构化的文本映射到结构化的向量之中。本文使用的是Word2Vec模型来生词嵌入向量。本文使用的Word2Vec模型是在Google News数据集上训练的,词向量的维度是300。对于短语来说,计算方式是将构成短语的词语的向量相加,作为最终的短语向量。

2.4 邻居信息构建

本文使用的相似度计算方法是余弦相似度,即对于语义向量v_iv_j,相似度计算方式为:

sim(v_i,v_j) = \frac{\vec{v_i}\cdot \vec{v_j}}{\left \| \vec{v_i} \right \| \cdot \left \| \vec{v_j} \right \|}

2.5 基于图的排序算法

2.5.1 图的构建

对于给定的一篇文章,构建带权无向图,其中的节点来源于固定模式的候选关键词集合,对节点之间的关系权值进行计算,例如对于节点v_iv_j,权值的计算方式为:

w(v_i,v_j) = \sum_{v_k \in D_j} {sim(v_j, v_k) \times count(v_i,v_k)} + \sum_{v_l \in D_i } { sim(v_l, v_i) \times count(v_l, v_j)}

其中count(v_i,v_k)是指v_iv_k同时出现在一个上下文窗口的计数。

2.5.2 Biased PageRank算法

对于图中的节点v_i的,Biased PageRank权值的计算方式为:

S(v_i) = (1-d) \times r_i^* + d \times \sum_{v_j \in C(v_i)}{\frac{w(v_j,v_i)}{\sum_{v_k \in C(v_j)} {w(v_j, v_k)}} S(v_j)}

其中C(v_i)代表与节点v_i连通的所有邻居节点,参数d是damping factor,一般情况下的取值是0.85,对于r^{*}_i,计算方式为:r_i^* = \sum_{v_k \in D_i} {sim(v_i,v_k) \stackrel{\sim}{\text r_k}},其中\stackrel{\sim}{\text r_k}是关键词出现在文档中位置的倒数和,例如该词语出现在了第3个句子和第10个句子,\stackrel{\sim}{\text r_k}=\frac{1}{3} + \frac{1}{10}

在循环迭代过程中,作者设置的最大循环轮次是100,当到达最大的轮次或者同一节点的权值收敛,则停止迭代的过程。

2.6 排序聚合

本文认为,直接使用PageRank的得分进行关键词的选择会丢掉一些全局信息,例如,对一篇文档中得分高的词语可能在其他文档中得分也很高,这一类词显然不适合作为提取的关键词。本文从两个方面对PageRank的得分与其他的模型完成了集成。

首先,作者将PageRank与TF-IDF得分相集成,其具体做法为:(1)从PageRank和TF-IDF的模型中都选取top25,构成候选的关键词集合l_al_b;(2)挑选出最终的关键词应该同时出现在l_al_b;(3)如果一个单词的KP出现在了另一个多词的KP中,则过滤掉那个单词的KP;(4)每个关键词的相对排名保持不变。

 三、实验

本文在多个公开数据集上应用了提出的模型,并取得了一定的性能提升:

 四、总结

本文提出了一种结合语义特征来构建词语之间的关系图,并在图上应用PageRank算法来提取关键词,此外,为了提升性能,获取全局的信息,作者集成了TF-IDF的模型来输出最终的预测结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值