深度学习要多深,才能读懂人话?|阿里小蜜前沿探索

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: 本篇文章全面阐述了“机器阅读理解综述及在电商领域的探索”主题,总字数近五千字,预计需要10分钟左右的阅读时间。推荐对深度学习、大数据、自然语言处理感兴趣的童鞋收藏。

小叽导读:本篇文章全面阐述了“机器阅读理解综述及在电商领域的探索”主题,总字数近五千字,预计需要10分钟左右的阅读时间。推荐对深度学习、大数据、自然语言处理感兴趣的童鞋收藏。

▌研究背景

阿里小蜜是阿里巴巴推出的围绕电商服务、导购以及任务助理为核心的智能人机交互产品,在去年双十一期间,阿里小蜜整体智能服务量达到643万,其中智能解决率达到95%,成为了双十一期间服务的绝对主力。阿里小蜜所使用的问答技术也在经历着飞速的发展,从最初基于检索的知识库问答演进到了最新的语义深度建模。

近期,阿里小蜜正在开展新的探索,让机器具有如同人一般的阅读理解能力,这将使得问答产品体现出真正的智能,进一步提升服务效率。

在问答技术中,最常见的是检索式问答,但存在很多的限制,例如,需要人工进行知识提炼,让机器在事先准备好的问答对基础之上进行检索。而我们经常需要对这样一段话进行提问:

5月18日,阿里巴巴集团发布了2017财年Q4财报和2017财年全年的业绩报告。财报显示,阿里巴巴集团2017财年的收入为1582.73亿元人民币,同比增长56%;经调整后净利为578.71亿元人民币。Q4集团收入为385.79亿元,同比增长60%;非美国通用会计准则下的净利同比增长38%至104.4亿元人民币。

Q:阿里巴巴2017财年收入是多少呢?

A:1582.73亿人民币

其中包含很多的数字、日期、金额以及一些客观事实描述,如果对每个提问点都设置一个问答对,将会是非常繁琐的过程,同时,由于真实场景中问题的长尾性,人工提炼也无法穷尽所有可能的问题,知识往往覆盖率比较低。如果能脱离人工提炼知识的过程,直接让机器在非结构化文本内容中进行阅读理解,并回答用户的问题,将是一个里程碑式的进步。

_


深度学习近年来在自然语言处理领域中广泛应用,在机器阅读理解领域也是如此,深度学习技术的引入使得机器阅读理解能力在最近一年内有了大幅提高,因此我们尝试结合深度学习与真实业务场景,探索机器阅读在电商领域的创新与落地场景。

▌电商领域的应用场景

那么机器阅读理解及问答技术在电商领域会有哪些合适的应用场景呢?

阿里小蜜的交易规则解读类场景

首先是电商交易规则解读类场景,例如在每次双11等活动时,都会有大量的用户对活动规则进行咨询。以往,阿里小蜜的知识运营同学都需要提前研究淘宝和天猫上的活动规则,从一堆规则描述、活动介绍文本中提炼可能的问题。而通过机器阅读理解的运用,则可以让机器直接对规则进行阅读,为用户提供规则解读服务,是最自然的交互方式。

2016年淘宝双十一消费者交易规则

发货时间说明:

2016年11月11日00:00:00-2016年11月17日23:59:59期间付款成果的订单,确认收到时间如下:

(1)如果选择的物流方式为快递与货运,自“卖家已发货”状态起的15天后,系统会自动确认收货。

(2)如果选择物流方式为平邮,自“卖家已发货”状态起的30天后,系统会自动确认收货。

示例提问:我双十一买的东西什么时候会自动确认收货?

店小蜜的商品售前咨询场景

店小蜜是一款面向淘系千万商家的智能客服。用户在淘宝和天猫上购物时,往往会对较为关注的商品信息进行询问确认后才会下单购买,例如“荣耀5c的双摄像头拍照效果有什么特点?” 而这些信息往往已经存在于商品的详情描述页,通过机器阅读理解技术,可以让机器对详情页中的商品描述文本进行更为智能地阅读和回答,降低服务成本的同时提高购买转化率。

▌相关工作调研

