几乎在同一时间,微软和阿里巴巴的机器阅读理解系统在最新的 SQuAD 数据集测评结果中取得了并列第一的成绩。这是历史上第一次,机器阅读理解的精准匹配分数超越了人类的评测结果。
这两天 NLP 圈炸锅了,焦点围绕着微软阿里到底是谁先打破了机器阅读理解的人类记录。
事情是这样的。两家的 PK 发生在 SQuAD 数据集上,这是行业内公认的机器阅读理解标准水平测试,也是该领域顶级赛事,被誉为机器阅读理解界的 ImageNet(图像识别领域的顶级赛事)。和 ImageNet 一样,SQuAD 的成绩排名也会定时更新。
微软和阿里先后于 1 月 3 日 和 1 月 5 日在 SQuAD 官方平台提交模型,但阿里的结果在 1 月 11 日先于微软产出并被公布,微软的结果在 1 月 12 日紧随其后发布。
阿里发布结果后,主办方斯坦福向阿里发了贺信,表彰其机器阅读理解系统首次超越人类。微软结果发布后,鉴于双方在更细分维度上的评测结果各有千秋,官方给出了排名并列第一的说法。
机器阅读理解的评测维度分为 EM(Exact Match,精准匹配分数)和 F1(精确率和召回率的平均,模糊匹配分数)。
下图可见,阿里巴巴在 F1 分数上略胜一筹,微软的 EM 分数优于阿里巴巴。无论如何,我们可以欣喜地看到包括阿里,微软亚洲研究院,腾讯,哈工大和讯飞等中国的研究人员走在了世界的前列。
抛开「谁是第一」事件本身,机器之心采访到此次破纪录的阿里巴巴 iDST NLP 团队,希望回归技术,对其模型进行解读。
机器阅读理解作为 QA 问答技术中的全新领域,允许用户输入非结构化文本及问题,机器在阅读理解基础上,从文本中寻找答案回答用户问题。
对于阿里巴巴来说,机器阅读理解技术的最直接应用就是阿里小蜜现在能直接阅读说明书回答用户问题了。
本次阿里巴巴参与测评的系统名为 SLQA,即 SLQA,即 Semantic Learning for Question Answering,是 iDST NLP 团队提出的「基于分层融合注意力机制」的深度神经网络系统。评测证明,相比传统方法,SLQA 的效果取得了显著的提升。
采用传统方法解决机器阅读理解问题,一般会将该过程分为以下几个步骤:
1)对问题、篇章分别进行词法、句法分析,针对分析结果进行特征提取:
2)基于特征采用诸如 LR、CRF 等模型进行答案边界预测;
3)采用梯度下降类算法在训练集上进行优化,拟合数据分布。
在此过程中,基础语言模型、依存分析等模块的准确率在一定程度上会影响训练效果,特征工程的优劣也同样左右着是否能训练得到可用的模型。
随着深度学习在 NLP 领域的大量应用,很多场景如切词、词性标注、翻译、命名实体识别等 End2End 模型逐渐取得接近并超越传统模型的效果。在机器阅读理解场景,iDST NLP 团队设计了 Semantic Learning Net,即 SLQA 背后的算法模型。
该模型模拟人类在做阅读理解问题时的一些行为,包括结合篇章内容审题、带着问题反复阅读文章、避免阅读中遗忘而进行相关标注等。
团队总结,人类在进行阅读理解时,常见思维顺序如下:
1)通读篇章,理解文章主题和大体内容;读题,了解提问内容及关注点。
2)带着问题找答案,将问题同篇章做关联,并结合篇章主题,理解问题重点。
3)定位可能的答案范围,并再次重点阅读附近文字。
4)为避免忘记问题,再次审题,并结合 3)中重点区域进行答案圈选。
5)针对挑出的答案候选进行精筛,确定最正确的答案。
结合以上思路,团队构建模型的主要思想是在捕捉问题和文章中特定区域关联的同时,借助分层策略,逐步集中注意力,使答案边界清晰。
同时,为了避免过于关注细节,团队采用融合方式将全局信息加入注意力机制,进行适度纠正,确保关注点正确。这种逐步聚焦并兼顾全局的方式与其他参赛者已经公布的的做法不太相同,也是团队此次刷榜登顶的关键所在。
目前业界主流的基于 End2End 学习的机器阅读理解模型主要为 Encode-Interaction-Pointer 框架。基于上述分析,SLQA 系统包含如下基本结构:Encoder Layer(文本表征),Attention Layer(注意力机制),Match Layer(问题篇章匹配)以及 Output Layer(答案预测)。
- Encoder Layer 用于表示学习,可以理解为语言模型层,用以将篇章及问题从离散字符转变为蕴含语义的表征向量。团队采用了多层双向 LSTM 并分别对篇章和问题进行主题和重点词关注。
- Attention Layer 得到有效的问题及篇章表征后,为表达依据问题定位答案过程,缩小备选答案查找范围,将搜索空间通过注意力机制约束,主要进行多层融合注意力表示,对问题和篇章进行相关性对齐(Align),并不断补充全局信息(Fusion),每一次对齐都基于下层信息并在此基础上更加细化(paragraph→sentence→phrase→word),采用的方式分别为 Co-Attention(篇章到问题,问题到篇章),Self-Attention(问题自身,篇章自身)。
- Match Layer 用于做融合信息后的问题和篇章匹配,团队采用双线性矩阵来学习经过多层信息过滤后的篇章和问题匹配参数,由于在前一阶段无关信息已经被过滤,最后的匹配可完成答案的定位工作。
- Output Layer 结合匹配信息对篇章中词汇进行标注,预测相应词汇是答案开始位置或结束位置的概率。之后,模型会抽取可能性最高的一段连续文本作为答案。
团队采用的技术就是基于以上四个Layer的深度神经网络模型,重点探索和研究的Layer是第三层(Hierarchical Attention Fusion Network)。
iDST NLP 团队负责人司罗表示,本次 SQuAD 评测登顶得益于其 NLP 团队自身的完善性。「NLP 领域内的很多技术方向可以互相借鉴,例如机器阅读理解任务,我们就借鉴了机器翻译的一些技术。应该说我们机器阅读理解的技术是建立在我们更广阔的自然语言处理能力上的。」
让知识获取不受人脑的限制
据司罗介绍,本次登顶只是阿里巴巴相关技术研发的一个侧面,其所指向的「创新的问答系统」的落地应用才是团队的重要发展方向。
由于团队支持阿里大生态下的问答技术业务(如与阿里小蜜合作的智能客服等),因此团队的着眼点其实一直放在业务应用场景而非单纯的技术突破上。
「阿里小蜜是我们所知的第一个真正把机器阅读理解应用在大规模客服场景下的产品。」司罗说。
除阿里小蜜外,SLQA 系统在售前咨询场景也能发挥作用。
面向商家的智能客服「店小蜜」是阿里售前咨询场景的典型案例。顾客在购物时,往往会对商品信息进行询问确认后才会下单购买,例如「荣耀 5c 的双摄像头拍照效果有什么特点?」而这些信息往往已经存在于商品的详情描述页。
店小蜜通过机器阅读理解技术,让机器对详情页中的商品描述文本进行更为智能的阅读和回答,在降低卖家服务成本的同时提高购买转化率。
更广泛地,着眼整个社会,机器阅读理解也有着巨大的价值。试想机器自动阅读病历回答病人关心的问题、自动阅读古今名著帮人们写论文、自动阅读旅游场景的说明书来回答旅行者的问题、自动阅读繁复的法律税务条款来帮助人们解决法律报税的问题。
「机器阅读理解让知识获取不受人脑的限制。」司罗说。
尽管社会价值巨大,但目前的机器阅读理解技术还在面临很大的挑战。例如该技术对于解决 WIKI 类客观知识问答已经取得比较好的结果,但对于复杂问题来说仍处于比较初级的阶段。
司罗认为,这是由于 WIKI 场景的数据相对较为充分、文档结构也清晰、内容描述较为正规。而其他广大的应用场景常常存在训练数据不足、文档知识不明确、描述不完整等问题,有不少甚至要通过多步推理才能得到答案。
这不仅对阿里巴巴,也对整个业界提出了挑战。司罗表示,阿里希望建立自己完善的自然语言技术能力,在领域自适应、多步推理、知识自动抽取和归纳等方面进行全面且充分的准备,迎接这些挑战。