(57)【要約】【課題】  複数のクエリー・ノード及び情報ノードを含むクエリー・ツリーを進行させるシステム、コンピュータに実装される方法及びコンピュータ・プログラム製品を提供する。【解決手段】  各クエリー・ノードはプロンプト、ブランチ基準及びキーワードに関連づけられている。現クエリー・ノードはユーザにプロンプトを提示し、そしてユーザの応答が受けとられ、そしてユーザの応答内のブランチ基準及びキーワードを同定するために分析される。本方法は、ユーザの応答内のブランチ基準並びにユーザの応答内のキーワードとクエリー・ノードに関連づけられているキーワードとの比較に基づいてクエリー・ツリー内の他のノードへ進行させる。この比較は、ブランチ基準に対応する宛先ノードへの進行を正当化し、又はこの比較は、クエリー・ツリーの正しくない進行を示す。正しい進行は、ユーザの応答内のキーワードに基づいて種々な方式で実現され得る。【選択図】図１
2010287224.tif 000002
【特許請求の範囲】
【請求項１】
プロンプトをユーザに伝えるステップであって、前記プロンプトはクエリー・ツリーの現クエリー・ノードにより提示され、前記クエリー・ツリーは複数のクエリー・ノード、複数のブランチ及び複数の情報ノードを含み、前記ブランチのそれぞれは特定なクエリー・ノードに関連づけられたブランチ基準に対応しそして関連するクエリー・ノードから他のクエリー・ノード若しくは情報ノードの１つへの進行を指示し、各クエリー・ノードはプロンプトを提示しそして各情報ノードは前記ユーザにとって役に立つ情報を与え、前記クエリー・ノードのそれぞれは１つ以上のキーワードに関連づけられている、前記ステップと、
前記プロンプトに対するユーザの応答を受けとるステップと、
現クエリー・ノードからこれと異なる他のクエリー・ノード若しくは情報ノードの１つへ導く複数のブランチのうちの１つに対応するブランチ基準を同定するために前記ユーザの応答を分析するステップと、
前記ユーザの応答からの１つ以上のキーワードを同定するために前記ユーザの応答を分析するステップと、
前記ユーザの応答からのブランチ基準と前記ユーザの応答からの１つ以上のキーワード及び前記情報ノードに関連づけされているキーワードの比較とに基づいて前記クエリー・ツリー内の他のノードへ進めるステップとを含む、クエリー・ツリーを動作させる方法。
【請求項２】
更に、前記ユーザの応答が前記クエリー・ノードから出るブランチに対応するブランチ基準を含むという判定に応答して、前記クエリー・ツリー内を現クエリー・ノードから宛先ノードへ進めるステップを含む、請求項１に記載の方法。
【請求項３】
前記ユーザの応答からの１つ以上のキーワードが宛先ノードに関連づけられているキーワードに関連性があるという判断に応答して、前記宛先ノードへの進行を容認するステップを含む、請求項２に記載の方法。
【請求項４】
前記ユーザの応答からの１つ以上のキーワードが前記宛先ノードに近接するクエリー・ノードに関連づけられているキーワードに関連性がないという判断に応答して前記宛先ノードへの進行を容認するステップを含む、請求項２に記載の方法。
【請求項５】
更に、１つのセッションの間に各プロンプトに関連して受けとられた前記ユーザの応答を記憶するステップと、
現プロンプトに対するユーザの応答が現クエリー・ノードよりも以前に辿ったクエリー・ノードに関連性があるキーワードを含むという判定に応答して前記以前に辿ったクエリー・ノードへ戻すステップとを含む、請求項１に記載の方法。
【請求項６】
更に、前記宛先ノードに関連づけられたどのキーワードにも関連性がない１つ以上のキーワードを含むユーザの応答を受けとったことに応答して、現クエリー・ノードからのプロンプトを反復するステップを含む、請求項１に記載の方法。
【請求項７】
現クエリー・ノードに関連づけられているキーワードよりも前記ユーザの応答内の１つ以上のキーワードに対してより関連性があると判定されたキーワードに関連づけられたクエリー・ノードへ進めるステップを含む、請求項１に記載の方法。
【請求項８】
質問及び応答は、電話システム若しくはコンピュータ回路網を介して伝えられる、請求項１に記載の方法。
【請求項９】
前記クエリー・ノードのそれぞれは、３つ以上にブランチするためのブランチ基準を含む、請求項１に記載の方法。
【請求項１０】
それぞれが問い合わせ、ブランチ基準及び予定のキーワードを含む複数のクエリー・ノードを有するクエリー・ツリーを準備するステップと、
複数のクエリー・ノードのうち第１番目のクエリー・ノードからの問い合わせに対してユーザが応答するようにプロンプトするステップと、
前記問い合わせに対する前記ユーザの応答を受けとるステップと、
ブランチ基準及びユーザからの１つ以上のキーワードを同定するために前記ユーザの応答を分析するステップと、
前記ユーザからの１つ以上のキーワードを１つ以上のクエリー・ノードからの予定のキーワードに比較するステップとを含む、クエリー・ツリーを動作させる方法。
【請求項１１】
前記ユーザからの１つ以上のキーワードを１つ以上のクエリー・ノードからの予定のキーワードに比較するステップは、前記ユーザからの１つ以上のキーワードを、ブランチ基準により同定されたくエリー・ノードからの予定のキーワードに比較することを含む、請求項１０に記載の方法。
【請求項１２】
更に、前記ユーザからの１つ以上のキーワードが前記ブランチ基準により同定されたクエリー・ノードからの前記予定のキーワードと一致することに応答して、前記複数のクエリー・ノードのうちの前記第１番目のクエリー・ノードから前記ブランチ基準により同定されたクエリー・ノードへ進めるステップを含む、請求項１１に記載の方法。
【請求項１３】
更に、前記ユーザからの１つ以上のキーワードが前記クエリー・ツリーの少なくとも１つのクエリー・ノードからの予定のキーワードに一致し、そして前記ユーザからの１つ以上のキーワードが前記ブランチ基準により同定されたクエリー・ノードからの予定のキーワードに一致しないことに応答して、前記クエリー・ツリー内の前記複数のクエリー・ノードのうちの前記第１番目のクエリー・ノードから前記クエリー・ツリー内の他のクエリー・ノードへ進めるステップを含む、請求項１０に記載の方法。
【請求項１４】
クエリー・ツリーを動作させるプログラムであって、
コンピュータに、
クエリー・ツリーを設立する手順であって、前記クエリー・ツリーは、複数のクエリー・ノード、複数のブランチ及び複数の情報ノードを含み、前記ブランチのそれぞれは、特定なクエリー・ノードに関連づけられているブランチ基準に対応しそして関連するクエリー・ノードから他のクエリー・ノード若しくは情報ノードの１つへ導き、前記クエリー・ノードのそれぞれはプロンプトを提示しそして前記情報ノードのそれぞれは前記ユーザにとって役に立つ情報を与える、前記手順と、
前記クエリー・ノードのそれぞれに１つ以上のキーワードを関連づけするステップとを実行させるためのプログラム。
【請求項１５】
更に、ユーザにプロンプトを伝える手順と、
前記プロンプトに対する前記ユーザの応答を受けとる手順と、
現クエリー・ノードから他の１つのクエリー・ノード若しくは情報ノードの１つへ導く複数のブランチのうちの１つに対応するブランチ基準を同定するために、前記ユーザの応答を分析する手順と、
前記受けとられたユーザの応答内にある１つ以上のキーワードを同定するために前記ユーザの応答を分析する手順とを含む、請求項１４に記載のプログラム。
【請求項１６】
更に、前記ユーザの応答からのブランチ基準と前記受けとられたユーザの応答内の１つ以上のキーワードを前記クエリー・ノードに関連づけられている１つ以上のキーワードとの比較に基づいて、前記クエリー・ツリー内の他のノードへ進める手順を含む、請求項１５に記載のプログラム。
【請求項１７】
更に、前記ユーザの応答からの１つ以上のキーワードが宛先ノードに関連づけられているキーワードに対して関連性があるという判定に応答して、前記ブランチ基準に関連づけられている宛先ノードへ進める手順を含む、請求項１６に記載のプログラム。
【請求項１８】
更に、前記ユーザの応答からの１つ以上のキーワードが前記宛先ノードに近接するクエリー・ノードに関連づけられているキーワードに対して関連性がないという判定に応答して、前記宛先ノードへの進行を許容する手順を含む、請求項１６に記載のプログラム。
【請求項１９】
更に、ユーザ・セッションの間に各質問に関連して受けとられたユーザの応答のそれぞれを記憶する手順と、
現プロンプトに対するユーザの応答が現クエリー・ノードよりも以前に辿ったクエリー・ノードに対して更に関連性があるキーワードを含むという判定に応答して、前記以前に辿ったクエリー・ノードに戻す手順とを含む、請求項１６に記載のプログラム。
【請求項２０】
更に、前記クエリー・ノードに関連づけられているいずれのキーワードにも関連性がないキーワードを含むユーザの応答を受けとったことに応答して、現クエリー・ノードからのプロンプトを反復する手順を含む、請求項１５に記載のプログラム。
【請求項２１】
更に、現クエリー・ノードに関連づけられているキーワードよりも前記ユーザの応答内の１つ以上のキーワードに対して更に関連性があると判定されたキーワードに関連づけられているクエリー・ノードへ進める手順を含む、請求項１４に記載のプログラム。
【請求項２２】
前記プロンプトのそれぞれ及び前記応答のそれぞれは、電話システム、コンピュータ回路網若しくはこれらの組み合わせを介して伝えられる、請求項１５に記載のプログラム。
【請求項２３】
前記クエリー・ノードの少なくとも１つは、３つ以上にブランチするためのブランチ基準を含む、請求項１５に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コール・センター、ヘルプ・デスク若しくは情報応用及びウエブ・ページで使用され得るようなクエリー・ツリー（問い合わせ木構造.）の準備及び使用に関する。
【背景技術】
【０００２】
ヘルプ・デスク及びコール・センターは、コール・ハンドラと呼ばれる職員を有して設立され、問い合わせ者に対して一連の質問をすることによりこの問い合わせ者が個人であるか若しくは専門的知識を有する組織であるかを最初に同定し、次いで問い合わせ者に与える適切な応答を決定する。コール・ハンドラは、問い合わせ者と検討中の話題について専門家でないことがあるので、コール・ハンドラが行う共通的な手法は、ソフトウエアを使用することであり、このソフトウエアは、これがクエリー・ツリーを辿る間に、コール・ハンドラが問い合わせ者に特定な質問を行えるようにするプロンプトを与える。クエリー・ツリーの名前の由来は、ブランチ（即ち、枝）により接続されている一連の質問のグラフィック表示が、定型的な三角形のツリーに似ているからであり、ここで、最上部の最初のノードから複数のノードに向かって下方にブランチ（枝分かれ）し、最終的に非常に広い底部が形成されるまで、それぞれのノード自体が又複数のノードにブランチする。具体的にいうと、コール・ハンドラには、当合わせ者に答えている時点で１つの質問が提示され、ここで、この質問はツリー内の１つのノードに対応する。この質問に対する問い合わせ者の応答に基づいて、ツリー内でどのようにブランチするかの決定がなされて、次の質問若しくは問い合わせ者に与える答えを引き出す。質問しそして応答するこのプロセスは、クエリー・ツリー設計者若しくはプログラマにより決定される回数だけ継続してクエリー・ツリー内を進行する。理論的には、一連の質問及び応答は、探索された情報へ問い合わせ者を最終的にたどり着かせるべきであり、この情報とは、必要な専門的知識を有する個人への音声接続、所定の主題についての情報を含む記録された説明、若しくは更なる情報を引き出すデータであり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
実際のコール・ハンドラを常に係わらせるよりもむしろ、かなりのヘルプ・デスク若しくはコール・センターは、例えば対話型音声応答システムのような完全に自動化されたクエリー・ツリーを使用する。代表的には、対話型音声応答システムは、予め録音された質問若しくは音声合成された質問を流し、そして問い合わせ者の応答を同定するために音声認識技術を使用することにより、問い合わせ者がクエリー・ツリーを辿るようにする。理想的には、問い合わせ者が所望の情報に迅速且つ直接的に到達できることである。しかしながら、不適切な質問、問い合わせ者の間違った応答、音声応答を正しく認識できなかったために、問い合わせ者は、所望の情報を得ることができなかった。
【０００４】
これと非常に似ている自動化されたシステムは、クエリー・ツリーを辿らせる（ナビゲートする）ために、問い合わせ者が例えば電話機のキー・パッドを介して各質問に対する数字による応答を入力することを要求する。数字による応答は音声による応答よりも認識しやすいけれども、一般的に質問は、幾つかの数字による応答の意味を説明するステーツメント（言明）を含まねばならない。これらのステーツメントは、相当長くなり、従って問い合わせ者がこれらを思い出しそして評価することが困難になる。例えば、銀行の自動化システムは、“新規登録の場合は１を押してください”、現存する口座の収支の場合には２を押してください“、”自動車ローンの場合には３を押してください“、営業時間の場合には４を押してください”、“退職勘定の場合には５を押してください”、等を話しかける。新たな個人退職勘定（ＩＲＡ）を設立することについての情報を望んでいる問い合わせ者は、新規登録の１を押すのか又は退職勘定の５を押すのか混乱することがある。
【０００５】
経験の少ないコール・ハンドラ及び自動化システムを使用することは、これらを使用する企業若しくは政府組織に著しい財政上の節約をもたらすが、問い合わせ者には彼らが必要とする情報を得るのに必要な時間数及び手間の点で不満足感が生じる可能性がある。厳密に設計されそしてスクリプトされたクエリー・ツリーは、このようなシステムに接する問い合わせ者の知識を著しく改善するが、更に改善されたコール・システムの必要性がある。
【課題を解決するための手段】
【０００６】
本発明の１つの実施例は、プロンプトをユーザに提示するコンピュータに実装される方法を提供し、ここで、プロンプトは、クエリー・ツリーの現クエリー・ノードにより提示される。クエリー・ツリーは、複数のクエリー・ノード、複数のブランチ及び複数の情報ノードを含み、各ブランチは、特定のクエリー・ノードに関連づけられているブランチ基準に対応し、そしてこの関連するクエリー・ノードから他のクエリー・ノード若しくは情報ノードの１つへの進行（ナビゲーション）を指示する。各クエリー・ノードはプロンプトを提示し、そして各情報ノードはユーザにとって役に立つ情報を与える。更に、各クエリー・ノードは１つ以上のキーザードに関連づけされている。更にこのコンピュータに実装された方法は、プロンプトに対するユーザの応答を受けとるステップと、現在のクエリー・ノードから他のクエリー・ノード若しくは情報ノードの１つへ至る、複数のブランチのうちの１つに対応するブランチ基準を同定するためにユーザの応答を分析するステップを含む。又、ユーザの応答は、このユーザの応答から１つ以上のキーワードを同定するために分析される。クエリー・ツリーは、ユーザの応答から得られたブランチ基準と、ユーザの応答から得られた１つ以上のキーワード及びクエリー・ノードに関連づけされているキーワードの比較に基づいて、このクエリー・ツリーの他のノードに進められる（ナビゲートされる）。
【０００７】
本発明の他の実施例は、複数のクエリー・ノードを有するクエリー・ツリーを準備するコンピュータに実装された方法を提供し、ここで、各クエリー・ノードは、質問（クエリー）、ブランチ基準及び予定のキーワードを含む。この方法は、次いで、複数のクエリー・ノードのうちの第１番目のクエリー・ノードからの質問に対してユーザを応答させるプロンプトを提示し、この質問に対するユーザの応答を受け取り、ブランチ基準及び１つ以上のユーザのキーワードを同定するためにユーザの応答を分析し、そしてユーザからの１つ以上のキーワードを１つ以上のクエリー・ノードからの予定のキーワードと比較する。
【０００８】
本発明の更に他の実施例は、コンピュータ使用可能な媒体に記録されたコンピュータ使用可能なプログラム・コードを含むコンピュータ・プログラム製品を提供する。コンピュータ・プログラム製品は、クエリー・ツリーを設立するためのコンピュータ使用可能なプログラム・コードを含み、ここでクエリー・ツリーは、複数のクエリー・ノード、複数のブランチ及び複数の情報ノードを有し、各ブランチは特定なクエリー・ノードに関連づけられているブランチ基準に対応しそして関連するクエリー・ノードから他のクエリー・ノード若しくは情報ノードの１つへの進行（ナビゲート）を指示し、ここで各クエリー・ノードはプロンプトを提示しそして各情報ノードは役に立つ情報をユーザに提示し、そして更に、コンピュータ・プログラム製品は、各クエリー・ノードに１つ以上のキーワードを関連づけるコンピュータ使用可能なプログラム・コードを含む。
【図面の簡単な説明】
【０００９】
【図１】スカウト・プログラムについての情報をユーザに与えるクエリー・ツリーの例を示す図である。
【図２】情報ノードのそれぞれにキーワードが関連づけられているクエリー・ツリーを示す図である。
【図３】クエリー・ツリー内でのユーザの進行を正当化し若しくは再指向するために各クエリー・ノードにおいて使用されるキーワードを示すクエリー・ツリーを示す図である。
【図４】図３のクエリー・ツリーを規定する表若しくはデータベースを示す図である。
【図５】図３のクエリー・ツリーを規定する表若しくはデータベースを示す図である。
【図６】クエリー・ツリーを構築する方法のフローチャートを示す図である。
【図７】クエリー・ツリーを動作させる方法のフローチャートを示す図である。
【図８】クエリー・ツリーを動作させる方法のフローチャートを示す図である。
【図９】クエリー・ツリーを動作させる方法のフローチャートを示す図である。
【発明を実施するための形態】
【００１０】
本発明の１つの実施例は、クエリー・ツリーを辿る（ナビゲートする）ためのシステム、コンピュータに実装される方法及びコンピュータ・プログラム製品を提供する。この実施例の方法は、ユーザにプロンプトを伝達するステップを含み、ここで、プロンプトは、クエリー・ツリーの現在のクエリー・ノードにより提示される。クエリー・ツリーは、複数のクエリー・ノード、複数のブランチ及び複数の情報ノードを含み、各ブランチは、特定なクエリー・ノードに関連するブランチ基準（ｃｒｉｔｅｒｉａ）に対応しそして関連するクエリー・ノードから他のクエリー・ノード若しくは情報ノードの１つへ進むことを指示する。各クエリー・ノードは、プロンプトを提示し、そして１つ以上のキーワードが関連づけられている。各情報ノードは、ユーザにとって役に立つ情報を与える。この実施例の方法は更に、プロンプトに対するユーザの応答を受けとることを含む。ユーザの応答は、現在のクエリー・ノードから、複数のクエリー・ノードのうち異なる１つのクエリー・ノード若しくは情報ノードの１つへ至る複数のブランチの１つに対応するブランチ基準を同定するために、そしてユーザの応答からの１つ以上のキーワードを同定するために分析される。この方法は、ユーザの応答において受けとられたブランチ基準、並びにユーザ応答において受けとられた１つ以上のキーワードとクエリー・ノードに関連づけられた１つ以上のキーワードと比較を考慮してクエリー・ツリーの他のノードへ進める。
【００１１】
ユーザは、ユーザが必要としている情報を効率的に決定するように設計されているプロンプトに対する応答を与えることによりクエリー・ツリー内を進行する。ユーザの応答は、このクエリー・ツリーを実装するシステムのユーザ・インターフェースに適応する種々な形で提示され得る。例えば、ユーザの応答は、ユーザ・インターフェースが電話回線と通信する電話である場合ユーザの発声若しくは数字入力でもよく、又は、ユーザの応答は、ユーザ・インターフェースがコンピュータ・ネットワークと通信するコンピュータ・ワークステーションである場合英数字入力若しくはポイントーアンドークリック（ｐｏｉｎｔ  ａｎｄ  ｃｌｉｃｋ）入力でもよい。又、ユーザがクエリー・ツリーを辿るために他のインターフェースが利用され得る。
【００１２】
クエリー・ツリーは、これ自身をグラフィック的表示及び記述させるものであるが、１つ以上の表（テーブル）若しくはデータベースとして実現され得る。例えば、表若しくはデータベースにおいて、各行若しくはレコードはクエリー・ノードを規定する。クエリー・ノードを規定する１つのレコードは、プロンプト、ブランチ基準、各ブランチ基準毎の宛先ノードＩＤ，及び関連するキーワードを与える。宛先ノードは、他のクエリー・ノード若しくは情報ノードでもよい。情報ノードは、ユーザが必要とする情報若しくは他のサービス・アクセスを与える。図を参照して以下に説明する実施例は、情報ノードを終端ノードとしているが、情報ノードにプロンプト、ブランチ基準及び対応する宛先ノードＩＤを含ませるようにすることも可能である。後者の場合、ユーザの応答に対するプロンプトに続いて情報若しくはサービス・アクセスが提示され得る。当業者ならば、本明細書で説明する技術を理解した後、本発明の他の特定な態様及び変形を容易に理解するであろう。
【００１３】
更に、各ノードは任意の数のブランチ基準を有することができるが、ブランチ基準の数はユーザから適切な応答を引き出せないような混乱を生じさせないように、１乃至１０であるのが望ましい。例えば、ブランチ基準は、例えばイエス／ノー若しくは真／偽のような２進ブランチ基準又は他の質的若しくは量的なブランチ基準を含み得る。プロンプトは、ユーザに適切な応答の例を提示してもよく若しくは提示しなくてもよい。例えば、クエリー・ツリー・システムは、容認可能な応答はイエス“若しくは”ノー“であることをユーザに知らせることができる。更に、クエリー・ツリーシステムは、現在のクエリー・ノードから幾つのブランチがあるかをユーザに知らせてもよく若しくは知らせなくてもよい。例えば、プロンプトがユーザに年齢を述べることを要求するならば、ユーザの応答は音声による若しくは数字エントリィ”４３“を含む。他の例では、クエリー・ツリーは、年齢を表す整数（例えば、１６，１７，１８，・・・、４１，４２，４３，・・・、６８．６９，７０等）毎のブランチ基準、年齢の範囲（２０−２９，３０−３９，４０−４９，等）を設定するブランチ基準、又は単に年齢が２１歳以上か、若しくは６５歳以上かを単に判定するブランチ基準を備えて構築され得る。設けられることができる。他の例では、プロンプトは、ユーザが住んでいる市の名前及び州の名前を示すユーザの応答を求めることができる。ユーザが述べる市は広大な範囲に及ぶので、システムは、ユーザの応答を受けとり、そしてクエリー・ツリーの動作を助けるルックアップ関連の情報を得ることができる。もしもユーザの応答が、ユーザがノースカロライナ州のホーリ・スプリングスに住んでいることを示すならば、システムは、ホーリ・スプリングスで入手可能なケーブル・テレビ・レイトプランについての情報を戻す別のデータベースを探索することができる。入手可能なレイトプランは、ユーザに提示されるべき情報若しくは更なるプロンプトを示すブランチ基準として使用され得る。
【００１４】
１つの実施例において、ユーザは、クエリー・ツリーを実装するシステムに直接インターフェースし得る。例えば、電話若しくはコンピュータのような任意の入／出力デバイスを使用して、ユーザはスピーカ若しくはグラフィック・ディスプレイを介して直接的にプロンプト受けとることができ、そしてマイクロフォン、キーボード若しくはマウスを介して応答を直接送ることができる。もしもユーザがリモート・サーバを使用するならば、入／出力動作は、ローカル・エリア・ネットワーク、例えばインターネットのようなワイド・エリア・ネットワーク、電話回線若しくはこれらの組み合わせを介して行われることができる。随意選択的に、クエリー・ツリーは、例えばキオスク若しくは小売店のようなユーザが直接アクセスできるコンピュータに実装される。他の実施例においては、ユーザは、プロンプトを読み上げ、そしてクエリー・ツリー若しくはクエリー・ツリーを実装するシステムを何ら変更することなくユーザの応答を入力するコール・ハンドラ（係員）を通信することができる。
【００１５】
本発明の種々な実施例に従うと、ユーザの応答は、ブランチ基準及びブランチ基準以外の１つ以上のキーワードを同定するために分析される。もしもユーザの応答が例えば電話回線を介して受けとられる話し言葉のような音声信号として受けとられるならば、ユーザの応答を分析する準備ステップは、音声信号をこれと等価の英数字データに変換する音声認識システムを含む。音声信号から変換された若しくは英数字入力として直接受けとられた英数字データは、プロンプトを提示したクエリー・ノードに関連づけられている任意のブランチ基準若しくはキーワードに一致するワード若しくは他のデータを同定するために分析される。種々な標準が“一致”と判定するのに利用されることができるが、ブランチ基準若しくはキーワードの綴り及び形式の一般的な変化は一致として考えられる。例えば、クエリー・ツリーデータベースに含まれているブランチ基準が“ｔｈｅａｔｅｒ”として記憶されている場合、“ｔｈｅａｔｒｅ”若しくは“ｔｈｅａｔｒｉｃａｌ”を含むユーザの応答は一致と考えられる。ユーザの応答において、例えば“ｔｈｅ”，“ａｎ”、のような冠詞及び例えば“ｆｏｒ”，“ａｎｄ”，“ｏｒ”及び“ｂｕｔ”のような接続詞は、ユーザの意図を示すブランチ基準又はキーワードとして見なされない。名詞、代名詞、形容詞、動詞、副詞及び数字はクエリー・ノードに関連づけされるブランチ基準若しくはキーワードとして使用されるのが望ましい。ユーザの応答中の同定された名詞、代名詞、形容詞、動詞及び副詞は、クエリー・ツリーを辿るのに使用され得る一致を同定するために現クエリー・ノードに関連づけされているブランチ基準及びキーワードと比較される。随意選択的に、ユーザの応答の内容は、ブランチ基準及びキーワードと一致するとはいえないがこれらに対する妥当性の度合いを同定するために分析され得る。例えば、語“ｄｒｉｎｋ”を含むユーザの応答は、”ｃｏｆｅｅ“若しくは”ｄｏｎｕｔｓ“のいずれとも一致しないが、このうち”ｃｏｆｅｅ“に最も関連性があるとして識別される。
【００１６】
本発明の１つの実施例に従うと、コンピュータに実装される方法は、ユーザの応答が現クエリー・ノードから出るブランチに対応するブランチ基準を含むという判定に応答して現クエリー・ノードから宛先ノードへ進むステップを含む。例えば、“イエス”及び“ノー”のようなブランチ基準はクエリー・ツリーにおいて１回以上利用され得ることに注目されたい。任意に与えられたユーザの応答に含まれるブランチ基準の同定は、現クエリー・ノードからのブランチに対応するブランチ基準に集中されるべきである。ブランチ基準が同定されそして後述のようにこれが正当化されると、クエリー・ツリーは、ブランチ基準に関連する宛先ノードへ進められる。しかしながら、案内（ナビゲーション）動作の１つのステップに対して宛先ノードとして参照されたノードは、次の進行においては現ノードになる。随意選択的に、或るポインタがクエリー・ツリーの現ノードを連続的に同定しそして進行動作の間１つのノードから他のノードへ動くようにすることもできる。このプロセスは、質問を伴う単一のユーザ・セッションに亘って連続する。例えば、コンピュータの問題を解決するためにクエリー・ツリーが複雑であるような場合、ユーザは彼のユーザ・セッションを保存し、そしてこの後元に戻ってクエリー・ツリーの同じポイントから動作を続けることができる。
【００１７】
更に他の実施例において、コンピュータに実装される方法は、ユーザの応答内の１つ以上のキーワードが宛先ノードに関連づけられたキーワードに一致又は少なくともこれらに対して関連性があるという判定に応答して、宛先ノードへの進行を容認するステップを含む。ユーザの応答内のキーワードが宛先ノードに関連づけられたキーワードと一致するという判定は、クエリー・ツリーを通る現在の進行の仕方が、ユーザの必要度若しくは興味と一致して進行していることを正当化するのに有用である。ブランチ基準を単純に辿ることは不適切な案内を正確若しくはタイミングよく検出しないかも知れない。例えば、家畜のクリニックのためのクエリー・ツリーが“あなたの犬は何歳ですか？”というプロンプトを提示し、そして“私の猫は６歳です”というユーザの応答を得たならば、“６歳”というブランチ基準は、宛先ノードを示しうるが、“猫”というキーワードは、現クエリー・ノードから遠くにあるどの情報ノードにも一致せず若しくは関連性がない。具体的にいうと、クエリー・ツリーが不適切に進行してしまったのは、おそらく、“あなたのペットは犬ですか又は猫ですか？”という或る先行するプロンプトに対して誤った応答がなされたためである。これに対して、“私の子犬は７歳です”というユーザの応答は、“犬”というブランチ基準に一致若しくは関連性があると判断され、そしてクエリー・ツリーの進行を正当化する。
【００１８】
クエリー・ノードは、種々な方法で単独若しくは組み合わせ的に１つ以上のキーワードに関連づけられるようになることに注目されたい。例えば、クエリー・ノード及びブランチ基準を含むクエリー・ツリーをレイアウトし、そして各情報ノードの情報若しくは内容を同定することが可能である。情報からのキーワードは同定され、そして最初のクエリー・ノードまでクエリー・ツリーを逆方向に辿るパスに沿う各クエリー・ノードに関連づけされ得る。従って、或るクエリー・ノードに関連づけされるキーワードは、このノードからブランチして下の方向に辿ることにより得られる情報を表す。他の例として、特定なクエリー・ノードに関連づけされるキーワードは、ユーザを所望の情報に到達させるユーザの応答からのキーワードを記憶することにより時間外に増し分的に発生される。これらの２つの方法及び他の方法の組み合わせが、クエリー・ツリーの任意のノードにキーワードを関連づけするために使用され得る。本明細書で使用されている末端ノードは、クエリー・ツリーを正方向に進行することにより（即ち、各モード毎にブランチ基準を単純に与えることにより）現ノードから到達されうる任意のノードである。近接ノードは、クエリー・ツリーを逆の（負の）方向に幾らか辿ることにより（即ち、ユーザ・セッションの間に以前に進んだノードに戻ることにより）到達される任意のノードである。又、近接ノードは、近接ノードからブランチするノードをも含むが、但し、これらのノードが近接ノードに対して遠くにあるノードのうち興味あるノードでない場合に限る。
【００１９】
関連する実施例において、コンピュータに実装される方法は、ユーザの応答からの１つ以上のキーワードが宛先ノードに近接する任意のクエリー・ノードに関連づけられているキーワードに対して関連性がないという判定に応答して、宛先ノードへ進行することを容認するステップを含む。言い換えると、もしもユーザの応答内のキーワードが現クエリー・ノードに近接する任意のノードに対して関連性がないならば、ユーザの応答内にはブランチ基準の選択を否定するものはない。従って、クエリー・ツリーは、ユーザの応答内のブランチ基準により同定される宛先ノードに進められるべきである。
【００２０】
更に他の実施例において、コンピュータに実装される方法は、ユーザ・セッションの間に各プロンプトに関連して受けとられたユーザの応答のそれぞれを記憶するステップと、現プロンプトに対するユーザの応答が現クエリー・ノードよりも以前に辿ったクエリー・ノードに更に関連づけられているキーワードを含むという判定に応答して以前に辿ったクエリー・ノードに戻すステップとを含む。この方法の更に他の実施例は、現クエリー・ノードに関連づけられているキーワードよりもユーザの応答内の１つ以上のキーワードに更に関連すると判定されたキーワードに関連づけられているクエリー・ノードへ案内するステップを含む。これらの２つの実施例は、クエリー・ツリーの進行をやり直すものであるので、プロンプトを繰り返しそしてこのようにして進行する前に更なるユーザの応答を受けとることが望ましい。例えばこの方法は、現クエリー・ノードに関連づけられているどのキーワードにも関連性がない１つ以上のキーワードを含むユーザの応答を受けとったことに応答して、現クエリー・ノードからのプロンプトを繰り返し提示することを含む。
【００２１】
本発明の代替的な実施例は、更なるコンピュータに実装された方法を提供し、そしてこの方法は、それぞれが質問、ブランチ基準及び予定のキーワードを含む複数のクエリー・ノードを有するクエリー・ツリーを準備するステップと、ユーザに対して複数のクエリー・ノードのうちの第１番目のクエリー・ノードからの質問に応答するように促すステップと、質問に対するユーザの応答を受けとるステップと、ブランチ基準及びユーザからの１つ以上のキーワードを同定するためにユーザの応答を分析するステップと、ユーザからの１つ以上のキーワードを１つ以上のクエリー・ノードの予定のキーワードと比較するステップとを含む。ユーザからの１つ以上のキーワードを１つ以上のクエリー・ノードの予定のキーワードと比較するステップは、ユーザからの１つ以上のキーワードを、ブランチ基準により同定されたクエリー・ノード（即ち、宛先ノード）からの予定のキーワードに比較するステップを含む。この方法は更に、ユーザからの１つ以上のキーワードがブランチ基準により同定されたクエリー・ノードからの予定のキーワードと一致することに応答して、クエリー・ノードのうち第１番目のクエリー・ノードからブランチ基準により同定されたクエリー・ノードへ進めるステップを含む。これとは独立して、この方法は、ユーザからの１つ以上のキーワードがクエリー・ツリーの少なくとも１つのクエリー・ノードからの予定のキーワードに一致し、そしてユーザからの１つ以上のキーワードがブランチ基準により同定されたクエリー・ノードからの予定のキーワードに一致しないことに応答して、クエリー・ノードのうち第１番目のクエリー・ノードからクエリー・ツリーの異なるクエリー・ノードへ進めるステップを含む。
【００２２】
更に本発明の実施例は、コンピュータ使用可能な媒体に記録されたコンピュータ使用可能なプログラム・コードを含むコンピュータ・プログラム製品を提供し、ここで、コンピュータ・プログラム製品は、クエリー・ツリーを設立するためのコンピュータ使用可能なプログラム・コードからなる。クエリー・ツリーは、複数のクエリー・ノード、複数のブランチ及び複数の情報ノードを含み、各ブランチは特定のクエリー・ノードに関連づけされているブランチ基準に対応しそして関連づけされているクエリー・ノードから他のクエリー・ノード若しくは情報ノードの１つへ進める。前述の実施例のように、各クエリー・ノードはプロンプトを提示し、そして各情報ノードはユーザにとって役に立つ情報を提供する。この製品は更に、各クエリー・ノードを１つ以上のキーワードに関連づけるためのコンピュータ使用可能なプログラム・コードを含む。コンピュータ・プログラム製品の他の実施例は、前述の方法の任意のステップを行わせるためのコンピュータ使用可能なプログラム・コードを含み得る。
【００２３】
図１は、クエリー・ツリーの１つの例を示す。この特定なクエリー・ツリー１０は、スカウト・プログラムについての情報をユーザに与えるための、ボーイスカウト・オブ・アメリカのための仮定的なクエリー・ツリーである。ここで、ボーイスカウト・オブ・アメリカ、ボーイスカウト、カブスカウト、ベンチャリング及びナショナル・ジャンボリは、テキサス州アービングのボーイスカウト・オブ・アメリカ・コーポレーションの商標である。最初のクエリー・ノード１００は、問い合わせ者の質問を例えばボーイスカウト若しくはカブスカウトのような特定なＢＳＡプログラムに絞り込むことを試みさせるプロンプトを与えるが、ベンチャリング等についての質問を同定するように構成され得る。例えば、“ボーイスカウト？”若しくは“あなたはボーイスカウト・プログラムについての質問を有しますか？”のようなクエリー・ノード１００のプロンプトに対する肯定的応答は、宛先ノード１０１へ進め、これに対して、否定的応答はクエリー・ノード１１０へ進める。もしも肯定的なブランチ基準がノード１０１へ進めるならば、このノード１０１が新たな現ノードとなり、ナショナル・ジャンボリ（ボーイスカウトのイベント）に関するプロンプトを提示する。これとは逆に、もしも否定的なブランチ基準がノード１１０へ進めるならば、次いでこのノード１１０が新たな現ノードとなりそして“あなたはカブスカウト・プログラムに関する質問を有しますか？”というプロンプトを提示する。幾つかの質問ノード１０１，１０２及び１０３は、ボーイスカウト・プログラムに対して非常に特定なものであり、これらは他の質問ノードへ導き、そして最終的にはユーザに情報若しくはコンテンツを与える情報ノードに到達する。ボーイスカウト活動に関する情報ノードは図１において文字Ａ，Ｂ，Ｃ及びＤが記入された楕円形として示されている。他のクエリー・ノード及びユーザの応答は、ＢＳＡのもとでの他のプログラムに関する情報ノードＥ，Ｆ及びＧにブランチする。説明中の例では、質問に対する応答としてイエス又はノーだけを示しているが、本発明は、それぞれのブランチ基準を有する複数のブランチを行う１つ以上の質問ノードを使用することを妨げるものではない。
【００２４】
クエリー・ツリーを使用する間に生じ得る問題は、幾人かのユーザが質問することにおいて使用されている専門用語になじみがなく、又は正しい答えを与えるのに十分な背景知識若しくは経験を有していないことである。例えば、ウェベロス（Ｗｅｂｅｌｏｓ）というカブスカウトに属している今５年生である男の子の祖母から、彼女の孫はどのようなユニフォームを着なければならないかという問い合わせがなされることが予測される。“ボーイスカウト・プログラムについての質問がありますか？”という第１番目の質問がなされると、祖母は、カブスカウトとボーイスカウトとを混同する一般的な誤りをしがちである。特に、組織の名称がボーイスカウト・オブ・アメリカであるので、彼女は、この質問に対して“イエス”と応答しがちである。しかしながら、これは有効ではあるが間違った応答であり、図１に示すように、クエリー・ツリー１０の左側に下がるように進行してしまい、その結果ユーザは、この祖母が探している情報を与えるクエリー・ノード１１０，１１１若しくは情報ノードＥに全く到達できなくなる。結果として、問い合わせに無駄な時間を浪費し、そして更に知力のある（従ってコストがかかる）高いレベルのサポートに対する要求が増大する。
【００２５】
図２は、情報ノードのそれぞれにキーワードが関連づけされているクエリー・ツリー１０を示す。これらのキーワードは例えば、情報ノードＡ乃至Ｇのそれぞれの情報若しくは内容の中に見出される若しくは、これらの情報若しくは内容に関連する名詞及び形容詞である。
【００２６】
図３は、各クエリー・ノードに関連づけられそして、クエリー・ツリーに沿うユーザの進行を正当化し若しくは再指向するのに使用されるキーワードを示したクエリー・ツリー１０を示す。各情報ノードＡ乃至Ｇからのキーワードは、各クエリー・ノードが末端の全ての情報ノードのキーワードに関連づけされるように、ツリーをさかのぼって伝播される。
【００２７】
各クエリー・ノードにブランチ基準及びキーワードが関連づけされているクエリー・ツリーを用意すると、クエリー・ツリー・システム若しくはソフトウエアは、ユーザ・セッションを開始してユーザ・インターフェースにプロンプトを提示しそして応答を受けとるように準備される。或る所定のプロンプトに対して受けとられたユーザの応答は、適切な宛先ノードを決定するのに使用され得るブランチ基準及び任意のユーザのキーワード（ブランチ基準以外の）についてのユーザの選択を同定するために分析される。キーワードは、自由形式のユーザの応答から分析され、又はこのキーワードがユーザの必要性に関する重要な詳細を表すと信じるコール・ハンドラ及びユーザにより入力される。
【００２８】
例えば図３を参照すると、彼女（祖母）の問い合わせがボーイスカウト・プログラムに関するものであったかどうかに関するクエリー・ノード１００のプロンプトに対する応答“イエス”が得られた後、クエリー・ツリーはクエリー・ノード１０１に進み、ここで祖母は“あなたはナショナル・ジャンボリィについて問い合わせしていますか？”というプロンプトを受けとる。もしも祖母からの応答が、“いいえ、私は私の孫がウェベロス  デン（活動単位）のカーキ色のシャツきることができるかどうかを知りたい？”ということであったならば、この応答は、ブランチ基準１２０に一致する“いいえ”並びにユーザ・キーワードとしての“シャツ”、“カーキ色”、“ウェベロス”及び“デン（活動単位）”を同定するために分析されることができる。次いで、この方法は、ユーザのこれらのキーワードを、ブランチ基準１２０により同定された宛先ノード（ノード１０２）に関連づけされているキーワード１２２と比較する。ユーザの応答内の１つ以上のキーワードが宛先ノードに関連づけされているキーワードに一致するならば、この宛先ノードに向かう進行が正当化（有効化）される。
【００２９】
本明細書で説明するように他のテスト及び比較が行われ得る。もしもユーザの応答内のキーワードが、現ノード、若しくはこの現ノードに近接する他のノードに関連づけされるキーワードと一致しないならば、ユーザの応答のキーワードは無関係でありそしてこのクエリー・ツリー内を通る進行に影響を与えないものと見なされる。宛先ノードに関連しないが、現ノード若しくは現ノードに近接するノードに関連するキーワードは、クエリー・ツリー内での進行が適切に行われていないことを示す。
【００３０】
本例を続けて説明すると、クエリー・ノード１０１のプロンプトに対する祖母の否定的応答は、ノード１０２を宛先ノードとして同定するブランチ基準１２０と一致する。しかしながら本方法は、キーワード“シャツ”、“カーキ色”、“ウェベロス”及び“デン（活動単位）”を種々なクエリー・ノードに関連するキーワードと比較する。キーワード“シャツ”は宛先ノード１０２に関連づけされておらず（即ち、“シャツ”はキーワード１２２に一致しない）、“シャツ”は宛先ノード１０２に近接するノードのどれにも関連づけられていない。ユーザのキーワード“シャツ”は、クエリー・ツリーのどのノードにも関連づけられていないので、これは無関係と見なされる。
【００３１】
キーワード同士を比較するこのプロセスは、宛先ノード１０２に関連づけされているワード“カーキ色”（このキーワードは情報ノードＣにおけるボーイスカウトのユニフォームついての検討から生じた）に対して繰り返される。このワードは又、カブスカウトのユニフォームの検討から生じるこのクエリー・ツリーの右側にあることに注目されたい（具体的にいうと、ノードＥのウェベロスのユニフォーム、但しこのレベルまで詳細に図示されていない）。このキーワードはツリーの他の場所で見出されるがこのキーワードが宛先ノード１０２に取り付けられていることが見出されたので、本方法は、キーワード“カーキ色”が関連性があると判断するが、このクエリー・ツリー内の正しくない進行を示さない。
【００３２】
キーワードを比較するプロセスは、ユーザのキーワード“ウェベロス”及び“デン（活動単位）”に対してあと２回繰り返される。両方の場合、本方法は、キーワードが宛先ノード１０２に関連づけられていないが、近接ノード（ノード１００）に関連づけされていることを調べる。このことは、クエリー・ツリーが適切に進行されなかったことを示す。このクエリー・ツリーを逆方向に辿って到達した最初のクエリー・ノード１００にこれらのキーワードが最初にあったということは、進行が迷ったということの指示である。
【００３３】
クエリー・ツリーが間違った方法で進行されたことが見出されると、正しい追跡の仕方に進行を戻すための多数の方法が使用され得る。最初の例として、本方法は、このセッションの間のユーザの応答がエラーを含んでいるかも知れないと言うステーツメントを与え、そして、現ノードに関連するプロンプトを繰り返す。これの代わりに、本方法は、更に詳細なプロンプト若しくはプロンプトの代替バージョンを提示することができる。これらの更に詳細なプロンプト若しくはプロンプトの代替バージョンは、これらの必要とされるときに使用されるようにこのクエリー・ノードに関連して記憶され得る。
【００３４】
本例においては、進行がノード１００において道に迷ったかも知れないことを検出した後に、本方法は、ノード１００に進行し、そして“私は、我々がボーイスカウトについての質問に対して間違って答えた原因（指示）を探しています。あなたのお孫さんが少なくとも１１歳若しくは６年生又はこれ以上であることを確認して下さい。”という代替的なプロンプトを提示する。もしも祖母の応答が“ノー”であるならば、彼女の孫は４年生であり、次いで、クエリー・ノード１００に関連する否定的ブランチ基準は、宛先ノード（ここではノード１１０）に進行する。
【００３５】
新たな現ノードとしてのノード１１０に進むと、本方法は、この案内を有効化するために、ノード１１０に関連する更に詳細なプロンプト“あなたのお孫さんは、タイガーカブ、カブスカウト、若しくはウェベロス・スカウトですか？”を提示する。
【００３６】
新たなユーザ・セッションにおいて、第２のユーザは、最初のクエリー・ノード１００のプロンプトに対して“イエス”と応答し、次いでクエリー・ノード１０１のナショナル・ジャンボリィに関するプロンプトに応答して、“イエス、これは今年再びバージニアで行われるのですか？”を入力する。本方法は、ユーザの応答の“イエス”をブランチ基準としてそして“バージニア”をキーワードとして同定する。ブランチ基準“イエス”はノードＡへの進行を示し、そして“バージニア”は宛先ノード（即ち情報ノードＡ）に関連づけされるキーワードと一致するので、ブランチ基準に一致するノードＡへの進行は正当化（有効化）される。本方法は、ユーザにナショナル・ジャンボリィについての情報を与えるために、ノード１０１からの“イエス”ブランチをノードＡに進めた。
【００３７】
図４及び図５は、図３のクエリー・ツリーを規定する表若しくはデータベースの１つの実施例を示す。この実施例において、図４の表は、クエリー・ノードを規定し、そして図５は情報ノードを規定する。図４において、各クエリー・ノードには１行が割り当てられており、この１行は、クエリー・ノード識別子（ＩＤ）、プロンプト、ブランチ１基準、これに対応する宛先ノードＩＤ、ブランチ２基準、これに対応する宛先ＩＤ、及び関連付けられているキーワードのリストを含む。図５において各情報ノードには１行が割り当てられており、そしてこの１行は、情報ノード識別符号（ＩＤ），ユーザに取って役にたつ情報及び情報から生じる自由選択のキーワードを含む。これらの２つの表は、クエリー・ツリーを規定するために共に働き、ここで、或るブランチ基準は、情報ノードを同定する宛先ノードＩＤを参照する。更に、情報ノードのキーワードは、この情報ノードからクエリー・ツリーをさかのぼる経路に沿う各クエリー・ノードのキーワードと同じである。例えば、クエリー・ノード１０１は、情報ノードＡへの移動を指し示すブランチ基準１を有するので、図５の情報ノードＡに関連づけされているキーワードは、クエリー・ノード１０１に関連づけられている。次いで、これらのキーワードは更に、クエリー・ノード１００にも関連づけされている、その理由は、クエリー・ノード１００がクエリー・ノード１０１への移動を指し示すブランチ基準１を有するからである。関連性のこのプロセスは、各クエリー・ノードに関連するキーワードが図４の表の右側の列に示されているように、情報ノード毎に行われる。
【００３８】
図４の表の各記録は、追加のブランチ基準及び対応する宛先ノードＩＤのための追加の列を含むことができ、従ってクエリー・ノードは任意の数の方向にブランチすることができる。更に、各記録は、本明細書で説明する他の実施例を実現するために、プロンプトの更に詳細なバージョン、プロンプトの代替的はバージョン等を含んでいる。又、２つの表は組み合わされることができる。更に、情報ノードは、例えばユーザが更なる情報を取得するためにこのクエリー・ツリーの最上部に戻ることを望んでいるか否かをユーザにプロンプトする（促す）ために、情報ノード自身のブランチ基準及び対応する宛先ノードＩＤを含むことができる。
【００３９】
図６は、クエリー・ツリーを構築するための方法の１つの実施例のフローチャートである。ステップ２２において、クエリー・ツリーの構築を開始することを決定した後に、クエリー・ツリーを介して使用されるべき情報がステップ２４において同定されねばならない。情報の範囲が、クエリー・ツリーの複雑性を決定する。ステップ２６において、情報は、情報ノード又は記録を設立するために、特定な事柄（トピック）に関する小さなステートメント（記述）に分割される。情報の範囲は、ユーザがそれについて質問できるように絞られた事柄について完全であることが望ましい。各情報ノードからのキーワードは、ステップ２８において同定される。
【００４０】
ステップ３０において、クエリー・ツリーのデザイナ若しくはプログラマは、ユーザが所望の情報ノードを選択できるように導く質問を決定し、そしてこれらの質問のそれぞれをクエリー・ノード又は記録に関連づける。次いで・ステップ３２において、各クエリー・ノードが同定されたキーワードに関連づけされ、そしてこれらのキーワードは各情報ノードからこのクエリー・ツリーを上方に辿って伝播される。ブランチ基準はステップ３４において決定され、これがもしもユーザからの応答で同定されるならば、これはこのクエリー・ツリーを進めるために宛先ノード（クエリー・ノード若しくは情報ノード）を更に同定する。
【００４１】
図７，図８及び図９は、クエリー・ツリーを働かせるための方法４０の１つの実施例のフローチャートを示す。ステップ４２において、例えばコンピュータ・システムは、ユーザがクエリー・ツリーへのアクセスを試みているかを監視し、そしてステップ４４において、ユーザがこのクエリー・ツリーのユーザ・セッションを開始することを許可する。ステップ４６は、クエリー・ツリーを初期クエリー・ノードにセットし、ここで、初期クエリー・ノードとは、代表的にはこのクエリー・ツリーの最も高い位置にあるノードであるが、以前のユーザ・セッションからこのクエリー・ツリーを辿った進行状態を追跡し且つ記憶しているユーザ・アカウントを有するユーザが最後に訪れたノードであってもよい。次いで本方法は、ステップ４８において現クエリー・ノードに関連する質問をユーザに提示し（プロンプトし）、ステップ５０において、このプロンプトに対するユーザの応答を受けとり、ステップ５２においてユーザの応答に含まれるブランチ基準を同定し、ステップ５４において現ノードに対する同定されたブランチ基準に関連する宛先ノードをルックアップし（調べ）、そしてステップ５６において宛先ノードに関連するキーワードをルックアップする（調べる）。
【００４２】
ステップ５８において、ユーザの応答が何らかのキーワードを含んでいるか否かを調べる。もしもユーザの応答がキーワードを含んでいるならば、ステップ６０（図８）に進み、ここでユーザの応答から得られたキーワードがいずれかのクエリー・ノードに関連づけされているキーワードと一致するか否かが調べられる（判定される）。もしも一致が検出されなければ、ステップ６２において、キーワードが無関係であると見なされる。もしも一致するキーワードがあるならば、ステップ６４において、ユーザの応答内から得られたキーワードが宛先ノードに関連づけられているキーワードと一致するか否かが調べられる。もしも一致するキーワードがブランチ基準により同定された宛先ノードに関連づけされているならば、ステップ６６において、このキーワードは宛先ノードへの進行を正当化する。しかしながら、もしも一致するキーワードが宛先ノードに関連づけられていないならば（即ち、これがクエリー・ツリーのより高いノードだけに関連づけられているならば）、ステップ６８において、このキーワードは、クエリー・ツリーの正しくない進行を示す。ステップ７０において、ユーザの応答内に他のキーワードが含まれているならば、このキーワードは、ステップ６０乃至６８に従って分析される。ユーザの応答内の全てのキーワードが分析され終えると、本方法は、ステップ７２に進む。
【００４３】
ステップ７２において、宛先ノードへの進行を正当化したキーワードよりも正しくない進行を示したキーワードのほうが多いか否かが調べられる。もしもステップ７２の答えがイエスであるならば、次いでステップ７４において、本方法は、可能性のある正しくない可能性がある進行を処理するために１つ以上のステップを行う。これらのステップはユーザに対して警告メッセージを与え、そして（１）再び質問（プロンプト）する、（２）更に詳細又は代替の質問をする、若しくは（３）正しくない進行を示すキーワードに関連するクエリー・ノードに到達するまでクエリー・ツリー内の上方に進行する。これの代わりに、本方法は、第１回目の繰り返しの間にオプション即ちステップ（１）を行い、第２回目の繰り返しの間にオプション即ちステップ（２）を行い、そして第３回目の繰り返しの間にオプション即ちステップ（３）を行う。ステップ７４におけるこれらのオプションのいずれかに続いて、本方法はステップ４８に戻ってユーザにプロンプトを提示する。
【００４４】
正しくない可能性がある進行を同定するためにステップ７２において使用され得る基準の種々な変形がある。例えば、代替的な実施例は、正しくない進行を示すキーワードがあるか否かを調べる。本発明の範囲内の他の基準は、本発明を理解した当業者により明らかであろう。更に、本発明は、進行を正当化するキーワードが完全に無視され、正しくない進行を示す若しくは正しくない進行を示すキーワードよりも高い重要性を示すオフセット・キーワードに適用される。同様に、正しくない進行を示すキーワードは、正しくない進行を同定する単独のもの、若しくは正しくない進行を同定する単なる１つの要因であり得る。更に、どのようなキーワードの使用をも全く要求することなくユーザにクエリー・ツリーを下方に辿らせるのはブランチ基準である。
【００４５】
しかしながら、本発明の実施例を更に説明すると、ステップ７２において、宛先ノードへの進行を正当化したキーワードよりも正しくない進行を示したキーワードが多くないならば、又は、ステップ５８においてユーザの応答がキーワードを含んでいないと判定されたならば、本方法はステップ７６（図９）に進み、そして宛先ノードへ進行する。ステップ７８において、もしも宛先ノードが情報ノードであると判定されると、ステップ８０においてユーザに情報が与えられる。もしも宛先ノードが情報ノードでないならば、本発明の方法は、先に同定された宛先ノードに関連するプロンプトであるプロンプトを更にユーザに提示するためにステップ４８に戻る。しかしながら、本発明の方法４０のフローチャートを通る次のパス（動作）の間、先に同定された宛先ノードは、今や現ノードとして選定される。
【００４６】
ステップ８０において、ユーザに情報を与えた後、ステップ８２において、ユーザが更に他の情報を取得するためのオプションがユーザに提示される。もしもユーザが更に他の情報を取得することを望むならば、動作はステップ４６に戻り、ユーザは最初のクエリー・ノードにおいて、クエリー・ツリーの進行を開始する。もしもユーザ型の情報を必要としないならば、ユーザ・セッションはステップ８４で終了する。
【００４７】
当業者ならば、本発明はシステム、方法若しくはコンピュータ・プログラム製品として実施化され得ることを理解されるであろう。従って、本発明は、本明細書でそれぞれ“回路”、“モジュール”又は“システム”と呼ぶ、全体的にハードウエアの実施例、全体的にソフトウエアの実施例（ファームウエア、常駐ソフトウエア、マイクロコード等を含む）、又はソフトウエア態様及びハードウエア態様の組み合わせである実施例の形を取ることができる。更に、本発明は、記録媒体にコンピュータ使用可能なプログラム・コードが記録されているコンピュータ・プログラム製品の形を取り得る。
【００４８】
コンピュータ使用可能な媒体若しくはコンピュータ読み取り可能媒体のいずれか若しくはこれらの組み合わせが使用され得る。コンピュータ使用可能な媒体若しくはコンピュータ読み取り可能な媒体は例えば、電子システム、装置若しくはデバイス、磁気システム、装置若しくはデバイス、光学的システム、装置若しくはデバイス、電磁気システム、装置若しくはデバイス、赤外線システム、装置若しくはデバイス又は半導体システム、装置若しくはデバイスである。コンピュータ読み取り可能な媒体の具体的な例は次を含むがこれらに限定されない。即ち、１つ以上のワイヤを含む電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ），読み取り専用メモリ（ＲＯＭ）、消去可能で且つプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ若しくはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）光学的記憶装置、インターネット若しくはイントラネットをサポートするような伝送媒体、又は磁気記憶デバイスである。コンピュータ使用可能な媒体若しくはコンピュータ読み取り可能な媒体は、プログラムが印刷されている紙若しくは他の適切な媒体でもよい。このプログラムは、紙若しくは他の媒体を例えば光学的に走査することにより電子的に捕捉され、次いで、コンパイルされ、翻訳され、若しくは必要ならば適切な方法で処理され、次いでコンピュータ・メモリに記憶される。本明細書においては、コンピュータ使用可能な媒体若しくはコンピュータ読み取り可能な媒体は、命令実効システム、装置若しくはデバイスにより若しくはこれらに関連する使用のためにプログラムを記憶若しくは含むことができる媒体を意味する。コンピュータ使用可能なプログラム・コードは、無線、有線、光学ファイバ、ＲＦ等を含む適切な媒体を使用して伝送され得る。
【００４９】
本発明の動作を実行するコンピュータ・プログラム・コードは、例えばＪａｖａ，Ｓｍａｌｌｔａｌｋ，Ｃ＋＋等のようなオブジェクト指向のプログラミング言語、及び例えば“Ｃ”プログラミング言語若しくは他の同様なプログラミング言語のような標準的な処理プログラミング言語を含む１つ以上のプログラミング言語の組み合わせで記述されることができる。プログラム・コードは、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上でスタンド・アロン・ソフトウエア・パッケージとして部分的に、ユーザのコンピュータ上で部分的に、遠隔コンピュータ上で部分的に、そして遠隔コンピュータ若しくはサーバ上で全体的に実行する。後者の場合、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意の型のメットワークを介してユーザのコンピュータに接続され、又接続は（例えばインターネット・サービス・プロバイダを使用するインターネットを介して）外部コンピュータになされ得る。
【００５０】
本発明を、本発明の実施例に従う方法、装置（システム）及びコンピュータ・プログラム製品についてのフローチャート、ブロック図を参照して説明した。フローチャートの各ブロック又はブロック図あるいはその両方及びフローチャートの各ブロック及びブロック図の組み合わせは、コンピュータ・プログラム命令によりインプリメントされることができる。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ若しくは他のプログラム可能なデータ処理装置のプロセッサに与えられ、その結果コンピュータ若しくは他のプログラム可能なデータ処理装置のプロセッサを介して実行する命令は、フローチャート若しくはブロック図内で指定される機能を実現する手段を生成する。
【００５１】
特定な態様で機能させるようにコンピュータ若しくは他のプログラム可能なデータ処理装置を指揮するこれらのコンピュータプログラム命令は、コンピュータ読み取り可能な媒体内に記憶されることができ、その結果コンピュータ読み取り可能な媒体に記憶された命令は、フォローチャート若しくはブロック図で指定された機能／動作をインプリメントする命令手段を含む製造体を生じる。
【００５２】
コンピュータ・プログラム命令は又、コンピュータ若しくは他のプログラム可能なデータ処理装置にロードされて、このコンピュータ若しくは他のプログラム可能なデータ処理装置において一連の動作ステップを実行させて、コンピュータ・インプリメントされたプロセスを生じ、その結果コンピュータ若しくは他のプログラム可能なデータ処理装置上で実行する命令は、フローチャート若しくはブロック図で指定された機能／動作を実現するプロセスを与える。
【００５３】
フローチャート及びブロック図は、本発明の種々は実施例に従うシステム、方法及びコンピュータ・プログラム製品のアーキテクチャ、機能及び動作を示す。これに関して、フローチャート若しくはブロック図の各ブロックは、指定された論理機能をインプリメントする１つ以上の実行可能な命令を構成するモジュール、セグメント若しくはコードの一部を表す。幾つかの代替的な実施例において、ブロック内に記載されて機能は図示の順序以外の順序で行われ得る。例えば、連続して示されている２つのブロックは、行われる機能に依存して、同時に行われてもよく又は逆の順序で行われ得る。ブロック図又はフローチャートあるいはその両方の各ブロック、並びにブロック図及びフローチャートの組み合わせの各ブロックは、指定された機能を行う特殊目的のハードウエア・ベースのシステム又は特殊目的ハードウエア及びコンピュータ命令の組み合わせによりインプリメントされることができる。
【００５４】
本発明について説明するために種々な実施例を説明したが、本発明はこれらに限定されるものではない。本発明の精神から逸脱することなく多くの変更及び修正が可能であることが当業者により理解されるであろう。説明した実施例は、本発明の原理を最もよく説明するように且つ当業者に本発明を理解させるためのものであって、これ以外の種々な変形及び修正が可能出ることが明らかである。
【図１】
2010287224.tif 000003
【図２】
2010287224.tif 000004
【図３】
2010287224.tif 000005
【図４】
2010287224.tif 000006
【図５】
2010287224.tif 000007
【図６】
2010287224.tif 000008
【図７】
2010287224.tif 000009
【図８】
2010287224.tif 000010
【図９】
2010287224.tif 000011