(57)【要約】【課題】効率的な文書クラスタリングを行なうようにし、迅速に提供されて見やすい全文検索結果により目的の文書への到達を容易にする情報処理装置を提供する。【解決手段】本発明に係る情報処理装置１は、文書の全文検索を行なって検索条件に該当する検索文書を検索する文書検索手段３０１と、検索条件との適合度を表す適合度スコアによって検索文書を順序付ける文書スコアリング手段３０２と、文書識別子と特徴語と当重み値とが対応付けられて登録された特徴語ファイルデータベース３０７と、検索文書に対してクラスタリング処理を行う文書クラスタリング手段３０４とを有し、検索結果一覧を作成する情報処理装置１において、適合度スコアに基づいて、検索文書をグループ化する文書グループ化手段３０３を有し、文書クラスタリング手段３０４は、グループ化されたグループごとに、そのグループ内の検索文書に対してクラスタリング処理を行う。【選択図】図３
2010009577.tif 000002
【特許請求の範囲】
【請求項１】
文書の全文検索を行なって検索条件に該当する検索文書を検索する文書検索手段と、
前記検索条件との適合度を表す適合度スコアによって前記検索文書を順序付ける文書スコアリング手段と、
前記文書を識別するための文書識別子と、前記文書の全文データから抽出された特徴語と、当該特徴語の重みを表す重み値とが対応付けられて登録された特徴語ファイルデータベースと、
前記検索文書の前記文書識別子をキーとして、前記特徴語ファイルデータベースから取得した前記特徴語と当該特徴語の重み値とに基づいて、前記検索文書に対してクラスタリング処理を行う文書クラスタリング手段とを有し、
検索結果一覧を作成する情報処理装置であって、
前記適合度スコアに基づいて前記検索文書をグループ化する文書グループ化手段を有し、
前記文書クラスタリング手段は、前記文書グループ化手段によりグループ化されたグループごとに、そのグループ内の前記検索文書に対してクラスタリング処理を行うこと、
を特徴とする情報処理装置。
【請求項２】
前記文書グループ化手段は、前記適合度スコアの平均変化率に基づいて、前記検索文書をグループ化すること、
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記文書クラスタリング手段は、前記特徴語をベクトル表現し、当該ベクトルの成す角度の余弦の値に基づいて、前記検索文書のクラスタリング処理を行うこと、
を特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記特徴語は、前記全文データから得られる単語の出現頻度を表すＴＦ値と、コーパスから得られる単語の出現頻度を表すＤＦ値とに基づいて抽出されること、
を特徴とする請求項１ないし３いずれか一項に記載の情報処理装置。
【請求項５】
前記特徴語は、前記全文データから得られる単語の出現頻度を表すＴＦ値と、形態素解析の際に得られる出現頻度を表す生起コスト値とに基づいて抽出されること、
を特徴とする請求項１ないし３いずれか一項に記載の情報処理装置。
【請求項６】
前記クラスタリング処理手段によりクラスタリング処理された各クラスタ内の検索文書の特徴語をベクトル表現し、当該ベクトルの成す角度の余弦の値に基づいて、当該検索文書の距離が所定閾値より近いクラスタ間のマージを行うクラスタマージ手段を有すること、
を特徴とする請求項１から５いずれか一項に記載の情報処理装置。
【請求項７】
文書の全文検索を行なって検索条件に該当する検索文書を検索する文書検索手段と、
前記検索条件との適合度を表す適合度スコアによって前記検索文書を順序付ける文書スコアリング手段と、
前記文書の全文データから抽出される前記文書の特徴語と当該特徴語の重みを表す重み値とに基づいて、前記検索文書に対してクラスタリング処理を行う文書クラスタリング手段とを有し、検索結果一覧を作成する情報処理装置における全文検索方法であって、
前記適合度スコアに基づいて、前記検索文書をグループ化する文書グループ化手順を有し、
前記文書クラスタリング手段は、前記文書グループ化手順によりグループ化されたグループごとに、そのグループ内の前記検索文書に対してクラスタリング処理を行うこと、
を特徴とする全文検索方法。
【請求項８】
請求項７に記載の全文検索方法をコンピュータに実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、全文検索方法、全文検索プログラム、及び記録媒体の分野に関する。
【背景技術】
【０００２】
転置索引を用いた多くの全文検索システムでは、検索結果一覧を表示するときに、入力
されたキーワードと検索にヒットした文書との適合率をスコアという数値に表し、スコア
の大きなものから順番に、検索結果一覧に表示している（例えば、非特許文献１参照）。一般にスコアとは、入力されたキーワードに対するヒットした文書の適合度を表す。ここで、適合度は、キーワードの出現頻度に基づく値である。
【０００３】
この検索語に対する文書のスコアは、ウェブ上の検索エンジンなどでは文書間のリンク情報を利用したPageRankという手法を用いているが、リンク情報が存在していないデータでは有効ではない。企業内の文書データなどを検索する場合にはむしろ確率モデルを利用して文書をランキング検索することが一般的である。
【０００４】
企業内の文書データなどを検索する場合には、オリジナルの文書だけが検索対象であることは少なく、例えば、部署ごとに配布された同一の文書がデータベースに登録されている場合や、企画書や仕様書など文書バージョンが異なるのみでその内容は類似する文書がデータベースに登録されている場合が多い。このような文書集合に対して単純にランキング検索を行なうと、同一又は類似の文書はそのスコア値もほぼ同じになるので、スコア順でソートした場合同じような文書が連続して表示され見にくいばかりでなく目的とする文書になかなか辿り着くことができない。
【０００５】
特許文献１に記載される発明では、文書のランキング検索において利用者がスコアをカスタマイズすることが可能である。この方法を利用すればオリジナル文書のみを上位に表示することが可能となる。しかしながら、企業内の文書データは膨大であるのですべてのオリジナル文書のスコアをカスタマイズすることは手間を伴う。また、オリジナル文書を特定すること自体もまた困難である。
【０００６】
ここで、同一又は類似する文書を分類する文書クラスタリング技法が知られている（例えば、非特許文献２参照）。この手法を用いて、検索対象として同一又は類似する文書をグループ化する。検索結果には各グループの代表文書のみを表示すればよい。これにより、同じような内容の文書の表示されることなく検索結果を表示することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献２に記載される文書クラスタリング技法では、非常に多くの計算量を必要とする。検索対象が膨大な場合、すべての検索対象を予め分類しておくことは計算量が膨大であまり現実的ではない。
【０００８】
そこで本発明では上記のような問題に鑑みて、効率的な文書クラスタリングを行なうようにし、迅速に提供されて見やすい全文検索結果により目的の文書への到達を容易にする情報処理装置、全文検索方法、全文検索プログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
そこで上記課題を解決するため、本発明に係る情報処理装置は、文書の全文検索を行なって検索条件に該当する検索文書を検索する文書検索手段と、前記検索条件との適合度を表す適合度スコアによって前記検索文書を順序付ける文書スコアリング手段と、前記文書を識別するための文書識別子と、前記文書の全文データから抽出された特徴語と、当該特徴語の重みを表す重み値とが対応付けられて登録された特徴語ファイルデータベースと、前記検索文書の前記文書識別子をキーとして、前記特徴語ファイルデータベースから取得した前記特徴語と当該特徴語の重み値とに基づいて、前記検索文書に対してクラスタリング処理を行う文書クラスタリング手段とを有し、索結果一覧を作成する情報処理装置であって、前記適合度スコアに基づいて前記検索文書をグループ化する文書グループ化手段を有し、前記文書クラスタリング手段は、前記文書グループ化手段によりグループ化されたグループごとに、そのグループ内の前記検索文書に対してクラスタリング処理を行うことを特徴とする。
【００１０】
また上記課題を解決するため、前記情報処理装置において、前記文書グループ化手段は、前記適合度スコアの平均変化率に基づいて、前記検索文書をグループ化することを特徴とする。
【００１１】
また上記課題を解決するため、前記情報処理装置において、前記文書クラスタリング手段は、前記特徴語をベクトル表現し、当該ベクトルの成す角度の余弦の値に基づいて、前記検索文書のクラスタリング処理が行うことを特徴とする。
【００１２】
また上記課題を解決するため、前記情報処理装置において、前記特徴語は、前記全文データから得られ単語の出現頻度を表すＴＦ値と、コーパスから得られ単語の出現頻度を表すＤＦ値とに基づいて抽出されることを特徴とする。
【００１３】
また上記課題を解決するため、前記情報処理装置において、前記特徴語は、前記全文データから得られ単語の出現頻度を表すＴＦ値と、形態素解析の際に得られる出現頻度を表す生起コスト値とに基づいて抽出されることを特徴とする。
【００１４】
また上記課題を解決するため、前記クラスタリング処理手段によりクラスタリング処理された各クラスタ内の検索文書の特徴語をベクトル表現し、当該ベクトルの成す角度の余弦の値に基づいて、当該検索文書の距離が所定閾値より近いクラスタ間のマージを行うクラスタマージ手段を有することを特徴とする。
【００１５】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１６】
本発明によれば、効率的な文書クラスタリングを行なうようにし、迅速に提供されて見やすい全文検索結果により目的の文書への到達を容易にする情報処理装置、全文検索方法、全文検索プログラム、及び記録媒体を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明による情報処理装置、文書保管装置及び端末がネットワークを介して接続されているネットワーク図である。
【図２】本発明による情報処理装置の一実施形態の主要構成を示すハードウェア構成図である。
【図３】本発明の実施形態に係る情報処理装置の一実施形態の主要機能を示す機能ブロック図である
【図４】索引ファイル及び特徴語ファイルが作成されるまでの流れについて説明するフローチャートである。
【図５】文書検索処理の流れについて説明するフローチャートである。
【図６】索引ファイルのデータ構成を模式的に示す図である。
【図７】適合度スコアの算出する式である。
【図８】検索文書に対して適合度スコアが算出され降順にソートされた様子を示す図である。
【図９】第１のクラスタリングを行った結果を示す図の一例である。
【図１０】適合度スコアの平均変化率を算出する式である。
【図１１】第１のクラスタリングを行った結果を示す図の一例である。
【図１２】特徴語ファイルの一例である。
【図１３】第２のクラスタリングの結果を示す図の一例である。
【図１４】文書ベクトルが成す角度の余弦を算出する式である。
【図１５】検索結果の一例である。
【図１６】本発明の実施例に係る情報処理装置１の一実施形態の主要機能を示す機能ブロック図である。
【図１７】クラスタ間のマージ処理を説明するフローチャートである。
【図１８】クラスタ間のマージ処理結果を示す図の一例である。
【図１９】マージ処理後の検索結果の一例である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための最良の形態を各実施形態において図面を用いて説明する。
【００１９】
（ネットワーク構成）
はじめに、具体的な発明の内容を説明する前に、本発明を実施するにあたってのネットワーク構成について説明する。図１は、本発明による情報処理装置１、文書保管装置２及び端末３がネットワーク５を介して接続されているネットワーク図である。情報処理装置１は、本発明に係る全文検索サーバである。文書保管装置２は、検索対象となる文書を保管する。端末３は、情報処理装置１を利用するクライアント端末である。端末３は、ネットワーク５を介して情報処理装置１にアクセスする。情報処理装置１は、端末３の要求に応じて文書保管装置２に保管される複数の文書から検索語により目的文書の検索を行なう。これらいわゆる全文検索システムである。ネットワーク５は、有線、無線を含むネットワークである。なお、図１は本発明の一実施形態を説明するにあたっての構成を示したものであり、例えば、文書保管装置２及び端末３は複数あってもよいし、情報処理装置１に文書保管機能を持たせれば文書保管装置２を省略する構成とすることもできる。
【００２０】
（情報処理装置）
図２は、本発明による情報処理装置１の一実施形態の主要構成を示すハードウェア構成図である。情報処理装置１のハードウェア構成について簡単に説明しておく。情報処理装置１は、主要な構成として、ＣＰＵ２０１、ＲＯＭ（Read Only Memory）２０２、ＲＡＭ（Random Access Memory）２０３、補助記憶装置２０４、記憶媒体読取装置２０５、入力装置２０６、表示装置２０７、及び通信装置２０８を含む構成である。
【００２１】
ＣＰＵ２０１は、マイクロプロセッサ及びその周辺回路から構成され、情報処理装置１全体を制御する回路である。また、ＲＯＭ２０２は、ＣＰＵ２０１で実行される所定の制御プログラム（ソフトウェア部品）を格納するメモリであり、ＲＡＭ２０３は、ＣＰＵ２０１がＲＯＭ２０２に格納された所定の制御プログラム（ソフトウェア部品）を実行して各種の制御を行うときの作業エリア（ワーク領域）として使用するメモリである。
【００２２】
補助記憶装置２０４は、汎用のＯＳ（Operating System）、全文検索プログラムを含む各種情報を格納する装置であり、不揮発性の記憶装置であるＨＤＤ（Hard Disk Drive）などが用いられる。なお、上記各種情報は、補助記憶装置２０４以外にも、ＣＤ−ＲＯＭ（Compact Disk - ROM）やＤＶＤ（Digital Versatile Disk）などの記憶媒体やその他のメディアを記憶されてもよく、これらの記憶媒体に格納された各種情報は、記憶媒体読取装置２０５などのドライブ装置を介して読み取ることが可能である。よって、必要に応じて記録媒体を記憶媒体読取装置２０５にセットすることで、各種情報が得られる。
【００２３】
入力装置２０６は、ユーザが各種入力操作を行うための装置である。入力装置２０６は、マウス、キーボード、表示装置２０７の表示画面上に重畳するように設けられたタッチパネルスイッチなどを含む。表示装置２０７は、全文検索結果などの各種データを表示画面に表示する装置である。例えば、ＬＣＤ(Liquid Crystal Display)、ＣＲＴ(Cathode Ray Tube)などから構成される。次に、通信装置３は、ネットワーク５を介して文書保管装置２及び端末３との通信を行う装置である。有線ネットワークや無線ネットワークなど含む各種ネットワーク形態に応じた通信をサポートする。以上、情報処理装置１のハードウェア構成である。
【００２４】
（機能）
図３は、本発明の実施形態に係る情報処理装置１の一実施形態の主要機能を示す機能ブロック図である。情報処理装置１は、主要な機能として、文書検索部３０１、文書スコアリング部３０２、第１文書クラスタリング部３０３、第２文書クラスタリング部３０４、出力部３０５、索引ファイルデータベース３０６、及び特徴語ファイルデータベース３０７を含む構成である。
【００２５】
文書検索部３０１は、ユーザの端末３により入力された検索語等の検索条件から、文書の全文検索を行なって検索条件に該当する検索文書を検索する。具体的には、検索語を索引ファイルと同じ索引単位に分割し、索引ファイルデータベース３０６の索引ファイルを利用してその検索語が含まれる文書を検索する。一般的に全文検索システムでは検索処理にあたって予め索引ファイル（転置索引）が作成されている。検索時にはその索引ファイル利用して検索を行うことが多い。
【００２６】
文書スコアリング部３０２は、文書検索部３０１により検索された文書（以下、この検索文書という）に対して検索条件との適合度を表す適合度スコアを算出し、その適合度スコアによって検索文書を順序付ける（文書スコアリング）。順序付けは、例えば、そのスコア降順にソートされる。
【００２７】
第１文書クラスタリング部３０３は、文書スコアリング部３０２により文書スコアリングされた検索文書を対象に、適合度スコアに基づいてクラスタリング（グループ化）を行なう。クラスタリングとは、文書の類似度などによって文書をグループ化することである。詳細は後述するが、スコアの降順にソートされた検索文書において、前後の検索文書はある検索語を入力して得られたスコアが近い文書であるのでその内容は似たような文書であるといえる。この点に着目して、検索文書のクラスタリングを行なう。因みに、この第１文書クラスタリング部３０３によるクラスタリングが１回目のクラスタリングであるとすると、後述する第２文書クラスタリング部３０４によるクラスタリングは２回目のクラスタリングである。このように検索文書は２回に分けてクラスタリングされる。なお、この文書スコアリング部３０２は文書グループ化手段に相当するものである。
【００２８】
第２文書クラスタリング部３０４は、文書の全文データから抽出される文書の特徴語と当該特徴語の重みを表す重み値とに基づいて、第１文書クラスタリング部３０３によりクラスタリング（グループ化）されたクラスタ（グループ）ごとに、そのクラスタ内の検索文書に対してクラスタリングを行う。
【００２９】
出力部３０５は、適合度スコア及びクラスタリングの観点から、検索結果（検索文書のリスト）を出力する。詳細は後述するが、例えば、スコア降順にソートされ、且つクラスタ（グループ）ごとの代表文書が検索結果に表示される。
【００３０】
索引ファイルデータベース３０６は、索引ファイルを登録する。索引ファイルは、文書検索を高速に行うことができるような構造を持ったファイルで、文書検索部３０１がユーザの端末３により入力された検索語等の検索条件から該当する検索文書を検索する際に利用される。この索引ファイルは、文書保管装置２などに保管される文書（全文データ）から予め作成される。入力された文書の全文データ（テキスト情報）から、N-gram方式や形態素解析方式などにより索引単位に抽出されて、例えば、転置索引が作成され、この転置索引と文書のテキスト情報などが登録されたファイルである。テキスト情報が登録される際には文書識別子（文書ＩＤ）を割り当てられ、この文書識別子とテキスト情報が対応付けて登録される。索引ファイルは検索語からその検索語（単語）を含む文書を逆引きできる構造を持つので、その単語から転置索引の表を引くことですばやくその単語を含む文書を探すことができる。
【００３１】
特徴語ファイルデータベース３０７は、特徴語ファイルを登録する。特徴語ファイルは、その文書を特徴付ける特徴語とその特徴語の重みを表す値が格納されているファイルで、第２文書クラスタリング部３０４が検索文書に対してクラスタリングを行う際に利用される。この特徴語ファイルは、上述の索引ファイルと同様に文書保管装置２などに保管される文書（全文データ）から予め作成される。特徴語ファイルでは、文書を識別するために文書識別子（文書ＩＤ）が割り当てられている。なお、この特徴語ファイルが作成される方法については後述する。
【００３２】
以上説明したこれらの機能は、実際にはＣＰＵ２０１が実行するプログラムにより実現されるものである。以上、これまで本発明による情報処理装置１の有するハードウェア構成と機能構成について説明を行った。続いて以下、実施例を交えながら具体的に説明を行う。
【００３３】
＜実施例１＞
本実施例による情報処理装置１の一使用形態について説明する。まず、本発明の内容理解を容易にするため、本発明実施の全体の流れについて説明する。図４は、索引ファイル及び特徴語ファイルが作成されるまでの流れについて説明するフローチャートである。この段階はいわば検索準備段階である。また、図５は、検索条件（検索語）の入力によって行なわれる文書検索処理の流れについて説明するフローチャートである。この段階はいわば検索段階である。以下、図４、５を参照しつつ説明を行う。
【００３４】
（検索準備段階）
図４を参照して、索引ファイル及び特徴語ファイルが作成されるまでの流れを説明する。ステップＳ４０１で、入力された文書の全文データから、N-gram方式や形態素解析方式などにより単語が抽出される。ステップＳ４０２で、この単語を検索単位として検索できるよう、例えば、転置索引が作成される。また、文書のテキスト情報が登録される際には文書識別子（文書ＩＤ）を割り当てられ、この文書識別子とテキスト情報が対応付けて登録される。作成された索引ファイルは索引ファイルデータベース３０６に登録される。
【００３５】
ステップＳ４０３に進み、入力された文書の全文データから、N-gram方式や形態素解析方式などにより単語が抽出され、その単語の出現頻度等に基づいてその文書を特徴付ける特徴語が抽出される。ステップＳ４０４で、その特徴語の重み付けがされ、特徴語とその重み（重み値）は、その文書識別子（文書ＩＤ）とともに特徴語ファイルとして特徴語ファイルデータベース３０７に登録される。以上これまでが検索準備段階である。この索引ファイル及び特徴語ファイルは文書検索時（検索段階）に利用される。
【００３６】
（検索段階）
次に図５を参照して、検索条件（検索語）の入力によって行なわれる文書検索処理の流れについて説明する。ステップＳ５０１で、検索語が入力されると索引ファイルから索引され、文書が特定されて検索文書が取得される。
【００３７】
ステップＳ５０２に進み、取得された検索文書と検索条件との適合度を表す適合度スコアが算出される。適合度スコアはすべての検索文書について算出される。そして、検索文書は適合度スコアの降順にソートされる（文書スコアリング）。
【００３８】
ステップＳ５０３に進み、文書スコアリングされた検索文書を対象に、適合度スコアに基づいて、第１のクラスタリング（グループ化）が行なわれる。詳細は後述する。
【００３９】
ステップＳ５０４に進み、文書識別子をキーにその検索文書の特徴語と当該特徴語の重みを表す重み値とに基づいて、ステップＳ５０３でクラスタリングされたクラスタごとに、そのクラスタ内の検索文書に対して第２のクラスタリングが行なわれる。
【００４０】
ステップＳ５０５に進み、クラスタリングされた検索文書にクラスタ番号が付与される。ユーザに対して検索結果として出力される際は、適合度スコアとクラスタ番号が利用されて検索結果が表示される。以下この検索段階について詳細に説明する。
【００４１】
（文書検索）
まず、索引ファイルが利用されて検索条件に該当する検索文書が検索される処理について詳しく説明する。なお、この処理はステップＳ５０１に相当する。
【００４２】
文書検索部３０１は、ユーザの端末３により入力された検索語等の検索条件から、文書の全文検索を行なって検索条件に該当する検索文書を検索する。具体的には、検索語を索引ファイルと同じ索引単位に分割し、索引ファイルデータベース３０６の索引ファイルを利用してその検索語が含まれる文書を検索する。
【００４３】
図６は、索引ファイルのデータ構成を模式的に示す図である。索引ファイルは、転置方式の索引を有し、文書保管装置２に保管された文書（全文データ）から作成された転置索引が登録されている。具体的には、索引ファイルはキーワードと文書頻度とを対応付けて保持している（構造１）。また、キーワードごとに、文書ＩＤ（文書識別子）と文書内頻度とを対応付けて保持している（構造２）。また、文書ＩＤとテキストデータの文書長とを対応付けて保持している（構造３）。また、索引ファイルにおける登録文書数を保持している。
【００４４】
（文書スコアリング）
次に、検索文書に対する文書スコアリングの処理について詳しく説明する。なお、この処理はステップＳ５０２に相当する。
【００４５】
文書スコアリング部３０２は、文書検索部３０１により検索された文書（検索文書）に対して検索条件との適合度を表す適合度スコアを算出し、その適合度スコアによって検索文書を順序付ける。
【００４６】
適合度スコアは、例えば、図７の式により算出されることが知られている。文書Ｄj におけるキーワードＱi のスコアである。ここで、ｔｆij は、キーワードＱi の文書Ｄj 中における出現数、すなわち文書内頻度である。ｄｆi は、キーワードＱi を含む文書の数、すなわち文書頻度である。Ｎは、登録文書数である。ｔｆij としては、索引ファイルにおける文書内頻度が利用される。ｄｆi としては、索引ファイルにおける文書頻度が利用される。Ｎとしては、索引ファイルにおける登録文書数が利用される。
【００４７】
図８は、文書スコアリング部３０２により検索文書（文書ＩＤ１−１０）に対して適合度スコアが算出され降順にソートされた様子を示す図である。なお、全文検索システムの中にはこの図８に示す結果を反映してそれを検索結果とするシステムもある。検索条件に該当する文書を適合度スコア順に検索結果として扱って出力するシステムの場合である。しかしながら、本発明による情報処理装置１はこれを最終の検索結果とせずに、さらにこの図８に示す結果を対象にして第１のクラスタリング及び第２のクラスタリングを行なう。
【００４８】
（第１文書クラスタリング）
次に、検索文書に対する第１のクラスタリング処理について詳しく説明する。なお、この処理はステップＳ５０３に相当する。
【００４９】
第１文書クラスタリング部３０３は、文書スコアリング部３０２により文書スコアリングされた検索文書を対象に、適合度スコアに基づいて１回目のクラスタリング（グループ化）を行なう。なお、後述する第２文書クラスタリング部３０４によるクラスタリングは、１回目のクラスタリングの後に行なわれる２回目のクラスタリングである。
【００５０】
再度図８を参照するに、文書ＩＤ１−１０の文書のようにスコア降順にソートされた検索文書は、ある検索語を入力して得られた適合度スコアが近い文書であるのでその内容は似たような文書であるといえる。よって、適合度スコアをある範囲で区切って第１のクラスタリングを行う。例えば、適合度スコア値のとりうる値が0以上1未満の範囲である場合、第１のクラスタリングでは適合度スコア値の0以上0.1未満、0.1以上0.2未満、・・・、0.9以上1未満などのように10区分のクラスタ（グループ）に分類する。
【００５１】
図９は、図８に示す結果に対して第１のクラスタリングを行った結果を示す。適合度スコア順にソートされた検索結果の上位４件（文書ＩＤ１、３、１０、５）がクラスタＡ（グループＡ）となり、中位２件（文書ＩＤ４、２）がクラスタＢ（グループＢ）、下位２件（文書ＩＤ６、７）がクラスタＣ（グループＣ）となる。
【００５２】
また、ここで第１のクラスタリングの変形例として、クラスタリング精度を高めるため平均変化率を用いることもできる。図１０は、適合度スコアの平均変化率を算出する式を示す。ここで、Siは結果のi番目のスコアで、Ｎは検索結果件数である。この式を用いて図８に示す結果からこの平均変化率を求めると、0.053となる。そして、この平均変化率よりも大きくスコアが変動している箇所でクラスタを分類する。図８に示す結果によれば、文書ＩＤ５と文書ＩＤ４の間のスコアの変化は、0.314であり、この場合の平均変化率（0.053）よりも大きい。これは平均変化率よりも大きく変化しているため別クラスタとすることができる。よって、図１１に示すとおりクラスタリングされる。上位４件（文書ＩＤ１、３、１０、５）がクラスタＡ（グループＡ）となり、下位４件（文書ＩＤ４、２、６、７）がクラスタＢ（グループＢ）となる。
【００５３】
（第２文書クラスタリング）
次に、検索文書に対する第２のクラスタリング処理について詳しく説明する。なお、この処理はステップＳ５０４に相当する。
【００５４】
第２文書クラスタリング部３０６は、第１のクラスタリングを行なった結果得られるクラスタ内（グループ内）ごとに第２のクラスタリングを行う。第２のクラスタリングは、特徴語ファイルデータベース３０８に登録された特徴語ファイルから特徴語とその重みを取得し、特徴語がいくつか一致する文書（文書識別子）は同じクラスタであると判断して文書のクラスタリングを行う。ここでは図１１を参照して、これを第１のクラスタリングを行なった結果として説明する。文書ＩＤ１、３、１０、５がクラスタＡ（グループＡ）、文書ＩＤ４、２、６、７がクラスタＢとなっている。そして、クラスタＡ内の文書ＩＤ１、３、１０、５で第２のクラスタリングを行なう。同様に、クラスタＢ内の文書ＩＤ４、２、６，７で第２のクラスタリングを行なう。
【００５５】
第２のクラスタリングでは、特徴語ファイルデータベース３０７に登録された特徴語ファイルから特徴語とその重みを取得し、特徴語がいくつか一致するものは同じクラスタであると判断する。図１２は、文書ＩＤ（文書識別子）をキーに特徴語とその特徴語の重みとが格納されている特徴語ファイルの一例である。第２のクラスタリングでは、例えば、特徴語が３語以上一致する場合に同じクラスタと判断する。クラスタＡ内の文書ＩＤ１、３、１０、５において、文書ＩＤ１と文書ＩＤ１０の文書は、特徴語が３語一致している。具体的には特徴語「全文」、「検索」、「転置」という３語で一致している。また、文書ＩＤ３と文書ＩＤ５の文書は、特徴語が４語一致している。具体的には特徴語「全文」、「検索」、「ベクトル」、「高速」という４語で一致している。よって、クラスタＡにおいて、第２のクラスタリングの結果、文書ＩＤ１と文書ＩＤ１０のクラスタ、及び文書ＩＤ３と文書ＩＤ５のクラスタに分類することができる。同様に、クラスタＢ内の文書ＩＤ４、２、６、７において、文書ＩＤ４、２、７は特徴語が３語一致するので同一のクラスタに分類できる。
【００５６】
図１３は、第２のクラスタリングの結果をまとめたものである。検索文書は、クラスタ番号１−４が付与され４つのクラスタ（グループ）によって分類されている（ステップＳ５０５に相当）。繰り返しとなるが同じクラスタに分類された文書はその内容が類似していることを意味する。最終的にこの図１３に示す結果は出力部３０５に渡される。
【００５７】
また、ここで第２のクラスタリングの変形例として、クラスタリング精度を高めるために各文書の特徴語を文書ベクトルで表し、そのベクトルが成す角度の余弦を用いてクラスタリングを行なう。文書ベクトルが成す角度の余弦を利用してクラスタリングを行なう手法は、図１４の式により算出されることが知られている。特徴語をベクトル表現にし、２つの文書間の文書ベクトルが成す角度の余弦を求め、ある閾値内であればその２つの文書は同じクラスタであると判断する。文書ベクトルが成す角度の余弦は２つの文書間ごとに求める。
【００５８】
例えば、図１２の特徴語をベクトルにすると、以下のようになる。文書ＩＤ１と３の特徴語をすべて列挙すると、(全文、検索、転置、スコア、ベクトル、高速)となる。この順で重み（１とする）をベクトル表記すると、
d1 = (1, 1, 1, 1, 0, 0)
d3 = (1, 1, 0, 0, 1, 1)
となる。そして、余弦s(d1,d3)を求めると、0.5となる。
【００５９】
また、文書番号１と１０の特徴語をすべて列挙すると、(全文、検索、転置、スコア、重み）となる。この順で重みをベクトル表記すると、
d1 = (1, 1, 1, 1, 0)
d10 = (1, 1, 1, 0, 1)
となる。その余弦s(d1,d10)は0.75となる。同様にして、文書番号１と５の余弦s(d1,d5)は0.5となる。
【００６０】
ここで、余弦が0.7以上のものを同じクラスタであるとすると（余弦の値が大きいほど文書の距離が近い、つまり類似文書である）、クラスタＡ内の検索文書では文書ＩＤ１と１０が同じクラスタと判断される。クラスタＡのうち残りの文書ＩＤ３と５でも同様に判断する。クラスタＢに対しても同様の処理を行うと、図１３のような結果が得られる。
【００６１】
文書ベクトルが成す角度の余弦は２つの文書間でしか求めることができないが、これは上述した特徴語が３語以上一致する場合に同じクラスタと判断する方法をとっても同様のことがいえる。即ち、すべての文書を対象に２つの文書間の類似度をみてクラスタリングを行う方法では、必要とされる計算量は非常に多くなる。この為、計算量を減らすため様々な方法は提案されているが、本発明では迅速に検索結果を得る為、検索時に得られる適合度スコアを利用してまず第１のクラスタリングを行ない、その計算対象（計算量）を減らした上で第２のクラスタリングを行うものである。なお、本実施例では説明上検索文書数は１０としたが、実際この数が多くなるほど従来のクラスタリング方法と比してクラスタリングに要する時間（及び計算量）の差は大きくなる。
【００６２】
（検索結果の出力）
出力部３０５は、適合度スコア及びクラスタリングの観点から、検索結果（検索文書のリスト）を出力する。図１３を参照して説明するに、上述した第１、２のクラスタリングにより各検索文書（文書ＩＤ１−１０）はクラスタ番号が付されてグループ化された。
【００６３】
ところで、転置索引を用いた多くの全文検索システムでは、検索結果一覧を表示するときに、入力されたキーワードと検索にヒットした文書との適合率をスコアという数値に表し、スコアの大きなものから順番に、検索結果一覧に表示（ランキング検索）することは上述した。しかしながら、同一文書や類似文書に対して、単純にランキング検索を行なうと、同一又は類似の文書はそのスコア値もほぼ同じになるので、スコア順でソートした場合同じような文書が連続して表示される。よって、同一又は類似する文書を分類する文書クラスタリングにより、検索対象として同一又は類似する文書をグループ化する。そして、検索結果には各グループの代表文書のみを表示すればよい。これにより、同じような内容の文書の表示されることなく見やすい検索結果を表示することができる。
【００６４】
図１５は、出力部３０５により出力された検索結果（検索文書のリスト）の一例である。スコア降順にソートされ、且つクラスタ（グループ）１−４ごとの代表文書（先頭文書）が検索結果に表示されている。また、クラスタ番号３は、３つの文書（文書ＩＤ「４」、「２」、「７」）が属しており、文書ＩＤ「２」、「７」の文書は、代表文書である文書ＩＤ「４」の文書に紐付けられて参照可能になっている。
【００６５】
以上、本実施例による情報処理装置１は、検索時に得られる適合度スコアを利用して第１のクラスタリングを行ない、その計算対象（計算量）を減らした上で第２のクラスタリングを行うので検索文書に対して効率的なクラスタリングを行なうことができ、結果迅速に検索結果を提供することができる。即ち、本発明によれば、効率的な文書クラスタリングを行なうようにし、迅速に提供されて見やすい全文検索結果により目的の文書への到達を容易にする情報処理装置、全文検索方法、全文検索プログラム、及び記録媒体を提供することが可能となる。
【００６６】
（特徴語の抽出について）
最後に特徴語の抽出について説明する。特徴語はその重みとともに特徴語ファイルに登録されている。また第２のクラスタリングにおいて、特徴語ファイルが用いられ登録される特徴語及びその重み（重み値）に基づいて検索文書のクラスタリング（判断）が行なわれることは上述した。とすると文書において如何なる単語を特徴語とするかは、クラスタリング結果（そのクラスタリング精度）に影響することになる。よってここでは、より精度の高いクラスタリング（第２のクラスタリングに相当）を行なうため特徴語の抽出方法について簡単に説明する。
【００６７】
特徴語を抽出するにあたって用いられる値として、TFIDF（TF-IDF）値がある。TFIDFは文章中の特徴的な単語（重要とみなされる単語）を抽出するためのアルゴリズムであり情報検索や文章要約などの分野で利用される。
【００６８】
文書（全文データ）から得られる単語の出現頻度を表すTF値と、コーパスを検索した結果得られる単語の出現頻度であるDF値（又は逆出現頻度であるIDF値）とからTFIDF値を求め、TFIDF値がある閾値以上のもののみを特徴語とすることにより特徴語の抽出を行う。なお、コーパスとは、多数の単語が含まれているデータベースのようなもので、各単語とその出現頻度(DF値)が格納されているものとする。多くのドキュメントに出現する一般的な単語は重要度を下げて、特定のドキュメントにしか出現しない単語の重要度を上げる役割がある。
【００６９】
特徴語の抽出条件は、例えば、
１、TFIDF値がある閾値以上であるものすべて
２、TFIDF値がある閾値以上であるもののうち上位Ｎ件
とする。
【００７０】
また、文書（全文データ）から得られる単語の出現頻度を表すTF値と、形態素解析時に得られる生起コストから重み値を求め、重み値がある閾値以上のもののみを特徴語とすることにより特徴語の抽出を行う。なお、生起コストとは、その単語の出現しやすさを表した数値で、コーパス内での出現頻度であるDF値と同様に扱うことが可能である。生起コストが大きいものは出現しやすい単語となるので、生起コストが小さくTF値が大きい単語がその文書の特徴語とすることができる。
【００７１】
特徴語の抽出条件は、例えば、
1. 重み値がある閾値以上であるものすべて
2. 重み値がある閾値以上であるもののうち上位Ｎ件
とする。
【００７２】
＜実施例２＞
本実施例による情報処理装置１の一使用形態について説明する。実施例１において、本発明による情報処理装置１は、適合度スコアによって検索文書に対する第１のクラスタリング処理を行い、その後、各クラスタ内で検索文書に対する第２のクラスタリング処理を行うことを説明した。ところで、適合度スコアは、検索条件との適合度であって、クラスタリングを行う文書間の距離とは別の次元のものである。従って、適合度スコアが近いものは似ている文書となる可能性は高いが、適合度スコアが必ずしも近くなくても類似する文書が存在する場合がある。例えば、図１２を再び参照すると、文書ＩＤ「６」の文書と、文書ＩＤ「３」及び「５」の文書とは、特徴語及び重みが同じ（又は類似）であるにもかかわらず、図１３の第２のクラスタリング結果においては、異なるクラスタ番号としてクラスタリングが行われている。即ち、文書ＩＤ「６」の文書はクラスタ番号「４」に、文書ＩＤ「３」及び「５」の文書はクラスタ番号「５」にクラスタリングされている。これは、適合度スコアによる第１のクラスタリング処理により、文書ＩＤ「６」の文書と、文書ＩＤ「３」及び「５」の文書とが、別のクラスタとして処理されたことに起因しているのである。そこで実施例２においては、このように適合度スコアが必ずしも近くなくても類似する文書が存在する場合の対処として、第２のクラスタリングの結果に対しさらにクラスタ間のマージ処理を行う。
【００７３】
（機能）
図１６は、本発明の実施例に係る情報処理装置１の一実施形態の主要機能を示す機能ブロック図である。情報処理装置１は、主要な機能として、文書検索部３０１、文書スコアリング部３０２、第１文書クラスタリング部３０３、第２文書クラスタリング部３０４、出力部３０５、索引ファイルデータベース３０６、特徴語ファイルデータベース３０７、及びクラスタマージ部３０８を含む構成である。
【００７４】
なお、クラスタマージ部３０８以外の各機能部については、上述した通りであるのでその説明を省略する。
【００７５】
（クラスタ間のマージ処理）
次に、クラスタ間のマージ処理について詳しく説明する。図１７は、クラスタ間のマージ処理を説明するフローチャートである。以下、図を参照しつつ具体的に説明を行う。なお、図中ステップＳ５０１〜Ｓ５０５（図５）は上述した通りであるので説明を省略する。図中のステップＳ５０５では、第２のクラスタリング処理がなされて検索文書にクラスタ番号が付与されている。例えば、図１３を参照すると、第２のクラスタリングの結果によって、クラスタは１〜４つのクラスタ（番号）に分類されており、以下クラスタ間のマージ処理について説明する。
【００７６】
ステップＳ５０６において、クラスタマージ部３０８は、各クラスタから代表文書を取得する。具体的に、第２のクラスタリング処理によりクラスタリングされた各クラスタ内の文書から、例えば、最も適合度スコアが上位の文書を代表文書として取得する。図１３に示される第２のクラスタリングの結果では、クラスタは１〜４つのクラスタに分類されており、各クラスタの代表文書は、最も適合度スコアが上位の文書、つまりそれぞれ文書ＩＤ「１」、「３」、「４」、「６」の文書となる。
【００７７】
ステップＳ５０７で、次に再び特徴語ファイルデータベース３０７に登録された特徴語ファイルから、これら代表文書に対応する特徴語とその重みを取得する。具体的に、代表文書である文書ＩＤ「１」、「３」、「４」、「６」の文書に対応する特徴語とその重みを、図１２に示される特徴語ファイルから取得する。
【００７８】
ステップＳ５０８で、クラスタマージ部３０８は、各クラスタの代表文書の特徴語とその重みを用いて、代表文書間（クラスタ間）の距離を算出する。距離の算出は、前述の第２のクラスタリング処理で説明した方法を行うことができる。例えば、代表文書である文書ＩＤ「３」の文書と、文書ＩＤ「６」の文書とは、取得された特徴語とその重みは、（全文,１）、（検索,１）、（ベクトル,１）、（高速,１）である。クラスタ間の距離として、例えば、特徴語が一致する数を距離として算出する。この距離は２つの代表文書間ごとに求める。また例えば、代表文書の特徴語と重み値をベクトル表現にし、２つの文書間の文書ベクトルが成す角度の余弦を求め、その余弦（値）を距離として算出する。文書ベクトルが成す角度の余弦は２つの代表文書間ごとに求める。
【００７９】
ステップＳ５０９で、クラスタマージ部３０８は、距離の近い代表文書があるか判断する。判断は、距離が所定の閾値と比較することにより行なう。例えば、特徴語が閾値数（例えば３語）以上一致する場合に、その２つの代表文書は距離が近いと判断する。また例えば、文書ベクトルが成す角度の余弦が、所定の閾値（余弦０．７）内であれば、その２つの代表文書は距離が近いと判断する。
【００８０】
ステップＳ５１０で、その２つの代表文書は距離が近いと判断されると、クラスタマージ部３０８は、その２つの代表文書が属するクラスタ同士のマージを行う。例えば、文書ＩＤ「３」の文書と文書ＩＤ「６」の文書は、特徴語が４語一致しているので、文書ＩＤ「３」の文書と文書ＩＤ「６」の文書は、文書の距離が近いと判断される。そして代表文書の距離が近いと判断されたので、クラスタ番号「２」とクラスタ番号「４」のクラスタ間の距離も近いと判断される。よってこの場合、クラスタ番号「２」とクラスタ番号「４」のクラスタは、マージされる。
【００８１】
ステップＳ５１１で、マージされた検索文書にクラスタ番号が改めて付与される。図１８は、クラスタ間のマージ処理結果を示す図の一例である。クラスタ番号「４」に属する文書、つまりクラスタ文書ＩＤ「６」の文書は、クラスタ番号「２」のクラスタ内にマージ（統合）されていることが示されている。
【００８２】
図１９は、出力部３０５により出力されたマージ処理後の検索結果（検索文書のリスト）の一例である。スコア降順にソートされ、且つクラスタ（グループ）１−３ごとの代表文書（先頭文書）が検索結果に表示されている。また、クラスタ番号２は、３つの文書（文書ＩＤ「３」、「５」、及びマージされた「６」）が属しており、文書ＩＤ「５」及び「６」の文書は代表文書である文書ＩＤ「３」の文書に紐付けられて参照可能になっている。
【００８３】
なお一方、ステップＳ５０９で、距離の近い代表文書がないと判断された場合、クラスタ間のマージ処理の必要はないので、マージ処理を行わずに処理を終了する。この場合、ステップＳ５０５による処理結果（例えば図１３参照）が維持される。
【００８４】
以上、本実施例による情報処理装置１は、第２のクラスタリングの結果に対しさらにクラスタ間のマージ処理を行うので、適合度スコアが必ずしも近くなくても類似する文書が存在する場合、これら適合度スコアが近くなくても類似する文書を同じクラスタに分類できる。従って、検索結果の精度をより高めることが可能となる。
【００８５】
なお、本実施例においては、第２のクラスタリングの結果によって、クラスタは１〜４つのクラスタ（番号）に分類されており、これら４つのクラスタ間においてマージ処理を試みるものとして説明を行った。しかしながら、第２のクラスタリングの結果によって、非常に多くのクラスタが存在するような場合に、各クラスタ内の代表文書間（クラスタ間）の距離を算出するとその計算量は膨大になる。そこで、各クラスタ内の代表文書間の距離の算出において、その対象とする代表文書の上限を決めておくとよい。その計算量を少なくすることができるからである。
【００８６】
例えば、第２のクラスタリングの結果、１００つのクラスタに分類された場合を想定する。一のクラスタ内の代表文書と、それ以外の全てのクラスタ内の代表文書との距離を算出していくと、その計算数は、
100 × 99 / 2 = 4950
となってしまい、その計算量は膨大になる。従って、マージ対象のクラスタは、そのクラスタ自身から順に、例えば５つ先のクラスタまでと上限を決めておく。すると、一のクラスタ内の代表文書と、順に５つ先のクラスタ内の代表文書との距離を算出していくことになり、その計算数は、
(100 - 5) x 5 + 4 + 3 + 2 = 484
となる。このように各クラスタ内の代表文書間の距離の算出において、その対象とする代表文書の上限を決めておくことで、その計算量を4950から484へと大きく減少することができる。
【００８７】
本実施例は、適合度スコアが必ずしも近くなくても類似する文書が存在する場合に備えて、クラスタ間のマージ処理を行うものである。しかしその一方では、やはり適合度スコアが近いものは似ている文書となる可能性は高いといえる。つまり、適合度スコアが必ずしも近くなくても類似する文書が存在するものと考慮しつつ、スコア値があまりに大きく異なるようなクラスタ内の代表文書は別の文書であると想定できる。従って、クラスタ内の文書はクラスタ毎にスコア順にソートされているので、各クラスタ内の代表文書間の距離の算出において、その対象とする代表文書の上限を所定のクラスタ順までと決めておくことで、その計算量を少なくし、効率的な文書クラスタリングを行なうことができる。
【００８８】
以上、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８９】
１        情報処理装置
２        文書管理装置
３        端末
５        ネットワーク
２０１    ＣＰＵ
２０２    ＲＯＭ
２０３    ＲＡＭ
２０４    補助記憶装置
２０５    記憶媒体読取装置
２０６    入力装置
２０７    表示装置
２０８    通信装置
３０１    文書検索部
３０２    文書スコアリング部
３０３    第１文書クラスタリング部
３０４    第２文書クラスタリング部
３０５    出力部
３０６    索引ファイルデータベース
３０７    特徴語ファイルデータベース
３０８    クラスタマージ部
【先行技術文献】
【特許文献】
【００９０】
【特許文献１】特開２００６−３１２０９号公報
【非特許文献】
【００９１】
【非特許文献１】真野博子、伊藤秀夫、小川泰嗣「文書検索におけるランキング検索技術」、リコーテクニカルレポート、Ｎｏ２９、２００３年１２月１２日、http://www.ricoh.co.jp/about/business_overview/report/29/pdf/A2902.pdf
【非特許文献２】岸田 和明、文書クラスタリングの技法：文献レビュー Techniques of Document Clustering: A Review．Library and Information Sience No.49,2003、http://wwwsoc.nii.ac.jp/mslis/pdf/LIS49033.pdf
【図１】
2010009577.tif 000003
【図２】
2010009577.tif 000004
【図３】
2010009577.tif 000005
【図４】
2010009577.tif 000006
【図５】
2010009577.tif 000007
【図６】
2010009577.tif 000008
【図７】
2010009577.tif 000009
【図８】
2010009577.tif 000010
【図９】
2010009577.tif 000011
【図１０】
2010009577.tif 000012
【図１１】
2010009577.tif 000013
【図１２】
2010009577.tif 000014
【図１３】
2010009577.tif 000015
【図１４】
2010009577.tif 000016
【図１５】
2010009577.tif 000017
【図１６】
2010009577.tif 000018
【図１７】
2010009577.tif 000019
【図１８】
2010009577.tif 000020
【図１９】
2010009577.tif 000021