(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-29
(54)【発明の名称】自動音声認識処理結果の減衰
(51)【国際特許分類】
G10L 15/28 20130101AFI20231121BHJP
G10L 15/06 20130101ALI20231121BHJP
G10L 15/30 20130101ALI20231121BHJP
G10L 15/08 20060101ALI20231121BHJP
G10L 15/10 20060101ALI20231121BHJP
G10L 15/22 20060101ALI20231121BHJP
【FI】
G10L15/28 230K
G10L15/06 400V
G10L15/30
G10L15/08 200J
G10L15/06 400U
G10L15/10 300G
G10L15/22 453
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023534026
(86)(22)【出願日】2021-11-16
(85)【翻訳文提出日】2023-08-02
(86)【国際出願番号】 US2021059588
(87)【国際公開番号】W WO2022119705
(87)【国際公開日】2022-06-09
(32)【優先日】2020-12-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マシュー・シャリフィ
(72)【発明者】
【氏名】ヴィクター・カルブネ
(57)【要約】
音声処理を減衰させるための方法(300)が、音声対応デバイス(110)において、スピーチによるデバイスとの起こり得るインタラクションを示すマイクロフォントリガイベント(202)のインジケーションを受信するステップであって、デバイスがマイクロフォン(116)を有し、マイクロフォン(116)は、開いているときにスピーチをキャプチャするように構成される、ステップを含む。マイクロフォントリガイベントのインジケーションの受信に応答して、方法は、オーディオストリーム(16)をキャプチャするために、開くか、または継続時間ウィンドウ(212)の間、開いたままであるように前記マイクロフォンに指示するステップと、音声認識システム(150)に、開いたマイクロフォンによってキャプチャされたオーディオストリームを提供するステップとをさらに含む。継続時間ウィンドウの間、方法は、継続時間ウィンドウの関数に基づいて音声認識処理のレベル(222)を減衰させるステップと、オーディオストリームに対して音声認識処理の減衰されたレベル(204、222)を使用するように音声認識システムに指示するステップとをさらに含む。
【特許請求の範囲】
【請求項1】
音声対応デバイス(110)のデータ処理ハードウェア(112)において、スピーチによる前記音声対応デバイス(110)との起こり得るユーザインタラクション(12)を示すマイクロフォントリガイベント(202)のインジケーションを受信するステップであって、前記音声対応デバイス(110)がマイクロフォン(116)を有し、前記マイクロフォン(116)は、開いているときに自動音声認識(ASR)システム(150)による認識のためにスピーチをキャプチャするように構成される、ステップと、
前記マイクロフォントリガイベント(202)の前記インジケーションの受信に応答して(122)、
前記データ処理ハードウェア(112)によって、前記音声対応デバイス(110)の環境内でオーディオストリーム(16)をキャプチャするために、開くか、または開いたマイクロフォン継続時間ウィンドウ(212)の間、開いたままであるように前記マイクロフォン(116)に指示するステップと、
前記データ処理ハードウェア(112)によって、前記開いたマイクロフォン(116)によりキャプチャされた前記オーディオストリーム(16)を、前記オーディオストリーム(16)に対してASR処理を実行するために前記ASRシステム(150)に提供するステップと、
前記ASRシステム(150)が前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記データ処理ハードウェア(112)によって、前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理のレベルを、前記開いたマイクロフォン継続時間ウィンドウ(212)の関数に基づいて減衰させるステップと、
前記データ処理ハードウェア(112)によって、前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップと
を含む方法(300)。
【請求項2】
前記ASRシステム(150)が、前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記データ処理ハードウェア(112)によって、前記開いたマイクロフォン(116)によりキャプチャされた前記オーディオストリーム(16)内で音声活動が検出されるかどうかを判定するステップをさらに含み、
前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベルを減衰させるステップが、前記オーディオストリーム(16)内で何らかの音声活動が検出されるかどうかの前記判定にさらに基づく、請求項1に記載の方法(300)。
【請求項3】
前記ASRシステム(150)が、最初に、前記開いたマイクロフォン継続時間ウィンドウ(212)の開始時に、前記オーディオストリーム(16)に対して前記ASR処理を実行するために第1の処理レベル(222)を使用し、前記第1の処理レベル(222)が、前記ASRシステム(150)の最大処理能力に関連付けられ、
前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベルを、前記開いたマイクロフォン継続時間ウィンドウ(212)の前記関数に基づいて減衰させるステップが、
前記開いたマイクロフォン継続時間ウィンドウ(212)を開始してから第1の時間間隔が経過したかどうかを判定することと、
前記第1の時間間隔が経過したとき、前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベルを、前記ASR処理の前記レベルを前記第1の処理レベル(222)から第2の処理レベル(222)に下げることによって減衰させることであって、前記第2の処理レベル(222)が、前記第1の処理レベル(222)よりも低い、減衰させることとを含む、請求項1または2に記載の方法(300)。
【請求項4】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記音声対応デバイス(110)と通信するリモートサーバ(140)上での前記ASR処理の実行から、前記音声対応デバイス(110)の前記データ処理ハードウェア(112)上での前記ASR処理の実行に切り替えるように前記ASRシステム(150)に指示することを含む、請求項1から3のいずれか一項に記載の方法(300)。
【請求項5】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記オーディオストリーム(16)に対して前記ASR処理を実行するために第1のASRモデルの使用から第2のASRモデルの使用に切り替えるように前記ASRシステム(150)に指示することであって、前記第2のASRモデルが、前記第1のASRモデルよりも少ないパラメータを含む、指示することを含む、請求項1から4のいずれか一項に記載の方法(300)。
【請求項6】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記オーディオストリーム(16)に対して実行されるASR処理ステップの数を減らすように前記ASRシステム(150)に指示することを含む、請求項1から5のいずれか一項に記載の方法(300)。
【請求項7】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記ASRシステム(150)の復号探索空間を小さくするためにビームサーチパラメータを調整するように前記ASRシステム(150)に指示することを含む、請求項1から6のいずれか一項に記載の方法(300)。
【請求項8】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記ASRシステム(150)の1つまたは複数のパラメータに対して量子化および/またはスパース化を実行するように前記ASRシステム(150)に指示することを含む、請求項1から7のいずれか一項に記載の方法(300)。
【請求項9】
前記データ処理ハードウェア(112)によって、前記マイクロフォントリガイベント(202)の前記インジケーションが受信されるときに、現在のコンテキストを取得するステップをさらに含み、
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記現在のコンテキストに基づいて音声認識結果(152)にバイアスをかけるように前記ASRシステム(150)に指示することを含む、請求項1から8のいずれか一項に記載の方法(300)。
【請求項10】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記オーディオストリーム(16)に対して前記ASR処理を実行するためのシステム(100)オンチップベースの(SOCベースの)処理から、前記オーディオストリーム(16)に対して前記ASR処理を実行するためのデジタル信号プロセッサベースの(DSPベースの)処理に切り替えるように前記ASRシステム(150)に指示することを含む、請求項1から9のいずれか一項に記載の方法(300)。
【請求項11】
前記ASRシステム(150)が、前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用している間に、前記ASRシステム(150)が、
前記ユーザによって話されたクエリに対応するオーディオデータ(124)の音声認識結果(152)を生成し、
前記クエリによって指定されたアクションを実行するために、前記音声認識結果(152)をアプリケーションに提供するように構成される、請求項1から10のいずれか一項に記載の方法(300)。
【請求項12】
前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示した後、
前記データ処理ハードウェア(112)において、前記ASRシステム(150)によって出力された音声クエリに関する音声認識結果(152)の信頼度が信頼度の閾値を満たすことができないというインジケーションを受信するステップと、
前記データ処理ハードウェア(112)によって、前記ASRシステム(150)に、
前記ASR処理の前記レベルを前記減衰されたレベル(204、222)から上げ、
前記ASR処理の前記上げられたレベルを使用して前記音声クエリを再処理するように指示するステップとをさらに含む、請求項1から11のいずれか一項に記載の方法(300)。
【請求項13】
前記ASRシステム(150)が前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記データ処理ハードウェア(112)によって、前記開いたマイクロフォン(116)の継続時間の前記関数に基づいて前記ASRが前記オーディオストリーム(16)に対して実行する前記ASR処理の前記減衰されたレベル(204、222)がゼロに等しいときを判定するステップと、
前記ASR処理の前記減衰されたレベル(204、222)がゼロに等しいときに、前記データ処理ハードウェア(112)によって、前記マイクロフォン(116)に閉じるよう指示するステップとをさらに含む、請求項1から12のいずれか一項に記載の方法(300)。
【請求項14】
前記データ処理ハードウェア(112)によって、前記音声対応デバイス(110)のグラフィカルユーザインターフェース(120)において、前記オーディオストリーム(16)に対して前記ASRシステム(150)によって実行されたASR処理の前記減衰されたレベル(204、222)を示すグラフィカルなインジケータを表示するステップをさらに含む、請求項1から13のいずれか一項に記載の方法(300)。
【請求項15】
データ処理ハードウェア(112)と、
前記データ処理ハードウェア(112)と通信するメモリハードウェア(114)であって、前記データ処理ハードウェア(112)上で実行されるときに、前記データ処理ハードウェア(112)に、
音声対応デバイス(110)において、スピーチによる前記音声対応デバイス(110)との起こり得るユーザインタラクション(12)を示すマイクロフォントリガイベント(202)のインジケーションを受信する動作であって、前記音声対応デバイス(110)がマイクロフォン(116)を有し、前記マイクロフォン(116)は、開いているときに自動音声認識(ASR)システム(150)による認識のためにスピーチをキャプチャするように構成される、動作と、
前記マイクロフォントリガイベント(202)の前記インジケーションの受信に応答して(122)、
前記音声対応デバイス(110)の環境内でオーディオストリーム(16)をキャプチャするために、開くか、または開いたマイクロフォン継続時間ウィンドウ(212)の間、開いたままであるように前記マイクロフォン(116)に指示する動作と
前記開いたマイクロフォン(116)によりキャプチャされた前記オーディオストリーム(16)を、前記オーディオストリーム(16)に対してASR処理を実行するために前記ASRシステム(150)に提供する動作と
前記ASRシステム(150)が、前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理のレベルを、前記開いたマイクロフォン継続時間ウィンドウ(212)の関数に基づいて減衰させる動作と、
前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作と
を含む動作を実行させる命令を記憶するメモリハードウェア(114)と
を含むシステム(100)。
【請求項16】
前記動作が、前記ASRシステム(150)が前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記開いたマイクロフォン(116)によりキャプチャされた前記オーディオストリーム(16)内で音声活動が検出されるかどうかを判定する動作をさらに含み、
前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベルを減衰させる動作が、前記オーディオストリーム(16)内で何らかの音声活動が検出されるかどうかの前記判定にさらに基づく、請求項15に記載のシステム(100)。
【請求項17】
前記ASRシステム(150)が、最初に、前記開いたマイクロフォン継続時間ウィンドウ(212)の開始時に、前記オーディオストリーム(16)に対して前記ASR処理を実行するために第1の処理レベル(222)を使用し、前記第1の処理レベル(222)が、前記ASRシステム(150)の最大処理能力に関連付けられ、
前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベルを、前記開いたマイクロフォン継続時間ウィンドウ(212)の前記関数に基づいて減衰させる動作が、
前記開いたマイクロフォン継続時間ウィンドウ(212)を開始してから第1の時間間隔が経過したかどうかを判定することと、
前記第1の時間間隔が経過したとき、前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベルを、前記ASR処理の前記レベルを前記第1の処理レベル(222)から第2の処理レベル(222)に下げることによって減衰させることであって、前記第2の処理レベル(222)が、前記第1の処理レベル(222)よりも低い、減衰させることとを含む、請求項15または16に記載のシステム(100)。
【請求項18】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記音声対応デバイス(110)と通信するリモートサーバ(140)上での前記ASR処理の実行から、前記音声対応デバイス(110)の前記データ処理ハードウェア(112)上での前記ASR処理の実行に切り替えるように前記ASRシステム(150)に指示することを含む、請求項15から17のいずれか一項に記載のシステム(100)。
【請求項19】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記オーディオストリーム(16)に対して前記ASR処理を実行するために第1のASRモデルの使用から第2のASRモデルの使用に切り替えるように前記ASRシステム(150)に指示することであって、前記第2のASRモデルが、前記第1のASRモデルよりも少ないパラメータを含む、指示することを含む、請求項15から18のいずれか一項に記載のシステム(100)。
【請求項20】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記オーディオストリーム(16)に対して実行されるASR処理ステップの数を減らすように前記ASRシステム(150)に指示することを含む、請求項15から19のいずれか一項に記載のシステム(100)。
【請求項21】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記ASRシステム(150)の復号探索空間を小さくするためにビームサーチパラメータを調整するように前記ASRシステム(150)に指示することを含む、請求項15から20のいずれか一項に記載のシステム(100)。
【請求項22】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記ASRシステム(150)の1つまたは複数のパラメータに対して量子化および/またはスパース化を実行するように前記ASRシステム(150)に指示することを含む、請求項15から21のいずれか一項に記載のシステム(100)。
【請求項23】
前記動作が、
前記マイクロフォントリガイベント(202)の前記インジケーションが受信されるときに、現在のコンテキストを取得する動作をさらに含み、
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記現在のコンテキストに基づいて音声認識結果(152)にバイアスをかけるように前記ASRシステム(150)に指示することを含む、請求項15から22のいずれか一項に記載のシステム(100)。
【請求項24】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記オーディオストリーム(16)に対して前記ASR処理を実行するためのシステム(100)オンチップベースの(SOCベースの)処理から、前記オーディオストリーム(16)に対して前記ASR処理を実行するためのデジタル信号プロセッサベースの(DSPベースの)処理に切り替えるように前記ASRシステム(150)に指示することを含む、請求項15から23のいずれか一項に記載のシステム(100)。
【請求項25】
前記ASRシステム(150)が、前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用している間に、前記ASRシステム(150)が、
前記ユーザによって話されたクエリに対応するオーディオデータ(124)の音声認識結果(152)を生成し、
前記クエリによって指定されたアクションを実行するために、前記音声認識結果(152)をアプリケーションに提供するように構成される、請求項15から24のいずれか一項に記載のシステム(100)。
【請求項26】
前記動作が、前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示した後、
前記ASRシステム(150)によって出力された音声クエリに関する音声認識結果(152)の信頼度が信頼度の閾値を満たすことができないというインジケーションを受信する動作と、
前記ASRシステム(150)に、
前記ASR処理の前記レベルを前記減衰されたレベル(204、222)から上げ、
前記ASR処理の前記上げられたレベルを使用して前記音声クエリを再処理するように指示する動作と
をさらに含む、請求項15から25のいずれか一項に記載のシステム(100)。
【請求項27】
前記動作が、前記ASRシステム(150)が前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記開いたマイクロフォン(116)の継続時間の前記関数に基づいて前記ASRが前記オーディオストリーム(16)に対して実行する前記ASR処理の前記減衰されたレベル(204、222)がゼロに等しいときを判定する動作と、
前記ASR処理の前記減衰されたレベル(204、222)がゼロに等しいときに、前記マイクロフォン(116)に閉じるよう指示する動作とをさらに含む、請求項15から26のいずれか一項に記載のシステム(100)。
【請求項28】
前記動作が、前記音声対応デバイス(110)のグラフィカルユーザインターフェース(120)において、前記オーディオストリーム(16)に対して前記ASRシステム(150)によって実行されたASR処理の前記減衰されたレベル(204、222)を示すグラフィカルなインジケータを表示する動作をさらに含む、請求項15から27のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自動音声認識結果を減衰させることに関する。
【背景技術】
【0002】
ユーザは、デジタルアシスタントインターフェースを通じて、スマートフォン、スマートウォッチ、およびスマートスピーカなどの音声対応デバイスと頻繁にインタラクションする。これらのデジタルアシスタントインターフェースは、すべて自然な会話によるインタラクションを通じて、ユーザがタスクを完了し、それらのユーザが持っている質問に対する答えを取得することを可能にする。
【0003】
理想的には、デジタルアシスタントインターフェースと会話するとき、ユーザは、デジタルアシスタントインターフェースを実行するそのユーザの音声対応デバイスに向けられた口頭の要求によって、あたかもユーザが別の人と話しているかのようにコミュニケーションすることができるべきである。デジタルアシスタントインターフェースは、アクションが実行され得るように口頭の要求を処理し、認識するために、これらの口頭の要求を自動音声認識器に提供する。しかし、実際には、スマートフォンまたはスマートウォッチなどのリソースに制約のある音声対応デバイス上で音声認識を継続的に実行することは法外なコストがかかるので、デバイスが常にこれらの口頭の要求に応答することは難しい。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の一態様は、自動音声認識処理を減衰させる方法を提供する。方法は、音声対応デバイスのデータ処理ハードウェアにおいて、スピーチによる音声対応デバイスとの起こり得るユーザインタラクションを示すマイクロフォントリガイベントのインジケーションを受信するステップであって、音声対応デバイスがマイクロフォンを有し、マイクロフォンは、開いているときに自動音声認識(ASR)システムによる認識のためにスピーチをキャプチャするように構成される、ステップを含む。マイクロフォントリガイベントのインジケーションの受信に応答して、方法は、データ処理ハードウェアによって、音声対応デバイスの環境内でオーディオストリームをキャプチャするために、開くか、または開いたマイクロフォン継続時間ウィンドウ(open microphone duration window)の間、開いたままであるようにマイクロフォンに指示するステップと、データ処理ハードウェアによって、開いたマイクロフォンによりキャプチャされたオーディオストリームを、オーディオストリームに対してASR処理を実行するためにASRシステムに提供するステップとをさらに含む。ASRシステムが、開いたマイクロフォンによってキャプチャされたオーディオストリームに対してASR処理を実行している間に、方法は、データ処理ハードウェアによって、ASRシステムがオーディオストリームに対して実行するASR処理のレベルを、開いたマイクロフォン継続時間ウィンドウの関数に基づいて減衰させるステップと、データ処理ハードウェアによって、開いたマイクロフォンによってキャプチャされたオーディオストリームに対してASR処理の減衰されたレベルを使用するようにASRシステムに指示するステップとをさらに含む。
【0005】
一部の例においては、ASRシステムが、開いたマイクロフォンによってキャプチャされたオーディオストリームに対してASR処理を実行している間に、方法は、データ処理ハードウェアによって、開いたマイクロフォンによりキャプチャされたオーディオストリーム内で音声活動が検出されるかどうかを判定するステップも含む。これらの例において、ASRシステムがオーディオストリームに対して実行するASR処理のレベルを減衰させるステップは、オーディオストリーム内で何らかの音声活動が検出されるかどうかの判定にさらに基づく。一部の実装において、方法は、データ処理ハードウェアによって、マイクロフォントリガイベントのインジケーションが受信されるときに、現在のコンテキスト(context)を取得するステップをさらに含む。これらの実装において、ASR処理の減衰されたレベルを使用するようにASRシステムに指示するステップは、現在のコンテキストに基づいて音声認識結果にバイアスをかけるようにASRシステムに指示することを含む。一部の構成においては、オーディオストリームに対してASR処理の減衰されたレベルを使用するようにASRシステムに指示した後、方法は、データ処理ハードウェアにおいて、ASRシステムによって出力された音声クエリに関する音声認識結果の信頼度が信頼度の閾値を満たすことができないというインジケーションを受信するステップと、データ処理ハードウェアによって、ASRシステムに、ASR処理のレベルを減衰されたレベルから上げ、ASR処理の上げられたレベルを使用して音声クエリを再処理するように指示するステップとをさらに含む。一部の例においては、ASRシステムが、開いたマイクロフォンによってキャプチャされたオーディオストリームに対してASR処理を実行している間に、方法は、データ処理ハードウェアによって、開いたマイクロフォンの継続時間の関数に基づいてASRがオーディオストリームに対して実行するASR処理の減衰されたレベルがゼロに等しいときを判定するステップと、ASR処理の減衰されたレベルがゼロに等しいときに、データ処理ハードウェアによって、マイクロフォンに閉じるよう指示するステップとをさらに含む。任意で、方法は、データ処理ハードウェアによって、音声対応デバイスのグラフィカルユーザインターフェースにおいて、オーディオストリームに対してASRシステムによって実行されたASR処理の減衰されたレベルを示すグラフィカルなインジケータを表示するステップも含んでよい。
【0006】
本開示の別の態様は、自動音声認識処理を減衰させるためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されるときにデータ処理ハードウェアに動作を実行させる命令を記憶する。動作は、音声対応デバイスにおいて、スピーチによる音声対応デバイスとの起こり得るユーザインタラクションを示すマイクロフォントリガイベントのインジケーションを受信する動作であって、音声対応デバイスがマイクロフォンを有し、マイクロフォンは、開いているときに自動音声認識(ASR)システムによる認識のためにスピーチをキャプチャするように構成される、動作を含む。マイクロフォントリガイベントのインジケーションの受信に応答して、動作は、音声対応デバイスの環境内でオーディオストリームをキャプチャするために、開くか、または開いたマイクロフォン継続時間ウィンドウの間、開いたままであるようにマイクロフォンに指示する動作と、開いたマイクロフォンによりキャプチャされたオーディオストリームを、オーディオストリームに対してASR処理を実行するためにASRシステムに提供する動作とをさらに含む。ASRシステムが、開いたマイクロフォンによってキャプチャされたオーディオストリームに対してASR処理を実行している間に、動作は、ASRシステムがオーディオストリームに対して実行するASR処理のレベルを、開いたマイクロフォン継続時間ウィンドウの関数に基づいて減衰させる動作と、開いたマイクロフォンによってキャプチャされたオーディオストリームに対してASR処理の減衰されたレベルを使用するようにASRシステムに指示する動作とをさらに含む。
【0007】
この態様は、以下の任意の特徴のうちの1つまたは複数を含む場合がある。一部の例においては、ASRシステムが、開いたマイクロフォンによってキャプチャされたオーディオストリームに対してASR処理を実行している間に、動作は、開いたマイクロフォンによりキャプチャされたオーディオストリーム内で音声活動が検出されるかどうかを判定する動作も含む。これらの例において、ASRシステムがオーディオストリームに対して実行するASR処理のレベルを減衰させる動作は、オーディオストリーム内で何らかの音声活動レベルが検出されるかどうかの判定にさらに基づく。一部の実装において、動作は、マイクロフォントリガイベントのインジケーションが受信されるときに、現在のコンテキストを取得する動作をさらに含む。これらの実装において、ASR処理の減衰されたレベルを使用するようにASRシステムに指示する動作は、現在のコンテキストに基づいて音声認識結果にバイアスをかけるようにASRシステムに指示することを含む。一部の構成においては、オーディオストリームに対してASR処理の減衰されたレベルを使用するようにASRシステムに指示した後、動作は、ASRシステムによって出力された音声クエリに関する音声認識結果の信頼度が信頼度の閾値を満たすことができないというインジケーションを受信する動作と、ASRシステムに、ASR処理のレベルを減衰されたレベルから上げ、ASR処理の上げられたレベルを使用して音声クエリを再処理するように指示する動作とをさらに含む。一部の実装においては、ASRシステムが、開いたマイクロフォンによってキャプチャされたオーディオストリームに対してASR処理を実行している間に、動作は、開いたマイクロフォンの継続時間の関数に基づいてASRがオーディオストリームに対して実行するASR処理の減衰されたレベルがゼロに等しいときを判定する動作と、ASR処理の減衰されたレベルがゼロに等しいときに、マイクロフォンに閉じるよう指示する動作とをさらに含む。任意で、動作は、音声対応デバイスのグラフィカルユーザインターフェースにおいて、オーディオストリームに対してASRシステムによって実行されたASR処理の減衰されたレベルを示すグラフィカルなインジケータを表示する動作も含んでよい。
【0008】
システムまたは方法の実装は、以下の任意の特徴のうちの1つまたは複数を含む場合がある。一部の実装において、ASRシステムは、最初に、開いたマイクロフォン継続時間ウィンドウの開始時に、オーディオストリームに対してASR処理を実行するために第1の処理レベルを使用し、第1の処理レベルは、ASRシステムの最大処理能力に関連付けられる。これらの実装において、ASRシステムがオーディオストリームに対して実行するASR処理のレベルを、開いたマイクロフォン継続時間ウィンドウの関数に基づいて減衰させることは、開いたマイクロフォン継続時間ウィンドウを開始してから第1の時間間隔が経過したかどうかを判定することと、第1の時間間隔が経過したとき、ASRシステムがオーディオストリームに対して実行するASR処理のレベルを、ASR処理のレベルを第1の処理レベルから第2の処理レベルに下げることによって減衰させることであって、第2の処理レベルが、第1の処理レベルよりも低い、減衰させることとを含む。一部の例において、ASR処理の減衰されたレベルを使用するようにASRシステムに指示することは、音声対応デバイスと通信するリモートサーバ上でのASR処理の実行から、音声対応デバイスのデータ処理ハードウェア上でのASR処理の実行に切り替えるようにASRシステムに指示することを含む。一部の構成において、ASR処理の減衰されたレベルを使用するようにASRシステムに指示することは、オーディオストリームに対してASR処理を実行するために第1のASRモデルの使用から第2のASRモデルの使用に切り替えるようにASRシステムに指示することであって、第2のASRモデルが、第1のASRモデルよりも少ないパラメータを含む、指示することを含む。ASR処理の減衰されたレベルを使用するようにASRシステムに指示することは、オーディオストリームに対して実行されるASR処理ステップの数を減らすようにASRシステムに指示することを含んでよい。ASR処理の減衰されたレベルを使用するようにASRシステムに指示することは、ASRシステムの復号探索空間を小さくするためにビームサーチパラメータを調整するようにASRシステムに指示することを含んでもよい。追加的にまたは代替的に、ASR処理の減衰されたレベルを使用するようにASRシステムに指示することは、ASRシステムの1つまたは複数のパラメータに対して量子化および/またはスパース化を実行するようにASRシステムに指示することを含んでよい。一部の構成において、ASR処理の減衰されたレベルを使用するようにASRシステムに指示することは、オーディオストリームに対してASR処理を実行するためのシステムオンチップベースの(SOCベースの)処理から、オーディオストリームに対してASR処理を実行するためのデジタル信号プロセッサベースの(DSPベースの)処理に切り替えるようにASRシステムに指示することを含んでよい。ASRシステムが、開いたマイクロフォンによってキャプチャされたオーディオストリームに対してASR処理の減衰されたレベルを使用している間に、ASRシステムは、ユーザによって話されたクエリに対応するオーディオデータの音声認識結果を生成し、クエリによって指定されたアクションを実行するために、音声認識結果をアプリケーションに提供するように構成される。
【0009】
本開示の1つまたは複数の実装の詳細が、添付の図面および以下の説明に記載されている。その他の態様、特徴、および利点は、説明および図面から、ならびに請求項から明らかになるであろう。
【図面の簡単な説明】
【0010】
【
図1A】音声処理を減衰させるための例示的なスピーチ環境の概略図である。
【
図1B】
図1Aのスピーチ環境の例示的な時系列の概略図である。
【
図2A】音声処理を減衰させるための例示的なインタラクション分析器の概略図である。
【
図2B】音声処理を減衰させるための例示的なインタラクション分析器の概略図である。
【
図3】音声処理を減衰させる方法の動作の例示的な配列の流れ図である。
【
図4】本明細書に記載のシステムおよび方法を実装するために使用されてよい例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0011】
様々な図面における同様の参照符号は、同様の要素を示す。
【0012】
理想的には、デジタルアシスタントインターフェースと会話するとき、ユーザは、デジタルアシスタントインターフェースを実行するそのユーザの音声対応デバイスに向けられた口頭の要求によって、あたかもユーザが別の人と話しているかのようにコミュニケーションすることができるべきである。デジタルアシスタントインターフェースは、アクションが実行され得るように口頭の要求を処理し、認識するために、これらの口頭の要求を自動音声認識器に提供する。しかし、実際には、スマートフォンまたはスマートウォッチなどのリソースに制約のある音声対応デバイス上で音声認識を継続的に実行することは法外なコストがかかるので、デバイスが常にこれらの口頭の要求に応答することは難しい。
【0013】
デジタルアシスタントインターフェースとの会話は、通常、ユーザが決まったフレーズ(たとえば、ホットワード/キーワード/ウェイクワード)を言うか、または何らかの予め定義されたジェスチャ(たとえば、音声対応デバイスを持ち上げるかもしくは強く握る)を使用するなど、ユーザによる便利なインタラクションによって開始される。しかし、会話が始まると、相次ぐ口頭の要求/クエリのたびに同じ決まったフレーズを言うかまたは同じ予め定義されたジェスチャを使用することをユーザに要求することは、ユーザにとって面倒で不便になり得る。この要件を緩和するために、音声対応デバイスのマイクロフォンは、マイクロフォンがユーザによって話されたすぐ後の追加クエリをはるかに自然な方法でキャプチャすることを可能にするために、インタラクションの直後のいくらかの予め定義された量の時間、開いたままにされ得る。しかし、マイクロフォンがインタラクションの直後にどのくらい開いたままにされるべきかに関してはいくつかのトレードオフがある。たとえば、マイクロフォンをあまりにも長く開けっ放しにすることは、音声認識を実行するための電力を不必要に消費すること、および音声対応デバイスの環境内の意図的でないスピーチをキャプチャする可能性を高めることにつながり得る。一方、マイクロフォンをあまりにも早く閉じることは、ユーザが決まったフレーズ、ジェスチャ、または不便な場合があるその他の手段によって会話を再び始めることを要求されるので、悪いユーザエクスペリエンスを生じる。
【0014】
本明細書の実装は、音声対応デバイスのマイクロフォンを開き、音声認識器の応答性と処理能力との両方を徐々に減衰させることによって、イベントに応答して音声認識を実行するために音声認識器を開始することを対象とする。より詳細には、本明細書の実装は、音声対応デバイスとの、最初のクエリの後の追加クエリなどのユーザインタラクションの確率に基づいて音声認識処理のレベルを減衰させることを含む。ある任意の時点でマイクロフォンを閉じるか、音声認識器によるさらなる処理を防止するかという二者択一の判断を行うのとは対照的に、音声認識器による処理を経時的に減衰させることは、音声対応デバイスに向けられた追加スピーチをキャプチャするためにマイクロフォンをより長く開いたままにしておくことによってユーザエクスペリエンスを向上させ、かつ、やがて起こるユーザインタラクションの信頼のレベルに応じて音声認識器が異なる電力モードで実行されることを可能にすることによって電力消費の節約を向上させる。
【0015】
図1Aおよび
図1Bを参照すると、一部の実装において、システム100は、音声対応デバイス110(デバイス110またはユーザデバイス110とも呼ばれる)とインタラクションするためにユーザインタラクション12を提供するユーザ10を含む。ここで、ユーザインタラクション12とは、デバイス110からの応答を請うか、またはクエリによって指定されたタスクをデバイス110に実行させるためのクエリまたはコマンドに対応する口頭の発話12、12Uである。この意味で、ユーザ10は、コンピューティング活動を実行するかまたは質問に対する答えを見つけるために、音声対応デバイス110と会話のインタラクションをしてよい。
【0016】
デバイス110は、スピーチ環境内の1人または複数のユーザ10からのスピーチなどのユーザインタラクション12をキャプチャするように構成される。ユーザ10によって話された発話12Uは、デバイス110によってキャプチャされてよく、デバイス110上で実行されるデジタルアシスタントインターフェース120が動作/タスクを実行するためのクエリまたはコマンドに対応する場合がある。デバイス110は、ユーザ10に関連し、オーディオ信号を受信することができる任意のコンピューティングデバイスに対応する場合がある。ユーザデバイス110のいくつかの例は、モバイルデバイス(たとえば、モバイル電話、タブレット、ラップトップ、電子書籍リーダなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、音楽プレーヤー、キャスティングデバイス(casting device)、スマート家電(たとえば、スマートテレビ)およびモノのインターネット(IoT)デバイス、リモコン、スマートスピーカなどを含むがこれらに限定されない。デバイス110は、データ処理ハードウェア112と、データ処理ハードウェア112と通信し、データ処理ハードウェア112によって実行されるときにデータ処理ハードウェア112に音声処理に関連する1つまたは複数の動作を実行させる命令を記憶するメモリハードウェア114とを含む。
【0017】
デバイス110は、スピーチ環境内のオーディオデータをキャプチャし、電気信号に変換するためのオーディオキャプチャデバイス(たとえば、1つまたは複数のマイクロフォンのアレイ)116を有するオーディオサブシステムをさらに含む。デバイス110は、示された例において、オーディオキャプチャデバイス116(概してマイクロフォン116とも呼ばれる)を実装するが、オーディオキャプチャデバイス116は、デバイス110上に物理的に存在せず、オーディオサブシステム(たとえば、デバイス110の周辺機器)と通信する場合がある。たとえば、デバイス110は、車両全体に配置されたマイクロフォンのアレイを利用する車両インフォテインメントシステムに対応する場合がある。
【0018】
音声対応インターフェース(たとえば、デジタルアシスタントインターフェース)120は、デバイス110によってキャプチャされた口頭の発話12Uで伝えられた問い合わせまたはコマンドをさばく場合がある。音声対応インターフェース120(インターフェース120またはアシスタントインターフェース120とも呼ばれる)は、概して、発話12Uに対応するオーディオデータ124を受信し、オーディオデータ124に対する音声処理または発話12Uに由来するその他の活動を調整して応答122を生成することを容易にする。インターフェース120は、デバイス110のデータ処理ハードウェア112上で実行されてよい。インターフェース120は、発話12Uを含むオーディオデータ124を音声処理に関連する様々なシステムに流してよい。たとえば、
図1は、インターフェース120が音声認識システム150と通信することを示す。ここで、インターフェース120は、発話12Uに対応するオーディオデータ124を受信し、音声認識システム150にオーディオデータ124を提供する。一部の構成において、インターフェース120は、デバイス110のマイクロフォン116と音声認識システム150との間の開いた通信チャネルとして働く。言い換えると、マイクロフォン116は、オーディオストリーム16内の発話12Uをキャプチャし、インターフェース120は、オーディオストリーム16から変換された発話12Uに対応するオーディオデータ124を処理のために音声認識システム150に伝達する。より詳細には、音声認識システム150は、オーディオデータ124を処理して発話12Uの文字起こし(transcription)152を生成し、文字起こし152に対して意味解釈を実行して、実行する適切なアクションを特定してよい。デバイス110においてユーザ10とインタラクションするために使用されるインターフェース120は、インターフェース120の機能を実行するように構成された任意の種類のプログラムまたはアプリケーションであってよい。たとえば、インターフェース120は、デバイス110上でホストされる、またはデバイス110と通信するその他のプログラムとインターフェースをとるアプリケーションプログラミングインターフェース(API)である。
【0019】
特に
図1Aの例を参照すると、ユーザ10による第1の発話12U、12Uaは、「Hey computer, who is the president of France?(ねえ、コンピュータ。フランスの大統領は誰)」と述べる。ここで、第1の発話12Uは、オーディオデータ124内で検出されるときに、マイクロフォン116を開き、クエリ「who is the president of France?(フランスの大統領は誰)」に対応する続いてキャプチャされるオーディオデータを、処理のために音声認識システム150に中継するようにインターフェース120をトリガするホットワード14を含む。すなわち、デバイス110は、スリープまたはハイバネーション状態であり、オーディオストリーム16内のホットワード14の存在を検出するためにホットワード検出器を実行してよい。呼び出しフレーズとして働いて、ホットワード14は、ホットワード検出器によって検出されるとき、ウェイクアップし、ホットワード14および/またはホットワード14に続く1つもしくは複数の語に対する音声認識を開始するようにデバイス110をトリガする。ホットワード検出器は、音声認識または意味解析を実行することなく、ホットワードを示す音響的特徴を検出するように構成されたニューラルネットワークベースのモデルであってよい。
【0020】
ホットワード検出器によるオーディオストリーム16内のホットワード14の検出に応答して、インターフェース120は、この発話12Uaに対応するオーディオデータ124を音声認識システム150に中継し、音声認識システム150は、オーディオデータ124に対して音声認識を実行して、発話12Uaの音声認識結果(たとえば、文字起こし)152を生成する。音声認識システム150および/またはインターフェース120は、音声認識結果152に対して意味解釈を実行して、発話12Uaがフランスの大統領のアイデンティティ(identity)に関する検索クエリに対応すると判定する。ここで、インターフェース120は、「Who is the president of France?(フランスの大統領は誰)」というクエリに関して「Emmanuel Macron(エマニュエル・マクロン)」という検索結果162を検索し、返す検索エンジン160に文字起こし152を送ってよい。インターフェース120は、検索エンジン160から「Emmanuel Macron(エマニュエル・マクロン)」というこの検索結果162を受信し、さらに、第1の発話12Uaのクエリに対する応答122として、「Emmanuel Macron(エマニュエル・マクロン)」をユーザ10に伝達する。一部の例において、応答122は、デバイス110から可聴出力される合成音声を含む。
【0021】
アシスタントインターフェース120の機能を実行するために、インターフェース120は、デバイス110の1つまたは複数の周辺機器(たとえば、オーディオサブシステムの1つまたは複数の構成要素)を制御するように構成されてよい。一部の例において、インターフェース120は、いつマイクロフォン116が開いている、つまり、何らかの音声処理の目的のためにオーディオデータ124をアクティブに受信しているか、または閉じている、つまり、オーディオデータ124を受信していないか、もしくは音声処理の目的のために制限された量のオーディオデータ124を受信しているかを指令するためにマイクロフォン116を制御する。ここで、マイクロフォン116が「開いている」かまたは「閉じている」かは、インターフェース120が、マイクロフォン116において受信されたオーディオストリーム16に含まれる任意の発話12Uの音声認識を可能にするために音声認識システム150との通信の開いたチャネルを有するか、または音声認識システム150がオーディオストリーム16に対して音声認識を実行することを不可能にするために音声認識システム150との通信の閉じたチャネルを有するように、インターフェース120がマイクロフォン116において受信されたオーディオデータ124を音声認識システム150に伝達するかどうかを指す場合がある。一部の実装において、インターフェース120は、インターフェース120がインタラクション12および/またはトリガ14をともなうインタラクション12を受信するまたは受信したかどうかに基づいて、そのようなチャネルが開いているのかまたは閉じているのかを指定または指示する。たとえば、インターフェース120がトリガ14をともなうインタラクション12(たとえば、ホットワードをともなう発話12U)を受信するとき、インターフェース120は、マイクロフォン116に開くように指示し、マイクロフォン116によってキャプチャされたオーディオから変換されたオーディオデータ124を音声認識システム150に中継する。発話が完了した後、インターフェース120は、音声認識システム150が追加のオーディオデータ124を処理することを防止するためにマイクロフォン116に閉じるように指示してよい。
【0022】
一部の実装において、デバイス110は、ネットワーク130を介してリモートシステム140と通信する。リモートシステム140は、リモートデータ処理ハードウェア144(たとえば、リモートサーバもしくはCPU)および/またはリモートメモリハードウェア146(たとえば、リモートデータベースもしくはその他のストレージハードウェア)などのリモートリソース142を含んでよい。デバイス110は、リモートリソース142を利用して、音声処理に関連する様々な機能を実行する場合がある。たとえば、検索エンジン160が、リモートシステム140に存在する場合があり、および/または音声認識システム150の機能の一部が、リモートシステム140に存在する場合がある。一例において、音声認識システム150は、オンデバイス自動音声認識(ASR)を実行するためにデバイス110上に存在する場合がある。別の例において、音声認識システム150は、サーバサイドASRを提供するためにリモートシステム上に存在する。さらに別の例において、音声認識システム150の機能は、デバイス110とサーバ140とに分けられる。たとえば、
図1Aは、音声認識システム150および検索エンジン160がデバイス110上にまたはサーバサイドに(すなわち、リモートシステム140に)存在する場合があることを示すために、これらの構成要素を点線のボックスで示す。
【0023】
一部の構成においては、異なる種類の音声認識モデルが、モデルに応じて異なる場所(たとえば、オンデバイスまたはリモート)に存在する。同様に、エンドツーエンドまたはストリーミングベースの音声認識モデルは、その空間効率の良いサイズのおかげでデバイス110上に存在する場合があり、一方、複数のモデル(たとえば、音響モデル(AM)、発音モデル(PM)、および言語モデル(LM))から構築されるより大きくより従来の音声認識モデルは、オンデバイスではなくリモートシステム140に存在するサーバベースのモデルである。言い換えると、音声認識の所望のレベル、および/または音声認識を実行する所望の速度に応じて、音声認識は、オンデバイス(すなわち、ユーザサイド)またはリモート(すなわち、サーバサイド)に存在する場合がある。
【0024】
ユーザ10がインターフェース120と会話式に関わり合うとき、ユーザ10がインターフェース120からの何らかのフィードバック(たとえば、応答122)を望む各インタラクション12に関して、ユーザ10が同じ呼び出しフレーズ(たとえば、ホットワード)14を言うことを繰り返すことはかなり不便になり得る。言い換えると、ユーザ10による相次ぐクエリのたびに同じホットワードを言うことをユーザに要求することは、非常に面倒で不便になり得る。さらに残念なことに、デバイス110が、マイクロフォン116において受信されたすべてのオーディオデータ124に対して音声認識を継続的に実行していることは、コンピューティングリソースの無駄でもあり、計算コストが高くなり得る。
【0025】
ユーザ10がインターフェース120とアクティブに会話(またはインタラクション12のセッション)をしている間にユーザ10が新しいクエリ14を伝達することを望むたびにホットワード14を言うことを繰り返すようにユーザ10に要求する不便さに対処するために、インターフェース120は、ホットワード14を言うようにユーザ10に要求することなく、インターフェース120が前のクエリに応答した後にユーザ10が追加クエリを与えることを可能にしてよい。すなわち、クエリに対する応答122は、スピーチによる音声対応デバイス110との起こり得るユーザインタラクション12を示すマイクロフォントリガイベント202(
図1B)のインジケーションとして働き、それによって、デバイス110に、オーディオストリーム16をキャプチャし、オーディオストリーム16に対して音声認識処理を実行するために音声認識システム150にキャプチャされた音声ストリーム16を提供するためにマイクロフォン116に開くようにまたは開いたままであるように指示させてよい。ここで、マイクロフォン116は、クエリを受け入れるために開くようにマイクロフォン116をトリガするためにホットワード14を最初にもう一度言うようにユーザ10に要求することなくユーザ10からのクエリを受け入れるために開いていてよい。
【0026】
マイクロフォントリガイベント202(トリガイベント202とも呼ばれる)は、概して、ユーザ10がスピーチによってデバイス110とインタラクションすることができる可能性を示し、したがって、音声処理のためにすべてのスピーチをキャプチャするためにマイクロフォン116のアクティブ化を必要とするイベントの発生を指す。ここで、トリガイベント202が、起こり得るユーザインタラクション12を示すので、トリガイベント202は、ジェスチャから、認識されたユーザの特性(たとえば、行動のパターン)、デバイス110が潜在的なインタラクション12として見分けてよいユーザ10による任意のアクションにまで及ぶ場合がある。たとえば、ユーザ10は、キッチンに入るときに天気とユーザの日程表に何かイベントがあるかどうかとをデバイス110に問い合わせるという平日のルーチンを有する可能性がある。行動のこのパターンに起因して、デバイス110は、特定の時間の頃にユーザ10がキッチンに入ることを認識し(たとえば、キッチンの入口の方向での動きを聞き)、朝にユーザ10がキッチンに入るというアクションを、起こり得るユーザインタラクション12のトリガイベント202として扱ってよい。ジェスチャの場合、トリガイベント202は、ユーザ10がデバイス110を持ち上げる、デバイス110を強く握る、デバイス110のボタンを押す、デバイス110の画面をタップする、予め定義された方法で手を動かすというインタラクション12、またはユーザ10がアシスタントインターフェース120との会話に従事する意図がある場合があることを示すための任意のその他の種類の予めプログラミングされたジェスチャであってよい。トリガイベント202の別の例は、デバイス110(たとえば、インターフェース120)が、ユーザ10からのクエリに対する応答122を伝達するときである。言い換えると、インターフェース120が応答122をユーザ10に中継するとき、応答122は、デバイス110の代わりにユーザ10に対するコミュニケーションインタラクションとして働き、つまり、ユーザ10によって話される追加問い合わせが、応答122を受信した後に続いて発生する可能性が高いか、または単にユーザ10がデバイス110と現在会話しているために発生する場合がある。この可能性に基づいて、応答122は、デバイス110が応答122を出力した後、ホットワード14を追加クエリの前に置くことをユーザ10に要求することなく、ユーザ10によって話された追加クエリをキャプチャし、その音声処理を可能にするために、マイクロフォン116が開くかまたは開いたままであるかのどちらかであるようなトリガイベント202と見なされてよい。
【0027】
マイクロフォントリガイベント202を実施し、処理リソースを損なうことなくデバイス110とユーザ10との間の会話を提供するために、デバイス110は、ユーザ10との会話全体を通じて音声認識も維持しながら、ユーザ10がアシスタントインターフェース120に話しかけていることを認識するインタラクション分析器200(分析器200とも呼ばれる)を配備する。言い換えると、分析器200は、インタラクション12の端点を決定し(endpoint)、音声認識を非アクティブ化するために、ユーザ10とインターフェース120との間の会話がいつ始まるかと、いつ会話が終了したと考えることが最善であるかとを特定することによって、端点決定機能(endpointing functionality)を提供してよい。さらに、端点を決定することに加えて、分析器200は、ユーザ10による1つまたは複数のインタラクション12の性質に応じて音声認識の処理レベル222(
図2Aおよび
図2B)を下げること(すなわち、音声認識システム150を使用すること)によって、音声認識のプロセスを修正してもよい。特に、分析器200は、マイクロフォン116によってキャプチャされたオーディオストリーム16に対して音声認識の減衰されたレベル222を使用するように音声認識システム150に指示することができてよい。たとえば、デバイス110が、マイクロフォントリガイベント202のインジケーションの受信に応答して、オーディオストリーム16をキャプチャし、音声認識システム150に提供するために、開くように、または開いたマイクロフォン継続時間ウィンドウの間、開いたままであるようにマイクロフォン116に指示するとき、分析器200は、音声認識システム150がオーディオストリーム16に対して実行する音声処理のレベル222を、開いたマイクロフォン継続時間ウィンドウ212の関数として減衰させてよい。ここで、分析器200は、音声認識および/またはスピーチに関連する処理を制御するためにインターフェース120と連携して動作する。
【0028】
図1Bを参照すると、デバイス110(たとえば、インターフェース120)がトリガイベント202のインジケーションを受信するとき、インターフェース120は、マイクロフォン116に開くようにまたは開いたままであるように指示し、マイクロフォン116によってキャプチャされたオーディオストリーム16に関連するオーディオデータ124を処理のために音声認識システム150に伝達する。ここで、インターフェース120がマイクロフォン116に開くように指示するとき、分析器200は、マイクロフォン116が、トリガイベント202による開始後、何らかの開いたマイクロフォン継続時間ウィンドウ212の間、開いたままであり続けることを指定するよう構成されてよい。たとえば、開いたマイクロフォン継続時間ウィンドウ212は、インターフェース120がマイクロフォン116によってキャプチャされたオーディオデータ124のオーディオストリーム16を音声認識システム150に伝達する期間を指定する。ここで、マイクロフォン継続時間ウィンドウ212とは、トリガイベント202の受信時に開始し、設定された継続時間後に終わる(たとえば、マイクロフォンを閉じるイベントを経る)設定された継続時間を指す。一部の例において、分析器200は、インターフェース120がマイクロフォン継続時間ウィンドウ212の間に別のトリガイベント202(たとえば、後続のトリガイベント202)を受信するとき、マイクロフォン継続時間ウィンドウ212を延長するか、またはマイクロフォン継続時間ウィンドウ212をリフレッシュする(すなわち、新しくする)ようにインターフェース120に指示してよい。例として、
図1Aおよび
図1Bは、ユーザ10が、「Hey computer, who is the president of France?(ねえ、コンピュータ。フランスの大統領は誰)」と述べる第1の発話12Uaと、フランスの大統領はエマニュエル・マクロンであるという応答122に対する追加質問として、「how old is he?(彼は何歳)」という第2の発話12U、12Ubとを生成することを示す。特に
図1Bを参照すると、「hey computer(ねえ、コンピュータ)」というホットワード14は、発話の続きの部分「who is the president of France?(フランスの大統領は誰)」の音声認識を開始する決まり文句に対応する。インターフェース120が「Emmanuel Macron(エマニュエル・マクロン)」であると応答するとき、分析器200は、応答122を、第1のマイクロフォン継続時間ウィンドウ212、212aを開始させるマイクロフォントリガイベント202として確立する。ここで、ウィンドウ212は、開始点214および終了点216によって定義される継続時間を有してよく、終了点216の時点で、マイクロフォン継続時間ウィンドウ212は満了し、インターフェース120および/または分析器200はマイクロフォンを閉じるイベントを実行する。さらに、この例において、ユーザ10は、第1のマイクロフォン継続時間ウィンドウ212aの当初指定された終了点216a、216の前に、「how old is he?(彼は何歳)」という追加質問をする。第2の発話12Ubの追加質問(すなわち、別のユーザインタラクション12)が原因で、インターフェース120は、エマニュエル・マクロンの年齢が「47」であると述べる第2の応答122、122bを生成する。「Emmanuel Macron(エマニュエル・マクロン)」という第1の応答122、122aと同様に、第2の応答122、122bは、たとえ第1のマイクロフォン継続時間ウィンドウ212aが満了した可能性があるかまたは満了しなかった可能性があるとしても(たとえば、
図1Bは、第1のウィンドウ212aが第2の応答122bの前に満了したことを示す)、第2のマイクロフォン継続時間ウィンドウ212bとして新しいマイクロフォン継続時間ウィンドウ212、212bを開始する第2のトリガイベント202、202bである。マイクロフォン継続時間ウィンドウ212がまだ終了していない間にインターフェース120が新しいマイクロフォン継続時間ウィンドウ212を開始するとき、これは、終了していないウィンドウ212を延長するか、または終了していないウィンドウ212が開いたままにすることと見なされてよい。一部の実装において、継続時間ウィンドウ212がまだ終了していないとき、そのウィンドウ212の間のトリガイベント202は、継続時間ウィンドウ212を完全に新しく(すなわち、継続時間ウィンドウをあらためて開始する)のではなく、終了していない継続時間ウィンドウ212をある指定された量の時間だけ延長してよい。たとえば、継続時間ウィンドウ212が10秒であり、継続時間ウィンドウ212が現在終了していない場合、この終了していない継続時間ウィンドウ212の間のトリガイベント202は、終了していないウィンドウ212を、新たな追加の丸々10秒ではなく、追加の5秒延長する。
図1Bにおいて、第1のウィンドウ212aは、第2のトリガイベント202bが第2の開始点214、214bでまったく新しい継続時間ウィンドウ212、212bを開始するように、第2の応答122bの前に終了し、この継続時間ウィンドウ212、212bは、(たとえば、1つまたは複数の追加のトリガイベント202が発生しない限り)第2の終了点216、216bで終了する。
【0029】
引き続き
図1Bを参照すると、分析器200は、ウィンドウ212のある部分の間に減衰状態204をさらに生成するように構成される。たとえば、減衰状態204に遷移することによって、音声認識の処理レベル222は、ウィンドウ212の間に変更される(たとえば、ある量だけ下げられる)場合がある。言い換えると、オーディオデータ124に対して音声認識システム150によって実行される音声処理のレベル222は、ウィンドウ212の関数に基づいてよい。音声処理の(たとえば、音声認識に関する)レベル222の基礎をウィンドウ212に置くことによって、オーディオデータ124のオーディオストリーム16に対して実行される音声処理の量は、時間の関数となる。つまり、時間が経過し、インターフェース120とユーザ10との間の会話がまだ続いている可能性がより低そうである(たとえば、オーディオデータ124がユーザのスピーチを含まない、またはスピーチがデバイス110に向けられていない)とき、分析器200は、この低下する可能性を認識し、それに応じて音声認識を引き下げる。たとえば、
図1Bは、第1のマイクロフォン継続時間ウィンドウ212aの最後の半分の間、音声処理が、音声処理のレベル222が引き下げられる減衰状態204に遷移することを示す。この手法は、分析器200および/またはインターフェース120が、デバイス110において音声処理を実行するために使用されているコンピューティングリソースの量を削減することを可能にする場合がある。同様に、
図1Bのこの例においては、分析器200が音声認識を減衰状態204に遷移させたとき、第1のウィンドウ212aの最後の3分の1の間に、たとえユーザ10が「how old is he?(彼は何歳)」という追加質問を生成するとしても、分析器200は、音声認識が第1のウィンドウ212において既に減衰状態204にあり、ユーザ10が第2のインタラクション12Ubを実行する可能性が既にいくらか低かったので、第2のウィンドウ212bの減衰状態204がより迅速に発生すべきであると決定し、したがって、分析器200は、減衰状態204が第2の継続時間ウィンドウ212bにおいてより長い期間、たとえば、第2の継続時間ウィンドウ212bの約90%の間発生すべきであると決定する。分析器200を利用することによって、デバイス110および/またはインターフェース120は、ホットワード14なしで音声認識を実行する能力を維持することと、ユーザ10がアシスタントインターフェース120とさらにインタラクションしようと意図する可能性が低いときに、音声認識をアクティブに実行することを避けようとすることとの間のバランスを取るように努める。
【0030】
図2Aおよび
図2Bを参照すると、分析器200は、概して、ウィンドウ生成器210およびリデューサ(reducer)220を含む。ウィンドウ生成器210(生成器210とも呼ばれる)は、オーディオストリーム16をキャプチャし、処理のために音声認識システム150に提供するためにマイクロフォン116が開いている継続時間を決める開いたマイクロフォン継続時間ウィンドウ212を生成するように構成される。各マイクロフォン継続時間ウィンドウ212は、マイクロフォン116において受信されたオーディオストリーム16が処理のために音声認識システム150に送信され始めるマイクロフォン継続時間ウィンドウ212の始めの時間を指定する開始点214と、開いたマイクロフォン継続時間ウィンドウ212が終了し、その後オーディオストリーム16が処理のために音声認識システム150にもはや伝達されなくなる時間を指定する終了点216とを含む。ウィンドウ生成器210は、最初に、インターフェース120がユーザ10からトリガイベント202を受信したと判定されるときに開いたマイクロフォン継続時間ウィンドウ212を生成する。
【0031】
一部の実装において、ウィンドウ生成器210は、分析器200の構成に基づいて、またはマイクロフォン116において発生する条件に基づいてインテリジェントに、異なるサイズのウィンドウ212(すなわち、異なる長さの時間を有するウィンドウ212)を生成するように構成される。たとえば、分析器200の管理者は、ウィンドウ生成器210によって生成されるウィンドウ212のデフォルトの継続時間を設定する(たとえば、各ウィンドウ212は10秒の長さである)。対照的に、生成器210は、ユーザ10による行動のパターン、またはユーザ10による発話12Uの態様/特徴を認識し、これらの認識された特性に一致または対応するサイズを有するウィンドウ212をインテリジェントに生成してよい。たとえば、特定のユーザ10が、インターフェース120との会話を開始するためにトリガ14を生成するたびに、複数の質問に従事するのが普通である可能性がある。ここで、デバイス110に関連する音声処理システムは、ユーザ10のアイデンティティを特定してよく、このアイデンティティに基づいて、生成器210は、インタラクションセッション(すなわち、インターフェース120との会話)中のそのユーザ10のインタラクションの頻度に対応するまたは応じるサイズを有するウィンドウ212を生成する。たとえば、生成器210は、5秒の継続時間を有するデフォルトのウィンドウ212を生成する代わりに、ホットワード14を送ったユーザ10がインターフェース120とのより高い頻度のインタラクション12を生成する傾向があるので、10秒の継続時間を有するウィンドウ212を生成する。一方、ホットワード14を送ったユーザ10が、インターフェース120と対話するときにはいつも単一のクエリのみを尋ねる傾向がある場合、生成器210は、ユーザ10についてのこの行動情報を受信し、デフォルトのウィンドウ212を5秒から3秒のカスタムウィンドウ212に短縮してよい。
【0032】
生成器210は、発話12Uまたは発話12Uに対する応答122の態様または特徴に基づいて、カスタムの開いたマイクロフォン継続時間ウィンドウ212を生成してもよい。基本的な例として、ユーザ10は、「hey computer, play the new Smashing Pumpkins album, Cyr.(ねえ、コンピュータ。スマッシング・パンプキンズの新しいアルバム『Cyr』を再生して)」という発話12Uを述べる。しかし、インターフェース120がこのコマンドに応答しようとするとき、インターフェース120は、スマッシング・パンプキンズの新しいアルバムCyrがその月のもっと後にリリースされる予定であると判定し、アルバムが現在入手可能でないことを示す応答122を提供する。応答122は、さらに、ユーザ10が他の何かを聴きたいかどうかを尋ねてよい。ここでは、インターフェース120による応答122に続いて、生成部210は、インターフェース120および/またはデバイス110が、要求されたアルバムが利用可能でないという応答122をインターフェース120が生成するとき、ユーザ10による追加インタラクション12がある可能性が高いと判定するという事実に基づいて、より大きなウィンドウ212(すなわち、より長い継続時間にわたり持続するウィンドウ212)を生成する場合があり、または最初に生成されたウィンドウ212を自動的に延長する場合がある。言い換えると、インターフェース120および/またはデバイス110は、ユーザ10によるコマンドの結果が原因で、ユーザ10が応答122に続いて別の音楽の要求を送る可能性が高いことをインテリジェントに認識する。
【0033】
図1Bが示すように、生成器210は、トリガイベント202が最初に受信されたとき(たとえば、インターフェース120が応答122を伝達するとき)にウィンドウ212を生成するだけでなく、開いたウィンドウ212の間にトリガイベント202がインターフェース120によって受信されるときに、新しいウィンドウ212を生成するか、または現在開いているウィンドウ212を延長してよい。開いたウィンドウ212の間にトリガイベント202が受信されるときに新しいウィンドウ212を生成すること、または開いたウィンドウ212を延長することによって、生成器210は、ユーザ10とインターフェース120との間の会話が続いているとき、ウィンドウ212を開いたままにし続けるように機能する。
【0034】
図2Bなどの一部の例においては、生成器210が継続中の会話においてウィンドウ212を延長するかまたは新しいウィンドウ212を生成するとき、生成器210は、ウィンドウ212の継続時間を割り引くように構成される。たとえば、生成器210は、ユーザ10によるそれぞれの後続のインタラクション12の後に、より短い継続時間の後続のウィンドウ212を生成するように構成される。この手法は、最初のインタラクション12の後、2番目のまたは追加のインタラクション12が発生する第1の確率を有するが、その後、さらなるインタラクション12が発生する確率が減少するという事実を考慮してよい。たとえば、第1の発話12Uaにおける最初の問い合わせの後、第2の発話12Ubにおける追加問い合わせは、ユーザ10とインターフェース120との間のインタラクションセッションの間に、約20%の確率で発生する可能性があるが、第2の発話12Ubにおける追加問い合わせの後の第3の発話12Uは、約5%の確率でのみ発生する。このパターンに基づいて、生成器210は、別のトリガイベント202(すなわち、起こり得るインタラクション12)が発生するこの確率の関数として、ウィンドウ212のサイズまたは開いたウィンドウ212が延長される長さを減らす場合がある。たとえば、
図2Bは、3つのトリガイベント202、202a~cを示し、各トリガイベント202は、生成器210が第1のトリガイベント202aのための第1のウィンドウ212aを生成し、続いて、第1のトリガイベント202aの後に発生する第2のトリガイベント202bのための第2のウィンドウ212bを生成し、それから続いて、第2のトリガイベント202bの後に発生する第3のトリガイベント202cのための第3のウィンドウ212cを生成するように、インターフェース120からの後続の応答122(たとえば、3つの応答122a~c)に対応する。この例において、生成器210は、第3のウィンドウ212cが第2のウィンドウ212bよりも短い継続時間を有し、第2のウィンドウ212bが第1のウィンドウ212aよりも短い継続時間を有するように、生成されるウィンドウ212を短縮する。追加的または代替的に、生成器210は、オーディオストリーム16のオーディオデータ124を分析して、オーディオデータ124内の音声活動レベルが、トリガイベント202が発生する可能性が高いという何らかのインジケーションを提供するかどうかを判定してよい。この情報により、生成器210は、現在の開いたウィンドウ212のサイズを修正するか、または任意のその後生成/延長されるウィンドウ212のサイズを修正してよい。
【0035】
リデューサ220は、オーディオデータ124のオーディオストリーム16に対して実行されるべき音声認識の処理レベル222を指定するように構成される。処理レベル222は、音声認識システム150のための音声認識を実行する音声認識モデルの種類、音声認識が行われる場所、音声認識を実行するために使用される音声認識パラメータ、音声モデルが最大能力で動作するように指定されているかまたは何らかのより低い程度の能力で動作するように指定されているかなどを含むがこれらに限定されないいくつかの変数に基づく場合がある。処理レベル222は、概して、専用の、または任意の所与の時点で音声認識などの音声処理によって消費されているコンピューティングリソース(たとえば、データ処理ハードウェアおよびメモリハードウェアなどのローカルリソース、またはリモートリソース)の量を指す場合がある。これは、たとえば、第1の状態において音声処理専用のコンピューティングリソースまたはコンピューティングパワーの量が第2の状態よりも少ないとき、第1の状態における第1の処理レベル222が第2の状態における第2の処理レベル222よりも低いことを意味する。
【0036】
一部の例においては、(たとえば、最大処理能力と比較したとき)下げられた処理レベル222で音声認識が行われるとき、下げられた処理レベル222は、スピーチを認識するための第1のパスとして機能するが、その後、第1のパスよりも高い処理レベル222を有する第2のパスをもたらす場合がある。たとえば、音声認識システム150が下げられた処理レベル222で動作しているとき、音声認識システム150は、オーディオデータ124がインターフェース120に命令または問い合わせするための発話12Uを含むという低い信頼度の音声認識結果(たとえば、低い信頼度の仮説(hypothesis))を特定する。この低い信頼度の音声認識結果が原因で、リデューサ220は、この低い信頼度の音声認識結果が、オーディオデータ124がインターフェース120に命令または問い合わせするための発話12Uを含むというより高い信頼度の音声認識結果(たとえば、高い信頼度の仮説)に実際に対応するかどうかがより高い処理レベル222で判定されてよいように、処理レベル222を上げる場合がある。一部の例において、低い信頼度の音声認識結果は、音声認識中に信頼度の閾値を満たすことができない音声認識結果である。言い換えると、リデューサ220は、上述の変数に基づくだけでなく、特定の処理レベル222で音声認識中に得られた結果にも基づいて、処理レベル222を変更する場合がある。
【0037】
一部の実装において、リデューサ220は、ウィンドウ212の関数として処理レベル222を指定する。つまり、リデューサ220は、開いたマイクロフォン継続時間ウィンドウ212が存在するとき、音声認識の処理レベル222を下げることができる。たとえば、(たとえば、
図2Aに示されたように)ウィンドウ212が10秒の継続時間に対応するとき、ウィンドウ212の最初の5秒の間、リデューサ220は、音声認識のために最大パワー/処理(たとえば、第1の処理レベル222、222a)で動作するように音声認識システム150に指示する。最大処理でこの5秒が発生した後、音声処理は、減衰状態204に移行し、処理レベル222が最大処理よりも低いある程度まで下げられる。例として、ウィンドウ212の継続時間の5秒から7秒まで、リデューサ220は、音声認識システム150の最大処理の50%に対応する第2の処理レベル222、222bで働くように音声認識システム150に指示する。それから、継続時間の7秒目の後、ウィンドウ212の継続時間の終わりまで、リデューサ220は、音声認識システム150の最大処理の25%に対応する第3の処理レベル222、222cで働くように音声認識システム150に指示する。したがって、リデューサ220は、開いたマイクロフォン継続時間ウィンドウ212の間、音声認識システム150の処理レベル222を制御する。
【0038】
一部の実装において、生成器210およびリデューサ220は、ウィンドウ212の継続時間が減衰状態204に依存するように連携して働く。生成器210は、指定された時間に終了点216を生成せず、代わりに、リデューサ220が処理レベル222をマイクロフォン116を閉じるのと同じ効果を有するレベルまで下げることを可能にしてよい。たとえば、音声認識システム150の最大処理の25%に対応する第3の処理レベル222cの後、処理のさらに25%の削減は、処理レベル222を音声認識システム150の最大処理の0%(すなわち、処理なしまたは「閉じている」)まで下げるので、リデューサ220は、マイクロフォン116を閉じる。この特定の例は、処理レベル222を離散的に徐々に下げる段階的手法であるが、閉じたマイクロフォン116をもたらすためのその他の種類の減衰も可能である。たとえば、処理レベル222は、開いたマイクロフォン継続時間ウィンドウ212の間のどの時点でも直線的に減衰する場合がある。マイクロフォン116が閉じられるまでリデューサ220が処理レベル222を下げることを可能にすることによって、この技術は、(たとえば、インタラクション12が発生しておらず、マイクロフォン116が開いているときに)音声処理の連続的な減衰を進める場合がある。
【0039】
図2Bなどの一部の構成において、ウィンドウ212内の処理レベル222は、インターフェース120がユーザ10による最後のトリガイベント202を受信した時間に基づく。これらの構成において、リデューサ220は、インターフェース120が最後のトリガイベント202を受信したときから現在の時間までの時間期間224が時間の閾値226を満たすかどうかを判定してよい。時間期間224が時間の閾値226を満たす(すなわち、インタラクション12が閾値の時間の間発生しなかった)とき、リデューサ220は、現在の時間に処理レベル222を生成してよい。たとえば、インターフェース120がユーザ10による発話12Uに対して応答122を送信した場合、ウィンドウ212は、インターフェース120が応答122を伝達したときに始まる。時間の閾値226が5秒に設定されているとき、リデューサ220は、インターフェース120が応答122を伝達したときから5秒が経過したかどうかを判定する。リデューサ220は、5秒が経過したと判定するとき、たとえば、リデューサ220が5秒が経過したと判定した現在の時間またはその後の何らかの特定の時間に開始する音声認識の何らかの処理レベル222を指定してよい。
【0040】
一部の構成において、処理レベル222は、音声認識システム150の1つまたは複数のパラメータを調整することによって変わる。音声認識システム150における音声認識の処理レベル222を変更する1つの手法において、音声認識は、それが生じる場所に応じて変更される。音声認識の場所は、サーバサイド(つまり、リモート)での発生からオンデバイス(つまり、ローカル)での発生に変わる場合がある。言い換えると、第1の処理レベル222aは、サーバベースの音声認識モデルを使用したリモート音声認識に対応し、一方、第2の処理レベル222bは、オンデバイスで発生するローカル音声認識に対応する。音声認識システム150が「オンデバイス」でホストされるとき、デバイス110は、オーディオデータ124を受信し、そのプロセッサ(たとえば、データ処理ハードウェア112およびメモリハードウェア114)を使用して音声認識システム150の機能を実行する。サーバベースのモデルは(たとえば、帯域幅および送信のオーバーヘッドなどのその他のコストとともに)より多くの数のリモート処理リソースを利用する場合があるので、サーバベースのモデルを使用する音声認識は、オンデバイス音声認識モデルよりも高い処理レベル222を有すると考えられる場合がある。処理の量がより多いので、サーバベースのモデルは、オンデバイスのモデルよりもサイズが潜在的に大きく、および/またはオンデバイスのモデルよりも大きな探索グラフ(search graph)を使用して復号を実行する場合がある。たとえば、サーバベースの音声認識モデルは、専用の音声認識の目的のために特に訓練された複数のより大きなモデル(たとえば、音響モデル(AM)、発音モデル(PM)、および言語モデル(LM))を利用する場合があり、一方、オンデバイスのモデルは、デバイス110の有限の処理リソースで効果的に、空間効率良く動作するために、これらの異なるモデルをより小さなパッケージに統合しなければならないことが多い。したがって、リデューサ220が処理レベル222を減衰状態204まで下げるとき、リデューサ220は、サーバベースのモデルを使用してリモートで発生する音声認識を、オンデバイスのモデルを使用してローカルで行われるように変更する場合がある。
【0041】
状況によっては、口頭の発話12Uなどのインタラクション12を生成しているユーザ110の近くに2つ以上のデバイス110が存在する場合がある。複数のデバイス110がユーザ10の近傍にあるとき、各デバイス110が、音声認識の何らかの態様を実行することができる場合がある。同じ口頭の発話12Uに対して音声認識を実行する複数のデバイス110は重複する場合があるので、リデューサ220は、別のデバイス110が音声認識を処理しているかまたは処理するように構成されていることを知って、特定のデバイス110のマイクロフォン116を閉じることによってそのデバイス110における処理レベル222を下げる場合がある。例として、ユーザ10がモバイルデバイスおよびスマートウォッチを持っているとき、両方のデバイス110が音声認識を実行することができる場合がある。ここで、リデューサ220は、モバイルデバイスが実行する必要がある場合がある幅広いその他のコンピューティングタスクのためにモバイルデバイスの処理リソースを節約するために、モバイルデバイスの音声認識のためのマイクロフォン116を閉じてよい。たとえば、ユーザ10は、自分のスマートウォッチのバッテリよりも自分のモバイルデバイスのバッテリを節約することを望む場合がある。一部の例においては、複数のデバイスが存在するとき、リデューサ220は、どのデバイス110が開いたままのマイクロフォン116を有するのに最適であるかと、どのデバイスがそれらのマイクロフォン116を閉じさせるのに最適であるかとを特定するために、各デバイス110の特性(たとえば、現在のプロセッサの消耗、現在の電池の持ちなど)を決定しようとしてよい。
【0042】
リモート音声認識システム150とオンデバイス音声認識システム150との間に処理レベルの違いがあることに加えて、オンデバイス音声認識モデルまたはサーバサイド音声認識モデルの異なるバージョンが存在する場合がある。異なるバージョンがある状態では、リデューサ220は、音声認識に使用されているモデルまたはモデルのバージョンを変更することによって処理レベル222を変更する場合がある。大まかに言って、モデルは、処理レベル222が高い大バージョン、処理レベル222が中程度の中バージョン、および処理レベル222が低い小バージョンを有する場合がある。この意味で、リデューサ220が処理レベル222を下げたい場合、リデューサ220は、モデルの第1のバージョンで実行されている音声認識を、モデルの第1のバージョンよりも低い処理レベル222を有するモデルの第2のバージョンに移行させてよい。オンデバイスのモデルかまたはサーバサイドのモデルかのどちらかのバージョン間で変更することに加えて、リデューサ220は、サーバサイドのモデルのあるバージョンからオンデバイスのモデルの特定のバージョンに変更する場合もある。モデルおよびこれらのモデルのバージョンを持つことによって、リデューサ220は、開いたマイクロフォンウィンドウ212の間に音声認識処理レベル222を減衰させるために、より多くの数の処理レベル222を自由に使うことができる。
【0043】
一部の実装において、オンデバイス音声認識モデルのバージョンは、リデューサ220が異なる処理レベル222のためにそのようなバージョンを指定してよいように、異なる処理の需要を有する。オンデバイス音声認識モデルのいくつかの例は、リカレントニューラルネットワークトランスデューサ(RNN-T)モデル、リッスン・アテンド・スペル(LAS: listen-attend-spell)モデル、ニューラルトランスデューサ(neural transducer)モデル、モノトニックアラインメント(monotonic alignment)モデル、リカレントニューラルアラインメント(RNA: recurrent neural alignment)モデルなどのシーケンスツーシーケンス(sequence-to-sequence)モデルを含む。RNN-TモデルとLASモデルとを組み合わせる2パスモデルなどの、これらのモデルのハイブリッドであるオンデバイスのモデルも存在する可能性がある。オンデバイスモデルのこれらの異なるバージョンがある状態では、リデューサ220は、異なる処理レベル222を生成するために、これらのバージョンの各々の処理要件をランク付けまたは特定する場合がある。たとえば、2パスモデルは、RNN-Tネットワークの第1のパスと、それに続くLASネットワークの第2のパスとを含む。この2パスモデルは複数のネットワークを含むので、リデューサ220は、2パスモデルを、音声認識のための比較的高い処理レベル222を有する大規模なオンデバイスのモデルとして指定する場合がある。音声認識の処理レベル222を2パスモデルの処理レベル222から下げるために、リデューサ220は、2パスモデルからLASモデルに変更してよい。ここで、LASモデルは、文字起こし152を形成する文字列を生成するために、その復号プロセス中にアテンションを実行するアテンションベースのモデルである。概して、アテンションベースの手法は、所与のスピーチ入力に関する特定の特徴に傾注するためにより計算負荷が高い傾向がある。比較のため、RNN-Tモデルは、アテンションメカニズムを採用せず、また、大規模なデコーダグラフ(decoder graph)の代わりに単一のニューラルネットワークによってそのビームサーチを実行し、したがって、RNN-Tモデルは、LASモデルよりもコンパクトで、計算負荷が低い場合がある。これらの理由から、リデューサ220は、処理レベル222を下げるために、音声認識のための2パスモデルと、LASモデルと、RNN-Tモデルとの間で変更をしてよい。すなわち、第1のパスとしてRNN-Tネットワークを採用し、第2のパスとしてのLASネットワークによって第1のパスを再採点することによって、2パスモデルは、LASモデルまたはRNN-Tモデルのうちのどちらか単独よりも高い処理レベル222を有し、一方、アテンションベースのモデルとしてのLASモデルは、RNN-Tモデルよりも高い処理レベル222を有する。オンデバイス音声認識モデルの異なるバージョンに関する音声認識の処理要件を特定することによって、リデューサ220は、オンデバイスのモデルの異なるバージョンのいずれかの間を切り替えることによって、音声処理を減衰させる(または処理を高める)ことができる。さらに、リデューサ220が、オンデバイスのモデルの処理レベルの選択肢とサーバサイドのモデルの処理レベルの選択肢とを組み合わせるとき、リデューサ220による音声処理の減衰は、多数の潜在的な処理レベルの段階を有する。
【0044】
処理レベルの段階の潜在的な数をさらに拡大するために、リデューサ220は、所与のモデルの音声処理ステップまたは音声処理パラメータを修正して、その特定のモデルの処理レベルを変更するように構成されてよい。たとえば、特定のモデルは、ニューラルネットワーク(たとえば、長期短期記憶(LSTM: long-short-term memory)の層を持つリカレントニューラルネットワーク)の1つまたは複数の層を含む。一部の例において、出力層は、その出力を生成するために、過去の状態(逆方向)および将来の状態(順方向)からの情報を受け取る場合がある。層は、逆方向および順方向の状態を受け取るとき、双方向であると考えられる。一部の構成において、リデューサ220は、音声認識モデルを、双方向の(すなわち、順方向および逆方向の)動作から、単に単方向の(たとえば、順方向の)動作に変更するために、モデルの処理ステップを修正するように構成される。追加的または代替的に、リデューサ220は、特定のモデルの処理レベル222を変更するために、モデルが音声認識を実行するために使用するニューラルネットワークの層の数を減らす場合がある。
【0045】
リデューサ220は、モデルのビームサーチパラメータ(またはその他の枝刈り/探索モードパラメータ)を変更することによって、音声認識モデルの処理レベル222を下げてもよい。概して、ビームサーチは、音声認識結果を生成するために、最良の潜在的な解(たとえば、仮説または候補)のうちのいくつを評価するかを指定するビームサイズまたはビーム幅パラメータを含む。したがって、ビームサーチプロセスは、音声認識結果を形成するために評価される解の数を減らすために、潜在的な解の一種の枝刈りを実行する。すなわち、ビームサーチプロセスは、限られた数のアクティブなビームを使用して、音声認識結果(たとえば、発話12Uの文字起こし152)を生成するために、発話12Uにおいて話された単語の最も可能性の高いシーケンスを探索することによって、含まれる計算を制限することができる。ここで、リデューサ220は、ビームサイズを調整して、評価する最良の潜在的な解の数を減らしてよく、これは、ひいては、ビームサーチプロセスに含まれる計算量を削減する。たとえば、リデューサ220は、音声認識モデルに5つの最良の候補ではなく2つの最良の候補を評価させるために、ビームサイズを5からビームサイズ2に変更する。
【0046】
一部の例において、リデューサ220は、モデルのより低い処理レベル222を生成するために、音声認識モデルの1つまたは複数のパラメータに対して量子化またはスパース化を実行する。音声認識結果を生成するとき、音声認識モデルは、通常、多数の重みを生成する。たとえば、音声認識モデルは、音声認識結果(たとえば、文字起こし152)を出力するために、異なるスピーチパラメータおよび/またはスピーチに関連する特徴を重み付けする。この多数の重みが原因で、リデューサ220は、量子化を実行することによって、これらの重みの値を離散化する場合がある。たとえば、量子化プロセスは、浮動小数点の重みを固定小数点整数として表される重みに変換する。この量子化プロセスは、いくらかの情報または品質を喪失するが、これらの量子化されたパラメータを処理するリソースがより少ないメモリを使用することを可能にし、特定のハードウェア上でより効率的な演算(たとえば、乗算)が実行されることを可能にする場合がある。
【0047】
同様の点で、スパース化も、モデルを実行するための処理の量を減らすことを目標とする。ここで、スパース化は、より関連性の高い特徴に焦点を合わせるために、音声認識モデルにおいて冗長なパラメータまたは特徴を削除するプロセスを指す。たとえば、音声認識結果を決定する間に、音声モデルは、たとえすべてのスピーチに関連する特徴(たとえば、文字、記号、または単語)が特定のスピーチ入力に関連しているとは限らないとしても、すべてのスピーチに関連する特徴に関する確率を決定する場合がある。スパース化を使用することにより、モデルは、すべてのスピーチに関連する特徴の代わりに、入力に関連しているスピーチに関連する特徴に関する確率を決定し、入力に関連していないスピーチに関連する特徴をスパース化プロセスが無視することを可能にすることによって、より少ない計算リソースを費やす場合がある。
【0048】
任意で、リデューサ220は、開いたマイクロフォン継続時間ウィンドウ212を元々生成したまたはもたらしたインタラクション12(たとえば、口頭の発話12U)のコンテキストを決定することによって、音声認識のより低い処理レベル222を生成する場合がある。リデューサ220がコンテキストを特定すると、リデューサ220は、コンテキストに基づいて音声認識結果にバイアスをかけることによって音声認識システム150の処理レベル222を下げるために、コンテキストを使用してよい。一部の実装において、リデューサ220は、音声認識システム150をコンテキストに関連する語彙に制限することによって、コンテキストに基づいて音声認識結果にバイアスをかける。例として、ユーザ10は、インターフェース120に「how do you tie a prusik hitch?(プルージック結びはどうやって結ぶの)」と尋ねてよい。この質問から、リデューサ220は、プルージック結びが主に登山またはロッククライミングで使用されていると判定する。言い換えると、リデューサ220は、インタラクション12のコンテキストが登山であることを特定する。この例においては、リデューサ220が音声認識の処理レベル222を下げ始めるとき、リデューサ220は、音声認識出力を登山に関する語彙に制限する。したがって、その後、ユーザ10がアパラチア山脈についての追加質問をする場合、音声認識システム150は、用語「Application(アプリケーション)」および「Appalachian(アパラチア山脈の)」を含む考えられ得る音声認識結果を生成する場合があるが、「Appalachian(アパラチア山脈の)」は「Mountaineering(登山)」のコンテキストに関連しているので、リデューサ220は、確実に音声認識システム150が用語「Appalachian(アパラチア山脈の)」の方にバイアスをかけられるようにする。たとえば、リデューサ220は、特定されたコンテキスト(たとえば、登山)に関連する潜在的な結果の確率スコアを上げるように音声認識システム150に指示する。言い換えると、音声認識システム150は、登山に関連する語彙を含む潜在的な結果の確率スコアを上げる。
【0049】
音声認識システム150がデバイス110上で動作しているとき、音声認識システム150は、概して、音声認識を実行するためにシステムオンチップベース(SOCベース)のプロセッサを使用する場合がある。システムオンチップ(SOC)プロセッサは、汎用プロセッサ、信号プロセッサ、および追加的な周辺機器を指す。リデューサ220は、SOCベースの処理からデジタル信号プロセッサ(DSP)に変更するように音声認識システム150に指示することによって、音声認識がSOCベースの処理を使用するときに、下げられた処理レベル222を生成してよい。ここで、DSPはSOCベースの処理よりも少ない電力およびメモリを消費する傾向があるので、この変更は、より低い処理レベル222をもたらす。
【0050】
リデューサ220が音声認識の処理レベル222を減衰させるとき、減衰が起こっているというある程度のインジケーションをユーザ10に提供することが有利である場合がある。このインジケーションを提供するために、デバイス110に関連するグラフィカルユーザインターフェース(GUI)は、音声認識システム150の現在の処理レベル222を示すためのグラフィカルなインジケータを含んでよい。一部の例において、グラフィカルなインジケータは、処理レベル222の減衰に比例して次第に低くなるように構成された輝度レベルを有する。たとえば、デバイス110の画面は、マイクロフォン116が開いている(すなわち、インタラクション12を聞いている)ことを示す赤いマイクロフォンのドットを示すGUIを含み、このマイクロフォンのドットは、リデューサ220が音声認識の処理レベル222を減衰させるにつれて徐々にフェードアウトする。ここで、マイクロフォン116が閉じるとき、赤いマイクロフォンのドットは消える。追加的または代替的に、マイクロフォン116が開いていることおよび/または音声認識の処理レベル222の減衰の程度を示すインジケータは、デバイス110上のライト(たとえば、発光ダイオード(LED))のようなハードウェアインジケータである場合がある。たとえば、LEDは、マイクロフォン116が閉じられるまで、処理レベル222が減少するにつれてオフに向かって次第に消えていくか、または消えるまで減少する速度で(たとえば、次第に遅く)点滅する。
【0051】
図3は、音声処理を減衰させる方法300の動作の例示的な配列の流れ図である。動作302において、方法300は、音声対応デバイス110において、スピーチによる音声対応デバイス110との起こり得るユーザインタラクションを示すマイクロフォントリガイベント202のインジケーションを受信し、音声対応デバイス110はマイクロフォン116を有し、マイクロフォン116は、開いているときに自動音声認識(ASR)システム150による認識のためにスピーチをキャプチャするように構成される。動作304は、マイクロフォントリガイベント202のインジケーションの受信に応答して発生する2つの下位動作304、304a~bを含む。動作304aにおいて、方法300は、音声対応デバイス110の環境内でオーディオストリーム16をキャプチャするために、開くか、または開いたマイクロフォン継続時間ウィンドウ212の間、開いたままであるようにマイクロフォン116に指示する。動作304bにおいて、方法300は、開いたマイクロフォン116によってキャプチャされたオーディオストリーム16を、オーディオストリーム16に対してASR処理を実行するためにASRシステム150に提供する。動作306は、ASRシステム150が開いたマイクロフォン116によってキャプチャされたオーディオストリーム16に対してASR処理を実行している間に発生する2つの下位動作306、306a~bを含む。動作306において、方法300は、ASRシステム150がオーディオストリーム16に対して実行するASR処理のレベル222を、開いたマイクロフォン継続時間ウィンドウ212の関数に基づいて減衰させる。動作306bにおいて、方法300は、開いたマイクロフォン116によってキャプチャされたオーディオストリーム16に対してASR処理の減衰されたレベル204、222を使用するようにASRシステム150に指示する。
【0052】
図4は、本明細書において説明されたシステム(たとえば、デバイス110、インターフェース120、リモートシステム140、音声認識システム150、検索エンジン160、および/または分析器200)ならびに方法(たとえば、方法300)を実装するために使用されてよい例示的なコンピューティングデバイス400の概略図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図される。本明細書に示される構成要素、それらの構成要素の接続および関係、ならびにそれらの構成要素の機能は、単に例示的であるように意図されており、本明細書において説明および/または特許請求される本発明の実装を限定するように意図されていない。
【0053】
コンピューティングデバイス400は、プロセッサ410、メモリ420、ストレージデバイス430、メモリ420および高速拡張ポート450に接続する高速インターフェース/コントローラ440、ならびに低速バス470およびストレージデバイス430に接続する低速インターフェース/コントローラ460を含む。構成要素410、420、430、440、450、および460の各々は、様々なバスを使用して相互接続されており、共通のマザーボードに搭載されるか、または適宜その他の方法で搭載される場合がある。プロセッサ410は、メモリ420内またはストレージデバイス430上に記憶された命令を含む、コンピューティングデバイス400内で実行するための命令を処理して、高速インターフェース440に結合されたディスプレイ480などの外部入力/出力デバイス上のグラフィカルユーザインターフェース(GUI)のためのグラフィカルな情報を表示することができる。その他の実装においては、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数の種類のメモリと一緒に適宜使用される場合がある。また、複数のコンピューティングデバイス400が、各デバイスが必要な動作の一部を提供するようにして(たとえば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして)接続される場合がある。
【0054】
メモリ420は、コンピューティングデバイス400内で情報を非一時的に記憶する。メモリ420は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリ420は、コンピューティングデバイス400による使用のために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラムの状態情報)を一時的または永続的に記憶するために使用される物理的デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能プログラマブル読み出し専用メモリ(EPROM)/電子的消去可能プログラマブル読み出し専用メモリ(EEPROM)(たとえば、典型的にはブートプログラムなどのファームウェアのために使用される)を含むがこれらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むがこれらに限定されない。
【0055】
ストレージデバイス430は、コンピューティングデバイス400に大容量ストレージを提供することができる。一部の実装において、ストレージデバイス430は、コンピュータ可読媒体である。様々な異なる実装において、ストレージデバイス430は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成内のデバイスを含むデバイスのアレイであってよい。追加的な実装においては、コンピュータプログラム製品が、情報担体内に有形で具現化される。コンピュータプログラム製品は、実行されるときに上述の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ420、ストレージデバイス430、またはプロセッサ410上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0056】
高速コントローラ440は、コンピューティングデバイス400に関する帯域幅を大量に消費する動作を管理し、一方、低速コントローラ460は、帯域幅をそれほど消費しない動作を管理する。役割のそのような割り当ては、例示的であるに過ぎない。一部の実装において、高速コントローラ440は、メモリ420に、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ480に、および様々な拡張カード(図示せず)を受け入れてよい高速拡張ポート450に結合される。一部の実装において、低速コントローラ460は、ストレージデバイス430および低速拡張ポート490に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含んでよい低速拡張ポート490は、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに結合される場合があり、またはたとえばネットワークアダプタを介してスイッチもしくはルータなどのネットワークデバイスに結合される場合がある。
【0057】
コンピューティングデバイス400は、図に示されるように、いくつかの異なる形態で実装されてよい。たとえば、コンピューティングデバイス400は、標準的なサーバ400aとして、もしくはそのようなサーバ400aのグループ内で複数回、ラップトップコンピュータ400bとして、またはラックサーバシステム400cの一部として実装されてよい。
【0058】
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはこれらの組合せで実現され得る。これらの様々な実装は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するために結合された、専用または汎用であってよい少なくとも1つのプログラミング可能なプロセッサを含むプログラミング可能なシステム上の、実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムへの実装を含み得る。
【0059】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラミング可能なプロセッサ用の機械命令を含み、高レベル手続き型プログラミング言語および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書において使用されるとき、用語「機械可読媒体」および「コンピュータ可読媒体」は、機械命令を機械可読信号として受け取る機械可読媒体を含む、プログラミング可能なプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。用語「機械可読信号」は、プログラミング可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0060】
本明細書に記載のプロセスおよび論理フローは、入力データに基づいて動作し、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムをデータ処理ハードウェアとも呼ばれる1つまたは複数のプログラミング可能なプロセッサが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得る。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ、またはランダムアクセスメモリ、またはこれらの両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概して、コンピュータは、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受信するか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完され得るか、または専用の論理回路に組み込まれ得る。
【0061】
ユーザとのインタラクションを提供するために、本開示の1つまたは複数の態様は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意で、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響、スピーチ、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
【0062】
いくつかの実装が、説明された。しかしながら、本開示の精神および範囲を逸脱することなく様々な修正がなされてよいことは、理解されるであろう。したがって、その他の実装は、添付の請求項の範囲内にある。
【符号の説明】
【0063】
10 ユーザ
12 ユーザインタラクション
12U 口頭の発話
12Ua 第1の発話
12Ub 第2の発話
14 ホットワード、トリガ
16 オーディオストリーム
100 システム
110 音声対応デバイス、デバイス、ユーザデバイス
112 データ処理ハードウェア
114 メモリハードウェア
116 オーディオキャプチャデバイス、マイクロフォン
120 デジタルアシスタントインターフェース、音声対応インターフェース、インターフェース、アシスタントインターフェース
122、122a~c 応答
122a 第1の応答
122b 第2の応答
124 オーディオデータ
130 ネットワーク
140 リモートシステム
142 リモートリソース
144 リモートデータ処理ハードウェア
146 リモートメモリハードウェア
150 音声認識システム
152 文字起こし、音声認識結果
160 検索エンジン
162 検索結果
200 インタラクション分析器、分析器
202 マイクロフォントリガイベント、トリガイベント
202a 第1のトリガイベント
202b 第2のトリガイベント
202c 第3のトリガイベント
204 減衰状態
210 ウィンドウ生成器、生成器
212 開いたマイクロフォン継続時間ウィンドウ
212a 第1のマイクロフォン継続時間ウィンドウ、第1のウィンドウ
212b 第2のマイクロフォン継続時間ウィンドウ、新しいマイクロフォン継続時間ウィンドウ、第2のウィンドウ
212c 第3のウィンドウ
214 開始点
214b 第2の開始点
216 終了点
216b 第2の終了点
220 リデューサ
222 処理レベル
222a 第1の処理レベル
222b 第2の処理レベル
222c 第3の処理レベル
224 時間期間
226 時間の閾値
300 方法
400 コンピューティングデバイス
400a 標準的なサーバ
400b ラップトップコンピュータ
400c ラックサーバシステム
410 プロセッサ
420 メモリ
430 ストレージデバイス
440 高速インターフェース/コントローラ
450 高速拡張ポート
460 低速インターフェース/コントローラ
470 低速バス
480 ディスプレイ
490 低速拡張ポート
【手続補正書】
【提出日】2023-08-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
音声対応デバイス(110)のデータ処理ハードウェア(112)において、スピーチによる前記音声対応デバイス(110)との起こり得るユーザインタラクション(12)を示すマイクロフォントリガイベント(202)のインジケーションを受信するステップであって、前記音声対応デバイス(110)がマイクロフォン(116)を有し、前記マイクロフォン(116)は、開いているときに自動音声認識(ASR)システム(150)による認識のためにスピーチをキャプチャするように構成される、ステップと、
前記マイクロフォントリガイベント(202)の前記インジケーションの受信に応答して(122)、
前記データ処理ハードウェア(112)によって、前記音声対応デバイス(110)の環境内でオーディオストリーム(16)をキャプチャするために、開くか、または開いたマイクロフォン継続時間ウィンドウ(212)の間、開いたままであるように前記マイクロフォン(116)に指示するステップと、
前記データ処理ハードウェア(112)によって、前記開いたマイクロフォン(116)によりキャプチャされた前記オーディオストリーム(16)を、前記オーディオストリーム(16)に対してASR処理を実行するために前記ASRシステム(150)に提供するステップと、
前記ASRシステム(150)が前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記データ処理ハードウェア(112)によって、前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理のレベルを、前記開いたマイクロフォン継続時間ウィンドウ(212)の関数に基づいて減衰させるステップと、
前記データ処理ハードウェア(112)によって、前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップと
を含む方法(300)。
【請求項2】
前記ASRシステム(150)が、前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記データ処理ハードウェア(112)によって、前記開いたマイクロフォン(116)によりキャプチャされた前記オーディオストリーム(16)内で音声活動が検出されるかどうかを判定するステップをさらに含み、
前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベルを減衰させるステップが、前記オーディオストリーム(16)内で何らかの音声活動が検出されるかどうかの前記判定にさらに基づく、請求項1に記載の方法(300)。
【請求項3】
前記ASRシステム(150)が、最初に、前記開いたマイクロフォン継続時間ウィンドウ(212)の開始時に、前記オーディオストリーム(16)に対して前記ASR処理を実行するために第1の処理レベル(222)を使用し、前記第1の処理レベル(222)が、前記ASRシステム(150)の最大処理能力に関連付けられ、
前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベルを、前記開いたマイクロフォン継続時間ウィンドウ(212)の前記関数に基づいて減衰させるステップが、
前記開いたマイクロフォン継続時間ウィンドウ(212)を開始してから第1の時間間隔が経過したかどうかを判定することと、
前記第1の時間間隔が経過したとき、前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベル
を前記第1の処理レベル(222)から第2の処理レベル(222)に下げることによって
、前記ASR処理の前記レベルを減衰させることであって、前記第2の処理レベル(222)が、前記第1の処理レベル(222)よりも低い、減衰させることとを含む、請求項1または2に記載の方法(300)。
【請求項4】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記音声対応デバイス(110)と通信するリモートサーバ(140)上での前記ASR処理の実行から、前記音声対応デバイス(110)の前記データ処理ハードウェア(112)上での前記ASR処理の実行に切り替えるように前記ASRシステム(150)に指示することを含む、請求項1から3のいずれか一項に記載の方法(300)。
【請求項5】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記オーディオストリーム(16)に対して前記ASR処理を実行するために第1のASRモデルの使用から第2のASRモデルの使用に切り替えるように前記ASRシステム(150)に指示することであって、前記第2のASRモデルが、前記第1のASRモデルよりも少ないパラメータを含む、指示することを含む、請求項1から4のいずれか一項に記載の方法(300)。
【請求項6】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記オーディオストリーム(16)に対して実行されるASR処理ステップの数を減らすように前記ASRシステム(150)に指示することを含む、請求項1から5のいずれか一項に記載の方法(300)。
【請求項7】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記ASRシステム(150)の復号探索空間を小さくするためにビームサーチパラメータを調整するように前記ASRシステム(150)に指示することを含む、請求項1から6のいずれか一項に記載の方法(300)。
【請求項8】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記ASRシステム(150)の1つまたは複数のパラメータに対して量子化および/またはスパース化を実行するように前記ASRシステム(150)に指示することを含む、請求項1から7のいずれか一項に記載の方法(300)。
【請求項9】
前記データ処理ハードウェア(112)によって、前記マイクロフォントリガイベント(202)の前記インジケーションが受信されるときに、現在のコンテキストを取得するステップをさらに含み、
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記現在のコンテキストに基づいて音声認識結果(152)にバイアスをかけるように前記ASRシステム(150)に指示することを含む、請求項1から8のいずれか一項に記載の方法(300)。
【請求項10】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示するステップが、前記オーディオストリーム(16)に対して前記ASR処理を実行するためのシステム(100)オンチップベースの(SOCベースの)処理から、前記オーディオストリーム(16)に対して前記ASR処理を実行するためのデジタル信号プロセッサベースの(DSPベースの)処理に切り替えるように前記ASRシステム(150)に指示することを含む、請求項1から9のいずれか一項に記載の方法(300)。
【請求項11】
前記ASRシステム(150)が、前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用している間に、前記ASRシステム(150)が、
ユーザによって話されたクエリに対応するオーディオデータ(124)の音声認識結果(152)を生成し、
前記クエリによって指定されたアクションを実行するために、前記音声認識結果(152)をアプリケーションに提供するように構成される、請求項1から10のいずれか一項に記載の方法(300)。
【請求項12】
前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示した後、
前記データ処理ハードウェア(112)において、前記ASRシステム(150)によって出力された音声クエリに関する音声認識結果(152)の信頼度が信頼度の閾値を満たすことができないというインジケーションを受信するステップと、
前記データ処理ハードウェア(112)によって、前記ASRシステム(150)に、
前記ASR処理の前記レベルを前記減衰されたレベル(204、222)から上げ、
前記ASR処理の前記上げられたレベルを使用して前記音声クエリを再処理するように指示するステップとをさらに含む、請求項1から11のいずれか一項に記載の方法(300)。
【請求項13】
前記ASRシステム(150)が前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記データ処理ハードウェア(112)によって、前記開いたマイクロフォン(116)の継続時間の前記関数に基づいて前記ASRが前記オーディオストリーム(16)に対して実行する前記ASR処理の前記減衰されたレベル(204、222)がゼロに等しいときを判定するステップと、
前記ASR処理の前記減衰されたレベル(204、222)がゼロに等しいときに、前記データ処理ハードウェア(112)によって、前記マイクロフォン(116)に閉じるよう指示するステップとをさらに含む、請求項1から12のいずれか一項に記載の方法(300)。
【請求項14】
前記データ処理ハードウェア(112)によって、前記音声対応デバイス(110)のグラフィカルユーザインターフェース(120)において、前記オーディオストリーム(16)に対して前記ASRシステム(150)によって実行されたASR処理の前記減衰されたレベル(204、222)を示すグラフィカルなインジケータを表示するステップをさらに含む、請求項1から13のいずれか一項に記載の方法(300)。
【請求項15】
データ処理ハードウェア(112)と、
前記データ処理ハードウェア(112)と通信するメモリハードウェア(114)であって、前記データ処理ハードウェア(112)上で実行されるときに、前記データ処理ハードウェア(112)に、
音声対応デバイス(110)において、スピーチによる前記音声対応デバイス(110)との起こり得るユーザインタラクション(12)を示すマイクロフォントリガイベント(202)のインジケーションを受信する動作であって、前記音声対応デバイス(110)がマイクロフォン(116)を有し、前記マイクロフォン(116)は、開いているときに自動音声認識(ASR)システム(150)による認識のためにスピーチをキャプチャするように構成される、動作と、
前記マイクロフォントリガイベント(202)の前記インジケーションの受信に応答して(122)、
前記音声対応デバイス(110)の環境内でオーディオストリーム(16)をキャプチャするために、開くか、または開いたマイクロフォン継続時間ウィンドウ(212)の間、開いたままであるように前記マイクロフォン(116)に指示する動作と
前記開いたマイクロフォン(116)によりキャプチャされた前記オーディオストリーム(16)を、前記オーディオストリーム(16)に対してASR処理を実行するために前記ASRシステム(150)に提供する動作と
前記ASRシステム(150)が、前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理のレベルを、前記開いたマイクロフォン継続時間ウィンドウ(212)の関数に基づいて減衰させる動作と、
前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作と
を含む動作を実行させる命令を記憶するメモリハードウェア(114)と
を含むシステム(100)。
【請求項16】
前記動作が、前記ASRシステム(150)が前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記開いたマイクロフォン(116)によりキャプチャされた前記オーディオストリーム(16)内で音声活動が検出されるかどうかを判定する動作をさらに含み、
前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベルを減衰させる動作が、前記オーディオストリーム(16)内で何らかの音声活動が検出されるかどうかの前記判定にさらに基づく、請求項15に記載のシステム(100)。
【請求項17】
前記ASRシステム(150)が、最初に、前記開いたマイクロフォン継続時間ウィンドウ(212)の開始時に、前記オーディオストリーム(16)に対して前記ASR処理を実行するために第1の処理レベル(222)を使用し、前記第1の処理レベル(222)が、前記ASRシステム(150)の最大処理能力に関連付けられ、
前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベルを、前記開いたマイクロフォン継続時間ウィンドウ(212)の前記関数に基づいて減衰させる動作が、
前記開いたマイクロフォン継続時間ウィンドウ(212)を開始してから第1の時間間隔が経過したかどうかを判定することと、
前記第1の時間間隔が経過したとき、前記ASRシステム(150)が前記オーディオストリーム(16)に対して実行する前記ASR処理の前記レベル
を前記第1の処理レベル(222)から第2の処理レベル(222)に下げることによって
、前記ASR処理の前記レベルを減衰させることであって、前記第2の処理レベル(222)が、前記第1の処理レベル(222)よりも低い、減衰させることとを含む、請求項15または16に記載のシステム(100)。
【請求項18】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記音声対応デバイス(110)と通信するリモートサーバ(140)上での前記ASR処理の実行から、前記音声対応デバイス(110)の前記データ処理ハードウェア(112)上での前記ASR処理の実行に切り替えるように前記ASRシステム(150)に指示することを含む、請求項15から17のいずれか一項に記載のシステム(100)。
【請求項19】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記オーディオストリーム(16)に対して前記ASR処理を実行するために第1のASRモデルの使用から第2のASRモデルの使用に切り替えるように前記ASRシステム(150)に指示することであって、前記第2のASRモデルが、前記第1のASRモデルよりも少ないパラメータを含む、指示することを含む、請求項15から18のいずれか一項に記載のシステム(100)。
【請求項20】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記オーディオストリーム(16)に対して実行されるASR処理ステップの数を減らすように前記ASRシステム(150)に指示することを含む、請求項15から19のいずれか一項に記載のシステム(100)。
【請求項21】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記ASRシステム(150)の復号探索空間を小さくするためにビームサーチパラメータを調整するように前記ASRシステム(150)に指示することを含む、請求項15から20のいずれか一項に記載のシステム(100)。
【請求項22】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記ASRシステム(150)の1つまたは複数のパラメータに対して量子化および/またはスパース化を実行するように前記ASRシステム(150)に指示することを含む、請求項15から21のいずれか一項に記載のシステム(100)。
【請求項23】
前記動作が、
前記マイクロフォントリガイベント(202)の前記インジケーションが受信されるときに、現在のコンテキストを取得する動作をさらに含み、
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記現在のコンテキストに基づいて音声認識結果(152)にバイアスをかけるように前記ASRシステム(150)に指示することを含む、請求項15から22のいずれか一項に記載のシステム(100)。
【請求項24】
前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示する動作が、前記オーディオストリーム(16)に対して前記ASR処理を実行するためのシステム(100)オンチップベースの(SOCベースの)処理から、前記オーディオストリーム(16)に対して前記ASR処理を実行するためのデジタル信号プロセッサベースの(DSPベースの)処理に切り替えるように前記ASRシステム(150)に指示することを含む、請求項15から23のいずれか一項に記載のシステム(100)。
【請求項25】
前記ASRシステム(150)が、前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用している間に、前記ASRシステム(150)が、
ユーザによって話されたクエリに対応するオーディオデータ(124)の音声認識結果(152)を生成し、
前記クエリによって指定されたアクションを実行するために、前記音声認識結果(152)をアプリケーションに提供するように構成される、請求項15から24のいずれか一項に記載のシステム(100)。
【請求項26】
前記動作が、前記オーディオストリーム(16)に対して前記ASR処理の前記減衰されたレベル(204、222)を使用するように前記ASRシステム(150)に指示した後、
前記ASRシステム(150)によって出力された音声クエリに関する音声認識結果(152)の信頼度が信頼度の閾値を満たすことができないというインジケーションを受信する動作と、
前記ASRシステム(150)に、
前記ASR処理の前記レベルを前記減衰されたレベル(204、222)から上げ、
前記ASR処理の前記上げられたレベルを使用して前記音声クエリを再処理するように指示する動作と
をさらに含む、請求項15から25のいずれか一項に記載のシステム(100)。
【請求項27】
前記動作が、前記ASRシステム(150)が前記開いたマイクロフォン(116)によってキャプチャされた前記オーディオストリーム(16)に対して前記ASR処理を実行している間に、
前記開いたマイクロフォン(116)の継続時間の前記関数に基づいて前記ASRが前記オーディオストリーム(16)に対して実行する前記ASR処理の前記減衰されたレベル(204、222)がゼロに等しいときを判定する動作と、
前記ASR処理の前記減衰されたレベル(204、222)がゼロに等しいときに、前記マイクロフォン(116)に閉じるよう指示する動作とをさらに含む、請求項15から26のいずれか一項に記載のシステム(100)。
【請求項28】
前記動作が、前記音声対応デバイス(110)のグラフィカルユーザインターフェース(120)において、前記オーディオストリーム(16)に対して前記ASRシステム(150)によって実行されたASR処理の前記減衰されたレベル(204、222)を示すグラフィカルなインジケータを表示する動作をさらに含む、請求項15から27のいずれか一項に記載のシステム(100)。
【国際調査報告】