原标题:读题or读你?剥开机器阅读理解的神秘外衣
最近一个有意思的现象,是机器阅读理解突然开始热络了起来。
刚刚传来消息,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时代,也已经提上了日程。
再者,像百度这样将机器阅读理解能力高效投入搜索、问答等应用领域,产生现实价值的例子正在增多。相信不久的未来,机器阅读理解工具化、集成化,可以渗透到各行各业当中,成为一种信息世界的主流解决方案。
比较大概率的状况,大概是不久的将来,我们在使用百度等产品时,感到了某种难以具体形容却又真实存在的体验提升。那就是因为机器正在“读你”,而不是“读题”。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。