JP2005025760A - 逐次マークアップ言語およびオブジェクト指向開発ツールの結合使用 - Google Patents

逐次マークアップ言語およびオブジェクト指向開発ツールの結合使用 Download PDF

Info

Publication number
JP2005025760A
JP2005025760A JP2004195947A JP2004195947A JP2005025760A JP 2005025760 A JP2005025760 A JP 2005025760A JP 2004195947 A JP2004195947 A JP 2004195947A JP 2004195947 A JP2004195947 A JP 2004195947A JP 2005025760 A JP2005025760 A JP 2005025760A
Authority
JP
Japan
Prior art keywords
computer
field
readable medium
module
recognition
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
Application number
JP2004195947A
Other languages
English (en)
Inventor
Kuansan Wang
クァンサン ワン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005025760A publication Critical patent/JP2005025760A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 VoiceXMLをSALTなどの発話アプリケーション開発ツールと結合するためのシステムおよび方法を提供する。
【解決手段】 本発明の一態様では、VoiceXMLモジュールは、VoiceXML実行可能命令を含む。SALTモジュールは、VoiceXMLモジュールに関連付けられた命令を実行するための音声アプリケーション言語タグを含む。
【選択図】 図1

Description

本発明は発話可能なアプリケーションのプログラミングに関する。より詳細には、本発明は、逐次音声マークアップ言語およびオブジェクト指向音声アプリケーション拡張の結合使用に関する。
コンピュータユーザ/インターフェースの進歩により、ユーザは音声コマンドを通じてコンピュータと対話できるようになっている。VoiceXML(Voice Extensible Markup Language)の使用などを通じた音声ポータルの進歩により、音声入力を使用してインターネットコンテンツにアクセスすることが可能になっている。このアーキテクチャでは、ドキュメントサーバ(例えば、ウェブサーバ)は、VoiceXMLインタプリタを通じて、クライアントからのリクエストを処理する。ウェブサーバはVoiceXMLドキュメントおよび応答を生成することができ、これらがVoiceXMLインタプリタによって処理され、可聴的にユーザにレンダリングされる。音声認識を通じて指定の音声コマンドを使用することで、ユーザはウェブをナビゲートし、可聴的にレンダリングされたデータを聞くことができる。
VoiceXML開発言語は、創作者がユーザと発話アプリケーションとの間のダイアログをコントロールできるようにするために、設計されている。VoiceXMLは逐次的方法に従い、そこでアプリケーションは、フォームを満たすか、あるいはメニューから選択するために、ダイアログフローをコントロールし、ユーザに問い合わせる。VoiceXMLアプリケーションは、データをユーザへレンダリングするためあるいはフォームにデータを書き込むために、複数のステップを実行する。より詳細には、VoiceXMLは、ユーザとVoiceXMLフォームまたはメニューとの間の対話を推進するフォーム解釈アルゴリズムに従う。このアルゴリズムは、値が書き込まれるか、選択が行われるか、あるいは例外に遭遇するまで、フォームまたはメニュー中をループし続ける。
また、発話可能なアプリケーションは、音声アプリケーション言語タグ(SALT)など、マークアップ言語を拡張したものの使用を通じて開発することができる。SALTは、パーソナルコンピュータ、電話機、携帯情報端末、および他のコンピューティングデバイスからの情報、アプリケーションおよびウェブサービスへの、マルチモーダルでテレフォニー対応アクセスを可能にする。SALTは、HTML、X−HTMLおよびXMLなど、既存のマークアップ言語を拡張する。SALTを使用したマルチモーダルアクセスにより、ユーザはアプリケーションと、例えば、キーボード、音声、マウスおよび/またはスタイラスあるいはこれらの組合せを使用する様々な異なる方法で、対話することができる。
VoiceXMLと対照的に、SALTは、オブジェクト指向プログラミング手法に基づいており、これにおいてアプリケーションは様々なオブジェクト、トリガおよびイベントから構成される。オブジェクト指向手法により、アプリケーション創作者はユーザとアプリケーションとの間のダイアログフローをカスタマイズすることができる。SALTにおいてイベントに遭遇でると、SALTベースのアプリケーションは様々なコマンドをイベントに基づいて実行する。このように、ユーザはダイアログフローをコントロールすることができ、より効率的および/または自然な形態のコンピュータ対話にすることができる。
VoiceXMLの逐次的手法を利用するアプリケーションは現在、SALTなどの発話アプリケーションツールによって使用されるオブジェクト指向プログラミング手法によって提供される柔軟性を利用しない。結果として、VoiceXMLアプリケーションは、(ユーザがいくつかの異なるカテゴリからデータをリクエストすることができる)混合イニシアチブの状況、外部メッセージングおよび拡張呼び出し制御を扱う難点を有する。結果として、SALTのプログラミングの柔軟性をVoiceXMLにおいて提供するシステムまたは方法は有益となるであろう。
本発明は、逐次命令実行アルゴリズムおよびオブジェクト指向モジュールを結合するためのシステムおよび方法を提供する。
本発明の一側面では、コンピュータによって実行可能なプログラムは、実行アルゴリズムに基づいて定義された順序において実行される命令を有する逐次モジュールを含む。オブジェクト指向モジュールは、命令に関連付けられたオペレーションを初期化するための一時的トリガ(temporal trigger)を有する、オブジェクトを含む。
本発明の別の側面では、VoiceXMLモジュールはVoiceXML実行可能命令を含む。SALTモジュールは、音声アプリケーション言語タグを含み、VoiceXMLモジュールに関連付けられた命令を実行する。さらなる実施形態では、VoiceXMLを使用して、第1および第2のVoiceXMLフィールドを宣言することができ、SALTモジュールは認識イベントを初期化して、ユーザからの発話入力を得る。SALTモジュールは第1のVoiceXMLフィールドを、発話入力の第1の部分により満たし、第2のVoiceXMLフィールドを、発話入力の第2の部分により満たす。加えて、SALTモジュールは、発話入力を認識する多数の文法を含み、入力を、特定の文法および/またはフィールドに関連付けることができる。
本発明のさらなる別の側面は、インタラクティブなユーザインターフェースを提供するための方法である。この方法は、定義された順序で命令を実行する逐次ダイアログを確立する。命令は、認識、プロンプト、およびメッセージングのうち少なくとも1つに関連付けられたイベントを処理するためのオブジェクトを含む。オブジェクト指向オペレーションは、遭遇する(encountering)オブジェクトが命令に関連付けられた場合に、実行される。オペレーションは、認識、プロンプト、およびメッセージングに関連付けられたダイアログにおけるイベントのすべてではないが少なくとも1つを提供する。
図1は、VoiceXMLなどの逐次言語、およびSALTなどのオブジェクト指向発話アプリケーション開発ツールの使用を結合するためのシステム10を例示する。システム10は、例えばVoiceXMLモジュールなどの逐次モジュール12、および、例えばSALTモジュールなどのオブジェクト指向発話アプリケーション開発ツールモジュール14を含む。逐次モジュールは、実行アルゴリズムによって与えられる定義済み順序で実行される命令を含む。オブジェクト指向開発ツールモジュールは、様々なオペレーションを実行するプログラミングオブジェクトを含む。本明細書で使用されるとき、VoiceXMLはVoice Extensible Markup Languageを指し、これはW3C(World Wide Webコンソーシアム)勧告候補である。VoiceXMLバージョン2.0に関する仕様の複製を、http://www.w3.org/TR/voicexml20 で見つけることができる。加えて、SALTは、SALT Forumによって開発された音声アプリケーション言語タグを指す。SALT1.0仕様の複製は、www.SALTforum.orgで入手可能である。VoiceXMLは逐次命令を、フォーム解釈アルゴリズムに基づいて実行する。
本発明の側面は、1つまたは複数のオブジェクト指向モジュール14を、逐次モジュール12の実行可能命令内に組み込むことを含む。オブジェクト指向モジュール14は一時的トリガを含み、一時的トリガが、逐次モジュール12の実行アルゴリズムによって取り込まれると、オペレーションを開始する。トリガは、エラー、例外、メッセージの受信、認識および/または認識なし、あるいはこれらの組合せなど、様々なイベントを含むことができる。実行されるオペレーションには、発話認識、DTMF認識、オーディオ収集、オーディオ再生およびその他などのオペレーションが含まれる。
逐次モジュール12(例えば、VoiceXMLモジュール)のオペレーション下でオブジェクト指向モジュール14(例えば、SALTタグ)と遭遇すると、SALTタグとVoiceXMLモジュール12との間の相互作用が定義され、SALTがVoiceXML内で利用できるようにされる。例えば、SALTタグを用いて多数の文法に基づいた発話認識をトリガするとき、別々のフィールド内にユニットの各々を配置することに関係する命令は、SALTモジュールがVoiceXMLモジュール内に埋め込まれることを可能にする。SALTのメッセージング機能を利用する場合、メッセージング命令がフォーム解釈アルゴリズムのループに埋め込まれる。オブジェクト指向モジュール14を逐次モジュール12内に埋め込むことによって、結果として生じるアプリケーションの機能性および柔軟性を、VoiceXMLなどの逐次言語を単に用いて使用可能とするものを超えて、拡張することができる。
インタラクティブユーザインターフェースを提供するための方法は、システム10で実施することができる本発明の別の側面である。逐次モジュール12は、例えばVoiceXMLフォームまたはメニューにわたって、定義された順序で命令を実行するユーザとの逐次ダイアログを確立することができる。命令は、認識、プロンプトおよび/またはメッセージングに関連付けられたダイアログイベントを処理する。認識、プロンプトまたはメッセージングうちのすべてではないが少なくとも1つに関するダイアログ内で遭遇するとき、オブジェクト指向モジュール14は、(例えば、SALTタグを実行することによって)オブジェクト指向オペレーションを実行する。一実施形態では、逐次ダイアログは、命令を実行するVoiceXML、およびオブジェクト指向オペレーションを実行するSALTタグを含む。
発話アプリケーションを開発するためのシステムの幅広い説明をする前に、上述のシステム10内で機能することができるコンピューティングデバイスを全体的に説明することは有用である可能性がある。当業者には理解されるように、システム10の構成要素を単一のコンピュータ内に位置付けること、あるいは、ネットワーク接続およびプロトコルを使用する分散コンピューティング環境に渡って分散させることができる。
図2を参照すると、(PIM、PDAなど)データ管理デバイスのようなモバイルデバイスの例示的形態が30で例示される。しかし、本発明はまた、後述の他のコンピューティングデバイスを使用して実施することもできることが企図されている。例えば、電話機および/またはデータ管理デバイスもまた、本発明から利益を得るようになる。このようなデバイスは、既存のポータブル個人情報管理デバイスおよび他のポータブル電子デバイスに比較して、向上された有用性を有するようになる。
データ管理モバイルデバイス30の例示的形態を図2に例示する。モバイルデバイス30はハウジング32を含み、接触検知表示画面をスタイラス33と共に使用するディスプレイ34を含むユーザインターフェースを有しする。スタイラス33を用いてディスプレイ34の指定された座標を押すかあるいは接触して、フィールドを選択し、カーソルの開始位置を選択的に移動し、あるいはジェスチャーまたは手書きなどを通じてコマンド情報を供給する。あるいはこれに加えて、1つまたは複数のナビゲーション用のボタン35をデバイス30上に含めることができる。加えて、回転ホイール、ローラーなど、他の入力メカニズムを含むこともできる。しかし、本発明は、これらの形態の入力メカニズムに限定されるように意図されていないことに留意されたい。例えば、別の形態の入力には、コンピュータビジョンなどを通じたビジュアル入力が含まれる可能性がある。
図3を参照すると、ブロック図は、モバイルデバイス30を構成する機能的構成要素を例示する。中央処理ユニット(CPU)50は、ソフトウェアコントロール機能を実施する。CPU50はディスプレイ34に結合されて、制御ソフトウェアに従って生成されたテキストおよびグラフィックアイコンがディスプレイ34上に現れるようにされる。スピーカ43をCPU50に結合し、通常はデジタル−アナログコンバータ59を伴って可聴出力を提供することができる。ユーザによってモバイルデバイス30にダウンロードまたは入力されるデータは、CPU50に双方向に結合された不揮発性読み取り/書き込みランダムアクセスメモリストア54に格納される。ランダムアクセスメモリ(RAM)54は、CPU50によって実行される命令のための揮発性ストレージ、および、レジスタ値など、一時データのためのストレージを提供する。設定オプションのためのデフォルト値および他の変数は、読み取り専用メモリ(ROM)58に格納される。また、ROM58は、モバイルデバイス30の基本機能性および他のオペレーティングシステムカーネル機能(例えば、ソフトウェアコンポーネントをRAM54にロードすること)を制御する、デバイスのためのオペレーティングシステムソフトウェアを格納するために使用することもできる。
また、RAM54は、アプリケーションプログラムを格納するために使用されるPC上のハードドライブの機能に類似の方法で、コードのためのストレージとしての機能も果たす。不揮発性メモリはコードを格納するために使用されるが、別法としてこれを、コードの実行のために使用されない揮発性メモリに格納することができることに留意されたい。
モバイルデバイスは、CPU50に結合される無線トランシーバ52を通じて無線信号を送信/受信することができる。また、コンピュータ(例えば、デスクトップコンピュータ)あるいは望むなら有線ネットワークから、データを直接ダウンロードするためにオプショナルの通信インターフェース60を備えることもできる。したがって、インターフェース60は、例えば、赤外線リンク、モデム、ネットワークカードなど、様々な形態の通信デバイスを含むことができる。
モバイルデバイス30は、マイクロフォン29およびアナログ−デジタル(A/D)コンバータ37、および、ストア54に格納された任意選択の(音声、DTMF、手書き、ジェスチャー、またはコンピュータビジョン)認識プログラムを含む。例として、デバイス30のユーザからの可聴情報、命令またはコマンドに応答して、マイクロフォン29はA/Dコンバータ37によってデジタル化される発話信号を供給する。音声認識プログラムは、デジタル化音声信号について正規化および/または特徴抽出機能を実行して、中間音声認識結果を得ることができる。無線トランシーバ52または通信インターフェース60を使用して、発話データを、後述する図6のアーキテクチャ内に示されたリモート認識サーバ204に送信することができる。次いで、認識結果は、モバイルデバイス30上で(例えば、可視的および/または可聴的)レンダリングし、最終的にウェブサーバ202(図6)に送信するためにモバイルデバイス20へ返され、ウェブサーバ202とモバイルデバイス30とはクライアント/サーバ関係で動作する。類似の処理を、他の形態の入力のために使用することができる。例えば、手書き入力をデバイス30上で前処理の有無にかかわらずデジタル化することができる。音声データのように、この形態の入力を認識サーバ204へ認識のために送信することができ、認識結果はデバイス30および/またはウェブサーバ202のうち少なくとも1つに返される。同様に、DTMFデータ、ジェスチャーデータおよびビジュアルデータを類似の方法で処理することができる。入力の形態に応じて、デバイス30(および、後述の他の形態のクライアント)には、ビジュアル入力のためのカメラなど、必要なハードウェアが含まれるようになる。
図4は、携帯電話機80の例示的実施形態の平面図である。電話機80は、ディスプレイ82およびキーパッド84を含む。一般に、図3のブロック図は図4の電話機に適用することができるが、他の機能を実行するために必要な追加の回路が必要とされる可能性がある。例えば、電話機として動作するために必要なトランシーバが図3の実施形態では必要となるが、このような回路は本発明には関連がない。
上述のポータブル電子デバイスまたはモバイルデバイスに加えて、汎用デスクトップコンピュータなど、多数の他のコンピューティングデバイスにより、本発明を使用できることも理解されたい。例えば、本発明により、身体的能力が制限されたユーザが、英数字フルキーボードなどの他の従来の入力デバイスを操作することが困難である場合に、テキストをコンピュータまたは他のコンピューティングデバイスに入力または記入することができるようになる。
本発明はまた、多数の他の汎用または専用コンピューティングシステム、環境または構成によっても動作可能である。本発明と共に使用することができる適切な周知のコンピューティングシステム、環境および/または構成の実施例には、それだけに限定されないが、(いかなる画面もない)通常の電話機、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、タブレットコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブルなコンシューマエレクトロニクス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
以下は、図5に例示する汎用コンピュータ120の簡単な説明である。しかし、コンピュータ120は、適切なコンピューティング環境のただ1つの実施例でしかなく、本発明の使用または機能性の範囲についてのいかなる限定をも示唆するように意図されていない。コンピュータ120は、本明細書に例示する構成要素のいずれか1つまたは組合せに関係するいかなる依存性または必要性を有すると解釈されるべきではない。
本発明を一般に、コンピュータによって実行されるプログラムモジュールなど、コンピュータ実行可能命令に関連して説明することができる。一般に、プログラムモジュールには、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれ、これらは特定のタスクを実行するか、あるいは特定の抽象データ型を実施する。また、本発明を分散コンピューティング環境において実施することもでき、この環境ではタスクが、通信ネットワークを通じてリンクされるリモート処理デバイスによって実行される。分散コンピューティング環境では、プログラムモジュールが、メモリストレージデバイスを含む、ローカルおよびリモートのコンピュータストレージ媒体内に位置することができる。プログラムおよびモジュールによって実行されるタスクを、以下で、図面を用いて説明する。当業者は本明細書および図面の内容を、任意の形態のコンピュータ可読媒体上に記録することができるプロセッサ実行可能命令として実施することができる。
図5を参照すると、コンピュータ120の構成要素には、それだけに限定されないが、処理ユニット140、システムメモリ150、および、システムメモリを含む様々なシステム構成要素を処理ユニット140に結合するシステムバス141が含まれる可能性がある。システムバス141をいくつかのタイプのバス構造のいずれかにすることができ、これには、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バスおよびローカルバスが含まれる。限定ではなく、例として、このようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、ユニバーサルシリアルバス(USB)、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、および、メザニンバスとしても知られるPeripheral Component Interconnect(PCI)バスが含まれる。コンピュータ120は通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ120によってアクセスすることができる任意の使用可能な媒体とすることができ、これには、揮発性および不揮発性の媒体、リムーバブルおよび非リムーバブルの媒体が含まれる。限定ではなく、例として、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を含むことができる。コンピュータストレージ媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体を含み、これらはコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなど、情報の格納のためのいずれかの方法または技術で実現される。コンピュータストレージ媒体には、それだけに限定されないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、所望の情報を格納するために使用することができ、コンピュータ120によってアクセスすることができる他の任意の媒体が含まれる。
通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを搬送波または他の伝送メカニズムなどの変調データ信号中に具現化する任意の情報配信媒体を含む。「変調データ信号」という用語は、信号における情報を符号化するような方法でその特性の1つまたは複数が設定または変更されている信号を意味する。限定ではなく、例として、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに、音響、FR、赤外線および他の無線媒体などの無線媒体が含まれる。上記の任意の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
システムメモリ150は、揮発性および/または不揮発性メモリの形態におけるコンピュータストレージ媒体を含み、これは読み取り専用メモリ(ROM)151およびランダムアクセスメモリ(RAM)152などである。基本入出力システム153(BIOS)は、起動中など、コンピュータ120内の複数の要素の間で情報を転送する助けとなる基本ルーチンを含み、通常はROM151に格納される。RAM152は通常、処理ユニット140によって即時アクセス可能および/または現在操作中であるデータおよび/またはプログラムモジュールを含む。限定ではなく、例として、図5は、オペレーティングシステム154、アプリケーションプログラム155、他のプログラムモジュール156およびプログラムデータ157を例示する。
また、コンピュータシステム120は、他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータストレージ媒体も含むことができる。例としてのみ、図5は、非リムーバブル、不揮発性の磁気媒体に対する読み書きを行うハードディスクドライブ161、リムーバブル、不揮発性磁気ディスク172に対する読み書きを行う磁気ディスクドライブ171、および、CD ROMまたは他の光媒体など、リムーバブル、不揮発性の光ディスク176に対する読み書きを行う光ディスクドライブ175を例示する。例示的オペレーティング環境で使用することができる他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータストレージ媒体には、それだけに限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどが含まれる。ハードディスクドライブ161は通常システムバス141に、インターフェース160などの非リムーバブルメモリインターフェースを通じて接続され、磁気ディスクドライブ171および光ディスクドライブ175は通常システムバス141に、インターフェース170などのリムーバブルメモリインターフェースによって接続される。
上述し、図5に例示したドライブおよびそれらの関連付けられたコンピュータストレージ媒体は、コンピュータ120用のコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータのストレージを提供する。図5では、例えば、ハードディスクドライブ161が、オペレーティングシステム164、アプリケーションプログラム165、他のプログラムモジュール166およびプログラムデータ167を格納するものとして例示される。これらの構成要素を、オペレーティングシステム154、アプリケーションプログラム155、他のプログラムモジュール156およびプログラムデータ157と同じものあるいは異なるものにすることができることに留意されたい。オペレーティングシステム164、アプリケーションプログラム165、他のプログラムモジュール166およびプログラムデータ167にはここで異なる番号が付してあり、最低限それらが異なる複製であることが例示されている。
ユーザは、キーボード182、マイクロフォン183、および、マウス、トラックボールまたはタッチパッドなど、ポインティングデバイス181などの入力デバイスを通じて、コマンドおよび情報をコンピュータ120へ入力することができる。他の入力デバイス(図示せず)には、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナなどを含むことができる。これらおよび他の入力デバイスは、しばしばシステムバスに結合されるユーザ入力インターフェース180を通じて処理ユニット140へ接続されるが、これを、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)など、他のインターフェースおよびバス構造によって接続することも可能である。モニタ184または他のタイプの表示デバイスもまたシステムバス141へ、ビデオインターフェース185などのインターフェースを介して接続される。モニタに加えて、コンピュータはまた、スピーカ187およびプリンタ186など、出力周辺インターフェース188を通じて接続することができる他の周辺出力デバイスを含むこともできる。
コンピュータ120はネットワーク環境において、リモートコンピュータ194など、1つまたは複数のリモートコンピュータへの論理接続を使用して動作することができる。リモートコンピュータ194は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルーター、ネットワークPC、ピアデバイスまたは他の共通ネットワークノードにすることができ、通常は、コンピュータ120に関連して上述した要素の多数またはすべてを含む。図5に示す論理接続は、ローカルエリアネットワーク(LAN)191およびワイドエリアネットワーク(WAN)193を含むが、他のネットワークも含むことができる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
LANネットワーキング環境において使用するとき、コンピュータ120がLAN191へ、ネットワークインターフェースまたはアダプタ190を通じて接続される。WANネットワーキング環境において使用するとき、コンピュータ120は通常、モデム192、またはインターネットなどのWAN193を介して通信を確立するための他の手段を含む。モデム192を内部または外部にすることができ、システムバス141へ、ユーザ入力インターフェース180または他の適切なメカニズムを介して接続することができる。ネットワーク環境では、コンピュータ120に関連して示したプログラムモジュールまたはその一部を、リモートメモリストレージデバイスに格納することができる。例として、限定ではなく、図5はリモートアプリケーションプログラム195をリモートコンピュータ194上に存在するものとして例示する。図示のネットワーク接続は例示的であり、複数のコンピュータの間で通信リンクを確立する他の手段を使用できることは理解されよう。
図6は、本発明のための1つの例示的環境であるウェブベースの認識(recognition)およびデータレンダリングのためのアーキテクチャ200を例示す。一般に、ウェブサーバ202に格納された情報に、モバイルデバイス30またはコンピュータ120(本明細書では、入力の形態に基づいて必要とされる、表示画面、マイクロフォン、カメラ、接触関知パネルなどを有する、他の形態のコンピューティングデバイスを表す)などのクライアント100を通じて、あるいは、押し下げられたキーに応答して可聴的に生成されたトーンにより情報がリクエストされる電話機80を通じてアクセスすることができ、ウェブサーバ202からの情報は可聴的にのみユーザに戻すように提供される。
この実施形態では、アーキテクチャ200は、発話認識を用いて取得される情報が、クライアント100を通じて得られるか、あるいは電話機80を通じて得られるかにかかわらず、統合されており、単一の音声認識サーバ204がいずれのモードのオペレーションもサポートすることができる。加えて、アーキテクチャ200は、周知のマークアップ言語(例えば、HTML、XHTML、cHTML、XML、WMLなど)の拡張を使用して動作する。したがって、ウェブサーバ202上に格納された情報に、これらのマークアップ言語に備えられた周知のGUI方式を使用してアクセスすることができる。周知のマークアップ言語の拡張を使用することによって、ウェブサーバ202上のオーサリングがより容易となり、現存するレガシーアプリケーションを修正して、発話認識を含めることも容易にできる。
一般に、クライアント100は、ブラウザを使用してウェブサーバ202によって提供されたHTMLページ、スクリプトなど(全体的に206で示す)を実行する。発話認識が必要とされるとき、発話データが、クライアント100によって提供される音声認識中に使用するための文法または言語モデル220の指示と共に、認識サーバ204へ提供される。例えば、は、上述のようにオーディオ信号がクライアント100によって前処理されている、デジタル化されたオーディオ信号または発話特性とすることができる。あるいは、発話サーバ204は言語モデル220を含むことができる。認識サーバ204の実施形態は、多数の形態を取ることができ、その1つを例示するが、一般にレコグナイザー211を含む。認識の結果は、必要に応じてあるいは適切である場合、ローカルのレンダリングのためにクライアント100へ戻すように提供される。必要に応じて、テキスト−音声モジュール222を使用して、発話テキストをクライアント100に提供することができる。認識、および(使用されている場合)いずれかのグラフィカルユーザインターフェースを通じて情報を編集(compilation)した後に、クライアント100はこの情報をウェブサーバ202へ、さらなる処理、および、必要な場合はさらなるHTMLページ/スクリプトの受信のために送信する。
図6に例示したように、クライアント100、ウェブサーバ202および認識サーバ204は、ネットワーク205、ここではインターネットなどのワイドエリアネットワークを通じて、一般的に接続され、別々にアドレス可能である。したがって、これらのデバイスのいずれかを物理的に互いに隣接して位置付けることは必要ではない。特に、ウェブサーバ202が認識サーバ204を含むことは必要ではない。このように、ウェブサーバ202でのオーサリングの焦点をアプリケーションに合わせることができ、創作者が認識サーバ204の複雑さを知る必要なしに、このオーサリングが意図される。むしろ、認識サーバ204は独立して設計され、ネットワーク205に接続されていて、それにより、ウェブサーバ202でさらなる変更を必要とされることなく、更新および改良することができる。ウェブサーバ202はまた、動的にクライアント側のマークアップおよびスクリプトを生成することができるオーサリングメカニズムも含むことができる。さらなる実施形態では、ウェブサーバ202、認識サーバ204およびクライアント100を、マシンを実施する能力に応じて結合することができる。例えば、クライアント100が例えばパーソナルコンピュータを含む汎用コンピュータの場合、クライアントは認識サーバ204を含むことができる。同様に、必要に応じて、ウェブサーバ202および認識サーバ204を単一のマシンに組み込むことができる。
電話機80を通じたウェブサーバ202へのアクセスは、電話機80を有線または無線電話網208に接続することを含み、電話網208は電話機80をサードパーティのゲートウェイ210に接続する。ゲートウェイ210は、電話機80をテレフォニーボイスブラウザ212に接続する。テレフォニーボイスブラウザ212は、テレフォニーインターフェースを提供するメディアサーバ214およびボイスブラウザ216を含む。クライアント100のように、テレフォニーボイスブラウザ212はHTMLページ/スクリプトなどをウェブサーバ202から受信する。一実施形態では、HTMLページ/スクリプトは、クライアント100に提供されたHTMLページ/スクリプトに類似の形態のものである。この形態では、ウェブサーバ202はクライアント100および電話機80を別々にサポートする必要はなく、あるいはさらに、標準GUIクライアントを別々にサポートする必要もない。むしろ、一般的なマークアップ言語を使用することができる。加えて、クライアント100の場合と同様に、電話機80によって送信された可聴信号についての音声認識は、ボイスブラウザ216から認識サーバ204へ、ネットワーク205を通じてまたは専用回線207を通じて、例えばTCP/IPを使用して提供される。ウェブサーバ202、認識サーバ204および電話ボイスブラウザ212は図5に例示した汎用デスクトップコンピュータなど、任意の適切なコンピューティング環境において実施されることができる。
VoiceXML内に組み込まれた発話アプリケーション開発ツールを利用することによって、VoiceXMLマークアップページの機能が拡張される。VoiceXMLのフォーム解釈アルゴリズムはインタラクティブ音声応答アプリケーション用に設計されるが、他のツールをVoiceXML内で利用することにより、よりユーザフレンドリで堅調なアプリケーションが提供される。発話アプリケーション開発ツールをVoiceXMLに組み込むために、VoiceXML命令と開発ツール命令との間の相互作用が提供される。
図7は、本発明の一実施形態による方法300を例示する。この方法はステップ302で開始し、VoiceXML逐次アルゴリズムが初期化される。例えば、このアルゴリズムを、<form>タグまたは<menu>タグをそれぞれ使用することによって、VoiceXMLマークアップページにおけるフォームまたはメニューの宣言において初期化することができる。このアルゴリズムが初期化された後、VoiceXMLページ内のステップは、ある条件が満たされるまで継続的にループする。ステップ302の後、この方法はステップ304に進み、複数の関連文法を有するSALT認識イベントが初期化される。SALT認識イベントを、listenタグを使用することによってトリガすることができる。複数の文法により、多数の文法タグが使用されて、各文法の使用が開始される。例えば、ユーザに住所について問い合わせるアプリケーションにおいて、ある文法を使用して都市を認識することができ、別の文法を使用して州を認識することができる。あるいは、ある文法はカテゴリを認識することができ、さらなる文法は、それらのカテゴリに関連付けられたサブカテゴリを認識することができる。
音声および/またはDTMF入力の発声がユーザによって与えられた後、この方法はステップ306に進み、そこで認識結果が、複数の文法のうち少なくとも1つに関連付けられる。例えば、いくつかのカテゴリ(すなわち、スポーツ、天気、株価情報、映画、交通)およびいくつかのサブカテゴリ(すなわち、スポーツカテゴリでは、バスケットボール、野球、サッカー、ホッケー)を認識するwelcomeページを有することにより、認識され、特定の文法に関連付けられるカテゴリの1つまたはサブカテゴリの1つをユーザが入力することができる。特定の文法に関連付けられた後、ユーザからの入力を音声アプリケーションによって分析および使用することができる。例えば、ユーザが「ホッケー」と発声する場合、その日のホッケーイベントからのスコアおよびハイライトをユーザにレンダリングすることができる。
VoiceXMLは、認識中に単一の文法のみを可能にする。したがって、ユーザは多数のカテゴリおよびサブカテゴリ中をナビゲートして、関連情報を得なければならず、あるいは比較的大きい文法を使用しなければならない。VoiceXML命令内に埋め込まれたSALT<listen>タグを使用することによって、発話入力を、例えば<bind>要素を使用することによって、特定の文法に関連付けることができ、かつ/または、特定のフィールドに関連付けることができる。
図8は、認識結果320および複数の文法321から324のブロック図を例示する。方法300を使用するとき、認識結果320を各文法321〜324、および/または、各文法321乃至324内の特定の選択肢または見出し(heading)に関連付けることができる。
図9は、本発明の別の実施形態による方法340を例示する。ステップ342で、第1のVoiceXMLフィールドおよび第2のVoiceXMLフィールドが宣言される。VoiceXMLフィールドを宣言するとき、フォーム解釈アルゴリズムが初期化され、フォーム内のVoiceXML実行可能命令中を、第1および第2のVoiceXMLフィールドが満たされるまでループし続ける。フィールドが宣言された後、ステップ344で、ユーザから発話入力を得るためのSALT認識イベントが初期化される。認識イベントを、例えば、1つまたは複数の文法要素を含むlistenタグを使用することによって、トリガすることができる。ユーザからの発話入力は、単一の発声からの多数の部分を含むことができる。ステップ346で、第1のVoiceXMLフィールドは発話入力の第1の部分により満たされ、第2のVoiceXMLフィールドは発話入力の第2の部分により満たされる。例えば、ユーザはフライト情報についての出発都市および到着都市を入力することを望む可能性があり、あるいはレストラン情報についての料理のタイプおよび場所を入力する可能性がある。
図10は、フィールドおよび発話入力のブロック図を例示する。フィールド350およびフィールド352はVoiceXMLモジュールによって宣言され、認識結果360は、ユーザからの発話入力に基づいて認識される。結果360は、第1の部分362および第2の部分364を含む。結果360を使用して、第1の部分362がフィールド350へ満たされ、第2の部分364がフィールド352へ満たされる。結果として、作成者は、音声アプリケーションを、ユーザからの多数の入力を認識してこれらを適切なフィールドへ、認識結果に基づいて配置するように、プログラムすることができる。
図11は、本発明の一実施形態による別の方法380を例示する。方法380はステップ382で開始し、VoiceXML実行可能命令を有するマークアップページが確立される。ステップ384で、第1のフィールドおよび第2のフィールドが宣言される。第1のフィールドおよび第2のフィールドが宣言された後、音声およびDTMF入力の発声がユーザから受信される。例えば、ユーザは「[DTMF入力]の金額のドルを自分の当座預金口座から自分の普通預金口座に振り替えてください」と発声することができる。この場合、振り替えられる金額を口頭で言うのではなく、ユーザはキーパッドを使用してこの金額を入力した。ステップ388で、発話入力がSALTを使用して認識され、次いで第1のフィールドに関連付けられ、DTMF入力がSALTを使用して認識され、次いで第2のフィールドに関連付けられる。例えば、DTMF入力として入力された金額を金額フィールドに入れることができ、発話入力を、当座から普通への振替に関連付けることができる。
図12は、本発明の一実施形態による別の方法400を例示する。方法400を使用して、フォームをリモートサーバに送信(submit)する必要なく、あるいはさらにマークアップページにアクセスする必要なく、ランタイム変数を使用してデータをユーザにレンダリングすることができる。ステップ402で、VoiceXML実行可能命令を有するマークアップページが確立される。ステップ404で、音声認識結果がユーザの発話入力から得られる。ステップ406で、少なくとも一部の結果がフィールドに入れられる。結果がフィールドに入れられた後、この方法はステップ408へ進み、マークアップページが利用されてフィールドがユーザにレンダリングされる。例えば、ステップ408を使用して、ユーザによって入力された1つまたは複数のフィールドを確認することができる。さらに、フィールドを、ユーザに再生されるプロンプトの一部として使用することができる。SALT<prompt>タグを使用する場合、リモートサーバへのラウンドトリップなしで、ランタイム変数をレンダリングすることができる。この状況では、クライアントのコンピューティング能力が利用され、リモートサーバに接続する必要はない。
図13は、本発明の別の実施形態による方法420を例示する。この方法はステップ422で開始し、VoiceXML実行可能命令を有するマークアップページが確立される。次に、ステップ424で、発話入力がユーザから得られる。ステップ426で、発話入力を使用して、ウェブサーバへの接続が行われ、メッセージングイベントが実行される。例えば、ウェブサーバは、ユーザがレンダリングされることを望む値を含むことができる。ステップ428で、メッセージングイベントから受信された情報に基づく結果がユーザにレンダリングされる。
図14は、入力された都市に基づいて、ユーザへ郵便番号をレンダリングするマークアップページを例示する。マークアップページ450は、VoiceXML実行可能命令および後述するSALTタグを含む。見出し452は、VoiceXMLおよびSALTを参照するスキーマを含み、さらに「v:」をVoiceXMLタグのデリミタとして、「s:」をSALTタグのデリミタとして確立する。命令454はVoiceXML内のフォームを宣言し、フォーム解釈アルゴリズムの実行を開始する。したがって、フォーム解釈アルゴリズムは、フォーム内の命令(<v:form>タグと</v:form>タグとの間の命令を含む)を、フォーム内の値が満たされるまで実行するようになる。命令456は、変数「answer」を宣言し、ヌル値をこの変数に割り当てる。次いで、フォーム解釈アルゴリズムは、ユーザに都市および州を入力するようにプロンプトして郵便番号を発見できるようにするために、ステップを通じて進む。
命令458は、フィールド名「city」を宣言する。VoiceXMLでは、フィールドについてのデフォルトハンドラは認識イベントにおいてフィールドを満たすようになる。promptタグ460(SALTまたはVoiceXMLにすることができる)はユーザに、郵便番号について探索するための都市を言うようにプロンプトする。SALTのlistenタグ462は、関連文法464を有する認識イベントをトリガし、これは都市名を認識する。別の関連文法465は、ユーザが発声中に州名を入力することを望む場合、州名を認識する。ユーザが、都市として認識される発話入力を入力する場合、認識イベントは「都市」フィールドを満たす。ユーザが、州として認識される発話入力を入力する場合、認識イベントは「州」フィールドを満たす。
フォーム解釈アルゴリズムは、都市フィールドが満たされている場合、命令466に進む。命令466は「州」という名前のフィールドを宣言し、このフィールドは州文法に関連付けられる認識イベントにおいて満たされる、このイベントはlistenタグ462によって初期化された認識イベント中に発生する。プロンプト468はユーザに州を言うようにプロンプトし、listenタグ470は、関連文法472および474を有する認識イベントを初期化する。文法472は都市を認識し、文法474は州を認識する。文法472により、ユーザは、認識される異なる都市を選択し、都市フィールドを満たすことができる。あるいは、ユーザは、州文法474に関連付けられ、州フィールドに入れられる州を入力することができる。
命令476は条件付き命令であり、これは、実際に変数「city」および「state」が満たされている場合、<v:filled>および</v:filled>タグの間の命令を実行するようになる。SALTメッセージングタグ474はメッセージングイベントを初期化し、これは郵便番号を、ユーザによって入力された都市に基づいて戻す。タグ474は、外部コンポーネントと通信する「smex」オブジェクトを使用した。SALTパラメータタグ480はリモートサーバを識別し、これが、郵便番号を都市に基づいて検索するためにアクセスされるようになる。パラメータタグ481は都市および州フィールドをリモートサーバに送信する。SALTのbindタグ482は、リモートサーバから受信された郵便番号を、命令456により宣言された変数answerにバインドする。SALTのpromptタグ484は、ユーザによって入力された都市およびメッセージングイベントから決定された回答を含む出力を提供する。
本発明を特定の実施形態を参照して説明したが、本発明の要旨および範囲から逸脱することなく形態および詳細において変更を行うことができることは、当業者には理解されよう。
逐次モジュールおよびオブジェクト指向モジュールを利用するシステムのブロック図である。 コンピューティングデバイス動作状況の平面図である。 図2のコンピューティングデバイスのブロック図である。 電話機の平面図である。 汎用コンピュータのブロック図である。 クライアント/サーバシステムのためのアーキテクチャのブロック図である。 本発明の一実施形態による方法のブロック図である。 認識結果および複数の文法のブロック図である。 本発明の一実施形態による方法のブロック図である。 認識結果および複数のフィールドのブロック図である。 本発明の一実施形態による方法のブロック図である。 本発明の一実施形態による方法のブロック図である。 本発明の一実施形態による方法のブロック図である。 本発明の一実施形態による例示的マークアップページの図である。
符号の説明
12 逐次モジュール(例えば、VoiceXML)
14 オブジェクト指向ツールモジュール(例えば、SALT)
29 マイクロフォン
30 モバイルデバイス
32 ハウジング
33 スタイラス
34 表示画面
35 ボタン
36,84 キーパッド
37 A/D
43 スピーカ
50 CPU
52 無線トランシーバ
54 RAMメモリ
58 ROM
59 D/A
60 通信インターフェース
80 電話機、携帯電話機
82 ディスプレイ
120 汎用コンピュータ
161 ハードディスクドライブ
171 磁気ディスクドライブ
172 磁気ディスク
175 光ディスクドライブ
176 光ディスク
207 専用回線

