构建与OpenEars兼容的语言模型

17

我正在进行语音转文字和文字转语音方面的开发工作,发现OpenEars API非常有用。

这个基于cmu-slm的API的原则是使用语言模型将iPhone设备听到的语音映射。所以我决定找一个大的英语语言模型来输入到API语音识别引擎中。但我不明白voxfourge英文数据模型的格式,也不知道如何使用它与OpenEars一起工作。

有没有人知道我如何获取适用于OpenEars的英语语言模型的.languagemodel和.dic文件?


有没有人了解CMU工具包,可以通过类似text2wreq的命令一步步生成语言模型? - harshalb
哎呀,伙计,我正在一个项目中,需要将其集成到视频编辑中,但不幸的是要用C#。能否让我了解最新情况?iPhone非常有趣,特别是你正在做的事情。 - Reza M.
2
只是问一下,我读到了一些关于在语言模型的上下文中上传包含所有要识别的单词的文本文件到CMU网站的内容。这是怎么回事? - humblePilgrim
你使用了哪些 VoxForge 数据?是预先构建的语言模型吗?还是你想要用来构建语言模型的一些文本? - Paul Dixon
我认为预构建的英语语言模型不错,但是我也知道如何制作由最多4000个单词组成的自定义模型。可以参考这个链接:http://www.speech.cs.cmu.edu/tools/lmtool.html。 - harshalb
显示剩余2条评论
2个回答

5
关于LM格式:
据我所知,大多数语言模型使用ARPA标准的语言模型。 Sphinx / CMU语言模型被编译成二进制格式。您需要源格式才能将Sphinx LM转换为另一种格式。大多数其他语言模型都是文本格式。
我建议使用HTK语音识别工具包;详细文档在此处:http://htk.eng.cam.ac.uk/ftp/software/htkbook_html.tar.gz 这里还有CMU SLM Toolkit的描述:http://www.speech.cs.cmu.edu/SLM/toolkit_documentation.html 这是我在网络上找到的ARPA格式语言模型示例:http://www.arborius.net/~jphekman/sphinx/full/index.html 您可能首先想创建一个ARPA LM,然后根据需要将其转换为任何二进制格式。
总体而言:
要构建语言模型,您需要大量的训练数据-以确定在观察到当前输入到此时点之后,词汇表中任何其他单词的概率是什么。
您不能只通过添加要识别的单词来“制作”语言模型-您还需要大量的训练数据(=运行语音识别应用程序时观察到的典型输入)。
语言模型不仅仅是单词列表-它估计输入中下一个标记(单词)的概率。为了估计这些概率,您需要运行训练过程,该过程在训练数据(例如历史数据)上进行,并观察单词频率以估计上述概率。
对于您的问题,也许作为快速解决方案,只需假设所有单词具有相同的频率/概率。
1.创建一个包含要识别的单词的字典(字典中的N个单词) 2.创建一个具有每个单词1 / N概率的语言模型(uni-gram语言模型)
然后,您可以使用HTK工具包将该uni-gram语言模型(LM)与另一个更大语料库的LM插值。

2
首先感谢您在很长时间后回答我的问题。这个答案对我来说有些像是一个谜题。我知道这个主题需要大量的研发,但如果您有一些附近的提示,可以引导我进入opeanears兼容的lm。 - harshalb

2
旧问题,但也许答案仍有趣。OpenEars现在具有内置的语言模型生成功能,因此您可以使用LanguageModelGenerator类在应用程序中动态创建模型,使用MITLM库和NSScanner完成与上述CMU工具包相同的任务。在iPhone上处理一个大于5000个单词的语料库将需要很长时间,但您可以使用模拟器运行一次并从文档文件夹中获取输出并保存它。另一个大词汇识别的选项在这里解释:创建具有50,000个单词的ARPA语言模型文件
说到这一点,作为OpenEars开发者,我需要指出CMU工具的5000个单词的限制与iPhone上使用Pocketsphinx时可能具有良好准确性和处理速度的最大词汇量相当接近。因此,最后一个建议是要么重新构思您的任务,使其不绝对需要大词汇识别(例如,由于OpenEars允许您在飞行中切换模型,您可能会发现您不需要一个巨大的模型,而可以通过多个较小的模型来解决,在不同的上下文中切换),或者使用基于网络的API来进行服务器上的大词汇识别(或者制作自己的API,在自己的服务器上使用Sphinx4)。祝你好运!

好消息和答案。谢谢。也许我可以尝试一下,看看OpenEars中的新变化如何工作。 - harshalb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接