(57)【要約】【課題】ユーザの状態に基づいてユーザのコール・フローを修正する方法およびシステムを提供すること。【解決手段】ユーザに関する１組の状況固有の情報は、ユーザとの通話の中で、ユーザにその状況固有の情報をプロンプト指示することなしに収集される。例えば、状況固有の情報には、ユーザに関する位置情報、ユーザの現在位置の気象情報、ユーザの現在位置の交通情報、所与の輸送手段（空港、鉄道の駅など）へのユーザの近接性情報、ならびにユーザ選択情報を含めることができる。ユーザの状態は収集された１組の状況固有の情報に基づいて決定され、決定された状態に基づいて、通話の中のユーザへの音声プロンプトのコール・フローが修正される。【選択図】図１
2007166614.tif 000002
【特許請求の範囲】
【請求項１】
システムへの通話を開始したユーザまたはシステムが通話を開始したユーザに関する１組の状況固有の情報を、前記通話の中で前記ユーザにプロンプト指示することなしに収集するステップと、
収集された前記１組の状況固有の情報に基づいて前記ユーザの状態を決定するステップと、
決定された前記ユーザの前記状態に基づいて前記システムとの前記通話の中の前記ユーザへの音声プロンプトのコール・フローを修正するステップと
を含む方法。
【請求項２】
前記ユーザに関する前記１組の状況固有の情報を収集するステップが、
前記ユーザに関する位置情報と、
前記ユーザの現在位置の気象情報と、
前記ユーザの現在位置の交通情報と、
前記ユーザの輸送手段への近接性情報と、
ユーザ選択情報と、
関係する株価の変化と、
関係する新規株式発行と、
対応または調整すべき刺激として作用するはずの前記ユーザの環境のいずれかの変化と、
前記ユーザの行動履歴と、
前記ユーザに関する個人情報と、
前記ユーザに関する時間情報と、
ユーザ位置に基づく状態と、
金融市場の変化と、
ユーザの生理的状態
の少なくとも１つを収集するステップを含む、請求項１に記載の方法。
【請求項３】
収集された前記１組の状況固有の情報に基づいて前記ユーザの前記状態を決定するステップが、前記状態が前記１組の状況固有の情報を全体として記述するように、１組の可能な状態から単一の状態として前記状態を決定するステップを含む、請求項１に記載の方法。
【請求項４】
決定された前記ユーザの前記状態に基づいて前記システムとの前記通話の中の前記ユーザへの音声プロンプトの前記コール・フローを修正するステップが、決定された前記ユーザの前記状態に基づいて、修正された前記コール・フローをカプセル化する複数の音声マークアップ言語ページを生成するステップを含む、請求項３に記載の方法。
【請求項５】
収集された前記１組の状況固有の情報に基づいて前記ユーザの前記状態を決定するステップが、前記１組の状況固有の情報に対応する１組の状態イベントとして前記状態を決定するステップを含む、請求項１に記載の方法。
【請求項６】
決定された前記ユーザの前記状態に基づいて前記システムとの前記通話の中の前記ユーザへの音声プロンプトの前記コール・フローを修正するステップが、
前記コール・フローに対する１組の対話断片であって、前記１組の状態イベントに対応する１組の対話断片を生成するステップと、
ルール・ベースに格納された状況依存のロジックに基づいて、前記１組の対話断片が前記コール・フローの中で前記ユーザに提示される順序、または各対話断片の提示に関する諸条件、あるいはその両方を決定するステップと
を含む、請求項５に記載の方法。
【請求項７】
決定された前記ユーザの前記状態に基づいて前記システムとの前記通話の中の前記ユーザへの音声プロンプトの前記コール・フローを修正するステップが、前記ユーザに提示される各対話断片ごとに、対応する音声マークアップ言語ページを生成するステップをさらに含む、請求項６に記載の方法。
【請求項８】
決定された前記ユーザの前記状態に基づいて前記システムとの前記通話の中の前記ユーザへの音声プロンプトの前記コール・フローを修正するステップが、前記コール・フローから１つまたは複数の質問を削除するステップであって、決定された前記ユーザの前記状態の中に前記質問に対する既定の回答が存在するステップを含む、請求項１に記載の方法。
【請求項９】
決定された前記ユーザの前記状態に基づいて前記システムとの前記通話の中の前記ユーザへの音声プロンプトの前記コール・フローを修正するステップが、決定された前記ユーザの前記状態に基づいて前記コール・フローの１つまたは複数の質問を変更するステップを含む、請求項１に記載の方法。
【請求項１０】
決定された前記ユーザの前記状態に基づいて前記システムとの前記通話の中の前記ユーザへの音声プロンプトの前記コール・フローを修正するステップが、決定された前記ユーザの前記状態に基づいて１つまたは複数の質問を前記コール・フローに追加するステップをさらに含む、請求項１に記載の方法。
【請求項１１】
決定された前記ユーザの前記状態に基づいて前記システムとの前記通話の中の前記ユーザへの音声プロンプトの前記コール・フローを修正するステップが、決定された前記ユーザの前記状態に基づいて、前記コール・フローの中で複数の質問が前記ユーザに提示される順序を変更するステップを含む、請求項１に記載の方法。
【請求項１２】
決定された前記ユーザの前記状態に基づいて前記システムとの前記通話の中の前記ユーザへの音声プロンプトの前記コール・フローを修正するステップが、決定された前記ユーザの前記状態に基づいて、前記コール・フローの中で１つまたは複数の質問が前記ユーザに提示される音声の調子、速度、および雰囲気の少なくとも１つを変更するステップを含む、請求項１に記載の方法。
【請求項１３】
システムへの通話を開始したユーザまたはシステムが通話を開始したユーザに関する１組の状況固有の情報を、前記通話内で前記ユーザにプロンプト指示することなしに収集する状況収集コンポーネントと、
前記１組の状況固有の情報に基づいて、１組の可能な状態から単一の状態として前記ユーザの状態を決定する状態生成コンポーネントであって、前記状態が前記１組の状況固有の情報を全体として記述する、状態生成コンポーネントと、
決定された前記ユーザの前記状態に基づいて複数の音声マークアップ言語ページを生成するコール・フロー修正コンポーネントであって、前記音声マークアップ言語ページが前記システムとの前記通話の中の前記ユーザへの音声プロンプトのコール・フローをカプセル化する、コール・フロー修正コンポーネントと
を含み、
決定された前記ユーザの前記状態に基づいて前記コール・フローが修正される
システム。
【請求項１４】
前記ユーザに関する前記１組の状況固有の情報が、
前記ユーザに関する位置情報と、
前記ユーザの現在位置の気象情報と、
前記ユーザの現在位置の交通情報と、
前記ユーザの輸送手段への近接性情報と、
ユーザ選択情報と
の少なくとも１つを含む、請求項１３に記載のシステム。
【請求項１５】
前記コール・フローが、
決定された前記ユーザの前記状態に基づいて前記コール・フローの１つまたは複数の質問を変更する手段と、
決定された前記ユーザの前記状態に基づいて前記コール・フローに１つまたは複数の質問を追加する手段と、
決定された前記ユーザの前記状態に基づいて前記コール・フローから１つまたは複数の質問を削除する手段と
のうちの１つまたは複数によって、決定された前記ユーザの前記状態に基づいて修正される、請求項１３に記載のシステム。
【請求項１６】
前記コール・フローが、決定された前記ユーザの前記状態に基づいて前記コール・フローの中で１つまたは複数の質問が前記ユーザに提示される音声の調子、速度、および雰囲気の少なくとも１つを少なくとも変化させることによって、決定された前記ユーザの前記状態に基づいて修正される、請求項１３に記載のシステム。
【請求項１７】
システムへの通話を開始したユーザまたはシステムが通話を開始したユーザに関する１組の状況固有の情報を、前記通話の中で前記ユーザにプロンプト指示することなしに収集する状況収集コンポーネントと、
前記１組の状況固有の情報に対応する１組の状態イベントとして前記ユーザの状態を決定する状態生成コンポーネントと、
前記システムとの前記通話の中の前記ユーザへの音声プロンプトのコール・フローに対する１組の対話断片を生成し、状況依存のロジックに基づいて、前記１組の対話断片が前記コール・フローの中で前記ユーザに提示される順序、または各対話断片の提示に関する諸条件、あるいはその両方を決定するコール・フロー修正コンポーネントと、
前記ユーザに提示される各対話断片に対する音声マークアップ言語ページを生成する音声マークアップ言語ページ生成機構と
を含み、
決定された前記ユーザの前記状態に基づいて前記コール・フローが修正される
システム。
【請求項１８】
前記ユーザに関する前記１組の状況固有の情報が、
前記ユーザに関する位置情報と、
前記ユーザの現在位置の気象情報と、
前記ユーザの現在位置の交通情報と、
前記ユーザの輸送手段への近接性情報と、
ユーザ選択情報と
の少なくとも１つを含む、請求項１７に記載のシステム。
【請求項１９】
前記コール・フローが、
決定された前記ユーザの前記状態に基づいて前記コール・フローの１つまたは複数の質問を変更する手段と、
決定された前記ユーザの前記状態に基づいて１つまたは複数の質問を前記コール・フローに追加する手段と、
決定された前記ユーザの前記状態に基づいて前記コール・フローから１つまたは複数の質問を削除する手段と
のうちの１つまたは複数によって、決定された前記ユーザの前記状態に基づいて修正される、請求項１７に記載のシステム。
【請求項２０】
前記コール・フローが、決定された前記ユーザの前記状態に基づいて前記コール・フローの中で１つまたは複数の質問が前記ユーザに提示される音声の調子、速度、および雰囲気の少なくとも１つを少なくとも変化させることによって、決定された前記ユーザの前記状態に基づいて修正される、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、システムとの通話の中にユーザへの音声プロンプトのコール・フロー（callflow）が存在する対話型音声応答（ＩＶＲ）システムおよび他の種類のシステムに関し、より詳細には、ユーザの状態（situation）に基づいてそのようなコール・フローを修正することに関する。
【背景技術】
【０００２】
対話型音声応答（ＩＶＲ）システムには、固定音声メニューとデータベースからの実時間データとの組合せによって発呼者に話しかける自動電話情報システムが存在する。発呼者は、電話機上の数字を押すか、あるいは単語または短いフレーズを話すことによって応答する。その用途には、電話による銀行業務（bank-by-phone）、飛行スケジュール情報、ならびに自動受注および追跡などがある。
【０００３】
ＩＶＲシステムの使用により、発呼者は必要な情報を１日２４時間取得できるようになる。これらのシステムはまた、高価な人間エージェントにとっての通話の負担をできる限り軽減するために、コール・センタへのフロント・エンドとしても使用される。このような場合には、ＩＶＲシステムはエージェントに置き換わるのではなく、彼らが絶えず単純な、繰り返しの多い質問に答える必要をなくすのに役立つ。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このようなＩＶＲシステムの欠点は、そのコール・フローが予め決められていることが比較的多いことである。コール・フローとは、ＩＶＲシステムへの通話内の、ユーザへの一連の音声プロンプトのことである。従来技術の範囲では、コール・フローは、所与の音声プロンプトに対するユーザの応答だけに基づいて修正される。すなわち、条件付き音声プロンプトが存在するコール・フローは、他の音声プロンプトに対してユーザによって提供された応答に基づいてプログラムすることができる。しかし、それ以外の場合は、コール・フローは予め決められたものであり、修正することはできない。
【０００５】
この理由やその他の理由により、本発明が必要とされている。
【課題を解決するための手段】
【０００６】
本発明は、ユーザの状態に基づいてユーザのコール・フローを修正することに関する。本発明の一実施形態による方法は、システムに通話を開始したユーザまたはシステムが通話を開始したユーザに関する１組の状況固有の情報（context-specific information）を、通話の中でユーザにこの状況固有の情報を求めるプロンプトを指示する（prompt）ことなく収集する。例えば、状況固有の情報には、ユーザに関する位置情報、ユーザの現在位置の気象情報、ユーザの現在位置の交通情報、所与の輸送手段（空港、列車の駅など）へのユーザの近接性情報（proximityinformation）、およびユーザ選択情報を含めることができるが、これらに限られるものではない。ユーザの状況にはさらに、ユーザの個人設定、ユーザの物理位置、ユーザ位置での現在の時刻、ユーザの行動履歴、金融市場の変化（新規発行、取引など）、現在の株価、およびユーザ環境の変化などを含めることもできるが、これらに限られるものでもない。ユーザ環境の変化には、該当する場合には、株価の変化、関連する新規株式発行の変化、ならびに応答または調整すべき対話システムの対象領域における刺激として作用し得るユーザ環境の他のいずれかの変化を含めることができる。ユーザの状況にはさらに、（ユーザが会議室にいるか、またはどこかの休憩室にいるかなど）ユーザの位置や、（リラックスしているか、緊張しているかなど）ユーザの生理的状態に基づくユーザの状態を含めることもできるが、これらに限られるものではない。この方法は、収集された１組の状況固有の情報に基づいてユーザの状態を決定し、決定された状態に基づいて、通話内のユーザへの音声プロンプトのコール・フローを修正する。
【０００７】
一実施形態では、状態は、１組の可能な状態から選択された単一の状態である。ただし、この状態は、１組の状況固有の情報を全体として記述するものである。他の実施形態では、状態は、１組の状況固有の情報に対応する１組の状態イベントである。後者の実施形態では、１組の状態イベントに対応して、そのコール・フローに対する１組の対話断片（dialog snippet）を生成することができる。ルール・ベースに格納された状況依存のロジック（context-sensitivelogic）に基づいて、対話断片がユーザに提示される順序、または各対話断片の提示に関する条件、あるいはその両方を決定することができる。
【０００８】
本発明の一実施形態によるシステムは、状況収集コンポーネント（context-gatheringcomponent）、状態生成コンポーネント（situation-generating component）、およびコール・フロー修正コンポーネント（callflow-modifying component）を含む。状況収集コンポーネントは、システムへの通話を開始したユーザまたはシステムが通話を開始したユーザに関する１組の状況固有の情報を、通話内でユーザにプロンプト指示することなしに収集する。状態生成コンポーネントは、１組の状況固有の情報に基づいて、１組の可能な状態からユーザの状態を単一の状態として、その状態が１組の状況固有の情報を全体として記述するように決定する。コール・フロー修正コンポーネントは、ユーザの状態に基づいて、いくつかの音声マークアップ言語ページを生成する。この場合、これらのページは、通話内のユーザへの音声プロンプトのコール・フローをカプセル化する。したがって、コール・フローは、決定されたユーザの状態に基づいて修正される。
【０００９】
本発明の他の実施形態によるシステムもやはり、状況収集コンポーネント、状態生成コンポーネント、およびコール・フロー修正コンポーネントを含み、さらに音声マークアップ言語ページ生成機構（voice markup language page-generating mechanism）を含む。状況収集コンポーネントはやはり、システムへの通話を開始したユーザまたはシステムが通話を開始したユーザに関する１組の状況固有の情報を、通話内でユーザにプロンプト指示することなしに収集する。状態生成コンポーネントは、ユーザの状態を、１組の状況固有の情報に対応する１組の状態イベントとして決定する。コール・フロー修正コンポーネントは、通話内のユーザへの音声プロンプトのコール・フローに対する１組の対話断片を生成し、コール・フロー内で各対話断片がユーザに提示される順序、または各対話断片の提示に関する条件、あるいはその両方を、状況依存のロジックに基づいて決定する。音声マークアップ言語ページ生成機構は、ユーザに提示される各対話断片に対する音声マークアップ言語ページを生成する。したがって、コール・フローはやはり、決定済みのユーザの状態に基づいて修正されることになる。
【００１０】
本発明の諸実施形態は、従来技術に対するいくつかの利点を提供する。コール・フローが予め決められており、最小限の機能だけが修正される従来のシステムとは異なり、本発明のシステムにおけるコール・フローは、ユーザの状態に基づいて修正することができる。ユーザの状態は、現在の瞬間のユーザの状況の組合せとして定義することができる。ユーザの状態は、この現在の瞬間のユーザの状況固有の情報に基づいて決定される。
【００１１】
例えば、ユーザは自分のフライトの状況を知るために通話することができる。システムが、ユーザが空港から電話をしていることを知っており、現在予定されているフライトを知っている場合などには、システムは、ユーザにそのような状況情報を尋ねることなしに、ユーザへのコール・フローを修正することができる。したがって、ユーザは、他のソースから代わりに収集される情報を求めるプロンプトを、コール・フローの中で指示されることはない。さらに、システムは、フライトの出発予定の直前にユーザが電話をかけていることを知っていることもある。したがって、ユーザに余り時間がないことを知ることができるので、非常に迅速な方法でユーザに情報を提供するようにコール・フローを修正することができる。
【００１２】
本発明の他の利点、態様、および実施形態については、以下の詳細な説明を読み、添付の図面を参照することによって明らかになるであろう。
【００１３】
本明細書で参照される各図面は、本明細書の一部をなすものである。図面に示された諸機能は、本発明のいくつかの実施形態を例示することだけを意図したものであり、特に明示された場合を除き、本発明のすべての実施形態を示すことを意図したものではない。したがって、それ以外の場合に、逆の含意はなされるべきではない。
【発明を実施するための最良の形態】
【００１４】
本発明の例示的な実施形態についての以下の詳細な説明では、本明細書の一部をなす添付の図面を参照する。図面には、説明のために、本発明を実施することができる詳細な例示的実施形態が示されている。これらの実施形態は、当業者が本発明を実施することができるように十分に詳細に記載されている。他の実施形態を使用することもできるし、本発明の趣旨または範囲を逸脱することなく、論理的、機構的、およびその他の変更を実施することができる。したがって、以下の詳細な説明は、制限の意味に解釈すべきではない。本発明の範囲は、添付の特許請求の範囲のみによって規定されるものである。
【００１５】
図１は、本発明の一実施形態による方法１００を示す。方法１００は、ユーザが通話を開始するシステム、またはユーザへの通話を開始するシステムに関して実施される。例えばこのシステムは、本発明の一実施形態では、対話的音声応答（ＩＶＲ）システムでもよく、また他の種類のシステムでも良い。
【００１６】
方法１００は、システムへの通話を開始したユーザ、またはシステムが通話を開始したユーザに関する１組の状況固有の情報を収集する（１０２）。この場合の状況とは、ユーザに関する情報、ユーザが現在使用できるコンピュータ装置、またはユーザが現在置かれている環境、あるいはその両方に関する情報を意味する。したがって、状況固有の情報には、ユーザの位置情報、ユーザの現在位置の気象情報、およびユーザの交通情報を含めることができるが、これらに限られるものではない。状況固有の情報にはさらに、空港または鉄道の駅など所与の輸送手段へのユーザの近接性情報、およびユーザの選択情報を含めることもできるが、これらに限られるものではない。
【００１７】
他の種類の状況固有の情報には、個人情報、時間情報、およびユーザの行動履歴を含めることができる。また、他の種類の状況固有の情報には、金融指向システムに関連して、金融市場や現在の株価の変化が含まれる。状況固有の情報にはさらに、ユーザの環境の変化、ならびにリラックスしている、緊張しているなどユーザの気分も含めることができる。本発明の諸実施形態によって、他の種類の状況固有の情報を収集することもできる。
【００１８】
次に、方法１００は、収集されたこの１組の状況固有の情報に基づいてユーザの状態を決定する（１０４）。ユーザの状態は、現在の瞬間のユーザの状況の組合せとして定義することができる。したがって、ユーザの状態は、ユーザが現在置かれている状態そのものである。ユーザの状態は、収集された１組の状況固有の情報の抽象化と見なすことができる。すなわち、１組の状況固有の情報には、ユーザの現在の状況に関する特定のデータ・ポイントが含まれるが、ユーザの状態は、ユーザの現在の状況を容易に記述できるような、これら特定のデータ・ポイントの抽象化である。
【００１９】
最後に、方法１００は、決定されたユーザの状態に基づいて、システムとの通話の中のユーザへの音声プロンプトのコール・フローを修正する（１０６）。すなわち、システムとユーザの間の通話は、ユーザに情報を提供するため、またはユーザからの応答を求めるために、システムがユーザに提示する音声プロンプトに対する個々のコール・フローによって順序付けられる。背景技術に記載したように、従来技術の範囲では、コール・フローは実質的に事前に定められており、音声プロンプトに対するユーザの回答または応答に基づく条件付きフローが存在する場合にのみ修正される。対照的に、本発明の諸実施形態は、ユーザへの音声プロンプトのこのコール・フローを、前述のようにユーザの状態に基づいて修正する。本発明の一実施形態では、コール・フローは、有向非循環グラフ（ＤＡＧ）などのグラフとして表現することができる。
【００２０】
例えば、コール・フロー内の音声プロンプトによって提示される質問は、ユーザの状態に基づいて変更または修正することができる（１０８）。例えば、ユーザの現在の状態が、遅延している予定のフライトを待っているユーザとして決定された場合は、「ご用件は何ですか」という質問を、代わりに「あなたの予定のフライトの変更に関する情報が必要ですか」に変更することができる。コール・フロー内の音声プロンプトによって示される質問はさらに、ユーザの状態に基づいて、コール・フローから削除すること（１１０）、またはコール・フローに追加すること（１１２）ができる。例えば、ユーザの現在の状態が、ユーザが急ぎの状態だと決定された場合は、「長い音声プロンプトにしますか、それとも短い音声プロンプトにしますか」と尋ねる質問を削除して、代わりに短い音声プロンプトを自動的にユーザに提示することができる。他の例として、ユーザの現在の状態が、現在の金融市場が大幅な価値の減損を被ったことであると決定された場合は、「今日の金融市場の大幅な下落に関する情報を知りたいですか」と尋ねる質問をコール・フローに追加することもできる。
【００２１】
さらに、ユーザとの通話の中で音声プロンプトを提示する音声の調子、速度、または雰囲気、あるいはそれらの組合せを、ユーザの状態に基づいて変更または修正することもできる（１１４）。ユーザが急いでいると判断される場合には、それに応じて、音声プロンプトを提示する音声の調子、速度、または雰囲気、あるいはそれらの組合せを、例えば、ユーザと同じく緊急にシステムが応答しているとユーザが感じられるように修正することができる。対照的に、ユーザが十分に時間の余裕があるときに電話をしていると判断される場合には、それに応じて、音声プロンプトを提示する音声の調子、速度、または雰囲気、あるいはそれらの組合せを、例えば、やはりユーザ自身の現在の状態を反映するように、より会話調の調子、より会話調の速度、およびより会話調の雰囲気で音声が話しかけるように修正することができる。
【００２２】
最後の例として、ユーザとの通話の中でユーザに提示される質問の順序は、ユーザの状態に基づいて修正することができる（１１６）。例えば、ユーザがユーザ自身の車から電話をしており、ユーザが現在交通渋滞に巻き込まれていると判断することができる。通常の質問順序は、例えば、ユーザに現在の天気を知りたいかを尋ね、続いてユーザに現在の交通状況を知りたいかを尋ねることである。しかし、ユーザの現在の状態に基づき、これら２つの質問の順序を逆にしてユーザに現在の交通状況を知りたいかを最初に尋ねることができる。
【００２３】
図２は、本発明の実施形態による、ユーザとシステム２００の間の通話のコール・フローを修正する方法１００を実装することができるコンピュータ・システム２００を示す。コンピュータ・システム２００は、状況収集コンポーネント２０２、状態生成コンポーネント２０４、およびコール・フロー修正コンポーネント２０６、ならびに状況ソース（context sources）２０８を含むように示されている。コンポーネント２０２、２０４、および２０６は各々、ソフトウェア、ハードウェア、またはハードウェアとソフトウェアの組合せの形で実装することができる。さらに、コンピュータ・システム２００には、図２に示された各コンポーネントに加えて、またはそれらのコンポーネントの代わりに、あるいはその両方で、他のコンポーネントや機構を含めることができる。
【００２４】
状況収集コンポーネント２０２は、ユーザに関する１組の状況固有の情報を、システム２００とユーザの間の通話の中でユーザにその情報をプロンプト指示することなしに収集する。詳細には、コンポーネント２０２は、コンポーネント２０２に入力される様々な状況ソース２０８からそのような状況を構成する。例えば、コンポーネント２０２は、通話が開始されたか、または開始される予定のユーザに関する知識を備えることができる。コンポーネント２０２は、発信者番号通知技術（caller ID technology）を使用して、ユーザが通話をしている位置を知ることができる。コンポーネント２０２は、この情報を状況ソース２０８の１つから受信し、次いでその情報を他の状況ソース２０８に送って、その位置の天気、その位置の時間など、他の状況情報を取得することができる。図２では、コンポーネント２０２は個別のコンポーネントとして示されているので、システム２００が情報を受信することができる新しい状況ソース２０８を定義するだけで、ユーザに関する他の種類の状況固有の情報を含むようにシステム２００を容易に拡張することができる。
【００２５】
状況収集コンポーネント２０２は、ユーザに関する１組の状況固有の情報を状態生成コンポーネント２０４に提供する。状態生成コンポーネント２０４は順に、１組の状況固有の情報に基づいて、１組の可能な状態から単一の状態としユーザの状態を決定する。この場合、このユーザの状態は、状況固有の情報を全体として記述するものである。例えば、図２の実施形態では、状態は、可能な状態の基本的なセットである「標準サービス」または「迅速サービス」から選択することができる。前者の状態では、ユーザが通話の中で標準サービスを必要としていると判断され、一方、後者の状態では、ユーザが通話の中で迅速サービスを必要としていると判断される。したがって、この例では、１組の状況固有の情報は、２つの可能な状態の１つに抽象化される。この場合、最終的に決定された状態は、ユーザの状況固有の情報を全体として適切に記述するものである。後者の状態である「迅速サービス」は、ユーザが道路脇近くの事故に遭いがちな場所から電話をかけている場合、ユーザが優良顧客であると識別された場合、ユーザが飛行機便に乗り遅れそうな場合などに決定することができる。
【００２６】
状態生成コンポーネント２０４は、ユーザの状態をコール・フロー修正コンポーネント２０６に提供する。コール・フロー修正コンポーネント２０６は、システム２００への通話の中のユーザへの音声プロンプトのコール・フローを、ユーザの状態に基づいて修正する。図２の実施形態では、コール・フロー修正コンポーネント２０６は、いくつかのＪａｖａ（Ｒ）サーバ・ページ（ＪＳＰ）２１０Ａ、２１０Ｂ、．．．、２１０Ｎから構成される。これらのＪＳＰは、まとめてＪＳＰ２１０として参照される。ＪＳＰは、Ｓｕｎ社のＪａｖａ（Ｒ）サーブレット技術を拡張したものであり、マークアップ言語ページ、例えばＶｏｉｃｅＸＭＬ（Voice eXtended Markup Language）ページなどの音声マークアップ言語ページを、マークアップ言語ページとＪａｖａ（Ｒ）プログラミング言語で記述された実行可能なコードとを組み合わせることによって動的に修正可能にしたものである。Ｊａｖａ（Ｒ）コードは、ＪＳＰ２１０内に提示されたマークアップ言語ページの基本コンテンツを修正するための処理を提供する。
【００２７】
したがって、図２の実施形態では、ＪＳＰ２１０は、ユーザとの通話の中の音声プロンプトのコール・フローをカプセル化する音声マークアップ言語ページ、例えばＶｏｉｃｅＸＭＬページなどの基本フレームワークを提供するとともに、その基本フレームワークを、状態生成コンポーネント２０４によって提供されるユーザの状況に基づいて修正するように記述される。実行時に、ＪＳＰ２１０がユーザの状態を受信したとき、ユーザの状態ごとに修正されるコール・フローを表わす実際の音声マークアップ言語ページ２１２は、ＪＳＰ２１０によって生成される。言い換えると、音声マークアップ言語ページ２１２は、ユーザの状態が決定されるまでは生成されない。結果として、ユーザとの通話の中の音声プロンプトのコール・フローは、ユーザの状態に基づいて生成されることになり、したがって、コール・フローはユーザの状態に基づいて修正されると言うことができる。
【００２８】
言い方を換えれば、コール・フロー修正コンポーネント２０６のＪＳＰ２１０は、状態生成コンポーネント２０４がユーザの状態を決定し、それをＪＳＰ２０１に提供した後で、実行時に音声マークアップ言語ページ２１２を生成する。したがって、図２のシステム２００は、ユーザの状態に基づいてユーザと対話する。この実施形態では、ＪＳＰ２１０を使用することにより、ユーザの状況が取り込まれ、状態に抽象化されることで、ユーザへの通話の中の音声プロンプトのコール・フローが修正されることが保証される。音声マークアップ言語ページ２１２は、このコール・フローをカプセル化するか、または表現する。これらのページはユーザの状態が決定された後で動的に生成されるので、コール・フローはユーザの状態に依存して決まり、したがってユーザの状態に基づいて修正されることになる。
【００２９】
図３は、本発明の他の実施形態による、ユーザとシステム３００の間の通話のコール・フローを修正する方法１００を実装することができるコンピュータ・システム３００を示す。コンピュータ・システム３００は、状況収集コンポーネント３０２、状態生成コンポーネント３０４、コール・フロー修正コンポーネント３０６、および音声マークアップ言語ページ生成機構３０８、ならびに状況ソース３１０、対話断片データベース３１２、およびルール・ベース３１８を含むように示されている。コンポーネント３０２、３０４、および３０６、ならびにコンポーネント３０８は各々、ソフトウェア、ハードウェア、またはハードウェアとソフトウェアの組合せの形で実装することができる。さらに、コンピュータ・システム３００には、図３に示された各コンポーネントに追加して、またはその代わりとして、あるいはその両方で、他のコンポーネントおよび機構を含めることもできる。
【００３０】
状況収集コンポーネント３０２は、ユーザに関する１組の状況固有の情報を、システム３００とユーザの間の通話の中でユーザにその情報をプロンプト指示することなしに収集する。詳細には、コンポーネント３０２は、コンポーネント３０２に入力される様々な状況ソース３１０からそのような状況を構成する。図３には、コンポーネント３０２は、個別のコンポーネントとして示されている。したがって、システム３００は、システム３００が情報を受信することができる新しい状況ソース３１０を定義するだけで、ユーザに関する他の種類の状況固有の情報を含むように容易に拡張することができる。
【００３１】
状況収集コンポーネント３０２は、ユーザに関する１組の状況固有の情報を状態生成コンポーネント３０４に提供する。状態生成コンポーネント３０４は、１組の状況固有の情報に基づいて、１組の（すなわち、一連の）状態イベントとしてユーザの状態を順に決定する。状態イベントは各々、コンポーネント３０２によって提供された１つまたは複数の状況固有の情報の抽象化である。例えば、状況固有の情報には、ユーザ位置の現在の温度が３７．８℃（１００°Ｆ）を超えていること、ユーザの現在位置が交通渋滞の車の中であること、およびユーザ位置の現在の時刻が午後５時であることを含めることができる。したがって、２つの状態イベントを生成することができる。すなわち、一方の状態イベントは、ユーザが暑い気象条件下にいること、他方は、ユーザがラッシュアワーの交通下にいることである。第１の状態イベントは、ユーザ位置の現在の温度が３７．８℃を超えているという状況情報の抽象化である。第２の状態イベントは、ユーザが交通渋滞の車の中にいるという状況情報と、ユーザ位置の現在の時刻が午後５時であるという状況情報との抽象化である。
【００３２】
したがって、図３の実施形態でユーザの状態として決定された１組の状態イベントは、より記述的でより内容が豊富になる可能性があるという点で、図２の実施形態で決定されたユーザの単一の状態とは異なる。例えば、図２の実施形態では、ユーザの現在の状態として単一の記述子が提供されるが、図３の実施形態では、ユーザの現在の状態として１組の記述子を提供することができる。これらの実施形態のどちらでも、ユーザの状態はやはり収集された１組の状況固有の情報の抽象化である。しかし、図２の実施形態では、１組の状況固有の情報は単一の記述子に抽象化されるが、図３の実施形態では、状況固有の情報の様々な部分を様々な記述子に抽象化することができる。
【００３３】
状態生成コンポーネント３０４は、１組の状態イベントをコール・フロー修正コンポーネント２０６に提供する。コール・フロー修正コンポーネント３０６は、ユーザの状態に基づいて、システム３００への通話の中のユーザへの音声プロンプトのコール・フローを修正する。詳細には、コール・フロー修正コンポーネント２０６は、コール・フローに対する１組の対話断片を生成し、その対話断片がコール・フローの中でユーザに提示される順序、または各対話断片の提示に関する条件、あるいはその両方を状況依存のロジックに基づいて決定する。
【００３４】
各対話断片は、コール・フローの一部であり、したがってコール・フロー自体の１つまたは複数の音声プロンプトを含むことができる。各状態イベントごとに、対話断片は、コール・フロー修正コンポーネント３０６によって、例えば、音声プロンプトを状態イベントにマップするコンポーネント３０６用のロジックを使用して生成することができる。さらに、対話断片は、ユーザの状態に関する１組の状態イベントの中のどの状態イベントが提示されるかに基づく順序でユーザに提示することができる。このような順序は、コンポーネント３０６に対する状況依存のロジックに基づいて達成することができる。同様に、ロジックは所与の対話断片がいつ提示されるかを示す条件を提供することができるので、所与の対話断片が実際にユーザに提示されるかどうかを、コンポーネント３０６に対する状況依存のロジックに基づいて決定することができる。
【００３５】
対話断片を生成し、その対話断片の順序および条件を決定するためにコール・フロー修正コンポーネント３０６が使用する状況依存のロジックは、論理ルールを格納するデータベースであるルール・ベース３１８内に格納することができる。ルール・ベース３１８内の各ルールはコール・フロー修正コンポーネント３０６から切り離されているので、コンポーネント３０６は、ルール・ベース３１８内に格納されたロジックを修正することによって、コンポーネント３０６自体に対する修正なしに容易に拡張することができる。さらに、コール・フロー修正コンポーネント３０６は、生成した対話断片を断片データベース３１２内に格納する。
【００３６】
次に、図２の実施形態のコール・フロー修正コンポーネント２０６とは異なり、図３の実施形態のコール・フロー修正コンポーネント３０６は、コール・フローをカプセル化する実際の音声マークアップ言語ページを生成しない。正確には、コンポーネント３０６は、コール・フロー内の音声プロンプトの一部を表す対話断片を生成するだけである。したがって、この意味において、コンポーネント３０６はやはり、ユーザの状態に基づいてコール・フローを修正するものである。しかし、図３の実施形態は、図２の実施形態と比べてより容易に拡張される。図２の実施形態では、コール・フローの音声プロンプト自体は、ＪＳＰ２１０の中にハード・コード化されている。したがって、音声プロンプトを修正するためには、ＪＳＰ２１０自体を再コード化する必要がある。対照的に、図３の実施形態では、コール・フローの音声プロンプト自体は、対話断片の生成によって生成される。したがって、対話断片の生成を支配するロジックはルール・ベース３１８に格納されているので、そのロジックはルール・ベース３１８を修正することによって簡単に修正することができる。したがって、音声プロンプトを容易に修正することができることになる。すなわち、図３の実施形態では、コードの再プログラミングは必要とされない。
【００３７】
次に、音声マークアップ言語ページ生成機構３０８は、実際のコール・フローをカプセル化する、ＶｏｉｃｅＸＭＬページなどの実際の音声マークアップ言語ページを生成する。機構３０８は、コール・フロー修正コンポーネント３０６によってデータベース３１２に格納された対話断片を断片データベース３１２から使用して、コンポーネント３０６がルール・ベース３１８内に格納した断片の順序および条件に従って、音声マークアップ言語ページを動的に組み立てる。例えば、断片の順序および条件は、所与の断片が最初にユーザに提示されるように指示することができる。したがって、機構３０８は、データベース３１２からその断片を取り出し、その断片に対する音声マークアップ言語ページを動的に生成し、次いで、生成されたページをユーザに提示する。この対話断片のプロンプトに対してユーザが提供した回答に基づいて、機構３０８は、データベース３１２から他の対話断片を取り出し、その断片に対する音声マークアプ言語ページを動的に生成し、それをユーザに提示することができる。
【００３８】
したがって、図２の実施形態とは対照的に、図３の実施形態では、音声マークアップ言語ページの生成はコール・フローの修正とは無関係である。ルール・ベース３１８内に存在するロジックに基づいて、コール・フロー修正コンポーネント３０６は、対話断片を生成し、それらを断片データベース３１２に格納し、その断片のユーザへの提示の順序および条件をルール・ベース３１８それ自体の中に詳述する。次に、音声マークアップ言語ページ生成機構３０８は、コンポーネント３０６によってルール・ベース３１８に格納された順序および条件を使用して、実行中に断片データベース３１２から対話断片を取り出し、それらの対話断片に対する音声マークアップ言語ページを動的に生成する。したがって、図３の実施形態では、音声マークアップ言語ページは一度に生成されるのではなく、必要に応じて生成されることになる。
【００３９】
図４は、本発明の一実施形態による方法４００を示す。方法４００は、説明済みの図１の方法１００と整合するが、方法１００より詳細に記されている。前と同様に、システムへの通話を開始したユーザ、またはシステムが通話を開始したユーザに関する１組の状況固有の情報が収集される（１０２）。状況固有の情報は、例えば図２のシステム２００の状況収集コンポーネント２０２によって、または図３のシステム３００の状況収集コンポーネント３０２によって収集することができる。
【００４０】
次に、この１組の状況固有の情報に基づいて、ユーザの状態が決定される（１０４）。例えば、図２の実施形態では、状態生成コンポーネント２０４は、１組の状況固有の情報全体の抽象化であり、１組の状況固有の情報を全体として適切に記述する単一の状態を生成することができる。他の例として、図３の実施形態では、状態生成コンポーネント３０４は、１組の、または一連の状態イベントを状態として生成することができる。この場合、各状態イベントは、収集された１つまたは複数の状況固有の情報の抽象化である。
【００４１】
最後に、ユーザへの音声プロンプトのコール・フローは、決定されたユーザの状態に基づいて修正される（１０６）。図２の実施形態では、音声マークアップ言語ページは、決定されたユーザの単一の状態に基づいて、コール・フロー修正コンポーンネント２０６（詳細には、そのＪＳＰ２１０）によって生成される（４０２）。対照的に、図３の実施形態では、最初に、コール・フロー修正コンポーネント３０６によって、１組の状態イベントに対応するものとして、コール・フローに対する１組の対話断片が生成される（４０４）。次に、対話断片が提示される順序、またはユーザへの各対話断片の提示に関する条件、あるいはその両方が、コール・フロー修正コンポーネント３０６によって決定される（４０６）。次いで、ユーザに提示される各対話断片ごとに、対話断片がユーザに提示されるときに、対応する音声マークアップ言語が音声マークアップ言語ページ生成機構３０８によって実行時に生成される（４０８）。
【００４２】
本明細書では、特定の実施形態について例示し説明してきたが、示された特定の実施形態を、同じ目的を達成するように意図された任意の構成で置き換えることができることが、当業者には理解されるはずであることに留意されたい。したがって、本出願は、本発明の諸実施形態についての任意の適合形態または変形形態を包含することが意図される。例えば、説明した各方法は、１つまたは複数のコンピュータ・プログラムによって実装することができる。コンピュータ・プログラムは、記録可能なデータ記憶媒体などのコンピュータ可読媒体、または他の種類のコンピュータ可読媒体上に格納することができる。したがって、本発明が特許請求の範囲とその均等物のみによって制限されることが明らかに意図される。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態による、ユーザへの音声プロンプトのコール・フローを修正する方法を示す流れ図であり、本特許の最初のページに印刷することが示唆される。
【図２】本発明の一実施形態による、ユーザへの音声プロンプトのコール・フローを修正するためのコンピュータ・システムを示す図である。
【図３】本発明の他の実施形態による、ユーザへの音声プロンプトのコール・フローを修正するためのコンピュータ・システムを示す図である。
【図４】本発明の一実施形態による、図１の方法と整合しているが図１の方法より詳細な、ユーザへの音声プロンプトのコール・フローを修正する方法を示す流れ図である。
【符号の説明】
【００４４】
２００  コンピュータ・システム
２０２  状況収集コンポーネント
２０４  状態生成コンポーネント
２０６  コール・フロー修正コンポーネント
２０８  状況ソース
２１０  ＪＳＰ
２１２  音声マークアップ言語ページ
３００  コンピュータ・システム
３０２  状況収集コンポーネント
３０４  状態生成コンポーネント
３０６  コール・フロー修正コンポーネント
３０８  音声マークアップ言語ページ生成機構
３１０  状況ソース
３１２  断片ＤＢ
３１８  ルール・ベース
３２０  音声マークアップ言語ページ
【図１】
2007166614.tif 000003
【図２】
2007166614.tif 000004
【図３】
2007166614.tif 000005
【図４】
2007166614.tif 000006