(57)【要約】【課題】よりユーザの検索目標に近いデータを効率的に検索する。【解決手段】指定された検索語又は検索文に基づいてデータベース３１から検索対象を検索し、検索結果を出力する検索装置において、入力された検索要求を解析して検索条件を設定する検索要求解析手段２２と、前記検索要求解析手段２２によって設定された検索条件に基づいて前記データベース３１を検索し、検索結果のデータ集合を取得する検索手段３２と、前記検索手段３２によって取得されたデータ集合の個々のデータに対して所望の順序付けを行うためのスコアを算出するスコア演算手段３３とを備えた。【選択図】図１
2007233752.tif 000002
【特許請求の範囲】
【請求項１】
指定された検索語又は検索文に基づいてデータベースから検索対象を検索し、検索結果を出力する検索装置において、
入力された検索要求を解析して検索条件を設定する設定手段と、
前記設定手段によって設定した検索条件に基づいて前記データベースを検索し、検索結果のデータ集合を取得する取得手段と、
前記取得手段によって取得したデータ集合の個々のデータに対して所望の順序付けを行うためのスコアを算出する演算手段と、
を備えていることを特徴とする検索装置。
【請求項２】
前記演算手段は、前記データ集合の個々のデータに加え、スコアを付けるデータの属性を指定してスコアを算出することを特徴とする請求項１記載の検索装置。
【請求項３】
前記演算手段は、前記取得手段によって取得したデータ集合の一部を用いてスコアを算出することを特徴とする請求項１記載の検索装置。
【請求項４】
前記演算手段は、前記取得手段によって取得したデータ集合の予め設定した上位スコアの部分を用いて新たなスコアを算出することを特徴とする請求項１記載の検索装置。
【請求項５】
前記演算手段は、前記取得手段によって取得したデータ集合に付与されているスコアを用いて新たなスコアを演算することを特徴とする請求項１記載の検索装置。
【請求項６】
前記演算手段は、前記取得手段によって取得したデータ集合のうち指定されたデータ集合を用いて得られたスコアと、指定されたデータ集合に含まれなかったデータ集合を用いて得られたスコアとの演算から新たなスコアを求めることを特徴とする請求項１ないし５のいずれか１項に記載の検索装置。
【請求項７】
前記演算手段は、前記取得手段によって取得したデータ集合を用いて得られたスコアと、取得しなかったデータ集合を用いて得られたスコアとの演算からスコアを求めることを特徴とする請求項１ないし６のいずれか１項に記載の検索装置。
【請求項８】
ユーザ端末、クライアント端末及びサーバを含み、前記データベースがサーバ側に、前記設定手段がクライアント端末側に、前記取得手段がクライアント端末側又はサーバ側に、前記演算手段がクライアント端末側又はサーバ側に設けられていることを特徴とする請求項１ないし７のいずれか１項に記載の検索装置。
【請求項９】
前記検索結果を２次元座標上に表示する表示手段を備えていることを特徴とする請求項１ないし８のいずれか１項に記載の検索装置。
【請求項１０】
コンピュータにロードされ、検索手段に備えられたコンピュータによって実行されるコンピュータプログラムにおいて、
検索要求を受け取り、当該検索要求を解析して検索条件を設定する第１の手順と、
前記第１の手順で得られた検索条件に基づいてデータベースを検索し、検索した結果得られたデータ集合を取得する第２の手順と、
前記第２の手順で得られたデータ集合の個々のデータに対して所望の順序付けを行うためのスコアを算出する第３の手順と、
を含んでいることを特徴とするコンピュータプログラム。
【請求項１１】
前記検索要求が前記スコアを付けるデータの属性の指定を含むことを特徴とする請求項１０記載のコンピュータプログラム。
【請求項１２】
前記第３の手順において、前記第２の手順で取得したデータ集合の一部、前記データ集合の予め設定した上位スコアの部分、前記データ集合に付与されているスコアを検索条件に含む部分、及び前記データ集合のうち指定されたデータ集合と指定されたデータ集合に含まれなかったデータ集合部分のいずれか１つの部分を用いて新たなスコアを演算することを特徴とする請求項１０記載のコンピュータプログラム。
【請求項１３】
請求項１０ないし１２のいずれか１項に記載のコンピュータプログラムが、コンピュータによって読み取られ実行可能に記録されていることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶手段に格納された電子データから必要度や重要度に応じて検索する検索装置、この検索装置で実行されるコンピュータプログラム、及びこのコンピュータプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
電子データに対する検索技術、あるいは検索結果の表示技術は、検索対象の情報量の増大による検索結果数の増大のため、ますます重要な技術となっている。なぜなら、求める情報が大量の検索結果に埋もれてしまい、見つけることが困難になっているからである。このような検索に関して、利用者がデータを記憶した記憶装置に蓄積された電子データから参照する電子データを特定する場合に用いる機能としてブラウジングと一覧とがある。ブウラウジングとは格納されている電子データ（電子文書−以下同様）から利用者が階層構造やリンクによりたどる操作を行い、目的の電子データに到達する方法である。この方法は、例えばWindows（登録商標）のExplorerでフォルダ階層をたどる操作や、WebブラウザによりWWW上の文書からリンクをたどる操作に相当する。この方法では、例えば、同一階層に大量の電子データがある場合に目的の電子データに到達するのが難しいという問題がある。
【０００３】
一方、一覧とは、電子データの集合に対して利用者が条件を指定し、その条件を満たす電子文書を列挙させてその一覧から目的の電子データを探す方法である。この方法は、例えばWindows（登録商標）のExplorerでのファイル検索やWWWにおけるサーチエンジンの提供する機能に相当する。この方法では、例えば同一階層に大量の電子データがある場合に、目的の電子データに到達するのが難しいという問題がある。これら２種の方法における前記問題に対しては、並べ替えを行うことにより解決を図るという技術が一般に知られている。
【０００４】
一方、これら２種の方法に代わるものとして、画面上に電子データを配置する位置を用いた方法、利用者が指定した条件を満たす電子データの集合を２次元平面上に配置し、類似度の高い文書が近くに配置されるようにした方法、あるいは、検索対象のデータに付随する属性値のうち２つを用いてデータの分布を２次元平面に射影する方法などがある。
【０００５】
また、これらよりもさらに進んだ方法として、検索条件を満たす情報の一覧をただ表示するのではなく、検索結果を適合度で順位付けして表示し、あるいは検索結果を多次元で表示して閲覧性を高めたりするものもある（特許文献１及び２参照）。あるいは、多次元表示以外にも複数の順序付け方法を用いて検索する方法も知られている（特許文献３参照）。さらに、限定された集合を利用して再検索する方法も知られている（特許文献４参照）。この方法では、一度目の検索で得られた文書集合と得られなかった文書集合を用いて、単語と検索語との関連度を計算して、再度検索している。
【特許文献１】特開２００２−２９７６６１号公報
【特許文献２】特開２００５−５６０８１号公報
【特許文献３】特許第３３４７０８８号公報
【特許文献４】特開２００２−２８８２１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１及び２に開示されているような多次元表示では、新たに加えられた次元には、単なるあいうえお順や数の昇順で表示され、スコアが付いていなかったり、スコアが付いていても固定的なものであったりで、十分な表示方法ではなかった。前者に対してはスコア付けしている方と比較して閲覧性に劣るのは明らかであり、後者に対しては最初の検索結果で得られた検索結果の集合を使っていない点で不十分であった。なぜなら、この集合はある検索条件によって限定された集合なので、この集合を利用してスコア付けをすれば、固定的なスコア付け、つまり全体の集合を利用してスコア付けするのと比較して、より適したスコア付けが可能となるにもかかわらず、こうした処理をしていないためである。
【０００７】
また、特許文献３に開示されている方法では、複数の順序付け方法で検索し、それらの検索結果を組み合わせることによってあらたな順序付けを定義しているが、それぞれの順序付け方法でどのような集合を利用するかについては触れられていない。
【０００８】
さらに、特許文献４に開示されているような限定された集合を利用して再検索する方法では、得られた関連度は再検索のためのキーワードの選択などに使われるだけで、個々の文書のスコアや個々の文書の属性のスコアをつけているわけではない。また、スコアを付ける対象は単語に限定されている。そのため、ユーザは一度目の検索結果を見て対話的に新たな属性を指定することもできない。できるのは、あくまで単語のスコアであって個々のデータや個々のデータの属性のスコアではないことから、検索結果の多次元表示などにも使うことができない。
【０００９】
本発明は、このような背景に鑑みてなされたもので、解決すべき課題は、よりユーザの検索目標に近いデータを効率的に検索することができるようにすることにある。
【課題を解決するための手段】
【００１０】
前記課題を解決するため、第１の手段は、指定された検索語又は検索文に基づいてデータベースから検索対象を検索し、検索結果を出力する検索装置において、入力された検索要求を解析して検索条件を設定する設定手段と、前記設定手段によって設定した検索条件に基づいて前記データベースを検索し、検索結果のデータ集合を取得する取得手段と、前記取得手段によって取得したデータ集合の個々のデータに対して所望の順序付けを行うためのスコアを算出する演算手段とを備えていることを特徴とする。
【００１１】
第２の手段は、第１の手段において、前記演算手段が前記データ集合の個々のデータに加え、スコアを付けるデータの属性を指定してスコアを算出することを特徴とする。
【００１２】
第３の手段は、第１の手段において、前記演算手段が前記取得手段によって取得したデータ集合の一部を用いてスコアを算出することを特徴とする。
【００１３】
第４の手段は、第１の手段において、前記演算手段が前記取得手段によって取得したデータ集合の予め設定した上位スコアの部分を用いて新たなスコアを算出することを特徴とする。
【００１４】
第５の手段は、第１の手段において、前記演算手段が前記取得手段によって取得したデータ集合に付与されているスコアを用いて新たなスコアを演算することを特徴とする。
【００１５】
第６の手段は、第１ないし第５のいずれかの手段において、前記演算手段は、前記取得手段によって取得したデータ集合のうち指定されたデータ集合を用いて得られたスコアと、指定されたデータ集合に含まれなかったデータ集合を用いて得られたスコアとの演算から新たなスコアを求めることを特徴とする。
【００１６】
第７の手段は、第１ないし第６のいずれかの手段において、前記演算手段は、前記取得手段によって取得したデータ集合を用いて得られたスコアと、取得しなかったデータ集合を用いて得られたスコアとの演算からスコアを求めることを特徴とする。
【００１７】
第８の手段は、第１ないし第７のいずれかの手段において、ユーザ端末、クライアント端末及びサーバを含み、前記データベースがサーバ側に、前記設定手段がクライアント端末側に、前記取得手段がクライアント端末側又はサーバ側に、前記演算手段がクライアント端末側又はサーバ側に設けられていることを特徴とする。
【００１８】
第９の手段は、第１ないし第８のいずれかの手段において、前記検索結果を２次元座標上に表示する表示手段を備えていることを特徴とする。
【００１９】
第１０の手段は、コンピュータにロードされ、検索手段に備えられたコンピュータによって実行されるコンピュータプログラムにおいて、検索要求を受け取り、当該検索要求を解析して検索条件を設定する第１の手順と、前記第１の手順で得られた検索条件に基づいてデータベースを検索し、検索した結果得られたデータ集合を取得する第２の手順と、前記第２の手順で得られたデータ集合の個々のデータに対して所望の順序付けを行うためのスコアを算出する第３の手順とを含んでいることを特徴とする。
【００２０】
第１１の手段は、第１０の手段において、前記検索要求が前記スコアを付けるデータの属性の指定を含むことを特徴とする。
【００２１】
第１２の手段は、第１０の手段において、前記第３の手順において、前記第２の手順で取得したデータ集合の一部、前記データ集合の予め設定した上位スコアの部分、前記データ集合に付与されているスコアを検索条件に含む部分、及び前記データ集合のうち指定されたデータ集合と指定されたデータ集合に含まれなかったデータ集合部分のいずれか１つの部分を用いて新たなスコアを演算することを特徴とする。
【００２２】
第１３の手段は、第１０ないし第１２のいずれかに記載のコンピュータプログラムが、コンピュータによって読み取られ実行可能に記録媒体に記録されていることを特徴とする。
【００２３】
なお、後述の実施形態では、データベースは符号３１に、設定手段は検索要求解析手段２２に、取得手段は検索手段３２に、演算手段はスコア演算手段３３に、ユーザ端末は符号１０に、クライアント端末は符号２０に、サーバは符号３０に、表示手段は表示装置４０及びメイン画面４１にそれぞれ対応する。
【発明の効果】
【００２４】
本発明によれば、検索結果集合を用いて新たなスコアを算出するので、よりユーザの検索目標に近いデータを効率的に検索することができる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照し、本発明の実施形態について説明する。  
【実施例１】
【００２６】
図１は実施例１における検索システムの概要を示すブロック図である。この検索システムは書籍検索システムとして構成されたものであり、ここでは、「料理」という言葉を検索語としたときの例を挙げて説明する。本実施例に係る検索システムは、ユーザ（端末）１０、クライアント（端末）２０及びサーバ３０から構成されている。なお、ユーザ及びクライアントはパーソナルコンピュータから構成されている。クライアント２０には、入力手段２１、検索要求解析手段２２、及び出力手段２３が設けられ、サーバ３０には、データベース３１、検索手段３２及びスコア演算手段３３が設けられている。
【００２７】
ユーザ１０からは、検索要求１１が出力され、検索結果１２が入力される。検索要求１１は、ユーザなどの本システム外からの要求で、検索語、検索文、検索方法や検索対象の指定などからなる。検索結果１２はクライアント２０側から入力された検索結果が出力（表示）される。
【００２８】
クライアント２０は、入力手段２１、検索要求解析手段２２及び出力手段２３を備えている。入力手段２１は検索要求１１を受け取る本システムのインターフェースである。検索要求解析手段２２は、検索要求１１を解析して、検索手段３２に必要なデータの取得を要求し、また、取得したデータを出力手段２３に渡す。出力手段２３は検索結果を出力するための本システムのインターフェースである。
【００２９】
サーバ３０はデータベース３１、検索手段３２及びスコア演算手段３３を備えている。データベース３１は検索対象のデータが格納されている。検索手段３２は指定された条件でデータベース３１からデータを取得する。スコアが必要な場合は、スコア演算手段３３にスコアを要求する。スコア演算手段３３はデータのスコアを計算する。スコア演算手段３３は検索手段３２からデータベースの部分集合を受け取って、その集合に応じて値の付け方が変わるようなスコア計算を行うことができる。
【００３０】
なお、検索要求解析手段２２、検索手段３２及びスコア演算手段３３はソフトウェアによって構成され、クライアント２０及びサーバ３０の図示しないＣＰＵが前記ソフトウェアを実行することにより、各種の制御が行われる。
【００３１】
データベース３１には、例えば、表１に示すようなデータが格納されている。
【表１】
2007233752.tif 000003
【００３２】
この実施例においては、例えば、ユーザ１０は検索語「料理」を入力し、タイトルに含まれることを指定する。システムは、検索結果をタイトルの適合度順にユーザ１０側に返す。次にユーザ１０は検索結果を再配置させる属性として著者を選択する。システムは、検索結果集合を利用して、著者のスコア付けを行う。ユーザ１０は、著者のスコアに応じて並べられた検索結果を得る。このような検索を行う場合の処理手順についてフローチャートを参照して説明する。図２は検索全体の処理手順を示すフローチャートである。
【００３３】
同図において、ユーザ１０側から検索語や検索対象を入力し、検索要求の入力があると（ステップＳ１０１）、検索要求解析手段２２では、ユーザの検索要求を解析する（ステップＳ１０２）。ここでは再検索要求かどうかで処理が異なる。次いで、検索手段３２がデータベース３１の検索対象からなる集合に対して検索を実行し（ステップＳ１０３）、スコア計算の必要性の有無をチェックする（ステップＳ１０４）。必要ならば指定のスコア計算方式でスコアを計算し（ステップＳ１０５）、その計算結果に基づいて検索結果を出力する（ステップＳ１０６）。必要なければ、そのまま検索結果を出力する（ステップＳ１０６）。そして、再検索が要求されればステップＳ１０１に戻って再度検索し、要求されなければその状態で処理を終える（ステップＳ１０７）。
【００３４】
ステップＳ１０２では、前述のようにユーザの検索要求を解析する。図３はこの解析の処理手順を示すフローチャートである。同図において、検索要求を受け取ると（ステップＳ２０１）、再検索か否かをチェックし（ステップＳ２０２）、再検索であれば前回の検索要求を取得し（ステップＳ２０３）、取得対象に「著者」と「著者のスコア」を追加設定して（ステップＳ２０４）検索手段３２に検索要求を返す（ステップＳ２０６）。一方、ステップＳ２０２で再検索でなければ、検索語に「料理」、検索対象に「タイトル」、取得対象に「タイトル」と「タイトルの適合度」を設定し（ステップＳ２０５）、ステップＳ２０６で検索要求を返す。
【００３５】
ステップＳ１０３では検索が実行されるが、この検索の実行とは、ユーザが要求するデータを取得するための検索を実行し、検索結果集合をスコア演算手段３３あるいは検索要求解析手段２２側に返すことである。取得した検索結果集合の例を下記の表２に示す。
【表２】
2007233752.tif 000004
【００３６】
ステップＳ１０６では、検索結果を出力するが、出力された検索結果は、ここではユーザ１０の表示画面に表示される。この表示画面４０を図４に示す。この表示画面４０のメイン画面４１では、表２に示したようにタイトルの適合度の高い順から縦方向にタイトルを並べて表示している。また、第１のサブ画面４２には、検索語である「料理」と検索対象である「タイトル」が表示され、第２のサブ画面４３には、さらに絞り込む場合の検索語と検索対象を入力するための画面が表示されている。この表示に対して、ステップＳ１０７でユーザ１０から再検索の要求があれば再検索する。再検索では、ステップＳ１０１の検索要求の入力で、ユーザは再検索の指定を入力する。例えば、最初の検索で得られた検索結果を著者でスコア付けすると指定する。次いで、ステップＳ１０２で検索要求を解析し、例えば、「料理」がタイトルに含まれる書籍を著者でスコア付けする場合は、まず「料理」をタイトルに含む書籍の取得を要求し、さらにその検索結果集合に含まれる書籍の著者をそれぞれ数え上げることを要求する。ステップＳ１０３の検索の実行では、例えば、スコアが必要で検索結果から直接スコアが得られない場合は、スコアを計算する。スコアの計算では、指定のスコア計算方式でスコアを計算する。例えば、著者のスコアが、ある集合にその著者が含まれる書籍の件数で示される場合、検索結果集合を受け取り、その検索結果集合に現れる著者をそれぞれ数え上げて検索結果に追加する。
【００３７】
図５はスコアの計算の処理手順を示すフローチャートである。スコアを計算する場合、まず、タイトル、タイトルのスコア、著者からなる検索結果集合を受け取り（ステップＳ３０１）、著者の出現個数を格納するリストを用意する（ステップＳ３０２）。次いで、検索結果集合から１件取り出し（ステップＳ３０３，Ｓ３０４）、との取り出した１件からさらに著者を取り出し、既に取得済みかどうかを調べる（ステップＳ３０５）。取得済みであれば（ステップＳ３０６−ＹＥＳ）、リストの該当する著者の出現回数を１増やし、ステップＳ３０３に戻る。取得済みでなければ（ステップＳ３０６−ＮＯ）、リストにその著者の項目を追加し、出現回数を１としてステップＳ３０３に戻る。この処理を検索結果集合の全てについて実行し、検索結果集合の各データに著者の出現回数を著者のスコアとして追加し（ステップＳ３０９）、検索結果集合を検索手段３２に返す（ステップＳ３１０）。
【００３８】
表３はステップＳ３０４で全て取り出した検索結果集合に含まれる各著者の書籍件数を数え上げたリストの例である。  
【表３】
2007233752.tif 000005
【００３９】
表３に示したステップＳ３０４のリストに対してステップＳ３０９で著者のスコアを追加した検索結果集合は表４に示すようになる。  
【表４】
2007233752.tif 000006
【００４０】
図６は表４に示した再検索結果集合の出力表示画面を示す図である。この表示画面では、メイン画面４１に検索結果が出力されている。例えば、縦方向に上からタイトルの適合度の高い順に並べ、横方向に著者のスコアの高い順に並べる場合、タイトルの適合度と著者のスコアで得られる位置にタイトルが表示される。ちなみに本実施例では、一度検索して検索結果集合を得てから検索結果を再検索する場合について説明したが、はじめから全て指定をすることも可能である。ただしその場合は、どの検索結果集合を用いてどのスコアを付けるか指定する必要がある。
【００４１】
また、本実施例では、毎回検索することとして説明したが、前回の検索条件と今回の検索条件の差分がスコア演算によって取得できるデータだけであれば、すでに取得済みの検索結果集合を用いることにより再検索を省略してスコアの計算だけを実行することも可能である。ただし、その場合は、検索手段等が前回の検索条件を保存しておき今回の検索条件と比較する必要がある。
【００４２】
以上のように本実施例によれば、ある検索条件によって限定された集合を利用して著者のスコアを付けているので、全体の集合を利用してスコア付けするのと比較して、より適切なスコア計算が可能となる。例えば、本実施例では料理関係の書籍を多く書いている人が高い著者スコアを持つようにスコアを計算でき、その他の分野で多くの書籍を書いていても著者スコアは高くならない。
【実施例２】
【００４３】
実施例２は実施例１に対してスコアの計算方法が異なる例である。  
この実施例では、検索結果集合の全件を使わず、例えば登録が一年以内のもので制限した検索結果部分集合からスコアを計算する。図７はこのときの処理手順を示すフローチャートである。この図７のフローチャートは、実施例１の図３に示したフローチャートのステップ２０４の処理の検索条件に「登録日」を加えたものである。すなわち、図７のフローチャートでは、ステップＳ２０３で前回の検索要求を取得した後、取得対象に「著者」、「著者のスコア」及び「登録日」を追加設定し（ステップＳ２０４ａ）、検索手段３２に検索要求を返す（ステップＳ２０６）ようにしている。その他の各ステップは図３の処理と同一である。
【００４４】
また、スコアの計算は図８に示すフローチャートに示した処理手順で行われる。この処理手順では、図５のステップＳ３０１の処理に登録日を加えた検索結果集合、すなわち、タイトル、タイトルのスコア、著者、及び登録日からなる検索結果集合を受け取り（ステップＳ３０１ａ）、この集合に対してステップＳ３０２からステップＳ３１０の処理を実行する。ただし、登録日を加えたことによりステップＳ３０５に代えてステップＳ３０５ａ、Ｓ３０５ｂ、Ｓ３０５ｃの処理を実行する。すなわち、登録日を取り出して一年以内かどうかを調べ（ステップＳ３０５ａ）、一年以内のもの（ステップＳ３０５ｂ）の中から、著者を取り出してすでに取得済みか否かを調べる（ステップＳ３０５ｃ）。その後、ステップＳ３０６以降の処理を実行する。
【００４５】
この図８のフローチャートの処理手順で処理した検索結果集合、すなわち、タイトルに「料理」を含み、かつ登録が一年以内の検索結果集合は例えば表５のようになる。
【表５】
2007233752.tif 000007
【００４６】
表５の結果に対して登録日で限定された検索結果集合に含まれる各著者の書籍件数を数え上げると表６に示すようになる。
【表６】
2007233752.tif 000008
【００４７】
図８のフローチャートにおけるステップＳ３０４のリスト（表６）に対してステップＳ３０９で著者のスコアを追加した検索結果集合は表７に示すようになる。
【表７】
2007233752.tif 000009
【００４８】
図９は本実施例における検索結果の表示画面の一例を示す図で、縦軸に登録日が、横軸に著者がそれぞれパラメータに設定されている。これによりどの作者がこの一年間のどの時期にどのようなタイトルの料理に関係する本を出版したかが２次元座標上に表示される。
【００４９】
その他、特に説明しない各部は前述の実施例１と同等に構成され、同等に機能する。また、図７及び図８に示したフローチャート以外の制御も実施例１と同等である。
【００５０】
このように構成した実施例２では、実施例１よりもさらに限定した集合を利用できるので、より適切なスコア計算が可能となる。例えば、本実施例では表７から分かるように最近出版されたり入荷されたりした「料理」関係の書籍を多く書いている人が高いスコアを持つようにスコアを計算でき、最近料理関係書籍を書いていない人は著者スコアが高くならない。したがって、より現況がわかるような検索結果が得られる。
【実施例３】
【００５１】
実施例３は実施例１に対してスコアの計算方法が異なるさらに他の例である。  
この実施例は、検索結果集合の全件を使わず、例えば初回の検索で得られたタイトルの適合度上位Ｎ件で制限した検索結果部分集合からスコアを計算するものである。図１０はこのスコア計算の処理手順を示すフローチャートである。この処理手順では、実施例１における図５のフローチャートのステップＳ３０３の処理に対してタイトルのスコアの大きい方から一件取り出すようにし（ステップＳ３０３ａ）、取り出したタイトルに対してステップＳ３０４ないしステップＳ３１０の処理を実行する。その際、ステップＳ３０５の前段にステップＳ３０５ｄ及びＳ３０５ｅの処理手順を実行する。すなわち、ステップＳ３０５ｄでは、ステップＳ３０３ａで取り出したタイトルの件数がＮ件以下かどうかを調べ、Ｎ件より大きければ（ステップＳ３０５ｅ−ＮＯ）ステップＳ３０９に移行し、Ｎ件以下であれば（ステップＳ３０５ｅ−ＹＥＳ）、ステップＳ３０５の処理、すなわち、著者を取り出し、すでに取得済みか否かを調べ、ステップＳ３０６以降の処理に以降する。
【００５２】
表８はタイトルに「料理」に関連した語を含む検索結果集合の例である。この表から分かるように、「料理」と関連があると判定された「教室」をタイトルに含む書籍も検索されている。
【表８】
2007233752.tif 000010
【００５３】
表８に示した検索結果集合をタイトルの適合度上位５件に制限すると表９に示すようになる。  
【表９】
2007233752.tif 000011
【００５４】
また、表９に示したタイトルの適合度で限定された検索結果集合に含まれる各著者の書籍件数を数え上げてリスト化すると表１０に示すようになる。
【表１０】
2007233752.tif 000012
【００５５】
表９の結果に著者のスコアを追加すると、検索結果集合は表１１に示すようになる。
【表１１】
2007233752.tif 000013
【００５６】
図１１は本実施例における検索結果の表示画面の一例を示す図で、縦軸に登録日が、横軸に著者がそれぞれパラメータに設定されている。これにより初回の検索で得られたタイトルの適合度の上位にランク付けされた作者と書籍の検索結果部分集合が２次元座標上に表示される。
【００５７】
その他、特に説明しない各部は前述の実施例１と同等に構成され、同等に機能する。また、図７及び図８に示したフローチャート以外の制御も実施例１と同等である。
【００５８】
このように構成した実施例３では、実施例２とは異なる限定方法で実施例１よりもさらに限定した集合を利用することができるので、より適切なスコア計算が可能となる。例えば、本実施例では、最初の検索で「料理」をタイトルに含む書籍ではなく、「料理」の関連語をタイトルに含む書籍を検索したとする。この場合「料理」は含まないが、「クッキング」とか「食卓」などをタイトルに含む書籍も検索できる。
【００５９】
しかし、適切な関連語が選ばれるとは限らないので料理とは関係がなさそうな書籍も検索結果集合に含まれてしまう。この例では「英会話教室」などである。ただし、このような料理と関係がなさそうな書籍は、タイトルの適合度も小さいことが多いので、著者のスコアを付ける際にタイトルの適合度が上位のものだけに制限すれば、これらの書籍をスコア計算から排除したうえで、「料理」関係の書籍を多く書いている人が高いスコアを持つようにスコア計算を行うことができる。
【実施例４】
【００６０】
実施例４は実施例１に対してスコアの計算方法がさらに異なる他の例である。  
この実施例は最初の検索で得られたスコアに応じてカウント件数に重みを付けてスコア計算するものである。図１２はこの実施例におけるスコア計算の処理手順を示すフローチャートである。このフローチャートは実施例１における図５のフローチャートのステップＳ３０７，Ｓ３０８，Ｓ３０９の処理が実施例１とは異なっている。すなわち、ステップＳ３０１からステップＳ３０６まで処理した後、著者を取得していれば、リストの該当する著者の重み付け出現回数をタイトルのスコア分増やし（ステップＳ３０７ａ）、取得していなければ、リストにその著者の項目を追加し、重み付き出現回数にタイトルのスコアを設定する（ステップＳ３０８ａ）。この動作を検索結果集合の全てに対して実行した後（ステップＳ３０４）、検索結果集合の各データに著者の重み付き出現回数を著者のスコアと追加し（ステップＳ３０９ａ）、ステップＳ３１０の処理を実行する。
【００６１】
このようにしてスコアを計算した初回検索結果集合の一例を表１２に示す。
【表１２】
2007233752.tif 000014
【００６２】
また、検索結果集合に含まれる各著者の重み付き書籍件数は例えば表１３として示したリストのようになる。
【表１３】
2007233752.tif 000015
【００６３】
表１２のリストに著者のスコアを追加した検索結果集合は例えば表１４に示すようになる。
【表１４】
2007233752.tif 000016
【００６４】
その他、特に説明しない各部は前述の実施例１と同等に構成され、同等に機能する。また、図１２に示したフローチャート以外の制御も実施例１と同等である。
【００６５】
このように構成され、処理される本実施例によれば、初回の検索結果集合の内容を反映したスコア計算ができるので、より適切なスコア計算が可能となる。例えば、件数の変わりに表１３に示したようなタイトルの適合度の合計を使えば、タイトルの適合度が高い書籍数が多い著者のスコアが高くなり、件数が多いだけの著者のスコアは低くなる。このような結果に基づいて前述のように表示画面４０のメイン画面４１に表示すれば、重み付けされた著者のスコアをパラメータとする画面で検索結果の表示が可能となる。
【実施例５】
【００６６】
実施例５は実施例１に対してスコアの計算方法がさらに異なる例である。
【００６７】
この実施例は全体の集合も利用してスコア付けするが、最初の検索で得られた集合に重みを付けてスコア計算するものである。例えば、ある著者の書籍が検索結果集合に含まれる場合は２件としてカウントし、検索結果集合に含まれていない書籍は１件としてカウントし、スコア計算する。図１３はこの実施例におけるスコア計算の処理手順を示すフローチャートである。このフローチャートは実施例１における図５のフローチャートのステップＳ３０８の後段にステップＳ３０８ｂ，Ｓ３０８ｃを設けたものである。すなわち初めて著者名が出てきたときに（ステップＳ３０６−ＮＯ）、ステップＳ３０８でリストにその著者の項目を追加し、出現回数を１とした後、検索語として検索する著者名、検索対象に著者、取得対象に書籍の件数で検索して検索結果を取得し（ステップＳ３０８ｂ）、得られた件数を出現回数に設定し（ステップＳ３００８ｃ）、ステップＳ３０２に戻り、当該ステップ以降の処理を繰り返す。
【００６８】
その他、特に説明しない各部は前述の実施例１と同等に構成され、同等に機能する。また、図１２に示したフローチャート以外の制御も実施例１と同等である。
【００６９】
このように構成され、処理される本実施例によれば、集合が限定されすぎた場合などでも、適切なスコア計算が可能となる。例えば、検索結果集合が少なくてほとんどの著者が１件しか書いていない場合は、著者のスコアの差がでない。そこで、検索結果集合以外の情報も加味することにより著者のスコアの差を出すことができる。
【図面の簡単な説明】
【００７０】
【図１】実施例１における検索システムの概要を示すブロック図である。
【図２】実施例１における検索全体の処理手順を示すフローチャートである。
【図３】図２におけるステップＳ１０２の処理手順の詳細を示すフローチャートである。
【図４】図２におけるステップＳ１０６の検索結果の表示画面を示す図である。
【図５】実施例１におけるスコア計算の処理手順を示すフローチャートである。
【図６】表４に示した再検索結果集合の出力表示画面を示す図である。
【図７】実施例２におけるステップＳ１０２の処理手順を示すフローチャートである。
【図８】実施例２におけるスコア計算の処理手順を示すフローチャートである。
【図９】実施例２における検索結果の表示画面を示す図である。
【図１０】実施例３におけるスコア計算の処理手順を示すフローチャートである。
【図１１】実施例３における検索結果の表示画面を示す図である。
【図１２】実施例４におけるスコア計算の処理手順を示すフローチャートである。
【図１３】実施例５におけるスコア計算の処理手順を示すフローチャートである。
【符号の説明】
【００７１】
１０  ユーザ（端末）
２０  クライアント（端末）
２２  検索要求解析手段
３０  サーバ
３１  データベース
３２  検索手段
３３  スコア演算手段
【図１】
2007233752.tif 000017
【図２】
2007233752.tif 000018
【図３】
2007233752.tif 000019
【図４】
2007233752.tif 000020
【図５】
2007233752.tif 000021
【図６】
2007233752.tif 000022
【図７】
2007233752.tif 000023
【図８】
2007233752.tif 000024
【図９】
2007233752.tif 000025
【図１０】
2007233752.tif 000026
【図１１】
2007233752.tif 000027
【図１２】
2007233752.tif 000028
【図１３】
2007233752.tif 000029