(57)【特許請求の範囲】
【請求項１】
計算機上に格納されたテキスト文書を、隠れマルコフモデルを用い計算機上で計算を行うことにより話題毎に分割するテキスト処理方法であって、前記テキスト文書に含まれる話題の個数が既知である場合、
モデル生成手段が、前記テキスト文書を構成する各単語が何番目の話題に属するかを隠れ変数に、前記各単語を観測変数にそれぞれ対応付けた、前記話題の個数と同数の状態を有する隠れマルコフモデルを生成するステップと、
モデルパラメータ推定手段が、前記隠れ変数ごとに定められた、前記各単語が出力される確率、および、話題が遷移する確率によって規定される隠れマルコフモデルのパラメータを、前記テキスト文書を構成する各単語が出力される確率である、前向き変数および後向き変数に基づいて算出した尤度が最大または極大となるように、最尤推定法または最大事後確率推定法を計算機上で実行し推定するステップと、
テキスト分割結果出力手段が、前記各単語について、前記隠れ変数の話題ごとの確率を、前記モデルパラメータ推定手段により推定されたパラメータに対応する前記前向き変数および前記後向き変数の積に基づいて計算機上で計算して推定し、前記各単語は、前記隠れ変数の確率が大きい話題に属するとして前記テキスト文書を話題ごとに分割するステップとを備えること
を特徴とするテキスト処理方法。
【請求項２】
計算機上に格納されたテキスト文書を、隠れマルコフモデルを用い計算機上で計算を行うことにより話題毎に分割するテキスト処理方法であって、前記テキスト文書に含まれる話題の個数が未知である場合、
モデル生成手段が、分割するべき話題の個数を複数設定し、前記設定した異なる複数の話題の個数に対して、前記テキスト文書を構成する各単語が何番目の話題に属するかを隠れ変数に、前記各単語を観測変数にそれぞれ対応付けた、前記話題の個数と同数の状態を有する隠れマルコフモデルをそれぞれ生成するステップと、
モデルパラメータ推定手段が、前記生成された複数の隠れマルコフモデルそれぞれについて、前記隠れ変数ごとに定められた、前記各単語が出力される確率、および、話題が遷移する確率によって規定される隠れマルコフモデルのパラメータを、前記テキスト文書を構成する各単語が出力される確率である、前向き変数および後向き変数に基づいて算出した尤度が最大または極大となるように、最尤推定法または最大事後確率推定法を計算機上で実行し推定するステップと、
モデル選択手段が、前記推定された複数の隠れマルコフモデルそれぞれのパラメータにもとづいて、前記テキスト文書との適合の度合いを赤池情報量基準または最小記述長基準またはベイズ事後確率の何れかを用いて計算機上で計算し、当該複数の隠れマルコフモデルの中から前記テキスト文書と最もよく適合する隠れマルコフモデルを選択するステップと、
テキスト分割結果出力手段が、前記選択された隠れマルコフモデルを用いて、前記各単語について、前記隠れ変数の話題ごとの確率を、前記モデルパラメータ推定手段により推定されたパラメータに対応する前記前向き変数および前記後向き変数の積に基づいて計算機上で計算して推定し、前記各単語は、前記隠れ変数の確率が大きい話題に属するとして前記テキスト文書を話題ごとに分割するステップとを備えること
を特徴とするテキスト処理方法。
【請求項３】
請求項１または２に記載のテキスト処理方法において、
隠れマルコフモデルは、一方向型の構造を有することを特徴とするテキスト処理方法。
【請求項４】
請求項１または２に記載のテキスト処理方法において、
前記推定するステップは、前記隠れマルコフモデルのパラメータの確率分布を規定するメタパラメータを、前記テキスト文書に適合するように推定するステップを備えることを特徴とするテキスト処理方法。
【請求項５】
請求項４に記載のテキスト処理方法において、
メタパラメータを推定する前記ステップは、ベイズ推定を用いてメタパラメータを推定するステップを備えることを特徴とするテキスト処理方法。
【請求項６】
計算機上に格納されたテキスト文書を、隠れマルコフモデルを用い計算機上で計算を行うことにより話題毎に分割する処理をコンピュータに実行させるためのテキスト処理プログラムであって、前記テキスト文書に含まれる話題の個数が既知である場合、
コンピュータに、
モデル生成手段が、前記テキスト文書を構成する各単語が何番目の話題に属するかを隠れ変数に、前記各単語を観測変数にそれぞれ対応付けた、前記話題の個数と同数の状態を有する隠れマルコフモデルを生成するステップと、
モデルパラメータ推定手段が、前記隠れ変数ごとに定められた、前記各単語が出力される確率、および、話題が遷移する確率によって規定される隠れマルコフモデルのパラメータを、前記テキスト文書を構成する各単語が出力される確率である、前向き変数および後向き変数に基づいて算出した尤度が最大または極大となるように、最尤推定法または最大事後確率推定法を計算機上で実行し推定するステップと、
テキスト分割結果出力手段が、前記各単語について、前記隠れ変数の話題ごとの確率を、前記モデルパラメータ推定手段により推定されたパラメータに対応する前記前向き変数および前記後向き変数の積に基づいて計算機上で計算して推定し、前記各単語は、前記隠れ変数の確率が大きい話題に属するとして前記テキスト文書を話題ごとに分割するステップと
を実行させるためのテキスト処理プログラム。
【請求項７】
請求項６に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【請求項８】
計算機上に格納された、話題の個数が既知であるテキスト文書を、隠れマルコフモデルを用い計算機上で計算を行うことにより話題毎に分割するテキスト処理装置であって、
前記テキスト文書を構成する各単語が何番目の話題に属するかを隠れ変数に、前記各単語を観測変数にそれぞれ対応付けた、前記話題の個数と同数の状態を有する隠れマルコフモデルを生成するモデル生成手段と、
前記隠れ変数ごとに定められた、前記各単語が出力される確率、および、話題が遷移する確率によって規定される隠れマルコフモデルのパラメータを、前記テキスト文書を構成する各単語が出力される確率である、前向き変数および後向き変数に基づいて算出した尤度が最大または極大となるように、最尤推定法または最大事後確率推定法を計算機上で実行し推定するモデルパラメータ推定手段と、
前記各単語について、前記隠れ変数の話題ごとの確率を、前記モデルパラメータ推定手段により推定されたパラメータに対応する前記前向き変数および前記後向き変数の積に基づいて計算機上で計算して推定し、前記各単語は、前記隠れ変数の確率が大きい話題に属するとして前記テキスト文書を話題ごとに分割するテキスト分割結果出力手段とを備えること
を特徴とするテキスト処理装置。
【請求項９】
計算機上に格納された、話題の個数が未知であるテキスト文書を、隠れマルコフモデルを用い計算機上で計算を行うことにより話題毎に分割するテキスト処理装置であって、
分割するべき話題の個数を複数設定し、前記設定した異なる複数の話題の個数に対して、前記テキスト文書を構成する各単語が何番目の話題に属するかを隠れ変数に、前記各単語を観測変数にそれぞれ対応付けた、前記話題の個数と同数の状態を有する隠れマルコフモデルをそれぞれ生成するモデル生成手段と、
前記生成された複数の隠れマルコフモデルそれぞれについて、前記隠れ変数ごとに定められた、前記各単語が出力される確率、および、話題が遷移する確率によって規定される隠れマルコフモデルのパラメータを、前記テキスト文書を構成する各単語が出力される確率である、前向き変数および後向き変数に基づいて算出した尤度が最大または極大となるように、最尤推定法または最大事後確率推定法を計算機上で実行し推定するモデルパラメータ推定手段と、
前記推定された複数の隠れマルコフモデルそれぞれのパラメータにもとづいて、前記テキスト文書との適合の度合いを赤池情報量基準または最小記述長基準またはベイズ事後確率の何れかを用いて計算機上で計算し、当該複数の隠れマルコフモデルの中から前記テキスト文書と最もよく適合する隠れマルコフモデルを選択するモデル選択手段と、
前記選択された隠れマルコフモデルを用いて、前記各単語について、前記隠れ変数の話題ごとの確率を、前記モデルパラメータ推定手段により推定されたパラメータに対応する前記前向き変数および前記後向き変数の積に基づいて計算機上で計算して推定し、前記各単語は、前記隠れ変数の確率が大きい話題に属するとして前記テキスト文書を話題ごとに分割するテキスト分割結果出力手段とを備えること
を特徴とするテキスト処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列や単語列といったテキスト文書を、意味的にまとまった部分ごとに、すなわち話題ごとに分割するテキスト処理方法／プログラム／プログラム記録媒体／装置に関する。
【背景技術】
【０００２】
この種のテキスト処理方法／プログラム／プログラム記録媒体／装置は、長大かつ多数のテキスト文書を意味内容ごとに、すなわち話題ごとに分割、分類等することによって、人がテキスト文書から所望の情報を得やすいように加工することを目的として用いられている。ここでテキスト文書とは、例えば、磁気ディスク等の記録媒体に記録された任意の文字や単語などの並びである。あるいは、紙に印刷されたり、タブレットに手書きされたりした文字列を光学的文字読取り装置(OCR)で読み取った結果や、人の発話で生じる音声波形信号を音声認識装置で認識した結果等も、テキスト文書である。さらに一般的には、毎日の天候の記録、店舗における商品の販売記録、コンピュータを操作した際のコマンドの記録、等々、時系列的に生成される記号の並びのほとんどは、テキスト文書の範疇に入る。
【０００３】
この種のテキスト処理方法／プログラム／プログラム記録媒体／装置に関して、大別して2種類の従来技術が挙げられる。これら2種類の従来技術について、図面を参照して詳細に説明する。
【０００４】
第１の従来技術は、入力テキストを単語の系列o1, o2, …, oTとして、系列中の各区間で単語の出現傾向に関する統計量を算出し、この統計量に急激な変化がみられる位置を話題の変化点として検出する。例えば図5に示すように、入力テキストの各部分に対して一定幅の窓を設定し、窓内における単語の出現回数を計数し、単語の出現頻度を多項分布の形式で算出する。そして、近接する2つの窓(図5における窓1および窓2)の間の差異が所定のしきい値より大きければ、これら2つの窓の境界で話題の変化が起こったと判定する。2窓間の差異には、例えば式（１）で表されるような、窓ごとに計算された多項分布間のKLダイバージェンスを用いることができる。
【０００５】
【数１】
0004860265.tif 000002
【０００６】
ここで、ai, bi (i=1, …, L) はそれぞれ窓1、窓2に対応する単語の出現頻度を表す多項分布で、a1+a2+…+aL=1, b1+b2+…+bL=1 を満たす。Lは入力テキストの語彙数である。
【０００７】
上では特に、窓内の統計量を個々の単語の出現頻度から計算する、いわゆるユニグラム (unigram)としているが、隣接2つ組、3つ組、さらには任意個の組の単語出現頻度(それぞれバイグラムbigram、トライグラムtrigram、n-gram)を考えてもよい。あるいは、「2001年11月、情報処理学会論文誌、第42巻、第11号、第2650〜2662頁、別所克人、単語の概念ベクトルを用いたテキストセグメンテーション」（文献１）に記載されているように、隣接しない単語同士の共起（すなわち、隣接しない複数の単語が同一の窓内に同時に出現すること）を考慮することにより、入力テキスト中の各単語を実ベクトルに置き換えて、このベクトルの移動量の多さで話題の変化点を検出することもできる。
【０００８】
第２の従来技術は、種々の話題に関する統計的モデルをあらかじめ準備しておき、それらのモデルと入力単語列の最適なマッチングを計算することにより、話題の推移を求める。第２の従来技術の例は、「2000年、プロシーディング・オブ・フォース・ユーロピアン・カンファレンス・オン・リサーチ・アンド・アドバンスト・テクノロジ・フォー・ディジタル・ライブラリ、アマラル他、トピック・ディテクション・イン・レッド・ドキュメント (Amaral et al., Topic Detection in Read Documents, Proceedings of 4th European Conference on Research and Advanced Technology for Digital Libraries, 2000)」（文献２）に記載されている。この第２の従来技術の例は、図6に示すように、「政治」、「スポーツ」、「経済」などといった話題ごとに、話題ごとの統計モデル、つまり話題モデルを作成して準備しておく。話題モデルは、あらかじめ話題ごとに大量収集されたテキスト文書から求めた単語出現頻度(ユニグラム、バイグラム等)である。このように話題モデルを準備し、これら話題間の遷移の起こりやすさ(遷移確率)を適宜決めておけば、入力単語系列ともっともよく整合する話題モデル系列を機械的に算出することができる。仮に、入力単語系列を入力音声波形と置き換えて、話題モデルを音素モデルに置き換えてみれば容易にわかるように、音声認識に関して多数ある従来技術と同様に、DPマッチングの要領で、フレーム同期ビームサーチなどの計算法を利用して話題の遷移系列を計算することができる。
【０００９】
上で述べた第２の従来技術の例は、「政治」、「スポーツ」、「経済」など、人間が直感的に理解しやすい話題を設定して、話題の統計モデルを作成しているが、「1998年、プロシーディング・オブ・インターナショナル・カンファレンス・オン・アクースティック・スピーチ・アンド・シグナル・プロセッシング98、第1巻、333〜336頁、ヤムロン他、ヒドゥン・マルコフ・モデル・アプローチ・トゥ・テキスト・セグメンテーション・アンド・イベント・トラッキング (Yamron et al., Hidden Markov model approach to text Segmentation and event tracking, Proceedings of International Conference on Acoustic, Speech and Signal Processing 98, Vol.1, pp.333-336, 1998)」（文献３）に記載があるように、テキスト文書に対して何らかの自動クラスタリング手法を適用して、人間の直感とは無関係な話題モデルを作る例もある。この場合、話題モデルを作るために大量のテキスト文書を話題ごとに分類しておく必要がないので、手間は幾分少なくてすむ。ただし、大規模なテキスト文書集合を用意して、そこから話題モデルを作成するという点は同様である。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した第１の従来技術および第２の従来技術は、それぞれいくつかの問題を有する。
【００１１】
第１の従来技術では、窓間の差異に関するしきい値や、単語出現回数の計数範囲を規定する窓幅といったパラメータを最適に調整することが難しいという問題がある。あるテキスト文書に対して所望の分割がなされるようにパラメータ値を調整することは、可能な場合もある。しかし、そのために試行錯誤的にパラメータ値を調整する手間が必要である。加えて、仮にあるテキスト文書に対して所望の動作が実現できたとしても、同じパラメータ値を別のテキスト文書に適用した場合、期待通りに動作しないことが多い。なぜなら、例えば窓幅というパラメータは、大きくすればするほど窓内の単語出現頻度を正確に見積もることができるから、テキストの分割処理も正確に実行できるが、窓幅は入力テキスト中の話題の長さよりも長いと、明らかに話題分割という当初の目的を達せられなくなる。すなわち、入力テキストの性質によって、窓幅の最適値は異なる。窓間の差異に関するしきい値も同様で、入力テキストに応じてその最適値が異なるのが普通である。これは、入力テキスト文書の性質によっては期待通りの動作をしないということであるから、実際応用上深刻な問題となる。
【００１２】
第２の従来技術では、話題のモデルを作成するために、事前に大規模なテキストコーパスを準備しなければならないという問題がある。しかもそのテキストコーパスは、話題ごとに分割済みであることが必須であり、しばしば話題のラベル(例えば「政治」、「スポーツ」、「経済」等)が付与されていることが要求される。このようなテキストコーパスを事前に準備するのには、当然時間と費用がかかる。しかも、第２の従来技術では、話題のモデルを作成するのに使用したテキストコーパスが、入力テキスト中の話題と同じ話題を含んでいること、すなわちドメイン（分野）が一致していることが必要となる。したがって、この従来技術の例の場合、入力テキストのドメインが未知の場合、またはドメインが頻繁に変化し得る場合、所望のテキスト分割結果を得ることは困難である。
【００１３】
本発明の目的は、従来よりも低コストかつ短時間にテキスト文書を話題ごとに分割できるようにすることにある。
また、他の目的は、テキスト文書のドメインに依存することなく、文書の性質によって、文書を話題ごとに分割できるようにすることにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明のテキスト処理方法は、テキスト文書を構成する各々の単語がどの話題に属するかを隠れ変数（Latent variable）に、各々の単語を観測変数（Observable variable）にそれぞれ対応付けた確率モデルを生成するステップと、生成された確率モデルを規定するモデルパラメータの初期値を出力するステップと、出力されたモデルパラメータの初期値と、処理対象のテキスト文書とにもとづいて、このテキスト文書に応じたモデルパラメータを推定するステップと、推定されたモデルパラメータにもとづいて、処理対象のテキスト文書を話題ごとに分割するステップとを備えることを特徴とする。
【００１５】
また、本発明のテキスト処理装置は、テキスト文書を構成する各々の単語がどの話題に属するかを隠れ変数に、各々の単語を観測変数にそれぞれ対応付けた確率モデルを生成する仮モデル生成手段と、前記仮モデル生成手段によって生成された確率モデルを規定するモデルパラメータの初期値を出力するモデルパラメータ初期化手段と、前記モデルパラメータ初期化手段から出力されたモデルパラメータの初期値と、処理対象のテキスト文書とにもとづいて、このテキスト文書に応じたモデルパラメータを推定するモデルパラメータ推定手段と、前記モデルパラメータ推定手段によって推定されたモデルパラメータにもとづいて、処理対象のテキスト文書を話題ごとに分割するテキスト分割結果出力手段とを備えることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、処理対象のテキスト文書の性質に応じてパラメータを調整する手間が少なく、事前に時間と費用をかけて大規模なテキストコーパスを準備する必要もなく、なおかつ処理対象のテキスト文書がどのような内容を含んでいるか、すなわちドメインに依存せずに、文書を精度よく話題ごとに分割することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】図1は、本発明の一実施例に係るテキスト処理装置の構成を示すブロック図である。
【図２】図2は、本発明の一実施例に係るテキスト処理装置の動作を説明するためのフローチャートである。
【図３】図3は、隠れマルコフモデルを説明するための概念図である。
【図４】図4は、本発明の他の実施例に係るテキスト処理装置の構成を示すブロック図である。
【図５】図5は、第１の従来技術を説明するための概念図である。
【図６】図6は、第２の従来技術を説明するための概念図である。
【発明を実施するための最良の形態】
【００１８】
第１の実施例
次に、本発明の第１の実施例について、図面を参照して詳細に説明する。
【００１９】
本実施例のテキスト処理装置は、図1に示すように、テキスト文書を入力するテキスト入力部101と、入力されたテキスト文書を格納するテキスト記憶部102と、テキスト文書の話題（意味的にまとまった部分）の推移を記述するモデルであって、テキスト文書の各々の単語がどの話題に属するかを隠れ変数（観測不可能な変数）に、テキスト文書の各々の単語を観測変数（観測可能な変数）にそれぞれ対応付けた、単一もしくは複数のモデルを生成する仮モデル生成部103と、仮モデル生成部103が生成した各モデルを規定する各モデルパラメータの値を初期化するモデルパラメータ初期化部104と、モデルパラメータ初期化部104によって初期化されたモデルとテキスト記憶部102に格納されたテキスト文書を使って、そのモデルのモデルパラメータを推定するモデルパラメータ推定部105と、モデルパラメータ推定部105が行ったパラメータ推定の結果を格納する推定結果記憶部106と、推定結果記憶部106に複数のモデルのパラメータ推定結果が格納されている場合にその中から1つのモデルのパラメータ推定結果を選択するモデル選択部107と、モデル選択部107が選択したモデルのパラメータ推定結果から入力テキスト文書の分割を行って結果を出力するテキスト分割結果出力部108を備える。各々の部は、それぞれ計算機上に記憶されたプログラムによって、またはこのプログラムが記録された記録媒体を読み取ることによって動作させることにより実現可能である。
【００２０】
ここでテキスト文書とは、上述したように、例えば、磁気ディスク等の記録媒体に記録された任意の文字や単語などの並びである。あるいは、紙に印刷されたりタブレットに手書きされたりした文字列を光学的文字読取り装置(OCR)で読み取った結果や、人の発話で生じる音声波形信号を音声認識装置で認識した結果等も、テキスト文書である。さらに一般的には、毎日の天候の記録、店舗における商品の販売記録、コンピュータを操作した際のコマンドの記録、等々、時系列的に生成される記号の並びのほとんどは、テキスト文書の範疇に入る。
【００２１】
次に、本実施例のテキスト処理装置の動作を、図２を参照して詳細に説明する。
【００２２】
テキスト入力部101から入力されたテキスト文書は、テキスト記憶部102に格納される（ステップ２０１）。ここでテキスト文書は、多数、例えばT個の単語が一列に並んだ単語系列とし、以下では o1, o2, …, oT と表すことにする。単語間にスペースのない日本語の場合は、テキスト文書に対して公知の形態素解析法を適用することにより、単語に分割すればよい。また、この単語列から、テキスト文書の話題とは直接関係のない助詞や助動詞などをあらかじめ取り除いて、名詞や動詞などの重要語のみの単語列としてもよい。これには、公知の形態素解析法によって各単語の品詞を求め、名詞、動詞、形容詞などを重要語として取り出すようにすればよい。さらには、入力テキスト文書が、音声信号を音声認識して得られた音声認識結果であり、かつ音声信号に一定時間以上継続する無音(発話休止)区間が存在する場合は、テキスト文書の対応する位置に<ポーズ>のような単語を含めてよい。同様に、入力テキスト文書が、紙文書をOCRにかけることによって得られた文字認識結果である場合には、<改行>のような単語をテキスト文書中の対応する位置に含めてよい。
【００２３】
なお、通常の意味での単語系列(ユニグラム, unigram)の代わりに、隣接する単語の2つ組(バイグラム, bigram)、3つ組(トライグラム, trigram)、さらに一般的なn個組(n-gram)を一種の単語と考えて、その系列をテキスト記憶部102に格納してもよい。例えば2つ組での単語列の格納形式は (o1, o2), (o2, o3), …, (oT-1, oT) となり、系列の長さはT-1である。
【００２４】
仮モデル生成部103は、入力されたテキスト文書を生成したと推測される単一もしくは複数の確率モデルを生成する。ここで確率モデルまたはモデルとは、一般にはグラフィカルモデルと呼ばれる、複数のノードとそれらを結ぶアークとで表現されるモデル全般を指す。グラフィカルモデルには、マルコフモデルやニューラルネットワーク、ベイジアンネットなどが含まれる。本実施例においては、ノードがテキスト中に含まれる話題に対応する。また、モデルから生成されて観測される観測変数には、テキスト文書の構成要素であるところの単語が対応する。
【００２５】
本実施例では、モデルを隠れマルコフモデル(Hidden Markov ModelまたはHMM)とし、なおかつその構造は一方向型(left-to-right型)で、出力は上述の入力単語列に含まれる単語の系列(離散値)とする。Left-to-right型HMMでは、ノードの数を指定すればモデルの構造が一意に決定される。このモデルの概念図を図3に示す。HMMの場合特に、ノードのことを状態と呼ぶのが一般的である。図3の場合、ノード数、すなわち状態数は4である。
【００２６】
仮モデル生成部103は、入力テキスト文書にいくつの話題が含まれているかに応じて、モデルの状態数を決定し、その状態数に応じてモデルすなわちHMMを生成する。例えば、入力テキスト文書に4個の話題が含まれているとわかっていれば、仮モデル生成部103は4状態のHMMを1つだけ生成する。また、入力テキスト文書に含まれる話題の数が未知の場合は、十分小さい状態数NminのHMMから、十分大きい状態数NmaxのHMMまでのすべての状態数のHMMを、各々1つずつ生成する（ステップ２０２、２０６、２０７）。ここでモデルを生成するとは、モデルを規定するパラメータの値を記憶するための記憶領域を記憶媒体上に確保する、という意味である。モデルを規定するパラメータについては後述する。
【００２７】
入力テキスト文書に含まれる各々の話題と入力テキスト文書の各々の単語との対応関係を隠れ変数とする。隠れ変数は単語毎に設定される。話題の数がNの場合には、隠れ変数は各々の単語がどの話題に属するかによって、1からNまでの値をとり得る。この隠れ変数がモデルの状態を表す。
【００２８】
モデルパラメータ初期化部104は、仮モデル生成部103が生成したすべてのモデルについて、モデルを規定するパラメータの値を初期化する（ステップ２０３）。モデルを規定するパラメータは、上述のleft-to-right型離散HMMの場合、状態遷移確率 a1, a2, …, aN 、および記号出力確率b1,j, b2,j, …, bN,j とする。ここにNは状態数である。また j=1, 2, …, L で、Lは入力テキスト文書に含まれる単語の種類数、すなわち語彙数である。
状態遷移確率aiは、状態iから状態i+1に遷移する確率であり、0＜ai≦1でなければならない。よって、状態iから再度状態iに戻る確率は1-aiとなる。また、記号出力確率bi,jは、ある一度の状態遷移の後に、状態iに至ったとして、インデクスjで指定される単語が出力される確率である。すべての状態i=1, 2, …, Nにおいて、記号出力確率の総和bi,1+bi,2+…+bi,Lは1でなければならない。
【００２９】
モデルパラメータ初期化部104は、状態数Nのモデルに対して、例えば上述の各パラメータの値をai=N/T、bi,j=1/Lのように設定する。この初期値の与え方に決まったやり方はなく、上述の確率の条件さえ満たしていれば、いろいろな方法があり得る。ここで述べた方法はほんの一例である。
【００３０】
モデルパラメータ推定部105は、モデルパラメータ初期化部104によって初期化された単一もしくは複数のモデルを順次受け取り、モデルが入力テキスト文書(例えば単語系列)o1, o2,…, oTを生成する確率、すなわち尤度がなるべく高くなるように、モデルパラメータを推定する（ステップ２０４）。これには公知の最尤推定法、特に、反復計算を基本とする期待値最大化法(EM(expectation-maxiamization)法)を用いることができる。すなわち、例えば「1995年11月、NTTアドバンステクノロジ株式会社、ラビナー他著、古井他訳、音声認識の基礎(下)、第129〜134頁」（文献４）に記載されているように、その時点で得られているパラメータ値ai、bi,jを用いて、式（２）のような漸化式によって前向き変数αt(i)および後向き変数βt(i)をt=1, 2, …, T、i=1, 2, …, Nにわたって計算し、さらに式（３）に従ってパラメータ値を再計算する。再計算されたパラメータ値を用いて再度式（２）および式（３）を計算する。以下、収束するまで十分な回数これをくり返す。ただしここにδijはクロネッカーのデルタ、すなわち、i=jなら1、そうでなければ0をとる。
【００３１】
0004860265.tif 000003
【００３２】
0004860265.tif 000004
【００３３】
モデルパラメータ推定部１０５におけるパラメータ推定の反復計算の収束判定を行うには、尤度の上昇量をみればよい。すなわち、上述の反復計算によって尤度の上昇がみられなくなれば、その時点で反復計算を終了すればよい。ここで、尤度はα１（１）β１（１）として得られる。モデルパラメータ推定部１０５は、反復計算を終了した時点で、モデルパラメータai、bi,jと、前向きおよび後向き変数αt(i)、βt(i)を、モデル(HMM)の状態数と対にして、推定結果記憶部106に格納する（ステップ２０５）。
【００３４】
モデル選択部107は、モデルパラメータ推定部105で状態数ごとに得られたパラメータ推定結果を推定結果記憶部106から受け取り、各モデルの確からしさを計算し、もっとも確からしいモデルを1つ選択する（ステップ２０８）。モデルの確からしさは、公知の赤池情報量基準(AIC(Akaike's Information Criterion))や最小記述長基準(MDL(Minimum Description Length)基準)などに基づいて計算することができる。赤池情報量基準、最小記述長基準については、例えば「1994年12月、岩波書店、岩波講座応用数学[対象11]、韓太舜他著、情報と符号化の数理、第249〜275頁」（文献５）に記載がある。例えばAICによれば、パラメータ推定収束後の対数尤度 log(α1(1)β1(1)) とモデルパラメータ数NLの差が最大となるモデルが選択される。また、MDLによれば、近似的に、対数尤度を符号反転した -log(α1(1)β1(1))と、モデルパラメータ数と入力テキスト文書の単語系列長の平方根との積NL×log(T)/2の和が最小となるモデルが選択される。なお、AICでもMDLでも、モデルパラメータ数NLに関わる項に、経験的に決まる定数係数をかけて、選択されるモデルを意図的に調整する操作が一般的に行われているが、本実施例でもそのような操作は行って差し支えない。
【００３５】
テキスト分割結果出力部108は、モデル選択部107によって選択された状態数Nのモデルに対応するモデルパラメータ推定結果を推定結果記憶部106から受け取り、この推定結果における入力テキスト文書に対する話題ごとの分割結果を算出する（ステップ２０９）。
状態数Nのモデルによる分割は、入力テキスト文書o1, o2, …, oTをN個の区間に分割する。分割結果は、まず式（４）に従って、確率的に計算される。式（４）は、入力テキスト文書中の単語otが第i番目の話題区間に割り当てられる確率を示す。最終的な分割結果は、P( zt=i | o1, o2, …, oT ) が最大となるiをt=1, 2, …, T にわたって求めることで得られる。
【００３６】
【数４】
0004860265.tif 000005
【００３７】
なお、ここではモデルパラメータ推定部105は、最尤推定法を用いて、すなわち式（３）を用いて、パラメータを逐次更新したが、最尤推定法の他に、最大事後確率推定(MAP(Maximum A Posteriori)推定)を用いることもできる。最大事後確率推定については、例えば「1995年11月、NTTアドバンステクノロジ株式会社、ラビナー他著、古井他訳、音声認識の基礎(下)、第166〜169頁」（文献６）に記載がある。最大事後確率推定の場合、例えばモデルパラメータの事前分布に共役事前分布を用いると、aiの事前分布はベータ分布 log p( ai |κ0, κ1 ) = (κ0-1)×log (1- ai) + (κ1-1)×log (ai) + const、bijの分布はディレクレ分布 log p( bi,1, bi,2, …, bi,L | λ1, λ2, …, λL ) = (λ1-1)×log (bi,1) + (λ2-1)×log (bi,2) + … + (λL-1)×log (bi,L) + const と表される。ただしκ0, κ1, λ1, λ2, …, λLおよびconstは定数である。このとき、最尤推定の式（３）に相当する最大事後確率推定のパラメータ更新式は、式（５）のように表される。
【００３８】
【数５】
0004860265.tif 000006
【００３９】
なお、ここまでで述べた本実施例においては、記号出力確率bijが状態と対応付けられている。すなわち、単語がHMMの各状態(ノード)から発生するとするモデルを用いている。しかし、単語が状態遷移(アーク)から発生するとするモデルを用いることも可能である。例えば入力テキストが紙文書のOCR結果であったり、音声信号の音声認識結果であったりする場合、単語が状態遷移から発生するようなモデルは便利である。なぜなら、音声信号における発話休止や、紙文書における改行などを意味する単語、すなわち<ポーズ>や<改行>などが含まれたテキスト文書の場合は、状態iからi+1への状態遷移から発生する単語が必ず<ポーズ>や<改行>であるように、記号出力確率を固定しておけば、本実施例によって入力テキスト文書から検出される話題境界には、必ず<ポーズ>や<改行>が当てはまるようにできる。また、仮に入力テキスト文書がOCR結果や音声認識結果ではなくとも、単語が状態遷移から発生するモデルで、状態iからi+1への状態遷移から、「では」、「次に」、「さて」などといった、話題の切り替わりと関連の深い単語が発生するように記号出力確率を設定しておけば、検出される話題境界には「では」、「次に」、「さて」などの単語が現れやすくできる。
【００４０】
第２の実施例
次に、本発明の第２の実施例について、図面を参照して詳細に説明する。
【００４１】
本実施例は、第１の実施例と同じく、図1のブロック図で示される。すなわち、本実施例は、テキスト文書を入力するテキスト入力部101と、入力されたテキスト文書を格納するテキスト記憶部102と、テキスト文書の話題の推移を記述するモデルであって、テキスト文書の各々の単語がどの話題に属するかを隠れ変数に、テキスト文書の各々の単語を観測変数にそれぞれ対応付けた、単一もしくは複数のモデルを生成する仮モデル生成部103と、仮モデル生成部103が生成した各モデルを規定する各モデルパラメータの値を初期化するモデルパラメータ初期化部104と、モデルパラメータ初期化部104によって初期化されたモデルとテキスト記憶部102に格納されたテキスト文書を使ってモデルパラメータを推定するモデルパラメータ推定部105と、モデルパラメータ推定部105が行ったパラメータ推定の結果を格納する推定結果記憶部106と、推定結果記憶部106に複数のモデルのパラメータ推定結果が格納されている場合にその中から1つのモデルのパラメータ推定結果を選択するモデル選択部107と、モデル選択部107が選択したモデルのパラメータ推定結果から入力テキスト文書の分割を行って結果を出力するテキスト分割結果出力部108を備える。各々の部は、それぞれ計算機上に記憶されたプログラムによって、またはこのプログラムが記録された記録媒体を読み取ることによって動作させることにより実現可能である。
【００４２】
次に、本実施例の動作について、順を追って説明する。
【００４３】
テキスト入力部101、テキスト記憶部102および仮モデル生成部103は、それぞれ先に述べた第１の実施例におけるテキスト入力部101、テキスト記憶部102および仮モデル生成部103と同一の動作をする。テキスト記憶部102が入力テキスト文書を、単語の列、あるいは隣接する単語の2つ組、3つ組、もしくは一般のn個組の列として格納することや、入力テキスト文書に単語間スペースのない日本語の場合、公知の形態素解析法を適用することで、単語列として扱うことができることなども、第１の実施例と同様である。
【００４４】
モデルパラメータ初期化部104は、仮モデル生成部103が生成したすべてのモデルについて、モデルを規定するパラメータの値を初期化する。モデルは、第１の実施例と同様、left-to-right型離散HMMであるが、さらにタイドミクスチャ(tied-mixture)HMMであるとする。すなわち、状態iからの記号出力が、M個の記号出力確率b1,j, b2,j, …, bM,jの線形結合ci,1b1,j+ ci,2b2,j+…ci,MbM,jであり、bi,jの値は全状態にわたって共通とする。Mは一般には状態数Nよりも小さい、任意の自然数である。タイドミクスチャHMMについては、例えば「1995年11月、NTTアドバンステクノロジ株式会社、ラビナー他著、古井他訳、音声認識の基礎(下)、第280〜281頁」（文献７）に記載がある。タイドミクスチャ(tied-mixture)HMMのモデルパラメータは、状態遷移確率 ai、全状態で共通の記号出力確率bj,k、および記号出力確率に対する重み係数ci,jである。ここで、i=1,2,…,Nで、Nは状態数である。j=1,2,…,Mで、Mは話題の種類数。また k=1, 2, …, L で、Lは入力テキスト文書に含まれる単語の種類数、すなわち語彙数である。状態遷移確率aiは、第１の実施例と同様、状態iから状態i+1に遷移する確率である。記号出力確率bj,kは、話題jにおいて、インデクスkで指定される単語が出力される確率である。また重み係数ci,jは、状態iにおいて話題jが発生する確率である。第１の実施例と同様、記号出力確率の総和bj,1+bj,2+…+bj,Lは1でなければならない。また、重み係数の総和ci,1+ci,2+…+ci,Lも1でなければならない。
【００４５】
モデルパラメータ初期化部104は、状態数Nのモデルに対して、例えば上述の各パラメータの値をai=N/T、bj,k=1/L、ci,j=1/Mのように設定する。この初期値の与え方に決まったやり方はなく、上述の確率の条件さえ満たしていれば、いろいろな方法があり得る。ここで述べた方法はほんの一例である。
【００４６】
モデルパラメータ推定部105は、モデルパラメータ初期化部104によって初期化された単一もしくは複数のモデルを順次受け取り、モデルが入力テキスト文書(例えば単語系列)o1, o2,…, oTを生成する確率、すなわち尤度がなるべく高くなるように、モデルパラメータを推定する。これには、第１の実施例と同様、期待値最大化法(EM法)を用いることができる。すなわち、その時点で得られているパラメータ値ai、bj,k、ci,jを用いて、式（６）のような漸化式によって前向き変数αt(i)および後向き変数βt(i)をt=1, 2, …, T、i=1, 2, …, Nにわたって計算し、さらに式（７）に従ってパラメータ値を再計算する。再計算されたパラメータ値を用いて再度式（６）および式（７）を計算する。以下、収束するまで十分な回数これをくり返す。ただしここにδijはクロネッカーのデルタ、すなわち、i=jなら1、そうでなければ0をとる。
【００４７】
【数６】
0004860265.tif 000007
【００４８】
【数７】
0004860265.tif 000008
【００４９】
モデルパラメータ推定部105におけるパラメータ推定の反復計算の収束判定を行うには、尤度の上昇量をみればよい。すなわち、上述の反復計算によって尤度の上昇がみられなくなれば、その時点で反復計算を終了すればよい。ここに、尤度はα1(1)β1(1)として得られる。モデルパラメータ推定部105は、反復計算を終了した時点で、モデルパラメータai、bj,k、ci,jと、前向きおよび後向き変数αt(i)、βt(i)を、モデル(HMM)の状態数と対にして、推定結果記憶部106に格納する。
【００５０】
モデル選択部107は、第１の実施例と同様、モデルパラメータ推定部105で状態数ごとに得られたパラメータ推定結果を推定結果記憶部106から受け取り、各モデルの確からしさを計算し、もっとも確からしいモデルを1つ選択する。モデルの確からしさは、公知の赤池情報量基準(AIC)や最小記述長基準(MDL基準)などに基づいて計算することができる。
また、第１の実施例と同様、AICでもMDLでも、モデルパラメータ数NLに関わる項に、経験的に決まる定数係数をかけて、選択されるモデルを意図的に調整する操作も行って差し支えない。
【００５１】
テキスト分割結果出力部108は、第１の実施例におけるテキスト分割結果出力部108と同様、モデル選択部107によって選択された状態数すなわち話題数Nのモデルに対応するモデルパラメータ推定結果を推定結果記憶部106から受け取り、この推定結果における入力テキスト文書に対する話題ごとの分割結果を算出する。最終的な分割結果は、式（４）に従って、P( zt=i | o1, o2, …, oT ) が最大となるiをt=1, 2, …, T にわたって求めることで得られる。
【００５２】
なお、モデルパラメータ推定部105は、第１の実施例と同様、最尤推定法の代わりに最大事後確率推定(MAP推定)法によってモデルパラメータを推定してもよい。
【００５３】
第３の実施例
次に、本発明の第３の実施例について、図面を参照して説明する。
【００５４】
本実施例は、第１および第２の実施例の例と同じく、図1のブロック図で示される。すなわち、本実施例は、テキスト文書を入力するテキスト入力部101と、入力されたテキスト文書を格納するテキスト記憶部102と、テキスト文書の話題の推移を記述するモデルであって、テキスト文書の各々の単語がどの話題に属するかを隠れ変数に、テキスト文書の各々の単語を観測変数にそれぞれ対応付けた、単一もしくは複数のモデルを生成する仮モデル生成部103と、仮モデル生成部103が生成した各モデルを規定する各モデルパラメータの値を初期化するモデルパラメータ初期化部104と、モデルパラメータ初期化部104によって初期化されたモデルとテキスト記憶部102に格納されたテキスト文書を使ってモデルパラメータを推定するモデルパラメータ推定部105と、モデルパラメータ推定部105が行ったパラメータ推定の結果を格納する推定結果記憶部106と、推定結果記憶部106に複数のモデルのパラメータ推定結果が格納されている場合にその中から1つのモデルのパラメータ推定結果を選択するモデル選択部107と、モデル選択部107が選択したモデルのパラメータ推定結果から入力テキスト文書の分割を行って結果を出力するテキスト分割結果出力部108を備える。各々の部は、それぞれ計算機上に記憶されたプログラムによって、またはこのプログラムが記録された記録媒体を読み取ることによって動作させることにより実現可能である。
【００５５】
次に、本実施例の動作について、順を追って説明する。
【００５６】
テキスト入力部101、テキスト記憶部102および仮モデル生成部103は、それぞれ先に述べた第１および第２の実施例におけるテキスト入力部101、テキスト記憶部102および仮モデル生成部103と同一の動作をする。テキスト記憶部102が入力テキスト文書を、単語の列、あるいは隣接する単語の2つ組、3つ組、もしくは一般のn個組の列として格納することや、入力テキスト文書に単語間スペースのない日本語の場合、公知の形態素解析法を適用することで、単語列として扱うことができることなども、本発明の第１および第２の実施例と同様である。
【００５７】
モデルパラメータ初期化部104は、仮モデル生成部103が生成した単一または複数のモデル各々について、モデルパラメータ、すなわち状態遷移確率aiおよび記号出力確率bijを確率変数として、ある種の分布を仮定し、それらの分布を規定するパラメータの値を初期化する。以下では、モデルパラメータの分布を規定するパラメータを、元のパラメータに対してメタパラメータと呼ぶことにする。つまり、モデルパラメータ初期化部104はメタパラメータの初期化を行う。本実施例では、状態遷移確率aiおよび記号出力確率bijの分布として、それぞれベータ分布 log p( ai |κ0,i, κ1,i ) = (κ0,i-1)×log (1- ai) + (κ1,i-1)×log (ai) + const、ディレクレ分布 log p( bi,1, bi,2, …, bi,L | λi,1, λi,2, …, λi,L ) = (λi,1-1)×log (bi,1) + (λi,2-1)×log (bi,2) + … + (λi,L-1)×log (bi,L) + constを使用する。メタパラメータはκ0,i, κ1,i, λi,jである。ここで、i=1,2,…,N、j=1,2,…,Lである。モデルパラメータ初期化部104は、例えばκ0,i=κ0, κ1,i=κ1, λij=λ0, ただしκ0=ε(1-N/T) +1, κ1=εN/T+1, λ0=ε/L+1、というようにメタパラメータを初期化する。εとしては、0.01などのように適当な正数を当てる。なお、初期値の与え方に決まったやり方はなく、いろいろな方法があり得る。
この初期化方法はほんの一例である。
【００５８】
モデルパラメータ推定部105は、モデルパラメータ初期化部104によって初期化された単一もしくは複数のモデルを順次受け取り、モデルが入力テキスト文書(例えば単語系列)o1, o2,…, oTを生成する確率、すなわち尤度がなるべく高くなるように、メタパラメータを推定する。これにはベイズ推定法から導出される公知の変分ベイズ法を用いることができる。すなわち、例えば「2002年７月、電子情報通信学会誌、第85巻、第7号、第504〜509頁、上田、ベイズ学習〔III〕 ―変分ベイズ学習の基礎―」（文献８）に記載があるように、その時点で得られているメタパラメータ値κ0,i, κ1,i, λi,j を用いて、式（８）のような漸化式によって前向き変数αt(i)および後向き変数βt(i)をt=1, 2, …, T、i=1, 2, …, Nにわたって計算し、さらに式（９）に従ってメタパラメータ値を再計算する。再計算されたパラメータ値を用いて、再度式（８）および式（９）を計算する。以下、収束するまで十分な回数これをくり返す。ただしここに、δijはクロネッカーのデルタ、すなわち、i=jなら1、そうでなければ0をとる。また、Ψ(x)=d(
log Γ(x) )/dx で、Γ(x)はガンマ関数である。
【００５９】
【数８】
0004860265.tif 000009
【００６０】
【数９】
0004860265.tif 000010
【００６１】
モデルパラメータ推定部105におけるパラメータ推定の反復計算の収束判定は、近似的尤度の上昇量をみればよい。すなわち、上述の反復計算によって近似的尤度の上昇がみられなくなれば、その時点で反復計算を終了すればよい。ここで、近似的尤度とは、前向き変数と後向き変数の積α1(1)β1(1)として得られる。モデルパラメータ推定部105は、反復計算を終了した時点で、メタパラメータκ0,i, κ1,i, λi,jと、前向きおよび後向き変数αt(i)、βt(i)を、モデル(HMM)の状態数Nと対にして、推定結果記憶部106に格納する。
【００６２】
なお、モデルパラメータ推定部105におけるメタパラメータのベイズ推定法としては、上述の変分ベイズ法以外にも、公知のマルコフ連鎖モンテカルロ法やラプラス近似法など、任意の方法を使うことができる。本実施例は、変分ベイズ法に限定されるものではない。
【００６３】
モデル選択部107は、モデルパラメータ推定部105で状態数ごとに得られたパラメータ推定結果を推定結果記憶部106から受け取り、各モデルの確からしさを計算し、もっとも確からしいモデルを1つ選択する。モデルの確からしさは、例えば上述した変分ベイズ法の枠組みでは、公知のベイズ的基準（ベイズ事後確率）を使用することができる。ベイズ的基準は式（１０）で計算可能である。式（１０）において P(N) は状態数すなわち話題数Nの事前確率で、あらかじめ何らかの方法で定めておく。取り立てて理由がなければ、P(N) は一定値でよい。逆に、特定の状態数が起こりやすい、あるいは起こりにくいということが事前にわかっている場合は、特定の状態数に対応するP(N)を大きく、あるいは小さく設定する。また、式（１０）に現れるメタパラメータκ0,i, κ1,i, λi,jと、前向きおよび後向き変数 αt(i)、βt(i) としては、状態数Nに対応するものを推定結果記憶部106から取得して用いる。
【００６４】
【数１０】
0004860265.tif 000011
【００６５】
テキスト分割結果出力部108は、上述の第１および第２の実施例におけるテキスト分割結果出力部108と同様、モデル選択部107によって選択された状態数すなわち話題数Nのモデルに対応するモデルパラメータ推定結果を推定結果記憶部106から受け取り、この推定結果における入力テキスト文書に対する話題ごとの分割結果を算出する。最終的な分割結果は、式（４）に従って、P( zt=i | o1, o2, …, oT ) が最大となるiをt=1, 2, …, T にわたって求めることで得られる。
【００６６】
なお、本実施例でも、上述した第２の実施例と同様、通常のleft-to-right型HMMの代わりに、タイドミクスチャ(tied-mixture)型のleft-to-right型HMMを生成、初期化、パラメータ推定するように、仮モデル生成部103、モデルパラメータ初期化部104、モデルパラメータ推定部105をそれぞれ構成することが可能である。
【００６７】
第４の実施例
次に、本発明の第４の実施例について、図面を参照して詳細に説明する。
【００６８】
図4を参照すると、本発明の第４の実施例は、テキスト処理プログラム605を記録した記録媒体601を備える。この記録媒体601はCD-ROM、磁気ディスク、半導体メモリその他の記録媒体であってよく、ネットワークを介して流通する場合も含む。テキスト処理プログラム605は記録媒体601からデータ処理装置（コンピュータ）602に読み込まれ、データ処理装置602の動作を制御する。
【００６９】
本実施例としては、データ処理装置602はテキスト処理プログラム605の制御により、第１、第２、もしくは第３の実施例におけるテキスト入力部101、仮モデル生成部103、モデルパラメータ初期化部104、モデルパラメータ推定部105、モデル選択部107、テキスト分割結果出力部108による処理と同一の処理を実行して、第１、第２、もしくは第３の実施例におけるテキスト記憶部102、推定結果記憶部106とそれぞれ同等の情報を有するテキスト記録媒体603、モデルパラメータ推定結果記録媒体604を参照することによって、入力されたテキスト文書に対する話題ごとの分割結果を出力する。
【図１】
0004860265.tif 000012
【図２】
0004860265.tif 000013
【図３】
0004860265.tif 000014
【図４】
0004860265.tif 000015
【図５】
0004860265.tif 000016
【図６】
0004860265.tif 000017