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

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

▶ 株式会社日立製作所の特許一覧

特開2023-34441オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法
<>
  • 特開-オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法 図1
  • 特開-オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法 図2
  • 特開-オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法 図3
  • 特開-オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法 図4
  • 特開-オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法 図5
  • 特開-オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法 図6
  • 特開-オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法 図7
  • 特開-オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法 図8
  • 特開-オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法 図9
  • 特開-オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023034441
(43)【公開日】2023-03-13
(54)【発明の名称】オンライン話者ダイアリゼーションシステム、及び、オンライン話者ダイアリゼーションにおいて使用されるモデルを学習する方法
(51)【国際特許分類】
   G10L 17/18 20130101AFI20230306BHJP
   G06N 3/04 20230101ALI20230306BHJP
   G10L 17/00 20130101ALI20230306BHJP
【FI】
G10L17/18
G06N3/04
G10L17/00 200C
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021140690
(22)【出願日】2021-08-31
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】薛 雅文
(72)【発明者】
【氏名】藤田 雄介
(72)【発明者】
【氏名】孫 慶華
(57)【要約】
【課題】発話初期におけるオンライン話者ダイアリゼーションの精度を向上する。
【解決手段】オンライン話者ダイアリゼーションにおいて、ニューラルネットワークベースのモデルが使用される。当該モデルの学習は、2段階の学習を含む。1段階目は、第1のチャンク(音声データ)をモデルに入力することで当該モデルから第1のパーミュテーションデータセグメント(各時区間について話者と発話確率との関係を表すデータ)を取得し、パーミュテーション損失を計算することを含む。第1のチャンクが複数の第2のチャンクに分割される。2段階目は、複数の第2のチャンクをモデルに入力することで複数の第2のパーミュテーションデータセグメントを取得し、当該複数の第2のパーミュテーションデータセグメントと1段階目の結果とを利用して、バイナリクロスクロスエントロピーを計算することを含む。
【選択図】図3
【特許請求の範囲】
【請求項1】
オンライン話者ダイアリゼーションにおいて使用される話者ダイアリゼーションモデルの学習を行う学習部を有し、
前記話者ダイアリゼーションモデルは、話者ダイアリゼーションのニューラルネットワークベースのモデルであり、
前記オンライン話者ダイアリゼーションは、前記話者ダイアリゼーションモデルにチャンクを逐次に入力することで前記話者ダイアリゼーションモデルから逐次に得られるパーミュテーションデータセグメントを基にどの話者がいつ発話したかを逐次に識別することであり、
前記チャンクは、N人の話者(Nは自然数)の発話の一定時間分の音声データ又は当該音声データに基づく一定時間分のデータであり、
前記パーミュテーションデータセグメントは、前記一定時間における複数の時区間の各々についてM人の話者(Mは自然数且つM≦N)と発話確率との関係を表すデータであり、
前記学習部が、
第1の時間分のチャンクである第1のチャンクを前記話者ダイアリゼーションモデルに入力することで前記話者ダイアリゼーションモデルから第1のパーミュテーションデータセグメントを取得し、当該第1のパーミュテーションデータセグメントのパーミュテーション損失を計算し、
前記第1のチャンクを、それぞれが第1の時間よりも短い第2の時間分のチャンクである複数の第2のチャンクに分割する学習制御部と、
当該複数の第2のチャンクを前記話者ダイアリゼーションモデルに入力することで複数の第2のパーミュテーションデータセグメントを取得し、当該複数の第2のパーミュテーションデータセグメントに学習用のパーミュテーションデータセグメントが利用された複数のパーミュテーション結果を取得し、当該複数のパーミュテーション結果のそれぞれについてバイナリクロスクロスエントロピーを計算し、
前記学習用のパーミュテーションデータセグメントは、前記パーミュテーション損失と前記第1のパーミュテーションデータセグメントに基づく、前記第1の時間分のパーミュテーションデータセグメントである、
オンライン話者ダイアリゼーションシステム。
【請求項2】
前記学習部により学習された話者ダイアリゼーションモデルを用いて推論としての前記オンライン話者ダイアリゼーションを行う推論部と、
推論対象のチャンクより過去のチャンクと当該過去のチャンクについて取得されたパーミュテーションデータセグメントとが前記推論において格納されるバッファである話者追跡バッファと
を更に有する請求項1に記載のオンライン話者ダイアリゼーションシステム。
【請求項3】
前記第2の時間は、前記推論対象のチャンクに対応した時間と同じ長さの時間である、
請求項2に記載のオンライン話者ダイアリゼーションシステム。
【請求項4】
前記推論対象のチャンクがp番目のチャンクの場合(pは自然数)、前記推論部は、
pが所定の閾値以下の場合、第1のモードでの前記推論を行い、
pが前記所定の閾値を超えている場合、第2のモードでの前記推論を行い、
前記第1のモードでの前記推論は、前記話者ダイアリゼーションモデルの所定のパラメータを用いた推論であり、
前記第2のモードでの前記推論は、前記話者ダイアリゼーションモデルの学習において学習されたパラメータを用いた推論である、
請求項2に記載のオンライン話者ダイアリゼーションシステム。
【請求項5】
オンライン話者ダイアリゼーションにおいて使用される話者ダイアリゼーションモデルの学習を行い、
前記話者ダイアリゼーションモデルは、話者ダイアリゼーションのニューラルネットワークベースのモデルであり、
前記オンライン話者ダイアリゼーションは、前記話者ダイアリゼーションモデルにチャンクを逐次に入力することで前記話者ダイアリゼーションモデルから逐次に得られるパーミュテーションデータセグメントを基にどの話者がいつ発話したかを逐次に識別することであり、
前記チャンクは、N人の話者(Nは自然数)の発話の一定時間分の音声データ又は当該音声データに基づく一定時間分のデータであり、
前記パーミュテーションデータセグメントは、前記一定時間における複数の時区間の各々についてM人の話者(Mは自然数且つM≦N)と発話確率との関係を表すデータであり、
前記学習が、
第1の時間分のチャンクである第1のチャンクを前記話者ダイアリゼーションモデルに入力することで前記話者ダイアリゼーションモデルから第1のパーミュテーションデータセグメントを取得し、当該第1のパーミュテーションデータセグメントのパーミュテーション損失を計算すること、
前記第1のチャンクを、それぞれが第1の時間よりも短い第2の時間分のチャンクである複数の第2のチャンクに分割すること、及び、
当該複数の第2のチャンクを前記話者ダイアリゼーションモデルに入力することで複数の第2のパーミュテーションデータセグメントを取得し、当該複数の第2のパーミュテーションデータセグメントに学習用のパーミュテーションデータセグメントが利用された複数のパーミュテーション結果を取得し、当該複数のパーミュテーション結果のそれぞれについてバイナリクロスクロスエントロピーを計算すること、
を含み、
前記学習用のパーミュテーションデータセグメントは、前記パーミュテーション損失と前記第1のパーミュテーションデータセグメントに基づく、前記第1の時間分のパーミュテーションデータセグメントである、
方法。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、オンライン話者ダイアリゼーションに関する。
【背景技術】
【0002】
話者区別に関する技術として、例えば、特許文献1に開示の技術がある。特許文献1によれば、複数の話者が同時に話すことが想定されていないが、本願発明の一部の発明者が執筆した論文(非特許文献1及び2)には、複数の話者が同時に話すことが想定された話者ダイアリゼーションに関する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009-109712号公報
【非特許文献】
【0004】
【非特許文献1】ONLINE END-TO-END NEURALDIARIZATION WITH SPEAKER-TRACING BUFFER(https://arxiv.org/pdf/2006.02616.pdf)
【非特許文献2】Online Streaming End-to-EndNeural Diarization Handling Overlapping Speech and Flexible Numbers of Speakers(https://arxiv.org/pdf/2101.08473.pdf)
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1及び2によれば、機械学習されたニューラルネットワークベースの学習モデル(以下、話者ダイアリゼーションモデル)を用いて話者ダイアリゼーションが行われる。具体的には、例えば、非特許文献1及び2は、音声データを複数のチャンクに区切るチャンクワイズの話者ダイアリゼーションを開示し、且つ、当該話者ダイアリゼーションに関し話者追跡バッファ機構を開示する。話者追跡バッファ機構は、前のチャンクから話者の配列情報を表す複数の入力フレームを選択し、当該複数の入力フレームを話者追跡バッファ(STB)に格納する。
【0006】
非特許文献1及び2に開示のオンライン話者ダイアリゼーションでは、発話の初期(例えば発話開始から30秒程度までの間)での話者ダイアリゼーション(誰がいつ発話したかの識別)の精度は高くない。その理由として、例えば下記が考えられる。
・STBに適用される学習モデルが、固定された大きなチャンクサイズのチャンクを用いて学習されたオフラインの学習モデルであること。
・学習において教師なしの共分散が使用されること。
【課題を解決するための手段】
【0007】
オンライン話者ダイアリゼーションは、話者ダイアリゼーションモデル(話者ダイアリゼーションのニューラルネットワークベースのモデル)にチャンクを逐次に入力することで当該話者ダイアリゼーションモデルから逐次に得られるパーミュテーションデータセグメントを基にどの話者がいつ発話したかを逐次に識別することである。「チャンク」は、N人の話者(Nは自然数)の発話の一定時間分の音声データ又は当該音声データに基づく一定時間分のデータである。「パーミュテーションデータセグメント」は、当該一定時間における複数の時区間の各々についてM人の話者(Mは自然数且つM≦N)と発話確率との関係を表すデータである。
【0008】
話者ダイアリゼーションモデルの学習が、2段階で行われる。
【0009】
第1段階目の学習は、第1のチャンク(第1の時間分のチャンク)を話者ダイアリゼーションモデルに入力することで当該話者ダイアリゼーションモデルから第1のパーミュテーションデータセグメントを取得し、当該第1のパーミュテーションデータセグメントのパーミュテーション損失を計算することを含む。
【0010】
第1のチャンクが、それぞれが第1の時間よりも短い第2の時間分のチャンクである複数の第2のチャンクに分割される。
【0011】
第2段階目の学習は、当該複数の第2のチャンクを上記話者ダイアリゼーションモデルに入力することで複数の第2のパーミュテーションデータセグメントを取得すること、当該複数の第2のパーミュテーションデータセグメントに学習用のパーミュテーションデータセグメントが利用された複数のパーミュテーション結果を取得すること、及び、当該複数のパーミュテーション結果のそれぞれについてバイナリクロスクロスエントロピーを計算することを含む。なお、「学習用のパーミュテーションデータセグメント」は、パーミュテーション損失と第1のパーミュテーションデータセグメントに基づく、上記第1の時間分のパーミュテーションデータセグメントである。
【発明の効果】
【0012】
本発明によれば、発話初期におけるオンライン話者ダイアリゼーションの精度を向上することができる。
【図面の簡単な説明】
【0013】
図1】実施形態に係るコンピュータシステムのハードウェア構成例を示す。
図2】オンライン話者ダイアリゼーションシステムの構成の一例を示す。
図3】FS-EENDモデルの学習の流れを示す。
図4】パーミュテーションの整合性が維持されない例を示す。
図5】パーミュテーションの整合性が維持される例を示す。
図6】1番目のチャンクについての推論の流れを示す。
図7】チャンク及びパーミュテーションデータセグメントの例を示す。
図8】結合チャンクの例を示す。
図9】推論における処理の一例を示す。
図10】推論における処理の一例を示す。
【発明を実施するための形態】
【0014】
以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイス。I/O(Input/Output)インターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
【0015】
また、以下の説明では、「メモリ」は、一つ以上の記憶デバイスの一例である一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
【0016】
また、以下の説明では、「永続記憶装置」は、一つ以上の記憶デバイスの一例である一つ以上の永続記憶デバイスでよい。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でよく、具体的には、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、NVMe(Non-Volatile Memory Express)ドライブ、又は、SCM(Storage Class Memory)でよい。
【0017】
また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。
【0018】
また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスでよい。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスでよいが、GPU(Graphics Processing Unit)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサデバイスは、プロセッサコアでもよい。少なくとも一つのプロセッサデバイスは、処理の一部又は全部を行うハードウェア記述言語によりゲートアレイの集合体である回路(例えばFPGA(Field-Programmable Gate Array)、CPLD(Complex Programmable Logic Device)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサデバイスでもよい。
【0019】
また、以下の説明では、「yyy部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよいし、それらの組合せによって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
【0020】
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通符号を使用し、同種の要素を区別する場合は、参照符号を使用することがある。
【0021】
図1は、本発明の一実施形態に係るコンピュータシステムのハードウェア構成例を示す図である。
【0022】
コンピュータシステム300は、デスクトップ型コンピュータ、モバイル型コンピュータ又はスマートフォン等のコンピュータでよい。コンピュータシステム300は、プロセッサ302(例えば複数のCPU302A及び302B)、メモリ304、表示システム324、端末インターフェース312、ストレージインタフェース314、I/O(入出力)デバイスインタフェース316、及びネットワークインターフェース318を含む。これらのコンポーネントは、メモリバス306、I/Oバス308、バスインターフェース309、及びI/Oバスインターフェース310を介して、相互的に接続されてもよい。また、コンピュータシステム300は、物理的な計算機システム(一つ以上の物理的な計算機(例えばクラウド基盤))であってもよいし、物理的な計算機システムに基づく論理的な計算機システム(例えば、クラウドコンピューティングサービスシステム)でもよい。
【0023】
メモリ304は、話者ダイアリゼーションアプリケーション350(コンピュータプログラム)を格納していていよい。プロセッサ302に話者ダイアリゼーションアプリケーション350が実行されることで、コンピュータシステム300がオンライン話者ダイアリゼーションシステム380(図2参照)として機能してよい。
【0024】
コンピュータシステム300は、プロセッサ302、メモリ304、表示システム324、及びI/Oバスインターフェース310間の通信を行うバスインターフェース309を含んでもよい。I/Oバスインターフェース310は、様々なI/Oユニットとの間でデータを転送するためのI/Oバス308と連結していてもよい。I/Oバスインターフェース310は、I/Oバス308を介して、I/Oプロセッサ(IOP)又はI/Oアダプタ(IOA)としても知られる複数のI/Oインタフェースユニット312、314、316、及び318と通信してもよい。
【0025】
表示システム324は、表示装置326に接続され、表示制御を行う表示コントローラ、表示対象のデータが格納される表示メモリ、又はその両方を含んでもよい。表示メモリはメモリ304の一部でよい。
【0026】
I/Oインタフェースユニットは、様々なストレージ又はI/Oデバイスと通信する機能を備える。例えば、端末インタフェースユニット312には、ユーザI/Oデバイス320(例えば、スピーカ等のユーザ出力デバイスや、マイク等のユーザ入力デバイス)が接続される。ストレージインタフェース314には、永続記憶装置322が接続される。I/Oデバイスインタフェース316は、プリンタ等に対するインターフェースでよい。ネットワークインターフェース318は、ネットワーク330に対するインターフェースでよい。ネットワーク330は、インターネット、LAN(Local Area Network)又はWAN(Wide Area Network)等でよい。
【0027】
インターフェース312、314、316、318及び表示システム324が、インターフェース装置の一例でよい。また、コンピュータシステム300が、図1に例示の全てのコンポーネントを備えていなくてもよい。コンピュータシステム300は、例えば、インターフェース装置と、記憶装置と、それらに接続されたプロセッサとを備えてよい。記憶装置にSTBが設けられてよい。
【0028】
図2は、本実施形態に係るオンライン話者ダイアリゼーションシステム380の機能構成の一例を示す図である。
【0029】
オンライン話者ダイアリゼーションシステム380には、ネットワーク330を介して(又はネットワーク330を介さずに)、クライアント端末375及び/又は音声データ取得装置365が接続される。クライアント端末375及び音声データ取得装置365の少なくとも一部の機能がオンライン話者ダイアリゼーションシステム380に含まれてもよい。
【0030】
音声データ取得装置365は、音声データを取得するための装置である。この音声データ取得装置365は、例えば、スマートフォンやパソコン等のマイクロフォンを備えたコンピューティングデバイスや録音機等であってもよいし、マイクロフォンそれ自体でもよい。
【0031】
クライアント端末375は、上述した音声データ取得装置365によって取得された音声データや、発話し得る話者の数を表す話者数データを、ネットワーク330を介してオンライン話者ダイアリゼーションシステム380に送信する情報処理端末である。音声データや話者数データのような入力データは、図1に例示のユーザI/Oデバイス320から入力されてよい。
【0032】
記憶領域372は、コンピュータシステム300の記憶装置(例えば、メモリ304及び永続記憶装置322)に基づく領域である。記憶領域372は、例えばSTBを含む。STBは、メモリ304に設けられた領域でよい。記憶領域372の少なくとも一部が、オンライン話者ダイアリゼーションシステム380の外部の記憶装置に基づく領域でもよい。記憶領域372に、音声データ及び話者数データといった入力データが格納される。
【0033】
オンライン話者ダイアリゼーションシステム380は、記憶領域372、入力部382、デュアルモードEENDモデル22、学習部360及び推論部342を有する。デュアルモードEENDモデル22が記憶領域372に格納されてよい。
【0034】
記憶領域372は、メモリ304及び永続記憶装置322のうちの少なくとも一部に基づく領域であり、STB(話者追跡バッファ)374を含む。STB374には、後述するように、推論対象のチャンクより過去のチャンクと当該過去のチャンクについて取得されたパーミュテーションデータセグメントとが推論において格納されるバッファである。このようなSTB374を用いて、話者数がフレキシブルである(話者数が限定されない)オンライン話者ダイアリゼーションが行われる。
【0035】
入力部382は、クライアント端末375(又は音声データ取得装置365)から入力された音声データ及び話者数データを受け付け、それら音声データ及び話者数データを記憶領域372に格納する。
【0036】
デュアルモードEENDモデル22は、学習部360により学習され推論部342による推論(オンライン話者ダイアリゼーション)において使用されるニューラルネットワークベースのChunk-Wiseのモデルである。デュアルモードEENDモデル22が、話者ダイアリゼーションモデルの一例である。なお、「デュアルモードEENDモデル」とは、推論においてEENDモデルが二つのモードのうちの選択されたモードで使用されることを意味する。「EEND」とは、End-to-End Neural Diarizationの略である。EENDは、例えば、Self Attention法が用いられたEENDでよく、且つ、話者数がフレキシブルである(限定されない)EENDでよい。EENDモデルは、いずれの話者がいずれの時区間において発話中であるかの確率を判定するように構成されたニューラルネットワークベースのモデルである。EENDによれば、入力された音声データにおいて複数の話者の発話が重なっていてもいずれの話者がいつ発話したかを精度良く識別することができる。なお、本実施形態の説明において、「End-to-End」とは、入力された音声データを基に話者ダイアリゼーション結果を出力するまでの一連のことをニューラルネットワークベースのモデルを用いて行うことが可能とされたことの意味として使用される。
【0037】
学習部360は、デュアルモードEENDモデル22の学習を2段階で行う。具体的には、学習部360は、1段階目の学習を行う第1段階学習部361と、2段階目の学習を行う第2段階学習部362と、学習の制御を行う学習制御部363とを有する。
【0038】
推論部342は、学習済のデュアルモードEENDモデル22を使用して推論を行う。推論としてのオンライン話者ダイアリゼーションは、デュアルモードEENDモデル22にチャンクを逐次に入力することで当該デュアルモードEENDモデル22から逐次に得られるパーミュテーションデータセグメントを基にどの話者がいつ発話したかを逐次に識別することである。
【0039】
ここで、「チャンク」は、N人の話者(Nは自然数)の発話の一定時間分の音声データ又は当該音声データに基づく一定時間分のデータである。本実施形態では、チャンクは、一定時間分の音声データに基づく一定時間分のデータ、具体的には、当該一定時間を構成する複数の時区間の各々における特徴量(acoustic feature)を表すデータである。
【0040】
「パーミュテーションデータセグメント」は、当該一定時間における複数の時区間の各々についてM人の話者(Mは自然数且つM≦N)と発話確率との関係を表すデータである。つまり、パーミュテーションデータセグメントは、M人の話者の各々について、時区間毎の発話確率を表す。
【0041】
図3は、実施形態に係るFS-EENDモデルの学習の流れを示す。
【0042】
記憶領域372に、学習用に、音声データ及び話者数データが格納されているとする。音声データは、N人の話者(Nは自然数)の発話の音声のデータである。話者数データが表す話者数はKである。なお、学習用の音声データ及び話者数データは、推論に使用されてもよい。別の言い方をすれば、推論において使用される音声データ及び話者数データが、学習において使用されてもよい。
【0043】
学習制御部363が、音声データから一つ又は複数の第1のチャンクを取得する。一つ又は複数の第1のチャンクの各々について、2段階の学習が行われる。図3の説明において、以下、一つの第1のチャンク27を例に取る。第1のチャンク27は、第1の時間分のチャンク(第1の時間分の音声データ)である。学習の説明において、第1のチャンクは、「全体チャンク」と呼ばれてもよい。
【0044】
第1段階学習部361が、第1段階目の学習を行う。具体的には、第1段階学習部361が、第1のチャンク27をデュアルモードEENDモデル22に入力することでデュアルモードEENDモデル22から第1のパーミュテーションデータセグメント29を取得する。第1段階学習部361は、当該第1のパーミュテーションデータセグメント29のパーミュテーション損失30を計算する。パーミュテーション損失30は、例えばPIT(Permutation-Invariant Training)を用いて計算される。なお、図3において、時区間毎に、「xα」は、当該時区間αにおける特徴量を意味し、「yα」は、当該時区間αにおける話者毎の発話確率を意味し、「y^α」は、xαを入力としたデュアルモードEENDモデル22からの出力を意味し、「y^´α」は、y^αに所定の処理が施された結果としてのデータ(処理後のy^α)を意味する。なお、図3では、記号“^”は文字の真上にあるが、本明細書では、便宜上、文字の横に記載される。
【0045】
学習制御部363が、第1のチャンク27を、それぞれが第1の時間よりも短い第2の時間分のチャンクである複数の第2のチャンク21(例えば、21A~21C)に分割する。学習の説明において、第2のチャンクは、「サブチャンク」と呼ばれてもよい。また、第1の時間は、第2の時間の整数倍でもよい。
【0046】
第2段階学習部362が、第2段階目の学習を行う。具体的には、第2段階学習部362が、複数の第2のチャンク21A~21CをデュアルモードEENDモデル22(第1段階目の学習に使用されたモデルと同じモデル)に入力することで複数の第2のパーミュテーションデータセグメント23A~23Cを取得する。第2段階学習部362は、当該複数の第2のパーミュテーションデータセグメント23A~23Cに学習用のパーミュテーションデータセグメント31が利用された複数のパーミュテーション結果24A~24Cを取得する。第2段階学習部362は、当該複数のパーミュテーション結果24A~24Cのそれぞれについてバイナリクロスエントロピー25を計算する。これにより、最終結果として、複数の第2のパーミュテーションデータセグメント26A~26Cが得られる。なお、第2のパーミュテーションデータセグメント26において、「y~α」は、時区間αにおける話者毎の発話確率であって、バイナリクロスエントロピー計算後のy^´αに対応した値である。学習用のパーミュテーションデータセグメント31は、パーミュテーション損失30と第1のパーミュテーションデータセグメント29に基づく、第1の時間分のパーミュテーションデータセグメントである。第1のパーミュテーションデータセグメント29は、例えば、グランドトゥルースラベルの話者順序を用いたパーミュテーション結果を表すデータである。
【0047】
図3の説明によれば、第1段階目の学習は、第1のチャンク(大きいサイズのチャンク)を用いた学習である。第2段階目の学習は、当該第1のチャンクを構成する複数の第2のチャンク(複数の小さいサイズのチャンク(複数のサブチャンク))を用いた学習である。2段階目の学習では、第1段階目の学習の結果として得られた学習用のパーミュテーションデータセグメント31が、一種の教師データとして用いられる(つまり、本実施形態における学習は、いわゆる教師あり学習である)。推論としてのオンライン話者ダイアリゼーションでは、小さいサイズのチャンク(例えば、1ミリ秒、10ミリ秒、又は1秒分のチャンク)が逐次に入力される。このため、第1段階目の学習を、オフライン向けの学習と言い、第2段階目の学習を、オフライン向けの学習の結果を利用したオンライン向けの学習と言うことができる。このように学習されたデュアルモードEENDモデル22が推論において使用される(STB374に適用される)ため、発話初期におけるオンライン話者ダイアリゼーションの精度を向上することができる。
【0048】
なお、例えば、オンライン向けの学習における第2のチャンク(サブジャンク)のサイズ(第2の時間の長さ)は、推論において逐次に入力されるチャンクのサイズと同じサイズ(推論において逐次に入力されるチャンクに対応した時間と同じ長さ)でよい。これにより、オンライン話者ダイアリゼーションの一層の精度向上が期待できる。
【0049】
また、第1段階目の学習では、デュアルモードEENDモデル22は、例えばパーミュテーション損失が小さくなる(例えば最小になる)よう学習されてよい。第2段階目の学習では、デュアルモードEENDモデル22は、例えばバイナリクロスエントロピーが小さくなる(例えば最小になる)よう学習されてよい。
【0050】
パーミュテーション(話者の順序)の整合性の維持が、オンライン話者ダイアリゼーションの精度の点において重要である。具体的には、例えば、パーミュテーションの整合性が維持されない場合、図4が示すように、チャンクAでの話者Aと話者Bの順序と次のチャンクBでの話者Aと話者Bの順序が変わると、チャンクAについてのオンライン話者ダイアリゼーション結果(例えば、いつどの話者が発話したかのラベル)が正しくても、チャンクBについてのオンライン話者ダイアリゼーション結果が正しくない。一方、パーミュテーションの整合性が維持される場合、図5が示すように、チャンクAでの話者Aと話者Bの順序と次のチャンクBでの話者Aと話者Bの順序が変わっても、チャンクA及びBのいずれのオンライン話者ダイアリゼーション結果も正しい。
【0051】
本実施形態において、推論は、記憶領域372に格納された音声データ(例えば推論用の音声データ)における連続した複数のチャンクの各々について行われる。推論におけるチャンクのサイズは、少なくとも学習における第1のチャンク(全体チャンク)より小さい。
【0052】
以下、図6図10を参照して、本実施形態において行われる推論を説明する。推論のために、音声データ及び話者数データが記憶領域372に格納されているとする。話者数データは、話者数N(Nは自然数)を表すとする。また、以下の説明において、参照符号の構成と参照符号が付与される要素との関係を下記の通りとする。
・60X:p番目のチャンク
・60Xp(buf):STB374に格納されているp番目のチャンク
・70Y:p番目のパーミュテーションデータセグメント(p番目のチャンクに対応したパーミュテーションデータセグメント)
・70Yp(buf):チャンク60Xp(buf)に対応したp番目のパーミュテーションデータセグメント
・70Y^:p番目のチャンクのデュアルモードEENDモデル22への入力に対してデュアルモードEENDモデル22から出力されたp番目のパーミュテーションデータセグメント
・70Y^p(buf):チャンク60Xp(buf)に対応したパーミュテーションデータセグメント70Y^
【0053】
推論対象のチャンクが1番目のチャンク60Xの場合、当該1番目のチャンク60Xは、例えば図6が示すように処理される。すなわち、推論部342が、デュアルモードEENDモデル22に当該1番目のチャンク60Xを入力することで当該1番目のチャンク60Xに対応した1番目のパーミュテーションデータセグメント70Y^を取得する。推論部342が、当該1番目のチャンク60Xと当該1番目のパーミュテーションデータセグメント70Y^とをSTB374に格納する。これにより、STB374に、チャンク60Xとパーミュテーションデータセグメント70Y^といった2つのマトリクスが存在することとなる。
【0054】
なお、図6において、チャンクを構成するセルの数は、チャンクに対応した時区間(時間位置)の数を意味する。また、各セルの濃淡は、特徴量を表す。また、推論対象のチャンクがp番目のチャンク60Xpであり(pは、自然数)、且つ、pが所定の閾値Th以下の場合、デュアルモードEENDモデル22に関する2つのモードのうち、第1のモードが使用されてよい。第1のモードは、デュアルモードEENDモデル22の学習済のパラメータに代えてデュアルモードEENDモデル22の所定のパラメータを用いる推論のモードでよい。
【0055】
また、図6において、パーミュテーションデータセグメントは、2つの行を有するが、これは、話者数が2であることを意味する。つまり、パーミュテーションデータセグメントの行の数は話者数を意味する。また、各セルの濃淡は、発話確率を表す。
【0056】
また、本実施形態では、推論におけるチャンクのサイズは、STB374の最大フレームサイズよりも小さい。「最大フレームサイズ」とは、STB374の1フレームのサイズと、STB374のフレーム数の最大値との積である。
【0057】
推論対象のチャンクがi番目のチャンク60X(iは2以上の整数)の場合、当該i番目のチャンク60Xは、例えば次のように処理される。すなわち、推論部342が、当該i番目のチャンク60Xと、STB374における(i-1)番目のチャンク60Xi-1(buf)との結合処理を行う。結合処理では、(i-1)番目のチャンク60Xi-1(buf)の少なくとも一部(全部でもよい)である(i-1)番目のチャンク部分と、i番目のチャンク60Xとの結合である結合チャンクが生成される。結合処理は、チャンクの時間軸に沿って行われる。つまり、(i-1)番目のチャンク部分は、(i-1)番目のチャンク60Xi-1(buf)に対応した時間を構成する全時区間のうちの少なくとも一部の時区間に対応したデータでよく、当該データがi番目のチャンク60Xに結合されてよい。
【0058】
このため、推論部342は、iが上記所定の閾値Th以下か否かを判断してよい。この判断の結果に応じて、デュアルモードEENDモデル22に関する2つのモードのうち、第1のモードが使用されるか第2のモードが使用されるかが決定されてよい。具体的には、iが所定の閾値Th以下の場合、第1のモードが使用されてよい。iが所定の閾値Thを超えている場合、第2のモードが使用されてよい。第2のモードは、デュアルモードEENDモデル22の学習済のパラメータを用いる推論のモードでよい。これにより、発話初期のオンライン話者ダイアリゼーションの一層の精度向上が期待できる。
【0059】
推論部342は、デュアルモードEENDモデル22に結合チャンクを入力することで、(i-1)番目のチャンク部分に対応した(i-1)番目のパーミュテーションデータセグメント70Y^i-1(buf)と、結合チャンクにおけるi番目のチャンク60Xに対応したi番目のパーミュテーションデータセグメント70Y^とを取得する。
【0060】
その後、推論部342は、STB374に格納されている(i-1)番目のパーミュテーションデータセグメント70Yi-1(buf)と、取得された(i-1)番目のパーミュテーションデータセグメント70Y^i-1(buf)と、取得されたi番目のパーミュテーションデータセグメント70Y^との各々について、当該パーミュテーションデータセグメントが表す話者数MがNより小さい場合、ゼロパティングを行う。「ゼロパティング」とは、パティング処理の一例であり、(N-M)分の話者の各々について、チャンク60Xに対応した時間を構成する時区間毎の発話確率を“0”(所与の確率の一例)とした行(データ)を当該パーミュテーションデータセグメントに追加することである。ゼロパディングされたパーミュテーションデータセグメント70Yi-1(buf)、70Y^i-1(buf)及び70Y^を、パーミュテーションデータセグメント70Zi-1(buf)、70Z^i-1(buf)及び70Z^(不図示)と表記する(M=Nのパーミュテーションデータセグメント70Yについては、ゼロパティングは不要であるが、便宜上、70Zi-1(buf)、70Z^i-1(buf)及び70Z^という符号を用いることとする)。
【0061】
推論部342は、パーミュテーションデータセグメント70Zi-1(buf)及び70Z^i-1(buf)間の相関(例えば、最も高い相関)に基づくマトリクスであるパーミュテーションマトリクスPφを生成する。推論部342は、i番目のパーミュテーションデータセグメント70Z^と生成されたパーミュテーションマトリクスPφとを基にパーミュテーション処理を行うことで、i番目のチャンク60Xに対応したi番目のパーミュテーションデータセグメント70Yを算出する。これにより、パーミュテーションの整合性が維持される。例えば、i番目のパーミュテーションデータセグメント70Yは、i番目のパーミュテーションデータセグメント70Z^とパーミュテーションマトリクスPφとの積である。
【0062】
推論部342は、(i-1)番目のチャンク60Xi-1(buf)が格納されているSTB374に、ゼロパティング後の(i-1)番目のパーミュテーションデータセグメント70Zi-1(buf)をパーミュテーションデータセグメント70Yi-1(buf)として格納する。また、推論部342は、i番目のパーミュテーションデータセグメント70Yと、i番目のチャンク60XとをSTB374に格納する。このようにして、チャンク60Xの推論の都度に、STB374が更新される。このため、チャンク60Xの推論の開始時には、STB374には、(i-1)番目のチャンク60Xi-1(buf)及びパーミュテーションデータセグメント70Yi-1(buf)や(i-2)番目のチャンク60Xi-2(buf)及びパーミュテーションデータセグメント70Yi-2(buf)といった過去のデータセット(チャンク及びパーミュテーションデータセグメント)が格納されていることになる。どこまで過去のデータセットがSTB374に格納されるかはSTBの最大フレーム数等に応じて決められてよい。
【0063】
以下、推論については、適宜、下記の説明が適用されてよい。
【0064】
推論部342は、チャンク60XをデュアルモードEENDモデル22に入力し、話者数データが表す話者数を基に、チャンク60Xに対応したパーミュテーションデータセグメント70Y^がデュアルモードEENDモデル22から取得してよい。図7が例示するように、チャンク60Xは、10個の時区間に対応した10個の特徴量で構成されていてよい。パーミュテーションデータセグメント70Y^は、話者毎の行を有し、各行が、10個の時区間の各々について、当該話者が発話した確率(例えば0以上1以下の確率)を表す値を含んでよい。時間を構成する複数の時区間を「時区間セット」と言うことができる。
【0065】
図8が例示するように、結合チャンク610は、(i-1)番目のチャンク部分60XPi-1(buf)とi番目のチャンク60Xとの結合である。(i-1)番目のチャンク部分60XPi-1(buf)は、時区間セット(例えば、10個の時区間)のうちの一部の時区間に対応した特徴量で構成されたチャンクでよい。このような結合チャンク610がデュアルモードEENDモデル22に入力されることで、パーミュテーションデータセグメント70YP^i-1(buf)及び70Y^が取得されてよい。なお、デュアルモードEENDモデル22は、各時区間について、当該時区間に対応した確率の算出に、当該時区間の前及び後の少なくとも一方の時区間に対応した確率を利用するよう構成されていてよい。
【0066】
推論において、図9に例示の処理が行われてよい。すなわち、推論部342は、チャンク60Xi-1をデュアルモードEENDモデル22に入力することでパーミュテーションデータセグメント70Y^i-1を取得してよい。推論部342は、チャンク60Xi-1の一部であるチャンク部分60XPi-1と、チャンク部分60XPi-1に対応したパーミュテーションデータセグメント70YP^i-1とをSTB374に格納してよい。また、推論部342は、パーミュテーションデータセグメント70Y^i-1における各確率を、所定の確率閾値と比較することで“1”又は“0”に変換することで、パーミュテーションデータセグメント70Y^i-1を、最終的な話者識別結果770(各話者がいずれの時区間で発話したか否かを表した最終的なパーミュテーションデータセグメント)としてよい。
【0067】
推論において、図10に例示の処理が行われてよい。すなわち、推論部342は、結合チャンク(チャンク部分60XPi-1(buf)とチャンク60Xとの結合)をデュアルモードEENDモデル22に入力することでパーミュテーションデータセグメント70YP^i-1(buf)とパーミュテーションデータセグメント70P^とを取得してよい。
【0068】
i番目のパーミュテーションデータセグメントセット630(パーミュテーションデータセグメント70YP^i-1(buf)及び70P^)は、例えば(i-1)番目のパーミュテーションデータセグメントセット(パーミュテーションデータセグメント70YP^i-2(buf)及び70P^i-1)と独立して生成されてよい。故に、i番目のチャンク60Xについての推論における話者c3及びc4と(i-1)番目のチャンク60Xi-1についての推論における話者c1及びc2との対応性が不明である。これは、ニューラルネットワークにおけるいわゆる「順列問題」として知られている。
【0069】
従って、上述した話者識別結果770に一貫した話者識別結果を生成するためには、結合チャンク610に関わる話者を、チャンク60Xi-1に関わる話者に対応付けることが望ましい。そこで、推論部342は、STB374に格納されている過去のパーミュテーションデータセグメントにおける確率値と、結合チャンク610に対応したパーミュテーションデータセグメントセット630における確率値とを比較することで、話者を対応付けてよい。例えば、推論部342は、パーミュテーションデータセグメントセット630を計算した後、話者c3及びc4について計算されたパーミュテーションデータセグメント70P^と、STB374に格納されているパーミュテーションデータセグメント70YP^i-1(buf)との順列を生成してよい(c1×c3、c1×c4、c2×c3、c2×c4)。
【0070】
その後、生成したそれぞれの順列について、推論部342は、STB374に格納されているパーミュテーションデータセグメント70YP^i-1(buf)と、パーミュテーションデータセグメントセット630におけるパーミュテーションデータセグメント70YP^i-1(buf)との類似性を示す相関スコアを計算してよい。ここでの相関スコア計算は、例えば既存の相関係数や類似性計算の手法によって行われてもよく、特に限定されないでよい。
【0071】
全ての順列についての相関スコアが計算された後、推論部342は、所定の相関スコア基準(例えば、最も高い相関スコア等)を満たす順列の話者を同一人物とみなしてよい。例えば、話者c3について計算された確率値(パーミュテーションデータセグメントセット630におけるパーミュテーションデータセグメント70YP^i-1(buf)における確率値)が、STB374に格納されている、話者c1について計算された確率値に一致し、話者c4について計算された確率値が、STB374に格納されている、話者c2について計算された確率値に一致している場合、話者c1と話者c3は同一人物とみなされ、話者c2と話者c4は同一人物とみなされてよい。
【0072】
このように、結合チャンク610に関わる話者を、チャンク60Xi-1に関わる話者に対応付けることにより、パーミュテーションデータセグメントセット630におけるパーミュテーションデータセグメント70Y^を基に、話者識別結果770に一貫した結果であって、どの話者が話したかを示す話者識別結果870を生成してよい。
【0073】
また、パーミュテーションデータセグメントセット630が計算された後、推論部342は、結合チャンク610の少なくとも一部であるチャンク部分852と、当該チャンク部分に対応したパーミュテーションデータセグメント854とを生成し、チャンク部分852及びパーミュテーションデータセグメント854をSTB374に格納してよい。チャンク部分852が、次のチャンク60Xの推論における直前のチャンク60Xi-1(buf)とされてよく、同様に、パーミュテーションデータセグメント854が、当該直前のチャンク60Xi-1(buf)に対応したパーミュテーションデータセグメント70Yi-1(buf)とされてよい。
【0074】
以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、実施形態において、話者ダイアリゼーションモデルは、デュアルモードEENDモデルであるが、話者ダイアリゼーションモデルとして採用されるモデルは、デュアルモードのEENDモデル以外のニューラルネットワークベースのモデル(例えば、シングルモードのEENDモデル)であってもよい。
【符号の説明】
【0075】
380:オンライン話者ダイアリゼーションシステム

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10