(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-15
(45)【発行日】2024-11-25
(54)【発明の名称】話者識別精度
(51)【国際特許分類】
G10L 17/02 20130101AFI20241118BHJP
【FI】
G10L17/02
(21)【出願番号】P 2023523161
(86)(22)【出願日】2021-10-13
(86)【国際出願番号】 US2021054755
(87)【国際公開番号】W WO2022081688
(87)【国際公開日】2022-04-21
【審査請求日】2023-06-13
(32)【優先日】2020-10-15
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】イェンミン・ファン
(72)【発明者】
【氏名】チュアン・ワン
(72)【発明者】
【氏名】ペドロ・ジェイ・モレノ・メンヒバル
(72)【発明者】
【氏名】イグナシオ・ロペス・モレーノ
(72)【発明者】
【氏名】ガン・フェン
(72)【発明者】
【氏名】ファン・チュ
(72)【発明者】
【氏名】ジン・シ
(72)【発明者】
【氏名】ジェイソン・ウィリアム・ペレケーノス
【審査官】中村 天真
(56)【参考文献】
【文献】特開2020-067566(JP,A)
【文献】特開2005-309138(JP,A)
【文献】国際公開第2008/111190(WO,A1)
【文献】特表2020-515905(JP,A)
【文献】特開2007-010995(JP,A)
【文献】特開2017-116876(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 17/00-17/26
G06V 40/00-40/70
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア(410)において、第1の話者(10a)から第1のオーディオサンプル(202)を受信し、第2の話者(10b)から第2のオーディオサンプル(202)を受信するステップと、
前記第1のオーディオサンプル(202)および前記第2のオーディオサンプル(202)のオーディオサンプル(202)ごとに、
前記データ処理ハードウェア(410)によって、それぞれの前記オーディオサンプル(202)を複数のオーディオスライス(214)に分割するステップと、
前記データ処理ハードウェア(410)によって、前記複数のオーディオスライス(214)に基づいて、候補音響埋込み(232)のセットを生成するステップであって、各候補音響埋込み(232)が音響特徴のベクトル表現を備える、ステップと、
前記データ処理ハードウェア(410)によって、候補音響埋込み(232)の前記セットにおける候補音響埋込み(232)ごとに、
前記セットを評価するためのスコアを決定するステップと、
前記データ処理ハードウェア(410)によって、候補音響埋込み(232)の前記セットから前記候補音響埋込み(232)のサブセットを、前
記スコアのしきい値に基づいて除去するステップであって、前
記スコアのしきい値は、前記セットから前記サブセットを除去した残りの候補音響埋込み(232)の数によって変動し得る、ステップと、
前記データ処理ハードウェア(410)によって、前記候補音響埋込み(232)の前記サブセットを除去するステップの後、候補音響埋込み(232)の前記セット内の残りの前記候補音響埋込み(232)から総音響埋込み(234)を生成するステップと、
前記データ処理ハードウェア(410)によって、前記第1のオーディオサンプル(202)および前記第2のオーディオサンプル(202)のオーディオサンプル(202)ごとに生成された前記総音響埋込み(234)に基づいて、前記第1の話者(10a)と前記第2の話者(10b)が同じ話者(10)であるか異なる話者(10)であるかを識別するステップと
を備える、方法(300)。
【請求項2】
各候補音響埋込み(232)が、それぞれのdベクトルを備える、請求項1に記載の方法(300)。
【請求項3】
前記データ処理ハードウェア(410)によって、前記第1の話者(10a)からの前記第1のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)が、前記第2の話者(10b)からの前記第2のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)に対応するかどうかを決定するステップと、
前記第1の話者(10a)からの前記第1のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)が、前記第2の話者(10b)からの前記第2のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)に対応するとき、前記データ処理ハードウェア(410)によって、前記第1の話者(10a)と前記第2の話者(10b)が同じ話者(10)であることを識別するステップと
をさらに備える、請求項1または2に記載の方法(300)。
【請求項4】
前記データ処理ハードウェア(410)によって、前記第1の話者(10a)からの前記第1のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)と、前記第2の話者(10b)からの前記第2のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)との間の距離が距離しきい値(236)を満たすかどうかを決定するステップと、
前記第1の話者(10a)からの前記第1のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)と、前記第2の話者(10b)からの前記第2のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)との間の前記距離が前記距離しきい値(236)を満たすとき、前記データ処理ハードウェア(410)によって、前記第1の話者(10a)と前記第2の話者(10b)が同じ話者(10)であることを識別するステップと
をさらに備える、請求項1から3のいずれか一項に記載の方法(300)。
【請求項5】
前記複数のオーディオスライス(214)に基づいて候補音響埋込み(232)の前記セットを生成するステップが、
前記それぞれのオーディオサンプル(202)から分割された前記複数のオーディオスライス(214)内の前記オーディオスライス(214)を前記それぞれのオーディオサンプル(202)とは異なる順序に並べ替えるステップと、
前記並べ替えられたオーディオスライス(214)を連結するステップと、
前記並べ替えられたオーディオスライス(214)の前記連結に基づいて、対応する候補音響埋込み(232)を生成するステップと
によって、候補音響埋込み(232)の前記セット内の各候補音響埋込み(232)を生成するステップを備える、請求項1から4のいずれか一項に記載の方法(300)。
【請求項6】
各候補音響埋込み(232)に関連付けられる前記並べ替えられたオーディオスライス(214)の前記連結における前記オーディオスライス(214)の順序が異なる、請求項5に記載の方法(300)。
【請求項7】
前記並べ替えられたオーディオスライス(214)を連結するステップが、前記並べ替えられたオーディオスライス(214)の前記連結が時間しきい値を満たすと決定するステップを備える、請求項5または6に記載の方法(300)。
【請求項8】
候補音響埋込み(232)の前記セットから前記候補音響埋込み(232)の前記サブセットを、前
記スコアのしきい値に基づいて除去するステップが、
候補音響埋込み(232)の前記セット内の候補音響埋込み(232)ごとに、
前記それぞれの候補音響埋込み(232)から候補音響埋込み(232)の前記セット内の他の各候補音響埋込み(232)までの距離を決定するステップと、
前記それぞれの候補音響埋込み(232)から候補音響埋込み(232)の前記セットの他の各候補音響埋込み(232)までの決定された前記距離に基づいて、前記それぞれの候補音響埋込み(232)の
前記スコアを生成するステップと、
最低
のスコアに関連付けられる候補音響埋込み(232)の前記セット内のしきい値
に対応する数の前記候補音響埋込み(232)を選択するステップと
を備える、請求項1から7のいずれか一項に記載の方法(300)。
【請求項9】
候補音響埋込み(232)の前記セットから前記候補音響埋込み(232)の前記サブセットを、前
記スコアのしきい値に基づいて除去するステップが、
候補音響埋込み(232)の前記セット内の候補音響埋込み(232)ごとに、
前記それぞれの候補音響埋込み(232)から候補音響埋込み(232)の前記セット内の他の各候補音響埋込み(232)までの距離を決定するステップと、
前記それぞれの候補音響埋込み(232)から候補音響埋込み(232)の前記セットの他の各候補音響埋込み(232)までの決定された前記距離に基づいて、前記それぞれの候補音響埋込み(232)
のスコアを生成するステップと、
スコア
がスコア
のしきい値を満たさない候補音響埋込み(232)の前記セット内の各候補音響埋込み(232)を選択するステップと
を備える、請求項1から8のいずれか一項に記載の方法(300)。
【請求項10】
候補音響埋込み(232)の前記セットを生成するステップが、ニューラルネットワーク音響モデル(240)を使用して候補音響埋込み(232)の前記セットを生成するステップを備え、前記ニューラルネットワーク音響モデル(240)が、入力としてオーディオデータを受信し、出力として音響埋込み(222)を生成するように構成される、請求項1から9のいずれか一項に記載の方法(300)。
【請求項11】
データ処理ハードウェア(410)において、第1の話者(10a)から第1のオーディオサンプル(202)を受信し、第2の話者(10b)から第2のオーディオサンプル(202)を受信するステップと、
前記第1のオーディオサンプル(202)および前記第2のオーディオサンプル(202)のオーディオサンプル(202)ごとに、
前記データ処理ハードウェア(410)によって、それぞれの前記オーディオサンプル(202)を複数のオーディオスライス(214)に分割するステップと、
前記データ処理ハードウェア(410)によって、前記複数のオーディオスライス(214)に基づいて、候補音響埋込み(232)のセットを生成するステップであって、各候補音響埋込み(232)が音響特徴のベクトル表現を備える、ステップと、
前記データ処理ハードウェア(410)によって、候補音響埋込み(232)の前記セットから前記候補音響埋込み(232)のサブセットを除去するステップと、
前記データ処理ハードウェア(410)によって、前記候補音響埋込み(232)の前記サブセットを除去するステップの後、候補音響埋込み(232)の前記セット内の残りの前記候補音響埋込み(232)から総音響埋込み(234)を生成するステップと、
前記データ処理ハードウェア(410)によって、前記第1のオーディオサンプル(202)および前記第2のオーディオサンプル(202)のオーディオサンプル(202)ごとに生成された前記総音響埋込み(234)に基づいて、前記第1の話者(10a)と前記第2の話者(10b)が同じ話者(10)であるか異なる話者(10)であるかを識別するステップと
を備え、
前記複数のオーディオスライス(214)に基づいて候補音響埋込み(232)の前記セットを生成するステップが、
前記それぞれのオーディオサンプル(202)から分割された前記複数のオーディオスライス(214)内の前記オーディオスライス(214)を前記それぞれのオーディオサンプル(202)とは異なる順序に並べ替えるステップと、
前記並べ替えられたオーディオスライス(214)を連結するステップと、
前記並べ替えられたオーディオスライス(214)の前記連結に基づいて、対応する候補音響埋込み(232)を生成するステップと
によって、候補音響埋込み(232)の前記セット内の各候補音響埋込み(232)を生成するステップを備える、方法(300)。
【請求項12】
データ処理ハードウェア(410)と、
前記データ処理ハードウェア(410)と通信するメモリハードウェア(420)であって、前記データ処理ハードウェア(410)上で遂行されると、前記データ処理ハードウェア(410)に、
第1の話者(10a)から第1のオーディオサンプル(202)を受信し、第2の話者(10b)から第2のオーディオサンプル(202)を受信することと、
前記第1のオーディオサンプル(202)および前記第2のオーディオサンプル(202)のオーディオサンプル(202)ごとに、
それぞれの前記オーディオサンプル(202)を複数のオーディオスライス(214)に分割することと、
前記複数のオーディオスライス(214)に基づいて、候補音響埋込み(232)のセットを生成することであって、各候補音響埋込み(232)が音響特徴のベクトル表現を備える、生成することと、
候補音響埋込み(232)の前記セットにおける候補音響埋込み(232)ごとに、
前記セットを評価するためのスコアを決定することと、
候補音響埋込み(232)の前記セットから前記候補音響埋込み(232)のサブセットを、前
記スコアのしきい値に基づいて除去することであって、前
記スコアのしきい値は、前記セットから前記サブセットを除去した残りの候補音響埋込み(232)の数によって変動し得る、ことと、
前記候補音響埋込み(232)の前記サブセットを除去することの後、候補音響埋込み(232)の前記セット内の残りの前記候補音響埋込み(232)から総音響埋込み(234)を生成することと、
前記第1のオーディオサンプル(202)および前記第2のオーディオサンプル(202)のオーディオサンプル(202)ごとに生成された前記総音響埋込み(234)に基づいて、前記第1の話者(10a)と前記第2の話者(10b)が同じ話者(10)であるか異なる話者(10)であるかを識別することと
を備える動作を実行させる命令を記憶する、メモリハードウェア(420)とを備える、システム(400)。
【請求項13】
各候補音響埋込み(232)が、それぞれのdベクトルを備える、請求項12に記載のシステム(400)。
【請求項14】
前記動作が、
前記第1の話者(10a)からの前記第1のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)が、前記第2の話者(10b)からの前記第2のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)に対応するかどうかを決定することと、
前記第1の話者(10a)からの前記第1のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)が、前記第2の話者(10b)からの前記第2のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)に対応するとき、前記第1の話者(10a)と前記第2の話者(10b)が同じ話者(10)であることを識別することとをさらに備える、請求項12または13に記載のシステム(400)。
【請求項15】
前記動作が、
前記第1の話者(10a)からの前記第1のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)と、前記第2の話者(10b)からの前記第2のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)との間の距離が距離しきい値(236)を満たすかどうかを決定することと、
前記第1の話者(10a)からの前記第1のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)と、前記第2の話者(10b)からの前記第2のオーディオサンプル(202)に対して生成された前記総音響埋込み(234)との間の前記距離が前記距離しきい値(236)を満たすとき、前記第1の話者(10a)と前記第2の話者(10b)が同じ話者(10)であることを識別することと
をさらに備える、請求項12から14のいずれか一項に記載のシステム(400)。
【請求項16】
前記複数のオーディオスライス(214)に基づいて候補音響埋込み(232)の前記セットを生成することが、
前記それぞれのオーディオサンプル(202)から分割された前記複数のオーディオスライス(214)内の前記オーディオスライス(214)を前記それぞれのオーディオサンプル(202)とは異なる順序に並べ替えることと、
前記並べ替えられたオーディオスライス(214)を連結することと、
前記並べ替えられたオーディオスライス(214)の前記連結に基づいて、対応する候補音響埋込み(232)を生成することと
によって、候補音響埋込み(232)の前記セット内の各候補音響埋込み(232)を生成することを備える、請求項12から15のいずれか一項に記載のシステム(400)。
【請求項17】
各候補音響埋込み(232)に関連付けられる前記並べ替えられたオーディオスライス(214)の前記連結における前記オーディオスライス(214)の順序が異なる、請求項16に記載のシステム(400)。
【請求項18】
前記並べ替えられたオーディオスライス(214)を連結することが、前記並べ替えられたオーディオスライス(214)の前記連結が時間しきい値を満たすと決定することを備える、請求項16または17に記載のシステム(400)。
【請求項19】
候補音響埋込み(232)の前記セットから前記候補音響埋込み(232)の前記サブセットを、前
記スコアのしきい値に基づいて除去することが、
候補音響埋込み(232)の前記セット内の候補音響埋込み(232)ごとに、
前記それぞれの候補音響埋込み(232)から候補音響埋込み(232)の前記セット内の他の各候補音響埋込み(232)までの距離を決定することと、
前記それぞれの候補音響埋込み(232)から候補音響埋込み(232)の前記セットの他の各候補音響埋込み(232)までの決定された前記距離に基づいて、前記それぞれの候補音響埋込み(232)
のスコアを生成することと、
最低
のスコアに関連付けられる候補音響埋込み(232)の前記セット内のしきい値
に対応する数の前記候補音響埋込み(232)を選択することと
を備える、請求項12から18のいずれか一項に記載のシステム(400)。
【請求項20】
候補音響埋込み(232)の前記セットから前記候補音響埋込み(232)の前記サブセットを、前
記スコアのしきい値に基づいて除去することが、
候補音響埋込み(232)の前記セット内の候補音響埋込み(232)ごとに、
前記それぞれの候補音響埋込み(232)から候補音響埋込み(232)の前記セット内の他の各候補音響埋込み(232)までの距離を決定することと、
前記それぞれの候補音響埋込み(232)から候補音響埋込み(232)の前記セットの他の各候補音響埋込み(232)までの決定された前記距離に基づいて、前記それぞれの候補音響埋込み(232)
のスコアを生成することと、
スコア
がスコア
のしきい値を満たさない候補音響埋込み(232)の前記セット内の各候補音響埋込み(232)を選択することと
を備える、請求項12から19のいずれか一項に記載のシステム(400)。
【請求項21】
候補音響埋込み(232)の前記セットを生成することが、ニューラルネットワーク音響モデル(240)を使用して候補音響埋込み(232)の前記セットを生成することを備え、前記ニューラルネットワーク音響モデル(240)が、入力としてオーディオデータを受信し、出力として音響埋込み(222)を生成するように構成される、請求項12から20のいずれか一項に記載のシステム(400)。
【請求項22】
データ処理ハードウェア(410)と、
前記データ処理ハードウェア(410)と通信するメモリハードウェア(420)であって、前記データ処理ハードウェア(410)上で遂行されると、前記データ処理ハードウェア(410)に、
第1の話者(10a)から第1のオーディオサンプル(202)を受信し、第2の話者(10b)から第2のオーディオサンプル(202)を受信することと、
前記第1のオーディオサンプル(202)および前記第2のオーディオサンプル(202)のオーディオサンプル(202)ごとに、
それぞれの前記オーディオサンプル(202)を複数のオーディオスライス(214)に分割することと、
前記複数のオーディオスライス(214)に基づいて、候補音響埋込み(232)のセットを生成することであって、各候補音響埋込み(232)が音響特徴のベクトル表現を備える、生成することと、
候補音響埋込み(232)の前記セットから前記候補音響埋込み(232)のサブセットを除去することと、
前記候補音響埋込み(232)の前記サブセットを除去することの後、候補音響埋込み(232)の前記セット内の残りの前記候補音響埋込み(232)から総音響埋込み(234)を生成することと、
前記第1のオーディオサンプル(202)および前記第2のオーディオサンプル(202)のオーディオサンプル(202)ごとに生成された前記総音響埋込み(234)に基づいて、前記第1の話者(10a)と前記第2の話者(10b)が同じ話者(10)であるか異なる話者(10)であるかを識別することと
を備える動作を実行させる命令を記憶する、メモリハードウェア(420)とを備え、
前記複数のオーディオスライス(214)に基づいて候補音響埋込み(232)の前記セットを生成することが、
前記それぞれのオーディオサンプル(202)から分割された前記複数のオーディオスライス(214)内の前記オーディオスライス(214)を前記それぞれのオーディオサンプル(202)とは異なる順序に並べ替えることと、
前記並べ替えられたオーディオスライス(214)を連結することと、
前記並べ替えられたオーディオスライス(214)の前記連結に基づいて、対応する候補音響埋込み(232)を生成することと
によって、候補音響埋込み(232)の前記セット内の各候補音響埋込み(232)を生成することを備える、システム(400)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、話者識別精度を改善することに関する。
【背景技術】
【0002】
最近では、複数のユーザ入力モダリティを提供するコンピューティングデバイスがより普及している。たとえば、スマートフォンおよび他のユーザデバイスは、ユーザがタイピングまたはポインティング入力の代わりに音声入力をデバイスに提供できるようにする、スピーチ認識サービスを含んでいる。コンピューティングデバイスと対話するためのハンズフリーの手段として、音声ベースの入力がより便利な場合がある。いくつかのデバイスでは、プライバシおよびセキュリティの侵害を防ぐために、音声入力に基づいてアクションを実行する前に、ユーザの身元を検証する必要がある。多くの場合、デバイスによって実行されるこの検証では、ユーザの音声に関する情報(たとえば、オーディオデータ)がほとんどないか、または限定されているため、ユーザを識別することが困難な場合がある。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、オーディオサンプルの正確な話者表現を生成する方法を提供する。本方法は、データ処理ハードウェアにおいて、第1の話者から第1のオーディオサンプルを受信し、第2の話者から第2のオーディオサンプルを受信するステップを含む。第1のオーディオサンプルおよび第2のオーディオサンプルのオーディオサンプルごとに、本方法は、データ処理ハードウェアによって、それぞれのオーディオサンプルを複数のオーディオスライスに分割するステップを含む。第1のオーディオサンプルおよび第2のオーディオサンプルのオーディオサンプルごとに、本方法はまた、複数のスライスに基づいて、データ処理ハードウェアによって、各候補音響埋込みが音響特徴のベクトル表現を含む候補音響埋込みのセットを生成するステップを含む。第1のオーディオサンプルおよび第2のオーディオサンプルのオーディオサンプルごとに、本方法は、データ処理ハードウェアによって、候補音響埋込みのセットから候補音響埋込みのサブセットを除去するステップをさらに含む。第1のオーディオサンプルおよび第2のオーディオサンプルのオーディオサンプルごとに、本方法は、データ処理ハードウェアによって、候補音響埋込みのサブセットを除去するステップの後、候補音響埋込みのセット内の残りの候補音響埋込みから総音響埋込みを生成するステップをさらに含む。いくつかの例では、本方法はまた、データ処理ハードウェアによって、第1の話者からの第1のオーディオサンプルに対して生成された総音響埋込みが、第2の話者からの第2のオーディオサンプルに対して生成された総音響埋込みに対応するかどうかを決定するステップと、第1の話者からの第1のオーディオサンプルに対して生成された総音響埋込みが、第2の話者からの第2のオーディオサンプルに対して生成された総音響埋込みに対応するとき、データ処理ハードウェアによって、第1の話者と第2の話者が同じ話者であることを識別するステップとを含む。いくつかの実装形態では、本方法は、データ処理ハードウェアによって、第1の話者からの第1のオーディオサンプルに対して生成された総音響埋込みと、第2の話者からの第2のオーディオサンプルに対して生成された総音響埋込みとの間の距離が距離しきい値を満たすかどうかを決定するステップと、第1の話者からの第1のオーディオサンプルに対して生成された総音響埋込みと、第2の話者からの第2のオーディオサンプルに対して生成された総音響埋込みとの間の距離が距離しきい値を満たすとき、データ処理ハードウェアによって、第1の話者と第2の話者が同じ話者であることを識別するステップとをさらに含む。
【0004】
本開示の別の態様は、オーディオサンプルの正確な話者表現を生成するシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、データ処理ハードウェア上で遂行されると、データ処理ハードウェアに動作を実行させる命令を記憶する。動作は、第1の話者から第1のオーディオサンプルを受信し、第2の話者から第2のオーディオサンプルを受信することを含む。第1のオーディオサンプルおよび第2のオーディオサンプルのオーディオサンプルごとに、動作は、それぞれのオーディオサンプルを複数のオーディオスライスに分割することを含む。第1のオーディオサンプルおよび第2のオーディオサンプルのオーディオサンプルごとに、動作はまた、複数のスライスに基づいて、各候補音響埋込みが音響特徴のベクトル表現を含む候補音響埋込みのセットを生成することを含む。第1のオーディオサンプルおよび第2のオーディオサンプルのオーディオサンプルごとに、動作は、候補音響埋込みのセットから候補音響埋込みのサブセットを除去することをさらに含む。第1のオーディオサンプルおよび第2のオーディオサンプルのオーディオサンプルごとに、動作は、候補音響埋込みのサブセットを除去することの後、候補音響埋込みのセット内の残りの候補音響埋込みから総音響埋込みを生成することをさらに含む。いくつかの例では、動作はまた、第1の話者からの第1のオーディオサンプルに対して生成された総音響埋込みが、第2の話者からの第2のオーディオサンプルに対して生成された総音響埋込みに対応するかどうかを決定することと、第1の話者からの第1のオーディオサンプルに対して生成された総音響埋込みが、第2の話者からの第2のオーディオサンプルに対して生成された総音響埋込みに対応するとき、第1の話者と第2の話者が同じ話者であることを識別することとを含む。いくつかの実装形態では、動作は、第1の話者からの第1のオーディオサンプルに対して生成された総音響埋込みと、第2の話者からの第2のオーディオサンプルに対して生成された総音響埋込みとの間の距離が距離しきい値を満たすかどうかを決定することと、第1の話者からの第1のオーディオサンプルに対して生成された総音響埋込みと、第2の話者からの第2のオーディオサンプルに対して生成された総音響埋込みとの間の距離が距離しきい値を満たすとき、第1の話者と第2の話者が同じ話者であることを識別することとをさらに含む。
【0005】
システムまたは方法のいずれかの実装形態は、次のオプション機能のうちの1つまたは複数を含み得る。いくつかの実装形態では、各候補音響埋込みは、それぞれのdベクトルを備える。いくつかの例では、複数のオーディオスライスに基づいて候補音響埋込みのセットを生成することは、それぞれのオーディオサンプルから分割された複数のオーディオスライス内のオーディオスライスをそれぞれのオーディオサンプルとは異なる順序に並べ替えることと、並べ替えられたオーディオスライスを連結することと、並べ替えられたオーディオスライスの連結に基づいて、対応する候補音響埋込みを生成することとによって、候補音響埋込みのセット内の各候補音響埋込みを生成することを備える。ここで、各候補音響埋込みに関連付けられる並べ替えられたオーディオスライスの連結におけるオーディオスライスの順序は異なる。これらの例のいくつかでは、並べ替えられたオーディオスライスを連結することは、並べ替えられたオーディオスライスの連結が時間しきい値を満たすと決定することを含む。いくつかの構成では、候補音響埋込みのセットを生成することは、ニューラルネットワーク音響モデルを使用して候補音響埋込みのセットを生成することを含み、ニューラルネットワーク音響モデルは、入力としてオーディオデータを受信し、出力として音響埋込みを生成するように構成される。
【0006】
いくつかの実装形態では、候補音響埋込みのセットから候補音響埋込みのサブセットを除去することは、以下の動作を含む。候補音響埋込みのセット内の候補音響埋込みごとに、動作は、それぞれの候補音響埋込みから候補音響埋込みのセット内の他の各候補音響埋込みまでの距離を決定することと、それぞれの候補音響埋込みから候補音響埋込みのセットの他の各候補音響埋込みまでの決定された距離に基づいて、それぞれの候補音響埋込みの距離スコアを生成することとを含む。動作はまた、最低の距離スコアに関連付けられる候補音響埋込みのセット内のしきい値数の候補音響埋込みを選択することを含む。
【0007】
いくつかの例では、候補音響埋込みのセットから候補音響埋込みのサブセットを除去することは、以下の動作を含む。候補音響埋込みのセット内の候補音響埋込みごとに、動作は、それぞれの候補音響埋込みから候補音響埋込みのセット内の他の各候補音響埋込みまでの距離を決定することと、それぞれの候補音響埋込みから候補音響埋込みのセットの他の各候補音響埋込みまでの決定された距離に基づいて、それぞれの候補音響埋込みの距離スコアを生成することとを含む。動作はまた、距離スコアが距離スコアしきい値を満たさない候補音響埋込みのセット内の各候補音響埋込みを選択することを含む。
【0008】
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。他の態様、特徴、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0009】
【
図1A】話者識別システムの例示的なスピーチ環境の概略図である。
【
図1B】話者識別システムの例示的なスピーチ環境の概略図である。
【
図3】オーディオサンプルの話者表現を生成する方法の動作の例示的な配置のフローチャートである。
【
図4】本明細書に記載のシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0010】
様々な図面における同様の参照記号は、同様の要素を示す。
【0011】
一般に、話者識別とは、1つまたは複数のオーディオサンプルに基づいて話者を識別するプロセスを指す。そのような話者識別の形式の1つは、話者検証である。話者検証は、2つ以上の発話が同じ話者から発信されたかどうかを検証するプロセスを指す。この検証を実行するために、話者識別システムは、オーディオサンプル(たとえば、2つのオーディオサンプル)を比較し、話者によって話された第1の発話に対応する第1のオーディオサンプルが、別の話された発話に対応する第2のオーディオサンプルと一致するか、または非常に似ているかどうかを決定する。第1の発話が他の話された発話と一致するか、または非常に似ている場合、話者識別システムは、両方の発話が同じ話者からのものである可能性が高いと識別する。一方、第1の発話が他の話された発話と一致しない、またはそれほど似ていない場合、話者識別システムは、各発話が異なる話者からのものである可能性が高いと識別する。2つのオーディオサンプルを比較する場合、話者識別システムはベクトルベースの手法またはモデルベースの手法を使用する場合がある。ベクトルベースの手法では、話者識別システムは、第1のオーディオサンプルの第1のベクトルを第2のオーディオサンプルの第2のベクトルと比較する。dベクトルまたは音響埋込みとも呼ばれるベクトルは、オーディオサンプルの音響特性を表す、話者識別システムによって生成される、または話者識別システムにおいて受信されるベクトルである。あるオーディオサンプルの話者が別のオーディオサンプルの話者と同じであるかどうかを決定するために、ベクトルベースの手法は、各オーディオサンプルが同じオーディオソース(すなわち、同じ話者)から発信されているかどうかを決定するために、オーディオサンプルごとにdベクトルを生成し、これらのdベクトルを比較する。言い換えれば、第1のオーディオサンプルが第2のオーディオサンプルからのdベクトルに非常によく似たdベクトルを有している場合、話者識別システムは、同様のdベクトルが、オーディオサンプルが同じ話者から発信された可能性が高いことを示していると決定する。
【0012】
比較すると、モデルベースの手法では、2つのオーディオサンプルを話者識別モデルに入力し、2つのオーディオサンプルからの話者が同じ話者であるかどうかの予測を生成するためにそのモデルを使用する。言い換えれば、モデルは、2つの入力オーディオサンプルが同じ話者または異なる話者である可能性が高い時期を識別するようにトレーニングされる。ベクトルベースの手法とモデルベースの手法は話者識別を実行するための機能を果たすが、どちらの手法も提供される2つのオーディオサンプルの品質に左右されるという共通の欠点がある。たとえば、モデルはサンプルのより大きいコーパスでトレーニングされる可能性があるが、モデルは、対応する話者のスピーチ特性を表す入力オーディオサンプルの能力に関する予測を前提としている。同様に、ベクトルベースの手法は、オーディオサンプルのベクトル表現が話者のスピーチ特性をどの程度うまく表現しているかに限定される。しかし残念ながら、特定のオーディオサンプルには、話者を最適に表すオーディオ特性が含まれていない場合がある。たとえば、話者が特定のイギリス訛りを持っているが、話者が特定のフレーズを言うとき、話者のイギリス訛りがそれほど顕著ではない、または区別できない場合、特定のフレーズのオーディオサンプルは、話者によって話された他のフレーズ(すなわち、オーディオサンプル)と比較するための話者の適切なdベクトル表現(たとえば、ベクトルベースの手法の場合)または入力オーディオサンプル(たとえば、モデルベースの手法の場合)ではない可能性がある。これを考慮して、話者識別システムが単一のサンプルオーディオを使用して話者識別を実行する場合、話者識別システムは、話者または話者間の類似性を識別するためのオーディオ情報の最良の入力を常に有しているとは限らない。実際、単一のオーディオサンプルが話者の最適な音響表現である可能性は低い。
【0013】
特定のオーディオサンプルが話者の最適な表現ではない可能性があるというこの問題を克服するために、話者識別システムは、オーディオサンプルの複数の変動を生成するために単一のオーディオサンプルを使用する場合がある。オーディオサンプルの複数の変動を生成することによって、オーディオサンプルの多くの変動のうちの少なくとも1つが話者を正確に表す可能性が高くなる。言い換えれば、複数のオーディオサンプルを有することによって、話者識別システムは、話者検証を正確に実行する可能性を高めることができる。単一のオーディオサンプルから複数の変動を生成するために、話者識別は、様々なオーディオサンプル拡張プロセスを使用し得る。
【0014】
ベクトルベースの手法の場合、オーディオサンプル拡張プロセスは、単一のオーディオサンプルの複数の変動を生成し、次に、単一のオーディオサンプルの変動ごとに複数のdベクトルを生成する。dベクトルの数が多いほど、多くのdベクトルのうちの少なくとも1つが話者を正確に表している可能性が高くなる。単一のオーディオサンプルから複数のdベクトルを生成するために、話者識別システムは、任意の長さのオーディオサンプルがdベクトルを生成し得るという事実を利用する。たとえば、10分間のオーディオサンプルに対して単一のdベクトルが生成されてもよく、1/2秒(0.5秒)のオーディオサンプルに対して単一のdベクトルが生成されてもよい。言い換えれば、dベクトルの生成は、オーディオサンプルの長さに関係ない。したがって、3秒間の長さの単一のオーディオサンプルは、3秒間の間に話されたオーディオに対応する単一のdベクトルを形成してもよく、3秒間のオーディオサンプルが1秒(1秒)のオーディオスライスに分割されて、話者識別システムがオーディオスライスごとにdベクトルを生成してもよい。これは、この例では、単一のdベクトルが話者のスピーチ特性を正確に表すことを期待して単一のdベクトルを有する代わりに、話者識別システムは3つのdベクトルを有し、それぞれが話者のスピーチ特性を表すためにある程度の精度を有している可能性があることを意味する。
【0015】
話者識別システムがより多くのdベクトルを生成する場合、話者識別システムは、どのdベクトルまたはdベクトルのセットが話者の最も正確な表現であるかを識別するために、複数のdベクトルを使用するように構成され得る。ここで、オーディオサンプルの話者を表すdベクトルまたはベクトルサンプルの数がより多い場合、話者識別システムは、話者を正確に表す可能性が低い外れ値のdベクトルを識別するために、これらのサンプルの各々を互いに比較し得る。たとえば、複数のdベクトルの各々が話者に正確に表現される場合、複数のdベクトルは次元空間において空間的に収束するように見える。言い換えれば、複数のdベクトルの空間表現は、話者の理論上の完全なdベクトル表現の周りのdベクトルの密集したクラスタを示す。対照的に、話者識別のためのオーディオサンプルから単一のdベクトルのみを生成するシステムは、単一のdベクトルが話者の正確な表現であるかどうかを決定するために、複数のdベクトルのこの相対比較を実行することができない。シナリオをさらに拡張するために、単一のdベクトルが話者の正確な表現であるかどうかを知らずに、話者識別システムは、話者を検証するために話者を十分に表現していないdベクトルを必然的に使用する場合がある。この貧弱な表現により、話者識別システムが話者を正確に検証できない可能性が高くなる。話者の身元が様々な許可または権利に関連付けられると、話者識別システムは、話者が許可/権利に基づいてアクセスできるはずの機能に話者がアクセスすることを誤って防止する可能性がある。
【0016】
モデルベースの手法の場合、オーディオサンプル拡張プロセスは、スペクトログラムのいくつかの変動を生成するために、オーディオサンプルに対してスペクトログラム拡張を実行する。言い換えれば、モデルへの入力はオーディオサンプルに基づいているため、スペクトログラム拡張プロセスはオーディオサンプルのスペクトログラムの変動を生成する。ベクトルベースの手法と同様に、複数のスペクトログラム変動を生成することによって、モデルはオーディオサンプルごとに複数の入力を受け取ることができる。オーディオサンプルに対応する単一の入力ではなく複数の入力を使用すると、モデルはより多くの情報を得る可能性が高くなり、したがって、オーディオサンプルの話者のより多くの表現に基づいて予測が行われる。言い換えれば、オーディオサンプルごとに複数の入力を使用するこの手法により、モデルはオーディオサンプルの話者のスピーチ特性をより深く理解できるようになり、話者の識別および/または検証の予測が向上する可能性がある。
【0017】
図1Aは、話された発話12をスピーチ対応デバイス110(デバイス110またはユーザデバイス110とも呼ばれる)に通信する1人または複数のユーザ10を含むスピーチ環境100の例である。ユーザ10(すなわち、発話12の話者)は、デバイス110からの応答を求めるクエリまたはコマンドとして発話12を話し得る。デバイス110は、スピーチ環境100内の1人または複数のユーザ10から音をキャプチャするように構成される。ここで、オーディオ音は、可聴クエリ、デバイス110のためのコマンド、またはデバイス110によってキャプチャされた可聴通信として機能する、ユーザ10によって話された発話12を指し得る。デバイス110の、またはデバイス110に関連付けられるスピーチ対応システムは、クエリに応答し、および/またはコマンドを実行させることによって、コマンドのクエリを処理し得る。
【0018】
ここで、デバイス110は、発話12を検出し、ローカルまたはリモートの話者識別プロセスを呼び出すように構成される。デバイス110は、ユーザ10に関連付けられ、話された発話12に対応するオーディオ信号を受信することができる任意のコンピューティングデバイスに対応し得る。ユーザデバイス110のいくつかの例は、これらに限定されないが、モバイルデバイス(たとえば、モバイル電話、タブレット、ラップトップ、電子書籍リーダなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、音楽プレーヤ、キャスティングデバイス、スマート家電(たとえば、スマートテレビ)、およびモノのインターネット(IoT)デバイス、リモコン、スマートスピーカなどを含む。デバイス110は、データ処理ハードウェア112と、データ処理ハードウェア112と通信し、データ処理ハードウェア112によって遂行されると、データ処理ハードウェア112に、発話検出に関連する1つまたは複数の動作、または他の何らかの形式の発話/スピーチ処理(たとえば、スピーチ識別および/またはスピーチ検証)を実行させる命令を記憶するメモリハードウェア114とを含む。
【0019】
いくつかの例では、デバイス110は、1つまたは複数のアプリケーション(すなわち、ソフトウェアアプリケーション)を含み、各アプリケーションは、アプリケーション内で様々な機能を実行するために、デバイス110に関連付けられる1つまたは複数のスピーチ処理システム(たとえば、スピーチ認識システム、テキスト読上げシステム、話者識別システム140など)を利用し得る。いくつかの実装形態では、デバイス110は、発話12を検出し、発話12を特徴付けるデータを1つまたは複数のスピーチ処理システムに提供し得る。たとえば、デバイス110は、発話12の話者10を識別するように構成されたスピーチ識別アプリケーションを含む。スピーチ識別アプリケーションは、発話12の話者10の身元を検証する話者検証プロセスを実行し得る。たとえば、話者検証は、話者10からの1つまたは複数の発話12によって決定される話者の音声の特徴に基づいて、話者10の身元主張を受け入れるか拒否することを含む。いくつかの例では、デバイス110は、ローカル話者検証を実行するようにローカルに、または話者検証の一部を実行するためにリモートリソースを利用するようにリモートに、アプリケーションで構成されている。
【0020】
デバイス110は、スピーチ環境100内の話された発話12をキャプチャし、電気信号に変換するためのオーディオキャプチャデバイス(たとえば、マイクロフォン)116を有するオーディオサブシステムをさらに含む。デバイス110は、示される例においては単一のオーディオキャプチャデバイス116を実装するが、デバイス110は、本開示の範囲から逸脱することなく、オーディオキャプチャデバイス116のアレイを実装し得、それによって、アレイ内の1つまたは複数のオーディオキャプチャデバイス116は、デバイス110上に物理的に常駐しなくてもよいが、オーディオサブシステム(たとえば、デバイス110の周辺機器)と通信し得る。たとえば、デバイス110は、車両全体に配置されたマイクロフォンのアレイを活用する車両インフォテインメントシステムに対応し得る。追加または代替として、デバイス110はまた、デバイス110から可聴オーディオ信号を通信するためのスピーチ出力デバイス(たとえば、スピーカ)118を含む。たとえば、デバイス110は、検出された発話12に応答して合成再生信号を生成するように構成される。言い換えれば、発話12は、デバイス110によって生成され、スピーチ出力デバイス118を介して伝達される合成オーディオでデバイス110が答えるクエリに対応し得る。
【0021】
さらに、デバイス110は、ネットワーク120を介してリモートシステム130と通信するように構成される。リモートシステム130は、リモートデータ処理ハードウェア134(たとえば、リモートサーバまたはCPU)および/またはリモートメモリハードウェア136(たとえば、リモートデータベースまたは他のストレージハードウェア)などのリモートリソース132を含み得る。デバイス110は、スピーチ認識および/または話者識別/検証などのスピーチ処理に関連する様々な機能を実行するために、リモートリソース132を利用し得る。たとえば、デバイス110は、話者識別システム140を使用して話者識別を実行するように構成される。このシステム140は、デバイス110上に常駐(オンデバイスシステムと呼ばれる)してもよく、リモートに常駐(たとえば、リモートシステム130上に常駐)してもよいが、デバイス110と通信する。いくつかの例では、システム140の一部がローカルまたはオンデバイスに常駐し、他の部分がリモートに常駐する。たとえば、話者識別システム140のスピーチ検証を実行するように構成された検証器200は、リモートまたはローカルに常駐する。いくつかの例では、話者識別システム140は、スピーチ認識システム、ダイアライゼーション(diarization)システム、テキスト読上げシステムなどの他のスピーチ処理システムと組み合わせることができる。いくつかの構成では、話者識別システム140が常駐する場所は、処理要件に基づく。たとえば、システム140のサイズまたは処理要件がかなり大きい場合、システム140はリモートシステム130に常駐し得る。さらに、デバイス110がシステム140のサイズまたは処理要件をサポートし得る場合、1つまたは複数のシステム140は、データ処理ハードウェア112および/またはメモリハードウェア114を使用してデバイス110上に常駐し得る。
【0022】
話者識別システム140は、一般に、発話12を特徴付けるデータを処理することと、話者識別システム140の検証器200によって実行されるスピーチ検証プロセスの結果を示す応答142をデバイス110に提供することとを行うように構成される。たとえば、話者識別システム140は、デバイス110のスピーチ識別アプリケーションのためにスピーチ検証を実行するシステムである。言い換えれば、話者識別システム140は、発話12の話者10の身元を検証するために検証器200を使用して話者検証プロセスを実行するように構成される。たとえば、応答142は、話者10によって話された発話12に基づいて、話者10がデバイス110に登録されているかどうか(すなわち、登録された話者)を示し得る。いくつかの例では、話者識別システム140は、検証器200における検証プロセスに基づいて話者10の身元を識別する応答142を生成する。
【0023】
引き続き
図1Aを参照すると、デバイス110は、1人または複数のユーザ10a~cをデバイス110に登録するために、話者識別システム140を使用し得る。ユーザ10をデバイス110に登録することによって、登録は、登録済みユーザ10、10Eをデバイス110の許可されたユーザとして識別するためのスピーチ登録プロセスの一種として機能する。デバイス110は、デバイス110に登録済みユーザ10Eがデバイス110の様々な機能へのアクセスまたはその制御を有することができる一方で、デバイス110に登録されていない無許可のユーザ10が、デバイス110が実行可能である1つまたは複数の機能を実行することを禁止されるように構成可能であり得る。任意で、デバイス110は、複数のユーザ10を登録することができる。複数のユーザ10を使用して、各登録済みユーザ10Eは、デバイス110の機能に関する特定の許可または権利を有するデバイス110上のユーザアカウントを構成し得る。たとえば、
図1Aにおける3人のユーザ10a~cは、夫、妻、9歳の娘の3人家族に相当する。ここで、各大人がデバイス110に登録すると、大人は、各大人がデバイス110のすべての機能にアクセスまたは制御できるようにするペアレンタルコントロールを設定し得るが、登録済みユーザ10Eでもある彼らの娘が、デバイス110を完全に制御することを制限する。たとえば、両親は、娘がデバイス110によって制御されるサーモスタットスケジュールなどのホームオートメーション制御を修正できないように、娘のアカウントを設定する。これは、ある登録済みユーザ10Eが、別の登録済みユーザ10Eの許可または権利と重複するかまたは異なる特定の許可または権利を有する可能性があることを意味する。さらに、登録者の許可を生成するだけでなく、デバイス110はまた、登録済みユーザ10Eではないデバイス110のユーザ10の許可を指定するように構成され得る。たとえば、デバイス110のユーザ10が登録済みユーザ10Eでない場合、デバイス110は、制限された機能(たとえば、ゲストモード)を実行するように、または未登録のユーザ10がデバイス110を使用することを完全に防止するように構成され得る。限定するものではないが、登録済みユーザ10Eを認可することは、デバイス110が、登録済みユーザ10Eがアクセス許可を有するリソースのみにアクセスすることを許可し得る。たとえば、少なくとも2人の登録済みユーザ10Eを有する家庭において、その1人が、デバイス110によってキャプチャされた音声コマンド「私の音楽プレイリストを再生してください」を話すと、検証器200は、特定の登録済み話者10Eの身元を識別し、デバイス110が、識別された話者10に関連付けられる特定の音楽プレイリストにアクセスすることを許可することができ、他の登録済みユーザ10Eの音楽プレイリストにはアクセスできない。
【0024】
いくつかの構成では、デバイス110は、ユーザ10をデバイス110の登録された話者として登録する登録プロセスを実行するために、話者識別システム140を使用する。たとえば、話者識別プロセス140に関連付けられる話者識別アプリケーションは、ユーザ10に1つまたは複数の登録発話144を話すように促し、そこからユーザ10のために話者署名146を生成することができる。いくつかの実装形態では、登録発話144は、たとえば、1つ、2つ、3つ、4つ、またはそれ以上の単語の短いフレーズである。話者識別システム140は、登録発話144としてあらかじめ定義されたフレーズを話すようにユーザ10を促してもよく、またはユーザ10は自発的に話して、ユーザ10に特に提供されなかったフレーズに基づいて登録発話144を提供してもよい。いくつかの例では、ユーザ10は、複数の登録発話144を話し得、各登録発話は同じフレーズまたは異なるフレーズである。登録発話144は、ユーザ10が、あらかじめ定義されたホットワードの後に受信された話されたオーディオを処理するために、スリープ状態からウェイクアップするようにデバイス110をトリガするように構成された、あらかじめ定義されたホットワードを話すことを含むことができる。この例では、ユーザ10が話された登録発話144をデバイス110に提供することを示しているが、他の例は、登録発話144を提供するために別のデバイス(たとえば、スマートフォン)から話者識別システム140にアクセスする1人または複数のユーザ10を含み得る。登録発話144を受信すると、話者識別システム140は、登録発話144ごとの話者表現を生成するために、登録発話144を処理する。話者識別システム140は、登録発話144の話者表現のすべて、いくつか、または1つから、ユーザ10の話者署名146を生成し得る。いくつかの例では、話者署名146は、複数の登録発話144のそれぞれの話者表現の平均である。他の例では、話者署名146は、1つまたは複数の基準に基づいて(たとえば、選択された登録発話144のオーディオ、またはオーディオの音声品質に基づいて)選択された特定の登録発話144からの特定の話者表現に対応する。話者署名146が話者10に対して生成されると、話者署名146は、デバイス110にローカルに記憶されてもよく、リモートシステム130に(たとえば、リモートメモリハードウェア136に)記憶されてもよい。
【0025】
登録後、デバイス110がスピーチ環境100内のユーザ10によるクエリ発話148を検出すると、話者識別システム140は、クエリ発話148に基づいて、クエリ発話12の話者10がデバイス110の登録済みユーザ10Eであるか否かを識別するように構成される。クエリ発話148は、テキスト依存の検証フレーズなどの特殊なタイプの発話または話されたフレーズを指してもよく、より一般的には、1人または複数のユーザ10の登録プロセスの完了後にユーザ10によって話された任意の発話12を含み得る、テキストに依存しないフレーズを指してもよい。ここで、検証器200によって実行される検証プロセスは、検出されたクエリ発話148の話者10が登録済みユーザ10Eであるかどうかを識別し、話者10が登録済みユーザ10Eであるかどうかを示すための応答142を生成する。いくつかの例では、検証器200は、登録済みユーザ10Eのために生成された話者署名146へのアクセスを有し、クエリ発話148が特定の話者署名146に対応するかどうかを決定するために、話者10によって検出されたクエリ発話148を話者署名146と比較する。これらの例では、クエリ発話148が特定の話者署名146に対応するとき、検証器200は、クエリ発話148が登録済みユーザ10Eによって話されたと決定し、クエリ発話148の話者10が登録済みユーザ10Eであることを示す応答142を生成する。
【0026】
いくつかの実装形態では、話者識別システム140が、話者10が登録済みユーザ10Eではないという応答142を生成すると、話者識別システム140は、ユーザ10がデバイス110上で登録済みユーザ10Eになりたいかどうかを決定するように話者10を促す。いくつかの構成では、未登録のユーザ10が登録済みユーザ10Eになるように促す前に、デバイス110は、デバイス110の所有者がデバイス110の登録済みユーザ10Eになる許可を未登録のユーザ10またはゲストユーザに与えたことを保証するために、セキュリティ基準などの基準で構成される。これにより、誰かが単に登録して、デバイス110の不要な制御を取得することを防ぐことができる。
【0027】
図1Aは、登録プロセスを実行することによって最初にデバイス110に登録した3人のユーザ10a~cを示している。言い換えれば、
図1Aは、デバイス110に登録するために、各ユーザ10によってデバイス110に送信される少なくとも1つの登録発話144、144a~cを示している。登録プロセスに続いて、第3のユーザ10cは、クエリ発話148をデバイス110に話す。デバイス110がクエリ発話148を受信すると、デバイス110は、検証器200が第3の話者10cが登録済みユーザ10Eであることを検証できるようにするために、任意の話者署名146とともにクエリ発話148を話者識別システム140に通信する。ここで、検証器200が、第3の話者10cが実際に登録済みユーザ10Eであることを検証すると、話者識別システム140は、第3の話者10cがデバイス110に登録済みユーザ10Eであることを示すために、応答142をデバイス110に通信する。検証されると、第3の話者10cは、デバイス110を使用してもよく、登録済みユーザ10Eがアクセス許可を有するか、より具体的には、第3のユーザ10cに指定された、デバイス110によって提供されるコンピューティング機能のいくつかの態様にアクセスしてもよい。いくつかの例では、クエリ発話148は、ホットワードとそれに続くクエリを含む。これらの例では、検証器200は、ホットワードに対応するオーディオの一部のみ、クエリに対応するオーディオの一部のみ、またはホットワードとクエリの両方を含むオーディオ全体に基づいて、第3の話者10cを検証し得る。追加の例では、クエリ発話148は、登録済みユーザ10Eの身元を検証するために、登録済みユーザ10Eが検証器200に提供する特定の検証フレーズであり得る。
【0028】
図1Bは、デバイス110に関連付けられるダイアライゼーションシステムのために話者10または話者10間の変化を識別するために、話者識別システム140を使用する例示的なスピーチ環境100の例である。ここで、デバイス110は、第1の発話12aを検出し、次いで後続の第2の発話12bを検出し、第1の発話12aおよび第2の発話12bが同じ話者10または異なる話者10に対応するかどうかを決定する。発話12が同じ話者10からのものであるかどうかを区別することによって、話者識別システム140は、たとえば、ダイアライゼーションシステムが、デバイス110によって受信されたオーディオストリーム中に話者10を識別するのを支援することができる。言い換えれば、検証器200が、第2の発話12bの話者10が第1の発話12aの話者10とは異なる話者10であることを検証すると、検証器200は、ダイアライゼーションシステムにこの違いを知らせるために、応答142を生成し得る。図示される例では、デバイス110に関連付けられるスピーチシステムは、デバイス110に関連付けられるスピーチ処理システムがオーディオストリームのトランスクリプトを生成しているときに、話者ラベルを生成するために、検証器200からの応答142を使用し得る。たとえば、
図1Bは、デバイス110の6人のユーザ10a~fとの会議を示している。会議中、デバイス110は、会議のトランスクリプトを生成するために使用されている。トランスクリプトの一部として、トランスクリプトは、誰がどの情報を話しているかを識別する話者ラベルを含む。会議中に話者識別システム140を使用することによって、デバイス110は、2つの後続の発話12が同じ話者10または異なる話者10によって話されているかどうかを検証器200が決定することに基づいて、トランスクリプト内の所与の話者のラベルが変更されるべきか、または同じままであるべきであることを検証するために、検証器200を使用することができる。たとえば、
図1Bは、「話者2」とラベル付けされた話者10aによる第1の発話12aの後に、「話者3」とラベル付けされた話者10cによる第2の発話12bが続くことを示す。検証器200は、これらの2つの発話12a~bがその応答142において異なる話者10からのものであることを確認するので、デバイス110は、第2の発話12bのトランスクリプトにおいて新しい話者ラベルが発生する必要があることを示すために、応答142を使用する。いくつかの例では、話者が同じか異なるかを検証することに加えて、話者識別システム140は、話者10の身元を含む応答142を生成するように構成される。たとえば、再び
図1Aを参照すると、話者識別システム140が、話者10の身元に関してラベル付けされた話者署名146を含む場合、発話12が特定のラベル付き署名146に対応する(たとえば、一致する、または非常に類似する)場合、話者識別システム140は、その応答142にその特定の署名のラベル付き身元を含み得る。
【0029】
話者識別システム140の複数の潜在的なアプリケーションをより広く参照するために、すべてのタイプの発話(たとえば、登録発話144、クエリ発話148、または単なる一般的な話している発話12)および話者署名146は、より一般的にオーディオサンプル202(
図2A~
図2D)と呼ばれることがある。オーディオサンプルは、デバイス110(たとえば、ユーザ10によって)または話者識別システム140に提供される任意の長さのオーディオデータを指す。たとえば、登録発話12は、特定のユーザ10によって話されたオーディオサンプル202であり、登録プロセスを実行するために、ある程度の長さのオーディオデータを含んでいる。いくつかの例では、オーディオサンプル202は、ユーザ10によって話された発話12全体、またはユーザ10によって話された発話12の一部に対応し得る。したがって、デバイス110は、デバイス110のユーザ10からオーディオサンプル202を受信し(たとえば、オーディオキャプチャデバイス116において)、オーディオサンプル202またはオーディオサンプル202の何らかの派生物を話者識別システム140に通信する。
【0030】
図2A~
図2Cを参照すると、検証器200は、話者検証へのベクトルベースの手法を実行するように構成される。ベクトルベースの手法では、検証器200は、変動器210、生成器220、および比較器230を含む。変動器210は、オーディオサンプル202を受信し、オーディオサンプル202の複数のサンプル変動212、212a~nを生成するように構成される。各サンプル変動212は、何らかの増強技法を受けたオーディオサンプル202のバージョンに対応する。いくつかの例では、変動器210は、各スライス214がサンプル変動212に対応するように、オーディオサンプル202をスライス214に分割する増強技法を使用する。たとえば、
図2Aは、4つのオーディオサンプル変動212a~dを形成するために、オーディオサンプル202が4つのオーディオスライス214a~dに分割されることを示している。
【0031】
生成器220は、オーディオサンプル202の各サンプル変動212を受信し、サンプル変動212ごとに話者表現222を生成するように構成される。言い換えれば、話者10からのオーディオサンプル202は、変動器210において何らかのタイプの増強技法を受けているが、各サンプル変動212は、オーディオサンプル202から導出されたスピーチ特性を依然として含む。たとえば、変動器210がオーディオサンプル202をスライス214に分割することによってサンプル変動212を形成する場合、各スライス214は、オーディオサンプル202のサブセットとして、その特定のスライス214に対応するスピーチ特性のサブセットを含む。ベクトルベースの手法などのいくつかの実装形態では、生成器220によって生成された話者表現222は、サンプル変動212の音響埋込み222である。音響埋込み222は、ベクトルの各次元がその音響的特徴に従ってスピーチ特性のある形態を表すn次元ベクトルを参照する話者表現222の一種である。言い換えれば、サンプル変動212は、話者10によって話されたオーディオサンプル202の派生物であるため、音響埋込み222は、サンプル変動212のスピーチ特性のベクトル表現に対応する。音響埋込み222は、dベクトルを含み得る。いくつかの構成では、生成器220は、話者識別システム140と通信するスピーチ認識システムの音響モデル(AM)を活用することによって、音響埋込み222を生成する。ここで、生成器220は、生成器220のための音響埋込み222を生成するために、AMがオーディオのセグメント(すなわち、オーディオのフレーム)を音素にマッピングするそのモデルを使用するために、AMのバージョンを含むか、サンプル変動212をスピーチ認識システムのAMに通信し得る。
【0032】
いくつかの実装形態では、検証器200は、2つのオーディオサンプル202a~bに対して検証プロセスを実行するので、生成器220は、第1のオーディオサンプル202aに対して音響埋込み222の第1のセットを生成し、第2のオーディオサンプル202bに対して音響埋込み222の第2のセットを生成する。言い換えれば、生成器220は、その特定のオーディオサンプル202についての音響埋込み222のセットを形成するために、オーディオサンプル202のサンプル変動212ごとに音響埋込み222を生成する。オーディオサンプル202ごとの複数の音響埋込み222を用いて、比較器230は、どの音響埋込み222または音響埋込み222のサブセットが、オーディオサンプル202の話者10を表すために最良の音響埋込み222である可能性が高いかを決定するように機能する。前述のように、たとえば、オーディオサンプル202が話者10を正確に表現するために単一の音響埋込み222に依存する代わりに、検証器200は、オーディオサンプル202の多くの変動212のうちの少なくとも1つ、または変動212のいくつかの組合せが話者10を正確に表す可能性がより高い可能性が高いように、オーディオサンプル202の複数の変動212を生成する。これは、オーディオサンプル202の話者10のスピーチ特性を最もよく表すように見える1つまたは複数の音響埋込み222を決定するために、複数の音響埋込み222によって表される複数のサンプル変動212を評価する必要があることを意味する。
【0033】
この役割を果たすために、比較器230は、生成器220からの各音響埋込み222を候補音響埋込み232として評価することと、どの単一の候補232または候補232a~nのセットがオーディオサンプル202の話者10のスピーチ特性を最もよく表すかを決定することとを行うように構成される。いくつかの例では、比較器230は、候補音響埋込み232のセットから候補音響埋込み232のサブセットを除去し、残りの候補音響埋込み232から総音響埋込みを生成することによって機能する。たとえば、
図2Aは、生成器220からの音響埋込み222a~dに対応する第1のオーディオサンプル202の4つの候補音響埋込み232a~dと、生成器220からの音響埋込み222e~hに対応する第2のオーディオサンプル202の4つの音響埋込み232e~hとを示している。ここで、比較器230は、セット内の他の候補音響埋込み232に関して各候補音響埋込み232を検討し、どの候補音響埋込み232を除去すべきかの決定を行う。たとえば、
図2Aは、比較器230が、第1のオーディオサンプル202aについての第1のセットにおける2つの候補音響埋込み222a、dと、第2のオーディオサンプル202bについての第2のセットにおける2つの候補音響埋込み222e、fとを除去することを示している。第1のセットにおける残りの候補音響埋込み232b、cおよび第2のセットにおける残りの候補音響埋込み232e、fから、比較器230は、第1のオーディオサンプル202aに対して第1の総音響埋込み234aを生成し、第2のオーディオサンプル202bに対して第2の総音響埋込み234bを生成する。いくつかの例では、比較器230は、残りの候補音響埋込み232の平均ベクトルを決定することによって、総音響埋込み234を生成する。
【0034】
いくつかの例では、比較器230は、セット内の候補音響埋込み232ごとのスコアを決定することによって、候補音響埋込み232のセットを評価する。いくつかの構成では、スコアは、特定のオーディオサンプル202のセット内の所与の候補音響埋込み232と他の候補音響埋込み232との間の平均コサイン類似度の関数に対応する。コサイン類似度は、次元空間内の2つのベクトル間の角度のコサインを測定するメトリックを指す。所与の候補音響埋込み232と候補音響埋込み232のセット内の他の各候補音響埋込み232との間のコサイン類似度を生成することによって、平均コサイン類似度スコアを生成するために、所与の候補のすべてのコサイン類似度が一緒に平均化され得る。いくつかの実装形態では、スコアは、特定のオーディオサンプル202のセット内の所与の候補音響埋込み232と他の候補音響埋込み232との間のユークリッド距離の関数に対応する。たとえば、コサイン類似度と同様に、比較器230は、所与の候補232と他の各候補232との間のユークリッド距離を決定する。所与の候補232についてのこれらの複数のユークリッド距離から、スコアは、候補232についての全体的なユークリッド距離スコアを表すために、複数のユークリッド距離のすべての平均に等しく設定される。任意の方法によってスコアを生成した後、比較器230は、スコアに基づいて候補232のセットをランク付けまたは順序付けすることができる。たとえば、スコアは、最大スコアから最小スコアまで降順で並べられ、最大スコアは、最大スコアを有する候補音響埋込み232が、次元ベクトル空間内のセット内の他の各候補音響埋込み232に平均で最も近いことを表す。所与のオーディオサンプル202の候補音響埋込み232のセットを順序付けた後、比較器230は、順序付けられたリストからN個の候補232を選択することと、選択されなかった候補232を除去することとを行うように構成され得る。たとえば、
図2Bは、比較器230が、第1のオーディオサンプル202aの候補音響埋込み232のセットと、第2のオーディオサンプル202bの候補音響埋込み232のセットとを順序付けたことを示す。ここで、N=2であり、比較器230は、残りの候補音響埋込み232を除去しながら、最大スコアを有する順序付きリスト内の候補音響埋込み232のうちの2つを選択する。次いで、比較器230は、オーディオサンプル202の総音響埋込み234を生成するために、選択されたN個の音響埋込み232を使用する。他の選択基準も可能である。たとえば、総音響埋込み234に対してN個の候補音響埋込み232を選択する代わりに、比較器は、セットからN個の候補音響埋込み232を除去し得る。別の例として、比較器は、Tがセット内の候補音響埋込み232の総数である場合に、T~N個の候補音響埋込み232をセットから除去し得る。
【0035】
あるいは、最大スコアを有するN個の候補音響埋込み232を選択する代わりに、比較器230は、しきい値スコア値を満たす(たとえば、設定されたしきい値スコア値に等しいか、またはそれを超える)すべての候補音響埋込み232を使用して、比較器230が総音響埋込み234を生成するように、しきい値スコア値で構成される。スコアリングプロセスを使用することによって、比較器230は、オーディオサンプル202の話者10のスピーチ特性の不正確な表現である可能性が高い、オーディオサンプル202のサンプル変動212の外れ値音響埋込み222が検証器200に与える影響が最小限であることを保証することができる。いくつかの構成では、比較器230は、N選択としきい値スコア値との何らかの組合せを実行する。たとえば、N個の候補音響埋込み232が総音響埋込み234を形成することを知って、比較器230は、候補音響埋込み232の順序付きリスト内のN番目の候補音響埋込み232に対応するスコアを決定し、しきい値スコアをこの値に設定する。この手法では、比較器230は、数Nが更新される(たとえば、しきい値スコアに基づいて増加または減少される)べきかどうかを決定するために、N番目の候補232に対応するしきい値スコアの検討もし得る。
【0036】
次いで、比較器230は、第1のオーディオサンプル202aおよび第2のオーディオサンプル202bが同じ話者10からのものであるかどうかを決定するために、オーディオサンプル202a~bごとの総音響埋込み234を用いて、各総音響埋込み234を比較し得る。いくつかの例では、比較器230は、第1のオーディオサンプル202aの第1の総音響埋込み234aが、第2のオーディオサンプル202bの第2の総音響埋込み234bと一致するか、または非常に類似している場合、第1のオーディオサンプル202aおよび第2のオーディオサンプル202bが同じ話者10からのものであると決定する。
【0037】
図2Bなどのいくつかの実装形態では、第1のオーディオサンプル202aの第1の総音響埋込み234aが、第2のオーディオサンプル202bの第2の総音響埋込み234bと一致するか、または非常に似ているかどうかを決定するために、比較器230は、第1の総音響埋込み234aと第2の総音響埋込み234bとの間の距離(たとえば、コサイン距離)を決定する。ここで、比較器230は、第1の総音響埋込み234aと第2の総音響埋込み234bとの間の距離が距離しきい値236を満たすとき、比較器230が、第1のオーディオサンプル202aと第2のオーディオサンプル202bとが同じ話者10からのものであると決定するように構成され得る。そうではなく、第1の総音響埋込み234aと第2の総音響埋込み234bとの間の距離が距離しきい値236を満たさない場合、比較器230は、第1のオーディオサンプル202aと第2のオーディオサンプル202bが同じ話者10からのものではないと決定する。距離しきい値236は、第1のオーディオサンプル202aの話者10が第2のオーディオサンプル202bと同じ話者10である可能性が高いという信頼レベルを示すために設定される値を指す。
【0038】
いくつかの実装形態では、変動器210の増強技法にはいくつかの制限がある。たとえば、変動器210が、オーディオサンプル202をスライス214に分割する増強技法を使用してサンプル変動212を生成する場合、スライス214のサイズは、個々のスライス214が有意義な話者表現222を形成するためのスピーチ特性データをほとんど含まないほど小さくすることはできない。スライス214が小さすぎる場合、スライス214に対応するスピーチ特性は、話者10の表現において減衰する可能性がある。この制限により、ある時間しきい値(たとえば、1秒)未満の長さを有するサンプル変動212は、有意義な話者表現222を形成しない場合がある。したがって、所与のスライス214のサイズが時間しきい値未満になることを防止するために、スライシング増強技法が制約され得る。残念ながら、登録発話144またはクエリ発話148に対応するオーディオサンプル202は、多くの場合、ほんの数秒の長さである。これは、検証器200の精度を高める可能性が高い多数の話者表現222の代わりに、スライシング技法が少数の話者表現222のみを生成することを意味する。
【0039】
この問題を克服するために、変動器210は、スライシング技法を他の増強技法(たとえば、シャッフル技法および/または連結技法)と組み合わせることができる。たとえば、
図2Cに示されるように、変動器210は、2秒の長さのオーディオサンプル202を3つのスライス214a~cに分割し得る(各スライス214が約0.66秒になるように)。ここで、時間しきい値が1秒に等しい場合、生成器220は、検証器200の精度を改善する可能性が低いスライス214ごとに話者表現222を生成するであろう。代わりに、オーディオサンプル202をスライスした後、変動器210は、連結されたスライス214の合計の長さが時間しきい値(たとえば、1秒)よりも大きくなるように、いくつかのスライス214を一緒に再構築(すなわち、いくつかのスライス214を一緒に連結)し得る。このようにして、再構築されたサンプル変動212は、話者特性の低下を回避するために、十分なスライス214を一緒に組み合わせることができる。さらに、この手法は、生成器220が任意の長さのオーディオについて話者表現222を生成し得るという事実を利用する。したがって、変動器210は、元のオーディオサンプル202の長さと等しい長さを有するようにスライス214を再構築する必要はないが、代わりに、再構築されたスライスは、元のオーディオサンプル202と比較した場合に異なる時間長を有し得る。たとえば、
図2Cは、オーディオサンプル202の元の長さである2秒よりも短い1.2秒の全長を有するように、2つのスライス214から構築された各サンプル変動212a~fを示している。
【0040】
さらに、
図2Cは、サンプル変動212を形成するために2つ以上のスライス214を一緒に再構築するとき、スライス214がオーディオサンプル202に現れた順序とは異なる順序でスライス214がシャッフルされ得ることを示している。たとえば、変動器210は、第2のスライス214bと、第1のサンプル変動212aによって表されるオーディオサンプル202の元の順序の逆である第1のスライス214aとの順序付けられた組合せから第3のサンプル変動212cを形成する。
図2Cにおいて、変動器210は、6つのサンプル変動212a~fを形成するために、スライス214の再シャッフルまたは混合、およびスライス214の連結を一緒に利用することができる。変動器210は、変動器210が時間しきい値未満の時間長を有するサンプル変動212を形成することを回避する限り、あらゆる順列でスライス214をシャッフルおよび再構築することができる。たとえば、サンプルオーディオ202が5つのスライス214にスライスされた場合、順列の数は、P(n,r)として表すことができるため、変動器210は、120のサンプル変動212を形成することができ、nはスライス214の数であり、rは、サンプル変動212を形成するために一緒に連結されているスライス214の数に等しい。別の言い方をすれば、変動器210は、n=5およびr=5(すなわち、P(5,5))であるため、120のサンプル変動212を形成することができる。
【0041】
図2Dは、話者検証プロセスのモデル手法の例である。ここで、検証器200は比較器230を含まないが、代わりに、第1のオーディオサンプル202aの話者10が第2のオーディオサンプル202bと同じ話者10であるかどうかの予測242を生成するように構成されたモデル240を含む。モデル手法では、変動器210は、オーディオサンプル202の周波数表現に対していくつかの増強技法を実行することによって、サンプル変動212を生成するように構成されている。たとえば、変動器210は、オーディオサンプル202のスペクトログラムに対して複数のスペクトログラム増強技法216、216a~nを実行する。スペクトログラムは、一般に、オーディオサンプル202に対応するオーディオ信号の周波数スペクトルの視覚的表現を指す。スペクトログラムはまた、ソノグラフ、声紋、またはボイスグラムと呼ばれ得る。視覚的表現として、変動器210は、オーディオサンプル202のスペクトログラムの視覚的時間系列を増強するように構成される。スペクトログラム増強技法216のいくつかの例は、時間マスキングまたは追加216、216a、周波数マスキング216、216b、および時間ワーピング216、216c(すなわち、スペクトログラム伸張)を含む。時間マスキング216aを実行する際、変動器210は、初期オフセット、スペクトログラムから除去されるデータ(たとえば、フレーム)の量に対応する除去幅、およびスペクトログラムの1つまたは複数のフレームを中断しないように指定する保持幅などの特定のパラメータを設定し得る。対照的に、時間マスキングは、複製するフレームまたはスペクトログラムに追加するフレームを指定するパラメータを含む。
【0042】
図2Dに示されるように、変動器210が第1のオーディオサンプル202aと第2のオーディオサンプル202bを受信すると、変動器210は、各オーディオサンプル202に対して同じスペクトログラム増強技法を実行する。たとえば、変動器210が、第1のオーディオサンプル202aに対応するスペクトログラムに対して時間マスキング216a、周波数マスキング216、および時間ワーピング216cを実行するとき、変動器210は、第2のオーディオサンプル202bに対応するスペクトログラムに対して、時間マスキング216a、周波数マスキング216、および時間ワーピング216cの同じ増強技法216を実行する。各オーディオサンプル202に対して同じスペクトログラム増強技法216を実行することによって、検証器200は、オーディオサンプル202a~bが生成器220および/またはモデル240によって比較可能であることを保証する。各スペクトログラム増強技法216の結果として、変動器210は、対応するサンプル変動212を生成する。
【0043】
生成器220は、変動器210からサンプル変動212のすべてを受け取ることと、スペクトログラム増強技法216ごとにスコア224を生成することとを行うように構成される。たとえば、生成器220は、第1のオーディオサンプル202aに対して第1のスペクトログラム増強技法216aによって生成された第1のサンプル変動212aを、第2のオーディオサンプル202bに対して第1のスペクトログラム増強技法216aによって生成された第2のサンプル変動212bと比較する。第2のスペクトログラム増強技法216bについて、生成器220は、第1のオーディオサンプル202aに対して第2のスペクトログラム増強技法216bによって生成された第3のサンプル変動212cを、第2のオーディオサンプル202bに対して第2のスペクトログラム増強技法216bによって生成された第4のサンプル変動212dと比較する。第3のスペクトログラム増強技法216cについて、生成器220は、第1のオーディオサンプル202aに対して第3のスペクトログラム増強技法216cによって生成された第5のサンプル変動212eを、第2のオーディオサンプル202bに対して第3のスペクトログラム増強技法216cによって生成された第6のサンプル変動212fと比較する。
図2Dに示されるように、第1のスペクトログラム増強技法216aの生成器の比較は、第1のスコア224aをもたらす。第2のスペクトログラム増強技法216bの生成器の比較は、第2のスコア224bをもたらす。第3のスペクトログラム増強技法216cの生成器の比較は、第3のスコア224cをもたらす。このプロセスは、使用されているスペクトログラム増強技法の数に応じて繰り返される場合がある。たとえば、変動器210は3つの技法216を実行しているが、変動器210は、4つまたは5つの技法さえもスケーラブルに実行し得る。いくつかの例では、生成器220によって決定されるスコア224は、コサイン類似度スコア224である。
【0044】
モデル240は、スコア224を入力として受け取ることと、第1のオーディオサンプル202aの話者10が第2のオーディオサンプル202bと同じ話者10であるかどうかの予測242を出力として生成することとを行うように構成される。いくつかの実装形態では、予測242は、第1のオーディオサンプル202aおよび第2のオーディオサンプル202bが同じ話者10に属する確率に対応する。いくつかの構成では、モデル240は、オーディオサンプル202を特徴付けるデータ(たとえば、生成器220からのスコア224)を処理するように構成された機械学習モデルまたはニューラルネットワークである。モデル240は、受け取った入力に基づいて予測242を生成するために、非線形ユニットの1つまたは複数の層を含み得る。いくつかの実装形態では、モデル240には、ソフトマックスまたは他の分類層がない。いくつかの例では、モデル240は、1つまたは複数のLSTMメモリブロックを含む長期短期記憶(LSTM)ニューラルネットワークである。各LSTMメモリブロックは1つまたは複数のメモリセルを含むことができ、各メモリセルは、入力ゲート、忘却ゲート、および出力ゲートを含むことができ、たとえば、現在のアクティベーションを生成する際に使用するため、またはモデル240の他の構成要素に提供するために、セルがセルの以前の状態を記憶できるようにする。モデル240は、フィードフォワードニューラルネットワーク、畳み込みニューラルネットワーク、再帰型ニューラルネットワークであってもよく、異なるタイプのいくつかの部分を有するディープニューラルネットワークであってもよい。
【0045】
モデル240がリアルタイムまたは推論予測のために展開される前に、モデル240は、正確な予測242を生成する方法をモデル240に教えるためにトレーニングプロセスを受ける。モデル240は、一連のトレーニングサイクルにわたって内部パラメータ(たとえば、そのニューラルネットワーク)の現在の値を反復的に更新することによって、予測242を生成する方法を学習し得る。各トレーニングサイクルにおいて、モデル240はトレーニング例のバッチを処理する。各サイクルにおけるモデル240の出力は、バッチ内のトレーニング例ごとに生成された予測242のセットである。トレーニング中、モデル240は、損失関数または他の目的関数を最適化するためにトレーニングされ得る。損失関数は一般に、同じ話者のトレーニング例の出力または予測242間の変動を最小限に抑え、異なる話者のトレーニング例の予測242間の差異を最大化するように定式化される。
【0046】
図3は、オーディオサンプル202の話者表現222を生成する方法300の動作の例示的な配置のフローチャートである。動作302において、方法300は、第1の話者10、10aから第1のオーディオサンプル202、202aを受信し、第2の話者10、10bから第2のオーディオサンプル202、202bを受信する。動作304において、方法300は、第1のオーディオサンプル202aおよび第2のオーディオサンプル202bの各オーディオサンプル202に対するサブ動作304a~dを含む。動作304aにおいて、方法300は、それぞれのオーディオサンプル202を複数のスライス214に分割する。動作304bにおいて、複数のスライス214に基づいて、方法300は、候補音響埋込み232のセットを生成し、各候補音響埋込み232は、音響特徴のベクトル表現222を含む。動作304cにおいて、方法300は、候補音響埋込み232のセットから候補音響埋込み232のサブセットを除去する。動作304dにおいて、方法300は、候補音響埋込み232のサブセットを除去した後、候補音響埋込み232のセット内の残りの候補音響埋込み232から総音響埋込み234を生成する。
【0047】
図4は、本明細書に記載のシステム(たとえば、話者識別システム140および/または検証器200)および方法(たとえば、方法300)を実装するために使用され得る例示的なコンピューティングデバイス400の概略図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すことを意図している。ここに示される構成要素、それらの接続と関係、およびそれらの機能は、例示のみを目的としており、本明細書において説明および/または請求される発明の実装形態を限定することを意味するものではない。
【0048】
コンピューティングデバイス400は、プロセッサ410(たとえば、データ処理ハードウェア)、メモリ420(たとえば、メモリハードウェア)、ストレージデバイス430、メモリ420および高速拡張ポート450に接続する高速インターフェース/コントローラ440、ならびに低速バス470およびストレージデバイス430に接続する低速インターフェース/コントローラ460を含む。構成要素410、420、430、440、450、および460の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に、または必要に応じて他の方法で取り付けることができる。プロセッサ410は、高速インターフェース440に結合されたディスプレイ480などの外部入力/出力デバイス上にグラフィカルユーザインターフェース(GUI)のグラフィック情報を表示するために、メモリ420またはストレージデバイス430に記憶された命令を含むコンピューティングデバイス400内で実行するための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよびメモリのタイプとともに、必要に応じて使用され得る。また、複数のコンピューティングデバイス400が接続されてよく、各デバイスは必要な動作の一部を提供する(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0049】
メモリ420は、コンピューティングデバイス400内に非一時的に情報を記憶する。メモリ420は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的メモリ420は、コンピューティングデバイス400による使用のために一時的または永続的にプログラム(たとえば、一連の命令)またはデータ(たとえば、プログラム状態情報)を記憶するために使用される物理デバイスであり得る。不揮発性メモリの例は、これらに限定されないが、フラッシュメモリおよび読取り専用メモリ(ROM)/プログラム可能な読取り専用メモリ(PROM)/消去可能なプログラム可能な読取り専用メモリ(EPROM)/電子的に消去可能なプログラム可能な読取り専用メモリ(EEPROM(たとえば、通常、起動プログラムなどのファームウェアに使用される)を含む。揮発性メモリの例は、これらに限定されないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含む。
【0050】
ストレージデバイス430は、コンピューティングデバイス400に大容量ストレージを提供することができる。いくつかの実装形態では、ストレージデバイス430はコンピュータ可読媒体である。様々な異なる実装形態において、ストレージデバイス430は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の同様の固体メモリデバイス、あるいはストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイであり得る。追加の実装形態において、コンピュータプログラム製品は、情報担体に有形に具現化される。コンピュータプログラム製品は、遂行されると、上記の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ420、ストレージデバイス430、またはプロセッサ410上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0051】
高速コントローラ440は、コンピューティングデバイス400の帯域幅集中型動作を管理し、低速コントローラ460は、低帯域幅集中型動作を管理する。そのような役目の割当ては単なる例である。いくつかの実装形態では、高速コントローラ440は、メモリ420、ディスプレイ480(たとえば、グラフィックプロセッサまたはアクセラレータを通じて)、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート450に結合される。いくつかの実装形態では、低速コントローラ460は、ストレージデバイス430および低速拡張ポート490に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポート490は、たとえば、ネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナ、あるいはスイッチまたはルータなどのネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに結合され得る。
【0052】
コンピューティングデバイス400は、図面に示されるように、いくつかの異なる形態で実装され得る。たとえば、標準サーバ400aとして、またはそのようなサーバ400aのグループにおいて複数回、ラップトップコンピュータ400bとして、あるいはラックサーバシステム400cの一部として実装され得る。
【0053】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子回路および/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現することができる。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で遂行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【0054】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサ用の機械命令を含み、高レベルの手続き型および/またはオブジェクト指向プログラミング言語で、ならびに/あるいはアセンブリ言語/機械語で実装することができる。本明細書で使用される「機械可読媒体(machine-readable medium)」および「コンピュータ可読媒体(computer-readable medium)」という用語は、機械命令を機械可読信号として受け取る機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される、任意のコンピュータプログラム製品、非一時的なコンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0055】
本明細書で説明するプロセスおよび論理フローは、入力データ上で動作して出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを遂行する1つまたは複数のプログラマブルプロセッサによって実行することができる。プロセスおよび論理フローは、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)などの専用論理回路によって実行することもできる。コンピュータプログラムの実行に適したプロセッサには、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリ、あいはその両方から命令とデータを受け取る。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令とデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば、磁気、光磁気ディスク、または光ディスクを含むか、それらからデータを受信する、またはそれらにデータを転送する、あるいはその両方を行うように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを備えている必要はない。コンピュータプログラム命令およびデータを記憶するために適したコンピュータ可読媒体には、例として、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補足されるか、またはそこに組み込むことができる。
【0056】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様を、ユーザに情報を表示するための、ディスプレイデバイス、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーン、および任意で、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを備えたコンピュータ上で実装することができる。ユーザとの対話を提供するために、他の種類のデバイスも使用することができ、たとえば、ユーザに提供されるフィードバックは、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックなど、任意の形式の感覚的フィードバックである可能性があり、また、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受け取ることができる。さらに、コンピュータは、ユーザによって使用されるデバイスとの間でドキュメントを送受信することによって、たとえば、ウェブブラウザから受信した要求に応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0057】
いくつかの実装形態を説明してきた。それでもなお、本開示の趣旨および範囲から逸脱することなく、様々な修正が加えられ得ることが理解されるであろう。したがって、他の実装形態は、以下の特許請求の範囲内にある。
【符号の説明】
【0058】
10 ユーザ
10、10E 登録済みユーザ
10a~c ユーザ
10a~f ユーザ
10c 第3のユーザ
12 話された発話
12a 第1の発話
12b 第2の発話
100 スピーチ環境
110 スピーチ対応デバイス
110 ユーザデバイス
112 データ処理ハードウェア
114 メモリハードウェア
116 オーディオキャプチャデバイス
118 スピーチ出力デバイス
120 ネットワーク
130 リモートシステム
132 リモートリソース
134 リモートデータ処理ハードウェア
136 リモートメモリハードウェア
140 話者識別システム
142 応答
144 登録発話
144a~c 登録発話
146 話者署名
148 クエリ発話
200 検証器
202 オーディオサンプル
202a 第1のオーディオサンプル
202b 第2のオーディオサンプル
210 変動器
212、212a~n サンプル変動
212a~d オーディオサンプル変動
212a~f サンプル変動
212a 第1のサンプル変動
212b 第2のサンプル変動
212c 第3のサンプル変動
212d 第4のサンプル変動
212e 第5のサンプル変動
212f 第6のサンプル変動
214 スライス
214a 第1のスライス
214b 第2のスライス
214a~c スライス
214a~d オーディオスライス
216、216a~n スペクトログラム増強技法
216、216a 時間マスキングまたは追加
216、216b 周波数マスキング
216、216c 時間ワーピング
216a 第1のスペクトログラム増強技法
216b 第2のスペクトログラム増強技法
216c 第3のスペクトログラム増強技法
220 生成器
222 話者表現
222 ベクトル表現
222 音響埋込み
222a~d 音響埋込み
222a、d 候補音響埋込み
222e~h 音響埋込み
222e、f 候補音響埋込み
224 スコア
224 コサイン類似度スコア
224a 第1のスコア
224b 第2のスコア
224c 第3のスコア
230 比較器
232 候補音響埋込み
232a~d 候補音響埋込み
232a~n 候補
232b、c 候補音響埋込み
232e、f 候補音響埋込み
232e~h 音響埋込み
234 総音響埋込み
234a 第1の総音響埋込み
234b 第2の総音響埋込み
236 距離しきい値
240 モデル
242 予測
300 方法
302 動作
304 動作
304a~d サブ動作
304a 動作
304b 動作
304c 動作
304d 動作
400 コンピューティングデバイス
400a 標準サーバ
400b ラップトップコンピュータ
400c ラックサーバシステム
410 プロセッサ
420 メモリ
420 非一時的メモリ
430 ストレージデバイス
440 高速インターフェース/コントローラ
450 高速拡張ポート
460 低速インターフェース/コントローラ
470 低速バス
480 ディスプレイ
490 低速拡張ポート