2018机器阅读理解竞赛冠军分享:问答系统新思路

543 篇文章 14 订阅

7月28日,由中国中文信息学会和中国计算机学会联合举办的第三届语言与智能高峰论坛于北京语言大学举办。Naturali 奇点机智团队作为2018机器阅读理解技术竞赛冠军团队,受邀参加本次活动的“机器阅读理解评测论坛及颁奖仪式”。


(冠军团队Naturali 联合创始人兼CTO林德康进行报告分享)

机器阅读理解任务一直是自然语言处理领域的重要问题。问答系统直接为问题提供答案,省去了用户检索浏览和整理的功夫,广泛应用于搜索引擎,语音助手,智能客服等各个领域,是自然语言处理和人工智能的重要环节。传统的问答系统由问题分类、候选答案抽取、候选答案评分等多个模块组成。基于大规模机器阅读理解任务标注数据和深度神经网络的端对端模型,Naturali 团队提出了构造问答系统提供的新思路。

为了应对此次挑战,Naturali团队在篇章预处理、预训练词向量、其他特征、多个答案、联合训练、最小风险训练等方面做出了对应的设计,并尝试了很多经典的阅读理解模型,包括BiDAF、MatchLSTM、DCA,最终提交的数据是通过集成模型计算出来的,并尝试引入多个答案的信息。另外,基于公司在自然语言处理领域的积累和已有的自主研发自然语言处理NLP工具,根据数据集的特点做了一些改进,得到最终的模型。

以下为冠军团队Naturali 联合创始人兼CTO林德康现场报告的核心技术讲解摘要:

百度DuReader阅读理解数据集特点

2018机器阅读理解技术竞赛提供了一个基于真实场景的大规模中文阅读理解百度数据集,共包含来自百度搜索的30万个来自真实用户的问题,对中文阅读理解系统提出了很大的挑战。

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

比如说意见性问题“iPhone X好不好用”,或现象描述“响一声就说正在通话中”,这类的用户提问回答起来难度相对较高。

数据预处理

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

以下是我们数据预处理的具体方法:
1. 如果标题和各段内容中间插入特殊分割符号连接在一起,没有超过预设最大长度,则将得到结果作为预处理的结果;
2.否则,我们计算各段落和问题的BLEU-4分数,以衡量段落和问题的相关性;
3.在分数排名前k的段落中,选择最早出现的段落;
4.选取标题,这个段落以及下一个段落;
5.对于第3到第10个段落,选取每个段落的第一句话;
6.将所有选取的内容以特殊分隔符连接在一起,截取最前面不超过预设最大长度的内容,将得到的结果作为预处理的结果。

模型整体结构

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


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

首先,给定一个问题的词序列和篇章的词序列,我们要对它进行特征抽取,将它变成一个特征向量序列。我们是在搜狗互联网语料库上进行的预训练。这个数据集比百度数据集还要大好几个量级,所有中文网页都在里,每一词用什么向量表达就是在这里面训练的。

第二层:编码层(Encoding)

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

第三层:匹配层(Matching)

匹配层是模型比较核心的部分,我们利用注意力机制融合问题和篇章信息。经过了几种模型的测试,最后我们的系统里用到了Match-LSTM、BiDAF、DCA这三种集成模型,相比其他模型,这几种模型效果接近,训练速度较快。在单一模型中我们运用BiDAF,在集成模型中则会运用到不同的匹配层得到的结果进行集成。

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

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

● 常用损失函数


● 利用多个参考答案

最小风险训练

通常的阅读理解系统是以提高标准答案概率作为训练的目标,但实际评测的标准是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个点。


Naturali的系统在正式测试集上ROUGE-L和BLEU-4分别达到了63.38和59.23,在800多支报名队伍、105支提交最终结果的队伍中取得了第一名。

如果有对Naturali感兴趣的同学,欢迎投简历至 jobs@naturali.io

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值