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

简介: 在社交媒体上,面临着大量的知识和信息,一个有效的关键词抽取算法可以广泛地被应用的信息检索和自然语言处理中。传统的关键词抽取算法很难使用外部的知识信息。

SIFRank简介


在社交媒体上,面临着大量的知识和信息,一个有效的关键词抽取算法可以广泛地被应用的信息检索和自然语言处理中。传统的关键词抽取算法很难使用外部的知识信息。在此基础上作者提出了一种新的基于预训练语言模型的无监督关键词提取基线SIFRank。SIFRank结合了句子嵌入模型SIF和自回归预训练语言模型ELMo,在短文档的关键短语提取方面具有最佳性能。我们通过文档分割和上下文单词嵌入对齐来提高SIFRank的速度,同时保持其准确性。对于长文档,我们通过位置偏移权重将SIFRank升级为SIFRank+,大大提高了它在长文档上的性能。与其他baseline相比,我们的模型在三个广泛使用的数据集上达到了最先进的水平。


Although graph-based models are effective, the effect of keyphrase extraction can be improved better by introducing external knowledge or additional features.(尽管基于图的关键词抽取模型是非常有效的,但是它能较好地被外部知识和额外的特征所提升。)


使用预训练语言模型有利于提升基于图的和基于统计的关键词抽取算法。


作者在论文的主要贡献:


1.提出了一种句子级嵌入的模型SIF,去解释句子嵌入和文档主题的之间的关系。使用SIF和ELMo预训练语言模型去计算句子级嵌入和文档级嵌入。然后使用余弦相似度进行计算候选短语和文档主题的距离。SIFRank可以动态实时地在不同领域进行优化,相对于EmbadRank效果更佳。(其实也就是对EmbedRank的改进算法)


2.提出了一种文档分割的方法,可以快速对长文档的字嵌入进行计算。然而,由于文档被分割成较小的部分,关键字提取的效果将降低。作者将同一单词在不同位置和上下文中的上下文嵌入的平均值作为嵌入锚,然后用嵌入锚替换上下文单词嵌入来计算结果,模型的性能明显反弹。(也就是求一个embedding来代替整句的embedding)


3.为了去提升模型在长文档的关键词抽取能力,作者提出了一种基于位置偏置权重。使用词第一次出现的倒数作为位置偏置权重,使用交叉熵对其进行平滑。通过添加了位置偏置,SIFRank算法在DUC2001上表现更佳。


SIFRank方法


03a69951734a4bf6a8053238d1f514de.png


图1 SIFRank模型实现流程


总结来说,SIFRank算法可以被分成以下步骤:


1.对文档进行序列标注,标注出文档各个字的词性。


2.抽取出名词短语。这些短语将被作为候选词短语。


3.将tokens序列放到预训练语言模型中去,去抽取每一个token的表示。在这种情况下,这个表示可能具有不同特征的多层字嵌入。说白了就是得到每个单词的词向量表示。


4.通过句子嵌入模型,将名词和文档分别转化为名词嵌入和文档嵌入的形式,这个是时候它们的维度相同。


5.使用余弦相似度来计算两个名词短语嵌入和文档嵌入的距离,这个距离是用来计算候选短语和主体之间的距离。最终按照排名来得到TOP-N个候选词。


image.png


其中s 代表句子,c d 代表主题,image.png,其中image.png是一个字出现在大预料的统计概率。


image.png


其中a 的取值范围在[1e-3,1e-4]。


image.png


其中d 代表文档,v d 代表文档的嵌入。v N P 候选关键词NP的嵌入。


对于不同领域的,词的概率分布可能不一样。为了去适应不同领域,我们更改了字在不同句子权重计算方式:


image.png


SIFRank实验结果


表1 各种关键词抽取模型在不同数据集上的表现


2a19ea7f7e314569ad64f4056f3052f7.png


表2 不同于训练模型的在关键字抽取任务的效果


eddc4b2b12324a5a97a68592dac4499e.png



SIFRank总结


论文基于预训练语言模型提出了一种无监督关键词抽取算法,叫做SIFRank。作者引进句子级嵌入模型SIF并结合预训练语言模型ELMo进行SIFRank中去,再短文档上实现了最好的效果。在长文档中提出了SIFRank+算法,结合位置偏置信息。(其实SIFRank就是对EmbedRank进行改进)


但作者也对其进行总结,就是多模型集成不如单一模型的效果;是否可以将其他信息融入到长文档关键词抽取任务中(除词出现的位置信息)

目录
相关文章
|
12月前
|
机器学习/深度学习 数据挖掘
【提示学习】HPT: Hierarchy-aware Prompt Tuning for Hierarchical Text Classification
本文是较早把Prompt应用到层级多标签文本分类领域的论文。思路是把层级标签分层编入到Pattern中,然后修改损失函数以适应多标签的分类任务。
175 0
|
4月前
|
人工智能 自然语言处理 PyTorch
CLIP(Contrastive Language-Image Pre-training)
CLIP(Contrastive Language-Image Pre-training)
170 0
|
5月前
|
机器学习/深度学习 JSON 自然语言处理
[GPT-1]论文实现:Improving Language Understanding by Generative Pre-Training
[GPT-1]论文实现:Improving Language Understanding by Generative Pre-Training
80 1
|
5月前
|
机器学习/深度学习 数据挖掘 API
[FastText in Text Classification]论文实现:Bag of Tricks for Efficient Text Classification
[FastText in Text Classification]论文实现:Bag of Tricks for Efficient Text Classification
31 2
|
5月前
|
Python
[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........
[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........
38 0
|
5月前
|
自然语言处理 算法 Python
[SentencePiece]论文解读:SentencePiece: A simple and language independent subword tokenizer...
[SentencePiece]论文解读:SentencePiece: A simple and language independent subword tokenizer...
68 0
|
5月前
|
机器学习/深度学习 数据挖掘 Python
[Bart]论文实现:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation...
[Bart]论文实现:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation...
39 0
|
机器学习/深度学习 人工智能 自然语言处理
OneIE:A Joint Neural Model for Information Extraction with Global Features论文解读
大多数现有的用于信息抽取(IE)的联合神经网络模型使用局部任务特定的分类器来预测单个实例(例如,触发词,关系)的标签,而不管它们之间的交互。
163 0
|
自然语言处理 算法 vr&ar
X-GEAR:Multilingual Generative Language Models for Zero-Shot Cross-Lingual Event Argument Extraction
我们提出了一项利用多语言预训练生成语言模型进行零样本跨语言事件论元抽取(EAE)的研究。通过将EAE定义为语言生成任务,我们的方法有效地编码事件结构并捕获论元之间的依赖关系。
103 0
|
12月前
|
自然语言处理 数据挖掘 数据处理
【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
目前流行的第四大范式Prompt的主流思路是PVP,即Pattern-Verbalizer-Pair,主打的就是Pattern(模板)与Verbalizer(标签映射器)。   本文基于PVP,提出PET与iPET,但是关注点在利用半监督扩充自己的数据集,让最终模型学习很多样本,从而达到好效果。