Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

车万翔审稿鸽鸽整理

车万翔:基于迁移学习的任务型对话系统

编者按:2020 年 9 月 25日,哈工大社会计算与信息检索研究中心副主任车万翔教授受邀在由中国科协主办,清华大学计算机科学与技术系、AI TIME 论道承办的《2020 中国科技峰会系列活动青年科学家沙龙——人工智能学术生态与产业创新》上进行了主题为《基于迁移学习的任务型对话系统》的学术报告,重点介绍了他和博士生覃立波在跨领域、跨语言和跨任务的任务型对话系统中所做的一些研究工作。

如果说自然语言处理可被誉为“人工智能皇冠上的明珠”,那么对话系统就是“自然语言处理皇冠上的明珠”。其中以苹果SIRI、Google Assistant为代表的任务型对话系统尤为学术界和产业界所关注。然而,构建一个任务型对话系统依赖于大规模的标注数据,这为系统如何快速迁移到新的领域、新的语言和新的任务都带来了极大的挑战。

2020 年 9 月 25日,由中国科协主办,清华大学计算机科学与技术系、AI TIME 论道承办的《2020 中国科技峰会系列活动青年科学家沙龙——人工智能学术生态与产业创新》上,哈工大计算机学院教授车万翔所作的学术报告《基于迁移学习的任务型对话系统》,重点介绍了他和博士生覃立波在跨领域、跨语言和跨任务的任务型对话系统中所做的一些研究工作。

车万翔,哈工大计算机学院教授、博士生导师,教育部青年长江学者,龙江学者“青年学者”。曾获AAAI 2013最佳论文提名奖。负责研发的语言技术平台(LTP)已被600余家单位共享,并授权给百度腾讯华为等公司使用。2018、2019连续两年获CoNLL国际评测第1名。2016年获黑龙江省科技进步一等奖(排名第2)。2017年,所主讲的《高级语言程序设计(Python)》课程获国家精品在线开放课程。

一、人机对话历史溯源

人机对话的历史,最早可以追溯到图灵测试。1950年,图灵提出检测一个机器是否具备智能的方法,就是和机器进行对话,如果能欺骗人、让其分辨不出交谈的对象是机器还是人,就说明机器已经具备了智能。尽管人机对话作为人机交互的一个重要研究方向存在已久,但并未进入公众视野或真正普及,主要是因为当时对话方式的交互还十分困难、准确率不高。

随着2011年Siri的研发,乔布斯把人机对话正式推向公众,然而技术并不成熟。幸而随着深度学习技术的蓬勃发展,人机对话准确率越来越高,如今通过手机等移动终端以语音的方式和机器交流,不再停留于科幻电影的片段。

从近10年ACL顶会发表的人机对话相关论文占比来看,2015年前人机对话在自然语言处理领域并不火爆,然而2015年后论文数量明显增多。直到2020年,人机对话已经成为ACL论文产量最多的方向。

为何人机对话在2015年后才受到NLP领域的重视呢?

可能是因为2015年之前,语音识别作为基础问题还尚未解决,而语音如果没有转化为文本信息,自然语言的处理就无从谈起。但是2015年以后,语音识别已经达到很高水平,有时甚至超过人的识别能力,后续攻克的都是自然语言处理的问题,所以人机对话也越来越受到NLP领域的重视。

二、探秘任务型对话系统

人机对话可以大体分成四个类型,包括以Siri为代表的任务型对话、以微软小冰为代表的聊天型对话、知识问答以及推荐。

本次报告主要介绍任务型对话,即以任务或者动作为导向的对话系统。事实上,任务型对话技术在实际应用中几乎无处不在,从智能硬件、音箱、车载、个人助理到咨询类机器人等等。

正如斯坦福教授Chris Manning所预言,以虚拟助手为代表的人机对话形式,可能会吞噬整个互联网。现在的网页浏览与搜索的方式,以后可能会被更为便捷的会话和问答所替代,其中任务型对话会起到关键作用。

