(57)【要約】  ダイアログアプリケーションを作成し、実行するフレームワークは、通信アーキテクチャにおいて利用される。アプリケーションは、複数の異なる通信モードと共に使用することができる。ダイアログアプリケーションによって処理されるメッセージは、ダイアログステートを判断し、関連する応答を提供するために使用される。
2009512393.tif 000002
【特許請求の範囲】
【請求項１】
通信アーキテクチャ（２００）において通信メッセージを処理する方法（３５０）であって、
ソースから第１の通信メッセージを受信すること（３５２）、
前記第１の通信メッセージに関連付けられた通信モードを識別すること（３５４）
前記第１の通信メッセージに基づいてダイアログステートを判断すること（３５６）、および
前記ダイアログステートに基づいて、前記通信モードを使用して、第２の通信メッセージを前記ソースに送信すること（３６０）
を備えることを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
複数の指定されたダイアログステートを含むダイアログファイル（２１８）にアクセスすること
をさらに備えることを特徴とする方法。
【請求項３】
請求項２に記載の方法において、
前記ダイアログステートの各々は、タスク（３２０）、プロンプト（３２２）、および関連するダイアログステート（３２６）のうちの少なくとも１つを含む関連するプロパティを有することを特徴とする方法。
【請求項４】
請求項１に記載の方法において、
前記ダイアログステートに基づいてタスクを実行すること
をさらに備えることを特徴とする方法。
【請求項５】
請求項１に記載の方法において、
前記第１の通信メッセージに含まれるセマンティック情報を判断するために、前記第１の通信メッセージを解析すること
をさらに備え、
前記ダイアログステートは、前記セマンティック情報に基づいて判断されることを特徴とする方法。
【請求項６】
請求項１に記載の方法において、
前記通信モードは、電子メール、インスタントメッセージング、および電話のうちの１つであることを特徴とする方法。
【請求項７】
請求項１に記載の方法において、
前記第１の通信メッセージは、音声データおよびテキストデータのうちの１つを含むことを特徴とする方法。
【請求項８】
ある通信モードを有するソースからの通信メッセージを処理するように構成されているコンピュータ読み取り可能な媒体であって、
前記通信メッセージに基づいてダイアログステートを判断するために、複数のダイアログステート（２１８）にアクセスするように構成されているダイアログ実行モジュール（２１４）と、
該ダイアログ実行モジュールに結合され、前記ダイアログステートおよび前記通信モードに基づいて応答を前記ソースに送信するように構成されている通信インタフェース（２１２）と
を備えたことを特徴とするコンピュータ読み取り可能な媒体。
【請求項９】
請求項８に記載のコンピュータ読み取り可能な媒体において、
前記ダイアログ実行モジュールは、前記通信メッセージに含まれるセマンティック情報を判断するために、前記通信メッセージを解析するようにさらに構成されていることを特徴とするコンピュータ読み取り可能な媒体。
【請求項１０】
請求項９に記載のコンピュータ読み取り可能な媒体において、
次のダイアログステートは、前記セマンティック情報に基づいて判断されることを特徴とするコンピュータ読み取り可能な媒体。
【請求項１１】
請求項１０に記載のコンピュータ読み取り可能な媒体において、
前記ダイアログ実行モジュールは、前記セマンティック情報に基づいて前記ダイアログステートを判断するために、言語モデルにアクセスするように構成されていることを特徴とするコンピュータ読み取り可能な媒体。
【請求項１２】
請求項８に記載のコンピュータ読み取り可能な媒体において、
前記通信インタフェースは、インターネットプロトコルソースおよびＰＯＴＳソースに応答を送信するように構成されていることを特徴とするコンピュータ読み取り可能な媒体。
【請求項１３】
請求項８に記載のコンピュータ読み取り可能な媒体において、
前記ダイアログ実行モジュールは、前記応答を判断するために、プロンプト（２２０）にアクセスするように構成されていることを特徴とするコンピュータ読み取り可能な媒体。
【請求項１４】
複数の異なる通信モードから通信メッセージを受信し、前記複数の異なる通信モードに基づいて通信メッセージを送信するように構成されている通信インタフェース（２１２）と、
複数のダイアログステートを含むダイアログファイル（２１８）であって、各前記ダイアログステートは関連するプロパティを有する、ダイアログファイル（２１８）と、
前記通信インタフェースに結合され、該通信インタフェースから通信メッセージを受信するダイアログ実行モジュール（２１４）であって、特定の通信メッセージに基づいてダイアログステートを判断し、該ダイアログステートに関連付けられた応答を前記通信インタフェースに提供するために、前記ダイアログファイルにアクセスするように構成されているダイアログ実行モジュール（２１４）と
を備えたことを特徴とするシステム。
【請求項１５】
請求項１４に記載のシステムにおいて、
前記関連するプロパティは、プロンプト、言語モデル、および関連するダイアログステートを含むことを特徴とするシステム。
【請求項１６】
請求項１４に記載のシステムにおいて、
前記ダイアログ実行モジュールに結合され、前記通信メッセージ内のセマンティック情報を識別する自然言語処理装置（２１６）
をさらに備えたことを特徴とするシステム。
【請求項１７】
請求項１４に記載のシステムにおいて、
前記通信インタフェースに結合された、インターネットプロトコルインタフェース（２０４）およびＰＯＴＳインタフェース（２０６）
をさらに備えたことを特徴とするシステム。
【請求項１８】
請求項１４に記載のシステムにおいて、
前記ダイアログ実行モジュールは、前記ダイアログファイルにアクセスするための、アプリケーションプログラミングインタフェースを含むことを特徴とするシステム。
【請求項１９】
請求項１４に記載のシステムにおいて、
前記通信メッセージは、音声データおよびテキストデータのうちの少なくとも１つを含むことを特徴とするシステム。
【請求項２０】
請求項１４に記載のシステムにおいて、
前記通信インタフェースは、電子メールメッセージおよびオーディオメッセージのうちの少なくとも１つを送信するように構成されていることを特徴とするシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
以下の記載は、単に一般的な背景情報を説明するものにすぎず、特許請求の範囲に記載の主題事項の範囲を決定する際の助けとして使用されるよう意図するものではない。
【０００２】
広範囲にわたる種々の産業からのリモートアプリケーションが、コンピュータネットワークを介して利用可能になっている。例えば、これらのアプリケーションの中には、コールルーティングや顧客アカウント／個人情報アクセスなどの、コンタクトセンタのセルフサービスアプリケーションが含まれる。その他のコンタクトセンタアプリケーションとして可能なものには、旅行予約、金融株式アプリケーション、および顧客関係管理がある。そのほかに、情報技術グループにとって恩恵を受けるアプリケーションには、例えば、セールスやフィールドサービスオートメーションの分野におけるアプリケーション、Ｅコマース、オートアテンダント（auto-attendant）、ヘルプデスクパスワードリセットアプリケーション、および音声対応ネットワーク管理がある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の顧客ケア（customer care）は通常、電話に応対し、顧客の問い合わせに返答する複数の人間のエージェントが配置されたコールセンタを通して処理されていた。現在では、これらのコールセンタの多くは、デュアルトーンマルチ周波数（ＤＴＭＦ：Dual Tone Multi Frequency）技術および自動音声認識（ＡＳＲ：Automatic Speech Recognition）技術の組合せを採用している電話ベースの対話型音声応答（ＩＶＲ：Interactive Voice Response）システムにより自動化されている。さらに、顧客ケアは、電話ベースのシステムを越えて、インスタントメッセージング（ＩＭ：Instant Messaging）および電子メールベースのシステムにまで拡張されている。これらの異なるチャネルにより、最終的な顧客が選択できる範囲が拡張したため、全体的な顧客満足度が向上している。これらの種々のチャネルにわたって顧客ケアを自動化することは、各チャネルに対して異なるツールが使用されるため、現在では困難になっている。
【課題を解決するための手段】
【０００４】
この要約は、以下で記載する詳細な説明の中で説明されているいくつかの概念を簡略化した形式で紹介するものである。この要約は、特許請求の範囲に記載の主題事項の主要な特徴や本質的な特徴を特定するよう意図するものでも、特許請求の範囲に記載の主題事項の範囲を決定する際の助けとして使用されるよう意図するものでもない。
【０００５】
ダイアログアプリケーションを作成し、実行するフレームワークは、通信アーキテクチャにおいて利用される。こうしたアプリケーションは、複数の異なる通信モードと共に使用することができる。ダイアログアプリケーションによって処理されるメッセージは、ダイアログステート（dialog state）を判断し、関連する応答を提供するために使用される。
【発明を実施するための最良の形態】
【０００６】
通信メッセージを処理するエージェントおよび通信メッセージ処理を実現するための方法を説明する前に、通信アーキテクチャにおいて機能することが可能なコンピューティングデバイスを説明しておくと都合がよいので、そのコンピューティングデバイス一般について説明する。これらのデバイスは、コンピュータネットワークを介してエージェントを利用するために、種々のコンピューティングセッティングで使用することができる。例えば、デバイスは、テキストおよび音声を含む、様々な形式を自然言語で入力することによって、エージェントと対話することができる。以下で説明されるデバイスは、単なる例示であり、本明細書で説明する主題事項を限定するよう意図しているものではない。
【０００７】
図１に、例示的な形態のデータ管理モバイルデバイス３０を示す。このモバイルデバイス３０は、ハウジング３２を有し、ディスプレイ３４を含むユーザインタフェースを備えている。このディスプレイ３４では、スタイラス３３と共に、接触感知ディスプレイスクリーン（contact sensitive display screen）が使用されている。スタイラス３３を使用して、ディスプレイ３４の指定された座標を押下するか、または接触することにより、フィールドを選択したり、カーソルの開始位置を選択的に移動させたりして、あるいはジェスチャや手書きなどの別の方法によって、コマンド情報を与える。これらの代替として、またはこれらに加えて、デバイス３０上には、ナビゲーションのための１つまたは複数のボタン３５を設けることができる。さらに、デバイス３０は、回転可能なホイール、ローラなどの他の入力機構を備えていてもよい。別形態の入力としては、コンピュータビジョン（computer vision）などによるビジュアル入力がある。
【０００８】
次に図２を参照すると、モバイルデバイス３０を構成する機能コンポーネントを示すブロック図が示されている。中央処理装置（ＣＰＵ）５０は、ソフトウェア制御機能を実行する。ＣＰＵ５０は、ディスプレイ３４に結合されているので、制御ソフトウェアに従って生成されたテキストおよびグラフィックアイコンが、ディスプレイ３４上に表示される。スピーカ４３は通常、デジタル−アナログコンバータ５９と共にＣＰＵ５０に結合され、音声出力を提供することができる。
【０００９】
ユーザによってモバイルデバイス３０にダウンロードされるデータまたは入力されるデータは、ＣＰＵ５０に双方向に結合された不揮発性読み書きランダムアクセスメモリ（ＲＡＭ）ストア５４に記憶される。ランダムアクセスメモリ（ＲＡＭ）５４は、ＣＰＵ５０によって実行される命令のための揮発性ストレージを提供し、レジスタ値などの一時的なデータを記憶する。構成オプションや他の変数のデフォルト値は、リードオンリメモリ（ＲＯＭ）５８に記憶される。ＲＯＭ５８を使用して、モバイルデバイス３０の基本的機能を制御するデバイス用オペレーティングシステムソフトウェアおよび他のオペレーティングシステムのカーネル機能（例えば、ＲＡＭ５４へのソフトウェアコンポーネントのロード）も記憶することができる。
【００１０】
ＲＡＭ５４はまた、アプリケーションプログラムを記憶するために使用されるＰＣ上のハードドライブの機能と同じように、コードを記憶する役割も果たす。不揮発性メモリは、コードを記憶するために使用されるが、このコードは、コードの実行のために使用されない揮発性メモリに記憶することもできることに留意されたい。
【００１１】
無線信号は、ＣＰＵ５０に結合されている無線トランシーバ５２を介して、モバイルデバイスによって送受信することができる。オプションの通信インタフェース６０が設けられていれば、コンピュータ（例えば、デスクトップコンピュータ）から直接的に、あるいは必要に応じて有線ネットワークから、データをダウンロードすることもできる。従って、インタフェース６０は、様々な形態の通信デバイス、例えば、赤外線リンク、モデム、ネットワークカードなどの形態をとることができる。
【００１２】
モバイルデバイス３０は、マイクロホン２９、アナログ−デジタル（Ａ／Ｄ）コンバータ３７、およびストア５４に記憶されたオプションの認識プログラム（音声、ＤＴＭＦ、手書き、ジェスチャ、またはコンピュータビジョン）を備えている。一例として、デバイス３０のユーザからの音声情報、命令、またはコマンドに応答して、マイクロホン２９は、Ａ／Ｄコンバータ３７によってデジタル化された音声信号を提供する。音声認識プログラムは、デジタル化された音声信号に対して正規化（normalization）および／または特徴抽出（feature extraction）機能を実行して、中間の音声認識結果を得ることができる。
【００１３】
無線トランシーバ５２または通信インタフェース６０を使用することにより、音声データおよび他のデータをリモートに、例えば、エージェントに送信することができる。音声データを送信するとき、リモート音声サーバ（remote speech server）を利用することができる。モバイルデバイス３０上に（例えば、ビジュアルおよび／または音声を）提供するために、認識結果は、モバイルデバイス３０に戻すことができ、最終的にエージェントに送信され、エージェントとモバイルデバイス３０とは、通信メッセージに基づいて対話する。
【００１４】
他の形態の入力についても同じような処理を使用することができる。例えば、手書きによる入力は、デバイス３０上での事前処理の有無に関係なく、デジタル化することができる。音声データと同様に、この形態の入力は、認識のためにサーバに送信することができ、その認識結果は、デバイス３０およびリモートエージェントの少なくとも一方に戻される。同様に、ＤＴＭＦデータ、ジェスチャデータ、およびビジュアルデータも、同じように処理することができる。入力の形態に応じて、デバイス３０（および以下で説明する他の形態のクライアント）は、ビジュアル入力用のカメラといった、必要なハードウェアを備えていてもよい。
【００１５】
図３は、例示的な携帯電話８０の実施形態を示す平面図である。この電話８０は、ディスプレイ８２およびキーパッド８４を備えている。一般的に、図２のブロック図は、他の機能を実行するために必要な追加回路を要する場合があるが、図３の電話にも適用される。例えば、電話として動作するために必要なトランシーバが図２の実施形態では必要になるが、このような回路は、本発明とは無関係である。
【００１６】
エージェントは、他の多数の汎用または専用コンピューティングシステム、コンピューティング環境、またはコンピューティング構成と共に動作することできる。本発明で使用するのに適した周知のコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成の例としては、（スクリーンのない）通常の電話、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電子製品、ＲＦＩＤ（Radio Frequency IDentification）デバイス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、前述のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などがあるが、これらに限定されるものではない。
【００１７】
以下では、図４に示した汎用コンピュータ１２０について簡単に説明する。しかしながら、コンピュータ１２０は、適切なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲についてなんらの制限を示唆するものではない。また、コンピュータ１２０は、図示されているコンポーネントのいずれか１つまたはコンポーネントの組合せに関して、なんらの依存関係または要件を有するものと解釈すべきではない。
【００１８】
本発明は、プログラムモジュールなどの、コンピュータによって実行されるコンピュータ実行可能命令の一般的なコンテキストにおいて説明することができる。一般的に、プログラムモジュールには、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施することも可能である。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含む、ローカルコンピュータ記憶媒体およびリモートコンピュータ記憶媒体の両方に配置させることができる。プログラムおよびモジュールによって実行されるタスクは、図面を参照しながら以下で説明する。当業者であれば、以下の説明と図面とをプロセッサ実行可能命令として実装し、どのような形態のコンピュータ読み取り可能な媒体上にも記述することができよう。
【００１９】
図４を参照すると、コンピュータ１２０のコンポーネントには、処理装置１４０と、システムメモリ１５０と、システムメモリを含む種々のシステムコンポーネントを処理装置１４０に結合するシステムバス１４１とが含まれるが、これらに限定されるものではない。システムバス１４１は、様々なタイプのバス構造のいずれとすることができ、そのようなバス構造には、種々のバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスが含まれる。例えば、そのようなアーキテクチャとして、ＩＳＡ（Industry Standard Architecture）バス、ＵＳＢ（Universal Serial Bus）、ＭＣＡ（Micro Channel Architecture）バス、ＥＩＳＡ（Enhanced ISA）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカルバス、およびメザニンバスとも呼ばれるＰＣＩ（Peripheral Component Interconnect）バスがあるが、これらに限定されるものではない。コンピュータ１２０は一般に、種々のコンピュータ読み取り可能な媒体を備えている。コンピュータ読み取り可能な媒体は、コンピュータ１２０がアクセス可能な、任意の利用可能な媒体とすることができ、そのようなコンピュータ読み取り可能な媒体には、揮発性媒体および不揮発性媒体、ならびに、取り外し可能な媒体および取り外し不可能な媒体の両方が含まれる。例えば、コンピュータ読み取り可能な媒体としては、コンピュータ記憶媒体および通信媒体があるが、これらに限定されるものではない。コンピュータ記憶媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するために任意の方法または技術を用いて実現された揮発性媒体および不揮発性媒体、ならびに、取り外し可能な媒体および取り外し不可能な媒体の両方が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光ディスク記憶デバイス、磁気カセット、磁気テープ、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用でき、かつコンピュータ１２０がアクセス可能な他の媒体が含まれるが、これらに限定されるものではない。
【００２０】
通信媒体は通常、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータを、搬送波や他の搬送機構などの変調されたデータ信号内に具現化したものであって、通信媒体には、任意の情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号内の情報を符号化するような方法でその特性の１つまたは複数が設定または変更されている信号を意味する。例えば、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体と、音響、ＦＲ、赤外線、および他の無線媒体などの無線媒体とが含まれるが、これらに限定されるものではない。前述した媒体の任意の組合せも、コンピュータ読み取り可能な媒体の範囲に含まれるべきである。
【００２１】
システムメモリ１５０は、リードオンリメモリ（ＲＯＭ）１５１およびランダムアクセスメモリ（ＲＡＭ）１５２などの揮発性メモリおよび／または不揮発性メモリの形態をとるコンピュータ記憶媒体を含む。起動中などに、コンピュータ１２０内の要素間で情報を転送するのを支援する基本ルーチンを含む基本入出力システム（ＢＩＯＳ）１５３は通常、ＲＯＭ１５１に記憶されている。ＲＡＭ１５２は通常、処理装置１４０がただちにアクセス可能であり、かつ／または、処理装置１４０が現在操作しているデータおよび／またはプログラムモジュールを含んでいる。例えば、図４は、オペレーティングシステム１５４、アプリケーションプログラム１５５、他のプログラムモジュール１５６、およびプログラムデータ１５７を示しているが、これらに限定されるものではない。
【００２２】
コンピュータ１２０は、その他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体を備えることもできる。例えば、図４には、取り外し不可能な不揮発性磁気媒体に対して読み書きを行うハードディスクドライブ１６１、取り外し可能な不揮発性磁気ディスク１７２に対して読み書きを行う磁気ディスクドライブ１７１、およびＣＤ−ＲＯＭや他の光媒体などの取り外し可能な不揮発性光ディスク１７６に対して読み書きを行う光ディスクドライブ１７５が示されているが、これらは例示にすぎない。例示的な動作環境で使用できる他の取り外し可能／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体としては、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどがあるが、これらに限定されるものではない。ハードディスクドライブ１６１は通常、インタフェース１６０などの取り外し不可能なメモリインタフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１７１および光ディスクドライブ１７５は通常、インタフェース１７０などの取り外し可能なメモリインタフェースを介してシステムバス１２１に接続される。
【００２３】
上述して図４に示したドライブ、および関連するコンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、および他のデータの記憶領域をコンピュータ１２０に提供する。図４において、例えば、ハードディスクドライブ１６１は、オペレーティングシステム１６４、アプリケーションプログラム１６５、他のプログラムモジュール１６６、およびプログラムデータ１６７を記憶するものとして示されている。なお、これらのコンポーネントは、オペレーティングシステム１５４、アプリケーションプログラム１５５、他のプログラムモジュール１５６、およびプログラムデータ１５７と同じであってもよいし、異なっていてもよいことに留意されたい。ここで、オペレーティングシステム１６４、アプリケーションプログラム１６５、他のプログラムモジュール１６６、およびプログラムデータ１６７が少なくとも異なるコピーであることを示すために、これらには異なる番号が付されている。
【００２４】
ユーザは、キーボード１８２、マイクロホン１８３、および、マウス、トラックボール、タッチパッドなどのポインティングデバイス１８１などの入力デバイスを介して、コマンドおよび情報をコンピュータ１２０に入力することができる。その他の入力デバイス（図示せず）としては、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。これらの入力デバイスおよびその他の入力デバイスは、システムバスに結合されたユーザ入力インタフェース１８０を介して処理装置１４０に接続されることが多いが、パラレルポート、ゲームポート、またはＵＳＢなどの、他のインタフェースおよびバス構造を介して接続することもできる。モニタ１８４または他のタイプのディスプレイデバイスも、ビデオインタフェース１８５などのインタフェースを介してシステムバス１４１に接続される。コンピュータは、モニタのほかに、スピーカ１８７やプリンタ１８６などの、出力周辺インタフェース１８８を介して接続可能な他の出力周辺デバイスを備えることもできる。
【００２５】
コンピュータ１２０は、リモートコンピュータ１９４などの１つまたは複数のリモートコンピュータとの論理接続を使用して、ネットワーク環境において動作することもできる。リモートコンピュータ１９４は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常、コンピュータ１２０に関連して上述した要素の多くまたはすべてを備えている。図４に示した論理接続には、ローカルエリアネットワーク（ＬＡＮ）１９１およびワイドエリアネットワーク（ＷＡＮ）１９３が含まれているが、他のネットワークが含まれていてもよい。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
【００２６】
ＬＡＮネットワーキング環境において使用される場合、コンピュータ１２０は、ネットワークインタフェースまたはネットワークアダプタ１９０を介してＬＡＮ１９１に接続される。ＷＡＮネットワーキング環境において使用される場合、コンピュータ１２０は通常、インターネットなどのＷＡＮ１９３を介して通信を確立するためのモデム１９２または他の手段を備えている。モデム１９２は、内蔵型でも外付け型でもよく、ユーザ入力インタフェース１８０または他の適切な機構を介してシステムに接続することができる。ネットワーク環境では、コンピュータ１２０に関連して示したプログラムモジュールまたはその一部は、リモートメモリ記憶デバイスに記憶することができる。例えば、図４には、リモートアプリケーションプログラム１９５が、リモートコンピュータ１９４上に存在するものとして示されているが、これに限定されるものではない。図示したネットワーク接続は例示的なものにすぎず、コンピュータ間で通信リンクを確立する他の手段が使用されてもよいことを理解されたい。
【００２７】
通常、アプリケーションプログラム１５５は、ユーザ入力インタフェース１８０を介して、コマンドラインまたはグラフィカルユーザインタフェース（ＧＵＩ）によりユーザと対話していた。しかしながら、コンピュータシステムの使用を単純化し拡張した努力の結果として、ユーザから自然言語入力を受信できる入力が開発されている。自然言語または音声とは反対に、ＧＵＩは正確である。正しく設計されたＧＵＩは通常、曖昧な指示を出力せず、インタフェース１８０を介して受信した入力の特定の解釈を、基礎となるアプリケーションに確認させる必要もない。例えば、インタフェースは正確であるので、例えば、「“ＯＫ”ボタンをクリックしましたか？」といったように、通常、入力に関してユーザにさらに問い合わせる必要はない。通常、ＧＵＩ用に設計されたオブジェクトモデルは、その実装が非常に機械的で柔軟性のない（rigid）ものである。
【００２８】
ＧＵＩからの入力とは反対に、自然言語によるクエリまたはコマンドは、入力オブジェクトモデルに対する１つの関数コールだけではなく、入力オブジェクトモデルに対する一連の関数コールに変換することがよく行なわれている。従来のライン入力またはＧＵＩが柔軟性に欠けており、機械的であるという制約があるのとは反対に、自然言語は、人間の対話者が、多くの場合、無意識に相互の知性に頼って曖昧さを解決するための通信手段となっている。事実、自然言語が「自然」と考えられているのは、まさに自然言語が機械的でないからである。人間の対話者は、発言を取り巻く任意の数の領域に関する状況情報と手がかり（cue）とに基づいて、曖昧さを解決することができる。人間の対話者にとって、「議事録を金曜日のレビューミーティングの人々に転送してください（Forward the minutes to those in the review meeting on Friday）」という文章は、これ以上の説明をしなくても完全に理解できる文章である。しかしながら、マシンを機械的観点から見ると、正確にどのドキュメントおよびどのミーティングについて言及されているか、そして正確に誰にそのドキュメントが送信されなければならないか、といったように、具体的な詳細が指定されなければならない。
【００２９】
図５は、エージェント２０２と共に、例示的な通信アーキテクチャを示している。エージェント２０２は、イニシエータ（initiator）から、通信要求および／または通信メッセージを受信し、その要求および／またはメッセージに基づいてタスクを実行する。そのメッセージは、目的地にルーティングすることができる。イニシエータには、エージェント２０２に接続された人、デバイス、電話、リモートパーソナル情報マネージャなどを含めることができる。イニシエータからのメッセージは、多数の形態をとることができる。そのような形態として、（例えば、簡易電話からの音声やＶｏＩＰを介した音声などの）リアルタイム音声、（インスタントメッセージングなどの）リアルタイムテキスト、（例えば、音声メールメッセージなどの）リアルタイムではない音声、および、（例えば、ショートメッセージサービス（ＳＭＳ）や電子メールなどの）リアルタイムではないテキスト）が含まれる。タスクは、例えば、イニシエータによって送信された顧客ケア問い合わせに応答するエージェント２０２によって、自動的に実行される。
【００３０】
一実施形態では、エージェント２０２は、上述したコンピュータ１２０などの汎用コンピュータ上に実装することができる。エージェント２０２は、ユーザダイアログアプリケーション用の単一のコンタクトポイント（point of contact）を表している。従って、ある人がダイアログアプリケーションと対話することを望むとき、通信要求および通信メッセージは、エージェント２０２を介して処理される。このようにすると、その人は、特定のデバイスを使用してエージェント２０２にコンタクトする必要がなくなる。その人は、任意の所望のデバイスを介してエージェント２０２にコンタクトするだけでよく、着信通信要求およびメッセージは、エージェント２０２によって処理され、ルーティングされることになる。
【００３１】
通信要求または通信メッセージのイニシエータは、複数の異なる通信モードを用いてエージェント２０２にコンタクトすることができる。一般的に、エージェント２０２には、モバイルデバイス３０（本明細書では、入力の形態に基づいて、必要に応じて、ディスプレイスクリーン、マイクロホン、カメラ、接触感知パネル（touch sensitive panel）などを備えた他の形態のコンピューティングデバイスも表す）などのクライアントを介して、または電話８０を介してアクセスすることができる。この通信は、押下されたキーに応じて音を出して、または電話８０によって生成されたトーンにより行われ、エージェント２０２からの情報は、音を有してユーザに戻される。
【００３２】
さらに重要なことは、エージェント２０２は、情報が、デバイス３０を介して得られるか、または電話８０を介して得られるかに関係なく、エージェント２０２がどちらの動作モードもサポートできる点で統一化されていることである。エージェント２０２は、通信メッセージを受信するために、複数のインタフェースと動作可能に接続されている。従って、エージェント２０２は、異なるタイプのデバイスに対する応答を、そのデバイスの通信モードに基づいて提供することができる。
【００３３】
ＩＰインタフェース２０４は、例えば、ＴＣＰ／ＩＰなどのパケット交換技術を使用して、情報を送受信する。従って、インターネットプロトコルを使用して通信するコンピューティングデバイスは、ＩＰインタフェース２０４とインタフェースをとることができる。
【００３４】
ＰＯＴＳ（Plain Old Telephone Serviceとも呼ばれるPlain Old Telephone System）インタフェース２０６は、任意のタイプの回線交換システムとインタフェースをとることができる。そのような回線交換システムには、公衆交換電話網（ＰＳＴＮ）、プライベートネットワーク（例えば、企業ＰＢＸ（Private Branch Exchange））、および／または、これらの組合せが含まれる。従って、ＰＯＴＳインタフェース２０６には、回線交換技術を使用して情報を受信するためのＦＸＯ（Foreign Exchange Office）インタフェースおよびＦＸＳ（Foreign Exchange Station）インタフェースを含めることができる。
【００３５】
ＩＰインタフェース２０４およびＰＯＴＳインタフェース２０６は、アナログ電話アダプタ（ＡＴＡ）などの、単一のデバイス内に具現化することができる。コンピュータとＰＯＴＳとの間のインタフェースとなって、オーディオデータを伝送できる他のデバイスも使用することができる。そのようなデバイスとしては、電話アプリケーションプログラムインタフェース（ＴＡＰＩ）を使用してＰＯＴＳをコンピュータに接続する「音声モデム（voice modem）」がある。
【００３６】
図５に示されるように、デバイス３０およびエージェント２０２は、ネットワーク２０８を介して、本例ではインターネットなどのワイドエリアネットワークを介して、共通に接続され、別々にアドレス可能（addressable）になっている。従って、クライアント３０およびエージェント２０２は、物理的に相互に隣接して配置される必要はない。クライアント３０は、特定のプロトコルを使用して、例えば、音声、テキスト、およびビデオデータなどのデータを、ＩＰインタフェース２０４に送信することができる。一実施形態では、クライアント３０とＩＰインタフェース２０４との間の通信では、標準化されたプロトコルが使用される。このような標準化されたプロトコルには、例えば、ＳＩＰ＋ＲＴＰ（Session Initiator Protocol with Realtime Transport Protocol)がある。ＳＩＰおよびＲＴＰのどちらも、ＩＥＴＦ標準である。
【００３７】
電話８０を介したエージェント２０２へのアクセスは、有線電話ネットワークまたは無線電話ネットワーク２１０に対する電話８０の接続を含み、電話ネットワーク２１０は、ＦＸＯインタフェースを介して、電話８０をエージェント２０２に接続する。代替として、電話８０は、ＰＯＴＳインタフェース２０６の一部であるＦＸＳインタフェースを介して、エージェント２０２に直接接続することができる。
【００３８】
ＩＰインタフェース２０４およびＰＯＴＳインタフェース２０６は両方とも、通信アプリケーションプログラミングインタフェース（通信ＡＰＩ）２１２を介して、エージェント２０２に接続する。通信ＡＰＩ２１２の一実装として、ワシントン州レドモンドを本拠とするＭｉｃｒｏｓｏｆｔ社が開発したＭｉｃｒｏｓｏｆｔ（登録商標）  Ｒｅａｌ−Ｔｉｍｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ（ＲＴＣ）  Ｃｌｉｅｎｔ  ＡＰＩがある。通信ＡＰＩ２１２の別の実装として、ＩＳＯ／ＥＣＭＡ標準である、ＣＳＴＡ（Computer Supported Telecommunication Architecture （ECMA-269/ISO 18051））がある。通信ＡＰＩ２１２は、２つのコンピュータ間の通信用アプリケーション、２つの電話間の通信用アプリケーション、および電話とコンピュータとの間の通信用アプリケーションなどを含む、マルチモーダル（multimodal）通信アプリケーションを容易にすることができる。通信ＡＰＩ２１２はまた、オーディオコールおよびビデオコール、テキストベースのメッセージング、ならびにアプリケーション共有もサポートすることができる。従って、エージェント２０２は、クライアント３０および／または電話８０への通信を開始することができる。
【００３９】
エージェント２０２は、ダイアログ実行モジュール２１４、自然言語処理装置２１６、ダイアログステート２１８、およびプロンプト２２０を含んでいる。ダイアログ実行モジュール２１４は、通信ＡＰＩ２１２からの通信要求および通信メッセージを処理するロジックを含むとともに、ダイアログステート２１８に基づいてタスクを実行する。こうしたタスクには、プロンプト２２０からプロンプトを送信することを含めることができる。
【００４０】
ダイアログ実行モジュール２１４は、自然言語処理装置２１６を利用して、種々の自然言語処理タスクを実行する。自然言語処理装置２１６は、ユーザ入力に含まれる特徴（feature）を識別するために使用される認識エンジン（recognition engine）を含んでいる。音声の認識特徴は通常、話し言葉に含まれる単語であるのに対し、手書きの認識特徴は通常、ユーザによる手書きのストローク（stroke）に対応している。１つの具体例では、文法のような言語モデルは、音声発言におけるテキストを認識するために使用することができる。公知のように、認識は、ビジュアル入力の場合にも行うことができる。
【００４１】
ダイアログ実行モジュール２１４は、自然言語処理装置２１６によって認識されたオブジェクトを使用して、ダイアログステート２１８から所望のダイアログステートを判断することができる。ダイアログ実行モジュール２１４はまた、ユーザ入力に基づいて、出力を人に与えるために、プロンプト２２０にアクセスする。ダイアログステート２１８は、ダイアログ実行モジュール２１４によってアクセスされる１つまたは複数のファイルとして記憶することができる。プロンプト２２０は、ダイアログステート２１８に組み込むこともできるし、ダイアログステート２１８とは別に記憶しておいてアクセスすることもできる。プロンプトは、ユーザからの要求に基づいて通信ＡＰＩ２１２を介して当該ユーザに送信されるテキスト、オーディオデータ、および／またはビデオデータとして記憶することができる。例えば、初期プロンプトには、「Acme Company Help Centerにようこそ。どのようなご用件ですか？（Welcome to Acme Company Help Center, how can I help you?）」を含めておくことができる。このプロンプトは、ユーザの通信モードに基づいて送信される。ユーザが、電話を使用してエージェント２０２に接続する場合、このプロンプトは、電話を介して、音を出して再生することができる。ユーザが、電子メールメッセージを送信する場合、エージェント２０２は、電子メールメッセージで応答することができる。
【００４２】
ダイアログ実行モジュール２１４は、動作時に、例えば、ダイアログステート２１８などの複数のダイアログステートを含むダイアログを走査する（traverse）ために、ユーザから受信した通信メッセージを解釈する。一実施形態において、ダイアログは、ユーザからの質問に答える際に使用するプロンプトと共にヘルプセンタとして構成することができる。ダイアログステート２１８は、ダイアログ実行モジュール２１４によってアクセスされるファイルとして記憶することができる。このファイルは、エージェント２０２にアクセスするためにユーザによってどの通信モードが使用されるかに関係なく、作成することができる。従って、ダイアログ実行モジュール２１４には、ダイアログステート２１８にアクセスするためのＡＰＩを含めることができる。
【００４３】
図６は、複数のダイアログステートを含む、例示的なダイアログ３００を示している。各ステートは円により表され、矢印は２つのステート間の遷移を表している。ダイアログ３００は、初期ステート３０２および終了ステート３０４を含んでいる。通信メッセージがエージェント２０２によって受信されると、ダイアログ３００が起動され、ステート３０２から開始する。ステート３０２には、実行される１つまたは複数のプロセスまたはタスクを含めることができる。例えば、ダイアログステート３０２には、ユーザに再生される、かつ／または、ユーザに送信されるウェルカムプロンプト（Welcome prompt）を含めることができる。初期ステート３０２のあと、さらなる通信メッセージを受信することができる。受信した通信メッセージに基づいて、ダイアログ３００は次のステートに移る。例えば、ダイアログ３００は、ステート３０６、ステート３０８などに遷移することができる。これらのステートの各々には、ユーザによってダイアログを実施するための関連するタスクおよび関連するプロンプトをさらに含めることができる。これらのステートには、ダイアログ３００における他のステートへの遷移も含まれる。最終的に、終了ステート３０４に到達するまで、ダイアログ３００が走査される。
【００４４】
図７は、例えば、ダイアログ３００などのダイアログを作成することを可能にするユーザインタフェースにおけるコンポーネントを示すブロック図である。このインタフェースを使用すると、ステートベースのダイアログを作成することができる。一実施形態では、このインタフェースは、フローチャート作成ツールを使用してダイアログを作成することを可能にする。このツールを使用すると、ダイアログステートだけでなく、そのダイアログステートに関連付けられたプロパティも作成することができる。例えば、ダイアログステート３０２に関して、タスク３２０、プロンプト３２２、文法３２４、および次のダイアログステート３２６を指定することができる。
【００４５】
タスク３２０には、ダイアログステート３０２に関して実行される１つまたは複数のプロセスが含まれる。プロンプト３２２には、通信ＡＰＩ２１２を介して送信することができるテキスト、オーディオデータ、および／またはビデオデータが含まれる。文法３２４を使用すると、作成者は、ダイアログステート３０２からのステート変化を駆動する自然言語入力を表現することができる。例えば、文法３２４は、コンテキストフリーな文法（context-free grammar）、ｎ−ｇｒａｍ、ハイブリッド、または他のものにすることができる。ダイアログステート３０２の後に続く次のダイアログステート３２６（このケースでは、ダイアログステート３０６および３０８）を指定することもできる。ダイアログステート３０６および３０８には、独自に指定されたタスク、プロンプト、文法、および次のダイアログステートを含めることができる。
【００４６】
図８は、ダイアログ実行モジュール２１４によって実行される方法３５０を示すフロー図である。ステップ３５２において、通信メッセージが受信される。次に、ステップ３５４において、受信したメッセージに基づいて、通信モードが判断される。例えば、通信モードは、電子メールメッセージ、インスタントメッセージ、または電話システム経由の接続とすることができる。ステップ３５６において、現在のダイアログの次のダイアログステートを判断するために、通信メッセージが解析される。このステップには、ダイアログ実行モジュール２１４が自然言語処理装置２１６にアクセスして、メッセージ内のセマンティック情報を識別することを含めることができる。このセマンティック情報は、次のダイアログステートを判断するために、文法と共に使用することができる。ステップ３５８において、ダイアログステートに関連付けられたタスクが実行される。次いで、ステップ３６０において、通信メッセージが、ダイアログステートおよび通信モードに基づいて送信される。例えば、メッセージには、ダイアログステートに関連付けられた１つまたは複数のプロンプトを含めることができる。ステップ３６２において、ダイアログが終了ステートにあるかどうかが判断される。ダイアログが終了ステートになければ、この方法３５０は、ステップ３５２に進み、さらなる通信メッセージを待つ。終了ステートに到達していた場合、この方法３５０は、ステップ３６４で終了する。
【００４７】
あるチャネルにまたがる通信モードに関係なくダイアログを作成するフレームワークは、以上のようにして実現することができる。ダイアログ実行モジュールは、ユーザと通信するために、種々の通信チャネルを介して通信することができる。ダイアログは、ダイアログ実行モジュールによってアクセスされ、その結果、ユーザが望んでいる通信モードに関係なく、ダイアログ実行モジュールがダイアログを開始して実施することができる。
【００４８】
構造的特徴および／または方法論的動作に固有の用語を用いて主題事項を説明したが、特許請求の範囲に定義される主題事項は、上述した固有の特徴または動作に必ずしも限定されるものではない。むしろ、上述した固有の特徴または動作は、特許請求の範囲を実現する例示的な形態として開示されたものである。
【図面の簡単な説明】
【００４９】
【図１】例示的なモバイルデバイスを示す正面図である。
【図２】図１のモバイルデバイスの機能コンポーネントを示すブロック図である。
【図３】例示的な電話を示す正面図である。
【図４】一般的なコンピューティング環境を示すブロック図である。
【図５】通信メッセージを処理するための通信アーキテクチャを示すブロック図である。
【図６】複数のダイアログステートを示す図である。
【図７】ユーザインタフェースにおけるコンポーネントを示すブロック図である。
【図８】通信メッセージを処理するための方法を示すフロー図である。
【図１】
2009512393.tif 000003
【図２】
2009512393.tif 000004
【図３】
2009512393.tif 000005
【図４】
2009512393.tif 000006
【図５】
2009512393.tif 000007
【図６】
2009512393.tif 000008
【図７】
2009512393.tif 000009
【図８】
2009512393.tif 000010
【国際調査報告】
2009512393.tif 000011
2009512393.tif 000012