(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024102301
(43)【公開日】2024-07-30
(54)【発明の名称】複数のアシスタントデバイスにわたる同時音響イベント検出
(51)【国際特許分類】
G10L 15/32 20130101AFI20240723BHJP
G10L 15/22 20060101ALI20240723BHJP
G10L 15/28 20130101ALI20240723BHJP
G06F 3/16 20060101ALI20240723BHJP
【FI】
G10L15/32 220Z
G10L15/22 300Z
G10L15/28 230K
G06F3/16 650
G06F3/16 620
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024077065
(22)【出願日】2024-05-10
(62)【分割の表示】P 2022569600の分割
【原出願日】2020-12-15
(31)【優先権主張番号】17/085,926
(32)【優先日】2020-10-30
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マシュー・シャリフィ
(72)【発明者】
【氏名】ヴィクター・カルブネ
(57)【要約】
【課題】複数のアシスタントデバイスにわたる同時音響イベント検出を提供する。
【解決手段】実装形態は、エコシステム内の多様なアシスタントデバイスにおいて音響イベントを捉えるオーディオデータを検出し、各アシスタントデバイスにおいてローカルにオーディオデータを処理して、それぞれのイベント検出モデルを使用して音響イベントに関連する尺度を生成し、それぞれの尺度を処理して、検出された音響イベントが実際の音響イベントであるかどうかを決定し、検出された音響イベントが実際の音響イベントであると決定したことに応答して、実際の音響イベントに関連する行動が実行されるようにする。いくつかの実装形態では、オーディオデータを検出したアシスタントデバイスは、過去の音響イベントがアシスタントデバイスの各々において検出されていることに基づいて、実際の音響イベントを捉えるオーディオデータを検出すると予想される。
【選択図】
図4
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実施される方法であって、
複数のアシスタントデバイスを含むエコシステムの中に位置するアシスタントデバイスの1つまたは複数のマイクロフォンを介して、音響イベントを捉えるオーディオデータを検出するステップと、
前記アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルを使用して、前記音響イベントを捉える前記オーディオデータを処理して、前記音響イベントに関連する尺度を生成するステップと、
前記エコシステムの中に位置する追加のアシスタントデバイスの1つまたは複数の追加のマイクロフォンを介して、前記音響イベントを同様に捉える追加のオーディオデータを検出するステップであって、前記追加のアシスタントデバイスが前記アシスタントデバイスに追加するものであり、前記追加のアシスタントデバイスが前記アシスタントデバイスと前記エコシステムにおいて同じ位置にある、ステップと、
前記追加のアシスタントデバイスにおいてローカルに記憶されている追加のイベント検出モデルを使用して、前記音響イベントを捉える前記追加のオーディオデータを処理して、前記音響イベントに関連する追加の尺度を生成するステップと、
前記尺度と前記追加の尺度の両方を処理して、少なくとも前記アシスタントデバイスと前記追加のアシスタントデバイスの両方によって検出される前記音響イベントが実際の音響イベントであるかどうかを決定するステップと、
前記音響イベントが前記実際の音響イベントであると決定したことに応答して、前記実際の音響イベントに関連する行動が実行されるようにするステップとを備える、方法。
【請求項2】
前記音響イベントがホットワード検出イベントを備え、前記アシスタントデバイスにおいてローカルに記憶されている前記イベント検出モデルが、特定の語または語句が前記オーディオデータにおいて捉えられるかどうかを検出するように訓練されるホットワード検出モデルを備え、前記追加のアシスタントデバイスにおいてローカルに記憶されている前記追加のイベント検出モデルが、前記特定の語または語句が前記追加のオーディオデータにおいて捉えられるかどうかを検出するように訓練される追加のホットワード検出モデルを備える、請求項1に記載の方法。
【請求項3】
前記音響イベントに関連する前記尺度が、前記オーディオデータが前記特定の語または語句を捉えるかどうかに対応する信頼性レベルを備え、前記音響イベントに関連する前記追加の尺度が、前記追加のオーディオデータが前記特定の語または語句を捉えるかどうかに対応する追加の信頼性レベルを備える、請求項1または2に記載の方法。
【請求項4】
前記音響イベントが前記実際の音響イベントであると決定するステップが、前記信頼性レベルおよび前記追加の信頼性レベルに基づいて、前記特定の語または語句が前記オーディオデータと前記追加のオーディオデータの両方において捉えられると決定するステップを備える、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記実際の音響イベントに関連する前記行動が実行されるようにするステップが、前記オーディオデータまたは前記追加のオーディオデータが前記特定の語または語句を捉えることを前記音響イベントデータが示すと決定したことに応答して、自動化アシスタントの1つまたは複数のコンポーネントをアクティブにするステップを備える、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記アシスタントデバイスにおいてローカルに記憶されている前記ホットワード検出モデルが、前記追加のアシスタントデバイスにおいてローカルに記憶されている前記追加のホットワード検出モデルとは別の別個のホットワードモデルである、請求項2に記載の方法。
【請求項7】
前記音響イベントが音検出イベントを備え、前記アシスタントデバイスにおいてローカルに記憶されている前記イベント検出モデルが、特定の音が前記オーディオデータにおいて捉えられるかどうかを検出するように訓練される音検出モデルを備え、前記追加のアシスタントデバイスにおいてローカルに記憶されている前記追加のイベント検出モデルが、捉えられる前記特定の音が前記追加のオーディオデータにあるかどうかを検出するように訓練される追加の音検出モデルを備える、請求項1に記載の方法。
【請求項8】
前記音響イベントに関連する前記尺度が、前記オーディオデータが前記特定の音を捉えるかどうかに対応する信頼性レベルを備え、前記音響イベントに関連する前記追加の尺度が、前記追加のオーディオデータが前記特定の音を捉えるかどうかに対応する追加の信頼性レベルを備える、請求項7に記載の方法。
【請求項9】
前記音響イベントが前記実際の音響イベントであると決定するステップが、前記信頼性レベルおよび前記追加の信頼性レベルに基づいて、前記オーディオデータと前記追加のオーディオデータの両方において前記特定の音が捉えられると決定するステップを備える、請求項7または8に記載の方法。
【請求項10】
前記実際の音響イベントに関連する前記行動が実行されるようにするステップが、
前記実際の音響イベントの発生を示す通知を生成するステップと、
前記エコシステムに関連するユーザに、前記ユーザのコンピューティングデバイスを介して前記通知が提示されるようにするステップとを備える、請求項7から9のいずれか一項に記載の方法。
【請求項11】
前記特定の音が、ガラスが割れること、犬が吠えること、猫が鳴くこと、呼び鈴が鳴ること、火災報知器が鳴動すること、一酸化炭素検出器が鳴動すること、乳児が泣くこと、またはドアをノックすることのうちの1つまたは複数を備える、請求項7から10のいずれか一項に記載の方法。
【請求項12】
前記尺度と前記追加の尺度の両方を処理して、前記アシスタントデバイスと前記追加のアシスタントデバイスの両方によって検出される前記音響イベントが前記実際の音響イベントであるかどうかを決定することが、所与のアシスタントデバイスによるものであり、前記所与のアシスタントデバイスが、前記アシスタントデバイス、前記追加のアシスタントデバイス、または、前記アシスタントデバイスおよび前記追加のアシスタントデバイスと前記エコシステムにおいて同じ位置にあるさらなる追加のアシスタントデバイスのうちの1つまたは複数を備える、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記アシスタントデバイスによって、前記オーディオデータを遠隔システムに送信するステップと、
前記追加のアシスタントデバイスによって、前記追加のオーディオデータを前記遠隔システムに送信するステップとをさらに備え、
前記尺度と前記追加の尺度の両方を処理して、前記アシスタントデバイスと前記追加のアシスタントデバイスの両方によって検出される前記音響イベントが前記実際の音響イベントであるかどうかを決定することが、前記遠隔システムによるものである、請求項1から12のいずれか一項に記載の方法。
【請求項14】
前記オーディオデータが時間的に前記追加のオーディオデータに対応する、請求項1から13のいずれか一項に記載の方法。
【請求項15】
前記尺度と前記追加の尺度の両方を処理して、前記アシスタントデバイスと前記追加のアシスタントデバイスの両方によって検出される前記音響イベントが前記実際の音響イベントであるかどうかを決定するステップが、前記オーディオデータに関連するタイムスタンプが前記追加のオーディオデータに関連する追加のタイムスタンプに時間的に対応すると決定することに応答したものである、請求項14に記載の方法。
【請求項16】
前記アシスタントデバイスの前記1つまたは複数のマイクロフォンを介して前記オーディオデータを検出したことに応答して、
複数の過去の音響イベントが前記アシスタントデバイスと前記追加のアシスタントデバイスの両方において検出されていることに基づいて、前記追加のアシスタントデバイスの前記1つまたは複数の追加のマイクロフォンを介した前記追加のオーディオデータの検出を予想するステップをさらに含む、請求項1から15のいずれか一項に記載の方法。
【請求項17】
前記アシスタントデバイスの前記1つまたは複数のマイクロフォンを介して、後続の音響イベントを捉える後続のオーディオデータを検出するステップと、
前記イベント検出モデルを使用して、前記後続の音響イベントを捉える前記後続のオーディオデータを処理して、前記後続の音響イベントに関連する後続の尺度を生成するステップと、
前記エコシステムの中に位置するさらなる追加のアシスタントデバイスの1つまたは複数のさらなる追加のマイクロフォンを介して、前記後続の音響イベントを同様に捉える追加の後続のオーディオデータを検出するステップであって、前記さらなる追加のアシスタントデバイスが前記アシスタントデバイスに追加するものであり、前記さらなる追加のアシスタントデバイスが前記アシスタントデバイスと前記エコシステムにおいて同じ位置にある、ステップと、
前記さらなる追加のアシスタントデバイスにおいてローカルに記憶されているさらなる追加のイベント検出モデルを使用して、前記音響イベントを捉える前記追加の後続のオーディオデータを処理して、前記音響イベントに関連する追加の後続の尺度を生成するステップと、
前記尺度と前記追加の尺度の両方を処理して、前記アシスタントデバイスと前記さらなる追加のアシスタントデバイスの両方によって検出される前記後続の音響イベントが実際の後続の音響イベントであるかどうかを決定するステップと、
前記後続の音響イベントが前記実際の後続の音響イベントであると決定したことに応答して、前記実際の後続の音響イベントに関連する後続の行動が実行されるようにするステップとをさらに備える、請求項1から16のいずれか一項に記載の方法。
【請求項18】
前記アシスタントデバイスの前記1つまたは複数のマイクロフォンを介して前記後続のオーディオデータを検出したことに応答して、
前記さらなる追加のアシスタントデバイスの前記1つまたは複数のさらなる追加のマイクロフォンを介した前記追加の後続のオーディオデータの検出を予想するステップと、追加の複数の過去の音響イベントが前記アシスタントデバイスと前記さらなる追加のアシスタントデバイスの両方において検出されていることに基づいて、前記追加のアシスタントデバイスの前記1つまたは複数の追加のマイクロフォンを介したどのようなオーディオデータの検出も予想しないステップとをさらに備える、請求項17に記載の方法。
【請求項19】
1つまたは複数のプロセッサによって実施される方法であって、
複数のアシスタントデバイスを含むエコシステムの中に位置するアシスタントデバイスの1つまたは複数のマイクロフォンを介して、音響イベントを捉えるオーディオデータを検出するステップと、
前記エコシステム内の前記アシスタントデバイスの位置に基づいて、前記エコシステムの中の前記少なくとも1つの追加のアシスタントデバイスの1つまたは複数のそれぞれのマイクロフォンを介して前記オーディオデータに時間的に対応する追加のオーディオデータを検出したはずである少なくとも1つの追加のアシスタントデバイスを特定するステップと、
前記少なくとも1つの追加のアシスタントデバイスが、前記オーディオデータに時間的に対応する前記追加のオーディオデータを検出したと決定したことに応答して、
前記アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルを使用して、前記音響イベントを捉える前記オーディオデータを処理して、前記音響イベントに関連する尺度を生成するステップと、
前記少なくとも1つの追加のアシスタントデバイスにおいてローカルに記憶されているそれぞれのイベント検出モデルを使用して、前記音響イベントを捉える前記追加のオーディオデータを処理して、前記音響イベントに関連する追加の尺度を生成するステップと、
前記尺度と前記追加の尺度の両方に基づいて、前記アシスタントデバイスと前記追加のアシスタントデバイスの両方によって検出される前記音響イベントが実際の音響イベントであるかどうかを決定するステップと、
前記音響イベントが前記実際の音響イベントであると決定したことに応答して、前記実際の音響イベントに関連する行動が実行されるようにするステップとを備える、方法。
【請求項20】
前記少なくとも1つの追加のアシスタントデバイスが前記オーディオデータに時間的に対応するどのようなオーディオデータも検出しなかったと決定したことに応答して、前記オーディオデータを廃棄するステップをさらに備える、請求項19に記載の方法。
【請求項21】
1つまたは複数のプロセッサによって実施される方法であって、
複数のアシスタントデバイスを含むエコシステムの中に位置するアシスタントデバイスの1つまたは複数のマイクロフォンを介して、音響イベントを捉えるオーディオデータを検出するステップであって、前記音響イベントがホットワード検出イベントを備える、ステップと、
前記アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルを使用して、前記音響イベントを捉える前記オーディオデータを処理して、前記音響イベントに関連する尺度を生成するステップであって、前記アシスタントデバイスにおいてローカルに記憶されている前記イベント検出モデルが、特定の語または語句が前記オーディオデータにおいて捉えられるかどうかを検出するように訓練されるホットワード検出モデルを備える、ステップと、
前記エコシステムの中に位置する追加のアシスタントデバイスの1つまたは複数の追加のマイクロフォンを介して、前記音響イベントを同様に捉える追加のオーディオデータを検出するステップであって、前記追加のアシスタントデバイスが前記アシスタントデバイスに追加するものであり、前記追加のアシスタントデバイスが前記アシスタントデバイスと前記エコシステムにおいて同じ位置にある、ステップと、
前記追加のアシスタントデバイスにおいてローカルに記憶されている追加のイベント検出モデルを使用して、前記音響イベントを捉える前記追加のオーディオデータを処理して、前記音響イベントに関連する追加の尺度を生成するステップであって、前記追加のアシスタントデバイスにおいてローカルに記憶されている前記追加のイベント検出モデルが、前記特定の語または語句が前記追加のオーディオデータにおいて捉えられるかどうかを検出するように訓練される追加のホットワード検出モデルを備える、ステップと、
前記尺度と前記追加の尺度の両方を処理して、少なくとも前記アシスタントデバイスと前記追加のアシスタントデバイスの両方によって検出される前記音響イベントが実際の音響イベントであるかどうかを決定するステップと、
前記音響イベントが前記実際の音響イベントであると決定したことに応答して、前記実際の音響イベントに関連する行動が実行されるようにするステップとを備える、方法。
【請求項22】
1つまたは複数のプロセッサによって実施される方法であって、
複数のアシスタントデバイスを含むエコシステムの中に位置するアシスタントデバイスの1つまたは複数のマイクロフォンを介して、音響イベントを捉えるオーディオデータを検出するステップであって、前記音響イベントが音検出イベントを備える、ステップと、
前記アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルを使用して、前記音響イベントを捉える前記オーディオデータを処理して、前記音響イベントに関連する尺度を生成するステップであって、前記アシスタントデバイスにおいてローカルに記憶されている前記イベント検出モデルが、特定の音が前記オーディオデータにおいて捉えられるかどうかを検出するように訓練される音検出モデルを備える、ステップと、
前記エコシステムの中に位置する追加のアシスタントデバイスの1つまたは複数の追加のマイクロフォンを介して、前記音響イベントを同様に捉える追加のオーディオデータを検出するステップであって、前記追加のアシスタントデバイスが前記アシスタントデバイスに追加するものであり、前記追加のアシスタントデバイスが前記アシスタントデバイスと前記エコシステムにおいて同じ位置にある、ステップと、
前記追加のアシスタントデバイスにおいてローカルに記憶されている追加のイベント検出モデルを使用して、前記音響イベントを捉える前記追加のオーディオデータを処理して、前記音響イベントに関連する追加の尺度を生成するステップと、
前記尺度と前記追加の尺度の両方を処理して、少なくとも前記アシスタントデバイスと前記追加のアシスタントデバイスの両方によって検出される前記音響イベントが実際の音響イベントであるかどうかを決定するステップであって、前記追加のアシスタントデバイスにおいてローカルに記憶されている前記追加のイベント検出モデルが、前記特定の音が前記追加のオーディオデータにおいて捉えられるかどうかを検出するように訓練される追加の音検出モデルを備える、ステップと、
前記音響イベントが前記実際の音響イベントであると決定したことに応答して、前記実際の音響イベントに関連する行動が実行されるようにするステップとを備える、方法。
【請求項23】
少なくとも1つのプロセッサと、
実行されると、前記少なくとも1つのプロセッサに請求項1から22のいずれか一項に記載の方法を実行させる命令を記憶するメモリとを備える、少なくとも1つのコンピューティングデバイス。
【請求項24】
実行されると、前記少なくとも1つのプロセッサに請求項1から22のいずれか一項に記載の方法を実行させる命令を記憶する、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
人は、「自動化アシスタント」(「チャットボット」、「双方向型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「パーソナル音声アシスタント」、「会話エージェント」などとも呼ばれる)と本明細書で呼ばれる双方向型ソフトウェアアプリケーションとの、人対コンピュータの対話に関わることができる。たとえば、人(自動化アシスタントと対話しているときは「ユーザ」と呼ばれ得る)は、入力(たとえば、コマンド、クエリ、および/または要求)を自動化アシスタントに与えてもよく、これは、自動化アシスタントに、応答出力を生成および提供させることができ、1つまたは複数のInternet of things(IoT)デバイスを制御させることができ、かつ/または1つまたは複数の他の機能を実行させることができる。ユーザによって与えられる入力は、たとえば、場合によってはテキスト(または他のセマンティック表現)に変換されて次いでさらに処理され得る話される自然言語入力(すなわち、発話)であってもよく、および/またはタイプされた自然言語入力であってもよい。
【0002】
いくつかの場合、自動化アシスタントは、アシスタントデバイスによってローカルで実行されユーザが直接関わり合う自動化アシスタントクライアント、ならびに、自動化アシスタントがユーザの入力に応答するのを助けるために実質的に無限のクラウドのリソースを活用するクラウドベースの対応物を含み得る。たとえば、自動化アシスタントは、クラウドベースの対応物に、ユーザの発話のオーディオ記録(またはそのテキスト変換)、および任意選択でユーザの識別情報(たとえば、証明書)を示すデータを提供することができる。クラウドベースの対応物は、クエリに対して様々な処理を実行して結果を自動化アシスタントクライアントに返してもよく、自動化アシスタントクライアントは次いで、対応する出力をユーザに提供してもよい。
【0003】
多くのユーザが、複数のアシスタントデバイスを使用して自動化アシスタントと関わり得る。たとえば、一部のユーザは、自動化アシスタントに向けられたユーザ入力を受信することができる、かつ/または、アシスタントデバイスの中でもとりわけ、1つまたは複数のスマートフォン、1つまたは複数のタブレットコンピュータ、1つまたは複数の車両コンピューティングシステム、1つまたは複数のウェアラブルコンピューティングデバイス、1つまたは複数のスマートテレビジョン、1つまたは複数の双方向型スタンドアロンスピーカー、および/または1つまたは複数のIoTデバイスなどの自動化アシスタントによって制御され得る、アシスタントデバイスの協調した「エコシステム」を保有し得る。ユーザは、これらのアシスタントデバイスのいずれかを使用して(自動化アシスタントクライアントがインストールされており、アシスタントデバイスが入力を受け取ることが可能であると仮定して)、自動化アシスタントとの人とコンピュータの対話に関わり得る。いくつかの場合、これらのアシスタントデバイスは、ユーザの本邸、別邸、職場、および/または他の構造物の周りに散らばっていることがある。たとえば、スマートフォン、タブレット、スマートウォッチなどのモバイルアシスタントデバイスは、ユーザが身につけていることがあり、および/またはユーザが最後にそれらを置いたところにあることがある。従来のデスクトップコンピュータ、スマートテレビジョン、双方向型スタンドアロンスピーカー、およびIoTデバイスなどの他のアシスタントデバイスは、より据え置き型であり得るが、それでも、ユーザの自宅または職場の様々な場所(たとえば、部屋)に位置していることがある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
アシスタントデバイスのエコシステムの中の所与のアシスタントデバイスにおいて音響イベントが検出されるときに、ユーザ(たとえば、単一のユーザ、家族の中の複数のユーザ、同僚、同居人など)に警告するための技法が存在する。しかしながら、そのような技法は、フォールスポジティブイベントを検出することにつながり得る。言い換えると、所与のアシスタントデバイスは、実際には音響イベントが本当は発生しなかったときに、音響イベントが発生したと決定することがある。結果として、所与のアシスタントデバイスの自動化アシスタントクライアントは、自動化アシスタントクライアントがどのような行動も実行するべきではなかったときに、1つまたは複数の行動が実行されるようにすることがある。
【課題を解決するための手段】
【0005】
本明細書において説明される実装形態は、複数のアシスタントデバイスを含むエコシステムの中の多様なアシスタントデバイスにおいて音響イベントを捉えるオーディオデータを同時に検出することに関する。音響イベントを捉える多様なアシスタントデバイスの各々において検出されるそれぞれのオーディオデータは、イベント検出モデルを使用して、音響イベントに関連するそれぞれの尺度を生成するために処理され得る。それぞれの尺度の各々は、音響イベントが実際の音響イベントであるかどうかを決定するために処理され得る。音響イベントが実際の音響イベントであると決定したことに応答して、音響イベントに関連する行動が実行され得る。それぞれのオーディオデータは、イベント検出モデルを使用してアシスタントデバイスにおいてローカルで処理され、イベント検出モデルを使用して遠隔システムにおいて遠隔で処理され、かつ/またはイベント検出モデルを使用してエコシステムの中の所与のアシスタントデバイス(たとえば、音響イベントを捉えるオーディオデータを検出した可能性のある、またはしなかった可能性のある)において処理され得る。
【0006】
いくつかの実装形態では、音響イベントはホットワードイベントに対応し得る。これらの実装形態では、音響イベント検出モデルは、検出されると自動化アシスタントの1つまたは複数のコンポーネントおよび/または機能がエコシステムの中のアシスタントデバイスのうちの1つまたは複数においてアクティブにされるようにする特定の語または語句を検出するように訓練される、ホットワード検出モデルに対応することができる。たとえば、マイクロフォンを有する所与のアシスタントデバイスは、エコシステムに関連するユーザの本邸に位置すると仮定する。所与のアシスタントデバイスは、音響イベントを捉えるマイクロフォンを介してオーディオデータを検出するとさらに仮定し、オーディオデータは、オーディオデータが特定の語または語句を含むかどうかを示す確率を生成するためにホットワード検出モデルを使用して処理されるとさらに仮定する。その上、追加のマイクロフォンを有する少なくとも1つの追加のアシスタントデバイスは、エコシステムの中で所与のアシスタントデバイスと位置的に近いと仮定する。少なくとも1つの追加のアシスタントデバイスは、同様に音響イベントを捉える追加のマイクロフォンを介して追加のオーディオデータを検出するとさらに仮定し、追加のオーディオデータは、追加のオーディオデータが特定の語または語句を含むかどうかを同様に示す追加の確率を生成するためにホットワード検出モデルを使用して処理されるとさらに仮定する。この例では、この確率と追加の確率は、音響イベントが実際にその特定の語または語句の出現に対応するかどうかを決定するために処理され得る。
【0007】
たとえば、確率は0.70という値であり、追加の確率は0.65という値であると仮定する。この事例では、確率と追加の確率の両方が閾値(たとえば、0.60という値)を満たす場合、ホットワードイベントを実際のホットワードイベントであるものとして検証することができ、自動化アシスタントの1つまたは複数のコンポーネントおよび/または機能を、確率のいずれもがあまり高くなくてもアクティブにすることができる。また、たとえば、確率は0.90という値であり、追加の確率は0.55という値であると仮定する。この事例では、追加の確率は閾値を満たさない可能性があるが、示される確率が比較的高い(および任意選択で追加の確率が閾値の範囲内(たとえば、0.10という値以内)にある)ので、それでもホットワードイベントを実際のホットワードイベントとして検証してもよく、自動化アシスタントの1つまたは複数のコンポーネントおよび/または機能をアクティブにすることができる。
【0008】
いくつかの追加または代替の実装形態では、音響イベントは音イベントに対応することができる。これらの実装形態では、音響イベント検出モデルは、検出されると、エコシステムに関連するユーザのクライアントデバイスにおいて通知が視覚的および/または聴覚的にレンダリングされるようにする1つまたは複数の特定の音を検出するように訓練される、音検出モデルに対応することができる。特定の音は、たとえば、ガラスが割れること、犬が吠えること、猫が鳴くこと、呼び鈴が鳴ること、火災報知器が鳴動すること、一酸化炭素検出器が鳴動すること、乳児が泣くこと、ドアをノックすること、および/またはエコシステムにおいて発生し得る任意の他の音を含み得る。それらの実装形態のいくつかのバージョンでは、それぞれの特定の音を検出するために多様な音検出モデルを訓練することができ、一方、他の実装形態では、多様な音を検出するために単一の音検出モデルを訓練することができる。オーディオデータは、ホットワードイベントに関して上で説明されるのと同じまたは同様の方式で処理され得るが、追加または代替として、音イベントが実際の音イベントであるかどうかを検証するために音検出モデルを使用してオーディオデータを処理することを含み得る。
【0009】
様々な実装形態において、エコシステムの中の少なくとも1つの追加のアシスタントデバイスは、音響イベントを捉えるオーディオデータを所与のアシスタントデバイスが検出したことに応答して特定され得る。所与のアシスタントデバイスにおいて検出される音響イベントが実際に本物の音響イベントである場合、エコシステムにおいて特定される少なくとも1つの追加のアシスタントデバイスは、音響イベントを同様に捉える時間的に対応するオーディオデータを検出したはずである。アシスタントデバイスによって捉えられるオーディオデータは、たとえば、アシスタントデバイスにおいて捉えられるオーディオデータに関連するそれぞれのタイムスタンプに基づいて、時間的に対応するオーディオデータであると見なされ得る。たとえば、オーディオデータは、タイムスタンプが一致するとき、またはタイムスタンプが互いに閾値の時間長以内にある(たとえば、数ミリ秒、数秒、または任意の他の適切な長さの時間内にある)とき、時間的に対応するオーディオデータであると見なされ得る。それらの実装形態のいくつかのバージョンでは、少なくとも1つの追加のアシスタントデバイスは、たとえば、所与のアシスタントデバイスおよび少なくとも1つの追加のアシスタントデバイスが同じ音響イベントを捉えるオーディオデータを過去に検出していることに基づいて特定され得る。それらの実装形態のいくつかの追加または代替のバージョンでは、少なくとも1つの追加のアシスタントデバイスは、たとえば、所与のアシスタントデバイスおよび少なくとも1つの追加のアシスタントデバイスがエコシステムのデバイストポロジー表現においてアシスタントデバイスの同じグループに属していることに基づいて特定され得る。
【0010】
本明細書において説明される技法を使用して、エコシステムの中の多様なアシスタントデバイスを使用して音響イベントの発生を検出して検証することによって、音響イベントのフォールスポジティブの量を減らすことができる。結果として、計算リソースとネットワークリソースの両方を節約することができる。たとえば、エコシステムにおいてホットワードイベントの発生を検出して検証する際に本明細書において説明される技法を使用することによって、自動化アシスタントのコンポーネントおよび/または機能を、それらがアクティブにされることが意図されていなかったとしてもこれらの技法がなければアクティブにされていた可能性があるときに、休止状態のままにすることができる。別の例として、エコシステムの中の特定の音の発生を検出して検証する際に本明細書において説明される技法を使用することによって、エコシステムに関連するユーザに提示される通知を、実際には音響イベントが発生しなかったにもかかわらずこれらの技法がなければ提示された可能性があるときに、差し控えることができる。その上、本明細書において説明される技法を使用して、エコシステムの中のどのアシスタントデバイスが、音響イベントを捉える時間的に対応するオーディオデータを検出するはずであるかを予想することによって、オーディオデータを処理するアシスタントデバイスの量を減らすことができる。また結果として、計算リソースとネットワークリソースの両方を節約することができる。たとえば、音響イベントを検出したはずであるエコシステムの中のアシスタントデバイスを予想する際に本明細書において説明される技法を使用することによって、音響イベントに対応しない可能性のある時間的に対応するオーディオデータを捉えた可能性のある他のアシスタントデバイスが、音響イベントが実際の音響イベントであるかどうかを決定する際に考慮されなくてもよい。
【0011】
上の説明は、本開示のいくつかの実装形態のみの概要として与えられる。それらの実装形態および他の実装形態のさらなる説明は、本明細書においてより詳しく説明される。1つの限定しない例として、様々な実装形態が、本明細書に含まれる特許請求の範囲においてより詳しく説明される。
【0012】
加えて、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは関連するメモリに記憶されている命令を実行するように動作可能であり、命令は本明細書において説明される方法のいずれかの実行を引き起こすように構成される。いくつかの実装形態はまた、本明細書において説明される方法のいずれかを実行するように1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する1つまたは複数の非一時的コンピュータ可読記憶媒体を含む。
【0013】
前述の概念および本明細書においてより詳しく説明される追加の概念のすべての組合せが、本明細書において開示される主題の一部であると考えられることを理解されたい。たとえば、本開示の終わりに現れる特許請求される主題のすべての組合せが、本明細書において開示される主題の一部であると考えられる。
【図面の簡単な説明】
【0014】
【
図1】本明細書において開示される実装形態が実装され得る例示的な環境のブロック図である。
【
図2A】様々な実装形態による、エコシステムの中の複数のアシスタントデバイスにおけるホットワードイベントの同時音響イベント検出に関連する例を示す図である。
【
図2B】様々な実装形態による、エコシステムの中の複数のアシスタントデバイスにおけるホットワードイベントの同時音響イベント検出に関連する例を示す図である。
【
図3】様々な実装形態による、エコシステムの中の複数のアシスタントデバイスにおける特定の音響イベントの同時音響イベント検出に関連する例を示す図である。
【
図4】様々な実装形態による、音響イベントが実際の音響イベントであるかどうかを、エコシステムの中の複数のアシスタントデバイスにおいて捉えられるオーディオデータに基づいて決定する例示的な方法を示すフローチャートである。
【
図5】様々な実装形態による、所与のアシスタントデバイスが音響イベントを検出したことに基づいて、どのアシスタントデバイスがエコシステムにおける音響イベントを検出したはずであるかを特定する例示的な方法を示すフローチャートである。
【
図6】様々な実装形態による、コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【0015】
スマートフォン、タブレットコンピュータ、車両コンピューティングシステム、ウェアラブルコンピューティングデバイス、スマートテレビジョン、双方向型スタンドアロンスピーカー(たとえば、ディスプレイのある、またはない)、サウンドスピーカー、家庭用警報器、扉の錠、カメラ、照明システム、トレッドミル、サーモスタット、体重計、スマートベッド、散水システム、車庫開扉器、家電機器、ベビーモニタ、火災報知器、水分計などの、スマートマルチセンシングネットワーク接続デバイス(アシスタントデバイスとも本明細書では呼ばれる)が急増している。しばしば、複数のアシスタントデバイスが、自宅などの構造物の境界内に位置し、または、ユーザの本邸およびユーザの別邸、ユーザの車両、ならびに/もしくはユーザの職場などの、多様な関連する構造内に位置する。
【0016】
さらに、自動化アシスタントの論理インスタンスを形成できる自動化アシスタントクライアントを各々含むアシスタントデバイス(アシスタント入力デバイスとも本明細書で呼ばれる)が急増している。これらのアシスタント入力デバイスは、アシスタント機能に専用であってもよく(たとえば、アシスタントクライアントおよび関連するインターフェースのみを含み、アシスタント機能に専用の、双方向型スタンドアロンスピーカーおよび/またはスタンドアロンオーディオ/ビジュアルデバイス)、または、他の機能に加えてアシスタント機能を実行することができる(たとえば、多様なアプリケーションの1つとしてアシスタントクライアントを含む携帯電話またはタブレット)。その上、一部のIoTデバイスもアシスタント入力デバイスであり得る。たとえば、一部のIoTデバイスは、自動化アシスタントクライアントと、自動化アシスタントクライアントのアシスタントインターフェースのためのユーザインターフェース出力および/または入力デバイスとして(少なくとも一部)役割を果たす少なくともスピーカーおよび/またはマイクロフォンとを含み得る。一部のアシスタントデバイスは、自動化アシスタントクライアントを実装せず、または、ユーザとインターフェースするための手段(たとえば、スピーカーおよび/またはマイクロフォン)を有しないことがあるが、それらはそれでも、自動化アシスタントによって制御され得る(本明細書ではアシスタント非入力デバイスとも呼ばれる)。たとえば、スマート電球は、自動化アシスタントクライアント、スピーカー、および/またはマイクロフォンを含まないことがあるが、スマート照明の機能を制御する(たとえば、照明をつける/消す、減光する、色を変更するなど)ために、自動化アシスタントを介して、コマンドおよび/または要求をスマート電球に送信することができる。
【0017】
アシスタントデバイスのエコシステムにアシスタントデバイス(アシスタント入力デバイスとアシスタント非入力デバイスの両方を含む)を追加するための、および/または、エコシステム内のアシスタントデバイスをグループ化するための、様々な技法が提案されている。たとえば、新しいアシスタントデバイスをエコシステムに追加すると、エコシステムに関連するユーザは、エコシステムのデバイストポロジー表現において、ソフトウェアアプリケーションを介して(たとえば、自動化アシスタントアプリケーション、エコシステムに関連するソフトウェアアプリケーション、新しいアシスタントデバイスに関連するソフトウェアアプリケーションなどを介して)エコシステムの中のアシスタントデバイスのグループに新しいアシスタントデバイスを手動で追加することができる。さらに、アシスタントデバイスがエコシステム内で移動する場合、ユーザは、ソフトウェアアプリケーションを介してアシスタントデバイスが割り当てられるグループを手動で変更し得る。そうしなければ、アシスタントデバイスが割り当てられるグループは、エコシステム内のアシスタントデバイスの位置を正確に反映しないことがある。たとえば、「居間のスピーカー」と標識されたスマートスピーカーがユーザの本邸の居間に位置し、アシスタントデバイスの「居間」グループと関連付けられるが、スマートスピーカーがユーザの本邸の台所に移動する場合、標識とグループがアシスタントデバイスの位置を表していなくても、ユーザがユーザの本邸のエコシステムのためのデバイストポロジー表現において標識およびグループを手動で変更しない限り、スマートスピーカーは依然として「居間のスピーカー」として標識され、アシスタントデバイスの「居間」グループに含まれ得る。
【0018】
デバイストポロジー表現は、それぞれのアシスタントデバイスと関連付けられる標識(または固有の識別子)を含み得る。さらに、デバイストポロジー表現は、それぞれのアシスタントデバイスと関連付けられる標識(または固有の識別子)を指定することができる。所与のアシスタントデバイスに対するデバイス属性は、たとえば、それぞれのアシスタントデバイスによってサポートされる1つまたは複数の入力および/または出力様式を示すことができる。たとえば、スタンドアロンスピーカーのみのアシスタントクライアントデバイスに対するデバイス属性は、それが聴覚的な出力を提供することは可能であるが視覚的な出力を提供することは不可能であることを示すことができる。所与のアシスタントデバイスに対するデバイス属性は、追加または代替として、たとえば、所与のアシスタントデバイスの制御できる1つもしくは複数の状態を特定し、アシスタントデバイスのファームウェアを製造し、配布し、かつ/もしくは作成する当事者(たとえば、ファーストパーティ(1P)またはサードパーティ(3P))を特定し、かつ/または、1Pもしくは3Pにより提供される不変の識別子などの所与のアシスタントデバイスに対する固有の識別子、もしくはユーザによって所与のアシスタントデバイスに割り当てられる標識を特定することができる。本明細書において開示される様々な実装形態によれば、デバイストポロジー表現は任意選択でさらに、どのスマートデバイスがどのアシスタントデバイスによってローカルで制御され得るか、ローカルに制御可能なアシスタントデバイスのローカルアドレス(またはそれらのアシスタントデバイスを直接ローカルに制御することができるハブのローカルアドレス)、ローカル信号強度、および/またはそれぞれのアシスタントデバイスの間の他の優先インジケータを指定することができる。さらに、本明細書において開示される様々な実装形態によれば、デバイストポロジー表現(またはその変形)は、アシスタントデバイスをローカルで制御する際に、および/またはそれに標識をローカルで割り当てる際に利用するために、複数のアシスタントデバイスの各々にローカルで記憶され得る。その上、デバイストポロジー表現は、様々なレベルの粒度で定義され得るそれぞれのアシスタントデバイスと関連付けられるグループを指定することができる。たとえば、ユーザの本邸の居間の複数のスマート照明が、「居間の照明」グループに属すると考えられ得る。さらに、本邸の居間がスマートスピーカーも含む場合、居間に位置するアシスタントデバイスのすべてが、「居間のアシスタントデバイス」グループに属すると考えられ得る。
【0019】
自動化アシスタントは、アシスタントデバイスの1つまたは複数によって生成される1つまたは複数の信号に基づいて、エコシステムにおいて発生する様々なイベントを検出することができる。たとえば、自動化アシスタントは、イベント検出モデルまたはイベント検出ルールを使用して、信号の1つまたは複数を処理してこれらのイベントを検出することができる。さらに、自動化アシスタントは、エコシステムにおいて発生するイベントのための信号の1つまたは複数に基づいて生成される出力に基づいて1つまたは複数の行動が実行されるようにすることができる。いくつかの実装形態では、検出されるイベントは、1つまたは複数のアシスタントデバイスのそれぞれのマイクロフォンを介して捉えられる音響イベントであり得る。自動化アシスタントは、音響イベントを捉えるオーディオデータが音響イベントモデルを使用して処理されるようにすることができる。音響イベントモデルによって検出される音響イベントは、たとえば、ホットワード検出モデルを使用して発話に含まれる自動化アシスタントを呼び出すホットワードを検出すること、周辺雑音検出モデルを使用してエコシステムの中で(および任意選択で、アシスタントデバイスの所与の1つにおいて発話受け入れがアクティブである間に)周辺雑音を検出すること、音検出モデルを使用してエコシステムにおいて特定の音(たとえば、ガラスが割れること、犬が吠えること、猫が鳴くこと、呼び鈴が鳴ること、火災報知器が鳴動すること、一酸化炭素検出器が鳴動すること、乳児が泣くこと、ドアをノックすること、および/または他の音響イベント)を検出すること、および/または、それぞれの音響イベント検出モデルを使用して検出され得る他の音響関連イベントを含み得る。たとえば、オーディオデータがアシスタントデバイスの少なくとも1つのそれぞれのマイクロフォンを介して検出されると仮定する。この例では、自動化アシスタントは、オーディオデータが自動化アシスタントを呼び出すためのホットワードを捉えるかどうかを決定するために、アシスタントデバイスの少なくとも1つのホットワード検出モデルによってオーディオデータが処理されるようにすることができる。さらに、自動化アシスタントは、追加または代替として、周辺雑音の1つまたは複数の異種のセマンティックカテゴリ(たとえば、映画もしくはテレビの音、料理の音、および/または他の異種の音のカテゴリ)へとオーディオデータにおいて捉えられたあらゆる周辺(または背景)雑音を分類するために、アシスタントデバイスの少なくとも1つの周辺雑音検出モデルによってオーディオデータが処理されるようにすることができる。その上、自動化アシスタントは、追加または代替として、何らかの特定の音がオーディオデータにおいて捉えられるかどうかを決定するために、アシスタントデバイスの少なくとも1つの音検出モデルによってオーディオデータが処理されるようにすることができる。
【0020】
本明細書において説明される実装形態は、時間的に対応するオーディオデータが多様なアシスタントデバイスのそれぞれのマイクロフォンによって捉えられることに基づいて、エコシステムにおいて音響イベントが実際に発生したと決定することに関する。それらの実装形態はさらに、アシスタントデバイスにおいてローカルでオーディオデータを処理して、音響イベントが実際に発生したかどうかを示す尺度を生成することに関する。またさらに、それらの実装形態は、エコシステムのデバイストポロジー表現に基づいてオーディオデータに時間的に対応するオーディオデータをエコシステムの中のどのアシスタントデバイスが検出したはずであるかを特定することと、多様なアシスタントデバイスが時間的に対応するオーディオデータを検出するとき、時間的に対応するオーディオデータがそれぞれのイベント検出モデルによって処理されるようにすることとに関する。
【0021】
ここで
図1を見ると、本明細書において開示される技法が実装され得る例示的な環境が示される。例示的な環境は、複数のアシスタント入力デバイス106
1-N(単に「アシスタント入力デバイス106」とも本明細書では呼ばれる)、1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119、1つまたは複数のアシスタント非入力システム180、1つまたは複数のアシスタント非入力デバイス185
1-N(単に「アシスタント非入力デバイス185」とも本明細書では呼ばれる)、デバイス活動データベース191、機械学習(「ML」)モデルデータベース、およびデバイストポロジーデータベース193を含む。
図1のアシスタント入力デバイス106およびアシスタント非入力デバイス185は、本明細書では集合的に「アシスタントデバイス」とも呼ばれることがある。
【0022】
アシスタント入力デバイス106の1つまたは複数(たとえば、すべて)が、それぞれの自動化アシスタントクライアント1181-Nのそれぞれのインスタンスを実行することができる。しかしながら、いくつかの実装形態では、アシスタント入力デバイス106の1つまたは複数は任意選択で、それぞれの自動化アシスタントクライアント1181-Nのインスタンスを欠いていてもよく、それでも、自動化アシスタントに向けられるユーザ入力を受け取って処理するためのエンジンおよびハードウェアコンポーネント(たとえば、マイクロフォン、スピーカー、発話認識エンジン、自然言語処理エンジン、発話合成エンジンなど)を含んでもよい。自動化アシスタントクライアント1181-Nのインスタンスは、それぞれのアシスタント入力デバイス106のオペレーティングシステムとは別のアプリケーション(たとえば、オペレーティングの「上に」インストールされる)であってもよく、または代替として、それぞれのアシスタント入力デバイス106のオペレーティングシステムによって直接実装されてもよい。以下でさらに説明されるように、自動化アシスタントクライアント1181-Nの各インスタンスは任意選択で、それぞれのアシスタント入力デバイス106のいずれか1つのそれぞれのユーザインターフェースコンポーネント1071-Nによって提供される様々な要求に応答する際に、1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119と対話することができる。さらに、以下でも説明されるように、アシスタント入力デバイス106の他のエンジンは任意選択で、クラウドベースの自動化アシスタントコンポーネント119の1つまたは複数と対話することができる。
【0023】
1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119は、1つまたは複数のローカルエリアネットワーク(Wi-Fi LAN、Bluetoothネットワーク、近距離通信ネットワーク、メッシュネットワークなどを含む「LAN」)および/またはワイドエリアネットワーク(インターネットなどを含む「WAN」)を介してそれぞれのアシスタント入力デバイス106に通信可能に結合される、1つまたは複数のコンピューティングシステム(たとえば、「クラウド」または「リモート」コンピューティングシステムと集合的に呼ばれるサーバ)上で実装され得る。アシスタント入力デバイス106とのクラウドベースの自動化アシスタントコンポーネント119の通信結合は、
図1の110
1によって全般に示される。また、いくつかの実施形態では、アシスタント入力デバイス106は、
図1の110
2によって全般に示される、1つまたは複数のネットワーク(たとえば、LANおよび/またはWAN)を介して互いに通信可能に結合され得る。
【0024】
1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119はまた、1つまたは複数のネットワーク(たとえば、LANおよび/またはWAN)を介して1つまたは複数のアシスタント非入力システム180と通信可能に結合され得る。アシスタント非入力システム180とのクラウドベースの自動化アシスタントコンポーネント119の通信結合は、
図1の110
3によって全般に示される。さらに、アシスタント非入力システム180は各々、1つまたは複数のネットワーク(たとえば、LANおよび/またはWAN)を介してアシスタント非入力デバイス185の1つまたは複数(たとえば、グループ)に通信可能に結合され得る。たとえば、第1のアシスタント非入力システム180は、アシスタント非入力デバイス185の1つまたは複数の第1のグループと通信可能に結合され、それらからデータを受信することができ、第2のアシスタント非入力システム180は、アシスタント非入力デバイス185の1つまたは複数の第2のグループと通信可能に結合され、それらからデータを受信することができ、以下同様である。アシスタント非入力デバイス185とのアシスタント非入力システム180の通信結合は、
図1の110
4によって全般に示される。
【0025】
自動化アシスタントクライアント118のインスタンスは、クラウドベースの自動化アシスタントコンポーネント119の1つまたは複数とのその対話によって、ユーザから見ると、ユーザが人対コンピュータの対話に関わり得る際に用いる自動化アシスタント120の論理インスタンスであるように見えるものを形成し得る。そのような自動化アシスタントの2つのインスタンスが
図1に示されている。破線で囲まれる第1の自動化アシスタント120Aは、アシスタント入力デバイス106
1の自動化アシスタントクライアント118
1、および1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119を含む。dash-dash-dot線で囲まれる第2の自動化アシスタント120Bは、アシスタント入力デバイス106
Nの自動化アシスタントクライアント118
Nおよび1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119を含む。したがって、アシスタント入力デバイス106の1つまたは複数で実行される自動化アシスタントクライアント118と関わる各ユーザは、実質的に、自動化アシスタント120のユーザ固有の論理インスタンス(または、家庭もしくはユーザの他のグループの間で共有される自動化アシスタント120の論理インスタンス)と関わり得ることを理解されたい。簡潔で簡単にするために、本明細書で使用される「自動化アシスタント」という用語は、アシスタント入力デバイス106のそれぞれ1つで実行される自動化アシスタントクライアント118と、クラウドベースの自動化アシスタントコンポーネント119(多様な自動化アシスタントクライアント118の間で共有され得る)の1つまたは複数との組合せを指す。複数のアシスタント入力デバイス106のみが
図1に示されているが、クラウドベースの自動化アシスタントコンポーネント119は追加で、アシスタント入力デバイスの多くの追加のグループにサービスできることが理解される。
【0026】
アシスタント入力デバイス106は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、携帯電話コンピューティングデバイス、ユーザの車両のコンピューティングデバイス(たとえば、車載通信システム、車載娯楽システム、車載ナビゲーションシステム)、双方向型スタンドアロンスピーカー(たとえば、ディスプレイを伴う、または伴わない)、スマートテレビジョンなどのスマートアプライアンス、コンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザの眼鏡、仮想現実または拡張現実コンピューティングデバイス)、および/または自動化アシスタント120に向けられるユーザ入力を受け取ることが可能な任意のIoTデバイスのうちの1つまたは複数を含み得る。追加および/または代替のアシスタント入力デバイスが提供され得る。アシスタント非入力デバイス185は、アシスタント入力デバイス106と同じデバイスの多くを含み得るが、自動化アシスタント120に向けられたユーザ入力を受け取ることが可能ではない(たとえば、ユーザインターフェース入力コンポーネントを含まない)。アシスタント非入力デバイス185は、自動化アシスタント120に向けられたユーザ入力を受け取らないが、アシスタント非入力デバイス185はそれでも自動化アシスタント120によって制御され得る。
【0027】
いくつかの実装形態では、複数のアシスタント入力デバイス106およびアシスタント非入力デバイス185は、本明細書において説明される技法の実行を容易にするための様々な方法で互いに関連付けられ得る。たとえば、いくつかの実装形態では、複数のアシスタント入力デバイス106およびアシスタント非入力デバイス185は、1つまたは複数のネットワークを介して(たとえば、
図1のネットワーク110を介して)通信可能に結合されることにより互いに関連付けられ得る。これは、たとえば、複数のアシスタント入力デバイス106およびアシスタント非入力デバイス185が、自宅、建物などの特定のエリアまたは環境にわたって配備されている場合に当てはまり得る。追加または代替として、いくつかの実装形態では、複数のアシスタント入力デバイス106およびアシスタント非入力デバイス185は、1名または複数のユーザ(たとえば、個人、家族、組織の従業員、他のあらかじめ定められたグループなど)によって少なくとも選択的にアクセス可能な協調したエコシステムのメンバーであることにより、互いに関連付けられ得る。それらの実装形態のいくつかでは、複数のアシスタント入力デバイス106およびアシスタント非入力デバイス185のエコシステムは、デバイストポロジーデータベース193に記憶されたエコシステムのデバイストポロジー表現において互いに手動および/または自動で関連付けられ得る。
【0028】
アシスタント非入力システム180は、1つまたは複数のファーストパーティ(1P)システムおよび/または1つまたは複数のサードパーティ(3P)システムを含み得る。1Pシステムは、本明細書において言及されている自動化アシスタント120を制御する当事者と同じである当事者により制御されるシステムを指す。3Pシステムは、本明細書において使用される場合、本明細書において言及されている自動化アシスタント120を制御する当事者とは別の当事者により制御されるシステムを指す。
【0029】
アシスタント非入力システム180は、アシスタント非入力デバイス185および/またはそれに(たとえば、
図1のネットワーク110を介して)通信可能に結合される1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119からデータを受信し、アシスタント非入力デバイス185および/または1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119にデータ(たとえば、状態、状態変化、および/または他のデータ)を選択的に送信することができる。たとえば、アシスタント非入力デバイス185
1はスマート呼び鈴IoTデバイスであると仮定する。個人が呼び鈴IoTデバイスのボタンを押したことに応答して、呼び鈴IoTデバイスは、アシスタント非入力システム180の1つ(たとえば、1Pシステムまたは3Pシステムであり得る呼び鈴の製造業者によって管理されるアシスタント非入力システムの1つ)に対応するデータを送信することができる。アシスタント非入力システム180の1つは、そのようなデータに基づいて呼び鈴IoTデバイスの状態の変化を決定することができる。たとえば、アシスタント非入力システム180の1つは、非アクティブ状態(たとえば、直近のボタンの押下なし)からアクティブ状態(直近のボタンの押下)への呼び鈴の変化を決定することができ、呼び鈴状態の変化は、1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119および/またはアシスタント入力デバイス106の1つまたは複数に(たとえば、
図1のネットワーク110を介して)送信され得る。特に、ユーザ入力はアシスタント非入力デバイス185
1において受け取られる(たとえば、呼び鈴のボタンの押下)が、ユーザ入力は自動化アシスタント120に向けられない(したがって、「アシスタント非入力デバイス」という用語である)。別の例として、アシスタント非入力デバイス185
1は、マイクロフォンを有するスマートサーモスタットIoTデバイスであるが、スマートサーモスタットは自動化アシスタントクライアント118を含まないと仮定する。個人は、スマートサーモスタットを操作して(たとえば、タッチ入力または話される入力を使用して)、温度を変更し、スマートサーモスタットを介してHVACシステムを制御するための設定点として特定の値を設定することなどができる。しかしながら、スマートサーモスタットが自動化アシスタントクライアント118を含まない限り、個人はスマートサーモスタットを介して自動化アシスタント120と直接意思疎通することができない。
【0030】
様々な実装形態において、1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119はさらに、様々なエンジンを含み得る。たとえば、
図1に示されるように、1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119はさらに、イベント検出エンジン130、デバイス特定エンジン140、イベント処理エンジン150、セマンティック標識エンジン160、およびクエリ/コマンド処理エンジン170を含み得る。これらの様々なエンジンは、
図1の1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119として示されているが、それは例示のためであり、限定することは意図されないことを理解されたい。たとえば、アシスタント入力デバイス106および/またはアシスタント非入力デバイス185は、これらの様々なエンジンの1つまたは複数を含み得る。別の例として、これらの様々なエンジンは、アシスタント入力デバイス106にわたって分散していてもよく、アシスタント非入力デバイス185は、これらの様々なエンジン、および/または1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119の1つまたは複数を含んでもよい。
【0031】
いくつかの実装形態では、イベント検出エンジン130は、エコシステムにおいて発生する様々なイベントを検出することができる。それらの実装形態のいくつかのバージョンでは、イベント検出エンジン130は、アシスタント入力デバイス106の所与の1つおよび/またはアシスタント非入力デバイス185の所与の1つ(たとえば、アシスタントデバイスの所与の1つ)がいつ新しくエコシステムに追加されるか、またはエコシステム内でいつ移動するかを検出することができる。たとえば、イベント検出エンジン130は、ネットワーク110を介して検出される1つまたは複数のワイヤレス信号に基づいて、およびデバイス特定エンジン140を介して、アシスタントデバイスの所与の1つがいつエコシステムに新しく追加されるかを決定することができる。たとえば、アシスタントデバイスの所与の1つがネットワーク110の1つまたは複数に新しく接続されるとき、アシスタントデバイスの所与の1つは、それがネットワーク110に新しく追加されることを示す信号をブロードキャストすることができる。別の例として、イベント検出エンジン130は、ネットワーク110を介して検出される1つまたは複数のワイヤレス信号に基づいて、アシスタントデバイスの所与の1つがエコシステム内でいつ移動したかを決定することができる。これらの例では、デバイス特定エンジン140は、信号を処理して、アシスタントデバイスの所与の1つがネットワーク110に新しく追加されると決定し、かつ/または、アシスタントデバイスの所与の1つがエコシステム内で移動したと決定することができる。デバイス特定エンジン140によって検出される1つまたは複数のワイヤレス信号は、たとえば、人が知覚できず、アシスタントデバイスの所与の1つおよび/またはアシスタントデバイスの所与の1つに位置的に近い他のアシスタントデバイスのそれぞれの固有の識別子を任意選択で含む、ネットワーク信号および/または音響信号であり得る。たとえば、アシスタントデバイスの所与の1つがエコシステム内で移動するとき、デバイス特定エンジン140は、アシスタントデバイスの所与の1つに位置的に近い他のアシスタントデバイスによって送信されている1つまたは複数のワイヤレス信号を検出することができる。これらの信号を処理して、アシスタントデバイスの所与の1つに位置的に近い1つまたは複数の他のアシスタントデバイスが、アシスタントデバイスの所与の1つに以前は位置的に近かった1つまたは複数のアシスタントデバイスと異なると決定することができる。
【0032】
それらの実装形態のいくつかのさらなるバージョンでは、自動化アシスタント120は、エコシステムに新しく追加される、またはエコシステム内で移動したアシスタントデバイスの所与の1つが、(たとえば、デバイストポロジーデータベース193に記憶されているエコシステムのデバイストポロジー表現において)アシスタントデバイスのグループに割り当てられるようにすることができる。たとえば、アシスタントデバイスの所与の1つがエコシステムに新しく追加される実装形態では、アシスタントデバイスの所与の1つはアシスタントデバイスの既存のグループに追加されてもよく、またはアシスタントデバイスの所与の1つを含むアシスタントデバイスの新しいグループが作成されてもよい。たとえば、アシスタントデバイスの所与の1つが、「台所」グループに属する複数のアシスタントデバイス(たとえば、スマートオーブン、スマートコーヒーメーカー、台所に位置していることを示す固有の識別子もしくは標識と関連付けられる双方向型スタンドアロンスピーカー、および/または他のアシスタントデバイス)に位置的に近い場合、アシスタントデバイスの所与の1つが「台所」グループに追加されてもよく、または新しいグループが作成されてもよい。別の例として、アシスタントデバイスの所与の1つがエコシステム内で移動する実装形態では、アシスタントデバイスの所与の1つがアシスタントデバイスの既存のグループに追加されてもよく、またはアシスタントデバイスの所与の1つを含むアシスタントデバイスの新しいグループが作成されてもよい。たとえば、アシスタントデバイスの所与の1つが、前述の「台所」グループに属する複数のアシスタントデバイスに位置的に近かったが、今では「車庫」グループに属する複数のアシスタントデバイス(たとえば、スマート車庫扉、スマート扉錠、および/または他のアシスタントデバイス)に位置的に近い場合、アシスタントデバイスの所与の1つは「台所」グループから削除され、「車庫」グループに追加され得る。
【0033】
それらの実装形態のいくつかの追加または代替のバージョンでは、イベント検出エンジン130は、音響イベントの発生を検出することができる。音響イベントの発生は、アシスタント入力デバイス106の1つまたは複数および/またはアシスタント非入力デバイス185の1つまたは複数(たとえば、アシスタントデバイスの1つまたは複数)において受信されるオーディオデータに基づいて検出され得る。アシスタントデバイスの1つまたは複数において受信されるオーディオデータは、MLモデルデータベース192に記憶されているイベント検出モデルによって処理され得る。これらの実装形態では、音響イベントの発生を検出する1つまたは複数のアシスタントデバイスの各々は、それぞれのマイクロフォンを含む。
【0034】
それらの実装形態のいくつかのさらなるバージョンでは、音響イベントの発生は、アシスタントデバイスの1つまたは複数においてオーディオデータに捉えられる周辺雑音を含み得る(および任意選択で、アシスタントデバイスの1つまたは複数において発話受け入れがアクティブであるときに検出される周辺雑音の発生のみを含み得る)。1つまたは複数のアシスタントデバイスの各々において検出される周辺雑音は、デバイス活動データベース191に記憶され得る。これらの実装形態では、イベント処理エンジン150は、周辺雑音検出モデルを使用して周辺雑音を処理する際に生成される尺度に基づいて周辺ノイズを複数の異種のセマンティックカテゴリの1つまたは複数へと分類するように訓練される周辺雑音検出モデルを使用して、1つまたは複数のアシスタントデバイスにおいて検出される周辺雑音を処理することができる。複数の異種のカテゴリは、たとえば、映画もしくはテレビの音のカテゴリ、料理の音のカテゴリ、音楽の音のカテゴリ、車庫もしくは作業場の音のカテゴリ、中庭の音のカテゴリ、および/またはセマンティック上意味のある他の異種の音のカテゴリを含み得る。たとえば、周辺雑音検出モデルを使用して処理された周辺雑音が、電子レンジの鳴動、フライパンで焼かれる食べ物、食べ物を処理するフードプロセッサなどに対応する音を含むと、イベント処理エンジン150が決定する場合、イベント処理エンジン150は、周辺雑音を料理の音のカテゴリへと分類することができる。別の例として、周辺雑音検出モデルを使用して処理された周辺雑音が、電動丸鋸の作動、金槌を打つことなどに対応する音を含むと、イベント処理エンジン150が決定する場合、イベント処理エンジン150は、周辺雑音を車庫または作業場カテゴリへと分類することができる。特定のデバイスにおいて検出される周辺雑音の分類はまた、アシスタントデバイスに対するセマンティック標識(たとえば、セマンティック標識エンジン160に関して説明される)を推測する際に利用されるデバイス固有信号としても利用され得る。
【0035】
それらのさらなる実装形態のいくつかの追加または代替のバージョンでは、音響イベントの発生は、アシスタントデバイスの1つまたは複数において検出されるホットワードまたは特定の音を含み得る。これらの実装形態では、イベント処理エンジン150は、ホットワード検出モデルを使用してオーディオデータを処理する際に生成される尺度に基づいて自動化アシスタント120を呼び出す特定の語または語句をオーディオデータが含むかどうかを決定するように訓練されるホットワード検出モデルを使用して、1つまたは複数のアシスタントデバイスにおいて検出されるオーディオデータを処理することができる。たとえば、イベント処理エンジン150は、オーディオデータを処理して、「アシスタント」、「ヘイアシスタント」、「OKアシスタント」、および/または自動化アシスタントを呼び出す任意の他の語もしくは語句を含むユーザの発話をオーディオデータが捉えるかどうかを決定することができる。さらに、ホットワード検出モデルを使用して生成される尺度は、自動化アシスタント120を呼び出す語または語句をオーディオデータが含むかどうかを示すそれぞれの信頼性レベルまたは確率を含み得る。これらの実装形態のいくつかのバージョンでは、イベント処理エンジン150は、尺度が閾値を満たす場合、オーディオデータが語または語句を捉えると決定することができる。たとえば、イベント処理エンジン150が、自動化アシスタント120を呼び出す語または語句を捉えるオーディオデータと関連付けられる0.70という尺度を生成し、閾値が0.65である場合、イベント処理エンジン150は、自動化アシスタント120を呼び出す語または語句をオーディオデータが捉えると決定し得る。ホットワード検出モデルは、たとえば教師あり学習技法を使用して訓練され得る。たとえば、複数の訓練インスタンスが取得され得る。訓練インスタンスの各々は、オーディオデータ(または、メル周波数ケプストラム係数、オーディオ波形、メルバンク特徴、および/または他の音響特徴などの、オーディオデータの特徴)を含む訓練インスタンス入力、および自動化アシスタント120を呼び出す特定の語または語句を訓練インスタンス入力が含むかどうかの標示を含む対応する訓練インスタンス出力を含み得る。たとえば、特定の語または語句を捉えるオーディオデータを訓練インスタンス入力が含む場合、対応する訓練インスタンス出力は、特定の語または語句を訓練インスタンス入力が含むことを示す標識(たとえば、「はい」)または値(たとえば、「1」)割り当てられてもよく、特定の語または語句を訓練インスタンス入力が含まない場合、対応する訓練インスタンス出力は異なる標識(たとえば、「いいえ」)または値(たとえば、「0」)を割り当てられてもよい。
【0036】
これらの実装形態では、イベント処理エンジン150は、追加または代替として、音検出モデルを使用してオーディオデータを処理する際に生成される尺度に基づいてオーディオデータが特定の音を含むかどうかを決定するように訓練される音検出モデルを使用して、1つまたは複数のアシスタントデバイスにおいて検出されるオーディオデータを処理することができる。特定の音は、たとえば、ガラスが割れること、犬が吠えること、猫が鳴くこと、呼び鈴が鳴ること、火災報知器が鳴動すること、一酸化炭素検出器が鳴動すること、乳児が泣くこと、またはドアをノックすることを含み得る。たとえば、イベント処理エンジン150は、オーディオデータを処理して、これらの特定の音のいずれかをオーディオデータが捉えるかどうかを決定することができる。この例では、単一の音検出モデルが、複数の特定の音がオーディオデータにおいて捉えられるかどうかを決定するように訓練されてもよく、または、複数の音検出モデルが、所与の特定の音がオーディオデータにおいて捉えられるかどうかを決定するために訓練されてもよい。さらに、音検出モデルを使用して生成される尺度は、オーディオデータが特定の音を含むかどうかを示すそれぞれの信頼性レベルまたは確率を含み得る。これらの実装形態のいくつかのバージョンでは、イベント処理エンジン150は、尺度が閾値を満たす場合、オーディオデータが特定の音を捉えると決定することができる。たとえば、イベント処理エンジン150が、ガラスが割れる音を捉えるオーディオデータと関連付けられる0.70という尺度を生成し、閾値が0.65である場合、イベント処理エンジン150は、ガラスが割れる音をオーディオデータが捉えると決定し得る。
【0037】
様々な実装形態において、音響イベントの発生は、エコシステムの中の多様なアシスタントデバイスによって捉えられ得る。たとえば、環境の中の多様なアシスタントデバイスが、時間的に対応するオーディオデータ(たとえば、同じ時間に、または閾値の長さの時間内に多様なアシスタントデバイスにおいてそれぞれのオーディオデータが検出されるという点で時間的に対応する)を捉え得る。これらの実装形態では、所与のアシスタントデバイスがエコシステムにおいてオーディオデータを検出したことに応答して、デバイス特定エンジン140は、同様に音響イベントを捉える時間的に対応するオーディオデータを同様に検出したはずである1つまたは複数の追加のアシスタントデバイスを特定することができる。たとえば、デバイス特定エンジン140は、音響イベントを同様に捉える時間的に対応するオーディオデータを1つまたは複数の追加のアシスタントデバイスが過去に検出していることに基づいて、同様に音響イベントを捉える時間的に対応するオーディオデータを同様に検出したはずである追加のアシスタントデバイスの1つまたは複数を特定することができる。言い換えると、デバイス特定エンジン140は、(たとえば、
図2A、
図2B、および
図3に関して説明されたように)同じ音響イベントを含む時間的に対応するオーディオデータを所与のアシスタントデバイスおよび1つまたは複数の追加のアシスタントデバイスが過去に捉えているので、音響イベントを含むオーディオデータを1つまたは複数の追加のアシスタントデバイスが同様に捉えるはずであると予想することができる。
【0038】
様々な実装形態において、それぞれのアシスタントデバイスによって生成または検出される1つまたは複数のデバイス固有の信号が、デバイス活動データベース191に記憶され得る。いくつかの実装形態では、デバイス活動データベース191は、その特定のアシスタントデバイスのデバイス活動に専用のメモリの一部分に対応することができる。いくつかの追加または代替の実装形態では、デバイス活動データベース191は、アシスタントデバイスと(たとえば、
図1のネットワーク110を介して)通信している遠隔システムのメモリに対応することができる。このデバイス活動は、(たとえば、セマンティック標識エンジン160に関して説明される)アシスタントデバイスの所与の1つに対するセマンティック標識候補を生成する際に利用され得る。デバイス活動は、たとえば、それぞれのアシスタントデバイスにおいて受け取られるクエリもしくは要求(および/または複数のクエリもしくは要求の各々に関連するセマンティックカテゴリ)、それぞれのアシスタントデバイスにおいて実行されるコマンド(および/または複数のコマンドの各々に関連するセマンティックカテゴリ)、それぞれのアシスタントデバイスにおいて検出される周辺雑音(および/または周辺雑音の様々なインスタンスに関連するセマンティックカテゴリ)、(たとえば、イベント検出エンジン140を介して特定される)所与のアシスタントデバイスに位置的に近い任意のアシスタントデバイスの固有の識別子もしくは標識、ならびに/または、それぞれのアシスタントデバイスによって受信される、生成される、および/もしくは実行される任意の他のデータを含み得る。
【0039】
いくつかの実装形態では、セマンティック標識エンジン160は、1つまたは複数のデバイス固有の信号を処理して、1つまたは複数のデバイス固有の信号に基づいてアシスタントデバイスの所与の1つ(たとえば、アシスタント入力デバイス106の所与の1つおよび/またはアシスタント非入力デバイス185の所与の1つ)に対するセマンティック標識候補を生成することができる。セマンティック標識候補は、1つまたは複数のルール(任意選択でヒューリスティックに定義される)または機械学習モデル(たとえば、MLモデルデータベース192に記憶される)を使用して生成され得る。たとえば、1つまたは複数のヒューリスティックに定義されたルールは、1つまたは複数のデバイス固有の信号が分類される、セマンティックカテゴリの各々に関連するセマンティック標識候補が生成されるべきであることを示し得る。たとえば、デバイス固有の信号が、「台所」カテゴリ、「料理」カテゴリ、「寝室」カテゴリ、および「居間」カテゴリへと分類されると仮定する。この例では、セマンティック標識候補は、「台所のアシスタントデバイス」という第1のセマンティック標識候補、「料理のアシスタントデバイス」という第2のセマンティック標識候補、「寝室のアシスタントデバイス」という第3のセマンティック標識候補、および「居間のアシスタントデバイス」という第4のセマンティック標識を含み得る。別の例として、1つまたは複数のデバイス固有の信号(またはそれに対応する1つまたは複数のセマンティックカテゴリ)は、セマンティック標識候補を生成するように訓練される機械学習モデルを使用して処理され得る。たとえば、機械学習モデルは複数の訓練インスタンスに基づいて訓練され得る。訓練インスタンスの各々は、訓練インスタンス入力および対応する訓練インスタンス出力を含み得る。訓練インスタンス入力は、たとえば、1つもしくは複数のデバイス固有の信号および/または1つもしくは複数のセマンティックカテゴリを含んでもよく、対応する訓練インスタンス出力は、たとえば、訓練インスタンス入力に基づいて割り当てられるべきセマンティック標識に対応するグラウンドトゥルース出力を含んでもよい。
【0040】
それらの実装形態のいくつかのバージョンでは、所与のアシスタントデバイスがエコシステムに新しく追加される、および/またはエコシステム内で移動すると決定したことに応答して、セマンティック標識候補がそのために生成される所与のアシスタントデバイスを特定することができる。それらの実装形態のいくつかの追加または代替のバージョンでは、セマンティック標識候補がそのために生成される所与のアシスタントデバイスは、定期的に(たとえば、1か月に1回、6か月に1回、1年に1回など)特定され得る。それらの実装形態のいくつかの追加または代替のバージョンでは、セマンティック標識候補がそのために生成される所与のアシスタントデバイスは、所与のアシスタントデバイスが位置するエコシステムの部分の目的が変えられた(たとえば、エコシステムの本邸の中のある部屋が書斎から寝室に目的が変えられた)と決定したことに応答して特定され得る。これらの実装形態では、所与のアシスタントデバイスは、イベント検出エンジン130を利用して特定され得る。これらおよび他の方式で所与のアシスタントデバイスを特定することは、
図2Aおよび
図2Bに関して説明される。
【0041】
いくつかの実装形態では、セマンティック標識エンジン160は、セマンティック標識候補の中から、デバイス固有の信号の1つまたは複数に基づいて所与のアシスタントデバイスに対する所与のセマンティック標識を選択することができる。所与のアシスタントデバイスに対するセマンティック標識候補が、デバイス活動データベース191(またはそれに対応するテキスト)に記憶されているクエリ、要求、および/またはコマンドに基づいて生成される実装形態では、クエリ、要求、および/またはコマンドは、所与のアシスタントデバイスに対するデバイス活動を、異種のクエリ、要求、および/またはコマンドに対応する1つまたは複数の異なるセマンティックカテゴリへとインデクシングするために、セマンティック分類器(たとえば、MLモデルデータベース192に記憶されている)を使用して処理され得る。セマンティック標識候補は、クエリ、コマンド、および/または要求がそれらへと分類されるセマンティックカテゴリに基づいて生成されてもよく、所与のアシスタントデバイスのために選択される所与のセマンティック標識は、所与のセマンティックカテゴリにおいて分類される複数のクエリ、要求、および/またはコマンドの量に基づいて選択されてもよい。たとえば、所与のアシスタントデバイスが、料理のレシピを取得することに関する9個のクエリ、およびエコシステムの中のスマート照明を制御することに関する2個のコマンドを以前に受け取っていると仮定する。この例では、セマンティック標識候補は、たとえば、「台所のデバイス」という第1のセマンティック標識および「スマート照明制御デバイス」という第2のセマンティック標識を含み得る。さらに、セマンティック標識エンジン160は、所与のアシスタントデバイスが主に料理関連の活動に使用されることを所与のアシスタントデバイスの過去の使用が示すので、所与のアシスタントデバイスに対する所与のセマンティック標識として「台所のデバイス」という第1のセマンティック標識を選択することができる。
【0042】
いくつかの実装形態では、MLモデルデータベース192に記憶されているセマンティック分類器は、自然言語理解エンジン(たとえば、以下で説明されるNLPモジュール122によって実装される)であり得る。アシスタントデバイスにおいて以前に受け取られたクエリ、コマンド、および/または要求を処理したことに基づいて決定される意図は、セマンティックカテゴリの1つまたは複数にマッピングされ得る。特に、本明細書において説明される複数の異種のセマンティックカテゴリは、様々なレベルの粒度で定義され得る。たとえば、セマンティックカテゴリは、スマート照明コマンドというカテゴリ、スマートサーモスタットコマンドというカテゴリ、および/またはスマートカメラコマンドというカテゴリなどの、スマートデバイスコマンドの部類カテゴリ、および/またはその部類クラスの種別カテゴリと関連付けられ得る。言い換えると、各カテゴリは、セマンティック分類器によって決定される、各カテゴリに関連する意図の固有のセットを有し得るが、カテゴリのいくつかの意図は、追加のカテゴリとも関連付けられ得る。いくつかの追加または代替の実装形態では、MLモデルデータベース192に記憶されているセマンティック分類器が、クエリ、コマンド、および/または要求のテキストに対応するテキスト埋め込み(たとえば、word2vec表現などの、低次元の表現)を生成するために利用され得る。これらの埋め込みは、セマンティック上類似している語または語句が埋め込み空間の同じまたは類似する部分と関連付けられるような、埋め込み空間内の点であり得る。さらに、埋め込み空間のこれらの部分は、複数の異種のセマンティックカテゴリの1つまたは複数と関連付けられてもよく、埋め込みの所与の1つは、埋め込みの所与の1つと埋め込み空間の部分の1つまたは複数との間の距離の尺度が距離の閾値を満たす場合、セマンティックカテゴリの所与の1つへと分類されてもよい。たとえば、料理に関連する語または語句は、「料理」というセマンティック標識に関連する埋め込み空間の第1の部分と関連付けられてもよく、気象に関連する語または語句は、「気象」というセマンティック標識に関連する埋め込み空間の第2の部分と関連付けられてもよく、以下同様である。
【0043】
1つまたは複数のデバイス固有の信号が、追加または代替として周辺雑音活動を含む実装形態では、周辺雑音のインスタンスは、所与のアシスタントデバイスに対するデバイス活動を、異種の周辺雑音に対応する1つまたは複数の異なるセマンティックカテゴリへとインデクシングするために、周辺雑音検出モデル(たとえば、MLモデルデータベース192に記憶されている)を使用して処理され得る。セマンティック標識候補は、周辺雑音のインスタンスがそれらへと分類されるセマンティックカテゴリに基づいて生成されてもよく、所与のアシスタントデバイスのために選択される所与のセマンティック標識は、所与のセマンティックカテゴリにおいて分類される周辺雑音のインスタンスの量に基づいて選択されてもよい。たとえば、所与のアシスタントデバイスにおいて(および任意選択で、発話認識がアクティブであるときにだけ)検出される周辺雑音が主に、料理の音として分類される周辺雑音を含むと仮定する。この例では、セマンティック標識エンジン160は、デバイスが料理に関連する活動の近くに位置していることをオーディオデータにおいて捉えられる周辺雑音が示すので、所与のアシスタントデバイスに対する所与のセマンティック標識として「台所のデバイス」というセマンティック標識を選択することができる。
【0044】
いくつかの実装形態では、MLモデルデータベース192に記憶されている周辺雑音検出モデルを、特定の音を検出するように訓練することができ、周辺雑音検出モデルにわたって生成される出力に基づいて、周辺雑音のインスタンスが特定の音を含むかどうかを決定することができる。周辺雑音検出モデルは、たとえば、教師あり学習技法を使用して訓練され得る。たとえば、複数の訓練インスタンスが取得され得る。訓練インスタンスの各々は、周辺雑音を含む訓練インスタンス入力と、周辺雑音検出モデルが検出するように訓練されている特定の音を訓練インスタンス入力が含むかどうかの標示を含む対応する訓練インスタンス出力とを含み得る。たとえば、周辺雑音検出モデルが、ガラスが割れる音を検出するように訓練されている場合、ガラスが割れる音を含む訓練インスタンスは、標識(たとえば、「はい」)または値(たとえば、「1」)を割り当てられてもよく、ガラスが割れる音を含まない訓練インスタンスは、異なる標識(たとえば、「いいえ」)または値(たとえば、「0」)を割り当てられてもよい。いくつかの追加または代替の実装形態では、MLモデルデータベース192に記憶されている周辺雑音検出モデルは、周辺雑音のインスタンス(または、メル周波数ケプストラム係数、生のオーディオ波形、および/または他の音響特徴などの、それらの音響特徴)に基づいて、オーディオ埋め込み(たとえば、周辺雑音のインスタンスの低次元の表現)を生成するために利用され得る。これらの埋め込みは、類似する音(または音を捉える音響特徴)が埋め込み空間の同じまたは類似する部分と関連付けられるような、埋め込み空間内の点であり得る。さらに、埋め込み空間のこれらの部分は、複数の異種のセマンティックカテゴリの1つまたは複数と関連付けられてもよく、埋め込みの所与の1つは、埋め込みの所与の1つと埋め込み空間の部分の1つまたは複数との間の距離の尺度が距離の閾値を満たす場合、セマンティックカテゴリの所与の1つへと分類され得る。たとえば、ガラスが割れるというインスタンスは、「ガラスが割れる」音に関連する埋め込み空間の第1の部分と関連付けられてもよく、呼び鈴が鳴るというインスタンスは、「呼び鈴」の音に関連する埋め込み空間の第2の部分と関連付けられてもよく、以下同様である。
【0045】
1つまたは複数のデバイス固有の信号が、追加または代替として、所与のアシスタントデバイスに位置的に近い追加のアシスタントデバイスの固有の識別子または標識を含むような実装形態では、セマンティック標識候補は、それらの固有の識別子または標識に基づいて生成されてもよく、所与のアシスタントデバイスのために選択される所与のセマンティック標識は、追加のアシスタントデバイスの固有の識別子または標識の1つまたは複数に基づいて選択されてもよい。たとえば、「スマートオーブン」という第1の標識は、所与のアシスタントデバイスに位置的に近い第1のアシスタントデバイスと関連付けられ、「スマートコーヒーメーカー」という第2の標識は、所与のアシスタントデバイスに位置的に近い第2のアシスタントデバイスと関連付けられると仮定する。この例では、セマンティック標識エンジン160は、所与のアシスタントデバイスに位置的に近い追加のアシスタントデバイスと関連付けられる標識が料理に関連しているので、所与のアシスタントデバイスのための所与のセマンティック標識として「台所のデバイス」というセマンティック標識を選択することができる。固有の識別子または標識は、クエリ、コマンド、および/または要求を処理したことに関連して上で説明されたのと同じまたは同様の方式で、MLモデルデータベース192に記憶されているセマンティック分類器を使用して処理され得る。
【0046】
いくつかの実装形態では、セマンティック標識エンジン160は、(たとえば、デバイストポロジーデータベース193に記憶されている)エコシステムのデバイストポロジー表現において、所与のセマンティック標識を所与のアシスタントデバイスに自動的に割り当てることができる。いくつかの追加または代替の実装形態では、セマンティック標識エンジン160は、自動化アシスタント120に、セマンティック標識候補を含むプロンプトを生成させることができる。プロンプトは、エコシステムに関連するユーザに対して、所与のセマンティック標識として標識候補のうちの1つを選択することを求めることができる。さらに、プロンプトは、アシスタントデバイスの所与の1つ(所与のセマンティック標識が割り当てられている所与のアシスタントデバイスであることもまたはないこともある)および/またはユーザのクライアントデバイス(たとえば、モバイルデバイス)において、視覚的におよび/または聴覚的にレンダリングされ得る。所与のセマンティック標識としての標識候補のうちの1つの選択を受け取ったことに応答して、選択される所与のセマンティック標識は、(たとえば、デバイストポロジーデータベース193に記憶されている)エコシステムのデバイストポロジー表現において所与のアシスタントデバイスに割り当てられ得る。これらの実装形態のいくつかのバージョンでは、所与のアシスタントデバイスに割り当てられる所与のセマンティック標識は、所与のアシスタントデバイスのためのセマンティック標識のリストに追加され得る。言い換えると、複数のセマンティック標識が所与のアシスタントデバイスと関連付けられ得る。これらの実装形態の他のバージョンでは、所与のアシスタントデバイスに割り当てられる所与のセマンティック標識が、所与のアシスタントデバイスのためのあらゆる他のセマンティック標識に取って代わることができる。言い換えると、単一のセマンティック標識のみが所与のアシスタントデバイスと関連付けられ得る。
【0047】
いくつかの実装形態では、クエリ/コマンド処理エンジン170は、自動化アシスタント120に向けられ、アシスタント入力デバイス106の1つまたは複数を介して受け取られる、クエリ、要求、またはコマンドを処理することができる。クエリ/コマンド処理エンジン170は、クエリ、要求、またはコマンドを処理して、クエリまたはコマンドを満足させるようにアシスタントデバイスの1つまたは複数を選択することができる。特に、クエリまたはコマンドを満足させるように選択されるアシスタントデバイスの1つまたは複数は、クエリまたはコマンドを受信したアシスタント入力デバイス106の1つまたは複数と異なり得る。クエリ/コマンド処理エンジン170は、1つまたは複数の基準に基づいて、発話を満足させるように1つまたは複数のアシスタントデバイスを選択することができる。1つまたは複数の基準は、たとえば、発話を提供したユーザへのデバイスの1つもしくは複数の近接度(たとえば、以下で説明される存在センサ105を使用して決定される)、エコシステムの中のデバイスの1つもしくは複数のデバイスの能力、1つもしくは複数のアシスタントデバイスに割り当てられるセマンティック標識、および/または、発話を満足させるようにアシスタントデバイスを選択するための他の基準を含み得る。
【0048】
たとえば、発話を満足させるために表示デバイスが必要であると仮定する。この例では、発話を満足させるように所与のアシスタントデバイスを選択する際に考慮されるアシスタントデバイス候補は、表示デバイスを含むものに限定され得る。エコシステムの中の複数のアシスタントデバイスが表示デバイスを含む場合、表示デバイスを含み、ユーザに最も近い所与のアシスタントデバイスが、発話を満足させるために選択され得る。対照的に、発話を満足させるためにスピーカーしか必要とされない(たとえば、発話を満足させるために表示デバイスが必要とされない)実装形態では、発話を満足させるように所与のアシスタントデバイスを選択する際に考慮されるアシスタントデバイス候補は、表示デバイスを含むかどうかとは無関係に、スピーカーを有するものを含み得る。
【0049】
別の例として、所与のアシスタントデバイスに割り当てられるセマンティック標識と一致するセマンティック特性を発話が含むと仮定する。クエリ/コマンド処理エンジン170は、発話(またはそれに対応するテキスト)の1つまたは複数の語に対応する第1の埋め込みおよび所与のアシスタントデバイスに割り当てられるセマンティック標識の1つまたは複数の語に対応する第2の埋め込みを生成し、それらの埋め込みを比較して、それらの埋め込みが一致する(たとえば、それが厳密な一致かまたは大まかな一致かにかかわらず)ことを示す距離の閾値をそれらの埋め込み間の距離の尺度が満たすかどうかを決定することによって、発話のセマンティック特性が所与のアシスタントデバイスに割り当てられるセマンティック標識と一致することを決定することができる。この例では、クエリ/コマンド処理エンジン170は、(任意選択で、所与のアシスタントデバイスへの、発話を提供したユーザの近接度に加えて、またはその代わりに)発話がセマンティック標識と一致したことに基づいて、発話を満足させるように所与のアシスタントデバイスを選択することができる。このようにして、発話を満足させるようにアシスタントデバイスを選択することを、本明細書において説明されるようなアシスタントデバイスに割り当てられるセマンティック標識に向かって偏らせることができる。
【0050】
様々な実装形態において、アシスタント入力デバイス106の1つまたは複数は、対応するユーザからの承認により、検出された存在、特に人の存在を示す信号を提供するように構成される、1つまたは複数のそれぞれの存在センサ1051-N(本明細書では単に「存在センサ105」とも呼ばれる)を含み得る。それらの実装形態のいくつかでは、自動化アシスタント120は、エコシステムに関連するユーザからの発話を満足させるように、アシスタント入力デバイス106の1つまたは複数において、そのユーザの存在に少なくとも一部基づいて、アシスタント入力デバイス106の1つまたは複数を特定することができる。発話は、アシスタント入力デバイス106の1つまたは複数において応答するコンテンツを(たとえば、聴覚的におよび/または視覚的に)レンダリングすることによって、アシスタント入力デバイス106の1つまたは複数が発話に基づいて制御されるようにすることによって、および/またはアシスタント入力デバイス106の1つまたは複数に発話を満足させるためのあらゆる他の行動を実行させることによって、満足させられ得る。本明細書において説明されるように、自動化アシスタント120は、ユーザがどこにいるか、または直近にどこにいたかに基づいてそれらのアシスタント入力デバイス106を決定する際に、それぞれの存在センサ105に基づいて決定されるデータを活用し、対応するコマンドをそれらのアシスタント入力デバイス106だけに提供することができる。いくつかの追加または代替の実装形態では、自動化アシスタント120は、アシスタント入力デバイス106のいずれかの近くにユーザ(任意のユーザまたは特定のユーザ)が現在いるかどうかを決定する際に、それぞれの存在センサ105に基づいて決定されるデータを活用することができ、アシスタント入力デバイス106のいずれの近くにもユーザ(任意のユーザまたは特定のユーザ)がいないと決定されることに基づいて、コマンドの提供を任意選択で抑制することができる。
【0051】
それぞれの存在センサ105は様々な形式をとることがある。一部のアシスタント入力デバイス106は、その視野において検出された動きを示す信号を捉えて提供するように構成される1つまたは複数のデジタルカメラを装備し得る。追加または代替として、一部のアシスタント入力デバイス106は、その視野内の物体から放射する赤外(「IR」)光を測定する受動赤外線(「PIR」)センサなどの、他のタイプの光に基づく存在センサ105を装備し得る。追加または代替として、一部のアシスタント入力デバイス106は、1つまたは複数のマイクロフォンなどの音波(または圧力波)を検出する存在センサ105を装備し得る。その上、アシスタント入力デバイス106に加えて、アシスタント非入力デバイス185の1つまたは複数が、追加または代替として、本明細書において説明されるそれぞれの存在センサ105を含んでもよく、発話を満足させるかどうか、および/または発話をどのように満足させるかを本明細書において説明される実装形態に従って決定する際に、そのようなセンサからの信号が、自動化アシスタント120によって追加で利用されてもよい。
【0052】
追加または代替として、いくつかの実装形態では、存在センサ105は、エコシステムにおける人の存在またはデバイスの存在に関連する他の現象を検出するように構成され得る。たとえば、いくつかの実施形態では、アシスタントデバイスの所与の1つは、たとえば、特定のユーザによって携帯/操作される他のアシスタントデバイス(たとえば、モバイルデバイス、ウェアラブルコンピューティングデバイスなど)および/またはエコシステムの中の他のアシスタントデバイス(たとえば、イベント検出エンジン130に関して説明される)によって放出される様々なタイプのワイヤレス信号(たとえば、無線波、超音波、電磁波などの波)を検出する、存在センサ105を装備し得る。たとえば、アシスタントデバイスの一部は、(たとえば、超音波対応マイクロフォンなどの超音波/赤外線受信機を介して)アシスタント入力デバイス106の1つまたは複数によって検出され得る、超音波または赤外波などの人が知覚できない波を放出するように構成され得る。
【0053】
追加または代替として、様々なアシスタントデバイスは、特定のユーザによって携帯/操作される他のアシスタントデバイス(たとえば、モバイルデバイス、ウェアラブルコンピューティングデバイスなど)によって検出され、操作しているユーザの具体的な位置を決定するために使用され得る、無線波(たとえば、Wi-Fi、Bluetooth、セルラーなど)などの人が知覚できない他のタイプの波を放出し得る。いくつかの実装形態では、Wi-Fi三角測量が、たとえばアシスタントデバイスへ/からのWi-Fi信号に基づいてある人物の位置を検出するために使用され得る。他の実装形態では、特定のユーザによって携帯/操作される他のアシスタントデバイスによって放出される信号に基づいてある特定の人物の位置を決定するために、time-of-flight、信号強度などの他のワイヤレス信号特性が、単独でまたは集合的に、様々なアシスタントデバイスによって使用され得る。
【0054】
追加または代替として、いくつかの実装形態では、アシスタント入力デバイス106の1つまたは複数は、音声認識を実行してユーザの声からユーザを認識し得る。たとえば、自動化アシスタント120のいくつかのインスタンスは、たとえば様々なリソースへのアクセスを提供/制限する目的で、声をユーザのプロファイルと照合するように構成され得る。いくつかの実装形態では、次いで、たとえばアシスタントデバイスの存在センサ105によって、話者の動きが決定され得る。いくつかの実装形態では、そのような検出された動きに基づいて、ユーザの位置が予測されてもよく、アシスタントデバイスがユーザの位置に近いことに少なくとも一部基づいてそれらのアシスタントデバイスにおいて何らかのコンテンツがレンダリングさせられるとき、この位置がユーザの位置であると見なされてもよい。いくつかの実装形態では、ユーザは単に、ユーザが自動化アシスタント120と関わった最後の位置にいるものとして、特にその最後の関わりから時間があまり経っていない場合には見なされてもよい。
【0055】
アシスタント入力デバイス106の各々はさらに、それぞれのユーザインターフェースコンポーネント1071-N(単に「ユーザインターフェースコンポーネント107」とも本明細書では呼ばれる)を含み、それらは各々、1つまたは複数のユーザインターフェース入力デバイス(たとえば、マイクロフォン、タッチスクリーン、キーボード)および/または1つまたは複数のユーザインターフェース出力デバイス(たとえば、ディスプレイ、スピーカー、プロジェクタ)を含み得る。一例として、アシスタント入力デバイス1061のユーザインターフェースコンポーネント1071は、スピーカーおよびマイクロフォンのみを含み得るが、アシスタント入力デバイス106Nのユーザインターフェースコンポーネント107Nは、スピーカー、タッチスクリーン、およびマイクロフォンを含み得る。追加または代替として、いくつかの実装形態では、アシスタント非入力デバイス185は、ユーザインターフェースコンポーネント107の1つまたは複数のユーザインターフェース入力デバイスおよび/または1つまたは複数のユーザインターフェース出力デバイスを含み得るが、アシスタント非入力デバイス185のためのユーザ入力デバイス(もしあれば)は、ユーザが自動化アシスタント120と直接対話することを可能にしないことがある。
【0056】
アシスタント入力デバイス106および/またはクラウドベースの自動化アシスタントコンポーネント119の1つまたは複数を動作させる任意の他のコンピューティングデバイスの各々は、データおよびソフトウェアアプリケーションの記憶のための1つまたは複数のメモリ、データにアクセスしてアプリケーションを実行するための1つまたは複数のプロセッサ、ならびにネットワークを介した通信を容易にする他のコンポーネントを含み得る。アシスタント入力デバイス106の1つまたは複数によって、および/または自動化アシスタント120によって実行される動作は、複数のコンピュータシステム間で分散され得る。自動化アシスタント120は、たとえば、ネットワーク(たとえば、
図1のネットワーク110のいずれか)を通じて互いに結合される1つまたは複数の位置にある1つまたは複数のコンピュータ上で実行されるコンピュータプログラムとして実装され得る。
【0057】
上で述べられたように、様々な実装形態において、アシスタント入力デバイス106の各々は、それぞれの自動化アシスタントクライアント118を動作させ得る。様々な実装形態において、各自動化アシスタントクライアント118は、それぞれの発話捕捉/テキストトゥスピーチ(TTS)/スピーチトゥテキスト(STT)モジュール1141-N(本明細書では単に「発話捕捉/TTS/STTモジュール114」とも呼ばれる)を含み得る。他の実装形態では、それぞれの発話捕捉/TTS/STTモジュール114の1つまたは複数の態様は、それぞれの自動化アシスタントクライアント118とは別に実装され得る。
【0058】
各々のそれぞれの発話捕捉/TTS/STTモジュール114は、たとえば、ユーザの発話を捉えること(発話捕捉、たとえばそれぞれのマイクロフォン(いくつかの場合には存在センサ105を備え得る)を介した)、MLモデルデータベース192に記憶されている発話認識モデルを使用して、その捉えられたオーディオをテキストおよび/もしくは他の表現もしくは埋め込み(STT)に変換すること、ならびに/または、MLモデルデータベース192に記憶されている発話合成モデルを使用してテキストを発話に変換すること(TTS)を含む、1つまたは複数の機能を実行するように構成され得る。これらのモデルのインスタンスは、それぞれのアシスタント入力デバイス106の各々にローカルに記憶され、かつ/または、アシスタント入力デバイスによって(たとえば、
図1のネットワーク110を介して)アクセス可能であり得る。いくつかの実装形態では、アシスタント入力デバイス106の1つまたは複数は、計算リソース(たとえば、プロセッササイクル、メモリ、電池など)が比較的限られていることがあるので、アシスタント入力デバイス106の各々のローカルにあるそれぞれの発話捕捉/TTS/STTモジュール114は、発話認識モデルを使用して、有限の数の異なる話された語句をテキストに(または低次元埋め込みなどの他の形式に)変換するように構成されることがある。他の発話入力がクラウドベースの自動化アシスタントコンポーネント119の1つまたは複数に送信されてもよく、これらは、クラウドベースのTTSモジュール116および/またはクラウドベースのSTTモジュール117を含んでもよい。
【0059】
クラウドベースのSTTモジュール117は、発話捕捉/TTS/STTモジュール114によって捉えられたオーディオデータを、MLモデルデータベース192に記憶されている発話認識モデルを使用してテキスト(これは次いで自然言語プロセッサ122に提供され得る)へと変換するために、クラウドの実質的に無限のリソースを活用するように構成され得る。クラウドベースのTTSモジュール116は、テキストデータ(たとえば、自動化アシスタント120によって編成されるテキスト)を、MLモデルデータベース192に記憶されている発話合成モデルを使用してコンピュータで生成される発話出力へと変換するために、クラウドの実質的に無限のリソースを活用するように構成され得る。いくつかの実装形態では、クラウドベースのTTSモジュール116は、たとえばそれぞれのアシスタントデバイスのそれぞれのスピーカーを使用して直接出力されるように、コンピュータで生成された発話の出力をアシスタントデバイスの1つまたは複数に提供し得る。他の実装形態では、クラウドベースのTTSモジュール116を使用して自動化アシスタント120によって生成されるテキストデータ(たとえば、コマンドに含まれるクライアントデバイス通知)は、それぞれのアシスタントデバイスの発話捕捉/TTS/STTモジュール114に提供されてもよく、発話捕捉/TTS/STTモジュール114は次いで、発話合成モデルを使用してテキストデータをコンピュータで生成された発話へとローカルで変換し、コンピュータで生成された発話がそれぞれのアシスタントデバイスのローカルのスピーカーを介してレンダリングされるようにしてもよい。
【0060】
自動化アシスタント120(および特に、1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119)は、自然言語処理(NLP)モジュール122、前述のクラウドベースのTTSモジュール116、前述のクラウドベースのSTTモジュール117、および他のコンポーネントを含んでもよく、それらの一部が以下でより詳しく説明される。いくつかの実装形態では、自動化アシスタント120のエンジンおよび/またはモジュールの1つまたは複数が、省略され、組み合わせられ、かつ/または自動化アシスタント120とは別のコンポーネントにおいて実装されてもよい。NLPモジュール122のインスタンスは、追加または代替として、アシスタント入力デバイス106においてローカルで実装され得る。
【0061】
いくつかの実装形態では、自動化アシスタント120は、自動化アシスタント120との人のコンピュータの対話セッションの間にアシスタント入力デバイス106の1つのユーザによって生成される様々な入力に応答して、応答コンテンツを生成する。自動化アシスタント120は、アシスタント入力デバイス106および/またはアシスタント非入力デバイス185を介した対話セッションの一部として、ユーザへの提示のために応答コンテンツを(たとえば、アシスタントデバイスとは別であるとき、
図1のネットワーク110の1つまたは複数を介して)提供し得る。たとえば、自動化アシスタント120は、アシスタント入力デバイス106の1つを介して提供される自由形式の自然言語入力に応答して、応答コンテンツを生成し得る。本明細書において使用される場合、自由形式の入力は、ユーザによる選択のために提示される選択肢のグループに制約されない、ユーザによって編成される入力である。
【0062】
自動化アシスタント120のNLPモジュール122は、アシスタント入力デバイス106を介してユーザによって生成される自然言語入力を処理し、自動化アシスタント120、アシスタント入力デバイス106、および/またはアシスタント非入力デバイス185の1つまたは複数の他のコンポーネントによる使用のために、アノテートされた出力を生成し得る。たとえば、NLPモジュール122は、アシスタント入力デバイス106の1つまたは複数のそれぞれのユーザインターフェース入力デバイスを介してユーザによって生成される、自由形式の自然言語入力を処理し得る。自由形式の自然言語入力を処理したことに基づいて生成されるアノテートされた出力は、自然言語入力の1つまたは複数のアノテーション、および任意選択で、自然言語入力の語の1つまたは複数(たとえば、すべて)を含み得る。
【0063】
いくつかの実装形態では、NLPモジュール122は、自然言語入力の中の様々なタイプの文法情報を特定してアノテートするように構成される。たとえば、NLPモジュール122は、語をその文法上の役割でアノテートするように構成される、発話タガーの一部を含み得る。いくつかの実装形態では、NLPモジュール122は、追加および/または代替として、人々(たとえば、文学の登場人物、有名人、公人などを含む)、組織、位置(現実のおよび想像上の)などへの言及などの、1つまたは複数のセグメントにおけるエンティティへの言及をアノテートするように構成される、エンティティタガー(図示されない)を含み得る。いくつかの実装形態では、エンティティについてのデータは、ナレッジグラフ(図示されない)などの1つまたは複数のデータベースに記憶され得る。いくつかの実装形態では、ナレッジグラフは、知られているエンティティ(および場合によっては、エンティティ属性)を表すノード、ならびに、ノードを接続してエンティティ間の関係を表すエッジを含み得る。
【0064】
NLPモジュール122のエンティティタガーは、高いレベルの粒度で(たとえば、人々などのあるエンティティクラスへのすべての言及の特定を可能にするために)、および/または低いレベルの粒度で(たとえば、特定の人物などの特定のエンティティへのすべての言及の特定を可能にするために)、あるエンティティへの言及をアノテートし得る。エンティティタガーは、特定のエンティティについて解決するために自然言語入力の内容に頼ってもよく、かつ/または、特定のエンティティについて解決するためにナレッジグラフもしくは他のエンティティデータベースと任意選択で通信してもよい。
【0065】
いくつかの実装形態では、NLPモジュール122は、追加および/または代替として、1つまたは複数の文脈上の合図に基づいて、言及を同じエンティティへとグループ化する、または「群がらせる」ように構成される、共参照解決器(図示されない)を含み得る。たとえば、共参照解決器は、自然言語入力「lock it」を受け取る直前にレンダリングされたクライアントデバイス通知において「front door lock」が言及されていることに基づいて、自然言語入力「lock it」における語「it」を「front door lock」へと解決するために利用され得る。
【0066】
いくつかの実装形態では、NLPモジュール122の1つまたは複数のコンポーネントは、NLPモジュール122の1つまたは複数の他のコンポーネントからのアノテーションに頼り得る。たとえば、いくつかの実装形態では、指定されたエンティティタガーは、特定のエンティティへのすべての言及をアノテートする際に、共参照解決器および/または依存関係分析器からのアノテーションに頼ってもよい。また、たとえば、いくつかの実装形態では、共参照解決器は、同じエンティティへの言及を群がらせる際に、依存関係解析器からのアノテーションに頼ってもよい。いくつかの実装形態では、特定の自然言語入力を処理する際、NLPモジュール122の1つまたは複数のコンポーネントは、アシスタント入力デバイス通知が基づく自然言語入力を受け取る直前にレンダリングされたアシスタント入力デバイス通知などの、特定の自然言語入力の外側の関連するデータを使用して、1つまたは複数のアノテーションを決定してもよい。
【0067】
図1は、アシスタントデバイスおよび/またはサーバによって実装されるコンポーネントの特定の構成を有するものとして図示され、特定のネットワークを介して通信するアシスタントデバイスおよび/またはサーバを有するものとして図示されるが、それは例示のためであり、限定することは意図されないことを理解されたい。たとえば、アシスタント入力デバイス106およびアシスタント非入力デバイスは直接、1つまたは複数のネットワーク(図示せず)を介して互いに通信可能に直接結合され得る。別の例として、1つまたは複数のクラウドベースの自動化アシスタントコンポーネント119の動作は、アシスタント入力デバイス106のうちの1つまたは複数および/またはアシスタント非入力デバイスの1つまたは複数においてローカルに実装され得る。さらに別の例として、MLモデルデータベース192に記憶されている様々なMLモデルのインスタンスは、アシスタントデバイスにおいてローカルに記憶されてもよく、および/または、デバイストポロジーデータベース193に記憶されているエコシステムのデバイストポロジー表現のインスタンスは、アシスタント入力デバイスにローカルに記憶されてもよい。さらに、データ(たとえば、デバイス活動、それに対応するオーディオデータもしくは認識されるテキスト、デバイストポロジー表現、および/または本明細書において説明される任意の他のデータ)が
図1の1つまたは複数のネットワーク110のいずれかを介して送信される実装形態では、データは暗号化され、フィルタリングされ、またはユーザのプライバシーを確保するために任意の方式で別様に保護され得る。
【0068】
本明細書において説明される技法を使用して、エコシステムの中の多様なアシスタントデバイスを使用して音響イベントの発生を検出して検証することによって、音響イベントのフォールスポジティブの量を減らすことができる。結果として、計算リソースとネットワークリソースの両方を節約することができる。たとえば、エコシステムにおけるホットワードイベントの発生を検出して検証する際に本明細書において説明される技法を使用することによって、自動化アシスタントのコンポーネントおよび/または機能を、それらがアクティブにされることが意図されていなかったとしてもこれらの技法がなければアクティブにされていた可能性があるときに、休止状態のままにすることができる。別の例として、エコシステムの中の特定の音の発生を検出して検証する際に本明細書において説明される技法を使用することによって、エコシステムに関連するユーザに提示される通知を、実際には音響イベントが発生しなかったにもかかわらずこれらの技法がなければ提示された可能性があるときに、差し控えることができる。その上、エコシステムの中のどのアシスタントデバイスが、音響イベントを捉える時間的に対応するオーディオデータを検出するはずであるかを予想するために、本明細書において説明される技法を使用することによって、オーディオデータを処理するアシスタントデバイスの量を減らすことができる。また結果として、計算リソースとネットワークリソースの両方を節約することができる。たとえば、音響イベントを検出したはずであるエコシステムの中のアシスタントデバイスを予想する際に本明細書において説明される技法を使用することによって、音響イベントに対応しない可能性が高い時間的に対応するオーディオデータを捉えた可能性のある他のアシスタントデバイスが、音響イベントが実際の音響イベントであるかどうかを決定する際に考慮されなくてもよい。
【0069】
図1の様々なコンポーネントの追加の説明がここで、
図2A、
図2B、および
図3を参照して与えられる。ある家の間取りが
図2A、
図2B、および
図3に図示されている。図示される間取りは、複数の部屋250~262を含む。複数のアシスタント入力デバイス106
1-5が、部屋の少なくともいくつかにわたって配備されている。アシスタント入力デバイス106
1-5の各々は、本開示の選択された態様を用いて構成される自動化アシスタントクライアント118のインスタンスを実装してもよく、近くの人により話される発話を捉えることが可能なマイクロフォンなどの1つまたは複数の入力デバイスを含んでもよい。たとえば、双方向型スタンドアロンスピーカーおよび表示デバイス(たとえば、表示画面、プロジェクタなど)の形態をとる第1のアシスタント入力デバイス106
1が、この例では台所である部屋250に配備されている。いわゆる「スマート」テレビジョンの形態をとる第2のアシスタント入力デバイス106
2(たとえば、自動化アシスタントクライアント118のそれぞれのインスタンスを実装する1つまたは複数のプロセッサを伴うネットワーク接続されたテレビジョン)が、この例では書斎である部屋252に配備されている。ディスプレイのない双方向型スタンドアロンスピーカーの形態をとる第3のアシスタント入力デバイス106
3が、この例では寝室である部屋254に配備されている。別の双方向型スタンドアロンスピーカーの形態をとる第4のアシスタント入力デバイス106
4が、この例では居間である部屋256に配備されている。スマートテレビジョンの形態を同様にとる第5のアシスタント入力デバイス106
5も、この例では台所である部屋250に配備されている。
【0070】
図2A、
図2B、および
図3には示されていないが、複数のアシスタント入力デバイス106
1-4は、1つまたは複数の有線またはワイヤレスのWANおよび/またはLANを介して(たとえば、
図1のネットワーク110を介して)、互いにおよび/または他のリソース(たとえば、インターネット)と通信可能に結合され得る。加えて、他のアシスタント入力デバイス、特に、スマートフォン、タブレット、ラップトップ、ウェアラブルデバイスなどの特定のモバイルデバイスも存在してもよく、たとえば、家の中で1人または複数の人により携帯されてもよく、それらも同じWANおよび/またはLANに接続されてもよく、またはされなくてもよい。
図2A、
図2B、および
図3に図示されるアシスタント入力デバイスの構成は1つの例にすぎず、より多数もしくは少数の、および/または異なるアシスタント入力デバイス106が、家の任意の数の他の部屋および/もしくはエリアにわたって、ならびに/または、住宅以外の位置(たとえば、事業所、ホテル、公共の場所、空港、車両、および/または他の位置もしくは空間)に配備されてもよい。
【0071】
複数のアシスタント非入力デバイス185
1-5が、
図2A、
図2B、および
図3にさらに示されている。たとえば、スマート呼び鈴の形態をとる第1のアシスタント非入力デバイス185
1が、家の正面玄関の近くに、家の外部に配備されている。スマートロックの形態をとる第2のアシスタント非入力デバイス185
2が、自宅の正面玄関に接して、家の外部に配備されている。スマート洗濯機の形態をとる第3のアシスタント非入力デバイス185
3が、この例では洗濯室である部屋262に配備されている。扉開閉センサの形態をとる第4のアシスタント非入力デバイス185
4が、部屋262の裏口の近くに配備されており、裏口が開いているかまたは閉まっているかを検出する。スマートサーモスタットの形態をとる第5のアシスタント非入力デバイス185
5が、この例では書斎である部屋252に配備されている。
【0072】
アシスタント非入力デバイス185の各々は、それぞれのアシスタント非入力システム180(
図1に示されている)と(たとえば、
図1のネットワーク110を介して)通信して、データをそれぞれのアシスタント非入力システム180に提供し、任意選択でデータがそれぞれのアシスタント非入力システム180によって提供されるコマンドに基づいて制御されるようにすることができる。アシスタント非入力デバイス185の1つまたは複数は、追加または代替として、アシスタント入力デバイス106の1つまたは複数と直接(たとえば、
図1のネットワーク110を介して)通信して、データをアシスタント入力デバイス106の1つまたは複数に提供し、任意選択でデータがアシスタント入力デバイス106の1つまたは複数によって提供されるコマンドに基づいて制御されるようにすることができる。
図2A、
図2B、および
図3に示されるアシスタント非入力デバイス185の構成は一例にすぎず、より多数もしくは少数の、および/または異なるアシスタント非入力デバイス185が、家の任意の数の他の部屋および/もしくはエリアにわたって、ならびに/または、住宅以外の位置(たとえば、事業所、ホテル、公共の場所、空港、車両、および/または他の位置もしくは空間)に配備されてもよい。
【0073】
様々な実装形態において、音響イベントは、エコシステムの中に併置される多様なアシスタントデバイス(たとえば、アシスタント入力デバイス106、および/またはそれぞれのマイクロフォンを含むアシスタント非入力デバイス185のいずれか)において検出され得る。たとえば、音響イベントは、エコシステムの中の所与のアシスタントデバイスのマイクロフォンを介して検出されるオーディオデータにおいて取り込まれてもよく、エコシステムの中の少なくとも1つの追加のアシスタントのそれぞれのマイクロフォンを介して検出されるそれぞれのオーディオデータにおいても捉えられてもよい。アシスタントデバイスによって捉えられるオーディオデータは、音響イベントに関連するそれぞれの尺度を生成するために、それぞれのアシスタントデバイスにおいてローカルに記憶されている、および/または遠隔でサーバに記憶され、それぞれのアシスタントデバイスによってアクセス可能である、イベント検出モデルを使用して処理され得る。さらに、これらの尺度の各々は、音響イベントがエコシステムにおいて発生した実際の音響イベントに対応するかどうかを決定するために処理され得る。音響イベントが実際の音響イベントである場合、エコシステムにおける実際の音響イベントの発生に基づいて活動を実行することができる。そうではない場合、オーディオデータを廃棄することができる。
【0074】
いくつかの実装形態では、アシスタントデバイス(たとえば、所与のアシスタントデバイスおよび少なくとも1つの追加のアシスタントデバイス)の1つまたは複数は、これらのアシスタントデバイスの各々において検出されるそれぞれのオーディオデータが音響イベントを捉えるかどうかを示すそれぞれの尺度を生成するために、それぞれのアシスタントデバイスにおいてローカルに、それぞれのイベント検出モデルを使用して、それぞれのオーディオデータを処理することができる。いくつかの追加または代替の実装形態では、アシスタントデバイスの1つまたは複数は各々、これらのアシスタントデバイスの各々において検出されるそれぞれのオーディオデータが音響イベントを捉えるかどうかを示すそれぞれの尺度を生成するために、エコシステムの中の所与のアシスタントデバイス(たとえば、オーディオデータを検出したアシスタントデバイスまたは何らオーディオデータを検出しなかった別個のアシスタントデバイスのうちの1つ)にオーディオデータを送信して、所与のアシスタントデバイスにおいてローカルに、イベント検出モデルを使用して、それぞれのオーディオデータを処理することができる。いくつかの追加または代替の実装形態では、アシスタントデバイスの1つまたは複数は各々、これらのアシスタントデバイスの各々において検出されるそれぞれのオーディオデータが音響イベントを捉えるかどうかを示すそれぞれの尺度を生成するために、エコシステムとは別個の遠隔システムにオーディオデータを送信して、遠隔システムにおいて遠隔で、イベント検出モデルを使用して、それぞれのオーディオデータを処理することができる。
【0075】
いくつかの実装形態では、エコシステムの中の少なくとも1つの追加のアシスタントデバイスは、所与のアシスタントデバイスが音響イベントを捉えるオーディオデータを検出したことに応答して特定され得る。所与のアシスタントデバイスにおいて検出される音響イベントが実際に本物の音響イベントである場合、エコシステムにおいて特定される少なくとも1つの追加のアシスタントデバイスは、同様に音響イベントを捉える時間的に対応するオーディオデータを検出したはずである。アシスタントデバイスによって捉えられるオーディオデータは、たとえば、アシスタントデバイスによって捉えられるオーディオデータと関連付けられるそれぞれのタイムスタンプに基づいて、時間的に対応するオーディオデータであると見なされ得る。たとえば、オーディオデータは、タイムスタンプが一致するとき、またはそれらが互いに閾値の時間長以内(たとえば、数ミリ秒、数秒、または任意の他の適切な長さの時間内)にあるとき、時間的に対応するオーディオデータであると見なされ得る。それらの実装形態のいくつかのバージョンでは、少なくとも1つの追加のアシスタントデバイスは、たとえば、所与のアシスタントデバイスおよび少なくとも1つの追加のアシスタントデバイスが、同じ音響イベントを捉えるオーディオデータを過去に検出したことに基づいて特定され得る。それらの実装形態のいくつかの追加または代替のバージョンでは、少なくとも1つの追加のアシスタントデバイスは、たとえば、所与のアシスタントデバイスおよび少なくとも1つの追加のアシスタントデバイスがエコシステムのデバイストポロジー表現においてアシスタントデバイスの同じグループに属することに基づいて特定され得る。
【0076】
いくつかの実装形態では、音響イベントはホットワードイベントであり、イベント検出モデルはホットワード検出モデルに対応する。ホットワードイベントは、検出されると自動化アシスタントの1つまたは複数のコンポーネントまたは機能がアクティブにされるようにする、特定の語または語句を検出することに対応し得る。たとえば、
図2Aおよび
図2Bを特に参照すると、
図2Aおよび
図2Bに示されるエコシステムと関連付けられるユーザ101が、エコシステムの中の多様なアシスタントデバイスによって検出される「ヘイアシスタント...」という発話を提供すると仮定する。たとえば、
図2Aに示されるように、ユーザ101は、発話が与えられるとき、この例では台所である部屋250に位置し得る。この例では、「ヘイアシスタント...」という発話に対応するオーディオデータが第1のアシスタント入力デバイス106
1において検出される(たとえば、発話に対応する吹き出しから第1のアシスタント入力デバイス106
1への破線により示されるように)と仮定する。さらに、第5のアシスタント入力デバイス106
5および第5のアシスタント非入力デバイス185
5(スマートサーモスタットがマイクロフォンを含むと仮定する)も、(たとえば、やはり破線により示されるように)ホットワードを捉えるオーディオデータを検出することが予想されるとさらに仮定する。この例では、第5のアシスタント入力デバイス106
5は、第1のアシスタント入力デバイス106
1および第5のアシスタント入力デバイス106
5がデバイスの同じグループ(たとえば、「台所」グループ)に含まれることに基づいて、ならびに/または、第1のアシスタント入力デバイス106
1および第5のアシスタント入力デバイス106
5が同じ発話を捉える時間的に対応するオーディオデータを以前に検出したことがあることに基づいて、オーディオデータを検出することが予想され得る。さらに、第5のアシスタント非入力デバイス185
5は、第1のアシスタント入力デバイス106
1および第5のアシスタント非入力デバイス185
5が同じ発話を捉える時間的に対応するオーディオデータを以前に検出したことがあることに基づいて(たとえば、第1のアシスタント入力デバイス106
1が「台所」グループに属し、第5のアシスタント非入力デバイス185
5が「寝室」グループに属すると仮定して)、オーディオデータを検出することが予想され得る。
【0077】
その上、第1のアシスタント入力デバイス1061において検出されるオーディオデータに基づいて生成される尺度が、オーディオデータがホットワードを捉えることを示すと仮定し、第5のアシスタント入力デバイス1065において検出されるオーディオデータに基づいて生成される尺度は、オーディオデータがホットワードを捉えることを示すが、第5のアシスタント非入力デバイス1855において検出されるオーディオデータに基づいて生成される尺度は、オーディオデータがホットワードを捉えないことを示すと仮定する。この例では、エコシステムにおいて検出されるホットワードが実際にホットワードであると決定されてもよく、オーディオデータがホットワードを捉えないことを第5のアシスタント非入力デバイス1855が示していても(または第5のアシスタント非入力デバイス1855がまったくオーディオデータを検出しなかった場合でも)、自動化アシスタントの1つまたは複数の構成要素または機能をアクティブにすることができ、それは、ホットワードが発話において捉えられたことを他のアシスタントデバイスが示すからである。対照的に、第1のアシスタント入力デバイス1061において検出されるオーディオデータに基づいて生成される尺度は、オーディオデータがホットワードを捉えることを示すが、第5のアシスタント入力デバイス1065および第5のアシスタント非入力デバイス1855において検出されるオーディオデータに基づいて生成される尺度は、オーディオデータがホットワードを捉えないことを示すと仮定する。この例では、エコシステムにおいて検出されるホットワードが実際にはホットワードではないと決定されることがあり、オーディオデータがホットワードを捉えることを第1のアシスタント入力デバイス1061が示していても、自動化アシスタントの1つまたは複数のコンポーネントまたは機能を休止状態のままにすることができ、それは、ホットワードが発話において捉えられなかったことを他のアシスタントデバイスが示すからである。
【0078】
別の例として、
図2Bに示されるように、ユーザ101は、この例では書斎である、発話が与えられる部屋252に位置し得る。この例では、「ヘイアシスタント...」という発話に対応するオーディオデータが第1のアシスタント入力デバイス106
1において検出される(たとえば、第1のアシスタント入力デバイス106
1への発話に対応する吹き出しからの破線により示されるように)と仮定する。第5のアシスタント非入力デバイス185
5(スマートサーモスタットがマイクロフォンを含むと仮定する)も、ホットワードを捉えるオーディオデータを検出することが(たとえば、破線によっても示されるように)予想されると、さらに仮定する。この例では、第5のアシスタント非入力デバイス185
5は、第2のアシスタント入力デバイス106
2および第5のアシスタント非入力デバイス185
5がデバイスの同じグループ(たとえば、「書斎」グループ)に含まれることに基づいて、ならびに/または、第2のアシスタント入力デバイス106
5および第5のアシスタント非入力デバイス185
5が同じ発話を捉える時間的に対応するオーディオデータを以前に検出したことがあることに基づいて、オーディオデータを検出することが予想され得る。
【0079】
その上、第2のアシスタント入力デバイス106
2において検出されるオーディオデータに基づいて生成される尺度が、オーディオデータがホットワードを捉えることを示すと仮定し、第5のアシスタント非入力デバイス185
5において検出されるオーディオデータに基づいて生成される尺度が、オーディオデータがホットワードを捉えることを示すと仮定する。この例では、エコシステムにおいて検出されるホットワードが実際にホットワードであると決定されてもよく、自動化アシスタントの1つまたは複数のコンポーネントまたは機能をアクティブにすることができる。対照的に、第2のアシスタント入力デバイス106
2において検出されるオーディオデータに基づいて生成される尺度は、オーディオデータがホットワードを捉えることを示すが、第5のアシスタント非入力デバイス185
5において検出されるオーディオデータに基づいて生成される尺度は、オーディオデータがホットワードを捉えないことを示すと仮定する。この例では、エコシステムにおいて検出されるホットワードが実際にホットワードであると決定されるかどうかは、第5のアシスタント非入力デバイス185
5において検出されるオーディオデータに基づいて生成される尺度が、その尺度がホットワードを示すものであることを示す閾値の範囲内にあるかどうかに基づき得る。たとえば、ホットワードイベントに関連する尺度は確率であると仮定する。第2のアシスタント入力デバイス106
2によって検出されるオーディオデータに基づいて生成される尺度は0.7であり、第5のアシスタント非入力デバイス185
5によって検出されるオーディオデータに基づいて生成される尺度は0.6であり、ホットワードが実際のホットワードであると決定するための閾値は0.65であるとさらに仮定する。結果として、音響イベントはホットワードであると見なされないことがあり、それは、第2のアシスタント入力デバイス106
2に関連する尺度はホットワードの発生を示すが、第5のアシスタント非入力デバイス106
2に関連する尺度はホットワードの発生を示さないからである。しかしながら、第5のアシスタント非入力デバイス185
5によって検出されるオーディオデータに基づいて生成される尺度(たとえば、0.6)が閾値(たとえば、0.65)から0.1以内にある場合、音響イベントはホットワードであると見なされなくてもよいとさらに仮定する。したがって、ホットワードがエコシステムにおいて検出されたことを両方のデバイスが確信していなくても、音響イベントはホットワードの発生であると見なされ得る。対照的に、第5のアシスタント非入力デバイス185
5によって検出されるオーディオデータに基づいて生成される尺度が0.1であると仮定する。この例では、第2のアシスタント入力デバイス106
2によって検出されるオーディオデータに基づいて生成される尺度がホットワードを示す0.7であっても、音響イベントはホットワードの発生であると見なされず、それは、第5のアシスタント非入力デバイス185
5によって検出されるオーディオデータに基づいて生成される尺度が、閾値(たとえば、0.65)を満たさず、閾値の範囲内にないからである。これらの例では、ホットワードイベントが実際のホットワードイベントであるかどうかを決定するために、尺度の追加または代替の処理が利用され得る。たとえば、アシスタントデバイスにおいて検出されるそれぞれのオーディオデータに基づいて生成される尺度の平均、中央値、最高値、最低値、またはパーセンタイルの1つまたは複数が、ホットワードイベントが実際のホットワードイベントであるかどうかを決定するために利用され得る。尺度の1つまたは複数は任意選択で、たとえば、ユーザ101への近接度(たとえば、
図1の存在センサ105を使用して決定される)、アシスタントデバイスのコンポーネントのタイプ(たとえば、複数のマイクロフォンを有するアシスタントデバイスvs単一のマイクロフォンを有するアシスタントデバイス)に基づいて、および/または他の要因に基づいて、これらの統計の1つまたは複数を決定する際に重み付けられ得る。
【0080】
図2Aおよび
図2Bは、自動化アシスタントコンポーネントまたは機能の1つまたは複数をアクティブにするホットワードイベントが音響イベントであることに関して本明細書において説明されるが、これは例示のためであり、限定することは意図されないことを理解されたい。追加または代替として、ホットワードフリーイベントも、エコシステムの中の多様なアシスタントデバイスによって検出され得る。ホットワードフリーイベントは、たとえば、検出されると自動化アシスタントコンポーネントまたは機能の1つまたは複数がアクティブにされるようにする、アシスタントデバイスの所与の1つに向けられる(および任意選択で、ユーザ101の口の動きと組み合わせられる)視線を検出することを含み得る。たとえば、それぞれの画像データは、アシスタントデバイスの複数(たとえば、存在センサに関連して説明されるビジョンコンポーネントを含む)によって捉えられてもよく、それぞれの尺度を生成するために、ホットワードフリーモデル(たとえば、MLモデルデータベース192に記憶されている)を使用して、それぞれの画像データが処理されてもよく、ホットワードフリーイベントが実際のホットワードフリーイベントであるかどうかを決定するために、それぞれの尺度が処理されてもよい。これらの技法は、エコシステムにおいて発生し得る他の視覚的なイベントを検出するためにも利用され得る。
【0081】
その上、
図2Aおよび
図2Bは、音響イベントがホットワードイベントであることに関連して本明細書において説明されるが、これは例示のためであり、限定することは意図されないことを理解されたい。別の限定しない例として、特に
図3を参照すると、環境において捉えられる任意のオーディオデータが、追加または代替として、エコシステムにおける特定の音の発生を検出するように訓練される音検出モデルを使用して処理され得る。たとえば、(ユーザ101が発話を提供するのではなく)部屋250の窓が割れていると仮定し、第1のアシスタント入力デバイス106
1によって捉えられるオーディオデータが、割れたガラスの発生を検出することに関連する尺度(および任意選択で、呼び鈴が鳴ること、火災報知器の鳴動、および/またはエコシステムにおいて発生し得る他の音などの、他の音に関連する追加の尺度)を生成するように訓練されるそれぞれの音検出モデルを使用して処理されるとさらに仮定する。
図2Aに関して上で説明されたのと同様に、エコシステムの中の追加のアシスタントデバイス(たとえば、第5のアシスタント入力デバイス106
5および第5のアシスタント非入力デバイス185
5)が、時間的に対応するオーディオデータを検出し、時間的に対応するオーディオデータを処理して追加の尺度を生成し、ガラスが割れることに対応する音がエコシステムにおいて実際に捉えられたかどうかを尺度および追加の尺度に基づいて決定することが予想されるものとして、特定され得る。結果として、ガラスが割れる音がエコシステムにおいて検出されたことを示す通知が、ユーザ101のクライアントデバイス(たとえば、エコシステムの中のモバイルデバイスおよび/またはアシスタントデバイスの1つまたは複数)においてレンダリングされてもよく、任意選択で、ガラスが割れることに検出したアシスタントデバイスの標示、および/または、ガラスが割れる音が検出されたエコシステムの中の部屋の標示を含んでもよい。
【0082】
図2A、
図2B、および
図3は音響イベント(および視覚イベント)に関して本明細書において説明されるが、それは例示のためであり、限定することは意図されないことを理解されたい。本明細書において説明される技法は、エコシステムの中の多様なアシスタントデバイスによって検出され得るあらゆるイベントの発生を検証するために利用され得る。たとえば、第1のアシスタントデバイスが、加速度計を含むユーザ101により携帯されているモバイルデバイスであると仮定し、第2のアシスタントデバイスが、同様に加速度計を含むユーザ101により装着されているスマートウォッチであると仮定する。この例では、モバイルデバイスおよびスマートウォッチによって生成されるそれぞれの加速度計データは、検出された加速度計イベントが実際の加速度計イベント(たとえば、ユーザ101の歩行、ジョギング、ランニング、および/または加速度計により検出され得る任意の他の運動)であるかどうかを決定するために、上で説明されたのと同じまたは同様の方式で処理され得る。
【0083】
ここで
図4を見ると、エコシステムの中の複数のアシスタントデバイスにおいて捉えられるオーディオデータに基づいて、音響イベントが実際の音響イベントであるかどうかを決定する例示的な方法400を示すフローチャートが図示されている。便宜的に、方法400の動作は、動作を実行するシステムに関連して説明される。方法400のシステムは、コンピューティングデバイスの1つまたは複数のプロセッサおよび/または他のコンポーネントを含む。たとえば、方法400のシステムは、
図1、
図2A、
図2B、もしくは
図3のアシスタント入力デバイス106、
図1、
図2A、
図2B、もしくは
図3のアシスタント非入力デバイス185、
図6のコンピューティングデバイス610、1つもしくは複数のサーバ、他のコンピューティングデバイス、および/またはそれらの任意の組合せによって実装され得る。その上、方法400の動作は特定の順序で示されるが、これは限定することは意図されない。1つまたは複数の動作が、並べ替えられ、省略され、かつ/または追加されてもよい。
【0084】
ブロック452において、システムは、複数のアシスタントデバイスを含むエコシステムの中に位置するアシスタントデバイスのマイクロフォンを介して、音響イベントを捉えるオーディオデータを検出する。検出された音響イベントは、たとえば、エコシステムに関連するユーザによって提供される特定の語もしくは語句(たとえば、ホットワード)、人の発話に対応しないエコシステムにおける特定の音、および/またはエコシステムにおいて発生し得る他の音響イベントであり得る。
【0085】
ブロック454において、システムは、アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルを使用して、音響イベントを捉えるオーディオデータを処理し、音響イベントに関連する尺度を生成する。いくつかの実装形態では、アシスタントデバイスにおいて検出されるオーディオデータが(たとえば、自動化アシスタントの1つまたは複数のコンポーネントをアクティブにするための)特定の語または語句を含むかどうかを示す尺度を生成するために、アシスタントデバイスにおいてローカルに記憶されているホットワード検出モデルを使用して、音響イベントを捉えるオーディオデータが処理され得る。いくつかの追加または代替の実装形態では、特定の音(たとえば、ガラスが割れること、犬が吠えること、猫が鳴くこと、呼び鈴が鳴ること、火災報知器が鳴動すること、一酸化炭素検出器が鳴動すること、乳児が泣くこと、ドアをノックすること、および/またはエコシステムにおいて発生し得る任意の他の音)をアシスタントデバイスにおいて検出されるオーディオデータが含むかどうかを示す尺度を生成するために、アシスタントデバイスにおいてローカルに記憶されている音検出モデルを使用して、音響イベントを捉えるオーディオデータが処理され得る。
【0086】
ブロック456において、システムは、エコシステムの中に位置する追加のアシスタントデバイスの追加のマイクロフォンを介して、音響イベントを同様に捉える追加のオーディオデータを検出する。追加のアシスタントデバイスにおいて検出される追加のオーディオデータは、アシスタントデバイスにおいて検出されるオーディオデータに時間的に対応し得る。システムは、オーディオデータおよび追加のオーディオデータがそれぞれいつ受信されたかに対応するそれぞれのタイムスタンプに基づいて、追加のオーディオデータがオーディオデータに時間的に対応すると決定することができる。さらに、タイムスタンプが一致するとき、またはタイムスタンプが互いに閾値の時間長以内にある(たとえば、数ミリ秒、数秒、または任意の他の適切な長さの時間内にある)場合、追加のオーディオデータは、オーディオデータに時間的に対応すると見なされ得る。
【0087】
ブロック458において、システムは、追加のアシスタントデバイスにおいてローカルに記憶されている追加のイベント検出モデルを使用して、音響イベントを捉える追加のオーディオデータを処理して、音響イベントに関連する追加の尺度を生成する。いくつかの実装形態では、音響イベントを捉える追加のオーディオデータは、追加のアシスタントデバイスにおいて検出される追加のオーディオデータが(たとえば、自動化アシスタントの1つまたは複数のコンポーネントをアクティブにするための)特定の語または語句を含むかどうかを示す追加の尺度を生成するために、追加のアシスタントデバイスにおいてローカルに記憶されている追加のホットワード検出モデルを使用して処理され得る。いくつかの追加または代替の実装形態では、音響イベントを捉える追加のオーディオデータは、特定の音(たとえば、ガラスが割れること、犬が吠えること、猫が鳴くこと、呼び鈴が鳴ること、火災報知器が鳴動すること、一酸化炭素検出器が鳴動すること、および/またはエコシステムにおいて発生し得る任意の他の音)を追加のアシスタントデバイスにおいて検出される追加のオーディオデータが含むかどうかを示す追加の尺度を生成するために、追加のアシスタントデバイスにおいてローカルに記憶されている追加の音検出モデルを使用して処理され得る。
【0088】
ブロック460において、システムは、尺度と追加の尺度の両方を処理して、少なくともアシスタントデバイスと追加のアシスタントデバイスの両方によって検出される音響イベントが実際の音響イベントであるかどうかを決定する。尺度および追加の尺度は、たとえば、オーディオデータが音響イベントを捉えるかどうかを示す二進値(たとえば、yesに対して「1」、noに対して「0」)、音響イベントが発生したかどうかに関連する確率(たとえば、オーディオデータが音響イベントを捉える0.7vsオーディオデータが音響イベントを捉えない0.3)、および/または音響イベントに関連する他の尺度であり得る。
【0089】
ブロック462において、システムは、ブロック460において尺度および追加の尺度を処理したことに基づいて、音響イベントが実際の音響イベントであるかどうかを決定する。ブロック462の反復において、音響イベントが実際の音響イベントではないとシステムが決定する場合、システムは、ブロック464に進み、さらなる処理なしでオーディオデータおよび追加のオーディオデータを廃棄する。システムは次いでブロック452に戻る。たとえば、尺度および追加の尺度は、オーディオデータおよび追加のオーディオデータがそれぞれホットワードを捉える確率に対応すると仮定する。たとえば、尺度は、オーディオデータがホットワードを捉える0.7の確率であると仮定し、追加の尺度は、追加のオーディオデータがホットワードを捉える0.3の確率であると仮定する。この例では、システムは、尺度だけに基づいて0.7という確率が閾値の確率を満たすと仮定して、音響イベントが実際の音響イベントである(たとえば、ホットワードを含む発話をユーザが提供した)と決定し得る。しかしながら、システムは、追加の尺度に基づいて0.3という確率が閾値の確率レベルを満たさないと仮定して、音響イベントが実際の音響イベントではない(たとえば、ホットワードを含む発話をユーザが提供しなかった)と決定し得る。結果として、システムは、音響イベントが実際の音響イベントであったことを尺度が示していても、音響イベントが実際の音響イベントではないと決定してもよく、それは、音響イベントが実際の音響イベントであったことを追加の尺度も示さなければならないからであり、オーディオデータおよび追加のオーディオデータは廃棄され得る。追加または代替として、システムは、音響イベントが実際の音響イベントであるかどうかを決定するために利用され得るアシスタントデバイスにおいて検出されるそれぞれのオーディオデータに基づいて生成される、尺度の平均、中央値、最高値、最低値、またはパーセンタイルのうちの1つまたは複数などの、尺度に関連する統計に基づいて、音響イベントが実際の音響イベントであるかどうかを決定することができる。
【0090】
ブロック462の反復において、音響イベントが実際の音響イベントであるとシステムが決定する場合、システムはブロック466に進む。たとえば、オーディオデータおよび追加のオーディオデータがそれぞれホットワードを捉える確率に、尺度および追加の尺度が対応すると仮定する。たとえば、尺度は、オーディオデータがホットワードを捉える0.7の確率であると仮定し、追加の尺度は、追加のオーディオデータがホットワードを捉える0.8の確率であると仮定する。この例では、システムは、0.7という確率および0.8という確率(またはそれらに基づく1つまたは複数の統計)が、尺度および追加の尺度にそれぞれ基づいて閾値の確率レベルを満たすと仮定して、音響イベントが実際の音響イベントである(たとえば、ホットワードを含む発話をユーザが提供した)と決定し得る。結果として、システムは、音響イベントが実際の音響イベントであったことを尺度と追加の尺度の両方が示すので、音響イベントが実際の音響イベントであると決定し得る。
【0091】
ブロック466において、システムは、実際の音響イベントに関連する行動が実行されるようにする。システムは次いでブロック452に戻る。システムによって実行される行動は、オーディオデータおよび追加のオーディオデータにおいて捉えられる実際の音響イベントに基づき得る。たとえば、実際の音響イベントがホットワードの発生に対応する実装形態では、システムは、自動化アシスタントの1つまたは複数のコンポーネントまたは機能(たとえば、音声処理、自然言語処理、および/または自動化アシスタントの他のコンポーネントもしくは機能)をアクティブにすることができる。別の例として、実際の音響イベントが特定の音の発生に対応する実装形態では、システムは、エコシステムにおいて特定の音が検出されたことを示す通知を生成する(および任意選択で、特定の音を検出したアシスタントデバイスを特定する)ことができ、エコシステムに関連するユーザのクライアントデバイス(たとえば、ユーザのモバイルデバイス、アシスタントデバイスの1つもしくは複数、および/またはユーザに関連する任意の他のクライアントデバイス)において通知がレンダリングされるようにすることができる。
【0092】
ここで
図5を見ると、所与のアシスタントデバイスが音響イベントを検出したことに基づいて、どのアシスタントデバイスがエコシステムにおける音響イベントを検出したはずであるかを特定する、例示的な方法500を示すフローチャートが図示されている。便宜的に、方法500の動作は、動作を実行するシステムに関連して説明される。方法500のシステムは、コンピューティングデバイスの1つまたは複数のプロセッサおよび/または他のコンポーネントを含む。たとえば、方法500のシステムは、
図1、
図2A、
図2B、もしくは
図3のアシスタント入力デバイス106、
図1、
図2A、
図2B、もしくは
図3のアシスタント非入力デバイス185、
図6のコンピューティングデバイス610、1つもしくは複数のサーバ、他のコンピューティングデバイス、および/またはそれらの任意の組合せによって実装され得る。その上、方法500の動作は特定の順序で示されているが、これは限定することは意図されない。1つまたは複数の動作が、並べ替えられ、省略され、かつ/または追加されてもよい。
【0093】
ブロック552において、システムは、複数のアシスタントデバイスを含むエコシステムの中に位置するアシスタントデバイスのマイクロフォンを介して、音響イベントを捉えるオーディオデータを検出する。検出された音響イベントは、たとえば、エコシステムに関連するユーザによって提供される特定の語もしくは語句(たとえば、ホットワード)、人の発話に対応しないエコシステムにおける特定の音、および/またはエコシステムにおいて発生し得る他の音響イベントであり得る。
【0094】
ブロック554において、システムは、エコシステム内のアシスタントデバイスの位置に基づいて、アシスタントデバイスにおいて検出されるオーディオデータに時間的に対応する追加のオーディオデータをそのそれぞれのマイクロフォンを介して検出したはずである少なくとも1つの追加のアシスタントデバイスを特定する。システムは、アシスタントデバイスおよび少なくとも1つの追加のアシスタントデバイスが時間的に対応するオーディオデータを過去に検出していることに基づいて、追加のオーディオデータを検出したはずである少なくとも1つの追加のアシスタントデバイスを特定することができる。さらに、システムは、オーディオデータおよび追加のオーディオデータがそれぞれいつ受信されるかに対応するそれぞれのタイムスタンプに基づいて、追加のオーディオデータがオーディオデータに時間的に対応すると決定することができる。その上、追加のオーディオデータは、タイムスタンプが一致する、またはタイムスタンプが互いに閾値の時間長以内にある(たとえば、数ミリ秒、数秒、または任意の他の適切な長さの時間内にある)場合、オーディオデータに時間的に対応すると見なされ得る。
【0095】
ブロック556において、システムは、アシスタントデバイスにおいて検出されるオーディオデータに時間的に対応する追加のオーディオデータを追加のアシスタントデバイスが検出したかどうかを決定する。ブロック556の反復において、アシスタントデバイスにおいて検出されるオーディオデータに時間的に対応する追加のオーディオデータがないとシステムが決定する場合、システムはブロック566に進み、さらなる処理なしでオーディオデータおよび追加のオーディオデータを廃棄する。ブロック556の反復において、アシスタントデバイスにおいて検出されるオーディオデータに時間的に対応する追加のオーディオデータがあるとシステムが決定する場合、システムはブロック558に進む。言い換えると、音響イベントを捉えるオーディオデータを検出したはずである他のアシスタントデバイスがいずれも、どのような時間的に対応するオーディオデータも捉えていない場合、システムは、イベント検出モデルを使用してオーディオデータを処理することなく、音響イベントが実際の音響イベントではないと決定し得る。
【0096】
ブロック558において、システムは、アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルを使用して、音響イベントを捉えるオーディオデータを処理して、音響イベントに関連する尺度を生成する。いくつかの実装形態では、音響イベントを捉えるオーディオデータは、アシスタントデバイスにおいて検出されるオーディオデータが(たとえば、自動化アシスタントの1つまたは複数のコンポーネントをアクティブにするための)特定の語または語句を含むかどうかを示す尺度を生成するために、アシスタントデバイスにおいてローカルに記憶されているホットワード検出モデルを使用して処理され得る。いくつかの追加または代替の実装形態では、音響イベントを捉えるオーディオデータは、特定の音(たとえば、ガラスが割れること、犬が吠えること、猫が鳴くこと、呼び鈴が鳴ること、火災報知器が鳴動すること、一酸化炭素検出器が鳴動すること、乳児が泣くこと、ドアをノックすること、および/またはエコシステムにおいて発生し得る任意の他の音)をアシスタントデバイスにおいて検出されるオーディオデータが含むかどうかを示す尺度を生成するために、アシスタントデバイスにおいてローカルに記憶されている音検出モデルを使用して処理され得る。
【0097】
ブロック560において、システムは、追加のアシスタントデバイスにおいてローカルに記憶されている追加のイベント検出モデルを使用して、音響イベントを捉える追加のオーディオデータを処理して、音響イベントに関連する追加の尺度を生成する。いくつかの実装形態では、音響イベントを捉える追加のオーディオデータは、特定の語または語句(たとえば、自動化アシスタントの1つまたは複数のコンポーネントをアクティブにするための)を追加のアシスタントデバイスにおいて検出される追加のオーディオデータが含むかどうかを示す追加の尺度を生成するために、追加のアシスタントデバイスにおいてローカルに記憶されている追加のホットワード検出モデルを使用して処理され得る。いくつかの追加または代替の実装形態では、音響イベントを捉える追加のオーディオデータは、特定の音(たとえば、ガラスが割れること、犬が吠えること、猫が鳴くこと、呼び鈴が鳴ること、火災報知器が鳴動すること、一酸化炭素検出器が鳴動すること、および/またはエコシステムにおいて発生し得る任意の他の音)を追加のアシスタントデバイスにおいて検出される追加のオーディオデータが含むかどうかを示す追加の尺度を生成するために、追加のアシスタントデバイスにおいてローカルに記憶されている追加の音検出モデルを使用して処理され得る。
【0098】
ブロック562において、システムは、尺度と追加の尺度の両方を処理して、少なくともアシスタントデバイスと追加のアシスタントデバイスの両方によって検出される音響イベントが実際の音響イベントであるかどうかを決定する。尺度および追加の尺度は、たとえば、オーディオデータが音響イベントを捉えるかどうかを示す二進値(たとえば、yesに対して「1」、noに対して「0」)、音響イベントが発生したかどうかに関連する確率(たとえば、オーディオデータが音響イベントを捉える0.7vsオーディオデータが音響イベントを捉えない0.3)、および/または音響イベントに関連する他の尺度であり得る。
【0099】
ブロック564において、システムは、ブロック562において尺度および追加の尺度を処理したことに基づいて、音響イベントが実際の音響イベントであるかどうかを決定する。ブロック564の反復において、音響イベントが実際の音響イベントではないとシステムが決定する場合、システムは、ブロック566に進み、さらなる処理なしでオーディオデータおよび追加のオーディオデータを廃棄する。システムは次いでブロック552に戻る。たとえば、尺度および追加の尺度は、オーディオデータと追加のオーディオデータがそれぞれホットワードを捉える確率に対応すると仮定する。たとえば、尺度は、オーディオデータがホットワードを捉える0.7の確率であると仮定し、追加の尺度は、追加のオーディオデータがホットワードを捉える0.3の確率であると仮定する。この例では、システムは、尺度だけに基づいて0.7という確率が閾値の確率を満たすと仮定して、音響イベントが実際の音響イベントである(たとえば、ホットワードを含む発話をユーザが提供した)と決定し得る。しかしながら、システムは、追加の尺度に基づいて0.3という確率が閾値の確率レベルを満たさないと仮定して、音響イベントが実際の音響イベントではない(たとえば、ホットワードを含む発話をユーザが提供しなかった)と決定し得る。結果として、システムは、音響イベントが実際の音響イベントであったことを尺度が示していても、音響イベントが実際の音響イベントではないと決定してもよく、それは、音響イベントが実際の音響イベントであったことを追加の尺度も示さなければならないからであり、オーディオデータおよび追加のオーディオデータは廃棄され得る。追加または代替として、システムは、音響イベントが実際の音響イベントであるかどうかを決定するために利用され得るアシスタントデバイスにおいて検出されるそれぞれのオーディオデータに基づいて生成される、尺度の平均、中央値、最高値、最低値、またはパーセンタイルのうちの1つまたは複数などの、尺度に関連する統計に基づいて、音響イベントが実際の音響イベントであるかどうかを決定することができる。
【0100】
ブロック564の反復において、音響イベントが実際の音響イベントであるとシステムが決定する場合、システムはブロック568に進む。たとえば、尺度および追加の尺度は、オーディオデータと追加のオーディオデータがそれぞれホットワードを捉える確率に対応すると仮定する。たとえば、尺度は、オーディオデータがホットワードを捉える0.7の確率であると仮定し、追加の尺度は、追加のオーディオデータがホットワードを捉える0.8の確率であると仮定する。この例では、システムは、尺度および追加の尺度にそれぞれ基づいて0.7という確率および0.8という確率(またはそれらに基づく1つまたは複数の統計)が閾値の確率レベルを満たすと仮定して、音響イベントが実際の音響イベントである(たとえば、ホットワードを含む発話をユーザが提供した)と決定し得る。結果として、システムは、音響イベントが実際の音響イベントであったことを尺度と追加の尺度の両方が示すので、音響イベントが実際の音響イベントであると決定し得る。
【0101】
ブロック568において、システムは、実際の音響イベントに関連する行動が実行されるようにする。システムは次いでブロック552に戻る。システムによって実行される行動は、オーディオデータおよび追加のオーディオデータにおいて捉えられる実際の音響イベントに基づき得る。たとえば、実際の音響イベントがホットワードの発生に対応する実装形態では、システムは、自動化アシスタントの1つまたは複数のコンポーネントまたは機能(たとえば、音声処理、自然言語処理、および/または自動化アシスタントの他のコンポーネントもしくは機能)をアクティブにすることができる。別の例として、実際の音響イベントが特定の音の発生に対応する実装形態では、システムは、エコシステムにおいて特定の音が検出されたことを示す通知を生成する(および任意選択で、特定の音を検出したアシスタントデバイスを特定する)ことができ、エコシステムに関連するユーザのクライアントデバイス(たとえば、ユーザのモバイルデバイス、アシスタントデバイスの1つもしくは複数、および/またはユーザに関連する任意の他のクライアントデバイス)において通知がレンダリングされるようにすることができる。
【0102】
図6は、本明細書において説明される技法の1つまたは複数の態様を実行するために任意選択で利用され得る例示的なコンピューティングデバイス610のブロック図である。いくつかの実装形態では、アシスタント入力デバイスの1つもしくは複数、クラウドベースの自動化アシスタントコンポーネントの1つもしくは複数、1つもしくは複数のアシスタント非入力システム、1つもしくは複数のアシスタント非入力デバイス、および/または他のコンポーネントは、例示的なコンピューティングデバイス610の1つまたは複数のコンポーネントを備え得る。
【0103】
コンピューティングデバイス610は通常、バスサブシステム612を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリサブシステム625およびファイルストレージサブシステム626、ユーザインターフェース出力デバイス620、ユーザインターフェース入力デバイス622、ならびにネットワークインターフェースサブシステム616を含む、ストレージサブシステム624を含み得る。入力デバイスおよび出力デバイスは、コンピューティングデバイス610とのユーザ対話を可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークへのインターフェースを提供し、他のコンピューティングデバイスにおいて対応するインターフェースデバイスに結合される。
【0104】
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィクスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス610または通信ネットワークへと情報を入力するための、すべてのあり得るタイプのデバイスおよび方法を含むことが意図される。
【0105】
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または目に見える画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムは、またオーディオ出力デバイスなどを介して非視覚ディスプレイを提供し得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス610からユーザまたは別の機械またはコンピューティングデバイスに情報を出力するための、すべてのあり得るタイプのデバイスおよび方法を含むことが意図される。
【0106】
ストレージサブシステム624は、本明細書において説明されるモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構成物を記憶する。たとえば、ストレージサブシステム624は、本明細書において説明される方法の選択された態様を実行するための、ならびに
図1に示される様々なコンポーネントを実装するための論理を含み得る。
【0107】
これらのソフトウェアモジュールは一般に、単独で、または他のプロセッサと組み合わせて、プロセッサ614によって実行される。ストレージサブシステム624によって使用されるメモリ625は、プログラム実行の間に命令およびデータを記憶するためのメインランダムアクセスメモリ(RAM)630、ならびに固定された命令が記憶される読み取り専用メモリ(ROM)632を含む、いくつかのメモリを含み得る。ファイルストレージサブシステム626は、プログラムおよびデータファイルのための永続的なストレージを提供することができ、ハードディスクドライブ、関連するリムーバブルメディアを伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブルメディアカートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、ストレージサブシステム624にファイルストレージサブシステム626によって記憶され、またはプロセッサ614によってアクセス可能な他の機械に記憶され得る。
【0108】
バスサブシステム612は、コンピューティングデバイス610の様々なコンポーネントおよびサブシステムに互いに意図されたように通信させるための機構を提供する。バスサブシステム612は単一のバスであるものとして概略的に示されているが、バスサブシステムの代替の実装形態は複数のバスを使用し得る。
【0109】
コンピューティングデバイス610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む、様々なタイプであり得る。コンピュータおよびネットワークの変化し続ける性質により、
図6に示されるコンピューティングデバイス610の説明は、いくつかの実装形態を例示することを目的とする特定の例にすぎないことが意図される。コンピューティングデバイス610の多くの他の構成は、
図6に示されるコンピューティングデバイスより多数または少数のコンポーネントを有することが可能である。
【0110】
本明細書において論じられるいくつかの実装形態が、ユーザについての個人情報(たとえば、他の電子通信から抽出されるユーザデータ、ユーザのソーシャルネットワークについての情報、ユーザの位置、ユーザの時間、ユーザのバイオメトリック情報、ならびにユーザの活動および属性情報、ユーザ間の関係など)を収集または使用し得る状況では、情報が収集されるかどうか、個人情報が記憶されるかどうか、個人情報が使用されるかどうか、およびユーザについての情報がどのように収集され、記憶され使用されるかを制御するための1つまたは複数の機会が、ユーザに与えられる。すなわち、本明細書において論じられるシステムおよび方法は、ユーザの個人情報の収集、記憶、および/または使用を、関連するユーザからそうすることについての明確な承認を受け取った場合にのみ行う。
【0111】
たとえば、ユーザは、プログラムまたは特徴が、その特定のユーザまたはそのプログラムもしくは特徴に関連する他のユーザについてのユーザ情報を収集するかどうかについて、制御権を与えられる。個人情報が収集されることになる各ユーザは、情報が収集されるかどうかについての、および情報のどの部分が収集されるべきかについての許可または承認を提供するために、そのユーザに関連する情報収集についての制御を可能にするための1つまたは複数の選択肢を提示される。たとえば、ユーザは、通信ネットワークを介して1つまたは複数のそのような制御の選択肢を与えられ得る。加えて、あるデータは、個人を特定可能な情報が取り除かれるように、それが記憶される前または使用される前に1つまたは複数の方法で取り扱われ得る。一例として、ユーザの識別情報は、個人を特定可能な情報を決定できないように扱われ得る。別の例として、ユーザの地理的位置は、ユーザの特定の位置を決定できないように、より広い領域に一般化され得る。
【0112】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法が提供され、複数のアシスタントデバイスを含むエコシステムの中に位置するアシスタントデバイスの1つまたは複数のマイクロフォンを介して、音響イベントを捉えるオーディオデータを検出するステップと、アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルを使用して、音響イベントを捉えるオーディオデータを処理して、音響イベントに関連する尺度を生成するステップと、エコシステムの中に位置する追加のアシスタントデバイスの1つまたは複数のマイクロフォンを介して、音響イベントを同様に捉える追加のオーディオデータを検出するステップであって、追加のアシスタントデバイスがアシスタントデバイスに追加するものであり、追加のアシスタントデバイスがアシスタントデバイスとエコシステムにおいて同じ位置にある、ステップと、追加のアシスタントデバイスにおいてローカルに記憶されている追加のイベント検出モデルを使用して、音響イベントを捉える追加のオーディオデータを処理して、音響イベントに関連する追加の尺度を生成するステップと、尺度と追加の尺度の両方を処理して、少なくともアシスタントデバイスと追加のアシスタントデバイスの両方によって検出される音響イベントが実際の音響イベントであるかどうかを決定するステップと、音響イベントが実際の音響イベントであると決定したことに応答して、実際の音響イベントに関連する行動が実行されるようにするステップとを含む。
【0113】
本明細書において開示される技術のこれらおよび他の実装形態は、以下の特徴の1つまたは複数を含み得る。
【0114】
いくつかの実装形態では、音響イベントはホットワード検出イベントを含んでもよく、アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルは、特定の語または語句がオーディオデータにおいて捉えられるかどうかを検出するように訓練されるホットワード検出モデルであってもよく、追加のアシスタントデバイスにおいてローカルに記憶されている追加のイベント検出モデルは、特定の語または語句が追加のオーディオデータにおいて捉えられるかどうかを検出するように訓練される追加のホットワード検出モデルであってもよい。
【0115】
それらの実装形態のいくつかのバージョンでは、音響イベントに関連する尺度は、オーディオデータが特定の語または語句を捉えるかどうかに対応する信頼性レベルであってもよく、音響イベントに関連する追加の尺度は、追加のオーディオデータが特定の語または語句を捉えるかどうかに対応する追加の信頼性レベルであってもよい。音響イベントが実際の音響イベントであると決定するそれらの実装形態のいくつかのさらなるバージョンは、信頼性レベルおよび追加の信頼性レベルに基づいて、特定の語または語句がオーディオデータと追加のオーディオデータの両方において捉えられると決定することを含み得る。それらの実装形態のまたさらなるバージョンでは、実際の音響イベントに関連する行動が実行されるようにすることは、オーディオデータまたは追加のオーディオデータが特定の語または語句を捉えることを音響イベントデータが示すと決定したことに応答して、自動化アシスタントの1つまたは複数のコンポーネントをアクティブ化することを含み得る。
【0116】
それらの実装形態のいくつかの追加または代替のバージョンでは、アシスタントデバイスにおいてローカルに記憶されているホットワード検出モデルは、追加のアシスタントデバイスにローカルに記憶されている追加のホットワード検出モデルとは別の別個のホットワードモデルであり得る。
【0117】
いくつかの実装形態では、音響イベントは音検出イベントであってもよく、アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルは、特定の音がオーディオデータにおいて捉えられるかどうかを検出するように訓練される音検出モデルであってもよく、追加のアシスタントデバイスにおいてローカルに記憶されている追加のイベント検出モデルは、捉えられる特定の音が追加のオーディオデータであるかどうかを検出するように訓練される追加の音検出モデルであってもよい。
【0118】
それらの実装形態のいくつかのバージョンでは、音響イベントに関連する尺度は、オーディオデータが特定の音を捉えるかどうかに対応する信頼性レベルであってもよく、音響イベントに関連する追加の尺度は、追加のオーディオデータが特定の音を捉えるかどうかに対応する追加の信頼性レベルであってもよい。それらの実装形態のいくつかのさらなるバージョンでは、音響イベントが実際の音響イベントであると決定することは、信頼性レベルおよび追加の信頼性レベルに基づいて、オーディオデータと追加のオーディオデータの両方において特定の音が捉えられると決定することを含み得る。それらの実装形態のまたさらなるバージョンでは、実際の音響イベントに関連する行動が実行されるようにすることは、実際の音響イベントの発生を示す通知を生成することと、ユーザのコンピューティングデバイスを介してエコシステムに関連するユーザに通知が提示されるようにすることとを含み得る。
【0119】
それらの実装形態のいくつかの追加または代替のバージョンでは、特定の音は、ガラスが割れること、犬が吠えること、猫が鳴くこと、呼び鈴が鳴ること、火災報知器が鳴動すること、一酸化炭素検出器が鳴動すること、乳児が泣くこと、またはドアをノックすることのうちの1つまたは複数を含み得る。
【0120】
いくつかの実装形態では、尺度と追加の尺度の両方を処理して、アシスタントデバイスと追加のアシスタントデバイスの両方によって検出される音響イベントが実際の音響イベントであるかどうかを決定することは、所与のアシスタントデバイスによるものであり、所与のアシスタントデバイスは、アシスタントデバイス、追加のアシスタントデバイス、または、アシスタントデバイスおよび追加のアシスタントデバイスとエコシステムにおいて同じ位置にあるさらなる追加のアシスタントデバイスのうちの1つまたは複数であり得る。
【0121】
いくつかの実装形態では、方法はさらに、アシスタントデバイスによって、オーディオデータを遠隔システムに送信するステップと、追加のアシスタントデバイスによって、追加のオーディオデータを遠隔システムに送信するステップとを含み得る。これらの実装形態では、尺度と追加の尺度の両方を処理して、アシスタントデバイスと追加のアシスタントデバイスの両方によって検出される音響イベントが実際の音響イベントであるかどうかを決定することは、遠隔システムによるものであり得る。
【0122】
いくつかの実装形態では、オーディオデータは一時的に、追加のオーディオデータに対応する。それらの実装形態のいくつかのバージョンでは、尺度と追加の尺度の両方を処理して、アシスタントデバイスと追加のアシスタントデバイスの両方によって検出される音響イベントが実際の音響イベントであるかどうかを決定することは、オーディオデータに関連するタイムスタンプが追加のオーディオデータに関連する追加のタイムスタンプに時間的に対応すると決定することに応答したものであってもよい。
【0123】
いくつかの実装形態では、方法はさらに、アシスタントデバイスの1つまたは複数のマイクロフォンを介してオーディオデータを検出したことに応答して、複数の過去の音響イベントがアシスタントデバイスと追加のアシスタントデバイスの両方において検出されていることに基づいて、追加のアシスタントデバイスの1つまたは複数の追加のマイクロフォンを介した追加のオーディオデータの検出を予想するステップを含み得る。
【0124】
いくつかの実装形態では、方法はさらに、アシスタントデバイスの1つまたは複数のマイクロフォンを介して、後続の音響イベントを捉える後続のオーディオデータを検出するステップと、イベント検出モデルを使用して、後続の音響イベントを捉える後続のオーディオデータを処理して、後続の音響イベントに関連する後続の尺度を生成するステップと、エコシステムの中に位置するさらなる追加のアシスタントデバイスの1つまたは複数のさらなる追加のマイクロフォンを介して、後続の音響イベントを同様に捉える追加の後続のオーディオデータを検出するステップであって、さらなる追加のアシスタントデバイスがアシスタントデバイスに追加するものであり、さらなる追加のアシスタントデバイスがアシスタントデバイスとエコシステムにおいて同じ位置にある、ステップと、さらなる追加のアシスタントデバイスにおいてローカルに記憶されているさらなる追加のイベント検出モデルを使用して、音響イベントを捉える追加の後続のオーディオデータを処理して、音響イベントに関連する追加の後続の尺度を生成するステップと、尺度と追加の尺度の両方を処理して、アシスタントデバイスとさらなる追加のアシスタントデバイスの両方によって検出される後続の音響イベントが実際の後続の音響イベントであるかどうかを決定するステップと、後続の音響イベントが実際の後続の音響イベントであると決定したことに応答して、実際の後続の音響イベントに関連する後続の行動が実行されるようにするステップとを含み得る。
【0125】
それらの実装形態のいくつかの追加バージョンでは、方法はさらに、アシスタントデバイスの1つまたは複数のマイクロフォンを介して後続のオーディオデータを検出したことに応答して、さらなる追加のアシスタントデバイスの1つまたは複数のさらなる追加のマイクロフォンを介した追加の後続のオーディオデータの検出を予想するステップと、追加の複数の過去の音響イベントがアシスタントデバイスとさらなる追加のアシスタントデバイスの両方において検出されていることに基づいて、追加のアシスタントデバイスの1つまたは複数の追加のマイクロフォンを介したどのようなオーディオデータの検出も予想しないステップとを含み得る。
【0126】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法が提供され、複数のアシスタントデバイスを含むエコシステムの中に位置するアシスタントデバイスの1つまたは複数のマイクロフォンを介して、音響イベントを捉えるオーディオデータを検出するステップと、エコシステム内のアシスタントデバイスの位置に基づいて、エコシステムの中の少なくとも1つの追加のアシスタントデバイスの1つまたは複数のそれぞれのマイクロフォンを介してオーディオデータに時間的に対応する追加のオーディオデータを検出したはずである少なくとも1つの追加のアシスタントデバイスを特定するステップと、少なくとも1つの追加のアシスタントデバイスが、オーディオデータに時間的に対応する追加のオーディオデータを検出したと決定したことに応答して、アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルを使用して、音響イベントを捉えるオーディオデータを処理して、音響イベントに関連する尺度を生成するステップと、少なくとも1つの追加のアシスタントデバイスにおいてローカルに記憶されているそれぞれのイベント検出モデルを使用して、音響イベントを捉える追加のオーディオデータを処理して、音響イベントに関連する追加の尺度を生成するステップと、尺度と追加の尺度の両方に基づいて、アシスタントデバイスと追加のアシスタントデバイスの両方によって検出される音響イベントが実際の音響イベントであるかどうかを決定するステップと、音響イベントが実際の音響イベントであると決定したことに応答して、実際の音響イベントに関連する行動が実行されるようにするステップとを含む。
【0127】
本明細書において開示される技術のこれらおよび他の実装形態は、以下の特徴のうちの1つまたは複数を含み得る。
【0128】
いくつかの実装形態では、方法はさらに、少なくとも1つの追加のアシスタントデバイスがオーディオデータに時間的に対応するどのようなオーディオデータも検出しなかったと決定したことに応答して、オーディオデータを廃棄するステップを含み得る。
【0129】
加えて、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサ(たとえば、中央処理装置(CPU)、グラフィクス処理装置(GPUおよび/またはテンソル処理ユニット(TPU)))を含み、1つまたは複数のプロセッサは関連するメモリに記憶されている命令を実行するように動作可能であり、命令は前述の方法のいずれかの実行を引き起こすように構成される。いくつかの実装形態はまた、前述の方法のいずれかを実行するように1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する、1つまたは複数の非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態は、前述の方法のいずれかを実行するように1つまたは複数のプロセッサによって実行可能な命令を含むコンピュータプログラム製品も含む。
【0130】
本明細書においてより詳しく説明される前述の概念および追加の概念のすべての組合せが、本明細書において開示される主題の一部であるものとして考えられることを理解されたい。たとえば、本開示の終わりに現れる特許請求される主題のすべての組合せが、本明細書において開示される主題の一部であると考えられる。
【符号の説明】
【0131】
105 存在センサ
106 アシスタント入力デバイス
107 ユーザインターフェースコンポーネント
110 ネットワーク
114 発話捕捉/TTS/STTモジュール
116 クラウドベースのTTSモジュール
117 クラウドベースのSTTモジュール
118 自動化アシスタントクライアント
119 クラウドベースの自動化アシスタントコンポーネント
120 自動化アシスタント
122 NLPモジュール
130 イベント検出エンジン
140 デバイス特定エンジン
150 イベント処理エンジン
160 セマンティック標識エンジン
170 クエリ/コマンド処理エンジン
180 アシスタント非入力システム
185 アシスタント非入力デバイス
191 デバイス活動データベース
192 MLモデルデータベース
193 デバイストポロジーデータベース
250 部屋
252 部屋
254 部屋
256 部屋
258 部屋
260 部屋
262 部屋
610 コンピューティングデバイス
612 バスサブシステム
614 プロセッサ
616 ネットワークインターフェース
620 ユーザインターフェース出力デバイス
622 ユーザインターフェース入力デバイス
624 ストレージサブシステム
625 メモリサブシステム
626 ファイルストレージサブシステム
630 RAM
632 ROM
【手続補正書】
【提出日】2024-05-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実施される方法であって、
複数のアシスタントデバイスを含むエコシステムの中に位置するアシスタントデバイスの1つまたは複数のマイクロフォンを介して、音響イベントを捉えるオーディオデータを検出するステップと、
前記アシスタントデバイスにおいてローカルに記憶されているイベント検出モデルを使用して、前記音響イベントを捉える前記オーディオデータを処理して、前記音響イベントに関連する尺度を生成するステップと、
前記エコシステムにおいて前記アシスタントデバイスと同じ位置にある追加のアシスタントデバイスから、前記音響イベントを同様に捉える追加のオーディオデータを受信するステップであって、前記追加のアシスタントデバイスが前記アシスタントデバイスに追加されるものであり、前記追加のオーディオデータが前記追加のアシスタントデバイスの1つまたは複数の追加のマイクロフォンを介して生成される、ステップと、
前記アシスタントデバイスにおいてローカルに記憶されている前記イベント検出モデルを使用して、前記音響イベントを捉える前記追加のオーディオデータを処理して、前記音響イベントに関連する追加の尺度を生成するステップと、
前記尺度と前記追加の尺度の両方を処理して、少なくとも前記アシスタントデバイスと前記追加のアシスタントデバイスの両方によって検出される前記音響イベントが実際の音響イベントであるかどうかを決定するステップと、
前記音響イベントが前記実際の音響イベントであると決定したことに応答して、前記実際の音響イベントに関連する行動が実行されるようにするステップとを備える、方法。
【請求項2】
前記音響イベントがホットワード検出イベントを備え、前記アシスタントデバイスにおいてローカルに記憶されている前記イベント検出モデルが、特定の語または語句が前記オーディオデータおよび前記追加のオーディオデータにおいて捉えられるかどうかを検出するように訓練されるホットワード検出モデルを備える、請求項1に記載の方法。
【請求項3】
前記音響イベントに関連する前記尺度が、前記オーディオデータが前記特定の語または語句を捉えるかどうかに対応する信頼性レベルを備え、前記音響イベントに関連する前記追加の尺度が、前記追加のオーディオデータが前記特定の語または語句を捉えるかどうかに対応する追加の信頼性レベルを備える、請求項2に記載の方法。
【請求項4】
前記音響イベントが前記実際の音響イベントであると決定するステップが、前記信頼性レベルおよび前記追加の信頼性レベルに基づいて、前記特定の語または語句が前記オーディオデータと前記追加のオーディオデータの両方において捉えられると決定するステップを備える、請求項2に記載の方法。
【請求項5】
前記実際の音響イベントに関連する前記行動が実行されるようにするステップが、前記オーディオデータおよび前記追加のオーディオデータが前記特定の語または語句を捉えることを前記音響イベントデータが示すと決定したことに応答して、前記アシスタントデバイスまたは前記追加のアシスタントデバイスにおいて、自動化アシスタントの1つまたは複数のコンポーネントをアクティブにするステップを備える、請求項2に記載の方法。
【請求項6】
前記音響イベントが音検出イベントを備え、前記アシスタントデバイスにおいてローカルに記憶されている前記イベント検出モデルが、特定の音が前記オーディオデータおよび前記追加のオーディオデータにおいて捉えられるかどうかを検出するように訓練される音検出モデルを備える、請求項1に記載の方法。
【請求項7】
前記音響イベントに関連する前記尺度が、前記オーディオデータが前記特定の音を捉えるかどうかに対応する信頼性レベルを備え、前記音響イベントに関連する前記追加の尺度が、前記追加のオーディオデータが前記特定の音を捉えるかどうかに対応する追加の信頼性レベルを備える、請求項6に記載の方法。
【請求項8】
前記音響イベントが前記実際の音響イベントであると決定するステップが、前記信頼性レベルおよび前記追加の信頼性レベルに基づいて、前記オーディオデータと前記追加のオーディオデータの両方において前記特定の音が捉えられると決定するステップを備える、請求項7に記載の方法。
【請求項9】
前記実際の音響イベントに関連する前記行動が実行されるようにするステップが、
前記音検出イベントの発生を示す通知を生成するステップと、
前記エコシステムに関連するユーザに、前記ユーザのコンピューティングデバイスを介して前記通知が提示されるようにするステップとを備える、請求項6に記載の方法。
【請求項10】
前記特定の音が、ガラスが割れること、犬が吠えること、猫が鳴くこと、呼び鈴が鳴ること、火災報知器が鳴動すること、一酸化炭素検出器が鳴動すること、乳児が泣くこと、またはドアをノックすることのうちの1つまたは複数を備える、請求項6に記載の方法。
【請求項11】
前記オーディオデータが時間的に前記追加のオーディオデータに対応する、請求項1に記載の方法。
【請求項12】
前記アシスタントデバイスおよび前記追加のアシスタントデバイスが、同じ音響イベントを捉えるそれぞれのオーディオデータを過去に検出する、請求項1に記載の方法。
【請求項13】
前記尺度と前記追加の尺度の両方を処理して、前記アシスタントデバイスと前記追加のアシスタントデバイスの両方によって検出される前記音響イベントが前記実際の音響イベントであるかどうかを決定するステップが、前記オーディオデータに関連するタイムスタンプが前記追加のオーディオデータに関連する追加のタイムスタンプに時間的に対応すると決定することに応答したものである、請求項12に記載の方法。
【請求項14】
前記アシスタントデバイスが、ファーストパーティによって製造されたファーストパーティアシスタントデバイスであり、前記追加のアシスタントデバイスが、サードパーティによって製造されたサードパーティアシスタントデバイスであり、前記サードパーティが前記ファーストパーティとは別個のパーティである、請求項1に記載の方法。
【請求項15】
1つまたは複数のプロセッサによって実施される方法であって、
音響イベントを捉えるオーディオデータを受信するステップであって、前記オーディオデータが、複数のアシスタントデバイスを含むエコシステムの中に位置するアシスタントデバイスの1つまたは複数のマイクロフォンを介して生成される、受信するステップと、
イベント検出モデルを使用して、前記音響イベントを捉える前記オーディオデータを処理して、前記音響イベントに関連する尺度を生成するステップと、
前記音響イベントを同様に捉える追加のオーディオデータを受信するステップであって、前記追加のオーディオデータが、前記エコシステムにおいて前記アシスタントデバイスと同じ位置にある追加のアシスタントデバイスの1つまたは複数の追加のマイクロフォンを介して生成され、前記追加のアシスタントデバイスが前記アシスタントデバイスに追加されるものである、受信するステップと、
前記イベント検出モデルを使用して、前記音響イベントを捉える前記追加のオーディオデータを処理して、前記音響イベントに関連する追加の尺度を生成するステップと、
前記尺度と前記追加の尺度の両方を処理して、少なくとも前記アシスタントデバイスと前記追加のアシスタントデバイスの両方によって検出される前記音響イベントが実際の音響イベントであるかどうかを決定するステップと、
前記音響イベントが前記実際の音響イベントであると決定したことに応答して、前記実際の音響イベントに関連する行動が実行されるようにするステップとを備える、方法。
【請求項16】
前記アシスタントデバイスが、ファーストパーティによって製造されたファーストパーティアシスタントデバイスであり、前記追加のアシスタントデバイスが、サードパーティによって製造されたサードパーティアシスタントデバイスであり、前記サードパーティが前記ファーストパーティとは別個のパーティである、請求項15に記載の方法。
【請求項17】
前記1つまたは複数のプロセッサが、前記エコシステムから離れた場所にある遠隔システムのものであり、前記イベント検出モデルが前記エコシステムから離れた場所にある、請求項15に記載の方法。
【請求項18】
アシスタントデバイスであって、
少なくとも1つのプロセッサと、
実行されると、前記少なくとも1つのプロセッサに請求項1から14のいずれか一項に記載の方法を実行させる命令を記憶するメモリと、
を備えるアシスタントデバイス。
【請求項19】
リモートシステムであって、
少なくとも1つのプロセッサと、
実行されると、前記少なくとも1つのプロセッサに請求項15から17のいずれか一項に記載の方法を実行させる命令を記憶するメモリと、
を備えるリモートシステム。
【請求項20】
実行されると、少なくとも1つのプロセッサに請求項1から17のいずれか一項に記載の方法を実行させる命令を記憶する、非一時的コンピュータ可読記憶媒体。
【外国語明細書】