【发布时间】:2011-07-15 07:25:38
【问题描述】:
我想知道我需要处理多少文档、句子或单词才能获得良好的域语言模型并将其用于 CMU Sphinx 等语音识别工具。
【问题讨论】:
我想知道我需要处理多少文档、句子或单词才能获得良好的域语言模型并将其用于 CMU Sphinx 等语音识别工具。
【问题讨论】:
要为小型域创建体面的语言模型,通常拥有大约 100 mb 的文本就足够了。您可以将它们与通用语言模型混合使用,以更好地概括语言模型。
要创建通用语言模型,开发人员使用非常大的语料库。例如,有一个 1TB 的 Google 语料库,其中包含数百万个单词和 TB 级数据。它的 trigram 部分大约是 40Gb 的 bigram 计数,但它必须是 100 TB 的文本。
【讨论】:
补充尼古拉的回答:
这不是一项简单的任务。生成语言模型是一项耗费时间和资源的任务。
如果您想拥有一个“好的”语言模型,您将需要一个大型或非常大的文本语料库来训练一个语言模型(想想华尔街期刊文本的数量级)。
“好”的意思是:如果语言模型能够从训练数据泛化到新的和以前看不见的输入数据
您应该查看 Sphinx 和 HTK 语言模型工具包的文档。
请检查这两个线程:
Building openears compatible language model
您可以采用更通用的语言模型,基于更大的语料库并用它插入您的更小的语言模型......例如退避语言模型......但这不是一项简单的任务。
见:http://en.wikipedia.org/wiki/Katz's_back-off_model
【讨论】: