1

如何正确参数化语音识别器,以便它可以更轻松地识别用户可能会说的单词?

据我所知,没有办法。

我相信这个网站是错误的:http ://www.4feets.com/2009/04/speech-recognition-in-android-sdk-15/

根据该站点,此代码: ArrayList< String > potentialResults = new ArrayList< String >();
potentialResults.add("黄色");
潜在结果.add("绿色");
潜在结果.add("蓝色");
潜在结果.add("red");

// Create Intent  
Intent intent = new Intent("android.speech.action.RECOGNIZE_SPEECH");  

将提示识别器您可能会说出这些话。但是,它似乎完全没有做任何事情。它也与谷歌文档冲突,其中说:

“执行 ACTION_RECOGNIZE_SPEECH 时的潜在结果的 ArrayList。仅在返回 RESULT_OK 时出现。” 这暗示该数组是返回值而不是输入。

要对此进行测试,请尝试添加: ArrayList< String > potentialResults = new ArrayList< String >();
potentialResults.add("孜然"); 并尝试让语音识别器识别它。你会发现它非常困难。

有没有人了解如何正确控制语音识别器?

4

2 回答 2

5

如果“控制”是指“提供可能结果的列表”,我怀疑你没有。

我相信你是正确的,因为链接到的博客文章是错误的。但是,AFAIK,您对语音的唯一控制是指示它是LANGUAGE_MODEL_FREE_FORM还是LANGUAGE_MODEL_WEB_SEARCH

EXTRA_RESULTS正如您所指出的,输出是口语散文的可能匹配项。您可以查看API 示例中使用的结果。

于 2009-08-02T16:19:39.677 回答
1

我想出解决这个问题的是创建一个可能性数据库。然后我获取结果并将它们子串为 2 或 3 个字符,并在数据库中查询这些术语。如果有人说红色,那么我会在数据库中搜索 LIKE 're%',这实际上非常准确地满足我的需要。

于 2010-06-26T20:49:36.363 回答