编者按:根据5月26日中国移动2021年科技工作者日暨科技周——九天人工智能新技术论坛上的视频报告整理而成。
报告摘要:人机语音对话系统,旨在建设能与人进行自然对话交互的智能系统,是人工智能研究的核心内容,有着广泛的社会和国家需求。本报告首先介绍人机语音对话技术现状及当前面临挑战,特别是泛化性不够强的问题,指出提高人机语音对话系统泛化性的两个方向——数据高效、数据知识双驱动,并分享若干进展,探讨以建设强泛化人机对话为抓手,迈向强人工智能!
报告人:欧智坚,清华大学电子工程系副教授、博士生导师,研究方向是语音识别与对话、机器智能。担任IEEE语音语言技术委员会(SLTC)委员,IEEE音频语音语言处理期刊(TASLP)编委,中国计算机学会高级会员及语音对话与听觉专业组委员等。

人机语音对话系统,指的是机器能像人一样,理解人类语言与人进行自然交互,可以是任务型,完成某个具体任务,或者非任务型,比如聊天。
人机语音对话系统,完整来看包含语音识别(从语音识别出文本),语义理解(从文本理解出意思),并能调用知识进行推理,做出决策和回复,然后通过自然语言生成模块,把回复表达成一个自然语句,视场景需要进行语音合成。如此反复,形成人机交互一个完整闭环。虽然有纯文本的对话系统,但语音对话构成更宽泛的人机交互。不难看出人机语音对话系统是人工智能研究的重要内容和核心技术,有着广泛的社会和国家需求。

这张图简要总结了语音识别的历史。从技术呈现的基本特点看,可以把1970年到2010年称为第一代。这里列出了代表性技术,比如HMM隐马尔可夫模型,GMM高斯混合模型,WFST加权有限状态机等。
从2011年语音识别开始全面进入第二代,其主要特点是使用了深度神经网络DNN,并涌现了多种形式,比如说DNN-HMM、CTC神经时序分类、Attention seq2seq基于注意力的序列到序列等。第二代取得了显著的进步,这得益于深度神经网络DNN更强大的表示能力,有大量的标注数据下的有监督学习以及强大的计算硬件。

对话系统技术的发展和语音识别有着惊人的类似,因为两者差不多都是人工智能发展的一个轨迹,上世纪70年代到2010年是第一代,2010年以后是第二代,我们要发展第三代。从技术呈现的基本特点看,对话系统的发展最早可以追溯到六十年代末七十年代初,也就是人工智能概念在1956年达特茅斯会议提出后的第一个10年。1966年MIT(麻省理工学院)的Eliza常被认为是第一个对话系统,它是一个基于规则的对话系统。
之后,人们开始研究人类的语言结构,研究人类之间的对话。我们今天对话系统设计中的基本概念,比如说意图、语义槽、对话管理,都是基于那个时代研究的产物。1990年美国DARPA(国防高级研究计划局)的ATIS(航空旅行信息系统)计划,促进了语音对话系统的发展,并且涌现出早期的像意图检测、填槽、基于POMDP等传统办法。这些基本上是基于符号主义、基于规则、基于人工设计的语言特征来展开的。我们也看到,在早期语音识别和对话系统就是作为一个完整的系统而加以研究。
和语音识别类似,2010年左右是一个分水岭,深度学习登上历史舞台,成为了对话技术的主流。将符号嵌入连续空间,利用神经网络进行计算诞生了Word2Vec的词表示学习、基于神经网络的对话状态跟踪、对话生成、序列到序列方法等。近年来的一个研究趋势是端到端对话系统,旨在更多使用神经网络来简化对话系统。近年来也出现了大规模的预训练语言模型,是深度学习的一个延续,将基于神经网络的对话系统研究继续推进。

对于当前面临的挑战,我们可以从语音领域3位资深学者黄学东博士、James Baker、Raj Reddy在2014年发表的“语音识别的历史透视”一文中阐述了六大挑战,对话系统面临的挑战有着惊人类似,我们借此文章一并讨论。第一,需要更多的(标注)数据;第二,需要更强大的计算基础设施;第三,无监督学习;第四,可移植性和泛化性;第五,处理不确定性;第六,具有苏格拉底式的智慧。
第1条是为语音对话技术研究提供数据基础,第2条是提供硬件基础,一直以来非常重要。我们重点来看下第3、4、5条所言的挑战,从某个角度看,其实说的都是泛化性。第3条指出无监督学习,希望系统随时间能自适应,在新的场景下能够自改善,系统能在尽可能少的人工标注下高效学习,小样本就能训练好,无监督学习是提高泛化性的一个手段。第4条指出了在低资源下的可移植性和泛化性。第5条指出在环境发生变化时,系统性能就急剧下降,系统的稳健性差,这些都指向当前语音技术的一个基础挑战,就是泛化性不够强。

