Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mtbookv2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
NiuTrans
mtbookv2
Commits
2a122441
Commit
2a122441
authored
Jan 15, 2021
by
曹润柘
Browse files
Options
Browse Files
Download
Plain Diff
合并分支 'master' 到 'caorunzhe'
Master 查看合并请求
!914
parents
03165082
f19e1e86
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
2 行增加
和
29 行删除
+2
-29
Chapter17/chapter17.tex
+2
-29
没有找到文件。
Chapter17/chapter17.tex
查看文件 @
2a122441
...
...
@@ -85,9 +85,7 @@
\end{figure}
%----------------------------------------------------------------------------------------------------
\parinterval
经过了上述的预处理操作,可以得到音频对应的帧序列,之后通过不同的操作来提取不同类型的声学特征。常用的声学特征包括
{
\small\bfnew
{
Mel频率倒谱系数
}}
\index
{
Mel频率倒谱系数
}
(Mel-frequency Cepstral Coefficient,MFCC)
\index
{
Mel-Frequency Cepstral Coefficient
}
、
{
\small\bfnew
{
感知线性预测系数
}}
\index
{
感知线性预测系数
}
(Perceptual Lienar Predictive,PLP)
\index
{
Perceptual Lienar Predictive
}
、
{
\small\bfnew
{
滤波器组
}}
\index
{
滤波器组
}
(Filter-bank,Fbank)
\index
{
Filter-bank
}
等。MFCC、PLP和Fbank特征都需要对预处理后的音频做
{
\small\bfnew
{
短时傅里叶变换
}}
\index
{
短时傅里叶变换
}
(Short-time Fourier Tranform,STFT)
\index
{
Short-time Fourier Tranform
}
,得到具有规律的线性分辨率。之后再经过特定的操作,得到各种声学特征。不同声学特征的特点是不同的,MFCC去相关性较好,PLP抗噪性强,FBank可以保留更多的语音原始特征。在语音翻译中,比较常用的声学特征为FBank或MFCC
\upcite
{
洪青阳2020语音识别原理与应用
}
。
\parinterval
实际上,提取到的声学特征可以类比于计算机视觉中的像素特征,或者自然语言处理中的词嵌入表示。不同之处在于,声学特征更加复杂多变,可能存在着较多的噪声和冗余信息。此外,相比对应的文字序列,音频提取到的特征序列长度要大十倍以上。比如,人类正常交流中每秒钟一般可以说2-3个字,而每秒钟的语音可以提取得到100帧的特征序列。巨大的长度比差异也为声学特征建模带来了挑战。
\parinterval
经过了上述的预处理操作,可以得到音频对应的帧序列,之后通过不同的操作来提取不同类型的声学特征。在语音翻译中,比较常用的声学特征为
{
\small\bfnew
{
滤波器组
}}
\index
{
滤波器组
}
(Filter-bank,Fbank)
\index
{
Filter-bank
}
和
{
\small\bfnew
{
Mel频率倒谱系数
}}
\index
{
Mel频率倒谱系数
}
(Mel-frequency Cepstral Coefficient,MFCC)
\upcite
{
洪青阳2020语音识别原理与应用
}
。实际上,提取到的声学特征可以类比于计算机视觉中的像素特征,或者自然语言处理中的词嵌入表示。不同之处在于,声学特征更加复杂多变,可能存在着较多的噪声和冗余信息。此外,相比对应的文字序列,音频提取到的特征序列长度要大十倍以上。比如,人类正常交流中每秒钟一般可以说2-3个字,而每秒钟的语音可以提取得到100帧的特征序列。巨大的长度比差异也为声学特征建模带来了挑战。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
...
...
@@ -109,12 +107,6 @@
\parinterval
由于声学特征提取在上一节中已经进行了描述,而且文本翻译可以直接使用本书介绍的统计机器翻译或者神经机器翻译方法。因此下面简要介绍一下语音识别模型,以便读者对级联式语音翻译系统有一个完整的认识。其中的部分概念在后续介绍的端到端语言翻译中也会有所涉及。
%----------------------------------------------------------------------------------------
% NEW SUBSUB-SECTION
%----------------------------------------------------------------------------------------
\subsubsection
{
1. 语音识别方法
}
\parinterval
传统的语音识别模型和统计机器翻译相似,需要利用声学模型、语言模型和发音词典联合进行识别,系统较为复杂
\upcite
{
DBLP:journals/ftsig/GalesY07,DBLP:journals/taslp/MohamedDH12,DBLP:journals/spm/X12a
}
。而近些年来,随着神经网络的发展,基于神经网络的端到端语音识别模型逐渐受到关注,大大简化了训练流程
\upcite
{
DBLP:conf/nips/ChorowskiBSCB15,DBLP:conf/icassp/ChanJLV16
}
。目前的端到端语音识别模型主要基于序列到序列结构,编码器根据输入的声学特征进一步提取高级特征,解码器根据编码器提取的特征识别对应的文本。在后文中即将介绍的端到端语音翻译模型也是基于十分相似的结构。因此,从某种意义上说,语音识别和翻译所使用的端到端方法与神经机器翻译是一致的。
\parinterval
语音识别目前广泛使用基于Transformer的模型结构(见
{
\chaptertwelve
}
),如图
\ref
{
fig:17-5
}
所示。可以看出,相比文本翻译,模型结构上唯一的区别在于编码器的输入为声学特征,以及编码器底层会使用额外的卷积层来减小输入序列的长度。这是由于语音对应的特征序列过长,在计算注意力模型的时候,会占用大量的内存/显存,并增加训练时间。因此,一个常用的做法是在语音特征上进行两层步长为2的卷积操作,从而将输入序列的长度缩小为之前的1/4。通过大量的语音-标注平行数据对模型进行训练,可以得到高质量的语音识别模型。
...
...
@@ -128,26 +120,7 @@
\end{figure}
%----------------------------------------------------------------------------------------------------
%----------------------------------------------------------------------------------------
% NEW SUBSUB-SECTION
%----------------------------------------------------------------------------------------
\subsubsection
{
2. 语音识别结果的表示
}
\parinterval
级联语音翻译模型利用翻译模型将语音识别结果翻译为目标语言文本,但存在的一个问题是语音识别模型只输出One-best,其中可能存在一些识别错误,这些错误在翻译过程中会被放大,也就是错误传播问题。传统级联语音模型的一个主要方向是丰富语音识别模型的预测结果,为翻译模型提供更多的信息,具体做法是在语音识别模型中,声学模型解码得到词格来取代One-best 识别结果。词格是一种有向无环图,包含单个起点和终点,图中的每条边记录了每个词和对应的转移概率,如图
\ref
{
fig:17-6
}
所示。
%----------------------------------------------------------------------------------------------------
\begin{figure}
[htp]
\centering
\input
{
./Chapter17/Figures/figure-word-lattice.tex
}
\caption
{
词格示例
}
\label
{
fig:17-6
}
\end{figure}
%----------------------------------------------------------------------------------------------------
\parinterval
可以看出,词格可以保存多条搜索路径,路径中保存了输入序列的时间信息以及解码过程。翻译模型基于词格进行翻译,可以降低语音识别模型带来的误差
\upcite
{
DBLP:conf/acl/ZhangGCF19,DBLP:conf/acl/SperberNPW19
}
。但在端到端语音识别模型中,一般使用基于束搜索的方法进行解码,因为解码序列的长度与输入序列并不匹配,相比传统声学模型解码丢失了语音的时间信息。因此这种基于词格的方法主要集中在传统语音识别系统上。
\parinterval
为了降低错误传播问题带来的影响,一种思路是通过一个后处理模型修正识别结果中的错误,再送给文本翻译模型进行翻译。也可以进一步对文本做
{
\small\bfnew
{
顺滑
}}
\index
{
顺滑
}
(Disfluency Detection
\index
{
Disfluency Detection
}
)处理,使得送给翻译系统的文本更加干净、流畅,比如除去一些导致停顿的语气词。这一做法在工业界得到了广泛应用,但由于每个模型只能串行地计算,也会带来额外的计算代价以及运算时间。另外一种思路是训练更加健壮的文本翻译模型,使其可以处理输入中存在的噪声或误差
\upcite
{
DBLP:conf/acl/LiuTMCZ18
}
。
\parinterval
为了降低语音识别的错误对下游系统的影响,通常也会用词格来取代One-best语音识别结果。另一种思路是通过一个后处理模型修正识别结果中的错误,再送给文本翻译模型进行翻译。也可以进一步对文本做
{
\small\bfnew
{
顺滑
}}
\index
{
顺滑
}
(Disfluency Detection
\index
{
Disfluency Detection
}
)处理,使得送给翻译系统的文本更加干净、流畅,比如除去一些导致停顿的语气词。这一做法在工业界得到了广泛应用,但由于每个模型只能串行地计算,也会带来额外的计算代价以及运算时间。另外一种思路是训练更加健壮的文本翻译模型,使其可以处理输入中存在的噪声或误差
\upcite
{
DBLP:conf/acl/LiuTMCZ18
}
。
%----------------------------------------------------------------------------------------
% NEW SUB-SECTION
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论