(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-14
(54)【発明の名称】程度によるホットワード検出
(51)【国際特許分類】
G10L 15/22 20060101AFI20240806BHJP
G10L 15/28 20130101ALI20240806BHJP
【FI】
G10L15/22 300Z
G10L15/28 230K
G10L15/22 453
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024502157
(86)(22)【出願日】2022-07-01
(85)【翻訳文提出日】2024-03-15
(86)【国際出願番号】 US2022073345
(87)【国際公開番号】W WO2023288168
(87)【国際公開日】2023-01-19
(32)【優先日】2021-07-14
(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)【発明者】
【氏名】ジェームズ・フライン
(72)【発明者】
【氏名】テオ・ゴーグリ
(57)【要約】
ホットワード(24)のソフトな受入れのための方法(300)は、ユーザデバイス(110)によってキャプチャされたストリーミングオーディオ(12)において、ホットワード検出器(200)によって検出されたソフトホットワードイベント(202)を特徴付けるオーディオデータ(14)を受信する。本方法はまた、オーディオデータを処理して、オーディオデータが、ユーザデバイスにおいて実行するアクション(148)を指定するクエリ(22)に対応すると決定する。ユーザデバイスにおいてアクションの実行をトリガすることなく、本方法は、ユーザデバイスからの出力についての通知(204)を提供し、通知が、ユーザデバイスにおけるアクションの実行をトリガするために、ユーザデバイスに関連付けられたユーザ(10)に肯定入力指示(16)を提供するように促し、ユーザが肯定入力指示を提供しなかったとき、クエリによって指定されたアクションを実行しないようにユーザデバイスに指示する。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法(300)であって、データ処理ハードウェア(410)によって実行されると、前記データ処理ハードウェア(410)に、
ユーザデバイス(110)によってキャプチャされたストリーミングオーディオ(12)において、ホットワード検出器(200)によって検出されたソフトホットワードイベント(202)を特徴付けるオーディオデータ(14)を受信することと、
前記オーディオデータ(14)を処理して、前記オーディオデータ(14)が、前記ユーザデバイス(110)において実行するアクション(148)を指定するクエリ(22)に対応すると決定することと、
前記ユーザデバイス(110)または別のデバイスにおいて前記アクション(148)の実行をトリガすることなく、
前記ユーザデバイス(110)からの出力についての通知(204)を提供することであり、前記通知(204)が、前記ユーザデバイス(110)または前記別のデバイスにおける前記アクション(148)の実行をトリガするために、前記ユーザデバイス(110)に関連付けられたユーザ(10)に肯定入力指示(16)を提供するように促す、提供することと、
前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記クエリ(22)によって指定された前記アクション(148)を実行しないように前記ユーザデバイス(110)または前記別のデバイスに指示することと
を含む動作を実行させる、コンピュータ実装方法(300)。
【請求項2】
前記ホットワード検出器(200)が、前記ユーザデバイス(110)に常駐し、前記ユーザデバイス(110)によってキャプチャされた前記オーディオストリームがホットワード(24)の存在を含む可能性を示す信頼度スコア(212)が第1のしきい値スコア(214)を満たし、第2のしきい値スコア(216)を満たさないとき、前記ソフトホットワードイベント(202)を検出するように構成されている、請求項1に記載のコンピュータ実装方法(300)。
【請求項3】
前記動作が、
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供してから予め定められた持続時間内に前記肯定入力指示(16)が受信されたかどうかを決定することと、
前記予め定められた持続時間内に前記肯定入力指示(16)が受信されなかったとき、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったと決定することと
をさらに含む、請求項1または2に記載のコンピュータ実装方法(300)。
【請求項4】
前記動作が、
前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す否定入力指示(16N)を受信することと、
前記否定入力指示(16N)を受信したことに応答して、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったと決定することと
をさらに含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項5】
前記ユーザデバイス(110)からの出力について提供される前記通知(204)がまた、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す前記否定入力指示(16N)を提供するよう前記ユーザ(10)に促す、請求項4に記載のコンピュータ実装方法(300)。
【請求項6】
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供することが、前記通知(204)を前記ユーザデバイス(110)のスクリーン(118)上に表示するための視覚的通知としてレンダリングするように、前記ユーザデバイス(110)上で実行されるグラフィカルユーザインターフェースに指示することを含む、請求項1から5のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項7】
前記動作が、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記ユーザデバイス(110)の前記スクリーン(118)上に表示される前記視覚的通知を削除するように、前記グラフィカルユーザインターフェースに指示することをさらに含む、請求項6に記載のコンピュータ実装方法(300)。
【請求項8】
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供することが、前記通知(204)を前記ユーザデバイス(110)のスピーカ(116)から可聴通知として出力するように前記ユーザデバイス(110)に指示することを含む、請求項1から7のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項9】
前記動作が、
前記ユーザ(10)から前記肯定入力指示(16)を受信することと、
前記肯定入力指示(16)を受信したことに応答して、前記ユーザデバイス(110)または前記別のデバイスにおいて、前記クエリ(22)によって指定された前記アクション(148)の実行をトリガすることと
をさらに含む、請求項1から8のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項10】
前記ユーザ(10)から前記肯定入力指示(16)を受信することが、
前記ユーザ(10)からスピーチ入力を受信することと、
前記スピーチ入力が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)が実行する意図を特徴付ける1つまたは複数の用語を含むと決定することと
を含む、請求項9に記載のコンピュータ実装方法(300)。
【請求項11】
前記ユーザ(10)から前記肯定入力指示(16)を受信することが、前記ユーザデバイス(110)のスクリーン(118)上に表示された肯定グラフィカル要素の選択を示すユーザ入力指示を受信することを含む、請求項9または10に記載のコンピュータ実装方法(300)。
【請求項12】
前記動作が、前記ユーザデバイス(110)からの出力についての前記通知(204)を提供した後、スピーチ認識を実行することなく、
前記肯定入力指示(16)を特徴付ける1つもしくは複数の話された用語、または
否定入力指示(16N)を特徴付ける1つもしくは複数の他の話された用語であり、前記否定入力指示(16N)が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す、1つもしくは複数の他の話された用語
のうちの少なくとも1つの存在を検出するように構成されたウォームワードモデルを起動することをさらに含む、請求項1から11のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項13】
前記動作が、前記ユーザデバイス(110)からの出力についての前記通知(204)を提供した後、
前記肯定入力指示(16)を特徴付ける1つもしくは複数の話された用語、または
否定入力指示(16N)を特徴付ける1つもしくは複数の他の話された用語であり、前記否定入力指示(16N)が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す、1つもしくは複数の他の話された用語
のうちの少なくとも1つを認識するのに十分な機能まで低下させて動作するように、前記データ処理ハードウェア(410)と通信する自動スピーチ認識器(152)に指示することをさらに含む、請求項1から12のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項14】
前記動作が、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記受信されたオーディオセグメントの任意のストレージを削除することをさらに含む、請求項1から13のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項15】
データ処理ハードウェア(410)と、
前記データ処理ハードウェア(410)と通信するメモリハードウェア(420)であり、前記メモリハードウェア(420)が、命令を記憶しており、前記命令が、前記データ処理ハードウェア(410)上で実行されると、前記データ処理ハードウェア(410)に、
ユーザデバイス(110)によってキャプチャされたストリーミングオーディオ(12)において、ホットワード検出器(200)によって検出されたソフトホットワードイベント(202)を特徴付けるオーディオデータ(14)を受信することと、
前記オーディオデータ(14)を処理して、前記オーディオデータ(14)が、前記ユーザデバイス(110)において実行するアクション(148)を指定するクエリ(22)に対応すると決定することと、
前記ユーザデバイス(110)または別のデバイスにおいて前記アクション(148)の実行をトリガすることなく、
前記ユーザデバイス(110)からの出力についての通知(204)を提供することであり、前記通知(204)が、前記ユーザデバイス(110)または前記別のデバイスにおける前記アクション(148)の実行をトリガするために、前記ユーザデバイス(110)に関連付けられたユーザ(10)に肯定入力指示(16)を提供するように促す、提供することと、
前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記クエリ(22)によって指定された前記アクション(148)を実行しないように前記ユーザデバイス(110)または前記別のデバイスに指示することと
を含む動作を実行させる、メモリハードウェア(420)と
を備える、システム(100)。
【請求項16】
前記ホットワード検出器(200)が、前記ユーザデバイス(110)に常駐し、前記ユーザデバイス(110)によってキャプチャされた前記オーディオストリームがホットワード(24)の存在を含む可能性を示す信頼度スコア(212)が第1のしきい値スコア(214)を満たし、第2のしきい値スコア(216)を満たさないとき、前記ソフトホットワードイベント(202)を検出するように構成されている、請求項15に記載のシステム(100)。
【請求項17】
前記動作が、
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供してから予め定められた持続時間内に前記肯定入力指示(16)が受信されたかどうかを決定することと、
前記予め定められた持続時間内に前記肯定入力指示(16)が受信されなかったとき、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったと決定することと
をさらに含む、請求項15または16に記載のシステム(100)。
【請求項18】
前記動作が、
前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す否定入力指示(16N)を受信することと、
前記否定入力指示(16N)を受信したことに応答して、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったと決定することと
をさらに含む、請求項15から17のいずれか一項に記載のシステム(100)。
【請求項19】
前記ユーザデバイス(110)からの出力について提供される前記通知(204)がまた、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す前記否定入力指示(16N)を提供するよう前記ユーザ(10)に促す、請求項18に記載のシステム(100)。
【請求項20】
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供することが、前記通知(204)を前記ユーザデバイス(110)のスクリーン(118)上に表示するための視覚的通知としてレンダリングするように、前記ユーザデバイス(110)上で実行されるグラフィカルユーザインターフェースに指示することを含む、請求項15から19のいずれか一項に記載のシステム(100)。
【請求項21】
前記動作が、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記ユーザデバイス(110)の前記スクリーン(118)上に表示される前記視覚的通知を削除するように、前記グラフィカルユーザインターフェースに指示することをさらに含む、請求項20に記載のシステム(100)。
【請求項22】
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供することが、前記通知(204)を前記ユーザデバイス(110)のスピーカ(116)から可聴通知として出力するように前記ユーザデバイス(110)に指示することを含む、請求項15から21のいずれか一項に記載のシステム(100)。
【請求項23】
前記動作が、
前記ユーザ(10)から前記肯定入力指示(16)を受信することと、
前記肯定入力指示(16)を受信したことに応答して、前記ユーザデバイス(110)または前記別のデバイスにおいて、前記クエリ(22)によって指定された前記アクション(148)の実行をトリガすることと
をさらに含む、請求項15から22のいずれか一項に記載のシステム(100)。
【請求項24】
前記ユーザ(10)から前記肯定入力指示(16)を受信することが、
前記ユーザ(10)からスピーチ入力を受信することと、
前記スピーチ入力が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)が実行する意図を特徴付ける1つまたは複数の用語を含むと決定することと
を含む、請求項23に記載のシステム(100)。
【請求項25】
前記ユーザ(10)から前記肯定入力指示(16)を受信することが、前記ユーザデバイス(110)のスクリーン(118)上に表示された肯定グラフィカル要素の選択を示すユーザ入力指示を受信することを含む、請求項23または24に記載のシステム(100)。
【請求項26】
前記動作が、前記ユーザデバイス(110)からの出力についての前記通知(204)を提供した後、スピーチ認識を実行することなく、
前記肯定入力指示(16)を特徴付ける1つもしくは複数の話された用語、または
否定入力指示(16N)を特徴付ける1つもしくは複数の他の話された用語であり、前記否定入力指示(16N)が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す、1つもしくは複数の他の話された用語
のうちの少なくとも1つの存在を検出するように構成されたウォームワードモデルを起動することをさらに含む、請求項15から25のいずれか一項に記載のシステム(100)。
【請求項27】
前記動作が、前記ユーザデバイス(110)からの出力についての前記通知(204)を提供した後、
前記肯定入力指示(16)を特徴付ける1つもしくは複数の話された用語、または
否定入力指示(16N)を特徴付ける1つもしくは複数の他の話された用語であり、前記否定入力指示(16N)が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す、1つもしくは複数の他の話された用語
のうちの少なくとも1つを認識するのに十分な機能まで低下させて動作するように、前記データ処理ハードウェア(410)と通信する自動スピーチ認識器(152)に指示することをさらに含む、請求項15から26のいずれか一項に記載のシステム(100)。
【請求項28】
前記動作が、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記受信されたオーディオセグメントの任意のストレージを削除することをさらに含む、請求項15から27のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、程度によるホットワード検出に関する。
【背景技術】
【0002】
スピーチ対応環境(たとえば、家庭、職場、学校、自動車など)では、クエリを処理し、回答する、および/またはコマンドに基づいて機能を実行するコンピュータベースのシステムに対して、ユーザがクエリまたはコマンドを声に出して話すことができる。スピーチ対応環境は、環境の様々な部屋またはエリアに分散された、接続されたマイクロフォンデバイスのネットワークを使用して実装することができる。これらのデバイスは、所与の発話が、環境に存在する別の個人に向けられた発話とは対照的に、システムに向けられているとき、それを識別するのを助けるためにホットワードを使用する場合がある。したがって、デバイスはスリープ状態または休止状態で動作し、検出された発話がホットワードを含むときにのみ起動することができる。デバイスは、いったん起動すると、フルオンデバイス自動スピーチ認識(ASR)またはサーバベースのASRなど、より高価な処理の実行に進むことができる。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、ホットワードのソフトな受入れのためのコンピュータ実装方法を提供する。コンピュータ実装方法は、データ処理ハードウェアによって実行されると、データ処理ハードウェアに動作を実行させる。動作は、ユーザデバイスによってキャプチャされたストリーミングオーディオにおいて、ホットワード検出器によって検出されたソフトホットワードイベントを特徴付けるオーディオデータを受信することを含む。動作はまた、オーディオデータを処理して、オーディオデータがユーザデバイスにおいて実行するアクションを指定するクエリに対応することを決定することも含む。ユーザデバイスまたは別のデバイスにおいてアクションの実行をトリガすることなく、動作は、ユーザデバイスからの出力についての通知を提供することであり、通知が、ユーザデバイスまたは他のデバイスにおけるアクションの実行をトリガするために、ユーザデバイスに関連付けられたユーザに肯定入力指示を提供するように促す、提供することと、ユーザが肯定入力指示を提供しなかったとき、クエリによって指定されたアクションを実行しないようにユーザデバイスまたは他のデバイスに指示することとを含む。
【0004】
本開示の別の態様は、ホットワードのソフトな受入れのためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実行させる命令を記憶する。動作は、ユーザデバイスによってキャプチャされたストリーミングオーディオにおいて、ホットワード検出器によって検出されたソフトホットワードイベントを特徴付けるオーディオデータを受信することを含む。動作はまた、オーディオデータを処理して、オーディオデータがユーザデバイスにおいて実行するアクションを指定するクエリに対応することを決定することも含む。ユーザデバイスまたは別のデバイスにおいてアクションの実行をトリガすることなく、動作は、ユーザデバイスからの出力についての通知を提供することであり、通知が、ユーザデバイスまたは他のデバイスにおけるアクションの実行をトリガするために、ユーザデバイスに関連付けられたユーザに肯定入力指示を提供するように促す、提供することと、ユーザが肯定入力指示を提供しなかったとき、クエリによって指定されたアクションを実行しないようにユーザデバイスまたは他のデバイスに指示することとを含む。
【0005】
本方法または本システムの実装形態は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、ホットワード検出器が、ユーザデバイスに常駐し、ユーザデバイスによってキャプチャされたオーディオストリームがホットワードの存在を含む可能性を示す信頼度スコアが第1のしきい値スコアを満たし、第2のしきい値スコアを満たさないとき、ソフトホットワードイベントを検出するように構成されている。いくつかの例では、動作は、ユーザデバイスからの出力についての通知を提供してから予め定められた持続時間内に肯定入力指示が受信されたかどうかを決定することと、予め定められた持続時間内に肯定入力指示が受信されなかったとき、ユーザが肯定入力指示を提供しなかったと決定することとをさらに含む。いくつかの構成では、動作は、クエリによって指定されたアクションをユーザデバイスまたは他のデバイスが実行することをユーザが望まないことを示す否定入力指示を受信することと、否定入力指示を受信したことに応答して、ユーザが肯定入力指示を提供しなかったと決定することとを含む。ここで、ユーザデバイスからの出力について提供される通知はまた、クエリによって指定されたアクションをユーザデバイスまたは他のデバイスが実行することをユーザが望まないことを示す否定入力指示を提供するようユーザに促す。いくつかの実装形態では、ユーザデバイスからの出力についての通知を提供することは、通知をユーザデバイスのスクリーン上に表示するための視覚的通知としてレンダリングするように、ユーザデバイス上で実行されるグラフィカルユーザインターフェースに指示することを含む。これらの実装形態において、動作は、ユーザが肯定入力指示を提供しなかったとき、ユーザデバイスのスクリーン上に表示される視覚的通知を削除するように、グラフィカルユーザインターフェースに指示することをさらに含む。ユーザデバイスからの出力についての通知を提供することは、通知をユーザデバイスのスピーカから可聴通知として出力するようにユーザデバイスに指示することを含み得る。
【0006】
本方法またはシステムはまた、ユーザから肯定指示も受信し、肯定入力指示を受信したことに応答して、ユーザデバイスまたは他のデバイスにおいて、クエリによって指定されたアクションの実行をトリガする動作も含み得る。ユーザから肯定入力指示を受信することは、ユーザからスピーチ入力を受信することと、スピーチ入力が、クエリによって指定されたアクションをユーザデバイスまたは他のデバイスが実行する意図を特徴付ける1つまたは複数の用語を含むと決定することとを含み得る。いくつかの例では、ユーザから肯定入力指示を受信することが、ユーザデバイスのスクリーン上に表示された肯定グラフィカル要素の選択を示すユーザ入力指示を受信することを含む。
【0007】
方法またはシステムのいくつかの構成は、ユーザデバイスからの出力についての通知を提供した後、スピーチ認識を実行することなく、肯定入力指示を特徴付ける1つもしくは複数の話された用語、または否定入力指示が、クエリによって指定されたアクションをユーザデバイスまたは他のデバイスが実行することをユーザが望まないことを示す、否定入力指示を特徴付ける1つもしくは複数の他の話された用語のうちの少なくとも1つの存在を検出するように構成されたウォームワードモデルを起動する動作を含む。いくつかの例では、動作は、ユーザデバイスからの出力についての通知を提供した後、肯定入力指示を特徴付ける1つもしくは複数の話された用語、または否定入力指示が、クエリによって指定されたアクションをユーザデバイスが実行することをユーザが望まないことを示す、否定入力指示を特徴付ける1つもしくは複数の他の話された用語のうちの少なくとも1つを認識するのに十分な機能まで低下させて動作するように、データ処理ハードウェアと通信する自動スピーチ認識器に指示することを含み得る。追加または代替として、方法またはシステムの動作は、ユーザが肯定入力指示を提供しなかったとき、受信されたオーディオセグメントの任意のストレージを削除することをさらに含み得る。
【0008】
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0009】
【
図2】
図1Aの例示的なソフトアクセプタの概略図である。
【
図3】ホットワードをソフトに受け入れる方法の動作の例示的な構成のフローチャートである。
【
図4】本明細書で説明するシステムおよび方法を実施するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0010】
様々な図面における同様の参照符号は、同様の要素を示す。
【0011】
ボイス対応デバイス(たとえば、ボイスアシスタントを実行するユーザデバイス)は、ユーザがクエリまたはコマンドを声に出して、クエリに対する回答を処理すること、および/またはコマンドに基づいて機能を実行することを可能にする。「ホットワード」(「キーワード」、「注目ワード」、「起動フレーズ/ワード」、「トリガフレーズ」、「呼び出しフレーズ」、または「ボイスアクション開始コマンド」とも呼ばれる)を使用することにより、ボイス対応デバイスの注意を喚起するために話される予め定められた用語/フレーズが合意により予約され、ボイス対応デバイスは、システムに向けられた発話(すなわち、発話中のホットワードに続く1つまたは複数の用語を処理するための起動プロセスを開始するため)と、環境内の個人に向けられた発話とを区別することができる。通常、ボイス対応デバイスは、バッテリ電力を節約するためにスリープ状態で動作し、入力されたオーディオデータが話されたホットワードに続かない限り、入力されたオーディオデータを処理しない。たとえば、スリープ状態の間、ボイス対応デバイスはマイクを介して入力オーディオをキャプチャし、入力オーディオ内のホットワードの存在を検出するようにトレーニングされたホットワード検出器を使用する。ホットワードが入力オーディオで検出されると、ボイス対応デバイスは、ホットワードおよび/またはホットワードに続く入力オーディオ内の任意の他の用語を処理するための起動プロセスを開始する。
【0012】
ホットワード検出は、ストリーミングオーディオを継続的に聞き、ホットワードの存在がストリーミングオーディオで検出されたとき、正確かつ即座にトリガする必要があるので、干し草の山から針を探すようなものである。言い換えれば、ホットワード検出器は、ホットワードの存在が検出されない限り、ストリーミングオーディオを無視する役割を果たす。連続的なオーディオストリーム中のホットワードの存在を検出する複雑さに対処するために、一般的にホットワード検出器によってニューラルネットワークが採用されている。通常、ホットワード検出器は、ユーザデバイスのマイクによってキャプチャされた生のオーディオ信号を、ニューラルネットワークによる処理のためにフォーマットされた1つまたは複数のオーディオ特徴に変換するコンポーネントを含む。ニューラルネットワークは、ホットワードを含むオーディオシーケンスを認識するようにトレーニングされる。
【0013】
ボイス対応デバイスの増加に伴い、一般に、これらのデバイスがスピーチ処理(たとえば、スピーチ認識またはテキストトゥスピーチ)において効果的である必要がある。スピーチ処理は、ホットワードが検出されたときにスピーチ処理を確実に開始するホットワード検出器の能力に依存するので、ホットワード検出器で受信されたスピーチにおいてホットワードが検出されたかどうかの決定は、ボイス対応デバイスを使用するユーザエクスペリエンスに影響を与える可能性がある。言い換えれば、ユーザがホットワードに続いて、ボイス対応デバイスが実行するよう要求されたアクションを話し(たとえば、「ヘイ、グーグル、2021年夏のプレイリストを再生してください」)、しかし、ホットワード検出器がホットワードの存在を検出できなかった場合、要求されたアクションを理解し、実行するためのスピーチ処理は行われない。この状況では、ユーザは自分が話した発話を繰り返す可能性があり、ユーザにいら立つ経験をもたらす可能性がある。このエラーにより、ユーザは、ボイス対応デバイスの機能に対する信頼を失う可能性がある。残念ながら、ユーザの信頼がなければ、ボイス対応デバイスは十分に活用されない可能性がある。
【0014】
ホットワード検出に関する現在の問題の1つは、プロセスが通常バイナリであることである。つまり、ホットワード検出器はオーディオストリームを聞き、オーディオストリームをスピーチ処理にコミットするか、またはオーディオストリームをスピーチ処理にコミットしないかのいずれかである。コミットするかしないかによって、ホットワード検出器は、本質的に、オーディオストリームにホットワードが存在するか、またはオーディオストリームにホットワードが存在しないことを認識していることを伝えている。しかし、実際には、ホットワード検出器は、話された発話に対応するオーディオストリームの各サウンドバイトまたはオーディオセグメントにスコアを付ける。ここで、スコアはオーディオデータにホットワードが存在する確率または可能性を表す。この結果、信頼度勾配が生じ、勾配の一端は、オーディオデータにホットワードが存在するという信頼度が最も高く、もう一端は、オーディオデータにホットワードが存在するという信頼度が最も低くなる。現在、バイナリアプローチでは、信頼度勾配は、信頼度スコアに基づいて、ホットワード受入れの第1の結果、またはホットワード拒否の第2の結果の2つの結果カテゴリに分割される。
【0015】
残念ながら、可能性のあるホットワードの結果が2つしかない(たとえば、受入れの結果と拒否の結果)ことは、本質的に、オーディオデータがホットワードの存在を含むかどうかに関する信頼度に必ずしも合わせていない応答を引き起こす。すなわち、ホットワード検出器がオーディオデータのオーディオセグメントに、オーディオセグメントがホットワードを含むという55%の信頼度を表す55%のホットワード検出スコアを付けた場合、ホットワードシステムは、55%の信頼度を反映するための後続アクションを実行しない。むしろ、55%の信頼度は、ホットワード検出器が、ホットワードが存在することを、存在しない場合よりも確信していることを示すので、バイナリアプローチで55%の信頼度を有するオーディオセグメントは、単純にホットワードアクセプトとしてカテゴライズまたは分類される。バイナリアプローチでは、信頼度勾配の中間により近い信頼度スコア(たとえば、信頼度40~60%)は、実際の信頼度レベルを正しく分類できない可能性のある応答カテゴリに分類される。言い換えると、ホットワードシステムが、特定のオーディオセグメントにホットワードが存在することを51%確信した場合、ホットワードシステムは、ホットワードが存在することを99%確信した別のオーディオセグメントと同じ方法で、この信頼度を単純に受入れ結果と分類することができる。したがって、バイナリアプローチとの本質的な不一致によって、ホットワード検出器がオーディオセグメントを受け入れるか拒否するかを誤る可能性が高くなる。別の言い方をすれば、バイナリホットワード検出器は、偽の受入れ(すなわち、ホットワードが存在しないにもかかわらず、受入れの結果としてカテゴライズされる)または偽の拒否(すなわち、ホットワードが存在するにもかかわらず、拒否の結果としてカテゴライズされる)エラーにつながる。
【0016】
バイナリアプローチでは、ホットワード検出器は、受入れの結果と拒否の結果とを区別するしきい値信頼度で構成される。たとえば、50%の信頼度を超える任意のオーディオセグメントが受け入れられ、50%の信頼度未満の任意のオーディオセグメントが拒否されるように、しきい値信頼度を50%の信頼度に設定することができる。いくつかの例では、しきい値は、受入れを含み、これは、正確に50%の信頼度を有するオーディオセグメントが受け入れられることを意味する。他の例では、しきい値は、代わりに、拒否を含み、これは、正確に50%の信頼度を有するオーディオセグメントが拒否されることを意味する。多くの場合、バイナリホットワード検出器のしきい値信頼度は、両側のエラーのバランスを取ろうとする。言い換えれば、しきい値信頼度を、偽の受入れおよび偽の拒否の数を最小にする信頼度に設定する。しきい値はエラー(すなわち、偽の受入れおよび偽の拒否)を最小にするように調整されているので、しきい値の信頼度をどちらかの方向に動かしても、エラーの割合を減らすことはできない。すなわち、しきい値を50%の信頼度から55%の信頼度に移動させると、偽の受入れによるエラーは減少するが、偽の拒否によるエラーは増加する可能性がある。一方、しきい値を50%の信頼度から45%の信頼度に移動させると、偽の拒否によるエラーは減少するが、偽の受入れによるエラーは増加する可能性がある。
【0017】
しきい値信頼度を移動させることは、エラーの全体数を低減するのではなく、単にエラーのトレードオフを行うだけであるので、境界の信頼度のケースを考慮するアプローチが必要である。これらの問題のいくつかに対処するために、本明細書で説明するアプローチは、ソフトアクセプト(soft accept)と呼ばれる結果カテゴリを導入する非バイナリアプローチである。この結果カテゴリは、受入れおよび拒否の結果カテゴリに追加されてもよい。ソフトアクセプトとは、オーディオストリームに含まれる要求またはクエリに対する応答(応答アクションなど)が少なくとも最初は制限されるという条件で、ホットワード検出器がオーディオセグメントにホットワードの存在が含まれていることを受け入れる結果を指す。たとえば、ソフトアクセプトは、クエリ(すなわち、要求またはコマンド)を満たすアクションは、そのアクションが肯定的に承認されるまで実行できないことを要求する。アクションが肯定的に承認されると、そのアクションはその後実行される。
【0018】
一般に、スピーチ処理システムのホットワード検出器が、オーディオストリームにホットワードが存在することを受け入れるとき、ホットワード検出器は、オーディオストリームを完全なスピーチ処理のためにコミットする。完全なスピーチ処理は、オーディオストリームがボイス対応デバイスから特定の応答(たとえば、応答アクション)を要求しているかどうかを決定する。オーディオストリームが特定の応答を要求するとき、ボイス対応デバイスのシステムは、通常、応答を自動的に処理および/または実行するように構成される。たとえば、ユーザが「ヘイ、グーグル」というホットワードに続いて「2021年夏のプレイリストを再生してください」という要求アクションを話した場合(すなわち、
図1Aに示すように「ヘイ、グーグル、2021年夏のプレイリストを再生してください」という発話)、ボイス対応デバイスはホットワードを認識し(たとえば、ホットワード検出器で)、「2021年夏のプレイリスト」を含む音楽再生アプリケーションを開き、音楽再生アプリケーション(たとえば、Google Play Music)を使用して「2021年夏のプレイリスト」を再生する。対照的に、ソフトアクセプトでは、ユーザは「ヘイ、グーグル」というホットワードをあまりはっきりと話していない可能性がある。この明確さの欠如により、ホットワード検出器は、「ヘイ、グーグル」に対応するオーディオセグメントが、ソフトアクセプト結果カテゴリに対応するホットワードの信頼度を有することを示す可能性がある。ソフトアクセプト結果カテゴリで、ホットワード検出器は「2021年夏のプレイリストを再生してください」というオーディオも完全なスピーチ処理にコミットする。このソフトアクセプトの例では、「2021年夏のプレイリスト」を再生するという応答を生成する(たとえば、自動的に生成する)代わりに、システムは、限定的な応答(またはソフトアンサ)で応答する。たとえば、限定的な応答は、発話に対するシステムの解釈した応答をボイス対応デバイスを介してユーザに通知する応答である。いくつかの例では、このソフトアンサは、システムが解釈した応答を続行するためのユーザ許可を要求する通知である。たとえば、システムは、ボイス対応デバイス上に「Google Play Musicで2021年夏のプレイリストを再生しますか?」という視覚的な応答(たとえば、プロンプト)を生成する。ここで、システムは、ユーザが解釈された応答に対する許可を与える(たとえば、視覚的応答を肯定的に承認するインタラクションを実行する)まで、解釈された応答(すなわち、Google Play Musicで2021年夏のプレイリストを再生する)を生成しない。
【0019】
システムによる初期応答を限定的な応答に制約することにより(たとえば、アクションを実行する前に、クエリからのアクションの肯定的承認を要求する)、ソフトアクセプト結果は、ホットワードの信頼度が低いと、不正確な完全な応答よりもユーザにとってあまり目立たない可能性がある限定的な応答をもたらすようにヘッジする。この意味で、システムはホットワードの信頼度を反映した応答を生成している。「ヘイ、グーグル、2021年夏のプレイリストを再生してください」の例では、ユーザは、ボイス対応デバイスの可聴範囲内にいる他の誰かと話している間に、実際には「2021年夏のプレイリストに『hey beautiful』を加えるべき」と発話した可能性がある(すなわち、発話は、フォローオンスピーチではなく、実際にはサイドスピーチであった)。「ヘイ、グーグル、2021年夏のプレイリストを再生してください」というシステムによる誤った解釈は、ユーザにとってかなり煩わしい応答になる可能性がある。言い換えれば、ボイス対応デバイスは、ユーザがしている会話上にプレイリストからの音楽の再生を突然開始する可能性がある(たとえば、
図1Bに示すように)。しかしながら、「2021年夏のプレイリストに『hey beautiful』を加えるべき」という実際の発話が、ソフトアクセプト結果をもたらすホットワードの信頼度を有していた場合、結果は単に、ボイス対応デバイスが、ボイス対応デバイスのディスプレイ上に「2021年夏のプレイリストを再生したいですか?」という目立たないプロンプトを生成し、ユーザがプロンプトを無視するか、またはプロンプトを否定的に承認するインタラクションを実行するだけであり得る(たとえば、
図1Cに示すように)。
【0020】
いくつかの例では、解釈された完全な応答(すなわち、クエリによって要求されたアクション)は聴覚的な応答であるにもかかわらず、限定的な応答は視覚的な応答である。これは、視覚的な応答と聴覚的な応答との間には非対称性があることが多いという原理に従っている。一般に、視覚的な応答は、ユーザが視覚的な応答を表示しているディスプレイを見ている場合にのみ妨げになるのに対し、聴覚的な応答は、ユーザが聴覚的な応答を聞くことができるときに妨げになる。つまり、人間の感覚的な知覚により、視覚的な反応よりも聴覚的な反応の方が自然により妨げになる可能性がある。言い換えれば、多くのユーザは、何かを見る感覚エリアよりも、何かを聞く感覚エリアの方が広い(すなわち、聞こえるが視野には入らない)。したがって、通知または小さいポップアップウィンドウなどの視覚的な応答は、ボイス対応デバイスのウィンドウ全体を変更したり、「2021年夏のプレイリストを再生」したいかどうかをユーザに聞き取れるように尋ねたりすることに比べて、あまり煩わしくない応答である可能性がある。
【0021】
ソフトアクセプト結果は、ボイス対応デバイスに関連付けられたスピーチ処理システムへのフィードバックとしても機能する。たとえば、限定的な応答は、要求またはクエリに対する応答の生成を続行するかどうかについて、ユーザに許可を促す場合があるので、ユーザの許可の付与または許可の拒否は、ホットワード検出器にとって意味のあるフィードバックを提供する場合がある。すなわち、限定的な応答とのユーザのインタラクションは、ホットワードが存在するかしないかを示す。別の言い方をすれば、ボイス対応デバイスのユーザは、最初から求めていない応答を生成する許可を与える可能性は低い。この点で、ユーザが応答の生成に許可を与えた場合、許可を与えるためのインタラクションは、システムによって肯定的なホットワード例として解釈され得る。システムは次いで、ホットワード検出器に入力されたオーディオデータにホットワードが存在する確率を予測するためにホットワード検出器によって使用されるモデル(たとえば、機械学習モデル)の将来のトレーニング例として機能するように、肯定的なホットワード例を記憶し得る。この意味で、ユーザのインタラクションによって、ホットワード例は肯定的なホットワード例としてラベル付けされ、ホットワード検出器のための教師ありホットワードトレーニング例が生成され得る(たとえば、ホットワード検出器の機能を改善または更新するため)。一部の例では、これらの肯定的なホットワードの例は、広い意味でホットワード検出器のホットワードトレーニング例として機能するのではなく、むしろより正確なソフトな受入れを実行するようにホットワード検出器をトレーニングするように機能する(すなわち、ソフトな受入れトレーニング例として機能する)。
【0022】
追加または代替として、ソフトアクセプト出力は、ユーザデバイスがホットワード検出器に関連付けられたホットワード感度を微調整するのを支援するためのフィードバックであり得る。たとえば、ホットワード検出器は、ソフトアクセプト結果のうちのどれだけが正当なクエリとして識別されたか、さらに、正当なクエリのうちのどれだけがユーザによる肯定的承認をもたらしたかと比較して、ソフトアクセプト結果の頻度を評価することができる。つまり、スピーチ処理システムがあるパーセンテージ(たとえば、しきい値のパーセンテージ)でソフトアクセプト結果に関連付けられたクエリを識別できなかった場合、ホットワード検出器は、そのパーセンテージを最小化または低減するようにソフトな受入れ信頼度しきい値を変更するように構成される可能性がある。言い換えれば、ソフトアクセプト結果は、ソフトホットワードを含むオーディオデータにクエリが存在しないときに発生しているようである。このような状況では、ユーザがクエリの呼び出しフレーズとしてホットワードを使用してクエリを開始したので、ホットワードがオーディオデータに存在しなかった可能性が高い。クエリがなければ、ホットワードが存在する可能性は低く、したがって、この状況は、ソフトアクセプト結果が過剰に包括的である(つまり、偽の受入れを含む)ことをホットワード検出器に教えるためのフィードバックとして機能する可能性がある。同様の点で、ユーザがソフトアクセプト結果に対応するクエリを肯定的に承認しない(または否定的に承認する)場合、この状況は、ユーザデバイスに実際に向けられたスピーチではなく、ユーザデバイスがサイドスピーチを拾ったことを表す可能性がある。したがって、ホットワード検出器は、ソフトアクセプト結果に対応するその信頼度しきい値のうちの1つまたは複数を、ソフトアクセプト結果に起因するアクションに対する肯定的承認の欠如の発生頻度に基づいて調整することができる。
【0023】
図1A~
図1Dを参照すると、いくつかの例では、スピーチ環境(すなわち、システム)100は、ユーザ10がデジタルアシスタントインターフェース120を実行するボイス対応デバイス110(デバイス110またはユーザデバイス110とも呼ばれる)の可聴範囲内で発話20を話していることを含む。ここで、ユーザ10によって話された発話20は、ストリーミングオーディオ12においてデバイス110によってキャプチャされる場合があり、アクションを実行するためのクエリ22、より具体的には、アクションを実行するためのデジタルアシスタントインターフェース120に対するクエリ22に対応する場合がある。ユーザ10は、スリープ状態または休止状態の間にデバイス110上で実行されているホットワード検出器(たとえば、ソフトアクセプタ200)によってストリーミングオーディオ12内でホットワード24が検出されたとき、デバイス110をスリープ状態または休止状態からトリガするために、クエリ22の前にホットワード24(たとえば、呼び出しフレーズ)を付けることができる。アクションは、動作またはタスクと呼ばれることもある。この意味で、ユーザ10は、ボイス対応デバイス110上で実行されるデジタルアシスタントインターフェース120と会話的な対話をして、コンピューティングアクティビティを実行したり、質問に対する回答を見つけたりすることができる。
【0024】
デバイス110は、ユーザ10に関連付けられ、環境100からオーディオをキャプチャすることができる任意のコンピューティングデバイスに対応し得る。いくつかの例では、ユーザデバイス110は、限定はされないが、モバイルデバイス(たとえば、携帯電話、タブレット、ラップトップ、電子書籍リーダなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、音楽プレーヤ、キャスティングデバイス、スマート家電(たとえば、スマートテレビ)およびモノのインターネット(IoT)デバイス、リモートコントロール、スマートスピーカなどを含む。デバイス110は、データ処理ハードウェア112と、データ処理ハードウェア112と通信し、データ処理ハードウェア112によって実行されると、データ処理ハードウェア112にスピーチ処理に関連する1つまたは複数の動作を実行させる命令を記憶するメモリハードウェア114とを含む。
【0025】
デバイス110は、スピーチ環境100内のオーディオをキャプチャして電子信号(たとえば、オーディオデータ14)に変換するためのオーディオキャプチャデバイス(たとえば、1つまたは複数のマイクのアレイ)を有するオーディオサブシステム116をさらに含む。図示の例では、デバイス110はオーディオキャプチャデバイス116(一般にマイク116とも呼ばれる)を実装しているが、オーディオキャプチャデバイス116はデバイス110上に物理的に存在するのではなく、オーディオサブシステム(たとえば、デバイス110の周辺機器)と通信してもよい。たとえば、デバイス110は、車両全体に配置されたマイクのアレイを利用する車両インフォテインメントシステムに対応し得る。別の例では、オーディオキャプチャデバイス116aは、アクションを実行するユーザデバイス110と通信する別のデバイス上に常駐することができる。さらに、オーディオサブシステム116は、ユーザデバイス110によって生成されたオーディオ(たとえば、合成オーディオまたは合成スピーチ)を再生するための再生デバイス(たとえば、1つまたは複数のスピーカなど)を含み得る。
【0026】
デバイス110はまた、グラフィカルユーザインターフェース(GUI)要素(たとえば、ウィンドウ、スクリーン、アイコン、メニューなど)および/またはグラフィカルコンテンツを表示するためのディスプレイ118を含み得る。たとえば、デバイス110は、ディスプレイ118のためにGUI要素または他のグラフィカルコンテンツを生成するアプリケーション(ローカルアプリケーションまたはリモートアプリケーション)をロードまたは起動することができる。さらに、ディスプレイ118内で生成される要素は、ユーザ10によって選択可能であってもよく、デバイス110上で発生する処理アクティビティおよび/または動作に対して何らかの形式の視覚的フィードバックを提供する役割も果たす。さらに、デバイス110はボイス対応デバイス110であるので、ユーザ10は、様々なボイスコマンドを使用して、ディスプレイ118上に生成された要素と対話することができる。たとえば、ディスプレイ118は、特定のアプリケーションのオプションメニューを表示することができ、ユーザ10は、インターフェース120を使用してスピーチを介してオプションを選択することができる。
【0027】
スピーチ対応インターフェース(たとえば、デジタルアシスタントインターフェース)120は、デバイス110によってキャプチャされた話された発話20で伝えられたクエリ22またはコマンドを処理し得る。スピーチ対応インターフェース120(インターフェース120またはアシスタントインターフェース120とも呼ばれる)は、一般に、発話20に対応するオーディオデータ14の受信と、オーディオデータ14に対するスピーチ処理または発話20に由来する他のアクティビティの調整を容易にする。インターフェース120は、デバイス110のデータ処理ハードウェア112上で実行することができる。インターフェース120は、発話20を含むオーディオデータ14を、スピーチ処理またはクエリ履行に関連する様々なシステムに流すことができる。
【0028】
さらに、デバイス110は、ネットワーク130を介してリモートシステム140と通信するように構成されている。リモートシステム140は、リモートデータ処理ハードウェア144(たとえば、リモートサーバまたはCPU)および/またはリモートメモリハードウェア146(たとえば、リモートデータベースまたは他のストレージハードウェア)などのスケーラブルリモートリソース142を含み得る。デバイス110は、スピーチ処理(たとえば、スピーチ処理システム150による)および/またはソフトな受入れ(たとえば、ソフトアクセプタ200による)に関連する様々な機能を実行するために、リモートリソース142を利用することができる。たとえば、デバイス110は、スピーチ認識システム152を使用したスピーチ認識、および/またはスピーチインタプリタ154を使用したスピーチ解釈を行うように構成されている。いくつかの例では、図示していないが、デバイス110は、テキストトゥスピーチ(TTS)システムを使用してスピーチ処理中にTTSにさらに変換することができる。
【0029】
システム150、200は、デバイス110上に常駐してもよく(オンデバイスシステムと呼ばれる)、リモートに常駐(たとえば、リモートシステム140上に常駐)しているが、デバイス110と通信してもよい。いくつかの例では、これらのシステム150、200のいくつかはローカルまたはオンデバイスに存在し、他のシステムはリモートに常駐する。言い換えれば、これらのシステム150、200のいずれも、任意の組合せでローカルまたはリモートとすることができる。たとえば、システム150、200のサイズまたは処理要件がかなり大きいとき、システム150、200はリモートシステム140に常駐し得る。さらに、デバイス110が1つまたは複数のシステム150、200のサイズまたは処理要件をサポートし得るとき、1つまたは複数のシステム150、200は、データ処理ハードウェア112および/またはメモリハードウェア114を使用してデバイス110上に常駐し得る。任意選択で、1つまたは複数のシステム150、200は、ローカル/オンデバイスおよびリモートの両方に常駐し得る。たとえば、システム150、200のうちの1つまたは複数は、デバイス110とリモートシステム140との間のネットワーク130への接続が利用可能であるとき、リモートシステム140上で実行するようにデフォルト設定され得るが、接続が失われるか、またはネットワーク130が利用不可能であるとき、システム150、200は、代わりに、デバイス110上でローカルに実行される。
【0030】
デバイス110はまた、スピーチ処理システム150と通信するように構成されている。スピーチ処理システム150は、一般に、スピーチ認識およびスピーチ解釈(クエリ解釈とも呼ばれる)など、スピーチ処理に関する様々な機能を実行することができる。たとえば、
図1Aのスピーチ処理システム150は、自動スピーチ認識(ASR)を実行するスピーチ認識器152、認識されたスピーチの意味を決定する(すなわち、スピーチを理解する)スピーチインタプリタ154、および認識されたスピーチで識別されたクエリに応答して任意の検索結果を取り出す検索エンジン156を含むように示されている。ソフトアクセプタ200がソフトホットワードイベント202を検出すると、ソフトアクセプタ200はオーディオデータ14をスピーチ処理システム150に渡す。ソフトホットワードイベント202は、ソフトアクセプタ200がオーディオデータ14の一部(たとえば、第1のオーディオセグメント)をホットワード24として受け入れることを示す。オーディオデータ14の一部がホットワード24として識別されると、ソフトアクセプタ200は、スピーチ処理システム150がオーディオデータ14に対してスピーチ処理を実行できるように、オーディオデータ14をソフトホットワードイベント202として通信する。オーディオデータ14に対してスピーチ処理を実行することによって、スピーチ認識器152は、スピーチインタプリタ154と組み合わせて、オーディオデータ14の第2のオーディオセグメント(たとえば、クエリ22として示される)が、話されたクエリタイプの発話を示しているかどうかを決定することができる。
【0031】
スピーチ認識器152は、ソフトホットワードイベント202に対応するオーディオデータ14を入力として受信し、スピーチ認識結果Rと呼ばれる出力として、オーディオデータ14を書き起こしに転写する。一般的に言えば、オーディオデータ14を書き起こしに変換することによって、スピーチ認識器152により、デバイス110は、ユーザ10からの話された発話20がクエリ22(またはコマンド)、または何らかの他の形式のオーディオ通信に対応するときを認識することができる。書き起こしとは、デバイス110(たとえば、アシスタントインターフェース120またはスピーチ処理システム150)が、クエリまたはコマンドに対する応答を生成するために使用することができるテキストのシーケンスを指す。スピーチ認識器152および/またはインターフェース120は、スピーチ認識結果Rをスピーチインタプリタ154(たとえば、自然言語理解(NLU)モジュール)に提供して、オーディオデータ14が特定のアクション148の実行を要求するクエリ22を含むかどうかを決定するために、結果Rに対して意味解釈を実行することができる。言い換えれば、スピーチインタプリタ154は、オーディオデータ14内のクエリ22またはコマンドを識別し、スピーチ処理システム150がクエリ22によって呼び出される対応するアクション158でクエリ22に応答できるようにするために、結果Rの解釈Iを生成する。たとえば、クエリ22が音楽を再生するコマンドである場合、クエリ22によって呼び出される対応するアクション158は、(たとえば、音楽を再生できるアプリケーションを実行することによって)音楽を再生することである。いくつかの例では、スピーチ処理システム150は、スピーチ処理システム150がクエリ22に応答する(すなわち、クエリ22を満たす)ことを可能にする検索結果を取り出すために検索エンジン156を採用する。
【0032】
ソフトアクセプタ200は、一般に一種のホットワード検出器として機能する。すなわち、ソフトアクセプタ200は、ストリーミングオーディオ12内のホットワード24の存在を検出するように構成されている。ソフトアクセプタ200は、ホットワードの存在を検出するために「常時オン」になるように構成され得る。ソフトアクセプタ200は、スピーチ認識または意味分析を実行せずにホットワード24を示す音響特徴を検出するように構成されたニューラルネットワークベースのモデルなどのホットワード検出モデルを含み得る。ソフトアクセプタ200を使用することによって、ホットワード24の検出は、デジタル信号プロセッサ(DSP)チップなどの低電力ハードウェアで行われる可能性があり、デバイスのコンピューティングプロセッシングユニット(CPU)(たとえば、データ処理ハードウェア112に関連付けられた)の消費を回避する。いくつかの例では、ソフトアクセプタ200の機能は、ホットワード検出の1つまたは複数の段階に分割され得る。たとえば、最初にホットワード候補を検出する第1の段階と、ホットワード候補をホットワードとして確認する第2の段階である。複数の段階があっても、検出器がホットワード24を検出すると、ホットワード24は、デバイスを起動させ、より高価な処理(ASRおよび自然言語理解(NLU)など)を要求するスピーチ認識を開始するようにトリガし得る。ここで、デバイスは、データ処理ハードウェア112(たとえば、CPU)上でスピーチ認識器152を実行することによって、オンデバイスASRを実行することができる。任意選択で、デバイス110は、サーバ(たとえば、
図1Aのリモートシステム140)とのネットワーク接続を確立し、オーディオデータ14をサーバに提供して、オーディオデータ14に対してサーバ側ASRおよび/またはNLUを実行することができる。
【0033】
さらに、ソフトアクセプタ200は、ホットワード検出結果をソフトアクセプト結果として、より具体的にはソフトホットワードイベント202としてカテゴライズすることができるという点で、従来のホットワード検出器とは異なる。ここで、ソフトホットワードイベント202とは、オーディオデータ14にホットワード24が含まれていることをソフトアクセプタ200が決定したが、ホットワード検出の信頼度によって、ソフトアクセプタ200は、ホットワード検出をフルアクセプトではなく、ソフトアクセプトとして指定する状況を指す。フルアクセプトまたはソフトアクセプトのいずれかにより、ソフトアクセプタ200は、オーディオデータ14がデバイス110上で実行するアクション148を指定するクエリ22に対応するかどうかを決定するために、オーディオデータ14をストリーミングオーディオ12からスピーチ処理システム150に渡し、システム150が処理できるようにする。フルアクセプトとソフトアクセプトとの違いは、デバイス110が、通常、完全に受け入れられたホットワードに関連付けられたクエリ22によって指定されたアクション148を実行することを許可される(たとえば、自動的にアクションを実行する)のに対し、ソフトアクセプトでは、デバイス110は、デバイス110上でアクション148の実行をトリガするために、デバイス110に関連付けられたユーザ10に肯定入力指示16を提供する(すなわち、通知204を肯定的に承認する)ことを促す通知204をソフトアクセプタ200が生成するまで、ソフトアクセプトに関連付けられたクエリ22によって指定されたアクション148を実行できないことである。したがって、ソフトホットワードイベント202では、ユーザ10が肯定入力指示16を提供しなかった場合、アクション148は発生しない。
【0034】
図1B~
図1Dは、従来のホットワード検出(たとえば、
図1B)と、ソフトアクセプタ200を使用するホットワード検出(たとえば、
図1Cおよび
図1D)との間の違いをいくつか示している。
図1Bでは、第1のユーザ10、10aが第2のユーザ10、10bと会話をしており、両方のユーザ10はテーブルに座っている。ユーザデバイス110は現在、ユーザ10間の会話の可聴範囲内にあるサイドボード上に常駐している。会話中、第1のユーザ10aは、「『ママと恋に落ちるまで』を再視聴し始めました。どの俳優もとても若く見えます」という第1の発話20、20aを話す。第1のユーザ10aのこの発言に応答して、第2のユーザ10bは、「おー、2021年の夏のプレイリストに曲『Hey Beautiful』を絶対加えるべきです」という第2の発話20、20bを話す。「ママと恋に落ちるまで」の番組について言及することによって、第1のユーザ10aは、第2のユーザ10bに、「ママと恋に落ちるまで」のテーマ曲を2021年夏のプレイリストに加えるべきであることを思い出させる。残念ながら、このシナリオでは、ユーザデバイス110に関連付けられたホットワード検出器が、「Hey Beautiful」という用語を「ヘイ、グーグル」というホットワードと間違える。
図1Bのデバイス110のホットワード検出器は、ソフトアクセプトのない、単なるバイナリホットワード検出器であるので、ホットワードが検出されると、デバイス110のスピーチ処理システムは、検出されたホットワードに関連付けられたアクション148を自動的に実行する。ここで、デバイス110は、アクション148を、デバイス110が「2021年夏のプレイリスト」を再生すべきであると解釈する。次いで、デバイス110とペアリングされたスピーカは、「2021年夏のプレイリスト」から音楽を再生し始める。残念なことに、第1のユーザ10aも第2のユーザ10bもいかなる音楽も聴きたくなかったため、今や彼らの会話は不要な音楽と競合することになった。
【0035】
対照的に、
図1Cおよび
図1Dでは、ユーザ10a~bが同じ会話をしているが、デバイス110がアクション148(すなわち、音楽を再生する)を自動的に実行する代わりに、デバイス110は、アクション148を実行すべきかどうかを尋ねる通知204「2021年夏のプレイリストを再生したいですか?」を表示する。ユーザ10はプレイリストを要求しなかったので、ユーザ10は、デバイス110上の通知204を無視するか、またはアクション148が望まれないことを示す入力16(すなわち、否定的な入力)をユーザデバイス110に提供することができる。いくつかの例では、通知204が無視されると、通知204は、特定の時間後に、デバイス110のディスプレイ118から自動的に削除される。すなわち、デバイス110は、アクション148を実行するために、通知204を肯定的に承認する(すなわち、許可を受け入れるまたは許可を与える)ための有限の時間ウィンドウをユーザ10に与える。そうでなければ、いかなる承認もなく、アクション148は忘れ去られる(たとえば、メモリから削除される)可能性がある。この意味で、ユーザ10a~bが自分達の会話に没頭しており、アクション148を発生させるつもりがなかった場合、デバイス110は、妨げにならず、時間ウィンドウが満了すると消える、目立たない通知204を生成する。いくつかの例では、時間ウィンドウは、ユーザの現在の状態に応じて時間ウィンドウが延長または短縮されるような動的なものであってもよい。たとえば、ユーザ10が通知204を肯定的に承認するためにデバイス110に近づいていることをデバイス110が感知すると、デバイス110は時間ウィンドウを延長することができる。
【0036】
図1Dは、通知204のグラフィカルなサイズが変化する可能性があることを示す。たとえば、通知204のサイズは、ソフトアクセプタ200によって決定されたホットワードの信頼度に比例する可能性がある。たとえば、通知204が占めるピクセルの数は、ホットワードの信頼度に比例し得る。
図1Dでは、アクション148についての第1の通知204、204aはかなり小さく、潜在的なアクション148が待機中であることを視覚的に識別する方法として単に機能するように示されている。いくつかの実装形態では、ユーザ10は、通知204を変更させる(たとえば、対話可能なアイコン/ボタンを拡大または展開させる)通知204を選択することができる。たとえば、
図1Dでは、第1の通知204、204aはコーナの小さいグラフィカルユーザインターフェース(GUI)要素である。この例では、ユーザ10は、コーナの小さいGUI要素を選択して(たとえば、手のアイコンによって表される)、ユーザ10がユーザデバイス110に「2021年夏のプレイリストを再生する」ことを望むかどうかを尋ねるプロンプトを有するポップアップウィンドウである第2の通知204、204bをデバイス110に表示させる。ここで、第2のユーザ入力16、16A
2が第2の通知204、204b内の「YES」アイコンを選択すると、デバイス110は、ユーザ選択入力16に応答してアクション148を実行する。
【0037】
図2を参照すると、いくつかの実装形態では、ソフトアクセプタ200はスコアラ210およびアクティベータ220を含む。ソフトアクセプタ200が発話20に対応するオーディオデータ14を受信すると、スコアラ210はオーディオデータ14の一部(たとえば、オーディオデータ14の第1のオーディオセグメント)について信頼度スコア212を生成するように構成される。信頼度スコア212は、オーディオデータ14がホットワード24の存在を含む可能性を示す。いくつかの例では、スコアラ210は、オーディオデータ14を入力として受信し、オーディオデータ14の一部がホットワード24を含むかどうかを予測する確率を出力として生成するようにトレーニングされたホットワード検出モデル(たとえば、ニューラルネットワーク)に対応する。これは、
図2に示すように、個々の信頼度スコア212は、オーディオデータ14がホットワード24を含むという100%の信頼度から、オーディオデータ14がホットワード24を含むという0%の信頼度までの範囲の信頼度勾配に沿って存在することを意味する。次いで、スコアラ210は、この勾配を異なる結果カテゴリに分割することができる。たとえば、
図2は、スコアラ210の信頼度勾配を3つの結果カテゴリ、すなわち、アクセプト、ソフトアクセプト、および拒否で表している。ここで、これらの結果カテゴリの各々は、信頼度しきい値214、216によって分割される。信頼度しきい値214、216は、ある結果カテゴリと別の結果カテゴリとを区別する信頼度スコア212を指す。第1の信頼度しきい値214は、スコアラ210がオーディオデータ14内にホットワード24が存在することを受け入れるときと、スコアラ210がオーディオデータ14内にホットワード24が存在することをソフトに受け入れるときとを区別する信頼度スコア212を指す。たとえば、オーディオデータ14のオーディオセグメントに対する信頼度スコア212が第1の信頼度しきい値214よりも大きい場合、スコアラ210はオーディオデータ14をスピーチ処理システム150に渡し、オーディオデータ14がユーザデバイス110上で実行するアクション148を指定するクエリ22に対応するかどうかを決定する。オーディオデータ14が、アクション148を指定するクエリ22に対応する場合、ソフトアクセプタ200は、信頼度スコア212が第1の信頼度しきい値214よりも大きく、アクセプト結果カテゴリに対応する信頼度スコア212の範囲内であったので、アクション148が自動的に実行されることを可能にする。
【0038】
一方、第2の信頼度しきい値216は、スコアラ210がオーディオデータ14内にホットワード24が存在することを拒否するときと、スコアラ210がオーディオデータ14内にホットワード24が存在することをソフトに受け入れるときとを区別する信頼度スコア212を指す。たとえば、オーディオデータ14のオーディオセグメントに対する信頼度スコア212が第2の信頼度しきい値216よりも小さい場合、スコアラ210はこの信頼度スコア212を拒否結果カテゴリとして解釈するので、スコアラ210はオーディオデータ14をスピーチ処理システム150に渡さず、これは、オーディオデータ14にホットワード24の存在が含まれる可能性が低いことを意味する。したがって、第1の信頼度しきい値214および第2の信頼度しきい値216は、ソフトアクセプト結果のカテゴリを定義する信頼度スコア範囲の上限および下限の役割を果たす。言い換えると、スコアラ210は、信頼度スコア212が第1の信頼度しきい値214と第2の信頼度しきい値216との間にあると決定したとき、オーディオデータ14がソフトホットワードイベント202を特徴付けると決定する。スコアラ210は、信頼度スコア212が第2の信頼度しきい値216を満たし(たとえば、第2の信頼度しきい値216を超え)、第1の信頼度しきい値214を満たさない(たとえば、第1の信頼度しきい値214を超えられない)とき、信頼度スコア212がソフトホットワードイベント202に対応すると決定する。ソフトホットワードイベント202では、アクセプト結果カテゴリと同様に、スコアラ210は、次いで、オーディオデータ14をスピーチ処理システム150に渡し、オーディオデータ14が、ユーザデバイス10において実行するアクション148を指定するクエリ22に対応するかどうかを決定する。
【0039】
任意選択で、第1の信頼度しきい値214および第2の信頼度しきい値216は、本質的に動的であってもよい。たとえば、スコアラ210は、デバイス110に隣接する付近の現在の音響に基づいて、これらの信頼性しきい値214、216を調整する。たとえば、ユーザ10は大規模なカクテルパーティを主催し得る。通常、ソフトアクセプト結果の境界を決定する第1および第2の信頼度しきい値214、216は、ユーザ定義、管理者定義、またはフィードバック定義される。バックグラウンドノイズが大きい大規模なカクテルパーティの状況では、意図したホットワード24およびクエリ22を歪ませる周囲のノイズの量が増えたり、対応するクエリ22がないソフトホットワードイベント202を引き起こす会話の量が増えたりする可能性がある。このような状況のため、ソフトアクセプタ200は、背景音響を考慮するために信頼度しきい値214、216を動的に調整するように構成され得る。たとえば、第1の信頼度しきい値214および第2の信頼度しきい値216は、より大きい拒否結果範囲をもたらすために増加される。
【0040】
いくつかの例では、ソフトアクセプタ200が、オーディオデータ14にホットワード24の存在が含まれていることを示すオーディオデータ14をスピーチ処理システム150に渡しても、スピーチ処理システム150(たとえば、音声インタープリタ154)は、それにもかかわらず、クエリ22がオーディオデータ14に存在しないと決定し得る。たとえば、
図1B~
図1Dに示されているのとは逆に、スピーチ処理システム150は、発話20「2021年夏のプレイリストに曲『Hey Beautiful』を絶対加えるべき」はアクション148を含まないと決定することができる。この状況では、スピーチ処理システム150はアクション148を識別しないので、ソフトアクセプタ200は、それに応じて通知204を生成しない。一般的に言えば、ソフトアクセプタ200は、オーディオデータ14がアクション148に対応するとき、ソフトホットワードイベント202を有することを好む可能性がある。この点を考慮すると、ソフトアクセプタ200は、ソフトホットワードイベント202を指定したが、スピーチ処理システム150がソフトホットワードイベント202に対応するアクション148を識別できないときに、発生を収集することができる。次いで、収集された発生は、ソフトアクセプタ200にフィードバックとして提供され得る。たとえば、各発生は、ホットワード検出モデルを更新するためのトレーニング例となる。いくつかの構成では、トレーニング例を用いてホットワード検出モデルをトレーニングすることにより、第1の信頼度しきい値214または第2の信頼度しきい値216のうちの1つまたは複数が調整される。これらのしきい値214、216を調整することによって、ソフトアクセプタ200は、ソフトアクセプト結果カテゴリに対応する信頼度スコア212の範囲を制限または縮小するように構成され得る。
【0041】
スピーチ処理システム150は、オーディオデータ14が、ユーザデバイス110に対して実行すべきアクション148を指定するクエリ22に対応すると決定すると、アクション148をソフトアクセプタ200のアクティベータ220に通信する。アクション148を受信すると、アクティベータ220はアクション148の実行をトリガするのではなく、ユーザデバイス110のユーザ10に対する通知204を生成する。通知204は、アクション148の実行をトリガするため、またはアクション148の実行を防止するために、何らかのユーザ入力指示16を提供するようユーザ10に促す。通知204は、様々な形で行われ得る。いくつかの実装形態では、通知204は、ユーザデバイス110のディスプレイ118に表示される視覚的通知である。いくつかの例では、通知204は、否定入力指示16Nと肯定入力指示16Aの両方を許可するGUI要素を有するユーザプロンプトである。たとえば、
図1Cおよび
図1Dは、ユーザ10によって選択されると肯定入力指示16Aを示す「YES」ボタン、およびユーザ10によって選択されると否定入力指示16Nを示す「NO」ボタンを含む通知を示す。他の実装形態では、通知204は、デバイス110に関連付けられたスピーカからのトーンまたはチャイム(たとえば、不連続トーンまたはチャイム)などの可聴通知である。たとえば、ユーザ10またはデバイス管理者は、ソフトアクセプタ200に固有の可聴音を設定する。一意のサウンドであることによって、ユーザ10は、音を聞いたときにそれが何を意味するのかを認識することができ、さらに、必要に応じて可聴通知を無視することもできる。
【0042】
通知204に応答して、アクティベータ220は、ユーザ10による指示16が、通知204を肯定的に承認する(すなわち、アクション148の実行をトリガする)ための肯定入力指示16、16Aに対応するか、ユーザ10が、クエリ22によって指定されたアクション148をユーザデバイス110が実行することを望まないことを示す否定入力指示16、16Nに対応するかを決定するように構成される。いくつかの構成では、アクティベータ220が肯定入力指示16Aを受信すると、アクティベータ220は、アクティベータ220が予め定められた持続時間内に肯定入力指示16Aを受信したかどうかを決定するようにさらに構成される。ここで、予め定められた持続時間は、アクティベータ220が通知204をユーザデバイス110に通信するときに開始し、指定された終了時間(たとえば、20秒)に終了する時間ウィンドウに対応する。持続期間が満了すると、アクティベータ220は、通知204を削除し、および/またはアクション148を削除することができる(たとえば、アクション148をもたらした話された発話20など、アクション148に関連付けられた任意の他のデータとともに)。この点で、ユーザ10が予め定められた持続時間内に肯定入力指示16Aを提供しなかったとき、アクティベータ220はアクション148を実行しない。対照的に、アクティベータ220が予め定められた持続時間内に肯定入力指示16Aを受信すると、アクティベータ220はアクション148の発生を許可する。
【0043】
いくつかの実装形態では、肯定入力指示16Aまたは否定入力指示16Nは、(たとえば、触覚入力ではなく)ユーザ10からの可聴コマンドである。これらの実装形態では、アクティベータ220がユーザ10からスピーチ入力を受信すると、アクティベータ220は、スピーチ入力が、クエリ22によって指定されたアクション148をユーザデバイス110が実行する、または実行しない意図を特徴付ける1つまたは複数の用語を含むかどうかを決定する。通知204に応答する可聴コマンドの受信を支援するために、アクティベータ220は、スピーチ認識を実行せずに、ウォームワードモデルを起動してもよい。ここで、ウォームワードモデルは、肯定入力指示16Aを特徴付ける1つもしくは複数の話された用語、または否定入力指示16Nを特徴付ける1つもしくは複数の他の話された用語のいずれかの存在を検出するように構成される。あるいは、アクティベータ220は、スピーチ認識器152を使用して、可聴コマンドの受信を処理してもよい。スピーチ認識器152を使用するとき、スピーチ認識器152は機能を低下させて動作することがある。この点で、低下された機能とは、肯定入力指示16Aを特徴付ける1つもしくは複数の話された用語、または否定入力指示16Nを特徴付ける1つもしくは複数の他の話された用語を認識するのに少なくとも十分なスピーチ認識器152を指す。
【0044】
図3は、ホットワード24をソフトに受け入れる方法300の動作の例示的な構成を示すフローチャートである。動作302において、方法300は、ユーザデバイス110によってキャプチャされたストリーミングオーディオ12において、ホットワード検出器200によって検出されたソフトホットワードイベント202を特徴付けるオーディオデータ14を受信する。動作304において、方法300は、オーディオデータ14を処理して、オーディオデータ14がユーザデバイス110において実行するアクション148を指定するクエリ22に対応すると決定する。ユーザデバイス110においてアクション148の実行をトリガすることなく、方法300は、動作306において、2つのサブ動作306a、306bを実行する。動作306aにおいて、本方法300は、ユーザデバイス110からの出力についての通知204を提供し、通知204が、ユーザデバイス110におけるアクション148の実行をトリガするために、ユーザデバイス110に関連付けられたユーザ10に肯定入力指示16を提供するように促す。動作306bにおいて、ユーザ10が肯定入力指示16を提供しなかったとき、方法300は、クエリ22によって指定されたアクション148を実行しないようにユーザデバイス110に指示する。
【0045】
図4は、本明細書に記載のシステム(たとえば、アシスタントインターフェース120、スピーチ処理システム150、リモートシステム140、およびソフトアクセプタ200)および方法(たとえば、方法300)を実施するために使用することができる例示的なコンピューティングデバイス400の概略図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すものとする。本明細書に示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎず、本明細書に記載され、および/または請求される本発明の実装形態を限定するものではない。
【0046】
コンピューティングデバイス400は、プロセッサ410(たとえば、データ処理ハードウェア112、134)、メモリ420(たとえば、メモリハードウェア114、136)、記憶デバイス430、メモリ420および高速拡張ポート450に接続する高速インターフェース/コントローラ440、ならびに低速バス470および記憶デバイス430に接続する低速インターフェース/コントローラ460を含む。構成要素410、420、430、440、450、および460の各々は、様々なバスを使用して相互接続されており、共通のマザーボード上に、または他の方法で適宜に実装されてもよい。プロセッサ410は、高速インターフェース440に結合されたディスプレイ480など外部入出力デバイス上にグラフィカルユーザインターフェース(GUI)のグラフィカル情報を表示するために、メモリ420または記憶デバイス430に記憶された命令を含む、コンピューティングデバイス400内で実行するための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスを、適宜に、複数のメモリおよび複数のタイプのメモリとともに使用されてもよい。また、複数のコンピューティングデバイス400が接続されてもよく、各デバイスは(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
【0047】
メモリ420は、コンピューティングデバイス400内に情報を非一時的に記憶する。メモリ420は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ420は、コンピューティングデバイス400によって使用されるプログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永続的に記憶するために使用される物理的デバイスであり得る。不揮発性メモリの例としては、限定はされないが、フラッシュメモリ、読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電子消去可能プログラマブル読取り専用メモリ(EEPROM)(たとえば、ブートプログラムなどのファームウェアに通常使用される)が挙げられる。揮発性メモリの例としては、限定はされないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ディスクまたはテープなどが挙げられる。
【0048】
記憶デバイス430は、コンピューティングデバイス400のための大容量ストレージを提供することができる。いくつかの実装形態では、記憶デバイス430は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス430は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の類似の固体メモリデバイス、あるいは、ストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイであってもよい。追加の実装形態では、コンピュータプログラム製品は、情報キャリアに有形に組み込まれる。コンピュータプログラム製品は、実行されると、上記で説明したものなど、1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ420、記憶デバイス430、またはプロセッサ410上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0049】
高速コントローラ440は、コンピューティングデバイス400のための帯域幅集約な動作を管理し、低速コントローラ460は、より低い帯域幅集約な動作を管理する。そのような職務の割振りは例にすぎない。いくつかの実装形態では、高速コントローラ440は、(たとえばグラフィックプロセッサまたはアクセラレータなどを介して)メモリ420、ディスプレイ480に、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート450に結合される。この実装形態では、低速コントローラ460は、記憶デバイス430および低速拡張ポート490に結合されている。(たとえばUSB、Bluetooth、Ethernet、ワイヤレスEthernetなど)様々な通信ポートを含み得る低速拡張ポート490は、たとえばネットワークアダプタを介して、キーボード、ポインティングデバイス、スキャナ、またはスイッチやルータなどのネットワーキングデバイスなど、1つまたは複数の入出力デバイスに結合されてもよい。
【0050】
図に示すように、コンピューティングデバイス400は、いくつかの異なる形態で実装されてもよい。たとえば、それは、標準的なサーバ400aとして、またはそのようなサーバ400aのグループ内で複数回、ラップトップコンピュータ400bとして、またはラックサーバシステム400cの一部として実装され得る。
【0051】
本明細書に記載のシステムおよび技法の様々な実装形態は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現できる。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間で、データおよび命令を送受信するために結合された、専用または汎用目的であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【0052】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高レベル手続き型および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械言語で実装することができる。本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、たとえば、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される、(磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD)など)任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイスを指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0053】
本明細書に記述されたプロセスおよび論理フローは、入力データ上で動作し、出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローはまた、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によっても実行することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用の両方のマイクロプロセッサ、およびあらゆる種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、たとえば磁気、光磁気ディスク、または光ディスクなど、データを記憶するための1つまたは複数の大容量記憶デバイスも含み、あるいは、1つまたは複数の大容量記憶デバイスからデータを受信する、それにデータを転送する、またはその両方のために動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、一例として、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、たとえば内部ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含むすべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補われる、またはそれに組み込まれ得る。
【0054】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、ユーザに情報を表示するための、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンなどのディスプレイデバイス、ならびに任意選択でキーボードおよび、ユーザがコンピュータに入力を提供することができる、たとえば、マウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装することができる。他の種類のデバイスを使用して、ユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、スピーチ、または触覚入力を含む任意の形態で受信することができる。加えて、コンピュータは、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによってなど、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、ユーザと対話することができる。
【0055】
いくつかの実装形態について記載してきた。それにもかかわらず、本開示の範囲および趣旨から逸脱することなく様々な修正を加えることができることを理解されよう。したがって、他の実装形態は、以下の特許請求の範囲内にある。
【符号の説明】
【0056】
12 ストリーミングオーディオ
14 オーディオデータ
16 肯定入力指示
16A 肯定入力指示
16N 否定入力指示
20 発話
22 クエリ
24 ホットワード
100 システム、スピーチ環境
110 ユーザデバイス、ボイス対応デバイス
112 データ処理ハードウェア
114 メモリハードウェア
116 オーディオサブシステム、オーディオキャプチャデバイス、マイク
118 ディスプレイ
120 インターフェース
130 ネットワーク
134 データ処理ハードウェア
136 メモリハードウェア
140 リモートシステム
142 リモートリソース
144 リモートデータ処理ハードウェア
146 リモートメモリハードウェア
148 アクション
150 スピーチ処理システム
152 スピーチ認識システム
154 スピーチインタプリタ
156 検索エンジン
200 ホットワード検出器、ソフトアクセプタ、システム
202 ソフトホットワードイベント
204 通知
210 スコアラ
212 信頼度スコア
214 第1のしきい値スコア
216 第2のしきい値スコア
220 アクティベータ
300 方法
400 コンピューティングデバイス
400a 標準的なサーバ
400b ラップトップコンピュータ
400c ラックサーバシステム
410 データ処理ハードウェア、プロセッサ
420 メモリハードウェア
430 記憶デバイス
440 高速インターフェース/コントローラ
450 高速拡張ポート
460 低速インターフェース/コントローラ
470 低速バス
480 ディスプレイ
490 低速拡張ポート
【手続補正書】
【提出日】2024-03-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法(300)であって、データ処理ハードウェア(410)によって実行されると、前記データ処理ハードウェア(410)に、
ユーザデバイス(110)によってキャプチャされたストリーミングオーディオ(12)において、ホットワード検出器(200)によって検出されたソフトホットワードイベント(202)を特徴付けるオーディオデータ(14)を受信することと、
前記オーディオデータ(14)を処理して、前記オーディオデータ(14)が、前記ユーザデバイス(110)において実行するアクション(148)を指定するクエリ(22)に対応すると決定することと、
前記ユーザデバイス(110)または別のデバイスにおいて前記アクション(148)の実行をトリガすることなく、
前記ユーザデバイス(110)からの出力についての通知(204)を提供することであり、前記通知(204)が、前記ユーザデバイス(110)または前記別のデバイスにおける前記アクション(148)の実行をトリガするために、前記ユーザデバイス(110)に関連付けられたユーザ(10)に肯定入力指示(16)を提供するように促す、提供することと、
前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記クエリ(22)によって指定された前記アクション(148)を実行しないように前記ユーザデバイス(110)または前記別のデバイスに指示することと
を含む動作を実行させる、コンピュータ実装方法(300)。
【請求項2】
前記ホットワード検出器(200)が、前記ユーザデバイス(110)に常駐し、前記ユーザデバイス(110)によってキャプチャされた前記
ストリーミングオーディオがホットワード(24)の存在を含む可能性を示す信頼度スコア(212)が第1のしきい値スコア(214)を満たし、第2のしきい値スコア(216)を満たさないとき、前記ソフトホットワードイベント(202)を検出するように構成されている、請求項1に記載のコンピュータ実装方法(300)。
【請求項3】
前記動作が、
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供してから予め定められた持続時間内に前記肯定入力指示(16)が受信されたかどうかを決定することと、
前記予め定められた持続時間内に前記肯定入力指示(16)が受信されなかったとき、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったと決定することと
をさらに含む、請求項1または2に記載のコンピュータ実装方法(300)。
【請求項4】
前記動作が、
前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す否定入力指示(16N)を受信することと、
前記否定入力指示(16N)を受信したことに応答して、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったと決定することと
をさらに含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項5】
前記ユーザデバイス(110)からの出力について提供される前記通知(204)がまた、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す前記否定入力指示(16N)を提供するよう前記ユーザ(10)に促す、請求項4に記載のコンピュータ実装方法(300)。
【請求項6】
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供することが、前記通知(204)を前記ユーザデバイス(110)のスクリーン(118)上に表示するための視覚的通知としてレンダリングするように、前記ユーザデバイス(110)上で実行されるグラフィカルユーザインターフェースに指示することを含む、請求項1から5のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項7】
前記動作が、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記ユーザデバイス(110)の前記スクリーン(118)上に表示される前記視覚的通知を削除するように、前記グラフィカルユーザインターフェースに指示することをさらに含む、請求項6に記載のコンピュータ実装方法(300)。
【請求項8】
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供することが、前記通知(204)を前記ユーザデバイス(110)のスピーカ(116)から可聴通知として出力するように前記ユーザデバイス(110)に指示することを含む、請求項1から7のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項9】
前記動作が、
前記ユーザ(10)から前記肯定入力指示(16)を受信することと、
前記肯定入力指示(16)を受信したことに応答して、前記ユーザデバイス(110)または前記別のデバイスにおいて、前記クエリ(22)によって指定された前記アクション(148)の実行をトリガすることと
をさらに含む、請求項1から8のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項10】
前記ユーザ(10)から前記肯定入力指示(16)を受信することが、
前記ユーザ(10)からスピーチ入力を受信することと、
前記スピーチ入力が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)が実行する意図を特徴付ける1つまたは複数の用語を含むと決定することと
を含む、請求項9に記載のコンピュータ実装方法(300)。
【請求項11】
前記ユーザ(10)から前記肯定入力指示(16)を受信することが、前記ユーザデバイス(110)のスクリーン(118)上に表示された肯定グラフィカル要素の選択を示すユーザ入力指示を受信することを含む、請求項9または10に記載のコンピュータ実装方法(300)。
【請求項12】
前記動作が、前記ユーザデバイス(110)からの出力についての前記通知(204)を提供した後、スピーチ認識を実行することなく、
前記肯定入力指示(16)を特徴付ける1つもしくは複数の話された用語、または
否定入力指示(16N)を特徴付ける1つもしくは複数の他の話された用語であり、前記否定入力指示(16N)が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す、1つもしくは複数の他の話された用語
のうちの少なくとも1つの存在を検出するように構成されたウォームワードモデルを起動することをさらに含む、請求項1から11のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項13】
前記動作が、前記ユーザデバイス(110)からの出力についての前記通知(204)を提供した後、
前記肯定入力指示(16)を特徴付ける1つもしくは複数の話された用語、または
否定入力指示(16N)を特徴付ける1つもしくは複数の他の話された用語であり、前記否定入力指示(16N)が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す、1つもしくは複数の他の話された用語
のうちの少なくとも1つを認識するのに十分な機能まで低下させて動作するように、前記データ処理ハードウェア(410)と通信する自動スピーチ認識器(152)に指示することをさらに含む、請求項1から12のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項14】
前記動作が、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記受信されたオーディオセグメントの任意のストレージを削除することをさらに含む、請求項1から13のいずれか一項に記載のコンピュータ実装方法(300)。
【請求項15】
データ処理ハードウェア(410)と、
前記データ処理ハードウェア(410)と通信するメモリハードウェア(420)であり、前記メモリハードウェア(420)が、命令を記憶しており、前記命令が、前記データ処理ハードウェア(410)上で実行されると、前記データ処理ハードウェア(410)に、
ユーザデバイス(110)によってキャプチャされたストリーミングオーディオ(12)において、ホットワード検出器(200)によって検出されたソフトホットワードイベント(202)を特徴付けるオーディオデータ(14)を受信することと、
前記オーディオデータ(14)を処理して、前記オーディオデータ(14)が、前記ユーザデバイス(110)において実行するアクション(148)を指定するクエリ(22)に対応すると決定することと、
前記ユーザデバイス(110)または別のデバイスにおいて前記アクション(148)の実行をトリガすることなく、
前記ユーザデバイス(110)からの出力についての通知(204)を提供することであり、前記通知(204)が、前記ユーザデバイス(110)または前記別のデバイスにおける前記アクション(148)の実行をトリガするために、前記ユーザデバイス(110)に関連付けられたユーザ(10)に肯定入力指示(16)を提供するように促す、提供することと、
前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記クエリ(22)によって指定された前記アクション(148)を実行しないように前記ユーザデバイス(110)または前記別のデバイスに指示することと
を含む動作を実行させる、メモリハードウェア(420)と
を備える、システム(100)。
【請求項16】
前記ホットワード検出器(200)が、前記ユーザデバイス(110)に常駐し、前記ユーザデバイス(110)によってキャプチャされた前記
ストリーミングオーディオがホットワード(24)の存在を含む可能性を示す信頼度スコア(212)が第1のしきい値スコア(214)を満たし、第2のしきい値スコア(216)を満たさないとき、前記ソフトホットワードイベント(202)を検出するように構成されている、請求項15に記載のシステム(100)。
【請求項17】
前記動作が、
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供してから予め定められた持続時間内に前記肯定入力指示(16)が受信されたかどうかを決定することと、
前記予め定められた持続時間内に前記肯定入力指示(16)が受信されなかったとき、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったと決定することと
をさらに含む、請求項15または16に記載のシステム(100)。
【請求項18】
前記動作が、
前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す否定入力指示(16N)を受信することと、
前記否定入力指示(16N)を受信したことに応答して、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったと決定することと
をさらに含む、請求項15から17のいずれか一項に記載のシステム(100)。
【請求項19】
前記ユーザデバイス(110)からの出力について提供される前記通知(204)がまた、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す前記否定入力指示(16N)を提供するよう前記ユーザ(10)に促す、請求項18に記載のシステム(100)。
【請求項20】
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供することが、前記通知(204)を前記ユーザデバイス(110)のスクリーン(118)上に表示するための視覚的通知としてレンダリングするように、前記ユーザデバイス(110)上で実行されるグラフィカルユーザインターフェースに指示することを含む、請求項15から19のいずれか一項に記載のシステム(100)。
【請求項21】
前記動作が、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記ユーザデバイス(110)の前記スクリーン(118)上に表示される前記視覚的通知を削除するように、前記グラフィカルユーザインターフェースに指示することをさらに含む、請求項20に記載のシステム(100)。
【請求項22】
前記ユーザデバイス(110)からの出力についての前記通知(204)を提供することが、前記通知(204)を前記ユーザデバイス(110)のスピーカ(116)から可聴通知として出力するように前記ユーザデバイス(110)に指示することを含む、請求項15から21のいずれか一項に記載のシステム(100)。
【請求項23】
前記動作が、
前記ユーザ(10)から前記肯定入力指示(16)を受信することと、
前記肯定入力指示(16)を受信したことに応答して、前記ユーザデバイス(110)または前記別のデバイスにおいて、前記クエリ(22)によって指定された前記アクション(148)の実行をトリガすることと
をさらに含む、請求項15から22のいずれか一項に記載のシステム(100)。
【請求項24】
前記ユーザ(10)から前記肯定入力指示(16)を受信することが、
前記ユーザ(10)からスピーチ入力を受信することと、
前記スピーチ入力が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)が実行する意図を特徴付ける1つまたは複数の用語を含むと決定することと
を含む、請求項23に記載のシステム(100)。
【請求項25】
前記ユーザ(10)から前記肯定入力指示(16)を受信することが、前記ユーザデバイス(110)のスクリーン(118)上に表示された肯定グラフィカル要素の選択を示すユーザ入力指示を受信することを含む、請求項23または24に記載のシステム(100)。
【請求項26】
前記動作が、前記ユーザデバイス(110)からの出力についての前記通知(204)を提供した後、スピーチ認識を実行することなく、
前記肯定入力指示(16)を特徴付ける1つもしくは複数の話された用語、または
否定入力指示(16N)を特徴付ける1つもしくは複数の他の話された用語であり、前記否定入力指示(16N)が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す、1つもしくは複数の他の話された用語
のうちの少なくとも1つの存在を検出するように構成されたウォームワードモデルを起動することをさらに含む、請求項15から25のいずれか一項に記載のシステム(100)。
【請求項27】
前記動作が、前記ユーザデバイス(110)からの出力についての前記通知(204)を提供した後、
前記肯定入力指示(16)を特徴付ける1つもしくは複数の話された用語、または
否定入力指示(16N)を特徴付ける1つもしくは複数の他の話された用語であり、前記否定入力指示(16N)が、前記クエリ(22)によって指定された前記アクション(148)を前記ユーザデバイス(110)または前記別のデバイスが実行することを前記ユーザ(10)が望まないことを示す、1つもしくは複数の他の話された用語
のうちの少なくとも1つを認識するのに十分な機能まで低下させて動作するように、前記データ処理ハードウェア(410)と通信する自動スピーチ認識器(152)に指示することをさらに含む、請求項15から26のいずれか一項に記載のシステム(100)。
【請求項28】
前記動作が、前記ユーザ(10)が前記肯定入力指示(16)を提供しなかったとき、前記受信されたオーディオセグメントの任意のストレージを削除することをさらに含む、請求項15から27のいずれか一項に記載のシステム(100)。
【国際調査報告】