2021SC@SDUSC
附所有代码链接:https://github.com/Jayshen0/ Unsupervised-Deep-Keyphrase-Generatio
本篇分析代码模块为:extract.py(三)
(五)论文对应的关键代码复盘
1.主要工作
extract.py做的工作主要是将每篇文档利用前期方法构建好的、由存在和缺失的关键短语构成的短语库中的短语进行排名,来生成我们训练模型需要的银标签。
2.前期数据获取
由于本篇论文所用到的实际处理数据集并未上传到github上,只有预处理的原数据集kp20的数据集下载链接。因此,需要自己通过论文中引用的其他论文的方法,进行数据集的准备。其中,先前的工作为:
①利用论文《Simple Unsupervised Keyphrase Extraction using Sentence Embeddings》中的方法从数据集中提取出文档中存在的关键短语。
②利用pke工具(https://github.com/boudinfl/pke),从数据集中提取文档中缺失的关键短语。
③利用Doc2vec模型,生成短语的词向量。
3.代码实现过程
由于原文的代码并未添加注释,比较难理解。因此,在分析代码段的过程中,博主通过自己添加注释,简明扼要地体现了邻近一段代码的思想,主要干了什么。
(1)计算TF-IDF值的deal函数
在前面的论文分析中,我们知道,对于语料库 D 中的文档 x,短语 c 的 TF-IDF 得分为:
在代码中,定义了deal方法,来计算tf-idf的值。