我正在开始我的最后一年项目。我将做一个Android应用程序,它将接收用户的命令,然后处理输入以显示结果。
我的问题是,我可以用什么方法来处理输入(我在这里输入的意思是将语音转换为文本后的数据或文本)?
我找到了一些方法可以将输入与已经存储的数据(模板匹配)相匹配,但是我正在寻找更好更智能的东西(如果有任何建议的引用)。
由于
答案 0 :(得分: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是一个很好的起点,有全面的文档。