基于知识库自动构建的机器阅读

用传统的自然语言处理方式完成基于机器阅读理解的问答,一般需要先在文本中进行实体和属性的解析,构建出结构化的知识图谱,并在知识图谱基础上进行问答。 主要涉及以下几个过程:

实体检测:识别文本中提及的实体,对实体进行分类。

实体链接:将检测出来的实体与知识库中现有实体进行匹配和链接。

属性填充:从文档中检测实体的各类预先定义好的属性,补充到知识库中。

知识检索:在知识库中根据实体和属性找到最相关的答案作为回答。

显然,用传统的知识库构建方式来进行机器阅读,虽然其可控性和可解释性较好,但领域垂直特点较强,难以适应多变的领域场景,且技术上需要分别解决多个传统NLP中的难点,如命名实体识别、指代消解、新词发现、同义词归一等,而每个环节都可能引入误差,使得整体误差逐渐扩大。

基于End-to-end的机器阅读

近年来,一些高质量的公开数据集为机器阅读领域的研究带来了革命性的变化,推动了基于End-to-end方法的高速进步,基于不同的数据集可以解决一些特定的机器阅读理解任务。以下首先介绍每一类中具有代表性的数据集。

Facebook的bAbI推理型问答数据集[1]

bAbI数据集是由人工构造的由若干简单事实形成的英文文章,给出文章和对应问题后,要求机器阅读理解文章内容并作出一定的推理,从而得出正确答案,往往是文章中的某个(或几个)关键词或者实体。

数据集包含对20个具体任务的评测,包括Supporting Fact、Yes/No Question、Counting、Time Reasoning、Position Reasoning、Path Finding等等。数据集规模相对比较小,仅由1000个训练数据和1000个测试数据构成,每个任务150个词。

_


Microsoft的MCTest选择题数据集[2]

MCTest数据集用于回答选择题,由真实的英文儿童读物构成。给出一篇150-300词的故事文章,并对故事内容进行提问,要求机器在几个候选答案中选出正确的答案。数据集的数据量较小,分为160篇和500篇两种。

_


DeepMind的CNNDailyMail完形填空数据集[3]

该数据集来自于真实的新闻数据,但由自动标注而得,并非人工标注。给出一篇新闻和一个问句,把问句中的某个实体抽掉,要求能正确预测被抽掉的实体。这个实体必须是在文中出现过的。该数据集的数据量相对比较大,CNN9有万篇,DailyMail有22万篇。

_


Facebook的CBT完形填空数据集[4]

该数据集也是由真实的儿童读物,由自动标注方式构成,其形式是给出21个句子,前20个是完整的供机器阅读的句子,将第21个句子中的实体抽掉,要求能正确预测出来。

_


讯飞和哈工大的中文完形填空数据集[5]

这是一份中文数据集,和CBT类似,这份数据集是根据真实的新闻数据由自动标注的方式获得的完形填空数据集,数据集较大,共有87万篇。

_


Stanford的SQuAD可变长答案数据集[6]

SQuAD是斯坦福发布的英文可变长答案数据集。问题和答案由大量众包人力来标注。内容主要以Wiki文章为主,涵盖了体育、政治、商业等各种领域的内容。数据集包含500多篇文章(在1000篇文章中随机选取,保证数据分布广泛),再将500多篇文章拆成了2万多个小段落,再对段落进行提问,共10万个问题(每个段落提5个以上的问题)。

每个问题需要由3位标注者进行标注,其中第一位标注者需要提问和回答,后两位标注者只需回答第一位标注者的提问。取第二位标注者的答案作为Human Predict, 取第一、三位标注者的答案作为Ground Truth,以此获得多个Ground Truth来降低标注误差。且鼓励标注者用自己的语言来提问,不要去抄原文中的话。

_


该数据集一经推出便引发学术界的持续关注,在SQuAD的Leadeboard上不断有新的模型提出一遍遍刷新benchmark,截止目前(2017年6月),最好的方法已经获得超过84的F1值。值得一提的是,Standford在推出该数据集时,基于传统Lexical特征工程的方式构造了Baseline(考虑Word/POS/Dependency..),作为白盒模型有较好的比较意义,同时也提供了人工评测的Acc作参照,方便衡量问题上界。