一个学习方法的泛化性,是指它在独立测试集上的预测能力,也是一个学习系统的核心指标。
当前语音对话技术面临的一个基础挑战就是泛化性不够强,俗话说就是训练好的系统在实际环境中并不好用,这有两个深层次的原因。第一、目前系统过度依赖有监督学习,而忽视了从数据中学习的效率。通俗来讲,就是死记硬背,不能触类旁通,学习的不够有效率。第二、就是过度依赖经验主义,忽视了符号逻辑以及运用和积累知识,这在对话系统中尤为重要。对于常识的知识,特定场景的知识的运用,目前都比较困难,也比较难以积累。
那么针对这两个根因,未来的一个方向就是走向强泛化。我们要想方设法去提高系统的泛化性能,相应的有两个手段:一是努力做到数据高效,二是数据知识双驱动,后者也是张钹院士提出的“第三代人工智能”的重要特点,有关这点本报告不展开。下面重点看一下数据高效。

下面解释一下数据高效的概念。我们知道,效率等于收益除以成本。数据高效中的效率,不是指机器计算的效率(比如MIPS),也不是指机器的能耗效率(比如Watt/MIPS),而是指机器学习的效率,也就是在数据人工标注成本一定的条件下,系统性能的提升衡量了效率。不能仅靠大量标注数据,这样数据效率比较低。
值得注意的是,数据高效不是靠单一方法来完成,而是一个系统思维,包括建模和各类学习方法,例如模型架构,无监督、半监督、自监督学习方法,目前受到较多关注的预训练,迁移学习,主动学习,元学习等。我们需要发展谱系化的数据高效的建模和学习方法。

语音识别和对话技术的现状,基本上也是目前人工智能技术的一个现状。对于具有充分的先验或者数据、确定性好、完全信息、单领域单任务的问题解决得比较好,常称为弱人工智能。对于先验与数据匮乏、不确定性大、不完全信息,动态环境以及多领域多任务问题解决得不好,常称为强人工智能,是未来的发展方向。
强人工智能是一个很宏大的命题,切入的路径和抓手仁者见仁智者见智。我们比较一下下围棋与自然语言理解,先看状态空间的比较,比较一下围棋的一个盘面和一个有着361个字符的小篇章。围棋的状态空间是3的361次方,因为围棋盘面“纵横十九道”有19×19=361个交叉点,每一个交叉点有黑子、白子或空着三种情况,361个交叉点,就有3的361次方那么多可能的变化。小篇章的状态空间是29的361次方,因为每个位置可能出现26个英文字母,加上空格、逗号、句号。不难看出,自然语言理解比下围棋的状态空间大小高出几十个数量级。另外,下围棋有着明确的规则、完全信息、单任务,而人机对话所遇到的,像多噪声、多口音、多语种、多场景、多知识、低资源,正好汇集和对应了强人工智能的典型特点,我们不一一分析,可以认为,人机对话是探索强人工智能的一个重要抓手。
强人工智能的强,某种意义上是讲指泛化性强,在不确定性大、不完全信息、多领域多任务,这么多的变化和不利的情况下的独立测试性能好,那就是泛化性强。我们希望通过建设强泛化人机对话,作为探索强人工智能的重要抓手,迈向强人工智能。

首先介绍基于条件随机场的数据高效端到端语音识别(CTC-CRF)。这个工作发表在ICASSP 2019的口头报告,以及INTERSPEECH 2020。下面介绍该工作的研究动机,相关工作,模型和方法本身,实验结果以及小结。

面向强泛化,面向数据高效,我们在语音识别架构上的一个考虑就是适度模块化,不追求过度的端到端,而是保留声学模型、语言模型的必要分解,就像在人类听觉和大脑皮层系统中,听和语言阅读是分区的。传统的系统是多阶段,比较臃肿;标准的端到端系统,希望把AM声学模型、LM语言模型一体化,用一个庞大的神经网络来解决,这样需要大量标注语音来训练模型,比较低效,是数据饥饿(Data-hungry)端到端。我们提出的数据高效(Data-efficiency)端到端系统,摒弃了两者的不足,并结合了两者的优势,既简化了流程,又实现了数据高效。

语音识别从基础上来讲,是给定声学观测序列x的条件下,寻找最有可能的标签序列y,有两个基本的问题。一个是如何去表示后验概率p(y|x),一个是如何去处理x和y的对齐,因为语音长度与标注长度一般不等。可以像HMM,CTC,RNN-T那样引入一个状态序列π来实现显式对齐,也可以像注意力Seq2Seq方法去进行隐式对齐。

