(57)【特許請求の範囲】
【請求項１】
ａ系列とｂ系列の２つのテキストの一組以上から成る対話データ群と、話題を見分ける変数である潜在変数の総数とを入力として、上記対話データ群の単語に上記潜在変数を割り当てた潜在変数系列と、上記対話データ群のａ系列とｂ系列の各テキストの単語に話者依存か話題依存かを見分ける変数であるクラス変数を割り当てたクラス変数ａ系列とクラス変数ｂ系列とを生成し、上記潜在変数系列から、当該潜在変数系列の潜在変数の種類ごとの回数を数えた潜在変数回数と上記潜在変数の種類と単語の組の回数である潜在変数−単語対回数とを生成し、上記クラス変数ａ系列と上記クラス変数ｂ系列から、クラス変数の数を数えたクラス変数ａ回数とクラス変数ｂ回数とクラス変数の種類と単語の組の回数であるクラス変数ａ系列−単語対回数とクラス変数ｂ系列−単語対回数とを生成し、当該生成した各々の上記パラメータと上記対話データ群に含まれる語彙種類数と全ての語彙とを、初期パラメータとして出力するトピック共有モデル初期化部と、
上記トピック共有モデル初期化部が出力する初期パラメータと、外部から入力されるハイパーパラメータとを入力として、当該初期パラメータをマルコフ連鎖モンテカルロ法で逐次更新して出力するトピック共有モデル学習部と、
上記トピック共有モデル学習部で更新した全てのパラメータと上記語彙種類数と上記全ての語彙と上記ハイパーパラメータとを入力として、各トピックはどのような単語ｗが支配的であるかを表すトピック−単語確率Ｐ（ｗ｜ｚ）と、各対話ｎはどのようなトピックが支配的であるかを表す対話−トピック確率Ｐ（ｚ｜ｎ）と、上記ａ系列のテキストに出現する単語ｗの確率を表すＰ（ｗ｜ｃ＝０）と、上記ｂ系列のテキストに出現する単語ｗ
の確率を表すＰ（ｗ｜ｃ＝０）と、から成るトピック共有モデル情報を出力するトピック共有モデル情報出力部と、
を具備するトピックモデル学習装置。
【請求項２】
請求項１に記載したトピックモデル学習装置において、
上記トピック共有モデル初期化部は、
上記対話データ群を構成する単語に、上記潜在変数の総数を上限とする個数のインデックスを、ランダムに割り当てた潜在変数系列を生成する潜在変数割り当て手段と、
上記潜在変数系列を構成する各々の潜在変数の回数を数えて潜在変数回数を生成する潜在変数回数算出手段と、
上記単語と上記潜在変数との組を数えて潜在変数−単語対回数を生成する潜在変数−単語対回数算出手段と、
上記対話データ群を構成するａ系列とｂ系列の各テキストの単語に、話者依存を表すクラス０と話題依存を表すクラス１とを、それぞれランダムに割り当てたクラス変数ａ系列とクラス変数ｂ系列を生成する２系統のクラス変数割り当て手段と、
上記２系統のクラス変数系列のそれぞれの、クラス０とクラス１の数を数えてクラス変数ａ回数とクラス変数ｂ回数を生成する２系統のクラス変数回数算出手段と、
上記単語と上記クラス変数との組を数えてクラス変数ａ−単語対回数とクラス変数ｂ−単語対回数を生成する２系統のクラス変数−単語対回数算出手段と、
上記対話データ群に含まれる単語の種類数を語彙種類数として数え、全ての語彙と上記語彙種類数を出力する語彙抽出手段と、
を備えることを特徴とするトピックモデル学習装置。
【請求項３】
請求項１又は２に記載したトピック学習装置において、
上記トピック共有モデル学習部の上記マルコフ連鎖モンテカルロ法は、
上記潜在変数系列のａ系列の単語位置ｉごとに、ｉ番目の潜在変数を既存のパラメータから消去した後に、当該ｉ番目のクラス変数の値に応じて異なる算出式に基づいて潜在変数更新用分布を計算し、当該潜在変数更新用分布からｉ番目の新たな潜在変数をサンプリングし、上記消去したｉ番目の潜在変数を上記新たな潜在変数に入れ変えて上記潜在変数の回数と上記潜在変数−単語対回数を更新するａ系テキスト潜在変数更新部と、
上記クラス変数ａ系列の上記単語位置ｉごとに、ｉ番目のクラス変数を既存のパラメータから消去した後に、当該ｉ番目のクラス変数の値に応じて異なる算出式に基づいてクラス変数ａ更新用分布を計算し、当該クラス変数ａ更新用分布からｉ番目の新たなクラス変数をサンプリングし、上記消去したｉ番目の潜在変数を上記新たなクラス変数に入れ替えて上記クラス変数ａ系列を更新するクラス変数ａ系列更新部と、
上記潜在変数系列のｂ系列の単語位置ｉごとに、ｉ番目の潜在変数を既存のパラメータから消去した後に、当該ｉ番目のクラス変数の値に応じて異なる算出式に基づいて潜在変数更新用分布を計算し、当該潜在変数更新用分布からｉ番目の新たな潜在変数をサンプリングし、上記消去したｉ番目の潜在変数を上記新たな潜在変数に入れ変えて上記潜在変数の回数と上記潜在変数−単語対回数を更新するｂ系テキスト潜在変数更新部と、
上記クラス変数ｂ系列の上記単語位置ｉごとに、ｉ番目のクラス変数を既存のパラメータから消去した後に、当該ｉ番目のクラス変数の値に応じて異なる算出式に基づいてクラス変数ｂ更新用分布を計算し、当該クラス変数ｂ更新用分布からｉ番目の新たなクラス変数をサンプリングし、上記消去したｉ番目の潜在変数を上記新たなクラス変数に入れ替えて上記クラス変数ｂ系列を更新するクラス変数ｂ系列更新部と、
上記ａ系テキスト潜在変数更新部と上記クラス変数ａ系列更新部と上記ｂ系テキスト潜在変数更新部と上記クラス変数ｂ系列更新部とを上記した順に所定の回数、繰り返し動作させる繰り返し制御部と、
で実現されることを特徴とするトピックモデル学習装置。
【請求項４】
請求項１乃至３の何れかに記載したトピックモデル学習装置において、
上記トピック共有モデル情報出力部が出力するトピック−単語確率Ｐ（ｗ｜ｚ）は次式で計算され、
【数８】
0005968283.tif 000009
ここで「（ｗ，ｚ）の回数」は上記した潜在変数−単語対回数、
上記トピック共有モデル情報出力部が出力する対話−トピック確率Ｐ（ｚ｜ｎ）は次式で計算され、
【数９】
0005968283.tif 000010
ここで「対話ｎ内のｚの回数」は上記した潜在変数回数、
上記トピック共有モデル情報出力部が出力する上記ａ系列のテキストに出現する単語ｗの確率を表すＰ（ｗ｜ｃ＝０）と上記ｂ系列のテキストに出現する単語ｗの確率を表すＰ（ｗ｜ｃ＝０）とは次式で計算され、
【数１０】
0005968283.tif 000011
ここで「（ｗ，ｃ＝０）の回数」は上記したクラス変数−単語対回数、
上記Alpha,上記beta,上記deltaはハイパーパラメータである、
ことを特徴とするトピックモデル学習装置。
【請求項５】
ａ系列とｂ系列の２つのテキストの一組以上から成る対話データ群と、話題を見分ける変数である潜在変数の総数とを入力として、上記対話データ群の単語に上記潜在変数を割り当てた潜在変数系列と、上記対話データ群のａ系列とｂ系列の各テキストの単語に話者依存か話題依存かを見分ける変数であるクラス変数を割り当てたクラス変数ａ系列とクラス変数ｂ系列とを生成し、上記潜在変数系列から、当該潜在変数系列の潜在変数の種類ごとの回数を数えた潜在変数回数と上記潜在変数の種類と単語の組の回数である潜在変数−単語対回数とを生成し、上記クラス変数ａ系列と上記クラス変数ｂ系列から、クラス変数の数を数えたクラス変数ａ回数とクラス変数ｂ回数とクラス変数の種類と単語の組の回数であるクラス変数ａ系列−単語対回数とクラス変数ｂ系列−単語対回数とを生成し、当該生成した各々の上記パラメータと上記対話データ群に含まれる語彙種類数と全ての語彙とを、初期パラメータとして出力するトピック共有モデル初期化過程と、
上記トピック共有モデル初期化過程で得られた初期パラメータと、外部から入力されるハイパーパラメータとを入力として、当該初期パラメータをマルコフ連鎖モンテカルロ法で逐次更新して出力するトピック共有モデル学習過程と、
上記トピック共有モデル学習過程で更新した全てのパラメータと上記語彙種類数と上記全ての語彙と上記ハイパーパラメータとを入力として、各トピックはどのような単語ｗが支配的であるかを表すトピック−単語確率Ｐ（ｗ｜ｚ）と、各対話ｎはどのようなトピックが支配的であるかを表す対話−トピック確率Ｐ（ｚ｜ｎ）と、上記ａ系列のテキストに出現する単語ｗの確率を表すＰ（ｗ｜ｃ＝０）と、上記ｂ系列のテキストに出現する単
語ｗの確率を表すＰ（ｗ｜ｃ＝０）と、から成るトピック共有モデル情報を出力するトピック共有モデル情報出力過程と、
を備えるトピックモデル学習方法。
【請求項６】
請求項５に記載したトピックモデル学習方法において、
上記トピックモデル学習過程は、
上記対話データ群を構成する単語に、上記潜在変数の総数を上限とする個数のインデックスを、ランダムに割り当てた潜在変数系列を生成する潜在変数割り当てステップと、
上記潜在変数系列を構成する各々の潜在変数の回数を数えて潜在変数回数を生成する潜在変数回数算出ステップと、
上記単語と上記潜在変数との組を数えて潜在語変数−単語対回数を生成する潜在変数−単語対回数算出ステップと、
上記対話データ群を構成するａ系列とｂ系列の各テキストの単語に、話者依存を表すクラス０と話題依存を表すクラス１とを、それぞれランダムに割り当てたクラス変数ａ系列とクラス変数ｂ系列を生成する２系統のクラス変数割り当てステップと、
上記２系統のクラス変数系列のそれぞれの、クラス０とクラス１の数を数えてクラス変数ａ回数とクラス変数ｂ回数を生成する２系統のクラス変数回数算出ステップと、
上記単語と上記クラス変数との組を数えてクラス変数ａ−単語対回数とクラス変数ｂ−単語対回数を生成する２系統のクラス変数−単語対回数算出ステップと、
上記複数の対話テキストに含まれる単語の種類数を語彙種類数として数え、全ての語彙と上記語彙種類数を出力する語彙抽出ステップと、
を含むことを特徴とするトピックモデル学習方法。
【請求項７】
請求項１乃至４の何れかに記載したトピックモデル学習装置としてコンピュータを機能させるためのプログラム。
【請求項８】
請求項７に記載した何れかのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話における話者間の共有トピック構造を明らかにするトピックモデル学習装置とその方法と、そのプログラムと記録媒体に関する。
【背景技術】
【０００２】
近年はＷｅｂ等から大量のテキスト情報が得られる。その大量のテキスト情報から隠れた話題（トピック）の構造を見つける技術としてトピックモデルが知られている。トピックモデルは、テキストが隠れた話題に基づいて生成される過程を確率的に表現したものであり、データマイニング等で利用されている。具体的には、情報検索などで例えば「サッカーの話題について話しているテキストを探したい。」といったことを実現するために利用される。
【０００３】
代表的なトピックモデルとしてＬＤＡ（Latent Dirichlet Allocation）という方法がある。ＬＤＡは周知の技術であり、例えば非特許文献１に記載されている。このＬＤＡを利用することでテキスト群から隠れた話題構造を明らかにすることができる。具体的には、「ＡというテキストはＢ番目のトピックが支配的である。」や、「Ｂ番目のトピックの代表的な単語はＣやＤである。」といった話題構造である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】D. M. Blei, A. Y. Ng, and M. I. Jordan. Latent Dirichlet allocation. Journal of Machine Learning Research, 3:993-1022, 2003.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来のトピックモデルは、文書を独立のものとして捉えたモデルであり、例えば対話のテキストの様に２つで１組のテキスト情報には適用することができない課題があった。例えば、ＥさんとＦさんの対話データがあるとする。具体的には、例えばコンタクトセンタにおけるＥさんとＦさんとの対話を想定する。この場合、Ｅさんは例えばオペレータ、Ｆさんは例えば顧客である。
【０００６】
このような場合に、従来技術を用いてテキスト情報のトピック構造を明らかにしたとしても、対話としての情報検索に活かすことが難しい。つまり、「サッカーについて話している対話はどれ？」といった情報検索に通常では応用できない。２つで１組の２つのテキストを１つのテキストと見做してしまうと、個々の情報が利用できなくなってしまう。
【０００７】
対話において個々の役割が明確なケースでは、オペレータが頻繁に話す言葉と顧客が頻繁に話す言葉は大きく異なる。２つで１組の対話のテキスト情報から話者情報を消してデータマイニングを行ってしまうと、例えば「この対話でオペレータが話したＢ番目のトピックの単語はどれ」といった情報検索が行えない。対話の場合は、Ｅさんの話した言葉のテキストとＦさんの話した言葉のテキストは同様の話題であると考えられる。対話のように２つで１組のテキスト情報についても、柔軟なデータマイニングを実現できる技術が求められている。
【０００８】
本発明は、この課題に鑑みてなされたものであり、対話間で話題を共有できない点、共有しようとすると個々の情報が消えてしまう点を解決し、「ＥさんとＦさんの対話は、Ｂ番目のトピックが支配的である。」といった話題構造を明らかにし、且つ「Ｅさんが話したＢ番目のトピックの単語はＣやＤである」といった情報を捉えることが可能なトピックモデルを実現するトピックモデル学習装置とその方法、そのプログラムと記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のトピックモデル学習装置は、トピック共有モデル初期化部と、トピック共有モデル学習部と、トピック共有モデル情報出力部と、を具備する。トピック共有モデル初期化部は、ａ系列とｂ系列の２つのテキストの一組以上から成る対話データ群と、話題を見分ける変数である潜在変数の総数とを入力として、対話データ群のａ系列とｂ系列の各テキストの単語に、上記潜在変数と、話者依存か話題依存かを見分ける変数であるクラス変数とを割り当てたａ系列とｂ系列のそれぞれのクラス変数系列と、ａ系列とｂ系列のそれぞれの潜在変数の種類と単語の組の回数である潜在変数−単語対回数とクラス変数の種類と単語の組の回数であるクラス変数−単語対回数と、複数の対話テキストに含まれる語彙種類数と単語数と、を初期パラメータとして出力する。トピック共有モデル学習部は、トピック共有モデル初期化部が出力する初期パラメータと、外部から入力されるハイパーパラメータとを入力として、当該初期パラメータをマルコフ連鎖モンテカルロ法で逐次更新して出力する。トピック共有モデル情報出力部は、トピック共有モデル学習部で更新した全てのパラメータと語彙種類数と全ての語彙とハイパーパラメータとを入力として、各トピックはどのような単語ｗが支配的であるかを表すトピック−単語確率Ｐ（ｗ｜ｚ）と、各対話ｎはどのようなトピックが支配的であるかを表す対話−トピック確率Ｐ（ｚ｜ｎ）と、上記ａ系列のテキストに出現する単語ｗの確率を表すＰ（ｗ｜ｃ＝０）と、上記ｂ系列のテキストに出現する単語ｗの確率を表すＰ（ｗ｜ｃ＝０）と、から成るトピック共有モデル情報を出力する。
【発明の効果】
【００１０】
本発明のトピックモデル学習装置によれば、ａ系列とｂ系列の２つのテキストの組から成る複数の対話テキストから、各トピックはどのような単語ｗが支配的であるかを表すトピック−単語確率Ｐ（ｗ｜ｚ）と、各対話ｎはどのようなトピックが支配的であるかを表す対話−トピック確率Ｐ（ｚ｜ｎ）と、ａ系列のテキストに出現する単語ｗの確率を表すＰ（ｗ｜ｃ＝０）と、ｂ系列のテキストに出現する単語ｗの確率を表すＰ（ｗ｜ｃ＝０）と、から成るトピック共有モデル情報を得ることができる。このトピック共有モデル情報を用いることで、対話のように２つで１組のテキスト情報についても、柔軟なデータマイニングを実現することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明のトピックモデル学習装置１００の機能構成例を示す図。
【図２】トピックモデル学習装置１００の動作フローを示す図。
【図３】トピック共有モデル初期化部１１０の機能構成例を示す図。
【図４】トピック共有モデル学習部１２０の機能構成例を示す図。
【図５】トピック共有モデル学習部１２０の動作フローを示す図。
【図６】ａ系テキスト潜在変数更新部１２１０の機能構成例を示す図。
【図７】ａ系テキスト潜在変数更新部１２１０の動作フローを示す図。
【図８】クラス変数ａ系列更新部１２２０の機能構成例を示す図。
【図９】クラス変数ａ系列更新部１２２０の動作フローを示す図。
【図１０】トピック共有モデル情報の例を示す図。
【発明を実施するための形態】
【００１２】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
【実施例】
【００１３】
図１に、この発明のトピックモデル学習装置１００の機能構成例を示す。その動作フローを図２に示す。トピックモデル学習装置１００は、トピック共有モデル初期化部１１０と、トピック共有モデル学習部１２０と、トピック共有モデル情報出力部１３０と、を具備する。トピックモデルとは、例えば文書から何らかの話題（トピック）を発見するための統計的なモデルである。トピックモデル学習装置１００は、対話データ群からトピックモデルを学習する装置である。トピックモデル学習装置１００は、例えばＲＯＭ、ＲＡＭ、ＣＰＵ等で構成されるコンピュータに所定のプログラムが読み込まれて、ＣＰＵがそのプログラムを実行することで実現されるものである。
【００１４】
トピック共有モデル初期化部１１０は、ａ系列とｂ系列の２つのテキストの一組以上から成る対話データ群と、話題を見分ける変数である潜在変数の総数とを入力として、対話データ群の単語に潜在変数を割り当てた潜在変数系列と、対話データ群のａ系列とｂ系列の各テキストの単語に話者依存か話題依存かを見分ける変数であるクラス変数を割り当てたクラス変数ａ系列とクラス変数ｂ系列とを生成し、潜在変数系列から、当該潜在変数系列の潜在変数の種類ごとの回数を数えた潜在変数回数と潜在変数の種類と単語の組の回数である潜在変数−単語対回数とを生成し、クラス変数ａ系列とクラス変数ｂ系列から、クラス変数の数を数えたクラス変数ａ回数とクラス変数ｂ回数とクラス変数の種類と単語の組の回数であるクラス変数ａ系列−単語対回数とクラス変数ｂ系列−単語対回数とを生成し、当該生成した各々のパラメータと対話データ群に含まれる語彙種類数と全ての語彙とを、初期パラメータとして出力する（ステップＳ１１０）。対話データ群とは、図１に示すように、例えばオペレータの発話したテキスト１−ａと顧客の発話したテキスト１−ｂとの組が、一組以上で構成されるテキスト情報の集合である。潜在変数の総数とは、各テキストの各単語に割り当てられる変数名の総数であり、以降の説明では潜在変数の総数Ｋと称する。
【００１５】
トピック共有モデル学習部１２０は、トピック共有モデル初期化部１１０が出力する初期パラメータと、外部から入力されるハイパーパラメータとを入力として、当該初期パラメータをマルコフ連鎖モンテカルロ法で逐次更新して出力する（ステップＳ１２０）。ハイパーパラメータとは、確率モデル全体に影響を与えるパラメータのことである。マルコフ連鎖モンテカルロ法は、確率変数を更新するための周知のアルゴリズムである。その具体例については後述する。
【００１６】
トピック共有モデル情報出力部１３０は、トピック共有モデル学習部１２０で更新した全てのパラメータと語彙種類数と全ての語彙とハイパーパラメータとを入力として、各トピックはどのような単語ｗが支配的であるかを表すトピック−単語確率Ｐ（ｗ｜ｚ）と、各対話ｎはどのようなトピックが支配的であるかを表す対話−トピック確率Ｐ（ｚ｜ｎ）と、上記ａ系列のテキストに出現する単語ｗの確率を表すＰ（ｗ｜ｃ＝０）と、上記ｂ系列のテキストに出現する単語ｗの確率を表すＰ（ｗ｜ｃ＝０）と、から成るトピック共有モデル情報を出力する（ステップＳ１３０）。
【００１７】
以上説明した機能構成を備えるトピックモデル学習装置１００が出力するトピック共有モデル情報は、対話のように２つで１組のテキスト情報についても、柔軟なデータマイニングを可能にする。トピックモデル学習装置１００の動作を、より具体的な機能構成例を参照して具体的に説明する。
【００１８】
図３に、トピック共有モデル初期化部１１０の機能構成例を示す。トピック共有モデル初期化部１１０は、潜在変数割り当て手段１１１と、潜在変数回数算出手段１１２と、潜在変数−単語対回数算出手段１１３と、クラス変数ａ割り当て手段１２１と、クラス変数ａ回数算出手段１２２と、クラス変数ａ−単語対回数算出手段１２３と、クラス変数ｂ割り当て手段１３１と、クラス変数ｂ回数算出手段１３２と、クラス変数ｂ−単語対回数算出手段１３３と、語彙抽出手段１４１と、を具備する。
【００１９】
潜在変数割り当て手段１１１は、入力される対話データ群を構成する単語に、潜在変数の総数Ｋを上限とする個数のインデックスを、ランダムに割り当てた潜在変数系列を生成する。対話データ群のａ系列のテキスト１−ａを例えば「今日は晴れです」、テキスト１−ｂを例えば「いい天気です」とし、潜在変数の総数ＫをＫ＝１０として与えた場合、潜在変数割り当て手段１１１は、テキスト１−ａとテキスト１−ｂの各単語に、０からＫ−１の間の任意の整数を、ランダムに割り当てる。例えば、「今日」の潜在変数は７、「は」の潜在変数は３、「晴れ」の潜在変数は４、「です」の潜在変数は１、「いい」の潜在変数は６、「天気」の潜在変数は５、「です」の潜在変数は３、「ね」の潜在変数は２、といった具合に決定し、潜在変数系列「７，３，４，１，６，５，３，２」を生成する。このように潜在変数は、対話データ群を構成するテキスト情報の各々の単語に付与されるインデックスである。潜在変数をランダムに決定するには、sample_oneと称される関数を用いると良い。sample_one関数については後述する。
【００２０】
潜在変数回数算出手段１１２は、上記潜在変数系列を構成する各々の潜在変数の回数を数えて潜在変数回数を生成する。上記した潜在変数系列「７，３，４，１，６，５，３，２」の場合、潜在変数回数は、７の数は１、３の数は２、４の数は１、１の数は１、６の数は１、５の数は１、２の数は１となる。
【００２１】
潜在変数−単語対回数算出手段１１３は、単語と上記潜在変数との組を数えて潜在変数−単語対回数を生成する。上記した例の潜在変数−単語対回数は、（今日，７）が１回、（は，３）が１回、（晴れ，４）が１回、（です，１）が１回、（いい，６）が１回、（天気，５）が１回、（です，３）が１回、となる。
【００２２】
クラス変数ａ割り当て手段１２１は、対話データ群を構成するａ系列の各テキストの単語に、話者依存を表すクラス０と話題依存を表すクラス１とを、それぞれランダムに割り当てたクラス変数ａ系列を生成する。クラス変数とは、話者依存か話題依存かを見分けるための変数である。クラス変数ａ割り当て手段１２１は、例えば話者依存のクラス変数ＣをＣ＝０、話題依存のクラス変数ＣをＣ＝１、としてａ系列のテキスト１−ａのそれぞれの単語に、ランダムにクラス変数Ｃを割り当ててクラス変数ａ系列を生成する。例えば、「今日」のクラス変数ａは０、「は」のクラス変数は１、「晴れ」のクラス変数ａは１、「です」のクラス変数ａは０、といった具合に決定する。クラス変数ａ割り当て手段１２１が出力するａ系列のテキスト１−ａに対するクラス変数ａ系列は、この例では「０，１，１，０」となる。
【００２３】
クラス変数ａ回数算出手段１２２は、クラス変数ａ系列のクラス０とクラス１の数を数えてクラス変数ａ回数を生成する。この例では、クラス変数ａ回数は、クラス変数ａ回数０の数は２、１の数は２となる。
【００２４】
クラス変数ａ−単語対回数算出手段１２３は、テキスト１−ａを構成する単語とクラス変数ａ系列との組を数えてクラス変数ａ−単語対回数を算出して出力する。この例では、テキスト１−ａ「今日は晴れです」に対して「０，１，１，０」のクラス変数ａ系列が決定されているので、（今日，０）が１回、（は，１）が１回、（晴れ，１）が１回、（です，１回）のクラス変数ａ−単語対回数が出力される。
【００２５】
対話データ群を構成するもう一方のｂ系列のテキストに対しても、もう一系統のクラス変数ｂ割り当て手段１３１とクラス変数ｂ回数算出手段１３２とクラス変数ｂ−単語対回数算出手段１３３とが、同様の処理を行う。上記した例では、テキスト１−ｂ「いい天気ですね」に対してクラス変数ｂ割り当て手段１３１は、例えば「１，０，０，１」のクラス変数ｂ系列を決定して出力する。クラス変数ｂ回数算出手段１３２は、クラス変数ｂ回数０の数は２、１の数は２を出力する。クラス変数ｂ−単語対回数算出手段１３３は、（いい，１）が１回、（天気，０）が１回、（です，０）が１回、（ね，１）が１回、のクラス変数ｂ−単語対回数を出力する。
【００２６】
語彙抽出手段１４１は、対話データ群に含まれる単語の種類数を語彙種類数として数え、全ての語彙と上記語彙種類数を出力する。語彙種類数と全ての語彙は、語彙記憶手段１４２に記憶するようにしても良い。
【００２７】
以上説明したようにトピック供給モデル初期化部１１０は、対話データ群と潜在語の総数Ｋを入力として、潜在変数系列（「７，３，４，１，６，５，３，２」）、潜在変数回数（７の数は１、３の数は２、４の数は１、１の数は１、６の数は１、５の数は１、２の数は１）、潜在変数−単語対回数（（今日，７）が１回、（は，３）が１回、（晴れ，４）が１回、（です，１）が１回、（いい，６）が１回、（天気，５）が１回、（です，３）が１回、（ね，１）が１回）、クラス変数ａ系列（「０，１，１，０」）、クラス変数ａ回数（クラス変数ａ回数０の数は２、１の数は２）、クラス変数ａ−単語対回数（（今日，０）が１回、（は，１）が１回、（晴れ，１）が１回、（です，０）が１回）、クラス変数ｂ系列（「１，０，０，１」）、クラス変数ｂ回数（クラス変数ｂ回数０の数は２、１の数は２）、クラス変数ｂ−単語対回数（（いい，１）が１回、（天気，０）が１回、（です，０）が１回、（ね，１）が１回）、語彙種類数（７）、全ての語彙（「今日」，「は」，「晴れ」，「です」，「いい」，「天気」，「です」，「ね」）、を初期パラメータとして出力する。（・）は、各初期パラメータの一例である。
【００２８】
図４に、トピック共有モデル学習部１２０の機能構成例を示す。その動作フローを図５に示す。トピック共有モデル学習部１２０は、ａ系テキスト潜在変数更新部１２１０と、クラス変数ａ系列更新部１２２０と、ｂ系テキスト潜在変数更新部１２３０と、クラス変数ｂ系列更新部１２４０と、繰り返し制御部１２２と、を具備する。トピック共有モデル学習部１２０の機能構成は、確率変数を更新するための周知のアルゴリズムであるマルコフ連鎖モンテカルロ法を処理するものである。
【００２９】
ａ系テキスト潜在変数更新部１２１０は、潜在変数系列のａ系列の単語位置ｉ（０，…，ｉ，…，Ｉ）ごとに、ｉ番目の潜在変数を既存のパラメータから消去した後に、当該ｉ番目のクラス変数の値に応じて異なる算出式に基いて潜在変数更新用分布を計算し、当該潜在変数更新用分布からｉ番目の新たな潜在変数をサンプリングし、消去したｉ番目の潜在変数を新たな潜在変数に入れ替えて潜在変数の回数と潜在変数−単語対回数を更新する（ステップＳ１２１０）。
【００３０】
図６に、ａ系テキスト潜在変数更新部１２１０のより具体的な機能構成例を示して説明する。ａ系テキスト潜在変数更新部１２１０は、潜在変数パラメータ減算手段１２１１と、潜在変数更新用分布算出手段１２１２と、潜在変数サンプリング手段１２１３と、潜在変数パラメータ加算手段１２１４と、単語位置制御手段１２１５と、を備える。
【００３１】
潜在変数パラメータ減算手段１２１１は、ｉ番目の潜在変数を既存のパラメータから消去する（ステップＳ１２１１）。つまり、（今日，７）が１回、であれば１減算し、０回に更新する。その結果、潜在変数７（インデックス）のパラメータが１個消去されたことになる。
【００３２】
潜在変数更新用分布算出手段１２１２は、ｉ番目の潜在変数を更新する目的で、更新するための分布を計算する。その計算は、ｉ番目のクラス変数の値によって変化させる（ステップＳ１２１２ｂ）。
【００３３】
潜在変数更新用分布算出手段１２１２は、消去された潜在変数をｚと置き換えて（ステップＳ１２１２ａ）、全ての潜在変数（０〜Ｋ−１）ｚ＊（＊＝０，…，Ｋ−１）について潜在変数更新用分布Ｐ（ｚ＊）を計算する
【００３４】
クラス変数Ｃ＝０の場合、潜在変数をｚと置き換えて潜在変数ｚに関する確率を次式で計算する（ステップＳ１２１２ｃ）。
【数１】
0005968283.tif 000002
ここでalphaはハイパーパラメータであり例えば０.５の値が与えられる。コーパスの単語総数とは対話データ群の単語総数のことである。
【００３５】
クラス変数Ｃ＝１の場合、同様に潜在変数更新用分布Ｐ（ｚ）を次式で計算する（ステップＳ１２１２ｄ）。
【数２】
0005968283.tif 000003
ここでbetaはハイパーパラメータであり例えば０.５の値が与えられる。ここで「(ｗ，ｚ)の回数」は、トピック共有モデル初期化部１１０で計数済みの潜在変数−単語対回数である。
【００３６】
潜在変数更新用分布Ｐ（ｚ）は、全ての潜在変数の数、つまり、ｉごとにインデックス
の数分計算される（ステップＳ１２１２ｅのＮｏ）。
潜在変数サンプリング手段１２１３は、ｉ番目の潜在変数更新用分布Ｐ（ｚ０）〜Ｐ（ｚＫ−１）から、ｉ番目の新たな潜在変数をサンプリングする。このサンプリングは、sample_one関数に基づいて行う。
【００３７】
sample_one関数とは、一様乱数（rand）を発生させ、その一様乱数の値と、ある確率値とを比較した結果からある値を決定するものである。この実施例では、ｉ番目の潜在変数更新用分布Ｐ（ｚ０）〜Ｐ（ｚＫ−１）の全ての確率値の合計に対応する範囲の一様乱数を発生させ、その一様乱数の値と潜在変数更新用分布Ｐの確率値とを比較して、新たな潜在変数をサンプリングする。例えば一様乱数の値が２（rand＝２）で、潜在変数更新用分布Ｐ（ｚ０）＝０.５，Ｐ（ｚ１）＝０.７，Ｐ（ｚ２）＝０.９，…、であると仮定する。Sample_one関数は、一様乱数の値と潜在変数更新用分布Ｐ（ｚ＊）との関係に基づいて具体的な実現値（この例では潜在変数の値）を決定する。Sample_one関数は、rand−Ｐ（ｚ０），rand−Ｐ（ｚ０）−Ｐ（ｚ１），rand−Ｐ（ｚ０）−Ｐ（ｚ１）−Ｐ（ｚ２），…，と順番に算出し、その値が０より小さくなった場合の潜在変数の値ｚを出力する。この例の場合は、rand−Ｐ（ｚ０）−Ｐ（ｚ１）−Ｐ（ｚ２）＜０なので、潜在変数ｚ２を出力する。Sample_one関数は、任意の多項分布からのデータサンプル関数と言える。
【００３８】
潜在変数パラメータ加算手段１２１４は、潜在変数サンプリング手段１２１３で新たな潜在変数としてサンプリングされた潜在変数ｚを、ｉ番目の消去した潜在変数と入れ替える。そして、潜在変数の回数と潜在変数単語対回数を更新する（ステップＳ１２１４）。例えば、ｉ番目の単語が「今日」、ｉ番目の新しい潜在変数が「３」でその回数が４回である場合、回数を５回に更新する。また（今日，３）の回数が１であれば、１加算して２回に更新する。
【００３９】
以上説明した潜在変数パラメータ減算手段１２１１、潜在変数更新用分布算出手段１２１２、潜在変数サンプリング手段１２１３、潜在変数パラメータ加算手段１２１４、の処理は、対話データ群を構成する全てのテキストの全ての単語について繰り返し行われる（ステップＳ１２１５ｂのＮｏ）。
【００４０】
クラス変数ａ系列更新部１２２０は、クラス変数Ｃについて、ａ系テキスト潜在変数更新部１２１０と同じ処理を行う。図８に、クラス変数ａ系列更新部１２２０の機能構成例を示す。
【００４１】
クラス変数ａ系列更新部１２２０は、クラス変数パラメータ減算手段１２２１と、クラス変数更新用分布算出手段１２２２と、クラス変数サンプリング手段１２２３と、クラス変数パラメータ加算手段１２２４と、単語位置制御手段１２２５と、を備える。クラス変数ａ系列更新部１２２０は、の各機能部は「潜在変数」の文言が「クラス変数」に代わったのみで、ａ系テキスト潜在変数更新部１２１０（図６）と全く同じ構成である。
【００４２】
クラス変数更新用分布算出手段１２２２は、ｉ番目のクラス変数を更新する目的で、更新するための分布を計算する計算式を変化させる点でも、潜在変数更新用分布算出手段１２１２と同じである。但し、式が異なるので用いる計算式を以下に示す。そして、図９に、クラス変数ａ系列更新部１２２０の動作フローを示し、その詳しい動作説明は省略する。
【００４３】
式（３）はクラス変数Ｃ＝０、式（４）はクラス変数Ｃ＝１の場合に用いる。
【数３】
0005968283.tif 000004
【数４】
0005968283.tif 000005
ここでgamma,deltaはハイパーパラメータであり例えば０.５の値が与えられる。
【００４４】
ｂ系テキスト潜在変数更新部１２３０は、ｂ系列のテキスト１−ｂに対してａ系テキスト潜在変数更新部１２１０と全く同じ処理を行う。クラス変数ｂ系列更新部１２４０も同様に、ｂ系列のテキスト１−ｂに対してクラス変数ａ系列更新部１２２０と全く同じ処理を行う。
【００４５】
繰り返し制御部１２２は、図５に示すように、ステップＳ１２１０〜ステップＳ１２４０の過程を、例えば１００回以上の回数繰り返して各々のパラメータを更新する。繰り返しの回数は多い方が望ましいが、計算時間との兼ね合いで決定する。
【００４６】
トピック共有モデル情報出力部１３０は、トピック共有モデル学習部１２０で更新した全てのパラメータと語彙種類数と全ての語彙と、ハイパーパラメータとを入力として、各トピックは、どのような単語が支配的であるかを判断する目的で利用できるトピック−単語確率Ｐ（ｗ｜ｚ）を次式で計算する。
【数５】
0005968283.tif 000006
ここで「（ｗ，ｚ）の回数」は上記した潜在変数−単語対回数である。このトピック−単語確率Ｐ（ｗ｜ｚ）を、０から潜在変数の総数Ｋ−１までの全ての潜在変数、全ての単語に対して求める。
【００４７】
また、各対話はどのようなトピックが支配的であるかを判断する目的で利用できる対話−トピック確率Ｐ（ｚ｜ｎ）を次式で計算する。
【数６】
0005968283.tif 000007
ここで「対話ｎ内のｚの回数」は上記した潜在変数回数である。この対話トピック確率Ｐ（ｚ｜ｎ）を、０から潜在変数の総数Ｋ−１までの全ての潜在変数に対して求める。
【００４８】
また、例えばコンタクトセンタのオペレータがトピックに関わらずどのような単語をよく話すかを表す確率Ｐ（ｗ｜ｃ＝０）を次式で計算する。
【数７】
0005968283.tif 000008
ここで「（ｗ，ｃ＝０）の回数」は上記したクラス変数−単語対回数、「ｃ＝０の回数」はクラス変数回数である。これらの値をクラス変数ａ系列−単語対回数、クラス変数ａ回数とすることで、ａ系列のテキストにおける単語の出現確率を計算することができる。同様にそれぞれをｂ系列の値にすることで、ｂ系列のテキストにおける単語の出現確率を計算することができる。alpha,beta,deltaはハイパーパラメータである。
【００４９】
図１０に、トピック共有情報の例を示す。上から、トピック−単語確率Ｐ（ｗ｜ｚ）、対話−トピック確率Ｐ（ｚ｜ｎ）、テキストに出現する単語の確率Ｐ（ｗ｜ｃ＝０）である。  
【００５０】
トピック−単語確率Ｐ（ｗ｜ｚ）は、マルコフ連鎖モンテカルロ法による繰り返し更新の過程において割り付けられた、話題（トピック）を見分ける変数である潜在変数ｚに対応する単語の出現確率であり、例えば、サッカー：０.７、ボール：０.１といった様に出力される。潜在変数ｚ０に対応する単語で、例えば「サッカー」の単語確率が最も高い場合は、トピックの一つ（ｚ０）は「サッカー」ということになる。潜在変数の総数Ｋ＝１０とした場合、対話データ群から１０個のトピックｚ０〜ｚ９を抽出することができる。
【００５１】
対話−トピック確率Ｐ（ｚ｜ｎ）は、対話ｎ（０，…，ｎ，…，Ｎ）ごとにどのような潜在変数が支配的であるかを表す。図１０の対話−トピック確率Ｐ（ｚ｜ｎ）は、対話１は潜在変数ｚ１に対応する単語が支配的であり、対話Ｎは潜在変数ｚ９に対応する単語が支配的であることを表している。潜在変数は、トピック−単語確率Ｐ（ｗ｜ｚ）によって話題を表す単語と対応付けられるので、例えば最も大きな確率（０.９）の潜在変数ｚ１に「カレー」が対応付けられているとすれば、対話１は「カレー」を話題にしたテキスト情報ということになる。
【００５２】
テキストに出現する単語の確率Ｐ（ｗ｜ｃ＝０）は、ａ系列とｂ系列のそれぞれのテキストごとの、単語の出現確率を表す。図１０に示す例では、例えばａ系列の話者の口調は「です調」であり、ｂ系列の話者の口調は「ます調」であることが分かる。
【００５３】
このようなトピック共有情報を用いることで、対話のように２つで１組のテキスト情報についても、柔軟なデータマイニングを実現することが可能になる。
【００５４】
なお、上記した実施例では、一様乱数と確率値とを比較して潜在変数を決定する方法を説明したが、上記した方法は一例であって、一様乱数を用いた他の方法を用いても良い。
【００５５】
上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【００５６】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５７】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0005968283.tif 000012
【図２】
0005968283.tif 000013
【図３】
0005968283.tif 000014
【図４】
0005968283.tif 000015
【図５】
0005968283.tif 000016
【図６】
0005968283.tif 000017
【図７】
0005968283.tif 000018
【図８】
0005968283.tif 000019
【図９】
0005968283.tif 000020
【図１０】
0005968283.tif 000021