Claims (38)

  1. コンピュータ上で実施されると、前記コンピュータに情報を処理させる命令を有するコンピュータ可読媒体であって、前記命令は、
    実行アルゴリズムに基づいて定義された順序において実行される命令を含む逐次モジュールと、
    前記命令に関連付けられたオペレーションを初期化するための一時的トリガを有する、少なくとも1つのオブジェクトを含む、オブジェクト指向モジュールとを備えることを特徴とするコンピュータ可読媒体。
  2. 前記実行アルゴリズムは、少なくとも1つのオブジェクトに遭遇するとき、自動的に前記一時的トリガを呼び出すことを特徴とする請求項1に記載のコンピュータ可読媒体。
  3. 前記逐次モジュールは、フォーム解釈アルゴリズムを実行するVoiceXMLモジュールであることを特徴とする請求項1または2に記載のコンピュータ可読媒体。
  4. 前記オブジェクト指向モジュールは、音声アプリケーション言語タグを有するSALTモジュールであることを特徴とする請求項1から3のいずれかに記載のコンピュータ可読媒体。
  5. 前記一時的トリガは音声認識イベントを初期化することを特徴とする請求項1から4のいずれかに記載のコンピュータ可読媒体。
  6. 前記一時的トリガはDTMF認識イベントを初期化することを特徴とする請求項1から5のいずれかに記載のコンピュータ可読媒体。
  7. 前記一時的トリガはメッセージングイベントを初期化することを特徴とする請求項1から5のいずれかに記載のコンピュータ可読媒体。
  8. 前記逐次モジュールは、第1のフィールドおよび第2のフィールドを宣言し、前記オブジェクト指向モジュールは、認識イベントを初期化して、ユーザからの発話入力を得て、前記第1のフィールドを、前記発話入力の第1の部分により満たし、前記第2のフィールドを、前記発話入力の第2の部分により満たすことを特徴とする請求項1から5のいずれかに記載のコンピュータ可読媒体。
  9. 第1の文法は前記第1のフィールドに関連付けられ、第2の文法は前記第2のフィールドに関連付けられることを特徴とする請求項8に記載のコンピュータ可読媒体。
  10. 前記オブジェクト指向モジュールは、複数の文法を有する認識イベントを初期化して、認識結果を得て、前記認識結果を前記複数の文法の少なくとも1つに関連付けることを特徴とする請求項1から9のいずれかに記載のコンピュータ可読媒体。
  11. 前記逐次モジュールは、第1のフィールドおよび第2のフィールドを宣言し、前記オブジェクト指向モジュールは、認識イベントを初期化して、音声およびDTMF入力を有する発声をユーザから得て、前記発話入力を前記第1のフィールドに、前記DTMF入力を前記第2のフィールドに関連付けることを特徴とする請求項1から10のいずれかに記載のコンピュータ可読媒体。
  12. 前記逐次モジュールはフィールドを宣言し、前記オブジェクト指向モジュールは、認識イベントを初期化して、前記ユーザからの認識結果を得て前記フィールドを満たし、前記フィールドを前記ユーザにレンダリングするためのプロンプトを実行することを特徴とする請求項1から11のいずれかに記載のコンピュータ可読媒体。
  13. 前記オブジェクト指向モジュールは、メッセージングイベントを実行してリモートアプリケーションに接続することを特徴とする請求項1から12のいずれかに記載のコンピュータ可読媒体。
  14. 前記オブジェクト指向モジュールは、前記結果を前記メッセージングイベントに基づいて受信し、前記結果をユーザにレンダリングすることを特徴とする請求項13に記載のコンピュータ可読媒体。
  15. 前記実行アルゴリズムは、前記オペレーションの完了後、自動的に後続の命令に進むことを特徴とする請求項1から14のいずれかに記載のコンピュータ可読媒体。
  16. 前記トリガは、エラー、例外、認識および認識なしの指示のうち1つであることを特徴とする請求項1から15のいずれかに記載のコンピュータ可読媒体。
  17. 前記トリガは再生命令の完了であることを特徴とする請求項1から16のいずれかに記載のコンピュータ可読媒体。
  18. 前記トリガはメッセージの受信であることを特徴とする請求項1から17のいずれかに記載のコンピュータ可読媒体。
  19. コンピュータによって実行可能であり、実施されるとき、前記コンピュータに情報を処理させるマークアップページを有するコンピュータ可読媒体であって、前記マークアップページは、
    VoiceXML実行命令を有するVoiceXMLモジュールと、
    前記VoiceXMLモジュールに関連付けられた命令を実行するための音声アプリケーション言語タグを有する、SALTモジュールとを備えることを特徴とするコンピュータ可読媒体。
  20. 前記VoiceXMLモジュールは、第1のフィールドおよび第2のフィールドを宣言し、前記SALTモジュールは、認識イベントを初期化して、ユーザからの発話入力を得て、前記第1のVoiceXMLフィールドを、前記発話入力の第1の部分により満たし、前記第2のVoiceXMLフィールドを、前記発話入力の第2の部分により満たすことを特徴とする請求項19に記載のコンピュータ可読媒体。
  21. 第1の文法は前記第1のVoiceXMLフィールドに関連付けられ、第2の文法は前記第2のVoiceXMLフィールドに関連付けられることを特徴とする請求項20に記載のコンピュータ可読媒体。
  22. 前記SALTモジュールは、複数の文法を有する認識イベントを初期化して、認識結果を得て、前記認識結果を前記複数の文法の少なくとも1つに関連付けることを特徴とする請求項19から21のいずれかに記載のコンピュータ可読媒体。
  23. 前記VoiceXMLモジュールは、第1のフィールドおよび第2のフィールドを宣言し、前記SALTモジュールは、認識イベントを初期化して、音声およびDTMF入力を有する発声をユーザから得て、前記発話入力を前記第1のフィールドに、前記DTMF入力を前記第2のフィールドに関連付けることを特徴とする請求項19に記載のコンピュータ可読媒体。
  24. 前記VoiceXMLモジュールはフィールドを宣言し、前記SALTモジュールは、認識イベントを初期化して、ユーザからの認識結果を得て前記フィールドを満たし、前記フィールドを前記ユーザにレンダリングするためのプロンプトを前記マークアップページ内で実行することを特徴とする請求項19に記載のコンピュータ可読媒体。
  25. 前記SALTモジュールは、メッセージングイベントを実行してリモートアプリケーションに接続することを特徴とする請求項19から24のいずれかに記載のコンピュータ可読媒体。
  26. 前記SALTモジュールは、結果を前記メッセージングイベントに基づいて受信し、前記結果をユーザにレンダリングすることを特徴とする請求項25に記載のコンピュータ可読媒体。
  27. 認識、プロンプト、およびメッセージングのうちの少なくとも1つに関連付けられたイベントを処理するためのオブジェクトを含む命令を、定義された順序で実行する逐次ダイアログを確立するステップと、
    前記命令に関連付けられたオブジェクトと遭遇すると、認識、プロンプト、およびメッセージングに関連付けられたダイアログにおけるイベントのうちのすべてではないが少なくとも1つを提供するために、オブジェクト指向オペレーションを実行するステップと
    を備えることを特徴とするインタラクティブなユーザインターフェースを提供するための方法。
  28. 前記オブジェクト指向オペレーションは音声認識イベントであることを特徴とする請求項27に記載の方法。
  29. 前記オブジェクト指向オペレーションはDTMF認識イベントであることを特徴とする請求項27に記載の方法。
  30. 前記逐次ダイアログはVoiceXMLモジュールにおいて実施されることを特徴とする請求項27に記載の方法。
  31. 前記オブジェクト指向オペレーションはSALTモジュールにおいて実施されることを特徴とする請求項27に記載の方法。
  32. 前記逐次ダイアログを確立するステップは、第1のフィールドおよび第2のフィールドを宣言し、前記オブジェクト指向オペレーションを実行するステップは認識イベントを含み、これはユーザからの発話入力を得て、前記フィールドを前記発話入力の第1の部分により満たし、前記第2のフィールドを前記発話入力の第2の部分により満たすことを特徴とする請求項27から31のいずれかに記載の方法。
  33. 前記オブジェクト指向オペレーションを実行するステップはさらに、前記第1のフィールドに関連付けられた第1の文法、および、前記第2のフィールドに関連付けられた第2の文法を開始することを特徴とする請求項32に記載の方法。
  34. 前記オブジェクト指向オペレーションは、複数の文法を有する認識イベントを初期化して、認識結果を得て、前記認識結果を前記複数の文法の少なくとも1つに関連付けることを特徴とする請求項27から33のいずれかに記載の方法。
  35. 前記逐次ダイアログを確立するステップは、第1のフィールドおよび第2のフィールドを宣言し、前記オブジェクト指向オペレーションを実行するステップは、認識イベントを初期化して、音声およびDTMF入力を有する発声をユーザから得るステップを含み、前記発話入力を前記第1のフィールドに、前記DTMF入力を前記第2のフィールドに関連付けることを特徴とする請求項27から31のいずれかに記載の方法。
  36. 前記逐次ダイアログを確立するステップはフィールドを宣言し、前記オブジェクト指向オペレーションを実行するステップは、認識イベントを初期化して、ユーザからの認識結果を得て前記フィールドを満たし、前記フィールドを前記ユーザにレンダリングするためのプロンプトを実行するステップを含むことを特徴とする請求項27から35のいずれかに記載の方法。
  37. 前記オブジェクト指向オペレーションは、リモートアプリケーションに接続するためのメッセージングイベントであることを特徴とする請求項27から36のいずれかに記載の方法。
  38. 前記オブジェクト指向オペレーションは、結果を前記メッセージングイベントに基づいて受信し、前記結果をユーザにレンダリングすることを特徴とする請求項37に記載の方法。
