在语音识别文本中查找变量

时间:2017-11-03 08:58:00

标签: java grammar speech cmusphinx

我正在开发一个带语音识别的应用程序(Sphinx)。从配置文件中我得到所有可能的命令并构建一个像这样的JSGF语法:

<name> = ( Anna | Michael | somebody );
<command1> = Show me some information about <name>;

这样可以正常工作,Sphinx可以识别,例如“给我看一些关于安娜的信息”。大! 但是现在我必须发现这个识别使用了command1,它属于sql查询“SELECT information FROM people WHERE name = ???”。而且我必须在公认的文本中找到填写???的名称。 想法(但不是很聪明):在创建语法时,我存储完整的命令和完整的SQL查询对,如:

{
("Show me some information about Anna", "SELECT ... WHERE name='Anna'"),
("Show me some information about Michael", "SELECT ... WHERE name='Michael'"),
...
}

一定有更好的方法!想想这个先进的例子:

<day> = ( first | second | ... );
<month> = ( January | February | ... );
<date> = the <day> of <month>
<command2> = Show me what <name> was doing on <date>;

因此,有两个变量需要提取,并且语音日期几乎无限可能。无法构建所有这些列表。

希望你有比我更多的想法。 非常感谢你。

0 个答案:

没有答案