真英雄,成名于少林寺武侠大会;好算法,验证在斯坦福公开数据。
武侠小说中一个公平且有影响力的平台,可以让侠之大者脱颖而出,科研也是,一个优秀的公开数据集可以让好算法脱颖而出,并同时让那些靠吹的算法身败名裂。本文将详细叙述今年目前为止自然语言处理界最重量级的数据集 SQuad。
1. SQuAD是什么?
SQuAD 是斯坦福大学于2016年推出的数据集,一个阅读理解数据集,给定一篇文章,准备相应问题,需要算法给出问题的答案。此数据集所有文章选自维基百科,数据集的量为当今其他数据集(例如,WikiQA)的几十倍之多。一共有107,785问题,以及配套的 536 篇文章。数据集的贡献者为斯坦福Percy Liang等人,Percy Liang是自然语言处理界的一位全才,在Semantic Parsing, QA, Optimization等多个领域都有重要贡献。
当前的公开数据集对比如下,MCTest,Algebra和Science是现在的三个公开的阅读理解数据集,我们可以看到Squad在数量上远远超过这三个数据集,这使得在这个数据集上训练大规模复杂算法成为可能。同时,相比于WikiQA和TrecQA这两个著名问答数据集,Squad也在数量上远远超过。而CNN Mail和CBT虽然大,但是这两个数据集都是挖空猜词的数据集,并不是真正意义上的问答。
2. 追赶ImageNet ,发力自动问答领域
这个数据集文章展现了着斯坦福做一个自然语言处理的ImageNet的野心,他很可能成为自然语言学术界未来至少一年内最流行的数据集。模型在这个数据集上做出好成绩,可以让自己的文章加分不少,被顶会录取的几率大大增加。如果读者想发顶会,且目前没有明确的研究方向,那么刷这个数据集是一条很好的道路。
于此同时,这个数据集也会为工业界做出贡献。之所以说会为工业界做出贡献,因为自然语言处理的研究风气和图像相比差一些,任务较多,且没有在paper里面附带代码的行业规则,导致很多工作无法重现,甚至有些人会连实验都不做,直接往图和表里面填数造一篇文章。而这个数据集学习了Imagenet,不给测试集,这样你就没法作弊,把代码交上来,我来给你跑,之后把测试集合上的水平评测出来,这样大家都公平,谁也别吹牛,谁也别作弊。此种环境有利于真正大贡献的工作得以浮现,例如Residual Network在去年席卷图像领域,在一个公平的环境下,以比其他对手好很多的效果呈现在了世人的面前。而SQuAD则是斯坦福在自然语言处理上,意图构建一个类似“ImageNet”的测试集合,分数实时在leaderboard上显示。
这就让这个数据集有如下优势:
测试出真正的好算法。尤其对于工业界,这个数据集是十分值得关注的,因为他可以告诉大家现在各个算法在“阅读理解”或者说“自动问答”这个任务上的排名。我们可以光看分数排名,就知道世界上哪个算法最好,不会再怀疑是作者做假了还是实现的不对。
提供一个阅读理解的大规模数据集。由于之前的阅读理解数据集规模太小或者十分简单,用一个普通的深度学习算法就可以刷到90%度,所以并不能很好的体现不同算法优劣。
纵使SQuAD不会像ImageNet有那么大的影响力,但绝对也会在接下来的几年内对自动问答领域产生深远的影响,并且是各大巨头在自动问答这个领域上的兵家必争之地(IBM已经开始了)。
3. 如何构建 SQuad数据集?
接下来,让我们详细介绍这个数据集的构建(此数据集已经被EMNLP2016会议收录 https://arxiv.org/pdf/1606.05250.pdf),我们先感受一下这个数据集精美的界面。
从图中我们可以看到,在验证集合和测试集合的水平。其中测试集合需要你提交一个可以运行的程序。最后一名和第一名分别是作者做的baseline以及人来回答能达到的水平,我们可以看到虽然只发布一个月,新加坡一些大学和IBM公司已经在这个任务上进行了尝试。 下图就是这个数据集的一个样例,首先给定一篇文章,然后开始问问题,第一个问题“什么造成了降雨”答案是重力造成的。问题十分有难度,需要推理,不过答案仍然在文中出现过。
数据集的具体构建如下
1. 文章是随机sample的wiki百科,一共有536篇wiki被选中。而每篇wiki,会被切成段落,最终生成了23215个自然段。之后就对这23215个自然段进行阅读理解,或者说自动问答。
2. 之后斯坦福,利用众包的方式,进行了给定文章,提问题并给答案的人工标注。他们将这两万多个段落给不同人,要求对每个段落提五个问题。
3. 让另一些人对提的这个问题用文中最短的片段给予答案,如果不会或者答案没有在文章中出现可以不给。之后经过他们的验证,人们所提的问题在问题类型分布上足够多样,并且有很多需要推理的问题,也就意味着这个集合十分有难度。如下图所示,作者列出了该数据集答案的类别分布,我们可以看到 日期,人名,地点,数字等都被囊括,且比例相当。
4. 这个数据集的评测标准有两个,第一:F1,第二:EM。EM是完全匹配的缩写,必须机器给出的和人给出的一样才算正确。哪怕有一个字母不一样,也会算错。而F1是将答案的短语切成词,和人的答案一起算recall,Precision和F1,即如果你match了一些词但不全对,仍然算分。
5. 为了这个数据集,他们还做了一个baseline,是通过提特征,用LR算法将特征组合,最终达到了40.4的em和51的f1。而现在IBM和新加坡管理大学利用深度学习模型,均突破了这个算法。可以想见,在不远的将来会有更多人对阅读理解发起挑战,自然语言的英雄也必将诞生。甚至会有算法超过人的准确度。
自动问答超越人类,你准备好了?
雷锋网原创文章,未经授权禁止转载。详情见转载须知。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/60864.html