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

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

▶ ネイバー コーポレーションの特許一覧 ▶ LINE株式会社の特許一覧

特許7273078話者埋め込みに基づく音声活動検出を利用した話者ダイアライゼーション方法、システム、およびコンピュータプログラム
<>
  • 特許-話者埋め込みに基づく音声活動検出を利用した話者ダイアライゼーション方法、システム、およびコンピュータプログラム 図1
  • 特許-話者埋め込みに基づく音声活動検出を利用した話者ダイアライゼーション方法、システム、およびコンピュータプログラム 図2
  • 特許-話者埋め込みに基づく音声活動検出を利用した話者ダイアライゼーション方法、システム、およびコンピュータプログラム 図3
  • 特許-話者埋め込みに基づく音声活動検出を利用した話者ダイアライゼーション方法、システム、およびコンピュータプログラム 図4
  • 特許-話者埋め込みに基づく音声活動検出を利用した話者ダイアライゼーション方法、システム、およびコンピュータプログラム 図5
  • 特許-話者埋め込みに基づく音声活動検出を利用した話者ダイアライゼーション方法、システム、およびコンピュータプログラム 図6
  • 特許-話者埋め込みに基づく音声活動検出を利用した話者ダイアライゼーション方法、システム、およびコンピュータプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-01
(45)【発行日】2023-05-12
(54)【発明の名称】話者埋め込みに基づく音声活動検出を利用した話者ダイアライゼーション方法、システム、およびコンピュータプログラム
(51)【国際特許分類】
   G10L 15/04 20130101AFI20230502BHJP
   G10L 25/84 20130101ALI20230502BHJP
   G10L 17/00 20130101ALI20230502BHJP
