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

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

  1. 中国首个开源基金会成立;京东 AI 研究院获 QuAC 机器阅读理解竞赛冠军

    开发者社区技术周刊又和大家见面了,快来看看这周有哪些值得我们开发者关注的重要新闻吧. 京东AI研究院获QuAC机器阅读理解竞赛冠军 中国首个开源基金会成立,已有七个项目加入孵化 COVID-19大流行 ...

  2. ​京东AI研究院获QuAC机器阅读理解竞赛冠军,EL-QA模型能力业界领先

    来源:机器之心 本文约2000字,建议阅读8分钟 京东提出的 EL-QA 模型(登顶 QuAC Leaderboard,全部三项指标均获得第一名. [ 摘要 ]近日,在斯坦福大学.华盛顿大学.Alle ...

  3. 2018机器阅读理解技术竞赛,奇点机智获第一名

    长期以来,大家一直有这样的疑问:机器到底能不能真正理解人类?机器阅读理解的能力,能否超越人类? 2018年5月15日,由中国中文信息学会(CIPS).中国计算机学会(CCF)和百度联手举办的" ...

  4. 百度发起机器阅读理解竞赛,提供中文数据集,获胜团队奖10万

    允中 发自 SSJQ  量子位 报道 | 公众号 QbitAI 机器阅读理解(中文版)技术竞赛,现在可以报名了. 3月1日,由百度.中国中文信息学会(CIPS).中国计算机学会(CCF)联手举办的&q ...

  5. 中国人工智能大赛机器阅读理解任务冠军方案出炉~

    点击左上方蓝字关注我们 [飞桨开发者说]王肖,中国科学院信息工程研究所研究生在读,自然语言处理技术爱好者,研究方向为文本匹配.文本分类.本文对抗.知识蒸馏.模型压缩.推荐系统.多任务学习等. 参赛背景 ...

  6. 荣获百度机器阅读理解第一名的团队,他们想分享这些给你!

    日前,由中国中文信息学会 (CIPS).中国计算机学会 (CCF) 和百度公司联合举办的「2018 机器阅读理解技术竞赛」落下帷幕,Naturali 奇点机智从国内外 800 多支队伍中脱颖而出,获得 ...

  7. python歌星大赛评分_2018年机器阅读理解技术竞赛模型,BLEU-4评分排名第6, ROUGE-L评分排名第14...

    G-Reader 机器阅读理解(Machine Reading Comprehension)是指让机器阅读文本,然后回答和阅读内容相关的问题."2018机器阅读理解技术竞赛"由中国 ...

  8. 什么是机器阅读理解?跟自然语言处理有什么关系?

    导读:机器阅读理解(Machine Reading Comprehension,MRC)是一种利用算法使计算机理解文章语义并回答相关问题的技术.由于文章和问题均采用人类语言的形式,因此机器阅读理解属于 ...

  9. 卖萌屋福利场:《机器阅读理解》免费送送送!

    一只小狐狸带你解锁 炼丹术&NLP 秘籍 在送书之前,先来了解一下机器阅读理解是什么-已经很熟悉的小伙伴可以快速下拉进入福利场~ 机器阅读理解是什么 机器阅读理解(Machine Readin ...

最新文章

  1. Android学习笔记进阶十一图片动画播放(AnimationDrawable)
  2. 《数学之美》第10章 PageRank--Google的民主表决网页排名技术
  3. 64位处理器_电脑系统32位好还是64位好 哪个快?
  4. [你必须知道的css系列]第一回:丰富的利器终结篇:选择符的组合关系及选择符总结...
  5. 一文带你彻底搞懂C++中一些常见指针(形如*p)的用法
  6. leetcode设计链表,非常工整的实现你值得拥有
  7. 递归判断一个数是否递增
  8. 5年商标之争落幕 货拉拉夺回“货拉拉”商标权
  9. 小程序飞入购物车特效
  10. Gmail Labs各功能全球开放
  11. 洛谷——P1897 电梯里的爱情(两种解法:普通方法、桶排序方法)
  12. Centos7与Windows查看硬盘序列号
  13. mysql防止商品超卖_避免商品超卖的4种方案
  14. Resend messages one by one
  15. CUDA编程学习笔记 之 页锁定内存(固定内存Pinned Memory)
  16. 微信气泡主题设置_微信要怎么设置气泡?华为手机怎样改微信的气泡和主题方法介绍...
  17. ABAP_各模块实用底表
  18. qlist 嵌套_QList内存释放
  19. efm32芯片电压_小壁虎PK小蝴蝶(EFM32 vs STM32L)
  20. 上传excel文件到服务器,excel怎么上传到云服务器

热门文章

  1. FTP与TFTP的区别
  2. 解决Ubuntu系统下git clone下载速度较慢的问题(亲测有效)
  3. http status 汇总
  4. 异常处理机制(Begin try Begin Catch)
  5. python 基础_列表的其他操作 4
  6. activiti自己定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
  7. ConcurrentHashMap实现原理及源码分析
  8. SQLMap安装步骤
  9. kvm虚拟机--存储池配置梳理(转)
  10. iOS手机 相册 相机(Picker Write)