任务型对话系统的结构 (Pipeline系统)

整个任务型对话Pipeline系统分为几大部分:

首先,用户发出一个语音信号,通过语音识别转化为自然语言的文本,比如“帮我订一张去北京的机票”,接着进行自然语言的理解,包括领域和意图的识别、以及语义槽的填充,比如这句话的领域是机票、意图是订机票、语义槽是到达地等于北京。然后,这项结果传递给下一个步骤,即对话的管理。第一步是状态跟踪,第二步是策略优化,这些都涉及知识库以及一些API的调用。最后,生成自然语言比如“请问您从哪里出发”,经过TTS返给用户,流程不断循环并逐步完善用户的对话状态,最终实现用户查询

但是,由于经过多重步骤,某个步骤出错会牵连其他步骤,这种传统Pipeline的方式存在错误级联的问题。另一方面,各个模块标注的代价也较大。为解决这个问题,NLP研究者们提出端到端的对话,抛开中间的步骤,直接根据用户的输入以及相应的输出训练模型。

尽管任务型对话系统深度学习技术的帮助下取得了较大进步,我们仍面临一个问题:大量且高质量的标注数据难以获取。尤其在对话领域,不同的特定领域、新的语言、不同语种的交流以及小语种的迁移,都缺乏相应的数据,标注代价太大。

迁移学习:克服数据不足问题

因此,我们希望利用迁移学习技术解决上述问题。传统的方法针对一个任务训练一个模型,而迁移学习是针对一些原任务共同训练一个模型,再将学到的知识直接迁移到目标任务,从而使用少量标注数据达到不错的效果。得益于深度学习强大的表示能力,迁移学习方法在很多任务上取得了很好的效果。

整个迁移学习可以分为两大类:第一类是归纳式,原任务和目标任务不同,例如领域或者语言的差异;另一类是直推式的,原任务和目标任务相同。一个典型的归纳式迁移学习的预训练范式就是以BERT代表的深度学习预训练语言模型。除此之外,还包括多任务学习、以及跨领域和跨语言的迁移学习

下面分别介绍在这三个方向近期的工作。

三、跨任务、跨领域和跨语言的迁移学习

1.多任务学习

对话系统自然语言理解这部分包括领域识别、意图识别、语义槽填充的任务,三者不能同时进行学习。

前两个任务是典型的分类问题,后一任务是典型的序列标注问题。

传统的方法是按顺序进行,但存在错误级联无法进行知识有效共享的问题,并且后面模块的信息无法传递到前面的模块。

因此我们希望做多任务的联合学习,把多个相关的任务放在一起学习。这种多任务学习之前有一种典型的框架,叫做共享的隐层表示,用LSTM或者Transformer等学习一个共享隐层之后连接不同的任务相关层。然而该做法使得任务之间通过隐式的方式交互,仍存在交互不够充分的问题。

尽管前人有利用Slot-gate机制来显式地建模了槽填充任务和意图识别任务之间的关系,这种交互仍然不够充分,并且无法捕捉每个token上的具体信息,每个句子只有一个意图并进行槽的填充。

因此我们提出一种新的多任务学习框架Stack-propagation,改造了传统的多任务学习方法,即找到任务A的同时支撑任务B、使两者产生联系,把任务A的结果输入给任务B,从而完成更好的多任务学习的方式。

整体框架如下:第一步,将意图识别的结果给语义槽,指导slot预测。第二步,给一个句子,将意图信息打到每一个token上,这样一方面可以解决token级别准确率的问题,同时能更有效利用监督信号、提高最终的性能。

实验结果表明我们的框架在两个数据级上都获得了更好的效果,尤其是在整体的准确率上对比之前的工作有显著提升。后来我们利用了预训练模型BERT之后,效果提升也比较明显。

2.跨领域的迁移学习


