Speech recognition 语音识别,字典外的单词

Speech recognition 语音识别,字典外的单词,speech-recognition,Speech Recognition,我用传统的程序进行单词识别。 我正在提取MFCC特征。然后我创建了一本代码书来做矢量量化。在那之后,我训练离散隐马尔可夫模型两个单词:1stWrod,2dWord 到目前为止,我一直在这样进行分类: 通过适当的特征提取和量化,我估计了两个训练模型中新音频片段的概率。我说音频对应于概率最高的类。这给了我很好的结果 但是,任何音频片段都被归类为这些单词中的任何一个,而有时却不是。我不知道该怎么说,这与任何类都不对应。我不确定我是否可以通过使用所有其他数据训练另一个模型来解决这个问题,因为它非常不同,

我用传统的程序进行单词识别。 我正在提取MFCC特征。然后我创建了一本代码书来做矢量量化。在那之后,我训练离散隐马尔可夫模型两个单词:1stWrod,2dWord

到目前为止,我一直在这样进行分类: 通过适当的特征提取和量化,我估计了两个训练模型中新音频片段的概率。我说音频对应于概率最高的类。这给了我很好的结果


但是,任何音频片段都被归类为这些单词中的任何一个,而有时却不是。我不知道该怎么说,这与任何类都不对应。我不确定我是否可以通过使用所有其他数据训练另一个模型来解决这个问题,因为它非常不同,我认为这个模型还不够。

一个非常简单的方法是分数标准化

首先,对于每个单词模型(
W1
W2
),您需要计算一些真实阳性测试实例的可能性。 然后,您可以使用高斯拟合对这些可能性进行建模,计算每个单词模型的平均值和标准偏差。 最后,在检查未知单词
wj
是否属于
W1
W2
时,您只需按如下方式对其分数进行标准化:

对于模型
W1
W2
,其中
LLj
j-th
单词测试实例的对数似然。 下面
-3
中的任何分数意味着特定测试词不能通过规范化过程中使用的模型(W1或W2)正确建模。如果两个标准化分数都小于-3,则测试单词既不能由
W1
也不能由
W2
建模,因此是另一个单词


为了正确估计平均值和标准偏差,您需要为每个模型提供适当数量的真阳性测试词。那么,多少是一个合适的数字,这取决于你的实际数据。

我按照你告诉我的做了,但是出于任何原因,有些声音给出了-Inf,不让我知道平均值。我使用的是Kevin Murphy函数库,但是MATLAB中的内置函数也会出现这种情况。如果对数似然值变为-Inf,则表示您在如何创建特征向量方面存在问题。这意味着您当前使用的模型与数据完全不匹配。检查原始音频文件是否存在任何问题(编码错误、采样率错误等),并仔细检查如何执行特征提取。