(57)【要約】【課題】ユーザが常に必要な情報を的確に得ることができるよう検索アルゴリズムの自動チューニングを行う。【解決手段】クエリ文書に対して文書解析処理を行い（Ｓ１）、得られた単語をベースにして検索インデックスが作成される（Ｓ２）。当該検索インデックスを用いて、大量のデータを含むデータベース１０に対して文書の検索処理を行う（Ｓ３）。検索先側の処理として、メタデータの抽出のための文書解析（Ｓ０１）、検索インデックスの作成（Ｓ０２）が行われる。ステップＳ３の検索処理で得られた結果は、前記クエリを入力したユーザの端末装置にランキング表示される（Ｓ４）。ここで、ステップＳ４のランキング表示された文書の閲覧の程度を評価し、その評価結果に応じて各ユーザが望む文書がランキング表示の上位に表示されるよう、検索アルゴリズムを自動チューニングする（Ｓ５）。【選択図】図２
2010282402.tif 000002
【特許請求の範囲】
【請求項１】
検索対象となる多数の文書ファイルが記憶されたデータベースと、
所定のパラメータを有する検索アルゴリズムが搭載され、前記データベースに対して前記検索アルゴリズムを用いて前記文書ファイルの検索処理を行う検索手段と、
前記検索処理のためのクエリの入力を受け付ける入力手段と、
前記クエリでの検索処理によりヒットした文書ファイルのリストを、前記検索アルゴリズムでの合致度合いに応じた順位付けをして作成するリスト生成手段と、
前記リストを表示すると共に、前記リストのいずれかに選択指示が与えられたときに対応する文書ファイルの内容を表示し、選択終了指示が与えられたときに前記内容の表示を停止する表示手段と、
前記選択指示が与えられた後、前記選択終了指示が与えられるまでの前記表示手段への前記文書ファイルの表示時間を、前記文書ファイル単位で計測すると共に記憶する計時手段と、
前記表示時間を含む評価要素を参照して、前記文書ファイルのリストの前記順位付けが妥当であるか否かを判定する判定手段と、
前記判定手段により前記順位付けが妥当でないと判断されたときに、前記検索アルゴリズムのパラメータをチューニングするチューニング手段と、
を備えることを特徴とする検索システム。
【請求項２】
前記判定手段は、
前記評価要素に基づき前記リストの最上位にリストアップされるべき最上位文書ファイルを特定する特定部を有し、
前記最上位文書ファイルが、前記リスト生成手段が作成した文書ファイルのリストの最上位に位置しているか否かに基づいて、前記順位付けが妥当であるか否かを判定することを特徴とする請求項１に記載の検索システム。
【請求項３】
前記判定手段は、前記文書ファイルの前記表示時間を、当該文書ファイルを構成する文字数で除して得られる評価値を、前記評価要素として導出する解析部を備えることを特徴とする請求項２に記載の検索システム。
【請求項４】
前記判定手段は、前記順位付けの妥当性を判定する前に、所定の選別基準を適用して、判定対象とする文書ファイルの選別処理を実行する選別部を備えることを特徴とする請求項２又は３に記載の検索システム。
【請求項５】
前記選別基準は、前記表示時間が予め定められた上限値と下限値との間の値であるか否かと、前記文書ファイルを構成する文字数が予め定められた値を上回っているか否かと、を含むことを特徴とする請求項４に記載の検索システム。
【請求項６】
前記チューニング手段は、
前記チューニング前の第１検索アルゴリズムの前記パラメータを変更して第２検索アルゴリズムを設定し、
前記検索手段に、前記第２検索アルゴリズムを用いて、前記入力手段に入力されたクエリと同じクエリで検索処理を実行させ、
前記判定手段に、前記第２検索アルゴリズムに基づき前記リスト生成手段が作成した文書ファイルのリストの順位付けが妥当であるか否かを判定させる、
ことを特徴とする請求項１〜５のいずれかに記載の検索システム。
【請求項７】
前記チューニング手段は、
前記チューニング前の第１検索アルゴリズムの前記パラメータを変更して第２検索アルゴリズムを設定し、
前記検索手段に、前記第２検索アルゴリズムを用いて、前記入力手段に入力されたクエリと同じクエリで検索処理を実行させ、
前記判定手段に、前記第２検索アルゴリズムに基づき前記リスト生成手段が作成した文書ファイルのリストの最上位に前記最上位文書ファイルが位置しているか否かを判定させ、
前記リストの最上位に前記最上位文書ファイルが位置していない場合に、前記パラメータをさらに変更して第３検索アルゴリズムを設定し、前記検索処理及び前記判定を再度実行させる、
ことを特徴とする請求項２〜５のいずれかに記載の検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースに対して検索アルゴリズムを用いてクエリに応じた検索処理を行い、所望の文書ファイルを抽出するための検索システムに関する。
【背景技術】
【０００２】
ワールドワイドなインターネット上や社内ネットワークのようなローカルネット上において、データベース中からユーザが望む文書ファイルを検索可能とした検索システムが汎用されている。このような検索システムにおいては、検索エンジンが、ユーザが欲する情報を含む文書ファイルを的確に抽出できる検索アルゴリズムを具備していることが望ましい。なお、検索エンジンの文書検索の精度を向上させる技術として、例えば特許文献１、特許文献２に開示されたものがある。
【０００３】
ところで、検索システムの供用期間が長期に亘るようになると、ユーザの嗜好が変化すること等に起因して該ユーザが欲する情報も変化し、ユーザが有用性を感じる文書も時々に応じて変わってゆくことが多々ある。従って、検索アルゴリズムを一旦最適な態様に設定したとしても、事後的にユーザのニーズや世の中の変化に対応できず、ユーザがその時に欲する文書ファイルが検索ヒットリストの上位に抽出されなくなるという事象が生じることがある。
【０００４】
この場合、検索アルゴリズムのチューニングが必要となる。従来、このチューニングは専らマニュアル作業で行われている。すなわち、数人の被験者を設定して評価用のクエリを検索エンジンに実行させ、その検索ヒットリストの中から各被験者が最も有用性を感じるベスト文書を特定させ、その各自のベスト文書がリストの上位に並ぶように検索アルゴリズムのパラメータを作業者がチューニングするものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２１６６４６号公報
【特許文献２】特開２００４−２７２４９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、マニュアル作業による検索アルゴリズムのチューニングでは、被験者の数が限られていることから、精度の高い検索アルゴリズムを抽出することは困難であり、また個々のユーザ毎に最も適した検索アルゴリズムを抽出することも困難である。なお、被験者の数を増やせば、ある程度は精度の高い検索アルゴリズムを抽出可能となるが、そのチューニング処理には大変な手間を要してしまう。
【０００７】
本発明の目的は、本発明は、データベースに対する検索処理において、マニュアル作業による検索アルゴリズムのチューニングを行うことなく、ユーザが常に必要な情報を的確に得ることができる検索システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成する本発明の一の局面に係る検索システムは、検索対象となる多数の文書ファイルが記憶されたデータベースと、所定のパラメータを有する検索アルゴリズムが搭載され、前記データベースに対して前記検索アルゴリズムを用いて前記文書ファイルの検索処理を行う検索手段と、前記検索処理のためのクエリの入力を受け付ける入力手段と、前記クエリでの検索処理によりヒットした文書ファイルのリストを、前記検索アルゴリズムでの合致度合いに応じた順位付けをして作成するリスト生成手段と、前記リストを表示すると共に、前記リストのいずれかに選択指示が与えられたときに対応する文書ファイルの内容を表示し、選択終了指示が与えられたときに前記内容の表示を停止する表示手段と、前記選択指示が与えられた後、前記選択終了指示が与えられるまでの前記表示手段への前記文書ファイルの表示時間を、前記文書ファイル単位で計測すると共に記憶する計時手段と、前記表示時間を含む評価要素を参照して、前記文書ファイルのリストの前記順位付けが妥当であるか否かを判定する判定手段と、前記判定手段により前記順位付けが妥当でないと判断されたときに、前記検索アルゴリズムのパラメータをチューニングするチューニング手段と、を備えることを特徴とする（請求項１）。
【０００９】
この構成によれば、リストアップされた文書ファイルが実際に表示手段へ表示された時間（ユーザの閲覧時間）を含む評価要素を参照して、判定手段によりリストの順位付けが妥当であるか否かが判定される。一般傾向として、ユーザが有用性を感じた文書ファイルの表示時間は長くなる。上記検索システムでは、この傾向を利用して、実際に個々のユーザに対して検索サービスが提供されている過程において、表示時間を含む評価要素を個々に評価し、必要に応じて検索アルゴリズムのパラメータをチューニングするものである。従って、個々のユーザに対して、パーソナライズされた検索システムを提供することが可能となる。
【００１０】
上記構成において、前記判定手段は、前記評価要素に基づき前記リストの最上位にリストアップされるべき最上位文書ファイルを特定する特定部を有し、前記最上位文書ファイルが、前記リスト生成手段が作成した文書ファイルのリストの最上位に位置しているか否かに基づいて、前記順位付けが妥当であるか否かを判定することが望ましい（請求項２）。この構成によれば、順位付けの妥当性評価を、最上位文書ファイルのリスト中におけるランキングに基づいて、シンプルに実行させることができる。
【００１１】
この場合、前記判定手段は、前記文書ファイルの前記表示時間を、当該文書ファイルを構成する文字数で除して得られる評価値を、前記評価要素として導出する解析部を備えることが望ましい（請求項３）。前記表示時間を前記文字数で除することで、どれだけその文書ファイルを熱心に閲読したかを、定量的に評価することが可能となる。従って、前記評価要素の信頼性を高めることができる。
【００１２】
また、前記判定手段は、前記順位付けの妥当性を判定する前に、所定の選別基準を適用して、判定対象とする文書ファイルの選別処理を実行する選別部を備えることが望ましい（請求項４）。この構成によれば、順位付けの妥当性評価に当たり、判定対象とすることが妥当でない文書ファイルを除外することができ、順位付けの妥当性評価の精度を向上させることができる。
【００１３】
前記選別基準は、前記表示時間が予め定められた上限値と下限値との間の値であるか否かと、前記文書ファイルを構成する文字数が予め定められた値を上回っているか否かと、を含むことが望ましい（請求項５）。
【００１４】
この構成によれば、表示時間が異常に長い文書ファイルや、文字数が少なすぎる文書ファイルを、評価対象から除外することができる。例えば前者では、ユーザが選択指示を与えた後に他の作業を実行したことに起因して表示時間が長くなった文書ファイルを、後者では、到底満足感を持つことが無いと推定される短文文書ファイル等を、それぞれ除外することが可能となる。
【００１５】
上記構成において、前記チューニング手段は、前記チューニング前の第１検索アルゴリズムの前記パラメータを変更して第２検索アルゴリズムを設定し、前記検索手段に、前記第２検索アルゴリズムを用いて、前記入力手段に入力されたクエリと同じクエリで検索処理を実行させ、前記判定手段に、前記第２検索アルゴリズムに基づき前記リスト生成手段が作成した文書ファイルのリストの順位付けが妥当であるか否かを判定させることが望ましい（請求項６）。
【００１６】
この構成によれば、チューニング手段が検索アルゴリズムのチューニングを実行した後に、その検索アルゴリズムの精度を確認させることができる。
【００１７】
或いは、前記チューニング手段は、前記チューニング前の第１検索アルゴリズムの前記パラメータを変更して第２検索アルゴリズムを設定し、前記検索手段に、前記第２検索アルゴリズムを用いて、前記入力手段に入力されたクエリと同じクエリで検索処理を実行させ、前記判定手段に、前記第２検索アルゴリズムに基づき前記リスト生成手段が作成した文書ファイルのリストの最上位に前記最上位文書ファイルが位置しているか否かを判定させ、前記リストの最上位に前記最上位文書ファイルが位置していない場合に、前記パラメータをさらに変更して第３検索アルゴリズムを設定し、前記検索処理及び前記判定を再度実行させることが望ましい（請求項７）。
【００１８】
この構成によれば、最上位文書ファイルのリストにおける順位がトップに近づいていくように、検索アルゴリズムのチューニングを行わせることができる。従って、最もユーザに適した検索アルゴリズムを抽出することが可能となる。
【発明の効果】
【００１９】
本発明によれば、データベースに対する検索処理において、マニュアル作業を伴うことなく、実際にユーザが検索システムのサービスを利用している状態において検索アルゴリズムのチューニングを行うことができる。しかも、個々のユーザに適した検索アルゴリズムを抽出することが可能である。従って、各ユーザが、常に必要な情報を的確に得ることができる検索システムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明に係る検索システムが適用されるネットワークシステムのハードウェア構成を概略的に示す構成図である。
【図２】本発明の検索システムの概要を示す模式的なフローチャートである。
【図３】従来の検索システムにおける検索アルゴリズムのチューニング処理手順を示す模式図である。
【図４】本発明の検索システムにおける検索アルゴリズムのチューニング処理手順を示す模式図である。
【図５】本発明の検索システムの構成を示す機能ブロック図である。
【図６】検索アルゴリズムのチューニング実施条件を示す表形式の図である。
【図７】本発明の検索システムの全体的なフローチャートである。
【図８】図７の処理ブロック−１の詳細フローチャートである。
【図９】図７の処理ブロック−２の詳細フローチャートである。
【図１０】図７の処理ブロック−２の詳細フローチャートである。
【図１１】図７の処理ブロック−３の詳細フローチャートである。
【図１２】図７の処理ブロック−３の詳細フローチャートである。
【図１３】図７の処理ブロック−４の詳細フローチャートである。
【図１４】図７の処理ブロック−４の詳細フローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面に基づいて本発明の実施形態につき詳細に説明する。
【００２２】
図１は、本発明の検索システムが適用されるネットワークシステムＳのハードウェア構成を概略的に示す構成図である。このネットワークシステムＳは、インターネット上において利用可能なデータベース１０と、このデータベース１０に対して所定の検索アルゴリズムを用いて検索処理を行う検索エンジン２０（検索手段）と、ユーザが利用する端末装置３０（入力手段／表示手段）と、検索アルゴリズムのチューニング処理を行うデータ処理装置４０とが、インターネットＩＮを介してデータ通信可能に接続されてなる。
【００２３】
データベース１０は、インターネットに接続され、検索対象となる多数の文書ファイル（ＨＴＭＬファイル等）が大量に記憶されているデータベースである。ここでは簡略的に図示しているが、データベース１０は各々ドメイン名を持つ多数のウエブサイトの集合を示している。このようなデータベース１０としては、例えばＹａｈｏｏ（登録商標）やＧｏｏｇｌｅ（登録商標）などのポータルサイトを通してアクセス可能なデータベースを例示することができる。
【００２４】
検索エンジン２０は、所定のパラメータを有する検索アルゴリズムが搭載され、データベース１０に対し、与えられたクエリに対応する文書ファイルの検索処理を行う。すなわち検索エンジン２０は、データベース１０に記憶されている検索対象の文書ファイル毎にキーワードや属性（メタデータ）を抽出して検索用の文書インデックスを作成すると共に、クエリを文書解析して検索インデックスを作成する。さらに検索エンジン２０は、前記検索アルゴリズムを用いて、前記文書インデックスと前記検索インデックスとの照合処理を行い、合致度合いの高い（クエリに適合する）文書ファイルを抽出する。
【００２５】
端末装置３０は、多数のユーザに各々保有されるパーソナルコンピュータや携帯電話機、携帯情報端末機等の通信端末機３１、３２、３３、３４・・・である。端末装置３０は、インターネットＩＮを介して検索エンジン２０及びデータベース１０にアクセス可能とされている。例えば端末機３１は、検索処理条件となるキーワードや文章（クエリ）を入力するためのキーボード３１１（入力手段）と、検索画面、ヒット文書のリスト、文書のコンテンツ等を表示するディスプレイ３１２（表示手段）と、ディスプレイ３１２上の表示画面に対してコマンド（文書の選択指示や選択終了指示等）を入力するためのマウス３１３を備えている。
【００２６】
各ユーザは、各自の通信端末機３１、３２、３３、３４・・・の入力手段（キーボード３１１）を介して、検索エンジン２０にクエリを与え、そのクエリでの検索処理によりヒットした文書ファイルのリストを取得する。さらにユーザは、前記リストの中から希望する文書ファイルを選択し、その文書ファイルの内容を自身の表示手段（ディスプレイ３１２）で表示させることができる。
【００２７】
データ処理装置４０は、検索エンジン２０に備えられている検索アルゴリズムのパラメータを、ユーザ毎に、それぞれ最適なものとなるようにチューニングする処理を行う。かかるチューニング処理は、実際の検索サービス上においてユーザが検索ヒット文書を閲覧した時間をベースとして、自動的に行われる。このデータ処理装置４０の具体的構成については、後記で詳述する。
【００２８】
図２は、ネットワークシステムＳにより実行される文書ファイル検索処理の概要を示す模式的なフローチャートである。検索エンジン２０は、検索元側の処理として、端末装置３０からクエリが与えられると、このクエリ文書に対して例えば形態素解析等を含む文書解析処理を行う（ステップＳ１）。次いで、上記の文書解析処理で得られた単語をベースにして検索インデックスが作成される（ステップＳ２）。この検索インデックスは、主に質問事象に関連深いキーワード群からなる。そして、当該検索インデックスを用いて、大量のデータを含むデータベース１０に対して文書の検索処理を行う（ステップＳ３）。
【００２９】
また、検索先側の処理として、検索エンジン２０は、メタデータの抽出のための文書解析（ステップＳ０１）、及び検索インデックスの作成（ステップＳ０２）を定期的に行う。ステップＳ３の検索処理で得られた結果は、前記クエリを入力したユーザの端末装置４に、検索アルゴリズムでの合致度合いに応じた順位付けをしてリスト出力（ランキング表示）される（ステップＳ４）。以上の処理は、通常の検索システムと同様であるが、本実施形態では、ステップＳ４のランキング表示された文書の閲覧の程度を評価し、その評価結果に応じて各ユーザが望む文書がランキング表示の上位に表示されるよう、検索アルゴリズムを自動チューニングする（ステップＳ５）。これにより、各ユーザの嗜好に合わせてパーソナライズされた検索システムを提供可能としている。
【００３０】
以上が、本実施形態に係る検索システムの概要であるが、ここで本実施形態との比較のために、検索アルゴリズムのチューニングの従来手法について説明する。図３は、従来手法に係るチューニングを説明するための模式図である。
【００３１】
従来のチューニング方法では、検索システムの通常使用とは切り離して、数人の評価者を選択し、これら評価者の検索結果に基づいて、手動で検索アルゴリズムがチューニングされる。先ず、選定された評価者ごとに評価用クエリを設定し、検索システムが備える検索エンジンに該クエリを入力する（ステップ＃０１）。そして、文書１、文書２，文書３・・・が蓄積されているデータベース１０Ａを対象として、検索アルゴリズムに検索処理を実行させる（ステップ＃０２）。
【００３２】
その後、各評価用クエリによりヒットした文書ファイルのリスト（検索結果）を出力させる（ステップ＃０３）。この検索結果は、評価用クエリに対して合致度が高い順にランキング表示される（ステップ＃０４）。そして、前記評価者がリストアップされた文書ファイルの内容を評価し、自身の要望に最も添うベスト文書ファイルを選択する（ステップ＃０５）。ここでは、最上位から４番目にランクされた「文書１０」が最も適合するベスト文書ファイルである場合を例示している。
【００３３】
ここで、各評価者の評価が悪い場合、つまり、ステップ＃５において各評価者が望むベスト文書ファイルが、検索結果リストの上位に位置していない場合、検索システムの管理者が検索アルゴリズムのチューニングを行う（ステップ＃０６）。このチューニングとは、例えば検索インデックスの単語の重み付け値の変更や、ベクトル空間モデルの再選択等である。このようなチューニングをシステム管理者が手動で行い、ステップ＃２以下の処理を繰り返して、各評価者のベスト文書ファイルがリストの上位にランクされるような検索アルゴリズムを設定する。
【００３４】
この従来のチューニング方法によれば、数名の評価者を選択したサンプル評価であるため、限定的な評価となり、精度の高い検索アルゴリズムを抽出することは困難である。評価者の数を増やせば精度は向上し得るが、マニュアルチューニングであるため、膨大な手間を要してしまうことになる。さらに、ユーザ個々に最も適した検索アルゴリズムを設定することも困難である。
【００３５】
本発明の実施形態に係る検索システムでは、上記の従来手法の問題に鑑み、サンプル評価に基づいた別環境でのチューニングではなく、実際の検索システムの運用上において、ユーザ個々に最も適した検索アルゴリズムを自動的に設定するチューニング方法が採用されている。自動化のキーは、ヒット文書の閲覧時間である。図４は、本実施形態に係る検索システムにおける検索アルゴリズムのチューニング処理手順を概略的に示す模式図である。
【００３６】
本実施形態に係るチューニングでは、該チューニングのため特定の評価者の選定は行わず、ユーザが通常に検索システムを利用している状況において、ユーザ毎にチューニングが実行される。すなわち、評価者は、検索システムのユーザ全員である。先ず、一人のユーザが、検索システムが備える検索エンジンに、通常の利用状態で発生するクエリを入力することが端緒となる（ステップ＃１）。そして、データベース１０Ａを対象として、検索アルゴリズムに前記クエリに応じた検索処理が実行される（ステップ＃２）。その検索結果のリストは、前記クエリを入力したユーザの端末機のディスプレイ（表示手段）にランキング表示される（ステップ＃３）。
【００３７】
ユーザは、ランキング表示されたヒット文書のリストの中から、マウスのクリック操作等によって、適宜文書ファイルを選択して開き（選択指示）、その内容を閲覧する（ステップ＃４）。閲覧が完了すると、ユーザは、同様なクリック操作等によって開いている文書ファイルを閉じ（選択終了指示）、別のファイルを開くという操作を繰り返すことになる。以上は、ユーザによる検索システムの通常の利用態様である。この際、各文書の表示時間（選択指示が与えられた後、選択終了指示が与えられるまでの時間）及びその文書の関連情報が取得される（ステップ＃５）。
【００３８】
その後、ステップ＃５で取得した表示時間等に基づく解析、及びこの解析結果に従い検索処理に適用された検索アルゴリズムの精度が自動的に評価される（ステップ＃６）。このステップ＃６の詳細については後記で説明するが、ユーザが望む文書であるほど、表示時間が長くなるという傾向を利用している。ここで検索アルゴリズムの評価が悪い場合、自動チューニング処理が実行される（ステップ＃７）。
【００３９】
この自動チューニング処理では、検索アルゴリズムのパラメータ等が変更設定（上述の検索インデックスの単語の重み付け値の変更や、ベクトル空間モデルの再選択等）される（ステップ＃７１）。そして、変更された検索アルゴリズム（第２検索アルゴリズム）を用いて、同一クエリで同一データベース１０Ａ（同一検索先文書）を再検索し、その検索結果を再評価する（ステップ＃７２）。このような処理が所定回数繰り返され、当該一人のユーザについて、最も精度が高い検索アルゴリズムが抽出される（ステップ＃７３）。この修正検索アルゴリズムは保存され、当該ユーザが次回にクエリを検索システムに与えた場合、かかる修正検索アルゴリズムにて検索処理が実行されることになる。当該ユーザの次回の検索処理、若しくは次回以降のｎ回目の検索処理において、同様な検索アルゴリズムの評価と、必要に応じてチューニング処理が実行されるものである。
【００４０】
このようなチューニング方法によれば、ユーザに特段の負担をかけることなく、個々のユーザに応じた最適な検索アルゴリズムを、ユーザ毎にその都度導出することができる。従って、ユーザの嗜好が経年変化したとしても、その時点での当該ユーザの嗜好にマッチした検索アルゴリズムを設定できる。
【００４１】
以下、図５〜図１４に基づいて、本実施形態の自動チューニングの手法について詳述する。図５は、本実施形態に係るネットワークシステムＳの機能構成を示す機能ブロック図である。データベース１０は、各種の文書ファイルが記憶された複数のウエブサイト（ウエブサーバ）１１、１２、１３・・・を含む。検索エンジン２０（検索手段）は、文書インデックス作成部２１、検索インデックス作成部２２、検索処理部２３、ランキング表示処理部２４（リスト生成手段）、アルゴリズム管理部２５及び検索データ記憶部２６を機能的に備えている。端末装置３０は、クエリ入力部３０１（入力部）、表示部３０２（表示手段）及び操作部３０３を備えている。データ処理装置４０は、検索情報取得部４１、表示時間測定部４２（計時手段）、文字数カウント部４３、判定部４４（判定手段）及びチューニング処理部４５（チューニング手段）を備えている。
【００４２】
文書インデックス作成部２１は、データベース１０に含まれる文書ファイルを検索させるためのインデックス（文書インデックス）を作成する（図２のステップＳ０１、Ｓ０２の処理）。文書インデックス作成部２１は、複数のウエブサイト１１、１２、１３・・・に各々存在する文書ファイルを統合・編集してデータを共通化し、これらの文書に対して、正規化処理、形態素解析及び同義語処理などの文書解析処理を行う。かかる文書解析処理により、文書タイトルや著者、自立する単語（キーワード）が導出され、これらの単語等に基づいて、文書インデックスが作成される。
【００４３】
検索インデックス作成部２２は、端末装置３０から与えられたクエリ（キーワードや質問文書）を文書解析し、検索インデックスを作成する処理を行う。例えば、クエリが質問文書である場合は、その文書内において自立する単語として抽出すると共に、これら単語の出現頻度等を参照して重み付けする等して、検索インデックスを作成する（図２のステップＳ１、Ｓ２の処理）。
【００４４】
検索処理部２３は、検索アルゴリズムを用いて、データベース１０に対して文書ファイルの検索処理を行う。具体的には、前記検索インデックスと前記文書インデックスとを照合し、検索インデックス（クエリ）に対する類似度が高い文書ファイルを抽出する。ここで、この検索処理には、ユーザ毎に設定された検索アルゴリズムが用いられる。検索処理部２３は、クエリを与えたユーザを検索者ＩＤ等で特定し、該ユーザについて設定されている個別の検索アルゴリズムをアルゴリズム管理部２５から抽出し、その検索アルゴリズムを用いて検索処理を実行する。
【００４５】
ランキング表示処理部２４は、検索処理部２３による検索処理でヒットした複数の文書ファイルを、クエリに対する類似度（合致度合い）が高い順に順位付けしたリストを作成する。このリストは、端末装置３０によりブラウジングが可能であり、実際は検索処理の完了後に表示部３０２で表示される。
【００４６】
アルゴリズム管理部２５は、ユーザ毎に割り当てられている検索者ＩＤに関連付けて、個別の検索アルゴリズムを記憶する。検索アルゴリズムは、例えばベクトル空間モデル（コサイン尺度）、Ｄｉｃｓ係数、Ｊａｃｃａｒｄ係数、Ｔスコア、相互情報量、Ｓｉｍｐｕｓｏｎ係数などから選ばれる。これらの検索アルゴリズムは各々計算式を有し、その計算式において種々のパラメータが設定される。
【００４７】
検索データ記憶部２６は、検索処理部２３により実行された検索処理の検索データ及び検索情報を記憶する。前記検索データは、検索要求に際して与えられた情報であって、例えば検索処理単位で付番される検索要求番号、クエリを入力した検索者ＩＤ、クエリ等である。検索情報は、検索処理によって生じた情報であって、例えばデータベース１０において検索対象とした文書ファイルの文書ＩＤ、ヒット文書ファイルの文書ＩＤ、ヒット文書リストのランキング情報（表示順位等）、ヒット文書ファイルの表示開始時刻及び表示終了時刻等である。
【００４８】
端末装置３０のクエリ入力部３０１は、ユーザから検索処理のためのクエリの入力を受け付ける部位であって、例えば図１に示すキーボード３１１である。
【００４９】
表示部３０２は、例えば図１に示すディスプレイ３１２であって、検索エンジン２０のブラウジング画面（クエリ入力画面）、ヒット文書ファイルのリスト、及び前記リストから選択された文書ファイルの内容等を表示する。
【００５０】
操作部３０３は、例えば図１に示すマウス３１３であって、表示部３０２に表示された画像上の選択部、リンク部、タスクバー等に対して操作指示を与える。ユーザは、表示部３０２に表示されたヒット文書ファイルのリストのいずれかを選択しその内容を表示させる選択指示、及び、その表示を停止させる選択終了指示を、この操作部３０３を介して与える。
【００５１】
データ処理装置４０の検索情報取得部４１は、ユーザ毎のチューニング処理が実行される際に、対象ユーザの検索者ＩＤ関連付けて検索データ記憶部２６に格納されている検索処理の前記検索データ、並びに前記検索情報を、データ処理装置４０に取り込む処理を行う。
【００５２】
表示時間測定部４２は、ヒット文書ファイルのリストからいずれかの文書ファイルについて前記選択指示が与えられた後、前記選択終了指示が与えられるまでの時間、つまり表示部３０２への選択文書ファイルの表示時間を、文書ファイル単位で計測すると共に記憶する。この際、表示時間測定部４２は、検索情報取得部４１が検索データ記憶部２６から取得した、ヒット文書ファイルの表示開始時刻及び表示終了時刻のデータを使用する。
【００５３】
文字数カウント部４３は、リスト中の各文書ファイルの文字数を求める処理を行う。文字数カウント部４３が求める文字数情報は、ランキング表示の妥当性、すなわちリストアップされた文書ファイルの中で、ユーザのクエリに最も適合した文書（以下、「ベスト文書ファイル」という）を特定するに際して、評価対象とする文書ファイルを選別する際に用いられる。
【００５４】
判定部４４は、前記表示時間をベースとする評価要素を参照して、ヒット文書ファイルのリストのランキング表示が妥当であるか否かを判定する処理を行う。判定部４４は、解析部４４１、選別部４４２及びベスト文書特定部４４３を備えている。
【００５５】
解析部４４１は、各文書ファイルについての前記表示時間、前記文字数のデータを用いて、それぞれの文書ファイルについて評価基準値を算出する。選別部４４２は、所定の選別基準（図６に基づき後述する）を適用して、ベスト文書ファイルの評価対象となる文書（有効文書）と、評価対象外とする文書（無効文書）とを選別する。ベスト文書特定部４４３は、前記有効文書の中から、ベスト文書ファイルがいずれの文書であるかを特定する。この際、ベスト文書特定部４４３は、ｓ＝表示時間／文字数で求められる値の最大値（最大ｓ値）と、他のｓ値に対する最大ｓ値の突出度とを参照する。最終的に判定部４４は、ベスト文書ファイルがランキング表示の最上位に位置しているか否かに基づいて、順位付けが妥当であるか否か、つまりは検索アルゴリズムのチューニングが必要か否かを判定する。
【００５６】
図６は、判定部４４による判定処理の具体例を説明するための表形式の図である。ここでは、検索システムのユーザＡ氏が、２００９年３月２７日に検索処理を実行させた検索結果に基づき、チューニングの必要性が判定される例を示している。図６の最左欄の「システム文書表示順位」欄に記載されている１位文書〜１０位文書は、当該検索処理に際して用いられた検索アルゴリズムによりヒットした文書であって、クエリに対する類似度が高い順に順位を付されたものである。
【００５７】
図６の最左欄から２番目の「表示時間」は、表示時間測定部４２により求められる各文書ファイルの表示時間である。その隣の「文字数」は、文字数カウント部４３により求められる各文書ファイルに含まれる文字の数である。「表示時間／文字数」＝ｓ値は、各々の表示時間及び文字数から、解析部４４１が求めた数値である。このｓ値は、ユーザがどれだけじっくりと各文書を読んでいるかの目安となる評価基準値となる。
【００５８】
上記ｓ値は、一応の評価基準値としては用いることができるが、このｓ値だけに依存すると、ベスト文書ファイルの特定精度が低くなる。そこで、本実施形態では、図６の「チューニング実施条件」欄にも示しているように、次の条件（１）〜（６）を設定して、文書ファイルの選別、並びにベスト文書ファイルの特定を行うようにしている。
【００５９】
（１）表示時間適正；６００秒≧表示時間≧５秒
（２）文字数適正；文字数≧２００文字
（３）読む速度の適正；１≧ｓ≧０．０３
（４）有効文書数；条件（１）〜（３）を全て満たす文書数≧５
（５）突出度；最大ｓ値≧平均ｓ値＋σ
（６）文書順位；最大ｓ値文書の順位≧２位
【００６０】
条件（１）は、表示時間が著しく長い、若しくは著しく短いような文書ファイルを、評価対象から外すための条件である。表示時間が６００秒を超過するようなケースでは、ユーザが端末機から離席したり、表示状態は維持されているものの他のタスクを実行させたりしていることが想定されるため、これを除外する。一方、５秒にも満たない表示時間では、到底表示内容を充分に確認できないと想定されるので、これも除外する。
【００６１】
条件（２）は、ユーザがクエリに対して満足を得るには相応の文書情報が必要であるとの推定に基づいて、少なすぎる文字数（ここでは２００文字未満）の文書ファイルを足切するための条件である。条件（３）は、ユーザが文書を読んだと言うには表示時間と文字数とには一定のバランスが必要との推定に基づいて、ｓ値が小さすぎる（読む速度が早すぎる）場合と、大きすぎる（読む速度が遅すぎる）場合については、その文書ファイルを足切する条件である。条件（４）は、最低限の文書ファイルサンプル数を確保するための条件であり、上記条件（１）〜（３）を満たす文書ファイルの数が５以上であることを要件としている。
【００６２】
なお、上記条件（１）〜（３）の全てを満たす文書ファイルには「有効」フラグが付与され、逆に一つでも満たさない文書ファイルには「無効」フラグが付与される。図６の例では、２位文書、３位文書、５位文書、６位文書、８位文書及び１０位文書の６つが有効文書とされている例を示している。そして、８位文書のｓ値が、最も高い値（０．１２３７＝最大ｓ値）を示している。
【００６３】
条件（５）は、最大ｓ値の他のＳ値に対する突出度を考慮する条件である。この場合、８位文書のｓ値が、６つの有効文書の平均ｓ値から１σ以上（６５％以上）突出していることを要件としている。ベスト文書ファイルと扱う文書ファイルに一定の突出性を求めることで、ベスト文書ファイルの特定精度を向上させることができる。条件（６）は、チューニング処理の必要性を決定する条件であり、ここでは最大ｓ値の文書ファイル（ここでは８位文書）のランキング表示が２位未満であるときに「チューニング処理要」としている。図６の例では、条件（４）が満たされた状況で、８位文書が最大ｓ値を持ち、かつ条件（１）〜（３）、（５）を満たすので、当該ユーザについては８位文書が本来は１位文書としてランキング表示されるべきベスト文書ファイルであると判定される。さらに、条件（６）を満たすので、検索アルゴリズムのチューニングが必要と判定される。なお、上記条件（１）〜（６）の設定値は一例であり、上記以外の適宜な値に設定することができる。
【００６４】
チューニング処理部４５は、判定部４４が検索アルゴリズムのチューニングが必要と判定したとき、検索アルゴリズムのパラメータをチューニングする処理を行う。後記で詳述するが、チューニング前の第１検索アルゴリズムのパラメータを変更して第２検索アルゴリズムを設定し、検索エンジン２０に第２検索アルゴリズムを用いて、ユーザが入力したクエリと同じクエリで検索処理を実行させる。そして、判定部４４に、当該検索でランキング表示処理部２４が作成したランキング表示において、ベスト文書ファイルの表示順位が妥当であるか否かを判定させる。上記の例では、８位文書がランキング表示で２位以上であるか否かを確認する。もし、２位以上にランキング表示されていない場合は、第２検索アルゴリズムのパラメータを変更して第３検索アルゴリズムを設定し、同様な処理を行わせるものである。
【００６５】
以上説明した本実施形態に係る検索システムの動作を、図７〜図１４に示すフローチャートに基づいて説明する。図７は、検索システムの全体的なフローチャートである。検索システムの処理は、大別して４つの処理ブロック１〜４で構成される。まず、あるユーザのクエリの入力を端緒として、そのクエリについての通常の検索処理、文書のランキング表示が行われる（処理ブロック−１）。この際、ユーザは、ランキング表示された文書ファイルを選択し、コンテンツを閲覧する。
【００６６】
処理ブロック−２では、処理ブロック−１で実行された検索処理に基づいて、当該ユーザが閲覧した各文書ファイルについて文書表示時間が求められる（処理ブロック−２）。ここで取得された文書表示時間に基づいて、図６に例示したような条件判定が実行され、検索アルゴリズムのチューニング要否が判定される（処理ブロック−３）。そして、チューニング要と判定された場合には、検索アルゴリズムのチューニング処理が実行される（処理ブロック−４）。以下、各処理ブロック１〜４における詳細な処理内容を説明する。
【００６７】
図８は、図７の処理ブロック−１の詳細フローチャートである。ユーザが、端末装置３０のクエリ入力部３０１からクエリを入力すると（ステップＳ１１）、このクエリは検索エンジン２０にインターネットを介して送信される。この際の検索要求番号、検索者ＩＤ、クエリ等の検索データは、検索データ記憶部２６に格納される（ステップＳ１２）。一方、検索処理部２３は、与えられたクエリに従って、データベース１０に対する文書ファイルの検索処理を実行する（ステップＳ１３）。
【００６８】
前記検索処理においては、検索インデックス作成部２２にてクエリに基づき検索インデックスが作成され、文書インデックス作成部２１にて予め作成されている文書インデックスと前記検索インデックスとが照合される。この際、現時点で当該ユーザに対して設定されている検索アルゴリズムが適用される。検索処理でヒットした文書ファイルは、ランキング表示処理部２４により、クエリに対する類似度が高い順に並べたリストにされ、端末装置３０の表示部３０２でランキング表示される（ステップＳ１４）。
【００６９】
ユーザは、ランキング表示されたリストに対し、操作部３０３で特定の文書ファイルに対して、選択指示（クリック操作）を与えて当該文書ファイルを開き、当該文書ファイルを閲読する。その後、選択終了指示（クリック操作）を与えて当該文書ファイルを閉じる。このような一連の処理において、検索対象とした文書ファイルの文書ＩＤ、ヒット文書ファイルの文書ＩＤ、ヒット文書リストのランキング情報（表示順位等）、ヒット文書ファイルの表示開始時刻及び表示終了時刻等の検索情報が検索データ記憶部２６に格納される（ステップＳ１５）。この際、処理ブロック−２が並行的に実行される。
【００７０】
図９及び図１０は、図７の処理ブロック−２の詳細フローチャートである。処理ブロック−２では、検索データ記憶部２６に格納されている前記検索データ及び検索情報を用いて、各文書ファイルの表示時間が求められる。前処理として、カウンタｎ＝０と設定され（ステップＳ２１）、ランキング表示されたリストに対しユーザが最初に選択指示（クリック操作）を与えた時刻ｔ１＝ＮＵＬＬと設定され（ステップＳ２２）、ランキング表示された文書ファイルのリストに対しユーザが２番目にクリック操作を与えた時刻ｔ２＝ＮＵＬＬと設定される（ステップＳ２３）。
【００７１】
以下、データ処理装置３０の表示時間測定部４２により以下の処理が実行される。先ずランキング表示された文書のいずれかに対しクリック操作で選択指示が与えられたか否かが確認される（ステップＳ２４）。クリック操作が与えられた場合（ステップＳ２４でＹＥＳ）、カウンタｎがインクリメントされ（ステップＳ２５）、続いてｎ≧２であるか否かが判定される（ステップＳ２６）。ｎ＝１である場合（ステップＳ２６でＮＯ）、ｔ１としてユーザが１番目にクリック操作を与えた時刻が取得される（ステップＳ２７）。ｎ＝１以外である場合（ステップＳ２６でＹＥＳ）、ステップＳ２７はスキップされる。
【００７２】
続いて、所定のサンプリング周期に、ユーザが他の文書に２番目の選択指示（つまり、１番目の選択文書の選択終了指示）を与えたか否かが確認される（ステップＳ２８）。他の文書に選択指示のクリック操作が与えられた場合（ステップＳ２８でＹＥＳ）、ｔ２としてユーザが２番目にクリック操作を与えた時刻が取得される（ステップＳ２９）。そして、１番目の選択文書の表示時間ｔａが、ｔａ＝ｔ２−ｔ１で算出される。併せて、文字数カウント部４３により、１番目の選択文書を構成する文字の数が求められる。これら表示時間ｔａと文字数とは、１番目の選択文書のＩＤに関連付けて、図略のメモリに記憶される（ステップＳ３０）。
【００７３】
これに対し、他の文書に選択指示のクリック操作が与えられていない場合（ステップＳ２８でＮＯ）、現在の時刻ｔｓが取得され（ステップＳ３１）、ｔｓ−ｔ１＞６００秒の条件を満たすか否かが判定される（ステップＳ３２）。これは、１番目の選択文書の表示時間が、上述の条件（１）の上限値を超過するか否かを確認するステップである。以後、ステップＳ２８、Ｓ３１、Ｓ３２のループがサンプリング周期毎に実行される。
【００７４】
そして、ｔｓ−ｔ１＞６００秒の条件を満たすものになったとき（ステップＳ３２でＹＥＳ）、続いてｎ＝１であるか否かが確認される（ステップＳ３３）。ｎ＝１である場合（ステップＳ３３でＹＥＳ）、１番目の文書を選択した後、ユーザは次の文書を何ら開いていないことになり、その後の処理は不能となるので、処理を終了する。一方、ｎ＝１でない場合は（ステップＳ３３でＮＯ）、処理ブロック−３に移行する。
【００７５】
ステップＳ３０の後、ｔ２の時刻がｔ１に置換され、ｔ２がリセットされる（ステップＳ３４）。そして、カウンタｎ＝０であるか否かが確認される（図１０；ステップＳ３５）。ここでは、１番目の文書が選択された実績があるため、ｎ＝０ではない（ステップＳ３５でＮＯ）。従って、ステップＳ３６に移行し、現在の時刻ｔｒが取得される（ステップＳ３６）。続いて、ｔｒ−ｔ１＞６００秒の条件を満たすか否かが確認される（ステップＳ３７）。
【００７６】
これは、２番目の文書が選択された後、次の文書が選択されることなく上述の条件（１）の上限値時間だけ放置された状態に至っていないかを確認するステップである。もし、ｔｒ−ｔ１＞６００秒の条件を満足したなら（ステップＳ３７でＹＥＳ）、これ以上の表示時間情報を取得できないので、処理ブロック−３に移行する。一方、ｔｒ−ｔ１＞６００秒の条件を満足しない場合は（ステップＳ３７でＮＯ）、ステップＳ２４に戻り、ランキング表示されて文書ファイルのいずれかが選択されるのを待つ。
【００７７】
１番目の文書が未だ選択されていない場合、並びにステップＳ３７の後に３番目の文書が未だ選択されていない場合（ステップＳ２４でＮＯ）、ステップＳ３８に移行し、カウンタｎ＝０であるか否かが確認される。ｎ＝０のとき、つまり１番目の文書が未だ選択されていない場合（ステップＳ３８でＹＥＳ）、現在の時刻ｔｕが取得される（ステップＳ３９）。そして、ランキング表示がなされた時間から６００秒を超過したか否かが確認され（ステップＳ４０）、６００秒を超過した場合は（ステップＳ４０でＹＥＳ）、ユーザはいずれの文書も条件（１）の上限値時間内に選択しなかったことになり、その後の処理は不能となるので、処理を終了する。６００秒を超過していない場合は（ステップＳ４０でＮＯ）、ステップＳ３５を介してステップＳ２４に戻る。一方、ステップＳ３８でｎ＝０でないとき、ステップＳ３６に戻り処理が繰り返される。
【００７８】
ステップＳ２４で３番目の文書が選択された場合（ステップＳ２４でＹＥＳ）、ステップＳ２５〜Ｓ３０の処理が実行され、２番目の選択文書の表示時間ｔａが、ｔａ＝ｔ２−ｔ１で算出される。以下、同様にして、３番目の文書以降の表示時間が取得されるものである。
【００７９】
図１１、図１２は、図７の処理ブロック−３の詳細フローチャートである。この処理ブロック−３の処理は、専らデータ処理装置４０の判定部４４により実行される。先ず、カウンタｑ、ｍ、Ｐがゼロに設定される（ステップＳ４１）。ここに、ｑはランキング表示された文書の順位、ｍは有効文書（図６の条件（１）〜（３）を全て満たす文書）の数、Ｐはチューニング処理が不要と判定された検索処理の回数を示す。
【００８０】
続いて、ｑが１つインクリメントされ（ステップＳ４２）、判定部４４の解析部４４１は、ランキング表示された文書のｑ番目（１番目）の文書についての表示時間ｔａ及び文字数の情報を取得し、Ｓ値を算出する（ステップＳ４３）。その後、選別部４４２により、有効文書と無効文書の選別処理が実行される。すなわち、上記条件（１）の「表示時間ｔａ≧５秒」の条件を満たすか否か（ステップＳ４４；なお、上限値（６００秒）は処理ブロック−２で判定済み）、上記条件（２）の「文字数≧２００文字」の条件を満たすか否か（ステップＳ４５）、上記条件（３）の「１≧ｓ値≧０．０３」の条件を満たすか否か（ステップＳ４６）が、順次判定される。これら３つの条件を全て満たすとき（ステップＳ４４〜４６でＹＥＳ）、有効文書カウンタｍが一つインクリメントされると共に（ステップＳ４７）、選別部４４２は当該ｑ番目の文書ファイルに有効フラグを付加する（ステップＳ４８）。
【００８１】
これに対し、条件（１）〜（３）のいずれか一つでも満たされない場合は（ステップＳ４４〜４６のいずれか一つでＮＯ）、ステップＳ４７、Ｓ４８はスキップされる。この場合、選別部４４２は、当該ｑ番目の文書ファイルに無効フラグを付加する。その後、ｑが最終であるか否かが確認され（ステップＳ４９）、最終でない場合は（ステップＳ４９でＮＯ）、ステップＳ４２に戻り、ｑを一つインクリメントして、ランキング表示が２番目以降の文書ファイルについて同様の選別処理が実行される。
【００８２】
ｑが最終である場合、図１２に移って、有効文書カウンタｍが５以上であるか否かが判定される（ステップＳ５０；図６の条件（４）参照）。ｍが５に満たない場合（ステップＳ５０でＮＯ）、サンプル不足としてチューニング要否判定を行わず、処理を終える。これに対し、ｍが５以上である場合は（ステップＳ５０でＹＥＳ）、ベスト文書特定部４４３により、ｍ個ある有効文書の中からベスト文書ファイルを特定するための以下の処理が実行される。
【００８３】
すなわち、有効フラグが付加されている文書ファイルの表示時間ｔａの平均と標準偏差とが算出され（ステップＳ５１）、これら有効文書中で、最大ｓ値を持つ文書ファイルが特定される（ステップＳ５２）。その後、この最大ｓ値の突出度が判定され（ステップＳ５３；図６の条件（５）参照）、さらに最大ｓ値を持つ文書ファイルのランキング表示順位が１位又は２位であるか否かが判定される（ステップＳ５４；図６の条件（６）参照）。最大ｓ値の突出度が低く当該文書ファイルをベスト文書ファイルと扱う程の有意性が認められない場合（ステップＳ５３でＮＯ）、或いは最大ｓ値を持つ文書ファイルが最上位近辺（１位又は２位）に表示され検索アルゴリズムが適正に機能している場合（ステップＳ５４でＮＯ）、チューニング処理不要カウンタＰが一つインクリメントされ（ステップＳ５５）、処理を終える。
【００８４】
これに対し、最大ｓ値≧ｔａ平均値＋標準偏差σの条件を満たし（ステップＳ５３でＹＥＳ）、且つ、そのベスト文書ファイルの表示順位が３位以下である場合、ベスト文書特定部４４３は、当該検索処理の検索要求番号を、ユーザＩＤに関連付けてデータ管理部４４４に格納する（ステップＳ５６）。
【００８５】
そして、当該ユーザＩＤに関連付けられた検索要求番号の格納数ｒが３０個であるか否かが確認される（ステップＳ５８）。この格納数ｒは、当該ユーザのクエリにおいて、ベスト文書ファイルの表示順位が３位以下となった検索処理の累積回数を表す。従って、ｒの値が増加する程、検索アルゴリズムのチューニングの必要性が高くなることを意味する。格納数ｒが３０個に満たない場合は（ステップＳ５８でＮＯ）、ステップＳ５７に戻り待機する。
【００８６】
一方、格納数ｒが３０個に到達した場合、格納数ｒに対するチューニング処理不要カウンタＰの割合が判定される（ステップＳ５９）。ここでは、ｒ／Ｐ＞３０／１００の条件を満たすか否かが判定される。もし、ｒの値がＰの値に対して十分小さいなら（ステップＳ５９でＮＯ）、ｒが３０個に到達したとはいえ、検索アルゴリズムが適正に機能している割合が高いことになるので、判定部４４はチューニング不要と判定し、処理を終える。これに対し、ｒの値がＰの値に対して相当大きいなら（ステップＳ５９でＹＥＳ）、判定部４４は「検索アルゴリズムのチューニング要」と判定し（ステップＳ６０）、処理ブロック−４が実行される。
【００８７】
図１３、図１４は、図７の処理ブロック−４の詳細フローチャートである。この処理ブロック−４の処理は、専らデータ処理装置４０のチューニング処理部４５により実行される。先ず、カウンタｆ、ｋ、ｇがゼロに設定される（ステップＳ６１）。ここに、ｆはチューニング要と判定されたユーザに付与された通し番号、ｋは予め用意された検索アルゴリズムのパターンに付与された通し番号、ｇは各ユーザの格納数ｒに対応させた通し番号である。上記のステップＳ５８が存在するので、通常、ｇは１〜３０まで存在する。
【００８８】
続いて、ｆが１つインクリメントされ（ステップＳ６２）、特定のユーザが選定され、そのｆ番目のユーザの検索者ＩＤが取得される（ステップＳ６３）。また、カウンタｋも１つインクリメントされ（ステップＳ６４）、ｋ番目の検索アルゴリズムパターンが抽出される。なお、ここでの実施形態では、多数パターンの検索アルゴリズムを予めデータベースの蓄積しておき、その中から順次抽出する態様を例示している。これに代えて、検索アルゴリズムのテンプレートを設定し、数値を適宜代入する方式としても良い。
【００８９】
続いて、ｇが１つインクリメントされ（ステップＳ６６）、ｇ番目の検索要求番号が取得される（ステップＳ６７）。そして、チューニング処理部４５は、ｇ番目の検索要求時の検索条件を検索データ記憶部２４から取得する（ステップＳ６８）。そして、ｇ番目の検索要求によりヒットした文書ファイルが存在するか否かが確認される（ステップＳ６９）。存在する場合（ステップＳ６９でＹＥＳ）、チューニング処理部４５は、ｋ番目の検索アルゴリズムパターンで、検索処理部２３にデータベース１０の検索処理を実行させる（ステップＳ７０）。この検索処理の結果として得られるヒット文書のランキング情報がメモリに一時的に格納される（ステップＳ７１）。なお、ステップＳ６９において文書ファイルが存在しない場合は（ステップＳ６９でＮＯ）、ステップＳ７０、Ｓ７１はスキップされる。
【００９０】
次に、ｇが最終であるか否かが判定され（ステップＳ７２）、最終ではない場合は（ステップＳ７２でＮＯ）、ステップＳ６７に戻って処理が繰り返される。最終である場合は（ステップＳ７２でＹＥＳ）、ｋが最終であるか否かが判定される（ステップＳ７３）。最終ではない場合は（ステップＳ７３でＮＯ）、ｇ＝０と設定した上で（ステップＳ７４）、ステップＳ６４に戻って処理が繰り返される。ｋが最終である場合は（ステップＳ７３でＹＥＳ）、ｆが最終であるか否かが判定される（ステップＳ７５）。最終ではない場合は（ステップＳ７５でＮＯ）、ｇ＝０、ｋ＝０と設定した上で（ステップＳ７６）、ステップＳ６３に戻って処理が繰り返される。
【００９１】
ｆが最終である場合は（ステップＳ７５でＹＥＳ）、図１４に移行して、検索者ＩＤ毎に、検索アルゴリズム毎の最大ｓ値文書の順位が求められる（ステップＳ７７）。例えば、検索アルゴリズムパターン番号ｋが１〜１０個、検索要求番号ｇが１〜３０個存在するならば、一つの検索者ＩＤ当たり１０×３０＝３００回のチューニング検索処理が実行され、３００個の最大ｓ値文書の順位情報が取得される。この場合、１０個の検索アルゴリズムのそれぞれについて、最大ｓ値文書の平均順位が算出される。そして、最大ｓ値文書の順位が最も高い検索アルゴリズムが抽出される（ステップＳ７８）。
【００９２】
その後、検索者ＩＤ毎に、現状で設定されている検索アルゴリズムに基づき実際に行われた検索処理における最大ｓ値文書の平均順位が抽出される（ステップＳ７９）。そして、ステップＳ７８で特定された検索アルゴリズムによる最大ｓ値文書のチューニング平均順位と、ステップＳ７９で抽出された実際の平均順位とが比較される（ステップＳ８０）。
【００９３】
チューニング処理部４５は、チューニング平均順位の方が高い場合（ステップＳ８０でＹＥＳ）、当該検索者ＩＤについて現状で設定されている検索アルゴリズム（第１検索アルゴリズム）を、チューニング処理で得られた検索アルゴリズム（第２検索アルゴリズム）に置き換える。その後、検索要求番号に対応付けられたデータが削除され（ステップＳ８２）、処理を終える。一方、実際の平均順位の方が高い場合（ステップＳ８０でＮＯ）、当該検索者ＩＤについて現状の検索アルゴリズムを維持し、ステップＳ８２を実行する。かかる処理が、検索者ＩＤ毎に実行され、個別に現状で最も適した検索アルゴリズムが、検索者ＩＤ毎に設定されるものである。
【００９４】
以上説明した本実施形態に係るネットワークシステムＳによれば、データベース１０に対する検索処理において、マニュアル作業を伴うことなく、実際にユーザが検索システムのサービスを利用している状態において検索アルゴリズムのチューニングを行うことができる。しかも、個々のユーザに適した検索アルゴリズムを抽出することが可能である。従って、各ユーザが、常に必要な情報を的確に得ることができる検索システムを提供することができる。
【符号の説明】
【００９５】
Ｓ  ネットワークシステムＳ（検索システム）
１０  データベース
２０  検索エンジン（検索手段）
２１  文書インデックス作成部
２２  検索インデックス作成部
２３  検索処理部
２４  ランキング表示処理部（リスト生成手段）
２５  アルゴリズム管理部
２６  検索データ記憶部
３０  端末装置
３０１  クエリ入力部（入力部）
３０２  表示部（表示手段）
３０３  操作部
４０  データ処理装置
４１  検索情報取得部
４２  表示時間測定部（計時手段）
４３  文字数カウント部
４４  判定部（判定手段）
４５  チューニング処理部（チューニング手段）
【図１】
2010282402.tif 000003
【図２】
2010282402.tif 000004
【図３】
2010282402.tif 000005
【図４】
2010282402.tif 000006
【図５】
2010282402.tif 000007
【図６】
2010282402.tif 000008
【図７】
2010282402.tif 000009
【図８】
2010282402.tif 000010
【図９】
2010282402.tif 000011
【図１０】
2010282402.tif 000012
【図１１】
2010282402.tif 000013
【図１２】
2010282402.tif 000014
【図１３】
2010282402.tif 000015
【図１４】
2010282402.tif 000016