情報処理装置およびプログラム
【課題】 検索条件との適合度に応じて検索された文書群を分類して検索結果を提供する情報処理装置およびプログラムを提供すること。
【解決手段】 本情報処理装置110は、登録された各文書の索引データを格納する1以上の索引データ格納手段130と、登録された各文書から項目毎に得られた特徴語データを格納する各項目の特徴語データ格納手段142,144とを含む。本情報処理装置110は、さらに、検索要求にかかる検索条件に適合した適合文書を索引データから検索する検索手段114と、検索された適合文書各々を、所定の複数の項目の特徴語データを合成した合成特徴語データを用いて、適合文書間の類似度を計算し、分類する分類手段120と、検索要求に対応して、分類された適合文書を含む検索結果データを出力する出力手段122とを含む。
【解決手段】 本情報処理装置110は、登録された各文書の索引データを格納する1以上の索引データ格納手段130と、登録された各文書から項目毎に得られた特徴語データを格納する各項目の特徴語データ格納手段142,144とを含む。本情報処理装置110は、さらに、検索要求にかかる検索条件に適合した適合文書を索引データから検索する検索手段114と、検索された適合文書各々を、所定の複数の項目の特徴語データを合成した合成特徴語データを用いて、適合文書間の類似度を計算し、分類する分類手段120と、検索要求に対応して、分類された適合文書を含む検索結果データを出力する出力手段122とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報検索技術に関し、より詳細には、検索条件との適合度に応じて取得された文書群を分類して検索結果を提供する情報処理装置、および該情報処理装置を実現するためのプログラムに関する。
【背景技術】
【0002】
従来、全文検索において、データベース内の文書毎にスコアを算出し、上記スコアに従ってランク付けして検索結果を提供する検索技術が知られている。例えば、Google社が提供する検索エンジンでは、PageRank(登録商標)と呼ばれるウェブ・ページの重要度を決定するためのアルゴリズムを用いて、ウェブ・ページ間のリンク情報から検索語に対する文書のスコアが算出されている。上記アルゴリズムは、インターネット上のコンテンツを対象とした検索に対して効果的である。しかしながら、企業内の文書データに関しては、文書データ間に充分なリンク情報が存在しないことが多いため、上記リンク情報を利用したスコアの算出方法はあまり有効ではない。
【0003】
組織内文書を対象としたエンタープライズ検索に好適に適用できる技術として、非特許文献1に開示される自然言語処理を利用したランキング検索技術が知られている。非特許文献1は、自然言語で表現された検索要求に対し、文書データベース中からその検索要求に適合する文書群を確率モデルに基づきランク付けして提供する技術を開示する。
【0004】
一方、エンタープライズ検索では、オリジナルの文書のみが検索対象として登録されていることは少なく、各部署において複製された複製文書が登録されている場合や、バージョンが異なる改訂文書が登録されている場合があるなど、オリジナルから派生した派生文書が多数登録されている場合が多い。上記の場合に、ランキング検索を行うと、上記派生文書のスコアがほぼ同じ値になるので、スコア順でソートすると、上記派生文書が連続して表示され、目的の文書になかなかたどり着けないという問題があった。
【0005】
情報検索の分野では、非特許文献2に開示されるような特徴語ベクトルを利用した文書クラスタリング技術も知られており、文書クラスタリング技術を適用して予め検索対象を分類し、検索結果にクラスタ毎の代表文書のみを表示させる技術も知られている。上記従来技術では、同じような内容を有する派生文書を分類して検索結果を表示できるようになるが、検索対象数が増加すると、分類のため文書間の類似度を計算する計算量が増大するため、現実的ではなかった。
【0006】
クラスタリングの計算量を低減する技術として、特開2010−009577号公報(特許文献1)が知られている。上記特許文献1の従来技術では、文書の適合度スコアに基づいて検索結果をグループ化し、計算対象を少なくした上で文書クラスタリング技術を適用することにより、クラスタリングの計算量を低減している。
【0007】
ところで、検索対象となる文書は、通常、タイトル、要約、本文、作成者および作成日などの一定の構造を有している場合が多い。全文検索では、通常、タイトル、要約および本文の項目が検索対象となる。そして、上記タイトル、要約および本文すべてを対象とした索引ファイルを準備することにより、タイトル、要約および本文の少なくとも1つにヒットする文書を検索することが可能となる。
【0008】
一方、タイトル、要約および本文のうち1つの項目のみを検索対象として、適切なランキング検索を可能とするためには、上記すべてを対象とした索引ファイルの他に、タイトル用索引ファイル、要約用索引ファイルおよび本文用索引ファイルというように、項目毎に索引ファイルを準備する必要がある。タイトル、要約および本文の任意の組み合わせを検索対象として検索可能とするためには、各組み合わせに対応した索引ファイルを用意する必要があり、2倍以上の記憶容量が必要となってしまう。
【発明の概要】
【発明が解決しようとする課題】
【0009】
文書クラスタリングにおいても、同様に、すべての項目から計算した特徴語ベクトルを用いてクラスタリングを行いたい場合、本文、タイトルおよび要約の任意の組み合わせから計算した特徴語ベクトルを用いてクラスタリングを行いたい場合などが想定される。例えば、タイトルだけを検索対象とした場合でも、タイトル、本文および要約すべてから計算した特徴語ベクトルを用いてクラスタリングを行えると有用である。また、各項目に重み付けを行ってクラスタリングを行えると有用である。
【0010】
しかしながら、上記従来技術の全文検索システムでは、上述した多様な検索およびクラスタリングを行うためには、検索およびクラスタリングの対象となる項目のあらゆる組み合わせに対応して、それぞれ索引ファイルおよび特徴語データベースを準備する必要があった。したがって、任意の組み合わせでの検索およびクラスタリングを実現しようとすると、膨大な記憶容量を必要とするという問題点があった。
【0011】
本発明は、上記従来技術における不充分な点に鑑みてなされたものであり、本発明は、文書の項目毎の特徴語データを準備するだけで、項目の任意の組み合わせを対象として文書が分類された検索結果を提供できる情報処理装置、および該情報処理装置を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、上記課題を解決するために、以下の特徴を有する、複数の項目が含まれる文書を検索するための情報処理装置を提供する。本情報処理装置は、登録された各文書の索引データを格納する1以上の索引データ格納手段と、登録された各文書から項目毎に抽出された特徴語データを格納する各項目の特徴語データ格納手段とを含む。本情報処理装置は、さらに、検索要求にかかる検索条件に適合した適合文書を上記索引データから検索する検索手段と、上記適合文書各々を、所定の複数の項目の特徴語データを合成した合成特徴語データを用いて、適合文書間の類似度を計算し、分類する分類手段と、上記検索要求に対応して、分類された適合文書を含む検索結果データを出力する出力手段とを含む。
【発明の効果】
【0013】
上記構成によれば、文書を構成する複数の項目のあらゆる組み合わせの特徴語ベクトル・データを必要とせずに、利用者が希望する項目の任意の組み合わせで、検索結果に含まれる文書を分類して整理することが可能となる。これにより、記憶容量が節約され、登録性能が向上する。
【図面の簡単な説明】
【0014】
【図1】第1の実施形態の情報検索サーバが配置されるネットワーク環境の構成図。
【図2】第1の実施形態による情報検索サーバのハードウェア構成図。
【図3】第1の実施形態による情報検索サーバ上に実現される機能ブロック図。
【図4】第1の実施形態の情報検索サーバにおいて管理される文書データのデータ構造を示す図。
【図5】第1の実施形態による索引ファイルのデータ構造を模式的に示す図。
【図6】第1の実施形態によるタイトル特徴語ベクトル格納ファイルのデータ構造を示す図。
【図7】第1の実施形態による本文特徴語ベクトル格納ファイルのデータ構造を示す図。
【図8】第1の実施形態において索引ファイルおよび特徴語ベクトル格納ファイルが作成されるまでの処理の流れについて説明するフローチャート。
【図9】第1の実施形態による情報検索サーバが実行する検索処理のメインフローを示すフローチャート。
【図10】スコア計算部により適合文書に対して適合度スコアが算出され、適合文書がスコア降順にソートされた様子を説明する図。
【図11】第1の実施形態によるグループ分け部が実行する、グループ化処理を説明する図。
【図12】第1の実施形態によるクラスタリング部が実行する、クラスタリング処理を示すフローチャート。
【図13】第1の実施形態によるクラスタリング処理を説明する図。
【図14】第1の実施形態による出力部が出力する、検索結果表示画面を一例として示す図。
【図15】第2の実施形態による情報検索サーバ上に実現される機能ブロック図。
【図16】第2の実施形態によるクラスタ間結合部が実行する、クラスタ結合処理を示すフローチャート。
【図17】第2の実施形態によるクラスタ結合処理を説明する図。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、情報処理装置として、ネットワーク上に存在する種々の文書を検索対象として登録し、外部からの検索要求に応答して、検索条件に適合した文書群を検索する情報検索サーバを一例に説明する。
【0016】
(1)全体構成
以下、図1を参照して、第1の実施形態による情報検索サーバが配置されるネットワーク環境の全体構成について説明する。図1は、第1の実施形態の情報検索サーバが配置されるネットワーク環境の構成図である。図1に示すネットワーク環境100は、インターネットやローカル・エリア・ネットワークなどのネットワーク102と、それぞれネットワーク102に接続される情報検索サーバ110と、文書保管サーバ150と、利用者端末160とを含む。
【0017】
文書保管サーバ150は、本実施形態において検索対象となる文書データを保管する装置である。文書保管サーバ150は、特に限定されるものではないが、例えば、ドキュメント管理システム(DMS:Document Management System)、コンテンツ管理システム(CMS:Content management System)、ファイル・サーバ、データベース管理システム、ウェブ・サーバなどとして構成される。
【0018】
検索対象となる文書データとしては、特に限定されるものではないが、PDF(Portable Document Format)などの共通形式や各プロプライエタリまたはオープンソースの各種ワードプロセッサ固有形式のドキュメント・ファイル、スプレッドシート・ファイル、プレゼンテーション・ファイル、ウェブ・ページ、テキスト・データなど、テキストが含まれる種々の形式の文書データを挙げることができる。
【0019】
利用者端末160は、情報検索サーバ110を利用するクライアント端末である。利用者端末160は、ネットワーク102を介して情報検索サーバ110にアクセスし、情報検索サーバ110に対し検索要求を行い、取得した検索結果をディスプレイ装置などに画面表示させる。
【0020】
情報検索サーバ110は、文書保管サーバ150内に保管される文書データを検索対象として索引付け登録する。なお、登録されている文書には、オリジナルの文書の他、オリジナル文書から複製された文書(以下、複製文書と参照する。)、オリジナル文書が改訂された文書(以下、改訂文書と参照する。)など、種々のオリジナル文書から派生した文書(以下、派生文書と参照する。)が含まれることがある。本情報検索サーバ110は、詳細を後述するように、利用者端末160からの検索要求に応答して、文書保管サーバ150内の複数文書の中から検索条件に適合する文書群を検索し、類似する派生文書が整理された状態で検索結果を作成し、利用者端末160に提供する。
【0021】
なお、図1に示すネットワーク環境100は、例示したものであり、情報検索サーバ110が置かれるネットワーク環境は、特に限定されるものではない。例えば、文書保管サーバ150および利用者端末160がそれぞれ複数あってもよいし、情報検索サーバ110自身が検索対象の文書を保管する態様では、文書保管サーバ150を省略してもよい。また、説明する実施形態では、外部クライアントに対し検索機能を提供する情報検索サーバを例示する。しかしながら、他の実施形態では、情報処理装置自身が保管する文書を検索対象として、情報処理装置自身が接続されるディスプレイに検索結果を提供する、デスクトップ検索機能を備えたパーソナル・コンピュータして構成することもできる。
【0022】
(2)ハードウェア構成
以下、情報検索サーバ110のハードウェア構成について説明する。図2は、第1の実施形態による情報検索サーバのハードウェア構成図である。情報検索サーバ110は、マイクロプロセッサ・ユニット(MPU)12と、BIOS(Basic Input Output System)を格納する不揮発性メモリ14と、MPU12によるプログラム処理を可能とする実行記憶空間を提供するメモリ16とを含む。MPU12は、起動時に、不揮発性メモリ14からBIOSを読み出し、システム診断を行う。
【0023】
MPU12は、内部バス22を介して記憶制御用インタフェース18に接続され、ハードディスク20が、MPU12からの入出力要求に応答してデータの書込または読み出しを実行する。記憶制御用インタフェース18としては、ATA(AT Attachment)、SATA(Serial ATA)、eSATA(external ATA)などの規格により、ハードディスク20の入出力を管理するインタフェースを使用することができる。MPU12は、また、内部バス22を介して、USB、IEEE1394などのシリアルまたはパラレル・インタフェース24を制御して、キーボード、マウスなどの入出力装置26と通信し、ユーザからの入力を受け取ることができる。
【0024】
情報検索サーバ110は、さらにVRAM28とグラフィック・チップ30とを含むことができる。グラフィック・チップ30は、MPU12からの指令に応答してビデオ信号を処理し、ディスプレイ装置32へと表示させている。MPU12は、また、内部バス22を介してネットワークI/F(NIC;Network Interface Card)34と接続する。これにより、情報検索サーバ110をネットワーク102に接続させている。
【0025】
情報検索サーバ110は、不揮発性メモリ14やハードディスク20、その他NV−RAM(図示せず)やSDカード(図示せず)などの記憶装置に格納されたプログラム(図示せず)を読み出し、メモリ16のメモリ領域に展開する。これにより、情報検索サーバ110は、適切なオペレーティング・システム(OS)のもとで、後述する各機能手段および各処理を実現する。上記OSとしては、Windows(登録商標)、UNIX(登録商標)またはLINUX(登録商標)など、如何なるアーキテクチャを有するOSを採用することができる。情報検索サーバ110は、仮想マシンとして実現される実施形態では、適切なハイパーバイザまたはホストOS上にゲストOSを稼働させて、後述する各機能手段および各処理を実現することができる。
【0026】
なお、詳細な説明は割愛するが、本実施形態の文書保管サーバ150および利用者端末160についても、図2に示すハードウェア構成と同様の構成とすることができる。上記利用者端末160としては、パーソナル・コンピュータやワークステーションなどの汎用コンピュータ装置、および携帯電話やスマートフォン、タブレット端末、PDA(Personal Digital Assistance)などの携帯情報端末を挙げることができる。
【0027】
(3)機能構成
以下、図3〜図7を参照しながら、第1の実施形態の情報検索サーバ110が提供する検索機能について説明する。図3は、第1の実施形態による情報検索サーバ上に実現される機能ブロックを示す図である。図3には、検索サーバ110の他、利用者端末160が示されている。
【0028】
情報検索サーバ110は、類似する派生文書を整理して検索結果を提供するための主な機能部として、検索要求受付部112と、文書検索部114と、スコア計算部116と、グループ分け部118と、クラスタリング部120と、出力部122とを含む。図3には、さらに、類似する派生文書を整理して検索結果を提供するための主なデータとして、情報検索サーバ110がアクセス可能な索引ファイル群130と、特徴語ベクトル格納ファイル群140とが示されている。
【0029】
以下、まず、派生文書を整理して検索結果を提供するための各種データについて説明する。上記検索対象となる文書データは、全文データとして、タイトルおよび本文など複数の構造上の部分を含んで構成され得る。本実施形態では、この構造上の部分を「項目」と参照する。本実施形態においては、上記文書データは、文書データを構成する項目毎の全文データに分割され、該文書データに紐付けて管理される。
【0030】
図4は、第1の実施形態の情報検索サーバにおいて管理される文書データのデータ構造を示す図である。なお、説明する実施形態では、便宜上、文書データは、タイトルおよび本文の2つの項目に分割されて管理されるものとして説明する。図4に示すように文書データは、文書を識別する文書識別子と、文書のタイトルの項目に対応するテキストと、文書の本文の項目に対応するテキストとからなるデータ構造の形式で管理される。各文書識別子は、図示しないが、文書保管サーバ150上の文書データの格納位置を示すURLなどポインタ情報に紐付けられる。
【0031】
索引ファイル群130および特徴語ベクトル格納ファイル群140は、上述した文書データの管理構造に対応して、それぞれ、複数の索引ファイルおよび複数の特徴語ベクトル格納ファイルを含み構成される。説明する実施形態では、索引ファイル群130は、タイトル用の第1索引ファイル(以下、タイトル用索引ファイルと参照する。)132と、本文用の第2索引ファイル(以下、本文用索引ファイルと参照する。)134とを含む。特徴語ベクトル格納ファイル群140は、タイトル用の第1特徴語ベクトル格納ファイル(以下、タイトル用特徴語ベクトル格納ファイルと参照する。)142と、本文用の第2特徴語ベクトル格納ファイル(以下、本文用特徴語ベクトル格納ファイルと参照する。)144とを含む。
【0032】
索引ファイル132,134は、それぞれ、項目毎の索引データを登録する。索引ファイル132,134は、文書検索を高速に行うことができるようなデータ構造を持ったファイルである。索引ファイル132,134は、文書保管サーバ150などに保管される文書データの全文データから予め作成され、文書検索部114が検索条件に該当する検索文書を検索する際に参照される。入力された文書の全文データは、まず、タイトルおよび本文の項目に分割され、各項目の全文データから、Nグラム方式または形態素解析方式などにより、単語が抽出されて、転置索引が作成される。
【0033】
図5は、第1の実施形態による索引ファイルのデータ構造を模式的に示す図である。なお、図5は、本文用索引ファイル134を例示するが、タイトル用索引ファイル132についても、同様のデータ構造を採用することができる。図5に示す索引ファイル134は、転置方式の索引を有し、文書保管サーバ150に保管された文書データの本文(全文データ)から作成された転置索引(Inverted Index)が登録されている。
【0034】
具体的には、索引ファイル134は、単語と、該単語が出現する文書頻度(DF:Document Frequency)とを対応付けて保持する(図5(A))。索引ファイル134は、また、単語毎に、各単語が出現する文書の文書識別子と、該文書内での各単語の出現頻度を表す文書内頻度(TF:Term Frequency)とを対応付けて保持する(図5(B))。索引ファイル134は、さらに、文書識別子と、本文の全文データの文書長とを対応付けて保持することができる(図5(C))。
【0035】
特徴語ベクトル格納ファイル142,144は、項目毎に、各文書を特徴付ける特徴語とその特徴語の重みを表す重み値とからなる特徴語ベクトルが格納されているファイルである。特徴語ベクトル格納ファイル142,144は、上述の索引ファイルと同様に、文書保管サーバ150などに保管される文書データから予め作成され、クラスタリング部120がクラスタリング処理を実行する際に参照される。
【0036】
図6および図7は、それぞれ、第1の実施形態による特徴語ベクトル格納ファイルのデータ構造を示す図である。図6に示すタイトル用特徴語ベクトル格納ファイル142は、文書を識別する文書識別子と、該文書のタイトルの全文データから計算されたタイトル特徴語ベクトル・データとを含み構成される。タイトル特徴語ベクトル・データは、上記文書のタイトルに含まれる特徴語と、特徴語に割り当てられた重み値との1以上の組を含んで構成され、タイトル特徴語ベクトルを表現する。
【0037】
図7に示す本文用特徴語ベクトル格納ファイル144も同様に、文書を識別する文書識別子と、該文書の本文テキストから計算された本文特徴語ベクトル・データとを含み構成される。本文特徴語ベクトル・データは、上記文書の本文に含まれる1以上の特徴語と、特徴語に割り当てられた重み値とを含んで構成され、本文特徴語ベクトルを表現する。
【0038】
図6および図7に示すように、第1の実施形態では、文書データは、複数の項目により管理され、各文書について、項目毎に特徴語ベクトルが計算される。説明する実施形態では、索引ファイルおよび特徴語ベクトル格納ファイル共に、タイトルおよび本文の2つの項目に分割されるものとしたが、文書データの管理構造は、特に限定されるものではない。他の実施形態では、要約やコメントなど文書データのテキスト全体から切り出される他の項目についても、同様に分割して管理することができる。また、本実施形態は、項目毎の特徴語ベクトル格納ファイル142,144を設けることに特徴を有するが、索引ファイルが項目毎に分割されない態様においても適用することができる。
【0039】
以下、再び図3を参照して、派生文書を整理して検索結果を提供するための機能部について説明する。上記検索要求受付部112は、利用者端末160からの検索要求を受け付ける手段である。検索要求受付部112は、利用者端末160から検索要求を受信すると、検索要求から検索条件を取得する。
【0040】
文書検索部114は、上記抽出された検索条件を用いて全文検索を行い、該検索条件に適合した文書を検索する。文書検索部114は、より具体的には、検索条件から検索語を抽出し、索引ファイル群130内の所定の項目に対応する索引ファイル132,134を参照して、該検索語が含まれる文書を検索する。検索対象となる項目は、予め指定されており、指定された項目に対応する索引ファイルが用いられる。例えば、タイトルが検索対象に指定される場合は、文書検索部114は、タイトル用索引ファイル132を参照して全文検索を行う。上記検索対象の項目の指定は、利用者の発意により、例えば検索要求中に指定される。なお、文書検索部114は、本実施形態における検索手段を構成する。
【0041】
スコア計算部116は、文書検索部114により検索された文書(以下、適合文書と参照する。)に対して、検索条件との適合度を表す適合度スコアを算出し、その適合度スコアによって適合文書をランク付ける。適応度スコアは、検索対象として指定された項目に対応する索引ファイル132,134を用いて算出される。上記適合文書は、例えば、文書の適合度スコアの降順にソートされる。なお、スコア計算については詳細を後述する。なお、スコア計算部116は、本実施形態におけるスコア計算手段を構成する。
【0042】
グループ分け部118は、スコア計算部116により適合度スコアが計算された適合文書群を対象として、適合度スコアに応じてグループ分けを行う。スコア降順にソートされた適合文書において、前後の文書は、ある検索語を入力して得られたスコアが近接する文書であるのため、内容が似たような文書であると考えることができる。本実施形態では、この点に着目して、後述するクラスタリングの前処理として、適合文書のグループ分けを行う。なお、グループ分けについては詳細を後述する。なお、グループ分け部118は、本実施形態におけるグループ分け計算手段を構成する。
【0043】
クラスタリング部120は、特徴語ベクトル格納ファイル群140内の、所定の項目に対応する特徴語ベクトル格納ファイル142,144を参照して、特徴語ベクトルを取得し、クラスタリング処理を実行する。より具体的には、クラスタリング部120は、所定の項目の組み合わせで複数の特徴語ベクトルを合成した合成特徴語ベクトルを用いて、適合文書間の類似度を計算し、該類似度が基準を満たすか否かに応じて適合文書を各文書クラスタに分類する。上記クラスタリング処理は、グループ分け部118によりグループ化されたグループ毎に、各グループ内の適合文書群を対象として行われる。
【0044】
クラスタリング処理で用いる項目は、利用者の発意等により、上記スコア計算で指定された項目の指定とは独立に予め指定することができる。例えば、タイトルおよび本文が対象に指定される場合は、クラスタリング部120は、タイトル用および本文用の特徴語ベクトル格納ファイル142,144を参照してクラスタリング処理を行う。なお、本実施形態のクラスタリング処理は、複数の項目の特徴語ベクトルから合成される合成特徴語ベクトルを用いることを特徴としているが、本文のみまたはタイトルのみを対象に指定したクラスタリング・モードが存在することは妨げられない。クラスタリング処理については詳細を後述する。また、クラスタリング部120は、本実施形態における分類手段を構成する。
【0045】
出力部122は、クラスタリング部120により分類された文書クラスタ毎に適合文書を整理し、スコア計算部116によって算出された適合文書毎の適合度を表示するための表示データを生成し、利用者端末160に出力する。出力部122は、情報検索サーバ110がウェブ・アプリケーション・サーバで実装される場合は、HTTP(HyperText Transfer Protocol)プロトコルにより、検索結果表示画面を記述するウェブ・ページを出力する。利用者端末160は、上記表示データを受信して、自身が備えるディスプレイ装置に検索結果表示画面を表示することができる。詳細は後述するが、上記検索結果表示画面においては、スコア降順にソートされ、クラスタごとの代表文書が検索結果として表示される。出力部122は、本実施形態における出力手段を構成する。
【0046】
(4)索引ファイルおよび特徴語ベクトル格納ファイルの準備
以下、図8を参照しながら、索引ファイルおよび特徴語ベクトル格納ファイルが準備されるまでの処理について詳細を説明する。図8は、索引ファイルおよび特徴語ベクトル格納ファイルが作成されるまでの流れについて説明するフローチャートである。なお、図8に示す処理は、特定の項目に対する処理であり、文書を構成する項目毎に図8に示す処理が行われる。
【0047】
図8に示す処理は、索引付け処理実行の契機となる管理者からのマニュアル指令やスケジュールされた日時の到来などに応答して、ステップS100から開始される。ステップS101では、情報検索サーバ110は、入力された文書データの特定の項目の全文データから、Nグラム方式や形態素解析方式などにより、各単語に分割する。ステップS102では、情報検索サーバ110は、上記抽出された単語を検索語として検索できるように、索引ファイル132,134内に単語毎に、該単語が含まれる文書識別子を登録する。索引ファイル132,134内には、各単語について、単語の文書頻度(DF)および単語の出現文書毎の文書内頻度(TF)も付加される。
【0048】
ステップS103では、情報検索サーバ110は、入力された文書データの特定の項目の全文データから、形態素解析方式などにより単語を抽出し、その単語の出現頻度などに基づいて、その文書を特徴付ける特徴語を抽出する。特徴語の抽出は、簡便には、文書内頻度(TF)が大きい単語から所定個数を選択することにより行うことができる。あるいは、特徴語の抽出は、TF−IDF値のIDFの代わりに形態素解析の生起コストを利用して、TF×(生起コスト)を計算し、その値の大きいものから選択することにより行うことができる。その他、特徴語は、単語からストップワードが捨てられて、適宜取捨選択が行われる。
【0049】
ステップS104では、情報検索サーバ110は、入力文書の文書識別子をキーとして、上記抽出した各特徴語を重み付けして、特徴語とその重み値とを、特徴語ベクトル格納ファイルとして保存し、ステップS105で本処理を終了する。なお、特徴語ベクトルを構成する重み値は、図6および図7に示されるように、文書の特定の項目に特徴語が存在すれば、その特徴語の重み値を「1」に設定するような設定手法とすることができる。他の実施形態では、非特許文献2に開示されるように、予め定義された計算式を用いて算出することもできる。
【0050】
(5)検索処理
図8に示した処理により、登録された文書が検索可能となる。以下、図9〜図14を参照しながら、第1の実施形態による派生文書を整理して検索結果を提供する検索処理について、詳細を説明する。図9は、第1の実施形態による情報検索サーバ110が実行する検索処理のメインフローを示すフローチャートである。図9に示す処理は、検索要求受付部112が検索要求を受信したことに応答して、ステップS200から開始される。ステップS201では、文書検索部114は、検索語が含まれる適合文書を、検索対象として指定された項目の索引ファイル132,134から検索し、適合文書の集合を取得する。
【0051】
ステップS202では、スコア計算部116は、取得された各適合文書と検索条件との適合度を表す適合度スコアを算出し、検索文書を適合度スコアの降順にソートする。各適合文書の適合度スコアは、特に限定されるものではないが、文書における指定の項目に対して算出された部分スコアの合計値または最大値などとして計算することができる。項目の部分スコアは、例えば、下記式(1)または下記式(2)により算出することができる。
【0052】
【数1】
【0053】
上記式(1)および(2)中のDjは、識別番号jで識別される文書を意味し、Qiは、識別番号iで識別される単語を意味する。上記式(1)および(2)中のスコアscore1およびscore2は、それぞれ、特定の項目について算出される文書Djの単語Qiについての部分スコアを表す。上記式(1)および(2)中、tfijは、文書Djの特定項目における単語Qiの出現数、すなわち文書内頻度(TF)である。dfiは、単語Qiを含む文書の数、すなわち文書頻度(DF)である。上記式(2)中、ljは、文書Djの特定項目の文書長であり、Lは、平均文書長である。なお、検索条件中に検索語が複数ある場合は、上記score(Dj,Qi)の検索語Qiにわたる合計値とすることができる。
【0054】
上記式(1)において、部分スコアscore(Dj,Qi)は、DFの値が小さい程大きくなる。これは、DFの値が小さい程、つまりその単語を含む文書の数が少ない程、特徴的な単語であるという考え方に基づく。部分スコアscore(Dj,Qi)は、また、TFの値が大きい程大きくなる。これは、TFの値が大きい程、つまりその単語を数多く含む文書である程、検索条件に合致した文書であるという考え方に基づく。
【0055】
タイトルおよび本文の両方が指定される場合は、上記ステップS202では、スコア計算部116は、図5を参照して説明したタイトル用索引ファイル132および本文用索引ファイル134を検索し、タイトルおよび本文それぞれの項目毎に、検索語Qiの各文書DJでの文書内頻度(TF)を取得する。また、スコア計算部116は、索引ファイル132,134を参照して、項目毎に、検索語QiのDFを取得する。上記式(2)を用いる場合は、スコア計算部116は、さらに、図5に示した索引ファイル132,134を検索して、項目毎に、各文書Djの特定項目の文書長ljを取得する。スコア計算部116は、上記式(1)または(2)を用いて算出された各項目の部分スコアの合計値または最大値を計算し、得られた合計値または最大値を適合度スコアとする。図10は、スコア計算部116により適合文書に対して適合度スコアが算出され、スコア降順にソートされた様子を示す図である。
【0056】
再び図9を参照すると、ステップS202で示した適合度スコアの算出およびソートが完了すると、ステップS203へ処理が進められる。ステップS203では、グループ分け部118は、スコア計算部116がスコアリングした適合文書を対象に、適合度スコアに応じて、後述するクラスタリング処理の前処理としてグループ化処理を実行する。
【0057】
図10を再度参照すると、スコア降順(文書識別子1,4,10,2の順)にソートされた適合文書は、ある検索語を入力して得られた適合度スコアが近い文書であるので、その内容は類似する文書であると考えられる。そこで、グループ分け部118は、適合度スコアを一定の範囲で区切って、グループ分けを行う。例えば、適合度スコア値のとり得る値が0以上1未満の範囲である場合、グループ分け部118は、適合度スコア値が0以上0.1未満のもの、0.1以上0.2未満のもの…0.9以上1未満のもの、といったように10区分のグループに分類することができる。
【0058】
図11は、第1の実施形態によるグループ化処理を説明する図であり、図10に示すソート結果に対してグループ分けを行った結果を示す。図11(A)に示す例では、適合度スコア順にソートされた検索結果の上位4件(文書識別子が「1」,「4」,「10」,「2」である適合文書を含む。)がグループAに分けられ、中位4件(文書識別子が「5」,「6」,「7」,「3」である適合文書を含む。)がグループBに分けられている。図11(B)は、各グループの管理情報を示しており、各グループは、所属する文書識別子を要素とする配列で管理される。
【0059】
また、上記グループ化の変形例の実施形態として、グループ化の精度を高めるため、下記式(3)により計算される平均変化率ΔSを用いることもできる。下記式(3)中、Siは結果のi番目の適合度スコアであり、下記式(3)中、Mは検索結果件数である。この変形例の実施形態では、下記式(3)で算出される平均変化率Δよりも大きくスコアが変動している箇所で、グループを区切ることができる。
【0060】
【数2】
【0061】
ステップS203で示したグループ化処理が終了すると、ステップS204へ処理が進められる。ステップS204では、クラスタリング部120は、各適合文書の文書識別子をキーとして、各特徴語と各特徴語の重み値とを取得し、ステップS203でグループ分けされたグループ毎に、そのグループ内の適合文書群を対象として、図12を参照して説明するクラスタリング処理を実行する。
【0062】
図12は、第1の実施形態によるクラスタリング部120が実行するクラスタリング処理を示すフローチャートである。なお、図12は、クラスタリングの対象として、タイトルおよび本文の両方の項目が指定された場合を例示している。図12に示す処理は、図9に示すステップS204で呼び出されて、ステップS300から開始される。
【0063】
ステップS301では、クラスタリング部120は、図9で示したステップS203でグループ分けされたグループのうち、未処理のグループが存在するか否かを判定する。ステップS301で、未処理のグループが存在すると判定された場合(YES)は、ステップS302へ処理が分岐される。
【0064】
ステップS302では、クラスタリング部120は、処理対象とする未処理のグループに含まれる適合文書の文書識別子を取り出す。ステップS303では、クラスタリング部120は、タイトル特徴語ベクトル格納ファイル142および本文特徴語ベクトル格納ファイル144それぞれから、当該グループに含まれる各適合文書について、文書識別子をキーとしてタイトル特徴語ベクトルおよび本文特徴語ベクトルを取り出す。ステップS304では、クラスタリング部120は、当該グループに含まれる各適合文書について、得られたタイトル特徴語ベクトルおよび本文特徴語ベクトルを合成し、合成特徴語ベクトルを算出する。
【0065】
特徴語ベクトルの合成手法としては、複数の特徴語ベクトルいずれかに存在する特徴語を合成特徴語ベクトルの特徴語として含ませる手法を挙げることができる。以下、タイトル特徴語ベクトルおよび本文特徴語ベクトルの合成手法の一例を説明する。図6における文書識別子が「1」である文書のタイトル特徴語ベクトルdt1(={(全文,1),(検索,1),(システム,1)}と、図7における文書識別子が「1」である文書の本文特徴語ベクトルdh1(={(全文,1),(検索,1),(転置,1),(スコア,1)}とを上記手法で合成すると、合成語特徴ベクトルd1(={(全文,1),(検索,1),(システム,1),(転置,1),(スコア,1)})が得られる。同様に、図6および図7における文書識別子が「2」である文書のタイトル特徴語ベクトルdt2,dh2を上記手法で合成すると、合成語特徴ベクトルd2(={(テキスト,1),(マイニング,1),(全文,1),(データ,1),(高速,1)})が得られる。
【0066】
ステップS305では、クラスタリング部120は、得られた各適合文書の合成特徴語ベクトルから適合文書間の類似度を算出して、各適合文書を文書クラスタに分類する。文書間の類似度は、類似度算出にかかる2つの適合文書において、合成特徴ベクトル間のなす角の余弦またはユークリッド距離によって好適に計算することができる。なお、合成特徴語ベクトルが正規化されている場合は、余弦尺度もユークリッド距離も同一の結果を与えるが、説明する実施形態では、合成特徴ベクトルの余弦尺度で類似度を算出するものとする。合成特徴ベクトル間のなす角の余弦は、j番目の文書Djの特徴語ベクトルが、特徴語Qi毎の重みwji(i=1,・・・,M:Mは異なり数(特徴語数))から構成されるベクトル(wj1,wj2,wj3,…wjM)Tで表されるとして、下記式(4)によって算出できることができる。
【0067】
【数3】
【0068】
上記文書識別子「1」の合成語特徴ベクトルd1と、文書識別子「2」の合成語特徴ベクトルd2との間の類似度は、これら2つの合成特徴語ベクトルd1,d2のなす角の余弦で求めることができる。上記式(4)を用いてベクトルd1,d2とのなす角の余弦C(1,2)を計算すると、0.20が得られる。同様に、上記文書識別子「1」の合成語特徴ベクトルd1と、文書識別子「10」の合成語特徴ベクトルd10との間のなす角の余弦C(1,10)を計算すると、0.80が得られる。
【0069】
上記なす角の余弦が大きいほど、2つの特徴語ベクトルが類似しているため、算出された類似度が基準を満たすか否かに応じて適合文書を文書クラスタに分類することができる。例えば、基準値0.7以上の文書が同一文書クラスタに分類されるとして、各適合文書を各文書クラスタに分類することができる。上記の例では、図13に示すように上記文書識別子「1」の文書と上記文書識別子「10」の文書とが同一の文書クラスタに分類されることになる。
【0070】
ステップS306では、クラスタリング部120は、得られた各適合文書に対し、文書クラスタを識別する文書クラスタ識別子を付与し、ステップS301へ戻り、次のグループの処理を移す。図13は、第1の実施形態によるクラスタリング処理を説明する図であり、図11に示したグループ化結果に対してクラスタリング処理を行った結果を示す。
【0071】
なお、説明する実施形態では、複数の特徴語ベクトルの合成手法として、いずれかのベクトルに存在する特徴語を合成特徴語ベクトルに含ませるという方法を採用した。しかしながら、複数の特徴語ベクトルの合成手法は、上記手法に限定されるものではない。
【0072】
他の実施形態では、タイトル特徴語ベクトルと、本文特徴語ベクトルとを合成する際に、共通の特徴語が存在した場合に、該共通語の重み値を増加させることができる。より具体的には、共通語の重み値の合計値を合成特徴語ベクトルにおけるその特徴語の重み値とすることができる。例えば、図6におけるタイトル特徴語ベクトルdt1(={(全文,1),(検索,1),(システム,1)}と、図7における本文特徴語ベクトルdh1(={(全文,1),(検索,1),(転置,1),(スコア,1)}とを上記手法で合成すると、合成語特徴ベクトルd1(={(全文,2),(検索,2),(システム,1),(転置,1),(スコア,1)})が得られることになる。
【0073】
さらに他の実施形態では、複数の項目の特徴語ベクトルを合成する際に、項目に重み値を設定して合成することができる。例えば、タイトルに重み値「2」を設定すると、タイトル特徴語ベクトルに存在する特徴語の重み値が2倍にされ、合計される。例えば図6におけるタイトル特徴語ベクトルdt1と、図7における本文特徴語ベクトルdh1とからは、合成語特徴ベクトルd1(={(全文,3),(検索,3),(システム,2),(転置,1),(スコア,1)})が得られることになる。
【0074】
再び図12を参照すると、ステップS301で、図9のステップS203でグループ分けされたグループすべてに対する処理が完了し、未処理のグループが存在しないと判定された場合(NO)は、ステップS307へ処理を分岐させ、ステップS307で本処理を終了し、図9に示す処理に戻す。
【0075】
ここで、再び図9を参照する。図12を参照して説明したクラスタリング処理が完了すると、ステップS204からステップS205へ処理が進められる。ステップS205では、出力部122は、分類された文書クラスタ毎に適合文書が整理された検索結果を表示するための表示データを生成し、利用者端末160に出力する。ステップS206では、情報検索サーバ110は、検索要求に応答した本処理を終了する。上記検索結果においては、検索結果に含まれる複製文書や改訂文書などの派生文書が整理され、各派生文書群の代表文書がメインとして検索結果に表示される。
【0076】
図14は、第1の実施形態による出力部が出力する検索結果を表す検索結果表示画面を一例として示す図である。図14に示す検索結果表示画面170は、利用者端末160が表示データを受信して、例えばブラウザ上に表示される。検索結果表示画面170は、検索条件が入力されるテキストボックス172と、検索結果を一覧表示する検索結果テーブル174とを含む。検索結果テーブル174の各レコード174a〜174dは、スコア178降順にソートされ、文書クラスタごとの代表文書176を表示している。上記代表文書は、例えば、適合度スコアが最も大きい先頭の適合文書としたり、更新日時が最も古い適合文書としたり、または文書クラスタの重心または中心に近接する適合文書としたりすることができる。
【0077】
また、図14に示す検索結果表示画面において、文書クラスタ識別子「3」の文書クラスタには、文書識別子が「5」,「6」,「3」である3つの文書が属しており、文書識別子「6」、「3」の文書は、代表文書である文書識別子「4」の文書に紐付けられて参照可能になっている。検索結果テーブル174内の展開記号180がクリックされると、対応する文書クラスタに属する各適合文書が展開表示される。
【0078】
上述した第1の実施形態によれば、項目毎の特徴語ベクトル格納ファイルを準備するだけで、利用者が希望する項目の任意の組み合わせで、適合文書をクラスタリングした上で検索結果を提供することができる。したがって、複数の項目すべての組み合わせによる特徴語ベクトル格納ファイルを準備する必要がなく、あらゆる項目の組み合わせを準備する場合と比較して、記憶容量を節約し、登録性能を向上させることができる。
【0079】
さらに、上記第1の実施形態によれば、上記クラスタリング処理は、グループ化により計算対象が削減された上で行われる。このため、適合文書を効率的に分類することが可能となり、ひいては、検索結果を迅速に提供することが可能となる。
【0080】
(6)第2の実施形態
以下、図15〜図17を参照しながら、第2の実施形態による情報検索サーバが提供する全文検索機能について説明する。図15は、第2の実施形態による情報検索サーバ上に実現される機能ブロックを示す図である。なお、第2の実施形態は、ネットワーク環境および情報検索サーバのハードウェア構成を含めて、第1の実施形態と同様の構成を備えるため、以下、相違点を中心に説明する。
【0081】
第2の実施形態の情報検索サーバ210は、検索結果を提供するための主な機能部として、第1の実施形態と同様の機能部212〜222に加えて、クラスタ間結合部224を備える。図15には、第1の実施形態と同様に、類似する派生文書を整理して検索結果を提供するための主なデータとして、索引ファイル群230と、特徴語ベクトル格納ファイル群240とが示されている。なお、索引ファイルおよび特徴語ベクトル格納ファイルについては、第1の実施形態と同様であるため、説明は割愛する。
【0082】
検索要求受付部212は、第1の実施形態と同様に、利用者端末260からの検索要求を受け付ける。文書検索部214は、同様に、検索条件から検索語を抽出し、指定の項目に対応する索引ファイル232,234を参照して、該検索語が含まれる文書を検索する。スコア計算部216も同様に、検索された適合文書に対して、検索条件との適合度を表す適合度スコアを算出してランク付けを行う。
【0083】
グループ分け部218も同様に、適合度スコアが計算された適合文書群を対象として、適合度スコアに応じてグループ分けを行う。クラスタリング部220は、所定の項目に対応する特徴語ベクトル格納ファイル242,244を参照して、合成特徴語ベクトルを計算し、グループ毎に、適合文書間の類似度を計算して、該類似度が基準を満たすか否かに応じて適合文書を各文書クラスタに分類する。
【0084】
本実施形態のクラスタ間結合部224は、上述したクラスタリング処理と同様の手法により、合成特徴語ベクトルを用いて、文書クラスタ間の類似度を計算して、該類似度が基準を満たす文書クラスタ同士を結合する。上記文書クラスタ間の類似度は、分類された各文書クラスタに属する代表文書の合成特徴語データを用いて計算される。クラスタ間結合部224は、本実施形態における結合手段を構成する。
【0085】
出力部222は、第1の実施形態と同様に、検索結果を示す表示データを生成し、利用者端末260に出力する。上記検索結果においては、クラスタリング処理部220により分類され、その後、クラスタ間結合部224により適宜結合されて構成された文書クラスタ毎に、適合文書が整理されている。
【0086】
図16は、第2の実施形態によるクラスタ間結合部224が実行するクラスタ結合処理を示すフローチャートである。なお、図16は、クラスタリングの対象として、タイトルおよび本文の両方の項目が指定された場合を例示している。図16に示す処理は、図9に示すステップS204の処理が終了した後に呼び出されて、ステップS400から開始される。
【0087】
ステップS401では、クラスタ間結合部224は、各文書クラスタ各々に属する適合文書の文書識別子を取り出す。ステップS402では、クラスタ間結合224は、タイトル特徴語ベクトル格納ファイル242および本文特徴語ベクトル格納ファイル244それぞれから、各代表文書について、文書識別子をキーとしてタイトル特徴語ベクトルおよび本文特徴語ベクトルを取り出す。
【0088】
ステップS403では、クラスタ間結合部224は、各文書クラスタを代表する各代表文書について、得られたタイトル特徴語ベクトルおよび本文特徴語ベクトルを合成し、合成特徴語ベクトルを算出する。特徴語ベクトルの合成手法としては、上記クラスタリング処理と同様に、複数の特徴語ベクトルいずれかに存在する特徴語を合成特徴語ベクトルの特徴語として含ませる手法などを採用することができる。
【0089】
以下、タイトル特徴語ベクトルおよび本文特徴語ベクトルの合成手法の一例を説明する。ここでは、クラスタ結合処理の前に行われた図9に示すステップS204の処理により、図13に示す結果が得られたとする。クラスタ識別子「4」の文書クラスタを代表する代表文書が文書識別子「7」の文書であるとすると、合成特徴語ベクトルd7(={(テキスト,1),(マイニング,1),(全文,1),(データ,1),(索引,1)}が得られる。
【0090】
ステップS404では、クラスタ間結合部224は、得られた各文書クラスタの代表文書の合成特徴語ベクトルから文書クラスタ間の類似度を算出する。文書クラスタ間の類似度は、文書間の類似度と同様に、2つの代表文書において、合成特徴ベクトル間のなす角の余弦またはユークリッド距離によって好適に計算することができる。説明する実施形態では、合成特徴ベクトルの余弦尺度で類似度を算出するものとする。文書識別子が「2」である文書の合成語特徴ベクトルd2(={(テキスト,1),(マイニング,1),(全文,1),(データ,1),(高速,1)})が与えられると、上記文書識別子「7」の合成特徴語ベクトルd7と文書2のものとのなす角の余弦C(2,7)を計算すると、0.80が得られる。
【0091】
ステップS405では、クラスタ間結合部224は、上記文書クラスタ間に計算された類似度のうち、基準以上の類似度を有するものがあるか否かを判定する。ステップS405で、基準以上の類似度を有するものがあると判定された場合(YES)は、ステップS406へ処理を進める。ステップS406では、クラスタ間結合部224は、基準を満たし代表文書が類似する文書クラスタ同士を結合する。ステップS407では、クラスタ間結合部224は、各文書クラスタ内の適合文書各々に対し、文書クラスタを識別する文書クラスタ識別子を再度付与し直す。
【0092】
図17は、第2の実施形態によるクラスタ結合処理を説明する図であり、図13に示したクラスタリング結果に対して、クラスタ結合処理を行った結果を示す。図17に示すように、文書クラスタ間の類似度が0.7以上を基準とすると、図13におけるクラスタ識別子「4」,「2」の文書クラスタが結合される。その結果、図17に示すように、文書識別子「4」,「2」「7」を含む結合された文書クラスタにクラスタ識別子「2」がふり直される。
【0093】
上述した第2の実施形態によれば、上記グループ毎にクラスタリングされた文書クラスタを、グループにまたがって、類似度が基準を満たすもの同士結合することにより、少ない計算量で、第2の実施形態に比較してより高い精度で、検索結果に含まれる文書を分類することが可能となる。
【0094】
以上説明したように、上述までの実施形態によれば、文書の項目毎の特徴語データを準備するだけで、項目の任意の組み合わせを対象として文書が分類された検索結果を提供できる情報処理装置、および該情報処理装置を実現するためのプログラムを提供することができる。なお、上記情報処理装置は、データベース管理システムや文書管理システム、エンタープライズ情報検索システムなどに適用することができる。
【0095】
なお、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【0096】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0097】
12…MPU、14…BIOS、16…メモリ、18…記憶制御用インタフェース、20…ハードディスク、22…バス、24…インタフェース、26…入出力装置、28…VRAM、30…グラフィック・チップ、32…ディスプレイ装置、34…ネットワークI/F、100…ネットワーク環境、102…ネットワーク、110,210…情報検索サーバ、112,212…検索要求受付部、114,214…文書検索部、116,216…スコア計算部、118,218…グループ分け部、120、220…クラスタリング部、122,222…出力部、130,230…索引ファイル群、132,232…タイトル用索引ファイル、134,234…本文用索引ファイル、140,240…特徴語ベクトル格納ファイル群、142,242…タイトル用特徴語ベクトル格納ファイル、144,244…本文用特徴語ベクトル格納ファイル、150…文書保管サーバ、160,260…利用者端末、170…検索結果表示画面、172…テキストボックス、174…検索テーブル、176…代表文書、178…スコア、180…展開記号、224…クラスタ間結合部
【先行技術文献】
【特許文献】
【0098】
【特許文献1】特開2010−009577号公報
【非特許文献】
【0099】
【非特許文献1】真野博子,伊藤秀夫,小川泰嗣、「文書検索におけるランキング検索技術」、リコーテクニカルレポート、株式会社リコー・研究開発本部、平成15年12月1日、No.29、p.21-30
【非特許文献2】岸田和明、「文書クラスタリングの技法:文献レビューTechniques of Document Clustering: A Review」、Library and Information Science、三田図書館・情報学会、No.49、2003、p33-75
【技術分野】
【0001】
本発明は、情報検索技術に関し、より詳細には、検索条件との適合度に応じて取得された文書群を分類して検索結果を提供する情報処理装置、および該情報処理装置を実現するためのプログラムに関する。
【背景技術】
【0002】
従来、全文検索において、データベース内の文書毎にスコアを算出し、上記スコアに従ってランク付けして検索結果を提供する検索技術が知られている。例えば、Google社が提供する検索エンジンでは、PageRank(登録商標)と呼ばれるウェブ・ページの重要度を決定するためのアルゴリズムを用いて、ウェブ・ページ間のリンク情報から検索語に対する文書のスコアが算出されている。上記アルゴリズムは、インターネット上のコンテンツを対象とした検索に対して効果的である。しかしながら、企業内の文書データに関しては、文書データ間に充分なリンク情報が存在しないことが多いため、上記リンク情報を利用したスコアの算出方法はあまり有効ではない。
【0003】
組織内文書を対象としたエンタープライズ検索に好適に適用できる技術として、非特許文献1に開示される自然言語処理を利用したランキング検索技術が知られている。非特許文献1は、自然言語で表現された検索要求に対し、文書データベース中からその検索要求に適合する文書群を確率モデルに基づきランク付けして提供する技術を開示する。
【0004】
一方、エンタープライズ検索では、オリジナルの文書のみが検索対象として登録されていることは少なく、各部署において複製された複製文書が登録されている場合や、バージョンが異なる改訂文書が登録されている場合があるなど、オリジナルから派生した派生文書が多数登録されている場合が多い。上記の場合に、ランキング検索を行うと、上記派生文書のスコアがほぼ同じ値になるので、スコア順でソートすると、上記派生文書が連続して表示され、目的の文書になかなかたどり着けないという問題があった。
【0005】
情報検索の分野では、非特許文献2に開示されるような特徴語ベクトルを利用した文書クラスタリング技術も知られており、文書クラスタリング技術を適用して予め検索対象を分類し、検索結果にクラスタ毎の代表文書のみを表示させる技術も知られている。上記従来技術では、同じような内容を有する派生文書を分類して検索結果を表示できるようになるが、検索対象数が増加すると、分類のため文書間の類似度を計算する計算量が増大するため、現実的ではなかった。
【0006】
クラスタリングの計算量を低減する技術として、特開2010−009577号公報(特許文献1)が知られている。上記特許文献1の従来技術では、文書の適合度スコアに基づいて検索結果をグループ化し、計算対象を少なくした上で文書クラスタリング技術を適用することにより、クラスタリングの計算量を低減している。
【0007】
ところで、検索対象となる文書は、通常、タイトル、要約、本文、作成者および作成日などの一定の構造を有している場合が多い。全文検索では、通常、タイトル、要約および本文の項目が検索対象となる。そして、上記タイトル、要約および本文すべてを対象とした索引ファイルを準備することにより、タイトル、要約および本文の少なくとも1つにヒットする文書を検索することが可能となる。
【0008】
一方、タイトル、要約および本文のうち1つの項目のみを検索対象として、適切なランキング検索を可能とするためには、上記すべてを対象とした索引ファイルの他に、タイトル用索引ファイル、要約用索引ファイルおよび本文用索引ファイルというように、項目毎に索引ファイルを準備する必要がある。タイトル、要約および本文の任意の組み合わせを検索対象として検索可能とするためには、各組み合わせに対応した索引ファイルを用意する必要があり、2倍以上の記憶容量が必要となってしまう。
【発明の概要】
【発明が解決しようとする課題】
【0009】
文書クラスタリングにおいても、同様に、すべての項目から計算した特徴語ベクトルを用いてクラスタリングを行いたい場合、本文、タイトルおよび要約の任意の組み合わせから計算した特徴語ベクトルを用いてクラスタリングを行いたい場合などが想定される。例えば、タイトルだけを検索対象とした場合でも、タイトル、本文および要約すべてから計算した特徴語ベクトルを用いてクラスタリングを行えると有用である。また、各項目に重み付けを行ってクラスタリングを行えると有用である。
【0010】
しかしながら、上記従来技術の全文検索システムでは、上述した多様な検索およびクラスタリングを行うためには、検索およびクラスタリングの対象となる項目のあらゆる組み合わせに対応して、それぞれ索引ファイルおよび特徴語データベースを準備する必要があった。したがって、任意の組み合わせでの検索およびクラスタリングを実現しようとすると、膨大な記憶容量を必要とするという問題点があった。
【0011】
本発明は、上記従来技術における不充分な点に鑑みてなされたものであり、本発明は、文書の項目毎の特徴語データを準備するだけで、項目の任意の組み合わせを対象として文書が分類された検索結果を提供できる情報処理装置、および該情報処理装置を実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、上記課題を解決するために、以下の特徴を有する、複数の項目が含まれる文書を検索するための情報処理装置を提供する。本情報処理装置は、登録された各文書の索引データを格納する1以上の索引データ格納手段と、登録された各文書から項目毎に抽出された特徴語データを格納する各項目の特徴語データ格納手段とを含む。本情報処理装置は、さらに、検索要求にかかる検索条件に適合した適合文書を上記索引データから検索する検索手段と、上記適合文書各々を、所定の複数の項目の特徴語データを合成した合成特徴語データを用いて、適合文書間の類似度を計算し、分類する分類手段と、上記検索要求に対応して、分類された適合文書を含む検索結果データを出力する出力手段とを含む。
【発明の効果】
【0013】
上記構成によれば、文書を構成する複数の項目のあらゆる組み合わせの特徴語ベクトル・データを必要とせずに、利用者が希望する項目の任意の組み合わせで、検索結果に含まれる文書を分類して整理することが可能となる。これにより、記憶容量が節約され、登録性能が向上する。
【図面の簡単な説明】
【0014】
【図1】第1の実施形態の情報検索サーバが配置されるネットワーク環境の構成図。
【図2】第1の実施形態による情報検索サーバのハードウェア構成図。
【図3】第1の実施形態による情報検索サーバ上に実現される機能ブロック図。
【図4】第1の実施形態の情報検索サーバにおいて管理される文書データのデータ構造を示す図。
【図5】第1の実施形態による索引ファイルのデータ構造を模式的に示す図。
【図6】第1の実施形態によるタイトル特徴語ベクトル格納ファイルのデータ構造を示す図。
【図7】第1の実施形態による本文特徴語ベクトル格納ファイルのデータ構造を示す図。
【図8】第1の実施形態において索引ファイルおよび特徴語ベクトル格納ファイルが作成されるまでの処理の流れについて説明するフローチャート。
【図9】第1の実施形態による情報検索サーバが実行する検索処理のメインフローを示すフローチャート。
【図10】スコア計算部により適合文書に対して適合度スコアが算出され、適合文書がスコア降順にソートされた様子を説明する図。
【図11】第1の実施形態によるグループ分け部が実行する、グループ化処理を説明する図。
【図12】第1の実施形態によるクラスタリング部が実行する、クラスタリング処理を示すフローチャート。
【図13】第1の実施形態によるクラスタリング処理を説明する図。
【図14】第1の実施形態による出力部が出力する、検索結果表示画面を一例として示す図。
【図15】第2の実施形態による情報検索サーバ上に実現される機能ブロック図。
【図16】第2の実施形態によるクラスタ間結合部が実行する、クラスタ結合処理を示すフローチャート。
【図17】第2の実施形態によるクラスタ結合処理を説明する図。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、情報処理装置として、ネットワーク上に存在する種々の文書を検索対象として登録し、外部からの検索要求に応答して、検索条件に適合した文書群を検索する情報検索サーバを一例に説明する。
【0016】
(1)全体構成
以下、図1を参照して、第1の実施形態による情報検索サーバが配置されるネットワーク環境の全体構成について説明する。図1は、第1の実施形態の情報検索サーバが配置されるネットワーク環境の構成図である。図1に示すネットワーク環境100は、インターネットやローカル・エリア・ネットワークなどのネットワーク102と、それぞれネットワーク102に接続される情報検索サーバ110と、文書保管サーバ150と、利用者端末160とを含む。
【0017】
文書保管サーバ150は、本実施形態において検索対象となる文書データを保管する装置である。文書保管サーバ150は、特に限定されるものではないが、例えば、ドキュメント管理システム(DMS:Document Management System)、コンテンツ管理システム(CMS:Content management System)、ファイル・サーバ、データベース管理システム、ウェブ・サーバなどとして構成される。
【0018】
検索対象となる文書データとしては、特に限定されるものではないが、PDF(Portable Document Format)などの共通形式や各プロプライエタリまたはオープンソースの各種ワードプロセッサ固有形式のドキュメント・ファイル、スプレッドシート・ファイル、プレゼンテーション・ファイル、ウェブ・ページ、テキスト・データなど、テキストが含まれる種々の形式の文書データを挙げることができる。
【0019】
利用者端末160は、情報検索サーバ110を利用するクライアント端末である。利用者端末160は、ネットワーク102を介して情報検索サーバ110にアクセスし、情報検索サーバ110に対し検索要求を行い、取得した検索結果をディスプレイ装置などに画面表示させる。
【0020】
情報検索サーバ110は、文書保管サーバ150内に保管される文書データを検索対象として索引付け登録する。なお、登録されている文書には、オリジナルの文書の他、オリジナル文書から複製された文書(以下、複製文書と参照する。)、オリジナル文書が改訂された文書(以下、改訂文書と参照する。)など、種々のオリジナル文書から派生した文書(以下、派生文書と参照する。)が含まれることがある。本情報検索サーバ110は、詳細を後述するように、利用者端末160からの検索要求に応答して、文書保管サーバ150内の複数文書の中から検索条件に適合する文書群を検索し、類似する派生文書が整理された状態で検索結果を作成し、利用者端末160に提供する。
【0021】
なお、図1に示すネットワーク環境100は、例示したものであり、情報検索サーバ110が置かれるネットワーク環境は、特に限定されるものではない。例えば、文書保管サーバ150および利用者端末160がそれぞれ複数あってもよいし、情報検索サーバ110自身が検索対象の文書を保管する態様では、文書保管サーバ150を省略してもよい。また、説明する実施形態では、外部クライアントに対し検索機能を提供する情報検索サーバを例示する。しかしながら、他の実施形態では、情報処理装置自身が保管する文書を検索対象として、情報処理装置自身が接続されるディスプレイに検索結果を提供する、デスクトップ検索機能を備えたパーソナル・コンピュータして構成することもできる。
【0022】
(2)ハードウェア構成
以下、情報検索サーバ110のハードウェア構成について説明する。図2は、第1の実施形態による情報検索サーバのハードウェア構成図である。情報検索サーバ110は、マイクロプロセッサ・ユニット(MPU)12と、BIOS(Basic Input Output System)を格納する不揮発性メモリ14と、MPU12によるプログラム処理を可能とする実行記憶空間を提供するメモリ16とを含む。MPU12は、起動時に、不揮発性メモリ14からBIOSを読み出し、システム診断を行う。
【0023】
MPU12は、内部バス22を介して記憶制御用インタフェース18に接続され、ハードディスク20が、MPU12からの入出力要求に応答してデータの書込または読み出しを実行する。記憶制御用インタフェース18としては、ATA(AT Attachment)、SATA(Serial ATA)、eSATA(external ATA)などの規格により、ハードディスク20の入出力を管理するインタフェースを使用することができる。MPU12は、また、内部バス22を介して、USB、IEEE1394などのシリアルまたはパラレル・インタフェース24を制御して、キーボード、マウスなどの入出力装置26と通信し、ユーザからの入力を受け取ることができる。
【0024】
情報検索サーバ110は、さらにVRAM28とグラフィック・チップ30とを含むことができる。グラフィック・チップ30は、MPU12からの指令に応答してビデオ信号を処理し、ディスプレイ装置32へと表示させている。MPU12は、また、内部バス22を介してネットワークI/F(NIC;Network Interface Card)34と接続する。これにより、情報検索サーバ110をネットワーク102に接続させている。
【0025】
情報検索サーバ110は、不揮発性メモリ14やハードディスク20、その他NV−RAM(図示せず)やSDカード(図示せず)などの記憶装置に格納されたプログラム(図示せず)を読み出し、メモリ16のメモリ領域に展開する。これにより、情報検索サーバ110は、適切なオペレーティング・システム(OS)のもとで、後述する各機能手段および各処理を実現する。上記OSとしては、Windows(登録商標)、UNIX(登録商標)またはLINUX(登録商標)など、如何なるアーキテクチャを有するOSを採用することができる。情報検索サーバ110は、仮想マシンとして実現される実施形態では、適切なハイパーバイザまたはホストOS上にゲストOSを稼働させて、後述する各機能手段および各処理を実現することができる。
【0026】
なお、詳細な説明は割愛するが、本実施形態の文書保管サーバ150および利用者端末160についても、図2に示すハードウェア構成と同様の構成とすることができる。上記利用者端末160としては、パーソナル・コンピュータやワークステーションなどの汎用コンピュータ装置、および携帯電話やスマートフォン、タブレット端末、PDA(Personal Digital Assistance)などの携帯情報端末を挙げることができる。
【0027】
(3)機能構成
以下、図3〜図7を参照しながら、第1の実施形態の情報検索サーバ110が提供する検索機能について説明する。図3は、第1の実施形態による情報検索サーバ上に実現される機能ブロックを示す図である。図3には、検索サーバ110の他、利用者端末160が示されている。
【0028】
情報検索サーバ110は、類似する派生文書を整理して検索結果を提供するための主な機能部として、検索要求受付部112と、文書検索部114と、スコア計算部116と、グループ分け部118と、クラスタリング部120と、出力部122とを含む。図3には、さらに、類似する派生文書を整理して検索結果を提供するための主なデータとして、情報検索サーバ110がアクセス可能な索引ファイル群130と、特徴語ベクトル格納ファイル群140とが示されている。
【0029】
以下、まず、派生文書を整理して検索結果を提供するための各種データについて説明する。上記検索対象となる文書データは、全文データとして、タイトルおよび本文など複数の構造上の部分を含んで構成され得る。本実施形態では、この構造上の部分を「項目」と参照する。本実施形態においては、上記文書データは、文書データを構成する項目毎の全文データに分割され、該文書データに紐付けて管理される。
【0030】
図4は、第1の実施形態の情報検索サーバにおいて管理される文書データのデータ構造を示す図である。なお、説明する実施形態では、便宜上、文書データは、タイトルおよび本文の2つの項目に分割されて管理されるものとして説明する。図4に示すように文書データは、文書を識別する文書識別子と、文書のタイトルの項目に対応するテキストと、文書の本文の項目に対応するテキストとからなるデータ構造の形式で管理される。各文書識別子は、図示しないが、文書保管サーバ150上の文書データの格納位置を示すURLなどポインタ情報に紐付けられる。
【0031】
索引ファイル群130および特徴語ベクトル格納ファイル群140は、上述した文書データの管理構造に対応して、それぞれ、複数の索引ファイルおよび複数の特徴語ベクトル格納ファイルを含み構成される。説明する実施形態では、索引ファイル群130は、タイトル用の第1索引ファイル(以下、タイトル用索引ファイルと参照する。)132と、本文用の第2索引ファイル(以下、本文用索引ファイルと参照する。)134とを含む。特徴語ベクトル格納ファイル群140は、タイトル用の第1特徴語ベクトル格納ファイル(以下、タイトル用特徴語ベクトル格納ファイルと参照する。)142と、本文用の第2特徴語ベクトル格納ファイル(以下、本文用特徴語ベクトル格納ファイルと参照する。)144とを含む。
【0032】
索引ファイル132,134は、それぞれ、項目毎の索引データを登録する。索引ファイル132,134は、文書検索を高速に行うことができるようなデータ構造を持ったファイルである。索引ファイル132,134は、文書保管サーバ150などに保管される文書データの全文データから予め作成され、文書検索部114が検索条件に該当する検索文書を検索する際に参照される。入力された文書の全文データは、まず、タイトルおよび本文の項目に分割され、各項目の全文データから、Nグラム方式または形態素解析方式などにより、単語が抽出されて、転置索引が作成される。
【0033】
図5は、第1の実施形態による索引ファイルのデータ構造を模式的に示す図である。なお、図5は、本文用索引ファイル134を例示するが、タイトル用索引ファイル132についても、同様のデータ構造を採用することができる。図5に示す索引ファイル134は、転置方式の索引を有し、文書保管サーバ150に保管された文書データの本文(全文データ)から作成された転置索引(Inverted Index)が登録されている。
【0034】
具体的には、索引ファイル134は、単語と、該単語が出現する文書頻度(DF:Document Frequency)とを対応付けて保持する(図5(A))。索引ファイル134は、また、単語毎に、各単語が出現する文書の文書識別子と、該文書内での各単語の出現頻度を表す文書内頻度(TF:Term Frequency)とを対応付けて保持する(図5(B))。索引ファイル134は、さらに、文書識別子と、本文の全文データの文書長とを対応付けて保持することができる(図5(C))。
【0035】
特徴語ベクトル格納ファイル142,144は、項目毎に、各文書を特徴付ける特徴語とその特徴語の重みを表す重み値とからなる特徴語ベクトルが格納されているファイルである。特徴語ベクトル格納ファイル142,144は、上述の索引ファイルと同様に、文書保管サーバ150などに保管される文書データから予め作成され、クラスタリング部120がクラスタリング処理を実行する際に参照される。
【0036】
図6および図7は、それぞれ、第1の実施形態による特徴語ベクトル格納ファイルのデータ構造を示す図である。図6に示すタイトル用特徴語ベクトル格納ファイル142は、文書を識別する文書識別子と、該文書のタイトルの全文データから計算されたタイトル特徴語ベクトル・データとを含み構成される。タイトル特徴語ベクトル・データは、上記文書のタイトルに含まれる特徴語と、特徴語に割り当てられた重み値との1以上の組を含んで構成され、タイトル特徴語ベクトルを表現する。
【0037】
図7に示す本文用特徴語ベクトル格納ファイル144も同様に、文書を識別する文書識別子と、該文書の本文テキストから計算された本文特徴語ベクトル・データとを含み構成される。本文特徴語ベクトル・データは、上記文書の本文に含まれる1以上の特徴語と、特徴語に割り当てられた重み値とを含んで構成され、本文特徴語ベクトルを表現する。
【0038】
図6および図7に示すように、第1の実施形態では、文書データは、複数の項目により管理され、各文書について、項目毎に特徴語ベクトルが計算される。説明する実施形態では、索引ファイルおよび特徴語ベクトル格納ファイル共に、タイトルおよび本文の2つの項目に分割されるものとしたが、文書データの管理構造は、特に限定されるものではない。他の実施形態では、要約やコメントなど文書データのテキスト全体から切り出される他の項目についても、同様に分割して管理することができる。また、本実施形態は、項目毎の特徴語ベクトル格納ファイル142,144を設けることに特徴を有するが、索引ファイルが項目毎に分割されない態様においても適用することができる。
【0039】
以下、再び図3を参照して、派生文書を整理して検索結果を提供するための機能部について説明する。上記検索要求受付部112は、利用者端末160からの検索要求を受け付ける手段である。検索要求受付部112は、利用者端末160から検索要求を受信すると、検索要求から検索条件を取得する。
【0040】
文書検索部114は、上記抽出された検索条件を用いて全文検索を行い、該検索条件に適合した文書を検索する。文書検索部114は、より具体的には、検索条件から検索語を抽出し、索引ファイル群130内の所定の項目に対応する索引ファイル132,134を参照して、該検索語が含まれる文書を検索する。検索対象となる項目は、予め指定されており、指定された項目に対応する索引ファイルが用いられる。例えば、タイトルが検索対象に指定される場合は、文書検索部114は、タイトル用索引ファイル132を参照して全文検索を行う。上記検索対象の項目の指定は、利用者の発意により、例えば検索要求中に指定される。なお、文書検索部114は、本実施形態における検索手段を構成する。
【0041】
スコア計算部116は、文書検索部114により検索された文書(以下、適合文書と参照する。)に対して、検索条件との適合度を表す適合度スコアを算出し、その適合度スコアによって適合文書をランク付ける。適応度スコアは、検索対象として指定された項目に対応する索引ファイル132,134を用いて算出される。上記適合文書は、例えば、文書の適合度スコアの降順にソートされる。なお、スコア計算については詳細を後述する。なお、スコア計算部116は、本実施形態におけるスコア計算手段を構成する。
【0042】
グループ分け部118は、スコア計算部116により適合度スコアが計算された適合文書群を対象として、適合度スコアに応じてグループ分けを行う。スコア降順にソートされた適合文書において、前後の文書は、ある検索語を入力して得られたスコアが近接する文書であるのため、内容が似たような文書であると考えることができる。本実施形態では、この点に着目して、後述するクラスタリングの前処理として、適合文書のグループ分けを行う。なお、グループ分けについては詳細を後述する。なお、グループ分け部118は、本実施形態におけるグループ分け計算手段を構成する。
【0043】
クラスタリング部120は、特徴語ベクトル格納ファイル群140内の、所定の項目に対応する特徴語ベクトル格納ファイル142,144を参照して、特徴語ベクトルを取得し、クラスタリング処理を実行する。より具体的には、クラスタリング部120は、所定の項目の組み合わせで複数の特徴語ベクトルを合成した合成特徴語ベクトルを用いて、適合文書間の類似度を計算し、該類似度が基準を満たすか否かに応じて適合文書を各文書クラスタに分類する。上記クラスタリング処理は、グループ分け部118によりグループ化されたグループ毎に、各グループ内の適合文書群を対象として行われる。
【0044】
クラスタリング処理で用いる項目は、利用者の発意等により、上記スコア計算で指定された項目の指定とは独立に予め指定することができる。例えば、タイトルおよび本文が対象に指定される場合は、クラスタリング部120は、タイトル用および本文用の特徴語ベクトル格納ファイル142,144を参照してクラスタリング処理を行う。なお、本実施形態のクラスタリング処理は、複数の項目の特徴語ベクトルから合成される合成特徴語ベクトルを用いることを特徴としているが、本文のみまたはタイトルのみを対象に指定したクラスタリング・モードが存在することは妨げられない。クラスタリング処理については詳細を後述する。また、クラスタリング部120は、本実施形態における分類手段を構成する。
【0045】
出力部122は、クラスタリング部120により分類された文書クラスタ毎に適合文書を整理し、スコア計算部116によって算出された適合文書毎の適合度を表示するための表示データを生成し、利用者端末160に出力する。出力部122は、情報検索サーバ110がウェブ・アプリケーション・サーバで実装される場合は、HTTP(HyperText Transfer Protocol)プロトコルにより、検索結果表示画面を記述するウェブ・ページを出力する。利用者端末160は、上記表示データを受信して、自身が備えるディスプレイ装置に検索結果表示画面を表示することができる。詳細は後述するが、上記検索結果表示画面においては、スコア降順にソートされ、クラスタごとの代表文書が検索結果として表示される。出力部122は、本実施形態における出力手段を構成する。
【0046】
(4)索引ファイルおよび特徴語ベクトル格納ファイルの準備
以下、図8を参照しながら、索引ファイルおよび特徴語ベクトル格納ファイルが準備されるまでの処理について詳細を説明する。図8は、索引ファイルおよび特徴語ベクトル格納ファイルが作成されるまでの流れについて説明するフローチャートである。なお、図8に示す処理は、特定の項目に対する処理であり、文書を構成する項目毎に図8に示す処理が行われる。
【0047】
図8に示す処理は、索引付け処理実行の契機となる管理者からのマニュアル指令やスケジュールされた日時の到来などに応答して、ステップS100から開始される。ステップS101では、情報検索サーバ110は、入力された文書データの特定の項目の全文データから、Nグラム方式や形態素解析方式などにより、各単語に分割する。ステップS102では、情報検索サーバ110は、上記抽出された単語を検索語として検索できるように、索引ファイル132,134内に単語毎に、該単語が含まれる文書識別子を登録する。索引ファイル132,134内には、各単語について、単語の文書頻度(DF)および単語の出現文書毎の文書内頻度(TF)も付加される。
【0048】
ステップS103では、情報検索サーバ110は、入力された文書データの特定の項目の全文データから、形態素解析方式などにより単語を抽出し、その単語の出現頻度などに基づいて、その文書を特徴付ける特徴語を抽出する。特徴語の抽出は、簡便には、文書内頻度(TF)が大きい単語から所定個数を選択することにより行うことができる。あるいは、特徴語の抽出は、TF−IDF値のIDFの代わりに形態素解析の生起コストを利用して、TF×(生起コスト)を計算し、その値の大きいものから選択することにより行うことができる。その他、特徴語は、単語からストップワードが捨てられて、適宜取捨選択が行われる。
【0049】
ステップS104では、情報検索サーバ110は、入力文書の文書識別子をキーとして、上記抽出した各特徴語を重み付けして、特徴語とその重み値とを、特徴語ベクトル格納ファイルとして保存し、ステップS105で本処理を終了する。なお、特徴語ベクトルを構成する重み値は、図6および図7に示されるように、文書の特定の項目に特徴語が存在すれば、その特徴語の重み値を「1」に設定するような設定手法とすることができる。他の実施形態では、非特許文献2に開示されるように、予め定義された計算式を用いて算出することもできる。
【0050】
(5)検索処理
図8に示した処理により、登録された文書が検索可能となる。以下、図9〜図14を参照しながら、第1の実施形態による派生文書を整理して検索結果を提供する検索処理について、詳細を説明する。図9は、第1の実施形態による情報検索サーバ110が実行する検索処理のメインフローを示すフローチャートである。図9に示す処理は、検索要求受付部112が検索要求を受信したことに応答して、ステップS200から開始される。ステップS201では、文書検索部114は、検索語が含まれる適合文書を、検索対象として指定された項目の索引ファイル132,134から検索し、適合文書の集合を取得する。
【0051】
ステップS202では、スコア計算部116は、取得された各適合文書と検索条件との適合度を表す適合度スコアを算出し、検索文書を適合度スコアの降順にソートする。各適合文書の適合度スコアは、特に限定されるものではないが、文書における指定の項目に対して算出された部分スコアの合計値または最大値などとして計算することができる。項目の部分スコアは、例えば、下記式(1)または下記式(2)により算出することができる。
【0052】
【数1】
【0053】
上記式(1)および(2)中のDjは、識別番号jで識別される文書を意味し、Qiは、識別番号iで識別される単語を意味する。上記式(1)および(2)中のスコアscore1およびscore2は、それぞれ、特定の項目について算出される文書Djの単語Qiについての部分スコアを表す。上記式(1)および(2)中、tfijは、文書Djの特定項目における単語Qiの出現数、すなわち文書内頻度(TF)である。dfiは、単語Qiを含む文書の数、すなわち文書頻度(DF)である。上記式(2)中、ljは、文書Djの特定項目の文書長であり、Lは、平均文書長である。なお、検索条件中に検索語が複数ある場合は、上記score(Dj,Qi)の検索語Qiにわたる合計値とすることができる。
【0054】
上記式(1)において、部分スコアscore(Dj,Qi)は、DFの値が小さい程大きくなる。これは、DFの値が小さい程、つまりその単語を含む文書の数が少ない程、特徴的な単語であるという考え方に基づく。部分スコアscore(Dj,Qi)は、また、TFの値が大きい程大きくなる。これは、TFの値が大きい程、つまりその単語を数多く含む文書である程、検索条件に合致した文書であるという考え方に基づく。
【0055】
タイトルおよび本文の両方が指定される場合は、上記ステップS202では、スコア計算部116は、図5を参照して説明したタイトル用索引ファイル132および本文用索引ファイル134を検索し、タイトルおよび本文それぞれの項目毎に、検索語Qiの各文書DJでの文書内頻度(TF)を取得する。また、スコア計算部116は、索引ファイル132,134を参照して、項目毎に、検索語QiのDFを取得する。上記式(2)を用いる場合は、スコア計算部116は、さらに、図5に示した索引ファイル132,134を検索して、項目毎に、各文書Djの特定項目の文書長ljを取得する。スコア計算部116は、上記式(1)または(2)を用いて算出された各項目の部分スコアの合計値または最大値を計算し、得られた合計値または最大値を適合度スコアとする。図10は、スコア計算部116により適合文書に対して適合度スコアが算出され、スコア降順にソートされた様子を示す図である。
【0056】
再び図9を参照すると、ステップS202で示した適合度スコアの算出およびソートが完了すると、ステップS203へ処理が進められる。ステップS203では、グループ分け部118は、スコア計算部116がスコアリングした適合文書を対象に、適合度スコアに応じて、後述するクラスタリング処理の前処理としてグループ化処理を実行する。
【0057】
図10を再度参照すると、スコア降順(文書識別子1,4,10,2の順)にソートされた適合文書は、ある検索語を入力して得られた適合度スコアが近い文書であるので、その内容は類似する文書であると考えられる。そこで、グループ分け部118は、適合度スコアを一定の範囲で区切って、グループ分けを行う。例えば、適合度スコア値のとり得る値が0以上1未満の範囲である場合、グループ分け部118は、適合度スコア値が0以上0.1未満のもの、0.1以上0.2未満のもの…0.9以上1未満のもの、といったように10区分のグループに分類することができる。
【0058】
図11は、第1の実施形態によるグループ化処理を説明する図であり、図10に示すソート結果に対してグループ分けを行った結果を示す。図11(A)に示す例では、適合度スコア順にソートされた検索結果の上位4件(文書識別子が「1」,「4」,「10」,「2」である適合文書を含む。)がグループAに分けられ、中位4件(文書識別子が「5」,「6」,「7」,「3」である適合文書を含む。)がグループBに分けられている。図11(B)は、各グループの管理情報を示しており、各グループは、所属する文書識別子を要素とする配列で管理される。
【0059】
また、上記グループ化の変形例の実施形態として、グループ化の精度を高めるため、下記式(3)により計算される平均変化率ΔSを用いることもできる。下記式(3)中、Siは結果のi番目の適合度スコアであり、下記式(3)中、Mは検索結果件数である。この変形例の実施形態では、下記式(3)で算出される平均変化率Δよりも大きくスコアが変動している箇所で、グループを区切ることができる。
【0060】
【数2】
【0061】
ステップS203で示したグループ化処理が終了すると、ステップS204へ処理が進められる。ステップS204では、クラスタリング部120は、各適合文書の文書識別子をキーとして、各特徴語と各特徴語の重み値とを取得し、ステップS203でグループ分けされたグループ毎に、そのグループ内の適合文書群を対象として、図12を参照して説明するクラスタリング処理を実行する。
【0062】
図12は、第1の実施形態によるクラスタリング部120が実行するクラスタリング処理を示すフローチャートである。なお、図12は、クラスタリングの対象として、タイトルおよび本文の両方の項目が指定された場合を例示している。図12に示す処理は、図9に示すステップS204で呼び出されて、ステップS300から開始される。
【0063】
ステップS301では、クラスタリング部120は、図9で示したステップS203でグループ分けされたグループのうち、未処理のグループが存在するか否かを判定する。ステップS301で、未処理のグループが存在すると判定された場合(YES)は、ステップS302へ処理が分岐される。
【0064】
ステップS302では、クラスタリング部120は、処理対象とする未処理のグループに含まれる適合文書の文書識別子を取り出す。ステップS303では、クラスタリング部120は、タイトル特徴語ベクトル格納ファイル142および本文特徴語ベクトル格納ファイル144それぞれから、当該グループに含まれる各適合文書について、文書識別子をキーとしてタイトル特徴語ベクトルおよび本文特徴語ベクトルを取り出す。ステップS304では、クラスタリング部120は、当該グループに含まれる各適合文書について、得られたタイトル特徴語ベクトルおよび本文特徴語ベクトルを合成し、合成特徴語ベクトルを算出する。
【0065】
特徴語ベクトルの合成手法としては、複数の特徴語ベクトルいずれかに存在する特徴語を合成特徴語ベクトルの特徴語として含ませる手法を挙げることができる。以下、タイトル特徴語ベクトルおよび本文特徴語ベクトルの合成手法の一例を説明する。図6における文書識別子が「1」である文書のタイトル特徴語ベクトルdt1(={(全文,1),(検索,1),(システム,1)}と、図7における文書識別子が「1」である文書の本文特徴語ベクトルdh1(={(全文,1),(検索,1),(転置,1),(スコア,1)}とを上記手法で合成すると、合成語特徴ベクトルd1(={(全文,1),(検索,1),(システム,1),(転置,1),(スコア,1)})が得られる。同様に、図6および図7における文書識別子が「2」である文書のタイトル特徴語ベクトルdt2,dh2を上記手法で合成すると、合成語特徴ベクトルd2(={(テキスト,1),(マイニング,1),(全文,1),(データ,1),(高速,1)})が得られる。
【0066】
ステップS305では、クラスタリング部120は、得られた各適合文書の合成特徴語ベクトルから適合文書間の類似度を算出して、各適合文書を文書クラスタに分類する。文書間の類似度は、類似度算出にかかる2つの適合文書において、合成特徴ベクトル間のなす角の余弦またはユークリッド距離によって好適に計算することができる。なお、合成特徴語ベクトルが正規化されている場合は、余弦尺度もユークリッド距離も同一の結果を与えるが、説明する実施形態では、合成特徴ベクトルの余弦尺度で類似度を算出するものとする。合成特徴ベクトル間のなす角の余弦は、j番目の文書Djの特徴語ベクトルが、特徴語Qi毎の重みwji(i=1,・・・,M:Mは異なり数(特徴語数))から構成されるベクトル(wj1,wj2,wj3,…wjM)Tで表されるとして、下記式(4)によって算出できることができる。
【0067】
【数3】
【0068】
上記文書識別子「1」の合成語特徴ベクトルd1と、文書識別子「2」の合成語特徴ベクトルd2との間の類似度は、これら2つの合成特徴語ベクトルd1,d2のなす角の余弦で求めることができる。上記式(4)を用いてベクトルd1,d2とのなす角の余弦C(1,2)を計算すると、0.20が得られる。同様に、上記文書識別子「1」の合成語特徴ベクトルd1と、文書識別子「10」の合成語特徴ベクトルd10との間のなす角の余弦C(1,10)を計算すると、0.80が得られる。
【0069】
上記なす角の余弦が大きいほど、2つの特徴語ベクトルが類似しているため、算出された類似度が基準を満たすか否かに応じて適合文書を文書クラスタに分類することができる。例えば、基準値0.7以上の文書が同一文書クラスタに分類されるとして、各適合文書を各文書クラスタに分類することができる。上記の例では、図13に示すように上記文書識別子「1」の文書と上記文書識別子「10」の文書とが同一の文書クラスタに分類されることになる。
【0070】
ステップS306では、クラスタリング部120は、得られた各適合文書に対し、文書クラスタを識別する文書クラスタ識別子を付与し、ステップS301へ戻り、次のグループの処理を移す。図13は、第1の実施形態によるクラスタリング処理を説明する図であり、図11に示したグループ化結果に対してクラスタリング処理を行った結果を示す。
【0071】
なお、説明する実施形態では、複数の特徴語ベクトルの合成手法として、いずれかのベクトルに存在する特徴語を合成特徴語ベクトルに含ませるという方法を採用した。しかしながら、複数の特徴語ベクトルの合成手法は、上記手法に限定されるものではない。
【0072】
他の実施形態では、タイトル特徴語ベクトルと、本文特徴語ベクトルとを合成する際に、共通の特徴語が存在した場合に、該共通語の重み値を増加させることができる。より具体的には、共通語の重み値の合計値を合成特徴語ベクトルにおけるその特徴語の重み値とすることができる。例えば、図6におけるタイトル特徴語ベクトルdt1(={(全文,1),(検索,1),(システム,1)}と、図7における本文特徴語ベクトルdh1(={(全文,1),(検索,1),(転置,1),(スコア,1)}とを上記手法で合成すると、合成語特徴ベクトルd1(={(全文,2),(検索,2),(システム,1),(転置,1),(スコア,1)})が得られることになる。
【0073】
さらに他の実施形態では、複数の項目の特徴語ベクトルを合成する際に、項目に重み値を設定して合成することができる。例えば、タイトルに重み値「2」を設定すると、タイトル特徴語ベクトルに存在する特徴語の重み値が2倍にされ、合計される。例えば図6におけるタイトル特徴語ベクトルdt1と、図7における本文特徴語ベクトルdh1とからは、合成語特徴ベクトルd1(={(全文,3),(検索,3),(システム,2),(転置,1),(スコア,1)})が得られることになる。
【0074】
再び図12を参照すると、ステップS301で、図9のステップS203でグループ分けされたグループすべてに対する処理が完了し、未処理のグループが存在しないと判定された場合(NO)は、ステップS307へ処理を分岐させ、ステップS307で本処理を終了し、図9に示す処理に戻す。
【0075】
ここで、再び図9を参照する。図12を参照して説明したクラスタリング処理が完了すると、ステップS204からステップS205へ処理が進められる。ステップS205では、出力部122は、分類された文書クラスタ毎に適合文書が整理された検索結果を表示するための表示データを生成し、利用者端末160に出力する。ステップS206では、情報検索サーバ110は、検索要求に応答した本処理を終了する。上記検索結果においては、検索結果に含まれる複製文書や改訂文書などの派生文書が整理され、各派生文書群の代表文書がメインとして検索結果に表示される。
【0076】
図14は、第1の実施形態による出力部が出力する検索結果を表す検索結果表示画面を一例として示す図である。図14に示す検索結果表示画面170は、利用者端末160が表示データを受信して、例えばブラウザ上に表示される。検索結果表示画面170は、検索条件が入力されるテキストボックス172と、検索結果を一覧表示する検索結果テーブル174とを含む。検索結果テーブル174の各レコード174a〜174dは、スコア178降順にソートされ、文書クラスタごとの代表文書176を表示している。上記代表文書は、例えば、適合度スコアが最も大きい先頭の適合文書としたり、更新日時が最も古い適合文書としたり、または文書クラスタの重心または中心に近接する適合文書としたりすることができる。
【0077】
また、図14に示す検索結果表示画面において、文書クラスタ識別子「3」の文書クラスタには、文書識別子が「5」,「6」,「3」である3つの文書が属しており、文書識別子「6」、「3」の文書は、代表文書である文書識別子「4」の文書に紐付けられて参照可能になっている。検索結果テーブル174内の展開記号180がクリックされると、対応する文書クラスタに属する各適合文書が展開表示される。
【0078】
上述した第1の実施形態によれば、項目毎の特徴語ベクトル格納ファイルを準備するだけで、利用者が希望する項目の任意の組み合わせで、適合文書をクラスタリングした上で検索結果を提供することができる。したがって、複数の項目すべての組み合わせによる特徴語ベクトル格納ファイルを準備する必要がなく、あらゆる項目の組み合わせを準備する場合と比較して、記憶容量を節約し、登録性能を向上させることができる。
【0079】
さらに、上記第1の実施形態によれば、上記クラスタリング処理は、グループ化により計算対象が削減された上で行われる。このため、適合文書を効率的に分類することが可能となり、ひいては、検索結果を迅速に提供することが可能となる。
【0080】
(6)第2の実施形態
以下、図15〜図17を参照しながら、第2の実施形態による情報検索サーバが提供する全文検索機能について説明する。図15は、第2の実施形態による情報検索サーバ上に実現される機能ブロックを示す図である。なお、第2の実施形態は、ネットワーク環境および情報検索サーバのハードウェア構成を含めて、第1の実施形態と同様の構成を備えるため、以下、相違点を中心に説明する。
【0081】
第2の実施形態の情報検索サーバ210は、検索結果を提供するための主な機能部として、第1の実施形態と同様の機能部212〜222に加えて、クラスタ間結合部224を備える。図15には、第1の実施形態と同様に、類似する派生文書を整理して検索結果を提供するための主なデータとして、索引ファイル群230と、特徴語ベクトル格納ファイル群240とが示されている。なお、索引ファイルおよび特徴語ベクトル格納ファイルについては、第1の実施形態と同様であるため、説明は割愛する。
【0082】
検索要求受付部212は、第1の実施形態と同様に、利用者端末260からの検索要求を受け付ける。文書検索部214は、同様に、検索条件から検索語を抽出し、指定の項目に対応する索引ファイル232,234を参照して、該検索語が含まれる文書を検索する。スコア計算部216も同様に、検索された適合文書に対して、検索条件との適合度を表す適合度スコアを算出してランク付けを行う。
【0083】
グループ分け部218も同様に、適合度スコアが計算された適合文書群を対象として、適合度スコアに応じてグループ分けを行う。クラスタリング部220は、所定の項目に対応する特徴語ベクトル格納ファイル242,244を参照して、合成特徴語ベクトルを計算し、グループ毎に、適合文書間の類似度を計算して、該類似度が基準を満たすか否かに応じて適合文書を各文書クラスタに分類する。
【0084】
本実施形態のクラスタ間結合部224は、上述したクラスタリング処理と同様の手法により、合成特徴語ベクトルを用いて、文書クラスタ間の類似度を計算して、該類似度が基準を満たす文書クラスタ同士を結合する。上記文書クラスタ間の類似度は、分類された各文書クラスタに属する代表文書の合成特徴語データを用いて計算される。クラスタ間結合部224は、本実施形態における結合手段を構成する。
【0085】
出力部222は、第1の実施形態と同様に、検索結果を示す表示データを生成し、利用者端末260に出力する。上記検索結果においては、クラスタリング処理部220により分類され、その後、クラスタ間結合部224により適宜結合されて構成された文書クラスタ毎に、適合文書が整理されている。
【0086】
図16は、第2の実施形態によるクラスタ間結合部224が実行するクラスタ結合処理を示すフローチャートである。なお、図16は、クラスタリングの対象として、タイトルおよび本文の両方の項目が指定された場合を例示している。図16に示す処理は、図9に示すステップS204の処理が終了した後に呼び出されて、ステップS400から開始される。
【0087】
ステップS401では、クラスタ間結合部224は、各文書クラスタ各々に属する適合文書の文書識別子を取り出す。ステップS402では、クラスタ間結合224は、タイトル特徴語ベクトル格納ファイル242および本文特徴語ベクトル格納ファイル244それぞれから、各代表文書について、文書識別子をキーとしてタイトル特徴語ベクトルおよび本文特徴語ベクトルを取り出す。
【0088】
ステップS403では、クラスタ間結合部224は、各文書クラスタを代表する各代表文書について、得られたタイトル特徴語ベクトルおよび本文特徴語ベクトルを合成し、合成特徴語ベクトルを算出する。特徴語ベクトルの合成手法としては、上記クラスタリング処理と同様に、複数の特徴語ベクトルいずれかに存在する特徴語を合成特徴語ベクトルの特徴語として含ませる手法などを採用することができる。
【0089】
以下、タイトル特徴語ベクトルおよび本文特徴語ベクトルの合成手法の一例を説明する。ここでは、クラスタ結合処理の前に行われた図9に示すステップS204の処理により、図13に示す結果が得られたとする。クラスタ識別子「4」の文書クラスタを代表する代表文書が文書識別子「7」の文書であるとすると、合成特徴語ベクトルd7(={(テキスト,1),(マイニング,1),(全文,1),(データ,1),(索引,1)}が得られる。
【0090】
ステップS404では、クラスタ間結合部224は、得られた各文書クラスタの代表文書の合成特徴語ベクトルから文書クラスタ間の類似度を算出する。文書クラスタ間の類似度は、文書間の類似度と同様に、2つの代表文書において、合成特徴ベクトル間のなす角の余弦またはユークリッド距離によって好適に計算することができる。説明する実施形態では、合成特徴ベクトルの余弦尺度で類似度を算出するものとする。文書識別子が「2」である文書の合成語特徴ベクトルd2(={(テキスト,1),(マイニング,1),(全文,1),(データ,1),(高速,1)})が与えられると、上記文書識別子「7」の合成特徴語ベクトルd7と文書2のものとのなす角の余弦C(2,7)を計算すると、0.80が得られる。
【0091】
ステップS405では、クラスタ間結合部224は、上記文書クラスタ間に計算された類似度のうち、基準以上の類似度を有するものがあるか否かを判定する。ステップS405で、基準以上の類似度を有するものがあると判定された場合(YES)は、ステップS406へ処理を進める。ステップS406では、クラスタ間結合部224は、基準を満たし代表文書が類似する文書クラスタ同士を結合する。ステップS407では、クラスタ間結合部224は、各文書クラスタ内の適合文書各々に対し、文書クラスタを識別する文書クラスタ識別子を再度付与し直す。
【0092】
図17は、第2の実施形態によるクラスタ結合処理を説明する図であり、図13に示したクラスタリング結果に対して、クラスタ結合処理を行った結果を示す。図17に示すように、文書クラスタ間の類似度が0.7以上を基準とすると、図13におけるクラスタ識別子「4」,「2」の文書クラスタが結合される。その結果、図17に示すように、文書識別子「4」,「2」「7」を含む結合された文書クラスタにクラスタ識別子「2」がふり直される。
【0093】
上述した第2の実施形態によれば、上記グループ毎にクラスタリングされた文書クラスタを、グループにまたがって、類似度が基準を満たすもの同士結合することにより、少ない計算量で、第2の実施形態に比較してより高い精度で、検索結果に含まれる文書を分類することが可能となる。
【0094】
以上説明したように、上述までの実施形態によれば、文書の項目毎の特徴語データを準備するだけで、項目の任意の組み合わせを対象として文書が分類された検索結果を提供できる情報処理装置、および該情報処理装置を実現するためのプログラムを提供することができる。なお、上記情報処理装置は、データベース管理システムや文書管理システム、エンタープライズ情報検索システムなどに適用することができる。
【0095】
なお、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【0096】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0097】
12…MPU、14…BIOS、16…メモリ、18…記憶制御用インタフェース、20…ハードディスク、22…バス、24…インタフェース、26…入出力装置、28…VRAM、30…グラフィック・チップ、32…ディスプレイ装置、34…ネットワークI/F、100…ネットワーク環境、102…ネットワーク、110,210…情報検索サーバ、112,212…検索要求受付部、114,214…文書検索部、116,216…スコア計算部、118,218…グループ分け部、120、220…クラスタリング部、122,222…出力部、130,230…索引ファイル群、132,232…タイトル用索引ファイル、134,234…本文用索引ファイル、140,240…特徴語ベクトル格納ファイル群、142,242…タイトル用特徴語ベクトル格納ファイル、144,244…本文用特徴語ベクトル格納ファイル、150…文書保管サーバ、160,260…利用者端末、170…検索結果表示画面、172…テキストボックス、174…検索テーブル、176…代表文書、178…スコア、180…展開記号、224…クラスタ間結合部
【先行技術文献】
【特許文献】
【0098】
【特許文献1】特開2010−009577号公報
【非特許文献】
【0099】
【非特許文献1】真野博子,伊藤秀夫,小川泰嗣、「文書検索におけるランキング検索技術」、リコーテクニカルレポート、株式会社リコー・研究開発本部、平成15年12月1日、No.29、p.21-30
【非特許文献2】岸田和明、「文書クラスタリングの技法:文献レビューTechniques of Document Clustering: A Review」、Library and Information Science、三田図書館・情報学会、No.49、2003、p33-75
【特許請求の範囲】
【請求項1】
複数の項目が含まれる文書を検索するための情報処理装置であって、
登録された各文書の索引データを格納する1以上の索引データ格納手段と、
登録された各文書から項目毎に得られた特徴語データを格納する各項目の特徴語データ格納手段と、
検索要求にかかる検索条件に適合した適合文書を前記索引データから検索する検索手段と、
前記適合文書各々を、所定の複数の項目の特徴語データを合成した合成特徴語データを用いて、前記適合文書間の類似度を計算し、分類する分類手段と、
前記検索要求に対応して、分類された前記適合文書を含む検索結果データを出力する出力手段と
を含む、情報処理装置。
【請求項2】
前記情報処理装置は、文書に対し、前記検索条件に対する適合度を表すスコアを計算するスコア計算手段と、前記適合文書各々をスコアに応じてグループ分けするグループ分け計算手段とをさらに含み、
前記分類手段は、分けられたグループ内で前記適合文書間の類似度を計算する、請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置は、分類された各文書クラスタに属する代表文書の合成特徴語データを用いて、該文書クラスタ間の類似度を計算し、該類似度が基準を満たす文書クラスタ同士を結合する結合手段をさらに含む、請求項1または2に記載の情報処理装置。
【請求項4】
前記分類手段は、前記所定の複数の項目の特徴語データ間に共通語がある場合には、前記合成特徴語データ内の該共通語の重み値を増加させる、請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項5】
前記分類手段は、前記所定の複数の項目の特徴語データを指定の重み付けで合成する、請求項1〜4のいずれか1項に記載の情報処理装置。
【請求項6】
前記1以上の索引データ格納手段は、登録された各文書の項目毎の索引データを格納する各項目の索引データ格納手段を含み、前記スコア計算手段は、指定された1以上の項目の索引データから得られる部分スコアを用いて前記スコアを計算し、
前記合成特徴語データを合成するための前記所定の複数の項目は、スコア計算での前記1以上の項目の指定とは独立に指定される、請求項2に記載の情報処理装置。
【請求項7】
複数の項目が含まれる文書を検索するための情報処理装置を実現するためのコンピュータ実行可能なプラグラムであって、コンピュータを、
登録された各文書の索引データを格納する1以上の索引データ格納手段、
登録された各文書から項目毎に得られた特徴語データを格納する各項目の特徴語データ格納手段、
検索要求にかかる検索条件に適合する適合文書を前記索引データから検索する検索手段、
前記適合文書各々を、所定の複数の項目の特徴語データを合成した合成特徴語データを用いて、適合文書間の類似度を計算し、分類する分類手段、および
前記検索要求に対応して、分類された前記適合文書を含む検索結果データを出力する出力手段
として機能させるためのプログラム。
【請求項8】
前記プログラムは、コンピュータを、文書に対し、前記検索条件に対する適合度を表すスコアを計算するスコア計算手段、および前記適合文書各々をスコアに応じてグループ分けするグループ分け計算手段としてさらに機能させ、
前記分類手段は、分けられたグループ内で前記適合文書間の類似度を計算する、請求項7に記載のプログラム。
【請求項1】
複数の項目が含まれる文書を検索するための情報処理装置であって、
登録された各文書の索引データを格納する1以上の索引データ格納手段と、
登録された各文書から項目毎に得られた特徴語データを格納する各項目の特徴語データ格納手段と、
検索要求にかかる検索条件に適合した適合文書を前記索引データから検索する検索手段と、
前記適合文書各々を、所定の複数の項目の特徴語データを合成した合成特徴語データを用いて、前記適合文書間の類似度を計算し、分類する分類手段と、
前記検索要求に対応して、分類された前記適合文書を含む検索結果データを出力する出力手段と
を含む、情報処理装置。
【請求項2】
前記情報処理装置は、文書に対し、前記検索条件に対する適合度を表すスコアを計算するスコア計算手段と、前記適合文書各々をスコアに応じてグループ分けするグループ分け計算手段とをさらに含み、
前記分類手段は、分けられたグループ内で前記適合文書間の類似度を計算する、請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置は、分類された各文書クラスタに属する代表文書の合成特徴語データを用いて、該文書クラスタ間の類似度を計算し、該類似度が基準を満たす文書クラスタ同士を結合する結合手段をさらに含む、請求項1または2に記載の情報処理装置。
【請求項4】
前記分類手段は、前記所定の複数の項目の特徴語データ間に共通語がある場合には、前記合成特徴語データ内の該共通語の重み値を増加させる、請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項5】
前記分類手段は、前記所定の複数の項目の特徴語データを指定の重み付けで合成する、請求項1〜4のいずれか1項に記載の情報処理装置。
【請求項6】
前記1以上の索引データ格納手段は、登録された各文書の項目毎の索引データを格納する各項目の索引データ格納手段を含み、前記スコア計算手段は、指定された1以上の項目の索引データから得られる部分スコアを用いて前記スコアを計算し、
前記合成特徴語データを合成するための前記所定の複数の項目は、スコア計算での前記1以上の項目の指定とは独立に指定される、請求項2に記載の情報処理装置。
【請求項7】
複数の項目が含まれる文書を検索するための情報処理装置を実現するためのコンピュータ実行可能なプラグラムであって、コンピュータを、
登録された各文書の索引データを格納する1以上の索引データ格納手段、
登録された各文書から項目毎に得られた特徴語データを格納する各項目の特徴語データ格納手段、
検索要求にかかる検索条件に適合する適合文書を前記索引データから検索する検索手段、
前記適合文書各々を、所定の複数の項目の特徴語データを合成した合成特徴語データを用いて、適合文書間の類似度を計算し、分類する分類手段、および
前記検索要求に対応して、分類された前記適合文書を含む検索結果データを出力する出力手段
として機能させるためのプログラム。
【請求項8】
前記プログラムは、コンピュータを、文書に対し、前記検索条件に対する適合度を表すスコアを計算するスコア計算手段、および前記適合文書各々をスコアに応じてグループ分けするグループ分け計算手段としてさらに機能させ、
前記分類手段は、分けられたグループ内で前記適合文書間の類似度を計算する、請求項7に記載のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2013−109606(P2013−109606A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−254549(P2011−254549)
【出願日】平成23年11月22日(2011.11.22)
【出願人】(000006747)株式会社リコー (37,907)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願日】平成23年11月22日(2011.11.22)
【出願人】(000006747)株式会社リコー (37,907)
[ Back to top ]