拿到10ms的语音数据后,常会利用一定大小的window将语音数据 切分成 若干份(在语音识别中,由window生成的一份语音片段被称为frame),每份语音片段在 通过 特定的数据转换方式(如:MFCC) 转成 feature,最后 在所有这些转化后的features拼接起来 作为 最终输入model 的 input。
需要注意的是,window在移动时,其移动步长常小于 length of window,因此,有window切分的语音片段,其信息大量冗余,这也在一定程度上 加快了数据的处理速度。
给定一个语音片段,直接将其内容转为文本信息,据此,获得一个 train sample。
一,语音识别模型的 输入 类型1,直接将语音信号转为数值 作为 model 的 feature 输入模型
2,在 deeplearning 流行以前,常将 MFCC 作为 model 的 feature 输入模型,其dimension为39
3,deeplearning 得到极大发展以后,常将 filter bank output 作为 model 的 feature 输入模型,其dimension为80
由原始语音信号 到 filter bank 到 最复杂的feature MFCC 的转化 过程如下:
使用Phoneme作为output,需要额外建立一个 词典,将 word 和 phoneme 对应起来,从而能根据 输出的 Phonemes 得到 对应的 word。
值得一提的是,phoneme 需要语言学的知识,phoneme词典 并没有统一的规定,因此,不同的学者 产生的 词典 不一,在使用过程中难以统一。
以英文为例,其组成单元为:26个英文字母,空格,标点符号。以中文为例,其组成单元为 方块字。
Grapheme存在的一个问题是:同音不同字,以英文为例,发音为/k/的字母 可能为 c 也可能 为 k,需要model 有很强的辨识能力才能准确辩时出来。
其优点在于,grapheme无需创建词典,只需将output串起来 即可得到 词。
对于英文来讲,由于不同的词之间会以空格分开,因此,分词很easy,但是,在外文中,word是可以被创造的,这也意味着 vocabulary 可能需要无限延长。
对于中文来讲,词之间没有明显的分割标志,outputs 还需 近一些 分词工具 才能得到 分词结果。
unbreakable 可以由3个morpheme组成:un , break, able
rekillable 可以由3个morpheme组成:re, kill, able
Morpheme可以通过2种方式获得:
1)由 语言学家 给出;
2)通过 统计的方式,将那些高频出现的 pattern 作为 morpheme,但是,这种结果搜集的morpheme势必会含有一些噪音。 5,Bytes:可以使用 bytes作为输出,最后将所有bytes串起来,对应到相应的vocabulary 去转为 word。
由于在计算机中,无论是 中文,英文,还是其他外文,都对应着 一串 bytes sequence(utf8),采用这种形式训练模型,可以实现真正的 language independent!
在2019年时,上述output使用情况如下表所示:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)