让机器读懂人类:2018机器阅读理解技术竞赛冠军技术详解

在由中国中文信息学会(CIPS)、中国计算机学会(CCF)和百度联手举办的“2018机器阅读理解技术竞赛”中,Naturali奇点机智凭借在自然语言处理(NLP)领域多年的积累与沉淀,具备了最前沿、全面、领先的技术,从国内外800多支报名队伍中脱颖而出,占据排行榜首,最终夺冠。

机器阅读理解任务一直是自然语言处理领域的重要问题。2018 机器阅读理解技术竞赛提供了一个基于真实场景的大规模中文阅读理解百度数据集,共包含来自百度搜索的 30 万个来自真实用户的问题,对中文阅读理解系统提出了很大的挑战。Naturali 的系统在正式测试集上 ROUGE-L 和 BLEU-4 分别达到了 63.38 和 59.23,在 800 多支报名队伍、105 支提交最终结果的队伍中取得了第一名。

以下为 Naturali 奇点机智参赛团队在本次竞赛中所运用的算法模型及核心技术总结:

一、DuReader 阅读理解数据集的特点

现在有很多阅读理解问答数据集,百度数据集算是中文阅读理解数据集里最好的。百度数据集相比 Stanford 经典数据集 SQuAD 更真实、更具挑战性。SQuAD 是从维基百科的信息来源集成问题,答案必定出现在文本里面,句法比较标准。而此次比赛的百度数据集都是用户的真实提问,不仅包括事实性的问题,还包括意见性的问题,部分问题在百度搜索里没有标准答案,并且问题的表达方式不一定很直接。

比如说意见性问题「iPhone X 好不好用」,或现象描述「响一声就说正在通话中」,这类问题回答起来难度更高。

二、竞赛题目实例

问题:昆特牌什么时候公测

