2012-03-04 9 views
2

私はユーザーが最も近いホテルを見つけることを可能にするアプリケーションを作成しました。これでユーザーは音声を出して結果を見ることができます。しかし、ユーザーがそれらの名前を話す場合、 "コーチン"や "チェンナイ"のようなローカル名は結果に含まれません。しかし、 "ロンドン"、 "ニューヨーク"、 "ムンバイ"などの名前が表示されます。私が使用しているコードは以下の通りです。音声認識アプリケーションがアンドロイドで正確な単語を返さない

private void startVoiceRecognitionActivity() { 
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
      RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speak Now"); 
    startActivityForResult(intent, REQUEST_CODE); 
} 

答えて

2

これはスピーチエンジンの制限です。それはすべての場所で同じです - よく知られている場所(大きな町や都市)は正常に動作しますが、Googleが使用する辞書はちょっとした場所の名前を含んでいないようです。

私はあなたがこれを解決するためにできることはないと思います。音声認識を改善することはGoogleに任されています。

0

あなたは、Googleの音声認識を向上させることはできませんが、も、Googleが正しい言葉を返さない場合通じとにかく試合..

使用はSoundexのような音声マッチングアルゴリズムを決定することができた単語その場合、Googleあなたが望むようなサウンドを返します。たとえば、ユーザーが「コーチン」と言って、Googleが「コーン」を返すとしたら、まだそれに一致する可能性があります。