0

我開始了我的最後一年項目。我會做一個android應用程序,它將接受來自用戶的命令,然後處理輸入以顯示結果。從語音識別過程輸入

我的問題是,我可以用什麼方式來處理輸入(我的意思是這裏輸入的是將語音轉換爲文本後的數據或文本)?

我發現了一些方法來做到這一點,如匹配輸入與已存儲的數據(模板匹配),但我尋找更好,更聰明的東西(如果有任何建議的參考)。

感謝

+1

看看[Android的SpechRecognizer](https://developer.android.com/reference/android/speech/SpeechRecognizer.html) –

+0

謝謝,但我不知道將語音轉換爲文本後得到的文本。我如何處理它? – N4LN

+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是一個很好的開始,並提供全面的文檔。