目前正在开发的 jarvis 应用程序是英文的。我想自定义它以使用本地语言。如何为当地语言开发这种应用程序?我必须知道什么样的编程语言才能进行开发?我已经测试了 jarvis 的英文版,它对我来说效果很好。为了开发的目的,如何将 c# 与 HTK 连接起来?
2 回答
如何为当地语言开发这种应用程序?
您无需从头开始开发,使用现有软件并在其上进行构建。例如,您可以考虑https://github.com/jasperproject/jasper-client,它的开发非常活跃。
我必须知道什么样的编程语言才能进行开发?
大多数 NLP 库都使用 Python 或 Java。您还需要 shell 脚本 (awk/perl) 经验,因为模型通常是使用 Linux 工具构建的。
对于语音识别,使用 CMUSphinx 是最简单的,将您的语言添加到 CMUSphinx 的教程位于http://cmusphinx.sourceforge.net/wiki/tutorialam。
我已经测试了 jarvis 的英文版,它对我来说效果很好。为了开发的目的,如何将 c# 与 HTK 连接起来?
互操作性有多种方式:
1)C#可以通过Process.Start将HTK工具作为二进制文件调用http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start(v=vs.110).aspx
2)您可以从 HTK 构建一个库并通过互操作框架使用 PInvoke 调用它
3) 您可以使用 HTK 工具构建 TCP 或 HTTP 服务器,并从 C# 应用程序连接到该服务器以获取语音识别结果。
总的来说,您可能可以使用上面提到的现有解决方案,它们实现了所有困难的事情,您只需要配置您的本地语言。
我建议你选择 HTK,或者如果你有大量的训练数据,那么选择 kaldi,它是使用深度学习的本地语言语音识别的最佳工具包之一。