(57)【特許請求の範囲】
【請求項１】
検索対象とする文書を格納した文書記憶手段、文書検索手段、重心選択手段、ベクトル生成手段、ベクトル記憶手段、クラスタ生成手段、クラスタ記憶手段を有する文書検索支援装置において、利用者が要求する検索条件に合致する文書を検索するための文書検索支援方法であって、
前記文書検索手段が、前記利用者から入力された前記検索条件に合致する文書を、前記文書記憶手段から取得する文書検索ステップと、
前記重心選択手段が、前記文書検索ステップで取得した文書それぞれについて、入力された各検索条件に含まれるある単語Ａと該単語Ａ以外の同一検索条件に含まれる単語Ｂが文書中に出現する位置の距離に基づいて、該文書中に出現する単語Ａにスコアを付与し、該スコアが最も小さい単語の文書中の位置を重心位置として特定する処理を該検索条件に含まれる全単語について行う重心選択ステップと、
前記ベクトル生成手段が、前記文書記憶手段から取得した各文書中から、前記重心位置を中心とする一定範囲内に出現する単語と該単語の出現回数を集計して、文書毎のベクトルを取得し、前記ベクトル記憶手段に格納するベクトル生成ステップと、
前記クラスタ生成手段が、前記ベクトル記憶手段に格納されている各文書のベクトル間の距離を計算し、距離が近い文書同士を統合してクラスタを形成させ、前記クラスタ記憶手段に格納するクラスタ生成ステップと、
を行うことを特徴とする文書検索支援方法。
【請求項２】
主要キーワード取得手段を更に有する文書検索支援装置において、
前記主要キーワード取得手段が、前記クラスタ記憶手段に格納されているクラスタの構成文書に基づいて、前記ベクトル記憶手段のベクトルを参照して、各単語毎に重みの総和を求め、該総和の大きい単語から上位Ｎ語を主要キーワードとして選択する主要キーワード取得ステップを、
更に行う請求項１記載の文書検索支援方法。
【請求項３】
代表情報生成手段を更に有する文書検索支援装置において、
前記クラスタ記憶手段に格納されている前記クラスタの構成文書のそれぞれについて、前記主要キーワードの出現位置を特定し、該出現位置を中心とする一定範囲を文書の重要箇所として取得する代表情報生成ステップを、
更に行う請求項２記載の文書検索支援方法。
【請求項４】
前記重心選択ステップにおいて、
前記重心選択手段が、前記利用者から入力される検索条件を複数の単語に分割可能な場合は、単語Ｗ１〜Ｗｎに分割し、文書中に単語Ｗ１が複数回出現する場合は、単語Ｗ１の第１の出現位置から最も近い位置にあるＷ２との距離で決まる重み、単語Ｗ１の第１の出現位置から最も近い位置にあるＷ３との距離で決まる重み，…，単語Ｗ１の出現位置から最も近い位置にあるＷｎとの距離で決まる重み，の合計値を第１のＷ１のスコアとして記憶手段に記録し、同様に該単語Ｗ１の第２、第３，…の出現位置についてもスコアを計算し、スコアが最小のＷ１の出現位置を、前記文書中での単語Ｗ１の重心と判定し、同様に、他の単語Ｗ２〜Ｗｎの重心位置を決定することで、該検索条件を構成する単語Ｗ１〜Ｗｎの重心位置を該文書毎に決定し、
また、前記検索条件を複数の単語に分割不可能な場合には、該検索条件の文書中で最も文頭に近い出現位置を重心と判定する、
請求項１乃至３記載の文書検索支援方法。
【請求項５】
利用者が要求する検索条件に合致する文書を検索するための文書検索支援装置であって、
前記利用者から入力された前記検索条件に合致する文書を、前記文書記憶手段から取得する文書検索手段と、
前記文書検索手段で取得した文書それぞれについて、入力された各検索条件に含まれるある単語Ａと該単語Ａ以外の同一検索条件に含まれる単語Ｂが文書中に出現する位置の距離に基づいて、該文書中に出現する単語Ａにスコアを付与し、該スコアが最も小さい単語の文書中の位置を重心位置として特定する処理を該検索条件に含まれる全単語について行う重心選択手段と、
前記文書記憶手段から取得した各文書中から、前記重心位置を中心とする一定範囲内に出現する単語と該単語の出現回数を集計して、文書毎のベクトルを取得し、前記ベクトル記憶手段に格納するベクトル生成手段と、
前記ベクトル記憶手段に格納されている各文書のベクトル間の距離を計算し、距離が近い文書同士を統合してクラスタを形成させ、前記クラスタ記憶手段に格納するクラスタ生成手段と、
を有することを特徴とする文書検索支援装置。
【請求項６】
前記クラスタ記憶手段に格納されているクラスタの構成文書に基づいて前記ベクトル記憶手段のベクトルを参照して、各単語毎に重みの総和を求め、該総和の大きい単語から上位Ｎ語を主要キーワードとして選択する主要キーワード取得手段を、
更に有する請求項５記載の文書検索支援装置。
【請求項７】
前記クラスタ記憶手段に格納されている前記クラスタの構成文書のそれぞれについて、前記主要キーワードの出現位置を特定し、該出現位置を中心とする一定範囲を文書の重要箇所として取得する代表情報生成手段を、
更に有する請求項６記載の文書検索支援装置。
【請求項８】
前記重心選択手段は、
前記利用者から入力される検索条件を複数の単語に分割可能な場合は、単語Ｗ１〜Ｗｎに分割し、文書中に単語Ｗ１が複数回出現する場合は、単語Ｗ１の第１の出現位置から最も近い位置にあるＷ２との距離で決まる重み，単語Ｗ１の第１の出現位置から最も近い位置にあるＷ３との距離で決まる重み，…，単語Ｗ１の出現位置から最も近い位置にあるＷｎとの距離で決まる重み、の合計値を第１のＷ１のスコアとして記憶手段に記録し、同様に該単語Ｗ１の第２、第３，…の出現位置についてもスコアを計算し、スコアが最小のＷ１の出現位置を、前記文書中での単語Ｗ１の重心と判定し、同様に、他の単語Ｗ２〜Ｗｎの重心位置を決定することで、該検索条件を構成する単語Ｗ１〜Ｗｎの重心位置を該文書毎に決定し、
また、前記検索条件を複数の単語に分割不可能な場合には、該検索条件の文書中で最も文頭に近い出現位置を重心と判定する手段を含む
請求項５乃至７記載の文書検索支援装置。
【請求項９】
請求項５乃至８のいずれか１項に記載の文書検索支援装置を構成する各手段としてコンピュータを機能させるための文書検索支援プログラム。
【請求項１０】
請求項９に記載の文書検索支援プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書検索支援方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体に係り、特に、文書検索を効率よく行うために、利用者が要求する検索条件に合致する文書を、検索条件を用いて整理、表示するための文書検索支援方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
通常の文書検索では、利用者の検索要求に直接的に合致する文書を提示する手法が用いられる。しかし、対象の文書数が膨大な場合には、条件との単純な整合をとるだけでは文書数の十分な絞り込みが行えず、利用者は効率的な文書取得ができない。
【０００３】
このため、キーワードに加え、文書の作成時刻や文書のジャンル情報など、複数の条件を統合的に指定する検索方法がある（例えば、特許文献１参照）。
【０００４】
他にも、「経済」「社会」などの文書のジャンル情報や、「国際原子力機関＝組織」「国際連合＝組織」のように、文書中に出現する語句の種別情報などの付加情報を予め文書に付与しておき、利用者が与えるキーワードによって文書の絞り込みを行った後に、該付加情報を用いて文書を自動的に整理し、ラベルと呼ぶ代表情報を提示することで検索を支援する技術がある。
【特許文献１】特開２００５−３３９１３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の既存技術は、各文書に対してジャンル情報や語句の種別情報などを付与しておくことが前提であり、人手による付与作業を行うか、もしくは語句の種別を記録した特殊な辞書を準備する必要がある。
【０００６】
本発明は、上記の点に鑑みなされたもので、利用者が指定する検索条件に基づく検索結果の整理と提示を、事前の特殊な準備を要せずに実現する文書検索支援方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
図１は、本発明の原理を説明するための図である。
【０００８】
本発明（請求項１）は、検索対象とする文書を格納した文書記憶手段、文書検索手段、重心選択手段、ベクトル生成手段、ベクトル記憶手段、クラスタ生成手段、クラスタ記憶手段を有する文書検索支援装置において、利用者が要求する検索条件に合致する文書を検索するための文書検索支援方法であって、
文書検索手段が、利用者から入力された検索条件に合致する文書を、文書記憶手段から取得する文書検索ステップ（ステップ１）と、
重心選択手段が、文書検索ステップで取得した文書それぞれについて、入力された各検索条件に含まれるある単語Ａと該単語Ａ以外の同一検索条件に含まれる単語Ｂが文書中に出現する位置の距離に基づいて、該文書中に出現する単語Ａにスコアを付与し、該スコアが最も小さい単語の文書中の位置を重心位置として特定する処理を該検索条件に含まれる全単語について行う重心選択ステップ（ステップ２）と、
ベクトル生成手段が、文書記憶手段から取得した各文書中から、重心位置を中心とする一定範囲内に出現する単語と該単語の出現回数を集計して、文書毎のベクトルを取得し、ベクトル記憶手段に格納するベクトル生成ステップ（ステップ３）と、
クラスタ生成手段が、ベクトル記憶手段に格納されている各文書のベクトル間の距離を計算し、距離が近い文書同士を統合してクラスタを形成させ、クラスタ記憶手段に格納するクラスタ生成ステップ（ステップ４）と、を行う。
【０００９】
また、本発明（請求項２）は、主要キーワード取得手段を更に有する文書検索支援装置において、
主要キーワード取得手段が、クラスタ記憶手段に格納されているクラスタの構成文書に基づいてベクトル記憶手段のベクトルを参照して、各単語毎に重みの総和を求め、該総和の大きい単語から上位Ｎ語を主要キーワードとして選択する主要キーワード取得ステップ（ステップ５）を、更に行う。
【００１０】
また、本発明（請求項３）は、代表情報生成手段を更に有する文書検索支援装置において、
クラスタ記憶手段に格納されているクラスタの構成文書のそれぞれについて、主要キーワードの出現位置を特定し、該出現位置を中心とする一定範囲を文書の重要箇所として取得する代表情報生成ステップ（ステップ６）を、更に行う。
【００１１】
また、本発明（請求項４）は、重心選択ステップにおいて、
重心選択手段が、利用者から入力される検索条件を複数の単語に分割可能な場合は、単語Ｗ１〜Ｗｎに分割し、文書中に単語Ｗ１が複数回出現する場合は、単語Ｗ１の第１の出現位置から最も近い位置にあるＷ２との距離で決まる重み，単語Ｗ１の第１の出現位置から最も近い位置にあるＷ３との距離で決まる重み，…，単語Ｗ１の出現位置から最も近い位置にあるＷｎとの距離で決まる重み、の合計値を第１のＷ１のスコアとして記憶手段に記録し、同様に単語Ｗ１の第２、第３，…の出現位置についてもスコアを計算し、スコアが最小のＷ１の出現位置を、文書中での単語Ｗ１の重心と判定し、同様に、他の単語Ｗ２〜Ｗｎの重心位置を決定することで、該検索条件を構成する単語Ｗ１〜Ｗｎの重心位置を該文書毎に決定し、
また、検索条件を複数の単語に分割不可能な場合には、該検索条件の文書中で最も文頭に近い出現位置を重心と判定する。
【００１２】
図２は、本発明の原理構成図である。
【００１３】
本発明（請求項５）は、利用者が要求する検索条件に合致する文書を検索するための文書検索支援装置であって、
利用者から入力された検索条件に合致する文書を、検索対象とする文書を格納した文書記憶手段３０１から取得する文書検索手段３０６と、
文書検索手段３０６で取得した文書それぞれについて、入力された各検索条件に含まれるある単語Ａと該単語Ａ以外の同一検索条件に含まれる単語Ｂが文書中に出現する位置の距離に基づいて、該文書中に出現する単語Ａにスコアを付与し、該スコアが最も小さい単語の文書中の位置を重心位置として特定する処理を該検索条件に含まれる全単語について行う重心選択手段３０７と、
文書記憶手段３０１から取得した各文書中から、重心位置を中心とする一定範囲内に出現する単語と該単語の出現回数を集計して、文書毎のベクトルを取得し、ベクトル記憶手段３０９に格納するベクトル生成手段３０８と、
ベクトル記憶手段に格納されている各文書のベクトル間の距離を計算し、距離が近い文書同士を統合してクラスタを形成させ、クラスタ記憶手段３１１に格納するクラスタ生成手段３１０と、を有する。
【００１４】
また、本発明（請求項６）は、クラスタ記憶手段３１１に格納されているクラスタの構成文書に基づいてベクトル記憶手段３０９のベクトルを参照して、各単語毎に重みの総和を求め、該総和の大きい単語から上位Ｎ語を主要キーワードとして選択する主要キーワード取得手段３１２を、更に有する。
前記クラスタ記憶手段に格納されているクラスタの構成文書に基づいて前記ベクトル記憶手段のベクトルを参照し選択する主要キーワード取得手段を、
更に有する請求項５記載の文書検索支援装置。
【００１５】
また、本発明（請求項７）は、クラスタ記憶手段に格納されているクラスタの構成文書のそれぞれについて、主要キーワードの出現位置を特定し、該出現位置を中心とする一定範囲を文書の重要箇所として取得する代表情報生成手段を、更に有する。
【００１６】
また、本発明（請求項８）は、重心選択手段３０７において、
利用者から入力される検索条件を複数の単語に分割可能な場合は、単語Ｗ１〜Ｗｎに分割し、文書中に単語Ｗ１が複数回出現する場合は、単語Ｗ１の第１の出現位置から最も近い位置にあるＷ２との距離で決まる重み，単語Ｗ１の第１の出現位置から最も近い位置にあるＷ３との距離で決まる重み，…，単語Ｗ１の出現位置から最も近い位置にあるＷｎとの距離で決まる重み，の合計値を第１のＷ１のスコアとして記憶手段に記録し、同様に単語Ｗ１の第２、第３，…の出現位置についてもスコアを計算し、スコアが最小のＷ１の出現位置を、文書中での単語Ｗ１の重心と判定し、同様に、他の単語Ｗ２〜Ｗｎの重心位置を決定することで、該検索条件を構成する単語Ｗ１〜Ｗｎの重心位置を該文書毎に決定し、
また、前記検索条件を複数の単語に分割不可能な場合には、該検索条件の文書中で最も文頭に近い出現位置を重心と判定する手段を含む。
【００１７】
本発明（請求項９）は、請求項５乃至８のいずれか１項に記載の文書検索支援装置を構成する各手段としてコンピュータを機能させるための文書検索支援プログラムである。
【００１８】
本発明（請求項１０）は、請求項９に記載の文書検索支援プログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１９】
本発明によれば、検索条件を構成する単語間の距離を用い、出現位置を中心とする一定範囲を文書の重要箇所として取得することで、以後に行う文書の整理処理の正確性を高めるものである。
【００２０】
また、ベクトル間の距離が小さい、すなわち同じ形態素を多く含む文書同士が同じクラスタに統合される結果、類似文書からなるクラスタが複数得ることができる。
【００２１】
また、クラスタから各クラスタを代表する単語である主要キーワードを決定することにより、各クラスタを形成する過程で強く影響を及ぼした単語を選択することができる。
【００２２】
上記のように、検索結果を表示する際に、各文書中において検索条件の周辺に出現する単語を用いて類似文書のクラスタリングを行い、各クラスタを代表する情報も、検索条件の周辺情報を利用して取得するため、事前に特別な辞書等の知識を与えることなく、利用者の検索意図に即した検索結果の整理と提示を行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面と共に本発明の実施の形態を説明する。
【００２４】
図３は、本発明の一実施の形態における文書検索支援装置の構成図である。
【００２５】
同図に示す文書検索支援装置は、文書記録部３０１、文書解析部３０２、単語記録部３０３、検索要求文生成部３０４、検索要求文記録部３０５、文書検索部３０６、重心選択部３０７、ベクトル生成部３０８、ベクトル記録部３０９、クラスタ生成部３１０、クラスタ記録部３１１、主要キーワード取得部３１２、主要キーワード記録部３１３、代表情報生成部３１４、検索結果表示部３１５から構成される。
【００２６】
文書記録部３０１には、本発明において検索対象とする文書を格納する。図４に文書記録部３０１に格納された文書データの例を示す。文書記録部３０１には、各文書に一意に付与しておく文書ＩＤと、各文書の本文とを記録する。
【００２７】
文書解析部３０２は、文書記録部３０１に記録された文書から、条件に合致する文書を検索するための準備である解析処理を事前に行う。文書記録部３０１から文書ＩＤと文書の本文との対を取得し、当該本文を解析して本文中の単語を取得した後、本文中での各単語の出現位置情報、並びに、文書ＩＤと共に単語記録部３０３に記録する。解析処理には、例えば自然言語処理の分野で多く利用される形態素解析手法を用い、文章を構成する最小の構成単位である「形態素」に分割する。形態素解析は、分割した各形態素に品詞情報が付与されるが、本実施の形態の文書解析部３０２は、全ての形態素のうち、「名詞」という品詞情報を持つ形態素のみを取得するものとする。本実施の形態では、以後、本文中から取得した名詞のみを単語と呼び、その後の処理で扱うこととするが、必ずしも名詞に限定されるものではない。
【００２８】
図５は、本発明の一実施の形態における文書解析部が行う処理のフローチャートである。
【００２９】
ステップ１０１）  文書解析部３０２は、文書記録部３０１から１文書分の文書ＩＤと本文を取得する。
【００３０】
ステップ１０２）  取得した本文について形態素解析処理を行う。
【００３１】
ステップ１０３）  形態素解析を行うことにより、単語（ここでは名詞）を取得する。
【００３２】
ステップ１０４）  １文書から取得された単語群を、文書中での出現位置情報、並びに文書ＩＤと共に単語記録部３０３に記録する。
【００３３】
ステップ１０５）  文書記録部３０１中の全文書の解析処理が終わるまで処理を繰り返す。
【００３４】
本処理を行った結果、単語記録部３０３には、図６に示すような単語データが格納される。図６中の“ＳＴＡＲＴ”と“ＥＮＤ”は、本文中での開始位置と終了位置をバイト単位で表すものである。これらの出現位置情報は、文書解析部３０２が形態素解析処理を行った後、文頭から形態素を順に追跡しながら付与するものである。例えば、文書ＩＤ“０００１”の文書では、文頭が「政府は１日、」であるため、「政府」という単語は０バイト目に出現し、日本語の１文字が２バイトの情報量を持つことを考慮すれば、０バイト目から３バイト目までが「政府」の出現位置であることがわかる。文書ＩＤ“０００１”中に２番目に出現する単語「消費税」は、１２バイト目から１７バイト目に出現することが分かるため、同様に“ＳＴＡＲＴ”の値として「１２」が、“ＥＮＤ”の値として「１７」が、それぞれ単語記録部３０３に格納される。以後の単語、及びＩＤ“０００２”以後の文書についても全く同様である。
【００３５】
なお、本発明の検索支援装置に必須の構成要素ではなく、図６に示すようなデータが予め作成され、外部記憶装置等に存在すれば、文書解析部３０１を当該検索支援装置の構成に含めなくともよい。
【００３６】
検索要求文生成部３０４は、利用者が入力する検索条件から、本発明の文書検索部３０６に送る検索要求文を生成する。例えば、利用者が「内閣総理大臣」「外交問題」という２語の検索条件を入力した場合に、「ｑ＝（内閣ｏｒ総理ｏｒ大臣）ａｎｄ（外交ｏｒ問題）」という検索要求文を生成し、検索要求文記録部３０５に記録する。
【００３７】
以下に、検索要求文生成部３０４の処理を詳細に説明する。
【００３８】
図７は、本発明の一実施の形態における検索要求文生成処理のフローチャートである。
【００３９】
ステップ２０１）  まず、検索要求文生成部３０４は、第１の条件である「内閣総理大臣」を取得する。
【００４０】
ステップ２０２）  これを文書解析部３０２に送出して形態素解析処理及び単語（ここでは名詞）の取得を行う。
【００４１】
ステップ２０３）  取得した「内閣」「総理」「大臣」の３単語をバッファ（図示せず）に一時的に保持する。
【００４２】
ステップ２０４）  全ての検索条件を解析したかを判定し、まだ解析していない場合には、ステップ２０１に戻って第２の条件である「外交問題」の処理を行い、同様に「外交」「問題」の２単語をステップ２０３と同様にバッファ（図示せず）に保持する。全ての検索条件を解析した場合には、ステップ２０５の処理を行う。
【００４３】
ステップ２０５）  上記の検索要求文を生成する。なお、上記の検索要求文は、「内閣または総理または大臣のうちのいずれか１個以上の単語を含み、かつ、外交または問題のうちのいずれか１個以上の単語を含む文書」の検索を要求することを表す文である。利用者が入力する検索条件が１語のみ（例えば「内閣総理大臣」のみ）の場合は、検索要求文は「ｑ＝（内閣ｏｒ総理ｏｒ大臣）」となり、形態素解析処理を行っても複数の単語には分割されない検索条件（例えば「内閣」と「外交」）の場合は分割を行わず、検索要求文は「ｑ＝（内閣）ａｎｄ（外交）」となる。
【００４４】
以上の手順で検索要求文生成部３０４が生成した検索要求文は、検索要求文記録部３０５に格納される。
【００４５】
文書検索部３０６は、検索要求文記録部３０５から検索要求文を取得し、単語記録部３０３内に問い合わせて条件に合致する文書を検索し、文書ＩＤの一覧を重心選択部３０７に送出する。
【００４６】
重心選択部３０７は、検索された各文書について、検索要求文中の単語が本文中で互いに近い位置に密集して出現する箇所（重心位置）を選択する。ここでの重心位置とは、利用者が入力した検索条件の１語毎に得る位置情報であり、上記の例では、「内閣総理大臣」と「外交問題」のそれぞれの重心位置を得ることになる。また、重心選択部３０７は、例えば「外交の問題」「外交に関わる問題」のように、検索要求文を構成する「外交」や「問題」などの単語が実際の文書中で連続していない場合であっても、それらが「の」や「に関わる」等の短い語を挟んで近い位置に出現する場合には重心位置であるとあると判定する。このため、それぞれ離れた位置に出現している複数の単語の組をもって１ヶ所の重心位置と呼ぶ場合もある。
【００４７】
図８は、本発明の一実施の形態における重心位置の決定方法を説明するための図である。
【００４８】
同図は、ある１文書の本文を表す。本文中には「問題」という単語が７０１，７０４，７０５の３回出現し、「外交」という単語が７０２，７０３の２回出現している。また、検索要求文として「ｑ＝（内閣ｏｒ総理ｏｒ大臣）ａｎｄ（外交ｏｒ問題）」が与えられているとする。上述したように、重心位置の決定は利用者が入力した検索条件それぞれについて行うが、ここでは「内閣総理大臣」の重心位置は既に決定できたとして「外交問題」の重心位置決定の手順を、図９を用いて説明する。
【００４９】
図９は、本発明の一実施の形態における重心位置決定処理のフローチャートである。
【００５０】
ステップ３０１）  重心選択部３０７は、検索条件を構成する１単語である「外交」を取得する。
【００５１】
ステップ３０２）  同一検索条件である「外交問題」を構成する単語のうち、ステップ３０１で取得した単語以外の１単語、すなわち「問題」を取得する。
【００５２】
ステップ３０３）  本文中に出現する「外交」という単語の各々について、「問題」との距離を調べ、最も近い「問題」との距離をバッファ（図示せず）内に加算する。例えば、図８の７０２の「外交」と本文中の位置が最も近い「問題」が７０１の「問題」であり、これらの２単語間の距離が３０バイトであったとすると、７０２の「外交」のスコアとして３０を加算し、バッファ（図示せず）に記憶させる。続いて、７０３の「外交」については、最も近い「問題」が７０４に隣接しているため、７０３の「外交」のスコアとしては距離０を加算し、バッファ（図示せず）に記憶する。
【００５３】
ステップ３０４）  「外交」以外の全ての単語との最短距離を加算したところで、ステップ３０５に移行する。
【００５４】
ステップ３０５）  ２回出現している「外交」のうち、バッファ（図示せず）内に記憶されているスコアの最も小さいものを「外交」の重心位置として選ぶ。つまり、ユーザが入力した検索条件が、本文中で近い位置に密集して出現している箇所が重心位置として選ばれる。上記の図８の例では、７０２と７０３の「外交」のステップ３０４Ｙｅｓの時点でのスコアである“３０”と“０”を比較した結果、最も小さいスコアを持つ７０３の「外交」が選択され、重心位置と判定する。同じスコアが複数存在する場合は、それらを全て重心位置と判定する。
【００５５】
ステップ３０６）  「問題」についても同様にステップ３０１〜３０５の処理を繰り返し、「外交」「問題」それぞれの重心位置を決定する。７０３の「外交」と７０４の「問題」が隣接しているため、７０４の「問題」のスコアが７０１や７０５の「問題」のスコアに比べて小さくなり、「問題」の重心位置は７０４に決定される。
【００５６】
ここまで、図８を用いて説明したが、実際には重心選択部３０７は、検索要求文を単語記録部３０３の情報と照合させ、図６のように記録されている“ＳＴＡＲＴ”、“ＥＮＤ”の位置情報を用いて最短距離を探索する。
【００５７】
上述の重心選択部３０７における重心位置決定方法は、例えば「外交問題」だけでなく「失業者問題」「問題発言」などのように利用者の検索の意図と異なる意味で「問題」という単語が用いられている文書があった場合に、「外交問題」という文字列を正しく発見することで、以後に行う文書の整理処理の正確性を高めるものである。また、単純に検索条件を本文と照合させて重心位置を決定しているのではなく、検索条件を構成する単語間の距離を用いているため、「外交の問題」のように他の文字を挟んでいる場合でも、正しく重心として検出できる。
【００５８】
なお、例えば、「内閣」のように、形態素解析処理を行っても複数の単語には分割されない検索条件が与えられた場合、上記のように他の単語との距離が測定できない。この場合には、最も文頭に近い位置で出現した「内閣」を優先し、重心位置とする。
【００５９】
重心選択部３０７は、１文書中の重心位置決定を終えると、文書ＩＤと重心位置をベクトル生成部３０８に送出する。例えば、文書ＩＤ“９８７６”の文書において、各文書の重心位置の開始点が、「内閣」が“０”、「総理」が“４”、「大臣」が“８”（つまり文頭から連続して「内閣総理大臣」が出現）であったとし、同様に「外交」が“１００”、「問題」が“１０４”であるとき、ベクトル生成部３０８には、ＩＤ“９８７６”と重心位置０，４，８，１００，１０４が伝達される。
【００６０】
ベクトル生成部３０８は、取得した文書ＩＤと重心位置を単語記録部３０３の内容と照合し、当該文書中で各重心位置を中心とする前後一定範囲（例えば、前後５０バイト）内に出現する単語を取得する。上述の「ＩＤ“９８７６”」の例では、０，４，８，１００，１０４の重心位置に対して前後５０バイトの範囲は、それぞれ−５０〜５０，−４６〜５４，４２〜５８，５０〜１５０，５４〜１５４となる。ＩＤ“９８７６”の文書中からこれらのいずれかの範囲に含まれる単語を全て取得する。これらの範囲から重なりや負値を除くと「０〜５８または５０〜１５４」が取得対象の範囲となる。続いてＩＤ“９８７６”の文書において上記範囲中の単語の出現回数を集計した値を単語の重みとして、文書ＩＤと共にベクトル記録部３０９に記録する。
【００６１】
ベクトルの生成方法は、上記に限らず他の既存技術を使用してもよい。
【００６２】
以上を、文書検索部３０６が重心選択部３０７に送出した全ての文書について実施すると図１０のような文書毎のベクトルが得られる。各ベクトルは、単語と単語重み（本実施の形態では出現回数）の羅列になっている。ここまで述べた処理により、利用者が検索条件を入力して検索を実行すると、条件に合致する文書それぞれについて、重心位置の決定とベクトルの生成、保存が行われる。
【００６３】
本実施の形態では、ベクトル生成部３０８が単語の重みとして各単語の出現回数を用いたが、例えば、自然言語処理分野でよく用いられるＴＦ−ＩＤＦ（ベクトル空間法）によって、各単語の重みを計算してもよい。
【００６４】
クラスタ生成部３１０は、ベクトル記憶部３０９から文書のベクトルを全て取得し、類似するベクトル同士のグループに分割するクラスタリング処理を行う。
【００６５】
クラスタリングを行う処理方法には複数の既存技術が存在する。ここでは最長距離法と呼ばれるクラスタリング手法を用いる例を説明するが、他のクラスタリング手法を用いてもよい。
【００６６】
最長距離法によるクラスタリングは、次の手順で行う。
【００６７】
最初に、クラスタリング処理を行う対象の文書をそれぞれクラスタと見做し、クラスタ間の距離を算出する。クラスタ間の距離は、クラスタを構成する文書のうち、最も遠い文書間の距離であり、ベクトル記録部３０９から取得する各ベクトル間のユークリッド距離を文書間の距離と見做す。但し、本処理の時点では、全クラスタがそれぞれ１文書で構成されているため、クラスタ間の距離を求めることは文書間の距離を求めることに等しい。
【００６８】
続いて、最も距離の近い２クラスタを統合して新しいクラスタを形成させ、新しいクラスタと、他の既存のクラスタとの距離を前述の方法で再度算出して更新する。
【００６９】
以後は、この統合の処理を繰り返してクラスタを成長させるが、統合の対象となる２クラスタ間の距離（最も近い２クラスタ間の距離）が、別途定めておく定数値を上回っていれば統合せずにクラスタリング処理を終える。
【００７０】
以上の処理により、ベクトル間の距離が小さい、すなわち同じ形態素を多く含む文書同士が同じクラスタに統合される結果、類似文書からなるクラスタが複数得られる。
【００７１】
クラスタ生成部３１０は、クラスタリング処理を行った後、図１１のようにクラスタ記録部３１１に処理結果を記録する。生成されたクラスタには、Ｃ００１、Ｃ００２、…と一意なクラスタＩＤを付与し、それぞれのクラスタに属する文書の文書ＩＤが管理されている。クラスタの生成の過程において他のどのクラスタとも統合されなかったクラスタは、除いて記録しておく。
【００７２】
主要キーワード取得部３１２は、クラスタ記録部３１１から各クラスタ内の文書の文書ＩＤ一覧を１クラスタ分ずつ取得し、それぞれのクラスタを代表する主要キーワードを該クラスタ内の文書中から抽出し、主要キーワード記録部３１３に記録する。
【００７３】
主要キーワードは、各クラスタを代表する単語であり、該クラスタ内の文書の内容を表す単語を選択する必要がある。本実施の形態では、クラスタ生成部３１０が行うクラスタリング処理において、各クラスタを形成する過程で強く影響を及ぼした単語を選択するために、以下の手法を用いる。
【００７４】
主要キーワード取得部３１２における、主要キーワードの取得は、クラスタ毎に処理を行うが、図１２を用いて１クラスタ分の主要キーワード取得処理を説明する。
【００７５】
図１２は、本発明の一実施の形態における主要キーワード取得処理のフローチャートである。
【００７６】
ステップ４０１）  主要キーワード取得部３１２は、クラスタ記録部３１１から１クラスタ分の文書ＩＤを取得する。本ステップでは、例えば、クラスタＣ１２３に属する文書の文書ＩＤである“９８７５”、“９８７７”、“９８９８”、“９９００”の４個のＩＤを取得する。
【００７７】
ステップ４０２）  最初の１文書“９８７５”について、ベクトル記録部３０９より対応するベクトルを取得する。
【００７８】
ステップ４０３）  各単語の重みを加算集計する。図１０に示す例で、文書ＩＤ“９８７５”のベクトルは「国連＝３、イラク＝４、本日＝１、決議＝２、表明＝１、…」であるため、これらそれぞれの単語の重みを主要キーワード取得部３１２内のバッファ（図示せず）で同一単語毎に加算して保持する。但し、最初の１文書目の処理時点では、バッファ（図示せず）内は空であるため、各単語の重みをそのまま保持する。
【００７９】
ステップ４０４）  上記のステップ４０２、ステップ４０３の処理を、ステップ４０１で取得した１クラスタ分の文書ＩＤ全てについて終えるまで繰り返し、１クラスタ分の文書のベクトルを構成する単語それぞれについて、重みの総和を得る。
【００８０】
ステップ４０５）  重みの総和が大きい単語から上位Ｎ語を選択し、クラスタＩＤであるＣ１２３と共に主要キーワード記録部３１３に記録する。
【００８１】
図１３に、図１２のステップ４０１〜ステップ４０５のステップをクラスタ毎に繰り返した後の時点での、主要キーワード記録部３１３に記録されたデータの例を示す。クラスタＣ１２３からは「イラク」「自衛隊」「派遣」といった主要キーワードが選択されている。例では、Ｎ＝３として各クラスタから３語ずつ主要キーワードを取得している。クラスタリング処理では、重みが大きい単語はクラスタ形成に強く影響を及ぼすため、各単語の重みをクラスタ内の文書全てに渡って加算することにより、単語自体の重みが大きく、出現する文書数の多い単語が選択される。
【００８２】
代表情報生成部３１４は、主要キーワード記録部３１３から各クラスタの主要キーワードを取得し、クラスタの代表情報をクラスタ毎に生成して、検索結果表示部３１５に送出する。
【００８３】
代表情報は、クラスタ内の文書群の概要把握を目的として利用者に提示する情報であるため、主要キーワード自体を代表情報としてもよいが、本実施の形態では、クラスタ内の各文書の一部（以下、重要箇所と呼ぶ）を抽出して提示する方法を説明する。
【００８４】
重要箇所は、重心選択部３０７が各文書の重心位置を決定し、ベクトル生成部３０８が重心を中心とする一定範囲中の単語を取得する処理と同様の方法で抽出する。つまり、主要キーワード記録部３１３から１クラスタ分の３語の主要キーワードを取得し、さらに、該クラスタ内の文書ＩＤをクラスタ記録部３１１から取得し、各文書中でそれぞれ主要キーワードが出現する位置を単語記録部３０３の内容と照合し、各主要キーワードの重心位置を前述の重心位置決定の手順で決定する。但し、全ての文書に全ての主要キーワードが出現するとは限らないため、文書中に主要キーワードが含まれない場合は、当該主要キーワードの重心位置の決定は行わない。続いて、文書記録部３０１より、各主要キーワードに対応する重心位置を中心とする、前後一定範囲の文字列を取得し、文書の重要箇所とする。
【００８５】
以上の処理をクラスタ内の各文書について実施し、更に他のクラスタについても実施すれば各クラスタの代表情報が得られる。取得した代表情報は、検索結果表示部３１５に送出され、当該検索結果表示部３１５の画面上に表示させる。
【００８６】
図１４に示す検索結果表示部３１５の画面の表示例のように、クラスタ内の各文書の重要箇所の抜粋が代表情報として、クラスタ毎に表示される。下線は、主要キーワードを表す。利用者がいずれかの重要箇所を選択すると、対応する文書の本文を表示する。
【００８７】
本実施の形態では、文書解析部３０２が文書記録部３０１に蓄積されている文書データを解析し、利用者が検索を行える構成としたが、これは発明に必須のものではなく、既存の他の検索方法で得られた文書群を本発明の入力としてもよい。
【００８８】
また、クラスタ生成部３１０が生成した各クラスタから、以後の処理で代表情報を生成したが、代表情報の生成は、本発明に必須の処理ではなく、生成したクラスタを、他の目的で利用してもよい。
【００８９】
また、代表情報生成部３１４が生成した代表情報は、検索結果表示部３１５上に表示する例を示したが、代表情報を画面上に表示する代わりに、記憶装置に記憶するなどし、他の目的で利用してもよい。
【００９０】
なお、図３に示す文書検索支援装置の機能をプログラムとして構築し、文書検索支援装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００９１】
また、構築されたプログラムをハードディスクや、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納しておき、本発明を実施する際に、コンピュータにインストールする、または、配布することが可能である。
【００９２】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【００９３】
本発明は、文書検索を支援するための、文書群を類似文書毎にクラスタリングする装置、そのクラスタの主要語を決定する装置、及び、文書中の重要箇所を決定する装置等に適用可能である。
【図面の簡単な説明】
【００９４】
【図１】本発明の原理を説明するための図である。
【図２】本発明の原理構成図である。
【図３】本発明の一実施の形態における文書検索支援装置の構成図である。
【図４】本発明の一実施の形態における文書記録部における文書データの例である。
【図５】本発明の一実施の形態における文書解析部が行う処理のフローチャートである。
【図６】本発明の一実施の形態における単語記録部における単語データの例である。
【図７】本発明の一実施の形態における検索要求文生成処理のフローチャートである。
【図８】本発明の一実施の形態における重心位置の決定方法を説明するための図である。
【図９】本発明の一実施の形態における重心位置の決定処理のフローチャートである。
【図１０】本発明の一実施の形態におけるベクトル記録部に記録されたベクトルの例である。
【図１１】本発明の一実施の形態におけるクラスタ記録部に記録されたデータの例である。
【図１２】本発明の一実施の形態における主要キーワード取得処理のフローチャートである。
【図１３】本発明の一実施の形態における主要キーワード記録部に記録されたデータの例である。
【図１４】本発明の一実施の形態における検索結果表示部の画面の表示例である。
【符号の説明】
【００９５】
３０１  文書記憶手段、文書記録部
３０２  文書解析部
３０３  単語記録部
３０４  検索要求文生成部
３０５  検索要求文記録部
３０６  文検索手段、文検索部
３０７  重心選択手段、重心選択部
３０８  ベクトル生成手段、ベクトル生成部
３０９  ベクトル記憶手段、ベクトル記憶部
３１０  クラスタ生成手段、クラスタ生成部
３１１  クラスタ記憶手段、クラスタ記録部
３１２  主要キーワード取得手段、主要キーワード取得部
３１３  主要キーワード記録部
３１４  代表情報生成手段、代表情報生成部
３１５  検索結果表示部
【図１】
0004592629.tif 000002
【図２】
0004592629.tif 000003
【図３】
0004592629.tif 000004
【図４】
0004592629.tif 000005
【図５】
0004592629.tif 000006
【図６】
0004592629.tif 000007
【図７】
0004592629.tif 000008
【図８】
0004592629.tif 000009
【図９】
0004592629.tif 000010
【図１０】
0004592629.tif 000011
【図１１】
0004592629.tif 000012
【図１２】
0004592629.tif 000013
【図１３】
0004592629.tif 000014
【図１４】
0004592629.tif 000015