説明

検索式生成装置、検索システム、検索式生成方法

【課題】概念検索の根拠となる検索式を正確かつ効率的に生成する技術を提供する。
【解決手段】本発明に係る検索式生成装置は、検索タームの論理積を論理和で結合した積和標準形で表される検索条件式を構築し、再現率と精度を基準としてその検索条件式を評価する。次に、検索タームの論理積のうち評価値が最大となるものを論理和で結合することを繰り返し、検索条件式を構築する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書を検索するための検索条件式を生成する技術に関する。
【背景技術】
【0002】
文書検索には主に2種類の方法がある。第1の方法は、キーワード(任意の文字列)の有無を組み合わせた論理式を入力し、この論理式が真となる文書のみを検索結果として出力する方法である。この手法は一般に全文検索と呼ばれている。キーワードの有無を組み合わせた論理式のことを検索(条件)式と呼ぶ。第2の方法は、文章を入力し、その文章と類似する文書を類似度順にランク付けした検索結果を出力する方法である。この手法は一般に概念検索と呼ばれている。
【0003】
概念検索は、検索したいトピックを文章でそのまま入力すればよいため、文書検索の専門家でない者でも容易に使うことができる。検索結果は順位付きで表示されるため、ユーザは上位にランクされた重要そうな文書から優先的に調べていくことができる。一方で、文書がなぜ上位にランクされたのか、その理由を確認することが困難である。
【0004】
概念検索における類似度の要因となるのは、入力した文章と検索結果の文書との間の単語分布の重複、検索結果として得られた文書の文書長、などである。そのため、類似度の根拠を簡潔に表現することは難しい。また、概念検索の仕組みはブラックボックスになっており、類似度の根拠は非公開となっている場合が多い。
【0005】
文書が検索結果として得られた根拠がわからなければ、ユーザはその検索結果をどこまで調べれば十分であるかがわからない。また、所望のトピックを検索し尽くせているかどうかも確認できない。
【0006】
概念検索は、Webページの検索のように、上位少数の文書に所望の文書が1件でもあればよいという状況には向いているが、特許文献や学術論文の検索のように、あるトピックについて網羅的に調べたいという状況ではむしろ効率が悪くなる。
【0007】
一方、全文検索は、検索したいトピックをキーワードの論理式からなる検索式で表現しなければならず、検索式を構築するためのノウハウや専門知識を必要とする。しかし、文書が検索される基準は検索式そのものであるため、ユーザにとって基準が明確でわかりやすい。検索された文書を全て調べれば、検索式で表現されているトピックの文書を全て調べつくしたといえる。
【0008】
概念検索の課題を軽減するために、幾つかの方法が提案されている。下記特許文献1では、概念検索で検索された上位数十件の文書に特徴的に現れる単語を抽出し、検索結果とともに出力している。抽出した特徴的単語の集合を見ることにより検索結果の概略を理解することができる。
【0009】
下記非特許文献1では、文書間の類似度に基づいて、検索結果を幾つかのグループにまとめて表示している。グループにまとめることにより、検索結果に含まれるトピックが自動的に集約されるため、特許文献1の方法よりも検索結果の特徴を把握しやすい。
【0010】
下記非特許文献2では、検索結果からその根拠となるキーワードの論理式を生成している。同文献では、検索結果をできるだけ広くカバーするキーワードを見つける。見つけたキーワードのカバー範囲が十分でなかった場合は、残りの文書集合をカバーするキーワードを改めて見つける。この繰り返しによって、検索結果を十分にカバーすることのできるキーワードを見つけ、これらキーワードを論理積と論理和で接続して検索式を生成する。また、生成した検索式を木構造のグラフとしてユーザに提示している。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開平10−74210号公報
【非特許文献】
【0012】
【非特許文献1】“Scatter/Gather: a cluster−based approach to browsing large document collections”,Cutting,D.,Karger,D.,Pedersen,J.,Tukey,J.pp.318−329,ACM SIGIR’92,1992.
【非特許文献2】“検索結果の概要を表すキーワード式生成による質問修正支援”,松生泰典,是津耕司,小山聡,田中克己,データ工学ワークショップ(DEWS2005),1Ci9,2005.
【発明の概要】
【発明が解決しようとする課題】
【0013】
特許文献1と非特許文献1に記載されている技術では、概念検索の結果に含まれる特徴的単語を抽出し、これを概念検索の根拠として提示することができる。しかし、特徴的単語は、概念検索の根拠を必ずしも正確に表しているわけではない。
【0014】
非特許文献2に記載されている技術では、検索漏れの少なさのみを評価基準として単語を抽出している。よって、抽出した単語が概念検索の結果以外の文書(ノイズ)にも多くヒットしてしまう可能性がある。これらの単語は概念検索の根拠としては適切ではない。
【0015】
本発明は、上記のような課題を解決するためになされたものであり、概念検索の根拠となる検索式を正確かつ効率的に生成する技術を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明に係る検索式生成装置は、検索タームの論理積を論理和で結合した積和標準形で表される検索条件式を構築し、再現率(漏れの少なさ)と精度(ノイズの少なさ)を基準としてその検索条件式を評価する。次に、検索タームの論理積のうち評価値が最大となるものを論理和で結合することを繰り返し、検索条件式を構築する。
【発明の効果】
【0017】
本発明に係る検索式生成装置によれば、検索条件式を積和標準形で表すことにより、探索空間が膨大になることを防ぐことができる。また、検索タームの論理積毎に評価値が最大になるものを探索し、これを論理和で結合しているので、積和標準形で表される検索条件式の探索空間を、論理積の項毎に効率的に探索することができる。さらには、再現率と精度を基準として検索タームの論理積毎に検索条件式を評価しているので、検索条件式を論理積毎に最適化し、検索条件式の正確性を高めることができる。
【図面の簡単な説明】
【0018】
【図1】実施形態1に係る検索システム1000の構成図である。
【図2】検索式生成装置10のディスプレイ104が画面表示する検索インターフェース画面20の画面イメージ例を示す図である。
【図3】検索式を生成する対象となる母集合である文書集合D(301)と、生成した検索式Lで検索することができる文書集合H(L)(302)との関係を示した図である。
【図4】検索式生成部105が検索式Lを探索する処理を概念的に示す図である。
【図5】図4で説明した探索手順を説明するフローチャートである。
【図6】図5のステップS505の詳細処理を示すフローチャートである。
【図7】検索式生成部105がH(L)を近似計算する手法を説明する図である。
【図8】検索サーバ12が備えている検索インデックス123の構成図である。
【図9】実施形態3における検索インデックス123の構成例を示す図である。
【図10】文書集合Dの一部をサンプリングした上でF値を求める手法を説明する図である。
【図11】実施形態7における検索インターフェース画面20の画面イメージ例である。
【図12】自動生成した分類規則の例を示す図である。
【発明を実施するための形態】
【0019】
<実施の形態1>
図1は、本発明の実施形態1に係る検索システム1000の構成図である。検索システム1000は、検索式生成装置10と検索サーバ12を有する。これらはネットワーク11を介して接続されている。
【0020】
検索式生成装置10は、文書を検索した結果として得られる検索結果から、その検索結果を得るための検索式を生成する装置である。検索式生成装置10は、CPU(Central Processing Unit)101、メモリ102、キーボード・マウス103、ディスプレイ104、検索式生成部105、表示制御部106、データ通信部107を備える。
【0021】
CPU101は、検索式生成装置10の動作を制御する処理を実行する。また、後述する各プログラムを実行する。メモリ102は、CPU101が実行するプログラム、プログラムを実行するために必要なデータなどを記憶する記憶装置である。キーボード・マウス103は、ユーザからの操作入力を受け付けてCPU101に出力する。ディスプレイ104は、表示制御部106の指示にしたがって検索結果などを画面表示する。データ通信部107は、ネットワーク11を介してデータ通信するための通信インターフェースであり、例えば、TCP/IPプロトコルを用いて通信するLAN(Local Area Network)インターフェースなどを用いて構成することができる。
【0022】
検索式生成部105は、文書を検索した結果として得られる検索結果から、その検索結果を得るための検索式を生成する。検索式生成部105は、必要に応じて検索サーバ12と通信し、検索式を生成するために必要なデータを収集する。
【0023】
表示制御部106は、ディスプレイ104に、後述の図2で説明する検索インターフェース画面20を画面表示させる。表示制御部106は、必要に応じて検索サーバ12と通信し、画面表示のために必要なデータを収集する。
【0024】
検索式生成部105と表示制御部106は、これらの機能を実現する回路デバイスなどのハードウェアを用いて構成することもできるし、同様の機能を実装したプログラムとして構成することもできる。検索式生成部105と表示制御部106をプログラムとして実装した場合、CPU101はこれらプログラムを実行することにより、これら機能部の動作を実施する。
【0025】
本発明における「検索結果取得部」は、データ通信部107がこれに相当する。「表示部」は、ディスプレイ104がこれに相当する。
【0026】
検索サーバ12は、文書検索を実施して検索結果を検索式生成装置10に送信する装置である。検索サーバ12は、CPU121、メモリ122、検索インデックス123、検索部124、データ通信部125を備える。
【0027】
CPU121は、検索サーバ12の動作を制御する処理を実行する。また、後述する各プログラムを実行する。メモリ122は、CPU121が実行するプログラム、プログラムを実行するために必要なデータなどを記憶する記憶装置である。検索インデックス123は、検索対象のデータを検索に適したデータ構造(インデックス)に整形したデータである。検索インデックス123は、例えば磁気記憶媒体などの記憶媒体に格納することができる。データ通信部125はネットワーク11を介してデータ通信する通信インターフェースであり、例えば、TCP/IPプロトコルを用いて通信するLANインターフェースなどを用いて構成することができる。
【0028】
検索部124は、文書を検索するよう要求するリクエストを検索式生成装置10から受け取り、検索インデックス123を用いて検索式に合致する文書を検索し、検索結果を検索式生成装置10に送信する。
【0029】
検索部124は、その機能を実現する回路デバイスなどのハードウェアを用いて構成することもできるし、同様の機能を実装したプログラムとして構成することもできる。検索部124をプログラムとして実装した場合、CPU121はそのプログラムを実行することにより、検索部124の動作を実施する。
【0030】
図2は、検索式生成装置10のディスプレイ104が画面表示する検索インターフェース画面20の画面イメージ例を示す図である。検索インターフェース画面20は、ユーザからの操作入力を受け付け、検索結果および検索式生成部105が生成した検索式を画面表示する。以下、検索インターフェース画面20の操作に係る動作手順を説明する。
(図2:動作手順ステップ1)
ユーザは、テキスト入力エリア201に検索要求を入力する。概念検索を実施する場合は文章を入力し、全文検索を実施する場合は検索式を入力する。ここでは、概念検索を実施する例を示した。検索要求として、「1,8−シネオールを有効成分として含有することを特徴とするヒョウダニの忌避剤。」という文章が入力されている。
(図2:動作手順ステップ2)
ユーザが検索ボタン204をクリックすると、表示制御部106はテキスト入力エリア201に入力されている文字列を取得し、データ通信部107を介して検索サーバ12にその文字列を検索条件とする検索要求を送信する。
【0031】
(図2:動作手順ステップ3)
検索サーバ12は、検索式生成装置10が送信した検索要求を受け取る。検索部124は、検索インデックス123を用いて検索要求に合致する文書を検索する。検索部124は、検索に合致する文書の識別子、タイトルなどを取得し、検索結果として検索式生成装置10に送信する。
(図2:動作手順ステップ4)
表示制御部106は、データ通信部107を介して検索結果を受け取り、表示エリア203にリスト形式で表示する。表示エリア203は、検索結果に含まれる文書のタイトルなどを表示する。各タイトルの横には、選択/非選択を切り替えられるチェックボックス209を配置する。チェックボックスが選択状態にある文書は、検索式を生成する対象となる。デフォルトでは表示エリア203に表示している全文書が選択されている。全選択ボタン207をクリックすると、全文書を一括して選択することができる。全解除ボタン208をクリックすると、全文書を一括して選択解除することができる。
【0032】
(図2:動作手順ステップ5)
ユーザが根拠ボタン206をクリックすると、表示制御部106は選択されている文書の識別子を検索式生成部105に渡す。検索式生成部105は、後述の図3〜図6で説明する手法を用いて、検索インターフェース画面20上で選択されている文書を正確に検索することができる検索式を生成する。
(図2:動作手順ステップ6)
表示制御部106は、検索式生成部105が生成した検索式を、テキスト入力エリア202に表示する。ここでは「剤*忌避+害虫*忌避*成分」という検索式が表示されている。この検索式を用いて全文検索を実施すると、現在選択されている文書を正確に検索できる、ということを示唆している。ユーザは、概念検索を実施して得られた検索結果の根拠を、検索結果と等価な検索式として確認することができる。
(図2:動作手順ステップ6:補足)
図2に示す例の場合、もともとの概念検索ではテキスト入力エリア201に「ヒョウダニ」という言葉が入力されていたが、テキスト入力エリア202に表示されている検索式では、より一般的な「害虫」というキーワードが使われている。すなわち、テキスト入力エリア201に入力されている文章を用いた概念検索の結果は、「害虫」という一般的なキーワードを使って全文検索した結果と等価であるといえる。ユーザは、テキスト入力エリア201と202の表示内容を比較することにより、網羅的な検索が実施できているか否かを確認できる。さらに、選択されている文書の内容を調べれば、ヒョウダニを含む「害虫」に関する文書を全て調べ尽くすことができる。
【0033】
(図2:動作手順ステップ7)
ユーザは、検索式生成部105が生成した検索式をテキスト入力エリア202上で修正することもできる。検索式を修正した後に再検索ボタン205をクリックすると、表示制御部106はテキスト入力エリア202に入力されている検索式を取得し、データ通信部107を介して検索サーバ12にその検索式を検索条件とする検索要求を送信する。検索サーバ12はその検索式を用いて検索を実施し、表示制御部106はその検索結果を表示エリア203に表示する。
(図2:動作手順ステップ7:補足)
例えば、現在の検索結果には、ヒョウダニ以外の害虫に関する文書も含まれている可能性がある。ヒョウダニに特化した文書のみが欲しければ、テキスト入力エリア202に表示されている「害虫」を「ヒョウダニ」に修正し、「剤*忌避+ヒョウダニ*忌避*成分」という検索式を用いて再度検索を実施すればよい。
【0034】
以上、検索システム1000の構成について説明した。次に、検索式生成部105が検索式を生成する手法を説明する。
【0035】
図3は、検索式を生成する対象となる母集合である文書集合D(301)と、生成した検索式Lで検索することができる文書集合H(L)(302)との関係を示した図である。Dのみを漏れなく検索できる検索式であれば、D(301)とH(L)(302)が一致するため、このような条件を満たす検索式Lを見つけることが望ましい。ただし、文書集合Dの選び方によっては、このような検索式は存在しないこともある。そこで実際は、DとH(L)の積集合であるD∧H(L)(303)ができるだけ広くなるような検索式Lを探索することになる。本実施形態1では、そのための目的関数値としてF値を用いる。
【0036】
F値は、再現率R(recall)(304)と精度P(precision)(305)の調和平均(307)である。再現率Rは、検索式LによってDを漏れなく検索できる度合いを表し、検索結果H(L)のうち文書集合Dに含まれる文書が文書集合Dに対して占める割合に相当する。精度Pは、検索式LによってDのみを検索する度合いを表し、検索結果H(L)のうち文書集合Dに含まれる文書が検索結果H(L)に対して占める割合に相当する。
【0037】
式307に式304と式305を代入すると、F値の式は式308で表される。式308の分母はD(301)の面積とH(L)(302)の面積の和となり、式308の分子はD(301)の面積とH(L)(302)の面積の積集合であるD∧H(L)(303)の面積の2倍である。DとH(L)が等しいとき、F値は最大値1となる。DとH(L)が全く重ならないとき、F値は最小値0となる。
【0038】
なお、本実施形態1では検索式Lを評価する基準としてF値を採用し、再現率Rと精度Pを対等に調和平均しているが、重み付けをしてどちらかを重視することもできる。アプリケーションによっては、精度と再現率のいずれか一方を犠牲にしても他方を重視することが望ましいケースもあるので、このような場合にはいずれか一方を他方よりも重視した重み付けをしてもよい。
【0039】
また、本実施形態1では検索式Lを評価する基準として式308に示すF値を用いているが、再現率Rと精度Pを用いる評価式であれば、式308以外の評価式を用いることもできる。
【0040】
以上、検索式生成部105が検索式Lを生成する原理を説明した。検索式生成部105は、式308に示すF値が最大となる検索式Lを探索すればよい。ただし、任意の形式の検索式を用いることができるとすると、探索空間が膨大になってしまう可能性がある。この課題を探索問題と呼ぶ。本発明では、探索問題を解決するため、検索式の形式を積和標準形に限定し、検索式を構成する論理積の項毎に、Dを貧欲法(greedy algorithm)で探索する。この探索法はF値の最大化と相性がよい。詳細は後述する。
【0041】
積和標準形とは、(a*b*c)+(d*e)+(f*g)のように、検索タームの論理積(*)で構成されている項が論理和(+)で結合されている形式のことである。本発明では、積和標準形を構成する各論理積を、繰り返し処理により1項ずつ生成していく。上記例の場合、論理積は3個あるため、繰り返し処理が3回実行されることになる。
【0042】
各繰り返し処理では、現在与えられている文書集合をできるだけ広く、かつ、ノイズの混入が少なくなるように検索できる論理積を探索する。ここでの目的関数は、前述したF値を用いる。
【0043】
次に、生成した論理積で検索できる文書を、与えられた文書集合から除き、残った文書集合に対して同じ処理を繰り返す。残った文書集合がなくなるか、もしくは新たに検索できる文書の数が所定閾値以下になったら、繰り返し処理を停止する。
【0044】
図4は、検索式生成部105が検索式Lを探索する処理を概念的に示す図である。検索式生成部105は、文書集合D(301)から所望の検索結果を得ることができる検索式Lを探索する。以下、図4に示す処理手順について説明する。
(図4:処理手順ステップ1)
検索式生成部105は、検索タームの論理積1つで構成されている検索式L1を生成する。検索式生成部105は、F値が最大となるL1を探索する。検索式生成部105は、L1を探索する過程において、論理積を構成する検索タームおよび検索タームの個数を最適化する。例えば、L1=a*b*cなどの結果が得られる。検索式L1がカバーする文書集合は、図4のH(L1)(302a)である。DとH(L1)が重なる部分D∧H(L1)は、図4の斜線領域303aである。
(図4:処理手順ステップ2)
検索式生成部105は、文書集合DからH(L1)を除いた部分に対してステップ1と同様の処理を実施し、F値が最大となる検索式L2を生成する。検索式L2は、検索タームの論理積1つで構成されている。ここで得られる検索式L2は、ステップ1と同一であるとは限らない。例えば、L2=d*eなどの結果が得られる。L2がカバーする文書集合は、図4のH(L2)(302b)である。
【0045】
(図4:処理手順ステップ3)
検索式生成部105は、文書集合DからH(L1)とH(L2)を除いた部分に対してステップ1と同様の処理を実施し、F値が最大となる検索式L3を生成する。検索式L3は、検索タームの論理積1つで構成されている。ここで得られる検索式L3は、ステップ1〜ステップ2と同一であるとは限らない。例えば、L3=f*gなどの結果が得られる。L3がカバーする文書集合は、図4のH(L3)(302c)である。
(図4:処理手順ステップ4)
検索式生成部105は、以上と同様の処理を、所定回数または文書集合Dのうちカバーできていない範囲が所定範囲以下になるまで繰り返す。ここでは繰り返し回数を3回と仮定する。検索式探索部105は、各ステップで得られた検索式を論理和で結合し、最終的な検索式Lとする。ここでは、L=L1+L2+L3=(a*b*c)+(d*e)+(f*g)となる。
(図4:処理手順ステップ4:補足)
図4の点線で囲われた部分が、検索式Lでカバーできる文書集合となる。各ステップ1〜ステップ3では、局所的にF値が最大となる論理積L1〜L3を生成しているため、それらを結合した積和標準形のF値も相応に大きな値となる。局所最適解を繰り返し取得する貪欲法を用いて検索式Lを生成しているため、必ずしも大域的な最大値が得られているとは限らないが、探索空間が膨大になることを回避できる。
【0046】
図5は、図4で説明した探索手順を説明するフローチャートである。以下、図5の各ステップについて説明する。
(図5:ステップS501)
検索式生成部105は、文書集合Dを構成する各文書を取得する。Dの要素d_iは各文書の識別子である。検索式生成部105は、文書集合Dの各構成要素を検索サーバ12に問い合わせてもよいし、ユーザが各構成要素を入力してもよい。
(図5:ステップS502)
検索式生成部105は、最終的な検索式Lを出力するための論理積集合をOとし、Oを空集合で初期化する。
【0047】
(図5:ステップS503)
検索式生成部105は、本処理を終了するか否かを判定するための残文書数閾値c_minを設定する。c_minについてはステップS509で改めて説明する。c_minの値は事前にメモリ102などに格納しておいてもよいし、ユーザが入力してもよい。
(図5:ステップS504)
検索式生成部105は、ステップS509で説明する条件が満たされるまで、以下のステップS505〜S508を繰り返す。
【0048】
(図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)。
【0049】
(図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=(a*b*c)+(d*e)+(f*g)という検索式が生成された場合、O={a*b*c,d*e,f*g}となっている。
【0050】
図6は、図5のステップS505の詳細処理を示すフローチャートである。以下、図6の各ステップについて説明する。
(図6:ステップS601)
検索式生成部105は、文書集合Dを構成する各文書を取得する。本ステップにおける文書集合Dは、ステップS501およびS508で得られるDに等しい。
【0051】
(図6:ステップS602)
検索式生成部105は、ステップS505で生成する検索式の論理積を構成する候補となる検索ターム(キーワード)を収集し、これを検索ターム集合Tとする。D内の文書に現れる全てのタームをTに入れてもよいし、D内で重みの高いタームのみを所定個数Tに入れるようにしてもよい。
(図6:ステップS602:補足1)
本ステップで検索ターム集合Tに入れるタームを選択する基準となる重みとして、例えばIDF(Inverse Document Frequency)値などを用いることができる。重みの値は検索サーバ12に問い合わせてもよいし、検索式生成部105が計算してもよい。重みを計算するために必要なデータや重みの計算方法については、任意の公知手法を用いることができる。
(図6:ステップS602:補足2)
本実施形態1では、検索タームとして単語(形態素)を用いることを想定するが、その他に例えば文字Nグラムなどを用いることもできる。
【0052】
(図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に登録するなどが考えられる。
【0053】
(図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では、幅優先探索を行っていることになる。
【0054】
(図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に登録するなどの手法を用いることもできる。
【0055】
(図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の繰り返し処理を終了する。
【0056】
(図6:ステップS613)
検索式生成部105は、変数iを1インクリメントする。iが探索深さ上限l_maxに到達していなければステップS607に戻って同様の処理を繰り返し、到達していればステップS607〜S613の繰り返し処理を終了する。
(図6:ステップS614)
検索式生成部105は、現在のB_maxを本処理の結果として出力する。
【0057】
<実施の形態1:まとめ>
以上、本実施形態1に係る検索式生成装置10が検索式を生成する手法を説明した。検索式生成装置10は、概念検索の検索結果と等価な検索式を自動生成することができる。
本実施形態1に係る検索式生成装置10は、所望の検索結果を得るための検索式Lを、積和標準形で生成する。これにより、最適な検索式Lを探索する際の探索空間が膨大になることを防ぐことができる。
【0058】
また、本実施形態1に係る検索式生成装置10は、検索タームの論理積毎に所定の評価式によって評価し、評価値が最大となる論理積を論理和で結合する手順を繰り返すことにより、所望の検索結果を得ることができる検索式Lを生成する。これにより、検索式Lの探索空間を、論理積の項毎に効率的に探索することができる。この手法は、検索式Lを構成する論理和の項毎に最適化を実施することになるので、積和標準形を用いる手法によく適合し、検索式Lを効率的に生成することができる。
【0059】
また、本実施形態1に係る検索式生成装置10は、再現率Rと精度Pを基準として検索タームの論理積毎に検索式Lを評価する。これにより、検索式Lを論理積毎に最適化し、検索式Lの正確性を高めることができる。
【0060】
<実施の形態2>
実施形態1では、再現率Rと精度Pを用いて検索式Lを評価する手法を説明した。精度Pを求める際には、検索式Lが合致する文書数、すなわちヒット件数|H(L)|を取得する必要があるので、検索式生成部105は必要に応じて検索サーバ12に|H(L)|を問い合わせることができる。
【0061】
ただし、|H(L)|の値は実際に検索式Lを用いて検索を実施してみなければ正確な値は分からない。実施形態1では、探索過程で何度も検索式Lを評価するため、検索サーバ12が検索を実施する際の処理負荷が大きくなってしまう。この課題を、大域ヒット件数取得問題と呼ぶ。
【0062】
そこで本発明の実施形態2では、実際に検索を実施することに代えて、検索式Lを構成するキーワード毎のヒット件数を用いて|H(L)|を近似する。これにより、検索負荷を低減し、大域ヒット件数取得問題を解決することを試みる。
【0063】
なお、検索システム1000の構成は実施形態1と同様であるため、以下では大域ヒット件数取得問題を解決するための手法を中心に説明する。
【0064】
図7は、検索式生成部105がH(L)を近似計算する手法を説明する図である。以下図7に示す手順について式毎に説明する。
(図7:式701)
検索式生成部105は、図6の各ステップのうちF値を算出するステップ(S605とS610)を実施する際に、ヒット件数|H(L)|を取得する対象である検索式Lを取得する。検索式生成部105は、検索式Lを構成する論理積毎に|H(L)|を求めるので、本ステップにおけるLは検索タームの論理積となる。ここでは、L=t_1*t_2*・・・*t_kと仮定する。t_iは各検索タームである。
(図7:式702)
検索式生成部105は、検索対象となる全文書数Nを取得する。Nの値は検索サーバ12に問い合わせてもよいし、ユーザが入力してもよい。
【0065】
(図7:式703)
ある文書が検索式(論理積)Lで検索できる確率をP(L)と定義すると、Lで検索できる文書数H(L)は、P(L)*Nで推定することができる。
(図7:式704)
検索式(論理積)Lを構成する各検索タームt_1〜t_kが文書内で独立に出現するものとして近似すると、P(L)≒P(t_1)*P(t_2)*・・・*P(t_k)となる。
【0066】
(図7:式705)
P(t_i)は、ある文書が検索タームt_iで検索できる確率であり、全文書数Nに対するt_iのヒット件数H(t_i)の比で推定することができる。
(図7:式706)
以上の式701〜式705によれば、求めるH(L)は、検索ターム毎のヒット件数H(t_i)の積を用いた式706で近似計算できることが分かる。検索式生成部105は、最終的に式706を用いてH(L)を近似計算することができる。
【0067】
以上、|H(L)|を近似計算する原理を説明した。次に、|H(L)|を近似計算するための具体的な実装手段を説明する。
【0068】
図8は、検索サーバ12が備えている検索インデックス123の構成図である。検索式生成部105が各タームt_i毎のヒット件数H(t_i)を高速に取得するためには、検索インデックス123が保持しているデータを用いると効果的である。
【0069】
検索インデックス123は、検索タームt_i(801)、検索タームt_iが含まれている文書のリスト(802)を有する。このリスト802の長さは、検索タームt_iを用いて検索を実施した際のヒット件数H(t_i)に等しい。検索サーバ12は、H(t_i)をあらかじめ計算して保持しておくこともできる(803)。いずれの場合であっても、検索式生成部105は、検索インデックス123が保持しているデータを用いることによって、H(t_i)を高速に取得することができる。すなわち、|H(L)|を高速に近似計算することができる。
【0070】
<実施の形態2:まとめ>
以上のように、本実施形態2に係る検索式生成装置10は、検索インデックス123が保持している、検索タームt_i毎のヒット件数を取得し、その値を用いて検索式Lによるヒット件数|H(L)|を近似計算する。これにより、ヒット件数|H(L)|を取得する毎に検索を実施する必要がなくなり、検索負荷を低減するとともに、検索式Lを生成する処理を高速化することができる。
【0071】
<実施の形態3>
実施形態1において、検索式生成部105は、再現率Rと精度Pを算出する際に、|D∧H(L)|を求める必要がある。|D∧H(L)|は、文書集合D中で検索式Lにヒットする文書数であるから、実際に検索してみないと正確な値はわからない。この課題を局所ヒット件数取得問題と呼ぶ。
【0072】
局所ヒット件数|D∧H(L)|は、大域ヒット件数|H(L)|に比べて、生成する論理積の精度に大きく影響する。そのため、処理時間が許容する限り、実際に検索を実施して取得することが望ましい。現実的な時間内に|D∧H(L)|を取得することができない場合は、検索インデックス123を用いて検索式生成部105を補助するようにしてもよい。
【0073】
そこで本発明の実施形態3では、各文書に含まれる検索タームのリストを、検索インデックス123内にあらかじめ格納しておき、これを用いて|D∧H(L)|を取得する手法を説明する。
【0074】
図9は、本実施形態3における検索インデックス123の構成例を示す図である。本実施形態3において、検索インデックス123は、図8で説明した構成に加え、図9に示すデータを保持する。その他の構成は、実施形態1〜2と同様である。
【0075】
検索インデックス123は、文書集合Dに含まれる各文書d_i(901)について、その文書が含む検索タームのリスト(902)を保持する。検索式生成部105は、局所ヒット件数|D∧H(L)|を求める際に、検索式Lに含まれる全ての検索タームが、文書d_iについての検索タームリスト902に含まれているか否かを検索サーバ12に問い合わせる。これにより、高速に|D∧H(L)|を得ることができる。
【0076】
検索インデックス123が、図9に示すデータを保持しておらず、図8に示すデータのみを保持している場合は、各文書d_iに含まれる検索タームを解析した上で、同様の処理を実施する必要がある。もっとも、集合Dに含まれる文書数が少なく、現実的な時間内に|D∧H(L)|を取得できる場合は、必ずしも図9に示すデータを準備しておく必要はない。
【0077】
<実施の形態3:まとめ>
以上のように、本実施形態3に係る検索式生成装置100は、検索インデックス123が保持している、文書d_i(901)に含まれる検索タームのリスト(902)を用いて、局所ヒット件数|D∧H(L)|を求める。これにより、各文書d_iに含まれる検索タームを解析した上で|D∧H(L)|を求める場合に比べて、処理負荷を軽減し、高速に検索式Lを生成することができる。
【0078】
<実施の形態4>
本発明の実施形態4では、実施形態3で説明した局所ヒット件数|D∧H(L)|を高速に求める手法に代えて、サンプリングを用いた近似的手法により|D∧H(L)|を推定する手順を説明する。その他の構成は実施形態3と同様である。
【0079】
図10は、文書集合Dの一部をサンプリングした上でF値を求める手法を説明する図である。サンプリング方法としては、ランダムサンプリングを用いることが望ましい。図10の集合S(3011)は、文書集合D(301)から一部をサンプリングして得た文書集合である。
【0080】
ランダムサンプリングで集合Sを抽出しているため、集合Dに関する統計量は、集合Sに関する統計量に係数|D|/|S|を乗算することで推定できる。したがって、局所ヒット件数|D∧H(L)|は、集合Sについての局所ヒット件数|S∧H(L)|に係数|D|/|S|を乗算して推定することができる。
【0081】
以上から、文書集合DのF値を算出するための計算式1001は、図10の計算式1002で近似することができる。検索式生成部105は、計算式1002を用いてF値を近似計算すればよい。計算式1002を用いることにより、集合Dよりも文書数が少ない集合Sの範囲内で局所ヒット件数を取得するので、F値を求める処理負荷を低減し、より高速に検索式Lを生成することができる。
【0082】
<実施の形態5>
実施形態4で説明した計算式1002は、論理積Lの目標ヒット件数Xを設定するために使うこともできる。ここでは、構成要素が不明な要素数Xの文書集合Dのうち一部を抽出した集合Sが与えられており、文書集合Dを検索する論理積Lを生成することを目的として設定する。所与の文書集合Sは、要素数Xの仮想的な文書集合Dからランダムサンプリングで抽出されたものと仮定する。
【0083】
この場合、文書集合Dのみを正確に検索することができる検索式Lを生成すれば、結果としてヒット件数がXとなる検索式Lを得ることができる。したがって、検索式生成部105は、F値=1、|D|=X、|H(L)|=X、を代入した計算式1001が成立するような検索式Lを目指して探索すればよいことになる。文書集合Sが与えられている場合は、計算式1002の|S|にSの要素数を代入した上で、同式が成立するような検索式Lを探索すればよい。
【0084】
ここで設定した|D|=Xは目標値であるから、検索式生成部105は、必ずしも正確にX件ヒットする検索式Lを生成できるとは限らないが、探索が網羅的であれば、目標ヒット件数Xにより近づくことができると思われる。
【0085】
<実施の形態6>
本発明の実施形態6では、文書集合Dを構成する文書の重み(検索スコア)を考慮した動作例を説明する。検索システム1000の構成は、実施形態1〜5と同様である。
【0086】
概念検索では、検索結果は一般に、検索条件として入力した文章に対する類似度によってランク付けされた状態で得られる。例えば、概念検索の結果から上位100件を選んで集合Dとし、集合Dと等価な検索式Lを生成することを考える。同じ99件が検索できる検索式であっても、検索ランク1位の文書を検索できなかった検索式よりも、検索ランク100位の文書を検索できなかった検索式の方が、より正確に集合Dを表していると言える。つまり、同じ文書数をカバーする検索式であっても、上位の文書をより多くカバーする検索式の方が好ましいといえる。
【0087】
本実施形態6において、検索式生成部105は、検索ランクが上位の文書をより多く検索する検索式Lが生成できるように、F値を計算する際に、検索スコアを加味する。検索スコアとは、検索結果をランク付けするために用いられる評価値であり、スコア値が高いほど上位にランクされることになる。
【0088】
検索式生成部105は、検索スコアが高い文書を優先的に検索することができるような検索式Lを生成するため、計算式304の|D|(集合D内の文書数)に代えて、集合D内の文書の検索スコア総和を用いる。同様に|D∧H(L)|に代えて、検索式Lでヒットした集合D内の文書の検索スコア総和を用いる。これにより、計算式304で算出する再現率Rは、検索式Lでカバーすることのできる文書の検索スコアを加味した値となる。
【0089】
同様に検索式生成部105は、計算式305の|H(L)|に代えて、検索式Lを用いて検索するとヒットする文書の検索スコア総和を用いる。ただし、集合Dに含まれない文書の検索スコアを取得するのは困難であるため、それらの文書の検索スコアは集合D内の文書の最小検索スコアとする。計算式305の|D∧H(L)|については、計算式304と同様である。
【0090】
なお、各文書の検索スコアは、データ通信部107が検索サーバ12から検索結果を取得する際にこれと併せて取得すればよい。
【0091】
<実施の形態6:まとめ>
以上のように、本実施形態6に係る検索式生成装置10は、検索式Lを評価する際に、検索スコアを加味した評価式を用いる。これにより、検索ランクが上位の文書を優先して検索することができる検索式Lを得られるので、検索ニーズに適合した検索式を生成することができる。
【0092】
<実施の形態7>
本発明の実施形態7では、検索結果をクラスタリングして、それぞれのクラスタに対して検索式を生成して表示する構成を説明する。クラスタリングに係る処理および画面表示以外については実施形態1〜6と同様であるため、以下では差異点を中心に説明する。
【0093】
本実施形態7において、検索式生成部105は、検索結果として得られた文書集合をクラスタリングする。クラスタリングとは、文書集合を部分集合(クラスタ)に分割する処理である。各部分集合には、互いに類似する文書が集められる。検索式生成部105は、任意の公知なクラスタリング手法を用いることができる。
【0094】
クラスタリングによって検索結果を部分集合に分割すると、検索結果が関連するトピック毎に整理されるため、検索結果の見通しがよくなり絞り込みやすくなる。一方、各クラスタに含まれる文書がどのようなトピックを有しているかを確認するのは難しい。非特許文献1のような従来技術では、各クラスタに含まれる特徴的語句を検索結果とともに表示しているが、特徴的語句のみではそのクラスタに含まれるトピックを十分に表すことが難しい。そこで本実施形態7では、各クラスタに含まれる文書集合を検索することのできる検索式を生成して、クラスタと併記して表示する。
【0095】
図11は、本実施形態7における検索インターフェース画面20の画面イメージ例である。以下、図11の検索インターフェース画面20の操作に係る動作手順を説明する。
(図11:動作手順ステップ1)
ユーザは、テキスト入力エリア1101に検索要求を入力する。概念検索を実施する場合は文章を入力し、全文検索を実施する場合は検索式を入力する。ここでは、概念検索を実施する例を示した。検索要求として、「写真を撮影するためのまたは写真を投影もしくは直視するための装置」という文章が入力されている。
(図11:動作手順ステップ2〜ステップ3)
ユーザが検索ボタン1102をクリックすると、図2のステップ2〜ステップ3で説明したものと同様の処理が実施される。
【0096】
(図11:動作手順ステップ4)
表示制御部106は、データ通信部107を介して検索結果を受け取る。検索式生成部105は、検索結果に含まれる文書集合をクラスタリングして部分集合に分割する。表示制御部106は、クラスタ毎に表示エリア1104を設け、各表示エリア1104にクラスタ内の文書リストを表示する。表示エリア1104の表示内容は、図2と同様である。
(図11:動作手順ステップ5)
表示制御部106は、クラスタ毎に根拠ボタン1106を設ける。ユーザが根拠ボタン1106をクリックすると、表示制御部106は表示エリア1104内で選択されている文書の識別子を検索式生成部105に渡す。検索式生成部105は、クラスタ内で選択されている文書集合を検索することのできる検索式を生成する。ユーザは、クラスタの文書から必要な文書のみを選ぶことにより、クラスタに含まれる文書リストを自分の好みに合わせて修正することができる。
【0097】
(図11:動作手順ステップ6)
表示制御部106は、クラスタ毎にテキスト入力エリア1103を設ける。表示制御部106は、検索式生成部105が生成したクラスタ毎の検索式を、テキスト入力エリア1103に表示する。
(図11:動作手順ステップ7)
ユーザは、テキスト入力エリア1103に表示されている検索式を直接修正することもできる。ユーザが再検索ボタン1105をクリックすると、表示制御部106はテキスト入力エリア1103に入力されている検索式を取得し、データ通信部107を介して検索サーバ12にその検索式を検索条件とする検索要求を送信する。検索サーバ12はその検索式を用いて検索を実施し、表示制御部106はその検索結果を表示エリア1104に表示する。
【0098】
<実施の形態7:まとめ>
以上のように、本実施形態7に係る検索式生成装置10は、検索結果をクラスタリングし、クラスタ毎に検索結果を表示する。また、各クラスタに含まれる文書を検索することのできる検索式をクラスタ毎に生成する。これにより、ユーザはクラスタ毎の特徴を容易に把握することができる。
【0099】
また、本実施形態7に係る検索式生成装置10は、クラスタ毎に検索式を修正して再検索することができる。これにより、ユーザは実施形態1と同様の効果を、クラスタ毎に得ることができる。
【0100】
<実施の形態8>
本発明の実施形態8では、実施形態1〜7で説明した検索式生成装置10を用いて、文書分類コードを自動的に付与する規則を生成する手法を説明する。
【0101】
文書分類コードとは、文書をその内容の特徴毎に分類した上で、各分類に付与する識別コードのことである。各分類に含まれる文書は、同様のキーワードを有していることが多いため、分類コード毎に適切な検索式が生成できれば、同じ検索式を用いて検索することのできる文書は同じ分類に属する可能性が高い。本実施形態8では、このことを利用して、検索式を分類規則として用いる。
【0102】
検索式生成部105は、既に分類コードCが付いている文書集合(正解訓練データ)Dを対象に検索式Lを生成する。次にまだ分類コードが付いていない文書d(テストデータ)を、生成した検索式Lによって検索することができるか否かを判定する。文書dを検索式Lによって検索することができれば、文書dは分類コードCを持つと予測することができる。このようにして、正解訓練データから生成した検索式Lにより、テストデータに分類コードを自動的に付与することができる。
【0103】
文書を自動分類する手法は様々あるが、本実施形態8の利点は、分類規則(生成した検索式)の精度(precision)を自由に設定できる点にある。また、分類規則は論理式そのものであるため、ユーザにとって理解しやすい。ユーザは、必要であれば、自動生成された分類規則を修正することもできる。分類規則は、論理式の形で判りやすいので修正も容易である。
【0104】
図12は、自動生成した分類規則の例を示す図である。この例では、国際特許分類A61B3「眼の検査装置;眼の診察装置」というIPCコードを持つ1993年公開の特許公開公報の集合を正解訓練データとし、これから検索式を自動生成した。
【0105】
実施形態1で説明した方法を使うと、「(検眼)+(検*者)+(眼科*装置)+(光学*撮影*系)」という検索式を生成することができた。この検索式を分類規則としてそのまま用い、例えば1994年公開の特許公開公報に分類コードを自動付与することができる。または、ユーザが分類規則を修正してもよい。
【0106】
次に、一度生成した分類規則に基づき、精度(precision)がある値以上の分類規則を改めて構築する方法を説明する。
【0107】
文書分類には、精度(precision)と再現率(recall)という評価基準がある。例えば、図12で説明した例において「眼科*装置」という分類規則を考える。
【0108】
再現率とは、正解データ(A61B3に分類される文書)中で、「眼科*装置」にヒットする文書の割合のことである。つまり、「眼科*装置」で正解がどれだけカバーできるかを表す。精度とは、「眼科*装置」でヒットする全文書に占める正解データの割合である。つまり、「眼科*装置」がどれだけ正確な分類規則であるかを表す。
【0109】
精度が100%に近い分類規則であれば、その分類規則にヒットした文書は、ほぼ間違いなく目的の分類コードを付与してもよいことになる。分類規則にヒットしなかった文書についてのみ、ユーザが手作業で類コードを付与すればよいため、分類コード付与作業に係るコストを削減することができる。以下、所定以上の精度を有する分類規則を生成する手順を、図12にしたがって説明する。
【0110】
(図12:分類規則生成手順ステップ1)
検索式生成部105は、実施形態1〜7で説明した手順を用いて、検索式Lを構成する各論理積に対し、訓練データ中における精度と再現率を計算する。ここでは、図12の上半分に示す4つの論理積「検眼」「検*者」「眼科*装置」「光学*撮影*系」が得られたものとする。
(図12:分類規則生成手順ステップ2)
ユーザは、所望の精度値を検索式生成装置10に入力する。ここでは精度≧0.8を指定したものとする。
【0111】
(図12:分類規則生成手順ステップ3)
検索式生成部105は、精度が0.8以上の論理積のみを抽出して論理和で結合する。これにより、訓練データに関して0.8以上の精度を有する検索式「(検眼)+(眼科*装置)」を生成することができる。なお、精度の値は正解訓練データを用いて算出する。
(図12:分類規則生成手順ステップ4)
検索式生成装置10は、ステップ3で得られた検索式を、分類規則としてユーザに提示する。これにより、目標とする精度を指定して、分類規則を自動生成することができる。目標精度を十分高くして生成した分類規則を用いれば、分類コードを十分な精度で自動付与することができる。
【0112】
<実施の形態8:まとめ>
以上のように、本実施形態8に係る検索式生成装置10は、指定された以上の精度を有する検索式を生成し、文書分類規則として提示する。これにより、文書に分類コードを自動的に高精度で付与することができる。
【0113】
<実施の形態9>
以上の実施形態1〜8において、検索式生成部105は検索サーバ12に配置してもよい。また、実施形態7のように検索結果をクラスタリングする場合、クラスタリング処理を実施する機能部を、検索式生成部105とは別に新たに設けてもよい。
【0114】
クラスタリングを実施する機能部は、検索式生成装置10に配置してもよいし、検索サーバ12に配置してもよい。検索サーバ12がクラスタリング機能部を備える場合は、検索サーバ12が検索結果をクラスタリングし、クラスタ(文書集合)のリストを検索式生成装置10に送信する。
【0115】
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【0116】
また、上記各構成、機能、処理部などは、それらの全部または一部を、例えば集積回路で設計することによりハードウェアとして実現することもできるし、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアとして実現することもできる。各機能を実現するプログラム、テーブルなどの情報は、メモリやハードディスクなどの記憶装置、ICカード、DVDなどの記憶媒体に格納することができる。
【実施例】
【0117】
[実施例1]
本発明の実施例1では、実施形態1で説明した検索式の精度について評価した結果を説明する。精度を評価するために、ある検索式Lを用いて実際に文書を検索し、検索された文書集合から検索式を生成し、元の検索式Lが復元できるかどうかを確かめた。なお、検索式Lを用いた検索結果が300件を超える場合は、300個の文書をサンプリングして評価を実施した。
【0118】
まず、2個の検索タームを論理積もしくは論理和で結合した単純な検索式で実験した。この場合、58個の検索式のうち再現できなかった検索式は1個のみであった。
【0119】
検索ターム3個以上で構成される複雑な検索式については、52個の検索式のうち、完全に復元できたものは19個であった。例えば、「(放熱+(熱*伝導)+(伝*熱))*シート」や「(ケーブル*(放送+TV))+CATV」などの検索式は完全に復元できた。それ以外の33個の検索式についても、ほぼ全てのケースで部分的に復元に成功した。例えば、元の検索式L「LED+(発光*(ダイオード+素子))」に対し「LED+発光」が生成された。
【0120】
部分的に復元に成功した例では、このように論理和で結合された部分が復元しきれていない場合がほとんどであった。この主な理由は、サンプリング数の不足である。先の例の場合、「LED+(発光*(ダイオード+素子))」のヒット件数は5万件を超えていたが、復元に用いた文書はその中の300件のみである。部分的にも復元できなかった検索式は、ヒット件数が数件以下の検索式であった。
【0121】
[実施例2]
本発明の実施例2では、図12で生成した精度0.8以上の分類規則「(検眼)+(眼科*装置)」を使い、1994年(訓練データの次の年)公開の特許公開公報に国際特許分類A61B3を付与した結果について説明する。
【0122】
本実施例2では、精度94%の高精度で分類コードを付与することができた。ただし、再現率は59%であったため、分類コードを付与すべき文書の59%にしか付与することができなかったことになる。
【0123】
残りの41%の文書は手動もしくは別の方法で分類を行うことになるが、分類規則を使わなかった場合に比べ、付与作業を実施すべき文書数を半分以下にまで減らすことができたことになる。
【0124】
分類コードを自動付与する精度をさらに上げたい場合は、例えば精度が98%の「検眼」のみを分類規則として使えばよい。また、自動生成した分類規則を元に、人間が修正を加えてもよい。
【符号の説明】
【0125】
10:検索式生成装置、101:CPU、102:メモリ、103:キーボード・マウス、104:ディスプレイ、105:検索式生成部、106:表示制御部、107:データ通信部、11:ネットワーク、12:検索サーバ、121:CPU、122:メモリ、123:検索インデックス、124:検索部、125:データ通信部、201:テキスト入力エリア、202:テキスト入力エリア、203:表示エリア、204:検索ボタン、205:再検索ボタン、206:根拠ボタン、207:全選択ボタン、208:全解除ボタン、209:チェックボックス、1101:テキスト入力エリア、1102:検索ボタン、1103:テキスト入力エリア、1104:表示エリア、1105:再検索ボタン、1106:根拠ボタン、1000:検索システム。

【特許請求の範囲】
【請求項1】
1以上の文書からなる母集合を検索対象の文書集合から検索するための検索条件式を生成する検索式生成部と、
任意の検索条件式を用いて前記検索対象を検索した結果を取得して前記検索式生成部に出力する検索結果取得部と、
を備え、
前記検索式生成部は、
1以上の検索タームからなる論理積を検索条件式として前記検索対象を検索した場合に得られる検索結果のうち前記母集合に含まれる文書が前記母集合に対して占める割合を示す再現率と、前記検索結果のうち前記母集合に含まれる文書が前記検索結果に対して占める割合を示す精度を、前記検索結果取得部から前記検索結果を取得して算出し、
前記再現率と前記精度を用いて構築された評価式によって前記論理積を評価し、
前記評価式による評価値が最大となる前記論理積を論理和で結合することを繰り返すことにより、積和標準形で表される前記検索条件式を生成する
ことを特徴とする検索式生成装置。
【請求項2】
前記検索結果取得部は、
前記検索式生成部が前記精度を算出する際に、前記論理積中の各検索タームのヒット件数を、前記検索対象の検索インデックスに記録されている検索ターム毎のヒット件数から取得し、
前記検索式生成部は、前記ヒット件数を用いて前記精度を近似する
ことを特徴とする請求項1記載の検索式生成装置。
【請求項3】
前記検索式生成部は、
前記検索対象中の全文書数に対する前記ヒット件数の比を用いて検索ターム毎のヒット確率を推定し、
前記推定したヒット確率を用いて前記精度を近似する
ことを特徴とする請求項2記載の検索式生成装置。
【請求項4】
前記検索式生成部は、
検索ターム毎の前記推定したヒット確率を掛け合わせることにより、前記論理積を検索条件として前記検索対象を検索した場合のヒット件数を推定し、そのヒット件数を用いて前記精度を近似する
ことを特徴とする請求項3記載の検索式生成装置。
【請求項5】
前記検索式生成部は、
前記再現率または前記精度のうち少なくともいずれかを算出する際に、
前記母集合に属する各文書の検索インデックスに記録されている、前記各文書内に含まれる検索タームのリストを照会することにより、前記検索結果のうち前記母集合に含まれる文書の数を取得する
ことを特徴とする請求項1記載の検索式生成装置。
【請求項6】
前記検索式生成部は、
前記再現率または前記精度のうち少なくともいずれかを、前記母集合からサンプリングした文書集合に対して算出し、
その算出結果と前記サンプリングのサンプリング率とを用いて構築された評価式によって前記論理積を評価する
ことを特徴とする請求項1記載の検索式生成装置。
【請求項7】
前記検索結果取得部は、
前記論理積を検索条件として前記検索対象を検索した場合に得られる検索結果に含まれる各文書の重み係数を取得し、
前記検索式生成部は、
前記重み係数を用いて前記再現率または前記精度の少なくともいずれかを算出する
ことを特徴とする請求項1記載の検索式生成装置。
【請求項8】
前記検索式生成部は、
前記母集合内に含まれる文書の重み係数のうち最小のものを、前記母集合に含まれない文書の重み係数として近似する
ことを特徴とする請求項7記載の検索式生成装置。
【請求項9】
前記検索結果取得部が取得した検索結果を表示する表示部を備え、
前記検索式生成部は、
前記検索結果を得るための前記検索条件式を生成し、前記検索結果とともに前記表示部に表示させる
ことを特徴とする請求項1記載の検索式生成装置。
【請求項10】
前記表示部は、
前記検索式生成部が生成した前記検索条件式を修正するための入力欄を有し、
前記検索結果取得部は、
前記入力欄に入力された修正後の検索条件式を用いて前記文書を検索した結果を取得して前記表示部に表示させる
ことを特徴とする請求項9記載の検索式生成装置。
【請求項11】
前記検索式生成部は、
前記検索結果取得部が取得した検索結果をクラスタリングし、
前記表示部は、
前記クラスタリングで得られたクラスタ毎に前記検索結果を表示する
ことを特徴とする請求項9記載の検索式生成装置。
【請求項12】
前記表示部は、
前記検索式生成部が生成した前記検索条件式を修正するための入力欄を、前記クラスタリングで得られたクラスタ毎に有し、
前記検索結果取得部は、
前記入力欄に入力された修正後の検索条件式を用いて前記文書を検索した結果を取得し、前記クラスタリングで得られたクラスタ毎に前記表示部に表示させる
ことを特徴とする請求項11記載の検索式生成装置。
【請求項13】
前記検索式生成部は、
前記精度の指定値を入力として受け取り、前記指定値以上の前記精度を有する前記検索条件式を生成する
ことを特徴とする請求項1記載の検索式生成装置。
【請求項14】
請求項1記載の検索式生成装置と、
任意の検索条件式から前記検索対象を検索する検索サーバと、
を有し、
前記検索結果取得部は、
前記検索条件式を用いて前記検索対象を検索した結果を前記検索サーバから取得する
ことを特徴とする検索システム。
【請求項15】
1以上の文書からなる母集団を検索対象の文書集合から検索するための検索条件式を生成する検索式生成ステップと、
任意の検索条件式を用いて前記検索対象を検索した結果を取得する検索結果取得ステップと、
を有し、
前記検索式生成ステップでは、
1以上の検索タームからなる論理積を検索条件式として前記検索対象を検索した場合に得られる検索結果のうち前記母集合に含まれる文書が前記母集合に対して占める割合を示す再現率と、前記検索結果のうち前記母集合に含まれる文書が前記検索結果に対して占める割合を示す精度を、前記検索結果取得ステップにより前記検索結果を取得して算出し、
前記再現率と前記精度を用いて構築された評価式によって前記論理積を評価し、
前記評価式による評価値が最大となる前記論理積を論理和で結合することを繰り返すことにより、積和標準形で表される前記検索条件式を生成する
ことを特徴とする検索式生成方法。
【請求項16】
前記精度の指定値を入力として受け取るステップを有し、
前記検索式生成ステップでは、
前記指定値以上の前記精度を有する前記検索条件式を生成する
ことを特徴とする請求項15記載の検索式生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−155673(P2012−155673A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−16661(P2011−16661)
【出願日】平成23年1月28日(2011.1.28)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】