通过用户和机器的对话历史来推测下一步机器说什么话,这可以是一种典型的Seq2seq模型。类似于机器翻译,我们把一句话翻译成相应输出的结果;但是和机器翻译不同,我们需要用到大量当前的知识。机器翻译对于一句话的语义是明确的,但对话中要用到知识库,同一句话根据不同知识会输出不同的结果。

那么,如何充分利用多个领域的数据?

一种最简单的方法就是把多个领域的数据进行混合来共同训练,但是这样简单地共享一套参数难以捕获所有领域的特征,从而忽略了领域之间独有的特点。前人的一个方法叫做共享-私有框架,就是把这些数据混合、变成共享的模块,再针对每个领域做私有的模块。但是,这种encoder和decoder的方法仍然是将每个领域逐个利用,忽略领域之间的细粒度关系,缺少领域之间交互的信息。

我们提出一种动态聚合的多领域融合框架,在利用所有领域的同时,每个具体领域对当前句子提供多大的信息是动态决定的。帮助较大的领域的任务最终权值也相对较大,没有帮助的任务则权值较小。其实相当于学习一个当前的例子和每个领域之间的相关度,也可以看成是一种attention的权重,通过这样自学习出来的权重最终来决策。最终的实验效果也是在两个数据集上进行了验证,效果比以前要好。

3.跨语言的迁移学习

跨语言迁移是指,在语料充分的源语言上训练了一个模型,然后针对目标语言直接用之前训练好的模型进行标注,而不需要目标语言的标注数据。

针对跨语言学习,前人用多语言的BERT学习了跨语言共同的分布表示,即把多语言数据直接简单混合、训练一个多语言的mBERT。该方法并没有任何跨语言对齐的信号,上下文仍然是单语言的,因此处理跨语言的任务效果并不好。

为解决这个问题,人们提出AIML模型来实现语言的混合,将源语言的句子中某个对最终决策影响最大的词替换成目标语言,构成一个新的训练数据,然后在这上面进行训练。这种方法存在信息的缺失,而且每次只能部署到一种目标语言,效率较低。

我们提出多语言的code-switch,将多种语言混合在一起。

具体做法是从源语言的训练数据中选出一些句子,将句子中某些词语经过简单的词典替换成目标语言,但是目标语言是各种语言随机的替换,从而构成新的训练数据,用这个数据训练意图识别或者是自然语言理解的模型。这个模型训练好之后就可以直接应用于各种目标语言上。

让我们理解下这种方法背后的直觉:最终训练的损失是一样的,但如果输入的语言不同,比如把“eat”换成“吃”,就隐含着学习了两者之间相似的表示,达到了一种跨语言的效果。实验结果显示在西班牙语、泰语等小数据语言上,比传统的方法有20~30个点的明显提升。


总结:

本次报告中,车万翔教授阐述了任务型对话系统迁移学习中,如何利用多种知识,即跨领域、跨语言和跨任务知识,来弥补数据不足的问题。

  • 多任务,通过Stack-propagation显示交互提高多项任务的性能;

  • 跨领域,提出动态聚合shared-private框架提升多领域端到端任务型对话系统性能;

  • 跨语言,提出multi-lingual code-switching数据增广方法提升Zero-shot跨语言能力。

欢迎大家进一步习读以下三篇相关论文及代码:

哈工大SCIR
哈工大SCIR

哈尔滨工业大学社会计算与信息检索研究中心

理论车万翔迁移学习
相关数据
清华大学机构