_


几乎所有围绕SQuAD的模型都可以概括为类似的结构:

(1)Embedding层:将原文和问题中的词汇映射为向量表示。

(2)Encoding层:用RNN对原文和问题进行编码,使得每个词蕴含上下文语义信息。

(3)Interaction层:用于捕捉问题和原文之间的交互关系,并输出编码了问题语义信息的query-aware的原文表示。

(4)Answer层:基于query-aware的原文表示来预测答案开始和结束的位置。

_


显然,SQuAD数据集相比之前的完形填空、选择题型数据集来说,数据量更大、数据质量更高、解决的问题也更复杂,同时也更接近于真实的业务场景,因为在大部分的真实问答场景中,答案都并非单个实体,很可能是一个短句,因此我们将主要围绕SQuAD LeaderBoard上榜的模型来作一些具体的介绍。

基于SQuAD的机器阅读模型

Match-LSTM with AnswerPointer [7]

Match-LSTMwith Answer Pointer模型是较早登上SQuAD LeaderBoard的模型,作者提出了融合 match-lstm 和 pointer-network 的机器阅读框架,后续也被多篇相关工作所借鉴。其中的Boundary Model由于只预测答案开始和结束位置,极大地缩小了搜索答案的空间,使得整个预测过程得到了简化。

_


模型主要包括三个部分:

(1)用LSTM分别对question和passage进行encoding;

(2)用match-LSTM对question和passage进行match。这里将question当做premise,将passage当做hypothesis,用标准的word-by-word attention得到attention向量,然后对question的隐层输出进行加权,并将其跟passage的隐层输出进行拼接,得到一个新的向量,然后输入到LSTM;

(3)利用pointer net从passage中选择tokens作为答案。包括Sequence Model和Boundary Model。其中Sequence Model是在passage中选择不连续的word作为answer;BoundaryModel只需要passage的起始位置和中止位置得到连续的words作为answer。

Bidirectional AttentionFlow [8]

BiDAF模型最大的特点是在interaction层引入了双向注意力机制,计算Query2Context和Context2Query两种注意力,并基于注意力计算query-aware的原文表示。

_

模型由这样几个层次组成:

(1)Character Embedding Layer使用char-CNN将word映射到固定维度的向量空间;

(2)Word Embedding Layer使用(pre-trained)word embedding将word映射到固定维度的向量空间;

(3)Contextual Embedding Layer将上面的到的两个word vector拼接,然后输入LSTM中进行context embedding;

(4)Attention Flow Layer将passage embedding和question embedding结合,使用Context-to-query Attention 和Query-to-contextAttention得到word-by-word attention;

(5)Modeling Layer将上一层的输出作为bi-directional RNN的输入,得到Modeling结果M;

(6)Output Layer使用M分类得到passage的起始位置,然后使用M输入bi-directional LSTM得到M2,再使用M2分类得到passage的中止位置作为answer。

FastQAExt [9]

FastQAExt最大的特点在于其较为轻量级的网络结构,在输入的embedding层加入了两个简单的统计特征:

(1)文章中的词是否出现在问题中,是一个binary特征。

(2)基于“问题中的词如果在原文中很少出现,则对问题的回答影响更大”的原理,设计了一个weighted特征。

_


2个统计特征的引入相当于给模型提前提供了先验知识,这将加快模型的收敛速度,整体上,FastQAExt由以下三个部分组成:

(1)Embedding层:word 和char 两种embedding,且拼接上述的2种统计特征作为输入向量。

(2)Encoding层:汇总原文和问题的总表示。

(3)Answer层:计算问题对总表示,将query-aware原文表示和问题总表示共同输入两个前馈网络产生答案开始和结束位置概率。

r-net [10]

r-net是目前在SQuAD LeaderBoard上排名领先的模型,r-net的特点是使用了双interaction层架构。

_


r-net由以下三个部分组成:

(1)Encoding层:使用word和char两种Embedding作为输入。

(2)Question-Passage Matching层:负责捕捉原文和问题之间的交互信息。

