0

我要开始我最后一年的项目了。我将做一个 android 应用程序,它将接受用户的命令,然后处理输入以显示结果。

我的问题是,我可以使用哪些方式来处理输入(我这里输入的意思是在将语音转换为文本后的数据或文本)?

我找到了一些方法来做到这一点,比如将输入与已经存储的数据进行匹配(模板匹配),但我正在寻找更好、更智能的东西(如果有任何建议的参考资料)。

谢谢

4

1 回答 1

0

我建议您从自己的一组非常基本且明确定义的关键字规则开始:

    @Override
    public void onResults(final Bundle results) {

        final ArrayList<String> heardVoice = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);

        if(heardVoice != null && !heardVoice.isEmpty()) {

            for(String result: heardVoice){

                if(result.contains("bluetooth")){
                    if(result.contains("on")){

                        // turn on bluetooth
                        break;
                    } else if(result.contains("off")){

                        // turn off bluetooth
                        break;
                    }
                }
            }
        }
    }

一旦您了解了这些基本关键字参数,您就可以考虑使用自然语言处理 (NLP) 模型和代码的性能。

那里有很多例子,但是Apache OpenNLP是一个很好的起点,它有全面的文档。

于 2013-10-16T14:21:37.767 回答