gpt4 book ai didi

java - 限制语音识别词典以实现更快的匹配和更高的准确性

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:49:13 28 4
gpt4 key购买 nike

我正在尝试制作一个基于 android 的应用程序,其中一部分是语音识别。我的应用程序可以使用的语音命令非常有限。所以,我想以某种方式限制字典或创建一个新的单词字典以供应用程序使用,以便应用程序具有非常好的准确性和更快的匹配。例如。如果我说 "B",结果可能是 "B","Be"或 "Bee",但我的应用程序应该只查找 "B"而不是任何其他类似的声音。如何在安卓中实现?

编辑:我是 android 的新手,通过阅读网上的教程,到目前为止只应用了基本的谷歌语音识别。说真的,需要一些提示来完成这项任务,这样我就不会在以后浪费更多时间寻找不相关的东西。

最佳答案

Android 语音识别可以离线和在线工作。只是在离线的时候,识别度不是很好,结果没有多种选择。对于在线,Google 语音识别器将返回一系列可能的结果以及置信度,因此如果您:

choice 1:  Bee     0.6522 confidencechoice 2:  Be      0.1    confidencechoice 3:  B       0.0    confidence

您的软件可以决定忽略 Bee(即使置信度很高),并选择您认为适合您的应用程序的那个。

代码 fragment :



/**
* 在你的 Activity 中
*/
public void startVoice(View view) {

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "继续,说点什么...");
intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 100);

startActivityForResult( Intent ,111);
}

protected void onActivityResult(int requestCode,int resultCode,Intent 数据)
{
如果(请求代码== 111){
如果(resultCode == RESULT_OK)
{
ArrayList matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
float [] scores = data.getFloatArrayExtra(RecognizerIntent.EXTRA_CONFIDENCE_SCORES);
//TODO: 遍历可能的匹配项,
//然后选择你认为合适的
}
}
}

关于java - 限制语音识别词典以实现更快的匹配和更高的准确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20181214/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com