(3)Passage Self-Matching层:负责捕捉原文内部各词之间的交互信息。

(4)Answer层:借鉴了match-lstm及pointer network的思路来预测答案的开始和结束位置,并在问题表示上用attention-pooling来生成pointer network的初始状态。

▌业务场景下的挑战与实践

通过上述介绍可以看到,围绕SQuAD数据集的机器阅读理解模型已经在学术界取得了相当大的突破,其解决的问题是在一定长度的wiki内容中进行知识问答,然而阿里小蜜的实际电商业务场景与之相比篇章更长、答案粒度更粗(业务场景下句子粒度居多)、业务含义更复杂且用户的提问更为随意,因此SQuAD数据集及其相关模型还不能直接运用于解决我们实际的电商场景问题。

要将机器阅读理解技术运用到实际业务场景中,还存在相当大到挑战,我们在以下几方面进行了探索和实践:

中文数据集的构建

为了使得模型能解决特定的业务问题,标注一个高质量的业务数据集是必不可少的,然而人工标注的成本较高,因此在业务数据集之外,需要将公开的数据集进行结合利用。而目前公开的中文数据集较为缺乏,可以通过批量翻译等方式快速构造中文数据集,翻译得到的结果由于保持了词汇及大致的上下文信息,也能取得一定的训练效果。

模型的业务优化

需要改进模型的结构设计,使得模型可以支持电商文档格式的输入。电商规则文档往往包含大量的文档结构,如大小标题和文档的层级结构等,将这些特定的篇章结构信息一起编码输入到网络中,将大幅提升训练的效果。

模型的简化

学术成果中的模型一般都较为复杂,而工业界场景中由于对性能的要求,无法将这些模型直接在线上使用,需要做一些针对性的简化,使得模型效果下降可控的情况下,尽可能提升线上预测性能。例如可以简化模型中的各种bi-lstm结构。

多种模型的融合

当前这些模型都是纯粹的end-to-end模型,其预测的可控性和可解释性较低,要适用于业务场景的话,需要考虑将深度学习模型与传统模型进行融合,达到智能程度和可控性的最佳平衡点。

▌总结

机器阅读理解是当下自然语言处理领域的一个热门任务。近年来,各类阅读理解的数据集以及方法层出不穷,尤其是围绕SQuAD数据集的模型正在快速的发展中,这些模型的研究在学术界非常活跃。总的来说,对于解决wiki类客观知识问答已经取得比较好的结果,但对于复杂问题来说仍处于比较初级的阶段。

学术界的思路和工业界实际场景相结合将能产生巨大的价值,阿里小蜜已经在这方面开展探索和落地的尝试,在算法、模型和数据方面进行积累和沉淀,未来在更多的真实领域场景中,用户将能感受到机器阅读理解技术带来的更为便利的智能服务。

原文发布时间为:2018-07-04
本文作者:吉仁
本文来自云栖社区合作伙伴“ 阿里技术”,了解相关信息可以关注“ 阿里技术”。

