クラウドベースのウェイクワード検証を有効化する方法

クラウドベースのウェイクワード検証の有効化

クラウドベースのウェイクワード検証を行うことで、ウェイクワードと似た発音の語句で誤って起動されることが減り、Alexa搭載デバイスのウェイクワードの精度が高まります。たとえば、以下の語句は「アレクサ」と誤って認識され、誤起動を引き起こす可能性があります。「アレックス」、「エレクション」、「アレクシス」。クラウドベースのウェイクワード検証では、メディアで再生されたウェイクワードも検出します。たとえば、AmazonのCMで「アレクサ」が使われた場合などです。

最初の検出は製品のウェイクワードエンジンで行われ、その後クラウドで検証されます。誤起動が検出されると、AVSはStopCaptureディレクティブをダウンチャネルで製品に送信し、オーディオストリームを終了するよう指示します。また、該当する場合は、青色のLEDを消してAlexaが聞き取りを停止したことを示すよう指示します。

以下のセクションでは、この機能を使うために必要な作業について詳しく説明します。

クラウドベースのウェイクワード検証の要件を確認する

音声起動の製品は、ウェイクワードエンジンにより「アレクサ」などのウェイクワードが検出されると、ユーザーの発話のAVSへのストリーミングを開始します。ストリーミングはユーザーが話すのを止めるか、ユーザーのインテントが識別されてサービスがStopCaptureディレクティブを返すと終了します。クラウドベースのウェイクワード検証が機能するには、AVSにストリーミングされるオーディオに、ウェイクワード、500ミリ秒のプリロール、StopCaptureディレクティブを受信するまでにキャプチャされたユーザーのすべての発話が含まれている必要があります。これにより、AVSがストリームに含まれるウェイクワードを検証できるようになり、誤起動による誤ったレスポンスの数を減らすことができます。

  • プリロール、つまりウェイクワードの検出の前にキャプチャされたオーディオは、録音の環境ノイズレベルを調整するために使用され、音声認識の精度が高まります。
  • ストリームにウェイクワードが含まれることで、AVSはクラウドベースのウェイクワード検証を実行できるようになり、誤起動(ウェイクワードエンジンがウェイクワードを誤って認識する回数)を減らすことができます。
  • クラウドベースのウェイクワード検証が実行されている間にウェイクワードが検出されなかった場合、そのオーディオサンプルは破棄されます。

ここでは、オーディオサンプルの書き込みと読み取り用に共有メモリリングバッファを実装する際の推奨事項と、AVSに送信される各Recognizeイベントにウェイクワード検出の開始インデックスと停止インデックスを含める際の仕様について説明します。

要件を見る »

RecognizerStateを送信するようクライアントコードを更新する

Contextは、AVSにクライアントコンポーネントの状態を伝えるために使用するコンテナです。クラウドベースのウェイクワード検証をサポートするには、すべての音声起動の製品が該当するイベントでRecognizerStateを送信する必要があります。

サンプルメッセージ


{
    "header": {
        "namespace": "SpeechRecognizer",
        "name": "RecognizerState"
    },
    "payload": {
        "wakeword": "ALEXA"
    }
}

ペイロードのパラメーター

パラメーター 説明
wakeword 現在のウェイクワードを識別します。
有効な値: "ALEXA"
string

SpeechRecognizer.RecognizeイベントにRecognizerStateが含まれている例を示します。

クリックして拡大 +

RecognizeとExpectSpeechへの変更をサポートするようクライアントコードを変更する

新しいキー/値のペアがRecognizeイベントとExpectSpeechディレクティブに追加され、クラウドベースのウェイクワード検証がサポートされるようになりました。この機能をサポートするには、クライアントコードの更新が必要です。

Recognizeイベント

Recognizeが更新され、initiatorオブジェクトが含まれるようになりました。このオブジェクトには、Alexaとの対話がどのように開始されたかについての情報が含まれます。音声起動の製品の場合は、ウェイクワードの開始と終了のインデックスも含まれます。

仕様を見る »

ExpectSpeechディレクティブ

ディレクティブが更新され、initiatorが含まれるようになりました。Alexaがリクエストを完了するために追加の情報を必要とする、マルチターンのシナリオでは、クライアントに送信されたinitiatorが次のRecognizeイベントでAlexaに返される必要があります。これは、対話がどのように開始されたかにかかわらず必要です。

仕様を見る »

リソース