我们选择引入状态序列π来进行显示对齐,特别地,我们选择CTC拓扑结构。CTC拓扑结构,有许多良好性质,它使用最小的状态单元数来实现从状态序列π恢复出唯一标签序列y,CTC译码通常出现尖峰,从而更利于快速译码。

有了CTC的拓扑结构,我们可以用它来定义一个CRF条件随机场,表示π的后验,从而得到一个CTC-CRF模型。在π的后验的CRF模型中,节点势函数可以由任意形式神经网络来计算,边上势函数是标签的一个n-gram语言模型,这与Kaldi的chain模型有点类似,但也有诸多的不同,不展开讲了。

上图是新模型与历史上模型的一个比较,这里画出了各类模型的概率图模型结构。早期是GMM-HMM模型,后来出现的DNN-HMM模型,它的缺陷是它是多阶段的。CTC模型的缺陷是假设状态πt条件独立性。基于注意力的模型以及基于RNN-T的模型,这两者的一个共同的缺陷是,yi序列或者πt序列建模为有向图序列模型,因而原理上受限于有向图序列模型的标签偏置和曝光偏置问题。
我们提出的CTC-CRF模型与历史上的各类模型有着明显的不同,占据着独特的位置,首次成功地联合神经网络和无向图模型用于语音识别,并在原理上克服了历史上各类模型的不足!








我们在不同规模、不同语种、不同任务的数据集上进行了广泛实验,包括80小时WSJ、300小时Switchboard、1000小时Librispeech、170小时中文AISHELL,还有儿童语音识别,展示了CTC-CRF的优越性。CTC-CRF的模型实现和各类实验代码已经在CAT工具包全部开源,欢迎大家测试和提出建议。

下面介绍基于隐状态对话模型半监督学习的对话系统(LABES),发表在EMNLP2020口头报告,同样是面向数据高效。下面介绍该工作的研究动机,相关工作,模型和方法本身,实验结果以及小结。

在任务型对话系统中,一个很重要的概念是对话状态,它概括了对话历史。对话历史,指的是从对话开始到当前轮,用户和系统之间交互的语句。对话历史概括为对话状态之后,对话状态就包含了截止到当前的所有信息,具体可提炼为一些语义槽取特定的值,比如说,餐馆的类型是泰国菜,餐馆的区域是南部。基于对话状态,系统会调用知识库得到查询的结果,然后做出决策回复。不难看出,对话状态是整个对话系统处理的一个信息瓶颈。目前对话系统的对话状态都需要人工标注,这是一个非常大的缺陷。

如何能减轻目前对话系统过度依赖于对话状态的人工标注,是一个紧迫的问题。注意到,在很多应用场景下,比如说客服领域,我们容易获取无标注的人人对话数据。从直观上不难看出,对话的上下文,也就是对话双方的话,提供了对话状态的线索。用户说“我想在城市的南部找一家泰国餐馆”,坐席回复说“在城市的南部有三家餐馆卖泰国菜”。这时“泰国”和“南部”重复出现,预示着这样的对话状态:用户要找的餐馆类型是泰国,地区是南部。

基于上述思想,我们建立了隐状态对话模型,指的是对话状态在无标注时,视为隐随机变量。在对话模型的以往研究中也有一些隐变量模型的工作,从文献调研可以看到我们首次提出隐状态对话模型,并成功用于半监督学习。


我们提出了相应的模型,发展了基于变分方法的半监督学习方法,具体不展开了。从实验结果看,在保持对话性能的条件下,LABES可以减少50%的标注量。

小结一下,在第二个探索中,我们提出了隐状态对话模型LABES及其半监督学习方法,克服了目前任务型对话系统过度依赖于高成本标注的不足,在多个对话数据集上验证了LABES半监督学习的有效性。我们已开源了LABES代码,欢迎大家测试和提出建议。
接下来,如何能够高效地利用海量无标对话日志和数量有限的有标人人日志,如何能够快速高效地利用低资源数据去进行新场景迁移,是非常有意义的未来探索方向。

下面总结本次报告,我们看到人机语音对话系统是人工智能研究的重要内容和核心技术,当前的挑战是泛化性不够,有两个根因。针对这两个根因,需要重点研究两个手段,一是数据高效,二是数据知识双驱动,两者作为支柱去发展谱系化的强泛化模型和学习方法,走向强泛化,是迈向强人工智能的重要抓手。我们认为只有大胆创新,突破现有技术的边界,人机对话才会真正的发展,为人类社会带来福祉。谢谢大家!
演讲视频:https://www.bilibili.com/video/BV13A411371P/
直播回放:https://www.c114.com.cn/live/CMCCCT2021/
5月26日 9:00-11:40 九天人工智能新技术论坛(基础技术专场)【2:09:25 - 2:32:42】
