雷锋网 AI 研习社按,日前,由中国中文信息学会 (CIPS)、中国计算机学会 (CCF) 和百度公司联合举办的「2018 机器阅读理解技术竞赛」落下帷幕,Naturali 奇点机智从国内外 800 多支队伍中脱颖而出,获得第一名。在两个评价标准 ROUGE-L 和 BLEU-4 上,奇点机智分别获得 63.38 和 59.23 的得分,均高出第二名超过两分。(目前,奇点机智凭借在「2018 机器阅读理解技术竞赛」上获得冠军以及比赛专访,在雷锋网学术频道 AI 科技评论旗下数据库项目「AI 影响因子」中获得 13 分。)
迄今为止,世界机器阅读理解领域经典赛事多集中在英文领域,比如由斯坦福大学发起的 SQuAD 挑战赛以及微软的 MS MARCO 机器阅读理解测试,而此次赛事基于百度 DuReader 中文数据集,对中文阅读理解有着里程碑式的意义。
奇点机智是一家提供定制化语音交互解决方案的公司,谈及参赛原因,他们对雷锋网 AI 研习社说道,「机器阅读理解是推动人工智能未来发展的核心。机器能够并且应该去理解人类,而不是人类去理解机器。阅读理解是奇点机智关注的问题,公司的 NLP 团队在相关领域有所积累,希望尝试将开发的基础组件应用到实际问题的解决中,也想借此比赛验证公司在自然语言处理方面的技术实力。」
比赛介绍
本次比赛数据集来自搜索引擎真实应用场景,其中的问题为百度搜索用户的真实问题,每个问题对应 5 个候选文档文本及人工整理的优质答案。
数据集共包含 30 万问题(27 万训练集、1 万开发集和 2 万测试集),其中 20 万来源于百度 DuReader 数据集(18 万训练集、1 万开发集和 1 万测试集)。
DuReader 是迄今为止最大的面向真实应用场景的中文阅读理解数据集,它包含来自百度搜索的 30 万个真实问题,数据集中标注了问题类型、实体和观点等丰富信息。
在这次比赛中,对于给定问题 q 及其对应的文本形式的候选文档集合 D=d1, d2, ..., dn,要求参评阅读理解系统自动对问题及候选文档进行分析,输出能够满足问题的文本答案 a。目标是 a 能够正确、完整、简洁地回答问题 q。
此次比赛评价指标采用 ROUGH-L 和 BLEU4,ROUGH-L 为主评价指标。针对是非及实体类型问题,主办方对 ROUGE-L 和 BLEU4 评价指标进行了微调,适当增加了正确识别是非答案类型及匹配实体的得分奖励,这在一定程度上弥补了传统 ROUGE-L 和 BLEU4 指标对是非和实体类型问题评价不敏感的问题。
奇点机智表示,长时间以来,自然语言处理的研究都是基于句子级别的阅读理解,例如理解句子中的主谓宾、定状补,时间、地点、事件等等。然而,基于篇章的长文本理解一直是一个技术难题,因为涉及到更高难度的研究内容,例如句子之间的连贯、上下文、推理等等,这也正是此次竞赛面临的挑战。
虽然目前机器阅读理解与人类还存在差距,但此次比赛中,他们的答案与人工标注的答案非常接近,甚至有些比人工答案更全面,这也算是一大进步。下面是奇点机智答案与人工标注答案的对比:
问题:昆特牌什么时候公测(实体类)
奇点机智答案:「巫师之昆特牌国服山丘试炼开启时间为 6 月 6 日, 暂定为期两周,即 6 月 6 日-6 月 19 日。」
人工答案:「时间为 6 月 6 日,暂定为期两周,即 6 月 6 日-6 月 19 日。」
问题:肩袖损伤能自愈吗(判断类)
奇点机智答案:「肩周炎是可以治愈的,但是需要锻炼,不然的话。时间长了肩周炎,就很难活动了。」
人工答案:「肩周炎是可以治愈的,但是需要锻炼,不然的话。时间长了肩周炎,就很难活动了。」, 「一般是不可以治愈的,需要外用膏药,结合活血化瘀的药品治疗。」
问题:兰陵王妃大结局是什么(描述类)
奇点机智答案:「女主选择了兰陵王高长恭,离开了北周,但是女主最后被萧洛云杀了,当时她和兰陵王高长恭在一起,所以宇文邕并不知道最后她死了,但也是在死前的最后那一刻她才明白自己最爱的人是宇文邕。」
人工答案:「女主选择了兰陵王高长恭,离开了北周,但是女主最后被萧洛云杀了,当时她和兰陵王高长恭在一起,所以宇文邕并不知道最后她死了,但也是在死前的最后那一刻她才明白自己最爱的人是宇文邕。」, 「高长恭最终抱的美人归,与元清锁共度生死。」
从直观感觉上来说,奇点机智的回答比较完整和合理,从指标上来说,在比赛中 BLEU 超越第二名两分也是非常难得的。
参赛细节
将中文阅读理解与英文相对比,中文存在分词问题,也缺少像 GloVe 这样在大规模数据上预训练好的词向量。此外,中文的成语典故、俗语、一词多义、歧义等都增加了机器阅读的难度。那么面对这些挑战,奇点机智在比赛中是如何完成这看似不可能的任务的呢?
据奇点机智介绍,这次比赛主要是由技术团队的两名同事做系统实验,其他同事提供相关帮助。
他们对雷锋网 AI 研习社表示,比赛数据集都是用户的真实问答,有些问题在百度搜索里没有答案,而且问题不一定很直接。比如「响一声就说正在通话中」,这表面上并不是一个问题,用户描述了一个现象,这种问题回答起来更具挑战性。
由于竞赛给定了文档全文,有的文档可能会非常长,为了不超出内存占用和保证训练效率,他们采取了简单有效的启发式方法预先对每个文档抽取可能包含答案的部分内容。
他们针对判断类问题训练了一个额外的分类模型,除此之外,比赛数据集中有一部分数据来源于百度搜索,一部分数据来源于百度知道,针对问题来源,他们也做了一些策略调整。
在特征的选择上,他们使用了词向量、词性标注向量、以及篇章中的词是否出现在问题中。
在模型选择上,他们阅读了大量论文,参考和借鉴了很多经典 MRC 模型,比如 BIDAF、Match-LSTM、R-Net、DCN 等。最终的模型基于 BIDAF,他们尝试引入了多个答案的信息。
此外,他们也发现,一些 NLP 的底层基础部件,比如分词和词向量表示等也会对系统性能产生一定影响。
而从公布数据到最终结果提交只有两个月左右的时间,虽然时间上比较紧迫,但公司内部有自己的实验系统和比较充足的硬件资源。
奇点机智表示,「在这次比赛中,公司在自然语言处理方面的技术积累,团队超强的执行力和学习力,良好的硬件资源和实验平台都是夺得冠军的因素。」
值得一提的是,参与竞赛的两位技术人员平时在奇点机智是做机器学习、语音识别相关工作,参赛之前没有特别接触过阅读理解。能在短短两个月左右快速上手并最终夺冠,这也在一定程度上反应了团队超强的学习力和执行力。
未来
他们表示,在比较干净的数据集上,机器模型已经可以做到非常好,比如在维基百科上,机器的表现已经可以超过人类。如果数据集比较原始,依然会有不错的表现,但挑战更大,这也是他们愿意去挑战的难题。阅读理解在一定程度上会给语音助手、问答系统等带来诸多利好,这也是他们的研究重点。
这次比赛使得他们对阅读理解任务有了更深入的理解,包括任务可能运用的场景、问题难点等。下一步,他们一方面将在性能上尝试对模型进一步优化,另一方面,将在工程上考虑将机器阅读引入实际商业场景和产品中。参赛团队对雷锋网 AI 研习社说道,希望通过此次真实用户问答数据,训练优质实用的模型,将领先的机器阅读理解技术应用于今后的产品以及各个领域中。
在采访的最后,奇点机智 CTO 林德康表示,「我们对过去的积累非常有信心,我们愿意去做有意义的、有挑战性的事情,同时,我们也会经常组织大家一起学习、读论文,进行小组讨论。没有什么可以阻止我们不断学习,获取最先进的理念和技术。」
对奇点机智感兴趣的同学,欢迎将简历投至 jobs@naturali.io