JP2004195947A 2003-07-03 2004-07-01 逐次マークアップ言語およびオブジェクト指向開発ツールの結合使用 Pending JP2005025760A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/613,631 US7729919B2 (en) 2003-07-03 2003-07-03 Combining use of a stepwise markup language and an object oriented development tool

Publications (1)

Publication Number Publication Date
JP2005025760A true JP2005025760A (ja) 2005-01-27

Family

ID=33490844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004195947A Pending JP2005025760A (ja) 2003-07-03 2004-07-01 逐次マークアップ言語およびオブジェクト指向開発ツールの結合使用

Country Status (10)

Country Link
US (1) US7729919B2 (ja)
EP (1) EP1501268A1 (ja)
JP (1) JP2005025760A (ja)
KR (1) KR101098716B1 (ja)
CN (1) CN100576171C (ja)
AU (1) AU2004202630A1 (ja)
BR (1) BRPI0402462A (ja)
CA (1) CA2471292C (ja)
MX (1) MXPA04006532A (ja)
RU (1) RU2379745C2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849892B2 (en) * 2004-06-10 2014-09-30 Verizon Patent And Licensing Inc. Method and system for brokering messages in a distributed system
US7986954B1 (en) 2004-06-25 2011-07-26 Nortel Networks Limited Wireless communication network having a broadcast system for information distribution
US7739117B2 (en) * 2004-09-20 2010-06-15 International Business Machines Corporation Method and system for voice-enabled autofill
US7630900B1 (en) * 2004-12-01 2009-12-08 Tellme Networks, Inc. Method and system for selecting grammars based on geographic information associated with a caller
US7805704B2 (en) * 2005-03-08 2010-09-28 Microsoft Corporation Development framework for mixing semantics-driven and state-driven dialog
US20070115920A1 (en) * 2005-10-18 2007-05-24 Microsoft Corporation Dialog authoring and execution framework
US7814501B2 (en) * 2006-03-17 2010-10-12 Microsoft Corporation Application execution in a network based environment
US8632636B1 (en) * 2006-07-18 2014-01-21 Oral Health Technologies, LLC Wet wiper articles and methods for cleaning removable dental appliances
US8417529B2 (en) * 2006-12-27 2013-04-09 Nuance Communications, Inc. System and methods for prompting user speech in multimodal devices
US20090216534A1 (en) * 2008-02-22 2009-08-27 Prakash Somasundaram Voice-activated emergency medical services communication and documentation system
US8433812B2 (en) * 2008-04-01 2013-04-30 Microsoft Corporation Systems and methods for managing multimedia operations in remote sessions
US8255225B2 (en) 2008-08-07 2012-08-28 Vocollect Healthcare Systems, Inc. Voice assistant system
US20110113352A1 (en) * 2009-11-06 2011-05-12 Research In Motion Limited Portable electronic device and method of web page rendering
US20110109634A1 (en) * 2009-11-06 2011-05-12 Research In Motion Limited Portable electronic device and method of information rendering on portable electronic device
CN103577444B (zh) * 2012-07-30 2017-04-05 腾讯科技(深圳)有限公司 一种操控浏览器的方法及系统
US9485330B2 (en) 2012-07-30 2016-11-01 Tencent Technology (Shenzhen) Company Limited Web browser operation method and system
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
US10199041B2 (en) * 2014-12-30 2019-02-05 Honeywell International Inc. Speech recognition systems and methods for maintenance repair and overhaul
US11340925B2 (en) 2017-05-18 2022-05-24 Peloton Interactive Inc. Action recipes for a crowdsourced digital assistant system
US11056105B2 (en) * 2017-05-18 2021-07-06 Aiqudo, Inc Talk back from actions in applications
US10838746B2 (en) 2017-05-18 2020-11-17 Aiqudo, Inc. Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations
US11043206B2 (en) 2017-05-18 2021-06-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
WO2018213788A1 (en) 2017-05-18 2018-11-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
WO2019152511A1 (en) 2018-01-30 2019-08-08 Aiqudo, Inc. Personalized digital assistant device and related methods
US10991369B1 (en) * 2018-01-31 2021-04-27 Progress Software Corporation Cognitive flow

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091364A1 (en) * 2001-05-04 2002-11-14 Unisys Corporation Dynamic generation of voice application information from a web server
JP2003131772A (ja) * 2001-05-04 2003-05-09 Microsoft Corp Webで使用可能な認識のためのマークアップ言語拡張部

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05502539A (ja) 1990-09-19 1993-04-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 主データファイル及び制御ファイルが記録された記録担体、その記録方法及び装置、及びその読取装置
US6119151A (en) 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
EP0826172A2 (en) * 1996-03-05 1998-03-04 Koninklijke Philips Electronics N.V. Transaction system based on a bidirectional speech channel through status graph building and problem detection for thereupon providing feedback to a human user person
US6236967B1 (en) * 1998-06-19 2001-05-22 At&T Corp. Tone and speech recognition in communications systems
US6246983B1 (en) * 1998-08-05 2001-06-12 Matsushita Electric Corporation Of America Text-to-speech e-mail reader with multi-modal reply processor
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
US6510414B1 (en) * 1999-10-05 2003-01-21 Cisco Technology, Inc. Speech recognition assisted data entry system and method
US6922411B1 (en) * 2000-09-29 2005-07-26 Voxeo Corporation Networked computer telephony system driven by web-based applications
US6941266B1 (en) * 2000-11-15 2005-09-06 At&T Corp. Method and system for predicting problematic dialog situations in a task classification system
ES2391983T3 (es) * 2000-12-01 2012-12-03 The Trustees Of Columbia University In The City Of New York Procedimiento y sistema para la activación por voz de páginas web
US20030149565A1 (en) * 2001-03-09 2003-08-07 Chang Steve S. System, method and computer program product for spelling fallback during large-scale speech recognition
US20030055651A1 (en) 2001-08-24 2003-03-20 Pfeiffer Ralf I. System, method and computer program product for extended element types to enhance operational characteristics in a voice portal
AR037082A1 (es) * 2001-10-12 2004-10-20 Back Office Service Solutions Procedimiento para determinacion de caudal y corte de fluidos y caudalimetro sensor de corte empleado
US7177814B2 (en) * 2002-02-07 2007-02-13 Sap Aktiengesellschaft Dynamic grammar for voice-enabled applications
US7178149B2 (en) * 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7590542B2 (en) * 2002-05-08 2009-09-15 Douglas Carter Williams Method of generating test scripts using a voice-capable markup language
US7295984B2 (en) * 2002-05-09 2007-11-13 Qwest Communications International Inc. Systems and methods for providing voice and data interfaces to web services-based applications
JP3814566B2 (ja) * 2002-06-20 2006-08-30 キヤノン株式会社 情報処理装置、情報処理方法、制御プログラム
US20040061717A1 (en) * 2002-09-30 2004-04-01 Menon Rama R. Mechanism for voice-enabling legacy internet content for use with multi-modal browsers
US7184523B2 (en) * 2002-10-31 2007-02-27 Comverse, Inc. Voice message based applets
US8001709B2 (en) * 2002-12-31 2011-08-23 Nvoq Incorporated Data device to speech service bridge
US7783475B2 (en) * 2003-01-31 2010-08-24 Comverse, Inc. Menu-based, speech actuated system with speak-ahead capability

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091364A1 (en) * 2001-05-04 2002-11-14 Unisys Corporation Dynamic generation of voice application information from a web server
JP2003131772A (ja) * 2001-05-04 2003-05-09 Microsoft Corp Webで使用可能な認識のためのマークアップ言語拡張部

