CIPS 2016 笔记整理
《中文信息处理发展报告(2016)》是中国中文信息学会召集专家对本领域学科方向和前沿技术的一次梳理,官方定位是深度科普,旨在向政府、企业、媒体等对中文 信息处理感兴趣的人士简要介绍相关领域的基本概念和应用方向,向高校、科研院所和 高技术企业中从事相关工作的专业人士介绍相关领域的前沿技术和发展趋势。
本专栏主要是针对《中文信息处理发展报告(2016)》做的笔记知识整理,方便日后查看。
注意:本笔记不涉及任何代码以及原理分析研究探讨,主要是对NLP的研究进展、现状以及发展趋势有一个清晰的了解,方便以后更加深入的研究。
ps:我已将思维导图以及Markdown版本、pdf版本上传到我的GitHub中,有需要的可以自行查看:
https://github.com/changliang5811/CIPS-2016.git
传送门:
CIPS 2016(1-3章)——词法、句法、语义、语篇分析
CIPS 2016(4-5章)——语言认知模型、语言表示以及深度学习
CIPS 2016(6-7章)——知识图谱、文本分类与聚类
CIPS 2016(8-10章)——信息抽取、情感分析&自动文摘
CIPS 2016(11-12章)——信息检索、信息推荐与过滤
CIPS 2016(13-14章)——自动问答、机器翻译
CIPS 2016(15章)——社会媒体处理
文章目录
- CIPS 2016 笔记整理
- 前言
- Chapter 16 语音技术
-
- 语音合成(Speech Synthesis)
-
- 语音识别 (Automatic Speech Recognition, ASR)
-
- 研究1-语音特征抽取:即语音信号的表示
- 研究2-模型构建:语音信号和语言知识建模
- 研究3-解码:基于模型的推理
- 声学模型技术(主要技术)
- 其他技术:语言模型和解码器
- 发展趋势
- 说话人识别(Speaker Recognition)
-
- Q1.特征提取与模式划分问题
- Q2.鲁棒性问题
- Q3.防攻击(Anti-Spoofing)问题
- 研究重点1:特征提取
- 研究重点2:模式划分和模式识别
- 发展趋势
- 总结
- 彩蛋
前言
语音合成(Speech Synthesis),也称为文语转换(Text-to-Speech, TTS,它是将任意的输入文本转换成自然流畅的语音输出。语音合成涉及到人工智能、心理学、声学、语言学、数字信号处理、计算机科学等多个学科技术,是信息处理领域中的一项前沿技术。随着智能手机、MP3、PDA 等与我们生活密切相关的媒介的大量涌现,语音合成的应用也在逐渐向娱乐、语音教学、康复治疗等领域深入。可以说语音合成正在影响着人们生活的方方面面。
语音识别 (Automatic Speech Recognition, ASR)是指利用计算机实现从语音到文字自动转换的任务。在实际应用中,语音识别通常与自然语言理解、自然语言生成和语音合成等技术结合在一起,提供一个基于语音的自然流畅的人机交互方法。语音识别研究具有重要的科学价值和社会价值。语音信号是典型的局部稳态时间序列,研究这一信号的建模方法具有普遍意义。语音交互技术中,语音识别是至关重要的一环:只有能“听懂”用户的输入,系统才能做出合理的反应。
说话人识别(Speaker Recognition),或者称为声纹识别(Voiceprint Recognition, VPR),是根据语音中所包含的说话人个性信息,利用计算机以及现在的信息识别技术,自动鉴别说话人身份的一种生物特征识别技术。与其他生物特征识别技术如指纹识别、掌纹识别、虹膜识别等一样,说话人识别有不会遗忘、无须记忆的优点。在移动互联网高速发展的现代,通过电话和移动设备进行远程的身份认证成为需要,声纹识别技术以其特有的形式,成为最方便的远程生物特征认证方式之一。声纹识别技术在军事、国防、政府、金融等多个领域都已得到广泛应用。
Chapter 16 语音技术
(研究进展、现状&趋势)
注:语音技术包含了很广泛的内涵,涉及语音合成、语音识别、说话人识别、语音增强、语音翻译等等。本部分仅介绍语音合成、语音识别和说话人识别三个部分的研究进展、现状和未来发展趋势。
语音合成(Speech Synthesis)
也称为文语转换(Text-to-Speech, TTS),它是将任意的输入文本转换成自然流畅的语音输出
-
step 1:文本分析
-
对输入的任意文本进行分析,输出尽可能多的语言学信息,如拼音、节奏等,为后端的语音合成器提供必要的信息
-
对于汉语语音合成系统,文本分析的处理流程包括:文本预处理、文本规范化、自动分词、词性标注、字音转换(多音字消歧)、韵律预测等。
-
文本预处理包括删除无效符号,断句,内码转换等。
-
文本规范化的任务就是将文本中的这些特殊字符识别出来,并转化为一种规范化的表达。
-
分词是指将待合成的整句以词为单位划分为单元序列,以便后续考虑词性标注、韵律边界标注等。
-
词性标注也很重要,因为词性可能影响字或词的发音方式。
-
字音转换的任务是将待合成的文字序列转换为对应的拼音序列,即告诉后端合成器应该读什么音。由于汉字存在多音字,因此解决多音字的消歧问题是一个关键问题。
-
step 2:韵律处理
- 韵律处理是文本分析(step 1)的目的所在。停顿、时长的预测,以及基频曲线的生成都是基于文本分析的结果。
- 韵律即是实际语流中的抑扬顿挫和轻重缓急,例如重音的位置分布及其等级差异,韵律边界的位置分布及其等级差异,语调的基本骨架及其跟声调、节奏和重音的关系等等。
- 韵律建模模块负责为待合成语音生成合适的基频曲线、音长信息、静音长度信息等。由于这些特征需要通过不止一个音段上的特征变化得以实现,通常也称之为超音段特征。
- 从听者的角度来看,与韵律相关的参数包括:基频、时长、停顿和能量。韵律模型就是利用文本分析的结果,来预测这四个参数。
-
step 3:声学处理
- 根据文本分析和韵律处理提供的信息来生成自然语音波形
- 法1:基于时域波形的拼接合成方法。声学处理模块根据韵律处理模块提供的基频、时长、能量和节奏等信息在大规模语料库中挑选最合适的语音单元,然后通过拼接算法生成自然语音波形
- 法2:基于语音参数的合成方法。声学处理模块的主要任务是根据韵律和文本信息的指导来得到语音参数,如谱参数、基频等,然后通过语音参数合成器来生成自然语音波形
技术方法
所使用的技术方法,从早期的共振峰合成,逐步发展为波形拼接合成和统计参数语音合成,再发展到混合语音合成
发展趋势
-
基于端到端的语音合成方法研究
- 当前主流的语音合成框架将不同模块(文本分析、韵律处理和声学处理)分别进行处理,一方面前一阶段的误差会影响到后一阶段的建模,另一方面这种框架并不符合人对言语感知和生成的过程
- 基于端到端的建模方法在机器翻译、语音识别、目标跟踪等不同领域得到成功应用,这种建模思想也适合于语音合成处理
-
面向自然口语的语音合成
- 当前的语音合成系统针对朗读体内容能够合成出高质量的语音,但是针对更具表现力的自然口语,合成效果不尽人意
- 提高自然口语语音合成的表现力,可以有效的提升语音交互系统的体验感,极大的拓宽语音合成的应用场景
-
多说话人、多语言语音合成问题
-
融入发音机理和听觉感知的语音合成
语音识别 (Automatic Speech Recognition, ASR)
利用计算机实现从语音到文字自动转换的任务,早期主要采用基于信号处理和模式识别方法,目前则和机器学习、深度学习等结合的研究较多。以上阶段上基本上是以声学模型的发展而划分的。
研究1-语音特征抽取:即语音信号的表示
- 难点:一段看似简单的语音信号,其中包含了说话人、发音内容、信道特征、口音方言等大量信息,并且这些底层信息互相组合在一起,又表达了如情绪变化、语法语义、暗示内涵等丰富的高层信息,仅有少量是和语音识别相关的
- 语音特征抽取即是在原始语音信号中提取出与语音识别最相关的信息,滤除其它无关信息。
- 原则:尽量保留对发音内容的区分性,同时提高对其它信息变量的鲁棒性。
研究2-模型构建:语音信号和语言知识建模
-
声学建模
- 声学建模是对声音信号(语音特征)的特性进行抽象化
- 最近几年,深度神经网络(DNN)和各种异构神经网络成为声学模型的主流结构。
- 关键问题:描述语音信号的短时平稳性,领域自适应,噪音补偿,内容区分,数据量少,半标注或无标注数据的利用等
-
语言建模
- 对语言中的词语搭配关系进行归纳,抽象成概率模型,这一模型在解码过程中对解码空间形成约束,不仅减小计算量,而且可以提高解码精度
- 方法:N元文法 (n-gram),RNN等
- 主要问题:如何对低频词进行平滑。平滑方法借用高频词或相似词的统计量,提高对低频词概率估计的准确性。
- 其他研究问题:字母、字词短语主题等多层次建模;领域自适应;噪声数据的有效利用;训练效率的提升
研究3-解码:基于模型的推理
- 利用语音模型和语言模型中积累的知识,对语音信号序列进行推理,从而得到相应语音内容的过程
- 早期的解码器一般为动态解码,即在开始解码前,将各种知识源以独立模块形式加载到内存中,动态构造解码图。
- 现代语音识别系统多采用静态解码,即将各种知识源统一表达成有限状态转移机(FST),并将各层次的 FST 嵌套组合在一起,形成解码图。
- 解码时,一般采用 Viterbi 算法在解码图中进行路径搜索。为加快搜索速度,一般对搜索路径进行剪枝,保留最有希望的路径,即束搜索(beam search)。
声学模型技术(主要技术)
需注意的是,语音识别技术包括特征提取、声学建模、语言建模、解码等几个方面,其中声学建模的发展最为显著。本节主要关注声学模型技术(特征提取在深度学习方法中成为声学模型的一部分)
-
概率模型方法
- 在描述时序动态性上,认为一个发音单元(词或音素)包括若干状态,同一状态内部的发音特性保持相对稳定,不同状态间的转移具有随机性;在描述发音特征的不确定性上,通过概率模型描述某一发音状态内部的特征分布。
- 主流方法- HMM/GMM 模型:其中 HMM 用来描述短时平稳的动态性,GMM 用来描述 HMM 每一状态内部的发音特征。
- 改进:HMM/NN 混合模型方法、结合上下文信息的动态贝叶斯方法、区分性训练方法、自适应训练方法
-
深度学习方法
- 深度学习技术已经成为语音识别中的主流方法,基于深度模型的语音识别系统不论是识别率还是鲁棒性都远好于基于 HMM/GMM 的系统
- 基于 RNN 结构,音素内部的状态变化不再用 HMM 来描述,而是依赖 RNN/LSTM 内部的状态累积
- 比如DeepSpeech2结构。该结构从频谱开始,通过 9 层 CNN 学习发音特征,通过 7 层 RNN 学习信号的静态和动态特性,最后通过 1 层全连接网络输出音素(或其它语音单元)的后验概率。RNN 层可采用 GRU 或 LSTM 结构,并可采用双向结构。训练时以 CTC(Connectionist Temporal Classification,不知道输入输出是否对齐的情况,避开输入与输出手动对齐的一种方式) 为目标,同时加入 BN 等控制梯度的方法,保证训练的收敛。
其他技术:语言模型和解码器
-
语言模型
- 基于传统的 n-gram 模型加上各种平滑算法
- 目前:基于深度神经网络的语言模型(NNLM)
- 随着训练速度、新词处理、应用框架等问题的解决,NNLM 应该很快会取代 n-gram 成为主流,甚至成为端到端网络的一部分
-
解码器(流行:基于 FST 的静态解码方法)
- 预先将 LM、词表、决策树、HMM 模型等各层次知识统一表达成 FST,并将这些 FST 编译成一个“端到端”的解码图,其中输入为音素状态,输出为词。
- 在 CTC(端到端)系统中,解码图仅需包括 LM
和词表,因而极大简化了构图流程。基于这一解码图,应用动态规划算法(如 Viterbi)即可实现解码。
- 优点:不需考虑众多各异化的资源,极大简化了解码器的结构和工作流程,而且可以对解码图进行确定化、最小化等离线优化,提高解码效率
- 缺点:编译后的解码图难以进行动态更新,如增加新词等(改进:嵌套子图算法和相似对方法等)
发展趋势
-
远端语音识别
- 远端声音包含更多背景噪音,且有回声干扰
- 当前远端语音识别多依赖各种麦克风阵列技术,包括各种 beamforming 技术和最近提出的基于 DNN 的信道融合技术,另外还有分布式麦克风技术
-
多语种、小语言、方言识别
-
多任务协同学习
- 语音信号中包括说话内容、说话人、情绪 、信道等各种信息,这些信息混杂在同一信号中,在不同任务中的重要性各有不同
- 语音识别希望只保留说话内容而去掉说话人信息,反之说话人识别希望保留说话人信息而去掉说话内容。如果将这两个任务放在一起协同学习,让每一任务可利用其它任务的信息,则有望同时提高各个任务的性能
-
语音-语义协同学习
- 语音识别的最终任务是让机器能理解人的语义,而非简单转换成文字
- 语音识别最终要包含语义理解模块。如何将语音识别和语义理解二者结合是一个重要的研究内容
-
神经网络结构学习
- 当前深度学习越来越依赖计算图模型(computing graph)架构
- 结构学习方法:即将网络结构也作为参数的一部分进行学习,从而通过数据驱动得到优化网络
-
神经网络持续学习
- 对持续得到的新数据进行连续学习,使得模型可以持续更新,逐渐忘记以前的环境,适应到新环境(如 AdaGrad)
说话人识别(Speaker Recognition)
或称为声纹识别(Voiceprint Recognition, VPR),是根据语音中所包含的说话人个性信息,利用计算机以及现在的信息识别技术,自动鉴别说话人身份的一种生物特征识别技术。
目的:从语音中提取具有说话人表征性的特征,建立有效的模型和系统,实现自动精准的说话人鉴别
说话人识别根据实际应用的范畴可以分为说话人辨认(Speaker Identification)(多对一,从候选人中选出最符合说话人)和说话人确认(Speaker Verification)(一对一,二次确认所选择的人是否是说话人)两种;根据实际应用场景,说话人识别还包括说话人检测(Speaker Detection)和说话人追踪(Speaker Tracking)等任务
Q1.特征提取与模式划分问题
- 如何从语音中提取鲁棒的说话人特征来表征说话人。不同说话人之间区别要大,说话人自身区别要小
- 常用方法:采用声学特征识别
- 传统AI,如HMM,NN等模型大多是纯粹的模式识别方法,并没有考虑说话人识别应用本身的某些特点,如何处理语音这个特定信号是一个重要问题
Q2.鲁棒性问题
- 噪音鲁棒性(白噪声、背景噪声等干扰)、跨信道鲁棒性(信道失配问题)、说话人自身状况及时变鲁棒性(说话人自身的问题,如年龄、身体状况、说话时感情等)、短语音鲁棒性(短语音包含说话人有用信息较少)、其他(编码问题、多说话人、语言问题)
Q3.防攻击(Anti-Spoofing)问题
- 目的:检测出利用一切手段,冒充真实说话人而闯入识别系统的情形,并将其拒绝。
- 主要场景:声音模仿(未能从根本上改变声道的形状和特性,因此声音模仿可以骗过人耳,而对声纹识别系统的影响不大)、语音合成、声音转换、录音重放(重放的语音是目标说话人自身的语音,因此闯入率较高,是目前所关注的问题)等
研究重点1:特征提取
-
怎样从语音信号中提取说话人的鉴别性信息是说话人识别的重要问题
-
理想情况:仅利用物理上可以定量测定的参数来表征说话人,通过抑制说话人本身的变化(情感差异、习惯差异、生理差异等),并突出说话人之间的差异来区分不同的说话人
-
实际情况:由于语音信号的复杂性,其中语音识别时所需要的语义特征和说话人的个性特征以难以定量的复杂形式交织在一起。如何从原始语音信号中提取说话人的特征信息仍然是一个悬而未决的问题
-
因此说话人识别所采用的还是语音识别中采用的特征,这些特征也能够间接的提供有效的说话人区分性信息。
-
首先对语音信号分帧处理,并利用窗函数减少截断处理的 Gibbs 效应。利用高频预加重提升高频信息,然后对每帧语音信号进行频谱处理,得到不同的特征参数
-
常使用的特征参数
- 线性预测倒谱系数(Linear predictive cepstrum coefficient, LPCC)
- Mel 频率倒谱系数(Mel-Frequency cepstrum coefficient, MFCC)
- 感知线性预测(Perceptual linear predictive, PLP)
- 在说话人识别中,MFCC 比 LPCC 和 PLP 的识别性能更佳,是目前应用最广的特征参数。
研究重点2:模式划分和模式识别
-
不同的模式建立和匹配方法对应不同的说话人识别方法
-
模板匹配法
- 从说话人的语音信号中提取出相应的特征矢量,作为可以充分表征说话人特性的参考模板,依照训练集和测试集的相似匹配对比给出结果
- 缺点:对于说话人模型的存储量需求较大,当说话人规模较大时,识别效率会降低
-
GMM-UBM 框架
- 高斯混合模型-通用背景模型(Gaussian mixture model-Universal background model, GMM-UBM)
- 依赖于一个充分训练的通用背景模型(UBM),这个模型通常使用大量的说话人语音训练得到,用于代表一个说话人无关的高斯混合模型
- 每一个注册登录的说话人则用一个与此说话人相关的高斯混合模型(GMM)来表示,说话人模型一般通过该说话人的训练语音在通用背景模型上通过最大后验概率估计(Maximum a posterior, MAP)得到
- 但是由于训练语音长度有限,不能对整个音素空间进行覆盖。因此在GMM-UBM 的框架下,训练语音能够覆盖的音素空间采用说话人训练语音建模,在训练语音不能覆盖的音素空间采用 UBM 模型近似表示,从而可以减小测试语音与训练语音不同带来的影响,提高识别率。
- 缺点:通常很难收集到足够的信道匹配数据来训练一个完全一致的 UBM
-
支持向量机的识别方法
- SVM 的基本思想是将输入空间的向量映射到高维扩展空间,然后再高维扩展空间中采用分类方法构造最优超平面分界面,来解决模式划分问题
- 早期:采用的是基于帧的方法,把每帧特征向量作为 SVM 的输入进行识别,然后统计测试语音中各帧的打分,得到最终的判决结果
- 后期:将GMM-Supervector 作为 SVM 说话人识别系统的输入特征,并采用线性 K-L 核的 SVM 进行识别
-
因子分析和i-vector模型
-
联合因子分析(JFA)
- 假设说话人变化和信道变化是互相独立的随机变量,限定其各自的变化都是在一个低维度的子空间上,并且满足标准的正态分布。
- 利用因子分析方法可以从语音信号中推导出信道因子,从而分离出语音信号的说话人表示。
- 痛点:一段语音中所包含的说话人因子和会话因子很难仅通过 JFA 的方法完全分离开来,分离后的会话因子中仍然包含一部分说话人信息
-
i-vector 模型
-
采用单一的“全变量因子”同时表示说话人信息和会话信息,使得在计算后验概率时可以保留更多说话人信息
-
说话人模型是通过本征音适应(Eigenvoice adaptation)得到的。估计特定说话人的语音在全变量子空间间(Total variability space)上的后验分布,以其均值向量作为该特定说话人的i-vector。
-
I-vector 模型框架下,说话人模型和测试语音都使用 i-vector 表示,系统采用i-vector 之间的余弦夹角作为说话人相似性的度量,以此做出识别判决。
-
需要一些区分性的方法来减少和抑制会话等因素的变化,增强说话人的特征信息
- 原因:I-vector极大的保留了更多的说话人信息,而同时带来的缺点是会话等信息的混合引入,导致了说话人区分性能力的下降
- 改进1:类内协方差归一化(WCCN)方法
- 改进2:概率线性区分性分析(PLDA)
-
人工神经网络
- 通过结合语音识别中基于音素状态的 DNN 模型和 i-vector 模型来对说话人空间建模,使得说话人识别取得了较大的性能提升
- 基于说话人标签的 DNN 模型可以提取Bottleneck 特征代替原始的声学特征参数,从而得到更有利于说话人识别的特征表示
发展趋势
-
寻求更具说话人区分性的特征
-
提升说话人识别系统防攻击能力
-
多生物特征融合技术
- 一些安全性较高的应用场景内,说话人识别作为单一的身份认证方式还很难成为现实
- 例如,目前在远程身份认证中,出现了一些以说话人识别和人脸识别同时认证的应用方案,该方案在一定程度上增强了系统的安全性
总结
纵观近年来语音合成研发的趋势和现状,我们有理由相信,随着机器学习、语音信号处理、自然语言处理等相关技术的快速发展,语音合成这一人工智能领域中具有挑战的问题将在不久的将来得到相当程度的解决,同时语音合成系统的产业化应用前景将更加广阔。
语音识别技术已经逐渐走向成熟,在特定领域、特定环境下已经达到实用化程度。然而,在自由发音、高噪声、同时发音、远端声场等环境下,机器识别的性能还远远不能让人满意。今天,语音识别技术已经广泛应用在移动设备、车载设备、机器人等场景,在搜索、操控、导航、休闲娱乐等众多领域发挥了越来越重要的作用。随着技术越来越成熟稳定,我们相信一个以语音作为主要交互方式的人机界面新时代将很快到来。
从说话人识别研究的现状和发展态势可以看出,该技术已经逐步从实验室研究阶段发展成一项较为成熟的现代应用技术。现阶段主流说话人识别系统的系统性能、系统鲁棒性等都已经能够满足一些基本的应用场景需要。然而,说话人识别技术在研究向应用产品转化的过程中还有许多亟待解决的问题。
彩蛋
Next blog:文字识别(Chapter 17)