(57)【特許請求の範囲】
【請求項１】
１以上の文書からなる母集合を検索対象の文書集合から検索するための検索条件式を生成する検索式生成部と、
任意の検索条件式を用いて前記検索対象を検索した結果を取得して前記検索式生成部に出力する検索結果取得部と、
を備え、
前記検索式生成部は、
１以上の検索タームからなる論理積を検索条件式として前記検索対象を検索した場合に得られる検索結果のうち前記母集合に含まれる文書が前記母集合に対して占める割合を示す再現率と、前記検索結果のうち前記母集合に含まれる文書が前記検索結果に対して占める割合を示す精度を、前記検索結果取得部から前記検索結果を取得して算出し、
前記再現率と前記精度を用いて構築された評価式によって前記論理積を評価し、
前記評価式による評価値が最大となる前記論理積を論理和で結合することを繰り返すことにより、積和標準形で表される前記検索条件式を生成し、
前記検索結果取得部は、
前記検索式生成部が前記精度を算出する際に、前記論理積中の各検索タームのヒット件数を、前記検索対象の検索インデックスに記録されている検索ターム毎のヒット件数から取得し、
前記検索式生成部は、
前記検索対象中の全文書数に対する前記ヒット件数の比を用いて検索ターム毎のヒット確率を推定し、前記推定したヒット確率を用いて前記精度を近似する
ことを特徴とする検索式生成装置。
【請求項２】
前記検索式生成部は、
検索ターム毎の前記推定したヒット確率を掛け合わせることにより、前記論理積を検索条件として前記検索対象を検索した場合のヒット件数を推定し、そのヒット件数を用いて前記精度を近似する
ことを特徴とする請求項１記載の検索式生成装置。
【請求項３】
前記検索式生成部は、
前記再現率または前記精度のうち少なくともいずれかを算出する際に、
前記母集合に属する各文書の検索インデックスに記録されている、前記各文書内に含まれる検索タームのリストを照会することにより、前記検索結果のうち前記母集合に含まれる文書の数を取得する
ことを特徴とする請求項１記載の検索式生成装置。
【請求項４】
前記検索式生成部は、
前記再現率または前記精度のうち少なくともいずれかを、前記母集合からサンプリングした文書集合に対して算出し、
その算出結果と前記サンプリングのサンプリング率とを用いて構築された評価式によって前記論理積を評価する
ことを特徴とする請求項１記載の検索式生成装置。
【請求項５】
前記検索結果取得部は、
前記論理積を検索条件として前記検索対象を検索した場合に得られる検索結果に含まれる各文書の重み係数を取得し、
前記検索式生成部は、
前記重み係数を用いて前記再現率または前記精度の少なくともいずれかを算出する
ことを特徴とする請求項１記載の検索式生成装置。
【請求項６】
前記検索式生成部は、
前記母集合内に含まれる文書の重み係数のうち最小のものを、前記母集合に含まれない文書の重み係数として近似する
ことを特徴とする請求項５記載の検索式生成装置。
【請求項７】
前記検索結果取得部が取得した検索結果を表示する表示部を備え、
前記検索式生成部は、
前記検索結果を得るための前記検索条件式を生成し、前記検索結果とともに前記表示部に表示させる
ことを特徴とする請求項１記載の検索式生成装置。
【請求項８】
前記表示部は、
前記検索式生成部が生成した前記検索条件式を修正するための入力欄を有し、
前記検索結果取得部は、
前記入力欄に入力された修正後の検索条件式を用いて前記文書を検索した結果を取得して前記表示部に表示させる
ことを特徴とする請求項７記載の検索式生成装置。
【請求項９】
前記検索式生成部は、
前記検索結果取得部が取得した検索結果をクラスタリングし、
前記表示部は、
前記クラスタリングで得られたクラスタ毎に前記検索結果を表示する
ことを特徴とする請求項７記載の検索式生成装置。
【請求項１０】
前記表示部は、
前記検索式生成部が生成した前記検索条件式を修正するための入力欄を、前記クラスタリングで得られたクラスタ毎に有し、
前記検索結果取得部は、
前記入力欄に入力された修正後の検索条件式を用いて前記文書を検索した結果を取得し、前記クラスタリングで得られたクラスタ毎に前記表示部に表示させる
ことを特徴とする請求項９記載の検索式生成装置。
【請求項１１】
前記検索式生成部は、
前記精度の指定値を入力として受け取り、前記指定値以上の前記精度を有する前記検索条件式を生成する
ことを特徴とする請求項１記載の検索式生成装置。
【請求項１２】
請求項１記載の検索式生成装置と、
任意の検索条件式から前記検索対象を検索する検索サーバと、
を有し、
前記検索結果取得部は、
前記検索条件式を用いて前記検索対象を検索した結果を前記検索サーバから取得する
ことを特徴とする検索システム。
【請求項１３】
１以上の文書からなる母集団を検索対象の文書集合から検索するための検索条件式を生成する検索式生成ステップと、
任意の検索条件式を用いて前記検索対象を検索した結果を取得する検索結果取得ステップと、
を有し、
前記検索式生成ステップでは、
１以上の検索タームからなる論理積を検索条件式として前記検索対象を検索した場合に得られる検索結果のうち前記母集合に含まれる文書が前記母集合に対して占める割合を示す再現率と、前記検索結果のうち前記母集合に含まれる文書が前記検索結果に対して占める割合を示す精度を、前記検索結果取得ステップにより前記検索結果を取得して算出し、
前記再現率と前記精度を用いて構築された評価式によって前記論理積を評価し、
前記評価式による評価値が最大となる前記論理積を論理和で結合することを繰り返すことにより、積和標準形で表される前記検索条件式を生成し、
前記検索結果取得ステップにおいては、
前記検索式生成ステップにおいて前記精度を算出する際に、前記論理積中の各検索タームのヒット件数を、前記検索対象の検索インデックスに記録されている検索ターム毎のヒット件数から取得し、
前記検索式生成ステップにおいては、
前記検索対象中の全文書数に対する前記ヒット件数の比を用いて検索ターム毎のヒット確率を推定し、前記推定したヒット確率を用いて前記精度を近似する
ことを特徴とする検索式生成方法。
【請求項１４】
前記精度の指定値を入力として受け取るステップを有し、
前記検索式生成ステップでは、
前記指定値以上の前記精度を有する前記検索条件式を生成する
ことを特徴とする請求項１３記載の検索式生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書を検索するための検索条件式を生成する技術に関する。
【背景技術】
【０００２】
文書検索には主に２種類の方法がある。第１の方法は、キーワード（任意の文字列）の有無を組み合わせた論理式を入力し、この論理式が真となる文書のみを検索結果として出力する方法である。この手法は一般に全文検索と呼ばれている。キーワードの有無を組み合わせた論理式のことを検索（条件）式と呼ぶ。第２の方法は、文章を入力し、その文章と類似する文書を類似度順にランク付けした検索結果を出力する方法である。この手法は一般に概念検索と呼ばれている。
【０００３】
概念検索は、検索したいトピックを文章でそのまま入力すればよいため、文書検索の専門家でない者でも容易に使うことができる。検索結果は順位付きで表示されるため、ユーザは上位にランクされた重要そうな文書から優先的に調べていくことができる。一方で、文書がなぜ上位にランクされたのか、その理由を確認することが困難である。
【０００４】
概念検索における類似度の要因となるのは、入力した文章と検索結果の文書との間の単語分布の重複、検索結果として得られた文書の文書長、などである。そのため、類似度の根拠を簡潔に表現することは難しい。また、概念検索の仕組みはブラックボックスになっており、類似度の根拠は非公開となっている場合が多い。
【０００５】
文書が検索結果として得られた根拠がわからなければ、ユーザはその検索結果をどこまで調べれば十分であるかがわからない。また、所望のトピックを検索し尽くせているかどうかも確認できない。
【０００６】
概念検索は、Ｗｅｂページの検索のように、上位少数の文書に所望の文書が１件でもあればよいという状況には向いているが、特許文献や学術論文の検索のように、あるトピックについて網羅的に調べたいという状況ではむしろ効率が悪くなる。
【０００７】
一方、全文検索は、検索したいトピックをキーワードの論理式からなる検索式で表現しなければならず、検索式を構築するためのノウハウや専門知識を必要とする。しかし、文書が検索される基準は検索式そのものであるため、ユーザにとって基準が明確でわかりやすい。検索された文書を全て調べれば、検索式で表現されているトピックの文書を全て調べつくしたといえる。
【０００８】
概念検索の課題を軽減するために、幾つかの方法が提案されている。下記特許文献１では、概念検索で検索された上位数十件の文書に特徴的に現れる単語を抽出し、検索結果とともに出力している。抽出した特徴的単語の集合を見ることにより検索結果の概略を理解することができる。
【０００９】
下記非特許文献１では、文書間の類似度に基づいて、検索結果を幾つかのグループにまとめて表示している。グループにまとめることにより、検索結果に含まれるトピックが自動的に集約されるため、特許文献１の方法よりも検索結果の特徴を把握しやすい。
【００１０】
下記非特許文献２では、検索結果からその根拠となるキーワードの論理式を生成している。同文献では、検索結果をできるだけ広くカバーするキーワードを見つける。見つけたキーワードのカバー範囲が十分でなかった場合は、残りの文書集合をカバーするキーワードを改めて見つける。この繰り返しによって、検索結果を十分にカバーすることのできるキーワードを見つけ、これらキーワードを論理積と論理和で接続して検索式を生成する。また、生成した検索式を木構造のグラフとしてユーザに提示している。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平１０−７４２１０号公報
【非特許文献】
【００１２】
【非特許文献１】“Ｓｃａｔｔｅｒ／Ｇａｔｈｅｒ：  ａ  ｃｌｕｓｔｅｒ−ｂａｓｅｄ  ａｐｐｒｏａｃｈ  ｔｏ  ｂｒｏｗｓｉｎｇ  ｌａｒｇｅ  ｄｏｃｕｍｅｎｔ  ｃｏｌｌｅｃｔｉｏｎｓ”，Ｃｕｔｔｉｎｇ，Ｄ．，Ｋａｒｇｅｒ，Ｄ．，Ｐｅｄｅｒｓｅｎ，Ｊ．，Ｔｕｋｅｙ，Ｊ．ｐｐ．３１８−３２９，ＡＣＭ  ＳＩＧＩＲ’９２，１９９２．
【非特許文献２】“検索結果の概要を表すキーワード式生成による質問修正支援”，松生泰典，是津耕司，小山聡，田中克己，データ工学ワークショップ（ＤＥＷＳ２００５），１Ｃｉ９，２００５．
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１と非特許文献１に記載されている技術では、概念検索の結果に含まれる特徴的単語を抽出し、これを概念検索の根拠として提示することができる。しかし、特徴的単語は、概念検索の根拠を必ずしも正確に表しているわけではない。
【００１４】
非特許文献２に記載されている技術では、検索漏れの少なさのみを評価基準として単語を抽出している。よって、抽出した単語が概念検索の結果以外の文書（ノイズ）にも多くヒットしてしまう可能性がある。これらの単語は概念検索の根拠としては適切ではない。
【００１５】
本発明は、上記のような課題を解決するためになされたものであり、概念検索の根拠となる検索式を正確かつ効率的に生成する技術を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係る検索式生成装置は、検索タームの論理積を論理和で結合した積和標準形で表される検索条件式を構築し、再現率（漏れの少なさ）と精度（ノイズの少なさ）を基準としてその検索条件式を評価する。次に、検索タームの論理積のうち評価値が最大となるものを論理和で結合することを繰り返し、検索条件式を構築する。
【発明の効果】
【００１７】
本発明に係る検索式生成装置によれば、検索条件式を積和標準形で表すことにより、探索空間が膨大になることを防ぐことができる。また、検索タームの論理積毎に評価値が最大になるものを探索し、これを論理和で結合しているので、積和標準形で表される検索条件式の探索空間を、論理積の項毎に効率的に探索することができる。さらには、再現率と精度を基準として検索タームの論理積毎に検索条件式を評価しているので、検索条件式を論理積毎に最適化し、検索条件式の正確性を高めることができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態１に係る検索システム１０００の構成図である。
【図２】検索式生成装置１０のディスプレイ１０４が画面表示する検索インターフェース画面２０の画面イメージ例を示す図である。
【図３】検索式を生成する対象となる母集合である文書集合Ｄ（３０１）と、生成した検索式Ｌで検索することができる文書集合Ｈ（Ｌ）（３０２）との関係を示した図である。
【図４】検索式生成部１０５が検索式Ｌを探索する処理を概念的に示す図である。
【図５】図４で説明した探索手順を説明するフローチャートである。
【図６】図５のステップＳ５０５の詳細処理を示すフローチャートである。
【図７】検索式生成部１０５がＨ（Ｌ）を近似計算する手法を説明する図である。
【図８】検索サーバ１２が備えている検索インデックス１２３の構成図である。
【図９】実施形態３における検索インデックス１２３の構成例を示す図である。
【図１０】文書集合Ｄの一部をサンプリングした上でＦ値を求める手法を説明する図である。
【図１１】実施形態７における検索インターフェース画面２０の画面イメージ例である。
【図１２】自動生成した分類規則の例を示す図である。
【発明を実施するための形態】
【００１９】
＜実施の形態１＞
図１は、本発明の実施形態１に係る検索システム１０００の構成図である。検索システム１０００は、検索式生成装置１０と検索サーバ１２を有する。これらはネットワーク１１を介して接続されている。
【００２０】
検索式生成装置１０は、文書を検索した結果として得られる検索結果から、その検索結果を得るための検索式を生成する装置である。検索式生成装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、メモリ１０２、キーボード・マウス１０３、ディスプレイ１０４、検索式生成部１０５、表示制御部１０６、データ通信部１０７を備える。
【００２１】
ＣＰＵ１０１は、検索式生成装置１０の動作を制御する処理を実行する。また、後述する各プログラムを実行する。メモリ１０２は、ＣＰＵ１０１が実行するプログラム、プログラムを実行するために必要なデータなどを記憶する記憶装置である。キーボード・マウス１０３は、ユーザからの操作入力を受け付けてＣＰＵ１０１に出力する。ディスプレイ１０４は、表示制御部１０６の指示にしたがって検索結果などを画面表示する。データ通信部１０７は、ネットワーク１１を介してデータ通信するための通信インターフェースであり、例えば、ＴＣＰ／ＩＰプロトコルを用いて通信するＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェースなどを用いて構成することができる。
【００２２】
検索式生成部１０５は、文書を検索した結果として得られる検索結果から、その検索結果を得るための検索式を生成する。検索式生成部１０５は、必要に応じて検索サーバ１２と通信し、検索式を生成するために必要なデータを収集する。
【００２３】
表示制御部１０６は、ディスプレイ１０４に、後述の図２で説明する検索インターフェース画面２０を画面表示させる。表示制御部１０６は、必要に応じて検索サーバ１２と通信し、画面表示のために必要なデータを収集する。
【００２４】
検索式生成部１０５と表示制御部１０６は、これらの機能を実現する回路デバイスなどのハードウェアを用いて構成することもできるし、同様の機能を実装したプログラムとして構成することもできる。検索式生成部１０５と表示制御部１０６をプログラムとして実装した場合、ＣＰＵ１０１はこれらプログラムを実行することにより、これら機能部の動作を実施する。
【００２５】
本発明における「検索結果取得部」は、データ通信部１０７がこれに相当する。「表示部」は、ディスプレイ１０４がこれに相当する。
【００２６】
検索サーバ１２は、文書検索を実施して検索結果を検索式生成装置１０に送信する装置である。検索サーバ１２は、ＣＰＵ１２１、メモリ１２２、検索インデックス１２３、検索部１２４、データ通信部１２５を備える。
【００２７】
ＣＰＵ１２１は、検索サーバ１２の動作を制御する処理を実行する。また、後述する各プログラムを実行する。メモリ１２２は、ＣＰＵ１２１が実行するプログラム、プログラムを実行するために必要なデータなどを記憶する記憶装置である。検索インデックス１２３は、検索対象のデータを検索に適したデータ構造（インデックス）に整形したデータである。検索インデックス１２３は、例えば磁気記憶媒体などの記憶媒体に格納することができる。データ通信部１２５はネットワーク１１を介してデータ通信する通信インターフェースであり、例えば、ＴＣＰ／ＩＰプロトコルを用いて通信するＬＡＮインターフェースなどを用いて構成することができる。
【００２８】
検索部１２４は、文書を検索するよう要求するリクエストを検索式生成装置１０から受け取り、検索インデックス１２３を用いて検索式に合致する文書を検索し、検索結果を検索式生成装置１０に送信する。
【００２９】
検索部１２４は、その機能を実現する回路デバイスなどのハードウェアを用いて構成することもできるし、同様の機能を実装したプログラムとして構成することもできる。検索部１２４をプログラムとして実装した場合、ＣＰＵ１２１はそのプログラムを実行することにより、検索部１２４の動作を実施する。
【００３０】
図２は、検索式生成装置１０のディスプレイ１０４が画面表示する検索インターフェース画面２０の画面イメージ例を示す図である。検索インターフェース画面２０は、ユーザからの操作入力を受け付け、検索結果および検索式生成部１０５が生成した検索式を画面表示する。以下、検索インターフェース画面２０の操作に係る動作手順を説明する。
（図２：動作手順ステップ１）
ユーザは、テキスト入力エリア２０１に検索要求を入力する。概念検索を実施する場合は文章を入力し、全文検索を実施する場合は検索式を入力する。ここでは、概念検索を実施する例を示した。検索要求として、「１，８−シネオールを有効成分として含有することを特徴とするヒョウダニの忌避剤。」という文章が入力されている。
（図２：動作手順ステップ２）
ユーザが検索ボタン２０４をクリックすると、表示制御部１０６はテキスト入力エリア２０１に入力されている文字列を取得し、データ通信部１０７を介して検索サーバ１２にその文字列を検索条件とする検索要求を送信する。
【００３１】
（図２：動作手順ステップ３）
検索サーバ１２は、検索式生成装置１０が送信した検索要求を受け取る。検索部１２４は、検索インデックス１２３を用いて検索要求に合致する文書を検索する。検索部１２４は、検索に合致する文書の識別子、タイトルなどを取得し、検索結果として検索式生成装置１０に送信する。
（図２：動作手順ステップ４）
表示制御部１０６は、データ通信部１０７を介して検索結果を受け取り、表示エリア２０３にリスト形式で表示する。表示エリア２０３は、検索結果に含まれる文書のタイトルなどを表示する。各タイトルの横には、選択／非選択を切り替えられるチェックボックス２０９を配置する。チェックボックスが選択状態にある文書は、検索式を生成する対象となる。デフォルトでは表示エリア２０３に表示している全文書が選択されている。全選択ボタン２０７をクリックすると、全文書を一括して選択することができる。全解除ボタン２０８をクリックすると、全文書を一括して選択解除することができる。
【００３２】
（図２：動作手順ステップ５）
ユーザが根拠ボタン２０６をクリックすると、表示制御部１０６は選択されている文書の識別子を検索式生成部１０５に渡す。検索式生成部１０５は、後述の図３〜図６で説明する手法を用いて、検索インターフェース画面２０上で選択されている文書を正確に検索することができる検索式を生成する。
（図２：動作手順ステップ６）
表示制御部１０６は、検索式生成部１０５が生成した検索式を、テキスト入力エリア２０２に表示する。ここでは「剤＊忌避＋害虫＊忌避＊成分」という検索式が表示されている。この検索式を用いて全文検索を実施すると、現在選択されている文書を正確に検索できる、ということを示唆している。ユーザは、概念検索を実施して得られた検索結果の根拠を、検索結果と等価な検索式として確認することができる。
（図２：動作手順ステップ６：補足）
図２に示す例の場合、もともとの概念検索ではテキスト入力エリア２０１に「ヒョウダニ」という言葉が入力されていたが、テキスト入力エリア２０２に表示されている検索式では、より一般的な「害虫」というキーワードが使われている。すなわち、テキスト入力エリア２０１に入力されている文章を用いた概念検索の結果は、「害虫」という一般的なキーワードを使って全文検索した結果と等価であるといえる。ユーザは、テキスト入力エリア２０１と２０２の表示内容を比較することにより、網羅的な検索が実施できているか否かを確認できる。さらに、選択されている文書の内容を調べれば、ヒョウダニを含む「害虫」に関する文書を全て調べ尽くすことができる。
【００３３】
（図２：動作手順ステップ７）
ユーザは、検索式生成部１０５が生成した検索式をテキスト入力エリア２０２上で修正することもできる。検索式を修正した後に再検索ボタン２０５をクリックすると、表示制御部１０６はテキスト入力エリア２０２に入力されている検索式を取得し、データ通信部１０７を介して検索サーバ１２にその検索式を検索条件とする検索要求を送信する。検索サーバ１２はその検索式を用いて検索を実施し、表示制御部１０６はその検索結果を表示エリア２０３に表示する。
（図２：動作手順ステップ７：補足）
例えば、現在の検索結果には、ヒョウダニ以外の害虫に関する文書も含まれている可能性がある。ヒョウダニに特化した文書のみが欲しければ、テキスト入力エリア２０２に表示されている「害虫」を「ヒョウダニ」に修正し、「剤＊忌避＋ヒョウダニ＊忌避＊成分」という検索式を用いて再度検索を実施すればよい。
【００３４】
以上、検索システム１０００の構成について説明した。次に、検索式生成部１０５が検索式を生成する手法を説明する。
【００３５】
図３は、検索式を生成する対象となる母集合である文書集合Ｄ（３０１）と、生成した検索式Ｌで検索することができる文書集合Ｈ（Ｌ）（３０２）との関係を示した図である。Ｄのみを漏れなく検索できる検索式であれば、Ｄ（３０１）とＨ（Ｌ）（３０２）が一致するため、このような条件を満たす検索式Ｌを見つけることが望ましい。ただし、文書集合Ｄの選び方によっては、このような検索式は存在しないこともある。そこで実際は、ＤとＨ（Ｌ）の積集合であるＤ∧Ｈ（Ｌ）（３０３）ができるだけ広くなるような検索式Ｌを探索することになる。本実施形態１では、そのための目的関数値としてＦ値を用いる。
【００３６】
Ｆ値は、再現率Ｒ（ｒｅｃａｌｌ）（３０４）と精度Ｐ（ｐｒｅｃｉｓｉｏｎ）（３０５）の調和平均（３０７）である。再現率Ｒは、検索式ＬによってＤを漏れなく検索できる度合いを表し、検索結果Ｈ（Ｌ）のうち文書集合Ｄに含まれる文書が文書集合Ｄに対して占める割合に相当する。精度Ｐは、検索式ＬによってＤのみを検索する度合いを表し、検索結果Ｈ（Ｌ）のうち文書集合Ｄに含まれる文書が検索結果Ｈ（Ｌ）に対して占める割合に相当する。
【００３７】
式３０７に式３０４と式３０５を代入すると、Ｆ値の式は式３０８で表される。式３０８の分母はＤ（３０１）の面積とＨ（Ｌ）（３０２）の面積の和となり、式３０８の分子はＤ（３０１）の面積とＨ（Ｌ）（３０２）の面積の積集合であるＤ∧Ｈ（Ｌ）（３０３）の面積の２倍である。ＤとＨ（Ｌ）が等しいとき、Ｆ値は最大値１となる。ＤとＨ（Ｌ）が全く重ならないとき、Ｆ値は最小値０となる。
【００３８】
なお、本実施形態１では検索式Ｌを評価する基準としてＦ値を採用し、再現率Ｒと精度Ｐを対等に調和平均しているが、重み付けをしてどちらかを重視することもできる。アプリケーションによっては、精度と再現率のいずれか一方を犠牲にしても他方を重視することが望ましいケースもあるので、このような場合にはいずれか一方を他方よりも重視した重み付けをしてもよい。
【００３９】
また、本実施形態１では検索式Ｌを評価する基準として式３０８に示すＦ値を用いているが、再現率Ｒと精度Ｐを用いる評価式であれば、式３０８以外の評価式を用いることもできる。
【００４０】
以上、検索式生成部１０５が検索式Ｌを生成する原理を説明した。検索式生成部１０５は、式３０８に示すＦ値が最大となる検索式Ｌを探索すればよい。ただし、任意の形式の検索式を用いることができるとすると、探索空間が膨大になってしまう可能性がある。この課題を探索問題と呼ぶ。本発明では、探索問題を解決するため、検索式の形式を積和標準形に限定し、検索式を構成する論理積の項毎に、Ｄを貧欲法（ｇｒｅｅｄｙ  ａｌｇｏｒｉｔｈｍ）で探索する。この探索法はＦ値の最大化と相性がよい。詳細は後述する。
【００４１】
積和標準形とは、（ａ＊ｂ＊ｃ）＋（ｄ＊ｅ）＋（ｆ＊ｇ）のように、検索タームの論理積（＊）で構成されている項が論理和（＋）で結合されている形式のことである。本発明では、積和標準形を構成する各論理積を、繰り返し処理により１項ずつ生成していく。上記例の場合、論理積は３個あるため、繰り返し処理が３回実行されることになる。
【００４２】
各繰り返し処理では、現在与えられている文書集合をできるだけ広く、かつ、ノイズの混入が少なくなるように検索できる論理積を探索する。ここでの目的関数は、前述したＦ値を用いる。
【００４３】
次に、生成した論理積で検索できる文書を、与えられた文書集合から除き、残った文書集合に対して同じ処理を繰り返す。残った文書集合がなくなるか、もしくは新たに検索できる文書の数が所定閾値以下になったら、繰り返し処理を停止する。
【００４４】
図４は、検索式生成部１０５が検索式Ｌを探索する処理を概念的に示す図である。検索式生成部１０５は、文書集合Ｄ（３０１）から所望の検索結果を得ることができる検索式Ｌを探索する。以下、図４に示す処理手順について説明する。
（図４：処理手順ステップ１）
検索式生成部１０５は、検索タームの論理積１つで構成されている検索式Ｌ１を生成する。検索式生成部１０５は、Ｆ値が最大となるＬ１を探索する。検索式生成部１０５は、Ｌ１を探索する過程において、論理積を構成する検索タームおよび検索タームの個数を最適化する。例えば、Ｌ１＝ａ＊ｂ＊ｃなどの結果が得られる。検索式Ｌ１がカバーする文書集合は、図４のＨ（Ｌ１）（３０２ａ）である。ＤとＨ（Ｌ１）が重なる部分Ｄ∧Ｈ（Ｌ１）は、図４の斜線領域３０３ａである。
（図４：処理手順ステップ２）
検索式生成部１０５は、文書集合ＤからＨ（Ｌ１）を除いた部分に対してステップ１と同様の処理を実施し、Ｆ値が最大となる検索式Ｌ２を生成する。検索式Ｌ２は、検索タームの論理積１つで構成されている。ここで得られる検索式Ｌ２は、ステップ１と同一であるとは限らない。例えば、Ｌ２＝ｄ＊ｅなどの結果が得られる。Ｌ２がカバーする文書集合は、図４のＨ（Ｌ２）（３０２ｂ）である。
【００４５】
（図４：処理手順ステップ３）
検索式生成部１０５は、文書集合ＤからＨ（Ｌ１）とＨ（Ｌ２）を除いた部分に対してステップ１と同様の処理を実施し、Ｆ値が最大となる検索式Ｌ３を生成する。検索式Ｌ３は、検索タームの論理積１つで構成されている。ここで得られる検索式Ｌ３は、ステップ１〜ステップ２と同一であるとは限らない。例えば、Ｌ３＝ｆ＊ｇなどの結果が得られる。Ｌ３がカバーする文書集合は、図４のＨ（Ｌ３）（３０２ｃ）である。
（図４：処理手順ステップ４）
検索式生成部１０５は、以上と同様の処理を、所定回数または文書集合Ｄのうちカバーできていない範囲が所定範囲以下になるまで繰り返す。ここでは繰り返し回数を３回と仮定する。検索式探索部１０５は、各ステップで得られた検索式を論理和で結合し、最終的な検索式Ｌとする。ここでは、Ｌ＝Ｌ１＋Ｌ２＋Ｌ３＝（ａ＊ｂ＊ｃ）＋（ｄ＊ｅ）＋（ｆ＊ｇ）となる。
（図４：処理手順ステップ４：補足）
図４の点線で囲われた部分が、検索式Ｌでカバーできる文書集合となる。各ステップ１〜ステップ３では、局所的にＦ値が最大となる論理積Ｌ１〜Ｌ３を生成しているため、それらを結合した積和標準形のＦ値も相応に大きな値となる。局所最適解を繰り返し取得する貪欲法を用いて検索式Ｌを生成しているため、必ずしも大域的な最大値が得られているとは限らないが、探索空間が膨大になることを回避できる。
【００４６】
図５は、図４で説明した探索手順を説明するフローチャートである。以下、図５の各ステップについて説明する。
（図５：ステップＳ５０１）
検索式生成部１０５は、文書集合Ｄを構成する各文書を取得する。Ｄの要素ｄ＿ｉは各文書の識別子である。検索式生成部１０５は、文書集合Ｄの各構成要素を検索サーバ１２に問い合わせてもよいし、ユーザが各構成要素を入力してもよい。
（図５：ステップＳ５０２）
検索式生成部１０５は、最終的な検索式Ｌを出力するための論理積集合をＯとし、Ｏを空集合で初期化する。
【００４７】
（図５：ステップＳ５０３）
検索式生成部１０５は、本処理を終了するか否かを判定するための残文書数閾値ｃ＿ｍｉｎを設定する。ｃ＿ｍｉｎについてはステップＳ５０９で改めて説明する。ｃ＿ｍｉｎの値は事前にメモリ１０２などに格納しておいてもよいし、ユーザが入力してもよい。
（図５：ステップＳ５０４）
検索式生成部１０５は、ステップＳ５０９で説明する条件が満たされるまで、以下のステップＳ５０５〜Ｓ５０８を繰り返す。
【００４８】
（図５：ステップＳ５０５）
検索式生成部１０５は、Ｆ値が最大となる検索式Ｌを探索する。検索式Ｌは、検索タームの論理積１つで構成されている。本ステップは、図４で説明したステップ１〜ステップ３それぞれにおいてＬ１〜Ｌ３を探索する処理に対応する。本ステップの詳細については図６で改めて説明する。
（図５：ステップＳ５０６）
検索式生成部１０５は、ステップＳ５０５で得られた検索式Ｌを集合Ｏの構成要素として加える。
（図５：ステップＳ５０７〜Ｓ５０８）
検索式生成部１０５は、ステップＳ５０５で得られた検索式Ｌを用いて検索することができる文書集合をＤＬとする（Ｓ５０７）。検索式生成部１０５は、文書集合ＤからＤＬを差し引いて新たな文書集合Ｄとする（Ｓ５０８）。
【００４９】
（図５：ステップＳ５０９）
検索式生成部１０５は、文書集合Ｄが空であるか、またはステップＳ５０５で新たに検索した文書数（ＤＬの要素数）が閾値ｃ＿ｍｉｎより小さくなっている場合、ステップＳ５０５〜Ｓ５０８の繰り返し処理を終了する。いずれの条件も満たしていない場合は、ステップＳ５０５に戻って同様の処理を繰り返す。
（図５：ステップＳ５０９：補足）
本ステップでは、新たに検索できる文書数がｃ＿ｍｉｎを下回った場合、繰り返し探索を終了させることになる。この終了条件は、ごく少数の文書しか検索できないような特殊な論理積を生成させないために必要となる。本実施形態１では貧欲法を用いて検索式Ｌを探索しているため、繰り返し処理が進むにつれ新たにカバーできる文書数は減少する傾向にある。よって、カバーできる文書数が増加に転じる可能性は少ないため、ＤＬの要素数がｃ＿ｍｉｎを下回った時点で、即座に繰り返し探索を終了してもよい。
（図５：ステップＳ５１０）
検索式生成部１０５は、生成した検索式が保存されているＯを表示制御部１０６に出力する。例えば最終的にＬ＝（ａ＊ｂ＊ｃ）＋（ｄ＊ｅ）＋（ｆ＊ｇ）という検索式が生成された場合、Ｏ＝｛ａ＊ｂ＊ｃ，ｄ＊ｅ，ｆ＊ｇ｝となっている。
【００５０】
図６は、図５のステップＳ５０５の詳細処理を示すフローチャートである。以下、図６の各ステップについて説明する。
（図６：ステップＳ６０１）
検索式生成部１０５は、文書集合Ｄを構成する各文書を取得する。本ステップにおける文書集合Ｄは、ステップＳ５０１およびＳ５０８で得られるＤに等しい。
【００５１】
（図６：ステップＳ６０２）
検索式生成部１０５は、ステップＳ５０５で生成する検索式の論理積を構成する候補となる検索ターム（キーワード）を収集し、これを検索ターム集合Ｔとする。Ｄ内の文書に現れる全てのタームをＴに入れてもよいし、Ｄ内で重みの高いタームのみを所定個数Ｔに入れるようにしてもよい。
（図６：ステップＳ６０２：補足１）
本ステップで検索ターム集合Ｔに入れるタームを選択する基準となる重みとして、例えばＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）値などを用いることができる。重みの値は検索サーバ１２に問い合わせてもよいし、検索式生成部１０５が計算してもよい。重みを計算するために必要なデータや重みの計算方法については、任意の公知手法を用いることができる。
（図６：ステップＳ６０２：補足２）
本実施形態１では、検索タームとして単語（形態素）を用いることを想定するが、その他に例えば文字Ｎグラムなどを用いることもできる。
【００５２】
（図６：ステップＳ６０３）
検索式生成部１０５は、探索の深さの上限ｌ＿ｍａｘを設定する。探索の深さとは、検索式Ｌに含まれる各論理積を構成する要素数に相当する。例えば、ステップＳ５０５において最大３個の検索タームの論理積を探索範囲とする場合、ｌ＿ｍａｘ＝３となる。この場合、検索タームを論理積で結合することができる最大個数は３個となる。
（図６：ステップＳ６０４）
検索式生成部１０５は、探索している地点を保持するための集合Ｂを初期化し、探索開始点を設定する。例えば開始点として、Ｔに含まれている全てのタームを、論理結合せずに集合Ｂへ登録する。この場合、例えばＢ＝｛ａ，ｂ，ｃ，・・・｝となる。集合Ｂを初期化するその他の手法として、例えばＦ値が大きい検索タームから所定個数のみを抽出してＢに登録するなどが考えられる。
【００５３】
（図６：ステップＳ６０５）
検索式生成部１０５は、集合Ｂに登録されている検索タームのなかで最もＦ値が大きいものをＢ＿ｍａｘとする。以後、Ｆ値がより大きい検索タームの論理積が得られる毎に、Ｂ＿ｍａｘを更新する。
（図６：ステップＳ６０６〜Ｓ６０７）
検索式生成部１０５は、探索の深さを示す変数ｉを初期化する（Ｓ６０６）。検索式生成部１０５は、探索深さｉが上限ｌ＿ｍａｘを超えるまで、以下のステップＳ６０７〜Ｓ６１３を繰り返す。ステップＳ６０７〜Ｓ６１３は、探索深さｉに対する探索処理である。すなわち、ステップＳ６０７〜Ｓ６１３では、幅優先探索を行っていることになる。
【００５４】
（図６：ステップＳ６０８〜Ｓ６０９）
検索式生成部１０５は、集合Ｂの構成要素のインデックスを示す変数ｊを初期化する（Ｓ６０８）。検索式生成部１０５は、集合Ｂの最終要素番号ｍに到達するまで、以下のステップＳ６１０〜Ｓ６１２を繰り返す（Ｓ６０９）。
（図６：ステップＳ６１０）
検索式生成部１０５は、集合Ｂのｊ番目の要素Ｂ＿ｊに、集合Ｔ内の１つの検索タームを論理積で結合する。論理積で結合する検索タームは、結合することによってＦ値が最も増加するものを選ぶ。すなわち本ステップでは、山登り法で検索タームを探索していることになる。
（図６：ステップＳ６１０：補足）
上記説明では、Ｆ値が最大となる論理積を結合することとしたが、Ｆ値が最大値よりも小さくなる検索タームを予備的に採用し、探索範囲を広く確保するようにしてもよい。この場合、探索が進むにつれ、現在の探索地点を保持する集合Ｂも大きくなってしまうが、集合Ｂの要素数の上限値をあらかじめ決めておき、Ｆ値が大きいものから優先的に集合Ｂに登録するなどの手法を用いることもできる。
【００５５】
（図６：ステップＳ６１１）
検索式生成部１０５は、ステップＳ６１０で新たに検索タームを結合した要素Ｂ＿ｊのＦ値が現在のＢ＿ｍａｘのＦ値より大きければ、Ｂ＿ｍａｘをＢ＿ｊで更新する。
（図６：ステップＳ６１２）
検索式生成部１０５は、変数ｊを１インクリメントする。ｊが集合Ｂの最終要素番号ｍに到達していなければステップＳ６０９に戻って同様の処理を繰り返し、到達していればステップＳ６０９〜Ｓ６１２の繰り返し処理を終了する。
【００５６】
（図６：ステップＳ６１３）
検索式生成部１０５は、変数ｉを１インクリメントする。ｉが探索深さ上限ｌ＿ｍａｘに到達していなければステップＳ６０７に戻って同様の処理を繰り返し、到達していればステップＳ６０７〜Ｓ６１３の繰り返し処理を終了する。
（図６：ステップＳ６１４）
検索式生成部１０５は、現在のＢ＿ｍａｘを本処理の結果として出力する。
【００５７】
＜実施の形態１：まとめ＞
以上、本実施形態１に係る検索式生成装置１０が検索式を生成する手法を説明した。検索式生成装置１０は、概念検索の検索結果と等価な検索式を自動生成することができる。
本実施形態１に係る検索式生成装置１０は、所望の検索結果を得るための検索式Ｌを、積和標準形で生成する。これにより、最適な検索式Ｌを探索する際の探索空間が膨大になることを防ぐことができる。
【００５８】
また、本実施形態１に係る検索式生成装置１０は、検索タームの論理積毎に所定の評価式によって評価し、評価値が最大となる論理積を論理和で結合する手順を繰り返すことにより、所望の検索結果を得ることができる検索式Ｌを生成する。これにより、検索式Ｌの探索空間を、論理積の項毎に効率的に探索することができる。この手法は、検索式Ｌを構成する論理和の項毎に最適化を実施することになるので、積和標準形を用いる手法によく適合し、検索式Ｌを効率的に生成することができる。
【００５９】
また、本実施形態１に係る検索式生成装置１０は、再現率Ｒと精度Ｐを基準として検索タームの論理積毎に検索式Ｌを評価する。これにより、検索式Ｌを論理積毎に最適化し、検索式Ｌの正確性を高めることができる。
【００６０】
＜実施の形態２＞
実施形態１では、再現率Ｒと精度Ｐを用いて検索式Ｌを評価する手法を説明した。精度Ｐを求める際には、検索式Ｌが合致する文書数、すなわちヒット件数｜Ｈ（Ｌ）｜を取得する必要があるので、検索式生成部１０５は必要に応じて検索サーバ１２に｜Ｈ（Ｌ）｜を問い合わせることができる。
【００６１】
ただし、｜Ｈ（Ｌ）｜の値は実際に検索式Ｌを用いて検索を実施してみなければ正確な値は分からない。実施形態１では、探索過程で何度も検索式Ｌを評価するため、検索サーバ１２が検索を実施する際の処理負荷が大きくなってしまう。この課題を、大域ヒット件数取得問題と呼ぶ。
【００６２】
そこで本発明の実施形態２では、実際に検索を実施することに代えて、検索式Ｌを構成するキーワード毎のヒット件数を用いて｜Ｈ（Ｌ）｜を近似する。これにより、検索負荷を低減し、大域ヒット件数取得問題を解決することを試みる。
【００６３】
なお、検索システム１０００の構成は実施形態１と同様であるため、以下では大域ヒット件数取得問題を解決するための手法を中心に説明する。
【００６４】
図７は、検索式生成部１０５がＨ（Ｌ）を近似計算する手法を説明する図である。以下図７に示す手順について式毎に説明する。
（図７：式７０１）
検索式生成部１０５は、図６の各ステップのうちＦ値を算出するステップ（Ｓ６０５とＳ６１０）を実施する際に、ヒット件数｜Ｈ（Ｌ）｜を取得する対象である検索式Ｌを取得する。検索式生成部１０５は、検索式Ｌを構成する論理積毎に｜Ｈ（Ｌ）｜を求めるので、本ステップにおけるＬは検索タームの論理積となる。ここでは、Ｌ＝ｔ＿１＊ｔ＿２＊・・・＊ｔ＿ｋと仮定する。ｔ＿ｉは各検索タームである。
（図７：式７０２）
検索式生成部１０５は、検索対象となる全文書数Ｎを取得する。Ｎの値は検索サーバ１２に問い合わせてもよいし、ユーザが入力してもよい。
【００６５】
（図７：式７０３）
ある文書が検索式（論理積）Ｌで検索できる確率をＰ（Ｌ）と定義すると、Ｌで検索できる文書数Ｈ（Ｌ）は、Ｐ（Ｌ）＊Ｎで推定することができる。
（図７：式７０４）
検索式（論理積）Ｌを構成する各検索タームｔ＿１〜ｔ＿ｋが文書内で独立に出現するものとして近似すると、Ｐ（Ｌ）≒Ｐ（ｔ＿１）＊Ｐ（ｔ＿２）＊・・・＊Ｐ（ｔ＿ｋ）となる。
【００６６】
（図７：式７０５）
Ｐ（ｔ＿ｉ）は、ある文書が検索タームｔ＿ｉで検索できる確率であり、全文書数Ｎに対するｔ＿ｉのヒット件数Ｈ（ｔ＿ｉ）の比で推定することができる。
（図７：式７０６）
以上の式７０１〜式７０５によれば、求めるＨ（Ｌ）は、検索ターム毎のヒット件数Ｈ（ｔ＿ｉ）の積を用いた式７０６で近似計算できることが分かる。検索式生成部１０５は、最終的に式７０６を用いてＨ（Ｌ）を近似計算することができる。
【００６７】
以上、｜Ｈ（Ｌ）｜を近似計算する原理を説明した。次に、｜Ｈ（Ｌ）｜を近似計算するための具体的な実装手段を説明する。
【００６８】
図８は、検索サーバ１２が備えている検索インデックス１２３の構成図である。検索式生成部１０５が各タームｔ＿ｉ毎のヒット件数Ｈ（ｔ＿ｉ）を高速に取得するためには、検索インデックス１２３が保持しているデータを用いると効果的である。
【００６９】
検索インデックス１２３は、検索タームｔ＿ｉ（８０１）、検索タームｔ＿ｉが含まれている文書のリスト（８０２）を有する。このリスト８０２の長さは、検索タームｔ＿ｉを用いて検索を実施した際のヒット件数Ｈ（ｔ＿ｉ）に等しい。検索サーバ１２は、Ｈ（ｔ＿ｉ）をあらかじめ計算して保持しておくこともできる（８０３）。いずれの場合であっても、検索式生成部１０５は、検索インデックス１２３が保持しているデータを用いることによって、Ｈ（ｔ＿ｉ）を高速に取得することができる。すなわち、｜Ｈ（Ｌ）｜を高速に近似計算することができる。
【００７０】
＜実施の形態２：まとめ＞
以上のように、本実施形態２に係る検索式生成装置１０は、検索インデックス１２３が保持している、検索タームｔ＿ｉ毎のヒット件数を取得し、その値を用いて検索式Ｌによるヒット件数｜Ｈ（Ｌ）｜を近似計算する。これにより、ヒット件数｜Ｈ（Ｌ）｜を取得する毎に検索を実施する必要がなくなり、検索負荷を低減するとともに、検索式Ｌを生成する処理を高速化することができる。
【００７１】
＜実施の形態３＞
実施形態１において、検索式生成部１０５は、再現率Ｒと精度Ｐを算出する際に、｜Ｄ∧Ｈ（Ｌ）｜を求める必要がある。｜Ｄ∧Ｈ（Ｌ）｜は、文書集合Ｄ中で検索式Ｌにヒットする文書数であるから、実際に検索してみないと正確な値はわからない。この課題を局所ヒット件数取得問題と呼ぶ。
【００７２】
局所ヒット件数｜Ｄ∧Ｈ（Ｌ）｜は、大域ヒット件数｜Ｈ（Ｌ）｜に比べて、生成する論理積の精度に大きく影響する。そのため、処理時間が許容する限り、実際に検索を実施して取得することが望ましい。現実的な時間内に｜Ｄ∧Ｈ（Ｌ）｜を取得することができない場合は、検索インデックス１２３を用いて検索式生成部１０５を補助するようにしてもよい。
【００７３】
そこで本発明の実施形態３では、各文書に含まれる検索タームのリストを、検索インデックス１２３内にあらかじめ格納しておき、これを用いて｜Ｄ∧Ｈ（Ｌ）｜を取得する手法を説明する。
【００７４】
図９は、本実施形態３における検索インデックス１２３の構成例を示す図である。本実施形態３において、検索インデックス１２３は、図８で説明した構成に加え、図９に示すデータを保持する。その他の構成は、実施形態１〜２と同様である。
【００７５】
検索インデックス１２３は、文書集合Ｄに含まれる各文書ｄ＿ｉ（９０１）について、その文書が含む検索タームのリスト（９０２）を保持する。検索式生成部１０５は、局所ヒット件数｜Ｄ∧Ｈ（Ｌ）｜を求める際に、検索式Ｌに含まれる全ての検索タームが、文書ｄ＿ｉについての検索タームリスト９０２に含まれているか否かを検索サーバ１２に問い合わせる。これにより、高速に｜Ｄ∧Ｈ（Ｌ）｜を得ることができる。
【００７６】
検索インデックス１２３が、図９に示すデータを保持しておらず、図８に示すデータのみを保持している場合は、各文書ｄ＿ｉに含まれる検索タームを解析した上で、同様の処理を実施する必要がある。もっとも、集合Ｄに含まれる文書数が少なく、現実的な時間内に｜Ｄ∧Ｈ（Ｌ）｜を取得できる場合は、必ずしも図９に示すデータを準備しておく必要はない。
【００７７】
＜実施の形態３：まとめ＞
以上のように、本実施形態３に係る検索式生成装置１００は、検索インデックス１２３が保持している、文書ｄ＿ｉ（９０１）に含まれる検索タームのリスト（９０２）を用いて、局所ヒット件数｜Ｄ∧Ｈ（Ｌ）｜を求める。これにより、各文書ｄ＿ｉに含まれる検索タームを解析した上で｜Ｄ∧Ｈ（Ｌ）｜を求める場合に比べて、処理負荷を軽減し、高速に検索式Ｌを生成することができる。
【００７８】
＜実施の形態４＞
本発明の実施形態４では、実施形態３で説明した局所ヒット件数｜Ｄ∧Ｈ（Ｌ）｜を高速に求める手法に代えて、サンプリングを用いた近似的手法により｜Ｄ∧Ｈ（Ｌ）｜を推定する手順を説明する。その他の構成は実施形態３と同様である。
【００７９】
図１０は、文書集合Ｄの一部をサンプリングした上でＦ値を求める手法を説明する図である。サンプリング方法としては、ランダムサンプリングを用いることが望ましい。図１０の集合Ｓ（３０１１）は、文書集合Ｄ（３０１）から一部をサンプリングして得た文書集合である。
【００８０】
ランダムサンプリングで集合Ｓを抽出しているため、集合Ｄに関する統計量は、集合Ｓに関する統計量に係数｜Ｄ｜／｜Ｓ｜を乗算することで推定できる。したがって、局所ヒット件数｜Ｄ∧Ｈ（Ｌ）｜は、集合Ｓについての局所ヒット件数｜Ｓ∧Ｈ（Ｌ）｜に係数｜Ｄ｜／｜Ｓ｜を乗算して推定することができる。
【００８１】
以上から、文書集合ＤのＦ値を算出するための計算式１００１は、図１０の計算式１００２で近似することができる。検索式生成部１０５は、計算式１００２を用いてＦ値を近似計算すればよい。計算式１００２を用いることにより、集合Ｄよりも文書数が少ない集合Ｓの範囲内で局所ヒット件数を取得するので、Ｆ値を求める処理負荷を低減し、より高速に検索式Ｌを生成することができる。
【００８２】
＜実施の形態５＞
実施形態４で説明した計算式１００２は、論理積Ｌの目標ヒット件数Ｘを設定するために使うこともできる。ここでは、構成要素が不明な要素数Ｘの文書集合Ｄのうち一部を抽出した集合Ｓが与えられており、文書集合Ｄを検索する論理積Ｌを生成することを目的として設定する。所与の文書集合Ｓは、要素数Ｘの仮想的な文書集合Ｄからランダムサンプリングで抽出されたものと仮定する。
【００８３】
この場合、文書集合Ｄのみを正確に検索することができる検索式Ｌを生成すれば、結果としてヒット件数がＸとなる検索式Ｌを得ることができる。したがって、検索式生成部１０５は、Ｆ値＝１、｜Ｄ｜＝Ｘ、｜Ｈ（Ｌ）｜＝Ｘ、を代入した計算式１００１が成立するような検索式Ｌを目指して探索すればよいことになる。文書集合Ｓが与えられている場合は、計算式１００２の｜Ｓ｜にＳの要素数を代入した上で、同式が成立するような検索式Ｌを探索すればよい。
【００８４】
ここで設定した｜Ｄ｜＝Ｘは目標値であるから、検索式生成部１０５は、必ずしも正確にＸ件ヒットする検索式Ｌを生成できるとは限らないが、探索が網羅的であれば、目標ヒット件数Ｘにより近づくことができると思われる。
【００８５】
＜実施の形態６＞
本発明の実施形態６では、文書集合Ｄを構成する文書の重み（検索スコア）を考慮した動作例を説明する。検索システム１０００の構成は、実施形態１〜５と同様である。
【００８６】
概念検索では、検索結果は一般に、検索条件として入力した文章に対する類似度によってランク付けされた状態で得られる。例えば、概念検索の結果から上位１００件を選んで集合Ｄとし、集合Ｄと等価な検索式Ｌを生成することを考える。同じ９９件が検索できる検索式であっても、検索ランク１位の文書を検索できなかった検索式よりも、検索ランク１００位の文書を検索できなかった検索式の方が、より正確に集合Ｄを表していると言える。つまり、同じ文書数をカバーする検索式であっても、上位の文書をより多くカバーする検索式の方が好ましいといえる。
【００８７】
本実施形態６において、検索式生成部１０５は、検索ランクが上位の文書をより多く検索する検索式Ｌが生成できるように、Ｆ値を計算する際に、検索スコアを加味する。検索スコアとは、検索結果をランク付けするために用いられる評価値であり、スコア値が高いほど上位にランクされることになる。
【００８８】
検索式生成部１０５は、検索スコアが高い文書を優先的に検索することができるような検索式Ｌを生成するため、計算式３０４の｜Ｄ｜（集合Ｄ内の文書数）に代えて、集合Ｄ内の文書の検索スコア総和を用いる。同様に｜Ｄ∧Ｈ（Ｌ）｜に代えて、検索式Ｌでヒットした集合Ｄ内の文書の検索スコア総和を用いる。これにより、計算式３０４で算出する再現率Ｒは、検索式Ｌでカバーすることのできる文書の検索スコアを加味した値となる。
【００８９】
同様に検索式生成部１０５は、計算式３０５の｜Ｈ（Ｌ）｜に代えて、検索式Ｌを用いて検索するとヒットする文書の検索スコア総和を用いる。ただし、集合Ｄに含まれない文書の検索スコアを取得するのは困難であるため、それらの文書の検索スコアは集合Ｄ内の文書の最小検索スコアとする。計算式３０５の｜Ｄ∧Ｈ（Ｌ）｜については、計算式３０４と同様である。
【００９０】
なお、各文書の検索スコアは、データ通信部１０７が検索サーバ１２から検索結果を取得する際にこれと併せて取得すればよい。
【００９１】
＜実施の形態６：まとめ＞
以上のように、本実施形態６に係る検索式生成装置１０は、検索式Ｌを評価する際に、検索スコアを加味した評価式を用いる。これにより、検索ランクが上位の文書を優先して検索することができる検索式Ｌを得られるので、検索ニーズに適合した検索式を生成することができる。
【００９２】
＜実施の形態７＞
本発明の実施形態７では、検索結果をクラスタリングして、それぞれのクラスタに対して検索式を生成して表示する構成を説明する。クラスタリングに係る処理および画面表示以外については実施形態１〜６と同様であるため、以下では差異点を中心に説明する。
【００９３】
本実施形態７において、検索式生成部１０５は、検索結果として得られた文書集合をクラスタリングする。クラスタリングとは、文書集合を部分集合（クラスタ）に分割する処理である。各部分集合には、互いに類似する文書が集められる。検索式生成部１０５は、任意の公知なクラスタリング手法を用いることができる。
【００９４】
クラスタリングによって検索結果を部分集合に分割すると、検索結果が関連するトピック毎に整理されるため、検索結果の見通しがよくなり絞り込みやすくなる。一方、各クラスタに含まれる文書がどのようなトピックを有しているかを確認するのは難しい。非特許文献１のような従来技術では、各クラスタに含まれる特徴的語句を検索結果とともに表示しているが、特徴的語句のみではそのクラスタに含まれるトピックを十分に表すことが難しい。そこで本実施形態７では、各クラスタに含まれる文書集合を検索することのできる検索式を生成して、クラスタと併記して表示する。
【００９５】
図１１は、本実施形態７における検索インターフェース画面２０の画面イメージ例である。以下、図１１の検索インターフェース画面２０の操作に係る動作手順を説明する。
（図１１：動作手順ステップ１）
ユーザは、テキスト入力エリア１１０１に検索要求を入力する。概念検索を実施する場合は文章を入力し、全文検索を実施する場合は検索式を入力する。ここでは、概念検索を実施する例を示した。検索要求として、「写真を撮影するためのまたは写真を投影もしくは直視するための装置」という文章が入力されている。
（図１１：動作手順ステップ２〜ステップ３）
ユーザが検索ボタン１１０２をクリックすると、図２のステップ２〜ステップ３で説明したものと同様の処理が実施される。
【００９６】
（図１１：動作手順ステップ４）
表示制御部１０６は、データ通信部１０７を介して検索結果を受け取る。検索式生成部１０５は、検索結果に含まれる文書集合をクラスタリングして部分集合に分割する。表示制御部１０６は、クラスタ毎に表示エリア１１０４を設け、各表示エリア１１０４にクラスタ内の文書リストを表示する。表示エリア１１０４の表示内容は、図２と同様である。
（図１１：動作手順ステップ５）
表示制御部１０６は、クラスタ毎に根拠ボタン１１０６を設ける。ユーザが根拠ボタン１１０６をクリックすると、表示制御部１０６は表示エリア１１０４内で選択されている文書の識別子を検索式生成部１０５に渡す。検索式生成部１０５は、クラスタ内で選択されている文書集合を検索することのできる検索式を生成する。ユーザは、クラスタの文書から必要な文書のみを選ぶことにより、クラスタに含まれる文書リストを自分の好みに合わせて修正することができる。
【００９７】
（図１１：動作手順ステップ６）
表示制御部１０６は、クラスタ毎にテキスト入力エリア１１０３を設ける。表示制御部１０６は、検索式生成部１０５が生成したクラスタ毎の検索式を、テキスト入力エリア１１０３に表示する。
（図１１：動作手順ステップ７）
ユーザは、テキスト入力エリア１１０３に表示されている検索式を直接修正することもできる。ユーザが再検索ボタン１１０５をクリックすると、表示制御部１０６はテキスト入力エリア１１０３に入力されている検索式を取得し、データ通信部１０７を介して検索サーバ１２にその検索式を検索条件とする検索要求を送信する。検索サーバ１２はその検索式を用いて検索を実施し、表示制御部１０６はその検索結果を表示エリア１１０４に表示する。
【００９８】
＜実施の形態７：まとめ＞
以上のように、本実施形態７に係る検索式生成装置１０は、検索結果をクラスタリングし、クラスタ毎に検索結果を表示する。また、各クラスタに含まれる文書を検索することのできる検索式をクラスタ毎に生成する。これにより、ユーザはクラスタ毎の特徴を容易に把握することができる。
【００９９】
また、本実施形態７に係る検索式生成装置１０は、クラスタ毎に検索式を修正して再検索することができる。これにより、ユーザは実施形態１と同様の効果を、クラスタ毎に得ることができる。
【０１００】
＜実施の形態８＞
本発明の実施形態８では、実施形態１〜７で説明した検索式生成装置１０を用いて、文書分類コードを自動的に付与する規則を生成する手法を説明する。
【０１０１】
文書分類コードとは、文書をその内容の特徴毎に分類した上で、各分類に付与する識別コードのことである。各分類に含まれる文書は、同様のキーワードを有していることが多いため、分類コード毎に適切な検索式が生成できれば、同じ検索式を用いて検索することのできる文書は同じ分類に属する可能性が高い。本実施形態８では、このことを利用して、検索式を分類規則として用いる。
【０１０２】
検索式生成部１０５は、既に分類コードＣが付いている文書集合（正解訓練データ）Ｄを対象に検索式Ｌを生成する。次にまだ分類コードが付いていない文書ｄ（テストデータ）を、生成した検索式Ｌによって検索することができるか否かを判定する。文書ｄを検索式Ｌによって検索することができれば、文書ｄは分類コードＣを持つと予測することができる。このようにして、正解訓練データから生成した検索式Ｌにより、テストデータに分類コードを自動的に付与することができる。
【０１０３】
文書を自動分類する手法は様々あるが、本実施形態８の利点は、分類規則（生成した検索式）の精度（ｐｒｅｃｉｓｉｏｎ）を自由に設定できる点にある。また、分類規則は論理式そのものであるため、ユーザにとって理解しやすい。ユーザは、必要であれば、自動生成された分類規則を修正することもできる。分類規則は、論理式の形で判りやすいので修正も容易である。
【０１０４】
図１２は、自動生成した分類規則の例を示す図である。この例では、国際特許分類Ａ６１Ｂ３「眼の検査装置；眼の診察装置」というＩＰＣコードを持つ１９９３年公開の特許公開公報の集合を正解訓練データとし、これから検索式を自動生成した。
【０１０５】
実施形態１で説明した方法を使うと、「（検眼）＋（検＊者）＋（眼科＊装置）＋（光学＊撮影＊系）」という検索式を生成することができた。この検索式を分類規則としてそのまま用い、例えば１９９４年公開の特許公開公報に分類コードを自動付与することができる。または、ユーザが分類規則を修正してもよい。
【０１０６】
次に、一度生成した分類規則に基づき、精度（ｐｒｅｃｉｓｉｏｎ）がある値以上の分類規則を改めて構築する方法を説明する。
【０１０７】
文書分類には、精度（ｐｒｅｃｉｓｉｏｎ）と再現率（ｒｅｃａｌｌ）という評価基準がある。例えば、図１２で説明した例において「眼科＊装置」という分類規則を考える。
【０１０８】
再現率とは、正解データ（Ａ６１Ｂ３に分類される文書）中で、「眼科＊装置」にヒットする文書の割合のことである。つまり、「眼科＊装置」で正解がどれだけカバーできるかを表す。精度とは、「眼科＊装置」でヒットする全文書に占める正解データの割合である。つまり、「眼科＊装置」がどれだけ正確な分類規則であるかを表す。
【０１０９】
精度が１００％に近い分類規則であれば、その分類規則にヒットした文書は、ほぼ間違いなく目的の分類コードを付与してもよいことになる。分類規則にヒットしなかった文書についてのみ、ユーザが手作業で類コードを付与すればよいため、分類コード付与作業に係るコストを削減することができる。以下、所定以上の精度を有する分類規則を生成する手順を、図１２にしたがって説明する。
【０１１０】
（図１２：分類規則生成手順ステップ１）
検索式生成部１０５は、実施形態１〜７で説明した手順を用いて、検索式Ｌを構成する各論理積に対し、訓練データ中における精度と再現率を計算する。ここでは、図１２の上半分に示す４つの論理積「検眼」「検＊者」「眼科＊装置」「光学＊撮影＊系」が得られたものとする。
（図１２：分類規則生成手順ステップ２）
ユーザは、所望の精度値を検索式生成装置１０に入力する。ここでは精度≧０．８を指定したものとする。
【０１１１】
（図１２：分類規則生成手順ステップ３）
検索式生成部１０５は、精度が０．８以上の論理積のみを抽出して論理和で結合する。これにより、訓練データに関して０．８以上の精度を有する検索式「（検眼）＋（眼科＊装置）」を生成することができる。なお、精度の値は正解訓練データを用いて算出する。
（図１２：分類規則生成手順ステップ４）
検索式生成装置１０は、ステップ３で得られた検索式を、分類規則としてユーザに提示する。これにより、目標とする精度を指定して、分類規則を自動生成することができる。目標精度を十分高くして生成した分類規則を用いれば、分類コードを十分な精度で自動付与することができる。
【０１１２】
＜実施の形態８：まとめ＞
以上のように、本実施形態８に係る検索式生成装置１０は、指定された以上の精度を有する検索式を生成し、文書分類規則として提示する。これにより、文書に分類コードを自動的に高精度で付与することができる。
【０１１３】
＜実施の形態９＞
以上の実施形態１〜８において、検索式生成部１０５は検索サーバ１２に配置してもよい。また、実施形態７のように検索結果をクラスタリングする場合、クラスタリング処理を実施する機能部を、検索式生成部１０５とは別に新たに設けてもよい。
【０１１４】
クラスタリングを実施する機能部は、検索式生成装置１０に配置してもよいし、検索サーバ１２に配置してもよい。検索サーバ１２がクラスタリング機能部を備える場合は、検索サーバ１２が検索結果をクラスタリングし、クラスタ（文書集合）のリストを検索式生成装置１０に送信する。
【０１１５】
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【０１１６】
また、上記各構成、機能、処理部などは、それらの全部または一部を、例えば集積回路で設計することによりハードウェアとして実現することもできるし、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアとして実現することもできる。各機能を実現するプログラム、テーブルなどの情報は、メモリやハードディスクなどの記憶装置、ＩＣカード、ＤＶＤなどの記憶媒体に格納することができる。
【実施例】
【０１１７】
［実施例１］
本発明の実施例１では、実施形態１で説明した検索式の精度について評価した結果を説明する。精度を評価するために、ある検索式Ｌを用いて実際に文書を検索し、検索された文書集合から検索式を生成し、元の検索式Ｌが復元できるかどうかを確かめた。なお、検索式Ｌを用いた検索結果が３００件を超える場合は、３００個の文書をサンプリングして評価を実施した。
【０１１８】
まず、２個の検索タームを論理積もしくは論理和で結合した単純な検索式で実験した。この場合、５８個の検索式のうち再現できなかった検索式は１個のみであった。
【０１１９】
検索ターム３個以上で構成される複雑な検索式については、５２個の検索式のうち、完全に復元できたものは１９個であった。例えば、「（放熱＋（熱＊伝導）＋（伝＊熱））＊シート」や「（ケーブル＊（放送＋ＴＶ））＋ＣＡＴＶ」などの検索式は完全に復元できた。それ以外の３３個の検索式についても、ほぼ全てのケースで部分的に復元に成功した。例えば、元の検索式Ｌ「ＬＥＤ＋（発光＊（ダイオード＋素子））」に対し「ＬＥＤ＋発光」が生成された。
【０１２０】
部分的に復元に成功した例では、このように論理和で結合された部分が復元しきれていない場合がほとんどであった。この主な理由は、サンプリング数の不足である。先の例の場合、「ＬＥＤ＋（発光＊（ダイオード＋素子））」のヒット件数は５万件を超えていたが、復元に用いた文書はその中の３００件のみである。部分的にも復元できなかった検索式は、ヒット件数が数件以下の検索式であった。
【０１２１】
［実施例２］
本発明の実施例２では、図１２で生成した精度０．８以上の分類規則「（検眼）＋（眼科＊装置）」を使い、１９９４年（訓練データの次の年）公開の特許公開公報に国際特許分類Ａ６１Ｂ３を付与した結果について説明する。
【０１２２】
本実施例２では、精度９４％の高精度で分類コードを付与することができた。ただし、再現率は５９％であったため、分類コードを付与すべき文書の５９％にしか付与することができなかったことになる。
【０１２３】
残りの４１％の文書は手動もしくは別の方法で分類を行うことになるが、分類規則を使わなかった場合に比べ、付与作業を実施すべき文書数を半分以下にまで減らすことができたことになる。
【０１２４】
分類コードを自動付与する精度をさらに上げたい場合は、例えば精度が９８％の「検眼」のみを分類規則として使えばよい。また、自動生成した分類規則を元に、人間が修正を加えてもよい。
【符号の説明】
【０１２５】
１０：検索式生成装置、１０１：ＣＰＵ、１０２：メモリ、１０３：キーボード・マウス、１０４：ディスプレイ、１０５：検索式生成部、１０６：表示制御部、１０７：データ通信部、１１：ネットワーク、１２：検索サーバ、１２１：ＣＰＵ、１２２：メモリ、１２３：検索インデックス、１２４：検索部、１２５：データ通信部、２０１：テキスト入力エリア、２０２：テキスト入力エリア、２０３：表示エリア、２０４：検索ボタン、２０５：再検索ボタン、２０６：根拠ボタン、２０７：全選択ボタン、２０８：全解除ボタン、２０９：チェックボックス、１１０１：テキスト入力エリア、１１０２：検索ボタン、１１０３：テキスト入力エリア、１１０４：表示エリア、１１０５：再検索ボタン、１１０６：根拠ボタン、１０００：検索システム。
【図１】
0005552448.tif 000002
【図２】
0005552448.tif 000003
【図３】
0005552448.tif 000004
【図４】
0005552448.tif 000005
【図５】
0005552448.tif 000006
【図６】
0005552448.tif 000007
【図７】
0005552448.tif 000008
【図８】
0005552448.tif 000009
【図９】
0005552448.tif 000010
【図１０】
0005552448.tif 000011
【図１１】
0005552448.tif 000012
【図１２】
0005552448.tif 000013