(57)【要約】    【課題】  文書クラスタを抽出する際に抽出クラスタの大きさの偏りを極力小さくする。    【解決手段】  対象文書入力部１により入力される対象文書群がユーザにより指定される。単語抽出部２が、入力された文書のテキストデータに形態素解析処理を行い、単語出現頻度、文書出現頻度を計算する。文書間関連度計算部３は、文書の単語ベクトルを用いて、関連度を計算する。階層的クラスタ解析部４は、一般的な階層的クラスタ解析の手法に則り構成され、関連度を用いて文書のクラスタ階層をまとめあげる。クラスタ抽出部５は、クラスタ階層を所定の規則で評価して選択し、選択されたクラスタ階層から所望数のクラスタを抽出する。【選択図】  図１
2005063157.tif 000002
【特許請求の範囲】
【請求項１】
文書集合を入力として、入力された文書間の関連度を計算する文書間関連度計算手段と、
前記関連度に基づいて前記文書集合を一つのクラスタまでまとめ上げていき、まとめ上げた順番にしたがって階層を形成するクラスタ解析結果を出力するクラスタ解析手段と、
前記クラスタ解析結果における各階層に対し所定の基準にしたがってスコアを付与し、スコアが最大の階層から所定のクラスタ条件を満たすクラスタを抽出するクラスタ抽出手段と
を備えることを特徴とする文書クラスタ抽出装置。
【請求項２】
前記クラスタ抽出手段は、前記クラスタ解析結果における各階層で所定の数以上の文書を含むものをクラスタとみなし、階層におけるクラスタ数を少なくともスコア付与の計算式の要素とする請求項１に記載の文書クラスタ抽出装置。
【請求項３】
前記クラスタ抽出手段は、所定のクラスタ数およびクラスタ関連度の条件を満たすようなクラスタ内文書数の最大値を、前記クラスタ解析結果から求める請求項１に記載の文書クラスタ抽出装置。
【請求項４】
前記クラスタ抽出手段は、所定のクラスタ条件を満たすクラスタに含まれないすべての文書を、所定のクラスタ条件を満たすクラスタとは別個の一つのクラスタにまとめてあわせて出力する請求項１、２または３に記載の文書クラスタ抽出装置。
【請求項５】
前記クラスタ抽出手段は、所定のクラスタ条件を満たすクラスタに含まれない各文書を、所定のクラスタ条件を満たすクラスタのいずれか一つに加える請求項１、２または３に記載の文書クラスタ抽出装置。
【請求項６】
前記クラスタ抽出手段は、所定のクラスタ条件を満たすクラスタに含まれない各文書を、所定のクラスタ条件を満たすクラスタもしくは所定のクラスタ条件を満たすクラスタとは別個な一つのクラスタのうちいずれか一つに加える請求項１、２または３に記載の文書クラスタ抽出装置。
【請求項７】
電子化されたテキスト文書群を内容に応じてあらかじめ分類枠を定めることなく自動的に文書クラスタを抽出する文書クラスタ抽出方法において、
文書集合を入力として、
単語抽出部が前記文書集合の各文書から単語を抽出して、前記文書と抽出した前記単語を対応付けて記憶し、
文書間関連度計算部が前記抽出した単語に基づいて２文書間のすべての組み合わせで前記文書間の関連度を計算して記憶し、
階層的クラスタ解析部が前記文書間の関連度に基づいて前記文書を階層的クラスタにまとめ上げ、
クラスタ抽出部が前記階層的クラスタにおけるクラスタの大きさおよびクラスタ間の関連度に基づいてクラスタの大きさに偏りが少ないクラスタ階層からクラスタを抽出する
ことを特徴とする文書クラスタ抽出方法。
【請求項８】
文書間関連度計算部が、文書集合を入力として、入力された文書間の関連度を計算するステップと、
クラスタ解析部が、前記関連度に基づいて前記文書集合を一つのクラスタまでまとめ上げていき、まとめ上げた順番にしたがって階層を形成するクラスタ解析結果を出力するステップと、
クラスタ抽出部が、前記クラスタ解析結果における各階層に対し所定の基準にしたがってスコアを付与し、スコアが最大の階層から所定のクラスタ条件を満たすクラスタを抽出するステップと
を備えることを特徴とする文書クラスタ抽出方法。
【請求項９】
文書集合を入力として、入力された文書間の関連度を計算する文書間関連度計算ステップと、
前記関連度に基づいて前記文書集合を一つのクラスタまでまとめ上げていき、まとめ上げた順番にしたがって階層を形成するクラスタ解析結果を出力するクラスタ解析ステップと、
前記クラスタ解析結果における各階層に対し所定の基準にしたがってスコアを付与し、スコアが最大の階層から所定のクラスタ条件を満たすクラスタを抽出するクラスタ抽出ステップとをコンピュータに実行させるために用いられることを特徴とする文書クラスタ抽出用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子化されたテキスト文書群を入力として、それらの内容に応じてあらかじめ分類枠を定めることなく自動的に文書クラスタを抽出する技術に関するものであり、特に、クラスタ内の文書数が極端に偏らないようにすることによって、効果的に入力文書群を把握できることを特徴とする。
【背景技術】
【０００２】
近年、大量の電子テキスト文書が流通し、またそれらへのアクセスも格段に容易となり、非常に多くのユーザが日常的に多種多様な文書に接するようになった。流通する文書が多岐の分野にわたる一方、ユーザの活動範囲は拡大し、分野をまたがる文書を扱う必要性も高まっている。また、ユーザの層も、大量の文書を扱って分析を行うことを専門としているとは限らず、拡がりを見せている。
【０００３】
ユーザは、検索やフィルタリングを行うことで、また日々の文書蓄積、文書リポジトリへのアクセスなどを通して、簡単に多数の文書群に遭遇し、また操作が容易に行われる分、そのような作業は頻繁に行われる。一般のユーザ、または、ある明確な意図をもって文書群から知見を得ようとしている分析者にとっても、特に初めて見る対象の場合、内容の全体像を把握することは容易ではない。文書を１件ずつ確認することは手間や時間のかかることであり、また、個々の文書の内容を理解したとしても、それと他の文書との関係や、全体における位置付けを見出すことは簡単な作業とはいえない。
【０００４】
この作業の負荷を軽減するために、図書館の書架における分類のように、予め定められた分類基準にしたがって文書を分類する方法がある。こうすることによって、全体を俯瞰でき、傾向や分布を把握することがより簡単になり、また、ある文書と他の文書間の関係性や全体における位置付けの把握などができる、といった効用がある。しかしそのためには、ある文書群に対して、ユーザにとって妥当と思われる分類体系をあらかじめ用意する必要があるが、これは難しく、かけるコストに対して効果が少ないことがある。特に、対象が新奇なものの場合、分類基準を見出して体系としてまとめ上げること自体が、あるいは分類処理自体よりもコストのかかることになってしまう。
【０００５】
そこで、対象が与えられた時点で、文書間の関連度を機械的に求まるように定義して、対象中で似ている文書をまとめ上げて文書のクラスタを生成する方法、いわゆる文書クラスタリングが有効となる。この方法であれば、あらかじめコストをかけて分類基準を用意する必要がないが、分類の基準は、一定のアルゴリズムに基づいているわけではあるが、結果として得られたクラスタをユーザが分析することで初めて明示的になる。
【０００６】
文書間の関連度の定義として、文書を単語ベクトル空間にマッピングして、文書ベクトル間の内積とする、いわゆる単語ベクトル空間法が広く一般に適用されている。そして、文書をクラスタにまとめ上げる手法としては、多変量解析手法の一つである、階層的クラスタリングがよく用いられるものの一つである。階層的クラスタリングでは、抽出すべきクラスタの数を指定することで簡単にクラスタを抽出することができ、クラスタ数を変えて再度抽出することも少ない負荷で可能となる。
【０００７】
ところで、文書を対象にした場合、クラスタの大きさに偏りが大きいことがよくある。すなわち、クラスタに含まれる文書の数が、抽出されるクラスタの数と全体の文書数などから想定される数と比較して大きすぎるか、少なすぎるようなクラスタが並存することがよくある。極端な場合、全体の過半数の文書が含まれるクラスタが一つと、文書数が１または２程度のクラスタが多数、同時に抽出されることがある。ユーザはこのような事態に直面すると、抽出すべきクラスタ数を変えて再度クラスタを抽出することになる。すなわち、クラスタが大きすぎる場合はクラスタ数を増やし、クラスタが小さすぎる場合はクラスタ数を減らすことになる。しかし、そのような操作を行っても、巨大なクラスタが少数と、微小なクラスタが多数同時に抽出される事態はあまり改善されないことが多い。すなわち、巨大なクラスタから微小なクラスタが分かれ出て、残りの微小なクラスタはそのままとなり、一方で、微小なクラスタが巨大なクラスタに取り込まれてしまい、巨大なクラスタはさらに肥大化し、微小な他のクラスタはそのまま残ることがある。ユーザとしては、巨大なクラスタは適切に分割し、微小なクラスタ同士はまとめ上げたいのであるが、それらを同時に行うことができない。あまりに巨大なクラスタや、多数の微小なクラスタが存在すると、全体の一覧性が悪くなるが、両者の中間的な大きさのクラスタを適切な数だけ抽出することが難しい。
【０００８】
テキスト文書が対象の場合、文書を単語ベクトル空間にマッピングさせるときに、単語の特徴次元数が膨大になってしまい、その分文書ベクトルの要素は非常に疎になる傾向がある。同じトピックを扱う場合でもことばに異表記が存在することや異なる表現が用いられ、また、文書が扱うトピック自体も多岐にわたり多様性が大きい。結果として、出現する語彙の異なり数は、文書数やトピックに比べて膨大になり、ある２文書間で内容として関連性があるにもかかわらず関連度が小さいと扱われる場合があり、結果として孤立してしまう文書が多くなると推測される。
【０００９】
特許文献１において、利用者がクラスタの特徴を容易に把握することを目的として、ユーザの指定したクラスタを内容にしたがって細かく分割する方法が開示されている。この方法を用いれば、ユーザは、巨大になってしまったクラスタを指定して細かく分割させることによって、そのクラスタの特徴を詳細に把握することができる。しかし、巨大なクラスタは分割できる一方で、多数の微小なクラスタが存在するという問題は残り、両者を同時に行うことは依然としてできない。また、全体の一覧性を考えると、クラスタの大きさの偏り自体が初めのクラスタ結果にできるだけ存在しないことが望ましい。
【特許文献１】特開２０００−３０５９５０
【発明の開示】
【発明が解決しようとする課題】
【００１０】
階層的クラスタリングの一般的な手法では、テキスト文書を対象にした場合、クラスタの大きさに偏りが生じてしまい、結果の一覧性が悪い。抽出すべきクラスタ数を変えても、巨大なクラスタを適切に分割し、多数の微小なクラスタをまとめ上げることが同時にできない。
【００１１】
また、上述特許文献１に開示された方法では、大きなクラスタを分割することはできるが、微小なクラスタ同士をまとめ上げることは依然としてできない。
【００１２】
本発明はこのような課題に鑑みてなされたものであり、抽出するクラスタの大きさの偏りを極力小さくすることによって、対象文書群の全体像を効果的に把握できるようにユーザを支援することが目的である。
【課題を解決するための手段】
【００１３】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行っておく。
【００１４】
すなわち、本発明の一側面によれば、上述の目的を達成するために、文書クラスタ抽出装置に：文書集合を入力として、入力された文書間の関連度を計算する文書間関連度計算手段と；前記関連度に基づいて前記文書集合を一つのクラスタまでまとめ上げていき、まとめ上げた順番にしたがって階層を形成するクラスタ解析結果を出力するクラスタ解析手段と；前記クラスタ解析結果における各階層に対し所定の基準にしたがってスコアを付与し、スコアが最大の階層から所定のクラスタ条件を満たすクラスタを抽出するクラスタ抽出手段とを設けるようにしている。
【００１５】
この構成においては、クラスタ解析結果の階層を評価して文書群の内容に適合した最適な文書クラスタを抽出し、ユーザの指定した数のクラスタが、大きさに極端な偏りをもたらすことなく適切に抽出されるようにすることが可能となる。
【００１６】
この構成において、前記クラスタ抽出手段は、前記クラスタ解析結果における各階層で所定の数以上の文書を含むものをクラスタとみなし、階層におけるクラスタ数を少なくともスコア付与の計算式の要素とするものであってもよい。
【００１７】
これに限定されないが、例えば、クラスタ階層ＬｉのスコアＷｉを、ｗｉｊのｊが１からＮｌまでの総和で定義する。ただし、Ｎｌはクラスタ階層の総数、ｗｉｊはクラスタ階層Ｌｉにおけるｊ番目のクラスタのスコア、ｊ＝１，２，．．．，Ｍｉ、Ｍｉはクラスタ階層Ｌｉにおけるクラスタ数である。クラスタ階層Ｌｉにおけるｊ番目のクラスタＣｉｊに対するスコアｗｉｊは、たとえば次式で定義する。
【００１８】
（１）  ｗｉｊ＝−ｒｉｊ（ｎｉｊ−Ｎｄ／Ｎｃ）２
【００１９】
ただし、ｒｉｊはクラスタＣｉｊのクラスタ関連度、ｎｉｊはクラスタＣｉｊに含まれる文書数、Ｎｄは対象の文書数、Ｎｃは抽出すべきクラスタ数である。
【００２０】
また、この構成において、前記クラスタ抽出手段は、所定のクラスタ数およびクラスタ関連度の条件を満たすようなクラスタ内文書数の最大値を、前記クラスタ解析結果から求めるものであってもよい。
【００２１】
また前記クラスタ抽出手段は、所定のクラスタ条件を満たすクラスタに含まれないすべての文書を、所定のクラスタ条件を満たすクラスタとは別個の一つのクラスタにまとめてあわせて出力するようにしてもよい。
【００２２】
また、前記クラスタ抽出手段は、所定のクラスタ条件を満たすクラスタに含まれない各文書を、所定のクラスタ条件を満たすクラスタのいずれか一つに加えるようにしてもよい。
【００２３】
さらに、前記クラスタ抽出手段は、所定のクラスタ条件を満たすクラスタに含まれない各文書を、所定のクラスタ条件を満たすクラスタもしくは所定のクラスタ条件を満たすクラスタとは別個な一つのクラスタのうちいずれか一つに加えるようにしてもよい。
【００２４】
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
【００２５】
この発明の上述の側面および他の側面は特許請求の範囲に記載され以下実施例を用いて詳述される。
【発明の効果】
【００２６】
以上説明したように、本発明によれば、ユーザの指定した数のクラスタが、大きさに極端な偏りをもたらすことなく適切に抽出される。このことは、クラスタの大きさが大きく偏る傾向にあるテキスト文書が対象の場合、特に効果的であり、結果の一覧性を向上させることができる。
【発明を実施するための最良の形態】
【００２７】
以下、この発明の実施例について説明する。
【００２８】
図１は本発明の実施例の文書クラスタ抽出装置を全体として示すものであり、この図において、本発明の実施例の文書クラスタ抽出装置は、対象文書群を入力する対象文書入力部１、入力された各対象文書から単語を切り出してその文書の特徴を表すような単語を選択する単語抽出部２、選択された単語を用いてその出現頻度情報などから文書間の関連度を計算する文書間関連度計算部３、文書間の関連度に基づいて階層的なクラスタ解析を行う階層的クラスタ解析部４、クラスタ解析の結果からクラスタを抽出するクラスタ抽出部５等を備えている。
【００２９】
図２は本発明の実施例おける全体の処理フロー図である。以下、図２にしたがって全体の処理フローを詳細に説明する。
【００３０】
まず、対象文書入力部１において、入力される対象文書群がユーザにより指定される（Ｓ１０）。
【００３１】
次に、単語抽出部２において、入力された文書のテキストデータは形態素解析処理が施され、その中から名詞単語が取り出され、各単語が文書内に何回出現したかを示す単語出現頻度が記録される（Ｓ１１、Ｓ１２）。また、取り出した各単語が対象のうち何件の文書に出現したかを示す文書出現頻度も記録される（Ｓ１３）。
【００３２】
文書間関連度計算部３は、文書を単語ベクトル空間にマッピングし、２文書のすべての組み合わせで文書間の関連度を計算する。文書はそれが含む単語のベクトル要素をもち、各ベクトル要素の大きさは、単語の出現頻度情報を用いて、ＴＦ・ＩＤＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ／Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）単語スコアリングとして一般に広く知られている方法で求める（Ｓ１４）。そして、すべての文書間の関連度を文書ベクトル間の内積を計算することで求める（Ｓ１５）。
【００３３】
階層的クラスタ解析部４は、一般的な階層的クラスタ解析の手法に則り構成される。まず、文書間関連度が最大の文書ペアを一つのクラスタにまとめ上げる（Ｓ１６）。次に、まとめ上げたクラスタと他の文書との関連度を再度計算する。ここでは完全連結法と一般によばれる方法を用いてクラスタと他の文書間との関連度を計算する（Ｓ１７）。すなわち、文書ａとクラスタＣとの関連度は、クラスタＣに含まれる各文書ｃｉ（ただしｉは１からＣの文書数までの値をとる添え字）と文書ａとの関連度のうちの最小値で定義する。クラスタ自体がもつ関連度は、最後にまとめ上げられたときの要素間の関連度で定義する。ただし、まとめ上げられていない一つの文書もクラスタとして扱うことにするが、このような１文書のクラスタの関連度は０とする。また、まとめ上げた段階をクラスタ階層とよぶことにすると、クラスタ階層が進むにつれて、まとめ上げる要素間の関連度は一般には減少していき、少なくとも増えることはないため、この関連度をクラスタ階層の最低関連度とよぶことにする。さて、クラスタ間の関連度が最大のペアをまとめ上げていき、最終的に対象すべてが一つのクラスタにまとめ上げられる段階まで処理を行う（Ｓ１６、Ｓ１７、Ｓ１８）。なお、クラスタ同士の関連度は、クラスタ間の文書での関連度のうち最小値で定義する。以後、まとめ上げられたデータを樹状データとよび、樹状データにおいてクラスタ階層が進む方向を上側とよぶことにする。以後、まとめ上げる操作は併合とよぶこともある。
【００３４】
図３はクラスタ解析結果を模式的に示している。図３において右側に置かれた表は樹状データを数値で表現しており、欄は左からクラスタ階層の順番、クラスタ階層の最低関連度、まとめ上げられる先の要素の番号、まとめ上げられる元の要素の番号となっている。なお、解析対象の文書は１から始まる番号で識別することにするが、併合されて生じるクラスタの番号は併合される先の要素の番号で参照する。たとえば、まとめ上げられる最初の段階の結果は、クラスタ階層１の行に記述されており、図３の場合であれば表から、要素１３が要素１２に併合され、その際の両者の関連度が０．５０であることが分かる。
図３において左側は樹状データのまとめ上げの過程を表現した線図である。最下層に置かれている数字を四角は、解析対象の文書を表すアイコンであり、数字は文書の番号であり、点線で示された水平線はクラスタ階層を表す。クラスタ階層を表す水平線は、クラスタ階層が進むにつれて線図の上側に置かれている。文書アイコンから伸びている実線は、クラスタ階層を表す点線上で他の文書もしくはクラスタから伸びている実線と交わっている。実線と実線の交わりは、そのクラスタ階層で実線にたどり着く要素が併合されていることを表している。各クラスタ階層で併合が繰り返され、最終的には一つの実線にまとまっているが、これはすなわち最終的にはすべての要素が一つのクラスタに併合されることを示している。
【００３５】
最後に、クラスタ抽出部５によりクラスタ抽出処理が行われる（Ｓ１９）。この実施例では、クラスタ抽出部５として５つの構成例を採用した。以下ではそれぞれの構成例を順に説明する。
【００３６】
［クラスタ抽出部５の構成例１］
クラスタ抽出部５の構成例１の処理フローを図４にしたがって詳細に説明する。クラスタ抽出部５は一定の条件の下、抽出すべきクラスタを含むクラスタ階層を樹状データから探索して求め、ユーザに指定された数のクラスタを求めたクラスタ階層から抽出する。この例では、クラスタ階層を探索するときの探索条件として、各クラスタ階層のスコアをそこに含まれるクラスタスコアの総和と定義して、スコアが最大のクラスタ階層を見つけるとする。クラスタスコアは、抽出すべきクラスタ数、クラスタに含まれる文書数、クラスタ関連度の関数で定義する。すなわち、クラスタ階層ＬｉのスコアＷｉは、ｗｉｊのｊが１からＮｌまでの総和で定義する。ただし、Ｎｌはクラスタ階層の総数、ｗｉｊはクラスタ階層Ｌｉにおけるｊ番目のクラスタのスコア、ｊ＝１，２，．．．，Ｍｉ、Ｍｉはクラスタ階層Ｌｉにおけるクラスタ数である。
【００３７】
そして、クラスタ階層Ｌｉにおけるｊ番目のクラスタＣｉｊに対するスコアｗｉｊは、たとえば次式で定義する。
【００３８】
（１）  ｗｉｊ＝−ｒｉｊ（ｎｉｊ−Ｎｄ／Ｎｃ）２
【００３９】
ただし、ｒｉｊはクラスタＣｉｊのクラスタ関連度、ｎｉｊはクラスタＣｉｊに含まれる文書数、Ｎｄは対象の文書数、Ｎｃは抽出すべきクラスタ数である。
【００４０】
この例では、まず、ユーザにより指定された抽出対象クラスタ数を受け取る（Ｓ２０）。つぎに樹状データから各クラスタのスコアを上述の計算式（１）にしたがって求める（Ｓ２１）。こののち、各クラスタ階層のスコアを、これに属するクラスタのスコアを累積して求める（Ｓ２２）。スコアが最大のクラスタ階層を判別する（Ｓ２３）。判別した階層において、スコア上位のクラスタを指定された数だけ抽出する（Ｓ２４）。
【００４１】
クラスタを抽出する対象のクラスタ階層は、従来のクラスタ抽出では、抽出すべきクラスタ数に応じて自動的に決定されるが、この構成例では、上述のように、クラスタ階層のスコアを計算して求めている。各クラスタの大きさや関連度に応じてクラスタスコア、そしてクラスタ階層のスコアが定まり、結果としてクラスタの大きさに偏りが少ないクラスタ階層からクラスタが抽出されることが期待できる。
【００４２】
［クラスタ抽出部の構成例２］
クラスタ抽出部５の構成例２は、階層的クラスタ解析部４により得られた樹状データに対して、クラスタの最小文書数を求め、クラスタ内最小文書数と、クラスタ階層の最低関連度と、クラスタ数とがそれぞれ一定の条件を満たすクラスタ階層を見つけて、ユーザに指定された数のクラスタを抽出する。これまでの説明では、含まれる文書数が１であってもクラスタとみなして扱っていたが、本実施の形態ではクラスタとみなすための条件として、クラスタに含まれる文書数は少なくとも２以上であるとし、その最小数を規定する。
【００４３】
クラスタ抽出部５の構成例２の処理フローを図５にしたがって詳細に説明する。クラスタの最少文書数は、次の方針のもと求める。まず、クラスタ階層の最低関連度の下限値をあらかじめ定めておく。これはシステムを設定する管理者などによって決められる値であり、個々のユーザは変更できない値であるとする。そして、ユーザからは抽出すべきクラスタ数を入力されるとする。これら２つの条件、すなわち、クラスタ階層の最低関連度およびクラスタ数の条件から、クラスタの最小文書数の条件を求めることにする。
【００４４】
それでは、クラスタの最小文書数の条件を求める方法を具体的に説明する。まず、ユーザにより指定された抽出対象クラスタ数を受取り（Ｓ３０）、また管理者により指定されたクラスタ階層の最低関連度を受け付ける（Ｓ３１）。また、クラスタの最小文書数を２と仮に設定し（Ｓ３２）、他の２つの条件を満たすようなクラスタ階層が存在するか、樹状データを探索して確認する（Ｓ３３、Ｓ３４）。そのようなクラスタ階層が存在する場合、最小文書数をさらに１つ増やして３と設定し、同様の探索を行う（Ｓ３４、Ｓ３５）。以上の処理を、条件に合致するクラスタ階層が探索できなくなるまで繰り返し行い、条件に合致するクラスタ階層が見つかった最後の探索条件を、以後用いるクラスタ最小文書数とする（Ｓ３６、Ｓ３８））。ただし、条件に合致するクラスタ階層がまったく見つからない場合は文書数１のクラスタを認めて通常のクラスタ抽出を行うことにする（Ｓ３６、Ｓ３７）。
【００４５】
さて、このように求めたクラスタ階層の探索条件、すなわち、クラスタ階層の最低関連度、クラスタ数の条件から、クラスタの最小文書数の３条件を満たすクラスタ階層からクラスタを抽出する。なお、条件を満たすクラスタ階層が複数存在する場合は、最も上側のものを取り上げる。抽出するクラスタは、さきほど用いた条件のうち、クラスタ階層の最低関連度およびクラスタの最小文書数を満たすクラスタである。
【００４６】
以上のように、ユーザに指定された抽出すべきクラスタ数と、システムであらかじめ定められたクラスタ階層の最低関連度という条件のもと、得られた樹状データから最も大きなクラスタ内最小文書数の値を求めており、結果として得られるクラスタに含まれる文書数は、従来法に比べて偏りが小さくなることが期待できる。
【００４７】
［クラスタ抽出部の構成例３］
クラスタ抽出部５の構成例３は、上記構成例１または構成例２の手法でクラスタ抽出をいったん行った後、クラスタとして抽出されなかった残りの文書を別の一つのクラスタとしてまとめる。例えば、図６に示す処理フローを採用する。ここで、前者の方法で抽出されたクラスタをコアクラスタとよび、コアクラスタとして抽出されなかった残りの文書を孤立文書、孤立文書をまとめ上げたクラスタをサブクラスタとそれぞれよぶことにすると、コアクラスタの抽出は、ユーザから指定されたクラスタ数よりも１少ない数で行う（Ｓ４０）。その後、孤立文書を１つのサブクラストとしてまとめ（Ｓ４１）、コアクラスタとサブクラスタをあわせて出力する（Ｓ４２）ことで、ユーザによって指定された数のクラスタが結果として得られる。
【００４８】
クラスタ抽出部５の構成例３におけるクラスタ抽出結果を従来の方法と比較した様子を図７に示す。図７は、構成例３にしたがって、抽出すべきクラスタ数が４、クラスタ階層最低関連度が０．０５、クラスタ内文書数が２の条件の下でクラスタを抽出した結果を示している。以上のようにしてクラスタを抽出することで、従来の手法では巨大な２個のクラスタと微小な２個のクラスタが得られていたのに対し、本方法では、４個の比較的大きさに偏りのないクラスタが抽出されていることが分かる。
【００４９】
［クラスタ抽出部の構成例４］
クラスタ抽出部５の構成例４は、上記構成例１または構成例２の手法でクラスタ抽出をいったん行った後、孤立文書と各コアクラスタとの間の関連度を求めて、この関連度が最大となるコアクラスタに文書を組み入れる。孤立文書とコアクラスタ間の関連度は、コアクラスタに含まれる文書ベクトルの平均ベクトルを求め、この平均ベクトルと孤立文書ベクトルとの内積で定義する。構成例４によるクラスタ抽出部の処理フローを図８に示す。処理フローのステップＳ５０〜５３は図の記載から自明であるのでとくに説明は行わない。また、クラスタ抽出結果の例を図９に示す。
【００５０】
クラスタ抽出部５の構成例４では、コアクラスタにすべての文書を割り当てることになり、上記実施の形態３に比べて正しく分類される文書の数が同じかもしくは増える、すなわち分類の再現率が同程度かもしくは向上することが期待できる。一方で、孤立文書をコアクラスタに振り分けたときの分類に成功する確率は、コアクラスタにおける分類の成功割合よりも低いことが予想されるため、クラスタ抽出部５の構成例４では、構成例３に比べて分類された文書のうち正しく分類された文書の割合が低い、すなわち分類の適合率が低くなることが多いと推測される。
【００５１】
［クラスタ抽出部の構成例５］
クラスタ抽出部５の構成例５は、上記構成例１または構成例２の手法でクラスタ抽出をいったん行った後、孤立文書とコアクラスタとの間の関連度を構成例４の手法で求めて、この関連度が一定値以下の場合は文書をサブクラスタへ組み入れ、一定値を越える場合は関連度が最大となるコアクラスタへ組み入れる。構成例４によるクラスタ抽出部の処理フローを図１０に示す。処理フローのステップＳ６０〜６５は図の記載から自明であるのでとくに説明は行わない。また、クラスタ抽出結果の例を図１１に示す。
【００５２】
クラスタ抽出部５の構成例５では、上記構成例３および４の中間的な動作を行うため、分類の再現率および適合率はそれぞれ適当な値に落ち着くことが予想される。
【図面の簡単な説明】
【００５３】
【図１】本発明の各実施の形態における構成ブロック図である。
【図２】本発明の各実施の形態における全体の処理フロー図である。
【図３】本発明で各実施の形態におけるクラスタ解析結果の例を表す図である。
【図４】本発明での第１の実施の形態におけるクラスタ抽出部の処理フロー図である。
【図５】本発明での第２の実施の形態におけるクラスタ抽出部の処理フロー図である。
【図６】本発明での第３の実施の形態におけるクラスタ抽出部の孤立文書に対する処理フロー図である。
【図７】本発明での第３の実施の形態におけるクラスタ抽出結果を従来法の場合と比較した図である。
【図８】本発明での第４の実施の形態におけるクラスタ抽出部の処理フロー図である。
【図９】本発明での第４の実施の形態におけるクラスタ抽出結果を表す図である。
【図１０】本発明での第５の実施の形態におけるクラスタ抽出部の処理フロー図である。
【図１１】本発明での第５の実施の形態におけるクラスタ抽出結果を表す図である。
【符号の説明】
【００５４】
１    対象文書入力部
２    単語抽出部
３    文書間関連度計算部
４    階層的クラスタ解析部
５    クラスタ抽出部
【図１】
2005063157.tif 000003
【図２】
2005063157.tif 000004
【図３】
2005063157.tif 000005
【図４】
2005063157.tif 000006
【図５】
2005063157.tif 000007
【図６】
2005063157.tif 000008
【図７】
2005063157.tif 000009
【図８】
2005063157.tif 000010
【図９】
2005063157.tif 000011
【図１０】
2005063157.tif 000012
【図１１】
2005063157.tif 000013