隐马尔可夫模型中的“向量”是什么意思?

信息处理 语音识别
2022-01-05 20:58:10

我知道隐马尔可夫模型(HMM)用于语音识别并在一定程度上理解它。但是,我不知道输入(语音)如何“转换”为稍后在 HMM 中使用的向量。

如何从声音输入中获取向量?这个向量是人类可读的吗?

2个回答

使用 HTK(或任何其他工具)进行语音识别的方式类似于在大脑中进行语音识别的方式。当您听到一个单词时,您会立即将其分解为其组成的音素,然后将这些音素与这些音素的内部心理“模型”进行比较这些“模型”是在多年聆听语音的基础上构建的,使您能够区分听起来相似的句子,例如“如何破坏漂亮的海滩”和“如何识别语音”。使用 HTK 或任何其他基于模型的方案的语音识别以类似的方式工作。在这里,只需几个步骤,您就是这样做的:

  1. 您获取输入语音信号并将其转换为特征向量表示。
  2. 提取大量句子并对每个句子执行第 1 步。
  3. 使用步骤 2 中的特征向量为句子中的每个音素/单词建立一个统计模型(音素/单词的数量有限,而表达它们的方式却是无限的——因此您可以通过建模来减少未知数)。
  4. 当一个新词出现时,将其分解成音素并与每个已知模型进行比较。概率最高的电话序列获胜!

上述所有步骤对于成功完成任何语音识别任务都至关重要。通过将声音分解为其特征向量,您将其带入模型空间,为其提供一种表示,使其比其他表示(例如时间幅度表示)更适合制作模型。大多数此类表示位于频率或时频域中。最流行的此类表示之一是MFCC(梅尔频率倒谱系数). 在某种程度上,这种技术通过一组滤波器模拟了人类的听觉反应。使用这组滤波器分解输入信号,这些滤波器的中心频率具有对数间隔。然后使用任何一个句子(例如)的 MFCC 系数来对构成该句子的每个音素进行建模。例如,考虑,

句子:你好。语音描述:hh aa ey
当您将 MFCC 系数输入 HTK 时,它会将句子的一部分的 MFCC 系数与 hh 相关联,另一部分与 aa 相关联,依此类推。当这样重复多次时,手机的模型就开始形成了。

HTK 使用该工具HCopy将输入句子转换为其特征向量表示。MFCC 也有许多“风味”(E_D_A 或 E_D_A_Z 表示)。HCopy阅读htkbook 中 的文档是个好主意。

.mfcMFCC 系数以 HTK为扩展名写入文件。使用任何一种文本编辑器都无法读取该文件,因为(我认为)系数是用二进制编写的。您可以尝试读取文件C

HTH。

每个波都可以分解为许多其他波的加法。使用傅里叶变换,您可以将波分析为其频率分量。然后可以将这些频率分量的幅度用作矢量。这是有关执行此操作的 Sphinx 类的文档,这是对傅立叶变换一个很好的视觉解释。