广告
加载中

读题or读你?剥开机器阅读理解的神秘外衣

脑极体 2018/02/23 17:43

最近一个有意思的现象,是机器阅读理解突然开始热络了起来。

刚刚传来消息,2月21日,百度自然语言处理团队研发的V-Net模型以46.15的Rouge-L得分登上微软的MS MARCO(Microsoft MAchine Reading COmprehension)机器阅读理解测试排行榜首。

加上此前斯坦福大学的SQuAD竞赛中,阿里、哈工大讯飞联合实验室等团队先后超越了人类平均水平。这意味着,机器阅读理解领域的两大顶级赛事:MS MARCO和SQuAD的记录先后由中国团队打破。

这项技术的奇点似乎正在现实世界的边缘升起。尤其值得注意的是,百度刷新MS MARCO成绩依靠的是单模型。一般情况下多模型集成会拿到更高分数,如此看来,机器阅读理解的能力边界还远未触达。

但在热闹的“军备竞赛”之余,机器阅读理解领域的深处并非一团和气。各种争议和辩论正在这场“机器答题大秀”背后上演。

比如说,为什么微软要紧随SQuAD之后另起炉灶,发布自己的数据集和竞赛?以“实战派”著称的百度NLP团队为什么一定要选择MS MARCO来刚正面?学术界关于机器阅读理解的争议为何一直不断?

这些疑问或许可以最终归因到一个问题:让AI做阅读理解,到底有什么用?

今天让我们从百度的大冒险开始说起,聊聊“阅读理解圈”的江湖恩怨,以及我们接下来可预见的技术应用未来。

两大数据集对峙:机器阅读理解的问题与争议

所谓的机器阅读理解,基本概念跟咱们上学时做的阅读理解题很相似,同样都是给出一段材料和问题,让“考生”给出正确答案。所不同的,仅仅是机器阅读理解的主角变成了AI模型而已。

而机器阅读理解领域的比赛方式,就像斯坦福大学著名的AI竞赛ImageNet一样,都是由一个官方给定的数据集+一场跑分竞赛组成。各大科技巨头和世界名校的AI研究团队是主要参赛选手。

百度NLP团队这次成功刷新世界记录的比赛,是微软在2016年末发布的MS MARCO。

这个赛事有趣的地方在于,其运用的训练数据并非空穴来风,而是微软在产品实践中,从真实用户那里收集来的问题和答案。MS MARCO是微软基于搜索引擎BING构建的大规模英文阅读理解数据集,包含10万个问题和20万篇不重复的文档。

据了解,这个数据集的问题全部来自于BING的搜索日志,根据用户在BING中输入的真实问题模拟搜索引擎中的真实应用场景。此外,又整理了这些问题的人工答案作为训练数据。这样可以让AI模型通过最接近真实应用的语境来进行学习、训练和反向实践,完成“学以致用”的小目标。

圈内普遍认为,微软这么不容易地搜集一个源自真实网络的数据集,就是希望硬怼斯坦福大学发布的SQuAD。

2016年早些时候,斯坦福大学相关团队制作了一个用来测试AI模型阅读理解能力的数据集。与MS MARCO不同,SQuAD主要训练数据是来自维基百科的536篇文章,以及由人类阅读这些文章后,提出的10万多个问题及相关答案。

这种非常像校园考试的数据设定,从诞生之日起就争议不断。比如NLP领域的大牛Yoav Goldberg就认为这个数据集有些太过片面。

SQuAD受到指责的地方,主要可以分为三个层面:

1、 问题过分简单。问题的答案主要源自于文档中的一个片段,真实应用场景中很少遇到这样的问题。

2、 数据多样性不足。SQuAD只有500多篇文章,内容不够丰富,训练出的模型被质疑难以处理其他数据或者更复杂的问题。

3、 通用性不强。为了跑分的方便,SQuAD的问题结构比较简单,涉及到的机器“推理”一面偏弱,导致其实用性数次受到怀疑。

举个简单的例子来描述一下两个数据集之间的不同:SQuAD大多数问题的答案来自文档本身,从文档中“复制粘贴”就能完成回答,这样模式固然更加方便,但客观上对问题类型和答案范围都做了限制,建立在SQuAD上的问题通常更加直白简单。而MS MARCO的问题则更倾向真实的语言环境,需要智能体推理语境进行分析。

相对而言,MS MARCO的难点主要体现在这几个方面:

1、 对于每一个问题,MARCO提供多篇来自搜索结果的网页文档,系统需要通过阅读这些文档来回答用户提出的问题。但是,文档中是否含有答案,以及答案具体在哪一篇文档中,需要系统自己来判断解决;

