(57)【要約】  マルチストリームドキュメントのクラス識別精度が向上するドキュメント識別装置を提供する。複数の話者を含む場面で録音された話者ごとの音声に対応する単語系列の固定長ベクトルである１次ストリーム表現を、話者ごとに生成する１次ストリーム表現生成部と、１次ストリーム表現を統合してなる１次マルチストリーム表現を生成する１次マルチストリーム表現生成部と、話者ごとの単語系列と１次マルチストリーム表現に基づいて生成される固定長ベクトルである２次ストリーム表現を、話者ごとに生成する２次ストリーム表現生成部と、２次ストリーム表現を統合してなる２次マルチストリーム表現を生成する２次マルチストリーム表現生成部を含む。
2018212055.tif 000002
【特許請求の範囲】
【請求項１】
複数の話者を含む場面で録音された話者ごとの音声に対応する単語系列の固定長ベクトルである１次ストリーム表現を、話者ごとに生成する１次ストリーム表現生成部と、
前記１次ストリーム表現を統合してなる１次マルチストリーム表現を生成する１次マルチストリーム表現生成部と、
話者ごとの前記単語系列と前記１次マルチストリーム表現に基づいて生成される固定長ベクトルである２次ストリーム表現を、話者ごとに生成する２次ストリーム表現生成部と、
前記２次ストリーム表現を統合してなる２次マルチストリーム表現を生成する２次マルチストリーム表現生成部
を含むドキュメント識別装置。
【請求項２】
請求項１に記載のドキュメント識別装置であって、
前記２次マルチストリーム表現に基づいて、所定のクラスに対する事後確率を算出するクラス識別部
を含むドキュメント識別装置。
【請求項３】
請求項１または２に記載のドキュメント識別装置であって、
前記２次ストリーム表現は、前記単語系列と前記１次マルチストリーム表現に基づいて、リカレントニューラルネットワーク機能を有する関数を演算することにより生成した固定長ベクトルである
ドキュメント識別装置。
【請求項４】
ドキュメント識別装置が実行するドキュメント識別方法であって、
複数の話者を含む場面で録音された話者ごとの音声に対応する単語系列の固定長ベクトルである１次ストリーム表現を、話者ごとに生成するステップと、
前記１次ストリーム表現を統合してなる１次マルチストリーム表現を生成するステップと、
話者ごとの前記単語系列と前記１次マルチストリーム表現に基づいて生成される固定長ベクトルである２次ストリーム表現を、話者ごとに生成するステップと、
前記２次ストリーム表現を統合してなる２次マルチストリーム表現を生成するステップを含むドキュメント識別方法。
【請求項５】
請求項４に記載のドキュメント識別方法であって、
前記２次マルチストリーム表現に基づいて、所定のクラスに対する事後確率を算出するステップ
を含むドキュメント識別方法。
【請求項６】
請求項４または５に記載のドキュメント識別方法であって、
前記２次ストリーム表現は、前記単語系列と前記１次マルチストリーム表現に基づいて、リカレントニューラルネットワーク機能を有する関数を演算することにより生成した固定長ベクトルである
ドキュメント識別方法。
【請求項７】
コンピュータを請求項１から３の何れかに記載のドキュメント識別装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は話者ごとに収録された音声を書き起こしたドキュメントなどを所定のクラスに識別するためのドキュメント識別装置、ドキュメント識別方法、プログラムに関する。
【背景技術】
【０００２】
コールセンタやミーティングなどにおける音声の自動認識結果や、当該音声を人手で書き起こしたドキュメントを所定のクラスに識別（分類）する技術（クラス分類）に対するニーズがある。例えばコールセンタでは、電話の目的を自動で識別することが求められる。当該技術によれば、例えば解約、新規契約、パスワードやＩＤの問い合わせ、など電話の目的を分類するクラスのうちから一つのクラスを自動で識別し、これをデータマイニングに活用することが可能である。【０００３】
例えばコールセンタやミーティングでは、話者ごとに別々に音声を収録する環境が一般的である。従って、通話やミーティングに参加した人毎に音声をテキスト化することが可能であり、どの話者がどの言葉を話したかは明確である。ここでは、各話者の音声認識結果や人手で書き起こしたドキュメントを統合したドキュメントをマルチストリームドキュメントと呼ぶ。例えばコールセンタでは、カスタマの音声認識結果とオペレータの音声認識結果を統合してマルチストリームドキュメントを生成する。【０００４】
クラス分類器を構築する場合は、ラベルが付いたデータを準備しておき、機械学習により自動構築する方法が主流である。マルチストリームドキュメントを扱う場合は、１つのマルチストリームドキュメントに１つのラベルが付いたデータを大量に準備しておくことで、クラス分類器を学習できる。【０００５】
マルチストリームドキュメントを用いてドキュメントをクラス識別する技術として例えば非特許文献１がある。非特許文献１では、対象のマルチストリームドキュメントに対して、ストリーム（通話やミーティングに参加した各人が発した音声に対応するテキスト）ごとにＲＮＮ（リカレントニューラルネットワーク、Recurrent Neural Network）構造を準備して、ストリームごとに固定長（固定次元）ベクトル化したあとに、その情報を統合して識別を行うという方法がとられている。なお好適には、ＲＮＮ構造として、long short-term memory、gated recurrent unit、bidirectional RNNを含む。ＲＮＮは深層学習に基づく技術の１つであり公知の技術であるため、ここでは省略する。ＲＮＮ構造を使うポイントとしては、任意数の単語を含むドキュメントを固定長ベクトルに変換する仕組みを備えている点であり、それにより識別関数で直接入力データを扱うことができる。Ｋ種類（Ｋは参加人数に対応）のストリームを用いる場合に、ｋ種類目のストリームの単語系列をwk1,wk2,…,wkTkと表す場合、非特許文献１では以下のような処理を実行する。【０００６】
【数１】
2018212055.tif 000003
【０００７】
ここで、skはk種類目のストリームに対応した固定長ベクトルである。また、Oは各クラスに対応した事後確率を表す出力である。RNN()はＲＮＮの機能を持つ関数、DISCRIMINATEは固定長化されたベクトルから識別を行う関数であり、例えばsoftmax関数を用いることができる。softmax関数については公知の技術であるためここでは省略する。識別時は、Oにおける最大の確率を持つクラスに識別を行う。個々の処理の詳細については非特許文献１に開示されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】M. Bouaziz, M. Morchid, R. Dufour, G. Linars, and R. D. Mori, “Parallel long short-term memory for multi-stream classification,” In Proc. IEEE Spoken Language Technology Workshop (SLT), pp. 218-223, 2016.
【非特許文献２】Z. Yang, D. Yang, C. Dyer, X. He, A. J. Smola, and E. H. Hovy,“Hierarchical attention networks for document classification,” In Proc. Annual Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT), pp. 1480-1489, 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
非特許文献１では、各ストリームを固定長ベクトル化する際に、他のストリームの情報を全く利用していない。各ストリームの固定長ベクトルは、各ストリームの情報を埋め込んだものであり、識別に有用と考えられる情報を残すように埋め込まれている。したがって、この各ストリームに対応した固定長ベクトルに識別に有用な情報が埋め込まれていなければ、高い識別性能は期待できない。【００１０】
識別に有用な情報は、ストリーム間で共通の情報であることが多い。つまり、あるストリームにおいて重要な情報は、他のストリームでも重要な情報であると考えられる。例えば、コールセンタであれば、オペレータの話した言葉とカスタマが話した言葉で、共通の話題が重要な情報であると言える。このような知見を前述の非特許文献１では利用することができていない。【００１１】
そこで、上述の課題を解決するために上述の知見をＲＮＮ構造で実現することとした。すなわち、あるストリームを固定長ベクトルにする際に、他のストリームに含まれる情報も用いる仕組みを導入する。具体的には、一度全ストリームの情報を固定長ベクトルとして統合したあとに、再び各ストリームを読み込む際に付加的情報として利用する。これにより、各ストリームについて、重要な部分を重視した固定長ベクトルを構成することができる。
【課題を解決するための手段】
【００１２】
上述の処理を実現するために本発明のドキュメント識別装置は、１次ストリーム表現生成部と、１次マルチストリーム表現生成部と、２次ストリーム表現生成部と、２次マルチストリーム表現生成部を含む。１次ストリーム表現生成部は、複数の話者を含む場面で録音された話者ごとの音声に対応する単語系列の固定長ベクトルである１次ストリーム表現を、話者ごとに生成する。１次マルチストリーム表現生成部は、１次ストリーム表現を統合してなる１次マルチストリーム表現を生成する。２次ストリーム表現生成部は、話者ごとの単語系列と１次マルチストリーム表現に基づいて生成される固定長ベクトルである２次ストリーム表現を、話者ごとに生成する。２次マルチストリーム表現生成部は、２次ストリーム表現を統合してなる２次マルチストリーム表現を生成する。
【発明の効果】
【００１３】
本発明のドキュメント識別装置によれば、マルチストリームドキュメントのクラス識別精度が向上する。
【図面の簡単な説明】
【００１４】
【図１】実施例１のドキュメント識別装置の構成を示すブロック図。
【図２】実施例１のドキュメント識別装置の動作を示すフローチャート。
【図３】ＲＮＮ関数による演算を説明する模式図であって、図３（ａ）は、各単語をＲＮＮ構造に順番に入れ、その中間層を出力して固定長ベクトルskとする演算を説明する模式図、図３（ｂ）は、Tk個の単語からなる単語系列wk1,wk2,…,wkTkと１次マルチストリーム表現として表される固定長ベクトルVを同時にＲＮＮに入力する作業を各単語について行い、その中間層の出力をk種類目のストリームについて、再生成されたストリーム表現を表す固定長ベクトルs-kとして取得する演算を説明する模式図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００１６】
以下、図１を参照して実施例１のドキュメント識別装置の構成を説明する。図１に示すように本実施例のドキュメント識別装置１は、１次ストリーム表現生成部１１と、１次マルチストリーム表現生成部１２と、２次ストリーム表現生成部１３と、２次マルチストリーム表現生成部１４と、クラス識別部１５を含む。【００１７】
以下、図２を参照して各構成要件の動作を説明する。【００１８】
＜１次ストリーム表現生成部１１＞
入力：各話者の音声に対応する単語系列。各ストリームの単語系列ともいう。k種類目のストリーム（k人目の話者、k=1,2,…,K）のTk個（Tkは任意の正の整数）の単語からなる単語系列をwk1,wk2,…,wkTkと表現する。
出力：１次ストリーム表現【００１９】
１次ストリーム表現生成部１１は、複数の話者を含む場面で録音された話者ごとの音声のうち、各話者の音声に対応する単語系列（各ストリームの単語系列）から固定長ベクトルを生成する（Ｓ１１）。ステップＳ１１で生成される固定長ベクトルを１次ストリーム表現と呼ぶこととする。ステップＳ１１は各ストリームに対して実行される。例えばコールセンタであれば、オペレータとカスタマの２ストリームであるため、１次ストリーム表現生成部１１は、２ストリームそれぞれに対して１次ストリーム表現を生成する。【００２０】
k種類目のストリームに対応するTk個の単語からなる単語系列wk1,wk2,…,wkTkについて、１次ストリーム表現生成部１１は、例えば以下のような処理を実行する。【００２１】
【数２】
2018212055.tif 000004
【００２２】
ここで、skはk種類目のストリームの１次ストリーム表現として表される固定長ベクトルである。RNN()はＲＮＮの機能を持つ関数であり、long short-term memory やGRUなどを含む。例えば、典型的なＲＮＮでは図３（ａ）に示すように、各単語をＲＮＮ構造に順番に入れ、その中間層を出力してskとする。この演算では、任意の長さの系列を固定長ベクトルとして扱うことが可能な関数であれば、任意のものを利用して良く、例えば非特許文献２で用いられるような、Hierarchical Attention Networkなどを用いてもよい。【００２３】
＜１次マルチストリーム表現生成部１２＞
入力：各ストリームの１次ストリーム表現
出力：１次マルチストリーム表現【００２４】
１次マルチストリーム表現生成部１２は、各ストリームの１次ストリーム表現を統合して、１次マルチストリーム表現を生成する（Ｓ１２）。例えば、１次マルチストリーム表現生成部１２は、２つの１次ストリーム表現から１つの１次マルチストリーム表現を生成する。【００２５】
ストリームが全部でＫ種類あるものとし、各ストリームの１次ストリーム表現をs1,s2,…,sKと表す場合、１次マルチストリーム表現生成部１２は、例えば以下のような処理を実行する。【００２６】
【数３】
2018212055.tif 000005
【００２７】
ここで、Vは、１次マルチストリーム表現として表される固定長ベクトルである。なおステップＳ１２においてs1,s2,…,sKから固定長ベクトルを生成する演算であれば、任意のものを利用して良い。例えば１次マルチストリーム表現生成部１２は、s1,s2,…,sKの結合ベクトルを１次マルチストリーム表現としてもよい。【００２８】
なお上に述べた数式では、１次ストリーム表現s1,s2,…,sKを全て統合して１次マルチストリーム表現Vを生成したが、これに限定されず１次ストリーム表現s1,s2,…,sKの一部のみ（例えばsi,…,sjのみ、1≦i<j≦K）を統合して１次マルチストリーム表現Vを生成してもよい。【００２９】
＜２次ストリーム表現生成部１３＞
入力：各ストリームの単語系列、１次マルチストリーム表現
出力：２次ストリーム表現【００３０】
２次ストリーム表現生成部１３は、１次マルチストリーム表現を付加的情報として用い、話者ごとの単語系列を読み込み直して、ストリーム表現を再生成する構成要件である。すなわち、２次ストリーム表現生成部１３は、各ストリームの単語系列と、生成した１次マルチストリーム表現に基づいて、各ストリームについて固定長ベクトルを再び生成する（Ｓ１３）。ステップＳ１３で再生成される固定長ベクトルを２次ストリーム表現と呼ぶこととする。例えばコールセンタであれば、オペレータとカスタマの２ストリームであるため、２次ストリーム表現生成部１３は、２ストリームそれぞれに対して２次ストリーム表現を生成する。【００３１】
２次ストリーム表現生成部１３は、k種類目のストリームの単語系列（wk1,wk2,…,wkTk）と１次マルチストリーム表現として表される固定長ベクトルVから２次ストリーム表現と呼ばれる固定長ベクトルを再び生成する。２次ストリーム表現生成部１３は、例えば以下のような処理を実行する。【００３２】
【数４】
2018212055.tif 000006
【００３３】
s-kはk種類目のストリームについて、再生成されたストリーム表現（２次ストリーム表現）を表す固定長ベクトルである。RNN()はRNN（リカレントニューラルネットワーク）の機能を有する関数であり、上述した場合と同様に、同様の機能を持つ関数であれば任意のものを用いてよい。例えば２次ストリーム表現生成部１３は、図３（ｂ）に示すように、wk1,wk2,…,wkTkとVを同時にRNNに入力する作業を各単語について行い、その中間層の出力をs-kとして取得する。【００３４】
＜２次マルチストリーム表現生成部１４＞
入力：各ストリームの２次ストリーム表現
出力：２次マルチストリーム表現【００３５】
２次マルチストリーム表現生成部１４は、再生成されたストリーム表現を統合して、再度マルチストリーム表現を生成する構成要件である。すなわち、２次マルチストリーム表現生成部１４は、２次ストリーム表現を統合して２次マルチストリーム表現を生成する（Ｓ１４）。例えば２次マルチストリーム表現生成部１４は、２つの２次ストリーム表現から、１つの２次マルチストリーム表現を生成する。【００３６】
Ｋ種類のストリームの各ストリームの２次ストリーム表現をs-1,s-2,...，s-Kと表す場合、２次マルチストリーム表現生成部１４は、例えば以下のような処理を実行する。【００３７】
【数５】
2018212055.tif 000007
【００３８】
ここで、V-は、２次マルチストリーム表現として表される固定長ベクトルである。なお、１次マルチストリーム表現生成部１２と同じ演算を行うという前提があれば、２次マルチストリーム表現生成部１４は他の同様の機能を有する関数の演算を実行してもよい。【００３９】
＜クラス識別部１５＞
入力：２次マルチストリーム表現
出力：各クラスに対する事後確率【００４０】
クラス識別部１５は、２次マルチストリーム表現に基づいて、所定のクラスに対する事後確率を算出する（Ｓ１５）。ステップＳ１５は、各クラスに対して実行される。【００４１】
例えばクラス識別部１５は、２次マルチストリーム表現として表される固定長ベクトルV-から、以下の式により各クラスに対する事後確率を算出する。【００４２】
【数６】
2018212055.tif 000008
【００４３】
＜変形例＞
上述の実施例において、ステップＳ１３、Ｓ１４はそれぞれ一度のみ実行された。しかし上述の実施例に限らず、ステップＳ１３、Ｓ１４は再帰的に実行されてもよい。つまりステップＳ１４において２次マルチストリーム表現生成部１４が生成した２次マルチストリーム表現を、２次ストリーム表現生成部１３で再帰的に用いてもよい。すなわち、二回目以降に実行されるステップＳ１３において、２次ストリーム表現生成部１３はステップＳ１４で生成された２次マルチストリーム表現と単語系列を用いて、各ストリームについて固定長ベクトルを再び生成してもよい。ステップＳ１３、Ｓ１４を繰り返し実行することにより、重要な情報をより際立たせることができる。たとえば、ステップＳ１３、Ｓ１４を３回繰り返した場合のV-をクラス識別部１５の入力とすることができる。【００４４】
＜効果＞
本実施例のドキュメント識別装置１によれば、各ストリームを固定長ベクトル化する際に、マルチストリームドキュメント全体を通して重要な部分を重視した埋め込みを行うことができる。これにより、高精度なマルチストリームドキュメントの識別モデルを構築することが可能である。【００４５】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。【００４６】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。【００４７】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。【００４８】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。【００４９】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。【００５０】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。【００５１】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。【００５２】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。【００５３】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2018212055.tif 000009
【図２】
2018212055.tif 000010
【図３】
2018212055.tif 000011
【国際調査報告】
2018212055.tif 000012
2018212055.tif 000013