首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >直播 | CMRC2018 评测任务冠军队伍分享: 如何从数据、模型和训练角度提升阅读理解系统性能?

直播 | CMRC2018 评测任务冠军队伍分享: 如何从数据、模型和训练角度提升阅读理解系统性能?

作者头像
AI科技评论
发布2018-12-07 11:38:14
9890
发布2018-12-07 11:38:14
举报
文章被收录于专栏:AI科技评论AI科技评论

2018 年 10 月 19 日,第十七届中国计算语言学大会(CCL2018)在长沙召开,追一科技团队作为中文机器阅读理解(CMRC2018)评测任务的冠军队伍,在评测研讨会上分享了本次参赛系统的报告。

机器阅读理解(Machine Reading Comprehension)指的是,让机器像人一样去读懂一段文字,并回答相应问题。常见的机器阅读理解形式有完形填空式,选择题式和知名度最广的抽取式,从抽取文档篇数又可细分为多文档(如 MS MARCO)和单文档(SQuAD)。

CMRC 比赛与最流行的英文数据集 SQuAD 形式类似,文档来源于中文维基百科,问题由人工撰写,根据给定的一篇文档和一个问题,参赛者需要解决的是,如何建立并训练 model,使其能更好地理解 context 与 query,并找到相应答案。下图为实际比赛数据的一个示例。

数据

在数据方面,主要工作集中在数据的归一化和去噪音。CMRC 比赛训练集包含大约一万条数据,总体数据量偏少,这种情况下数据的标注一致性尤为重要。通过分析错误样例,参赛队员发现了标注的不一致问题,通过分析筛选最终对少量答案分布不一致的训练数据进行了清洗。

(1963 年)

范廷颂是什么时候被任为主教的?

VS

九广铁路小童储值票是何时停止使用的?

(1990 年 9 月停止使用)

上面的数据样例展示了这种标注不一致问题,同样为时间点的询问,但是不同标注有后缀区别,这种标注不一致问题会使模型的最终预测 EM 指标降低。

除了标注不一致的噪音,参赛队员还对文本进行了归一化,比如繁简转换,中英文标点转换等数据归一化操作。

模型

在模型方面,追一此次参赛采用了经典的端对端阅读理解系统,整体框架参考微软的模型结构 R-Net,示意图如下:

文本向量化表达

文本的向量化表达一直是深度学习系统效果的重中之重,本次参赛追一代表队使用了预训练的中文 ELMo 代替传统的 word2vec,单此一项,EM 提升了 1.8 个点。传统的词向量 word2vec 是上下文无关的,无法对一词多义的情况进行建模,比如常举例的「我想吃【苹果】」和「我的【苹果】手机摔坏了」。近期 AllenAI 提出了 ELMo,即 Embeddings from Language Models,这种词表征不再是固定的向量,而是以语言模型为基础获得的一个上下文相关的词表征。

英文 ELMo 是基于字符级别的编码,对中文并不适用。针对中文文本追一团队实验了两套方案,第一版是采用词级别进行输入,第二版是将词改进为笔划级别的编码,两者都通过双层 LSTM 变换来进行语言模型预训练。经过多次实验,效果最好的词级别与笔划级别的 ELMo 效果相差不大,最后采用了基于维基百科与新浪新闻组合语料训练的 512 维词向量 ELMo 模型作为下游任务的输入。

除 ELMo 外,模型还加入了描述问题类型的 one hot 特征,即按提问方式将问题归为 who, where, when 等八类,并转换为 one-hot 向量。POS 信息与词共现特征也作为额外的输入传入了模型。

编码层

采用多层双向 RNN 对文档和问题分别进行编码

交互层

Attention 机制是融合文档内容和问题信息的主要方法,是众多模型中比较通用的部分。在传统 attention 基础上,我们对问题输入添加了额外一个基于 gate 机制的过滤层,让模型去倾向注意核心词汇,忽略无关信息。改进的 attention 将 EM/F1 分别提升了 0.6/0.3。

答案抽取层

和众多参赛队类似,追一的参赛队员采用了 Pointer-network 来作为模型的输出层。PointerNetwork 通过预测答案的起始与终止位置,得到最终输出。

训练

由模型压缩思想衍生出的自我蒸馏 (self-distill) 训练方法在此次比赛中起到了很好的效果,其思想来源于论文《Born-Again Neural Networks》。蒸馏通常用在模型压缩方面,即采用预训练好的复杂模型(teacher model)输出作为监督信号去训练另一个简单模型(student model),从而将 teacher 学习到的知识迁移到 student。自我蒸馏就是不改变模型大小,循环进行 teacher-student 的训练,直到效果不再改进。CMRC 比赛中,teacher model 是已经训练好的一版模型,student 和 teacher 模型相同,仅重新初始化。训练 student 时,模型要同时学习真实 label 和 teacher 的输出。self-distill 效果显著,最终模型比初始 teacher 的 EM/F1 分别可以增长 0.88/0.94。

经过数据清洗,模型优化,多次训练,最终的系统在正式测试集上,EM 和 F1 分别达到了 74.178 和 88.145,仅靠单模型(single),在所有队伍中排名第一。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据
  • 模型
  • 训练
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档