如何从数据、模型和训练角度提升阅读理解系统性能?

栏目: 编程工具 · 发布时间: 5年前

内容简介:2018年10月19日,第十七届中国计算语言学大会(CCL2018)在长沙召开,追一科技团队作为中文机器阅读理解(CMRC2018)评测任务的冠军队伍,在评测研讨会上分享了本次参赛系统的报告。机器阅读理解(Machine Reading Comprehension)可以说是近两年NLP领域的大热点,顾名思义,就是让机器像人一样去读懂一段文字,并回答相应问题。常见的机器阅读理解形式有完形填空式,选择题式和知名度最广的抽取式,从抽取文档篇数又可细分为多文档(如MS MARCO)和单文档(SQuAD)。CMRC

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

机器阅读理解(Machine Reading Comprehension)可以说是近两年NLP领域的大热点,顾名思义,就是让机器像人一样去读懂一段文字,并回答相应问题。常见的机器阅读理解形式有完形填空式,选择题式和知名度最广的抽取式,从抽取文档篇数又可细分为多文档(如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-AgainNeural 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),在所有队伍中排名第一。

如何从数据、模型和训练角度提升阅读理解系统性能?

机器阅读理解技术应用领域广泛,现已在信息提取等多个产品功能上投入应用,也是追一未来重点投入的研究方向之一。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法笔记

算法笔记

胡凡、曾磊 / 机械工业出版社 / 2016-7 / 65

这是一本零基础就能读懂的算法书籍,读者不需要因为自己没有语言基础而畏惧。书籍的第2章便是一个C语言的入门教程,内容非常易懂,并且十分实用,阅读完这章就可以对本书需要的C语言基础有一个较好的掌握。 本书已经覆盖了大部分基础经典算法,不仅可以作为考研机试和PAT的学习教材,对其他的一些算法考试(例如CCF的CSP考试)或者考研初试的数据结构科目的学习和理解也很有帮助,甚至仅仅想学习经典算法的读者......一起来看看 《算法笔记》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试