(57)【特許請求の範囲】
【請求項１】
ユーザから入力された第１の検索クエリーに含まれる１又は複数のクエリー要素を抽出し、
前記クエリー要素ごとに、各々異なる種類のデータを格納する複数のデータベースとの関連度を算出し、
前記関連度に基づいて、前記クエリー要素ごとに前記複数のデータベースの各々との関連の有無を判定し、
前記複数のデータベースの各々について、当該データベースと関連有りと判定されたクエリー要素がある場合は、当該クエリー要素を含む第２の検索クエリーを生成し、
前記第２の検索クエリーに基づいて、前記複数のデータベースのうち、当該第２の検索クエリーに対応するデータベースを検索する
処理をコンピュータに実行させるための検索プログラム。
【請求項２】
一のエンティティに対して関連付けられた複数のデータブロックが、前記複数のデータベースに分散して格納されており、
前記検索する処理において、前記複数のデータベースのうち二以上のデータベースの各々から前記データブロックが検出されると、当該データブロックに関連付けられているエンティティを特定して、当該エンティティの集合を生成し、
前記エンティティの集合から、所定のルールに基づいて、当該エンティティの部分集合を生成する
処理を、さらに、前記コンピュータに実行させるための請求項１記載の検索プログラム。
【請求項３】
前記関連度を算出する処理が、
前記クエリー要素ごとに、前記複数のデータベースの各々における当該クエリー要素の出現頻度をカウントし、当該出現頻度に基づいて、当該クエリー要素と前記データベースの各々との前記関連度を算出する
処理を含む、請求項１又は２記載の検索プログラム。
【請求項４】
前記関連度を算出する処理が、
カテゴリと当該カテゴリに含まれる複数のカテゴリ要素とを対応付けるカテゴリルールに基づいて、前記クエリー要素を前記カテゴリ要素として含むカテゴリを特定し、
前記カテゴリルールに基づいて、特定された前記カテゴリに含まれる前記複数のカテゴリ要素を取得し、
前記複数のデータベースの各々について、取得した前記複数のカテゴリ要素の出現頻度をカウントし、
前記出現頻度に基づいて、前記クエリー要素と前記複数のデータベースの各々との前記関連度を算出する
処理を含む、請求項１又は２記載の検索プログラム。
【請求項５】
前記検索する処理が、
カテゴリと当該カテゴリに含まれる複数のカテゴリ要素とを対応付けるカテゴリルールに基づいて、前記クエリー要素をカテゴリ要素として含むカテゴリを特定し、
前記カテゴリと検索方法とを対応付ける検索ルールに基づいて、特定された前記カテゴリに対応する検索方法を特定し、
特定された前記検索方法に基づいて検索する
処理を含む、請求項１又は２記載の検索プログラム。
【請求項６】
前記エンティティの集合を生成する処理が、
前記検索する処理にて検出された前記データブロックごとに、所定のルールに基づいて前記第２の検索クエリーとの合致度を示す第１の評価値を算出し、
前記エンティティの部分集合を生成する処理が、前記エンティティごとに、当該エンティティに関連付けられた前記データブロックの前記第１の評価値に基づいて、当該エンティティの評価を示す総合評価値を算出し、
前記総合評価値に基づいて、前記エンティティの集合から前記エンティティの部分集合を生成する
処理を含む請求項２記載の検索プログラム。
【請求項７】
ユーザから入力された第１の検索クエリーに含まれる一又は複数のクエリー要素を抽出し、
前記クエリー要素ごとに、各々異なる種類のデータを格納する複数のデータベースとの関連度を算出し、
前記関連度に基づいて、前記クエリー要素ごとに前記複数のデータベースとの関連の有無を判定し、
前記複数のデータベースの各々について、当該データベースと関連有りと判定されたクエリー要素がある場合は、当該クエリー要素を含む第２の検索クエリーを生成し、
前記第２検索クエリーに基づいて、前記複数のデータベースのうち、当該第２検索クエリーに対応するデータベースを検索する
処理を含み、コンピュータにより実行される検索方法。
【請求項８】
ユーザから入力された第１の検索クエリーに含まれる一又は複数のクエリー要素を抽出する抽出部と、
前記クエリー要素ごとに、各々異なる種類のデータを格納する複数のデータベースの各々との関連度を算出する算出部と、
前記関連度に基づいて、前記クエリー要素ごとに前記複数のデータベースの各々との関連の有無を判定する判定部と、
前記複数のデータベースの各々について、当該データベースと関連有りと判定された前記クエリー要素がある場合は、当該クエリー要素を含む第２の検索クエリーを生成する検索クエリー生成部と、
前記第２の検索クエリーに基づいて、前記複数のデータベースのうち、当該第２の検索クエリーに対応するデータベースを検索する検索部と
を有する検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、検索技術に関する。
【背景技術】
【０００２】
各々異なる種類のデータを格納する複数のデータベースが検索対象である場合、ユーザが検索クエリーを入力すると、その検索クエリーに基づいて複数のデータベースが検索され、検索クエリーに適合するデータが検出される。複数のデータベースを検索対象とする従来技術としては、ユーザが複数のデータベースの中から一のデータベースを選択すると、そのデータベースに専用の検索画面が表示されるものが知られている。この検索画面に入力されたキーワードにて、選択されたデータベースが検索される。
【０００３】
しかし、上記従来技術では、ユーザは複数のデータベースの各々について、そのデータベースに専用の検索画面に検索クエリーを入力することとなる。また、検索の精度を高めるためには、ユーザ自身が、各データベースのデータの特性を把握し、どのデータベースにどのような種類のキーワードが適するかを考えることとなる。このため、ユーザにとっては利便性が低かった。
【０００４】
一方、従来技術として、ユーザが、すべてのデータベースについて共通の検索クエリーを入力する方法も知られている。しかし、複数のデータベースの各々に異なる種類のデータが格納されている場合、共通の検索クエリーにはデータの種類に不適切なキーワードが含まれることとなり、検索精度が落ちる。このため、ユーザは所望のデータを得ることができない場合があった。
【０００５】
特に、近年は、一つのエンティティに関するデータが、複数のデータベースに分散して格納されるケースが多くなっている。たとえば、エンティティが商品、書籍、店舗などの場合、商品の商品名や機能、書籍の書誌事項、店舗の種類や場所などの要素が基本的なデータとなる。この基本的なデータに、安い、おもしろい、美味しい、といった評価の要素を含むデータや、人気や価格などのランキングの要素を含むデータなど、付属的なデータが付加される。そして、これらのデータは複数のデータベースに分散して格納される場合がある。特に、インターネットのブログなどにおいては、基本的なデータに評価の要素を含むデータが付加されるケースが多い。また、企業内でもデータの共有化が進み、一つのエンティティに対して複数人がデータを付加することがある。このように、一つのエンティティに関して様々な種類のデータが付加され、このデータが複数のデータベースに分散して格納されるケースが増加しており、検索時に所望のデータを得るのが難しくなっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１３３５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従って、本技術の目的は、一側面として、複数のデータベースを検索する場合において、ユーザの利便性を高めるための技術を提供することである。
【課題を解決するための手段】
【０００８】
本検索方法は、（Ａ）ユーザから入力された第１の検索クエリーに含まれる１又は複数のクエリー要素を抽出し、（Ｂ）クエリー要素ごとに、各々異なる種類のデータを格納する複数のデータベースとの関連度を算出し、（Ｃ）関連度に基づいて、クエリー要素ごとに複数のデータベースの各々との関連の有無を判定し、（Ｄ）複数のデータベースの各々について、当該データベースと関連有りと判定されたクエリー要素がある場合は、当該クエリー要素を含む第２の検索クエリーを生成し、（Ｅ）第２の検索クエリーに基づいて、複数のデータベースのうち、当該第２の検索クエリーに対応するデータベースを検索する処理を含む。
【発明の効果】
【０００９】
複数のデータベースを検索する場合において、ユーザの利便性を高めることができる。
【図面の簡単な説明】
【００１０】
【図１】図１（ａ）は、本技術の実施の形態における検索対象となるデータベースの例１を説明するための図である。図１（ｂ）は、本技術の実施の形態における検索対象となるデータベースの例２を説明するための図である。図１（ｃ）は、本技術の実施の形態における検索対象となるデータベースの例３を説明するための図である。
【図２】図２は、検索装置の機能ブロック図である。
【図３】図３は、検索装置による処理の処理フローを示す図である。
【図４】図４は、抽出部の処理の処理フローを示す図である。
【図５】図５は、抽出部による処理の具体例を説明する図である。
【図６】図６は、計算部と判定部の処理の処理フローの例１を示す図である。
【図７】図７は、計算部と判定部の処理の処理フローの例２を示す図である。
【図８】図８（ａ）乃至（ｂ）は、計算部と判定部の処理の具体例を説明する図である。
【図９】図９は、関連度を計算する処理の処理フローの例１を示す図である。
【図１０】図１０は、関連度を計算する処理の処理フローの例２を示す図である。
【図１１】図１１は、カテゴリテーブルの一例を示す図である。
【図１２】図１２は、クエリー生成部による処理の処理フローのを示す図である。
【図１３】図１３（ａ）と図１３（ｂ）は、クエリー生成部による処理の具体例を説明する図である。
【図１４Ａ】図１４Ａは、検索部による処理の処理フローを示す図である。
【図１４Ｂ】図１４Ｂは、カテゴリに応じて検索方法を選択する処理の処理フローを示す図である。
【図１５】図１５は、集合生成部による処理の処理フローの例１を示す図である。
【図１６】図１６は、集合生成部による処理の処理フローの例１について具体例を説明する図である。
【図１７】図１７は、集合生成部による処理の処理フローの例２を示す図である。
【図１８】図１８は、集合生成部による処理の処理フローの例２について具体例を説明する図である。
【図１９】図１９は、各地域の位置関係を表すデータの一例を示す図である。
【図２０】図２０は、部分集合生成部による処理の処理フローの例１を示す図である。
【図２１】図２１（ａ）乃至図２１（ｃ）は、部分集合生成部による処理の処理フローの例１について具体例を説明する図である。
【図２２】図２２は、部分集合生成部による処理の処理フローの例２を示す図である。
【図２３】図２３は、部分集合生成部による処理の処理フローの例２を示す図である。
【図２４】図２４（ａ）乃至図２５（ｃ）は、部分集合生成部による処理の処理フローの例２について具体例を説明する図である。
【図２５】図２５は、他の実施の形態の検索装置を説明する機能ブロック図である。
【図２６】図２６は、他の実施の形態の検索装置を説明する機能ブロック図である。
【図２７】図２７は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
最初に、図１乃至図３を用いて、本技術の実施の形態における概要を説明しておく。本実施の形態において検索対象となるデータベースは複数であり、各々異なる種類のデータが格納されている。データベースに格納されているデータは、一のエンティティに対して複数のデータブロックが関連付けられており、これらのデータブロックが複数のデータベースに分散して格納されている。図１（ａ）乃至図１（ｃ）は、本実施の形態において検索対象となるデータベースの例である。
【００１２】
図１（ａ）は、検索対象となるデータベースの例１を説明するための図である。例１では、識別子によりエンティティと複数のデータブロックが関連付けられる。識別子は、例えば、書籍のタイトル、店舗の店名、文献の文献番号などである。この識別子が各データブロックに付与されることで、エンティティとデータブロックが関連付けられる。図１（ａ）では、識別子ｅ１が付与されたデータブロックｄ１はエンティティＥ１に関連付けられ、識別子ｅ２が付与されたデータブロックｄ２はエンティティＥ２に関連付けられ、識別子ｅ３が付与されたデータブロックｄ３はエンティティＥ３に関連付けられている。各データブロックｄ１乃至ｄ３は、その種類に応じて複数のデータベースに分散して格納されている。例えば、エンティティが書籍であれば、書誌事項が記述されたデータブロック、評価が記述されたデータブロックなどが各々異なるデータベースに格納される。なお、ここで識別子は、例えば個々を識別するシリアル番号のように、厳密な一意名としての識別子だけでなく、例えば製品名といったように、種類や分類を特定できる名称等も含まれる。
【００１３】
図１（ｂ）は、検索対象となるデータベースの例２を説明するための図である。例２では、参照によりエンティティと複数のデータブロックとが関連付けられる。例えば、エンティティに関する主となるデータブロックと、付属的なデータブロックとがあり、付属的なデータブロックは主となるデータブロックへのリンクを有する。そして、主となるデータブロックと付属的なデータブロックは、複数のデータベースに分散して格納されている。典型例としては、例えば、Ｗｅｂアノテーションが挙げられる。Ｗｅｂアノテーションは、Ｗｅｂページに付加情報を与える技術である。たとえば、Ｗｅｂページに付箋（メモ書き）を電子的に与える場合、Ｗｅｂページが主となるデータブロックであり、Ｗｅｂページにリンクを有するメモ書きが付属的なデータブロックである。図１（ｂ）では、エンティティＥ１についてはデータブロックｄ４２がデータブロックｄ４１を参照し、エンティティＥ２についてはデータブロックｄ５２がデータブロックｄ５１を参照し、エンティティＥ３についてはデータブロックｄ６２がデータブロックｄ６１を参照している。主となるデータブロックｄ４１，ｄ５１，ｄ６１と付属的なデータブロックｄ４２，ｄ５２，ｄ６２は、異なるデータベースに分散して格納されている。
【００１４】
図１（ｃ）は、検索対象となるデータベースの例３を説明するための図である。例３は、データの分割によりエンティティと複数のデータブロックが関連付けられる。各エンティティに関するデータは、物理的には一つのデータブロックであるが、その中に複数の種類の情報が含まれている。このデータブロックは情報の種類ごとに仮想的に分離され、その分離されたパーツの各々が仮想的なデータブロックとみなされる。そして、仮想的なデータブロックは、仮想的なデータベースに分散して格納されているとみなされる。典型例としては、エンティティの紹介サイトが挙げられる。エンティティのデータブロックには、基本情報と評価情報が含まれる。基本情報は、例えば、書籍の書誌事項や、店舗の種類や店名や地図などの情報である。評価情報は、エンティティに対する評価の記述や点数などの情報である。この基本情報と評価情報が仮想的に分離され、分離されたパーツの各々が仮想的なデータブロックとみなされる。そして、基本情報のデータベースと評価情報のデータベースが仮想的にあるとみなされ、仮想的なデータブロックが仮想的なデータベースに分散して格納されているとみなされる。図１（ｃ）では、エンティティＥ１に関するデータブロック中に仮想的なデータブロックｄ７１，ｄ７２，ｄ７３が含まれており、エンティティＥ２に関するデータブロック中に仮想的なデータブロックｄ８１，ｄ８２が含まれており、エンティティＥ３に関するデータブロック中に仮想的なデータブロックｄ９１，ｄ９２が含まれている。なお、データブロックｄ７１，ｄ８１，ｄ９１とデータブロックｄ７２，ｄ７３，ｄ８２，ｄ９２は、その種類に応じて、複数の仮想的なデータベースに分散して格納されているとみなされる。
【００１５】
上記例１乃至例３に示されるように、各々異なる種類のデータを格納する複数のデータベースを検索対象とする場合、ユーザがデータベースごとに専用の検索クエリーを入力するとなると、利便性が低くなる。一方、複数のデータベースに共通の検索クエリーに基づいて検索することとすると、データベースのデータの種類に合致しないクエリー要素が含まれるため、検索精度が低くなる。また、検索結果はデータベースごとに出力され、ユーザにとっては煩雑である。また、ユーザが検索クエリーに合致するエンティティを求めている場合であっても、検索結果は検索クエリーに適合するデータブロックの列として与えられるため、ユーザの情報ニーズに必ずしもマッチしない。本実施の形態の技術はこのような問題を解決できるものである。
【００１６】
図２は、本実施の形態の検索装置１００の機能ブロック図であり、図３は、検索装置１００による処理の処理フローを示す図である。検索装置１００は、複数のデータベースＤ１，Ｄ２，Ｄ３を検索可能である。データベースＤ１，Ｄ２，Ｄ３の各々には、異なる種類のデータが格納されている。本実施の形態では、一のエンティティに複数のデータブロックが関連付けられており、この複数のデータブロックがデータベースＤ１，Ｄ２，Ｄ３に分散して格納されている。データベースの例は、図１（ａ），図１（ｂ），図１（ｃ）に示した通りである。本実施の形態において、データベースは三つであるが、その数は複数であれば良く、三つに限定されるものではない。検索装置１００は、抽出部１と、計算部２と、判定部３と、検索クエリー生成部４と、検索部５１，５２，５３と、集合生成部６１，６２，６３と、部分集合生成部７と、クエリーリスト格納部１０と、クエリー格納部１１と、集合格納部１２と、部分集合格納部１３とを有する。
【００１７】
以下、各部について説明する。なお、図３の各ステップは、各部に対応して実行されるため、各ステップの説明は各部に各ステップを対応付けることで行う。抽出部１は、ユーザから入力された第１の検索クエリーＱ１に含まれる１または複数のクエリー要素ｑｉを抽出する(ステップＳ１）機能を備える。計算部２は、抽出部１にて抽出されたクエリー要素ｑｉの各々について、各データベースＤｊ（Ｄ１，Ｄ２，Ｄ３）との関連度ｆ（ｑｉ，Ｄｊ）を算出する（ステップＳ３）機能を備える。判定部３は、計算部２にて算出された関連度ｆ（ｑｉ，Ｄｊ）に基づいて、クエリー要素ｑｉの各々について各データベースＤｊ（Ｄ１，Ｄ２，Ｄ３）との関連の有無を判定する（ステップＳ５）機能を備える。検索クエリー生成部４は、データベースＤｊ（Ｄ１，Ｄ２，Ｄ３）の各々について、そのデータベースＤｊ（Ｄ１，Ｄ２，Ｄ３）と関連有りと判定されたクエリー要素ｑｉがある場合は、そのクエリー要素ｑｉを含む第２の検索クエリーＱ２ｄｊを生成する（ステップＳ７）機能を備える。検索部５１，５２，５３は、第２の検索クエリーＱ２ｄｊに基づいて、データベースＤ１，Ｄ２，Ｄ３のうち、第２の検索クエリーＱ２ｄｊに対応するデータベースＤｊを検索する(ステップＳ９）機能を備える。検索部５１はデータベースＤ１の検索を担当し、検索部５２はデータベースＤ２の検索を担当し、検索部５３はデータベースＤ３の検索を担当する。集合生成部６１，６２，６３は、検索部５１，５２，５３による処理において、データベースＤ１，Ｄ２，Ｄ３のうち二以上のデータベースの各々からデータブロックが検出されると、そのデータブロックに関連付けられるエンティティを特定して、エンティティの集合を生成する（ステップＳ１１）機能を備える。集合生成部６１は検索部５１の検索結果を処理し、集合生成部６２は検索部５２の検索結果を処理し、集合生成部６３は検索部５３の検索結果を処理する。部分集合生成部７は、所定のルールに基づいて、集合生成部６１，６２，６３により特定されたエンティティの集合から、エンティティの部分集合を生成する（ステップＳ１３）機能を備える。
【００１８】
検索装置１００は、以下のように使用される。ユーザは、第１の検索クエリーＱ１を入力する。このとき、ユーザは、データベースＤ１，Ｄ２，Ｄ３に格納されるデータの種類を意識することなく、複数のデータベースＤ１，Ｄ２，Ｄ３に共通の検索クエリーとして第１のクエリーＱ１を入力すれば良い。ユーザはデータベースＤ１，Ｄ２，Ｄ３ごとに検索クエリーを入力しなくてもよく、又、どのデータベースにどのような種類のキーワードが適するかを考えなくてもよい。第１の検索クエリーＱ１にどのようなクエリー要素が含まれていも、後述する関連度に基づいて関連の有無が判断されるため、使用するクエリー要素が制限されることもなく、第１の検索クエリーの自由度は高い。
【００１９】
第１の検索クエリーＱ１が入力されると、抽出部１は第１の検索クエリーＱ１から１又は複数のクエリー要素ｑｉを抽出する。計算部２は、クエリー要素ｑｉの各々についてデータベースＤ１，Ｄ２，Ｄ３との関連度ｆ（ｑｉ，Ｄｊ）を算出する。判定部３は、関連度ｆ（ｑｉ，Ｄｊ）に基づいて、各クエリー要素ｑｉとデータベースＤ１，Ｄ２，Ｄ３との関連の有無を判定する。第１の検索クエリーＱ１にどのようなクエリー要素が含まれていても、その都度、関連度ｆ（ｑｉ，Ｄｊ）が計算され、関連の有無が判定される。そして、検索クエリー生成部４は、複数のデータベースＤｊ（Ｄ１，Ｄ２，Ｄ３）の各々について、第２の検索クエリーＱ２ｄｊを生成する。第２の検索クエリーＱ２ｄｊには、そのデータベースＤｊと関連有りと判定されたクエリー要素が含まれている。検索部５１，５２，５３は、第２の検索クエリーＱ２ｄｊに基づいて、その第２の検索クエリーＱ２ｄｊに対応するデータベースＤｊを検索する。検索部５１，５２，５３は、担当のデータベースＤｊ（Ｄ１，Ｄ２，Ｄ３）に適する第２の検索クエリーＱ２ｄｊに基づいて、担当のデータベースＤｊ（Ｄ１，Ｄ２，Ｄ３）を検索することとなるため、検索精度が高くなる。集合生成部６１，６２，６３は、検索部５１，５２，５３により二以上のデータベースからデータブロックが検出されると、そのデータブロックに関連付けられているエンティティを特定し、エンティティの集合を生成する。そして、部分集合生成部７は、所定のルールに基づいて、エンティティの集合から部分集合を生成する。ユーザには、この部分集合に含まれるエンティティのリストが出力される。エンティティのリストは、エンティティの識別子のリストでも良いし、エンティティに関するデータへのリンクのリストでも良い。エンティティの部分集合は、所定のルールに基づいて、データベースＤ１，Ｄ２，Ｄ３の検索結果が統合されたものである。本実施の形態によれば、ユーザは、データベースごとに検索結果を得るのではなく、統合された検索結果を得ることができる。検索結果はエンティティの集合として与えられるため、ユーザの情報ニーズにもマッチする。
【００２０】
以下に、上記各部及び各ステップの一例を詳細に説明する。
【００２１】
図４は、抽出部１の処理の処理フローの一例を示す図であり、図３のステップＳ１に相当する処理である。本実施の形態において、第１の検索クエリーＱ１は、自然言語テキストデータとしてユーザにより入力される。抽出部１は、第１の検索クエリーＱ１を取り込み（ステップＳ１０１）、形態素解析を行い（ステップＳ１０３）、ストップワードを除去する（ステップＳ１０５）。ストップワードとは、検索に用いる語から除外する語であり、例えば機能語等である。次に、抽出部１は、チャンキングにより意味的な観点から形態素をまとめ（ステップＳ１０７）、検索の観点から語形の整形を行う（ステップＳ１０９）。整形は、例えば、活用形を終止形や語幹に変換したり、表記のゆれを考慮して標準形へ変換することが考えられる。なお、本実施の形態において、第１の検索クエリーＱ１はテキスト形式の自然言語であるが、これに限られるものではない。例えば、第１の検索クエリーＱ１は、音声形式であっても良く、又、単語やフレーズの列であっても良い。また、第１の検索クエリーＱ１は、検索装置１００の入力部（図示せず）から直接入力されても良いし、別途設けられるユーザ端末から入力され、インターネット等のネットワークを介して検索装置１００に入力されても良い。
【００２２】
図５は、抽出部１による処理の具体例を説明する図である。第１の検索クエリーＱ１として「日本橋のおいしくてそれほど高くないお寿司屋さん」が入力されると、抽出部１は、形態素解析により第１の検索クエリーＱ１を形態素の列に分解する。その結果、第１の検索クエリーＱ１は、「日本橋」「の」「おいしく」「て」「それほど」「高く」「ない」「お」「寿司」「屋」「さん」となる。次に、ストップワード「の」「て」「それほど」「お」「屋」「さん」が除去される。そして、チャンキングにより、「高く」「ない」がまとめられて「高くない」となり、整形により「おいしく」が「おいしい」となる。これにより、第１の検索クエリーＱ１からクエリー要素「日本橋」「おいしい」「高くない」「寿司」が抽出される。
【００２３】
図６は、計算部２と判定部３の処理の処理フローの例１を示す図であり、図３のステップＳ３及びステップＳ５に相当する。例１は、判定部３における判定を閾値により行う例である。計算部２は、抽出されたクエリー要素からクエリー要素ｑｉを一つ取得し（ステップＳ２１０１）、クエリー要素ｑｉとデータベースＤｊとの関連度ｆ（ｑｉ，Ｄｊ）を計算し、例えばメインメモリ等の記憶装置に格納する（ステップＳ２１０３）。ここで、データベースＤｊは、複数のデータベースＤ１，Ｄ２，Ｄ３のうちの一つのデータベースである。なお、関連度の具体的な計算方法については後述する。判定部３は関連度ｆ（ｑｉ，Ｄｊ）の閾値判定を行う（ステップＳ２１０５）。関連度ｆ（ｑｉ，Ｄｊ）が閾値範囲内であれば、クエリー要素ｑｉはデータベースＤｊと関連有りと判断し、クエリー要素ｑｉをデータベースＤｊのクエリーリストＬ１ｄｊに追加する（ステップＳ２１０７）。ステップＳ２１０５において、関連度ｆ（ｑｉ，Ｄｊ）が閾値範囲外の場合、判定部３は、クエリー要素ｑｉとデータベースＤｊとは関連無しと判断し、ステップＳ２１０９に進む。ステップＳ２１０９では、計算部２がクエリー要素ｑｉについて、データベースＤ１，Ｄ２，Ｄ３との関連度を計算したか判断する。「Ｎｏ」の場合、計算部２は、処理対象を次のデータベースに設定し（ステップＳ２１１１）、ステップＳ２１０３に戻る。この処理が繰り返されることで、クエリー要素ｑｉについて、データベースＤ１，Ｄ２，Ｄ３との関連度が算出され、関連の有無が判断される。計算部２は、ステップＳ２１０９にて、「Ｙｅｓ」と判断した場合、すべてのクエリー要素について関連度を算出したか判断する（ステップＳ２１１３）。「Ｎｏ」の場合、計算部２は、処理対象を次のクエリー要素に設定し（ステップＳ２１１５）、ステップＳ２１０１に戻る。この処理が繰り返されることで、クエリー要素の各々について、データベースＤ１，Ｄ２，Ｄ３との関連度が算出され、関連の有無が判定される。クエリーリストＬ１ｄｊは、データベースＤｊと関連付けてクエリーリスト格納部１０に格納される。クエリーリストＬ１ｄｊには、そのデータベースＤｊとの関連度が閾値範囲内であるクエリー要素、すなわち、そのデータベースＤｊと関連有りと判断されたクエリー要素の列が格納される。なお、判定における閾値は上限も設定することが好ましい。出現頻度が高すぎるクエリー要素はデータの種類に関係無く使用される要素である可能性が高く、特定のデータベースと関連が高いと判断することは不適切なためである。
【００２４】
図７は計算部２と判定部３の処理フローの例２を示す図であり、図３のステップＳ３及びステップＳ５に相当する。例２は、判定部３における判定が、関連度の最高値に基づいて行われる例である。計算部２は、抽出されたクエリー要素からクエリー要素ｑｉを一つ取得し（ステップＳ２２０１）、クエリー要素ｑｉとデータベースＤｊとの関連度ｆ（ｑｉ，Ｄｊ）を計算し、例えばメインメモリ等の記憶装置に格納する（ステップＳ２２０３）。計算部２は、クエリー要素ｑｉについて、データベースＤ１，Ｄ２，Ｄ３との関連度を算出したか判断する（ステップＳ２２０５）。「Ｎｏ」の場合、計算部２は、処理対象を次のデータベースに設定し（ステップＳ２２０７）、ステップＳ２２０３に戻る。この処理が繰り返されることで、クエリー要素ｑｉについて、データベースＤ１，Ｄ２，Ｄ３との関連度ｆ（ｑｉ，Ｄｊ）が算出される。判定部３は、ステップＳ２２０５にて「Ｙｅｓ」と判断した場合、データベースＤ１，Ｄ２，Ｄ３の各々について算出された関連度を比較し、最も高い関連度を示すデータベースＤｊを特定する。そして、判定部３は、クエリー要素ｑｉはデータベースＤｊと関連があると判断し、データベースＤｊのクエリーリストＬ１ｄｊにクエリー要素ｑｉを追加する（ステップＳ２２０９）。計算部２は、すべてのクエリー要素について関連度を算出したか判断する（ステップＳ２２１１）。「Ｎｏ」の場合、計算部２は、処理対象を次のクエリー要素に設定し（ステップＳ２２１３）、ステップＳ２２０１に戻る。クエリーリストは、クエリーリスト格納部１０に格納される。例２の処理の結果、データベースＤｊのクエリーリストＬ１ｄｊには、複数のデータベースＤ１，Ｄ２，Ｄ３のうち、データベースＤｊとの関連度が最高値であったクエリー要素、すなわち、データベースＤｊと関連有りと判断されたクエリー要素の列が格納される。
【００２５】
図８（ａ）乃至（ｄ）は、計算部２と判定部３の処理の具体例を説明する図である。クエリー要素として「日本橋」「おいしい」「高くない」「寿司」が抽出されると（図８（ａ））、計算部２はデータベースＤ１，Ｄ２，Ｄ３の各々について、各クエリー要素「日本橋」「おいしい」「高くない」「寿司」との関連度を計算する（図８（ｂ））。判定部３は、算出された関連度に基づいて関連の有無を判定する（図８（ｃ））。上記例１に示す処理においては、閾値に基づいて判定が行われる。例えば、閾値が１０／１００から５０／１００の範囲内である場合は、以下の通りとなる。データベースＤ１については、「日本橋」（関連度１０／１００）と「寿司」（関連度２０／１００）が関連有りと判断され、データベースＤ１の第１のクエリーリストＬ１ｄ１に追加される（図８（ｄ））。データベースＤ２については、「おいしい」（関連度３０／１００）と「高くない」（関連度２０／１００）が関連有りと判断され、データベースＤ２のクエリーリストＬ１ｄ２に追加される（図８（ｄ））。データベースＤ３については、閾値範囲内のクエリー要素がないので、クエリーリストＬ１ｄ３は作成されない。なお、図８（ｂ）に示す関連度の値は、説明の便宜のために設定したものであり、実際の値とは異なる。
【００２６】
また、上記例２に示す処理においては、最も高い関連度に基づいて判定が行われる。判定部３は、クエリー要素「日本橋」について、各データベースＤ１，Ｄ２，Ｄ３との関連度を比較し、関連度が最高値であるデータベースＤ１と関連有りと判断する（図８（ｃ））。データベースＤ１の第１のクエリーリストＬ１ｄ１には「日本橋」が追加される。同様に、「おいしい」「高くない」「寿司」についても比較が行われ、関連度が最高値を示すデータベースＤｊの第１のクエリーリストＬ１ｄｊにクエリー要素が追加される（図８（ｄ））。この結果、クエリーリストＬ１ｄ１にはデータベースＤ１と関連有りと判断されたクエリー要素「日本橋」「寿司」が格納され、クエリーリストＬ１ｄ２にはデータベースＤ２と関連有りと判断されたクエリー要素「おいしい」「高くない」が格納される。
【００２７】
図９は、関連度を計算する処理の処理フローの例１を示す図であり、図１０は、その例２を示す図である。この例１及び例２は、図６に示される関連度計算及び判定（例１）の処理フローのステップＳ２１０３、及び、図７に示される関連度計算及び判定（例２）の処理フローのステップＳ２２０３に相当する処理である。例１は、出現頻度に基づいて関連度を算出する例である。特定のクエリー要素が特定のデータベースに頻繁に出現する場合、そのクエリー要素とデータベースとは関連を有する可能性が高い。そこで、この出現頻度に基づいて関連度を計算することにより、関連度がより適切な値となる。計算部２は、クエリー要素ｑｉを一つ取得し（ステップ３１１）、クエリー要素ｑｉのデータベースＤｊにおける出現頻度Ｒｄｊをカウントする（ステップ３１３）。次に、計算部２は、データベースＤｊのデータ要素数に対する出現頻度Ｒｄｊの割合に基づいて、関連度ｆ（ｑｉ，Ｄｊ）を算出し、例えばメインメモリ等の記憶装置に格納する（ステップＳ３１５）。関連度ｆ（ｑｉ，Ｄｊ）は出現頻度が高いほど高くなる。ここで、データベースＤｊのデータ要素とは、クエリー要素に対応する要素である。データ要素は、例えば、各データベースＤ１，Ｄ２，Ｄ３に格納されるデータについて、抽出部１による同様のクエリー要素抽出処理を行うことで抽出でき、データ要素数は、各データベースから抽出されたデータ要素の数をカウントすることにより得られる。これらの処理は予め行っておき、データベースＤ１，Ｄ２，Ｄ３の各々について、データ要素数を格納部に格納しておくことが好ましい。なお、関連度は、必ずしもデータ要素数に対する割合を用いなくても良く、例えば、出現頻度Ｒｄｊをそのまま用いて算出されても良い。
【００２８】
図１０に示す例２は、カテゴリを用いて関連度を計算する例である。例えば、データに店舗の所在地が記述されている場合、具体的な地名（「日本橋」「東京」等）に基づいて関連度が判断されると、データベースにその具体的な地名が出現しない場合は関連度が低いと誤判断される。そこで、例２は、クエリー要素やデータ要素をカテゴリに置き換えて関連度を計算する。検索システム１００には、カテゴリと、そのカテゴリに含まれるカテゴリ要素とを対応付けるルールが予め規定されている。このルールは、例えば、図１１に示されるように、カテゴリテーブルの形式で検索システム１００の格納部（図示せず）に格納されている。計算部２は、クエリー要素ｑｉを取得すると（ステップＳ３２１）、カテゴリテーブルを参照し、クエリー要素ｑｉをカテゴリ要素として含むカテゴリｃｉを特定する（ステップＳ３２３）。次に、計算部２は、カテゴリテーブルからカテゴリｃｉに含まれるカテゴリ要素を取得し、そのカテゴリ要素がデータベースＤｊに出現する出現頻度Ｒｄｊをカウントする（ステップＳ３２５）。次に、計算部２は、データベースＤｊのデータ要素数に対する出現頻度Ｒｄｊの割合に基づいて関連度ｆ（ｃｉ、Ｄｊ）を算出し、例えばメインメモリ等の記憶装置に格納する（ステップＳ３２７）。これにより、カテゴリに基づいて関連度が算出され、関連度が更に適切な値となる。ここで、関連度は、必ずしもデータ要素数に対する割合を用いなくても良く、例えば、出現頻度Ｒｄｊをそのまま用いて算出されても良い。
【００２９】
なお、データベースＤｊの各データ要素のカテゴリは、図１１に示したように、カテゴリテーブルに基づいて予め特定され、格納部（図示せず）に格納されていることが好ましい。また、カテゴリに関するルールは、一部一致によりカテゴリが特定されるものでも良い。例えば、カテゴリテーブルには「橋」「町」「川」などが地名接尾辞として規定されており、この地名接尾辞を有する要素については、カテゴリを「地名」と判断する。また、カテゴリとしては、表記のゆれや同義語だけをまとめて一つのカテゴリとした粒度の細かいもの、或いは、「地名」「料理種類」「味」「値頃感」などのような意味的なカテゴリ、或いは、「名詞」「形容詞」などのような品詞レベルの粒度の粗いカテゴリでも良い。また、関連度は、クエリー要素とデータベースとがどの程度の関連性を有するかの指標となる値であれば良く、上記例１及び例２に限られない。例えば、ｎ文字の文字列（ｎｇｒａｍ）を単位として、その文字列の出現頻度に基づき、関連度を算出しても良い。
【００３０】
図１２は、検索クエリー生成部４による処理の処理フローの一例を示す図であり、図３のステップ７に相当する。クエリー生成部４は、クエリーリスト格納部１０に格納されているデータベースＤｊのクエリーリストＬ１ｄｊを参照する（ステップＳ７０１）。クエリーリストＬ１ｄｊには、データベースＤｊに関連有りと判断された１又は複数のクエリー要素が格納されている。クエリーリストＬ１ｄｊに含まれるクエリー要素は一つである場合もあるし、複数の場合もある。クエリー生成部４は、クエリーリストＬ１ｄｊに格納されている１又は複数のクエリー要素を取得し、所定のルールに基づいて、そのクエリー要素を含む第２の検索クエリーＱ２ｄｊを生成する（ステップＳ７０３）。次に、検索クエリー生成部４は、第２の検索クエリーＱ２ｄｊをデータベースＤｊと関連付けてクエリー格納部１１に格納する（ステップＳ７０５）。検索クエリー生成部４は、データベースＤ１，Ｄ２，Ｄ３について第２の検索クエリーを生成したか判断する（ステップＳ７０７）。「Ｎｏ」の場合、検索クエリー生成部４は、処理対象を次のデータベースのクエリーリストに設定して（ステップＳ７０９）、ステップＳ７０１に戻る。「Ｙｅｓ」の場合は終了する。クエリー格納部１１には、データベースＤ１，Ｄ２，Ｄ３に関連付けて第２の検索クエリーＱ２ｄ１，Ｑ２ｄ２，Ｑ２ｄ３が格納される。これにより、データベースＤ１，Ｄ２，Ｄ３の各々について、専用の第２の検索クエリーＱ２ｄ１，Ｑ２ｄ２，Ｑ２ｄ３が生成される。データベースＤｊの第２の検索クエリーＱ２ｄｊには、データベースＤｊに関連有りと判断されたクエリー要素が含まれる。ただし、データベースＤｊについて、関連有りと判断されたクエリー要素がない場合は、そのデータベースＤｊに対応する第２の検索クエリーＱ２ｄｊは生成されない。
【００３１】
図１３（ａ）及び（ｂ）は、検索クエリー生成部４による処理の具体例を説明する図である。クエリー生成部４は、クエリーリスト格納部１０に格納されているデータベースＤ１のクエリーリストＬ１ｄ１を参照し、所定のルールに基づいて、クエリーリストＬ１ｄ１のクエリー要素「日本橋」「寿司」を含む第２の検索クエリーＱ２ｄ１を生成する（図１３（ａ））。第２の検索クエリーＱ２ｄ１には、データベースＤ１に関連有りと判断されたクエリー要素「日本橋」「寿司」が含まれる。同様に、検索クエリー生成部４は、データベースＤ２のクエリーリストＬ１ｄ２を参照し、クエリー要素「おいしい」「高くない」を含む第２の検索クエリーＱ２ｄ２を生成する（図１３（ｂ））。第２の検索クエリーＱ２ｄ２には、データベースＤ２に関連有りと判断されたクエリー要素「おいしい」「高くない」が含まれる。データベースＤ３についてはクエリーリストＬ１ｄ３がないため、第２の検索クエリーＱ２ｄ３は生成されない。第２の検索クエリーＱ２ｄ１，Ｑ２ｄ２はデータベースＤ１，Ｄ２と関連付けられてクエリー格納部１１に格納される。なお、図１３の例では、所定のルールは、クエリー要素を「ｏｒ」で結ぶとしているが、これに限られるものではない。
【００３２】
図１４Ａは、検索部５１，５２，５３による処理の処理フローの例を示す図であり、図３のステップＳ９の処理に相当する。検索部５１，５２，５３は、クエリー格納部１１に格納されている第２のクエリーＱ２ｄｊを取得する（ステップＳ５１０１）。そして、検索部５１，５２，５３は、担当のデータベースＤｊに専用の第２の検索クエリーＱ２ｄｊを取得した場合、第２の検索クエリーＱ２ｄｊに基づいて担当のデータベースＤｊを検索する（ステップＳ５１０３）。データベースＤｊからは第２の検索クエリーＱ２ｄｊに適合するデータブロックが検出される。検出されるデータブロックは一つの場合もあるし、複数の場合もある。
【００３３】
ユーザから入力された第１の検索クエリーＱ１は、データベースＤ１，Ｄ２，Ｄ３に共通の検索クエリーであり、データベースによっては関連のないクエリー要素が含まれている。このため、第１の検索クエリーＱ１に基づいてデータベースＤ１，Ｄ２，Ｄ３を検索すると、検索精度が低くなる。これに対し、第２の検索クエリーＱ２ｄｊは、データベースＤｊに専用の検索クエリーであり、データベースＤｊに関連有りと判断されたクエリー要素のみが含まれるため、検索精度が高くなる。
【００３４】
なお、検索部５１，５２，５３における検索方法は、任意であるが、例えば、Ｂｏｏｌｅａｎ検索や拡張Ｂｏｏｌｅａｎ検索が挙げられる。また、クエリー要素に応じて検索方法が選択されても良い。この場合、クエリー要素と検索方法との対応付けを規定したテーブルが格納部に格納されている。検索部５１，５２，５３は、そのテーブルを参照し、第２の検索クエリーＱ２ｄｊに含まれるクエリー要素に対応する検索方法を特定し、その検索方法にてデータベースＤｊを検索する。これにより、クエリー要素の特性に適する検索方法にて検索が行われ、検索精度を更に高めることができる。
【００３５】
また、クエリー要素のカテゴリに応じて検索方法が選択されても良い。図１４Ｂは、カテゴリに応じて検索方法を選択する処理の処理フローを示す図である。検索部５１，５２，５３は、第２の検索クエリーＱ２ｄｊからクエリー要素を取得し、カテゴリとカテゴリに含まれる複数のカテゴリ要素とを対応付けるカテゴリルールに基づいて、そのクエリー要素をカテゴリ要素として含むカテゴリを特定する（ステップＳ５２０１）。次に、検索部５１，５２，５３は、カテゴリと検索方法とを対応付ける検索ルールに基づいて、特定されたカテゴリに対応する検索方法を特定する（ステップＳ５２０３）。そして、検索部５１，５２，５３は、そのクエリー要素についてはその検索方法にてデータベースを検索する。第２の検索クエリーＱ２ｄｊに複数のクエリー要素が含まれる場合は、各々のクエリー要素についてカテゴリを特定し、クエリー要素ごとにカテゴリに応じた検索方法にて検索を行う。なお、カテゴリルールは、上述したカテゴリテーブルを用いても良い。また、検索ルールは、カテゴリと検索方法とを対応付けるテーブルとして格納部（図示せず）に格納されていても良い。これにより、クエリー要素のカテゴリの特性に適する検索方法にて検索が行われ、検索精度を更に高めることができる。
【００３６】
更に、検索方法は、データベースに応じて選択されても良い。この場合、データベースＤ１，Ｄ２，Ｄ３と検索方法を対応付けたテーブルが格納部（図示せず）に格納されている。検索部５１，５２，５３は、このテーブルを参照し、担当のデータベースＤｊに対応する検索方法を特定し、その検索方法にて担当のデータベースＤｊを検索する。これにより、データベースの特性に適する検索方法にて検索が行われ、検索精度を更に高めることができる。
【００３７】
図１５は集合生成部６１，６２，６３による処理の処理フローの例１を示す図であり、図１７はその例２を示す図である。例１及び例２は、図３のステップＳ１１に相当する。例１では、検索部５１，５２，５３による検索の結果、担当のデータベースＤｊに第２の検索クエリーＱ２ｄｊに適合するデータブロックが検出されると、集合生成部６１，６２，６３は、検出されたデータブロックに関連付けられるエンティティＥｘを特定する（ステップＳ１１１１）。エンティティは一つである場合もあれば、複数の場合もある。集合生成部６１，６２，６３は、エンティティＥｘが特定されると、そのエンティティをデータベースＤｊのエンティティリストＬ２ｄｊに追加する（ステップＳ１１１３）。エンティティリストＬ２ｄｊには、データベースＤｊから検出されたエンティティＥｘの列が含まれる。集合生成部６１，６２，６３は、エンティティリストＬ２ｄｊをデータベースＤｊと関連付けて集合格納部１２に格納する。集合格納部１２に格納されたエンティティリストＬ２ｄｊは、データベースＤｊから検出されたエンティティの集合を構成する。すなわち、集合格納部１２には、データベースＤｊごとに、そのデータベースから検出されたエンティティの集合が格納される。
【００３８】
図１６は集合生成部６１，６２，６３の処理フローの例１の具体例を説明する図である。枠Ａ内は集合生成部６１の処理の説明であり、枠Ｂ内は集合生成部６２の処理の説明であり、枠Ｃ内は集合生成部６３の処理の説明である。枠Ａ内において、検索部５１は、検索クエリーＱ２ｄ１を取得し、データベースＤ１を検索する。その結果、データブロックｄ１、ｄ２、ｄ３、ｄ４が検出されると、集合生成部６１は、データブロックｄ１、ｄ２、ｄ３、ｄ４に関連付けられるエンティティＥ１、Ｅ２，Ｅ３，Ｅ４を特定し、エンティティリストＬ２ｄ１に追加する。同様に、枠Ｂ内において、検索部５２がデータベースＤ２からデータブロックｄ５，ｄ６，ｄ７を検出すると、集合生成部６２は、これらに関連付けられるエンティティＥ１，Ｅ３，Ｅ５をエンティティリストＬ２ｄ２に追加する。データベースＤ３に専用の第２の検索クエリーＱ２ｄ３は生成されていないため、検索部５３及び集合生成部６３の処理は行われない。エンティティリストＬ２ｄ１は、データベースＤ１から検出されたエンティティの集合であり、エンティティリストＬ２ｄ１はデータベースＤ２から検出されたエンティティの集合である。
【００３９】
図１７は集合生成部６１，６２，６３による処理フローの例２を示す図である。検索部５１，５２，５３により、データベースＤｊから第２の検索クエリーＱ２ｄｊに適合するデータブロックが検出されると、集合生成部６１，６２，６３は、検出されたデータブロックに関連付けられるエンティティＥｘを特定する（ステップＳ１１２１）。次に、集合生成部６１，６２，６３は、検出されたデータブロックの各々について第１の評価値Ｖｄを算出する（ステップＳ１１２３）。第１の評価値Ｖｄは、データブロックｄが第２の検索クエリーＱ２ｄｊに合致する程度を表す値であれば良い。第２の検索クエリーＱ２ｄｊに対するデータブロックｄの合致度が高いほど、第１の評価値Ｖｄは高くなる。第１の評価値Ｖｄの具体的な算出方法については後述する。集合生成部６１，６２，６３は、エンティティＥｘと第１の評価値Ｖｄとを関連付けてエンティティリストＬ３ｄｊに追加する（ステップＳ１１２５）。エンティティリストＬ３ｄｊは、データベースＤｊと関連付けて集合格納部１２に格納される。
【００４０】
図１８は、集合生成部６１，６２，６３の上記例２の具体例を説明する図である。例１と同様に、集合生成部６１は、データブロックｄ１、ｄ２、ｄ３、ｄ４に関連付けられるエンティティＥ１、Ｅ２，Ｅ３，Ｅ４を特定し、データベースＤ１のエンティティリストＬ３ｄ１に追加する。また、集合生成部６１は、検索部５１により検出されたデータブロックｄ１、ｄ２、ｄ３、ｄ４の各々について第１の評価値Ｖｄを算出し、エンティティＥ１、Ｅ２，Ｅ３，Ｅ４と関連付けてエンティティリストＬ３ｄ１に追加する。集合生成部６２も同様の処理を行い、エンティティと第１の評価値ＶｄをデータベースＤ２のエンティティリストＬ３ｄ２に追加する。エンティティリストＬ３ｄ１は、データベースＤ１の検索の結果として検出されたエンティティと第１の評価値Ｖｄとの組みの列を含む。エンティティリストＬ３ｄ２は、データベースＤ２の検索の結果として検出されたエンティティと第１の評価値Ｖｄの組みの列を含む。なお、図１８に示す第１の評価値Ｖｄの値は、説明の便宜のために設定したものであり、実際の値とは異なる。
【００４１】
ここで、第１の評価値は次のように算出される。検索装置１００の格納部（図示せず）には、第１の評価値Ｖｄの算出方法を規定した評価値ルールが格納されている。集合生成部６１，６２，６３は、格納部（図示せず）に格納される評価値ルールを参照し、評価値ルールに基づいて第１の評価値Ｖｄを算出する。第２の検索クエリーＱ２ｄｊに複数のクエリー要素が含まれる場合は、複数のクエリー要素の各々について評価値を算出し、これらの評価値の総和又は平均値等を算出し、データブロックの第１の評価値Ｖｄとしても良い。第１の評価値Ｖｄの算出方法の例としては、次のものが挙げられる。第１の例として、第２の検索クエリーＱ２ｄｊのクエリー要素とデータブロックのデータ要素との関連性に基づいて算出するものが挙げられる。関連性を表す値としては、例えば、類似度や関連度や近似度が挙げられる。例えば、クエリー要素が地名属性の場合、地名が完全一致したときは評価値１、隣町の関係を有するときは評価値０．８とする。関連性を表す値の算出方法は、予め検索装置１００の格納部（図示せず）に算出ルールとして格納されている。集合生成部６１，６２，６３は、クエリー要素に応じた算出ルールを取得し、その算出ルールに基づいて類似度や関連度や近似度などを算出し、例えばメインメモリ等の記憶装置に格納する。例えば、地名の場合は、図１９に示されるような地域名と各地域の位置関係を示すデータが格納部（図示せず）格納されている。集合生成部６１，６２，６３は、そのデータを参照し、位置関係に基づいて第１の評価値Ｖｄを算出する。
【００４２】
また、第１の評価値Ｖｄの算出方法は、オントロジー間の距離を用いるものであっても良い。例えば、集合生成部６１，６２，６３は、クエリー要素が「寿司」の場合、日本料理として共通する「天ぷら」は距離が近いと判断し、フランス料理は距離が遠いと判断し、その距離に応じた値を第１の評価値Ｖｄとする。また第１の評価値の他の算出方法としては、クエリー要素の出現頻度に基づくものが挙げられる。第２の検索クエリーＱ２ｄｊに含まれるクエリー要素の出現頻度が高いデータブロックは、第２の検索クエリーＱ２ｄｊに対する合致度が高い。そこで、集合生成部６１，６２，６３は、検出されたデータブロックについて、第２の検索クエリーＱ２ｄｊに含まれるクエリー要素の出現頻度をカウントし、出現頻度に基づいて第１の評価値Ｖｄを算出する。また、第１の評価値Ｖｄの他の算出方法としては、集合生成部６１，６２，６３は、シソーラス等の辞書データを参照し、検出されたデータブロックについて、クエリー要素と一定の関係にある語（同義語、反意語、類義語など）の出現頻度をカウントし、その出現頻度に基づいて第１の評価値Ｖｄを算出しても良い。出現頻度が高いほど、第１の評価値Ｖｄは高くなる。
【００４３】
図２０は、部分集合生成部７による処理の処理フローの例１を示す図であり、図２２と図２３はその例２を示す図である。例１及び例２は、図３のステップＳ１３に相当する処理である。例１は集合生成部６１，６２，６３の処理を処理フローの例１（図１５）としたときの後続処理であり、例２は集合生成部６１，６２，６３の処理を処理フローの例２（図１７）としたときの後続処理である。
【００４４】
図２０に示される例１において、部分集合生成部７は、集合格納部１２からデータベースＤｊのエンティティリストＬ２ｄｊを取得する（ステップ１３１０１）。次に、部分集合生成部７は、エンティティリストＬ２ｄｊからエンティティＥｘを取得し（ステップＳ１３１０３）、エンティティＥｘの評価リストＬ４ｅｘにデータベースＤｊを追加する（ステップＳ１３１０５）。エンティティは一つの場合もあれば、複数の場合もある。部分集合生成部７は、エンティティリストＬ２ｄｊに含まれるすべてのエンティティＥを処理したか判断する（ステップＳ１３１０７）。「Ｎｏ」の場合、部分集合生成部７は、処理対象を次のエンティティに設定し（ステップＳ１３１０９）、ステップＳ１３１０３に戻る。この処理を繰り返すことで、エンティティリストＬ２ｄｊに含まれるすべてのエンティティＥｘについて、対応する評価リストＬ４ｅｘにデータベースＤｊが追加される。ステップＳ１３１０７において「Ｙｅｓ」と判断された場合、部分集合生成部７は、すべてのエンティティリストについて処理したか判断する（ステップＳ１３１１１）。「Ｎｏ」の場合、部分集合生成部７は、処理対象を次のエンティティリストに設定し（ステップＳ１３１１３）、ステップＳ１３１０１に戻る。これにより、エンティティの各々について、評価リストが生成される。生成された評価リストは、例えばメインメモリ等の記憶装置に格納される。エンティティＥｘの評価リストＬ４ｅｘには、そのエンティティＥｘが検出されたデータベースの列が設けられる。部分集合生成部７は、生成された各エンティティの評価リストを参照し、所定のルールに基づいて、エンティティを抽出し、抽出したエンティティのリストＬ５を部分集合格納部１３に格納する（ステップＳ１３１１５）。部分集合格納部１３に格納されたリストＬ５はエンティティの部分集合を構成する。
【００４５】
エンティティを抽出するときの所定のルールの例としては、次のものが挙げられる。検索部５１，５２，５３の検索において、多くのデータベースで検出されたエンティティは、第１の検索クエリーＱ１に適合するエンティティである可能性が高い。そこで、例えば、部分集合生成部７は、エンティティＥｘの評価リストＬ４ｅｘに含まれるデータベースの数が閾値以上の場合、エンティティＥｘを抽出するようにしても良い。また、別の例では、部分集合生成部７は、集合生成部６１，６２，６３で生成されたエンティティリストを一つの集合とみなし、その和集合又は積集合を生成することで、部分集合を生成しても良い。
【００４６】
図２１（ａ）乃至（ｃ）は、部分集合生成部７による処理の処理フローの例１について具体例を説明する図である。図２１（ａ）に示すように、部分集合生成部７は、エンティティリストＬ２ｄ１からエンティティＥ１を取得し、エンティティＥ１の評価リストＬ４ｅ１にデータベースＤ１を追加する。同様に、部分集合生成部７は、エンティティリストＬ２ｄ１からエンティティＥ２，Ｅ３，Ｅ４を取得し、評価リストＬ４ｅ２，Ｌ４ｅ３，Ｌ４ｅ４にデータベースＤ１を追加する。また、図２１（ｂ）に示すように、部分集合生成部７は、エンティティリストＬ２ｄ２からエンティティＥ１，Ｅ３，Ｅ５を取得し、エンティティの評価リストＬ４ｅ１，Ｌ４ｅ３，Ｌ４ｅ５に追加する。評価リストＬ４ｅ１乃至Ｌ４ｅ５は、例えばメインメモリ等の記憶装置に格納される。部分集合生成部７は、所定のルールに基づいてエンティティＥ１，Ｅ２，Ｅ３，Ｅ４，Ｅ５からエンティティを抽出する。本具体例においては、エンティティＥｘの評価リストＬ４ｅｘに二以上のデータベースが含まれる場合、そのエンティティＥｘが抽出される。図２１（ｃ）に示すように、部分集合生成部７は、評価リストに二以上のデータベースが含まれるエンティティＥ１，Ｅ３を抽出し、リストＬ５に追加する。リストＬ５はエンティティの部分集合である。
【００４７】
図２２及び図２３に示される例２は、集合生成部６１，６２，６３の処理を処理フローの例２（図１７）とした場合の後続処理である。図２０に示される例１と異なる点は、次の点である。なお、例１と共通する点については説明を省略する。部分集合生成部７は、ステップＳ１３２０３において、エンティティリストＬ３ｄｊからエンティティＥｘと第１の評価値Ｖｄを取得し、ステップ１３２０５において、エンティティＥｘの評価リストＬ４ｅｘに第１の評価値Ｖｄを追加する。評価リストＬ４ｅｘは、エンティティと関連付けられて、例えばメインメモリ等の記憶装置に格納される。例１において、評価リストＬ４ｅｘにはデータベースＤｊが追加されたが、本例においては、第１の評価値Ｖｄが追加される。図２３に示されるように、部分集合生成部７は、エンティティＥｘの評価リストＬ４ｅｘに含まれる第１の評価値Ｖｄに基づいて、エンティティＥｘの総合評価値Ｖｘを算出する（ステップＳ１３２１５）。総合評価値Ｖｘは、エンティティＥｘと関連付けられて、例えばメインメモリ等の記憶装置に格納される。総合評価値Ｖｘは、エンティティＥｘの第１のクエリーＱ１に対する合致度を表しており、合致度が高いほど総合評価値Ｖｘは高くなる。エンティティＥｘの評価値リストＬ４ｅｘに複数の第１の評価値Ｖｄが格納されている場合は、第１の評価値Ｖｄの総和又は平均値等を総合評価値としても良い。部分集合生成部７は、すべてのエンティティの総合評価値を算出したかを判断する（ステップＳ１３２１７）。「Ｎｏ」の場合、部分集合生成部７は、処理対象を次のエンティティに設定し（ステップＳ１３２１９）、ステップＳ１３２１５に戻る。この処理を繰り返すことにより、すべてのエンティティについて総合評価値が算出される。ステップＳ１３２１７にて「Ｙｅｓ」と判断した場合、部分集合生成部７は、各エンティティの総合評価値を参照し、所定のルールに基づいて、エンティティを抽出する。抽出されたエンティティのリストＬ５は部分集合格納部１３に格納される（ステップＳ１３２２１）。ここで、所定のルールとしては、例えば、総合評価値が閾値以上であるエンティティを抽出するものが挙げられる。部分集合格納部１３に格納されたリストＬ５はエンティティの部分集合である。
【００４８】
図２４（ａ）乃至（ｃ）は、上記例２の具体例を説明する図である。図２４（ａ）に示されるように、部分集合生成部７は、エンティティリストＬ３ｄ１から各エンティティＥ１乃至Ｅ４の第１の評価値Ｖｄを取得し、各エンティティの評価リストＬ４ｅ１乃至Ｌ４ｅ４に追加する。また、図２４（ｂ）に示されるように、部分集合生成部７は、エンティティリストＬ３ｄ２から各エンティティＥ１，Ｅ３，Ｅ５の第１の評価値Ｖｄを取得し、各エンティティの評価リストＬ４ｅ１，Ｌ４ｅ３，Ｌ４ｅ５に追加する。評価リストは、エンティティと関連付けられて、例えばメインメモリ等の記憶装置に格納される。部分集合生成部７は、評価リストＬ４ｅｘの各々について第１の評価値Ｖｄの総和を算出し、各エンティティＥ１乃至Ｅ５の総合評価値Ｖ１乃至Ｖ５とする。総合評価値は、エンティティと関連付けられて、例えばメインメモリ等の記憶装置に格納される。図２４（ｃ）に示されるように、部分集合生成部７は、所定のルールに基づいて、エンティティを抽出し、リストＬ５に追加する。リストＬ５は部分集合格納部１３に格納される。ここでは、総合評価値が閾値以上のエンティティＥ１とエンティティＥ３が抽出される。リストＬ５は、エンティティの部分集合である。
【００４９】
生成されたエンティティの部分集合は、モニターやプリンターなどの出力装置に出力され、ユーザに提供される。これにより、ユーザは、第１の検索クエリーＱ１の検索結果として、エンティティの部分集合を得ることができる。エンティティの部分集合は、エンティティのリストとして提供されても良いし、エンティティに関連付けられるデータブロックへのリンクのリストとして提供されても良い。本実施の形態では、データベースごとに検索結果が出力されるのではなく、各データベースの検索結果が統合されて出力される。出力されるエンティティは、総合評価値に基づいて第１の検索クエリーＱ１との合致度が高いと判断されたものである。したがって、ユーザは、情報ニーズに近いエンティティを求めることが可能となる。
【００５０】
また、本技術の実施の形態の他の例として検索装置２００が挙げられる。図２５は、検索装置２００を説明する機能ブロック図である。図２５において、検索装置１００と同一の要素は、同一の符号を付することで説明を省略する。検索装置２００は、検索装置１００における集合生成部６１，６２，６３、集合格納部１２、部分集合生成部７、部分集合格納部１３を備えないものである。すなわち、検索装置２００は、検索装置１００の検索部５１，５２，５３による処理までを行う。そして、検索結果として、検出されたデータブロックのリストや、検出されたデータブロックへのリンクのリストが出力される。検索装置１００はデータブロックに関連付けられるエンティティを検索するものであるが、検索装置２００はデータブロック自体を検索したいときに有効である。
【００５１】
また、本技術の実施の形態の他の例として検索装置３００が挙げられる。図２６は、検索装置３００を説明する機能ブロック図である。図２６において、検索装置１００と同一の要素は、同一の符号を付することで説明を省略する。検索装置３００は、検索装置１００における部分集合生成部７、部分集合格納部１３を備えないものである。すなわち、検索装置３００は、集合生成部６１，６２，６３による処理までを行う。そして、検索結果として、集合格納部１２に格納されているエンティティリストが出力されたり、エンティティリストに含まれるエンティティへのリンクが出力されたりする。エンティティリストは、データベースごとに生成されるため、検索結果はデータベースごとに出力される。検索装置１００は、各データベースの検索結果を統合してエンティティの部分集合を出力するものであるが、検索装置３００は、データベースごとに検索結果を分けて得たい場合に有効である。
【００５２】
以上本技術の実施の形態について説明したが、本技術はこれに限定されるものではない。例えば、図２，図２５，図２６の機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない。また、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列に実行しても良い場合もある。
【００５３】
なお、上で述べた検索装置１００，２００，３００は、コンピュータ装置であって、図２７に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００５４】
以上述べた本実施の形態をまとめると、以下のようになる。
【００５５】
本実施の形態に係る検索方法は、（Ａ）ユーザから入力された第１の検索クエリーに含まれる１又は複数のクエリー要素を抽出し、（Ｂ）クエリー要素ごとに、各々異なる種類のデータを格納する複数のデータベースとの関連度を算出し、（Ｃ）関連度に基づいて、クエリー要素ごとに複数のデータベースの各々との関連の有無を判定し、（Ｄ）複数のデータベースの各々について、当該データベースと関連有りと判定されたクエリー要素がある場合は、当該クエリー要素を含む第２の検索クエリーを生成し、（Ｅ）第２の検索クエリーに基づいて、複数のデータベースのうち、当該第２の検索クエリーに対応するデータベースを検索する処理を含む。なお、ここで、複数のデータベースとは、図１（ａ）や図１（ｂ）に示されるように、物理的に分離されたデータベースでも良いし、図１（ｃ）に示されるように、物理的には同一であり仮想的に分離されたデータベースであっても良い。
【００５６】
本検索方法によれば、ユーザは複数のデータベースに共通の検索クエリーとして第１の検索クエリーを入力すると、データベースの各々について、そのデータベースに専用の第２の検索クエリーが生成される。第２の検索クエリーは、担当のデータベースに関連有りと判断されたクエリー要素が含まれている。したがって、ユーザは、データベースごとに検索クエリーを入力したり、データベースのデータの種類に適する検索クエリーを考えたりしなくてもよいため、利便性が高くなる。第１の検索クエリーは複数のデータベースに共通のものであるが、これにより検索精度が落ちることはない。ユーザは、各データベースに専用の検索クエリーを入力しなくても、精度の高い検索結果を得ることができるようになる。検索クエリーにどのようなクエリー要素が含まれていても、クエリー要素ごとに関連度が判断され、各データベースとの関連の有無が判定されるため、第１の検索クエリーの自由度も高い。
【００５７】
また、一のエンティティに対して関連付けられた複数のデータブロックが、前記複数のデータベースに分散して格納されている場合がある。この場合、上で述べた検索する処理において、（Ｅ１）複数のデータベースのうち二以上のデータベースの各々からデータブロックが検出されると、当該データブロックに関連付けられているエンティティを特定して、当該エンティティの集合を生成し、（Ｅ２）エンティティの集合から、所定のルールに基づいて、当該エンティティの部分集合を生成する処理を実行する場合もある。これによって、二以上のデータベースの各々からデータブロックが検出されても、所定のルールに基づいて、エンティティの部分集合とすることで、統合された検索結果を得ることができるようになる。検索結果はエンティティのリストとなるため、ユーザは情報ニーズに適合した検索結果を得ることができる。ここで、所定のルールは、二以上のデータベースから得られたエンティティの集合を統合して一つの集合にするものであれば良い。例えば、各データベースから得られるエンティティの集合の和集合又は積集合としても良い。また、エンティティの各々について、第１の検索クエリーに対する適合度を示す総合評価値を算出し、総合評価値が閾値以上のエンティティのみを抽出し、部分集合としても良い。なお、ここで、データブロックとは、図１（ａ）や図１（ｂ）に示されるように、物理的に分離されたものでも良いし、図１（ｃ）に示されるように、物理的には同一であって仮想的に分離されたものでも良い。
【００５８】
さらに、上で述べた関連度を算出する処理において、クエリー要素ごとに、複数のデータベースの各々における当該クエリー要素の出現頻度をカウントし、当該出現頻度に基づいて、当該クエリー要素とデータベースの各々との関連度を算出するようにしても良い。特定のクエリー要素が特定のデータベースに頻繁に出現する場合、そのクエリー要素とデータベースとは関連を有する可能性が高い。このようにすれば、関連度がより適切な値となる。
【００５９】
さらに、上で述べた関連度を算出する処理が、（Ｂ１）カテゴリと当該カテゴリに含まれる複数のカテゴリ要素とを対応付けるカテゴリルールに基づいて、クエリー要素をカテゴリ要素として含むカテゴリを特定し、（Ｂ２）カテゴリルールに基づいて、特定されたカテゴリに含まれる複数のカテゴリ要素を取得し、（Ｂ３）複数のデータベースの各々について、取得した複数のカテゴリ要素の出現頻度をカウントし、（Ｂ４）出現頻度に基づいて、クエリー要素と複数のデータベースの各々との関連度を算出する処理を含むようにしても良い。例えば、データに店舗の所在地が記述されている場合、具体的な地名（「日本橋」「東京」等）に基づいて関連度が判断されると、データベースにその具体的な地名が出現しない場合は関連度が低いと誤って判断される。このようにすれば、カテゴリに基づいて関連度が算出され、関連度は更に適切な値となる。
【００６０】
さらに、上で述べた検索する処理が、（Ｅ３）カテゴリと当該カテゴリに含まれる複数のカテゴリ要素とを対応付けるカテゴリルールに基づいて、クエリー要素をカテゴリ要素として含むカテゴリを特定し、（Ｅ４）カテゴリと検索方法とを対応付ける検索ルールに基づいて、特定されたカテゴリに対応する検索方法を特定し、（Ｅ５）特定された検索方法に基づいてクエリー要素を含む第２の検索クエリーを生成する処理を含むようにしても良い。このようにすれば、カテゴリに応じた検索方法により検索が行われ、検索の精度が更に高くなる。
【００６１】
さらに、上で述べたエンティティの集合を生成する処理が、検索する処理にて検出されたデータブロックごとに、所定のルールに基づいて、第２の検索クエリーとの合致度を示す第１の評価値を算出する処理を含むようにしても良い。その際、上で述べたエンティティの部分集合を生成する処理が、エンティティごとに、当該エンティティに関連付けられたデータブロックの第１の評価値に基づいて、当該エンティティの評価を示す総合評価値を算出し、総合評価値に基づいて、エンティティの集合からエンティティの部分集合を生成する処理を含むようにしても良い。このようにすれば、第１の検索クエリーとの合致度が高いデータブロックの第１の評価値が高くなる。そして、データブロックの第１の評価値に基づいて、そのデータブロックに関連付けられるエンティティの総合評価値が算出される。この総合評価値は、エンティティと第１の検索クエリーとの合致度が高いほど高くなる。部分集合には第１の検索クエリーと合致度が高いエンティティが含まれることとなり、ユーザは情報ニーズに適合した検索結果を得ることができる。
【００６２】
なお、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【００６３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００６４】
（付記１）
ユーザから入力された第１の検索クエリーに含まれる１又は複数のクエリー要素を抽出し、
前記クエリー要素ごとに、各々異なる種類のデータを格納する複数のデータベースとの関連度を算出し、
前記関連度に基づいて、前記クエリー要素ごとに前記複数のデータベースの各々との関連の有無を判定し、
前記複数のデータベースの各々について、当該データベースと関連有りと判定されたクエリー要素がある場合は、当該クエリー要素を含む第２の検索クエリーを生成し
前記第２の検索クエリーに基づいて、前記複数のデータベースのうち、当該第２の検索クエリーに対応するデータベースを検索する
処理をコンピュータに実行させるための検索プログラム。
【００６５】
（付記２）
一のエンティティに対して関連付けられた複数のデータブロックが、前記複数のデータベースに分散して格納されており、
前記検索する処理において、前記複数のデータベースのうち二以上のデータベースの各々から前記データブロックが検出されると、当該データブロックに関連付けられているエンティティを特定して、当該エンティティの集合を生成し、
前記エンティティの集合から、所定のルールに基づいて、当該エンティティの部分集合を生成する
処理を、さらに、前記コンピュータに実行させるための付記１記載の検索プログラム。
【００６６】
（付記３）
前記関連度を算出する処理が、
前記クエリー要素ごとに、前記複数のデータベースの各々における当該クエリー要素の出現頻度をカウントし、
当該出現頻度に基づいて、当該クエリー要素と前記データベースの各々との前記関連度を算出する
処理を含む、付記１又は２記載の検索プログラム。
【００６７】
（付記４）
前記関連度を算出する処理が、
カテゴリと当該カテゴリに含まれる複数のカテゴリ要素とを対応付けるカテゴリルールに基づいて、前記クエリー要素を前記カテゴリ要素として含むカテゴリを特定し、
前記カテゴリルールに基づいて、特定された前記カテゴリに含まれる前記複数のカテゴリ要素を取得し、
前記複数のデータベースの各々について、取得した前記複数のカテゴリ要素の出現頻度をカウントし、
前記出現頻度に基づいて、前記クエリー要素と前記複数のデータベースの各々との前記関連度を算出する
処理を含む、付記１又は２記載の検索プログラム。
【００６８】
（付記５）
前記検索する処理が、
カテゴリと当該カテゴリに含まれる複数のカテゴリ要素とを対応付けるカテゴリルールに基づいて、前記クエリー要素をカテゴリ要素として含むカテゴリを特定し、
前記カテゴリと検索方法とを対応付ける検索ルールに基づいて、特定された前記カテゴリに対応する検索方法を特定し、
特定された前記検索方法に基づいて検索する
処理を含む、付記１又は２記載の検索プログラム。
【００６９】
（付記６）
前記エンティティの集合を生成する処理が、
前記検索する処理にて検出された前記データブロックごとに、所定のルールに基づいて前記第２の検索クエリーとの合致度を示す第１の評価値を算出し、
前記エンティティの部分集合を生成する処理が、
前記エンティティごとに、当該エンティティに関連付けられた前記データブロックの前記第１の評価値に基づいて、当該エンティティの評価を示す総合評価値を算出し、
前記総合評価値に基づいて、前記エンティティの集合から前記エンティティの部分集合を生成する
処理を含む付記２記載の検索プログラム。
【００７０】
（付記７）
ユーザから入力された第１の検索クエリーに含まれる一又は複数のクエリー要素を抽出し、
前記クエリー要素ごとに、各々異なる種類のデータを格納する複数のデータベースとの関連度を算出し、
前記関連度に基づいて、前記クエリー要素ごとに前記複数のデータベースとの関連の有無を判定し、
前記複数のデータベースの各々について、当該データベースと関連有りと判定されたクエリー要素がある場合は、当該クエリー要素を含む第２の検索クエリーを生成し、
前記第２検索クエリーに基づいて、前記複数のデータベースのうち、当該第２検索クエリーに対応するデータベースを検索する
処理を含み、コンピュータにより実行される検索方法。
【００７１】
（付記８）
ユーザから入力された第１の検索クエリーに含まれる一又は複数のクエリー要素を抽出する抽出部と、
前記クエリー要素ごとに、各々異なる種類のデータを格納する複数のデータベースの各々との関連度を算出する計算部と、
前記関連度に基づいて、前記クエリー要素ごとに前記複数のデータベースの各々との関連の有無を判定する判定部と、
前記複数のデータベースの各々について、当該データベースと関連有りと判定された前記クエリー要素がある場合は、当該クエリー要素を含む第２の検索クエリーを生成する検索クエリー生成部と、
前記第２の検索クエリーに基づいて、前記複数のデータベースのうち、当該第２の検索クエリーに対応するデータベースを検索する検索部と
を有する検索装置。
【符号の説明】
【００７２】
１００，２００，３００  検索装置
１  抽出部
２  計算部
３  判定部
４  検索クエリー生成部
５１，５２，５３  検索部
６１，６２，６３  集合生成部
７  部分集合生成部
１０  クエリーリスト格納部
１１  クエリー格納部
１２  集合格納部
１３  部分集合格納部
Ｄ１，Ｄ２，Ｄ３  データベース
【図１】
0005578137.tif 000002
【図２】
0005578137.tif 000003
【図３】
0005578137.tif 000004
【図４】
0005578137.tif 000005
【図５】
0005578137.tif 000006
【図６】
0005578137.tif 000007
【図７】
0005578137.tif 000008
【図８】
0005578137.tif 000009
【図９】
0005578137.tif 000010
【図１０】
0005578137.tif 000011
【図１１】
0005578137.tif 000012
【図１２】
0005578137.tif 000013
【図１３】
0005578137.tif 000014
【図１４Ａ】
0005578137.tif 000015
【図１４Ｂ】
0005578137.tif 000016
【図１５】
0005578137.tif 000017
【図１６】
0005578137.tif 000018
【図１７】
0005578137.tif 000019
【図１８】
0005578137.tif 000020
【図１９】
0005578137.tif 000021
【図２０】
0005578137.tif 000022
【図２１】
0005578137.tif 000023
【図２２】
0005578137.tif 000024
【図２３】
0005578137.tif 000025
【図２４】
0005578137.tif 000026
【図２５】
0005578137.tif 000027
【図２６】
0005578137.tif 000028
【図２７】
0005578137.tif 000029