相关文章
|
11天前
|
机器学习/深度学习 算法 计算机视觉
《深度学习案例实战》新书出版——基于阿里魔搭平台
《深度学习案例实战》是一本实用的指南,涵盖多个领域的深度学习应用案例。本书旨在通过具体的案例讲解,阐述典型深度学习算法在图像分类、声音识别、语义分割、目标检测等各个领域的广泛应用。本书所涵盖的典型案例包括太阳黑子分类、气象预测、食物声音分类、智能厨房、智能冰箱食材检测、集体照人脸识别、遛狗绳识别、智能售药机药品检测、道路裂纹检测、学生教室行为检测等。这些案例旨在通过实际问题的解决,使读者能够深入理解深度学习算法的应用和实践。 本书特别关注两个关键技术:低代码开发平台摩搭ModelScope和深度学习加速器OpenVINO。摩搭平台为读者提供了一个便捷的开发环境,借助其丰富的预训练模型库和开发平
68 2
|
机器学习/深度学习 人工智能 自然语言处理
受阿里支持的深度学习及其应用课程认定为国家级课程
《深度学习及其应用》是一门理论和实践并重的课程,强调课程内容的深度和应用性,重视领域问题(项目沉浸)驱动式教学、配套实验案例和实验平台的建设、课程资源配套的建设以及与学生的交流。课程结合20多家企业的30多个实战合作项目实践,深入浅出地帮助学生钻研深度学习的算法以及应用;借助阿里等公司的人工智能开源平台,分享最新的算法、更多领域应用的相关实验。课程配套资料齐全,其中,利用主流的机器学习开源框架,开发了50多个机器学习案例,并在此基础上出版了多本实用案例丰富的教材,有效地支撑了课程实践教学的开展。课程在中国大学MOOC(爱课程)运行,已经有8万多名高校学生和社会学习者选修该课程,具有一定的影响力
263 0
受阿里支持的深度学习及其应用课程认定为国家级课程
|
机器学习/深度学习 自然语言处理 双11
《阿里小蜜:深度学习在双11的实践》电子版地址
阿里小蜜:深度学习在双11的实践
81 0
《阿里小蜜:深度学习在双11的实践》电子版地址
|
机器学习/深度学习 分布式计算 搜索推荐
【推荐系统】推荐系统数据流的经典技术架构+微软、阿里、微软等10大深度学习CTR模型最全演化图谱
【推荐系统】推荐系统数据流的经典技术架构+微软、阿里、微软等10大深度学习CTR模型最全演化图谱
473 0
【推荐系统】推荐系统数据流的经典技术架构+微软、阿里、微软等10大深度学习CTR模型最全演化图谱
|
机器学习/深度学习 算法
《阿里千亿特征深度学习算法XNN实践》电子版地址
阿里千亿特征深度学习算法XNN实践
129 0
《阿里千亿特征深度学习算法XNN实践》电子版地址
|
机器学习/深度学习 人工智能 前端开发
阿里 BladeDISC 深度学习编译器正式开源
随着深度学习的不断发展,AI模型结构在快速演化,底层计算硬件技术更是层出不穷,对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效的将算力发挥出来,还要应对计算框架的持续迭代。深度编译器就成了应对以上问题广受关注的技术方向,让用户仅需专注于上层模型开发,降低手工优化性能的人力开发成本,进一步压榨硬件性能空间。阿里云机器学习PAI开源了业内较早投入实际业务应用的动态shape深度学习编译器 BladeDISC,本文将详解 BladeDISC的设计原理和应用。
阿里 BladeDISC 深度学习编译器正式开源
|
机器学习/深度学习 人工智能 前端开发
阿里 BladeDISC 深度学习编译器正式开源
随着深度学习的不断发展,AI模型结构在快速演化,底层计算硬件技术更是层出不穷,对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效的将算力发挥出来,还要应对计算框架的持续迭代。深度编译器就成了应对以上问题广受关注的技术方向,让用户仅需专注于上层模型开发,降低手工优化性能的人力开发成本,进一步压榨硬件性能空间。阿里云机器学习PAI开源了业内较早投入实际业务应用的动态shape深度学习编译器 BladeDISC,本文将详解 BladeDISC的设计原理和应用。
954 0
|
自然语言处理 机器学习/深度学习 双11
深度学习要多深,才能读懂人话?|阿里小蜜前沿探索
本篇文章全面阐述了“机器阅读理解综述及在电商领域的探索”主题,总字数近五千字,预计需要10分钟左右的阅读时间。推荐对深度学习、大数据、自然语言处理感兴趣的童鞋收藏。
14607 0
|
机器学习/深度学习 搜索推荐
谷歌、阿里们的杀手锏:3大领域,10大深度学习CTR模型演化图谱(附论文)
本文为你介绍近3年来的所有主流深度学习CTR模型。
1285 0
|
机器学习/深度学习 算法框架/工具 TensorFlow
如何评估深度学习模型效果?阿里工程师这么做
复杂的深度模型中,如果效果不好,是因为网络设计的欠缺?还是数据天然缺陷?是训练代码的bug?还是Tensorflow自身的问题?基于此,阿里工程师推出了DeepInsight深度学习质量平台,致力于解决当前模型调试和问题定位等一系列问题。
892 0
下一篇
DataWorks