清华大学(Tsinghua University),简称“清华”,由中华人民共和国教育部直属,中央直管副部级建制,位列“211工程”、“985工程”、“世界一流大学和一流学科”,入选“基础学科拔尖学生培养试验计划”、“高等学校创新能力提升计划”、“高等学校学科创新引智计划”,为九校联盟、中国大学校长联谊会、东亚研究型大学协会、亚洲大学联盟、环太平洋大学联盟、清华—剑桥—MIT低碳大学联盟成员,被誉为“红色工程师的摇篮”。 清华大学的前身清华学堂始建于1911年,因水木清华而得名,是清政府设立的留美预备学校,其建校的资金源于1908年美国退还的部分庚子赔款。1912年更名为清华学校。1928年更名为国立清华大学。1937年抗日战争全面爆发后南迁长沙,与北京大学、南开大学组建国立长沙临时大学,1938年迁至昆明改名为国立西南联合大学。1946年迁回清华园。1949年中华人民共和国成立,清华大学进入了新的发展阶段。1952年全国高等学校院系调整后成为多科性工业大学。1978年以来逐步恢复和发展为综合性的研究型大学。

http://www.tsinghua.edu.cn/
相关技术
华为机构

华为创立于1987年,是全球领先的ICT(信息与通信)基础设施和智能终端提供商。

https://www.huawei.com/cn/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

知识库技术

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

对话系统技术

对话系统大致被分成两类: 任务为导向的对话系统,帮助用户去完成特定任务,比如找商品,订住宿,订餐厅等。实现任务为导向的对话系统,主要有两类方式,流水线方法和端到端方法。非任务导向的对话系统,与用户进行互动并提供回答,简单的说,就是在开放领域的闲聊。实现非任务导向对话系统也主要可分为两类,生成方法和基于检索的方法。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

图灵测试技术

图灵测试(英语:Turing test,又译图灵试验)是图灵于1950年提出的一个关于判断机器是否能够思考的著名试验,测试某机器是否能表现出与人等价或无法区分的智能。测试的谈话仅限于使用唯一的文本管道,例如计算机键盘和屏幕,这样的结果是不依赖于计算机把单词转换为音频的能力。

人机交互技术

人机交互,是一门研究系统与用户之间的交互关系的学问。系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作。小如收音机的播放按键,大至飞机上的仪表板、或是发电厂的控制室。

百度智能云机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

http://www.baidu.com
腾讯机构

腾讯,1998年11月诞生于中国深圳,是一家以互联网为基础的科技与文化公司。我们的使命是“通过互联网服务提升人类生活品质”。腾讯秉承着 “一切以用户价值为依归”的经营理念,为亿万网民提供优质的互联网综合服务。 腾讯的战略目标是“连接一切”,我们长期致力于社交平台与数字内容两大核心业务:一方面通过微信与QQ等社交平台,实现人与人、服务及设备的智慧连接;另一方面为数以亿计的用户提供优质的新闻、视频、游戏、音乐、文学、动漫、影业等数字内容产品及相关服务。我们还积极推动金融科技的发展,通过普及移动支付等技术能力,为智慧交通、智慧零售、智慧城市等领域提供有力支持。

http://www.tencent.com/
相关技术
语言学技术

每种人类语言都是知识和能力的复合体,语言的使用者能够相互交流,表达想法,假设,情感,欲望以及所有其他需要表达的事物。语言学是对这些知识体系各方面的研究:如何构建这样的知识体系,如何获取,如何在消息的制作和理解中使用它,它是如何随时间变化的?语言学家因此关注语言本质的一些特殊问题。比如: 所有人类语言都有哪些共同属性?语言如何不同,系统的差异程度如何,我们能否在差异中找到模式?孩子如何在短时间内获得如此完整的语言知识?语言随时间变化的方式有哪些,语言变化的局限性是什么?当我们产生和理解语言时,认知过程的本质是什么?语言学研究的就是这些最本质的问题。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

意图识别技术

意图识别指理解说话人的意图 。

多任务学习技术

多任务学习是机器学习的一个子领域,在该子领域中,可以同时解决多个学习任务,同时可以利用任务之间的共同点和不同点。与单独训练模型相比,这可以提高特定于任务的模型的学习效率和预测准确性。

槽填充技术

槽填充是指为了让用户意图转化为机器能够理解的明确指令而标记那些对句子有意义的单词或记号的任务。

推荐文章
暂无评论
暂无评论~