2、MARCO中有一部分问题无法在文档中直接找到答案,需要阅读理解模型自己做出判断;

3、MARCO也不限制答案必须是文档中的片段,很多问题的答案必须经过多篇文档综合提炼得到。

萝卜白菜各有所爱,有人认为SQuAD是最方便测试的机器阅读理解比赛,也有人坚持MS MARCO是最接近人类问答习惯的竞赛。但争论的背后或许有一个共识正在浮现:机器阅读理解的应用性,已经开始受到产业的广泛关注。

进击的数据集:AI阅读也要重视“素质教育”

当然,MS MARCO的数据集结构同样也有很多争议。但相类似的“从生活中来”的机器阅读理解训练数据集正在越来越多。一句话总结这种趋势,大概就是大家发现,该让AI从“应试教育”变成“素质教育”了。

结构紧凑、体系清晰的SQuAD,虽然可以非常便捷地展现出AI模型的测试结果,但拓展性和实用性始终受到指责。许多学者认为,这个数据集有些被过分“考试化”了,导致其最终变成为了竞赛而竞赛。

而直接从互联网文本与产品实践问题中训练出的模型,显然距离应用性更近。据了解,百度NLP团队选择MS MARCO来进行测试,很重要的一方面是看重了在其基础上研发出的技术,可以更好的投入场景实践,贴近在复杂和开放的互联网环境中解决问题的能力。

其实仔细想想,机器阅读理解这项技术,从来都不是纸上谈兵的“象牙塔派”,在我们已经熟悉的互联网应用中,就有大量只能依靠机器阅读理解来解决的难题。

举个例子,当用户在搜索引擎寻找答案的时候,传统方案只能依靠用户互助来回答,正确性和效率都严重不足。但智能体进行回答,就不能只依靠关键词填空来处理。比如绝不会有用户提问“()是我国最长的河流?”;更多情况用户会询问复杂的问题,需要完整的解决方案和建议。那么,从真实提问数据中学习理解材料、回答问题的方案,近乎于AI技术满足搜索引擎体验升级的唯一出路。

再比如最近争议不断的内容推荐领域。今日头条最近反复出状况,很大程度来源于舆论指责其过度依赖关键词进行算法推荐,忽略了用户的对文章深度与知识性的需求。这就是因为其算法的机器阅读理解能力不够,无法阅读真实的互联网材料,给出个性化的推荐结果。

除此之外,语音助手、智能客服等领域,都大量依靠于机器阅读理解阅读真实问题、真实互联网材料,给出完整答案的AI能力。从真实数据中训练AI,可能是破解这些难题的唯一途径。

百度NLP团队选择刷MS MARCO,大概也与产品实践的需求息息相关。已经深度部署在百度搜索和问答产品中的机器阅读理解,下一步又会去往何方呢?

中文、通识、应用:可预见的机器阅读理解未来

可以看到,有几个倾向性趋势,已经开始发生在机器阅读理解这个刚刚开始热络的技术当中。

首当其冲,目前机器阅读理解的训练数据集和竞赛,大部分集中在英文领域。这个尴尬正在一步步被打破。

比如百度在去年发布了与微软MS MARCO结构类似,但数据量更丰富、数据更多元的全中文数据集DuReader。其首批发布的数据集包含20万来自百度搜索的真实问题,100万互联网真实文档,以及42万人工撰写生成的答案。同时,数据集还标注了问题类型、实体和观点等丰富信息,并提供开源基线系统和评测平台。据悉其很快也将进入竞赛化。

在中国团队一次次挑战机器阅读理解记录的同时,让技术红利释放到中文世界,似乎已经指日可待。

另一方面,机器阅读理解的技术能力如何通用化、泛在化,与各种其他NLP技术体系相拟合,似乎成为了广为关注的话题。让机器能“理解”的同时,还能归纳、能思考、能创作,勾勒出完整的Deep NLP时代,也已经提上了日程。

再者,像百度这样将机器阅读理解能力高效投入搜索、问答等应用领域,产生现实价值的例子正在增多。相信不久的未来,机器阅读理解工具化、集成化,可以渗透到各行各业当中,成为一种信息世界的主流解决方案。

比较大概率的状况,大概是不久的将来,我们在使用百度等产品时,感到了某种难以具体形容却又真实存在的体验提升。那就是因为机器正在“读你”,而不是“读题”。

此为亿邦专栏作者文章,如要转载请签订内容转载协议,联系run@ebrun.com

文章来源:亿邦动力网

广告
微信
朋友圈

这么好看,分享一下?

朋友圈 分享
+1
+1
微信好友 朋友圈 新浪微博 QQ空间
关闭
收藏成功
发送
/140 0