nlp - 用外行术语解释 Kaldi 的对象
问题描述
我试图了解 Kaldi 的内部工作原理,但是无法理解kaldi 文档的技术细节。
我想首先对各种对象有一个高层次的理解,以帮助消化所呈现的内容。我特别想知道 .tree、fina.mdl 和 HCLG.fst 文件是什么,生成它们需要什么以及如何使用它们。
我隐约明白(如果我错了,请纠正我):
- final.mdl 是声学模型,包含从一个电话转换到另一个电话的概率。
- HCLG.fst 是一个图,给定一系列音素,它将根据词典、语法和语言模型生成最可能的单词序列。
- 解码图是生成 HCLG.fst 的术语
- 不太清楚添加自循环是什么,它类似于 Kleene 运算符吗?
- lattice 包含话语的替代词序列。
我知道有很多内容要介绍,但感谢您提供任何帮助!
解决方案
你最好一次问一个问题。此外,最好先阅读本书来理解理论,而不是试图一次掌握所有内容。
final.mdl 是声学模型,包含从一个电话转换到另一个电话的概率
声学模型模型 final.mdl 的主要组成部分是声学检测器,而不是转换概率。它要么是一组用于手机的 GMM,要么是一个神经网络。声学模型还包含从一种 hmm 状态到另一种状态的转换概率,这为单个电话构建了 HMM 模型。电话之间的转换概率在图表 HCLG.fst 中编码
HCLG.fst 是一个图,给定一系列音素,它将根据词典、语法和语言模型生成最可能的单词序列。
不完全是,HCLG fst 是一个有限状态转换器,它为您提供基于词典和语言模型的状态序列概率。电话序列并没有真正用于图形,它们被用于图形构造。
不太清楚添加自循环是什么,它类似于 Kleene 运算符吗?
Speech HMM 对每个状态都有自循环,它允许状态持续几个输入帧。您可以在书中找到 HMM 拓扑以查看循环。
lattice 包含话语的替代词序列。
这是正确的,但它还包含时间和声学和语言模型分数。
推荐阅读
- apache-kafka - Kafka Admin:如何以编程方式显示和设置每个主题的保留时间?
- vbscript - VBS 中的 Sendkeys 在 telnet 会话中无法正常工作
- python - 如何在 gtk3 glarea 中集成 pyglet opengl 上下文?
- ruby - 使用 Open3 从 Ruby 中的可执行文件中检索退出状态值
- scala - Scala:特征中的抽象比较方法
- python-3.x - Tensorflow:定义 tf 常量时出现无效类型错误
- bash - 如何将 tar/dd 屏幕输出重定向到文件?
- python - 从具有多个页面的 PDF 中提取多个表格
- arrays - 在经典 ASP 中创建对象数组
- docker - ubuntu xenial 的码头停在 1.8?