【FI】
G10L15/04 300Z
G10L25/84
G10L17/00 200Z
【請求項の数】 18
(21)【出願番号】P 2021014192
(22)【出願日】2021-02-01
(65)【公開番号】P2022086961
(43)【公開日】2022-06-09
【審査請求日】2021-02-01
(31)【優先権主張番号】10-2020-0163743
(32)【優先日】2020-11-30
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(73)【特許権者】
【識別番号】321003371
【氏名又は名称】LINE株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】クォン ヨンギ
(72)【発明者】
【氏名】ホ ヒス
(72)【発明者】
【氏名】チョン ジュンソン
(72)【発明者】
【氏名】イ ボンジン
(72)【発明者】
【氏名】ハン イクサン
【審査官】山下 剛史
(56)【参考文献】
【文献】国際公開第2012/105385(WO,A1)
【文献】特開2018-63313(JP,A)
【文献】特開2010-175614(JP,A)
【文献】特開2010-54733(JP,A)
【文献】国際公開第2020/068056(WO,A1)
【文献】米国特許出願公開第2015/0025887(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-17/26,25/00-25/93
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムが実行する話者ダイアライゼーション方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記話者ダイアライゼーション方法は、
前記少なくとも1つのプロセッサにより、分類ロス(classification loss)とハードネガティブマイニングロス(hard negative mining loss)との組み合わせを利用して学習された話者認識モデルにより、与えられた音声ファイルに対して音声フレームごとに話者埋め込みを抽出する段階、および
前記少なくとも1つのプロセッサにより、前記話者埋め込みに基づいて音声活動領域(speech activity region)である音声区間を検出する段階
を含む、話者ダイアライゼーション方法。
【請求項2】
前記話者ダイアライゼーション方法は、
単一モデルである話者認識モデルを利用して、前記話者埋め込みを抽出する段階と前記音声区間を検出する段階とを実行すること
を特徴とする、請求項1に記載の話者ダイアライゼーション方法。
【請求項3】
前記音声区間を検出する段階は、
前記音声フレームそれぞれの話者埋め込みベクトルに対してノルム(Norm)値を求める段階、および
埋め込みノルム値が閾値以上の音声フレームは前記音声区間と判断し、前記閾値未満の音声フレームは非音声区間と判断する段階
を含む、請求項1に記載の話者ダイアライゼーション方法。
【請求項4】
前記話者ダイアライゼーション方法は、
前記少なくとも1つのプロセッサにより、音声と非音声を分類するための前記閾値を、与えられた音声ファイルによって適応的に設定する段階
をさらに含む、請求項3に記載の話者ダイアライゼーション方法。
【請求項5】
前記話者ダイアライゼーション方法は、
前記少なくとも1つのプロセッサにより、前記音声ファイルに対して、混合ガウスモデル(Gaussian mixture model)によって推定された前記閾値を設定する段階
をさらに含む、請求項3に記載の話者ダイアライゼーション方法。
【請求項6】
前記話者ダイアライゼーション方法は、
前記少なくとも1つのプロセッサにより、音声と非音声を分類するための前記閾値を、実験によって決定された固定値に設定する段階
をさらに含む、請求項3に記載の話者ダイアライゼーション方法。
【請求項7】
前記話者埋め込みを抽出する段階は、
スライディングウィンドウ方式を利用して、前記音声フレームごとに前記話者埋め込みを抽出する段階
を含む、請求項1に記載の話者ダイアライゼーション方法
【請求項8】
コンピュータシステムが実行する話者ダイアライゼーション方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記話者ダイアライゼーション方法は、
前記少なくとも1つのプロセッサにより、与えられた音声ファイルに対して音声フレームごとに話者埋め込みを抽出する段階であって、
話者認識モデルの出力が、時間的平均プーリング層(temporal average pooling layer)を使用して時間経過によって集計された後、投影層(projection layer)を通過することにより、発言レベル(utterance-level)の埋め込みを取得することを含む、段階、および
前記少なくとも1つのプロセッサにより、前記話者埋め込みに基づいて音声活動領域(speech activity region)である音声区間を検出する段階
を含む、
話者ダイアライゼーション方法。
【請求項9】
前記音声区間を検出する段階は、
前記話者認識モデルの出力が、時間経過による集計なく、前記投影層を経て伝達されることにより、音声活動ラベルを取得する段階
を含む、請求項8に記載の話者ダイアライゼーション方法。
【請求項10】
請求項1~9のうちのいずれか一項に記載の話者ダイアライゼーション方法を前記コンピュータシステムに実行させる、コンピュータプログラム。
【請求項11】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
分類ロスとハードネガティブマイニングロスとの組み合わせを利用して学習された話者認識モデルにより、与えられた音声ファイルに対して音声フレームごとに話者埋め込みを抽出する話者埋め込み部、および
前記話者埋め込みに基づいて音声活動領域である音声区間を検出する音声区間検出部
を含む、コンピュータシステム。
【請求項12】
前記少なくとも1つのプロセッサは、
単一モデルである話者認識モデルを利用して、前記話者埋め込みを抽出する過程と前記音声区間を検出する過程とを実行すること
を特徴とする、請求項11に記載のコンピュータシステム。
【請求項13】
前記音声区間検出部は、
前記音声フレームそれぞれの話者埋め込みベクトルに対してノルム値を求め、
埋め込みノルム値が閾値以上の音声フレームは前記音声区間と判断し、前記閾値未満の音声フレームは非音声区間と判断すること
を特徴とする、請求項11に記載のコンピュータシステム。
【請求項14】
前記少なくとも1つのプロセッサは、
音声と非音声を分類するための前記閾値を、与えられた音声ファイルによって適応的に設定すること
を特徴とする、請求項13に記載のコンピュータシステム。
【請求項15】
前記少なくとも1つのプロセッサは、
前記音声ファイルに対して、混合ガウスモデルによって推定された前記閾値を設定すること
を特徴とする、請求項13に記載のコンピュータシステム。
【請求項16】
前記話者埋め込み部は、
スライディングウィンドウ方式を利用して、前記音声フレームごとに前記話者埋め込みを抽出すること
を特徴とする、請求項11に記載のコンピュータシステム。
【請求項17】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
与えられた音声ファイルに対して音声フレームごとに話者埋め込みを抽出する話者埋め込み部であって、前記話者埋め込み部は、
話者認識モデルの出力が、時間的平均プーリング層を使用して時間経過によって集計された後、投影層を通過することにより、発言レベル埋め込みを取得するよう構成されている、話者埋め込み部、および
前記話者埋め込みに基づいて音声活動領域である音声区間を検出する音声区間検出部
を含む、
コンピュータシステム。
【請求項18】
前記音声区間検出部は、
前記話者認識モデルの出力が、時間経過による集計なく、前記投影層を経て伝達されることにより、音声活動ラベルを取得すること
を特徴とする、請求項17に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、話者ダイアライゼーション(speaker diarisation)技術に関する。
【背景技術】
【0002】
話者ダイアライゼーションとは、多数の話者が発声した内容を録音した音声ファイルから話者ごとに音声区間を分割する技術を意味する。
【0003】
話者ダイアライゼーション技術は、音声データから話者境界区間を検出するものであって、話者に対する先行知識を使用するか否かより、距離ベースの方式とモデルベースの方式とに分けられる。
【0004】
例えば、特許文献1(登録日2018年2月23日)には、話者の音声を認識する環境の変化および話者の発話状態の影響を受けずに、話者の音声に基づいて話者を区分することができる話者認識モデルを生成する技術が開示されている。
【0005】
このような話者ダイアライゼーション技術は、会議、インタビュー、取引、裁判などのように多くの話者が順不同に発声する状況で発声内容を話者ごとに分割して自動記録する諸般の技術であり、議事録自動作成などに活用されている。
【先行技術文献】
【特許文献】
【0006】
【文献】韓国登録特許第10-1833731号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
話者埋め込みに基づいて音声活動領域(speech activity region)である音声区間を検出する方法およびシステムを提供する。
【0008】
音声活動を検出するための個別のモデルは使用せず、単一モデルである話者認識モデルを利用して音声活動検出と話者埋め込み抽出を実行する方法およびシステムを提供する。
【課題を解決するための手段】
【0009】
コンピュータシステムが実行する話者ダイアライゼーション方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記話者ダイアライゼーション方法は、前記少なくとも1つのプロセッサにより、与えられた音声ファイルに対して音声フレームごとに話者埋め込みを抽出する段階、および前記少なくとも1つのプロセッサにより、前記話者埋め込みに基づいて音声活動領域(speech activity region)である音声区間を検出する段階を含む、話者ダイアライゼーション方法を提供する。
【0010】
一側面によると、前記話者ダイアライゼーション方法は、単一モデルである話者認識モデルを利用して、前記話者埋め込みを抽出する段階と前記音声区間を検出する段階を実行してよい。
【0011】
他の側面によると、前記音声区間を検出する段階は、前記音声フレームそれぞれの話者埋め込みベクトルに対してノルム(Norm)値を求める段階、および埋め込みノルム値が閾値(threshold)以上の音声フレームは前記音声区間と判断し、前記閾値未満の音声フレームは非音声区間と判断する段階を含んでよい。
【0012】
また他の側面によると、前記話者ダイアライゼーション方法は、前記少なくとも1つのプロセッサにより、音声と非音声を分類するための前記閾値を、与えられた音声ファイルによって適応的に設定する段階をさらに含んでよい。
【0013】
また他の側面によると、前記話者ダイアライゼーション方法は、前記少なくとも1つのプロセッサにより、前記音声ファイルに対して、混合ガウスモデル(Gaussian mixture model)によって推定された前記閾値を設定する段階をさらに含んでよい。
【0014】
また他の側面によると、前記話者ダイアライゼーション方法は、前記少なくとも1つのプロセッサにより、音声と非音声を分類するための前記閾値を、実験によって決定された固定値で設定する段階をさらに含んでよい。
【0015】
また他の側面によると、前記話者埋め込みを抽出する段階は、スライディングウィンドウ(sliding window)方式を利用して、前記音声フレームごとに前記話者埋め込みを抽出する段階を含んでよい。
【0016】
また他の側面によると、前記話者埋め込みを抽出する段階は、分類ロス(classification loss)とハードネガティブマイニングロス(hard negative mining loss)との組み合わせを利用して学習された話者認識モデルにより、前記話者埋め込みを抽出する段階を含んでよい。
【0017】
また他の側面によると、前記話者埋め込みを抽出する段階は、話者認識モデルの出力が、時間的平均プーリング層(temporal average pooling layer)を使用して時間の経過によって集計された後、投影層(projection layer)を通過することにより、発言レベル(utterance-level)の埋め込みを取得する段階を含んでよい。
【0018】
また他の側面によると、前記音声区間を検出する段階は、前記話者認識モデルの出力が、時間の経過による集計なく、前記投影層を経て伝達されることにより、音声活動ラベルを取得する段階を含んでよい。
【0019】
前記話者ダイアライゼーション方法を前記コンピュータシステムに実行させるために非一時的なコンピュータ読み取り可能な記録媒体に記録される、コンピュータプログラムを提供する。
【0020】
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、与えられた音声ファイルに対して音声フレームごとに話者埋め込みを抽出する話者埋め込み部、および前記話者埋め込みに基づいて音声活動領域である音声区間を検出する音声区間検出部を含む、コンピュータシステムを提供する。
【発明の効果】
【0021】
本発明の実施形態によると、話者埋め込みに基づいて音声活動領域である音声区間を検出することにより、話者認識が明らかな区間だけを検出することができ、話者ダイアライゼーションの性能を高めることができる。
【0022】
本発明の実施形態によると、音声活動の検出のために話者埋め込みの抽出に使用する話者認識モデルを利用することにより、単一モデルで音声活動検出と話者埋め込み抽出を実行することができ、話者ダイアライゼーションのパイプラインを簡素化させることができる。
【図面の簡単な説明】
【0023】
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
図2】本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。
図3】本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示した図である。
図4】本発明の一実施形態における、コンピュータシステムが実行することのできる話者ダイアライゼーション方法の例を示したフローチャートである。
図5】本発明の一実施形態における、話者ダイアライゼーションのための全体過程を示したフローチャートである。
図6】本発明の一実施形態における、話者埋め込みを抽出するためのモデルの例を示した図である。
図7】本発明の一実施形態における、話者埋め込みに基づく音声区間検出方法を利用した話者ダイアライゼーション性能の実験結果を示した図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0025】
本発明の実施形態は、音声データから話者境界区間を検出する話者ダイアライゼーション技術に関する。
【0026】
本明細書で具体的に開示される事項を含む実施形態は、話者埋め込みに基づいて音声活動領域である音声区間を検出することにより、話者ダイアライゼーションの性能を高めることができ、話者ダイアライゼーションのパイプラインを簡素化させることができる。
【0027】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、サーバ150、およびネットワーク160を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
【0028】
複数の電子機器110、120、130、140は、コンピュータシステムによって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレット、ゲームコンソール、ウェアラブルデバイス、IoT(internet of things)デバイス、VR(virtual reality)デバイス、AR(augmented reality)デバイスなどがある。一例として、図1では、電子機器110の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク160を介して他の電子機器120、130、140および/またはサーバ150と通信することのできる多様な物理的なコンピュータシステムのうちの1つを意味してよい。
【0029】
通信方式が限定されることはなく、ネットワーク160が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網、衛星網など)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク160は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク160は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0030】
サーバ150は、複数の電子機器110、120、130、140とネットワーク160を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク160を介して接続した複数の電子機器110、120、130、140に目的とするサービスを提供するシステムであってよい。より具体的な例として、サーバ150は、複数の電子機器110、120、130、140においてインストールされて実行されるコンピュータプログラムであるアプリケーションを通じ、該当のアプリケーションが目的とするサービス(一例として、音声認識に基づく人工知能議事録サービスなど)を複数の電子機器110、120、130、140に提供してよい。
【0031】
図2は、本発明の一実施形態における、コンピュータシステムの例を示したブロック図である。図1を参照しながら説明したサーバ150は、図2のように構成されたコンピュータシステム200によって実現されてよい。
【0032】
図2に示すように、コンピュータシステム200は、本発明の実施形態に係る話者ダイアライゼーション方法を実行するための構成要素として、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。
【0033】
メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータシステム200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ネットワーク160を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータシステム200のメモリ210にロードされてよい。
【0034】
プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0035】
通信モジュール230は、ネットワーク160を介してコンピュータシステム200が他の装置と互いに通信するための機能を提供してよい。一例として、コンピュータシステム200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース230の制御にしたがってネットワーク160を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク160を経てコンピュータシステム200の通信インタフェース230を通じてコンピュータシステム200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータシステム200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0036】
通信方式が限定されることはなく、ネットワーク160が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の有線/無線通信が含まれてもよい。例えば、ネットワーク160は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク160は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0037】
入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、カメラ、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカなどのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250は、コンピュータシステム200と1つの装置で構成されてもよい。
【0038】
また、他の実施形態において、コンピュータシステム200は、図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータシステム200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【0039】
以下では、話者埋め込みに基づいて音声活動を検出する話者ダイアライゼーション方法およびシステムの具体的な実施形態について説明する。
【0040】
図3は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図4は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
【0041】
本実施形態に係るサーバ150は、多数の話者が発声した内容を録音した音声ファイルから話者ごとに音声区間を分割して文書として整理する人工知能サービスを提供するサービスプラットフォームの役割を担う。
【0042】
サーバ150には、コンピュータシステム200によって実現された話者ダイアライゼーションシステムが構成されてよい。一例として、サーバ150は、クライアント(client)である複数の電子機器110、120、130、140を対象に、電子機器110、120、130、140上にインストールされた専用アプリケーションやサーバ150と関連するウェブ/モバイルサイトへの接続により、音声認識に基づく人工知能議事録サービスを提供してよい。
【0043】
特に、サーバ150は、話者埋め込みに基づいて音声活動領域である音声区間を検出してよい。
【0044】
サーバ150のプロセッサ220は、図4に係る話者ダイアライゼーション方法を実行するための構成要素として、図3に示すように、話者埋め込み部310、音声区間検出部320、およびクラスタリング実行部330を含んでよい。
【0045】
実施形態によって、プロセッサ220の構成要素は、選択的にプロセッサ220に含まれても除外されてもよい。また、実施形態によって、プロセッサ220の構成要素は、プロセッサ220の機能の表現のために分離されても併合されてもよい。
【0046】
このようなプロセッサ220およびプロセッサ220の構成要素は、図4の話者ダイアライゼーション方法が含む段階410~430を実行するようにサーバ150を制御してよい。例えば、プロセッサ220およびプロセッサ220の構成要素は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる命令(instruction)を実行するように実現されてよい。
【0047】
ここで、プロセッサ220の構成要素は、サーバ150に記録されたプログラムコードが提供する命令にしたがってプロセッサ220によって実行される、互いに異なる機能の表現であってよい。例えば、サーバ150が話者埋め込みを抽出するように上述した命令にしたがってサーバ150を制御するプロセッサ220の機能的表現として、話者埋め込み部310が利用されてよい。
【0048】
プロセッサ220は、サーバ150の制御と関連する命令がロードされたメモリ210から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、以下で説明する段階410~430をプロセッサ220が実行するように制御するための命令を含んでよい。
【0049】
以下で説明する段階410~430は、図4に示した順序とは異なるように実行されてもよいし、段階410~430のうちの一部が省略されても追加の過程がさらに含まれてもよい。
【0050】
図4を参照すると、段階410で、話者埋め込み部310は、多数の話者が発声した内容を録音した音声ファイルが与えられる場合、話者認識モデルを利用して、与えられた音声ファイルに対して音声フレームごとに話者埋め込みを抽出してよい。一例として、話者埋め込み部310は、スライディングウィンドウ(sliding window)方式によって音声フレームごとに話者埋め込みを抽出してよい。
【0051】
段階420で、音声区間検出部320は、話者埋め込みに基づいて音声活動領域である音声区間を検出してよい。話者埋め込みを抽出するための話者認識モデル(例えば、SpeakerNetなど)は、音声に対しては埋め込みのノルム(Norm)値を高く示し、非音声に対しては埋め込みのノルム値を低く示す。一例として、音声区間検出部320は、音声フレームそれぞれの話者埋め込みベクトルに対してノルム値を求め、埋め込みノルム値が閾値(threshold)以上の音声フレームは音声区間と判断してよく、埋め込みノルム値が閾値未満の音声フレームは非音声区間と判断してよい。
【0052】
段階430で、クラスタリング実行部330は、話者埋め込みをグループ化することにより、段階420で検出された音声区間に基づいて話者ダイアライゼーションクラスタリングを実行してよい。クラスタリング実行部330は、話者埋め込みに対する類似度行列(affinity matrix)を計算した後、類似度行列に基づいてクラスタ数を決定してよい。このとき、クラスタリング実行部330は、類似度行列に対して固有値分解(eigendecomposition)を行って固有値(eigenvalue)を抽出した後、抽出された固有値を大きさ順に整列し、整列された固有値で隣接する固有値の差を基準に、有効な主成分に該当する固有値の個数をクラスタ数として決定してよい。固有値が高いということは類似度行列で影響力が大きいことを意味し、すなわち、音声ファイル内の音声区間に対して類似度行列を構成するときに、発声がある話者のうちで発声の比重が高いことを意味する。言い換えれば、クラスタリング実行部330は、整列された固有値のうちから十分に大きな値を有する固有値を選択し、選択された固有値の個数を、話者数を示すクラスタ数として決定してよい。クラスタリング実行部330は、決定されたクラスタ数に基づいて音声区間をマッピングすることにより、話者ダイアライゼーションのクラスタリングを実行してよい。
【0053】
図5に示すように、話者ダイアライゼーションのための全体過程50は、音声区間(speech region)検出段階51、話者埋め込み抽出(Extract speaker embeddings)段階52、および話者ダイアライゼーションクラスタリング段階53を含んでよい。
【0054】
従来は、各フレームのエネルギーを測定して音声と非音声を区分する方式によって音声区間を検出していたが、音声区間検出のためのモデルは、話者埋め込み(speaker embedding)を抽出するためのモデルとは異なる、独立的なモデルを使用していた。エネルギーに基づいて音声区間を検出する場合、検出された音声区間のうちの一部に話者認識が困難な区間が含まれることがあり、話者認識が困難な区間は話者認識モデルが学習できなかった類型であるため、話者埋め込みの品質が落ちるようになる。結果的に、検出された音声区間の品質が話者ダイアライゼーションの性能を左右するようになる。
【0055】
本実施形態において、プロセッサ220は、音声活動を検出するための個別のモデルは使用せず、単一モデルである話者認識モデルを利用して、音声活動検出と話者埋め込み抽出を実行する。言い換えれば、本発明は、埋め込みモデル(embedding model)だけで、音声区間検出段階51と話者埋め込み抽出段階52を実行することができる。
【0056】
本発明に係る話者ダイアライゼーションシステムに適用される核心アーキテクチャを説明すれば、次のとおりとなる。
【0057】
話者認識モデルの認識が適切になされる話者表現(speaker representations)を得ることが、話者ダイアライゼーションの問題の核心となる。以下では、深層神経網〔ニューラルネットワーク〕によって話者埋め込みを学習して抽出を行う方法について説明する。
【0058】
入力表現(input representations)は、メル尺度で線形的に区間を分けて実現してよい。プロセッサ220は、一定の大きさ(例えば、25msの幅と10msのストライド)のウィンドウで各発言(utterance)からスペクトログラムを抽出する。64次元のメルフィルタバンクが、ネットワークに対する入力として使用される。平均および分散正規化(MVN)はインスタンス正規化を使用し、発言レベルでスペクトラムとフィルタバンクのすべての周波数ビンに対して実行される。
【0059】
話者埋め込み抽出モデルは、話者認識モデルの1つであるResNet(Residual networks)が使用されてよい。例えば、基本アーキテクチャとして、予備活性化残差ユニット(pre-activation residual units)を除いたResNet-34を適用してよい。ResNet-34アーキテクチャの例は、図6に示すとおりである。
【0060】
話者埋め込み抽出モデルの出力は、時間的平均プーリング層(temporal average pooling layer)を使用して時間経過によって集計された後、線形投影層(linear projection layer)を通過することで、発言レベルの埋め込みを取得してよい。
【0061】
プロセッサ220は、目的関数として、分類ロス(classification loss)とハードネガティブマイニングロス(hard negative mining loss)との組み合わせを利用して、話者埋め込み抽出モデルを学習する。
【0062】
分類ロスLCEは数式(1)のように定義され、ハードネガティブマイニングロスLHは数式(2)のように定義される。
【数1】
【0063】
ここで、Nはバッチサイズ(batch size)、xiとWyiはi番目の発言の埋め込みベクトルと該当の話者の基底を示す。Hiは、
【数2】
値が大きい上位H話者ベースの集合を意味する。特定の話者に対する話者の基準は、話者に該当する出力層の加重値行列の一行ベクトルである。各サンプルに対するハード集合であるHiは、サンプルxiと学習セットのすべての話者ベースの間のコサイン類似性に基づき、すべてのミニバッチに対して選択される。範疇型交差エントロピー損失である分類ロスLCEとハードネガティブマイニングロスLHは、同じ加重値で結合される。
【数3】
プロセッサ220は、有名人の音声を抽出および検収することによって生成された学習データセット(例えば、VoxCeleb2など)を利用して話者埋め込み抽出モデルを学習する。このとき、プロセッサ220は、各発言からランダムに抽出された固定の長さ(例えば、2秒)の時間セグメント(temporal segments)を利用して話者埋め込み抽出モデルを学習してよい。
【0064】
音声区間検出段階51で選択されたフレームで話者情報を表現する話者埋め込みを抽出する話者埋め込み抽出段階52で使用される話者認識モデルを、音声区間検出段階51でも活用してよい。話者埋め込みは、ある一人の音声を他人の音声と区別することができるため、音声(speech〔発話〕)と非音声(non-speech〔非発話〕)を区別することができる。
【0065】
埋め込みノルム値と目標タスクに対する信頼度には相関関係があるという点において、埋め込みベクトルがソフトマックス関数(softmax function)によって活性化された出力層と同じ線形分類器によって分類される場合、ノルム値が高いということは、埋め込みベクトルと超平面(hyper plane)との間に大きな余裕があるということ、すなわち、モデルの信頼点数(confidence score)が高いということを意味する。
【0066】
話者認識モデルは、人間の音声に対してのみ学習されたものであるため、学習対象でない非音声に対しては埋め込みノルム値が低く、信頼点数も極めて低い。したがって、独立されたモジュールやモデルを修正せずに、音声区間検出段階51に話者認識モデルを使用することができる。
【0067】
細分化された音声活動ラベルを得るために、話者埋め込み抽出モデルによってすべての出力をインポートし、時間的な集計なく投影層(projection layer)を経て伝達する。これは、話者表現のために時間的平均プーリングを使用して一定の大きさ(例えば、2秒)のウィンドウで集計される埋め込みを使用するものとは対照的である。
【0068】
プロセッサ220は、音声フレームそれぞれの話者埋め込みベクトルに対してノルム値を求め、埋め込みノルム値が閾値以上の音声フレームは音声区間と判断し、埋め込みノルム値が閾値未満の音声フレームは非音声区間と判断する。
【0069】
一例として、プロセッサ220は、音声と非音声を分類するための閾値を、実験による固定値で設定してよい。実験を行い、閾値範囲内で最上の結果を見つけ出すことにより、開発集合を使用して埋め込みノルム値に対する閾値を手動で設定してよい。プロセッサ220は、すべてのデータセットに対して単一閾値を設定してよい。
【0070】
他の例として、プロセッサ220は、与えられた音声ファイルに対して最適の閾値を自動で設定してよい。このとき、プロセッサ220は、混合ガウスモデル(GMM)を使用して、各発言に対する最適閾値を推定してよい。このために、2つの混合成分を使用して混合ガウスモデルを学習させ、1つの発言としてノルム値の分布を学習する。このとき、混合成分とは、音声クラスタと非音声クラスタを示す。混合ガウスモデルを学習させた後、数式(4)により、閾値を推定してよい。
【数4】
【0071】
ここで、μ0とμ1は混合成分それぞれの平均値であり、αは2つの平均値の加重値係数を意味する。
【0072】
プロセッサ220は、音声と非音声を分類するための閾値を、音声データによって適応的に推定することにより、多様なデータセットドメインで強力な閾値を設定することができる。
【0073】
プロセッサ220は、話者埋め込みに基づく音声区間検出段階51の結果に基づき、音声データの各セッションを複数の音声活動セグメントに分けてよい。
【0074】
プロセッサ220は、音声区間検出の結果の過度な急変を保障するために、PD(end point detection)過程を実行する。EPDとは、音声と非音声を区分した発声の最初と最後だけを見つけ出す過程である。一例として、プロセッサ220は、一定の大きさのウィンドウをスライディングすることによって最初と最後を探知する。例えば、開始点としては、音声活動フレームの割合が70%を超える地点が識別され、非音声フレームに対しても同じ規則によって終了地点が識別されてよい。
【0075】
プロセッサ220は、AHC(Agglomerative Hierarchical Clustering)アルゴリズムを利用して話者埋め込みをグループ化してよい。AHCアルゴリズムは、距離閾値またはクラスタ数によって話者表現をクラスタリングしてよい。プロセッサ220は、複数の異なるドメインにおいて、シルエット点数(2≦C≦10)を基準に、各セッションまたは音声ファイル(または、音声を含んだビデオ)に対して最適なクラスタ数を自動で選択してよい。
【0076】
シルエット点数は、データクラスタ内の一貫性を解釈したものであり、信頼度の尺度として見なされてよい。シルエット点数は、クラスタ内の平均距離により、数式(5)のように定義されてよい。
【数5】
【0077】
平均最近隣クラスタ距離(mean nearest-cluster distance)は、各サンプルあたり、数式(6)のように定義されてよい。
【数6】
【0078】
特に、サンプルのシルエット点数s(i)は、数式(7)のように定義されてよい。
【数7】
【0079】
シルエット点数を利用したクラスタリング方法は、各データセットに対して閾値を手動で調整する方法とは異なり、媒介変数の最適化を要求しない。
【0080】
本実施形態では、話者埋め込みに基づいて音声活動領域(すなわち、音声区間)を検出する方法が、話者ダイアライゼーションの性能を高めるための極めて簡単かつ効果的な解決策となる。
【0081】
図7は、本発明における、話者埋め込みに基づく音声区間検出方法の話者ダイアライゼーション性能の実験結果を示した図である。
【0082】
実験は、話者ダイアライゼーションのチャレンジデータセットとしてDIHARDを利用し、音声活動を検出するためのモデルと話者埋め込みを抽出するためのモデルが完全に分割されたパイプラインの話者ダイアライゼーション方法をベースラインとして利用する。SE(speech enhancement)は、音声に対するノイズ除去(denoising)過程が含まれたものである。
【0083】
MS(missed speech)は結果に含まれない音声の比率、FA(false alarm)は結果に含まれた非音声の比率、SC(speaker confusion)は結果に含まれたマッピングエラーの比率(話者IDを間違えてマッピングした音声の比率)を示し、DER(diarsation error rate)は、MSとFA、およびSCの総合を意味する。すなわち、DERが低いほど、話者ダイアライゼーションの性能が高いことを意味する。
【0084】
単一モデルによって音声活動検出と話者埋め込み抽出を実行する本発明の話者ダイアライゼーションの性能とベースラインを比較すると、音声と非音声の分類基準となる閾値を固定設定した方法(Ours w/SpeakerNet SAD Fixed)と適応的に自動設定した方法(Ours w/SpeakerNet SAD GMM)の両方とも、ベースラインに比べて高い性能を示すことが分かった。
【0085】
このように、本発明の実施形態によると、話者埋め込みに基づいて音声活動領域である音声区間を検出することにより、話者認識が明らかな区間だけを検出することができ、話者ダイアライゼーションの性能を高めることができる。また、本発明の実施形態によると、音声活動を検出するために話者埋め込みの抽出に使用される話者認識モデルを利用することにより、単一モデルによって音声活動検出と話者埋め込み抽出を実行することができ、話者ダイアライゼーションのパイプラインを簡素化させることができる。
【0086】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0087】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0088】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0089】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0090】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0091】
220:プロセッサ
310:話者埋め込み部
320:音声区間検出部
330:クラスタリング実行部
図1
図2
図3
図4
図5
図6
図7