JP2006252553A - セマンティクスドリブンダイアログとステートドリブンダイアログとを混在させる開発フレームワーク - Google Patents

セマンティクスドリブンダイアログとステートドリブンダイアログとを混在させる開発フレームワーク Download PDF

Info

Publication number
JP2006252553A
JP2006252553A JP2006063128A JP2006063128A JP2006252553A JP 2006252553 A JP2006252553 A JP 2006252553A JP 2006063128 A JP2006063128 A JP 2006063128A JP 2006063128 A JP2006063128 A JP 2006063128A JP 2006252553 A JP2006252553 A JP 2006252553A
Authority
JP
Japan
Prior art keywords
dialog
development
container
driven
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006063128A
Other languages
English (en)
Other versions
JP5052799B2 (ja
Inventor
Francisco M Galanes
エム.ガラネス フランシスコ
Renaud Julien Lecoeuche
ジュリアン ルコーシュ ルノー
Richard Henry Erving
ヘンリー アーヴィング リチャード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006252553A publication Critical patent/JP2006252553A/ja
Application granted granted Critical
Publication of JP5052799B2 publication Critical patent/JP5052799B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04GSCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
    • E04G17/00Connecting or other auxiliary members for forms, falsework structures, or shutterings
    • E04G17/16Members, e.g. consoles, for attachment to the wall to support girders, beams, or the like carrying forms or moulds for floors, lintels, or transoms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04GSCAFFOLDING; FORMS; SHUTTERING; BUILDING IMPLEMENTS OR AIDS, OR THEIR USE; HANDLING BUILDING MATERIALS ON THE SITE; REPAIRING, BREAKING-UP OR OTHER WORK ON EXISTING BUILDINGS
    • E04G13/00Falsework, forms, or shutterings for particular parts of buildings, e.g. stairs, steps, cornices, balconies foundations, sills
    • E04G13/04Falsework, forms, or shutterings for particular parts of buildings, e.g. stairs, steps, cornices, balconies foundations, sills for lintels, beams, or transoms to be encased separately; Special tying or clamping means therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Civil Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Structural Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Devices For Medical Bathing And Washing (AREA)
  • Food-Manufacturing Devices (AREA)

Abstract

【課題】セマンティクスドリブンダイアログとステートドリブンダイアログとを混在させるための改良された開発フレームワークを提供すること。
【解決手段】1つまたは複数のコンピュータ可読媒体上で実施されるアプリケーションプログラムインターフェースを提供する。このインターフェースは、アプリケーション内での第1のタイプのダイアログの開発を容易にするように構成された、第1のダイアログコンテナを含む。さらに、このインターフェースは、そのアプリケーション内での第2のタイプのダイアログの開発を容易にするように構成された、第2のダイアログコンテナを含む。
【選択図】図3

Description

本発明は、一般に、開発者が所与のアプリケーションの中に異種ダイアログを効率的に混在させることを可能にする開発フレームワークに関する。より詳細には、本発明は、セマンティクスドリブンダイアログとステートドリブンダイアログの両方を組み込んだアプリケーションの開発に関する。
音声ユーザインターフェース(VUI)によるユーザ対話をサポートするアプリケーションは、当該技術分野においてよく知られている。開発プロセス中には、これらのタイプのアプリケーションを、基本リソースへのアクセスを与える下位アプリケーションプログラムインターフェース(API)フレームワークの上に作成することが可能である。たとえば、電話アプリケーションは、電話インフラストラクチャ、音声認識リソース、音声合成リソースなどのリソース(ただし、これらだけに限定されるとは限らないリソース)のサポートを含む下位APIフレームワークの上に作成されることが知られている。
アプリケーション開発者から見ると、上述の下位APIリソースを直接扱うコードを作成する作業は、一般に、比較的退屈であり、労力のかかるものである。上位コンストラクトは、下位リソースに、より直観的なインターフェースを与えることが知られている。場合によっては、上位コンストラクトは、下位APIリソースへのインターフェースとして動作して、アプリケーションコード生成の簡略化を可能にするAPIフレームワークの形で、ダイアログオーサリングモデルを作成するためのベースとして利用されている。上位APIフレームワークに含まれるオブジェクトは、様々に異なる開発体験をサポートするように構成されている。
開発プロセスの成果は、様々に異なる可能な形式のうちの1つにおいてユーザとシステムとのダイアログを推進するアプリケーションを作成することである。いくつかのダイアログは、システムドリブン(システム主導)ダイアログであろう。このタイプのダイアログの一例では、電話アプリケーションと対話するユーザに対し、「マイサポートアプリケーションへようこそ。お持ちの製品の識別番号を入力してください」という音声ステートメントが提示される。このケースでは、一般に、要求されたタスクが完了されるまで(すなわち、有効な製品識別番号が入力されるまで)何もアクションが実行されない。システムは、特定の情報を(ときには特定の形式で)要求する。したがって、システムドリブンダイアログは、一般に、非常に強制的である。
いくつかのダイアログは、ユーザドリブン(ユーザ主導)ダイアログであろう。このタイプのダイアログの一例では、電話アプリケーションと対話するユーザに対し、「マイサポートアプリケーションへようこそ。何かお困りですか」という音声ステートメントが提示される。このタイプのステートメントへの応答では、ユーザは一般に、「マシンの調子が悪い」や「製品を返品したい」など、なんでも言うことが可能である。これに対し、システムは、ユーザの問い合わせの本質を識別し、それに応じた応答(たとえば、「受領書はお持ちですか」)を行うように構成されている。システムは、ユーザの問い合わせの中の重要情報を特定し、それに応じて応答する。
セマンティクスドリブンダイアログをサポートする開発フレームワークは、一般に、システムドリブンよりはユーザドリブンである。セマンティクスドリブンダイアログの部分を作成する場合、開発者は一般に、複数のフィールドのうちのどのフィールドに入力してもらいたいかを、システムユーザから適切な情報を取得することによって指定する。セマンティクスドリブン形式は、いくつかの点で、ユーザが特定のフィールドに入力するグラフィカルユーザインターフェース(GUI)アプリケーションの形式とよく似ている。あらかじめ決められたフィールドのパス(A→B→Cなど)を指定するのではなく、他のフィールドの個々のステート(状態)に応じて動作するために、特定のダイアログノードまたはエレメントを指定する。たとえば、フィールドCが空の場合には、ある特定のダイアログノードAをアクティブとするように指定する。依存が複数であることも可能である。たとえば、フィールドA、B、Cが空であって、フィールドEが入力および確認されていれば、ある特定のダイアログノードをアクティブとするように指定することが可能である。いくつかのフィールドを、その内容でよいかどうかをシステムユーザが確認することを必要とするように設定することが可能である。次にどの(1つまたは複数の)ダイアログノードをアクティブにするかについては、ユーザとマシンとのすべての対話の後に、セマンティクスドリブンダイアログフレームワークの中で決定する。
ステートドリブンダイアログをサポートする開発フレームワークは、一般に、ユーザドリブンよりはシステムドリブンである。ステートドリブンダイアログプロセス内での対話フローは、セマンティクスドリブンダイアログによる対話より多く、あらかじめ決められている。決定は、一般に、あるエレメントから次のエレメントへの、あらかじめ決められたパスに従う。たとえば、第1の特定のアイテムの情報を要求したとする。応答して、ユーザから情報を受け取る。受け取った情報が信頼できるかどうかを評価する。信頼できない場合は確認プロセスを実行する。信頼できる場合は、システムは、あらかじめ決められた第2のアイテムの情報を要求する。
ステートドリブンダイアログでは、一般に、システムによって現在要求されているより多くの情報を先回りして出す方法がない。システムは、次に何を行うかを、ステップごとにほとんど決定する。一般に、開発者は、ステートドリブンダイアログをフローチャートの形でグラフィカルに表現する。ステートドリブンダイアログは、セマンティクスドリブンダイアログと異なり、ユーザが入力した内容に応じてあちこちにジャンプすることがない。
下位APIリソースへのインターフェースを与えるものとして前述した上位APIフレームワークは、セマンティクスドリブンダイアログを主にサポートするように構成することが可能である。これにより、開発者は、非常に柔軟で自然なダイアログを作成することが可能である。そのような構成の弱点は、単純なシステムドリブンダイアログの作成が比較的難しい作業になることである。
代替として、上位APIを、ステートドリブンダイアログを主にサポートするように構成することが可能である。現在では、ダイアログステートを条件にリンクさせることが容易になっている(たとえば、ステートAを終了した後、どの条件が真かを評価し、そのパスに従って次のステートへ進むようなことが容易に可能である)。このタイプのダイアログの開発は、可視化およびオーサリングが容易である。しかしながら、得られるダイアログがアプリケーションユーザにとって自然でも柔軟でもないという弱点がある。
本発明の実施形態は、1つまたは複数のコンピュータ可読媒体において実施されるアプリケーションプログラムインターフェースに関する。このインターフェースは、アプリケーション内での第1のタイプのダイアログの開発を容易にするように構成された、第1のダイアログコンテナを含む。さらに、このインターフェースは、そのアプリケーション内での第2のタイプのダイアログの開発を容易にするように構成された、第2のダイアログコンテナを含む。
I.例示的環境
本発明の実施形態を詳細に説明するのに先立って、実施形態と関連のシステムとを実装することが可能な例示的コンピューティング環境について説明する。
図1は、本発明の実施形態と関連のシステムとを実装するのに好適なコンピューティング環境の例100を示す。コンピューティングシステム環境100は、好適なコンピューティング環境の一例に過ぎず、本発明の用途または機能性の範囲を何ら限定するものではない。コンピューティング環境100は、図示されたコンポーネントの任意の1つまたは組み合わせに関連する何らかの依存性または要件を有するものと解釈されてはならない。
本発明は、他の多くの、汎用または専用のコンピューティングシステム環境または構成で動作する。本発明での使用に好適であると考えられる、よく知られたコンピューティングシステム、環境、および/または構成の例として、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ機器、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、電話システム、これらのシステムまたは機器を任意に含む分散コンピューティング環境などがあるが、これらに限定されない。
本発明は、コンピュータによって実行される、コンピュータで実行可能な命令(プログラムモジュールなど)の一般的文脈の形で説明されることが可能である。一般に、プログラムモジュールには、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれ、これらは、特定のタスクを実行したり、特定の抽象データ型を実装したりする。本発明は、通信ネットワークを介してリンクされたリモート処理装置によってタスクが実行される分散コンピューティング環境において実施されるように設計される。分散コンピューティング環境では、プログラムモジュールは、ローカルとリモートの両方の、メモリストレージ装置を含むコンピュータストレージ媒体に配置される。以下では、プログラムおよびモジュールによって実行されるタスクについて、図面を参照しながら説明する。当業者であれば、それらの説明および図面を、任意の形式のコンピュータ可読媒体に書き込むことが可能な、プロセッサで実行可能な命令として実装することが可能であろう。
図1に示すように、本発明を実装する例示的システムは、コンピュータ110の形の汎用コンピューティング装置を含む。コンピュータ110のコンポーネントとして、処理ユニット120、システムメモリ130、およびシステムメモリを含む各種システムコンポーネントを処理ユニット120に接続するシステムバス121があるが、これらに限定されない。システムバス121は、メモリバスまたはメモリコントローラ、ペリフェラルバス、および様々なバスアーキテクチャを任意に使用するローカルバスを含む、様々なタイプのバス構造のどれであってもよい。限定ではなく例示として、そのようなアーキテクチャには、Industry Standard Architecture(ISA)バス、Micro Channel Architecture(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、Mezzanineバスとも呼ばれるPeripheral Component Interconnect(PCI)バスなどがある。
コンピュータ110は一般に、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によるアクセスが可能であって、揮発性および不揮発性媒体の両方、リムーバブルおよび非リムーバブル媒体の両方を含む、任意の市販媒体であってよい。限定ではなく例として、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を含むことが可能である。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、他のデータなどの情報を記憶する任意の方法またはテクノロジに実装される揮発性および不揮発性媒体の両方、リムーバブルおよび非リムーバブル媒体の両方を含む。コンピュータストレージ媒体としては、RAM、ROM、EEPROM、フラッシュメモリなどのメモリテクノロジ、CD−ROM、デジタル多用途ディスク(DVD)などの光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージなどの磁気ストレージ装置、または他の任意の、必要な情報を格納するために用いられることが可能であってコンピュータ110によるアクセスが可能である媒体があり、これらに限定されない。
通信媒体は、一般に、コンピュータ可読命令、データ構造体、プログラムモジュール、または他のデータを、搬送波のような変調データ信号または他の伝送メカニズムの形で実現し、任意の情報配信媒体を含む。「変調データ信号」という用語は、1つまたは複数の特性が、信号に情報を符号化するように設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などの有線媒体と、音響、RF、赤外線などの無線媒体とを含む。上述の媒体の任意の組み合わせも、コンピュータ可読媒体の範囲に含まれる。
システムメモリ130は、読み出し専用メモリ(ROM)131やランダムアクセスメモリ(RAM)132などの揮発性および/または不揮発性メモリの形のコンピュータストレージ媒体を含む。基本入出力システム133(BIOS)は、起動時などのコンピュータ110における要素間情報転送を支援する基本ルーチンを含み、一般にROM 131に格納される。RAM 132は、一般に、処理ユニット120からのアクセスがただちに可能であるか、かつ/または処理ユニット120によって現在操作中であるデータおよび/またはプログラムモジュールを格納する。限定ではなく例として、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示している。
コンピュータ110はさらに、他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータストレージ媒体を含むことも可能である。限定ではなく例として、図1は、非リムーバブル、不揮発性磁気媒体の読み出しおよび書き込みを行うハードディスクドライブ141、リムーバブル、不揮発性磁気ディスク152の読み出しおよび書き込みを行う磁気ディスクドライブ151、およびリムーバブル、不揮発性光ディスク156(CD−ROMや他の光媒体など)の読み出しおよび書き込みを行う光ディスクドライブ155を示している。例示的運用環境での使用が可能な他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータストレージ媒体として、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどがあり、これらに限定されない。ハードディスクドライブ141は一般に、インターフェース140のような非リムーバブルメモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は一般に、インターフェース150のようなリムーバブルメモリインターフェースによってシステムバス121に接続される。
前述の、図1に示したドライブおよび関連するコンピュータストレージ媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、および他のコンピュータ110用データの記憶領域を提供する。図1では、たとえば、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納するように示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じであっても異なっていてもよいことに注意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147は、ここでは、少なくとも異なるコピーであることを示すために、異なる参照符号が与えられている。
ユーザは、コマンドや情報をコンピュータ110に入力するために、キーボード162、マイク163、ポインティングデバイス161(マウス、トラックボール、タッチパッドなど)のような入力装置を用いることが可能である。他の入力装置(図示せず)として、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどがある。これらの入力装置や他の入力装置は、多くの場合、システムバスに接続されたユーザ入力インターフェース160を介して処理ユニット120に接続されるが、他のインターフェースやバス構造(パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)など)によって接続されることも可能である。モニタ191や他のタイプのディスプレイ装置も、ビデオインターフェース190のようなインターフェースを介してシステムバス121に接続される。コンピュータは、モニタ以外にも、スピーカ197やプリンタ196など、他のペリフェラル出力装置を含むことが可能であり、それらは出力ペリフェラルインターフェース195を介して接続されることが可能である。
コンピュータ110は、リモートコンピュータ180のような1つまたは複数のリモートコンピュータとの論理接続を用いて、ネットワーク環境で動作する。リモートコンピュータ180は、パーソナルコンピュータ、ハンドヘルド機器、サーバ、ルータ、ネットワークPC、ピア装置、他の一般的なネットワークノードなどであることが可能であり、一般に、コンピュータ110に関して前述された要素のほとんどまたはすべてを含む。図1に示した論理接続は、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173を含むが、他のネットワークを含むことも可能である。そのようなネットワーキング環境は、オフィス、企業規模コンピュータネットワーク、イントラネット、およびインターネットではごく普通である。
コンピュータ110は、LANネットワーキング環境で使用される場合には、ネットワークインターフェースまたはアダプタ170を介してLAN 171に接続される。コンピュータ110は、WANネットワーキング環境で使用される場合には、一般に、WAN 173(インターネットなど)での通信を確立するためにモデム172または他の手段を含む。モデム172は、内蔵でも外付けでもよく、ユーザ入力インターフェース160または他の適切なメカニズムを介してシステムバス121に接続されることが可能である。ネットワーク環境では、コンピュータ110に関して示されたプログラムモジュールまたはその一部は、リモートメモリストレージ装置に格納されることが可能である。限定ではなく例として、図1は、リモートアプリケーションプログラム185がリモートコンピュータ180に常駐している様子を示している。図示されたネットワーク接続は例示的であって、コンピュータ間の通信リンクを確立する他の手段も利用可能であることを理解されたい。
本発明は、図1に関連して説明したようなコンピュータシステムで実行可能であることに注意されたい。しかしながら、本発明は、サーバ、メッセージハンドリング専用コンピュータ、または本発明の様々な部分が分散コンピューティングシステムの様々な部分において実行される分散システムで実行可能である。
II.例示的システム環境
例示を目的とするために、本発明の実施形態を、電話アプリケーションの文脈で説明する。しかしながら、本発明の範囲は狭くはなく、実施形態は、あらゆる音声指向アプリケーションの文脈に適用可能である。
電話アプリケーションは、プレゼンテーション層と論理+データ層とを含む多層システムと見ることが可能である。プレゼンテーション層は、一般に、音声出力および音声入力を用いて最終ユーザと対話することを担当する。システムによっては、GUIのような補助出力手段や、デュアルトーンマルチ周波数(DTMF)入力メカニズムのような補助入力手段が組み込まれる。一般に、プレゼンテーション層は、音声ユーザインターフェース(Voice User Interface、VUI)を提供する。論理+データ層は、一般に、基本となるビジネスルールとデータのアクセスおよび記憶を担当する。論理+データ層は、論理+データ層へのインターフェースとしてAPI一式を用意していることが知られているが、さらに、VUIのオーサリングのための柔軟なAPIフレームワークが必要である。
図2は、システムアーキテクチャ200の上位特性を示す概略ブロック図である。アーキテクチャ200の最上位は、アプリケーション(ユーザコード)202を含む。これは、具体的には、ダイアログを実現するために開発者によって作成されるコードである。アーキテクチャ200の最下位は、コアAPIフレームワーク206を含む。このコアフレームワーク206は、具体的には、システムリソースへのアクセスを提供する。たとえば、コアフレームワークは、具体的には、電話API、シグナリングAPI、DTMF API、音声認識API、音声合成API、および/または他の任意のシステムリソースインターフェースを含む。
矢印208で示されるように、コード202は、コアフレームワーク206のコンポーネントに直接命令するように構成されることが可能である。この開発方法は、開発者から見て、比較的退屈であり、労力のかかるものである場合がある。そうした開発負担を緩和するために、ダイアログAPIフレームワーク204が、アプリケーション202とコアフレームワーク206との間に位置している。フレームワーク204は、フレームワーク206より上位のAPIアプローチを提供する。したがって、矢印210および212に示されるように、フレームワーク204を直接呼び出して、それに対応する、フレームワーク206のコンポーネントへの呼び出しが行われるようにするユーザコード202を作成することが可能である。このように、開発者は、より生産的な様式でダイアログを作成することが可能である。一実施形態によれば、開発者の生産性のさらなる向上を可能にするために、ダイアログAPIフレームワーク204の上にツール(図示せず)が構築される。このツールは、上位APIフレームワークに対する開発者のオーサリング能力を促進させ強化する。
したがって、アーキテクチャ200は、2つの層を有するVUI開発環境を提供する。1つの層は、様々な電話シナリオのオーサリングに十分な下位音声層であり、もう1つの層は、上位抽象を作成することによって開発者の生産性を向上させるように構成された上位ダイアログ層である。
III.ダイアログAPIフレームワーク
図2ではさらに、ダイアログAPIフレームワーク204が、任意の様々なタイプのダイアログをサポートするように構成されることが可能である。たとえば、フレームワーク204は、セマンティクスドリブンダイアログが主に組み込まれるアプリケーション202の作成を容易にするように構成されることが可能である。あるいは、フレームワーク204は、ステートドリブンダイアログが主に組み込まれるアプリケーション202の作成を容易にするように構成されることが可能である。しかしながら、上位開発インターフェースを提供しようとする、既知の数々の試みは、セマンティクスドリブンダイアログとステートドリブンダイアログの両方が組み込まれるアプリケーションの効率的な作成をサポートすることに、おおむね失敗している。本発明の一態様によれば、ダイアログAPIフレームワーク204(および任意選択で、1つまたは複数の関連開発ツール)は、セマンティクスドリブンダイアログとステートドリブンダイアログとが混在するアプリケーション202の効率的な開発を容易にするように構成される。セマンティクスドリブンダイアログとステートドリブンダイアログの開発を混在させるための同じスキームを使用し、本発明の範囲から逸脱することなく、ダイアログタイプの任意の組み合わせを混在させる開発を可能にすることができることに留意されたい。
図3は、本発明の一態様による、ダイアログAPIフレームワーク(たとえば、図2のフレームワーク204)の一部304の概略ブロック図である。ダイアログタイプが混在するオーサリングシステムをサポートする場合、図示されたフレームワーク304は、セマンティクスドリブンダイアログコンテナ306とステートドリブンダイアログコンテナ308とを含む。各タイプのコンテナが1つずつある場合を図示しているが、具体的な開発スキームに応じて、いずれかが複数であってもよい。複数あるダイアログコンテナおよびそれらの内容の間の機能的関係については、説明が進むにつれて明らかになるであろう。
ダイアログコンテナ306および308は、それぞれ、複数のダイアログエレメント310を含む。図示したダイアログエレメントのすべてを指すのに同じ参照符号を用いているが、ダイアログエレメントの性質は1つ1つ異なることが可能であることを理解されたい。一実施形態によれば、各ダイアログコンテナは、それに収容されているダイアログエレメントの起動を制御するように構成される。コンテナ306は、セマンティクスドリブンダイアログを収容および実現するように構成され、コンテナ308は、ステートドリブンダイアログを収容および実現するように構成される。
一実施形態によれば、すべてのダイアログコンテナが、ダイアログエレメントの役割も受け入れるように構成される。たとえば、ダイアログコンテナは、具体的には、別のダイアログコンテナの中でダイアログエレメントとして動作することが可能である。言い換えると、ダイアログコンテナは、ダイアログコンテナを実質的に収容することが可能である。そのような仕組みは、開発に柔軟性を与える。本発明の一態様によれば、説明されているフレームワークは、開発者の選択に応じて、セマンティクスドリブン、ステートドリブン、または両者の混在となるようにアプリケーション全体が設計されることを可能にする。一般に、ダイアログエレメントをどのように編成および接続するかは開発者の自由裁量であり、その結果として、ダイアログコンテナは、使用可能なダイアログエレメントの1つの特定の組み合わせとなる。後述するように、開発者は、広い範囲のダイアログエレメントを、特化されたAPIの形で利用することが可能であり、それらに対応する様々な範囲の特化機能が得られる。
本発明の一態様によれば、上位APIのレベルには(すなわち、図2のフレームワーク204のレベルには)、個々のダイアログエレメント、セマンティクスドリブンダイアログ、およびすべてのタイプのダイアログをサポートするインフラストラクチャのサポートが存在する。一実施形態では、このAPIレベルはさらに、ステートドリブンダイアログのサポートを含む。しかしながら、別の実施形態では、ステートドリブンダイアログの明示的なサポートは、開発を容易にするために、APIフレームワークの上に構築されるツールコンポーネントに組み込まれる。ツールとAPIとの境界を操作して任意の様々に異なる個々の実装を可能にすることが本発明の範囲内であることに注意されたい。そのような構成はすべて、本発明の範囲内である。
説明されている開発フレームワークに関連する別の利点は、ダイアログエレメントが一般に、セマンティクスドリブンダイアログコンテナ内またはステートドリブンダイアログコンテナ内で動作するか、独立に動作するように設計されることである。様々なタイプのダイアログエレメントの詳細説明に先立って、セマンティクスドリブンダイアログとステートドリブンダイアログとを混在させるアプリケーションの開発の様子を例として紹介する。
形式が混在するダイアログの開発の一例では、開発者はまず白紙のキャンバスを用意し、そこに、順に実行される連続したダイアログコンポーネント群を表す3つのノードを加える。開発者は、第1のノードにドリルダウンし、「ようこそ」などのステートメントを挿入する。ステートメントは、セマンティクスドリブンダイアログの複雑な機能を必要としない単純なダイアログコンポーネントである。第1のノードの1つのオプションは、ステートドリブンコンテナを作成し、その中にステートメントエレメントを配置することである。一実施形態では、開発プラットフォームは、どのタイプのコンテナも作成せずにステートメントの確定を可能にするように構成される。
第2のノードは、具体的には、ユーザ情報を収集するプロセスを容易にするものとする。開発者には、収集する情報の性質に応じて様々な選択肢がある。開発者は、ステートドリブン情報収集プロセス(たとえば、「お持ちの製品のID番号をお知らせください」・・・「このアイテムの購入年月日をお知らせください」・・・など)を推進するエレメントを有するステートドリブンコンテナを作成することが可能である。あるいは、開発者は、セマンティクスドリブン情報収集プロセス(たとえば、「どちらさまでしょうか」・・・「すみません、名字をお知らせください」・・・「かしこまりました。ご用件を承ります」・・・など)を推進するエレメントを有するセマンティクスドリブンコンテナを作成することが可能である。
設計者には、第3のノード(具体的には、実行される機能をユーザが選択することを可能にするノード)をどのように設計するかについて、同様の選択肢がある。たとえば、選択するオプションのメニューのようなステートドリブンシナリオをユーザに提示することが可能である。あるいは、ユーザが自分の選択を声で伝え、システムがそれに応答するというセマンティクスドリブンの方法を用いて意志決定をさせることが可能である。
本発明の一態様によれば、ダイアログAPIフレームワークは、アプリケーション開発者が利用できるように用意されたダイアログエレメントの形で複数のAPIオブジェクトを含む。前述のように、ダイアログコンテナは、一種のダイアログエレメントであり、特定タイプのダイアログの開発および実行を容易にするように構成される。
別の実施形態によれば、フレームワーク内で与えられる新たなタイプのダイアログエレメントとして、Statementエレメントがある。Statementエレメントは、具体的には、開発者によって任意のタイプのコンテナに配置されることや、コンテナの外で機能することが可能である。Statementエレメントは、ユーザからの返答を期待しないステートメントが行われることを可能にする。例として、「ようこそ」プロンプトや、「終了します」プロンプトや、「エラーが発生しました」プロンプトなどがある。
別の実施形態によれば、フレームワーク内で与えられる新たなタイプのダイアログエレメントとして、QuestionAnswerエレメントがある。QuestionAnswerエレメントは、具体的には、いずれのタイプのコンテナからでも動作可能である。QuestionAnswerエレメントの一般的な機能は、ユーザからの応答を取得しようとすることである。一実施形態では、このエレメントは、やりとりが失敗した場合に再度尋ねるように構成される(たとえば、「すみません。よく聞き取れませんでした。もう一度お願いできますか」)。別の実施形態では、QuestionAnswerエレメントは、誤認識を扱うように装備される(たとえば、「すみません。うまく認識できませんでした。もう一度お願いできますか」)。このエレメントは、誤認識が発生した場合にユーザに対して何らかの誘導を行うように構成されることが可能である(たとえば、「すみません。1〜10の範囲の数をお願いします」)。
一実施形態では、QuestionAnswerエレメントは、音声認識に続く後処理が容易になるように構成される。たとえば、QuestionAnswerエレメントは、セマンティクスドリブンコンテキストにおいて(たとえば、セマンティクスドリブンコンテナの中から)用いられた場合には、ユーザ応答から重要部分を抽出して、必要に応じてフィールドを埋める処理を推進する。一実施形態では、QuestionAnswerエレメントの後処理機能は、エレメントがセマンティクスドリブンコンテキストにおいて用いられている場合にはオプションではない。これに対し、ステートドリブンコンテキストにおいては、後処理はオプションであってもよい。
一実施形態では、後処理機能をサポートするために、QuestionAnswerエレメント内でプロパティが設定されることが可能である(たとえば、フィールドA、B、Cが埋められた場合には、X後処理が行われる、など)。QuestionAnswerエレメントをセマンティクスドリブンダイアログコンテキストに埋め込むためには、後処理機能を支援するいくつかのプロパティ値を入力しなければならない。一実施形態では、ステートドリブンダイアログコンテキストにQuestionAnswerエレメントが埋め込まれていると、開発者が選択すれば後処理が利用可能になるが、これは必須ではない。
たとえば、ユーザが「終了」と言うとシステムが「本当に停止しますか」と応答するシナリオがあるとする。ユーザが「はい」または「いいえ」と応答した後、その応答を後で何かに利用するために保存しておくことは、おそらく必要ではない。したがって、対応するプロパティを設定し、その状況下で対応する後処理ステップを指定することは、一般に不要である。その代わりに、開発者は、ステートドリブンコンテキスト内にQuestionAnswerエレメントを埋め込み、認識完了後にユーザ入力を取り込んでそれに応答するようにそのエレメントを構成することが可能である。そのようなステートドリブン対話を推進することは、QuestionAnswerエレメントの機能のうちである。ただし、ステートドリブンダイアログコンテキスト内であっても、後続のダイアログに利用するために入力を取り込むことは有用である場合がある。一実施形態では、そのような場合に、後処理を利用してフィールドを直接埋めるようにシステムが構成される。
一実施形態によれば、QuestionAnswerエレメントは、起動時にMainPropmptを再生し、音声および/またはDTMFをリスンし、複数の音声またはDTMF文法をサポートし、プロンプト再生中にリスンし(またはリスンせず)、プロンプトの一部が再生された後にリスンを開始して標準DialogElement(後述)のように動作し、有効な認識結果が検出されるまでプロンプトを出し続け、HelpコマンドおよびRepeatコマンドを処理するようにプロンプトを適合させ、無言または無認識を処理するようにプロンプトを適合させ、FormFillingDialogをサポートし、結果をSemanticItemsにバインドするメカニズムをエクスポーズし、SemanticItemの認識を自動化し、かつ/または、セマンティックバインディングを調べてFormFillingDialogの起動を決定するように構成される。
別の実施形態によれば、フレームワーク内で与えられる新たなタイプのダイアログエレメントとして、SemanticItemエレメントがある。SemanticItemエレメントは、一般にセマンティクスドリブンコンテキストにおいてフォームフィールドをサポートするクラスを提供する。これらのフォームフィールドは、セマンティクスドリブンダイアログプロセス中に埋められるフィールドである。
別の実施形態によれば、フレームワーク内で与えられる新たなタイプのダイアログエレメントとして、FormFillingDialogエレメントがある。FormFillingDialogエレメントは、セマンティクスドリブンダイアログを駆動し、フィールドを埋める関連プロセスをサポートするコンテナである。
別の実施形態によれば、フレームワーク内で与えられる新たなタイプのダイアログエレメントとして、RecordSoundエレメントがある。RecordSoundエレメントは、具体的には、いずれのタイプのコンテナからでも動作可能であり、独立でも動作可能である。RecordSoundエレメントの一般的機能は、(たとえば、認識機能を何ら実行することなく)ユーザから録音を取得することである。そのようなエレメントは、ボイスメールや他の同様な用途の文脈において有用である。
別の実施形態によれば、フレームワーク内で与えられる新たなタイプのダイアログエレメントとして、Commandエレメントがある。Commandエレメントは、具体的には、いずれのタイプのコンテナからでも動作可能であり、独立でも動作可能である。Commandエレメントの一般的機能は、アプリケーションのメインフローとはおおむね無関係であるユーザ入力の取り込みをサポートすることである。たとえば、Commandエレメントは、ユーザがメインダイアログから抜け出る方法として「オペレータ」などのコマンドを言うことを可能にするように実装されることが可能である。一実施形態では、コマンドは、キーを押す(たとえば、「0」キーを押す)ことのように口頭でないことが可能である。一実施形態では、Commandエレメントは、あらゆる場合に適用されるように(たとえば、「オペレータ」がダイアログ中の任意のタイミングで認識されるとエクステンション0が転送されるように)、ダイアログアプリケーションの最上位に作成される。別の実施形態では、Commandエレメントは、コンテキストにおいてアクティブであるか、範囲ごとにアクティブであるように作成されることが可能である。エレメントは、具体的には、全範囲でアクティブであるか、条件付きの範囲でアクティブ(たとえば、特定のコンテナにおいてのみアクティブ)であることが可能である。したがって、範囲は、具体的には、特定のダイアログエレメントほどに小さいことも、全アプリケーションほどに大きいことも可能である。したがって、Commandエレメントは一般に、ダイアログフローによってではなく、範囲またはダイアログ領域によって起動される。
別の実施形態によれば、フレームワーク内で与えられる新たなタイプのダイアログエレメントとして、Applicationエレメントがある。Applicationエレメントは、特定のダイアログアプリケーションの最上位コンテキストとして動作する。これは一般に、最上位コンテナのインスタンスを生成する。Applicationエレメントの一般的機能は、全般的に対話のための、ならびに、フレームワーク内でエレメント間に発生する下位対話のためのガイドラインを確立することである。Applicationエレメントの役割は非常に多岐にわたるが、それらには、自動電話応答、呼の拒否、呼の終了、呼の進行状況の追跡、特定のインバウンド呼およびアウトバウンド呼機能の専用サポート、および接続エラーの処理を含む、電話アプリケーションの様々な態様をサポートする基本ステップの実装が含まれることが可能である。
フレームワーク内には、他のダイアログ機能の実装を支援する追加ヘルパーオブジェクトがあることを理解されたい。ほとんどのエレメントは、いずれのタイプのコンテナからでも動作可能であり、独立でも動作可能である。無言、誤認識、認識不能応答(たとえば、認識不能な言語での応答)、正しくない応答などのような例外を処理するために、様々なエレメントが構成されている。そのようなエレメントは、個々の例外の性質に応じてどのようなダイアログが実行されるべきかを確定するために用いられる。
一実施形態では、システムは、対応するテキストがあらかじめ決定されている限り、プロンプト選択を自動的にサポートする(すなわち、PromptSelectionエレメントを利用する)ように構成される。HistoryItemエレメントなどのエレメントは、実行時に何が起きているかを調べるために利用される。同様に、Loggingエレメントは、実行時に何が起きているかを追跡することを支援する(たとえば、APIは、確立されたロギング構造体にデータを与える)。Historyltemエレメントを用いると、ユーザが消えた場合(たとえば、質問を4回実行しても応答が無く無言であるか、認識不能な応答があった場合)のような異常な状況への適切な応答として、Bail−Outエレメントの実施を推進することが可能である。
本発明のユニークな一態様によれば、ダイアログAPIアプローチがコンテナレベルで実装される。説明されている子エレメントまたは他の子エレメントは、コンテナが機能を子エレメントにまかせることが可能であるように、ダイアログコンテナ内に埋め込まれたロジックをサポートする。ここまで述べてきたように、ダイアログコンテナ内のダイアログエレメントは、実質的に別のダイアログコンテナになることも可能である。所与のコンテナの内容にかかわらず、ダイアログコンテナ内のダイアログエレメントは、セマンティクスドリブンダイアログまたはステートドリブンダイアログなどであるがこれらに限定されない特定のダイアログタイプをサポートするように構成される。
コンテナには、そのダイアログエレメントを適正な順序で起動するために必要な情報が供給される。この順序は、少なくとも部分的には、セマンティクスドリブンダイアログ、ステートドリブンダイアログなどのあらかじめ決められたストラテジを適用するように構成されているか、別のストラテジを適用するように構成されているかの観点で、特定のコンテナの性質によって決定される。本発明の一実施形態では、任意のダイアログストラテジをその子ダイアログエレメントに実装するために新しいダイアログコンテナを作成することが可能である。
一実施形態によれば、説明されているダイアログAPIフレームワークは、あるレベルのコーディングの自動化をサポートするツールの作成をサポートするように構成されている。APIとツールのペアは、具体的には、(特に、下位リソースに対して直接コーディングを行う場合と比較して)開発者の生産性を強化する。
本発明の一態様によれば、説明されているダイアログAPIフレームワークに従って開発されたダイアログアプリケーションは、一番上のノードがアプリケーション自体であるツリーとして見ることが可能である。アプリケーションは、一式のコンポーネントの上に構築され、それらのコンポーネント間のフローを管理する。それらのコンポーネントは、また、他のコンポーネントの上に構築されることが可能である。ツリーのリーフノードには、最小の、最も基本的なダイアログコンポーネントがある。説明されている構造は、サブダイアログの再利用と、あらかじめパッケージされたアプリケーションおよびコンポーネントの作成とを効率的にサポートする。
各コンポーネントは、その子コンポーネント間の「フロー」を管理する。フローの性質は、(セマンティクスドリブンダイアログまたはゴールドリブンダイアログにおける場合のように)比較的動的であるか、比較的手続き的である。どの場合でも、コンポーネントを起動することは、具体的には、コンポーネントに「ジョブの実行」を試行させ、ジョブが完了したか、何らかのエラーが発生した場合に呼び出し側(親)に報告させることを含む。そのとき、他の子を有するコンポーネントが、起動直後に、第1の子が起動されるのを認識し、それが完了するまで待機したり、次にどの子を動作させるかを決定したりする。
「フロー」では完全には作成できないダイアログシナリオがある場合があるが、そのようなシナリオではコンテキスト変更を直接要求する。そのような対話は、フローの割り込みとアプリケーション内の別のタスクへのジャンプであると見なすのがよいであろう。一実施形態では、それらの割り込みは、ユーザが特定のコマンドを口頭で伝えることによってトリガされる。そのコマンドが認識されると、コンテキストの変更が行われ、新しいタスクが実行される。
これまで述べてきたように、ダイアログAPIフレームワークは、具体的には、2つの主要タイプのオブジェクト、すなわち、DialogElementおよびDialogContainerをサポートする。主要アプリケーションは、具体的にはDialogContainerであり、派生によって新しいDialogContainerが定義され、新しいコンテナごとに新しいクラスが定義される。これらのコンテナのインスタンスが実行時に作成され、実行される。このモデル内のサブダイアログは、(サブルーチン呼び出しではなく)コンポーネントの再利用と見なすことが可能である。
一実施形態では、DialogContainerは、技術的には他のDialogContainerを直接は含まないが、他のダイアログコンテナを「呼び出す」。これは、具体的には、DialogReferenceプリミティブまたはエレメントを用いることによって達成される。DialogReferenceは、具体的には、任意のDialogContainerを参照できるプロパティをエクスポーズするので、実行時にインスタンスを作成されることが可能である。参照されたDialogContainerは、その実行を完了すると、具体的には、それのインスタンスを作成したDialogReferenceに通知する。親DialogContainerは、その後、フローを通常どおりに再開することが可能である。
一実施形態では、DialogElementは、実行を開始するメソッドをエクスポーズし、実行を中止/キャンセルするメソッドをエクスポーズし、非同期に実行し、それ以上動作しなくなった場合はアプリケーションに通知し、動作しない理由(完了された、キャンセルされた、エラーになった、など)をアプリケーションに通知し、それらが起動された時点でアプリケーションに通知し、Applicationオブジェクトへのアクセス(および、それゆえに関連のシグナリングAPIおよび統一されたAPIへのアクセス)を有するように構成される。DialogElementsは、具体的には構成可能であって、構成された場合にその親へのアクセスを有する。
本発明の一態様によれば、説明されたダイアログAPIフレームワークの機能性をエクスポーズするために、任意のオーサリング環境を提供することが可能である。そのようなオーサリング環境は、APIのみ、API+ツール、ツールのみ、または他の任意の、本発明の範囲から逸脱しない実装であることが可能である。
特定の実施形態を参照しながら本発明について説明してきたが、当業者であれば、本発明の趣旨および範囲から逸脱することなく、形態および細部に変更を施すことが可能であることを理解されよう。
本発明を実施することが可能な一例示的環境のブロック図である。 システムアーキテクチャの上位特性を示す概略ブロック図である。 APIフレームワークの一部の概略ブロック図である。

Claims (20)

  1. 1つまたは複数のコンピュータ可読媒体上で実行されるアプリケーションプログラムインターフェースであって、
    アプリケーション内での第1のタイプのダイアログの開発を容易にするように構成された、第1のダイアログコンテナと、
    前記アプリケーション内での第2のタイプのダイアログの開発を容易にするように構成された、第2のダイアログコンテナと
    を備えることを特徴とするアプリケーションプログラムインターフェース。
  2. 前記第1および第2のダイアログコンテナ内のどちらからでも動作するように構成された少なくとも1つのダイアログエレメントをさらに備えることを特徴とする請求項1に記載のアプリケーションプログラムインターフェース。
  3. 前記第1のタイプのダイアログは、セマンティクスドリブンダイアログであるかステートドリブンダイアログであることを特徴とする請求項1に記載のアプリケーションプログラムインターフェース。
  4. 下位システムリソースへのインターフェースとして動作するコアAPIフレームワークをさらに備えることを特徴とする請求項1に記載のアプリケーションプログラムインターフェース。
  5. 自身と対話するための開発フレームワークを提供するツールをさらに備えることを特徴とする請求項1に記載のアプリケーションプログラムインターフェース。
  6. 前記第1および第2のダイアログコンテナには、前記コンテナに収容されるダイアログエレメントの起動をサポートする情報が供給されることを特徴とする請求項1に記載のアプリケーションプログラムインターフェース。
  7. 開発者がアプリケーション内に異なるタイプのダイアログを混在させることを可能にする、コンピュータに実装される方法であって、
    前記アプリケーション内で第1のタイプのダイアログの開発を容易にするように構成された第1の開発リソースを提供すること、および
    前記アプリケーション内で第2のタイプのダイアログの開発を容易にするように構成された第2の開発リソースを提供する
    ことを含むことを特徴とする方法。
  8. 前記第1および第2の開発リソースのどちらとも関連して動作するように構成された少なくとも1つの開発リソースを提供することをさらに含むことを特徴とする請求項7に記載の方法。
  9. 第1の開発リソースを提供することは、セマンティクスドリブンダイアログの開発を容易にするように構成された第1のダイアログコンテナを提供することを含むことを特徴とする請求項7に記載の方法。
  10. 第2の開発リソースを提供することは、ステートドリブンダイアログの開発を容易にするように構成された第2のダイアログコンテナを提供することを含むことを特徴とする請求項9に記載の方法。
  11. 前記第1または第2のダイアログコンテナ内のどちらからでも動作するように構成された少なくとも1つのダイアログエレメントを提供することをさらに含むことを特徴とする請求項10に記載の方法。
  12. 前記第1のダイアログコンテナのインスタンスが前記第2のダイアログコンテナのインスタンス内から動作可能であるか、前記第2のダイアログコンテナのインスタンスが前記第1のダイアログコンテナのインスタンス内から動作可能であるように、前記第1および第2の開発リソースを構成することをさらに含むことを特徴とする請求項10に記載の方法。
  13. 前記ダイアログエレメントは、Statementエレメント、QuestionAnswerエレメント、SemanticItemエレメント、FormFillingDialogエレメント、RecordSoundエレメント、Commandエレメント、およびApplicationエレメントからなる群から選択されるエレメントを含むことを特徴とする請求項12に記載の方法。
  14. 前記群から選択される少なくとも1つのエレメントは、前記第1および第2の開発リソース内のどちらからでも動作可能であることを特徴とする請求項13に記載の方法。
  15. 下位システムリソースへのインターフェースとして動作するコアAPIフレームワークへのアクセスを前記第1および第2の開発リソースに提供することをさらに含むことを特徴とする請求項7に記載の方法。
  16. 開発者がアプリケーション内に異なるタイプのダイアログを混在させることを可能にするダイアログシステムであって、複数のダイアログエレメントを収容するダイアログコンテナを含み、前記ダイアログコンテナが、ダイアログストラテジに従って前記複数のダイアログエレメントの処理を容易にするように構成されることを特徴とするダイアログシステム。
  17. 前記第1のダイアログコンテナに収容された第2のダイアログコンテナをさらに含み、前記第2のダイアログコンテナは第2の複数のダイアログエレメントを収容し、第2のダイアログストラテジに従って前記第2の複数のダイアログエレメントの処理を容易にするように構成され、前記第2のダイアログストラテジは前記第1のダイアログストラテジと異なることを特徴とする請求項16に記載のダイアログシステム。
  18. 前記第1および第2のダイアログストラテジのうちの一方がセマンティクスドリブンダイアログであり、もう一方がステートドリブンダイアログであることを特徴とする請求項17に記載のダイアログシステム。
  19. 前記ダイアログストラテジはカスタム定義ストラテジであることを特徴とする請求項16に記載のダイアログシステム。
  20. 前記ダイアログストラテジの少なくとも一部は前記開発者によって構成されることを特徴とする請求項16に記載のダイアログシステム。
JP2006063128A 2005-03-08 2006-03-08 セマンティクスドリブンダイアログとステートドリブンダイアログとを混在させる開発フレームワーク Expired - Fee Related JP5052799B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/074,890 US7805704B2 (en) 2005-03-08 2005-03-08 Development framework for mixing semantics-driven and state-driven dialog
US11/074,890 2005-03-08

Publications (2)

Publication Number Publication Date
JP2006252553A true JP2006252553A (ja) 2006-09-21
JP5052799B2 JP5052799B2 (ja) 2012-10-17

Family

ID=36602697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006063128A Expired - Fee Related JP5052799B2 (ja) 2005-03-08 2006-03-08 セマンティクスドリブンダイアログとステートドリブンダイアログとを混在させる開発フレームワーク

Country Status (13)

Country Link
US (1) US7805704B2 (ja)
EP (1) EP1701256A3 (ja)
JP (1) JP5052799B2 (ja)
KR (1) KR101442825B1 (ja)
CN (1) CN1831762A (ja)
AU (1) AU2006200674A1 (ja)
BR (1) BRPI0600340A (ja)
CA (1) CA2535496C (ja)
MX (1) MXPA06001520A (ja)
MY (1) MY149670A (ja)
RU (1) RU2419843C2 (ja)
TW (1) TW200632706A (ja)
ZA (1) ZA200601008B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229753B2 (en) * 2001-10-21 2012-07-24 Microsoft Corporation Web server controls for web enabled recognition and/or audible prompting
US7711570B2 (en) * 2001-10-21 2010-05-04 Microsoft Corporation Application abstraction with dialog purpose
US8160883B2 (en) 2004-01-10 2012-04-17 Microsoft Corporation Focus tracking in dialogs
US7805704B2 (en) 2005-03-08 2010-09-28 Microsoft Corporation Development framework for mixing semantics-driven and state-driven dialog
US8421805B2 (en) * 2006-02-09 2013-04-16 Dialogic Corporation Smooth morphing between personal video calling avatars
US10417346B2 (en) 2016-01-23 2019-09-17 Microsoft Technology Licensing, Llc Tool for facilitating the development of new language understanding scenarios
CN109857910B (zh) * 2019-01-07 2024-03-26 平安科技(深圳)有限公司 Xml文件的生成方法、装置、计算机设备及存储介质
CN110288993A (zh) * 2019-06-26 2019-09-27 广州探迹科技有限公司 一种基于容器技术的个性化智能语音交互方法及装置
US11200033B2 (en) * 2020-01-13 2021-12-14 Fujitsu Limited Application programming interface (API) based object oriented software development and textual analysis
CN111353029B (zh) * 2020-02-22 2020-09-22 杭州电子科技大学 一种基于语义匹配的多轮对话口语理解方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005676A (ja) * 2002-05-28 2004-01-08 Internatl Business Mach Corp <Ibm> 双方主導マルチ・モーダル対話及び関連ブラウジング機構を作成するための方法及びシステム
JP2004310628A (ja) * 2003-04-10 2004-11-04 Nippon Telegr & Teleph Corp <Ntt> 対話シナリオ生成方法、対話シナリオ生成装置、対話シナリオ生成用プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224179A (ja) * 1998-02-05 1999-08-17 Fujitsu Ltd 対話インタフェース・システム
JP4686905B2 (ja) 2000-07-21 2011-05-25 パナソニック株式会社 対話制御方法及びその装置
US7039166B1 (en) * 2001-03-05 2006-05-02 Verizon Corporate Services Group Inc. Apparatus and method for visually representing behavior of a user of an automated response system
US7729919B2 (en) * 2003-07-03 2010-06-01 Microsoft Corporation Combining use of a stepwise markup language and an object oriented development tool
US20050010892A1 (en) * 2003-07-11 2005-01-13 Vocollect, Inc. Method and system for integrating multi-modal data capture device inputs with multi-modal output capabilities
US7805704B2 (en) 2005-03-08 2010-09-28 Microsoft Corporation Development framework for mixing semantics-driven and state-driven dialog

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005676A (ja) * 2002-05-28 2004-01-08 Internatl Business Mach Corp <Ibm> 双方主導マルチ・モーダル対話及び関連ブラウジング機構を作成するための方法及びシステム
JP2004310628A (ja) * 2003-04-10 2004-11-04 Nippon Telegr & Teleph Corp <Ntt> 対話シナリオ生成方法、対話シナリオ生成装置、対話シナリオ生成用プログラム

Also Published As

Publication number Publication date
ZA200601008B (en) 2008-04-30
KR20060099391A (ko) 2006-09-19
US20060206826A1 (en) 2006-09-14
CN1831762A (zh) 2006-09-13
RU2006103562A (ru) 2007-08-20
JP5052799B2 (ja) 2012-10-17
CA2535496A1 (en) 2006-09-08
KR101442825B1 (ko) 2014-09-19
MXPA06001520A (es) 2007-04-26
BRPI0600340A (pt) 2006-10-31
CA2535496C (en) 2013-08-06
EP1701256A2 (en) 2006-09-13
TW200632706A (en) 2006-09-16
AU2006200674A1 (en) 2006-09-28
EP1701256A3 (en) 2008-01-02
MY149670A (en) 2013-09-30
RU2419843C2 (ru) 2011-05-27
US7805704B2 (en) 2010-09-28

Similar Documents

Publication Publication Date Title
JP5052799B2 (ja) セマンティクスドリブンダイアログとステートドリブンダイアログとを混在させる開発フレームワーク
US7389213B2 (en) Dialogue flow interpreter development tool
CN100397340C (zh) 以对话为目的的应用抽象
US8024196B1 (en) Techniques for creating and translating voice applications
JP4950447B2 (ja) ワークフロースケジュールのオーサリングツール
EP1920321B1 (en) Selective confirmation for execution of a voice activated user interface
EP2156435B1 (en) Speech recognition macro runtime
CN102263863B (zh) 交互式语音响应设计的过程集成的树视图控制
JP2010191977A (ja) Guiを有するコンピュータシステムでタスクを実行する方法
JP5089213B2 (ja) グラフィカル・インターフェースを音声使用可能インターフェースに変換するための部分的に自動化された方法およびシステム
JP2003131772A (ja) Webで使用可能な認識のためのマークアップ言語拡張部
CN1973256A (zh) 自动文本生成
JP2008506183A (ja) 自動的に生成されたコンテンツのインポート
JP2007122747A (ja) ダイアログフローインタプリタ
CN101589427A (zh) 语音应用程序装备和记入
US20070156406A1 (en) Voice user interface authoring tool
JP4467226B2 (ja) ウェブ対応音声認識用サーバの方法および記録媒体
CN102246227A (zh) 用于从数据元模型生成有声用户接口编码的方法和系统
CN117289841A (zh) 基于大语言模型的交互方法和装置、存储介质和电子设备
CN101238433A (zh) 对话音激活用户界面执行的选择确认
US20070180365A1 (en) Automated process and system for converting a flowchart into a speech mark-up language
US20080313606A1 (en) Xsl dialog modules
CN114943068A (zh) 基于一站式开发构建平台的多人协同开发方法及相关设备
JP2003263315A (ja) プログラム自動生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120618

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120720

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120725

R150 Certificate of patent or registration of utility model

Ref document number: 5052799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees