(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-19
(54)【発明の名称】部分的仮説に基づくストリーミングアクション遂行
(51)【国際特許分類】
G06F 3/16 20060101AFI20231212BHJP
G10L 15/22 20060101ALI20231212BHJP
【FI】
G06F3/16 630
G10L15/22 200Z
G06F3/16 620
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023534714
(86)(22)【出願日】2021-11-16
(85)【翻訳文提出日】2023-08-01
(86)【国際出願番号】 US2021059591
(87)【国際公開番号】W WO2022125276
(87)【国際公開日】2022-06-16
(32)【優先日】2020-12-08
(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)が、発話(20)に対応するオーディオデータ(14)を受信し、発話は、アクション(24)を実行するためのクエリ(22)を含み、クエリ(22)は、アクションを遂行するために下位アクション(26)のシーケンスの実行を必要とする。オーディオデータを受信している間、ただし、スピーチ終了条件(214)を受信する前に、方法は、中間自動音声認識(ASR)結果(212)を生成するためにオーディオデータを処理し、中間ASR結果がアクションを実行するために必要とされるアプリケーションの種類を特定するかどうかを決定するために、中間ASR結果に対して部分的なクエリの解釈を実行し、中間ASR結果が特定のアプリケーションの種類を特定するとき、ユーザデバイス上で実行するために第1のアプリケーション(118)を起動することによって、下位アクションのシーケンスの中の第1の下位アクションを実行し、第1のアプリケーションは、特定のアプリケーションの種類に関連付けられる。方法は、アクションの実行を遂行する。
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(410)において、ユーザデバイス(110)のユーザによって話された発話(20)に対応するオーディオデータ(14)を受信するステップであって、前記発話(20)が、アクション(24)を実行するためのクエリ(22)を含み、前記クエリが、前記アクション(24)を遂行するために下位アクション(26)のシーケンスの実行を必要とする、ステップと、
スピーチ終了条件(214)を受信する前に前記オーディオデータ(14)を受信している間に、
前記データ処理ハードウェア(410)によって、音声認識器(210)を使用して、中間自動音声認識(ASR)結果の第1のシーケンスを生成するために、前記受信されたオーディオデータ(14)の第1の部分を処理するステップと、
前記データ処理ハードウェア(410)によって、中間ASR結果(212)の前記第1のシーケンスが前記アクション(24)を実行するために必要とされるアプリケーションの種類を特定するかどうかを決定するために、中間ASR結果(212)の前記第1のシーケンスに対して部分的なクエリの解釈を実行するステップと、
中間ASR結果(212)の前記第1のシーケンスが特定のアプリケーションの種類を特定するとき、前記データ処理ハードウェア(410)によって、前記ユーザデバイス(110)上で実行するために第1のアプリケーション(118)を起動することによって、下位アクション(26)の前記シーケンスの中の第1の下位アクション(26)を実行するステップであって、前記第1のアプリケーション(118)が、前記特定のアプリケーションの種類に関連付けられる、ステップと、
スピーチ終了条件(214)の受信に応答して、前記データ処理ハードウェア(410)によって、前記アクション(24)の実行を遂行するステップと
を含む、方法(300)。
【請求項2】
前記スピーチ終了条件(214)を受信する前かつ前記第1のアプリケーション(118)を起動した後に、前記オーディオデータ(14)を受信している間に、
前記データ処理ハードウェア(410)によって、前記音声認識器(210)を使用して、中間ASR結果(212)の第2のシーケンスを生成するために、前記受信されたオーディオデータ(14)の第2の部分を処理するステップと、
前記データ処理ハードウェア(410)によって、前記第1のアプリケーション(118)内のコンテンツの検索クエリを特定するために、中間ASR結果(212)の前記第2のシーケンスに対して前記部分的なクエリの解釈を実行するステップと、
前記データ処理ハードウェア(410)によって、前記第1のアプリケーション(118)内の前記コンテンツの前記検索クエリを実行するように前記第1のアプリケーション(118)に命令することによって、下位アクション(26)の前記シーケンスの中の第2の下位アクション(26)を実行するステップと
をさらに含む請求項1に記載の方法(300)。
【請求項3】
前記ユーザデバイス(110)上で実行するための前記第1のアプリケーション(118)の起動に応答して、
前記データ処理ハードウェア(410)によって、前記ユーザデバイス(110)のグラフィカルユーザインターフェース(240)に、検索フィールド(242)および/または前記第1のアプリケーション(118)内のコンテンツの異なるカテゴリをそれぞれ表す複数のグラフィカル要素を有する第1の画面を表示するステップをさらに含み、
前記コンテンツの前記検索クエリを実行するように前記第1のアプリケーション(118)に命令することが、
前記第1の画面の前記検索フィールド(242)に、前記第1のアプリケーション(118)内の前記コンテンツの前記検索クエリを特徴付けるテキストを入力すること、または
前記第1の画面の前記複数のグラフィカル要素の中から、前記検索クエリによって指定された前記コンテンツを含むコンテンツの前記カテゴリを表すグラフィカル要素を選択すること
を含む請求項2に記載の方法(300)。
【請求項4】
前記第1のアプリケーション(118)が前記コンテンツの前記検索クエリを実行した後に、前記データ処理ハードウェア(410)によって、前記グラフィカルユーザインターフェース(240)に、前記検索クエリによって指定された前記コンテンツを含む1つまたは複数の結果を提示する第2の画面を表示するステップをさらに含む請求項3に記載の方法(300)。
【請求項5】
前記データ処理ハードウェア(410)において、前記第2の画面に提示された前記1つまたは複数の結果のうちの1つの選択を示すユーザ入力インジケーションを受信するステップと、
前記ユーザ入力インジケーションの受信に応答して、前記データ処理ハードウェア(410)によって、前記スピーチ終了条件(214)を検出するステップと
をさらに含む請求項4に記載の方法(300)。
【請求項6】
前記第1のアプリケーション(118)が前記コンテンツの前記検索クエリを実行した後に、
前記データ処理ハードウェア(410)によって、前記音声認識器(210)を使用して、中間ASR結果(212)の第3のシーケンスを生成するために、前記受信されたオーディオデータ(14)の第3の部分を処理するステップと、
前記データ処理ハードウェア(410)によって、より具体的なコンテンツのために前記検索クエリを更新するべきかどうかを決定するために、中間ASR結果(212)の前記第3のシーケンスに対して前記部分的なクエリの解釈を実行するステップと、
中間検索結果の前記第3のシーケンスに対して実行された前記部分的なクエリの解釈が、より具体的なコンテンツのために前記検索クエリを更新すると決定するとき、前記データ処理ハードウェア(410)によって、前記より具体的なコンテンツのために前記検索クエリを更新するように前記第1のアプリケーション(118)に命令することによって、下位アクション(26)の前記シーケンスの中の第3の下位アクション(26)を実行するステップと
をさらに含む請求項2から5のいずれか一項に記載の方法(300)。
【請求項7】
中間ASR結果(212)の前記第1のシーケンスに対して前記部分的なクエリの解釈を実行するステップが、中間ASR結果(212)の前記第1のシーケンスが前記特定のアプリケーションの種類を特定すると決定し、かつ前記アクション(24)を遂行する際に使用するための特定のアプリケーション(118)の名前を示すことに関連するスロット値を指定することに失敗すると決定し、
下位アクション(26)の前記シーケンスの中の前記第1の下位アクション(26)を実行するステップが、前記特定のアプリケーションの種類に関連するデフォルトアプリケーション(118)として前記第1のアプリケーション(118)を起動することを含む請求項1から6のいずれか一項に記載の方法(300)。
【請求項8】
前記スピーチ終了条件(214)を受信する前かつ前記第1のアプリケーション(118)を起動した後に、前記オーディオデータ(14)を受信している間に、
前記データ処理ハードウェア(410)によって、前記音声認識器(210)を使用して、中間ASR結果(212)の第2のシーケンスを生成するために、前記受信されたオーディオデータ(14)の第2の部分を処理するステップと、
前記データ処理ハードウェア(410)によって、中間ASR結果(212)の前記第2のシーケンスが前記アクション(24)を遂行するために使用する第2のアプリケーション(118)を特定するかどうかを決定するために、中間ASR結果(212)の前記第2のシーケンスに対して前記部分的なクエリの解釈を実行するステップと、
中間ASR結果(212)の前記第2のシーケンスが前記アクション(24)を遂行する際に使用するための前記第2のアプリケーション(118)を特定するとき、
前記データ処理ハードウェア(410)によって、前記ユーザデバイス(110)上での前記第1のアプリケーション(118)の実行を中止することによって、前記第1の下位アクション(26)の実行をロールバックするステップと、
前記データ処理ハードウェア(410)によって、前記ユーザデバイス(110)上で実行するために前記第2のアプリケーション(118)を起動することによって、下位アクション(26)の前記シーケンスの中の前記第1の下位アクション(26)を再実行するステップと
をさらに含む請求項7に記載の方法(300)。
【請求項9】
前記スピーチ終了条件(214)を受信する前に前記オーディオデータ(14)を受信している間に、
中間ASR結果(212)の前記第1のシーケンスが前記特定のアプリケーションの種類を特定するとき、前記データ処理ハードウェア(410)によって、前記ユーザデバイス(110)上で並列的に実行するために前記第1のアプリケーション(118)と第2のアプリケーション(118)との両方を起動することによって、下位アクション(26)の前記シーケンスの中の前記第1の下位アクション(26)を実行するステップであって、前記第1のアプリケーション(118)および前記第2のアプリケーション(118)が、両方とも前記特定のアプリケーションの種類に関連付けられる、ステップと、
前記データ処理ハードウェア(410)によって、前記ユーザデバイス(110)のグラフィカルユーザインターフェース(240)に第1のグラフィカル要素および第2のグラフィカル要素を同時に表示するステップであって、前記第1のグラフィカル要素が、前記ユーザデバイス(110)上で実行される前記第1のアプリケーション(118)を表し、前記第2のグラフィカル要素が、前記ユーザデバイス(110)上で実行される前記第2のグラフィカル要素を表す、ステップと
をさらに含む請求項1から8のいずれか一項に記載の方法(300)。
【請求項10】
前記データ処理ハードウェア(410)において、前記グラフィカルユーザインターフェース(240)に表示された前記第1のグラフィカル要素または前記第2のグラフィカル要素のうちの1つの選択を示すユーザ入力インジケーションを受信するステップと、
前記ユーザ入力インジケーションの受信に応答して、
前記データ処理ハードウェア(410)によって、前記第1のグラフィカル要素または前記第2のグラフィカル要素のうちの選択された1つによって表される前記第1のアプリケーション(118)または前記第2のアプリケーション(118)の一方の実行を維持するステップと、
前記データ処理ハードウェア(410)によって、前記ユーザ入力インジケーションによって選択されなかった前記第1のグラフィカル要素または前記第2のグラフィカル要素のうちの1つによって表される前記第1のアプリケーション(118)または前記第2のアプリケーション(118)の他方の実行を中止するステップと
をさらに含む請求項9に記載の方法(300)。
【請求項11】
前記スピーチ終了条件(214)を受信する前かつ前記第1のアプリケーション(118)を起動した後に、前記オーディオデータ(14)を受信している間に、
前記データ処理ハードウェア(410)によって、前記音声認識器(210)を使用して、中間ASR結果(212)の第2のシーケンスを生成するために、前記受信されたオーディオデータ(14)の第2の部分を処理するステップと、
前記データ処理ハードウェア(410)によって、下位アクション(26)の前記シーケンスの中の第2の下位アクション(26)を特定するために、中間ASR結果(212)の前記第2のシーケンスに対して前記部分的なクエリの解釈を実行するステップと、
前記データ処理ハードウェア(410)によって、前記第2の下位アクション(26)に関連するロールバック実行可能性スコアを決定するステップであって、前記ロールバック実行可能性スコアが、前記第2の下位アクション(26)を実行することがロールバックされなければならない場合にユーザエクスペリエンスが低下させられる尤度を示す、ステップと、
前記ロールバック実行可能性スコアがロールバック実行可能性しきい値を満たすとき、前記データ処理ハードウェア(410)によって、前記第2の下位アクション(26)を実行するステップと
をさらに含む請求項1から10のいずれか一項に記載の方法(300)。
【請求項12】
前記ロールバック実行可能性スコアが前記ロールバック実行可能性しきい値を満たさないとき、前記データ処理ハードウェア(410)によって、前記スピーチ終了条件(214)が受信されるまで、前記第2の下位アクション(26)の実行を遅らせるステップをさらに含む請求項11に記載の方法(300)。
【請求項13】
前記データ処理ハードウェア(410)によって、中間ASR結果(212)の前記第2のシーケンスに対して前記部分的なクエリの解釈を実行することによって特定された第2の下位アクション(26)の信頼度スコアを決定するステップと、
前記第2の下位アクション(26)の前記信頼度スコアが信頼度しきい値を満たすことができないとき、前記データ処理ハードウェア(410)によって、前記第2の下位アクション(26)が正しく特定されているかどうかを確認するように前記ユーザに促すステップと
をさらに含む請求項11または12に記載の方法(300)。
【請求項14】
前記スピーチ終了条件(214)を決定することが、前記音声認識器(210)を使用して、受信されたオーディオ内の非スピーチの少なくとも最小継続時間を検出することを含む請求項1から13のいずれか一項に記載の方法(300)。
【請求項15】
データ処理ハードウェア(410)と、
前記データ処理ハードウェア(410)と通信するメモリハードウェア(420)であって、前記データ処理ハードウェア(410)上で実行されると、前記データ処理ハードウェア(410)に、
ユーザデバイス(110)のユーザによって話された発話(20)に対応するオーディオデータ(14)を受信することであって、前記発話(20)が、アクション(24)を実行するためのクエリ(22)を含み、前記クエリ(22)が、前記アクション(24)を遂行するために下位アクション(26)のシーケンスの実行を必要とする、受信することと、
スピーチ終了条件(214)を受信する前に前記オーディオデータ(14)を受信している間に、
音声認識器(210)を使用して、中間自動音声認識(ASR)結果の第1のシーケンスを生成するために、受信されたオーディオデータ(14)の第1の部分を処理することと、
中間ASR結果(212)の前記第1のシーケンスが前記アクション(24)を実行するために必要とされるアプリケーションの種類を特定するかどうかを決定するために、中間ASR結果(212)の前記第1のシーケンスに対して部分的なクエリの解釈を実行することと、
中間ASR結果(212)の前記第1のシーケンスが特定のアプリケーションの種類を特定するとき、前記ユーザデバイス(110)上で実行するために第1のアプリケーション(118)を起動することによって、下位アクション(26)の前記シーケンスの中の第1の下位アクション(26)を実行することであって、前記第1のアプリケーション(118)が、前記特定のアプリケーションの種類に関連付けられる、実行することと、
スピーチ終了条件(214)の受信に応答して、前記データ処理ハードウェア(410)によって、前記アクション(24)の実行を遂行することと
を含む動作を実行させる命令を記憶する、メモリハードウェア(420)と
を含むシステム(100)。
【請求項16】
前記動作が、
前記スピーチ終了条件(214)を受信する前かつ前記第1のアプリケーション(118)を起動した後に、前記オーディオデータ(14)を受信している間に、
前記音声認識器(210)を使用して、中間ASR結果(212)の第2のシーケンスを生成するために、前記受信されたオーディオデータ(14)の第2の部分を処理することと、
前記第1のアプリケーション(118)内のコンテンツの検索クエリを特定するために、中間ASR結果(212)の前記第2のシーケンスに対して前記部分的なクエリの解釈を実行することと、
前記第1のアプリケーション(118)内の前記コンテンツの前記検索クエリを実行するように前記第1のアプリケーション(118)に命令することによって、下位アクション(26)の前記シーケンスの中の第2の下位アクション(26)を実行することと
をさらに含む請求項15に記載のシステム(100)。
【請求項17】
前記動作が、
前記ユーザデバイス(110)上で実行するための前記第1のアプリケーション(118)の起動に応答して、
前記データ処理ハードウェア(410)によって、前記ユーザデバイス(110)のグラフィカルユーザインターフェース(240)に、検索フィールド(242)および/または前記第1のアプリケーション(118)内のコンテンツの異なるカテゴリをそれぞれ表す複数のグラフィカル要素を有する第1の画面を表示することをさらに含み、
前記コンテンツの前記検索クエリを実行するように前記第1のアプリケーション(118)に命令することが、
前記第1の画面の前記検索フィールド(242)に、前記第1のアプリケーション(118)内の前記コンテンツの前記検索クエリを特徴付けるテキストを入力すること、または
前記第1の画面の前記複数のグラフィカル要素の中から、前記検索クエリによって指定された前記コンテンツを含むコンテンツの前記カテゴリを表す前記グラフィカル要素を選択すること
を含む請求項16に記載のシステム(100)。
【請求項18】
前記動作が、
前記第1のアプリケーション(118)が前記コンテンツの前記検索クエリを実行した後に、前記グラフィカルユーザインターフェース(240)に、前記検索クエリによって指定された前記コンテンツを含む1つまたは複数の結果を提示する第2の画面を表示することをさらに含む請求項17に記載のシステム(100)。
【請求項19】
前記動作が、
前記第2の画面に提示された前記1つまたは複数の結果のうちの1つの選択を示すユーザ入力インジケーションを受信することと、
前記ユーザ入力インジケーションの受信に応答して、前記スピーチ終了条件(214)を検出することと
をさらに含む請求項18に記載のシステム(100)。
【請求項20】
前記動作が、
前記第1のアプリケーション(118)が前記コンテンツの前記検索クエリを実行した後に、
前記データ処理ハードウェア(410)によって、前記音声認識器(210)を使用して、中間ASR結果(212)の第3のシーケンスを生成するために、前記受信されたオーディオデータ(14)の第3の部分を処理することと、
前記データ処理ハードウェア(410)によって、より具体的なコンテンツのために前記検索クエリを更新するべきかどうかを決定するために、中間ASR結果(212)の前記第3のシーケンスに対して前記部分的なクエリの解釈を実行することと、
中間検索結果の前記第3のシーケンスに対して実行された前記部分的なクエリの解釈が、より具体的なコンテンツのために前記検索クエリを更新すると決定するとき、前記データ処理ハードウェア(410)によって、前記より具体的なコンテンツのために前記検索クエリを更新するように前記第1のアプリケーション(118)に命令することによって、下位アクション(26)の前記シーケンスの中の第3の下位アクション(26)を実行することと
をさらに含む請求項16から19のいずれか一項に記載のシステム(100)。
【請求項21】
中間ASR結果(212)の前記第1のシーケンスに対して前記部分的なクエリの解釈を実行することが、中間ASR結果(212)の前記第1のシーケンスが前記特定のアプリケーションの種類を特定すると決定し、かつ前記アクション(24)を遂行する際に使用するための特定のアプリケーション(118)の名前を示すことに関連するスロット値を指定することに失敗すると決定し、
下位アクション(26)の前記シーケンスの中の前記第1の下位アクション(26)を実行することが、前記特定のアプリケーションの種類に関連するデフォルトアプリケーション(118)として前記第1のアプリケーション(118)を起動することを含む請求項15から20のいずれか一項に記載のシステム(100)。
【請求項22】
前記動作が、
前記スピーチ終了条件(214)を受信する前かつ前記第1のアプリケーション(118)を起動した後に、前記オーディオデータ(14)を受信している間に、
前記音声認識器(210)を使用して、中間ASR結果(212)の第2のシーケンスを生成するために、前記受信されたオーディオデータ(14)の第2の部分を処理することと、
中間ASR結果(212)の前記第2のシーケンスが前記アクション(24)を遂行するために使用する第2のアプリケーション(118)を特定するかどうかを決定するために、中間ASR結果(212)の前記第2のシーケンスに対して前記部分的なクエリの解釈を実行することと、
中間ASR結果(212)の前記第2のシーケンスが前記アクション(24)を遂行する際に使用するための前記第2のアプリケーション(118)を特定するとき、
前記ユーザデバイス(110)上での前記第1のアプリケーション(118)の実行を中止することによって、前記第1の下位アクション(26)の実行をロールバックすることと、
前記ユーザデバイス(110)上で実行するために前記第2のアプリケーション(118)を起動することによって、下位アクション(26)の前記シーケンスの中の前記第1の下位アクション(26)を再実行することと
をさらに含む請求項21に記載のシステム(100)。
【請求項23】
前記動作が、
前記スピーチ終了条件(214)を受信する前に前記オーディオデータ(14)を受信している間に、
中間ASR結果(212)の前記第1のシーケンスが前記特定のアプリケーションの種類を特定するとき、前記ユーザデバイス(110)上で並列的に実行するために前記第1のアプリケーション(118)と第2のアプリケーション(118)との両方を起動することによって、下位アクション(26)の前記シーケンスの中の前記第1の下位アクション(26)を実行することであって、前記第1のアプリケーション(118)および前記第2のアプリケーション(118)が、両方とも前記特定のアプリケーションの種類に関連付けられる、実行することと、
前記ユーザデバイス(110)のグラフィカルユーザインターフェース(240)に第1のグラフィカル要素および第2のグラフィカル要素を同時に表示することであって、前記第1のグラフィカル要素が、前記ユーザデバイス(110)上で実行される前記第1のアプリケーション(118)を表し、前記第2のグラフィカル要素が、前記ユーザデバイス(110)上で実行される前記第2のグラフィカル要素を表す、表示することと
をさらに含む請求項15から22のいずれか一項に記載のシステム(100)。
【請求項24】
前記動作が、
前記グラフィカルユーザインターフェース(240)に表示された前記第1のグラフィカル要素または前記第2のグラフィカル要素のうちの1つの選択を示すユーザ入力インジケーションを受信することと、
前記ユーザ入力インジケーションの受信に応答して、
前記第1のグラフィカル要素または前記第2のグラフィカル要素のうちの選択された1つによって表される前記第1のアプリケーション(118)または前記第2のアプリケーション(118)の一方の実行を維持することと、
前記ユーザ入力インジケーションによって選択されなかった前記第1のグラフィカル要素または前記第2のグラフィカル要素のうちの1つによって表される前記第1のアプリケーション(118)または前記第2のアプリケーション(118)の他方の実行を中止することと
をさらに含む請求項23に記載のシステム(100)。
【請求項25】
前記動作が、
前記スピーチ終了条件(214)を受信する前かつ前記第1のアプリケーション(118)を起動した後に、前記オーディオデータ(14)を受信している間に、
前記音声認識器(210)を使用して、中間ASR結果(212)の第2のシーケンスを生成するために、前記受信されたオーディオデータ(14)の第2の部分を処理することと、
下位アクション(26)の前記シーケンスの中の第2の下位アクション(26)を特定するために、中間ASR結果(212)の前記第2のシーケンスに対して前記部分的なクエリの解釈を実行することと、
前記第2の下位アクション(26)に関連するロールバック実行可能性スコアを決定することであって、前記ロールバック実行可能性スコアが、前記第2の下位アクション(26)を実行することがロールバックされなければならない場合にユーザエクスペリエンスが低下させられる尤度を示す、決定することと、
前記ロールバック実行可能性スコアがロールバック実行可能性しきい値を満たすとき、前記データ処理ハードウェア(410)によって、前記第2の下位アクション(26)を実行することと
をさらに含む請求項15から24のいずれか一項に記載のシステム(100)。
【請求項26】
前記動作が、
前記ロールバック実行可能性スコアが前記ロールバック実行可能性しきい値を満たさないとき、前記スピーチ終了条件(214)が受信されるまで、前記第2の下位アクション(26)の実行を遅らせることをさらに含む請求項25に記載のシステム(100)。
【請求項27】
前記動作が、
中間ASR結果(212)の前記第2のシーケンスに対して前記部分的なクエリの解釈を実行することによって特定された第2の下位アクション(26)の信頼度スコアを決定することと、
前記第2の下位アクション(26)の前記信頼度スコアが信頼度しきい値を満たすことができないとき、前記第2の下位アクション(26)が正しく特定されているかどうかを確認するように前記ユーザに促すことと
をさらに含む請求項25に記載のシステム(100)。
【請求項28】
前記スピーチ終了条件(214)を決定することが、前記音声認識器(210)を使用して、受信されたオーディオ内の非スピーチの少なくとも最小継続時間を検出することを含む請求項15から27のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、部分的仮説に基づくストリーミングアクション遂行に関する。
【背景技術】
【0002】
ユーザは、デジタルアシスタントインターフェースを通じて、スマートフォン、スマートウォッチ、およびスマートスピーカなどの音声対応デバイスと頻繁にインタラクションする。これらのデジタルアシスタントインターフェースは、すべて自然な会話によるインタラクションを通じて、ユーザがタスクを完了し、それらのユーザが持っている質問に対する答えを取得することを可能にする。理想的には、デジタルアシスタントインターフェースと会話するとき、ユーザは、デジタルアシスタントインターフェースを実行するそのユーザの音声対応デバイスに向けられた口頭の要求によって、あたかもユーザが別の人と話しているかのようにコミュニケーションすることができるべきである。デジタルアシスタントインターフェースは、アクションが実行され得るように口頭の要求を処理し、認識するために、これらの口頭の要求を自動音声認識器に提供する。
【0003】
デジタルアシスタントインターフェースは、モバイルデバイスに移行しつつあり、音声認識処理の多くは、クラウドベースの音声認識サーバを使用して音声認識を実行するためにネットワークを介してサーバに接続し、サーバにオーディオデータを送信するために追加のレイテンシを発生させることなくオンデバイスで行われる。レイテンシを改善することに加えて、オンデバイス音声認識のその他の利点は、向上した信頼性およびプライバシーを含む。したがって、デジタルアシスタントインターフェースは、モバイルデバイス上で実行される様々なアプリケーションおよびオペレーティングシステムと深く統合されつつあり、それによって、ユーザが自分の声だけを使用して自分のモバイルデバイスを制御することを可能にする。しかし、ユーザデバイスにインストールされるこれらのアプリケーションは、それら自体が低速であるか、信頼性が低いか、またはサーバへのネットワークアクセスを必要とし、それによって、オンデバイスデジタルアシスタントインターフェースが提供する利点を抑制する場合があり、遅いユーザエクスペリエンスにつながり得る。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の一態様は、ストリーミングアクション遂行のための方法を提供する。方法は、データ処理ハードウェアにおいて、ユーザデバイスのユーザによって話された発話に対応するオーディオデータを受信するステップであって、発話が、アクションを実行するためのクエリを含み、クエリが、アクションを遂行するために下位アクションのシーケンスの実行を必要とする、ステップを含む。オーディオデータを受信している間、ただし、スピーチ終了条件(end of speech condition)を受信する前に、方法は、中間自動音声認識(ASR)結果の第1のシーケンスを生成するために、受信されたオーディオデータの第1の部分を、音声認識器を使用してデータ処理ハードウェアによって処理するステップも含む。オーディオデータを受信している間、ただし、スピーチ終了条件を受信する前に、方法は、中間ASR結果の第1のシーケンスがアクションを実行するために必要とされるアプリケーションの種類を特定するかどうかを決定するために、データ処理ハードウェアによって、中間ASR結果の第1のシーケンスに対して部分的なクエリの解釈を実行するステップと、中間ASR結果の第1のシーケンスが特定のアプリケーションの種類を特定するとき、ユーザデバイス上で実行するために第1のアプリケーションを起動することによって、下位アクションのシーケンスの中の第1の下位アクションをデータ処理ハードウェアにより実行するステップであって、第1のアプリケーションが、特定のアプリケーションの種類に関連付けられる、ステップとをさらに含む。方法は、スピーチ終了条件の受信に応答して、データ処理ハードウェアによってアクションの実行を遂行するステップをさらに含む。スピーチ終了条件を決定することは、音声認識器を使用して、受信されたオーディオ内の非スピーチの少なくとも最小継続時間を検出することを含んでよい。
【0005】
本開示の実装は、以下の任意の特徴のうちの1つまたは複数を含む場合がある。一部の実装においては、スピーチ終了条件を受信する前および第1のアプリケーションを起動した後にオーディオデータを受信している間に、方法は、中間ASR結果の第2のシーケンスを生成するために、受信されたオーディオデータの第2の部分を、音声認識器を使用してデータ処理ハードウェアによって処理するステップと、第1のアプリケーション内のコンテンツの検索クエリを特定するために、データ処理ハードウェアによって、中間ASR結果の第2のシーケンスに対して部分的なクエリの解釈を実行するステップと、第1のアプリケーション内のコンテンツの検索クエリを実行するように第1のアプリケーションに命令することによって、データ処理ハードウェアにより、アクションのシーケンスの中の第2の下位アクションを実行するステップとをさらに含む。これらの実装においては、ユーザデバイス上で実行するための第1のアプリケーションの起動に応答して、方法は、データ処理ハードウェアによって、ユーザデバイスのグラフィカルユーザインターフェースに、検索フィールドおよび/または第1のアプリケーション内のコンテンツの異なるカテゴリをそれぞれ表す複数のグラフィカル要素を有する初期画面を表示するステップをさらに含む。ここで、コンテンツの検索クエリを実行するように第1のアプリケーションに命令することは、第1の画面の検索フィールドに、第1のアプリケーション内のコンテンツの検索クエリを特徴付けるテキストを入力すること、または第1の画面の複数のグラフィカル要素の中から、検索クエリによって指定されたコンテンツを含むコンテンツのカテゴリを表すグラフィカル要素を選択することを含む。これらの実装は、第1のアプリケーションがコンテンツの検索クエリを実行した後に、データ処理ハードウェアによって、グラフィカルユーザインターフェースに、検索クエリによって指定されたコンテンツを含む1つまたは複数の結果を提示する第2の画面を表示するステップをさらに含んでよい。これらの実装において、方法は、データ処理ハードウェアにおいて、第2の画面に提示された結果のうちの1つの選択を示すユーザ入力インジケーションを受信するステップと、ユーザ入力インジケーションの受信に応答して、データ処理ハードウェアによって、スピーチ終了条件を検出するステップとをさらに含んでよい。これらの実装は、第1のアプリケーションがコンテンツの検索クエリを実行した後に、中間ASR結果の第3のシーケンスを生成するために、受信されたオーディオデータの第3の部分を、音声認識器を使用してデータ処理ハードウェアによって処理するステップと、より具体的なコンテンツのために検索クエリを更新するべきかどうかを決定するために、データ処理ハードウェアによって、中間ASR結果の第3のシーケンスに対して部分的なクエリの解釈を実行するステップと、中間検索結果の第3のシーケンスに対して実行された部分的なクエリの解釈が、より具体的なコンテンツのために検索クエリを更新すると決定するとき、より具体的なコンテンツのために検索クエリを更新するように第1のアプリケーションに命令することによって、データ処理ハードウェアにより、下位アクションのシーケンスの中の第3の下位アクションを実行するステップとをさらに含んでよい。
【0006】
一部の構成において、中間ASR結果の第1のシーケンスに対して部分的なクエリの解釈を実行するステップは、中間ASR結果の第1のシーケンスが特定のアプリケーションの種類を特定し、アクションを遂行する際に使用するための特定のアプリケーションの名前を示すことに関連するスロット値を指定することに失敗すると決定する場合がある。ここで、下位アクションのシーケンスの中の第1の下位アクションを実行するステップは、特定のアプリケーションの種類に関連するデフォルトアプリケーションとして第1のアプリケーションを起動することを含む。これらの構成においては、スピーチ終了条件を受信する前および第1のアプリケーションを起動した後にオーディオデータを受信している間に、方法は、中間ASR結果の第2のシーケンスを生成するために、受信されたオーディオデータの第2の部分を、音声認識器を使用してデータ処理ハードウェアによって処理するステップと、中間ASR結果の第2のシーケンスがアクションを遂行するために使用する第2のアプリケーションを特定するかどうかを決定するために、データ処理ハードウェアによって、中間ASR結果の第2のシーケンスに対して部分的なクエリの解釈を実行するステップとをさらに含む。さらに、これらの構成において、中間ASR結果の第2のシーケンスがアクションを遂行する際に使用するための第2のアプリケーションを特定するとき、方法は、データ処理ハードウェアによって、ユーザデバイス上での第1のアプリケーションの実行を中止することによって、第1の下位アクションの実行をロールバックするステップと、ユーザデバイス上で実行するために第2のアプリケーションを起動することによって、データ処理ハードウェアにより、アクションのシーケンスの中の第1の下位アクションを再実行するステップとをさらに含む。
【0007】
一部の例においては、スピーチ終了条件を受信する前および第1のアプリケーションを起動した後にオーディオデータを受信している間に、方法は、中間ASR結果の第2のシーケンスを生成するために、受信されたオーディオデータの第2の部分を、音声認識器を使用してデータ処理ハードウェアによって処理するステップと、下位アクションのシーケンスの中の第2の下位アクションを特定するために、データ処理ハードウェアによって、中間ASR結果の第2のシーケンスに対して部分的なクエリの解釈を実行するステップとをさらに含む。これらの例においては、スピーチ終了条件を受信する前および第1のアプリケーションを起動した後にオーディオデータを受信している間に、方法は、データ処理ハードウェアによって、第2の下位アクションに関連するロールバック実行可能性スコアを決定するステップであって、ロールバック実行可能性が、第2の下位アクションを実行することがロールバックされなければならない場合にユーザエクスペリエンスが低下させられる尤度(likelihood)を示す、ステップと、ロールバック実行可能性スコアがロールバック実行可能性しきい値を満たすとき、データ処理ハードウェアによって第2の下位アクションを実行するステップとをさらに含む。ロールバック実行可能性スコアがロールバック実行可能性しきい値を満たさないとき、方法は、スピーチ終了条件が受信されるまで、データ処理ハードウェアによって、第2の下位アクションの実行を遅らせてよい。やはりこれらの例において、方法は、データ処理ハードウェアによって、中間ASR結果の第2のシーケンスに対して部分的なクエリの解釈を実行することにより特定された第2の下位アクションの信頼度スコアを決定するステップと、第2の下位アクションの信頼度スコアが信頼度しきい値を満たすことができないとき、データ処理ハードウェアによって、第2の下位アクションが正しく特定されているかどうかを確認するようにユーザに促すステップとをさらに含んでよい。
【0008】
本開示の別の態様は、ストリーミングアクション遂行のためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されるときにデータ処理ハードウェアに動作を実行させる命令を記憶する。動作は、ユーザデバイスのユーザによって話された発話に対応するオーディオデータを受信する動作であって、発話が、アクションを実行するためのクエリを含み、クエリが、アクションを遂行するために下位アクションのシーケンスの実行を必要とする、動作を含む。オーディオデータを受信している間、ただし、スピーチ終了条件を受信する前に、動作は、中間自動音声認識(ASR)結果の第1のシーケンスを生成するために、受信されたオーディオデータの第1の部分を、音声認識器を使用して処理する動作をさらに含む。オーディオデータを受信している間、ただし、スピーチ終了条件を受信する前に、動作は、中間ASR結果の第1のシーケンスがアクションを実行するために必要とされるアプリケーションの種類を特定するかどうかを決定するために、中間ASR結果の第1のシーケンスに対して部分的なクエリの解釈を実行する動作と、中間ASR結果の第1のシーケンスが特定のアプリケーションの種類を特定するとき、ユーザデバイス上で実行するために第1のアプリケーションを起動することによって、下位アクションのシーケンスの中の第1の下位アクションを実行する動作であって、第1のアプリケーションが、特定のアプリケーションの種類に関連付けられる、動作とをさらに含む。動作は、スピーチ終了条件の受信に応答して、アクションの実行を遂行する動作をさらに含む。スピーチ終了条件を決定することは、音声認識器を使用して、受信されたオーディオ内の非スピーチの少なくとも最小継続時間を検出することを含んでよい。
【0009】
本開示の実装は、以下の任意の特徴のうちの1つまたは複数を含む場合がある。一部の実装においては、スピーチ終了条件を受信する前および第1のアプリケーションを起動した後にオーディオデータを受信している間に、動作は、中間ASR結果の第2のシーケンスを生成するために、受信されたオーディオデータの第2の部分を、音声認識器を使用して処理する動作と、第1のアプリケーション内のコンテンツの検索クエリを特定するために中間ASR結果の第2のシーケンスに対して部分的なクエリの解釈を実行する動作と、第1のアプリケーション内のコンテンツの検索クエリを実行するように第1のアプリケーションに命令することによって、アクションのシーケンスの中の第2の下位アクションを実行する動作とをさらに含む。これらの実装においては、ユーザデバイス上で実行するための第1のアプリケーションの起動に応答して、動作は、ユーザデバイスのグラフィカルユーザインターフェースに、検索フィールドおよび/または第1のアプリケーション内のコンテンツの異なるカテゴリをそれぞれ表す複数のグラフィカル要素を有する初期画面を表示する動作をさらに含む。ここで、コンテンツの検索クエリを実行するように第1のアプリケーションに命令することは、第1の画面の検索フィールドに、第1のアプリケーション内のコンテンツの検索クエリを特徴付けるテキストを入力すること、または第1の画面の複数のグラフィカル要素の中から、検索クエリによって指定されたコンテンツを含むコンテンツのカテゴリを表すグラフィカル要素を選択することを含む。これらの実装は、第1のアプリケーションがコンテンツの検索クエリを実行した後に、グラフィカルユーザインターフェースに、検索クエリによって指定されたコンテンツを含む1つまたは複数の結果を提示する第2の画面を表示する動作をさらに含んでよい。これらの実装において、動作は、第2の画面に提示された結果のうちの1つの選択を示すユーザ入力インジケーションを受信する動作と、ユーザ入力インジケーションの受信に応答して、スピーチ終了条件を検出する動作とをさらに含んでよい。これらの実装は、第1のアプリケーションがコンテンツの検索クエリを実行した後に、中間ASR結果の第3のシーケンスを生成するために、受信されたオーディオデータの第3の部分を、音声認識器を使用して処理する動作と、より具体的なコンテンツのために検索クエリを更新するべきかどうかを決定するために、中間ASR結果の第3のシーケンスに対して部分的なクエリの解釈を実行する動作と、中間検索結果の第3のシーケンスに対して実行された部分的なクエリの解釈が、より具体的なコンテンツのために検索クエリを更新すると決定するとき、より具体的なコンテンツのために検索クエリを更新するように第1のアプリケーションに命令することによって、下位アクションのシーケンスの中の第3の下位アクションを実行する動作とをさらに含んでよい。
【0010】
一部の構成において、中間ASR結果の第1のシーケンスに対して部分的なクエリの解釈を実行する動作は、中間ASR結果の第1のシーケンスが特定のアプリケーションの種類を特定し、アクションを遂行する際に使用するための特定のアプリケーションの名前を示すことに関連するスロット値を指定することに失敗すると決定する場合がある。ここで、下位アクションのシーケンスの中の第1の下位アクションを実行する動作は、特定のアプリケーションの種類に関連するデフォルトアプリケーションとして第1のアプリケーションを起動することを含む。これらの構成においては、スピーチ終了条件を受信する前および第1のアプリケーションを起動した後にオーディオデータを受信している間に、動作は、中間ASR結果の第2のシーケンスを生成するために、受信されたオーディオデータの第2の部分を、音声認識器を使用して処理する動作と、中間ASR結果の第2のシーケンスがアクションを遂行するために使用する第2のアプリケーションを特定するかどうかを決定するために、データ処理ハードウェアによって、中間ASR結果の第2のシーケンスに対して部分的なクエリの解釈を実行する動作とをさらに含む。さらに、これらの構成において、中間ASR結果の第2のシーケンスがアクションを遂行する際に使用するための第2のアプリケーションを特定するとき、動作は、ユーザデバイス上での第1のアプリケーションの実行を中止することによって、第1の下位アクションの実行をロールバックする動作と、ユーザデバイス上で実行するために第2のアプリケーションを起動することによって、データ処理ハードウェアにより、アクションのシーケンスの中の第1の下位アクションを再実行する動作とをさらに含む。
【0011】
一部の例においては、スピーチ終了条件を受信する前および第1のアプリケーションを起動した後にオーディオデータを受信している間に、動作は、中間ASR結果の第2のシーケンスを生成するために、受信されたオーディオデータの第2の部分を、音声認識器を使用して処理する動作と、下位アクションのシーケンスの中の第2の下位アクションを特定するために、データ処理ハードウェアによって、中間ASR結果の第2のシーケンスに対して部分的なクエリの解釈を実行する動作とをさらに含む。これらの例においては、スピーチ終了条件を受信する前および第1のアプリケーションを起動した後にオーディオデータを受信している間に、動作は、第2の下位アクションに関連するロールバック実行可能性スコアを決定する動作であって、ロールバック実行可能性が、第2の下位アクションを実行することがロールバックされなければならない場合にユーザエクスペリエンスが低下させられる尤度を示す、動作と、ロールバック実行可能性スコアがロールバック実行可能性しきい値を満たすとき、データ処理ハードウェアによって第2の下位アクションを実行する動作とをさらに含む。ロールバック実行可能性スコアがロールバック実行可能性しきい値を満たさないとき、動作は、スピーチ終了条件が受信されるまで第2の下位アクションの実行を遅らせてよい。やはりこれらの例において、動作は、データ処理ハードウェアによって、中間ASR結果の第2のシーケンスに対して部分的なクエリの解釈を実行することにより特定された第2の下位アクションの信頼度スコアを決定する動作と、第2の下位アクションの信頼度スコアが信頼度しきい値を満たすことができないとき、データ処理ハードウェアによって、第2の下位アクションが正しく特定されているかどうかを確認するようにユーザに促す動作とをさらに含んでよい。
【0012】
本開示の1つまたは複数の実装の詳細が、添付の図面および以下の説明に記載されている。その他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0013】
【
図1】部分的な音声認識結果に基づいて遂行を実行するための例示的なスピーチ環境の概略図である。
【
図2A】
図1のスピーチ環境のための例示的なアシスタントインターフェースの概略図である。
【
図2B】
図1のスピーチ環境のための例示的なアシスタントインターフェースの概略図である。
【
図2C】
図1のスピーチ環境のための例示的なアシスタントインターフェースの概略図である。
【
図2D】
図1のスピーチ環境のための例示的なアシスタントインターフェースの概略図である。
【
図2E】
図1のスピーチ環境のための例示的なアシスタントインターフェースの概略図である。
【
図2F】
図1のスピーチ環境のための例示的なアシスタントインターフェースの概略図である。
【
図2G】
図1のスピーチ環境のための例示的なアシスタントインターフェースの概略図である。
【
図2H】
図1のスピーチ環境のための例示的なアシスタントインターフェースの概略図である。
【
図3】部分的な音声認識結果に基づいて遂行を実行する方法の動作の例示的な配列の流れ図である。
【
図4】本明細書に記載のシステムおよび方法を実装するために使用されてよい例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0014】
様々な図面における同様の参照符号は、同様の要素を示す。
【0015】
通常、自然な会話によるインタラクションを通じてユーザがタスクを完了し、それらのユーザが持っている質問に対する答えを取得することを可能にするデジタルアシスタントインターフェースは、音声認識および言語理解モデルをサポートするためにサーバの処理を必要とした。これらのサーバベースのモデルは、デバイス上の利用可能なストレージまたはメモリを超える可能性があるそれらのモデルのサイズが原因で、デバイス上での実行には適していなかった。しかし、リカレントニューラルネットワークの最近の進歩は、オンデバイスの記憶および処理に適した、(たとえば、0.5ギガバイト未満の)大幅に削減されたサイズの新しい音声認識および言語理解モデルの開発を可能にした。したがって、デジタルアシスタントインターフェースは、モバイルデバイスに移行しつつあり、音声認識処理の多くは、クラウドベースの音声認識サーバを使用して音声認識を実行するためにネットワークを介してサーバに接続し、サーバにオーディオデータを送信するために追加のレイテンシを発生させることなくオンデバイスで行われる。ネットワーク接続なしに、リアルタイムでスピーチの文字起こし(transcription)が行われ得るので、ユーザエクスペリエンスが飛躍的に高められる。レイテンシを改善することに加えて、オンデバイス音声認識のその他の利点は、向上した信頼性およびプライバシーを含む。したがって、デジタルアシスタントインターフェースは、モバイルデバイス上で実行される様々なアプリケーションおよびオペレーティングシステムと深く統合されつつあり、それによって、ユーザが自分の声だけを使用して自分のモバイルデバイスを制御することを可能にする。たとえば、ユーザは、カレンダー招待(calendar invite)を作成すること、写真を見つけ、友人と共有すること、または電子メールを口述することなど、デバイス上で実行される複数のアプリケーションにまたがって複数のタスクを行う可能性がある。しかし、ユーザデバイスにインストールされるこれらのアプリケーションは、それら自体が低速であるか、信頼性が低いか、またはサーバへのネットワークアクセスを必要とし、それによって、オンデバイスデジタルアシスタントインターフェースが提供する利点を抑制する場合があり、遅いユーザエクスペリエンスにつながり得る。
【0016】
概して、音声認識システムにおいて、スピーチ端点決定(endpointing)は、発話の始まりおよび終わりを決定することによって、入ってくるオーディオのどの部分がスピーチを含むかを決定するプロセスである。入ってくるオーディオのうちでスピーチに対応する部分は、オーディオの音声認識結果または文字起こしを取得するために音声認識器に提供される。音声認識のユーザ知覚レイテンシ(user perceived latency)は、ユーザが話すのを止めるときから、音声認識結果または文字起こしが出力されるまで、多くの場合、ユーザデバイスの画面に表示するために出力されるまでの時間である。音声認識モデルをオンデバイスで実行するためになされた最近の進歩は、ユーザが話すにつれて、端点決定が発話の終わりを決定する前に、リアルタイムの音声認識結果(たとえば、ストリーミング文字起こし)が表示されることを可能にした。
【0017】
しかし、実際の音声認識のユーザ知覚レイテンシは、オンデバイスでスピーチを処理することによって改善されたが、実際の遂行が行われ得る前に発話の終わりを特定する端点決定が行われなければならないので、ユーザクエリ/コマンドの遂行のユーザ知覚レイテンシは依然として存在する。たとえば、ユーザの電話で実行されるデジタルアシスタントインターフェースにユーザによって話された「Play rock music playlist on YouTube(登録商標) Music(YouTube(登録商標) Musicでロックミュージックのプレイリストを再生して)」のためのコマンドは、音響スピーカによる可聴出力のためにYouTube(登録商標) Musicサービスからユーザのロックミュージックのプレイリストをストリーミングするという完全なアクションを遂行するために、複数の下位アクションの実行を必要とする。これらの下位アクションは、ユーザの電話のYouTube(登録商標) Musicアプリケーションを起動することと、YouTube(登録商標) Musicの検索ボックスにアクセスしてロックミュージックのプレイリストのクエリを入力するか、またはYouTube(登録商標) Musicのプレイリストタブに切り替えてロックミュージックのプレイリストを選択することと、最後に、YouTube(登録商標) Musicアプリケーションからロックミュージックのプレイリストの可聴の再生を実行することとを含む。この例において、システムは、遂行される必要がある最初の下位アクション、たとえば、YouTube(登録商標) Musicアプリケーションを起動することを開始する前に、端点決定器(end pointer)が発話の終わりの端点を決定し、最終的な音声認識結果を取得するのを待たなければならない。
【0018】
本明細書の実装は、アクションの実行を命じるユーザの発話から中間音声認識結果を生成し、ユーザがまだ発話を話している間に、最終的なアクションに関連する複数の下位アクションを実行するために中間音声認識結果を使用することを対象とする。ユーザが話し終わる前に最終的なアクションに関連する下位アクションを特定し、実行するために、利用可能な中間音声認識結果を利用することは、最終的なアクションを遂行するために実行される必要がある下位アクションのシーケンスの中の最初の下位アクションの実行を開始する前に最後の端点を待つことが必要とされないので、ユーザ知覚レイテンシを大幅に削減する。
【0019】
しかし、中間認識結果「Play(再生する)」、「rock music(ロックミュージック)」、および「playlist(プレイリスト)」は、最後の端点の前に発生し、クエリに関連するあり得る下位アクションを特定するために利用可能である。たとえば、中間認識結果「Play(再生する)」は、テレビ番組、映画、もしくはビデオクリップなどのビデオコンテンツ、またはユーザデバイス上の複数の音楽アプリケーションのうちの1つからのオーディオコンテンツを含む可能性があるメディアコンテンツをユーザが再生したいことを示し得る。次に、中間認識結果「rock music(ロックミュージック)」は、ユーザが再生したいメディアコンテンツの種類をオーディオコンテンツに絞り込むコンテキスト(context)を提供する。現在、あり得る利用可能な下位アクションは、すべて潜在的にロックミュージックを出力し得る、ユーザの電話上のストリーミングラジオアプリケーションか、Spotifyアプリケーションか、またはYouTube(登録商標)アプリケーションかのどれかを開くことである。たとえば、ストリーミングラジオ、Spotify、およびYouTube(登録商標)アプリケーションが、すべて独自のロックミュージックチャンネルを含む一方、SpotifyおよびYouTube(登録商標)アプリケーションは、ユーザのためのそれぞれのロックミュージックのプレイリストをそれぞれ含む。中間認識結果「playlist(プレイリスト)」が利用可能になると、利用可能なあり得る下位アクションは、今やより具体的になって、SpotifyアプリケーションまたはYouTube(登録商標)アプリケーション上でロックミュージックのプレイリストがアクセスされる必要があることを示す。
【0020】
図1を参照すると、一部の実装において、スピーチ環境100は、デジタルアシスタントインターフェース200を実行する音声対応デバイス110(デバイス110またはユーザデバイス110とも呼ばれる)に向けられた発話20を話すユーザ10を含む。ここで、ユーザ10によって話された発話20は、ストリーミングオーディオ15内でデバイス110によってキャプチャされる場合があり、アクション24を実行するためのクエリと、より詳細には、デジタルアシスタントインターフェース200がアクション24を実行するためのクエリ22とに対応する場合がある。ユーザ10は、スリープまたはハイバネーション状態の間にデバイス110上で実行されるホットワード検出器によってストリーミングオーディオ15内でホットワード21が検出されるときにデバイス110をスリープまたはハイバネーション状態からトリガするために、クエリ22の前にホットワード21(たとえば、呼び出しフレーズ)を付けてよい。アクション24は、動作またはタスクとも呼ばれる場合がある。この意味で、ユーザ10は、コンピューティング活動を実行するかまたは質問に対する答えを見つけるために、音声対応デバイス110上で実行されるデジタルアシスタントインターフェース200と会話によるインタラクションをしてよい。
【0021】
デバイス110は、ユーザ10に関連し、環境100からオーディオをキャプチャすることができる任意のコンピューティングデバイスに対応する場合がある。ユーザデバイス110のいくつかの例は、モバイルデバイス(たとえば、モバイル電話、タブレット、ラップトップ、電子書籍リーダなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、音楽プレーヤー、キャスティングデバイス(casting device)、スマート家電(たとえば、スマートテレビ)およびモノのインターネット(IoT)デバイス、リモコン、スマートスピーカなどを含むがこれらに限定されない。デバイス110は、データ処理ハードウェア112dと、データ処理ハードウェア112dと通信し、データ処理ハードウェア112dによって実行されるときにデータ処理ハードウェア112dに音声処理に関連する1つまたは複数の動作を実行させる命令を記憶するメモリハードウェア112mとを含む。
【0022】
デバイス110は、スピーチ環境100内のオーディオをキャプチャし、電気信号(たとえば、オーディオデータ14(
図2A~
図2E))に変換するためのオーディオキャプチャデバイス(たとえば、1つまたは複数のマイクロフォンのアレイ)114を有するオーディオサブシステムをさらに含む。デバイス110は、示された例において、オーディオキャプチャデバイス114(概してマイクロフォン114とも呼ばれる)を実装するが、オーディオキャプチャデバイス114は、デバイス110上に物理的に存在せず、オーディオサブシステム(たとえば、デバイス110の周辺機器)と通信する場合がある。たとえば、デバイス110は、車両全体に配置されたマイクロフォンのアレイを利用する車両インフォテインメントシステムに対応する場合がある。
【0023】
デバイス110は、グラフィカルユーザインターフェース(GUI)要素(たとえば、ウィンドウ、画面、アイコン、メニューなど)および/またはグラフィカルコンテンツを表示するためのディスプレイ116も含んでよい。たとえば、デバイス110は、ディスプレイ116のためにGUI要素またはその他のグラフィカルコンテンツを生成するアプリケーション118、118a~nをロードまたは起動してよい。さらに、ディスプレイ116内で生成される要素は、ユーザ10によって選択可能であり、さらに、デバイス110上で行われる処理活動および/または動作に対して何らかの形態の視覚的フィードバックを提供するために働く場合がある。さらに、デバイス110は音声対応デバイス110であるので、ユーザ10は、様々な音声コマンドを使用して、ディスプレイ116上で生成された要素とインタラクションする場合がある。たとえば、ディスプレイ116は、特定のアプリケーション118のオプションのメニューを示す場合があり、ユーザ10は、インターフェース200を使用してスピーチによってオプションを選択する場合がある。
【0024】
一部の実装において、デバイス110は、ネットワーク120を介してリモートシステム130と通信する。リモートシステム130は、リモートデータ処理ハードウェア134(たとえば、リモートサーバもしくはCPU)および/またはリモートメモリハードウェア136(たとえば、リモートデータベースもしくはその他のストレージハードウェア)などのリモートリソース132を含んでよい。デバイス110は、リモートリソース132を利用して、音声処理に関連する様々な機能を実行する場合がある。たとえば、アシスタントインターフェース200の一部が、リモートシステム130上に存在する場合がある。一例において、音声認識器210は、オンデバイス自動音声認識(ASR)を提供するためにデバイス110のローカルで実行される。別の例において、音声認識器210は、アシスタントインターフェース200のためのサーバサイドASRを提供するためにリモートシステム130上に存在する。さらに別の例において、音声認識器210の機能は、デバイス110とサーバ130とに分割される(たとえば、デバイス110およびサーバ130は並列的なASR処理を実行する)。
【0025】
音声対応インターフェース200は、デバイス110によってストリーミングオーディオ15内でキャプチャされた口頭の発話20で伝えられたクエリ/コマンド22をてきぱき処理する場合がある。音声対応インターフェース200(インターフェース200またはアシスタントインターフェース200とも呼ばれる)は、概して、オーディオキャプチャデバイス114によってキャプチャされた発話20に対応するオーディオデータ14を受信すること、オーディオデータ14に対する音声処理を調整すること、アクション24を実行するためのクエリ22を特定するためにオーディオデータ14に対して意味解釈を実行すること、およびアクション24を遂行するために下位アクション26、26a~nのシーケンスを実行することを促進する。インターフェース200は、デバイス110のデータ処理ハードウェア112d上で実行されてよい。デバイス110のマイクロフォン114がストリーミングオーディオ15内の発話20をキャプチャし、オーディオをオーディオデータ14に変換するとき、発話20に対応するオーディオデータ14は、インターフェース200が音声認識および意味解釈を実行して、口頭の発話20で伝えられたクエリ22を特定し、最終的に遂行することができるように、インターフェース200に中継される。従来、遂行システムは、クエリ/コマンド22によって指定されたアクション24の実行を開始する前に、端点決定器(たとえば、音声認識器の一部または別個の構成要素)が発話20の終わりの端点を決定して最終的な音声認識結果を取得するのを待たなければならなかったが、ここでは、インターフェース200は、部分的な音声認識結果(たとえば、部分的仮説)が生成されるにつれて、ユーザ10が発話20でクエリ22を話し終える前に、最終的なアクション24に関連する下位アクション26を遂行する。部分的な音声認識結果を利用することによって、インターフェース200は、発話20が端点を決定されると、クエリ22によって指定されたアクション24を遂行するためにインターフェース200が実行している下位アクション26に関するリアルタイムまたは準リアルタイムのフィードバックをユーザ10に提供してよい。言い換えると、インターフェース200は、ユーザ10が発話20を活発に話している間に、オーディオデータ14に関する中間音声認識結果から解釈された下位アクション26を実行するように努める。
【0026】
一部の実装においては、アクション24を遂行するために下位アクション26のシーケンスを実行するために、インターフェース200は、デバイス110上のまたはデバイス110がアクセス可能な複数のアプリケーション118、118a~nとインターフェースをとる。アプリケーション118は、概して、デバイス110上で実行されるように構成される任意のアプリケーション118を指す。いくつかの種類のアプリケーション118は、メディアアプリケーション(たとえば、ビデオストリーミングアプリケーション、オーディオストリーミングアプリケーション、メディアプレーヤーアプリケーション、メディアギャラリーアプリケーションなど)、文書処理アプリケーション、ナビゲーションアプリケーション、ソーシャルメディアアプリケーション、コミュニケーションアプリケーション(たとえば、メッセージングアプリケーション、電子メールアプリケーションなど)、金融アプリケーション、組織アプリケーション(たとえば、アドレス帳アプリケーション)、小売アプリケーション、エンターテインメントアプリケーション(たとえば、ニュースアプリケーション、天気アプリケーション、スポーツアプリケーション)、キャスティングアプリケーション(casting application)などを含む。インターフェース200は、ユーザ10が自分の声を使用してデバイス110上のアプリケーションを制御することを可能にするためにこれらのアプリケーション118と統合される場合がある。たとえば、インターフェース200は、アプリケーションプログラミングインターフェース(API)、またはインターフェース200の機能を実行するように構成された任意のその他の種類のプログラムもしくはアプリケーションである。
【0027】
引き続き
図1を参照すると、ユーザ10は、「hey computer, show photos from my holiday trip to Greece with my parents(ヘイ、コンピュータ。私のギリシャへの休暇旅行のときの両親との写真を見せて)」と述べる発話20を話す。ここで、発話20は、ユーザの写真の特定のセットを表示するアクション24を実行するようインターフェース200に求める音声クエリ/コマンド22である。インターフェース200がこの発話20に対応するオーディオデータ14を受信する間に、発話20の一部は、中間音声結果212(
図2A~
図2E)を生成するために、インターフェース200で受信されるにつれて処理される。中間音声結果212は、ユーザ10が発話20を話している間に、候補アクション24に関連する下位アクション26を特定するためにインターフェース200によって解釈される。たとえば、発話20が完了するとクエリ22によって指定される完全なアクション24は、ユーザ10が発話20を話し終えるのを待つのではなく、ユーザ10が発話20を話すにつれて実行されてよい4つの下位アクション26、26a~dのシーケンスを含む。
【0028】
図2A~
図2Hを参照すると、アシスタントインターフェース200は、概して、音声認識器210、解釈器220、および実行器230を含む。音声認識器210は、オーディオデータ14を入力として受信し、オーディオデータ14を処理して音声認識結果212を生成する。音声認識器210がオーディオデータ14に対して音声認識を実行するにつれて、音声認識器210は、中間音声結果212を生成してよい。ここで、中間音声認識結果212は、オーディオデータ14の全体ではなく、オーディオデータ14の何らかのサブセット(たとえば、オーディオデータの一部)に対して生成される結果を指す。概して、音声認識は、フレーズ全体(たとえば、発話全体)、または文字、ワードピース(wordpiece)、および/もしくは単語などのフレーズの何らかのサブセットに関して行われる場合がある。別の言い方をすれば、音声認識結果のシーケンス(たとえば、中間音声認識結果212のシーケンス)の各認識結果は、発話20の最終的な認識結果(たとえば、文字起こし)を形成するために組み合わされる文字、ワードピース、および/または単語に対応する場合がある。たとえば、オーディオストリームに対して音声認識が行われるとき、音声認識を実行する音声認識モデルは、ストリーミング式に各時間ステップにおいて出力(すなわち、結果または仮説)を生成してよい。ここで、フレームごとの出力は、オーディオデータ14のそれぞれの部分を表す音声認識結果212の1つまたは複数のシーケンスを形成するために組み合わされてよい中間音声認識結果に対応する場合がある。一部の構成において、音声認識結果は、すべての可能な部分的なクエリの解釈を生成するために複数の仮説が一度に処理されてよいように、任意の所与の時間ステップにおいて上位N個の仮説に対応する。オーディオデータ14は、ユーザ10によって話された発話20に対応する場合があるので、オーディオデータ14の一部は、発話20の一部に対応する場合がある。たとえば、オーディオデータ14が「show photos from my holiday trip to Greece with my parents(私のギリシャへの休暇旅行のときの両親との写真を見せて)」という発話20に対応するとき、オーディオデータ14の一部は、1つまたは複数の単語を形成する文字のシーケンスである場合がある。
図2B~
図2Dに示されるように、オーディオデータ14の第1の部分14、14aに関する中間音声認識結果212aの第1のシーケンスは、フレーズ「show photos(写真を見せて)」を含む。オーディオデータ14の第2の部分14、14bに関する中間音声認識結果212bの第2のシーケンスは、フレーズ「from my holiday trip to Greece(私のギリシャへの休暇旅行のときの)」を含む。オーディオデータ14の第3の部分14、14cに関する中間音声認識結果212cの第3のシーケンスは、フレーズ「with my parents(両親との)」を含む。
【0029】
解釈器220は、中間音声認識結果212の1つまたは複数のシーケンスを受信し、1つまたは複数の中間音声認識結果212に対して部分的なクエリの解釈を実行する。たとえば、解釈器220は、ユーザ10が発話20を話し終えたときにクエリ22が明らかになると指定される最終的なアクション24に関連する可能性があるすべての候補下位アクション26を特定するために発話20の一部およびそのコンテキストを理解するために、中間音声認識結果212のシーケンスに対して意味解釈(たとえば、文法解釈)を実行する。ここで、解釈器220は、クエリ22の一部にのみ対応する中間音声認識結果212のシーケンスを解釈しているので、発話20の一部に対応する中間音声認識結果212のシーケンスから下位アクション26のコンテキストを導出することができる。したがって、中間音声結果212のシーケンスに対して実行された部分的なクエリの解釈の結果は、ユーザが発話20を話し終えるまで未知のままである最終的なアクション24を遂行するためにクエリ/コマンド22が含む下位アクション26を特徴付ける場合がある解釈222を含む。解釈器220が部分的なクエリの解釈を実行するとき、解釈222は、解釈が発話20の全体のコンテキストを説明することができないという固有の事実が原因で、いくらかの欠落した情報に悩まされる場合がある。別の言い方をすれば、解釈222によって特徴付けられる下位アクション26は、オーディオデータ14から生成される中間音声認識結果212のシーケンスの数が増えるにつれて次第に具体的になる場合がある。このため、解釈器220は、中間音声認識結果212のシーケンスから利用可能な情報から欠落した意図を導出することによって、できるだけ完全な解釈222を形成してよい。たとえば、解釈器220は、アクション24を実行するために必要とされる特定のアプリケーションの種類を特定するために中間音声認識結果212の初期シーケンスに対して部分的なクエリの解釈を実行してよいが、解釈器220が中間音声認識結果212の初期シーケンスから特定のアプリケーション118を確信を持って特定することができないので、アクション24を遂行するのに使用するための特定のアプリケーション118の名前を示すことに関連するスロット値を指定することに失敗する。この例においては、特定のアプリケーション118の名前を示すことに関連するスロット値が指定されない(たとえば、空である)ので、実行器230は、特定のアプリケーションの種類に関連するデフォルトアプリケーション118を起動することによって第1の下位アクション26を実行するように構成されてよい。
【0030】
図2Bに示される例を参照すると、解釈器220は、中間音声認識結果212、212aの第1のシーケンスによって示されたフレーズ「show me photos(私に写真を見せて)」に関する第1の解釈222、222aを生成するとき、解釈の時点では、どの特定の写真を見せるかというコンテキストを明らかに欠いている。この限られたコンテキストが原因で、解釈器220は、デバイス110上で写真アプリケーション118を起動することを必要としそうなクエリ22をユーザ10が発行している可能性が高いことを示すより広い解釈222、222aを生成する。これは、たとえ中間音声認識結果212aの第1のシーケンスに対して実行された部分的なクエリの解釈から特定の写真アプリケーションの名前が導出され得ないとしても、解釈器220が、中間音声認識結果212aの第1のシーケンス「show me photos(私に写真を見せて)」から特定のアプリケーションの種類(たとえば、写真アプリケーション)を推測してよいことを意味する。さらに、ユーザ10が発話20を話し続けるにつれて、音声認識器210は、中間音声認識結果212、212b~dの追加のシーケンスを生成し、解釈器220は、中間音声認識結果212のシーケンスの各々に対して部分的なクエリの解釈を実行して、クエリ22に追加のコンテキストを提供するそれぞれの解釈222、222b~dを生成する。言い換えると、解釈器220は、ユーザ10が話している間に中間音声認識結果212の各シーケンスに対して部分的なクエリの解釈を実行して、アクション24を遂行するために実行される必要がある下位アクション26のシーケンスを特定し、構築する。実行器230は、ユーザが話し終える前にこれらの下位アクション26の一部またはすべてを実行し、それから、ユーザ10が発話20を話し終えたときにスピーチ終了条件の受信に応答して最終的にアクション24の遂行を完了してよい。スピーチ終了条件が受信された時点で、実行器230は、クエリ22を遂行するために必要とされる下位アクション26のシーケンスの各下位アクション26を既に実行しており、したがって、スピーチ終了条件が受信されるときまでにアクション24を遂行済みである可能性がある。
【0031】
図2Cにおいて、解釈器220は、「from my holiday trip to Greece(私のギリシャへの休暇旅行のときの)」という中間音声認識結果212、212bの第2のシーケンスに対して部分的なクエリの解釈を実行して、写真アプリケーション118内のユーザ10に関する場所の変数に対する検索フィルタ(たとえば、検索クエリ)を特定する第2の解釈222、222bを生成する。第2の解釈222bに基づいて、実行器230は、ローカルフォトギャラリーアプリケーション内の写真を場所の変数でフィルタリングすることによって、第2の下位アクション22、26cを実行してよい。たとえば、
図2Cは、ユーザのアルバムが場所の変数でフィルタリングされることを示す。
【0032】
一部の例においては、後続の解釈222が、前の解釈222を無効にする場合がある。たとえば、第1の解釈222、222aが、実行器230が2つのもっともらしい写真アプリケーション118を並列的に起動することにつながり、一方がローカルフォトギャラリーアプリケーションであり、他方がブラウザアプリケーションを介してアクセス可能なサードパーティフォトギャラリーであった場合、(たとえば、単語「holiday(休暇)」に先行する単語「my(私の)」に基づいて)時間のフィルタがユーザ10に特に関連することを特定する第2の解釈222、222bは、サードパーティフォトギャラリーがいかなるユーザ固有の写真も含まないので、そのフォトギャラリーを開くアクションを無効にする/ロールバックする。
【0033】
図2Dを参照すると、解釈器220は、「with my parents(両親との)」という中間音声認識結果212、212cの第3のシーケンスに対して部分的なクエリの解釈を実行して、写真内のユーザの両親の存在に関する別の検索フィルタ(たとえば、検索クエリ)を特定する第3の解釈222、222cを生成する。つまり、第3の解釈222cは、ローカルフォトギャラリーアプリケーション内の写真を主題(すなわち、ユーザの両親の主題)によってさらにフィルタリングする第3の下位アクション26、26cを実行器230が実行する結果となる。
【0034】
一部の構成において、解釈器220は、所与の解釈222の信頼レベルを生成する解釈モデルを使用する。一部の実装において、解釈器220は、中間音声認識結果212の同じシーケンスに関して複数の可能な解釈222を生成し、それぞれの可能な解釈222は、それぞれの信頼レベルを有してよい。さらに、音声認識器210は、オーディオデータ14の同じ部分に関して中間音声認識結果212の複数の異なる候補シーケンスを生成してよく、解釈器220は、中間音声認識結果の各候補シーケンス222に関して1つまたは複数の可能な解釈222を生成してよい。しかし、一部の手法において、インターフェース200は、限られた数の解釈222(たとえば、1つの解釈222)、またはある解釈の信頼度のしきい値を超える信頼レベルを示す解釈222のみを追求したい場合がある。ここで、解釈器220が、解釈の信頼度のしきい値を満たす信頼レベルを有する、中間音声認識結果212の所与のシーケンスに関する複数の可能な解釈222を生成するとき、実行器230は、可能な解釈222によって特徴付けられるそれぞれの下位アクション26を並列的に処理する場合がある。下位アクション26の並列的な処理によって、インターフェース200は、ディスプレイ116上にそれぞれの並列的なトラックをグラフィカルに表示し、ユーザ10が特定のトラックを選択することを可能にするか、または解釈器220および/もしくは実行器230の挙動を変更するために自分の発話20を修正することさえも可能にする場合がある。
【0035】
図2B~
図2Dの例を進めると、実行器230は、アクション24を実行するために必要とされる特定のアプリケーションの種類として写真アプリケーションを特定する第1の解釈222aを受信するとき、第1の写真アプリケーション118を起動することによって第1の下位アクション26aを実行する。ここで、中間ASR結果212aの第1のシーケンスに対して実行された部分的なクエリの解釈は、特定のアプリケーションの種類(たとえば、写真アプリケーション)を特定するが、アクション24を遂行する際に使用するための特定の写真アプリケーションの名前を示すことに関連するスロット値を指定することに失敗する。したがって、第1の写真アプリケーション118は、ユーザ10が(たとえば、写真用の)デフォルトとして使用するために以前に指定した可能性があるデフォルトの写真アプリケーション、またはユーザ10が最も頻繁に使用する写真アプリケーションに対応する。
図2Bに示されたように、ディスプレイ116は、第1の写真アプリケーション118が選択されていることを表すグラフィカルなアイコンを示し、続けて第1の写真アプリケーション118のグラフィカルユーザインターフェース(GUI)240を表示することによって、第1の写真アプリケーション118の起動を示してよい。
【0036】
図2Cに示されたように、実行器230は、ギリシャでの休暇中のユーザとの写真に関連する検索フィルタを特定する第2の解釈222bを受信するとき、デバイス110上で起動された第1の写真アプリケーション118に、ギリシャでの休暇中のユーザの写真の検索クエリを実行するように命令することによって第2の下位アクション26bを実行する。たとえば、
図2Bと
図2Cとを比較すると、もともと、アプリケーション118は、起動されたときに、場所によってソートされた2つのフォトアルバムを表示した。一方のアルバムは、ロンドンの写真を示し、他方のアルバムは、ギリシャの写真を示す。ここで、実行器230は、検索クエリを特徴付けるテキスト(たとえば、検索語242
STとして「Greece(ギリシャ)」と述べるテキスト)を、ディスプレイ116に表示された第1の写真アプリケーション118のGUI 240の検索フィールド242に入力するようにアプリケーションに命令してよい。この検索クエリを実行することによって、
図2Cは、アルバム「Greece(ギリシャ)」からの9枚の写真のサムネイルを示す。第2の下位アクション26bに続いて、実行器230は、ユーザの両親を含むギリシャでのユーザ10との写真に関連する検索フィルタを特定する第3の解釈222cを受信する。実行器230は、「Greece(ギリシャ)」のアルバム内の写真を人別にソートすることによって第3の下位アクション26cを実行する。ここで、この検索/フィルタは、前の下位ステップ26bの結果として得られた9枚の写真のうちの4枚を選択し、これらの4枚の写真を第1の写真アプリケーション118内に表示する。
図2Dによって示されたように、第1の写真アプリケーション118のGUI 240は、第1の写真アプリケーション118内のコンテンツを検索またはフィルタリングするための異なるGUI要素を有する2つの異なる方法を含む。この例において、ユーザ10は、アプリケーション118のコンテンツを検索するために(たとえば、第1の写真アプリケーション118内の写真を検索するために)、検索フィールド242に対応する第1のGUI要素を使用してよい。アプリケーション118は、ソート/特徴付けオプションのメニューに対応するGUI要素も含む。特にこの例では、メニュー244は、ユーザ10が第1の写真アプリケーション118の写真に関連付けられたタグによって自分の写真をソートすることを可能にする写真タグのリストを示す。概して、タグは、1つまたは複数のコンテンツ要素(たとえば、写真)にまたがって共有され得る識別子を指す。この例において、実行器230は、ユーザの両親がいるかどうかによってユーザのギリシャの写真をフィルタリングするように実行器230に命令するために、メニュー244内の「parents(両親)」のオプションを選択してよい。
【0037】
一部の構成において、発話20が完了しているかまたは端点を決定されるとき、実行器230は、アクション24の完全な遂行を実行する。ここで、発話20は、音声認識器210がオーディオデータ14内の非スピーチの何らかの指定された最小継続時間を検出するときに端点を決定される場合がある。実行部230は、オーディオデータ14(または発話20)の全体に関する完全な音声認識結果に基づいて最高の信頼度のアクション24を実行してよい。これらの構成において、実行器230は、アクション24全体の遂行前に行われた前の下位アクション26をロールバック(取り消しまたは終了)してよい。たとえば、実行器230は、アクション24全体と一貫性がない1つまたは複数の下位アクション26をロールバックする。概して、下位アクションの実行プロセスは、完全なアクション24の実行プロセスの最終状態と一致する最終状態になることを目指す。しかし、クエリ/コマンド22によっては、これが必ずしも当てはまらない場合がある。したがって、ロールバックは、インターフェース200が異なるシナリオに柔軟に対応することを可能にする。
【0038】
一部の実装において、実行器230は、アクション24全体だけでなく、発話20が端点を決定される前のその他の下位アクション26にも基づいて、前の下位アクション26をロールバックする場合がある。例として、上述のように、解釈器の第1の解釈222は、2つのもっともらしい写真に関連する種類のアプリケーション118につながった可能性があり、一方はローカルフォトギャラリーアプリケーションであり、他方はブラウザアプリケーション内のサードパーティフォトギャラリーであった。しかし、下位アクション26のより後の解釈222は、サードパーティフォトギャラリーアプリケーションがユーザ10の写真を含まないので、アプリケーション118がサードパーティフォトギャラリーアプリケーションではあり得なかったことを確認した。この点で、実行器230は、ローカルフォトギャラリーアプリケーションを優先して、サードパーティフォトギャラリーを起動するための第1の下位アクション26をロールバックする。実行器230がサードパーティフォトギャラリーを実際に起動したが、ローカルフォトギャラリーアプリケーションは起動しなかった場合、実行器230は、より後の解釈222に基づいて、サードパーティフォトギャラリーの実行を中止することによってサードパーティフォトギャラリーの起動のための第1の下位アクション26をロールバックし、その代わりに、ローカルフォトギャラリーアプリケーションを起動することによって第1の下位アクション26を再実行してよい。
【0039】
追加的または代替的に、インターフェース200がロールバックすることができない、またはロールバックすることがユーザの体験に悪影響を及ぼす特定の下位アクション26が存在する場合がある。たとえば、下位アクション26が小売アプリケーション118で商品を購入することであるとき、インターフェース200は、そのような購入をロールバックすることができないか、またはユーザの介入なしにそうすることができない場合がある。ここで、インターフェース200がロールバックすることができない下位アクション26は、不可逆的下位アクション26と呼ばれる場合がある。これらの不可逆的下位アクション26において、実行器230は、不可逆的下位アクション26を実行している間に、ユーザ10に認可またはアクションの確認を促してよい。不可逆的下位アクション26に対する別の手法は、不可逆的下位アクション26を特定することであり、下位アクション26が不可逆的であると特定されるとき、実行器230は、アクション24の完全な遂行を実行するのを待つ。つまり、部分的な音声認識結果212ではなく、完全な音声認識結果のコンテキスト全体を解釈させる方が安全な場合がある。さらに別の手法においては、発話20が端点を決定される前、しかし、実行器230がアプリケーション118を起動した後に、実行器230が、下位アクション26のロールバック実行可能性スコアを決定してよい。ここで、ロールバック実行可能性スコアは、実行器230が下位アクション26をロールバックする場合に、ユーザの体験が低下させられるかまたは有害な影響を受ける尤度を示す。ロールバック実行可能性スコアがロールバック実行可能性しきい値を満たすとき、実行器230は、下位アクション26を実行し始めてよい。一方、ロールバック実行可能性スコアがロールバック実行可能性しきい値を満たすことができないとき、実行器230は、下位アクション26をロールバックするか、またはアクション24の完全な遂行が下位アクション26がロールバックされるべきであることを示すか否かを決定し、それに応じて下位アクション26をロールバックするために下位アクション26のロールバックを遅らせてよい。
【0040】
ユーザ10は、ユーザ10が話している間に下位アクション26がインターフェース200によって実行された結果を見てよいので、状況によっては、ユーザが完全な発話を話し終える前に、手動で発話の端点を決定する場合がある。つまり、ユーザ10がデバイス110からの特定の結果を求めている場合、発話20を完了する前にユーザ10に対して特定の結果が表示されると、ユーザ10は、既に目的が達成されているので、発話20の完了を放棄する場合がある。たとえば、
図2B~
図2Dの例を用いると、ギリシャのアルバム内のユーザの写真のすべてがユーザの両親を含んでいた場合、第2の下位アクション26bおよび第3の下位アクション26cは同じ結果を生成する。このシナリオにおいて、ユーザ10は、デバイス110がギリシャ旅行からの自分の両親との自分の写真を成功裏に表示したことを認識する場合がある。この認識に基づいて、ユーザ10は、早期に(すなわち、「with my parents(両親との)」という部分を述べる前に)発話20の端点を決定する場合がある。
【0041】
図2E~
図2Hは、実行器230がユーザ10によって話された発話20に基づいて複数のタスクを並列的に実行している間の例示的なインターフェース200を示す。この例において、ユーザ10は、「play rock music playlist on Google Play music(Google Play musicでロックミュージックのプレイリストを再生して)」というクエリ22を含む、デバイス110に向けられた発話20を話す。ユーザ10が発話20を話すとき、インターフェースは、発話20に対応するオーディオデータ14を受信し、オーディオデータ14を音声認識器210に中継する。「play(再生する)」という単語を含むオーディオデータ14の第1の部分14、14aに関して、音声認識器210は、
図2Eに示されるように、中間音声認識結果212、212aの第1のシーケンスを提供する。解釈器220は、音声認識結果212aの第1のシーケンスを受信し、音声認識結果212aの第1のシーケンスに対して部分的なクエリの解釈を実行して、第1の解釈222、222aを取得する。「play(再生する)」という単語に基づいて、第1の解釈222aは、オーディオデータ14がメディア型のアプリケーション118を実行するメディアに関連するコマンドを含むことを示し、実行器230は、デバイス110上で4つの異なるアプリケーション118、118a~dを起動する4つの下位アクション26、26a~dの第1のセットを実行する。第1のアプリケーション118aは、第1の音楽ストリーミングアプリケーション、Google Playを含む。第2のアプリケーション118bは、第2の音楽ストリーミングアプリケーション、Spotifyを含む。第3のアプリケーション118cは、ビデオストリーミングアプリケーション、YouTube(登録商標)を含み、第4のアプリケーション118dは、「ビデオプレーヤー」と呼ばれるローカルの汎用ビデオプレーヤーアプリケーションを含む。これらの4つのアプリケーション118a~dは、下位アクション26のシーケンスが継続し、発話20において話されるクエリ/コマンドがより具体的になるときに、デバイス110上で並列的に実行されるように起動されてよい。実行器230がこれらのアプリケーション118a~dを起動するとき、これらのアプリケーション118a~dは、デバイス110上で1つまたは複数のウィンドウ(たとえば、ウィンドウのカスケードまたはウィンドウのパネル)内に現れる場合がある。発話20の第1の部分は何かを「play(再生する)」ための明確で特定可能なアプリケーション118を欠いているので、解釈器220は、インターフェースが発話20のコマンド22に対応するアクション24を実行し始めているこの時点では、特定のアプリケーション118ではなくメディア型のアプリケーション118のすべてを含んでよい複数の候補下位アクション26a~dを生成する。さらに、各下位アクション26の実行プロセスがユーザ10のためにデバイス110のディスプレイ116に表示されてよいので、ユーザ10は(たとえば、発話20を話しながら)、下位アクション26をさらに促進または修正するためにディスプレイ116と関わり合う場合がある。たとえば、ユーザ10に対して4つのアプリケーション118が表示された状態で、ユーザ10は、選択されたアプリケーション118を終了させる機能を有するアプリケーション118のGUI 240のGUI要素とインタラクションすることによって、1つまたは複数のアプリケーション118を閉じる場合がある。対照的に、ユーザ10は、追加的または代替的に、どのアプリケーション118を終了させるかではなく、残すかを選択する場合がある。さらに別の例において、ユーザ10は、アプリケーション118を残すことと、さらに、アプリケーション118を終了することとを選択する場合がある。
【0042】
ユーザ10が発話20を話し続けるとき、
図2Fは、音声認識器210が、言葉「rock music(ロックミュージック)」に関連するオーディオデータ14の第2の部分14bに対して音声認識を実行して、中間音声認識結果212、212bの第2のシーケンスを生成することを示す。解釈器220は、中間音声認識結果212bの第2のシーケンスを解釈して、2つの異なる解釈222、222b~cを取得する。「rock music(ロックミュージック)」が音楽のジャンル(すなわち、ロックミュージックのジャンル)を指す第1の解釈222b、または「rock music(ロックミュージック)」がユーザ10のプレイリスト(たとえば、プレイリストのタイトル)を指す第2の解釈222。これらの解釈222b~cの両方が信頼度のしきい値を満たす信頼レベルを有する場合があるので、実行器230は、下位アクション26a~dの第1のセットから起動され、開かれた各アプリケーション118上で両方の解釈222b~cを実行するための並列的なプロセスを生成してよい。
【0043】
実行器230は、第2の解釈222bおよび第3の解釈222cを、下位アクション26a~dの第1のセットの下位アクション26のいずれかがロールバックされる(たとえば、終了される)べきかどうかを決定するための有効性チェックとして使用してもよい。アプリケーション118c~dのうちの2つはビデオ用のアプリケーション(たとえば、ストリーミングビデオまたはローカルビデオプレーヤー)であったので、第2の解釈222bおよび第3の解釈222cに対して有効性チェックを実行することは、実行器230が第3および第4の下位アクション26、26c~dに基づいて起動されたビデオベースのアプリケーション118c~dを終了させる結果となる。この場合、両方の解釈222b~cを実行することは、第1のアプリケーション118aおよび第2のアプリケーション118bにおいてのみ行われればよい。したがって、この実行プロセスは、
図2Fに示されるように、4つの並列的なアクションシーケンスが発生している下位アクション26e~hの第2セットを形成する。
【0044】
図2Gにおいて、ユーザ10が発話20を話し続ける間に、音声認識器210は、単語「playlist(プレイリスト)」に関連するオーディオデータ14の第3の部分14cに対して音声認識を実行して、解釈器220が第4の解釈222、222dを決定するために部分的なクエリの解釈を実行する中間音声認識結果212、212cの第3のシーケンスを生成する。処理のこのステップにおいて、解釈器220は、中間音声認識結果212、212cのこのシーケンスが、第2および第3の解釈222b~cのあいまいさの一部を明確化することを認識することができる場合がある。つまり、その「rock music(ロックミュージック)」は、音楽のジャンル検索として解釈されるべきではなく、「rock music(ロックミュージック)」と呼ばれるプレイリストを指していた。これらの追加のコンテキストの手がかりに基づいて、実行器230は、「rock music(ロックミュージック)」がジャンルに対応するかもしれないという前提で実行されていたプロセスのすべてを終了した。これらのプロセスの終了後、これは、Google Play musicという第1のストリーミング音楽アプリケーション118のための1つと、Spotifyという第2のストリーミング音楽アプリケーション118のための2つの残りのアクションシーケンスを残す。アクションシーケンスのこの時点で、各アプリケーション118は、起動され、第4の解釈222dに対応する下位アクション26i~jに従ってプレイリスト「rock music(ロックミュージック)」を検索済みである。
【0045】
図2Gにおいて、ユーザ10は、発話20の最後の部分を話す。ユーザ10が発話20の最後の部分を話す間に、および発話20の端点214(
図2H)(またはスピーチ終了条件)の前に、音声認識器210は、言葉「on Google Play music(Google Play musicで)」に関連するオーディオデータ14の第4の部分14、14dに対して音声認識を実行する。ここで、音声認識器210は、オーディオデータ14の第4の部分14dに関する中間音声認識結果212、212dの第4のシーケンスを生成する。音声認識器210は、中間音声認識結果212dの第4のシーケンスを解釈器220に中継し、解釈器220は、部分的なクエリの解釈を実行して、中間音声認識結果212dの第4のシーケンスを特定のアプリケーション、Google Play musicを一意に指定するものとして特定する第5の解釈222、222eを生成する。言い換えると、この特定のアプリケーション118は、発話20の終わりに定義されたが、言葉のこの部分「on Google Play music(Google Play musicで)」に先立つ発話20のコンテキストのため、ユーザ10が話している間に既に実行されていた。この第5の解釈222eに基づいて、実行器230は、Spotifyアプリケーション118の実行を中止する。さらに、発話20の端点214が発生するとき、解釈器220は、音声認識器210からの完全な音声認識結果を遂行するために、下位アクションのシーケンスをアクション24と比較してよい。
【0046】
図3は、部分的仮説に基づくストリーミングアクション遂行のための動作の例示的な配列を示す流れ図である。動作302において、方法300は、ユーザデバイス110のユーザ10によって話された発話20に対応するオーディオデータ14を受信し、発話20は、アクション24を実行するためのクエリ22を含み、クエリ22は、アクション24を遂行するために下位アクション26のシーケンスの実行を必要とする。動作304は、方法300がオーディオデータ14を受信する間、ただし、スピーチ終了条件214を受信する前に行われる3つの下位動作304、304a~cを含む。動作304aにおいて、方法300は、中間自動音声認識(ASR)結果212の第1のシーケンスを生成するために、音声認識器210を使用して、受信されたオーディオデータ14の第1の部分14、14aを処理する。動作304bにおいて、方法300は、中間ASR結果212の第1のシーケンスがアクションを実行するために必要とされるアプリケーションの種類を特定するかどうかを決定するために、中間ASR結果212の第1のシーケンスに対して部分的なクエリの解釈を実行する。動作304cにおいて、中間ASR結果212の第1のシーケンスが特定のアプリケーションの種類を特定するとき、方法300は、ユーザデバイス110上で実行するために第1のアプリケーション118を起動することによって、下位アクション26、26a~nのシーケンスの中の第1の下位アクション26を実行し、第1のアプリケーション118は、特定のアプリケーションの種類に関連付けられている。動作306において、方法300は、スピーチ終了条件214の受信に応答して、アクション24の実行を遂行することを含む。
【0047】
図4は、本明細書において説明されたシステム(たとえば、インターフェース200)および方法(たとえば、方法300)を実装するために使用されてよい例示的なコンピューティングデバイス400の概略図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図される。本明細書に示される構成要素、それらの構成要素の接続および関係、ならびにそれらの構成要素の機能は、単に例示的であるように意図されており、本明細書において説明および/または特許請求される本発明の実装を限定するように意図されていない。
【0048】
コンピューティングデバイス400は、プロセッサ410、メモリ420、ストレージデバイス430、メモリ420および高速拡張ポート450に接続する高速インターフェース/コントローラ440、ならびに低速バス470およびストレージデバイス430に接続する低速インターフェース/コントローラ460を含む。構成要素410、420、430、440、450、および460の各々は、様々なバスを使用して相互接続されており、共通のマザーボードに搭載されるか、または適宜その他の方法で搭載される場合がある。プロセッサ410は、ユーザデバイス110のデータ処理ハードウェア112d、またはリモートシステム130のデータ処理ハードウェア134を含んでよい。したがって、データ処理ハードウェア410は、メモリ420内またはストレージデバイス430上に記憶された命令を含む、コンピューティングデバイス400内で実行するための命令を処理して、高速インターフェース440に結合されたディスプレイ480などの外部入力/出力デバイス上のグラフィカルユーザインターフェース(GUI)のためのグラフィカルな情報を表示することができる。その他の実装においては、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数の種類のメモリと一緒に適宜使用される場合がある。また、複数のコンピューティングデバイス400が、各デバイスが必要な動作の一部を提供するようにして(たとえば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして)接続される場合がある。
【0049】
メモリ420は、コンピューティングデバイス400内で情報を非一時的に記憶する。メモリ420は、ユーザデバイス110のメモリハードウェア112m、またはリモートシステム130のメモリハードウェア136を含んでよい。メモリハードウェア420は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリハードウェア420は、コンピューティングデバイス400による使用のために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラムの状態情報)を一時的または永続的に記憶するために使用される物理的デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能プログラマブル読み出し専用メモリ(EPROM)/電子的消去可能プログラマブル読み出し専用メモリ(EEPROM)(たとえば、典型的にはブートプログラムなどのファームウェアのために使用される)を含むがこれらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むがこれらに限定されない。
【0050】
ストレージデバイス430は、コンピューティングデバイス400に大容量ストレージを提供することができる。一部の実装において、ストレージデバイス430は、コンピュータ可読媒体である。様々な異なる実装において、ストレージデバイス430は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成内のデバイスを含むデバイスのアレイであってよい。追加的な実装においては、コンピュータプログラム製品が、情報担体内に有形で具現化される。コンピュータプログラム製品は、実行されるときに上述の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ420、ストレージデバイス430、またはプロセッサ410上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0051】
高速コントローラ440は、コンピューティングデバイス400に関する帯域幅を大量に消費する動作を管理し、一方、低速コントローラ460は、帯域幅をそれほど消費しない動作を管理する。役割のそのような割り当ては、例示的であるに過ぎない。一部の実装において、高速コントローラ440は、メモリ420に、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ480に、および様々な拡張カード(図示せず)を受け入れてよい高速拡張ポート450に結合される。一部の実装において、低速コントローラ460は、ストレージデバイス430および低速拡張ポート490に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含んでよい低速拡張ポート490は、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに結合される場合があり、またはたとえばネットワークアダプタを介してスイッチもしくはルータなどのネットワーキングデバイスに結合される場合がある。
【0052】
コンピューティングデバイス400は、図に示されるように、多くの異なる形態で実装されてよい。たとえば、コンピューティングデバイス400は、標準的なサーバ400aとして、もしくはそのようなサーバ400aのグループ内で複数回、ラップトップコンピュータ400bとして、またはラックサーバシステム400cの一部として実装されてよい。
【0053】
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはこれらの組合せで実現され得る。これらの様々な実装は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するために結合された、専用または汎用であってよい少なくとも1つのプログラミング可能なプロセッサを含むプログラミング可能なシステム上の、実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムへの実装を含み得る。
【0054】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラミング可能なプロセッサ用の機械命令を含み、高級手続き型プログラミング言語および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書において使用されるとき、用語「機械可読媒体」および「コンピュータ可読媒体」は、機械命令を機械可読信号として受信する機械可読媒体を含む、プログラミング可能なプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。用語「機械可読信号」は、プログラミング可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0055】
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムをデータ処理ハードウェアとも呼ばれる1つまたは複数のプログラミング可能なプロセッサが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得る。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ、またはランダムアクセスメモリ、またはこれらの両方から命令およびデータを受信する。コンピュータの必須の要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概して、コンピュータは、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受信するか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完され得るか、または専用の論理回路に組み込まれ得る。
【0056】
ユーザとのインタラクションを提供するために、本開示の1つまたは複数の態様は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意で、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響、スピーチ、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
【0057】
いくつかの実装が、説明された。しかしながら、本開示の精神および範囲を逸脱することなく様々な変更がなされてよいことは、理解されるであろう。したがって、その他の実装は、添付の特許請求の範囲内にある。
【符号の説明】
【0058】
10 ユーザ
14 オーディオデータ
14、14a オーディオデータ14の第1の部分
14、14b オーディオデータ14の第2の部分
14、14c オーディオデータ14の第3の部分
14、14d オーディオデータ14の第4の部分
15 ストリーミングオーディオ
20 発話
21 ホットワード
22 クエリ、コマンド
24 アクション、候補アクション
26、26a~n 下位アクション
100 スピーチ環境
110 音声対応デバイス、デバイス、ユーザデバイス
112d データ処理ハードウェア
112m メモリハードウェア
114 オーディオキャプチャデバイス、マイクロフォン
116 ディスプレイ
118、118a~n アプリケーション
120 ネットワーク
130 リモートシステム
132 リモートリソース
134 リモートデータ処理ハードウェア
136 メモリハードウェア
200 デジタルアシスタントインターフェース、音声対応インターフェース、アシスタントインターフェース、インターフェース
210 音声認識器
212 中間音声結果、中間音声認識結果、中間自動音声認識結果
212a 中間音声認識結果
212b 中間音声認識結果
212c 中間音声認識結果
212d 中間音声認識結果
214 端点、スピーチ終了条件
220 解釈器
222 解釈
222、222a 第1の解釈
222、222b 第2の解釈
222、222c 第3の解釈
222、222d 第4の解釈
222、222e 第5の解釈
230 実行器
240 グラフィカルユーザインターフェース(GUI)
242 検索フィールド
244 メニュー
300 方法
400 コンピューティングデバイス
400a サーバ
400b ラップトップコンピュータ
400c ラックサーバシステム
410 プロセッサ、データ処理ハードウェア
420 メモリ、メモリハードウェア
430 ストレージデバイス
440 高速インターフェース/コントローラ
450 高速拡張ポート
460 低速インターフェース/コントローラ
470 低速バス
480 ディスプレイ
490 低速拡張ポート
【国際調査報告】