【问题标题】:A problem with forced alignment in speech recognition - HTK语音识别中强制对齐的问题 - HTK
【发布时间】:2011-07-23 06:10:46
【问题描述】:

我有一个系统,要求用户在提示后重复一个句子。它使用HTKforce-align 的用户口语-句子到预定义的词级标签文件(句子的)来获得时间对齐的电话级文件。 HMM 已经在大量数据上进行了训练,并通过HVite 提供了非常准确的时间对齐文件。当用户没有说出需要说出的确切句子时,我的问题就出现了。让我用一个例子来说明:

  1. 需要朗读的目标句子的词级标签文件(用户知道):
    这是一个非常美好的一天。

  2. 用户说(案例 1):今天是美好的一天。
    在这种情况下,用户重复了完全相同的句子。时间对齐的文件非常准确,一切都很好。

  3. 用户说(案例 2):今天是个好日子。
    在这种情况下,使用上面给出的字级标签文件执行强制对齐。生成的时间对齐文件显示了用户从未说过的单词的时间瞬间(例如 VERY 存在于原始句子中但不存在于此处)。

HTK 中是否有办法检测并可能避免这种情况?

一种解决方案是某种前端预处理器,它可以进行语音识别(这本身就是一个非常困难的问题,因为它必须有无限的词汇量)并让用户知道他们所说的内容是不正确的.

HTK 中是否有任何工具/命令行选项允许我执行此操作?

P.S:如果需要更多详细信息,请告诉我。

谢谢,
斯里拉姆

【问题讨论】:

    标签: speech-recognition htk


    【解决方案1】:

    将文本与可能不正确的转录对齐的任务相当复杂,需要专门的工具。 HTK 强制对齐太简单了。您需要构建一个适当的 wdnet,而不是使用带有 -a 的 HVite,该 wdnet 将解释由于转录不匹配导致的可能插入、删除和替换。

    在 CMUSphinx,我们目前正在运行一个项目来实现此功能。您已经可以使用它来将文本与不精确的转录对齐。您可以在这里查看进度:

    http://cmusphinx.sourceforge.net/?s=long+audio+alignment

    【讨论】:

    • 感谢您的回复!我确实尝试通过构建一个简单的grammar(由确切的句子组成)、wdnet(来自语法)来做一个简单的单词识别实验,然后查看用户句子的结果。它适用于匹配的训练和测试数据,但当我尝试将固定电话/移动数据与经过清洁(麦克风)数据训练的 hmms 对齐时效果不佳。我在这里问了另一个问题:stackoverflow.com/questions/6871786/… 请看看.. 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多