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

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

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

特表2024-537721制約付きスペクトルクラスタリングを用いた話者ターンベースのオンライン話者ダイアライゼーション
<>
  • 特表-制約付きスペクトルクラスタリングを用いた話者ターンベースのオンライン話者ダイアライゼーション 図1
  • 特表-制約付きスペクトルクラスタリングを用いた話者ターンベースのオンライン話者ダイアライゼーション 図2
  • 特表-制約付きスペクトルクラスタリングを用いた話者ターンベースのオンライン話者ダイアライゼーション 図3
  • 特表-制約付きスペクトルクラスタリングを用いた話者ターンベースのオンライン話者ダイアライゼーション 図4
  • 特表-制約付きスペクトルクラスタリングを用いた話者ターンベースのオンライン話者ダイアライゼーション 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-16
(54)【発明の名称】制約付きスペクトルクラスタリングを用いた話者ターンベースのオンライン話者ダイアライゼーション
(51)【国際特許分類】
   G10L 17/02 20130101AFI20241008BHJP
   G10L 15/10 20060101ALI20241008BHJP
   G10L 17/14 20130101ALI20241008BHJP
【FI】
G10L17/02
G10L15/10 500Z
G10L17/14
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024518477
(86)(22)【出願日】2021-12-14
(85)【翻訳文提出日】2024-05-13
(86)【国際出願番号】 US2021063343
(87)【国際公開番号】W WO2023048746
(87)【国際公開日】2023-03-30
(31)【優先権主張番号】63/261,536
(32)【優先日】2021-09-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.ETHERNET
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】チュアン・ワン
(72)【発明者】
【氏名】ハン・ル
(72)【発明者】
【氏名】エヴァン・クラーク
(72)【発明者】
【氏名】イグナシオ・ロペス・モレンノ
(72)【発明者】
【氏名】ハシム・サク
(72)【発明者】
【氏名】ウェイ・シア
(72)【発明者】
【氏名】タラル・ジョグレッカー
(72)【発明者】
【氏名】アンシュマン・トリパティ
(57)【要約】
方法(400)は、複数の話者(10)によって話された発話(120)に対応する入力オーディオ信号(122)を受信することを含む。方法はまた、入力オーディオを処理して、発話のトランスクリプション(220)と、それぞれの話者ターンのロケーションを各々示す、話者ターントークン(224)のシーケンスとを生成することを含む。方法はまた、話者ターントークンのシーケンスに基づいて、入力オーディオ信号を複数の話者セグメント(225)にセグメント化することを含む。方法はまた、各話者セグメントから話者区別埋込み(240)を抽出することと、話者区別埋込みにおいて、スペクトルクラスタリングを実行して、複数の話者セグメントをk個のクラス(262)にクラスタリングすることとを含む。方法はまた、k個のクラスのうちの各他のクラスにクラスタリングされた話者セグメントに割り当てられたそれぞれの話者ラベルとは異なる、それぞれの話者ラベル(250)を、それぞれのクラスにクラスタリングされた各話者セグメントに割り当てることを含む。
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(142)上で実行されると、前記データ処理ハードウェア(142)に動作を実行させる、コンピュータ実装方法(400)であって、前記動作が、
複数の話者(10)によって話された発話(120)に対応する入力オーディオ信号(122)を受信することと、
音声認識モデル(300)を使用して、前記入力オーディオ信号(122)を処理して、前記音声認識モデル(300)からの出力として、
前記発話(120)のトランスクリプション(220)と、
前記トランスクリプション(220)内で隣接する言葉(222)のそれぞれのペアの間で検出されたそれぞれの話者ターンのロケーションを各々示す、話者ターントークン(224)のシーケンスと
を一緒に生成することと、
前記話者ターントークン(224)のシーケンスに基づいて、前記入力オーディオ信号(122)を複数の話者セグメント(225)にセグメント化することと、
前記複数の話者セグメント(225)のうちの各話者セグメント(225)について、前記話者セグメント(225)から対応する話者区別埋込み(240)を抽出することと、
前記複数の話者セグメント(225)から抽出された前記話者区別埋込み(240)において、スペクトルクラスタリングを実行して、前記複数の話者セグメント(225)をk個のクラス(262)にクラスタリングすることと、
前記k個のクラス(262)のうちの各それぞれのクラス(262)について、前記k個のクラス(262)のうちの各他のクラス(262)にクラスタリングされた前記話者セグメント(225)に割り当てられたそれぞれの話者ラベル(250)とは異なる、前記それぞれの話者ラベル(250)を、前記それぞれのクラス(262)にクラスタリングされた各話者セグメント(225)に割り当てることと
を含む、コンピュータ実装方法(400)。
【請求項2】
前記動作が、各話者セグメント(225)に割り当てられた前記話者ラベル(250)に基づいて、前記発話(120)の前記トランスクリプション(220)に注釈を付けることをさらに含む、請求項1に記載のコンピュータ実装方法(400)。
【請求項3】
前記話者ターントークン(224)のシーケンスにおける各話者ターントークン(224)が、対応するタイムスタンプ(223)を有し、
前記話者ターントークン(224)のシーケンスに基づいて、前記入力オーディオ信号(122)を前記複数の話者セグメント(225)にセグメント化することが、前記入力オーディオ信号(122)を、前記話者ターントークン(224)のシーケンスにおける隣接する話者ターントークン(224)のそれぞれのペアの前記対応するタイムスタンプ(223)によって各々画定された初期話者セグメント(225)にセグメント化することを含む、請求項1または2に記載のコンピュータ実装方法(400)。
【請求項4】
前記動作が、
セグメント持続時間しきい値を超えるそれぞれの持続時間を有する各初期話者セグメント(225)について、前記初期話者セグメントを、前記セグメント持続時間しきい値以下のそれぞれの持続時間を有する2つ以上の短縮持続時間話者セグメント(225)にさらにセグメント化すること
をさらに含み、
前記入力オーディオ信号(122)からセグメント化された前記複数の話者セグメント(225)が、
前記セグメント持続時間しきい値以下のそれぞれの持続時間を有する前記初期話者セグメント(225)と、
前記セグメント持続時間しきい値を超えるそれぞれの持続時間を有する前記初期話者セグメント(225)のうちのいずれかからさらにセグメント化された、前記短縮持続時間話者セグメント(225)と
を備える、請求項3に記載のコンピュータ実装方法(400)。
【請求項5】
前記話者セグメント(225)から対応する話者区別埋込み(240)を抽出することが、
話者エンコーダモデル(230)への入力として、前記話者セグメント(225)を受信することと、
前記話者エンコーダモデル(230)からの出力として、前記対応する話者区別埋込み(240)を生成することと
を含む、請求項1から4のいずれか一項に記載のコンピュータ実装方法(400)。
【請求項6】
前記話者エンコーダモデル(230)が、各話者セグメント(225)から前記対応する話者区別埋込み(240)を抽出するように構成された、長短期記憶ベース(LSTMベース)の話者エンコーダモデルを備える、請求項5に記載のコンピュータ実装方法(400)。
【請求項7】
前記動作が、
前記音声認識モデル(300)からの出力として生成された、前記話者ターントークン(224)のシーケンスにおける各話者ターントークン(224)について、前記トランスクリプション(220)内で検出された前記それぞれの話者ターンの信頼性を予測することと、
前記話者ターントークン(224)について予測された前記信頼性に基づいて、対制約(226)を決定することと
をさらに含み、
前記話者区別埋込み(240)において実行される前記スペクトルクラスタリングが、前記対制約(226)によって制約される、請求項1から6のいずれか一項に記載のコンピュータ実装方法(400)。
【請求項8】
前記音声認識モデル(300)が、ストリーミングトランスデューサベースの音声認識モデルを備え、前記ストリーミングトランスデューサベースの音声認識モデルが、
オーディオエンコーダ(310)であって、
入力として、音響フレーム(122)のシーケンスを受信することと、
複数の時間ステップの各々において、前記音響フレーム(122)のシーケンスにおける対応する音響フレーム(122)のための高次特徴表現(312)を生成することと
を行うように構成された、オーディオエンコーダ(310)と、
ラベルエンコーダ(320)であって、
入力として、最終ソフトマックス層(340)によって出力された非ブランク記号(222)のシーケンスを受信することと、
前記複数の時間ステップの各々において、密な表現(322)を生成することと
を行うように構成された、ラベルエンコーダ(320)と、
ジョイントネットワーク(330)であって、
入力として、前記複数の時間ステップの各々において、前記オーディオエンコーダ(310)によって生成された、前記高次特徴表現(312)と、前記複数の時間ステップの各々において、前記ラベルエンコーダ(320)によって生成された、前記密な表現(322)とを受信することと、
前記複数の時間ステップの各々において、前記対応する時間ステップにおける可能な音声認識仮説にわたる確率分布(342)を生成することと
を行うように構成された、ジョイントネットワーク(330)と
を備える、請求項1から7のいずれか一項に記載のコンピュータ実装方法(400)。
【請求項9】
前記オーディオエンコーダ(310)が、複数のトランスフォーマ層を有するニューラルネットワークを備える、請求項8に記載のコンピュータ実装方法(400)。
【請求項10】
前記ラベルエンコーダ(320)が、バイグラム埋込みルックアップデコーダモデルを備える、請求項8または9に記載のコンピュータ実装方法(400)。
【請求項11】
前記音声認識モデル(300)が、トレーニング発話(120)の対応するグランドトゥルーストランスクリプション(220)とペアにされた、2人以上の異なる話者(10)によって話された前記トレーニング発話(120)を各々備える、トレーニングサンプルにおいてトレーニングされ、各グランドトゥルーストランスクリプション(220)が、話者ターンが前記グランドトゥルーストランスクリプション内で生じるロケーションを示す、グランドトゥルース話者ターントークンを注入される、請求項1から10のいずれか一項に記載のコンピュータ実装方法(400)。
【請求項12】
各トレーニングサンプルの前記対応するグランドトゥルーストランスクリプションに、いかなるタイムスタンプ(223)情報を用いた注釈も付けられない、請求項11に記載のコンピュータ実装方法(400)。
【請求項13】
システム(100)であって、
データ処理ハードウェア(142)と、
前記データ処理ハードウェア(142)と通信しており、命令を記憶する、メモリハードウェア(146)とを備え、前記命令が、前記データ処理ハードウェア(142)によって実行されると、前記データ処理ハードウェア(142)に動作を実行させ、前記動作が、
複数の話者(10)によって話された発話(120)に対応する入力オーディオ信号(122)を受信することと、
音声認識モデル(300)を使用して、前記入力オーディオ信号(122)を処理して、前記音声認識モデル(300)からの出力として、
前記発話(120)のトランスクリプション(220)と、
前記トランスクリプション(220)内で隣接する言葉(222)のそれぞれのペアの間で検出されたそれぞれの話者ターンのロケーションを各々示す、話者ターントークン(224)のシーケンスと
を一緒に生成することと、
前記話者ターントークン(224)のシーケンスに基づいて、前記入力オーディオ信号(122)を複数の話者セグメント(225)にセグメント化することと、
前記複数の話者セグメント(225)のうちの各話者セグメント(225)について、前記話者セグメント(225)から対応する話者区別埋込み(240)を抽出することと、
前記複数の話者セグメント(225)から抽出された前記話者区別埋込み(240)において、スペクトルクラスタリングを実行して、前記複数の話者セグメント(225)をk個のクラス(262)にクラスタリングすることと、
前記k個のクラス(262)のうちの各それぞれのクラス(262)について、前記k個のクラス(262)のうちの各他のクラス(262)にクラスタリングされた前記話者セグメント(225)に割り当てられたそれぞれの話者ラベル(250)とは異なる、前記それぞれの話者ラベル(250)を、前記それぞれのクラス(262)にクラスタリングされた各話者セグメント(225)に割り当てることと
を含む、システム(100)。
【請求項14】
前記動作が、各話者セグメント(225)に割り当てられた前記話者ラベル(250)に基づいて、前記発話(120)の前記トランスクリプション(220)に注釈を付けることをさらに含む、請求項13に記載のシステム(100)。
【請求項15】
前記話者ターントークン(224)のシーケンスにおける各話者ターントークン(224)が、対応するタイムスタンプ(223)を有し、
前記話者ターントークン(224)のシーケンスに基づいて、前記入力オーディオ信号(122)を前記複数の話者セグメント(225)にセグメント化することが、前記入力オーディオ信号(122)を、前記話者ターントークン(224)のシーケンスにおける隣接する話者ターントークン(224)のそれぞれのペアの前記対応するタイムスタンプ(223)によって各々画定された初期話者セグメント(225)にセグメント化することを含む、請求項13または14に記載のシステム(100)。
【請求項16】
前記動作が、
セグメント持続時間しきい値を超えるそれぞれの持続時間を有する各初期話者セグメント(225)について、前記初期話者セグメントを、前記セグメント持続時間しきい値以下のそれぞれの持続時間を有する2つ以上の短縮持続時間話者セグメント(225)にさらにセグメント化すること
をさらに含み、
前記入力オーディオ信号(122)からセグメント化された前記複数の話者セグメント(225)が、
前記セグメント持続時間しきい値以下のそれぞれの持続時間を有する前記初期話者セグメント(225)と、
前記セグメント持続時間しきい値を超えるそれぞれの持続時間を有する前記初期話者セグメント(225)のうちのいずれかからさらにセグメント化された、前記短縮持続時間話者セグメント(225)と
を備える、請求項15に記載のシステム(100)。
【請求項17】
前記話者セグメント(225)から対応する話者区別埋込み(240)を抽出することが、
話者エンコーダモデル(230)への入力として、前記話者セグメント(225)を受信することと、
前記話者エンコーダモデル(230)からの出力として、前記対応する話者区別埋込み(240)を生成することと
を含む、請求項13から16のいずれか一項に記載のシステム(100)。
【請求項18】
前記話者エンコーダモデル(230)が、各話者セグメント(225)から前記対応する話者区別埋込み(240)を抽出するように構成された、長短期記憶ベース(LSTMベース)の話者エンコーダモデルを備える、請求項17に記載のシステム(100)。
【請求項19】
前記動作が、
前記音声認識モデル(300)からの出力として生成された、前記話者ターントークン(224)のシーケンスにおける各話者ターントークン(224)について、前記トランスクリプション(220)内で検出された前記それぞれの話者ターンの信頼性を予測することと、
前記話者ターントークン(224)について予測された前記信頼性に基づいて、対制約(226)を決定することと
をさらに含み、
前記話者区別埋込み(240)において実行される前記スペクトルクラスタリングが、前記対制約(226)によって制約される、請求項13から18のいずれか一項に記載のシステム(100)。
【請求項20】
前記音声認識モデル(300)が、ストリーミングトランスデューサベースの音声認識モデルを備え、前記ストリーミングトランスデューサベースの音声認識モデルが、
オーディオエンコーダ(310)であって、
入力として、音響フレーム(122)のシーケンスを受信することと、
複数の時間ステップの各々において、前記音響フレーム(122)のシーケンスにおける対応する音響フレーム(122)のための高次特徴表現(312)を生成することと
を行うように構成された、オーディオエンコーダ(310)と、
ラベルエンコーダ(320)であって、
入力として、最終ソフトマックス層(340)によって出力された非ブランク記号(222)のシーケンスを受信することと、
前記複数の時間ステップの各々において、密な表現(322)を生成することと
を行うように構成された、ラベルエンコーダ(320)と、
ジョイントネットワーク(330)であって、
入力として、前記複数の時間ステップの各々において、前記オーディオエンコーダ(310)によって生成された、前記高次特徴表現(312)と、前記複数の時間ステップの各々において、前記ラベルエンコーダ(320)によって生成された、前記密な表現(322)とを受信することと、
前記複数の時間ステップの各々において、前記対応する時間ステップにおける可能な音声認識仮説にわたる確率分布(342)を生成することと
を行うように構成された、ジョイントネットワーク(330)と
を備える、請求項13から19のいずれか一項に記載のシステム(100)。
【請求項21】
前記オーディオエンコーダ(310)が、複数のトランスフォーマ層を有するニューラルネットワークを備える、請求項20に記載のシステム(100)。
【請求項22】
前記ラベルエンコーダ(320)が、バイグラム埋込みルックアップデコーダモデルを備える、請求項20または21に記載のシステム(100)。
【請求項23】
前記音声認識モデル(300)が、トレーニング発話(120)の対応するグランドトゥルーストランスクリプション(220)とペアにされた、2人以上の異なる話者(10)によって話された前記トレーニング発話(120)を各々備える、トレーニングサンプルにおいてトレーニングされ、各グランドトゥルーストランスクリプション(220)が、話者ターンが前記グランドトゥルーストランスクリプション内で生じるロケーションを示す、グランドトゥルース話者ターントークンを注入される、請求項13から22のいずれか一項に記載のシステム(100)。
【請求項24】
各トレーニングサンプルの前記対応するグランドトゥルーストランスクリプションに、いかなるタイムスタンプ(223)情報を用いた注釈も付けられない、請求項23に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制約付きスペクトルクラスタリングを用いた話者ターンベースのオンライン話者ダイアライゼーションに関する。
【背景技術】
【0002】
話者ダイアライゼーションは、話者識別情報に従って入力オーディオストリームを均質なセグメントに区分するプロセスである。複数の話者がいる環境では、話者ダイアライゼーションは、「誰がいつ話しているか」という質問に答えるものであり、いくつかの例を挙げれば、マルチメディア情報検索、話者ターン分析、オーディオ処理、および会話音声の自動トランスクリプションを含む、様々な適用例を有する。たとえば、話者ダイアライゼーションは、入力オーディオストリームの第1のセグメントが、第1の人間の話者に起因することを(第1の人間の話者が誰であるかを特に識別することなしに)識別し、入力オーディオストリームの第2のセグメントが、異なる第2の人間の話者に起因することを(第2の人間の話者が誰であるかを特に識別することなしに)識別し、入力オーディオストリームの第3のセグメントが、第1の人間の話者に起因することを識別することなどによって、会話における話者ターンに注釈を付けるタスクを伴う。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様は、データ処理ハードウェア上で実行されると、データ処理ハードウェアに、話者ターンベースのオンライン話者ダイアライゼーションのための動作を実行させる、コンピュータ実装方法を提供する。動作は、複数の話者によって話された発話に対応する入力オーディオ信号を受信することを含む。動作はまた、音声認識モデルを使用して、入力オーディオ信号を処理して、音声認識モデルからの出力として、発話のトランスクリプションと、話者ターントークンのシーケンスとを一緒に生成することを含む。各話者ターントークンは、トランスクリプション内で隣接する言葉のそれぞれのペアの間で検出されたそれぞれの話者ターンのロケーションを示す。動作はまた、話者ターントークンのシーケンスに基づいて、入力オーディオ信号を複数の話者セグメントにセグメント化することを含む。複数の話者セグメントのうちの各話者セグメントについて、動作は、話者セグメントから対応する話者区別埋込み(speaker-discriminative embedding)を抽出することを含む。動作はまた、複数の話者セグメントから抽出された話者区別埋込みにおいて、スペクトルクラスタリングを実行して、複数の話者セグメントをk個のクラスにクラスタリングすることを含む。k個のクラスのうちの各それぞれのクラスについて、動作は、k個のクラスのうちの各他のクラスにクラスタリングされた話者セグメントに割り当てられたそれぞれの話者ラベルとは異なる、それぞれの話者ラベルを、それぞれのクラスにクラスタリングされた各話者セグメントに割り当てることを含む。
【0004】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、動作は、各話者セグメントに割り当てられた話者ラベルに基づいて、発話のトランスクリプションに注釈を付けることをさらに含む。いくつかの例では、話者ターントークンのシーケンスにおける各話者ターントークンが、対応するタイムスタンプを有する。これらの例では、話者ターントークンのシーケンスに基づいて、入力オーディオ信号を複数の話者セグメントにセグメント化することが、入力オーディオ信号を、話者ターントークンのシーケンスにおける隣接する話者ターントークンのそれぞれのペアの対応するタイムスタンプによって各々画定された初期話者セグメントにセグメント化することを含む。いくつかの実装形態では、セグメント持続時間しきい値を超えるそれぞれの持続時間を有する各初期話者セグメントについて、動作が、初期話者セグメントを、セグメント持続時間しきい値以下のそれぞれの持続時間を有する2つ以上の短縮持続時間話者セグメントにセグメント化することをさらに含む。ここで、入力オーディオ信号からセグメント化された複数の話者セグメントが、セグメント持続時間しきい値以下のそれぞれの持続時間を有する初期話者セグメントと、セグメント持続時間しきい値を超えるそれぞれの持続時間を有する初期話者セグメントのうちのいずれかからさらにセグメント化される、短縮持続時間話者セグメントとを含む。
【0005】
いくつかの実装形態では、話者セグメントから対応する話者区別埋込みを抽出することが、話者エンコーダモデルへの入力として、話者セグメントを受信することと、話者エンコーダモデルからの出力として、対応する話者区別埋込みを生成することとを含む。これらの実装形態では、話者エンコーダモデルが、各話者セグメントから対応する話者区別埋込みを抽出するように構成された、長短期記憶ベース(LSTMベース)の話者エンコーダモデルを含む。いくつかの例では、動作が、音声認識モデルからの出力として生成された、話者ターントークンのシーケンスにおける各話者ターントークンについて、トランスクリプション内で検出されたそれぞれの話者ターンの信頼性を予測することと、話者ターントークンについて予測された信頼性に基づいて、対制約を決定することとをさらに含む。ここで、話者区別埋込みにおいて実行されるスペクトルクラスタリングが、対制約によって制約される。
【0006】
いくつかの実装形態では、音声認識モデルが、ストリーミングトランスデューサベースの音声認識モデルを含み、ストリーミングトランスデューサベースの音声認識モデルが、オーディオエンコーダであって、入力として、音響フレームのシーケンスを受信することと、複数の時間ステップの各々において、音響フレームのシーケンスにおける対応する音響フレームのための高次特徴表現を生成することとを行うように構成された、オーディオエンコーダと、ラベルエンコーダであって、入力として、最終ソフトマックス層によって出力された非ブランク記号のシーケンスを受信することと、複数の時間ステップの各々において、密な表現を生成することとを行うように構成された、ラベルエンコーダと、ジョイントネットワークであって、入力として、複数の時間ステップの各々において、オーディオエンコーダによって生成された、高次特徴表現と、複数の時間ステップの各々において、ラベルエンコーダによって生成された、密な表現とを受信することと、複数の時間ステップの各々において、対応する時間ステップにおける可能な音声認識仮説にわたる確率分布を生成することとを行うように構成された、ジョイントネットワークとを含む。ここで、オーディオエンコーダが、複数のトランスフォーマ層を有するニューラルネットワークを含み得る。いくつかの例では、ラベルエンコーダが、バイグラム埋込みルックアップデコーダモデル(bigram embedding lookup decoder model)を含む。
【0007】
2人以上の異なる話者によって話されたトレーニング発話を各々含み、トレーニング発話の対応するグランドトゥルーストランスクリプションとペアにされる、トレーニングサンプルにおいて、音声認識モデルがトレーニングされ得る。ここで、各グランドトゥルーストランスクリプションが、話者ターンがグランドトゥルーストランスクリプション内で生じるロケーションを示す、グランドトゥルース話者ターントークンを注入される。場合によっては、各トレーニングサンプルの対応するグランドトゥルーストランスクリプションに、いかなるタイムスタンプ情報を用いた注釈も付けられないことがある。
【0008】
本開示の別の態様は、データ処理ハードウェアと、命令を記憶するメモリハードウェアとを含む、システムを提供し、命令が、データ処理ハードウェア上で実行されると、データ処理ハードウェアに動作を実行させる。動作は、複数の話者によって話された発話に対応する入力オーディオ信号を受信することを含む。動作はまた、音声認識モデルを使用して、入力オーディオ信号を処理して、音声認識モデルからの出力として、発話のトランスクリプションと、話者ターントークンのシーケンスとを一緒に生成することを含む。各話者ターントークンは、トランスクリプション内で隣接する言葉のそれぞれのペアの間で検出されたそれぞれの話者ターンのロケーションを示す。動作はまた、話者ターントークンのシーケンスに基づいて、入力オーディオ信号を複数の話者セグメントにセグメント化することを含む。複数の話者セグメントのうちの各話者セグメントについて、動作は、話者セグメントから対応する話者区別埋込みを抽出することを含む。動作はまた、複数の話者セグメントから抽出された話者区別埋込みにおいて、スペクトルクラスタリングを実行して、複数の話者セグメントをk個のクラスにクラスタリングすることを含む。k個のクラスのうちの各それぞれのクラスについて、動作は、k個のクラスのうちの各他のクラスにクラスタリングされた話者セグメントに割り当てられたそれぞれの話者ラベルとは異なる、それぞれの話者ラベルを、それぞれのクラスにクラスタリングされた各話者セグメントに割り当てることを含む。
【0009】
本開示の実装形態は、以下の任意の特徴のうちの1つまたは複数を含み得る。いくつかの実装形態では、動作は、各話者セグメントに割り当てられた話者ラベルに基づいて、発話のトランスクリプションに注釈を付けることをさらに含む。いくつかの例では、話者ターントークンのシーケンスにおける各話者ターントークンが、対応するタイムスタンプを有する。これらの例では、話者ターントークンのシーケンスに基づいて、入力オーディオ信号を複数の話者セグメントにセグメント化することが、入力オーディオ信号を、話者ターントークンのシーケンスにおける隣接する話者ターントークンのそれぞれのペアの対応するタイムスタンプによって各々画定された初期話者セグメントにセグメント化することを含む。いくつかの実装形態では、セグメント持続時間しきい値を超えるそれぞれの持続時間を有する各初期話者セグメントについて、動作が、初期話者セグメントを、セグメント持続時間しきい値以下のそれぞれの持続時間を有する2つ以上の短縮持続時間話者セグメントにセグメント化することをさらに含む。ここで、入力オーディオ信号からセグメント化された複数の話者セグメントが、セグメント持続時間しきい値以下のそれぞれの持続時間を有する初期話者セグメントと、セグメント持続時間しきい値を超えるそれぞれの持続時間を有する初期話者セグメントのうちのいずれかからさらにセグメント化される、短縮持続時間話者セグメントとを含む。
【0010】
いくつかの実装形態では、話者セグメントから対応する話者区別埋込みを抽出することが、話者エンコーダモデルへの入力として、話者セグメントを受信することと、話者エンコーダモデルからの出力として、対応する話者区別埋込みを生成することとを含む。これらの実装形態では、話者エンコーダモデルが、各話者セグメントから対応する話者区別埋込みを抽出するように構成された、長短期記憶ベース(LSTMベース)の話者エンコーダモデルを含む。いくつかの例では、動作が、音声認識モデルからの出力として生成された、話者ターントークンのシーケンスにおける各話者ターントークンについて、トランスクリプション内で検出されたそれぞれの話者ターンの信頼性を予測することと、話者ターントークンについて予測された信頼性に基づいて、対制約を決定することとをさらに含む。ここで、話者区別埋込みにおいて実行されるスペクトルクラスタリングが、対制約によって制約される。
【0011】
いくつかの実装形態では、音声認識モデルが、ストリーミングトランスデューサベースの音声認識モデルを含み、ストリーミングトランスデューサベースの音声認識モデルが、オーディオエンコーダであって、入力として、音響フレームのシーケンスを受信することと、複数の時間ステップの各々において、音響フレームのシーケンスにおける対応する音響フレームのための高次特徴表現を生成することとを行うように構成された、オーディオエンコーダと、ラベルエンコーダであって、入力として、最終ソフトマックス層によって出力された非ブランク記号のシーケンスを受信することと、複数の時間ステップの各々において、密な表現を生成することとを行うように構成された、ラベルエンコーダと、ジョイントネットワークであって、入力として、複数の時間ステップの各々において、オーディオエンコーダによって生成された、高次特徴表現と、複数の時間ステップの各々において、ラベルエンコーダによって生成された、密な表現とを受信することと、複数の時間ステップの各々において、対応する時間ステップにおける可能な音声認識仮説にわたる確率分布を生成することとを行うように構成された、ジョイントネットワークとを含む。ここで、オーディオエンコーダが、複数のトランスフォーマ層を有するニューラルネットワークを含み得る。いくつかの例では、ラベルエンコーダが、バイグラム埋込みルックアップデコーダモデルを含む。
【0012】
2人以上の異なる話者によって話されたトレーニング発話を各々含み、トレーニング発話の対応するグランドトゥルーストランスクリプションとペアにされる、トレーニングサンプルにおいて、音声認識モデルがトレーニングされ得る。ここで、各グランドトゥルーストランスクリプションが、話者ターンがグランドトゥルーストランスクリプション内で生じるロケーションを示す、グランドトゥルース話者ターントークンを注入される。場合によっては、各トレーニングサンプルの対応するグランドトゥルーストランスクリプションに、いかなるタイムスタンプ情報を用いた注釈も付けられないことがある。
【0013】
本開示の1つまたは複数の実装形態の詳細が、添付の図面および以下の説明に記載される。他の態様、特徴、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【0014】
図1】話者ダイアライゼーションを実行するための例示的な話者ダイアライゼーションシステムの概略図である。
図2図1の例示的な話者ダイアライゼーションシステムの概略図である。
図3】トランスデューサベースのアーキテクチャを用いた、例示的な自動音声認識モデルの概略図である。
図4】複数の異なる話者によって話された音声の発話を含んでいる入力オーディオ信号において、話者ダイアライゼーションを実行するコンピュータ実装方法のための動作の例示的な構成のフローチャートである。
図5】本明細書で説明されるシステムおよび方法を実装するために使用され得る、例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0015】
様々な図面における同様の参照符号は、同様の要素を示す。
【0016】
自動音声認識(ASR)システムは、一般に、1人の話者のみが所与の入力オーディオ信号内に存在すると仮定する、音声処理アルゴリズムに依拠する。複数の話者の存在を含む入力オーディオ信号は、これらの音声処理アルゴリズムを潜在的に混乱させることがあり、それによって、不正確な音声認識結果がASRシステムによって出力されることにつながり得る。これらのASRシステムは、「誰がいつ話しているか」という質問に答えるために、話者ダイアライゼーションシステムを含む。したがって、話者ダイアライゼーションは、誰が話しているか(話者認識/識別)を詳細に決定するのではなく、むしろ、いつ誰かが話しているかを決定するために、より大きい会話に関与する複数の話者からの音声をセグメント化するプロセスである。言い換えれば、話者ダイアライゼーションは、短い発話を用いた一連の話者認識タスクを含み、所与の会話の2つのセグメントが同じ個人によって話されたか、あるいは異なる個人によって話されたか否かを決定し、会話のすべてのセグメントについて繰り返される。したがって、話者ダイアライゼーションは、複数の話者を含む会話から、話者ターンを検出する。本明細書で使用される「話者ターン」という用語は、より大きい会話において、ある個人が話すことから異なる個人が話すことへの移行を指す。
【0017】
既存の話者ダイアライゼーションシステムは、一般に、限定はしないが、音声セグメント化モジュール、埋込み抽出モジュール、およびクラスタリングモジュールなど、複数の比較的独立した構成要素を含む。音声セグメント化モジュールは、一般に、入力発話から非音声部分を除去し、入力発話全体を固定長セグメントおよび/または単語長セグメントに分割するように構成される。入力発話を固定長セグメントに分割することは実施しやすいが、しばしば、良好なセグメント長を発見することが難しい。すなわち、長い固定長セグメントは、いくつかの話者ターンを含み得るが、短いセグメントは、不十分な話者情報を含む。その上、単語長セグメントを生成するASRモデルは、通常、単一の話者によって話されるが、ただし、個々の単語も不十分な話者情報を含む。埋込み抽出モジュールは、各セグメントから、対応する話者区別埋込みを抽出するように構成される。話者区別埋込みは、iベクトルまたはdベクトルを含み得る。
【0018】
既存の話者ダイアライゼーションシステムによって採用されたクラスタリングモジュールは、入力発話内に存在する話者の数を決定するタスクを課せられ、話者識別情報(たとえば、ラベル)を各セグメントに割り当てる。これらのクラスタリングモジュールは、ガウス混合モデル、リンククラスタリング、およびスペクトルクラスタリングを含む、普及しているクラスタリングアルゴリズムを使用し得る。話者ダイアライゼーションシステムはまた、追加の制約を実施することによって、クラスタリングモジュールから出力されたダイアライゼーション結果をさらに精緻化するための、追加の再セグメント化モジュールを使用し得る。クラスタリングモジュールは、低品質を有することが多いオンラインクラスタリングアルゴリズム、または入力シーケンス全体の最後にのみダイアライゼーション結果を返すことができる、オフラインクラスタリングアルゴリズムを実行し得る。いくつかの例では、レイテンシを最小化しながら高品質、という両方を達成するために、クラスタリングアルゴリズムが、オンライン様式においてオフラインで実行される。たとえば、各話者区別埋込みの受信に応答して、クラスタリングアルゴリズムは、すべての既存の埋込みのシーケンス全体においてオフラインで実行する。しかしながら、これらの例を実装することは、話者区別埋込みのシーケンスが長い場合、計算コストが極めて高くなり得る。
【0019】
本明細書の実装形態は、複数の話者によって話された、受信された発話において、音声認識と話者ターン検出(すなわち、アクティブな話者が変更になるとき)の両方を実行する、音声認識モデルを含む、オンライン話者ダイアライゼーションシステムを対象とする。話者ダイアライゼーションシステムは、検出された話者ターンに基づいて、発話を話者セグメントにセグメント化し、そこから話者区別埋込みを抽出する。有利には、話者ターン検出に基づいて、発話からセグメント化された各話者セグメントは、ロバストな話者区別埋込みを抽出するために十分な情報を搬送する、話者からの連続的な音声を含む。その上、長い持続時間の会話の発話の場合、話者ターンの数(すなわち、話者変更の数)は、通常、固定長セグメントの数よりもはるかに小さく、それによって、クラスタリングアルゴリズムを実行する計算コストが削減され、その理由は、話者区別埋込みが、話者ターンによって画定される話者セグメントからのみ抽出されるからである。
【0020】
新しい話者区別埋込みの受信に応答して、話者ダイアライゼーションシステムは、すべての既存の話者区別埋込みのシーケンス全体において、スペクトルクラスタリングを実行する。したがって、音声認識モデルは、スペクトルクラスタリングのストリーミング実行を可能にするために、ストリーミング様式において、音声認識結果および検出された話者ターンを出力する。有利には、ターン的な(turn-wise)話者区別埋込みは、話者セグメントからまばらに(すなわち、話者ターンの後にのみ)抽出されるので、すべての既存の話者区別埋込みのシーケンスは、比較的長い会話(すなわち、複数時間)の場合でも比較的短い。したがって、オンラインスペクトルクラスタリングの実行は、スペクトルクラスタリングがデバイス上に展開され得るように、低いレイテンシを維持しながら、計算コストが低い。
【0021】
その上、人間の注釈者が正確なタイムスタンプを話者ターンに割り当てること、およびこれらのターンにわたって異なる話者を手動で識別することが必要とされないので、トレーニング時間が大幅に短縮される。タイムスタンプに注釈を付けること、およびターンにわたって話者を識別することは、時間のかかるプロセスであり、単一の注釈者がワンパスで10分のオーディオに注釈を付けるために、約2時間を要することがある。代わりに、音声認識モデルは、各検出された話者ターンが、音声認識モデルによって知られる対応するタイムスタンプに関連付けられるように、音声認識結果において伝達された意味情報から話者ターンを検出するようにトレーニングされる。したがって、これらのタイムスタンプは、人間によって注釈を付けられず、トレーニングオーディオデータを対応する話者セグメントにセグメント化するために使用され得る。
【0022】
図1を参照すると、システム100は、話者(たとえば、ユーザ)10のグループ10a~nから、音声発話120をキャプチャし、ネットワーク130を介して、クラウドコンピューティング環境140と通信する、ユーザデバイス110を含む。クラウドコンピューティング環境140は、スケーラブル/エラスティックなリソース142を有する分散システムであり得る。リソース142は、コンピューティングリソース142(たとえば、データ処理ハードウェア)および/または記憶リソース146(たとえば、メモリハードウェア)を含む。いくつかの実装形態では、ユーザデバイス110および/またはクラウドコンピューティング環境140は、複数の話者10からのキャプチャされた発話120に対応する入力オーディオ信号(すなわち、オーディオデータ)122を受信するように構成される、ダイアライゼーションシステム200を実行する。ダイアライゼーションシステム200は、入力オーディオ信号122を処理し、キャプチャされた発話120のトランスクリプション220と、話者ターントークン224のシーケンス224a~nとを生成する。話者ターントークン224は、トランスクリプション220内で隣接する言葉のそれぞれのペアの間で検出された話者ターン(たとえば、話者変更)を示す。話者ターントークン224のシーケンスを使用して、ダイアライゼーションシステム200は、入力オーディオ信号122を、そこから抽出された対応する話者区別埋込み240に各々関連付けられた複数の話者セグメント225、225a~nにセグメント化する。その後、ダイアライゼーションシステム200は、話者区別埋込み240および対制約226に基づいて、ダイアライゼーション結果280を生成する。ダイアライゼーション結果280は、各話者セグメント225に割り当てられた対応する話者ラベル250を含む。
【0023】
ユーザデバイス110は、データ処理ハードウェア112およびメモリハードウェア114を含む。ユーザデバイス110は、話者10から発話120をキャプチャし、オーディオデータ122(たとえば、電気信号)に変換するための、オーディオキャプチャデバイス(たとえば、マイクロフォン)を含み得る。いくつかの実装形態では、データ処理ハードウェア112は、ダイアライゼーションシステム200の一部分をローカルに実行するように構成されるが、ダイアライゼーションシステム200の残りの部分は、クラウドコンピューティング環境140上で実行する。代替的に、データ処理ハードウェア112は、クラウドコンピューティング環境140上でダイアライゼーションシステム200を実行する代わりに、ダイアライゼーションシステム200を実行し得る。ユーザデバイス110は、ネットワーク130を通して、クラウドコンピューティング環境140と通信することが可能な、任意のコンピューティングデバイスであり得る。ユーザデバイス110は、限定はしないが、ラップトップ、タブレット、スマートフォン、スマートスピーカー/ディスプレイ、スマートアプライアンス、モノのインターネット(IoT)デバイス、およびウェアラブルコンピューティングデバイス(たとえば、ヘッドセットおよび/または腕時計)など、デスクトップコンピューティングデバイスおよびモバイルコンピューティングデバイスを含む。
【0024】
図示の例では、話者10およびユーザデバイス110は、ユーザデバイス110が話者10によって話された音声発話120をキャプチャし、入力オーディオ信号122(オーディオデータ122とも呼ばれる)に変換するように構成される、環境(たとえば、部屋)内に位置し得る。たとえば、話者は、ミーティング中に会話をしている同僚に対応することがあり、ユーザデバイス110は、音声発話を記録し、入力オーディオ信号122に変換し得る。次には、ユーザデバイス110は、音声の各セグメントについて、どの話者10が話しているかを予測するために、ダイアライゼーションシステム200に入力オーディオ信号122を提供し得る。したがって、ダイアライゼーションシステム200は、話者認識/識別を介して、誰が話しているかを詳細に決定することなしに、入力オーディオ信号122を処理して、いつ誰かが話しているかを決定するタスクを課せられる。
【0025】
いくつかの例では、所与の時刻に、話者10のうちの2人以上の声がアクティブであるように、入力オーディオ信号122において伝達された発話120の少なくとも一部分が重複している。特に、複数の話者10の数Nは、入力オーディオ信号122がダイアライゼーションシステム200に入力として提供されるとき、知られていないことがあり、ダイアライゼーションシステムは、複数の話者10の数Nを予測し得る。いくつかの実装形態では、ユーザデバイス110は、話者10からリモートに位置する。たとえば、ユーザデバイスは、通話またはビデオ会議における参加者である話者から音声発話120をキャプチャする、リモートデバイス(たとえば、ネットワークサーバ)を含み得る。このシナリオでは、各話者10(または複数の話者10のグループ)は、音声発話120をキャプチャし、音声発話120をオーディオデータ122に変換するためにリモートユーザデバイス110に提供する、自分自身のデバイス(たとえば、電話、無線機、コンピュータ、スマートウォッチなど)に話すことになる。もちろん、このシナリオでは、発話120は、ユーザデバイスの各々において処理を受け、リモートユーザデバイス110に送信される対応する入力オーディオ信号122に変換され得、リモートユーザデバイス110は、ダイアライゼーションシステム200に入力として提供された入力オーディオ信号122をさらに処理し得る。
【0026】
図示の例では、ダイアライゼーションシステム200は、ASRモデル300と、セグメント化モジュール210と、話者エンコーダ230と、クラスタリングモジュール260とを含む。ASRモデル300は、入力オーディオ信号122を受信し、入力オーディオ信号122を処理して、発話120のトランスクリプション220と、話者ターントークン224のシーケンス224a~nとを一緒に生成するように構成される。ASRモデル300は、入力オーディオ信号122が受信されるとき、トランスクリプション220および話者ターントークン224をストリーミング様式において一緒に生成する、ストリーミングASRモデル300を含み得る。トランスクリプション220は、トランスクリプション220内で隣接する言葉のそれぞれのペアの間で検出されたそれぞれの話者ターンのロケーションを示す、話者ターントークン224のシーケンスを含む。たとえば、発話120は、「こんにちは、あなたは元気ですか、私は元気です(hello how are you I am good)」を含むことがあり、ASRモデル300は、「こんにちは、あなたは元気ですか(hello how are you)<st>私は元気です(I am good)」というトランスクリプション220を生成する。この例では、<st>は、隣接する言葉「あなた(you)」と「私(I)」との間の話者ターンを示す、話者ターントークン224を表す。話者ターントークン224のシーケンスにおける各話者ターントークン224はまた、対応するタイムスタンプ223を含み得る。
【0027】
場合によっては、ASRモデル300は、オーディオデータ122における音声認識を改善するために、ダイアライゼーション結果280を利用し得る。たとえば、ASRモデル300は、ダイアライゼーション結果280から識別された異なる話者について、異なる音声認識モデル(たとえば、言語モデル、韻律モデル)を適用し得る。追加または代替として、ASRモデル300および/またはダイアライゼーションシステム200(または何らかの他の構成要素)は、各話者セグメント225の話者ラベル250を使用して、オーディオデータ122のトランスクリプション220をインデックス付けし得る。たとえば、ビジネスミーティング中の複数の同僚(たとえば、話者10)の間の会話のトランスクリプションは、各話者が何を言ったかを識別するために、トランスクリプション220の部分をそれぞれの話者10に関連付けるために、話者によってインデックス付けされ得る。
【0028】
ASRモデル300は、限定はしないが、トランスフォーマ-トランスデューサ(T-T)、リカレントニューラルネットワークトランスデューサ(RNN-T)、および/またはコンフォーマ-トランスデューサ(C-T)を含む、任意のトランスデューサベースのアーキテクチャを含み得る。ASRモデル300は、トレーニング発話の対応するグランドトゥルーストランスクリプションとペアにされた、2人以上の異なる話者10によって話されたトレーニング発話を各々含む、トレーニングサンプルにおいてトレーニングされる。各グランドトゥルーストランスクリプションは、話者ターンがグランドトゥルーストランスクリプション内で生じるロケーションを示した、グランドトゥルース話者ターントークンを注入される。ここで、各トレーニングサンプルの対応するグランドトゥルーストランスクリプションに、いかなるタイムスタンプ情報を用いた注釈も付けられない。
【0029】
セグメント化モジュール210は、音声発話120(「音声の発話」とも呼ばれる)に対応するオーディオデータ122を受信することと、オーディオデータ122を複数の話者セグメント225、225a~nにセグメント化することとを行うように構成される。セグメント化モジュール210は、オーディオデータ122と、対応するタイムスタンプ223とともに話者ターントークン224のシーケンスを含む、トランスクリプション220とを受信して、オーディオデータ122を複数の話者セグメント225にセグメント化する。ここで、各話者セグメント225は、2つの話者ターントークン224の間のオーディオデータに対応する。場合によっては、セグメント化モジュール210は、(たとえば、ボイスアクティビティ検出器を適用することによって)オーディオデータ122から非音声部分をさらに除去し得る。いくつかの例では、セグメント化モジュール210は、以下でより詳細に説明される、セグメント持続時間しきい値を超える話者セグメント225を、さらにセグメント化する。
【0030】
セグメント化モジュール210は、入力オーディオ信号122を、隣接する話者ターントークン224のそれぞれのペアの対応するタイムスタンプ223によって各々画定された初期話者セグメント225にセグメント化することによって、入力オーディオ信号122を複数の話者セグメント225にセグメント化する。たとえば、入力オーディオ信号122は、3秒、6秒、および14秒におけるタイムスタンプ223を有する話者ターントークン224のシーケンスとともに、15秒のオーディオを含み得る。この事例では、セグメント化モジュール210は、入力オーディオ信号を、3秒、6秒、および14秒におけるタイムスタンプ223をもつ話者ターントークン224によって画定された、3つの初期話者セグメント225にセグメント化する。
【0031】
いくつかの実装形態では、初期話者セグメント225は、セグメント持続時間しきい値を超えるそれぞれの持続時間を有し得る。これらの実装形態では、セグメント化モジュール210は、初期話者セグメント225を、セグメント持続時間しきい値以下のそれぞれの持続時間を有する2つ以上の短縮持続時間話者セグメント225にさらにセグメント化する。上記の例を続けると、セグメント化モジュールは、6秒および14秒においてタイムスタンプされた話者ターントークン224によって画定された(たとえば、8秒の持続時間を有する)初期話者セグメント225が、6秒のセグメント持続時間しきい値を超えると決定し得る。このシナリオでは、セグメント化モジュール210は、初期話者セグメント225を、セグメント持続時間しきい値以下のそれぞれの持続時間を有する2つ以上の短縮持続時間話者セグメント225にさらにセグメント化し得る。ここで、セグメント化モジュール210は、8秒の初期話者セグメント225を、6秒の持続時間を有する第1の短縮持続時間話者セグメント225と、2秒の持続時間を有する第2の短縮持続時間話者セグメント225とにセグメント化し得る。したがって、入力オーディオ信号122からセグメント化された複数の話者セグメント225は、セグメント持続時間しきい値以下のそれぞれの持続時間を有する初期話者セグメント225と、セグメント持続時間しきい値を超えるそれぞれの持続時間を有する初期話者セグメント225のうちのいずれかからさらにセグメント化された、短縮持続時間話者セグメント225の両方を含み得る。
【0032】
話者エンコーダ230は、複数の話者セグメント225を受信することと、複数の話者セグメント225のうちの各話者セグメント225について、出力として、話者セグメント225から対応する話者区別埋込み240を抽出することとを行うように構成される。その後、話者エンコーダは、クラスタリングモジュール260に、埋込みの観測シーケンスX=(x1、x2、...、xT)を提供し、そこで、シーケンスにおけるエントリxTは、元の発話120のオーディオデータ122における対応する話者セグメント225に関連付けられた実数値の話者区別埋込み240を表す。話者区別埋込み240は、dベクトルまたはiベクトルなど、話者ベクトルを含み得る。
【0033】
いくつかの例では、話者エンコーダ230は、一般化されたエンドツーエンド拡張セットソフトマックス損失(generalized end-to-end extended-set softmax loss)を用いてトレーニングされた、テキストに依存しない話者エンコーダモデルを含み得る。話者エンコーダは、各話者セグメント225から対応する話者区別埋込み240を抽出するように構成された、長短期記憶ベース(LSTMベース)の話者エンコーダモデルを含み得る。詳細には、話者エンコーダ230は、768ノードおよび256の投影サイズをもつ(3つの)長短期記憶(LSTM)層を含む。ここで、最後のLSTMの出力が、最終256次元dベクトルに変換される。
【0034】
いくつかの実装形態では、話者ターントークン224のシーケンスにおける各話者ターントークン224は、話者区別埋込み240が他の話者セグメント225からの情報を含まないように、話者エンコーダ230のLSTM状態をリセットする。たとえば、話者エンコーダ230は、話者セグメント225の一部分に対応する話者区別埋込み240のみを抽出し得る。したがって、話者区別埋込み240は話者セグメント225からの十分な情報を含むが、話者区別埋込み240が、不正確な情報を含むか、または別の話者10からの重複する音声を含み得るように、話者ターン境界に近すぎない。
【0035】
クラスタリングモジュール260は、各話者セグメント225のための話者区別埋込み240と、対制約226とを受信し、各話者区別埋込み240のための話者ラベル250を予測するように構成される。簡単に言えば、クラスタリングモジュール260は、どの話者10が各話者セグメント225を話したかを予測する。より詳細には、クラスタリングモジュール260は、複数の話者セグメント225から抽出された話者区別埋込み240において、スペクトルクラスタリングを実行して、複数の話者セグメント225をk個のクラス262にクラスタリングする。k個のクラス262は、受信された発話120中に含まれたアクティブな話者の予測された数を表す。その後、k個のクラス262のうちの各それぞれのクラス262について、クラスタリングモジュール260は、k個のクラス262のうちの各他のクラス262にクラスタリングされた話者セグメント225に割り当てられたそれぞれの話者ラベル250とは異なる、それぞれの話者ラベル250を、それぞれのクラス262にクラスタリングされた各話者セグメント225に割り当てる。
【0036】
ASRモデル300はまた、話者区別埋込み240において実行されるスペクトルクラスタリングをさらに制約するために、対制約226を生成し得る。すなわち、ASRモデル300は、トランスクリプション220内で検出された各話者ターントークン224のための信頼性を予測し得る。その上、対制約226は、隣接する話者セグメント225についてのコンテキスト情報を示し得る。たとえば、隣接する話者セグメント225は、セグメント持続時間しきい値未満の持続時間を有する両方の話者セグメント225、セグメント持続時間しきい値未満の持続時間を有する1つの話者セグメント225および短縮持続時間を有する1つの話者セグメント225(すなわち、初期話者セグメントがセグメント持続時間しきい値を超えた)、または短縮持続時間を有する両方の話者セグメント225の任意の組合せを含み得る。トランスクリプション220内で検出されたそれぞれの話者ターンの信頼性、およびコンテキスト情報(制約226と総称される)は、クラスタリングモジュール260によって、スペクトルクラスタリングをさらに制約するために使用される。
【0037】
いくつかの実装形態では、クラスタリングモジュール260は、ASRモデル300から受信された対制約226によって制約される、話者区別埋込み240において実行されるスペクトルクラスタリングを実行する。たとえば、両方の話者セグメント225が、セグメント持続時間しきい値未満の持続時間を有するとき、スペクトルクラスタリングは、高い信頼性をもつ話者ターントークンによって分離された隣接する話者セグメント225について異なるように、話者ラベル250を勧めるように制約される。他の事例では、両方の話者セグメント225が短縮持続時間を有するとき、スペクトルクラスタリングは、隣接する話者セグメント225のための話者ラベルを同じであるように勧めるように制約される。すなわち、隣接する短縮持続時間話者セグメント225は、話者ターントークン224ではなく、セグメント持続時間しきい値の超過に基づいて分割されたので、隣接する短縮持続時間話者セグメント225が同じ話者10によって話される尤度が高い。いくつかの例では、セグメント持続時間しきい値未満の持続時間を有する1つの話者セグメント225が、短縮持続時間を有する別の話者セグメント225に隣接するとき、スペクトルクラスタリングは、話者ターントークン224の信頼性に基づいて制約される。ここで、話者ターントークン224が高い信頼性値を有するとき、クラスタリングモジュール260は、異なる話者ラベル250を勧めるように制約される。代替的に、話者ターントークン224が低い信頼性値を有するとき、クラスタリングモジュール260は、同じ話者ラベル250を勧めるように制約され得る。
【0038】
いくつかの実装形態では、ダイアライゼーションシステム200は、各話者セグメント225に割り当てられた話者ラベル250(すなわち、ダイアライゼーション結果280)に基づいて、発話120のトランスクリプション220に注釈を付ける。たとえば、複数の話者10の間の会話のトランスクリプション220は、各話者10がトランスクリプション220内で何を言ったかを識別するために、トランスクリプション220の部分をそれぞれの話者10に関連付けるために、話者によってインデックス付けされ得る。注釈を付けられたトランスクリプション220は、ユーザデバイス110またはクラウドコンピューティング環境140のメモリハードウェア114、146に記憶されて、話者10のうちの1人によって後でアクセスされ得る。
【0039】
図2は、ASRモデル(すなわち、トランスフォーマトランスデューサ)300と、セグメント化モジュール210と、話者エンコーダ230と、クラスタリングモジュール260とを含む、ダイアライゼーションシステム200の概略図を示す。ASRモデル300は、複数の話者10(図1)によって話された発話120に対応する入力オーディオ信号122を処理して、発話のトランスクリプション220と、話者ターントークン224のシーケンスとを生成する。トランスクリプション220は、複数の話者によって話された単語に対応する1つまたは複数の言葉222を含む。話者ターントークン224のシーケンスは、トランスクリプション220内で隣接する言葉222のそれぞれのペアの間で検出されたそれぞれの話者ターンのロケーションを示す。図示の例では、入力オーディオ信号122は、第1および第2の言葉222が第1の話者10によって話され、第3および第4の言葉222が第2の話者10によって話され、第5および第6の言葉222が第3の話者10によって話された、発話を含み得る。ここで、ASRモデル300は、第1の話者から第2の話者への話者ターンを示すために、第2の言葉222と第3の言葉222との間の第1の話者ターントークン224を生成し、第2の話者から第3の話者への話者ターンを示すために、第4の言葉222と第5の言葉222との間の第2の話者ターントークン224を生成する。その上、いくつかの例では、ASRモデル300は、発話の開始を示す音声の開始(SOS:start of speech)トークン227と、発話の終了を示す音声の終了(EOS:end of speech)トークン229とを生成する。
【0040】
いくつかの実装形態では、ASRモデル300は、音響情報および/または意味情報を処理して、入力オーディオ信号122内の話者ターンを検出する。すなわち、自然言語理解(NLU)を使用して、ASRモデル300は、「あなたは元気ですか、私は元気です(How are you I'm good)」という発話について、「あなたは元気ですか(how are you)」および「私は元気です(I'm good)」が、入力オーディオ信号122のいかなる音響処理とも無関係に、異なるユーザによって話された可能性が高いと決定することができる。トランスクリプション220のこの意味解釈は、入力オーディオ信号122の音響処理とは無関係に、またはそれとともに使用され得る。
【0041】
話者エンコーダ230は、セグメント化モジュール210(図1)から複数の話者セグメント225を受信し、各話者セグメント225のための対応する話者区別埋込み240を抽出する。話者区別埋込み240は、dベクトルまたはiベクトルなど、話者ベクトルを含み得る。話者エンコーダ230は、各話者セグメント225に関連付けられた話者区別埋込み240を、クラスタリングモジュール260に提供する。
【0042】
クラスタリングモジュール260は、各話者セグメント225のための話者区別埋込み240と、対制約226とを受信し、各話者区別埋込み240のための話者ラベル250を予測するように構成される。N個のデータサンプルのセット(たとえば、x1、x2、...、xT)を仮定すると、クラスタリングモジュール260は、ペアワイズ類似性(pairwise similarities)aijを計算することによって、類似性グラフを構築し、ただし、Aは、
【数1】
を表す。その上、2つのサンプルxiおよびxjの親和性は、
【数2】
によって表され得る。クラスタリングモジュール260は、異なるクラスタを連結するエッジが低い重みを有し、クラスタ内のエッジが高い重みを有するように、区分を識別する。一般に、類似性グラフは連結であるか、または数個の連結成分、およびごく少数の分離された頂点のみを含む。スペクトルクラスタリングは、類似性グラフの品質および雑音に反応し、したがって、クラスタリングモジュール260は、データサンプル間の局所近傍関係をモデル化するために、親和性行列においていくつかの精緻化演算を実行する。1つの精緻化演算は、親和性行列の対角値を0に設定し、pパーセンタイル値よりも大きい親和性値を1に設定し、親和性値を、行のpパーセンタイルよりも小さい0.01で乗算し、親和性行列の対角値を1にリセットする、pパーセンタイルを用いた行方向しきい値処理を含む。別の精緻化演算は、以下の式、
【数3】
を使用して、親和性行列を半正定値にするために、平均要約演算(average summarization operation)を適用することを含む。ダイアライゼーション誤り率(DER:diarization error rate)は、pパーセンタイルのためのハイパーパラメータpによって、かなり影響を受ける。したがって、比値r(p)は、類似性グラフにおいて過剰な量の連結を生じることなしに、最大固有ギャップ(maximum eigengap)が大きくなるように、DERの良好な代用となるものである。
【0043】
親和性行列Aを仮定すると、非正規化ラプラシアン行列Lは、L=D-Aによって定義されるが、正規化ラプラシアン行列
【数4】
は、
【数5】
によって定義される。ここで、Dは、
【数6】
として定義された対角行列を表す。スペクトルクラスタリングを実行するために、クラスタリングモジュール260は、最大固有ギャップ法を使用して、k個のクラス262の数を推定するために、固有分解を適用する。クラスタリングモジュール260は、固有ベクトルの第1のクラスk262を選定し、スペクトル埋込みの行方向再正規化を適用し、スペクトル埋込みにおいて、k平均アルゴリズムを適用して、話者ラベル250を予測する。
【0044】
クラスタリングモジュール260は、スペクトルクラスタリングを制約するために、話者ターントークン224の信頼性およびコンテキスト情報を示す、対制約226を受信する。対制約226は、高信頼性の話者ターントークン224を伴う隣接する話者セグメント225について、異なる話者ラベル250を勧め、低信頼性の話者ターントークン224を伴う隣接する話者セグメント225について、同じ話者ラベル250を勧めるように構成される。対制約226Qを用いて、制約付きスペクトルクラスタリングは、類似性グラフGにおいて制約充足を最大化し、コストを最小化する、1つまたは複数の区分を識別する。対制約226は、
【数7】
によって表され得る。クラスタリングモジュール260は、以下によって制約行列Qを処理する。
【数8】
【0045】
ここで、話者セグメント225、iとi+1との間に話者ターンがあり、話者ターントークンの信頼性c(<st>)がしきい値σよりも大きい場合、クラスタリングモジュール260は、隣接する話者セグメント225を「cannot-link」(CL)として定義する。CL定義は、隣接する話者セグメント225の間の話者ラベル250が異なる尤度が高いことを示す。隣接する話者セグメント225の間に話者ターントークン224がない場合、クラスタリングモジュールは、隣接する話者セグメントを「must-link」(ML)として定義する。ML定義は、隣接する話者セグメント225の間の話者ラベル250が同じである尤度が高いことを示す。
【0046】
ML定義された隣接する話者セグメント225は、正クラスとして扱われ、CL定義された隣接する話者セグメント225は、負クラスとして扱われる。クラスラベル(すなわち、正および負)は、親和性行列
【数9】
において、それぞれ垂直方向および水平方向に伝播される。各反復tにおいて、初期制約行列が、Q(t)を調整するために加算される。その上、パラメータαが、隣接する話者セグメント225および初期制約226からの制約情報の相対量を制御するために使用される。クラスタリングモジュールは、以下のアルゴリズムによって、最初に収束まで垂直伝播を実行し、次いで水平伝播を実行する。
【数10】
【0047】
Q*は、以下によって公式化された閉形式解を有する。
【0048】
【数11】
【0049】
伝播された制約行列Q*を使用して、クラスタリングモジュール260は、調整された親和性行列
【数12】
を、以下によって取得する。
【数13】
【0050】
制約Qij>0の場合、親和性行列は、サンプルxiとxjとの間の類似性を増加させる。代替的に、Qij<0の場合、親和性行列は、xiとxjとの間の類似性を減少させる。この演算の後、クラスタリングモジュール260は、話者セグメント225のための話者ラベル250を予測するために、正規化ラプラシアン行列ベースのスペクトルクラスタリングを実行する。クラスタリングモジュール260は、第1の話者が第1の話者セグメント225a(すなわち、第1および第2の言葉222)を話したことを示す第1の話者ラベル250aと、第2の話者が第2の話者セグメント225b(すなわち、第3および第4の言葉222)を話したことを示す第2の話者ラベル250bと、第3の話者が第3の話者セグメント225c(すなわち、第5および第6の言葉222)を話したことを示す第3の話者ラベル250cとを含む、ダイアライゼーション結果280を生成する。
【0051】
図3を参照すると、ASRモデル300は、音響モデル、発音モデル、および言語モデルを単一のニューラルネットワークに組み込むことによって、エンドツーエンド(E2E)音声認識を提供してよく、辞書または別個のテキスト正規化構成要素を必要としない。様々な構造および最適化機構が、精度の向上およびモデルトレーニング時間の短縮を提供することができる。ASRモデル300は、ストリーミングトランスフォーマ-トランスデューサ(T-T)モデルアーキテクチャを含んでよく、このアーキテクチャは、対話型アプリケーションに関連するレイテンシ制約に従う。ASRモデル300は、同様に、RNN-Tモデルアーキテクチャまたはコンフォーマ-トランスデューサ(C-T)モデルアーキテクチャを含み得る。ASRモデル300は、小さい計算フットプリントを提供し、従来のASRアーキテクチャよりも少ないメモリ要件を利用し、T-Tモデルアーキテクチャを、完全にユーザデバイス110において音声認識を実行するのに好適なものにする(たとえば、クラウドコンピューティング環境140との通信は必要とされない)。ASRモデル300は、オーディオエンコーダ310と、ラベルエンコーダ320と、ジョイントネットワーク330とを含む。オーディオエンコーダ310は、従来のASRシステムにおける音響モデル(AM)にほぼ類似しており、複数のトランスフォーマ層を有するニューラルネットワークを含む。たとえば、オーディオエンコーダ310は、d次元特徴ベクトル(たとえば、話者セグメント225(図1))のシーケンスx=(x1、x2、...、xT)を読み取り、ただし、
【数14】
であり、各時間ステップにおいて、高次特徴表現312を作り出す。ここで、各話者セグメント225(図1)は、それぞれの話者セグメント225(図1)に対応する音響フレーム(たとえば、オーディオデータ122)のシーケンスを含む。この高次特徴表現は、ah1、...、ahTとして示される。
【0052】
同様に、ラベルエンコーダ320もまた、トランスフォーマ層のニューラルネットワーク、またはルックアップテーブル埋込みモデルを含んでよく、ルックアップテーブル埋込みモデルは、言語モデル(LM)と同様に、これまで最終ソフトマックス層340によって出力された非ブランク記号のシーケンス、y0、...、yui-1(たとえば、図2に示されているように、話者ターントークン224を含む、1つまたは複数の言葉222)を、予測されたラベル履歴を符号化する密な表現322(Ihuによって示される)へと処理する。ラベルエンコーダ320がトランスフォーマ層のニューラルネットワークを含むときの実装形態では、各トランスフォーマ層は、正規化層と、相対位置符号化を伴うマスクされたマルチヘッドアテンション層と、残差接続と、フィードフォワード層と、ドロップアウト層とを含み得る。これらの実装形態では、ラベルエンコーダ320は、2つのトランスフォーマ層を含み得る。ラベルエンコーダ320が、バイグラムラベルコンテキストを伴うルックアップテーブル埋込みモデルを含むときの実装形態では、埋込みモデルは、各可能なバイグラムラベルコンテキストについてd次元の重みベクトルを学習するように構成され、ただし、dは、オーディオエンコーダ310およびラベルエンコーダ320の出力の次元である。いくつかの例では、埋込みモデルにおけるパラメータの総数は、N2×dであり、ただし、Nは、ラベルの語彙サイズである。ここで、学習された重みベクトルは、次いで、高速ラベルエンコーダ320実行時間を作り出すために、ASRモデル300におけるバイグラムラベルコンテキストの埋込みとして使用される。
【0053】
最後に、T-Tモデルアーキテクチャでは、オーディオエンコーダ310およびラベルエンコーダ320によって作り出された表現が、密な層Ju,tを使用して、ジョイントネットワーク330によって組み合わせられる。ジョイントネットワーク330は、次いで、次の出力記号上の分布である、P(zu,t|x、t、y1、...、yu-1)を予測する。別の言い方をすれば、ジョイントネットワーク330は、各出力ステップ(たとえば、時間ステップ)において、トランスクリプション220(図2)の1つまたは複数の言葉222のための可能な音声認識仮説にわたる確率分布342を生成する。ここで、「可能な音声認識仮説」は、指定された自然言語における書記素(たとえば、記号/文字)、言葉222(図2)、またはワードピースを各々表す、出力ラベル(「音声単位」とも呼ばれる)のセットに対応する。たとえば、自然言語が英語であるとき、出力ラベルのセットは、27個の記号、たとえば、英語のアルファベットにおける26個の文字の各々に1つのラベル、およびスペースを指定する1つのラベルを含み得る。したがって、ジョイントネットワーク330は、出力ラベルの所定のセットの各々の発生の尤度を示す値のセットを出力し得る。この値のセットは、ベクトル(たとえば、ワンホットベクトル)であってよく、出力ラベルのセットにわたる確率分布を示すことができる。場合によっては、出力ラベルは、書記素(たとえば、個々の文字、ならびに潜在的に句読点および他の記号)であるが、出力ラベルのセットは、そのように限定されない。たとえば、出力ラベルのセットは、書記素に加えて、または書記素の代わりに、ワードピースおよび/または単語全体を含み得る。ジョイントネットワーク330の出力分布は、異なる出力ラベルの各々のための事後確率値を含み得る。したがって、異なる書記素または他の記号を表す100個の異なる出力ラベルがある場合、ジョイントネットワーク330の出力zu,tは、出力ラベルごとに1つずつ、100個の異なる確率値を含み得る。次いで、確率分布は、トランスクリプションを決定するための(たとえば、ソフトマックス層340による)ビーム探索プロセスにおいて、候補直交要素(たとえば、書記素、ワードピース、および/または単語)へのスコアを選択し、割り当てるために使用され得る。
【0054】
ソフトマックス層340は、分布における最高確率をもつ出力ラベル/記号を、対応する出力ステップにおいてASRモデル300によって予測される次の出力記号として選択するために、任意の技法を採用し得る。このようにして、ASRモデル300は、条件付き独立仮定を行わず、むしろ、各記号の予測は、音響のみでなく、これまでに出力されたラベルのシーケンスも条件とする。
【0055】
図4は、音声の受信された発話120において、話者ダイアライゼーションを実行するコンピュータ実装方法400のための動作の例示的な構成のフローチャートである。データ処理ハードウェア112、144は、メモリハードウェア114、146上に記憶された命令を実行することによって、方法400のための動作を実行し得る。動作402において、方法400は、複数の話者10、10a~nによって話された発話120に対応する入力オーディオ信号122を受信することを含む。動作404において、方法400は、音声認識モデル(たとえば、ASRモデル)300を使用して、入力オーディオ信号122を処理して、音声認識モデル300からの出力として、発話120のトランスクリプション220と、話者ターントークン224のシーケンス224a~nとを一緒に生成することを含む。各話者ターントークン224は、トランスクリプション220内で隣接する言葉222のそれぞれのペアの間で検出されたそれぞれの話者ターンのロケーションを示す。動作406において、方法400は、話者ターントークン224のシーケンスに基づいて、入力オーディオ信号122を複数の話者セグメント225にセグメント化することを含む。
【0056】
動作408において、方法400は、複数の話者セグメント225のうちの各話者セグメント225について、話者セグメント225から対応する話者区別埋込み240を抽出することを含む。動作410において、方法400は、複数の話者セグメント225から抽出された話者区別埋込み240において、スペクトルクラスタリングを実行して、複数の話者セグメント225をk個のクラス262にクラスタリングすることを含む。動作412において、方法400は、k個のクラス262のうちの各それぞれのクラス262について、k個のクラス262のうちの各他のクラス262にクラスタリングされた話者セグメント225に割り当てられたそれぞれの話者ラベル250とは異なる、それぞれの話者ラベル250を、それぞれのクラス262にクラスタリングされた各話者セグメント225に割り当てることを含む。
【0057】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指すことがある。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれることがある。例示的なアプリケーションには、限定はしないが、システム診断アプリケーション、システム管理アプリケーション、システム維持アプリケーション、文書処理アプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲーミングアプリケーションが含まれる。
【0058】
非一時的メモリは、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を、コンピューティングデバイスによる使用のために一時的または永続的に記憶するために使用される、物理デバイスであり得る。非一時的メモリは、揮発性および/または不揮発性のアドレス指定可能半導体メモリであり得る。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラマブル読み取り専用メモリ(PROM)/消去可能プログラマブル読み取り専用メモリ(EPROM)/電子的消去可能プログラマブル読み取り専用メモリ(EEPROM)(たとえば、典型的には、ブートプログラムなどのファームウェアのために使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが含まれる。
【0059】
図5は、本明細書で説明されるシステムおよび方法を実装するために使用され得る、例示的なコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すものである。ここに示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎないものであり、本明細書で説明および/または請求される本発明の実装形態を限定するものではない。
【0060】
コンピューティングデバイス500は、プロセッサ510と、メモリ520と、記憶デバイス530と、メモリ520および高速拡張ポート550に接続する高速インターフェース/コントローラ540と、低速バス570および記憶デバイス530に接続する低速インターフェース/コントローラ560とを含む。構成要素510、520、530、540、550、および560の各々は、様々なバスを使用して相互接続されており、共通のマザーボード上に、または適宜に他の方法で取り付けられ得る。プロセッサ510は、高速インターフェース540に結合されたディスプレイ580などの外部入力/出力デバイス上に、グラフィカルユーザインターフェース(GUI)のためのグラフィカル情報を表示するために、メモリ520内または記憶デバイス530上に記憶された命令を含む、コンピューティングデバイス500内の実行のための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが、適宜に、複数のメモリおよび複数のタイプのメモリとともに使用され得る。また、複数のコンピューティングデバイス500が接続され、各デバイスが、必要な動作の部分を提供するようにしてもよい(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)。
【0061】
メモリ520は、情報をコンピューティングデバイス500内に非一時的に記憶する。メモリ520は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットであり得る。非一時的メモリ520は、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を、コンピューティングデバイス500による使用のために一時的または永続的に記憶するために使用される、物理デバイスであり得る。不揮発性メモリの例には、限定はしないが、フラッシュメモリおよび読み取り専用メモリ(ROM)/プログラマブル読み取り専用メモリ(PROM)/消去可能プログラマブル読み取り専用メモリ(EPROM)/電子的消去可能プログラマブル読み取り専用メモリ(EEPROM)(たとえば、典型的には、ブートプログラムなどのファームウェアのために使用される)が含まれる。揮発性メモリの例には、限定はしないが、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、ならびにディスクまたはテープが含まれる。
【0062】
記憶デバイス530は、コンピューティングデバイス500のための大容量記憶装置を提供することが可能である。いくつかの実装形態では、記憶デバイス530は、コンピュータ可読媒体である。様々な異なる実装形態では、記憶デバイス530は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様の固体メモリデバイス、またはストレージエリアネットワークもしくは他の構成内のデバイスを含むデバイスのアレイであり得る。追加の実装形態では、コンピュータプログラム製品は、情報キャリアにおいて有形に具現化される。コンピュータプログラム製品は、実行されると、上記で説明されたものなどの1つまたは複数の方法を実行する命令を含んでいる。情報キャリアは、メモリ520、記憶デバイス530、またはプロセッサ510上のメモリなど、コンピュータ可読媒体または機械可読媒体である。
【0063】
高速コントローラ540は、コンピューティングデバイス500のための帯域幅集約動作を管理するが、低速コントローラ560は、より低い帯域幅集約動作を管理する。デューティのそのような割振りは、例示的なものにすぎない。いくつかの実装形態では、高速コントローラ540は、メモリ520、ディスプレイ580に(たとえば、グラフィックスプロセッサまたはアクセラレータを通して)、および高速拡張ポート550に結合され、高速拡張ポート550は、様々な拡張カード(図示せず)を受け入れ得る。いくつかの実装形態では、低速コントローラ560は、記憶デバイス530および低速拡張ポート590に結合される。低速拡張ポート590は、様々な通信ポート(たとえば、USB、Bluetooth、Ethernet、ワイヤレスEthernet)を含んでよく、キーボード、ポインティングデバイス、スキャナなどの1つもしくは複数の入力/出力デバイス、または、たとえば、ネットワークアダプタを通して、スイッチもしくはルータなどのネットワーキングデバイスに結合され得る。
【0064】
コンピューティングデバイス500は、図に示されているように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス500は、標準的なサーバ500aとして、もしくはそのようなサーバ500aのグループ内で複数回実装され得るか、ラップトップコンピュータ500bとして、またはラックサーバシステム500cの一部として実装され得る。
【0065】
本明細書で説明されるシステムおよび技法の様々な実装形態は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/またはそれらの組合せにおいて実現され得る。これらの様々な実装形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である、1つまたは複数のコンピュータプログラムにおける実装を含んでよく、プログラマブルプロセッサは、専用または汎用であってよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するために結合されてよい。
【0066】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高水準手続き型および/もしくはオブジェクト指向プログラミング言語において、ならびに/またはアセンブリ/機械言語において実装され得る。本明細書で使用される「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される、任意のコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0067】
本明細書で説明されるプロセスおよび論理フローは、入力データにおいて動作すること、および出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する、データ処理ハードウェアとも呼ばれる、1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実行され得る。コンピュータプログラムの実行に好適なプロセッサには、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサが含まれる。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリまたはその両方から、命令およびデータを受信することになる。コンピュータの本質的な要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含むか、あるいはそれからデータを受信するため、またはそれにデータを転送するため、またはその両方のために動作可能に結合されることになる。ただし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体には、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。プロセッサおよびメモリは、専用論理回路によって補足されるか、または専用論理回路中に組み込まれ得る。
【0068】
ユーザとの対話を提供するために、本開示の1つまたは複数の態様は、ユーザに情報を表示するためのディスプレイデバイス、たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、場合によっては、それによってユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有する、コンピュータ上に実装され得る。他の種類のデバイスが、ユーザとの対話を提供するために同様に使用されてもよく、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形態で受信され得る。さらに、コンピュータは、ユーザによって使用されるデバイスに文書を送り、そのデバイスから文書を受信することによって、たとえば、ユーザのクライアントデバイス上のウェブブラウザから受信された要求に応答して、ウェブブラウザにウェブページを送ることによって、ユーザと対話することができる。
【0069】
いくつかの実装形態が説明された。それにもかかわらず、本開示の趣旨および範囲から逸脱することなく、様々な変更が行われ得ることが理解されよう。したがって、他の実装形態は、以下の特許請求の範囲内に入る。
【符号の説明】
【0070】
10 話者(たとえば、ユーザ)、話者、第1の話者、第2の話者、第3の話者
10a~n 話者(たとえば、ユーザ)10のグループ、話者
100 システム
110 ユーザデバイス、リモートユーザデバイス
112、144 データ処理ハードウェア
114 メモリハードウェア
120 音声発話、キャプチャされた発話、発話、トレーニング発話
122 入力オーディオ信号(すなわち、オーディオデータ)、入力オーディオ信号、オーディオデータ、音響フレーム
130 ネットワーク
140 クラウドコンピューティング環境
142 リソース、コンピューティングリソース、データ処理ハードウェア
146 記憶リソース、メモリハードウェア
200 ダイアライゼーションシステム
210 セグメント化モジュール
220 トランスクリプション、グランドトゥルーストランスクリプション
222 言葉、第1および第2の言葉、第3および第4の言葉、第5および第6の言葉、第2の言葉、第3の言葉、第4の言葉、第5の言葉、非ブランク記号
223 タイムスタンプ
224 話者ターントークン、第1の話者ターントークン、第2の話者ターントークン
224a~n 話者ターントークン224のシーケンス
225 話者セグメント、初期話者セグメント、短縮持続時間話者セグメント
225a~n 話者セグメント
225a 第1の話者セグメント
225b 第2の話者セグメント
225c 第3の話者セグメント
226 対制約、制約、初期制約
227 音声の開始(SOS)トークン
229 音声の終了(EOS)トークン
230 話者エンコーダ、話者エンコーダモデル
240 話者区別埋込み、実数値の話者区別埋込み
250 話者ラベル
250a 第1の話者ラベル
250b 第2の話者ラベル
250c 第3の話者ラベル
260 クラスタリングモジュール
262 k個のクラス、クラス、第1のクラスk
280 ダイアライゼーション結果
300 ASRモデル、ストリーミングASRモデル、ASRモデル(すなわち、トランスフォーマトランスデューサ)、音声認識モデル(たとえば、ASRモデル)、音声認識モデル
310 オーディオエンコーダ
312 高次特徴表現
320 ラベルエンコーダ
322 密な表現
330 ジョイントネットワーク
340 最終ソフトマックス層、ソフトマックス層
342 確率分布
400 コンピュータ実装方法、方法
500 コンピューティングデバイス
500a 標準的なサーバ、サーバ
500b ラップトップコンピュータ
500c ラックサーバシステム
510 プロセッサ、構成要素
520 メモリ、構成要素
530 記憶デバイス、構成要素
540 高速インターフェース/コントローラ、構成要素、高速インターフェース、高速コントローラ
550 高速拡張ポート、構成要素
560 低速インターフェース/コントローラ、構成要素、低速コントローラ
570 低速バス
580 ディスプレイ
590 低速拡張ポート
図1
図2
図3
図4
図5
【手続補正書】
【提出日】2024-05-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データ処理ハードウェア(142)上で実行されると、前記データ処理ハードウェア(142)に動作を実行させる、コンピュータ実装方法(400)であって、前記動作が、
複数の話者(10)によって話された発話(120)に対応する入力オーディオ信号(122)を受信することと、
音声認識モデル(300)を使用して、前記入力オーディオ信号(122)を処理して、前記音声認識モデル(300)からの出力として、
前記発話(120)のトランスクリプション(220)と、
前記トランスクリプション(220)内で隣接する言葉(222)のそれぞれのペアの間で検出されたそれぞれの話者ターンのロケーションを各々示す、話者ターントークン(224)のシーケンスと
を一緒に生成することと、
前記話者ターントークン(224)のシーケンスに基づいて、前記入力オーディオ信号(122)を複数の話者セグメント(225)にセグメント化することと、
前記複数の話者セグメント(225)のうちの各話者セグメント(225)について、前記話者セグメント(225)から対応する話者区別埋込み(240)を抽出することと、
前記複数の話者セグメント(225)から抽出された前記話者区別埋込み(240)において、スペクトルクラスタリングを実行して、前記複数の話者セグメント(225)をk個のクラス(262)にクラスタリングすることと、
前記k個のクラス(262)のうちの各それぞれのクラス(262)について、前記k個のクラス(262)のうちの各他のクラス(262)にクラスタリングされた前記話者セグメント(225)に割り当てられたそれぞれの話者ラベル(250)とは異なる、前記それぞれの話者ラベル(250)を、前記それぞれのクラス(262)にクラスタリングされた各話者セグメント(225)に割り当てることと
を含む、コンピュータ実装方法(400)。
【請求項2】
前記動作が、各話者セグメント(225)に割り当てられた前記話者ラベル(250)に基づいて、前記発話(120)の前記トランスクリプション(220)に注釈を付けることをさらに含む、請求項1に記載のコンピュータ実装方法(400)。
【請求項3】
前記話者ターントークン(224)のシーケンスにおける各話者ターントークン(224)が、対応するタイムスタンプ(223)を有し、
前記話者ターントークン(224)のシーケンスに基づいて、前記入力オーディオ信号(122)を前記複数の話者セグメント(225)にセグメント化することが、前記入力オーディオ信号(122)を、前記話者ターントークン(224)のシーケンスにおける隣接する話者ターントークン(224)のそれぞれのペアの前記対応するタイムスタンプ(223)によって各々画定された初期話者セグメント(225)にセグメント化することを含む、請求項1に記載のコンピュータ実装方法(400)。
【請求項4】
前記動作が、
セグメント持続時間しきい値を超えるそれぞれの持続時間を有する各初期話者セグメント(225)について、前記初期話者セグメントを、前記セグメント持続時間しきい値以下のそれぞれの持続時間を有する2つ以上の短縮持続時間話者セグメント(225)にさらにセグメント化すること
をさらに含み、
前記入力オーディオ信号(122)からセグメント化された前記複数の話者セグメント(225)が、
前記セグメント持続時間しきい値以下のそれぞれの持続時間を有する前記初期話者セグメント(225)と、
前記セグメント持続時間しきい値を超えるそれぞれの持続時間を有する前記初期話者セグメント(225)のうちのいずれかからさらにセグメント化された、前記短縮持続時間話者セグメント(225)と
を備える、請求項3に記載のコンピュータ実装方法(400)。
【請求項5】
前記話者セグメント(225)から対応する話者区別埋込み(240)を抽出することが、
話者エンコーダモデル(230)への入力として、前記話者セグメント(225)を受信することと、
前記話者エンコーダモデル(230)からの出力として、前記対応する話者区別埋込み(240)を生成することと
を含む、請求項1に記載のコンピュータ実装方法(400)。
【請求項6】
前記話者エンコーダモデル(230)が、各話者セグメント(225)から前記対応する話者区別埋込み(240)を抽出するように構成された、長短期記憶ベース(LSTMベース)の話者エンコーダモデルを備える、請求項5に記載のコンピュータ実装方法(400)。
【請求項7】
前記動作が、
前記音声認識モデル(300)からの出力として生成された、前記話者ターントークン(224)のシーケンスにおける各話者ターントークン(224)について、前記トランスクリプション(220)内で検出された前記それぞれの話者ターンの信頼性を予測することと、
前記話者ターントークン(224)について予測された前記信頼性に基づいて、対制約(226)を決定することと
をさらに含み、
前記話者区別埋込み(240)において実行される前記スペクトルクラスタリングが、前記対制約(226)によって制約される、請求項1に記載のコンピュータ実装方法(400)。
【請求項8】
前記音声認識モデル(300)が、ストリーミングトランスデューサベースの音声認識モデルを備え、前記ストリーミングトランスデューサベースの音声認識モデルが、
オーディオエンコーダ(310)であって、
入力として、音響フレーム(122)のシーケンスを受信することと、
複数の時間ステップの各々において、前記音響フレーム(122)のシーケンスにおける対応する音響フレーム(122)のための高次特徴表現(312)を生成することと
を行うように構成された、オーディオエンコーダ(310)と、
ラベルエンコーダ(320)であって、
入力として、最終ソフトマックス層(340)によって出力された非ブランク記号(222)のシーケンスを受信することと、
前記複数の時間ステップの各々において、密な表現(322)を生成することと
を行うように構成された、ラベルエンコーダ(320)と、
ジョイントネットワーク(330)であって、
入力として、前記複数の時間ステップの各々において、前記オーディオエンコーダ(310)によって生成された、前記高次特徴表現(312)と、前記複数の時間ステップの各々において、前記ラベルエンコーダ(320)によって生成された、前記密な表現(322)とを受信することと、
前記複数の時間ステップの各々において、前記対応する時間ステップにおける可能な音声認識仮説にわたる確率分布(342)を生成することと
を行うように構成された、ジョイントネットワーク(330)と
を備える、請求項1に記載のコンピュータ実装方法(400)。
【請求項9】
前記オーディオエンコーダ(310)が、複数のトランスフォーマ層を有するニューラルネットワークを備える、請求項8に記載のコンピュータ実装方法(400)。
【請求項10】
前記ラベルエンコーダ(320)が、バイグラム埋込みルックアップデコーダモデルを備える、請求項8に記載のコンピュータ実装方法(400)。
【請求項11】
前記音声認識モデル(300)が、トレーニング発話(120)の対応するグランドトゥルーストランスクリプション(220)とペアにされた、2人以上の異なる話者(10)によって話された前記トレーニング発話(120)を各々備える、トレーニングサンプルにおいてトレーニングされ、各グランドトゥルーストランスクリプション(220)が、話者ターンが前記グランドトゥルーストランスクリプション内で生じるロケーションを示す、グランドトゥルース話者ターントークンを注入される、請求項1に記載のコンピュータ実装方法(400)。
【請求項12】
各トレーニングサンプルの前記対応するグランドトゥルーストランスクリプションに、いかなるタイムスタンプ(223)情報を用いた注釈も付けられない、請求項11に記載のコンピュータ実装方法(400)。
【請求項13】
システム(100)であって、
データ処理ハードウェア(142)と、
前記データ処理ハードウェア(142)と通信しており、命令を記憶する、メモリハードウェア(146)とを備え、前記命令が、前記データ処理ハードウェア(142)によって実行されると、前記データ処理ハードウェア(142)に動作を実行させ、前記動作が、
複数の話者(10)によって話された発話(120)に対応する入力オーディオ信号(122)を受信することと、
音声認識モデル(300)を使用して、前記入力オーディオ信号(122)を処理して、前記音声認識モデル(300)からの出力として、
前記発話(120)のトランスクリプション(220)と、
前記トランスクリプション(220)内で隣接する言葉(222)のそれぞれのペアの間で検出されたそれぞれの話者ターンのロケーションを各々示す、話者ターントークン(224)のシーケンスと
を一緒に生成することと、
前記話者ターントークン(224)のシーケンスに基づいて、前記入力オーディオ信号(122)を複数の話者セグメント(225)にセグメント化することと、
前記複数の話者セグメント(225)のうちの各話者セグメント(225)について、前記話者セグメント(225)から対応する話者区別埋込み(240)を抽出することと、
前記複数の話者セグメント(225)から抽出された前記話者区別埋込み(240)において、スペクトルクラスタリングを実行して、前記複数の話者セグメント(225)をk個のクラス(262)にクラスタリングすることと、
前記k個のクラス(262)のうちの各それぞれのクラス(262)について、前記k個のクラス(262)のうちの各他のクラス(262)にクラスタリングされた前記話者セグメント(225)に割り当てられたそれぞれの話者ラベル(250)とは異なる、前記それぞれの話者ラベル(250)を、前記それぞれのクラス(262)にクラスタリングされた各話者セグメント(225)に割り当てることと
を含む、システム(100)。
【請求項14】
前記動作が、各話者セグメント(225)に割り当てられた前記話者ラベル(250)に基づいて、前記発話(120)の前記トランスクリプション(220)に注釈を付けることをさらに含む、請求項13に記載のシステム(100)。
【請求項15】
前記話者ターントークン(224)のシーケンスにおける各話者ターントークン(224)が、対応するタイムスタンプ(223)を有し、
前記話者ターントークン(224)のシーケンスに基づいて、前記入力オーディオ信号(122)を前記複数の話者セグメント(225)にセグメント化することが、前記入力オーディオ信号(122)を、前記話者ターントークン(224)のシーケンスにおける隣接する話者ターントークン(224)のそれぞれのペアの前記対応するタイムスタンプ(223)によって各々画定された初期話者セグメント(225)にセグメント化することを含む、請求項13に記載のシステム(100)。
【請求項16】
前記動作が、
セグメント持続時間しきい値を超えるそれぞれの持続時間を有する各初期話者セグメント(225)について、前記初期話者セグメントを、前記セグメント持続時間しきい値以下のそれぞれの持続時間を有する2つ以上の短縮持続時間話者セグメント(225)にさらにセグメント化すること
をさらに含み、
前記入力オーディオ信号(122)からセグメント化された前記複数の話者セグメント(225)が、
前記セグメント持続時間しきい値以下のそれぞれの持続時間を有する前記初期話者セグメント(225)と、
前記セグメント持続時間しきい値を超えるそれぞれの持続時間を有する前記初期話者セグメント(225)のうちのいずれかからさらにセグメント化された、前記短縮持続時間話者セグメント(225)と
を備える、請求項15に記載のシステム(100)。
【請求項17】
前記話者セグメント(225)から対応する話者区別埋込み(240)を抽出することが、
話者エンコーダモデル(230)への入力として、前記話者セグメント(225)を受信することと、
前記話者エンコーダモデル(230)からの出力として、前記対応する話者区別埋込み(240)を生成することと
を含む、請求項13に記載のシステム(100)。
【請求項18】
前記話者エンコーダモデル(230)が、各話者セグメント(225)から前記対応する話者区別埋込み(240)を抽出するように構成された、長短期記憶ベース(LSTMベース)の話者エンコーダモデルを備える、請求項17に記載のシステム(100)。
【請求項19】
前記動作が、
前記音声認識モデル(300)からの出力として生成された、前記話者ターントークン(224)のシーケンスにおける各話者ターントークン(224)について、前記トランスクリプション(220)内で検出された前記それぞれの話者ターンの信頼性を予測することと、
前記話者ターントークン(224)について予測された前記信頼性に基づいて、対制約(226)を決定することと
をさらに含み、
前記話者区別埋込み(240)において実行される前記スペクトルクラスタリングが、前記対制約(226)によって制約される、請求項13に記載のシステム(100)。
【請求項20】
前記音声認識モデル(300)が、ストリーミングトランスデューサベースの音声認識モデルを備え、前記ストリーミングトランスデューサベースの音声認識モデルが、
オーディオエンコーダ(310)であって、
入力として、音響フレーム(122)のシーケンスを受信することと、
複数の時間ステップの各々において、前記音響フレーム(122)のシーケンスにおける対応する音響フレーム(122)のための高次特徴表現(312)を生成することと
を行うように構成された、オーディオエンコーダ(310)と、
ラベルエンコーダ(320)であって、
入力として、最終ソフトマックス層(340)によって出力された非ブランク記号(222)のシーケンスを受信することと、
前記複数の時間ステップの各々において、密な表現(322)を生成することと
を行うように構成された、ラベルエンコーダ(320)と、
ジョイントネットワーク(330)であって、
入力として、前記複数の時間ステップの各々において、前記オーディオエンコーダ(310)によって生成された、前記高次特徴表現(312)と、前記複数の時間ステップの各々において、前記ラベルエンコーダ(320)によって生成された、前記密な表現(322)とを受信することと、
前記複数の時間ステップの各々において、前記対応する時間ステップにおける可能な音声認識仮説にわたる確率分布(342)を生成することと
を行うように構成された、ジョイントネットワーク(330)と
を備える、請求項13に記載のシステム(100)。
【請求項21】
前記オーディオエンコーダ(310)が、複数のトランスフォーマ層を有するニューラルネットワークを備える、請求項20に記載のシステム(100)。
【請求項22】
前記ラベルエンコーダ(320)が、バイグラム埋込みルックアップデコーダモデルを備える、請求項20に記載のシステム(100)。
【請求項23】
前記音声認識モデル(300)が、トレーニング発話(120)の対応するグランドトゥルーストランスクリプション(220)とペアにされた、2人以上の異なる話者(10)によって話された前記トレーニング発話(120)を各々備える、トレーニングサンプルにおいてトレーニングされ、各グランドトゥルーストランスクリプション(220)が、話者ターンが前記グランドトゥルーストランスクリプション内で生じるロケーションを示す、グランドトゥルース話者ターントークンを注入される、請求項13に記載のシステム(100)。
【請求項24】
各トレーニングサンプルの前記対応するグランドトゥルーストランスクリプションに、いかなるタイムスタンプ(223)情報を用いた注釈も付けられない、請求項23に記載のシステム(100)。
【国際調査報告】