(57)【要約】【課題】検索結果の絞込み精度を向上させること。【解決手段】サーバ装置１０は、キーワードの指定を受け付け、指定のキーワードがヒットするファイルを検索する。さらに、サーバ装置１０は、ファイルの検索結果にしたがって指定のキーワードの出現の有無をファイルもしくはファイルのメタデータごとに設定することによって出現マップを作成する。さらに、サーバ装置１０は、指定のキーワードの出現マップと、指定のキーワードと組み合わせるキーワードの出現マップとを用いて、指定のキーワードとの組合せの検索結果が所定の件数を達成するキーワードを抽出する。さらに、サーバ装置１０は、抽出されたキーワードが指定のキーワードと組み合わせられる妥当性を判定する。さらに、サーバ装置１０は、妥当性があると判定されたキーワードを提示する。【選択図】図２
2014120080.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
キーワードの指定を受け付け、
複数のファイルもしくは複数のファイルの各々に含まれる文字列のインデックスを記憶する第１の記憶部、または、複数のファイルのメタデータもしくは複数のファイルの各々のメタデータに含まれる文字列のインデックスを記憶する第２の記憶部を参照して、前記指定のキーワードがヒットするファイルを検索し、
ファイルの検索結果にしたがって前記指定のキーワードの出現の有無をファイルもしくはファイルのメタデータごとに設定することによって出現マップを作成し、
前記指定のキーワードの出現マップと、前記指定のキーワードと組み合わせるキーワードの出現マップとを用いて、前記指定のキーワードとの組合せの検索結果が所定の件数を達成するキーワードを抽出し、
抽出されたキーワードが前記指定のキーワードと組み合わせられる妥当性を判定し、
妥当性があると判定されたキーワードを提示する
各処理を実行させるキーワード提示プログラム。
【請求項２】
前記コンピュータに、
前記指定のキーワードに組み合わせるキーワード数を取得し、
前記指定のキーワードに組み合わせられるキーワードの各順序ごとに、当該順序に対応する回数にわたって前記指定のキーワードに組み合わせるキーワード数に対応する絞込み率を前記指定のキーワードによる検索結果の件数に乗算することによって当該順序における絞込み件数を算出する処理をさらに実行し、
前記妥当性を判定する処理として、
前記指定のキーワードに組み合わせられるキーワードの各順序ごとに当該順序までのキーワードがＡＮＤ演算された場合の検索結果の件数が前記絞込み件数から所定の範囲内であるか否かを判定することによって妥当性を判定することを特徴とする請求項１に記載のキーワード提示プログラム。
【請求項３】
前記キーワードを抽出する処理として、
前記指定のキーワードとの組合せの検索結果が第１の件数以下かつ前記第１の件数よりも小さい第２の件数以上であるキーワードを抽出することを特徴とする請求項１または２に記載のキーワード提示プログラム。
【請求項４】
コンピュータが、
キーワードの指定を受け付け、
複数のファイルもしくは複数のファイルの各々に含まれる文字列のインデックスを記憶する第１の記憶部、または、複数のファイルのメタデータもしくは複数のファイルの各々のメタデータに含まれる文字列のインデックスを記憶する第２の記憶部を参照して、前記指定のキーワードがヒットするファイルを検索し、
ファイルの検索結果にしたがって前記指定のキーワードの出現の有無をファイルもしくはファイルのメタデータごとに設定することによって出現マップを作成し、
前記指定のキーワードの出現マップと、前記指定のキーワードと組み合わせるキーワードの出現マップとを用いて、前記指定のキーワードとの組合せの検索結果が所定の件数を達成するキーワードを抽出し、
抽出されたキーワードが前記指定のキーワードと組み合わせられる妥当性を判定し、
妥当性があると判定されたキーワードを提示する
各処理を実行するキーワード提示方法。
【請求項５】
複数のファイルもしくは複数のファイルの各々に含まれる文字列のインデックスを記憶する第１の記憶部、または、複数のファイルのメタデータもしくは複数のファイルの各々のメタデータに含まれる文字列のインデックスを記憶する第２の記憶部のうち少なくとも１つの記憶部と、
キーワードの指定を受け付ける受付部と、
前記第１の記憶部または前記第２の記憶部を参照して、前記指定のキーワードがヒットするファイルを検索する検索部と、
ファイルの検索結果にしたがって前記指定のキーワードの出現の有無をファイルもしくはファイルのメタデータごとに設定することによって出現マップを作成する作成部と、
前記指定のキーワードの出現マップと、前記指定のキーワードと組み合わせるキーワードの出現マップとを用いて、前記指定のキーワードとの組合せの検索結果が所定の件数を達成するキーワードを抽出する抽出部と、
抽出されたキーワードが前記指定のキーワードと組み合わせられる妥当性を判定する判定部と、
妥当性があると判定されたキーワードを提示する提示部と
を有するキーワード提示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーワード提示プログラム、キーワード提示方法及びキーワード提示装置に関する。
【背景技術】
【０００２】
キーワードを手がかりに目的のデータを検索するキーワード検索が知られている。例えば、キーワード検索は、ＷｅｂページまたはＷｅｂページ内の画像や音声などのファイルを検索するＷｅｂ検索やコンピュータ上に記憶されたファイルを検索するデスクトップ検索を行う場合などに利用される。
【０００３】
かかるキーワード検索に用いられるキーワードが一般的である場合には、検索結果として膨大な件数がヒットする場合がある。このため、ユーザによって複数の指定がなされたキーワードを用いて目的のデータを検索するＡＮＤ検索が用いられる場合がある。かかるＡＮＤ検索では、入力されるキーワードと関連性の高い単語や共起関係の強い単語を候補として提示することによってキーワードの入力を補助することも行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２６０９９０号公報
【特許文献２】特開平５−０５４０８２号公報
【特許文献３】特開２００３−１０８５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のキーワードの入力補助には、以下に説明するように、検索結果を精度よく絞り込むことができないという問題がある。
【０００６】
例えば、上記の入力補助で関連性の高い単語が提示された場合には、入力されたキーワードの同義語や類義語を含むファイルが検索されることになる。このため、入力されたキーワード単独で検索する場合と大差のない検索結果しか得られない場合が多く、検索結果を絞り込むことができるとは限らない。また、上記の入力補助で共起関係の強い単語が提示された場合には、入力されたキーワードとともに出現する頻度が高い単語をさらに含むファイルが検索されることになる。ところが、共起関係の強い単語が提示された場合にも、入力されたキーワードと関連性の高い単語が提示されるケースが多く、入力されたキーワード単独で検索する場合と大差のない検索結果しか得られない場合が多い。
【０００７】
１つの側面では、検索結果の絞込み精度を向上させることができるキーワード提示プログラム、キーワード提示方法及びキーワード提示装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一態様のキーワード提示プログラムは、コンピュータに、キーワードの指定を受け付ける処理を実行させる。さらに、前記コンピュータに、複数のファイルもしくは複数のファイルの各々に含まれる文字列のインデックスを記憶する第１の記憶部、または、複数のファイルのメタデータもしくは複数のファイルの各々のメタデータに含まれる文字列のインデックスを記憶する第２の記憶部を参照して、前記指定のキーワードがヒットするファイルを検索する処理を実行させる。さらに、前記コンピュータに、ファイルの検索結果にしたがって前記指定のキーワードの出現の有無をファイルもしくはファイルのメタデータごとに設定することによって出現マップを作成する処理を実行させる。さらに、前記コンピュータに、前記指定のキーワードの出現マップと、前記指定のキーワードと組み合わせるキーワードの出現マップとを用いて、前記指定のキーワードとの組合せの検索結果が所定の件数を達成するキーワードを抽出する処理を実行させる。さらに、前記コンピュータに、抽出されたキーワードが前記指定のキーワードと組み合わせられる妥当性を判定する処理を実行させる。さらに、前記コンピュータに、妥当性があると判定されたキーワードを提示する処理を実行させる。
【発明の効果】
【０００９】
一実施形態によれば、検索結果の絞込み精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る検索システムの構成を示す図である。
【図２】図２は、実施例１に係るサーバ装置の機能的構成を示すブロック図である。
【図３】図３は、指定のキーワードの出現マップの一例を示す図である。
【図４】図４は、ＡＮＤ演算の一例を示す図である。
【図５】図５は、ＡＮＤ演算の一例を示す図である。
【図６】図６は、キーワードルートの一例を示す図である。
【図７】図７は、指定のキーワードによる検索結果の件数と指定のキーワードに組み合わせるキーワード数との関係の一例を示す図である。
【図８】図８は、クライアント端末に表示される画面遷移の一例を示す図である。
【図９】図９は、クライアント端末に表示される画面遷移の一例を示す図である。
【図１０】図１０は、実施例１に係る検索処理の手順を示すフローチャートである。
【図１１】図１１は、実施例１に係る提示キーワードルートの生成処理の手順を示すフローチャート（１）である。
【図１２】図１２は、実施例１に係る提示キーワードルートの生成処理の手順を示すフローチャート（２）である。
【図１３】図１３は、実施例１及び実施例２に係るキーワード提示プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して本願に係るキーワード提示プログラム、キーワード提示方法及びキーワード提示装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
［システム構成］
図１は、実施例１に係る検索システムの構成を示す図である。図１に示す検索システム１は、ネットワーク５を介して、ＷｅｂページまたはＷｅｂページ内の画像や音声などのファイルを検索するＷｅｂ検索サービスをクライアント端末３０Ａ〜３０Ｃに提供するものである。
【００１３】
図１に示すように、検索システム１には、サーバ装置１０と、クライアント端末３０Ａ〜３０Ｃとが収容される。なお、図１には、３つのクライアント端末をそれぞれ図示したが、検索システム１は任意の数のクライアント端末を収容できる。なお、以下では、クライアント端末３０Ａ〜３０Ｃの各装置を区別なく総称する場合には、「クライアント端末３０」と記載する場合がある。
【００１４】
これらサーバ装置１０及びクライアント端末３０の間は、ネットワーク５を介して相互に通信可能に接続される。かかるネットワーク５には、有線または無線を問わず、インターネット（Internet）を始め、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。
【００１５】
サーバ装置１０は、Ｗｅｂ検索サービスをクライアント端末３０に提供するコンピュータである。例えば、サーバ装置１０は、クライアント端末３０を介して指定を受け付けたキーワードに組み合わせることによって検索結果の件数を絞り込む絞込み用のキーワードを提示するキーワード提示サービスを上記のＷｅｂ検索サービスに併せて提供する。一態様としては、上記のキーワード提示サービスに関する処理を実行するＷｅｂサーバとして実装することとしてもよいし、また、上記のキーワード提示サービスをアウトソーシングにより提供するクラウドとして実装することもできる。他の一態様としては、パッケージソフトウェアやオンラインソフトウェアとして提供されるキーワード提示プログラムを所望のコンピュータにプリインストール又はインストールさせることによっても実装できる。
【００１６】
クライアント端末３０は、上記のキーワード提示サービスの提供を受けるコンピュータである。かかるクライアント端末３０の一態様としては、パーソナルコンピュータを始めとする固定端末の他、スマートフォン、携帯電話機、ＰＨＳ（Personal  Handyphone  System）やＰＤＡ（Personal  Digital  Assistants）などの移動体端末も採用できる。
【００１７】
なお、以下では、サーバ装置１０がネットワーク５上で公開されたＷｅｂページをクライアント端末３０Ａ〜３０Ｃに検索させるポータルサイトとして機能する例を想定して説明を行うが、上記のキーワード提示サービスの適用範囲はサーバ装置１０がポータルサイトとして機能する場合に限定されない。例えば、特定のサービス事業者が管理するサイト内のファイル、例えばマークアップ言語で記述されたＸＭＬ（Extensible  Markup  Language）やＨＴＭＬ（HyperText  Markup  Language）ファイル等をキーワードを用いて検索させる場合にも上記のキーワード提示サービスを同様に適用できる。また、企業や団体などの組織によってデータベース化されたファイルをアクセス権限を持つ組織の関係者を対象にキーワードを用いて検索させる場合にも上記のキーワード提示サービスを同様に適用できる。
【００１８】
［サーバ装置１０の構成］
続いて、本実施例に係るサーバ装置１０の機能的構成について説明する。図２は、実施例１に係るサーバ装置１０の機能的構成を示すブロック図である。図２に示すように、サーバ装置１０は、通信Ｉ／Ｆ（InterFace）部１１と、記憶部１３と、制御部１５とを有する。なお、サーバ装置１０は、図２に示した機能部以外にも既知のサーバ装置が有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
【００１９】
通信Ｉ／Ｆ部１１は、他の装置、例えばクライアント端末３０との間で通信制御を行うインタフェースである。かかる通信Ｉ／Ｆ部１１の一態様としては、ＬＡＮ（Local  Area  Network）カードなどのネットワークインタフェースカードを採用できる。例えば、通信Ｉ／Ｆ部１１は、クライアント端末３０から検索に用いるキーワードを受信したり、指定のキーワードを用いて検索された検索結果、さらには指定のキーワードに組み合わせて検索結果をさらに絞り込むための絞込み用のキーワードをクライアント端末３０へ送信したりする。
【００２０】
記憶部１３は、制御部１５で実行されるＯＳ（Operating  System）やキーワード提示プログラムなどの各種プログラムを記憶する記憶デバイスである。記憶部１３の一態様としては、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置が挙げられる。なお、記憶部１３は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００２１】
記憶部１３は、制御部１５で実行されるプログラムに用いられるデータの一例として、転置インデックス１３ａと、提示キーワードルート１３ｂとを記憶する。これら転置インデックス１３ａ及び提示キーワードルート１３ｂ以外にも、他の電子データ、例えばＷｅｂ検索でアクセスされるＷｅｂページなどのファイルのキャッシュなども併せて記憶することもできる。
【００２２】
このうち、転置インデックス１３ａは、検索用の索引データである。かかる転置インデックス１３ａの一態様としては、索引とする見出し語ごとにファイル内のテキストに見出し語を含むファイルＩＤ（IDentifier）および見出し語がテキスト内で出現する位置情報が対応付けられたデータを採用できる。ここで言う「ファイル」の一例としては、ＨＴＭＬファイル、ＸＭＬファイルやＰＤＦ（Portable  Document  Format）ファイルなどが挙げられる。これらのファイルには、その一部にテキストが含まれていればよく、画像や音声が含まれていてもかまわず、画像や音声を含んだファイルのテキストを対象にキーワード検索を実行することによって画像や動画像を検索することとしてもよい。また、「見出し語」の抽出には、任意の索引文字列の抽出方法、例えば形態素解析やＮ−Ｇｒａｍ法などを用いることができる。
【００２３】
かかる転置インデックス１３ａを検索に用いることによって、クライアント端末３０から指定されたキーワードを含むファイルをファイルそのものを記憶せずとも検索できる。なお、図２の例では、ファイルの検索に転置インデックス１３ａを用いる場合を例示したが、各ファイルそのものを記憶部１３に記憶しておき、各ファイルに含まれるテキストから指定のキーワードを検索することとしてもかまわない。
【００２４】
制御部１５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１５は、図２に示すように、受付部１５ａと、検索部１５ｂと、作成部１５ｃと、抽出部１５ｄと、判定部１５ｅと、提示部１５ｆとを有する。
【００２５】
このうち、受付部１５ａは、キーワードの指定を受け付ける処理部である。一態様としては、受付部１５ａは、クライアント端末３０からサーバ装置１０がＷｅｂ検索サービスを提供するＵＲＬ（Uniform  Resource  Locator）へのアクセスを受け付けた場合に、次のような検索画面をクライアント端末３０に表示させる。かかる検索画面の一例としては、キーワードを入力可能なテキストボックスやキーワードを選択可能なプルダウンメニューなどが含まれる。このように、受付部１５ａは、クライアント端末３０に検索画面を表示させることによってユーザが検索に用いるキーワードの指定を検索画面を介して受け付ける。
【００２６】
検索部１５ｂは、転置インデックス１３ａを参照して、指定のキーワードを含むファイルを検索する処理部である。一態様としては、検索部１５ｂは、転置インデックス１３ａに含まれる見出し語のうち、受付部１５ａによって指定が受け付けられたキーワードに対応する見出し語に対応付けられたファイルＩＤを検索する。その後、検索部１５ｂは、検索結果として得られたファイルＩＤの数、すなわち検索結果の件数が所定の目的件数の上限値、例えば１０００件以下であるか否かを判定する。このとき、目的件数の上限値を超過している場合には、指定がなされたキーワードが一般的であり、目的の情報を閲覧できる程度まで検索結果が絞り込まれていない可能性が高い。このため、検索部１５ｂは、指定のキーワードに組み合わせる絞込み用のキーワードを提示するために、検索結果を作成部１５ｃへ出力する。一方、目的件数の上限値以下である場合には、指定がなされたキーワードによってユーザが目的とする情報を閲覧できる程度まで検索結果が絞り込まれている可能性が高いと推定できる。この場合には、検索部１５ｂは、絞込み用のキーワードを生成することなく、検索結果を提示部１５ｆへ出力する。
【００２７】
作成部１５ｃは、ファイルの検索結果にしたがって指定のキーワードの出現の有無をファイルごとに設定することによって出現マップを作成する処理部である。かかる出現マップのデータ構造の一例としては、ファイルＩＤごとに「０」または「１」のフラグが設定されたビット配列を採用できる。例えば、作成部１５ｃは、指定のキーワードが含まれるファイルのファイルＩＤには「１」を付与する一方で、指定のキーワードが含まれないファイルのファイルＩＤには「０」を付与する。また、作成部１５ｃは、指定のキーワードの出現マップの他、指定のキーワードに組み合わせる絞込み用のキーワードの候補の出現マップも絞込み用のキーワードの候補の検索結果をビット配列へ変換することによって作成する。
【００２８】
抽出部１５ｄは、指定のキーワードの出現マップと、指定のキーワードと組み合わせるキーワードの出現マップとを用いて、指定のキーワードとの組合せの検索結果が所定の件数を達成するキーワードを抽出する処理部である。一態様としては、抽出部１５ｄは、指定のキーワードとの間で共起関係を持つキーワードを指定のキーワードと組み合わせる絞込み用のキーワードの候補として用いる。このとき、抽出部１５ｄは、指定のキーワードに絞込み用のキーワードの候補を１つ付加する。そして、抽出部１５ｄは、指定のキーワードの出現マップと絞込み用のキーワードの候補の出現マップとを用いて、各々のキーワードのＡＮＤ検索の検索結果が目標件数の上限値以下かつ目標件数の下限値以上となるまで、指定のキーワードに絞込み用のキーワードの候補を付加する処理を繰り返し実行する。その後、抽出部１５ｄは、ＡＮＤ検索の検索結果が目標件数の上限値以下かつ目標件数の下限値以上となった場合に、指定のキーワード、さらには、１番目からＮ番目までの絞込み用のキーワードの候補とをキーワードルートとして抽出する。
【００２９】
これを具体的に説明すると、抽出部１５ｄは、作成部１５ｃによって指定のキーワードの出現マップが作成された場合に、制御部１５が有する内部メモリに指定のキーワードをキーワードルートの最初のキーワード０として登録する。このとき、抽出部１５ｄは、キーワード０にキーワード０による検索結果の件数を対応付けて内部メモリに登録する。そして、抽出部１５ｄは、指定のキーワードとの間で共起関係を持つキーワードを指定のキーワードと組み合わせる絞込み用のキーワードの候補としてリスト化する。その上で、抽出部１５ｄは、絞込み用のキーワードの候補の中から新たなキーワードを１つ選択する。続いて、抽出部１５ｄは、新たに選択されたキーワードの出現マップを作成部１５ｃに作成させる。ここでは、新たにキーワードが選択される度に出現マップを作成部１５ｃに作成させる場合を例示したが、処理時間を短縮するために、キーワードごとの出現マップを予め作成して記憶しておくこととしてもかまわない。
【００３０】
その後、抽出部１５ｄは、内部メモリに記憶されたキーワードルートの出現マップ、ここでは指定のキーワードの出現マップと、新たに選択されたキーワードの出現マップとの間でビット配列のＡＮＤ演算を実行する。すなわち、抽出部１５ｄは、互いの出現マップに含まれる同一のファイルＩＤに設定された値をＡＮＤ演算する。例えば、同一のファイルＩＤに設定された値のうち少なくとも一方が「０」である場合には、当該ファイルＩＤの値に「０」が設定される。一方、同一のファイルＩＤに設定された値の両方が「１」である場合には、当該ファイルＩＤの値に「１」が設定される。その上で、抽出部１５ｄは、ＡＮＤ演算によって得られた出現マップに含まれるビット配列のうち「１」に設定されたビットの数を集計する。これによって、キーワードルートに含まれる各キーワード、すなわちキーワード０及びキーワード１のＡＮＤ検索の検索結果の件数が算出される。続いて、抽出部１５ｄは、新たに選択されたキーワードをキーワードルートのキーワード１として内部メモリに追加する。このとき、抽出部１５ｄは、キーワード１にキーワード０及びキーワード１のＡＮＤ検索の検索結果の件数を対応付けて内部メモリに登録する。そして、抽出部１５ｄは、キーワードルートに含まれる各キーワードのＡＮＤ検索の検索結果の件数が目標件数の上限値以下であるか否かを判定する。
【００３１】
このとき、目標件数の上限値を超過する場合には、目的の情報を閲覧できる程度まで検索結果が絞り込まれていない可能性が高い。この場合には、抽出部１５ｄは、絞込み用のキーワードの候補の中から新たなキーワードをさらに選択した上でその出現マップを作成部１５ｃに作成させ、内部メモリに記憶されたキーワードルートの出現マップとの間でビット配列のＡＮＤ演算を実行する。そして、抽出部１５ｄは、キーワードルートに含まれる各キーワード、すなわちキーワード０、キーワード１及びキーワード２のＡＮＤ検索の検索結果の件数を算出する。さらに、抽出部１５ｄは、新たに選択されたキーワードをキーワードルートのキーワード２として内部メモリに追加する。この場合には、抽出部１５ｄは、キーワード２にキーワード０、キーワード１及びキーワード２のＡＮＤ検索の検索結果の件数を対応付けて内部メモリに登録する。
【００３２】
このように、抽出部１５ｄは、キーワードルートに含まれる各キーワードのＡＮＤ検索の検索結果の件数が目標件数の上限値以下になるまで、絞込み用のキーワードの候補の中から新たなキーワードを選択してキーワードルートに追加する処理を繰り返し実行する。
【００３３】
一方、目標件数の上限値以下である場合には、指定がなされたキーワードによってユーザが目的とする情報を閲覧できる程度まで検索結果が絞り込まれている可能性が高いと推定できる。この場合には、抽出部１５ｄは、キーワードルートに含まれる各キーワードのＡＮＤ検索の検索結果の件数が目標件数の下限値、例えば１０件以上であるか否かを判定する。このように、目標件数の下限値以上であるか否かを判定するのは、目標件数の上限値以下であったとしても、検索結果の件数が過度に少ない場合には、ユーザにとって重要な情報を持つファイルが検索結果から漏れてしまっている可能性が高まるからである。
【００３４】
そして、抽出部１５ｄは、目標件数の下限値未満である場合に、内部メモリに記憶されたキーワードルートを消去する。一方、抽出部１５ｄは、目標件数の下限値以上である場合に、後述のキーワードルートの妥当性を判定する対象として、内部メモリに記憶されたキーワードルートをそのまま残す。その後、抽出部１５ｄは、指定のキーワードに絞込み用のキーワードの候補を組み合わせる探索が全ての組合せについて終了するまで、すなわち既に探索されたキーワードルートおよび破棄されたキーワードルートを構成する各キーワードとの間で重複しない組合せがなくなるまで、指定のキーワードに絞込み用のキーワードの候補を組み合わせる探索を繰り返し実行する。このとき、指定のキーワードがキーワードルートの最初のキーワード０であることは明らかである。このため、抽出部１５ｄは、絞込み用のキーワードの候補の中からキーワードルートのキーワード１に対応するキーワードを選択する段階から繰り返し処理を開始する。
【００３５】
図３は、指定のキーワードの出現マップの一例を示す図である。図４及び図５は、ＡＮＤ演算の一例を示す図である。図３には、キーワードとして「protein」が指定された場合の出現マップが図示されている。また、図４には、キーワード０「protein」の出現マップとキーワード１「metabolic」の出現マップとの間で実行されるビット配列のＡＮＤ演算が図示されている。さらに、図５には、キーワード０「protein」及びキーワード１「metabolic」の出現マップとキーワード２「ec」の出現マップとの間で実行されるビット配列のＡＮＤ演算が図示されている。
【００３６】
図３に示すキーワード「protein」の出現マップは、ファイルＩＤ「１」、「３」、「６」及び「７」の各ファイルにキーワード「protein」が含まれており、その他のファイルＩＤのファイルにはキーワード「protein」が含まれていないことを意味する。かかるキーワード「protein」は、クライアント端末３０から指定を受け付けたキーワードであるので、キーワードルートのキーワード０として内部メモリに登録される。そして、絞込み用のキーワードの候補「metabolic」がキーワード１として選択された場合には、キーワード０「protein」の出現マップとキーワード１「metabolic」の出現マップとの間でビット配列のＡＮＤ演算が実行される。図４に示すように、互いの出現マップの間で同一のファイルＩＤの値にビット「１」が設定されたファイルＩＤ「１」、「３」及び「６」の値がＡＮＤ演算によって「１」と算出される一方で、その他のファイルＩＤの値は「０」と算出される。ここで、指定のキーワードである「protein」だけの場合には、ファイルＩＤ「７」のビットは「１」であったが、キーワード「metabolic」とのＡＮＤ演算によってファイルＩＤ「７」のビットが「０」になっている。これは、キーワード「metabolic」の追加によってファイルＩＤ「７」のファイルが除外されて絞込みが進んだことを意味する。
【００３７】
さらに、絞込み用のキーワードの候補「ec」がキーワード２として選択された場合には、キーワード０「protein」及びキーワード１「metabolic」の出現マップとキーワード２「ec」の出現マップとの間でビット配列のＡＮＤ演算が実行される。図５に示すように、互いの出現マップの間で同一のファイルＩＤの値にビット「１」が設定されたファイルＩＤ「３」及び「６」の値がＡＮＤ演算によって「１」と算出される一方で、その他のファイルＩＤの値は「０」と算出される。ここで、キーワード１「protein」及びキーワード２「metabolic」のＡＮＤ演算の場合には、ファイルＩＤ「１」のビットは「１」であったが、キーワード「ec」とのＡＮＤ演算によってファイルＩＤ「１」のビットが「０」になっている。これは、キーワード「ec」の追加によってファイルＩＤ「１」のファイルが除外されてさらに絞込みが進んだことを意味する。
【００３８】
図６は、キーワードルートの一例を示す図である。図６に示す１番目のレコードでは、指定のキーワードであるキーワード０「protein」によって検索結果の件数が５００００件まで絞り込まれたことを意味する。さらに、キーワード１「metabolic」によって検索結果の件数が１５０００件まで絞り込まれたことを意味する。さらに、キーワード２「ec」によって検索結果の件数が目標件数の上限値「１０００件」以下かつ目標件数の下限値「１０件」以上である９００件にまで絞り込まれていることを意味する。また、図６に示す２番目のレコードの例では、指定のキーワードであるキーワード０「protein」によって検索結果の件数が５００００件まで絞り込まれたことを示す。さらに、キーワード１「substrate」によって検索結果の件数が２７３００件まで絞り込まれたことを示す。さらに、キーワード２「abc」によって検索結果の件数が１２５００件まで絞り込まれたことを示す。さらに、キーワード３「transport」によって検索結果の件数が目標件数の上限値「１０００件」以下かつ目標件数の下限値「１０件」以上である１０００件にまで絞り込まれていることを示す。
【００３９】
なお、ここでは、目標件数の下限値未満である場合に、内部メモリに記憶されたキーワードルートを破棄することとしたが、ユーザが目的とする情報をピンポイントで閲覧できるレアクエリが入力されるケースも考えられるので、検索結果の件数が目標件数の上限値以上であるか否かしか判定を実行せず、検索結果の件数が目標件数の下限値未満であるキーワードルートを残すこととしてもかまわない。
【００４０】
図２の説明に戻り、判定部１５ｅは、抽出部１５ｄによって抽出されたキーワードが指定のキーワードと組み合わせられる妥当性を判定する処理部である。一態様としては、判定部１５ｅは、指定のキーワードに組み合わせるキーワード数に合わせてキーワードが追加される度に検索結果が絞り込まれる絞込み率を設定する。例えば、指定のキーワードによる検索結果の件数を「Ｚ件」、目標件数を「Ｑ件」、キーワードを１つ追加する度に検索結果が絞り込まれる絞込み率を「α」とする。なお、絞込み率「α」は、一定であるものとする。このとき、キーワード０に組み合わせるキーワードがキーワード１のみである場合には、キーワード１によって絞り込まれる絞込み件数は「Ｚ×α」となる。また、キーワード０に組み合わせるキーワードがキーワード１及びキーワード２である場合には、キーワード１及びキーワード２によって絞り込まれる絞込み件数は「Ｚ×α×α」となる。そして、キーワード０に組み合わせるキーワードがキーワード１からキーワードＮまでのＮ個である場合には、キーワード１〜キーワードＮによって絞り込まれる絞込み件数は「Ｚ×αＮ」となる。このことから、Ｎ個のＡＮＤ検索でＱ件まで絞り込むには、下記の式（１）が成立する。
【００４１】
Ｑ＝Ｚ×αＮ・・・式（１）
【００４２】
ここで、指定のキーワードに組み合わせる絞込み用のキーワードの数ごとに指定のキーワードによる検索結果の件数「Ｚ件」及び目標件数「Ｑ件」の理想のサンプル値を設定する。かかる理想のサンプル値は、実験値を設定することもできるし、クライアント端末３０にて任意の値を設定することもできる。その上で、判定部１５ｅは、上記の式（１）の導出式にＮとともに理想のサンプル値のＺ及びＱを代入する。これによって、指定のキーワードに組み合わせるキーワード数に合わせてキーワードが追加される度に検索結果が絞り込まれる絞込み率αを導出しておくことができる。図７は、指定のキーワードによる検索結果の件数と指定のキーワードに組み合わせるキーワード数との関係の一例を示す図である。図７には、指定のキーワードによる検索結果の件数Ｚを「１００００件」、目標件数Ｑを「１０００件」としたときの検索結果の件数が指定のキーワードに組み合わせるキーワード数ごとに図示されている。図７に示すグラフの縦軸は、検索結果の件数を指し、横軸は、指定のキーワードに組み合わせるキーワード数を指す。図７に示すように、指定のキーワードに組み合わせるキーワード数が１である場合には、絞込み率は０．０１程度が好ましいことを示している。さらに、キーワード数が２である場合には、絞込み率は０．１程度が好ましいことを示している。さらに、キーワード数が３である場合には、絞込み率は０．２１５程度が好ましいことを示している。さらに、キーワード数が４である場合には、絞込み率は０．３１６程度が好ましいことを示している。さらに、キーワード数が５である場合には、絞込み率は０．３９８程度が好ましいことを示している。さらに、キーワード数が６である場合には、絞込み率は０．４６４程度が好ましいことを示している。さらに、キーワード数が７である場合には、絞込み率は０．５１７程度が好ましいことを示している。
【００４３】
このような絞込み率αが導出されている構成の下、判定部１５ｅは、キーワード１からキーワードＮまでの各順序ごとに当該順序までのキーワードがＡＮＤ演算された場合の検索結果の件数と比較する基準となる絞込み件数Ｗｎを算出する。例えば、判定部１５ｅは、指定のキーワードに組み合わせるキーワード数を取得する。そして、判定部１５ｅは、キーワードルートに含まれるキーワード１からキーワードＮまでの各順序ごとに、当該順序に対応する回数、すなわち順序と同一の回数にわたって指定のキーワードに組み合わせるキーワード数に対応する絞込み率αを指定のキーワードによる検索結果の件数に乗算する。これによって、当該順序における絞込み件数Ｗｎを算出する。その上で、判定部１５ｅは、キーワードルートに含まれるキーワード１からキーワードＮまでの各順序ごとに当該順序までのキーワードがＡＮＤ演算された場合の検索結果の件数が絞込み件数Ｗｎから所定の範囲、例えばβ＝±２０％の範囲内であるか否かを判定する。このとき、検索結果の件数が絞込み件数Ｗｎ±β内にない場合には、絞込み件数Ｗｎ±β内にないキーワードＮが一般的な単語で絞込みへ有効に機能していないのか、あるいはキーワードＮによって取りこぼしが発生するおそれがあることがわかる。この場合には、キーワードＮを含むキーワードルートに妥当性がないと推定する。一方、検索結果の件数が絞込み件数Ｗｎ±βを逸脱するキーワードがない場合には、キーワード１〜キーワードＮを用いても取りこぼしが抑制でき、各キーワード１〜Ｎが絞込みへ有効に機能する可能性が高いと推定できる。この場合には、キーワードＮを含むキーワードルートに妥当性があると推定できる。判定部１５ｅは、キーワード０及びキーワード１〜キーワードＮをクライアント端末３０へ提示する対象とする提示キーワードルート１３ｂとして記憶部１３へ登録する。
【００４４】
提示部１５ｆは、クライアント端末３０に対する情報の提示制御を行う処理部である。一態様としては、提示部１５ｆは、指定のキーワードによる検索結果の件数が目的件数の上限値以下である場合には、指定のキーワードを含むファイルの一覧を検索結果としてクライアント端末３０へ出力する。このとき、提示部１５ｆは、検索結果として提示するファイルの一覧にタイトル、ＵＲＬ等のリンクや広告を含めて出力することもできる。他の一態様としては、提示部１５ｆは、指定のキーワードを含むファイルの一覧を検索結果として出力するとともに、判定部１５ｅによって記憶部１３に登録された提示キーワードルート１３ｂに含まれるキーワードのうち指定を受け付けたキーワードの次のキーワードをクライアント端末３０へ出力する。その後、提示部１５ｆは、次のキーワードの選択を受け付けると、キーワードルートにさらに続きのキーワードが存在するか否かを判定する。そして、提示部１５ｆは、続きのキーワードがなくなるまで、先に選択された次のキーワードがＡＮＤ検索された検索結果を出力するとともに、さらに次のキーワードをクライアント端末３０へ出力する。その後、提示部１５ｆは、続きのキーワードがなくなると、最後のキーワードがＡＮＤ検索された検索結果をクライアント端末３０へ出力する。
【００４５】
図８及び図９は、クライアント端末３０に表示される画面遷移の一例を示す図である。このうち、図８には、上記の従来技術によるキーワードの入力補助がなされた場合の画面遷移が図示されている。また、図９には、実施例１に係るサーバ装置１０によって提示されるキーワードルートが図示されている。図８及び図９に示すように、クライアント端末３０から指定を受け付けたキーワード「protein」を受け付けた段階では、従来技術および本実施例のいずれにおいても検索結果の件数が５００００件という膨大な数となっている。
【００４６】
このとき、図８の例では、キーワード「protein」に続いて入力補助されたキーワード「kinase」が選択されている。このように、キーワード「kinase」でさらにＡＮＤ検索を行った場合でも、５００００件から４００００件となったが、１００００件しか絞り込まれていない。さらに、図８の例では、キーワード「kinase」に続いて入力補助されたキーワード「cancer」が選択されている。この結果、キーワード「cancer」でさらにＡＮＤ検索を行うことによって検索結果の件数が４００００件から３００００件となったが、結局は１００００件しか絞り込まれていない。このように、従来技術では、「protein」、「kinase」及び「cancer」の３つのキーワードでＡＮＤ検索を行っても、依然として、３００００件という膨大な検索結果が表示され、所定の絞込み精度が得られない場合がある。
【００４７】
一方、図９の例では、キーワード「protein」に続いて提示された次のキーワード「metabolic」が選択されている。このように、キーワード「metabolic」でさらにＡＮＤ検索を行った結果、従来技術では４００００件までしか絞り込めていなかったが、本実施例では５００００件から１５０００件まで絞り込むことができている。さらに、図９の例では、キーワード「metabolic」に続いて提示されたキーワード「ec」が選択されている。このように、キーワード「ec」でさらにＡＮＤ検索を行った結果、従来技術では３００００件までしか絞り込めていなかったが、本実施例では９００件まで絞り込むことができている。このように、本実施例では、「protein」、「metabolic」及び「ec」の３つのキーワードでＡＮＤ検索を行うことによって、ユーザが目的とする情報を閲覧できる程度の件数まで検索結果が絞り込まれている。
【００４８】
なお、制御部１５には、各種の集積回路や電子回路を採用できる。また、制御部１５が有する機能部の一部を別の集積回路や電子回路とすることもできる。例えば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００４９】
［処理の流れ］
続いて、本実施例に係るサーバ装置１０の処理の流れについて説明する。なお、ここでは、サーバ装置１０によって実行される（１）検索処理を説明した後に検索処理のサブルーチンとして実行される（２）提示キーワードルートの生成処理を説明することとする。
【００５０】
（１）検索処理
図１０は、実施例１に係る検索処理の手順を示すフローチャートである。この処理は、クライアント端末３０からキーワードの指定を受け付けた場合に処理が起動される。図１０に示すように、受付部１５ａによってクライアント端末３０からキーワードの指定が受け付けられると（ステップＳ１０１）、検索部１５ｂは、転置インデックス１３ａに含まれる見出し語のうち、指定のキーワードに対応する見出し語に対応付けられたファイルＩＤを検索する（ステップＳ１０２）。
【００５１】
その後、検索部１５ｂは、検索結果として得られたファイルＩＤの数、すなわち検索結果の件数が目的件数の上限値以下であるか否かを判定する（ステップＳ１０３）。このとき、目的件数の上限値を超過している場合（ステップＳ１０３Ｎｏ）には、指定がなされたキーワードが一般的であり、目的の情報を閲覧できる程度まで検索結果が絞り込まれていない可能性が高い。この場合には、指定のキーワードに組み合わせるキーワードとしてクライアント端末３０へ提示する提示キーワードルートの生成処理が実行される（ステップＳ１０４）。
【００５２】
そして、提示部１５ｆは、指定のキーワードを含むファイルの一覧を検索結果として出力するとともに、提示キーワードルート１３ｂに含まれるキーワードのうち指定を受け付けたキーワードの次のキーワードをクライアント端末３０へ出力する（ステップＳ１０５）。
【００５３】
その後、提示部１５ｆは、次のキーワードの選択を受け付けると（ステップＳ１０６）、キーワードルートにさらに続きのキーワードが存在するか否かを判定する（ステップＳ１０７）。
【００５４】
そして、続きのキーワードが存在する場合（ステップＳ１０７Ｎｏ）には、提示部１５ｆは、ステップＳ１０６で選択された次のキーワードがさらにＡＮＤ検索された検索結果を出力するとともに、さらに続く次のキーワードをクライアント端末３０へ出力し（ステップＳ１０５）、ステップＳ１０５で続きのキーワードとして出力された次のキーワードの選択をさらに受け付ける（ステップＳ１０６）。
【００５５】
一方、続きのキーワードが存在しない場合（ステップＳ１０７Ｙｅｓ）、提示部１５ｆは、最後のキーワードがＡＮＤ検索された検索結果をクライアント端末３０へ出力し（ステップＳ１０８）、処理を終了する。
【００５６】
また、目的件数の上限値以下である場合（ステップＳ１０３Ｙｅｓ）には、指定がなされたキーワードによってユーザが目的とする情報を閲覧できる程度まで検索結果が絞り込まれている可能性が高いと推定できる。この場合には、検索部１５ｂは、絞込み用のキーワードを生成することなく、検索結果を提示部１５ｆへ出力し（ステップＳ１０８）、処理を終了する。
【００５７】
（２）提示キーワードルートの生成処理
図１１及び図１２は、実施例１に係る提示キーワードルートの生成処理の手順を示すフローチャートである。この処理は、図１０に示したステップＳ１０３の判定でＮｏ（否定）と判定された場合に処理が起動する。
【００５８】
図１１に示すように、作成部１５ｃは、内部メモリに記憶されたキーワードルートを空にする初期化を実行する（ステップＳ２０１）。続いて、作成部１５ｃは、指定のキーワードによる検索結果にしたがって指定のキーワードの出現の有無をファイルごとに設定することによって出現マップを作成する（ステップＳ２０２）。
【００５９】
そして、抽出部１５ｄは、指定のキーワードをキーワードルートの最初のキーワード０として内部メモリに登録する（ステップＳ２０３）。このとき、抽出部１５ｄは、キーワード０にキーワード０による検索結果の件数を対応付けて内部メモリに登録する。
【００６０】
そして、抽出部１５ｄは、指定のキーワードとの間で共起関係を持つキーワードを指定のキーワードと組み合わせる絞込み用のキーワードの候補としてリスト化する（ステップＳ２０４）。その上で、抽出部１５ｄは、絞込み用のキーワードの候補の中から新たなキーワードを１つ選択する（ステップＳ２０５）。続いて、抽出部１５ｄは、ステップＳ２０５で選択されたキーワードの出現マップを作成部１５ｃに作成させる（ステップＳ２０６）。
【００６１】
その後、抽出部１５ｄは、内部メモリに記憶されたキーワードルートの出現マップと、ステップＳ２０５で選択されたキーワードの出現マップとの間でビット配列のＡＮＤ演算を実行する（ステップＳ２０７）。その上で、抽出部１５ｄは、キーワードルートに含まれる各キーワードのＡＮＤ検索の検索結果の件数を算出する（ステップＳ２０８）。
【００６２】
続いて、抽出部１５ｄは、ステップＳ２０５で選択されたキーワードをキーワードルートのキーワード１として内部メモリに追加する（ステップＳ２０９）。このとき、抽出部１５ｄは、キーワード１にキーワード０及びキーワード１のＡＮＤ検索の検索結果の件数を対応付けて内部メモリに登録する。
【００６３】
そして、抽出部１５ｄは、キーワードルートに含まれる各キーワードのＡＮＤ検索の検索結果の件数が目標件数の上限値以下であるか否かを判定する（ステップＳ２１０）。このとき、目標件数の上限値を超過する場合（ステップＳ２１０Ｎｏ）には、目的の情報を閲覧できる程度まで検索結果が絞り込まれていない可能性が高い。この場合には、抽出部１５ｄは、絞込み用のキーワードの候補の中から新たなキーワードをさらに選択し（ステップＳ２０５）、ステップＳ２０６〜ステップＳ２０９までの処理を繰り返し実行する。
【００６４】
一方、目標件数の上限値以下である場合（ステップＳ２１０Ｙｅｓ）には、指定がなされたキーワードによってユーザが目的とする情報を閲覧できる程度まで検索結果が絞り込まれている可能性が高いと推定できる。この場合には、抽出部１５ｄは、キーワードルートに含まれる各キーワードのＡＮＤ検索の検索結果の件数が目標件数の下限値以上であるか否かを判定する（ステップＳ２１１）。
【００６５】
そして、目標件数の下限値未満である場合（ステップＳ２１１Ｎｏ）には、抽出部１５ｄは、内部メモリに記憶されたキーワードルートを消去する（ステップＳ２１２）。一方、目標件数の下限値以上である場合（ステップＳ２１１Ｙｅｓ）には、抽出部１５ｄは、キーワードルートの妥当性を判定する対象として、内部メモリに記憶されたキーワードルートをそのまま残し、ステップＳ２１３へ移行する。
【００６６】
その後、抽出部１５ｄは、指定のキーワードに絞込み用のキーワードの候補を組み合わせる探索が全ての組合せについて終了するまで（ステップＳ２１３Ｎｏ）、上記のステップＳ２０５〜ステップＳ２１２までの処理を繰り返し実行する。
【００６７】
そして、指定のキーワードに絞込み用のキーワードの候補を組み合わせる探索が全ての組合せについて終了すると（ステップＳ２１３Ｙｅｓ）、判定部１５ｅは、内部メモリに登録されたキーワードルートを１つ選択する（ステップＳ２１４）。
【００６８】
続いて、判定部１５ｅは、指定のキーワードに組み合わせるキーワード数を取得する（ステップＳ２１５）。そして、判定部１５ｅは、キーワード１からキーワードＮまでの各順序ごとに、当該順序に対応する回数にわたって指定のキーワードに組み合わせるキーワード数に対応する絞込み率αを指定のキーワードによる検索結果の件数に乗算することによって各順序における絞込み件数Ｗｎを算出する（ステップＳ２１６）。
【００６９】
その後、判定部１５ｅは、内部メモリが持つキーワードカウンタｎを初期値「１」に設定する初期化を実行する（ステップＳ２１７）。その上で、判定部１５ｅは、キーワードカウンタｎに対応する順序までのキーワードがＡＮＤ演算された場合の検索結果の件数が絞込み件数Ｗｎから所定の範囲、例えば±βの範囲内であるか否かを判定する（ステップＳ２１８）。
【００７０】
このとき、検索結果の件数が絞込み件数Ｗｎ±β内である場合（ステップＳ２１８Ｙｅｓ）には、キーワードカウンタｎの値がＮになったか否かを判定する（ステップＳ２１９）。そして、キーワードカウンタｎの値がＮ未満である場合（ステップＳ２１９Ｎｏ）には、キーワードカウンタｎをインクリメントし（ステップＳ２２０）、上記のステップＳ２１８の処理を再び実行する。なお、検索結果の件数が絞込み件数Ｗｎ±β内にない場合（ステップＳ２１８Ｎｏ）には、ステップＳ２１９〜ステップＳ２２１までの処理をとばし、ステップＳ２２２の処理へ移行する。
【００７１】
一方、キーワードカウンタｎの値がＮになった場合（ステップＳ２１９Ｙｅｓ）には、判定部１５ｅは、ステップＳ２１４で選択されたキーワードルートをクライアント端末３０へ提示する対象とする提示キーワードルート１３ｂとして記憶部１３へ追加する（ステップＳ２２１）。
【００７２】
その後、内部メモリに登録された全てのキーワードルートについて妥当性の判定を終了するまで（ステップＳ２２２Ｎｏ）、上記のステップＳ２１４〜ステップＳ２２１までの処理を繰り返し実行する。そして、内部メモリに登録された全てのキーワードルートについて妥当性の判定を終了すると（ステップＳ２２２Ｙｅｓ）、処理を終了する。
【００７３】
［実施例１の効果］
上述してきたように、本実施例に係るサーバ装置１０は、入力されるキーワードとの間で組み合わせるキーワードを提示する場合に、検索結果の件数が目標の件数を満たし、かつ組合せに妥当性があるキーワードを提示する。したがって、本実施例に係るサーバ装置１０によれば、検索結果の絞込み精度を向上させることができる。
【実施例２】
【００７４】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００７５】
［デスクトップ検索］
上記の実施例１では、Ｗｅｂ検索サービスを提供する場合を例示したが、例えば、コンピュータ上に記憶されたファイルを検索するデスクトップ検索を行う場合にも上記のキーワード提示サービスを同様に適用することができる。このように、デスクトップ検索を行う場合には、例えば、クライアントサーバシステムでなく、制御部１５内の各機能部を有するコンピュータをスタンドアローンで動作させることができる。この場合には、例えば、ファイルの代わりにファイルのメタデータを記憶部１３に記憶しておき、各ファイルのメタデータに含まれるテキストから指定のキーワードを検索することとしてもかまわない。また、複数のファイルの各々のメタデータに含まれる単語のインデックスをメタデータの転置インデックスとして記憶部１３に記憶しておき、メタデータの転置インデックスを用いて、指定のキーワードを含むファイルを検索することとしてもかまわない。これによって、例えば、キーワードしてファイル名を構成する文字列の一部が指定された場合に、目的の文書ファイル、画像ファイル、あるいは音声ファイルなどをさらに絞り込む文字列を提示できる。
【００７６】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、受付部１５ａ、検索部１５ｂ、作成部１５ｃ、抽出部１５ｄ、判定部１５ｅまたは提示部１５ｆをサーバ装置１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、受付部１５ａ、検索部１５ｂ、作成部１５ｃ、抽出部１５ｄ、判定部１５ｅまたは提示部１５ｆを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のサーバ装置１０の機能を実現するようにしてもよい。
【００７７】
［キーワード提示プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１３を用いて、上記の実施例と同様の機能を有するキーワード提示プログラムを実行するコンピュータの一例について説明する。
【００７８】
図１３は、実施例１及び実施例２に係るキーワード提示プログラムを実行するコンピュータの一例について説明するための図である。図１３に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００７９】
ＨＤＤ１７０には、図１３に示すように、上記の実施例１で示した受付部１５ａ、検索部１５ｂ、作成部１５ｃ、抽出部１５ｄ、判定部１５ｅ及び提示部１５ｆと同様の機能を発揮するキーワード提示プログラム１７０ａが予め記憶される。このキーワード提示プログラム１７０ａについては、図２に示した各々の受付部１５ａ、検索部１５ｂ、作成部１５ｃ、抽出部１５ｄ、判定部１５ｅ及び提示部１５ｆの各構成要素と同様、適宜統合又は分離しても良い。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７０に格納されれば良い。
【００８０】
そして、ＣＰＵ１５０が、キーワード提示プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図１３に示すように、キーワード提示プログラム１７０ａは、キーワード提示プロセス１８０ａとして機能する。このキーワード提示プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、キーワード提示プロセス１８０ａは、図２に示した受付部１５ａ、検索部１５ｂ、作成部１５ｃ、抽出部１５ｄ、判定部１５ｅ及び提示部１５ｆにて実行される処理、例えば図１０〜図１２に示す処理を含む。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【００８１】
なお、上記のキーワード提示プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【００８２】
１    検索システム
５    ネットワーク
１０    サーバ装置
１１    通信Ｉ／Ｆ部
１３    記憶部
１３ａ  転置インデックス
１３ｂ  提示キーワードルート
１５    制御部
１５ａ  受付部
１５ｂ  検索部
１５ｃ  作成部
１５ｄ  抽出部
１５ｅ  判定部
１５ｆ  提示部
３０Ａ，３０Ｂ，３０Ｃ    クライアント端末
【図１】
2014120080.tif 000003
【図２】
2014120080.tif 000004
【図３】
2014120080.tif 000005
【図４】
2014120080.tif 000006
【図５】
2014120080.tif 000007
【図６】
2014120080.tif 000008
【図７】
2014120080.tif 000009
【図８】
2014120080.tif 000010
【図９】
2014120080.tif 000011
【図１０】
2014120080.tif 000012
【図１１】
2014120080.tif 000013
【図１２】
2014120080.tif 000014
【図１３】
2014120080.tif 000015