(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-25
(54)【発明の名称】受動的かつ継続的なマルチ話者音声生体認証
(51)【国際特許分類】
G10L 17/00 20130101AFI20230518BHJP
G10L 25/30 20130101ALI20230518BHJP
【FI】
G10L17/00 200C
G10L25/30
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022561448
(86)(22)【出願日】2021-04-15
(85)【翻訳文提出日】2022-12-05
(86)【国際出願番号】 US2021027474
(87)【国際公開番号】W WO2021211836
(87)【国際公開日】2021-10-21
(32)【優先日】2020-04-15
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519084065
【氏名又は名称】ピンドロップ セキュリティー、インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100122563
【氏名又は名称】越柴 絵里
(72)【発明者】
【氏名】コーリー エリー
(72)【発明者】
【氏名】シヴァラマン ガネシュ
(72)【発明者】
【氏名】クマール アヴロッシュ
(72)【発明者】
【氏名】アントリック-ソバン イワン
(57)【要約】
本明細書に記載される実施形態は、音声生体認証システムが、受動的、能動的、継続的、又は静的な演算、又はそれらの組み合わせが可能な機械学習アーキテクチャを実行することを提供する。システムは、いくつかの場合には話者がエッジデバイス(例えば、車、テレビ、ラジオ、電話)に向かって、又はこの周辺で話す際に、能動的及び/又は静的に話者を登録することに加えて、受動的及び/又は継続的に、話者を登録する。システムは、演算を再構成するために、新しい話者がプロンプトされた発話をミラーリングすることを必要とせずに、その場でユーザを識別する。システムは、話者がシステムに発話を提供する際に、話者プロファイルを管理する。機械学習アーキテクチャは、場合によっては話者身元の知識なしに、受動的かつ継続的な音声生体認証システムを実装する。システムは、教師なし様式で身元を作成し、既知又は未知の話者を受動的に登録及び認識することがある。このシステムは、オーバーザトップサービス、及びIoTデバイス(例えば、パーソナルアシスタント、車両)、及びコールセンタのためのメディアコンテンツを含む、幅広いアプリケーションにわたってパーソナライゼーション及びセキュリティを提示する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
前記コンピュータによって、インバウンド音声信号に機械学習モデルを適用することによって、インバウンド話者のインバウンド埋め込みを抽出することと、
前記コンピュータによって、前記インバウンド埋め込みと、話者プロファイルデータベース中の話者プロファイルに記憶された声紋と、の間の距離に基づいて、類似度スコアを生成することと、
前記コンピュータが、前記インバウンド埋め込みの前記類似度スコアが類似度閾値を充足しないと判定することに応答して、
前記コンピュータによって、前記話者プロファイルデータベース中に、前記インバウンド埋め込みを包含する、前記インバウンド話者の新しい話者プロファイルを生成することであって、前記新しい話者プロファイルは、前記インバウンド埋め込みを新しい声紋として記憶するデータベースレコードである、生成することと、を含む、方法。
【請求項2】
前記コンピュータによって、中間サーバを介して、エンドユーザデバイスから前記インバウンド音声信号を受信することと、
前記コンピュータによって、前記新しい話者プロファイルに関連付けられた新しい話者識別子を前記中間サーバに伝送することと、を更に含む、請求項1に記載の方法。
【請求項3】
前記エンドユーザデバイスは、スマートテレビ、テレビに結合されたメディアデバイス、及びエッジデバイスのうちの少なくとも1つである、請求項2に記載の方法。
【請求項4】
前記コンピュータによって、前記インバウンド音声信号から1つ以上の特徴を抽出することを更に含み、前記コンピュータは、前記インバウンド音声信号から抽出された前記コンピュータの前記1つ以上の特徴に前記機械学習モデルを適用することによって、前記インバウンド埋め込みを生成する、請求項1に記載の方法。
【請求項5】
前記コンピュータによって、第2のインバウンド信号から第2のインバウンド埋め込みを、前記第2のインバウンド信号に前記機械学習モデルを適用することによって抽出することと、
前記コンピュータによって、前記第2のインバウンド埋め込みと、前記新しい話者プロファイルに記憶された前記新しい声紋と、の間の前記距離に基づいて、第2の類似度スコアを生成することと、
前記コンピュータが、前記第2のインバウンド埋め込みの前記第2の類似度スコアが類似度閾値を充足すると判定することに応答して、
前記コンピュータによって、前記第2のインバウンド信号に基づいて、前記インバウンド話者の前記新しい声紋を更新することと、を更に含む、請求項1に記載の方法。
【請求項6】
前記コンピュータによって、前記インバウンド音声信号に関連付けられた加入者識別子を受信することと、
前記コンピュータによって、前記話者プロファイルデータベースに記憶された、前記加入者識別子に関連付けられた1つ以上の話者プロファイルを識別することであって、前記コンピュータは、前記加入者識別子に関連付けられた前記1つ以上の話者プロファイルに記憶された1つ以上の声紋に基づいて、前記インバウンド埋め込みの1つ以上の類似度スコアを生成する、識別することと、を更に含む、請求項1に記載の方法。
【請求項7】
前記加入者識別子は、1つ以上の話者識別子に関連付けられており、各話者プロファイルは、対応する話者識別子に関連付けられている、請求項6に記載の方法。
【請求項8】
前記加入者識別子及び各話者識別子のうちの少なくとも1つは、匿名化された識別子である、請求項7に記載の方法。
【請求項9】
前記コンピュータは、1つ以上のインバウンド埋め込みに基づいて、前記新しい声紋を生成し、前記方法は、
前記コンピュータによって、前記1つ以上のインバウンド埋め込みに基づいて、前記新しい声紋の1つ以上の成熟度因子を識別することと、
前記コンピュータによって、前記1つ以上の成熟度因子に基づいて、前記新しい声紋の成熟度のレベルを判定することと、を更に含む、請求項1に記載の方法。
【請求項10】
前記コンピュータによって、前記コンピュータが、前記新しい声紋の前記成熟度のレベルが成熟度閾値を充足すると判定することに応答して、前記新しい話者プロファイルの新しい類似度閾値を更新することを更に含む、請求項9に記載の方法。
【請求項11】
前記コンピュータが、前記成熟度のレベルが成熟度閾値に至らないと判定することに応答して、
前記コンピュータによって、能動的登録プロンプトを生成することであって、前記能動的登録プロンプトは、追加のインバウンド音声信号に対する要求を表示するように構成されたユーザインターフェースを含む、生成することと、
前記コンピュータによって、前記追加のインバウンド信号から追加の埋め込みを抽出することと、
前記コンピュータによって、前記追加のインバウンド信号から抽出された追加の埋め込みに従って、前記新しい声紋を更新することと、を更に含む、請求項9に記載の方法。
【請求項12】
前記コンピュータが、前記成熟度のレベルが成熟度閾値を充足すると判定することに応答して、前記コンピュータによって、前記新しい話者プロファイルを一時的なプロファイルから永続的なプロファイルに更新することを更に含む、請求項9に記載の方法。
【請求項13】
システムであって、
話者プロファイルを包含するデータレコードを記憶するように構成された非一時的機械可読記憶媒体を備える話者プロファイルデータベースと、
プロセッサを備えるコンピュータと、を備え、前記プロセッサは、
インバウンド音声信号に機械学習モデルを適用することによって、インバウンド話者のインバウンド埋め込みを抽出することと、
前記インバウンド埋め込みと、前記話者プロファイルデータベース中の話者プロファイルに記憶された声紋と、の間の距離に基づいて、類似度スコアを生成することと、
前記コンピュータが、前記インバウンド埋め込みの前記類似度スコアが類似度閾値を充足しないと判定することに応答して、
前記話者プロファイルデータベース中に、前記インバウンド埋め込みを包含する、前記インバウンド話者の新しい話者プロファイルを生成することであって、前記新しい話者プロファイルは、前記インバウンド埋め込みを新しい声紋として記憶するデータベースレコードである、生成することと、を行うように構成されている、システム。
【請求項14】
前記コンピュータは、
中間サーバを介して、エンドユーザデバイスから前記インバウンド音声信号を受信することと、
前記新しい話者プロファイルに関連付けられた新しい話者識別子を前記中間サーバに伝送することと、を行うように更に構成されている、請求項13に記載のシステム。
【請求項15】
前記エンドユーザデバイスは、スマートテレビ、テレビに結合されたメディアデバイス、及びエッジデバイスのうちの少なくとも1つである、請求項14に記載のシステム。
【請求項16】
前記コンピュータは、前記インバウンド音声信号から1つ以上の特徴を抽出するように更に構成されており、前記コンピュータは、前記コンピュータが前記インバウンド音声信号から抽出した前記1つ以上の特徴に前記機械学習モデルを適用することによって、前記インバウンド埋め込みを生成する、請求項13に記載のシステム。
【請求項17】
前記コンピュータは、
第2のインバウンド音声信号から第2のインバウンド埋め込みを、前記第2のインバウンド音声信号に前記機械学習モデルを適用することによって抽出することと、
前記第2のインバウンド埋め込みと、前記新しい話者プロファイルに記憶された前記新しい声紋と、の間の前記距離に基づいて、第2の類似度スコアを生成することと、
前記コンピュータが、前記第2のインバウンド埋め込みの前記第2の類似度スコアが類似度閾値を充足すると判定することに応答して、
前記第2のインバウンド音声信号に基づいて、前記インバウンド話者の前記新しい声紋を更新することと、を行うように更に構成されている、請求項13に記載のシステム。
【請求項18】
前記コンピュータは、
前記インバウンド音声信号に関連付けられた加入者識別子を受信することと、
前記話者プロファイルデータベースに記憶された、前記加入者識別子に関連付けられた1つ以上の話者プロファイルを識別することであって、前記コンピュータは、前記加入者識別子に関連付けられた前記1つ以上の話者プロファイルに記憶された1つ以上の声紋に基づいて、前記インバウンド埋め込みの1つ以上の類似度スコアを生成する、識別することと、を行うように更に構成されている、請求項13に記載のシステム。
【請求項19】
前記加入者識別子は、1つ以上の話者識別子に関連付けられており、各話者プロファイルは、対応する話者識別子に関連付けられている、請求項18に記載のシステム。
【請求項20】
前記加入者識別子及び各話者識別子のうちの少なくとも1つは、匿名化された識別子である、請求項19に記載のシステム。
【請求項21】
前記コンピュータは、1つ以上のインバウンド埋め込みに基づいて、前記新しい声紋を生成し、前記コンピュータは、
前記1つ以上のインバウンド埋め込みに基づいて、前記新しい声紋の1つ以上の成熟度因子を識別することと、
前記1つ以上の成熟度因子に基づいて、前記新しい声紋の成熟度のレベルを判定することと、を行うように更に構成されている、請求項13に記載のシステム。
【請求項22】
前記コンピュータは、前記コンピュータが、前記新しい声紋の前記成熟度のレベルが成熟度閾値を充足すると判定することに応答して、前記新しい話者プロファイルの新しい類似度閾値を更新するように更に構成されている、請求項21に記載のシステム。
【請求項23】
前記コンピュータは、
前記成熟度のレベルが成熟度閾値に至らないと判定することに応答して、
能動的登録プロンプトを生成することであって、前記能動的登録プロンプトは、追加のインバウンド音声信号に対する要求を表示するように構成されたユーザインターフェースを含む、生成することと、
前記追加のインバウンド信号から追加の埋め込みを抽出することと、
前記追加のインバウンド信号から抽出された追加の埋め込みに従って、前記新しい声紋を更新することと、を行うように更に構成されている、請求項21に記載のシステム。
【請求項24】
前記コンピュータは、前記コンピュータが、前記成熟度のレベルが成熟度閾値を充足すると判定することに応答して、前記新しい話者プロファイルを一時的なプロファイルから永続的なプロファイルに更新するように更に構成されている、請求項21に記載のシステム。
【請求項25】
コンピュータ実装方法であって、
コンピュータによって、複数のインバウンド話者の複数の発話を含むインバウンド音声信号を受信することと、
前記コンピュータによって、前記インバウンド音声信号に機械学習アーキテクチャを適用して、前記複数のインバウンド話者に対応する複数のインバウンド埋め込みを抽出することと、
前記複数のインバウンド話者の各インバウンド話者について、
前記コンピュータによって、前記インバウンド話者のインバウンド埋め込みに基づいて、1つ以上の類似度スコアを生成することであって、前記インバウンド話者の各類似度スコアは、前記インバウンド埋め込みと、話者プロファイルデータベースに記憶された1つ以上の声紋と、の間の距離を示す、生成することと、
前記コンピュータによって、前記1つ以上の声紋から前記インバウンド話者の最も近い声紋を識別することであって、前記最も近い声紋は、前記インバウンド話者について生成された前記1つ以上の類似度スコアの最大類似度スコアに対応する、識別することと、
1つ以上の類似度スコア閾値を充足する各最大類似度スコアについて、
前記コンピュータによって、前記1つ以上の類似度スコア閾値を充足する前記最大類似度スコアを有する前記インバウンド話者の前記インバウンド埋め込みを含むように、話者プロファイルデータベースを更新することと、を含む、コンピュータ実装方法。
【請求項26】
前記コンピュータによって、前記インバウンド音声信号を伴って受信された加入者識別子に基づいて、前記話者プロファイルデータベースに記憶された前記1つ以上の声紋を識別することを更に含む、請求項25に記載の方法。
【請求項27】
前記コンピュータによって、前記インバウンド埋め込みの前記最大類似度スコアが前記1つ以上の類似度スコアを充足すると判定することと、
前記コンピュータによって、前記インバウンド話者の前記最も近い声紋を包含する、前記話者プロファイルデータベース中の話者プロファイルを識別することであって、前記話者プロファイルは、話者識別子を含む、識別することと、を更に含む、請求項25に記載の方法。
【請求項28】
前記コンピュータによって、前記インバウンド話者の前記最大類似度スコアが第1の類似度閾値を充足し、かつ、第2の類似度閾値に至らないと判定することであって、前記第1の類似度閾値は、第2の類似度閾値よりも比較的低い、判定することと、
前記コンピュータによって、前記インバウンド話者の前記インバウンド埋め込みを含むように、前記話者プロファイルデータベースに記憶された弱い埋め込みのリストを更新することと、を更に含む、請求項25に記載の方法。
【請求項29】
前記コンピュータによって、前記加入者識別子に関連付けられた前記話者プロファイルデータベース中の1つ以上の話者プロファイルに対する再クラスタリング演算を実行することと、
前記コンピュータによって、前記再クラスタリング演算に基づいて、前記弱い埋め込みのリストの前記インバウンド埋め込みの前記最大類似度スコアを更新することと、
前記弱い埋め込みのリストの前記インバウンド埋め込みの前記最大類似度スコアが1つ以上の類似度スコア閾値を充足すると判定することに応答して、
前記コンピュータによって、前記1つ以上の類似度スコア閾値を充足する前記最大類似度スコアを有する前記インバウンド話者の前記インバウンド埋め込みを含むように、前記話者プロファイルデータベースを更新することと、を更に含む、請求項28に記載の方法。
【請求項30】
前記コンピュータによって、前記加入者識別子の再クラスタリング演算を実行するためのトリガ条件を検出することと、
前記コンピュータによって、前記加入者識別子に関連付けられた1つ以上の話者プロファイルの前記複数の声紋に対する階層クラスタリング演算を実行することと、を更に含む、請求項25に記載の方法。
【請求項31】
前記コンピュータによって、既存の話者プロファイルからの新しい声紋クラスタに関連付けられた前記話者識別子を更新することを更に含み、前記新しい声紋クラスタは、前記加入者識別子に関連付けられた前記1つ以上の話者プロファイルに前記階層クラスタリング演算を適用することによって生成される、請求項30に記載の方法。
【請求項32】
前記コンピュータによって、仲介サーバを介してエンドユーザデバイスから前記インバウンド音声信号を受信することと、
前記コンピュータによって、前記1つ以上の類似度スコア閾値を充足する前記最大類似度スコアを有する各インバウンド話者に関連付けられた前記話者識別子を伝送することと、を更に含む、請求項25に記載の方法。
【請求項33】
コンピュータによって、複数のインバウンド話者の複数の発話を含む前記インバウンド音声信号を受信することを更に含む、請求項25に記載の方法。
【請求項34】
前記コンピュータによって、前記1つ以上の特徴に前記機械学習アーキテクチャを適用して、1つ以上の音声イベントを識別して環境設定を検出することと、
前記コンピュータによって、前記環境設定のインジケータと、前記1つ以上の類似度スコア閾値を充足する前記最大類似度スコアを有する各インバウンド話者に関連付けられた各話者識別子と、を仲介サーバに伝送することと、を更に含む、請求項25に記載の方法。
【請求項35】
前記1つ以上の類似度スコア閾値に至らない各最大類似度スコアについて、
前記コンピュータによって、前記インバウンド埋め込みを含む、前記加入者識別子に関連付けられた新しい話者プロファイルを生成することと、
前記コンピュータによって、前記インバウンド話者の前記新しい話者プロファイル及び前記インバウンド埋め込みを含むように、前記話者プロファイルデータベースを更新することと、を更に含む、請求項25に記載の方法。
【請求項36】
システムであって、
話者プロファイルを包含するデータレコードを記憶するように構成された非一時的機械可読記憶媒体を備える話者データベースと、
プロセッサを備えるコンピュータと、を備え、前記プロセッサは、
複数のインバウンド話者の複数の発話を含むインバウンド音声信号を受信することと、
前記インバウンド音声信号に機械学習アーキテクチャを適用して、前記複数のインバウンド話者に対応する複数のインバウンド埋め込みを抽出することと、
前記複数のインバウンド話者の各インバウンド話者について、
前記インバウンド話者のインバウンド埋め込みに基づいて、1つ以上の類似度スコアを生成することであって、前記インバウンド話者の各類似度スコアは、前記インバウンド埋め込みと、話者プロファイルデータベースに記憶された1つ以上の声紋と、の間の距離を示す、生成することと、
前記1つ以上の声紋から前記インバウンド話者の最も近い声紋を識別することであって、前記最も近い声紋は、前記インバウンド話者について生成された前記1つ以上の類似度スコアの最大類似度スコアに対応する、識別することと、
1つ以上の類似度スコア閾値を充足する各最大類似度スコアについて、
前記1つ以上の類似度スコア閾値を充足する前記最大類似度スコアを有する前記インバウンド話者の前記インバウンド埋め込みを含むように、話者プロファイルデータベースを更新することと、を行うように構成されている、システム。
【請求項37】
前記コンピュータは、前記インバウンド音声信号を伴って受信された加入者識別子に基づいて、前記話者プロファイルデータベースに記憶された前記1つ以上の声紋を識別するように更に構成されている、請求項36に記載のシステム。
【請求項38】
前記コンピュータは、
前記インバウンド埋め込みの前記最大類似度スコアが前記1つ以上の類似度スコアを充足すると判定することと、
前記インバウンド話者の前記最も近い声紋を包含する、前記話者データベース中の話者プロファイルを識別することであって、前記話者プロファイルは、話者識別子を含む、識別することと、を行うように更に構成されている、請求項36に記載のシステム。
【請求項39】
前記コンピュータは、
前記インバウンド話者の前記最大類似度スコアが第1の類似度閾値を充足し、かつ、第2の類似度閾値に至らないと判定することであって、前記第1の類似度閾値は、第2の類似度閾値よりも比較的低い、判定することと、
前記インバウンド話者の前記インバウンド埋め込みを含むように、前記話者データベースに記憶された弱い埋め込みのリストを更新することと、を行うように更に構成されている、請求項36に記載のシステム。
【請求項40】
前記コンピュータは、
前記加入者識別子に関連付けられた前記話者データベース中の1つ以上の話者プロファイルに対する再クラスタリング演算を実行することと、
前記再クラスタリング演算に基づいて、前記弱い埋め込みのリストの前記インバウンド埋め込みの前記最大類似度スコアを更新することと、
前記弱い埋め込みのリストの前記インバウンド埋め込みの前記最大類似度スコアが1つ以上の類似度スコア閾値を充足すると判定することに応答して、
前記1つ以上の類似度スコア閾値を充足する前記最大類似度スコアを有する前記インバウンド話者の前記インバウンド埋め込みを含むように、前記話者プロファイルデータベースを更新することと、を行うように更に構成されている、請求項39に記載のシステム。
【請求項41】
前記コンピュータは、
前記加入者識別子の再クラスタリング演算を実行するためのトリガ条件を検出することと、
前記加入者識別子に関連付けられた1つ以上の話者プロファイルの前記複数の声紋に対する階層クラスタリング演算を実行することと、を行うように更に構成されている、請求項36に記載のシステム。
【請求項42】
前記コンピュータは、既存の話者プロファイルからの新しい声紋クラスタに関連付けられた前記話者識別子を更新するように更に構成されており、前記新しい声紋クラスタは、前記加入者識別子に関連付けられた前記1つ以上の話者プロファイルに前記階層クラスタリング演算を適用することによって生成される、請求項41に記載のシステム。
【請求項43】
前記コンピュータは、
中間サーバを介してエンドユーザデバイスから前記インバウンド音声信号を受信することと、
前記1つ以上の類似度スコア閾値を充足する前記最大類似度スコアを有する各インバウンド話者に関連付けられた前記話者識別子を伝送することと、を行うように更に構成されている、請求項36に記載のシステム。
【請求項44】
前記コンピュータは、複数のインバウンド話者の複数の発話を含む前記インバウンド音声信号を受信するように更に構成されている、請求項36に記載のシステム。
【請求項45】
前記コンピュータは、
前記1つ以上の特徴に機械学習アーキテクチャを適用して、1つ以上の音声イベントを識別して環境設定を検出することと、
前記環境設定のインジケータと、前記1つ以上の類似度スコア閾値を充足する前記最大類似度スコアを有する各インバウンド話者に関連付けられた各話者識別子と、を仲介サーバに伝送することと、を行うように更に構成されている、請求項36に記載のシステム。
【請求項46】
前記コンピュータは、
前記1つ以上の類似度スコア閾値に至らない各最大類似度スコアについて、
前記インバウンド埋め込みを含む、前記加入者識別子に関連付けられた新しい話者プロファイルを生成することと、
前記インバウンド話者の前記新しい話者プロファイル及び前記インバウンド埋め込みを含むように、前記話者プロファイルデータベースを更新することと、を行うように更に構成されている、請求項36に記載のシステム。
【請求項47】
コンピュータ実装方法であって、
コンピュータによって、コンテンツサーバを介してエンドユーザデバイスからインバウンド話者のインバウンド音声信号を受信することと、
前記コンピュータによって、前記インバウンド音声信号に機械学習モデルを適用して、前記インバウンド話者のインバウンド埋め込みを抽出することと、
前記コンピュータによって、前記インバウンド埋め込みと、話者データベース中の話者プロファイルに記憶された声紋と、の間の距離に基づいて、前記インバウンド埋め込みの類似度スコアを生成することであって、前記類似度スコアは、1つ以上の類似度スコア閾値を充足する、生成することと、
前記コンピュータによって、前記話者プロファイル中の、前記コンテンツサーバの1つ以上のコンテンツ特性に対応する1つ以上の話者特性を識別することと、
前記コンピュータによって、前記インバウンド話者に関連付けられた前記1つ以上の話者特性をメディアコンテンツサーバに伝送することと、を含む、コンピュータ実装方法。
【請求項48】
前記コンピュータによって、前記コンテンツサーバから受信された加入者識別子に基づいて、前記話者プロファイルを識別することを更に含む、請求項47に記載の方法。
【請求項49】
前記コンピュータによって受信された前記加入者識別子は、第1の匿名化された識別子であり、前記加入者識別子は、1人以上の話者の1つ以上の話者識別子に関連付けられており、各話者識別子は、各話者プロファイルに対応する第2の匿名化された識別子である、請求項48に記載の方法。
【請求項50】
前記1つ以上の話者特性は、年齢特性及び性別特性のうちの少なくとも1つを含む、請求項47に記載の方法。
【請求項51】
前記コンピュータによって、前記インバウンド音声信号に第2の機械学習モデルを適用することによって、前記インバウンド話者の年齢特性及び性別特性のうちの少なくとも1つを判定することを更に含む、請求項47に記載の方法。
【請求項52】
前記コンピュータによって、前記インバウンド話者の前記話者プロファイルに記憶された年齢特性に基づいて、前記インバウンド話者の年齢を判定することを更に含む、請求項47に記載の方法。
【請求項53】
前記コンピュータによって、前記コンテンツサーバから前記インバウンド話者の少なくとも1つの話者特性を示す話者情報を受信することと、
前記コンピュータによって、前記少なくとも1つの話者特性を前記インバウンド話者の前記話者プロファイル中に記憶することと、
前記コンピュータによって、前記話者プロファイル中の前記少なくとも1つの話者特性に部分的に基づいて、前記話者プロファイルを識別することと、を更に含む、請求項47に記載の方法。
【請求項54】
前記コンピュータによって、前記インバウンド音声信号を伴ってコンテンツサーバからインバウンド認証データを受信することと、
前記コンピュータによって、類似度閾値を充足する前記類似度スコアと、前記話者プロファイルに記憶された期待される認証データを充足する前記インバウンド認証データと、に基づいて、前記インバウンド話者を認証することと、を更に含む、請求項47に記載の方法。
【請求項55】
前記認証データは、エンドユーザデバイス情報、前記エンドユーザデバイスに関連付けられたメタデータ、話者情報、及び生体認証情報のうちの少なくとも1つを含む、請求項54に記載の方法。
【請求項56】
前記コンピュータによって、前記インバウンド音声信号から1つ以上の特徴を抽出することと、
前記コンピュータによって、第2の機械学習モデルを適用することによって、前記1つ以上の特徴に基づいて、前記インバウンド音声信号がスプーフィング条件を含む尤度を示すスプーフィングスコアを計算することと、を更に含む、請求項47に記載の方法。
【請求項57】
前記コンピュータによって、メディアコンテンツデータベース中の、前記1つ以上の話者特性に対応する1つ以上のコンテンツ特性を有する1つ以上のメディアコンテンツファイルを識別することを更に含む、請求項47に記載の方法。
【請求項58】
前記コンピュータによって、前記メディアコンテンツデータベース中の年齢制限コンテンツを、前記年齢制限コンテンツの前記1つ以上のコンテンツ特性における対応する年齢制限特性を充足する話者の前記1つ以上の話者特性の年齢特性に基づいて有効にすることを更に含む、請求項57に記載の方法。
【請求項59】
システムであって、
複数の話者プロファイルを記憶するように構成された非一時的機械可読記憶媒体を備える話者データベースと、
プロセッサを備えるサーバと、を備え、前記プロセッサは、
コンテンツサーバを介してエンドユーザデバイスからインバウンド話者のインバウンド音声信号を受信することと、
前記インバウンド音声信号に機械学習モデルを適用して、前記インバウンド話者のインバウンド埋め込みを抽出することと、
前記インバウンド埋め込みと、前記話者データベース中の話者プロファイルに記憶された声紋と、の間の距離に基づいて、前記インバウンド埋め込みの類似度スコアを生成することであって、前記類似度スコアは、1つ以上の類似度スコア閾値を充足する、生成することと、
前記話者プロファイル中の、前記コンテンツサーバの1つ以上のコンテンツ特性に対応する1つ以上の話者特性を識別することと、
前記インバウンド話者に関連付けられた前記1つ以上の話者特性を前記コンテンツサーバに伝送することと、を行うように構成されている、システム。
【請求項60】
前記コンピュータは、前記コンテンツサーバから受信された加入者識別子に基づいて、前記話者プロファイルを識別するように更に構成されている、請求項59に記載のシステム。
【請求項61】
前記コンピュータによって受信された前記加入者識別子は、第1の匿名化された識別子であり、前記加入者識別子は、1人以上の話者の1つ以上の話者識別子に関連付けられており、各話者識別子は、各話者プロファイルに対応する第2の匿名化された識別子である、請求項60に記載のシステム。
【請求項62】
前記1つ以上の話者特性は、年齢特性及び性別特性のうちの少なくとも1つを含む、請求項59に記載のシステム。
【請求項63】
前記コンピュータは、前記インバウンド音声信号に第2の機械学習モデルを適用することによって、前記インバウンド話者の年齢特性及び性別特性のうちの少なくとも1つを判定するように更に構成されている、請求項59に記載のシステム。
【請求項64】
前記コンピュータは、前記インバウンド話者の前記話者プロファイルに記憶された年齢特性に基づいて、前記インバウンド話者の年齢を判定するように更に構成されている、請求項59に記載のシステム。
【請求項65】
前記コンピュータは、
前記コンテンツサーバから前記インバウンド話者の少なくとも1つの話者特性を示す話者情報を受信することと、
前記少なくとも1つの話者特性を前記インバウンド話者の前記話者プロファイル中に記憶することと、
前記話者プロファイル中の前記少なくとも1つの話者特性に部分的に基づいて、前記話者プロファイルを識別することと、を行うように更に構成されている、請求項59に記載のシステム。
【請求項66】
前記コンピュータは、
前記インバウンド音声信号を伴ってコンテンツサーバからインバウンド認証データを受信することと、
前記類似度スコア閾値を充足する前記類似度スコアと、前記話者プロファイルに記憶された期待される認証データを充足する前記インバウンド認証データと、に基づいて、前記インバウンド話者を認証することと、を行うように更に構成されている、請求項59に記載のシステム。
【請求項67】
前記認証データは、エンドユーザデバイス情報、前記エンドユーザデバイスに関連付けられたメタデータ、話者情報、及び生体認証情報のうちの少なくとも1つを含む、請求項66に記載のシステム。
【請求項68】
前記コンピュータは、
前記インバウンド音声信号から1つ以上の特徴を抽出することと、
第2の機械学習モデルを適用することによって、前記1つ以上の音響特徴に基づいて、前記インバウンド音声信号がスプーフィング条件を含む尤度を示すスプーフィングスコアを計算することと、を行うように更に構成されている、請求項59に記載のシステム。
【請求項69】
前記コンピュータは、メディアコンテンツデータベース中の、前記1つ以上の話者特性に対応する1つ以上のコンテンツ特性を有する1つ以上のメディアコンテンツファイルを識別するように更に構成されている、請求項59に記載のシステム。
【請求項70】
前記コンピュータは、前記メディアコンテンツデータベース中の年齢制限コンテンツを、前記年齢制限コンテンツの前記1つ以上のコンテンツ特性における対応する年齢制限特性を充足する話者の前記1つ以上の話者特性の年齢特性に基づいて有効にするように更に構成されている、請求項69に記載のシステム。
【請求項71】
方法であって、
コンピュータによって、話者の1つ以上の埋め込みを包含する、前記話者に関連付けられた話者プロファイルを取得することと、
前記コンピュータによって、前記1つ以上の埋め込みの他人受入率及び1つ以上の成熟度因子に基づいて、前記話者の声紋の成熟度のレベルを判定することと、
前記コンピュータによって、前記成熟度のレベル及び前記1つ以上の成熟度因子に従って、前記話者プロファイルの1つ以上の類似度閾値を更新することと、を含む、方法。
【請求項72】
前記話者プロファイルを取得することは、
前記コンピュータによって、前記話者がメディアコンテンツシステムの新しいユーザであると判定することに応答して、前記話者プロファイルを生成すること含む、請求項71に記載の方法。
【請求項73】
前記話者プロファイルを取得することは、
前記コンピュータによって、インバウンド音声信号に機械学習アーキテクチャを適用することによって、前記話者のインバウンド埋め込みを抽出することと、
前記コンピュータによって、前記インバウンド埋め込みと前記声紋との間の相対距離に基づいて、前記インバウンド埋め込みの類似度スコアを生成することと、
前記コンピュータによって、前記インバウンド埋め込みの前記類似度スコアが前記話者プロファイルの前記1つ以上の類似度閾値のうちの少なくとも1つの類似度閾値を充足すると判定することに応答して、話者データベースに記憶された前記話者プロファイルを識別することと、を含む、請求項71に記載の方法。
【請求項74】
前記少なくとも1つの閾値は、低類似度閾値を含み、前記1つ以上の閾値は、前記低類似度閾値及び高類似度閾値を含む、請求項73に記載の方法。
【請求項75】
前記コンピュータによって、前記インバウンド埋め込みの前記類似度スコアが前記1つ以上の類似度閾値の高類似度閾値を充足すると判定することに応答して、前記インバウンド埋め込みに従って、前記話者の前記声紋を更新することを更に含み、前記コンピュータは、前記声紋を更新した後に前記声紋の前記成熟度のレベルを判定する、請求項73に記載の方法。
【請求項76】
前記コンピュータによって、前記声紋を更新するために使用される前記インバウンド埋め込みに基づいて、前記声紋の前記1つ以上の成熟度因子を更新することを更に含み、前記コンピュータは、前記1つ以上の成熟度因子を更新した後に、前記声紋の前記成熟度のレベルを判定する、請求項75に記載の方法。
【請求項77】
前記コンピュータが、前記声紋の前記成熟度のレベルが成熟度閾値を充足するに至らないと判定することに応答して、
前記コンピュータによって、前記話者に関連付けられた追加のインバウンド埋め込みを要求するプロンプトを生成することと、
前記1つ以上の類似度閾値を充足する各追加のインバウンド埋め込みについて、
前記コンピュータによって、前記追加のインバウンド埋め込みに従って、前記声紋を更新することと、
前記コンピュータによって、各追加のインバウンド埋め込みに基づいて、前記声紋の前記1つ以上の成熟度因子を更新することと、を更に含む、請求項71に記載の方法。
【請求項78】
前記1つ以上の類似度閾値を更新することは、
前記コンピュータによって、前記声紋の前記成熟度のレベルが成熟度閾値を充足すると判定することに応答して、前記話者プロファイルの前記1つ以上の閾値を増加させることを含む、請求項71に記載の方法。
【請求項79】
前記1つ以上の成熟度因子は、前記話者の埋め込みの数、前記1つ以上の埋め込みにおいて生じる正味の発語の持続時間、及び前記1つ以上の埋め込みからの音声の品質、のうちの少なくとも1つを含む、請求項71に記載の方法。
【請求項80】
前記コンピュータによって、管理コンピュータから受信された構成入力に基づいて、前記他人受入率を判定することを更に含む、請求項71に記載の方法。
【請求項81】
システムであって、
複数の話者プロファイルを記憶するように構成された非一時的機械可読媒体を備える話者プロファイルデータベースと、
プロセッサを備えるコンピュータと、を備え、前記プロセッサは、
話者の1つ以上の埋め込みを包含する、前記話者に関連付けられた話者プロファイルを取得することと、
前記1つ以上の埋め込みの他人受入率及び1つ以上の成熟度因子に基づいて、前記話者の声紋の成熟度のレベルを判定することと、
前記成熟度のレベル及び前記1つ以上の成熟度因子に従って、前記話者プロファイルの1つ以上の類似度閾値を更新することと、を行うように構成されている、システム。
【請求項82】
前記話者プロファイルを取得するために、前記コンピュータは、
前記話者がメディアコンテンツシステムの新しいユーザであると判定することに応答して、前記話者プロファイルを生成するように構成されている、請求項81に記載のシステム。
【請求項83】
前記話者プロファイルを取得するために、前記コンピュータは、
インバウンド音声信号に機械学習アーキテクチャを適用することによって、前記話者のインバウンド埋め込みを抽出することと、
前記インバウンド埋め込みと前記声紋との間の相対距離に基づいて、前記インバウンド埋め込みの類似度スコアを生成することと、
前記インバウンド埋め込みの前記類似度スコアが前記話者プロファイルの前記1つ以上の類似度閾値のうちの少なくとも1つの類似度閾値を充足すると判定することに応答して、前記話者プロファイルデータベースに記憶された前記話者プロファイルを識別することと、を行うように更に構成されている、請求項81に記載のシステム。
【請求項84】
前記少なくとも1つの閾値は、低類似度閾値を含み、前記1つ以上の閾値は、前記低類似度閾値及び高類似度閾値を含む、請求項83に記載のシステム。
【請求項85】
前記コンピュータは、
前記インバウンド埋め込みの前記類似度スコアが前記1つ以上の類似度閾値の高類似度閾値を充足すると判定することに応答して、前記インバウンド埋め込みに従って、前記話者の前記声紋を更新するように更に構成されており、前記コンピュータは、前記声紋を更新した後に前記声紋の前記成熟度のレベルを判定する、請求項83に記載のシステム。
【請求項86】
前記コンピュータは、
前記声紋を更新するために使用される前記インバウンド埋め込みに基づいて、前記声紋の前記1つ以上の成熟度因子を更新するように更に構成されており、前記コンピュータは、前記1つ以上の成熟度因子を更新した後に、前記声紋の前記成熟度のレベルを判定する、請求項85に記載のシステム。
【請求項87】
前記コンピュータは、
前記コンピュータが、前記声紋の前記成熟度のレベルが成熟度閾値を充足するに至らないと判定することに応答して、
前記話者に関連付けられた追加のインバウンド埋め込みを要求するプロンプトを生成することと、
前記1つ以上の類似度閾値を充足する各追加のインバウンド埋め込みについて、
前記追加のインバウンド埋め込みに従って、前記声紋を更新することと、
各追加のインバウンド埋め込みに基づいて、前記声紋の前記1つ以上の成熟度因子を更新することと、を行うように更に構成されている、請求項81に記載のシステム。
【請求項88】
前記1つ以上の類似度閾値を更新するために、前記システムは、
前記声紋の前記成熟度のレベルが成熟度閾値を充足すると判定することに応答して、前記話者プロファイルの前記1つ以上の閾値を増加させるように更に構成されている、請求項81に記載のシステム。
【請求項89】
前記1つ以上の成熟度因子は、前記話者の埋め込みの数、前記1つ以上の埋め込みにおいて生じる正味の発語の持続時間、及び前記1つ以上の埋め込みからの音声の品質、のうちの少なくとも1つを含む、請求項81に記載のシステム。
【請求項90】
前記コンピュータは、
管理コンピュータから受信された構成入力に基づいて、前記他人受入率を判定するように更に構成されている、請求項81に記載のシステム。
【請求項91】
デバイス実装方法であって、
デバイスによって、インバウンド話者の発話を包含するインバウンド音声信号を受信することと、
前記デバイスによって、前記インバウンド音声信号に埋め込み抽出モデルを適用して、前記インバウンド話者のインバウンド埋め込みを抽出することと、
前記デバイスによって、前記インバウンド埋め込みと非一時的機械可読媒体に記憶された1つ以上の声紋との間の相対距離に基づき、前記インバウンド埋め込みの1つ以上の類似度スコアを生成することと、
前記コンピュータによって、声紋を使用して生成された類似度スコアが類似度閾値を充足すると判定することに応答して、前記インバウンド話者の前記声紋に関連付けられた話者識別子を識別することと、
前記デバイスによって、前記話者識別子をコンテンツサーバに伝送することと、を含む、デバイス実装方法。
【請求項92】
前記デバイスは、スマートTV、セットトップボックス、エッジデバイス、リモート制御、及びモバイル通信デバイス、のうちの少なくとも1つである、請求項91に記載の方法。
【請求項93】
前記デバイスによって、前記コンテンツサーバから、前記デバイスに結合されたディスプレイデバイスを介して表示するためのメディアコンテンツを受信することを更に含む、請求項91に記載の方法。
【請求項94】
前記デバイスは、前記話者識別子を伴って前記コンテンツサーバにメディアコンテンツに対する要求を伝送する、請求項91に記載の方法。
【請求項95】
前記デバイスによって、前記インバウンド音声信号から1つ以上の特徴を抽出することを更に含み、前記特徴は、少なくとも1つの音声特徴を含む1つ以上のタイプの生体認証特徴を有する、請求項91に記載の方法。
【請求項96】
前記デバイスのマイクロフォンによって、複数の発話を包含する音声波を複数のインバウンド話者から受信することと、
前記デバイスによって、前記音声波を前記複数の発話を包含する前記インバウンド音声信号に変換することと、を更に含む、請求項91に記載の方法。
【請求項97】
前記インバウンド音声信号は、複数のインバウンド話者の複数の発話を包含し、
前記デバイスは、前記インバウンド音声信号に前記埋め込み抽出モデルを適用して、前記複数のインバウンド話者に対応する前記複数のインバウンド埋め込みの複数の類似度スコアを生成し、前記複数の類似度スコアは、前記デバイスの非一時的機械可読記憶装置に記憶された複数の声紋に従って生成される、請求項91に記載の方法。
【請求項98】
前記デバイスが、前記複数の埋め込みのうちの第2のインバウンド埋め込みの前記複数の類似度スコアのうちの第2の類似度スコアが、少なくとも1つの類似度閾値を充足するに至らないと判定することに応答して、
前記デバイスによって、前記非一時的機械可読記憶装置中に、前記第2のインバウンド埋め込みを包含する前記第2のインバウンド話者の第2の話者プロファイルと、第2の話者識別子と、を生成することを更に含む、請求項97に記載の方法。
【請求項99】
前記デバイスによって、前記インバウンド話者の1つ以上の登録音声信号を要求する、前記インバウンド話者に対する表示の1つ以上の登録プロンプトを生成することと、
前記デバイスによって、前記1つ以上の登録音声信号から抽出された1つ以上の登録埋め込みに基づいて、前記インバウンド話者の前記声紋を生成することと、
前記デバイスが、前記声紋の成熟度のレベルが成熟度閾値を充足するに至らないと判定することに応答して、
前記デバイスによって、第2の登録音声信号を要求する第2の登録プロンプトを生成することと、
前記デバイスによって、前記第2の登録音声信号から抽出された第2の登録埋め込みに基づいて、前記インバウンド話者の前記声紋を更新することと、を更に含む、請求項91に記載の方法。
【請求項100】
前記コンピュータによって、前記インバウンド音声信号から1つ以上の音響特徴を抽出することと、
前記コンピュータによって、第2の機械学習モデルを適用することによって、前記1つ以上の音響特徴に基づいて、前記インバウンド音声信号がスプーフィング条件を含む尤度を示すスプーフィングスコアを計算することと、を更に含む、請求項91に記載の方法。
【請求項101】
システムであって、
話者プロファイルを包含するデータレコードを記憶するように構成された非一時的機械可読記憶媒体を備える話者データベースと、
プロセッサを備えるデバイスと、を備え、前記プロセッサは、
インバウンド話者の発話を包含するインバウンド音声信号を受信することと、
前記インバウンド音声信号に埋め込み抽出モデルを適用して、前記インバウンド話者のインバウンド埋め込みを抽出することと、
前記インバウンド埋め込みと前記話者データベースに記憶された1つ以上の声紋との間の相対距離に基づいて、前記インバウンド埋め込みの1つ以上の類似度スコアを生成することと、
前記コンピュータによって、声紋を使用して生成された類似度スコアが類似度閾値を充足すると判定することに応答して、前記インバウンド話者の前記声紋に関連付けられた話者識別子を識別することと、
前記話者識別子をコンテンツサーバに伝送することと、を行うように構成されている、システム。
【請求項102】
前記デバイスは、スマートTV、セットトップボックス、エッジデバイス、リモート制御、及びモバイル通信デバイス、のうちの少なくとも1つである、請求項101に記載のシステム。
【請求項103】
前記デバイスは、前記デバイスに連結されたディスプレイデバイスを介した表示のために、前記コンテンツサーバからメディアコンテンツを受信するように更に構成されている、請求項101に記載のシステム。
【請求項104】
前記デバイスは、メディアコンテンツに対する要求を、前記話者識別子を伴って前記コンテンツサーバに伝送するように構成されている、請求項101に記載のシステム。
【請求項105】
前記デバイスは、
前記インバウンド音声信号から1つ以上の特徴を抽出するように更に構成されており、前記特徴は、少なくとも1つの音声特徴を含む1つ以上のタイプの生体認証特徴を有する、請求項101に記載のシステム。
【請求項106】
複数の発話を包含する音声波を複数のインバウンド話者から受信するように構成されたマイクロフォンを更に備え、
前記デバイスは、前記音声波を前記複数の発話を包含する前記インバウンド音声信号に変換するように更に構成されている、請求項101に記載のシステム。
【請求項107】
前記インバウンド音声信号は、複数のインバウンド話者の複数の発話を包含し、
前記デバイスは、前記インバウンド音声信号に前記埋め込み抽出モデルを適用して、前記複数のインバウンド話者に対応する前記複数のインバウンド埋め込みの複数の類似度スコアを生成するように構成されており、前記デバイスは、前記話者データベースに記憶された複数の声紋に従って前記複数の類似度スコアを生成する、請求項101に記載のシステム。
【請求項108】
前記デバイスは、
前記複数の埋め込みのうちの第2のインバウンド埋め込みの前記複数の類似度スコアのうちの第2の類似度スコアが、少なくとも1つの類似度閾値を充足するに至らないと判定することと、
非一時的機械可読記憶装置中に、前記第2のインバウンド埋め込みを包含する前記第2のインバウンド話者の第2の話者プロファイルと、第2の話者識別子と、を生成することと、を行うように更に構成されている、請求項107に記載のシステム。
【請求項109】
前記デバイスは、
前記インバウンド話者の1つ以上の登録音声信号を要求する、前記インバウンド話者に対する表示の1つ以上の登録プロンプトを生成することと、
前記1つ以上の登録音声信号から抽出された1つ以上の登録埋め込みに基づいて、前記インバウンド話者の前記声紋を生成することと、
前記デバイスが、前記声紋の成熟度のレベルが成熟度閾値を充足するに至らないと判定することに応答して、
第2の登録音声信号を要求する第2の登録プロンプトを生成することと、
前記第2の登録音声信号から抽出された第2の登録埋め込みに基づいて、前記インバウンド話者の前記声紋を更新することと、を行うように更に構成されている、請求項101に記載のシステム。
【請求項110】
前記デバイスは、
前記インバウンド音声信号から1つ以上の音響特徴を抽出することと、
第2の機械学習モデルを適用することによって、前記1つ以上の音響特徴に基づいて、前記インバウンド音声信号がスプーフィング条件を含む尤度を示すスプーフィングスコアを計算することと、を行うように更に構成されている、請求項101に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年4月15日に出願された米国仮特許出願第63/010,504号の優先権を主張し、その全体は、参照により組み込まれる。
【0002】
本出願は、概して、米国特許第9,824,692号として発行された、2016年9月12日に出願された“End-To-End Speaker Recognition Using Deep Neural Network”と題された米国特許出願第15/262,748号に関するものであり、その全体は、参照により本明細書に組み込まれる。
【0003】
本出願は、概して、米国特許第10,672,403号として発行された、2018年2月7日に出願された“Age Compensation in Biometric Systems Using Time-Interval,Gender and Age”と題された米国特許出願第15/890,967号に関するものであり、その全体は、参照により本明細書に組み込まれる。
【0004】
本出願は、概して、米国特許第10,692,502号として発行された、2018年3月2日に出願された“Method and Apparatus for Detecting Spoofing Conditions”と題された米国特許出願第15/910,387号に関するものであり、その全体は、参照により本明細書に組み込まれる。
【0005】
本出願は、概して、2021年1月22日に出願された“Robust Spoofing Detection System Using Deep Residual Neural Networks”と題された米国特許出願第17/155,851号に関するものであり、その全体は、参照により本明細書に組み込まれる。
【0006】
本出願は、概して、2021年3月4日に出願された“Systems and Methods of Speaker-Independent Embedding for Identification and Verification from Audio”と題された米国特許出願第17/192,464号に関するものであり、その全体、参照により本明細書に組み込まれる。
【0007】
本出願は、概して、音声処理(audio processing)ニューラルネットワークを訓練及び展開するためのシステム及び方法に関する。
【背景技術】
【0008】
モノのインターネット(IoT)デバイスの登場は、音声コマンド(voice command)と対話するマシンのより新しいチャネルにつながった。多くの場合、デバイスとの対話の多くは、プライベートデータ及び機密データに対する操作を実行することを伴う。多くの新しいモバイルアプリ及びホームパーソナルアシスタントは、デバイスとの音声ベースの(voice-based)対話を使用して金融取引を可能にしている。コールセンタ、特にコールセンタでの人間エージェントとの対話は、もはや枢要な個人情報を管理する機関にとって、音声ベースの対話の唯一の事例ではない。様々なエッジデバイス又はIoTデバイスを操作することによって、又はコールセンタに連絡することによって、ユーザアカウントにアクセスし、及びユーザアカウントを管理する発信者/話者の身元を、統一されたレベルの精度及びセキュリティに従って確実に検証することが不可欠である。
【0009】
セキュリティ及び認証機能、並びに他の音声ベースの動作のために、自動音声認識(ASR)及び自動話者照合(ASV)システムがしばしば使用される。音声生体認証(voice biometrics)のほとんどの実装態様は、能動的かつ静的登録を使用し、典型的には、音声発話と話者身元との間のリンクが既知であることを仮定する。能動的登録は、ユーザが、パスフレーズを繰り返すか、又は典型的には、音声生体認証システムによって定義された基準が満たされるまで自由に話す必要がある登録フェーズを、ユーザが促される場合である。能動的登録は、しばしば、ユーザが最初にユーザのそれぞれのデバイスをセットアップするか、又はオーバーザトップサービスを使用し始めるときに、静的登録と組み合わせて行われる。能動的登録は、時間がかかる場合があり、ユーザが登録をオプトアウトする可能性があるため、音声生体認証の展開がうまくいかない場合がある。更に、静的登録は、音声生体認証システムを使用したいと思う人々が増えたり、これらの人々の声が変化したりするにつれて、音声モデル(voice model)が、古くなったり、不正確な照合を得るものになったりする結果となり得る。
【0010】
更に、オーバーザトップ(OTT)サービスは、話者が話者のプロファイルに関連付けられた事前定義された基準を充足するかどうか(例えば、話者の声が話者のプロファイルに対応する声と一致するかどうかを、任意の他の話者のプロファイルに関係なく判定する)を単独で判定するのとは対照的に、OTTサービスが一度に複数の話者からの個々の話者の識別を必要とし得るため、銀行などの自動音声照合(automatic voice verification)を使用する他のサービスとは異なり得る。特に複数の話者が互いに同時に又は断続的に話している場合、話者間で能動的に差別化することができるシステムを維持することは困難であり得る。更に、複数の人々が集まってビデオを見たり、一緒に音楽を聞いたり、一緒に車に乗り込んだりするときなど、システムが一度に複数の個人からの発語を識別するときに、個人のためにコンテンツを提供すること、又はエッジデバイスを構成することは困難であり得る。
【0011】
したがって、必要とされるのは、サービスが動作する際に新しい話者を登録することに対する改善されたアプローチ、及びシステムが発話マッチングのためにプロファイルを互いに区別することができるように、事前に確立された及び/又は確立されていない話者プロファイルを有する話者のためにコンテンツを提供すること、又はエッジデバイスを構成することに対する改善されたアプローチである。
【発明の概要】
【0012】
本明細書では、上述の欠点に対処することができるシステム及び方法が開示され、このシステム及び方法はまた、任意の数の追加又は代替の便益及び利点を提供し得る。本明細書に記載される実施形態は、受動的、能動的、継続的、又は静的な演算、又はそれらのいくつかが混在する組み合わせを可能にする柔軟な音声生体認証システムを提供する。特に、本明細書に記載されるシステム及び方法は、いくつかの場合には話者がエッジデバイス(例えば、車、テレビ、ラジオ、電話)に向かって、又はこの周辺で話す際に、能動的及び/又は静的に話者を登録することに加えて、受動的及び/又は継続的に、話者を登録する方法を提供する。そのようなシステム及び方法を実装することによって、デバイスは、新しい話者がプロファイルを設定することを望むたびにデバイスを能動的に再構成するように促される発話をミラーリングすることを要求することなく、その場で新しいユーザを識別することができる。システム及び方法は、話者がシステムに発話を提供して、話者の最新のプロファイルを維持し、誤認証の受入及び/又は拒否を回避する際に、話者のプロファイルを編成及び再編成する方法を更に提供する。システム及び方法は、いくつかの場合には、場合によっては話者身元の知識を有しない、受動的かつ継続的な音声生体認証システムを提供する。システム及び方法は、いくつかの場合にはシステムが任意の記憶されたユーザプロファイルについての基準を充足しない話者を識別する際に個々の話者を受動的に登録及び認識する、教師なし様式で身元を作成し得る。そのようなシステム及び方法は、オーバーザトップサービス(例えば、関連するコンテンツを提供するためにテレビ視聴者を識別する)、及び/又はコールセンタの使用例のための、IoT(例えば、車の運転者を識別し、運転者の話者プロファイルに関連付けられた設定に基づいて車の設定を構成する)を含む、幅広い用途にわたって、パーソナライゼーション及びセキュリティ目的で使用され得る。
【0013】
一実施形態では、コンピュータ実装方法は、コンピュータによって、インバウンド音声信号(音声信号:audio signal)に機械学習モデルを適用することによって、インバウンド話者のインバウンド埋め込みを抽出することと、コンピュータによって、インバウンド埋め込みと、話者プロファイルデータベース中の話者プロファイルに記憶された声紋と、の間の距離に基づいて、類似度スコアを生成することと、コンピュータが、インバウンド埋め込みの類似度スコアが類似度閾値を充足するに至らないと判定することに応答して、コンピュータによって、話者プロファイルデータベース中に、インバウンド埋め込みを包含する、インバウンド話者の新しい話者プロファイルを生成することと、を含み、新しい話者プロファイルは、インバウンド埋め込みを新しい声紋として記憶するデータベースレコードである。
【0014】
別の実施形態では、システムは、話者プロファイルを包含するデータレコードを記憶するように構成された非一時的機械可読記憶媒体を備える話者データベースと、プロセッサを備えるコンピュータと、を備え、該プロセッサは、インバウンド音声信号に機械学習モデルを適用することによって、インバウンド話者のインバウンド埋め込みを抽出することと、インバウンド埋め込みと、話者プロファイルデータベース中の話者プロファイルに記憶された声紋と、の間の距離に基づいて類似度スコアを生成することと、コンピュータが、インバウンド埋め込みの類似度スコアが類似度閾値を充足するに至らないと判定することに応答して、話者プロファイルデータベース中に、インバウンド埋め込みを包含する、インバウンド話者の新しい話者プロファイルを生成することと、を行うように構成され、新しい話者プロファイルは、インバウンド埋め込みを新しい声紋として記憶するデータベースレコードである。
【0015】
別の実施形態では、コンピュータ実装方法は、コンピュータによって、複数のインバウンド話者の複数の発話を含むインバウンド音声信号を受信することと、コンピュータによって、インバウンド音声信号に機械学習アーキテクチャを適用して、複数のインバウンド話者に対応する複数のインバウンド埋め込みを抽出することと、複数のインバウンド話者の各インバウンド話者について、コンピュータによって、インバウンド話者のインバウンド埋め込みに基づいて、1つ以上の類似度スコアを生成することであって、インバウンド話者の各類似度スコアは、インバウンド埋め込みと、話者プロファイルデータベースに記憶された1つ以上の声紋と、の間の距離を示す、生成することと、コンピュータによって、1つ以上の声紋からインバウンド話者の最も近い声紋を識別することであって、最も近い声紋は、インバウンド話者について生成された1つ以上の類似度スコアの最大類似度スコアに対応する、識別することと、1つ以上の類似度スコア閾値を充足する各最大類似度スコアについて、コンピュータによって、1つ以上の類似度スコア閾値を充足する最大類似度スコアを有するインバウンド話者のインバウンド埋め込みを含むように、話者プロファイルデータベースを更新することと、を含む。
【0016】
別の実施形態では、システムは、話者プロファイルを包含するデータレコードを記憶するように構成された非一時的機械可読記憶媒体を備える話者データベースと、プロセッサを備えるコンピュータと、を備え、該プロセッサは、複数のインバウンド話者の複数の発話を含むインバウンド音声信号を受信することと、インバウンド音声信号に機械学習アーキテクチャを適用して、複数のインバウンド話者に対応する複数のインバウンド埋め込みを抽出することと、複数のインバウンド話者の各インバウンド話者について、インバウンド話者のインバウンド埋め込みに基づいて1つ以上の類似度スコアを生成することであって、インバウンド話者の各類似度スコアは、インバウンド埋め込みと、話者プロファイルデータベースに記憶された1つ以上の声紋と、の間の距離を示す、生成することと、1つ以上の声紋からインバウンド話者の最も近い声紋を識別することであって、最も近い声紋は、インバウンド話者について生成された1つ以上の類似度スコアの最大類似度スコアに対応する、識別することと、1つ以上の類似度スコア閾値を充足する各最大類似度スコアについて、1つ以上の類似度スコア閾値を充足する最大類似度スコアを有するインバウンド話者のインバウンド埋め込みを含むように、話者プロファイルデータベースを更新することと、を行うように構成されている。
【0017】
別の実施形態では、コンピュータ実装方法は、コンピュータによって、コンテンツサーバを介してエンドユーザデバイスからインバウンド話者のインバウンド音声信号を受信することと、コンピュータによって、インバウンド音声信号に機械学習モデルを適用して、インバウンド話者のインバウンド埋め込みを抽出することと、コンピュータによって、インバウンド埋め込みと、話者データベース中の話者プロファイルに記憶された声紋と、の間の距離に基づいて、インバウンド埋め込みの類似度スコアを生成することであって、類似度スコアは、1つ以上の類似度スコア閾値を充足する、生成することと、コンピュータによって、話者プロファイル中の、コンテンツサーバの1つ以上のコンテンツ特性に対応する1つ以上の話者特性を識別することと、コンピュータによって、インバウンド話者に関連付けられた1つ以上の話者特性をメディアコンテンツサーバに伝送することと、を含む。
【0018】
別の実施形態では、システムは、複数の話者プロファイルを記憶するように構成された非一時的機械可読記憶媒体を備える話者データベースと、プロセッサを備えるサーバと、を備え、該プロセッサは、コンテンツサーバを介してエンドユーザデバイスからインバウンド話者のインバウンド音声信号を受信することと、インバウンド音声信号に機械学習モデルを適用して、インバウンド話者のインバウンド埋め込みを抽出することと、インバウンド埋め込みと、話者データベース中の話者プロファイルに記憶された声紋と、の間の距離に基づいて、インバウンド埋め込みの類似度スコアを生成することであって、類似度スコアは、1つ以上の類似度スコア閾値を充足する、生成することと、話者プロファイル中の、コンテンツサーバの1つ以上のコンテンツ特性に対応する1つ以上の話者特性を識別することと、インバウンド話者に関連付けられた1つ以上の話者特性をメディアコンテンツサーバに伝送することと、を行うように構成されている。
【0019】
別の実施形態では、方法は、コンピュータによって、話者の1つ以上の埋め込みを包含する、話者に関連付けられた話者プロファイルを取得することと、コンピュータによって、1つ以上の埋め込みの他人受入率及び1つ以上の成熟度因子に基づいて、話者の声紋の成熟度レベルを判定することと、コンピュータによって、成熟度のレベル及び1つ以上の成熟度因子に従って、話者プロファイルの1つ以上の類似度閾値を更新することと、を含む。
【0020】
別の実施形態では、システムは、複数の話者プロファイルを記憶するように構成された非一時的機械可読媒体を備える話者プロファイルデータベースと、プロセッサを備えるコンピュータと、を備え、該プロセッサは、話者の1つ以上の埋め込みを包含する、話者に関連付けられた話者プロファイルを取得することと、1つ以上の埋め込みの他人受入率及び1つ以上の成熟度因子に基づいて、話者の声紋の成熟度のレベルを判定することと、成熟度のレベル及び1つ以上の成熟度因子に従って、話者プロファイルの1つ以上の類似度閾値を更新することと、を行うように構成されている。
【0021】
別の実施形態では、デバイス実装方法は、デバイスによって、インバウンド話者の発話を包含するインバウンド音声信号を受信することと、デバイスによって、インバウンド音声信号に埋め込み抽出モデルを適用して、インバウンド話者のインバウンド埋め込みを抽出することと、デバイスによって、インバウンド埋め込みと非一時的機械可読媒体に記憶された1つ以上の声紋との間の相対距離上で、インバウンド埋め込みの1つ以上の類似度スコアを生成することと、コンピュータによって、声紋を使用して生成された類似度スコアが類似度閾値を充足すると判定することに応答して、インバウンド話者の声紋に関連付けられた話者識別子を識別することと、デバイスによって、話者識別子をコンテンツサーバに伝送することと、を含む。
【0022】
別の実施形態では、システムは、話者プロファイルを包含するデータレコードを記憶するように構成された非一時的機械可読記憶媒体を備える話者データベースと、プロセッサを備えるデバイスと、を備え、該プロセッサは、インバウンド話者の発話を包含するインバウンド音声信号を受信することと、インバウンド音声信号に埋め込み抽出モデルを適用して、インバウンド話者のインバウンド埋め込みを抽出することと、インバウンド埋め込みと話者データベースに記憶された1つ以上の声紋との間の相対距離上で、インバウンド埋め込みの1つ以上の類似度スコアを生成することと、声紋を使用して生成された類似度スコアが類似度閾値を充足すると判定したことに応答して、コンピュータによって、インバウンド話者の声紋に関連付けられた話者識別子を識別することと、話者識別子をコンテンツサーバに送信することと、を行うように構成されている。
【0023】
前述の一般的な説明及び以下の詳細な説明の両方は、例示的及び説明的であり、特許請求される発明の更なる説明を提供することを意図するものであることを理解されたい。
【図面の簡単な説明】
【0024】
以下の図面を参照することによって、本開示をより良く理解することができる。図中の構成要素は、必ずしも縮尺通りではなく、代わりに、本開示の原理を例示することに重点が置かれている。図において、参照符号は、種々の図の全体を通して対応する部分を指す。
【0025】
【
図1】音声処理機械学習演算を用いるシステムの構成要素を示す。
【
図2】機械学習モデル及び他の機械学習アーキテクチャが、ローカルデバイス上に実装されている、音声処理機械学習演算を用いるシステムの構成要素を示す。
【
図3A】ユーザを能動的に登録し、かつ、ユーザを識別(認証)するための方法の動作ステップを示す。
【
図3B】ユーザを能動的に登録し、かつ、ユーザを識別(認証)するための方法の動作ステップを示す。
【
図4】音声処理システムにおける適応閾値化のための方法の動作ステップを示す。
【
図5】音声処理における強い発話及び弱い発話を識別及び評価するための方法の実行ステップを示す。
【
図6】音声処理時の話者をクラスタ化するための方法の動作ステップを示す。
【
図7A】現在の情報及び/又は過去の情報に従って、1つ以上の声紋のラベル識別子(例えば、話者識別子、加入者識別子)を補正するための方法の動作ステップを示す。
【
図7B】特定の話者のクラスタ及び他の推定の話者のクラスタを使用するラベル補正の一例を例示する。
【
図8】受動的かつ継続的登録構成を使用する音声処理のための方法の動作ステップを示す。
【
図9】能動的受動的混合かつ継続的登録構成を使用して音声信号を音声処理するための方法の動作ステップを示す。
【
図10】能動的かつ継続的登録構成を使用して音声信号を音声処理するための方法の動作ステップを示す。
【
図11A】機械学習モデルが車両によって実装されている、音声処理機械学習演算を用いるシステムの構成要素を示す。
【
図11B】機械学習モデルが車両によって実装されている、音声処理機械学習演算を用いるシステムの構成要素を示す。
【
図12】成熟度因子及び他人受入率に基づく類似度閾値スケジューラの例示的なテーブルを例示する。
【発明を実施するための形態】
【0026】
次に、図面に例示される例示的な実施形態を参照し、具体的な言葉をここで使用して、それらについて記載する。それにも関わらず、本発明の範囲の限定は、それによって意図されるものではないことが理解されよう。ここで例示される本発明の特徴の改変及び更なる修正、並びに当業者及び本開示を保有する者に生じるであろう、ここで例示される本発明の原理の追加の適用は、本発明の範囲内で考慮されるべきである。
【0027】
話者認識及び他の演算(例えば、認証)のための音声生体認証は、典型的には、話者サンプル及び特定の話者のサンプルのユニバースから生成されたモデル又は特徴ベクトル(「埋め込み」と呼ばれることがある)に依拠する。一例として、訓練フェーズ(又は再訓練フェーズ)中、サーバ又は他のコンピューティングデバイスは、複数の訓練音声信号を使用して発語のインスタンスを認識及び区別するように訓練された発語認識エンジン(例えば、人工知能及び/又は機械学習プログラムソフトウェア)を実行する。機械学習アーキテクチャは、対応する入力に従って特定の結果を出力し、期待される出力を観察された出力と比較することによって、損失関数に従って結果を評価する。次いで、訓練演算は、(機械学習アーキテクチャでのニューラルネットワークの)加重値又はハイパーパラメータを適合化し、期待される出力及び観察される出力が収束するまで、機械学習アーキテクチャを入力に再適用する。次いで、サーバは、ハイパーパラメータを固定し、いくつかの場合には、訓練に使用されるニューラルネットワークアーキテクチャの1つ以上の層を無効にする。
【0028】
機械学習アーキテクチャを訓練した後、サーバは、特定の話者の登録演算中に特定の話者を認識するように、機械学習アーキテクチャを更に精緻化させ、及び発展させることができる。発語認識エンジンは、話者の発話を有する登録者音声信号から抽出された埋め込みを使用して、登録者モデル埋め込み(「声紋」と呼ばれることがある)を生成することができる。後のインバウンド音声信号の間、サーバは、登録者の声紋に対して後のインバウンド音声信号から抽出されたインバウンド埋め込みを照合することに基づいて、後の音声信号が既知の話者を伴うかどうかを確認するために、話者プロファイルに記憶された声紋を参照する。
【0029】
これらのアプローチは、一般に、成功しており、コールセンタへのインバウンド通話を評価するコンテキストにおいて登録者を検出するのに適当である。ユーザがテレビを視聴しているか、又は特定のIoT若しくは音声対応デバイス(voice-enabled device)(例えば、車両、スマート家電、パーソナルアシスタンス)を操作している場合などの、より流動的な、又はより構造化されていない体験をユーザが好むことになる場合、登録及び展開演算に対するより柔軟な、かつ、より見えにくいアプローチが他のコンテキストにおいて望ましい場合がある。
【0030】
声紋及びコンテンツサービスの機械学習モデル
本明細書に記載される実施形態は、音声ベースのインターフェース、管理、承認、及びコンテンツのパーソナライゼーションのための、音声認識(voice recognition)を含む生体認証のためのシステム及び方法を開示する。コンピューティングデバイスは、音声信号を処理するためのガウス行列モデル(GMM)及びニューラルネットワークを含む、様々なタイプの機械学習アーキテクチャ層又は演算を実装するソフトウェアプログラミングを実行する。機械学習アーキテクチャは、一般に、例えば、特徴ベクトルを生成して、入力音声信号の態様を表すか、又はモデル化する埋め込みを抽出し;埋め込みに従って分類を実行し;特定の話者のためのモデル埋め込み(例えば、声紋)を、その話者の発話から抽出された1つ以上の埋め込みに基づいて生成し;抽出された特徴間の、又は記憶された/予想される特徴と比較した埋め込み間の、類似度又は差異に基づいて、類似の音がする発話又は音声信号特性をクラスタ化する、任意の数の機械学習モデルを含む。声紋が作成されると、システムは、発話からの埋め込み抽出を声紋と比較することによって個人からの発話を検出して、発話が(例えば、声紋によって表される話者によって話された)声紋に関連付けられるべきである尤度を示す類似度スコアを作成し得る。類似度スコアが1つ以上の事前構成された類似度スコアを充足する場合には、システムは、発話の埋め込みを話者に関連付け、及び/又は発話の埋め込みを声紋に含めて、声紋を更新し得る。特定の実施形態の説明は、訓練演算に言及するが、本明細書に開示される実施形態は、一般に、訓練フェーズが完了し、かつ、登録フェーズから始まることを前提とする。
【0031】
受動的登録
本明細書に記載される音声生体認証システムは、一般に、サーバ又は他のコンピューティングデバイスが訓練された機械学習アーキテクチャを含むものとする。したがって、実施形態は、登録フェーズ及び展開フェーズの声音処理に進み、サーバは、能動的又は受動的登録構成で登録演算を実行する。能動的登録構成では、音声ユーザインターフェース(audio user interface)又はビジュアルユーザインターフェース(例えば、電話、テレビ画面)は、ユーザに、様々なフレーズを話すようにユーザに指示するプロンプトを提示する。プロンプトに応答して、ユーザは、例えば、1つ以上の基準(例えば、発話の数、入力間の時間)が充足されるまで、パスフレーズを繰り返すか、又は自由に話し得る。管理ユーザ入力が、基準を定義するか、又は1つ以上の機械学習モデルが、基準を自動的に確立又は調整する。
【0032】
受動的登録は、ユーザプロンプトを必要としないが、いくつかの実装態様は、混在アプローチ(例えば、能動的及び受動的)を用いる。むしろ、サーバは、ユーザ認識を必要とせずに、音声信号に様々な機械学習層を受動的に適用して、特徴を抽出し、分類、及び他の演算を実行する。有益なことに、本明細書に記載される話者モデリング演算(例えば、生体認証、コンテンツパーソナライゼーション、話者ダイアライゼーション)を用いる下流演算は、シームレスで摩擦のない様式で生じ、それによって、ユーザは、対話を変更又は中断する必要がなく、登録演算又は他の演算のための時間を節約する。
【0033】
継続的登録
サーバは、登録フェーズ及び展開フェーズ中に静的又は継続的な声音処理演算を更に実装してもよい。静的演算では、音声生体認証システムは、1回又は固定された時間に話者を登録し、サーバは、新しい入来音声信号からの登録演算を実行しないか、又は初期登録後に機械学習アーキテクチャ又はモデル(例えば、パラメータ、声紋)を更新しない。
【0034】
継続的な声音処理演算を実装することによって、音声生体認証システムは、新しい入来音声信号を用い、新しい入来音声信号から便益を得る。機械学習アーキテクチャは、最初に、固定された時間に話者を能動的に登録するための静的音声処理演算を実装し得、サーバは、新しい発話を更に取り込み、この機械学習モデルを発展させて、固定された時間の後の時間に新しい話者を登録及び検出し得る。継続的な声音処理演算を実装することによって、継続的な声音処理演算は、新しい発話を検出し、新しい発話の抽出された埋め込みを、事前定義された基準(例えば、声紋、類似度スコア、認証データ、ユーザ情報、デバイス情報)と比較して、経時的に新しい話者を識別及び登録し得る。基準は、例えば、エンドユーザデバイスからのデータ入力を伴って受信された、生体認証情報、話者/ユーザ情報、デバイス情報、及びメタデータから抽出された様々なタイプの特徴を含み得る。継続的登録演算を実行する音声生体認証システムは、様々な特徴及び他のタイプの情報を包含する登録入力(例えば、登録音声信号)を受動的にキャプチャ及び分析することができる。次いで、システムは、入力音声信号の特徴に基づいて、新しい話者を自動的に検出し、システム参照が、登録された話者を識別するか、又は未知の新しい話者を区別する、新しい声紋(例えば、モデル埋め込み)を生成する。そのようなシステムは、陳腐化を回避するために、話者プロファイル及び話者声紋の継続的登録及び定期的更新を更に実行してもよく、このことは、他人拒否率又は他人受入率の増加をもたらす可能性がある。
【0035】
条件依存性適応閾値化
話者認識システムのいくつかの実施形態は、固定された閾値化を用いる。固定された閾値化を用いる単一話者検証について、サーバは、インバウンド音声信号から抽出された話者埋め込みを登録された埋め込み(声紋)と比較し、類似度スコア又は予測スコアを計算する。類似度スコアが事前定義された話者非依存性の固定された閾値を充足する場合には、コンピューティングデバイスは、インバウンド音声サンプルを照合する。そうでない場合、コンピューティングデバイスは、インバウンド音声信号を拒否するか、又は失敗予測スコアを報告する。話者の数(N)を有する固定された閾値化を用いるマルチ話者照合又はオープンセット識別のために、コンピューティングデバイスは、インバウンド音声信号からN個のインバウンド話者埋め込みを抽出し、N個のインバウンド埋め込みを声紋の数(V)と比較して、N/Vの類似度スコアを計算し、それによって、コンピューティングデバイスは、各インバウンド埋め込みを各声紋と比較する。次いで、コンピューティングデバイスは、N個の異なる類似度スコアを出力する。コンピューティングデバイスは、各話者の最大類似度スコアのみを考慮し、この場合、最大類似度スコアは、特定の話者の埋め込みと特定の声紋との間の最も近い一致を表す。特定の話者埋め込みの最大類似度スコアが、事前定義された話者非依存性の固定された閾値を充足する場合には、コンピューティングデバイスは、マルチ話者音声サンプル(音声サンプル:audio sample)中の対応する話者を照合又は識別する。
【0036】
いくつかの場合には、固定された閾値化演算を用いることは、いくつかの声紋が他のモデルよりも速く成熟することを可能にする。劣った品質メトリックに基づく声紋は、いくつかの成熟因子において、コンピューティングデバイスに、ある非受入率で話者を誤って受け入れさせる。成熟因子は、例えば、登録発話の数を含む。例えば、50個の発話で登録された話者声紋は、1個の発話のみで登録された声紋よりもはるかに成熟している。成熟因子の別の例としては、正味の発語の全体的な持続時間が挙げられる。例えば、30秒の長さの1つの発話で登録された話者声紋モデルは、わずか2秒の1つの発話で登録された別のモデルよりも成熟している。更に別の例としては、音声の品質が挙げられる。例えば、比較的低いノイズ(高SNR、低T60)の清澄な条件で収集された1つの発話で登録された話者モデルは、ノイズが多く、かつ、比較的反響の大きい条件(低SNR、高T60)で収集された1つの発話で登録されたモデルよりも成熟しているであろう。
【0037】
話者認識システムのいくつかの実施形態は、条件依存性適応閾値化を用いる。条件依存性適応閾値化を実装することによって、システムは、成熟の欠陥を考慮し、正解率を増加させて、話者を認識又は認証するように訓練された機械学習アーキテクチャの所望の他人受入率(又は所望の誤識別率)を充足する。システムは、声紋の成熟度及び成熟度閾値に基づいて、個々の話者声紋を照合するための類似度閾値を継続的に調整する。いくつかの場合には、サーバは、成熟因子、又は特定の話者プロファイルの埋め込み及び声紋に関連付けられたそのような因子の組み合わせに基づいて、個々の話者プロファイルの異なる類似度閾値を決定し得る。サーバは、管理デバイスから受信された管理構成に従って構成される、目標の他人受入率及び成熟度因子に応じて、所与の話者の一連の類似度スコア閾値を生成及び更新する。モデル埋め込み(声紋)について、システムは、声紋に追加された発話の数などの、異なる許容可能な又は目標の他人正解率率及び/又は成熟度因子閾値に従って、類似度閾値を決定又は更新する。一例として、システムが話者埋め込みモデルに発話を追加するにつれて、システムは、話者のより良い描写(例えば、話者に関連付けられた発話の増加)を有するシステムの結果として、類似度閾値を増加させ得る。別の例として、所与の声紋の類似度閾値は、構成された他人正解率率がサーバへのユーザ構成入力に従って増加すると、減少し得る。
【0038】
条件依存性適応閾値化を実装するシステムは、受信された発話を使用して話者埋め込みモデルを更新し得る。例えば、いくつかの実施形態では、サーバは、二重閾値化を用い、この場合に、サーバは、インバウンド埋め込みを声紋と比較することによって、インバウンド発話から抽出されたインバウンド埋め込みの類似度スコアを生成し、次いで、類似度スコアを、特定の話者のより高い閾値及びより低い閾値と比較して評価する。類似度スコアがより高い閾値を超える場合には、サーバは、話者を照合又は認証する。次いで、サーバは、声紋にインバウンド埋め込みを追加し、インバウンド発話を話者に関連付けられた新しい発話として、話者プロファイルに追加する。類似度スコアがより低い閾値を超える場合には、サーバは、インバウンド話者を照合又は認証する。予測スコアがより低い閾値を充足するが、より高い閾値を充足しない状況においては、サーバは、インバウンド埋め込み及びインバウンド発話を弱い埋め込みのリストに記憶し、弱い埋め込みのリストは、場合によっては劣る音質又は背景ノイズに起因する、話者を照合するのに声紋に十分に近かったが、声紋を更新するには十分に類似していなかった埋め込みのためのバッファ又は隔離場所として機能するメモリロケーションである。システムは、サーバが声紋を更新する(機械学習アーキテクチャの他の態様)際に、声紋に対する記憶された弱い埋め込み及び発話の新しい類似度スコアを計算して、記憶された弱い埋め込み及び発話が、より高い閾値を超えるように、更新された声紋に十分に類似するようになるかどうかを判定し得、したがって、発話をモデルに新しい発話として追加し得る。いくつかの実施形態では、サーバはまた、声紋を生成するためにサーバによって使用された強い埋め込みの1つ以上のリストを含む。
【0039】
教師なしクラスタリング
音声生体認証システムは、教師なしクラスタリング方法を使用して、一度に複数の話者を識別することが可能であり得る。サーバは、類似度スコアを計算するための任意の数のクラスタリングアルゴリズム又は演算を実行することによってクラスタを生成し、声紋を含む、データの任意の数の特徴又はタイプを参照し得る。クラスタは、閾値数の話者までの複数の話者に関連付けられ、話者のそれぞれのクラスタと最も類似する発話に基づいて、リアルタイムで話者を識別する。例えば、メディアサービスのメディアコンテンツサーバは、世帯又は世帯のパワーユーザに加入者識別子を発行し、次いで、メディアデータベース中の所定数のユーザを割り当てる。話者プロファイルデータベースは、加入者識別子に関連付けられたユーザの数に従って、1つ以上の話者プロファイルを生成する。クラスタリング演算を実行するサーバは、話者プロファイル又はメディアデータベースを参照して、加入者識別子に割り当てられるユーザの数を決定し、ユーザのその割り当てられた数を話者の閾値数として用いる。インバウンド音声信号中の複数の話者について抽出された複数の埋め込みを比較するなどのクラスタリング演算に基づいて、サーバは、類似度スコアを生成し、最も近い一致する声紋を識別し、最も近い声紋の類似度スコアを、それぞれの声紋の類似度閾値と、又はデフォルトの類似度閾値と比較する。
【0040】
音声生体認証システムは、増分クラスタリング(例えば、継続的クラスタリング)及び/又は組織クラスタリング(例えば、階層的クラスタリング)技法を使用して、個々の話者のクラスタを構築して、受動的かつ継続的登録及び認証のために使用され得る効率的かつ正確なクラスタリング方法を確保し得る。システムは、特定の基準が満たされ(例えば、特定の基準はスケジュールされた時間であってスケジュールされた時間間隔が経過した、システムが、システムが以前に階層的クラスタリングを使用してから所定数の発話を処理した、システムが閾値を超える数の話者識別した、など)ない限り、増分クラスタリング演算を用い得、この場合に、システムは、組織クラスタリング演算を実行し得る。
【0041】
逐次型クラスタリングを使用するために、例えば、音声生体認証システムは、既存のクラスタのグループに対する新しい発話の類似度スコアを判定し得る。システムは、最高類似度スコアを識別し、類似度スコアが所定の閾値を超えるか否かを判定し得る。類似度スコアが閾値を超える場合、システムは、類似度スコアに関連付けられたクラスタに発話を追加し得る。そうでない場合、システムは、第1の発話としての発話で新しいクラスタを作成し得る。システムは、システムが個々の話者の最新の話者埋め込みモデルを維持するために取り込む各新しい発話に対する逐次型クラスタリングを、そのようにするために必要とされる処理リソースを最小限に抑えながら、実装し得る。
【0042】
階層型クラスタリングを使用するために、例えば、音声生体認証システムは、システム内の記憶された発話の各々にアクセスし、発話をクラスタ間でシャッフルし得る。システムは、クラスタの発話の各々を互いに比較し、最高の類似度を有する発話を一緒にクラスタ化し得る。追加的又は代替的に、システムは、声紋を互いに比較して、声紋類似度閾値にも一致する最高の類似度スコアを有するそれらの声紋を組み合わせる。
【0043】
各クラスタリング方法論は、独自の利点及び欠点を有するため(例えば、増分クラスタリングは、より速いが、より正確ではない場合がある一方で、組織クラスタリングは、より正確であるが、大量のコンピュータリソースを必要とする場合がある)、経時的に2つの方法論の組み合わせを使用することは、両方の方法の欠陥をカバーし、システムが成熟した正確な話者埋め込みモデルを作成することを可能にし得る。システムは、組織クラスタリング演算を伴って増分クラスタリング演算を断続的に実行して、処理リソースを節約するために組織クラスタリングを過度に頻繁に使用することを避けながら、話者埋め込みモデルの正解率を向上させ得る。この組み合わせにより、受動的かつ継続的登録及び認証に適切である、効率的かつ正確なクラスタリングが確保される。
【0044】
ラベル補正
再組織化クラスタリング演算を使用することは、ラベル補正演算のセットを実装するための音声生体認証システムを必要とし得る。例えば、再組織再クラスタリング演算を通じて作成された匿名クラスタ(例えば、新しく生成されたクラスタ、未割り当てのクラスタ)にラベルを正確に移行させるために、システムは、組織化されていないクラスタからのクラスタと、再組織化演算を使用して組織化されたクラスタと、の間のペアワイズ類似度を計算し得る。システムは、古いクラスタ及び新しいクラスタの各々の間のペアワイズ類似度を計算することによって、類似度行列を作成し、互いに最も類似しているクラスタをマッチングクラスタとして識別し得る。システムは、ラベルを古いクラスタから新しいマッチングクラスタに移行させ得る。システムは、ラベルとラベルに関する情報との間の関連付け(例えば、コンテンツプリファレンス)を記憶し得るため、システムは、新しいクラスタと、移行されたラベルを通じて以前のクラスタに関連付けられていた任意の情報と、の間の関連付けを作成及び/又は維持し得る。
【0045】
コンテンツパーソナライゼーション及び制御
いくつかのオーバーザトップサービスは、個人がそれぞれのサービスを使用して、コンテンツ(例えば、画像コンテンツ、ビデオコンテンツ、音声コンテンツ(audio content)など)、又はコンテンツの推奨を個人に提供する際に、個人のプロファイルを作成し得るか、又は作成するためにサードパーティのサービスを使用し得る。これらのサービスは、個人による能動的入力からそのようにしてもよいし(例えば、ユーザが、ユーザが好むコンテンツのタイプを示すプリファレンスを入力してもよいか、又はユーザの年齢などの自分自身に関する情報を提供してもよい)し、サービスが、個人に関するプロファイルをデータベース中に維持し、ユーザがオーバートップサービスを使用しながら閲覧する種々のタイプのコンテンツを識別してもよい。本明細書に記載されるシステム及び方法を実装することによって、システムは、オーバーザトップサービスから(例えば、エッジデバイスを介して)受信された音声データ(voice data)を使用して、サービスを使用してコンテンツを閲覧している個人を識別し、個人の識別子を、関連するコンテンツを個人に提供するサービスに提供し得る。
【0046】
例えば、音声生体認証システムは、話者から発話を受信し、機械学習技法(例えば、クラスタリング及び/又はニューラルネットワークアーキテクチャ)を使用して、システムによって維持される話者プロファイルデータベース(「分析データベース」と呼ばれることがある)から話者の話者プロファイルを識別し得る。システムは、話者プロファイルから話者(又は話者の世帯、話者に関連付けられたグループなど)の1つ以上の識別子を取り出し、話者をメディアサービスに示す。メディアサービスは、識別子を使用して、サービスが維持するメディアコンテンツデータベースから、識別子に関連付けられたプロファイル(例えば、消費者プロファイル、ユーザプロファイル)を識別することができる。サービスは、識別子に関連付けられたプロファイルに基づいて、話者又は話者のエッジデバイスにコンテンツ及び/又はコンテンツの提案を提供することができる。いくつかの場合には、システムは、話者の識別子自体に基づいて、話者又はエッジデバイスに提供するコンテンツを識別することができる。システムは、教師なしシステム内の識別子を匿名化された識別子(例えば、識別子のハッシュ化されたバージョン)として判定し得るため、識別子は、話者の匿名性を維持し得、そのため、システムもオーバートップサービスもいずれも、識別子から、システム又はサービスがコンテンツを供する特定の個人に関する個人識別情報を取得することができない。
【0047】
いくつかの場合には、音声生体認証システムは、年齢に関連するペアレンタル制御のために話者プロファイルを使用し得る。そのようにするために、システムは、話者プロファイルと、話者の年齢に関連する特性(例えば、人が、特定の年齢又は話者の年齢を超えているかどうか)を示すフラグと、の間の関連付けを記憶し得る。システムは、ユーザ入力を介して、又は話者のプロファイルを構築するためにシステムが使用する発話に基づいて自動的に、プロファイルに関連付けられた年齢特性を取得し得る。いくつかの場合には、システムは、サードパーティサービスから年齢特性を受信し得る。システムは、個人が年齢に関連する話者特性を充足しない場合、年齢に関連する特性を、話者に提供するコンテンツを選択するために、又はそうでない場合に話者がコンテンツを閲覧することを停止させるために使用するオーバーザトップサービスに提供し得る。
【0048】
いくつかの場合には、音声生体認証システムは、本明細書に記載されるシステム及び方法を使用して、話者が、他の話者になりすまして、なりすまされた話者の話者プロファイルに関連付けられたコンテンツを閲覧することを停止させ得る(例えば、個人が別の話者の録音を再生するリプレイ攻撃において)。例えば、子供が、オーバーザトップサービスの年齢に関連する制限を克服するために、子供の両親が話す録音を再生し得る。システムは、子供が録音を再生していることを検出し得、子供の親の話者プロファイルを識別する代わりに、子供が彼又は彼女の両親になりすまして、サービスに、子供に年齢制限コンテンツを提供することを停止させようとしていることを示す警告を生成し、及び/又はこのことを示す信号をオーバーザトップサービスに伝送し得る。したがって、システムは、個人が別の個人になりすましているかどうかを判定し、サービスに、承認されていないユーザにコンテンツを提供することを停止させるための警告を生成し得る。
【0049】
リプレイ攻撃を防止するために、サーバは、話者から受信された追加の認証データを評価し、認証データを、追加のパスワード若しくはパスフレーズ又は他の必要とされる情報などの、期待される認証データと比較し得る。
【0050】
いくつかの実施形態では、サーバは、スプーフィング条件の様々なタイプのデータ及び特徴を評価することによって、リプレイ攻撃を防止する。サーバは、参照により本明細書に組み込まれる、米国特許第10,692,502号として発行された米国特許出願第15/910,387号に記載されているように、スプーフィング条件を示すアーチファクトについてインバウンド音声信号を評価するように訓練された機械学習アーキテクチャモデルを実行する。親の発話の録音を含むリプレイ攻撃は、特定の低レベルの特徴では、実際の生の発話に典型的には存在しない再生された録音に見出される品質を含み得る。例えば、録音された音声サンプルは、周波数、周波数範囲、ダイナミックパワーレンジ、残響、特定の周波数範囲におけるノイズレベルなどに関連する音声アーチファクト(audio artifact)を一貫して導入し得、これらのアーチファクトのうちの少なくともいくつかは、本明細書に開示されるような特別の発語処理技法及び/又は機器を使用せずには感知できない場合がある。機械学習アーキテクチャは、そのようなスプーフィング条件(例えば、品質、アーティファクト)及び本物のインバウンド発話を識別するように訓練されたスプーフ検出分類器を含む。サーバは、親の声紋を参照して、潜在的なスプーフィング条件を識別する。例えば、親は、特定の低レベルの音声品質を有する音声信号を生成し、かつ、したがって、それらの品質に基づく埋め込みと、特定の一貫した低レベルの特徴に基づく親の声紋と、を生じさせる、特定のデバイスのみを使用して、発話を一貫して提供し得る。話者プロファイルは、なりすまされたアクセスと本物のアクセスとを区別することにおける後の使用のために、特定のタイプの低レベルの特徴をキャプチャ及び記憶し得る。子供がインバウンドリプレイ発話を入力すると、サーバは、インバウンドリプレイ埋め込みを親の声紋スコアと比較すること、及びインバウンドリプレイ埋め込みを、親の声紋スコアを生成するために使用されるアーチファクト特徴と比較することに基づいて、類似度スコア及び/又はスプーフィングスコアを判定する。リプレイ攻撃を防止するためにサーバによって実装され得るスプーフ検出の追加の例を、米国特許出願第17/192,464号に見出すことができ、これは、参照により本明細書に組み込まれる。
【0051】
デバイスパーソナライゼーション及び制御
いくつかのデバイスは、本明細書に記載されるものなどの話者プロファイルを使用して、エッジデバイスを構成及び/又はカスタマイズし得る。例えば、システムは、各音声プロファイル(voice profile)を車の構成に関連付けて、音声プロファイルを車にローカルに(又は車に関連付けられた識別子を伴ってクラウドに)記憶し得る。1つの話者プロファイルに関連付けられた個人が、温度、ラジオボリューム、ウィンドウ設定など、のうちの1つ以上に関連付けられ得、別の個人が、異なる設定に関連付けられ得る。システムは、複数の個人のプロファイルを記憶し得るので、システムが発話を取り込み、かつ、発話に基づいて話者プロファイルを識別するときに、システムは、デバイスの他のアプリケーションと通信して、話者プロファイルの設定に基づいて、デバイスの構成を自動調整し得る。
【0052】
例示的なシステム構成要素
メディアコンテンツシステムの音声処理
説明及び理解を容易にするために、本明細書に記載される実施形態は、コンテンツ配信システムのコンテキストにおいて音声処理及びユーザデータ分析を用いるコンピューティングシステムについて記載する。ただし、実施形態は、そのような実装態様に限定されず、個人の話者又はマルチ話者の音声生体認証を処理するために、例えば、受動的又は能動的な話者識別、又は継続的又は静的な話者識別から利益を得る可能性がある任意の数のシステムに、本明細書に記載されるプロセスを用いてもよい。音声入力(audio input)中の話者を受信、処理、及び識別するほぼ任意のシステムが、本明細書に記載されるマルチ話者音声生体認証のマルチ話者識別又は承認ためのシステム及びプロセスを実装し得る。本明細書における音声処理及びデータ分析を用い得るシステムの非限定的な例としては、とりわけ、IoTデバイス(エッジデバイスと呼ばれることがある)(例えば、スマート家電、車両)、コールセンタ及び類似のヘルプデスク又はサービスセンタ、セキュア認証システム又はサービス(例えば、オフィス又はホームセキュリティ)、並びに監視又はインテリジェンスシステムが挙げられる。
【0053】
更に、本明細書における実施形態は、音声処理演算を用いて、話者を特定の既知又は未知のユーザとして識別する。ただし、実施形態は、音声生体認証に限定されず、話者を特定のユーザとして識別するための任意の数の追加のタイプの生体認証を取入れ、処理してもよい。実施形態が取入れ、処理し得る追加のタイプの生体認証の非限定的な例としては、眼スキャン(例えば、網膜若しくは虹彩認識)、顔(例えば、顔認識)、指紋若しくは手紋(例えば、指紋認識)、監視システムにアクセスしたとき(例えば、キー押下、メニューアクセス、コンテンツ選択、入力又は選択の速度)のユーザ行動(例えば、「行動プリント」)、又は生体認証情報の任意の組み合わせが挙げられる。
【0054】
図1は、音声処理機械学習演算を用いるシステム100の構成要素を示す。システム100は、分析システム101、コンテンツシステム110、及びエンドユーザデバイス114を備える。分析システム101は、分析サーバ102、分析データベース104、及び管理者デバイス103を含む。コンテンツシステム110は、コンテンツサーバ111、及びコンテンツデータベース112を含む。実施形態は、追加又は代替の構成要素を含んでもよいし、又は
図1の構成要素から特定の構成要素を省略してもよく、依然として本開示の範囲内に入り得る。例えば、複数のコンテンツシステム110を含むか、又は分析システム101が複数の分析サーバ102を有することが一般的であり得る。実施形態は、本明細書に記載される様々な特徴及びタスクを実行することができる任意の数のデバイスを含んでもよいし、又はそれらを別様に実装してもよい。例えば、
図1は、分析サーバ102を、分析データベース104とは別異のコンピューティングデバイスとして示す。いくつかの実施形態では、分析データベース104は、分析サーバ102に統合されている。
【0055】
システム100の様々な構成要素は、1つ以上のパブリックネットワーク又はプライベートネットワークのハードウェア構成要素及びソフトウェア構成要素を通じて互いに相互接続されている。そのようなネットワークの非限定的な例としては、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、及びインターネットが挙げられ得る。ネットワークを介した通信は、伝送制御プロトコル及びインターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、及びIEEE通信プロトコルなどの様々な通信プロトコルに従って実行され得る。
【0056】
概要及びインフラストラクチャ
分析サービスは、メディアコンテンツサービス又は企業コールセンタなどの顧客に、音声処理及びエンドユーザから受信されたデータを分析するためのコンピューティングサービスを提供する。分析サービスの非限定的な例としては、ユーザ識別、話者認識(例えば、話者ダイアライゼーション)、ユーザ認証、及びエンドユーザに関するデータ分析が挙げられる。分析サービスは、分析サービスを、ホストし、かつ、1つ以上のメディアコンテンツサービス(例えば、Netflix(登録商標)、TiVO(登録商標))の1つ以上のコンテンツシステム110に提供するように構成された様々なハードウェア、ソフトウェア、及びネットワーキング構成要素を備える分析システム101を動作させる。
【0057】
コンテンツメディアサービスは、エンドユーザデバイス114にメディアコンテンツを提供する、オーバーザトップ(OTT)又はデジタルストリーミングサービスなどのクラウドベースのメディアサービスをホストするように構成されたハードウェア、ソフトウェア、及びネットワーキング構成要素を備えるコンテンツシステム110を動作させる。コンテンツシステム110は、コンテンツ推奨、コンテンツ制限(例えば、ペアレンタル制御)、及び/又は広告などの、エンドユーザのためのパーソナライズされたコンテンツを識別及び提供する。
【0058】
動作中、(コンテンツシステム110の)プロバイダサーバ111は、エンドユーザデバイス114から様々なタイプの入力データを受信し、入力データを(分析システム101の)分析サーバ102に転送する。分析サーバ102は、プロバイダサーバ111から転送された入力データを使用して、本明細書に記載される様々な分析プロセスを実行し、次いで、分析プロセスから結果として得られた様々な出力をプロバイダサーバ111に伝送する。プロバイダサーバ111は、分析サーバ102から受信された出力を用いて、例えば、コンテンツパーソナライゼーションのための情報のタイプの中でもとりわけ、例えば、ユーザ動作又は行動(例えば、視聴習慣)、エンドユーザデバイス114とコンテンツシステム110との間の対話、ユーザの特性(例えば、年齢)、及びユーザ身元に基づいて、パーソナライズされたコンテンツを識別及び生成する。
【0059】
コンテンツシステム110又は分析システム101は、通常、例えば、サブスクリプション情報(例えば、加入者識別子)又はユーザクレデンシャル(例えば、ユーザ名、パスワード)に基づいてユーザを識別し得るが、本明細書に記載される分析システム101は、追加的又は代替的に、エンドユーザデバイス114によってキャプチャされたユーザ入力及び口頭の発話に基づいて、(コンテンツシステム110の代わりに)ユーザを識別する。
【0060】
いくつかの場合には、エンドユーザデバイス114は、ユーザ入力データを能動的にキャプチャし、エンドユーザは、エンドユーザデバイス114と能動的に対話する(例えば、「ウェイク」ワードを話す、ボタンを押下する、ジェスチャーを行う)。いくつかの場合には、エンドユーザデバイス114は、ユーザ入力データを受動的にキャプチャし、エンドユーザは、エンドユーザデバイス114と受動的に対話する(例えば、別のユーザに話しかけ、エンドユーザデバイス114は、ユーザの肯定的なアクションなしに発話を自動的にキャプチャする)。エンドユーザデバイス114のマイクロフォンによってキャプチャされた音又は音声データ、又はエンドユーザデバイス114によって提示されたユーザインターフェースを介して入力されたユーザ入力などの、様々なタイプの入力が、ユーザがエンドユーザデバイス114と対話する方途を表す。キャプチャされた音は、1人以上の話者ユーザのバックグラウンドノイズ(例えば、周囲ノイズ)及び/又は発話を含む。追加的又は代替的に、ユーザ入力は、エンドユーザデバイス114によってキャプチャされるか、又はエンドユーザデバイス114にアップロードされる、ユーザ(例えば、顔の表情、ジェスチャー)のビデオ(又は画像)を含むことができる。ユーザインターフェースへのユーザ入力は、デバイスを横断してスワイプするタッチ入力、ジェスチャーでデバイスを使用する、デバイス上のボタン(例えば、キーパッドのデュアルトーン多重周波数(DTMF)トーン)を押下する、テキストを入力する、指紋などの生体認証情報をキャプチャするなどの、物理的又はグラフィカルユーザインターフェースへのインターフェース入力を含むことができる。
【0061】
コンテンツサーバ111は、エンドユーザデバイス114からのユーザ入力をユーザ入力データとして受信する。コンテンツサーバ111は、可能性がある演算の中でもとりわけ、様々な形態のメタデータを識別又は抽出すること、ユーザ入力データを使用して1つ以上の認証演算を実行すること、特定のタイプのデータを匿名化又は難読化すること(例えば、1つ以上の識別子のハッシュを生成すること)などの、ユーザ入力データに対する様々な処理演算を実行する。コンテンツサーバ111は、ユーザ入力データを分析サーバ102に伝送する前に、ユーザ入力データを変換し、修正し、及び/又は充実させ得る。ユーザ入力データ内のデータのタイプの非限定的な例としては、とりわけ、音声信号、ユーザインターフェース入力(例えば、ユーザ要求、ユーザ命令)、認証入力(例えば、ユーザ認証情報、生体認証)、様々な識別子(例えば、加入者識別子、ユーザ識別子)、及び様々なタイプの通信メタデータなどが挙げられる。
【0062】
分析システム101は、プロバイダサーバ111から、音声信号を、任意の数の機械可読データ形式(例えば、WAV、MP3、MP4、MPEG、JPG、TIF、PNG、MWV)のデータファイル又はデータストリームとして受信する。音声信号は、バックグラウンドノイズに加えて発語を含み得る。いくつかの構成では、分析システム101が音声信号を受信する前に、コンテンツシステム110は、メタデータ又は話者非依存性特性などのインタラクションに関する情報で音声信号にタグ付けしてもよい。そのような情報の非限定的な例としては、対話の時間、対話の日付、エンドユーザデバイス114のタイプ、マイクロフォンタイプ、対話の場所(例えば、寝室、リビングルーム、レストラン)、対話に関連付けられた特定のエンドユーザデバイス114(例えば、特定のスマートTV114a、仮想アシスタント114d)、対話に関連付けられた加入者識別子、対話に関連付けられた一意の識別子(例えば、自動番号識別子)などが挙げられ得る。
【0063】
分析サーバ102などの分析システム101の構成要素は、ユーザ識別サービス(又は認証サービス)を提供するために、声紋を生成し、声紋を更新し、類似度スコアを予測し、音声信号における話者を識別(又は認証)し、声紋を再ラベル付けする。分析システム101は、音声信号における話者に関連付けられた類似度スコア(又はラベル)を分析システム101の顧客に提供し得る。例えば、分析システム101は、対話に関連付けられた音声信号に基づいて、話者識別子をコンテンツシステム110に伝送し得る。
【0064】
コンテンツシステム
コンテンツシステム110は、加入者のエンドユーザデバイス114にメディアデータを送信又はストリーミングする。加入者は、コンテンツシステム110の顧客を表すが、1つ以上のユーザの集合を表すこともできる。例えば、加入者は、エンドユーザデバイス114を使用してコンテンツシステム110のサービスにアクセスする世帯、並びに家族及び/又はゲストのメンバーを表すことができる。家族は、家族の少なくとも1人のメンバーがコンテンツシステム110の加入者として登録する場合、メディアコンテンツにアクセスし得る。プロバイダサーバ111は、エンドユーザデバイス114との様々なユーザインタラクションに基づいて、ユーザ(加入者及び加入者のゲストを含む)のために、エンドユーザデバイス114にメディアコンテンツを伝送する。
【0065】
コンテンツシステム110の構成要素は、1つ以上のネットワークを介して分析サーバ102に転送される入力データにコンテンツシステム110が追加する、エンドユーザデバイス114から受信された様々なタイプの入力データ(例えば、メタデータ)をキャプチャする。コンテンツサーバ111などのコンテンツシステム110のコンピューティングデバイスは、入力データを分析システム101に転送する前に、インバウンド入力データ(音声信号を含む)を加入者識別子に割り当てる。加入者識別子は、コンテンツシステム110の加入者又は顧客を示すデータ値、タグ、又は他の形式のデータである。加入者識別子は、コンテンツシステム110が特定の加入者からの特定の入力に伴って受信した音声信号を含む、様々なタイプのデータを特定の加入者に関連付ける。
【0066】
加入者は、ユーザのコレクションに共通の加入者識別子を使用してコンテンツシステム110のサービスにアクセスするユーザ(例えば、世帯)のコレクションを定義するか、又は別様に関連付ける。そのような場合、コンテンツデータベース112は、「話者プロファイル」と称されることがある、ユーザ(話者)の各々のデータレコードを含む。動作中、分析システム101は、入力データの加入者識別子及び音声信号を受信するが、プライバシー目的で、分析システム101は、個人識別情報を含む必要はない。例えば、コンテンツサーバ111は、加入者識別子又は話者識別子の匿名化されたバージョンを生成して分析システム101に送信し、それによって、加入者のプライベート情報が分析システム101に直接伝送される(又は別様に確認可能である)ことを防止することによって、加入者又は特定のユーザのプライベート情報を保護する。
【0067】
コンテンツシステム110は、メディア及び加入者情報をコンテンツデータベース112に記憶し、コンテンツシステム110が、加入者識別子に関連付けられた加入ユーザ(例えば、加入者のアカウント)を識別することを可能にする。例えば、コンテンツデータベース112は、加入者識別子、音声信号(分析システム101から受信された話者識別子、ユーザ特性、話者非依存特性、及び他のメタデータを含む)、及び加入者アカウントを包含する加入者データレコードをルックアップテーブルに記憶する。
【0068】
コンテンツシステム110は、事前構成されたトリガ条件に従って、(加入者識別子を用いて)音声信号を分析システム101に転送する。例えば、コンテンツシステム110は、エンドユーザデバイス114から音声信号を受信し、音声信号を分析システム101に転送する。音声信号は、例えば、ユーザがコンテンツシステム110からメディアコンテンツ(又は他のサービス)を要求する1つ以上の発話を含む。そのコンテンツシステム110は、要求に関連付けられた音声信号を分析システム101に転送して、ユーザのセットに関してユーザをリアルタイムで識別し得る。分析システム101は、話者情報(例えば、話者特性、話者識別子、話者非依存特性、メタデータ)をコンテンツシステム110に伝送し得る。コンテンツシステム110は、ユーザ情報を使用して、パーソナライズされたコンテンツを伴って話者要求に応答し得る。いくつかの場合には、コンテンツサーバ111は、分析サーバ102又は管理者デバイス103などのシステム100の別のデバイスから受信された命令又は照会に応答して、音声信号を分析システム101に転送し得る。
【0069】
コンテンツサーバ
いくつかの実施形態では、コンテンツサーバ111は、音声信号における発話を識別すること、音声信号を1つのフォーマットから異なるフォーマットの音声信号に変換すること(例えば、メディアファイルをWAVファイルフォーマットからMP3ファイルフォーマットに変換すること)、音声信号を前処理すること、音声信号を匿名化すること(例えば、ハッシュ識別子を音声データに関連付けること)、音声信号における話者に関連付けられた生体認証特徴を抽出することなどのためのソフトウェアプロセス及びサービスをホスト及び実行し得る。例えば、コンテンツサーバ111は、音声信号における音声イベントを検出するように構成されている。コンテンツサーバ111はまた、音声信号のコンテンツ(例えば、コンテンツを消費するユーザ要求)をキャプチャするために音声信号に対する自動音声認識(ASR)を実行するように構成され得る。
【0070】
コンテンツサーバ111は、エンドユーザデバイス114と能動的に対話するユーザにコンテンツを提供する。例えば、ユーザは、エンドユーザデバイス114に話しかけ得る。コンテンツサーバ111はまた、エンドユーザデバイス114と受動的に対話するユーザに(例えば、エンドユーザデバイス114に対する所定の近接範囲内で話すユーザに)、コンテンツを提供し得る。コンテンツサーバ111は、分析サーバ102によって示されるように、テレビ番組又は広告の推奨を含む、ユーザインターフェースデータ又はコンテンツ(例えば、コンピュータファイル、データストリーム)を、話者の身元に基づいて話者に伝送し得る。
【0071】
コンテンツデータベース
コンテンツシステム110のコンテンツデータベース112は、エンドユーザデバイス114へのストリーミングのための、加入者データ、話者プロファイル、及びメディアコンテンツを含む様々なタイプのデータレコードを記憶する。例えば、コンテンツデータベース112は、コンテンツのライブラリを記憶し得る。コンテンツデータベース112はまた、音声信号、話者識別子、話者特性、話者非依存特性、及びエンドユーザデバイス114又は分析サーバ102から受信された、対話に関連付けられた他のメタデータを記憶し得る。
【0072】
コンテンツデータベース112はまた、アカウントの所有者又は世帯、アカウントに対するユーザの許可された数、アカウントに関連付けられたデバイスの許可された数、アカウントに関連付けられたユーザの現在の数、アカウントに関連付けられたデバイスの現在の数、演算の許可された地理的領域(例えば、アカウントは、いくつかの国で禁止され、他の国で許可されてもよい)、購入オプション(例えば、あらゆる購入の前にパスワードを必要とする)、請求情報(例えば、クレジットカード情報、請求先住所、配送先住所)、加入者に関連付けられた識別子(例えば、加入者識別子、世帯識別子)、加入者識別子に関連付けられた話者識別子、情報の匿名化(例えば、ハッシュ関数、暗号鍵)などのような、加入者情報を記憶し得る。
【0073】
コンテンツデータベース112の加入者プロファイル又はユーザプロファイルは、特定の話者の、視聴履歴、話者情報(例えば、名前、年齢、誕生日、性別、宗教)、セキュリティクレデンシャル(例えば、ログインクレデンシャル、生体認証)、及びプリファレンスを記憶し得る。プリファレンスの非限定的な例としては、話者が過去に閲覧した、好んだ、ブックマークしたか、又はユーザが別様に興味を示した、などのコンテンツが挙げられ得る。動作中、コンテンツサーバ111は、ログインクレデンシャル又はメタデータに基づいて、又は分析サーバ102によって判定されるように、特定の話者を識別し、プリファレンスに基づいて、話者のための特定のメディアを判定する。加入者プロファイルは、1つ以上の話者プロファイルを含むか、又はそれに関連付けられている。いくつかの場合には、コンテンツデータベース112の話者プロファイルは、分析データベース104に記憶された話者プロファイル(話者データベースと称されることがある)に対応する。
【0074】
いくつかの実装態様では、加入者又は話者プロファイルは、コンテンツサーバ111に、特定の話者への特定のメディアの配信を禁止するように命令するコンテンツ制限又は制御(例えば、未成年ユーザのペアレンタル制御)を含む。コンテンツ制限(加入者プロファイル又はユーザプロファイルでの)は、コンテンツデータベース112のメディアデータレコードに記憶された適正年齢レイティング(例えば、R、PG-13、TV-MA)又はコンテンツ特性に対応する。コンテンツ特性は、とりわけ、タバコ/薬物使用、閃光、ヌード、及び暴力などの、ペアレント/裁量アドバイザリ、又は極端な若しくはいかがわしいタイプのコンテンツを示すデータ値である。コンテンツ特性は、ユーザ又は話者プロファイル情報としてコンテンツデータベース112又は分析データベース104に記憶されたユーザ又は話者特性に対応する。
【0075】
加入者プロファイルの少なくとも1つのユーザプロファイルは、加入者プロファイル全体(例えば、世帯)又は特定のユーザ(例えば、子供話者)のためのコンテンツ制限を構成する特権を有するパワーユーザプロファイル(例えば、親の話者プロファイル)を指定される。パワーユーザは、エンドユーザデバイス114のユーザインターフェースを動作させて、様々なコンテンツ制限構成を構成インターフェースに入力する。コンテンツ制限構成は、特定のユーザプロファイル識別子(例えば、ユーザ名)、ユーザ年齢、又は特定のコンテンツ/話者特性に従って、コンテンツ制限を示し、構成する。コンテンツサーバ111は、通例、ユーザのユーザ識別子を参照することによって、特定のユーザがコンテンツサービスにログインしたと判定し得る。コンテンツサーバ111は、(ユーザ識別子を包含する)ログインクレデンシャル中のユーザ識別子を受信するか、又は分析サーバ102から返される話者識別子を使用して、コンテンツデータベース112中のユーザ識別子を識別する。コンテンツサーバ111は、ユーザ識別子を使用して、コンテンツデータベース112を照会し、特定のユーザに割り当てられた特権のレベルと、任意の対応するコンテンツ制限と、を判定する。
【0076】
いくつかの実施形態では、構成制限は、追加のチャレンジ入力(例えば、PIN、パスワード)又は生体認証入力(例えば、指紋、声紋)などの、コンテンツ制限を無効化又は更新するための手段を更に示す。動作中、分析サーバ102が入力データ(例えば、音声信号)から特定のユーザ(例えば、話者)を識別した後、コンテンツサーバ111は、コンテンツデータベース112を参照して、ユーザに割り当てられたコンテンツ制限を識別し、メディアデータレコードに記憶された適正年齢レイティング又はコンテンツ特性に従って、ユーザに要求、照会、又は提示されたコンテンツにコンテンツ制限を適用する。
【0077】
エンドユーザデバイス
エンドユーザデバイス114は、ユーザが任意の音声又はビジュアルインターフェースを制御するように、又はコンテンツサービスを別様に操作するように動作させる、任意のデバイスであり得る。エンドユーザデバイス114の非限定的な例としては、スマートTV114a、リモートコントローラ114b、セットトップボックス114c、又は仮想アシスタント114d若しくは他のエッジデバイス若しくはモバイルコンピューティングデバイスなどのIoTデバイスが挙げられ得る。スマートTV114aは、インターネットネットワークなどのネットワークに接続するように構成され、かつ、マイクロフォン及び/又はカメラで構成されたTVであり得る。TVリモートコントローラ114bは、TV上に表示されるコンテンツを制御するように構成されたコントローラであり得る。セットトップボックス114c(例えば、ケーブルボックス、Slingbox、AppleTV、Roku Streaming Stick、TiVo Stream、Amazon Fire)は、プロセッサ及び非一時的記憶媒体を備え、本明細書に記載される様々なプロセスを実行するように構成された、任意のメディアストリーミング及び/又は記憶デバイスを含む。セットトップボックス114cは、1つ以上のネットワークを介してメディアコンテンツシステム110と通信して、様々なタイプのコンテンツ情報、ユーザ情報、及びデバイス情報をアップロード及びダウンロードし得る。IoTデバイスは、電気通信指向デバイス(例えば、携帯電話)、又はボイスオーバーIP(VoIP)電気通信又は他のネットワーク通信(例えば、セルラ、インターネット)を実装するように構成されたコンピューティングデバイスであり得る。IoTデバイスは、TCP/IPネットワーク又は他のコンピューティングネットワークチャネルを介してデータストリーミングするように構成されたハードウェア構成要素及びソフトウェア構成要素を備える。パーソナルアシスタント114dは、ソフトウェアアプリケーションを実行すること、及び/又は音声インターフェース(voice interface)動作を実行することができる仮想アシスタントデバイス(例えば、Alexa(登録商標)、Google Home(登録商標))、スマート家電、自動車、又は他のスマートデバイスであり得る。
【0078】
エンドユーザデバイス114は、ペアリングされるか、又は別様にネットワーク化されたデバイスの通信機能を使用することができるプロセッサ及び/又はソフトウェアを備え得る。エンドユーザデバイス114は、マイクロフォン、加速度計、ジャイロスコープ、カメラ、指紋スキャナ、インタラクションボタン(方向ボタン、数値ボタンなど)、ジョイスティック、又は任意の組み合わせなどを有して構成され得る。エンドユーザデバイス114は、音(例えば、口頭の発話、周囲ノイズ)を検出し、電気音声信号に変換するためのハードウェア(例えば、マイクロフォン)及び/又はソフトウェア(例えば、コーデック)を備え得る。コンテンツシステム110は、音声信号を収集してコンテンツデータベース112に記憶し得るが、分析システム101は、典型的には、音声信号を記憶することを回避するか、又はメモリに記憶された任意の音声信号をパージする。
【0079】
コンテンツサーバ111は、エンドユーザデバイス114から入力データを受信し、入力データの音声信号を変換すること、加入者識別子を識別して入力データに関連付けること、又は音声信号の様々な特徴をコンテンツデータベース112に記憶することなどの、様々な前処理演算を実行し得る。次いで、コンテンツサーバ111は、1つ以上のネットワークを介して、(分析システム101の)分析サーバ102に音声信号(及び加入者識別子)を転送する。
【0080】
コンテンツサーバ111は、所定の時間の間、音声信号をバッファ又はキャッシュメモリなどの非一時的機械可読記憶媒体に一時的に記憶する。追加的又は代替的に、コンテンツサーバ111は、音声信号をコンテンツデータベース112に記憶する。
【0081】
コンテンツサーバ111は、入力データ(例えば、音声信号、メタデータ)を分析システム101のコンピューティングデバイス(例えば、分析サーバ102)に転送する。いくつかの構成では、コンテンツサーバ111は、所定の間隔などの事前構成されたトリガ条件に従って、又はコンテンツサーバ111がエンドユーザデバイス114から入力音声信号を受信することに応答して、入力データを分析サーバ102に伝送する。
【0082】
いくつかの実施形態では、コンテンツサーバ111又はエンドユーザデバイス114は、エンドユーザデバイス114がユーザからの能動的入力(例えば、ウェイクワード)を検出する前であっても、録音を継続的にキャプチャ及び記憶する。例えば、人々のグループが何を見るべきかを議論するとき、エンドユーザデバイス114は、音をキャプチャする。グループが、見るべき特定の番組を決定した後、グループは、典型的には、沈黙し、1人が、ウェイクワードを発し、グループが見ることを決定した番組を発表することとなる。グループが沈黙したため、エンドユーザデバイス114及びコンテンツサーバ111は、ウェイクワードの前に、グループ討議の音をある期間の間、キャプチャ及び記憶することによって便益を得る。このようにして、コンテンツサーバ111及び分析サーバ102は、能動的入力のある時間前に開始する音声信号を確認する。そのような実施形態では、ユーザがエンドユーザデバイス114を動作させて、能動的に音をキャプチャすると、コンテンツシステム110は、ユーザがエンドユーザデバイス114を能動的に動作させるある時間前に、エンドユーザデバイス114によってキャプチャされた記憶された音声信号を取り出す。コンテンツシステムは、トリガ条件に関連付けられた音声信号と取り出された音声信号との両方を分析サーバ102に転送する。
【0083】
分析サーバ102は、受信された音声信号と、いくつかの実施形態では追加のタイプのデータ(例えば、加入者識別子、ユーザクレデンシャル、メタデータ)と、を使用して、話者識別子を判定する。分析サーバ102は、話者識別子(及び話者特性、話者非依存特性、及び他のメタデータ)をコンテンツサーバ111に伝送する。コンテンツサーバ111は、話者識別子を加入者識別子に、及び/又は特定の話者に関する情報にマッピングして、コンテンツサーバ111が話者に配信する必要があるコンテンツを決定する。
【0084】
分析サーバ
分析サーバ102は、1つ以上のプロセッサ及びソフトウェアを備え、かつ、本明細書に記載される様々なプロセス及びタスクを実行することができる、任意のコンピューティングデバイスであり得る。分析サーバ102は、データベース112及び104をホストし得るか、又はこれらと通信し得、コンテンツシステム110から音声信号、話者非依存特性、及び加入者識別子を受信し得る。
図1は、単一の分析サーバ102を示しているが、分析サーバ102は、任意の数のコンピューティングデバイスを含んでもよい。いくつかの構成では、分析サーバ102は、クラウドコンピューティング又は仮想マシン構成で動作する任意の数のコンピューティングデバイスを備え得る。いくつかの実施形態では、コンテンツシステム110のコンピューティングデバイス(例えば、コンテンツサーバ111)は、分析サーバ102の機能を部分的又は完全に実行する。
【0085】
分析サーバ102は、例えば、コンテンツサーバ111から、入力された音声信号(例えば、話者発話の音声記録(audio recording)、加入者識別子、ユーザ識別子、メタデータ)を取り込み、分析データベース104に照会し、音声データに対して様々な機械学習演算を適用する、様々なソフトウェアベースのプロセスを実行する。機械学習アルゴリズムは、音声イベントを検出すること、埋め込みを抽出すること、登録された声紋を生成若しくは更新すること、及び音声信号中の発話を有する1人以上のユーザを識別/認証することなどの、本明細書に記載される様々な演算を実行するための任意の数の技法又はアルゴリズム(例えば、ガウス行列モデル(GMM)、ニューラルネットワーク)を実装する。
【0086】
分析サーバ102は、分析データベース104に記憶された話者プロファイルを照会して、音声信号中の既知の話者又は新しい話者を識別し、新しい又は一時的な話者プロファイルを生成し、及び/又は分析データベース104の話者プロファイルを更新する。音声データを伴って受信された加入者識別子又は他のメタデータを使用して、分析サーバ102は、受信された加入者識別子に関連付けられた声紋(例えば、疑わしい声紋)を識別し、埋め込みのペア間の類似度行列を作成し、埋め込みの各々の距離に基づいて類似の埋め込みをクラスタ化し、類似度スコアの類似度行列を作成し、様々な閾値を使用して最大類似度スコアを判定し、強い埋め込み及び弱い埋め込みを判定し、分析データベース104に弱い埋め込みを記憶し、強い埋め込みを使用して声紋を更新し、最大類似度スコアに関連付けられた声紋を評価することによって話者を識別する。
【0087】
埋め込み抽出
分析サーバ102は、とりわけ、音声データ取り込み、前処理演算、データ拡張演算、埋め込み抽出、損失関数演算、及び分類演算などの、特定の演算を実行するように構成された任意の数の層を含む、1つ以上の機械学習アーキテクチャを実装するための機械実行ソフトウェアを実行する。様々な演算を実行するために、1つ以上の機械学習アーキテクチャは、とりわけ、入力層、埋め込み抽出器の層、全結合層、損失層、及び分類器の層などの、任意の数のモデル又は層を含む。分析サーバ102は、1つ以上の機械学習モデル及び層を含む音声処理ソフトウェアを実行する。説明を容易にするために、分析サーバ102は、埋め込み抽出器を有する単一の機械学習アーキテクチャを実行するものとして記載されているが、いくつかの実施形態では、複数の機械学習アーキテクチャ(ニューラルネットワークアーキテクチャを含む)が用いられ得る。
【0088】
分析サーバ102は、コンテンツサーバ111から音声信号を受信し、音声信号から様々なタイプの特徴を抽出する。分析サーバ102は、音声信号中のバックグラウンドノイズ、沈黙、及び話者を区別するために、音声イベント検出又は他の音声区間検出を実行する。例えば、分析サーバ102は、音声データを前処理し(例えば、音声信号をフィルタリングしてノイズを低減し、音声信号をフレーム又はサブフレームにパースし、様々な正規化又はスケーリング演算を実行し)、音声区間検出(VAD)ソフトウェア又はVAD機械学習を実行し、及び/又は特徴(例えば、1つ以上のスペクトル時間特徴)を部分(例えば、フレーム、セグメント)から、又は音声信号の実質的に全てから抽出し得る。音声信号から抽出された特徴としては、Mel周波数ケプストラム係数(MFCC)、Melフィルタバンク、リニアフィルタバンク、ボトルネック特徴などが挙げられ得る。
【0089】
いくつかの実施形態では、コンテンツサーバ111は、コンテンツサーバ111がエンドユーザデバイス114から受信する入力音声信号にVAD又はASRエンジンを適用する。コンテンツサーバ111は、入力音声信号の発語部分を分析サーバ102に伝送し、分析サーバ102は、入力音声信号に話者認識(例えば、埋め込み抽出器)の機械学習モデルを適用する。
【0090】
分析サーバ102は、ニューラルネットワークアーキテクチャ(例えば、ディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN))、ガウス混合モデル(GMM)、又は他の機械学習方法を使用して、音声信号から埋め込みを抽出する。分析サーバ102は、xベクトル、CNNベクトル、iベクトルなどを使用して埋め込みを表し得る。
【0091】
一例として、分析サーバ102は、音声信号からの発語部分のセット及び非発語部分のセットをパースするVAD演算を実行するための機械学習アーキテクチャを訓練し得る。VADが音声信号から抽出された特徴に適用されると、VADは、音声信号の各フレーム(又はサブフレーム)についてバイナリ結果(例えば、発語検出、発語検出なし)又は連続値(例えば、発語が発生する確率)を出力し得る。音声信号の発語部分は、発話と呼ばれ得る。音声信号は、複数の話者の発話を含み得る。音声信号はまた、重なり音(例えば、発話及び周囲バックグラウンドノイズ)を含んでもよい。分析サーバ102は、話者検出又は他の従来の話者セグメント化ソリューションを使用して、発話の開始及び終了を判定し得る。
【0092】
いくつかの実施形態では、コンテンツサーバ111は、VAD又はASR機械学習モデルを実行して、コンテンツサーバ111がエンドユーザデバイス114から受信したユーザ入力中の発語部分を識別する。そのような実施形態では、コンテンツサーバ111は、1人以上の話者の発話を包含する音声信号の発語部分を分析サーバ102に伝送する。分析サーバ102は、埋め込みを抽出する前に、VAD演算又はASR演算を実行する必要がない。
【0093】
リプレイ攻撃の算定
分析サーバ102は、エンドユーザデバイス114によってキャプチャされた音声信号が真正な音声信号であるか、又はリプレイ攻撃(例えば、物理的かつ反響的な空間内のマイクロフォンによってキャプチャされ、かつ、リプレイデバイスを使用してエンドユーザデバイス114のマイクロフォンに表される音声信号)であるかを判定し得る。音声信号の発語部分がリプレイ攻撃であるかどうかを判定する際に、分析サーバ102は、エンドユーザデバイス114タイプ及びマイクロフォンタイプなどの話者非依存性特性を取り込むか、これを判定するか、又はこれについてコンテンツシステム110に照会し得る。加えて、分析サーバ102は、インバウンド音声信号に1つ以上の訓練された機械学習モデルを適用して、インバウンド音声信号中の様々なアーチファクト、及び親の声紋中の対応するアーチファクト特徴に基づいて、スプーフィング条件を識別してもよい。
【0094】
能動的かつ静的登録
分析サーバ102は、機械学習アーキテクチャを用いて、特定の登録者話者の登録フェーズ中に特定の話者を認識することができる。機械学習アーキテクチャは、登録者を伴う発語セグメント(又は発話)を有する登録者音声信号を使用して、登録者声特徴ベクトル(「声紋」と呼ばれることがある)を生成することができる。エンドユーザデバイス114との後の能動的又は受動的な動作中、分析サーバ102は、キャプチャされた音声信号から埋め込みを抽出し、後のキャプチャされた音声信号が登録者を伴うかどうかを確認するために、埋め込みを声紋と比較する。
【0095】
分析サーバ102は、登録フェーズ(例えば、所定の登録時間)中にユーザを登録する。例えば、分析サーバ102は、新しいエンドユーザデバイス114の初期化中にユーザを能動的に登録し得る。追加的又は代替的に、分析サーバ102は、年次でユーザを能動的に登録してもよい(例えば、既存の声紋を更新し、新しいユーザの新しい声紋を生成するために)。
【0096】
登録フェーズ中、分析サーバ102は、分析サーバ102が、話者の声紋を使用して特定の話者を認識するのに十分な発話(例えば、音声信号の発語部分)を受信するまでユーザが繰り返す登録フレーズをユーザに促し得る。
【0097】
分析サーバ102は、登録フェーズ中の登録埋め込みに基づいて、声紋を作成する。登録フェーズ中、分析サーバ102は、分析サーバ102が特定の信号のユーザを数学的に識別することができるように、1つ以上の発話から埋め込みを抽出する。分析サーバ102は、分析サーバ102が閾値を超える持続時間の正味の発語を受信すると、登録フェーズ中に十分な埋め込みが抽出されたと判定し得る。追加的又は代替的に、分析サーバ102は、分析サーバ102が所定数の登録信号(例えば、2つの指紋スキャン及び2つの発話、5つの異なる発話)の場合、登録フェーズ中に十分な埋め込みが抽出されたと判定してもよい。
【0098】
継続的かつ受動的登録
追加的又は代替的に、分析サーバ102は、ユーザを継続的に登録する。分析サーバ102は、静的登録におけるように、所定の(又は指定された)期間にユーザを登録する代わりに、受信された発話に関連付けられた声紋を作成することによって、任意時にユーザを登録してもよい。継続的かつ受動的登録中に受信された発話は、任意の持続時間又は品質の発話であり得るため、継続的かつ受動的登録中に作成された声紋の成熟度は、変動し得る。
【0099】
例えば、分析サーバ102は、コンテンツサーバ111から転送された音声信号(及び加入者識別子)を受信し得る。分析サーバ102は、VADソフトウェア、埋め込み抽出器モデル、又は他の機械学習モデルを使用して、音声信号から特徴及び埋め込みを抽出し得る。分析サーバ102は、音声信号に機械学習アーキテクチャを適用して、特定の話者の埋め込みを抽出する。
【0100】
教師なしクラスタリング
いくつかの実施形態では、分析サーバ102は、コンテンツサーバ111から転送された加入者識別子を受信し得る。分析サーバ102は、分析データベース104に照会し、受信された加入者識別子に関連付けられた声紋を取り出す。声紋は、加入者識別子との関連付けに基づく、埋め込みの推定の声紋である。各声紋及び関連付けられた一意の話者識別子は、少なくとも1つの加入者識別子にリンクされる。
【0101】
いくつかの実施形態では、分析サーバ102は、コンテンツサーバ111から転送された加入者識別子を受信しなくてもよい。分析サーバ102は、推定の話者クラスタ(話者クラスタは、加入者識別子との関連付けに基づく推定の話者クラスタである)に関連付けられた埋め込み及び声紋の類似度を評価する代わりに、声紋のセットを伴う埋め込みの類似度を評価することとなる。声紋のセットは、最近(例えば、所定の時間内に)分析データベース104に伝送された声紋と、特定の話者特性に関連付けられた声紋と、特定の話者非依存特性に関連付けられた声紋と、を含み得る。
【0102】
分析サーバ102は、逐次クラスタリングアルゴリズム(例えば、k平均法クラスタリング)を使用して、クラスタ化し(又は類似の埋め込みを別様に関連付け)得る。分析サーバ102は、類似度行列を作成し、かつ、クラスタ(声紋)の各々の、他の声紋との類似度を判定することによって、声紋をクラスタ化し得る。いくつかの構成では、分析サーバ102は、クラスタ中の埋め込みの各々から声紋の重心までの距離を評価することによって、クラスタの声紋との類似度を評価し得る。クラスタの類似度が1つ以上の閾値を充足する場合、分析サーバ102は、2つの声紋を(例えば、声紋の平均を取って)単一の声紋にマージし得る。
【0103】
いくつかの実装態様では、分析サーバ102は、例えば、重心をランダムに生成し、かつ、埋め込みを重心に関連付けることによって、インバウンド及び/又は記憶された埋め込みをクラスタ化する。分析サーバ102は、埋め込みと重心との間の相対距離に基づいて、埋め込みをクラスタ化する。分析サーバ102は、重心に関連付けられた埋め込みの各々の平均距離を最小化することに基づいて、重心を新しい相対位置に移動させる。重心が移動するたびに、分析サーバ102は、埋め込みと重心との間の距離を再計算する。分析サーバ102は、停止基準が満たされる(例えば、埋め込みがクラスタを変更しない、距離の合計が最小化される、繰り返しの最大数に達する)までクラスタリングプロセスを繰り返す。いくつかの構成では、分析サーバ102は、ユークリッド距離を使用して、埋め込みと重心との間の距離を測定する。いくつかの構成では、分析サーバ102は、埋め込みにおける特徴の相関に基づいて、埋め込みと重心との間の距離を測定する。埋め込みと重心との間の距離は、類似度スコアを使用して示される。埋め込みが重心に類似するほど、類似度スコアが、高くなる。分析サーバ102は、埋め込みの各々と類似度行列の重心の各々との間の類似度スコアを追跡する。
【0104】
追加的又は代替的に、分析サーバ102は、各埋め込みを重心として扱ってもよい。分析サーバ102は、重心埋め込みから他の埋め込みまでの距離に基づいて、埋め込みをクラスタ化する。距離測度は、例えば、他の埋め込みまでの最小の最大距離、他の埋め込みまでの最小の平均距離、及び他の埋め込みまでの距離の最小の二乗和を含み得る。
【0105】
分析サーバ102はまた、逐次クラスタリングアルゴリズムを使用して、声紋を伴う埋め込みをクラスタ化し得る。クラスタは、特定の話者(例えば、話者クラスタ)に類似する発話のコレクションを表し、この場合に、声紋が、話者クラスタの重心を表す。分析サーバ102は、話者識別子を使用して話者クラスタを識別する。話者識別子は、話者を匿名化し、一方の話者クラスタを別の話者クラスタと区別することによって、話者のプライベート情報を保護する。
【0106】
いくつかの構成では、分析サーバ102は、メタデータ(又は話者特性、話者識別子)を声紋に関連付ける。声紋に関連付けられたメタデータは、音声信号の品質を含むことができる。例えば、音声信号は、清澄な条件(例えば、高信号対雑音比(SNR)、低反響時間(T60))での発話を包含し得る。追加的又は代替的に、音声信号は、ノイズが多い条件(例えば、低SNR、高T60)での発話を包含してもよい。メタデータは、正味の発語の全体的な持続時間を含むこともできる。分析サーバ102は、話者クラスタ内の発話の各々の持続時間を合計することによって、発語の持続時間を判定し得る。メタデータは、話者クラスタ内の発話の総数、話者特性、話者識別子、及び/又は話者非依存性特性を含むこともできる。
【0107】
分析サーバ102はまた、話者によって入力された情報、コンテンツサーバから受信された情報、又は様々な機械学習モデルを実行することによって識別された情報に基づいて、話者特性を判定してもよい。話者特性は、とりわけ、例えば、話者の年齢、話者の性別、話者の感情状態、話者の方言、話者のアクセント、及び話者の口調を含み得る。いくつかの実施形態では、例えば、分析サーバ102は、例えば、Sadjadi et al.,“Speaker Age Estimation On Conversational Telephone Speech Using Senone Posterior Based I-Vectors”IEEE ICASSP,2016、及びHan et al.,“Age Estimation from Face Images:Human vs.Machine Performance,”ICB 2013に記載されているもののように、機械学習モデルを適用することによって、特定の話者年齢特性を識別し得る。いくつかの実施形態では、分析サーバ102は、Buyukyilmaz et al.,“Voice Gender Recognition Using Deep Learning,”Advances in Computer Science,2016に記載されているもののように、機械学習モデルを適用することによって、特定の話者性別特性を識別し得る。本段落における上述の参照文献の各々は、参照により本明細書に組み込まれる。
【0108】
分析サーバ102は、1つ以上の埋め込みに基づいて、話者に関連付けられた声紋を作成し得る。いくつかの構成では、分析サーバ102は、成熟埋め込みクラスタ(例えば、登録埋め込みに基づくクラスタ)を使用して、声紋を作成する。成熟声紋(又は成熟埋め込みクラスタ)は、分析サーバ102が話者識別子を使用して話者を識別するのに十分な生体認証情報を包含し得る。いくつかの構成では、分析サーバ102は、登録埋め込みを平均することによって、声紋を作成し得る。いくつかの構成では、分析サーバ102は、メタデータ(又はユーザ特性、話者識別子)を声紋に関連付け得る。
【0109】
声紋に関連付けられたメタデータは、声紋中の発話(埋め込みによって表される)に関する情報を含むことができる。メタデータは、特定の埋め込み(又は声紋)に関連付けられた音声データの品質を含むことができる。例えば、マイクロフォンは、清澄な条件(例えば、高信号対雑音比(SNR)、低反響時間(T60))で音声データをキャプチャし得る。マイクロフォンはまた、ノイズが多い条件(例えば、低SNR、高T60)で音声データをキャプチャしてもよい。メタデータは、正味の発語の全体的な持続時間を含むこともできる。分析サーバ102は、声紋中の発話の各々の持続時間を合計することによって、発語の持続時間を判定し得る。メタデータは、クラスタ内の発話の総数を含むこともできる。例えば、分析サーバ102は、1つの10秒の発声を受信し得る。追加的又は代替的に、分析サーバ102は、5つの1秒の発話を受信してもよい。メタデータは、ユーザ特性、話者識別子、及び/又は話者非依存性特性を含むこともできる。
【0110】
分析サーバ102は、類似度スコアの類似度行列を生成する。分析サーバ102は、特定の話者の抽出された埋め込みと、データベースに記憶された他の推定の話者の声紋と、の間の相対距離を評価することによって、各特定の話者の類似度スコアを判定する。追加的又は代替的に、分析サーバ102は、コサイン類似度又は確率的線形判別分析(PLDA)を使用して、類似度スコアを評価してもよい。分析サーバ102は、埋め込みの各々と話者クラスタとの間の最大類似度スコアを識別することによって、話者クラスタと最も類似した埋め込みを判定する。
【0111】
強い発話及び弱い発話
分析サーバ102は、様々な閾値を使用して、最大類似度スコアを評価し得る。例えば、分析サーバ102は、最大類似度スコアを、より低い閾値及びより高い閾値の両方と比較し得る。追加的又は代替的に、分析サーバ202は、より高い閾値及びより低い閾値を組み合わせて特定の声紋の最適な閾値を推定するための1つ以上のアルゴリズムを用いてもよい。
【0112】
分析サーバ102が、特定の埋め込みの最大類似度スコアが低類似度閾値に至らないと判定した場合には、分析サーバ102は、話者が新しい未知のユーザである可能性が高いと判定する。分析サーバ102は、特定の埋め込みを使用して、新しい話者プロファイルを生成することとなる。話者プロファイルは、声紋、話者クラスタ(例えば、声紋に関連付けられた埋め込み)、話者識別子、及びメタデータを含む。
【0113】
分析サーバ102が、最大類似度スコアが低類似度閾値を充足すると判定した場合には、分析サーバ102は、話者を識別(又は認証)し得る。加えて、分析サーバ102は、弱い発話に基づいて、類似度スコアに関与する埋め込みが弱い埋め込みであると判定する。弱い埋め込みは、弱い埋め込みを特定の話者クラスタの一部として直ちに特徴付けるには、対応する声紋との十分な類似度を欠く。分析サーバ102は、分析データベース104に弱い埋め込みのセットを記憶及び/又は更新し得る。
【0114】
分析サーバ102は、トリガ基準に基づいて、弱い埋め込みのセットを評価し得る。トリガ基準の非限定的な例としては、定期的な弱い埋め込み評価、及び記憶された弱い埋め込みの閾値数が挙げられる。分析サーバ102がトリガ基準を識別することに応答して、分析サーバ102は、弱い埋め込みのセット内の埋め込みの各々の、弱い埋め込みのセットに関連付けられた声紋に対する類似度スコアを再計算し得る。分析サーバ102は、類似度スコアが閾値を超えることに応答して、弱い埋め込みを有する声紋を更新し得る。追加的又は代替的に、分析サーバ102は、弱い埋め込みのセットから1つ以上の弱い埋め込みを削除してもよい。
【0115】
分析サーバ102が、最大類似度スコアが低類似度閾値に加えて高類似度閾値を充足すると判定した場合、分析サーバは、類似度スコアに関与する埋め込みが、弱い埋め込みの代わりに強い埋め込みであると判定し得る。強い埋め込みは、声紋に非常に類似している(例えば、相対距離に関して近い)埋め込みである。分析サーバ102は、この埋め込みを含むように話者クラスタを更新する。分析サーバ102は、この新しい埋め込みに基づいて、声紋を再計算し得る。分析サーバ102は、強い埋め込みとして識別された埋め込みを、強い埋め込みとして識別されない埋め込みとは異なるように重み付けし得る。例えば、分析サーバ102は、埋め込みの加重平均を取ることによって、声紋を更新し得る。追加的又は代替的に、分析サーバ102は、既知の話者に関連付けられた強い埋め込みのリストを更新してもよい。
【0116】
分析サーバ102は、トリガ条件に基づいて、弱い埋め込みのセットを分析データベース104に照会し得る。例えば、分析サーバ102は、定期的に(例えば、週次で)、又は弱い埋め込みのセットが所定の数に達したときに、分析データベース104に照会し得る。分析サーバ102は、弱い埋め込みのセットに関連付けられた声紋に対する、弱い埋め込みのセット内の埋め込みの各々の類似度スコアを再計算し得る。最大類似度スコアが様々な閾値(例えば、より低い閾値及び/又はより高い閾値)を超えることに基づいて、分析サーバ102は、弱い埋め込みを有する声紋を更新し得る。弱い埋め込みは、経時的に声紋が進化する(例えば、年を取る、より正確になりかつより成熟する)につれて、強い埋め込みになり得る。追加的又は代替的に、分析サーバ102は、声紋に関連付けられた埋め込みのセット内の1つ以上の弱い埋め込みを削除してもよい。
【0117】
条件依存性適応閾値化
分析サーバ102は、強い/弱い埋め込みを適応的に判定することにおいて使用される、より高い閾値及びより低い閾値を判定し得る。分析サーバ102は、条件依存性適応閾値化を用いて、最大類似度スコアに関連付けられた声紋の成熟度に基づいて、より高い閾値及びより低い閾値を決定する。
【0118】
分析サーバ102が、声紋が成熟していると判定した(例えば、成熟度閾値を充足する)場合には、分析サーバ102は、最大類似度スコアを評価するときに、高類似度閾値及び低類似度閾値を使用しない場合がある。例えば、分析サーバ202は、高類似度閾値と低類似度閾値とを組み合わせて特定の声紋の最適閾値を推定するための、1つ以上のアルゴリズムを用い得る。分析サーバ102は、埋め込み及び声紋の最大類似度スコアを評価することにおいて最適閾値を使用する。
【0119】
分析サーバ102は、1つ以上の成熟度因子を使用して、声紋が成熟しているかどうかを判定し得る。成熟度因子の非限定的な例としては、登録発話の数、各発話を通した正味の発語の全体の持続時間、及び声紋に関連付けられた音声信号からの音声(audio)の品質が挙げられる。分析サーバ102は、声紋が成熟しているかどうかを判定するための任意の数のアルゴリズムを用い得る。例えば、サーバは、成熟度因子(例えば、発話の数)を、成熟度因子に対応する事前構成された成熟度閾値(例えば、発話の閾値数)と比較する。別の例として、サーバは、成熟度因子を統計的又はアルゴリズム的に組み合わせ、組み合わせられた成熟度因子を組み合わせられた成熟度因子に対応する事前構成された成熟度閾値と比較する。
【0120】
分析サーバ102が、声紋が成熟していない(例えば、成熟度閾値を充足しない)と判定した場合には、分析サーバ102は、条件依存性適応閾値化を用いて、特定の声紋の高類似度閾値及び低類似度閾値を判定する。
【0121】
分析サーバ102は、条件依存性適応閾値を利用することによって、他人受入率(FAR)を最小化する。他人受入率は、分析サーバ102が話者を偽認証及び/又は偽識別する率である。管理者(例えば、管理者デバイス103を使用する)は、FAR(例えば、0.5%、1%、2%、3%、4%、又は5%)を判定(又は事前構成)し得る。追加的又は代替的に、コンテンツシステム110は、それらの話者識別/認証に関連付けられた特定のFARを要求してもよいし、機械学習モデルが、FARをアルゴリズム的に判定してもよい。
【0122】
FARは、声紋の成熟度に基づいて変動するため、分析サーバ102は、声紋を有する埋め込みの類似度を評価するときに、異なる声紋に異なる閾値(例えば、高類似度閾値及び低類似度閾値)を適用する。いくつかの構成では、分析データベース104は、1つ以上の特定の条件の様々なFARで、閾値のテーブル(例えば、閾値スケジューラ)を記憶し得る。
【0123】
出力
分析サーバ102は、音声信号に基づく1つ以上の話者識別子をコンテンツサーバ111に伝送し得る。追加的又は代替的に、分析サーバ102は、話者識別子に関連付けられた類似度スコアをコンテンツサーバ111に伝送してもよい。コンテンツサーバ111は、受信された話者識別子を人間話者(及び話者識別子が以前に加入者識別子に関連付けられていなかった場合、加入者識別子)にマッピングし得る。例えば、分析サーバは、ルックアップテーブルを使用して、話者識別子を特定の人間話者にマッピングし得る。分析サーバ102はまた、話者識別子に関連付けられた話者プロファイル(話者非依存性特性、話者特性、メタデータを含む)を伝送してもよい。
【0124】
コンテンツシステム110は、話者識別子に関連付けられたユーザのプリファレンスを記憶し得る。プリファレンスの非限定的な例としては、ユーザが過去に閲覧した、好んだ、ブックマークしたコンテンツ、又はユーザが別様に関心を示したコンテンツなどが挙げられ得る。コンテンツシステム110は、受信された話者識別子に基づいて、パーソナライズされたコンテンツを話者にストリーミングし得る。話者識別子に関連付けられたプリファレンスが記憶されていない場合(例えば、新しいユーザ)、コンテンツシステム110は、汎用コンテンツをユーザにストリーミングし得る。
【0125】
分析サーバ102は、話者、又は話者の現在の状況及び環境、を表す環境設定を識別し得る。分析サーバ102によって実行される機械学習モデルは、分類可能であるバックグラウンドノイズ又は特定の音(例えば、食器洗浄機、トラック)などの音声イベント分類モデル及び/又は環境分類モデルを含み得るか、又はインバウンド信号に対する圧倒的な量のエネルギーを含み得る。分析サーバ102は、話者識別子を、特定のコンテンツ特性に関連付けられた環境設定のインジケータとともにコンテンツサーバ111に伝送し得る。例えば、大人の話者のみがいるレストラン又はパーティでスマートTV114aと対話する話者は、コンテンツサーバ111に、子供の話者を含むリビングルームで話者がスマートTV114aと対話する異なる状況とは異なるエンドユーザデバイス114への提案コンテンツを生成させ得る。
【0126】
いくつかの構成では、コンテンツサーバ111は、分析サーバ102の出力を参照して、特定のサブスクリプションへのアクセス、及び認証されるユーザの数を制限する。分析サーバ102がコンテンツサーバ111から加入者識別子を受信している場合には、分析サーバ102は、話者プロファイル(及び関連付けられた話者識別子、話者特性、話者非依存特性、メタデータ)を使用して、話者が、特定の加入者識別子に関連付けられた認証ルール及び制限に基づいて加入者アカウントにアクセスすることが承認されているかどうかを判定し得る。分析サーバ102は、話者識別子が特定の加入者識別子に関して承認されているかどうかの表示をコンテンツシステム110に伝送し得る。追加的又は代替的に、コンテンツサーバ111は、特定の制限されたコンテンツに関して話者プロファイル情報を使用して、話者を認証してもよい。例えば、話者プロファイルで識別された話者の年齢は、1人以上の話者が(例えば、ペアレンタル制御又は特定の適正年齢レイティングに基づいて)年齢制限コンテンツを消費することを認証し得る。
【0127】
いくつかの実施形態では、分析サーバ102は、年齢制限コンテンツを有効にするか、又はコンテンツサーバ111に、分析サーバ102がコンテンツサーバ111から受信した入力データ(例えば、インバウンド音声信号、認証データ、メタデータ、エンドユーザデバイスデータ114)に基づいて、年齢制限コンテンツを有効にするように命令する。
【0128】
ラベル補正
いくつかの構成では、分析システム101は、ラベル識別子(例えば、話者識別子、加入者識別子)を補正する。分析システム101は、声紋をクラスタ化すること(例えば、階層的クラスタリング)によって、ラベルを補正する。ラベル識別子を補正することは、小さな累積識別/承認エラーの尤度を最小化し、話者クラスタの純度を増加させる。
【0129】
分析サーバ102は、展開フェーズ中に作成された声紋のラベル識別子を補正し得る。分析サーバ102は、ラベル識別子がコンテンツサーバ111に伝送される前に、ラベル識別子を補正する。分析サーバ102はまた、データベース(例えば、コンテンツデータベース112、分析データベース104)に記憶された声紋のラベル識別子を補正してもよい。
【0130】
分析サーバ102は、ラベル補正をトリガする基準を識別することに応答して、ラベル識別子を補正する。トリガ基準の非限定的な例としては、とりわけ、定期的な時間間隔又は事前構成されたラベル補正スケジュール、クラスタリング又は再クラスタリング演算を実行すること、特定の数の新しい話者識別子を識別するか、若しくは別様に受信すること、又は特定の数の声紋を生成することが挙げられる。
【0131】
いくつかの構成では、分析サーバ102がトリガ基準を識別しても、分析サーバ102は、ラベル識別子を補正しないと判定し得る。分析サーバ102によって取り出された声紋が高い確信度に関連付けられている場合、分析サーバ102は、ラベル識別子を補正しないと判定し得る。分析サーバ102は、分析サーバ102が能動的登録フェーズ又は受動的登録フェーズ中に声紋を作成したかどうかに基づいて、確信度を関連付け得る。分析サーバは、能動的登録フェーズ中に作成された声紋が、受動的登録フェーズ中に作成された声紋よりも高い確信度を有すると判定し得る。能動的登録埋め込みに基づいて作成された声紋は、純粋で成熟したものとみなされ得る。追加的又は代替的に、分析サーバ102は、分析システム101がゆっくりと稼働している場合、ラベル識別子を補正しないと判定し得る。
【0132】
分析サーバ102は、データベース(例えば、コンテンツデータベース112又は分析データベース104)に照会し、話者プロファイルのセット(声紋、埋め込みを包含する話者クラスタ、加入者識別子、又は話者識別子を含む)を取り出し得る。話者プロファイルのセットは、最近アクセス及び/若しくは修正された話者プロファイル(例えば、過去2日間に分析サーバによって取り出された話者プロファイル)、特定の話者特性に関連付けられた話者プロファイル、特定の話者非依存性特性に関連付けられた話者プロファイル、並びに/又は他のメタデータに関連付けられた話者プロファイルであり得る。
【0133】
いくつかの構成では、分析サーバ102は、取り出された声紋と音声信号から抽出された埋め込みとの間のペアワイズ類似度を計算し得る。取り出された声紋は、古いラベル付けされたセットとみなされ、音声信号からの埋め込みは、新しい匿名セットとみなされる。追加的又は代替的に、分析サーバ102は、取り出された声紋間のペアワイズ類似度を計算し得る。
【0134】
分析サーバ102は、新しい匿名セット内の声紋と古いラベル付けされたセット内の声紋の類似度に基づいて、古いラベル付けされたセットに関連付けられたラベル識別子を新しい匿名セットに移行させる。分析サーバ102は、(例えば、ユークリッド距離測度、相関ベースの測度による)近い声紋を評価することによって、声紋の類似度を判定する。分析サーバ102が、声紋が近い(例えば、相対距離が閾値を充足する)と判定した場合、声紋及び関連付けられたラベル識別子は、マージされ得る。分析サーバ102は、新しい匿名セットの話者識別子及び/又は加入者識別子が、古いラベル付けされたセットの話者識別子及び/又は加入者識別子と置き換えられるように、古いラベル付けされたセットに関連付けられたラベル識別子を新しい匿名セットに移行させ得る。ラベル識別子を移行することに加えて、分析サーバ102は、古いラベル付けされたセットの重心と新しい匿名セットの重心とを平均することによって、マージされた声紋の新しい重心を判定し得る。いくつかの構成では、分析サーバ102は、古いラベル付けされたセットのラベルを新しい匿名セットに移行する前に、ユーザ特性を比較し得る。いくつかの構成では、分析サーバ102は、移行されたラベルで分析データベース及び/又はコンテンツデータベースを更新する。
【0135】
ユーザの認証及びペアレンタル制御
本明細書で論じられるように、分析サーバ102は、抽出された埋め込みの類似度を分析データベース104に記憶された埋め込み/声紋と比較することによって、エンドユーザデバイス114と対話するユーザの身元を判定し得る。分析サーバ102は、1人以上のユーザを識別すると、ユーザ識別子、ユーザ特性(例えば、年齢、性別、感情、方言、アクセントなど)、ユーザ非依存性特性、及び/又はメタデータをコンテンツサーバ111に伝送し得る。いくつかの構成では、分析サーバ102(又は分析サーバ102から伝送された情報を使用するコンテンツサーバ111)は、伝送された情報を使用して、識別されたユーザを認証し得る。例えば、ユーザの年齢は、ユーザが特定の年齢制限を超えるコンテンツを見ることを認証し得る。
【0136】
いくつかの構成では、分析サーバ102(又はコンテンツサーバ111)は、識別されたユーザに基づいて、ユーザがコンテンツを見ることを承認されるかどうかを判定し得る。例えば、分析サーバ102は、テレビを見ている8歳の少年を識別し得る。分析サーバ102は、音声信号の分析に基づいて、昇格された特権を有する別の話者を識別し、この場合に、分析サーバ102は、2人の話者の抽出された埋め込みに一致する声紋を有する2人の話者の話者プロファイルを識別している。例えば、分析サーバ102は、8歳の少年と同じ音声信号中の子供の親を識別する。8歳の少年に近接した成人男性の存在により、分析サーバ102(又はコンテンツサーバ111)が8歳の少年に特定のコンテンツを見ることを承認する結果となる。
【0137】
分析データベース
分析データベース104は、特定のコンテンツシステム110のFAR、加入者識別子に関連付けられた話者識別子(及び声紋)(例えば、ルックアップテーブル)、抽出された埋め込み(例えば、弱い埋め込み)、ユーザ特性、訓練された機械学習モデル(例えば、VAD演算を実行するための、埋め込みを抽出するための)などを記憶し得る。
【0138】
分析データベース104は、クラスタ内の埋め込みが1つ以上の閾値を充足する場合、クラスタ埋め込みを声紋として記憶し得る(例えば、分析サーバ102は、クラスタが成熟登録クラスタであると判定する)。分析サーバ102は、クラスタ内の発話の持続時間(クラスタ内の埋め込みによって表される)が閾値を充足し、クラスタ内の発話の数が、閾値、何らかの組み合わせなどを充足する場合、登録クラスタが成熟していると判定し得る。
【0139】
追加的又は代替的に、分析データベース104は、クラスタ化された埋め込みが話者識別子及び/又は加入者識別子に関連付けられていない場合、クラスタ化された埋め込みを声紋として記憶してもよい。分析データベース104は、声紋が成熟していなくても、声紋を記憶し得る。
【0140】
いくつかの構成では、分析データベース104は、記憶された声紋をパージ(削除、消去)し得る。例えば、分析データベース104は、コンテンツサーバ111から命令を取り出して、加入者識別子に関連付けられた話者識別子を削除し得る(例えば、加入者は、コンテンツシステム110のサービスから加入解除することを決定し得る)。追加的又は代替的に、分析データベース104は、所定の時間が与えられると、記憶された声紋を削除してもよい。追加的又は代替的に、分析データベース104は、分析データベース104(又は分析サーバ102)が、声紋が特定の基準を満たしていると判定した場合、記憶された声紋を削除してもよい。例えば、声紋クラスタ内の埋め込みは、合成発語に基づいている。
【0141】
動作中、分析データベース104は、コンテンツサーバ111から音声データ及び加入者識別子を受信し得る。分析データベース104は、加入者識別子に関連付けられた話者識別子(及び関連付けられた声紋)を検索し得る。分析データベース104はまた、声紋及び任意のユーザ特性に関連付けられたより高い/より低い閾値を検索してもよい。分析データベース104はまた、コンテンツシステム110に関連付けられたFARを検索してもよい。分析データベース104は、ルックアップテーブル内の声紋エントリ、より高い/より低い閾値、FAR、及びユーザ特性を更新し得る。分析データベース104はまた、ルックアップテーブルに、声紋エントリ、加入者識別子、より高い/より低い閾値、FAR、及びユーザ特性を追加してもよい。
【0142】
管理者デバイス
分析システム101の管理者デバイス103は、分析システム101の担当者が様々な管理タスク、又はユーザによって実行される識別、セキュリティ、若しくは認証演算を実行することを可能にするコンピューティングデバイスである。管理者デバイス103は、プロセッサ及びソフトウェアを備え、かつ、本明細書に記載される様々なタスク及びプロセスを実行することができる、任意のコンピューティングデバイスであり得る。管理者デバイス103の非限定的な例としては、サーバ、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータなどが挙げられ得る。動作中、ユーザが、管理者デバイス103を使用して、分析サーバ102などのシステム100内の様々な構成要素の動作を構成し、ユーザがシステム100の様々な構成要素にクエリ及び命令を発行することを更に可能にし得る。例えば、管理者デバイス103を使用して、コンテンツシステム110に関連付けられたFARを判定し得る。
【0143】
メディアコンテンツシステムのクライアントサイド音声処理
説明及び理解を容易にするために、本明細書に記載される実施形態は、部分的に話者発話及び声入力に従って動作するコンテンツ配信システムのコンテキストにおいてそのような技術を用いることに言及する。ただし、実施形態は、そのようには限定されず、受動的(又は能動的)登録、継続的(又は静的)登録、又はマルチ話者音声生体認証の継続的識別/承認から利益を得る可能性がある任意の数のシステム又は製品で使用され得る。例えば、本明細書に記載されるマルチ話者音声生体認証システム及び演算の識別/承認は、音声入力(audio input)を受信及び識別する任意のシステム(例えば、車若しくはスマート家電、又はコールセンタなどのエッジデバイス/IoTデバイス)に実装され得る。
【0144】
更に、本明細書における実施形態は、音声処理演算を用いて、話者を特定の既知又は未知のユーザとして識別する。ただし、実施形態は、音声生体認証に限定されず、話者を特定のユーザとして識別するための任意の数の追加のタイプの生体認証を取入れ、処理してもよい。実施形態が取入れ、処理し得る追加のタイプの生体認証の非限定的な例としては、眼スキャン(例えば、網膜若しくは虹彩認識)、顔(例えば、顔認識)、指紋若しくは手紋(例えば、指紋認識)、監視システムにアクセスしたとき(例えば、キー押下、メニューアクセス、コンテンツ選択、入力又は選択の速度)のユーザ行動(例えば、「行動プリント」)、又は生体認証情報の任意の組み合わせが挙げられる。
【0145】
図2は、音声処理機械学習演算を用いるシステム200の構成要素を示し、機械学習モデル及び他の機械学習アーキテクチャは、ローカルデバイス上に実装されている。システム200は、分析システム201、メディアコンテンツシステム210、及びエンドユーザデバイス214を備える。分析システム201は、分析サーバ202、分析データベース204、及び管理者デバイス203を含む。コンテンツシステム210は、コンテンツサーバ211、及びメディアコンテンツデータベース212を含む。実施形態は、追加又は代替の構成要素を含んでもよいし、
図2の構成要素から特定の構成要素を省略してもよく、依然として本開示の範囲内に入り得る。例えば、複数のコンテンツシステム210を含むか、又は分析システム201が複数の分析サーバ202を有することが一般的であり得る。追加的又は代替的に、分析システム201、又は分析システム201の一部分は、エンドユーザデバイス214に埋め込まれていてもよい。実施形態は、本明細書に記載される様々な特徴及びタスクを実行することができる任意の数のデバイスを含んでもよいし、又はそれらを別様に実装してもよい。例えば、
図2は、分析サーバ202を、分析データベース204とは別異のコンピューティングデバイスとして示す。いくつかの実施形態では、分析データベース204は、分析サーバ202に統合されている。
【0146】
図2のシステム200は、
図1のシステム100と動作が類似しているが、
図2では、エンドユーザデバイス214は、様々な音声処理演算及びデータ分析演算を実行する。例えば、エンドユーザデバイス214とのユーザの能動的な対話に応答して、エンドユーザデバイス214は、ユーザ入力データ(例えば、音声信号)をキャプチャするようになっている。エンドユーザデバイス214が、キャプチャされた音声信号をコンテンツシステム210に転送する代わりに(
図1におけるように)、音声信号をコンテンツシステム210及び分析システム201の両方(又はいずれか一方)に転送する前に、音声信号に1つ以上の機械学習アーキテクチャが適用される。
【0147】
いくつかの構成では、エンドユーザデバイス214は、様々な形態のメタデータを識別又は抽出し、音声信号を修正し、変換し、又は充実させ、音声信号中の発語を識別するためのソフトウェアプロセス及びサービスをホスト及び実行し、音声信号中の話者に関連付けられた生体認証特徴を抽出し、音声信号中の話者を識別/認証し得る。追加的又は代替的に、エンドユーザデバイス214は、音声信号をフィルタリング(音声信号をノイズ除去)し、音声信号のフォーマットを変換し、音声信号をパース(又は分割)し、VADソフトウェア(又はVAD機械学習)を実行し、ASRを実行し、音声信号をスケーリングしてもよい。
【0148】
いくつかの構成では、エンドユーザデバイス214は、所定の時間の間、データベース又は他のものの音声信号を、バッファ又はキャッシュメモリなどの非一時的機械可読記憶媒体に記憶する。トリガ条件に応答して、エンドユーザデバイス214は、記憶された音声信号を取り出し、記憶された音声信号と、トリガ条件に関連付けられた音声信号と、を分析システム201に転送し得る。例えば、ユーザがエンドユーザデバイス214を能動的に動作させて音をキャプチャする場合、エンドユーザデバイス214は、ユーザがエンドユーザデバイス214を能動的に動作させた直前の時間、エンドユーザデバイス214によってキャプチャされた記憶された音声信号を取り出し得る。いくつかの実施形態では、エンドユーザデバイス214は、音声信号を分析システム201に転送して、音声信号を処理し、音声信号中の話者を識別する。追加的又は代替的に、エンドユーザデバイス214は、音声信号を処理し、音声信号中の話者を識別し得る。エンドユーザデバイス214は、音声信号から埋め込みを抽出することによって、音声信号を処理し得る。
【0149】
動作中、エンドユーザデバイス214は、音声信号に様々な機械学習動作を適用し得る。例えば、エンドユーザデバイス214は、VADソフトウェア、又は音声信号から特徴を抽出するように構成された他の機械学習アーキテクチャを実行することによって、埋め込みを抽出し得る。いくつかの実施形態では、エンドユーザデバイス214は、分析システム201が、分析データベース204から取り出された、声紋を有する埋め込みをクラスタ化し得るように、
図1に記載されるように、抽出された埋め込みを分析システム201に転送し得る。分析サーバ202は、音声信号中の発話の、記憶された声紋との類似度に基づいて、話者を識別し得る。分析サーバ202は、話者識別子及び他のメタデータをコンテンツシステム210に転送し得る。
【0150】
追加的又は代替的に、声紋がエンドユーザデバイス214に記憶されている場合、エンドユーザデバイス214は、記憶された声紋を有する埋め込みをクラスタ化し、エンドユーザデバイス214に記憶された1つ以上の声紋と比較して、抽出された各埋め込みの類似度スコアを記述する類似度行列を生成してもよい。追加的又は代替的に、エンドユーザデバイス214は、
図1に記載されるように、分析システム201中の分析データベース204に照会し、加入者識別子又は話者特性との関連付けに基づいて、抽出された埋め込みの疑わしい声紋又は推定の声紋を取り出してもよい。
【0151】
いくつかの構成では、エンドユーザデバイス214は、
図1に記載されるように、分析システム201が条件依存性適応閾値化を使用して、最大類似度スコアを高類似度閾値及び低類似度閾値と比較し得るように、分析システム201に類似度行列を転送する。分析サーバ201は、弱い発話、強い発話を判定し、声紋を更新し得る。追加的又は代替的に、エンドユーザデバイス214は、
図1に記載されるように、分析システム201内の分析データベース204に照会し、FAR、成熟度閾値、及び類似度閾値を取り出してもよい。エンドユーザデバイス214は、類似度行列中の最大類似度スコアを類似度閾値と比較することに基づいて声紋を更新し得る。エンドユーザデバイス214は、更新された声紋を記憶し得、また、更新された声紋を分析データベース204に伝送してもよい。
【0152】
いくつかの構成では、
図1に記載されるように、トリガ基準に応答して、分析サーバ202は、ラベル補正を実行して、ラベル識別子を補正し得る。追加的又は代替的に、エンドユーザデバイス214は、ラベル補正を実行し、更新されたラベル識別子を分析システム201及び/又はコンテンツシステム210に転送してもよい。
【0153】
エンドユーザデバイス214が、話者識別子を使用して音声信号から話者を識別する場合、エンドユーザデバイス214は、コンテンツシステム210が、識別された話者にストリーミングするパーソナライズされたコンテンツを判定することができるように、話者識別子及び任意のメタデータをコンテンツシステム210に伝送し得る。エンドユーザデバイス214はまた、(話者識別子、抽出された埋め込み、メタデータ、声紋を含む)話者プロファイルを分析システム201(例えば、分析データベース204)に伝送してもよい。
【0154】
例示的な演算
音声処理認証システムへの能動的及び静的登録
図3は、ユーザを識別(又は認証)するためにサーバが経て進行するフェーズについて記載している。
図3Aは、一実施形態による、登録フェーズ中にユーザを能動的に登録するための方法300aの動作ステップを示す。
図3Bは、展開フェーズ中にユーザを識別(又は認証)するための方法300bの動作ステップを示す。分析システムのサーバ(例えば、分析サーバ)が、以下に記載される方法300a、300bを実行する機械可読ソフトウェアコードを実行するが、任意の数のコンピューティングデバイスのうちの1つ以上のプロセッサが、方法300a、300bの様々な動作を実行し得る。いくつかの実施形態は、方法300a、300bに記載されるものに追加の動作、方法300a、300bに記載されるものより少ない動作、又は方法300a、300bに記載されるものとは異なる動作を含んでもよい。
【0155】
図3Aを参照すると、ステップ302において、サーバは、ユーザに登録信号を促す。いくつかの構成では、サーバは、1回又は定期的な時間間隔で(例えば、6ヶ月ごとに)ユーザに登録信号を促し得る。いくつかの構成では、サーバは、例えば、デバイスが所定の間隔で初めて起動されるときに、又はユーザが新しい話者ユーザを登録する(register)/登録する(enroll)ための構成インターフェースにアクセスするときに、ユーザに登録信号を促し得る。いくつかの構成では、サーバは、(ユーザ又は他の管理者からの)登録フェーズを実行する命令に基づいて、ユーザに登録信号を促し得る。プロンプトは、ユーザに指紋センサ上に指を置くように促すこと、ユーザに特定のフレーズを話すように促すこと、ユーザに自然に話すように促すこと、ユーザにディスプレイ上のデジタル境界ボックスの範囲内に姿が見えるように促すことなどを含み得る。
【0156】
ステップ304において、サーバは、登録信号を受信する。登録信号は、指定された登録フェーズ(例えば、ユーザの能動的登録)中に受信される信号である。登録信号は、エンドユーザデバイス及びサーバが、登録フェーズ中に、かつ、プロンプトに応答して(ステップ302におけるように)、登録信号を受信するため、他のタイプの信号とは別異し得る。例えば、サーバは、ユーザがエンドユーザデバイス上のボタンを押下し、かつ、音声プロンプト(audio prompt)又は視覚的プロンプトに応答して特定の発話を話すことに応答して、エンドユーザデバイスがサーバに伝送する登録信号を受信する。サーバは、直接的に、又は仲介サーバ(例えば、コンテンツサーバ)を介して、音声信号を受信する。いくつかの構成では、サーバは、登録発話に加えて、いくつかの登録信号(例えば、信号の複数の発語部分(発話))及び生体認証データ(例えば、1つ以上の指紋角度)を登録するための任意の数の生体認証データを受信する。
【0157】
いくつかの構成では、サーバは、機械可読フォーマットの音声データを包含するデータファイル又はデータストリームである音声信号を受信する。音声信号は、任意の数の話者の任意の数の話者発話を含む音声録音を含む。音声データはまた、音声信号を伴って受信されたデータ又はメタデータを含んでもよい。例えば、音声データは、話者関連情報(例えば、ユーザ/話者識別子、加入者/世帯識別子、ユーザ生体認証)、又は通信プロトコル若しくは媒体に関連するメタデータ(例えば、TCP/IPヘッダデータ、電話番号/ANI)を含み得る。
【0158】
ステップ306において、サーバは、様々な機械学習モデル(例えば、埋め込み抽出器)を含む機械学習アーキテクチャを適用することによって、登録信号から埋め込みを抽出する。埋め込みは、登録信号中の生体認証情報(又は生体認証情報の特徴)の数学的表現である。サーバは、Mel周波数ケプストラム係数(MFCC)、Melフィルタバンク、線形フィルタバンク、ボトルネック特徴などを含む発話から特徴を抽出し得る。サーバは、特徴を抽出し、かつ、話者埋め込みを生成するように構成された機械学習モデルを使用して、入力音声信号から特徴を抽出する。
【0159】
このタイプの登録信号は、サーバが埋め込みを抽出する方法を規定し得る。例えば、ユーザは、登録信号として指紋を提供し得る。他の例では、サーバは、隆線、谷線、及びマイニューシャを含む、デジタル指紋画像に関連付けられた特徴を抽出してもよく、及び/又はサーバは、画像データの特徴を抽出するように構成された機械学習モデルを使用して特徴を抽出してもよい。サーバは、特徴を抽出するように構成された機械学習モデルを使用して、様々なタイプの特徴を抽出し、話者埋め込みと併せて、ユーザ認識に用いられる特定のタイプの生体認証のための対応する埋め込みを生成する。
【0160】
判定ステップ308において、サーバは、登録が成熟しているかどうかを判定する。サーバは、サーバが埋め込みの閾値数又は他の情報を充足するのに十分な埋め込み(又は生体認証情報)を抽出したときに、登録が成熟していると判定し得る。例えば、サーバは、サーバが所定の持続時間の正味の発語を受信すると、登録が成熟していると判定し得る。追加的又は代替的に、サーバは、サーバが所定数の様々な登録信号(例えば、2つの指紋スキャン及び2つの発話、5つの異なる発話)を受信すると、登録が成熟していると判定してもよい。成熟声紋(又は成熟埋め込みクラスタ)は、分析サーバ102が話者識別子を使用して話者を識別するのに十分な生体認証情報を包含し得る。
【0161】
登録が成熟していない場合、サーバは、ユーザに登録信号を促す(例えば、ステップ302)。サーバは、登録が成熟するまで、ユーザに追加の登録信号(登録発話を有する)を促す。一例として、サーバが、第1のタイプのコンテンツ(例えば、ユーザ名)を伴う登録発話を受信した場合には、サーバは、ユーザに第2の発話(例えば、ユーザの誕生日)を促す。別の例として、サーバが生体認証情報(例えば、指紋)を受信した場合、サーバは、ユーザに登録発話を包含する音声信号を促す。
【0162】
登録が成熟している場合、サーバは、ステップ310に進む。ステップ310において、サーバは、ユーザの声紋(登録者声紋と称されることがある)を作成する。サーバは、登録埋め込みを統計的又はアルゴリズム的に組み合わせて、登録された話者ユーザの声紋を抽出する。いくつかの実装態様では、登録信号から抽出された登録埋め込みのクラスタは、声紋が話者クラスタの重心を表す、特定の話者に類似した発話のコレクション(例えば、話者クラスタ)を表す。
【0163】
ステップ312において、サーバは、話者プロファイルを更新する。話者プロファイルは、登録フェーズ中に登録する各ユーザ(又は話者)に関連付けられたデータレコードである。話者プロファイルは、声紋、話者クラスタ(例えば、声紋に関連付けられた埋め込み)、及びメタデータを含む。
図1に記載されるように、メタデータは、発話、登録信号の品質、正味の発語の全体的な持続時間、各クラスタ内の発話の総数、話者特性、及び話者非依存特性に関する情報を含むことができる。話者識別子313は、特定の話者を区別及び識別するために、各話者プロファイルに関連付けられている。
図1に記載されるように、話者識別子は、任意の個人識別情報を含まない場合があるか、又は表さない場合がある。サーバはまた、新しい話者識別子を生成してもよいし、コンテンツサーバから新しい話者プロファイルの新しい話者識別子を要求してもよい。
【0164】
ステップ314において、サーバは、話者識別子をサードパーティシステム(例えば、コンテンツサーバ、コールセンタ)に伝送し得る。サードパーティシステムは、受信された話者識別子を人間の話者とマッピングし得る。例えば、サードパーティシステムは、ルックアップテーブルを使用して、話者識別子を特定の人間の話者にマッピングし得る。追加的又は代替的に、サードパーティシステムは、加入者識別子又は他の世帯及び/若しくはグループ識別子を各話者識別子に関連付けてもよい。サーバはまた、話者識別子に関連付けられた話者プロファイル(話者非依存性特性、話者特性、メタデータを含む)を伝送してもよい。
【0165】
図3Bを参照すると、ステップ322において、サーバは、生体認証情報を包含するインバウンド信号を受信し得る。インバウンド信号は、ユーザの画像、音声信号中の発話、指紋などであり得る。いくつかの構成では、サーバは、エンドデバイスがユーザ入力データを能動的にキャプチャすることに応答して、インバウンド信号を受信する。例えば、ユーザは、エンドユーザデバイスと能動的に対話し得る(例えば、「ウェイク」ワードを話す、ボタンを押下する、ジェスチャーを行う)。追加的又は代替的に、エンドユーザデバイス114は、ユーザ入力データを受動的にキャプチャし、エンドユーザは、エンドユーザデバイス114と受動的に対話する(例えば、別のユーザに話しかけ、エンドユーザデバイス114は、ユーザの肯定的なアクションなしに発話を自動的にキャプチャする)。
【0166】
ステップ324において、サーバは、インバウンド信号から埋め込みを抽出する。いくつかの構成では、サーバは、インバウンド信号に対して前処理を実行し(例えば、インバウンド信号を分割し、インバウンド信号をスケールし、インバウンド信号をノイズ除去し)得る。追加的又は代替的に、サーバは、インバウンド信号中のイベントを識別してもよい。例えば、サーバは、VADソフトウェアを実行することによって、音声イベントを検出し得る。VADソフトウェアは、沈黙を発語と区別し得る。追加的又は代替的に、サーバは、インバウンド信号においてオブジェクト検出(又は認識、識別)を実行してもよい。例えば、サーバは、顔を認識して手と区別するようになっている。サーバは、インバウンド信号の識別された生体認証部分(例えば、発語、指紋)を使用して、埋め込みを抽出するようになっている。
【0167】
インバウンド信号は、任意の数の話者の任意の数の話者発話を含む音声録音を含む音声信号であり得る。音声データはまた、音声信号を伴って受信されたデータ又はメタデータを含んでもよい。例えば、音声データは、話者関連情報(例えば、ユーザ/話者識別子、加入者/世帯識別子、ユーザ生体認証)、又は通信プロトコル若しくは媒体に関連するメタデータ(例えば、TCP/IPヘッダデータ、電話番号/ANI)を含み得る。
【0168】
サーバは、音声信号の特徴を抽出するように構成された機械学習モデルを使用して、埋め込みを抽出し得る。特徴は、様々な話者発話からの低レベルのスペクトル時間特徴を含む。特徴はまた、ユーザ又は話者に関連する様々なデータ(例えば、加入者識別子、話者識別子、生体認証)、又はプロトコル情報又はデータパケット(例えば、IPアドレス)から抽出されたメタデータ値を含んでもよい。様々な機械学習モデル(例えば、埋め込み抽出器モデル)を含む、機械学習アーキテクチャは、入力音声信号から抽出された特徴に基づいて、推定の話者の埋め込みを抽出する。
【0169】
ステップ326において、機械学習アーキテクチャは、特定の話者について抽出された特徴又は埋め込みを、他の推定の話者の対応する特徴又は埋め込みと、及び/又はデータベースに記憶された話者クラスタの対応する特徴又は埋め込みと比較することによって、1つ以上の類似度スコアを生成する。クラスタは、特定の話者に類似する発話のコレクションを表し、この場合に、話者声紋は、話者クラスタの重心を表す。サーバは、音声信号に機械学習アーキテクチャを適用して、特定の話者の埋め込みを抽出する。サーバは、埋め込み又は特徴を、話者プロファイルデータベースに記憶された話者クラスタと比較し、次いで、話者の類似度スコアを判定する。各特定の話者について、サーバは、(入力音声信号から抽出された)話者埋め込みと、話者プロファイルデータベースに記憶された声紋と、の間の相対距離に基づいて、類似度スコアのセットを生成する。
【0170】
追加的又は代替的に、サーバは、入力音声信号から抽出された特定の特徴に従ってクラスタリング演算を実行し、特徴に基づいて、各ユーザの1つ以上のクラスタリング類似度スコアを判定する。
【0171】
サーバは、最大類似度スコア327を有する話者クラスタ及び話者のペアを識別する。各話者について、サーバは、話者間の最も可能性の高い一致を表す、特定の話者について計算された最大類似度スコア327を出力する。
【0172】
判定ステップ328において、サーバは、各声紋の最大類似度スコアが1つ以上の閾値を充足するかどうかを判定する。サーバは、既知の声紋又は期待される特徴に対して、対応する埋め込み又は特徴の類似度スコアを評価することによって、インバウンド音声信号が、新しい話者又は既知の話者の発声を含むかどうかを判定する。
【0173】
最大類似度スコアが1つ以上の閾値を充足する場合、サーバは、話者が既知の登録ユーザ329に関連付けられている可能性が高いと判定する。例えば、既知の登録ユーザ329は、
図3Aの登録フェーズ中に登録されたユーザであり得る。他方で、サーバが、最大類似度スコアが1つ以上の閾値に至らないと判定した場合、サーバは、話者が新しい未知のユーザ331である可能性が高いと判定する。サーバは、特定の声紋を使用して、新しい話者プロファイル及び話者識別子を生成し得る。話者プロファイルは、声紋、話者クラスタ(例えば、声紋に関連付けられた埋め込み)、話者識別子、及びメタデータを含む。
【0174】
ステップ330において、サーバは、(既知の登録ユーザ329及び/又は新しい未知のユーザ331の)話者識別子及び話者プロファイルを、1つ以上の下流のアプリケーションに出力する。いくつかの構成では、サーバは、既知の登録ユーザ329の話者プロファイルに従って、ユーザを認証する。追加的又は代替的に、下流の演算は、話者識別子を使用して、特定の話者を識別、認証、及び/又は承認する。下流のアプリケーションは、話者が既知の登録ユーザであるか、又は新しい未知のユーザであるかに応じて、異なる機能を実行し得る。例えば、下流のアプリケーションは、識別及び/又は認証された登録ユーザに基づいて、機能性を実行し、ロック解除し、又は演算を実行し得る。ユーザが新しい未知のユーザ331である場合、下流のアプリケーションは、アプリケーションのソフトウェア、機能性、又は情報へのユーザのアクセスを制限し得る。
【0175】
音声処理の適応閾値化
図4は、音声処理システムにおける適応閾値化のための方法400の動作ステップを示す。以下に記載される方法400は、機械可読ソフトウェアコードを実行する分析システム(例えば、分析サーバ)のサーバによって実行されるが、任意の数のコンピューティングデバイスの任意の数のプロセッサが、方法400の様々な演算を実行してもよい。実施形態は、方法400に記載されるものに追加の動作、方法400に記載されるものより少ない動作、又は方法400に記載されるものとは異なる動作を含んでもよい。サーバは、入力音声信号に、任意の数の機械学習モデル及びアルゴリズムを含む機械学習アーキテクチャを適用して、様々な演算を実行する。サーバ及び機械学習アーキテクチャは、登録フェーズ中に方法400を実行するが、サーバ及び機械学習アーキテクチャは、登録フェーズ中に、展開フェーズ中に、又はそのようなフェーズの継続する組み合わせとして、方法400の様々な動作を実行してもよい。
【0176】
ステップ402において、サーバは、入力音声信号を受信する。サーバは、エンドユーザデバイスから直接に(
図2におけるように)、又はサードパーティシステム(例えば、コンテンツシステム、コールセンタシステム)のコンピューティングデバイスを介して(
図1におけるように)、入力音声信号を受信する。入力音声信号は、話者ユーザの発話を含み、この場合に、入力音声信号は、データファイル(例えば、WAVファイル、MP3ファイル)又はデータストリームである。サーバは、入力音声信号に対して、潜在的な演算の中でもとりわけ、音声信号を発語のセグメント若しくはフレームにパースすること、又は1つ以上の変換演算(例えば、高速フーリエ変換)を実行することなどの、様々な前処理演算を実行する。
【0177】
入力音声信号は、サーバが登録フェーズ又は展開フェーズ中に入力音声を受信する、登録音声信号又はインバウンド音声信号であり得る。音声信号はまた、音声信号を伴って受信されたデータ又はメタデータを含んでもよい。例えば、音声信号は、話者関連情報(例えば、ユーザ/話者識別子、加入者/世帯識別子、ユーザ生体認証)、又は通信プロトコル若しくは媒体に関連するメタデータ(例えば、TCP/IPヘッダデータ、電話番号/ANI)を含み得る。
【0178】
サーバは、音声信号を受信し、音声信号から様々なタイプの特徴を抽出する。特徴は、様々な話者発話からの低レベルのスペクトル時間特徴を含む。特徴はまた、ユーザ又は話者に関連する様々なデータ(例えば、加入者識別子、話者識別子、生体認証)、又はプロトコル情報又はデータパケット(例えば、IPアドレス)から抽出されたメタデータ値を含んでもよい。様々な機械学習モデル(例えば、埋め込み抽出器モデル)を含む、機械学習アーキテクチャは、入力音声信号から抽出された特徴に基づいて、推定の話者の埋め込みを抽出する。
【0179】
いくつかの実施形態では、サーバ又は機械学習アーキテクチャは、音声信号に音声区間検出(VAD)モデルを適用する。VADは、音声信号内の発話のインスタンスを検出し、かつ、検出された発話を含む音声信号のセグメントを抽出又は別様に識別するように訓練された機械学習モデルである。いくつかの場合には、VADは、短縮された、発語のみの音声信号を生成する。サーバは、発語セグメント及び/又は短縮された音声信号を、データベース(例えば、話者プロファイルデータベース、声紋データベース)又はいくつかの他の非一時的機械可読記憶媒体に記憶し得る。
【0180】
ステップ404において、各特定のユーザについて、サーバは、埋め込み又は声紋を分析データベースのデータベースレコード(話者プロファイルを表す)に記憶する。サーバは更に、特定の話者に関連付けられた様々なタイプのユーザ情報を記憶する。ユーザ情報は、例えば、ユーザについて生成されたユーザ固有の類似度閾値を含む。話者プロファイルが新しいか、又はユーザ固有の類似度閾値を別様に欠く場合には、サーバは、話者プロファイルに事前構成されたデフォルト類似度閾値を記憶する。
【0181】
判定ステップ406において、サーバは、声紋が成熟又は安定しているかどうかを表す、1つ以上の成熟度閾値を充足するかどうかを判定する。サーバは、話者プロファイル及び発話に関連付けられた1つ以上の成熟度因子を識別する。成熟度因子の非限定的な例としては、登録発話の数、各発話を通した正味の発語の全体の持続時間、及び音声信号からの音声(audio)の品質が挙げられる。
【0182】
サーバは、声紋が成熟しているかどうかを判定するための任意の数のアルゴリズムを用い得る。例えば、サーバは、成熟度因子(例えば、発話の数)を、成熟度因子に対応する事前構成された成熟度閾値(例えば、発話の閾値数)と比較する。別の例として、サーバは、成熟度因子を統計的又はアルゴリズム的に組み合わせ、組み合わせられた成熟度因子を組み合わせられた成熟度因子に対応する事前構成された成熟度閾値と比較する。事前構成された他人受入率は、事前構成された成熟度閾値を規定する。この他人受入率を、管理ユーザが手動で入力するか、又は様々な機械学習モデルがアルゴリズム的に決定する。他人受入が増加するにつれて、成熟度閾値が増加し、それによって、サーバが、成熟度因子が成熟度閾値に至らず、かつ、声紋が十分に成熟していないと判定することとなる尤度を増加させる。
【0183】
いくつかの実施形態では、サーバは、階層化された他人受入率に対応する階層化された成熟度閾値を用いる。例えば、サーバは、成熟度閾値のテーブル(例えば、閾値スケジュール)を様々な他人受入率で記憶し得る。
図12を参照すると、例1200は、単一の成熟度因子(登録埋め込みの数)及び種々の他人受入率に基づく閾値スケジューラを示している。いくつかの実装態様では、閾値スケジュールは、類似度スコアをいくつかの成熟度因子(例えば、登録数1202)に関連付け得る。列1202は、単一の成熟度因子(例えば、登録発話数1202)に基づく成熟度閾値を示す。列1204及び1206には、それぞれ異なる所定の他人受入率(FAR)が示されている。列1204は、0.5%の所定のFARに基づく類似度閾値を示す。列1206は、5%の所定のFARに基づく類似度閾値を示す。列1204に示される類似度閾値は、高類似度閾値とみなされる。列1206の類似度閾値は、低類似度閾値とみなされる。
【0184】
図4を再度参照すると、ステップ410において、サーバは、サーバが、声紋は(ステップ408において)成熟度閾値に至らないために成熟していないと判定することに応答して、話者の類似度閾値を調整する。サーバは、他人受入率に従って類似度閾値を調整し、それによって、サーバは、他人受入率によって表される所望のレベルの正解率を満たすように、類似度閾値を増加又は減少させる。例えば、サーバは、成熟度因子(例えば、発話数)が所与の成熟度因子閾値を満たすに至らない場合、特定の話者の類似度閾値を増加させる。サーバは、サーバが将来のインバウンド音声信号の他人受入率に従って声紋を評価するように、類似度スコアを更新する。サーバは、成熟度閾値が充足されるまで、話者に追加の発話又は登録埋め込みを繰り返し促す。
【0185】
図12を再度参照すると、一例では、成熟度閾値は、10個の登録発話に設定され得る。サーバが、声紋は成熟度閾値を充足しない(例えば、ステップ402において受信された入力音声信号が7番目の登録発話のものであった)と判定した場合には、FAR(特定の加入者識別子又はサードパーティシステムの)に応じて、話者に関連付けられた高類似度スコアは、4.29(例えば、スコア閾値1208)であり、低類似度スコアは、0.1(例えば、スコア閾値1210)である。サーバは、話者に関連付けられた類似度スコアを話者データベースに記憶する。話者が改めて話す場合、将来のインバウンド音声信号の類似度を評価することにおいて使用される閾値は、話者に関連付けられた高類似度スコアが4.29(例えば、スコア閾値1208)であり、かつ、低類似度スコアが0.1(例えば、スコア閾値1210)であることとなる。
【0186】
図4を再度参照すると、ステップ412において、サーバは、声紋及び類似度閾値を話者プロファイルに記憶し、サーバが、(ステップ408において)声紋は成熟していると判定すると、声紋及び類似度閾値を将来のインバウンド音声信号に対して適用する。サーバは、声紋及び類似度閾値を、特定の話者からの発話を含むものとされる将来のインバウンド音声信号に対して適用する。いくつかの実装態様では、サーバは、声紋及び類似度閾値を話者プロファイルデータベースに記憶する。いくつかの実装態様では、サーバは、声紋及び類似度閾値をエンドユーザデバイス又はサーバと通信する他のデバイスに記憶する。
【0187】
図12を再度参照すると、上述した例では、成熟度閾値は、10個の登録発話に設定される。サーバが、声紋は成熟度閾値を充足する(例えば、ステップ402において受信された入力音声信号が10番目の登録発話のものであった)と判定した場合には、FAR(特定の加入者識別子又はサードパーティシステムの)に応じて、話者に関連付けられた高類似度スコアは、4.37(例えば、スコア閾値1212)であり、低類似度スコアは、0.15(例えば、スコア閾値1214)である。サーバは、話者に関連付けられた類似度スコアを話者データベースに記憶する。話者が改めて話す場合、将来のインバウンド音声信号の類似度を評価することにおいて使用される閾値は、話者に関連付けられた高類似度スコアが4.29(例えば、スコア閾値1208)であり、かつ、低類似度スコアが0.1(例えば、スコア閾値1210)であることとなる。
【0188】
教師なしクラスタリング
図5は、音声処理における強い発話及び弱い発話を識別及び評価するための方法500の実行ステップを示す。以下に記載される方法500は、機械可読ソフトウェアコードを実行する分析システム(例えば、分析サーバ)のサーバによって実行されるが、任意の数のコンピューティングデバイスの任意の数のプロセッサが、方法500の様々な演算を実行してもよい。実施形態は、方法500に記載されるものに追加の動作、方法500に記載されるものより少ない動作、又は方法500に記載されるものとは異なる動作を含んでもよい。サーバは、任意の数の機械学習モデル及びアルゴリズムを含む機械学習アーキテクチャを適用して、様々な演算を実行する。
【0189】
ステップ502において、サーバは、エンドユーザデバイスから入力音声信号を受信し、入力音声信号から様々なタイプの特徴を抽出する。入力音声信号は、機械可読フォーマットの音声データを包含するデータファイル又はデータストリームを含む。音声データは、任意の数の話者の任意の数の話者発話を含む音声録音を含む。入力音声信号は、話者ユーザの発話を含み、この場合に、入力音声信号は、データファイル(例えば、WAVファイル、MP3ファイル)又はデータストリームである。入力音声信号は、サーバが登録フェーズ又は展開フェーズ中に入力音声を受信する、登録音声信号又はインバウンド音声信号であり得る。サーバは、入力音声信号から、スペクトル時間特徴又はメタデータなどの様々なタイプの特徴を抽出する。追加的又は代替的に、サーバは、入力音声信号に対して、潜在的な演算の中でもとりわけ、音声信号を発語のセグメント若しくはフレームにパースすること、又は1つ以上の変換演算(例えば、高速フーリエ変換)を実行することなどの、様々な前処理演算を実行する。
【0190】
ステップ504において、サーバは、話者について抽出された埋め込み又は特徴を、話者プロファイルデータベースに記憶された話者クラスタと比較し、次いで、話者の類似度スコアを判定する。クラスタは、特定の話者に類似する発話のコレクションを表し、この場合に、話者声紋は、話者クラスタの重心を表す。サーバは、音声信号に、1つ以上の機械学習モデルを有する機械学習アーキテクチャを適用して、特定の話者の埋め込みを抽出する。各特定の話者について、サーバは、(入力音声信号から抽出された)話者埋め込みと、話者プロファイルデータベースに記憶された声紋と、の間の相対距離に基づいて、類似度スコアのセットを生成する。
【0191】
追加的又は代替的に、サーバは、入力音声信号から抽出された特定の特徴に従ってクラスタリング演算を実行し、特徴に基づいて、各ユーザの1つ以上のクラスタリング類似度スコアを判定する。
【0192】
ステップ506において、サーバは、最大類似度スコアを有する話者及びクラスタの各ペアを識別する。各話者について、サーバは、話者間の最も可能性の高い一致を表す、特定の話者について計算された最大類似度スコアを出力する。
【0193】
判定ステップ508において、サーバは、特定の話者の埋め込み(又は特徴)の類似度スコアが1つ以上の類似度閾値を充足するかどうかを判定する。サーバは、既知の声紋又は期待される特徴に対して、対応する埋め込み又は特徴の類似度スコアを評価することによって、入力音声信号が、新しい話者又は既知の話者の発声を含むかどうかを判定する。サーバが、特定の埋め込みの類似度スコアが類似度閾値を充足すると判定した場合には、サーバは、同様に、埋め込みが既知の登録ユーザに関連付けられている可能性が高いと判定する。他方で、サーバが、特定の埋め込みの類似度スコアが類似度閾値に至らないと判定した場合には、サーバは、埋め込みが新しいユーザである可能性が高いと判定する。
【0194】
いくつかの実施形態では(
図6におけるような)、サーバは、特定の話者について出力された類似度スコアを低類似度閾値及び高類似度閾値と比較して、劣る品質の発話から劣る品質の埋め込みが結果として生じることを制御することができるレベルの粒度を提供する。そのような実施形態では、サーバが、特定の埋め込みの類似度スコアが高類似度閾値を充足すると判定した場合には、サーバは、同様に、埋め込みが既知の登録ユーザに関連付けられている可能性が高いと判定する。他方で、サーバが、特定の埋め込みの類似度スコアが低類似度閾値に至らないと判定した場合には、サーバは、埋め込みが新しいユーザである可能性が高いと判定する。以下で論じられるように、類似度スコアが低閾値と高閾値との間にある場合には、サーバは、関連する音声データ及び類似度スコアを、バッファメモリ、話者プロファイル、又は他の隔離メモリロケーションに記憶する。
【0195】
ステップ510において、サーバは、サーバが、(ステップ508において)特定の話者の埋め込みが類似度閾値に至らないと判定することに応答して、新しい声紋及び新しい話者プロファイルを生成する。サーバは、分析データベース、又は一時的な話者プロファイル若しくはゲスト話者プロファイルを記憶するように構成された別のメモリロケーション中に、新しい話者プロファイルを生成する。サーバは、サーバが、入力音声信号(例えば、話者識別子、埋め込み、声紋、特徴、メタデータ、デバイス情報)を識別するか、又は入力音声信号から抽出する、様々なタイプのデータを新しい話者プロファイルに記憶する。
【0196】
ステップ512において、サーバは、サーバが、(ステップ508において)特定の既知の話者の埋め込みが類似度閾値を充足すると判定することに応答して、記憶された声紋及びデータベース中の既存の登録(又は既知の)話者プロファイルを更新する。サーバは、分析データベース中、又は一時的な話者プロファイル若しくはゲスト話者プロファイル中の、既知の話者プロファイルの既知の話者プロファイルを更新する。サーバは、サーバが、入力音声信号(例えば、話者識別子、埋め込み、声紋、特徴、メタデータ、デバイス情報)を識別するか、又は入力音声信号から抽出する、様々なタイプのデータを既知の話者プロファイルに記憶する。
【0197】
任意選択のステップ514において、サーバは、1つ以上の再クラスタリング演算を実行して、話者クラスタを再評価し、話者プロファイルデータベースの話者プロファイルを更新する。サーバは、特定のトリガ条件に応答して、再クラスタリング演算を実行する。トリガ条件の非限定的な例としては、とりわけ、事前構成された定期的な時間間隔、又は、サーバが、例えば加入者(例えば、世帯)若しくはユーザ、に関連付けられた発話の閾値数を受信するとき、が挙げられ得る。サーバは、話者の特徴又は埋め込みを抽出して、新しい声紋を生成するか、又は話者プロファイルの既存の声紋を更新する。サーバは、各特定の発話について抽出された特徴又は埋め込みと、各特定の声紋又は他のタイプのクラスタ重心と、の間の相対距離に基づいて、話者の類似度スコアを再計算する。サーバは、話者に関連付けられた様々なタイプのデータとともに、新しい声紋又は更新された声紋を新しい話者プロファイル又は更新された話者プロファイルに記憶する。
【0198】
いくつかの実施形態では、サーバによって実行される再クラスタリング演算は、(
図7におけるような)階層的クラスタリング演算である。階層的クラスタリングは、小さな累積識別/承認エラーの尤度を最小化し、話者クラスタの純度を増加させる。サーバは、声紋間の、相対距離、又は他の比較差分若しくはクラスタリングアルゴリズム(例えば、PLDA、コサイン距離)を判定し、類似度スコア閾値を充足する既存の声紋又は新しい声紋を識別する。
【0199】
音声処理のための強い発話及び弱い発話の識別
図6は、音声処理時に話者をクラスタ化するための方法600の動作ステップを示す。以下に記載される方法600は、機械可読ソフトウェアコードを実行する分析システム(例えば、分析サーバ)のサーバによって実行されるが、任意の数のコンピューティングデバイスの任意の数のプロセッサが、方法600の様々な演算を実行してもよい。実施形態は、方法600に記載されるものに追加の動作、方法600に記載されるものより少ない動作、又は方法600に記載されるものとは異なる動作を含んでもよい。サーバは、入力音声信号に、任意の数の機械学習モデル及びアルゴリズムを含む機械学習アーキテクチャを適用して、様々な演算を実行する。サーバ及び機械学習アーキテクチャは、登録フェーズ中に方法600を実行するが、サーバ及び機械学習アーキテクチャは、登録フェーズ中に、展開フェーズ中に、又はそのようなフェーズの継続する組み合わせとして、方法600の様々な動作を実行してもよい。
【0200】
サーバは、(能動的又は受動的)登録演算中、展開動作中、及び/又は再クラスタリングデータベース更新演算中に、方法600を実行する。クラスタリング演算のために、サーバは、訓練された機械学習アーキテクチャの演算を現在の音声信号又は過去の音声信号に適用し、この場合に、音声信号は、登録音声信号、インバウンド音声信号(展開フェーズ中に受信される)、又は記憶された音声信号を含み得る。機械学習アーキテクチャは、前処理(例えば、特徴抽出)及びクラスタリング演算を含む、任意の数の機械学習モデル及びサーバが特定の音声信号に適用する様々な他の演算を含む。クラスタリング演算は、音声信号中の話者発話を使用して、新しい話者認識又は既知の話者認識を容易にする。サーバは、音声信号から特徴又は特徴ベクトル(例えば、埋め込み)を抽出し、次いで、抽出された情報(例えば、特徴、埋め込み)を、音声信号中に存在する話者に対応するクラスタにクラスタ化する。方法600は、教師なしクラスタリング演算を含むが、いくつかの実施形態では、サーバは、教師ありクラスタリング演算を実行してもよい。
【0201】
ステップ602において、サーバは、エンドユーザデバイスから入力音声信号を受信し、音声信号から様々なタイプの特徴を抽出する。音声信号は、機械可読フォーマットの音声データを包含するデータファイル又はデータストリームであり得る。音声データは、任意の数の話者の任意の数の話者発話を含む音声録音を含む。音声データはまた、音声信号を伴って受信されたデータ又はメタデータを含んでもよい。例えば、音声データは、話者関連情報(例えば、ユーザ/話者識別子、加入者/世帯識別子、ユーザ生体認証)、又は通信プロトコル若しくは媒体に関連するメタデータ(例えば、TCP/IPヘッダデータ、電話番号/ANI)を含み得る。
【0202】
サーバは、音声信号を受信し、音声データから様々なタイプの特徴を抽出する。特徴は、様々な話者発話からの低レベルのスペクトル時間特徴を含む。特徴はまた、ユーザ又は話者に関連する様々なデータ(例えば、加入者識別子、話者識別子、生体認証)、又はプロトコル情報又はデータパケット(例えば、IPアドレス)から抽出されたメタデータ値を含んでもよい。様々な機械学習モデル(例えば、埋め込み抽出モデル)を含む、機械学習アーキテクチャは、入力音声信号から抽出された特徴に基づいて、推定の話者の埋め込みを抽出する。
【0203】
ステップ604において、機械学習アーキテクチャは、特定の話者について抽出された特徴又は埋め込みを、他の推定の話者の対応する特徴又は埋め込みと、及び/又はデータベースに記憶された話者クラスタの対応する特徴又は埋め込みと比較することによって、1つ以上の類似度スコアを生成する。クラスタは、特定の話者に類似する発話のコレクションを表し、この場合に、話者声紋は、話者クラスタの重心を表す。サーバは、音声信号に機械学習アーキテクチャを適用して、特定の話者の埋め込みを抽出する。サーバは、埋め込み又は特徴を、話者プロファイルデータベースに記憶された話者クラスタと比較し、次いで、話者の類似度スコアを判定する。各特定の話者について、サーバは、(入力音声信号から抽出された)話者埋め込みと、話者プロファイルデータベースに記憶された声紋と、の間の相対距離に基づいて、類似度スコアのセットを生成する。
【0204】
追加的又は代替的に、サーバは、入力音声信号から抽出された特定の特徴に従ってクラスタリング演算を実行し、抽出された特徴に基づいて、各ユーザの1つ以上のクラスタリング類似度スコアを判定する。
【0205】
サーバは、最大類似度スコアを有する話者クラスタ及び話者のペアを識別する。各話者について、サーバは、話者間の最も可能性の高い一致を表す、特定の話者について計算された最大類似度スコアを出力する。
【0206】
ステップ606において、サーバは、特定の話者の類似度スコアが低類似度閾値又は高類似度閾値を充足するかどうかを判定する。サーバは、既知の声紋又は期待される特徴に対して、対応する埋め込み又は特徴の類似度スコアを評価することによって、入力音声信号が、新しい話者又は既知の話者の発声を含むかどうかを判定する。サーバが、特定の話者埋め込みの類似度スコアが高類似度閾値を充足すると判定した場合には、サーバは、話者が既知の登録ユーザに関連付けられている可能性が高いと判定する。他方で、サーバが、特定の埋め込みの類似度スコアが低類似度閾値に至らないと判定した場合には、サーバは、話者が新しい未知のユーザである可能性が高いと判定する。サーバが、類似度スコアが低閾値を充足するが、また、高閾値には至らないと判定した場合には、サーバは、そのと判定する
【0207】
ステップ608において、サーバは、サーバが、(ステップ606において)特定の話者の埋め込みが低類似度閾値に至らないと判定することに応答して、新しい声紋及び新しい話者プロファイルを生成する。サーバは、分析データベース、又は一時的な話者プロファイル若しくはゲスト話者プロファイルを記憶するように構成された別のメモリロケーション中に、新しい話者プロファイルを生成する。サーバは、サーバが、入力音声信号(例えば、話者識別子、埋め込み、声紋、特徴、メタデータ、デバイス情報)を識別するか、又は入力音声信号から抽出する、様々なタイプのデータを新しい話者プロファイルに記憶する。
【0208】
ステップ610において、サーバは、サーバが、(ステップ606において)埋め込みがより低い閾値を充足するが、高閾値を充足するに至らないと判定することに応答して、既知のユーザの弱い埋め込みのリストを生成又は更新する。弱い埋め込みのリストは、特定の話者に関連付けられたバッファ又は隔離記憶ロケーションとして動作するが、埋め込み(及び発話)は、弱い埋め込みを特定の話者クラスタの一部として直ちに特徴付けるための対応する声紋との十分な類似度を欠く。弱い埋め込みは、音声データ、及び潜在的に既知のユーザから発生した様々なタイプのデータ(例えば、音声録音、発話、メタデータ、埋め込み)を伴って記憶される。
【0209】
ステップ612において、サーバは、サーバが、(ステップ606において)特定の既知の話者の埋め込みが類似度閾値を充足すると判定することに応答して、記憶された声紋及びデータベース中の既存の登録(又は既知の)話者プロファイルを更新する。サーバは、既知のユーザに関連付けられた強い埋め込みのリストを更新する。強い埋め込みのリストは、サーバが既知のユーザの声紋又はクラスタを生成するために使用する埋め込みを含む。サーバは、分析データベース中、又は一時的な話者プロファイル若しくはゲスト話者プロファイル中の、既知の話者の話者プロファイルを更新する。サーバは、サーバが、入力音声信号(例えば、話者識別子、埋め込み、声紋、特徴、メタデータ、デバイス情報)を識別するか、又は入力音声信号から抽出する、強い埋め込みを伴って受信された様々なタイプのデータを既知の話者プロファイルに記憶する。
【0210】
任意選択のステップ614において、サーバは、再クラスタリング演算を実行し、データベース中のクラスタを更新し、それに応じてデータベースを更新する。サーバは、1つ以上の再クラスタリング演算を実行して、話者クラスタを再評価し、話者プロファイルデータベースの話者プロファイルを更新する。サーバは、特定のトリガ条件に応答して、再クラスタリング演算を実行する。トリガ条件の非限定的な例としては、とりわけ、事前構成された定期的な時間間隔、又は、サーバが、例えば加入者(例えば、世帯)若しくはユーザ、に関連付けられた発話の閾値数を受信するとき、が挙げられ得る。サーバは、話者の特徴又は埋め込みを抽出して、新しい声紋を生成するか、又は話者プロファイルの既存の声紋を更新する。サーバは、各特定の発話について抽出された特徴又は埋め込みと、各特定の声紋又は他のタイプのクラスタ重心と、の間の相対距離に基づいて、話者の類似度スコアを再計算する。サーバは、話者に関連付けられた様々なタイプのデータとともに、新しい声紋又は更新された声紋を新しい話者プロファイル又は更新された話者プロファイルに記憶する。
【0211】
いくつかの場合には、サーバは、弱い埋め込みの各リストを再評価して、弱い埋め込みが特定の既知の話者、又は任意の他の話者に十分に類似しているかどうかを判定する。再クラスタリングは、1つ以上の声紋、クラスタ、又は閾値を更新する場合がある。結果として、1つ以上の弱い埋め込みは、サーバの再計算された類似度スコアに従って、特定の声紋又はクラスタとより良く一致する場合がある。サーバが、特定の弱い埋め込みが特定の声紋の類似度閾値を充足すると判定した場合には、サーバは、弱い埋め込み及び関連する音声データを特定の声紋に対応する話者プロファイルに追加し、弱い埋め込みに従って、声紋及び話者プロファイルを更新する。
【0212】
いくつかの場合には、サーバは、強い埋め込みの各リストを再評価して、強い埋め込みが特定の既知の話者又は任意の他の話者と十分に類似したままであるかどうかを判定する。再クラスタリング演算の結果として、1つ以上の強い埋め込みが、サーバの再計算された類似度スコアに従って、特定の話者声紋又はクラスタと十分に一致しなくなるか、又は別の声紋若しくはクラスタとより良く一致し得る。サーバが、特定の強い埋め込みが、特定の声紋の類似度閾値を充足しなくなると判定した場合には、サーバは、特定の声紋に対応する話者プロファイルから強い埋め込み及び関連する音声データを削除し、残りの強い埋め込みに従って、声紋及び話者プロファイルを更新する。サーバが、特定の強い埋め込みが特定の声紋の類似度閾値を充足すると判定した場合には、サーバは、強い埋め込み及び関連する音声データを特定の声紋に対応する話者プロファイルに追加し、強い埋め込みに従って、声紋及び話者プロファイルを更新する。
【0213】
ラベル補正
図7Aは、現在の情報及び/又は過去の情報に従って、1つ以上の声紋のラベル識別子(例えば、話者識別子、加入者識別子)を補正するための方法700aの動作ステップを示す。以下に記載される方法700aは、機械可読ソフトウェアコードを実行する分析システム(例えば、分析サーバ)のサーバによって実行されるが、任意の数のコンピューティングデバイスの任意の数のプロセッサが、方法700aの様々な演算を実行してもよい。実施形態は、方法700aに記載されるものに対する追加の、より少ない、又は異なる動作を含み得る。サーバは、入力音声信号に、任意の数の機械学習モデル及びアルゴリズムを含む機械学習アーキテクチャを適用して、様々な演算を実行する。サーバ及び機械学習アーキテクチャは、登録フェーズ中に方法700aを実行するが、サーバ及び機械学習アーキテクチャは、登録フェーズ中に、展開フェーズ中に、又はそのようなフェーズの継続する組み合わせとして、方法700aの様々な動作を実行してもよい。
【0214】
サーバは、エンドユーザデバイスから音声信号を受信し、音声信号から様々なタイプの特徴を抽出する。音声データは、任意の数の話者の任意の数の話者発話を含む音声録音を含む。サーバは、音声信号から様々なタイプの特徴を抽出する。特徴は、様々な話者発話からの低レベルのスペクトル時間特徴を含む。特徴はまた、ユーザ又は話者に関連する様々なデータ(例えば、加入者識別子、話者識別子、生体認証)、又はプロトコル情報又はデータパケット(例えば、IPアドレス)から抽出されたメタデータ値を含んでもよい。様々な機械学習モデル(例えば、埋め込み抽出器モデル)を含む、機械学習アーキテクチャは、音声信号から抽出された特徴に基づいて、インバウンド話者の埋め込みを抽出する。
【0215】
サーバは、特定の話者について抽出された特徴又は埋め込みを、他の推定の話者の対応する特徴又は埋め込みと、及び/又はデータベースに記憶された声紋の対応する特徴又は埋め込みと比較することによって、1つ以上の類似度スコアを生成する。サーバは、埋め込みと声紋との間の相対距離を評価することによって、類似度スコアを判定する。サーバは、ユークリッド距離測度及び/又は相関ベースの測度などの距離測度に従って、相対距離を判定し得る。追加的又は代替的に、サーバは、例えば、コサイン類似度アプローチ又は確率的線形判別分析(PLDA)を使用して類似度スコアを判定することによって、埋め込み及び声紋の類似度を評価してもよい。各埋め込みに関連付けられた最大類似度スコアが1つ以上の閾値を充足しない場合、サーバは、埋め込みを使用して、新しい話者プロファイルを作成し(例えば、新しい話者を新しいクラスタ、新しい声紋、新しい話者識別子で識別し)得る。
【0216】
図7Bは、特定の話者のクラスタ及び他の推定の話者のクラスタを使用するラベル補正の例700bを例示するものである。上述したように、一例では、サーバは、埋め込みに関連付けられた最大類似度スコアが1つ以上の閾値を充足しない場合、新しい話者プロファイルを作成する。クラスタ721、クラスタ723、クラスタ725、クラスタ727、クラスタ729(「クラスタ720」と総称される)は、音声信号から抽出された埋め込みクラスタを表す。サーバは、クラスタ720のいずれも話者識別子に関連付けなくてもよい。追加的又は代替的に、サーバは、新しい話者識別子をクラスタ720に関連付けることを決定してもよい。
【0217】
図7Aを再度参照すると、ステップ702において、サーバは、ラベル識別子(例えば、加入者識別子、話者識別子)及び声紋を取得する。サーバは、データベースからラベル識別子を取得するか、又は未知の話者の新しいラベル識別子を生成する。サーバは、新しく作成された話者プロファイルから1つ以上の新しいラベル識別子及び声紋を取得する。追加的又は代替的に、サーバは、話者データベースに照会し、かつ、特定の話者プロファイルのデータを取り出すことによって、以前のラベル識別子及び声紋を取得する。サーバは、例えば、加入者識別子に関連付けられた話者プロファイル、サーバによって最近アクセス及び/又は修正された話者プロファイル(例えば、過去2日間に分析サーバによって取り出された話者プロファイル)、特定の話者特性に関連付けられた話者プロファイル、特定の話者非依存性特性に関連付けられた話者プロファイル、及び/又は他のメタデータに関連付けられた話者プロファイルを取り出す。取り出された話者プロファイルは、特定のラベル識別子(例えば、加入者識別子、話者識別子)及び声紋を含み得る。サーバはまた、1つ以上のデータベースから全ての話者プロファイルをフェッチしてもよい。
【0218】
図7Bを再度参照すると、一例として、サーバが、特定の加入者識別子に関連付けられたデータベースレコード(例えば、話者プロファイル)の再クラスタリング演算を実行するとき、サーバは、特定の加入者識別子に関連付けられた以前のラベル識別子及び声紋を取り出す。サーバは、音声信号から抽出されたクラスタ720に関連付けられた加入者識別子をデータベースに照会することに応答して、クラスタ既知731、既知733、既知735、及び既知737(「既知クラスタ730」と総称される)を受信する。
【0219】
図7Aを再度参照すると、ステップ704において、サーバは、様々な声紋間のペアワイズ類似度を計算することによって、声紋ペア類似度スコアを生成する。サーバは、各声紋を他の声紋の各々と比較して、声紋ペア類似度スコアを計算する。サーバは、例えば、ペアの2つの声紋間の相対距離、2つの声紋のコサイン類似度、又は2つの声紋のPLDAを評価することによって、各特定の声紋ペア類似度スコアを計算する。サーバは、声紋の各々の各最大声紋ペア類似度スコアを識別して、最も一致する声紋ペアを識別する。
【0220】
図7Bを再度参照すると、声紋類似度スコア行列738は、既知のクラスタ730の各々と比較して、クラスタ720の各々の類似度スコアを識別する。類似度スコア行列738中の各セルは、既知のクラスタ730の既知のクラスタとクラスタ720のクラスタとを比較する類似度スコアを表す。クラスタ720及び既知のクラスタ730の各々の最大クラスタペア類似度スコアは、736において識別される。
【0221】
図7Aを再度参照すると、ステップ706において、サーバは、各々の特定の最大声紋ペア類似度スコアを識別する。任意選択で、サーバは、各特定の最大声紋ペア類似度スコアが、事前構成された再ラベル閾値(移行閾値と呼ばれることがある)を充足するかどうかを判定し得る。再ラベル閾値は、インバウンド埋め込みを特定の声紋と照合するために使用される本明細書に記載される類似度閾値と同じであり得る。
【0222】
いくつかの実装態様では、声紋は、声紋ペア中の所与の声紋の成熟度のレベルに依存する様々な再ラベル閾値に関連付けられ得る。例えば、特定の声紋は、話者プロファイル中の低類似度閾値及び高類似度閾値に関連付けられている。一例では、サーバは、最大声紋ペア類似度スコアを、例えば、低類似度閾値と比較する。サーバはまた、閾値(例えば、声紋の各々に関連付けられた閾値)を統計的又はアルゴリズム的に組み合わせてもよい。
【0223】
ステップ708において、サーバは、ラベル識別子を再ラベル付けするか、又は移行させる。サーバは、いずれか一方の声紋に関連付けられたラベル識別子を、クラスタに関連付けられた新しい話者プロファイル又は更新された話者プロファイルに再ラベル付けし得るか、又は移行させ得る。ラベル識別子を再ラベル付けすることに加えて、サーバは、声紋の各々を平均すること、又は声紋に機械学習アーキテクチャを適用して声紋をアルゴリズム的に組み合わせることによって、声紋をマージすることを決定してもよい。
【0224】
図7Bを再度参照すると、サーバは、既知のクラスタ730のラベル識別子を移行させ、クラスタ720のラベル識別子を置き換えることによって、クラスタ720のラベル識別子を更新又は補正する。例えば、クラスタ721は、クラスタ721、及び既知のクラスタ730の他のクラスタの類似度スコア(例えば、それぞれ、0.3、3.1、及び-5.9)よりも大きい、54.2の最大類似度スコアによって示される、既知の733に最も類似している。
【0225】
同様に、サーバは、クラスタ723が、クラスタ723、及び既知のクラスタ730の他のクラスタの類似度スコア(例えば、それぞれ、-0.5、2.5、及び5.4)よりも大きい、39.8の最大類似度スコアによって示される、既知の735に最も類似していると判定した。クラスタ723及び既知735に関連付けられた39.8の最大類似度スコアは、クラスタ721及び既知733に関連付けられた54.2の最大類似度スコア未満であるが、サーバは、依然として、既知735ラベル識別子をクラスタ723に移行した。サーバの、クラスタ721、クラスタ723、クラスタ725、クラスタ727に関連付けられたラベル識別子の再ラベル付け又は移行は、クラスタ721、クラスタ723、クラスタ725、クラスタ727のクラスタが、サーバによって以前に識別された(例えば、既知731、既知733、既知735、及び既知737)ことを示す。クラスタ729が、推定さの話者プロファイルのいずれとも十分に類似していないため、サーバは、クラスタ729の新しい話者プロファイルを作成した。サーバは、サーバが新しい話者プロファイルを作成することを表すために、クラスタ729の新しいラベル識別子、既知740を生成した。
【0226】
完全な受動的かつ継続的登録
図8は、受動的かつ継続的登録構成を使用した音声処理のための方法800の動作ステップを示す。以下に記載される方法800は、機械可読ソフトウェアコードを実行する分析システム(例えば、分析サーバ)のサーバによって実行されるが、任意の数のコンピューティングデバイスの任意の数のプロセッサが、方法800の様々な演算を実行してもよい。実施形態は、方法800に記載されるものに追加の動作、方法800に記載されるものより少ない動作、又は方法800に記載されるものとは異なる動作を含んでもよい。サーバは、入力音声信号に、任意の数の機械学習モデル及びアルゴリズムを含む機械学習アーキテクチャを適用して、様々な演算を実行する。サーバ及び機械学習アーキテクチャは、登録フェーズ中に方法800を実行するが、サーバ及び機械学習アーキテクチャは、登録フェーズ中に、展開フェーズ中に、又はそのようなフェーズの継続する組み合わせとして、方法800の様々な動作を実行し得る。
【0227】
ステップ802において、サーバは、1つ以上の話者の1つ以上の発話を包含する入力音声信号を受信する。サーバは、入力音声信号をエンドユーザデバイスから受信し、入力音声信号から様々なタイプの特徴を抽出し、この場合に、サーバは、入力音声信号をエンドユーザデバイスから直接に、又は仲介デバイス(例えば、サードパーティサーバ)を介して受信する。入力音声信号は、機械可読フォーマットの音声データを包含するデータファイル又はデータストリームを含む。音声データは、任意の数の話者の任意の数の話者発話を含む音声録音を含む。入力音声信号は、話者ユーザの発話を含み、この場合に、入力音声信号は、データファイル(例えば、WAVファイル、MP3ファイル)又はデータストリームである。入力音声信号は、サーバが登録フェーズ又は展開フェーズ中に入力音声を受信する、登録音声信号又はインバウンド音声信号であり得る。サーバは、入力音声信号から、スペクトル時間特徴又はメタデータなどの様々なタイプの特徴を抽出する。追加的又は代替的に、サーバは、入力音声信号に対して、潜在的な演算の中でもとりわけ、音声信号を発語のセグメント若しくはフレームにパースすること、又は1つ以上の変換演算(例えば、高速フーリエ変換)を実行することなどの、様々な前処理演算を実行する
【0228】
ステップ804において、サーバは、入力音声信号から抽出された特徴に、任意の数の機械学習モデルを含む機械学習アーキテクチャを適用する。機械学習アーキテクチャの埋め込み抽出モデルは、入力音声信号から抽出された特徴を使用して、インバウンド話者のインバウンド埋め込みを抽出する。
【0229】
判定ステップ806において、サーバは、データベース(例えば、声紋データベース、話者プロファイルデータベース)が空であるかどうかを判定する。データベースは、サードパーティコンテンツサービス又はデータ分析サービスの顧客である特定の世帯、加入者、又は個人の他のコレクションのデータレコードを含む。データレコードは、話者識別子に関連付けられた特定の話者の話者プロファイルを含む。いくつかの実装態様において、サーバは、データベースの一部分が空であるかどうかを判定する。例えば、サーバは、データベースが、特定の加入者識別子に関連付けられた任意の話者プロファイル(例えば、世帯の話者プロファイル)を包含するかどうかを判定する。
【0230】
ステップ808において、サーバは、サーバが、(ステップ806において)データベースが空ではないと判定すると、各埋め込みとデータベースに記憶された各声紋との間の相対距離に基づいて、発話に対して生成された話者埋め込みの類似度スコアを生成する。各特定の話者について、サーバは、特定のインバウンド話者が特定の声紋と(類似度スコアによって)最も近く一致することを表す、最大類似度スコア809を出力する。
【0231】
判定ステップ812において、各特定のインバウンド話者埋め込みについて、サーバは、対応する最大類似度スコア809が低類似度閾値を充足するかどうかを判定する。いくつかの場合には、低類似度閾値は、事前構成されたデフォルト値、又は(
図4におけるように)特定の声紋及び推定の登録された登録話者に適合化された適応閾値である。
【0232】
判定ステップ814において、サーバが、(ステップ812において)特定の最大類似度スコア809が低閾値を充足すると判定した場合には、サーバは、最大類似度スコア809が高類似度閾値を充足するかどうかを判定する。いくつかの場合には、高類似度閾値は、事前構成されたデフォルト値、又は(
図4におけるように)特定の声紋及び推定の登録された登録話者に適合化された適応閾値である。
【0233】
ステップ816において、サーバが、(ステップ814において)最大類似度スコア809が高閾値を充足すると判定した場合、サーバは、強い埋め込みのリストを更新する。サーバは、声紋を生成するために強い埋め込みを使用する。例えば、サーバは、特定のインバウンド強い埋め込みを使用して、特定の声紋を更新する。サーバは、更新された声紋を含むように、対応する話者プロファイルを更に更新してもよい。特定の埋め込みの最大類似度スコア809が高閾値を充足したため、サーバは、特定のインバウンド埋め込みが推定の登録された登録話者である可能性が高いと判定する。
【0234】
ステップ822において、強い埋め込みのリストを更新した後、サーバは、強いインバウンド埋め込みを含むように、話者プロファイルを包含するデータベースを更新する。サーバは、インバウンド埋め込みを、インバウンド埋め込みに最も一致した声紋を有する特定の話者プロファイルに追加する。サーバは、インバウンド埋め込みに最も一致する声紋に関連付けられている話者識別子を有する話者プロファイルを更新する。
【0235】
ステップ820において、サーバは、サーバが、(ステップ806において)データベースが空である、又は(ステップ812において)特定のインバウンド埋め込みの最大類似度スコア809が低類似度閾値を充足するに至らないと判定すると、データベース中に新しい話者プロファイルを作成する。サーバは、サーバがサードパーティサーバから話者識別子を受信した場合、新しい話者プロファイルに新しい話者識別子を割り当てる。いくつかの実装態様において、サーバは、サードパーティサーバによって使用される対応する話者識別子のハッシュ化(又は別様に難読化)されたバージョンを受信し、それによって、サーバが特定の話者に関する任意の個人識別情報を受信することを防止することによって、話者プライバシーを維持する。
【0236】
いくつかの場合には、新しい話者プロファイルは、限定された所定のライフサイクルを有する一時的話者プロファイル又はゲスト話者プロファイルである。そのような場合には、サーバ又はデータベースは、一時的なプロファイルを維持するための事前構成された時間後に、一時的なプロファイルのデータをデータベースからパージする。サーバ又はデータベースはまた、(ステップ812又はステップ814におけるように)閾値の一時的な声紋を照合するために高閾値又は低閾値を充足する別のインバウンド埋め込みをサーバが識別する各インスタンスについて、一時的なプロファイルを維持するために、このライフサイクルクロックを再始動させる。
【0237】
サーバが、一時的プロファイルの声紋が成熟していると判定する場合には、サーバは、一時的プロファイルをデータベース中の恒久的な話者プロファイルに変換し、それによって、現在のステップ820において話者プロファイルを更新する。例えば、サーバは、特定の話者から、(ステップ814におけるように)一時的な声紋について高閾値を充足する閾値数埋め込みを受信すると、一時的なプロファイルが成熟していると受信する判定する。
【0238】
ステップ818において、サーバが、特定の埋め込みの最大類似度スコア809がデータベース中の最も近い一致する声紋について(ステップ814において)より高い閾値を充足するに至らないが、(ステップ812において)インバウンド埋め込みがすでに低閾値を充足した場合、弱い埋め込みのリストを更新する。弱い埋め込みのリストは、場合によっては対応する最も近い声紋と一致する埋め込みを包含するバッファ又は隔離場所として効果的に機能する。サーバは、これらの弱い埋め込みを、再クラスタリング演算などの後の演算において参照して、弱い埋め込みを最も近い声紋の話者プロファイルに含めるかどうかを判定することができる。
【0239】
ステップ822において、サーバは、埋め込み及び話者情報を含むように、データベースを更新する。特定の話者埋め込みについて、データベースは、(ステップ816から)強い埋め込みの更新されたリスト、(ステップ818から)弱い埋め込みの更新されたリスト、又は(ステップ820から)新しいデータレコードなどの、1つ以上の更新を受信する。データベースは、ステップ822の更新を、埋め込み、話者プロファイル情報、又は埋め込みのリストに関連付けられた話者識別子823とともに記憶する。話者識別子823は、コンテンツサーバが話者に関する任意の個人情報を分析サーバに公開しないように、コンテンツシステムのユーザ識別子を表す匿名化された値である。
【0240】
ステップ824において、サーバは、話者識別子823と、コンテンツサーバによって下流の演算のために要求された話者プロファイルに関する任意の関連情報と、を出力する。サーバは、話者識別子823を、例えば、メディアコンテンツシステムのコンピューティングデバイス、エンドユーザデバイス、又は特定の下流の演算を実行する任意の他のデバイスに伝送する。いくつかの実装態様では、サーバはまた、データベースレコードに記憶された話者プロファイルから追加の話者プロファイル情報を伝送する。
【0241】
能動的受動的混合及び継続的登録
図9は、能動的受動的混合かつ継続的登録構成を使用して音声信号を音声処理するための方法900の動作ステップを示す。サーバ又は他のコンピューティングデバイスが、方法900を実行するが、いくつかの実施形態では、サーバは、登録フェーズ中に方法900を実行してもよい。サーバは、能動的登録フェーズ及び展開フェーズ中に方法900を実行する。能動的登録フェーズ中、サーバは、1つ以上の音声プロンプト及び/又は視覚的プロンプトに応答している登録された話者から登録音声信号を受信する。プロンプトは、登録された話者に聞き取り可能に応答するように要求し、サーバは、応答を、登録された声紋を生成し、特定の話者を登録し、データベース中の対応する話者プロファイルデータを生成するための登録音声信号として受信する。展開フェーズ中、サーバは、特定のインバウンド話者を識別するためにサーバが評価するインバウンド音声信号を受信する。サーバは、未知の話者を継続的に受動的に登録することもできる。サーバがインバウンド話者を識別できない場合には、サーバは、未知の話者を受動的に登録し、データベース中に新しい話者の新しいデータレコードを生成する。
【0242】
ステップ902において、サーバは、話者ユーザの発話を含む登録されたユーザから、登録音声信号を受信する。サーバは、中間コンテンツサーバを介してエンドユーザデバイスから、登録音声信号を受信する。サーバは、登録音声信号から特徴を抽出する。特徴は、スペクトル時間特徴であり得、いくつかの場合には、様々なタイプのデータ又はメタデータであり得る。サーバはまた、様々なデータ拡張演算などの、登録音声信号に対する様々な前処理演算を実行してもよい。サーバは、Mel周波数ケプストラム係数(MFCC)、Melフィルタバンク、線形フィルタバンク、ボトルネック特徴などを含む発話から特徴を抽出し得る。いくつかの場合には、サーバは、特徴を抽出し、かつ、話者埋め込みを生成するように構成された機械学習モデルを使用して、登録音声信号から特徴を抽出する。
【0243】
ステップ904において、サーバは、入力音声信号から抽出された特徴に、任意の数の機械学習モデルを含む機械学習アーキテクチャを適用する。機械学習アーキテクチャの埋め込み抽出モデルは、入力音声信号から抽出された特徴を使用して、インバウンド話者のインバウンド埋め込みを抽出する。サーバは、様々な機械学習モデル(例えば、埋め込み抽出器)を含む機械学習アーキテクチャを適用することによって、登録信号から埋め込みを抽出する。
【0244】
このタイプの登録信号は、サーバが埋め込みを抽出する方法を規定し得る。例えば、ユーザは、登録信号として指紋を提供し得る。他の例では、サーバは、隆線、谷線、及びマイニューシャを含む、デジタル指紋画像に関連付けられた特徴を抽出してもよく、及び/又はサーバは、画像データの特徴を抽出するように構成された機械学習モデルを使用して特徴を抽出してもよい。サーバは、特徴を抽出するように構成された機械学習モデルを使用して、様々なタイプの特徴を抽出し、話者埋め込みと併せて、ユーザ認識に用いられる特定のタイプの生体認証のための対応する埋め込みを生成する。
【0245】
判定ステップ906において、サーバは、登録声紋が成熟しているかどうかを判定する。サーバは、サーバが、特定の信号のユーザを数学的に識別することができるように、埋め込みの閾値数又は他の情報を充足するのに十分な埋め込み(又は生体認証情報)を抽出したときに、登録が成熟していると判定し得る。例えば、サーバは、サーバが登録者から発話を包含する1つ以上の音声信号から正味の発語の閾値持続時間を受信すると、登録が成熟していると判定し得る。追加的又は代替的に、サーバは、サーバが所定数の様々な登録信号(例えば、2つの指紋スキャン及び2つの発話、5つの異なる発話)を受信すると、登録が成熟していると判定してもよい。
【0246】
登録が不完全である(例えば、成熟していない)場合、サーバは、(ステップ902におけるように)ユーザに登録信号を促す。サーバは、登録が成熟するまで、ユーザに追加の登録信号(登録発話を有する)を促す。一例として、サーバが、第1のタイプのコンテンツ(例えば、ユーザ名)を伴う登録発話を受信した場合には、サーバは、ユーザに第2の発話(例えば、ユーザの誕生日)を促す。別の例として、サーバが生体認証情報(例えば、指紋)を受信した場合、サーバは、ユーザに登録発話を包含する音声信号を促す。
【0247】
登録が成熟している場合、サーバは、ステップ908に進む。ステップ908において、サーバは、登録された話者ユーザの新しい登録者声紋を作成する。サーバは、登録埋め込みを統計的又はアルゴリズム的に組み合わせて、登録された話者ユーザの声紋を抽出する。サーバは、登録声紋を、登録者に関する任意の様々な他の非識別情報とともに、話者プロファイルに記憶する。サーバはまた、新しい話者識別子を生成するか、又はコンテンツサーバからの新しい話者識別子を要求してもよい。
【0248】
ステップ910において、サーバは、例えば新しい登録された声紋及び新しい話者プロファイル中の他の情報(例えば、話者識別子、加入者識別子)を記憶することによって、データベースを更新し、それによって、新しい話者ユーザを登録する(register)/登録する(enroll)。
【0249】
ステップ914において、サーバは、コンテンツサーバによって下流の演算のために要求された新しい話者識別子と、新しい話者プロファイルに関する任意の関連情報と、を出力する。サーバは、新しい話者識別子を、例えば、メディアコンテンツシステムのコンピューティングデバイス、エンドユーザデバイス、又は特定の下流の演算を実行する任意の他のデバイスに伝送する。いくつかの実装態様では、サーバはまた、新しいデータベースレコードに記憶された新しい話者プロファイルから追加の新しい話者プロファイル情報を伝送する。
【0250】
能動的登録フェーズに続いて、サーバは、機械学習アーキテクチャを展開フェーズに移行させ、サーバは、登録された話者のインバウンド音声信号を評価するが、サーバはまた、新しい、認識されていない話者を受動的に登録し続ける。
【0251】
ステップ916において、中間コンテンツサーバを介して、エンドユーザデバイスから1つ以上のインバウンド話者の1つ以上の発話を包含するインバウンド音声信号を受信する。サーバは、インバウンド音声信号から特徴を抽出する。特徴は、スペクトル時間特徴であり得、いくつかの場合には、様々なタイプのデータ又はメタデータであり得る。サーバはまた、様々なデータ拡張演算などの、インバウンド音声信号に対する様々な前処理演算を実行してもよい。サーバは、Mel周波数ケプストラム係数(MFCC)、Melフィルタバンク、線形フィルタバンク、ボトルネック特徴などを含む発話から特徴を抽出し得る。いくつかの場合には、サーバは、特徴を抽出し、かつ、話者埋め込みを生成するように構成された機械学習モデルを使用して、インバウンド音声信号から特徴を抽出する。いくつかの構成では、サーバは、インバウンド信号に対する前処理演算を実行し(例えば、インバウンド信号を分割し、インバウンド信号をスケールし、インバウンド信号をノイズ除去し)得る。
【0252】
ステップ918において、サーバは、インバウンド音声信号に機械学習アーキテクチャを適用して、インバウンド話者の各々の埋め込みを抽出する。サーバは、インバウンド音声信号から抽出された特徴に基づいて、インバウンド音声信号から各インバウンド埋め込みを抽出する。
【0253】
ステップ920において、サーバは、特定のインバウンド埋め込みと、データベースに記憶された各声紋と、の間の相対距離に基づいて、発話について生成された各インバウンド話者埋め込みの類似度スコアを生成する。各特定の話者について、サーバは、特定のインバウンド話者が特定の声紋と(類似度スコアによって)最も近く一致することを表す、最大類似度スコアを出力する。
【0254】
判定ステップ922において、各特定のインバウンド話者埋め込みについて、サーバは、対応する最大類似度スコアが低類似度閾値を充足するかどうかを判定する。いくつかの場合には、低類似度閾値は、事前構成されたデフォルト値、又は(
図4におけるように)特定の声紋及び推定の既知の登録話者に適合化された適応閾値である。
【0255】
ステップ924において、サーバは、サーバが、(ステップ922において)特定のインバウンド埋め込みの最大類似度スコアが低類似度閾値を充足するに至らないと判定すると、データベース中に新しい話者プロファイルを作成する。サーバは、サーバがサードパーティサーバから話者識別子を受信した場合、新しい話者プロファイルに新しい話者識別子を割り当てる。いくつかの実装態様において、サーバは、サードパーティサーバによって使用される対応する話者識別子のハッシュ化(又は別様に難読化)されたバージョンを受信し、それによって、サーバが特定の話者に関する任意の個人識別情報を受信することを防止することによって、話者プライバシーを維持する。
【0256】
判定ステップ926において、サーバは、サーバが、(ステップ922において)最大類似度スコアが低閾値を充足すると判定すると、最大類似度スコアが高類似度閾値を充足するかどうかを判定する。いくつかの場合には、高類似度閾値は、事前構成されたデフォルト値、又は(
図4におけるように)特定の声紋及び推定の登録された登録話者に適合化された適応閾値である。
【0257】
ステップ928において、サーバが、特定の埋め込みの最大類似度スコアがデータベース中の最も近い一致する声紋について(ステップ926において)より高い閾値を充足するに至らないが、(ステップ922において)インバウンド埋め込みがすでに低閾値を充足した場合、弱い埋め込みのリストを更新する。弱い埋め込みのリストは、場合によっては対応する最も近い声紋と一致する埋め込みを包含するバッファ又は隔離場所として効果的に機能する。サーバは、これらの弱い埋め込みを、再クラスタリング演算などの後の演算において参照して、弱い埋め込みを最も近い声紋の話者プロファイルに含めるかどうかを判定することができる。
【0258】
ステップ930において、サーバが、(ステップ926において)最大類似度スコアが高閾値を充足すると判定すると、サーバは、強い埋め込みのリストを更新する。サーバは、声紋を生成するために強い埋め込みを使用する。例えば、サーバは、特定のインバウンド強い埋め込みを使用して、特定の声紋を更新する。サーバは、更新された声紋を含むように、対応する話者プロファイルを更に更新してもよい。特定の埋め込みの最大類似度スコアが高閾値を充足したため、サーバは、特定のインバウンド埋め込みが推定の登録された登録話者である可能性が高いと判定する。
【0259】
ステップ910において、サーバは、埋め込み及び話者情報を含むように、データベースを更新する。特定の話者埋め込みについて、データベースは、(ステップ930から)強い埋め込みの更新されたリスト、(ステップ928から)弱い埋め込みの更新されたリスト、又は(ステップ924から)新しいデータレコードなどの、1つ以上の更新を受信する。データベースは、ステップ910の更新を、埋め込み、話者プロファイル情報、又は埋め込みのリストに関連付けられた話者識別子とともに記憶する。話者識別子は、コンテンツサーバが話者に関する任意の個人情報を分析サーバに公開しないように、コンテンツシステムのユーザ識別子を表す匿名化された値である。
【0260】
ステップ914において、サーバは、コンテンツサーバによって下流の演算のために要求された話者識別子、新しい識別子又は既知の識別子、及び話者プロファイルに関する任意の関連情報を出力する。サーバは、話者識別子を、例えば、メディアコンテンツシステムのコンピューティングデバイス、エンドユーザデバイス、又は特定の下流の演算を実行する任意の他のデバイスに伝送する。いくつかの実装態様では、サーバはまた、データベースレコードに記憶された話者プロファイルから追加の話者プロファイル情報を伝送する。
【0261】
能動的かつ継続的登録
図10は、能動的かつ継続的登録構成を使用して音声信号を音声処理するための方法1000の動作ステップを示す。サーバ又は他のコンピューティングデバイスが、方法900を実行するが、いくつかの実施形態では、サーバは、登録フェーズ中に方法900を実行してもよい。サーバは、能動的登録フェーズ及び展開フェーズ中に方法900を実行する。能動的登録フェーズ中、サーバは、1つ以上の音声プロンプト及び/又は視覚的プロンプトに応答している登録された話者から登録音声信号を受信する。プロンプトは、登録された話者に聞き取り可能に応答するように要求し、サーバは、応答を、登録された声紋を生成し、特定の話者を登録し、データベース中の対応する話者プロファイルデータを生成するための登録音声信号として受信する。展開フェーズ中、サーバは、特定のインバウンド話者を識別するためにサーバが評価するインバウンド音声信号を受信する。
図9の実施形態とは異なり、能動的登録フェーズは、全てのユーザを登録するために必須である。サーバは、音声信号を継続的に受動的に評価するが、サーバは、新しい認識されていない話者を受動的に登録しない。クラスタリング演算は、半教師ありであるが、サーバが既知の数のクラスタで事前に構成されているため、クラスタリングは、他の実施形態よりも制約が多い場合があるか、又はより簡略化されている場合がある。例えば、データベースは、登録を完了した登録された話者の事前構成された数を割り当てる。
【0262】
ステップ1002において、サーバは、話者ユーザの発話を含む登録されたユーザから、登録音声信号を受信する。サーバは、中間コンテンツサーバを介してエンドユーザデバイスから、登録音声信号を受信する。サーバは、登録音声信号から特徴を抽出する。特徴は、スペクトル時間特徴であり得、いくつかの場合には、様々なタイプのデータ又はメタデータであり得る。サーバはまた、様々なデータ拡張演算などの、登録音声信号に対する様々な前処理演算を実行してもよい。サーバは、Mel周波数ケプストラム係数(MFCC)、Melフィルタバンク、線形フィルタバンク、ボトルネック特徴などを含む発話から特徴を抽出し得る。いくつかの場合には、サーバは、特徴を抽出し、かつ、話者埋め込みを生成するように構成された機械学習モデルを使用して、登録音声信号から特徴を抽出する。
【0263】
ステップ1004において、サーバは、入力音声信号から抽出された特徴に、任意の数の機械学習モデルを含む機械学習アーキテクチャを適用する。機械学習アーキテクチャの埋め込み抽出モデルは、入力音声信号から抽出された特徴を使用して、インバウンド話者のインバウンド埋め込みを抽出する。サーバは、様々な機械学習モデル(例えば、埋め込み抽出器)を含む機械学習アーキテクチャを適用することによって、登録信号から埋め込みを抽出する。
【0264】
判定ステップ1006において、サーバは、登録声紋が成熟しているかどうかを判定する。サーバは、サーバが、特定の信号のユーザを数学的に識別することができるように、埋め込みの閾値数又は他の情報を充足するのに十分な埋め込み(又は生体認証情報)を抽出したときに、登録が成熟していると判定し得る。例えば、サーバは、サーバが登録者から発話を包含する1つ以上の音声信号から正味の発語の閾値持続時間を受信すると、登録が成熟していると判定し得る。追加的又は代替的に、サーバは、サーバが所定数の様々な登録信号(例えば、2つの指紋スキャン及び2つの発話、5つの異なる発話)を受信すると、登録が成熟していると判定してもよい。
【0265】
登録が不完全である(例えば、成熟していない)場合、サーバは、(ステップ1006におけるように)ユーザに登録信号を促す。サーバは、登録が成熟するまで、ユーザに追加の登録信号(登録発話を有する)を促す。一例として、サーバが、第1のタイプのコンテンツ(例えば、ユーザ名)を伴う登録発話を受信した場合には、サーバは、ユーザに第2の発話(例えば、ユーザの誕生日)を促す。別の例として、サーバが生体認証情報(例えば、指紋)を受信した場合、サーバは、ユーザに登録発話を包含する音声信号を促す。
【0266】
登録が成熟している場合、サーバは、ステップ1008に進む。ステップ1008において、サーバは、登録された話者ユーザの新しい登録者声紋を作成する。サーバは、登録埋め込みを統計的又はアルゴリズム的に組み合わせて、登録された話者ユーザの声紋を抽出する。サーバは、登録声紋を、登録者に関する任意の様々な他の非識別情報とともに、話者プロファイルに記憶する。サーバはまた、新しい話者識別子を生成するか、又はコンテンツサーバからの新しい話者識別子を要求してもよい。
【0267】
ステップ1010において、サーバは、例えば新しい登録された声紋及び新しい話者プロファイル中の他の情報(例えば、話者識別子、加入者識別子)を記憶することによって、データベースを更新し、それによって、新しい話者ユーザを登録する(register)/登録する(enroll)。
【0268】
ステップ1014において、サーバは、コンテンツサーバによって下流の演算のために要求された新しい話者識別子と、新しい話者プロファイルに関する任意の関連情報と、を出力する。サーバは、新しい話者識別子を、例えば、メディアコンテンツシステムのコンピューティングデバイス、エンドユーザデバイス、又は特定の下流の演算を実行する任意の他のデバイスに伝送する。いくつかの実装態様では、サーバはまた、新しいデータベースレコードに記憶された新しい話者プロファイルから追加の新しい話者プロファイル情報を伝送する。
【0269】
能動的登録フェーズに続いて、サーバは、機械学習アーキテクチャを展開フェーズに移行させ、サーバは、登録された話者のインバウンド音声信号を評価するが、サーバはまた、新しい、認識されていない話者を受動的に登録し続ける。
【0270】
ステップ1016において、中間コンテンツサーバを介して、エンドユーザデバイスから1つ以上のインバウンド話者の1つ以上の発話を包含するインバウンド音声信号を受信する。サーバは、インバウンド音声信号から特徴を抽出する。特徴は、スペクトル時間特徴であり得、いくつかの場合には、様々なタイプのデータ又はメタデータであり得る。サーバはまた、様々なデータ拡張演算などの、インバウンド音声信号に対する様々な前処理演算を実行してもよい。サーバは、Mel周波数ケプストラム係数(MFCC)、Melフィルタバンク、線形フィルタバンク、ボトルネック特徴などを含む発話から特徴を抽出し得る。いくつかの場合には、サーバは、特徴を抽出し、かつ、話者埋め込みを生成するように構成された機械学習モデルを使用して、インバウンド音声信号から特徴を抽出する。いくつかの構成では、サーバは、インバウンド信号に対する前処理演算を実行し(例えば、インバウンド信号を分割し、インバウンド信号をスケールし、インバウンド信号をノイズ除去し)得る。
【0271】
ステップ1018において、サーバは、インバウンド音声信号に機械学習アーキテクチャを適用して、インバウンド話者の各々の埋め込みを抽出する。サーバは、インバウンド音声信号から抽出された特徴に基づいて、インバウンド音声信号から各インバウンド埋め込みを抽出する。
【0272】
ステップ1020において、サーバは、特定のインバウンド埋め込みと、データベースに記憶された各声紋と、の間の相対距離に基づいて、発話について生成された各インバウンド話者埋め込みの類似度スコアを生成する。各特定の話者について、サーバは、特定のインバウンド話者が特定の声紋と(類似度スコアによって)最も近く一致することを表す、最大類似度スコアを出力する。
【0273】
判定ステップ1022において、各特定のインバウンド話者埋め込みについて、サーバは、対応する最大類似度スコアが低類似度閾値を充足するかどうかを判定する。いくつかの場合には、低類似度閾値は、事前構成されたデフォルト値、又は(
図4におけるように)特定の声紋及び推定の既知の登録話者に適合化された適応閾値である。
【0274】
判定ステップ1026において、サーバは、サーバが、(ステップ1022において)最大類似度スコアが低閾値を充足すると判定すると、最大類似度スコアが高類似度閾値を充足するかどうかを判定する。いくつかの場合には、高類似度閾値は、事前構成されたデフォルト値、又は(
図4におけるように)特定の声紋及び推定の登録された登録話者に適合化された適応閾値である。
【0275】
ステップ1028において、サーバが、特定の埋め込みの最大類似度スコアがデータベース中の最も近い一致する声紋について(ステップ1026において)より高い閾値を充足するに至らないが、(ステップ1022において)インバウンド埋め込みがすでに低閾値を充足した場合、弱い埋め込みのリストを更新する。弱い埋め込みのリストは、場合によっては対応する最も近い声紋と一致する埋め込みを包含するバッファ又は隔離場所として効果的に機能する。サーバは、これらの弱い埋め込みを、再クラスタリング演算などの後の演算において参照して、弱い埋め込みを最も近い声紋の話者プロファイルに含めるかどうかを判定することができる。
【0276】
ステップ1026において、サーバが、(ステップ1026において)最大類似度スコアが高閾値を充足すると判定すると、サーバは、強い埋め込みのリストを更新する。サーバは、声紋を生成するために強い埋め込みを使用する。例えば、サーバは、特定のインバウンド強い埋め込みを使用して、特定の声紋を更新する。サーバは、更新された声紋を含むように、対応する話者プロファイルを更に更新してもよい。特定の埋め込みの最大類似度スコアが高閾値を充足したため、サーバは、特定のインバウンド埋め込みが推定の登録された登録話者である可能性が高いと判定する。
【0277】
ステップ1010において、サーバは、埋め込み及び話者情報を含むように、データベースを更新する。特定の話者埋め込みについて、データベースは、(ステップ1030から)強い埋め込みの更新されたリスト、又は(ステップ1028から)弱い埋め込みの更新されたリストなどの、1つ以上の更新を受信する。データベースは、ステップ1010の更新を、埋め込み、話者プロファイル情報、又は埋め込みのリストに関連付けられた話者識別子とともに記憶する。話者識別子は、コンテンツサーバが話者に関する任意の個人情報を分析サーバに公開しないように、コンテンツシステムのユーザ識別子を表す匿名化された値である。
【0278】
ステップ1024において、サーバが、(ステップ1022において)特定のインバウンド話者埋め込みが低閾値に至らないと判定した場合、サーバは、話者が認識されないことを示す、中間コンテンツサーバ又はエンドユーザデバイスのための警告又は他の命令を生成する。サーバはまた、コンテンツサーバに追加の情報を提供するように事前構成されてもよい。
【0279】
ステップ1014において、サーバは、コンテンツサーバに様々なタイプの情報を出力する。いくつかの場合には、サーバは、コンテンツサーバによって下流の演算のために要求された話者識別子と、話者プロファイルに関する任意の関連情報と、を伝送する。そのような場合には、サーバは、話者識別子を、例えば、メディアコンテンツシステムのコンピューティングデバイス、エンドユーザデバイス、又は特定の下流の演算を実行する任意の他のデバイスに伝送する。いくつかの実装態様では、サーバはまた、データベースレコードに記憶された話者プロファイルから追加の話者プロファイル情報を伝送する。代替的に、サーバは、特定の話者がサーバによって認識されなかったことを示す警告又は他の命令をコンテンツサーバに伝送する。
【0280】
追加の例示的な実施形態
図11A~
図11Bは、音声処理機械学習演算を用いるシステム1100の構成要素を示し、この場合に、機械学習モデルは、車両又は他のエッジデバイス(例えば、車、ホームアシスタントデバイス、スマート家電)によって実装されている。
【0281】
車両は、発話を包含する音声波(audio wave)1110をキャプチャし、かつ、音声波1110を音声処理演算のための音声信号に変換するように構成されたマイクロフォン1108を備える。車両は、本明細書に記載される様々な音声処理演算を実行するように構成されたコンピューティングハードウェア及びソフトウェア構成要素(分析コンピュータ1102及び話者データベース1104として示される)を備える。システム1100に記載される構成要素及び動作は、
図1~
図2の構成要素及び動作と同様である。
図1のシステム100は、機械学習音声処理演算の多くを分析サーバ102上に配置したが、コンテンツシステム110は、いくつかの実施形態では、特定の演算を実行し得る。
図2のシステム200は、機械学習音声処理演算の多くをエンドユーザデバイス214上に配置したが、エンドユーザデバイス214は、様々な演算及びデータベース情報について、依然として分析システム201又はコンテンツシステム210に依拠し得る。ただし、
図11の車両ベースのシステム1100は、外部システムインフラストラクチャのデバイスへの依拠が比較的少ない状態で、車両ベースのシステム1100内の音声処理演算及びデータの多くをカプセル化しようとする。
【0282】
分析コンピュータ1102は、マイクロフォン1108から入力データ信号を受信し、VAD及びASRなどの様々な前処理演算を実行して、発話を識別する。分析コンピュータ1102及び任意の数の機械学習モデルを適用して、特徴を抽出し、埋め込みを抽出し、埋め込みを話者データベース1104に記憶された声紋と比較する。分析コンピュータ1102は、インフォテインメントシステム、エンジン、ドアロック、及び車両の他の構成要素などの、車両の様々なエレクトロニクス構成要素に結合されている。分析コンピュータ1102は、ドライバ又は乗員から、車両の様々なオプションをアクティブ化又は調整するための音声命令(voice instruction)を受信する。
【0283】
いくつかの実施形態では、分析コンピュータ1102は、車両の機能に対するペアレンタル制御演算又は他の制限を用いる。話者データベース1104に記憶された話者プロファイルは、分析コンピュータ1102が特定の演算を実行することを禁止する特定の機能制限を含む。例えば、分析コンピュータ1102は、埋め込み抽出モデルを実行することによって、又は代替的に、声を使用して年齢を判定するための既知の機械学習モデルを実行することによって、子供話者プロファイルのために登録された話者埋め込みを検出し得る。次いで、分析コンピュータ1102は、分析コンピュータ1102が、話者データベース1104中の承認されたユーザの声紋と一致する埋め込みを検出するまで、スタータ又は点火の作動を禁止し、それによって、エンジンが作動することを防止する。この特徴は、ペアレンタル制御だけでなく、盗難抑止にも適合されており、それによって、分析コンピュータ1102は、分析コンピュータ1102が、登録された話者ユーザから、インバウンド埋め込みを包含するインバウンド音声信号を肯定的に検出するまで、エンジンが作動することを防止する。
【0284】
分析コンピュータ1102は、ドライバ(例えば、第1の親)、セカンダリドライバ(例えば、第2のドライバ)、及び乗員(例えば、子供)を能動的又は受動的に登録する。一例として、ドライバが車両を最初に購入したとき、インフォテインメントデバイスを介して表示されるGUIは、ドライバに特定のフレーズを話すように要求するプロンプトを示し、それによって、マイクロフォン1108によってキャプチャされた登録発話をサブミットする。次いで、分析コンピュータ1102は、本明細書に記載される様々なプロセスを実行して、ドライバの声紋を生成し、分析コンピュータ1102は、声紋を話者データベース1104中のドライバの話者プロファイルに記憶する。ドライバはまた、GUIを介して、例えば、着座位置、ラジオ局、チャイルドロックの有効化、セキュリティプリファレンス、ヘッドライト遅延などに関連する名前及び特定のプリファレンスなどの、ドライバに関する情報を入力する。この話者情報は、ドライバの話者プロファイルに記憶される。ドライバはまた、GUIを介して、システム1100を動作させることが期待される話者の数(例えば、乗車した)を入力してもよい。分析コンピュータ1102は、期待される話者の数に従って、クラスタ及び声紋を生成する。分析コンピュータ1102は、期待される話者の数に従って話者プロファイルを生成し得るか、又は分析コンピュータ1102は、本明細書に記載される能動的登録演算、受動的登録演算、及び/又は継続的登録演算を実行することによって、話者プロファイルを生成する。例えば、分析コンピュータ1102は、継続的、受動的登録動作を実行して、子供の話者プロファイルの声紋を生成する。ドライバ又は子供は、インフォテインメントシステムのGUIを介して、子供に関する様々なタイプの話者情報を入力し得る。この話者情報は、例えば、本明細書で言及されるペアレンタル制御としてのドライバ許可を含み得る。
【0285】
いくつかの実施形態では、分析コンピュータ1102は、静的登録構成を用い、それによって、分析コンピュータ1102は、未知の話者埋め込みを新しい登録として受け入れない。加えて、分析コンピュータ1102は、認識されない声紋の認証を拒否し、かつ、話者が車両の特定の機能にアクセスすることを許可しない認証機能を実行する。例えば、分析コンピュータ1102は、車両及び車両動作への不正アクセスを制限するために、特装車両(例えば、警察車両、配送トラック)に使用され得る。
【0286】
分析コンピュータ1102は、分析コンピュータ1102が話者声紋に従って分析データベース1104に記憶する話者プロファイル、及び話者情報を表す様々なタイプのデータを生成するための継続的登録演算を実行する。話者情報の非限定的な例としては、とりわけ、点火をオンするか又は作動させること、ドアを開くこと(例えば、チャイルドロック)などの、車両の様々なコンピュータベースの特徴に対する動作許可を挙げることができる。一例として、ドライバ(例えば、親)は、インフォテインメントシステムのGUIを介して、話者プロファイルの話者識別子及び子供の声紋に関連付けられた子供話者プロファイル及び子供の名前の様々な許可を示す。分析コンピュータ1102が新しい話者(子供)の新しい声紋を識別すると、インフォテインメントシステムは、分析コンピュータ1102が子供の新しい声紋を識別及び生成したことをドライバ(又は他の既知の登録された話者)(例えば、親)に示すGUIプロンプトを生成する。親は、どの特定の話者プロファイル(又は話者識別子)が子供の新しい声紋に関連付けられているかを確認する1つ以上の入力を入力し得る。次いで、分析コンピュータ1102は、新しい声紋を分析データベース1104中の子供の話者プロファイルに記憶する。子供は、GUIを介して、座席のプリファレンス又は気候のプリファレンスのためのプリファレンス構成などの、様々なタイプの話者情報を話者プロファイルに入力し得る。子供を登録した後、分析コンピュータ1102は、マイクロフォン1108によって受信された発話に従って、子供が車両に存在するときを受動的に識別する。次いで、分析コンピュータ1102は、インフォテインメントシステム又は関連制御システムに、子供の話者プロファイル中のプリファレンスデータに従って機能する(例えば、着座位置を変更する)ように命令する。
【0287】
一実施形態では、コンピュータ実装方法は、コンピュータによって、複数のインバウンド話者の複数の発話を含むインバウンド音声信号を受信することと、コンピュータによって、インバウンド音声信号に機械学習アーキテクチャを適用して、複数のインバウンド話者に対応する複数のインバウンド埋め込みを抽出することと、複数のインバウンド話者の各インバウンド話者について、コンピュータによって、インバウンド話者のインバウンド埋め込みに基づいて、1つ以上の類似度スコアを生成することであって、インバウンド話者の各類似度スコアは、インバウンド埋め込みと、話者プロファイルデータベースに記憶された1つ以上の声紋と、の間の距離を示す、生成することと、コンピュータによって、1つ以上の声紋からインバウンド話者の最も近い声紋を識別することであって、最も近い声紋は、インバウンド話者について生成された1つ以上の類似度スコアの最大類似度スコアに対応する、識別することと、1つ以上の類似度スコア閾値を充足する各最大類似度スコアについて、コンピュータによって、1つ以上の類似度スコア閾値を充足する最大類似度スコアを有するインバウンド話者のインバウンド埋め込みを含むように、話者プロファイルデータベースを更新することと、を含む。
【0288】
方法は、コンピュータによって、インバウンド音声信号を伴って受信された加入者識別子に基づいて、話者プロファイルデータベースに記憶された1つ以上の声紋を識別することを更に含んでもよい。
【0289】
方法は、コンピュータによって、インバウンド話者埋め込みの最大類似度スコアが1つ以上の類似度スコアを充足すると判定することと、コンピュータによって、インバウンド話者の最も近い声紋を包含する話者データベース中の話者プロファイルを識別することであって、話者プロファイルは話者識別子を含む、識別することと、を更に含んでもよい。
【0290】
方法は、コンピュータによって、インバウンド話者の最大類似度スコアが、第1の類似度閾値を充足し、かつ、第2の類似度閾値に至らないと判定することであって、第1の類似度閾値は、第2の類似度閾値よりも比較的低い、判定することと、コンピュータによって、インバウンド話者のインバウンド埋め込みを含むように、話者データベースに記憶された弱い埋め込みのリストを更新することと、を更に含んでもよい。
【0291】
方法は、コンピュータによって、加入者識別子に関連付けられた話者データベース中の1つ以上の話者プロファイルに対する再クラスタリング演算を実行することと、コンピュータによって、再クラスタリング演算に基づいて、弱い埋め込みのリストのインバウンド埋め込みの最大類似度スコアを更新することと、弱い埋め込みのリストのインバウンド埋め込みの最大類似度スコアが1つ以上の類似度スコア閾値を充足すると判定することに応答して、コンピュータによって、1つ以上の類似度スコア閾値を充足する最大類似度スコアを有するインバウンド話者のインバウンド埋め込みを含むように、話者プロファイルデータベースを更新することと、を更に含んでもよい。
【0292】
方法は、コンピュータによって、加入者識別子の再クラスタリング演算を実行するためのトリガ条件を検出することと、コンピュータによって、加入者識別子に関連付けられた1つ以上の話者プロファイルの複数の声紋に対する階層クラスタリング演算を実行することと、を更に含んでもよい。
【0293】
方法は、コンピュータによって、既存の話者プロファイルからの新しい声紋クラスタに関連付けられた話者識別子を更新することを更に含んでもよく、新しい声紋クラスタは、加入者識別子に関連付けられた1つ以上の話者プロファイルに階層クラスタリング演算を適用することによって生成される。
【0294】
方法は、コンピュータによって、仲介サーバを介してエンドユーザデバイスからインバウンド音声信号を受信することと、コンピュータによって、1つ以上の類似度スコア閾値を充足する最大類似度スコアを有する各インバウンド話者に関連付けられた話者識別子を伝送することと、を更に含んでもよい。
【0295】
方法は、コンピュータによって、複数のインバウンド話者の複数の発話を含むインバウンド音声信号を受信することを更に含んでもよい。
【0296】
方法は、コンピュータによって、1つ以上の特徴に機械学習アーキテクチャを適用して、1つ以上の音声イベントを識別して環境設定を検出することと、コンピュータによって、環境設定のインジケータと、1つ以上の類似度スコア閾値を充足する最大類似度スコアを有する各インバウンド話者に関連付けられた各話者識別子と、を仲介サーバに伝送することと、を更に含んでもよい。
【0297】
方法は、1つ以上の類似度スコア閾値に至らない各最大類似度スコアについて、コンピュータによって、インバウンド埋め込みを含む、加入者識別子に関連付けられた新しい話者プロファイルを生成することと、コンピュータによって、インバウンド話者の新しい話者プロファイル及びインバウンド埋め込みを含むように、話者プロファイルデータベースを更新することと、を更に含んでもよい。
【0298】
一実施形態では、システムは、話者プロファイルを包含するデータレコードを記憶するように構成された非一時的機械可読記憶媒体を備える話者データベースと、プロセッサを備えるコンピュータと、を備え、該プロセッサは、複数のインバウンド話者の複数の発話を含むインバウンド音声信号を受信することと、インバウンド音声信号に機械学習アーキテクチャを適用して、複数のインバウンド話者に対応する複数のインバウンド埋め込みを抽出することと、複数のインバウンド話者の各インバウンド話者について、インバウンド話者のインバウンド埋め込みに基づいて1つ以上の類似度スコアを生成することであって、インバウンド話者の各類似度スコアは、インバウンド埋め込みと、話者プロファイルデータベースに記憶された1つ以上の声紋と、の間の距離を示す、生成することと、1つ以上の声紋からインバウンド話者の最も近い声紋を識別することであって、最も近い声紋は、インバウンド話者について生成された1つ以上の類似度スコアの最大類似度スコアに対応する、識別することと、1つ以上の類似度スコア閾値を充足する各最大類似度スコアについて、1つ以上の類似度スコア閾値を充足する最大類似度スコアを有するインバウンド話者のインバウンド埋め込みを含むように、話者プロファイルデータベースを更新することと、を行うように構成されている。
【0299】
コンピュータは、インバウンド音声信号を伴って受信された加入者識別子に基づいて、話者プロファイルデータベースに記憶された1つ以上の声紋を識別するように構成され得る。
【0300】
コンピュータは、インバウンド話者埋め込みの最大類似度スコアが1つ以上の類似度スコアを充足すると判定し、かつ、インバウンド話者の最も近い声紋を包含する話者データベース中の話者プロファイルを識別するように構成され得、話者プロファイルは、話者識別子を含む。
【0301】
コンピュータは、インバウンド話者の最大類似度スコアが第1の類似度閾値を充足し、かつ、第2の類似度閾値に至らないと判定することであって、第1の類似度閾値は、第2の類似度閾値よりも比較的低い、判定することと、インバウンド話者のインバウンド埋め込みを含むように、話者データベースに記憶された弱い埋め込みのリストを更新することと、を行うように構成され得る。
【0302】
コンピュータは、加入者識別子に関連付けられた話者データベース中の1つ以上の話者プロファイルに対する再クラスタリング演算を実行することと、再クラスタリング演算に基づいて、弱い埋め込みのリストのインバウンド埋め込みの最大類似度スコアを更新することと、弱い埋め込みのリストのインバウンド埋め込みの最大類似度スコアが1つ以上の類似度スコア閾値を充足すると判定することに応答して、1つ以上の類似度スコア閾値を充足する最大類似度スコアを有するインバウンド話者のインバウンド埋め込みを含むように、話者プロファイルデータベースを更新することと、を行うように構成され得る。
【0303】
コンピュータは、加入者識別子の再クラスタリング演算を実行するためのトリガ条件を検出することと、加入者識別子に関連付けられた1つ以上の話者プロファイルの複数の声紋に対する階層的クラスタリング演算を実行することと、を行うように構成され得る。
【0304】
コンピュータは、既存の話者プロファイルからの新しい声紋クラスタに関連付けられた話者識別子を更新するように構成され得、新しい声紋クラスタは、加入者識別子に関連付けられた1つ以上の話者プロファイルに階層クラスタリング演算を適用することによって生成される。
【0305】
コンピュータは、仲介サーバを介してエンドユーザデバイスからインバウンド音声信号を受信することと、1つ以上の類似度スコア閾値を充足する最大類似度スコアを有する各インバウンド話者に関連付けられた話者識別子を伝送することと、を行うように構成され得る。
【0306】
コンピュータは、複数のインバウンド話者の複数の発話を含むインバウンド音声信号を受信するように構成され得る。
【0307】
コンピュータは、1つ以上の特徴に機械学習アーキテクチャを適用して、1つ以上の音声イベントを識別して環境設定を検出することと、環境設定のインジケータと、1つ以上の類似度スコア閾値を充足する最大類似度スコアを有する各インバウンド話者に関連付けられた各話者識別子と、を仲介サーバに伝送することと、を行うように構成され得る。
【0308】
コンピュータは、1つ以上の類似度スコア閾値に至らない各最大類似度スコアについて、インバウンド埋め込みを含む、加入者識別子に関連付けられた新しい話者プロファイルを生成することと、インバウンド話者の新しい話者プロファイル及びインバウンド埋め込みを含むように、話者プロファイルデータベースを更新することと、を行うように構成され得る。
【0309】
一実施形態では、コンピュータ実装方法は、コンピュータによって、コンテンツサーバを介してエンドユーザデバイスからインバウンド話者のインバウンド音声信号を受信することと、コンピュータによって、インバウンド音声信号に機械学習モデルを適用して、インバウンド話者のインバウンド埋め込みを抽出することと、コンピュータによって、インバウンド埋め込みと、話者データベース中の話者プロファイルに記憶された声紋と、の間の距離に基づいて、インバウンド埋め込みの類似度スコアを生成することであって、類似度スコアは、1つ以上の類似度スコア閾値を充足する、生成することと、コンピュータによって、話者プロファイル中の、コンテンツサーバの1つ以上のコンテンツ特性に対応する1つ以上の話者特性を識別することと、コンピュータによって、インバウンド話者に関連付けられた1つ以上の話者特性をメディアコンテンツサーバに伝送することと、を含む。
【0310】
方法は、コンピュータによって、コンテンツサーバから受信された加入者識別子に基づいて、話者プロファイルを識別することを更に含んでもよい。
【0311】
コンピュータによって受信された加入者識別子は、第1の匿名化された識別子であり得、加入者識別子は、1人以上の話者の1つ以上の話者識別子に関連付けられ得、各話者識別子は、各話者プロファイルに対応する第2の匿名化された識別子であり得る。
【0312】
1つ以上の話者特性は、年齢特性及び性別特性のうちの少なくとも1つを含み得る。
【0313】
方法は、コンピュータによって、インバウンド音声信号に第2の機械学習モデルを適用することによって、インバウンド話者の年齢特性及び性別特性のうちの少なくとも1つを判定することを更に含んでもよい。
【0314】
方法は、コンピュータによって、インバウンド話者の話者プロファイルに記憶された年齢特性に基づいて、インバウンド話者の年齢を判定することを更に含んでもよい。
【0315】
方法は、コンピュータによって、コンテンツサーバからインバウンド話者の少なくとも1つの話者特性を示す話者情報を受信することと、コンピュータによって、インバウンド話者の話者プロファイルに少なくとも1つの話者特性を記憶することと、コンピュータによって、話者プロファイルの少なくとも1つの話者特性に部分的に基づいて、話者プロファイルを識別することと、を更に含んでもよい。
【0316】
方法は、コンピュータによって、インバウンド音声信号を伴ってコンテンツサーバからインバウンド認証データを受信することと、コンピュータによって、類似度閾値を充足する類似度スコアと、話者プロファイルに記憶された期待される認証データを充足するインバウンド認証データと、に基づいて、インバウンド話者を認証することと、を更に含んでもよい。
【0317】
認証データは、エンドユーザデバイス情報、エンドユーザデバイスに関連付けられたメタデータ、話者情報、及び生体認証情報のうちの少なくとも1つを含み得る。
【0318】
方法は、コンピュータによって、インバウンド音声信号から1つ以上の特徴を抽出することと、コンピュータによって、第2の機械学習モデルを適用することによって、1つ以上の特徴に基づいて、インバウンド音声信号がスプーフィング条件を含む尤度を示すスプーフィングスコアを計算することと、を更に含んでもよい。
【0319】
方法は、コンピュータによって、メディアコンテンツデータベースの、1つ以上の話者特性に対応する1つ以上のコンテンツ特性を有する1つ以上のメディアコンテンツファイルを識別することを更に含んでもよい。
【0320】
方法は、コンピュータによって、コンテンツデータベース中の年齢制限コンテンツを、年齢制限コンテンツの1つ以上のコンテンツ特性における対応する年齢制限特性を充足する話者の1つ以上の話者特性の年齢特性に基づいて有効にすることを更に含んでもよい。
【0321】
一実施形態では、システムは、複数の話者プロファイルを記憶するように構成された非一時的機械可読記憶媒体を備える話者データベースと、プロセッサを備えるサーバと、を備え、該プロセッサは、コンテンツサーバを介してエンドユーザデバイスからインバウンド話者のインバウンド音声信号を受信することと、インバウンド音声信号に機械学習モデルを適用して、インバウンド話者のインバウンド埋め込みを抽出することと、インバウンド埋め込みと、話者データベース中の話者プロファイルに記憶された声紋と、の間の距離に基づいて、インバウンド埋め込みの類似度スコアを生成することであって、類似度スコアは、1つ以上の類似度スコア閾値を充足する、生成することと、話者プロファイル中の、コンテンツサーバの1つ以上のコンテンツ特性に対応する1つ以上の話者特性を識別することと、インバウンド話者に関連付けられた1つ以上の話者特性をメディアコンテンツサーバに伝送することと、を行うように構成されている。
【0322】
コンピュータは、コンテンツサーバから受信された加入者識別子に基づいて、話者プロファイルを識別するように更に構成されてもよい。
【0323】
コンピュータによって受信された加入者識別子は、第1の匿名化された識別子であり得、加入者識別子は、1人以上の話者の1つ以上の話者識別子に関連付けられ得、各話者識別子は、各話者プロファイルに対応する第2の匿名化された識別子であり得る。
【0324】
1つ以上の話者特性は、年齢特性及び性別特性のうちの少なくとも1つを含み得る。
【0325】
コンピュータは、インバウンド音声信号に第2の機械学習モデルを適用することによって、インバウンド話者の年齢特性及び性別特性のうちの少なくとも1つを判定するように更に構成されてもよい。
【0326】
コンピュータは、インバウンド話者の話者プロファイルに記憶された年齢特性に基づいて、インバウンド話者の年齢を判定するように更に構成されてもよい。
【0327】
コンピュータは、コンテンツサーバからインバウンド話者の少なくとも1つの話者特性を示す話者情報を受信することと、インバウンド話者の話者プロファイルに少なくとも1つの話者特性を記憶することと、話者プロファイルの少なくとも1つの話者特性に部分的に基づいて、話者プロファイルを識別することと、を行うように更に構成されてもよい。
【0328】
コンピュータは、インバウンド音声信号を伴ってコンテンツサーバからインバウンド認証データを受信することと、類似度閾値を充足する類似度スコアと、話者プロファイルに記憶された期待される認証データを充足するインバウンド認証データと、に基づいて、インバウンド話者を認証することと、を行うように更に構成されてもよい。
【0329】
認証データは、エンドユーザデバイス情報、エンドユーザデバイスに関連付けられたメタデータ、話者情報、及び生体認証情報のうちの少なくとも1つを含む、請求項20に記載のシステム。
【0330】
コンピュータは、インバウンド音声信号から1つ以上の特徴を抽出することと、第2の機械学習モデルを適用することによって、1つ以上の音響特徴に基づいて、インバウンド音声信号がスプーフィング条件を含む尤度を示すスプーフィングスコアを計算することと、を行うように更に構成されてもよい。
【0331】
コンピュータは、メディアコンテンツデータベースの、1つ以上の話者特性に対応する1つ以上のコンテンツ特性を有する1つ以上のメディアコンテンツファイルを識別するように更に構成されてもよい。
【0332】
コンピュータは、コンテンツデータベース中の年齢制限コンテンツを、年齢制限コンテンツの1つ以上のコンテンツ特性における対応する年齢制限特性を充足する話者の1つ以上の話者特性の年齢特性に基づいて有効にするように更に構成されてもよい。
【0333】
一実施形態では、コンピュータ実装方法は、コンピュータによって、話者の1つ以上の埋め込みを包含する、話者に関連付けられた話者プロファイルを取得することと、コンピュータによって、1つ以上の埋め込みの他人受入率及び1つ以上の成熟度因子に基づいて、話者の声紋の成熟度レベルを判定することと、コンピュータによって、成熟度のレベル及び1つ以上の成熟度因子に従って、話者プロファイルの1つ以上の類似度閾値を更新することと、を含む。
【0334】
方法は、話者プロファイルを取得することが、コンピュータによって、話者がメディアコンテンツシステムの新しいユーザであると判定することに応答して、話者プロファイルを生成することを更に含んでもよい。
【0335】
方法は、話者プロファイルを取得することが、コンピュータによって、インバウンド音声信号に機械学習アーキテクチャを適用することによって、話者のインバウンド埋め込みを抽出することと、コンピュータによって、インバウンド埋め込みと声紋との間の相対距離に基づいて、インバウンド埋め込みの類似度スコアを生成することと、コンピュータによって、インバウンド埋め込みの類似度スコアが話者プロファイルの1つ以上の類似度閾値の少なくとも1つの類似度閾値を充足すると判定することに応答して、話者データベースに記憶された話者プロファイルを識別することと、を更に含んでもよい。
【0336】
少なくとも1つの閾値は、低類似度閾値を含み得、1つ以上の閾値は、低類似度閾値及び高類似度閾値を含み得る。
【0337】
方法は、コンピュータによって、インバウンド埋め込みの類似度スコアが1つ以上の類似度閾値の高類似度閾値を充足すると判定することに応答して、インバウンド埋め込みに従って、話者の声紋を更新することを更に含んでもよく、コンピュータは、声紋を更新した後に声紋の成熟度のレベルを判定する。
【0338】
方法は、コンピュータによって、声紋を更新するために使用されるインバウンド埋め込みに基づいて、声紋の1つ以上の成熟度因子を更新することを更に含んでもよく、コンピュータは、1つ以上の成熟度因子を更新した後に、声紋の成熟度のレベルを判定する。
【0339】
方法は、コンピュータが、声紋の成熟度のレベルが成熟度閾値を充足するに至らないと判定することに応答して、コンピュータによって、話者に関連付けられた追加のインバウンド埋め込みを要求するプロンプトを生成することと、1つ以上の類似度閾値を充足する各追加のインバウンド埋め込みについて、コンピュータによって、追加のインバウンド埋め込みに従って声紋を更新することと、コンピュータによって、各追加のインバウンド埋め込みに基づいて、声紋の1つ以上の成熟度因子を更新することと、を更に含んでもよい。
【0340】
方法は、1つ以上の類似度閾値を更新することが含むことと、コンピュータによって、声紋の成熟度のレベルが成熟度閾値を充足すると判定することに応答して、話者プロファイルの1つ以上の閾値を増加させることと、を更に含んでもよい。
【0341】
1つ以上の成熟度因子は、話者の埋め込みの数、1つ以上の埋め込みにおいて生じる正味の発語の持続時間、及び1つ以上の埋め込みからの音声の品質、のうちの少なくとも1つであり得る。
【0342】
方法は、コンピュータによって、管理コンピュータから受信された構成入力に基づいて、他人受入率を判定することを更に含んでもよい。
【0343】
一実施形態では、システムは、複数の話者プロファイルを記憶するように構成された非一時的機械可読媒体を備える話者プロファイルデータベースと、プロセッサを備えるコンピュータと、を備え、該プロセッサは、話者の1つ以上の埋め込みを包含する、話者に関連付けられた話者プロファイルを取得することと、1つ以上の埋め込みの他人受入率及び1つ以上の成熟度因子に基づいて、話者の声紋の成熟度のレベルを判定することと、成熟度のレベル及び1つ以上の成熟度因子に従って、話者プロファイルの1つ以上の類似度閾値を更新することと、を行うように構成されている。
【0344】
コンピュータは、話者プロファイルを取得するために、話者がメディアコンテンツシステムの新しいユーザであると判定することに応答して、話者プロファイルを生成するように更に構成されてもよい。
【0345】
コンピュータは、話者プロファイルを取得するために、インバウンド音声信号に機械学習アーキテクチャを適用することによって、話者のインバウンド埋め込みを抽出することと、インバウンド埋め込みと声紋との間の相対距離に基づいて、インバウンド埋め込みの類似度スコアを生成することと、インバウンド埋め込みの類似度スコアが話者プロファイルの1つ以上の類似度閾値のうちの少なくとも1つの類似度閾値を充足すると判定することに応答して、話者データベースに記憶された話者プロファイルを識別することと、を行うように更に構成されてもよい。
【0346】
少なくとも1つの閾値は、低類似度閾値を含み得、1つ以上の閾値は、低類似度閾値及び高類似度閾値を含み得る。
【0347】
コンピュータは、インバウンド埋め込みの類似度スコアが1つ以上の類似度閾値の高類似度閾値を充足すると判定することに応答して、インバウンド埋め込みに従って、話者の声紋を更新するように更に構成されてもよく、コンピュータは、声紋を更新した後に声紋の成熟度のレベルを判定する。
【0348】
コンピュータは、声紋を更新するために使用されるインバウンド埋め込みに基づいて、声紋の1つ以上の成熟度因子を更新するように更に構成されてもよく、コンピュータは、1つ以上の成熟度因子を更新した後に、声紋の成熟度のレベルを判定する。
【0349】
コンピュータは、声紋の成熟度のレベルが成熟度閾値を充足するに至らないと判定することに応答して、話者に関連付けられた追加のインバウンド埋め込みを要求するプロンプトを生成することと、1つ以上の類似度閾値を充足する各追加のインバウンド埋め込みについて、追加のインバウンド埋め込みに従って声紋を更新することと、各追加のインバウンド埋め込みに基づいて、声紋の1つ以上の成熟度因子を更新することと、を行うように更に構成されてもよい。
【0350】
コンピュータは、デバイスの1つ以上の類似度閾値を更新するために、声紋の成熟度のレベルが成熟度閾値を充足すると判定することに応答して、話者プロファイルの1つ以上の閾値を増加させるように更に構成されてもよい。
【0351】
1つ以上の成熟度因子は、話者の埋め込みの数、1つ以上の埋め込みにおいて生じる正味の発語の持続時間、及び1つ以上の埋め込みからの音声の品質、のうちの少なくとも1つを含み得る。
【0352】
コンピュータは、管理コンピュータから受信された構成入力に基づいて、他人受入率を判定するように更に構成されてもよい。
【0353】
一実施形態では、デバイス実装方法は、デバイスによって、インバウンド話者の発話を包含するインバウンド音声信号を受信することと、デバイスによって、インバウンド音声信号に埋め込み抽出モデルを適用して、インバウンド話者のインバウンド埋め込みを抽出することと、デバイスによって、インバウンド埋め込みと非一時的機械可読媒体に記憶された1つ以上の声紋との間の相対距離上で、インバウンド埋め込みの1つ以上の類似度スコアを生成することと、コンピュータによって、声紋を使用して生成された類似度スコアが類似度閾値を充足すると判定することに応答して、インバウンド話者の声紋に関連付けられた話者識別子を識別することと、デバイスによって、話者識別子をコンテンツサーバに伝送することと、を含む。
【0354】
デバイスは、スマートTV、セットトップボックス、エッジデバイス、リモート制御、及びモバイル通信デバイス、のうちの少なくとも1つを含み得る。
【0355】
方法は、デバイスによってコンテンツサーバから、デバイスに結合されたディスプレイデバイスを介して表示するためのメディアコンテンツを受信することを更に含んでもよい。
【0356】
デバイスは、話者識別子を伴ってコンテンツサーバにメディアコンテンツに対する要求を伝送し得る。
【0357】
方法は、デバイスによって、インバウンド音声信号から1つ以上の特徴を抽出することを更に含んでもよく、特徴は、少なくとも1つの音声特徴(audio feature)を含む1つ以上のタイプの生体認証特徴を有する。
【0358】
方法は、デバイスのマイクロフォンによって、複数のインバウンド話者から複数の発話を包含する音声波を受信することと、デバイスによって、音声波を複数の発話を包含するインバウンド音声信号に変換することと、を更に含んでもよい。
【0359】
インバウンド音声信号は、複数のインバウンド話者の複数の発話を包含し得、デバイスは、インバウンド音声信号に埋め込み抽出モデルを適用して、複数のインバウンド話者に対応する複数のインバウンド埋め込みの複数の類似度スコアを生成し得、この場合に、複数の類似度スコアは、デバイスの非一時的機械可読記憶装置に記憶された複数の声紋に従って生成され得る。
【0360】
方法は、デバイスが、複数の埋め込みのうちの第2のインバウンド埋め込みの複数の類似度スコアのうちの第2の類似度スコアが少なくとも1つの類似度閾値を充足するに至らないと判定することに応答して、デバイスによって、第2のインバウンド埋め込みを包含する第2のインバウンド話者の第2の話者プロファイルと、非一時的機械可読記憶装置内の第2の話者識別子を生成することを更に含んでもよい。
【0361】
方法は、デバイスによって、インバウンド話者の1つ以上の登録音声信号を要求するインバウンド話者への表示のための1つ以上の登録プロンプトを生成することと、デバイスによって、1つ以上の登録音声信号から抽出された1つ以上の登録埋め込みに基づいて、インバウンド話者の声紋を生成することと、デバイスが、声紋の成熟度のレベルが成熟度閾値を充足するに至らないと判定することに応答して、デバイスによって、第2の登録音声信号を要求する第2の登録プロンプトを生成することと、デバイスによって、第2の登録音声信号から抽出された第2の登録埋め込みに基づいて、インバウンド話者の声紋を更新することと、を更に含んでもよい。
【0362】
方法は、デバイスによって、インバウンド音声信号から1つ以上の音響特徴を抽出することと、デバイスによって、第2の機械学習モデルを適用することによって、1つ以上の音響特徴に基づいて、インバウンド音声信号がスプーフィング条件を含む尤度を示すスプーフィングスコアを計算することと、を更に含んでもよい。
【0363】
一実施形態では、システムは、話者プロファイルを包含するデータレコードを記憶するように構成された非一時的機械可読記憶媒体を備える話者データベースと、プロセッサを備えるデバイスと、を備え、該プロセッサは、インバウンド話者の発話を包含するインバウンド音声信号を受信することと、インバウンド音声信号に埋め込み抽出モデルを適用して、インバウンド話者のインバウンド埋め込みを抽出することと、インバウンド埋め込みと話者データベースに記憶された1つ以上の声紋との間の相対距離上で、インバウンド埋め込みの1つ以上の類似度スコアを生成することと、声紋を使用して生成された類似度スコアが類似度閾値を充足すると判定したことに応答して、コンピュータによって、インバウンド話者の声紋に関連付けられた話者識別子を識別することと、話者識別子をコンテンツサーバに送信することと、を行うように構成される。
【0364】
デバイスは、スマートTV、セットトップボックス、エッジデバイス、リモート制御、及びモバイル通信デバイス、のうちの少なくとも1つであり得る。
【0365】
デバイスは、デバイスに結合されたディスプレイデバイスを介して表示するために、コンテンツサーバからメディアコンテンツを受信するように更に構成されてもよい。
【0366】
デバイスは、話者識別子を伴ってコンテンツサーバにメディアコンテンツに対する要求を伝送するように更に構成されてもよい。
【0367】
デバイスは、インバウンド音声信号から1つ以上の特徴を抽出するように更に構成されてもよく、特徴は、少なくとも1つの音声特徴を含む1つ以上のタイプの生体認証特徴を有する。
【0368】
システム又はデバイスは、複数のインバウンド話者から複数の発話を包含する音声波を受信するように構成されたマイクロフォンを更に備えてもよい。デバイスは、音声波を、複数の発話を包含するインバウンド音声信号に変換するように更に構成されてもよい。
【0369】
インバウンド音声信号は、複数のインバウンド話者の複数の発話を包含し得る。デバイスは、インバウンド音声信号に埋め込み抽出モデルを適用して、複数のインバウンド話者に対応する複数のインバウンド埋め込みの複数の類似度スコアを生成するように構成されてもよく、デバイスは、話者データベースに記憶された複数の声紋に従って複数の類似度スコアを生成する。
【0370】
デバイスは、複数の埋め込みのうちの第2のインバウンド埋め込みの複数の類似度スコアのうちの第2の類似度スコアが少なくとも1つの類似度閾値を充足するに至らないと判定することと、第2のインバウンド埋め込みを包含する第2のインバウンド話者の第2の話者プロファイルと、非一時的機械可読記憶装置内の第2の話者識別子と、を生成することと、を行うように更に構成されてもよい。
【0371】
デバイスは、インバウンド話者の1つ以上の登録音声信号を要求するインバウンド話者への表示のための1つ以上の登録プロンプトを生成することと、1つ以上の登録音声信号から抽出された1つ以上の登録埋め込みに基づいて、インバウンド話者の声紋を生成することと、デバイスが、声紋の成熟度のレベルが成熟度閾値を充足するに至らないと判定することに応答して、第2の登録音声信号を要求する第2の登録プロンプトを生成することと、第2の登録音声信号から抽出された第2の登録埋め込みに基づいて、インバウンド話者の声紋を更新することと、を行うように更に構成されてもよい。
【0372】
デバイスは、インバウンド音声信号から1つ以上の音響特徴を抽出することと、第2の機械学習モデルを適用することによって、1つ以上の音響特徴に基づいて、インバウンド音声信号がスプーフィング条件を含む尤度を示すスプーフィングスコアを計算することと、を行うように更に構成されてもよい。
【0373】
本明細書に開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、又は両方の組み合わせとして実装され得る。ハードウェア及びソフトウェアのこの交換性を明確に例示するために、様々な例示的な構成要素、ブロック、モジュール、回路、及びステップは、それらの機能性に関して概して上記で説明されている。そのような機能がハードウェア又はソフトウェアとして実装されるかどうかは、システム全体に課される特定のアプリケーション及び設計の制約に依存する。当業者は、各特定のアプリケーションについて様々な方法で、記載された機能性を実装し得るが、そのような実装態様の決定は、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
【0374】
コンピュータソフトウェアに実装される実施形態は、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はそれらの任意の組み合わせにおいて実装され得る。コードセグメント又は機械実行可能命令は、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、又は命令、データ構造、若しくはプログラムステートメントの任意の組み合わせを表し得る。コードセグメントは、情報、データ、引数、パラメータ、又はメモリコンテンツを受け渡す及び/又は受信することによって、別のコードセグメント又はハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク伝送などを含む、任意の好適な手段を介して渡され得るか、転送され得るか、又は送信され得る。
【0375】
これらのシステム及び方法を実装するために使用される実際のソフトウェアコード又は専用制御ハードウェアは、本発明を限定するものではない。したがって、システム及び方法の動作及び挙動は、ソフトウェア及び制御ハードウェアが、本明細書の記載に基づいてシステム及び方法を実装するように設計され得ることが理解される特定のソフトウェアコードを参照することなく記載された。
【0376】
ソフトウェアに実装される場合、関数は、非一時的コンピュータ可読又はプロセッサ可読記憶媒体上に1つ以上の命令又はコードとして記憶され得る。本明細書に開示される方法又はアルゴリズムのステップは、コンピュータ可読又はプロセッサ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュールに具現化され得る。非一時的コンピュータ可読媒体又はプロセッサ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にするコンピュータ記憶媒体及び有形記憶媒体の両方を含む。非一時的プロセッサ可読記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。例として、限定されないが、そのような非一時的プロセッサ可読媒体は、RAM、ROM、EEPROM、CD-ROM又は他の光ディスク記憶装置、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は所望のプログラムコードを命令又はデータ構造の形態で記憶するために使用され得、コンピュータ又はプロセッサによってアクセスされ得る任意の他の有形記憶媒体を含み得る。本明細書で使用される、ディスク(disk)及びディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、及びブルーレイディスクを含み、ここで、ディスク(disk)は、通常、磁気的にデータを再生する一方、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。更に、方法又はアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る非一時的プロセッサ可読媒体及び/又はコンピュータ可読媒体上のコード及び/又は命令の1つ又は任意の組み合わせ若しくはセットとして存在し得る。
【0377】
開示される実施形態の先行する説明は、当業者が本発明を作製又は使用することを可能にするために提供される。これらの実施形態に対する様々な修正態様は、当業者には容易に明らかであろうし、本明細書で定義される包括的な原理は、本発明の趣旨又は範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書に示される実施形態に限定されることを意図するものではなく、以下の特許請求の範囲及び本明細書に開示される原理及び新規な特徴と一貫する最も広い範囲を与えられるものである。
【0378】
様々な態様及び実施形態が開示されているが、他の態様及び実施形態が企図される。開示した様々な態様及び実施形態は、例示の目的のためのものであり、限定することを意図するものではなく、真の範囲及び趣旨が、以下の特許請求の範囲によって示される。
【国際調査報告】