JP2003216574A - ダイアログを目的とするアプリケーション抽象化のための記録媒体及び方法 - Google Patents
ダイアログを目的とするアプリケーション抽象化のための記録媒体及び方法Info
- Publication number
- JP2003216574A JP2003216574A JP2002306353A JP2002306353A JP2003216574A JP 2003216574 A JP2003216574 A JP 2003216574A JP 2002306353 A JP2002306353 A JP 2002306353A JP 2002306353 A JP2002306353 A JP 2002306353A JP 2003216574 A JP2003216574 A JP 2003216574A
- Authority
- JP
- Japan
- Prior art keywords
- control
- controls
- computer
- recognition
- question
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
ト機能を備えるクライアントサイドマークアップを生成
するためのコントロールを提供する。 【解決手段】 これらのコントロールは、質問、応答、
確認、コマンド、またはステートメントなどのダイアロ
グの要素を備える。コントロール内で伝達される情報を
利用して、モジュールによりダイアログを形成する。
Description
プリケーションを実行するようにコンピュータをエンコ
ードする(encoding)機能に関するものである。より具体
的には、本発明は、認識および/または可聴プロンプト
機能(audible prompting)に対応するクライアントサイ
ドマークアップ(client side markup)を生成するサーバ
などの認識および/または可聴プロンプト機能を実行す
るアプリケーションを定義するためのコントロールに関
するものである。
A)、デバイス、および携帯電話などの小型コンピューテ
ィングデバイスは、人々の毎日の活動でますます頻繁に
使用されるようになってきている。これらのデバイスを
実行するために使用されるマイクロプロセッサの処理能
力が向上したことにより、これらのデバイスの機能も高
まり、統合されるケースも出てきた。たとえば、多くの
携帯電話は、インターネットへのアクセスおよびブラウ
ズに使用できるだけでなく、住所、電話番号などの個人
情報を記憶するのにも使用することができる。
ンターネットのブラウズに使用されたり、他のサーバ/
クライアントアーキテクチャで使用されていたりするこ
とを考えると、情報をコンピューティングデバイスに入
力するという作業が必要である。残念なことに、携帯し
やすさの面からこれらのデバイスをできる限り小型にす
ることが望まれているため、すべてのアルファベット文
字を別々のボタンに割り当てた従来のキーボードは、コ
ンピューティングデバイスの筐体上の有効面積が限られ
ているせいで、通常、使用することができない。
ネットなどのワイドエリアネットワーク上での情報アク
セスに音声を利用する技術に対する関心が高まり、その
ような技術が採用されることが多くなってきた。たとえ
ば、VoiceXML(音声拡張可能マークアップ言語(voice ex
tensible markup language))などを使用する音声ポータ
ル(voice portals)が進歩し、電話だけでインターネッ
トコンテンツにアクセスできるようになっている。この
アーキテクチャでは、ドキュメントサーバ(document se
rver)(たとえば、Webサーバ)がVoiceXMLインタプリタを
通じてクライアントからの要求を処理する。Webサーバ
は、応答としてVoiceXMLドキュメントを出力し、これ
を、VoiceXMLインタプリタが処理し、音声にレンダリン
グ(rendering)してユーザに伝える。音声認識による音
声コマンドを使用することで、ユーザはWebをナビゲー
トすることができる。
情報またはWebコンテンツには2つの手法がある。第1の
手法では、ディスプレイを備えたデバイスにより通常レ
ンダリングされる既存の視覚的なマークアップ言語ペー
ジを解釈し、聴覚向けにレンダリングする。ただし、こ
の方式では、視覚的対話操作を意図したページに、実用
にかなった聴覚的ダイアログを自動的に生成するのに十
分な情報が用意されていない。さらに、音声対話操作は
誤りがちであり、特に、電話などの雑音の多いチャネル
では誤りが多い。視覚的形式またはその他の形式の永続
的フィードバックがないと、Webサーバアプリケーショ
ンによるナビゲーションはユーザにとって極めて難しい
操作になる可能性がある。この方式では、したがって、
Webサイトのナビゲートを手助けするためユーザの聴覚
用にレンダリングされるヘルプメッセージなどのメカニ
ズムが必要である。これらのメカニズムは、一般に、
「音声ダイアログ」と呼ばれ、たとえば、音声による対
する応答として、ユーザが正しくない情報を提供したり
あるいは何も情報を提供しなかったときのエラーを処理
する必要もある。このメカニズムはWebページの視覚的
コンテンツに一般には基づいていないので、自動的に生
成することはできず、そのため、通常、アプリケーショ
ン開発者は長い開発時間を必要とする。
法として、特定の音声ページを新しい言語で作成すると
いう方法がある。この方式の利点として、音声対応ペー
ジに修復やナビゲーションヘルプなどの音声ダイアログ
に必要なすべてのメカニズムを備えられるという点が挙
げられる。しかし、アプリケーションロジックを視覚的
コンテンツページの場合と同じように含めるためにアプ
リケーションページを改造する必要があるという大きな
欠点がある。つまり、視覚的コンテンツページのアプリ
ケーションロジックは、音声対応言語の形式で書き換え
る必要があるということである。このプロセスを、同じ
仕様から視覚的ページと音声ページとを作成するツール
を使用して自動化できるとしても、視覚的ページと音声
対応ページの保守を同期させることは通常、困難であ
る。さらに、この方式では、たとえば、視覚的対話操作
と音声対話操作がWebページ上に用意されている場合に
マルチモードアプリケーション(multimodal applicatio
ns)を簡単に実現できない。視覚的ページと音声対応ペ
ージは関連性がないため、入力ロジックと出力ロジック
を連携するように調整することは容易でない。
ースとして現在採用されている構成または形式のせいで
扱いにくいものとなっている。一般に、音声インターフ
ェースは、アプリケーションのビジネスロジックとの結
びつきが強すぎる傾向があり、他のアプリケーションで
その音声インターフェースの要素を再利用することが妨
げられていたり、単純化されたダイアログモデルのため
音声インターフェースの制限が大きすぎたりするのであ
る(たとえば、フォームやフィールド)。
ネットなどでサーバ/クライアントアーキテクチャなど
のアプリケーションにより音声認識機能を提供するため
に使用されるアーキテクチャおよび方法に対する改善が
引き続き要求されている。特に、前記の欠点の1つ、複
数、またはすべてを解消し、それによりアプリケーショ
ンで音声対応認識および/または音声対応のプロンプト
機能(prompting)の生成を実現する方法、システム、ま
たはオーサリングツールが必要である。
または可聴プロンプト機能を備えるクライアントサイド
マークアップを生成するためのコントロールを提示す
る。コントロールは、質問、応答、確認、コマンド、ま
たはステートメントなどのダイアログの要素から成り立
っている。これらのコントロールで伝達される情報利用
することでダイアログをモジュール形式にする。
である役割(role)を実行する。たとえば、ステートメン
トコントロールを使用して、クライアントデバイスの対
応するマークアップを生成し、ユーザに情報を表示する
一方で、質問コントロールによりクライアントデバイス
が質問を行うためのマークアップ(markup)を生成する。
応答コントロールにより、認識に使用される文法を尋ね
られた質問に関係する入力フィールドと関連付けるよう
にクライアントデバイスのマークアップを生成する。認
識された結果が正しいかどうか不明な場合、確認コント
ロールを起動し、認識された結果を確認するためのマー
クアップを生成することができる。コマンドコントロー
ルでは、ユーザが特定の質問に対する予期される応答以
外のコマンドを提供できるようにし、またユーザがたと
えばWebサーバアプリケーションを通じてナビゲートで
きるようにするマークアップを生成する。コントロール
はそれぞれ、関連するコントロールが起動できるかどう
かを示す属性を含む。モジュールは、クライアントなど
で実行されると、起動されるコントロールの機能として
情報を求め、提供するためのダイアログを作成する。
クチャおよびそのアーキテクチャを実装する方法を説明
する前に、このアーキテクチャで機能するコンピューテ
ィングデバイスについて一般的に説明しておくと役立つ
であろう。図1を参照すると、データ管理デバイス(PI
M、PDAなど)の実施例が示されている。しかし、本発明
は後述の他のコンピューティングデバイスを使用しても
実践することができ、とりわけ、入力ボタンなどの表面
領域が限られているコンピューティングデバイスを使用
して実践することができることが予期される。たとえ
ば、電話および/またはデータ管理デバイスも本発明を
活用することができる。このようなデバイスは、既存の
携帯型個人情報管理デバイスやその他の携帯型電子デバ
イスと比較してユーティリティ機能が向上しており、こ
のようなデバイスの機能およびコンパクトなサイズのお
かげで、ユーザはこのようなデバイスを常時持ち歩く気
になる可能性が高い。したがって、本発明で説明してい
るアーキテクチャの範囲が説明しているデータ管理また
はPIMデバイス例、電話、またはコンピュータの開示に
より制限されることを意図していない。
1に示されている。モバイルデバイスは、ハウジング32
を含み、タッチパネルとスタイラス33を使用する、ディ
スプレイ34を含むユーザインターフェースを備える。ス
タイラス33を使用して、ディスプレイ34の指定された
座標のところを押すか、またはそこに接触することで、
フィールドを選択したり、カーソルの開始位置を選択的
に移動したり、または身振りや手書きなどのその他の手
段によりコマンド情報を伝える。それとは別に、または
それに加えて、1つまたは複数のボタン35をナビゲーシ
ョン用にデバイスに備えることもできる。さらに、回転
可能なホイール、ローラなどの他の入力メカニズムも備
えることができる。ただし、本発明はこのような形式の
入力メカニズムにより制限することを意図していないこ
とに注意されたい。たとえば、他の形式の入力として、
コンピュータビジョンを備えることもできる。
デバイス30からなる機能コンポーネントが示されてい
る。中央処理装置(CPU)50より、ソフトウェア制御機能
が実行される。CPU 50がディスプレイ34に結合されてお
り、制御ソフトウェアに従って生成されるテキストおよ
びグラフィックアイコンがディスプレイ34に表示され
る。スピーカを通常、デジタル-アナログコンバータでC
PU 50に結合し、可聴出力を送ることができる。ユーザ
がモバイルデバイス30にダウンロードまたは入力したデ
ータは、CPU 50に双方向結合されている不揮発性の読み
書きランダムアクセスメモリストア54に格納される。ラ
ンダムアクセスメモリ(RAM)54は、CPU 50によって実行
される命令を格納する揮発性の記憶装置であり、またレ
ジスター値などの一時的データのための記憶装置でもあ
る。構成オプションおよびその他の変数用の既定値は、
読み取り専用メモリ(ROM)58に格納される。ROM 58は、
モバイル30の基本機能およびその他のオペレーティング
システムのカーネル機能(たとえば、ソフトウェアコン
ポーネントをRAM 54にロードする機能)を制御するデバ
イス用のオペレーティングシステムソフトウェアを格納
するのにも使用できる。
ラムを格納するために使用されるPC上のハードディスク
ドライブの機能に似た方法でコードを格納するのにも使
用される。不揮発性メモリは、コードを格納するために
使用されるが、それとは別に、コードの実行には使用さ
れない揮発性メモリ内に格納できることに注意された
い。
52を介してモバイルデバイスによって無線信号を送受信
することができる。オプションの通信インターフェース
60も、コンピュータ(たとえば、デスクトップコンピュ
ータ)から直接、または必要ならば有線ネットワークか
ら、データをダウンロードするために備えることができ
る。したがって、インターフェース60は、たとえば、赤
外線リンク、モデム、ネットワークカードなどのさまざ
まな形態の通信デバイスを備えることができる。
アナログ-デジタル(A/D)コンバータ37、およびストア54
に格納されているオプションの認識プログラム(音声、D
TMF、手書き、身振り、またはコンピュータビジョン)を
備える。たとえば、デバイス30のユーザからの可聴情
報、命令、またはコマンドに応答して、マイク29で、A/
Dコンバータ37によりデジタイズされた音声信号を送
る。音声認識プログラムは、デジタイズした音声信号に
対し正規化および/または特徴抽出機能を実行して、中
間音声認識結果を得ることができる。無線トランシーバ
52または通信インターフェース60を使用して、音声デー
タを後述のリモート認識サーバ204に送信するが、これ
は、図4のアーキテクチャに示されている。その後、認
識結果はモバイルデバイス30に返され、そこでレンダリ
ング(たとえば、視覚的および/または可聴)を行い、最
後にWebサーバ202(図4)に送信するが、Webサーバ202と
モバイルデバイス30はクライアント/サーバ関係で動作
する。類似の処理を他の形式の入力にも使用できる。た
とえば、手書き入力は、デバイス30上での前処理を行っ
て、または行わずにデジタイズすることができる。音声
データのように、この形式の入力を認識サーバ204に送
って認識させ、その後、認識結果をデバイス30および/
またはWebサーバ202のうち少なくとも1つに返す。同様
に、DTMFデータ、身振りデータ、および視覚的データも
似た方法で処理できる。入力の形式に応じて、デバイス
30(および後述のその他の形式のクライアント)は視覚的
に入力用のカメラなどの必要なハードウェアを備える。
ィングデバイスに加えて、本発明は一般的なデスクトッ
プコンピュータなどの他の多数のコンピューティングデ
バイスとともに使用できることも理解されるであろう。
たとえば、本発明を使用すると、身体能力に制限のある
ユーザにとってフルキーボードなどの従来の他の入力デ
バイスの操作が難しすぎるときでもテキストをコンピュ
ータまたはその他のコンピューティングデバイスに入力
することができる。
専用コンピューティングシステム、環境、または構成で
動作する。本発明とともに使用するのに適していると思
われるよく知られているコンピューティングシステム、
環境、および/または構成の例として、無線または携帯
電話、通常の電話(画面なし)、パソコン、サーバコンピ
ュータ、ハンドヘルドまたはラップトップデバイス、マ
ルチプロセッサシステム、マイクロプロセッサベースシ
ステム、セットトップボックス、プログラム可能家電製
品、ネットワークPC、ミニコンピュータ、メインフレー
ムコンピュータ、上記システムのどれかを含む分散コン
ピューティング環境などがある。
ュータ120について簡単に説明する。ただし、コンピュ
ータ120もまた適当なコンピューティング環境の一実施
例にすぎず、本発明の使用または機能の範囲に関する制
限を示唆しないことを意図している。またコンピュータ
120はそこに示されているコンポーネントの1つまたは組
み合わせに関係する依存性または要求条件があると解釈
しないものとする。
るプログラムモジュールなどのコンピュータ実行可能命
令の一般的文脈において説明できる。一般に、プログラ
ムモジュールには、特定のタスクを実行する、あるいは
特定の抽象データ型を実装するルーチン、プログラム、
オブジェクト、コンポーネント、データ構造などが含ま
れる。本発明はさらに、通信ネットワークを介してリン
クされているリモート処理デバイスによりタスクが実行
される分散コンピューティング環境で実施することも可
能である。分散コンピューティング環境では、プログラ
ムモジュールをメモリ記憶デバイスなどのローカルとリ
モートの両方のコンピュータ記憶媒体に配置できる。プ
ログラムをおよびモジュールによって実行されるタスク
について図の助けを借りて以下で説明する。当業者であ
れば、説明と図の内容をプロセッサ実行可能命令として
実装することができ、これは、任意の形態のコンピュー
タ可読媒体に書き込むことができる。
ポーネントは、限定はしないが、処理装置140、システ
ムメモリ150、およびシステムメモリを含むさまざまな
システムコンポーネントを処理装置140に結合するシス
テムバス141を備えることができる。システムバス141に
は、さまざまなバスアーキテクチャを使用するメモリバ
スまたはメモリコントローラ、周辺機器バス、およびロ
ーカルバスを含む数種類のバス構造がある。たとえば、
このようなアーキテクチャとしては、限定はしないが、
業界標準アーキテクチャ(ISA)バス、ユニバーサルシリ
アルバス(USB)、マイクロチャネルアーキテクチャ(MCA)
バス、拡張ISA(EISA)、Video ElectronicsStandards As
sociation(VESA)ローカルバス、およびMezzanineバスと
も呼ばれるPeripheral Component Interconnect(PCI)バ
スがある。コンピュータ120は通常、さまざまなコンピ
ュータ可読媒体を含む。コンピュータ可読媒体は、コン
ピュータ120によってアクセスできる媒体であればどの
ようなものでも使用でき、揮発性および不揮発性媒体、
取り外し可能および取り外し不可能媒体を含む。たとえ
ば、限定はしないが、コンピュータ可読媒体は、コンピ
ュータ記憶媒体および通信媒体を含むことができる。コ
ンピュータ記憶媒体は、コンピュータ読み取り可能命
令、データ構造体、プログラムモジュール、またはその
他のデータなどの情報を格納する方法または技術で実装
される揮発性および不揮発性、取り外し可能および取り
外し不可能媒体を含む。コンピュータ記憶媒体として
は、RAM、ROM、EEPROM、フラッシュメモリまたはその他
のメモリ技術、CD-ROM、デジタル多目的ディスク(DVD)
またはその他の光ディスク記憶装置、磁気カセット、磁
気テープ、磁気ディスク記憶装置またはその他の磁気記
憶デバイス、または目的の情報を格納するために使用す
ることができコンピュータ120によりアクセスできるそ
の他の媒体がある。
可能命令、データ構造体、プログラムモジュール、また
は搬送波またはその他のトランスポートメカニズムなど
の変調データ信号によるその他のデータを実現し、情報
配信媒体を含む。「変調データ信号」という用語は、信
号内の情報をエンコードする方法でその特性のうち1つ
または複数を設定または変更した信号を意味する。たと
えば、通信媒体としては、有線ネットワークまたは直接
配線接続などの有線媒体、および、音声FR、赤外線、お
よびその他の無線媒体などの無線媒体がある。上記のい
ずれかの組み合わせもコンピュータ可読媒体の範囲に収
まるであろう。
リ(ROM)151およびランダムアクセスメモリ(RAM)152など
の揮発性および/または不揮発性メモリの形のコンピュ
ータ記憶媒体を備える。起動時などにコンピュータ120
内の要素間の情報伝送を助ける基本ルーチンを含む基本
入出力システム153(BIOS)は通常、ROM 151に格納され
る。通常、RAM 152には、処理装置140に直接アクセス可
能な、かつ/または現在操作されているデータおよび/ま
たはプログラムモジュールを格納する。たとえば、図3
は、オペレーティングシステム54、アプリケーションプ
ログラム155、その他のプログラムモジュール156、およ
びプログラムデータ157を示している。
外し可能/取り外し不可能な揮発性/不揮発性コンピュー
タ記憶媒体を備えることもできる。たとえば、図3は、
取り外し不可能な不揮発性磁気媒体の読み書きを行うハ
ードディスクドライブ161、取り外し可能な不揮発性磁
気ディスク172の読み書きを行う磁気ディスクドライブ1
71、およびCD-ROMまたはその他の光媒体などの取り外し
可能な不揮発性光ディスク176の読み書きを行う光ディ
スクドライブ175を示している。操作環境例で使用でき
る他の取り外し可能/取り外し不可能な揮発性/不揮発性
コンピュータ記憶媒体としては、限定はしないが、磁気
テープカセット、フラッシュメモリカード、デジタル多
目的ディスク、デジタルビデオテープ、ソリッドステー
トRAM、ソリッドステートROMなどがある。ハードディス
クドライブ161は、通常、インターフェース160などの取
り外し不可能なメモリインターフェースを介してシステ
ムバス141に接続され、磁気ディスクドライブ171および
光ディスクドライブ175は、通常、インターフェース170
などの取り外し可能なメモリインターフェースによりシ
ステムバス141に接続される。
関連コンピュータ記憶媒体は、コンピュータ120用のコ
ンピュータ読み取り可能命令、データ構造体、プログラ
ムモジュール、およびその他のデータを格納する機能を
備える。たとえば、図3では、ハードディスクドライブ1
61は、オペレーティングシステム164、アプリケーショ
ンプログラム165、その他のプログラムモジュール166、
およびプログラムデータ167を格納するものとして示さ
れている。これらのコンポーネントは、オペレーティン
グシステム154、アプリケーションプログラム155、その
他のプログラムモジュール156、およびプログラムデー
タ157と同じである場合もあれば異なる場合もあること
に注意されたい。オペレーティングシステム164、アプ
リケーションプログラム165、その他のプログラムモジ
ュール166、およびプログラムデータ167に対しては、こ
こで、異なる番号を割り当てて、最低でも、それが異な
るコピーであることを示している。
よびマウス、トラックボール、タッチパッドなどのポイ
ンティングデバイス181などの入力デバイスを介してコ
ンピュータ120にコマンドおよび情報を入力できる。他
の入力デバイス(図に示されていない)としては、ジョイ
スティック、ゲームパッド、衛星放送受信アンテナ、ス
キャナなどがある。これらの入力デバイスやその他の入
力デバイスは、システムバスに結合されているユーザ入
力インターフェース180を介して処理ユニット140に接続
されることが多いが、パラレルポート、ゲームポート、
またはユニバーサルシリアルバス(USB)などの他のイン
ターフェースおよびバス構造により接続することもでき
る。モニタ184やその他のタイプの表示デバイスも、ビ
デオインターフェス185などのインターフェースを介し
てシステムバス141に接続される。モニタのほかに、コ
ンピュータはさらにスピーカ187およびプリンタ186など
の他の周辺出力デバイスも備えることができ、これらは
出力周辺インターフェース188を介して接続することが
できる。
タ194などの1つまたは複数のリモートコンピュータへの
論理接続を使用してネットワーク環境で動作することも
できる。リモートコンピュータ194は、パーソナルコン
ピュータ、ハンドヘルドデバイス、サーバ、ルーター、
ネットワークPC、ピアデバイス、またはその他の共通ネ
ットワークノードでもよく、通常は、コンピュータ120
に関係する上述の要素の多くまたはすべてを含む。図3
に示されている論理接続は、ローカルエリアネットワー
ク(LAN)191とワイドエリアネットワーク(WAN)193を含む
が、他のネットワークを含むこともできる。このような
ネットワーキング環境は、事務所、企業規模のコンピュ
ータネットワーク、イントラネットおよびインターネッ
トではよくある。
は、コンピュータ120はネットワークインターフェース
またはアダプタ190を介してローカルエリアネットワー
ク191に接続される。WANネットワーキング環境で使用す
る場合は、コンピュータ120は通常、モデム192またはイ
ンターネットなどのWAN 193上で通信を確立するための
その他の手段を備える。モデム192は、内蔵でも外付け
でもよいが、ユーザ入力インターフェース180またはそ
の他の適切なメカニズムを介してシステムバス141に接
続できる。ネットワーク環境では、コンピュータ120ま
たはその一部に関して述べたプログラムモジュールは、
リモートメモリ記憶デバイスに格納できる。たとえば、
図3は、リモートアプリケーションプログラム195がリモ
ートコンピュータ194に常駐しているように示してい
る。図に示されているネットワーク接続は例であり、コ
ンピュータ間に通信リンクを確立するのにその他手段を
使用できることは理解されるであろう。
識機能のアーキテクチャ200を示している。一般に、Web
サーバ202に格納されている情報は、モバイルデバイス3
0(ここでは、入力形態に基づいて要求される表示画面、
マイク、カメラ、タッチパネルなどを備えるコンピュー
ティングデバイスの他の形態も表す)、または情報を可
聴音でまたはキーの押下に応答して電話80により生成さ
れるトーンを通じて要求し、またWebサーバ202からの情
報を可聴音でのみユーザに送り返す電話を介して、アク
セスすることができる。
音声認識を使用しデバイス30で情報を取得するかそれと
も電話80を介して取得するかに関係なく、単一の認識サ
ーバ204でいずれかの動作モードをサポートできるとい
う点で統一されている。さらに、アーキテクチャ200
は、よく知られているマークアップ言語の拡張(たとえ
ば、HTML、XHTML、cHTML、XML、WMLなど)を使用して動
作する。したがって、Webサーバ202に格納されている情
報も、これらのマークアップ言語に用意されているよく
知られているGUI方式を使用してアクセスできる。よく
知られているマークアップ言語の拡張を使用することに
より、Webサーバ202上のオーサリングは簡単になり、既
存のレガシーアプリケーションも音声またはその他の認
識形態に対応するように簡単に修正することができる。
って提供されるHTML+スクリプトなどを実行する。たと
えば、音声認識が要求されるとき、上述のようにデバイ
ス30により音声信号が前処理されている場合に音声信号
または発話の特徴にデジタイズできる音声データが認識
サーバ204に送られ、音声認識中に使用する文法または
言語モデルを示す。認識サーバ204の実装にはいろいろ
な形態が考えられ、そのうちの1つが図に示されている
が、一般的に、レコグナイザ(recognizer)211を含む。
認識の結果は、デバイス30に送り返され、望ましい場合
または適切な場合にローカルでレンダリングされる。認
識およびグラフィカルユーザインターフェースが使用さ
れている場合にはそれを使用して情報をコンパイルした
後、デバイス30はこの情報をWebサーバ202に送り、必要
に応じて他のHTMLスクリプトを処理し受け取る。
ebサーバ202、および認識サーバ204は、接続は共通であ
るが、ネットワーク205、ここでは、インターネットな
どのワイドエリアネットワークを通じて別々にアドレス
指定可能である。したがって、これらのデバイスを物理
的に隣接する位置に配置する必要はない。特に、Webサ
ーバ202は認識サーバ204を含む必要はない。この方法
で、Webサーバ202でのオーサリングは対象となるアプリ
ケーションに焦点を絞ることができ、作成者は認識サー
バ204の詳細を知る必要はない。むしろ、認識サーバ204
は独立に設計して、ネットワーク205に接続することが
でき、そのため、Webサーバ202で必要な変更をさらに行
うことなく更新および改良を加えることができる。後述
のように、Webサーバ202はさらに、クライアントサイド
マークアップおよびスクリプトを動的に生成できるオー
サリングメカニズムを備えることもできる。他の実施形
態では、Webサーバ202、認識サーバ204、およびクライ
アント30を実装するマシンの能力に応じて見合わせるこ
とができる。たとえば、クライアントは汎用コンピュー
タ、たとえばパソコンを備えている場合、クライアント
は認識サーバ204を備えることができる。同様に、必要
ならば、Webサーバ202および認識サーバ204を単一のマ
シンに組み込むことができる。
る際に、電話80を有線または無線電話網208に接続し、
さらにこれは電話80をサードパーティーのゲートウェイ
210に接続する。ゲートウェイ210は、電話80を電話音声
ブラウザ(telephony voice browser)212に接続する。電
話音声ブラウザ212は、電話インターフェースおよび音
声ブラウザ216を備えるメディアサーバ(media server)2
14を含む。デバイス30のように、電話音声ブラウザ212
はWebサーバ202からHTMLスクリプトなどを受信する。一
実施形態では、HTMLスクリプトはデバイス30に提供され
るHTMLスクリプトと似た形式である。この方法では、We
bサーバ202はデバイス30および電話80を別々にサポート
したり、さらには標準GUIクライアントを別々にサポー
トしたりする必要さえない。むしろ、共通マークアップ
言語使用することができる。さらに、デバイス30のよう
に、ネットワーク205を介してまたはたとえばTCP/IPを
使用して専用回線207のいずれかを介して、電話80によ
って送信された可聴信号からの音声認識結果を音声ブラ
ウザ216から認識サーバ204に送る。Webサーバ202、認識
サーバ204、および電話音声ブラウザ212は、図3に示さ
れている汎用デスクトップコンピュータなどの適当なコ
ンピューティング環境で実現することができる。
ような形式の認識は一般的に、認識サーバ204ではなく
メディアサーバ214で実行されることに注意されたい。
つまり、DTMF文法が、メディアサーバ214によって使用
されるということである。
は、サーバサイドプラグインのオーサリングツールまた
はモジュール209(たとえば、ASP、ASP+、Microsoft Cor
porationのASP.Net、JSP、Java(登録商標)beansなど)を
備えることができる。サーバサイドプラグインモジュー
ル209は、Webサーバ202にアクセスするクライアントの
タイプに合わせて、クライアントサイドマークアップ、
さらには特定の形式のマークアップさえも動的に生成す
ることができる。クライアント情報を、クライアント/
サーバ関係が最初に確立された後Webサーバ202に送る
か、またはWebサーバ202側でクライアントデバイスの能
力を検出するモジュールまたはルーチンを備えることが
できる。この方法で、サーバサイドプラグインモジュー
ル209は、音声認識シナリオ、つまり電話80のみの音声
またはデバイス30についてはマルチモードのそれぞれに
ついてクライアントサイドマークアップを生成すること
ができる。整合性のとれたクライアントサイドモデルを
使用することにより、さまざまなクライアントに対する
アプリケーションオーサリングは著しく簡単になる。
生成するほかに、後述の高レベルダイアログモジュール
を、ストア211に格納されるサーバサイドコントロール
として実装することができ、これをアプリケーションオ
ーサリングで開発者が使用できる。一般に、高レベルダ
イアログモジュール211は、開発者が指定したパラメー
タに基づいて音声のみシナリオおよびマルチモードシナ
リオの両方でクライアントサイドマークアップおよびス
クリプトを動的に生成する。高レベルダイアログモジュ
ール211は、開発者のニーズに合わせてクライアントサ
イドマークアップを生成するためのパラメータを含むこ
とができる。
動的生成を説明する前に、まずWebベースの認識で使用
するマークアップ言語の拡張形式例について説明すると
役立つと思われる。
L、WML、またはその他のSGML派生マークアップなどのマ
ークアップ言語は、Webサーバ202とクライアントデバイ
ス30との対話に使用され、クライアント/サーバアーキ
テクチャで認識を行うコントロールおよび/またはオブ
ジェクトを含むように拡張されている。一般に、コント
ロールおよび/またはオブジェクトは、レコグナイザ構
成、レコグナイザ実行および/または後処理用のレコグ
ナイザコントロールおよび/またはオブジェクト、シン
セサイザー構成およびプロンプト再生用のシンセサイザ
ーコントロールおよび/またはオブジェクト、入力文法
リソースを指定するための文法をコントロールおよび/
またはオブジェクト、および/または認識結果を処理す
るためのバインドコントロールおよび/またはオブジェ
クトの機能のうち1以上を含むことができる。拡張は、
軽量マークアップレイヤとなるように設計されており、
既存のマークアップ言語に音声、視覚、手書きなどのイ
ンターフェースの機能を追加する。したがって、これら
の拡張は、拡張機能が含まれる高レベルページ、たとえ
ばHTML、言語リソースを参照するために拡張機能が使用
される低レベル形式、たとえばテキスト音声変換や文法
形式、および認識サーバ204で使用される認識および音
声合成の個々の特性とは独立のものとすることができ
る。以下で音声認識を説明するが、これ以降で説明する
手法、タグ、およびサーバサイドコントロールも同様
に、手書き認識、身振り認識、および画像認識にも応用
できることは理解されるであろう。
もいう)はXML要素の小さなセットであり、関連する属性
およびDOMオブジェクトプロパティ、イベントおよびメ
ソッドを備え、これをソースマークアップドキュメント
とともに使用して、認識および/または可聴プロンプト
インターフェース、DTMFまたは呼び出し制御をソースペ
ージに適用することができる。拡張機能の形式と意味
は、ソースドキュメントの性質とは無関係であり、した
がって、それらの拡張機能はHTML、XHTML、cHTML、XM
L、WML、またはその他のSGML派生マークアップで等しく
効果的に使用することができる。これらの拡張機能は、
ドキュメントオブジェクトモデルに従っており、新しい
機能オブジェクトまたは要素を、階層状に配置できる。
それぞれの要素については付録で詳述しているが、一般
に、これらの要素は属性、プロパティ、メソッド、イベ
ント、および/またはその他の「子」要素を含むことが
できる。
が実行されるデバイスの能力に応じて2種類の「モー
ド」で解釈することができることにも注意する必要があ
る。第1のモード、「オブジェクトモード」では、全機
能を使用できる。アプリケーションからプログラムによ
り拡張機能を操作できるが、これはデバイス上のプラザ
によって使用可能になるメカニズム、たとえば、XHTML
ブラウザのJScriptインタプリタやWMLブラウザのWMLScr
iptインタプリタで実行される。このような理由から、
拡張機能のコアプロパティおよびメソッドの小さなセッ
トのみを定義すればよく、デバイスまたはクライアント
サイドに存在するプログラムメカニズムで操作する。オ
ブジェクトモードでは、イベント発生およびスクリプト
作成の機能を備え、ダイアログ作成者が音声対話操作に
対するクライアントサイドの制御をより細かに行えると
いう優れた機能性を実現できる。ここで使用しているよ
うに、イベントおよびスクリプト作成機能を完全にサポ
ートするブラウザを「アップレベルブラウザ(uplevel b
rowser)」と呼ぶ。この形式のブラウザは、拡張機能の
すべての属性、プロパティ、メソッド、およびイベント
をサポートする。アップレベルブラウザは、一般に、処
理能力の大きなデバイスで実行される。
ド」でもサポートできる。ここで使用しているように、
宣言モードで動作するブラウザは「ダウンレベルブラウ
ザ」と呼ばれ、完全なイベント発生およびスクリプト作
成機能をサポートしていない。むしろ、この形式のブラ
ウザは指定された拡張機能(つまり、コア要素および属
性)の宣言的側面をサポートするが、すべてのDOM(ドキ
ュメントオブジェクトモデル)オブジェクトプロパテ
ィ、メソッド、およびイベントをサポートするわけでは
ない。このモードでは、もっぱら宣言的構文を使用し、
さらに宣言的マルチメディア同期およびSMIL(Synchroni
zed Multimedia Integration Language)2.0などの調整
メカニズム(同期マークアップ言語)とともに使用でき
る。ダウンレベルブラウザは、通常、処理能力の限られ
ているデバイスで実行される。
説明することにする。特に、音声認識を少なくともディ
スプレイおよび他の実施形態ではポインティングデバイ
スとともに使用すると複数の入力モードとの連携の調整
が可能になり、たとえば、データ入力用のフィールドを
示すことができ、特に有用である。特に、このデータ入
力モードでは、ユーザは一般にポインティングデバイス
の動作と音声入力との連携を調整することができ、たと
えば、ユーザはフィールドの選択時期の制御下に置か
れ、フィールドに関連する対応する情報を入力できる。
たとえば、クレジットカード送信グラフィカルユーザイ
ンターフェース(GUI)が図5に示されているが、ユーザは
最初に、フィールド252にクレジットカード番号を入力
する決定を下し、その後、クレジットカードの種別をフ
ィールド250に入力し、その後、フィールド254に有効期
限を入力することができる。同様に、必要ならばユーザ
はフィールド252に戻り、間違えた入力を訂正すること
もできる。音声認識と組み合わせると、簡単で自然な形
のナビゲーションを実現できる。ここで使用しているよ
うに、この形式の入力は画面上でポインティングデバイ
スを自由形式で操作してたとえばフィールドを選択でき
る画面表示と認識を使用するが、これは「マルチモード
(multimodal)」と呼ばれる。
のコードが示されている。HTMLコードには、本文部分27
0とスクリプト部分272が含まれる。各フィールド250、2
52、および254への情報の入力は、それぞれ、コード部
分280、282、および284により制御されるかまたは実行
される。最初にコード部分280を参照すると、フィール
ド250を選択したときに、たとえば、デバイス30のスタ
イラス33を使用することで、イベント「onClick」が
起動し、スクリプト部分272で関数「talk」が呼び出さ
れるか、または実行される。このアクションにより、フ
ィールド250に一般に予期されるデータの種別と関連す
る音声認識に使用される文法が起動する。この種の対話
操作は、複数の入力手法を伴い(たとえば、音声および
ペンクリック/ローラ)、「マルチモード」と呼ばれる。
いが、文脈自由文法、N文法、またはハイブリッド文法
の構文法のことである。(もちろん、DTMF文法、手書き
文法、身振り文法、および画像文法は、対応する認識形
式が採用されていれば使用される。ここで使用している
ように、「文法」は認識を実行するための情報を含み、
さらに他の実施形態ではたとえば特定のフィールドに入
力することが想定される入力に対応する情報を含む。)
コントロール290(ここでは「reco」と呼ぶ)は、さまざ
まな要素を備え、そのうち2つが文法要素「grammar」と
「bind」要素であり、図に示されている。一般に、Web
サーバ202からクライアントにダウンロードされたコー
ドのように、文法はWebサーバ202から始まり、クライア
ントにダウンロードされかつ/またはリモートサーバに
転送され、音声処理が行われる。その後、文法をローカ
ルのキャッシュ内に格納することができる。最終的に、
文法は認識サーバ204に送られ、認識に使用される。文
法要素を使用し、インラインまたは属性を使用して参照
することで文法を指定する。
どに対応する認識結果を認識サーバ204から受信した
後、recoコントロール290の構文が提供され、対応する
結果を受け取り、それを対応するフィールドに関連付け
るが、ディスプレイ34にテキストをレンダリングする機
能を含むことができる。図に示されている実施形態で
は、音声認識が完了し、結果はクライアントに送り返さ
れると、recoオブジェクトを非アクティブ状態にし、認
識されたテキストを対応するフィールドに関連付ける。
部分282および284は同様に動作し、一意的なrecoオブジ
ェクトおよび文法がフィールド252と254のそれぞれにつ
いて呼び出され、認識されたテキストを受け取った後、
フィールド252と254のそれぞれに関連付けられる。カー
ド番号フィールド252の受信に関して、関数「handle」
がカードの種別に関してカード番号の長さをチェックす
る。
は、クライアントデバイス30に要求が送られたときにク
ライアントサイドマークアップを出力する。つまり、サ
ーバサイドプラグインモジュール209では、Webサイト、
したがって、アプリケーションおよびアプリケーション
によって提供されるサービスを定義したり構築したりす
ることができる。サーバサイドプラグインモジュール20
9内の命令は、コンパイルされたコードである。このコ
ードは、Web要求がWebサーバ202に到達したときに実行
される。サーバサイドプラグインモジュール209は、そ
の後、クライアントデバイス30に送られる新しいクライ
アントサイドマークアップページを出力する。よく知ら
れているように、このプロセスは一般にレンダリングと
呼ばれる。サーバサイドプラグインモジュール209は、
マークアップ言語、したがってクライアントサイドマー
クアップページのコードを抽象化し、カプセル化する
「コントロール」上で動作する。マークアップ言語を抽
象化しカプセル化し、Webサーバ202上で動作するこのよ
うなコントロールは、たとえば、いくつかを挙げると、
「サーブレット」や「サーバサイドプラグイン」を含む
か、またはそれに同等である。
イドプラグインモジュールはクライアントデバイス30と
の視覚的レンダリングおよび対話操作用にクライアント
サイドマークアップを生成することができる。サーバサ
イドプラグインモジュール209を、上述のクライアント
サイド拡張機能例などの認識および可聴プロンプト機能
の拡張機能を含むように拡張する3種類のアプローチが
提示されているが、さらに本発明の別々の態様ともなっ
ている。図7に概略が示されている第1のアプローチで
は、現在の視覚的サーバサイドコントロール(レンダリ
ング、フォント、前景色、背景色のロケーションなどの
視覚的表示のパラメータを含む)は、認識および関連す
る認識に対する可聴プロンプト機能のパラメータまたは
属性を含むように拡張されている。たとえば、音声認識
および関連する可聴プロンプト機能を使用すると、属性
は一般に、プロンプトにテキスト音声変換用のインライ
ンテキストを含めるかどうか、事前に記録されたオーデ
ィオファイル(たとえば、ウェーブファイル)の再生、可
聴レンダリング用のデータ(テキスト音声変換のテキス
トまたは事前記録されたオーディオファイル)の保存先
などの可聴プロンプト機能のパラメータに関係する。認
識については、パラメータまたは属性に、認識中に使用
する文法の保存先、信頼レベルしきい値などを含めるこ
とができる。サーバサイドプラグインモジュール209は
クライアントサイドマークアップを生成するので、サー
バサイドプラグインモジュール209のコントロールに対
するパラメータおよび属性は認識および/または可聴プ
ロンプト機能用のクライアントサイドマークアップに用
意される拡張機能に関係する。
は、ASP、ASP+、ASP.Net、JSP、Java(登録商標) beans
などのWebサイトのアプリケーション開発またはオーサ
リングツールではよく知られているコントロールであ
る。このようなコントロールは、特定の視覚的タスクを
実行するため、一般にライブラリで形成されコントロー
ル302により使用される。ライブラリ300Aは、目的のク
ライアントマークアップ、イベントハンドラなどを生成
するためのメソッドを含む。視覚的コントロール302の
例としては、図5のラベル「Credit Card Submission」3
04などの視覚的表示上の選択されたテキストラベルを実
装する「Label」コントロールがある。より高いレベル
の視覚的コントロール302の例としては他に、図5の250
に示されているようなデータフィールドにデータを入力
するための「Textbox」がある。既存の視覚的コントロ
ール302もよく知られている。認識および/または可聴プ
ロンプト機能を備えるようにサーバサイドプラグインモ
ジュールコントロールを拡張する第1のアプローチで
は、視覚的コントロール302のそれぞれは視覚的レンダ
リングに関係する属性の集合に加えて認識または可聴プ
ロンプト機能に関係する他のパラメータまたは属性を含
む。「Label」コントロールの場合、他の方法では選択
したテキストを視覚的表示上に示すが、他の属性は、オ
ーディオデータファイルをレンダリングするか、または
テキスト音声変換をこのデータファイルの保存先ととも
に使用するかどうかも示す。ライブラリ300Bは、ライブ
ラリ300Aに似ており、認識および/または可聴プロンプ
ト機能を実行するための他のマークアップ情報含む。視
覚的コントロール302はそれぞれ、この情報をコントロ
ール300Bに送り、認識または可聴プロンプト機能に安定
する特定のタスクを適切に実行するようにコーディング
されている。
ィールドを生成し、クライアントデバイス30のユーザが
情報を入力するための「Textbox」コントロールもま
た、認識に使用される文法などの適切な認識または可聴
プロンプト機能パラメータまたは属性を含む。認識また
は可聴プロンプト機能パラメータはオプションであり、
認識または可聴プロンプト機能が何らかの理由で望まし
くない場合には使用する必要がないことに注意された
い。
的側面に関係するパラメータが含まれる場合、そのコン
トロールはライブラリ300Aにアクセスし使用する。同様
に、コントロールに認識および/または可聴プロンプト
機能に関係するパラメータが含まれる場合、コントロー
ルはライブラリ300Bにアクセスするかまたは使用する。
ライブラリ300Aおよび300Bは、ライブラリ300Bに存在す
る追加情報を強調するために別々に示しているのであっ
て、ライブラリ300Aと300Bの情報を含む単一のライブラ
リを実装できることに注意されたい。
の視覚的コントロール302のそれぞれが、適切な認識/可
聴プロンプト機能属性を備えるように拡張されている。
コントロール302は、ライブラリ形式を取ることができ
る。サーバサイドプラグインモジュール209は、マーク
アップ情報を得るためにライブラリにアクセスする。コ
ントロールを実行すると、与えられたパラメータにより
クライアントサイドマークアップページ、またはその一
部が生成される。
新しい視覚的認識/可聴プロンプト機能コントロール304
が提供され、コントロール304は視覚的コントロール302
に関係するサブクラスとなり、認識/可聴プロンプト機
能またはマークアップ情報はコントロール304のところ
で与えられる。つまり、新しいコントロールセット304
が、認識/可聴プロンプト機能用に用意され、クライア
ントデバイス30上の認識タスクに関係する目的の認識ま
たは可聴プロンプト機能を実行するための適切なパラメ
ータまたは属性を備える。コントロール304は、視覚的
情報をレンダリングするかまたは表示を通じて取得する
範囲で既存の視覚的コントロール302を使用する。たと
えば、レベル304のコントロール「SpeechLabel」はレベ
ル302の「Label」コントロールを使用して、可聴レンダ
リングおよび/または視覚的テキストレンダリングを行
う。同様に、「SpeechTextbox」コントロールは、文法
および関連する認識リソースおよび処理を入力フィール
ドと関連付ける。第1のアプローチのように、コントロ
ール304の属性は、認識用の文法を保存する場所、テキ
スト音声変換用のインラインテキスト、または直接レン
ダリングされる記録済みオーディオデータファイルまた
はテキストを音声変換によるテキストファイルの保存先
を含む。第2のアプローチは、認識コントロール304と視
覚的コントロール302との対話がパラメータまたは属性
によるものであるという点で都合がよく、したがって、
視覚的コントロール302の変更が生じても、コントロー
ル304と302との間でインターフェースするパラメータま
たは属性が相変わらず適切であれば、認識コントロール
304の変更は不要と思われる。ただし、他の視覚的コン
トロール302を作成する場合、レベル304の対応する認識
/可聴プロンプト機能コントロールもまた作成する必要
がある。
般に、第3のアプローチのコントロール306は、視覚的コ
ントロール302とは別になっているが、後述のように選
択的にそれらと関連付けられている。このようにして、
コントロール306は直接的には視覚的コントロール302に
基づいて構築されないが、むしろ、視覚的コントロール
302を作成し直すことなく認識/可聴プロンプト機能対応
にできる。コントロール306は、コントロール302と同
様、ライブラリ300を使用する。この実施形態では、ラ
イブラリ300は視覚的マークアップ情報および認識/可聴
プロンプト機のマークアップ情報の両方を含み、したが
って、図7のライブラリ300Aおよび300Bの組み合わせと
なっている。
る。まず、視覚的コントロール300にはコンテンツの変
更を必要としない。第2に、コントロール306は整合性の
とれた単一モジュールを形成することができ、音声対応
コントロール302の性質に従って変更する必要がない。
第3に、音声対応のプロセス、つまり、明示的かつ選択
的プロセスであるため、コントロール306を視覚的コン
トロール302に明示的に関連付ける操作が設計時に完全
に開発者の管理下に置かれる。このことによりさらに、
視覚的コントロールのマークアップ言語で、コントロー
ル306によって生成されたマークアップ言語により提供
される認識またはキーボードなどの従来の入力デバイス
などにより複数のソースから入力値を受け取ることが可
能になる。つまり、コントロール306をサーバサイドプ
ラグインモジュール209の視覚的オーサリングページの
既存のアプリケーションオーサリングページに追加でき
るということである。コントロール306は、クライアン
トデバイス30のユーザ向けの新しい様相の対話操作機能
を備えながら(つまり、認識および/または可聴プロンプ
ト機能)、視覚的コントロールのアプリケーションロジ
ックおよび視覚的入力/出力機能を再利用できる。コン
トロール306を、アプリケーションロジックをコーディ
ングできる視覚的コントロール302と関連付けられると
いう点を鑑みて、コントロール306をこれ以降、「随伴
コントロール306」と呼び、視覚的コントロール302を
「主トロール302」と呼ぶことができる。これらの参照
は、コントロール302と306を区別するために行うのであ
り、制限する目的のものではないことに注意されたい。
たとえば、随伴コントロール306は、音声専用Webサイト
などの視覚的レンダリングを備えていないWebサイトを
開発またはオーサリングする場合に使用することができ
る。そのような場合、特定のアプリケーションロジック
を随伴コントロールロジックで実現することができる。
図10に示す。随伴コントロール306のセットを出力コン
トロール308および入力コントロール310としてグループ
化することができる。出力コントロール308は、通常、
記録済みオーディオファイルの再生を伴う「プロンプト
機能」クライアントサイドマークアップ、またはテキス
ト音声変換用のテキストを提供し、データはマークアッ
プ内に直接に含まれるか、またはURLで参照する。単一
の出力コントロールはすべての可聴プロンプト機能を処
理するようにパラメータで定義することができ、しがっ
て本発明の他の態様として見なされるが、実施例では、
人間用のダイアログ内の形式または種類の可聴プロンプ
ト機能は別のコントロールとして形成される。特に、出
力コントロール308は、「Question」コントロール308
A、「Confirmation」コントロール308B、および「State
ment」コントロール308Cを備えることができ、これらに
ついて後述する。同様に、入力コントロール310も、人
間用のダイアログを形成するかまたはそれに従い、「An
swer」コントロール310Aおよび「Command」コントロー
ル310Bを備える。入力コントロール310については後述
するが、一般に、入力コントロール310は文法をクライ
アントデバイス30のユーザからの予想されるまたは可能
な入力と関連付ける。
308B、ステートメントコントロール308C、応答コントロ
ール310A、コマンドコントロール310B、その他のコント
ロール、さらにそれらのコントロールの一般的構造、パ
ラメータおよびイベントハンドラについて、特に随伴コ
ントロール306としての使用に関して説明するが、それ
らのコントロール、一般的構造、パラメータおよびイベ
ントハンドラは、図7および8に関して上で述べた他の2
つのアプローチにより認識および/または可聴プロンプ
ト機能を実現するように改造できる。たとえば、パラメ
ータ「ClientToSpeechEnable」は、随伴コントロールと
視覚的コントロールとの関連付けを形成する1つのメカ
ニズム例を構成するが、これは、図7および8のアプロー
チで実現するときには不要である。
くとも出力コントロール308のうちの1つまたは入力コン
トロール310のうちの1つを主コントロールまたは視覚的
コントロール302に関連付ける。図に示されている実施
形態では、出力コントロール308および入力コントロー
ル310は、「Question/Answer」(以下「QA」とも呼ぶ)コ
ントロール320の下で配列または編成されている。QAコ
ントロール320は、Webサーバ202で実行されるが、これ
は、サーバサイドマークアップ形式(ASP、JSPなど)を使
用してWebサーバ上に保持されているアプリケーション
開発Webページで定義されることを意味しているが、ク
ライアントデバイス30に異なる形式のマークアップとし
て出力される。QAコントロールが出力コントロール308
および入力コントロール310のすべてから形成されるよ
うに見える図10に示されているが、これらは、QAコント
ロールに対して1つまたは複数を含むことができる単な
るオプションでることは理解されるであろう。
使用法をアプリケーションシナリオに関して説明すると
役立つと思われる。図11を参照すると、音声専用アプリ
ケーションでは、QAコントロール320は単一の質問コン
トロール308Aと応答コントロール310Aで構成できる。質
問コントロール308Aは1つまたは複数のプロンプトオブ
ジェクトまたはコントロール322を含むが、応答コント
ロール310Aは入力データの認識とその入力に対する関連
する処理のため文法オブジェクトまたはコントロール32
4を通じて文法を定義することができる。線326は、QAコ
ントロール320と使用している場合に対応する主コント
ロール302との関連付けを表す。マルチモードのシナリ
オでは、クライアントデバイス30のユーザは視覚的テキ
ストボックスに触れることができ、たとえば、「TapEve
nt」を使用すると、可聴プロンプトは必要な場合があ
る。たとえば、クライアントデバイスのユーザが対応す
るフィールド内に入力する内容を示す表示を形成する視
覚的テキストを備えるテキストボックスを含む主コント
ロールについては、対応するQAコントロール320はオー
ディオ再生やテキスト音声変換などの対応するプロンプ
トを持つ場合も持たない場合もあるが、認識用の予想さ
れる値に対応する文法、入力を処理する、または音声が
検出されない、音声が認識されない、またはタイムアウ
トでイベントが発生するなどの他のレコグナイザイベン
トを処理するイベントハンドラ328を備える(以下の「イ
ベント発生」で説明)。
コントロール310および追加ロジックによるQAコントロ
ールは、いくつかを挙げると、出力可聴プロンプト機能
を提供する、入力データを収集する、入力結果の信頼性
妥当性確認を実行する、「ヘルプ」コマンドやクライア
ントデバイスのユーザがWebサイトの他の選択された領
域にナビゲートするためのコマンドなどの追加タイプの
入力を使用できるようにする、入力データの確認および
Webサイトでのダイアログの流れの制御を可能にする機
能のうち1つまたは複数を実行できる。つまり、QAコン
トロール320は特定のトピックに関係するすべてのコン
トロールを含むということである。このようにして、ダ
イアログはトピックに関してコントロールの使用を通じ
て作成され、情報取得を通知する、妥当性確認を行う、
あるいはダイアログを修復したり、会話のトピックを変
更したりすることができる。
アプリケーション開発者は視覚的コントロール302を使
用してアプリケーションの視覚的レイアウトを定義する
ことができる。アプリケーション開発者は、その後、随
伴コントロール306を使用してアプリケーションの音声
インターフェースを定義することができる(QAコントロ
ール320、または出力コントロール308および入力コント
ロール310として実現する)。図10および11に示されてい
るように、随伴コントロール306のそれぞれは対応する
主コントロールまたは視覚的コントロール302にリンク
されるか、または他の手段で関連付けられ、認識および
可聴プロンプト機能を実装する。もちろん、望むなら
ば、アプリケーション開発者は視覚的コントロール302
と随伴コントロール306との間で切り替えを行うことに
よりアプリケーションを定義またはエンコードし、それ
らの間のリンクを形成し、アプリケーションが完全に定
義またはエンコードされるようにする。
入力コントロール310のそれぞれについて簡単に説明す
ると役立つと思われる。詳細な説明は、以下の付録Bで
行う。
ントロール308Aおよび応答コントロール310Aは主コント
ロール302に関連するプロンプトおよび文法リソース、
および関係するバインド(認識結果をクライアントサイ
ドマークアップページの入力フィールドに関連付ける)
および処理ロジックを保持する。質問コントロール308A
と応答コントロール310Aが存在するか存在しないかによ
り、音声出力または認識入力がアクティブ化したときに
有効になるかどうかが決まる。コマンドコントロール31
0Bおよびユーザイニシアチブ応答は、応答コントロール
310Aとコマンドコントロール310Bに対するScopeプロパ
ティの指定によりアクティブになる。
コントロール320は通常、1つの質問コントロールまたは
オブジェクト308Aと1つの応答コントロールまたはオブ
ジェクト310Aを保持する。以下の例では示されていない
が、コマンドコントロール310Bはさらに、たとえば、He
lp、Repeat、Cancelなどに指定でき、これにより、特定
の質問の応答に直接関係しないユーザ入力が使用可能に
なる。
QAコントロールは以下のとおりである。
ムワークで作成されているが、例にすぎず、本発明を制
限するものとみなすべきではない。) この例では、QAコントロールを「ID」で識別することが
でき、QAコントロールと目的の主または視覚的コントロ
ールと関連付けはパラメータ「ControlsToSpeechEnabl
e」を通じて取得され、それぞれ識別子により1つまたは
複数の主コントロールを識別する。必要ならば、他のよ
く知られている手法を使用してこの関連付けを形成する
ことができる。たとえば、直接的な暗黙の関連付けは、
上述の第1と第2のアプローチを通じて使用するか、また
は関連付けを保持するために別々のテーブルを作成する
ことができる。パラメータ「runat」で、このコードをW
ebサーバ202で実行して正しいマークアップを生成する
ようWebサーバに指示する。
コントロール308Cのみを保持することもでき、その場
合、これは、アクティブな文法のないプロンプト専用コ
ントロールである(たとえば、初期画面プロンプト)。同
様に、QAコントロールは応答コントロール310Aのみを保
持することができ、その場合、マルチモードコントロー
ルとすることができ、その応答コントロール310AはGUI
またはユーザイニシアチブ用の範囲設定メカニズム(後
述)からのイベントの結果として文法を直接アクティブ
にする。
質問コントロール308Aおよび複数の応答コントロール31
0Aなどの複数の出力コントロール308および入力コント
ロール310を保持することもできる。これにより、作成
者は同じQAコントロール内の同じエンティティに関して
相互作用の流れを記述することができる。これは、特
に、さらに複雑な音声専用ダイアログの場合に有用であ
る。したがって、さまざまな質問と応答(たとえば、問
いかけ、確認、ヘルプ提示など)を伴うミニダイアログ
を、ダイアログエンティティを表す視覚的コントロール
と関連付けられているQAコントロールのラッパー内で指
定することができる。複雑なQAコントロールを図11に示
す。
ている。以下では各機能について機能の観点から説明す
る。
びその他の認識処理を抽象化し、単一のオブジェクトま
たはコントロールにまとめる。応答コントロール310Aを
使用して、バインド宣言および関連スクリプトととも
に、質問に関連する使用可能な文法セットを指定するこ
とができる。「Tap-and-Talk」などのマルチモードアプ
リケーション用の応答コントロールは、GUIブラウザイ
ベントによりアクティブ化、非アクティブ化が行われ
る。以下の例は、マルチモードアプリケーションにおい
てテキストボックス「txtDepCity」の「mouseDown」イ
ベントで出発地の都市を選択するために使用される応答
コントロールを示しており、その値を主テキストボック
スコントロールに書き込む。
コントロール310Aは、後述のように質問コントロール30
8Aにより直接アクティブにされる。
果を主コントロールに関連付けるメカニズムを備える。
ここで、バインドにより値が主コントロール内に入る
が、他の実施形態では、関連付けメカニズムにより主コ
ントロールは認識された結果を見たり、または他の手段
でそれにアクセスしたりすることができる。
念を抽象して、可能なプロンプトとその質問への応答と
見なされる応答コントロール310Aの選択を含むオブジェ
クトにまとめる。各質問コントロール308Aは、実行した
ときにアクティブにする応答コントロール310Aを指定で
きる。これにより、適切な応答文法を応答コントロール
310Aにバンドルし、関連する質問コントロール308Aを反
映するようにできる。
都市を尋ねるために音声専用アプリケーションで使用で
きる。
部条件に応じて異なるプロンプトを呼び出すことができ
る。質問コントロール308A内でプロンプトに対し条件付
きテストを指定できるため、言い回しに変更があって
も、質問コントロール308Aの同じ機能ユニット内で対応
できる。
いてQAコントロールをアクティブにするかどうかを決定
する方法を示している。例は、調査アプリケーションの
一部である。調査は、仕事に使用する輸送の方法に関し
て従業員から情報を収集するというものである。
を使用するかどうかを尋ねる。応答が次の場合: -はい。次の質問ではユーザが先週バスに乗った日数を
尋ねる。 -いいえ。「バスに乗った日数」の質問はバイパスされ
る。
odeBus」は、ブール値パラメータ「ClientTest」に基づ
いて実行され、この例では、関数RideBusCheck()に基づ
いて設定される。この関数が偽条件を返した場合、QAコ
ントロールはアクティブにされないが、真条件が返され
た場合、QAコントロールはアクティブにされる。アクテ
ィブ化メカニズムを使用することにより、生成されるク
ライアントサイドマークアップページ内の柔軟性が増
し、ダイアログの流れが向上する。付録Bに示されてい
るように、コントロールおよびオブジェクトの多くはア
クティブ化メカニズムを備える。
通のユーザ発声機能であり、通常、尋ねられた質問に関
してほとんど意味的な取り込みはないが、むしろ、補助
または効果ナビゲーション、たとえば、ヘルプ、キャン
セル、繰り返しなどの機能を求める。QAコントロール30
6内のコマンドコントロール310Bを使用すると、認識の
文法および関連処理だけでなく(むしろ結果を入力フィ
ールドにバインドしない応答コントロール310Aに似てい
る)、コンテキストおよびタイプの「範囲」も指定する
ことができる。このため、クライアントサイドマークア
ップに対するグローバルな動作およびコンテキスト依存
の動作の両方のオーサリングが可能である。
ントロール302で使用されているのと同様にコントロー
ル306をツリー構造に編成できることは明白であろう。
各コントロール306はさらに選択された視覚的コントロ
ール302に関連付けられるため、コントロール306の編成
はコントロール302の構造に関連付けることができる。
クコントロール(テキストボックス、ラベルなど)とコン
テナコントロール(フォーム、パネルなど)の両方を音声
対応にできる。これは、サブダイアログコントロールの
動作の範囲を定めモジュール化する手段となっている。
たとえば、この範囲により、クライアントデバイスのユ
ーザはダイアログを終了せずにクライアントサイドマー
クアップページの他の部分にナビゲートすることができ
る。
コントロールツリーのノードとして決定される。以下
に、2つのテキストボックスを備える、「Pnl1」コンテ
ナコントロールのレベルで範囲設定された「ヘルプ」コ
マンドの例を示す。
は、「Pnl1」およびそのコンテンツに関係するすべての
QAコントロール内でアクティブになる。GlobalGiveHelp
サブルーチンは、「ヘルプ」が認識されることに実行さ
れる。これを指定変更し、コンテキスト依存の動作を行
わせるために、同じタイプのコマンドをコンテキストの
要求されるレベルに合わせて範囲設定することができ
る。
のオーサリングを簡素化するメソッドを備えることもで
きる。以下のQAコントロールは、値の入力を求め、その
確認を行う代表的なサブダイアログの例である。
その信頼レベルはconfirmThreshold値を超えない「whic
h city?」に対するユーザの応答により、確認コントロ
ール308が起動する。作成者が利用できるさらに柔軟な
確認方法として、複数の質問コントロールと複数の応答
コントロールを使用するメカニズムがある。
係する追加入力コントロールに、受理コントロール、否
認コントロール、および訂正コントロールが含まれる。
それぞれのコントロールは、対応する確認コントロール
によりアクティブにし(他のコントロールと似た方法
で)、それぞれ結果を受理、否認、または訂正する文法
を含めることができる。たとえば、ユーザは、「no」で
応えて否認する、「yes」または「yes」+現在値(たとえ
ば、「Do you want to go to Seattle?」「Yes,to Seat
tle」)で応えて受理する、「no」+新しい値(たとえば、
「Do you wantto go to Seattle」「No, Pittsburgh」)
で応えて訂正することができる。
ション開発者はクライアントデバイス30のユーザからの
応答を必要としないときにクライアントサイドマークア
ップの実行後に出力を行うことができる。たとえば、
「Welcome」プロンプトをクライアントサイドマークア
ップページの実行の始めに再生することができる。
え、クライアントデバイスのユーザに送られるさまざま
な種類の情報を区別するようにできる。たとえば、警告
メッセージまたはヘルプメッセージを表す属性を用意す
ることができる。これらのタイプは、異なる音声などの
異なるビルトインプロパティを備えることができる。必
要ならば、別の形式のステートメントコントロール、つ
まりヘルプコントロール、警告コントロールなどを用意
することもできる。別のコントロールまたはステートメ
ントコントロールの属性として用意したどうかどうかに
関係なく、異なる種類のステートメントは、作成された
ダイアログの中で異なる役割を持つが、返答を期待せず
にクライアントデバイスのユーザに情報を送る基本的な
役割を共有する。
アントデバイス30のユーザのアクション/非アクション
および認識サーバ204の操作のためにQAコントロール32
0、出力コントロール308、および入力コントロール310
内に用意されるが、他のイベントについては付録Bで仕
様を定めている。たとえば、いくつかを挙げると、ユー
ザが発話しているがその単語を音声レコグナイザ側が認
識できないようなぶつぶつ言う話し方と、音声が全く検
出されない無音状態は、QAコントロール320で指定す
る。これらのイベントでは、作成者が定義したクライア
ントサイドスクリプト機能を参照する。前に指定したマ
ルチモードアプリケーションでは、エラーメッセージを
テキストボックス内に出力する単純なマンブル(mumble)
ハンドラを次のように作成することができる。
モジュール(ここでは「RunSpeech」)をクライアントデ
バイスに備える。このスクリプトの目的は、クライアン
トデバイス30で実行したときに、つまり、そこに含まれ
る値に応じてクライアントで実行するためコントロール
に関係するマークアップをアクティブにしたときにスク
リプトで指定されたダイアログの流れをロジックを介し
て実行することである。このスクリプトを使用すること
で、ページ要求間で複数のダイアログターンが可能にな
り、したがって、電話ブラウザ216などの音声専用ダイ
アログのコントロールに特に有用である。クライアント
サイドスクリプトRunSpeechは、完成フォームが送信さ
れるか、または新しいページが他の方法でクライアント
デバイス30から要求されるまでクライアントデバイス30
上で実行されループする。
クライアント上で実行されたときに値に応じて互いをア
クティブにし合うことができることに留意すべきであ
る。(たとえば、質問コントロールが選択された応答コ
ントロールをアクティブにする)。ただし、他の実施形
態では、コントロールは適切なマークアップを生成する
ために互いを「アクティブ」にすることができるが、そ
の場合、サーバサイド処理を実装できる。
ムで音声出力とユーザ入力の認識によりダイアログター
ンを生成する。アルゴリズムの全体的なロジックは、音
声専用シナリオについて以下のとおりである。 1.次のアクティブな出力随伴コントロールを見つける。 2.それがステートメントの場合、ステートメント再生
し、1に戻り、質問または確認の場合は、3に進む。 3.予想される応答を収集する。 4.コマンドを収集する。 5.出力コントロールを再生し、入力を待つ。 6.認識された応答またはコマンドオブジェクトをアクテ
ィブにするか、または何も認識されない場合はイベント
を発行する。 7.1に戻る。
アルゴリズムに簡素化される。 1.イベントの発生、つまりユーザがコントロールを叩く
のを待つ。 2.予想される応答を収集する。 3.入力を待つ。 4.認識された応答オブジェクトをアクティブにするか、
または何もなければ、イベントをスローする。 5.1に戻る。
トロールにいつアクティブにできるかということに関す
る情報が組み込まれているため比較的単純である。ま
た、ダイアログ内のコントロールの役割も使用する。た
とえば、ステートメントを即座に再生し、その一方で、
質問および確認を予想される応答が収集されたときだけ
再生する。
ことができ、それによってシステムは情報断片を確認
し、同時に質問を出す。たとえば、システムは旅客機の
到着都市を確認し、「"When do you want to go to Sea
ttle?」という1回の発話で旅行日を尋ねることができる
(つまり、「いつ」を尋ね、暗黙のうちに「目的地:シア
トル」を確認する)。ユーザが日付を指定した場合、そ
の目的地の市が正しくなければユーザがすぐに異議申し
立てするので、その目的地の市は暗黙のうちに受理され
たと見なされる。このシナリオでは、質問に答えている
か、あるいは値を訂正しているか、あるいはヘルプを要
求しているかなど、ユーザが達成しようとしている内容
がわかっていることが非常に重要であることは明白であ
る。ダイアログでユーザ入力の役割を使用することによ
り、システムは値をいつ暗黙のうちに受理するかを知る
ことができる。
コントロールの役割と他のコントロールとの関係に応じ
て作成され、アルゴリズムはそれらのコントロールを実
行し、これによりそのダイアログを管理するということ
である。各コントロールは、クライアント側のダイアロ
グ内のその位置で有用な目的に使用されるかどうかに応
じて所定のコントロールを選択する(つまり、実行のた
めアクティブにする)ために実行アルゴリズムにより使
用されるタイプに基づく情報を格納する。たとえば、確
認コントロールは、確認する値があり、先へ進もうにも
システム内のその値が十分に信頼できるとはいえないと
きのみ、アクティブになる。他の実施形態では、これら
の組み込まれた情報断片のほとんどは、アプリケーショ
ン開発者側で指定変更するか、または他の方法で手直し
することができる。
での対応する役割、および他のコントロールとの関係を
まとめた。
は、単純な人間/コンピュータダイアログの図を使用し
て説明できる。以下のダイアログでは、システムまたは
ユーザの部分の各ダイアログターンは、そのダイアログ
の目的を反映するコントロール(かっこ内)に応じて特徴
づけられる。
booking service」 2.システム(質問):「Where would you like to go?」 3.ユーザ(応答):「San Francisco.」 4.システム(確認):「Did you say Seattle?」 5.ユーザ(否認):「No.」 6.システム(質問):「Where would you like to go?」 7.ユーザ(応答):「San Francisco.」 8.システム(確認):「Did you say Seattle?」 9.ユーザ(訂正):「I said San Francisco.」 10.システム(確認):「Did you say San Francisco?」 11.ユーザ(訂正):「Yes.」 12.システム(質問):「When would you like to leave
?」 13.ユーザ(コマンド):「Help.」
ントである。ステートメントコントロールに応答でアク
ティブにする応答コントロールがないため、システムは
入力を予期しない。システムは、引き続き、ターン2で
質問コントロールをアクティブにする。次に、「San Fr
ancisco」、「Seattle」などサービスを通じて利用でき
る市を含む文法を保持するものを含む可能な応答コント
ロールセットをアクティブにし、ユーザがターン3でそ
のような市を指定できるようにする。
認識される。システムでは市に対する応答コントロール
からの値があると信頼しているが、その値の信頼性は低
い(間違って認識されているためまさしくそうである)。
受け取ったばかりの応答コントロールのこのように低い
信頼性の値は、RunSpeechがターン4で生成されるように
システムの部分の確認コントロールを起動するには十分
な情報である。次に確認コントロールは、否認コントロ
ール、訂正コントロール、および受理コントロールをア
クティブにし、ユーザの次のターンを認識するのにそれ
ぞれの文法を使用できるようにする。ユーザのターン
5、9、および11は、これらのコントロールの応答例を示
している。ユーザのターン5では、値「no」を単に否認
する。これは、システムから値を削除する効果があり、
したがって、RunSpeechの次のアクションは、値を再取
得するために再び質問することである(ターン6)。
に確認コントロールに戻る。
り、これもまた、確認コントロールの可能な応答として
アクティブにされている。訂正コントロールでは、確認
対象の値を否認するだけでなく、新しい値をも指定す
る。したがって、ユーザターン9は、システムによっ
て、正しくはことのときに「San Francisco」と認識さ
れる新しい値を持つ正しいコントロールであると認識さ
れる。
は低く、なお他の確認コントロールがターン10で生成さ
れる。次に、応答でコントロールの受理、否認、および
訂正がアクティブになり、ユーザターン11(「Yes」)は
受理コントロール文法と一致する。受理コントロールの
認識には取得しようとしている値に対するシステムの信
頼の「グラウンディング(grounding)」の効果があり、
したがって、RunSpeechは他の空の値を選択して取得す
ることができる。ターン12で、日付の値を要求する新し
い質問コントロールが出力される。今回のユーザの応答
(ターン13)はコマンド「help」である。コマンドコント
ロール、通常、グローバルな形で、つまり、システムの
部分の異なる質問コントロールおよび確認コントロール
とは独立にアクティブにされる。このようにして、ユー
ザは、ターン13でするようにいつでもヘルプを要求する
ことができる。コマンドコントロールはさらに、主コン
トロール構造の部分について話しているアクティブ化の
範囲を定めるメカニズムによりさらに細かく使用可能に
することができる。
では、クライアントサイドスクリプトRunSpeechは主コ
ントロールのそれぞれの中の値と、QAコントロールの属
性を調べ、現在のページのQAコントロールの選択テスト
を行い、実行用の単一QAコントロールを選択する。たと
えば、選択したQAコントロール内で、単一の質問および
その対応するプロンプトが出力に対して選択され、その
後、対応する質問に対する代表的な応答に関して文法が
アクティブにされる。追加文法も、並行してアクティブ
にされ、他のコマンド(またはその他の応答)を使用でき
るようになり、これは許容可能であるとして示されてい
る。認識が行われ、入力データに対する他の処理が完了
していると仮定すると、クライアントサイドスクリプト
RunSpeechは、再び、次に実行するQAコントロールを確
認し始める。RunSpeechの実装例とアルゴリズムについ
て付録Bで取り上げる。
ムまたはモジュールの使用は、上述のクライアント/サ
ーバアプリケーションに限定されないが、むしろ他のア
プリケーションの抽象化とともに使用するように手直し
することができることに注目されたい。たとえば、クラ
イアントデバイス30でのみ実行される、VoiceXMLなどの
アプリケーションは、VoiceXMLブラウザの一部としてま
た同じようにして動作する上記の質問および応答などの
他の要素またはコントロールをたぶん含むことができ
る。この場合、上述のRunSpeechアルゴリズムのメカニ
ズムを、特別なスクリプトなしでブラウザによりデフォ
ルトで実行することができる。同様に、有限状態機械な
どの他のプラットフォームを手直しして、ここで説明し
たコントロールおよびRunSpeechアルゴリズムまたはモ
ジュールを含むようにできる。
02(ページ上の既存コントロール)と関連付けられる。そ
のため、随伴コントロール306では、ビジネスロジック
および主コントロール302のプレゼンテーション機能を
再利用することができる。これは、主コントロール302
に値を格納し、変更を主コントロール302に通知すると
いう2つの方法で行う。
れるメカニズムを介してその値を主コントロール302と
同期させるかまたは関連付ける。バインドにより、レコ
グナイザから取り出された値は主コントロール302に格
納され、たとえば、テキストがテキストボックスに入力
されるが、これは応答コントロールの例に示されてい
る。主コントロール302は視覚的プレゼンテーションを
行う役割を持つため、マルチモードシナリオで視覚的フ
ィードバックがユーザに送られる。
ナイザを介して入力を受け取ったことを主コントロール
302に通知するメカニズムも備える。これにより、主コ
ントロール302は、ビジネスロジックを呼び出すなどの
アクションを実行することができる。(通知で結局、随
伴コントロール306は主コントロール302に書き込む値に
コミットすることになるため、実装によりこの通知を細
かく制御できるメカニズムを用意する。このコントロー
ルは応答コントロール上のRejectThresholdおよびConfi
rmThresholdプロパティにより与えられ、このコントロ
ールで音響信頼値を指定し、この数値よりも下回る値を
システムはそれぞれ拒絶するかまたは確認を試みる。)
ら説明したが、当業者は本発明の主旨と範囲を逸脱する
ことなく形式と詳細に変更を加えられることを認識する
であろう。
体として使用するためのマークアップ要素セットであ
る。タグは、自己充足型のXMLとなるように設計されて
おり、HTML、XHTML、cHTML、SMIL、WMLなどのSGML派生
マークアップ言語に埋め込むことができる。ここで使用
するタグは、ワシントン州レドモンドのMicrosoft Corp
orationが配布しているメソッド群であるSAPI 5.0と似
ている。タグ、要素、イベント、属性、プロパティ、戻
り値などは、例にすぎず、制限するものとみなすべきで
はない。ここで音声およびDTMF認識について例を挙げて
いるが、似ているタグは他の形式の認識についても提供
できる。
るための手段を指定するために使用する。したがって、
その主要な要素は<grammar>および<bind>であり、レコ
グナイザのプロパティを設定するためのリソースを含
む。
介してアップレベルブラウザでプログラムによりアクテ
ィブにされるか、またはSMILコマンドを使用してSMIL対
応ブラウザによりアクティブにされる。これらは、ペー
ジ上に存在することによりダウンレベルブラウザ(つま
り、スクリプト非対応ブラウザ)で宣言的にアクティブ
と見なされる。複数の文法を並行してアクティブにする
ため、複数のReco要素を同時にアクティブであると考え
ることができる。
「単一」、「複数」-があり、使用可能にする認識シナ
リオの種類および認識プラットフォームの動作を区別す
ることもできる。
で認識の結果を検査し関連する部分を、含むページ内の
値にコピーする一組のバインド要素が含まれる。
文法規則のプログラムによるアクティブ化と非アクティ
ブ化をサポートする。また、文法のすべての上位規則は
認識コンテキストに対してデフォルトでアクティブにな
っていることに注意されたい。
して参照することで文法を指定する。通常、少なくとも
1つの文法(インラインまたは参照)を指定する。インラ
イン文法(Inline grammars)は、テキストベースの文法
形式であり、参照文法(referenced grammars)はテキス
トベースまたはバイナリ型である。複数の文法要素を指
定することもできる。複数の文法要素を指定した場合、
文法内の規則は同じ文法内の特別規則として追加され
る。同じ名前の規則があれば、上書きされる。
ン。含める文法のURI。文法のすべての上位規則は認識
コンテキストに対してデフォルトでアクティブになって
いることに注意されたい。 ・langID:オプション。音声エンジンで使用する言語を
示す文字列。文字列の形式は、xml:langの定義に従う。
たとえば、langID="en-us"は米国英語を表す。この属性
は、langIDが文法URIで指定されていない場合にのみ有
効である。指定されていない場合、米国英語がデフォル
ト値である。
合、langIDは最低範囲からの優先順位に従う-リモート
文法ファイル(つまり、言語idは文法ファイル内で指定
する)の後に文法要素が続き、その後にreco要素が続
く。
定した場合、インライン規則が参照規則に追加され、同
じ名前の規則があればそれは上書きされる。
合に使用する。
認識結果を指定するための意味論的マークアップ言語(S
ML)を含むXMLドキュメントとすることができる。そのコ
ンテンツには、意味論的値、話された実際の単語、およ
び信頼度得点が含まれる。SMLは、さらに、他の認識選
択も含むことができる(N最良認識結果の場合と同様)。
発話「I'd like to travel from Seattle to Boston」
のサンプルSMLドキュメントを以下に示す。
ークアップ言語では、SML-を出力すると仮定されている
ので、SMLドキュメントからバインドされる値はXPathク
エリを使用して参照される。また、値がバインドされる
ページ内の要素は一意に識別されるため(フォームコン
トロールである可能性がある)、これらのターゲット要
素は直接参照される。
れる要素(W3C SMIL 2.0の場合と同様)。 ・targetAttribute:オプション。SMLからの値内容が割
り当てられるターゲット要素の属性(SMIL 2.0のattribu
teName属性の場合と同様)。指定されていない場合、「v
alue」がデフォルト値である。 ・test:オプション。認識結果を割り当てる際の条件を
示すXMLパターン(W3C XML DOM仕様で規定されている)文
字列。デフォルトの条件は真である。 ・value:必須。ターゲット要素に割り当てる認識結果ド
キュメントから値を指定するXPATH(W3C XML DOM仕様で
規定されている)文字列。
のreco要素はbindを使用してorigin_cityとdest_cityの
中の値をターゲットページ要素txtBoxOriginおよびtxtB
oxDestに転送する。
きの場合があり、バインド操作の事前条件としてdest_c
ity結果の信頼属性についてテストを実行する。
アップレベルブラウザ上で認識結果を処理するための単
純な宣言的手段である。より複雑な処理については、ア
ップレベルブラウザによってサポートされているreco D
OMオブジェクトがonRecoイベントハンドラを実装し、プ
ログラムによるスクリプト解析および戻された認識結果
の後処理を可能にする。
り、プロパティはアップレベルブラウザでサポートされ
ている。
イザを設定する場合に使用する。 ・initialTimeout:オプション。認識の開始から発声の
検出までのミリ秒単位の時間。この値は、認識プラット
フォームに渡され、この値を超えると、認識プラットフ
ォームからonSilenceイベントが送られる(2.4.2を参照
のこと)。指定していない場合、音声プラットフォーム
はデフォルト値を使用する。 ・babbieTimeout:オプション。レコグナイザが音声検出
後結果を返さなければならないミリ秒単位の期間。reco
が自動および単一モードの場合、これは音声検出から停
止コールまでの期間に適用される。recoが「複数」モー
ドの場合、このタイムアウトは音声検出から各認識の返
却までの期間に適用されるが、要するに、この期間は結
果またはその他のイベントを返すごとにリスタートす
る。この値を超えた場合、エラーが発生したかどうかに
応じて異なるイベントがスローされる。レコグナイザは
まだオーディオを処理している場合、たとえば、発話が
例外的に長い場合、onNoRecoイベントがスローされ、ス
テータスコード13が返される(2.4.4を参照)。ただし、
他の何らかの理由によりこのタイムアウト値を超えた場
合、レコグナイザのエラーが発声する可能性が高くな
り、onTimeoutイベントがスローされる。指定していな
い場合、音声プラットフォームは、デフォルト値として
内部値を使用する。 ・maxTimeout:オプション。認識開始からブラウザに結
果が返されるまでのミリ秒単位の期間。この値を超えた
場合、ブラウザによってonTimeoutイベントがスローさ
れる、これにより分散環境でのネットワークまたはレコ
グナイザの障害に対処する。recoが「複数」モードの場
合、babbleTimeoutの場合のように、各認識結果が返さ
れるごと、または他のイベントの後にこの期間が再スタ
ートする。maxTimeout属性はinitialTimeoutとbabbleTi
meoutの合計以上でなければならないことに注意された
い。指定していない場合、この値がブラウザデフォルト
値になる。 ・endSilence:オプション。Recoが自動モードの場合、
認識結果が返される前の音声がない状態でなければなら
ない発話の終わりの後のミリ秒単位の無音期間。自動以
外のモードのrecoについては無視される。指定されてい
ない場合、デフォルト値はプラットフォームの内部値で
ある。 ・reject:オプション。この値よりも小さいときにプラ
ットフォームが「no reco」イベントをスローする認識
拒絶しきい値。指定していない場合、音声プラットフォ
ームはデフォルト値を使用する。信頼度得点の範囲は0
から100(整数)までである。拒絶値は間に入る。 ・server:オプション。音声プラットフォームURI(タグ
インタプリタおよび認識プラットフォームが同じ場所に
配置されていない場合に使用する)。値の例として、ser
ver=protocol://yourspeechplatformがある。アプリケ
ーション作成者は、クエリ文字列をURI文字列に追加す
る、たとえばprotocol://yourspeechplatform?bargeinE
nergyThreshold=0.5とすることで、音声プラットフォー
ム固有の設定を行うこともできる。 ・langID:オプション。音声エンジンで使用する言語を
示す文字列。文字列の形式は、xml:langの定義に従う。
たとえば、langID="en-us"は米国英語を表す。この属性
は、langIDが文法要素で指定されていない場合にのみ有
効である(2.1.1を参照)。 ・mode:オプション。従うべき認識モードを指定する文
字列。指定されていない場合、「automatic」モードが
デフォルト値である。
結果が格納される(これらは、アップレベルブラウザに
よってサポートされている)。 ・recoResult読み取り専用。2.1.2で説明されているよ
うに、意味論的マークアップ言語(SML)を含むXML DOMノ
ードオブジェクト内に保持される認識の結果。認識がな
い場合、プロパティはNULLを返す。 ・text読み取り専用。認識された単語のテキストを保持
する文字列(つまり、recoResult内のSML認識戻り値の最
高レベルの要素のテキスト属性のコンテンツに対する速
記)。 ・status:読み取り専用。認識プラットフォームによっ
て返されるステータスコード。可能な値は、認識成功を
表す0、または-1から-4の失敗値(Startメソッド(2.3.1
項)およびActivateメソッド(2.3.4項)で可能な例外で定
義されている)、およびレコグナイザイベントの受け取
り時に設定される-11から-15までのステータス(2.4を参
照)。
Mオブジェクト内の以下のメソッドを使用して制御でき
る。これらのメソッドを使用することで、アップレベル
ブラウザはRecoオブジェクトの起動および停止、進行中
の認識のキャンセル、および個別の文法最上位規則のア
クティブ化および非アクティブ化を実行できる(アップ
レベルブラウザのみ)。
い認識コンテキストに対するすべての最上位規則をアク
ティブな文法として使用し、認識プロセスを開始する。
コードを設定し、失敗した場合にonNoRecoイベントが起
動する。考えられる失敗としては、文法がない(recoス
テータス=-1)状況、文法をコンパイルできなかったなど
さまざまな理由が考えられる文法をロードできなかった
状況、URIが存在していない(recoステータス=-2)状況、
または音声プラットフォームエラー(recoステータス=-
3)状況がある。
ある。Recoオブジェクトは音声記録を停止し、レコグナ
イザは記録が停止された時点までに受け取った音声の認
識結果を返す。Recoで使用しているすべての認識リソー
スは解放され、その文法は非アクティブ化される。(自
動モードでは標準的な認識に対してはこのメソッドを明
示的に使用する必要はないが、これは、レコグナイザ自
体が安全なセンテンスを認識した後終点検出時にrecoオ
ブジェクトを停止するからであることに注目された
い。)Recoが起動されていない場合、この呼び出しは生
じない。
止し、文法を非アクティブ化し、レコグナイザを解放
し、認識結果を破棄する。ブラウザは、キャンセルされ
た認識の認識結果を破棄する。レコグナイザが起動され
ていない場合、この呼び出しは生じない。
をアクティブにする。「開始した」認識プロセスで有効
にならないので、認識が開始する前にアクティブ化を呼
び出す必要がある。明示的に非アクティブ化されていな
い認識コンテキストに対する文法最上位規則はすべて、
すでにアクティブになっているものとして扱われること
に注意されたい。
名。
ブにする。規則が存在していない場合、このメソッドは
効果がない。
名。空の文字列はすべての規則を非アクティブにする。
り、ハンドラはreco要素の属性として指定することがで
きる。
認識結果がある場合に起動する。自動モードでのrecoで
は、このイベントにより、認識プロセスが自動的に停止
し、リソースがクリアされる(2.3.2を参照)。OnReco
は、通常、認識結果のプログラムによる分析と結果を処
理してページに挿入する操作に使用される。
プロパティを直接には受け取らないが、ハンドラはイベ
ントオブジェクトに対してデータについてのクエリを実
行できる(以下の例のイベントオブジェクトの使用を参
照のこと)。
析し、値を適切なフィールドに割り当てるスクリプトを
呼び出す。
itialTimeout属性で指定された持続時間の前に認識プラ
ットフォームによって音声がないことを検出するイベン
トを処理する(2.2.1を参照)。自動認識モードの場合
に、このイベントにより認識プロセスが自動的にキャン
セルされる。
プロパティを直接には受け取らないが、ハンドラはイベ
ントオブジェクトに対してデータについてのクエリを実
行できる。
を反映する2種類のイベントを処理する。
を参照)で指定されている期間が期限切れになったこと
を知らせるタグインタプリタによりスローされたイベン
トを処理する。このイベントは、通常、分散アーキテク
チャで発生する可能性のある問題を反映する。 ・また、(ii)認識が開始したがbabbleTimeoutによって
指定された期間内に認識が行われずに処理が停止したと
きに音声認識プラットフォームによってスローされるイ
ベントを処理する。
的にキャンセルされる。
プロパティを直接には受け取らないが、ハンドラはイベ
ントオブジェクトに対してデータについてのクエリを実
行できる。
結果を返すことができない場合に音声認識プラットフォ
ームによってスローされるイベント用のハンドラであ
る。このような状況が発生するさまざまなケースをステ
ータスコードで区別する。このイベントにより、認識プ
ロセスが自動的に停止される。
プロパティを直接には受け取らないが、ハンドラはイベ
ントオブジェクトに対してデータについてのクエリを実
行できる。
そのコンテンツは以下のうちの1つまたは複数である。 ・韻律的なまたはその他の音声出力情報でマークアップ
できるインラインまたは参照テキスト。 ・含有するドキュメントからレンダリング時に取り出し
た変数値。 ・オーディオファイルへのリンク。
によって宣言的に解釈するか(SMILコマンドによってア
クティブにする)、またはアップレベルブラウザのオブ
ジェクトメソッドにより宣言的に解釈することができ
る。
たはオーディオファイルへの参照またはその両方として
含む。
トのみを指定する必要がある。例:
クアップをさらに含むことができる。
内側で使用することがきる。(この形式は、3.2.1で説明
している「tts」属性で指定することができる。) 以下の例は、テキスト内のいくつかの単語を強調する命
令を含むテキストを示している。
前に計算する必要がある。たとえば、特定の値を確認す
るには、変数内の値の参照を解除する必要がある。valu
e要素はこの目的にも使用できる。
出す。
tのいずれかを指定する必要がある。取り出す値を含む
要素のid。 ・targetAttribute:オプション。値が取り出される要素
の属性。 ・href:オプション。オーディオセグメントのURI。href
は、両方が存在する場合targetElementを指定変更す
る。
ュメント内の要素を参照する。idがtargetElementで指
定されている要素のコンテンツが合成するテキスト内に
挿入される。目的のコンテンツが要素の属性内に保持さ
れている場合、targetAttribute属性を使用して、targe
tElement上の必要な属性を指定することができる。これ
は、たとえば、HTML形式のコントロール内の値の参照を
解除する場合に使用する。次の説明では、「txtBoxOrig
in」および「txtBoxDest」要素の「value」属性がプロ
ンプトの出力前にテキストに挿入される。
たは合成されたプロンプト内で再生するために事前記録
されたオーディオファイルを参照する場合にも使用でき
る。以下の例では、プロンプトの終わりにビープ音を再
生する。
に、src属性を空の要素とともに使用してURI経由で外部
コンテンツを参照することができる。
ンプトに対して指定された上記のコンテンツのどれかま
たはすべてを保持することができる。
びプロパティ(ダウンレベルブラウザおよびアップレベ
ルブラウザ)を保持する。
言語タイプ。デフォルトは「SAPI 5」である。 ・src:インラインプロンプトが指定されている場合、オ
プション。参照されているプロンプトのURI(3.1.4を参
照)。 ・bargein:オプション。整数。プロンプトの開始から人
間の聞き手が再生を中断できるまでのミリ秒単位の期
間。デフォルトは無限大、つまりbargeinを許可してい
ない。Bargein=0だと、bargeinが直ちに始まる。これ
は、プラットフォームでサポートしているどのような種
類のbarge-inにも適用される。recoが起動したときにど
れが有効になっているかに応じてキーワードまたはエネ
ルギーベースのbargein時間をこの方法で設定できる。 ・prefetch:オプション。ページがロードされたときに
プロンプトを即座に合成しブラウザにキャッシュするか
どうかを示すブール値のフラグ。デフォルトは偽であ
る。
トで以下のプロパティをサポートしている。 ・bookmark:読み取り専用。最後に出会った合成ブック
マークのテキストを記録する文字列オブジェクト。 ・status:読み取り専用。音声プラットフォームによっ
て返されるステータスコード。
以下のメソッドを使用して制御できる。この方法では、
アップレベルブラウザはプロンプトオブジェクトの起動
および停止、進行中のプロンプトの一時停止および再
開、および合成された音声の速度と音量の変更を行うこ
とができる。
限り、このメソッドはオブジェクトのコンテンツを再生
する。単一のプロンプトオブジェクトのみが、所定の時
刻に「起動されている」と見なされ、したがって、Star
tを連続して呼び出すと、すべての再生が順番に実行さ
れる。
ト。存在する場合、この引数によりオブジェクトのコン
テンツが指定変更される。 戻り値:なし。
バッファがすでにサーバによって解放されているとして
もonCompleteイベントを起動する。
する。このメソッドは、再生が一時停止または停止状態
の場合には効果がない。
る。このメソッドは、再生が一時停止状態でなかった場
合には効果がない。
る。
ッファをフラッシュする。再生がすでに停止している場
合、このメソッドは単にオーディオバッファをフラッシ
ュするだけである。
ngeを呼び出せる。
すると現在の速度が倍になり、speed=0.5とすると現在
の速度が半分になり、speed=0とするとデフォルト値に
戻る。 o volume:必須。変更する係数。Volume=2.0とすると現
在の音量が倍になり、Volume=0.5とすると現在の音量が
半分になり、Volume=0とするとデフォルト値に戻る。
ントロールをキーワードbarge-inメカニズムをサポート
していないプラットフォームに対しオーサリングする方
法を示している。
しており、ハンドラはprompt要素の属性として指定する
ことができる。
ベントでは、再生の一時停止は行われない。
プロパティを直接には受け取らないが、ハンドラはイベ
ントオブジェクトに対してデータについてのクエリを実
行できる。
ントが検出されたときに発生する。(barge-inイベント
を構成するもの、たとえば、エネルギー検出やキーワー
ドの認識を決定する操作はプラットフォームに任される
ことに注意されたい。)このイベントハンドラを指定し
ても、barge-inは自動的にオンにならない。
プロパティを直接には受け取らないが、ハンドラはイベ
ントオブジェクトに対してデータについてのクエリを実
行できる。
りに到達したか例外(上で定義したような)が発生したと
きに発生する。
プロパティを直接には受け取らないが、ハンドラはイベ
ントオブジェクトに対してデータについてのクエリを実
行できる。
プト出力中にbargeinがいつ発生するかということに関
してユーザ応答の意味-出発地の市への訂正または目的
地の市の指定のいずれか-を判別する方法を示してい
る。onBargeinハンドラは、プロンプトで見つかった最
後のブックマークにグローバルな「マーク」変数を設定
するスクリプトを呼び出し、この「マーク」の値をreco
の後処理関数(「heard」)で使用して正しい値を設定す
る。
ップ言語構文を使用してまたはスクリプト作成でオブジ
ェクトをインスタンス化することができる。DTMFがアク
ティブにされると、プロンプトオブジェクトはbarge-in
イベントを発生する。DTMF認識に関して後述するタグお
よびイベント発生とセクション5で説明した呼び出しコ
ントロールは一般に音声ブラウザ216とメディアサーバ2
14との間の相互作用に関係することに注意されたい。
る。 属性: ・targetElement:必須。部分的認識結果の割り当て先の
要素(比較:W3C SMIL 2.0の場合と同様)。 ・targetAttribute:認識結果の割り当て先のターゲット
要素の属性(比較:SMIL2.0の場合と同様)。デフォルトは
「value」である。 ・test:割り当ての条件。デフォルトは真である。
ユーザが1を押した場合「Seattle」が入力フィールドに
割り当てられ、2を押した場合「Boston」が割り当てら
れ、それ以外の場合は何も割り当てない。
法。
する方法を示している。
よびDTMFの両方の入力を許可し、音声を無効にする方
法。
MFを表すXML DOMノードオブジェクト。デフォルトの文
法は以下の通りである。
インターフェースカード上のDTMFバッファを自動的にフ
ラッシュするかどうかを示すブール値フラグ。デフォル
トは偽で、先入力を有効にする。 ・escape 読み書き。DTMF読み込みセッションを終了するescapeキ
ー。escapeキーはワンキーである。 ・numDigits 読み書き。DTMF読み込みセッションを終了するキースト
ロークの回数。escapeとlengthの両方が指定されている
場合、DTMFセッションはいずれかの条件が満たされたと
きに終了する。 ・dtmfResult ユーザが入力したDTMFキーを格納する読み取り専用文字
列。escapeを入力するとescapeが結果に含まれる。 ・text 空白類で区切ったトークン文字列を格納する読み取り専
用文字列であり、各トークンはDTMF文法に従って変換さ
れる。 ・initialTimeout 読み書き。最初のDTMFキーストロークを受け取るミリ秒
単位のタイムアウト期間。指定されていない場合、デフ
ォルト値は電話プラットフォームの内部設定である。 ・interdigitTimeout 読み書き。隣接するDTMFキーストロークに対するミリ秒
単位のタイムアウト期間。指定されていない場合、デフ
ォルト値は電話プラットフォームの内部設定である。
始する。
ロークはバッファ内に残る。
ョンでは呼び出せない。
から継承されたデフォルトイベントを指定変更する。ユ
ーザがescapeキーを押すと、onKeypressではなくonRec
イベントが発生する。
プロパティを直接には受け取らないが、ハンドラはイベ
ントオブジェクトに対してデータについてのクエリを実
行できる。
トにより、現在のDTMFオブジェクトが自動的に無効にさ
れる。
プロパティを直接には受け取らないが、ハンドラはイベ
ントオブジェクトに対してデータについてのクエリを実
行できる。
受け取ると発生する。このイベントにより、認識プロセ
スが自動的に停止される。
プロパティを直接には受け取らないが、ハンドラはイベ
ントオブジェクトに対してデータについてのクエリを実
行できる。
終端、および接続)を表す。このオブジェクトは、GUIブ
ラウザのウィンドウオブジェクトと同様ネイティブであ
る。そのため、電話オブジェクトの寿命は、ブラウザイ
ンスタンス自体と同じである。電話の音声ブラウザは、
呼び出しごとに1つずつ電話オブジェクトをインスタン
ス化する。ユーザは、そのオブジェクトをインスタンス
化したり処理したりしない。
コントロールに関係する機能のみがこのオブジェクトを
通じて公開される。
有。これは、呼び出し側のアドレスである。PSTNについ
ては、ANIとALIの組み合わせである。VoIPについては、
これは、呼び出し側のIPアドレスである。 ・ringsBeforeAnswer 着信呼び出しに応答するまで電話が鳴り続ける回数。デ
フォルトは無限大であり、開発者は特に以下のAnswer
( )メソッドを使用して電話呼び出しに応答する必要が
ある。コールセンターではACDを使用して着信電話呼び
出しをキューに入れるときに、この数値を0に設定でき
る。
するとシステムは発信呼を終了し、システムリソースを
解放する。
ス。
終了側がビジー状態のとき、そのような番号がないと
き、ファックスまたは留守番電話が応答したときに、例
外をスローする。
ザはその呼び出しに割り当てられたリソースを解放する
ことができる。strUIDを使用して転送された呼び出しが
戻るときにセッション状態を回復するのはアプリケーシ
ョン側の役目である。基本の電話プラットフォームは、
戻り呼び出しを別のブラウザに回すことができる。呼び
出しは、受信者がその呼び出しを終了したときのみ戻
る。
[imaxTime]); パラメータ:o strText:必須。意図した受信者のアドレ
ス。
に識別するセッションID。転送された呼び出しが送り返
されるときに、strUIDがアドレス属性内に表示される。
しの秒単位の最大持続時間。指定されていない場合、デ
フォルト値はプラットフォームの内部値である。
る。この場合、onAnswerイベントは発生しない。
れば効果はない。
る。
ut]); パラメータ:o strText:必須。意図した受信者のアドレ
ス。
するまでのミリ秒単位の時間。指定されていない場合、
デフォルト値はプラットフォームの内部値である。
留守番電話につながったときなど、呼び出しを完了でき
ないときに例外をスローする(注意:ハードウェアでこの
機能をサポートしていないことがある)。
[maxTimeout],[initialTimeout]); パラメータ:o url:必須。記録された結果のurl。
た後記録を停止するまでのミリ秒単位の時間。
の最長時間。デフォルトはプラットフォーム固有であ
る。
始時に許されている無音状態の最長時間(ミリ秒)。
例外をスローする。
以下のイベントハンドラを実装することができる。
される。すべての開発者はこのハンドラを使用して、呼
び出し側のアドレスを読み込んで、カスタマイズされた
機能を呼び出してから、電話呼び出しに応答することが
できる。
出される。
プログラムがHangupまたはTransferメソッドを呼び出す
ときに自動的には発生しない。
ールイベントに接続されるスクリプト作成を示してい
る。
れを実装する この例は、入力ボックスへの値の入力を求め、その入力
に対するコンテキスト依存のヘルプを表示する単純なダ
イアログの流れを実装する方法を示している。これは、
HTML入力メカニズム(視覚的ブラウザ内で「ツールチッ
プ」メカニズムとして使用される)のtitle属性を使用し
て、ヘルププロンプトのコンテンツの形成を補助する。
びreco要素をアクティブする方法を示している。
に追加する。これのオブジェクトモデルは、付録Aのタ
グ例のコンテンツモデルの抽象化である。
ールのIDのリストを指定する。IDはカンマで区切って並
べる。
する。これは、RunSpeechで使用する。注意:複数のQAコ
ントロールに同じSpeechIndexがある場合、RunSpeechは
ソースの順序で実行する。SpeechIndexを指定しているQ
Aコントロールと指定していないQAコントロールがある
場合、RunSpeechはまずSpeechIndexの順序でQAコントロ
ールを実行し、次に、ソース順序で実行する。
ムによる選択に使用できると考えられる時期を判別する
ブール値を返すクライアントサイドスクリプトの関数を
指定する。したがって、これを条件として使用してシス
テム戦略を変更し、QAコントロールのアクティブ化また
は非アクティブ化をSpeechIndexよりも細かく行うこと
ができる。指定していない場合、QAコントロールはアク
ティブ化に使用できると見なされる。
認、およびコマンド Question[]Questions QAコントロールは、ダイアログ作成者によって定義され
た質問オブジェクトまたはコントロールの配列を含む。
各質問コントロールは、通常、システムの機能に関係
し、たとえば、値の入力などを求める。各質問コントロ
ールはClientTest属性を使用してアクティブ化機能を指
定できるので、アクティブなQAコントロールは別の状況
で主コントロールに関する違った種類の質問を行うこと
ができる。たとえば、主要な質問Q_Mainのアクティブ化
条件は、対応する主コントロールが値を持たないことで
あり、Q_GiveHelpのアクティブ化条件は、ユーザがヘル
プを要求したばかりであることである。各Questionで
は、質問コントロールが出力されるときにアクティブに
されるQAコントロール内から応答コントロールを指定で
きる。
コントロールの配列を含む。ステートメントを使用し
て、初期画面プロンプトなどの情報をリスナーに送る。
ルの配列を含む。応答コントロールは、QAコントロール
内の質問コントロールにより直接、または主コントロー
ルからStartEventによりアクティブにされる。複数の応
答が使用される場合、これらは、通常、システム機能へ
の応答を反映し、たとえば、A_MainはQ_Mainへの応答と
して値を送り、A_ConfirmはConfirmに対しyes/no+訂正
を送ることができる。
ルを含むことができる。このオブジェクトは、共通の確
認サブダイアログのオーサリングを簡素化するダイアロ
グ作成者に提供されるメカニズムである。
る。Commandコントロールは、質問コントロールのない
応答コントロールと考えられ、認識に対するその動作は
コントロールツリーを下へたどることができる。
音声出力に使用される。これは、情報の表示または質問
を求める複数のプロンプトと、その質問に対する応答を
送ることができる応答コントロールのidのリストを含
む。複数の応答コントロールを指定すると、質問がアク
ティブになると、これらの文法が並行してロードされ
る。質問コントロールで応答コントロールが指定されて
いない場合、例外がスローされる。
アクティブであると見なされる状況を判別するブール値
を返すクライアントサイドスクリプトの関数を指定する
(QAコントロール自体は、評価される質問に対してアク
ティブでなければならない)。所定のQAコントロールに
関して、真の条件を持つ第1の質問コントロールが出力
用に選択される。たとえば、この関数を使用して、値を
要求する質問(「Which city do you want?」)を出力す
るか、または確認を試みる質問(「Did you say London
?」)を出力するかを決定できる。指定していない場合、
質問条件は真であると見なされる。
定する。promptではさらに、選択の条件を(クライアン
ト関数を介して)指定することもでき、RunSpeechの実行
中に、条件が真である最初のpromptのみが再生用に選択
される。
ルへのIDによる参照の配列である。質問コントロールが
出したプロンプトへの応答としてそれぞれの有効な応答
コントロールからの文法をアクティブにする動作をす
る。
の値は、認識プラットフォームに渡され、この値を超え
ると、認識プラットフォームからonSilenceイベントが
スローされる。指定していない場合、音声プラットフォ
ームはデフォルト値を使用する。
果を返さなければならないミリ秒単位の期間。「tap-an
d-talk」シナリオのrecoの場合、音声検出から認識結果
が使用できるようになるまでの期間に適用される。ディ
クテーションシナリオのrecoの場合、このタイムアウト
は音声検出から各認識の返却までの期間に適用される
が、要するに、この期間は結果またはその他のイベント
を返すごとにリスタートする。この値を超えると、onCl
ientNoRecoイベントがスローされるが、異なるステータ
スコードも可能である。検出可能な何らかの種類の認識
プラットフォームエラーが発生しており、babbleTimeou
t期間が経過した場合、onClientNoRecoがスローされる
が、ステータスコードは-3である。そうでなければ、レ
コグナイザがまだオーディオを処理している場合、たと
えば、発話が例外的に長い場合、またはユーザがあまり
にも長い時間ペンを下げたままにしていた場合、onClie
ntNoRecoイベントがスローされ、ステータスコード-15
が返される。babbleTimeoutが指定されていない場合、
音声プラットフォームは、デフォルト値として内部値を
使用する。
返されるまでのミリ秒単位の期間。この値を超えた場
合、ブラウザによってonMaxTimeoutイベントがスローさ
れる、これにより分散環境でのネットワークまたはレコ
グナイザの障害に対処する。ディクテーションシナリオ
のrecoの場合、babbleTimeoutの場合のように、各認識
結果が返されるごとにまたは他のイベントの後にこの期
間がリスタートする。maxTimeout属性はinitialTimeout
とbabbleTimeoutの合計以上でなければならないことに
注意されたい。指定していない場合、この値がはブラウ
ザデフォルト値になる。
答セット以外の応答はアクティブにされない(つまり、
範囲設定されたAnswersは考慮されない)。デフォルトは
偽である。たとえば、この属性を使用すると、アプリケ
ーション開発者はクライアントデバイスのユーザに、特
定の質問への応答を強制することができる。
再生されるまでの間に呼び出されるクライアントサイド
の関数を指定する。これにより、アプリケーション開発
者は、必要になるかもしれないプロンプトに対する土壇
場での修正を実行することが可能になる。PromptFuncti
onは、ターゲットプロンプトのIDを必須パラメータとし
て受け取る。
ったときに呼び出すクライアントサイドの関数の名前を
指定する。
法について情報が格納される。定義されているすべての
プロパティは読み/書きプロパティである。
定する。プロンプトについて指定したcountの値が質問
コントロールのcountの値と一致すると、再生用のプロ
ンプトが選択される。正当な値は0から100である。
1のプロンプトが再生され、2に等しい(つまり、質問が
すでに出力されている)場合、第2のプロンプトが再生さ
れる。
ンプトが出力用に選択される状況を判別するブール値を
返すクライアントサイドスクリプトの関数を指定する。
所定の質問コントロールに関して、真の条件を持つ第1
のプロンプトが選択される。たとえば、その関数を使用
して、プロンプトのテーパリング(tapering)を実装する
ために使用できる(たとえば、真を返す関数について、
ユーザが初心者は「Which city would you like to dep
art from?」、ベテランには「Which city?」)。指定し
ていない場合、プロンプトの条件は真であると見なされ
る。
格納される。これは、prompt要素のコンテンツとして定
義される。これはさらに、TTSレンダリング情報や、<va
lue>要素のようなマークアップも含む。ページのすべて
の部分と同様、prompt出力の動的レンダリングに対し
て、<script>タグ内にスクリプトコードとして指定する
こともできる。
るURLを指定する。インラインプロンプトを指定した場
合、このプロパティは無視される。
にクライアントデバイスのユーザが話し始めた場合)を
許可するかどうかを指定する場合に使用する。デフォル
トは真である。
るクライアントサイドスクリプト関数を指定する。
ときに呼び出されるクライアントサイドスクリプト関数
を指定する。
呼び出すクライアントサイド関数の名前にアクセスす
る。
ようにしてプロンプトが選択される。
順番に評価する。ClientTestとcountの両方が真である
第1のプロンプトを再生する。countがない場合は真とみ
なす。ClientTestがない場合は真とみなす。
必要ないときに出力される情報提供システムに使用され
る。これは、音声専用ダイアログで一般的である。play
Once属性が真の場合にステートメントはページごとに1
回だけ再生される。
コントロールをアクティブにするかどうかを指定する。
playOnceはブール値属性で、デフォルト(指定しない場
合)はTRUEである、つまり、ステートメントコントロー
ルは一回しか実行されない。たとえば、playOnce属性
は、エンドユーザに電子メールメッセージを出力するこ
とが目的とするステートメントコントロールで使用する
ことができる。playOnce="False"と設定すると、ダイア
ログ作成者は電子メールメッセージを読み込む「リピー
ト」機能をページ上で実行することができる。
選択される状況を判別するブール値を返すクライアント
サイドスクリプトの関数を指定する。RunSpeechは、Cli
entTestが真に設定されている第1のStatementをアクテ
ィブにする。指定していない場合、ClientTestの条件は
真であると見なされる。
されてからプロンプトが再生されるまでの間に呼び出さ
れるクライアントサイドの関数を指定する。これによ
り、作成者は、必要になるかもしれないプロンプトに対
する土壇場での修正を実行することが可能になる。
る。promptではさらに、選択の条件を(クライアント関
数を介して)指定することもでき、RunSpeechの実行中
に、条件が真である最初のpromptのみが再生用に選択さ
れる。
る。他の質問コントロールのすべてのプロパティおよび
オブジェクトを保持するが、アクティブ化の仕方が異な
る。RunSpeechアルゴリズムが、ControlsToSpeechEnabl
eの応答コントロールのconfirmThresholdにある信頼度
得点を確認する.この値が低すぎる場合、確認コントロ
ールがアクティブにされる。応答コントロールの信頼度
得点がconfirmThresholdよりも低い場合、バインドが実
行されるが、onClientRecoメソッドは呼び出されない。
ダイアログ作成者は、QAコントロールことに複数の確認
コントロールを指定できる。RunSpeechはClientTestに
よって指定された関数に基づきアクティブにする確認コ
ントロールを決定する。
定する場合に使用する。主コントロールに関係する一連
の文法を含む。たとえばプロンプトを使用しないマルチ
モードアプリケーションで、または付加的な応答によっ
てユーザイニシアチブを有効にできる電話アプリケーシ
ョンで、応答は質問とは無関係に使用できることに注意
されたい。応答コントロールは、質問コントロール、ト
リガイベント、または明示的範囲により直接アクティブ
にされる。質問コントロールで文法オブジェクトが指定
されていない場合、例外がスローされる。
peは、応答コントロール内で使用され、ユーザイニシア
チブ(user initiative)(混合タスクイニシアチブ(mixed
task initiative):つまり、サービスジャンプの脱線(s
ervice jump digressions))文法の使用可能な範囲を定
める。応答コントロールでScopeを指定した場合、これ
は、コンテキストに関係するコントロールのサブツリー
内の主コントロールに対応するQAコントロールがアクテ
ィブになると必ずアクティブになる。
ecoオブジェクトを起動する)主コントロールからのイベ
ントの名前を指定する。通常、マルチモードアプリケー
ション、たとえばtap-and-talkのonMouseDownで使用さ
れる。
(Recoオブジェクトを停止する)主コントロールからのイ
ベントの名前を指定する。通常、マルチモードアプリケ
ーション、たとえばtap-and-talkのonMouseUpで使用さ
れる。
より他の何らかの方法で選択された応答コントロールが
アクティブであるとみなす状況を判別するブール値を返
すクライアントサイドスクリプトの関数を指定する。た
とえば、このテストは、「訂正」応答コントロールが、
質問コントロールによりアクティブにされたが混合イニ
シアチブが望ましくない(受理/否認応答コントロールの
みをアクティブのままにする)場合にそれ自体無効にな
るように確認時に使用することができる。または、サー
ビスジャンプを使用できる範囲設定された応答コントロ
ールにより、ダイアログの他の部分に応じて真または偽
となるテストを指定することでより柔軟なアクティブ化
の手段を決定できる。指定していない場合、応答コント
ロールの条件は真であると見なされる。
る。
ントロール値にマップするために必要なバインドオブジ
ェクトのリストを保持する。応答に対して指定されたす
べてのバインドは、関連する出力が認識されたときに実
行される。バインドが指定されない場合、認識によって
返されるSML出力は、QAコントロールのControlsToSpeec
hEnableで指定されたコントロールにバインドされる。
に呼び出すクライアントサイド関数の名前を指定する。
に呼び出すクライアントサイド関数の名前を保持する。
コントロールから返された認識結果について実装するか
どうかを決定する。指定されていない場合、デフォルト
は真である。autobindを偽に設定することは、自動バイ
ンドを実行しないようにとのシステムへの命令である。
するオプション属性である。この属性は、グローバルな
音声サーバ属性のURIを指定変更する。
頼度レベルを下回るときに、QAコントロール内で応答が
認識された直後に確認コントロールの質問が自動的にト
リガされる。正当な値は0-100である。
プトが両方とも指定された場合、その結果のTagsは、on
ClientRecoで指定されたスクリプトの前にバインドが実
行されるということを意味することに注意されたい。
される最低信頼度特定を指定する。全体的な信頼度がこ
のレベルを下回ると、NoRecoイベントがスローされる。
正当な値は0-100である。
に関する情報と、認識結果を処理する手段に関する情報
を格納する。定義されているすべてのプロパティは読み
/書きプロパティである。
を判別するクライアントサイドのブール値関数を参照す
る。応答コントロール内で複数の文法を指定した場合
(たとえば、システム/混合イニシアチブを実装したり、
ダイアログの動作がまずいときに可能な応答の混乱を減
らしたりするために)、RunSpeech実行時に、ClientTest
関数が真になる第1の文法をアクティブ化のため選択す
る。このプロパティを指定していない場合、真が想定さ
れる。
クセスする。
のテキストにアクセスする。このプロパティが空の場
合、Source属性は無視される。
トサイドのタグに正確に従う。バインドは、発話された
文法と単一応答コントロールで返されたDTMF認識結果の
両方に対して指定できる。
定する。これは、認識から得られたSML出力上のXPathと
して指定される。
る主コントロールのidを指定する。指定されていない場
合、これは関連するQAコントロールのControlsToSpeech
Enableであると想定される。
ントロール上の属性を指定する。指定されていない場
合、これはターゲット要素のTextプロパティであると想
定される。
ければならない条件を指定する。これは、認識から得ら
れたSML出力上のXMLパターンとして指定される。
フォルトの動作では、いくつかのプロパティをその主コ
ントロールにバインドする。この動作は、ターン(およ
び偶数ページ)での主コントロールからの認識結果を調
べるダイアログコントロールで使用される。応答コント
ロールは、認識結果を受け取った後以下のアクションを
実行する。
性にバインドする 2.発話のテキストを主コントロールのSpokenText属性に
バインドする 3.レコグナイザによって返された信頼度得点を主コント
ロールのConfidence属性にバインドする autobind="False"属性が応答コントロール上で指定され
ていない限り、応答コントロールは主コントロールに以
下のアクションを実行する。
ce属性にバインドする 属性内にすでに保持されている値があれば、上書きされ
る。自動バインドは、作成者指定のbindコマンドの前
に、したがって、onClientRecoスクリプトの前に実行さ
れる(さらに、これらのプロパティにバインドすること
もできる)。
使用することができる。DTMFオブジェクトは本質的に、
異なる様相の文法(音声入力文法ではなくキーパッド入
力文法)を同じ応答に適用する。DTMFコンテンツモデル
は、クライアントサイドで出力するTags DTMF要素のそ
れと非常によく一致している。DTMF返却結果のバインド
メカニズムは、DTMFオブジェクトのtargetAttribute属
性を使用して指定される。
から最初のキーの押下まで待つミリ秒数。
つミリ秒数。
シュするかどうかを指定するフラグ。flushを偽に設定
すると、認識/ページ呼び出しの間にDTMFキー入力を格
納し、ユーザによる「先入力」を可能にできる。
とえば、「#」)を保持する。
上のプロパティを指定する。指定されていない場合、こ
れは主コントロールのTextプロパティであると想定され
る。
条件を判別するクライアントサイドのブール値関数を参
照する。DTMFオブジェクト内で複数の文法を指定した場
合、RunSpeech実行時に、ClientTest関数が真である最
初の文法のみがアクティブする対象として選択される。
このプロパティを指定していない場合、真が想定され
る。
ップする。以下の例は、「1」および「2」のキーをテキ
スト出力値にマップする方法を示している。
る応答コントロールの特別なバリエーションである。コ
マンドコントロールは、すぐに質問に対する応答になら
ない、認識結果を主コントロールにバインドする必要の
ない形式のユーザ入力(たとえば、ヘルプ、リピート、
キャンセル)である。QAコントロールでアクティブ化の
範囲を指定する場合、コマンド文法がその範囲内のすべ
てのQAコントロールについてアクティブである。したが
って、直接質問コントロールまたはイベントによりコマ
ンドをアクティブにする必要はなく、その文法は応答コ
ントロールの構築とは無関係に並行してアクティブにさ
れる。範囲内で低い位置にあるQAコントロールでの同じ
種類のコマンドコントロールは、コンテキストに依存す
る動作(さらに必要ならば、異なる/拡張文法も)で上位
のコマンドを指定変更できる。
マンド文法を使用できる範囲を定めるためにコマンドコ
ントロール内で使用される。コマンドコントロールでSc
opeを指定した場合、コンテキストに関係するコントロ
ールのサブツリー内の主コントロールに対応するQAコン
トロールがアクティブになると必ずコマンドの文法もア
クティブになる。
l」など)を指定し、範囲ツリーの下位のレベルで全く同
じに入力したコマンドを指定変更できるようにする。こ
の属性では任意の文字列値が使用可能であり、作成者側
でtypeを正しく使用するよう気を付ける必要がある。
必要な認識の最低信頼度レベルを指定する(これは、通
常よりも高い信頼度が必要なとき、たとえば「Cancel」
コマンドの結果を実行する前に、使用することが多
い)。正当な値は0-100である。
後実行するクライアントサイドスクリプトの関数を指定
する。
ト。
類 上述のコントロールを使用して、さまざまな形式のイニ
シアチブを開発することができるが、そのいくつかの例
を以下に示す。
複数のコントロールに対する入力を受け付けることがで
きる。たとえば、質問「what are your travelplans」
に対する応答で、出発地の市のテキストボックスコント
ロール、目的地の市のテキストボックスコントロール、
およびカレンダーコントロール(「Fly from Puyallup t
o Yakima on September 30th」)に対する値を指定でき
る。
するには、混合イニシアチブ文法と関連するバインドス
テートメントを手書きし、それらを単一のコントロール
に適用するのが確実な方法である。
シアチブ音声対話操作に使用される単一ページを示して
いる。第1のQAコントロールは、混合イニシアチブ文法
およびバインド、および2つの項目の入力を求める関連
プロンプトを指定する。第2および第3のQAコントロール
は、混合イニシアチブではなく、したがってデフォルト
でそれぞれの主コントロールに直接バインドする(その
ため、バインドステートメントは不要である)。RunSpee
chアルゴリズムは、「SpeechIndex」属性およびその主
コントロールが有効な値を保持しているかどうかに基づ
いてQAコントロールを選択する。
ブの同じ質問コントロールに対し複数の応答を指定する
ことができる。必要とされるイニシアチブ設定に応じ
て、質問をしたときの応答の1つを選択する条件を指定
する。以下に例を示す。
ントロールで複数の質問コントロールを指定することも
できる。混合イニシアチブスタイルの応答を使用できる
質問コントロールもあれば、指向性の高い質問コントロ
ールもある。これらの質問コントロールで条件をオーサ
リングすることにより、アプリケーション開発者はダイ
アログの状況に応じて質問を選択できる。
り、同時に2つのテキストボックスの値を要求し(たとえ
ば、「what are your travel plans?」)、混合イニシア
チブ応答(たとえば、「from London to Seattle」)を呼
び出す。これが失敗した場合、各テキストボックスの値
は別々に要求されるが(たとえば、「where do youleave
from」と「where are you going to」)、条件によって
は混合イニシアチブ文法をそのままアクティブにするこ
とができ、したがってユーザは両方の値を指定できる。
その文法のアクティブ化の範囲を指定することができ
る。コマンドコントロールのように、このQAコントロー
ルでは、他のQAコントロールがこのコンテキストの範囲
内でアクティブ化されると必ず、関連する応答コントロ
ールの文法をアクティブにする。この質問コントロール
は、QAコントロール自体がアクティブにされた場合にの
み実行されることに注意されたい。
問コントロールにすぐには直接関係しないダイアログの
一部分に関するユーザ応答を行えるダイアログに使用で
きる。
ができるが、短いタイムアウトを設定する。タイムアウ
トハンドラでは、現在値を正確に受け付けるコードを用
意する。
されてから、プロンプトが選択され再生されるまでの間
に呼び出される。このため、アプリケーション開発者は
土壇場でプロンプトを構築したり修正したりすることが
できる。以下の例では、これを使用してユーザの経験レ
ベルに応じてプロンプトを変更している。
の結果を調べることにより認識し使用することができ
る。
ダリングするのに必要な情報を提供するためのメカニズ
ムが必要である。このようなメカニズムでは、アプリケ
ーション開発者の仕様に従ってダイアログロジックを実
行し、ユーザプロンプト機能および文法アクティブ化の
状態を維持できる必要がある。
ライアントには必要ない。マルチモードの場合、音声対
応コントロールを含むページはクライアントデバイスの
ユーザから見える。クライアントデバイスのユーザは、
マルチモードパラダイムを使用して、望む順序で視覚的
音声対応コントロールに音声入力を行うことができる。
レンダリングするために使用するメカニズムが、RunSpe
echスクリプトまたはアルゴリズムである。RunSpeechス
クリプトは、QAコントロールと後述のSpeechGroupコン
トロールのSpeechIndex属性に依存する。
ントロールスクリプトまたはWebページを解析し、サー
バコントロールのツリー構造を作成する。通常、ツリー
のルートはPageコントロールである。コントロールスク
リプトでカスタムまたはユーザコントロールを使用する
場合、このカスタムまたはユーザコントロールの子ツリ
ーが展開される。ツリー内のすべてのノードはIDを持
ち、展開時にツリー内に名前の衝突が容易に発生する。
名前の衝突の発生に対処するために、システムではとい
うNamingContainer概念を用意している。ツリー内のノ
ードは、NamingContainerを実装し、その子はその名前
空間内に存続する。
リー内のどこにでも実現できる。SpeechIndexを簡単に
処理し、クライアントサイドのレンダリングを管理する
ために、SpeechGroupコントロールが用意されている。S
peechGroupコントロールは、アプリケーション開発者か
ら隠されている。
れ、その子ツリーにQAコントロールを含むすべてのNami
ngContainerノードに論理的にアタッチされる。QAおよ
びSpeechGroupコントロールは、その直接のNamingConta
inerのSpeechGroupのメンバと見なされる。最上位レベ
ルのSpeechGroupコントロールは、Pageオブジェクトに
アタッチされる。このメンバ関係により、QAコントロー
ルとSpeechGroupコントロールのツリー-論理的音声ツリ
ー-が論理的に構築される。
(つまり、他のNamingContainerを含まないページ)の場
合、ルートのSpeechGroupコントロールのみが生成さ
れ、そのページのサーバコントロールツリー内に配置さ
れてから、そのページが音声専用クライアントに送られ
る。SpeechGroupコントロールは、そのページ上のQAコ
ントロールの個数とレンダリング順序に関する情報を保
持する。
gContainerの組み合わせを含むページでは、複数のSpee
chGroupコントロールが生成され、そのページ用のSpeec
hGroupコントロール(上述のように)と各NamingContaine
r用のSpeechGroupコントロールが得られる。NamingCont
ainerを含むページでは、ページレベルのSpeechGroupコ
ントロールが、上述のようにQAコントロール情報とさら
に複合コントロールの個数とレンダリング順序の情報を
保持する。各NamingContainerと関連するSpeechGroupコ
ントロールは各複合コントロール内のQAの個数とレンダ
リング順序を保持する。
各ページ上のQAコントロールとSpeechGroupsのリストお
よび/または複合コントロールからなるQAコントロール
のリストを保持することである。クライアントサイドマ
ークアップスクリプト(たとえば、HTML)が生成される
と、各SpeechGroupはクライアントサイドにQACollectio
nオブジェクトを書き出す。QACollectionは、QAコント
ロールとQACollectionsのリストを含む。これは、論理
的サーバサイド音声ツリーに対応する。RunSpeechスク
リプトが、ページレベルのQACollectionオブジェクトに
対し、音声専用ダイアログ処理時に呼び出す次のQAコン
トロールについてクエリを実行する。
eechGroupコントロールは以下のものに対する役割も持
つ。 ・要求側クライアントが音声専用クライアントであるこ
とを判別する ・各ページ上のすべてのQAコントロールに対する共通ス
クリプトを生成し、構造をサポートする 第1のSpeechGroupコントロールがレンダリングを行う
と、System.Web.UI.Page.Request.Browserプロパティに
対し、ブラウザ文字列のクエリが実行される。このプロ
パティは、ページ上のQAコントロールごとにRenderSpee
chHTMLおよびRenderSpeechScriPtメソッドに渡される。
QAコントロールは次に、適切なクライアント(マルチモ
ードまたは音声専用)についてレンダリングを行う。
がページ上の各コントロールに送られる。ページレベル
のSpeechGroupコントロールが、onLoadイベントを受け
取った最初のQAコントロールによって作成される。Spee
chGroupコントロールの作成は、次のようにして行われ
る(複合コントロールを含むページを想定する)。
ドからonLoadイベントを受け取る。 QAのonLoad: ・QAのNamingContainer N1を取得する ・N1の子のSpeechGroupを検索する o すでに存在している場合、QAコントロールをこのSpee
chGroupに登録する。onLoadが返る。 o 見つからない場合: ・新しいSpeechGroup G1を作成し、N1の子に挿入する ・N1がPageでなければ、N1のNamingContainer N2を見つ
ける ・N2の子の中のSpeechGroupを検索し、もし存在すれ
ば、それがG2だとするとG1をG2に追加する。存在しなけ
れば、新しいG2を作成し、N2の子に挿入する ・NamingContainerがPage(最上位レベル)になるまで再
帰的に繰り返す サーバサイドページをレンダリングする際に、Renderイ
ベントが音声対応ページに送られる。ページレベルのSp
eechGroupコントロールがRenderイベントを受け取る
と、RunSpeech.jsを取り込むクライアントサイドスクリ
プトを生成し、それを最終的にクライアントデバイスに
送られるページに挿入する。また、その直接のすべての
子を呼び出して、音声関連のHTMLおよびスクリプトをレ
ンダリングする。子がSpeechGroupの場合、その子は次
にその子を再び呼び出す。このようにして、サーバのレ
ンダリングはサーバサイドの論理的音声ツリーに沿って
実行される。
の子(QAまたはSpeechGroupのいずれか)が音声HTMLおよ
びスクリプトをそのSpeechIndexの順序でレンダリング
することができる。しかし、SpeechGroupは隠されてお
り、当然ながらSpeechIndexを持たない。実際、SpeechG
roupは、アタッチ先のそのNamingContainerと同じSpeec
hIndexを持つ。NamingContainerは通常、UserControlま
たはその他の視覚的コントロールであり、作成者がSpee
chIndexをそのコントロールに設定できる。
たはクライアント上のロジックを介してダイアログの流
れを実現することを目的としている。一実施形態では、
RunSpeechは外部スクリプトファイルで指定され、Speec
hGroup主コントロールのサーバサイドレンダリングによ
り生成された単一の行でロードされる。例:
ライアント上でスクリプトは正しくロードされ、正しい
バージョンidをもつことなどを確認する手段を公開する
必要がある。実際の確認を行うスクリプトは、そのファ
イルをロードしようとした後実行されるインライン関数
としてページクラスにより自動的に生成される。
ラインで指定する手順と動的には同等であるが、ブラウ
ザはファイルおよびクリーナーをキャッシュでき、ペー
ジが汎用関数でバラバラにならないため、両方とも効率
が良い。
ントで文法のアクティブ化を調整することにより使用可
能にできる。この作業を行う配線スクリプトは、コント
ロール間の関係に基づきPageにより生成される(QAコン
トロールのControlsToSpeechEnableプロパティで指定す
る)。
トロールが与えられ文法追加する場合、<input>および<
reco>要素が各コントロールのRenderメソッドにより出
力される。文法アクティブ化コマンドを追加する配線メ
カニズムは、Pageによって生成されるクライアントサイ
ドスクリプトにより実行され、それにより主コントロー
ルの属性が変更されアクティブ化イベント用の既存のハ
ンドラの前にアクティブ化コマンドが追加される。
nおよびonmouseupイベントを介するが、StartEventとSt
opEventは両方ともWebページの作成者が設定できる。te
xtbox出力は、この修正と無関係に残り、他のハンドラ
が存在していた場合イベントは通常通り処理される。
のプロパティを備える。
る関連するSMLの名前/値のペア。
識された発話の名前/値のペア。
イザによって返される関連する信頼度の名前/値のペ
ア。
イス上のダイアログの流れを駆動する。これは、システ
ムプロンプト機能およびダイアログ管理機能(通常、音
声専用ダイアログ)および/または音声入力の処理(音声
専用およびマルチモードダイアログ)を備えることがで
きる。これは、すべての関連する音声対応ページ(イン
ライン埋め込めスクリプトと同等)からのURIにより参照
されるスクリプトファイルとして指定される。
ングは、次のようにして実行する。
ように動作する(RunSpeechはdocument.onreadystateが
「complete」になったことに対して呼び出される)。 (1)音声インデックス順序で最初のアクティブなQAコン
トロールを見つける(QAコントロールがアクティブかど
うかを判別する方法については後述する)。 (2)アクティブなQAコントロールがない場合には、その
ページをサブミットする。 (3)そうでない場合、QAコントロールを実行する。
に限りアクティブであると見なされる。 (1)QAコントロールのClientTestが存在しないかまたは
真の値を返し、かつ (2)QAコントロールがアクティブな質問コントロールま
たはステートメントコントロール(ソース順序でテスト
される)を含み、かつ (3)次のいずれか。 a.QAコントロールがステートメントコントロールのみを
含むか、または b.QAコントロールのControlsToSpeechEnableにより参照
されているコントロールの少なくとも1つが空であるか
またはデフォルト値を持つ。
合に限りアクティブであると見なされる。 (1)質問コントロールのClientTestが存在しないかまた
は真の値を返し、かつ (2)質問コントロールがアクティブなプロンプトオブジ
ェクトを含む。
その場合に限りアクティブであると見なされる。
が存在しないかまたは真の値を返し、かつ (2)プロンプトオブジェクトのCountが存在していない
か、または親質問コントロールのCount以下である。
ロールがアクティブであるかを判別し、そのCountをイ
ンクリメントする。 (2)ステートメントコントロールがアクティブの場合、
プロンプトを再生して終了する。 (3)質問コントロールがアクティブの場合、アクティブ
な応答コントロールおよびコマンドコントロールごとに
プロンプトを再生し、Recoを起動する。
合に限りアクティブであると見なされる。 (1)応答コントロールのClientTestが存在しないかまた
は真の値を返し、かつ(2)次のいずれか。 a.応答コントロールがアクティブな質問コントロールの
Answers文字列内で参照されていたか、または b.応答コントロールがScope内にある。
の場合に限りアクティブであると見なされる。 (1)Scope内にあり、かつ (2)範囲ツリー内に低い同じTypeの別のコマンドコント
ロールがない。
イベントに依存しており、これまでに説明したように、
単一のQAコントロールを実行した後停止する。Prompt.O
nComplete、Reco.OnReco、Reco.OnSilence、Reco.OnMax
Timeout、Reco.OnNoRecO用のイベントハンドラが含まれ
る。それぞれについて次に説明する。
する。 (1)アクティブなPromptオブジェクトでOnClientComplet
e関数を指定している場合、その関数が呼び出される。 (2)アクティブなPromptオブジェクトがステートメント
コントロール、またはアクティブな応答コントロールを
持たない質問コントロール内に含まれていた場合、RunS
peechを呼び出す。
る。 (1)何らかのデフォルトのバインド動作が実行され、SML
ツリーがSML属性にバインドされ、テキストがControlsT
oSpeechEnable内の各コントロールのSpokenText属性に
バインドされる。 (2)認識結果の信頼度値がアクティブな応答コントロー
ルのConfidenceThresholdよりも低い場合、確認ロジッ
クが実行される。 (3)そうでない場合、アクティブな応答コントロールでO
nClientReco関数を指定している場合、その関数が呼び
出され、RunSpeechが呼び出される。
bleのSML、SpokenText、およびConfidenceプロパティを
作成し設定する役割を持つ。SML、SpokenText、およびC
onfidenceプロパティは、実行時にスクリプトから利用
できる。
out、およびRunspeechOnNoRecoすべて、同じようにして
動作する。 (1)該当するOnClientXXX関数が、指定されていれば呼び
出される。 (2)RunSpeechが呼び出される。
うに動作する。 (1)アクティブな応答コントロールの親QAコントロール
が確認コントロールを含む場合、最初のアクティブな確
認コントロールが見つかる(確認コントロールのアクテ
ィブ化は、質問コントロールのアクティブ化と全く同じ
ようにして判別される)。 (2)アクティブな確認コントロールが見つからない場
合、RunSpeechが呼び出される。 (3)見つかった場合、QAコントロールが実行され、選択
された確認コントロールをアクティブな質問コントロー
ルとする。
とイベントのディスパッチステップのみが実行される。
の実施形態の平面図である。
図である。
ャのブロック図である。
る。
アント上で実行可能なマークアップ言語のページ例であ
る。
可聴プロンプト機能を実現するための第1のアプローチ
を示すブロック図である。
可聴プロンプト機能を実現するための第2のアプローチ
を示すブロック図である。
可聴プロンプト機能を実現するための第3のアプローチ
を示すブロック図である。
る。
ロール 322 コントロール 324 コントロール 326 線
Claims (22)
- 【請求項1】 コンピュータ上で実行したときに、クラ
イアント/サーバシステムにおけるクライアント用にク
ライアントサイドマークアップを生成する命令を格納す
るコンピュータ読み取り可能な記録媒体であって、前記
命令は、 ダイアログを定義するコントロールのセットであって、
少なくとも、質問の可聴プロンプト機能に関係するマー
クアップを生成する質問コントロールと認識用の文法に
関係するマークアップを生成する応答コントロールとを
含み、コントロールのそれぞれが関連するコントロール
がアクティブ化に使用できるかどうかを示す属性を持つ
コントロールのセットと、 前記クライアント上で実行したときにコントロールがア
クティブ化されることに応じてダイアログを作成するモ
ジュールとを備えたことを特徴とするコンピュータ読み
取り可能な記録媒体。 - 【請求項2】 前記質問コントロールにより前記応答コ
ントロールがアクティブにされることを特徴とする請求
項1に記載のコンピュータ読み取り可能な記録媒体。 - 【請求項3】 前記コントロールは、 前記マークアップ内のナビゲーション、タスクのヘル
プ、および可聴プロンプト機能の繰り返しの1つに対す
る文法に関係するマークアップを生成するコマンドコン
トロールを含むことを特徴とする請求項2に記載のコン
ピュータ読み取り可能な記録媒体。 - 【請求項4】 前記コントロールは、 認識された結果が正しいことを確認する操作に関係する
マークアップを生成する確認コントロールを含むことを
特徴とする請求項3に記載のコンピュータ読み取り可能
な記録媒体。 - 【請求項5】 前記確認コントロールは信頼度レベルま
たは受け取った結果に応じてアクティブにされることを
特徴とする請求項4に記載のコンピュータ読み取り可能
な記録媒体。 - 【請求項6】 前記応答コントロールは信頼度レベルに
関係する属性を含むことを特徴とする請求項5に記載の
コンピュータ読み取り可能な記録媒体。 - 【請求項7】 前記確認コントロールにより受理コント
ロールがアクティブにされ前記認識された結果を受け入
れることを特徴とする請求項5に記載のコンピュータ読
み取り可能な記録媒体。 - 【請求項8】 前記確認コントロールにより否認コント
ロールがアクティブにされ前記認識された結果を否認す
ることを特徴とする請求項5に記載のコンピュータ読み
取り可能な記録媒体。 - 【請求項9】 前記確認コントロールにより訂正コント
ロールがアクティブにされ前記認識された結果を訂正す
ることを特徴とする請求項5に記載のコンピュータ読み
取り可能な記録媒体。 - 【請求項10】 前記質問コントロールにより前記応答
コントロールがアクティブにされることを特徴とする請
求項1に記載のコンピュータ読み取り可能な記録媒体。 - 【請求項11】 前記応答コントロールが受け取った結
果をコントロールの第1のセットのうちの1つと関連付
けるメカニズムを備えたことを特徴とする請求項10に
記載のコンピュータ読み取り可能な記録媒体。 - 【請求項12】 クライアント上の視覚的レンダリング
に関係するマークアップを生成するコントロールの第2
のセットをさらに備え、コントロールの前記第1のセッ
トのそれぞれのコントロールをコントロールの前記第2
のセットの前記コントロールのうちの少なくとも1つと
関連付けることを特徴とする請求項1に記載のコンピュ
ータ読み取り可能な記録媒体。 - 【請求項13】 コンピュータ上で実行したときに、ダ
イアログを定義する命令を格納するコンピュータ読み取
り可能な記録媒体であって、前記命令は、 ダイアログを定義するコントロールのセットであって、
少なくとも、質問の可聴プロンプトを生成する質問コン
トロールと認識用の文法を使用する応答コントロールを
と含み、前記コントロールのそれぞれが関連するコント
ロールがアクティブ化に使用できるかどうかを示す属性
を持つコントロールのセットと、 前記コンピュータ上で実行したときにコントロールがア
クティブ化されることに応じてダイアログを作成するモ
ジュールとを備えたことを特徴とするコンピュータ読み
取り可能な記録媒体。 - 【請求項14】 前記質問コントロールにより前記応答
コントロールがアクティブにされることを特徴とする請
求項13に記載のコンピュータ読み取り可能な記録媒
体。 - 【請求項15】 前記応答コントロールが受け取った結
果をコントロールの第1のセットのうちの1つと関連付
けるメカニズムを備えたことを特徴とする請求項14に
記載のコンピュータ読み取り可能な記録媒体。 - 【請求項16】 メカニズムは認識値をバインドする機
能を備えたことを特徴とする請求項15に記載のコンピ
ュータ読み取り可能な記録媒体。 - 【請求項17】 前記メカニズムはバインドの動作に関
係するイベントを発行する操作を含むことを特徴とする
請求項16に記載のコンピュータ読み取り可能な記録媒
体。 - 【請求項18】 認識および/または可聴プロンプト機
能をコンピュータ上で実行するコンピュータに実装され
た方法であって、 コントロールのセットでダイアログを定義するステップ
であって、コントロールの前記セットは、少なくとも、
質問の可聴プロンプトを生成する質問コントロールと認
識用の文法を使用する応答コントロールとを含み、前記
コントロールのそれぞれが関連するコントロールがアク
ティブ化に使用できるかどうかを示す属性を持つステッ
プと、 コントロールがアクティブ化されることに関係するコー
ドの実行に応じてダイアログを作成するステップとを含
むことを特徴とする方法。 - 【請求項19】 前記ダイアログを作成するステップは
前記質問コントロールを介する前記応答コントロールの
アクティブ化を含むことを特徴とする請求項18に記載
のコンピュータに実装された方法。 - 【請求項20】 コントロールの前記セットは、マーク
アップ内のナビゲーション、タスクのヘルプ、および可
聴プロンプトの繰り返しの1つに対する文法に関係する
コードを生成するコマンドコントロールを含むことを特
徴とする請求項19に記載のコンピュータに実装された
方法。 - 【請求項21】 コントロールの前記セットは、認識さ
れた結果が正しいことを確認する操作に関係するコード
を生成する確認コントロールを含むことを特徴とする請
求項20に記載のコンピュータに実装された方法。 - 【請求項22】 前記ダイアログを作成するステップ
は、信頼度レベルまたは受け取った結果に応じた前記確
認コントロールのアクティブ化を含むことを特徴とする
請求項21に記載のコンピュータに実装された方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/087,608 US7711570B2 (en) | 2001-10-21 | 2001-10-21 | Application abstraction with dialog purpose |
US10/087,608 | 2001-10-21 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008272254A Division JP2009059378A (ja) | 2001-10-21 | 2008-10-22 | ダイアログを目的とするアプリケーション抽象化のための記録媒体及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003216574A true JP2003216574A (ja) | 2003-07-31 |
JP2003216574A5 JP2003216574A5 (ja) | 2005-12-08 |
Family
ID=22206200
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002306353A Pending JP2003216574A (ja) | 2001-10-21 | 2002-10-21 | ダイアログを目的とするアプリケーション抽象化のための記録媒体及び方法 |
JP2008272254A Ceased JP2009059378A (ja) | 2001-10-21 | 2008-10-22 | ダイアログを目的とするアプリケーション抽象化のための記録媒体及び方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008272254A Ceased JP2009059378A (ja) | 2001-10-21 | 2008-10-22 | ダイアログを目的とするアプリケーション抽象化のための記録媒体及び方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7711570B2 (ja) |
EP (1) | EP1304614A3 (ja) |
JP (2) | JP2003216574A (ja) |
CN (1) | CN100397340C (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003241880A (ja) * | 2001-12-20 | 2003-08-29 | Canon Inc | 制御装置 |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7711570B2 (en) * | 2001-10-21 | 2010-05-04 | Microsoft Corporation | Application abstraction with dialog purpose |
US8229753B2 (en) * | 2001-10-21 | 2012-07-24 | Microsoft Corporation | Web server controls for web enabled recognition and/or audible prompting |
US7177815B2 (en) * | 2002-07-05 | 2007-02-13 | At&T Corp. | System and method of context-sensitive help for multi-modal dialog systems |
US7177816B2 (en) * | 2002-07-05 | 2007-02-13 | At&T Corp. | System and method of handling problematic input during context-sensitive help for multi-modal dialog systems |
US7653544B2 (en) * | 2003-08-08 | 2010-01-26 | Audioeye, Inc. | Method and apparatus for website navigation by the visually impaired |
US7275217B2 (en) * | 2002-09-09 | 2007-09-25 | Vijay Anand Saraswat | System and method for multi-modal browsing with integrated update feature |
US20080313282A1 (en) | 2002-09-10 | 2008-12-18 | Warila Bruce W | User interface, operating system and architecture |
US8494859B2 (en) * | 2002-10-15 | 2013-07-23 | Gh, Llc | Universal processing system and methods for production of outputs accessible by people with disabilities |
US7003464B2 (en) * | 2003-01-09 | 2006-02-21 | Motorola, Inc. | Dialog recognition and control in a voice browser |
US7421393B1 (en) | 2004-03-01 | 2008-09-02 | At&T Corp. | System for developing a dialog manager using modular spoken-dialog components |
KR100834363B1 (ko) * | 2003-06-02 | 2008-06-02 | 인터내셔널 비지네스 머신즈 코포레이션 | 음성 응답 시스템, 음성 응답 방법, 음성 서버, 음성 파일 처리 방법 및 기록 매체 |
US7389236B2 (en) * | 2003-09-29 | 2008-06-17 | Sap Aktiengesellschaft | Navigation and data entry for open interaction elements |
US20050080628A1 (en) * | 2003-10-10 | 2005-04-14 | Metaphor Solutions, Inc. | System, method, and programming language for developing and running dialogs between a user and a virtual agent |
US7409690B2 (en) * | 2003-12-19 | 2008-08-05 | International Business Machines Corporation | Application module for managing interactions of distributed modality components |
US8160883B2 (en) * | 2004-01-10 | 2012-04-17 | Microsoft Corporation | Focus tracking in dialogs |
US20050171780A1 (en) * | 2004-02-03 | 2005-08-04 | Microsoft Corporation | Speech-related object model and interface in managed code system |
US7412393B1 (en) * | 2004-03-01 | 2008-08-12 | At&T Corp. | Method for developing a dialog manager using modular spoken-dialog components |
EP1599007B1 (en) * | 2004-05-18 | 2007-09-12 | Alcatel Lucent | Method and server for providing a multi-modal dialog |
US7043435B2 (en) * | 2004-09-16 | 2006-05-09 | Sbc Knowledgfe Ventures, L.P. | System and method for optimizing prompts for speech-enabled applications |
US8311822B2 (en) | 2004-11-02 | 2012-11-13 | Nuance Communications, Inc. | Method and system of enabling intelligent and lightweight speech to text transcription through distributed environment |
US7882317B2 (en) * | 2004-12-06 | 2011-02-01 | Microsoft Corporation | Process isolation using protection domains |
US8020141B2 (en) * | 2004-12-06 | 2011-09-13 | Microsoft Corporation | Operating-system process construction |
US7451435B2 (en) * | 2004-12-07 | 2008-11-11 | Microsoft Corporation | Self-describing artifacts and application abstractions |
US7600232B2 (en) * | 2004-12-07 | 2009-10-06 | Microsoft Corporation | Inter-process communications employing bi-directional message conduits |
US7751431B2 (en) * | 2004-12-30 | 2010-07-06 | Motorola, Inc. | Method and apparatus for distributed speech applications |
US20060149553A1 (en) * | 2005-01-05 | 2006-07-06 | At&T Corp. | System and method for using a library to interactively design natural language spoken dialog systems |
US8185399B2 (en) | 2005-01-05 | 2012-05-22 | At&T Intellectual Property Ii, L.P. | System and method of providing an automated data-collection in spoken dialog systems |
US8478589B2 (en) | 2005-01-05 | 2013-07-02 | At&T Intellectual Property Ii, L.P. | Library of existing spoken dialog data for use in generating new natural language spoken dialog systems |
EP1679867A1 (en) * | 2005-01-06 | 2006-07-12 | Orange SA | Customisation of VoiceXML Application |
US7865362B2 (en) * | 2005-02-04 | 2011-01-04 | Vocollect, Inc. | Method and system for considering information about an expected response when performing speech recognition |
US7805300B2 (en) * | 2005-03-21 | 2010-09-28 | At&T Intellectual Property Ii, L.P. | Apparatus and method for analysis of language model changes |
US8467506B2 (en) * | 2005-04-21 | 2013-06-18 | The Invention Science Fund I, Llc | Systems and methods for structured voice interaction facilitated by data channel |
US20060253272A1 (en) * | 2005-05-06 | 2006-11-09 | International Business Machines Corporation | Voice prompts for use in speech-to-speech translation system |
US8849968B2 (en) * | 2005-06-20 | 2014-09-30 | Microsoft Corporation | Secure and stable hosting of third-party extensions to web services |
US7797636B2 (en) * | 2005-08-19 | 2010-09-14 | Joseph Carter | System and method for administering pluggable user interactive system applications |
US8683334B2 (en) | 2005-08-19 | 2014-03-25 | Intervoice Limited Partnership | System and method for sharing access to service provider controls and subscriber profile data across multiple applications in a user interactive system |
US20070043569A1 (en) * | 2005-08-19 | 2007-02-22 | Intervoice Limited Partnership | System and method for inheritance of advertised functionality in a user interactive system |
US8229745B2 (en) * | 2005-10-21 | 2012-07-24 | Nuance Communications, Inc. | Creating a mixed-initiative grammar from directed dialog grammars |
US8074231B2 (en) | 2005-10-26 | 2011-12-06 | Microsoft Corporation | Configuration of isolated extensions and device drivers |
US8032898B2 (en) | 2006-06-30 | 2011-10-04 | Microsoft Corporation | Kernel interface with categorized kernel objects |
US11222185B2 (en) | 2006-10-26 | 2022-01-11 | Meta Platforms, Inc. | Lexicon development via shared translation database |
US9070363B2 (en) * | 2007-10-26 | 2015-06-30 | Facebook, Inc. | Speech translation with back-channeling cues |
US8972268B2 (en) * | 2008-04-15 | 2015-03-03 | Facebook, Inc. | Enhanced speech-to-speech translation system and methods for adding a new word |
EP2095250B1 (en) * | 2006-12-05 | 2014-11-12 | Nuance Communications, Inc. | Wireless server based text to speech email |
US8000969B2 (en) * | 2006-12-19 | 2011-08-16 | Nuance Communications, Inc. | Inferring switching conditions for switching between modalities in a speech application environment extended for interactive text exchanges |
US8027839B2 (en) * | 2006-12-19 | 2011-09-27 | Nuance Communications, Inc. | Using an automated speech application environment to automatically provide text exchange services |
US7921214B2 (en) | 2006-12-19 | 2011-04-05 | International Business Machines Corporation | Switching between modalities in a speech application environment extended for interactive text exchanges |
US8713542B2 (en) * | 2007-02-27 | 2014-04-29 | Nuance Communications, Inc. | Pausing a VoiceXML dialog of a multimodal application |
US8725512B2 (en) * | 2007-03-13 | 2014-05-13 | Nuance Communications, Inc. | Method and system having hypothesis type variable thresholds |
US8789063B2 (en) * | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
US8788620B2 (en) * | 2007-04-04 | 2014-07-22 | International Business Machines Corporation | Web service support for a multimodal client processing a multimodal application |
US8862475B2 (en) * | 2007-04-12 | 2014-10-14 | Nuance Communications, Inc. | Speech-enabled content navigation and control of a distributed multimodal browser |
US8620652B2 (en) * | 2007-05-17 | 2013-12-31 | Microsoft Corporation | Speech recognition macro runtime |
US8196092B2 (en) * | 2007-06-14 | 2012-06-05 | Verizon Patent And Licensing Inc. | XSL dialog modules |
US8050928B2 (en) * | 2007-11-26 | 2011-11-01 | General Motors Llc | Speech to DTMF generation |
US9177551B2 (en) | 2008-01-22 | 2015-11-03 | At&T Intellectual Property I, L.P. | System and method of providing speech processing in user interface |
US8831950B2 (en) * | 2008-04-07 | 2014-09-09 | Nuance Communications, Inc. | Automated voice enablement of a web page |
US8543404B2 (en) * | 2008-04-07 | 2013-09-24 | Nuance Communications, Inc. | Proactive completion of input fields for automated voice enablement of a web page |
US9047869B2 (en) * | 2008-04-07 | 2015-06-02 | Nuance Communications, Inc. | Free form input field support for automated voice enablement of a web page |
CA2665055C (en) * | 2008-05-23 | 2018-03-06 | Accenture Global Services Gmbh | Treatment processing of a plurality of streaming voice signals for determination of responsive action thereto |
CA2665014C (en) * | 2008-05-23 | 2020-05-26 | Accenture Global Services Gmbh | Recognition processing of a plurality of streaming voice signals for determination of responsive action thereto |
CA2665009C (en) * | 2008-05-23 | 2018-11-27 | Accenture Global Services Gmbh | System for handling a plurality of streaming voice signals for determination of responsive action thereto |
US8463053B1 (en) | 2008-08-08 | 2013-06-11 | The Research Foundation Of State University Of New York | Enhanced max margin learning on multimodal data mining in a multimedia database |
US8806357B2 (en) * | 2008-08-29 | 2014-08-12 | Sap Ag | Plug-ins for editing templates in a business management system |
US9122669B2 (en) | 2008-08-29 | 2015-09-01 | Sap Se | Flat schema integrated document oriented templates |
US8380508B2 (en) * | 2009-06-05 | 2013-02-19 | Microsoft Corporation | Local and remote feedback loop for speech synthesis |
CN101923853B (zh) * | 2009-06-12 | 2013-01-23 | 华为技术有限公司 | 说话人识别方法、设备和系统 |
JP5380543B2 (ja) * | 2009-09-25 | 2014-01-08 | 株式会社東芝 | 音声対話装置およびプログラム |
US8996384B2 (en) * | 2009-10-30 | 2015-03-31 | Vocollect, Inc. | Transforming components of a web page to voice prompts |
US20110184740A1 (en) * | 2010-01-26 | 2011-07-28 | Google Inc. | Integration of Embedded and Network Speech Recognizers |
US10397639B1 (en) | 2010-01-29 | 2019-08-27 | Sitting Man, Llc | Hot key systems and methods |
US8521513B2 (en) * | 2010-03-12 | 2013-08-27 | Microsoft Corporation | Localization for interactive voice response systems |
US9652552B2 (en) * | 2010-12-14 | 2017-05-16 | Facebook, Inc. | Dialog server |
US10691679B2 (en) | 2011-01-18 | 2020-06-23 | Microsoft Technology Licensing, Llc | Providing query completions based on data tuples |
US8255218B1 (en) * | 2011-09-26 | 2012-08-28 | Google Inc. | Directing dictation into input fields |
US8681950B2 (en) | 2012-03-28 | 2014-03-25 | Interactive Intelligence, Inc. | System and method for fingerprinting datasets |
US8577671B1 (en) * | 2012-07-20 | 2013-11-05 | Veveo, Inc. | Method of and system for using conversation state information in a conversational interaction system |
US9465833B2 (en) | 2012-07-31 | 2016-10-11 | Veveo, Inc. | Disambiguating user intent in conversational interaction system for large corpus information retrieval |
US9799328B2 (en) | 2012-08-03 | 2017-10-24 | Veveo, Inc. | Method for using pauses detected in speech input to assist in interpreting the input during conversational interaction for information retrieval |
US10031968B2 (en) | 2012-10-11 | 2018-07-24 | Veveo, Inc. | Method for adaptive conversation state management with filtering operators applied dynamically as part of a conversational interface |
US8543397B1 (en) | 2012-10-11 | 2013-09-24 | Google Inc. | Mobile device voice activation |
US9390166B2 (en) * | 2012-12-31 | 2016-07-12 | Fujitsu Limited | Specific online resource identification and extraction |
PT2994908T (pt) | 2013-05-07 | 2019-10-18 | Veveo Inc | Interface de entrada incremental de discurso com retorno em tempo real |
US9645703B2 (en) | 2014-05-14 | 2017-05-09 | International Business Machines Corporation | Detection of communication topic change |
CN104166703B (zh) * | 2014-07-15 | 2017-10-27 | 百度在线网络技术(北京)有限公司 | 对象识别方法和装置 |
US9953646B2 (en) | 2014-09-02 | 2018-04-24 | Belleau Technologies | Method and system for dynamic speech recognition and tracking of prewritten script |
US9401949B1 (en) * | 2014-11-21 | 2016-07-26 | Instart Logic, Inc. | Client web content cache purge |
US9852136B2 (en) | 2014-12-23 | 2017-12-26 | Rovi Guides, Inc. | Systems and methods for determining whether a negation statement applies to a current or past query |
US9854049B2 (en) | 2015-01-30 | 2017-12-26 | Rovi Guides, Inc. | Systems and methods for resolving ambiguous terms in social chatter based on a user profile |
US10614162B2 (en) * | 2016-05-27 | 2020-04-07 | Ricoh Company, Ltd. | Apparatus, system, and method of assisting information sharing, and recording medium |
CN116991971A (zh) * | 2017-02-23 | 2023-11-03 | 微软技术许可有限责任公司 | 可扩展对话系统 |
US10586530B2 (en) | 2017-02-23 | 2020-03-10 | Semantic Machines, Inc. | Expandable dialogue system |
US20180275957A1 (en) * | 2017-03-27 | 2018-09-27 | Ca, Inc. | Assistive technology for code generation using voice and virtual reality |
TWI646529B (zh) * | 2017-07-25 | 2019-01-01 | 雲拓科技有限公司 | 主動聊天裝置 |
CN107644641B (zh) * | 2017-07-28 | 2021-04-13 | 深圳前海微众银行股份有限公司 | 对话场景识别方法、终端以及计算机可读存储介质 |
US11132499B2 (en) | 2017-08-28 | 2021-09-28 | Microsoft Technology Licensing, Llc | Robust expandable dialogue system |
TWI657433B (zh) * | 2017-11-01 | 2019-04-21 | 財團法人資訊工業策進會 | 語音互動裝置及應用其之語音互動方法 |
CN111699483B (zh) | 2018-01-16 | 2024-04-09 | 谷歌有限责任公司 | 提供助理深度链接以实行第三方对话会话转移的系统、方法和装置 |
CN109492221B (zh) * | 2018-10-31 | 2023-06-30 | 广东小天才科技有限公司 | 一种基于语义分析的信息回复方法及可穿戴设备 |
JP7202853B2 (ja) * | 2018-11-08 | 2023-01-12 | シャープ株式会社 | 冷蔵庫 |
US10789956B1 (en) | 2019-08-20 | 2020-09-29 | Capital One Services, Llc | Text-to-speech modeling |
CN114020909A (zh) * | 2021-11-03 | 2022-02-08 | 深圳康佳电子科技有限公司 | 基于场景的智能家居控制方法、装置、设备及存储介质 |
US20240184516A1 (en) * | 2022-12-06 | 2024-06-06 | Capital One Services, Llc | Navigating and completing web forms using audio |
Family Cites Families (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US672679A (en) * | 1900-10-02 | 1901-04-23 | Frank H Lewis | Duplicate-whist board. |
US4831550A (en) | 1986-03-27 | 1989-05-16 | International Business Machines Corporation | Apparatus and method for estimating, from sparse data, the probability that a particular one of a set of events is the next event in a string of events |
DE3723078A1 (de) | 1987-07-11 | 1989-01-19 | Philips Patentverwaltung | Verfahren zur erkennung von zusammenhaengend gesprochenen woertern |
DE3739681A1 (de) | 1987-11-24 | 1989-06-08 | Philips Patentverwaltung | Verfahren zum bestimmen von anfangs- und endpunkt isoliert gesprochener woerter in einem sprachsignal und anordnung zur durchfuehrung des verfahrens |
US5263117A (en) | 1989-10-26 | 1993-11-16 | International Business Machines Corporation | Method and apparatus for finding the best splits in a decision tree for a language model for a speech recognizer |
US5303327A (en) | 1991-07-02 | 1994-04-12 | Duke University | Communication test system |
US5477451A (en) | 1991-07-25 | 1995-12-19 | International Business Machines Corp. | Method and system for natural language translation |
EP0543329B1 (en) | 1991-11-18 | 2002-02-06 | Kabushiki Kaisha Toshiba | Speech dialogue system for facilitating human-computer interaction |
US5502774A (en) | 1992-06-09 | 1996-03-26 | International Business Machines Corporation | Automatic recognition of a consistent message using multiple complimentary sources of information |
US5384892A (en) | 1992-12-31 | 1995-01-24 | Apple Computer, Inc. | Dynamic language model for speech recognition |
CA2115210C (en) | 1993-04-21 | 1997-09-23 | Joseph C. Andreshak | Interactive computer system recognizing spoken commands |
DE69423838T2 (de) | 1993-09-23 | 2000-08-03 | Xerox Corp., Rochester | Semantische Gleichereignisfilterung für Spracherkennung und Signalübersetzungsanwendungen |
US5566272A (en) | 1993-10-27 | 1996-10-15 | Lucent Technologies Inc. | Automatic speech recognition (ASR) processing using confidence measures |
US5615296A (en) | 1993-11-12 | 1997-03-25 | International Business Machines Corporation | Continuous speech recognition and voice response system and method to enable conversational dialogues with microprocessors |
US5699456A (en) | 1994-01-21 | 1997-12-16 | Lucent Technologies Inc. | Large vocabulary connected speech recognition system and method of language representation using evolutional grammar to represent context free grammars |
US5675819A (en) | 1994-06-16 | 1997-10-07 | Xerox Corporation | Document information retrieval using global word co-occurrence patterns |
US5752052A (en) | 1994-06-24 | 1998-05-12 | Microsoft Corporation | Method and system for bootstrapping statistical processing into a rule-based natural language parser |
US6442523B1 (en) | 1994-07-22 | 2002-08-27 | Steven H. Siegel | Method for the auditory navigation of text |
US5689617A (en) | 1995-03-14 | 1997-11-18 | Apple Computer, Inc. | Speech recognition system which returns recognition results as a reconstructed language model with attached data values |
IT1279171B1 (it) | 1995-03-17 | 1997-12-04 | Ist Trentino Di Cultura | Sistema di riconoscimento di parlato continuo |
US5774628A (en) | 1995-04-10 | 1998-06-30 | Texas Instruments Incorporated | Speaker-independent dynamic vocabulary and grammar in speech recognition |
US6965864B1 (en) | 1995-04-10 | 2005-11-15 | Texas Instruments Incorporated | Voice activated hypermedia systems using grammatical metadata |
US5710866A (en) | 1995-05-26 | 1998-01-20 | Microsoft Corporation | System and method for speech recognition using dynamically adjusted confidence measure |
US5890123A (en) | 1995-06-05 | 1999-03-30 | Lucent Technologies, Inc. | System and method for voice controlled video screen display |
US5680511A (en) | 1995-06-07 | 1997-10-21 | Dragon Systems, Inc. | Systems and methods for word recognition |
US5737489A (en) | 1995-09-15 | 1998-04-07 | Lucent Technologies Inc. | Discriminative utterance verification for connected digits recognition |
JP3126985B2 (ja) | 1995-11-04 | 2001-01-22 | インターナシヨナル・ビジネス・マシーンズ・コーポレーション | 音声認識システムの言語モデルのサイズを適応させるための方法および装置 |
GB9603582D0 (en) | 1996-02-20 | 1996-04-17 | Hewlett Packard Co | Method of accessing service resource items that are for use in a telecommunications system |
KR100208772B1 (ko) | 1996-01-17 | 1999-07-15 | 서정욱 | 시각 장애인용 대화형 유도 신호 시스템 및 그 제어방법 |
US5953392A (en) * | 1996-03-01 | 1999-09-14 | Netphonic Communications, Inc. | Method and apparatus for telephonically accessing and navigating the internet |
US5913193A (en) | 1996-04-30 | 1999-06-15 | Microsoft Corporation | Method and system of runtime acoustic unit selection for speech synthesis |
JP2753577B2 (ja) * | 1996-04-30 | 1998-05-20 | 工業技術院長 | 配向した柱状粒子からなる窒化ケイ素多孔体とその製造方法 |
US5937384A (en) | 1996-05-01 | 1999-08-10 | Microsoft Corporation | Method and system for speech recognition using continuous density hidden Markov models |
US5835888A (en) | 1996-06-10 | 1998-11-10 | International Business Machines Corporation | Statistical language model for inflected languages |
US5819220A (en) | 1996-09-30 | 1998-10-06 | Hewlett-Packard Company | Web triggered word set boosting for speech interfaces to the world wide web |
US5905972A (en) | 1996-09-30 | 1999-05-18 | Microsoft Corporation | Prosodic databases holding fundamental frequency templates for use in speech synthesis |
US5797123A (en) | 1996-10-01 | 1998-08-18 | Lucent Technologies Inc. | Method of key-phase detection and verification for flexible speech understanding |
US5829000A (en) | 1996-10-31 | 1998-10-27 | Microsoft Corporation | Method and system for correcting misrecognized spoken words or phrases |
US5915001A (en) | 1996-11-14 | 1999-06-22 | Vois Corporation | System and method for providing and using universally accessible voice and speech data files |
US5960399A (en) | 1996-12-24 | 1999-09-28 | Gte Internetworking Incorporated | Client/server speech processor/recognizer |
US6456974B1 (en) | 1997-01-06 | 2002-09-24 | Texas Instruments Incorporated | System and method for adding speech recognition capabilities to java |
US6188985B1 (en) | 1997-01-06 | 2001-02-13 | Texas Instruments Incorporated | Wireless voice-activated device for control of a processor-based host system |
GB9701866D0 (en) | 1997-01-30 | 1997-03-19 | British Telecomm | Information retrieval |
DE19708183A1 (de) | 1997-02-28 | 1998-09-03 | Philips Patentverwaltung | Verfahren zur Spracherkennung mit Sprachmodellanpassung |
US6078886A (en) | 1997-04-14 | 2000-06-20 | At&T Corporation | System and method for providing remote automatic speech recognition services via a packet network |
US6101472A (en) | 1997-04-16 | 2000-08-08 | International Business Machines Corporation | Data processing system and method for navigating a network using a voice command |
US6363301B1 (en) | 1997-06-04 | 2002-03-26 | Nativeminds, Inc. | System and method for automatically focusing the attention of a virtual robot interacting with users |
US6073091A (en) | 1997-08-06 | 2000-06-06 | International Business Machines Corporation | Apparatus and method for forming a filtered inflected language model for automatic speech recognition |
US6192338B1 (en) | 1997-08-12 | 2001-02-20 | At&T Corp. | Natural language knowledge servers as network resources |
US6154722A (en) | 1997-12-18 | 2000-11-28 | Apple Computer, Inc. | Method and apparatus for a speech recognition system language model that integrates a finite state grammar probability and an N-gram probability |
US6138139A (en) | 1998-10-29 | 2000-10-24 | Genesys Telecommunications Laboraties, Inc. | Method and apparatus for supporting diverse interaction paths within a multimedia communication center |
US6182039B1 (en) | 1998-03-24 | 2001-01-30 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus using probabilistic language model based on confusable sets for speech recognition |
US6141641A (en) | 1998-04-15 | 2000-10-31 | Microsoft Corporation | Dynamically configurable acoustic model for speech recognition system |
US6610917B2 (en) | 1998-05-15 | 2003-08-26 | Lester F. Ludwig | Activity indication, external source, and processing loop provisions for driven vibrating-element environments |
US6689947B2 (en) | 1998-05-15 | 2004-02-10 | Lester Frank Ludwig | Real-time floor controller for control of music, signal processing, mixing, video, lighting, and other systems |
WO2000005643A1 (en) | 1998-07-24 | 2000-02-03 | Motorola Inc. | Markup language for interactive services and methods thereof |
US6269336B1 (en) | 1998-07-24 | 2001-07-31 | Motorola, Inc. | Voice browser for interactive services and methods thereof |
US6499013B1 (en) | 1998-09-09 | 2002-12-24 | One Voice Technologies, Inc. | Interactive user interface using speech recognition and natural language processing |
US6434524B1 (en) | 1998-09-09 | 2002-08-13 | One Voice Technologies, Inc. | Object interactive user interface using speech recognition and natural language processing |
US6405170B1 (en) | 1998-09-22 | 2002-06-11 | Speechworks International, Inc. | Method and system of reviewing the behavior of an interactive speech recognition application |
US6539359B1 (en) | 1998-10-02 | 2003-03-25 | Motorola, Inc. | Markup language for interactive services and methods thereof |
US7003463B1 (en) * | 1998-10-02 | 2006-02-21 | International Business Machines Corporation | System and method for providing network coordinated conversational services |
US6587822B2 (en) | 1998-10-06 | 2003-07-01 | Lucent Technologies Inc. | Web-based platform for interactive voice response (IVR) |
US6188976B1 (en) | 1998-10-23 | 2001-02-13 | International Business Machines Corporation | Apparatus and method for building domain-specific language models |
CA2287768C (en) | 1998-11-02 | 2004-01-13 | Ahmed Abdoh | Method for automated data collection, analysis and reporting |
US6564263B1 (en) | 1998-12-04 | 2003-05-13 | International Business Machines Corporation | Multimedia content description framework |
US6718015B1 (en) | 1998-12-16 | 2004-04-06 | International Business Machines Corporation | Remote web page reader |
US6909874B2 (en) | 2000-04-12 | 2005-06-21 | Thomson Licensing Sa. | Interactive tutorial method, system, and computer program product for real time media production |
US6445776B1 (en) | 1998-12-31 | 2002-09-03 | Nortel Networks Limited | Abstract interface for media and telephony services |
DE19910236A1 (de) | 1999-03-09 | 2000-09-21 | Philips Corp Intellectual Pty | Verfahren zur Spracherkennung |
US6526380B1 (en) | 1999-03-26 | 2003-02-25 | Koninklijke Philips Electronics N.V. | Speech recognition system having parallel large vocabulary recognition engines |
US6463413B1 (en) | 1999-04-20 | 2002-10-08 | Matsushita Electrical Industrial Co., Ltd. | Speech recognition training for small hardware devices |
US6314402B1 (en) | 1999-04-23 | 2001-11-06 | Nuance Communications | Method and apparatus for creating modifiable and combinable speech objects for acquiring information from a speaker in an interactive voice response system |
US6081799A (en) | 1999-05-05 | 2000-06-27 | International Business Machines Corporation | Executing complex SQL queries using index screening for conjunct or disjunct index operations |
US6604075B1 (en) | 1999-05-20 | 2003-08-05 | Lucent Technologies Inc. | Web-based voice dialog interface |
US6240391B1 (en) | 1999-05-25 | 2001-05-29 | Lucent Technologies Inc. | Method and apparatus for assembling and presenting structured voicemail messages |
US6312378B1 (en) | 1999-06-03 | 2001-11-06 | Cardiac Intelligence Corporation | System and method for automated collection and analysis of patient information retrieved from an implantable medical device for remote patient care |
US6978238B2 (en) | 1999-07-12 | 2005-12-20 | Charles Schwab & Co., Inc. | Method and system for identifying a user by voice |
US6493719B1 (en) | 1999-07-26 | 2002-12-10 | Microsoft Corporation | Method and system for scripting for system management information |
US6311151B1 (en) | 1999-07-28 | 2001-10-30 | International Business Machines Corporation | System, program, and method for performing contextual software translations |
US6365203B2 (en) | 1999-08-16 | 2002-04-02 | Warner-Lambert Company | Continuous coating of chewing gum materials |
US6453290B1 (en) | 1999-10-04 | 2002-09-17 | Globalenglish Corporation | Method and system for network-based speech recognition |
JP4140878B2 (ja) | 1999-10-12 | 2008-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチモーダル・ブラウジングおよび会話型マークアップ言語の実施の方法およびシステム |
GB9926134D0 (en) | 1999-11-05 | 2000-01-12 | Ibm | Interactive voice response system |
US6384829B1 (en) | 1999-11-24 | 2002-05-07 | Fuji Xerox Co., Ltd. | Streamlined architecture for embodied conversational characters with reduced message traffic |
US6349132B1 (en) | 1999-12-16 | 2002-02-19 | Talk2 Technology, Inc. | Voice interface for electronic documents |
GB9930731D0 (en) | 1999-12-22 | 2000-02-16 | Ibm | Voice processing apparatus |
US6785649B1 (en) | 1999-12-29 | 2004-08-31 | International Business Machines Corporation | Text formatting from speech |
US6690772B1 (en) | 2000-02-07 | 2004-02-10 | Verizon Services Corp. | Voice dialing using speech models generated from text and/or speech |
EP1275042A2 (en) | 2000-03-06 | 2003-01-15 | Kanisa Inc. | A system and method for providing an intelligent multi-step dialog with a user |
US20020035474A1 (en) * | 2000-07-18 | 2002-03-21 | Ahmet Alpdemir | Voice-interactive marketplace providing time and money saving benefits and real-time promotion publishing and feedback |
US6662163B1 (en) * | 2000-03-30 | 2003-12-09 | Voxware, Inc. | System and method for programming portable devices from a remote computer system |
US6785653B1 (en) * | 2000-05-01 | 2004-08-31 | Nuance Communications | Distributed voice web architecture and associated components and methods |
US20020003547A1 (en) | 2000-05-19 | 2002-01-10 | Zhi Wang | System and method for transcoding information for an audio or limited display user interface |
US20020010584A1 (en) * | 2000-05-24 | 2002-01-24 | Schultz Mitchell Jay | Interactive voice communication method and system for information and entertainment |
US6865528B1 (en) | 2000-06-01 | 2005-03-08 | Microsoft Corporation | Use of a unified language model |
TW472232B (en) | 2000-08-11 | 2002-01-11 | Ind Tech Res Inst | Probability-base fault-tolerance natural language understanding method |
US6717593B1 (en) | 2000-09-12 | 2004-04-06 | Avaya Technology Corp. | Mark-up language implementation of graphical or non-graphical user interfaces |
US6785651B1 (en) | 2000-09-14 | 2004-08-31 | Microsoft Corporation | Method and apparatus for performing plan-based dialog |
US6745163B1 (en) | 2000-09-27 | 2004-06-01 | International Business Machines Corporation | Method and system for synchronizing audio and visual presentation in a multi-modal content renderer |
US20020077823A1 (en) | 2000-10-13 | 2002-06-20 | Andrew Fox | Software development systems and methods |
US6728679B1 (en) | 2000-10-30 | 2004-04-27 | Koninklijke Philips Electronics N.V. | Self-updating user interface/entertainment device that simulates personal interaction |
US6950850B1 (en) | 2000-10-31 | 2005-09-27 | International Business Machines Corporation | System and method for dynamic runtime partitioning of model-view-controller applications |
JP3581648B2 (ja) | 2000-11-27 | 2004-10-27 | キヤノン株式会社 | 音声認識システム、情報処理装置及びそれらの制御方法、プログラム |
US7487440B2 (en) | 2000-12-04 | 2009-02-03 | International Business Machines Corporation | Reusable voiceXML dialog components, subdialogs and beans |
US7028306B2 (en) | 2000-12-04 | 2006-04-11 | International Business Machines Corporation | Systems and methods for implementing modular DOM (Document Object Model)-based multi-modal browsers |
US7203651B2 (en) | 2000-12-07 | 2007-04-10 | Art-Advanced Recognition Technologies, Ltd. | Voice control system with multiple voice recognition engines |
GB0030330D0 (en) | 2000-12-13 | 2001-01-24 | Hewlett Packard Co | Idiom handling in voice service systems |
EP1223423A3 (en) * | 2001-01-16 | 2004-01-28 | National Research Council of Canada | Method and apparatus for enhanced laser-induced plasma spectroscopy using mixed-wavelength laser pulses |
US20020107891A1 (en) | 2001-02-06 | 2002-08-08 | Leamon Andrew P. | Device-independent content acquisition and presentation |
US7062437B2 (en) | 2001-02-13 | 2006-06-13 | International Business Machines Corporation | Audio renderings for expressing non-audio nuances |
GB0104120D0 (en) | 2001-02-20 | 2001-04-11 | Pace Micro Tech Plc | Remote control |
US20020154124A1 (en) | 2001-02-22 | 2002-10-24 | Han Sang-Yong | System and method of enhanced computer user interaction |
US20020173961A1 (en) | 2001-03-09 | 2002-11-21 | Guerra Lisa M. | System, method and computer program product for dynamic, robust and fault tolerant audio output in a speech recognition framework |
AU2002251205A1 (en) | 2001-03-30 | 2002-10-15 | British Telecommunications Public Limited Company | Multi-modal interface |
US7778816B2 (en) | 2001-04-24 | 2010-08-17 | Microsoft Corporation | Method and system for applying input mode bias |
CN1279465C (zh) | 2001-05-04 | 2006-10-11 | 微软公司 | Web启用的识别体系结构 |
US7506022B2 (en) | 2001-05-04 | 2009-03-17 | Microsoft.Corporation | Web enabled recognition architecture |
US7610547B2 (en) | 2001-05-04 | 2009-10-27 | Microsoft Corporation | Markup language extensions for web enabled recognition |
CN1266625C (zh) | 2001-05-04 | 2006-07-26 | 微软公司 | 用于web启用的识别的服务器 |
US7409349B2 (en) | 2001-05-04 | 2008-08-05 | Microsoft Corporation | Servers for web enabled speech recognition |
US7020841B2 (en) | 2001-06-07 | 2006-03-28 | International Business Machines Corporation | System and method for generating and presenting multi-modal applications from intent-based markup scripts |
US7299269B2 (en) | 2001-06-19 | 2007-11-20 | Sun Microsystems, Inc. | Dynamically allocating data buffers to a data structure based on buffer fullness frequency |
US6941268B2 (en) | 2001-06-21 | 2005-09-06 | Tellme Networks, Inc. | Handling of speech recognition in a declarative markup language |
US6801604B2 (en) | 2001-06-25 | 2004-10-05 | International Business Machines Corporation | Universal IP-based and scalable architectures across conversational applications using web services for speech and audio processing resources |
US6839896B2 (en) | 2001-06-29 | 2005-01-04 | International Business Machines Corporation | System and method for providing dialog management and arbitration in a multi-modal environment |
US6868383B1 (en) | 2001-07-12 | 2005-03-15 | At&T Corp. | Systems and methods for extracting meaning from multimodal inputs using finite-state devices |
US20020010715A1 (en) * | 2001-07-26 | 2002-01-24 | Garry Chinn | System and method for browsing using a limited display device |
CA2397451A1 (en) | 2001-08-15 | 2003-02-15 | At&T Corp. | Systems and methods for classifying and representing gestural inputs |
US7711570B2 (en) | 2001-10-21 | 2010-05-04 | Microsoft Corporation | Application abstraction with dialog purpose |
US8229753B2 (en) | 2001-10-21 | 2012-07-24 | Microsoft Corporation | Web server controls for web enabled recognition and/or audible prompting |
US6941265B2 (en) | 2001-12-14 | 2005-09-06 | Qualcomm Inc | Voice recognition system method and apparatus |
US7610556B2 (en) | 2001-12-28 | 2009-10-27 | Microsoft Corporation | Dialog manager for interactive dialog with computer user |
US7546382B2 (en) | 2002-05-28 | 2009-06-09 | International Business Machines Corporation | Methods and systems for authoring of mixed-initiative multi-modal interactions and related browsing mechanisms |
US7640164B2 (en) | 2002-07-04 | 2009-12-29 | Denso Corporation | System for performing interactive dialog |
US7302383B2 (en) | 2002-09-12 | 2007-11-27 | Luis Calixto Valles | Apparatus and methods for developing conversational applications |
US7257575B1 (en) | 2002-10-24 | 2007-08-14 | At&T Corp. | Systems and methods for generating markup-language based expressions from multi-modal and unimodal inputs |
US20040192273A1 (en) | 2003-01-02 | 2004-09-30 | Auyeung Al T. | Speed answers to voice prompts |
US7003464B2 (en) | 2003-01-09 | 2006-02-21 | Motorola, Inc. | Dialog recognition and control in a voice browser |
US7260535B2 (en) | 2003-04-28 | 2007-08-21 | Microsoft Corporation | Web server controls for web enabled recognition and/or audible prompting for call controls |
US20040230637A1 (en) | 2003-04-29 | 2004-11-18 | Microsoft Corporation | Application controls for speech enabled recognition |
US7363027B2 (en) | 2003-11-11 | 2008-04-22 | Microsoft Corporation | Sequential multimodal input |
US7158779B2 (en) | 2003-11-11 | 2007-01-02 | Microsoft Corporation | Sequential multimodal input |
US7660400B2 (en) | 2003-12-19 | 2010-02-09 | At&T Intellectual Property Ii, L.P. | Method and apparatus for automatically building conversational systems |
US7552055B2 (en) | 2004-01-10 | 2009-06-23 | Microsoft Corporation | Dialog component re-use in recognition systems |
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 |
US7873523B2 (en) | 2005-06-30 | 2011-01-18 | Microsoft Corporation | Computer implemented method of analyzing recognition results between a user and an interactive application utilizing inferred values instead of transcribed speech |
US7853453B2 (en) | 2005-06-30 | 2010-12-14 | Microsoft Corporation | Analyzing dialog between a user and an interactive application |
-
2001
- 2001-10-21 US US10/087,608 patent/US7711570B2/en not_active Expired - Lifetime
-
2002
- 2002-10-21 CN CNB021529426A patent/CN100397340C/zh not_active Expired - Lifetime
- 2002-10-21 JP JP2002306353A patent/JP2003216574A/ja active Pending
- 2002-10-21 EP EP02023649A patent/EP1304614A3/en not_active Ceased
-
2003
- 2003-04-28 US US10/426,053 patent/US8165883B2/en not_active Expired - Fee Related
-
2008
- 2008-10-22 JP JP2008272254A patent/JP2009059378A/ja not_active Ceased
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003241880A (ja) * | 2001-12-20 | 2003-08-29 | Canon Inc | 制御装置 |
US7212971B2 (en) | 2001-12-20 | 2007-05-01 | Canon Kabushiki Kaisha | Control apparatus for enabling a user to communicate by speech with a processor-controlled apparatus |
US7664649B2 (en) | 2001-12-20 | 2010-02-16 | Canon Kabushiki Kaisha | Control apparatus, method and computer readable memory medium for enabling a user to communicate by speech with a processor-controlled apparatus |
Also Published As
Publication number | Publication date |
---|---|
US20040073431A1 (en) | 2004-04-15 |
US8165883B2 (en) | 2012-04-24 |
US7711570B2 (en) | 2010-05-04 |
US20030130854A1 (en) | 2003-07-10 |
JP2009059378A (ja) | 2009-03-19 |
EP1304614A3 (en) | 2005-08-31 |
EP1304614A2 (en) | 2003-04-23 |
CN1417679A (zh) | 2003-05-14 |
CN100397340C (zh) | 2008-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7711570B2 (en) | Application abstraction with dialog purpose | |
US8229753B2 (en) | Web server controls for web enabled recognition and/or audible prompting | |
US8311835B2 (en) | Assisted multi-modal dialogue | |
US8160883B2 (en) | Focus tracking in dialogs | |
US7260535B2 (en) | Web server controls for web enabled recognition and/or audible prompting for call controls | |
US7552055B2 (en) | Dialog component re-use in recognition systems | |
US7409349B2 (en) | Servers for web enabled speech recognition | |
US7506022B2 (en) | Web enabled recognition architecture | |
RU2349969C2 (ru) | Синхронное понимание семантических объектов, реализованное с помощью тэгов речевого приложения | |
RU2352979C2 (ru) | Синхронное понимание семантических объектов для высокоинтерактивного интерфейса | |
US20040230637A1 (en) | Application controls for speech enabled recognition | |
US7610547B2 (en) | Markup language extensions for web enabled recognition | |
US20070006082A1 (en) | Speech application instrumentation and logging | |
KR20080020649A (ko) | 비필사된 데이터로부터 인식 문제의 진단 | |
US20050004800A1 (en) | Combining use of a stepwise markup language and an object oriented development tool | |
JP4467226B2 (ja) | ウェブ対応音声認識用サーバの方法および記録媒体 | |
EP1255192B1 (en) | Web enabled recognition architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051020 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051020 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20051020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070227 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070528 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070531 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070627 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070702 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070726 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080125 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080425 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080501 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080526 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080624 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20080924 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080924 |