NLP基础知识之语音识别

Posted 今天学习算法了吗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NLP基础知识之语音识别相关的知识,希望对你有一定的参考价值。

1. 语音识别的输出类别

1)phoneme:输出为发音,比较简单,因为语音跟发音是一一对应的,但是需要一个词汇表,表示发音跟word的对应。

2)Grapheme:字母或者token

3)word:短语,V会很大

4)morpheme:代表含义的最小单位

5)byte:utf-8,适用于任何语言

2. 输入特征:(具体的处理可以看下图,以MFCC为例子,如果不经过DCT,就是目前用的最普遍的fliter bank output) 

3. 那确定了输入以及输出,接下来介绍中间的模型

1)以下的模型都是seq-to-seq模型架构的:

            ⚠️encoder:

         因为语音feature太长了,所以通常要使用down-sampling: 比如下面两个图分别是RNN、CNN和self-attention的模型图,这样输出的hidden就会减少为原来的一半。(这样做还有一个依据,相邻的语音vector其实是比较相近的,因为每次只移动了10ms)

 

        ⚠️attention:

        其常见计算方式: 直接乘法、加法。在transformer面试时可能会问,为什么选择乘法而不是加法计算相似度:虽然加法计算量小,但是求出来的只是中间结果(矩阵),还要再✖️矩阵才能得到标量。

        ⚠️decoder:

        常见的decoder 方法有:1)greedy decoding(可能找不到最好的)2)beam search方法(保留分数最高的两个)3)我感觉如果是label已知,目前大多数训练用的是teacher forcing。

        ⚠️损失函数:交叉上损失函数

        其中C为样本数量,p是label(one-hot),q是预测的概率。其中q的计算公式(softmax)为:即现扩大差距,在进行归一化。

         

因为p是one-hot,会使得最终预测的logits向量中目标类别zi的值会趋于无穷大,使得模型向预测正确与错误标签的logit差值无限增大的方向学习,而过大的logit差值会使模型缺乏适应性,对它的预测过于自信,过拟合,所以有时候会使用label smothing(soft “one-hot”)

 

 

 

 

 

 

以上是关于NLP基础知识之语音识别的主要内容,如果未能解决你的问题,请参考以下文章

数据挖掘干货总结--NLP基础

自然语言处理NLP之文本蕴涵智能问答语音识别对话系统文本分类情感计算

自然语言处理基础知识

人工智能之 NLP 自然语言处理篇

NLP_Stanford课堂语言模型

NLP自然语言处理学习笔记语音识别