IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許-話者認識性能の査定 図1A
  • 特許-話者認識性能の査定 図1B
  • 特許-話者認識性能の査定 図1C
  • 特許-話者認識性能の査定 図1D
  • 特許-話者認識性能の査定 図2A
  • 特許-話者認識性能の査定 図2B
  • 特許-話者認識性能の査定 図3
  • 特許-話者認識性能の査定 図4
  • 特許-話者認識性能の査定 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-08
(45)【発行日】2023-12-18
(54)【発明の名称】話者認識性能の査定
(51)【国際特許分類】
   G10L 17/04 20130101AFI20231211BHJP
   G10L 15/01 20130101ALI20231211BHJP
   G10L 17/18 20130101ALI20231211BHJP
【FI】
G10L17/04
G10L15/01 200
G10L17/18
【請求項の数】 22
(21)【出願番号】P 2023524428
(86)(22)【出願日】2021-10-20
(65)【公表番号】
(43)【公表日】2023-11-08
(86)【国際出願番号】 US2021055826
(87)【国際公開番号】W WO2022087117
(87)【国際公開日】2022-04-28
【審査請求日】2023-06-20
(31)【優先権主張番号】17/076,743
(32)【優先日】2020-10-21
(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)【発明者】
【氏名】チュアン・ワン
【審査官】中村 天真
(56)【参考文献】
【文献】特表2019-532354(JP,A)
【文献】特開2006-285205(JP,A)
【文献】特開平09-198086(JP,A)
【文献】米国特許出願公開第2003/0225719(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-17/26
G06V 40/00-40/70
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア(510)において、確認結果(148)の第1のセットを受信するステップであって、確認結果(148)の前記第1のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される主確認モデル(146a)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のそれぞれのインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、ステップと、
前記データ処理ハードウェア(510)において、確認結果(148)の第2のセットを受信するステップであって、確認結果(148)の前記第2のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される代替確認モデル(146b)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、ステップと、
前記データ処理ハードウェア(510)によって、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクション中に、前記1人または複数の登録ユーザ(10)のうちの前記1人として、前記それぞれのユーザ(10)の前記アイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準(212)を含む、確認結果(148)の前記第1のセットおよび前記第2のセット内の各確認結果(148)を特定するステップと、
前記データ処理ハードウェア(510)によって、前記性能測定基準(212)を含む、確認結果(148)の前記第1のセット内で特定された前記確認結果(148)の数に基づいて、前記主確認モデル(146a)の第1の性能スコア(222)を決定するステップと、
前記データ処理ハードウェア(510)によって、前記性能測定基準(212)を含む、確認結果(148)の前記第2のセット内で特定された前記確認結果(148)の数に基づいて、前記代替確認モデル(146b)の第2の性能スコア(222)を決定するステップと、
前記データ処理ハードウェア(510)によって、前記第1の性能スコア(222)および前記第2の性能スコア(222)に基づいて、前記代替確認モデル(146b)の確認能力が前記主確認モデル(146a)の確認能力よりも優れているかどうかを決定するステップと、
前記代替確認モデル(146b)の前記確認能力が前記主確認モデル(146a)の前記確認能力よりも優れているとき、前記データ処理ハードウェア(510)によって、少なくとも1つのそれぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換えるステップと
前記データ処理ハードウェア(510)において、確認結果(148)の第3のセットを受信するステップであって、確認結果(148)の前記第3のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される対照確認モデル(146)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のそれぞれのインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、ステップと、
前記データ処理ハードウェア(510)によって、前記対照確認モデル(146)が、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクション中に、前記それぞれのユーザ(10)の前記アイデンティティを確認することができたことまたはできなかったことのうちの一方を示す前記性能測定基準(212)を含む、確認結果(148)の前記第3のセット内の各確認結果(148)を特定するステップと、
前記データ処理ハードウェア(510)によって、前記性能測定基準(212)を含む、確認結果(148)の前記第3のセット内で特定された前記確認結果(148)の数に基づいて、前記対照確認モデル(146)の第3の性能スコア(222)を決定するステップと、
前記データ処理ハードウェア(510)によって、前記第2の性能スコア(222)および前記第3の性能スコア(222)に基づいて、前記代替確認モデル(146b)の前記確認能力が前記対照確認モデル(146)の確認能力よりも優れているかどうかを決定するステップと、
それぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換えるステップが、前記代替確認モデル(146b)の前記確認能力が前記主確認モデル(146a)と前記対照確認モデル(146)との両方の前記確認能力よりも優れているときに、それぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換えるステップを含む、
方法(300)。
【請求項2】
最初に、前記データ処理ハードウェア(510)によって、第1の複数のユーザデバイス(110)上で実行されるように前記主確認モデル(146a)を割り振り、第2の複数のユーザデバイス(110)上で実行されるように前記代替確認モデル(146b)を割り振るステップ
をさらに含み、
少なくとも1つのそれぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を置き換えるステップが、前記主確認モデル(146a)の代わりに前記第1の複数のユーザデバイス(110)のうちの少なくとも1つのそれぞれのユーザデバイス(110)上で実行されるように前記代替確認モデル(146b)を再割り振りするステップを含む、請求項1に記載の方法(300)。
【請求項3】
前記第1の複数のユーザデバイス(110)が、前記第2の複数のユーザデバイス(110)よりも多い、請求項2に記載の方法(300)。
【請求項4】
確認結果(148)の前記第1のセットおよび前記第2のセット内で受信された前記確認結果(148)のいずれも、ユーザ特定器(210)が前記それぞれのユーザ(10)を特定することを含まない、請求項1から3のいずれか一項に記載の方法(300)。
【請求項5】
確認結果(148)の前記第1のセットおよび前記第2のセット内で受信された前記確認結果(148)のいずれも、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクションに関連するオーディオデータを含まない、請求項1から4のいずれか一項に記載の方法(300)。
【請求項6】
前記主確認モデル(146a)が、訓練データの第1のセットで訓練され、
前記代替確認モデル(146b)が、訓練データの前記第1のセットと異なる、訓練データの第2のセットで訓練される、請求項1から5のいずれか一項に記載の方法(300)。
【請求項7】
データ処理ハードウェア(510)において、確認結果(148)の第1のセットを受信するステップであって、確認結果(148)の前記第1のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される主確認モデル(146a)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のそれぞれのインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、ステップと、
前記データ処理ハードウェア(510)において、確認結果(148)の第2のセットを受信するステップであって、確認結果(148)の前記第2のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される代替確認モデル(146b)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、ステップと、
前記データ処理ハードウェア(510)によって、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクション中に、前記1人または複数の登録ユーザ(10)のうちの前記1人として、前記それぞれのユーザ(10)の前記アイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準(212)を含む、確認結果(148)の前記第1のセットおよび前記第2のセット内の各確認結果(148)を特定するステップと、
前記データ処理ハードウェア(510)によって、前記性能測定基準(212)を含む、確認結果(148)の前記第1のセット内で特定された前記確認結果(148)の数に基づいて、前記主確認モデル(146a)の第1の性能スコア(222)を決定するステップと、
前記データ処理ハードウェア(510)によって、前記性能測定基準(212)を含む、確認結果(148)の前記第2のセット内で特定された前記確認結果(148)の数に基づいて、前記代替確認モデル(146b)の第2の性能スコア(222)を決定するステップと、
前記データ処理ハードウェア(510)によって、前記第1の性能スコア(222)および前記第2の性能スコア(222)に基づいて、前記代替確認モデル(146b)の確認能力が前記主確認モデル(146a)の確認能力よりも優れているかどうかを決定するステップと、
前記代替確認モデル(146b)の前記確認能力が前記主確認モデル(146a)の前記確認能力よりも優れているとき、前記データ処理ハードウェア(510)によって、少なくとも1つのそれぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換えるステップと
を含む、方法であって、
前記主確認モデル(146a)が、第1のニューラルネットワークを含み、前記代替確認モデル(146b)が、前記第1のニューラルネットワークと異なるニューラルネットワークアーキテクチャを有する第2のニューラルネットワークを含む、方法(300)。
【請求項8】
データ処理ハードウェア(510)において、確認結果(148)の第1のセットを受信するステップであって、確認結果(148)の前記第1のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される主確認モデル(146a)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のそれぞれのインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、ステップと、
前記データ処理ハードウェア(510)において、確認結果(148)の第2のセットを受信するステップであって、確認結果(148)の前記第2のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される代替確認モデル(146b)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、ステップと、
前記データ処理ハードウェア(510)によって、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクション中に、前記1人または複数の登録ユーザ(10)のうちの前記1人として、前記それぞれのユーザ(10)の前記アイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準(212)を含む、確認結果(148)の前記第1のセットおよび前記第2のセット内の各確認結果(148)を特定するステップと、
前記データ処理ハードウェア(510)によって、前記性能測定基準(212)を含む、確認結果(148)の前記第1のセット内で特定された前記確認結果(148)の数に基づいて、前記主確認モデル(146a)の第1の性能スコア(222)を決定するステップと、
前記データ処理ハードウェア(510)によって、前記性能測定基準(212)を含む、確認結果(148)の前記第2のセット内で特定された前記確認結果(148)の数に基づいて、前記代替確認モデル(146b)の第2の性能スコア(222)を決定するステップと、
前記データ処理ハードウェア(510)によって、前記第1の性能スコア(222)および前記第2の性能スコア(222)に基づいて、前記代替確認モデル(146b)の確認能力が前記主確認モデル(146a)の確認能力よりも優れているかどうかを決定するステップと、
前記代替確認モデル(146b)の前記確認能力が前記主確認モデル(146a)の前記確認能力よりも優れているとき、前記データ処理ハードウェア(510)によって、少なくとも1つのそれぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換えるステップと
を含む、方法であって、
前記性能測定基準(212)が、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)の前記1人または複数の登録ユーザ(10)のうちの前記1人として前記それぞれのユーザ(10)を特定することを誤って拒否したことを示す本人拒否測定基準(212)を含む、方法(300)。
【請求項9】
前記本人拒否測定基準(212)が、
前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)との前記それぞれのインタラクション中にゲスト権限に関して前記それぞれのユーザ(10)を認可したことを示すパント測定基準(212)と、
前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)との以前のそれぞれのインタラクション中にゲスト権限に関して前記それぞれのユーザ(10)を認可した直後に、前記それぞれのユーザデバイス(110)との前記それぞれのインタラクション中にゲスト権限に関して同じ前記それぞれのユーザ(10)を認可したことを示す二重パント測定基準(212)と、
前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)との以前のそれぞれのインタラクション中にゲスト権限に関して前記それぞれのユーザ(10)を認可した直後に、前記それぞれのインタラクションが、同じ前記それぞれのユーザ(10)が認可された権限を要求することに対応するとき、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)との前記それぞれのインタラクション中にゲスト権限に関して前記それぞれのユーザ(10)を認可したことを示すパントおよび再問合せ測定基準(212)と
のうちの1つを含む、請求項8に記載の方法(300)。
【請求項10】
データ処理ハードウェア(510)において、確認結果(148)の第1のセットを受信するステップであって、確認結果(148)の前記第1のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される主確認モデル(146a)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のそれぞれのインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、ステップと、
前記データ処理ハードウェア(510)において、確認結果(148)の第2のセットを受信するステップであって、確認結果(148)の前記第2のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される代替確認モデル(146b)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、ステップと、
前記データ処理ハードウェア(510)によって、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクション中に、前記1人または複数の登録ユーザ(10)のうちの前記1人として、前記それぞれのユーザ(10)の前記アイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準(212)を含む、確認結果(148)の前記第1のセットおよび前記第2のセット内の各確認結果(148)を特定するステップと、
前記データ処理ハードウェア(510)によって、前記性能測定基準(212)を含む、確認結果(148)の前記第1のセット内で特定された前記確認結果(148)の数に基づいて、前記主確認モデル(146a)の第1の性能スコア(222)を決定するステップと、
前記データ処理ハードウェア(510)によって、前記性能測定基準(212)を含む、確認結果(148)の前記第2のセット内で特定された前記確認結果(148)の数に基づいて、前記代替確認モデル(146b)の第2の性能スコア(222)を決定するステップと、
前記データ処理ハードウェア(510)によって、前記第1の性能スコア(222)および前記第2の性能スコア(222)に基づいて、前記代替確認モデル(146b)の確認能力が前記主確認モデル(146a)の確認能力よりも優れているかどうかを決定するステップと、
前記代替確認モデル(146b)の前記確認能力が前記主確認モデル(146a)の前記確認能力よりも優れているとき、前記データ処理ハードウェア(510)によって、少なくとも1つのそれぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換えるステップと
を含む、方法であって、
前記性能測定基準(212)は、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)の前記1人または複数の登録ユーザ(10)のうちの前記1人として前記それぞれのユーザ(10)を誤って受け入れたことを示す他人受入測定基準(212)を含む、方法(300)。
【請求項11】
前記他人受入測定基準(212)が、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、確認閾値を満たした前記それぞれのユーザデバイス(110)の少なくとも2人の登録ユーザ(10)に関連するそれぞれの確認スコアを決定したことを示す代理偽者受入測定基準(212)を含む、請求項10に記載の方法(300)。
【請求項12】
システム(500)であって、
データ処理ハードウェア(510)と、
前記データ処理ハードウェア(510)と通信するメモリハードウェア(520)であって、前記メモリハードウェア(520)は、命令を記憶し、前記命令は、前記データ処理ハードウェア(510)上で実行されるときに、前記データ処理ハードウェア(510)に、
確認結果(148)の第1のセットを受信する動作であって、確認結果(148)の前記第1のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される主確認モデル(146a)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のそれぞれのインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、動作、
確認結果(148)の第2のセットを受信する動作であって、確認結果(148)の前記第2のセットの各確認結果(148)が、それぞれのユーザデバイス(110)上で実行される代替確認モデル(146b)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、動作、
前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクション中に、前記1人または複数の登録ユーザ(10)のうちの前記1人として、前記それぞれのユーザ(10)の前記アイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準(212)を含む、確認結果(148)の前記第1のセットおよび前記第2のセット内の各確認結果(148)を特定する動作、
前記性能測定基準(212)を含む、確認結果(148)の前記第1のセット内で特定された前記確認結果(148)の数に基づいて、前記主確認モデル(146a)の第1の性能スコア(222)を決定する動作、
前記性能測定基準(212)を含む、確認結果(148)の前記第2のセット内で特定された前記確認結果(148)の数に基づいて、前記代替確認モデル(146b)の第2の性能スコア(222)を決定する動作、
前記第1の性能スコア(222)および前記第2の性能スコア(222)に基づいて、前記代替確認モデル(146b)の確認能力が前記主確認モデル(146a)の確認能力よりも優れているかどうかを決定する動作
記代替確認モデル(146b)の前記確認能力が前記主確認モデル(146a)の前記確認能力よりも優れているとき、少なくとも1つのそれぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換える動作、
確認結果(148)の第3のセットを受信する動作であって、確認結果(148)の前記第3のセットの各確認結果(148)が、それぞれのユーザデバイス(110)上で実行される対照確認モデル(146)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のそれぞれのインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、動作、
前記対照確認モデル(146)が、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクション中に、前記それぞれのユーザ(10)の前記アイデンティティを確認することができたことまたはできなかったことのうちの一方を示す前記性能測定基準(212)を含む、確認結果(148)の前記第3のセット内の各確認結果(148)を特定する動作、
前記性能測定基準(212)を含む、確認結果(148)の前記第3のセット内で特定された前記確認結果(148)の数に基づいて、前記対照確認モデル(146)の第3の性能スコア(222)を決定する動作、ならびに
前記第2の性能スコア(222)および前記第3の性能スコア(222)に基づいて、前記代替確認モデル(146b)の前記確認能力が前記対照確認モデル(146)の確認能力よりも優れているかどうかを決定する動作
を含む動作を実行させる、メモリハードウェア(520)と
を備える、システムであって、
それぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換える動作が、前記代替確認モデル(146b)の前記確認能力が前記主確認モデル(146a)と前記対照確認モデル(146)との両方の前記確認能力よりも優れているときに、それぞれの前記ユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換える動作を含む、
システム(500)。
【請求項13】
前記動作が、
最初に、第1の複数のユーザデバイス(110)上で実行されるように前記主確認モデル(146a)を割り振り、第2の複数のユーザデバイス(110)上で実行されるように前記代替確認モデル(146b)を割り振る動作
をさらに含み、
少なくとも1つのそれぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を置き換える動作が、前記主確認モデル(146a)の代わりに前記第1の複数のユーザデバイス(110)のうちの少なくとも1つのそれぞれのユーザデバイス(110)上で実行されるように前記代替確認モデル(146b)を再割り振りする動作を含む、請求項12に記載のシステム(500)。
【請求項14】
前記第1の複数のユーザデバイス(110)が、前記第2の複数のユーザデバイス(110)よりも多い、請求項13に記載のシステム(500)。
【請求項15】
確認結果(148)の前記第1のセットおよび前記第2のセット内で受信された前記確認結果(148)のいずれも、ユーザ特定器(210)が前記それぞれのユーザ(10)を特定することを含まない、請求項12から14のいずれか一項に記載のシステム(500)。
【請求項16】
確認結果(148)の前記第1のセットおよび前記第2のセット内で受信された前記確認結果(148)のいずれも、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクションに関連するオーディオデータを含まない、請求項12から15のいずれか一項に記載のシステム(500)。
【請求項17】
前記主確認モデル(146a)が、訓練データの第1のセットで訓練され、
前記代替確認モデル(146b)が、訓練データの前記第1のセットと異なる、訓練データの第2のセットで訓練される、請求項12から16のいずれか一項に記載のシステム(500)。
【請求項18】
システム(500)であって、
データ処理ハードウェア(510)と、
前記データ処理ハードウェア(510)と通信するメモリハードウェア(520)であって、前記メモリハードウェア(520)は、命令を記憶し、前記命令は、前記データ処理ハードウェア(510)上で実行されるときに、前記データ処理ハードウェア(510)に、
確認結果(148)の第1のセットを受信する動作であって、確認結果(148)の前記第1のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される主確認モデル(146a)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のそれぞれのインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、動作、
確認結果(148)の第2のセットを受信する動作であって、確認結果(148)の前記第2のセットの各確認結果(148)が、それぞれのユーザデバイス(110)上で実行される代替確認モデル(146b)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、動作、
前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクション中に、前記1人または複数の登録ユーザ(10)のうちの前記1人として、前記それぞれのユーザ(10)の前記アイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準(212)を含む、確認結果(148)の前記第1のセットおよび前記第2のセット内の各確認結果(148)を特定する動作、
前記性能測定基準(212)を含む、確認結果(148)の前記第1のセット内で特定された前記確認結果(148)の数に基づいて、前記主確認モデル(146a)の第1の性能スコア(222)を決定する動作、
前記性能測定基準(212)を含む、確認結果(148)の前記第2のセット内で特定された前記確認結果(148)の数に基づいて、前記代替確認モデル(146b)の第2の性能スコア(222)を決定する動作、
前記第1の性能スコア(222)および前記第2の性能スコア(222)に基づいて、前記代替確認モデル(146b)の確認能力が前記主確認モデル(146a)の確認能力よりも優れているかどうかを決定する動作、ならびに
前記代替確認モデル(146b)の前記確認能力が前記主確認モデル(146a)の前記確認能力よりも優れているとき、少なくとも1つのそれぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換える動作
を含む動作を実行させる、メモリハードウェア(520)と
を備え、
前記主確認モデル(146a)が、第1のニューラルネットワークを含み、前記代替確認モデル(146b)が、前記第1のニューラルネットワークと異なるニューラルネットワークアーキテクチャを有する第2のニューラルネットワークを含む、
システム(500)。
【請求項19】
システム(500)であって、
データ処理ハードウェア(510)と、
前記データ処理ハードウェア(510)と通信するメモリハードウェア(520)であって、前記メモリハードウェア(520)は、命令を記憶し、前記命令は、前記データ処理ハードウェア(510)上で実行されるときに、前記データ処理ハードウェア(510)に、
確認結果(148)の第1のセットを受信する動作であって、確認結果(148)の前記第1のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される主確認モデル(146a)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のそれぞれのインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、動作、
確認結果(148)の第2のセットを受信する動作であって、確認結果(148)の前記第2のセットの各確認結果(148)が、それぞれのユーザデバイス(110)上で実行される代替確認モデル(146b)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、動作、
前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクション中に、前記1人または複数の登録ユーザ(10)のうちの前記1人として、前記それぞれのユーザ(10)の前記アイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準(212)を含む、確認結果(148)の前記第1のセットおよび前記第2のセット内の各確認結果(148)を特定する動作、
前記性能測定基準(212)を含む、確認結果(148)の前記第1のセット内で特定された前記確認結果(148)の数に基づいて、前記主確認モデル(146a)の第1の性能スコア(222)を決定する動作、
前記性能測定基準(212)を含む、確認結果(148)の前記第2のセット内で特定された前記確認結果(148)の数に基づいて、前記代替確認モデル(146b)の第2の性能スコア(222)を決定する動作、
前記第1の性能スコア(222)および前記第2の性能スコア(222)に基づいて、前記代替確認モデル(146b)の確認能力が前記主確認モデル(146a)の確認能力よりも優れているかどうかを決定する動作、ならびに
前記代替確認モデル(146b)の前記確認能力が前記主確認モデル(146a)の前記確認能力よりも優れているとき、少なくとも1つのそれぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換える動作
を含む動作を実行させる、メモリハードウェア(520)と
を備え、
前記性能測定基準(212)が、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)の前記1人または複数の登録ユーザ(10)のうちの前記1人として前記それぞれのユーザ(10)を特定することを誤って拒否したことを示す本人拒否測定基準(212)を含む、
システム(500)。
【請求項20】
前記本人拒否測定基準(212)が、
前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)との前記それぞれのインタラクション中にゲスト権限に関して前記それぞれのユーザ(10)を認可したことを示すパント測定基準(212)と、
前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)との以前のそれぞれのインタラクション中にゲスト権限に関して前記それぞれのユーザ(10)を認可した直後に、前記それぞれのユーザデバイス(110)との前記それぞれのインタラクション中にゲスト権限に関して同じ前記それぞれのユーザ(10)を認可したことを示す二重パント測定基準(212)と、
前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)との以前のそれぞれのインタラクション中にゲスト権限に関して前記それぞれのユーザ(10)を認可した直後に、前記それぞれのインタラクションが、同じ前記それぞれのユーザ(10)が認可された権限を要求することに対応するとき、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)との前記それぞれのインタラクション中にゲスト権限に関して前記それぞれのユーザ(10)を認可したことを示すパントおよび再問合せ測定基準(212)と
のうちの1つを含む、請求項19に記載のシステム(500)。
【請求項21】
システム(500)であって、
データ処理ハードウェア(510)と、
前記データ処理ハードウェア(510)と通信するメモリハードウェア(520)であって、前記メモリハードウェア(520)は、命令を記憶し、前記命令は、前記データ処理ハードウェア(510)上で実行されるときに、前記データ処理ハードウェア(510)に、
確認結果(148)の第1のセットを受信する動作であって、確認結果(148)の前記第1のセットの各確認結果(148)は、それぞれのユーザデバイス(110)上で実行される主確認モデル(146a)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のそれぞれのインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、動作、
確認結果(148)の第2のセットを受信する動作であって、確認結果(148)の前記第2のセットの各確認結果(148)が、それぞれのユーザデバイス(110)上で実行される代替確認モデル(146b)が、それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間のインタラクション中に、前記それぞれのユーザデバイス(110)の1人または複数の登録ユーザ(10)のうちの1人として、前記それぞれのユーザ(10)のアイデンティティを確認したかどうかを示す、動作、
前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザ(10)と前記それぞれのユーザデバイス(110)との間の前記それぞれのインタラクション中に、前記1人または複数の登録ユーザ(10)のうちの前記1人として、前記それぞれのユーザ(10)の前記アイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準(212)を含む、確認結果(148)の前記第1のセットおよび前記第2のセット内の各確認結果(148)を特定する動作、
前記性能測定基準(212)を含む、確認結果(148)の前記第1のセット内で特定された前記確認結果(148)の数に基づいて、前記主確認モデル(146a)の第1の性能スコア(222)を決定する動作、
前記性能測定基準(212)を含む、確認結果(148)の前記第2のセット内で特定された前記確認結果(148)の数に基づいて、前記代替確認モデル(146b)の第2の性能スコア(222)を決定する動作、
前記第1の性能スコア(222)および前記第2の性能スコア(222)に基づいて、前記代替確認モデル(146b)の確認能力が前記主確認モデル(146a)の確認能力よりも優れているかどうかを決定する動作、ならびに
前記代替確認モデル(146b)の前記確認能力が前記主確認モデル(146a)の前記確認能力よりも優れているとき、少なくとも1つのそれぞれのユーザデバイス(110)上で実行される前記主確認モデル(146a)を前記代替確認モデル(146b)に置き換える動作
を含む動作を実行させる、メモリハードウェア(520)と
を備え、
前記性能測定基準(212)は、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、前記それぞれのユーザデバイス(110)の前記1人または複数の登録ユーザ(10)のうちの前記1人として前記それぞれのユーザ(10)を誤って受け入れたことを示す他人受入測定基準(212)を含む、
システム(500)。
【請求項22】
前記他人受入測定基準(212)は、前記主確認モデル(146a)または前記代替確認モデル(146b)のそれぞれが、確認閾値を満たした前記それぞれのユーザデバイス(110)の少なくとも2人の登録ユーザ(10)に関連するそれぞれの確認スコアを決定したことを示す代理偽者受入測定基準(212)を含む、請求項21に記載のシステム(500)
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、話者認識性能の査定に関する。
【背景技術】
【0002】
近年、複数のユーザ入力モダリティを提供するコンピューティングデバイスが、ますます普及してきている。たとえば、スマートフォンおよび他のユーザデバイスは、タイピングまたはポインティング入力の代替として、ユーザがデバイスに音声入力を与えることを可能にする音声認識サービスを含む。音声ベースの入力は、コンピューティングデバイスとインタラクションするためのハンズフリーの手段として、状況によっては、より便利な場合がある。デバイスには、プライバシーおよびセキュリティの侵害から守るために、音声入力に基づくアクションを実行する前にユーザのアイデンティティ(identity)が確認されることを必要とするものがある。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、確認モデルの性能を評価する方法を提供する。方法は、データ処理ハードウェアにおいて、確認結果の第1のセットを受信するステップであって、確認結果の第1のセットの各確認結果は、それぞれのユーザデバイス上で実行される主確認モデルが、それぞれのユーザとそれぞれのユーザデバイスとの間のそれぞれのインタラクション中に、それぞれのユーザデバイスの1人または複数の登録ユーザのうちの1人として、それぞれのユーザのアイデンティティを確認するかどうかを示す、ステップを含む。方法は、データ処理ハードウェアにおいて、確認結果の第2のセットを受信するステップであって、確認結果の第2のセットの各確認結果は、それぞれのユーザデバイス上で実行される代替確認モデルが、それぞれのユーザとそれぞれのユーザデバイスとの間のインタラクション中に、それぞれのユーザデバイスの1人または複数の登録ユーザのうちの1人として、それぞれのユーザのアイデンティティを確認するかどうかを示す、ステップも含む。方法は、データ処理ハードウェアによって、主確認モデルまたは代替確認モデルのそれぞれが、それぞれのユーザとそれぞれのユーザデバイスとの間のそれぞれのインタラクション中に、1人または複数の登録ユーザのうちの1人として、それぞれのユーザのアイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準(metric)を含む、確認結果の第1のセットおよび第2のセット内の各確認結果を特定するステップをさらに含む。方法は、データ処理ハードウェアによって、性能測定基準を含む、確認結果の第1のセット内で特定された確認結果の数に基づいて、主確認モデルの第1の性能スコアを決定するステップをさらに含む。方法は、データ処理ハードウェアによって、性能測定基準を含む、確認結果の第2のセット内で特定された確認結果の数に基づいて、代替主確認モデルの第2の性能スコアを決定するステップも含む。方法は、データ処理ハードウェアによって、第1の性能スコアおよび第2の性能スコアに基づいて、代替確認モデルの確認能力が主確認モデルの確認能力よりも優れているかどうかを決定するステップをさらに含む。方法は、代替確認モデルの確認能力が主確認モデルの確認能力よりも優れているとき、データ処理ハードウェアによって、少なくとも1つのそれぞれのユーザデバイス上で実行される主確認モデルを代替確認モデルに置き換えるステップも含む。
【0004】
本開示の実装は、以下の任意の特徴のうちの1つまたは複数を含む場合がある。一部の実装において、方法は、データ処理ハードウェアにおいて、確認結果の第3のセットを受信するステップであって、確認結果の第3のセットの各確認結果は、それぞれのユーザデバイス上で実行される対照確認モデルが、それぞれのユーザとそれぞれのユーザデバイスとの間のそれぞれのインタラクション中に、それぞれのユーザデバイスの1人または複数の登録ユーザのうちの1人として、それぞれのユーザのアイデンティティを確認するかどうかを示す、ステップも含む。これらの実装において、方法は、データ処理ハードウェアによって、対照確認モデルが、それぞれのユーザとそれぞれのユーザデバイスとの間のそれぞれのインタラクション中に、それぞれのユーザのアイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準を含む、確認結果の第3のセット内の各確認結果を特定するステップをさらに含む。これらの実装において、方法は、データ処理ハードウェアによって、性能測定基準を含む、確認結果の第3のセット内で特定された確認結果の数に基づいて、対照確認モデルの第3の性能スコアを決定するステップと、データ処理ハードウェアによって、第2の性能スコアおよび第3の性能スコアに基づいて、代替確認モデルの確認能力が対照確認モデルの確認能力よりも優れているかどうかを決定するステップとをさらに含む。これらの実装において、それぞれのユーザデバイス上で実行される主確認モデルを代替確認モデルに置き換えるステップは、代替確認モデルの確認能力が主確認モデルと対照確認モデルとの両方の確認能力よりも優れているときに、それぞれのユーザデバイス上で実行される主確認モデルを代替確認モデルに置き換えるステップを含む。
【0005】
いくつかの例において、方法は、最初に、データ処理ハードウェアによって、第1の複数のユーザデバイス上で実行されるように主確認モデルを割り振り、第2の複数のユーザデバイス上で実行されるように代替確認モデルを割り振るステップを含む。これらの例において、少なくとも1つのそれぞれのユーザデバイス上で実行される主確認モデルを置き換えるステップは、主確認モデルの代わりに第1の複数のユーザデバイスの中の少なくとも1つのそれぞれのユーザデバイス上で実行されるように代替確認モデルを再割り振りするステップを含む。第1の複数のユーザデバイスは、第2の複数のユーザデバイスよりも多くてよい。
【0006】
本開示の別の態様は、確認モデルの性能を評価するためのシステムを提供する。システムは、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを含む。メモリハードウェアは、命令を記憶し、命令は、データ処理ハードウェア上で実行されるときに、データ処理ハードウェアに動作を実行させる。動作は、確認結果の第1のセットを受信する動作であって、確認結果の第1のセットの各確認結果は、それぞれのユーザデバイス上で実行される主確認モデルが、それぞれのユーザとそれぞれのユーザデバイスとの間のそれぞれのインタラクション中に、それぞれのユーザデバイスの1人または複数の登録ユーザのうちの1人として、それぞれのユーザのアイデンティティを確認するかどうかを示す、動作を含む。動作は、確認結果の第2のセットを受信する動作であって、確認結果の第2のセットの各確認結果は、それぞれのユーザデバイス上で実行される代替確認モデルが、それぞれのユーザとそれぞれのユーザデバイスとの間のインタラクション中に、それぞれのユーザデバイスの1人または複数の登録ユーザのうちの1人として、それぞれのユーザのアイデンティティを確認するかどうかを示す、動作も含む。動作は、主確認モデルまたは代替確認モデルのそれぞれが、それぞれのユーザとそれぞれのユーザデバイスとの間のそれぞれのインタラクション中に、1人または複数の登録ユーザのうちの1人として、それぞれのユーザのアイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準を含む、確認結果の第1のセットおよび第2のセット内の各確認結果を特定する動作をさらに含む。動作は、性能測定基準を含む、確認結果の第1のセット内で特定された確認結果の数に基づいて、主確認モデルの第1の性能スコアを決定する動作をさらに含む。動作は、性能測定基準を含む、確認結果の第2のセット内で特定された確認結果の数に基づいて、代替主確認モデルの第2の性能スコアを決定する動作も含む。動作は、第1の性能スコアおよび第2の性能スコアに基づいて、代替確認モデルの確認能力が主確認モデルの確認能力よりも優れているかどうかを決定する動作をさらに含む。動作は、代替確認モデルの確認能力が主確認モデルの確認能力よりも優れているとき、少なくとも1つのそれぞれのユーザデバイス上で実行される主確認モデルを代替確認モデルに置き換える動作も含む。
【0007】
一部の実装において、動作は、確認結果の第3のセットを受信する動作であって、確認結果の第3のセットの各確認結果は、それぞれのユーザデバイス上で実行される対照確認モデルが、それぞれのユーザとそれぞれのユーザデバイスとの間のそれぞれのインタラクション中に、それぞれのユーザデバイスの1人または複数の登録ユーザのうちの1人として、それぞれのユーザのアイデンティティを確認するかどうかを示す、動作も含む。これらの実装において、動作は、対照確認モデルが、それぞれのユーザとそれぞれのユーザデバイスとの間のそれぞれのインタラクション中に、それぞれのユーザのアイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準を含む、確認結果の第3のセット内の各確認結果を特定する動作をさらに含む。これらの実装において、動作は、性能測定基準を含む、確認結果の第3のセット内で特定された確認結果の数に基づいて、対照確認モデルの第3の性能スコアを決定する動作と、データ処理ハードウェアによって、第2の性能スコアおよび第3の性能スコアに基づいて、代替確認モデルの確認能力が対照確認モデルの確認能力よりも優れているかどうかを決定するステップとをさらに含む。これらの実装において、それぞれのユーザデバイス上で実行される主確認モデルを代替確認モデルに置き換える動作は、代替確認モデルの確認能力が主確認モデルと対照確認モデルとの両方の確認能力よりも優れているときに、それぞれのユーザデバイス上で実行される主確認モデルを代替確認モデルに置き換える動作を含む。
【0008】
いくつかの例において、動作は、最初に、第1の複数のユーザデバイス上で実行されるように主確認モデルを割り振り、第2の複数のユーザデバイス上で実行されるように代替確認モデルを割り振る動作を含む。これらの例において、少なくとも1つのそれぞれのユーザデバイス上で実行される主確認モデルを置き換える動作は、主確認モデルの代わりに第1の複数のユーザデバイスの中の少なくとも1つのそれぞれのユーザデバイス上で実行されるように代替確認モデルを再割り振りする動作を含む。第1の複数のユーザデバイスは、第2の複数のユーザデバイスよりも多くてよい。
【0009】
システムまたは方法の実装は、以下の任意の特徴のうちの1つまたは複数を含む場合がある。一部の実装において、確認結果の第1のセットおよび第2のセット内で受信された確認結果のいずれも、ユーザ特定器がそれぞれのユーザを特定することを含まない。一部の構成において、確認結果の第1のセットおよび第2のセット内で受信された確認結果のいずれも、それぞれのユーザとそれぞれのデバイスとの間のそれぞれのインタラクションに関連するオーディオデータを含まない。動作上、主確認モデルは、訓練データの第1のセットで訓練され、代替確認モデルは、訓練データの第1のセットと異なる、訓練データの第2のセットで訓練される。主確認モデルは、第1のニューラルネットワークを含む場合があり、代替確認モデルは、第1のニューラルネットワークと異なるニューラルネットワークアーキテクチャを有する第2のニューラルネットワークを含む場合がある。
【0010】
いくつかの例において、性能測定基準は、主確認モデルまたは代替確認モデルのそれぞれが、それぞれのユーザデバイスの1人または複数の登録ユーザのうちの1人として、それぞれのユーザを特定することを誤って拒否したことを示す本人拒否(false reject)測定基準を含む。本人拒否測定基準は、主確認モデルまたは代替確認モデルのそれぞれが、それぞれのユーザデバイスとのそれぞれのインタラクション中にゲスト権限(guest privilege)に関してそれぞれのユーザを認可したことを示すパント(punt)測定基準と、主確認モデルまたは代替確認モデルのそれぞれが、それぞれのユーザデバイスとの以前のそれぞれのインタラクション中にゲスト権限に関してそれぞれのユーザを認可した直後に、それぞれのユーザデバイスとのそれぞれのインタラクション中にゲスト権限に関して同じそれぞれのユーザを認可したことを示す二重パント測定基準と、主確認モデルまたは代替確認モデルのそれぞれがそれぞれのユーザデバイスとの以前のそれぞれのインタラクション中にゲスト権限に関してそれぞれのユーザを認可した直後に、それぞれのインタラクションが、同じそれぞれのユーザが認可された権限を要求することに対応するとき、主確認モデルまたは代替確認モデルのそれぞれが、それぞれのユーザデバイスとのそれぞれのインタラクション中にゲスト権限に関してそれぞれのユーザを認可したことを示すパントおよび再問合せ測定基準とのうちの1つを含む場合がある。
【0011】
一部の実装において、性能測定基準は、主確認モデルまたは代替確認モデルのそれぞれが、それぞれのユーザデバイスの1人または複数の登録ユーザのうちの1人として、それぞれのユーザを誤って受け入れたことを示す他人受入(false accept)測定基準を含む。ここで、他人受入測定基準は、主確認モデルまたは代替確認モデルのそれぞれが、確認閾値を満たしたそれぞれのユーザデバイスの少なくとも2人の登録ユーザに関連するそれぞれの確認スコアを決定したことを示す代理偽者受入測定基準を含む場合がある。
【0012】
本開示の1つまたは複数の実装の詳細が、添付の図面および以下の説明に記載されている。その他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0013】
図1A】確認分析器のための例示的なスピーチ環境の概略図である。
図1B】確認分析器のための例示的なスピーチ環境の概略図である。
図1C】確認分析器のための例示的なスピーチ環境の概略図である。
図1D】確認分析器のための例示的なスピーチ環境の概略図である。
図2A】確認モデルの性能を評価するための例示的な確認分析器の概略図である。
図2B】確認モデルの性能を評価するための例示的な確認分析器の概略図である。
図3】確認モデルの性能を評価する方法の動作の例示的な配列の流れ図である。
図4】本明細書に記載のシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
図5】本明細書において説明されるシステムおよび方法を実装するために使用され得る例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0014】
様々な図面における同様の参照符号は、同様の要素を示す。
【0015】
概して、確認プロセスは、エンティティに関連する1つまたは複数の特性に基づいて、エンティティが何らかのタスクまたはアクションを実行することを認可されるかどうかを特定するプロセスを指す。エンティティが人であるとき、確認プロセスに含まれる特性は、その人のバイオマーカ(biomarker)であることが多い。たとえば、確認プロセスは、人によって話されたスピーチまたはオーディオから抽出された音声的特徴を使用して、その人が特定のタスクを実行することを認可されることを確認する。スピーチ以外に、確認プロセスが使用する場合があるバイオマーカのその他の例は、指紋、網膜の特徴、顔の特徴(たとえば、顔認識において)、および/または筆跡(たとえば、署名)を含む。これらのバイオマーカのいずれによっても、確認プロセスは、通常、現在のバイオマーカ入力が以前のバイオマーカ入力と一致するかまたは極めて似ているかどうかを決定するために、現在のバイオマーカ入力を以前のバイオマーカ入力(すなわち、エンロールメント(enrollment)バイオマーカ)と比較する。現在のバイオマーカ入力が以前のバイオマーカ入力と一致するかまたは極めて似ているとき、確認プロセスは、現在のバイオマーカの入力を考慮して人のアイデンティティを確認し、人がアイデンティティの確認を必要とする特定のタスクを実行することを可能にする。
【0016】
話者認識システムは、2つ以上の話された発話が同じ話者から生じたかどうかを確認するための確認プロセスを実行する場合がある。この確認を実行するために、話者認識システムに関連する確認システムは、オーディオサンプル(たとえば、2つのオーディオサンプル)を比較し、話者によって話された第1の発話に対応する第1のオーディオサンプルが、別の話された発話に対応する第2のオーディオサンプルと一致するかまたは極めて似ているかどうかを決定する。第1の発話が別の話された発話と一致するかまたは非常に似ているとき、確認システムは、両方の発話が同じ話者からのものである可能性が高いと特定する。一方、第1の発話が別の話された発話と一致せず、あまり似ていないとき、確認システムは、各発話が異なる話者からのものである可能性が高いと特定する。いくつかの例において、話者認識システムは、一致を決定するためにテキスト依存(text-dependent)オーディオサンプルを比較する。その他の例において、話者認識システムは、2つのオーディオサンプルが同じ話者に由来するかどうかを決定するために、2つのテキスト非依存(text-independent)オーディオサンプルを比較する。多くの場合、話者確認を実行するために、話者認識システムのユーザは、ユーザを話者登録システムに登録またはエンロールする(enroll)ために、1つまたは複数の話された発話を確認システムに与える。話者登録システムにエンロールするユーザは、「登録ユーザ」と呼ばれる場合があり、したがって、用語「エンロールユーザ(enrolled user)」および「登録ユーザ」は、交換可能なように使用される場合がある。話者認識システムにエンロールすることによって、ユーザのエンロールメントが、話者認識システムに関連する特定のタスクを実行することをユーザに認可してよい。さらに、ユーザのエンロールメントは、確認システムが、エンロールメント発話(すなわち、ユーザをエンロールするために与えられた話された発話)を使用して後でユーザのアイデンティティを確認することを可能にする。たとえば、話者認識システムにコンピューティングデバイスの認可されたユーザとしてエンロールした後、ユーザがコンピューティングデバイスに話された発話を提出するとき、話者認識システム(たとえば、確認システム)は、提出された話された発話を1つまたは複数のエンロールメント発話と比較して、ユーザが認可されたユーザであるかどうかを決定する。
【0017】
確認を実行するために、確認システムは、確認モデルを使用して、発話の話者が認可されたユーザであるのかまたは認可されていないユーザであるのかの予測を生成してよい。しかし、残念ながら、自動化されたシステムは、欠点が無いわけではなく、確認モデルは、発話の話者を、話者が認可されたユーザでないときに認可されたユーザとして、または話者が認可されたユーザであるときに認可されていないユーザとして誤って特定することがある。システムが発話の話者を、話者が認可されたユーザでないときに認可されたユーザとして特定するとき、この誤特定は、話者の他人受入と呼ばれる。一方、システムが発話の話者を、話者が実際には認可されたユーザであるときに認可されていないユーザとして特定するとき、この誤特定は、話者の本人拒否と呼ばれる。確認システムは、他人受入および/または本人拒否に関連するいくつかの性能の問題を有する場合があるので、確認システムのプロバイダが、確認システムの性能に関するフィードバックを収集するかまたは確認システムの性能を査定することが有利である場合がある。しかし、確認システムが既に実装されている(たとえば、コンピューティングデバイスに展開されている)とき、確認システムの性能を評価することは、より複雑になる。
【0018】
確認システムの性能を評価する通常の手法は、概して煩雑であり、および/または確認システムが適切に評価されていることを保証するためのレビューのためにある程度の手動入力を含む。1つのそのような手法においては、有志が、様々なデバイスから電話をかけ、何らかの識別子(たとえば、個人識別番号(PIN))に従ってそれらの有志を特定し、話者識別子によってラベル付けされるようになる記録を提出する場合がある。これらの記録の集合によって、何らかの数のこれらの記録を使用して、確認システムが知られている話者のアイデンティティに対して確認をどれだけうまく実行するかを決定して、確認システム(たとえば、確認モデル)の性能が評価される場合がある。この手法の欠点は、有志が、概して、それらの時間に対して対価を支払われ、評価セットの記録が、通常、正確な評価を保証するために監査または監督されることである。この結果は、コストが高く、時間のかかるプロセスをもたらし得る。
【0019】
確認システムの性能を決定し得る別の手法は、確認システムを使用するデバイスからユーザデータを収集する手法である。この方法においては、確認システムを利用するデバイスからのユーザデータが、ユーザについてのすべての情報をマスキングする話者識別子をさらに割り振られる。たとえば、手法は、確認システムを使用する各デバイスからのオーディオが特定の話者に関連すると仮定し、すべてのユーザの関連付けを取り除くために、オーディオが収集されるときにオーディオに個人識別番号(PIN)を割り振る。電話参加有志の手法とよく似て、確認システムを利用するデバイスから収集されたオーディオデータは、それから、確認システムの性能を評価するための評価データセットとして使用され得る。しかし、当然のことながら、たとえこのプロセスがすべてのユーザの関連付けを取り除き、ユーザの同意を前提としているときでも、確認システムのプロバイダは、ユーザデータの管理を引き受け、顧客データのセキュリティを脅かす可能性があるすべての潜在的なセキュリティの問題に対して責任を負うことを望まない。さらに、たとえ信頼できるソースに対してであっても、ユーザまたは顧客が自身のデータを提供するときにはいつでも、顧客は、自身のデータの制御を放棄し、このデータに関するいかなる下流の問題(たとえば、セキュリティの問題)も防ぐことができないリスクを負う。したがって、この手法は、単一のデバイスが複数のユーザまたは話者を含むが、プライバシーおよび/またはセキュリティの問題にも影響を与える場合があるという現実にさらされる。
【0020】
確認システムの性能を評価するための様々な技術を悩ませる問題を克服するために、確認システムのプロバイダは、代わりに、確認システムによる確認プロセスについてまたは確認プロセス中に収集された情報を活用してよい。言い換えると、確認システムが、話者がエンロール/認可されたユーザであるかどうかを確認するとき、確認プロセスは、話者と確認システムとの間のインタラクションに関するデータ(たとえば、メタデータ)を生成する。たとえば、確認プロセスは、確認セッション中のインタラクションに関してイベントログのような情報を生成する。例示すると、エンロールされた話者が、認可を必要とするアクションを実行するために、デバイスに発話を話す場合がある。デバイスが認可を必要とするこの話された発話を受け取ると、確認システムは、話者がデバイスにエンロールされているかどうかを決定し、確認システムが話者を確認するとき、デバイスが機能を実行することを可能にするか、または話者が確認され得ないことを示す何らかの種類の応答を生成するかのどちらかである。この確認セッションに関して、デバイスおよび/または確認システムは、確認プロセスが開始されたことと、話者が確認され、受け入れられたか、または確認されず、拒否されたかのどちらかであることとを示す確認データを生成してよい。確認プロセスに関する確認データを収集することによって、生成される確認データは、確認システムの性能に関する重要な洞察を引き続き提供しながら、話者のアイデンティティ/識別子または話者に関連するいかなるオーディオデータ/音声的特徴も含まない。より詳細には、確認データは、話者に関連するいかなる個人データまたは生体認証データも共有することなく、確認システムと、より詳細には確認システムによって利用される確認モデルとの性能を示す測定基準を構築するために使用され得る。ユーザ固有の情報から切り離された確認データを使用し、(たとえば、有志の電話による)追加的な評価オーディオデータの収集を避けることによって、この性能評価技術は、通常の性能評価技術のいくつかの欠点を克服する。
【0021】
図1A図1Dは、確認デバイス110(デバイス110またはユーザデバイス110とも呼ばれる)に話された発話12を伝達する1人または複数のユーザ10を含むスピーチ環境100の例である。ユーザ10(すなわち、発話12の話者)は、発話12のクエリ、またはデバイス110からの応答を求めるためのコマンドを話してよい。同様に、発話12または発話12の少なくとも一部は、デバイス110によって検出されるときに、スリープ状態からウェイクアップし、デバイス110および/またはリモートサーバ上で実行される自動音声認識(ASR)システムによって処理されるクエリまたはコマンドに関連する後続のオーディオの記録を開始するようにデバイス110をトリガする呼び出しフレーズ(たとえば、ホットワード、ウェイクワード、トリガフレーズなど)を含んでよい。デバイス110は、スピーチ環境100内の1人または複数のユーザ10からの音をキャプチャするように構成される。ここで、オーディオ音は、デバイス110によってキャプチャされた呼び出しフレーズ、可聴クエリ、デバイス110のコマンド、または可聴コミュニケーションとして機能する、ユーザ10による話された発話12を指す場合がある。デバイス110のまたはデバイス110に関連する音声対応システムは、クエリに答えることおよび/またはコマンドを実行させることによって、コマンドに関するクエリをさばき得る。
【0022】
ここで、デバイス110は、発話12を検出し、ローカルまたはリモートASRシステムを呼び出すように構成される。デバイス110は、ユーザ10に関連し、話された発話12に対応するオーディオ信号を受信することができる任意のコンピューティングデバイスに対応する場合がある。ユーザデバイス110のいくつかの例は、モバイルデバイス(たとえば、モバイル電話、タブレット、ラップトップ、電子書籍リーダなど)、コンピュータ、ウェアラブルデバイス(たとえば、スマートウォッチ)、音楽プレーヤー、キャスティングデバイス(casting device)、スマート家電(たとえば、スマートテレビ)およびモノのインターネット(IoT)デバイス、リモコン、スマートスピーカなどを含むがこれらに限定されない。デバイス110は、データ処理ハードウェア112と、データ処理ハードウェア112と通信し、データ処理ハードウェア112によって実行されるときにデータ処理ハードウェア112に発話検出または何らかのその他の形態の発話/音声処理(たとえば、話者確認)に関連する1つまたは複数の動作を実行させる命令を記憶するメモリハードウェア114とを含む。
【0023】
いくつかの例において、デバイス110は、1つまたは複数のアプリケーション(すなわち、ソフトウェアアプリケーション)を含み、各アプリケーションは、デバイス110に関連する1つまたは複数の音声処理システム(たとえば、音声認識システム、テキストトゥスピーチシステム、話者認識システム、確認システム140など)を利用して、アプリケーション内で様々な機能を実行してよい。一部の実装において、デバイス110は、発話12を検出し、発話12を特徴付けるデータを1つまたは複数の音声処理システムに提供してよい。たとえば、デバイス110は、発話12の話者10が認可されたユーザであるかどうかを確認するように構成された確認アプリケーションを含む。たとえば、確認アプリケーションは、話者10からの1つまたは複数の発話12によって決定される話者の音声の特性(すなわち、音声的特徴)に基づいて、話者10のアイデンティティの主張を受け入れることまたは拒否することを含む話者確認プロセスを実行する。いくつかの例において、デバイス110は、ローカル話者確認を実行するためにローカルで、またはリモートのリソースを利用して話者確認の何らかの部分を実行するためにリモートでアプリケーションを用いて構成される。確認システム140は、テキスト依存またはテキスト非依存話者確認を実行してよい。テキスト依存話者確認は、スリープ状態からウェイクアップするようにデバイス110をトリガするために使用される、話者によって話された呼び出しフレーズから抽出された音声的特徴から話者を認識するのに有用である場合がある。
【0024】
デバイス110は、スピーチ環境100内の話された発話12をキャプチャし、電気信号に変換するためのオーディオキャプチャデバイス(たとえば、マイクロフォン)116を有するオーディオサブシステムをさらに含む。デバイス110は、示された例においては単一のオーディオキャプチャデバイス116を実装するが、デバイス110は、本開示の範囲から逸脱することなくオーディオキャプチャデバイス116のアレイを実装してよく、それによって、アレイ内の1または複数のオーディオキャプチャデバイス116が、デバイス110上に物理的に存在せず、オーディオサブシステム(たとえば、デバイス110の周辺機器)と通信する場合がある。たとえば、デバイス110は、車両全体に配置されたマイクロフォンのアレイを利用する車両インフォテインメントシステムに対応する場合がある。追加的または代替的に、デバイス110は、デバイス110から可聴オーディオ信号を伝達するための音声出力デバイス(たとえば、スピーカ)118も含む。たとえば、デバイス110は、検出された発話12に応答して合成された再生信号を生成するように構成される。言い換えると、発話12は、デバイス110によって生成され、音声出力デバイス118を介して伝達される合成されたオーディオによってデバイス110が答えるクエリに対応する場合がある。例示すると、デバイス110は、話者10に、確認プロセスがその話者のアイデンティティをデバイス110の認可されたユーザとして確認したことを知らせる合成された再生信号によって、検出された発話12に応答する場合がある。
【0025】
さらに、デバイス110は、ネットワーク120を介してリモートシステム130と通信するように構成される。リモートシステム130は、リモートデータ処理ハードウェア134(たとえば、リモートサーバもしくはCPU)および/またはリモートメモリハードウェア136(たとえば、リモートデータベースもしくはその他のストレージハードウェア)などのリモートリソース132を含んでよい。デバイス110は、リモートリソース132を利用して、音声認識および/または話者特定/確認などの音声処理に関連する様々な機能を実行してよい。たとえば、デバイス110は、確認システム140を使用して話者認識を実行するように構成される。このシステム140は、デバイス110上に存在してよく(オンデバイスシステムと呼ばれる)、またはリモートに存在する(たとえば、リモートシステム130上に存在する)が、デバイス110と通信してよい。いくつかの例においては、システム140のいくつかの部分がローカルまたはオンデバイスに存在する一方、その他の部分はリモートに存在する。たとえば、確認システム140のために音声確認を実行するように構成される確認モデル146は、リモートまたはローカルに存在する。いくつかの例において、確認システム140は、音声認識システム、ダイアライゼーションシステム、テキストトゥスピーチシステムなどのその他の音声処理システムと組み合わされる場合がある。一部の構成において、確認システム140が存在する場所は、処理要件に基づく。たとえば、システム140のサイズまたは処理要件がかなり大きい場合、システム140は、リモートシステム130に存在してよい。しかし、デバイス110がシステム140のサイズまたは処理要件をサポートし得るとき、1つまたは複数のシステム140は、データ処理ハードウェア112および/またはメモリハードウェア114を使用してデバイス110に存在してよい。
【0026】
確認システム140は、概して、ユーザ10に代わりにデバイス110から確認クエリ142を受信し、確認モデル146によって実行される確認プロセスの結果を示す応答144を提供するように構成される。いくつかの例において、確認モデル146は、確認を必要とする確認クエリ142を入力として受信し、確認クエリ142をデバイス110に提出したユーザ10が確認される(つまり、ユーザ10のアイデンティティが確認クエリ142の目的のためにデバイス110を使用することが認可されているアイデンティティである)かどうかに関して応答144を出力として生成する。ここで、確認システム140は、顔の特徴(すなわち、顔認識)、声の特徴(すなわち、声認識)、筆跡の特徴(すなわち、手書き認識)などを含む、確認のために使用される任意の種類のバイオメトリック(biometric)に関して確認プロセスを実行することができる。図1A図1Dなどのいくつかの例において、確認システム140は、確認クエリ142が話された発話12を特徴付ける音声的特徴を含む音声確認プロセスを実行し、確認システム140は、確認モデル146によって実行された音声確認プロセスの結果を示すためにデバイス110に応答144を提供する。音声的特徴は、dベクトル(d-vector)またはiベクトル(i-vector)を含んでよい。言い換えると、確認システム140は、発話12の話者10のアイデンティティを確認するために確認モデル146を使用して話者確認プロセスを実行するように構成される。たとえば、応答144は、話者10による話された発話12に基づいて、話者10がデバイス110に登録されている(すなわち、登録された話者である)かどうかを示す場合がある。
【0027】
引き続き図1Aを参照すると、デバイス110は、確認システム140を使用して、1人または複数のユーザ10をデバイス110にエンロールしてよい。ユーザ10をデバイス110にエンロールすることによって、エンロールメントが、エンロールユーザ10、10Eをデバイス110の認可されたユーザまたは登録ユーザとして特定するための一種の話者登録プロセスとして働く。デバイス110は、デバイス110のエンロールユーザ10Eがデバイス110の様々な機能にアクセスすることができるか、またはそれらの機能を制御するパーミッションを有してよく、一方、デバイス110にエンロールされていない認可されていないユーザ10が、デバイス110が実行することができる1つまたは複数の機能を実行することを禁止されるように構成可能であってよい。任意で、デバイス110は、複数のユーザ10をエンロールしてよい。複数のユーザ10がいる場合、各エンロールユーザ10Eは、デバイス110の機能に関する特定のパーミッションまたは権利を有する、デバイス110上のユーザアカウントを構成する場合がある。たとえば、夫、妻、および9歳の娘を含む家族が、デバイス110を所有している。ここで、各大人がデバイス110にエンロールするとき、大人は、各大人がデバイス110のすべての機能にアクセスするかまたはすべての機能を制御することを可能にするが、同じくエンロールユーザ10Eであるその娘がデバイスの110の全制御を行うことは制限するペアレンタルコントロールを設定する場合がある。たとえば、両親は、その娘がデバイス110によって制御されるサーモスタットのスケジュールなどのホームオートメーション制御を修正することを防止するように、その娘のアカウントを設定する。これは、あるエンロールユーザ10Eが、別のエンロールユーザ10Eのパーミッションまたは権利と重複するまたは異なる特定のパーミッションまたは権利を有する場合があることを意味する。さらに、エンロールされている者のパーミッションだけを生成する代わりに、デバイス110は、エンロールユーザ10Eではないデバイス110のユーザ10のパーミッションを指定するようにも構成され得る。たとえば、デバイス110のユーザ10がエンロールユーザ10Eでないとき、デバイス110は、限られた機能(たとえば、ゲストモード)を実行するか、またはエンロールされていないユーザ10がデバイス110を使用することを完全に防止するように構成され得る。限定しないが、エンロールユーザ10Eを認可することは、エンロールユーザ10Eのみがアクセスするパーミッションを有するリソースにデバイス110がアクセスすることを許可する場合がある。たとえば、デバイス110によってキャプチャされる音声コマンド「私の音楽プレイリストを再生して」を1人が言う、少なくとも2人のエンロールユーザ10Eがいる家庭で、確認システム140は、特定のエンロールされた話者10Eのアイデンティティを特定し、デバイス110が特定された話者10に関連する特定の音楽プレイリストにアクセスすることを許可し得るが、その他のエンロールユーザ10Eの音楽プレイリストにアクセスすることは許可し得ない。
【0028】
一部の構成において、デバイス110は、確認システム140を使用して、ユーザ10をデバイス110の登録された話者としてエンロールするエンロールメントプロセスを実行する。たとえば、確認システム140に関連する話者認識アプリケーションは、ユーザ10に1つまたは複数のエンロールメント発話12、12Eを話すように促し、それらのエンロールメント発話12、12Eから、ユーザ10に関して、発話シグネチャ(speaking signature)が生成され得る。一部の実装において、エンロールメント発話12Eは、たとえば、1つ、2つ、3つ、4つ、またはそれ以上の単語の短いフレーズである。確認システム140が、エンロールメント発話12Eとして予め定義されたフレーズを話すようにユーザ10に促してよく、またはユーザ10が、ユーザ10のために特に提供されなかったフレーズに基づいてエンロールメント発話12Eを自発的に話し、提供してよい。いくつかの例において、ユーザ10は、各エンロールメント発話が同じフレーズまたは異なるフレーズである複数のエンロールメント発話12Eを話す場合がある。エンロールメント発話12Eは、予め定義されたホットワードの後に受け取られた話されたオーディオを処理するためにスリープ状態からウェイクアップするようにデバイス110をトリガするように構成された予め定義されたホットワードをユーザ10が話すことを含む可能性がある。例はユーザ10がデバイス110に話されたエンロールメント発話12Eを与えることを示すが、その他の例は、ユーザ10のうちの1人または複数が別のデバイス(たとえば、スマートフォン)から確認システム140にアクセスしてエンロールメント発話12Eを与えることを含む場合がある。
【0029】
いくつかの例において、エンロールメント発話12Eを受信すると、確認システム140は、エンロールメント発話12Eを処理して、各エンロールメント発話12Eに関する話者表現を生成する。確認システム140は、エンロールメント発話12Eに関する話者表現のすべて、いくつか、または1つから、ユーザ10の話者シグネチャ(speaker signature)を生成してよい。いくつかの例において、話者シグネチャは、複数のエンロールメント発話12Eに関するそれぞれの話者表現の平均である。その他の例において、話者シグネチャは、1つまたは複数の基準に基づいて(たとえば、選択されたエンロールメント発話12Eのオーディオまたはオーディオの音声品質に基づいて)選択される特定のエンロールメント発話12Eからの特定の話者表現に対応する。話者10に関して話者シグネチャが生成されると、話者シグネチャは、デバイス110にローカルに記憶されるか、またはリモートシステム130に(たとえば、リモートメモリハードウェア136に)記憶され得る。
【0030】
エンロールメント後、デバイス110がスピーチ環境100内のユーザ10によるクエリ発話12、12Qを検出するとき、確認システム140は、クエリ発話12Qに基づいて、クエリ発話12Qの話者10がデバイス110のエンロールユーザ10Eであるか否かを特定するように構成される。クエリ発話12Qは、テキスト依存確認フレーズなどの特別な種類の発話もしくは話されたフレーズを指すか、またはより広く、1人もしくは複数のユーザ10のエンロールメントプロセスの完了後にユーザ10によって話される任意の発話12を含んでよいテキスト非依存フレーズを指す場合がある。ここで、確認モデル146によって実行される確認プロセスは、検出されたクエリ発話12Qの話者10がエンロールユーザ10Eであるかどうかを特定し、話者10がエンロールユーザ10Eであるか否かを示す応答144を生成する。いくつかの例において、確認モデル146は、エンロールユーザ10Eに関して生成されたdベクトルまたはiベクトルなどの話者シグネチャにアクセスすることができ、話者10による検出されたクエリ発話12Qを話者シグネチャと比較して、クエリ発話12Qが特定の話者シグネチャに対応するかどうかを決定する。これらの例において、クエリ発話12Qが特定の話者シグネチャに対応するとき、確認システム140は、クエリ発話12Qがエンロールユーザ10Eによって話されたと決定し、クエリ発話12Qの話者10がエンロールユーザ10Eであることを示す応答144を生成する。
【0031】
図1Aは、エンロールメントプロセスを実行することによってデバイス110に最初にエンロールしたユーザを示す。言い換えると、図1Aは、少なくとも1つのエンロールメント発話12Eが、デバイス110にエンロールするためにユーザ10によってデバイス110に送信されることを示す。エンロールメントプロセスに続いて、ユーザ10は、デバイス110にクエリ発話12Qを話す。デバイス110がクエリ発話12Qを受け取るとき、デバイス110は、確認モデル146が話者10がエンロールユーザ10Eであることを確認することを可能にするために、クエリ発話12Qを確認システム140に伝達する。ここで、確認モデル146が話者10が確かにエンロールユーザ10Eであることを確認するとき、確認システム140は、話者10がデバイス110のエンロールユーザ10Eであることを示す応答144をデバイス110に伝達する。確認されると、話者10は、デバイス110を使用するか、またはエンロールユーザ10Eがアクセスするパーミッションを有する、もしくはより詳細にはユーザ10に指定された、デバイス110によって提供されるコンピューティング機能の何らかの側面にアクセスしてよい。いくつかの例において、クエリ発話12Qは、クエリが後に続くホットワードを含む。これらの例において、確認モデル146は、ホットワードに対応するオーディオの一部分のみ、クエリに対応するオーディオの一部分のみ、またはホットワードとクエリとの両方を含むオーディオ全体に基づいて話者10を確認してよい。さらなる例において、クエリ発話12Qは、エンロールユーザ10Eのアイデンティティを確認するために、エンロールユーザ10Eが確認モデル146に与える特定の確認フレーズである場合がある。
【0032】
話者10が確認システム140のモデル146によって実行されるこの確認プロセスを開始するとき、(たとえば、デバイス110を介した)話者10と確認システム140との間の1つまたは複数のインタラクションを含んでよい確認セッションが開始済みである。確認システム140は、確認プロセス中に発生するインタラクションイベントを示す確認結果148を記録する/ログに残すように構成される。確認結果148としてキャプチャされる場合があるこれらのインタラクションイベントのいくつかの例は、確認のためのクエリ12Qの受け取り、クエリ12Qの拒否、クエリ12Qの受け入れ、確認システム140の決定(たとえば、エンロールされた話者の確率)、確認プロセスに関する話者10からのフィードバック、またはその他の確認ログイベントを含む。ここで、確認結果148を生成する場合がある話者10からのフィードバックの例は、話者10が、その後、クエリ12Qの結果とインタラクションするときである。言い換えると、クエリ12Qの実際の結果とのさらなるインタラクションは、話者10がクエリ12Qに対する応答144にさらに関与している(たとえば、検索結果をクリックしている、または確認システム140によって認可された機能を使用している)ので、確認システム140が話者10を正しく確認したことを示し得る。これらの確認結果148の性質上、これらのログイベントは、概して、いかなる機密性の高いユーザ情報(たとえば、ユーザ識別子)も含まず、および/またはクエリ12Qに対応する実際のオーディオデータを含まない。
【0033】
図1Bおよび図1Cは、確認システム140による確認プロセス中に発生する場合があるいくつかの確認結果148を示す。図1Bにおいて、確認システム140は、デバイス110がユーザX、ユーザY、およびユーザZとして示される3人のエンロールユーザ10Eを含むことを示す。この例において、ユーザXは、「私の次の予定は何」と述べるクエリ12Qをデバイス110に提出する。このクエリ12Qを受け取る際、デバイス110および/または確認システム140は、まず、クエリ発話12Qが確認の必要性を引き起こすかどうかを決定してよい。概して、発話12は、たとえば、デバイス110に記憶されたもしくはデバイス110がアクセス可能な個人情報の要求、制限された機能を実行する要求、または確認を必要とするように指定されたその他の情報の要求を発話が含むとき、確認の必要性を引き起こす。たとえば、3人家族の先の例において、父親は、その9歳の娘が露骨な歌詞にさらされないように認可を必要とすると父親が指定する露骨な歌詞を含む音楽プレイリストを持っている可能性がある。いくつかの例において、デバイス110および/または確認システム140は、クエリ12Qが確認の必要性を引き起こすかどうかにかかわらずクエリ12Qの確認プロセスを実行する場合がある。すなわち、話者10がデバイス110に話しかけるとき、確認システム140は、話者10がエンロールユーザ10Eであるかどうかを最初に決定してよいが、話された発話12が認可の実施を必要とするときにのみ認可を実施する。図1Bにおいて、「私の次の予定は何」という話された発話は、個人のカレンダー情報を要求するクエリである。ここで、確認システム140は、確認プロセスを開始し、話者、ユーザXを確認しようと試みる。ユーザXはエンロールユーザのリストに載っているが、この例において、確認システム140は、話者10、ユーザXがエンロールユーザ10Eであることを確認するのに失敗する。この失敗に基づいて、確認システム140は、デバイス110に応答144を伝達し、それてさらに、応答144は、確認失敗を示すために話者10、ユーザXに伝達される。応答144は、「すみません。あなたの声を確認することができませんでした」と述べる。話者10は、自分がデバイス110の確認システム140のエンロールユーザ10Eであることを認識しているので、たとえば、大きくした発声を用いて同じクエリ12Qの2回目の発音をしようとする(すなわち、同じクエリ12Qを再び尋ねようとする)第2のクエリ12Q2を提出してよい。図1Bに示されるように、確認システム140が、話者10、ユーザXの音声を確認することに失敗し、この失敗を、再び「すみません。あなたの声を確認することができませんでした」と述べる第2の応答144、144bとして再び伝達するので、この第2の問合せ12Q2も失敗であることが判明する。この失敗した確認セッション中に、確認システム140は、確認データとして、セッション中に発生した確認結果148をログに残す。たとえば、図1Bは、3つの確認結果148、148a~cを示す。第1の確認結果148aは、確認システム140(たとえば、確認モデル146)が話者10を認識しなかったイベントを指すパント(punt)イベントを示す。第2の確認結果148bは、話者10が認識されなかった(すなわち、パントされた)が、話者10が同じクエリ12Q2をもう一度再び尋ねたパントおよび再問合せイベントを示す。第3の確認結果148、148cは、確認失敗(すなわち、パント)と、同じクエリ12Q2のその後の再提出(すなわち、再問合せ)との後に、確認モデル146が話者10を確認することに再び失敗した(すなわち、二重パント)イベントを指す二重パントイベントを示す。言い換えると、これらの潜在的な確認結果148a~cの各々は、話者10がユーザXであり、ユーザXが実際には確認システム140のエンロールユーザ10Eであるので、本人拒否を示す。
【0034】
別の例として、図1Cは、確認結果148が他人受入であるシナリオを示す。確認システム140が他人受入であるインタラクションイベントを有すると決定する1つの方法は、確認システム140が複数のエンロールユーザ10Eを有するときである。複数のエンロールユーザ10Eがいる場合、発話12が話者10によって話されるとき、確認システム140は、発話12がエンロールユーザ10Eの各々に対応する尤度(likelihood)がどれだけであるかを決定してよい。たとえば、確認システム140は、話者10が対応するエンロールユーザ10Eであるかどうかの尤度を示す、各エンロールユーザ10Eのエンロールメントスコアを生成する。エンロールされた話者10Eのエンロールメントスコアが受入閾値スコアを満たすとき、確認システム140は、話者10をその特定のエンロールユーザ10Eとして指定するように構成される。これが確認システム140の理想的な挙動であるが、ときには、確認モデル146の実行が、特定の発話12Qに関して、2人以上のエンロールユーザ10Eが発話12Qの受入閾値を満たすスコアを有すると確認モデル146が決定することを示すことがある。たとえば、両者ともエンロールユーザ10Eである同じ家庭の2人の兄弟が、話者確認のための区別がつきにくいことがある似た声の特性を有する可能性がある。これが起こるとき、確認結果148は、2人以上のエンロールユーザ12Eが受入閾値を満たすスコアを有するという確認システム140による決定であるイベントを指す偽者受入イベントを示す。それは、話者10が単一のエンロールユーザ10Eのみであるが、確認システム140がクエリ発話12Qを2人以上のエンロールユーザ10Eのアイデンティティとして受け入れるので、偽者受入イベントと呼ばれる。言い換えると、実際には話していない受け入れられたアイデンティティは、偽者である。たとえば、図1Cは、閾値の受入値が値0.5であり、クエリ発話12Qが、2人以上のエンロールユーザ10Eが話者10である可能性があることを示す確認プロセスをもたらすことを示す。ここで、話者10は、ユーザXであり、確認モデル146は、ユーザXのスコア0.65、ユーザYのスコア0.8、およびユーザZのスコア0.4を示す。この例においては、ユーザYのスコアが最も高いので、確認システム140は、ユーザXではなくユーザY(すなわち、偽者)が発話12Qを話したと確認システム140が考えるような、「ユーザYさん、午後5時に約束があります」と述べる結果144を返す場合がある。
【0035】
図1Dは、確認システム140が、発話12の話者10がデバイス110のエンロールユーザ10Eであるかどうかを決定するために、(たとえば、3つの確認モデル146a~cとして示される)いくつかの確認モデル146のうちの1つを使用してよいことを示す。異なるモデル146が、モデル146をテストするため、開発するため、維持するため、または比較評価するために、確認システム140のプロバイダによって使用され得る。たとえば、グループAは、確認プロセスを実行するために第1の確認モデル146、146aを使用する対応するデバイス110を有する何人かのユーザ10(たとえば、7人のユーザ10)を示す。グループBは、第2の確認モデル146bを使用する対応するデバイス110を有する4人のユーザ10を示す。グループCは、確認プロセスを実行するために第3の確認モデル146cを使用して対応するデバイス110を有する3人のユーザ10を示す。この描かれた例において、第1の確認モデル146aは、確認システム140のユーザ10の大多数に展開された本番または主モデルに対応する場合があり、時の試練に耐えてきたので、概して堅牢であるはずである。第2の確認モデル146bは、確認システム140のプロバイダが確認プロセスの改良を開発する(たとえば、確認のバグを修正する)ために使用してよい実験または代替モデルに対応する場合がある。たとえば、確認モデル146は、ニューラルネットワークを使用して、発話12の話者10がエンロールユーザ10Eであるかどうかを決定する。このニューラルネットワークは、異なる種類のニューラルネットワークアーキテクチャを有してよい。第1の確認モデル146aなどの本番確認モデルは、1つの種類のニューラルネットワークアーキテクチャを使用してよく、一方、第2の確認モデル146bなどの実験確認モデルは、異なる種類のニューラルネットワークアーキテクチャ、または第1の確認モデル146aのニューラルネットワークアーキテクチャに対する改良/更新を使用する。追加的または代替的に、一部の実装において、各モデル146は、概して、登録またはエンロールされたアイデンティティを確認することをモデル146に教えるために訓練データのセットによって訓練される。したがって、各モデル146に提供される訓練データの内容は、その性能に何らかの影響を与える場合がある。少なくともこの理由から、本番確認モデル146aは、各モデル146が訓練データ(たとえば、確認訓練例)の異なるセットで訓練されたという事実において、実験確認モデル146bと異なってよい。そして、実験確認モデル146bは、訓練データに対するいずれかの変更が、本番確認モデル146aと比較されたときに、実験確認モデル146bを使用する確認システム140の確認性能を改善するかどうかを特定するために、本番確認モデル146aと並行して展開され得る。比較に基づくモデルの手法によれば、2つ以上のモデル146が、ユーザ10の何らかのセットに展開されてよく、プロバイダがこれらのモデル146の間の性能の類似性および相違を比較および/または評価することを可能にするために、それぞれのモデル146の確認プロセスについて、確認結果148の形態のデータが収集され得る。たとえば、図1Dは、第1のモデル146aを使用するグループAが確認結果の第1のセット148、148S1を生成し、第2のモデル146bを使用するグループBが確認結果の第2のセット148、148S2を生成し、第3のモデル146cを使用するグループCが確認結果の第3のセットの148、148S3を生成することを示す。比較に基づくモデルの手法を使用するとき、プロバイダは、展開の複雑さ、または実験確認モデル146bで発生し得るすべてのその他の問題を回避するために、ユーザトラフィックの大部分を本番確認モデル146aにルーティングしてよい。ここで、本番確認モデル146aは、確認システムユーザの大多数に展開され(すなわち、確認システム140を実行するユーザ10に関連するデバイス110に展開され)、一方、比較用のその他のモデル146は、確認システムユーザの少数に展開される(すなわち、確認システム140を実行するユーザ10に関連するデバイス110に展開される)。
【0036】
図1Dなどのいくつかの例において、確認システム140は、比較分析のために3つ以上のモデル146を使用する。たとえば、図1Dは、プロバイダが比較分析のために3つ以上のモデルを任意で展開してよいことを示すために、第3の確認モデル146cを使用するグループCを点線で示す。ここで、対照確認モデル146の使用を説明するために、第3のモデル146、146cが示される。対照確認モデル146は、本番モデル146aと実験モデル146bとの間の比較結果を確かめるために、本番確認モデル146(たとえば、第1の確認モデル146a)の冗長なバージョンを指す場合がある。言い換えると、本番モデル146aと実験モデル146bとの間の比較結果は、何らかの性能差を示す場合がある。本番モデル146aまたは実験モデル146bの性能の結果を対照モデル146cとさらに比較することによって、プロバイダは、性能差が実際に確認が原因であるのかまたはモデル146の何らかのその他の問題が原因であるのかを特定することができる場合がある。たとえば、恐らく、いくらかの数の本番モデル146aは、破損するか、またはバグを有する。ここで、バグに起因する本番モデル146aの性能が、話者10を確認するプロセスにおいて実験モデル146bをより良く見せる場合がある。しかし、実験モデル46bが、破損していないまたはバグのない状態の本番モデル146aを表す対照モデル146cと比較されるとき、対照モデル146cは、実験モデル146bよりも優れた性能を示す。これは、プロバイダが必ずしも実験モデル146bを置き換えるもしくは大量に展開するべきでないこと、および/またはいくつかの追加の問題が本番モデル146aに存在し得ることをプロバイダに示す場合がある。
【0037】
確認システム140がいくつかの異なる確認モデル146を使用する場合があるので、エンロールメントプロセスは、各モデル146が発話12の話者がエンロールユーザ10Eであるかどうかを適切に確認することができることを可能にするために、ユーザ10が各モデル146上でエンロールユーザ10Eになるようなものであってよい。エンロールメントプロセスに応じて、複数のモデルでユーザ10をエンロールすることは、登録するユーザ10に検出不可能であることから、エンロールするユーザ10がモデル固有のエンロールメント(たとえば、特定のエンロールメントフレーズ)を与えなければならないことまで幅があってよい。ユーザ10は、確認システム140が更新されるか、または確認モデル146がモデル146へのユーザのエンロールメントに影響を与える変更を受けるとき、見かけ上再エンロールしなければならない場合もある。たとえば、比較分析に基づいて、プロバイダは、第1の確認モデル146aを第2の確認モデル146bに置き換えることを決断する。これが起こるとき、第2の確認モデル146bは、本番モデル146になるためにユーザ10の大多数に展開される必要がある場合がある。この状況においては、何らかの数のユーザ10が、今や本番モデル146である第2の確認モデル146bに再エンロールするかまたは初めてエンロールする必要がある場合がある。
【0038】
図1A図1Dに示されるように、スピーチ環境100は、確認分析器200(分析器200とも呼ばれる)も含む。分析器200は、確認システム140と通信し、1つまたは複数の確認モデル146の性能を分析するように構成される。たとえば、たとえ図2Aおよび図2Bが分析器200が2つおよび3つのモデル146の性能をそれぞれ解析することを示すとしても、分析器200は、任意の数のモデル146に対して(たとえば、1つのモデル146に対してさえも)分析を実行するようにスケーラブルである。分析器200は、ローカルに(たとえば、ユーザデバイス110に)置かれ、その分析を確認システム140のプロバイダに(たとえば、ネットワーク120を介して)伝達するように構成されるか、またはリモートに(たとえば、リモートシステム130に)置かれ、プロバイダと通信してよい。いくつかの例においては、分析器200のいくつかの部分がローカルに置かれる場合があり、一方、その他の部分はリモートに置かれる。分析器200は、確認結果148を入力として受け取り、性能比較202を出力として生成するように構成される。いくつかの例において、性能比較202は、分析器200が比較するモデル146に関連して取られるべき何らかのアクションをトリガする。たとえば、分析器200は、ユーザ10の1つまたは複数のグループへの異なるモデル146の展開を調整するように構成される。言い換えると、分析器200は、実験確認モデル146bが本番確認モデル146aよりも優れた性能の確認能力を有することが判明するときに、主または本番確認モデル146aを実験または代替確認モデル146bに置き換えてよい。
【0039】
単一のモデル146を分析するのかまたは2つ以上のモデル146に対して比較分析を実行するのかにかかわらず、分析器200は、その分析器が分析しようと意図する各モデル146から確認結果のセット148Sを受信する。図2Aおよび図2Bを参照すると、分析器200は、特定器210、採点器220、および比較器230を含む。特定器210は、確認結果148を受信し、特定の性能測定基準212に対応する各確認結果148を特定するように構成される。ここで、性能測定基準212は、モデル146がユーザ10のアイデンティティを1つまたは複数の登録またはエンロールユーザ10Eとして確認することができたのかまたはできなかったのかの何らかのインジケーションを提供する確認セッション中に発生した特定のインタラクションイベントを指す場合がある。たとえば、性能測定基準212は、確認セッション中の本人拒否イベントまたは他人受入イベントに対応する。前述のように、本人拒否イベントのいくつかの例は、パント、二重パント、パントおよび再問合せを含み、一方、他人受入イベントの例は、偽者受入である。確認モデル146における本人拒否イベントまたは他人受入イベントを示すためのその他の同様の性能測定基準212があり得ることに留意されたい。図2Aに示されるように、特定器210は、確認結果148を1つまたは複数の対応する性能測定基準212、212a~nに分ける。
【0040】
1つまたは複数の性能測定基準212に対応する確認結果148を特定した後、特定器210は、1つまたは複数の性能測定基準212a~nを採点器220に伝達する。採点器220は、特定器210から1つまたは複数の性能測定基準212a~nを受信し、所与の性能測定基準212を含む確認結果148の数に基づいてスコア222を決定するように構成される。たとえば、採点器220は、それぞれの異なる種類の性能測定基準212に関してスコア222を決定することができる。採点器220がスコア222を決定するとき、スコア222は、特定のモデル146に提供される。言い換えると、確認結果の各セット148Sが所与の確認モデル146に対応するので、スコア222は、所与の性能測定基準212に関する特定のモデルの性能の表現を形成する。例示すると、図2Aは、採点器220が、第1のモデル146aの第1の性能測定基準212aに関する第1のスコア222、222aと、第1のモデル146aの第2の性能測定基準212bに関する第2のスコア222、222bと、第1のモデル146aの第nの性能測定基準212nに関する第nのスコア222、222nとを生成することを示す。図2Aにおいて、分析器200は、2つのモデル146a~b(たとえば、主確認モデル146aおよび代替確認モデル146b)を比較しているので、採点器220は、同じ性能測定基準212に関して、ただし、別のモデルの確認結果148(すなわち、その特定のモデル146からの確認結果のセット148S)についてスコア222を生成する。言い換えると、第2のモデル146bは、第1のモデル146aと同じ性能測定基準212に関して採点器220からスコア222を受信してよい。これは、第1のモデル146aが、第1のモデル146aからの確認結果のセット148S1に基づく二重パント測定基準212に関するスコア222を受信し、一方、第2のモデル146bが、第2のモデル146bからの確認結果のセット148S2に基づく二重パント測定基準212に関するスコア222を受信することを意味する。
【0041】
一部の実装において、スコア222が性能測定基準212としてパントに対応するとき、パントスコア222は、確認結果の特定のセット148S内のパントの数のカウントをセット内の確認結果148の総数で割った数を指す。性能測定基準212として二重パントに対応するスコア222に関して、二重パントスコア222は、確認結果の特定のセット148S内の二重パントの数のカウントをセット内の確認結果148の総数で割った数を指す場合がある。スコア222が性能測定基準212としてパントおよび再問合せに対応するとき、パントおよび再問合せスコア222は、確認結果の特定のセット148S内のパントと最初にパントされた同じクエリ12Qの再提出との組合せのカウントをセット内の確認結果148の総数で割った数を指す場合がある。スコア222が性能測定基準212として偽者受入に対応するとき、偽者受入スコア222は、ユーザ10を確認することができる受入スコア閾値を有する1人または複数のエンロールユーザ10Eがいるクエリ12Qの割合を指す場合がある。ここで、クエリ12Qの割合は、確認結果の特定のセット148S内の、ユーザ10を確認することができる受入スコア閾値を有する1人または複数のエンロールユーザ10Eがいるクエリ12Qの数のカウントをセット内のクエリ12Qの総数で割った数である。
【0042】
いくつかの例において、採点器220は、確認結果のセット148S内の性能測定基準212の種類の間の1つまたは複数の関係に基づいて確認モデル146のスコア222を生成する。関係は、他人受入イベントを表す測定基準212と本人拒否イベントを表す測定基準212との間の関係を指す場合がある。例示すると、採点器220は、他人受入イベント(すなわち、他人受入エラー)および本人拒否イベント(すなわち、本人拒否エラー)を、採点器220がスコア222に変換する単一のコストへと合併することによってスコア222を生成してよい。一部の実装において、スコア222は、他人受入イベントと本人拒否イベントとの重み付けされた組合せであるコスト関数を指す。一部の構成において、他人受入イベントおよび/または本人拒否イベントの量は、確認モデル146において他人受入イベントおよび/または本人拒否イベントが発生する確率を採点器220が特定することができることにつながる場合がある。ここで、モデル146のスコア222は、他人受入イベントの確率を乗じた第1のコスト係数(重みとも呼ばれる)を、本人拒否イベントの確率を乗じた第2のコスト係数と組み合わせた(たとえば、足した)数に等しい場合がある。その他の手法において、スコア222を形成するコストは、他人受入コスト成分を本人拒否コスト成分と組み合わせたものとして表される場合があり、各コスト成分は、誤りのイベント(false event)に割り振られたコスト重みに同じ話者の確率および誤りのイベントの確率を乗じたものとして表される。これらは採点器220がスコア222を生成するためのアルゴリズムのいくつかの例であるが、測定基準212の間の関係を表すその他のアルゴリズムが、スコア222を生成するために使用され得る。
【0043】
採点器220は、確認モデル146(たとえば、本番確認モデル146a)の確認能力が別の確認モデル146(たとえば、実験確認モデル146b)よりも優れているかどうかを比較器230が決定してよいように、性能測定基準スコア222を比較器230に伝達する。この決定を実行するために、比較器230は、モデル146の間で同じ性能測定基準212に関するスコア222を比較する。たとえば、図2Aは、比較器230が、第1のモデル146aの第1の性能測定基準212に関する第1の性能測定基準スコア222aと、第2のモデル146bの第1の性能測定基準212に関する第1の性能測定基準スコア222aとを比較することを示す。比較器230は、2つ以上のモデル146にわたって単一の性能測定基準スコア222を比較するように、または2つ以上のモデル146にわたって一度に複数の性能測定基準スコア222を比較するように構成され得る。分析器200が比較器230を使用して2つ以上のモデル146にわたって一度に複数の性能測定基準スコア222に比較するとき、分析器200は、各種類の性能測定基準212に関して重要度の何らかのインジケーションを提供してよい。たとえば、分析器200は、各種類の性能測定基準スコア222に重みを適用して、確認プロセスの確認能力に対するその全体的な重要度を示す。
【0044】
図2Aおよび図2Bを引き続き参照すると、一部の構成において、比較器230は、あるモデル146が別のモデル146よりも性能が良いかどうかを示す性能比較202を生成するように構成される。たとえば、図2Aにおいて、比較器230は、2つのモデル146a~b(たとえば、主確認モデル146aおよび代替確認モデル146b)を比較しており、一方、図2Bにおいて、比較器230は、3つのモデル146a~c(たとえば、主または本番確認モデル146a、代替または実験確認モデル146b、および対照確認モデル146c)を比較する。いくつかの例において、比較が、第2のモデル146bの性能スコア222が第1のモデル146aの対応する性能スコア222よりも優れていることを示すとき、比較器230は、第1のモデル146aを第2のモデル146bに置き換えることを推奨する。場合によっては、受動的にこの置き換えを推奨するのではなく、分析器200は、実際に第1のモデル146aを第2のモデル146bに置き換える。モデル146を別のモデル146に置き換えるために(たとえば、第1のモデル146aを第2のモデル146bに置き換えるために)、分析器200は、モデル146の各々に割り振られるユーザ10またはデバイス110の数をシフトまたは再割り振りしてよい。たとえば、ユーザデバイス110の大多数によって使用される本番確認モデル146を置き換えるとき、分析器200は、代わりに実験確認モデル146bをユーザデバイス110の大多数に展開し、その大多数が元の本番確認モデル146aを使用することを中止する。図2Bなどの一部の構成において、比較器230が2つ以上のモデル146の性能スコア222を比較しているとき、分析器200は、いつ分析器200がモデル146を置き換えることを推奨するかまたは能動的に置き換えるかに関する条件を設定する場合がある。たとえば、本番確認モデル146a、実験確認モデル146b、および対照確認モデル146cがある3モデル146a~cの状況で、分析器200は、実験確認モデル146bがその他のモデル146の各々を超える(たとえば、本番確認モデル146aおよび対照確認モデル146cを超える)(性能測定基準スコア222に基づく)性能を有する必要があるという条件を設定する。
【0045】
図3は、確認モデル146の性能を評価する方法300の動作の例示的な配列の流れ図である。動作302において、方法300は、確認結果の第1のセット148、148S1を受信し、確認結果の第1のセット148、148S1の各確認結果148は、それぞれのユーザデバイス110上で実行される主確認モデル146、146aが、それぞれのユーザ10とそれぞれのユーザデバイス110との間のそれぞれのインタラクション中に、それぞれのユーザデバイス110の1人または複数の登録ユーザ10Eのうちの1人として、それぞれのユーザ10のアイデンティティを確認するかどうかを示す。動作304において、方法300は、確認結果の第2のセット148、148S2を受信することであって、確認結果の第2のセット148、148S2の各確認結果148が、それぞれのユーザデバイス110上で実行される代替確認モデル146、146bが、それぞれのユーザ10とそれぞれのユーザデバイス110との間のインタラクション中に、それぞれのユーザデバイス110の1人または複数の登録ユーザ10Eのうちの1人として、それぞれのユーザ10のアイデンティティを確認するかどうかを示す、受信することも含む。動作306において、方法300は、主確認モデル146、146aまたは代替確認モデル146、146bのそれぞれが、それぞれのユーザ10とそれぞれのユーザデバイス110との間のそれぞれのインタラクション中に、1人または複数の登録ユーザ10Eのうちの1人として、それぞれのユーザ10のアイデンティティを確認することができたことまたはできなかったことのうちの一方を示す性能測定基準212を含む、確認結果の第1および第2のセット148S1、148S2の中の各確認結果148を特定する。動作308において、方法300は、性能測定基準212を含む、確認結果の第1のセット148S1内で特定された確認結果148の数に基づいて、主確認モデル146、146aの第1の性能スコア222、222aを決定する。動作310において、方法300は、性能測定基準212を含む、確認結果の第2のセット148S2内で特定された確認結果148の数に基づいて、代替主確認モデル146、146bの第2の性能スコア222、222aを決定する。動作312において、方法300は、第1の性能スコア222、222aおよび第2の性能スコア222、222aに基づいて、代替確認モデル146、146bの確認能力が主確認モデル146、146aの確認能力よりも優れているかどうかを決定する。動作314において、代替確認モデル146、146bの確認能力が主確認モデル146、146aの確認能力よりも優れているとき、方法300は、少なくとも1つのそれぞれのユーザデバイス110上で実行される主確認モデル146、146aを代替確認モデル146、146bに置き換える。
【0046】
図4は、確認モデル146の性能を評価する方法400の動作の別の例示的な配列の流れ図である。動作402において、方法400は、確認結果のセット148、148Sを受信し、確認結果のセット148、148Sの各確認結果148は、それぞれのユーザデバイス110上で実行される確認モデル146が、それぞれのユーザ10とそれぞれのユーザデバイス110との間のそれぞれのインタラクション中にそれぞれのユーザデバイス110の1人または複数の登録ユーザ10Eのうちの1人として、それぞれのユーザ10のアイデンティティを確認するかどうかを示す。動作404において、方法400は、確認モデル146がそれぞれのユーザ10をそれぞれのユーザデバイス110の1人または複数の登録ユーザ10Eのうちの1人として特定することを誤って拒否したことを示す本人拒否測定基準212を含む、確認結果のセット148Sの中の各確認結果148を特定する。動作406において、方法400は、他人受入測定基準212を含む、確認結果のセット148Sの中の各確認結果148を決定する。他人受入測定基準212は、確認モデル146が、確認閾値を満たしたそれぞれのユーザデバイス110の少なくとも2人の登録ユーザ10Eに関連するそれぞれの確認スコアを決定したことを示す。動作408において、方法400は、本人拒否測定基準212および他人受入測定基準212を含む、確認結果のセット148、148S内で特定された確認結果148の数に基づいて、確認モデル146の性能スコア222を生成する。
【0047】
図5は、本明細書において説明されたシステム(たとえば、確認システム140および/または分析器200)ならびに方法(たとえば、方法300、400)を実装するために使用され得る例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すように意図される。本明細書に示される構成要素、それらの構成要素の接続および関係、ならびにそれらの構成要素の機能は、単に例示的であるように意図されており、本明細書において説明および/または特許請求される本発明の実装を限定するように意図されていない。
【0048】
コンピューティングデバイス500は、プロセッサ510(たとえば、データ処理ハードウェア)、メモリ520(たとえば、メモリハードウェア)、ストレージデバイス530、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540、ならびに低速バス570およびストレージデバイス530に接続する低速インターフェース/コントローラ560を含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続されており、共通のマザーボードに搭載されるか、または適宜その他の方法で搭載される場合がある。プロセッサ510は、メモリ520内またはストレージデバイス530上に記憶された命令を含む、コンピューティングデバイス500内で実行するための命令を処理して、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上のグラフィカルユーザインターフェース(GUI)のためのグラフィカルな情報を表示することができる。その他の実装においては、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数の種類のメモリと一緒に適宜使用される場合がある。また、複数のコンピューティングデバイス500が、各デバイスが必要な動作の一部を提供するようにして(たとえば、サーババンク、一群のブレードサーバ、またはマルチプロセッサシステムとして)接続される場合がある。
【0049】
メモリ520は、コンピューティングデバイス500内で情報を非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであってよい。非一時的メモリ520は、コンピューティングデバイス500による使用のために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラムの状態情報)を一時的または永続的に記憶するために使用される物理的デバイスであってよい。不揮発性メモリの例は、フラッシュメモリおよび読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能プログラマブル読み出し専用メモリ(EPROM)/電子的消去可能プログラマブル読み出し専用メモリ(EEPROM)(たとえば、典型的にはブートプログラムなどのファームウェアのために使用される)を含むがこれらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むがこれらに限定されない。
【0050】
ストレージデバイス530は、コンピューティングデバイス500に大容量ストレージを提供することができる。一部の実装において、ストレージデバイス530は、コンピュータ可読媒体である。様々な異なる実装において、ストレージデバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成内のデバイスを含むデバイスのアレイであってよい。追加的な実装においては、コンピュータプログラム製品が、情報担体内に有形で具現化される。コンピュータプログラム製品は、実行されるときに上述の方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ520、ストレージデバイス530、またはプロセッサ510上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0051】
高速コントローラ540は、コンピューティングデバイス500に関する帯域幅を大量に消費する動作を管理し、一方、低速コントローラ560は、帯域幅をそれほど消費しない動作を管理する。役割のそのような割り当ては、例示的であるに過ぎない。一部の実装において、高速コントローラ540は、メモリ520に、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ580に、および様々な拡張カード(図示せず)を受け入れてよい高速拡張ポート550に結合される。一部の実装において、低速コントローラ560は、ストレージデバイス530および低速拡張ポート590に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含んでよい低速拡張ポート590は、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイスに結合される場合があり、またはたとえばネットワークアダプタを介してスイッチもしくはルータなどのネットワークデバイスに結合される場合がある。
【0052】
コンピューティングデバイス500は、図に示されるように、多くの異なる形態で実装され得る。たとえば、コンピューティングデバイス500は、標準的なサーバ500aとして、もしくはそのようなサーバ500aのグループ内で複数回、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装され得る。
【0053】
本明細書に記載のシステムおよび技術の様々な実装は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはこれらの組合せで実現され得る。これらの様々な実装は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するために結合された、専用または汎用であってよい少なくとも1つのプログラミング可能なプロセッサを含むプログラミング可能なシステム上の、実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムへの実装を含み得る。
【0054】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラミング可能なプロセッサ用の機械命令を含み、高級手続き型プログラミング言語および/もしくはオブジェクト指向プログラミング言語、ならびに/またはアセンブリ/機械言語で実装され得る。本明細書において使用されるとき、用語「機械可読媒体」および「コンピュータ可読媒体」は、機械命令を機械可読信号として受け取る機械可読媒体を含む、プログラミング可能なプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。用語「機械可読信号」は、プログラミング可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【0055】
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なプロセッサが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得る。コンピュータプログラムの実行に好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ、またはランダムアクセスメモリ、またはこれらの両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。また、概して、コンピュータは、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受信するか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完され得るか、または専用の論理回路に組み込まれ得る。
【0056】
ユーザとのインタラクションを提供するために、本開示の1つまたは複数の態様は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意で、ユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上に実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることが可能であり、ユーザからの入力は、音響、スピーチ、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
【0057】
いくつかの実装が、説明された。しかしながら、本開示の精神および範囲を逸脱することなく様々な修正がなされ得ることは、理解されるであろう。したがって、その他の実装は、添付の特許請求の範囲の範囲内にある。
【符号の説明】
【0058】
10 ユーザ
10E エンロールユーザ
12 話された発話
12E エンロールメント発話
12Q クエリ発話、クエリ
12Q2 第2のクエリ
100 スピーチ環境
110 確認デバイス、デバイス、ユーザデバイス
112 データ処理ハードウェア
114 メモリハードウェア
116 オーディオキャプチャデバイス
118 音声出力デバイス
120 ネットワーク
130 リモートシステム
132 リモートリソース
134 リモートデータ処理ハードウェア
136 リモートメモリハードウェア
140 確認システム
142 確認クエリ
144 応答
144b 第2の応答
146 確認モデル
146a 第1の確認モデル、本番確認モデル
146b 第2の確認モデル、実験確認モデル
146c 第3の確認モデル、対照モデル
148 確認結果
148S 確認結果のセット
148S1 確認結果の第1のセット
148S2 確認結果の第2のセット
148S3 確認結果の第3のセット
148a~c 確認結果
200 確認分析器、分析器
202 性能比較
210 特定器
212 性能測定基準
212a~n 性能測定基準
220 採点器
222 スコア
222a 第1のスコア、第1の性能測定基準スコア
222b 第2のスコア
222n 第nのスコア
230 比較器
300 方法
400 方法
500 コンピューティングデバイス
500a サーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 プロセッサ
520 メモリ
530 ストレージデバイス
540 高速インターフェース/コントローラ
550 高速拡張ポート
560 低速インターフェース/コントローラ
570 低速バス
580 ディスプレイ
590 低速拡張ポート
図1A
図1B
図1C
図1D
図2A
図2B
図3
図4
図5