背景:由于CVAE在summary_yxu的代码和讯飞的自己提取出来的对话数据集上,初见成效,于是这次用在一些官方的数据集上和一些对话摘要的baseline上试一下,万一效果也好呢?
NOTE:再次提醒自己这次一定要用心,用心!
一、文本摘要与对话摘要数据集对比
-
文本摘要
- 全文没有对话信息
- DUC/TAC 英文|数据集较小|适用于传统摘要方法的评估
- Gigaword 英文|启发式规则构成|适用于深度神经网络方法
- CNN/DailyMail 多句摘要数据|常用于生成式摘要方法
- NYTAC 长度较短|可用于文本摘要、信息检索、信息抽取
- ASNAPR 商品评论数据|可用于评论和情感的摘要
- LCSTS 中文|新浪微博数据|短文本|深度网络摘要方法
- NLPCC 文本摘要、情感分类、自动问答等任务
-
对话摘要(数据集相对较少)
- 两个或两个以上的对话参与者
- AMI 英|规模小|会议多模态数据|可用于抽取式与生成式摘要
- SAMSum英|规模大|闲聊数据|人工标注|适用于生成式摘要
- ICSI 英|规模较小|会议语料库
二、本次要用的对话摘要数据集的具体格式
本次要用:AMI Meeting Dataset (Carletta et al., 2005)
Jean Carletta, Simone Ashby, Sebastien Bourban, Mike Flynn, Mael Guillemot, Thomas Hain, Jaroslav Kadlec, Vasilis Karaiskos, Wessel Kraaij, Melissa Kronenthal, et al. 2005. The ami meeting corpus: A pre-announcement. In International workshop on machine learning for multimodal interaction, pages 28–39. Springer.
AMI:英文 | 会议 | 多模态数据集,包含100小时的会议录音。大约三分之二的数据是通过参与者在设计团队中扮演不同角色的场景引出的,设计项目从开始到结束。其余部分包括各种领域的自然会议。在会议期间,参与者还可以使用不同步的笔来记录所写的内容。会议以英语记录,使用三个不同声学特性的房间,主要包括非母语人士。
官方网址:http://groups.inf.ed.ac.uk/ami/corpus/
中文参照:http://sykv.cn/m/view.php?aid=19912
来源:虽然AMI会议语料库是为了开发会议浏览技术的联盟的使用而创建的,但它被设计用于广泛的研究领域。此网站上的下载内容包括适合大多数用途的视频, 所有信号和转录以及一些注释都已根据 知识共享署名4.0国际许可(CC BY 4.0)公开发布。
描述数据的相关论文:
- Jean Carletta(2007年)。释放杀手语料库:创建多种一切AMI会议语料库的经验。
- Steve Renals,Thomas Hain和HervéBourlard(2007)。会议的认可和解释:AMI和AMIDA项目。
数据集包含:视频、注释(Annotations)、注释手写体,
大小:(这里我要下载的是下图22MB的这一份)train97 val20 test20【数据集大小】
We preprocess and divide 457 the dataset into training (97 meetings), development (20 meetings) and test (20 meetings) sets as 459 done by (Shang et al., 2018).
格式:NXT格式,需要 NXT version 1.4.4,原始数据格式如下图,记录每一时刻的单词是什么
使用:要想使用的话,需要处理成自己想要的格式。(这里C哥已经有处理好的一份数据,我会直接用这一份)
三、目前已有的对话摘要论文及效果,哪些能作为baseline
C哥论文里的baseline:
- TextRank (Mihalcea and Tarau, 2004) is a graph-based extractive method that selects im- 491portant sentences from the input document.
- C&L (Cheng and Lapata, 2016) is an extractive method based on sequence-to-sequence 494framework. Its decoder receives sentence embeddings and outputs sentence labels.
- SummaRunner (Nallapati et al., 2017) is an extractive method based on hierarchical RNN which iteratively constructs summary representation to predict sentence labels.
- CoreRank (Shang et al., 2018) is a unsupervised abstractive method which generates summaries by combining several approachs.
- Pointer-Generator (See et al., 2017) is an abstractive method equips with copy mechanism, its decoder can either generate from the vocabulary or copy from the input.
- HRED (Serban et al., 2016) is a hierarchical sequence-to-sequence model which is composed of a word-level LSTM and a sentence-level LSTM.
- Sentence-Gated (Goo and Chen, 2018) is an abstractive method that incorporates dialogue acts by the sentence-gated mechanism.
- TopicSeg (Li et al., 2019a) is an abstractive method using a hierarchical attention mechanism at three levels (topic, utterance, word).
及效果
四、会议摘要的相关工作
-
7 Related Work
-
Meeting Summarization
-
Graph-to-Sequence Generation
五、开始跑baseline
本次我要使用的baseline:
- Abigail See, Peter J. Liu, and Christopher D. Manning. 2017. Get to the point: Summarization with pointer-generator networks.
- Ramesh Nallapati, Feifei Zhai, and Bowen Zhou. 2017. Summarunner: A recurrent neural network based sequence model for extractive summarization of documents.
- Chih-Wen Goo and Yun-Nung Chen. 2018. Abstractive dialogue summarization with sentence-gated modeling optimized by dialogue acts.
5.1、 Pointer-Generator
论文:https://arxiv.org/abs/1704.04368
代码:https://github.com/abisee/pointer-generator,tf版本
此处使用:https://github.com/OpenNMT/OpenNMT-py,pytorch版本
source activate onmt_diasum
pip install OpenNMT-py
基础模型结构记录
NMTModel(
(encoder): RNNEncoder(
(embeddings): Embeddings(
(make_embedding): Sequential(
(emb_luts): Elementwise(
(0): Embedding(5809, 300, padding_idx=1)
)
)
)
(rnn): LSTM(300, 200, num_layers=2, dropout=0.3)
)
(decoder): InputFeedRNNDecoder(
(embeddings): Embeddings(
(make_embedding): Sequential(
(emb_luts): Elementwise(
(0): Embedding(5809, 300, padding_idx=1)
)
)
)
(dropout): Dropout(p=0.3, inplace=False)
(rnn): StackedLSTM(
(dropout): Dropout(p=0.3, inplace=False)
(layers): ModuleList(
(0): LSTMCell(500, 200)
(1): LSTMCell(200, 200)
)
)
(attn): GlobalAttention(
(linear_in): Linear(in_features=200, out_features=200, bias=False)
(linear_out): Linear(in_features=400, out_features=200, bias=False)
)
)
(generator): Sequential(
(0): Linear(in_features=200, out_features=5809, bias=True)
(1): Cast()
(2): LogSoftmax()
)
)
生成式-已复现
5.2、SummaRunner
论文:https://arxiv.org/abs/1611.04230
代码:无官网代码
此处使用:https://github.com/kedz/nnsum,pytorch版本
conda(source) activate nnsum
抽取式-
5.3、Sentence-Gated
论文:https://arxiv.org/abs/1809.05715
代码:https://github.com/MiuLab/DialSum,tf版本
此处使用:一份C哥自己复现的代码,根据open-nmt改的,pytorch版本,所以直接使用5.1的环境
生成式-已复现