情報処理装置及びその制御方法
【課題】 簡易な構成で所望のコンテンツ(文書)の検索を行うことができる情報処理装置及びその制御方法を提供する。
【解決手段】 複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルを情報処理装置に設けておく。そして、複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別とインデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する(ステップS810)。その後、ステップS810において選択した外部の情報処理装置に対して、インデックス処理の実行を要求する(ステップS811)。
【解決手段】 複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルを情報処理装置に設けておく。そして、複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別とインデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する(ステップS810)。その後、ステップS810において選択した外部の情報処理装置に対して、インデックス処理の実行を要求する(ステップS811)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散検索システムに好適な情報処理装置及びその制御方法に関する。
【背景技術】
【0002】
ネットワークが発達し、ネットワークに接続されている情報処理装置に蓄積されている情報の共有化が進められている。情報の共有化が進むにしたがって、それぞれの情報処理装置がどのような情報を蓄積しているのかを知ることが困難になっている。
【0003】
情報の共有化を図ったシステムとして種々のものがある。例えば、ある1つの情報処理装置が、他の情報処理装置に蓄えられている情報の検索インデックスを生成して、他の情報処理装置から通知された検索要求を処理して検索結果を要求元の情報処理装置に通知する集中管理型の検索システムがある。また、近年では、ネットワークに接続されているそれぞれの情報処理装置に検索機能を配し、検索処理は検索要求を受け付けた各情報処理装置上で行い、検索結果を要求元の情報処理装置に通知する分散管理型の検索システムが実現されてきている。
【0004】
また、複数の文書を含む文書群から所望の文書を検索するための技術として、従来、各文書に付与されたキーワードによるインデックスを作成して検索するメタデータ検索エンジンが知られている。また、各文書に含まれるテキストをN文字ごとに区切り各文字列が含まれる該当する文書の情報と文字列の位置情報によるインデックスを作成し検索する全文検索エンジンが知られている。更に、各文書に含まれるテキストを形態素解析等で単語を認識すると伴に統計処理で複合語の認識を実施し文書の語彙空間を抽出して検索対象の文書中から類似性の高い文書を検索する概念検索エンジンが知られている。また、イメージ文書の画像特徴量を抽出し画像特徴量によるインデックスを生成し検索する類似画像検索エンジンが知られている。
【0005】
ネットワーク上に接続された各情報処理装置に検索機能を配する分散管理型の検索システム(分散検索システム)において、様々な検索エンジンが各検索機能に組み込まれている場合には、次のような処理が必要とされる。即ち、検索機能を提供するアプリケーションが文書に対して検索で使用するインデックスを生成する際に、全文検索を行うのか類似画像検索を行うのか検索目的に応じて検索サーバを選択し、個々の呼出し手順に応じた処理をする必要がある。
【0006】
また、特許文献1には、文書および検索用インデックス情報の登録依頼を行う可能な端末装置にそれらの登録処理を行わせる文書管理システム等が開示されている。
【0007】
【特許文献1】特開2001−350778号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、従来の分散検索システムでは、上述のように、全文検索を行うのか類似画像検索を行うのか検索目的に応じて検索サーバを選択し、個々の呼出し手順に応じた処理をする必要がある。このため、様々なインデックスを使用する検索機能のロケーションや使用手順を管理し、プログラムする必要があり、複雑なシステムとなる。
【0009】
本発明は、上記の問題点に鑑みてなされたものであり、簡易な構成で所望のコンテンツ(文書)の検索を行うことができる情報処理装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本願発明者は、前記課題を解決すべく鋭意検討を重ねた結果、以下に示す発明の諸態様に想到した。
【0011】
本発明に係る情報処理装置は、ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求する情報処理装置であって、前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルと、前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択手段と、前記選択手段によって選択された外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手段と、を有することを特徴とする。
【0012】
本発明に係る分散検索システムは、ネットワークを介して通信可能な複数の第1の情報処理装置及び第2の情報処理装置を備えた分散検索システムであって、前記複数の第1の情報処理装置の各々は、前記第2の情報処理装置からのインデックス処理の実行の要求があると、当該要求において指定されたインデックス対象コンテンツに対してインデックス処理を実行するインデックス処理実行手段を有し、前記第2の情報処理装置は、前記複数の第1の情報処理装置毎に当該第1の情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルと、前記複数の第1の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる第1の情報処理装置を選択する選択手段と、前記選択手段によって選択された第1の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手段と、を有することを特徴とする。
【0013】
本発明に係る情報処理装置の制御方法は、ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求する情報処理装置の制御方法であって、前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルを前記情報処理装置に設けておき、前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択ステップと、前記選択ステップにおいて選択した外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求ステップと、
を有することを特徴とする。
【0014】
本発明に係るプログラムは、ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求するために情報処理装置が実行するプログラムであって、前記情報処理装置に、前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルを設けておき、前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択手順と、前記選択手順において選択した外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手順と、を実行させることを特徴とする。
【発明の効果】
【0015】
本発明によれば、簡素な構成で検索処理及びその前処理としてのインデックス処理を実行することができる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施形態について添付の図面を参照して具体的に説明する。
【0017】
図1は、本発明の実施形態に係る分散検索システムのネットワーク構成を示すブロック図である。本実施形態においては、図1に示すように、複数の情報処理装置101がローカルエリアネットワーク102を介して接続されている。各情報処理装置101は、各々が保持しているインデックスを検索対象として管理している。インデックスは、検索エンジンによって、検索処理の前処理として作成された情報であり、検索対象文書から検索処理で使用される。オペレータが一の情報処理装置101(第2の情報処理装置)を用いてインデキシング操作を行う場合には、この情報処理装置101から他の情報処理装置101(第1の情報処理装置)に対してインデックス処理要求が通知される。そして、インデックス処理要求を受け付けた情報処理装置101がインデックス処理を実行する。
【0018】
図2は、各情報処理装置101の構成を示すブロック図である。各情報処理装置101には、中央演算処理装置201、読み出し専用固定メモリ202、ランダムアクセスメモリ203、入力装置204、表示装置205、記憶装置206、外部記憶装置207及び通信装置208が設けられている。これらは、バス209を介して相互に接続されている。
【0019】
中央演算処理装置(CPU)201は、分散検索のための演算、論理判断等を行い、バス209を介してバス209に接続された各構成要素を制御する。読み出し専用固定メモリ(ROM)202は、中央演算処理装置201が実行する制御プログラム等を記憶している。ランダムアクセスメモリ(RAM)203は、各種データの一時記憶に用いられる。入力装置204は、例えばキーボード及びマウス等から構成される。表示装置205は、例えば文書データや図形データ等を表示する。記憶装置206は、例えばハードディスクから構成される。外部記憶装置207は、例えばフレキシブルディスクや書き込み可能なCD、DVD等の外部記憶装置である。通信装置208は、ローカルエリアネットワークコントローラ等から構成され、ローカルエリアネットワーク102を介して外部の情報処理装置101との間でデータ交換等を行う。そして、バス209を介して、CPU201の制御対象である各構成要素を指示するアドレス信号及びコントロール信号等が転送される。
【0020】
このように構成された情報処理装置においては、入力装置204から入力が行われると、インタラプタ信号が中央演算処理装置201に送られる。そして、中央演算処理装置201がROM202内に記憶してある各種の制御信号を読み出し、これらの制御信号に従って各種の制御を行う。
【0021】
次に、中央演算処理装置201がRAM203に格納する種々のデータについて説明する。このようなデータとしては、例えばインデキシング能力テーブル、コンテンツ解析情報及びインデックス処理対象コンテンツ情報が挙げられる。
【0022】
図3は、インデキシング能力テーブルの記憶領域を示す図である。インデキシング能力テーブル30は、各情報処理装置101がローカルエリアネットワーク102に接続されるか、又はローカルエリアネットワーク102から離脱する際に、各情報処理装置101間での情報交換に伴って更新される情報である。
【0023】
インデキシング能力テーブル30には、図3に示すように、例えば、ローカルエリアネットワーク102を介して接続されている各情報処理装置101のIPアドレスを格納するIPアドレス301が含まれている。そして、これらのIPアドレス301に、各情報処理装置101のインデキシング能力を表すインデキシング能力情報302が対応付けられている。
【0024】
インデキシング能力情報302には、そのインデキシング能力情報302に対応する情報処理装置101が、インデックス処理対象となるコンテンツ中に含まれるテキストをインデキシングする能力を有する場合には“1”が記憶される。また、インデックス処理対象となるコンテンツがイメージであり、そのインデキシング能力情報302に対応する情報処理装置101が、このイメージの画像特徴量をインデキシングする能力を有する場合には“2”が記憶される。また、そのインデキシング能力情報302に対応する情報処理装置101が、インデックス処理対象となるコンテンツに付加されたメタデータをインデキシングする能力を有する場合には“4”が記憶される。また、インデックス処理対象となるコンテンツが音声であり、そのインデキシング能力情報302に対応する情報処理装置101が、この音声のデータをインデキシングする能力を有する場合には“8”が記憶される。また、インデックス対象となるコンテンツが動画であり、そのインデキシング能力情報302に対応する情報処理装置101が、この動画をインデキシングする能力を有する場合には“16”が記憶される。
【0025】
図4は、コンテンツ解析情報の記憶領域を示す図である。コンテンツ解析情報40は、情報処理装置101がアプリケーションから文書のインデックス処理を依頼されたときに、アプリケーションから渡された文書を解析し、この解析結果に基づいて当該文書に対して生成される情報である。インデックス処理の詳細については後述する。
【0026】
コンテンツ解析情報40は、図4に示すように、属性情報401、メタデータサイズ402、メタデータオフセット403、コンテンツデータサイズ404、コンテンツデータオフセット405、メタデータ406及びコンテンツデータ407から構成される。属性情報401は、インデックス処理対象となるコンテンツを解析し、当該コンテンツの属性を示す。メタデータサイズ402は、対象コンテンツに付加されたメタデータをインデックス処理する情報のサイズを示す。メタデータオフセット403は、付加されたメタデータをインデックス処理する情報が格納されているコンテンツ解析情報40からのオフセット値を示す。コンテンツデータサイズ404は、対象コンテンツのデータサイズを示す。コンテンツデータオフセット405は、対象コンテンツが格納されているコンテンツ解析情報40からのオフセット値を示す。メタデータ406、メタデータを格納する。そして、コンテンツデータ407は、インデックス処理するコンテンツデータを格納する。
【0027】
属性情報401には、インデックス対象となるコンテンツの解析の結果、テキストをインデキシングするという結果が得られた場合には“1”が記憶される。また、インデックス処理対象となるコンテンツがイメージであり、コンテンツ全体の画像特徴量をインデキシングするという結果が得られた場合には“2”が記憶される。また、コンテンツに付加されたメタデータをインデキシングするという結果が得られた場合には“4”が記憶される。また、インデックス処理対象となるコンテンツが音声であり、この音声データをインデキシングするという結果が得られた場合には“8”が記憶される。また、インデックス対象となるコンテンツが動画であり、この動画をインデキシングするという結果が得られた場合には“16”が記憶される。
【0028】
各データサイズ及びデータオフセット(302〜305)のフィールドには、インデックス処理対象となるコンテンツを解析した結果、即ち、各データサイズ及びオフセット値を計算した結果が記憶される。但し、使用しないという結果が得られた場合には、0が記憶される。
【0029】
図5は、インデックス処理対象コンテンツ情報の記憶領域を示す図である。インデックス処理対象コンテンツ情報50は、検索機能を制御するアプリケーションプログラムが、インデックス処理時に検索機能に対しインデックス処理対象コンテンツに関する情報を通知するときに使用する情報である。
【0030】
インデックス処理対象コンテンツ情報50は、メタデータ付加フラグ501、タイトル502、作成者503、作成日付504、キーワード505、コメント506及びコンテンツファイル名507から構成される。
【0031】
メタデータ付加フラグ501は、インデックス処理対象コンテンツに対してメタデータが付与されているか否かを示す。タイトル502は、インデックス処理対象コンテンツのタイトルを格納する。作成者503は、インデックス処理対象コンテンツの作成者を格納する。作成日付504は、インデックス対象コンテンツの作成日付を格納する。キーワード505は、インデックス対象コンテンツに対するキーワードを格納する。コメント506は、インデックス対象コンテンツに対するコメントを格納する。コンテンツファイル名507は、インデックス処理対象コンテンツファイルファイルのファイル名を格納する。
【0032】
次に、上述のように構成された分散検索システムの動作について説明する。
【0033】
先ず、情報処理装置101のローカルエリアネットワーク102への参加時の動作及びローカルエリアネットワーク102からの離脱時の動作について説明する。図6は、情報処理装置101の参加時の動作を示すフローチャートである。また、図7は、情報処理装置101の離脱時の動作を示すフローチャートである。
【0034】
ローカルエリアネットワーク102への参加時には、先ず、CPU201がネットワーク接続に必要な初期化処理を行う(ステップS601)。次に、CPU201が当該情報処理装置101における検索エンジンのインデキシング能力を取得する(ステップS602)。つまり、図3に示すインデキシング能力テーブル30からインデキシング能力を取得する。次いで、CPU201が当該情報処理装置101に割り当てられたIPアドレス、及びステップS601において取得した検索エンジンのインデキシング能力を、既にローカルエリアネットワーク102に接続されている他の情報処理装置101に通知する(ステップS603)。これらの一連の処理の実行により、ネットワーク参加処理が終了する。
【0035】
一方、ローカルエリアネットワーク102からの離脱時には、先ず、CPU201が当該情報処理装置101に割り当てられていたIPアドレスを、ローカルエリアネットワーク102に接続されている他の情報処理装置101に通知する(ステップS701)。次に、CPU201がネットワーク離脱に必要な終了処理を行う(ステップS702)。これらの一連の処理の実行により、ネットワーク離脱処理が終了する。
【0036】
次に、ローカルエリアネットワーク102に接続されている他の情報処理装置101に対してインデキシング要求を行う際の動作について説明する。このようなインデキシングの要求は、例えば、CPU201がアプリケーションプログラムからインデックス処理対象コンテンツを受け取ったときに行われる。図8は、インデキシング要求を行う際の動作を示すフローチャートである。
【0037】
先ず、CPU201は、アプリケーションプログラムから通知されたインデックス処理コンテンツ情報50のメタデータ付加フラグ501により、インデックス処理対象コンテンツに対してメタデータが付加さているか否かを判定する(ステップS801)。
【0038】
ステップS801において、メタデータが付加されていると判定した場合には、対象コンテンツ解析情報40の属性情報401にメタデータを表す“4”を設定する。そして、インデックス処理コンテンツ情報50の文書タイトル502、作成者503、作成日付504、キーワード505及びコメント506からコンテンツ解析情報40のメタデータサイズ402及びメタデータデータオフセット403を求めて設定する。更に、文書に付与されているメタデータをコンテンツ解析情報40のメタデータ406に設定する(ステップS802)。
【0039】
次に、CPU201は、インデックス処理対象コンテンツがイメージ文書であるか否か判定する(ステップS803)。
【0040】
ステップS803において、イメージコンテンツであると判定した場合には、イメージインデックスデータ生成処理を行う(ステップS804)。イメージインデックスデータ生成処理では、コンテンツ解析情報40の属性情報401にイメージを表す“2”を設定する。また、インデックス処理対象コンテンツ情報50のコンテンツファイル名507からイメージコンテンツのデータサイズを求めて、コンテンツ解析情報40のコンテンツデータサイズ404及びコンテンツデータオフセット405に設定する。更に、インデックス処理対象コンテンツ情報50のコンテンツファイル名507からイメージコンテンツデータを求めて、コンテンツ解析情報40のコンテンツデータ407に設定する。そして、ステップS810に移行する。
【0041】
ステップS803において、インデックス処理対象コンテンツがイメージコンテンツでないと判定した場合には、CPU201は、インデックス処理対象コンテンツが動画コンテンツであるか否かを判定する(ステップS805)。
【0042】
ステップS805において、インデックス処理対象コンテンツが動画コンテンツであると判定した場合には、動画インデックスデータ作成処理を行う(ステップS806)。動画インデックスデータ作成処理では、コンテンツ解析情報40の属性情報401に動画を表す“16”を設定する。また、インデックス処理対象コンテンツ情報50のコンテンツファイル名507から動画コンテンツのデータサイズを求めて、コンテンツ解析情報40のコンテンツデータサイズ404及びコンテンツデータオフセット405に設定する。更に、インデックス処理対象コンテンツ情報50のコンテンツファイル名507から動画コンテンツデータを求めて、コンテンツ解析情報40のコンテンツデータ407に設定する。そして、ステップS810に移行する。
【0043】
ステップS805において、インデックス処理対象コンテンツが動画コンテンツでないと判定した場合には、CPU201は、インデックス処理対象コンテンツが音声コンテンツであるか否かを判定する(ステップS807)。
【0044】
ステップS807において、インデックス処理対象コンテンツが音声コンテンツであると判定した場合には、CPU201は、音声インデックスデータ作成処理を行う(ステップS808)。音声インデックスデータ作成処理では、コンテンツ解析情報40の属性情報401に音声を表す“8”を設定する。また、インデックス処理対象コンテンツ情報50のコンテンツファイル名507から音声コンテンツのデータサイズを求めて、コンテンツ解析情報40のコンテンツデータサイズ404及びコンテンツデータオフセット405に設定する。更に、インデックス処理対象コンテンツ情報50のコンテンツファイル名507から音声コンテンツデータを求めて、コンテンツ解析情報40のコンテンツデータ407に設定する。そして、ステップS810に移行する。
【0045】
ステップS807において、インデックス処理対象コンテンツが音声コンテンツでないと判定した場合には、CPU201は、テキストインデックスデータ作成処理を行う(ステップS809)。テキストインデックスデータ作成処理では、コンテンツ解析情報40の属性情報401にテキストを表す“1”を設定する。また、インデックス処理対象コンテンツ情報50のコンテンツファイル名507からテキストコンテンツのデータサイズを求めて、コンテンツ解析情報40のコンテンツデータサイズ404及びコンテンツデータオフセット405に設定する。更に、インデックス処理対象コンテンツ情報50のコンテンツファイル名507からテキストコンテンツデータを求めて、コンテンツ解析情報40のインデックスデータ407に設定する。そして、ステップS810に移行する。
【0046】
ステップS810では、インデキシング能力テーブル30のインデキシング能力情報302とコンテンツ解析情報40の属性情報401とに対してAND演算を行い、インデックス処理を実行する情報処理装置101のIPアドレスを求める。即ち、インデキシング能力情報302及びコンテンツ解析情報40の属性情報401を考慮して、インデックス処理を実行する情報処理装置101の選択を行う。
【0047】
その後、ステップS810において求めた全てのIPアドレスに対して、コンテンツ解析情報40を通知する(ステップS811)。これらの一連の処理の実行により、インデキシング要求処理が終了する。
【0048】
次に、ローカルエリアネットワーク102に接続されている他の情報処理装置101からの要求を受けた情報処理装置101の動作について説明する。この要求には、上述のインデキシング要求も含まれる。図9は、他の情報処理装置101からの要求を受信した際の動作を示すフローチャートである。
【0049】
先ず、CPU201は、受信した要求がインデキシング能力通知であるか否かを判定する(ステップS901)。ステップS901において、インデキシング能力通知であると判定した場合には、インデキシング能力テーブル30のIPアドレス301にインデキシング能力を通知した情報処理装置101のIPアドレスを格納する。そして、インデキシング能力情報302に当該情報処理装置101のインデキシング能力を格納する(ステップS902)。
【0050】
ステップS901において、インデキシング能力通知でないと判定した場合には、CPU201は、要求がネットワーク接続解除通知であるか否かを判定する(ステップS903)。ステップS903において、ネットワーク接続解除通知であると判定した場合には、インデキシング能力テーブル30のIPアドレス301とネットワーク接続解除を通知した情報処理装置101のIPアドレスとを比較する。そしてインデキシング能力テーブル30から該当するIPアドレスフィールド301及びインデキシング能力情報302を削除する(ステップS904)。
【0051】
ステップS903において、ネットワーク接続解除通知でないと判定した場合には、CPU201は、要求がインデキシング要求通知であるか否かを判定する(ステップS905)。ステップS905において、インデキシング要求通知であると判定した場合には、通知されたコンテンツ解析情報40の属性情報401とインデキシング要求通知を受け取った情報処理装置101のインデキシング能力とを比較する。そして、コンテンツデータフィールド407に格納されているコンテンツデータを取得する。そして、取得したコンテンツデータに基づいてインデックス処理を行う(ステップS906)。インデックス処理の詳細については後述する。
【0052】
ステップS905において、インデキシング要求通知でないと判定した場合には、CPU201は、要求が検索要求通知であるか否かを判定する(ステップS907)。検索要求通知であると判定した場合には、通知された検索クエリに基づいて検索処理を実行する(ステップS908)。次いで、ステップS908における検索結果を検索要求通知元の情報処理装置101に通知する(ステップS909)。
【0053】
これらの一連の処理の実行により、他の情報処理装置101からの要求の受信処理が終了する。
【0054】
次に、インデックス処理について説明する。検索エンジンは、検索処理の前処理として、検索対象文書から検索処理で使用する情報(インデックス)を予め生成し、記憶装置206に記憶させる。そして、検索処理時には、予め生成されたインデックスに基づいて、指示された検索クエリに該当する文書を検索結果として出力する。ここでは、検索エンジンとして、概念検索エンジン及び画像検索エンジンについて説明する。
【0055】
図10は、概念検索エンジンにおけるインデックス処理を示すフローチャートである。
【0056】
概念検索エンジンにおけるインデックス処理では、先ず、CPU201が言語解析処理を行い、登録文書に含まれる単語を取得する(ステップS1001)。次に、この取得した単語及び基本ベクトル辞書を用いて文書ベクトルを算出する(ステップS1002)。
【0057】
ここで、概念検索エンジンで使用する基本ベクトル辞書について説明する。図11は、概念検索エンジンで使用する基本ベクトル辞書の構成を示す図である。基本ベクトル辞書は、情報処理装置101の記憶装置206に記憶される。基本ベクトル辞書には、単語毎にベクトル表現時の夫々の次元(Dim.)に応対した特徴量が格納されている。次元としては、その単語本来の意味によって分類された基準や、その単語の使用分野に応じて分類された基準等が採用される。従って、基本ベクトル辞書から一つの単語における夫々の次元(Dim.)の特徴量を得ることが可能となる。特徴量は、その単語が使用されることにより、その文書がその分類基準(次元)をどれぐらい特徴付ける可能性があるかを示す値と解釈することが可能である。
【0058】
ステップS1002においては、文書を構成するすべての単語から得られた分類基準別(次元別)の特徴量から、文書全体の特徴量を分類基準(次元)とするベクトルで表現する。そして、得られたベクトルを「ノルム=1」で正規化した値を文書ベクトルとする。
【0059】
その後、ステップS1002において求めた文書ベクトルをインデックスに格納する(ステップS1003)。
【0060】
図12は、概念検索エンジンのインデックス処理で生成する概念検索インデックスの構成を示す図である。概念検索インデックス120は、情報処理装置101の記憶装置206に記憶される。概念検索インデックス120は、コンテンツを特定するための一意な値であるIDを格納する文書ID1201、及び分類基準別(次元別)の特徴量を格納する文書ベクトル情報1202から構成される。概念検索エンジンのインデックス処理では、概念検索インデックス120に文書ID1201及び求めた文書ベクトル1202を記憶する。
【0061】
図13は、画像検索エンジンにおけるインデックス処理を示すフローチャートである。
【0062】
画像検索エンジンにおけるインデックス処理では、先ず、画像から画像特徴量を生成する(ステップS1301)。画像特徴量は、画像の色情報、規則性、対象物の形状等に注目したときの特徴を表現する値ある。画像特徴量としては、既知のもの、例えば特開平10−260983号公報等に記載されているものを用いることができる。次に、この画像特徴量及びコンテンツIDを画像インデックスに格納する(ステップS1302)。
【0063】
なお、ステップS1301における画像特徴量の生成処理は、画像検索エンジンが組み込まれている情報処理装置101とは別の情報処理装置101で実行してもよい。この場合、生成した画像特徴量を画像検索エンジンが組み込まれている情報処理装置101に通知することにより、画像検索エンジンのインデックス処理を実行すればよい。
【0064】
図14は、画像検索エンジンのインデックス処理で生成する画像検索インデックスの構成を示す図である。画像検索インデックス140は、情報処理装置101の記憶装置206に記憶される。画像検索インデックス140は、コンテンツを特定するための一意な値であるIDを格納する文書ID1401、及び画像特徴量を格納する画像特徴量情報1402から構成される。画像検索エンジンのインデックス処理では、画像検索インデックス140に文書ID(コンテンツID)1401及び求めた画像特徴量情報1402を記憶する。
【0065】
このような本実施形態によれば、各情報処理装置101上の検索機能が種々の検索エンジンを組み込んでいる場合でも、簡素な処理で所望の検索を行うことができる。即ち、アプリケーションが文書に対して検索で使用するインデックスを生成する時には、全文検索を行うのか類似画像検索を行うのかの検索目的に応じて、検索サーバを選択し個々の呼出し手順に応じた処理をする必要がない。これにより、アプリケーションが文書を分散検索システムに渡すだけで該当文書に対するインデックス処理が可能となる。
【0066】
なお、本発明の実施形態は、例えばコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
【図面の簡単な説明】
【0067】
【図1】本発明の実施形態に係る分散検索システムのネットワーク構成を示すブロック図である。
【図2】各情報処理装置101の構成を示すブロック図である。
【図3】インデキシング能力テーブルの記憶領域を示す図である。
【図4】コンテンツ解析情報の記憶領域を示す図である。
【図5】インデックス処理対象コンテンツ情報の記憶領域を示す図である。
【図6】情報処理装置101の参加時の動作を示すフローチャートである。
【図7】情報処理装置101の離脱時の動作を示すフローチャートである。
【図8】インデキシング要求を行う際の動作を示すフローチャートである。
【図9】他の情報処理装置101からの要求を受信した際の動作を示すフローチャートである。
【図10】概念検索エンジンにおけるインデックス処理を示すフローチャートである。
【図11】概念検索エンジンで使用する基本ベクトル辞書の構成を示す図である。
【図12】概念検索エンジンのインデックス処理で生成する概念検索インデックスの構成を示す図である。
【図13】画像検索エンジンにおけるインデックス処理を示すフローチャートである。
【図14】画像検索エンジンのインデックス処理で生成する画像検索インデックスの構成を示す図である。
【符号の説明】
【0068】
101:情報処理装置
102:ローカルエリアネットワーク(LAN)
201:CPU
202:ROM
203:RAM
204:入力装置
205:表示装置
206:記憶装置
207:外部記憶装置
208:通信装置
209:バス
【技術分野】
【0001】
本発明は、分散検索システムに好適な情報処理装置及びその制御方法に関する。
【背景技術】
【0002】
ネットワークが発達し、ネットワークに接続されている情報処理装置に蓄積されている情報の共有化が進められている。情報の共有化が進むにしたがって、それぞれの情報処理装置がどのような情報を蓄積しているのかを知ることが困難になっている。
【0003】
情報の共有化を図ったシステムとして種々のものがある。例えば、ある1つの情報処理装置が、他の情報処理装置に蓄えられている情報の検索インデックスを生成して、他の情報処理装置から通知された検索要求を処理して検索結果を要求元の情報処理装置に通知する集中管理型の検索システムがある。また、近年では、ネットワークに接続されているそれぞれの情報処理装置に検索機能を配し、検索処理は検索要求を受け付けた各情報処理装置上で行い、検索結果を要求元の情報処理装置に通知する分散管理型の検索システムが実現されてきている。
【0004】
また、複数の文書を含む文書群から所望の文書を検索するための技術として、従来、各文書に付与されたキーワードによるインデックスを作成して検索するメタデータ検索エンジンが知られている。また、各文書に含まれるテキストをN文字ごとに区切り各文字列が含まれる該当する文書の情報と文字列の位置情報によるインデックスを作成し検索する全文検索エンジンが知られている。更に、各文書に含まれるテキストを形態素解析等で単語を認識すると伴に統計処理で複合語の認識を実施し文書の語彙空間を抽出して検索対象の文書中から類似性の高い文書を検索する概念検索エンジンが知られている。また、イメージ文書の画像特徴量を抽出し画像特徴量によるインデックスを生成し検索する類似画像検索エンジンが知られている。
【0005】
ネットワーク上に接続された各情報処理装置に検索機能を配する分散管理型の検索システム(分散検索システム)において、様々な検索エンジンが各検索機能に組み込まれている場合には、次のような処理が必要とされる。即ち、検索機能を提供するアプリケーションが文書に対して検索で使用するインデックスを生成する際に、全文検索を行うのか類似画像検索を行うのか検索目的に応じて検索サーバを選択し、個々の呼出し手順に応じた処理をする必要がある。
【0006】
また、特許文献1には、文書および検索用インデックス情報の登録依頼を行う可能な端末装置にそれらの登録処理を行わせる文書管理システム等が開示されている。
【0007】
【特許文献1】特開2001−350778号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、従来の分散検索システムでは、上述のように、全文検索を行うのか類似画像検索を行うのか検索目的に応じて検索サーバを選択し、個々の呼出し手順に応じた処理をする必要がある。このため、様々なインデックスを使用する検索機能のロケーションや使用手順を管理し、プログラムする必要があり、複雑なシステムとなる。
【0009】
本発明は、上記の問題点に鑑みてなされたものであり、簡易な構成で所望のコンテンツ(文書)の検索を行うことができる情報処理装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本願発明者は、前記課題を解決すべく鋭意検討を重ねた結果、以下に示す発明の諸態様に想到した。
【0011】
本発明に係る情報処理装置は、ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求する情報処理装置であって、前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルと、前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択手段と、前記選択手段によって選択された外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手段と、を有することを特徴とする。
【0012】
本発明に係る分散検索システムは、ネットワークを介して通信可能な複数の第1の情報処理装置及び第2の情報処理装置を備えた分散検索システムであって、前記複数の第1の情報処理装置の各々は、前記第2の情報処理装置からのインデックス処理の実行の要求があると、当該要求において指定されたインデックス対象コンテンツに対してインデックス処理を実行するインデックス処理実行手段を有し、前記第2の情報処理装置は、前記複数の第1の情報処理装置毎に当該第1の情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルと、前記複数の第1の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる第1の情報処理装置を選択する選択手段と、前記選択手段によって選択された第1の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手段と、を有することを特徴とする。
【0013】
本発明に係る情報処理装置の制御方法は、ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求する情報処理装置の制御方法であって、前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルを前記情報処理装置に設けておき、前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択ステップと、前記選択ステップにおいて選択した外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求ステップと、
を有することを特徴とする。
【0014】
本発明に係るプログラムは、ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求するために情報処理装置が実行するプログラムであって、前記情報処理装置に、前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルを設けておき、前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択手順と、前記選択手順において選択した外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手順と、を実行させることを特徴とする。
【発明の効果】
【0015】
本発明によれば、簡素な構成で検索処理及びその前処理としてのインデックス処理を実行することができる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施形態について添付の図面を参照して具体的に説明する。
【0017】
図1は、本発明の実施形態に係る分散検索システムのネットワーク構成を示すブロック図である。本実施形態においては、図1に示すように、複数の情報処理装置101がローカルエリアネットワーク102を介して接続されている。各情報処理装置101は、各々が保持しているインデックスを検索対象として管理している。インデックスは、検索エンジンによって、検索処理の前処理として作成された情報であり、検索対象文書から検索処理で使用される。オペレータが一の情報処理装置101(第2の情報処理装置)を用いてインデキシング操作を行う場合には、この情報処理装置101から他の情報処理装置101(第1の情報処理装置)に対してインデックス処理要求が通知される。そして、インデックス処理要求を受け付けた情報処理装置101がインデックス処理を実行する。
【0018】
図2は、各情報処理装置101の構成を示すブロック図である。各情報処理装置101には、中央演算処理装置201、読み出し専用固定メモリ202、ランダムアクセスメモリ203、入力装置204、表示装置205、記憶装置206、外部記憶装置207及び通信装置208が設けられている。これらは、バス209を介して相互に接続されている。
【0019】
中央演算処理装置(CPU)201は、分散検索のための演算、論理判断等を行い、バス209を介してバス209に接続された各構成要素を制御する。読み出し専用固定メモリ(ROM)202は、中央演算処理装置201が実行する制御プログラム等を記憶している。ランダムアクセスメモリ(RAM)203は、各種データの一時記憶に用いられる。入力装置204は、例えばキーボード及びマウス等から構成される。表示装置205は、例えば文書データや図形データ等を表示する。記憶装置206は、例えばハードディスクから構成される。外部記憶装置207は、例えばフレキシブルディスクや書き込み可能なCD、DVD等の外部記憶装置である。通信装置208は、ローカルエリアネットワークコントローラ等から構成され、ローカルエリアネットワーク102を介して外部の情報処理装置101との間でデータ交換等を行う。そして、バス209を介して、CPU201の制御対象である各構成要素を指示するアドレス信号及びコントロール信号等が転送される。
【0020】
このように構成された情報処理装置においては、入力装置204から入力が行われると、インタラプタ信号が中央演算処理装置201に送られる。そして、中央演算処理装置201がROM202内に記憶してある各種の制御信号を読み出し、これらの制御信号に従って各種の制御を行う。
【0021】
次に、中央演算処理装置201がRAM203に格納する種々のデータについて説明する。このようなデータとしては、例えばインデキシング能力テーブル、コンテンツ解析情報及びインデックス処理対象コンテンツ情報が挙げられる。
【0022】
図3は、インデキシング能力テーブルの記憶領域を示す図である。インデキシング能力テーブル30は、各情報処理装置101がローカルエリアネットワーク102に接続されるか、又はローカルエリアネットワーク102から離脱する際に、各情報処理装置101間での情報交換に伴って更新される情報である。
【0023】
インデキシング能力テーブル30には、図3に示すように、例えば、ローカルエリアネットワーク102を介して接続されている各情報処理装置101のIPアドレスを格納するIPアドレス301が含まれている。そして、これらのIPアドレス301に、各情報処理装置101のインデキシング能力を表すインデキシング能力情報302が対応付けられている。
【0024】
インデキシング能力情報302には、そのインデキシング能力情報302に対応する情報処理装置101が、インデックス処理対象となるコンテンツ中に含まれるテキストをインデキシングする能力を有する場合には“1”が記憶される。また、インデックス処理対象となるコンテンツがイメージであり、そのインデキシング能力情報302に対応する情報処理装置101が、このイメージの画像特徴量をインデキシングする能力を有する場合には“2”が記憶される。また、そのインデキシング能力情報302に対応する情報処理装置101が、インデックス処理対象となるコンテンツに付加されたメタデータをインデキシングする能力を有する場合には“4”が記憶される。また、インデックス処理対象となるコンテンツが音声であり、そのインデキシング能力情報302に対応する情報処理装置101が、この音声のデータをインデキシングする能力を有する場合には“8”が記憶される。また、インデックス対象となるコンテンツが動画であり、そのインデキシング能力情報302に対応する情報処理装置101が、この動画をインデキシングする能力を有する場合には“16”が記憶される。
【0025】
図4は、コンテンツ解析情報の記憶領域を示す図である。コンテンツ解析情報40は、情報処理装置101がアプリケーションから文書のインデックス処理を依頼されたときに、アプリケーションから渡された文書を解析し、この解析結果に基づいて当該文書に対して生成される情報である。インデックス処理の詳細については後述する。
【0026】
コンテンツ解析情報40は、図4に示すように、属性情報401、メタデータサイズ402、メタデータオフセット403、コンテンツデータサイズ404、コンテンツデータオフセット405、メタデータ406及びコンテンツデータ407から構成される。属性情報401は、インデックス処理対象となるコンテンツを解析し、当該コンテンツの属性を示す。メタデータサイズ402は、対象コンテンツに付加されたメタデータをインデックス処理する情報のサイズを示す。メタデータオフセット403は、付加されたメタデータをインデックス処理する情報が格納されているコンテンツ解析情報40からのオフセット値を示す。コンテンツデータサイズ404は、対象コンテンツのデータサイズを示す。コンテンツデータオフセット405は、対象コンテンツが格納されているコンテンツ解析情報40からのオフセット値を示す。メタデータ406、メタデータを格納する。そして、コンテンツデータ407は、インデックス処理するコンテンツデータを格納する。
【0027】
属性情報401には、インデックス対象となるコンテンツの解析の結果、テキストをインデキシングするという結果が得られた場合には“1”が記憶される。また、インデックス処理対象となるコンテンツがイメージであり、コンテンツ全体の画像特徴量をインデキシングするという結果が得られた場合には“2”が記憶される。また、コンテンツに付加されたメタデータをインデキシングするという結果が得られた場合には“4”が記憶される。また、インデックス処理対象となるコンテンツが音声であり、この音声データをインデキシングするという結果が得られた場合には“8”が記憶される。また、インデックス対象となるコンテンツが動画であり、この動画をインデキシングするという結果が得られた場合には“16”が記憶される。
【0028】
各データサイズ及びデータオフセット(302〜305)のフィールドには、インデックス処理対象となるコンテンツを解析した結果、即ち、各データサイズ及びオフセット値を計算した結果が記憶される。但し、使用しないという結果が得られた場合には、0が記憶される。
【0029】
図5は、インデックス処理対象コンテンツ情報の記憶領域を示す図である。インデックス処理対象コンテンツ情報50は、検索機能を制御するアプリケーションプログラムが、インデックス処理時に検索機能に対しインデックス処理対象コンテンツに関する情報を通知するときに使用する情報である。
【0030】
インデックス処理対象コンテンツ情報50は、メタデータ付加フラグ501、タイトル502、作成者503、作成日付504、キーワード505、コメント506及びコンテンツファイル名507から構成される。
【0031】
メタデータ付加フラグ501は、インデックス処理対象コンテンツに対してメタデータが付与されているか否かを示す。タイトル502は、インデックス処理対象コンテンツのタイトルを格納する。作成者503は、インデックス処理対象コンテンツの作成者を格納する。作成日付504は、インデックス対象コンテンツの作成日付を格納する。キーワード505は、インデックス対象コンテンツに対するキーワードを格納する。コメント506は、インデックス対象コンテンツに対するコメントを格納する。コンテンツファイル名507は、インデックス処理対象コンテンツファイルファイルのファイル名を格納する。
【0032】
次に、上述のように構成された分散検索システムの動作について説明する。
【0033】
先ず、情報処理装置101のローカルエリアネットワーク102への参加時の動作及びローカルエリアネットワーク102からの離脱時の動作について説明する。図6は、情報処理装置101の参加時の動作を示すフローチャートである。また、図7は、情報処理装置101の離脱時の動作を示すフローチャートである。
【0034】
ローカルエリアネットワーク102への参加時には、先ず、CPU201がネットワーク接続に必要な初期化処理を行う(ステップS601)。次に、CPU201が当該情報処理装置101における検索エンジンのインデキシング能力を取得する(ステップS602)。つまり、図3に示すインデキシング能力テーブル30からインデキシング能力を取得する。次いで、CPU201が当該情報処理装置101に割り当てられたIPアドレス、及びステップS601において取得した検索エンジンのインデキシング能力を、既にローカルエリアネットワーク102に接続されている他の情報処理装置101に通知する(ステップS603)。これらの一連の処理の実行により、ネットワーク参加処理が終了する。
【0035】
一方、ローカルエリアネットワーク102からの離脱時には、先ず、CPU201が当該情報処理装置101に割り当てられていたIPアドレスを、ローカルエリアネットワーク102に接続されている他の情報処理装置101に通知する(ステップS701)。次に、CPU201がネットワーク離脱に必要な終了処理を行う(ステップS702)。これらの一連の処理の実行により、ネットワーク離脱処理が終了する。
【0036】
次に、ローカルエリアネットワーク102に接続されている他の情報処理装置101に対してインデキシング要求を行う際の動作について説明する。このようなインデキシングの要求は、例えば、CPU201がアプリケーションプログラムからインデックス処理対象コンテンツを受け取ったときに行われる。図8は、インデキシング要求を行う際の動作を示すフローチャートである。
【0037】
先ず、CPU201は、アプリケーションプログラムから通知されたインデックス処理コンテンツ情報50のメタデータ付加フラグ501により、インデックス処理対象コンテンツに対してメタデータが付加さているか否かを判定する(ステップS801)。
【0038】
ステップS801において、メタデータが付加されていると判定した場合には、対象コンテンツ解析情報40の属性情報401にメタデータを表す“4”を設定する。そして、インデックス処理コンテンツ情報50の文書タイトル502、作成者503、作成日付504、キーワード505及びコメント506からコンテンツ解析情報40のメタデータサイズ402及びメタデータデータオフセット403を求めて設定する。更に、文書に付与されているメタデータをコンテンツ解析情報40のメタデータ406に設定する(ステップS802)。
【0039】
次に、CPU201は、インデックス処理対象コンテンツがイメージ文書であるか否か判定する(ステップS803)。
【0040】
ステップS803において、イメージコンテンツであると判定した場合には、イメージインデックスデータ生成処理を行う(ステップS804)。イメージインデックスデータ生成処理では、コンテンツ解析情報40の属性情報401にイメージを表す“2”を設定する。また、インデックス処理対象コンテンツ情報50のコンテンツファイル名507からイメージコンテンツのデータサイズを求めて、コンテンツ解析情報40のコンテンツデータサイズ404及びコンテンツデータオフセット405に設定する。更に、インデックス処理対象コンテンツ情報50のコンテンツファイル名507からイメージコンテンツデータを求めて、コンテンツ解析情報40のコンテンツデータ407に設定する。そして、ステップS810に移行する。
【0041】
ステップS803において、インデックス処理対象コンテンツがイメージコンテンツでないと判定した場合には、CPU201は、インデックス処理対象コンテンツが動画コンテンツであるか否かを判定する(ステップS805)。
【0042】
ステップS805において、インデックス処理対象コンテンツが動画コンテンツであると判定した場合には、動画インデックスデータ作成処理を行う(ステップS806)。動画インデックスデータ作成処理では、コンテンツ解析情報40の属性情報401に動画を表す“16”を設定する。また、インデックス処理対象コンテンツ情報50のコンテンツファイル名507から動画コンテンツのデータサイズを求めて、コンテンツ解析情報40のコンテンツデータサイズ404及びコンテンツデータオフセット405に設定する。更に、インデックス処理対象コンテンツ情報50のコンテンツファイル名507から動画コンテンツデータを求めて、コンテンツ解析情報40のコンテンツデータ407に設定する。そして、ステップS810に移行する。
【0043】
ステップS805において、インデックス処理対象コンテンツが動画コンテンツでないと判定した場合には、CPU201は、インデックス処理対象コンテンツが音声コンテンツであるか否かを判定する(ステップS807)。
【0044】
ステップS807において、インデックス処理対象コンテンツが音声コンテンツであると判定した場合には、CPU201は、音声インデックスデータ作成処理を行う(ステップS808)。音声インデックスデータ作成処理では、コンテンツ解析情報40の属性情報401に音声を表す“8”を設定する。また、インデックス処理対象コンテンツ情報50のコンテンツファイル名507から音声コンテンツのデータサイズを求めて、コンテンツ解析情報40のコンテンツデータサイズ404及びコンテンツデータオフセット405に設定する。更に、インデックス処理対象コンテンツ情報50のコンテンツファイル名507から音声コンテンツデータを求めて、コンテンツ解析情報40のコンテンツデータ407に設定する。そして、ステップS810に移行する。
【0045】
ステップS807において、インデックス処理対象コンテンツが音声コンテンツでないと判定した場合には、CPU201は、テキストインデックスデータ作成処理を行う(ステップS809)。テキストインデックスデータ作成処理では、コンテンツ解析情報40の属性情報401にテキストを表す“1”を設定する。また、インデックス処理対象コンテンツ情報50のコンテンツファイル名507からテキストコンテンツのデータサイズを求めて、コンテンツ解析情報40のコンテンツデータサイズ404及びコンテンツデータオフセット405に設定する。更に、インデックス処理対象コンテンツ情報50のコンテンツファイル名507からテキストコンテンツデータを求めて、コンテンツ解析情報40のインデックスデータ407に設定する。そして、ステップS810に移行する。
【0046】
ステップS810では、インデキシング能力テーブル30のインデキシング能力情報302とコンテンツ解析情報40の属性情報401とに対してAND演算を行い、インデックス処理を実行する情報処理装置101のIPアドレスを求める。即ち、インデキシング能力情報302及びコンテンツ解析情報40の属性情報401を考慮して、インデックス処理を実行する情報処理装置101の選択を行う。
【0047】
その後、ステップS810において求めた全てのIPアドレスに対して、コンテンツ解析情報40を通知する(ステップS811)。これらの一連の処理の実行により、インデキシング要求処理が終了する。
【0048】
次に、ローカルエリアネットワーク102に接続されている他の情報処理装置101からの要求を受けた情報処理装置101の動作について説明する。この要求には、上述のインデキシング要求も含まれる。図9は、他の情報処理装置101からの要求を受信した際の動作を示すフローチャートである。
【0049】
先ず、CPU201は、受信した要求がインデキシング能力通知であるか否かを判定する(ステップS901)。ステップS901において、インデキシング能力通知であると判定した場合には、インデキシング能力テーブル30のIPアドレス301にインデキシング能力を通知した情報処理装置101のIPアドレスを格納する。そして、インデキシング能力情報302に当該情報処理装置101のインデキシング能力を格納する(ステップS902)。
【0050】
ステップS901において、インデキシング能力通知でないと判定した場合には、CPU201は、要求がネットワーク接続解除通知であるか否かを判定する(ステップS903)。ステップS903において、ネットワーク接続解除通知であると判定した場合には、インデキシング能力テーブル30のIPアドレス301とネットワーク接続解除を通知した情報処理装置101のIPアドレスとを比較する。そしてインデキシング能力テーブル30から該当するIPアドレスフィールド301及びインデキシング能力情報302を削除する(ステップS904)。
【0051】
ステップS903において、ネットワーク接続解除通知でないと判定した場合には、CPU201は、要求がインデキシング要求通知であるか否かを判定する(ステップS905)。ステップS905において、インデキシング要求通知であると判定した場合には、通知されたコンテンツ解析情報40の属性情報401とインデキシング要求通知を受け取った情報処理装置101のインデキシング能力とを比較する。そして、コンテンツデータフィールド407に格納されているコンテンツデータを取得する。そして、取得したコンテンツデータに基づいてインデックス処理を行う(ステップS906)。インデックス処理の詳細については後述する。
【0052】
ステップS905において、インデキシング要求通知でないと判定した場合には、CPU201は、要求が検索要求通知であるか否かを判定する(ステップS907)。検索要求通知であると判定した場合には、通知された検索クエリに基づいて検索処理を実行する(ステップS908)。次いで、ステップS908における検索結果を検索要求通知元の情報処理装置101に通知する(ステップS909)。
【0053】
これらの一連の処理の実行により、他の情報処理装置101からの要求の受信処理が終了する。
【0054】
次に、インデックス処理について説明する。検索エンジンは、検索処理の前処理として、検索対象文書から検索処理で使用する情報(インデックス)を予め生成し、記憶装置206に記憶させる。そして、検索処理時には、予め生成されたインデックスに基づいて、指示された検索クエリに該当する文書を検索結果として出力する。ここでは、検索エンジンとして、概念検索エンジン及び画像検索エンジンについて説明する。
【0055】
図10は、概念検索エンジンにおけるインデックス処理を示すフローチャートである。
【0056】
概念検索エンジンにおけるインデックス処理では、先ず、CPU201が言語解析処理を行い、登録文書に含まれる単語を取得する(ステップS1001)。次に、この取得した単語及び基本ベクトル辞書を用いて文書ベクトルを算出する(ステップS1002)。
【0057】
ここで、概念検索エンジンで使用する基本ベクトル辞書について説明する。図11は、概念検索エンジンで使用する基本ベクトル辞書の構成を示す図である。基本ベクトル辞書は、情報処理装置101の記憶装置206に記憶される。基本ベクトル辞書には、単語毎にベクトル表現時の夫々の次元(Dim.)に応対した特徴量が格納されている。次元としては、その単語本来の意味によって分類された基準や、その単語の使用分野に応じて分類された基準等が採用される。従って、基本ベクトル辞書から一つの単語における夫々の次元(Dim.)の特徴量を得ることが可能となる。特徴量は、その単語が使用されることにより、その文書がその分類基準(次元)をどれぐらい特徴付ける可能性があるかを示す値と解釈することが可能である。
【0058】
ステップS1002においては、文書を構成するすべての単語から得られた分類基準別(次元別)の特徴量から、文書全体の特徴量を分類基準(次元)とするベクトルで表現する。そして、得られたベクトルを「ノルム=1」で正規化した値を文書ベクトルとする。
【0059】
その後、ステップS1002において求めた文書ベクトルをインデックスに格納する(ステップS1003)。
【0060】
図12は、概念検索エンジンのインデックス処理で生成する概念検索インデックスの構成を示す図である。概念検索インデックス120は、情報処理装置101の記憶装置206に記憶される。概念検索インデックス120は、コンテンツを特定するための一意な値であるIDを格納する文書ID1201、及び分類基準別(次元別)の特徴量を格納する文書ベクトル情報1202から構成される。概念検索エンジンのインデックス処理では、概念検索インデックス120に文書ID1201及び求めた文書ベクトル1202を記憶する。
【0061】
図13は、画像検索エンジンにおけるインデックス処理を示すフローチャートである。
【0062】
画像検索エンジンにおけるインデックス処理では、先ず、画像から画像特徴量を生成する(ステップS1301)。画像特徴量は、画像の色情報、規則性、対象物の形状等に注目したときの特徴を表現する値ある。画像特徴量としては、既知のもの、例えば特開平10−260983号公報等に記載されているものを用いることができる。次に、この画像特徴量及びコンテンツIDを画像インデックスに格納する(ステップS1302)。
【0063】
なお、ステップS1301における画像特徴量の生成処理は、画像検索エンジンが組み込まれている情報処理装置101とは別の情報処理装置101で実行してもよい。この場合、生成した画像特徴量を画像検索エンジンが組み込まれている情報処理装置101に通知することにより、画像検索エンジンのインデックス処理を実行すればよい。
【0064】
図14は、画像検索エンジンのインデックス処理で生成する画像検索インデックスの構成を示す図である。画像検索インデックス140は、情報処理装置101の記憶装置206に記憶される。画像検索インデックス140は、コンテンツを特定するための一意な値であるIDを格納する文書ID1401、及び画像特徴量を格納する画像特徴量情報1402から構成される。画像検索エンジンのインデックス処理では、画像検索インデックス140に文書ID(コンテンツID)1401及び求めた画像特徴量情報1402を記憶する。
【0065】
このような本実施形態によれば、各情報処理装置101上の検索機能が種々の検索エンジンを組み込んでいる場合でも、簡素な処理で所望の検索を行うことができる。即ち、アプリケーションが文書に対して検索で使用するインデックスを生成する時には、全文検索を行うのか類似画像検索を行うのかの検索目的に応じて、検索サーバを選択し個々の呼出し手順に応じた処理をする必要がない。これにより、アプリケーションが文書を分散検索システムに渡すだけで該当文書に対するインデックス処理が可能となる。
【0066】
なお、本発明の実施形態は、例えばコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
【図面の簡単な説明】
【0067】
【図1】本発明の実施形態に係る分散検索システムのネットワーク構成を示すブロック図である。
【図2】各情報処理装置101の構成を示すブロック図である。
【図3】インデキシング能力テーブルの記憶領域を示す図である。
【図4】コンテンツ解析情報の記憶領域を示す図である。
【図5】インデックス処理対象コンテンツ情報の記憶領域を示す図である。
【図6】情報処理装置101の参加時の動作を示すフローチャートである。
【図7】情報処理装置101の離脱時の動作を示すフローチャートである。
【図8】インデキシング要求を行う際の動作を示すフローチャートである。
【図9】他の情報処理装置101からの要求を受信した際の動作を示すフローチャートである。
【図10】概念検索エンジンにおけるインデックス処理を示すフローチャートである。
【図11】概念検索エンジンで使用する基本ベクトル辞書の構成を示す図である。
【図12】概念検索エンジンのインデックス処理で生成する概念検索インデックスの構成を示す図である。
【図13】画像検索エンジンにおけるインデックス処理を示すフローチャートである。
【図14】画像検索エンジンのインデックス処理で生成する画像検索インデックスの構成を示す図である。
【符号の説明】
【0068】
101:情報処理装置
102:ローカルエリアネットワーク(LAN)
201:CPU
202:ROM
203:RAM
204:入力装置
205:表示装置
206:記憶装置
207:外部記憶装置
208:通信装置
209:バス
【特許請求の範囲】
【請求項1】
ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求する情報処理装置であって、
前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルと、
前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択手段と、
前記選択手段によって選択された外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手段と、
を有することを特徴とする情報処理装置。
【請求項2】
ネットワークを介して通信可能な外部の情報処理装置からのインデックス処理の実行の要求があると、当該要求において指定されたインデックス対象コンテンツに対してインデックス処理を実行するインデックス処理実行手段を有することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
ネットワークを介して通信可能な複数の第1の情報処理装置及び第2の情報処理装置を備えた分散検索システムであって、
前記複数の第1の情報処理装置の各々は、
前記第2の情報処理装置からのインデックス処理の実行の要求があると、当該要求において指定されたインデックス対象コンテンツに対してインデックス処理を実行するインデックス処理実行手段を有し、
前記第2の情報処理装置は、
前記複数の第1の情報処理装置毎に当該第1の情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルと、
前記複数の第1の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる第1の情報処理装置を選択する選択手段と、
前記選択手段によって選択された第1の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手段と、
を有することを特徴とする分散検索システム。
【請求項4】
ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求する情報処理装置の制御方法であって、
前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルを前記情報処理装置に設けておき、
前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択ステップと、
前記選択ステップにおいて選択した外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項5】
ネットワークを介して通信可能な外部の情報処理装置からのインデックス処理の実行の要求があると、当該要求において指定されたインデックス対象コンテンツに対してインデックス処理を実行するインデックス処理実行ステップを有することを特徴とする請求項4に記載の情報処理装置の制御方法。
【請求項6】
ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求するために情報処理装置が実行するプログラムであって、
前記情報処理装置に、
前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルを設けておき、
前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択手順と、
前記選択手順において選択した外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手順と、
を実行させることを特徴とするプログラム。
【請求項7】
ネットワークを介して通信可能な外部の情報処理装置からのインデックス処理の実行の要求があると、当該要求において指定されたインデックス対象コンテンツに対してインデックス処理を実行するインデックス処理実行手順を前記情報処理装置に実行させることを特徴とする請求項6に記載のプログラム。
【請求項1】
ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求する情報処理装置であって、
前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルと、
前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択手段と、
前記選択手段によって選択された外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手段と、
を有することを特徴とする情報処理装置。
【請求項2】
ネットワークを介して通信可能な外部の情報処理装置からのインデックス処理の実行の要求があると、当該要求において指定されたインデックス対象コンテンツに対してインデックス処理を実行するインデックス処理実行手段を有することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
ネットワークを介して通信可能な複数の第1の情報処理装置及び第2の情報処理装置を備えた分散検索システムであって、
前記複数の第1の情報処理装置の各々は、
前記第2の情報処理装置からのインデックス処理の実行の要求があると、当該要求において指定されたインデックス対象コンテンツに対してインデックス処理を実行するインデックス処理実行手段を有し、
前記第2の情報処理装置は、
前記複数の第1の情報処理装置毎に当該第1の情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルと、
前記複数の第1の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる第1の情報処理装置を選択する選択手段と、
前記選択手段によって選択された第1の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手段と、
を有することを特徴とする分散検索システム。
【請求項4】
ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求する情報処理装置の制御方法であって、
前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルを前記情報処理装置に設けておき、
前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択ステップと、
前記選択ステップにおいて選択した外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項5】
ネットワークを介して通信可能な外部の情報処理装置からのインデックス処理の実行の要求があると、当該要求において指定されたインデックス対象コンテンツに対してインデックス処理を実行するインデックス処理実行ステップを有することを特徴とする請求項4に記載の情報処理装置の制御方法。
【請求項6】
ネットワークを介して通信可能な複数の外部の情報処理装置に文書の検索処理及びその前処理としてのインデックス処理を要求するために情報処理装置が実行するプログラムであって、
前記情報処理装置に、
前記複数の外部の情報処理装置毎に当該情報処理装置がインデックス可能なコンテンツを示す能力を対応付けたインデキシング能力テーブルを設けておき、
前記複数の外部の情報処理装置のいずれかにインデックス処理させようとする際に、当該インデックス処理させようとするコンテンツの種別と前記インデキシング能力テーブルとを照合して、インデックス処理させる外部の情報処理装置を選択する選択手順と、
前記選択手順において選択した外部の情報処理装置に対して、インデックス処理の実行を要求するインデックス処理実行要求手順と、
を実行させることを特徴とするプログラム。
【請求項7】
ネットワークを介して通信可能な外部の情報処理装置からのインデックス処理の実行の要求があると、当該要求において指定されたインデックス対象コンテンツに対してインデックス処理を実行するインデックス処理実行手順を前記情報処理装置に実行させることを特徴とする請求項6に記載のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2007−80204(P2007−80204A)
【公開日】平成19年3月29日(2007.3.29)
【国際特許分類】
【出願番号】特願2005−270640(P2005−270640)
【出願日】平成17年9月16日(2005.9.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成19年3月29日(2007.3.29)
【国際特許分類】
【出願日】平成17年9月16日(2005.9.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]