Also Published As

Publication number Publication date
RU2379745C2 (ru) 2010-01-20
US20050004800A1 (en) 2005-01-06
KR101098716B1 (ko) 2011-12-23
CA2471292A1 (en) 2005-01-03
MXPA04006532A (es) 2005-04-19
US7729919B2 (en) 2010-06-01
AU2004202630A1 (en) 2005-01-20
CA2471292C (en) 2012-05-15
BRPI0402462A (pt) 2005-05-24
CN1577267A (zh) 2005-02-09
KR20050004129A (ko) 2005-01-12
CN100576171C (zh) 2009-12-30
EP1501268A1 (en) 2005-01-26
RU2004120266A (ru) 2006-01-10

Similar Documents

Publication Publication Date Title
US7729919B2 (en) Combining use of a stepwise markup language and an object oriented development tool
US7650284B2 (en) Enabling voice click in a multimodal page
US8229753B2 (en) Web server controls for web enabled recognition and/or audible prompting
US7409349B2 (en) Servers for web enabled speech recognition
US9083798B2 (en) Enabling voice selection of user preferences
US7548858B2 (en) System and method for selective audible rendering of data to a user based on user input
CN100397340C (zh) 以对话为目的的应用抽象
RU2349969C2 (ru) Синхронное понимание семантических объектов, реализованное с помощью тэгов речевого приложения
US7853453B2 (en) Analyzing dialog between a user and an interactive application
US7216351B1 (en) Systems and methods for synchronizing multi-modal interactions
US8160883B2 (en) Focus tracking in dialogs
US7506022B2 (en) Web enabled recognition architecture
RU2355045C2 (ru) Последовательный мультимодальный ввод
US20070006082A1 (en) Speech application instrumentation and logging
JP2003131772A (ja) Webで使用可能な認識のためのマークアップ言語拡張部
JP2005149484A (ja) 逐次的なマルチモーダル入力
JP2011227507A (ja) ウェブ・ページを音声付勢するためのシステム及び方法
JP4467226B2 (ja) ウェブ対応音声認識用サーバの方法および記録媒体
JP2003067177A (ja) ウェブ対応認識アーキテクチャを有するシステムおよびその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100611

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101105