人工标注答案:[‘时间为 6 月 6 日,暂定为期两周,即 6 月 6 日-6 月 19 日。']

Naturali 答案: [‘巫师之昆特牌国服山丘试炼开启时间为 6 月 6 日,暂定为期两周,即 6 月 6 日-6 月 19 日。’]

参考文档

['文章 阅读','巫师之昆特牌山丘试炼马上开启了,帅编来告诉大家开启时间。','巫师之昆特牌国服山丘试炼开启时间为 6 月 6 日,暂定为期两周,即 6 月 6 日-6 月 19 日。','参与过“青草试炼”的玩家将直接获得本次测试的资格,无需激活码。','国服公测时间暂未公布。','声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。','一款专为游戏动漫爱好者打造的 app 全面的资讯福利,热门资讯图鉴攻略应有尽有。国内外热门手游推荐,精彩不容错过。','itmo 爱萌游戏-二次元游戏第一门户 itmo 爱萌游戏是国内第一二次元游戏门户网站,致力于打造全新型的手机游戏网站。']

['南方公园游戏在 U2 上放出了新的宣传片昆特牌公测日期发布南方公园游戏这都从去年 4 月延到今年 10 月不过动画 21 季今年 9 月开始播刚好可以衔接到游戏发售日期','反正昆特牌打了一下午电脑一盘没赢我就放弃了','我巫师 3 二周目开始玩昆特牌,毕竟一周目没钱,二周目也不继承。现在走到哪打到哪。','下周就公测?好突然,这么快','昆特盘看测试录像,氪金也是厉害啊。。。这南方公园竟然跳票到这个时候。。','昆特牌国际服已经激活就是看不懂挺期待南方公园的','期待 spOktoberfest! 另外希望昆特正式服早日上线','南方公园一听就是垃圾游戏,大家千万别买','应用吧活动,去领取','活动截止:2100-01-01','要不是川普赢了,也不至于这么跳票','昆特牌还没公测啊,我都以为大家已经玩了好久了','打牌才是正事 打牌打到十一月玩高清二战 美滋滋’]

解析说明:参考文档是从搜索引擎得到的排名靠前结果的网页全文,一个问题会对应多篇长文档;标注答案是人工根据文档总结撰写而成,一个问题可能对应多个答案,特别是对意见性的问题来说,有多个答案是很常见的。从以上案例可见,Naturali 阅读理解系统给出的答案比人工答案甚至还要全面。

三、数据预处理

百度提供五个篇文章作为参考文档。由于文章没有长度限制,我们根据关键词密度,句子位置等信息将超过 500 词的文章压缩到 500 词以内。

以下是我们数据预处理的具体方法:

  1. 如果标题和各段内容中间插入特殊分割符号连接在一起,没有超过预设最大长度,则将得到结果作为预处理的结果;

  2. 否则,我们计算各段落和问题的 BLEU-4 分数,以衡量段落和问题的相关性;

  3. 在分数排名前 k 的段落中,选择最早出现的段落;

  4. 选取标题,这个段落以及下一个段落;

  5. 对于第 3 到第 10 个段落,选取每个段落的第一句话;

  6. 将所有选取的内容以特殊分隔符连接在一起,截取最前面不超过预设最大长度的内容,将得到的结果作为预处理的结果。

四、模型整体结构

我们使用的模型整体结构,是经典的端对端阅读理解模型结构,分为四层:

第一层:特征表示层(Representation)

第二层:编码层(Encoding)

第三层:匹配层(Matching)

第四层:答案片段抽取层(Answer Span Extraction)

下面我们对每一层进行简单介绍。

第一层:特征表示层

首先,给定一个问题的词序列和篇章的词序列,我们要对它进行特征抽取,将它变成一个特征向量序列。

我们是在搜狗互联网语料库上进行的预训练。这个数据集比百度数据集还要大好几个量级,所有中文网页都在里,每一词用什么向量表达就是在这里面训练的。

第二层:编码层

得到问题和篇章的向量特征表示序列后,我们分别进行编码。

第三层:匹配层

匹配层是模型比较核心的部分,我们利用注意力机制融合问题和篇章信息。

经过了几种模型的测试,最后我们的系统里用到了 Match-LSTM、BiDAF、DCA 这三种集成模型,相比其他模型,这几种模型效果接近,训练速度较快。在单一模型中我们运用 BiDAF,在集成模型中则会运用到不同的匹配层得到的结果进行集成。

第四层:答案片段抽取层

最终,我们利用指针网络进行答案抽取。

根据百度数据集特点,回答里面可能会包含多个答案,所以我们采用的是第二种利用多个参考答案的公式进行计算,即在多个答案上损失的平均数作为损失函数。

● 常用损失函数

● 利用多个参考答案

五、最小风险训练

通常的 RC 系统是以提高标准答案概率作为训练的目标,但实际评测的标准是 ROUGE。最小风险训练是拿评测的标准作为训练的目标,需要对每个片段都计算损失函数,所以优化的时间比较长。我们的系统首先用最大似然估计训练得到初始模型,然后直接优化 ROUGE 函数,让我们的 ROUGE 值达到最高。这里 delta(y_i, y_i) 是候选答案 y_i 与标准答案 y_i 在 ROUGE 函数上的差。

● 最小风险训练

● 以最大似然估计训练得到的模型初始化继续训练

六、单一模型实验结果

我们的 ROUGE 分数最终能够远远超出基线系统分数,是通过篇章预处理、预训练词向量、其他特征、多个答案、联合训练、最小风险训练等方法综合累计得来的。

七、集成模型

我们提交的数据是通过集成模型计算出来的,最终根据不同种模型(BiDAF, MatchLSTM, DCA)和不同参数(Dropout:0.1, 0.15, 0.2,联合学习比率:4.0, 5.0)做成了一个集成模型,比单一模型的 ROUGE 分数又高出了 1.5 个点。

八、总结及展望

我们本次竞赛用的是神经网络端到端的系统,而我曾经在谷歌做搜索问答用的是模块化的系统。模块化系统会把问题分成几部分,首先识别答案类型,再根据类型和问题、文本的匹配度去计算分数。而神经网络系统把所有的步骤放到一个网络里面,虽然没有专门为不同的答案类型建模,但是训练完成后仍然能够覆盖到不同问题类型,比如问「什么时候......」,找的答案里就有日期。

相比模块化系统,神经网络端到端的系统代码简单很多,并且每次改动、优化都是全局的优化。然而模块化系统的优化,是优化某一个模块,模块之间已经适应了各自的缺陷,其中一个模块变好,其他模块不一定随之改善,使整个系统的优化会变得比较困难。

目前有很多问答系统已经上线了,但是背后的实现还是模块化的机制。很有可能神经网络系统现在的表现暂时还不及模块化系统,但到现阶段它的准确度已经可以有一些应用。比如我们做语音助手的时候,经常将搜索作为一个「兜底」的功能。比如在智能客服应用中,拿客服文档做关键词匹配,但用自动阅读理解就可以把阅读理解系统当做一个「兜底」,找到文档以后便可以把更精简、准确的答案找出来。

最后,如果有对我们的团队感兴趣的同学,欢迎投简历到 jobs@naturali.io,期待你与我们一起,在 AI 语音对话交互这条路上共同前行。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 31,940评论 2 89
  • 生活,是个非常广泛的话题,在这里面都有各自的认知。就我个人来说其实是喜欢最大限度的得到自由的。 或许有时候或认...
    笔尖上的躁动62阅读 217评论 0 0