(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-17
(54)【発明の名称】エピソード的コンテンツをサポートする話者ダイアライゼーション
(51)【国際特許分類】
G10L 17/18 20130101AFI20240410BHJP
G10L 17/00 20130101ALI20240410BHJP
G10L 17/02 20130101ALI20240410BHJP
【FI】
G10L17/18
G10L17/00 200C
G10L17/02
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023565384
(86)(22)【出願日】2022-04-27
(85)【翻訳文提出日】2023-10-24
(86)【国際出願番号】 US2022026552
(87)【国際公開番号】W WO2022232284
(87)【国際公開日】2022-11-03
(32)【優先日】2021-04-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ファネッリ,アンドレア
(72)【発明者】
【氏名】ユイン,ミーンチーン
(72)【発明者】
【氏名】パンキー,サテジ スレシュ
(72)【発明者】
【氏名】エンゲル,ニコラス ローレンス
(72)【発明者】
【氏名】クラム,ポピー アン キャリー
(57)【要約】
エピソード的コンテンツをサポートする話者ダイアライゼーションのための実施形態が開示される。ある実施形態では、方法は、一つまたは複数の発声を含むメディア・データを受領するステップと;メディア・データを複数のブロックに分割するステップと;単一の話者に関連付けられた、前記複数のブロックのうちの各ブロックのセグメントを識別するステップと;機械学習モデルに従って、識別されたセグメントについての埋め込みを抽出するステップであって、識別されたセグメントについての埋め込みの抽出は、単一の話者に関連付けられたそれぞれの連続的な発声に対応する識別されたセグメントについての抽出された埋め込みを統計的に組み合わせることを含む、ステップと;識別されたセグメントについての埋め込みをクラスターにクラスタリングするステップと;クラスタリングの結果に従って、識別されたセグメントについての埋め込みのそれぞれに話者ラベルを割り当てるステップとを含む。いくつかの実施形態では、話者ラベルについての話者および話者素性を識別するために声紋が使用される。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを用いて、一つまたは複数の発声を含むメディア・データを受領するステップと;
前記少なくとも1つのプロセッサを用いて、前記メディア・データを複数のブロックに分割するステップと;
前記少なくとも1つのプロセッサを用いて、単一の話者に関連付けられた、前記複数のブロックのうちの各ブロックのセグメントを識別するステップと;
前記少なくとも1つのプロセッサを用いて、機械学習モデルに従って、識別されたセグメントについての埋め込みを抽出するステップであって、識別されたセグメントについての埋め込みの抽出は、単一の話者に関連付けられたそれぞれの連続的な発声に対応する識別されたセグメントについての抽出された埋め込みを統計的に組み合わせることを含む、ステップと;
前記少なくとも1つのプロセッサを用いて、前記識別されたセグメントについての埋め込みをクラスターにクラスタリングするステップと;
前記少なくとも1つのプロセッサを用いて、前記クラスタリングの結果に従って、前記識別されたセグメントについての埋め込みの少なくとも1つに話者ラベルを割り当てるステップと;
前記少なくとも1つのプロセッサを用いて、前記話者ラベルに部分的に基づいて、前記メディア・データに関連付けられた話者ダイアライゼーション情報を出力するステップとを含む、
方法。
【請求項2】
前記メディア・データを複数のブロックに分割する前に、前記少なくとも1つのプロセッサを用いて、前記メディア・データに対する空間変換を実行するステップをさらに含む、
請求項1に記載の方法。
【請求項3】
前記メディア・データに対して空間変換を実行することは:
前記メディア・データの第1の複数のチャネルを、該第1の複数のチャネルとは異なる第2の複数のチャネルに変換することを含み;
前記メディア・データを複数のブロックに分割することは:前記第2の複数のチャネルのそれぞれを独立に、ブロックに分割することを含む、
請求項2に記載の方法。
【請求項4】
前記メディア・データが第1のメディア・タイプに対応するという判定に応じて、前記機械学習モデルは、トレーニング・データの第1のセットから生成され;
前記第1のメディア・データが前記第1のメディア・タイプとは異なる第2のメディア・タイプに対応するという判定に応じて、前記機械学習モデルは、トレーニング・データの前記第1のセットとは異なるトレーニング・データの第2のセットから生成される、
請求項1ないし3のうちいずれか一項に記載の方法。
【請求項5】
クラスタリングの前に、最適化基準が満たされていると判定することに応じて、前記識別されたセグメントについての抽出された埋め込みをさらに最適化するステップをさらに含む、
請求項1ないし4のうちいずれか一項に記載の方法。
【請求項6】
クラスタリングの前に、最適化基準が満たされないという判定に応じて、前記識別されたセグメントについての抽出された埋め込みをさらに最適化することを見送ることをさらに含む、
請求項5に記載の方法。
【請求項7】
識別されたセグメントについての抽出された埋め込みを最適化することは、抽出された埋め込みの次元削減または抽出された埋め込みの埋め込み最適化のうちの少なくとも1つを実行することを含む、請求項5または6に記載の方法。
【請求項8】
埋め込み最適化は:
識別されたセグメントについての抽出された埋め込みの間の分離可能性を最大化するために前記機械学習モデルをトレーニングし;
識別されたセグメントについての抽出された埋め込みの間の分離可能性を最大化するための前記機械学習モデルを、識別されたセグメントについての抽出された埋め込みに適用することによって、前記抽出された埋め込みを更新することを含む、
請求項7に記載の方法。
【請求項9】
前記クラスタリングは:
それぞれの識別されたセグメントについて、
そのセグメントのそれぞれの長さを決定し;
そのセグメントの前記それぞれの長さが閾値長よりも大きいという判定に応じて、第1のクラスタリング・プロセスに従って、前記それぞれの識別されたセグメントに関連付けられた埋め込みを割り当て;
そのセグメントの前記それぞれの長さが閾値長よりも大きくないという判定に応じて、前記第1のクラスタリング・プロセスとは異なる第2のクラスタリング・プロセスに従って、前記それぞれの識別されたセグメントに関連付けられた埋め込みを割り当てることを含む、
請求項1ないし8のうちいずれか一項に記載の方法。
【請求項10】
前記メディア・データに関連付けられた異なる話者の数の決定に部分的に基づいて、複数のクラスタリング・プロセスから第1のクラスタリング・プロセスを選択するステップをさらに含む、
請求項1ないし9のうちいずれか一項に記載の方法。
【請求項11】
前記第1のクラスタリング・プロセスは、スペクトル・クラスタリングを含む、請求項1ないし10のうちいずれか一項に記載の方法。
【請求項12】
前記メディア・データは、複数の関連ファイルを含む、請求項1ないし10のうちいずれか一項に記載の方法。
【請求項13】
前記関連ファイルのうちの複数を前記メディア・データとして選択するステップをさらに含み、前記複数の関連ファイルを選択することは:
前記複数の関連ファイルに関連するコンテンツ類似性;
前記複数の関連ファイルに関連するメタデータ類似性;または
ファイルの特定のセットを処理する要求に対応する受領されたデータ
のうちの少なくとも1つに部分的に基づく、
請求項12に記載の方法。
【請求項14】
前記機械学習モデルは、前記複数の関連オーディオ・ファイルのそれぞれによって共有される一つまたは複数の属性に従って、複数の機械学習モデルから選択される、請求項12または13に記載の方法。
【請求項15】
声紋埋め込みと各クラスターの基準点との間の声紋距離メトリックを計算するステップと;
各基準点からそのクラスターに属する各埋め込みまでの距離を計算するステップと;
各クラスターについて、そのクラスターについての基準点からの埋め込みの距離の確率分布を計算するステップと;
各確率分布について、前記声紋距離がその確率分布に属する確率を計算するステップと;
前記確率をランク付けするステップと;
前記ランク付けに基づいて前記声紋を前記クラスターのうちの1つに割り当てるステップと;
前記声紋に関連付けられた話者素性を前記話者ダイアライゼーション情報と組み合わせるステップとをさらに含む、
請求項1に記載の方法。
【請求項16】
前記確率分布は、折り畳みガウス分布としてモデル化される、請求項15に記載の方法。
【請求項17】
各確率を信頼度閾値と比較し;
前記比較に基づいて、確率に関連付けられた話者が話したかどうかを判定することをさらに含む、
請求項15に記載の方法。
【請求項18】
割り当てられた話者ラベルに部分的に基づいて、前記メディア・データに関連付けられた一つまたは複数の分析ファイルまたは視覚化を生成することをさらに含む、
請求項1ないし17のうちいずれか一項に記載の方法。
【請求項19】
少なくとも1つのプロセッサを用いて、一つまたは複数の発声を含むメディア・データを受領するステップと;
前記少なくとも1つのプロセッサを用いて、前記メディア・データを複数のブロックに分割するステップと;
前記少なくとも1つのプロセッサを用いて、単一の話者に関連付けられた、前記複数のブロックのうちの各ブロックのセグメントを識別するステップと;
前記少なくとも1つのプロセッサを用いて、機械学習モデルに従って、識別されたセグメントについての埋め込みを抽出するステップと;
前記少なくとも1つのプロセッサを用いて、前記識別されたセグメントについての埋め込みをクラスターにクラスタリングするステップと;
前記少なくとも1つのプロセッサを用いて、前記クラスタリングの結果に従って、前記識別されたセグメントについての埋め込みの少なくとも1つに話者ラベルを割り当てるステップと;
前記少なくとも1つのプロセッサを用いて、前記話者ラベルに部分的に基づいて、前記メディア・データに関連付けられた話者ダイアライゼーション情報を出力するステップとを含む、
方法。
【請求項20】
前記メディア・データを複数のブロックに分割する前に、前記少なくとも1つのプロセッサを用いて、前記メディア・データに対する空間変換を実行するステップをさらに含む、
請求項19に記載の方法。
【請求項21】
前記メディア・データに対して空間変換を実行することは:
前記メディア・データの第1の複数のチャネルを、該第1の複数のチャネルとは異なる第2の複数のチャネルに変換することを含み;
前記メディア・データを複数のブロックに分割することは:前記第2の複数のチャネルのそれぞれを独立に、ブロックに分割することを含む、
請求項20に記載の方法。
【請求項22】
電子デバイスの少なくとも1つのプロセッサによる実行のための少なくとも1つのプログラムを記憶している非一時的コンピュータ可読記憶媒体であって、該少なくとも1つのプログラムは、請求項1ないし21のうちいずれか一項に記載の方法を実行するための命令を含む、記憶媒体。
【請求項23】
少なくとも1つのプロセッサと;
前記少なくとも1つのプロセッサによる実行のための少なくとも1つのプログラムを記憶している、該少なくとも1つのプロセッサに結合されたメモリとを有しており、前記少なくとも1つのプログラムは、請求項1ないし21のうちいずれか一項に記載の方法を実行するための命令を含む、
システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、2021年4月30日に出願された米国仮出願第63/182,338号の優先権を主張する。
【0002】
技術分野
本開示は、概括的には、オーディオ信号処理に関し、より詳細には、話者ダイアライゼーションに関する。
【背景技術】
【0003】
話者ダイアライゼーション(speaker diarization)は、複数の個人の発話を含む入力オーディオ・ストリームを、各話者に関連付けられた均質なセグメントに分割するプロセスである。話者ダイアライゼーションは、記録された会話の理解、ビデオ・キャプション生成などの多くの用途で使用される。話者ダイアライゼーションは、話者の声の「フィンガープリント」または入力オーディオ・ストリーム中に存在する話者の数の先験的知識を必要としないので、話者ダイアライゼーションは、話者識別または話者分離とは異なる。さらに、話者ダイアライゼーションは典型的には重複する発話には適用されないので、話者ダイアライゼーションは音源分離とは異なる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
エピソード的コンテンツをサポートする話者ダイアライゼーションのための実施形態が開示される。
【課題を解決するための手段】
【0005】
いくつかの実施形態では、方法は:少なくとも1つのプロセッサを用いて、一つまたは複数の発声を含むメディア・データを受領するステップと;前記少なくとも1つのプロセッサを用いて、メディア・データを複数のブロックに分割するステップと;前記少なくとも1つのプロセッサを用いて、単一の話者に関連付けられた前記複数のブロックのうちの各ブロックのセグメントを識別するステップと;前記少なくとも1つのプロセッサを用いて、機械学習モデルに従って、識別されたセグメントについての埋め込みを抽出するステップであって、識別されたセグメントについての埋め込みの抽出は、単一の話者に関連付けられたそれぞれの連続的な発声に対応する識別されたセグメントについての抽出された埋め込みを統計的に組み合わせることを含む、ステップと;前記少なくとも1つのプロセッサを用いて、識別されたセグメントについての埋め込みをクラスターにクラスタリングするステップと;前記少なくとも1つのプロセッサを用いて、クラスタリングの結果に従って、識別されたセグメントについての埋め込みのそれぞれに話者ラベルを割り当てるステップと;前記少なくとも1つのプロセッサを用いて、話者ラベルに部分的に基づいて、メディア・データに関連付けられた話者ダイアライゼーション情報を出力するステップとを含む。
【0006】
いくつかの実施形態では、メディア・データを複数のブロックに分割する前に、メディア・データに対する空間変換が実行される。
【0007】
いくつかの実施形態では、メディア・データに対して空間変換を実行することは:メディア・データの第1の複数のチャネルを、第1の複数のチャネルとは異なる第2の複数のチャネルに変換することを含み;メディア・データを複数のブロックに分割することは:第2の複数のチャネルのそれぞれを独立に、ブロックに分割することを含む。
【0008】
いくつかの実施形態では、メディア・データが第1のメディア・タイプに対応するという判定に応じて、機械学習モデルは、トレーニング・データの第1のセットから生成され;第1のメディア・データが第1のメディア・タイプとは異なる第2のメディア・タイプに対応するという判定に応じて、機械学習モデルは、トレーニング・データの第1のセットとは異なるトレーニング・データの第2のセットから生成される。
【0009】
いくつかの実施形態では、クラスタリングの前に、最適化基準が満たされていると判定することに応じて、識別されたセグメントについての抽出された埋め込みがさらに最適化される。
【0010】
いくつかの実施形態では、クラスタリングの前に、最適化基準が満たされないという判定に応じて、識別されたセグメントのための抽出された埋め込みをさらに最適化することは、見送られる。
【0011】
いくつかの実施形態では、識別されたセグメントについての抽出された埋め込みを最適化することは、抽出された埋め込みの次元削減または抽出された埋め込みの埋め込み最適化のうちの少なくとも1つを実行することを含む。
【0012】
いくつかの実施形態では、埋め込み最適化は、識別されたセグメントについての抽出された埋め込みの間の分離可能性を最大化するために機械学習モデルをトレーニングし;識別されたセグメントについての抽出された埋め込みの間の分離可能性を最大化するための機械学習モデルを、識別されたセグメントについての抽出された埋め込みに適用することによって、抽出された埋め込みを更新することを含む。
【0013】
いくつかの実施形態では、クラスタリングは:それぞれの識別されたセグメントについて、そのセグメントのそれぞれの長さを決定し;そのセグメントのそれぞれの長さが閾値長よりも大きいという決定に従って、第1のクラスタリング・プロセスに従って、それぞれの識別されたセグメントに関連付けられた埋め込みを割り当て;そのセグメントのそれぞれの長さが閾値長よりも大きくないという判定に応じて、第1のクラスタリング・プロセスとは異なる第2のクラスタリング・プロセスに従って、それぞれの識別されたセグメントに関連付けられた埋め込みを割り当てることを含む。
【0014】
いくつかの実施形態では、前述の方法の任意のものは、メディア・データに関連付けられた異なる話者の数の決定に部分的に基づいて、複数のクラスタリング・プロセスから第1のクラスタリング・プロセスを選択するステップをさらに含む。
【0015】
いくつかの実施形態では、第1のクラスタリング・プロセスは、スペクトル・クラスタリングを含む。
【0016】
いくつかの実施形態では、メディア・データは、複数の関連ファイルを含む。
【0017】
いくつかの実施形態では、本方法は、前記関連ファイルのうちの複数を前記メディア・データとして選択するステップを含み、前記複数の関連ファイルを選択することは、前記複数の関連ファイルに関連するコンテンツ類似性、前記複数の関連ファイルに関連するメタデータ類似性、またはファイルの特定のセットを処理する要求に対応する受領されたデータのうちの少なくとも1つに部分的に基づく。
【0018】
いくつかの実施形態では、機械学習モデルは、前記複数の関連オーディオ・ファイルのそれぞれによって共有される一つまたは複数の属性に従って、複数の機械学習モデルから選択される。
【0019】
いくつかの実施形態では、本方法は、声紋埋め込みと各クラスターの重心との間の声紋距離メトリックを計算するステップと;各重心からそのクラスターに属する各埋め込みまでの距離を計算するステップと;各クラスターについて、そのクラスターの重心からの埋め込みの距離の確率分布を計算するステップと;各確率分布について、声紋距離がその確率分布に属する確率を計算するステップと;確率をランク付けするステップと;ランク付けに基づいて声紋をクラスターのうちの1つに割り当てるステップと;声紋に関連付けられた話者識別情報を話者ダイアライゼーション情報と組み合わせるステップとをさらに含む。
【0020】
いくつかの実施形態では、確率分布は、折り畳みガウス分布としてモデル化される。
【0021】
いくつかの実施形態では、本方法はさらに、各確率を信頼度閾値と比較し;比較に基づいて、確率に関連付けられた話者が話したかどうかを判定することを含む。
【0022】
いくつかの実施形態では、前述の方法の任意のものは、割り当てられた話者ラベルに部分的に基づいて、メディア・データに関連付けられた一つまたは複数の分析ファイルまたは視覚化を生成することをさらに含む。
【0023】
いくつかの実施形態では、非一時的コンピュータ可読記憶媒体が、電子デバイスの少なくとも1つのプロセッサによる実行のための少なくとも1つのプログラムを記憶し、該少なくとも1つのプログラムは、上述の方法のいずれかを実行するための命令を含む。
【0024】
いくつかの実施形態では、システムは、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサによる実行のための少なくとも1つのプログラムを記憶している、該少なくとも1つのプロセッサに結合されたメモリとを備え、前記少なくとも1つのプログラムは、上述の方法のいずれかを実行するための命令を含む。
【0025】
本明細書で開示される具体的な実施形態は、以下の利点のうちの少なくとも一つまたは複数を提供する:1)既存のアーキテクチャーの標準的なダイアライゼーション構造よりも改善された、話者ダイアライゼーションのための最適化されたアーキテクチャー;2)モノラルへの変換前にステレオ・ファイルに存在する空間情報を活用するための前処理ステップの導入;3)マルチヘッド・アテンション(multi-head attention)・アーキテクチャーまたはVBxクラスタリングに基づいて、埋め込み分離を最大化し、クラスタリングを改善するための埋め込み最適化ステップの導入;4)パイプラインにおける改善されたコンポーネントとしてのスペクトル・クラスタリングの導入;5)短い話者セグメントのクラスタリングおよび誤分類の信頼性を改善するための二重クラスタリング・ステップの導入;6)任意の長さのファイルにダイアライゼーションを実行でき、その結果、メモリ占有および処理負荷が小さくなること;7)異なるファイルにわたるダイアライゼーションを実行でき、よって、エピソード的コンテンツに対するダイアライゼーションを許容すること;8)ダイアライゼーション成功を容易に評価するための統計生成、エラー定量化および視覚化;ならびに9)オーディオ・ファイルがその人からの発話を含むかどうかを決定するために入力声紋を使用するダイアライゼーション・パイプライン。
【図面の簡単な説明】
【0026】
図面では、説明を容易にするために、デバイス、ユニット、命令ブロック、およびデータ要素を表すものなどの概略的な要素の特定の配置または順序付けが示されている。しかしながら、図面における概略的な要素の特定の順序または配置は、処理の特定の順序もしくはシーケンス、または諸プロセスの分離が必要とされることを含意することを意図していないことが、当業者によって理解されるべきである。さらに、図面における概略的な要素の包含は、そのような要素がすべての実施形態において必要とされることを含意すること、またはそのような要素によって表される特徴がいくつかの実施形態において含まれなくてもよく、もしくは他の要素と組み合わされてもよいことを含意することを位置されていない。
【0027】
さらに、図面において、実線または破線または矢印などの接続要素が、2つ以上の他の概略的な要素間の接続、関係、または関連付けを示すために使用される場合、そのような接続要素が存在しないことは、接続、関係、または関連付けが存在し得ないことを含意することは意図されていない。言い換えれば、本開示を不明瞭にしないように、要素間のいくつかの接続、関係、または関連付けは図面に示されていない。さらに、説明を容易にするために、単一の接続要素を使用して、要素間の複数の接続、関係、または関連付けを表す。たとえば、接続要素が信号、データ、または命令の通信を表す場合、そのような要素が、通信に影響を及ぼすために、必要に応じて、一つまたは複数の信号経路を表すことが当業者によって理解されるべきである。
【0028】
【
図1】ある実施形態による、話者ダイアライゼーション処理パイプラインのブロック図である。
【0029】
【
図2A】ある実施形態による、
図1に示されるパイプラインの異なるコンポーネントがオーディオ・ファイルに対してどのように作用するかを示すフロー図である。
【
図2B】ある実施形態による、
図1に示されるパイプラインの異なるコンポーネントがオーディオ・ファイルに対してどのように作用するかを示すフロー図である。
【0030】
【
図3】ある実施形態による、2次元への次元削減後の、4人の話者を含むオーディオのセグメントの埋め込み表現である。
【0031】
【
図4A】ある実施形態による、クロス・エントロピー損失および二項分類モデルを使用して、話者変化検出および重複発話検出を提供する、
図1に示されるパイプラインにおけるプロセスのフロー図である。
【0032】
【
図4B】トリプレット損失を使用して埋め込み抽出プロセスを解くことができるパイプライン100におけるフロー
図400bである。
【0033】
【
図5A】ある実施形態による、ダイアライゼーション・パイプラインにおいてステレオ・ファイルを処理するためのフロー図である。
【0034】
【
図5B】ある実施形態による、ダイアライゼーション・パイプラインにおけるステレオ・ファイルの代替的な処理のためのフロー図である。
【0035】
【
図6】ある実施形態による、ブロック・セグメント化およびエピソード的コンテンツ・ダイアライゼーションを示す。
【0036】
【
図7】ある実施形態による、マルチヘッド・アテンション・プラスGE2E損失関数を示す。
【0037】
【
図8】ある実施形態による、二重クラスタリング・プロセスのフロー図である。
【0038】
【
図9】ある実施形態による、声紋埋め込みとダイアライゼーション・パイプラインによって識別されたクラスターの重心との間の距離の決定を示す。
【0039】
【
図10】ある実施形態による、クラスターに属する埋め込みからの重心の距離を折り畳みガウス分布として近似することを示す。
【0040】
【
図11】ある実施形態による、どのクラスターが声紋を含む最も高い確率を有するかを識別するための確率のランク付けを示す。
【0041】
【
図12】ある実施形態による、話者識別(ID)結果をダイアライゼーション・パイプライン出力に結合することによって話された声紋に話者を関連付けることを示す。
【0042】
【
図13】ある実施形態による、正解をベースラインとして用いた、2人の話者についての発話セグメントについてのダイアライゼーション性能を示す。
【0043】
【
図14】ある実施形態による、
図13に表される各話者の発話セグメントを示す。
【0044】
【
図15】ある実施形態による、エピソード的コンテンツをサポートする話者ダイアライゼーションのプロセスのフロー図である。
【0045】
【
図16】ある実施形態による、
図1~
図15を参照して説明される特徴およびプロセスを実装するための例示的なデバイス・アーキテクチャーのブロック図である。
【0046】
さまざまな図面で使用される同じ参照記号は、同様の要素を示す。
【発明を実施するための形態】
【0047】
以下の詳細な説明では、説明されるさまざまな実施形態の十全な理解を提供するために、多数の個別的な詳細が記載される。説明されるさまざまな実施形態は、これらの個別的な詳細なしに実施されうることが、当業者には明らかであろう。他方では、実施形態の諸側面を無用に埋没させないように、周知の方法、手順、構成要素、および回路は詳細に説明されていない。それぞれ互いに独立して、または他の特徴の任意の組み合わせで使用できるいくつかの特徴を以下に説明する。
【0048】
命名法
本明細書で使用されるところでは、用語「含む」およびその変形は、「…を含むが、それに限定されない」ことを意味するオープンエンドの用語として読まれるべきである。用語「または」は、文脈がそうでないことを明確に示すのでない限り、「および/または」として読まれるべきである。「1つの例示的な実施形態」および「ある例示的な実施形態」という用語は、「少なくとも1つの例示的な実施形態」として読まれるべきである。「別の実施形態」という用語は、「少なくとも1つの別の実施形態」として読まれるべきである。「決定された」、「決定する」、または「決定すること」という用語は、取得すること、受領すること、コンピューティングすること、計算すること、推定すること、予測すること、または導出することとして読まれるべきである。加えて、以下の説明および特許請求の範囲において、別段の定義がない限り、本明細書で使用されるすべての技術用語および科学用語は、本開示が属する技術分野の当業者によって一般に理解されるものと同じ意味を有する。
【0049】
例示的なシステム
図1は、ある実施形態によるダイアライゼーション処理パイプライン100のブロック図である。ダイアライゼーション・パイプライン100は、5つの主要な構成要素によって特徴付けられる:オーディオ前処理コンポーネント101、ブロック・ベースの埋め込み抽出コンポーネント102、埋め込み処理コンポーネント103、クラスタリング・コンポーネント104、および後処理コンポーネント105。
【0050】
ダイアライゼーション・パイプライン100は、入力として、発声(たとえば発話)を含むメディア・データ(たとえば、モノラルまたはステレオのオーディオ・ファイル106)を受け取り、出力として、オーディオ・ファイル内で検出された各話者についての関連付けられたタグを有する対応するセグメント(たとえば、発話セグメント)を返す。ある実施形態では、ダイアライゼーション・パイプライン100はまた、分析121および視覚化120を出力して、ダイアライゼーションの結果をユーザーに提示する明確な方法を提供する。たとえば、ダイアライゼーション・パイプライン100は、オーディオ・ファイル内の複数の話者(たとえば、オーディオ・ファイル内の3人の別個の話者)の存在を識別し、それぞれの発話の開始時間および終了時間を定義することができる。いくつかの実施形態では、分析121は、これに限定されるものではないが、オーディオ・ファイル内の話者の数、話者識別についての信頼度、話者のそれぞれについての会話への参加の時間および割合、会話における主要な話者、重複する発話セクション、ならびに会話ターンを含む。
【0051】
いくつかの実施形態では、ダイアライゼーション・パイプライン100の第1のコンポーネントは、発話を含むメディア・データをインポートするオーディオ前処理コンポーネント101である。いくつかの実施形態では、メディア・データはオーディオ・ファイル106である。いくつかの実施形態では、オーディオ・ファイル106はモノ・ファイルである。いくつかの実施形態では、オーディオ・ファイル106はステレオ・ファイルである。ステレオ・ファイルの場合、コンバータ107が、オーディオ・ファイル106の左(L)および右(R)ステレオ・チャネルを2つのチャネル、すなわちチャネル1およびチャネル2に変換する。
【0052】
いくつかの実施形態では、話者(speakers)が空間化され(spatialized)、異なるチャネルにわたってパンされる場合、オーディオ・ファイル106は、チャネル1および2に存在する空間情報を最大化するように変換される。たとえば、話者定位の空間情報を保存することが望ましい場合、独立成分分析(ICA)を使用して、空間情報が保存される2つのチャネルを生成でき、話者が2つのチャネルに分離される。いくつかの実施形態では、主成分分析(PCA)が、このタスクを行うために使用される。いくつかの実施形態では、深層学習または機械学習が、このタスクを行うために使用される。いくつかの実施形態では、オーディオ・ファイル106は、LおよびRチャネルをサブミックスする(submixing)ことによって、または2つのチャネルのうちの1つを選択する(たとえば、処理効率を改善するためにチャネルのうちの1つを破棄する)ことによって、モノ・ファイルに変換されるステレオ・ファイルである。
【0053】
パンされた話者についての空間情報の分離および保持を最大化するようにLおよびRチャネルをチャネル1およびチャネル2に変換した後、各チャネルは、オーディオ・チャネル1および2をブロックに分割するオーディオ・ブロック・セグメント化コンポーネント108によって処理され、ブロックはブロック・ベースの埋め込み抽出コンポーネント102に送られる。本明細書で使用されるところでは、「ブロック」は処理単位である。各ブロックは、一つまたは複数の発話セグメントを含みうる。「発話セグメント」は、一意的な話者が話している発話の時間である。
【0054】
ダイアライゼーション・パイプライン100は、任意の持続時間のオーディオ・ファイル106を処理することが可能であり、同じ話者が存在しうる複数のファイルにわたってダイアライゼーションを処理および実行することもできることに留意されたい。たとえば、いくつかの実施形態では、ダイアライゼーション・パイプライン100は、ステレオ・オーディオ・ファイルをロードし(たとえば、受領する、取り出す)、オーディオ・ファイル106の2つのチャネルにICAを適用して、パンされた発話に関連付けられた空間情報を最大化し、活用し、チャネル1およびチャネル2を生成することができる。ダイアライゼーション・パイプライン100は、次いで、オーディオ・ファイルを等しい長さのブロック(たとえば、1秒のブロック)に分割し、各ブロックは、パイプライン100の下流の構成要素によって処理される。いくつかの実施形態では、ブロックは、複数の長さ(たとえば、0.5秒、0.1秒、または異なる持続時間)のブロックを含む。
【0055】
各オーディオ・チャネルのブロックは、ブロックに対して特徴抽出109を実行し、音声アクティビティ検出(voice activity detection、VAD)113をそれらの特徴に適用するブロック・ベースの埋め込み抽出コンポーネント102によって処理される。いくつかの実施形態では、VAD 113は、複数の話者の発話を検出し、重複発話検出110を実行する。発話検出は、ラベル発話セグメント、すなわち発話を含む前記ブロックの諸部分を単離するために使用される。発話検出は、VAD 113、話者変化検出112、および重複発話検出110からの結果の組み合わせに基づく。
【0056】
単離された発話セグメントは、重複発話検出110および話者変化検出112のためのデータと一緒に埋め込み抽出コンポーネント111に入力される。埋め込み抽出コンポーネント111は、話者変化検出112によって識別された各セグメントについて埋め込みを計算し、重複した発話からは埋め込みが抽出されないように、重複した発話は破棄される。埋め込み抽出コンポーネント111および埋め込み生成モデルは、単離された発話セグメントから埋め込み(embedding)(たとえば、発話セグメントの多次元ベクトル表現)を抽出する。いくつかの実施形態では、埋め込み抽出コンポーネント111は、埋め込みに対して次元削減114を実行して(
図3参照)、クラスタリング・コンポーネント104によってクラスタリングされる改善された埋め込み115を生成する。
【0057】
クラスタリング・コンポーネント104は、改善された埋め込み115を入力として受領する。短セグメント識別器116は、長セグメント・クラスタリング117および短セグメント・クラスタリング118をそれぞれ使用して別々にクラスタリングされる短発話セグメントおよび長発話セグメントを識別する。埋め込みクラスターは、後処理コンポーネント105に入力される。後処理コンポーネント105は、埋め込みクラスターに対して後処理119およびセグメント化120を実行し、これらは、解析121および視覚化122を生成するために使用される。
【0058】
図2は、ある実施形態による、上記で説明したダイアライゼーション・パイプライン100の異なる構成要素がオーディオ・ファイル106に対してどのように作用するかをさらに詳細に示す。発話分析において、埋め込み(embedding)は、発話のセグメントの多次元ベクトル表現である。埋め込みは、多次元特徴空間における異なる話者の区別を最大化するように生成される。たとえば、2人の話者が会話において話す場合、彼らの生成された埋め込みは、多次元空間の2つの異なる領域にクラスタリングされる多次元ベクトルとなる。いくつかの実施形態では、埋め込みを抽出することは、多次元部分空間において単一話者の発話セグメントまたは単一話者の発話セグメントの一部を表現することを含む。いくつかの実施形態では、埋め込みを抽出することは、それぞれの単一話者の発話セグメントを多次元ベクトル表現に変換することを含む。
【0059】
埋め込みを生成することの背後にある動機は、異なる話者のクラスタリングを容易にし、よって、話者ダイアライゼーションの実行に成功することである。たとえば埋め込み生成モデルなどのモデルが、発話セグメントを多次元空間における表現にマッピングまたは変換することによって埋め込みを生成するために使用される。モデルは、異なるデータセットを使用して、かつ異なる話者の埋め込み間の距離を最大化し、同じ話者から生成された埋め込みの距離を最小化する損失関数を使用することによって、埋め込み生成のためにトレーニングされることができる。いくつかの実施形態では、埋め込みモデルは、話者弁別埋め込み層を有するようにトレーニングされた深層ニューラルネットワーク(DNN)である。
【0060】
図2を参照すると、示されている例では、もとのオーディオは、3人の異なる話者からの発話と、音楽およびノイズの形の周囲音とを含む。オーディオ・ブロック・セグメント化は、話者1(SPK1)の発話と、それに続く音楽と、それに続く話者2(SPK2)からの発話とを捕捉する第1のブロック(ブロック1)を生成する。ブロック1はVAD 113に入力され、VAD 1はSPK1発話の開始および終了を検出し、発話セグメント1(SEGM1)をもたらす。発話セグメント1の複数の埋め込みが生成され、SEGM1の各埋め込みから特徴が抽出され、埋め込みが統計的に組み合わされる(たとえば、複数の埋め込みから平均埋め込みを計算することによって)。オーディオ・ブロックは、オーディオ・ファイルの一様なセグメント化である(たとえば、1s、2s、3sなど)。
【0061】
上記のプロセスは、ブロック2およびブロック3について繰り返される。たとえば、ブロック2は、SPK3からの発話を含む発話セグメント4(SEGM4)を生成する。ブロック3は、SPK3からの発話を含む発話セグメント7(SEGM7)を生成する。特徴の平均埋め込みが、SEGM4およびSEGM7から抽出される。ブロック1、2、および3の平均埋め込みは、次いで、クラスタリング・プロセス(たとえば、短セグメント・クラスタリングおよび長セグメント・クラスタリング)に入力される。各クラスターは、3人の話者のうちの1人からの発話を表し、たとえば、多次元特徴空間の3つの異なる領域における3つのクラスターがある。
【0062】
図3は、ある実施形態による、t分布型確率的近傍埋め込み(t-Distributed stochastic neighbor embedding、t-SNE)を使用した2次元への次元削減の後の、4人の話者を含むオーディオのセグメントの埋め込み表現である。たとえば非特許文献1に記載されているt-SNEアルゴリズムを使用する512-Dの埋め込みが、視覚化目的のために2Dに縮小されている。
図3における各ドットは、発話のセグメントの埋め込みを表す。同じ話者に属する埋め込みは空間内でクラスタリングする傾向があり、
図3では4つの別個のクラスターを識別することができ、各クラスターは4人の話者のうちの異なる1人を表す。
【非特許文献1】Van der Maaten, Laurens, and Geoffrey Hinton、“Visualizing data using t-SNE.” Journal of machine learning research 9.11 (2008)
【0063】
再び
図1を参照すると、パイプライン100は、埋め込み抽出の前に実行される3つの発話検出、すなわち、1)VAD 113、2)重複発話検出110、および3)話者変化検出112を含む。VAD 113は、音楽またはノイズまたは他のオーディオ源から発話セグメントを単離する。いくつかの実施形態では、発話活動検出が、AC-4規格に記載されているVADを使用して実行される。いくつかの実施形態では、VAD 113は、以下の
図4A、4Bで説明されるアーキテクチャーに基づく。重複発話検出110は、重複発話が存在する領域を識別する。重複する発話は、通常、ダイアライゼーション・タスクから破棄される。プロセス400aが、重複発話を検出するために使用されうる。異なるCNNおよび/またはRNNアーキテクチャーを含む、他のアーキテクチャーもまた、重複発話検出のために使用されうる。話者変化検出112は、会話ターンを検出する。会話ターンは、第1の話者から第2の異なる話者への遷移である。話者変化検出112は、VAD 113の出力に対して実行される。プロセス400aは、話者変化検出のためにも使用されうる。異なるCNNおよび/またはRNNアーキテクチャーなど、他のアーキテクチャーも話者変化検出のために使用されうる。
【0064】
図4Aは、いくつかの実施形態による、クロス・エントロピー損失および二項分類モデルを使用して、話者変化検出112および重複発話検出110を提供する、パイプライン100内のプロセス400aのフロー図である。いくつかの実施形態では、プロセス400aは、畳み込みニューラルネットワーク(CNN)アーキテクチャー401a、続いて一つまたは複数の畳み込み層402a、続いて一つまたは複数のリカレントニューラルネットワーク(RNN)層403a、続いて一つまたは複数のフィードフォワードニューラルネットワーク(FNN)層404aを含む。いくつかの実施形態では、これらの層は、バックプロパゲーションなどの適切なトレーニング技法を使用して、二項分類問題(たとえば、発話の有無)に対してトレーニングされる。
【0065】
図4Bは、トリプレット損失を使用して埋め込み抽出プロセスを解くことができる、ダイアライゼーション・パイプライン100におけるプロセス400bのフロー図である。いくつかの実施形態では、プロセス400bは、畳み込みニューラルネットワーク(CNN)層401b、続いて一つまたは複数の畳み込み層402b、続いて一つまたは複数のリカレント層403b、続いて時間プーリング(temporal pooling)404b、続いて一つまたは複数のフィードフォワード層404aを含む。プロセス400bの出力は発話セグメントである。
【0066】
プロセス400aおよび400bにおいて、CNN 401a、CNN 401bは、たとえば非特許文献2に記載されているSincCONVアーキテクチャーを使用して実装されることができる。いくつかの実施形態では、SincCONVアーキテクチャーは、手作りの特徴(たとえば、メル周波数ケプストラル係数(Mel-frequency cepstral coefficients、MFCC))で置き換えられることができる。
【非特許文献2】Ravanelli, M., & Bengio, Y. (2019)、Speaker Recognition from Raw Waveform with SincNet. 2018 IEEE Spoken Language Technology Workshop, SLT 2018 - Proceedings, 1021-1028. https://doi.org/10.1109/SLT.2018.8639585
【0067】
発話を、1人の話者のみが存在するセグメントにセグメント化し(たとえば、各セグメントは、
図2に示されるように、2人以上の話者からの発話を含まない)、異なる話者のセグメントを単離した後、発話からの埋め込みが、ブロック・ベースの埋め込み抽出コンポーネント102によって抽出される。いくつかの実施形態では、発話からの埋め込みの抽出のために、xベクトル、dベクトル、iベクトル、または他の戦略を使用することができる。
図4Bのアーキテクチャーは、異なる話者間の分離可能性を最大化するように発話データ上でモデルをトレーニングした後に、同じ目的のために使用することができる。トリプレット損失、クロス・エントロピー損失、確率的線形弁別分析(probabilistic linear discriminant analysis、PLDA)ベースの損失など、トレーニング中の損失を最小化するために、異なるコスト関数が使用されうる。
【0068】
いくつかの実施形態において、埋め込みは、
図2に示されるように、指定された窓長にわたって抽出される。いくつかの実施形態では、埋め込みは、一定の時間窓長(たとえば、20ms)にわたって抽出される。抽出後、同じ話者からの発話の連続的なセグメントに属する埋め込みは、
図2に示されるように、ノイズを低減し、精度を改善するために平均化される。平均化される埋め込みの数および平均化のための最大時間窓を定義する閾値は、入力オーディオ・ファイル106の長さに従って修正されうる。長い入力オーディオ・ファイルについては、同じ話者からの発話セグメント全体の一部であるすべての埋め込みを平均化することが受け入れ可能である。対照的に、短い入力オーディオ・ファイルの場合、クラスタリング精度を改善するために、クラスタリング・コンポーネント104に供給される、全体的により多数の埋め込みを生成するために、埋め込みの平均化のための最大の受け入れられる時間窓は縮小されうる。
【0069】
異なる埋め込みモデルが、異なるトレーニング・データセット(たとえば、それぞれのコンテンツまたはメディア・タイプに対応するトレーニング・データ)を使用して、異なるコンテンツ・タイプのためにトレーニングされうる。いくつかの実施形態では、埋め込みモデルは、環境(たとえば、スポーツ会場、コンサート会場、車室、レコーディングスタジオ)、ユースケース(たとえば、ポッドキャスト、講義、インタビュー、スポーツキャスト、音楽)、主題またはトピック(たとえば、化学)、活動(たとえば、通勤、歩行)などに関連付けられたコンテンツから埋め込みを抽出(推測)するように最適化される。いくつかの実施形態では、ダイアライゼーションされる必要があるコンテンツのタイプ(たとえば、ポッドキャスト、電話呼、教育、ユーザー生成コンテンツなど)は、アプリケーションまたはアプリケーションのユーザーによって指定され、ダイアライゼーション・パイプライン100は、指定されたコンテンツのタイプに従って、処理される必要があるコンテンツのタイプのための最良のモデルを選択する。いくつかの実施形態では、最良のモデルは、さまざまな方法論(たとえば、ルックアップテーブル、コンテンツ分析)に従って選択される。
【0070】
埋め込みの抽出111後、埋め込みは、
図1に示されるようにさらに処理される。ある実施形態では、埋め込みの処理は、2つのコンポーネント、すなわち、1)埋め込み次元削減コンポーネント114、および2)埋め込み最適化コンポーネント115によって実行される。いくつかの実施形態では、たとえば、抽出された埋め込みが品質閾値を上回ることを判別することに応答して、コンポーネント114、115の一方または両方がスキップされる。
【0071】
次元削減コンポーネント114は、異なる話者間を区別する能力を改善し、クラスタリングの成功を最大化するために実装される。埋め込み次元は、PCA、t-SNE、一様多様体近似および射影(uniform manifold approximation and projection、UMAP)、PLDA、または他の次元削減戦略を使用して削減できる。
【0072】
埋め込み最適化コンポーネント115は、以下のセクションでより詳細に説明される。その意図は、埋め込みどうしの間の分離可能性を最大化するためのモデルをトレーニングし、クラスタリング・プロセスをさらに容易にするために、データ駆動型アプローチを使用することである。いくつかの実施形態では、これは、埋め込み最適化のためのマルチヘッド・アテンション・プラス一般化エンドツーエンド(generalized end-to-end、GE2E)損失アーキテクチャーを使用して達成されうる。他のアーキテクチャーもこの目的のために使用することができる。
【0073】
埋め込み抽出および処理の後、埋め込みは、異なる話者にクラスタリングされる。クラスタリング・コンポーネント105は、
図1に示され、以下でさらに詳細に説明されるように、短い発話セグメント117と長い発話セグメント118とを区別することによってクラスタリングを実行する。短いまたは長いセグメントのクラスタリングのために異なるクラスタリング戦略が使用できる。いくつかの実施形態では、改善されたスペクトル・クラスタリングが非特許文献3に記載されている。
【非特許文献3】Wang, Q., Downey, C., Wan, L., Mansfield, P. A., & Moreno, I. L. (2018).c Speaker diarization with LSTM. ICASSP, IEEE International Conference on Acoustics, Speech and Signal Processing - Proceedings, 2018-April, 5239-5243
【0074】
階層的クラスタリング、親和性伝播、凝集クラスタリングまたはVBxクラスタリングなどの他のクラスタリング戦略も使用できる。いくつかの実施形態では、オーディオ・ファイル106内の話者の数は、既知であるか、または決定される。たとえば、オーディオ・ファイルに関連付けられた話者の数を示すデータが、(たとえば、アプリケーションプログラミングインターフェース(API)コールを介して)受領されるか、またはたとえば、k平均クラスタリングもしくは他の適切なクラスタリング・アルゴリズムを使用したオーディオ・ファイルの分析に基づいて導出されて、取得されうる。ある実施形態では、話者の数が事前に知られていないとき、k平均クラスタリング・アルゴリズムとともにエルボー法(elbow method)が使用できる。エルボー法は、説明される変動の曲線をクラスターの数の関数としてプロットし、次いで、その曲線のエルボーを、使用するクラスターの数として選ぶことを含むことができる。
【0075】
クラスタリング後、クラスタリングされた埋め込みの後処理119が実行される。後処理119は、誤検出を除去し、クラスタリング精度を改善するために実行される。いくつかの実施形態では、異なる話者間の事前定義された遷移確率を用いる隠れマルコフモデル(Hidden Markov Model、HMM)などの方法が、この目的のために使用される。結果として得られる改善され後処理された埋め込みは、オーディオ・ファイルを、関連付けられた話者ラベル/識別子を有するセグメントにセグメント化するために、セグメント化コンポーネント120によって使用される。
【0076】
分析(analytics)121は、ダイアライゼーション・パイプライン100の出力として、クラスタリングされた埋め込みから生成される。分析121は、話者の数、話者検出の信頼度、会話における話者参加の割合および時間、最も関連する話者を含むがこれらに限定されない情報を含むことができ、他の分析が生成される。ダイアライゼーション・パイプライン100は、話者ダイアライゼーション・タスクにおける検出精度の概要を生成することもできる。
【0077】
例示的な前処理ブロック
前述したように、オーディオ前処理コンポーネント101は、ダイアライゼーション・パイプライン100がステレオおよびモノ入力ファイルのためのダイアライゼーション出力を生成することを許容する。モノ・ファイルの場合、オーディオ・ファイルはモノ・ファイルとして扱われ、以下で説明するように、オーディオ・ブロック・セグメント化ブロック108によって処理される。ステレオ・ファイルの場合、プロセス500a、500bを適用することができる。
【0078】
図5Aは、ある実施形態による、ダイアライゼーション・パイプライン100においてステレオ・ファイルを処理するためのフロー図である。プロセス500a(
図5Aに示される)は、左チャネル501aおよび右チャネル502aが異なり、話者の声がパンされ、右チャネルと左チャネルとの間で対称ではないときに利用される実施形態を示す。パンされた発話は、ダイアライゼーション・タスクのために有用でありうる空間情報を有する。各チャネル501a、502aについて、空間変換ブロック503aは、空間情報を2つの異なるチャネル504a(チャネル1、チャネル2)に分離して、ダイアライゼーション・タスクの成功を改善する。いくつかの実施形態では、ICAまたはPCAが、空間変換ブロック503aによって実装される。深層学習戦略も使用できる。ダイアライゼーション・パイプライン100の残りのブロックは、チャネル1およびチャネル2に別々に適用される。ブロック処理505aおよび埋め込み抽出段506aの後、埋め込みは、話者の空間定位に関連付けられた情報を活用する埋め込みの処理されたバージョンを生成するために、一緒に処理される(507a)(たとえば、各チャネルからの埋め込みは、後続の処理のために組み合わされる)。いくつかの実施形態では、プロセス500aは、バイノーラル・オーディオの代わりにマルチチャネル・オーディオ(たとえば、Dolby(登録商標)Atmos(登録商標))に適用される。
【0079】
図5Bは、ある実施形態による、ダイアライゼーション・パイプライン100におけるステレオ・ファイルの代替的な処理のフロー図である。いくつかの実施形態では、左および右チャネル501a、501bが同一であるとき(
図4B)、ステレオ・ファイルは、モノ503bに変換され、ダイアライゼーション・パイプライン100の残りのブロックは、
図5Aを参照して説明されたように、単一のモノ・ファイルに適用される。モノ変換は、2つのチャネルのうちの1つを選択することによって、またはダウンミックスすることによって達成される。
【0080】
例示的なオーディオ・ブロック・セグメント化
オーディオ・ブロック・セグメント化〔セグメンテーション〕108は、パイプライン100におけるもう一つのステップである(
図1、
図2、および
図6参照)。各発話セグメント(セグメントは、一意的な話者が話している発話の時間窓である)によって抽出された埋め込みは、すべての埋め込みが複数のオーディオ・ブロックにわたって各セグメントから抽出された後に、記憶され、クラスタリングされる。このプロセスは、任意の長さのファイルを処理する可能性を導入し、性能に影響を与えることなく、ファイル全体を処理するために必要とされる処理およびメモリ使用量を制限する。このプロセスは、入力ファイルのリストに適用されることができ、よって、エピソード的コンテンツに対するダイアライゼーションを実行する可能性を可能にする。
【0081】
図6を参照すると、エピソード的コンテンツ(episodical content)(たとえば、ポッドキャスト・シーズン)からの入力オーディオ・ファイル601のコレクションは、
図1を参照して前述したように、オーディオ・ブロック・セグメント化602によってセグメント化され、埋め込みの抽出コンポーネント603を介して供給される。次いで、抽出された埋め込み604は、埋め込み処理605において一緒に組み合わされ、クラスタリング606され、後処理/セグメント化607に入力される。これらのステップは、話者ダイアライゼーションが複数のオーディオ・ファイル106にわたって実行されることを許容し、よって、エピソード的コンテンツにわたる分析を計算する可能性を可能にする。
【0082】
例示的な埋め込み
埋め込みは発話のセグメントの多次元ベクトル表現であるので、埋め込みは話者ダイアライゼーション・システムにおいて重要な役割を果たす。既存の解決策は、ガウス混合モデリング(Gaussian Mixture Modeling、GMM)ベースの埋め込み抽出、iベクトル、xベクトル、dベクトルなどを利用した。これらの既存の方法は、堅牢であり、話者ダイアライゼーション問題を解決する際に良好な性能を示しうるが、時間的情報を完全に利用してはいない。したがって、時間的情報を利用することによって埋め込みの有効性をさらに改善し、それにより次のステップにおけるクラスタリングの精度を高めるために、新しいモジュールがダイアライゼーション・パイプライン100に導入される。
【0083】
改善された埋め込みを生成するために発話の時間的情報を利用するいくつかの関連する発想が文献において提案されている。たとえば、埋め込みから類似性スコアを生成するために隣接時間的情報を利用する、長期短期記憶(LSTM)ベースのベクトル対シーケンス・スコアリング・モデルが提案されている。しかしながら、LSTM構造には2つの制限がある:1)LSTM構造は、ローカル情報により焦点を当てており、長期的な依存性のあるタスクにおいて機能しなくなる可能性がある、および2)LSTM構造は、時間と空間の両方を消費する。
【0084】
LSTM構造の限界に対処するために、アテンション機構に完全に基づくアーキテクチャーは、シーケンス対シーケンス学習において有望な価値を示している。著しくより速いトレーニングを提供することに加えて、アテンション・ネットワークは、長期的依存性の効率的なモデリングを実証する。たとえば、位置マルチヘッド・アテンション・モデル構造およびトリプレット損失関数を使用することができる。位置エンコードは、発話における特定の位置に関する情報を含む多次元ベクトルである。さらに、マルチヘッド・アテンション・モデルからの出力を使用して類似性メトリックを学習するために、トリプレット・ランキング損失が利用される。
【0085】
いくつかの実施形態では、「エンドツーエンド損失関数」と呼ばれる新しい損失関数を使用して、話者検証問題を解くことができる。GE2Eトレーニングは、N人の話者、および平均して各話者からのM個の発声を含むバッチの形で、多数の発声を一度に処理することに基づく。類似性行列S
ji,kは、すべての重心c
kに対する各埋め込みベクトルe
ji間のスケーリングされたコサイン類似性として定義される。
【数1】
【0086】
ここで、ejiは、j番目の話者のi番目の発声の埋め込みベクトルを表す(1≦i≦M、j≦N)。ckは、埋め込みベクトルの重心を表す(k≦N)。
【0087】
話者ダイアライゼーション問題はまた、抽出された埋め込みを使用して類似性行列を見つけ、次いで類似性行列に基づいてクラスタリング・アルゴリズムを実行しようと試みているので、式[1]におけるM発声に対する制約を除去することができ、損失を計算するために同様の式を使用することができる。話者ダイアライゼーション問題においては話者が無制限の回数話すことがあるからである。式[1]と同様に、e
jiは、j番目の話者のi番目の発声の埋め込みベクトルを表し(i≧1、j≦N)、c
kは、埋め込みベクトルの重心を表す(k≦N)。次いで、式[1]に対してソフトマックス関数が使用される場合、各埋め込みベクトルe
jiに関する損失は、
【数2】
として定義できる。
【0088】
図7は、ある実施形態による、マルチヘッド・アテンション・プラスGE2E損失関数を示す。
図7に示されるように、全体的な埋め込み最適化モジュール700は、入力埋め込み701をマルチヘッド・アテンション・モデルに送る。位置エンコード702が時間ステップごとに適用される、つまり、トレーニング・プロセスは時間プーリング706を使用して、トレーニング・プロセスにおいて時間的情報を考慮に入れる。トレーニング・プロセスは、損失関数707(たとえば、式[2]に示されるGE2E損失関数)を最小化する。損失関数707は、各埋め込みベクトルをその重心に近づけ、他のすべての重心から引き離す。テスト中、マルチヘッド・アテンション・モデル内でトレーニングされた重みおよびバイアスは、各入力についての最適化された埋め込みを予測し、クラスタリング709に入力される類似性行列708を形成するために利用される。時間的情報を考慮するので、もとの埋め込みと比較してより良い類似性行列を構築することができるはずである。
【0089】
例示的なクラスタリング技法
スペクトル・クラスタリングは、ダイアライゼーションを含む複数のタスクで使用されてきた標準的なクラスタリング・アルゴリズムである。ダイアライゼーション・パイプライン100では、スペクトル・クラスタリングの修正バージョンが使用される。
図1は、スペクトル・クラスタリングの修正バージョンを、
図1を参照して説明したダイラライゼーション・パイプライン100と組み合わせた実施形態を示す。修正されたスペクトル・クラスタリングは、ダイアライゼーション・パイプライン100によってサポートされる1つの例示的なクラスタリング戦略である。いくつかの実施形態では、階層的クラスタリング、k平均法、親和性伝播法、または凝集クラスタリングを含むがこれらに限定されない他のクラスタリング戦略を使用することができる。
【0090】
前に説明したように、ノイズを除去し、埋め込みの推定精度を改善するために、いくつかの実施形態では、単一の話者が存在する発話セグメント上で生成された埋め込みが平均化される。この理由のため、短い持続時間の発話セグメントは、話者の特徴付けのために十分な情報を与えないことがある。これは、長い持続時間の発話セグメントにおいて平均化される埋め込みの不正確さに起因する可能性がある。よって、
図8を参照して説明されるような、ダブル・ステップ・クラスタリング手法が提案される。
【0091】
いくつかの実施形態では、非特許文献4に記載されるxベクトル・シーケンスのベイジアンHMMクラスタリング(VBx)が、ダイアライゼーション・パイプライン100において使用されることができる。ダイアライゼーション・パイプライン100において、VBxは、xベクトルおよび他の埋め込みをとるように修正される。
【非特許文献4】Landini, Federico, Jan Profant, Mireia Diez, and Lukas Burget、“Bayesian HMM clustering of x-vector sequences (VBx) in speaker diarization: theory, implementation and analysis on standard tasks”、Computer Speech & Language71 (2022): 101254
【0092】
図8は、ある実施形態による、ダブル・クラスタリング・プロセスの流れ図である。
図8に示されるように、埋め込みは、各発話セグメント801について抽出される。発話セグメントは、持続時間閾値に基づいて、長い持続時間の発話セグメント802と短い持続時間の発話セグメント803とに分離される。長い持続時間の発話セグメント802が最初にクラスタリングされ(803)、各クラスターの中心が計算される(804)。短い持続時間の発話セグメントのそれぞれと各クラスターとの間のコサイン距離(たとえば、Eisenコサイン相関距離)が計算され(805)、短い持続時間の発話セグメント803が最も近いクラスターに割り当てられる。それぞれの短い発話セグメント803を最適なクラスターに割り当てる、他の距離メトリック(たとえば、ユークリッド、マンハッタン、ピアソン、スピアマン、ケンドール相関距離)を使用することができ、または他の戦略を使用することができる。全体的なクラスタリング結果は、短い持続時間の発話セグメント803および長い持続時間の発話セグメント802のクラスタリング結果の組み合わせである。
【0093】
例示的な後処理
処理パイプライン100内のもう一つのコンポーネントは、後処理コンポーネント105である。後処理コンポーネント105は、セグメント化およびクラスタリングにおけるエラーを低減するためにパイプライン100に導入される。後処理105は、クラスタリングによって生成された注釈を分析し、可能性のあるエラーを識別して訂正する。いくつかの後処理戦略をパイプライン100において使用することができる。たとえば、話者変化の関連付けられた確率を有するHMMを使用することができる。注釈間の時間的関係を活用する他のアルゴリズムを同じ目的のために使用することができる。
【0094】
例示的な話者識別
話者識別(speakerID)は、入力声紋に基づいて話者が誰であるか〔話者素性、話者アイデンティティ〕を理解する能力である。いくつかの実施形態では、ダイアライゼーション・パイプライン100は、入力声紋(たとえば、10~20秒ぶんの人の話)を使用して、オーディオ・ファイルがその人からの発話を含むかどうかを判定する。さらに、複数の話者の声紋の知識に基づいて、speakerIDラベルをダイアライゼーション・パイプライン100の出力に割り当てることができる。上述のように、ダイアライゼーション・パイプライン100は、各発話セグメントについて埋め込みを計算し、その後、埋め込みを限られた数のクラスターにクラスタリングする。
【0095】
図9および
図10は、ある実施形態による、クラスターに属する埋め込みからの基準点の距離が折り畳みガウス分布としてどのように近似されるかを示す。基準点は、重心または任意の他の適切な基準点、たとえば、メドイドを中心とした分割(partition around medois、PAM)クラスタリングにおけるメドイドなどであってもよい。
図9に示されるように、speakerIDプロセスの第1のステップは、声紋距離メトリックを計算することであり、この例では、声紋vp(905)と各クラスターの各基準点(たとえば、重心ci(クラスター901~904の場合))との間のコサイン距離メトリックd_vp
iであり、ここで、iは、1からNまでのクラスターを識別するインデックスであり、Nは、クラスターの数である。図示した例では、N=4個のクラスターが4人の主な話者を表す。
【0096】
各クラスターについて、クラスターの基準点からそのクラスターに属する各埋め込みまでのコサイン距離が計算される。各クラスター901~904について、そのクラスターに属する基準点からの埋め込みの距離の分布も計算される。いくつかの実施形態では、分布は、
図10に示されるように、折り畳みガウス分布(p
i)としてモデル化される。その後、声紋距離が対応する分布に属する確率が計算される。
図11に示されるように、確率はランク付けされることができ、声紋を対応するクラスターに割り当てる。この例ではSpk1が最も高い確率を有する。信頼閾値を定義することによって、声紋の人がオーディオ・ファイル内でそもそも発話した確率をより良く理解することができる。声紋に関連付けられた話者がいつ話したかを理解することは、
図12に示されるように、speakerID結果をダイアライゼーション・パイプライン100の出力と結合することによって決定できる。
図12に示される例では、speakerID結果は、Spk1が話している発話セグメント1201-1~1201-4を識別するために使用されている。
【0097】
例示的な分析/視覚化
ダイアライゼーション・パイプライン100は、分析〔アナリティクス〕、メトリックおよび視覚化を出力として生成する。出力は、ダイアライゼーション・パイプライン100の出力の客観的かつ明確な定量化をユーザーに提供する。いくつかの実施形態では、分析および視覚化は、単一のファイル、複数のエピソード的ファイル、および/またはデータセット全体について生成される。以下の表1および表2は、ダイアライゼーション・パイプライン100によって生成されうる例示的な分析を要約する。いくつかの実施形態では、視覚化は、第1の話者を表す第1のオブジェクトと、それぞれの話者を表す第2のオブジェクトと、クラスタリング埋め込みから導出された一つまたは複数の統計に従って見え方(長さ、サイズ、色、形状、スタイルなど)が変化する、第1および第2のオブジェクトを接続するコネクタ・オブジェクトとの表示を引き起こすことを含む。
【表1】
【表2】
【0098】
さらに、パフォーマンス・ダイアライゼーション・パイプライン100を評価することができる。ダイラライゼーション正解を用いて、ユーザーがダイラライゼーション・パイプライン100のパフォーマンスをより良く評価することを許容するレポートを生成するために、表3の評価メトリックが使用されうる。
【表3】
【0099】
いくつかの実施形態では、ダイアライゼーション・パイプライン100は、より効率的な仕方でユーザーがダイアライゼーション・パフォーマンスを理解するのを助けるために視覚化モジュールを含む。たとえば、
図13は、各話者が話している時間の割合を示しており、これは、各話者の相対的な持続時間と、発話のうちのどのくらいが正しく検出されたかを理解するのに役立つ。
図14は、各話者の発話セグメントを示しており、正解がベースラインとして示されており、これは、ダイアライゼーション・パイプライン100のパフォーマンスをより直感的に理解するのに役立つ。
【0100】
例示的なプロセス
図15は、ある実施形態による、コンテキスト・アウェア・オーディオ処理のプロセス1500の流れ図である。プロセス1500は、たとえば、
図16を参照して説明されるデバイス・アーキテクチャー1500を使用して実装されることができる。
【0101】
プロセス1500は、一つまたは複数の発声を含むメディア・データを受領するステップ(1501)と、メディア・データを複数のブロックに分割するステップ(1502)と、単一の話者に関連付けられた前記複数のブロックの各ブロックのセグメントを識別するステップ(1503)と、機械学習モデルに従って、識別されたセグメントについての埋め込みを抽出するステップ(1504)と、識別されたセグメントの埋め込みをクラスターにクラスタリングするステップ(1505)と、クラスタリングの結果に従って、識別されたセグメントについての埋め込みのそれぞれに話者ラベルを割り当てるステップ(1506)とを含む。これらのステップのそれぞれは、
図1~
図14を参照して上記で詳細に説明した。
【0102】
例示的なシステムアーキテクチャー
図16は、
図1~
図15を参照して説明した例示的な実施形態を実装するのに適した例示的なシステム1600のブロック図を示す。システム1600は、たとえば読み出し専用メモリ(ROM)1602に記憶されたプログラム、またはたとえば記憶ユニット1608からランダムアクセスメモリ(RAM)1603にロードされたプログラムに従ってさまざまな処理を実行することができる中央処理装置(CPU)1601を含む。RAM 1603には、必要に応じて、CPU 1601が各種の処理を実行する際に必要なデータも記憶される。CPU 1601、ROM 1602およびRAM 1603は、バス1604を介して相互に接続されている。入出力(I/O)インターフェース1605もバス1604に接続される。
【0103】
I/Oインターフェース1605には、以下のコンポーネントが接続されている:キーボードやマウス等を含みうる入力部1606と、液晶ディスプレイ(LCD)等のディスプレイおよび1以上のスピーカーを含みうる出力部1607と、ハードディスクまたは他の好適な記憶デバイスを含む記憶部1608と、ネットワークカード(有線または無線)等のネットワークインターフェースカードを含む通信部1609。
【0104】
いくつかの実施形態では、入力部1606は、さまざまなフォーマット(たとえば、モノラル、ステレオ、空間的、没入型、および他の適切なフォーマット)においてオーディオ信号の捕捉を可能にする、(ホストデバイスに応じて)種々の位置にある一つまたは複数のマイクロフォンを含む。
【0105】
いくつかの実施形態では、出力部1607は、さまざまな数のスピーカーを有するシステムを含む。出力部1607は、さまざまなフォーマット(たとえば、モノラル、ステレオ、没入型、バイノーラル、および他の適切なフォーマット)におけるオーディオ信号をレンダリングすることができる。
【0106】
通信部1609は、(たとえば、ネットワークを介して)他のデバイスと通信するように構成される。ドライブ1610はまた、必要に応じてI/Oインターフェース1605に接続される。ドライブ1610には、磁気ディスク、光ディスク、光磁気ディスク、フラッシュドライブまたは他の好適なリムーバブルメディアなどのリムーバブルメディア1611がマウントされ、それらから読み出されたコンピュータ・プログラムが、必要に応じて記憶部1608にインストールされる。当業者であれば、システム1600は上述の構成要素を含むものとして説明されているが、実際の用途では、これらの構成要素の一部を追加、除去、および/または置換することが可能であり、これらの修正または変更はすべて本開示の範囲内に入ることを理解するであろう。
【0107】
本開示の例示的な実施形態によれば、上述で説明したプロセスは、コンピュータソフトウェアプログラムとして、またはコンピュータ可読記憶媒体上に実装されうる。たとえば、本開示の実施形態は、機械可読媒体上に有形に具現されたコンピュータ・プログラムを含むコンピュータ・プログラム・プロダクトを含み、コンピュータ・プログラムは、方法を実行するためのプログラム・コードを含む。そのような実施形態では、コンピュータ・プログラムは、通信部709を介してネットワークからダウンロードされてマウントされてもよく、および/または
図16に示されるようなリムーバブルメディア1611からインストールされてもよい。
【0108】
一般に、本開示のさまざまな例示的な実施形態は、ハードウェアもしくは専用回路(たとえば、制御回路)、ソフトウェア、論理、またはそれらの任意の組み合わせで実装されうる。たとえば、上記で説明したユニットは、制御回路(たとえば、
図16の他の構成要素と組み合わせたCPU)によって実行されることができ、よって、制御回路は、本開示で説明するアクションを実行していることがある。いくつかの側面はハードウェアで実装されてもよく、他の側面は、コントローラ、マイクロプロセッサ、または他のコンピューティングデバイス(たとえば、制御回路)によって実行されうるファームウェアまたはソフトウェアにおいて実装されてもよい。本開示の例示的な実施形態のさまざまな側面が、ブロック図、フローチャートとして、または何らかの他の図的表現を使用して図示され説明されているが、本明細書で説明されるブロック、装置、システム、技法、または方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、専用回路もしくは論理、汎用ハードウェアもしくはコントローラ、または他のコンピューティングデバイス、あるいはそれらの何らかの組み合わせで実装されうることが理解されよう。
【0109】
加えて、フローチャートに示されるさまざまなブロックは、方法ステップとして、および/またはコンピュータ・プログラム・コードの動作から生じる動作として、および/または関連付けられた機能を実行するように構築される複数の結合された論理回路要素として見なされてもよい。たとえば、本開示の実施形態は、機械可読媒体上に有形に具現化されたコンピュータ・プログラムを含むコンピュータ・プログラム・プロダクトを含み、コンピュータ・プログラムは、上述の方法を実行するように構成されたプログラム・コードを含む。
【0110】
本開示の文脈では、機械可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを含むか、または記憶することができる任意の有形の媒体であってもよい。機械可読媒体は、機械可読信号媒体または機械可読記憶媒体であってもよい。機械可読媒体は、非一時的であってもよく、電子、磁気、光学、電磁気、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、または上記の任意の適切な組み合わせを含んでいてもよいが、これらに限定されない。機械可読記憶媒体のより具体的な例は、一つまたは複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバー、ポータブルなコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、または前述のものの任意の適切な組み合わせを含む。
【0111】
本開示の方法を実行するためのコンピュータ・プログラム・コードが、一つまたは複数のプログラミング言語の任意の組み合わせで書かれてもよい。これらのコンピュータ・プログラム・コードは、汎用コンピュータ、専用コンピュータ、または制御回路を有する他のプログラマブルデータ処理装置のプロセッサに提供されてもよく、その結果、プログラム・コードは、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行されると、フローチャートおよび/またはブロック図で指定された機能/動作を実施させる。プログラム・コードは、完全にコンピュータ上で、部分的にコンピュータ上で、スタンドアローンソフトウェアパッケージとして、部分的にコンピュータ上かつ部分的にリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバー上で、または1つもしくは複数のリモートコンピュータおよび/もしくはサーバーにわたって分散されて実行されうる。
【0112】
本稿は多くの個別的な実施形態詳細を含むが、これらは、特許請求されうるものの範囲に対する限定として解釈されるべきではなく、むしろ、特定の実施形態に特有でありうる特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に記載されているある種の特徴は、単一の実施形態において組み合わせて実装することもできる。逆に、単一の実施形態の文脈で説明されたさまざまな特徴は、複数の実施形態で別々に、または任意の適切なサブコンビネーションで実装することもできる。さらに、特徴は、ある種の組み合わせで作用するものとして上述され、最初にはそのように請求されることもありうるが、請求される組み合わせからの一つまたは複数の特徴は、場合によっては、組み合わせから切り取られることができ、請求される組み合わせは、サブコンビネーションまたはサブコンビネーションの変形に向けられることができる。図に示された論理フローは、所望の結果を達成するために、示された特定の順序または逐次順を必要とするものではない。加えて、他のステップが提供されてもよく、または説明されるフローからステップが除去されてもよく、他の構成要素が説明されるシステムに追加されてもよく、または説明されるシステムから除去されてもよい。よって、他の実施形態が、以下の特許請求の範囲内にある。
【国際調査報告】