3

私は、人々が話し、いくつかのオプション (文字列) から選択できるようにするアプリを作成しています。Android Speech Recognizer を自分の考えに合わせるのに少し問題があります。

「有効な」パラメータを SpeechRecognizer に渡し、「最適な」一致を選択させる方法はありますか?

コードは必要ありません。今日、私のgoogle-fuが失敗しているように見えるので、ガイダンスが必要です。

4

3 に答える 3

4

この問題に対する私たちの解決策は、http://kaljurand.github.io/Grammars/で説明されています。たとえば、このページからリンクされている論文をチェックしてください。

Kaarel Kaljurand、Tanel Alumae。音声認識ベースのユーザー インターフェイスにおける制御された自然言語 (CNL 2012)

基本的な考え方は次のとおりです。

  1. (現在)言語モデル(文法など)を渡すことができないため、Googleの音声認識エンジンを使用しないでください(この場合、使用したい入力言語もサポートしていませんでした)。
  2. そのため、独自の音声認識エンジン (例: Sphinxに基づく) を実装し、入力の一部として文法を受け入れるようにする必要があります。
  3. 文法を実装します。受け入れ可能なフレーズの単純なリストであれば、JSGF が文法記述言語として機能します。より複雑な文法については、Grammatical Framework (JSGF または有限状態オートマトンに自動的にコンパイルできます) をお勧めします。
  4. 文法をレコグナイザーに渡す方法を追加して RecognizerIntent API を拡張する Android アプリを実装します。たとえば、 Kõneleをベースにすることができます。

あなたの場合、これはすべてやり過ぎかもしれません。Google の結果の後処理 (@gregm が示唆するように) は、実装が確かに簡単です。しかし、より複雑な言語モデルや多言語モデルに拡張したい場合、私たちのアプローチは必要なモジュール性と表現力を確実に提供します。

于 2013-06-12T10:04:53.050 に答える
1

いいえ、そのようなパラメータはありません。Google の音声認識は十分に柔軟ではありません。CMUSphinxのような外部音声認識ツールキットを使用できます

于 2013-06-09T07:01:05.293 に答える
0

いいえ、認識を制限したり、最適な一致を作成するのに役立つパラメーターを渡すことはできません。それを自分で実装する必要があります。

あなたがしたいことは、いくつかのアルゴリズムを使用して、Android の音声認識エンジンが返すものと目的のオプションを一致させることです。これは、Cumin のように、Android の認識エンジンが認識できない単語をアプリが認識しなければならない場合に特に重要です。

このために、ここにあるような音声一致アルゴリズムを使用できます

Android でのいくつかの実装とサンプル コードについては、このオープン ソース プロジェクトをチェックしてください: GAST .

于 2013-06-11T20:49:10.620 に答える