(57)【要約】【課題】動的なデータベースを用いて、少量の情報を出力してユーザが求める検索結果情報を提示可能な検索結果分類装置、方法及びプログラムを提供する。【解決手段】対話型の検索結果分類サーバ１は、端末４からの検索条件の入力を受け付ける対話応答部１１と、入力に基づき検索処理を実行する検索実行部１７と、処理対象結果をカテゴリに分類するカテゴリ分類部１８と、分類された処理対象結果のカテゴリがカテゴリをノードで表した木構造の応答ルールを記憶する検索結果蓄積ＤＢ２２に存在することに応じて、応答ルールのカテゴリを表すノードの下位に、処理対象結果を検索結果として追加する子ノードを作成して、応答ルールを更新する応答ルール更新部１９と、を備え、対話応答部１１は、応答ルールを参照して検索条件に対応する検索結果を端末４に出力し、出力した検索結果に基づいた検索条件を受け付けて、検索結果を端末４に出力する処理を繰り返す。【選択図】図１
2010140154.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を介して接続されたユーザ端末からの入力に対する検索結果を前記ユーザ端末に出力する対話型の検索結果分類装置であって、
前記検索結果をカテゴリに分類した分類結果に対応した応答ルールであり前記カテゴリをノードで表した木構造の前記応答ルールを記憶する検索結果蓄積部を有しており、
前記ユーザ端末からの検索条件の入力を受け付ける対話応答部と、
前記対話応答部からの入力に基づき検索処理を実行する検索実行部と、
前記検索実行部による処理対象結果を前記カテゴリに分類するカテゴリ分類部と、
前記カテゴリ分類部により分類された前記処理対象結果のカテゴリが前記応答ルールに存在することに応じて、前記応答ルールの前記カテゴリを表す前記ノードの下位に、前記処理対象結果を前記検索結果として追加する子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新する応答ルール更新部と、
を備え、
前記対話応答部は、前記応答ルールを参照して前記検索条件に対応する検索結果を前記ユーザ端末に出力し、出力した前記検索結果に基づいた検索条件を受け付け、前記更新された応答ルールを参照して前記検索結果に基づいた検索条件に対応する検索結果を前記ユーザ端末に出力する処理を繰り返すこと、
を特徴とする検索結果分類装置。
【請求項２】
前記検索結果蓄積部は、同一の下位ノードを有する複数の上位ノードのうち一の前記上位ノードを除く他の前記上位ノードを、前記同一の下位ノードを集約した縮退ノードに変更して記憶しており、
前記応答ルール更新部は、
前記カテゴリ分類部により分類された前記処理対象結果のカテゴリが前記応答ルールに存在しないことに応じて、前記処理対象結果のカテゴリを包含し、前記応答ルールの最下位に位置する最深ノードを探索する最深ノード探索部と、
前記最深ノード探索部により探索された前記最深ノードが下位にノードを有していないことに応じて、前記最深ノードが前記縮退ノードであるか否かを判定する縮退判定部と、
前記縮退判定部により前記縮退ノードであると判定されたことに応じて、前記最深ノードに、前記縮退ノードに対応する前記下位ノードを作成する縮退解消部と、を有し、
前記最深ノード探索部により探索された前記最深ノードの下位に、前記処理対象結果を前記検索結果として追加する前記子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新すること、
を特徴とする請求項１に記載の検索結果分類装置。
【請求項３】
前記対話応答部は、
前記カテゴリの入力を受け付けるカテゴリ受付部と、
前記検索結果蓄積部に蓄積された前記応答ルールを参照して、前記カテゴリ受付部が受け付けた前記カテゴリに対応する前記ノードの下位のノードのラベルを出力する結果提示部と、
を備え、
前記カテゴリ受付部は、前記結果提示部による出力に基づいて前記ユーザ端末により選択された、前記ラベルに含む前記カテゴリの入力を受け付け、
前記結果提示部は、前記カテゴリ受付部が受け付けた前記カテゴリに一致する前記カテゴリに対応する前記ノードの下位の前記ノードのラベルを出力すること、
を特徴とする請求項１又は請求項２に記載の検索結果分類装置。
【請求項４】
前記結果提示部は、単語に代表される所定の文字数以下に制限された文書である前記ラベルを出力すること、
を特徴とする請求項３に記載の検索結果分類装置。
【請求項５】
前記対話応答部は、
検索処理要求を受け付ける処理要求受付部と、
前記処理要求受付部により受け付けた前記検索処理要求から、前記検索実行部の入力情報である検索指示要求を抽出するクエリ抽出部と、
を備える請求項１から請求項４までのいずれか１項に記載の検索結果分類装置。
【請求項６】
通信回線を介して接続されたユーザ端末からの入力に対する検索結果を前記ユーザ端末に出力する対話型のコンピュータが、
前記検索結果をカテゴリに分類した分類結果に対応した応答ルールであり前記カテゴリをノードで表した木構造の前記応答ルールを記憶する検索結果蓄積部を有しており、
前記ユーザ端末からの検索条件の入力を受け付ける対話応答ステップと、
前記対話応答ステップからの入力に基づき検索処理を実行する検索実行ステップと、
前記検索実行ステップによる処理対象結果を前記カテゴリに分類するカテゴリ分類ステップと、
前記カテゴリ分類ステップにより分類された前記処理対象結果のカテゴリが前記応答ルールに存在することに応じて、前記応答ルールの前記カテゴリを表す前記ノードの下位に、前記処理対象結果を前記検索結果として追加する子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新する応答ルール更新ステップと、
前記応答ルールを参照して前記検索条件に対応する検索結果を前記ユーザ端末に出力し、出力した前記検索結果に基づいた検索条件を受け付け、前記更新された応答ルールを参照して前記検索結果に基づいた検索条件に対応する検索結果を前記ユーザ端末に出力する処理を繰り返すステップと、
を含むこと、
を特徴とする検索結果分類方法。
【請求項７】
請求項６に記載の方法のステップをコンピュータに実行させるための検索結果分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索を支援する検索結果分類装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、検索結果として検索結果データの他、検索結果として得られるデータ間の関係や共通する特徴情報等を出力するデータ検索システムが開示されている（例えば、特許文献１）。
【特許文献１】特開２００８−１４６２１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１のデータ検索システムは、データベース検索に基づいて得られた複数の検索結果の各々を示すノードと、共通の特徴情報を持つノードを接続するリンクと、共通の特徴情報をリンクラベルとして設定した表示情報の生成処理を実行することで、出力情報を生成する。よって、特許文献１のデータ検索システムは、ノード間の関連性を含む多くの情報を出力して、ユーザに提示するものであるので、出力側である、例えば、端末には、大量の情報を出力可能なディスプレイが必要になる。よって、特許文献１のデータ検索システムは、特に、携帯電話機等に代表される携帯端末での出力には不向きである。
【０００４】
また、特許文献１のデータ検索システムは、予め上述のリンク間での関係を含めて情報データベースを生成して記憶しておき、検索結果を一致度に基づいて情報データベースから抽出するものであり、静的なデータベースである情報データベースに既に記憶されている情報を出力するにすぎない。
【０００５】
本発明は、動的なデータベースを用いて、しかも、特に携帯端末に好適な少量の情報を出力してユーザが求める検索結果情報を提示可能な検索結果分類装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明者は、動的分類ツリーによって必要最小限のカテゴリ分類を作成し、対話方式でユーザに提示する仕組みを見出し、本発明を完成するに至った。本発明は、具体的には次のようなものを提供する。
【０００７】
（１）  通信回線を介して接続されたユーザ端末からの入力に対する検索結果を前記ユーザ端末に出力する対話型の検索結果分類装置であって、
前記検索結果をカテゴリに分類した分類結果に対応した応答ルールであり前記カテゴリをノードで表した木構造の前記応答ルールを記憶する検索結果蓄積部を有しており、
前記ユーザ端末からの検索条件の入力を受け付ける対話応答部と、
前記対話応答部からの入力に基づき検索処理を実行する検索実行部と、
前記検索実行部による処理対象結果を前記カテゴリに分類するカテゴリ分類部と、
前記カテゴリ分類部により分類された前記処理対象結果のカテゴリが前記応答ルールに存在することに応じて、前記応答ルールの前記カテゴリを表す前記ノードの下位に、前記処理対象結果を前記検索結果として追加する子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新する応答ルール更新部と、
を備え、
前記対話応答部は、前記応答ルールを参照して前記検索条件に対応する検索結果を前記ユーザ端末に出力し、出力した前記検索結果に基づいた検索条件を受け付け、前記更新された応答ルールを参照して前記検索結果に基づいた検索条件に対応する検索結果を前記ユーザ端末に出力する処理を繰り返すこと、
を特徴とする検索結果分類装置。
【０００８】
本発明のこのような構成によれば、検索結果をカテゴリに分類した分類結果に対応した応答ルールでありカテゴリをノードで表した木構造の応答ルールに、対話による検索処理を実行した処理対象結果を更新して反映することができる。よって、応答ルールに処理対象結果を更新した動的なデータベースを用いて、既に検索し分類した結果の検索処理を行うことができる。また、検索結果をカテゴリに分類し、分類が合致するカテゴリに処理対象結果を作成した、動的分類ツリーによって必要最小限のカテゴリ分類を作成することができる。
【０００９】
（２）  前記検索結果蓄積部は、同一の下位ノードを有する複数の上位ノードのうち一の前記上位ノードを除く他の前記上位ノードを、前記同一の下位ノードを集約した縮退ノードに変更して記憶しており、
前記応答ルール更新部は、
前記カテゴリ分類部により分類された前記処理対象結果のカテゴリが前記応答ルールに存在しないことに応じて、前記処理対象結果のカテゴリを包含し、前記応答ルールの最下位に位置する最深ノードを探索する最深ノード探索部と、
前記最深ノード探索部により探索された前記最深ノードが下位にノードを有していないことに応じて、前記最深ノードが前記縮退ノードであるか否かを判定する縮退判定部と、
前記縮退判定部により前記縮退ノードであると判定されたことに応じて、前記最深ノードに、前記縮退ノードに対応する前記下位ノードを作成する縮退解消部と、を有し、
前記最深ノード探索部により探索された前記最深ノードの下位に、前記処理対象結果を前記検索結果として追加する前記子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新すること、
を特徴とする（１）に記載の検索結果分類装置。
【００１０】
本発明のこのような構成によれば、応答ルールは、同一の下位ノードを有する複数の上位ノードのうち一の上位ノードを除く他の上位ノードを、同一の下位ノードを集約した縮退ノードに変更する。よって、複数の同一の下位ノードを集約することで、応答ルールを記憶する検索結果蓄積部の記憶領域の容量を削減することができる。また、検索時において、不要なサーチに対する処理時間を軽減できる。さらに、処理対象結果を追加するのに必要な縮退ノードのみを解消して処理対象結果を追加するので、最小限の処理で処理対象結果を追加できる。
【００１１】
（３）  前記対話応答部は、
前記カテゴリの入力を受け付けるカテゴリ受付部と、
前記検索結果蓄積部に蓄積された前記応答ルールを参照して、前記カテゴリ受付部が受け付けた前記カテゴリに対応する前記ノードの下位のノードのラベルを出力する結果提示部と、
を備え、
前記カテゴリ受付部は、前記結果提示部による出力に基づいて前記ユーザ端末により選択された、前記ラベルに含む前記カテゴリの入力を受け付け、
前記結果提示部は、前記カテゴリ受付部が受け付けた前記カテゴリに一致する前記カテゴリに対応する前記ノードの下位の前記ノードのラベルを出力すること、
を特徴とする（１）又は（２）に記載の検索結果分類装置。
【００１２】
本発明のこのような構成によれば、受け付けたカテゴリに対応するノードの下位ノードのラベルを出力し、出力に基づいてカテゴリを受け付けることで、さらに下位のノードのラベルを出力する。出力に基づいて受け付けるカテゴリは、下位ノードのラベルに含まれるものである。よって、応答ルールの木構造を利用して、上位から下位にドリルダウンして結果を取得することができ、固定化された検索意図に制限されない仕組みを提供できる。また、対話形式で検索結果に導く仕組みを提供できる。
【００１３】
（４）  前記結果提示部は、単語に代表される所定の文字数以下に制限された文書である前記ラベルを出力すること、
を特徴とする（３）に記載の検索結果分類装置。
【００１４】
本発明のこのような構成によれば、下位のノードのラベルとして、単語に代表される所定の文字数以下に制限された文書を出力するので、少ない単語数で出力でき、例えば、携帯電話機等の小さいディスプレイを有する装置であっても、効率的にユーザに検索結果を出力できる。
【００１５】
（５）  前記対話応答部は、
検索処理要求を受け付ける処理要求受付部と、
前記処理要求受付部により受け付けた前記検索処理要求から、前記検索実行部の入力情報である検索指示要求を抽出するクエリ抽出部と、
を備える（１）から（４）までのいずれか１項に記載の検索結果分類装置。
【００１６】
本発明のこのような構成によれば、クエリに代表される検索指示要求を検索処理要求から抽出するので、ユーザが検索をしたいキーワード等の検索処理要求から、検索に必要なクエリを抽出できる。
【００１７】
（６）  通信回線を介して接続されたユーザ端末からの入力に対する検索結果を前記ユーザ端末に出力する対話型のコンピュータが、
前記検索結果をカテゴリに分類した分類結果に対応した応答ルールであり前記カテゴリをノードで表した木構造の前記応答ルールを記憶する検索結果蓄積部を有しており、
前記ユーザ端末からの検索条件の入力を受け付ける対話応答ステップと、
前記対話応答ステップからの入力に基づき検索処理を実行する検索実行ステップと、
前記検索実行ステップによる処理対象結果を前記カテゴリに分類するカテゴリ分類ステップと、
前記カテゴリ分類ステップにより分類された前記処理対象結果のカテゴリが前記応答ルールに存在することに応じて、前記応答ルールの前記カテゴリを表す前記ノードの下位に、前記処理対象結果を前記検索結果として追加する子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新する応答ルール更新ステップと、
前記応答ルールを参照して前記検索条件に対応する検索結果を前記ユーザ端末に出力し、出力した前記検索結果に基づいた検索条件を受け付け、前記更新された応答ルールを参照して前記検索結果に基づいた検索条件に対応する検索結果を前記ユーザ端末に出力する処理を繰り返すステップと、
を含むこと、
を特徴とする検索結果分類方法。
【００１８】
（７）  （６）に記載の方法のステップをコンピュータに実行させるための検索結果分類プログラム。
【発明の効果】
【００１９】
本発明によれば、応答ルールに処理対象結果を更新した動的なデータベースを用いて、検索処理と結果提示処理とを対話により並行して行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００２１】
（実施形態）
［検索システム１００の全体構成及び検索結果分類サーバ１の機能構成］
図１は、本実施形態に係る検索システム１００の全体構成及び検索結果分類サーバ１の機能構成を示す図である。
【００２２】
検索システム１００は、検索結果分類サーバ１と、複数のコンテンツサーバ２と、通信ネットワーク３と、端末４とにより構成される。図１に示すように、インターネット等に代表される通信ネットワーク３を介して、検索結果分類サーバ１と、コンテンツサーバ２と、端末４とが互いに通信可能に接続されている。
【００２３】
検索結果分類サーバ１は、端末４から検索処理要求を受け付けて、検索処理要求に対する検索結果を端末４に対して対話形式で出力する、対話型の検索支援装置である。検索結果分類サーバ１は、制御部１０と記憶部２０とを備える。制御部１０は、対話応答部１１と、実行部１６とを備える。対話応答部１１は、処理要求受付部１２と、クエリ抽出部１３と、結果提示部１４と、ユーザ指示受付部１５とを備える。また、実行部１６は、検索実行部１７と、カテゴリ分類部１８と、応答ルール更新部１９とを備える。応答ルール更新部１９は、さらに最深ノード探索部１９Ａと、縮退判定部１９Ｂと、縮退解消部１９Ｃとを備える。記憶部２０は、検索結果蓄積部である検索結果蓄積データベース（以下、「データベース」を「ＤＢ」ともいう。）２２を備える。
【００２４】
検索結果分類サーバ１は、ハードウェアの数に制限はなく、必要に応じて一又は複数のハードウェアで構成してよい。また、複数のハードウェアで構成する場合には、通信ネットワーク３を介して各ハードウェアを接続してもよい。例えば、後述する各機能毎に別サーバとし、各サーバ間での信号の送受信により、各サーバを連携させることで、本実施形態の機能を実現してもよい。
【００２５】
対話応答部１１は、端末４と、実行部１６とのインタフェースを担う。また、対話応答部１１は、検索結果蓄積ＤＢ２２を参照して、検索結果を対話方式で端末４に出力する。実行部１６は、対話応答部１１から取得した検索クエリに基づき検索処理を実行する。そして、実行部１６は、検索処理の結果をカテゴリに分類して、検索結果蓄積ＤＢ２２の対応するカテゴリの下位に配置することで、検索結果蓄積ＤＢ２２を更新する。カテゴリとは、例えば、「エンターテイメント」「芸能人」「タレント」「子役」といった、同じ性質のものが属する部類をいい、予め設定されている。なお、詳細は、後述する。
【００２６】
検索結果蓄積ＤＢ２２は、検索結果をカテゴリに分類してその分類結果に対応した検索時の応答ルールを記憶するＤＢである。応答ルールは、カテゴリや検索結果をノードで表した木構造として表現することができる。応答ルールは、意味ネットワークを拡張した拡張意味ネットワークの手法を用いて実装できる。ここで、意味ネットワークとは、プログラム内で１つの塊として扱う文や単語の意味、概念間の連想関係、知識等を、公知のグラフ構造等を用いてネットワーク形式で図式化して表したものをいう。意味ネットワークが、個々の概念をノードとし、その意味関係を矢印（エッジ）で結んだ相関図にするものであり、意味ネットワークの手法を用いることで、コンピュータの処理を実現しやすくする。また、拡張意味ネットワークとは、２の要素の組み合わせにおいて、始点と終点とが共に空要素である組み合わせをノードとして扱い、始点と終点とが共に空要素ではない組み合わせをエッジとして扱うものをいう。よって、拡張意味ネットワークは、始点がノードで、終点がエッジであるものを含む。
【００２７】
コンテンツサーバ２は、複数のＷｅｂページを記憶したコンテンツのＤＢサーバである。コンテンツサーバ２は、通信ネットワーク３に接続されていれば、世界中に配置され、Ｗｅｂページを記憶したあらゆるコンテンツのＤＢサーバが該当する。
【００２８】
端末４は、ユーザが、検索のための操作入力をするための押しボタン、キーボード、マウス等の入力部や、コンテンツを表示する表示画面を備えた装置である。端末４は、例えば、携帯電話機４ａ等のディスプレイが小さく、大量の情報を扱うのには不向きな携帯端末の他、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）４ｂ等の情報通信端末や、ＰＣ（パーソナルコンピュータ）４ｃであってもよい。端末４を用いて、ユーザは、検索処理を行うことができる。
【００２９】
［検索結果分類サーバ１のハードウェア構成図］
図２は、本実施形態に係る検索結果分類サーバ１のハードウェア構成を示す図である。本発明が実施されるサーバは標準的なものでよく、以下に、構成の一例を示す。
【００３０】
検索結果分類サーバ１は、制御部１０を構成するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１０（マルチプロセッサ構成ではＣＰＵ１０１２等複数のＣＰＵが追加されてもよい）、バスライン１００５、通信Ｉ／Ｆ（Ｉ／Ｆ：インタフェース）１０４０、メインメモリ１０５０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１０６０、表示装置１０２２、Ｉ／Ｏコントローラ１０７０、キーボード及びマウス等の入力装置１１００、ハードディスク１０７４、光ディスクドライブ１０７６、並びに半導体メモリ１０７８を備える。なお、ハードディスク１０７４、光ディスクドライブ１０７６、及び半導体メモリ１０７８はまとめて記憶部２０と呼ぶ。
【００３１】
制御部１０は、検索結果分類サーバ１を統括的に制御する部分であり、ハードディスク１０７４に記憶された各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
【００３２】
通信Ｉ／Ｆ１０４０は、検索結果分類サーバ１が、通信ネットワーク３（図１）を介して端末４（図１）と情報を送受信する場合のネットワーク・アダプタである。通信Ｉ／Ｆ１０４０は、モデム、ケーブル・モデム及びイーサネット（登録商標）・アダプタを含んでよい。
【００３３】
ＢＩＯＳ１０６０は、検索結果分類サーバ１の起動時にＣＰＵ１０１０が実行するブートプログラムや、検索結果分類サーバ１のハードウェアに依存するプログラム等を記録する。
【００３４】
表示装置１０２２は、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００３５】
Ｉ／Ｏコントローラ１０７０には、ハードディスク１０７４、光ディスクドライブ１０７６、及び半導体メモリ１０７８等の記憶装置である記憶部２０を接続することができる。
【００３６】
入力装置１１００は、検索結果分類サーバ１の管理者による入力の受け付けを行うものである。
【００３７】
ハードディスク１０７４は、本ハードウェアを検索結果分類サーバ１として機能させるための各種プログラム、本発明の機能を実行するプログラム及び上述した検索結果蓄積ＤＢ２２を記憶する。なお、検索結果分類サーバ１は、外部に別途設けたハードディスク（図示せず）を外部記憶装置として利用することもできる。
【００３８】
光ディスクドライブ１０７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブを使用することができる。この場合は各ドライブに対応した光ディスク１０７７を使用する。光ディスク１０７７から光ディスクドライブ１０７６によりプログラム又はデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０又はハードディスク１０７４に提供することもできる。
【００３９】
なお、本発明でいうコンピュータとは、記憶装置、制御部等を備えた情報処理装置をいい、検索結果分類サーバ１は、記憶部２０、制御部１０等を備えた情報処理装置により構成され、この情報処理装置は、本発明のコンピュータの概念に含まれる。
【００４０】
［コンテンツサーバ２のハードウェア構成］
コンテンツサーバ２も、上述の検索結果分類サーバ１と同様な構成を持つ。なお、コンテンツサーバ２のみならず、検索結果分類サーバ１にも、コンテンツサーバ２と同様にＷｅｂページを記憶するコンテンツのＤＢを一部有してもよい。
【００４１】
［端末４のハードウェア構成］
端末４も、上述の検索結果分類サーバ１と同様な構成を持つ。例えば、記憶部２０は、光ディスクドライブ１０７６に代えて外部メモリを挿入可能なドライブであってもよい。
【００４２】
［検索結果蓄積ＤＢ２２のデータ構造］
図３は、本実施形態に係る検索結果蓄積ＤＢ２２の知識データ構造（応答ルール）３０の例を表す図である。図３の知識データ構造３０は、「カレー」の検索に関するものである。知識データ構造３０は、その一例として、カテゴリＫ（Ｋ１〜Ｋ６）、検索結果Ｍ（Ｍ１〜Ｍ１１）、選択肢Ｏ（Ｏ１，Ｏ２）、質問Ｑ（Ｑ１〜Ｑ３）を含む。カテゴリＫ、検索結果Ｍ、選択肢Ｏ及び質問Ｑは、全てノードとして表すことができる。ノードとノードとを繋ぐ線は、エッジである。エッジには、流れを示すもの（図中実線で表示）と、選択メッセージを示すもの（図中破線で表示）とが存在する。知識データ構造３０は、ノードとエッジとで表され、ノードを上位から下位に向かって辿ることができる木構造をしている。
【００４３】
カテゴリＫは、検索結果を分類する部類であり、その下位ノードの特徴を表す見出し（ラベル）が付されている。ラベルとは、図３の例では、「カレー」「六本木」等の、所定の文字数（例えば、２０文字）以下に制限された文書である。検索結果Ｍは、検索結果として出力するメッセージである。選択肢Ｏは、カテゴリＫを決定するために、カテゴリＫ同士を関連付けるものである。選択肢Ｏは、カテゴリＫを決定するため、カテゴリＫに対応する質問Ｑが関連付けられている。質問Ｑは、カテゴリＫを決定し、検索結果Ｍを最小限に導き出すための質問である。
【００４４】
［知識データ構造３０と検索結果分類サーバ１との関係］
図４は、本実施形態に係る検索結果分類サーバ１のアーキテクチャ４０を知識データ構造３０を用いて示す図である。
【００４５】
検索結果分類サーバ１は、対話応答部１１（図１参照）が実行する対話処理機能を実現するためのコンピュータ・プログラムを備える。当該コンピュータ・プログラムは、例えば、図２におけるハードディスク１０７４に記憶され、システムの起動時にメインメモリ１０５０に作成される。
【００４６】
また、当該コンピュータ・プログラムは、システムの基本入出力等の動作に係るカーネル４１、検索結果分類サーバ１が端末４に対して会話をする枠組みの名称であるインターネット・リレー・チャット（Ｉｎｔｅｒｎｅｔ  Ｒｅｌａｙ  Ｃｈａｔ、ＩＲＣと略称）のためのセッション管理４２、ＩＲＣにおけるチャンネル管理４３，４４を含む。
【００４７】
チャンネル管理４３，４４は、一のユーザ（端末４）に一のチャンネル管理を割り当ててもよく、一のユーザに複数のチャンネル管理を割り当ててもよい。ユーザとチャンネル管理との対応関係は特に問わない。チャンネル管理４３，４４は、これらに限らず、任意の数のチャンネル管理を設けてもよい。それぞれのチャンネル管理により制御されうる応答等の数は適宜設計しうる。
【００４８】
また、当該コンピュータ・プログラムは、チャンネル管理４３により制御されうる基本応答（ＤＳＴ：Ｄｉａｌｏｇｕｅ  Ｓｃｒｉｐｔ  Ｔｒａｃｅｒ）５１、発言制御応答５２、ヘルプ応答５３等を適宜含み、また、チャンネル管理４４により制御されうる基本応答（ＤＳＴ）５４、時間応答５５等を適宜含む。これらは個別に機能を有する応答モジュールであり、それぞれの応答モジュールの機能は適宜設計しうる。
【００４９】
基本応答（ＤＳＴ）５１，５４は、対話応答におけるユーザからの入力に対する基本的な応答を生成することを含み、具体的には、対話の開始又は終了の時点における典型的な応答の生成等を含む。また、基本応答（ＤＳＴ）５１，５４は、対話応答においてユーザに有限の選択肢を示す等の、制約を有する応答の生成を含む。発言制御応答５２は、長い応答メッセージをユーザが任意に中断・再開することを可能とする機能を提供する。ヘルプ応答５３は、ユーザからの操作説明要求等に応じて適宜ヘルプ情報等の応答を生成することを含む。時間応答５５は、対話の経過時間又はシステムの稼働時刻等に基づく応答の生成を含み、具体的には、終了時にユーザに対して「３０分使用しました」等の経過時間を送信するために用意すること、又は、年始にユーザに対して「よろしくお願いします」等の時候の挨拶等を送信するために用意すること等を含む。
【００５０】
推論エンジン４５は、知識データ構造３０から答えになる検索結果を導き出す仕組みである。検索スレッド４６は、実行部１６（図１参照）に相当するものである。
【００５１】
さらに、当該コンピュータ・プログラムは、基本応答（ＤＳＴ）５１，５４、発言制御応答５２等を用いて、知識データ構造３０にアクセスできる。
【００５２】
検索結果分類サーバ１は、基本応答（ＤＳＴ）５１，５４により、知識データ構造３０にアクセスして、知識データ構造３０にすでに記憶されたデータを用いて、対話応答のためのデータを生成して対話処理を行うことができる。また、検索結果分類サーバ１は、検索スレッド４６が知識データ構造３０にアクセスすることで、検索結果を更新して知識データ構造３０に記憶することができる。
【００５３】
［対話処理］
図５は、本実施形態に係る対話処理のフローチャートである。対話処理とは、検索結果分類サーバ１が、端末４に対してデータの送受信を行うことで、端末４のユーザが望む検索結果を導き出すことをいう。なお、本処理は、端末４からデータを受信して端末４にデータを送信するまでの間の、検索結果分類サーバ１の処理である。
【００５４】
Ｓ１：制御部１０（対話応答部１１）は、端末４からの入力を受け付ける。
【００５５】
Ｓ２：制御部１０（処理要求受付部１２）は、受け付けたものが検索処理要求であるか否かを判断する。検索処理要求とは、例えば、端末４から「次の言葉を検索して」との宣言がなされ、端末４に表示された検索画面にて、キーワード等が入力されて、初めて検索する場合の処理要求をいう。検索処理要求である場合（Ｓ２：ＹＥＳ）には、処理要求受付部１２は、処理をＳ３に移す。他方、検索処理要求ではない場合（Ｓ２：ＮＯ）には、処理要求受付部１２は、処理をＳ６に移す。
【００５６】
Ｓ３：制御部１０（クエリ抽出部１３）は、受け付けた検索処理要求から検索指示要求を抽出する。検索指示要求とは、通信ネットワーク３を介して接続された図示しない外部のＷｅｂ検索サービスでインターネット検索を行うためのクエリをいう。
【００５７】
Ｓ４：制御部１０（実行部１６）は、後述する検索処理を行う。なお、この検索処理は、あくまでもクエリの受付処理であって、実際にＷｅｂ検索を行って応答ルールの更新を行う処理は、対話処理と並行して実行される。
【００５８】
Ｓ５：制御部１０（結果提示部１４）は、処理結果を端末４に送信する。ここで、処理結果とは、例えば、「指定されたクエリがウェブ検索処理キューに登録されました。」等の出力が行われる。その後、制御部１０は、本処理を終了する。
【００５９】
Ｓ６：制御部１０（ユーザ指示受付部１５）は、端末４から「検索結果を提示してください。」のようなユーザからの指示を受けたか否かを判断する。ユーザからの指示を受けた場合（Ｓ６：ＹＥＳ）には、ユーザ指示受付部１５は、処理をＳ７に移す。他方、ユーザからの指示を受けていない場合（Ｓ６：ＮＯ）には、制御部１０は、本処理を終了する。
【００６０】
Ｓ７：制御部１０（対話応答部１１）は、後述するＤＳＴ処理を行う。その後、制御部１０は、本処理を終了する。
【００６１】
［検索処理］
図６は、本実施形態に係る検索処理のフローチャートである。検索処理の実行は、時間を要する処理であるため、別プロセス又はスレッドとして処理を行うことができる。なお、ここでは１つのスレッドの処理を示す。
【００６２】
Ｓ１１：制御部１０（検索実行部１７）は、抽出したクエリを用いて外部のＷｅｂ検索サービスでインターネット検索を行う。具体的には、制御部１０（検索実行部１７）は、抽出したクエリを用いて検索ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を実行する。
【００６３】
Ｓ１２：制御部１０（カテゴリ分類部１８）は、検索ＡＰＩの実行結果である検索結果をカテゴリ分類する。
【００６４】
Ｓ１３：制御部１０（応答ルール更新部１９）は、後述する応答ルール更新処理を行う。
【００６５】
Ｓ１４：制御部１０（実行部１６）は、所定件数（例えば、１万件）を満たすまで、検索を実行したか否かを判断する。所定件数とは、検索した結果を取得する最大の件数をいう。通常、検索ＡＰＩでは、一度に大量の検索結果を取得できないため、繰り返し処理を行う。所定件数を満たすまで検索した場合（Ｓ１４：ＹＥＳ）には、実行部１６は、本処理を終了する。他方、所定件数を満たすまで検索をしていない場合（Ｓ１４：ＮＯ）には、実行部１６は、処理をＳ１１に移す。
【００６６】
［応答ルール更新処理］
図７は、本実施形態に係る応答ルール更新処理のフローチャートである。
【００６７】
Ｓ２１：応答ルール更新部１９は、検索結果のカテゴリを、検索結果蓄積ＤＢ２２の応答ルールから探す。
【００６８】
Ｓ２２：応答ルール更新部１９は、応答ルールに、該当のカテゴリが見つかったか否かを判断する。カテゴリが見つかった場合（Ｓ２２：ＹＥＳ）には、応答ルール更新部１９は、処理をＳ２３に移す。他方、カテゴリが見つからなかった場合（Ｓ２２：ＮＯ）には、応答ルール更新部１９は、処理をＳ２４に移す。
【００６９】
Ｓ２３：応答ルール更新部１９は、見つかったカテゴリに対応するノードをノードｎにする。その後、応答ルール更新部１９は、処理をＳ３１に移す。
【００７０】
Ｓ２４：応答ルール更新部１９（最深ノード探索部１９Ａ）は、検索結果のカテゴリが上位から一致する最深ノードｎを、応答ルールから探す。すなわち、最深ノードｎは、更新する検索結果のカテゴリを包含し、応答ルールの最下位に位置するノードである。
【００７１】
Ｓ２５：応答ルール更新部１９は、応答ルールにおける最深ノードｎの子の数をカウントする。
【００７２】
Ｓ２６：応答ルール更新部１９は、最深ノードｎの子の数が０であるか否かを判断する。最深ノードｎの子とは、最深ノードｎの下位のノードのうち、後述する縮退ノードを除くノードをいう。最深ノードｎの子の数が０である場合（Ｓ２６：ＹＥＳ）には、応答ルール更新部１９は、処理をＳ２７に移す。他方、最深ノードｎの子の数が０ではない場合（Ｓ２６：ＮＯ）には、応答ルール更新部１９は、処理をＳ３０に移す。
【００７３】
Ｓ２７：応答ルール更新部１９（縮退判定部１９Ｂ）は、最深ノードｎの下位が縮退ノードであるか否かを判断する。最深ノードｎの下位が縮退ノードである場合（Ｓ２７：ＹＥＳ）には、応答ルール更新部１９は、処理をＳ２８に移す。他方、最深ノードｎの下位が縮退ノードではない場合（Ｓ２７：ＮＯ）には、応答ルール更新部１９は、処理をＳ３０に移す。
【００７４】
Ｓ２８：応答ルール更新部１９（縮退解消部１９Ｃ）は、最深ノードｎに子ノードを作成して、縮退ノードを解消する。
【００７５】
Ｓ２９：応答ルール更新部１９は、応答ルールから検索結果のカテゴリをさらに探し、見つかったノードに子ノードを作成して、それをノードｎにする。その後、応答ルール更新部１９は、処理をＳ３１に移す。
【００７６】
Ｓ３０：応答ルール更新部１９は、最深ノードｎの子ノードを作成して、その子ノードをノードｎにする。
【００７７】
Ｓ３１：応答ルール更新部１９は、ノードｎに検索結果を追加して、応答ルールを更新する。
【００７８】
このように、検索結果分類サーバ１は、木構造の応答ルールの該当のカテゴリに、検索結果を更新して反映することができる。また、検索結果分類サーバ１は、検索結果をカテゴリに分類し、分類が合致するカテゴリに、さらに検索結果を作成した、動的分類ツリーによって必要最小限のカテゴリ分類を作成することができる。
【００７９】
また、検索結果分類サーバ１は、検索結果を追加するのに必要な縮退ノードのみを解消して検索結果を追加するので、最小限の処理で検索結果を追加できる。
【００８０】
［応答ルール更新処理の具体例］
ここで、応答ルールの更新処理について、具体例に基づき説明する。図８（１）は、検索結果蓄積ＤＢ２２に記憶された応答ルールを示す。そして、「ＤＮＡマイクロアレイ  検定」というクエリにて検索処理を行っている。「ＤＮＡマイクロアレイ  検定」のクエリに対するある検索結果は、「自然科学と技術」の「生物学」のカテゴリに追加されるべきものであるとする。また、図８（１）に示す応答ルールは、「自然科学と技術」のカテゴリのノード（＃１）の下位の「統計学用語辞典」のノード（＃２）が、縮退ノードである。縮退ノードとは、あるノードとその下位のノードが、他の一以上のノードと同一の場合に、任意の一のノードを除く他のノードを、通常のノードと識別した形で配置するものをいう。
【００８１】
まず、制御部１０は、検索結果のカテゴリを応答ルールから探す（図７のＳ２１）が、該当のカテゴリは、縮退ノードになっているために見つからない。そこで、制御部１０は、検索結果のカテゴリが上位から一致する最深ノードとして、「自然科学と技術」のノード（＃１）を探す（図７のＳ２４）。「自然科学と技術」のノードは、カテゴリのノードであり、その下位には、「統計学用語辞典」のノード（＃２）である縮退ノードしか存在しないため、子の数は０である。
【００８２】
図８（２）は、縮退ノードを解消した後の応答ルールを示す。制御部１０は、「統計学用語辞典」のノードが縮退ノードであったため、対応する子ノードを作成する（＃３）。そして、「ＤＮＡマイクロアレイ  検定」のクエリに対する検索結果に該当するカテゴリが存在するので（＃４）、制御部１０は、その子ノードを作成して（＃５）、検索結果を追加する（図７のＳ２８，Ｓ２９，Ｓ３１）。検索結果「統計学用語辞典」と「ＤＮＡマイクロアレイ」とは、カテゴリ「自然科学と技術」までは共通していて、その下のカテゴリ「数学」と「生物学」とで初めて分類結果のパスが異なっており、これらの処理でそれらの結果を表現する最小の木構造を構成することができた。
【００８３】
［ＤＳＴ処理］
図９は、本実施形態に係るＤＳＴ処理のフローチャートである。
【００８４】
Ｓ４１：対話応答部１１は、後述の文脈ポインタが定義されているか否かを判断する。文脈ポインタが定義されている場合（Ｓ４１：ＹＥＳ）には、対話応答部１１は、処理をＳ４３に移す。他方、文脈ポインタが定義されていない場合（Ｓ４１：ＮＯ）には、対話応答部１１は、処理をＳ４２に移す。なお、文脈ポインタは、記憶部２０に記憶されているものとしてよい。また、文脈ポインタは、複数回繰り返される対話処理（図５）のうち、最初にＤＳＴ処理を行う場合には、未定義である。
【００８５】
Ｓ４２：対話応答部１１は、応答ルールの先頭から、ユーザの指示で指定されたカテゴリにマッチするノードを探す。その後、対話応答部１１は、処理をＳ４４に移す。
【００８６】
Ｓ４３：対話応答部１１は、文脈ポインタが定義されたノードから、ユーザが指定したカテゴリにマッチするノードを探す。
【００８７】
Ｓ４４：対話応答部１１は、マッチするノードが見つかったか否かを判断する。マッチするノードが見つかった場合（Ｓ４４：ＹＥＳ）には、対話応答部１１は、処理をＳ４５に移す。他方、マッチするノードが見つからなかった場合（Ｓ４４：ＮＯ）には、対話応答部１１は、本処理を終了する。
【００８８】
Ｓ４５：対話応答部１１は、マッチしたノードを１つ選択する。マッチしたノードが複数ある場合の選択は、ランダムに選択してもよいし、直近に本処理が実行されたものでもよい。また、最も昔に実行されたものでもよい。
【００８９】
Ｓ４６：対話応答部１１は、選択したノードの下位ノードが、検索結果Ｍであるか否かを判断する。検索結果Ｍである場合（Ｓ４６：ＹＥＳ）には、対話応答部１１は、処理をＳ４７に移す。他方、検索結果Ｍではない場合（Ｓ４６：ＮＯ）には、対話応答部１１は、処理をＳ４８に移す。
【００９０】
Ｓ４７：対話応答部１１（結果提示部１４）は、検索結果Ｍをメッセージとして応答する。なお、検索結果Ｍが複数ある場合は、その複数の検索結果Ｍをメッセージとして応答してよい。その後、対話応答部１１は、本処理を終了する。
【００９１】
Ｓ４８：対話応答部１１は、選択したノードの下位ノードが、選択肢Ｏであるか否かを判断する。選択肢Ｏである場合（Ｓ４８：ＹＥＳ）には、対話応答部１１は、処理をＳ４９に移す。他方、選択肢Ｏではない場合（Ｓ４８：ＮＯ）には、対話応答部１１は、本処理を終了する。
【００９２】
Ｓ４９：対話応答部１１は、選択肢Ｏのノードを、文脈ポインタとして設定する。
【００９３】
Ｓ５０：対話応答部１１（結果提示部１４）は、選択肢Ｏに関連付けられた質問Ｑと、選択肢Ｏの子ノードである全てのカテゴリＫとを応答する。その後、対話応答部１１は、本処理を終了する。
【００９４】
このように、検索結果分類サーバ１は、ＤＳＴ処理を繰り返し実行することで、端末４から受け付けたカテゴリに対応するノードの下位ノードのラベルを出力し、出力に基づいてカテゴリを、同一の端末４から受け付けることで、さらに下位のノードのラベルを出力する。よって、検索結果分類サーバ１は、応答ルールの木構造を利用して、上位から下位にドリルダウンしてユーザが欲する検索結果を、対話方式で出力することができる。
【００９５】
［携帯電話機４ａの表示例］
図１０は、本実施形態に係る携帯電話機４ａでの表示例を示す図である。
【００９６】
まず、図１０（１）は、携帯電話機４ａのディスプレイに表示された検索画面６０が示されている。検索画面６０は、検索条件入力部６１と、検索ボタン６２とを有する。検索条件入力部６１には、検索キーワードとして「ＤＮＡマイクロアレイ  検定」という文言が入力されている。また、検索ボタン６２を選択することで、検索条件入力部６１に入力されたデータが、検索結果分類サーバ１に送信される。
【００９７】
図１０（２）に示すように、検索画面６０には、システム応答部６３と選択肢表示部６４とが表示されている。システム応答部６３は、検索結果分類サーバ１からの対話方式での質問である。この例では、システム応答部６３は、上述の図８（１）の「（選択肢Ａ）」に関連付けられた図示しない質問である。選択肢表示部６４は、「（選択肢Ａ）」に関連付けられたカテゴリＫを表示する。関連付けられたカテゴリＫは、複数ある場合には、選択肢表示部６４に全て表示してよい。ユーザは、例えば、選択肢表示部６４から「自然科学と技術」を選択する。
【００９８】
図１０（３）は、ユーザが「自然科学と技術」を選択した（図１０（２））後に、携帯電話機４ａに出力された検索画面６０を示す。検索画面６０は、上述の図８（２）の「（選択肢Ｂ）」に関連付けられた図示しない質問と、「（選択肢Ｂ）」に関連付けられたカテゴリＫとを表示する。ユーザが、「生物学」を選択することで、図１０（４）に示す検索画面６０が表示され、以降、検索結果分類サーバ１と、携帯電話機４ａとの対話形式により、ユーザが欲する検索結果を出力することができる。
【００９９】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【０１００】
【図１】本実施形態に係る検索システムの全体構成及び検索結果分類サーバの機能構成を示す図である。
【図２】本実施形態に係る検索結果分類サーバのハードウェア構成を示す図である。
【図３】本実施形態に係る検索結果蓄積ＤＢの知識データ構造（応答ルール）の例を示す図である。
【図４】本実施形態に係る検索結果分類サーバのアーキテクチャを知識データ構造を用いて示す図である。
【図５】本実施形態に係る対話処理のフローチャートである。
【図６】本実施形態に係る検索処理のフローチャートである。
【図７】本実施形態に係る応答ルール更新処理のフローチャートである。
【図８】本実施形態に係る応答ルール更新処理の具体例を示す図である。
【図９】本実施形態に係るＤＳＴ処理のフローチャートである。
【図１０】本実施形態に係る携帯電話機での表示例を示す図である。
【符号の説明】
【０１０１】
１  検索結果分類サーバ
４  端末
１０  制御部
１１  対話応答部
１２  処理要求受付部
１３  クエリ抽出部
１４  結果提示部
１５  ユーザ指示受付部
１６  実行部
１７  検索実行部
１８  カテゴリ分類部
１９  応答ルール更新部
１９Ａ  最深ノード探索部
１９Ｂ  縮退判定部
１９Ｃ  縮退解消部
２０  記憶部
２２  検索結果蓄積ＤＢ
３０  知識データ構造
６０  検索画面
１００  検索システム
Ｋ  カテゴリ
Ｍ  検索結果
Ｏ  選択肢
Ｑ  質問
【図１】
2010140154.tif 000003
【図２】
2010140154.tif 000004
【図３】
2010140154.tif 000005
【図４】
2010140154.tif 000006
【図５】
2010140154.tif 000007
【図６】
2010140154.tif 000008
【図７】
2010140154.tif 000009
【図８】
2010140154.tif 000010
【図９】
2010140154.tif 000011
【図１０】
2010140154.tif 000012
【手続補正書】
【提出日】平成21年11月18日(2009.11.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信回線を介して接続されたユーザ端末からの入力に対する検索結果を前記ユーザ端末に出力する対話型の検索結果分類装置であって、
前記検索結果をカテゴリに分類した分類結果に対応した応答ルールであり前記カテゴリをノードで表した木構造の前記応答ルールを記憶する検索結果蓄積部を有しており、
前記ユーザ端末からの検索条件の入力を受け付ける対話応答部と、
前記対話応答部からの入力に基づき検索処理を実行する検索実行部と、
前記検索実行部による処理対象結果を前記カテゴリに分類するカテゴリ分類部と、
前記カテゴリ分類部により分類された前記処理対象結果のカテゴリが前記応答ルールに存在することに応じて、前記応答ルールの前記カテゴリを表す前記ノードの下位に、前記処理対象結果を前記検索結果として追加する子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新する応答ルール更新部と、
を備え、
前記対話応答部は、前記応答ルールを参照して前記検索条件に対応する検索結果を前記ユーザ端末に出力し、出力した前記検索結果に基づいた検索条件を受け付け、前記更新された応答ルールを参照して前記検索結果に基づいた検索条件に対応する検索結果を前記ユーザ端末に出力する処理を繰り返す、
検索結果分類装置。
【請求項２】
前記検索結果蓄積部は、同一の下位ノードを有する複数の上位ノードのうち一の前記上位ノードを除く他の前記上位ノードを、前記同一の下位ノードを集約した縮退ノードに変更して記憶しており、
前記応答ルール更新部は、
前記カテゴリ分類部により分類された前記処理対象結果のカテゴリが前記応答ルールに存在しないことに応じて、前記処理対象結果のカテゴリを包含し、前記応答ルールの最下位に位置する最深ノードを探索する最深ノード探索部と、
前記最深ノード探索部により探索された前記最深ノードが下位にノードを有していないことに応じて、前記最深ノードが前記縮退ノードであるか否かを判定する縮退判定部と、
前記縮退判定部により前記縮退ノードであると判定されたことに応じて、前記最深ノードに、前記縮退ノードに対応する前記下位ノードを作成する縮退解消部と、を有し、
前記最深ノード探索部により探索された前記最深ノードの下位に、前記処理対象結果を前記検索結果として追加する前記子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新する、
請求項１に記載の検索結果分類装置。
【請求項３】
前記対話応答部は、
前記カテゴリの入力を受け付けるカテゴリ受付部と、
前記検索結果蓄積部に蓄積された前記応答ルールを参照して、前記カテゴリ受付部が受け付けた前記カテゴリに対応する前記ノードの下位のノードのラベルを出力する結果提示部と、
を備え、
前記カテゴリ受付部は、前記結果提示部による出力に基づいて前記ユーザ端末により選択された、前記ラベルに含む前記カテゴリの入力を受け付け、
前記結果提示部は、前記カテゴリ受付部が受け付けた前記カテゴリに一致する前記カテゴリに対応する前記ノードの下位の前記ノードのラベルを出力する、
請求項１又は請求項２に記載の検索結果分類装置。
【請求項４】
前記結果提示部は、単語に代表される所定の文字数以下に制限された文書である前記ラベルを出力する、
請求項３に記載の検索結果分類装置。
【請求項５】
前記対話応答部は、
検索処理要求を受け付ける処理要求受付部と、
前記処理要求受付部により受け付けられた前記検索処理要求から、前記検索実行部の入力情報である検索指示要求を抽出するクエリ抽出部と、
を備える、
請求項１から請求項４までのいずれかに記載の検索結果分類装置。
【請求項６】
通信回線を介して接続されたユーザ端末からの入力に対する検索結果を前記ユーザ端末に出力する対話型のコンピュータが、前記検索結果をカテゴリに分類した分類結果に対応した応答ルールであり前記カテゴリをノードで表した木構造の前記応答ルールを記憶する検索結果蓄積部を有しており、
前記コンピュータが、前記ユーザ端末からの検索条件の入力を受け付ける対話応答ステップと、
前記コンピュータが、前記対話応答ステップからの入力に基づき検索処理を実行する検索実行ステップと、
前記コンピュータが、前記検索実行ステップによる処理対象結果を前記カテゴリに分類するカテゴリ分類ステップと、
前記コンピュータが、前記カテゴリ分類ステップにより分類された前記処理対象結果のカテゴリが前記応答ルールに存在することに応じて、前記応答ルールの前記カテゴリを表す前記ノードの下位に、前記処理対象結果を前記検索結果として追加する子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新する応答ルール更新ステップと、
前記コンピュータが、前記応答ルールを参照して前記検索条件に対応する検索結果を前記ユーザ端末に出力し、出力した前記検索結果に基づいた検索条件を受け付け、前記更新された応答ルールを参照して前記検索結果に基づいた検索条件に対応する検索結果を前記ユーザ端末に出力する処理を繰り返すステップと、
を含む、
検索結果分類方法。
【請求項７】
請求項６に記載の方法のステップをコンピュータに実行させるための検索結果分類プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索を支援する検索結果分類装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、検索結果として検索結果データの他、検索結果として得られるデータ間の関係や共通する特徴情報等を出力するデータ検索システムが開示されている（例えば、特許文献１）。
【特許文献１】特開２００８−１４６２１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１のデータ検索システムは、データベース検索に基づいて得られた複数の検索結果の各々を示すノードと、共通の特徴情報を持つノードを接続するリンクと、共通の特徴情報をリンクラベルとして設定した表示情報の生成処理を実行することで、出力情報を生成する。よって、特許文献１のデータ検索システムは、ノード間の関連性を含む多くの情報を出力してユーザに提示するものであるので、出力側である、例えば、端末には、大量の情報を出力可能なディスプレイが必要になる。よって、特許文献１のデータ検索システムは、特に、携帯電話機等に代表される携帯端末での出力には不向きである。
【０００４】
また、特許文献１のデータ検索システムは、予め上述のリンク間での関係を含めて情報データベースを生成して記憶しておき、検索結果を一致度に基づいて情報データベースから抽出するものであり、静的なデータベースである情報データベースに既に記憶されている情報を出力するにすぎない。
【０００５】
本発明は、動的なデータベースを用いて、しかも、特に携帯端末に好適な少量の情報を出力してユーザが求める検索結果情報を提示可能な検索結果分類装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明者は、動的分類ツリーによって必要最小限のカテゴリ分類を作成し、対話方式でユーザに提示する仕組みを見出し、本発明を完成するに至った。本発明は、具体的には次のようなものを提供する。
【０００７】
（１）  通信回線を介して接続されたユーザ端末からの入力に対する検索結果を前記ユーザ端末に出力する対話型の検索結果分類装置であって、前記検索結果をカテゴリに分類した分類結果に対応した応答ルールであり前記カテゴリをノードで表した木構造の前記応答ルールを記憶する検索結果蓄積部を有しており、前記ユーザ端末からの検索条件の入力を受け付ける対話応答部と、前記対話応答部からの入力に基づき検索処理を実行する検索実行部と、前記検索実行部による処理対象結果を前記カテゴリに分類するカテゴリ分類部と、前記カテゴリ分類部により分類された前記処理対象結果のカテゴリが前記応答ルールに存在することに応じて、前記応答ルールの前記カテゴリを表す前記ノードの下位に、前記処理対象結果を前記検索結果として追加する子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新する応答ルール更新部と、を備え、前記対話応答部は、前記応答ルールを参照して前記検索条件に対応する検索結果を前記ユーザ端末に出力し、出力した前記検索結果に基づいた検索条件を受け付け、前記更新された応答ルールを参照して前記検索結果に基づいた検索条件に対応する検索結果を前記ユーザ端末に出力する処理を繰り返す、検索結果分類装置。
【０００８】
本発明のこのような構成によれば、検索結果をカテゴリに分類した分類結果に対応した応答ルールでありカテゴリをノードで表した木構造の応答ルールに、対話による検索処理を実行した処理対象結果を更新して反映することができる。よって、応答ルールに処理対象結果を更新した動的なデータベースを用いて、既に検索し分類した結果の検索処理を行うことができる。また、検索結果をカテゴリに分類し、分類が合致するカテゴリに処理対象結果を作成した、動的分類ツリーによって必要最小限のカテゴリ分類を作成することができる。
【０００９】
（２）  前記検索結果蓄積部は、同一の下位ノードを有する複数の上位ノードのうち一の前記上位ノードを除く他の前記上位ノードを、前記同一の下位ノードを集約した縮退ノードに変更して記憶しており、前記応答ルール更新部は、前記カテゴリ分類部により分類された前記処理対象結果のカテゴリが前記応答ルールに存在しないことに応じて、前記処理対象結果のカテゴリを包含し、前記応答ルールの最下位に位置する最深ノードを探索する最深ノード探索部と、前記最深ノード探索部により探索された前記最深ノードが下位にノードを有していないことに応じて、前記最深ノードが前記縮退ノードであるか否かを判定する縮退判定部と、前記縮退判定部により前記縮退ノードであると判定されたことに応じて、前記最深ノードに、前記縮退ノードに対応する前記下位ノードを作成する縮退解消部と、を有し、前記最深ノード探索部により探索された前記最深ノードの下位に、前記処理対象結果を前記検索結果として追加する前記子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新する、（１）に記載の検索結果分類装置。
【００１０】
本発明のこのような構成によれば、応答ルールは、同一の下位ノードを有する複数の上位ノードのうち一の上位ノードを除く他の上位ノードを、同一の下位ノードを集約した縮退ノードに変更する。よって、同一の下位ノードを有する上位ノードを集約することで、応答ルールを記憶する検索結果蓄積部の記憶領域の容量を削減することができる。また、検索時において、不要なサーチに対する処理時間を軽減できる。さらに、処理対象結果を追加するのに必要な縮退ノードのみを解消して処理対象結果を追加するので、最小限の処理で処理対象結果を追加できる。
【００１１】
（３）  前記対話応答部は、前記カテゴリの入力を受け付けるカテゴリ受付部と、前記検索結果蓄積部に蓄積された前記応答ルールを参照して、前記カテゴリ受付部が受け付けた前記カテゴリに対応する前記ノードの下位のノードのラベルを出力する結果提示部と、を備え、前記カテゴリ受付部は、前記結果提示部による出力に基づいて前記ユーザ端末により選択された、前記ラベルに含む前記カテゴリの入力を受け付け、前記結果提示部は、前記カテゴリ受付部が受け付けた前記カテゴリに一致する前記カテゴリに対応する前記ノードの下位の前記ノードのラベルを出力する、（１）又は（２）に記載の検索結果分類装置。
【００１２】
本発明のこのような構成によれば、受け付けたカテゴリに対応するノードの下位ノードのラベルを出力し、出力に基づいてカテゴリを受け付けることで、さらに下位のノードのラベルを出力する。出力に基づいて受け付けるカテゴリは、下位ノードのラベルに含まれるものである。よって、応答ルールの木構造を利用して、上位から下位にドリルダウンして結果を取得することができ、固定化された検索意図に制限されない仕組みを提供できる。また、対話形式で検索結果に導く仕組みを提供できる。
【００１３】
（４）  前記結果提示部は、単語に代表される所定の文字数以下に制限された文書である前記ラベルを出力する、（３）に記載の検索結果分類装置。
【００１４】
本発明のこのような構成によれば、下位のノードのラベルとして、単語に代表される所定の文字数以下に制限された文書を出力するので、少ない単語数で出力でき、例えば、携帯電話機等の小さいディスプレイを有する装置であっても、効率的にユーザに検索結果を出力できる。
【００１５】
（５）  前記対話応答部は、検索処理要求を受け付ける処理要求受付部と、前記処理要求受付部により受け付けられた前記検索処理要求から、前記検索実行部の入力情報である検索指示要求を抽出するクエリ抽出部と、を備える、（１）から（４）までのいずれかに記載の検索結果分類装置。
【００１６】
本発明のこのような構成によれば、クエリに代表される検索指示要求を検索処理要求から抽出するので、ユーザが検索をしたいキーワード等の検索処理要求から、検索に必要なクエリを抽出できる。
【００１７】
（６）  通信回線を介して接続されたユーザ端末からの入力に対する検索結果を前記ユーザ端末に出力する対話型のコンピュータが、前記検索結果をカテゴリに分類した分類結果に対応した応答ルールであり前記カテゴリをノードで表した木構造の前記応答ルールを記憶する検索結果蓄積部を有しており、前記コンピュータが、前記ユーザ端末からの検索条件の入力を受け付ける対話応答ステップと、前記コンピュータが、前記対話応答ステップからの入力に基づき検索処理を実行する検索実行ステップと、前記コンピュータが、前記検索実行ステップによる処理対象結果を前記カテゴリに分類するカテゴリ分類ステップと、前記コンピュータが、前記カテゴリ分類ステップにより分類された前記処理対象結果のカテゴリが前記応答ルールに存在することに応じて、前記応答ルールの前記カテゴリを表す前記ノードの下位に、前記処理対象結果を前記検索結果として追加する子ノードを作成して、前記検索結果蓄積部に記憶された前記応答ルールを更新する応答ルール更新ステップと、前記コンピュータが、前記応答ルールを参照して前記検索条件に対応する検索結果を前記ユーザ端末に出力し、出力した前記検索結果に基づいた検索条件を受け付け、前記更新された応答ルールを参照して前記検索結果に基づいた検索条件に対応する検索結果を前記ユーザ端末に出力する処理を繰り返すステップと、を含む、検索結果分類方法。
【００１８】
（７）  （６）に記載の方法のステップをコンピュータに実行させるための検索結果分類プログラム。
【発明の効果】
【００１９】
本発明によれば、応答ルールに処理対象結果を更新した動的なデータベースを用いて、検索処理と結果提示処理とを対話により並行して行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００２１】
（実施形態）
［検索システム１００の全体構成及び検索結果分類サーバ１の機能構成］
図１は、本実施形態に係る検索システム１００の全体構成及び検索結果分類サーバ１の機能構成を示す図である。
【００２２】
検索システム１００は、検索結果分類サーバ１と、複数のコンテンツサーバ２と、通信ネットワーク３と、端末４とにより構成される。図１に示すように、インターネット等に代表される通信ネットワーク３を介して、検索結果分類サーバ１と、コンテンツサーバ２と、端末４とが互いに通信可能に接続されている。
【００２３】
検索結果分類サーバ１は、端末４から検索処理要求を受け付けて、検索処理要求に対する検索結果を端末４に対して対話形式で出力する、対話型の検索支援装置である。検索結果分類サーバ１は、制御部１０と記憶部２０とを備える。制御部１０は、対話応答部１１と、実行部１６とを備える。対話応答部１１は、処理要求受付部１２と、クエリ抽出部１３と、結果提示部１４と、ユーザ指示受付部１５とを備える。また、実行部１６は、検索実行部１７と、カテゴリ分類部１８と、応答ルール更新部１９とを備える。応答ルール更新部１９は、さらに最深ノード探索部１９Ａと、縮退判定部１９Ｂと、縮退解消部１９Ｃとを備える。記憶部２０は、検索結果蓄積部である検索結果蓄積データベース（以下、「データベース」を「ＤＢ」ともいう。）２２を備える。
【００２４】
検索結果分類サーバ１は、ハードウェアの数に制限はなく、必要に応じて一又は複数のハードウェアで構成してよい。また、検索結果分類サーバ１は、複数のハードウェアで構成する場合には、通信ネットワーク３を介して各ハードウェアを接続してもよい。例えば、後述する機能毎に別サーバとし、各サーバ間での信号の送受信により、各サーバを連携させることで、本実施形態の機能を実現してもよい。
【００２５】
対話応答部１１は、端末４と、実行部１６とのインタフェースを担う。また、対話応答部１１は、検索結果蓄積ＤＢ２２を参照して、検索結果を対話方式で端末４に出力する。実行部１６は、対話応答部１１から取得した検索クエリに基づき検索処理を実行する。そして、実行部１６は、検索処理の結果をカテゴリに分類して、検索結果蓄積ＤＢ２２の対応するカテゴリの下位に配置することで、検索結果蓄積ＤＢ２２を更新する。カテゴリとは、例えば、「エンターテイメント」「芸能人」「タレント」「子役」といった、同じ性質のものが属する部類をいい、予め設定されている。なお、詳細は、後述する。
【００２６】
検索結果蓄積ＤＢ２２は、検索結果をカテゴリに分類してその分類結果に対応した検索時の応答ルールを記憶するＤＢである。応答ルールは、カテゴリや検索結果をノードで表した木構造として表現することができる。応答ルールは、意味ネットワークを拡張した拡張意味ネットワークの手法を用いて実装できる。ここで、意味ネットワークとは、プログラム内で１つの塊として扱う文や単語の意味、概念間の連想関係、知識等を、公知のグラフ構造等を用いてネットワーク形式で図式化して表したものをいう。意味ネットワークが、個々の概念をノードとし、その意味関係を矢印（エッジ）で結んだ相関図にするものであり、意味ネットワークの手法を用いることで、コンピュータの処理を実現しやすくする。また、拡張意味ネットワークとは、２の要素の組み合わせにおいて、始点と終点とが共に空要素である組み合わせをノードとして扱い、始点と終点とが共に空要素ではない組み合わせをエッジとして扱うものをいう。よって、拡張意味ネットワークは、始点がノードで、終点がエッジであるものを含む。
【００２７】
コンテンツサーバ２は、複数のＷｅｂページを記憶したコンテンツのＤＢサーバである。コンテンツサーバ２は、通信ネットワーク３に接続されていれば、世界中に配置され、Ｗｅｂページを記憶したあらゆるコンテンツのＤＢサーバが該当する。
【００２８】
端末４は、ユーザが検索のための操作入力をするための押しボタン、キーボード、マウス等の入力部や、コンテンツを表示する表示画面を備えた装置である。端末４は、例えば、携帯電話機４ａ等のディスプレイが小さく、大量の情報を扱うのには不向きな携帯端末の他、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）４ｂ等の情報通信端末や、ＰＣ（パーソナルコンピュータ）４ｃであってもよい。端末４を用いて、ユーザは、検索処理を行うことができる。
【００２９】
［検索結果分類サーバ１のハードウェア構成図］
図２は、本実施形態に係る検索結果分類サーバ１のハードウェア構成を示す図である。本発明が実施されるサーバは標準的なものでよく、以下に、構成の一例を示す。
【００３０】
検索結果分類サーバ１は、制御部１０を構成するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１（以下「ＣＰＵ１０１０」といい、マルチプロセッサ構成ではＣＰＵ２（以下、「ＣＰＵ１０１２」という）等複数のＣＰＵが追加されてもよい）、バスライン１００５、通信Ｉ／Ｆ（Ｉ／Ｆ：インタフェース）１０４０、メインメモリ１０５０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１０６０、表示装置１０２２、Ｉ／Ｏコントローラ１０７０、キーボード及びマウス等の入力装置１１００、ハードディスク１０７４、光ディスクドライブ１０７６並びに半導体メモリ１０７８を備える。なお、ハードディスク１０７４、光ディスクドライブ１０７６及び半導体メモリ１０７８は、まとめて記憶部２０と呼ぶ。
【００３１】
制御部１０は、検索結果分類サーバ１を統括的に制御する部分であり、ハードディスク１０７４に記憶された各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
【００３２】
通信Ｉ／Ｆ１０４０は、検索結果分類サーバ１が、通信ネットワーク３（図１）を介して端末４（図１）と情報を送受信する場合のネットワーク・アダプタである。通信Ｉ／Ｆ１０４０は、モデム、ケーブル・モデム及びイーサネット（登録商標）・アダプタを含んでよい。
【００３３】
ＢＩＯＳ１０６０は、検索結果分類サーバ１の起動時にＣＰＵ１０１０が実行するブートプログラムや、検索結果分類サーバ１のハードウェアに依存するプログラム等を記録する。
【００３４】
表示装置１０２２は、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置を含む。
【００３５】
Ｉ／Ｏコントローラ１０７０には、ハードディスク１０７４、光ディスクドライブ１０７６及び半導体メモリ１０７８等の記憶装置である記憶部２０を接続することができる。
【００３６】
入力装置１１００は、検索結果分類サーバ１の管理者による入力の受け付けを行うものである。
【００３７】
ハードディスク１０７４は、本ハードウェアを検索結果分類サーバ１として機能させるための各種プログラム、本発明の機能を実行するプログラム及び上述した検索結果蓄積ＤＢ２２を記憶する。なお、検索結果分類サーバ１は、外部に別途設けたハードディスク（図示せず）を外部記憶装置として利用することもできる。
【００３８】
光ディスクドライブ１０７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ及びＣＤ−ＲＡＭドライブを使用することができる。この場合は、各ドライブに対応した光ディスク１０７７を使用する。光ディスク１０７７から光ディスクドライブ１０７６によりプログラム又はデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０又はハードディスク１０７４に提供することもできる。
【００３９】
なお、本発明でいうコンピュータとは、記憶装置、制御部等を備えた情報処理装置をいい、検索結果分類サーバ１は、記憶部２０、制御部１０等を備えた情報処理装置により構成され、この情報処理装置は、本発明のコンピュータの概念に含まれる。
【００４０】
［コンテンツサーバ２のハードウェア構成］
コンテンツサーバ２も、上述の検索結果分類サーバ１と同様な構成を持つ。なお、コンテンツサーバ２のみならず、検索結果分類サーバ１にも、コンテンツサーバ２と同様にＷｅｂページを記憶するコンテンツのＤＢを一部有してもよい。
【００４１】
［端末４のハードウェア構成］
端末４も、上述の検索結果分類サーバ１と同様な構成を持つ。例えば、記憶部は、光ディスクドライブ１０７６に代えて外部メモリを挿入可能なドライブであってもよい。
【００４２】
［検索結果蓄積ＤＢ２２のデータ構造］
図３は、本実施形態に係る検索結果蓄積ＤＢ２２の知識データ構造（応答ルール）３０の例を示す図である。図３の知識データ構造３０は、「カレー」の検索に関するものである。知識データ構造３０は、その一例として、カテゴリＫ（Ｋ１〜Ｋ６）、検索結果Ｍ（Ｍ１〜Ｍ１１）、選択肢Ｏ（Ｏ１，Ｏ２）、質問Ｑ（Ｑ１〜Ｑ３）を含む。カテゴリＫ、検索結果Ｍ、選択肢Ｏ及び質問Ｑは、全てノードとして表すことができる。ノードとノードとを繋ぐ線は、エッジである。エッジには、流れを示すもの（図中実線で表示）と、選択メッセージを示すもの（図中破線で表示）とが存在する。知識データ構造３０は、ノードとエッジとで表され、ノードを上位から下位に向かって辿ることができる木構造をしている。
【００４３】
カテゴリＫは、検索結果を分類する部類であり、その下位ノードの特徴を表す見出し（ラベル）が付されている。ラベルとは、図３の例では、「カレー」「六本木」等の、所定の文字数（例えば、２０文字）以下に制限された文書である。検索結果Ｍは、検索結果として出力するメッセージである。選択肢Ｏは、カテゴリＫを決定するために、カテゴリＫ同士を関連付けるものである。選択肢Ｏは、カテゴリＫを決定するため、カテゴリＫに対応する質問Ｑが関連付けられている。質問Ｑは、カテゴリＫを決定し、検索結果Ｍを最小限に導き出すための質問である。
【００４４】
［知識データ構造３０と検索結果分類サーバ１との関係］
図４は、本実施形態に係る検索結果分類サーバ１のアーキテクチャ４０を知識データ構造３０を用いて示す図である。
【００４５】
検索結果分類サーバ１は、対話応答部１１（図１参照）が実行する対話処理機能を実現するためのコンピュータ・プログラムを備える。当該コンピュータ・プログラムは、例えば、図２におけるハードディスク１０７４に記憶され、システムの起動時にメインメモリ１０５０に作成される。
【００４６】
また、当該コンピュータ・プログラムは、システムの基本入出力等の動作に係るカーネル４１、検索結果分類サーバ１が端末４に対して会話をする枠組みの名称であるインターネット・リレー・チャット（Ｉｎｔｅｒｎｅｔ  Ｒｅｌａｙ  Ｃｈａｔ、ＩＲＣと略称）のためのセッション管理４２、ＩＲＣにおけるチャンネル管理４３，４４を含む。
【００４７】
チャンネル管理４３，４４は、一のユーザ（端末４）に一のチャンネル管理を割り当ててもよく、一のユーザに複数のチャンネル管理を割り当ててもよい。ユーザとチャンネル管理との対応関係は特に問わない。チャンネル管理４３，４４は、これらに限らず、任意の数のチャンネル管理を設けてもよい。それぞれのチャンネル管理により制御されうる応答等の数は適宜設計しうる。
【００４８】
また、当該コンピュータ・プログラムは、チャンネル管理４３により制御されうる基本応答（ＤＳＴ：Ｄｉａｌｏｇｕｅ  Ｓｃｒｉｐｔ  Ｔｒａｃｅｒ）５１、発言制御応答５２、ヘルプ応答５３等を適宜含み、また、チャンネル管理４４により制御されうる基本応答（ＤＳＴ）５４、時間応答５５等を適宜含む。これらは個別に機能を有する応答モジュールであり、それぞれの応答モジュールの機能は適宜設計しうる。
【００４９】
基本応答（ＤＳＴ）５１，５４は、対話応答におけるユーザからの入力に対する基本的な応答を生成することを含み、具体的には、対話の開始又は終了の時点における典型的な応答の生成等を含む。また、基本応答（ＤＳＴ）５１，５４は、対話応答においてユーザに有限の選択肢を示す等の、制約を有する応答の生成を含む。発言制御応答５２は、長い応答メッセージをユーザが任意に中断・再開することを可能とする機能を提供する。ヘルプ応答５３は、ユーザからの操作説明要求等に応じて適宜ヘルプ情報等の応答を生成することを含む。時間応答５５は、対話の経過時間又はシステムの稼働時刻等に基づく応答の生成を含み、具体的には、終了時にユーザに対して「３０分使用しました」等の経過時間を送信するために用意すること、又は年始にユーザに対して「よろしくお願いします」等の時候の挨拶等を送信するために用意すること等を含む。
【００５０】
推論エンジン４５は、知識データ構造３０から答えになる検索結果を導き出す仕組みである。検索スレッド４６は、実行部１６（図１参照）に相当するものである。
【００５１】
さらに、当該コンピュータ・プログラムは、基本応答（ＤＳＴ）５１，５４、発言制御応答５２等を用いて、知識データ構造３０にアクセスできる。
【００５２】
検索結果分類サーバ１は、基本応答（ＤＳＴ）５１，５４により、知識データ構造３０にアクセスして、知識データ構造３０にすでに記憶されたデータを用いて、対話応答のためのデータを生成して対話処理を行うことができる。また、検索結果分類サーバ１は、検索スレッド４６が知識データ構造３０にアクセスすることで、検索結果を更新して知識データ構造３０に記憶することができる。
【００５３】
［対話処理］
図５は、本実施形態に係る対話処理のフローチャートである。対話処理とは、検索結果分類サーバ１が、端末４に対してデータの送受信を行うことで、端末４のユーザが望む検索結果を導き出すことをいう。なお、本処理は、端末４からデータを受信して端末４にデータを送信するまでの間の、検索結果分類サーバ１の処理である。
【００５４】
Ｓ１：制御部１０（対話応答部１１）は、端末４からの入力を受け付ける。
【００５５】
Ｓ２：制御部１０（処理要求受付部１２）は、受け付けたものが検索処理要求であるか否かを判断する。検索処理要求とは、例えば、端末４から「次の言葉を検索して」との宣言がなされ、端末４に表示された検索画面にて、キーワード等が入力されて、初めて検索する場合の処理要求をいう。検索処理要求である場合（Ｓ２：ＹＥＳ）には、処理要求受付部１２は、処理をＳ３に移す。他方、検索処理要求ではない場合（Ｓ２：ＮＯ）には、処理要求受付部１２は、処理をＳ６に移す。
【００５６】
Ｓ３：制御部１０（クエリ抽出部１３）は、受け付けた検索処理要求から検索指示要求を抽出する。検索指示要求とは、通信ネットワーク３を介して接続された図示しない外部のＷｅｂ検索サービスでインターネット検索を行うためのクエリをいう。
【００５７】
Ｓ４：制御部１０（実行部１６）は、後述する検索処理を行う。なお、この検索処理は、あくまでもクエリの受付処理であって、実際にＷｅｂ検索を行って応答ルールの更新を行う処理は、対話処理と並行して実行される。
【００５８】
Ｓ５：制御部１０（結果提示部１４）は、処理結果を端末４に送信する。ここで、処理結果とは、例えば、「指定されたクエリがウェブ検索処理キューに登録されました。」等をいう。その後、制御部１０は、本処理を終了する。
【００５９】
Ｓ６：制御部１０（ユーザ指示受付部１５）は、端末４から「検索結果を提示してください。」のようなユーザからの指示を受けたか否かを判断する。ユーザからの指示を受けた場合（Ｓ６：ＹＥＳ）には、ユーザ指示受付部１５は、処理をＳ７に移す。他方、ユーザからの指示を受けていない場合（Ｓ６：ＮＯ）には、制御部１０は、本処理を終了する。
【００６０】
Ｓ７：制御部１０（対話応答部１１）は、後述するＤＳＴ処理を行う。その後、制御部１０は、本処理を終了する。
【００６１】
［検索処理］
図６は、本実施形態に係る検索処理のフローチャートである。検索処理の実行は、時間を要する処理であるため、別プロセス又はスレッドとして処理を行うことができる。なお、ここでは１つのスレッドの処理を示す。
【００６２】
Ｓ１１：制御部１０（検索実行部１７）は、抽出したクエリを用いて外部のＷｅｂ検索サービスでインターネット検索を行う。具体的には、制御部１０（検索実行部１７）は、抽出したクエリを用いて検索ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を実行する。
【００６３】
Ｓ１２：制御部１０（カテゴリ分類部１８）は、検索ＡＰＩの実行結果である検索結果をカテゴリ分類する。
【００６４】
Ｓ１３：制御部１０（応答ルール更新部１９）は、後述する応答ルール更新処理を行う。
【００６５】
Ｓ１４：制御部１０（実行部１６）は、所定件数（例えば、１万件）を満たすまで、検索を実行したか否かを判断する。所定件数とは、検索した結果を取得する最大の件数をいう。通常、検索ＡＰＩでは、一度に大量の検索結果を取得できないため、繰り返し処理を行う。所定件数を満たすまで検索した場合（Ｓ１４：ＹＥＳ）には、実行部１６は、本処理を終了する。他方、所定件数を満たすまで検索をしていない場合（Ｓ１４：ＮＯ）には、実行部１６は、処理をＳ１１に移す。
【００６６】
［応答ルール更新処理］
図７は、本実施形態に係る応答ルール更新処理のフローチャートである。
【００６７】
Ｓ２１：応答ルール更新部１９は、検索結果のカテゴリを、検索結果蓄積ＤＢ２２の応答ルールから探す。
【００６８】
Ｓ２２：応答ルール更新部１９は、応答ルールに、該当のカテゴリが見つかったか否かを判断する。カテゴリが見つかった場合（Ｓ２２：ＹＥＳ）には、応答ルール更新部１９は、処理をＳ２３に移す。他方、カテゴリが見つからなかった場合（Ｓ２２：ＮＯ）には、応答ルール更新部１９は、処理をＳ２４に移す。
【００６９】
Ｓ２３：応答ルール更新部１９は、見つかったカテゴリに対応するノードをノードｎにする。その後、応答ルール更新部１９は、処理をＳ３１に移す。
【００７０】
Ｓ２４：応答ルール更新部１９（最深ノード探索部１９Ａ）は、検索結果のカテゴリが上位から一致する最深ノードｎを、応答ルールから探す。すなわち、最深ノードｎは、更新する検索結果のカテゴリを包含し、応答ルールの最下位に位置するノードである。
【００７１】
Ｓ２５：応答ルール更新部１９は、応答ルールにおける最深ノードｎの子の数をカウントする。
【００７２】
Ｓ２６：応答ルール更新部１９は、最深ノードｎの子の数が０であるか否かを判断する。最深ノードｎの子とは、最深ノードｎの下位のノードのうち、後述する縮退ノードを除くノードをいう。最深ノードｎの子の数が０である場合（Ｓ２６：ＹＥＳ）には、応答ルール更新部１９は、処理をＳ２７に移す。他方、最深ノードｎの子の数が０ではない場合（Ｓ２６：ＮＯ）には、応答ルール更新部１９は、処理をＳ３０に移す。
【００７３】
Ｓ２７：応答ルール更新部１９（縮退判定部１９Ｂ）は、最深ノードｎの下位が縮退ノードであるか否かを判断する。最深ノードｎの下位が縮退ノードである場合（Ｓ２７：ＹＥＳ）には、応答ルール更新部１９は、処理をＳ２８に移す。他方、最深ノードｎの下位が縮退ノードではない場合（Ｓ２７：ＮＯ）には、応答ルール更新部１９は、処理をＳ３０に移す。
【００７４】
Ｓ２８：応答ルール更新部１９（縮退解消部１９Ｃ）は、最深ノードｎに子ノードを作成して、縮退ノードを解消する。
【００７５】
Ｓ２９：応答ルール更新部１９は、応答ルールから検索結果のカテゴリをさらに探し、見つかったノードに子ノードを作成して、それをノードｎにする。その後、応答ルール更新部１９は、処理をＳ３１に移す。
【００７６】
Ｓ３０：応答ルール更新部１９は、最深ノードｎの子ノードを作成して、その子ノードをノードｎにする。
【００７７】
Ｓ３１：応答ルール更新部１９は、ノードｎに検索結果を追加して、応答ルールを更新する。
【００７８】
このように、検索結果分類サーバ１は、木構造の応答ルールの該当のカテゴリに、検索結果を更新して反映することができる。また、検索結果分類サーバ１は、検索結果をカテゴリに分類し、分類が合致するカテゴリに、さらに検索結果を作成した、動的分類ツリーによって必要最小限のカテゴリ分類を作成することができる。
【００７９】
さらに、検索結果分類サーバ１は、検索結果を追加するのに必要な縮退ノードのみを解消して検索結果を追加するので、最小限の処理で検索結果を追加できる。
【００８０】
［応答ルール更新処理の具体例］
ここで、応答ルールの更新処理について、具体例に基づき説明する。図８（１）は、検索結果蓄積ＤＢ２２に記憶された応答ルールを示す。そして、「ＤＮＡマイクロアレイ  検定」というクエリにて検索処理を行っている。「ＤＮＡマイクロアレイ  検定」のクエリに対するある検索結果は、「自然科学と技術」の「生物学」のカテゴリに追加されるべきものであるとする。また、図８（１）に示す応答ルールは、「自然科学と技術」のカテゴリのノード（＃１）の下位の「統計学用語辞典」のノード（＃２）が、縮退ノードである。縮退ノードとは、あるノードとその下位のノードが、他の一以上のノードと同一の場合に、任意の一のノードを除く他のノードを、通常のノードと識別した形で配置するものをいう。
【００８１】
まず、制御部１０は、検索結果のカテゴリを応答ルールから探す（図７のＳ２１）が、該当のカテゴリは、縮退ノードになっているために見つからない。そこで、制御部１０は、検索結果のカテゴリが上位から一致する最深ノードとして、「自然科学と技術」のノード（＃１）を探す（図７のＳ２４）。「自然科学と技術」のノードは、カテゴリのノードであり、その下位には、「統計学用語辞典」のノード（＃２）である縮退ノードしか存在しないため、子の数は０である。
【００８２】
図８（２）は、縮退ノードを解消した後の応答ルールを示す。制御部１０は、「統計学用語辞典」のノードが縮退ノードであったため、対応する子ノードを作成する（＃３）。そして、「ＤＮＡマイクロアレイ  検定」のクエリに対する検索結果に該当するカテゴリが存在するので（＃４）、制御部１０は、その子ノードを作成して（＃５）、検索結果を追加する（図７のＳ２８，Ｓ２９，Ｓ３１）。検索結果「統計学用語辞典」と「ＤＮＡマイクロアレイ」とは、カテゴリ「自然科学と技術」までは共通していて、その下のカテゴリ「数学」と「生物学」とで初めて分類結果のパスが異なっており、これらの処理でそれらの結果を表現する最小の木構造を構成することができた。
【００８３】
［ＤＳＴ処理］
図９は、本実施形態に係るＤＳＴ処理のフローチャートである。
【００８４】
Ｓ４１：対話応答部１１は、後述の文脈ポインタが定義されているか否かを判断する。文脈ポインタが定義されている場合（Ｓ４１：ＹＥＳ）には、対話応答部１１は、処理をＳ４３に移す。他方、文脈ポインタが定義されていない場合（Ｓ４１：ＮＯ）には、対話応答部１１は、処理をＳ４２に移す。なお、文脈ポインタは、記憶部２０に記憶されているものとしてよい。また、文脈ポインタは、複数回繰り返される対話処理（図５）のうち、最初にＤＳＴ処理を行う場合には、未定義である。
【００８５】
Ｓ４２：対話応答部１１は、応答ルールの先頭から、ユーザの指示で指定されたカテゴリにマッチするノードを探す。その後、対話応答部１１は、処理をＳ４４に移す。
【００８６】
Ｓ４３：対話応答部１１は、文脈ポインタが定義されたノードから、ユーザが指定したカテゴリにマッチするノードを探す。
【００８７】
Ｓ４４：対話応答部１１は、マッチするノードが見つかったか否かを判断する。マッチするノードが見つかった場合（Ｓ４４：ＹＥＳ）には、対話応答部１１は、処理をＳ４５に移す。他方、マッチするノードが見つからなかった場合（Ｓ４４：ＮＯ）には、対話応答部１１は、本処理を終了する。
【００８８】
Ｓ４５：対話応答部１１は、マッチしたノードを１つ選択する。マッチしたノードが複数ある場合の選択は、ランダムに選択してもよいし、直近に本処理が実行されたものでもよい。また、最も昔に実行されたものでもよい。
【００８９】
Ｓ４６：対話応答部１１は、選択したノードの下位ノードが、検索結果Ｍであるか否かを判断する。検索結果Ｍである場合（Ｓ４６：ＹＥＳ）には、対話応答部１１は、処理をＳ４７に移す。他方、検索結果Ｍではない場合（Ｓ４６：ＮＯ）には、対話応答部１１は、処理をＳ４８に移す。
【００９０】
Ｓ４７：対話応答部１１（結果提示部１４）は、検索結果Ｍをメッセージとして応答する。なお、検索結果Ｍが複数ある場合は、その複数の検索結果Ｍをメッセージとして応答してよい。その後、対話応答部１１は、本処理を終了する。
【００９１】
Ｓ４８：対話応答部１１は、選択したノードの下位ノードが、選択肢Ｏであるか否かを判断する。選択肢Ｏである場合（Ｓ４８：ＹＥＳ）には、対話応答部１１は、処理をＳ４９に移す。他方、選択肢Ｏではない場合（Ｓ４８：ＮＯ）には、対話応答部１１は、本処理を終了する。
【００９２】
Ｓ４９：対話応答部１１は、選択肢Ｏのノードを、文脈ポインタとして設定する。
【００９３】
Ｓ５０：対話応答部１１（結果提示部１４）は、選択肢Ｏに関連付けられた質問Ｑと、選択肢Ｏの子ノードである全てのカテゴリＫとを応答する。その後、対話応答部１１は、本処理を終了する。
【００９４】
このように、検索結果分類サーバ１は、ＤＳＴ処理を繰り返し実行することで、端末４から受け付けたカテゴリに対応するノードの下位ノードのラベルを出力し、出力に基づいてカテゴリを、同一の端末４から受け付けることで、さらに下位のノードのラベルを出力する。よって、検索結果分類サーバ１は、応答ルールの木構造を利用して、上位から下位にドリルダウンしてユーザが欲する検索結果を、対話方式で出力することができる。
【００９５】
［携帯電話機４ａの表示例］
図１０は、本実施形態に係る携帯電話機４ａでの表示例を示す図である。
【００９６】
まず、図１０（１）は、携帯電話機４ａのディスプレイに表示された検索画面６０が示されている。検索画面６０は、検索条件入力部６１と、検索ボタン６２とを有する。検索条件入力部６１には、検索キーワードとして「ＤＮＡマイクロアレイ  検定」という文言が入力されている。また、検索ボタン６２を選択することで、検索条件入力部６１に入力されたデータが、検索結果分類サーバ１に送信される。
【００９７】
図１０（２）に示すように、検索画面６０には、システム応答部６３と選択肢表示部６４とが表示されている。システム応答部６３は、検索結果分類サーバ１からの対話方式での質問である。この例では、システム応答部６３は、上述の図８（１）の「（選択肢Ａ）」に関連付けられた図示しない質問である。選択肢表示部６４は、「（選択肢Ａ）」に関連付けられたカテゴリＫを表示する。関連付けられたカテゴリＫは、複数ある場合には、選択肢表示部６４に全て表示してよい。ユーザは、例えば、選択肢表示部６４から「自然科学と技術」を選択する。
【００９８】
図１０（３）は、ユーザが「自然科学と技術」を選択した（図１０（２））後に、携帯電話機４ａに出力された検索画面６０を示す。検索画面６０は、上述の図８（２）の「（選択肢Ｂ）」に関連付けられた図示しない質問と、「（選択肢Ｂ）」に関連付けられたカテゴリＫとを表示する。ユーザが、「生物学」を選択することで、図１０（４）に示す検索画面６０が表示され、以降、検索結果分類サーバ１と、携帯電話機４ａとの対話形式により、ユーザが欲する検索結果を出力することができる。
【００９９】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【図面の簡単な説明】
【０１００】
【図１】本実施形態に係る検索システムの全体構成及び検索結果分類サーバの機能構成を示す図である。
【図２】本実施形態に係る検索結果分類サーバのハードウェア構成を示す図である。
【図３】本実施形態に係る検索結果蓄積ＤＢの知識データ構造（応答ルール）の例を示す図である。
【図４】本実施形態に係る検索結果分類サーバのアーキテクチャを知識データ構造を用いて示す図である。
【図５】本実施形態に係る対話処理のフローチャートである。
【図６】本実施形態に係る検索処理のフローチャートである。
【図７】本実施形態に係る応答ルール更新処理のフローチャートである。
【図８】本実施形態に係る応答ルール更新処理の具体例を示す図である。
【図９】本実施形態に係るＤＳＴ処理のフローチャートである。
【図１０】本実施形態に係る携帯電話機での表示例を示す図である。
【符号の説明】
【０１０１】
１  検索結果分類サーバ
４  端末
１０  制御部
１１  対話応答部
１２  処理要求受付部
１３  クエリ抽出部
１４  結果提示部
１５  ユーザ指示受付部
１６  実行部
１７  検索実行部
１８  カテゴリ分類部
１９  応答ルール更新部
１９Ａ  最深ノード探索部
１９Ｂ  縮退判定部
１９Ｃ  縮退解消部
２０  記憶部
２２  検索結果蓄積ＤＢ
３０  知識データ構造
６０  検索画面
１００  検索システム
Ｋ  カテゴリ
Ｍ  検索結果
Ｏ  選択肢
Ｑ  質問