"1以上の文書からなる母集合を検索対象の文書集合から検索するための検索条件式を生成する検索式生成部と、任意の検索条件式を用いて前記検索対象を検索した結果を取得して前記検索式生成部に出力する検索結果取得部と、を備え、前記検索式生成部は、1以上の検索タームからなる論理積を検索条件式として前記検索対象を検索した場合に得られる検索結果のうち前記母集合に含まれる文書が前記母集合に対して占める割合を示す再現率と、前記検索結果のうち前記母集合に含まれる文書が前記検索結果に対して占める割合を示す精度を、前記検索結果取得部から前記検索結果を取得して算出し、前記再現率と前記精度を用いて構築された評価式によって前記論理積を評価し、前記評価式による評価値が最大となる前記論理積を論理和で結合することを繰り返すことにより、積和標準形で表される前記検索条件式を生成することを特徴とする検索式生成装置。前記検索結果取得部は、前記検索式生成部が前記精度を算出する際に、前記論理積中の各検索タームのヒット件数を、前記検索対象の検索インデックスに記録されている検索ターム毎のヒット件数から取得し、前記検索式生成部は、前記ヒット件数を用いて前記精度を近似することを特徴とする請求項1記載の検索式生成装置。前記検索式生成部は、前記検索対象中の全文書数に対する前記ヒット件数の比を用いて検索ターム毎のヒット確率を推定し、前記推定したヒット確率を用いて前記精度を近似することを特徴とする請求項2記載の検索式生成装置。前記検索式生成部は、検索ターム毎の前記推定したヒット確率を掛け合わせることにより、前記論理積を検索条件として前記検索対象を検索した場合のヒット件数を推定し、そのヒット件数を用いて前記精度を近似することを特徴とする請求項3記載の検索式生成装置。前記検索式生成部は、前記再現率または前記精度のうち少なくともいずれかを算出する際に、前記母集合に属する各文書の検索インデックスに記録されている、前記各文書内に含まれる検索タームのリストを照会することにより、前記検索結果のうち前記母集合に含まれる文書の数を取得することを特徴とする請求項1記載の検索式生成装置。前記検索式生成部は、前記再現率または前記精度のうち少なくともいずれかを、前記母集合からサンプリングした文書集合に対して算出し、その算出結果と前記サンプリングのサンプリング率とを用いて構築された評価式によって前記論理積を評価することを特徴とする請求項1記載の検索式生成装置。前記検索結果取得部は、前記論理積を検索条件として前記検索対象を検索した場合に得られる検索結果に含まれる各文書の重み係数を取得し、前記検索式生成部は、前記重み係数を用いて前記再現率または前記精度の少なくともいずれかを算出することを特徴とする請求項1記載の検索式生成装置。前記検索式生成部は、前記母集合内に含まれる文書の重み係数のうち最小のものを、前記母集合に含まれない文書の重み係数として近似することを特徴とする請求項7記載の検索式生成装置。前記検索結果取得部が取得した検索結果を表示する表示部を備え、前記検索式生成部は、前記検索結果を得るための前記検索条件式を生成し、前記検索結果とともに前記表示部に表示させることを特徴とする請求項1記載の検索式生成装置。前記表示部は、前記検索式生成部が生成した前記検索条件式を修正するための入力欄を有し、前記検索結果取得部は、前記入力欄に入力された修正後の検索条件式を用いて前記文書を検索した結果を取得して前記表示部に表示させることを特徴とする請求項9記載の検索式生成装置。前記検索式生成部は、前記検索結果取得部が取得した検索結果をクラスタリングし、前記表示部は、前記クラスタリングで得られたクラスタ毎に前記検索結果を表示することを特徴とする請求項9記載の検索式生成装置。前記表示部は、前記検索式生成部が生成した前記検索条件式を修正するための入力欄を、前記クラスタリングで得られたクラスタ毎に有し、前記検索結果取得部は、前記入力欄に入力された修正後の検索条件式を用いて前記文書を検索した結果を取得し、前記クラスタリングで得られたクラスタ毎に前記表示部に表示させることを特徴とする請求項11記載の検索式生成装置。前記検索式生成部は、前記精度の指定値を入力として受け取り、前記指定値以上の前記精度を有する前記検索条件式を生成することを特徴とする請求項1記載の検索式生成装置。請求項1記載の検索式生成装置と、任意の検索条件式から前記検索対象を検索する検索サーバと、を有し、前記検索結果取得部は、前記検索条件式を用いて前記検索対象を検索した結果を前記検索サーバから取得することを特徴とする検索システム。1以上の文書からなる母集団を検索対象の文書集合から検索するための検索条件式を生成する検索式生成ステップと、任意の検索条件式を用いて前記検索対象を検索した結果を取得する検索結果取得ステップと、を有し、前記検索式生成ステップでは、1以上の検索タームからなる論理積を検索条件式として前記検索対象を検索した場合に得られる検索結果のうち前記母集合に含まれる文書が前記母集合に対して占める割合を示す再現率と、前記検索結果のうち前記母集合に含まれる文書が前記検索結果に対して占める割合を示す精度を、前記検索結果取得ステップにより前記検索結果を取得して算出し、前記再現率と前記精度を用いて構築された評価式によって前記論理積を評価し、前記評価式による評価値が最大となる前記論理積を論理和で結合することを繰り返すことにより、積和標準形で表される前記検索条件式を生成することを特徴とする検索式生成方法。前記精度の指定値を入力として受け取るステップを有し、前記検索式生成ステップでは、前記指定値以上の前記精度を有する前記検索条件式を生成することを特徴とする請求項15記載の検索式生成方法。特許文献1と非特許文献1に記載されている技術では、概念検索の結果に含まれる特徴的単語を抽出し、これを概念検索の根拠として提示することができる。しかし、特徴的単語は、概念検索の根拠を必ずしも正確に表しているわけではない。非特許文献2に記載されている技術では、検索漏れの少なさのみを評価基準として単語を抽出している。よって、抽出した単語が概念検索の結果以外の文書ノイズにも多くヒットしてしまう可能性がある。これらの単語は概念検索の根拠としては適切ではない。本発明は、上記のような課題を解決するためになされたものであり、概念検索の根拠となる検索式を正確かつ効率的に生成する技術を提供することを目的とする。本発明に係る検索式生成装置は、検索タームの論理積を論理和で結合した積和標準形で表される検索条件式を構築し、再現率漏れの少なさと精度ノイズの少なさを基準としてその検索条件式を評価する。次に、検索タームの論理積のうち評価値が最大となるものを論理和で結合することを繰り返し、検索条件式を構築する。本発明に係る検索式生成装置によれば、検索条件式を積和標準形で表すことにより、探索空間が膨大になることを防ぐことができる。また、検索タームの論理積毎に評価値が最大になるものを探索し、これを論理和で結合しているので、積和標準形で表される検索条件式の探索空間を、論理積の項毎に効率的に探索することができる。さらには、再現率と精度を基準として検索タームの論理積毎に検索条件式を評価しているので、検索条件式を論理積毎に最適化し、検索条件式の正確性を高めることができる。<実施の形態1>図1は、本発明の実施形態1に係る検索システム1000の構成図である。検索システム1000は、検索式生成装置10と検索サーバ12を有する。これらはネットワーク11を介して接続されている。検索式生成装置10は、文書を検索した結果として得られる検索結果から、その検索結果を得るための検索式を生成する装置である。検索式生成装置10は、CPUCentralProcessingUnit101、メモリ102、キーボードマウス103、ディスプレイ104、検索式生成部105、表示制御部106、データ通信部107を備える。CPU101は、検索式生成装置10の動作を制御する処理を実行する。また、後述する各プログラムを実行する。メモリ102は、CPU101が実行するプログラム、プログラムを実行するために必要なデータなどを記憶する記憶装置である。キーボードマウス103は、ユーザからの操作入力を受け付けてCPU101に出力する。ディスプレイ104は、表示制御部106の指示にしたがって検索結果などを画面表示する。データ通信部107は、ネットワーク11を介してデータ通信するための通信インターフェースであり、例えば、TCP/IPプロトコルを用いて通信するLANLocalAreaNetworkインターフェースなどを用いて構成することができる。検索式生成部105は、文書を検索した結果として得られる検索結果から、その検索結果を得るための検索式を生成する。検索式生成部105は、必要に応じて検索サーバ12と通信し、検索式を生成するために必要なデータを収集する。表示制御部106は、ディスプレイ104に、後述の図2で説明する検索インターフェース画面20を画面表示させる。表示制御部106は、必要に応じて検索サーバ12と通信し、画面表示のために必要なデータを収集する。検索式生成部105と表示制御部106は、これらの機能を実現する回路デバイスなどのハードウェアを用いて構成することもできるし、同様の機能を実装したプログラムとして構成することもできる。検索式生成部105と表示制御部106をプログラムとして実装した場合、CPU101はこれらプログラムを実行することにより、これら機能部の動作を実施する。本発明における検索結果取得部は、データ通信部107がこれに相当する。表示部は、ディスプレイ104がこれに相当する。検索サーバ12は、文書検索を実施して検索結果を検索式生成装置10に送信する装置である。検索サーバ12は、CPU121、メモリ122、検索インデックス123、検索部124、データ通信部125を備える。CPU121は、検索サーバ12の動作を制御する処理を実行する。また、後述する各プログラムを実行する。メモリ122は、CPU121が実行するプログラム、プログラムを実行するために必要なデータなどを記憶する記憶装置である。検索インデックス123は、検索対象のデータを検索に適したデータ構造インデックスに整形したデータである。検索インデックス123は、例えば磁気記憶媒体などの記憶媒体に格納することができる。データ通信部125はネットワーク11を介してデータ通信する通信インターフェースであり、例えば、TCP/IPプロトコルを用いて通信するLANインターフェースなどを用いて構成することができる。検索部124は、文書を検索するよう要求するリクエストを検索式生成装置10から受け取り、検索インデックス123を用いて検索式に合致する文書を検索し、検索結果を検索式生成装置10に送信する。検索部124は、その機能を実現する回路デバイスなどのハードウェアを用いて構成することもできるし、同様の機能を実装したプログラムとして構成することもできる。検索部124をプログラムとして実装した場合、CPU121はそのプログラムを実行することにより、検索部124の動作を実施する。図2は、検索式生成装置10のディスプレイ104が画面表示する検索インターフェース画面20の画面イメージ例を示す図である。検索インターフェース画面20は、ユーザからの操作入力を受け付け、検索結果および検索式生成部105が生成した検索式を画面表示する。以下、検索インターフェース画面20の操作に係る動作手順を説明する。図2:動作手順ステップ1ユーザは、テキスト入力エリア201に検索要求を入力する。概念検索を実施する場合は文章を入力し、全文検索を実施する場合は検索式を入力する。ここでは、概念検索を実施する例を示した。検索要求として、1,8-シネオールを有効成分として含有することを特徴とするヒョウダニの忌避剤。という文章が入力されている。図2:動作手順ステップ2ユーザが検索ボタン204をクリックすると、表示制御部106はテキスト入力エリア201に入力されている文字列を取得し、データ通信部107を介して検索サーバ12にその文字列を検索条件とする検索要求を送信する。図2:動作手順ステップ3検索サーバ12は、検索式生成装置10が送信した検索要求を受け取る。検索部124は、検索インデックス123を用いて検索要求に合致する文書を検索する。検索部124は、検索に合致する文書の識別子、タイトルなどを取得し、検索結果として検索式生成装置10に送信する。図2:動作手順ステップ4表示制御部106は、データ通信部107を介して検索結果を受け取り、表示エリア203にリスト形式で表示する。表示エリア203は、検索結果に含まれる文書のタイトルなどを表示する。各タイトルの横には、選択/非選択を切り替えられるチェックボックス209を配置する。チェックボックスが選択状態にある文書は、検索式を生成する対象となる。デフォルトでは表示エリア203に表示している全文書が選択されている。全選択ボタン207をクリックすると、全文書を一括して選択することができる。全解除ボタン208をクリックすると、全文書を一括して選択解除することができる。図2:動作手順ステップ5ユーザが根拠ボタン206をクリックすると、表示制御部106は選択されている文書の識別子を検索式生成部105に渡す。検索式生成部105は、後述の図3~図6で説明する手法を用いて、検索インターフェース画面20上で選択されている文書を正確に検索することができる検索式を生成する。図2:動作手順ステップ6表示制御部106は、検索式生成部105が生成した検索式を、テキスト入力エリア202に表示する。ここでは剤忌避害虫忌避成分という検索式が表示されている。この検索式を用いて全文検索を実施すると、現在選択されている文書を正確に検索できる、ということを示唆している。ユーザは、概念検索を実施して得られた検索結果の根拠を、検索結果と等価な検索式として確認することができる。図2:動作手順ステップ6:補足図2に示す例の場合、もともとの概念検索ではテキスト入力エリア201にヒョウダニという言葉が入力されていたが、テキスト入力エリア202に表示されている検索式では、より一般的な害虫というキーワードが使われている。すなわち、テキスト入力エリア201に入力されている文章を用いた概念検索の結果は、害虫という一般的なキーワードを使って全文検索した結果と等価であるといえる。ユーザは、テキスト入力エリア201と202の表示内容を比較することにより、網羅的な検索が実施できているか否かを確認できる。さらに、選択されている文書の内容を調べれば、ヒョウダニを含む害虫に関する文書を全て調べ尽くすことができる。図2:動作手順ステップ7ユーザは、検索式生成部105が生成した検索式をテキスト入力エリア202上で修正することもできる。検索式を修正した後に再検索ボタン205をクリックすると、表示制御部106はテキスト入力エリア202に入力されている検索式を取得し、データ通信部107を介して検索サーバ12にその検索式を検索条件とする検索要求を送信する。検索サーバ12はその検索式を用いて検索を実施し、表示制御部106はその検索結果を表示エリア203に表示する。図2:動作手順ステップ7:補足例えば、現在の検索結果には、ヒョウダニ以外の害虫に関する文書も含まれている可能性がある。ヒョウダニに特化した文書のみが欲しければ、テキスト入力エリア202に表示されている害虫をヒョウダニに修正し、剤忌避ヒョウダニ忌避成分という検索式を用いて再度検索を実施すればよい。以上、検索システム1000の構成について説明した。次に、検索式生成部105が検索式を生成する手法を説明する。図3は、検索式を生成する対象となる母集合である文書集合D301と、生成した検索式Lで検索することができる文書集合HL302との関係を示した図である。Dのみを漏れなく検索できる検索式であれば、D301とHL302が一致するため、このような条件を満たす検索式Lを見つけることが望ましい。ただし、文書集合Dの選び方によっては、このような検索式は存在しないこともある。そこで実際は、DとHLの積集合であるD∧HL303ができるだけ広くなるような検索式Lを探索することになる。本実施形態1では、そのための目的関数値としてF値を用いる。F値は、再現率Rrecall304と精度Pprecision305の調和平均307である。再現率Rは、検索式LによってDを漏れなく検索できる度合いを表し、検索結果HLのうち文書集合Dに含まれる文書が文書集合Dに対して占める割合に相当する。精度Pは、検索式LによってDのみを検索する度合いを表し、検索結果HLのうち文書集合Dに含まれる文書が検索結果HLに対して占める割合に相当する。式307に式304と式305を代入すると、F値の式は式308で表される。式308の分母はD301の面積とHL302の面積の和となり、式308の分子はD301の面積とHL302の面積の積集合であるD∧HL303の面積の2倍である。DとHLが等しいとき、F値は最大値1となる。DとHLが全く重ならないとき、F値は最小値0となる。なお、本実施形態1では検索式Lを評価する基準としてF値を採用し、再現率Rと精度Pを対等に調和平均しているが、重み付けをしてどちらかを重視することもできる。アプリケーションによっては、精度と再現率のいずれか一方を犠牲にしても他方を重視することが望ましいケースもあるので、このような場合にはいずれか一方を他方よりも重視した重み付けをしてもよい。また、本実施形態1では検索式Lを評価する基準として式308に示すF値を用いているが、再現率Rと精度Pを用いる評価式であれば、式308以外の評価式を用いることもできる。以上、検索式生成部105が検索式Lを生成する原理を説明した。検索式生成部105は、式308に示すF値が最大となる検索式Lを探索すればよい。ただし、任意の形式の検索式を用いることができるとすると、探索空間が膨大になってしまう可能性がある。この課題を探索問題と呼ぶ。本発明では、探索問題を解決するため、検索式の形式を積和標準形に限定し、検索式を構成する論理積の項毎に、Dを貧欲法greedyalgorithmで探索する。この探索法はF値の最大化と相性がよい。詳細は後述する。積和標準形とは、abcdefgのように、検索タームの論理積で構成されている項が論理和で結合されている形式のことである。本発明では、積和標準形を構成する各論理積を、繰り返し処理により1項ずつ生成していく。上記例の場合、論理積は3個あるため、繰り返し処理が3回実行されることになる。各繰り返し処理では、現在与えられている文書集合をできるだけ広く、かつ、ノイズの混入が少なくなるように検索できる論理積を探索する。ここでの目的関数は、前述したF値を用いる。次に、生成した論理積で検索できる文書を、与えられた文書集合から除き、残った文書集合に対して同じ処理を繰り返す。残った文書集合がなくなるか、もしくは新たに検索できる文書の数が所定閾値以下になったら、繰り返し処理を停止する。図4は、検索式生成部105が検索式Lを探索する処理を概念的に示す図である。検索式生成部105は、文書集合D301から所望の検索結果を得ることができる検索式Lを探索する。以下、図4に示す処理手順について説明する。図4:処理手順ステップ1検索式生成部105は、検索タームの論理積1つで構成されている検索式L1を生成する。検索式生成部105は、F値が最大となるL1を探索する。検索式生成部105は、L1を探索する過程において、論理積を構成する検索タームおよび検索タームの個数を最適化する。例えば、L1=abcなどの結果が得られる。検索式L1がカバーする文書集合は、図4のHL1302aである。DとHL1が重なる部分D∧HL1は、図4の斜線領域303aである。図4:処理手順ステップ2検索式生成部105は、文書集合DからHL1を除いた部分に対してステップ1と同様の処理を実施し、F値が最大となる検索式L2を生成する。検索式L2は、検索タームの論理積1つで構成されている。ここで得られる検索式L2は、ステップ1と同一であるとは限らない。例えば、L2=deなどの結果が得られる。L2がカバーする文書集合は、図4のHL2302bである。図4:処理手順ステップ3検索式生成部105は、文書集合DからHL1とHL2を除いた部分に対してステップ1と同様の処理を実施し、F値が最大となる検索式L3を生成する。検索式L3は、検索タームの論理積1つで構成されている。ここで得られる検索式L3は、ステップ1~ステップ2と同一であるとは限らない。例えば、L3=fgなどの結果が得られる。L3がカバーする文書集合は、図4のHL3302cである。図4:処理手順ステップ4検索式生成部105は、以上と同様の処理を、所定回数または文書集合Dのうちカバーできていない範囲が所定範囲以下になるまで繰り返す。ここでは繰り返し回数を3回と仮定する。検索式探索部105は、各ステップで得られた検索式を論理和で結合し、最終的な検索式Lとする。ここでは、L=L1L2L3=abcdefgとなる。図4:処理手順ステップ4:補足図4の点線で囲われた部分が、検索式Lでカバーできる文書集合となる。各ステップ1~ステップ3では、局所的にF値が最大となる論理積L1~L3を生成しているため、それらを結合した積和標準形のF値も相応に大きな値となる。局所最適解を繰り返し取得する貪欲法を用いて検索式Lを生成しているため、必ずしも大域的な最大値が得られているとは限らないが、探索空間が膨大になることを回避できる。図5は、図4で説明した探索手順を説明するフローチャートである。以下、図5の各ステップについて説明する。図5:ステップS501検索式生成部105は、文書集合Dを構成する各文書を取得する。Dの要素d_iは各文書の識別子である。検索式生成部105は、文書集合Dの各構成要素を検索サーバ12に問い合わせてもよいし、ユーザが各構成要素を入力してもよい。図5:ステップS502検索式生成部105は、最終的な検索式Lを出力するための論理積集合をOとし、Oを空集合で初期化する。図5:ステップS503検索式生成部105は、本処理を終了するか否かを判定するための残文書数閾値c_minを設定する。c_minについてはステップS509で改めて説明する。c_minの値は事前にメモリ102などに格納しておいてもよいし、ユーザが入力してもよい。図5:ステップS504検索式生成部105は、ステップS509で説明する条件が満たされるまで、以下のステップS505~S508を繰り返す。図5:ステップS505検索式生成部105は、F値が最大となる検索式Lを探索する。検索式Lは、検索タームの論理積1つで構成されている。本ステップは、図4で説明したステップ1~ステップ3それぞれにおいてL1~L3を探索する処理に対応する。本ステップの詳細については図6で改めて説明する。図5:ステップS506検索式生成部105は、ステップS505で得られた検索式Lを集合Oの構成要素として加える。図5:ステップS507~S508検索式生成部105は、ステップS505で得られた検索式Lを用いて検索することができる文書集合をDLとするS507。検索式生成部105は、文書集合DからDLを差し引いて新たな文書集合DとするS508。図5:ステップS509検索式生成部105は、文書集合Dが空であるか、またはステップS505で新たに検索した文書数DLの要素数が閾値c_minより小さくなっている場合、ステップS505~S508の繰り返し処理を終了する。いずれの条件も満たしていない場合は、ステップS505に戻って同様の処理を繰り返す。図5:ステップS509:補足本ステップでは、新たに検索できる文書数がc_minを下回った場合、繰り返し探索を終了させることになる。この終了条件は、ごく少数の文書しか検索できないような特殊な論理積を生成させないために必要となる。本実施形態1では貧欲法を用いて検索式Lを探索しているため、繰り返し処理が進むにつれ新たにカバーできる文書数は減少する傾向にある。よって、カバーできる文書数が増加に転じる可能性は少ないため、DLの要素数がc_minを下回った時点で、即座に繰り返し探索を終了してもよい。図5:ステップS510検索式生成部105は、生成した検索式が保存されているOを表示制御部106に出力する。例えば最終的にL=abcdefgという検索式が生成された場合、O={abc,de,fg}となっている。図6は、図5のステップS505の詳細処理を示すフローチャートである。以下、図6の各ステップについて説明する。図6:ステップS601検索式生成部105は、文書集合Dを構成する各文書を取得する。本ステップにおける文書集合Dは、ステップS501およびS508で得られるDに等しい。図6:ステップS602検索式生成部105は、ステップS505で生成する検索式の論理積を構成する候補となる検索タームキーワードを収集し、これを検索ターム集合Tとする。D内の文書に現れる全てのタームをTに入れてもよいし、D内で重みの高いタームのみを所定個数Tに入れるようにしてもよい。図6:ステップS602:補足1本ステップで検索ターム集合Tに入れるタームを選択する基準となる重みとして、例えばIDFInverseDocumentFrequency値などを用いることができる。重みの値は検索サーバ12に問い合わせてもよいし、検索式生成部105が計算してもよい。重みを計算するために必要なデータや重みの計算方法については、任意の公知手法を用いることができる。図6:ステップS602:補足2本実施形態1では、検索タームとして単語形態素を用いることを想定するが、その他に例えば文字Nグラムなどを用いることもできる。図6:ステップS603検索式生成部105は、探索の深さの上限l_maxを設定する。探索の深さとは、検索式Lに含まれる各論理積を構成する要素数に相当する。例えば、ステップS505において最大3個の検索タームの論理積を探索範囲とする場合、l_max=3となる。この場合、検索タームを論理積で結合することができる最大個数は3個となる。図6:ステップS604検索式生成部105は、探索している地点を保持するための集合Bを初期化し、探索開始点を設定する。例えば開始点として、Tに含まれている全てのタームを、論理結合せずに集合Bへ登録する。この場合、例えばB={a,b,c,}となる。集合Bを初期化するその他の手法として、例えばF値が大きい検索タームから所定個数のみを抽出してBに登録するなどが考えられる。図6:ステップS605検索式生成部105は、集合Bに登録されている検索タームのなかで最もF値が大きいものをB_maxとする。以後、F値がより大きい検索タームの論理積が得られる毎に、B_maxを更新する。図6:ステップS606~S607検索式生成部105は、探索の深さを示す変数iを初期化するS606。検索式生成部105は、探索深さiが上限l_maxを超えるまで、以下のステップS607~S613を繰り返す。ステップS607~S613は、探索深さiに対する探索処理である。すなわち、ステップS607~S613では、幅優先探索を行っていることになる。図6:ステップS608~S609検索式生成部105は、集合Bの構成要素のインデックスを示す変数jを初期化するS608。検索式生成部105は、集合Bの最終要素番号mに到達するまで、以下のステップS610~S612を繰り返すS609。図6:ステップS610検索式生成部105は、集合Bのj番目の要素B_jに、集合T内の1つの検索タームを論理積で結合する。論理積で結合する検索タームは、結合することによってF値が最も増加するものを選ぶ。すなわち本ステップでは、山登り法で検索タームを探索していることになる。図6:ステップS610:補足上記説明では、F値が最大となる論理積を結合することとしたが、F値が最大値よりも小さくなる検索タームを予備的に採用し、探索範囲を広く確保するようにしてもよい。この場合、探索が進むにつれ、現在の探索地点を保持する集合Bも大きくなってしまうが、集合Bの要素数の上限値をあらかじめ決めておき、F値が大きいものから優先的に集合Bに登録するなどの手法を用いることもできる。図6:ステップS611検索式生成部105は、ステップS610で新たに検索タームを結合した要素B_jのF値が現在のB_maxのF値より大きければ、B_maxをB_jで更新する。図6:ステップS612検索式生成部105は、変数jを1インクリメントする。jが集合Bの最終要素番号mに到達していなければステップS609に戻って同様の処理を繰り返し、到達していればステップS609~S612の繰り返し処理を終了する。図6:ステップS613検索式生成部105は、変数iを1インクリメントする。iが探索深さ上限l_maxに到達していなければステップS607に戻って同様の処理を繰り返し、到達していればステップS607~S613の繰り返し処理を終了する。図6:ステップS614検索式生成部105は、現在のB_maxを本処理の結果として出力する。<実施の形態1:まとめ>以上、本実施形態1に係る検索式生成装置10が検索式を生成する手法を説明した。検索式生成装置10は、概念検索の検索結果と等価な検索式を自動生成することができる。本実施形態1に係る検索式生成装置10は、所望の検索結果を得るための検索式Lを、積和標準形で生成する。これにより、最適な検索式Lを探索する際の探索空間が膨大になることを防ぐことができる。また、本実施形態1に係る検索式生成装置10は、検索タームの論理積毎に所定の評価式によって評価し、評価値が最大となる論理積を論理和で結合する手順を繰り返すことにより、所望の検索結果を得ることができる検索式Lを生成する。これにより、検索式Lの探索空間を、論理積の項毎に効率的に探索することができる。この手法は、検索式Lを構成する論理和の項毎に最適化を実施することになるので、積和標準形を用いる手法によく適合し、検索式Lを効率的に生成することができる。また、本実施形態1に係る検索式生成装置10は、再現率Rと精度Pを基準として検索タームの論理積毎に検索式Lを評価する。これにより、検索式Lを論理積毎に最適化し、検索式Lの正確性を高めることができる。<実施の形態2>実施形態1では、再現率Rと精度Pを用いて検索式Lを評価する手法を説明した。精度Pを求める際には、検索式Lが合致する文書数、すなわちヒット件数|HL|を取得する必要があるので、検索式生成部105は必要に応じて検索サーバ12に|HL|を問い合わせることができる。ただし、|HL|の値は実際に検索式Lを用いて検索を実施してみなければ正確な値は分からない。実施形態1では、探索過程で何度も検索式Lを評価するため、検索サーバ12が検索を実施する際の処理負荷が大きくなってしまう。この課題を、大域ヒット件数取得問題と呼ぶ。そこで本発明の実施形態2では、実際に検索を実施することに代えて、検索式Lを構成するキーワード毎のヒット件数を用いて|HL|を近似する。これにより、検索負荷を低減し、大域ヒット件数取得問題を解決することを試みる。なお、検索システム1000の構成は実施形態1と同様であるため、以下では大域ヒット件数取得問題を解決するための手法を中心に説明する。図7は、検索式生成部105がHLを近似計算する手法を説明する図である。以下図7に示す手順について式毎に説明する。図7:式701検索式生成部105は、図6の各ステップのうちF値を算出するステップS605とS610を実施する際に、ヒット件数|HL|を取得する対象である検索式Lを取得する。検索式生成部105は、検索式Lを構成する論理積毎に|HL|を求めるので、本ステップにおけるLは検索タームの論理積となる。ここでは、L=t_1t_2t_kと仮定する。t_iは各検索タームである。図7:式702検索式生成部105は、検索対象となる全文書数Nを取得する。Nの値は検索サーバ12に問い合わせてもよいし、ユーザが入力してもよい。図7:式703ある文書が検索式論理積Lで検索できる確率をPLと定義すると、Lで検索できる文書数HLは、PLNで推定することができる。図7:式704検索式論理積Lを構成する各検索タームt_1~t_kが文書内で独立に出現するものとして近似すると、PL≒Pt_1Pt_2Pt_kとなる。図7:式705Pt_iは、ある文書が検索タームt_iで検索できる確率であり、全文書数Nに対するt_iのヒット件数Ht_iの比で推定することができる。図7:式706以上の式701~式705によれば、求めるHLは、検索ターム毎のヒット件数Ht_iの積を用いた式706で近似計算できることが分かる。検索式生成部105は、最終的に式706を用いてHLを近似計算することができる。以上、|HL|を近似計算する原理を説明した。次に、|HL|を近似計算するための具体的な実装手段を説明する。図8は、検索サーバ12が備えている検索インデックス123の構成図である。検索式生成部105が各タームt_i毎のヒット件数Ht_iを高速に取得するためには、検索インデックス123が保持しているデータを用いると効果的である。検索インデックス123は、検索タームt_i801、検索タームt_iが含まれている文書のリスト802を有する。このリスト802の長さは、検索タームt_iを用いて検索を実施した際のヒット件数Ht_iに等しい。検索サーバ12は、Ht_iをあらかじめ計算して保持しておくこともできる803。いずれの場合であっても、検索式生成部105は、検索インデックス123が保持しているデータを用いることによって、Ht_iを高速に取得することができる。すなわち、|HL|を高速に近似計算することができる。<実施の形態2:まとめ>以上のように、本実施形態2に係る検索式生成装置10は、検索インデックス123が保持している、検索タームt_i毎のヒット件数を取得し、その値を用いて検索式Lによるヒット件数|HL|を近似計算する。これにより、ヒット件数|HL|を取得する毎に検索を実施する必要がなくなり、検索負荷を低減するとともに、検索式Lを生成する処理を高速化することができる。<実施の形態3>実施形態1において、検索式生成部105は、再現率Rと精度Pを算出する際に、|D∧HL|を求める必要がある。|D∧HL|は、文書集合D中で検索式Lにヒットする文書数であるから、実際に検索してみないと正確な値はわからない。この課題を局所ヒット件数取得問題と呼ぶ。局所ヒット件数|D∧HL|は、大域ヒット件数|HL|に比べて、生成する論理積の精度に大きく影響する。そのため、処理時間が許容する限り、実際に検索を実施して取得することが望ましい。現実的な時間内に|D∧HL|を取得することができない場合は、検索インデックス123を用いて検索式生成部105を補助するようにしてもよい。そこで本発明の実施形態3では、各文書に含まれる検索タームのリストを、検索インデックス123内にあらかじめ格納しておき、これを用いて|D∧HL|を取得する手法を説明する。図9は、本実施形態3における検索インデックス123の構成例を示す図である。本実施形態3において、検索インデックス123は、図8で説明した構成に加え、図9に示すデータを保持する。その他の構成は、実施形態1~2と同様である。検索インデックス123は、文書集合Dに含まれる各文書d_i901について、その文書が含む検索タームのリスト902を保持する。検索式生成部105は、局所ヒット件数|D∧HL|を求める際に、検索式Lに含まれる全ての検索タームが、文書d_iについての検索タームリスト902に含まれているか否かを検索サーバ12に問い合わせる。これにより、高速に|D∧HL|を得ることができる。検索インデックス123が、図9に示すデータを保持しておらず、図8に示すデータのみを保持している場合は、各文書d_iに含まれる検索タームを解析した上で、同様の処理を実施する必要がある。もっとも、集合Dに含まれる文書数が少なく、現実的な時間内に|D∧HL|を取得できる場合は、必ずしも図9に示すデータを準備しておく必要はない。<実施の形態3:まとめ>以上のように、本実施形態3に係る検索式生成装置100は、検索インデックス123が保持している、文書d_i901に含まれる検索タームのリスト902を用いて、局所ヒット件数|D∧HL|を求める。これにより、各文書d_iに含まれる検索タームを解析した上で|D∧HL|を求める場合に比べて、処理負荷を軽減し、高速に検索式Lを生成することができる。<実施の形態4>本発明の実施形態4では、実施形態3で説明した局所ヒット件数|D∧HL|を高速に求める手法に代えて、サンプリングを用いた近似的手法により|D∧HL|を推定する手順を説明する。その他の構成は実施形態3と同様である。図10は、文書集合Dの一部をサンプリングした上でF値を求める手法を説明する図である。サンプリング方法としては、ランダムサンプリングを用いることが望ましい。図10の集合S3011は、文書集合D301から一部をサンプリングして得た文書集合である。ランダムサンプリングで集合Sを抽出しているため、集合Dに関する統計量は、集合Sに関する統計量に係数|D|/|S|を乗算することで推定できる。したがって、局所ヒット件数|D∧HL|は、集合Sについての局所ヒット件数|S∧HL|に係数|D|/|S|を乗算して推定することができる。以上から、文書集合DのF値を算出するための計算式1001は、図10の計算式1002で近似することができる。検索式生成部105は、計算式1002を用いてF値を近似計算すればよい。計算式1002を用いることにより、集合Dよりも文書数が少ない集合Sの範囲内で局所ヒット件数を取得するので、F値を求める処理負荷を低減し、より高速に検索式Lを生成することができる。<実施の形態5>実施形態4で説明した計算式1002は、論理積Lの目標ヒット件数Xを設定するために使うこともできる。ここでは、構成要素が不明な要素数Xの文書集合Dのうち一部を抽出した集合Sが与えられており、文書集合Dを検索する論理積Lを生成することを目的として設定する。所与の文書集合Sは、要素数Xの仮想的な文書集合Dからランダムサンプリングで抽出されたものと仮定する。この場合、文書集合Dのみを正確に検索することができる検索式Lを生成すれば、結果としてヒット件数がXとなる検索式Lを得ることができる。したがって、検索式生成部105は、F値=1、|D|=X、|HL|=X、を代入した計算式1001が成立するような検索式Lを目指して探索すればよいことになる。文書集合Sが与えられている場合は、計算式1002の|S|にSの要素数を代入した上で、同式が成立するような検索式Lを探索すればよい。ここで設定した|D|=Xは目標値であるから、検索式生成部105は、必ずしも正確にX件ヒットする検索式Lを生成できるとは限らないが、探索が網羅的であれば、目標ヒット件数Xにより近づくことができると思われる。<実施の形態6>本発明の実施形態6では、文書集合Dを構成する文書の重み検索スコアを考慮した動作例を説明する。検索システム1000の構成は、実施形態1~5と同様である。概念検索では、検索結果は一般に、検索条件として入力した文章に対する類似度によってランク付けされた状態で得られる。例えば、概念検索の結果から上位100件を選んで集合Dとし、集合Dと等価な検索式Lを生成することを考える。同じ99件が検索できる検索式であっても、検索ランク1位の文書を検索できなかった検索式よりも、検索ランク100位の文書を検索できなかった検索式の方が、より正確に集合Dを表していると言える。つまり、同じ文書数をカバーする検索式であっても、上位の文書をより多くカバーする検索式の方が好ましいといえる。本実施形態6において、検索式生成部105は、検索ランクが上位の文書をより多く検索する検索式Lが生成できるように、F値を計算する際に、検索スコアを加味する。検索スコアとは、検索結果をランク付けするために用いられる評価値であり、スコア値が高いほど上位にランクされることになる。検索式生成部105は、検索スコアが高い文書を優先的に検索することができるような検索式Lを生成するため、計算式304の|D|集合D内の文書数に代えて、集合D内の文書の検索スコア総和を用いる。同様に|D∧HL|に代えて、検索式Lでヒットした集合D内の文書の検索スコア総和を用いる。これにより、計算式304で算出する再現率Rは、検索式Lでカバーすることのできる文書の検索スコアを加味した値となる。同様に検索式生成部105は、計算式305の|HL|に代えて、検索式Lを用いて検索するとヒットする文書の検索スコア総和を用いる。ただし、集合Dに含まれない文書の検索スコアを取得するのは困難であるため、それらの文書の検索スコアは集合D内の文書の最小検索スコアとする。計算式305の|D∧HL|については、計算式304と同様である。なお、各文書の検索スコアは、データ通信部107が検索サーバ12から検索結果を取得する際にこれと併せて取得すればよい。<実施の形態6:まとめ>以上のように、本実施形態6に係る検索式生成装置10は、検索式Lを評価する際に、検索スコアを加味した評価式を用いる。これにより、検索ランクが上位の文書を優先して検索することができる検索式Lを得られるので、検索ニーズに適合した検索式を生成することができる。<実施の形態7>本発明の実施形態7では、検索結果をクラスタリングして、それぞれのクラスタに対して検索式を生成して表示する構成を説明する。クラスタリングに係る処理および画面表示以外については実施形態1~6と同様であるため、以下では差異点を中心に説明する。本実施形態7において、検索式生成部105は、検索結果として得られた文書集合をクラスタリングする。クラスタリングとは、文書集合を部分集合クラスタに分割する処理である。各部分集合には、互いに類似する文書が集められる。検索式生成部105は、任意の公知なクラスタリング手法を用いることができる。クラスタリングによって検索結果を部分集合に分割すると、検索結果が関連するトピック毎に整理されるため、検索結果の見通しがよくなり絞り込みやすくなる。一方、各クラスタに含まれる文書がどのようなトピックを有しているかを確認するのは難しい。非特許文献1のような従来技術では、各クラスタに含まれる特徴的語句を検索結果とともに表示しているが、特徴的語句のみではそのクラスタに含まれるトピックを十分に表すことが難しい。そこで本実施形態7では、各クラスタに含まれる文書集合を検索することのできる検索式を生成して、クラスタと併記して表示する。図11は、本実施形態7における検索インターフェース画面20の画面イメージ例である。以下、図11の検索インターフェース画面20の操作に係る動作手順を説明する。図11:動作手順ステップ1ユーザは、テキスト入力エリア1101に検索要求を入力する。概念検索を実施する場合は文章を入力し、全文検索を実施する場合は検索式を入力する。ここでは、概念検索を実施する例を示した。検索要求として、写真を撮影するためのまたは写真を投影もしくは直視するための装置という文章が入力されている。図11:動作手順ステップ2~ステップ3ユーザが検索ボタン1102をクリックすると、図2のステップ2~ステップ3で説明したものと同様の処理が実施される。図11:動作手順ステップ4表示制御部106は、データ通信部107を介して検索結果を受け取る。検索式生成部105は、検索結果に含まれる文書集合をクラスタリングして部分集合に分割する。表示制御部106は、クラスタ毎に表示エリア1104を設け、各表示エリア1104にクラスタ内の文書リストを表示する。表示エリア1104の表示内容は、図2と同様である。図11:動作手順ステップ5表示制御部106は、クラスタ毎に根拠ボタン1106を設ける。ユーザが根拠ボタン1106をクリックすると、表示制御部106は表示エリア1104内で選択されている文書の識別子を検索式生成部105に渡す。検索式生成部105は、クラスタ内で選択されている文書集合を検索することのできる検索式を生成する。ユーザは、クラスタの文書から必要な文書のみを選ぶことにより、クラスタに含まれる文書リストを自分の好みに合わせて修正することができる。図11:動作手順ステップ6表示制御部106は、クラスタ毎にテキスト入力エリア1103を設ける。表示制御部106は、検索式生成部105が生成したクラスタ毎の検索式を、テキスト入力エリア1103に表示する。図11:動作手順ステップ7ユーザは、テキスト入力エリア1103に表示されている検索式を直接修正することもできる。ユーザが再検索ボタン1105をクリックすると、表示制御部106はテキスト入力エリア1103に入力されている検索式を取得し、データ通信部107を介して検索サーバ12にその検索式を検索条件とする検索要求を送信する。検索サーバ12はその検索式を用いて検索を実施し、表示制御部106はその検索結果を表示エリア1104に表示する。<実施の形態7:まとめ>以上のように、本実施形態7に係る検索式生成装置10は、検索結果をクラスタリングし、クラスタ毎に検索結果を表示する。また、各クラスタに含まれる文書を検索することのできる検索式をクラスタ毎に生成する。これにより、ユーザはクラスタ毎の特徴を容易に把握することができる。また、本実施形態7に係る検索式生成装置10は、クラスタ毎に検索式を修正して再検索することができる。これにより、ユーザは実施形態1と同様の効果を、クラスタ毎に得ることができる。<実施の形態8>本発明の実施形態8では、実施形態1~7で説明した検索式生成装置10を用いて、文書分類コードを自動的に付与する規則を生成する手法を説明する。文書分類コードとは、文書をその内容の特徴毎に分類した上で、各分類に付与する識別コードのことである。各分類に含まれる文書は、同様のキーワードを有していることが多いため、分類コード毎に適切な検索式が生成できれば、同じ検索式を用いて検索することのできる文書は同じ分類に属する可能性が高い。本実施形態8では、このことを利用して、検索式を分類規則として用いる。検索式生成部105は、既に分類コードCが付いている文書集合正解訓練データDを対象に検索式Lを生成する。次にまだ分類コードが付いていない文書dテストデータを、生成した検索式Lによって検索することができるか否かを判定する。文書dを検索式Lによって検索することができれば、文書dは分類コードCを持つと予測することができる。このようにして、正解訓練データから生成した検索式Lにより、テストデータに分類コードを自動的に付与することができる。文書を自動分類する手法は様々あるが、本実施形態8の利点は、分類規則生成した検索式の精度precisionを自由に設定できる点にある。また、分類規則は論理式そのものであるため、ユーザにとって理解しやすい。ユーザは、必要であれば、自動生成された分類規則を修正することもできる。分類規則は、論理式の形で判りやすいので修正も容易である。図12は、自動生成した分類規則の例を示す図である。この例では、国際特許分類A61B3眼の検査装置;眼の診察装置というIPCコードを持つ1993年公開の特許公開公報の集合を正解訓練データとし、これから検索式を自動生成した。実施形態1で説明した方法を使うと、検眼検者眼科装置光学撮影系という検索式を生成することができた。この検索式を分類規則としてそのまま用い、例えば1994年公開の特許公開公報に分類コードを自動付与することができる。または、ユーザが分類規則を修正してもよい。次に、一度生成した分類規則に基づき、精度precisionがある値以上の分類規則を改めて構築する方法を説明する。文書分類には、精度precisionと再現率recallという評価基準がある。例えば、図12で説明した例において眼科装置という分類規則を考える。再現率とは、正解データA61B3に分類される文書中で、眼科装置にヒットする文書の割合のことである。つまり、眼科装置で正解がどれだけカバーできるかを表す。精度とは、眼科装置でヒットする全文書に占める正解データの割合である。つまり、眼科装置がどれだけ正確な分類規則であるかを表す。精度が100に近い分類規則であれば、その分類規則にヒットした文書は、ほぼ間違いなく目的の分類コードを付与してもよいことになる。分類規則にヒットしなかった文書についてのみ、ユーザが手作業で類コードを付与すればよいため、分類コード付与作業に係るコストを削減することができる。以下、所定以上の精度を有する分類規則を生成する手順を、図12にしたがって説明する。図12:分類規則生成手順ステップ1検索式生成部105は、実施形態1~7で説明した手順を用いて、検索式Lを構成する各論理積に対し、訓練データ中における精度と再現率を計算する。ここでは、図12の上半分に示す4つの論理積検眼検者眼科装置光学撮影系が得られたものとする。図12:分類規則生成手順ステップ2ユーザは、所望の精度値を検索式生成装置10に入力する。ここでは精度≧0.8を指定したものとする。図12:分類規則生成手順ステップ3検索式生成部105は、精度が0.8以上の論理積のみを抽出して論理和で結合する。これにより、訓練データに関して0.8以上の精度を有する検索式検眼眼科装置を生成することができる。なお、精度の値は正解訓練データを用いて算出する。図12:分類規則生成手順ステップ4検索式生成装置10は、ステップ3で得られた検索式を、分類規則としてユーザに提示する。これにより、目標とする精度を指定して、分類規則を自動生成することができる。目標精度を十分高くして生成した分類規則を用いれば、分類コードを十分な精度で自動付与することができる。<実施の形態8:まとめ>以上のように、本実施形態8に係る検索式生成装置10は、指定された以上の精度を有する検索式を生成し、文書分類規則として提示する。これにより、文書に分類コードを自動的に高精度で付与することができる。<実施の形態9>以上の実施形態1~8において、検索式生成部105は検索サーバ12に配置してもよい。また、実施形態7のように検索結果をクラスタリングする場合、クラスタリング処理を実施する機能部を、検索式生成部105とは別に新たに設けてもよい。クラスタリングを実施する機能部は、検索式生成装置10に配置してもよいし、検索サーバ12に配置してもよい。検索サーバ12がクラスタリング機能部を備える場合は、検索サーバ12が検索結果をクラスタリングし、クラスタ文書集合のリストを検索式生成装置10に送信する。以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。また、上記各構成、機能、処理部などは、それらの全部または一部を、例えば集積回路で設計することによりハードウェアとして実現することもできるし、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアとして実現することもできる。各機能を実現するプログラム、テーブルなどの情報は、メモリやハードディスクなどの記憶装置、ICカード、DVDなどの記憶媒体に格納することができる。[実施例1]本発明の実施例1では、実施形態1で説明した検索式の精度について評価した結果を説明する。精度を評価するために、ある検索式Lを用いて実際に文書を検索し、検索された文書集合から検索式を生成し、元の検索式Lが復元できるかどうかを確かめた。なお、検索式Lを用いた検索結果が300件を超える場合は、300個の文書をサンプリングして評価を実施した。まず、2個の検索タームを論理積もしくは論理和で結合した単純な検索式で実験した。この場合、58個の検索式のうち再現できなかった検索式は1個のみであった。検索ターム3個以上で構成される複雑な検索式については、52個の検索式のうち、完全に復元できたものは19個であった。例えば、放熱熱伝導伝熱シートやケーブル放送TVCATVなどの検索式は完全に復元できた。それ以外の33個の検索式についても、ほぼ全てのケースで部分的に復元に成功した。例えば、元の検索式LLED発光ダイオード素子に対しLED発光が生成された。部分的に復元に成功した例では、このように論理和で結合された部分が復元しきれていない場合がほとんどであった。この主な理由は、サンプリング数の不足である。先の例の場合、LED発光ダイオード素子のヒット件数は5万件を超えていたが、復元に用いた文書はその中の300件のみである。部分的にも復元できなかった検索式は、ヒット件数が数件以下の検索式であった。[実施例2]本発明の実施例2では、図12で生成した精度0.8以上の分類規則検眼眼科装置を使い、1994年訓練データの次の年公開の特許公開公報に国際特許分類A61B3を付与した結果について説明する。本実施例2では、精度94の高精度で分類コードを付与することができた。ただし、再現率は59であったため、分類コードを付与すべき文書の59にしか付与することができなかったことになる。残りの41の文書は手動もしくは別の方法で分類を行うことになるが、分類規則を使わなかった場合に比べ、付与作業を実施すべき文書数を半分以下にまで減らすことができたことになる。分類コードを自動付与する精度をさらに上げたい場合は、例えば精度が98の検眼のみを分類規則として使えばよい。また、自動生成した分類規則を元に、人間が修正を加えてもよい。"