(57)【要約】【課題】  入力された検索条件に関連性の高い過去の検索条件を検索する情報処理装置、情報検索システム、情報処理方法およびプログラムを提供すること。【解決手段】  本発明の情報処理装置１２０は、検索条件と、該検索条件の検索結果に関連する関連情報とを対応付けて、検索履歴として記録する記録手段１２２と、検索履歴を読み出して、検索条件と関連情報とをノードとする状態遷移グラフを構成する構成手段（１２４，１２６，１２８）と、新たに入力された新規検索条件を含む検索要求に応答して、状態遷移グラフを用いて、新規検索条件と過去の検索条件との間の関連度を計算する計算手段１４０と、計算された関連度に従って、新規検索条件に適合する関連検索条件を抽出する抽出手段１４２と、抽出された関連検索条件を用いて検索要求に対する応答データを生成する応答手段１４６とを含み、情報検索のための検索条件を処理する。【選択図】  図３
2010061178.tif 000002
【特許請求の範囲】
【請求項１】
情報検索のための検索条件を処理する情報処理装置であって、
検索条件と、該検索条件の検索結果に関連する関連情報とを対応付けて、検索履歴として記録する記録手段と、
前記検索履歴を読み出して、前記検索条件と前記関連情報とをノードとする状態遷移グラフを構成する構成手段と、
新たに入力された新規検索条件を含む検索要求に応答して、前記状態遷移グラフを用いて、前記新規検索条件と過去の検索条件との間の関連度を計算する計算手段と、
計算された前記関連度に従って、前記新規検索条件に適合する関連検索条件を抽出する抽出手段と、
抽出された前記関連検索条件を用いて前記検索要求に対する応答データを生成する応答手段と
を含む、情報処理装置。
【請求項２】
前記計算手段は、前記過去の検索条件間での検索結果に含まれる前記関連情報の重複度、および該過去の検索条件間でのそれぞれが含有する単語の類似度の少なくとも一方から算出される該過去の検索条件のノード間の重み付けを用いて、前記関連度を計算する、請求項１に記載の情報処理装置。
【請求項３】
前記計算手段は、さらに、前記新規検索条件と前記過去の検索条件との間でのそれぞれが含有する単語の類似度から算出されるノード間の重み付けを用いて、前記関連度を計算する、請求項１または２に記載の情報処理装置。
【請求項４】
前記記録手段は、検索者ユーザの識別値をさらに前記検索条件に対応付けて記録し、前記計算手段は、前記検索者ユーザのノード間の重み付けを用いて、前記関連度を計算する、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記応答手段は、抽出された前記関連検索条件を、前記新規検索条件の検索者ユーザの検索履歴から求められた条件と、他の検索者ユーザのものを含む検索履歴から求められた条件とを区別して表示させるように前記応答データを生成する、請求項４に記載の情報処理装置。
【請求項６】
前記計算手段は、前記関連情報のノードとの間の重み付けを含んで前記新規検索条件のノードが加えられた前記状態遷移グラフを用いて、前記状態遷移グラフを表現する隣接行列にランダムウォーク・ウィズ・リスタート方式を適用して前記関連度を計算する、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記計算手段は、検索条件と関連情報との関連性に対する信頼度に対応して区別される種別の相違に応答して求められる該検索条件および該関連情報のノード間の重み付けを用いて、上記関連度を計算する、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記関連情報の種別は、検索条件による検索結果から参照された参照情報、該検索結果から適合性フィードバックによる再検索のために指定された適合情報、および該検索結果の詳細情報から明示的に指定された指定情報を含む、請求項７に記載の情報処理装置。
【請求項９】
請求項１〜８のいずれか１項に記載の情報処理装置と、
前記検索履歴を蓄積するデータベースと、
検索条件に従って情報検索を実行して、前記検索された情報の一覧を含む検索結果を前記情報処理装置へ返す情報検索エンジンと
を含む、情報検索システム。
【請求項１０】
情報検索のための検索条件を処理する情報処理方法であって、情報処理装置が、
検索条件と、該検索条件の検索結果に関連する関連情報とを対応付けて、検索履歴として記録するステップと、
前記検索履歴を読み出して、前記検索条件と前記関連情報とをノードとした状態遷移グラフを構成するステップと、
新たに入力された新規検索条件を含む検索要求に応答して、前記状態遷移グラフを用いて、前記新規検索条件と過去の検索条件との間の関連度を計算するステップと、
計算された前記関連度に従って、前記新規検索条件に適合する関連検索条件を抽出するステップと、
抽出された前記関連検索条件を用いて前記検索要求に対する応答データを生成するステップと
を実行する、情報処理方法。
【請求項１１】
情報処理装置は、前記計算するステップでは、前記過去の検索条件間での検索結果に含まれる前記関連情報の重複度、および該過去の検索条件間でのそれぞれが含有する単語の類似度の少なくとも一方から算出される当該過去の検索条件のノード間の重み付けを用いて、前記関連度を計算する、請求項１０に記載の情報処理方法。
【請求項１２】
情報処理装置は、前記計算するステップでは、さらに、前記新規検索条件と前記過去の検索条件との間でのそれぞれが含有する単語の類似度から算出されるノード間の重み付けを用いて、前記関連度を計算する、請求項１０または１１に記載の情報処理方法。
【請求項１３】
情報処理装置は、前記記録するステップでは、検索者ユーザの識別値をさらに前記検索条件に対応付けて前記検索履歴として記録し、前記計算するステップでは、前記検索者ユーザのノード間の重み付けを用いて、前記関連度を計算する、請求項１０〜１２のいずれか１項に記載の情報処理方法。
【請求項１４】
情報処理装置は、前記応答するステップでは、抽出された前記関連検索条件を、前記新規検索条件の検索者ユーザの検索履歴から求められた条件と、他の検索者ユーザのものを含む検索履歴から求められた条件とを区別して表示させるように前記応答データを生成する、請求項１３に記載の情報処理方法。
【請求項１５】
情報処理装置は、前記計算するステップでは、前記関連情報のノードとの間の重み付けを含んで前記新規検索条件のノードが加えられた前記状態遷移グラフを用いて、前記状態遷移グラフを表現する隣接行列にランダムウォーク・ウィズ・リスタート方式を適用して前記関連度を計算する、請求項１０〜１４のいずれか１項に記載の情報処理方法。
【請求項１６】
情報処理装置は、前記計算するステップでは、検索条件と関連情報との関連性に対する信頼度に対応して区別される種別の相違に応答して求められる該検索条件および該関連情報のノード間の重み付けを用いて、上記関連度を計算する、請求項１０〜１５のいずれか１項に記載の情報処理方法。
【請求項１７】
前記関連情報の種別は、検索条件による検索結果から参照された参照情報、該検索結果から適合性フィードバックによる再検索のために指定された適合情報、および該検索結果の詳細情報から明示的に指定された指定情報を含む、請求項１６に記載の情報処理方法。
【請求項１８】
情報処理装置を、請求項１〜８のいずれか１項に記載の各手段として機能させるための装置実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報検索技術に関し、より詳細には、入力された検索条件に関連性の高い過去の検索条件を検索する情報処理装置、情報検索システム、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年の情報技術の発展に伴い、膨大な情報がデータベースやファイルシステム上に蓄積されるようになり、所望の情報を効率的に検索するための情報検索技術の重要性が高まっている。情報検索において、検索者は、検索条件を入力して検索を要求し、ヒットした情報のリストなどとして得られる検索結果の中から、検索者の目的に適合した情報を見つけ出すこととなる。そして、検索結果の中に適当な情報がない場合は、検索者は、検索条件を変更して再度検索することとなるが、その際に、検索者自身や他の利用者が入力した過去の検索条件を容易に参考にすることができれば、検索効率を向上させることができるものと考えられる。
【０００３】
このような観点から、特開２００１−１０９７５２号公報（特許文献１）は、データベース検索時に過去の検索経験を活かすことで、効率の良い検索ができるようにすることを目的として、情報検索システムの提供するデータベース検索のためのグラフィカル・ユーザ・インタフェース（以下、ＧＵＩとして参照する。）にて検索者の検索条件を読み込むことで、検索者が目的とする情報を検索・収集するとともに、この時の検索処理と並列して情報のコンテンツを得るまでの検索情報および得られたコンテンツの表題とリンク情報からなる検索履歴を一時的に保持・記録し、そして一時的に保持しておいた検索履歴が検索者によって確認および削除・整理された後、通常の情報とは別に分類して検索履歴データベースに登録し、この登録した検索履歴を新たに類似した目的の情報検索の際に参照して検索者に提示することを特徴とする情報検索方法を開示している。
【特許文献１】特開２００１−１０９７５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に開示される従来技術では、過去の類似した検索履歴を提示する際に、検索用のユーザ・インタフェースとは異なるユーザ・インタフェースを「検索履歴の検索」のために用いる必要があったため、検索者は、検索条件とは別に検索履歴の検索のための検索条件を入力する必要があり、ユーザ利便性の観点から充分なものではなかった。
【０００５】
また、検索履歴を登録する際も、検索結果に含まれる各コンテンツに対して、検索者が登録の可否を判断して明示的に指定する必要があったため、この観点からも充分なユーザ利便性を提供できるものではなかった。さらに上記従来技術では、上記検索履歴は、検索情報と得られたコンテンツの表題とリンク情報とから構成されているが、これらの情報が検索履歴の検索のための検索条件と一致する内容を含む検索履歴のみが提示されることとなるため、過去の検索履歴を十分に活用できていないという点で、充分なものではなかった。例えば、「図書館」と「ｌｉｂｒａｒｙ」とは、互いに意味の関連性が強い単語であるが、「検索履歴の検索」のための検索条件として「図書館」のキーワードを指定した場合、上記検索履歴の検索情報やコンテンツの表題の中に「図書館」が含まれていない検索履歴については、例え「ｌｉｂｒａｒｙ」が含まれていた場合であっても、上記類似した目的の情報検索の際に提示されることはなかった。
【０００６】
さらに、上記従来技術では、自分の検索履歴と他人の検索履歴とが区別されて蓄積されないため、「検索履歴の検索」のための検索条件に対し、検索者の別にかかわらず共通の結果が与えられることとなるため、必ずしも各検索者の興味および関心に適合した検索履歴を提示できるとは限らなかった。また、上記従来技術では、自分のものと他人のものとを区別して「検索履歴の検索」の結果が提示されないため、検索者は、検索目的に合致した結果を識別するにあたって困難性があった。例えば、検索者にとって、自身の過去の検索行動や思考を思い出したい場合と、自身とは異なる新たな発想を広げたい場合とでは、それぞれ適した情報が異なると考えられるため、自身の過去の検索経験が反映された結果と、全体またはグループ内の他の検索者による過去の検索経験が反映された結果とを区別して提示させたいという要望があった。
【０００７】
本発明は、上記問題点に鑑みてなされたものであり、検索者自身や他の検索者の過去の検索経験が適切に反映された関連の検索条件を効率的に抽出し、検索者に手間をかけることなく、その興味、関心および検索目的に適合した過去の検索条件を容易に再利用可能とする情報処理装置、情報検索システム、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では、上記課題を解決するために、検索条件と、該検索条件の検索結果に関連する関連情報とを対応付けて検索履歴として記録し、検索条件と関連情報とをノードとする状態遷移グラフを構成する。そして、新たに入力された新規検索条件を含む検索要求に応答して、上記構成された状態遷移グラフを用いて、新規検索条件と過去の検索条件との間の関連度を計算し、計算された関連度に従って抽出された、新規検索条件に適合する関連検索条件を用いて、検索要求に対する応答データを生成する。
【０００９】
上記構成により、検索条件に含まれる単語自体の類似性のみならず、各検索条件と関連情報との対応付けから辿られる検索条件間の間接的な関係性が活用されて関連検索条件が抽出されるため、共通の単語を含まないような検索条件であっても、間接的な関係性が高いものであれば関連検索条件として抽出される可能性があり、過去の検索履歴をより有効に活用することが可能となる。例えば、上記の例では、「図書館」と「ｌｉｂｒａｒｙ」とは、互いに意味の関係性が強いものの表現が相違する単語であるが、上記構成によれば、「図書館」を単語として含まない検索条件であっても、「図書館」を単語として含む検索条件は、「ｌｉｂｒａｒｙ」を含む検索条件と間接的な関係性を有している可能性があり、これにより、「図書館」を単語として含まなくとも「ｌｉｂｒａｒｙ」を含む過去の検索条件が抽出される可能性が生まれる。また、一度の検索条件の入力により、当該検索条件による検索とともに、検索履歴から関連検索条件の抽出が実行されるため、検索履歴からの検索条件を抽出するための条件の別途入力が不要とされ、高いユーザ利便性が提供される。
【００１０】
また本発明では、過去の検索条件間での検索結果に含まれる関連情報の重複度、および該過去の検索条件間でのそれぞれが含有する単語の類似度の少なくとも一方から算出される該過去の検索条件のノード間の重み付けを用いて関連度を計算することができる。上記関連情報は、検索結果にリストされた情報および検索結果から参照された情報、またはユーザから指定された適合情報を用いて拡張した検索条件にヒットした情報とすることができる。この構成により、関連検索条件の抽出の際に、過去の検索条件間の内容の直接的な関係性だけでなく検索結果を介した間接的な関係性も好適に取り込むことが可能となる。また、検索結果から参照された情報を関連情報とする場合には、検索者は、なんら追加の動作を行うことなく関係性の高い情報を登録することができ、関係情報の登録の可否を判断する手間を省きつつも、抽出の精度を高めることができる。また、指定の適合情報を用いて拡張した検索条件にヒットした情報を関連情報とする場合には、検索者に特別な心理的負担を感じさせることなく、抽出の精度を高めることができる。
【００１１】
さらに本発明では、さらに、新規検索条件と過去の検索条件との間でのそれぞれが含有する単語の類似度から算出されるノード間の重み付けを用いて、上記関連度を計算することができる。新規検索条件と過去の検索条件との間の単語上の類似性が取り込まれるため、検索者の最大の関心を表現している新規検索条件の内容自体に類似する条件が、より高い関連度として抽出されるため、より検索者の意図が反映された過去の検索条件を容易に抽出可能とする。
【００１２】
さらにまた、本発明では、検索者ユーザの識別値をさらに検索条件に対応付けて記録することができ、検索者ユーザのノード間の重み付けを用いて、上記関連度を計算することができる。この構成により、検索者ユーザの興味や関心を反映した過去の検索条件を容易に抽出可能とする。また本発明では、抽出された関連検索条件を、新規検索条件の検索者ユーザの検索履歴から求められた条件と、他の検索者ユーザのものを含む検索履歴から求められた条件とを区別して表示させるように応答データを生成することができる。この構成により、検索者は、検索目的に適した検索条件を容易に識別することが可能となる。
【００１３】
またさらに本発明では、関連情報のノードとの間の重み付けを含んで新規検索条件のノードが加えられた状態遷移グラフを用いて、当該状態遷移グラフを表現する隣接行列にランダムウォーク・ウィズ・リスタート方式を適用して関連度を計算することができる。この構成により、新規検索条件と過去の検索条件との間の関連度を効率的に計算することが可能となる。
【００１４】
また本発明では、さらに、検索条件と関連情報との関連性に対する信頼度に対応して区別される種別の相違に応答して求められる検索条件および関連情報のノード間の重み付けを用いて、上記関連度を計算することができる。この関連情報の種別としては、例えば、検索条件による検索結果から参照された参照情報、該検索結果から適合性フィードバックによる再検索のために指定された適合情報、および該検索結果の詳細情報から明示的に指定された指定情報を含むことができる。その他、ユーザから指定された、関連情報に対する重要度の指定を上記関連情報の種別の区分に対応させることもできる。
【００１５】
ユーザが単に検索結果から参照した参照情報と、適合性フィードバックにおいてユーザが適合するものと指定した適合情報、適合するものとしてユーザが明示的に指定した指定情報とでは、検索者ユーザの興味や関心の程度が異なり、これらの関連情報と検索条件との間の関連性の程度の観点からは、その信頼度は、相違するものと考えられる。上記構成によれば、このような関連情報の種別による関連性の信頼度の相違を、関連情報および検索条件のノード間の重み付けの値の相違として取り込み、検索者ユーザの興味や関心を、より正しく反映する過去の検索条件を抽出可能とし、抽出の精度を高めることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態を説明するが、本発明の実施形態は、以下の実施形態に限定されるものではない。なお、以下の実施形態では、文書を対象とした情報検索を実行する文書検索システムを一例として説明する。
【００１７】
図１は、第１の実施形態による文書検索システム１００を示す概略図である。図１に示す文書検索システム１００は、検索要求を送信するクライアント・コンピュータ（以下、単にクライアントとして参照する。）１６０ａ，ｂと、クライアント１６０から受信した上記検索要求を処理するＷｅｂアプリケーション・サーバ（以下、Ｗｅｂサーバとして参照する。）１２０と、文書検索のためのインデックスを記憶するデータベース１１０ａを管理し、文書検索エンジンとして機能するデータベース・サーバ（以下、ＤＢサーバとして参照する。）１１０とを含んで構成されている。上記ＤＢサーバ１１０、Ｗｅｂサーバ１２０およびクライアント１６０は、イーサネット（登録商標）およびＴＣＰ／ＩＰプロトコルによるローカル・エリア・ネットワーク（以下、ＬＡＮとして参照する。）などのネットワーク１７０を介して、相互に接続されている。上記ネットワーク１７０の構成は、特に限定されるものではなく、クライアント１６０とＷｅｂサーバ１２０との間には、インターネットなどの公衆ネットワークを含んでいてもよい。
【００１８】
本実施形態の文書検索システム１００は、文書検索に加え、新たに要求された検索条件に関連する過去の検索条件（以下、関連検索条件として参照する。）を抽出して、クライアント１６０に提示するよう構成されており、上記ＤＢサーバ１１０は、関連検索条件を抽出するために、さらに、システムに対し過去に要求された検索の履歴をデータベース１１０ａ上に蓄積している。クライアント１６０は、Ｗｅｂサーバ１２０に対し、文書検索とともに上記関連検索条件の抽出を要求する。Ｗｅｂサーバ１２０は、クライアント１６０から受信した検索要求に応答して、文書検索エンジンとしてのＤＢサーバ１１０に照会するとともに、上記関連検索条件の抽出の要求に応答して、ＤＢサーバ１１０が蓄積する検索履歴を利用した関連検索条件の抽出処理を実行し、検索結果および抽出結果をクライアント１６０へ返信する。
【００１９】
上記ＤＢサーバ１１０は、より具体的には、ＤＢ２（登録商標）、Ｏｒａｃｌｅ（登録商標）、ＭｙＳＱＬ（登録商標）、ＰｏｓｔｇｒｅＳＱＬ（登録商標）などのデータベース管理システム（Database Management System）を実装しており、関係データベース、オブジェクト関係データベースまたはオブジェクト・データベースなどとして構成されるデータベース１１０ａを管理している。ＤＢサーバ１１０は、検索履歴、文書検索のためのインデックスの他、後述する関連検索条件の抽出処理に用いる状態遷移グラフを構成する構成データを格納している。
【００２０】
クライアント１６０は、ブラウザ・ソフトウェアを実装しており、Ｗｅｂサーバ１２０から送信されるＨＴＭＬ、ＸＨＴＭＬ、ＸＭＬなどの構造化文書を使用して、文書検索および関連検索条件の抽出の指示、および結果表示を行うためのグラフィカル・ユーザ・インタフェース（以下、ＧＵＩとして参照する。）を提供している。本実施形態で使用することができるブラウザ・ソフトウェアとしては、これまで知られたいかなるものでも使用することができ、例えば、Internet Explorer（登録商標）、Netscape Navigator（登録商標）、Firefox（登録商標）、Mosaic（登録商標）、Opera（登録商標）などの適切なブラウザ・ソフトウェアを挙げることができる。
【００２１】
Ｗｅｂサーバ１２０は、ＩＩＳ（Internet Information Service：登録商標）、ＡＰａｃｈｅ（登録商標）などのＷｅｂサーバ・ソフトウェアおよび、ＰＨＰ、Ｊａｖａ（登録商標）Ｓｅｒｖｌｅｔ、ＪＳＰなどの適切なＷｅｂアプリケーションを実装しており、ＨＴＴＰ（HyperText Transfer Protocol）に従ったトランザクションを処理している。本実施形態のＷｅｂサーバ１２０は、クライアント１６０から送信される検索条件を受信し、検索結果、および該検索条件に関連する関連検索条件の抽出結果をクライアント１６０上に表示させるための応答データを返信する。また、Ｗｅｂサーバ１２０は、ＪＤＢＣ、ＯＤＢＣ（Open Database Connectivity）などのＡＰＩ（Application Programming Interface）を含んで構成され、データベース１１０ａに接続して、検索履歴の取得、状態遷移グラフの構成テーブルの取得および格納、およびクライアントから要求された検索の照会を行っている。
【００２２】
以下、第１の実施形態の文書検索システム１００で用いられるＷｅｂサーバ１２０の構成について、詳細を説明する。図２は、第１の実施形態によるＷｅｂサーバ１２０のハードウェア構成を示す図である。Ｗｅｂサーバ１２０は、マイクロプロセッサ・ユニット（ＭＰＵ)１２と、ＢＩＯＳ（Basic Input Output System）を格納する不揮発性メモリ１４と、ＭＰＵ１２によるプログラム処理を可能とする実行記憶空間を提供するＲＡＭなどのメモリ１６とを含んで構成されている。起動時にＭＰＵ１２は、不揮発性メモリ１４からＢＩＯＳを読み出して、システム診断を行なうとともに入出力装置２６の管理を行っている。
【００２３】
ＭＰＵ１２は、内部バス２２を介して記憶制御用インタフェース１８に接続され、ハードディスク２０が、ＭＰＵ１２からの入出力要求に応答してデータの書込または読み出しを実行する。記憶制御用インタフェース１８としては、ＩＤＥ（Integrated Device Electronics）、ＡＴＡ（AT Attachment）、シリアルＡＴＡ、ＵｌｔｒａＡＴＡなどの規格により、ハードディスク２０の入出力を管理するインタフェースを使用することもできる。ＭＰＵ１２は、内部バス２２を介してＵＳＢ、ＩＥＥＥ１１６４などのシリアルまたはパラレル・インタフェース２４を制御して、キーボード、マウス、プリンタなどの入出力装置２６と通信して、ユーザからの入力を受け取る。
【００２４】
Ｗｅｂサーバ１２０は、さらにＶＲＡＭ２８とグラフィック・チップ３０とを含んでおり、ＭＰＵ１２からの指令に応答してビデオ信号を処理し、ディスプレイ装置３２へと表示させている。また、ＭＰＵ１２は、内部バス２２を介してネットワークＩ／Ｆ（ＮＩＣ；Network Interface Card）３４と通信し、Ｗｅｂサーバ１２０を、ネットワーク１７０を通して、ＤＢサーバ１１０およびクライアント１６０と通信させている。
【００２５】
Ｗｅｂサーバ１２０は、不揮発性メモリ１４やハードディスク２０、その他、ＮＶ−ＲＡＭ（図示せず）やＳＤカード（図示せず）などの記憶装置に格納されたプログラム（図示せず）を読み出し、メモリ１６のメモリ領域に展開することにより、適切なオペレーティング・システム（ＯＳ）のもとで、後述する各機能手段および各処理を実現している。上記ＯＳとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）またはＡＩＸまたはＬＩＮＵＸ（登録商標）など、如何なるアーキテクチャを有するＯＳを採用することができる。なお、本実施形態のＤＢサーバ１１０およびクライアント１６０も、図１に示すハードウェア構成と同様の構成とすることができる。
【００２６】
以下、文書検索システム１００の機能構成について説明する。図３は、第１の実施形態による文書検索システム１００の機能ブロックを示し、図３には、ＤＢサーバ１１０の機能ブロック、Ｗｅｂサーバ１２０の機能ブロック、およびクライアント１６０の機能ブロックが示されている。
【００２７】
図３に示すクライアント１６０は、検索条件の入力を受け付ける検索条件入力部１６４を含んで構成されている。クライアント１６０とＷｅｂサーバ１２０との間のメッセージ交換は、クッキーなどによってセッション管理されている。検索条件が入力され、ＧＵＩを介した検索指示を受けると、検索条件入力部１６４は、入力された検索条件を含む検索要求をＷｅｂサーバ１２０へ送信する。
【００２８】
ここで、図４を参照して、検索要求のために用いられるＧＵＩ画面について説明する。図４は、クライアントのディスプレイ上に表示されるＧＵＩ画面を示す。図４（Ａ）に示すＧＵＩ画面３００は、第１の実施形態の文書検索システム１００において検索要求を発行するためのＧＵＩを提供し、検索条件を入力するためのテキスト・ボックス３０２と、検索要求を指示するための検索ボタン３０４とを含んで構成される。検索者は、ＧＵＩ画面３００を用いて、検索条件の入力および検索要求を指示することができる。
【００２９】
再び図３を参照すると、ＤＢサーバ１１０は、検索履歴を格納する検索履歴格納部１１４と、文書検索のための全文テキスト検索インデックスを格納するインデックス・データベース１１６とを含んで構成される。Ｗｅｂサーバ１２０は、検索履歴の記録処理を実行する検索履歴記録部１２２と、要求された検索条件による照会処理を行う照会処理部１４４と、照会結果を得て要求に対する検索結果を含む応答データを生成する検索結果応答部１４６とを含んで構成される。
【００３０】
上記照会処理部１４４は、クライアント１６０から受信した検索条件を、ＳＱＬなどのデータベース言語に変換してインデックス・データベース１１６に照会し、検索結果応答部１４６は、照会結果として検索条件に該当する文書（以下、検索文書として参照する。）の書誌情報およびハイパーリンク情報から構成される文書リストを取得する。照会結果を取得した検索結果応答部１４６は、検索要求に対する検索結果の応答データを生成して、クライアント１６０へ返信する。また、検索結果応答部１４６は、後述する状態遷移グラフのノード間の重み付けを計算するために、検索文書のリストを検索履歴記録部１２２へ報告することができる。報告を受けた検索履歴記録部１２２は、検索条件入力部１６４から送信された検索要求に含まれる検索条件と、報告された該検索条件による検索結果に含まれる検索文書とを相互に関連付けて検索履歴格納部１１４へ記録する。
【００３１】
クライアント１６０は、さらに、受信した応答データに従って画面表示する結果表示部１６６と、検索結果中の検索文書へのハイパーリンク情報に従って文書へアクセスし表示するための文書表示部１６８とを含んで構成される。上記結果表示部１６６は、ＧＵＩを介して検索者からの検索文書の参照の指示を受けて、文書表示部１６８を呼び出す。呼び出された文書表示部１６８は、指定された文書へアクセスするとともに、当該検索文書が参照された旨の報告をＷｅｂサーバ１２０へ送信する。報告を受けて検索履歴記録部１２２は、当該検索条件に対し、さらに参照済みの検索文書（以下、参照文書として参照する。）をさらに関連付けて記録する。
【００３２】
つまり、参照された検索文書は、単に検索にヒットしただけではなく、検索者により有為な文書であるとして参照された関連性の高い文書（以下、関連文書として参照する。）であるとして履歴中に記録されることとなる。本実施形態では、参照された参照文書を関連文書として登録するものとして説明するが、他の実施形態では、適合性フィードバックにより、検索者から選択された文書に含まれる単語を用いて拡張した検索条件による二次検索結果に含まれるものを、関連性の高い関連文書として記録することもできる。その場合は、検索結果表示部１６６は、検索文書のリストとともに適合文書として登録するためのボタンなどのＧＵＩを表示させ、検索者からＧＵＩを介して登録の指示があった文書が検索履歴記録部１２２に報告され、指示された適合文書を用いて拡張された二次検索結果に含まれる文書が関連文書として記録されることとなる。
【００３３】
ここで、図５を参照して検索履歴の詳細について説明する。図５は、検索履歴のデータ構造を示す。図５（Ａ）に示す検索履歴テーブル２００は、第１の実施形態の文書検索システム１００において用いられ、検索条件を識別する検索条件ＩＤが入力されるフィールド２００ａと、検索条件の内容が入力されるフィールド２００ｂとを含んで構成され、検索者から要求された検索条件に関する情報が時系列的にエントリされてゆく。また、検索履歴テーブル２００は、検索結果としてヒットした検索文書の文書ＩＤのセットが入力されるフィールド２００ｃと、検索結果から参照された関連文書の文書ＩＤのセットが入力されるフィールド２００ｄとを含んで構成され、検索条件と、関連文書の集合と、検索文書の集合とをさらに関連付けている。
【００３４】
再び図３を参照すると、本実施形態のＷｅｂサーバ１２０は、さらに、蓄積した上記検索履歴を利用して検索条件に関連性の高い関連検索条件を抽出するために、グラフ・テーブル編成部１２４と、グラフ構築部１２６と、グラフ管理部１２８とを含んで構成され、後述するランダム・ウォーク・ウィズ・リスタート（Random-walk with Restart；以下、ＲＷＲとして参照する。）方式により要求された新規検索条件と過去の検索条件との間の関連度の算出に用いるための状態遷移グラフを構成し、管理している。本実施形態のグラフ・テーブル編成部１２４、グラフ構築部１２６およびグラフ管理部１２８は、統合的に状態遷移グラフを構成する構成手段として機能する。本実施形態のＤＢサーバ１１０は、グラフ・テーブル格納部１１２をさらに含んで構成され、グラフ・テーブル格納部１１２は、状態遷移グラフを構成するためのテーブル・セットを格納している。
【００３５】
グラフ・テーブル編成部１２４は、時系列データとして構成される検索履歴を検索履歴格納部１１４から読み出して、状態遷移グラフを構成するためのテーブル・セットを作成して、グラフ・テーブル格納部１１２へ格納する。このテーブル・セットは、検索条件毎に履歴情報が整理されて構成される検索条件ノード・テーブルと、関連文書毎に整理されて構成される関連文書ノード・テーブルとを含んで構成される。状態遷移グラフの各ノードは、検索条件ＩＤおよび文書ＩＤにより識別される。
【００３６】
グラフ・テーブル編成部１２４は、同一検索者から短期間に頻発して要求された検索要求などの異常な履歴エントリや、内容が同一の重複する履歴エントリなど、不要なエントリを適宜除去して、状態遷移グラフに追加するべき履歴エントリを取捨選択しつつ、上記テーブル・セットを作成する。Ｗｅｂサーバ１２０は、更新要求部１３４を含んで構成され、更新要求部１３４は、予め設定された間隔やスケジュールなどに従って、グラフ・テーブル編成部１２４に対して上記テーブル・セットの再構成を指令し、検索履歴の経時的な状態変化をテーブル・セットに反映させている。
【００３７】
Ｗｅｂサーバ１２０は、さらにスタートアップ処理を行うサーバ起動部１３２を含んで構成され、サーバ起動部１３２は、起動時にグラフ構築部１２６を呼び出す。グラフ構築部１２６は、グラフ・テーブル格納部１１２からテーブル・セットを読み出して、状態遷移グラフを構築する。この状態遷移グラフは、検索条件のノードと関連文書のノードとを含んで構成され、さらに、接続されるノード間の関係性を表す重み値を含んで構成される。状態遷移グラフは、より具体的には、各ノード間の重み値からなる隣接行列によって表現される。構築された状態遷移グラフは、グラフ管理部１２８へと渡され、グラフ管理部１２８は、渡された状態遷移グラフをメモリ１６が提供するグラフ記憶部１３０に記憶させる。
【００３８】
ここで、図６を参照して、状態遷移グラフの構築処理の詳細について説明する。図６は、第１の実施形態によるＷｅｂサーバ１２０が実行する状態遷移グラフ構築処理を示すフローチャートである。図６に示す処理は、例えば、Ｗｅｂサーバ１２０の起動時にサーバ起動部１３２から呼び出されて、ステップＳ１００から開始される。ステップＳ１０１では、グラフ構築部１２６は、グラフ・テーブル格納部１１２への接続を確立する。ステップＳ１０２では、グラフ構築部１２６は、検索条件ノード・テーブルおよび関連文書ノード・テーブルを読み出して、検索条件ノードｑｉのセットおよび関連文書ノードｖｄｉのセットからなる状態遷移グラフを構成する。ステップＳ１０２では、より具体的には、検索条件ノードｑｉおよび関連文書ノードｖｄｉからなるノード・セットを行および列とした隣接行列が準備される。
【００３９】
ステップＳ１０３では、グラフ構築部１２６は、各検索条件ノード間のリンク（ｑｉ→ｑｊ）の重み値を計算する。このリンク（ｑｉ→ｑｊ）の重みは、検索条件間の関係性を表し、例えば、対応する検索結果に含まれる検索文書の重複度、対応する関連文書の重複度、および検索条件の内容自体に含まれる単語の類似度、またはこれらの少なくとも１つを用いて算出することができる。上記検索文書の重複度ＯｂｊＦｅｅｄＳｉｍ（ｑｉ，ｑｊ）は、例えば、検索条件ノードｑｉに対応する上位Ｋの検索文書の集合ｔｏｐＫ（ｑｉ）と、検索条件ノードｑｊに対応する上位Ｋの検索文書の集合ｔｏｐＫ（ｑｊ）とを用いて、下記式、
【００４０】
【数１】
2010061178.tif 000003
により算出することができる。上記関連文書の重複度ＳｕｂＦｅｅｄＳｉｍ（ｑｉ，ｑｊ）も同様に、検索条件ノードｑｉに対応する関連文書の集合ｖｉｓＤｏｃｓ（ｑｉ）と、検索条件ノードｑｊに対応する関連文書の集合ｖｉｓＤｏｃｓ（ｑｊ）とを用いて、下記式、
【００４１】
【数２】
2010061178.tif 000004
により算出することができる。上記単語の類似度ＣｏｎｔＳｉｍ（ｑｉ，ｑｊ）は、検索条件ノードｑｉの内容に含まれる単語の重みＷｓと、検索条件ノードｑｊの内容に含まれる単語の重みＷｔと、検索条件ノードｑｉおよび検索条件ノードｑｊの両方に含まれる単語の重みＷｕとを用いて、下記式、
【００４２】
【数３】
2010061178.tif 000005
により算出することができる。ここで、単語の重みＷｕ，Ｗｓ，Ｗｔは、ｔｆ／ｉｄｆ（Term Frequency inverse Document Frequency）法により求められた単語の重要度を表している。上記検索文書の重複度ＯｂｊＦｅｅｄＳｉｍ（ｑｉ，ｑｊ）、関連文書の重複度ＳｕｂＦｅｅｄＳｉｍ（ｑｉ，ｑｊ）、単語の類似度ＣｏｎｔＳｉｍ（ｑｉ，ｑｊ）を用いるリンクの重み値の具体的な算出方法は、特に限定されるものではないが、これらの値に係数をかけて算出した値を用いることができる。また、同一検索条件ノード間のリンク（ｑｉ→ｑｊ；ｉ＝ｊ）の重み値は、「０」に設定することができる。
【００４３】
ステップＳ１０４では、グラフ構築部１２６は、検索条件ノードと関連文書ノードとの間のリンク（ｑｉ→ｖｄｊ）の重み値を計算する。このリンク（ｑｉ→ｖｄｊ）の重み値は、各検索条件と関連文書間の関係性を表し、例えば、各検索条件の検索結果から参照された関連文書と該検索条件との間の値を「１」に設定し、参照関係に無い関連文書と検索条件との間の値を「０」に設定することができる。他の実施形態では、参照関係のある関連文書および検索条件において、検索結果における関連文書のランキングスコアを適宜規格化した値を当該重み値として採用してもよい。
【００４４】
ステップＳ１０５では、上記検索条件ノード間のリンク（ｑｉ→ｑｊ）の重み値、および検索条件ノードおよび関連文書ノード間のリンク（ｑｉ→ｖｄｊ）の重み値を用い、リンク（ｖｄｉ→ｑｊ）の重み値がリンク（ｑｉ→ｖｄｊ）と同一であるものとして、また関連文書ノード間のリンク（ｖｄｉ→ｖｄｊ）の重み値が「０」であるものとして、準備された隣接行列の成分にこれら重み値を入力して、状態遷移グラフを表現する隣接行列を生成し、グラフ記憶部１３０へ格納し、ステップＳ１０６で処理を終了させる。
【００４５】
上述したように、本実施形態のＷｅｂサーバ１２０は、新たに要求された検索条件に関連する関連検索条件を抽出するために、要求された検索条件と、該検索条件による検索結果に含まれる検索文書と、参照あるいは指定された関連文書とを対応付けて検索履歴として記録し、この検索条件に対応するノード、および関連文書に対応するノードからなる状態遷移グラフを予め構成しておく。新たな検索要求があった場合には、Ｗｅｂサーバ１２０は、以下説明するように、この状態遷移グラフを用いて関連検索条件の抽出処理を実行する。
【００４６】
再び図３を参照すると、本実施形態のＷｅｂサーバ１２０は、さらに、規格化処理部１３８と、ＲＷＲ計算部１４０と、関連条件抽出部１４２とを含んで構成され、ＲＷＲ方式を適用して、蓄積した上記検索履歴を利用した関連検索条件の抽出処理を実行する。上記グラフ管理部１２８は、クライアント１６０から検索要求を受信すると、関連検索条件を抽出するために、この新たな検索条件のノードを状態遷移グラフに追加して新規検索要求に適合させて更新し、この更新済みの状態遷移グラフの隣接行列を規格化処理部１３８へと渡す。
【００４７】
図７は、第１の実施形態による隣接行列のデータ構造を示す図である。図７に示す隣接行列は、検索条件ノードおよび関連文書ノードを、行および列に配したデータ構造となっており、リンク（ｑｉ→ｑｊ）の重み値、リンク（ｑｉ→ｖｄｊ）の重み値、リンク（ｖｄｉ→ｑｊ）の重み値、リンク（ｖｄｉ→ｖｄｊ）の重み値（＝０）を成分として構成されている。また、最後の行および列には、新たに要求された新規検索条件に対応する行ベクトルおよび列ベクトルがそれぞれ追加されている。図７に示す実施形態では、新規検索条件ノードと、過去の検索条件ノードとのリンク（ｑｎｅｗ→ｑｊ；ｑｉ→ｑｎｅｗ）の重み値が「０」であり、一方、新規検索条件ノードと履歴に含まれる関連文書ノードとのリンク（ｑｎｅｗ→ｖｄｊ；ｖｄｉ→ｑｎｅｗ）には、ある重み値が与えられている。リンク（ｑｎｅｗ→ｖｄｊ；ｖｄｉ→ｑｎｅｗ）の重み値は、例えば、検索履歴に含まれる関連文書の中から新規検索条件にて全文検索した場合に得られるランキングスコアを利用することができ、また所定の閾値以下のスコアを有する関連文書との重み値を「０」に設定することもできる。
【００４８】
再び図３を参照すると、規格化処理部１３８は、隣接行列の各行の総和を１となるよう規格化し、規格化済みの隣接行列をＲＷＲ計算部１４０へ渡す。ＲＷＲ計算部１４０は、規格化済みの隣接行列にＲＷＲ方式を適用して、新たに要求された検索条件と、過去の検索条件との間の関連度を計算する。ＲＷＲ方式では、隣接行列Ａに対し、リスタート・ベクトルＶを繰り返し適用して、得られる定常状態のベクトルＵＳＳを求める。このベクトルＵＳＳには、新規検索条件ノードｑｎｅｗと、過去の各検索条件ノードｑｉとの関連度を成分として含まれることとなる。
【００４９】
以下、図８および図９を参照して、ＲＷＲ方式による関連度計算処理の詳細について説明する。図８は、第１の実施形態による隣接行列Ａ、リスタート・ベクトルＶ、および定常状態のベクトルＵｓｓを模式的に例示している。リスタート・ベクトルＶは、新規検索条件に対応する成分が１である他、他の成分が０であるベクトルである。また隣接行列Ａの行および列には、検索条件ノードｑｉに対応する検索条件Ｑｉ、および関連文書ノードｖｄｉに対応する関連文書Ｖｉが示されている。図９は、第１の実施形態のＷｅｂサーバ１２０が実行するＲＷＲ方式による関連度計算処理を示すフローチャートである。図９に示す処理は、規格化処理部１３８から規格化済みの隣接行列Ａを渡されて、ステップＳ２００から開始される。
【００５０】
ステップＳ２０１では、ＲＷＲ計算部１４０は、まず、初期値のベクトルＵ０としてリスタート・ベクトルＶを与える。ステップＳ２０２では、ＲＷＲ計算部１４０は、所与の定数ｃ、隣接行列Ａ、リスタート・ベクトルＶ、次のベクトルＵｉ＋１、および現在のベクトルＵｉを用いて表される下記式、
【００５１】
【数４】
2010061178.tif 000006
に従って、現在の現在のベクトルＵｉから次のベクトルＵｉ＋１を算出する。ステップＳ２０３では、ベクトルＵｉとベクトルＵｉ＋１との差のノルム（＝｜Ｕｉ＋１−Ｕｉ｜）、より具体的には距離を算出し、ノルムが所定の閾値以下となり、収束したか否かを判定する。
【００５２】
ステップＳ２０３で、収束していないと判定された場合（ＮＯ）には、ステップＳ２０４へ処理を進める。ステップＳ２０４では、イタレーションの回数ｉが、所定の打ち切り限度を越えたか否かを判定する。ステップＳ２０４で、未だ打ち切り限度を越えていないと判定された場合（ＮＯ）には、ステップＳ２０５へ処理を進めて、ｉを加算し、ステップＳ２０２へと再びループさせる。
【００５３】
一方、ステップＳ２０３で、収束したと判定された場合（ＹＥＳ）には、ステップＳ２０６へ処理を進めて、処理を終了させる。同様に、ステップＳ２０４で、打ち切り限度を超えたと判定された場合（ＹＥＳ）には、ステップＳ２０６へ処理を進めて、処理を終了させる。ステップＳ２０４の判定によって、所定回数以上のイタレーションが行われても充分に収束しない場合にでも処理を終了させることができる。そして、ステップＳ２０３またはＳ２０４からループを出たとき、最後に算出されたベクトルＵｉ＋１が、定常状態のベクトルＵＳＳとして与えられる。図８に示すように、ベクトルＵＳＳは、新規検索条件Ｑｎｅｗに対する、検索履歴中の過去の検索条件Ｑｉおよび過去の関連文書Ｖｉの関連度を成分として含んでいる。
【００５４】
再び図３を参照すると、ＲＷＲ計算部１４０は、得られた定常状態のベクトルＵＳＳを関連条件抽出部１４２へ渡す。関連条件抽出部１４２は、得られたベクトルＵＳＳの成分である関連度に従って、検索条件Ｑｉをソーティングし、関連度が上位の関連検索条件のリスト（以下、関連検索条件リストとして参照する。）を、その内容および関連度とともに照会処理部１４４を経由して検索結果応答部１４６へ渡す。
【００５５】
関連検索条件リストを得て検索結果応答部１４６は、取得した文書リストを含む照会結果に従って当該検索要求に対する検索結果の応答データを生成する際に、関連条件抽出部１４２から取得した関連検索条件の表示および該関連検索条件による検索要求を指令するハイパーリンク情報を検索結果の応答データに含める。そして、検索要求に対する検索結果と関連検索条件の抽出結果との両方を含む応答データがクライアント１６０へ返信されることとなる。なお、本実施形態では、関連検索条件による検索要求を指令するハイパーリンク情報を応答データに含める構成として説明したが、他の実施形態では、関連検索条件による照会を実際に実施し、この検索結果をも応答データに含める構成を採用することもできる。
【００５６】
図１０は、第１の実施形態においてＷｅｂサーバ１２０より返信された応答データに従ってクライアント１６０のディスプレイ上に表示されるＧＵＩ画面を示す。図１０に示すＧＵＩ画面３１０は、図４（Ａ）に示したＧＵＩ画面３００で入力された検索条件を示すテキスト３１２と、検索履歴から抽出された過去の関連検索条件を示すテキスト３１４と、上記検索条件の検索結果に含まれる上位検索文書をサマリとともに一覧表示するテキスト３１６と、ＧＵＩ画面３００に戻るためのボタン３１８とを含んで構成される。テキスト３１４の各関連検索条件には、ハイパーリンクが付されており、該ハイパーリンクをクリックすることにより、関連検索条件を条件とした検索要求が容易に行えるように構成されている。図１０に示す例では、ＧＵＩ画面３１０には、オリジナルの検索条件として「電子図書館」が表示され、「電子図書館  マイライブラリ」「専門分野  文献検索」など、過去の関連する複数の検索条件が提示されている。なお、上記クリックに替えてリターンキーの押下など、別の動作により関連検索条件を条件とした検索要求が行えるよう構成することができることは、言うまでもない。
【００５７】
上述したように、上記第１の実施形態の文書検索システム１００における関連検索条件の抽出処理により、検索条件に含まれる単語自体の類似性のみならず、各検索条件と関連文書との対応付けから辿られる検索条件間の間接的な関係性が活用されて関連検索条件が抽出されることとなる。したがって、共通の単語を含まないような検索条件であっても、間接的な関係性が高いものであれば関連検索条件として抽出される可能性があり、過去の検索履歴をより有効に活用できるものと言える。また、第１の実施形態では、一度検索条件を入力することにより、当該検索条件による検索結果と当該検索条件に関係性の高い関連検索条件の抽出結果との両方が得られるため、検索履歴からの検索条件を抽出するための条件の別途入力が不要とされ、高いユーザ利便性が提供される。
【００５８】
また、検索結果から参照された文書を関連文書として履歴に記録するよう構成可能であるため、検索者が検索文書について登録の要否を判断し明示的に指定する手間を省くことが可能であり、ユーザ利便性高く関連度の精度を高めることができる。また、適合性フィードバックにより対話的に指定された関連文書を記録する他の実施形態でも、検索者に特別の心理的負担をかけることなく、容易に関連文書の登録を行うことが可能とされる。
【００５９】
しかしながら、第１の実施形態の隣接行列では、新規検索条件ノードと履歴中の関連文書ノードとのリンク（ｑｎｅｗ→ｖｄｊ；ｖｄｉ→ｑｎｅｗ）には、ある重み値が与えられている一方で、新規検索条件ノードと、過去の検索条件ノードとのリンク（ｑｎｅｗ→ｑｊ；ｑｉ→ｑｎｅｗ）の重み値は、「０」に設定されていた。そのため、新規検索条件と過去の検索条件とが、例え共通の単語を多く含んでいた場合でも、ＲＷＲ法による計算結果として得られる両者の関連度が低く計算され、この過去の検索条件が表示されない、または下位になってしまう蓋然性がある。以下、ＲＷＲ法の最終的な計算結果において、入力した検索条件と共通の単語をより多く含む過去の検索条件との間の関連度が高くなるよう構成される、第２の実施形態の文書検索システム１００について説明する。
【００６０】
第２の実施形態による文書検索システムは、隣接行列のデータ構造以外の構成は、第１の実施形態の文書検索システムと同一であるため、説明の便宜上、隣接行列以外の構成についての説明は割愛する。図１１は、第２の実施形態における隣接行列のデータ構造を示す図である。図１２は、第２の実施形態による隣接行列Ａ、リスタート・ベクトルＶ、および定常状態のベクトルＵｓｓを模式的に例示する図である。図１１および図１２に示す隣接行列は、第１の実施形態と同様に、検索条件ノードおよび関連文書ノードを行および列に配したデータ構造となっており、最後の行および列には、新規検索条件に対応する行ベクトルおよび列ベクトルがそれぞれ追加されている。第２の実施形態のデータ構造では、新規検索条件ノードと履歴中の関連文書ノードとのリンク（ｑｎｅｗ→ｖｄｊ；ｖｄｉ→ｑｎｅｗ）に加えて、新規検索条件ノードと、過去の検索条件ノードとのリンク（ｑｎｅｗ→ｑｊ；ｑｉ→ｑｎｅｗ）の重み値が与えられている。リンク（ｑｎｅｗ→ｑｊ；ｑｉ→ｑｎｅｗ）の重み値は、過去の検索条件間のリンク（ｑｉ→ｑｊ）と同様に、例えば、上記式（３）のｑｉをｑｎｅｗに読み替えて表現されるような検索文書の含有する単語の類似度ＣｏｎｔＳｉｍ（ｑｎｅｗ，ｑｊ）を用いて算出することができる。
【００６１】
図１１に示す第２の実施形態の隣接行列のデータ構造を用いた関連条件の抽出処理により、検索者の検索目的に応じて自然なランク付けの関連検索条件の抽出結果を提示することが可能となる。例えば、新規検索条件として「電子図書館」が入力された場合、関連する過去の検索条件が、含有する単語の類似度の高い順、図１０に示す例では、「電子図書館  マイライブラリ」、「図書館評価」、「電子ジャーナル」、「専門分野  文献検索」、「図書館ポータル  利用状況」といった順に表示されることとなり、「電子図書館」をそのまま含む「電子図書館  マイライブラリ」が上位に表示されることとなる。つまり、利用者の最大の関心対象である「電子図書館」をそのまま含む検索条件が上位にランクされるようになる。
【００６２】
以下、検索者に関する情報を含む検索履歴を活用して関連検索条件を抽出する第３の実施形態による文書検索システムについて説明する。第３の実施形態の文書検索システムの概略構成および各装置のハードウェア構成は、第１の実施形態の文書検索システムと同一であるため、説明は割愛する。
【００６３】
図１３は、第３の実施形態による文書検索システム１００の機能ブロックを示す。図１３に示す文書検索システム１００は、クライアント１６０のログイン手続部１６２と、Ｗｅｂサーバ１２０の新規ユーザ判定部１５０、検索条件ノード付加部１５２およびユーザ・ノード付加部１５４からなる機能構成１４８を、図３と相違する部分として含んで構成されている。なお、図１３に示す機能部のうち、図３に示したものと同様の機能を有するものについては、同一符号を付し、詳細な説明は省略する。
【００６４】
ログイン手続部１６２は、ユーザ名およびパスワードの入力を求めてシステムに対しログイン手続処理を実行する。クライアント１６０とＷｅｂサーバ１２０との間のメッセージ交換は、クッキーなどによってセッション管理されており、第３の実施形態のＷｅｂサーバ１２０は、検索者であるユーザを識別可能とされている。なお、第３の実施形態では、パスワードを伴わないゲストユーザのログインを許可するよう構成することもできる。検索条件が入力され、ＧＵＩを介した検索指示を受けると、検索条件入力部１６４は、入力された検索条件と、ユーザを識別する情報とを含む検索要求をＷｅｂサーバ１２０へ送信する。
【００６５】
ここで、図４を参照して、第３の実施形態において検索要求のために用いられるＧＵＩ画面について説明する。図４（Ｂ）に示すＧＵＩ画面３３０は、第３の実施形態の文書検索システムにおける検索要求を発行するためのＧＵＩを提供し、ログイン手続後に表示され、検索条件を入力するためのテキスト・ボックス３３２と、検索要求を指示するための検索ボタン３３４と、ログアウトするためのログアウト・ボタン３３６とを含んで構成される。
【００６６】
再び図１３を参照すると、第３の実施形態の検索履歴記録部１２２は、検索条件入力部１６４から送信された検索要求に含まれる検索条件と、ユーザ識別値と、該検索条件による検索結果に含まれる検索文書とを相互に関連付けて検索履歴格納部１１４へ記録する。ここで図５を参照して、第３の実施形態の検索履歴の詳細について説明する。図５（Ｂ）に示す検索履歴テーブル２１０は、第１の実施形態と同様に、検索条件ＩＤが入力されるフィールド２１０ａと、検索条件の内容が入力されるフィールド２１０ｃと、検索文書の文書ＩＤのセットが入力されるフィールド２１０ｄと、関連文書の文書ＩＤのセットが入力されるフィールド２１０ｅとを含む。第３の実施形態の検索履歴テーブル２１０は、さらに、該検索条件の検索者を識別するユーザＩＤが入力されるフィールド２１０ｂを含んで構成され、検索条件と、ユーザと、関連文書の集合と、検索文書の集合とを関連付けている。
【００６７】
再び図１３を参照すると、第３の実施形態のグラフ・テーブル編成部１２４は、時系列データとして構成される検索履歴テーブル２１０を検索履歴格納部１１４から読み出して、検索条件ノード・テーブルおよび関連文書ノード・テーブルに加え、検索者ユーザ毎に整理されて構成されるユーザ・ノード・テーブルを作成し、グラフ・テーブル格納部１１２へ格納する。第３の実施形態では、状態遷移グラフの各ノードは、検索条件ＩＤ、文書ＩＤ、およびユーザＩＤにより識別されることとなる。そして、第３の実施形態のグラフ・テーブル編成部１２４は、同一ユーザから短期間に頻発して要求された検索要求などの異常な履歴エントリや、同一ユーザからの内容が同一の重複する履歴エントリなど、不要なエントリを適宜除去して、状態遷移グラフに追加するべき履歴エントリを取捨選択しつつ、上記テーブル・セットを作成する。
【００６８】
以下、第３の実施形態の文書検索システム１００におけるグラフ構築部１２６の機能について説明する。グラフ構築部１２６は、第３の実施形態では、検索条件のノード、関連文書のノードに加えて、ユーザのノードを含む状態遷移グラフを構築する。以下、図１４を参照して、第３の実施形態における状態遷移グラフの構築処理の詳細について説明する。
【００６９】
図１４は、第３の実施形態によるＷｅｂサーバ１２０が実行する状態遷移グラフ構築処理を示すフローチャートである。図１４に示す処理は、例えば起動時にサーバ起動部１３２から呼び出されて、ステップＳ３００から開始される。ステップＳ３０１では、グラフ構築部１２６は、グラフ・テーブル格納部１１２への接続を確立する。ステップＳ３０２では、グラフ構築部１２６は、検索条件ノード・テーブル、ユーザ・ノード・テーブルおよび関連文書ノード・テーブルを読み出して、検索条件ノードｑｉのセット、ユーザ・ノードｕｉのセット、および関連文書ノードｖｄｉのセットからなる状態遷移グラフを構成する。ステップＳ３０２では、より具体的には、検索条件ノードｑｉ、ユーザ・ノードｕｉ、および関連文書ノードｖｄｉからなるノード・セットを行および列に配した隣接行列が準備される。
【００７０】
ステップＳ３０３では、グラフ構築部１２６は、各ユーザ・ノード間のリンク（ｕｉ→ｕｊ）の重み値を計算する。このリンク（ｕｉ→ｕｊ）の重み値は、検索者ユーザ間の関係性を表し、検索者により入力された過去の検索条件が検索者の興味を好適に反映しているものとして、上記式（３）と同様に算出される各検索者ユーザの過去の検索条件の内容が含有する単語の類似度を用いて算出することができる。その他、システムがユーザ・プロファイルとして保持する検索者ユーザの所属、ブックマーク情報、ＲＳＳフィーダ情報などを用いて、上記重み値を算出することができる。例えば、検索者が同じ研究室に属していた場合に、対応するユーザ・ノード間の重みを「０．９」とし、研究室が相違していても学科が同一であれば「０．６」とし、学科が相違していても学部が同一であれば０．３とし、学部も相違すれば０とする、というように設定することができる。
【００７１】
ステップＳ３０４では、グラフ構築部１２６は、第１の実施形態と同様に、対応する検索結果に含まれる検索文書の重複度ＯｂｊＦｅｅｄＳｉｍ（ｑｉ，ｑｊ）、対応する関連文書の重複度ＳｕｂＦｅｅｄＳｉｍ（ｑｉ，ｑｊ）、および検索条件の内容に含まれる単語の類似度ＣｏｎｔＳｉｍ（ｑｉ，ｑｊ）、またはこれらの少なくとも１つを用いて、各検索条件ノード間のリンク（ｑｉ→ｑｊ）の重み値を計算する。
【００７２】
ステップＳ３０５では、グラフ構築部１２６は、検索条件ノードとユーザ・ノードとの間のリンク（ｑｉ→ｕｊ）の重み値を計算する。このリンク（ｑｉ→ｕｊ）の重み値は、各検索条件と検索者ユーザとの間の関係性を表し、例えば、検索条件と該検索条件による検索要求を行った検索者ユーザとの間の値を「１」に設定し、それ以外の場合に「０」に設定することができる。
【００７３】
ステップＳ３０６では、グラフ構築部１２６は、ユーザ・ノードと関連文書ノードとの間のリンク（ｕｉ→ｖｄｊ）の重み値を計算する。このリンク（ｕｉ→ｖｄｊ）の重み値は、各検索者ユーザと関連文書との間の関係性を表し、例えば、各検索者により検索結果から参照された関連文書と該検索者ユーザとの間の値を「１」に設定し、参照関係に無い関連文書と検索者ユーザとの間の値を「０」に設定することができる。
【００７４】
ステップＳ３０７では、グラフ構築部１２６は、第１の実施形態と同様に、関連文書と検索条件との参照関係の有無から、検索条件ノードと関連文書ノードとの間のリンク（ｑｉ→ｖｄｊ）の重み値を計算する。その他、参照関係のある関連文書および検索条件において、検索結果における関連文書のランキングスコアを適宜規格化した値を当該重み値として採用してもよい。
【００７５】
ステップＳ３０８では、上記ユーザ・ノード間のリンク（ｕｉ→ｕｊ）の重み値、上記検索条件ノード間のリンク（ｑｉ→ｑｊ）の重み値、検索条件ノードおよびユーザ・ノード間のリンク（ｕｉ→ｑｊ）の重み値、ユーザ・ノードおよび関連文書ノード間のリンク（ｕｉ→ｖｄｊ）の重み値、および検索条件ノードおよび関連文書ノード間のリンク（ｑｉ→ｖｄｊ）の重み値を用い、逆向きのリンクの重み値が同一であるものとして、また関連文書ノード間のリンク（ｖｄｉ→ｖｄｊ）の重み値が「０」であるものとして、準備された隣接行列の成分にこれら重み値を入力して、状態遷移グラフを表現する隣接行列を生成し、ステップＳ３０９で処理を終了させる。
【００７６】
再び図１３を参照すると、第３の実施形態の文書検索システム１００では、入力された検索条件と、検索者ユーザを識別する情報とを含む検索要求を検索条件入力部１６４から受信すると、上記新規ユーザ判定部１５０は、当該検索者ユーザが既に状態遷移グラフの中に組み込まれているか否かを判定する。
【００７７】
検索者ユーザが既に状態遷移グラフ中に存在していた場合には、検索条件ノード付加部１５２のみが呼び出される。この場合、検索条件ノード付加部１５２は、第１の実施形態の文書検索システム１００と同様に、上記グラフ管理部１２８に対し、この新たな検索条件のノードを状態遷移グラフに追加させて更新する。一方、検索者ユーザが状態遷移グラフ中に存在していない場合には、検索条件ノード付加部１５２とともにユーザ・ノード付加部１５４が呼び出される。この場合、検索条件ノード付加部１５２は、第１の実施形態の文書検索システム１００と同様に、上記グラフ管理部１２８に対し、新たな検索条件のノードを追加させるとともに、ユーザ・ノード付加部１５４は、新たな検索者ユーザのノードを状態遷移グラフに追加させる。
【００７８】
図１５は、第３の実施形態による隣接行列のデータ構造を示す図である。図１５に示す隣接行列は、検索条件ノード、ユーザ・ノードおよび関連文書ノードを行および列に配したデータ構造となっており、リンク（ｑｉ→ｑｊ）の重み値、リンク（ｑｉ→ｖｄｊ：ｖｄｉ→ｑｊ）の重み値に加えて、リンク（ｕｉ→ｕｊ）の重み値、リンク（ｑｉ→ｕｊ：ｕｉ→ｑｊ）の重み値、リンク（ｕｉ→ｖｄｊ：ｖｄｉ→ｕｊ）の重み値を成分として構成されている。また、最後の行および列のそれぞれには、新規検索条件および新規ユーザに対応する行ベクトルおよび列ベクトルのセットが追加されている。
【００７９】
図１５に示すデータ構造では、新規検索条件ノードと履歴中の関連文書ノードとのリンク（ｑｎｅｗ→ｖｄｊ；ｖｄｉ→ｑｎｅｗ）、新規検索条件ノードおよび過去の検索条件ノードのリンク（ｑｎｅｗ→ｑｊ；ｑｉ→ｑｎｅｗ）に加えて、新規ユーザ・ノードと既存のユーザ・ノードとのリンク（ｕｎｅｗ→ｕｊ；ｕｉ→ｕｎｅｗ）の重み値が与えられている。リンク（ｕｎｅｗ→ｕｊ；ｕｉ→ｕｎｅｗ）の重み値は、既存のユーザ・ノード間のリンク（ｕｉ→ｕｊ）と同様に、上記式（３）と同様に算出される新規ユーザの当該検索条件と、既存のユーザの過去の検索条件の内容自体に含まれる単語の類似度、検索者ユーザの所属、ブックマーク情報、ＲＳＳフィーダ情報などのユーザ・プロファイルを用いて算出することができる。また、適当な情報が無い場合には、リンク（ｕｎｅｗ→ｕｊ；ｕｉ→ｕｎｅｗ）の重み値をすべて「０」に設定することもできる。
【００８０】
図１６は、第３の実施形態による隣接行列Ａ、リスタート・ベクトルＶ、および定常状態のベクトルＵｓｓを模式的に例示している。リスタート・ベクトルＶは、第１の実施形態のデータ構造と同様に、新規検索条件に対応する成分が１である他、他の成分が０であるベクトルである。また隣接行列Ａの行および列には、検索条件ノードｑｉに対応する検索条件Ｑｉ、ユーザ・ノードｕｉに対応するユーザＵｉ、および関連文書ノードｖｄｉに対応する関連文書Ｖｉが示されている。第３の実施形態の文書検索システムでは、図１６に示す隣接行列Ａが規格化処理部１３８へ渡されて規格化され、さらにＲＷＲ計算部１４０へ渡される。ＲＷＲ計算部１４０は、規格化済みの隣接行列ＡにＲＷＲ方式を適用して、図９に示すフローチャートと同様の処理によって、新規検索条件と、過去の検索条件との間の関連度を計算する。ＲＷＲ方式を適用して得られたベクトルＵＳＳは、図１６に示すように、新規検索条件Ｑｎｅｗに対する過去の検索条件Ｑｉ、既存のユーザＵｉおよび過去の関連文書Ｖｉの関連度を成分として含んでいる。
【００８１】
関連検索条件リストを得て検索結果応答部１４６は、上述したように、関連検索条件の表示および該関連検索条件による検索要求を指令するハイパーリンク情報を検索結果の応答データに含めて生成する。第３の実施形態では、検索結果応答部１４６は、その際さらに、本検索要求の検索者ユーザと関連付けられている条件をユーザ自身の過去の関連検索条件とし、本検索要求のユーザに関連付けられていない条件を、他の人の過去の関連検索条件として、区別して表示されるように上記応答データを構成する。そして、検索要求に対する検索結果と、自他で区分された関連検索条件の抽出結果の両方を含む応答データがクライアント１６０へ返信されることとなる。
【００８２】
図１７は、第３の実施形態においてＷｅｂサーバ１２０より返信された応答データに従ってクライアント１６０のディスプレイ上に表示されるＧＵＩ画面を示す。図１７に示すＧＵＩ画面３２０は、図４に示したＧＵＩ画面３００で入力された検索条件を示すテキスト３２２と、検索履歴から抽出された当該検索者の過去の関連検索条件を示すテキスト３２４と、他の検索者の過去の関連検索条件を示すテキスト３２６と、検索結果に含まれる上位検索文書をサマリとともに一覧表示するテキスト３２８と、ＧＵＩ画面３００に戻るためのボタン３２９とを含んで構成される。図１７に示す例では、ＧＵＩ画面３２０には、オリジナルの検索条件として「電子図書館」が表示され、検索者自身の過去の検索条件として「電子図書館  マイライブラリ」「専門分野  文献検索」が提示され、他の人の過去の関連検索条件として、「図書館評価」や「図書館ポータル  利用状況」「電子ジャーナル」が提示されている。なお、他の実施形態では、さらに、ユーザが属するグループ情報などに従って、グループの他メンバの過去の関連検索条件を、さらに区別して提示することもできる。なお、第３の実施形態の文書検索システム１００では、ゲストユーザにてログインされていた場合には、図１７に示すＧＵＩ画面３２０において、テキスト３２４が表示されず、他の人の過去の関連検索条件を示すテキスト３２６のみが表示されることとなる。
【００８３】
上述したように、第３の実施形態の文書検索システムにおける関連検索条件の抽出処理により、検索要求を行った検索者に関する情報を活用して、新規検索条件と過去の検索条件との関連度を算出するため、その検索者の興味や関心を反映した関連検索条件を抽出することが可能となる。例えば、過去において異なる検索者が同一の検索条件を用いて検索した場合であっても、それぞれ異なる文書を関連文書として参照または指定する可能性があるため、当該抽出処理によれば、検索要求した検索者の相違も応答して関連度が算出され、得られる関連検索条件も異なることとなる。したがって、その検索者の興味や関心を反映した関連検索条件を抽出することが可能となる。また、第３の実施形態では、当該検索者の過去の検索条件と、他の検索者の過去の検索条件とが識別可能に提示されるため、検索者は、自身の検索目的に合致した関連検索条件を容易に認識することができる。例えば、自身の過去の検索行動や思考を想起したい場合には、自身の過去の検索条件を見ればよく、自身の発想を広げたい場合には、他の人の関連検索条件を参照すればよい。
【００８４】
上述までの実施形態では、検索条件ノードと関連文書ノードとの間のリンク（ｑｉ→ｖｄｊ）の重み値は、各検索条件の検索結果から参照された関連文書と該検索条件との間の値を「１」に設定し、参照関係に無い関連文書と検索条件との間の値を「０」に設定するものとして説明してきた。しかしながら、検索条件と関連文書との関連性としては、参照関係の有無のみならず、種々の信頼性の程度を有する文書を定義付けることができる。例えば、ユーザが単に検索結果から参照した参照文書と、適合性フィードバックにおいてユーザが適合するものと指定した適合文書、詳細な書誌情報を参照した後に適合するものとしてユーザが明示的に指定した指定文書とでは、検索者ユーザの興味や関心の程度が異なり、これらの関連情報と検索条件との間の関連性に対する信頼性は、相違するものと考えられる。
【００８５】
以下、参照関係の有無のみならず、上記の参照文書、適合文書および指定文書の別に応じて求められるリンク（ｑｉ→ｖｄｊ）の重み値を用いる第４の実施形態の文書検索システム１００について説明する。第４の実施形態の文書検索システムの概略構成および各装置のハードウェア構成は、第１の実施形態の文書検索システムと同一であるため、説明は割愛する。また、第４の実施形態の文書検索システムの機能ブロックは、第１の実施形態と同様であるため、図３を再び参照して、第４の実施形態による文書検索システム１００の機能ブロックについて説明する。なお、図３に示す機能部のうち、第１および第２の実施形態と同様の機能を有するものについては、詳細な説明は省略し、相違点を中心として説明する。
【００８６】
第４の実施形態の検索結果応答部１４６は、検索要求に応答して、その検索結果の応答データを生成して、クライアント１６０へ返信する。このとき、第４の実施形態の応答データには、例えばチェックボックスなど、検索文書の中から適合性フィードバックによる適合文書を指定するためのＧＵＩ部品、適合文書を用いた再検索を指示するためのＧＵＩ部品の表示指令が含められている。クライアント１６０の結果表示部１６６は、受信した応答データに従って、適合文書を指定するためのＧＵＩ部品、および適合文書を用いた再検索を指令するためのＧＵＩ部品を含む検索結果を画面表示する。
【００８７】
図１８は、第４の実施形態においてＷｅｂサーバ１２０より返信された応答データに従ってクライアント１６０のディスプレイ上に表示されるＧＵＩ画面を示す。図１８に示すＧＵＩ画面３４０は、例えば図４（Ａ）に示したＧＵＩ画面３００で入力された検索条件を示すテキスト３４２と、検索履歴から抽出された過去の関連検索条件を示すテキスト３４４と、上記検索条件の検索結果に含まれる上位検索文書を、適合文書として指定するためのチェックボックス３５２ａ〜ｅおよびサマリとともに一覧表示する結果リスト３４６と、ＧＵＩ画面３００に戻るためのボタン３４８と、指定された適合文書を用いた再検索を指令するための再検索ボタン３５０とを含んで構成される。再検索ボタン３５０がクリックされると、結果表示部１６６は、適合文書の指定を含めてＷｅｂサーバ１２０へ適合性フィードバックによる再検索の要求を発行する。
【００８８】
適合性フィードバックによる再検索の要求を受領したＷｅｂサーバ１２０では、照会処理部１４４が、指定された適合文書に含まれるキーワードで検索条件を拡張してインデックス・データベース１１６に照会するとともに、指定された適合文書のリストを検索履歴記録部１２２へ報告する。検索履歴記録部１２２は、先の検索要求に含まれる検索条件と、報告された適合文書とを相互に関連付けて検索履歴格納部１１４へ記録する。一方、検索結果応答部１４６は、二次検索結果として拡張された検索条件に該当する検索文書の文書のリストを取得し、二次検索結果の文書リストを検索履歴記録部１２２へ報告する。検索履歴記録部１２２は、先の検索要求に含まれる検索条件と、報告された二次検索結果に含まれる文書とを相互に関連付けて検索履歴格納部１１４へ記録することができる。
【００８９】
図１８に示すＧＵＩ画面３４０の結果リスト３４６にリストアップされる各上位検索文書には、その詳細な書誌情報を表示させるためのハイパーリンクが付されている。結果表示部１６６は、ＧＵＩを介して検索者からの検索文書の詳細な書誌情報の参照の指示を受けた場合、文書表示部１６８を呼び出す。呼び出された文書表示部１６８は、指定された検索文書の詳細な書誌情報へアクセスするとともに、当該検索文書が参照された旨の報告をＷｅｂサーバ１２０へ送信する。報告を受けて検索履歴記録部１２２は、検索条件に対し、さらに参照文書をさらに関連付けて記録する。
【００９０】
図１９は、第４の実施形態において、クライアント１６０のディスプレイ上に表示される指定文書を指定するためのＧＵＩ画面を示す。図１９に示すＧＵＩ画面３６０は、詳細な書誌情報を示すテキスト３６６、図１８に示すＧＵＩ画面３４０に戻るための戻るボタン３６４と、さらに、適合する文書であるとして明示的に指定するためのチェックボックス３６２とを含んで構成される。戻るボタン３６４がクリックされると、結果表示部１６６は、チェックボックス３６２に対するチェックの有無を参照文書に関連付けて、Ｗｅｂサーバ１６８へ報告する。報告を受けてＷｅｂサーバ１２０の検索履歴記録部１２２は、チェックが有りの場合には、当該参照文書を明示的に適合すると指定された指定文書として、当該検索条件に対しさらに関連付けて記録する。
【００９１】
つまり、第４の実施形態のＷｅｂサーバ１２０は、新たに要求された検索条件に対して、ユーザが検索結果から参照した参照文書と、適合性フィードバックにおいてユーザが適合するものと指定した適合文書、詳細な書誌情報の表示から適合するものとしてユーザが明示的に指定した指定文書とを区別して関連付ける。その他、指示された適合文書を用いて拡張された二次検索結果に含まれる文書をさらに区別して関連付けても良い。
【００９２】
ここで、図２０を参照して、第４の実施形態における検索履歴の詳細について説明する。図２０は、第４の実施形態による検索履歴のデータ構造を示す。図２０に示す検索履歴テーブル２２０は、第１の実施形態と同様に、検索条件を識別する検索条件ＩＤが入力されるフィールド２２０ａと、検索条件の内容が入力されるフィールド２２０ｂとを含んで構成される。また、検索履歴テーブル２２０は、検索結果として上位にヒットした検索文書の文書ＩＤのセットが入力されるフィールド２２０ｃと、検索結果から参照された参照文書の文書ＩＤのセットが入力されるフィールド２２０ｄと、適合性フィードバックによる再検索のために指定された適合文書の文書ＩＤのセットが入力されるフィールド２２０ｅと、詳細な書誌情報の表示から明示的に指定された指定文書の文書ＩＤのセットが入力されるフィールド２２０ｆとを含んで構成され、検索条件と、検索文書の集合と、関連文書の集合とを、該関連情報の種別を区別してさらに関連付けている。
【００９３】
第４の実施形態のグラフ・テーブル編成部１２４は、時系列データとして構成される上記検索履歴を検索履歴格納部１１４から読み出して、状態遷移グラフを構成するためのテーブル・セットを作成して、グラフ・テーブル格納部１１２へ格納する。ここで、再び図６を参照して、第４の実施形態における状態遷移グラフの構築処理の詳細について説明する。なお、ステップＳ１０４までの処理については、第１の実施形態と同様であるため、説明を割愛する。
【００９４】
第４の実施形態において、ステップＳ１０４では、グラフ構築部１２６は、検索条件ノードと関連文書ノードとの間のリンク（ｑｉ→ｖｄｊ）の重み値を計算する。このリンク（ｑｉ→ｖｄｊ）の重み値は、各検索条件と関連文書との間の関係性を表し、第４の実施形態においては、関連情報が、参照文書であるか、適合文書であるか、指定文書であるかの別に応じて求められる。
【００９５】
参照文書は、上述したように、検索結果の一覧に含まれる文書のタイトルあるいはサマリのみから判断されて、利用者が興味を持って詳細情報などを参照した文書である。しかしながら、利用者に与えられる情報が限定されているため、単に参照したというだけでは、関連度の程度という観点からは信頼性が低いものとなる。一方、適合文書は、適合性フィードバックのためにチェックボックスなどにより指定された文書である。少なくとも利用者が適合するものとして判断した文書であることから、参照文書と比較して、関連度の程度という観点からは信頼性が高いものとなる。しかしながら、より適合性の高い文書を検索するために、手頃な文書をとりあえず選択された場合もあるため、利用者の興味および関心には完全には適合していない可能性がある。これに対して、指定文書は、詳細な書誌情報を表示させた上で、チェックボックスなどにより明示的に適合するものとして指定された文書である。この指定文書は、利用者が適合するものとして判断し、陽に指定した文書であることから、適合文書と比較しても、関連度の程度という観点から信頼性が高いものといえる。
【００９６】
第４の実施形態において、ステップＳ１０４では、上述した参照文書、適合文書および指定文書の順に、重み値を大きく設定する。より具体的には、例えば、参照文書、適合文書、指定文書に対して、それぞれ「０．３」、「０．７」、「１．０」などの多値の重み値を与えるよう構成することができる。なお、参照文書、適合文書、指定文書に対して設定されるこれらの数値はあくまで一例であり、その他の値を設定することもできる。例えば、単に参照された文書は関連性がないものとして、参照文書にも「０」を設定してもよい。また、関連文書が複数の上記種別に属する場合には、値の大きい方の重み値を採用すればよい。ステップＳ１０５では、上記検索条件ノード間のリンク（ｑｉ→ｑｊ）の重み値、および検索条件ノードおよび関連文書ノード間のリンク（ｑｉ→ｖｄｊ）の重み値を用い、リンク（ｖｄｉ→ｑｊ）の重み値がリンク（ｑｉ→ｖｄｊ）と同一であるものとして、また関連文書ノード間のリンク（ｖｄｉ→ｖｄｊ）の重み値が「０」であるものとして、準備された隣接行列の成分にこれら重み値を入力して、状態遷移グラフを表現する隣接行列を生成し、グラフ記憶部１３０へ格納し、ステップＳ１０６で処理を終了させる。
【００９７】
上述したように、第４の実施形態のＷｅｂサーバ１２０は、新たに要求された検索条件に関連する関連検索条件を抽出するために、要求された検索条件と、該検索条件による検索文書と、参照文書と、適合文書と、指定文書とを対応付けて検索履歴として記録し、この検索条件に対応するノード、および関連文書に対応するノードからなる状態遷移グラフを予め構成しておく。新たな検索要求があった場合には、Ｗｅｂサーバ１２０は、第１の実施形態について説明したように、状態遷移グラフを用いて関連検索条件の抽出処理を実行する。
【００９８】
再び図３を参照すると、第４の実施形態のＷｅｂサーバ１２０は、作成された状態遷移グラフを用いて、ＲＷＲ方式を適用して、蓄積した上記検索履歴を利用した関連検索条件の抽出処理を実行する。上記グラフ管理部１２８は、クライアント１６０から検索要求を受信すると、関連検索条件を抽出するために、この新たな検索条件のノードを状態遷移グラフに追加して新規検索要求に適合させて更新し、この更新済みの状態遷移グラフの隣接行列を規格化処理部１３８へと渡す。
【００９９】
図２１は、第４の実施形態における隣接行列のデータ構造を示す図である。図２２は、第４の実施形態による隣接行列Ａ、リスタート・ベクトルＶ、および定常状態のベクトルＵｓｓを模式的に例示する図である。図２１および図２２に示す隣接行列は、第１の実施形態と同様に、検索条件ノードおよび関連文書ノードを行および列に配したデータ構造となっており、最後の行および列には、新規検索条件に対応する行ベクトルおよび列ベクトルがそれぞれ追加されている。第４の実施形態のデータ構造では、リンク（ｖｄｉ→ｑｊ）およびリンク（ｑｉ→ｖｄｊ）に、「０」および「１」以外の多値の重みが入力されている様子が示されている。つまり、第４の実施形態では、単に参照された参照文書よりも適合文書の関連性が強化され、適合文書よりも指定文書の関連性が強化されて、状態遷移グラフが構成され、関連検索条件の検索に用いられることとなる。
【０１００】
再び図３を参照すると、規格化処理部１３８は、隣接行列の各行の総和を１となるよう規格化し、規格化済みの隣接行列をＲＷＲ計算部１４０へ渡し、ＲＷＲ計算部１４０は、規格化済みの隣接行列にＲＷＲ方式を適用して、新たに要求された検索条件と、過去の検索条件との間の関連度を計算する。ＲＷＲ方式による関連度計算処理の詳細については、第１の実施形態と同様であるため、詳細な説明は割愛する。
【０１０１】
図２１に示す第４の実施形態の隣接行列のデータ構造を用いた関連条件の抽出処理により、参照文書であるか、適合文書であるか、または指定文書であるかといった、関連文書の種別による関連性の信頼度の相違を、関連文書および検索条件のノード間の重み付けの値の相違として取り込み、検索者ユーザの興味や関心を、より反映した過去の検索条件を容易に抽出可能とし、抽出の精度を高めることができる。
【０１０２】
なお、関連文書の種別としては、上述した参照文書、適合文書、指定文書に特に限定されるものではない。他の実施形態では、適合文書から再検索される文書を種別に含むことができ、またユーザに対して文書に対する重要度を指定させ、該重要度に対応させて関連文書の種別を区別してもよい。また、同様に第３の実施形態におけるリンク（ｑｉ→ｖｄｊ：ｖｄｉ→ｑｊ）の重み値を求める際に、第４の実施形態の構成を採用することもできる。
【０１０３】
以上説明したように、上述までの実施形態によれば、検索者自身や他の検索者の過去の検索経験が適切に反映された関連の検索条件を効率的に抽出し、検索者に手間をかけることなく、その興味、関心および検索目的に適合した過去の検索条件を容易に再利用可能とする情報処理装置、情報検索システム、情報処理方法およびプログラムを提供することが可能となる。なお、上述までの実施形態では、文書を検索対象とする文書検索システム１００を用いて説明してきたが、検索対象は、文書に限られるものではなく、画像データ、マルチメディア・データ等の種々のコンテンツを対象とすることができる。その際には、これらの検索対象のデータは、好適には、テキスト情報をメタ情報として含むことができる。
【０１０４】
また上記機能は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して頒布することができる。
【０１０５】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【０１０６】
【図１】第１の実施形態による文書検索システムを示す概略図。
【図２】第１の実施形態によるＷｅｂサーバ１２０のハードウェア構成を示す図。
【図３】第１の実施形態による文書検索システム１００の機能ブロック図。
【図４】クライアントのディスプレイ上に表示されるＧＵＩ画面を示す図。
【図５】検索履歴のデータ構造を示す図。
【図６】第１の実施形態による状態遷移グラフ構築処理を示すフローチャート。
【図７】第１の実施形態による隣接行列のデータ構造を示す図。
【図８】第１の実施形態による隣接行列Ａ、リスタート・ベクトルＶ、および定常状態のベクトルＵｓｓを模式的に例示する図。
【図９】第１の実施形態によるＲＷＲ方式による関連度計算処理を示すフローチャート。
【図１０】第１の実施形態においてクライアントのディスプレイ上に表示されるＧＵＩ画面を示す。
【図１１】第２の実施形態による隣接行列のデータ構造を示す図。
【図１２】第２の実施形態による隣接行列Ａ、リスタート・ベクトルＶ、および定常状態のベクトルＵｓｓを模式的に例示する図。
【図１３】第３の実施形態による文書検索システム１００の機能ブロック図。
【図１４】第３の実施形態による状態遷移グラフ構築処理を示すフローチャート。
【図１５】第３の実施形態による隣接行列のデータ構造を示す図。
【図１６】第３の実施形態による隣接行列Ａ、リスタート・ベクトルＶ、および定常状態のベクトルＵｓｓを模式的に例示する図。
【図１７】第３の実施形態においてクライアントのディスプレイ上に表示されるＧＵＩ画面を示す図。
【図１８】第４の実施形態においてクライアントのディスプレイ上に表示される検索結果のＧＵＩ画面を示す。
【図１９】第４の実施形態においてクライアントのディスプレイ上に表示される指定文書を指定するためのＧＵＩ画面を示す。
【図２０】第４の実施形態による検索履歴のデータ構造を示す図。
【図２１】第４の実施形態による隣接行列のデータ構造を示す図。
【図２２】第４の実施形態による隣接行列Ａ、リスタート・ベクトルＶ、および定常状態のベクトルＵｓｓを模式的に例示する図。
【符号の説明】
【０１０７】
１２…ＭＰＵ、１４…不揮発メモリ、１６…メモリ、１８…記憶制御用インタフェース、２０…ハードディスク、２２…内部バス、２４…インタフェース、２６…入出力装置、２８…ＶＲＡＭ、３０…グラフィック・チップ、３２…ディスプレイ装置、３４…ネットワークＩ／Ｆ（ＮＩＣ；Network Interface Card）、３４…ＮＩＣ、１００…文書検索システム、１１０…ＤＢサーバ、１１０ａ…データベース、１１２…グラフ・テーブル格納部、１１４…検索履歴格納部、１１６…インデックス・データベース、１２０…Ｗｅｂサーバ、１２２…検索履歴記録部、１２４…グラフ・テーブル編成部、１２６…グラフ構築部、１２８…グラフ管理部、１３０…グラフ記憶部、１３２…サーバ起動部、１３４…更新要求部、１３８…規格化処理部、１４０…ＲＷＲ計算部、１４２…関連条件抽出部、１４４…照会処理部、１４６…検索結果応答部、１４８…機能構成、１５０…新規ユーザ判定部、１５２…検索条件ノード付加部、１５４…ユーザ・ノード付加部、１６０…クライアント、１６２…ログイン手続部、１６４…検索条件入力部、１６６…結果表示部、１６８…文書表示部、１７０…ネットワーク、２００，２１０，２２０…検索履歴テーブル、３００，３３０…ＧＵＩ画面、３０２，３３２…テキスト・ボックス、３０４，３３４…検索ボタン、３３６…ログアウト・ボタン、３１０…ＧＵＩ画面、３１２…テキスト、３１４…テキスト、３１６…テキスト、３１８…ボタン、３２０…ＧＵＩ画面、３２２…テキスト、３２４…テキスト、３２６…テキスト、３２８…テキスト、３２９…ボタン、３４０…ＧＵＩ画面、３４２…テキスト、３４４…テキスト、３４６…結果リスト、３４８…ボタン、３５０…ボタン、３５２…チェックボックス、３６０…ＧＵＩ画面、３６２…チェックボックス、３６４…ボタン、３６６…テキスト
【図１】
2010061178.tif 000007
【図２】
2010061178.tif 000008
【図３】
2010061178.tif 000009
【図４】
2010061178.tif 000010
【図５】
2010061178.tif 000011
【図６】
2010061178.tif 000012
【図７】
2010061178.tif 000013
【図８】
2010061178.tif 000014
【図９】
2010061178.tif 000015
【図１０】
2010061178.tif 000016
【図１１】
2010061178.tif 000017
【図１２】
2010061178.tif 000018
【図１３】
2010061178.tif 000019
【図１４】
2010061178.tif 000020
【図１５】
2010061178.tif 000021
【図１６】
2010061178.tif 000022
【図１７】
2010061178.tif 000023
【図１８】
2010061178.tif 000024
【図１９】
2010061178.tif 000025
【図２０】
2010061178.tif 000026
【図２１】
2010061178.tif 000027
【図２２】
2010061178.tif 000028