Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4020362B2 - Yes / No type question tree creation device, program and recording medium - Google Patents
[go: Go Back, main page]

JP4020362B2 - Yes / No type question tree creation device, program and recording medium - Google Patents

Yes / No type question tree creation device, program and recording medium Download PDF

Info

Publication number
JP4020362B2
JP4020362B2 JP2002063032A JP2002063032A JP4020362B2 JP 4020362 B2 JP4020362 B2 JP 4020362B2 JP 2002063032 A JP2002063032 A JP 2002063032A JP 2002063032 A JP2002063032 A JP 2002063032A JP 4020362 B2 JP4020362 B2 JP 4020362B2
Authority
JP
Japan
Prior art keywords
search
search condition
yes
node
evaluation value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002063032A
Other languages
Japanese (ja)
Other versions
JP2003263438A (en
Inventor
勝 宮本
佳織 楢原
信行 大森
博人 稲垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002063032A priority Critical patent/JP4020362B2/en
Publication of JP2003263438A publication Critical patent/JP2003263438A/en
Application granted granted Critical
Publication of JP4020362B2 publication Critical patent/JP4020362B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、予め登録されている検索条件を利用し、大量のデータベースからデータを検索する場合、入出力手段の乏しいインタフェースでも、効率よくデータを選択できるようにYes/No型質問木を作成するYes/No型質問木作成装置、Yes/No型質問木作成方法、プログラムおよび記録媒体に関する。
【0002】
【従来の技術】
現在では、パソコンだけでなく、携帯電話、固定電話、テレビ、ラジオ等、あらゆる端末からインターネットに接続可能である。
【0003】
パソコンは、解像度の高いディスプレイ(出力手段)を有し、また、単位時間当りに比較的大量の情報を入力可能なキーボードとマウスと(入力手段)を有する。そして、オフィスや家庭のデスクに向い、椅子に座り、上記入出力手段を操作するという安定した操作姿勢が、パソコン操作の前提である。
【0004】
一方で、非パソコンによるインタフェースは、簡単に使える家庭電化製品の延長である反面、入出力手段が乏しい。たとえば、携帯電話は、端末が小型で簡易であるので、ディスプレイが小型であり解像度が低い。その入力手段は、テンキーと矢印キーとであり、パソコンに比べて、単位時間当りに入力可能な情報量が比較的少ない。また、操作姿勢は、立ったまま片手で携帯電話を持ち、親指で操作する等、かなり不安定である。上記入力手段が乏しい点は、テレビ、ラジオ、固定電話においても、共通する点である。
【0005】
また、近年、電話の音声通話によるインターネットアクセスサービスも、台頭している。音声出力の一覧性はなく、時間軸に沿って情報が流れる。さらに、音声入力は、自由度が高いが、発話語彙を大量にすると、認識率が低下する。さらに、携帯電話等、周囲の騒音が大きい場合や、通話品質が低い場合には、発話語彙数を減らして認識率を保証することが想定される。また、音声インタフェースは、ハンズフリーであるので、自動車の車内での利用が想定される。この場合、操作姿勢としては、運転中であり、さらに不安定である。
【0006】
つまり、非パソコン機器によるインタフェースでは、入出力手段の制約が大きい。このために、非パソコン機器によって、大量なデータベースから所望のデータを検索するために、想起したフリーキーワードのような情報量の多い検索条件を入力することが困難である場合が多いと考えられる。
【0007】
そこで、予め登録されている複数の検索条件によって、装置がデータベースを検索し、その検索結果を上手に選択するような検索インタフェースが必要になる。
【0008】
この点に関して、宮本らは、事前絞込み型メニューによる絞込み方法を、特願2000−040094(発明の名称:データ検索支援方法及び装置及びデータ検索支援プログラムを格納した記憶煤体)において提案している。
【0009】
この従来の装置では、予め検索サービス提供者が用意したお勧め絞込み条件群に基づいて、お勧め絞込み条件同士の論理積による絞込み検索を、検索対象集合について、実行し、許容可能な程度の絞込み回数によって、携帯電話のような画面の小さい携帯端末でも、一覧可能な程度に絞り込むことができる検索条件を抽出し、メニューとして表示する。
【0010】
許容可能な絞込み回数を、たとえば2回という極めて少ない回数に設定すれば、この絞込みメニューを用いて、検索サービス提供者のお勧め絞込み条件を、2回選択するだけで、携帯電話の狭い画面でも、検索結果を一覧できることを保証する。
【0011】
【発明が解決しようとする課題】
しかし、上記事前絞込み型メニューでは、複数のメニュー項目から任意のメニュー項目を選択するメニュー(以下、複数項目型メニュー)を利用しているので、インタフェースは、一般的なメニューと同様である。
【0012】
したがって、音声のように極端に一覧性が低い出力手段である場合、複数のメニュー項目を音声で聞きながら記憶し、選択する操作負荷は、従来のメニューと同等である。
【0013】
そこで、情報を選択するためにユーザが逐次投入する情報量を、最小の1bitに制約し、最もシンブルな選択手段を提供する。すなわち、ユーザに対して、Yes/Noの質問形式の質問木(以下、これを、「Yes/No型質問木」という)を提示し、Yes/Noで逐次回答することによって、1bitずつ検索対象を絞り込むインタフェースを前提とする。これによって、非パソコンの簡易な入力手段でも、簡単に入力可能なインタフェースを提供することができる。
【0014】
ここで、上記前提となる質問木による検索インタフェースは、図1に示す最適質問木9のように、2分木の構造を持つ。
【0015】
各ノードは、各検索条件に対応し、提示された検索条件を採用する場合は、ノードの左側の子ノードに進み、上記検索式にヒットするデータが提示対象である。逆に、提示された検索条件を採用しない場合は、ノードの右側の子ノードに進み、上記検索式にヒットしないデータが提示対象である。
【0016】
効率的に検索対象を絞り込むためには、各ノードに、どのような検索条件を割り当てるかが、重要なポイントになる。
【0017】
しかし、予め登録されている検索条件に基づいて作成することができる質問木として、多くのパターンがあり、全てのパターンを闇雲に比較評価しようとすると、計算量が多くなるという問題がある。
【0018】
本発明は、予め登録されている検索条件を利用し、大量のデータベースからデータを選択する場合、入出力手段の乏しいインタフェースでも、効率よくデータを選択できるようにYes/No型質問木を作成することができるYes/No型質問木作成装置、Yes/No型質問木作成方法、プログラムおよび記録媒体を提供することを目的とするものである。
【0019】
また、検索対象のデータ数が増加した場合、または、考慮すべき検索条件の数が増加した場合に、処理時間が必然的に増加するという問題がある。
【0020】
本発明は、全ての検索条件を再帰的に評価せずに、最適な質問木を得ることができる可能性が高い検索条件を選択的に評価し、処理時間を削減しつつ、作成質問木の精度を確保することができるYes/No型質問木作成装置、Yes/No型質問木作成方法、プログラムおよび記録媒体を提供することを目的とするものである。
【0021】
さらに、本発明は、各データに対する検索条件の適合度が、相互に比較可能な順序尺度である場合に、適合度が高いデータに優先的にアクセスする質問木を、自動的に作成することができ、また、処理速度が高速であるYes/No型質問木作成装置、Yes/No型質問木作成方法、プログラムおよび記録媒体を提供することを目的とするものである。
【0022】
そして、本発明は、ユーザがYes/No型質問木を回答した後に、検索データ群を閲覧する上で、閲覧する端末の一覧性が低い場合でも、Yes/No選択上限以内分だけ、Yes/Noを回答すれば、閲覧する検索データ群を一覧できる件数に絞り込むことができ、したがって、質問を何度繰り返して絞り込んでも大量の検索緒果が残るという可能性を減少することができるYes/No型質問木作成装置、Yes/No型質問木作成方法、プログラムおよび記録媒体を提供することを目的とするものである。
【0023】
【課題を解決するための手段】
本発明は、予め登録されている検索条件と、検索対象である検索データからなるデータベースとによって構成され、上記検索条件についてYes/Noで答えることによって上記検索データを絞り込むYes/No型質問木を作成するYes/No型質問木作成装置において、上記検索対象である検索データを検索データ集合とするルートとなるノードを設定し、ノード処理手段を呼び出すルートノード処理手段と、検索データ集合が与えられると、所定の関数に検索データ集合を入力して得られる評価値を当該ノードの最大評価値に設定するとともに、現在の階層数がYes/No選択上限数以上であれば、上記最大評価値を呼び出し元に返し、現在の階層数がYes/No選択上限数未満であれば、当該ノードに対応した検索データ集合を対象にそれぞれの検索条件について、検索条件を満たす検索データ集合と、検索条件を満たさない検索データ集合とに分割し、分割された2つの検索データ集合のそれぞれのノードを生成し、生成されたノードに対して再帰的に自身であるノード処理手段を呼び出して生成されたノードの評価値を取得し、検索条件を満たす検索データ集合のノードの評価値と、検索条件を満たさない検索データ集合のノードの評価値との和を求め、それぞれの検索条件の中で当該和が最大となる最大評価値を求め、その最大評価値を呼び出し元に返すノード処理手段とを有することを特徴とするYes/No型質問木作成装置である。
【0024】
【発明の実施の形態および実施例】
[第1の実施例]
図1は、本発明の第1の実施例であるYes/No型質問木作成装置100を示す図である。
【0025】
Yes/No型質問木作成装置100は、考えられる質問木構成パターンの全てを作成するのではなく、Yes/No型質問木のパターンを作成する前に、分割対象となる検索データ群に検索結果が存在しない検索条件を除外し、これによって、最適なYes/No型質問木を、高速に作成する装置である。
【0026】
Yes/No型質問木作成装置100は、登録検索条件リスト1と、検索対象データベース2と、分割対象リスト3と、非分割対象リスト4と、分割対象リスト作成部5と、最適パターン表6と、最適パターン表作成部7と、最適質問木作成部8とを有し、後述する「一覧可能上限数」と、後述する「Yes/No選択上限数」とを入力として渡すと、最適なYes/No型質問木9を出力する装置である。
【0027】
登録検索条件リスト1は、予め登録されている検索条件のリストであり、この予め登録されている検索条件を、ユーザ毎に保持しているが、検索サービス提供者が勧める検索条件のリストであってもよい。
【0028】
検索対象データベース2は、検索対象である検索データを格納しているデータベースであり、リレーショナルデータベースであってもよく、フルテキスト検索するテキストファイル群であってもよく、また、所定の検索条件に対して検索結果を返すデータベースであれば、他のデータベースであってもよい。
【0029】
図2は、分割対象リスト3を示す図であり、検索データと、検索条件群(適合度)との関係を表す図である。
【0030】
分割対象リスト3は、検索対象データベース2に基づいて、分割対象リスト作成部5が作成するリストであり、図2に示すように、検索データと、検索条件群と、検索条件とデータとの適合度とによって構成されている。
【0031】
つまり、分割対象リスト3は、検索対象データベース2から、少なくとも1つの検索条件によって検索された検索結果に含まれている検索データである。検索対象データベース2のうちで、検索条件に対する検索結果が少ない場合、圧縮効率が高い。
【0032】
非分割対象リスト4は、予め登録されている検索条件のうちで、いずれの検索条件の検索結果にも含まれない検索データを、検索対象データベース1の中から、抽出したリストであり、分割対象リスト作成部5が、非分割対象リスト4を作成する。この非分割対象リスト4は、検索条件毎に存在するリストではなく、1つのデータベースについて、1つだけ存在するリストである。
【0033】
図3は、検索条件が各データに適合する度合いである適合度の例を示す図である。
【0034】
分割対象リスト作成部5は、図3に示すように、検索条件が各データに適合する度合いを示す適合度を付与する。この適合度は、各検索条件の検索結果に含まれるか否かの2値データであることを基本とする。また、所定の検索データが、所定の検索条件の検索結果に含まれる場合、上記所定の検索データが上記所定の検索条件に適合する度合いを、TF/IDF値等を用いた順序尺度として表現する。この順序尺度は、0〜100の間の整数値である。検索データが検索条件に適合する度合いを示す尺度であれば、TF/IDF値等を用いた順序尺度の代わりに、他の尺度を使用するようにしてもよい。
【0035】
また、本実施例では、適合度が「0」よりも大きい検索データを、適合する検索データであると考えるので、適合度が付与されている検索データ対検索条件の表から、「0」よりも大きい適合度を持つデータと、検索条件との組合せだけを抽出し、データと、該当検索条件群(適合度)とによって構成される分割対象リスト3を、図2に示すように、作成する。
【0036】
図4は、非分割対象リスト4の例を示す図である。
【0037】
予め登録されている検索条件のうちで、いずれの検索条件の検索結果にも含まれないデータを、リストとして抽出したものを、図4に示すように、非分割対象リスト4として作成する。
【0038】
図5は、最適パターン表6の内容例を示す図である。
【0039】
なお、図5において、ノードIDが「2」である行が複数、記載されている。これは、親ノードが「ABC」、「テロ」、……のそれぞれである場合に、ノードID「2」として、項目ラベルに記載されている内容を質問する場合があり、したがって、図5において、ノードIDが「2」である行が複数、記載されている。よって、図5において、ノードIDが「3」である行も、複数、記載されている。
【0040】
最適パターン表6は、分割対象リスト3に基づいて、最適パターン表作成部7が作成する表であり、図5に示すように、Yes/No型質問木のノードIDと、親ノード検索条件リストと、分割対象リストの長さと、最大評価値と、枝/葉フラグと、項目ラベルとを有する表形式のデータが記載されている表である。
【0041】
「親ノード検索条件リスト」は、当該ノードの親ノードにおける検索条件を表現するリストである。根(ノードID=1)から親ノードまでのパスに存在する検索条件を、2重に評価しないために、この親ノード検索条件リストが利用されている。
【0042】
「分割対象リストの長さ」は、当該ノードが分割しようとしている分割対象リストに含まれるデータ数である。つまり、分割対象リストの長さは、途中のYes/Noの分岐のうちで、提示対象として残っている「データ、検索条件、適合度」の対の集合であり、その要素数である。
【0043】
「最大評価値」は、当該ノードにおける最大評価値を示す関数である。この評価値は、どのような質問木が最適と考えるかによって変わり、つまり、質問木の作り方によって変わる。
【0044】
「枝/葉フラグ」は、Yes/No質問木のうちで当該ノードが、質問を示すノード(枝)であれば、そのフラグは「1」であり、質問に回答した後に出現する検索データ群を示すノード(葉)であれば、そのフラグは「0」である。つまり、枝/葉フラグが1であれば、枝であることを示し、枝/葉フラグが0であれば、葉である。すなわち、質問木は、質問を示すノード(枝)と、検索データ群を示すノード(葉)とによって構成され、「枝/葉フラグ」は、枝であるかまたは、葉であるかを区別するフラグである。
【0045】
「項目ラベル」は、枝のノードにおいて、質問を示す検索条件であり、葉のノードにおいて、Yes/Noの質問木に回答した後に出力される検索データ群である。
【0046】
次に、Yes型質問木のノードIDを作成する規則について説明する。
【0047】
図6は、質問木にノードIDが記入されている質問木の例を示す図である。
【0048】
Yes型質問木のノードIDを作成する場合、図6に示すように、質問木の根のIDを「1」とし、ノードiの子のノードのうちで左に記載される子のノードIDを、「2i」とし、右に記載される子のノードIDを、「2i+1」とする。
【0049】
図1に戻り、最適パターン表作成部7は、分割対象リスト3に基づいて、最適パターン表6を作成する。
【0050】
最適質問木作成部8は、非分割対数リスト4と最適パターン表6とに基づいて、最適質問木9を作成する。最適パターン表6には、図5に示すように、各ノードIDにおいて、親ノード検索条件リストに依存する最適な検索条件(最大評価値を有する検索条件)が、項目ラベルに記録されている。
【0051】
そして、質問木の根の親ノード検索条件リストと、項目ラベルとを組合せたものを、次の質問木の階層の親ノード検索条件リストにし、この親ノード検索条件リストを持つ最適な質問項目を、次の質問項目とし、このような処理を再帰的に実行する。
【0052】
たとえば、質問木の根の親ノード検索条件リストが、「root テロ」であり、その項目ラベルが、「韓国」である場合、「root テロ」と「韓国」とを組合せたものは、「root テロ、韓国」であり、この「root テロ、韓国」を、次の質問木の階層の親ノード検索条件リストにし、この親ノード検索条件リストを持つ最適な質問項目(最大評価値を持つ検索条件)、つまり「韓国」を、次の質問項目とし、このような処理を再帰的に実行する。
【0053】
このようにして、最適質問木9を抽出する。また、質問木に対して全てNoと回答した終端ノードを示す集合を、非分割対象リスト4に追加する。
【0054】
図7は、最適質問木9が持つ表形式のデータを示す図である。
【0055】
最適質問木9は、図7に示すように、Yes/No型質問木におけるノードIDと、分割対象リストの長さと、最大評価値と、枝/葉フラグと、項目ラベルとを持つ表形式のデータを持つ。
【0056】
図7に示す最適質問木9が持つ表形式のデータは、図5に示す最適パターン表6の項目から、「親ノード検索条件リスト」を除去したものである。
【0057】
次に、上記実施例において、Yes/No型質問木を作成する動作について説明する。
【0058】
図8は、上記実施例において、Yes/No型質問木を作成する基本動作を示すフローチャートである。
【0059】
まず、一覧上限可能数と、質問木選択上限数とを入力することによって、初期設定する(S1)。
【0060】
「一覧上限可能数」は、情報を閲覧するインタフェースにおいて一覧することができる程度の件数である。たとえば、携帯端末や音声インタフェースの場合、一覧上限可能数は、3〜7件程度である。3〜7件以外の任意の件数を、一覧上限可能数として設定することができる。
【0061】
「質問木選択上限数」は、ユーザがYes/Noを選択する回数のうちで、ユーザが許容できる回数である。たとえば、2、3回である。2、3回以外の任意の回数を設定することができる。
【0062】
そして、分割対象リスト3と、非分割対象リスト4とを作成する(S2)。つまり、分割対象リスト作成部5が、各データに対して、図3に示す任意の検索条件が適合する度合いを示す適合度を付与する。この適合度は、基本的には、各検索条件の検索結果に含まれるか否かを示す2値データである。
【0063】
また、検索データが各検索条件の検索結果に含まれる場合(条件に適合する場合)に、上記検索データが各検索条件に適合する度合いを、TF/IDF値等を用いた順序尺度として表現する。
【0064】
この順序尺度は、0〜100の間の整数値であるが、データが各検索条件に適合する尺度であれば、他の尺度を使用するようにしてもよい。また、本実施例では、適合度が「0」よりも大きい場合に、適合するデータとするので、図3に示す適合度を付与したデータ対検索条件の表から、「0」よりも大きい適合度を持つデータと、検索条件との組合せだけを抽出し、図2に示すように、データ、該当検索条件群(適合)との対によって構成される分割対象リスト3を作成する。
【0065】
また、予め登録されている検索条件のうちで、いずれの検索条件の検索結果にも含まれないデータをリストとして抽出した非分割対象リスト4を、図4に示すように、作成する。
【0066】
そして、図5に示す最適パターン表6を作成する(S3)。つまり、最適パターン表作成部7が、分割対象リスト3に基づいて、図5に示す最適パターン表6を作成する。最適パターン表6を作成する動作の詳細については、後述する。
【0067】
その後、最適質問木9を抽出する(S4)。つまり、最適質問木作成部8が、非分割対象リスト4と最適パターン表6とに基づいて、最適質問木9を作成する。最適パターン表6には、各ノードIDにおいて、親ノード検索条件リストに依存する最適な検索条件が、項目ラベルに記録されている。
【0068】
そして、質問木の根の親ノード検索条件リストと、項目ラベルとを組合せたものを、次の質問木の階層の親ノード検索条件リストにする。この親ノード検索条件リストを持つ最適な質問項目を、次の質問項目とする処理を、再帰的に実行することによって、最適質問木9を抽出する。また、質問木に対して、全てNoと回答した終端ノードを示す集合に、非分割対象リスト4を追加する。
【0069】
図9は、最適パターン表6を作成する動作(S3)を詳細に示すフローチャートである。
【0070】
最適パターン表9を作成する(S3)場合、再帰処理を行う。
【0071】
まず、最適パターン表作成部7が、ノードID、分割対象リスト、親ノード検索条件リストを取得する(S3−1)。最適パターン表6を作成する場合、再帰処理を行うので、初期状態では、ノードIDとして、質問木の根のノードを示す「1」を与え、分割対象リストとして、文書データベースに含まれている検索データの全体を与え、親ノード検索条件リストに、根を示す「root」という文字列を与える。
【0072】
S3−2では、最適パターン表作成部7が、最適パターン表6へ追加するレコードのバッファとして、現在の分割対象リストに関する値を、分割対象リスト3の長さ、最大評価値、枝/葉フラグ、項目ラベルの項目に、それぞれ代入する。
【0073】
「分割対象リストの長さ」は、分割対象リスト3中のデータ数である。分割対象リストを入力した場合における何らかの関数に基づいて得られる評価値を、最大評価値として代入する。この評価値は、質問木の精度を表現する値であれば、どのような値でもよく、枝/葉フラグとして、葉を示す0を代入する。また、項目ラベルとして、分割対象リストに含まれている検索データ群を、現ノードにおける適合度の高い順にリスト形式で代入する。
【0074】
S3−3では、現在の階層数が、既に入力されているYes/No選択上限数以上であれば、ステップS3−4に進み、現在の階層数が、Yes/No選択上限数未満であれば、ステップS3−5へ進む。
【0075】
S3−4では、ステップS3−2またはS3−14において、バッファとして保持しているデータを、新規レコードとして、最適パターン表6へ追加する。最大評価値を、本フローチャートの呼び出し元へ返し、処理を終了する。
【0076】
S3−5では、分割対象リスト3の長さが、既に入力されている一覧可能上限数以下であれば、ステップS3−4に進み、一覧可能上限数よりも長ければ、ステップS3−6へ進む。
【0077】
S3−6では、分割対象リスト3から、検索条件を抽出し、親ノード検索条件リストに含まれていない検索条件を、評価すべき検索条件として抽出する。
【0078】
図10は、データと検索条件群(適合度)との関係を示す表の例と、質問木の例とを示す図である。
【0079】
たとえば、図10(2)に示すように、ノードIDが10であるノードにおいて、評価対象(検索データ)の検索条件を取得する場合、分割対象リスト3から、「テロ」、「横須賀」、「中国」の検索条件が抽出されたとする。しかし、この場合、検索条件「横須賀」は、図10(2)に示すように親ノード検索条件リストに含まれているので、「横須賀?」という質問を再度実行することを阻止するために、「横須賀」の検索条件を除外し、「テロ」、「中国」が評価すべき検索条件として取得される。
【0080】
S3−7では、評価すべき検索条件の数が0個であれば、ステップS34に進み、0個以外であれば、ステップS3−8へ進む。
【0081】
S3−8では、評価すべき検索条件を1つずつ評価する動作を繰り返す。全ての評価すべき検索条件を評価し終われば、ステップS3−4に進み、評価していない評価すべき検索条件があれば、評価する検索条件を抽出し、ステップS3−9へ進む。
【0082】
S3−9では、ステップS3−8で評価対象として抽出された検索条件によって、分割対象リスト3を分割する。分割対象リスト3に含まれているデータのうちで、評価対象が検索条件に適合する適合度が0よりも大きいデータは、Yes側のリストとして抽出され、残りのデータが、No側のリストとして分割される。また、次階層の親ノード検索条件リストとして、現ノードの親ノード検索条件リストに、現在評価している検索条件を追加する。
【0083】
S3−10では、次階層のYes側ノードの最大評価値を求めるために、現在のノードIDを2倍した値を、新たなノードIDとし、また、Yes側のリストを分割対象リスト3とし、さらに、ステップS3−9で取得した次階層の親ノード検索条件リストを、再帰的に呼び出す。
【0084】
S3−11では、次階層のNo側ノードの最大評価値を求めるために、現在のノードIDを2倍した値に1を足した値を、新たなノードIDとし、また、No側のリストを、分割対象リスト3とし、さらに、ステップS3−9で取得した次階層の親ノード検索条件リストを、再帰的に呼び出す。
【0085】
S3−12では、ステップS3−10で取得したYes側の最大評価値と、S3−11で取得したNo側の最大評価値とを足したものを、現在評価している検索条件に対する「分割の評価値」に、代入する。
【0086】
S3−13では、ステップS3−12で取得した分割の評価値が、上記フローチャートにおける最大評価値よりも大きければ、ステップS3−14に進み、上記フローチャートにおける最大評価値以下であれば、ステップS3−8に進む。
【0087】
S3−14では、最適パターン表6へ追加するレコードのバッファとして、現在評価している検索条件による分割の情報を、最大評価値、枝/葉フラグ、項目ラベルに代入する。分割の評価値が最大評価値よりも大きい(S3−13)ので、枝/葉フラグとして、枝を示す「1」を代入する。また、項目ラベルとして、現在評価している検索条件を代入する。分割対象リスト3の長さとして、ステップS3−2で代入した値をそのまま使う。
【0088】
上記第1の実施例によれば、予め登録されている検索条件と、検索対象であるデータベースとが存在し、各データに対する各検索条件が適合する度合いを示す適合度を算出することができる場合に、検索条件をYes/Noで選択する質問木によって、検索対象を絞り込み、表示するYes/No型質問木を作成する場合、任意の検索条件で検索できる検索データ群を抽出し、この抽出された検索データ群を、任意の検索条件で検索可能な検索データ群と、検索できない検索データ群とに分割する処理の対象とする手段と、登録されている検索条件のうちで、分割の対象となる検索データ群に対して検索結果が存在する検索条件だけを、質問木を構成する検索条件として作成し、再帰的に分割する手段と、再帰的に検索データ群を分割する上で、当該検索データ群を入力した場合における評価値を、当該検索データ群の最大評価値とする手段と、再帰的に検索データ群を分割する検索条件によって検索可能な検索データ群の最大評価値と、検索できない検索データ群の最大評価値とを足し合わせたものを、当該検索条件における分割の最大評価値とする手段と、上記最大評価値が最も大きくなるように、検索条件で検索データを分割する質問木、または、分割の対象となる検索データ群を質問木として設定する質問木設定手段とを備えるので、考えられる質問木構成パターンを全て作成するのではなく、Yes/No型質問木のパターンを作成する前に、分割対象となる検索データ群に検索結果が存在しない検索条件を除外し、したがって、最適なYes/No型質問木を、高速で作成することができる。
【0089】
[第2の実施例]
図11は、本発明の第2の実施例であるYes/No型質問木作成装置において、最適パターン表6を作成する動作を示すフローチャートである。
【0090】
第2の実施例は、基本的には、第1の実施例と同じであり、図9に示すフローチャートにおいて、ステップS3−8の代わりに、ステップS3−15−2とS3−8−2とを設け、検索対象のデータ数が増加した場合でも、考慮すべき検索条件の数が増加した場合でも、処理時間を削減しつつ、作成質問木の精度を確保することができる実施例である。
【0091】
なお、ステップS3−15−2、S3−8−2以外のステップは、第1の実施例におけるステップと同様であるので、その説明を省略する。
【0092】
S3−15−2では、ステップS3−6で取得した各評価すべき検索条件に対して、最適検索条件期待値を算出する。
【0093】
「最適検索条件期待値」は、任意の検索条件を用いて分割対象リスト3を分割することによって、分割の評価値を最大化することができる尺度である
S3−8−2では、最適検索条件期待値が大きい順番に、評価すべき検索条件をソートし、最適検索条件期待値が上位である検索条件だけを、1つずつ評価することを繰り返す。
【0094】
ここでは、上位から一定件数の検索条件を、最適検索条件期待値が上位であると判定してもよく、また、任意の期待値以上の検索条件を、最適検索条件期待値が上位であると判定するようにしてもよい。最適検索条件期待値が上位である検索条件の全てを評価したら、ステップS3−4に進み、全ての評価が終わっていなければ、評価する検索条件を抽出し、ステップS3−9へ進む。
【0095】
上記第2の実施例によれば、登録されている検索条件のうちで、分割の対象となる検索データ群に対して検索結果が存在する検索条件だけを、質問木を構成する検索条件として作成し、再帰的に分割する場合に、各検索条件が最大評価値を導く可能性を示す最適検索条件期待値を算出する手段と、最適検索条件期待値が上位である検索条件のみを用いて、再帰的に検索データ群を分割する手段とを備えるので、検索対象のデータ数が増加した場合でも、考慮すべき検索条件の数が増加した場合でも、処理時間を削減しつつ、作成質問木の精度を確保することができる。
【0096】
[第3の実施例]
図12は、本発明の第3の実施例であるYes/No型質問木作成装置において、最適パターン表6を作成する動作を示すフローチャートである。
【0097】
第3の実施例は、適合度が高いデータに、優先的にアクセスする質問木を作成することができる。
【0098】
また、ステップS3−16−3、S3−17−3以外のステップは、第1の実施例と同様であるので、その説明を省略する。
【0099】
S3−16−3では、最適パターン表作成部7が、各データの現ノードにおける適合度を計算する。
【0100】
「現ノードにおける適合度」は、現ノードの親ノード検索条件リストのうちで、Yesと回答したキーワードに対する適合度の合計値である。
【0101】
図13は、データと検索条件との関係の例を示す図と、質問木の例を示す図とである。
【0102】
たとえば、図13に示すように、現ノードのノードIDが10である場合に、現ノードにおけるデータxの適合度を評価する。データxが現在分類されているノードでは、「ABC」と「横須賀」という検索条件が、Yesであると回答されている。そして、これらの検索条件とデータxとの適合度の合計値を、現ノードにおける適合度とする。
【0103】
なお、「ISDN」というキーワードに対しても回答しているが、Noと回答しているので、現ノードにおけるユーザの検索条件に「ISDN」が含まれず、除外している。これと同様に、分割対象リストに存在している文書全てに対して、この現ノードにおける適合度を評価する。
【0104】
S3−17−3では、最適パターン表作成部7が、分割対象リスト3に含まれている各データのうちで、現ノードにおける適合度が上位であるデータを、一覧可能上限数以内分だけ抽出し、この値を合計したものを、分割対象リスト3の評価値として算出する。
【0105】
上記第3の実施例によれば、第1の実施例において、各検索条件が各データに適合する度合いを示す適合度が、相互に順序を比較可能な順序尺度である場合に、再帰的に検索データ群を分割する上で、質問木の親のノードでYesと回答し、選択した検索条件に対する任意データの適合度の合計値を、当該データの現ノードにおける適合度として算出する手段と、再帰的に検索データ群を分割する上で、分割対象となるデータのうち現ノードにおける連合度が上位であるデータを、一覧性の低い端末でも一覧できる程度の件数(所定件数)分だけ抽出し、現ノードにおける適合度を合計したものを分割の対象となる検索データ群の評価値とする手段とを備えるので、適合度が高いデータに優先的にアクセスする質問木を作成することができる。
【0106】
[第4の実施例]
図14は、本発明の第4の実施例であるYes/No型質問木作成装置において、最適パターン表6を作成する動作(S3)を示すフローチャートである。
【0107】
第4の実施例は、検索対象のデータ数が増加した場合でも、考慮すべき検索条件の数が増加した場合でも、処理時間を削減しつつ、適合度が高いデータに優先的にアクセスする質問木の精度を確保することができる実施例である。
【0108】
また、図14に示すフローチャートにおいて、ステップS3−15−4、S3−8−4以外は、第3の実施例と同様であるので、その説明を省略する。
【0109】
S3−15−4では、ステップS3−6で取得した各評価対象キーワードに対して、最適検索条件期待値を算出する。
【0110】
「最適検索条件期待値」は、分割対象リスト3の各データに対する適合度を、各キーワード毎に合計した値である。
【0111】
図15は、データと検索条件との関係の例を示す図である。
【0112】
たとえば、図15に示すように、2つのデータからなる分割対象リスト3が存在する場合、各検索条件のデータ1に対する適合度と、データ2に対する適合度とを合計した値が、最適検索条件期待値である。
【0113】
S3−8−4では、評価すべき検索条件を、最適検索条件期待値が大きい順番にソートし、最適検索条件期待値が上位の検索条件だけを1つずつ評価する動作を繰り返す。
【0114】
ここでは、上位からの一定件数の検索条件を、最適検索条件期待値が上位であると判定する場合があり、また、任意の期待値以上の検索条件を最適検索条件期待値が上位であると判定する場合もある。最適検索条件期待値が上位である検索条件の全てを評価したら、ステップS3−4に進む。最適検索条件期待値が上位である検索条件のうちで、評価していない検索条件が残っていれば、評価する検索条件を抽出し、ステップS3−9へ進む。
【0115】
上記第4の実施例によれば、登録されている検索条件のうちで、分割の対象となる検索データ群に対して検索結果が存在する適合度を保持する検索条件だけを、質問木を構成する検索条件として作成し、再帰的に分割する場合に、分割対象となる検索データ群に対する適合度を各検索条件毎に合計した値を、当該検索条件の最適検索条件期待値する手段を備えるので、検索対象のデータ数が増加した場合でも、考慮すべき検索条件の数が増加した場合でも、処理時間を削減しつつ、適合度が高いデータに優先的にアクセスする質問木の精度を確保することができる。
【0116】
[第5の実施例]
図16は、本発明の第5の実施例であるYes/No型質問木作成装置の最適パターン表6を作成する動作を示すフローチャートである。
【0117】
第5の実施例は、ユーザがYes/No型質問木を回答した後に、検索データ群を閲覧する上で、閲覧する端末の一覧性が低い場合(所定の場合)でも、Yes/No選択上限以内分だけ、Yes/Noを回答すれば、閲覧する検索データ群を一覧することができる件数にまで絞り込まれるので、何度質問を繰り返して絞り込んでも大量の検索結果が残るという可能性が減少する実施例である。
【0118】
なお、図16に示すフローチャートにおいて、ステップS3−18−5、S3−19−5、S3−20−5以外のステップは、第1の実施例におけるステップと同様であるので、その説明を省略する。
【0119】
S3−18−5では、分割対象リスト3の長さが、一覧可能上限数以下であれば、ステップS3−19−5へ進み、一覧可能上限数よりも長ければ、ステップS3−20−5に進む。
【0120】
S3−19−5では、分割対象リスト3の評価値に、分割対象リスト3の長さを代入し、ステップS3−2へ進む。
【0121】
S3−19−5では、分割対象リスト3の評価値に、0を代入し、ステップS3−2に進む。
【0122】
上記第5の実施例によれば、第1の実施例において、ユーザがYes/No型質問木を回答し、検索データ群を閲覧する上で、閲覧する端末の一覧性が低い場合に、再帰的に検索データ群を分割する上で、分割対象となるデータ数が一覧性の低い端末でも、一覧可能な件数(所定件数)以下である場合に、分割対象となるデータ数を、分割の対象となる検索データ群の評価値とし、分割対象となるデータ数が一覧可能な件数(所定件数)よりも多い場合は、0を分割の対象となる検索データ群の評価値とする手段を備えるので、ユーザがYes/No型質問木を回答した後に、検索データ群を閲覧する上で、閲覧する端末の一覧性が低い端末である場合でも、Yes/No選択上限以内分だけYes/Noを回答すれば、閲覧する検索データ群が一覧できる件数に絞り込まれ、何度質問を繰り返して絞り込んでも、大量の検索結果が残るという可能性が減少する。
【0123】
なお、上記実施例を、プログラムの発明として把握することができる。すなわち、上記実施例は、予め登録されている検索条件と、検索対象である検索データによって構成されているデータベースとが存在し、上記検索条件についてYes/Noで答えることによって上記検索データを絞り込むYes/No型質問木を作成する場合、所定の検索条件によって検索データ群を抽出し、上記抽出された検索データ群を、任意の検索条件で検索できる検索データ群と、上記任意の検索条件では検索できない検索データ群とに分割するデータ分割手順と、上記登録されている検索条件のうちで、上記検索データ群について検索結果が在在する検索条件だけを、上記質問木を構成する検索条件として作成し、上記検索データ群を再帰的に分割する再帰的分割手順と、上記再帰的に検索データ群を分割する場合における当該検索データ群の評価値を、当該検索データ群における最大評価値という関数に代入する関数代入手順と、所定の検索条件で検索できる検索データ群の最大評価値と、上記所定の検索条件で検索できない検索データ群の最大評価値とを足し合わせた値を、当該検索条件における分割の最大評価値として決定する最大評価値決定手順と、上記最大評価値が最も大きくなるように、検索条件で検索データを分割する質問木、または、分割の対象となる検索データ群を質問木として設定する質問木設定手順とをコンピュータに実行させるプログラムの例である。
【0124】
また、上記プログラムをコンピュータ読み取り可能な記録媒体に記録するようにしてもよい。この場合、上記録媒体として、FD、CD、DVD、HD、半導体メモリ等が考えられる。
【0125】
【発明の効果】
本発明によれば、全ての検索条件を再帰的に評価せずに、最適な質問木を得られる可能性が高い検索条件を選択的に評価し、処理時間を削減しつつ、作成質問木の精度を確保することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1の実施例であるYes/No型質問木作成装置100を示す図である。
【図2】分割対象リスト3を示す図であり、検索データと、検索条件群(適合度)との関係を表す図である。
【図3】検索条件が各データに適合する度合いである適合度の例を示す図である。
【図4】非分割対象リスト4の例を示す図である。
【図5】最適パターン表6の内容例を示す図である。
【図6】質問木にノードIDが記入されている質問木の例を示す図である。
【図7】最適質問木9が持つ表形式のデータを示す図である。
【図8】上記実施例において、Yes/No型質問木を作成する基本動作を示すフローチャートである。
【図9】最適パターン表6を作成する動作(S3)を詳細に示すフローチャートである。
【図10】データと検索条件群(適合度)との関係を示す表の例と、質問木の例とを示す図である。
【図11】本発明の第2の実施例であるYes/No型質問木作成装置において、最適パターン表6を作成する動作を示すフローチャートである。
【図12】本発明の第3の実施例であるYes/No型質問木作成装置において、最適パターン表6を作成する動作を示すフローチャートである。
【図13】データと検索条件との関係の例を示す図と、質問木の例を示す図とである。
【図14】本発明の第4の実施例であるYes/No型質問木作成装置において、最適パターン表6を作成する動作(S3)を示すフローチャートである。
【図15】データと検索条件との関係の例を示す図である。
【図16】本発明の第5の実施例であるYes/No型質問木作成装置の最適パターン表6を作成する動作を示すフローチャートである。
【符号の説明】
100…Yes/No型質問木作成装置、
1…登録検索条件リスト、
2…検索対象データベース、
3…分割対象リスト、
4…非分割対象リスト、
5…分割対象リスト作成部、
6…最適パターン表、
7…最適パターン表作成部、
8…最適質問木作成部、
9…最適質問木。
[0001]
BACKGROUND OF THE INVENTION
The present invention creates a Yes / No type query tree so that data can be efficiently selected even in an interface with few input / output means when searching data from a large amount of database using search conditions registered in advance. The present invention relates to a Yes / No question tree creation device, a Yes / No question tree creation method, a program, and a recording medium.
[0002]
[Prior art]
At present, it is possible to connect to the Internet not only from a personal computer but also from any terminal such as a mobile phone, a fixed phone, a television, and a radio.
[0003]
The personal computer has a display (output means) with a high resolution, and has a keyboard and mouse (input means) capable of inputting a relatively large amount of information per unit time. Then, a stable operation posture of facing the office or home desk, sitting on a chair, and operating the input / output means is a premise of the personal computer operation.
[0004]
On the other hand, the interface with non-PC is an extension of home appliances that can be used easily, but has few input / output means. For example, since a mobile phone has a small and simple terminal, the display is small and the resolution is low. The input means are a numeric keypad and an arrow key, and the amount of information that can be input per unit time is relatively small compared to a personal computer. Also, the operation posture is quite unstable, such as holding a mobile phone with one hand while standing and operating with a thumb. The lack of the above input means is common to televisions, radios and landlines.
[0005]
In recent years, Internet access services using telephone voice calls are also emerging. There is no audio output listing, and information flows along the time axis. Furthermore, although voice input has a high degree of freedom, the recognition rate decreases when the utterance vocabulary is large. Furthermore, when the ambient noise is large, such as a mobile phone, or when the call quality is low, it is assumed that the recognition rate is guaranteed by reducing the number of utterance words. Further, since the voice interface is hands-free, it is assumed to be used in a car. In this case, the operating posture is driving and is further unstable.
[0006]
In other words, in the interface by a non-PC device, input / output means are greatly restricted. For this reason, in order to search for desired data from a large amount of database by a non-PC device, it is often difficult to input a search condition with a large amount of information such as a free keyword.
[0007]
Therefore, a search interface is required in which the apparatus searches the database according to a plurality of search conditions registered in advance and selects the search result well.
[0008]
In this regard, Miyamoto et al. Have proposed a narrowing-down method based on a prior narrowing-down menu in Japanese Patent Application No. 2000-040094 (Title of the invention: data retrieval support method and apparatus and storage case storing a data search support program). .
[0009]
In this conventional apparatus, based on a recommended refinement condition group prepared in advance by a search service provider, a refinement search based on a logical product of the recommended refinement conditions is performed on the search target set, and an acceptable degree of refinement is performed. Depending on the number of times, even on a mobile terminal with a small screen such as a mobile phone, search conditions that can be narrowed down to a list are extracted and displayed as a menu.
[0010]
If the allowable number of times of narrowing is set to a very small number of times, for example, two times, it is possible to select a narrowing screen recommended for a search service provider twice using this narrowing menu, even on a narrow screen of a mobile phone. , To ensure that the search results can be listed.
[0011]
[Problems to be solved by the invention]
However, since the above-described prior narrowed menu uses a menu for selecting an arbitrary menu item from a plurality of menu items (hereinafter, a multi-item type menu), the interface is the same as that of a general menu.
[0012]
Accordingly, when the output means is extremely low in listability like voice, the operation load for selecting and storing a plurality of menu items while listening to the voice is equivalent to that of the conventional menu.
[0013]
Therefore, the amount of information sequentially input by the user to select information is limited to the minimum 1 bit, and the most thimble selection means is provided. That is, by presenting a question tree in a Yes / No question format (hereinafter referred to as “Yes / No-type question tree”) to the user and sequentially responding with Yes / No, the search target is 1 bit at a time. An interface that narrows down is assumed. As a result, it is possible to provide an interface that allows easy input even with simple input means of a non-personal computer.
[0014]
Here, the search interface based on the above-mentioned question tree has a binary tree structure like the optimal question tree 9 shown in FIG.
[0015]
Each node corresponds to each search condition, and when the presented search condition is adopted, the process proceeds to the child node on the left side of the node, and the data that hits the search expression is the presentation target. Conversely, when the presented search condition is not adopted, the process proceeds to the child node on the right side of the node, and data that does not hit the search formula is the presentation target.
[0016]
In order to narrow down the search target efficiently, what kind of search condition is assigned to each node is an important point.
[0017]
However, there are many patterns as a question tree that can be created based on search conditions registered in advance, and there is a problem that the amount of calculation increases if all patterns are compared and evaluated in the dark clouds.
[0018]
The present invention creates a Yes / No type query tree so that data can be selected efficiently even in an interface with few input / output means when data is selected from a large number of databases using pre-registered search conditions. An object of the present invention is to provide a Yes / No question tree creation device, a Yes / No question tree creation method, a program, and a recording medium.
[0019]
Further, there is a problem that processing time inevitably increases when the number of data to be searched increases or when the number of search conditions to be considered increases.
[0020]
The present invention selectively evaluates search conditions that are highly likely to obtain an optimal query tree without recursively evaluating all search conditions, and reduces the processing time, while creating a created query tree. An object of the present invention is to provide a Yes / No question tree creation device, a Yes / No question tree creation method, a program, and a recording medium that can ensure accuracy.
[0021]
Furthermore, the present invention can automatically create a query tree that preferentially accesses data having a high degree of matching when the degree of matching of search conditions for each data is an order measure that can be compared with each other. Further, it is an object of the present invention to provide a Yes / No question tree creation device, a Yes / No question tree creation method, a program, and a recording medium, which can be processed at high speed.
[0022]
And this invention, after a user answers a Yes / No type | mold question tree, even when the list property of the terminal to browse is low when browsing a search data group, it is only Yes / No selection upper limit. If you answer No, you can narrow down to the number of search data groups that you can browse, and therefore you can reduce the possibility that a large number of search results will remain even if you narrow down the question repeatedly. It is an object of the present invention to provide a type question tree creation device, a Yes / No type question tree creation method, a program, and a recording medium.
[0023]
[Means for Solving the Problems]
  The present invention comprises a search condition registered in advance and a database of search data to be searched, and a Yes / No type question tree for narrowing down the search data by answering Yes / No for the search condition. In the Yes / No type question tree creation device to be created, a route node processing means for setting a node to be a route having the search data to be searched as a search data set and calling the node processing means, and a search data set are provided. And setting the evaluation value obtained by inputting the search data set to the predetermined function as the maximum evaluation value of the node, and if the current hierarchy number is equal to or greater than the Yes / No selection upper limit number, the maximum evaluation value is If it is returned to the caller and the current number of hierarchies is less than the Yes / No selection upper limit, the search data set corresponding to the node For each search condition as a target, the search data set that satisfies the search condition and the search data set that does not satisfy the search condition are divided, and each node of the two divided search data sets is generated, and the generated node The evaluation value of the node that is generated by recursively calling the node processing means that is itself is obtained, the evaluation value of the node of the search data set that satisfies the search condition, and the node of the search data set that does not satisfy the search condition A node processing unit that obtains a sum of the evaluation value of each of the search conditions, obtains a maximum evaluation value that maximizes the sum among the search conditions, and returns the maximum evaluation value to the caller. This is a No-type question tree creation device.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
[First embodiment]
FIG. 1 is a diagram showing a Yes / No type question tree creating apparatus 100 according to the first embodiment of the present invention.
[0025]
The Yes / No question tree creation device 100 does not create all possible question tree configuration patterns, but creates search results in the search data group to be divided before creating a Yes / No question tree pattern. This is a device that excludes search conditions that do not exist, and thereby creates an optimal Yes / No question tree at high speed.
[0026]
The Yes / No type question tree creation device 100 includes a registered search condition list 1, a search target database 2, a split target list 3, a non-split target list 4, a split target list creating unit 5, and an optimum pattern table 6. The optimum pattern table creation unit 7 and the optimum question tree creation unit 8 are provided. When an “listable upper limit number” to be described later and a “Yes / No selection upper limit number” to be described later are input as inputs, an optimal Yes is obtained. / No type query tree 9 is output.
[0027]
The registered search condition list 1 is a list of search conditions registered in advance, and this pre-registered search condition is held for each user, but is a list of search conditions recommended by the search service provider. May be.
[0028]
The search target database 2 is a database that stores search data to be searched, and may be a relational database or a text file group for full text search. As long as the database returns the search result, another database may be used.
[0029]
FIG. 2 is a diagram showing the division target list 3, and is a diagram showing the relationship between the search data and the search condition group (fitness).
[0030]
The division target list 3 is a list created by the division target list creation unit 5 based on the search target database 2, and as shown in FIG. 2, the search data, the search condition group, and the matching of the search condition and the data It is composed of degrees.
[0031]
That is, the division target list 3 is search data included in a search result searched from the search target database 2 according to at least one search condition. When there are few search results for the search condition in the search target database 2, the compression efficiency is high.
[0032]
The non-division target list 4 is a list obtained by extracting from the search target database 1 search data that is not included in the search results of any of the search conditions registered in advance. The list creation unit 5 creates the non-dividing target list 4. This non-dividing target list 4 is not a list that exists for each search condition, but is a list that exists only for one database.
[0033]
FIG. 3 is a diagram illustrating an example of the degree of matching that is the degree to which the search condition matches each data.
[0034]
As illustrated in FIG. 3, the division target list creation unit 5 assigns a matching degree indicating a degree to which the search condition matches each data. This conformity is basically binary data indicating whether or not it is included in the search result of each search condition. Further, when the predetermined search data is included in the search result of the predetermined search condition, the degree to which the predetermined search data matches the predetermined search condition is expressed as an order scale using a TF / IDF value or the like. . This order scale is an integer value between 0 and 100. Other measures may be used instead of the order measure using the TF / IDF value or the like as long as the search data indicates the degree of matching with the search condition.
[0035]
Further, in this embodiment, search data having a fitness level greater than “0” is considered to be search data that matches, and therefore, from a table of search data versus search conditions to which the fitness level is assigned, from “0”. Only a combination of data having a higher matching degree and a search condition is extracted, and a division target list 3 composed of the data and a corresponding search condition group (fitness degree) is created as shown in FIG. .
[0036]
FIG. 4 is a diagram illustrating an example of the non-dividing target list 4.
[0037]
Of the search conditions registered in advance, data that is not included in the search results of any search condition is extracted as a list, and as shown in FIG.
[0038]
FIG. 5 is a diagram showing an example of the contents of the optimum pattern table 6.
[0039]
In FIG. 5, a plurality of rows having a node ID “2” are described. This is because when the parent node is “ABC”, “Terror”,..., The node ID “2” may be used to inquire about the content described in the item label. A plurality of rows having a node ID “2” are described. Therefore, in FIG. 5, a plurality of rows with the node ID “3” are also described.
[0040]
The optimum pattern table 6 is a table created by the optimum pattern table creation unit 7 based on the division target list 3, and as shown in FIG. 5, the node ID of the Yes / No question tree and the parent node search condition list And table-format data having the length of the division target list, the maximum evaluation value, the branch / leaf flag, and the item label.
[0041]
The “parent node search condition list” is a list expressing search conditions in the parent node of the node. This parent node search condition list is used so that the search condition existing in the path from the root (node ID = 1) to the parent node is not evaluated twice.
[0042]
The “length of the division target list” is the number of data included in the division target list that the node intends to divide. In other words, the length of the division target list is a set of “data, search conditions, goodness of fit” pairs remaining as presentation targets among Yes / No branches in the middle, and is the number of elements.
[0043]
The “maximum evaluation value” is a function indicating the maximum evaluation value at the node. This evaluation value changes depending on what kind of question tree is considered optimal, that is, it changes depending on how the question tree is formed.
[0044]
The “branch / leaf flag” is “1” if the node in the Yes / No question tree is a node (branch) indicating a question, and the search data group that appears after answering the question Is a node (leaf) indicating “0”. That is, if the branch / leaf flag is 1, it indicates a branch, and if the branch / leaf flag is 0, it is a leaf. That is, the question tree is composed of nodes (branches) indicating questions and nodes (leaves) indicating search data groups, and the “branch / leaf flag” distinguishes whether it is a branch or a leaf. Flag.
[0045]
The “item label” is a search condition indicating a question in the branch node, and is a search data group output after answering the Yes / No question tree in the leaf node.
[0046]
Next, a rule for creating a node ID of a Yes type question tree will be described.
[0047]
FIG. 6 is a diagram illustrating an example of a question tree in which a node ID is entered in the question tree.
[0048]
When creating a node ID of a Yes-type question tree, as shown in FIG. 6, the root ID of the query tree is “1”, and the child node ID described on the left among the child nodes of the node i is “ 2i ”and the child node ID described on the right is“ 2i + 1 ”.
[0049]
Returning to FIG. 1, the optimum pattern table creation unit 7 creates the optimum pattern table 6 based on the division target list 3.
[0050]
The optimum question tree creation unit 8 creates an optimum question tree 9 based on the non-divided logarithm list 4 and the optimum pattern table 6. In the optimum pattern table 6, as shown in FIG. 5, the optimum search condition (search condition having the maximum evaluation value) depending on the parent node search condition list is recorded in the item label for each node ID.
[0051]
Then, the combination of the parent node search condition list at the root of the question tree and the item label is used as the parent node search condition list in the next question tree hierarchy, and the optimum question item having this parent node search condition list is Such a process is recursively executed.
[0052]
For example, the parent node search condition list of the root of the query tree is “root” Terror "and the item label is" Korea " The combination of “terrorism” and “Korea” is “root” "Terror, Korea" and this "root" “Terror, Korea” is the parent node search condition list of the next question tree hierarchy, and the best question item (search condition with the maximum evaluation value) having this parent node search condition list, that is, “Korea” This process is recursively executed as a question item.
[0053]
In this way, the optimal question tree 9 is extracted. In addition, a set indicating terminal nodes that have replied No to the query tree is added to the non-division target list 4.
[0054]
FIG. 7 is a diagram showing tabular data held by the optimal question tree 9.
[0055]
As shown in FIG. 7, the optimal question tree 9 has a tabular format having a node ID, a length of a division target list, a maximum evaluation value, a branch / leaf flag, and an item label in the Yes / No type question tree. Have data.
[0056]
The table format data of the optimum question tree 9 shown in FIG. 7 is obtained by removing the “parent node search condition list” from the items of the optimum pattern table 6 shown in FIG.
[0057]
Next, an operation for creating a Yes / No type question tree in the above embodiment will be described.
[0058]
FIG. 8 is a flowchart showing a basic operation for creating a Yes / No question tree in the above embodiment.
[0059]
First, initial setting is performed by inputting the list upper limit possible number and the query tree selection upper limit number (S1).
[0060]
The “list upper limit possible number” is the number of cases that can be listed in the interface for browsing information. For example, in the case of a mobile terminal or a voice interface, the maximum number of lists that can be listed is about 3-7. Any number of cases other than 3 to 7 can be set as the list upper limit possible number.
[0061]
The “question tree selection upper limit number” is the number of times that the user can tolerate among the number of times the user selects Yes / No. For example, a few times. Any number of times other than 2, 3 can be set.
[0062]
Then, the division target list 3 and the non-division target list 4 are created (S2). That is, the division target list creation unit 5 gives a degree of suitability indicating the degree of suitability of any search condition shown in FIG. 3 to each data. This fitness is basically binary data indicating whether or not it is included in the search result of each search condition.
[0063]
Further, when the search data is included in the search result of each search condition (when the condition is met), the degree to which the search data matches each search condition is expressed as an order scale using TF / IDF values or the like. .
[0064]
The order scale is an integer value between 0 and 100, but other scales may be used as long as the data meets the search conditions. Further, in this embodiment, since the matching data is obtained when the matching degree is larger than “0”, the matching larger than “0” is obtained from the table of the data vs. search condition given the matching degree shown in FIG. Only a combination of data having a degree and a search condition is extracted, and as shown in FIG. 2, a division target list 3 composed of a pair of data and a corresponding search condition group (match) is created.
[0065]
In addition, as shown in FIG. 4, a non-division target list 4 is created by extracting, as a list, data that is not included in the search results of any search condition among the search conditions registered in advance.
[0066]
Then, the optimum pattern table 6 shown in FIG. 5 is created (S3). That is, the optimum pattern table creation unit 7 creates the optimum pattern table 6 shown in FIG. 5 based on the division target list 3. Details of the operation for creating the optimum pattern table 6 will be described later.
[0067]
Thereafter, the optimum question tree 9 is extracted (S4). That is, the optimum question tree creation unit 8 creates the optimum question tree 9 based on the non-division target list 4 and the optimum pattern table 6. In the optimum pattern table 6, an optimum search condition depending on the parent node search condition list is recorded in the item label for each node ID.
[0068]
Then, a combination of the parent node search condition list at the root of the question tree and the item label is used as a parent node search condition list of the next question tree hierarchy. The optimum question tree 9 is extracted by recursively executing the process of setting the optimum question item having the parent node search condition list as the next question item. In addition, the non-division target list 4 is added to a set indicating terminal nodes that have all replied No to the query tree.
[0069]
FIG. 9 is a flowchart showing in detail the operation (S3) for creating the optimum pattern table 6.
[0070]
When the optimum pattern table 9 is created (S3), recursive processing is performed.
[0071]
First, the optimum pattern table creation unit 7 acquires a node ID, a division target list, and a parent node search condition list (S3-1). Since the recursive process is performed when the optimum pattern table 6 is created, in the initial state, “1” indicating the root node of the query tree is given as the node ID, and the search data included in the document database as the division target list is given. The whole is given, and the character string “root” indicating the root is given to the parent node search condition list.
[0072]
In S 3-2, the optimum pattern table creation unit 7 uses, as a buffer for the record to be added to the optimum pattern table 6, the values related to the current division target list, the length of the division target list 3, the maximum evaluation value, and the branch / leaf flag. And assign to the item label items respectively.
[0073]
“Division target list length” is the number of data in the division target list 3. An evaluation value obtained based on some function when the division target list is input is substituted as the maximum evaluation value. This evaluation value may be any value as long as it represents the accuracy of the query tree, and 0 indicating a leaf is substituted as a branch / leaf flag. In addition, the search data group included in the division target list is substituted as an item label in a list format in descending order of suitability at the current node.
[0074]
In S3-3, if the current number of hierarchies is equal to or greater than the Yes / No selection upper limit number already input, the process proceeds to step S3-4, and if the current number of hierarchies is less than the Yes / No selection upper limit number. The process proceeds to step S3-5.
[0075]
In S3-4, the data held as the buffer in step S3-2 or S3-14 is added to the optimum pattern table 6 as a new record. The maximum evaluation value is returned to the caller of this flowchart, and the process ends.
[0076]
In S3-5, if the length of the division target list 3 is equal to or smaller than the listable upper limit number already input, the process proceeds to step S3-4. If the length is longer than the listable upper limit number, the process proceeds to step S3-6. .
[0077]
In S3-6, search conditions are extracted from the division target list 3, and search conditions not included in the parent node search condition list are extracted as search conditions to be evaluated.
[0078]
FIG. 10 is a diagram illustrating an example of a table indicating a relationship between data and a search condition group (goodness of fit) and an example of a query tree.
[0079]
For example, as shown in FIG. 10 (2), when the search condition of the evaluation target (search data) is acquired in the node whose node ID is 10, “terror”, “Yokosuka”, “ It is assumed that the search condition “China” is extracted. However, in this case, since the search condition “Yokosuka” is included in the parent node search condition list as shown in FIG. 10 (2), in order to prevent the question “Yokosuka?” The search condition “Yokosuka” is excluded, and “terrorism” and “China” are acquired as search conditions to be evaluated.
[0080]
In S3-7, if the number of search conditions to be evaluated is 0, the process proceeds to step S34, and if other than 0, the process proceeds to step S3-8.
[0081]
In S3-8, the operation of evaluating the search conditions to be evaluated one by one is repeated. If all the search conditions to be evaluated have been evaluated, the process proceeds to step S3-4. If there is a search condition to be evaluated that has not been evaluated, the search condition to be evaluated is extracted, and the process proceeds to step S3-9.
[0082]
In S3-9, the division target list 3 is divided according to the search condition extracted as the evaluation target in step S3-8. Among the data included in the division target list 3, data having an adaptability that the evaluation target matches with the search condition is larger than 0 is extracted as a list on the Yes side, and the remaining data is used as a list on the No side. Divided. Further, the currently evaluated search condition is added to the parent node search condition list of the current node as the parent node search condition list of the next hierarchy.
[0083]
In S3-10, in order to obtain the maximum evaluation value of the Yes side node of the next hierarchy, a value obtained by doubling the current node ID is set as a new node ID, and the Yes side list is set as the division target list 3. Furthermore, the parent node search condition list of the next hierarchy acquired in step S3-9 is recursively called.
[0084]
In S3-11, in order to obtain the maximum evaluation value of the No side node in the next hierarchy, a value obtained by adding 1 to the value obtained by doubling the current node ID is set as a new node ID, and the list on the No side is also displayed. The division target list 3 is used, and the parent node search condition list of the next hierarchy acquired in step S3-9 is recursively called.
[0085]
In S3-12, a value obtained by adding the maximum evaluation value on the Yes side acquired in Step S3-10 and the maximum evaluation value on the No side acquired in S3-11 to the search condition currently evaluated is divided. Substitute for “evaluation value”.
[0086]
In S3-13, if the evaluation value of the division acquired in step S3-12 is larger than the maximum evaluation value in the flowchart, the process proceeds to step S3-14. If it is equal to or less than the maximum evaluation value in the flowchart, step S3- Proceed to step 8.
[0087]
In S3-14, as the buffer of the record to be added to the optimum pattern table 6, the division information according to the currently evaluated search condition is substituted into the maximum evaluation value, the branch / leaf flag, and the item label. Since the evaluation value of the division is larger than the maximum evaluation value (S3-13), “1” indicating a branch is substituted as the branch / leaf flag. In addition, the currently evaluated search condition is substituted as the item label. As the length of the division target list 3, the value substituted in step S3-2 is used as it is.
[0088]
According to the first embodiment, when there is a search condition registered in advance and a database to be searched, and the degree of suitability indicating the degree of suitability of each search condition for each data can be calculated. In addition, when creating a Yes / No question tree to be displayed by narrowing down the search target by the question tree that selects the search condition by Yes / No, a search data group that can be searched by an arbitrary search condition is extracted and extracted. The search data group is divided into a search data group that can be searched with an arbitrary search condition and a search data group that cannot be searched, and a target of division among the registered search conditions. For the search data group, a search condition for which a search result exists only is created as a search condition constituting a question tree, and a method for recursively dividing and a method for recursively dividing a search data group A means for setting the evaluation value when the search data group is input as the maximum evaluation value of the search data group, and a maximum evaluation value of the search data group that can be searched by a search condition that recursively divides the search data group, The search data is divided by the search condition so that the sum of the maximum evaluation values of the search data group that cannot be searched is the maximum evaluation value of the division in the search condition and the maximum evaluation value is maximized. Since it is provided with a question tree setting means for setting a query tree or a search data group to be divided as a question tree, instead of creating all possible question tree configuration patterns, a Yes / No question tree pattern Before creating a query, exclude search conditions that do not have search results in the search data group to be split, and therefore create an optimal Yes / No question tree at high speed. Rukoto can.
[0089]
[Second Embodiment]
FIG. 11 is a flowchart showing an operation of creating the optimum pattern table 6 in the Yes / No type question tree creating apparatus according to the second embodiment of the present invention.
[0090]
The second embodiment is basically the same as the first embodiment. In the flowchart shown in FIG. 9, steps S3-15-2 and S3-8-2 are used instead of step S3-8. This is an embodiment that can ensure the accuracy of the created query tree while reducing the processing time even when the number of data to be searched increases or the number of search conditions to be considered increases.
[0091]
Steps other than steps S3-15-2 and S3-8-2 are the same as those in the first embodiment, and a description thereof will be omitted.
[0092]
In S3-15-2, the optimum search condition expected value is calculated for each search condition to be evaluated acquired in step S3-6.
[0093]
The “optimum search condition expected value” is a scale that can maximize the evaluation value of the division by dividing the division target list 3 using an arbitrary search condition.
In S3-8-2, the search conditions to be evaluated are sorted in descending order of the optimum search condition expected value, and only the search conditions having the highest optimum search condition expected value are evaluated one by one.
[0094]
Here, a certain number of search conditions from the top may be determined that the optimum search condition expected value is higher, and a search condition that is higher than an arbitrary expected value is the highest optimum search condition expected value. You may make it determine. If all the search conditions with the highest expected value of the optimal search condition are evaluated, the process proceeds to step S3-4. If all the evaluations are not completed, the search condition to be evaluated is extracted, and the process proceeds to step S3-9.
[0095]
According to the second embodiment, among the registered search conditions, only the search conditions that have search results for the search data group to be divided are created as the search conditions constituting the question tree. Then, when recursively dividing, using only means for calculating the optimum search condition expected value indicating the possibility that each search condition leads to the maximum evaluation value, and the search condition having the highest optimum search condition expected value, A means for recursively dividing the search data group, even if the number of search target data increases or the number of search conditions to be considered increases, while reducing the processing time, Accuracy can be ensured.
[0096]
[Third embodiment]
FIG. 12 is a flowchart showing an operation of creating the optimum pattern table 6 in the Yes / No type question tree creating apparatus according to the third embodiment of the present invention.
[0097]
In the third embodiment, a query tree that preferentially accesses data having a high degree of fitness can be created.
[0098]
Steps other than steps S3-16-3 and S3-17-3 are the same as those in the first embodiment, and a description thereof will be omitted.
[0099]
In S3-16-3, the optimum pattern table creation unit 7 calculates the fitness of each data at the current node.
[0100]
The “goodness level at the current node” is the total value of the goodness level for the keyword that answered Yes in the parent node search condition list of the current node.
[0101]
FIG. 13 is a diagram illustrating an example of the relationship between data and search conditions, and a diagram illustrating an example of a query tree.
[0102]
For example, as shown in FIG. 13, when the node ID of the current node is 10, the fitness of the data x at the current node is evaluated. In the node where the data x is currently classified, the search conditions “ABC” and “Yokosuka” are answered as Yes. Then, the total value of the matching levels between these search conditions and the data x is set as the matching level at the current node.
[0103]
In addition, although the answer to the keyword “ISDN” is also made, since “No” is answered, “ISDN” is not included in the search condition of the user in the current node and is excluded. In the same manner, the matching level at this current node is evaluated for all documents existing in the division target list.
[0104]
In S3-17-3, the optimum pattern table creation unit 7 extracts, from among the data included in the division target list 3, the data having the highest fitness at the current node by the number within the listable upper limit. Then, the sum of these values is calculated as the evaluation value of the division target list 3.
[0105]
According to the third embodiment, in the first embodiment, when the degree of matching indicating the degree of matching of each search condition with each data is an order scale that can be compared with each other, recursively. In dividing the search data group, a means for answering Yes at the parent node of the query tree and calculating the total value of the suitability of the arbitrary data for the selected search condition as the suitability at the current node of the data, When recursively dividing the search data group, the data with the highest degree of association in the current node is extracted from the data to be divided by the number of items (predetermined number) that can be listed even on terminals with low listability. And a means for using the sum of the matching levels at the current node as an evaluation value of the search data group to be divided, so that a query tree that preferentially accesses data having a high matching level can be created.
[0106]
[Fourth embodiment]
FIG. 14 is a flowchart showing the operation (S3) for creating the optimum pattern table 6 in the Yes / No type question tree creating apparatus according to the fourth embodiment of the present invention.
[0107]
In the fourth embodiment, even when the number of data to be searched increases or the number of search conditions to be considered increases, a question that preferentially accesses data having high fitness while reducing processing time. This is an embodiment that can ensure the accuracy of the tree.
[0108]
Further, in the flowchart shown in FIG. 14, steps other than steps S3-15-4 and S3-8-4 are the same as those in the third embodiment, and thus the description thereof is omitted.
[0109]
In S3-15-4, an optimum search condition expected value is calculated for each evaluation target keyword acquired in step S3-6.
[0110]
The “optimum search condition expected value” is a value obtained by summing the degree of fitness for each piece of data in the division target list 3 for each keyword.
[0111]
FIG. 15 is a diagram illustrating an example of the relationship between data and search conditions.
[0112]
For example, as shown in FIG. 15, when there is a division target list 3 composed of two pieces of data, a value obtained by summing the degree of matching with respect to data 1 and the degree of matching with data 2 of each search condition is the optimum search condition expectation. Value.
[0113]
In S3-8-4, the search conditions to be evaluated are sorted in descending order of the optimum search condition expected value, and the operation of evaluating only the search conditions having the highest optimum search condition expected value one by one is repeated.
[0114]
Here, a certain number of search conditions from the top may be determined that the optimum search condition expected value is higher, and a search condition that is higher than the expected value is an optimum search condition expected value is higher. Sometimes it is judged. When all the search conditions having the highest optimum search condition expected value are evaluated, the process proceeds to step S3-4. If search conditions that have not been evaluated remain among the search conditions having the highest optimum search condition expected value, the search conditions to be evaluated are extracted, and the process proceeds to step S3-9.
[0115]
According to the fourth embodiment, the query tree is formed only from the registered search conditions that have the matching degree in which the search result exists for the search data group to be divided. When the search condition is created and recursively divided, a value obtained by summing up the degree of fitness for the search data group to be divided for each search condition is provided, so that the optimum search condition expected value of the search condition is provided. Whether the number of data to be searched increases or the number of search conditions to be considered increases, the processing time is reduced and the accuracy of the query tree that preferentially accesses data with high fitness is ensured. Can do.
[0116]
[Fifth embodiment]
FIG. 16 is a flowchart showing an operation of creating the optimum pattern table 6 of the Yes / No type question tree creating apparatus according to the fifth embodiment of the present invention.
[0117]
In the fifth embodiment, after the user answers the Yes / No question tree, the Yes / No selection upper limit even when the list of browsing terminals is low (predetermined) when browsing the search data group. If you answer “Yes / No”, the number of search data groups to be browsed will be narrowed down to the number that can be listed, so the possibility that a large number of search results will remain even if you narrow down the questions repeatedly. This is an example.
[0118]
In the flowchart shown in FIG. 16, steps other than steps S3-18-5, S3-19-5, and S3-20-5 are the same as those in the first embodiment, and a description thereof will be omitted. .
[0119]
In S3-18-5, if the length of the division target list 3 is equal to or less than the listable upper limit number, the process proceeds to step S3-19-5. If it is longer than the listable upper limit number, the process proceeds to step S3-20-5. move on.
[0120]
In S3-19-5, the length of the division target list 3 is substituted for the evaluation value of the division target list 3, and the process proceeds to step S3-2.
[0121]
In S3-19-5, 0 is substituted into the evaluation value of the division target list 3, and the process proceeds to Step S3-2.
[0122]
According to the fifth embodiment, in the first embodiment, when the user answers the Yes / No question tree and browses the search data group, the list of the terminals to be browsed is low. When the number of data to be divided is less than the number of items that can be listed (predetermined number) even if the number of data to be divided is less than the list, the number of data to be divided is divided into If the number of data to be divided is greater than the number of items that can be listed (predetermined number), 0 is provided as the evaluation value of the search data group to be divided. After the user answers the Yes / No question tree, when browsing the search data group, even if the list of terminals to be browsed is low, answer Yes / No only within the Yes / No selection upper limit. Then, the search data group to browse Narrowed down on the number that can be run, also narrowed down repeated many times question, decreases the possibility that a large amount of search results remain.
[0123]
The above embodiment can be grasped as a program invention. That is, in the above embodiment, there is a search condition registered in advance and a database composed of search data to be searched, and the search data is narrowed down by answering Yes / No for the search condition. When creating a / No type query tree, a search data group is extracted according to a predetermined search condition, and the extracted search data group can be searched under an arbitrary search condition, and a search is performed under the arbitrary search condition. A data division procedure for dividing into search data groups that cannot be performed, and among the registered search conditions, only search conditions for which there are search results for the search data groups are created as search conditions that constitute the query tree. And the recursive division procedure for recursively dividing the search data group, and the recursive division procedure for dividing the search data group The function substitution procedure for assigning the evaluation value of the search data group to the function called the maximum evaluation value in the search data group, the maximum evaluation value of the search data group that can be searched under a predetermined search condition, and the search cannot be performed with the predetermined search condition The maximum evaluation value determination procedure for determining the value obtained by adding the maximum evaluation values of the search data group as the maximum evaluation value of the division in the search condition, and the search data in the search condition so that the maximum evaluation value is maximized. This is an example of a program that causes a computer to execute a query tree setting procedure for setting a query tree or a search data group to be split as a query tree.
[0124]
Further, the program may be recorded on a computer-readable recording medium. In this case, FD, CD, DVD, HD, semiconductor memory, etc. can be considered as the upper recording medium.
[0125]
【The invention's effect】
According to the present invention, it is possible to selectively evaluate a search condition that is highly likely to obtain an optimal query tree without recursively evaluating all the search conditions, and reduce the processing time, while creating a created question tree. There is an effect that accuracy can be secured.
[Brief description of the drawings]
FIG. 1 is a diagram showing a Yes / No question tree creation apparatus 100 according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a division target list 3, which shows a relationship between search data and a search condition group (fitness).
FIG. 3 is a diagram illustrating an example of a degree of matching that is a degree to which a search condition matches each data.
FIG. 4 is a diagram illustrating an example of a non-dividing target list 4;
5 is a diagram showing an example of the contents of an optimum pattern table 6. FIG.
FIG. 6 is a diagram illustrating an example of a question tree in which a node ID is entered in the question tree.
FIG. 7 is a diagram showing tabular data possessed by an optimal question tree 9;
FIG. 8 is a flowchart showing a basic operation for creating a Yes / No question tree in the embodiment.
FIG. 9 is a flowchart showing in detail an operation (S3) for creating an optimum pattern table 6;
FIG. 10 is a diagram illustrating an example of a table indicating a relationship between data and a search condition group (goodness of fit) and an example of a query tree.
FIG. 11 is a flowchart showing an operation of creating an optimum pattern table 6 in the Yes / No type question tree creating apparatus according to the second embodiment of the present invention.
FIG. 12 is a flowchart showing an operation of creating an optimum pattern table 6 in the Yes / No type question tree creating apparatus according to the third embodiment of the present invention.
FIG. 13 is a diagram illustrating an example of a relationship between data and search conditions, and a diagram illustrating an example of a query tree.
FIG. 14 is a flowchart showing an operation (S3) for creating an optimum pattern table 6 in the Yes / No type question tree creation apparatus according to the fourth embodiment of the present invention.
FIG. 15 is a diagram illustrating an example of a relationship between data and a search condition.
FIG. 16 is a flowchart showing an operation of creating the optimum pattern table 6 of the Yes / No type question tree creating apparatus according to the fifth embodiment of the present invention.
[Explanation of symbols]
100 ... Yes / No question tree creation device,
1 ... Registration search condition list,
2… Search target database,
3 ... split target list,
4 ... Non-divided target list,
5 ... division target list creation section,
6 ... Optimal pattern table,
7: Optimal pattern table creation unit,
8 ... Optimal question tree creation department,
9 ... Optimal question tree.

Claims (7)

予め登録されている検索条件と、検索対象である検索データからなるデータベースとによって構成され、上記検索条件についてYes/Noで答えることによって上記検索データを絞り込むYes/No型質問木を作成するYes/No型質問木作成装置において、
上記検索対象である検索データを検索データ集合とするルートとなるノードを設定し、ノード処理手段を呼び出すルートノード処理手段と;
検索データ集合が与えられると、所定の関数に検索データ集合を入力して得られる評価値を当該ノードの最大評価値に設定するとともに、現在の階層数がYes/No選択上限数以上であれば、上記最大評価値を呼び出し元に返し、現在の階層数がYes/No選択上限数未満であれば、当該ノードに対応した検索データ集合を対象にそれぞれの検索条件について、検索条件を満たす検索データ集合と、検索条件を満たさない検索データ集合とに分割し、分割された2つの検索データ集合のそれぞれのノードを生成し、生成されたノードに対して再帰的に自身であるノード処理手段を呼び出して生成されたノードの評価値を取得し、検索条件を満たす検索データ集合のノードの評価値と、検索条件を満たさない検索データ集合のノードの評価値との和を求め、それぞれの検索条件の中で当該和が最大となる最大評価値を求め、その最大評価値を呼び出し元に返すノード処理手段と;
を有することを特徴とするYes/No型質問木作成装置。
It is composed of a search condition registered in advance and a database made up of search data to be searched, and a Yes / No type question tree for narrowing down the search data by answering Yes / No with respect to the search condition. In the No-type question tree creation device,
Route node processing means for setting a node as a route having the search data to be searched as a search data set and calling the node processing means;
When a search data set is given, an evaluation value obtained by inputting the search data set to a predetermined function is set as the maximum evaluation value of the node, and if the current hierarchy number is equal to or greater than the Yes / No selection upper limit number If the above-mentioned maximum evaluation value is returned to the caller and the current number of hierarchies is less than the Yes / No selection upper limit number, search data satisfying the search condition for each search condition for the search data set corresponding to the node Divide into sets and search data sets that do not satisfy the search conditions, generate each node of the two search data sets that are divided, and call the node processing means that is itself recursively to the generated nodes The evaluation value of the generated node is obtained, the evaluation value of the node of the search data set that satisfies the search condition, and the evaluation of the node of the search data set that does not satisfy the search condition Calculates the sum of, determine the maximum evaluation value in which the sum has a maximum in the respective search conditions, a node processing unit that returns the maximum evaluation value to the caller;
Yes / No type question tree creation device characterized by having.
請求項1において、
上記ノード処理手段は、
各検索条件が最大評価値を導く可能性を示す最適検索条件期待値を算出する最適検索条件期待値算出手段を有し、
上記最適検索条件期待値が上位である検索条件を対象に、最大評価値およびその検索条件を求めることを特徴とするYes/No型質問木作成装置。
In claim 1,
The node processing means is
An optimum search condition expected value calculation means for calculating an optimum search condition expected value indicating a possibility that each search condition leads to a maximum evaluation value;
A Yes / No type question tree creating apparatus, characterized in that a maximum evaluation value and a search condition thereof are obtained for a search condition having a higher expected value of the optimum search condition.
請求項1において、
各検索条件が各検索データに適合する度合いを示す適合度を求める適合度算出手段を有し、
上記所定の関数は、与えられた検索データ集合の中で適合度が大きい所定件数の総和であることを特徴とするYes/No型質問木作成装置。
In claim 1,
A degree-of-fit calculation means for obtaining a degree of suitability indicating the degree of suitability of each search condition to each search data;
The Yes / No type question tree creation device, wherein the predetermined function is a sum of a predetermined number of cases having a high degree of fitness in a given search data set.
請求項2において、
各検索条件が各検索データに適合する度合いを示す適合度を求める適合度算出手段を有し、
上記最適検索条件期待値は、与えられた検索データ集合の中で検索条件に対する適合度が大きい所定件数の総和であることを特徴とするYes/No型質問木作成装置。
In claim 2,
A degree-of-fit calculation means for obtaining a degree of suitability indicating the degree of suitability of each search condition to each search data;
The Yes / No-type query tree creation device, wherein the optimum search condition expected value is a total of a predetermined number of cases having a high degree of fitness for the search condition in a given search data set.
請求項1において、
上記所定の関数は、与えられた検索データ集合の個数が所定件数以下である場合には当該個数を評価値とし、個数が上記所定件数よりも多い場合は評価値を0とすることを特徴とするYes/No型質問木作成装置。
In claim 1,
The predetermined function is characterized in that when the number of given search data sets is equal to or less than a predetermined number, the number is set as an evaluation value, and when the number is larger than the predetermined number, the evaluation value is set as 0. Yes / No type question tree creation device.
請求項1〜請求項5のいずれか1項に記載のYes/No型質問木作成装置の各手段として、コンピュータを機能させるYes/No型質問木作成プログラム。  A Yes / No question tree creation program that causes a computer to function as each unit of the Yes / No question tree creation device according to any one of claims 1 to 5. 請求項6に記載のYes/No型質問木作成プログラムを記録したコンピュータ読取可能な記録媒体。  A computer-readable recording medium on which the Yes / No question tree creation program according to claim 6 is recorded.
JP2002063032A 2002-03-08 2002-03-08 Yes / No type question tree creation device, program and recording medium Expired - Fee Related JP4020362B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002063032A JP4020362B2 (en) 2002-03-08 2002-03-08 Yes / No type question tree creation device, program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002063032A JP4020362B2 (en) 2002-03-08 2002-03-08 Yes / No type question tree creation device, program and recording medium

Publications (2)

Publication Number Publication Date
JP2003263438A JP2003263438A (en) 2003-09-19
JP4020362B2 true JP4020362B2 (en) 2007-12-12

Family

ID=29196505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002063032A Expired - Fee Related JP4020362B2 (en) 2002-03-08 2002-03-08 Yes / No type question tree creation device, program and recording medium

Country Status (1)

Country Link
JP (1) JP4020362B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006350666A (en) * 2005-06-15 2006-12-28 Yuuko Okabe Legislation information providing system and method, and recording medium
CN104933097B (en) * 2015-05-27 2019-04-16 百度在线网络技术(北京)有限公司 A kind of data processing method and device for retrieval
JP6664072B2 (en) 2015-12-02 2020-03-13 パナソニックIpマネジメント株式会社 Search support method, search support device, and program
JP6280613B1 (en) * 2016-10-07 2018-02-14 楽天銀行株式会社 Unauthorized transfer detection system, unauthorized transfer detection method, and program

Also Published As

Publication number Publication date
JP2003263438A (en) 2003-09-19

Similar Documents

Publication Publication Date Title
US11763145B2 (en) Article recommendation method and apparatus, computer device, and storage medium
US7487151B2 (en) Information processing apparatus, information processing method, program for implementing information processing method, information processing system, and method for information processing system
KR100854532B1 (en) Systems and related apparatus, methods, and computer program products for performing metadata based searches
US9940371B2 (en) Method, system, and apparatus for arranging content search results
US8150846B2 (en) Content searching and configuration of search results
US9805022B2 (en) Generation of topic-based language models for an app search engine
US7822754B2 (en) Method and system to provide contextual, intelligent address book listings
KR101511031B1 (en) Search system and method for connecting vertical service
WO2020044096A1 (en) Information searching method and apparatus, and device/terminal/server
JP5469046B2 (en) Information search apparatus, information search method, and information search program
KR100311734B1 (en) How to Display Information on Display Devices of Various Sizes
US9723143B2 (en) Methods and systems for automated business dialing
JP4434972B2 (en) Information providing system, information providing method and program thereof
JPWO2006134682A1 (en) Named entity extraction apparatus, method, and program
JP4020362B2 (en) Yes / No type question tree creation device, program and recording medium
JP6982546B2 (en) Information providing equipment, information providing method, and program
CN118520098A (en) Text processing method and device
JP2002007461A (en) Personal information collection server, personal information collection method and recording medium
CN111309884A (en) Robot dialogue method, device, medium, and electronic apparatus
JP7144558B2 (en) Search system and method
CN112148941A (en) Information prompting method and device and terminal equipment
WO2023048146A1 (en) Recommendation system
CN112631752B (en) List operation method and device based on operation priority
JP2006092178A (en) Search system and search result display method
JP2011248730A (en) Server device, genre score calculation method, and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070921

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070921

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees