BERT for Keyphrase Extraction (Pytorch)
In this paper, we conduct an empirical study of 5 keyphrase extraction models with 3 BERT variants, and then propose a multi-task model BERT-JointKPE. Experiments on two KPE benchmarks, OpenKP with Bing web pages and KP20K demonstrate JointKPE’s state-of-the-art and robust effectiveness. Our further analyses also show that JointKPE has advantages in predicting long keyphrases and non-entity keyphrases, which were challenging for previous KPE techniques.
Please cite our paper if our experimental results, analysis conclusions or the code are helpful to you ~ :)
@misc{sun2020joint,
title={Joint Keyphrase Chunking and Salience Ranking with BERT},
author={Si Sun and Chenyan Xiong and Zhenghao Liu and Zhiyuan Liu and Jie Bao},
year={2020},
eprint={2004.13639},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
* Model Classes
Index
Model
Descriptions
1
BERT-JointKPE (Bert2Joint)
A multi-task model is trained jointly on the chunking task and the ranking task, balancing the estimation of keyphrase quality and salience.
2
BERT-RankKPE (Bert2Rank)
Learn the salience phrases in the documents using a ranking network.
3
BERT-ChunkKPE (Bert2Chunk)
Classify high quality keyphrases using a chunking network.
4
BERT-TagKPE (Bert2Tag)
We modified the sequence tagging model to generate enough candidate keyphrases for a document.
5
BERT-SpanKPE (Bert2Span)
We modified the span extraction model to extract multiple keyphrases from a document.
* BERT Variants
QUICKSTART
python 3.5
Pytorch 1.3.0
Tensorflow (tested on 1.14.0, only for tensorboardX)
1/ Download
First download and decompress our d