(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-19
(54)【発明の名称】話者依存フォローアップアクションおよびウォームワード
(51)【国際特許分類】
G10L 15/28 20130101AFI20231212BHJP
G10L 15/10 20060101ALI20231212BHJP
G10L 17/00 20130101ALI20231212BHJP
G06F 3/16 20060101ALI20231212BHJP
【FI】
G10L15/28 230Z
G10L15/10 200W
G10L17/00 200C
G06F3/16 650
G06F3/16 630
G06F3/16 640
G10L15/28 500
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023535766
(86)(22)【出願日】2021-11-17
(85)【翻訳文提出日】2023-08-09
(86)【国際出願番号】 US2021059693
(87)【国際公開番号】W WO2022125279
(87)【国際公開日】2022-06-16
(32)【優先日】2020-12-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】マシュー・シャリフィ
(72)【発明者】
【氏名】ヴィクター・カルブネ
(57)【要約】
方法(500)が、デジタルアシスタント(105)が長期にわたる動作を実施するためのコマンド(118)を含むユーザ(102)によって話された発話(106)に対応するオーディオデータ(402)を受信することと、長期にわたる動作を制御するためのそれぞれのアクションに関連付けられる1つまたは複数のウォームワード(112)のセットを活動化することと、活動化された1つまたは複数のウォームワードのセットをユーザのみに関連付けることとを含む。デジタルアシスタントが長期にわたる動作を実施している間に、方法は、追加の発話に対応する追加のオーディオデータを受信することと、活動化されたウォームワードのセットからのウォームワードのうちの1つを識別することと、追加のオーディオデータに関する話者検証(400)を実施することを含む。方法は、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられる同一のユーザによって話されたとき、長期にわたる動作を制御するためのウォームワードのうちの識別された1つに関連付けられるそれぞれのアクションを実施することをさらに含む。
【特許請求の範囲】
【請求項1】
話者依存ウォームワード(112)を活動化するための方法(500)であって、
データ処理ハードウェア(10)において、ユーザによって話され、前記ユーザに関連するアシスタント対応デバイス(104)によって取り込まれた発話に対応するオーディオデータ(402)を受信するステップであって、前記発話が、デジタルアシスタント(105)が長期にわたる動作を実施するためのコマンド(118)を含む、ステップと、
前記発話に対応する前記オーディオデータ(402)を受信した後、
前記データ処理ハードウェア(10)により、前記長期にわたる動作を制御するためのそれぞれのアクションにそれぞれ関連付けられる1つまたは複数のウォームワード(112)のセットを活動化するステップと、
データ処理ハードウェア(10)により、活動化された1つまたは複数のウォームワード(112)のセットを、前記発話を話した前記ユーザのみに関連付けるステップと、
前記デジタルアシスタント(105)が前記長期にわたる動作を実施している間に、
前記データ処理ハードウェア(10)において、前記アシスタント対応デバイス(104)によって取り込まれた追加の発話に対応する追加のオーディオデータ(402)を受信するステップと、
前記データ処理ハードウェア(10)により、前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの1つを識別するステップと、
前記データ処理ハードウェア(10)により、前記追加のオーディオデータ(402)に関する話者検証を実施して、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる同一のユーザ(102)によって話されたかどうかを判定するステップと、
前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたとき、データ処理ハードウェア(10)により、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられる前記それぞれのアクションを実施するステップと
を含む方法(500)。
【請求項2】
1つまたは複数のウォームワード(112)の前記セットを活動化する前記ステップが、前記活動化された1つまたは複数のウォームワード(112)のセット内のそれぞれの対応するウォームワード(112)について、それぞれのウォームワードモデル(114)を活動化して、前記ユーザに関連付けられる前記アシスタント対応デバイス(104)上で実行するステップを含み、
前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの前記1つを識別する前記ステップが、前記ウォームワード(112)のうちの対応する1つについて活動化された前記それぞれのウォームワードモデル(114)を使用して、前記追加のオーディオデータ(402)に関する音声認識を実施することなく、前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを検出するステップを含む、請求項1に記載の方法(500)。
【請求項3】
前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを検出する前記ステップが、
前記追加のオーディオデータ(402)のオーディオ特徴を抽出するステップと、
前記ウォームワード(112)のうちの対応する1つについて活動化された前記それぞれのウォームワードモデル(114)を使用して、抽出されたオーディオ特徴を処理することによってウォームワード信頼スコアを生成するステップと、
前記ウォームワード信頼スコアがウォームワード信頼しきい値を満たすとき、前記追加の発話に対応する前記追加のオーディオデータ(402)が前記ウォームワード(112)のうちの対応する1つを含むと判定するステップと
を含む、請求項2に記載の方法(500)。
【請求項4】
1つまたは複数のウォームワード(112)の前記セットを活動化する前記ステップが、前記アシスタント対応デバイス(104)上で音声認識器(116)を実行するステップを含み、前記音声認識器(116)が、前記活動化された1つまたは複数のウォームワード(112)のセット内の前記1つまたは複数のウォームワード(112)を認識するようにバイアスされ、
前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの前記1つを識別する前記ステップが、前記アシスタント対応デバイス(104)上で実行中の前記音声認識器(116)を使用して、前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを認識するステップを含む、請求項1から3のいずれか一項に記載の方法(500)。
【請求項5】
前記ユーザによって話された前記発話に対応する前記オーディオデータ(402)を受け取った後、前記データ処理ハードウェア(10)により、
前記ユーザによって話された前記発話に対応する前記オーディオデータ(402)から、前記ユーザによって話された前記発話の特徴を表す第1の話者弁別ベクトル(411)を抽出するステップと、
抽出された前記話者弁別ベクトルが、前記アシスタント対応デバイス(104)上に記憶された何らかの登録済み話者ベクトル(154)に合致するかどうかを判定するステップであって、各登録済み話者ベクトル(154)が、前記アシスタント対応デバイス(104)の異なるそれぞれの登録済みユーザ(200)に関連付けられる、ステップと、
前記第1の話者弁別ベクトル(411)が前記登録済み話者ベクトル(154)のうちの1つに合致するとき、前記発話を話した前記ユーザを、抽出された前記話者弁別ベクトルに合致する前記登録済み話者ベクトル(154)のうちの1つに関連付けられるそれぞれの登録済みユーザ(200)として識別するステップと
によって、前記オーディオデータ(402)に関する話者識別を実施して、前記発話を話した前記ユーザを識別することを実施するステップをさらに含む、請求項1から4のいずれか一項に記載の方法(500)。
【請求項6】
前記ユーザによって話された前記発話が、前記デジタルアシスタント(105)が前記長期にわたる動作を実施するための前記コマンド(118)に先行するホットワード(110)をさらに含み、
前記第1の話者弁別ベクトル(411)が、前記ホットワード(110)を含む前記オーディオデータ(402)の部分から抽出されたテキスト依存話者弁別ベクトルを含み、
各登録済み話者ベクトル(154)が、前記ホットワード(110)を話す前記それぞれの登録済みユーザ(200)の1つまたは複数のオーディオサンプルから抽出されたテキスト依存登録済み話者ベクトル(154)を含む、請求項5に記載の方法(500)。
【請求項7】
前記追加のオーディオデータ(402)に関する前記話者検証を実施する前記ステップが、
前記ウォームワード(112)のうちの前記1つの前記追加の発話に対応する前記追加のオーディオデータ(402)から、前記追加の発話の特徴を表す第2の話者弁別ベクトルを抽出するステップと、
抽出された前記第2の話者弁別ベクトルが、前記発話を話した前記ユーザとして識別された前記それぞれの登録済みユーザ(200)についての基準話者ベクトル(155)に合致するかどうかを判定するステップと、
抽出された前記第2の話者弁別ベクトルが前記基準話者ベクトル(155)に合致するとき、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたと判定するステップと
を含む、請求項5または6に記載の方法(500)。
【請求項8】
前記基準話者ベクトル(155)が、前記それぞれの登録済みユーザ(200)に関連付けられる前記登録済み話者ベクトル(154)を含む、請求項7に記載の方法(500)。
【請求項9】
前記基準話者ベクトル(155)が、前記ウォームワード(112)のうちの識別された1つを話す前記それぞれの登録済みユーザ(200)の1つまたは複数のオーディオサンプルから抽出されたテキスト依存話者ベクトル(158)を含む、請求項7に記載の方法(500)。
【請求項10】
前記第1の話者弁別ベクトル(411)が前記登録済み話者ベクトル(154)のいずれにも合致しないとき、前記発話を話した前記ユーザを前記アシスタント対応デバイス(104)のゲストユーザ(102)として識別するステップ、および
前記追加のオーディオデータ(402)に関する前記話者検証を実施する前記ステップが、
前記追加のオーディオデータ(402)から、前記追加の発話の特徴を表す第2の話者弁別ベクトル(412)を抽出するステップと、
前記第2の話者弁別ベクトル(412)が、前記特徴を表す前記第1の話者弁別ベクトル(411)に合致するかどうかを判定するステップと、
前記第1の話者弁別ベクトルおよび抽出された前記第2の話者弁別ベクトルが合致するとき、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたと判定するステップと
を含む、請求項5から9のいずれか一項に記載の方法(500)。
【請求項11】
前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザとは異なるユーザ(103)によって話されたとき、前記データ処理ハードウェア(10)により、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションの実施を抑制するステップをさらに含む、請求項1から10のいずれか一項に記載の方法(500)。
【請求項12】
前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザとは異なるユーザ(103)によって話されたとき、
前記データ処理ハードウェア(10)により、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザに、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションの実施を許可するようにプロンプト指示するステップと、
前記データ処理ハードウェア(10)において、前記それぞれのアクションの実施を許可する前記ユーザからの確認(119)を受信するステップと、
前記データ処理ハードウェア(10)により、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションを実施するステップと
をさらに含む、請求項1から11のいずれか一項に記載の方法(500)。
【請求項13】
前記ユーザにプロンプト指示する前記ステップが、前記追加の発話を話した前記異なるユーザ(103)を識別するステップを含む、請求項12に記載の方法(500)。
【請求項14】
前記データ処理ハードウェア(10)により、前記デジタルアシスタント(105)が前記長期にわたる動作を実施することを停止したときを判定するステップと、
前記データ処理ハードウェア(10)により、1つまたは複数のウォームワード(112)の前記セットを非活動化するステップと
をさらに含む、請求項1から13のいずれか一項に記載の方法(500)。
【請求項15】
データ処理ハードウェア(10)と、
前記データ処理ハードウェア(10)と通信しているメモリハードウェア(12)であって、前記データ処理ハードウェア(10)上で実行されるとき、前記データ処理ハードウェア(10)に、
ユーザによって話され、前記ユーザに関連するアシスタント対応デバイス(104)によって取り込まれた発話に対応するオーディオデータ(402)を受信することであって、前記発話が、デジタルアシスタント(105)が長期にわたる動作を実施するためのコマンド(118)を含むことと、
前記発話に対応する前記オーディオデータ(402)を受け取った後、
前記長期にわたる動作を制御するためのそれぞれのアクションにそれぞれ関連付けられる1つまたは複数のウォームワード(112)のセットを活動化することと、
活動化された1つまたは複数のウォームワード(112)のセットを、前記発話を話した前記ユーザのみに関連付けることと、
前記デジタルアシスタント(105)が前記長期にわたる動作を実施している間に、
前記アシスタント対応デバイス(104)によって取り込まれた追加の発話に対応する追加のオーディオデータ(402)を受信することと、
前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの1つを識別することと
前記追加のオーディオデータ(402)に関する話者検証を実施して、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる同一のユーザ(102)によって話されたかどうかを判定することと、
前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたとき、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションを実施することと
を含む動作を実施させる命令を記憶する、メモリハードウェア(12)と
を備えるシステム(100)。
【請求項16】
1つまたは複数のウォームワード(112)の前記セットを活動化することが、前記活動化された1つまたは複数のウォームワード(112)のセット内のそれぞれの対応するウォームワード(112)について、それぞれのウォームワードモデル(114)を活動化して、前記ユーザに関連付けられる前記アシスタント対応デバイス(104)上で実行することを含み、
前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの前記1つを識別することが、前記ウォームワード(112)のうちの対応する1つについて活動化された前記それぞれのウォームワードモデル(114)を使用して、前記追加のオーディオデータ(402)に関する音声認識を実施することなく、前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを検出することを含む、請求項15に記載のシステム(100)。
【請求項17】
前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを検出することが、
前記追加のオーディオデータ(402)のオーディオ特徴を抽出することと、
前記ウォームワード(112)のうちの対応する1つについて活動化された前記それぞれのウォームワードモデルを使用して、抽出されたオーディオ特徴を処理することによってウォームワード信頼スコアを生成することと、
前記ウォームワード信頼スコアがウォームワード信頼しきい値を満たすとき、前記追加の発話に対応する前記追加のオーディオデータ(402)が前記ウォームワード(112)のうちの対応する1つを含むと判定することと
を含む、請求項16または17に記載のシステム(100)。
【請求項18】
1つまたは複数のウォームワード(112)の前記セットを活動化することが、前記アシスタント対応デバイス(104)上で音声認識器(116)を実行することを含み、前記音声認識器(116)が、前記活動化された1つまたは複数のウォームワード(112)のセット内の前記1つまたは複数のウォームワード(112)を認識するようにバイアスされ、
前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの前記1つを識別することが、前記アシスタント対応デバイス(104)上で実行中の前記音声認識器(116)を使用して、前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを認識することを含む、請求項15から17のいずれか一項に記載のシステム(100)。
【請求項19】
前記動作が、前記ユーザによって話された前記発話に対応する前記オーディオデータ(402)を受け取った後、
前記ユーザによって話された前記発話に対応する前記オーディオデータ(402)から、前記ユーザによって話された前記発話の特徴を表す第1の話者弁別ベクトル(411)を抽出することと、
抽出された前記話者弁別ベクトルが、前記アシスタント対応デバイス(104)上に記憶された何らかの登録済み話者ベクトル(154)に合致するかどうかを判定することであって、各登録済み話者ベクトル(154)が、前記アシスタント対応デバイス(104)の異なるそれぞれの登録済みユーザ(200)に関連付けられることと、
前記第1の話者弁別ベクトル(411)が前記登録済み話者ベクトル(154)のうちの1つに合致するとき、前記発話を話した前記ユーザを、抽出された前記話者弁別ベクトルに合致する前記登録済み話者ベクトル(154)のうちの1つに関連付けられるそれぞれの登録済みユーザ(200)として識別することと
によって、前記オーディオデータ(402)に関する話者識別を実施して、前記発話を話した前記ユーザを識別することをさらに含む、請求項15から18のいずれか一項に記載のシステム(100)。
【請求項20】
前記ユーザによって話された前記発話が、前記デジタルアシスタント(105)が前記長期にわたる動作を実施するための前記コマンド(118)に先行するホットワード(110)をさらに含み、
前記第1の話者弁別ベクトル(411)が、前記ホットワード(110)を含む前記オーディオデータ(402)の部分から抽出されたテキスト依存話者弁別ベクトルを含み、
各登録済み話者ベクトル(154)が、前記ホットワード(110)を話す前記それぞれの登録済みユーザ(200)の1つまたは複数のオーディオサンプルから抽出されたテキスト依存登録済み話者ベクトル(154)を含む、請求項19に記載のシステム(100)。
【請求項21】
前記追加のオーディオデータ(402)に関する前記話者検証を実施することが、
前記ウォームワード(112)のうちの前記1つの前記追加の発話に対応する前記追加のオーディオデータ(402)から、前記追加の発話の特徴を表す第2の話者弁別ベクトル(412)を抽出することと、
抽出された前記第2の話者弁別ベクトルが、前記発話を話した前記ユーザとして識別された前記それぞれの登録済みユーザ(200)についての基準話者ベクトル(155)に合致するかどうかを判定することと、
抽出された前記第2の話者弁別ベクトル(412)が前記基準話者ベクトル(155)に合致するとき、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたと判定することと
を含む、請求項19または20に記載のシステム(100)。
【請求項22】
前記基準話者ベクトル(155)が、前記それぞれの登録済みユーザ(200)に関連付けられる前記登録済み話者ベクトル(154)を含む、請求項21に記載のシステム(100)。
【請求項23】
前記基準話者ベクトル(155)が、前記ウォームワード(112)のうちの識別された1つを話す前記それぞれの登録済みユーザ(200)の1つまたは複数のオーディオサンプルから抽出されたテキスト依存話者ベクトル(158)を含む、請求項21に記載のシステム(100)。
【請求項24】
前記第1の話者弁別ベクトル(411)が前記登録済み話者ベクトル(154)のいずれにも合致しないとき、前記発話を話した前記ユーザを前記アシスタント対応デバイス(104)のゲストユーザ(102)として識別すること、および
前記追加のオーディオデータ(402)に関する前記話者検証を実施することが、
前記追加のオーディオデータ(402)から、前記追加の発話の特徴を表す第2の話者弁別ベクトル(412)を抽出することと、
前記第2の話者弁別ベクトル(412)が、前記特徴を表す前記第1の話者弁別ベクトル(411)に合致するかどうかを判定することと、
前記第1の話者弁別ベクトルおよび抽出された前記第2の話者弁別ベクトルが合致するとき、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたと判定することと
を含む、請求項19から23のいずれか一項に記載のシステム(100)。
【請求項25】
前記動作が、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザとは異なるユーザ(103)によって話されたとき、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションの実施を抑制することをさらに含む、請求項15から24のいずれか一項に記載のシステム(100)。
【請求項26】
前記動作が、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザとは異なるユーザ(103)によって話されたとき、
前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザに、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションの実施を許可するようにプロンプト指示することと、
前記それぞれのアクションの実施を許可する前記ユーザからの確認(119)を受信することと、
前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションを実施することと
をさらに含む、請求項15から25のいずれか一項に記載のシステム(100)。
【請求項27】
前記ユーザにプロンプト指示することが、前記追加の発話を話した前記異なるユーザ(103)を識別することを含む、請求項26に記載のシステム(100)。
【請求項28】
前記動作が、
前記デジタルアシスタントが前記長期にわたる動作を実施することを停止したときを判定することと、
1つまたは複数のウォームワード(112)の前記セットを非活動化することと
をさらに含む、請求項15から27のいずれか一項に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、話者依存フォローアップアクションおよびウォームワードに関する。
【背景技術】
【0002】
音声対応環境は、ユーザが照会またはコマンドを大声で言うことだけを可能にし、デジタルアシスタントが、照会を処理して照会に回答し、かつ/またはコマンドを実施させる。音声対応環境(たとえば、自宅、職場、学校など)は、環境の様々な部屋および/またはエリア全体にわたって分散した、接続されたマイクロフォンデバイスのネットワークを使用して実装され得る。マイクロフォンのそのようなネットワークを通じて、ユーザは、コンピュータまたは他のデバイスをユーザの前に、さらには近くに置くことを必要とせずに、環境内の本質的にどこからでもデジタルアシスタントに口頭で照会する能力を有する。たとえば、台所で調理中に、ユーザは、デジタルアシスタントに「20分のタイマを設定してください」と要請し得、それに応答して、デジタルアシスタントは、タイマが設定されたことを(たとえば、合成音声出力の形で)確認し、次いで、タイマが20分経過した後にユーザに(たとえば、音響スピーカからのアラームまたは他の可聴アラームの形で)警報する。多くの場合、所与の環境内には、様々なアクションを実施するようにデジタルアシスタントに照会/指令する多くのユーザがいる。こうしたユーザは、ユーザを識別してユーザごとのよりパーソナライズされた体験を実現することができるように、デジタルアシスタントで音声プロファイルを登録し得る。たとえば、デジタルアシスタントの複数の異なるユーザのうちの1人は、「私の音楽プレイリストを再生してください」というコマンドを話し得、それに応答して、デジタルアシスタントは、音声特徴をそのユーザについての音声プロファイルと突き合わせることによって特定のユーザを識別し、次いで音響スピーカを通じてその特定のユーザについての音楽プレイリストをストリーミングし得る。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、話者依存ウォームワードを活動化するための方法を提供する。方法は、データ処理ハードウェアにおいて、ユーザによって話され、ユーザに関連するアシスタント対応デバイスによって取り込まれた発話に対応するオーディオデータを受信することを含む。発話は、デジタルアシスタントが長期にわたる動作を実施するためのコマンドを含む。発話に対応するオーディオデータを受信した後、方法は、データ処理ハードウェアにより、長期にわたる動作を制御するためのそれぞれのアクションに関連付けられる1つまたは複数のウォームワードのセットを活動化することと、データ処理ハードウェアにより、活動化された1つまたは複数のウォームワードのセットを、発話を話したユーザのみに関連付けることとを含む。デジタルアシスタントが長期にわたる動作を実施している間に、方法はまた、データ処理ハードウェアにおいて、アシスタント対応デバイスによって取り込まれた追加の発話に対応する追加のオーディオデータを受信することと、データ処理ハードウェアにより、追加のオーディオデータ内で、活動化された1つまたは複数のウォームワードのセットからのウォームワードのうちの1つを識別することと、データ処理ハードウェアにより、追加のオーディオデータに関する話者検証を実施して、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられる同一のユーザによって話されたかどうかを判定することとを含む。方法は、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられる同一のユーザによって話されたとき、データ処理ハードウェアにより、長期にわたる動作を制御するためのウォームワードのうちの識別された1つに関連付けられるそれぞれのアクションを実施することをさらに含む。
【0004】
本開示の実装は、以下の任意選択の特徴のうちの1つまたは複数を含み得る。いくつかの実装では、1つまたは複数のウォームワードのセットを活動化することは、活動化された1つまたは複数のウォームワードのセット内のそれぞれの対応するウォームワードについて、それぞれのウォームワードモデルを活動化して、ユーザに関連付けられるアシスタント対応デバイス上で実行することを含む。こうした実装では、追加のオーディオデータ内で、活動化された1つまたは複数のウォームワードのセットからのウォームワードのうちの1つを識別することは、ウォームワードのうちの対応する1つについて活動化されたそれぞれのウォームワードモデルを使用して、追加のオーディオデータに関する音声認識を実施することなく、追加のオーディオデータ内のウォームワードのうちの1つを検出することを含む。追加のオーディオデータ内のウォームワードのうちの1つを検出することは、追加のオーディオデータのオーディオ特徴を抽出することと、ウォームワードのうちの対応する1つについて活動化されたそれぞれのウォームワードモデルを使用して、抽出されたオーディオ特徴を処理することによってウォームワード信頼スコアを生成することと、ウォームワード信頼スコアがウォームワード信頼しきい値を満たすとき、追加の発話に対応する追加のオーディオデータがウォームワードのうちの対応する1つを含むと判定することとを含み得る。
【0005】
いくつかの例では、1つまたは複数のウォームワードのセットを活動化することは、アシスタント対応デバイス上で音声認識器を実行することを含む。音声認識器は、活動化された1つまたは複数のウォームワードのセット内の1つまたは複数のウォームワードを認識するようにバイアスされる。こうした例では、追加のオーディオデータ内で、活動化された1つまたは複数のウォームワードのセットからのウォームワードのうちの1つを識別することは、アシスタント対応デバイス上で実行中の音声認識器を使用して、追加のオーディオデータ内のウォームワードのうちの1つを認識することを含む。
【0006】
いくつかの実装では、ユーザによって話された発話に対応するオーディオデータを受信した後、方法はまた、データ処理ハードウェアにより、オーディオデータに関する話者識別を実施して、発話を話したユーザを識別することをも含む。話者識別は、ユーザによって話された発話に対応するオーディオデータから、ユーザによって話された発話の特徴を表す第1の話者弁別ベクトルを抽出することと、抽出された話者弁別ベクトルが、アシスタント対応デバイス上に記憶された何らかの登録済み話者ベクトルに合致するかどうかを判定することとを含む。各登録済み話者ベクトルは、アシスタント対応デバイスの異なるそれぞれの登録済みユーザに関連付けられる。第1の話者弁別ベクトルが登録済み話者ベクトルのうちの1つに合致するとき、方法は、発話を話したユーザを、抽出された話者弁別ベクトルに合致する登録済み話者ベクトルのうちの1つに関連付けられるそれぞれの登録済みユーザとして識別することを含む。こうした実装では、ユーザによって話された発話は、デジタルアシスタントが長期にわたる動作を実施するためのコマンドに先行するホットワードをさらに含み、第1の話者弁別ベクトルは、ホットワードを含むオーディオデータの部分から抽出されたテキスト依存話者弁別ベクトルを含み、各登録済み話者ベクトルは、ホットワードを話すそれぞれの登録済みユーザの1つまたは複数のオーディオサンプルから抽出されたテキスト依存登録済み話者ベクトルを含む。追加の実装では、追加のオーディオデータに関する話者検証を実施することは、ウォームワードのうちの1つの追加の発話に対応する追加のオーディオデータから、追加の発話の特徴を表す第2の話者弁別ベクトルを抽出することと、抽出された第2の話者弁別ベクトルが、発話を話したユーザとして識別されたそれぞれの登録済みユーザについての基準話者ベクトルに合致するかどうかを判定することとを含む。ここでは、抽出された第2の話者弁別ベクトルが基準話者ベクトルに合致するとき、方法は、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられる同一のユーザによって話されたと判定することを含む。こうした実装では、基準話者ベクトルは、それぞれの登録済みユーザに関連付けられる登録済み話者ベクトルを含み得る。追加または代替として、基準話者ベクトルは、ウォームワードのうちの識別された1つを話すそれぞれの登録済みユーザの1つまたは複数のオーディオサンプルから抽出されたテキスト依存話者ベクトルを含む。
【0007】
いくつかの例では、第1の話者弁別ベクトルが登録済み話者ベクトルのいずれにも合致しないとき、発話を話したユーザをアシスタント対応デバイスのゲストユーザとして識別すること、および追加のオーディオデータに関する話者検証を実施することは、追加のオーディオデータから、追加の発話の特徴を表す第2の話者弁別ベクトルを抽出することと、第2の話者弁別ベクトルが、特徴を表す第1の話者弁別ベクトルに合致するかどうかを判定することとを含む。こうした例では、方法は、第1の話者弁別ベクトルおよび抽出された第2の話者弁別ベクトルが合致するとき、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられる同一のユーザによって話されたと判定することを含む。追加の実装では、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられるユーザとは異なるユーザによって話されたとき、方法は、データ処理ハードウェアにより、長期にわたる動作を制御するためのウォームワードのうちの識別された1つに関連付けられるそれぞれのアクションの実施を抑制することを含む。
【0008】
いくつかの例では、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられるユーザとは異なるユーザによって話されたとき、方法は、データ処理ハードウェアにより、活動化された1つまたは複数のウォームワードのセットに関連付けられるユーザに、長期にわたる動作を制御するためのウォームワードのうちの識別された1つに関連付けられるそれぞれのアクションの実施を許可するようにプロンプト指示することを含む。方法はまた、データ処理ハードウェアにおいて、それぞれのアクションの実施を許可するユーザからの確認を受信することと、データ処理ハードウェアにより、長期にわたる動作を制御するためのウォームワードのうちの識別された1つに関連付けられるそれぞれのアクションを実施することとを含む。ユーザにプロンプト指示することは、追加の発話を話した異なるユーザを識別することを含み得る。いくつかの実装では、方法は、データ処理ハードウェアにより、デジタルアシスタントが長期にわたる動作を実施することを停止したときを判定することと、データ処理ハードウェアにより、1つまたは複数のウォームワードのセットを非活動化することとをさらに含む。
【0009】
本開示の別の態様は、話者依存ウォームワードを活動化するためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信しているメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェアによって実行されるとき、ユーザによって話され、ユーザに関連するアシスタント対応デバイスによって取り込まれた発話に対応するオーディオデータを受信することを含む動作をデータ処理ハードウェアに実施させる命令を記憶する。発話は、デジタルアシスタントが長期にわたる動作を実施するためのコマンドを含む。発話に対応するオーディオデータを受信した後、動作は、長期にわたる動作を制御するためのそれぞれのアクションに関連付けられる1つまたは複数のウォームワードのセットを活動化することと、活動化された1つまたは複数のウォームワードのセットを、発話を話したユーザのみに関連付けることとを含む。デジタルアシスタントが長期にわたる動作を実施している間に、動作はまた、アシスタント対応デバイスによって取り込まれた追加の発話に対応する追加のオーディオデータを受信することと、追加のオーディオデータ内で、活動化された1つまたは複数のウォームワードのセットからのウォームワードのうちの1つを識別することと、追加のオーディオデータに関する話者検証を実施して、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられる同一のユーザによって話されたかどうかを判定することとを含む。動作は、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられる同一のユーザによって話されたとき、長期にわたる動作を制御するためのウォームワードのうちの識別された1つに関連付けられるそれぞれのアクションを実施することをさらに含む。
【0010】
本開示の実装は、以下の任意選択の特徴のうちの1つまたは複数を含み得る。いくつかの実装では、1つまたは複数のウォームワードのセットを活動化することは、活動化された1つまたは複数のウォームワードのセット内のそれぞれの対応するウォームワードについて、それぞれのウォームワードモデルを活動化して、ユーザに関連付けられるアシスタント対応デバイス上で実行することを含む。こうした実装では、追加のオーディオデータ内で、活動化された1つまたは複数のウォームワードのセットからのウォームワードのうちの1つを識別することは、ウォームワードのうちの対応する1つについて活動化されたそれぞれのウォームワードモデルを使用して、追加のオーディオデータに関する音声認識を実施することなく、追加のオーディオデータ内のウォームワードのうちの1つを検出することを含む。追加のオーディオデータ内のウォームワードのうちの1つを検出することは、追加のオーディオデータのオーディオ特徴を抽出することと、ウォームワードのうちの対応する1つについて活動化されたそれぞれのウォームワードモデルを使用して、抽出されたオーディオ特徴を処理することによってウォームワード信頼スコアを生成することと、ウォームワード信頼スコアがウォームワード信頼しきい値を満たすとき、追加の発話に対応する追加のオーディオデータがウォームワードのうちの対応する1つを含むと判定することとを含み得る。
【0011】
いくつかの例では、1つまたは複数のウォームワードのセットを活動化することは、アシスタント対応デバイス上で音声認識器を実行することを含む。音声認識器は、活動化された1つまたは複数のウォームワードのセット内の1つまたは複数のウォームワードを認識するようにバイアスされる。こうした例では、追加のオーディオデータ内で、活動化された1つまたは複数のウォームワードのセットからのウォームワードのうちの1つを識別することは、アシスタント対応デバイス上で実行中の音声認識器を使用して、追加のオーディオデータ内のウォームワードのうちの1つを認識することを含む。
【0012】
いくつかの実装では、動作は、ユーザによって話された発話に対応するオーディオデータを受信した後、オーディオデータに関する話者識別を実施して、発話を話したユーザを識別することをさらに含む。話者識別は、ユーザによって話された発話に対応するオーディオデータから、ユーザによって話された発話の特徴を表す第1の話者弁別ベクトルを抽出することと、抽出された話者弁別ベクトルが、アシスタント対応デバイス上に記憶された何らかの登録済み話者ベクトルに合致するかどうかを判定することとを含む。各登録済み話者ベクトルは、アシスタント対応デバイスの異なるそれぞれの登録済みユーザに関連付けられる。第1の話者弁別ベクトルが登録済み話者ベクトルのうちの1つに合致するとき、動作は、発話を話したユーザを、抽出された話者弁別ベクトルに合致する登録済み話者ベクトルのうちの1つに関連付けられるそれぞれの登録済みユーザとして識別することを含む。こうした実装では、ユーザによって話された発話は、デジタルアシスタントが長期にわたる動作を実施するためのコマンドに先行するホットワードをさらに含み、第1の話者弁別ベクトルは、ホットワードを含むオーディオデータの部分から抽出されたテキスト依存話者弁別ベクトルを含み、各登録済み話者ベクトルは、ホットワードを話すそれぞれの登録済みユーザの1つまたは複数のオーディオサンプルから抽出されたテキスト依存登録済み話者ベクトルを含む。追加の実装では、追加のオーディオデータに関する話者検証を実施することは、ウォームワードのうちの1つの追加の発話に対応する追加のオーディオデータから、追加の発話の特徴を表す第2の話者弁別ベクトルを抽出することと、抽出された第2の話者弁別ベクトルが、発話を話したユーザとして識別されたそれぞれの登録済みユーザについての基準話者ベクトルに合致するかどうかを判定することとを含む。ここで、抽出された第2の話者弁別ベクトルが基準話者ベクトルに合致するとき、動作は、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられる同一のユーザによって話されたと判定することを含む。こうした実装では、基準話者ベクトルは、それぞれの登録済みユーザに関連付けられる登録済み話者ベクトルを含み得る。追加または代替として、基準話者ベクトルは、ウォームワードのうちの識別された1つを話すそれぞれの登録済みユーザの1つまたは複数のオーディオサンプルから抽出されたテキスト依存話者ベクトルを含む。
【0013】
いくつかの例では、第1の話者弁別ベクトルが登録済み話者ベクトルのいずれにも合致しないとき、発話を話したユーザをアシスタント対応デバイスのゲストユーザとして識別すること、および追加のオーディオデータに関する話者検証を実施することは、追加のオーディオデータから、追加の発話の特徴を表す第2の話者弁別ベクトルを抽出することと、第2の話者弁別ベクトルが、特徴を表す第1の話者弁別ベクトルに合致するかどうかを判定することとを含む。こうした例では、動作は、第1の話者弁別ベクトルおよび抽出された第2の話者弁別ベクトルが合致するとき、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられる同一のユーザによって話されたと判定することを含む。追加の実装では、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられるユーザとは異なるユーザによって話されたとき、動作は、長期にわたる動作を制御するためのウォームワードのうちの識別された1つに関連付けられるそれぞれのアクションの実施を抑制することを含む。
【0014】
いくつかの例では、追加の発話が、活動化された1つまたは複数のウォームワードのセットに関連付けられるユーザとは異なるユーザによって話されたとき、動作は、活動化された1つまたは複数のウォームワードのセットに関連付けられるユーザに、長期にわたる動作を制御するためのウォームワードのうちの識別された1つに関連付けられるそれぞれのアクションの実施を許可するようにプロンプト指示することを含む。動作はまた、それぞれのアクションの実施を許可するユーザからの確認を受信することと、長期にわたる動作を制御するためのウォームワードのうちの識別された1つに関連付けられるそれぞれのアクションを実施することとを含む。ユーザにプロンプト指示することは、追加の発話を話した異なるユーザを識別することを含み得る。いくつかの実装では、動作は、デジタルアシスタントが長期にわたる動作を実施することを停止したときを判定することと、1つまたは複数のウォームワードのセットを非活動化することとをさらに含む。
【0015】
本開示の1つまたは複数の実装の詳細が、添付の図面および以下の説明で述べられる。説明および図面、ならびに特許請求の範囲から、他の態様、特徴、および利点が明らかとなるであろう。
【図面の簡単な説明】
【0016】
【
図1A】話者依存ウォームワードを使用して長期にわたる動作を制御するユーザを含む例示的システムの概略図である。
【
図1B】話者依存ウォームワードを使用して長期にわたる動作を制御するユーザを含む例示的システムの概略図である。
【
図1C】話者依存ウォームワードを使用して長期にわたる動作を制御するユーザを含む例示的システムの概略図である。
【
図2】登録済みユーザデータを記憶する例示的データストアである。
【
図3】ユーザデバイスの画面上にレンダリングされた例示的GUIである。
【
図5】話者依存ウォームワードを活動化するための方法についての動作の例示的構成のフローチャートである。
【
図6】本明細書において説明されるシステムおよび方法を実装するために使用され得る例示的コンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0017】
様々な図面内の同様の参照符号は同様の要素を示す。
【0018】
アシスタント対応デバイスと対話するユーザの方式は、限定はしないが、主に音声入力によるものとなるように設計される。したがって、アシスタント対応デバイスは、周囲の環境内の所与の発話が、環境内の個人に向けられるのではなく、人間ではない音源(たとえば、テレビジョンまたは音楽プレーヤ)から生じているのでもなく、デバイスに向けられるときを区別する何らかの方式を有さなければならない。これを達成するための一方式は、環境内のユーザ間の合意によって、デバイスの注意を呼び起こすために話される所定のワードとして予約されるホットワードを使用することである。例示的環境では、アシスタントの注意を呼び起こすために使用されるホットワードは、「OKコンピュータ」というワードである。したがって、「OKコンピュータ」というワードが話される度に、ワードがマイクロフォンによって捕らえられ、ホットワード検出器に伝達され、ホットワード検出器は音声理解技法を実施して、ホットワードが話されたかどうかを判定し、そうである場合、続くコマンドまたは照会を待つ。したがって、アシスタント対応デバイスに向けられる発話は、[HOTWORD][QUERY]という一般形式を取り、ただし「HOTWORD」は、この例では「OKコンピュータ」であり、「QUERY」は、システム単独で、またはネットワークを介してサーバと共に音声認識され、解析され、それに基づいて行動され得る任意の質問、コマンド、宣言、または他の要求であり得る。
【0019】
ユーザが携帯電話やスマートスピーカなどのアシスタント対応デバイスにいくつかのホットワードベースのコマンドを与えるケースでは、ユーザと電話またはスピーカとの対話はぎこちないものとなり得る。ユーザは、「okコンピュータ、私の宿題プレイリストを再生して」と話し得る。電話またはスピーカは、プレイリスト上の最初の歌の再生を開始し得る。ユーザは、次の歌に進むことを望み、「okコンピュータ、次」と話し得る。さらに別の歌に進むために、ユーザは、再び「okコンピュータ、次」と話し得る。コマンドを話す前にホットワードを繰り返し続ける必要を軽減するために、アシスタント対応デバイスは、限られたホットフレーズまたはウォームワードのセットを認識/検出して、それぞれのアクションを直接的にトリガするように構成され得る。この例では、「次」というウォームワードが、ホットワードとコマンドの2重の目的を果たし、したがってユーザは、「okコンピュータ、次」と発話する代わりに、単に「次」を発話してアシスタント対応デバイスを呼び起こし、それぞれのアクションの実施をトリガし得る。
【0020】
ウォームワードのセットは、長期にわたる動作を制御するためにアクティブとなり得る。本明細書では、長期にわたる動作とは、デジタルアシスタントが延長された持続時間にわたって実施するアプリケーションまたはイベント、およびアプリケーションまたはイベントが進行中にユーザによって制御され得るものを指す。たとえば、デジタルアシスタントが30分間のタイマを設定したとき、タイマは、タイマを設定する時刻から、タイマが終了するまで、または生じる警報がタイマが終了した後に確認されるまでの長期にわたる動作である。この場合、ホットワードを最初に話すことなく単に「タイマを停止して」と話すことによってユーザがタイマを停止することを可能にするように、「タイマを停止して」などのウォームワードがアクティブとなり得る。同様に、デジタルアシスタントが再生デバイスを通じてストリーミング音楽サービスから音楽をストリーミングしている間、ストリーミング音楽サービスから音楽を再生するようにデジタルアシスタントに指令するコマンドが、長期にわたる動作である。この場合、ウォームワードのアクティブなセットは、デジタルアシスタントが再生デバイスを通じてストリーミングしている音楽の再生を制御するための「一時停止」、「音楽を一時停止」、「音量を上げて」、「音量を下げて」、「次」、「前」などであり得る。長期にわたる動作は、「レストランを予約して」などの複数ステップの対話照会を含み得、複数ステップの対話照会では、複数ステップの対話の所与の段階に応じて、ウォームワードの異なるセットがアクティブとなる。たとえば、デジタルアシスタント105は、ユーザに、レストランのリストから選択するようにプロンプト指示し得、それによってリストからレストランを選択するためのそれぞれの識別子(たとえば、レストラン名またはリスト中の番号)を含むウォームワードのセットがアクティブとなり得、そのレストランの予約を行うアクションを完了するようにプロンプト指示し得る。
【0021】
ウォームワードに伴う1つの課題は、品質および効率が低下しないように、同時にアクティブとなるワード/フレーズの数を制限することである。たとえば、アシスタント対応デバイスがアクティブなワードのうちの1つを誤って検出/認識したときを示すいくつかの偽陽性が、同時にアクティブであるウォームワードの数を大幅に増加させる。さらに、長期にわたる動作を開始するためのコマンドを与えるユーザは、長期にわたる動作を制御するためのアクティブなウォームワードを他の人が話すことを妨げることはできない。
【0022】
本明細書の実装は、デジタルアシスタントが長期にわたる動作を実施するためのコマンドを話したユーザに話者依存する、進行中の長期にわたる動作に関連する1つまたは複数のウォームワードのセットを活動化することを対象とする。すなわち、アクティブであるウォームワードが、長期にわたる動作を制御するための初期コマンドの後、ユーザによって話されている可能性が高いことに関連付けられる。したがって、デジタルアシスタントが、ユーザによって命令された長期にわたる動作を実施している間、そのユーザだけが、長期にわたる動作を制御するためのそれぞれのアクションをトリガするためのアクティブなウォームワードのいずれかを話すことを許可される。すなわち、そのユーザ以外の誰かがウォームワードのうちの1つを話す場合、長期にわたる動作を制御するためのそれぞれのアクションの実施が抑制され、またはユーザによる承認を必要とする。換言すれば、ストリーミングオーディオで取り込まれるウォームワードのどんな処理も、デジタルアシスタントが長期にわたる動作を実施するための初期コマンドを発したユーザの声に限定される。ウォームワード検出器および話者識別がアシスタント対応デバイス上で動作し、低電力消費であり得る。
【0023】
ウォームワードが話者依存となるように、アクティブなウォームワードを特定のユーザの声に関連付けることにより、特定のユーザだけがウォームワードを話すことを許可されるので、ウォームワードの検出時のそれぞれのアクションをトリガする精度が改善される。さらに、アシスタント対応デバイスが起動し、潜在的にはサーバに接続する回数が削減され、偽陽性の数が削減されるので、処理コストが改善される。さらに、ユーザによる明示的な許可が与えられない限り、長期にわたる動作の実施を開始するためのユーザのコマンドを他の人が無効にすることはできないので、デジタルアシスタントに伴うユーザの体験が改善される。
【0024】
図1Aおよび
図1Bは、長期にわたる動作を制御するためのそれぞれのアクションに関連付けられるウォームワードを活動化し、長期にわたる動作を制御するための初期コマンドを話したユーザ102にウォームワード112を関連付けるための例示的システム100、100a、100bを示す。簡潔には、以下でより詳細に説明されるように、ユーザ102によって話された「okコンピュータ、音楽を再生して」という発話106に応答して、アシスタント対応デバイス104が音楽122の再生を開始する。アシスタント対応デバイス104がスピーカ18からの再生オーディオとして音楽122の長期にわたる動作を実施している間、アシスタント対応デバイス104は、長期にわたる動作を制御するためのアクション、たとえば音楽122に関連付けられるプレイリスト中の次の歌に進むための命令として、ユーザ102によって話される「次」というアクティブなウォームワード112を検出/認識することができる。
【0025】
システム100a、100bは、ユーザ102が音声を通じて対話し得るデジタルアシスタント105を実行中のアシスタント対応デバイス(AED)104を含む。図示されるこの例では、AED104はスマートスピーカに対応する。しかしながら、AED104は、限定はしないが、スマートフォン、タブレット、スマートディスプレイ、デスクトップ/ラップトップ、スマートウォッチ、スマートアプライアンス、ヘッドフォン、または車両インフォテインメントデバイスなどの他のコンピューティングデバイスを含み得る。AED104は、データ処理ハードウェア10と、データ処理ハードウェア10上で実行されるとき、データ処理ハードウェア10に動作を実施させる命令を記憶するメモリハードウェア12とを含む。AED104は、AED104に向けられる音声などの音響音を取り込むように構成された1つまたは複数のマイクロフォン16のアレイを含む。AED104はまた、デジタルアシスタント105からの音楽122および/または合成音声などのオーディオを出力し得るオーディオ出力デバイス(たとえば、スピーカ)18を含み、またはオーディオ出力デバイス18と通信し得る。
【0026】
図1Aは、ユーザ102がAED104の近傍で「okコンピュータ、音楽を再生して」という発話106を話すことを示す。AED104のマイクロフォン16は発話106を受け取り、発話106に対応するオーディオデータ402を処理する。オーディオデータ402の初期処理は、オーディオデータ402をフィルタリングし、オーディオデータ402をアナログ信号からデジタル信号に変換することを含み得る。AED104がオーディオデータ402を処理した後、AEDは、追加の処理のためにメモリハードウェア12のバッファ内にオーディオデータ402を記憶し得る。バッファ内のオーディオデータ402と共に、AED104は、ホットワード検出器108を使用して、オーディオデータ402がホットワードを含むかどうかを検出し得る。ホットワード検出器108は、オーディオデータ402に関する音声認識を実施することなく、オーディオデータ402含まれるホットワードを識別するように構成される。
【0027】
いくつかの実装では、ホットワード検出器108は、発話106の最初の部分にあるホットワードを識別するように構成される。この例では、ホットワード検出器108がオーディオデータ402内でホットワード110に特有の音響特徴を検出した場合、ホットワード検出器108は、「okコンピュータ、音楽を再生して」という発話106が「okコンピュータ」というホットワード110を含むと判定し得る。音響特徴は、発話106の短期パワースペクトルの表現であるメル周波数ケプストラム係数(MFCC)であり得、または発話106についてのメル尺度フィルタバンクエネルギーであり得る。たとえば、ホットワード検出器108は、オーディオデータ402からMFCCを生成することと、MFCCがホットワード検出器108のホットワードモデル内に記憶された「okコンピュータ」というホットワードに特有のMFCCと類似のMFCCを含むと分類することとに基づいて、「okコンピュータ、音楽を再生して」という発話106が「okコンピュータ」というホットワード110を含むことを検出し得る。別の例として、ホットワード検出器108は、オーディオデータ402からメル尺度フィルタバンクエネルギーを生成することと、メル尺度フィルタバンクエネルギーがホットワード検出器108のホットワードモデル内に記憶された「okコンピュータ」というホットワードに特有のメル尺度フィルタバンクエネルギーに類似のメル尺度フィルタバンクエネルギーを含むと分類することとに基づいて、「okコンピュータ、音楽を再生して」という発話106が「okコンピュータ」というホットワード110を含むことを検出し得る。
【0028】
発話106に対応するオーディオデータ402がホットワード110を含むとホットワード検出器108が判定したとき、AED104は、起動プロセスをトリガして、発話106に対応するオーディオデータ402に関する音声認識を開始し得る。たとえば、AED104上で動作中の音声認識器116が、発話106に対応するオーディオデータ402に関する音声認識または意味解釈を実施し得る。音声認識器116は、ホットワード110に続くオーディオデータ402の部分に関する音声認識を実施し得る。この例では、音声認識器116は、コマンド118内の「音楽を再生して」というワードを識別し得る。
【0029】
いくつかの実装では、音声認識器116は、AED104に加えて、またはAED104の代わりにサーバ120上に配置される。発話106内のホットワード110を検出したことに応答して、ホットワード検出器108がAED104をトリガして起動したとき、AED104は、ネットワーク132を介して、発話106に対応するオーディオデータ402をサーバ120に送信し得る。AED104は、サーバ120がホットワード110の存在を確認するために、ホットワード110を含むオーディオデータ402の部分を送信し得る。代替として、AED104は、ホットワード110の後の発話106の部分に対応するオーディオデータ402の部分のみをサーバ120に送信し得る。サーバ120は、音声認識器116を実行して音声認識を実施し、オーディオデータ402のトランスクリプションをAED104に返す。AED104は発話106内のワードを識別し、AED104は意味解釈を実施して、音声コマンドがある場合にはそれを識別する。AED104(および/またはサーバ120)は、デジタルアシスタント105が「音楽を再生して」という長期にわたる動作を実施するためのコマンドを識別し得る。図示される例では、デジタルアシスタント105は、AED104のスピーカ18からの再生オーディオとして音楽122を再生するという長期にわたる動作の実施を開始する。デジタルアシスタント105は、ストリーミングサービス(図示せず)から音楽122をストリーミングし得、またはデジタルアシスタント105は、AED104上に記憶された音楽を再生するようにAED104に指令し得る。
【0030】
AED104(および/またはサーバ120)は、動作識別器124およびウォームワードセレクタ126を含み得る。動作識別器124は、デジタルアシスタント105が現在実施している1つまたは複数の長期にわたる動作を識別するように構成され得る。デジタルアシスタント105が現在実施しているそれぞれの長期にわたる動作について、ウォームワードセレクタ126は、長期にわたる動作を制御するためのそれぞれのアクションに関連付けられる、対応する1つまたは複数のウォームワード112のセットを選択し得る。いくつかの例では、ウォームワードセレクタ126は、識別された長期にわたる動作を、長期にわたる動作と高い相関がある、対応する1つまたは複数のウォームワード112のセットに関連付ける(たとえば、メモリハードウェア12上に記憶された)レジストリまたはテーブルにアクセスする。たとえば、長期にわたる動作がタイマ設定機能に対応する場合、ウォームワードセレクタ126が活動化するのに利用可能な、関連する1つまたは複数のウォームワード112のセットは、デジタルアシスタント105にタイマを停止するように指令するための「タイマを停止して」というウォームワード112を含む。同様に、「[連絡先名]に電話をかけて」という長期にわたる動作では、関連するウォームワード112のセットは、進行中の電話を終了するための「電話を切って」および/または「電話を終了して」というウォームワード112を含む。図示される例では、音楽122を再生するという長期にわたる動作では、ウォームワードセレクタ126が活動化するのに利用可能な、関連する1つまたは複数のウォームワード112のセットは、AED104のスピーカ18からの音楽122の再生を制御するためのそれぞれのアクションに関連付けられる、「次」、「一時停止」、「前」、「音量を上げて」、および「音量を下げて」というウォームワード112を含む。したがって、デジタルアシスタント105が長期にわたる動作を実施している間、ウォームワードセレクタ126はこうしたウォームワード112を活動化し、長期にわたる動作が終了した後は、こうしたウォームワード112を非活動化し得る。同様に、進行中の長期にわたる動作の状態に応じて、異なるウォームワード112が活動化/非活動化され得る。たとえば、ユーザが音楽122の再生を一時停止するために「一時停止」と話した場合、ウォームワードセレクタ126は、音楽122の再生を再開するために、「再生」のためのウォームワード112を活動化し得る。いくつかの構成では、レジストリにアクセスする代わりに、ウォームワードセレクタ126は、長期にわたる動作のアプリケーション(たとえば、AED104のフォアグラウンドまたはバックグラウンドで動作中の音楽アプリケーション)に関連するコードを検査して、アプリケーションの開発者が、アプリケーションと対話するためにユーザ102が話すことができることを望むウォームワード112がある場合はそのウォームワード112と、各ウォームワード112についてのそれぞれのアクションとを識別する。レジストリ内のウォームワード112はまた、所与の照会に続いてユーザ102(または典型的なユーザ)が発する傾向のあるフォローアップ照会、たとえば「okコンピュータ、次のトラック」に関係する。
【0031】
いくつかの実装では、長期にわたる動作に相関する1つまたは複数のウォームワード112のセットを活動化した後、AED104(またはサーバ120)上で実行中の関連付け器160が、活動化された1つまたは複数のウォームワード112のセットを、デジタルアシスタント105が長期にわたる動作を実施するためのコマンド118を伴う発話106を話したユーザ102のみに関連付ける。すなわち、関連付け器160は、長期にわたる動作を開始するために最初のコマンド118を与えた特定のユーザ102の音声に依存するように、活動化されたウォームワード112のセットを構成する。後で明らかになるように、活動化されたウォームワード112のセットを特定のユーザ102の音声に依存させることにより、アクティブなウォームワードが特定のユーザ102によって話されたとき、AED104は(たとえば、デジタルアシスタント105を介して)、アクティブなウォームワード112のうちの1つに関連付けられるそれぞれのアクションのみを実施することになり、それによって、ウォームワード112が異なる話者によって話されたとき、それぞれのアクションの実施を抑制する(または特定のユーザ102からの承認を少なくとも必要とする)。
【0032】
関連付け器160が、活動化された1つまたは複数のウォームワード112のセットを、コマンド118を開始する発話106を話したユーザ102のみに関連付けるために、関連付け器160はまず、発話106を話したユーザ102の識別を解決しなければならない。いくつかのシナリオでは、ユーザ102が、AED104およびデジタルアシスタント105の様々な機能にアクセスし、またはそれを制御するように許可されるAED104の登録済みユーザ200として識別される。AED104は、AED104の機能に関する特定の許可または権利を示す登録済みユーザアカウントをそれぞれ有する複数の異なる登録済みユーザ200を有し得る。たとえば、AED104は、複数の家族の構成員を有する家庭などのマルチユーザ環境で動作し得、それによってそれぞれの家族の構成員は、異なるそれぞれのリソースのセットにアクセスするための許可を有する登録済みユーザ200に対応する。例示のために、父親が「私の音楽プレイリストを再生して」というコマンドを話すことにより、そのプレイリストがポップミュージックを含む十代の娘などの家庭の別の登録済みユーザ200によって作成され、そのユーザ200に関連付けられる異なる音楽プレイリストではなく、デジタルアシスタント105が父親に関連付けられるロックミュージックプレイリストから音楽をストリーミングすることになる。
【0033】
図2は、AED104の複数の登録済みユーザ200a~nのそれぞれについての登録済みユーザデータ/情報を記憶する例示的データストアを示す。ここでは、AED104の各登録済みユーザ200は、登録済みユーザ200によって話された複数の登録フレーズのオーディオサンプルからそれぞれの登録済み話者ベクトル154を取得するための音声登録プロセスに同意し得る。たとえば、話者弁別モデル410(
図4Aおよび
図4B)が、各登録済みユーザ200によって話された登録フレーズのオーディオサンプルから1つまたは複数の登録済み話者ベクトル154を生成し得、1つまたは複数の登録済み話者ベクトル154が組み合わされ、たとえば平均され、あるいは累積されて、それぞれの登録済み話者ベクトル154が形成される。登録済みユーザ200のうちの1人または複数は、AED104を使用して音声登録プロセスを実施し得、マイクロフォン16が、登録発話を話すこうしたユーザのオーディオサンプルを取り込み、話者弁別モデル410が、オーディオサンプルからそれぞれの登録済み話者ベクトル154を生成する。モデル410は、AED104、サーバ120、またはそれらの組合せの上で実行され得る。さらに、登録済みユーザ200のうちの1人または複数は、既存のユーザアカウントに対する権限および認証証明をAED104に与えることによって、AED104で登録し得る。ここでは、既存のユーザアカウントは、ユーザアカウントにやはりリンクされた別のデバイスに伴う前の音声登録プロセスから取得された登録済み話者ベクトル154を記憶し得る。
【0034】
いくつかの例では、登録済みユーザ200についての登録済み話者ベクトル154は、テキスト依存登録済み話者ベクトルを含む。たとえば、テキスト依存登録済み話者ベクトルは、AED104を呼び起こしてスリープ状態から起動するために使用されるホットワード110(たとえば、「okコンピュータ」)などの所定の用語を話すそれぞれの登録済みユーザ200の1つまたは複数のオーディオサンプルから抽出され得る。他の例では、登録済みユーザ200についての登録済み話者ベクトル154は、異なる用語/ワードを有する、異なる長さのフレーズを話すそれぞれの登録済みユーザ200の1つまたは複数のオーディオサンプルから取得されたテキスト独立のものである。こうした例では、テキスト独立登録済み話者ベクトルは、ユーザ102がAED104または同一のアカウントにリンクされた他のデバイスと行う音声対話から取得されたオーディオサンプルから経時的に取得され得る。
【0035】
図2はまた、任意選択でAED104(および/またはサーバ120)が、特定の用語またはフレーズを話すそれぞれの登録済みユーザ200の1つまたは複数のオーディオサンプルからそれぞれ抽出された1つまたは複数の他のテキスト依存話者ベクトル158を記憶することを示す。たとえば、登録済みユーザ200aは、アクティブなときにAED104に長期にわたる動作を制御するためのそれぞれのアクションを実施させ、または何らかの他のコマンドを実施させるために話され得る1つまたは複数のウォームワード112のそれぞれについてのテキスト依存話者ベクトル158を含み得る。したがって、それぞれの登録済みユーザ200についてのテキスト依存話者ベクトル158は、特定のウォームワード112を話すそれぞれの登録済みユーザ200の音声特徴を表す。
図4Bを参照しながら以下でより詳細に説明されるように、特定のウォームワード112に関連付けられる、それぞれの登録済みユーザ200について記憶されたテキスト依存話者ベクトル158は、長期にわたる動作を制御するためのアクションを実施するようにAED104に命令するために特定のウォームワード112を話すそれぞれの登録済みユーザ200を検証するために使用され得る。
【0036】
図4Aを参照すると、いくつかの例では、関連付け器160は、話者識別プロセス400aを実施することにより、発話106を話したユーザ102の識別を解決する。話者識別プロセス400aはAED104のデータ処理ハードウェア12上で実行され得る。プロセス400aはまた、サーバ120上で実行され得る。話者識別プロセス400aは、ユーザ102によって話された発話106に対応するオーディオデータ402から、発話106の特徴を表す第1の話者弁別ベクトル411をまず抽出することにより、発話106を話したユーザ102を識別する。ここでは、話者識別プロセス400aは、オーディオデータ402を入力として受信し、第1の話者弁別ベクトル411を出力として生成するように構成された話者弁別モデル410を実行し得る。話者弁別モデル410は、話者弁別ベクトル411を出力するように機械または人間の監視下でトレーニングされたニューラルネットワークモデルであり得る。話者弁別モデル410によって出力された話者弁別ベクトル411は、ユーザ102に関連付けられる発話106の音声特徴に対応する値を有するN次元ベクトルを含み得る。いくつかの例では、話者弁別ベクトル411はdベクトルである。いくつかの例では、第1の話者弁別ベクトル411は、活動化されたウォームワードのセットを話すようにやはり許可される異なるユーザにそれぞれ関連付けられる話者弁別ベクトルのセットを含む。たとえば、発話106を話したユーザ102を除いて、他の許可されたユーザには、ユーザ102が長期にわたる動作を発する発話106を話したときに居合わせた他の個人、および/または許可されているとユーザ102が追加/指定した個人が含まれ得る。
【0037】
第1の話者弁別ベクトル411がモデル410から出力された後は、話者識別プロセス400aは、抽出された話者弁別ベクトル411が、AED104の登録済みユーザ200a~n(
図2)についての、AED104上に(たとえば、メモリハードウェア12内に)記憶された登録済み話者ベクトル154のいずれかに合致するかどうかを判定する。
図2を参照しながら上記で説明されたように、話者弁別モデル410は、音声登録プロセスの間に、登録済みユーザ200についての登録済み話者ベクトル154を生成し得る。各登録済み話者ベクトル154は、それぞれの登録済みユーザ200の音声の特徴を表す声紋または一意識別子に対応する基準ベクトルとして使用され得る。
【0038】
いくつかの実装では、話者識別プロセス400aは、第1の話者弁別ベクトル411を、AED104の各登録済みユーザ200a~nに関連付けられるそれぞれの登録済み話者ベクトル154と比較する比較器420を使用する。ここでは、比較器420は、発話106がそれぞれの登録済みユーザ200の識別に対応する可能性を示す各比較についてのスコアを生成し得、スコアがしきい値を満たすとき、識別が受け入れられる。スコアがしきい値を満たさないとき、比較器は識別を拒否し得る。いくつかの実装では、比較器420は、第1の話者弁別ベクトル411と各登録済み話者ベクトル154との間のそれぞれのコサイン距離を計算し、それぞれのコサイン距離がコサイン距離しきい値を満たすとき、第1の話者弁別ベクトル411が登録済み話者ベクトル154のうちの1つに合致すると判定する。
【0039】
いくつかの例では、第1の話者弁別ベクトル411は、ホットワード110を含むオーディオデータの一部から抽出されたテキスト依存話者弁別ベクトルであり、各登録済み話者ベクトル154も、同一のホットワード110にテキスト依存する。テキスト依存話者ベクトルの使用は、第1の話者弁別ベクトル411が登録済み話者ベクトル154のいずれかに合致するかどうかを判定する際の精度を改善し得る。他の例では、第1の話者弁別ベクトル411は、ホットワード110とコマンド118の両方を含むオーディオデータ全体から、またはコマンド118を含むオーディオデータの部分から抽出されたテキスト独立話者弁別ベクトルである。
【0040】
第1の話者弁別ベクトル411が登録済み話者ベクトル154のうちの1つに合致すると話者識別プロセス400aが判定したとき、プロセス400aは、抽出された話者弁別ベクトル411に合致する登録済み話者ベクトル154のうちの1つに関連付けられるそれぞれの登録済みユーザ200として、発話106を話したユーザ102を識別する。図示される例では、比較器420は、第1の話者弁別ベクトル411と、第1の登録済みユーザ200aに関連付けられる登録済み話者ベクトル154との間のそれぞれのコサイン距離がコサイン距離しきい値を満たすことに基づいて合致を判定する。いくつかのシナリオでは、比較器420は、第1の話者弁別ベクトル411から最短のそれぞれのコサイン距離を有する登録済み話者ベクトル154に関連付けられるそれぞれの第1の登録済みユーザ200aとしてユーザ102を識別する。ただし、この最短のそれぞれのコサイン距離もコサイン距離しきい値を満たすことを条件とする。
【0041】
逆に、第1の話者弁別ベクトル411が登録済み話者ベクトル154のうちのいずれにも合致しないと話者識別プロセス400aが判定したとき、プロセス400aは、発話106を話したユーザ102をAED104のゲストユーザとして識別し得る。したがって、関連付け器160は、活動化された1つまたは複数のウォームワード112のセットをゲストユーザに関連付け、ゲストユーザの音声の音声特徴を表す基準話者ベクトルとして第1の話者弁別ベクトル411を使用し得る。いくつかの例では、ゲストユーザはAED104に登録し得、AED104は、新しく登録されたユーザについてのそれぞれの登録済み話者ベクトル154として第1の話者弁別ベクトル411を記憶し得る。
【0042】
図1Aに示される例では、関連付け器160が、活動化された1つまたは複数のウォームワード112のセットを、バーブという名前の第1の登録済みユーザ200aに関連付ける。いくつかの例では、AED104は、活動化された1つまたは複数のウォームワード112のセットに関連付けられる、識別されたユーザ102(たとえば、バーブ)に、ウォームワード112がアクティブであること、および長期にわたる動作を制御するためのそれぞれのアクションを実施するようにAED104に指令するために、ユーザ102がウォームワード112のいずれかを話すことができることを通知する。たとえば、デジタルアシスタント105は、「バーブ、あなたは「okコンピュータ」と言わずに音楽再生制御を話すことができます」と述べる、AED104のスピーカ18からの可聴出力のための合成音声123を生成し得る。追加の例では、デジタルアシスタント105は、長期にわたる動作を制御するためにどのウォームワード112が現在アクティブであるかを識別されたユーザ102(たとえば、バーブ)に通知するために、識別されたユーザのユーザアカウントにリンクされるユーザデバイス50(たとえば、スマートフォン)に通知を提供し得る。
【0043】
ユーザデバイス50上で実行中のグラフィカルユーザインターフェース(GUI)300(
図3)が、長期にわたる動作を制御するためのアクティブなウォームワード112および関連するそれぞれのアクションを表示し得る。各ウォームワード自体は、それぞれのアクションを識別する記述子として働き得る。
図3は、長期にわたる動作を制御するためにそのユーザ102が話すためのどのウォームワード112がアクティブであり、どのウォームワード113が非アクティブであるか、したがってユーザ102によって話されるときに長期にわたる動作を制御するために利用不能であるかをユーザ102に通知するために、ユーザデバイス50の画面上に表示される例示的GUI300を示す。具体的には、GUI300は、「次」、「一時停止」、「前」、「音量を上げて」、「音量を下げて」というアクティブなウォームワード112、および「再生」という非アクティブなウォームワード113をレンダリングする。ユーザ102が音楽の再生を一時停止するとした場合、「再生」についてのウォームワードがアクティブなウォームワード112となり得、「一時停止」についてのウォームワードが非アクティブなウォームワード113となり得る。各ウォームワード112は、AED104のスピーカ18からの音楽122の再生を制御するためのそれぞれのアクションに関連付けられる。
【0044】
さらに、GUI300は、長期にわたる動作の識別子(たとえば、「トラック1を再生中」)、長期にわたる動作を現在実施しているAED104(たとえば、スマートスピーカ)の識別子、および/または長期にわたる動作を開始したアクティブなユーザ102(たとえば、バーブ)の識別を表示するためにレンダリングし得る。いくつかの実装では、アクティブなユーザ102の識別は、アクティブなユーザ102のイメージ304を含む。したがって、アクティブなユーザ102およびアクティブなウォームワード112を識別することによって、GUI300は、長期にわたる動作を制御するためのそれぞれのアクションを実施するために、GUI300内に表示されたアクティブなウォームワード112のいずれかを話し得る、長期にわたる動作の「コントローラ」として、アクティブなユーザ102を明らかにする。前述のように、バーブ102が、長期にわたる動作を開始するために「音楽を再生して」という初期コマンド118を与えたので、アクティブなウォームワード112のセットは、バーブ102の音声に依存する。アクティブなウォームワード112のセットをバーブ102の音声に依存させることにより、アクティブなウォームワード112がバーブ102によって話されたとき、AED104は(たとえば、デジタルアシスタント105を介して)アクティブなウォームワード112のうちの1つに関連付けられるそれぞれのアクションのみを実施することになり、アクティブなウォームワード112が異なる話者によって話されたとき、それぞれのアクションの実施を抑制する(またはバーブ102からの承認を少なくとも必要とする)。
【0045】
ユーザデバイス50はまた、AED104のスピーカ18から音楽122を再生するために、それぞれのアクティブなウォームワード112に関連付けられるそれぞれのアクションを実施するための、GUI300内に表示されるグラフィカル要素302をレンダリングし得る。図示される例では、グラフィカル要素302は、選択されたとき、デバイス50にそれぞれのアクションを実施させる、音楽122を再生するという長期にわたる動作のための再生制御に関連付けられる。たとえば、グラフィカル要素302は、「次」というウォームワード112に関連付けられるアクションを実施し、「一時停止」というウォームワード112に関連付けられるアクションを実施し、「前」というウォームワード112に関連付けられるアクションを実施し、「音量を上げて」というウォームワード112に関連付けられるアクションを実施し、「音量を下げて」というウォームワード112に関連付けられるアクションを実施するための再生制御を含み得る。GUI300は、AED104のスピーカ18からの音楽122の再生を制御するために、タッチ、音声、ジェスチャ、凝視、および/または入力デバイス(たとえば、マウスまたはスタイラス)のいずれか1つを介してユーザ入力指示を受け取り得る。たとえば、ユーザ102は、音楽122に関連付けられるプレイリスト中の次の歌に進むアクションをAED104に実施させるために、(たとえば、「次」を普遍的に表すGUI300内のグラフィカルボタンをタッチすることによって)「次」制御の選択を示すユーザ入力指示を与え得る。
【0046】
図1Aおよび
図1Bに戻ると、ウォームワードセレクタ126によってウォームワードのセットを活動化することにより、AED104は、活動化された1つまたは複数のウォームワード112のセット内のそれぞれの対応するウォームワード112について、それぞれのウォームワードモデル114を活動化してAED104上で実行する。ここで、ウォームワードモデル114は、AED104のメモリハードウェア12上に、またはサーバ120上に記憶され得る。サーバ上に記憶される場合、AED104がウォームワードモデル114を活動化し得るように、AED104は、対応するウォームワード112についてのウォームワードモデル114を検索して、検索されたウォームワードモデル114を提供するようにサーバ120に要求し得る。以下でより詳細に説明されるように、AED104上で動作中のアクティブなウォームワードモデル114が、取り込まれたオーディオに関する音声認識を実施することなく、AED104によって取り込まれたストリーミングオーディオ中の対応するアクティブなウォームワード112の発話146を検出し得る。さらに、単一のウォームワードモデル114が、ストリーミングオーディオ中のアクティブなウォームワード112のすべてを検出することができ得る。したがって、ウォームワードモデル114が、アクティブなウォームワードのセットを検出し得、異なるウォームワードモデル114が、異なるアクティブなウォームワードのセットを検出し得る。
【0047】
追加の実装では、ウォームワードセレクタ126によってウォームワード112のセットを活動化することにより、AED104は、低電力かつ低忠実度状態でAED104上の音声認識器116を実行する。ここで、音声認識器116は、AED104によって取り込まれた発話で話されたときにアクティブである1つまたは複数のウォームワード112のみを認識するように制限またはバイアスされる。音声認識器116は限られた数の用語/フレーズのみを認識しているので、音声認識器116のパラメータの数が劇的に削減され得、それによって、音声内のアクティブなウォームワードを認識するために必要なメモリ要件および計算数が削減される。したがって、音声認識器116の低電力かつ低忠実度の特性は、デジタル信号プロセッサ(DSP)上での実行に適し得る。こうした実装では、AED104上で実行中の音声認識器116は、ウォームワードモデル114を使用する代わりに、AED104によって取り込まれたストリーミングオーディオ中のアクティブなウォームワード112の発話146を認識し得る。
【0048】
図1Bを参照すると、デジタルアシスタント105が音楽122を再生するという長期にわたる動作を実施している間に、ユーザ102は、活動化された1つまたは複数のウォームワード112のセットからのウォームワード112のうちの1つを含む発話146を話す。図示される例では、ユーザ102は「次」というアクティブなウォームワード112を発話する。取り込まれたオーディオに関する音声認識を実施することなく、AED104は、活動化された1つまたは複数のウォームワード112のセットについて活動化されたウォームワードモデル114を適用して、発話146が何らかのアクティブなウォームワード112を含むかどうかを識別し得る。アクティブなウォームワード112は、「次」、「一時停止」、「前」、「音量を上げて」、および「音量を下げて」であり得る。AED104は、発話146に対応するオーディオデータを、「次」、「一時停止」、「前」、「音量を上げて」、および「音量を下げて」というアクティブなウォームワード112に対応する、活動化されたウォームワードモデル114と比較し、オーディオデータに関する音声認識を実施することなく、「次」というウォームワード112について活動化されたウォームワードモデル114が、発話146内の「次」というウォームワード112を検出したと判定する。次の歌に進むための命令に対応する「次」というウォームワード112を識別したことに基づいて、AED104は、発話146に対応するオーディオデータに関する話者検証プロセス400bを実施して、活動化された1つまたは複数のウォームワード112のセットに関連付けられる同一のユーザ102によって発話146が話されたかどうかを判定する。発話146に対応するオーディオデータに関する話者検証プロセス400bが、活動化された1つまたは複数のウォームワード112のセットに関連付けられる同一のユーザ102によって発話146が話されたことを示す場合、AED104は、長期にわたる動作を制御するための識別されたウォームワード112に関連付けられるそれぞれのアクションを実施することに進み得る。逆に、発話146に対応するオーディオデータに関する話者検証プロセス400bが、活動化された1つまたは複数のウォームワード112のセットに関連付けられる同一のユーザ102によって発話146が話されたのではないことを示す場合、AED104は、ウォームワード112が異なる話者によって話されたとき、それぞれのアクションの実施を抑制する(または(たとえば、
図1Cで)特定のユーザ102からの承認を少なくとも必要とする)場合がある。
【0049】
いくつかの実装では、AED104は、活動化された1つまたは複数のウォームワード112のセットの中にないが、そのモデルがまだウォームワードモデル114内に記憶されるウォームワード112を識別する。この場合、AED104は、ウォームワードが活動化された1つまたは複数のウォームワード112のセットの中にない(たとえば、非アクティブである)ことをGUI300内で表示するように、ユーザデバイス50に指示を与え得る。たとえば、ユーザ102は、音楽122が再生中であるときに「再生」と話し得る。AED104は「再生」というウォームワード112を識別し得る。「再生」というウォームワード112は活動化された1つまたは複数のウォームワード112のセットの中にないので、AED104はアクションを実施しない。しかしながら、ユーザデバイス50は、「再生」というウォームワードは非アクティブなウォームワード113であるという指示をGUI300内に表示し、アクティブなウォームワード112が「次」、「一時停止」、「前」、「音量を上げて」、および「音量を下げて」であることを示し得る。
【0050】
ウォームワードモデル114は、発話146に関連付けられるオーディオデータのオーディオ特徴を抽出することにより、関連する発話146が、活動化された1つまたは複数のウォームワード112のセットからのウォームワード112のうちの1つを含むことを検出し得る。活動化されたウォームワードモデル114はそれぞれ、抽出されたオーディオ特徴を処理し、対応するウォームワード信頼スコアをウォームワード信頼しきい値と比較することによって、対応するウォームワード信頼スコアを生成し得る。たとえば、ウォームワードモデル114は、「再生」、「次」、「一時停止」、「前」、「音量を上げて」、および「音量を下げて」というアクティブなウォームワード112のそれぞれについての対応するウォームワード信頼スコアを集合的に生成し得る。いくつかの実装では、音声認識器116は、発話146に関連付けられる、処理されたオーディオデータの各部分についてのウォームワード信頼スコアを生成する。ウォームワード信頼スコアがしきい値を満たす場合、ウォームワードモデル114は、発話146に対応するオーディオデータが、活動化された1つまたは複数のウォームワード112のセットの中のウォームワード112を含むと判定する。たとえば、ウォームワードモデル114(または音声認識器116)によって生成されたウォームワード信頼スコアが0.9であり、ウォームワード信頼しきい値が0.8である場合、AED104は、発話146に対応するオーディオデータがウォームワード112を含むと判定する。
【0051】
いくつかの実装では、ウォームワード信頼スコアがしきい値未満の範囲内にある場合、デジタルアシスタント105は、ユーザ102がウォームワード112を確認または反復することを要求する、AED104のスピーカ18からの可聴出力のための合成音声123を生成し得る。こうした実装では、ユーザ102がウォームワード112を話したことをユーザ102が確認した場合、AEDは、オーディオデータを使用して、対応するウォームワードモデル114を更新し得る。
【0052】
図4Bを参照すると、追加の発話146に対応する追加のオーディオデータ402が活動化されたウォームワード112のセットからのウォームワード112のうちの1つを含むとの識別に応答して、関連付け器160が、話者検証プロセス400bを実施することにより、発話146を話したユーザ102の識別を解決する。話者検証プロセス400bは、AED104のデータ処理ハードウェア12上で実行され得る。プロセス400bはまた、AED104上で実行される代わりに、またはAED104上で実行されることと共に、サーバ120上でも実行され得る。話者検証プロセス400bは、ユーザ102によって話された発話146に対応するオーディオデータ402から、発話146の特徴を表す第2の話者弁別ベクトル412をまず抽出することにより、発話146を話したユーザ102を識別する。ここでは、話者識別プロセス400bは、オーディオデータ402を入力として受信し、第2の話者弁別ベクトル412を出力として生成するように構成された話者弁別モデル410を実行し得る。上記で
図4Aにおいて論じられたように、話者弁別モデル410は、話者弁別ベクトル412を出力するように機械または人間の監視下でトレーニングされたニューラルネットワークモデルであり得る。話者弁別モデル410によって出力された第2の話者弁別ベクトル412は、ユーザ102に関連付けられる発話146の音声特徴に対応する値を有するN次元ベクトルを含み得る。いくつかの例では、話者弁別ベクトル412はdベクトルである。
【0053】
第2の話者弁別ベクトル412が話者弁別器モデル410から出力された後は、話者識別プロセス400bは、抽出された話者弁別ベクトル412が、AED104上に(たとえば、メモリハードウェア12内に)記憶された第1の登録済みユーザ200aに関連付けられる基準話者ベクトル155に合致するかどうかを判定する。第1の登録済みユーザ200aに関連付けられる基準話者ベクトル155は、第1の登録済みユーザ200aに関連付けられるそれぞれの登録済み話者ベクトル154を含み得る。他の例では、基準話者ベクトル155は、発話146に対応する追加のオーディオデータ402内で識別されたアクティブなウォームワード112を話すそれぞれの登録済みユーザ200aの1つまたは複数のオーディオサンプルから抽出されたテキスト依存話者ベクトル158を含む。
【0054】
図2を参照しながら上記で説明されたように、話者弁別モデル410は、音声登録プロセスの間に、登録済みユーザ200についての登録済み話者ベクトル154を生成し得る。各登録済み話者ベクトル154は、それぞれの登録済みユーザ200の音声の特徴を表す声紋または一意識別子に対応する基準ベクトルとして使用され得る。さらに、登録の間、登録済みユーザ200aは、アクティブであるとき、長期にわたる動作を制御するためのそれぞれのアクションをAED104に実施させ、または何らかの他のコマンドを実施させるために話され得る1つまたは複数のウォームワード112のそれぞれについてのテキスト依存話者ベクトル158をトレーニングし得る。たとえば、登録済みユーザ200aについてのテキスト依存話者ベクトル158は、「再生」、「一時停止」、「次」、「前」、「音量を上げて」、および「音量を下げて」というそれぞれのウォームワード112を話す登録済みユーザ200aの音声特徴を表す。
【0055】
いくつかの実装では、話者識別プロセス400bは、第2の話者弁別ベクトル412を、登録済みユーザ200のうちの第1の登録済みユーザ200aに関連付けられる基準話者ベクトル155と比較する比較器420を使用する。ここでは、比較器420は、発話146が第1の登録済みユーザ200aの識別に対応する可能性を示す比較についてのスコアを生成し得、スコアがしきい値を満たすとき、識別が受け入れられる。スコアがしきい値を満たさないとき、比較器420は識別を拒否し得る。いくつかの実装では、比較器420は、第2の話者弁別ベクトル412と、第1の登録済みユーザ200aに関連付けられる基準話者ベクトル155との間のそれぞれのコサイン距離を計算し、それぞれのコサイン距離がコサイン距離しきい値を満たすとき、第2の話者弁別ベクトルが基準話者ベクトル155に合致すると判定する。
【0056】
第2の話者弁別ベクトル412が第1の登録済みユーザ200aに関連付けられる基準話者ベクトル155に合致すると話者検証プロセス400bが判定したとき、プロセス400bは、発話146を話したユーザ102を、基準話者ベクトル155に関連付けられる第1の登録済みユーザ200aとして識別する。図示される例では、比較器420は、第2の話者弁別ベクトル412と、第1の登録済みユーザ200aに関連付けられる基準話者ベクトル155との間のそれぞれのコサイン距離がコサイン距離しきい値を満たすことに基づいて合致を判定する。いくつかのシナリオでは、比較器420は、第2の話者弁別ベクトル412から最短のそれぞれのコサイン距離を有する基準話者ベクトル155に関連付けられるそれぞれの第1の登録済みユーザ200aとしてユーザ102を識別する。ただし、この最短のそれぞれのコサイン距離もコサイン距離しきい値を満たすことを条件とする。
【0057】
上記の
図4Aを参照すると、いくつかの実装では、話者識別プロセス400aは、第1の話者弁別ベクトル411が登録済み話者ベクトル154のいずれにも合致しないと判定し、発話106を話したユーザ102をAED104のゲストユーザとして識別し、活動化された1つまたは複数のウォームワード112のセットをユーザ102に関連付ける。したがって、話者検証プロセス400bは、発話106を話したユーザ102が、話者識別プロセス400aによって登録済みユーザ200として識別されたか、それともゲストユーザとして識別されたかをまず判定し得る。ユーザ102がゲストユーザであるとき、比較器420は、第2の話者弁別ベクトル412を、話者識別プロセス400aの間に取得された第1の話者弁別ベクトル411と比較する。ここでは、第1の話者弁別ベクトル411は、ゲストユーザ102によって話された発話106の特徴を表し、したがって、発話146がゲストユーザ102または別のユーザによって話されたか否かを検証するために基準ベクトルとして使用される。ここでは、比較器420は、発話146がゲストユーザ102の識別に対応する可能性を示す比較についてのスコアを生成し得、スコアがしきい値を満たすとき、識別が受け入れられる。スコアがしきい値を満たさないとき、比較器420は、発話146を話したゲストユーザの識別を拒否し得る。いくつかの実装では、比較器420は、第1の話者弁別ベクトル411と第2の話者弁別ベクトル412との間のそれぞれのコサイン距離を計算し、それぞれのコサイン距離がコサイン距離しきい値を満たすとき、第1の話者弁別ベクトル411が第2の話者弁別ベクトル412に合致すると判定する。
【0058】
図1Bに戻ると、話者検証プロセス400bが発話146の話者を検証したとき、AED104は(たとえば、デジタルアシスタント105を介して)、「次」というアクティブなウォームワード112に関連付けられる次の歌/トラックに進むそれぞれのアクションを実施することに進むだけである。言い換えれば、「次」というワード112が追加の発話146に対応する追加のオーディオ402内で検出された後、AEDは、音楽122に関連付けられるプレイリスト中の次の歌に進む、検出された「次」というウォームワード112に関連付けられるそれぞれのアクションを実施する前に、追加の発話146が、活動化された1つまたは複数のウォームワードのセットに関連付けられる同一のユーザ102によって話されたことを検証しなければならない。話者検証プロセス400bが、追加の発話146が発話106を話した同一の話者によって話されたことを検証することができない場合、「次」というウォームワード112が異なる話者によって話されたとき、AEDは、それぞれのアクションの実施を抑制する(またはユーザ102からの承認を少なくとも必要とする)。
【0059】
次に
図1Cを参照すると、別の例示的システム100cが、デジタルアシスタント105が音楽122を再生するという長期にわたる動作を実施している間に、活動化された1つまたは複数のウォームワード112のセットからの「停止」というアクティブなウォームワード112を含む発話147を別のユーザ103が話すことを示す。発話147に対応するオーディオデータに関する音声認識を実施することなく、AED104は、活動化された1つまたは複数のウォームワード112のセットについて活動化されたウォームワードモデル114とオーディオデータを比較して、発話147が何らかのアクティブなウォームワード112を含むかどうかを識別し得る。アクティブなウォームワード112は、「再生」、「次」、「停止」、「前」、「音量を上げて」、および「音量を下げて」を含み得る。図示される例では、AED104は、オーディオデータ402に関する音声認識を実施することなく、「停止」というウォームワード112について活動化されたウォームワードモデル114が、発話147内の「停止」というウォームワード112を検出したと判定する。「停止」というウォームワード112を識別したことに基づいて、AED104は、発話147に対応するオーディオデータに関する話者検証プロセス400bを実施して、活動化された1つまたは複数のウォームワード112のセットに関連付けられる同一のユーザ102(たとえば、バーブ)によって発話147が話されたかどうかを判定する。
【0060】
図示される例では、発話147に対応するオーディオデータ402に関する話者検証プロセス400bを実施することにより、発話147がバーブ102によって話されたのではないことが示される。たとえば、
図4Bの話者検証プロセス400bの弁別話者ベクトルモデル410が、発話147の特徴を表す第2の話者弁別ベクトル412を生成し得、比較器420は、第2の話者弁別ベクトル412が第1の登録済みユーザ200a(たとえば、バーブ)に関連付けられる基準話者ベクトル155に合致しないと判定し得る。したがって、話者検証プロセス400bは、活動化された1つまたは複数のウォームワード112のセットに関連付けられるユーザ102(たとえば、バーブ)以外の異なるユーザ103によって発話147が話されたと判定する。いくつかの実装では、発話147がその異なるユーザ103によって話されたとき、AED104は、音楽122を再生するという長期にわたる動作を制御するための「停止」という識別されたウォームワード112に関連付けられるそれぞれのアクションの実施を抑制する。別の実装では、発話147がバーブ102以外の誰かによって話されたとの検証プロセス400bの判定に応答して、AED104は、「停止」という識別されたウォームワード112に関連付けられるそれぞれのアクションを実施するためにバーブ102からの承認を要求する。一例として、デジタルアシスタント105は、「停止」というウォームワード112に関連付けられるそれぞれのアクションの実施を許可または拒否するようにバーブ102にプロンプト指示する、AED104のスピーカ18からの可聴出力のための合成音声123を生成することにより、バーブ102からの承認を要求する。たとえば、デジタルアシスタント105は、「バーブ、歌の再生を停止するためのアクションが他の誰かによって要求されましたが、受け入れますか?」と尋ねる、AED104のスピーカ18からの可聴出力のための合成音声123を生成し得る。それに応答して、バーブ112は、確認119を含む発話148を話す。ユーザ102による確認119は、それぞれのアクションの実施を許可する「はい」、またはそれぞれのアクションの実施を拒否する「いいえ」であり得る。
【0061】
図示される例では、バーブ102は、「停止」というウォームワード112に関連付けられるそれぞれのアクションの実施を許可することに対応する「はい」という確認119を発話する。いくつかの実装では、AED104はまた、発話148に対応するオーディオデータに関する話者検証プロセス400bを実施して、活動化された1つまたは複数のウォームワード112のセットに関連付けられる、許可されたユーザ102(たとえば、バーブ)によって確認119が話されたことを検証する。「停止」というそれぞれのアクションの実施を許可するバーブ102からの「はい」という確認119を受け取ったこと、および発話148に対応するオーディオデータに関して実施された話者検証プロセス400bが、発話148がバーブ102によって話されたことを示すことに基づいて、AED104は、長期にわたる動作を制御するための、異なるユーザ103によって話された、識別されたウォームワード「停止」112に関連付けられるそれぞれのアクションを実施することに進み得る。逆に、発話148に対応するオーディオデータに関して実施された話者検証プロセス400bが、発話148がバーブ102によって話されたのではないことを示すとき、またはその代わりに、バーブ102によって話された確認119が「いいえ」であったとき、AED104は、AED104からの音楽再生122が停止することなく続行されるように、「停止」というそれぞれのアクションの実施を抑制し得る。
【0062】
追加または代替として、デジタルアシスタント105は、バーブ102のユーザアカウントにリンクされたユーザデバイス50に、「停止」というウォームワード112に関連付けられるそれぞれのアクションの実施を許可または拒否するようにバーブ102にプロンプト指示する通知を提供し得る。たとえば、ユーザデバイス50上に表示されるGUI300は、バーブ102が「停止」というウォームワード112に関連付けられるそれぞれのアクションの実施を許可または拒否することを可能にするための通知としてプロンプトをレンダリングし得る。一例として、GUI300は、バーブ102がそれぞれのアクションの実施を許可または拒否することを選択し得るグラフィカル要素/ボタンをレンダリングする。たとえば、バーブ102は、(たとえば、GUI300内の「はい」についてのグラフィカル要素をタッチすることによって)「停止」というウォームワード112に関連付けられるそれぞれのアクションの実施を許可することに対応する「はい」という確認119についてのグラフィカル要素/ボタンの選択を示すユーザ入力指示を与え得る。バーブ102による「はい」という確認119についてのグラフィカル要素/ボタンの選択を示すユーザ入力指示の受取りに応答して、AED104は、長期にわたる動作を制御するための、異なるユーザ103によって話された、識別された「停止」というウォームワード112に関連付けられるそれぞれのアクションを実施することに進み得る。逆に、バーブ102は、(たとえば、GUI300内の「いいえ」についてのグラフィカル要素をタッチすることによって)「停止」というウォームワード112に関連付けられるそれぞれのアクションの実施を拒否するために、「いいえ」という確認119についてのグラフィカル要素/ボタンの選択を示すユーザ入力指示を与え、それによってAED104にそれぞれのアクションの実施を抑制させ得る。
【0063】
いくつかの実装では、どのユーザ102、103が発話147を話したかを識別することは、バーブ102がアクションを許可するか、それとも拒否するかを決定する助けとなり得る(たとえば、1人または複数のユーザ102がバーブ102と共に部屋の中にいるとき)。
図1Cに示される例を続けると、「停止」というウォームワード112に関連付けられるそれぞれのアクションの実施を許可または拒否するようにバーブ102にプロンプト指示することは、発話147を話した異なるユーザ103を識別することをさらに含む。ここで、AED104が発話147に対応するオーディオデータ402に関する話者検証プロセス400bを実施するとき、話者検証プロセス400bは、ユーザ103を第2の登録済みユーザ200b(たとえば、エド)として識別し得る。たとえば、プロセス400bは、ユーザ103によって話された発話147の特徴を表す話者弁別ベクトル412が、第2の登録済みユーザ200bについてのAED104上に記憶されたそれぞれの登録済み話者ベクトル154に合致すると判定し得る。したがって、ユーザ103が登録済みユーザ200のうちの1人として識別されるとき、デジタルアシスタント105は、「バーブ、音楽を停止するようにとのエドの要求を許可しますか?エドは音楽再生設定を制御することを許可されていますか?」とユーザ102にプロンプト指示する、AED104のスピーカ18からの可聴出力のための合成音声123を同様に生成し得る。それに応答して、バーブ102は、「はい」という確認119を含む発話148を話す。いくつかの実装では、バーブ102は、音楽122の再生を停止するようにとのエド103の要求を許可するが、エド103による長期にわたる動作の将来の制御を拒否する。バーブ102はまた、所定の期間(たとえば、1時間、1日など)にエド102が長期にわたる動作を制御することを許可する能力を有し得る。
【0064】
図5は、長期にわたる動作に関連付けられる1つまたは複数のウォームワード112のセットを活動化するための方法500についての動作の例示的構成のフローチャートである。動作510において、方法500は、データ処理ハードウェア10において、ユーザ102によって話され、ユーザ102に関連するアシスタント対応デバイス(AED)104によって取り込まれた発話106に対応するオーディオデータ402を受信することを含む。発話106は、デジタルアシスタント105が長期にわたる動作を実施するためのコマンドを含む。長期にわたる動作は、指定の時間量にわたるタイマを設定すること、またはストリーミングサービスから音楽を再生することを含み得る。AED104は、話者識別プロセス400aを実施することにより、発話106を話したユーザ102を識別し得る。
【0065】
動作520において、方法500は、発話106に対応するオーディオデータ402を受信した後、データ処理ハードウェア10により、1つまたは複数のウォームワード112のセットを活動化することと、データ処理ハードウェア10により、活動化された1つまたは複数のウォームワード112のセットを、発話106を話したユーザ102のみに関連付けることとを含む。1つまたは複数のウォームワード112のセット内の各ウォームワード112は、長期にわたる動作を制御するためのそれぞれのアクションに関連付けられる。たとえば、AED104のスピーカ18からの再生オーディオとして音楽122を再生するという長期にわたる動作についてのそれぞれのアクションは、プレイリスト中の前の歌に戻ること、音楽プレイリストを再生すること、音楽プレイリストを一時停止すること、プレイリスト中の次の歌にスキップすること、およびスピーカ18の音量レベルを調節することのうちの1つまたは複数を含み得る。
【0066】
動作530において、方法500はまた、デジタルアシスタント105が長期にわたる動作を実施している間に、データ処理ハードウェア10において、AED104によって取り込まれた追加の発話146に対応する追加のオーディオデータ402を受信することをも含む。AED104は、データ処理ハードウェア10により、追加のオーディオデータ402内で、活動化された1つまたは複数のウォームワード112のセットからのウォームワード112のうちの1つを識別する。AED104は、取り込まれたオーディオに関する音声認識を実施することなく、活動化された1つまたは複数のウォームワード112のセットからのウォームワード112のうちの1つが追加のオーディオデータ402内にあることを識別し得る。たとえば、AED104は、発話106に対応するオーディオデータ402を、活動化された1つまたは複数のウォームワード112のセットに対応する、活動化されたウォームワードモデル114と比較し得る。
【0067】
動作540において、方法500は、データ処理ハードウェア10により、追加のオーディオデータ402に関する話者検証400bを実施して、活動化された1つまたは複数のウォームワード112のセットに関連付けられる同一のユーザ102によって追加の発話146が話されたかどうかを判定することをさらに含む。活動化された1つまたは複数のウォームワード112のセットに関連付けられる同一のユーザ102によって追加の発話146が話されたとき、方法500は、データ処理ハードウェア10により、長期にわたる動作を制御するためのウォームワード112のうちの識別された1つに関連付けられるそれぞれのアクションを実施することを含む。追加の発話146が活動化された1つまたは複数のウォームワード112のセットに関連付けられる同一のユーザ102によって話されたのではないことを話者検証400が示すとき、AED104は、それぞれのアクションの実施を抑制し得る。
【0068】
図6は、本文書で説明されるシステムおよび方法を実装するために使用され得る例示的コンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図される。ここで示される構成要素、その接続および関係、ならびにその機能は、例示的なものに過ぎないことを意味し、本文書で説明および/または特許請求される本発明の実装を限定することを意味しない。
【0069】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、記憶デバイス630と、メモリ620および高速拡張ポート650に接続する高速インターフェース/コントローラ640と、低速バス670および記憶デバイス630に接続する低速インターフェース/コントローラ660とを含む。構成要素610、620、630、640、650、および660のそれぞれは、様々なバスを使用して相互接続され、共通マザーボード上に、または他の方式で適宜取り付けられ得る。プロセッサ610は、高速インターフェース640に結合されたディスプレイ680などの外部入力/出力デバイス上のグラフィカルユーザインターフェース(GUI)のためのグラフィカル情報を表示するために、メモリ620内に、または記憶デバイス630上に記憶された命令を含む、コンピューティングデバイス600内で実行される命令を処理し得る。別の実装では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリと共に適宜使用され得る。さらに、複数のコンピューティングデバイス600が接続され得、各デバイスが必要な動作の各部分を実現する(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0070】
メモリ620は、コンピューティングデバイス600内の情報を非一時的に記憶する。メモリ620は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ620は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)をコンピューティングデバイス600によって使用する目的で一時的または永続的に記憶するために使用される物理デバイスであり得る。不揮発性メモリの例には、限定はしないが、(たとえば、一般にブートプログラムなどのファームウェアのために使用される)フラッシュメモリおよび読取り専用メモリ(ROM)/プログラマブル読取り専用メモリ(PROM)/消去可能プログラマブル読取り専用メモリ(EPROM)/電気消去可能プログラマブル読取り専用メモリ(EEPROM)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、静的ランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが含まれる。
【0071】
記憶デバイス630は、コンピューティングデバイス600用のマスストレージを提供することができる。いくつかの実装では、記憶デバイス630はコンピュータ可読媒体である。様々な異なる実装では、記憶デバイス630は、フロッピィディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の類似のソリッドステートメモリデバイス、あるいはストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイであり得る。追加の実装では、コンピュータプログラム製品は情報キャリアで有形に具体化される。コンピュータプログラム製品は、実行されるとき、前述のような1つまたは複数の方法を実施する命令を含む。情報キャリアは、メモリ620、記憶デバイス630、プロセッサ610上のメモリなどの、コンピュータ可読または機械可読媒体である。
【0072】
高速コントローラ640は、コンピューティングデバイス600についての帯域幅集約的動作を管理し、低速コントローラ660はより低い帯域幅集約的動作を管理する。そのような責務の割振りは例示的なものに過ぎない。いくつかの実装では、高速コントローラ640は、メモリ620に、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ680に、および様々な拡張カード(図示せず)を受け入れ得る高速拡張ポート650に結合される。いくつかの実装では、低速コントローラ660は、記憶デバイス630および低速拡張ポート690に結合される。低速拡張ポート690は、様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入力/出力デバイスに結合され、またはたとえばネットワークアダプタを通じてスイッチやルータなどのネットワーキングデバイスに結合され得る。
【0073】
コンピューティングデバイス600は、図に示されるように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス600は、標準サーバ600aとして実装され、もしくはそのようなサーバ600aのグループ内で複数回実装され、ラップトップコンピュータ600bとして実装され、またはラックサーバシステム600cの部分として実装され得る。
【0074】
本明細書において説明されるシステムおよび技法の様々な実装は、デジタル電子および/または光学回路、集積回路、専用に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せとして実現され得る。これらの様々な実装は、専用または汎用であり、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間でデータおよび命令を受け取り、データおよび命令を送るように結合され得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムとしての実装を含み得る。
【0075】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実施させるコンピュータソフトウェアを指すことがある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「app」、または「プログラム」と呼ばれることがある。例示的アプリケーションには、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システム保守アプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションが含まれる。
【0076】
こうしたコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラマブルプロセッサのための機械語命令を含み、高水準手続型および/またはオブジェクト指向プログラミング言語、ならびに/あるいはアセンブリ/機械語で実装され得る。本明細書では、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械語命令を機械可読信号として受け取る機械可読媒体を含む、プログラマブルプロセッサに機械語命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械語命令および/またはデータを提供するために使用される任意の信号を指す。
【0077】
本明細書において説明されるプロセスおよび論理フローは、入力データに対して作用して出力を生成することによって機能を実施するように1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる1つまたは複数のプログラマブルプロセッサによって実施され得る。プロセスおよび論理フローはまた、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実施され得る。コンピュータプログラムの実行に適したプロセッサには、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般には、プロセッサは、読取り専用メモリまたはランダムアクセスメモリあるいはその両方から命令およびデータを受け取る。コンピュータの不可欠な要素は、命令を実施するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般には、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、光磁気ディスク、または光ディスクをも含み、あるいは大容量記憶デバイスからデータを受け取り、もしくは大容量記憶デバイスにデータを転送し、またはその両方を行うように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体には、例として半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたは取外し可能ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補足され、または専用論理回路内に組み込まれ得る。
【0078】
ユーザとの対話を実現するために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意選択で、ユーザがそれによってコンピュータに入力を与え得るキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールとを有するコンピュータ上で実装され得る。ユーザとの対話を実現するために他の種類のデバイスも使用され得、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受け取られ得る。さらに、コンピュータは、ユーザによって使用されるデバイスに文書を送り、デバイスから文書を受け取ることによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受け取った要求に応答してウェブブラウザにウェブページを送ることによってユーザと対話し得る。
【0079】
いくつかの実装が説明された。それでも、本開示の趣旨および範囲から逸脱することなく様々な修正が行われ得ることを理解されよう。したがって、他の実装は以下の特許請求の範囲内にある。
【符号の説明】
【0080】
10 データ処理ハードウェア
12 メモリハードウェア
16 マイクロフォン
18 スピーカ
50 ユーザデバイス
100 システム
100a システム
100b システム
102 ユーザ
104 アシスタント対応デバイス(AED)
105 デジタルアシスタント
106 発話
108 ホットワード検出器
110 ホットワード
112 ウォームワード
114 ウォームワードモデル
116 音声認識器
118 コマンド
120 サーバ
122 音楽
123 合成音声
124 動作識別器
126 ウォームワードセレクタ
132 ネットワーク
154 登録済み話者ベクトル
158 テキスト依存話者ベクトル
160 関連付け器
200 登録済みユーザ
300 グラフィカルユーザインターフェース(GUI)
400a 話者識別プロセス
400b 話者検証プロセス
402 オーディオデータ
410 話者弁別モデル
411 第1の話者弁別ベクトル
412 第2の話者弁別ベクトル
420 比較器
600 コンピューティングデバイス
600a 標準サーバ
600b ラップトップコンピュータ
600c ラックサーバシステム
610 プロセッサ
620 メモリ
630 記憶デバイス
640 高速インターフェース/コントローラ
650 高速拡張ポート
660 低速インターフェース/コントローラ
670 低速バス
680 ディスプレイ
690 低速拡張ポート
【手続補正書】
【提出日】2023-08-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
話者依存ウォームワード(112)を活動化するための方法(500)であって、
データ処理ハードウェア(10)において、ユーザによって話され、前記ユーザに関連するアシスタント対応デバイス(104)によって取り込まれた発話に対応するオーディオデータ(402)を受信するステップであって、前記発話が、デジタルアシスタント(105)が長期にわたる動作を実施するためのコマンド(118)を含む、ステップと、
前記発話に対応する前記オーディオデータ(402)を受信した後、
前記データ処理ハードウェア(10)により、前記長期にわたる動作を制御するためのそれぞれのアクションにそれぞれ関連付けられる1つまたは複数のウォームワード(112)のセットを活動化するステップと、
前記データ処理ハードウェア(10)により、活動化された1つまたは複数のウォームワード(112)のセットを、前記発話を話した前記ユーザのみに関連付けるステップと、
前記デジタルアシスタント(105)が前記長期にわたる動作を実施している間に、
前記データ処理ハードウェア(10)において、前記アシスタント対応デバイス(104)によって取り込まれた追加の発話に対応する追加のオーディオデータ(402)を受信するステップと、
前記データ処理ハードウェア(10)により、前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの1つを識別するステップと、
前記データ処理ハードウェア(10)により、前記追加のオーディオデータ(402)に関する話者検証を実施して、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる同一のユーザ(102)によって話されたかどうかを判定するステップと、
前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたとき、
前記データ処理ハードウェア(10)により、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられる前記それぞれのアクションを実施するステップと
を含む方法(500)。
【請求項2】
1つまたは複数のウォームワード(112)の前記セットを活動化する前記ステップが、前記活動化された1つまたは複数のウォームワード(112)のセット内のそれぞれの対応するウォームワード(112)について、それぞれのウォームワードモデル(114)を活動化して、前記ユーザに関連付けられる前記アシスタント対応デバイス(104)上で実行するステップを含み、
前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの前記1つを識別する前記ステップが、前記ウォームワード(112)のうちの対応する1つについて活動化された前記それぞれのウォームワードモデル(114)を使用して、前記追加のオーディオデータ(402)に関する音声認識を実施することなく、前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを検出するステップを含む、請求項1に記載の方法(500)。
【請求項3】
前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを検出する前記ステップが、
前記追加のオーディオデータ(402)のオーディオ特徴を抽出するステップと、
前記ウォームワード(112)のうちの対応する1つについて活動化された前記それぞれのウォームワードモデル(114)を使用して、抽出されたオーディオ特徴を処理することによってウォームワード信頼スコアを生成するステップと、
前記ウォームワード信頼スコアがウォームワード信頼しきい値を満たすとき、前記追加の発話に対応する前記追加のオーディオデータ(402)が前記ウォームワード(112)のうちの対応する1つを含むと判定するステップと
を含む、請求項2に記載の方法(500)。
【請求項4】
1つまたは複数のウォームワード(112)の前記セットを活動化する前記ステップが、前記アシスタント対応デバイス(104)上で音声認識器(116)を実行するステップを含み、前記音声認識器(116)が、前記活動化された1つまたは複数のウォームワード(112)のセット内の前記1つまたは複数のウォームワード(112)を認識するようにバイアスされ、
前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの前記1つを識別する前記ステップが、前記アシスタント対応デバイス(104)上で実行中の前記音声認識器(116)を使用して、前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを認識するステップを含む、請求項1から3のいずれか一項に記載の方法(500)。
【請求項5】
前記ユーザによって話された前記発話に対応する前記オーディオデータ(402)を受け取った後、前記データ処理ハードウェア(10)により、
前記ユーザによって話された前記発話に対応する前記オーディオデータ(402)から、前記ユーザによって話された前記発話の特徴を表す第1の話者弁別ベクトル(411)を抽出するステップと、
抽出された前記話者弁別ベクトルが、前記アシスタント対応デバイス(104)上に記憶された何らかの登録済み話者ベクトル(154)に合致するかどうかを判定するステップであって、各登録済み話者ベクトル(154)が、前記アシスタント対応デバイス(104)の異なるそれぞれの登録済みユーザ(200)に関連付けられる、ステップと、
前記第1の話者弁別ベクトル(411)が前記登録済み話者ベクトル(154)のうちの1つに合致するとき、前記発話を話した前記ユーザを、抽出された前記話者弁別ベクトルに合致する前記登録済み話者ベクトル(154)のうちの1つに関連付けられるそれぞれの登録済みユーザ(200)として識別するステップと
によって、前記オーディオデータ(402)に関する話者識別を実施して、前記発話を話した前記ユーザを識別することを実施するステップをさらに含む、請求項1から4のいずれか一項に記載の方法(500)。
【請求項6】
前記ユーザによって話された前記発話が、前記デジタルアシスタント(105)が前記長期にわたる動作を実施するための前記コマンド(118)に先行するホットワード(110)をさらに含み、
前記第1の話者弁別ベクトル(411)が、前記ホットワード(110)を含む前記オーディオデータ(402)の部分から抽出されたテキスト依存話者弁別ベクトルを含み、
各登録済み話者ベクトル(154)が、前記ホットワード(110)を話す前記それぞれの登録済みユーザ(200)の1つまたは複数のオーディオサンプルから抽出されたテキスト依存登録済み話者ベクトル(154)を含む、請求項5に記載の方法(500)。
【請求項7】
前記追加のオーディオデータ(402)に関する前記話者検証を実施する前記ステップが、
前記ウォームワード(112)のうちの前記1つの前記追加の発話に対応する前記追加のオーディオデータ(402)から、前記追加の発話の特徴を表す第2の話者弁別ベクトルを抽出するステップと、
抽出された前記第2の話者弁別ベクトルが、前記発話を話した前記ユーザとして識別された前記それぞれの登録済みユーザ(200)についての基準話者ベクトル(155)に合致するかどうかを判定するステップと、
抽出された前記第2の話者弁別ベクトルが前記基準話者ベクトル(155)に合致するとき、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたと判定するステップと
を含む、請求項5または6に記載の方法(500)。
【請求項8】
前記基準話者ベクトル(155)が、前記それぞれの登録済みユーザ(200)に関連付けられる前記登録済み話者ベクトル(154)を含む、請求項7に記載の方法(500)。
【請求項9】
前記基準話者ベクトル(155)が、前記ウォームワード(112)のうちの識別された1つを話す前記それぞれの登録済みユーザ(200)の1つまたは複数のオーディオサンプルから抽出されたテキスト依存話者ベクトル(158)を含む、請求項7に記載の方法(500)。
【請求項10】
前記第1の話者弁別ベクトル(411)が前記登録済み話者ベクトル(154)のいずれにも合致しないとき、前記発話を話した前記ユーザを前記アシスタント対応デバイス(104)のゲストユーザ(102)として識別するステップ、および
前記追加のオーディオデータ(402)に関する前記話者検証を実施する前記ステップが、
前記追加のオーディオデータ(402)から、前記追加の発話の特徴を表す第2の話者弁別ベクトル(412)を抽出するステップと、
前記第2の話者弁別ベクトル(412)が、前記特徴を表す前記第1の話者弁別ベクトル(411)に合致するかどうかを判定するステップと、
前記第1の話者弁別ベクトルおよび抽出された前記第2の話者弁別ベクトルが合致するとき、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたと判定するステップと
を含む、請求項5から9のいずれか一項に記載の方法(500)。
【請求項11】
前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザとは異なるユーザ(103)によって話されたとき、前記データ処理ハードウェア(10)により、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションの実施を抑制するステップをさらに含む、請求項1から10のいずれか一項に記載の方法(500)。
【請求項12】
前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザとは異なるユーザ(103)によって話されたとき、
前記データ処理ハードウェア(10)により、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザに、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションの実施を許可するようにプロンプト指示するステップと、
前記データ処理ハードウェア(10)において、前記それぞれのアクションの実施を許可する前記ユーザからの確認(119)を受信するステップと、
前記データ処理ハードウェア(10)により、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションを実施するステップと
をさらに含む、請求項1から11のいずれか一項に記載の方法(500)。
【請求項13】
前記ユーザにプロンプト指示する前記ステップが、前記追加の発話を話した前記異なるユーザ(103)を識別するステップを含む、請求項12に記載の方法(500)。
【請求項14】
前記データ処理ハードウェア(10)により、前記デジタルアシスタント(105)が前記長期にわたる動作を実施することを停止したときを判定するステップと、
前記データ処理ハードウェア(10)により、1つまたは複数のウォームワード(112)の前記セットを非活動化するステップと
をさらに含む、請求項1から13のいずれか一項に記載の方法(500)。
【請求項15】
データ処理ハードウェア(10)と、
前記データ処理ハードウェア(10)と通信しているメモリハードウェア(12)であって、前記データ処理ハードウェア(10)上で実行されるとき、前記データ処理ハードウェア(10)に、
ユーザによって話され、前記ユーザに関連するアシスタント対応デバイス(104)によって取り込まれた発話に対応するオーディオデータ(402)を受信することであって、前記発話が、デジタルアシスタント(105)が長期にわたる動作を実施するためのコマンド(118)を含むことと、
前記発話に対応する前記オーディオデータ(402)を受け取った後、
前記長期にわたる動作を制御するためのそれぞれのアクションにそれぞれ関連付けられる1つまたは複数のウォームワード(112)のセットを活動化することと、
活動化された1つまたは複数のウォームワード(112)のセットを、前記発話を話した前記ユーザのみに関連付けることと、
前記デジタルアシスタント(105)が前記長期にわたる動作を実施している間に、
前記アシスタント対応デバイス(104)によって取り込まれた追加の発話に対応する追加のオーディオデータ(402)を受信することと、
前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの1つを識別することと
前記追加のオーディオデータ(402)に関する話者検証を実施して、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる同一のユーザ(102)によって話されたかどうかを判定することと、
前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたとき、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションを実施することと
を含む動作を実施させる命令を記憶する、メモリハードウェア(12)と
を備えるシステム(100)。
【請求項16】
1つまたは複数のウォームワード(112)の前記セットを活動化することが、前記活動化された1つまたは複数のウォームワード(112)のセット内のそれぞれの対応するウォームワード(112)について、それぞれのウォームワードモデル(114)を活動化して、前記ユーザに関連付けられる前記アシスタント対応デバイス(104)上で実行することを含み、
前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの前記1つを識別することが、前記ウォームワード(112)のうちの対応する1つについて活動化された前記それぞれのウォームワードモデル(114)を使用して、前記追加のオーディオデータ(402)に関する音声認識を実施することなく、前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを検出することを含む、請求項15に記載のシステム(100)。
【請求項17】
前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを検出することが、
前記追加のオーディオデータ(402)のオーディオ特徴を抽出することと、
前記ウォームワード(112)のうちの対応する1つについて活動化された前記それぞれのウォームワードモデルを使用して、抽出されたオーディオ特徴を処理することによってウォームワード信頼スコアを生成することと、
前記ウォームワード信頼スコアがウォームワード信頼しきい値を満たすとき、前記追加の発話に対応する前記追加のオーディオデータ(402)が前記ウォームワード(112)のうちの対応する1つを含むと判定することと
を含む、請求項1
6に記載のシステム(100)。
【請求項18】
1つまたは複数のウォームワード(112)の前記セットを活動化することが、前記アシスタント対応デバイス(104)上で音声認識器(116)を実行することを含み、前記音声認識器(116)が、前記活動化された1つまたは複数のウォームワード(112)のセット内の前記1つまたは複数のウォームワード(112)を認識するようにバイアスされ、
前記追加のオーディオデータ(402)内で、前記活動化された1つまたは複数のウォームワード(112)のセットからの前記ウォームワード(112)のうちの前記1つを識別することが、前記アシスタント対応デバイス(104)上で実行中の前記音声認識器(116)を使用して、前記追加のオーディオデータ(402)内の前記ウォームワード(112)のうちの前記1つを認識することを含む、請求項15から17のいずれか一項に記載のシステム(100)。
【請求項19】
前記動作が、前記ユーザによって話された前記発話に対応する前記オーディオデータ(402)を受け取った後、
前記ユーザによって話された前記発話に対応する前記オーディオデータ(402)から、前記ユーザによって話された前記発話の特徴を表す第1の話者弁別ベクトル(411)を抽出することと、
抽出された前記話者弁別ベクトルが、前記アシスタント対応デバイス(104)上に記憶された何らかの登録済み話者ベクトル(154)に合致するかどうかを判定することであって、各登録済み話者ベクトル(154)が、前記アシスタント対応デバイス(104)の異なるそれぞれの登録済みユーザ(200)に関連付けられることと、
前記第1の話者弁別ベクトル(411)が前記登録済み話者ベクトル(154)のうちの1つに合致するとき、前記発話を話した前記ユーザを、抽出された前記話者弁別ベクトルに合致する前記登録済み話者ベクトル(154)のうちの1つに関連付けられるそれぞれの登録済みユーザ(200)として識別することと
によって、前記オーディオデータ(402)に関する話者識別を実施して、前記発話を話した前記ユーザを識別することをさらに含む、請求項15から18のいずれか一項に記載のシステム(100)。
【請求項20】
前記ユーザによって話された前記発話が、前記デジタルアシスタント(105)が前記長期にわたる動作を実施するための前記コマンド(118)に先行するホットワード(110)をさらに含み、
前記第1の話者弁別ベクトル(411)が、前記ホットワード(110)を含む前記オーディオデータ(402)の部分から抽出されたテキスト依存話者弁別ベクトルを含み、
各登録済み話者ベクトル(154)が、前記ホットワード(110)を話す前記それぞれの登録済みユーザ(200)の1つまたは複数のオーディオサンプルから抽出されたテキスト依存登録済み話者ベクトル(154)を含む、請求項19に記載のシステム(100)。
【請求項21】
前記追加のオーディオデータ(402)に関する前記話者検証を実施することが、
前記ウォームワード(112)のうちの前記1つの前記追加の発話に対応する前記追加のオーディオデータ(402)から、前記追加の発話の特徴を表す第2の話者弁別ベクトル(412)を抽出することと、
抽出された前記第2の話者弁別ベクトルが、前記発話を話した前記ユーザとして識別された前記それぞれの登録済みユーザ(200)についての基準話者ベクトル(155)に合致するかどうかを判定することと、
抽出された前記第2の話者弁別ベクトル(412)が前記基準話者ベクトル(155)に合致するとき、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたと判定することと
を含む、請求項19または20に記載のシステム(100)。
【請求項22】
前記基準話者ベクトル(155)が、前記それぞれの登録済みユーザ(200)に関連付けられる前記登録済み話者ベクトル(154)を含む、請求項21に記載のシステム(100)。
【請求項23】
前記基準話者ベクトル(155)が、前記ウォームワード(112)のうちの識別された1つを話す前記それぞれの登録済みユーザ(200)の1つまたは複数のオーディオサンプルから抽出されたテキスト依存話者ベクトル(158)を含む、請求項21に記載のシステム(100)。
【請求項24】
前記第1の話者弁別ベクトル(411)が前記登録済み話者ベクトル(154)のいずれにも合致しないとき、前記発話を話した前記ユーザを前記アシスタント対応デバイス(104)のゲストユーザ(102)として識別すること、および
前記追加のオーディオデータ(402)に関する前記話者検証を実施することが、
前記追加のオーディオデータ(402)から、前記追加の発話の特徴を表す第2の話者弁別ベクトル(412)を抽出することと、
前記第2の話者弁別ベクトル(412)が、前記特徴を表す前記第1の話者弁別ベクトル(411)に合致するかどうかを判定することと、
前記第1の話者弁別ベクトルおよび抽出された前記第2の話者弁別ベクトルが合致するとき、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記同一のユーザ(102)によって話されたと判定することと
を含む、請求項19から23のいずれか一項に記載のシステム(100)。
【請求項25】
前記動作が、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザとは異なるユーザ(103)によって話されたとき、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションの実施を抑制することをさらに含む、請求項15から24のいずれか一項に記載のシステム(100)。
【請求項26】
前記動作が、前記追加の発話が、前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザとは異なるユーザ(103)によって話されたとき、
前記活動化された1つまたは複数のウォームワード(112)のセットに関連付けられる前記ユーザに、前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションの実施を許可するようにプロンプト指示することと、
前記それぞれのアクションの実施を許可する前記ユーザからの確認(119)を受信することと、
前記長期にわたる動作を制御するための前記ウォームワード(112)のうちの識別された1つに関連付けられるそれぞれのアクションを実施することと
をさらに含む、請求項15から25のいずれか一項に記載のシステム(100)。
【請求項27】
前記ユーザにプロンプト指示することが、前記追加の発話を話した前記異なるユーザ(103)を識別することを含む、請求項26に記載のシステム(100)。
【請求項28】
前記動作が、
前記デジタルアシスタントが前記長期にわたる動作を実施することを停止したときを判定することと、
1つまたは複数のウォームワード(112)の前記セットを非活動化することと
をさらに含む、請求項15から27のいずれか一項に記載のシステム(100)。
【国際調査報告】