论文阅读笔记: SIFRank and BERT-KPE


本文主要内容是两篇论文的阅读笔记,论文地址如下:
SIFRank: A New Baseline for Unsupervised Keyphrase Extraction Based on Pre-Trained Language Model,其对应的 源码
Capturing Global Informativeness in Open Domain Keyphrase Extraction,其对应的 源码

SIFRank: A New Baseline for Unsupervised Keyphrase Extraction Based on Pre-Trained Language Model

SIFRank比较适合短文本的关键词抽取,而SIFRank+大幅增加了长文本的关键词抽取效果。

MODEL OVERVIEW

SIFRank 的架构如下:
在这里插入图片描述
(1)人工标注:分词+标词性。
(2)获取候选关键词列表:利用正则表达式确定名词短语(例如:形容词+名词),将名词短语作为候选关键短语。
(3)通过预训练语言模型,得到关键词的embedding。
(4)同样地,得到句子或文档的embedding。
(5)计算(3)与(4)结果的余弦相似度,选取topN作为其最终提取的关键词。

SENTENCE EMBEDDING MODEL(SIF)

经上节描述可知,整篇的难点在于如何计算embedding。预训练语言模型采用ELMo。

采用ELMo的原因是:
1)经过大规模预训练,较TFIDF、TextRank等基于统计和图的具有更多的语义信息;
2)ELMo是动态的,可以改善一词多义问题;
3)ELMo通过Char-CNN编码,对生僻词非常友好;
4)不同层的ELMo可以捕捉不同层次的信息

计算sentence embedding的假设是:文章是由一个topic生成的,文章中的每个句子亦是如此,因此,句子的embedding应该与文章embedding的期望值(topic embedding)相近,有:

在这里插入图片描述
得到sentence embedding的计算方式:
在这里插入图片描述
其中,a是超参数,一般设置为 [ 1 0 − 3 , 1 0 − 4 ] [10^{-3},10^{-4}] [103,104]。其实也就是加权求和得到sentence embedding,phase embedding,document embedding。最后再用余弦相似度的结果进行排序。

POSITION-BIASED WEIGHT FOR LONG DOCUMENTS

这是SIFRank+使用的思想,主要就是增加了位置的权重。考虑在长文本中,先出现的词往往具有重要的地位。
在这里插入图片描述
计算相似度的公式变为:
在这里插入图片描述
该方法在数据集上的结果有兴趣的朋友可以看看该论文。

Capturing Global Informativeness in Open Domain Keyphrase Extraction

BERT-KPE是最近由thunlp提出的方法,在OpenKP和KP20K上都达到了state-of-the-art和良好的鲁棒性。

Methodology

1. 得到候选关键词的词表征

  • 对于给定的Document,令 D = { w 1 , ⋯   , w i , ⋯   , w n } D=\{w_1,\cdots,w_i,\cdots,w_n\} D={w1,,wi,,wn},对其使用预训练语言模型BERT,获得词表征,有 H = { h 1 , ⋯   , h i , ⋯   , h n } = B E R T { w 1 , ⋯   , w i , ⋯   , w n } H=\{h_1,\cdots,h_i,\cdots,h_n\}=BERT\{w_1,\cdots,w_i,\cdots,w_n\} H={h1,,hi,,hn}=BERT{w1,,wi,,wn}
  • 使用卷积网络获得N-gram的表征,第 i i i个k-gram( c i k c_i^k cik=word[i:i+k-1])对应的词表征为:
    在这里插入图片描述

2.Informative Ranking
为了估计N-gram c i k c_i^k cik 在局部语境中包含的信息量,使用一个前馈网络使 g i k g_i^k gik转变为可量化的数:
在这里插入图片描述
然后,开始计算每个phase的全局信息。对于一个phase p k p^k pk 而言,一个文档中可能出现多次,我们将其记为: { c j k , ⋯   , c m k } \{c_j^k,\cdots,c_m^k\} {cjk,,cmk},自然地,我们可以得到相应的局部信息:
在这里插入图片描述
再此上,接一个max-pooling层,作为其全局信息:
在这里插入图片描述
得到每个phase的全局信息后,使用Pairwise ranking loss作为其rank损失:
在这里插入图片描述
该损失函数迫使JointKPE将文档D中的keyphrases排在non-keyphrases(非关键词)前面。

3. Keyphrase Chunking
JointKPE直接学习某个N-gram是否是keyphase,对此,采用交叉熵损失:
在这里插入图片描述
4. Multi-Task Training
将 2 和 3的损失联合起来,共同训练:
L = L r a n k + L c h u n k L = L_{rank}+L_{chunk} L=Lrank+Lchunk

Experimental Methodology

实验结果如下:
在这里插入图片描述

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值