我要开始我最后一年的项目了。我将做一个 android 应用程序,它将接受用户的命令,然后处理输入以显示结果。
我的问题是,我可以使用哪些方式来处理输入(我这里输入的意思是在将语音转换为文本后的数据或文本)?
我找到了一些方法来做到这一点,比如将输入与已经存储的数据进行匹配(模板匹配),但我正在寻找更好、更智能的东西(如果有任何建议的参考资料)。
谢谢
我要开始我最后一年的项目了。我将做一个 android 应用程序,它将接受用户的命令,然后处理输入以显示结果。
我的问题是,我可以使用哪些方式来处理输入(我这里输入的意思是在将语音转换为文本后的数据或文本)?
我找到了一些方法来做到这一点,比如将输入与已经存储的数据进行匹配(模板匹配),但我正在寻找更好、更智能的东西(如果有任何建议的参考资料)。
谢谢
我建议您从自己的一组非常基本且明确定义的关键字规则开始:
@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是一个很好的起点,它有全面的文档。