几个CNN/DM数据集的地址:
- 【万x之源】最初版本的CNN/DM:DMQA
- 作者兄弟用来创造非匿名数据集的代码:GitHub - abisee/cnn-dailymail: Code to obtain the CNN / Daily Mail dataset (non-anonymized) for summarization
- 这位兄弟提供了处理完的数据:GitHub - JafferWilson/Process-Data-of-CNN-DailyMail: This repository holds the output of the repository: https://github.com/abisee/cnn-dailymail
关于CNN/DM数据集的描述:
- 之前的老哥用的匿名版本(anonymized,把人名地名那些都替换成@entity...)
- 这位大兄弟开始用非匿名版本(non-anonymized, 扔给模型自己消化吧~)
- 第一个用非匿名版本的论文在此:Get To The Point: Summarization with Pointer-Generator Networks
看看这些数据长啥样
原始数据(前面是正文,@highlight是标准摘要)
abisee大兄弟的脚本做了什么(下图是初始化的一些变量):
- 创建了cnn_stories_tokenized和dm_stories_tokenized两个文件夹
- 把cnn/stories和dailymail/stories的全部文章用stanford-corenlp分词,扔进上面两个文件夹
- 全部转成小写,然后根据all_train.txt,all_val.txt,all_test.txt(把cnn和dailymail各自的train/val/test合并后得到all_xxx)创建训练集(287226),验证集(13368)和测试集(11490),其中里面的url和文件名是通过SHA1进行比对的。
- 把以上分别存到train.bin,val.bin,test.bin这三个二进制文件中。这个过程中,文章和摘要分别连成一长串话,摘要每句话前后都有分隔符,形式如:【正文】 first sent . sencond sent .【摘要】<s> first summary </s> <s> second summary </s>
- 根据训练集形成vocab词汇表,存在finished_files里
- 上面三个bin太大了,各自分块,1000条数据一个chunk,比如train_000.bin, train_001.bin, ..., train_287.bin
- 分块之后存到finished_files/chunked里,结束。形成下面部分要说的三个文件。
JafferWilson大哥处理完的数据:
上面同一篇文章,这是分词之后的结果。
为方便国内研究者下载,已将资源上传至csdn,有需求可下载:文本摘要CNN/DailyMail原始数据集