(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-12
(45)【発行日】2023-09-21
(54)【発明の名称】話者識別を結合した話者ダイアライゼーション方法、システム、およびコンピュータプログラム
(51)【国際特許分類】
G10L 17/00 20130101AFI20230913BHJP
【FI】
G10L17/00 200C
(21)【出願番号】P 2021189143
(22)【出願日】2021-11-22
【審査請求日】2021-11-22
(31)【優先権主張番号】10-2021-0006190
(32)【優先日】2021-01-15
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(73)【特許権者】
【識別番号】523303688
【氏名又は名称】ワークスモバイルジャパン株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】クォン ヨンギ
(72)【発明者】
【氏名】カン ハンヨン
(72)【発明者】
【氏名】キム ユジン
(72)【発明者】
【氏名】キム ハンギュ
(72)【発明者】
【氏名】イ ボンジン
(72)【発明者】
【氏名】チャン ジョンフン
(72)【発明者】
【氏名】ハン イクサン
(72)【発明者】
【氏名】ホ ヒス
(72)【発明者】
【氏名】チョン ジュンンソン
【審査官】菊地 陽一
(56)【参考文献】
【文献】国際公開第2020/188724(WO,A1)
【文献】特開2018-063313(JP,A)
【文献】米国特許出願公開第2016/0283185(US,A1)
【文献】特開2011-059500(JP,A)
【文献】国際公開第2020/117639(WO,A2)
【文献】国際公開第2019/198265(WO,A1)
【文献】国際公開第2020/068056(WO,A1)
【文献】特開2021-001988(JP,A)
【文献】特開2010-175614(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 17/00
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムが実行する話者ダイアライゼーション方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記話者ダイアライゼーション方法は、
前記少なくとも1つのプロセッサにより、クライアントから話者ダイアライゼーション対象音声として受信された音声ファイルと関連して基準音声を設定する段階、
前記少なくとも1つのプロセッサにより、前記基準音声を利用して前記音声ファイルから前記基準音声の話者を識別する話者識別を実行する段階、および
前記少なくとも1つのプロセッサにより、前記音声ファイルで識別されなかった残りの発話区間
だけに対して、クラスタリングを利用した話者ダイアライゼーションを実行する段階
を含み、
前記話者識別を実行する段階は、
前記音声ファイルに含まれた発話区間のうちから前記基準音声に対応する発話区間を確認する段階、を含み、
前記確認する段階は、
前記
音声ファイルに含まれた発話区間から抽出された埋め込みと前記基準音声から抽出された埋め込みとの距離が閾値以下であることに基づいて、前記基準音声に対応する発話区間を確認することを含
み、
前記話者ダイアライゼーションを実行する段階は、
前記残りの発話区間から抽出された埋め込みをクラスタリングする段階、および
クラスタのインデックスを前記残りの発話区間にマッピングする段階
を含み、
前記クラスタリングする段階は、
前記残りの発話区間から抽出された埋め込みに基づいて類似度行列を計算する段階、
前記類似度行列に対して固有値分解を実行して固有値を抽出する段階、
前記抽出された固有値を大きさによって整列した後、隣接する整列された固有値の差を基準にして選択された固有値の個数をクラスタ数として決定する段階、および
前記類似度行列と前記クラスタ数を利用して話者ダイアライゼーションクラスタリングを実行する段階
を含む、話者ダイアライゼーション方法。
【請求項2】
コンピュータシステムが実行する話者ダイアライゼーション方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記話者ダイアライゼーション方法は、
前記少なくとも1つのプロセッサにより、クライアントから話者ダイアライゼーション対象音声として受信された音声ファイルと関連して基準音声を設定する段階、
前記少なくとも1つのプロセッサにより、前記基準音声を利用して前記音声ファイルから前記基準音声の話者を識別する話者識別を実行する段階、および
前記少なくとも1つのプロセッサにより、前記音声ファイルで識別されなかった残りの発話区間
だけに対して、クラスタリングを利用した話者ダイアライゼーションを実行する段階
を含み、
前記話者識別を実行する段階は、
前記音声ファイルに含まれた発話区間のうちから前記基準音声に対応する発話区間を確認する段階、を含み、
前記確認する段階は、
前記
音声ファイルに含まれた発話区間から抽出された埋め込みをクラスタリングした結果である埋め込みクラスタと前記基準音声から抽出された埋め込みとの距離が閾値以下であることに基づいて、前記基準音声に対応する発話区間を確認することを含
み、
前記話者ダイアライゼーションを実行する段階は、
前記残りの発話区間から抽出された埋め込みをクラスタリングする段階、および
クラスタのインデックスを前記残りの発話区間にマッピングする段階
を含み、
前記クラスタリングする段階は、
前記残りの発話区間から抽出された埋め込みに基づいて類似度行列を計算する段階、
前記類似度行列に対して固有値分解を実行して固有値を抽出する段階、
前記抽出された固有値を大きさによって整列した後、隣接する整列された固有値の差を基準にして選択された固有値の個数をクラスタ数として決定する段階、および
前記類似度行列と前記クラスタ数を利用して話者ダイアライゼーションクラスタリングを実行する段階
を含む、話者ダイアライゼーション方法。
【請求項3】
前記基準音声を設定する段階は、
前記音声ファイルに属する話者のうちの一部の話者のラベルが含まれた音声データを前記基準音声として設定すること
を含む、請求項1又は2に記載の話者ダイアライゼーション方法。
【請求項4】
前記基準音声を設定する段階は、
前記コンピュータシステムと関連するデータベース上に事前に記録された話者音声のうちで前記音声ファイルに属する一部の話者の音声の選択を受けて、前記基準音声として設定すること
を含む、請求項1又は2に記載の話者ダイアライゼーション方法。
【請求項5】
前記基準音声を設定する段階は、
録音によって前記音声ファイルに属する話者のうちの一部の話者の音声の入力を受けて、前記基準音声として設定すること
を含む、請求項1又は2に記載の話者ダイアライゼーション方法。
【請求項6】
前記話者識別を実行する段階は、
前記基準音声に対応する発話区間に前記基準音声の話者ラベルをマッピングする段階
を含む、請求項1~5のうちのいずれか一項に記載の話者ダイアライゼーション方法。
【請求項7】
請求項1~
6のうちのいずれか一項に記載の話者ダイアライゼーション方法を前記コンピュータシステムに実行させるためのコンピュータプログラム。
【請求項8】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
クライアントから話者ダイアライゼーション対象音声として受信された音声ファイルと関連して基準音声を設定する基準設定部、
前記基準音声を利用して前記音声ファイルから前記基準音声の話者を識別する話者識別を実行する話者識別部、および
前記音声ファイルで識別されなかった残りの発話区間
だけに対して、クラスタリングを利用した話者ダイアライゼーションを実行する話者ダイアライゼーション部
を含み、
前記話者識別部は、
前記音声ファイルに含まれた発話区間のうちから前記基準音声に対応する発話区間を確認し、
前記話者識別部は、
前記
音声ファイルに含まれた発話区間から抽出された埋め込みと前記基準音声から抽出された埋め込みとの距離が閾値以下であることに基づいて、前記基準音声に対応する発話区間を確認
し、
前記話者ダイアライゼーション部は、
前記残りの発話区間から抽出された埋め込みに基づいて類似度行列を計算し、
前記類似度行列に対して固有値分解を実行して固有値を抽出し、
前記抽出された固有値を大きさによって整列した後、隣接する整列された固有値の差を基準にして選択された固有値の個数をクラスタ数として決定し、
前記類似度行列と前記クラスタ数を利用して話者ダイアライゼーションクラスタリングを実行し、
前記話者ダイアライゼーションクラスタリングによるクラスタのインデックスを前記残りの発話区間にマッピングする、コンピュータシステム。
【請求項9】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
クライアントから話者ダイアライゼーション対象音声として受信された音声ファイルと関連して基準音声を設定する基準設定部、
前記基準音声を利用して前記音声ファイルから前記基準音声の話者を識別する話者識別を実行する話者識別部、および
前記音声ファイルで識別されなかった残りの発話区間
だけに対して、クラスタリングを利用した話者ダイアライゼーションを実行する話者ダイアライゼーション部
を含み、
前記話者識別部は、
前記音声ファイルに含まれた発話区間のうちから前記基準音声に対応する発話区間を確認し、
前記話者識別部は、
前記
音声ファイルに含まれた発話区間から抽出された埋め込みをクラスタリングした結果である埋め込みクラスタと前記基準音声から抽出された埋め込みとの距離が閾値以下であることに基づいて、前記基準音声に対応する発話区間を確認
し、
前記話者ダイアライゼーション部は、
前記残りの発話区間から抽出された埋め込みに基づいて類似度行列を計算し、
前記類似度行列に対して固有値分解を実行して固有値を抽出し、
前記抽出された固有値を大きさによって整列した後、隣接する整列された固有値の差を基準にして選択された固有値の個数をクラスタ数として決定し、
前記類似度行列と前記クラスタ数を利用して話者ダイアライゼーションクラスタリングを実行し、
前記話者ダイアライゼーションクラスタリングによるクラスタのインデックスを前記残りの発話区間にマッピングする、コンピュータシステム。
【請求項10】
前記基準設定部は、
前記音声ファイルに属する話者のうちの一部の話者のラベルが含まれた音声データを前記基準音声として設定する
請求項
8又は
9に記載のコンピュータシステム。
【請求項11】
前記基準設定部は、
前記コンピュータシステムと関連するデータベース上に事前に記録された話者音声のうちで前記音声ファイルに属する一部の話者の音声の選択を受けて、前記基準音声として設定する
請求項
8又は
9に記載のコンピュータシステム。
【請求項12】
前記基準設定部は、
録音によって前記音声ファイルに属する話者のうちの一部の話者の音声の入力を受けて、前記基準音声として設定する
請求項
8又は
9に記載のコンピュータシステム。
【請求項13】
前記話者識別部は、
前記基準音声に対応する発話区間に前記基準音声の話者ラベルをマッピングする
請求項
8~
12のうちのいずれか一項に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、話者ダイアライゼーション(speaker diarization)技術に関する。
【背景技術】
【0002】
話者ダイアライゼーションとは、多数人の話者が発話した内容が録音された音声ファイルから各話者の発話区間を分離する技術である。
【0003】
話者ダイアライゼーション技術は、オーディオデータから話者境界区間を検出するものであって、話者に対する先行知識の使用状況に応じて距離基盤方式とモデル基盤方式とに分けられる。
【0004】
例えば、特許文献1(公開日2020年4月7日)には、話者の位置を追跡し、話者の位置情報に基づいて入力音響から話者の音声を分離する技術が開示されている。
【0005】
このような話者ダイアライゼーション技術は、会議、インタビュー、取り引き、裁判などのように多人数の話者が不規則に発話する状況において発話内容を話者ごとに分離して自動記録する諸般の技術であって、議事録自動作成などに活用されている。
【先行技術文献】
【特許文献】
【0006】
【文献】韓国公開特許第10-2020-0036820号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
話者ダイアライゼーション技術に話者識別技術を結合することで話者ダイアライゼーション性能を改善する方法およびシステムを提供する。
【0008】
話者ラベル(speaker label)が含まれた基準音声を利用して話者識別を先行した後に話者ダイアライゼーションを実行する方法およびシステムを提供する。
【課題を解決するための手段】
【0009】
コンピュータシステムが実行する話者ダイアライゼーション方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記話者ダイアライゼーション方法は、前記少なくとも1つのプロセッサにより、クライアントから話者ダイアライゼーション対象音声として受信された音声ファイルと関連して基準音声を設定する段階、前記少なくとも1つのプロセッサにより、前記基準音声を利用して前記音声ファイルから前記基準音声の話者を識別する話者識別を実行する段階、および前記少なくとも1つのプロセッサにより、前記音声ファイルで識別されなかった残りの発話区間に対して、クラスタリングを利用した話者ダイアライゼーションを実行する段階を含む、話者ダイアライゼーション方法を提供する。
【0010】
一側面によると、前記基準音声を設定する段階は、前記音声ファイルに属する話者のうちの一部の話者のラベルが含まれた音声データを前記基準音声として設定してよい。
【0011】
他の側面によると、前記基準音声を設定する段階は、前記コンピュータシステムと関連するデータベース上に事前に記録された話者音声のうちから前記音声ファイルに属する一部の話者の音声の選択を受けて、前記基準音声として設定してよい。
【0012】
また他の側面によると、前記基準音声を設定する段階は、録音によって前記音声ファイルに属する話者のうちの一部の話者の音声の入力を受けて、前記基準音声として設定してよい。
【0013】
また他の側面によると、前記話者識別を実行する段階は、前記音声ファイルに含まれた発話区間のうちから前記基準音声に対応する発話区間を確認する段階、および前記基準音声に対応する発話区間に前記基準音声の話者ラベルをマッピングする段階を含んでよい。
【0014】
また他の側面によると、前記確認する段階は、前記発話区間から抽出された埋め込み(embedding)と前記基準音声から抽出された埋め込みとの距離に基づいて、前記基準音声に対応する発話区間を確認してよい。
【0015】
また他の側面によると、前記確認する段階は、前記発話区間から抽出された埋め込みをクラスタリングした結果である埋め込みクラスタと前記基準音声から抽出された埋め込みとの距離に基づいて、前記基準音声に対応する発話区間を確認してよい。
【0016】
また他の側面によると、前記確認する段階は、前記発話区間から抽出された埋め込みとともに前記基準音声から抽出された埋め込みをクラスタリングした結果に基づいて、前記基準音声に対応する発話区間を確認してよい。
【0017】
また他の側面によると、前記話者ダイアライゼーションを実行する段階は、前記残りの発話区間から抽出された埋め込みをクラスタリングする段階、およびクラスタのインデックスを前記残りの発話区間にマッピングする段階を含んでよい。
【0018】
さらに他の側面によると、前記クラスタリングする段階は、前記残りの発話区間から抽出された埋め込みに基づいて類似度行列を計算する段階、前記類似度行列に対して固有値分解(eigen decomposition)を実行して固有値(eigenvalue)を抽出する段階、前記抽出された固有値を整列した後、隣接する固有値の差を基準として選択された固有値の個数をクラスタ数として決定する段階、および前記類似度行列と前記クラスタ数を利用して話者ダイアライゼーションクラスタリングを実行する段階を含んでよい。
【0019】
前記話者ダイアライゼーション方法を前記コンピュータシステムに実行させるためのコンピュータプログラムを提供する。
【0020】
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、クライアントから話者ダイアライゼーション対象音声として受信された音声ファイルと関連して基準音声を設定する基準設定部、前記基準音声を利用して前記音声ファイルから前記基準音声の話者を識別する話者識別を実行する話者識別部、および前記音声ファイルで識別されなかった残りの発話区間に対して、クラスタリングを利用した話者ダイアライゼーションを実行する話者ダイアライゼーション部を含む、コンピュータシステムを提供する。
【発明の効果】
【0021】
本発明の実施形態によると、話者ダイアライゼーション技術に話者識別技術を結合することで、話者ダイアライゼーション性能を改善することができる。
【0022】
本発明の実施形態によると、話者ラベルが含まれた基準音声を利用して話者識別を先行した後に話者ダイアライゼーションを実行することにより、話者ダイアライゼーション技術の正確度を高めることができる。
【図面の簡単な説明】
【0023】
【
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【
図2】本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。
【
図3】本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示した図である。
【
図4】本発明の一実施形態における、コンピュータシステムが実行することのできる話者ダイアライゼーション方法の例を示したフローチャートである。
【
図5】本発明の一実施形態における、話者識別過程を説明するための例示図である。
【
図6】本発明の一実施形態における、話者ダイアライゼーション過程を説明するための例示図である。
【
図7】本発明の一実施形態における、話者識別を結合した話者ダイアライゼーション過程を説明するための例示図である。
【
図8】本発明の一実施形態における、基準音声に対応する発話区間を確認する(verify)方法を説明するための例示図である。
【
図9】本発明の一実施形態における、基準音声に対応する発話区間を確認する(verify)方法を説明するための例示図である。
【
図10】本発明の一実施形態における、基準音声に対応する発話区間を確認する(verify)方法を説明するための例示図である。
【発明を実施するための形態】
【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は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうちの任意の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によって実行される、互いに異なる機能(different functions)の表現であってよい。例えば、サーバ150が基準音声を設定するように上述した命令にしたがってサーバ150を制御するプロセッサ220の機能的表現として、基準設定部310が利用されてよい。
【0048】
プロセッサ220は、サーバ150の制御と関連する命令がロードされたメモリ210から必要な命令を読み取ってよい。この場合、前記読み取られた命令には、プロセッサ220が以下で説明する段階410~430を実行するように制御するための命令が含まれてよい。
【0049】
以下で説明する段階410~430は、
図4に示した順序とは異なる順序で実行されてもよいし、段階410~430のうちの一部が省略されたり、更なる過程が追加されたりしてもよい。
【0050】
プロセッサ220は、クライアントから音声ファイルを受信し、受信した音声で話者ごとに発話区間を分離してよく、このための話者ダイアライゼーション技術に話者識別技術を結合する。
【0051】
図4を参照すると、段階410で、基準設定部310は、クライアントから話者ダイアライゼーション対象音声として受信された音声ファイルと関連して基準となる話者音声(以下、「基準音声」とする)を設定してよい。基準設定部310は、話者ダイアライゼーション対象音声に含まれた話者のうちの一部の話者の音声を基準音声として設定してよい。このとき、基準音声は、話者識別が可能なように、話者ごとに話者ラベルが含まれた音声データを利用してよい。一例として、基準設定部310は、別途の録音によって話者ダイアライゼーション対象音声に属する話者の発話音声と該当の話者情報を含むラベルの入力を受け、基準音声として設定してよい。録音過程では、録音する文章や環境などのような基準音声録音のためのガイドを提供してよく、ガイドに基づいて録音された音声を基準音声として設定してよい。他の例として、基準設定部310は、話者ダイアライゼーション対象音声に属する話者の音声としてデータベース上に事前に記録された話者音声を利用して基準音声を設定してよい。サーバ150の構成要素としてサーバ150に含まれるかサーバ150とは別のシステムで実現されてサーバ150と連動可能なデータベース上に、話者識別が可能な音声、すなわち、ラベルが含まれた音声が記録されてよく、基準設定部310は、クライアントからデータベースに登録された(enrolled)話者音声のうちで話者ダイアライゼーション対象音声に属する一部の話者の音声の選択を受け、選択された話者音声を基準音声として設定してよい。
【0052】
段階420で、話者識別部320は、段階410で設定された基準音声を利用して、話者ダイアライゼーション対象音声から基準音声の話者を識別する話者識別を実行してよい。話者識別部320は、話者ダイアライゼーション対象音声に含まれた各発話区間を基準音声と比較することによって基準音声に対応する発話区間を確認した(verify)後、該当の区間に基準音声の話者ラベルをマッピングしてよい。
【0053】
段階430で、話者ダイアライゼーション部330は、話者ダイアライゼーション対象音声に含まれた発話区間のうちで話者が識別された区間以外の残りの区間に対して話者ダイアライゼーションを実行してよい。言い換えれば、話者ダイアライゼーション部330は、話者ダイアライゼーション対象音声で話者識別によって基準音声の話者ラベルがマッピングされ、残りの区間に対してはクラスタリングを利用した話者ダイアライゼーションを実行することにより、クラスタのインデックスを該当の区間にマッピングすることができる。
【0054】
【0055】
例えば、3人(ホン・ギルドン、ホン・チョルス、ホン・ヨンヒ)の話者音声が事前に登録されていると仮定する。
【0056】
話者識別部320は、確認不可の未知の話者音声501が受信された場合、登録話者音声502とそれぞれ比較して登録話者との類似度点数を計算してよい。このとき、類似度点数が最も高い未確認話者音声501を登録話者の音声として識別して、該当の話者のラベルをマッピングしてよい。
【0057】
図5に示すように、3人(ホン・ギルドン、ホン・チョルス、ホン・ヨンヒ)の登録話者のうちでホン・ギルドンとの類似度点数が最も高い場合、未確認話者音声501をホン・ギルドンの音声として識別してよい。
【0058】
したがって、話者識別技術は、登録話者のうちで音声が最も類似する話者を探索するものであると言える。
【0059】
図6は、話者ダイアライゼーション過程の一例を示した図である。
【0060】
図6を参照すると、話者ダイアライゼーション部330は、クライアントから受信された話者ダイアライゼーション対象音声601に対してEPD(end point detection)過程を実行する(S61)。EPDとは、無音区間に該当するフレームの音響特徴を取り除いて各フレームのエネルギーを測定し、音声/無音を区分した発声の始まりと終わりだけを探索するものである。言い換えれば、話者ダイアライゼーション部330は、話者ダイアライゼーションのための音声ファイル601から音声のある領域を見つけ出すEPDを実行する。
【0061】
話者ダイアライゼーション部330は、EPD結果に対して埋め込み(embedding)抽出過程を実行する(S62)。一例として、話者ダイアライゼーション部330は、ディープニューラルネットワークや長・短期記憶(Long Short Term Memory)(LSTM)などに基づいてEPD結果から話者埋め込みを抽出してよい。音声に内在された生体の特性と独自の個人性をディープラーニングに基づいて学習することによって音声をベクトル化し、これによって音声ファイル601から特定の話者の音声を分離してよい。
【0062】
話者ダイアライゼーション部330は、埋め込み抽出結果を利用して、話者ダイアライゼーションのためのクラスタリングを実行する(S63)。
【0063】
話者ダイアライゼーション部330は、EPD結果から埋め込みを抽出して類似度行列(affinity matrix)を計算した後、類似度行列を利用してクラスタ数を計算する。一例として、話者ダイアライゼーション部330は、類似度行列に対して固有値分解(eigen decomposition)を実行して固有値(eigenvalue)と固有ベクトル(eigenvector)を抽出し、抽出された固有値を大きさによって整列し、整列された固有値に基づいてクラスタ数を決定してよい。このとき、話者ダイアライゼーション部330は、整列された固有値で隣接する値の差を基準にし、有効な主成分に該当する固有値の個数をクラスタ数として決定してよい。固有値が高いということは、類似度行列で影響力が大きいことを意味する。すなわち、音声ファイル601に対して類似度行列を構成するとき、発声のある話者のうちで発声比重が高いことを意味する。言い換えれば、話者ダイアライゼーション部330は、整列された固有値のうちで十分に大きな値を有する固有値を選択し、選択された固有値の個数が話者数を示すクラスタ数となるように決定してよい。
【0064】
話者ダイアライゼーション部330は、類似度行列とクラスタ数を利用して話者ダイアライゼーションクラスタリングを実行してよい。話者ダイアライゼーション部330は、類似度行列に対して固有値分解を実行し、固有値によって整列された固有ベクトルに基づいてクラスタリングを実行してよい。音声ファイル601からm個の話者音声区間が抽出される場合には、m×m個のエレメントを含む行列が生成されるようになる。このとき、各エレメントを示すvi、jは、i番目の音声区間とj番目の音声区間との距離を意味する。このとき、話者ダイアライゼーション部330は、先立って決定されたクラスタ数だけ固有ベクトルを選択する方式により、話者ダイアライゼーションクラスタリングを実行してよい。
【0065】
クラスタリングのための代表的な方法として、AHC(凝集型階層的クラスタリング(Agglomerative Hierarchical Clustering))、K平均(K-means)、またはスペクトル群集化アルゴリズムなどが適用されてよい。
【0066】
最後に、話者ダイアライゼーション部330は、クラスタリングによる音声区間にクラスタのインデックスをマッピングすることにより、話者ダイアライゼーションをラベリングする(S64)。話者ダイアライゼーション部330は、音声ファイル601から3つのクラスタが決定される場合、各クラスタのインデックス、例えば、A、B、Cを該当の音声区間にマッピングしてよい。
【0067】
したがって、話者ダイアライゼーション技術は、複数人の話者が混在する音声から各話者の固有音声特徴を利用して情報を分析し、話者それぞれに対応する音声に分割することができる。すなわち、話者ダイアライゼーション部330は、音声ファイル601から検出された各音声区間から話者の情報を含んでいる特徴を抽出した後、各話者の音声によってクラスタリングして分離することができる。
【0068】
本実施形態は、
図5を参照しながら説明した話者識別技術と
図6を参照しながら説明した話者ダイアライゼーション技術を結合することで、話者ダイアライゼーションの性能を改善しようとするものである。
【0069】
図7は、本発明の一実施形態における、話者識別を結合した話者ダイアライゼーション過程の一例を示した図である。
【0070】
図7を参照すると、プロセッサ220は、クライアントから話者ダイアライゼーション対象音声601とともに登録された話者音声である基準音声710を受信してよい。基準音声710は、話者ダイアライゼーション対象音声に含まれた話者のうちの一部の話者(以下、「登録話者」とする)の音声であってよく、各登録話者の話者ラベル702が含まれた音声データ701を利用してよい。
【0071】
話者識別部320は、話者ダイアライゼーション対象音声601に対してEPD過程を実行して発話区間を検出した後、各発話区間から話者埋め込みを抽出してよい(S71)。基準音声710には各登録話者の埋め込みが含まれているか、あるいは話者埋め込み過程S71で話者ダイアライゼーション対象音声601とともに基準音声710の話者埋め込みを抽出してよい。
【0072】
話者識別部320は、話者ダイアライゼーション対象音声601に含まれた各発話区間の基準音声710と埋め込みとを比較して、基準音声710に対応する発話区間を確認してよい(S72)。このとき、話者識別部320は、話者ダイアライゼーション対象音声601において基準音声710との類似度が設定値以上の発話区間に、基準音声710の話者ラベルをマッピングしてよい。
【0073】
話者ダイアライゼーション部330は、話者ダイアライゼーション対象音声601において基準音声710を利用した話者識別によって話者が確認された(話者ラベルマッピングが完了した)発話区間と、話者が確認されずに残った発話区間71とを区分してよい(S73)。
【0074】
話者ダイアライゼーション部330は、話者ダイアライゼーション対象音声601において話者が確認されずに残った発話区間71だけに対して、話者ダイアライゼーションクラスタリングを実行する(S74)。
【0075】
話者ダイアライゼーション部330は、話者ダイアライゼーションクラスタリングによる各発話区間に該当のクラスタのインデックスをマッピングすることにより、話者ラベリングを完成してよい(S75)。
【0076】
したがって、話者ダイアライゼーション部330は、話者ダイアライゼーション対象音声601に話者識別を実行し、基準音声710の話者ラベルがマッピングされて残った区間71に対してクラスタリングを利用した話者ダイアライゼーションを実行することで、クラスタのインデックスをマッピングしてよい。
【0077】
以下では、話者ダイアライゼーション対象音声601で基準音声710に対応する発話区間を確認する方法について説明する。
【0078】
一例として、
図8を参照すると、話者識別部320は、話者ダイアライゼーション対象音声601の各発話区間から抽出された埋め込みE(Embedding E)と基準音声710から抽出された埋め込みS(Embedding S)との距離に基づいて、基準音声710に対応する発話区間を確認してよい。例えば、基準音声710が話者Aと話者Bの音声であると仮定するとき、話者Aの埋め込みS
A(Embedding S
A)との距離が閾値(threshold)以下である埋め込みE(Embedding E)の発話区間に対しては話者Aをマッピングし、話者Bの埋め込みS
B(Embedding S
B)との距離が閾値以下である埋め込みE(Embedding E)の発話区間に対しては話者Bをマッピングする。残りの区間は、確認不可の未知の発話区間に分類される。
【0079】
他の例として、
図9を参照すると、話者識別部320は、話者ダイアライゼーション対象音声601の各発話区間に対する埋め込みをクラスタリングした結果である埋め込みクラスタ(Embedding Cluster)と基準音声710から抽出された埋め込みS(Embedding S)との距離に基づいて、基準音声710に対応する発話区間を確認してよい。例えば、話者ダイアライゼーション対象音声601に対して5つのクラスタが形成され、基準音声710が話者Aと話者Bの音声であると仮定するとき、話者Aの埋め込みS
A(Embedding S
A)との距離が閾値以下であるクラスタ1と5の発話区間に対しては話者Aをマッピングし、話者Bの埋め込みS
B(Embedding S
B)との距離が閾値以下であるクラスタ3の発話区間に対しては話者Bをマッピングする。残りの区間は、確認不可の未知の発話区間に分類される。
【0080】
また他の例として、
図10を参照すると、話者識別部320は、話者ダイアライゼーション対象音声601の各発話区間から抽出された埋め込みと基準音声710から抽出された埋め込みをともにクラスタリングして、基準音声710に対応する発話区間を確認してよい。例えば、基準音声710が話者Aと話者Bの音声であると仮定するとき、話者Aの埋め込みS
A(Embedding S
A)が属するクラスタ4の発話区間に対しては話者Aをマッピングし、話者Bの埋め込みS
B(Embedding S
B)が属するクラスタ1と2に対しては話者Bをマッピングする。話者Aの埋め込みS
A(Embedding S
A)と話者Bの埋め込みS
B(Embedding S
B)が共通して含まれるか2つのうちの1つも含まれない残りの区間は、確認不可の未知の発話区間に分類される。
【0081】
基準音声710との類似度を判断するためには、クラスタリング技法に適用可能なSingle、complete、average、weighted、centroid、median、wardなどの多様な距離関数が利用されてよい。
【0082】
上述した確認方式を利用した話者識別によって基準音声710の話者ラベルがマッピングされた後に残った発話区間、すなわち、未知の発話区間に分類された区間に対して、クラスタリングを利用した話者ダイアライゼーションを実行する。
【0083】
このように、本発明の実施形態によると、話者ダイアライゼーション技術に話者識別技術を結合することで話者ダイアライゼーション性能を改善することができる。言い換えれば、話者ラベルが含まれた基準音声を利用して話者識別を先行した後、未識別区間に対して話者ダイアライゼーションを実行することにより、話者ダイアライゼーション技術の正確度を高めることができる。
【0084】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0085】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0086】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0087】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0088】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0089】
220:プロセッサ
310:基準設定部
320:話者識別部
330:話者ダイアライゼーション部