(57)【要約】【課題】システム制約のもとで検索クエリの発行回数を抑制できる。【解決手段】文書検索装置１は、ユーザからの要求（検索要求）２を受け付けて、検索サービスの利用制限に応じて構築した検索クエリ６を文書集合管理システム８に発行する。記憶部１ａは、複数の検索語（検索語３ａ，３ｂ，…，３ｎ）を記憶する。生成部１ｂは、検索語３ａ，３ｂ，…，３ｎの中から２以上の検索語を選択する。生成部１ｂは、検索語の組み合わせが、検索クエリ６のサイズが第１の閾値４ａ以下、かつ、検索クエリ６に応じて文書集合管理システム８で検索される文書５の数の推定値が第２の閾値４ｂ以下となるように選択対象となる検索語を決定する。【選択図】図１
2016157290.tif 000002
【特許請求の範囲】
【請求項１】
文書集合を管理するシステムを利用して複数の検索語の少なくとも１つを含む文書を検索する要求によって指定された、前記複数の検索語を記憶する記憶部と、
前記複数の検索語の中から２以上の検索語を選択し、選択した前記２以上の検索語を含む、前記システムに入力される検索クエリを生成する生成部とを有し、
前記生成部は、前記検索クエリのサイズが第１の閾値以下になり、かつ、前記検索クエリに応じて前記システムで検索される文書の数の推定値が第２の閾値以下になるように、選択する検索語の組み合わせを決定する、
文書検索装置。
【請求項２】
前記生成部は、前記複数の検索語から得られる検索語の組み合わせの候補それぞれを、前記推定値と前記第２の閾値との差に応じて評価する、
請求項１記載の文書検索装置。
【請求項３】
前記生成部は、他の文書集合と前記文書集合との間の文書数の関係について、第１の検索語に対応する第１の倍率と第２の検索語に対応する第２の倍率とを算出し、
前記生成部は、検索語の組み合わせの候補に前記第１の検索語および前記第２の検索語が含まれる場合、前記他の文書集合の中で前記第１の検索語を含む第１の文書の数と、前記他の文書集合の中で前記第２の検索語を含む第２の文書の数と、前記第１の倍率と、前記第２の倍率とを用いて、前記推定値を算出する、
請求項１記載の文書検索装置。
【請求項４】
前記生成部は、前記第１の倍率が既知であり前記第２の倍率が未知である場合、前記他の文書集合における前記第１の検索語の出現状況と、前記他の文書集合における前記第２の検索語の出現状況と、前記第１の倍率とに基づいて、前記第２の倍率を推定する、
請求項３記載の文書検索装置。
【請求項５】
前記生成部は、前記他の文書集合と前記文書集合との間の文書数の関係について、前記第１の検索語と前記第２の検索語の組に対応する第３の倍率を算出し、
前記生成部は、前記第１の文書の数と前記第２の文書の数と前記第１の倍率と前記第２の倍率とに加えて、前記他の文書集合の中で前記第１の検索語と前記第２の検索語の両方を含む第３の文書の数と、前記第３の倍率とを用いて、前記推定値を算出する、
請求項３記載の文書検索装置。
【請求項６】
前記生成部は、前記検索クエリに応じて前記システムから取得された検索結果に基づいて、前記第１の倍率および前記第２の倍率を更新し、
前記生成部は、更新後の前記第１の倍率および前記第２の倍率に基づいて、前記複数の検索語の中から他の２以上の検索語を選択して他の検索クエリを生成する、
請求項３記載の文書検索装置。
【請求項７】
コンピュータが実行する文書検索方法であって、
複数の検索語を指定しており、文書集合を管理するシステムを利用して前記複数の検索語の少なくとも１つを含む文書を検索することを示す要求を取得し、
前記要求で指定された前記複数の検索語の中から２以上の検索語を選択し、選択した前記２以上の検索語を含む、前記システムに入力される検索クエリを生成し、
前記２以上の検索語の選択では、前記検索クエリのサイズが第１の閾値以下になり、かつ、前記検索クエリに応じて前記システムで検索される文書の数の推定値が第２の閾値以下になるように、選択する検索語の組み合わせを決定する、
文書検索方法。
【請求項８】
コンピュータに、
複数の検索語を指定しており、文書集合を管理するシステムを利用して前記複数の検索語の少なくとも１つを含む文書を検索することを示す要求を取得し、
前記要求で指定された前記複数の検索語の中から２以上の検索語を選択し、選択した前記２以上の検索語を含む、前記システムに入力される検索クエリを生成し、
前記２以上の検索語の選択では、前記検索クエリのサイズが第１の閾値以下になり、かつ、前記検索クエリに応じて前記システムで検索される文書の数の推定値が第２の閾値以下になるように、選択する検索語の組み合わせを決定する、
処理を実行させる文書検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書検索装置、文書検索方法、および文書検索プログラムに関する。
【背景技術】
【０００２】
情報処理システムの中には、大規模な文書集合を管理しているものがある。たとえば、いわゆるソーシャルネットワーキングサービスを提供するシステムの中には、多数のユーザから投稿されるテキストをインターネットを介して受け付け、各ユーザの設定に応じて、受け付けたテキストを投稿者以外のユーザに対して配信するものがある。大規模な文書集合を管理するシステムは、検索語を含む検索クエリを受信し、管理している文書集合の中から検索語を含む文書を検索して送信する、検索サービスを提供していることがある。たとえば、多数のユーザが投稿したテキストを保存しているシステムの検索サービスを利用することで、あるテーマに関する公衆の興味動向を知ることができる場合がある。
【０００３】
なお、検索語を追加することによる検索結果集合の絞り込みを支援する統計的推定装置が提案されている。提案の統計的推定装置は、ある検索語に適合する要素をデータベースから検索して検索結果集合を取得すると、取得した検索結果集合の一部分をサンプル集合として抽出する。統計的推定装置は、追加の検索語が指定されると、サンプル集合の中からさらに追加の検索語に適合する要素を検索して部分サンプル集合を取得する。統計的推定装置は、部分サンプル集合の要素数をサンプル集合全体の要素数で割った出現率を算出し、当初の検索結果集合の要素数に出現率をかけることで、当初の検索語と追加の検索語を用いてデータベースを再検索した場合の要素数を推定する。
【０００４】
また、対象データベースから取得される検索結果の件数がユーザから指定された範囲に収まるように、検索条件を変更する検索範囲決定装置が提案されている。提案の検索範囲決定装置は、あらかじめ、対象データベースに対してサンプル検索条件を送信し、サンプル検索条件に対応する検索結果件数を求める。また、検索範囲決定装置は、対象データベースよりも規模の小さい基本データベースを用いて、サンプル検索条件に対応する検索結果件数を求める。そして、検索範囲決定装置は、対象データベースの検索結果件数と基本データベースの検索結果件数の比を算出しておく。ユーザからある検索条件が指定されると、検索範囲決定装置は、対象データベースを検索する前に基本データベースを検索し、基本データベースの検索結果件数にあらかじめ算出しておいた比をかけることで、対象データベースの検索結果件数を推定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−８５７６４号公報
【特許文献２】特開２０００−９９５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
システムのユーザは、システムによって提供される検索サービスを利用して、幅広い検索語に関して大量の文書を収集したいことがある。たとえば、上記のように、ソーシャルネットワーキングサービスに投稿された様々なテーマに関するテキストを収集して、公衆の興味動向を分析したいことがある。この場合、取得したい文書は、多数の検索語のうちの少なくとも１つを含む文書であることがある。すなわち、検索条件が、多数の検索語をＯＲ演算子で結合したものになることがある。そのため、所望の検索語の全てを含む検索クエリをシステムに対して送信し、それら検索語の少なくとも１つを含む文書の全てを１回で取得しようとすると、システムに対して過大な負荷をかけることになる。
【０００７】
これに対し、システムは負荷が過大にならないように、検索サービスの利用方法に制約を設けていることがある。また、システム運営者からの要請に基づいて、ユーザが自主的に、検索サービスの利用方法に制約を設けざるを得ないこともある。
【０００８】
検索サービスの利用方法に制約がある場合、ユーザは、多数の検索語をＯＲ演算子で結合した「重い」検索クエリを発行することが難しくなる。その場合、複数の「軽い」検索クエリに分けて発行することになる。しかし、システム制約のもとで、どのような検索クエリを生成すれば、所望の文書全体を効率的に取得できるかが問題となる。
【０００９】
１つの側面では、本発明は、システム制約のもとで検索クエリの発行回数を抑制できる文書検索装置、文書検索方法、および文書検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、文書検索装置が提供される。文書検索装置は、記憶部と生成部とを有する。記憶部は、文書集合を管理するシステムを利用して複数の検索語の少なくとも１つを含む文書を検索する要求によって指定された、複数の検索語を記憶する。生成部は、複数の検索語の中から２以上の検索語を選択し、選択した２以上の検索語を含む、システムに入力される検索クエリを生成する。さらに、生成部は、検索クエリのサイズが第１の閾値以下になり、かつ、検索クエリに応じてシステムで検索される文書の数の推定値が第２の閾値以下になるように、選択する検索語の組み合わせを決定する。
【００１１】
また、１つの態様では、コンピュータが実行する文書検索方法が提供される。また、１つの態様では、コンピュータに処理を実行させる文書検索プログラムが提供される。
【発明の効果】
【００１２】
１つの側面では、文書検索装置、文書検索方法、および文書検索プログラムにおいて、システム制約のもとで検索クエリの発行回数を抑制できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態の文書検索装置の構成の一例を示す図である。
【図２】第２の実施形態の検索システムの構成の一例を示す図である。
【図３】第２の実施形態の検索中継サーバのハードウェア構成の一例を示す図である。
【図４】第２の実施形態の検索中継サーバの機能構成の一例を示す図である。
【図５】第２の実施形態の検索中継処理のフローチャートを示す図である。
【図６】第２の実施形態のクエリ構築処理のフローチャートを示す図（その１）である。
【図７】第２の実施形態のクエリ構築処理のフローチャートを示す図（その２）である。
【図８】第２の実施形態の検索語テーブルの一例を示す図である。
【図９】第２の実施形態のクエリ候補リストの一例を示す図である。
【図１０】第２の実施形態のクエリ候補リストの一例を示す図である。
【図１１】第２の実施形態の検索語テーブルの一例を示す図である。
【図１２】第２の実施形態の検索サービス利用処理のフローチャートを示す図である。
【図１３】第２の実施形態の推定パラメータ更新処理のフローチャートを示す図である。
【図１４】第２の実施形態の既知比率更新処理のフローチャートを示す図である。
【図１５】第２の実施形態の比率表テーブルの一例を示す図である。
【図１６】第２の実施形態の既知共起比率更新処理のフローチャートを示す図である。
【図１７】第２の実施形態の共起比率表テーブルの一例を示す図である。
【図１８】第２の実施形態の類似パラメータ更新処理のフローチャートを示す図である。
【図１９】第２の実施形態の類似パラメータテーブルの一例を示す図である。
【図２０】第２の実施形態の推定比率更新処理のフローチャートを示す図である。
【図２１】第２の実施形態の類似度算出処理のフローチャートを示す図である。
【図２２】第２の実施形態の推定共起比率更新処理のフローチャートを示す図である。
【図２３】第２の実施形態の関係辞書の一例を示す図である。
【図２４】参考実施形態の検索クエリの発行例（文書集合が重複しない場合）を示す図である。
【図２５】第２の実施形態の検索クエリの発行例（文書集合が重複しない場合）を示す図である。
【図２６】参考実施形態の検索クエリの発行例（文書集合が重複する場合）を示す図である。
【図２７】第２の実施形態の検索クエリの発行例（文書集合が重複する場合）を示す図である。
【図２８】第２の実施形態のクエリ問い合わせ実行前のユーザインタフェース表示の一例を示す図である。
【図２９】第２の実施形態のクエリ問い合わせ実行後のユーザインタフェース表示の一例を示す図である。
【図３０】第２の実施形態のログを表示するユーザインタフェース表示の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して実施形態を詳細に説明する。
［第１の実施形態］
まず、第１の実施形態の文書検索装置について図１を用いて説明する。図１は、第１の実施形態の文書検索装置の構成の一例を示す図である。
【００１５】
文書検索装置１は、文書集合管理システム８と接続可能な情報処理装置である。文書集合管理システム８は、検索要求を受け付けて、文書データベース８ａの検索結果として検索要求に含まれる検索語を含む文書集合８ｂを応答する文書検索サービスを提供する。
【００１６】
文書集合管理システム８は、検索サービスの提供に際して、ユーザに検索サービスの利用制限を課す。検索サービスの利用制限は、たとえば、検索入力のボリューム（検索クエリサイズなど）制限や、検索出力のボリューム制限（たとえば、出力文書数など）、利用頻度などがある。このような文書集合管理システム８の利用制限のために、ユーザは、複数の検索語を含む文書集合８ｂを取得するまでに多くの利用回数と多くの時間を要する場合がある。
【００１７】
文書検索装置１は、ユーザからの要求（検索要求）２を受け付けて、検索サービスの利用制限に応じて構築した検索クエリ６を文書集合管理システム８に発行する。これにより、文書検索装置１は、検索サービスの利用回数を抑制して文書集合８ｂを取得する。
【００１８】
文書検索装置１は、記憶部１ａと生成部１ｂとを有する。記憶部１ａは、複数の検索語（検索語３ａ，３ｂ，…，３ｎ）を記憶する。記憶部１ａは、たとえば、ＲＡＭ（Random Access Memory）などである。検索語３ａ，３ｂ，…，３ｎは、要求２によって指定される。要求２は、文書集合管理システム８を利用して検索語３ａ，３ｂ，…，３ｎのうち少なくとも１つを含む文書を検索する要求である。
【００１９】
生成部１ｂは、検索語３ａ，３ｂ，…，３ｎの中から２以上の検索語（たとえば、検索語３ｊ，３ｋ）を選択する。生成部１ｂは、検索語の組み合わせが所定条件を満たすように選択対象となる検索語を決定する。
【００２０】
所定条件は、検索クエリ６のサイズが第１の閾値４ａ以下、かつ、検索クエリ６に応じて文書集合管理システム８で検索される文書５の数の推定値が第２の閾値４ｂ以下である。
【００２１】
検索クエリ６のサイズは、文書集合管理システム８の入力制限に対応する指標であり、たとえば、検索クエリ６に含まれる文字数である。なお、検索クエリ６のサイズは、検索クエリ６に含まれる検索語の数などであってもよい。第１の閾値４ａは、文書集合管理システム８の入力制限に対応する値である。たとえば、第１の閾値４ａは、あらかじめ設定されて記憶部１ａに記憶される。
【００２２】
検索クエリ６に応じて文書集合管理システム８で検索される文書５の数の推定値は、文書集合管理システム８の出力制限に対応する指標であり、文書集合管理システム８が検索クエリ６の検索結果として出力する文書５の数の推定値である。推定値は、所定の推定方法によって推定される値である。第２の閾値４ｂは、文書集合管理システム８の出力制限に対応する値である。たとえば、第２の閾値４ｂは、あらかじめ設定されて記憶部１ａに記憶される。
【００２３】
たとえば、生成部１ｂは、このようにして選択した検索語３ｊ，３ｋの組み合わせから、検索式「検索語３ｊ ｏｒ 検索語３ｋ」を含む検索クエリ６を生成する。このような検索クエリ６については、検索結果の文書数が文書集合管理システム８の出力制限を超えないことが期待できる。そのため、文書検索装置１は、同じ検索語を用いた検索クエリ６の発行を再度おこなうことを要しない。これにより、文書検索装置１は、システム制約（文書集合管理システム８の利用制限）のもとで検索クエリ６の発行回数を抑制できる。
【００２４】
［第２の実施形態］
次に、第２の実施形態の検索システムについて図２を用いて説明する。図２は、第２の実施形態の検索システムの構成の一例を示す図である。
【００２５】
検索システム５０は、検索中継サーバ１０と、検索端末装置５１と、文書検索サーバ５２と、文書データベース５３と、ネットワーク５４，５５とを含む。検索システム５０は、検索要求を受け付けて、文書データベース５３の検索結果を応答する文書検索サービスを提供する。検索中継サーバ１０は、文書検索装置の一形態である。
【００２６】
検索中継サーバ１０は、ネットワーク５４を介して検索端末装置５１と接続し、ネットワーク５５を介して文書検索サーバ５２と接続する。なお、検索中継サーバ１０は、検索端末装置５１としての機能を含むものであってもよい。
【００２７】
次に、検索中継サーバ１０のハードウェア構成について図３を用いて説明する。図３は、第２の実施形態の検索中継サーバのハードウェア構成の一例を示す図である。
検索中継サーバ１０は、プロセッサ１０１によって装置全体が制御されている。すなわち、プロセッサ１０１は、検索中継サーバ１０の制御部として機能する。プロセッサ１０１には、バス１０９を介してＲＡＭ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、たとえばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２８】
ＲＡＭ１０２は、検索中継サーバ１０の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００２９】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００３０】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しをおこなう。ＨＤＤ１０３は、検索中継サーバ１０の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００３１】
グラフィック処理装置１０４には、モニタ９０が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令にしたがって、画像をモニタ９０の画面に表示させる。モニタ９０としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３２】
入力インタフェース１０５には、キーボード９１とマウス９２とが接続されている。入力インタフェース１０５は、キーボード９１やマウス９２から送られてくる信号をプロセッサ１０１に送信する。なお、マウス９２は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３３】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク９３に記録されたデータの読み取りをおこなう。光ディスク９３は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク９３には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３４】
機器接続インタフェース１０７は、検索中継サーバ１０に周辺機器を接続するための通信インタフェースである。たとえば、機器接続インタフェース１０７には、メモリ装置９４やメモリリーダライタ９５を接続することができる。メモリ装置９４は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ９５は、メモリカード９６へのデータの書き込み、またはメモリカード９６からのデータの読み出しをおこなう装置である。メモリカード９６は、カード型の記録媒体である。
【００３５】
ネットワークインタフェース１０８は、ネットワーク５４，５５に接続されている。ネットワークインタフェース１０８は、ネットワーク５４，５５を介して、検索端末装置５１および文書検索サーバ５２を含む他のコンピュータ、または通信機器との間でデータの送受信をおこなう。
【００３６】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した文書検索装置１や、第２の実施形態に示した検索端末装置５１および文書検索サーバ５２も、図３に示した検索中継サーバ１０と同様のハードウェアにより実現することができる。
【００３７】
検索中継サーバ１０は、たとえば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。検索中継サーバ１０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、検索中継サーバ１０に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。また検索中継サーバ１０に実行させるプログラムを、光ディスク９３、メモリ装置９４、メモリカード９６などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３８】
次に、検索中継サーバ１０の機能構成について図４を用いて説明する。図４は、第２の実施形態の検索中継サーバの機能構成の一例を示す図である。
検索中継サーバ１０は、クエリ構築部１１と、検索サービス利用部１２と、推定パラメータ更新部１３とを含む。検索中継サーバ１０は、検索語集合１４と、比率表１５と、共起比率表１６と、類似パラメータ１７と、サンプル文書集合１８と、検索結果文書集合１９とを、ＲＡＭ１０２またはＨＤＤ１０３に記憶可能である。ＲＡＭ１０２およびＨＤＤ１０３は、検索中継サーバ１０の記憶部として機能する。
【００３９】
検索中継サーバ１０は、検索端末装置５１から受け付けた要求（検索要求）に含まれる検索語にもとづいて検索語集合１４を生成する。また、検索中継サーバ１０は、文書検索サーバ５２から取得した検索結果を検索端末装置５１に応答する。
【００４０】
クエリ構築部１１は、検索語集合１４に含まれる検索語と、あらかじめ設定する各種パラメータとから検索クエリを構築する。あらかじめ設定する各種パラメータは、比率表１５と、共起比率表１６と、類似パラメータ１７を含む。クエリ構築部１１は、図５から図７を用いて後で説明するクエリ構築処理を、たとえばプロセッサ１０１が実行することで実現される。また、クエリ構築部１１は、第１の実施形態の生成部１ｂとしての機能を有する。
【００４１】
検索サービス利用部１２は、検索クエリを用いて文書検索サーバ５２が提供する検索サービスを利用する。検索サービス利用部１２は、検索結果から検索結果文書集合１９を生成する。また、検索サービス利用部１２は、あらかじめ文書検索サーバ５２からサンプル文書を取得してサンプル文書集合１８を生成する。サンプル文書集合１８は、文書検索サーバ５２が管理する文書データベース５３が保持する文書の全体集合から一部を部分集合として抽出したものである。検索サービス利用部１２は、図５、図１２を用いて後で説明する検索サービス利用処理を、たとえばプロセッサ１０１が実行することで実現される。
【００４２】
推定パラメータ更新部１３は、検索結果にもとづいて、検索クエリの構築に用いる各種パラメータを更新する。具体的には、推定パラメータ更新部１３は、検索クエリとサンプル文書集合１８と検索結果文書集合１９とから、比率表１５と、共起比率表１６と、類似パラメータ１７とを更新する。推定パラメータ更新部１３は、既知比率更新部１３０と、既知共起比率更新部１３１と、類似パラメータ更新部１３２と、推定比率更新部１３３と、推定共起比率更新部１３４とを含む。推定パラメータ更新部１３は、図５、図１３を用いて後で説明する推定パラメータ更新処理を、たとえばプロセッサ１０１が実行することで実現される。
【００４３】
既知比率更新部１３０は、検索結果が既に取得された検索語（既知検索語）の比率（既知比率）について比率表１５を更新する。既知共起比率更新部１３１は、既知検索語の組の共起比率（既知共起比率）について共起比率表１６を更新する。類似パラメータ更新部１３２は、検索語間の類似度の計算に用いる類似パラメータ１７を更新する。推定比率更新部１３３は、既知比率と類似度から、検索結果がまだ取得されていない検索語（未知検索語）の比率の推定値（推定比率）について比率表１５を更新する。推定共起比率更新部１３４は、既知共起比率が算出されていない検索語の組の共起比率の推定値（推定共起比率）について共起比率表１６を更新する。
【００４４】
次に、検索中継処理について図５を用いて説明する。図５は、第２の実施形態の検索中継処理のフローチャートを示す図である。検索中継処理は、検索要求を受け付けて検索中継サーバ１０が実行する処理である。
【００４５】
［ステップＳ１］クエリ構築部１１は、受け付けた検索要求に含まれる検索語と、あらかじめ設定する各種パラメータとにもとづいて検索クエリを構築するクエリ構築処理を実行する。クエリ構築処理については、図６および図７を用いて後で説明する。
【００４６】
［ステップＳ２］検索サービス利用部１２は、検索クエリを発行して、文書検索サーバ５２が提供する検索サービスを利用する検索サービス利用処理を実行する。検索サービス利用処理については、図１２を用いて後で説明する。
【００４７】
［ステップＳ３］推定パラメータ更新部１３は、検索結果にもとづいて、検索クエリの構築に用いる各種パラメータを更新する推定パラメータ更新処理を実行する。推定パラメータ更新処理については、図１３を用いて後で説明する。
【００４８】
［ステップＳ４］検索中継サーバ１０（制御部）は、受け付けた検索要求に含まれる検索語のうちに未だ検索に用いていない未知検索語があるか否かを判定する。検索中継サーバ１０は、未知検索語がある場合にステップＳ１にすすみ、未知検索語がない場合に検索中継処理を終了する。
【００４９】
このように、検索中継サーバ１０は、ステップＳ１からステップＳ４の処理を繰返して、受け付けた検索要求に含まれるすべての検索語についての検索結果を得る。このとき、検索中継サーバ１０は、検索クエリを１つ発行して検索結果を１回受信する毎に、パラメータを更新する。次の検索クエリの生成時に参照するパラメータは、更新された後のパラメータである。これにより、後の検索クエリほど検索サービスの利用効率が向上する。
【００５０】
次に、クエリ構築処理について図６および図７を用いて説明する。図６は、第２の実施形態のクエリ構築処理のフローチャートを示す図（その１）である。図７は、第２の実施形態のクエリ構築処理のフローチャートを示す図（その２）である。クエリ構築処理は、検索中継処理のステップＳ１でクエリ構築部１１が実行する処理である。
【００５１】
［ステップＳ１１］クエリ構築部１１は、未知検索語集合から推定文書数の大きい未知検索語を１つ選択する。推定文書数は、文書データベース５３に記憶された文書のうち検索語を含む文書の数の推定値を示す。クエリ構築部１１は、サンプル文書集合１８と比率表１５とから推定文書数を算出できる。たとえば、クエリ構築部１１は、サンプル文書集合１８から未知検索語を含むサンプル文書を検索し、該当するサンプル文書数に当該未知検索語に応じた推定比率をかけることで推定文書数を算出する。なお、上記のステップＳ１の実行が１回目でありステップＳ３が未実行である場合、すべての推定比率が１に初期化されていてもよい。その場合、サンプル文書集合１８から求められるサンプル文書数が、推定文書数とみなされる。
【００５２】
未知検索語集合は、検索語集合１４に含まれる検索語のうち未だ検索されていない未知検索語の集合である。初期状態において、未知検索語集合は、検索語集合１４と等価である。
【００５３】
ここで、未知検索語集合の検出に用いる検索語テーブルについて図８を用いて説明する。図８は、第２の実施形態の検索語テーブルの一例を示す図である。検索語テーブル２００は、項目「検索語」と、項目「検索済み」とを含む。項目「検索語」は、検索語集合１４に含まれる検索語を示す。項目「検索済み」は、検索語が検索済みであるか否かを「Ｙｅｓ」，「Ｎｏ」で示す。「Ｙｅｓ」は検索語が既知検索語であることを示し、「Ｎｏ」は検索語が未知検索語であることを示す。したがって、図８に示した検索語テーブル２００は、検索語「ＦＦＦ」と検索語「クラウド」と検索語「ＢＢＢ」のいずれもが未知検索語であることを示す。
【００５４】
［ステップＳ１２］クエリ構築部１１は、ステップＳ１１で選択した未知検索語をクエリ候補リストに追加する。
［ステップＳ１３］クエリ構築部１１は、未知検索語集合から、クエリ候補リストにあるすべての未知検索語（クエリ候補検索語）との推定共起文書数の合計が大きい未知検索語を１つ選択する。推定共起文書数は、文書データベース５３に記憶された文書のうち、検索語の組のすべてを含む文書（複数の検索語のＡＮＤ条件に相当する文書）の数の推定値を示す。クエリ構築部１１は、サンプル文書集合１８と共起比率表１６とから推定共起文書数を算出できる。たとえば、クエリ構築部１１は、サンプル文書集合１８から２つの未知検索語の両方を含むサンプル文書を検索し、該当するサンプル文書数に当該２つの未知検索語の組に応じた推定共起比率をかけることで推定共起文書数を算出する。なお、上記のステップＳ１の実行が１回目でありステップＳ３が未実行である場合、すべての推定共起比率が１に初期化されていてもよい。その場合、サンプル文書集合１８から求められるサンプル文書数が、推定共起文書数とみなされる。
【００５５】
［ステップＳ１４］クエリ構築部１１は、ステップＳ１３で選択した未知検索語をクエリ候補リストに追加する。
ここで、クエリ候補リストについて図９を用いて説明する。図９は、第２の実施形態のクエリ候補リストの一例を示す図である。クエリ候補リスト２１０は、項目「検索語」を含む。項目「検索語」は、ステップＳ１２またはステップＳ１４でクエリ構築部１１によって追加された未知検索語を示す。クエリ候補リスト２１０は、検索語「ＦＦＦ」と検索語「クラウド」と検索語「ＢＢＢ」がステップＳ１２またはステップＳ１４でクエリ構築部１１によって追加されたことを示す。
【００５６】
［ステップＳ１５］クエリ構築部１１は、クエリ候補検索語の数が検索語数閾値（たとえば１０語）以下であるか否かを判定する。クエリ構築部１１は、クエリ候補検索語の数が検索語数閾値以下である場合にステップＳ１６にすすみ、検索語数閾値以下でない場合にステップＳ１８にすすむ。
【００５７】
検索語数閾値は、検索クエリに含むことができる検索語数の上限値である。検索語数閾値は、たとえば、文書検索サーバ５２が提供する検索サービスによって規定される。また、検索語数閾値は、たとえば、検索中継サーバ１０が設定するものであってもよい。検索語数閾値は、検索クエリのサイズを制限する閾値の１つである。
【００５８】
［ステップＳ１６］クエリ構築部１１は、すべてのクエリ候補検索語を含む検索クエリを構築した場合に検索クエリの文字数がクエリ文字数閾値（たとえば１０００文字）以下であるか否かを判定する。クエリ構築部１１は、検索クエリを構築した場合に検索クエリの文字数がクエリ文字数閾値以下である場合にステップＳ１７にすすみ、クエリ文字数閾値以下でない場合にステップＳ１８にすすむ。
【００５９】
クエリ文字数閾値は、検索クエリを構成する文字数の上限値である。なお、クエリ文字数閾値は、たとえば、文書検索サーバ５２が提供する検索サービスによって規定される。また、クエリ文字数閾値は、たとえば、検索中継サーバ１０が設定するものであってもよい。クエリ文字数閾値は、検索クエリのサイズを制限する閾値の１つである。
【００６０】
［ステップＳ１７］クエリ構築部１１は、未知検索語集合に含まれるすべての検索語をクエリ候補リストに追加したか否かを判定する。クエリ構築部１１は、未知検索語集合に含まれるすべての検索語をクエリ候補リストに追加した場合にステップＳ１９にすすみ、未知検索語集合に含まれるすべての検索語をクエリ候補リストに追加していない場合にステップＳ１１にすすむ。
【００６１】
［ステップＳ１８］クエリ構築部１１は、クエリ候補リストから最後に追加した未知検索語を削除する。これにより、クエリ構築部１１は、最後に追加された未知検索語によって違反した検索クエリのサイズ制限を訂正する。
【００６２】
［ステップＳ１９］クエリ構築部１１は、クエリ候補検索語が２以上あるか否かを判定する。クエリ構築部１１は、クエリ候補検索語が２以上ある場合にステップＳ２０にすすみ、クエリ候補検索語が２以上ない場合にステップＳ２３にすすむ。
【００６３】
［ステップＳ２０］クエリ構築部１１は、クエリ候補リストから除去可能なクエリ候補検索語を探索する。クエリ候補リストから除去可能なクエリ候補検索語とは、当該クエリ候補検索語を除去することによって、その余のクエリ候補検索語から構築した検索クエリに対応する推定文書数が除去前よりも好ましい値になるものをいう。推定文書数が好ましいとは、推定文書数が、文書検索サーバ５２から一度に取得可能な文書の数（出力制限数）の整数倍に一致するか、または、当該整数倍の値より小さい範囲で当該整数倍の値に近いことである。言い換えると、推定文書数が好ましくないとは、推定文書数が、出力制限数の整数倍を若干超えることである。推定文書数を好ましい値に誘導することで、出力制限の枠内で文書検索サーバ５２から一度に取得できる文書を多くし、検索クエリの発行回数を削減することができる。
【００６４】
たとえば、クエリ構築部１１は、未知検索語の組み合わせの候補それぞれを、総推定文書数Ｆと出力制限数Ｓの整数倍との差に応じて評価することの一例として、（１）式を用いることができる。クエリ構築部１１は、（１）式の値が除去前よりも「０」に近付くときに、当該クエリ候補検索語は、クエリ候補リストから除去可能とされる。
【００６５】
Ｓ−｛（Ｆ−１） ｍｏｄ Ｓ｝−１  …（１）
なお、出力制限数Ｓは、たとえば、文書検索サーバ５２が提供する検索サービスによって規定される。また、出力制限数Ｓは、たとえば、検索中継サーバ１０が設定するものであってもよい。出力制限数Ｓは、文書検索サーバ５２が提供する検索サービスで検索される文書の推定数の閾値の１つである。
【００６６】
総推定文書数Ｆは、文書データベース５３に記憶された文書のうち、２以上のクエリ候補検索語の少なくとも１つを含む文書の数、すなわち、２以上のクエリ候補検索語のＯＲ条件に相当する文書の数である。総推定文書数Ｆは、クエリ候補検索語ごとの推定文書数と、２つのクエリ候補検索語の組（２つのクエリ候補検索語をＡＮＤ演算子で結合したもの）ごとの推定共起文書数とから算出することができる。
【００６７】
クエリ構築部１１は、サンプル文書集合１８と比率表１５とからクエリ候補検索語ごとの推定文書数を特定できる。たとえば、クエリ構築部１１は、サンプル文書集合１８からクエリ候補検索語を含むサンプル文書を検索し、該当するサンプル文書数に当該クエリ候補検索語に応じた推定比率をかけることで推定文書数を算出する。
【００６８】
さらに、クエリ構築部１１は、クエリ候補リストに含まれる２つのクエリ候補検索語の推定共起文書数と共起比率表１６とから、２つのクエリ候補検索語を両方含む推定共起文書数を特定できる。たとえば、クエリ構築部１１は、サンプル文書集合１８から２つのクエリ候補検索語を両方含むサンプル文書を検索し、該当する文書数（サンプル共起文書数）に当該クエリ候補検索語の組に応じた推定共起比率をかけることで推定共起文書数を算出する。
【００６９】
これにより、クエリ構築部１１は、総推定文書数Ｆを算出することができる。たとえば、クエリ構築部１１は、クエリ候補リストに含まれるすべてのクエリ候補検索語の推定文書数を合計し、また、クエリ候補リストに含まれるすべてのクエリ候補検索語の組の推定共起文書数を合計する。そして、クエリ構築部１１は、推定文書数の合計から推定共起文書数の合計を引くことで、総推定文書数Ｆを算出する。なお、ここでは計算を簡単にするため、３以上のクエリ候補検索語を含む文書の影響は無視して総推定文書数Ｆを算出している。ただし、クエリ構築部１１は、より厳密に総推定文書数Ｆを算出することも可能である。その場合、共起比率表１６には、３以上の検索語の組に対応する共起比率も登録される。
【００７０】
たとえば、クエリ候補リストに検索語「Ａ」，「Ｂ」，「Ｃ」が含まれているとする。この場合、クエリ構築部１１は、サンプル文書集合１８を参照して、検索語「Ａ」のサンプル文書数、検索語「Ｂ」のサンプル文書数、および検索語「Ｃ」のサンプル文書数を算出する。また、クエリ構築部１１は、サンプル文書集合１８を参照して、検索語の組「Ａ」ＡＮＤ「Ｂ」のサンプル共起文書数、検索語の組「Ａ」ＡＮＤ「Ｃ」のサンプル共起文書数、および検索語の組「Ｂ」ＡＮＤ「Ｃ」のサンプル共起文書数を算出する。また、クエリ構築部１１は、比率表１５から、検索語「Ａ」の推定比率、検索語「Ｂ」の推定比率、および検索語「Ｃ」の推定比率を検索する。また、クエリ構築部１１は、共起比率表１６から、検索語の組「Ａ」ＡＮＤ「Ｂ」の推定共起比率、検索語の組「Ａ」ＡＮＤ「Ｃ」の推定共起比率、および検索語の組「Ｂ」ＡＮＤ「Ｃ」の推定共起比率を検索する。これらのサンプル文書数、サンプル共起文書数、推定比率、および推定共起比率に基づいて、総推定文書数Ｆを算出することができる。
【００７１】
なお、２以上の未知検索語を含む文書が、各未知検索語を含む文書と比べて無視できるほど少ない環境においては、より簡潔に総推定文書数Ｆを算出することが可能である。たとえば、クエリ構築部１１は、推定共起比率＝０と仮定し、未知検索語ごとのサンプル文書数と推定比率から総推定文書数Ｆを算出することができる。その場合、検索中継サーバ１０は、共起比率表１６をもたなくてもよい。また、クエリ構築部１１は、サンプル文書集合１８から２つの未知検索語を両方含むサンプル共起文書を検索しなくてよい。
【００７２】
なお、比率表１５，共起比率表１６、および類似パラメータ１７は、検索端末装置５１から検索要求を受け付ける毎に初期化するようにしてもよいし、複数回の検索要求の間で引き継ぐようにしてもよい。後者の場合、あるクエリ候補検索語に対して、前に算出された既知比率が比率表１５に登録されていることがある。また、あるクエリ候補検索語の組に対して、前に算出された既知共起比率が共起比率表１６に登録されていることがある。
【００７３】
その場合、クエリ構築部１１は、既知比率が算出済みの場合に既知比率を用いることができ、既知比率が未算出の場合に推定比率を用いることができる。すなわち、推定比率よりも既知比率が優先的に利用される。また、クエリ構築部１１は、既知共起比率が算出済みの場合に既知共起比率を用いることができ、既知共起比率が未算出の場合に推定共起比率を用いることができる。すなわち、推定共起比率よりも既知共起比率が優先的に利用される。既知比率、推定比率、既知共起比率、および推定共起比率については、後で推定パラメータ更新部１３とともに説明する。
【００７４】
［ステップＳ２１］クエリ構築部１１は、クエリ候補リストから除去可能なクエリ候補検索語の有無を判定する。クエリ構築部１１は、クエリ候補リストから除去可能なクエリ候補検索語があった場合にステップＳ２２にすすみ、クエリ候補リストから除去可能なクエリ候補検索語がなかった場合にステップＳ２３にすすむ。
【００７５】
［ステップＳ２２］クエリ構築部１１は、クエリ候補リストから除去可能なクエリ候補検索語をクエリ候補リストから削除する。クエリ構築部１１は、ステップＳ１９にすすみ、更にクエリ候補リストから除去可能なクエリ候補検索語の探索をおこなう。
【００７６】
［ステップＳ２３］クエリ構築部１１は、クエリ候補リストから検索クエリを構築（生成）する。具体的には、クエリ構築部１１は、クエリ候補リストに含まれるクエリ候補検索語をＯＲ演算子で結合することにより検索クエリを構築する。
【００７７】
ここで、ステップＳ１９からステップＳ２２で検索語を削除したクエリ候補リストの一例を図１０に示す。図１０は、第２の実施形態のクエリ候補リストの一例を示す図である。クエリ候補リスト２２０は、クエリ候補リスト２１０から検索語「ＢＢＢ」が削除されたことを示す。クエリ候補リスト２２０から構築される検索クエリは、「“ＦＦＦ” ＯＲ “クラウド”」のようになる。
【００７８】
［ステップＳ２４］クエリ構築部１１は、検索語テーブルを更新して、クエリ構築処理を終了する。
ここで、ステップＳ２４で更新した検索語テーブルの一例を図１１に示す。図１１は、第２の実施形態の検索語テーブルの一例を示す図である。検索語テーブル２３０は、検索語「ＦＦＦ」と検索語「クラウド」について項目「検索済み」が「Ｙｅｓ」であり、検索語「ＢＢＢ」について項目「検索済み」が「Ｎｏ」である。したがって、検索語テーブル２３０は、検索クエリ「“ＦＦＦ” ＯＲ “クラウド”」の構築により、検索語「ＦＦＦ」と検索語「クラウド」が検索済みの検索語となったことを示す。また、検索語テーブル２３０は、検索語「ＢＢＢ」が未だ未知検索語であることを示す。なお、検索語テーブルの更新は、クエリ構築部１１が検索クエリの発行前におこなったが、検索サービス利用部１２が検索クエリの発行後におこなうものであってもよい。
【００７９】
これにより、クエリ構築部１１は、ＯＲ演算子で結合された未知検索語集合に対応する総推定文書数を好適に推定し、文書検索サーバ５２が提供する検索サービスの範囲内で文書を取得可能な検索クエリを発行できる。検索中継サーバ１０は、このような検索クエリの発行により、文書検索サーバ５２への検索クエリの総発行回数を低減できる。
【００８０】
次に、検索サービス利用処理について図１２を用いて説明する。図１２は、第２の実施形態の検索サービス利用処理のフローチャートを示す図である。検索サービス利用処理は、検索中継処理のステップＳ２で検索サービス利用部１２が実行する処理である。
【００８１】
［ステップＳ３１］検索サービス利用部１２は、クエリ構築処理で構築された検索クエリを文書検索サーバ５２に発行する。
［ステップＳ３２］検索サービス利用部１２は、発行した検索クエリに対応する検索結果文書を文書検索サーバ５２から取得する。このとき、検索サービス利用部１２が１回に取得できる検索結果文書数は、最大で出力制限数Ｓである。たとえば、検索結果文書数が２００、出力制限数Ｓが１００のとき、検索サービス利用部１２は、１度に１００の検索結果文書を取得できる。
【００８２】
［ステップＳ３３］検索サービス利用部１２は、取得した検索結果文書を検索結果文書集合１９に含めて保存する。
［ステップＳ３４］検索サービス利用部１２は、検索結果文書を全部取得したか否かを判定する。検索サービス利用部１２は、検索結果文書を全部取得していない場合にステップＳ３１にすすみ、検索サービス利用部１２は、検索結果文書を全部取得した場合に検索サービス利用処理を終了する。
【００８３】
検索結果文書を全部取得したか否かは、たとえば、文書検索サーバ５２からの応答に含まれる制御情報に基づいて判断できる。たとえば、検索クエリに該当する検索結果文書数と、該当する全文書のうち何番目からの文書が応答に含まれているかを示す情報が、文書検索サーバ５２からの応答に含まれている。検索結果文書を全部取得していない場合、検索サービス利用部１２は、未取得の文書の先頭番号を指定して、前回と同じ検索語を含む検索クエリを文書検索サーバ５２に送信する。たとえば、出力制限数Ｓが１００である場合に、検索結果文書数が２００かつ先頭番号が０の応答を受信すると、検索サービス利用部１２は、先頭番号を１００に指定して、前回と同じ検索語を含む検索クエリを送信する。これにより、すべての検索結果文書が取得される。
【００８４】
このように、検索サービス利用部１２は、検索結果文書数の大きさに応じて、検索サービスを１回または２回以上利用して、未知検索語の組み合わせに対応する検索結果文書をすべて取得する。このとき、検索中継サーバ１０は、検索クエリが（１）式を満たして構築されているとき、出力制限数Ｓの制約内で総推定文書数Ｆの最大化を図ることができる。したがって、検索中継サーバ１０は、検索サービスを効率的に利用できる。
【００８５】
次に、推定パラメータ更新処理について図１３を用いて説明する。図１３は、第２の実施形態の推定パラメータ更新処理のフローチャートを示す図である。推定パラメータ更新処理は、検索中継処理のステップＳ３で推定パラメータ更新部１３が実行する処理である。
【００８６】
［ステップＳ４１］推定パラメータ更新部１３（既知比率更新部１３０）は、既知比率更新処理を実行する。既知比率更新処理は、今回発行した検索クエリに含まれていた既知検索語の既知比率を算出して比率表１５を更新する処理である。既知比率更新処理の詳細は、図１４を用いて後で説明する。
【００８７】
［ステップＳ４２］推定パラメータ更新部１３（既知共起比率更新部１３１）は、既知共起比率更新処理を実行する。既知共起比率更新処理は、今回発行した検索クエリに含まれていた既知検索語の組の既知共起比率を算出して共起比率表１６を更新する処理である。既知共起比率更新処理の詳細は、図１６を用いて後で説明する。
【００８８】
［ステップＳ４３］推定パラメータ更新部１３（類似パラメータ更新部１３２）は、類似パラメータ更新処理を実行する。類似パラメータ更新処理は、２つの検索語の間の類似度の算出に用いる類似パラメータ１７を更新する処理である。類似パラメータは、検索結果文書集合１９において２つの検索語の周辺に現れた周辺語彙それぞれの重要度を示す指標である。各周辺語彙の重要度は、たとえば、「０．０」から「１．０」の範囲の値をとり、「１．０」に近いほど重要度が大きいと評価される。検索語の周辺は、たとえば、検索語と同一の文の範囲や、検索語の前後所定範囲（前後５ワードなど）などと定義できる。
【００８９】
類似パラメータ更新処理の詳細は、図１８を用いて後で説明する。
［ステップＳ４４］推定パラメータ更新部１３（推定比率更新部１３３）は、推定比率更新処理を実行する。推定比率更新処理は、既知検索語と未知検索語の間の類似度に基づいて、未知検索語の推定比率を推定して比率表１５を更新する処理である。推定比率更新処理の詳細は、図２０を用いて後で説明する。
【００９０】
［ステップＳ４５］推定パラメータ更新部１３（推定共起比率更新部１３４）は、推定共起比率更新処理を実行する。推定共起比率更新処理は、既知共起比率が算出されていない検索語の組について推定共起比率を推定して共起比率表１６を更新する処理である。推定共起比率更新処理の詳細は、図２２を用いて後で説明する。
【００９１】
推定パラメータ更新部１３は、推定共起比率更新処理を実行した後、推定パラメータ更新処理を終了する。
このように、検索中継サーバ１０は、検索サービスを利用するごとに各種パラメータを更新する。これにより、検索中継サーバ１０は、更新された各種パラメータを用いて検索クエリを構築することで、次の検索サービス利用機会において検索サービスを効率的に利用することができる。
【００９２】
次に、既知比率更新処理について図１４を用いて説明する。図１４は、第２の実施形態の既知比率更新処理のフローチャートを示す図である。既知比率更新処理は、推定パラメータ更新処理のステップＳ４１で既知比率更新部１３０が実行する処理である。
【００９３】
［ステップＳ１０１］既知比率更新部１３０は、今回発行した検索クエリに含まれていた既知検索語を選択する。たとえば、既知比率更新部１３０は、検索クエリ「“ＦＦＦ” ＯＲ “クラウド”」に含まれる検索語「ＦＦＦ」と検索語「クラウド」のうちから検索語「ＦＦＦ」を選択する。
【００９４】
［ステップＳ１０２］既知比率更新部１３０は、今回取得した検索結果文書のうちステップＳ１０１で選択した既知検索語を含む文書の数（実際文書数）を算出する。たとえば、既知比率更新部１３０は、検索語「ＦＦＦ」の実際文書数として「１００００」を得る。
【００９５】
［ステップＳ１０３］既知比率更新部１３０は、サンプル文書集合１８に含まれるサンプル文書のうちステップＳ１０１で選択した既知検索語を含むサンプル文書の数（サンプル文書数）を算出する。たとえば、既知比率更新部１３０は、検索語「ＦＦＦ」のサンプル文書数として「１０」を得る。
【００９６】
［ステップＳ１０４］既知比率更新部１３０は、実際文書数とサンプル文書数の比（既知比率）を算出する。たとえば、既知比率更新部１３０は、検索語「ＦＦＦ」について既知比率「１０００（＝１００００／１０）」を得る。
【００９７】
［ステップＳ１０５］既知比率更新部１３０は、算出した既知比率で比率表１５を更新する。
［ステップＳ１０６］既知比率更新部１３０は、今回発行した検索クエリに含まれていた既知検索語のすべてを選択したか否かを判定する。既知比率更新部１３０は、検索クエリに含まれる既知検索語のすべてを選択していない場合にステップＳ１０１にすすむ。
【００９８】
たとえば、既知比率更新部１３０は、検索クエリ「“ＦＦＦ” ＯＲ “クラウド”」のうち検索語「クラウド」が選択されていないことから、ステップＳ１０１にすすみ、検索語「クラウド」を選択する。以降、既知比率更新部１３０は、ステップＳ１０２からステップＳ１０４で、検索語「クラウド」について、実際文書数として「８０００」、サンプル文書数として「８」、既知比率として「１０００（＝８０００／８）」を得る。
【００９９】
一方、既知比率更新部１３０は、検索クエリに含まれる検索語のすべてを選択した場合に既知比率更新処理を終了する。
これにより、既知比率更新部１３０は、検索クエリに含まれる検索語について算出した既知比率で比率表１５を更新できる。
【０１００】
ここで、比率表１５のデータ構成について図１５を用いて説明する。図１５は、第２の実施形態の比率表テーブルの一例を示す図である。
比率表テーブル２４０は、比率表１５に含まれる。比率表テーブル２４０は、項目「検索語」と、項目「既知比率」と、項目「推定比率」とを含む。項目「検索語」は、検索語集合１４に含まれる検索語を示す。項目「既知比率」は、検索語の既知比率を示す。項目「推定比率」は、検索語の推定比率を示す。
【０１０１】
比率表テーブル２４０は、検索クエリ「“ＦＦＦ” ＯＲ “クラウド”」の発行後に実行された既知比率更新処理により、検索語「ＦＦＦ」について既知比率「１０００」が記録され、検索語「クラウド」について既知比率「１０００」が記録された状態を示す。検索語「ＦＦＦ」と検索語「クラウド」の項目「推定比率」は、項目「既知比率」が記録されていることから推定比率「−」となっている。
【０１０２】
次に、既知共起比率更新処理について図１６を用いて説明する。図１６は、第２の実施形態の既知共起比率更新処理のフローチャートを示す図である。既知共起比率更新処理は、推定パラメータ更新処理のステップＳ４２で既知共起比率更新部１３１が実行する処理である。
【０１０３】
［ステップＳ１１１］既知共起比率更新部１３１は、今回発行した検索クエリに含まれていた２つの既知検索語の組を選択する（以下、検索語の組を共起検索語と言うことがある）。たとえば、既知共起比率更新部１３１は、検索クエリ「“ＦＦＦ” ＯＲ “クラウド”」から検索語「ＦＦＦ」と検索語「クラウド」の組からなる共起検索語「ＦＦＦ ＆ クラウド」を選択する。
【０１０４】
［ステップＳ１１２］既知共起比率更新部１３１は、今回取得した検索結果文書のうちステップＳ１１１で選択した共起検索語を含む文書の数（実際共起文書数）を算出する。たとえば、既知共起比率更新部１３１は、共起検索語「ＦＦＦ ＆ クラウド」について実際共起文書数として「３０００」を得る。
【０１０５】
［ステップＳ１１３］既知共起比率更新部１３１は、サンプル文書集合１８に含まれるサンプル文書のうちステップＳ１１１で選択した共起検索語を含むサンプル文書の数（サンプル共起文書数）を算出する。たとえば、既知共起比率更新部１３１は、共起検索語「ＦＦＦ ＆ クラウド」についてサンプル共起文書数として「３」を得る。
【０１０６】
［ステップＳ１１４］既知共起比率更新部１３１は、実際共起文書数とサンプル共起文書数の比（既知共起比率）を算出する。たとえば、既知共起比率更新部１３１は、共起検索語「ＦＦＦ ＆ クラウド」について既知共起比率「１０００（＝３０００／３）」を得る。
【０１０７】
［ステップＳ１１５］既知共起比率更新部１３１は、算出した既知共起比率で共起比率表１６を更新する。
［ステップＳ１１６］既知共起比率更新部１３１は、今回発行した検索クエリに含まれていた共起検索語のすべてを選択したか否かを判定する。既知共起比率更新部１３１は、検索クエリに含まれる共起検索語のすべてを選択していない場合にステップＳ１１１にすすみ、検索クエリに含まれる検索語のすべてを選択した場合に既知共起比率更新処理を終了する。
【０１０８】
これにより、既知共起比率更新部１３１は、検索クエリに含まれる共起検索語について算出した既知共起比率で共起比率表１６を更新できる。
ここで、共起比率表１６のデータ構成について図１７を用いて説明する。図１７は、第２の実施形態の共起比率表テーブルの一例を示す図である。
【０１０９】
共起比率表テーブル２５０は、共起比率表１６に含まれる。共起比率表テーブル２５０は、項目「共起検索語」と、項目「既知共起比率」と、項目「推定共起比率」とを含む。項目「共起検索語」は、検索語集合１４に含まれる共起検索語を示す。項目「既知共起比率」は、共起検索語の既知共起比率を示す。項目「推定共起比率」は、共起検索語の推定共起比率を示す。
【０１１０】
共起比率表テーブル２５０は、検索クエリ「“ＦＦＦ” ＯＲ “クラウド”」の発行後に実行された既知共起比率更新処理により、共起検索語「ＦＦＦ ＆ クラウド」について既知共起比率「１０００」が記録された状態を示す。共起検索語「ＦＦＦ ＆ クラウド」の項目「推定共起比率」は、項目「既知共起比率」が記録されていることから推定共起比率「−」となっている。
【０１１１】
なお、検索中継サーバ１０は、２つの検索語からなる組を共起検索語としたが、３つ以上の検索語からなる組を共起検索語に含めてもよい。
次に、類似パラメータ更新処理について図１８を用いて説明する。図１８は、第２の実施形態の類似パラメータ更新処理のフローチャートを示す図である。類似パラメータ更新処理は、推定パラメータ更新処理のステップＳ４３で類似パラメータ更新部１３２が実行する処理である。
【０１１２】
［ステップＳ１２１］類似パラメータ更新部１３２は、２つの既知検索語の組それぞれについて既知比率比を算出する。既知比率比は、２つの既知検索語の既知比率をパラメータとして定義される値であり、Ｓi,jで表わされる。既知比率比Ｓi,jは、２つの既知検索語をｘi，ｘj、既知検索語ｘi，ｘjの既知比率をそれぞれｒi，ｒjとしたとき、（２）式のように表わされる。ここで、ｍａｘ（ｒi，ｒj）は２つの既知比率のうち大きい方を表し、ｍｉｎ（ｒi，ｒj）は２つの既知比率のうち小さい方を表す。
【０１１３】
Ｓi,j＝ｍａｘ（ｒi，ｒj）／ｍｉｎ（ｒi，ｒj）  …（２）
［ステップＳ１２２］類似パラメータ更新部１３２は、２つの既知検索語の組それぞれについて既知比率差分を算出する。既知比率差分は、２つの既知検索語の既知比率比をパラメータとして定義される値であり、ｄi,jで表わされる。既知比率差分ｄi,jは、（３）式のように表わされる。ここで、ｍａｘ（Ｓ）は、すべての既知検索語の組に対応するすべての既知比率比のうち最大のものを表す。
【０１１４】
ｄi,j＝Ｓi,j／ｍａｘ（Ｓ）  …（３）
［ステップＳ１２３］類似パラメータ更新部１３２は、既知検索語それぞれについて、検索結果文書集合１９から当該既知検索語を含む文書を検索し、当該既知検索語の周辺にある語彙（周辺語彙）を示す周辺語彙ベクトルを生成する。周辺語彙ベクトルは、既知検索語ｘiの周辺語彙について、語彙が存在する場合を「１」、語彙が存在しない場合を「０」とするベクトルであり、Ａiで表わされる。既知検索語の周辺（たとえば、既知検索語と同じ文、既知検索語の前後５ワードなど）にｎ種類の語彙が配置され得る場合、Ａiはｎ次元ベクトルになる。
【０１１５】
［ステップＳ１２４］類似パラメータ更新部１３２は、類似パラメータをランダムに設定する。類似パラメータは、語彙ごとの重要度が「０．０」から「１．０」の範囲の値をとるベクトルであり、Ｗで表わされる。すなわち、類似パラメータ更新部１３２は、ベクトルＷの各要素を「０．０」から「１．０」の範囲でランダムに決定する。Ｗの次元数は、Ａiの次元数（ｎ次元）と同じである。
【０１１６】
［ステップＳ１２５］類似パラメータ更新部１３２は、類似パラメータＷが探索条件を満たすか否かを判定する。探索条件を（４）式に示す。すなわち、類似パラメータ更新部１３２は、任意の既知検索語の組（ｘi，ｘj）について（４）式が成立するか判定する。少なくとも１つの既知検索語の組について（４）式が成立しない場合、類似パラメータＷは探索条件を満たさないと判定される。
【０１１７】
｜ＡiＷ −ＡjＷ｜ ≦ ｄi,j  …（４）
類似パラメータ更新部１３２は、類似パラメータＷが探索条件を満たす場合にステップＳ１２８にすすみ、類似パラメータＷが探索条件を満たさない場合にステップＳ１２６にすすむ。
【０１１８】
［ステップＳ１２６］類似パラメータ更新部１３２は、ステップＳ１２４で生成した類似パラメータＷを更新候補として保持する。また、類似パラメータ更新部１３２は、この類似パラメータＷと探索条件との乖離度を示す評価値（たとえば、式（４）の左辺と右辺の差をすべての既知探索語の組について合計したもの）を算出し、評価値をこの類似パラメータＷと対応付けて保持する。
【０１１９】
［ステップＳ１２７］類似パラメータ更新部１３２は、ステップＳ１２４の試行回数が上限（たとえば、１００００回）に達したか否かを判定する。類似パラメータ更新部１３２は、試行回数が上限に達した場合にステップＳ１２８にすすみ、試行回数が上限に達していない場合にステップＳ１２４にすすむ。
【０１２０】
［ステップＳ１２８］類似パラメータ更新部１３２は、ステップＳ１２５で探索条件を満足した類似パラメータＷが存在する場合、当該類似パラメータＷで類似パラメータ１７を更新する。また、類似パラメータ更新部１３２は、探索条件を満足した類似パラメータＷが存在しない場合、ステップＳ１２６で保持した類似パラメータＷのうち評価値が最も良いもの（たとえば、乖離度を示す評価値が最も小さいもの）で類似パラメータ１７を更新する。そして、類似パラメータ更新処理を終了する。
【０１２１】
なお、類似パラメータ更新部１３２は、周辺語彙の重要度を最適化する大域的最適化装置として機能することができる。類似パラメータ更新部１３２は、大域的最適化装置として検索中継サーバ１０と独立して設けられるものであってもよい。
【０１２２】
ここで、類似パラメータ１７のデータ構成について図１９を用いて説明する。図１９は、第２の実施形態の類似パラメータテーブルの一例を示す図である。
類似パラメータテーブル２６０は、類似パラメータ１７に含まれる。類似パラメータテーブル２６０は、項目「周辺語彙」と、項目「重要度」とを含む。項目「周辺語彙」は、検索語集合１４に含まれる検索語の周辺語彙を示す。項目「重要度」は、周辺語彙の重要度を示し、類似パラメータＷの一要素に相当する。たとえば、類似パラメータテーブル２６０は、周辺語彙「製品」の重要度が「０．８」であり、周辺語彙「紹介」の重要度が「０．５」であることを示す。このとき、周辺語彙「製品」は、周辺語彙「紹介」よりも重要度が高い。重要度は、検索語の間の類似性を算出するときに用いる周辺語彙の重みを示す。一般に、特定の検索語と共起しやすい名詞や動詞などの特徴的な語彙については、重要度が大きくなる傾向にある。また、文書中で平均的に用いられる助詞などの汎用的な語彙については、重要度が小さくなる傾向にある。
【０１２３】
次に、推定比率更新処理について図２０を用いて説明する。図２０は、第２の実施形態の推定比率更新処理のフローチャートを示す図である。推定比率更新処理は、推定パラメータ更新処理のステップＳ４４で推定比率更新部１３３が実行する処理である。
【０１２４】
［ステップＳ１３１］推定比率更新部１３３は、既知比率が設定されていない未知検索語を検索語集合１４から選択する。
［ステップＳ１３２］推定比率更新部１３３は、類似度算出処理を実行する。類似度算出処理は、選択した未知検索語と既知検索語との類似度を、類似パラメータ１７を用いて算出する処理である。類似度算出処理の詳細は、図２１を用いて後で説明する。
【０１２５】
［ステップＳ１３３］推定比率更新部１３３は、選択した未知検索語の推定比率を、類似度にもとづいて算出する。既知検索語ｉの既知比率をｒi、未知検索語ｋと既知検索語ｉの類似度をｓ（ｋ，ｉ）、既知検索語の数をＮとしたとき、未知検索語ｋの推定比率ｇkは、（５）式のように表わされる。
【０１２６】
【数１】
2016157290.tif 000003
【０１２７】
たとえば、検索語「ＦＦＦ」の既知比率が「１０００」で、検索語「Ｎ駅」の既知比率が「９００」であったとする。このとき、検索語「ＢＢＢ」と検索語「ＦＦＦ」の類似度が「０．９」、検索語「ＢＢＢ」と検索語「Ｎ駅」の類似度が「０．１」であるとき、検索語「ＢＢＢ」の推定比率は、「９９０（＝１０００×０．９＋９００×０．１）」となる。
【０１２８】
このように、推定比率更新部１３３は、類似度が高い未知検索語には既知検索語の既知比率を強く伝播させ、類似度が低い未知検索語には既知検索語の既知比率を弱く伝播させる。これにより、推定比率更新部１３３は、既知比率から精度よく推定比率を生成することができる。
【０１２９】
［ステップＳ１３４］推定比率更新部１３３は、算出した推定比率で比率表１５を更新する。推定比率更新部１３３は、たとえば未知検索語である検索語「ＢＢＢ」について、推定比率「９９０」を算出したとき、比率表テーブル２４０（図１５参照）に推定比率を記録する。このとき、検索語「ＢＢＢ」の項目「既知比率」は、既知比率が未だ不明なことから「−」となっている。
【０１３０】
［ステップＳ１３５］推定比率更新部１３３は、検索語集合１４に含まれる未知検索語のすべてを選択したか否かを判定する。推定比率更新部１３３は、検索語集合１４に含まれる未知検索語のすべてを選択していない場合にステップＳ１３１にすすみ、検索語集合１４に含まれる未知検索語のすべてを選択した場合に推定比率更新処理を終了する。
【０１３１】
これにより、推定比率更新部１３３は、検索語集合１４に含まれる未知検索語について算出した推定比率で比率表１５を更新できる。
次に、類似度算出処理について図２１を用いて説明する。図２１は、第２の実施形態の類似度算出処理のフローチャートを示す図である。類似度算出処理は、推定比率更新処理のステップＳ１３２で推定比率更新部１３３が実行する処理である。
【０１３２】
［ステップＳ１４１］推定比率更新部１３３は、選択した未知検索語を含む文書をサンプル文書集合１８から取得し、取得した文書において選択した未知検索語の周辺に現れる周辺語彙を抽出する。また、推定比率更新部１３３は、既知検索語それぞれについて、当該既知検索語を含む文書をサンプル文書集合１８から取得し、取得した文書において当該既知検索語の周辺に現れる周辺語彙を抽出する。
【０１３３】
［ステップＳ１４２］推定比率更新部１３３は、選択した未知検索語の周辺に各語彙が現れるか否かを示す２値ベクトルを生成する。また、推定比率更新部１３３は、既知検索語それぞれについて、当該既知検索語の周辺に各語彙が現れるか否かを示す２値ベクトルを生成する。ここで生成する２値ベクトルは、周辺語彙に対応する１以上の要素を有し、各要素は、当該周辺語彙が存在する場合に値「１」をとり、当該周辺語彙が存在しない場合に値「０」をとる。
【０１３４】
そして、推定比率更新部１３３は、未知検索語に対応する２値ベクトルおよび既知検索語それぞれに対応する２値ベクトルの各要素に、類似度パラメータＷに含まれる当該要素に対応する重要度をかけて、重み付きベクトルを生成する。たとえば、ある周辺語彙の重要度が「０．８」である場合、当該周辺語彙に対応する要素の値は、当該周辺語彙が存在すれば「０．８」になり、当該周辺語彙が存在しなければ「０．０」になる。
【０１３５】
［ステップＳ１４３］推定比率更新部１３３は、既知検索語それぞれについて、当該既知検索語に対応する重み付きベクトルと選択した未知検索語に対応する重み付きベクトルとを用いて、当該既知検索語と選択した未知検索語との間の類似度を算出する。類似度は、コサイン類似度など、既知の計算方法によって算出することができる。たとえば、未知検索語の重み付きベクトルをｐ、既知検索語の重み付きベクトルをｑ、重み付きベクトルの要素数をＮとしたとき、類似度ｓ（ｐ，ｑ）は、（６）式のように表わされる。ここで、ｐiは重み付きベクトルｐのｉ番目の要素を表し、ｑiは重み付きベクトルｑのｉ番目の要素を表す。
【０１３６】
【数２】
2016157290.tif 000004
【０１３７】
推定比率更新部１３３は、類似度を算出した後、類似度算出処理を終了する。
なお、類似パラメータ更新部１３２は、形態素解析をおこなうことで周辺語彙を抽出することができる。このとき、類似パラメータ更新部１３２は、形態素解析器として機能することができる。なお、類似パラメータ更新部１３２は、検索中継サーバ１０と独立して設けられる形態素解析器に周辺語彙の抽出を委ねてもよい。
【０１３８】
次に、推定共起比率更新処理について図２２を用いて説明する。図２２は、第２の実施形態の推定共起比率更新処理のフローチャートを示す図である。推定共起比率更新処理は、推定パラメータ更新処理のステップＳ４５で推定共起比率更新部１３４が実行する処理である。
【０１３９】
［ステップＳ１５１］推定共起比率更新部１３４は、既知共起比率が設定された共起検索語（検索語の組）の集合（既知共起比率設定集合）を取得する。
［ステップＳ１５２］推定共起比率更新部１３４は、既知共起比率が設定されていない共起検索語の集合（既知共起比率未設定集合）を取得する。
【０１４０】
［ステップＳ１５３］推定共起比率更新部１３４は、既知共起比率未設定集合から１つの共起検索語を選択する。
［ステップＳ１５４］推定共起比率更新部１３４は、関係辞書を参照し、選択した共起検索語がとりうる関係集合を取得する。
【０１４１】
ここで関係辞書について図２３を用いて説明する。図２３は、第２の実施形態の関係辞書の一例を示す図である。
関係辞書２７０は、項目「語１」と、項目「語２」と、項目「関係」と、項目「スコア」とを含む。項目「語１」は、組となる検索語の１つを示す。項目「語２」は、組となる検索語のもう１つを示す。項目「関係」は、２つの検索語の関係を示す。項目「スコア」は、２つの検索語の関係の確からしさを示す。たとえば、項目「スコア」は、「０．０」から「１．０」の範囲の値をとり、「１．０」に近いほど２つ検索語の関係が確からしい（たとえば、語１と語２が、項目「関係」の意味で使用される確率が高い）ことを示す。
【０１４２】
たとえば、語１「ＦＦＦ」と語２「クラウド」からなる組は、関係「企業−技術」がスコア「０．９」であり、関係「企業−部門名」がスコア「０．３」である。このように、語１「ＦＦＦ」と語２「クラウド」とが同じ文書中に出現する場合、語２「クラウド」は技術の意味で使用されることもあるし、部門名の意味で使用されることもある。ただし、関係辞書２７０によれば、語２は部門名よりも技術の意味で使用される確率が高い。
【０１４３】
また、語１「ＢＢＢ」と語２「データ分析」からなる組は、関係「企業−技術」がスコア「０．８」であり、関係「企業−商品名」がスコア「０．２」である。このように、語１「ＢＢＢ」と語２「データ分析」とが同じ文書中に出現する場合、語２「データ分析」は技術の意味で使用されることもあるし、商品名の意味で使用されることもある。ただし、関係辞書２７０によれば、語２は商品名よりも技術の意味で使用される確率が高い。
【０１４４】
推定共起比率更新部１３４は、このような関係辞書２７０を参照することで、たとえば、ステップＳ１５３で共起検索語「ＢＢＢ ＆ データ分析」を選択した場合、関係「企業−技術」と関係「企業−商品名」を要素として含む関係集合を取得できる。
【０１４５】
［ステップＳ１５５］推定共起比率更新部１３４は、既知共起比率設定集合のうちから、関係集合に含まれる何れかの関係と同じ関係をとりうる共起検索語の部分集合（既知共起比率設定部分集合）を抽出する。たとえば、ステップＳ１５３で共起検索語「ＢＢＢ ＆ データ分析」を選択し、既知共起比率設定集合に共起検索語「ＦＦＦ ＆ クラウド」が含まれるとする。この場合、共起検索語「ＦＦＦ ＆ クラウド」は、関係集合に含まれる関係「企業−技術」をとりうるため、既知共起比率設定部分集合に含まれる。
【０１４６】
［ステップＳ１５６］推定共起比率更新部１３４は、関係辞書を参照し、関係集合に含まれる関係それぞれについて推定共起比率を算出する。関係集合Ｒに含まれる関係をｒ、既知共起比率設定部分集合に含まれる共起検索語ｉの既知共起比率をｐi、関係辞書における共起検索語ｉおよび関係ｒに対応するスコアをｓiとする。すると、関係ｒを仮定したときの共起検索語ｋの推定共起比率ｇk,rは、（７）式のように表わされる。ただし、共起検索語ｉに対して関係ｒが関係辞書に登録されていない場合、スコアｓiを「０」とする。また、スコアｓiの合計が「０」の場合、推定共起比率ｇk,rを「０」とする。
【０１４７】
たとえば、ステップＳ１５３で共起検索語「ＢＢＢ ＆ データ分析」を選択し、既知共起比率設定部分集合に共起検索語「ＦＦＦ ＆ クラウド」のみが含まれるとする。この場合、関係「企業−技術」について、既知共起比率「１０００」×スコア「０．９」／スコア「０．９」＝推定共起比率「１０００」と算出される。関係「企業−商品名」については、共起検索語「ＦＦＦ ＆ クラウド」が関係「企業−商品名」をもたないため、推定共起比率「０」と算出される。
【０１４８】
【数３】
2016157290.tif 000005
【０１４９】
［ステップＳ１５７］推定共起比率更新部１３４は、算出した推定共起比率ｇk,rのうちから最大値となる推定共起比率ｇk,rを最大推定共起比率として選択する。たとえば、推定共起比率更新部１３４は、関係「企業−技術」について推定共起比率「１０００」が算出され、関係「企業−商品名」について推定共起比率「０」が算出された場合、前者を最大推定共起比率として選択する。これは、検索語「ＢＢＢ」と検索語「データ分析」が同じ文書に現れる場合、関係「企業−技術」の意味で使用されている確率が高いと仮定し、その仮定のもとで既知共起比率を推定共起比率に伝播させることを意味する。
【０１５０】
［ステップＳ１５８］推定共起比率更新部１３４は、選択した最大推定共起比率によって共起比率表１６を更新する。推定共起比率更新部１３４は、たとえば共起検索語「ＢＢＢ ＆ データ分析」について、推定共起比率「１０００」を算出したとき、共起比率表テーブル２５０（図１７参照）に推定共起比率を記録する。このとき、共起検索語「ＢＢＢ ＆ データ分析」の項目「既知共起比率」は、既知共起比率が未だ不明なことから「−」となっている。
【０１５１】
［ステップＳ１５９］推定共起比率更新部１３４は、既知共起比率未設定集合からすべての共起検索語を選択したか否かを判定する。推定共起比率更新部１３４は、既知共起比率未設定集合からすべての共起検索語を選択していない場合にステップＳ１５３にすすみ、既知共起比率未設定集合からすべての共起検索語を選択した場合に推定共起比率更新処理を終了する。
【０１５２】
これにより、推定共起比率更新部１３４は、既知共起比率が設定されていない検索語の組について算出した推定共起比率で共起比率表１６を更新できる。
次に、参考実施形態における検索クエリの発行回数と第２の実施形態における検索クエリの発行回数について図２４から図２７を用いて説明する。まず、参考実施形態における検索クエリの発行回数（検索語を含む文書の集合が複数の検索語の間で重複しない場合）について図２４を用いて説明する。図２４は、参考実施形態の検索クエリの発行例（文書集合が重複しない場合）を示す図である。
【０１５３】
なお、文書検索サーバ５２は、出力制限数Ｓが１００であり、検索端末装置５１からの検索要求により生成された検索語集合１４は、検索語「Ａ」、検索語「Ｂ」、および検索語「Ｃ」を含むとする。また、検索語「Ａ」を含む文書の数は「７０件」であり、検索語「Ｂ」を含む文書の数は「５０件」であり、検索語「Ｃ」を含む文書の数は「４０件」であり、それぞれ重複しない文書であるとする。
【０１５４】
ここで、検索中継サーバ１０が検索語「Ａ」、検索語「Ｂ」、および検索語「Ｃ」についてＯＲ演算子を用いずに検索クエリを生成したと仮定すると、「クエリＡ」、「クエリＢ」、および「クエリＣ」の３つの検索クエリが生成される。検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＡ」を発行して、「７０件」の文書を検索結果として取得する（Ａ−１）。また、検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＢ」を発行して、「５０件」の文書を検索結果として取得する（Ａ−２）。また、検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＣ」を発行して、「４０件」の文書を検索結果として取得する（Ａ−３）。このようにして、検索中継サーバ１０は、文書検索サーバ５２に対して３回の検索クエリを発行する。このとき、検索中継サーバ１０は、出力制限数Ｓに対して、「クエリＡ」について「３０件」の出力可能枠を残し（Ａ−１）、「クエリＢ」について「５０件」の出力可能枠を残し（Ａ−２）、「クエリＣ」について「６０件」の出力可能枠を残す（Ａ−３）。ここで言う出力可能枠の残りは、追加の検索クエリを発行せずに取得可能であった文書の数であり、文書を取得せずに無駄にしてしまった文書取得の機会またはリソースを示す。
【０１５５】
また、検索中継サーバ１０が検索語「Ａ」と検索語「Ｂ」をＯＲ演算子で結合して検索クエリを生成したと仮定すると、「クエリＡ ＯＲ Ｂ」および「クエリＣ」の２つの検索クエリが生成される。検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＡ ＯＲ Ｂ」を発行して、「１２０件（＝７０＋５０）」の文書を検索結果として取得する（Ｂ−１）。ただし、「１２０件」の文書は、出力制限数Ｓを超えるので、検索中継サーバ１０は、「１００件」と「２０件」との２回に分けて文書を取得することとなる。そのため、検索中継サーバ１０は、「クエリＡ ＯＲ Ｂ」を２回発行して、「１２０件」の文書を検索結果として取得する。また、検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＣ」を発行して、「４０件」の文書を検索結果として取得する（Ｂ−２）。このようにして、検索中継サーバ１０は、文書検索サーバ５２に対して３回の検索クエリを発行する。このとき、検索中継サーバ１０は、出力制限数Ｓに対して、「クエリＡ ＯＲ Ｂ」について「８０件」の出力可能枠を残し（Ｂ−１）、「クエリＣ」について「６０件」の出力可能枠を残す（Ｂ−２）。
【０１５６】
さらに、検索中継サーバ１０が検索語「Ａ」と検索語「Ｃ」をＯＲ演算子で結合して検索クエリを生成したと仮定すると、「クエリＡ ＯＲ Ｃ」および「クエリＢ」の２つの検索クエリが生成される。検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＡ ＯＲ Ｃ」を発行して、「１１０件（＝７０＋４０）」の文書を検索結果として取得する（Ｃ−１）。ただし、「１１０件」の文書は、出力制限数Ｓを超えるので、検索中継サーバ１０は、「１００件」と「１０件」との２回に分けて文書を取得することとなる。そのため、検索中継サーバ１０は、「クエリＡ ＯＲ Ｃ」を２回発行して、「１１０件」の文書を検索結果として取得する。また、検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＢ」を発行して、「５０件」の文書を検索結果として取得する（Ｃ−２）。このようにして、検索中継サーバ１０は、文書検索サーバ５２に対して３回の検索クエリを発行する。このとき、検索中継サーバ１０は、出力制限数Ｓに対して、「クエリＡ ＯＲ Ｃ」について「９０件」の出力可能枠を残し（Ｃ−１）、「クエリＢ」について「５０件」の出力可能枠を残す（Ｃ−２）。
【０１５７】
このように、適切に検索語の組が選択されない場合、ＯＲ演算子を用いて生成される検索クエリは、検索クエリの発行回数の抑制に寄与しない。
次に、第２の実施形態の検索クエリの発行回数（文書集合が重複しない場合）について図２５を用いて説明する。図２５は、第２の実施形態の検索クエリの発行例（文書集合が重複しない場合）を示す図である。
【０１５８】
検索中継サーバ１０が検索語「Ｂ」と検索語「Ｃ」をＯＲ演算子で結合して検索クエリを生成したと仮定すると、「クエリＢ ＯＲ Ｃ」および「クエリＡ」の２つの検索クエリが生成される。検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＢ ＯＲ Ｃ」を発行して、「９０件（＝５０＋４０）」の文書を検索結果として取得する（Ｄ−１）。また、検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＡ」を発行して、「７０件」の文書を検索結果として取得する（Ｄ−２）。このようにして、検索中継サーバ１０は、文書検索サーバ５２に対して２回の検索クエリを発行する。このとき、検索中継サーバ１０は、出力制限数Ｓに対して、「クエリＢ ＯＲ Ｃ」について「１０件」の出力可能枠を残し（Ｄ−１）、「クエリＡ」について「３０件」の出力可能枠を残す（Ｄ−２）。
【０１５９】
このように、検索中継サーバ１０は、適切に検索語の組を選択することで、検索クエリの発行回数を抑制できる。このような検索語の組の適切な選択は、クエリ構築部１１によって実現される。また、クエリ構築部１１における検索語の組の選択精度の向上は、推定パラメータ更新部１３によって実現される。
【０１６０】
次に、参考実施形態における検索クエリの発行回数（検索語を含む文書の集合が複数の検索語の間で重複する場合）について図２６を用いて説明する。図２６は、参考実施形態の検索クエリの発行例（文書集合が重複する場合）を示す図である。
【０１６１】
なお、検索語「Ａ」を含む文書の数は「６０件」であり、検索語「Ｂ」を含む文書の数は「６０件」であり、検索語「Ｃ」を含む文書の数は「６０件」であり、それぞれ重複する文書があるとする。検索語「Ａ」と検索語「Ｂ」とで重複する文書の数は「１０件」であり、検索語「Ａ」と検索語「Ｃ」とで重複する文書の数は「２０件」であり、検索語「Ｂ」と検索語「Ｃ」とで重複する文書の数は「２０件」であるとする。
【０１６２】
ここで、検索中継サーバ１０が検索語「Ａ」と検索語「Ｂ」をＯＲ演算子で結合して検索クエリを生成したと仮定すると、「クエリＡ ＯＲ Ｂ」および「クエリＣ」の２つの検索クエリが生成される。検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＡ ＯＲ Ｂ」を発行して、「１１０件（＝６０＋６０−１０）」の文書を検索結果として取得する（Ｅ−１）。ただし、「１１０件」の文書は、出力制限数Ｓを超えるので、検索中継サーバ１０は、「１００件」と「１０件」との２回に分けて文書を取得することとなる。そのため、検索中継サーバ１０は、「クエリＡ ＯＲ Ｂ」を２回発行して、「１１０件」の文書を検索結果として取得する。また、検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＣ」を発行して、「６０件」の文書を検索結果として取得する（Ｅ−２）。このようにして、検索中継サーバ１０は、文書検索サーバ５２に対して３回の検索クエリを発行する。このとき、検索中継サーバ１０は、出力制限数Ｓに対して、「クエリＡ ＯＲ Ｂ」について「９０件」の出力可能枠を残し（Ｅ−１）、「クエリＣ」について「４０件」の出力可能枠を残す（Ｅ−２）。
【０１６３】
このように、文書集合が重複する場合においても、ＯＲ演算子を用いて生成される検索クエリは、適切に検索語の組が選択されなければ検索クエリの発行回数の抑制に寄与しない。
【０１６４】
次に、第２の実施形態の検索クエリの発行回数（文書集合が重複する場合）について図２７を用いて説明する。図２７は、第２の実施形態の検索クエリの発行例（文書集合が重複する場合）を示す図である。
【０１６５】
検索中継サーバ１０が検索語「Ａ」と検索語「Ｃ」をＯＲ演算子で結合して検索クエリを生成したと仮定すると、「クエリＡ ＯＲ Ｃ」および「クエリＢ」の２つの検索クエリが生成される。検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＡ ＯＲ Ｃ」を発行して、「１００件（＝６０＋６０−２０）」の文書を検索結果として取得する（Ｆ−１）。また、検索中継サーバ１０は、文書検索サーバ５２に対して「クエリＢ」を発行して、「６０件」の文書を検索結果として取得する（Ｆ−２）。このようにして、検索中継サーバ１０は、文書検索サーバ５２に対して２回の検索クエリを発行する。このとき、検索中継サーバ１０は、出力制限数Ｓに対して、「クエリＡ ＯＲ Ｃ」についての出力可能枠を残さず（Ｆ−１）、「クエリＢ」について「４０件」の出力可能枠を残す（Ｆ−２）。
【０１６６】
このように、検索中継サーバ１０は、文書集合が重複する場合においても、適切に検索語の組を選択することで、検索クエリの発行回数を抑制できる。このような検索語の組の適切な選択は、クエリ構築部１１によって実現される。また、クエリ構築部１１における検索語の組の選択精度の向上は、推定パラメータ更新部１３によって実現される。
【０１６７】
次に、第２の実施形態におけるユーザインタフェース表示について図２８から図３０を用いて説明する。まず、クエリ問い合わせ実行前のユーザインタフェース表示について図２８を用いて説明する。図２８は、第２の実施形態のクエリ問い合わせ実行前のユーザインタフェース表示の一例を示す図である。
【０１６８】
ＵＩ（User Interface）表示３００は、検索クエリの実行操作を受け付ける際の表示である。検索端末装置５１は、検索中継サーバ１０から所要の情報を取得して、検索端末装置５１が備えるディスプレイにＵＩ表示３００を表示する。
【０１６９】
ＵＩ表示３００は、検索語「ＦＦＦ」と検索語「進化素材」とが選択されて、検索クエリ「ＦＦＦ ＯＲ 進化素材」が構築されたことを示す。また、ＵＩ表示３００は、検索クエリ「ＦＦＦ ＯＲ 進化素材」による問い合わせが、検索結果として１６００００件の文書を取得する見込みであり、文書の取得に１６００回の問い合わせを要する見込みであることを示す。
【０１７０】
ＵＩ表示３００は、表示欄「構築されたクエリと問い合わせ実行」と、表示欄「クエリの推定と実行結果の数値」と、表示欄「クエリの構成要素の詳細数値」と、表示欄「クエリ構築のための検索語の選択ボックス」とを含む。
【０１７１】
表示欄「クエリ構築のための検索語の選択ボックス」は、選択可能な検索語の一覧と、各検索語のサンプリングデータ（サンプル文書集合１８）中の文書数と、推定比率と、推定文書数と、各検索語の選択操作を受け付けるためのチェックボックスとを含む。チェックボックスは、チェック表示により対応する検索語が選択されている状態を示す。
【０１７２】
表示欄「クエリの推定と実行結果の数値」は、表示項目「推定文書数」と、表示項目「文書数（的中率）」と、表示項目「推定問い合わせ回数」と、表示項目「問い合わせ回数（的中率）」とを含む。表示項目「推定文書数」は、構築されたクエリの検索結果として得られるであろう文書数を示す。表示項目「文書数（的中率）」は、構築されたクエリ（検索クエリ）の検索結果として得た文書数を示し、推定文書数に対する的中率（文書取得数の的中率）をカッコ内に示す。表示項目「推定問い合わせ回数」は、構築されたクエリが検索結果を得るために実行されるであろう問い合わせ回数を示す。表示項目「問い合わせ回数（的中率）」は、構築されたクエリが検索結果を得るために実行された問い合わせ回数を示し、推定問い合わせ回数に対する的中率（問い合わせ回数の的中率）をカッコ内に示す。なお、ＵＩ表示３００は、構築されたクエリが未だ実行されていない状態のため、表示項目「文書数（的中率）」と表示項目「問い合わせ回数（的中率）」に「−」を表示する。
【０１７３】
表示欄「クエリの構成要素の詳細数値」は、選択された検索語と、選択された検索語ごとのサンプリングデータ中の文書数と推定比率と推定文書数とを表示する。さらに、表示欄「クエリの構成要素の詳細数値」は、選択された検索語の組のサンプリングデータ中の文書数と推定比率と推定文書数とを表示する。
【０１７４】
表示欄「構築されたクエリと問い合わせ実行」は、項目「構築されたクエリ」と、操作ボタン「問い合わせ実行」を表示する。項目「構築されたクエリ」は、選択された検索語から構築された検索クエリを表示する。操作ボタン「問い合わせ実行」は、ユーザ操作による検索クエリの問い合わせを実行可能にする。
【０１７５】
次に、クエリ問い合わせ実行後のユーザインタフェース表示について図２９を用いて説明する。図２９は、第２の実施形態のクエリ問い合わせ実行後のユーザインタフェース表示の一例を示す図である。
【０１７６】
ＵＩ表示３１０は、ユーザによる検索クエリの問い合わせが実行された後の表示である。検索端末装置５１は、検索中継サーバ１０から検索結果を含む所要の情報を取得して、検索端末装置５１が備えるディスプレイにＵＩ表示３１０を表示する。
【０１７７】
ＵＩ表示３１０は、検索クエリ「ＦＦＦ ＯＲ 進化素材」による問い合わせが、検索結果として１６００００件の文書を取得する見込みであったところ、検索結果として１５００００件の文書を取得したことを示す。ＵＩ表示３１０は、文書取得数の的中率が「０．９３（＝１５００００／１６００００）であったことを示す。また、ＵＩ表示３１０は、検索クエリ「ＦＦＦ ＯＲ 進化素材」による問い合わせが、１６００回の問い合わせをおこなう見込みであったところ、検索結果として１５００回の問い合わせをおこなったことを示す。ＵＩ表示３１０は、問い合わせ回数の的中率が「０．９３（＝１５００／１６００）であったことを示す。
【０１７８】
また、ＵＩ表示３１０は、検索結果から各種パラメータが更新されたことにもとづいて、各検索語の推定比率と推定文書数とを更新した数値を表示する（図２９において下線を付して更新個所を示す）。
【０１７９】
次に、クエリ問い合わせ実行後のログ表示について図３０を用いて説明する。図３０は、第２の実施形態のログを表示するユーザインタフェース表示の一例を示す図である。
ＵＩ表示３２０は、クエリ問い合わせ実行後のログ表示を示す。検索端末装置５１は、検索中継サーバ１０から所要の情報を取得して、検索端末装置５１が備えるディスプレイにＵＩ表示３２０を表示する。
【０１８０】
ＵＩ表示３２０は、ログの一部または全部として３件のログを表示する。ログは、イベントごとの発生日時と内容を含む。たとえば、発生日時「２０１４−０９−２６  ０９：００：００」のイベントのログは、内容が「問い合わせ」であり、クエリ（検索クエリ）が「ＦＦＦ ＯＲ 進化素材」」であったことを示す。さらに、発生日時「２０１４−０９−２６  ０９：００：００」のイベントのログは、詳細な情報としてクエリの構成要素の詳細数値を含む。
【０１８１】
また、発生日時「２０１４−０９−２６  ０９：２０：２１」のイベントのログは、内容が「推定結果の更新」であり、検索語が「ＮＮＮ」であったことを示す。さらに、発生日時「２０１４−０９−２６  ０９：２０：２１」のイベントのログは、詳細な情報として検索語の更新前後の詳細数値を含む。
【０１８２】
このようなユーザインタフェース表示は、ユーザによる検索要求の生成を補助し、検索効率の改善に寄与する。
なお、ユーザインタフェース表示は、検索端末装置５１がおこなうものとして説明したが、変形例として検索中継サーバ１０が備えるディスプレイに表示されるものであってもよい。このとき、検索中継サーバ１０は、検索端末装置としての機能を含む場合に検索者を対象にしてユーザインタフェース表示をおこなうことができる。また、検索中継サーバ１０は、検索端末装置としての機能を含まない場合に管理者を対象にしてユーザインタフェース表示をおこなうことができる。
【０１８３】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、文書検索装置１、検索中継サーバ１０が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disk）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１８４】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１８５】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１８６】
また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤなどの電子回路で実現することもできる。
【符号の説明】
【０１８７】
１  文書検索装置
１ａ  記憶部
１ｂ  生成部
２  要求
３ａ，３ｂ，３ｊ，３ｋ，３ｎ  検索語
４ａ  第１の閾値
４ｂ  第２の閾値
５  文書
６  検索クエリ
８  文書集合管理システム
８ａ，５３  文書データベース
８ｂ  文書集合
１０  検索中継サーバ
１１  クエリ構築部
１２  検索サービス利用部
１３  推定パラメータ更新部
１４  検索語集合
１５  比率表
１６  共起比率表
１７  類似パラメータ
１８  サンプル文書集合
１９  検索結果文書集合
５０  検索システム
５１  検索端末装置
５２  文書検索サーバ
５４，５５  ネットワーク
９０  モニタ
９１  キーボード
９２  マウス
９３  光ディスク
９４  メモリ装置
９５  メモリリーダライタ
９６  メモリカード
１０１  プロセッサ
１０２  ＲＡＭ
１０３  ＨＤＤ
１０４  グラフィック処理装置
１０５  入力インタフェース
１０６  光学ドライブ装置
１０７  機器接続インタフェース
１０８  ネットワークインタフェース
１０９  バス
１３０  既知比率更新部
１３１  既知共起比率更新部
１３２  類似パラメータ更新部
１３３  推定比率更新部
１３４  推定共起比率更新部
【図１】
2016157290.tif 000006
【図２】
2016157290.tif 000007
【図３】
2016157290.tif 000008
【図４】
2016157290.tif 000009
【図５】
2016157290.tif 000010
【図６】
2016157290.tif 000011
【図７】
2016157290.tif 000012
【図８】
2016157290.tif 000013
【図９】
2016157290.tif 000014
【図１０】
2016157290.tif 000015
【図１１】
2016157290.tif 000016
【図１２】
2016157290.tif 000017
【図１３】
2016157290.tif 000018
【図１４】
2016157290.tif 000019
【図１５】
2016157290.tif 000020
【図１６】
2016157290.tif 000021
【図１７】
2016157290.tif 000022
【図１８】
2016157290.tif 000023
【図１９】
2016157290.tif 000024
【図２０】
2016157290.tif 000025
【図２１】
2016157290.tif 000026
【図２２】
2016157290.tif 000027
【図２３】
2016157290.tif 000028
【図２４】
2016157290.tif 000029
【図２５】
2016157290.tif 000030
【図２６】
2016157290.tif 000031
【図２７】
2016157290.tif 000032
【図２８】
2016157290.tif 000033
【図２９】
2016157290.tif 000034
【図３０】
2016157290.tif 000035