Fine-tune BERT for Extractive Summarization代码复现数据处理篇

疫情期间在家学习,期间学习到Fine-tune BERT for Extractive Summarization。将bert模型运用于抽取式文本摘要中,第一部分是数据处理篇。

代码复现需要的文件包,原论文都会提供的有,其GitHub链接
数据集因为谷歌云盘下载起来比较麻烦,像bert_data、cnn/dailymail数据集在下方可寻。
一、环境要求
pytorch=1.4.0,python=3.6
另外需要安装StanfordCoreNLP(数据处理部分的重点安装部分,也是难点)
我的电脑系统是win10,首先需要安装JDK1.8以上都行,然后去官网下载StanfordCoreNLP。一般下载两个包,见下图。Fine-tune BERT for Extractive Summarization代码复现数据处理篇_第1张图片可以通过原论文提供的链接进入官网,下载相应的文件。我按照原论文下载的3.8.0的包,以及一个English包。3.8.0的包解压,并将English包放入其中。
JDK的安装需要小心其中的路径,很容易出错。参考此文章
*
二、数据处理*
1、Sentence Splitting and Tokenization部分
其次一个需要特别注意的地方,运行数据处理部分代码会出现:找不到或无法加载主类 edu.stanford.nlp.pipeline.StanfordCoreNLP。

在这个地方挣扎了快一天,终于解决了相应的问题,究其原因还是因为路径的原因。最初我将StanfordCoreNLP的包放在了G盘,不知为何就是加载不上来。路径改了又改还是错误,最后将StanfordCoreNLP的包放在了C盘下,并且在源代码上进行了更改。
我在data_builder.py文件的232行,加上了’-cp’, r’C:\Users\stanford-corenlp-full-2017-06-09\stanford-corenlp-3.8.0.jar’,具体如下图
Fine-tune BERT for Extractive Summarization代码复现数据处理篇_第2张图片具体路径还要看你StanfordCoreNLP包放的地方。
2、Format to Simpler Json Files部分
同样在运行原命令行是出现了问题,运行之后没有任何的输出。通过调试发现代码中貌似缺了一行,不知道是我环境的问题,还是源代码就出现的问题。我在该部分加了一句截取字符串,如果出现类似问题可以尝试一下。具体如下图:Fine-tune BERT for Extractive Summarization代码复现数据处理篇_第3张图片其中84是路径的长度,可以输出一下real_name自行查看自己的路径长度
3、Format to PyTorch Files部分
该部分的话相对比较好调试,唯一的问题在于路径,需要在自己文件加下建一个这样的文件夹,具体原因我还在看。如下图
Fine-tune BERT for Extractive Summarization代码复现数据处理篇_第4张图片就单单数据预处理部分,就弄了一天多,效率着实比较慢。
公众号{江湖硕士},回复{cnn/dailymail数据集}下载相应文件

你可能感兴趣的:(pytorch,自然语言处理,深度学习,神经网络)