JP2003131772A - Webで使用可能な認識のためのマークアップ言語拡張部 - Google Patents

Webで使用可能な認識のためのマークアップ言語拡張部

Info

Publication number
JP2003131772A
JP2003131772A JP2002131950A JP2002131950A JP2003131772A JP 2003131772 A JP2003131772 A JP 2003131772A JP 2002131950 A JP2002131950 A JP 2002131950A JP 2002131950 A JP2002131950 A JP 2002131950A JP 2003131772 A JP2003131772 A JP 2003131772A
Authority
JP
Japan
Prior art keywords
recognition
computer
readable medium
markup language
grammar
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
JP2002131950A
Other languages
English (en)
Inventor
Kuansan Wang
クァンサン ウァン
Hsiao-Wuen Hon
シャオ−ウェン ホン
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
Priority claimed from US09/960,233 external-priority patent/US20020178182A1/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2003131772A publication Critical patent/JP2003131772A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/24Speech recognition using non-acoustical features
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • 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
    • 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/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/271Devices whereby a plurality of signals may be stored simultaneously controlled by voice recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2207/00Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
    • H04M2207/40Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place terminals with audio html browser
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means
    • 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
    • H04M3/4936Speech interaction details

Abstract

(57)【要約】 【課題】 インターネットなどのサーバ/クライアント
アーキテクチャで音声認識等を提供するための方法を改
善する。 【解決手段】 クライアント/サーバシステム中のクラ
イアントデバイスで実行するためのマークアップ言語の
文書が、クライアントデバイスを介して入力された入力
と関連付けるための文法を示す命令を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、インターネットな
どのワイドエリアネットワークを介した情報へのアクセ
スに関する。より詳細には、本発明は、様々な方法を使
用してクライアント側で情報および制御の入力を可能に
する、Webで使用可能な認識に関する。
【0002】
【従来の技術】パーソナルインフォメーションマネージ
ャ(PIM)などの小型コンピューティングデバイス、
装置、および携帯電話は、人々の日常活動の中でますま
す頻繁に使用されている。これらのデバイスを作動させ
るマイクロプロセッサに現在使用できる処理能力が向上
するにつれて、これらのデバイスの機能も向上し、場合
によっては統合される。たとえば携帯電話の多くは、イ
ンターネットへのアクセスおよびブラウジングが可能で
あり、さらにアドレス、電話番号などの個人情報を記憶
しておくのに使用することもできる。
【0003】これらのコンピューティングデバイスが、
インターネットのブラウジングに使用され、または他の
サーバ/クライアントアーキテクチャで使用されること
に鑑みて、情報をコンピューティングデバイスに入力す
る必要がある。残念ながら、これらのデバイスは、持ち
運びやすいようにできる限り小型であることが望まし
く、コンピューティングデバイスのハウジング上では利
用可能な表面積が限られているため、すべてのアルファ
ベット文字を独立したボタンとする従来のキーボード
は、通常不可能である。
【0004】近年では、VoiceXML(voice
extensible markup langua
ge)を使用するような音声ポータルが、電話のみを使
用してインターネットコンテンツにアクセスできるよう
に改良されてきた。このアーキテクチャでは、ドキュメ
ントサーバ(たとえば、Webサーバ)は、Voice
XMLインタープリタを介してクライアントからの要求
を処理する。Webサーバはこれに応答してVoice
XMLドキュメントを作成することが可能であり、これ
らのドキュメントは、VoiceXMLインタープリタ
によってユーザが聞き取れるように処理される。ユーザ
は、音声認識を介した音声コマンドを使用して、Web
をナビゲートすることができる。
【0005】
【発明が解決しようとする課題】VoiceXMLは、
フロー制御タグを備えたマークアップ言語であるが、フ
ロー制御は、イベントスクリプトおよび分離スクリプト
を含むHTML(Hyper Text Markup
Language)フロー制御モデルに従うものでは
ない。むしろ、VoiceXMLは一般に、特に電話ベ
ースの音声専用対話に好適な形態解釈アルゴリズムを含
み、一般にユーザから取得された情報は、システムまた
はアプリケーションの制御下に置かれる。グラフィカル
ユーザインターフェースも提供されているクライアント
サーバ関係で使用できるアプリケーションに、Voic
eXMLを直接組み込むには、開発者が、VoiceX
ML用のものとHTML(または同様のもの)を使用す
るものであり、それぞれが異なるフロー制御モデルに従
っている、2つの形式のWebオーサリングを習得する
必要がある。
【0006】したがって、インターネットなどのサーバ
/クライアントアーキテクチャで音声認識を提供するの
に使用されるアーキテクチャおよび方法を改善すること
が引き続き求められている。音声認識用のオーサリング
ツールは、PIMや電話などの小型のコンピューティン
グデバイスに容易に適応できるべきである。前述の欠点
のうちの1つ、いくつか、あるいはすべてに対処するW
ebオーサリングのアーキテクチャおよび方法が特に求
められている。
【0007】
【課題を解決するための手段】クライアント/サーバシ
ステム中のクライアントデバイスで実行するためのマー
クアップ言語には、クライアントデバイスを介して入力
された入力データに関連付けるための文法を示す命令が
含まれる。
【0008】この拡張部(extension)、およ
び本発明の他の態様を使用できることで、クライアント
デバイスは、入力データ用のフィールドを有するWeb
サーバからマークアップ言語ページを受け取るための命
令を実行することができる。次いでクライアントデバイ
スは、そのフィールドに関連するユーザから入力データ
を受け取り、そのデータおよび認識のための文法の指示
を、典型的には処理用にリモート位置に配置された認識
サーバに送信する。
【0009】認識サーバは、認識を実行するために、入
力データおよび文法の指示を受け取るための命令を実行
することができる。次いで、認識の結果をさらに処理す
るために、クライアントデバイスまたはWebサーバに
返信することができる。
【0010】
【発明の実施の形態】同じ内容を実施するためのWeb
ベースの認識およびメソッドのアーキテクチャについて
説明する前に、そのアーキテクチャで機能できる一般的
なコンピューティングデバイスについて説明する方が有
用であろう。図1を参照すると、データ管理デバイス
(PIM、PDAなど)の形態例が30に示されてい
る。ただし、本発明は、以下で論じる他のコンピューテ
ィングデバイス、具体的に言えば、入力ボタン用などの
表面積が限られているコンピューティングデバイスを使
用しても実施可能であることが企図される。たとえば、
電話および/またはデータ管理デバイスも、本発明から
の恩恵を受けることになる。こうしたデバイスは、既存
の携帯用個人情報管理デバイスおよび他の携帯用電子デ
バイスに比べて、機能強化されたユーティリティを有す
るものとなり、こうしたデバイスの機能およびコンパク
トなサイズにより、ユーザに対して常に持ち運ぶように
奨励しやすくなる。したがって、本明細書に記載された
アーキテクチャの範囲は、本明細書に示した例示的なデ
ータ管理またはPIMデバイス、電話、またはコンピュ
ータの開示によって限定されることを意図するものでは
ない。
【0011】データ管理移動デバイス30の例示的形態
が、図1に示されている。移動デバイス30はハウジン
グ32を含み、スタイラス33と一緒に使われる接触感
応性のディスプレイ画面を使用するディスプレイ34を
含むユーザインターフェースを有する。スタイラス33
は、フィールドを選択するために指定された座標位置で
ディスプレイ34を押すかまたは接触するため、カーソ
ルの開始位置を選択的に移動するため、あるいはその他
の方法でジェスチャまたは手書きなどのコマンド情報を
提供するために、使用される。別法では、または加え
て、デバイス30上にナビゲーション用の1つまたは複
数のボタン35を含めることができる。さらに、回転ホ
イール、ローラなどの他の入力メカニズムを提供するこ
ともできる。ただし、本発明は、これらの入力メカニズ
ム形態によって限定されるものではないことに留意され
たい。たとえば他の入力形態には、コンピュータビジョ
ンを介するなどの視覚的な入力を含むことができる。
【0012】次に図2を参照すると、移動デバイス30
を含む機能構成要素の構成図が示されている。中央処理
ユニット(CPU)50は、ソフトウェア制御機能を実
施する。CPU50がディスプレイ34に結合されてい
るため、制御ソフトウェアに従って生成されたテキスト
およびグラフィックアイコンがディスプレイ34に表示
される。スピーカ43は、可聴出力を提供するために、
典型的にはデジタルアナログ変換器59を使用してCP
U50に結合することができる。ユーザによってダウン
ロードされ、移動デバイス30に入力されたデータは、
CPU50と双方向に結合された不揮発性読取り/書込
みランダムアクセスメモリ記憶装置54に格納される。
ランダムアクセスメモリ(RAM)54は、CPU50
によって実行される命令用の揮発性記憶域、およびレジ
スタ値などの一時データ用の記憶域を提供する。構成オ
プションおよび他の変数用のデフォルト値は、読取り専
用メモリ(ROM)58に格納される。ROM 58
は、移動体30の基本機能および他のオペレーティング
システムのカーネル機能(たとえば、ソフトウェア構成
要素のRAM54へのローディング)を制御する、デバ
イス用のオペレーティングシステムソフトウェアを格納
するために使用することもできる。
【0013】RAM54は、アプリケーションプログラ
ムを格納するのに使用されるPC上のハードドライブの
機能に類似した方法で、コード用の記憶域としての役割
も果たす。コードを格納するには不揮発性メモリが使用
されるが、代替方法として、コードの実行用には使用さ
れない揮発性メモリ内に格納することもできることに留
意されたい。
【0014】無線信号は、CPU50に結合された無線
トランシーバ52を介して移動デバイスによって送受信
することができる。コンピュータ(たとえばデスクトッ
プコンピュータ)から、または望むなら有線ネットワー
クから、データを直接ダウンロードするために、オプシ
ョンの通信インターフェース60を提供することもでき
る。したがってインターフェース60は、たとえば、赤
外線リンク、モデム、ネットワークカードなどの様々な
形態の通信デバイスを含むことができる。
【0015】移動デバイス30は、マイクロフォン29
およびアナログデジタル(A/D)変換器37、ならび
に記憶装置54に格納されたオプションの認識プログラ
ム(音声、DTMF、手書き、ジェスチャ、またはコン
ピュータビジョン)を含む。例を挙げると、デバイス3
0のユーザからの可聴情報、命令、またはコマンドに応
答して、マイクロフォン29が音声信号を発信し、これ
がA/D変換器37によってデジタル化される。音声認
識プログラムは、音声認識中間結果を取得するために、
デジタル化された音声信号に対して、正規化および/ま
たは特徴抽出機能を実行することができる。音声データ
は、無線トランシーバ52または通信インターフェース
60を使用して、以下で考察し図5のアーキテクチャに
示された、リモート認識サーバ204に伝送される。そ
の後認識結果は、提示し(たとえば視覚的および/また
は聴覚的)、かつ結果としてWebサーバ202(図
5)に伝送するために移動デバイス30に戻され、We
bサーバ202および移動デバイス30はクライアント
/サーバの関係で動作する。同様の処理が、他の入力形
態用に使用される。たとえば手書き入力は、デバイス3
0上での事前処理によって、または事前処理なしで、デ
ジタル化することができる。音声データと同様に、この
形態の入力を認識のために認識サーバ204に伝送し、
認識結果をデバイス30および/またはWebサーバ2
02のうち少なくとも1つに戻すことができる。同様
に、DTMFデータ、ジェスチャデータ、および視覚デ
ータを同じように処理することができる。入力形態に応
じて、デバイス30(および以下で論じる他の形態のク
ライアント)には、視覚入力用のカメラなどの必要なハ
ードウェアが含まれることになる。
【0016】図3は、携帯電話80の例示的実施形態を
示す平面図である。電話80にはディスプレイ82およ
びキーパッド84が含まれる。一般に図2の構成図は図
3の電話に適用されるが、他の機能を実行するのに必要
な追加の回路を要求することができる。たとえば、図2
の実施形態では、電話として動作することが必要なトラ
ンシーバが要求されるが、こうした回路は本発明には関
係していない。
【0017】前述の携帯または移動コンピューティング
デバイスに加えて、本発明が、汎用デスクトップコンピ
ュータなどの他の多数のコンピューティングデバイスで
使用可能であることも理解されたい。たとえば本発明
は、身体的能力の制限されたユーザが、フル英数字キー
ボードなどの他の従来型入力デバイスを操作するのが困
難である場合に、テキストをコンピュータまたは他のコ
ンピューティングデバイスに入力できるようにするもの
である。
【0018】本発明は、他の多数の汎用または特定用途
向けコンピューティングシステム、環境、または構成で
も動作可能である。本発明で使用するのに好適な、よく
知られたコンピューティングシステム、環境、および/
または構成の例には、通常の電話(画面なし)、パーソ
ナルコンピュータ、サーバコンピュータ、ハンドヘルド
またはラップトップデバイス、マルチプロセッサシステ
ム、マイクロプロセッサベースシステム、セットトップ
ボックス、プログラム可能大衆消費電子製品、ネットワ
ークPC、ミニコンピュータ、メインフレームコンピュ
ータ、上記システムまたはデバイスのいずれかを含む分
散コンピューティング環境などが含まれるが、これらに
限定されるものではない。
【0019】次に、図4に示した汎用コンピュータ12
0について、簡単に説明する。ただし、コンピュータ1
20も好適なコンピューティング環境の一例に過ぎず、
本発明の使用法または機能の範囲に関して何らかの制限
を示唆するものではない。さらにコンピュータ120
は、本明細書に例示された構成要素のいずれか1つまた
はいずれかの組合せに関して、なんらかの依存性または
要求条件を有するものとして解釈されるものでもない。
【0020】本発明は、コンピュータによって実行され
るプログラムモジュールなどの、コンピュータ実行可能
命令の一般的な文脈で説明することができる。一般に、
プログラムモジュールには、特定のタスクを実行するか
または特定の抽象データ型を実施する、ルーチン、プロ
グラム、オブジェクト、構成要素、データ構造などが含
まれる。本発明は、通信ネットワークを介してリンクさ
れたリモート処理デバイスによってタスクが実施され
る、分散コンピューティング環境で実施することも可能
である。分散コンピューティング環境では、プログラム
モジュールを、メモリ記憶デバイスを含む、ローカルお
よびリモートの両方のコンピュータ記憶媒体内に配置す
ることが可能である。プログラムおよびモジュールによ
って実行されるタスクについては、以下で図を用いて説
明する。当分野の技術者であれば、記述および図面を、
任意の形態のコンピュータ読取り可能媒体上に書き込み
可能な処理装置実行可能命令として実施することができ
る。
【0021】図4を参照すると、コンピュータ120の
構成要素には、処理ユニット140、システムメモリ1
50、およびシステムメモリを含む様々なシステム構成
要素を処理ユニット140に結合するシステムバス14
1が含まれるが、これらに限定されるものではない。シ
ステムバス141は、メモリバスまたはメモリ制御装
置、周辺バス、および様々なバスアーキテクチャのいず
れかを使用するローカルバスを含む、いくつかのタイプ
のバスストラクチャのうちのいずれかであってよい。例
を挙げると、こうしたアーキテクチャには、Indus
try Standard Architecture
(ISA)バス、Universal Serial
Bus(USB)、Micro Channel Ar
chitecture(MCA)バス、拡張ISA(E
ISA)バス、Video Electronics
Standards Association(VES
A)ローカルバス、およびメザニンバスとも呼ばれるP
eripheral Component Inter
connect(PCI)バスが含まれるが、これらに
限定されるものではない。コンピュータ120は、典型
的には様々なコンピュータ読取り可能媒体を含む。コン
ピュータ読取り可能媒体は、コンピュータ120がアク
セスすることのできる任意の使用可能媒体であってよ
く、揮発性および不揮発性媒体、取外し可能および取外
し不能媒体の両方を含む。例を挙げると、コンピュータ
読取り可能媒体は、コンピュータ記憶媒体および通信媒
体を含むことができるが、これらに限定されるものでは
ない。コンピュータ記憶媒体には、コンピュータ読取り
可能命令、データ構造、プログラムモジュール、または
他のデータなどの情報を記憶するための任意の方法また
は技術で実施される、揮発性および不揮発性、取外し可
能および取外し不能の両方の媒体が含まれる。コンピュ
ータ記憶媒体には、RAM、ROM、EEPROM、フ
ラッシュメモリまたは他のメモリ技術、CD−ROM、
デジタル汎用ディスク(DVD)または他の光ディスク
記憶装置、磁気カセット、磁気テープ、磁気ディスク記
憶装置または他の磁気記憶デバイス、あるいは、所望の
情報を格納するのに使用可能でありコンピュータ120
がアクセス可能な任意の他の媒体が含まれるが、これら
に限定されるものではない。
【0022】通信媒体は、典型的には、搬送波または他
の移送メカニズムなどの被変調データ信号中で、コンピ
ュータ読取り可能命令、データ構造、プログラムモジュ
ール、または他のデータを具体化するものであり、任意
の情報送達媒体を含む。「被変調データ信号」という用
語は、1つまたは複数の特徴セットを有するか、または
信号内での情報の符号化などの様式が変更された信号を
意味するものである。例を挙げると、通信媒体には、有
線ネットワークまたは直接配線接続などの有線媒体、な
らびに音波、FR、赤外線、および他の無線媒体などの
無線媒体が含まれるが、これらに限定されるものではな
い。上記の任意の組合せも、コンピュータ読取り可能媒
体の範囲に含まれるものである。
【0023】システムメモリ150には、読取り専用メ
モリ(ROM)151およびランダムアクセスメモリ
(RAM)152などの、揮発性および/または不揮発
性メモリの形態のコンピュータ記憶媒体が含まれる。起
動時などのコンピュータ120内の要素間での情報転送
に役立つ基本ルーチンを含む、基本入出力システム15
3(BIOS)は、典型的にはROM 151に格納さ
れる。RAM 152は典型的には、即時アクセス可能
であるか、あるいは/ならびに現在処理ユニット140
によって動作中である、データおよび/またはプログラ
ムモジュールを含む。例を挙げると、図4ではオペレー
ティングシステム54、アプリケーションプログラム1
55、他のプログラムモジュール156、およびプログ
ラムデータ157が示されているが、これらに限定され
るものではない。
【0024】コンピュータ120は、他の取外し可能/
取外し不能、揮発性/不揮発性のコンピュータ記憶媒体
を含むこともできる。図4では、取外し不能の不揮発性
磁気媒体との間で読取りまたは書込みを行うハードディ
スクドライブ161、取外し可能の不揮発性磁気ディス
ク172との間で読取りまたは書込みを行う磁気ディス
クドライブ171、ならびにCD ROMまたは他の光
学式媒体などの取外し可能の不揮発性光ディスク176
との間で読取りまたは書込みを行う光ディスクドライブ
175が示されているが、これらは例として示したもの
にすぎない。例示的な動作環境で使用することのできる
他の取外し可能/取外し不能、揮発性/不揮発性コンピ
ュータ記憶媒体には、磁気テープカセット、フラッシュ
メモリカード、デジタル汎用ディスク、デジタルビデオ
テープ、ソリッドステートRAM、ソリッドステートR
OM、などが含まれるが、これらに限定されるものでは
ない。ハードディスクドライブ161は、典型的には、
インターフェース160などの取外し不能メモリインタ
ーフェースを介してシステムバス141に接続され、磁
気ディスクドライブ171および光ディスクドライブ1
75は、典型的には、インターフェース170などの取
外し可能メモリインターフェースによってシステムバス
141に接続される。
【0025】上記で考察し図4に示したドライブおよび
その関連付けられたコンピュータ記憶媒体は、コンピュ
ータ120に、コンピュータ読取り可能命令、データ構
造、プログラムモジュール、および他のデータの記憶域
を提供する。たとえば図4では、ハードディスクドライ
ブ161がオペレーティングシステム164、アプリケ
ーションプログラム165、他のプログラムモジュール
166、およびプログラムデータ167を格納している
ように図示されている。これらの構成要素は、オペレー
ティングシステム154、アプリケーションプログラム
155、他のプログラムモジュール156、およびプロ
グラムデータ157と同じである場合も異なる場合も、
いずれも可能であることに留意されたい。本明細書で
は、オペレーティングシステム164、アプリケーショ
ンプログラム165、他のプログラムモジュール16
6、およびプログラムデータ167には、少なくとも異
なるコピーであることを示すために異なる番号が与えら
れている。
【0026】ユーザは、キーボード182、マイクロフ
ォン183、およびマウス、トラックボール、またはタ
ッチパッドなどのポインティングデバイス181などの
入力デバイスを介して、コマンドおよび情報をコンピュ
ータ120に入力することができる。他の入力デバイス
(図示せず)には、ジョイスティック、ゲームパッド、
衛星放送用アンテナ、スキャナ、などが含まれる。これ
らおよび他の入力デバイスは、システムバスに結合され
たユーザ入力インターフェース180を介して処理ユニ
ット140に接続される場合が多いが、パラレルポー
ト、ゲームポート、またはUniversal Ser
ial Bus(USB)などの他のインターフェース
およびバス構造によって接続することもできる。モニタ
184または他のタイプのディスプレイデバイスも、ビ
デオインターフェース185などのインターフェースを
介してシステムバス141に接続される。コンピュータ
は、モニタに加えて、出力周辺インターフェース188
を介して接続することのできるスピーカ187およびプ
リンタ186などの他の周辺出力デバイスも含むことが
できる。
【0027】コンピュータ120は、リモートコンピュ
ータ194などの1つまたは複数のリモートコンピュー
タへの論理接続を使用するネットワーク環境で動作可能
である。リモートコンピュータ194は、パーソナルコ
ンピュータ、ハンドヘルドデバイス、サーバ、ルータ、
ネットワークPC、ピアデバイス、または他の共通ネッ
トワークノードであってよく、典型的にはコンピュータ
120に関連して上記で述べた要素の多くまたはすべて
を含む。図4に示された論理接続には、ローカルエリア
ネットワーク(LAN)191およびワイドエリアネッ
トワーク(WAN)193が含まれるが、他のネットワ
ークを含むこともできる。こうしたネットワーキング環
境は、オフィス、企業全体のコンピュータネットワー
ク、イントラネット、およびインターネットなどでよく
見られるものである。
【0028】LANネットワーキング環境で使用される
場合、コンピュータ120はネットワークインターフェ
ースまたはアダプタ190を介してLAN 191に接
続される。WANネットワーキング環境で使用される場
合、コンピュータ120は、典型的にはモデム192、
またはインターネットなどのWAN 193を介して通
信を確立するための他の手段を含む。モデム192は内
蔵型または外付けが可能であり、ユーザ入力インターフ
ェース180または他の適切な機構を介してシステムバ
ス141に接続することができる。ネットワーク環境で
は、コンピュータ120に関連して示されたプログラム
モジュール、またはその一部を、リモートのメモリ記憶
デバイスに格納することができる。例を挙げると、図4
ではリモートアプリケーションプログラム195がリモ
ートコンピュータ194上に常駐しているように示され
ているが、これに限定されるものではない。図示された
ネットワーク接続は例示的なものであり、コンピュータ
間で通信リンクを確立するための他の手段も使用可能で
あることを理解されよう。
【0029】図5は、本発明で実施可能な、Webベー
ス認識用のアーキテクチャ200を示す図である。一般
に、Webサーバ202に格納された情報には、移動デ
バイス30(本明細書では、入力の形態に基づき、必要
に応じて、ディスプレイ画面、マイクロフォン、カメ
ラ、タッチセンシティブパネルなどを有するコンピュー
ティングデバイスの他の形態も表している)、または電
話80を介してアクセスすることが可能であり、情報
は、聞き取れるように要求されるか、またはキーが押さ
れるのに応答して電話80が生成するトーンによって要
求され、Webサーバ202からの情報は、必ずユーザ
に聞き取れるように返信される。
【0030】さらに重要なことに、アーキテクチャ20
0は、情報がデバイス30と音声認識を使用する電話8
0のどちらかを介して得られるように統合されている
が、単一の認識サーバ204はどちらのモードの動作も
サポートすることができる。さらに、アーキテクチャ2
00はよく知られたマークアップ言語(たとえばHTM
L、XHTML、cHTML、XML、WMLなど)の
拡張部を使用して動作する。したがって、Webサーバ
202に格納された情報には、これらのマークアップ言
語に見られるよく知られたGUI方式を使用してアクセ
スすることもできる。よく知られたマークアップ言語の
拡張部を使用することで、Webサーバ202でのオー
サリングが容易になり、現在存在しているレガシーアプ
リケーションを音声認識を含むように修正することも容
易となる。
【0031】一般に、デバイス30は、Webサーバ2
02が提供するHTMLページ、スクリプトなどを実行
する。例を挙げると、音声認識が要求される場合、可聴
信号にデジタル化することができる音声データ、または
前述のようにデバイス30によって可聴信号が事前処理
されている音声特徴が、音声認識時に使用するための文
法または言語モデルの指示と共に、認識サーバ204に
提供される。認識サーバ204の実施は多くの形態を取
ることが可能であり、そのうちの1つが図示されている
が、一般には認識装置211が含まれる。認識の結果
は、所望されるかまたは適切であれば、ローカルで提示
するためにデバイス30に戻される。認識および使用さ
れている場合は任意のグラフィカルユーザインターフェ
ースを介して情報をコンパイルすると、デバイス30
は、その情報をWebサーバ202に送信してさらに処
理し、必要であればさらにHTMLページ/スクリプト
を受け取る。
【0032】図5に示されるように、デバイス30、W
ebサーバ202、および認識サーバ204は、一般に
ネットワーク205を介して接続されるが、本明細書で
はインターネットなどのワイドエリアネットワークを介
して接続されており、別々にアドレス指定可能である。
したがって、これらのデバイスはいずれも物理的に相互
に隣接させる必要はない。具体的に言えば、Webサー
バ202が認識サーバ204を含む必要はない。この方
式では、Webサーバ202でのオーサリングは、作者
が認識サーバ204の複雑な内容を知る必要なく、意図
されているアプリケーションに焦点をあてることが可能
である。むしろ認識サーバ204は、単独で設計してネ
ットワーク205に接続することが可能であり、それに
よって、Webサーバ202で要求される変更なしに、
更新および改良することが可能である。以下で論じるよ
うに、Webサーバ202は、動的にクライアント側の
マークアップおよびスクリプトを生成することができる
オーサリング機構を含むこともできる。他の実施形態で
は、Webサーバ202、認識サーバ204、およびク
ライアント30を、実施マシンの機能に応じて組み合わ
せることができる。たとえば、クライアントが汎用コン
ピュータ、たとえばパーソナルコンピュータを含む場
合、クライアントは認識サーバ204を含むことができ
る。同様に、所望であれば、Webサーバ202および
認識サーバ204を単一のマシンに組み込むことができ
る。
【0033】本発明の一態様は、クライアントデバイス
のユーザから入力データを取得するように構成された拡
張部を有するマークアップ言語ページをサーバから受け
取り、クライアントデバイス上でマークアップ言語ペー
ジを実行し、入力データ(ユーザから取得した音声、D
TMF、手書き、ジェスチャ、またはイメージを示す)
および関連付けられた文法をクライアントから遠隔にあ
る認識サーバに伝送し、ならびに、クライアント側の認
識サーバから認識結果を受け取るステップを含む、クラ
イアント/サーバシステムで入力データを処理するため
の方法である。他の態様は、クライアント/サーバシス
テムのクライアントデバイスで実行するためのマークア
ップ言語を有するコンピュータ読取り可能媒体であっ
て、このマークアップ言語は、クライアントデバイスを
介して入力された入力データに関連付けるための文法を
示す命令を有する。
【0034】電話80を介したWebサーバ202への
アクセスには、電話80から有線または無線電話ネット
ワーク208への接続が含まれ、これが電話80を第三
者ゲートウェイ210に接続する。ゲートウェイ210
は、電話80を電話音声ブラウザ212に接続する。電
話音声ブラウザ212には、電話インターフェースおよ
び音声ブラウザ216を提供するメディアサーバ214
が含まれる。デバイス30と同様に、電話音声ブラウザ
212はHTMLページ/スクリプトなどをWebサー
バ202から受け取る。さらに重要なことに、HTML
ページ/スクリプトは、デバイス30に提供されるHT
MLページ/スクリプトと同様の形式である。この方式
では、Webサーバ202がデバイス30および電話8
0を別々にサポートする必要がないか、または標準のG
UIクライアントを別々にサポートする必要もない。む
しろ、通常のマークアップ言語を使用することができ
る。さらに、デバイス30と同様に、電話80によって
伝送される可聴信号からの音声認識が、ネットワーク2
05または専用回線207のいずれかを介して、たとえ
ばTCP/IPを使用して、音声ブラウザ216から認
識サーバ204に提供される。Webサーバ202、認
識サーバ204、および電話音声ブラウザ212は、図
4に示された汎用デスクトップコンピュータなどの任意
の好適なコンピューティング環境で実施することができ
る。
【0035】ただし、DTMF認識が使用される場合、
この形態の認識は一般に、認識サーバ204ではなくメ
ディアサーバ214で実行されることに留意されたい。
言い換えれば、DTMF文法はメディアサーバによって
使用される。
【0036】前述のように、本発明の一態様は、クライ
アント/サーバアーキテクチャに認識を実現する制御お
よび/またはオブジェクトを含めるための、HTML、
XHTML、cHTML、XML、WMLなどのマーク
アップ言語の拡張部を含むか、または任意の他のSGM
L導出型マークアップを備えている。この方式では、作
者が、こうしたアーキテクチャで使用される有力なWe
b開発プラットフォームであるこれらのマークアップ言
語で、すべてのツールおよび専門技術を活用することが
できる。
【0037】一般に、制御および/またはオブジェクト
は、認識装置の構成、認識装置の実行、および/または
後処理のための、認識装置の制御および/またはオブジ
ェクトと、合成装置の構成およびプロンプトの再生のた
めの合成装置の制御および/またはオブジェクトと、入
力文法リソースを指定するための文法の制御および/ま
たはオブジェクトと、ならびに/あるいは、認識結果を
処理するための結合の制御および/またはオブジェクト
という機能のうち、1つまたは複数を含むことができ
る。拡張部は、可聴、視覚、手書きなどのインターフェ
ースの能力を既存のマークアップ言語に追加する、軽量
マークアップ層となるように設計される。したがって拡
張部を、それらが含まれるたとえばHTMLなどの上位
ページ、拡張部が言語リソースを参照するのに使用し
た、テキストから音声への変換フォーマットおよび文法
フォーマットなどの下位フォーマット、ならびに認識サ
ーバ204で使用される認識および音声合成プラットフ
ォームの個々のプロパティから、独立させておくことが
できる。
【0038】認識に好適な制御および/またはオブジェ
クトを有するマークアップ言語について述べる前に、本
明細書でHTMLマークアップ言語を使用して実施され
る、簡単なGUIの例を検討することが有用であろう。
図6を参照すると、オンライン販売を完了させるために
クレジットカード情報をWebサーバに提供することを
含む、簡単なGUIインターフェースが示されている。
この例では、クレジットカード情報に、たとえばVis
a、MasterCard、またはAmerican
Expressなど、使用されるクレジットカードのタ
イプを入力するためのフィールド250が含まれる。第
2のフィールド252はクレジットカード番号を入力す
ることが可能であり、第3のフィールド254は有効期
限を入力することが可能である。フィールド250、2
52、および254に入力された情報を伝送するため
に、サブミット(submit)ボタン264が提供さ
れている。
【0039】図7は、クライアントから前述のクレジッ
トカード情報を取得するための、HTMLコードを示す
図である。一般に、これらのマークアップ言語の形態に
共通するように、コードには本文部分260およびスク
リプト部分262が含まれる。本文部分260には、実
行される動作のタイプ、使用する形態、情報の様々なフ
ィールド250、252、および254を示す複数行の
コード、ならびにサブミットボタン264のコードが含
まれる(図6)。この例では、イベンティング(eve
nting)サポートおよび埋め込まれたスクリプトホ
スティングも示されており、サブミットボタン264を
起動すると、関数「verify」が呼び出される、ま
たはスクリプト部分262で実行される。関数「ver
ify」は、各クレジットカード(Visa、Mast
erCard、およびAmerican Expres
s)のカード番号が適切な長さであるかどうかを確認す
る。
【0040】図8は、音声認識を使用してWebサーバ
204に提供されるクレジットカード情報を取得するた
めに、図6のGUIと同じものを生成するクライアント
マークアップを示す図である。音声認識については、図
8〜図16に関して以下で論じるが、説明する技術は、
手書き認識、ジェスチャ認識、およびイメージ認識で同
様に適用可能であることを理解されたい。
【0041】一般に、拡張部(一般に「タグ」とも呼ば
れる)は、関連付けられた属性およびDOMオブジェク
トプロパティを備えたXML要素と、認識インターフェ
ースを適用するためのソースマークアップドキュメント
に関して使用することができるイベントおよびメソッド
と、ソースページへのDTMFまたは呼制御とのスモー
ルセットである。拡張部の形式および意味は、ソースド
キュメントの性質とは無関係であるため、拡張部は、H
TML、XHTML、cHTML、XML、WML内
で、または任意の他のSGML導出型マークアップを使
用して、等しく有効に使用することができる。拡張部
は、階層状であってよい新しい機能オブジェクトまたは
要素が提供される、ドキュメントオブジェクトモデルの
後に付けられる。各要素については付録で詳細に論じる
が、一般に要素は、属性、プロパティ、メソッド、イベ
ント、および/または他の「子」要素を含むことができ
る。
【0042】ここで、拡張部は、ブラウザが実行される
デバイスの機能に従って、2つの異なる「mode」で
解釈できることにも留意されたい。第1のモード「ob
ject mode」では、全機能が使用可能である。
アプリケーションによる拡張部のプログラム操作は、た
とえば、XHTMLブラウザのJScriptインター
プリタ、またはWMLブラウザのWMLScriptイ
ンタープリタなど、デバイス上のブラウザによって使用
可能にされるどのような機構によっても実行される。そ
のため、拡張部のコアプロパティおよびメソッドのスモ
ールセットだけを定義すればよく、これらは、デバイス
またはクライアント側に存在するどのようなプログラム
機構によっても操作される。object mode
は、イベンティングおよびスクリプティングを提供して
おり、音声対話を介して、より細かなクライアント側制
御をダイアログ作者に与えるためのより優れた機能を提
供することができる。本明細書で使用される場合、全イ
ベントおよびスクリプティングをサポートしているブラ
ウザは「アップレベルブラウザ(uplevel br
owser)」と呼ばれる。この形態のブラウザは、拡
張部のすべての属性、プロパティ、メソッド、およびイ
ベントをサポートする。アップレベルブラウザは、一般
に、より優れた処理機能を備えたデバイスに見られる。
【0043】拡張部は、「declarative m
ode」でもサポートすることができる。本明細書で使
用される場合、declarative modeで動
作するブラウザは「ダウンレベルブラウザ(downl
evel browser)」と呼ばれ、イベンティン
グおよびスクリプティング機能をすべてサポートしてい
るわけではない。むしろこの形態のブラウザは、所与の
拡張部の宣言的な面(すなわちコア要素および属性)を
サポートするが、すべてのDOM(ドキュメントオブジ
ェクトモデル)オブジェクトのプロパティ、メソッド、
およびイベントではない可能性がある。このモードは宣
言型構文のみを使用し、さらに、SMIL(Synch
ronized Multimedia Integr
ation Language)2.0などの、宣言型
マルチメディア同期化および調整機構(同期化されたマ
ークアップ言語)と共に使用される場合がある。ダウン
レベルブラウザは、典型的には処理機能が制限されたデ
バイスに見られる。
【0044】ここで、特定モードの入力について論じな
ければならない。具体的に言えば、音声認識は、データ
入力用のフィールドを示すために、少なくともディスプ
レイと共に、他の実施形態ではさらにポインティングデ
バイスと共に使用することが特に有用である。具体的に
言えば、このモードのデータ入力では、ユーザは一般
に、フィールドを選択する時期および対応する情報を提
供する時期が制御される。たとえば、図6の例では、ユ
ーザは第1にフィールド252にクレジットカード番号
を入力し、次にフィールド250にクレジットカードの
タイプを入力した後、フィールド254に有効期限を入
力すると決めることができる。同様に、ユーザは、所望
であればフィールド252に戻って、誤った入力を修正
することができる。以下で論じるように、音声認識と組
み合わせると、簡単で自然な形態のナビゲーションが提
供される。本明細書で使用される場合、自由なフィール
ド選択形態を可能にするスクリーンディスプレイと音声
認識の両方を使用するこの入力形態は、「multi−
modal」と呼ばれる。
【0045】再度図8を参照すると、HTMLマークア
ップ言語コードの例が示されている。図7に示されたH
TMLコードと同様に、このコードにも本文部分270
およびスクリプト部分272が含まれる。さらに図7に
示されたコードと同様に、図8に示されたコードにも、
実行する動作のタイプならびに形態の場所に関する指示
が含まれる。各フィールド250、252、および25
4への情報の入力は、それぞれコード部分280、28
2、および284によって制御または実行される。最初
にコード部分280を参照し、たとえばデバイス30の
スタイラス33を使用してフィールド250を選択する
と、イベント「onClick」が起動され、これがス
クリプト部分272で関数「talk」を呼び出すかま
たは実行する。この動作により、通常はフィールド25
0で予想されるデータのタイプに関連付けられた音声認
識に使用される文法が起動する。このタイプの対話が
「multimodal」と呼ばれ、複数の入力技法
(たとえば音声およびペンクリック/ローラ)が含まれ
る。
【0046】多くのアプリケーションで、ソースページ
でアプリケーション指定のグラフィック機構を使用する
ことによって、作者がページの様々な構成要素を音声化
できるようにする信号を発すると想定されるため、図8
に例示された音声認識拡張部は、クライアントのブラウ
ザ上でデフォルト時に視覚表現することを意図したもの
ではないことに留意されたい。それにもかかわらず、視
覚表現が望まれる場合は、拡張部をそのように修正する
ことができる。
【0047】再度文法に戻ると、文法は、文脈自由文
法、N文法、またはハイブリッド文法などであるがこれ
らに限定されない、構文文法である。(もちろん、対応
する認識形態が使用されるときには、DTMF文法、手
書き文法、ジェスチャ文法、およびイメージ文法が使用
される。)本明細書では、「文法」には、認識を実行す
るための情報が含まれ、他の実施形態では、たとえば特
定のフィールドに入力されると予想される入力に対応す
る情報が含まれる。マークアップ言語の第1の拡張部を
含む新しい制御290(本明細書では「reco」とし
て識別)には様々な要素が含まれるが、そのうちの2
つ、すなわち文法要素「grammar」および「bi
nd」要素が図示されている。一般に、Webサーバ2
02からクライアントにダウンロードされるコードと同
様に、文法はWebサーバ202側から発信され、クラ
イアントにダウンロードされるか、あるいは/ならびに
音声処理のためにリモートサーバに転送されることが可
能である。その後文法は、そこでキャッシュにローカル
に格納することができる。最終的に文法は、認識時に使
用するために認識サーバ204に送られる。gramm
ar要素は、属性を使用するインラインまたは参照済み
のいずれかの文法を指定するのに使用される。
【0048】認識された音声、手書き、ジェスチャ、イ
メージなどに対応する認識サーバ204からの認識結果
を受け取ると直ちに、reco制御290の構文が、対
応する結果を受け取り、対応するフィールドに関連付け
るように提供され、フィールドは、ディスプレイ34上
でその中のテキストを提示することを含むことができ
る。例示された実施形態では、結果をクライアントに送
信して音声認識が完了すると、recoオブジェクトを
非活動化し、認識されたテキストと対応するフィールド
を関連付ける。部分282および284が同様に動作
し、各フィールド252および254に一意のreco
オブジェクトおよび文法が要求され、認識されたテキス
トを受け取ると、フィールド252および254それぞ
れに関連付けられる。カード番号フィールド252の受
取りに関しては、図7に関して上記で述べたものと同様
の方法で、関数「handle」がカードタイプを基準
にカード番号の長さをチェックする。
【0049】一般に、アーキテクチャ200およびクラ
イアント側マークアップ言語と共に音声認識を使用する
場合、第1に、与えられる音声に関連付けられたフィー
ルドが示される。例示された実施形態では、スタイラス
33が使用されるが、本発明は、スタイラス33の使用
に限定されるものではなく、ボタン、マウスポインタ、
回転ホイールなどの任意の形態の指示が使用できること
を理解されたい。「onClick」などの対応するイ
ベントを、視覚マークアップ言語の使用でよく知られる
ように提供することができる。本発明は、音声、手書
き、ジェスチャなどのコマンドの開始を示すための「o
nClick」イベントの使用に限定されるものではな
いことを理解されたい。「onSelect」など、同
じ目的には、任意の使用可能なGUIイベントが使用で
きる。一実施形態では、こうしたイベンティングが、対
応する音声の開始および/または終了の両方を示す働き
をするのに特に有用である。ユーザならびにユーザの対
話を追跡するブラウザ上で実行中のプログラムによっ
て、音声の宛先となるフィールドを示すことができるこ
とにも留意されたい。
【0050】ここで、様々な音声認識シナリオが、認識
サーバ204からの様々な動作および/または出力を必
要とすることについて説明する。認識プロセスの開始は
すべての場合、たとえばアップレベルブラウザからの明
示的なstart()コール、またはダウンレベルブラ
ウザでの宣言型<reco>要素の場合に、基準である
が、音声認識を停止する手段は異なる場合がある。
【0051】前述の例では、マルチモーダルアプリケー
ションのユーザは、たとえば、圧力感知ディスプレイ上
を軽く叩き保持することによって、デバイスへの入力が
制御される。次いでブラウザは、GUIイベント、たと
えば「pen−up」を使用して、認識を停止しなけれ
ばならない時期を制御し、対応する結果を戻す。ただ
し、電話アプリケーション(以下で考察)またはハンズ
フリーアプリケーションなどの音声専用シナリオでは、
ユーザがブラウザを介して直接制御することがないた
め、認識サーバ204またはクライアント30は、認識
を停止して結果を戻す時期(典型的には文法を介したパ
スが認識されたとき)を決定する役目を果たさなければ
ならない。さらに、認識が停止される前に中間結果を戻
す必要のある口述(dictation)および他のシ
ナリオは(「オープンマイクロフォン」としても知られ
る)、明示的な停止機能を必要とするだけでなく、認識
プロセスが停止される前に、複数の認識結果をクライア
ント30および/またはWebサーバ202に戻す必要
もある。
【0052】一実施形態では、Reco要素は、どのよ
うにいつ結果を戻すかを認識サーバ204に指示する、
以下の3つの認識モードを区別するための「mode」
属性を含むことができる。結果を戻すことは、適切な
「onReco」イベントの提供または「bind」要
素の起動を暗に示すものである。一実施形態では、モー
ドが指定されていない場合のデフォルトの認識モードは
「automatic」となる。
【0053】図14は、音声認識のための「autom
atic」モードの動作を示す絵画図である(同様のモ
ード、イベントなどを他の形態の認識に提供することが
できる)。時間線281は、認識サーバ204が283
で認識を開始するように指示された時点、および認識サ
ーバ204が285で音声を検出し、287で音声が終
了したことを特定した場所を示すものである。
【0054】Reco要素の様々な属性は、認識サーバ
204の動作を制御する。属性「initialTim
eout」289は、認識の開始283から音声の検出
285までの時間である。この時間枠を超えると、認識
が停止した旨を伝える「onSilence」イベント
291が認識サーバ204から提供される。認識サーバ
204が認識できない発話を見つけると、「onNoR
eco」イベント293が発行されるが、これは認識が
停止したことも示す。
【0055】認識を停止または取り消すことができる他
の属性に「babbleTimeout」属性295が
含まれるが、これは認識サーバ204が285で音声を
検出した後に結果を戻さなければならない時間枠であ
る。この時間枠を超えると、エラーが生じたかどうかに
応じて、異なるイベントが発行される。認識サーバ20
4が依然として音声を処理している場合、たとえば非常
に長い発話の場合、「onNoReco」属性293が
発行される。ただし、任意の他の理由で「babble
Timeout」属性295を超えた場合、認識装置の
エラーである可能性が高く、「onTimeout」イ
ベント297が発行される。同様に、「maxTime
out」属性299も提供することが可能であり、これ
は認識の開始283から結果がクライアント30に戻さ
れるまでの時間枠に関するものである。この時間枠を超
えると、「onTimeout」イベント297が発行
される。
【0056】ただし、「endSilence」属性3
01よりも長い時間枠を超えた場合は、認識が完了した
ことを暗に示すものであり、認識サーバ204は認識を
自動的に停止して、その結果を戻す。認識サーバ204
は、認識結果を戻すべきであるかどうかを判定するため
の確信測定(confidence measure)
を実施できることに留意されたい。確信測定がしきい値
よりも低い場合は「onNoReco」属性293が発
行され、確信測定がしきい値よりも高い場合は「onR
eco」属性303および認識結果が発行される。図1
4は、「automatic mode」で、明示的な
stop()コールが実行されていないことを示す。
【0057】図15は、認識サーバ204の「sing
le mode」動作を示す絵画図である。「auto
matic mode」に関して上記で述べた属性およ
びイベントが適用可能であり、その場合は同じ参照番号
で示されている。ただし、この動作モードでは、sto
p()コール305が時間線281上に示されている。
stop()コール305は、ユーザによる「pen−
up」などのイベントに対応するものである。この動作
モードでは、認識結果を戻すことが、明示的なstop
()コール305の制御下にある。すべての動作モード
と同様に、音声が「initialTimeout」時
間枠289内に検出されない場合は「onSilenc
e」イベント291が発行されるが、この動作モードで
は、認識は停止されない。同様に、stop()コール
305以前の認識できない発話によって生成された「o
nNoReco」イベント293は、認識を停止しな
い。ただし、「babbleTimeout」属性29
5または「maxTimeout」属性299に関連付
けられた時間枠を超えると、認識は停止する。
【0058】図16は、認識サーバ204の「mult
iple mode」動作を示す絵画図である。前述の
ように、この動作モードは「open−microph
one」の場合または口述シナリオで使用される。一般
にこの動作モードでは、明示的なstop()_コール
305が受け取られるか、または「babbleTim
eout」属性295または「maxTimeout」
属性299に関連付けられた時間枠を超えるまで、時々
認識結果が戻される。ただし、認識を停止しない任意の
「onSilence」イベント291、「onRec
o」イベント303、または「onNoReco」イベ
ント293の後、「babbleTimeout」時間
枠および「maxTimeout」時間枠用のタイマは
リセットされることに留意されたい。
【0059】一般に、この動作モードでは、認識された
各句について「onReco」イベント303が発行さ
れ、stop()コール305が受け取られるまで結果
が戻される。認識できない発話により「onSilen
ce」イベント291が発行された場合、これらのイベ
ントは報告されるが、認識は続行する。
【0060】前述のように、フィールド用の関連付けら
れたrecoオブジェクトが起動され、これには少なく
とも、文法を使用する認識サーバ204の指示を提供す
ることが含まれる。この情報は、クライアント30で記
録され、認識サーバ204に送られる音声データを伴う
ことができる。前述のように、音声データは、ユーザが
入力した音声に関連付けられたストリーミングデータを
含むか、または音声認識時に使用される音声特徴を示す
事前処理された音声データを含むことができる。他の実
施形態では、認識サーバ204によって受け取られる音
声データが、クライアント間で比較的一貫しているよう
に、クライアント側の処理に音声データの正規化も含め
ることができる。これによって、認識サーバ204の音
声処理が単純化され、認識サーバがクライアントおよび
通信チャネルのタイプに支配されないようにできるた
め、認識サーバ204のスケーラビリティがより簡単に
なる。
【0061】認識サーバ204から認識結果を受け取る
と、認識結果は対応するフィールドに関連付けられ、所
望であれば、クライアント側の検証またはチェックが実
行できる。現在クライアントによって提示されているコ
ードに関連付けられたすべてのフィールドが完了する
と、情報はアプリケーション処理のためにWebサーバ
202に送られる。前述の内容から、Webサーバ20
2は認識に好適なコードまたはページ/スクリプトをク
ライアント30に提供するが、認識サービスはWebサ
ーバ202ではなくむしろ認識サーバ204によって実
行されることが明らかであろう。ただし、本発明は、認
識サーバ204がWebサーバ202と共に配置される
か、または認識サーバ204がクライアント30の一部
であるような実施を排除するものではない。言い換えれ
ば、本明細書に示される拡張部は、たとえ認識サーバ2
04がWebサーバ202またはクライアント30と組
み合わされる場合であっても、拡張部がこれら構成要素
間に単純かつ便利なインターフェースを提供するので有
益である。
【0062】図8に示された実施形態には図示していな
いが、reco制御には、適切な音声データを認識サー
バ204に向けて送るための、リモート可聴オブジェク
ト(RAO)を含むこともできる。RAOをプラグイン
オブジェクトにすることの利点は、音声インターフェー
スは異なる可能性が多いため、異なるそれぞれのデバイ
スまたはクライアントに対して異なるものにすることが
できることである。さらにリモート可聴オブジェクト
は、同時に複数のreco要素を起動させることもでき
る。
【0063】図9および図10は、本明細書で実施され
る音声専用マークアップ言語を、ページ/スクリプトを
備えたHTMLとして示す図である。図から明らかなよ
うに、コードには、本文部分300およびスクリプト部
分302も含まれている。ここにはマークアップ言語の
他の拡張部、すなわちbargeinなどの属性を含む
プロンプト制御303がある。ただし、音声認識は、図
9および図10の音声専用実施形態では異なって行われ
る。ここではプロセスは、空のフィールドを特定し、対
応するプロンプトおよび新しいオブジェクトを起動す
る、スクリプト関数「checkFilled」によっ
て全体的に制御される。しかし、文法は、図8に関して
上記で述べたものと同じ文脈を使用して起動され、音声
データおよび使用する文法の指示が認識サーバ204に
提供される。同様に、認識サーバ204から受け取った
出力は、クライアントのフィールドに関連付けられる
(本明細書では電話音声ブラウザ212)。
【0064】一般に音声専用アプリケーションに固有の
他の特徴は、音声が認識されなかったときのユーザに対
する指示である。図8などのマルチモーダルアプリケー
ションでは、「onNoReco」は、認識していない
ことを示す際に表示されたフィールドにnull値を入
れるだけであるため、それ以上の動作は必要ない。音声
専用の実施形態では、「onNoReco」305が関
数「mumble」を呼び出すかまたは実行し、語句を
認識サーバ204に転送した後、これが好適なテキスト
から音声への変換システム307(図5)を使用して、
音声に変換される。認識サーバ204は可聴ストリーム
を電話音声ブラウザ212に戻し、次にこれが電話80
に伝送されてユーザが聞くことになる。同様に、音声専
用アプリケーションで実施された他の波形プロンプト
も、必要なときに認識サーバ204によって可聴ストリ
ームに変換される。
【0065】この例では、関数「welcome」を介
してウェルカムプロンプトを再生した後、関数「che
ckFilled」がユーザに対して各フィールドにつ
いてのプロンプトを出し、入力されたフィールドの反復
および情報が正しいことの確認を含む適切な文法を起動
するものであって、これには「confirmatio
n」文法の起動が含まれることに留意されたい。この実
施形態では、それぞれのreco制御が、以前の例の本
文部分ではなくスクリプト部分302から開始されるこ
とに留意されたい。
【0066】本発明の他の態様として、異なるタイプの
クライアントデバイス(たとえば電話などの、マルチモ
ーダルおよびディスプレイなし、音声入力ベースのクラ
イアントデバイス)で実行可能なマークアップ言語は、
それぞれのクライアントデバイスと対話するWebサー
バについて、音声関連イベント、GUIイベント、およ
び電話イベントのうち少なくとも1つを統合する。これ
は特に、Webサーバアプリケーションの重要な部分を
包括的に、またはクライアントデバイスのタイプに関係
なく書き込むことができるので有利である。図8および
図9、図10に、関数「handle」を使用して一例
が示されている。
【0067】図9には示されていないが、マークアップ
言語には、DTMF(Dual Tone Modul
ated Frequency)制御および呼制御要素
またはオブジェクトという、電話機能をサポートするた
めの拡張部がさらに2つある。DTMFはreco制御
と同様の働きをする。キーパッド文字列をテキスト入力
にマッピングする単一の文法を指定する。たとえば、
「1」は食料雑貨部門、「2」は薬局部門を意味するな
どである。これに対して、コールオブジェクトは、呼転
送および第三者呼出しなどの電話機能を処理する。属
性、プロパティ、メソッド、およびイベントについて
は、付録で詳細に論じる。
【0068】図11および図12は、音声専用動作モー
ドに好適な他のマークアップ言語例を示す図である。こ
の実施形態では、ユーザは情報が入力されたかまたは話
されたときに何らかの制御を行うことができる。言い換
えれば、システムはユーザの話を開始させるか、そうで
なければユーザに話を開始するように指示することが可
能であるが、ユーザは最初に要求された以上の情報を提
供することができる。これが「主導権混合(mixed
initiative)」の一例である。一般にこの
形態の対話(dialog interaction)
では、ユーザが対話の主導権をシステムと共有すること
ができる。ユーザがプロンプトで要求された以上の情報
を提供する、前述および以下で詳細に論じる例に加え
て、ユーザは指示されていない場合にもタスクを切り換
えることができる。
【0069】図11および図12の例では、「do_f
ield」として示された文法に、文法「g_card
_types」、「g_card_num」、および
「g_expiry_date」に関連付けられた情報
が含まれる。この例では、「onReco」で示される
ように認識された音声を受け取ると、電話音声ブラウザ
212が電話80から受け取った音声データおよび文法
「do_field」を使用するための指示を認識サー
バ204に送信し、音声データからの認識された任意ま
たはすべてのフィールドに関する値を関連付けることを
含む関数「handle」が、呼び出されるかまたは実
行される。言い換えれば、認識サーバ204から取得し
た結果には、各フィールドに関する指示も含まれるとい
うことである。この情報が解析され、405に指定され
たbind規則に従って、対応するフィールドに関連付
けられる。図5に示されるように、認識サーバ204は
構文解析装置309を含むことができる。
【0070】図7、図8、図9、図10、図11、およ
び図12では、非常に似通ったWeb開発フレームワー
クが使用されている。それぞれの場合のデータ提示も非
常に似通っている。さらに、データ提示とフロー制御を
分離することで、異なるアプリケーション間(システム
主導および主導権混合)または異なるモダリティ(mo
dality)間(GUI Webベース、音声専用、
およびマルチモーダル)で、最大の再利用性を可能にし
ている。さらにこれによって、電話がデバイス30と同
様のディスプレイおよび機能を含む場合に、音声専用動
作から電話を介してマルチモーダル動作へという、自然
な拡張も可能にしている。付録Aでは、上記で述べた制
御およびオブジェクトについて、さらに詳細に説明す
る。
【0071】上記のように、アップレベルブラウザは、
認識結果を割り当てるために、上記の例で関数「han
dle」を呼び出すことを含む様々な必要事項を実行す
るために、スクリプティングを使用することができる。
前述の実施形態および付録Aの2.1.2でさらに述べ
るように、「bind」要素は認識結果を解析して値を
割り当てるものであって、「bind」要素は「rec
o」要素のサブ要素または子要素である。
【0072】スクリプティングは有用であるが、たとえ
ばセキュリティの問題により、これが最善のブラウザ実
施形態ではないと考えている人が多い。したがって、本
発明の他の実施形態または態様では、「bind」要素
は高位要素(「reco」と同様)であって、他のより
豊富なプロパティを備えており、本質的にはスクリプテ
ィングせずに、実質上はスクリプティングを模倣するこ
とができる。
【0073】スクリプティングを使用しないか、または
以下で論じる本発明の態様を使用しない、高度な対話効
果などの以下で論じる機能の中には、ページをWebサ
ーバ202に返すこと、新しいページを生成するために
アプリケーション論理を実行すること、およびページを
クライアントデバイスに返信することによってのみ達成
できるものもある。本発明のこの態様により、プログラ
マは、サーバのラウンドトリップなしにページのオブジ
ェクトに関するメソッドを呼び出すことができる。
【0074】前述の実施形態では、「bind」要素
は、認識結果を書式またはWebページ内のフィールド
に割り当てるための属性「TargetElemen
t」および「TargetAttribute」のみを
有する。他の実施形態では、「bind」要素は「Ta
rgetMethod」も含んでおり、これがオブジェ
クトメソッド呼出し用に追加される。「TargetM
ethod」の使用および機能は、スクリプティングを
模倣する上で主要な技法である。たとえば以下の構文を
使用して、オブジェクト「OBJ1」の「X」メソッド
を呼び出すことができる。 <bind TargetElement = "OBJ1" TargetMethod = "X"...
>
【0075】本明細書で示される例はHTML/XHT
MLイベント構文に従うものであるが、当分野の技術者
であれば、W3C Document Object
Model Level 2またはLevel 3イベ
ンティング標準、ECMACommon langua
ge Infrastructure(CLI)イベン
トモデル、Java(登録商標)プログラミング言語イ
ベントモデル、W3C Synchronous Mu
ltimedia IntegrationLangu
age(SMIL)、および近日発表されるW3C X
MLイベント標準提案を含むが、これらに限定されるも
のではない、他のイベンティング機構に、<bind>
の用法を一般化するのは簡単であることを理解されるこ
とに留意されたい。
【0076】図17および図18は、クライアント、具
体的にはdownlevel browser上で実行
可能なマークアップ言語のページである。この例では、
ユーザは可聴プロンプトを介して飲み物についてたずね
られる。次にシステムは、何の飲み物が注文されたかを
確認する。「bind」要素はこの認識結果に応じて、
宣言論理を使用して実行を指導する。飲み物が確認され
ると、この書式はすべてのスクリプティングなしでWe
bサーバ202に返される。
【0077】一般に、図17および図18のマークアッ
プ例には、データセクション350、音声セクション3
52、およびユーザインターフェースセクション35
4、356、および358が含まれる。セクション35
4は、ユーザの希望する飲み物に関する一般問合せから
認識結果を受け取り、クリームまたは砂糖が必要である
かどうかに関する再プロンプト、問合せ、あるいは注文
された飲み物の確認のいずれかに向けて、対話型認識フ
ローを送る。具体的に言えば、セクション356は、ク
リームまたは砂糖も注文されたときに認識結果を受け取
る。セクション358は、飲み物の確認に関する認識結
果を受け取る。セクション360は新しいメッセージン
グオブジェクト「SMEX」を使用する呼制御セクショ
ンであり、これについては以下で詳細に論じる。
【0078】前述のように、本発明のこの態様の「bi
nd」要素にはオブジェクトメソッド呼出しが含まれ、
これが361で「welcome」オブジェクトの「s
tart」メソッドが実行されたときに、「welco
me」プロンプトを再生することによって、図17およ
び図18の例でユーザ対話を開始させる。
【0079】次にユーザは、362で「asked」オ
ブジェクトの「start」メソッドを実行することに
よって、「Do you want coke,cof
fee or orange juice?」とたずね
られる。次いで、363で「reco_drink」オ
ブジェクトの「start」メソッドを呼び出すことに
よって、認識が実行される。
【0080】次にセクション354のマークアップが実
行され、認識サーバ204が使用する文法が、Xpat
hステートメント「./drink types」によ
って提供される。この例では、W3CのXpath言語
を使用しているが、当分野の技術者であれば、W3C
XML照会言語(XQL)を含むがこれに限定されるこ
とのない他の標準言語にまで概念を広げることが簡単で
あることを理解することに留意されたい。「bind」
要素364で指定されるように、認識サーバ204から
受け取った認識結果の確信値が10よりも小さい場合、
366でプロンプトオブジェクト「reprompt」
が、続いて368でプロンプトオブジェクト「ask」
が実行され、370で認識オブジェクト「reco_d
rink」が再開される。戻された認識結果が、確信値
が10よりも大きい「coffee」の場合、372で
フィールド「drink」に認識結果の値が割り当てら
れ、次いでユーザは、374で、プロンプトオブジェク
ト「cream_sugar」によってクリームまたは
砂糖を希望するか否かに関するプロンプトを受け取る。
次いで376で、セクション356の認識オブジェクト
「reco_cream_sugar」が呼び出され
る。これとは違い、認識結果の確信値が10よりも大き
いがcoffeeでない場合、378で再度drink
フィールドが割り当てられる。380でプロンプトオブ
ジェクト「confirm」を実行し、その後セクショ
ン358の382で認識オブジェクト「reco_ye
sno」を呼び出すことによって、認識結果の確認が与
えられる。ユーザが10より大きい確信値で「yes」
と答えると、384でプロンプトオブジェクト「tha
nks」が再生され、その後386で書式がサブミット
される。これとは違い、ユーザが「no」と答えるか、
または認識結果の確信値が10より小さい場合、390
でプロンプトオブジェクト「retry」が実行され、
もう一度392でプロンプトオブジェクト「ask」が
実行されて、394で認識オブジェクト「reco_d
rink」が呼び出される。
【0081】前述の例からわかるように、「bind」
要素は、セクション354、356、または358に示
すようにメソッドの複数呼出しを可能にする。所望であ
れば、認識された結果の複数割当てを宣言することもで
きる。例示された実施形態では、複数の割当ておよびメ
ソッド呼出しが宣言されると、ドキュメント順で実行さ
れる。
【0082】他の実施形態では、メソッド引数を渡すた
めの規定も提供される。言い換えれば、メソッドの中に
は引数リストが必要なものもある。これは、「arg」
サブ要素を使用して達成される。たとえば、以下のマー
クアップ <bind TargetElement = "OBJ" TargetMethod = "F"><arg>X</arg><arg>Y</arg></bind> は、「OBJ.F(X,Y)」と等価であるか、あるい
は「OBJ」が、パラメータまたは引数「X」および
「Y」を使用するメソッド「F」を有するオブジェクト
である。
【0083】「bind」要素は、bind要素がどの
イベント用であるかを宣言する「event」属性を含
むことも可能である。たとえば、以下のマークアップ <bind event = "onNoReco" = TargetElement = "prompt1" TargetMethod = "start"/> は、「onNoReco」イベントが送られたときを意
味するものであり、オブジェクト「prompt1」の
「start」メソッドが呼び出されることになる。図
8に関して上記の例で説明したように、「bind」要
素を「Reco」要素の子要素として使用する場合と整
合性を持たせるために、「bind」要素のデフォルト
属性は「onReco」である。
【0084】高位要素としての「bind」要素は、付
録の2.4項に指定されたいずれのイベントも含むこと
ができる。さらに、「bind」要素は、アクセス可能
であってプログラムフローの向きを決めるのに使用でき
る「status」属性を有する、「onError」
イベントを含むこともできる。「bind」要素の他の
イベントが「status」属性を有する場合、これら
にも同様にアクセスできる。
【0085】認識結果の条件をチェックすることに加え
て、実行予定の現在のドキュメントまたはページもチェ
ックすることができる。具体的に言えば、「test」
属性および「value」属性の両方を、格納ドキュメ
ントのルートノードを示す「host」プリミティブを
含むように拡張することができる。たとえば、図17、
図18を再度参照すると、そこに含まれる例は、セクシ
ョン354に、ユーザがcoffeeを要求したときに
クリームまたは砂糖を希望するかどうかをたずねるため
の追加論理がある。クリームまたは砂糖を追加するた
め、したがって、マークアップ「host()/get
_drink/drink=「coffee」」によっ
て指定されるように、セクション356を呼び出すため
のフラグは、drinkフィールドが「coffee」
の場合に限ってオンになる。
【0086】また、「bind」要素は音声サーバ20
4からの認識結果およびドキュメント内での値の受取り
または割当てに適用可能なだけでなく、たとえば、クラ
イアントデバイス上で実行中のアプリケーションからの
メッセージオブジェクト(本明細書では「smex」で
示されている)にも適用可能であることに留意された
い。図17および図18の例では、クライアントデバイ
ス上で実行中の電話アプリケーションが呼を検出したと
きに、ページが実行される。セクション360では、
「bind」要素は、メッセージ「/Call_con
nected」が受け取られたときに、「welcom
e」プロンプトを実行または再生し、「reco_dr
ink」オブジェクトを実行することによって認識を開
始する。音声サーバ204から受け取る認識結果と同様
に、受け取るメッセージも多種多様である。メッセージ
の中には、所望のプログラムフローを開始するために首
尾よく定義されたものもある。その他のものも受け取っ
て処理する(たとえば、受け取った認識サーバの認識結
果と同様に解析する)ことができる。たとえばこれによ
って、キーボードからのテキストの本来の言語構文解析
装置と同様に、マークアップを使用することができる。
付録Aのreco要素は、この機能を実行するためのプ
ロパティを含む。同様に、付録Aで詳細に説明するが、
プロパティ「innertext」を使用することによ
って、プロンプト要素を使用して動的コンテンツまたは
可聴波ファイルにテキストメッセージを提供することが
できる。イベンティングは認識結果に関するイベンティ
ングと同様とすることができる。たとえば、イベンティ
ングは「onReceived」を含むことが可能であ
り、これは、メッセージソース(たとえばクライアント
デバイス上で実行中のアプリケーション)がブラウザに
使用可能なメッセージを有する場合に送られる。
【0087】したがって「smex」またはメッセージ
オブジェクトは、本明細書で論じるマークアップタグ
を、クライアントデバイス上で実行中の他の構成要素ま
たはアプリケーションまで拡張できるようにするもので
ある。他の例として、メッセージオブジェクトは、クラ
イアントデバイス上で実行中の耳の不自由な人向けTT
Y構成要素への通信に使用することができる。TTY構
成要素は、音声認識を使用する代わりに、ユーザが入力
した内容のメッセージを提供する。その後このメッセー
ジは、認識サーバから認識結果が受け取られた場合と同
じように使用され、メッセージが解析されて書式のフィ
ールドに割り当てられるか、または前述の「rec
o」、「grammar」、または「bind」などの
要素を使用して、他の処理を実行することができる。メ
ッセージまたは「smex」オブジェクトについては、
付録Aで詳細に説明する。
【0088】「bind」要素は、「for」属性を含
むことも可能であり、これによってその動作をページ上
の他のオブジェクトに結びつけることができる。たとえ
ば、以下のようなマークアップ <bind for = "prompt 1" event = "onComplete" targetElement = "prompt 2" = targetMethod = "start" /> は、オブジェクト「prompt 1」がイベント「o
nComplete」を送信したときに、オブジェクト
「prompt 2」のstartメソッドを呼び出
す。
【0089】再度図5を参照すると、Webサーバ20
2はサーバ側のプラグイン宣言型オーサリングツールま
たはモジュール320を含むことができる(たとえば、
Microsoft CorporationによるA
SPまたはASP+、JSPなど)。サーバ側プラグイ
ンモジュール320は、クライアント側マークアップ、
ならびにWebサーバ202にアクセス中のクライアン
トのタイプに特有な書式のマークアップでさえも、動的
に生成することが可能である。クライアント/サーバの
関係が最初に確立された時点で、クライアント情報がW
ebサーバ202に提供されるか、またはWebサーバ
202が、クライアントの機能を検出するためのモジュ
ールまたはルーチンを含むことができる。この方式で
は、サーバ側プラグインモジュール320が、各音声認
識シナリオについて、すなわち電話80を介した音声専
用の、またはデバイス30向けマルチモーダルの、クラ
イアント側マークアップを生成することができる。一貫
したクライアント側モデル(各アプリケーションで使用
できるrecoおよびプロンプト制御)を使用すること
によって、多くの異なるクライアント向けにアプリケー
ションをオーサリングすることが非常に容易になる。
【0090】クライアント側マークアップを動的に生成
することに加えて、図8、図9、および図10のマーク
アップ例を使用して図6に図示したクレジットカード情
報を取得するなどの高位ダイアログモジュールは、アプ
リケーションをオーサリング中の開発者が使用するため
に、サーバ側制御が記憶装置324に格納される場合と
同様に実施することができる。一般に、高位ダイアログ
モジュール324は、開発者によって指定されたパラメ
ータに基づいて、クライアント側マークアップおよびス
クリプトを、音声専用およびマルチモーダルの両方のシ
ナリオで動的に生成する。高位ダイアログモジュール
は、開発者のニーズに合うようなクライアント側マーク
アップを生成するためのパラメータを含むことができ
る。たとえば、クレジットカード情報モジュールは、ク
ライアント側マークアップスクリプトがどのタイプのク
レジットカードを使用できるかを示すパラメータを含む
ことができる。サーバ側プラグインモジュール320で
使用するASP+ページの例が、図13に示されてい
る。
【0091】以上、本発明について、好ましい実施形態
を参照しながら説明してきたが、当分野の技術者であれ
ば、本発明の精神および範囲を逸脱することなく、形態
および詳細の変更が可能であることを理解されよう。
【0092】付録A 1 はじめに 以下のタグは、ドキュメントが音声を入力または出力媒
体として使用できるようにする、マークアップ要素のセ
ットである。タグは、HTML、XHTML、cHTM
L、SMIL、WML、などのような任意のSGML導
出型マークアップ言語に埋め込むことのできる、独立型
XMLとなるように設計される。本明細書で使用される
タグは、ワシントン州RedmondのMicroso
ft Corporationから市販されているよく
知られたメソッドである、SAPI 5.0と同様であ
る。タグ、要素、イベント、属性、プロパティ、戻り値
などは、単なる例示的なものであって、限定的なものと
みなしてはならない。本明細書では音声およびDTMF
認識について例示しているが、同様のタグを他の認識形
態にも提供することができる。
【0093】本明細書で論じた主な要素は、以下の通り
である。 <prompt...> 音声合成構成およびプロンプ
トを再生する場合 <reco...> 認識装置構成ならびに認識の実行
および後処理をする場合 <grammar...> 入力文法リソースを指定す
る場合 <bind...> 認識結果を処理する場合 <dtmf...> DTMFを構成および制御する場
【0094】2 Reco Reco要素は、可能なユーザ入力および入力結果を処
理するための手段を指定する際に使用する。したがっ
て、主な要素は<grammar>および<bind>
であり、認識装置のプロパティを構成するためのリソー
スを含む。
【0095】Reco要素は、StartおよびSto
pメソッドを介してアップレベルブラウザで、あるいは
SMILコマンドを使用してSMILで使用可能なブラ
ウザで、プログラムに基づいて活動化される。ページ上
に存在することで、ダウンレベルブラウザ(すなわち、
非スクリプトサポーティングブラウザ)では宣言的に活
動状態であるとみなされる。複数の文法を並行して活動
化できるようにするために、複数のReco要素を同時
に活動状態であるとみなすことができる。
【0096】Recoは、実行できる認識シナリオの種
類および認識プラットフォームの動作を区別するため
に、特定のモード、すなわち「automatic」、
「single」、または「multiple」を採用
することも可能である。
【0097】2.1 Recoコンテンツ Reco要素には、1つまたは複数の文法および任意選
択でbind要素のセットが含まれ、これが認証結果を
検査し、値に関連する部分を含む側のページにコピーす
る。
【0098】アップレベルブラウザでは、Recoが個
々の文法規則のプログラムに基づく活動化および非活動
化をサポートする。認識文脈に関しては、デフォルト時
に文法中のすべての最高位規則が活動状態であることに
も留意されたい。
【0099】2.1.1 <grammar>要素 grammar要素は、src属性を使用するインライ
ンまたは参照済みどちらかの文法を指定するのに使用さ
れる。典型的には、少なくとも1つの文法(インライン
または参照済み)が指定される。インライン文法は、テ
キストベースの文法フォーマットであってよいが、参照
済み文法はテキストベースまたはバイナリタイプであっ
てよい。複数のgrammar要素を指定することがで
きる。複数のgrammar要素が指定される場合、文
法内の規則は、同じ文法内の特別規則として追加され
る。同じ名前を持つどんな規則も上書きされる。
【0100】属性: ・src:インライン文法が指定される場合、任意選択
である。文法のURIが含まれる。文法内のすべての最
高位規則は、認識文脈に関してデフォルト時に活動状態
であることに留意されたい。 ・langID:任意選択である。どの言語音声エンジ
ンを使用するべきであるかを示す文字列。文字列フォー
マットはxml:lang定義に従う。たとえば、la
ngID=「en−us」は米国英語を示す。この属性
は、langIDが文法URIに指定されていない場合
に限って有効である。指定されていない場合、デフォル
トの値は米国英語である。
【0101】langIDが複数箇所で指定される場
合、langIDは最低位範囲から優先順位に従うもの
であり、すなわちリモート文法ファイル(すなわち、言
語idが文法範囲内で指定される)の次にgramma
r要素、その次にreco要素となる。
【0102】src参照済み文法およびインライン文法
の両方が指定された場合、インライン規則が参照済み規
則に追加され、同じ名前を有するどんな規則も上書きさ
れる。
【0103】2.1.2 <bind>要素 bind要素は認識結果からの値をページに結合するの
に使用される。
【0104】bind要素によって消費される認識結果
は、認識結果を指定するための意味マークアップ言語
(SML)を含むXMLドキュメントであってよい。そ
のコンテンツには、意味値、実際に話された言葉、およ
び確信値が含まれる。SMLは代替の認識選択肢をふく
むこともできる(N最高認識結果の場合と同様)。「シ
アトルからボストンに行きたい」という発話に対するS
MLドキュメントの例を以下に示す。 <sml confidence="40"> <travel text="シアトルからボストンに行きたい"> <origin_city confidence="45"> シアトル </origin_city> <dest_city confidence="35"> ボストン </dest_city> </travel> </sml>
【0105】文法での認識は、意味マークアップ言語ま
たはSMLでXMLドキュメントを作成することが想定
されているため、SMLドキュメントからbindされ
る値はXPath照会を使用して参照される。また、値
のbind先となるページ内の要素は一意に識別される
べきである(形態制御となる見込みである)ため、これ
らのターゲット要素は直接参照される。
【0106】属性: ・targetElement:必須。SMLからのv
alueコンテンツが割り当てられる要素(W3C S
MIL 2.0の場合と同様)。 ・targetAttribute:任意選択。SML
からのvalueコンテンツが割り当てられるターゲッ
ト要素の属性(SMIL 2.0のattribute
Name属性を使用する場合と同様)。指定されない場
合、デフォルトの値は「value」。 ・test:任意選択。認識結果が割り当てられる条件
を示すXML Pattern(W3C XML DO
M指定の場合と同様)文字列。デフォルト条件はtru
e。 ・value:必須。ターゲット要素に割り当てられる
認識結果ドキュメントからの値を指定する、XPATH
(W3C XML DOM指定の場合と同様)文字列。
【0107】例:上記SMLの戻りが与えられると、以
下のreco要素は、origin_cityおよびd
est_city内の値を、ターゲットページ要素tx
tBoxOriginおよびtxtBoxDestに転
送するためにbindを使用する。
【0108】このbindは、以下の例に示されるよう
に、条件付きとすることが可能であり、bind動作の
前提条件として、dest_city結果の確信属性に
関するテストが実行される。 <bind targetElement="txtBoxDest" value="//dest_city" test="/sml/dest_city[@confidence $gt$ 40]" />
【0109】bind要素は、downlevelまた
はアップレベルブラウザで認識結果を処理する単純な宣
言手段である。より複雑な処理の場合、アップレベルブ
ラウザがサポートするreco DOMオブジェクト
は、プログラムに基づくスクリプト分析および認識戻り
値の後処理を可能にするために、onRecoイベント
ハンドラを実施する。
【0110】2.2 属性およびプロパティ 以下の属性は、すべてのブラウザによってサポートさ
れ、プロパティはアップレベルブラウザによってサポー
トされる。
【0111】2.2.1 属性 以下のRecoの属性は、ダイアログターン(dial
og turn)に関して音声認識装置を構成するのに
使用される。 ・initialTimeout:任意選択。認識開始
から音声検出までのミリ秒単位の時間。この値が認識プ
ラットフォームに渡され、これを超えると、認識プラッ
トフォームからonSilenceイベントが提供され
る(2.4.2を参照)。指定されない場合、音声プラ
ットフォームはデフォルト値を使用する。 ・babbleTimeout:任意選択。認識装置が
音声検出後に結果を戻さなければならないミリ秒単位の
時間枠。automaticおよびsingleモード
でのrecoの場合、これは音声検出から停止コールま
での時間枠に適用される。「multiple」モード
でのrecoの場合、このタイムアウトは音声検出から
各認識戻りまでの時間枠に適用され、すなわちこの時間
枠は、それぞれの結果が戻されるかまたは他のイベント
後に再開される。これを超えると、エラーが発生したか
否かに従って、様々なイベントが投じられる。認識装置
が依然として音声を処理している場合、たとえば非常に
長い発話の場合などは、statusコード13(2.
4.4を参照)でonNoRecoイベントが投じられ
る。ただし他のなんらかの理由でタイムアウトを超えた
場合は、認識装置のエラーである可能性が高いため、o
nTimeoutイベントが投じられる。指定されない
場合は、音声プラットフォームはデフォルトとして内部
値をとる。 ・maxTimeout:任意選択。認識開始から結果
がブラウザに戻されるまでの、ミリ秒単位の時間枠。こ
れを超えると、ブラウザによってonTimeoutイ
ベントが投じられ、これは、分散環境でのネットワーク
または認識装置の障害に応じるものである。「mult
iple」モードでのrecoの場合、babbleT
imeoutを使用する場合と同様に、この時間枠は、
それぞれの結果が戻されるかまたは他のイベント後に再
開される。maxTimeout属性は、initia
lTimeoutおよびbabbleTimeoutの
合計より大きいかまたは等しくなければならないことに
留意されたい。指定されない場合は、値はブラウザのデ
フォルト値となる。 ・endSilence:任意選択。automati
cモードでのRecoの場合、その後認識結果が戻され
る、音声がないはずの発話終了後の無音の、ミリ秒単位
の時間枠。recoの場合はautomatic以外の
モードは無視される。指定されない場合は、デフォルト
としてプラットフォーム内部値をとる。 ・reject:任意選択。認識拒否のしきい値であっ
て、これを下回るとプラットフォームは「no rec
o」イベントを投じる。指定されない場合、音声プラッ
トフォームはデフォルト値を使用する。確信値は0から
100まで(整数)。拒否値はこの間となる。 ・server:任意選択。音声プラットフォームのU
RI(タグインタープリタと認識プラットフォームが共
に配置されていない場合に使用する)。値の一例は、s
erver=protocol://yourspee
chplatformである。アプリケーション作者
は、たとえば次のようにURI文字列に照会文字列を追
加することによって、音声プラットフォーム特有の設定
を提供することもできる。 protocol://yourspeechplatform?bargeinEnergyThresho
ld=0.5 ・langID:任意選択。どの言語音声エンジンを使
用するべきかを示す文字列。文字列フォーマットは、x
ml:lang定義に従う。たとえば、langID=
「en−us」は、米国英語を示す。この属性は、gr
ammar要素にlangIDが指定されない場合に限
って有効である(2.1.1を参照)。 ・mode:任意選択。追従する認識モードを指定する
文字列。指定されない場合は、デフォルトとして「au
tomatic」モードをとる。
【0112】2.2.2 プロパティ 以下のプロパティには、認識プロセスによって戻される
結果が含まれる(アップレベルブラウザによってサポー
トされる)。 ・recoResult:読取り専用。2.1.2で記
載したように、意味マークアップ言語(SML)を含む
XML DOMノードオブジェクト内に保持される認識
の結果。何も認識されない場合、プロパティはnull
を戻す。 ・text:読取り/書込み。認識された言葉のテキス
トを保持する文字列(すなわち、読取りモードでのre
coResultで、SML認識戻りでの最高位要素の
テキスト属性のコンテンツに関する略記)。書込みモー
ドの場合、文字列を割り当てることが可能であり、次い
でこれが、文字列が認識結果に対応するかのように解析
される。書込みモードは、マークアップタグの拡張およ
びその処理を、クライアントデバイス上の他の構成要素
またはアプリケーションに対しても可能にするものであ
る。文字列は「smex」メッセージオブジェクトから
取得することができる。 ・status:読取り専用。認識プラットフォームか
ら戻される状態コード。可能な値は、認識が成功した場
合は0、または失敗値は−1から−4(Startメソ
ッド(セクション2.3.1)およびActivate
メソッド(セクション2.3.4)での可能な例外に定
義されたとおり)、ならびに認識装置イベントの受取り
時に設定される状態値−11から−15(2.4を参
照)である。
【0113】2.3 オブジェクトメソッド Recoの活動化およびgrammarの活動化は、R
ecoのDOMオブジェクトにあるいかのメソッドを使
用して制御することができる。これらのメソッドを使用
すると、アップレベルブラウザがRecoオブジェクト
を開始および停止すること、進行中の認識を取り消すこ
と、ならびに個々の文法最高位規則(アップレベルブラ
ウザのみ)を活動化および非活動化することができる。
【0114】2.3.1 Start Startメソッドは、明示的に非活動化されていない
認識文脈に対してすべての最高位規則を活動状態の文法
として使用することで、認識プロセスを開始する。
【0115】構文: Object.Start() 戻り値: なし 例外:このメソッドは、非ゼロのstatusコードを
設定し、障害時にはonNoRecoイベントを開始
(fire)する。可能な障害には、文法がない(re
co status=−1)、文法のコンパイル障害と
同様に様々な理由で発生することのある文法のロード障
害、URIが存在しない(reco status=−
2)、または音声プラットフォームのエラー(reco
status=−3)が含まれる。
【0116】2.3.2 Stop Stopメソッドは、認識プロセスを終了させるための
コールである。Recoオブジェクトは音声の録音を停
止し、認識装置は受け取った音声に関する認識結果を、
録音が停止した時点まで戻す。Recoが使用するすべ
ての認識リソースが解除され、その文法が非活動化され
る。(このメソッドは、認識装置それ自体が、完全な文
章を認識した後に検出終了時点でrecoオブジェクト
を停止するので、automaticモードでの典型的
な認識のために明示的に使用される必要のないことに留
意されたい。)Recoが開始されていない場合、コー
ルは無効である。
【0117】構文: Object.Stop() 戻り値: なし 例外: なし
【0118】2.3.3 Cancel Cancelメソッドは、音声を認識装置に送るのを停
止し、文法を非活動化して認識装置を解除し、どのよう
な認識結果も廃棄する。ブラウザは、取り消された認識
に関する認識結果を無視する。認識装置が開始されてい
ない場合、コールは無効である。
【0119】構文: Object.Cancel() 戻り値: なし 例外: なし
【0120】2.3.4 Activate Activateメソッドは、文脈自由文法(CFG)
の最高位規則を活動化する。活動化は、「Starte
d」認識プロセス中は無効となるため、認識が開始され
る前に呼び出さなければならない。明示的に非活動化さ
れていない認識文脈に関するすべての文法最高位規則
は、すでに活動状態として処理されていることに留意さ
れたい。
【0121】構文: Object.Activate(strName); パラメータ: ・strName:必須。活動化される規則の名前 戻り値: なし 例外: なし
【0122】2.3.5 Deactivate このメソッドは、文法の最高位規則を非活動化する。規
則が存在しない場合、メソッドは無効である。
【0123】構文: Object.Deactivate(strNam
e); パラメータ: ・strName:必須。非活動化される規則の名前。
文字列が空であると、すべての規則が非活動化される。 戻り値: なし 例外: なし
【0124】2.4 Recoイベント Reco DOMオブジェクトは以下のイベントをサポ
ートするが、そのハンドラは、reco要素の属性とし
て指定することができる。
【0125】2.4.1 onReco:このイベント
は、認識装置がブラウザに使用できる認識結果を得たと
きに開始される。automaticモードでのrec
oの場合、このイベントは認識プロセスを自動的に停止
し、リソースを消去する(2.3.2を参照)。onR
ecoは、典型的には、認識結果のプログラムに基づい
た分析と、結果をページに入れる処理に使用される。
【0126】構文:
【0127】
【表1】
【0128】イベントオブジェクト情報:
【0129】
【表2】
【0130】イベントプロパティ:イベントハンドラは
プロパティを直接受け取らないが、ハンドラはデータに
関するイベントオブジェクトを照会することができる
(イベントオブジェクトの用法については以下の例を参
照)。
【0131】例:以下のXHTMLフラグメントは、o
nRecoを使用して認識出力を解析するためのスクリ
プトを呼び出し、適切なフィールドに値を割り当てる。 <input name="txtBoxOrigin" type="text" /> <input name="txtBoxDest" type="text" /> <reco onReco="processCityRecognition()"/> <grammar src="/grammars/cities.xml" /> </reco> <script><![CDATA[ function processCityRecognition () { smlResult = event.srcElement.recoResult; origNode = smlResult.selectSingleNode("//origin_city"); if (origNode != null) txtBoxOrigin.value = origNode.text; destNode = smlResult.selectSingleNode("//dest_city"); if (destNode != null) txtBoxDest.value = destNode.text; } ]]></script>
【0132】2.4.2 onSilence:onS
ilenceは、RecoのinitialTimeo
ut属性で指定された持続期間(2.2.1を参照)の
前に、認識プラットフォームによって検出された音声の
ないイベントを処理する。このイベントは、autom
aticrecognitionモードの場合に認識プ
ロセスを自動的に取り消す。
【0133】構文:
【0134】
【表3】
【0135】イベントオブジェクト情報:
【0136】
【表4】
【0137】イベントプロパティ:イベントハンドラは
プロパティを直接受け取らないが、ハンドラはデータに
関するイベントオブジェクトを照会することができる。
【0138】2.4.3 onTimeout onTimeoutは、典型的には音声プラットフォー
ムからのエラーを反映する、2種類のイベントを処理す
る。 ・認識が完了する前に満了となったmaxtime属性
(2.2.1を参照)に指定された時間枠を送信する、
タグインタープリタによって投じられたイベントを処理
する。このイベントは、典型的には、分散アーキテクチ
ャで発生する可能性のある問題を反映する。 ・認識が開始されたにもかかわらず、babbleTi
meout(2.2.1を参照)によって指定された時
間枠内に認識なしで処理が停止した場合、音声認識プラ
ットフォームによって投じられたイベントも処理する
(ii)。
【0139】このイベントは、認識処理を自動的に取り
消す。 構文:
【0140】
【表5】
【0141】イベントオブジェクト情報:
【0142】
【表6】
【0143】イベントプロパティ:イベントハンドラは
プロパティを直接受け取らないが、ハンドラはデータに
関するイベントオブジェクトを照会することができる。
【0144】2.4.4 onNoReco:onNo
Recoは音声認識プラットフォームによって投じられ
たイベントが、有効な認識結果を戻すことができない場
合のハンドラである。発生する可能性のある様々なケー
スが、statusコードによって区別される。イベン
トは認識プロセスを自動的に停止する。
【0145】構文:
【0146】
【表7】
【0147】イベントオブジェクト情報:
【0148】
【表8】
【0149】イベントプロパティ:イベントハンドラは
プロパティを直接受け取らないが、ハンドラはデータに
関するイベントオブジェクトを照会することができる。
【0150】3 prompt prompt要素は、システム出力を指定するのに使用
される。そのコンテンツは、以下の1つまたは複数であ
ってよい。 ・インラインまたは参照済みテキスト。韻律的またはそ
の他の音声出力情報でマークアップすることができる。 ・含む側のドキュメントから提示時に取り出された変数
値 ・音声ファイルへのリンク
【0151】prompt要素は、ダウンレベルブラウ
ザによって、またはアップレベルブラウザのオブジェク
トメソッドによって、宣言的に解釈される(またはSM
ILコマンドによって活動化される)。
【0152】3.1 promptのコンテンツ prompt要素は、テキストまたは音声ファイルの参
照のいずれか、あるいはその両方としての、システム出
力用のリソースを含む。単純なpromptは、以下の
ように、出力用に必要なテキストを指定するだけでよ
い。 <prompt id="Welcome"> ACME天気予報にお電話いただきありがとうございま
した。 </prompt> この単純なテキストに、以下に記載する種類のいずれか
のマークアップをさらに含めることができる。
【0153】3.1.1 音声合成マークアップ 任意のフォーマットの音声合成マークアップ言語を、p
rompt要素内部で使用することができる。(このフ
ォーマットは、3.2.1に記載した「tts」属性で
指定することができる。)以下の例は、内部にある一定
の語句を強調するための命令を備えたテキストを示すも
のである。 <prompt id="giveBalance"> 口座に <emph> 5ドル </emph> 残金があります。 </prompt>
【0154】3.1.2 動的コンテンツ promptの実際のコンテンツは、promptが出
力される直前にクライアント側で計算する必要のある場
合がある。特定の値を確認するために、たとえば変数内
で値をデリファレンスする必要がある。その場合は、v
alue要素を使用することができる。
【0155】Value要素 value:任意選択。ドキュメント内にある要素の値
を取り出す。
【0156】属性: ・targetElement:任意選択。hrefま
たはtargetElementのいずれかを指定する
こと。取り出される値を含む要素のid。 ・targetAttribute:任意選択。値が取
り出される要素の属性。 ・href:任意選択。音声セグメントのURI。hr
efとtargetElementの両方が存在する場
合、hrefがtargetElementに優先され
る。
【0157】targetElement属性は、含む
側のドキュメント内にある要素の参照に使用される。i
dがtargetElementによって指定されてい
る要素のコンテンツが、合成されるテキストに挿入され
る。所望のコンテンツが要素の属性内に保持されている
場合、targetAttribute属性を使用し
て、targetElementに必要な属性を指定す
ることができる。これは、たとえばHTML書式制御の
値をデリファレンスするのに役立つ。以下の例示では、
promptが出力される前に、「txtBoxOri
gin」要素および「txtBoxDest」要素の
「value」属性がテキストに挿入される。
【0158】3.1.3 音声ファイル value要素は、合成されたpromptの代わり
に、あるいはその中で再生するために、事前に録音され
た音声ファイルを参照するのに使用することもできる。
以下の例では、promptの終わりにビーッという音
を鳴らす。
【0159】3.1.4 参照済みプロンプト コンテンツをインラインで指定する代わりに、空の要素
を備えたsrc属性を使用することで、以下のように、
URIを介して外部コンテンツを参照することができ
る。 <prompt id="Welcome" src="/ACMEWeatherPrompts#Welc
ome"/> src属性のターゲットは、インラインプロンプト用に
指定された上記コンテンツのいずれかまたはすべてを保
持することができる。
【0160】3.2 属性およびプロパティ prompt要素は、以下の属性(ダウンレベルブラウ
ザ)およびプロパティ(ダウンレベルおよびアップレベ
ルブラウザ)を保持する。
【0161】3.2.1 属性 ・tts:任意選択。テキストから音声への合成に関す
るマークアップ言語タイプ。デフォルトの値は「SAP
I 5」。 ・src:インラインプロンプトが指定された場合は任
意選択。参照済みプロンプトのURI(3.1.4を参
照)。 ・bargein:任意選択。整数。プロンプトの開始
から聴取者が再生に割り込んだときまでの、ミリ秒単位
の時間枠。デフォルトの値は無限であり、すなわちba
rgeinは使用できない。Bargein=0の場合
は、即時bargeinが可能である。これは、プラッ
トフォームがサポートしているどんな種類の割り込みに
も適用される。recoが開始された時点で、キーワー
ドまたはエネルギーベースのbargein時間のどち
らが使用可能であるかに応じて、いずれかがこの方法で
構成される。 ・prefetch:任意選択。ページがロードされた
ときに、promptをブラウザ側で即時に合成および
キャッシュするべきであるかどうかを示す、ブールフラ
グ。デフォルトの値はfalseである。
【0162】3.2.2 プロパティ アップレベルブラウザは、promptのDOMオブジ
ェクト内で以下のプロパティをサポートする。 ・bookmark:読取り専用。発生した最新の合成
ブックマークのテキストを録音する文字列オブジェク
ト。 ・status:読取り専用。音声プラットフォームに
よって戻されるstatusコード。 ・Innertext:読取り専用。このプロパティ
は、promptのテキスト表現形式(transcr
iption)を提供し、これが合成装置に送られる。
たとえば、promptが可聴波ファイルの再生を含む
場合、このプロパティはそのpromptのテキストバ
ージョン(可聴波ファイルと共に格納されている場合が
多い)を提供し、次いでたとえば、promptのテキ
ストバージョンを構成要素またはクライアントデバイス
上で実行中のアプリケーションに提供することによっ
て、表示されるか、そうでなければ使用される。inn
ertextプロパティは、動的コンテンツを含むpr
omptのテキストバージョンを提供する際にも使用で
きる。
【0163】3.3 promptメソッド prompt再生は、promptのDOMオブジェク
トにある以下のメソッドを使用して制御することができ
る。この方法では、アップレベルブラウザが、prom
ptオブジェクトの開始(start)および停止(s
top)、進行中のpromptの一時停止(paus
e)および再開(resume)、ならびに合成された
音声の速度および音量の変更(change)を実行す
ることができる。
【0164】3.3.1 Start promptの再生を開始する。引数が与えられない限
り、メソッドはオブジェクトのコンテンツを再生する。
単一のpromptオブジェクトのみが所与の時間に
「開始された」とみなされるため、Startが連続し
て呼び出されると、すべての再生が連続して行われる。
【0165】構文: Object.Start([strText]); パラメータ: ・strText:合成装置に送信されるテキスト。存
在する場合は、この引数がオブジェクトのコンテンツに
優先される。 戻り値: なし 例外:status=−1に設定すると、音声バッファ
がサーバによってすでに解除されている場合はonCo
mpleteイベントが開始される。
【0166】3.3.2 Pause 音声バッファをフラッシングせずに再生を一時停止す
る。再生が一時停止または停止されている場合、このメ
ソッドは無効である。
【0167】構文: Object.Pause(); 戻り値: なし 例外: なし
【0168】3.3.3 Resume 音声バッファをフラッシングせずに再生を再開する。再
生が一時停止されていない場合、このメソッドは無効で
ある。
【0169】構文: Object.Resume(); 戻り値: なし 例外:再開が失敗すると例外が投じられる。
【0170】3.3.4 Stop すでに停止されていなければ再生を停止し、音声バッフ
ァをフラッシングする。再生がすでに停止されている場
合、このメソッドは音声バッファをフラッシングするだ
けである。
【0171】構文: Object.Stop(); 戻り値: なし 例外: なし
【0172】3.3.5 Change 再生の速度および/または音量を変更する。Chang
eは再生中に呼び出すことができる。
【0173】構文: Object.Change(speed,volum
e); パラメータ: ・speed:必須。変更する因数。speed=2.
0は現在の速度を2倍にする、speed=0.5は現
在の速度を半分にする、speed=0はデフォルト値
を復元するという意味である。 ・volume:必須。変更する因数。volume=
2.0は現在の音量を2倍にする、volume=0.
5は現在の音量を半分にする、volume=0はデフ
ォルト値を復元するという意味である。 戻り値: なし 例外: なし
【0174】3.3.6 promptの制御例 以下の例は、上記のメソッドを使用して、キーワード割
込み機構をサポートしていないプラットフォームに対し
て、promptの制御をどのようにオーサリングでき
るかを示すものである。 <html> <title> プロンプト制御 </title> <head> <script> <!-- function checkKWBargein() { news.change(1.O, 0.5); // 確認中ボリュームを下げる。 if (keyword.text == "") { // 結果は閾値未満である。 news.change(1.0, 2.0); // ボリュームを元に戻す。 keyword.Start(); // 認識を再開する。 } else { news.Stop(); // キーワードが検出された。プロンプトを停止 する。 // 必要なことを行う。 } } // </script> <script for="window" event="onload"> <!-- news.Start(); keyword.Start(); // </script> </head> <body> <prompt id="news" bargein="0">
【0175】水曜日、来週の連邦準備会議を前に、投資
家が何らかの大きな動きに出るにはほとんど刺激を受け
なかったため、株は新たなパフォーマンスの低迷に入っ
た。ハイテク株比率の高いナスダック総合指数は42.
51ポイント下がって2156.26で引けた。ダウ平
均株価は、午後の早い時間に反発できなかった後、1
7.05ポイント下落して10866.46になった。 - <!-- </prompt> <reco id="keyword" reject="70" onReco="checkKWBargein()" > <grammar src=http://denali/news bargein grammar.xml /> </reco> </body> </html>
【0176】3.4 Promptイベント prompt DOMオブジェクトは以下のイベントを
サポートしており、そのハンドラは、prompt要素
の属性として指定することができる。
【0177】3.4.1 onBookmark 合成ブックマークに遭遇すると開始される。このイベン
トは再生を一時停止しない。
【0178】構文:
【0179】
【表9】
【0180】イベントオブジェクト情報:
【0181】
【表10】
【0182】イベントプロパティ:イベントハンドラは
プロパティを直接受け取らないが、ハンドラはデータに
関するイベントオブジェクトを照会することができる。
【0183】3.4.2 onBargein:ユーザ
のbarge−inイベントが検出されると開始され
る。(barge−inイベントの構成内容、たとえ
ば、エネルギー検出またはキーワード認識を決定するこ
とはプラットフォームの責任であることに留意された
い。)このイベントハンドラを指定しても、barge
−inは自動的にオンにならない。構文:
【0184】
【表11】
【0185】イベントオブジェクト情報:
【0186】
【表12】
【0187】イベントプロパティ:イベントハンドラは
プロパティを直接受け取らないが、ハンドラはデータに
関するイベントオブジェクトを照会することができる。
【0188】3.4.3 onComplete:pr
ompt再生が終わりに達するか、または例外(上記に
定義)に遭遇すると、開始される。
【0189】構文:
【0190】
【表13】
【0191】イベントオブジェクト情報:
【0192】
【表14】
【0193】イベントプロパティ:イベントハンドラは
プロパティを直接受け取らないが、ハンドラはデータに
関するイベントオブジェクトを照会することができる。
【0194】3.4.4 ブックマークおよびイベント
の使用 以下の例は、prompt出力中にbargeinが発
生した場合に関して、ユーザの応答の意味、すなわち出
発都市の修正または行先都市の準備のいずれであるかを
特定するために、ブックマークイベントをどのように使
用するかを示す例である。onBargeinハンドラ
が、グローバル「mark」変数をprompt内で遭
遇した最新のブックマークに設定するスクリプトを呼び
出し、この「mark」の値が正しい値を設定するため
にrecoの後処理関数(「heard」)で使用され
る。 <script><![CDATA[ var mark; function interrupt( ) { mark = event.srcElement.bookmark; } function ProcessCityConfirm() { confirm.stop(); // オーディオバッファをフラッシュする。 if (mark == "mark_origin_city") txtBoxOrigin.value = event.srcElement.text; else txtBoxDest.value = event.srcElement.text; } ]]></script> <body> <input name="txtBoxOrigin" value="シアトル" type="text"/> <input name="txtBoxDest" type="text" /> ... <prompt id="confirm" onBargein="interrupt()" bargein="O"> From <bookmark mark="mark_origin_city" /> <value targetElement="orgin" targetAttribute="value" />, <bookmark mark="mark_dest_city" /> が行く先であることを復唱し てください。 </prompt> <reco onReco="ProcessCityConfirm()" > <grammar src="/grm/1033/cities.xml" /> </reco> ... </body>
【0195】4 DTMF DTMF認識オブジェクトを作成する。このオブジェク
トはインラインマークアップ言語構文を使用するかスク
リプティングでインスタンス化することができる。DT
MFは活動化されたときに、promptオブジェクト
にbarge−inイベントを開始させることができ
る。DTMF認識に関して以下で論じるタグおよびイベ
ンティング、ならびに第5項で論じる呼制御は、一般
に、音声ブラウザ216とメディアサーバ214との間
の対話に関係するものである。
【0196】4.1 コンテンツ ・dtmfgrammar:インライン文法用である。 ・bind:DTMF変換結果を適切なフィールドに割
り当てる。
【0197】属性: ・targetElement:必須。部分的な認識結
果が割り当てられる要素(たとえばW3C SMIL
2.0の場合と同様)。 ・targetAttribute:認識結果が割り当
てられるターゲット要素の属性(たとえばSMIL
2.0の場合と同様)。デフォルトの値は「valu
e」。 ・test:割当ての条件。デフォルトの値はtru
e。 例1:キーをテキストにマッピングする <input type="text" name="city"/> <DTMF id="city_choice" timeout="2000" numDigits="1"> <dtmfgrammar> <key value="1"> シアトル </key> <key value="2"> ボストン </key> </dtmfgrammar> <bind targetElement="city" targetAttribute="value" /> </DTMF> 「city_choice」が活動化されたときに、ユ
ーザが1を押すと「Seattle」が、2を押すと
「Boston」が入力フィールドに割り当てられ、そ
れ以外の場合は何も割り当てられない。
【0198】 この例は、ユーザが複数のフィールドに入力する方法を
実演したものである。
【0199】 例3:音声入力とDTMF入力の両方を使用可能にし、ユーザがDTMFを開 始した場合は音声を使用不能にする方法 <input type="text" name="credit_card_number" /> <prompt onBookmark="dtmf.Start(); speech.Start()" bargein="0"> <bookmark name="starting" /> を復唱するか、クレジットカード番号を入力してください。 </prompt> <DTMF id="dtmf" escape="#" length="16" interdigitTimeout="2000" onkeypress="speech.Stop()"> <bind targetElement="credit_card_number" /> </DTMF> <reco id="speech" > <grammar src="/grm/1033/digits.xml" /> <bind targetElement="credit_card_number" /> </reco>
【0200】4.2 属性およびプロパティ 4.2.1 属性 ・dtmfgrammar:必須。DTMF文法のUR
I。
【0201】4.2.2 プロパティ ・DTMFgrammar:読取り/書込み DTMFを表すXML DOM Nodeオブジェクト
から文字列への変換マトリックス(DTMF文法とも呼
ばれる)。デフォルトの文法は以下のとおり。 活動化の前に基礎となる電話インターフェースカード上
でDTMFバッファを自動的にフラッシングさせるかど
うかを示す、読取り/書込みのブールフラグ。デフォル
トの値は、先行タイプを実行可能にするためのfals
e。 ・escape 読取り/書込み。DTMF読取りセッションを終了する
ためのescapeキー。escapeキーは1つのキ
ーである。 ・numDigits 読取り/書込み。DTMF読取りセッションを終了する
ためのキーストロークの数。escapeとlengt
hの両方が指定された場合、どちらかの条件が満たされ
るとDTMFセッションは終了する。 ・dtmfResult ユーザが入力したDTMFを格納している読取り専用文
字列。入力された場合は結果的にescapeが含まれ
る。 ・text 空白で分離されたトークン文字列を格納している読取り
専用文字列であって、各トークンはDTMF文法に従っ
て変換される。 ・initialTimeout 読取り/書込み。第1のDTMFキーストロークを受け
取るための、ミリ秒単位のタイムアウト時間枠。指定さ
れない場合、デフォルトの値は電話プラットフォームの
内部設定となる。 ・interdigitTimeout 読取り/書込み。隣接するDTMFキーストロークのた
めの、ミリ秒単位のタイムアウト時間枠。指定されない
場合、デフォルトの値は電話プラットフォームの内部設
定となる。
【0202】4.3 オブジェクトメソッド: 4.3.1 Start DTMF割込みを実行可能にし、DTMF読取りセッシ
ョンを開始する。
【0203】構文: Object.Start(); 戻り値: なし 例外: なし
【0204】4.3.2 Stop DTMFを使用不能にする。ただし、ユーザが入力した
キーストロークは、バッファ内に残る。
【0205】構文: Object.Stop(); 戻り値: なし 例外: なし
【0206】4.3.3 Flush DTMFバッファをフラッシングする。FlushはD
TMFセッション中に呼び出すことができない。
【0207】構文: Object.Flush(); 戻り値: なし 例外: なし
【0208】4.4 イベント 4.4.1 onkeypress DTMFキーを押すと開始される。これはHTML制御
から引き継がれたデフォルトイベントに優先する。ユー
ザがescapeキーを叩くと、onKeypress
ではなくonRecイベントが開始される。
【0209】構文:
【0210】
【表15】
【0211】イベントオブジェクト情報:
【0212】
【表16】
【0213】イベントプロパティ:イベントハンドラは
プロパティを直接受け取らないが、ハンドラはデータに
関するイベントオブジェクトを照会することができる。
【0214】4.4.2 onReco DTMFセッションが終了すると開始される。このイベ
ントは現在のDTMFオブジェクトを自動的に使用不能
にする。
【0215】構文:
【0216】
【表17】
【0217】イベントオブジェクト情報:
【0218】
【表18】
【0219】イベントプロパティ:イベントハンドラは
プロパティを直接受け取らないが、ハンドラはデータに
関するイベントオブジェクトを照会することができる。
【0220】4.4.3 onTimeout タイムアウト以前に句完了イベントが受け取られないと
開始される。このイベントは認識プロセスを自動的に停
止する。
【0221】構文:
【0222】
【表19】
【0223】イベントオブジェクト情報:
【0224】
【表20】
【0225】イベントプロパティ:イベントハンドラは
プロパティを直接受け取らないが、ハンドラはデータに
関するイベントオブジェクトを照会することができる。
【0226】5 Callcontrolオブジェクト 電話音声ブラウザの電話インターフェース(呼、端末、
および接続)を表す。このオブジェクトは、GUIブラ
ウザでのwindowオブジェクトと同じように固有で
ある。したがって、電話オブジェクトの存続期間はブラ
ウザインスタンスそれ自体と同じである。電話用の音声
ブラウザは、呼ごとに1つずつ電話オブジェクトをイン
スタンス化する。ユーザはオブジェクトのインスタンス
化または配置は行わない。
【0227】ここでは、このオブジェクトを介して第1
の当事者の呼制御に関する特徴だけを示す。
【0228】5.1 プロパティ ・address 読取り専用。XML DOMノードオブジェクト。実施
形態によって異なる。発呼者のアドレスである。PST
Nの場合は、ANIとALIの組合せであってよい。V
oIPの場合、これが発呼者のIPアドレスである。・
ringsBeforeAnswer着信呼に応答する
前の呼出し音の回数。デフォルト値は無限であり、これ
は、開発者が呼に応答するために、具体的には以下のA
nswer()メソッドを使用しなければならないこと
を意味する。電話局が着信呼を待ち行列に入れるのにA
CDを使用している場合、この番号は0に設定すること
ができる。
【0229】5.2 メソッド 注:ここに示すメソッドはすべて同時に発生するもので
ある。
【0230】5.2.1 Transfer 呼を転送する。ブラインド転送の場合、転送が完了する
と、システムはオリジナルの呼およびフリーシステムリ
ソースを終了することができる。 構文: telephone.Transfer(strTex
t); パラメータ: ・strText:必須。所期の受信者のアドレス。 戻り値: なし 例外:呼転送が失敗すると例外が投じられる。たとえ
ば、最終当事者が話中の場合、こうした番号のファック
スまたは留守番電話は応答しない。
【0231】5.2.2 Bridge 第三者転送。呼が転送された後、ブラウザは呼に割り振
られたリソースを解除することができる。転送された呼
がstrUIDを使用して戻されるときに、セッション
状態を回復させるのはアプリケーションの役割である。
基礎となる電話プラットフォームは、戻ってくる呼の宛
先を異なるブラウザに指定することができる。呼は、受
取り側が呼を終了させたときにのみ戻すことができる。
【0232】構文: telephone.Bridge(strText,
strUID,[imaxTime]); パラメータ: ・strText:必須。所期の受信者のアドレス。 ・strUID:必須。現在の呼を一意に識別するセッ
ションID。転送された呼が戻されるときに、srtU
IDがaddress属性に表示される。 ・imaxTime:任意選択。転送された呼の秒単位
の最大持続時間。指定されない場合、デフォルトの値は
プラットフォーム内部値である。 戻り値: なし 例外: なし
【0233】5.2.3 Answer 呼に応答する。 構文: telephone.Answer() 戻り値: なし 例外:接続がない場合に例外が投じられる。この場合、
onAnswerイベントは開始されない。
【0234】5.2.4 Hangup 呼を終了させる。現在進行中の呼がない場合は無効であ
る。 構文: telephone.Hangup() 戻り値: なし 例外: なし
【0235】5.2.5 Connect 第1当事者の外に向かう呼を開始する。 構文: telephone.Connect(strTex
t,[iTimeout]); パラメータ: ・strText:必須。所期の受信者のアドレス。 ・iTimeout:任意選択。試行を中止するまでの
ミリ秒単位の時間。 指定されない場合、デフォルトの値はプラットフォーム
内部値である。 戻り値: なし 例外:話中信号に遭遇するか、あるいはFAXまたは留
守番電話に到達した場合を含み、呼が完了できない場合
に例外が投じられる(注:ハードウェアはこの機能をサ
ポートできない)。
【0236】5.2.6 Record ユーザの音声をファイルに記録する。 構文: telephone.Record(url,endS
ilence,[maxTimeout],[init
ialTimeout]); パラメータ: ・url:必須。記録された結果のurl ・endSilence:必須。無音が検出された後に
記録を停止するまでのミリ秒単位の時間。 ・maxTimeout:任意選択。記録するための秒
単位の最大時間。デフォルトの値はプラットフォームに
よって異なる。 ・initialTimeout:任意選択。記録の始
めの部分で可能な無音の最大時間(ミリ秒単位)。 戻り値: なし 例外:記録がurlに書き込めないときに、例外が投じ
られる。
【0237】5.3 イベントハンドラ 電話音声ブラウザを使用するアプリケーション開発者
は、以下のイベントハンドラを実施することができる。
【0238】5.3.1 onIncoming() 音声ブラウザが着信呼を受け取ったときに呼び出され
る。すべての開発者はこのハンドラを使用して、呼に応
答する前に発呼者アドレスを読み取り、カスタマイズさ
れた機能を呼び出すことができる。
【0239】5.3.2 onAnswer() 音声ブラウザが着信呼に応答したときに呼び出される。
【0240】5.3.3 onHangup() ユーザが電話を切ったときに呼び出される。このイベン
トは、プログラムがHangupまたはTransfe
rメソッドを呼び出したときに自動的に開始されるもの
ではない。
【0241】5.4 例 以下の例は、電話セッションを処理するために呼制御イ
ベントに送られるスクリプティングを示すものである。 <HTML> <HEAD> <TITLE>Logon Page</TITLE> </HEAD> <SCRIPT> var focus; function RunSpeech() { if (logon.user.value == "") { focus="user"; p_uid.Start(); g_login.Start(); dtmf.Start(); return; } if (logon.pass.value == "") { focus="pin"; p_pin.Start(); g_login.Start(); dtmf.Start(); return; } p_thank.Start(); logon.submit(); } function login_reco() { res = event.srcElement.recoResult; pNode = res.selectSingleNode("//uid"); if (pNode != null) logon.user.value = pNode.xml; pNode = res.selectSingleNode("//password"); if (pNode != null) logon.pass.value = pNode.xml; } function dtmf_reco() { res = event.srcElement.dtmfResult; if (focus == "user") logon.user.value = res; else logon.pin.value = res; } </SCRIPT> <SCRIPT for="callControl" event="onIncoming"> <!-- // 読取りアドレス。カスタマイズされたものがあれば準備する。 callControl.Answer(); // </SCRIPT> <SCRIPT for="callControl" event="onOffhook"> <!-- p_main.Start(); g_login.Start(); dtmf.Start(); focus="user"; // </SCRIPT> <SCRIPT for="window" event="onload"> <!-- if (logon.user.value != "") { p_retry.Start(); logon.user.value = ""; logon.pass.value = ""; checkFields(); } // </SCRIPT> <BODY> <reco id="g_login" onReco="login_reco(); runSpeech()" timeout="5000" onTimeout="p_miss.Start(); RunSpeech() > <grammar src=http://kokaneel/etradedemo/speechonly/login.xml/> </ reco > <dtmf id="dtmf" escape="#" onkeypress="g_login.Stop();" onReco="dtmf_reco();RunSpeech()" interdigitTimeout="5000" onTimeout="dtmf.Flush(); p_miss.Start();RunSpeech()" /> <prompt id="p_main"> ユーザIDおよびピン番号を復唱してください。</pro mpt> <prompt id="p_uid"> ユーザIDだけ復唱してください。</prompt> <prompt id="p_pin"> ピン番号だけ復唱してください。</prompt> <prompt id="p_miss"> 申し訳ありません。失敗しました。</prompt> <prompt id="p_thank"> ありがとうございました。身元を確認する間お待ちく ださい。</prompt> <prompt id="p_retry"> 申し訳ありません。ユーザIDおよびピン番号が一致 しません。</prompt> <H2>Login</H2> <form id="logon"> UID: <input name="user" type="text" onChange="runSpeech()" /> PIN: <input name="pass" type="password" onChange="RunSpeech()" /> </form> </BODY> </HTML>
【0242】6 ダイアログフローの制御 6.1 ダイアログフローを実施するためのHTMLお
よびスクリプトの使用この例は、入力ボックスに入れる
値を探し、入力用の文脈依存ヘルプを提供する、単純な
ダイアログフローを実施する方法を示すものである。ヘ
ルププロンプトのコンテンツ形成を助けるためにHTM
L入力機構(「tooltip」機構として表示ブラウ
ザで使用される)で、title属性を使用する。 <html> <title>Context Sensitive Help</title> <head> <script> var focus; function RunSpeech() { if (trade.stock.value == "") { focus="trade.stock"; p_stock.Start(); return; } if (trade.op.value == "") { focus="trade.op"; p_op.Start(); return; } //.. フィールドすべてについて上記を繰り返す。 trade.submit(); } function handle() { res = event.srcElement.recoResult; if (res.text == "help") { text = "復唱してください"; text += document.all[focus].title; p_help.Start(text); } else { // 値割当てを続行する。 } } </script> </head> <body> <prompt id="p_help" onComplete="checkFileds()" /> <prompt id="p_stock" onComplete="g_stock.Start()"> 株式名を復唱して ください。</prompt> <prompt id="p_op" onComplete="g_op.Start()"> 売りですか。買いですか 。</prompt> <prompt id="p_quantity" onComplete="g_quantity.Start()"> 何株ですか 。</prompt> <prompt id="p_price" onComplete="g_price.Start()"> 価格はいくらです か。</prompt> <reco id="g_stock" onReco="handle(); checkFields()" > <grammar src="./g_stock.xml" /> </ reco > <reco id="g_op" onReco="handle(); checkFields()" /> <grammar src="./g_op.xml" /> </ reco > <reco id="g_quantity" onReco="handle(); checkFields()" /> <grammar src="./g_quant.xml" /> </ reco > <reco id="g_price" onReco="handle(); checkFields()" /> <grammar src="./g_quant.xml" /> </reco> <form id="trade"> <input name="stock" title="stock name" /> <select name="op" title="buy or sell"> <option value="buy" /> <option value="sell" /> </select> <input name="quantity" title="number of shares" /> <input name="price" title="price" /> </form> </body> </html> 6.2 SMILの使用 以下の例は、SMIL機構を使用したpromptおよびreco要素の活動 化の例を示すものである。 <html xmlns:t="urn:schemas-microsoft-com:time" xmlns:sp="urn:schemas-microsoft-com:speech"> <head> <style> .time { behavior: url(#default#time2); } </style> </head> <body> <input name="txtBoxOrigin" type="text"/> <input name="txtBoxDest" type="text" /> <sp:prompt class="time" t:begin="0"> 出発地と行き先の都市を復唱してください。 </sp:prompt> <t:par t:begin="time.end" t:repeatCount="indefinitely" <sp:reco class="time" > <grammar src="./city.xml" /> <bind targetElement="txtBoxOrigin" value="//origin_city" /> <bind targetElement="txtBoxDest" test="/sml/dest_city[@confidence $gt$ 4O]" value="//dest_city" /> </sp:reco> </t:par> </body> </html>
【0243】7 SMEX(Message)要素/オ
ブジェクト Simple Messaging EXchange
/EXtensionの短縮形であるSMEXは、クラ
イアントデバイスのプラットフォーム上にある外部の構
成要素またはアプリケーションと通信するオブジェクト
である。タグ名<smex>を備えた要素として、XM
Lまたは同様のマークアップベースドキュメントに埋め
込むことができる。メッセージングオブジェクトの例示
的な使用法には、ロギングおよび電話制御を含まれるこ
とがある。オブジェクトは、マークアップベースの認
識、およびメッセージングを介して新しい機能を追加で
きるようにするプロンプティングの拡張可能性を表すも
のである。
【0244】インスタンス化すると、オブジェクトは、
その構成パラメータまたは属性の指定を介して、プラッ
トフォーム構成要素またはアプリケーションを備えた非
同期メッセージ交換チャネルを確立するように指示され
る。オブジェクトは、プロパティが割当て動作の受取り
側である場合に必ず、コンテンツがプラットフォーム構
成要素またはアプリケーションに送信される文字列プロ
パティを有する(すなわち、lvalue)。同様に、
プラットフォーム構成要素またはアプリケーションから
受け取ったメッセージを保持する、XML DOM N
odeタイプのプロパティも有する。messageオ
ブジェクトは、プラットフォームメッセージを受け取る
と必ずイベントを送信する。オブジェクトは、その基本
動作が非同期であるため、タイムアウト設定を処理する
ためのアプリケーション開発者用内蔵クロックも有す
る。
【0245】messageまたはsmexオブジェク
トは、通信手段に対して寛容である。ただし、一実施形
態では、smexオブジェクトは通常のXMLまたはマ
ークアップ要素と同じ持続期間を有するものであり、す
なわち、smexオブジェクトはそのホストドキュメン
トがアンロードされると廃棄される。多くの場合、sm
exオブジェクトは自動クリーンアップを実行し、アン
ロードされたときに通信リソースを解放することができ
るため、マークアップページ間に渡って持続通信リンク
が望ましい場合(たとえば呼制御)に、使用されること
がある。こうした場合に、アーキテクチャは、割り振ら
れたリソースを放棄する(たとえば、ソケットを閉じ
る)責務をアプリケーション開発者に負わせる。
【0246】smexオブジェクトは、メッセージの形
態(スキーマ)に関して中立である。一部の実施形態で
は、(SIPまたはCCXMLで使用されているよう
な)既存の標準メッセージフォーマットを強く優先さ
せ、いくつかの基本的なスキーマをサポートするように
実施者に対して要求することが望ましい場合がある。本
来アーキテクチャは、プラットフォームとアプリケーシ
ョンの両方の開発者が、その間に相互運用性を失うこと
なく他の機能を導入するために、XMLまたは同様のマ
ークアップの標準化された拡張可能性をフルに利用でき
るようにするものである。
【0247】 例1:smexをロギングオブジェクトとして使用する <smex id="logServer"> <param name="d:server" xmlns:d="urn:Microsoft.com/COM"> <d:protocol>DCOM</d:protocol> <d:clsid>2093093029302029320942098432098</d:clsid> <d:iid>0903859304903498530985309094803</d:iid> </param> </smex> <listen ...> ...// 入力フィールドのreco結果を拘束する他の指示 <bind targetElement="logServer" targetAttribute="sent" value="*[@log $ge$ 3]"/> </listen>
【0248】この例は、クラスidおよびインターフェ
ースidを備えたCOMオブジェクトを使用して、ロギ
ング機構をどのように達成するかを実演したものであ
る。音声開発者は、ロギングの関心レベルを示す属性
「log」を関連するSMLノードに付け加える。上記
の例では、アプリケーション開発者は、単一のbind
指示文(directive)を使用することによっ
て、ログ値が3より大きいかまたは等しいすべてのノー
ドをログするように選択する。この例は、ダウンレベル
ブラウザとアップレベルブラウザの両方で使用できる。
【0249】この例は、smexオブジェクトが認識ド
キュメントにプラットフォームメッセージを返送する責
務に関して混乱することがない限り、同じプラットフォ
ーム構成要素と通信する複数のsmexオブジェクトを
ページに含めることができることを実証するものでもあ
る。上記の例は、構成要素が、それぞれが独自のsme
xまたはmessageコンジットを有する複数のイン
ターフェースを実施することが可能であることを暗に示
すものである。同じ引数が、複数のポートを聴取してい
るTCPサーバに適用される。
【0250】 例2:着信呼のアドレスを読み取る <input type="text" id="remote"/> <input type="text" id="transfer"/> <input type="text" id="local"/> <input type="hidden" id="session_id"/> ... <smex id="telephone" sent="start_listening"> <param name="server">http://tel-svr/whatever</param> <bind targetElement="session_id" value="//sid"/> <bind targetElement="remote" value="//remote_addr"/> <bind targetElement="transfer" value="//transfer_addr"/> <bind targetElement="local" value="//local_addr"/> ... </smex>
【0251】この例は、受け取ったメッセージを処理す
るためにどのようにbind指示文を使用するかを示し
たものである。この例では、着信呼に関するメッセージ
が、コンテンツがそれぞれ着信呼のリモート、転送、お
よびローカルアドレスを表す、サブ要素remote_
addr、transfer_addr、およびloc
al_addrを有すると想定している。
【0252】この例では、電話サーバと通信するため
に、HTTPに基づく接続のないプロトコルが使用され
る。ここで電話サーバは、複数のブラウザインスタンス
と通信するように設計されるため、各クライアントは、
アプリケーションが開始されたときにサーバによって割
り当てられた固有のidでそれ自体を識別しなければな
らない。これは、この例では、サーバに「start_
listening」メッセージを送信することによっ
て達成されている。この例では、他の技法(たとえばク
ライアント側のクッキー)もセッション状態を管理する
のに使用できるが、Webサーバに返送して、アプリケ
ーションの次のページに渡すことのできるセッションi
dが隠しフィールドに格納される。recoの場合と同
様に、あらゆるプラットフォームメッセージに対してあ
らゆるbind指示文が実行されるわけではない。上記
の例は、着信呼がある場合に、固有のidが受け取られ
るだけであることを暗に示しているものではない。
【0253】7.1 プロパティ smexオブジェクトは、読取り/書込みプロパティの
みが初期値指定用の属性としての役割も果たせるよう
な、以下のプロパティを有することができる。 ・sent:読取り/書込みであって、プラットフォー
ム構成要素に送信されるメッセージに対応する文字列。
sentがlvalueとして使用される場合は必ず、
そのコンテンツがディスパッチ(dispatch)さ
れる。プロパティがrvalueとして使用される場
合、またはこのプロパティにnullオブジェクトが割
り当てられる場合は無効である。 ・received:読取り専用であって、受け取った
メッセージを示すXML DOM Nodeデータ。メ
ッセージは、次のonReceiveイベントの送信準
備ができるまで、rvalueとして使用可能となる。 ・timer:読取り/書込みであって、タイムアウト
イベントがトリガされるまでの時間を示す、ミリ秒単位
の数。プロパティに正の値が割り当てられると、クロッ
クは時間刻みを開始する。カウントダウンの進行中に、
値を変更することができる。ゼロまたは負の値は、タイ
ムアウトイベントをトリガせずにクロックを停止させ
る。デフォルトの値は0であり、タイムアウトがないこ
とを意味する。 ・status:読取り専用であって、オブジェクトの
最近の状況を示す整数。可能な値は0、−1、および−
2であって、それぞれ、正常、タイムアウト満了、なら
びにプラットフォームとの通信が確立できないかまたは
中断された、という意味である。プラットフォーム特有
のエラーメッセージは、receivedプロパティを
介して搬送されなければならない。エラーメッセージが
首尾よく送達された場合、statusコードは0であ
る。
【0254】7.2 イベント オブジェクトには以下のイベントがある。 ・onReceive:このイベントは、プラットフォ
ームメッセージが到達したときに送信される。bind
要素によって宣言されたなんらかの指示文がある場合、
それらの指示文は、イベントが開始される前に第1に評
価される。送信の前に、receivedプロパティが
更新される。 ・onError:このイベントは、タイムアウトが満
了したとき、または通信リンクエラーに遭遇したときに
送信される。このイベントが送信されると、statu
sプロパティは、前述のように対応するエラーコードで
更新される。
【0255】7.3 子要素 要素の形態を想定する場合、smexは以下の子要素を
有することができる。 ・bind:受け取ったメッセージ上で指示文が動作し
ている場合を除き、recoの場合と同様。 ・param:recoの場合と同様に、smexオブ
ジェクトにプラットフォーム特有のパラメータを提供す
る。各param要素には、「name」属性を使用し
て命名することが可能であり、param要素のコンテ
ンツがパラメータの値である。一実施形態では、要素
は、名前スペースおよびXMLデータタイプ宣言用の標
準XML属性を理解しなければならない。
【0256】7.4 他の注釈 ロギング関数用にSMEXを拡張する的確な方法の1つ
は、次のようになる。 <smex id="logServer" ...> ... </smex> <script> function logMesseage(logClass, message) { logServer.sent = logClass + "|" + message; } </script>
【0257】これは、実際には、動作がカスタマイズ可
能な(グローバル)関数を使用してオブジェクトを拡張
するものである。上記の例では、ロギング関数は、id
とメッセージとの間にフィールドセパレータ「|」を挿
入するようにプログラムされる。
【0258】グローバル関数を好まない人の場合、EC
MAScriptの「prototype」プロパティ
を使用して、オブジェクトメソッドとして関数を付け加
えることができる。たとえば、以下のようになる。 <smex id="logServer" onload="addFunction()"> ... </smex> <script> function my_logMessage(logClass, message) { logServer.sent = logClass + "|" + message; } function addFunction() { logServer.prototype.logMessage = my_logMessage; } </script>
【0259】よりオブジェクト指向の強い方法での関数
は、以下のように表すことができる。
【0260】すべての必要な機構はすでに標準で確立さ
れているが、上記の例に示すように、拡張作業を実行す
るための作業がsmexオブジェクト実施者からさらに
要求されることに留意されたい。
【図面の簡単な説明】
【図1】コンピューティングデバイスの動作環境の第1
の実施形態を表す平面図である。
【図2】図1のコンピューティングデバイスの構成図で
ある。
【図3】電話の平面図である。
【図4】汎用コンピュータの構成図である。
【図5】クライアント/サーバシステム用のアーキテク
チャを示す構成図である。
【図6】クレジットカード情報を取得するための画面を
示す図である。
【図7】クライアント側で実行可能なマークアップ言語
のページを示す図である。
【図8】表示および音声認識機能を有する、クライアン
ト側で実行可能なマークアップ言語のページ例を示す図
である。
【図9】可聴提示専用および主導権がシステムにある、
クライアント側で実行可能なマークアップ言語のページ
例を示す図である。
【図10】可聴提示専用および主導権がシステムにあ
る、クライアント側で実行可能なマークアップ言語のペ
ージ例を示す図である。
【図11】可聴提示専用および主導権が混合の、クライ
アント側で実行可能なマークアップ言語のページ例を示
す図である。
【図12】可聴提示専用および主導権が混合の、クライ
アント側で実行可能なマークアップ言語のページ例を示
す図である。
【図13】サーバ側プラグインモジュールによって実行
可能なスクリプトの例を示す図である。
【図14】認証サーバの第1の動作モードを示す絵画図
である。
【図15】認証サーバの第2の動作モードを示す絵画図
である。
【図16】認証サーバの第3の動作モードを示す絵画図
である。
【図17】スクリプトなしでクライアント側で実行可能
な宣言型マークアップ言語のページ例を示す図である。
【図18】スクリプトなしでクライアント側で実行可能
な宣言型マークアップ言語のページ例を示す図である。
【符号の説明】
80 単純な電話 202 Webサーバ 204 音声サーバ 205 インターネット 208 PSTN 210 第三者VoIP 211 音声などのReco 212 電話音声ブラウザ 214 メディアサーバ(リモート可聴オブジェクト) 216 IE音声ブラウザ 307 TTS 309 構文解析装置 320 ASP+ページ音声可能制御/テンプレート 324 ダイアログ制御
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウァン クァンサン アメリカ合衆国 98006 ワシントン州 ベルビュー サウスイースト 48 コート 16470 (72)発明者 ホン シャオ−ウェン アメリカ合衆国 98006 ワシントン州 ベルビュー サウスイースト 58 プレイ ス 17797 Fターム(参考) 5D015 KK03 5E501 AA03 AA04 AB03 BA05 BA11 CB04 CB05 CB06 CB08 CB09 CB10 CB13 CB15 CC17 EA21 FA04

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 クライアント/サーバシステム中のクラ
    イアントデバイスで実行するためのマークアップ言語を
    有するコンピュータ読取り可能媒体であって、前記マー
    クアップ言語が、クライアントデバイスを介して入力さ
    れた入力と関連付けるための文法を示す命令を含むこと
    を特徴とするコンピュータ読取り可能媒体。
  2. 【請求項2】 文法を示す前記命令が、前記文法の場所
    の参照を提供することを特徴とする請求項1に記載のコ
    ンピュータ読取り可能媒体。
  3. 【請求項3】 前記文法が、音声認識、手書き認識、ジ
    ェスチャ認識、および視覚認識のうち1つのためのもの
    であることを特徴とする請求項1に記載のコンピュータ
    読取り可能媒体。
  4. 【請求項4】 文法を示す前記命令が、音声認識のため
    の文法の参照を含むことを特徴とする請求項3に記載の
    コンピュータ読取り可能媒体。
  5. 【請求項5】 前記マークアップ言語が、認識された音
    声に関連する認識結果を受け取り、前記結果を前記クラ
    イアントデバイス上にあるデータフィールドに関連付け
    るための命令を含むことを特徴とする請求項1に記載の
    コンピュータ読取り可能媒体。
  6. 【請求項6】 認識結果を受け取るための前記命令が、
    前記認識結果を複数のデータフィールドに関連付けるこ
    とを特徴とする請求項8に記載のコンピュータ読取り可
    能媒体。
  7. 【請求項7】 前記マークアップ言語が、前記音声が認
    識されなかったとき聞き取れるように指示するための命
    令を含むことを特徴とする請求項1に記載のコンピュー
    タ読取り可能媒体。
  8. 【請求項8】 前記入力がテキスト文字列を含むことを
    特徴とする請求項1に記載のコンピュータ読取り可能媒
    体。
  9. 【請求項9】 前記マークアップ言語が、前記テキスト
    文字列を他の構成要素から受け取るための命令を含むこ
    とを特徴とする請求項8に記載のコンピュータ読取り可
    能媒体。
  10. 【請求項10】 前記マークアップ言語が、前記テキス
    ト文字列を処理するために前記文法を関連付けることを
    特徴とする請求項9に記載のコンピュータ読取り可能媒
    体。
  11. 【請求項11】 実施されたときに、 入力データ用のフィールドを有するWebサーバからマ
    ークアップ言語ページを受け取るステップと、 ユーザから前記フィールドに関する入力を受け取るステ
    ップと、 前記入力を示すデータおよび認識用の文法の指示を送信
    するステップとを含むステップを実行することによって
    コンピュータに情報を処理させるコンピュータ読取り可
    能命令を含むことを特徴とするコンピュータ読取り可能
    媒体。
  12. 【請求項12】 前記指示が、前記文法の場所の参照を
    提供することを特徴とする請求項11に記載のコンピュ
    ータ読取り可能媒体。
  13. 【請求項13】 前記指示が、音声認識用の言語の参照
    を含むことを特徴とする請求項12に記載のコンピュー
    タ読取り可能媒体。
  14. 【請求項14】 クライアント/サーバネットワークで
    の認識のための方法であって、 クライアントデバイスとは異なるネットワーク上のアド
    レスにあるWebサーバから、ネットワークに接続され
    たクライアントデバイス上に入力データ用のフィールド
    を有するマークアップ言語ページを受け取るステップ
    と、 前記クライアントデバイス上のフィールドに関するユー
    ザから入力を受け取るステップ、および前記入力を示す
    データおよび認識用の文法の指示を、前記クライアント
    デバイスとは異なるネットワーク上のアドレスにある認
    識サーバに送信するステップとを含むことを特徴とする
    方法。
  15. 【請求項15】 前記データを送信する前に、前記入力
    を示す前記データを標準化するステップをさらに含むこ
    とを特徴とする請求項14に記載の方法。
  16. 【請求項16】 認識された音声に関連する認識結果を
    受け取り、前記結果を前記クライアントデバイス上にあ
    るデータフィールドに関連付けるステップをさらに含む
    ことを特徴とする請求項41に記載の方法。
  17. 【請求項17】 クライアント/サーバシステム中のク
    ライアントデバイスで実行するためのマークアップ言語
    を有するコンピュータ読取り可能媒体であって、前記マ
    ークアップ言語が、認識用の属性または方法を有するオ
    ブジェクトモデルを示す命令を含むことを特徴とするコ
    ンピュータ読取り可能媒体。
  18. 【請求項18】 前記要素が、音声認識、手書き認識、
    ジェスチャ認識、DTMF認識、および視覚認識のうち
    1つのためのものであることを特徴とする請求項17に
    記載のコンピュータ読取り可能媒体。
  19. 【請求項19】 前記要素が、認識用の文法の指示を含
    むことを特徴とする請求項17に記載のコンピュータ読
    取り可能媒体。
  20. 【請求項20】 前記要素が、認識などのテキスト文字
    列を受け取って処理することに関連することを特徴とす
    る請求項19に記載のコンピュータ読取り可能媒体。
  21. 【請求項21】 前記テキスト文字列を他の構成要素か
    ら受け取る第2のオブジェクトモデルをさらに含むこと
    を特徴とする請求項20に記載のコンピュータ読取り可
    能媒体。
  22. 【請求項22】 クライアント/サーバシステム中のク
    ライアントデバイスで実行するためのマークアップ言語
    を有するコンピュータ読取り可能媒体であって、前記マ
    ークアップ言語が、聞き取れるようにプロンプティング
    するための属性または方法を有するオブジェクトモデル
    を示す命令を含むことを特徴とするコンピュータ読取り
    可能媒体。
  23. 【請求項23】 前記マークアップ言語が、HTML、
    XHTML、cHTML、XML、およびWMLのうち
    1つを含むことを特徴とする請求項22に記載のコンピ
    ュータ読取り可能媒体。
  24. 【請求項24】 前記マークアップ言語が、スクリプテ
    ィング言語を含むことを特徴とする請求項22に記載の
    コンピュータ読取り可能媒体。
  25. 【請求項25】 前記マークアップ言語が、合成された
    マークアップ言語を含むことを特徴とする請求項22に
    記載のコンピュータ読取り可能媒体。
JP2002131950A 2001-05-04 2002-05-07 Webで使用可能な認識のためのマークアップ言語拡張部 Pending JP2003131772A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US28904101P 2001-05-04 2001-05-04
US60/289,041 2001-05-04
US09/960,233 US20020178182A1 (en) 2001-05-04 2001-09-20 Markup language extensions for web enabled recognition
US09/960,233 2001-09-20
US10/117,141 2002-04-05
US10/117,141 US7610547B2 (en) 2001-05-04 2002-04-05 Markup language extensions for web enabled recognition

Publications (1)

Publication Number Publication Date
JP2003131772A true JP2003131772A (ja) 2003-05-09

Family

ID=27381939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002131950A Pending JP2003131772A (ja) 2001-05-04 2002-05-07 Webで使用可能な認識のためのマークアップ言語拡張部

Country Status (4)

Country Link
US (1) US7610547B2 (ja)
EP (1) EP1255194A3 (ja)
JP (1) JP2003131772A (ja)
CN (1) CN1392473B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005025760A (ja) * 2003-07-03 2005-01-27 Microsoft Corp 逐次マークアップ言語およびオブジェクト指向開発ツールの結合使用
JP2006268832A (ja) * 2005-03-22 2006-10-05 Microsoft Corp 選択可能な状態機械ユーザインターフェースシステム
JP2009059378A (ja) * 2001-10-21 2009-03-19 Microsoft Corp ダイアログを目的とするアプリケーション抽象化のための記録媒体及び方法
US8160883B2 (en) 2004-01-10 2012-04-17 Microsoft Corporation Focus tracking in dialogs
US8224650B2 (en) 2001-10-21 2012-07-17 Microsoft Corporation Web server controls for web enabled recognition and/or audible prompting

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330815B1 (en) * 1999-10-04 2008-02-12 Globalenglish Corporation Method and system for network-based speech recognition
US7610547B2 (en) 2001-05-04 2009-10-27 Microsoft Corporation Markup language extensions for web enabled recognition
US7506022B2 (en) 2001-05-04 2009-03-17 Microsoft.Corporation Web enabled recognition architecture
US7409349B2 (en) 2001-05-04 2008-08-05 Microsoft Corporation Servers for web enabled speech recognition
US7249019B2 (en) * 2002-08-06 2007-07-24 Sri International Method and apparatus for providing an integrated speech recognition and natural language understanding for a dialog system
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
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
WO2004045154A1 (en) 2002-11-13 2004-05-27 Intel Corporation Multi-modal web interaction over wireless network
EP1455282A1 (en) * 2003-03-06 2004-09-08 Alcatel Markup language extension enabling speech recognition for controlling an application
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
US8311835B2 (en) * 2003-08-29 2012-11-13 Microsoft Corporation Assisted multi-modal dialogue
US20050137878A1 (en) * 2003-09-11 2005-06-23 Voice Signal Technologies, Inc. Automatic voice addressing and messaging methods and apparatus
US7552055B2 (en) 2004-01-10 2009-06-23 Microsoft Corporation Dialog component re-use in recognition systems
JP3984988B2 (ja) 2004-11-26 2007-10-03 キヤノン株式会社 ユーザインタフェース設計装置およびその制御方法
JP2006155035A (ja) * 2004-11-26 2006-06-15 Canon Inc ユーザインタフェースの構築方法
US20080004881A1 (en) * 2004-12-22 2008-01-03 David Attwater Turn-taking model
US8725514B2 (en) 2005-02-22 2014-05-13 Nuance Communications, Inc. Verifying a user using speaker verification and a multimodal web-based interface
US7945853B2 (en) * 2005-09-12 2011-05-17 Microsoft Corporation Script markup
US7739589B2 (en) * 2005-11-02 2010-06-15 International Business Machines Corporation Extending markup of a browser using a plug-in framework
US8639515B2 (en) * 2005-11-10 2014-01-28 International Business Machines Corporation Extending voice-based markup using a plug-in framework
US7451922B2 (en) * 2005-12-30 2008-11-18 At&T Intellectual Property, I, L.P. Methods, systems and computer program products for electronic identification card creation and transfer during real time communications
DE102006002604A1 (de) * 2006-01-13 2007-07-19 Deutsche Telekom Ag Verfahren und System zur Durchführung einer Datentelekommunikation
US7817782B1 (en) * 2006-03-10 2010-10-19 At&T Intellectual Property Ii, L.P. System and method to support a telecommunication device for the deaf (TDD) in a voice over internet protocol (VoIP) network
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
US8635069B2 (en) 2007-08-16 2014-01-21 Crimson Corporation Scripting support for data identifiers, voice recognition and speech in a telnet session
US8050928B2 (en) * 2007-11-26 2011-11-01 General Motors Llc Speech to DTMF generation
CN101257538B (zh) * 2008-03-25 2010-09-29 华为技术有限公司 一种在浏览器中处理请求的方法、装置
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
US8831950B2 (en) * 2008-04-07 2014-09-09 Nuance Communications, Inc. Automated voice enablement of a web page
US8869015B2 (en) * 2008-05-08 2014-10-21 Dialogic (Us) Inc. System and method to permit language independence for web interfaces
US7958442B2 (en) * 2008-05-08 2011-06-07 Dialogic Corporation System and method to permit language independence for web interfaces
EP2329404B1 (en) * 2008-09-05 2018-04-04 Thomson Licensing DTV Method and system for dynamic play list modification
US20110166862A1 (en) * 2010-01-04 2011-07-07 Eyal Eshed System and method for variable automated response to remote verbal input at a mobile device
CN101847407B (zh) * 2010-03-12 2013-01-02 中山大学 一种基于xml的语音识别参数处理方法
US9263045B2 (en) 2011-05-17 2016-02-16 Microsoft Technology Licensing, Llc Multi-mode text input
US9336187B2 (en) * 2012-05-14 2016-05-10 The Boeing Company Mediation computing device and associated method for generating semantic tags
US9495965B2 (en) * 2013-09-20 2016-11-15 American Institutes For Research Synthesis and display of speech commands method and system
US20150336786A1 (en) * 2014-05-20 2015-11-26 General Electric Company Refrigerators for providing dispensing in response to voice commands
US10033797B1 (en) 2014-08-20 2018-07-24 Ivanti, Inc. Terminal emulation over HTML
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
US11100278B2 (en) 2016-07-28 2021-08-24 Ivanti, Inc. Systems and methods for presentation of a terminal application screen
CN110289016A (zh) * 2019-06-20 2019-09-27 深圳追一科技有限公司 一种基于实时对话的语音质检方法、装置及电子设备
US10614800B1 (en) 2019-08-19 2020-04-07 Voicify, LLC Development of voice and other interaction applications
US10762890B1 (en) 2019-08-19 2020-09-01 Voicify, LLC Development of voice and other interaction applications
US11508365B2 (en) 2019-08-19 2022-11-22 Voicify, LLC Development of voice and other interaction applications

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695828A (ja) * 1992-09-14 1994-04-08 Toshiba Corp 音声入力システム
JPH08223309A (ja) * 1995-02-17 1996-08-30 Nec Corp 音声入力ネットワークサービスシステム
JPH10111698A (ja) * 1996-10-07 1998-04-28 Mitsubishi Electric Corp 音声対話システム
JPH10240493A (ja) * 1997-01-06 1998-09-11 Texas Instr Inc <Ti> Javaへ音声認識能力を加えるシステムと方法
JPH11305983A (ja) * 1998-04-23 1999-11-05 Victor Co Of Japan Ltd 音声制御画像スクリーン表示システム
JP2000003318A (ja) * 1998-06-15 2000-01-07 Ito Eiji 入力値確認および送返信項目指定方法
JP2000076040A (ja) * 1998-09-03 2000-03-14 Matsushita Electric Ind Co Ltd 音声入力ネットワーク端末装置
WO2000021232A2 (en) * 1998-10-02 2000-04-13 International Business Machines Corporation Conversational browser and conversational systems
JP2000112610A (ja) * 1998-09-30 2000-04-21 Victor Co Of Japan Ltd コンテンツ表示選択システム及びコンテンツ記録媒体
JP2000137596A (ja) * 1998-10-06 2000-05-16 Lucent Technol Inc 対話型音声応答システム
JP2001005485A (ja) * 1999-05-21 2001-01-12 Inf Storage Devices Inc 音声制御デバイスの活動化を向上させる方法および装置
JP2002524806A (ja) * 1998-09-09 2002-08-06 ワン ボイス テクノロジーズ インコーポレーテッド 音声認識および自然言語処理を使用したネットワーク用対話型ユーザ・インタフェース
JP2002525689A (ja) * 1998-09-22 2002-08-13 ノキア ネットワークス オサケ ユキチュア スピーチ認識システムを構成する方法及びシステム

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303327A (en) * 1991-07-02 1994-04-12 Duke University Communication test system
CA2115210C (en) * 1993-04-21 1997-09-23 Joseph C. Andreshak Interactive computer system recognizing spoken commands
US5566272A (en) * 1993-10-27 1996-10-15 Lucent Technologies Inc. Automatic speech recognition (ASR) processing using confidence measures
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
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
US5890123A (en) 1995-06-05 1999-03-30 Lucent Technologies, Inc. System and method for voice controlled video screen display
US5737489A (en) * 1995-09-15 1998-04-07 Lucent Technologies Inc. Discriminative utterance verification for connected digits recognition
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
US5819220A (en) 1996-09-30 1998-10-06 Hewlett-Packard Company Web triggered word set boosting for speech interfaces to the world wide web
US5797123A (en) 1996-10-01 1998-08-18 Lucent Technologies Inc. Method of key-phase detection and verification for flexible speech understanding
US5960399A (en) * 1996-12-24 1999-09-28 Gte Internetworking Incorporated Client/server speech processor/recognizer
US6188985B1 (en) 1997-01-06 2001-02-13 Texas Instruments Incorporated Wireless voice-activated device for control of a processor-based host system
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
US6192338B1 (en) 1997-08-12 2001-02-20 At&T Corp. Natural language knowledge servers as network resources
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
US6269336B1 (en) 1998-07-24 2001-07-31 Motorola, Inc. Voice browser for interactive services and methods thereof
WO2000005643A1 (en) 1998-07-24 2000-02-03 Motorola Inc. Markup language for interactive services and methods thereof
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
US6493671B1 (en) * 1998-10-02 2002-12-10 Motorola, Inc. Markup language for interactive services to notify a user of an event and methods thereof
US7003463B1 (en) 1998-10-02 2006-02-21 International Business Machines Corporation System and method for providing network coordinated conversational services
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
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
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
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
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
US6785649B1 (en) * 1999-12-29 2004-08-31 International Business Machines Corporation Text formatting from speech
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
AU2001263397A1 (en) 2000-05-24 2001-12-03 Stars 1-To-1 Interactive voice communication method and system for information and entertainment
US6717593B1 (en) 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
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
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
US20020107891A1 (en) 2001-02-06 2002-08-08 Leamon Andrew P. Device-independent content acquisition and presentation
GB0104120D0 (en) 2001-02-20 2001-04-11 Pace Micro Tech Plc Remote control
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
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
US7610547B2 (en) 2001-05-04 2009-10-27 Microsoft Corporation Markup language extensions for web enabled recognition
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
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
US20020010715A1 (en) 2001-07-26 2002-01-24 Garry Chinn System and method for browsing using a limited display device
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
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
US7660400B2 (en) 2003-12-19 2010-02-09 At&T Intellectual Property Ii, L.P. Method and apparatus for automatically building conversational systems

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0695828A (ja) * 1992-09-14 1994-04-08 Toshiba Corp 音声入力システム
JPH08223309A (ja) * 1995-02-17 1996-08-30 Nec Corp 音声入力ネットワークサービスシステム
JPH10111698A (ja) * 1996-10-07 1998-04-28 Mitsubishi Electric Corp 音声対話システム
JPH10240493A (ja) * 1997-01-06 1998-09-11 Texas Instr Inc <Ti> Javaへ音声認識能力を加えるシステムと方法
JPH11305983A (ja) * 1998-04-23 1999-11-05 Victor Co Of Japan Ltd 音声制御画像スクリーン表示システム
JP2000003318A (ja) * 1998-06-15 2000-01-07 Ito Eiji 入力値確認および送返信項目指定方法
JP2000076040A (ja) * 1998-09-03 2000-03-14 Matsushita Electric Ind Co Ltd 音声入力ネットワーク端末装置
JP2002524806A (ja) * 1998-09-09 2002-08-06 ワン ボイス テクノロジーズ インコーポレーテッド 音声認識および自然言語処理を使用したネットワーク用対話型ユーザ・インタフェース
JP2002525689A (ja) * 1998-09-22 2002-08-13 ノキア ネットワークス オサケ ユキチュア スピーチ認識システムを構成する方法及びシステム
JP2000112610A (ja) * 1998-09-30 2000-04-21 Victor Co Of Japan Ltd コンテンツ表示選択システム及びコンテンツ記録媒体
WO2000021232A2 (en) * 1998-10-02 2000-04-13 International Business Machines Corporation Conversational browser and conversational systems
JP2000137596A (ja) * 1998-10-06 2000-05-16 Lucent Technol Inc 対話型音声応答システム
JP2001005485A (ja) * 1999-05-21 2001-01-12 Inf Storage Devices Inc 音声制御デバイスの活動化を向上させる方法および装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059378A (ja) * 2001-10-21 2009-03-19 Microsoft Corp ダイアログを目的とするアプリケーション抽象化のための記録媒体及び方法
US7711570B2 (en) 2001-10-21 2010-05-04 Microsoft Corporation Application abstraction with dialog purpose
US8224650B2 (en) 2001-10-21 2012-07-17 Microsoft Corporation Web server controls for web enabled recognition and/or audible prompting
US8229753B2 (en) 2001-10-21 2012-07-24 Microsoft Corporation Web server controls for web enabled recognition and/or audible prompting
JP2005025760A (ja) * 2003-07-03 2005-01-27 Microsoft Corp 逐次マークアップ言語およびオブジェクト指向開発ツールの結合使用
US8160883B2 (en) 2004-01-10 2012-04-17 Microsoft Corporation Focus tracking in dialogs
JP2006268832A (ja) * 2005-03-22 2006-10-05 Microsoft Corp 選択可能な状態機械ユーザインターフェースシステム

Also Published As

Publication number Publication date
EP1255194A3 (en) 2007-05-02
US20020169806A1 (en) 2002-11-14
EP1255194A2 (en) 2002-11-06
CN1392473A (zh) 2003-01-22
US7610547B2 (en) 2009-10-27
CN1392473B (zh) 2010-04-28

Similar Documents

Publication Publication Date Title
JP2003131772A (ja) Webで使用可能な認識のためのマークアップ言語拡張部
US7711570B2 (en) Application abstraction with dialog purpose
US8229753B2 (en) Web server controls for web enabled recognition and/or audible prompting
US7409349B2 (en) Servers for web enabled speech recognition
US7506022B2 (en) Web enabled recognition architecture
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
CA2467220C (en) Semantic object synchronous understanding implemented with speech application language tags
RU2352979C2 (ru) Синхронное понимание семантических объектов для высокоинтерактивного интерфейса
US20040230637A1 (en) Application controls for speech enabled recognition
US20020178182A1 (en) Markup language extensions for web enabled recognition
US7729919B2 (en) Combining use of a stepwise markup language and an object oriented development tool
WO2007005185A2 (en) Speech application instrumentation and logging
JP4467226B2 (ja) ウェブ対応音声認識用サーバの方法および記録媒体
EP1255192B1 (en) Web enabled recognition architecture
EP2128757A2 (en) Markup language extensions for web enabled recognition

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050506

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050506

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080801

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081030

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100402