[go: up one dir, main page]

JP2003067177A - ウェブ対応認識アーキテクチャを有するシステムおよびその方法 - Google Patents

ウェブ対応認識アーキテクチャを有するシステムおよびその方法

Info

Publication number
JP2003067177A
JP2003067177A JP2002132053A JP2002132053A JP2003067177A JP 2003067177 A JP2003067177 A JP 2003067177A JP 2002132053 A JP2002132053 A JP 2002132053A JP 2002132053 A JP2002132053 A JP 2002132053A JP 2003067177 A JP2003067177 A JP 2003067177A
Authority
JP
Japan
Prior art keywords
recognition
server
client
client device
markup language
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
JP2002132053A
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,232 external-priority patent/US7506022B2/en
Priority claimed from US10/117,141 external-priority patent/US7610547B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2003067177A publication Critical patent/JP2003067177A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1698Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a sending/receiving arrangement to establish a cordless communication link, e.g. radio or infrared link, integrated cellular phone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)
  • Calculators And Similar Devices (AREA)

Abstract

(57)【要約】 【課題】 入力の認識を提供するのに使用されるウェブ
対応認識アーキテクチャを有するシステムに、統一した
アーキテクチャを持たせる。 【解決手段】 サーバ/クライアントシステムは、リモ
ートからアクセスすることのできる情報を有するウェブ
サーバ202を有するネットワークを含む。クライアン
トデバイスは、マイクロフォンと、スピーカまたはディ
スプレイなどのレンダリング構成要素とを含む。クライ
アントデバイスは、ウェブサーバ202から情報を入手
し、その情報中に含まれる、フィールドと関連付けられ
た入力データを記録するように構成し、また、認識に使
用する文法の指示とともに、入力データを遠隔位置に送
信するように適合する。認識サーバ204は、入力デー
タおよび文法の指示を受信し、また、何が認識されたか
を示すデータを、クライアントおよびウェブサーバの少
なくとも1つに戻す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、インターネットな
どのワイドエリアネットワークを介した情報のアクセス
に関する。より詳細には、本発明は、各種の方法を使用
してクライアント側で情報およびコントロールを入力す
ることを可能にするウェブ対応認識に関する。
【0002】
【従来の技術】人々が、個人情報マネジャ(PIM)、
デバイス、および携帯電話のような小型のコンピューテ
ィングデバイスを日常活動で使用する頻度は増す一方で
ある。現在では、こうしたデバイスを作動させるのに使
用されるマイクロプロセッサに利用できる処理能力が増
大したことにより、これらデバイスの機能性が高まって
おり、場合によっては機能を一体化している。例えば現
在、携帯電話の多くは、アドレス、電話番号などの個人
情報の記憶に使用できるだけでなく、インターネットの
アクセスおよびブラウズにも使用することができる。
【0003】こうしたコンピューティングデバイスをイ
ンターネットブラウズに使用し、あるいは他のサーバ/
クライアントアーキテクチャで使用することから、情報
をコンピューティングデバイスに入力することが必要と
なる。不都合なのは、携行を容易にするためにこうした
デバイスを可能な限り小さくしたいという要求があり、
利用可能なコンピューティングデバイス筐体の表面面積
が限られているために、アルファベットの全文字を個別
のボタンとして備える従来型のキーボードが通例は不可
能であることである。
【0004】最近、VoiceXML(音声拡張可能マ
ークアップ言語)の使用によるなどの音声ポータルが進
歩し、電話だけを使用してインターネットコンテンツに
アクセスすることが可能になっている。このアーキテク
チャでは、ドキュメントサーバ(例えばウェブサーバ)
が、VoiceXMLインタープリタを通じてクライア
ントからの要求を処理する。ウェブサーバはそれに応答
してVoiceXMLドキュメントを生成することがで
き、このドキュメントはVoiceXMLインタープリ
タによって処理し、ユーザに対して音声としてレンダリ
ングされる。ユーザは、音声認識を通じて音声コマンド
を使用することにより、ウェブをナビゲートすることが
できる。
【0005】VoiceXMLは、フロー制御タグを用
いるマークアップ言語であるが、フロー制御は、イベン
ティング(eventing)および個別のスクリプト
を含むHTML(ハイパーテキストマークアップ言語)
のフロー制御モデルには従わない。VoiceXMLは
一般に、電話ベースの音声のみの対話に特に適したフォ
ーム解釈アルゴリズムを含むが、このアルゴリズムでは
通例、ユーザから得られる情報をシステムまたはアプリ
ケーションによって制御する。グラフィカルユーザイン
タフェースも提供し、クライアント−サーバ関係で利用
することのできるアプリケーションにVoiceXML
を直接組み込むには、開発者は、2つの形態のウェブオ
ーサリングを習得する必要がある。すなわち、Voic
eXMLのオーサリングと、HTML(など)を使用し
たオーサリングであるが、これらはそれぞれ異なるフロ
ー制御モデルに従っている。
【0006】
【発明が解決しようとする課題】したがって、インター
ネットなどのサーバ/クライアントアーキテクチャで音
声認識を提供するのに使用されるアーキテクチャ、また
はその部分、および方法に改良を加えることが現在必要
とされている。音声認識用のオーサリングツールは、P
IM、電話などの小型のコンピューティングデバイスに
容易に適合できなければならない。前述の不利点の1
つ、いくつか、またはすべてに対処するウェブオーサリ
ングのアーキテクチャまたは方法が特に必要とされる。
他の入力方法が可能なアーキテクチャも有益であろう。
【0007】本発明は、このような課題に鑑みてなされ
たもので、その目的とするところは、インターネットな
どのサーバ/クライアントアーキテクチャで入力の認識
を提供するのに使用される、統一したアーキテクチャを
備えたウェブ対応認識アーキテクチャを有するシステム
およびその方法を提供することにある。
【0008】
【課題を解決するための手段】データ処理用のサーバ/
クライアントシステムは、リモートにアクセスできる情
報を含んだウェブサーバを有するネットワークを含む。
クライアントデバイスは、マイクロフォンと、スピーカ
またはディスプレイなどのレンダリング構成要素を含
む。クライアントデバイスは、ウェブサーバから情報を
入手して、その情報に含まれるフィールドと関連付けら
れた入力データを記録するように構成する。クライアン
トデバイスは、認識に使用する文法の指示とともに入力
データを遠隔位置に送信するように適合する。認識サー
バは入力データおよび文法の指示を受け取る。認識サー
バは、何が入力されたかを示すデータをクライアントお
よびウェブサーバの少なくとも1つに戻す。
【0009】
【発明の実施の形態】ウェブベース認識のアーキテクチ
ャおよびその実施方法を説明する前に、このアーキテク
チャで機能することが可能なコンピューティングデバイ
スについて全般的に説明しておくと有用であろう。本明
細書で図1を参照すると、データ管理デバイス(PI
M、PDAなど)の例示的形態が30に表されている。
ただし、本発明は、下記で論じるこの他のコンピューテ
ィングデバイス、特に入力ボタンなどを装備するには表
面積が限られたコンピューティングデバイスを使用して
実施することも企図している。例えば、電話および/ま
たはデータ管理デバイスも、本発明から利益を受けるこ
とができる。このようなデバイスは、既存の携帯個人情
報管理デバイスおよびその他の携帯電子デバイスと比較
して高いユーティリティを備え、そのデバイスの諸機能
とコンパクトなサイズにより、ユーザがデバイスを常に
携行することを促すと思われる。したがって、本明細書
に記載するアーキテクチャの範囲は、本明細書に記載す
る例示的なデータ管理デバイスまたはPIMデバイス、
電話機、またはコンピュータの開示によっては制限しな
いものとする。
【0010】データ管理モバイルデバイス30の例示的
な形態を図1に示す。モバイルデバイス30は筐体32
を含み、ディスプレイ34を含むユーザインタフェース
を有する。ユーザインタフェースには、スタイラス33
と合わせて接触感知式の表示画面を使用する。スタイラ
ス33は、指定された座標でディスプレイ34を押す、
またはディスプレイ34に接触して、フィールドを選択
し、カーソルの開始位置を選択的に移動するのに使用
し、あるいはジェスチャや手書きなどによる他の方法で
コマンド情報を提供するのに使用する。これに代えて、
あるいはこれに加えて、ナビゲーション用に1つまたは
複数のボタン35a、35b、35cをデバイス30上
に含むことができる。さらに、回転ホイール、ローラな
どの他の入力機構も提供することができる。ただし、本
発明は、これらの形態の入力機構によっては制限しない
ことに留意されたい。例えば、この他の形態の入力に
は、コンピュータビジョン(vision)を用いるな
どの視覚的な入力を含むことができる。
【0011】次いで図2を参照すると、モバイルデバイ
ス30を構成する機能構成要素をブロック図で示してい
る。中央演算処理装置(CPU)50は、ソフトウェア
制御機能を実施する。CPU50はディスプレイ34に
結合され、制御ソフトウェアに従って生成されるテキス
トおよびグラフィックアイコンが、ディスプレイ34に
表示される。スピーカ43を、通例はデジタルからアナ
ログに変換する変換器59とともにCPU50に結合
し、音声による出力を提供することができる。ユーザが
モバイルデバイス30にダウンロードまたは入力したデ
ータは、CPU50と双方向に結合した不揮発性の読み
出し/書き込みランダムアクセスメモリ記憶装置54に
記憶する。ランダムアクセスメモリ(RAM)54は、
CPU50が実行する命令の揮発性の記憶、およびレジ
スタ値など一時的なデータの記憶を提供する。構成オプ
ションや他の変数のデフォルト値は、読み出し専用メモ
リ(ROM)58に記憶する。ROM58は、モバイル
30の基本機能、およびその他のオペレーティングシス
テムカーネル機能(例えばソフトウェアコンポーネント
をRAM54にロードするなど)を制御する、デバイス
用のオペレーティングシステムソフトウェアの記憶にも
使用することができる。
【0012】RAM54は、アプリケーションプログラ
ムの記憶に使用するPCのハードドライブ機能と同様の
方式で、コードの記憶機構としても機能する。不揮発性
メモリをコードの記憶に使用しているが、コードは代わ
りに、コードの実行には使用されない揮発性メモリに記
憶することも可能であることに留意されたい。
【0013】無線信号は、CPU50に結合された無線
トランシーバ52を通じて、モバイルデバイスによって
送信/受信することができる。所望の場合には、コンピ
ュータ(例えばデスクトップコンピュータ)から、ある
いは配線式ネットワークから直接データをダウンロード
するために、任意選択の通信インタフェース60を提供
することもできる。したがって、インタフェース60
は、例えば赤外線リンク、モデム、ネットワークカード
など、様々な通信装置の形態を備えることができる。
【0014】モバイルデバイス30は、マイクロフォン
29、アナログ/デジタル(A/D)変換器37、およ
び記憶装置54に記憶された任意選択の認識プログラム
(音声、DTMF、手書き、ジェスチャ、またはコンピ
ュータ画像)を含む。一例として、デバイス30のユー
ザからの音声による情報、命令、またはコマンドに応答
して、マイクロフォン29が音声信号を提供し、それを
A/D変換器37でデジタル化する。音声認識プログラ
ムは、デジタル化した音声信号に正規化および/または
特徴抽出機能を行って、中間の音声認識結果を得る。無
線トランシーバ52または通信インタフェース60を使
用して、下記で説明し、図5のアーキテクチャに表すリ
モートの認識サーバ204に音声データを送信する。そ
の後認識結果をモバイルデバイス30に戻して、そこで
レンダリング(例えば視覚的かつ/または可聴的に)を
行い、最終的にウェブサーバ202(図5)に送信する
が、本明細書でウェブサーバ202とモバイルデバイス
30はクライアント/サーバ関係で動作している。これ
と同様の処理を、他の形態の入力にも使用することがで
きる。例えば、手書き入力を、デバイス30での前処理
により、または前処理によらずにデジタル化することが
できる。音声データと同様に、この形態の入力も認識の
ために認識サーバ204に送信することができ、認識結
果が、デバイス30および/またはウェブサーバ202
の少なくともどちらかに戻される。同様に、DTMFデ
ータ、ジェスチャデータ、および視覚データも同じよう
に処理することができる。入力形態に応じて、デバイス
30(および下記で説明する他の形態のクライアント)
は、カメラや視覚入力など必要なハードウェアを含む。
【0015】図3は、携帯電話80の一例示的実施形態
の平面図である。電話機80は、ディスプレイ82およ
びキーパッド84を含む。一般に、図2のブロック図は
図3の電話機にも該当するが、他機能を行うために必須
の追加回路が必要になることもある。例えば、図3の実
施形態には、電話としての動作に必須のトランシーバが
必要になるが、このような回路は本発明には関連しな
い。
【0016】上記の携帯式またはモバイル型のコンピュ
ーティングデバイス以外にも、本発明は、一般的なデス
クトップコンピュータなど数多くの他のコンピューティ
ングデバイスにも使用できることが理解されよう。例え
ば、身体能力が限られたユーザにとって完全な英数文字
キーボードなど他の従来型の入力装置の操作が困難であ
る場合に、本発明は、そのようなユーザがコンピュータ
または他のコンピューティングデバイスにテキストを入
力することを可能にする。
【0017】本発明はまた、数多くの他の汎用または特
殊目的のコンピューティングシステム、環境、または構
成での動作が可能である。本発明とともに使用するのに
適した周知のコンピューティングシステム、環境、およ
び/または構成の例には、従来型の(regular)
電話(画面を備えない)、パーソナルコンピュータ、サ
ーバコンピュータ、携帯用デバイスまたはラップトップ
デバイス、マルチプロセッサシステム、マイクロプロセ
ッサベースのシステム、セットトップボックス、プログ
ラマブル家庭用電化製品、ネットワークPC、ミニコン
ピュータ、メインフレームコンピュータ、上記のシステ
ムまたはデバイスなどのうち任意のものを含む分散型コ
ンピューティング環境が含まれるがこれらに限定するも
のではない。
【0018】以下は、図4に示す汎用コンピュータ12
0の簡単な説明である。ただし、この場合もコンピュー
タ120は、適切なコンピューティング環境の一例に過
ぎず、本発明の使用または機能性の範囲に関して何らの
制限を示唆するものではない。また、コンピュータ12
0は、この図に示す構成要素のいずれか、またはその組
合せに関する依存性や要件を有するものとも解釈すべき
ではない。
【0019】本発明は、プログラムモジュールなどコン
ピュータで実行するコンピュータ実行可能命令の一般的
な状況で説明することができる。一般に、プログラムモ
ジュールには、特定タスクを実行する、または特定の抽
象データタイプを実施する、ルーチン、プログラム、オ
ブジェクト、コンポーネント、データ構造などが含まれ
る。本発明はまた、通信ネットワークを通じてリンクし
た遠隔処理装置によってタスクを実行する分散型コンピ
ューティング環境でも実施することができる。分散型コ
ンピューティング環境では、プログラムモジュールは、
メモリ記憶装置を含む、ローカルおよびリモートどちら
のコンピュータ記憶媒体に置いてもよい。以下で、図面
の助けを借りて、プログラムおよびモジュールによって
実行するタスクを説明する。当業者は、この説明および
図面をプロセッサ実行可能命令として実施することがで
き、この命令はどの形態のコンピュータ読み取り可能な
記録媒体にも書き込むことができる。
【0020】図4を参照すると、コンピュータ120の
構成要素には、プロセッサ140、システムメモリ15
0、およびシステムメモリを含む各種システム構成要素
をプロセッサ140に結合するシステムバス141が含
まれるが、これらに限定しない。システムバス141
は、メモリバスまたはメモリコントローラ、周辺バス、
および各種バスアーキテクチャのうち任意のものを使用
したローカルバスを含む数種のバス構造のうち任意のも
のでよい。このようなアーキテクチャには、例えば、I
SA(Industry Standard Arch
itecture)バス、USB(Universal
Serial Bus)、MCA(Micro Ch
annel Architecture)バス、EIS
A(Enhanced ISA)バス、VESA(Vi
deo ElectronicsStandards
Association)ローカルバス、およびメザニ
ンバスとしても知られるPCI(Peripheral
Component Interconnect)バ
スが含まれるがこれらに限定するものではない。コンピ
ュータ120は、通例、各種のコンピュータ読み取り可
能な記録媒体を含んでいる。コンピュータ読み取り可能
な記録媒体は、コンピュータ120からアクセスするこ
とができる任意の利用可能な媒体でよく、これには揮発
性および不揮発性媒体、リムーバルおよび取外し不能媒
体が含まれる。例えば、コンピュータ読み取り可能な記
録媒体は、コンピュータ記憶媒体および通信媒体を含む
ことができるがこれらに限定しない。コンピュータ記憶
媒体には、コンピュータ可読命令、データ構造、プログ
ラムモジュール、またはその他のデータなどの情報を記
憶するための任意の方法または技術に実施された、揮発
性および不揮発性、リムーバルおよび取外し不能媒体が
含まれる。コンピュータ記憶媒体には、RAM、RO
M、EEPROM、フラッシュメモリ、または他のメモ
リ技術、CD−ROM、デジタル多用途ディスク(DV
D)、またはその他の光ディスク記憶、磁気カセット、
磁気テープ、磁気ディスク記憶または他の磁気記憶装
置、あるいは所望の情報の記憶に使用することができ、
コンピュータ120からアクセスすることが可能な任意
の他の媒体が含まれるがこれらに限定するものではな
い。
【0021】通信媒体は、通例、搬送波または他の搬送
機構などの変調データ信号中のコンピュータ可読命令、
データ構造、プログラムモジュール、または他のデータ
を実施し、また任意の情報伝達媒体を含む。用語「変調
データ信号」とは、情報を信号中に符号化するような方
式で、その特性の1つまたは複数を設定または変更した
信号を意味する。例として、通信媒体には、配線式ネッ
トワークまたは直接配線接続などの配線式媒体、および
音響、FR、赤外線、および他の無線媒体などの無線媒
体が含まれるが、これらに限定しない。上記の媒体の任
意の組合せも、コンピュータ読み取り可能な記録媒体の
範囲に含むものとする。
【0022】システムメモリ150は、読み出し専用メ
モリ(ROM)151およびランダムアクセスメモリ
(RAM)152などの揮発性および/または不揮発性
メモリの形態でコンピュータ読み取り可能な記録媒体を
含む。起動時などにコンピュータ120中の要素間の情
報の転送を助ける基本ルーチンを含んだ基本入出力シス
テム153(BIOS)は、通例ROM151に記憶す
る。RAM152は、通例、プロセッサ140から即座
にアクセスすることができ、かつ/またはプロセッサ1
40が現在操作しているデータおよび/またはプログラ
ムモジュールを含む。例として、図4にはオペレーティ
ングシステム154、アプリケーションプログラム15
5、他のプログラムモジュール156、およびプログラ
ムデータ157を示しているが、これらに限定しない。
【0023】コンピュータ120は、他のリムーバル/
取外し不能、揮発性/不揮発性のコンピュータ読み取り
可能な記録媒体も含むことができる。図4には、取外し
不能、不揮発性の磁気媒体との読み出しまたは書き込み
を行うハードディスクドライブ161、リムーバル、不
揮発性の磁気ディスク172との読み出しまたは書き込
みを行う磁気ディスクドライブ171、およびCD R
OMや他の光媒体などのリムーバル、不揮発性の光ディ
スク176との読み出しまたは書き込みを行う光ディス
クドライブ175を示すが、これらは例にすぎない。こ
の例示的動作環境で使用できる、この他のリムーバル/
取外し不可能、揮発性/不揮発性のコンピュータ記憶媒
体には、磁気テープカセット、フラッシュメモリカー
ド、デジタル多用途ディスク、デジタルビデオテープ、
ソリッドステートRAM、ソリッドステートROMなど
が含まれるがこれらに限定しない。ハードディスクドラ
イブ161は、通例、インタフェース160など取外し
不能のメモリインタフェースを通じてシステムバス14
1に接続し、磁気ディスクドライブ171および光ディ
スクドライブ175は通例、インタフェース170など
のリムーバルメモリインタフェースによってシステムバ
ス141に接続する。
【0024】上記で説明し、図4に示すドライブおよび
それに関連するコンピュータ記憶媒体は、コンピュータ
120のコンピュータ可読命令、データ構造、プログラ
ムモジュール、およびその他のデータの記憶を提供す
る。例えば、図4では、ハードディスクドライブ161
は、オペレーティングシステム164、アプリケーショ
ンプログラム165、他のプログラムモジュール16
6、およびプログラムデータ167を記憶するものとし
て示している。これらのコンポーネントは、オペレーテ
ィングシステム154、アプリケーションプログラム1
55、他のプログラムモジュール156、およびプログ
ラムデータ157と同じものでも、異なるものでもよい
ことに留意されたい。本明細書では、オペレーティング
システム164、アプリケーションプログラム165、
他のプログラムモジュール166、およびプログラムデ
ータ167が少なくとも異なるコピーであることを示す
ために、これらに異なる番号を与えている。
【0025】ユーザは、キーボード182、マイクロフ
ォン183、およびマウスやトラックボール、タッチパ
ッドなどのポインティングデバイス181などの入力装
置を通じて、コンピュータ120にコマンドおよび情報
を入力することができる。この他の入力装置(図示せ
ず)には、ジョイスティック、ゲームパッド、衛星放送
受信アンテナ、スキャナなどが含まれる。これらの入力
装置およびこの他の入力装置は、多くの場合、システム
バスに結合したユーザ入力インタフェース180を通じ
てプロセッサ140に接続するが、パラレルポート、ゲ
ームポート、あるいはユニバーサルシリアルバス(US
B)など他のインタフェースおよびバス構造によって接
続することもできる。モニタ184または他種の表示装
置も、ビデオインタフェース185などのインタフェー
スを介して、システムバス141に接続する。コンピュ
ータは、モニタ以外にも、スピーカ187およびプリン
タ186など他の周辺出力装置も含むことができ、これ
らは出力周辺インタフェース188を通じて接続するこ
とができる。
【0026】コンピュータ120は、リモートコンピュ
ータ194など1つまたは複数のリモートコンピュータ
への論理接続を使用するネットワーク化環境で動作する
ことができる。リモートコンピュータ194は、パーソ
ナルコンピュータ、携帯用デバイス、サーバ、ルータ、
ネットワークPC、ピアデバイス、または他の一般的な
ネットワークノードでよく、通例は上記でコンピュータ
120との関連で説明した要素の多くまたはすべてを含
む。図4に示す論理接続には、ローカルエリアネットワ
ーク(LAN)191およびワイドエリアネットワーク
(WAN)193が含まれるが、この他のネットワーク
を含んでもよい。このようなネットワーキング環境は、
オフィス、企業規模のコンピュータネットワーク、イン
トラネット、およびインターネットで一般的に見られ
る。
【0027】LANネットワーキング環境で使用する場
合、コンピュータ120は、ネットワークインタフェー
スすなわちアダプタ190を通じてLAN191に接続
する。WANネットワーキング環境で使用する場合、コ
ンピュータ120は通例モデム192か、またはインタ
ーネットなどのWAN193を介して通信を確立するた
めの他の手段を含む。モデム192は、内蔵型でも外付
け式でもよく、ユーザ入力インタフェース180または
他の適切な機構を介してシステムバス141に接続する
ことができる。ネットワーク環境では、コンピュータ1
20との関連で図示するプログラムモジュール、または
その一部をリモートのメモリ記憶装置に記憶することが
できる。例として図4に、リモートアプリケーションプ
ログラム195をリモートコンピュータ194に常駐す
るものとして示しているが、これに限定しない。図のネ
ットワーク接続は例示的なものであり、コンピュータ間
に通信リンクを確立する他の手段を使用してよいことは
理解されよう。
【0028】図5に、本発明で実施することのできるウ
ェブベース認識のアーキテクチャ200を示す。一般
に、ウェブサーバ202に記憶された情報には、モバイ
ルデバイス30(本明細書では、入力の形態に基づき、
適宜、表示画面、マイクロフォン、カメラ、タッチセン
シティブパネルなどを有する他形態のコンピューティン
グデバイスをも表す)を通じて、または情報を音声によ
り、またはキーを押すのに応答して電話機80が生成す
るトーンを通じて要求する電話機80を通じてアクセス
することができる。電話機の場合には、ウェブサーバ2
02からの情報を音声のみによりユーザに提供する。
【0029】より重要なのは、情報をデバイス30を通
じて得るか、または音声認識を用いて電話機80を通じ
て得るかに関係なく、単一の認識サーバ204がどちら
の動作モードもサポートすることができる点でアーキテ
クチャ200が統一されていることである。さらに、ア
ーキテクチャ200は、周知のマークアップ言語(例え
ばHTML、XHTML、cHTML、XML、WML
など)の拡張を使用して動作する。したがって、ウェブ
サーバ202に記憶された情報には、これらのマークア
ップ言語で使用される周知のGUI方式を用いてアクセ
スすることもできる。周知のマークアップ言語の拡張を
使用することにより、ウェブサーバ202でのオーサリ
ングが容易になり、現在存在するレガシーアプリケーシ
ョンも、音声認識を含むように容易に修正することがで
きる。
【0030】一般に、デバイス30は、ウェブサーバ2
02が提供するHTMLページ、スクリプトなどを実行
する。一例として、音声(voice)認識が必要な場
合には、デジタル化したオーディオ信号または音声特徴
などの音声データ(オーディオ信号は上記のようにデバ
イス30で前処理する)を、音声認識中に使用する文法
または言語モデルの指示とともに、認識サーバ204に
提供する。認識サーバ204の実施態様は多くの形態を
とることが可能であり、そのうちの1つを図示したが、
一般にはレコグナイザ211を含む。認識の結果は、所
望の場合、または適切な場合にはローカルのレンダリン
グのためにデバイス30に戻される。認識と、使用する
場合には任意のグラフィカルユーザインタフェースとを
通じて情報を編集すると、必要な場合には、デバイス3
0はその情報をウェブサーバ202に送信し、そこでさ
らに処理を行い、さらにHTMLページ/スクリプトを
受信する。
【0031】図5に示すように、デバイス30、ウェブ
サーバ202、および認識サーバ204は共通に(co
mmonly)接続されており、また本明細書ではイン
ターネットなどのワイドエリアネットワークであるネッ
トワーク205を通じて個別にアドレス指定することが
できる。したがって、これらの装置はいずれも物理的に
相互に近接して配置する必要はない。特に、ウェブサー
バ202が認識サーバ204を含む必要はない。この方
式によると、ウェブサーバ202におけるオーサリング
を、それが行うべきアプリケーションに集中させること
ができ、オーサ(author)は認識サーバ204の
複雑性を知る必要がない。認識サーバ204は、独自に
設計してネットワーク205に接続することができ、そ
れによりウェブサーバ202でさらに変更を行わなくと
も更新および改良することができる。下記で説明するよ
うに、ウェブサーバ202は、クライアント側のマーク
アップおよびスクリプトを動的に生成することのできる
オーサリング機構も含むことができる。別の実施形態で
は、実装マシンの能力に応じて、ウェブサーバ202、
認識サーバ204、およびクライアント30を組み合わ
せることができる。
【0032】例えば、クライアントがパーソナルコンピ
ュータなどの汎用コンピュータを含む場合には、クライ
アントは認識サーバ204を含むことができる。同様
に、所望の場合には、ウェブサーバ202および認識サ
ーバ204を単一マシンに組み込むことが可能である。
【0033】クライアントデバイスに関して、クライア
ント/サーバシステムで入力データを処理する方法は、
クライアントデバイスのユーザから入力データを得るよ
うに構成された拡張を有するマークアップ言語ページを
サーバから受信することと、クライアントデバイスでマ
ークアップ言語ページを実行することと、入力データ
(ユーザから得た音声、DTMF、手書き、ジェスチ
ャ、または画像を表す)およびそれに関連する文法をク
ライアントからリモートに位置する認識サーバに送信す
ることと、認識サーバからの認識結果をクライアントで
受信することとを含む。クライアント/サーバシステム
のクライアントデバイスで実行するマークアップ言語を
有するコンピュータ読み取り可能な記録媒体を提供する
ことができ、このマークアップ言語は、そのクライアン
トデバイスで入力される入力データと関連付ける文法を
指示する命令を有する。
【0034】電話機80を通じたウェブサーバ202へ
のアクセスには、配線式または無線式の電話網208へ
の電話機80の接続が含まれ、この電話網が電話機80
をサードパーティのゲートウェイ210に接続する。ゲ
ートウェイ210は、電話機80を電話音声ブラウザ2
12に接続する。電話音声ブラウザ212は、電話イン
タフェースを提供するメディアサーバ214と、音声ブ
ラウザ216を含む。デバイス30と同様に、電話音声
ブラウザ212は、ウェブサーバ202からHTMLペ
ージ/スクリプトなどを受信する。より重要なのは、こ
れらのHTMLページ/スクリプトが、デバイス30に
提供されるHTMLページ/スクリプトと同様の形態で
あることである。この方式によると、ウェブサーバ20
2は、デバイス30と電話機80を個別にサポートする
必要がなく、さらには標準的なGUIクライアントを個
別にサポートする必要もない。むしろ、共通のマークア
ップ言語を使用することができる。さらに、デバイス3
0と同様に、電話機80から送信される可聴信号からの
音声認識は、ネットワーク205、または例えばTCP
/IPを使用する専用回線207を通じて、音声ブラウ
ザ216から認識サーバ204に提供される。ウェブサ
ーバ202、認識サーバ204、および電話音声ブラウ
ザ212は、図4に示す汎用デスクトップコンピュータ
など任意の適切なコンピューティング環境に実施するこ
とができる。
【0035】ただしDTMF認識を用いる場合は、この
形態の認識は、一般的には認識サーバ204ではなくメ
ディアサーバ214で行うことに留意されたい。すなわ
ち、メディアサーバでDTMF文法を使用することにな
る。
【0036】HTML、XHTML、cHTML、XM
L、WMLなどのマークアップ言語、または他のSGM
L由来のマークアップを用いるマークアップ言語は、ク
ライアント/サーバアーキテクチャで認識を提供するコ
ントロールおよび/またはオブジェクトを含むことがで
きる。この方式では、オーサが、このようなアーキテク
チャで使用される主流のウェブ開発プラットフォームで
あるこれらのマークアップ言語に、すべてのツールと専
門知識を活用することができる。
【0037】一般に、コントロールおよび/またはオブ
ジェクトには、次の機能の1つまたは複数を含むことが
できる。レコグナイザの構成、レコグナイザの実行、お
よび/または後処理のためのレコグナイザコントロール
および/またはオブジェクト;シンセサイザの構成およ
びプロンプト再生のためのシンセサイザコントロールお
よび/またはオブジェクト;入力文法リソースを指定す
る文法コントロールおよび/またはオブジェクト;およ
び/または、認識結果を処理するためのバインドコント
ロールおよび/またはオブジェクト。拡張は、軽量のマ
ークアップレイヤになるように設計し、これにより、聴
覚、視覚、手書きなどによるインタフェースの能力を既
存のマークアップ言語に付加する。したがって、拡張は
次のものには依存しない。例えばHTMLなど拡張が含
まれる高レベルページ;例えばテキストから音声へのフ
ォーマットや文法フォーマットなど、言語リソースへの
リファレンスにその拡張が使用した低レベルフォーマッ
ト;および認識サーバ204で使用する認識プラットフ
ォーム、および音声合成プラットフォームの個々の属
性。
【0038】認識に適したコントロールおよび/または
オブジェクトを有するマークアップを説明する前に、本
発明でHTMLマークアップ言語とともに実施する簡単
なGUIの例を考察しておくと有用であると思われる。
図6を参照すると、簡単なGUIインタフェースは、オ
ンライン販売を完了するためにクレジットカード情報を
ウェブサーバに提出することを含む。この例では、クレ
ジットカード情報は、Visa、MasterCar
d、あるいはAmerican Expressなど、
使用するクレジットカードの種類を入力するフィールド
250を含む。第2のフィールド252はクレジットカ
ード番号の入力を可能にし、第3のフィールド254は
有効期限の入力を可能にする。フィールド250、25
2、および254に入力した情報を送信するための「提
出」ボタン264が提供される。
【0039】図7は、クライアントから上述のクレジッ
トカード情報を得るためのHTMLコードを示してい
る。一般に、このような形態のマークアップ言語で一般
的なように、コードは本体部分260とスクリプト部分
262を含む。本体部分260は、実行するアクション
のタイプ、使用するフォーム、各種の情報フィールド2
50、252、および254を指定するコードの行を含
み、また提出ボタン264(図6)用のコードも含む。
この例は、イベントサポートと、埋め込まれたスクリプ
トホスティングも表しており、提出ボタン264が起動
されると、スクリプト部分262で関数「verif
y」が呼び出され、または実行される。「verif
y」関数は、各クレジットカード(Visa、Mast
erCard、American Express)の
カード番号の長さが適切な長さであることを確認する。
【0040】図8は、音声認識を使用してウェブサーバ
204に提供するクレジットカード情報を得るための、
図6と同じGUIを生成するクライアントマークアップ
を表している。音声認識については下記で図8〜16と
の関連で説明するが、本明細書で説明する技術は、手書
き認識、ジェスチャ認識、および画像認識にも同様に応
用できることを理解されたい。
【0041】一般に、エクステンション(拡張;一般に
は「タグ」としても知られる)はXML要素の小セット
であり、関連する属性およびDOMオブジェクトプロパ
ティ、イベント、およびメソッドを含み、ソースマーク
アップドキュメントと合わせて使用することにより、認
識インタフェース、DTMFまたは呼制御をソースペー
ジに適用する。エクステンションの形式(formal
ity)および意味(semantics)はソースド
キュメントの性質に依存しないので、エクステンション
は、HTML、XHTML、cHTML、XML、WM
Lで、あるいは任意の他のSGML由来のマークアップ
とともに等しく効果的に使用することができる。エクス
テンションは、階層的にすることが可能な新しい機能オ
ブジェクトまたは要素を提供するドキュメントオブジェ
クトモデルに従う。各要素については付録中で詳細に説
明するが、一般に、要素には属性、プロパティ、メソッ
ド、イベント、および/または他の「子」要素を含むこ
とができる。
【0042】本明細書で、エクステンションは、ブラウ
ザを実行するデバイスの機能に応じて、異なる2つの
「モード」で解釈できることにも留意されたい。第1の
モード「オブジェクトモード」では、全機能を利用する
ことができる。アプリケーションによるエクステンショ
ンのプログラム上の操作は、そのデバイスのブラウザが
使用可能にするどの機構でも実行することができる。こ
れには、例えば、XHTMLブラウザにおけるJScr
iptインタープリタや、WMLブラウザにおけるWM
LScriptインタープリタなどがある。この理由か
ら、エクステンションのコアプロパティおよびメソッド
の小セットだけを定義すればよく、これらは、デバイス
すなわちクライアント側に存在する任意のプログラム機
構によって操作される。オブジェクトモードは、イベン
ティングおよびスクリプティングを提供し、またより多
くの機能を提供して、ダイアログのオーサに、音声対話
に対するより細かなクライアント側におけるコントロー
ルを与えることができる。本明細書で使用する場合、フ
ルイベントおよびスクリプティングをサポートするブラ
ウザを「アップレベルブラウザ」と呼ぶ。この形のブラ
ウザは、エクステンションのすべての属性、プロパテ
ィ、メソッド、およびイベントをサポートする。アップ
レベルブラウザは、通例、より高い処理能力を持つデバ
イスで使用される。
【0043】エクステンションは、「宣言モード」でも
サポートすることができる。本明細書で使用する場合、
宣言モードで動作するブラウザを「ダウンレベルブラウ
ザ」と呼び、これは完全なイベンティングおよびスクリ
プティング機能はサポートしない。代わりにこの形のブ
ラウザは、所与のエクステンションの宣言的側面(すな
わちコア要素および属性)をサポートするが、DOM
(ドキュメントオブジェクトモデル)オブジェクトのプ
ロパティ、メソッド、およびイベントのすべてはサポー
トしない。このモードは専ら宣言構文だけを用い、さら
に、SMIL(同期化マルチメディア統合言語)2.0
などの宣言マルチメディア同期化および協調機構(同期
マークアップ言語)と併せて使用することができる。ダ
ウンレベルブラウザは、通例、処理能力が限られたデバ
イスで使用される。
【0044】ここで、特定の入力モードについて論じて
おきたい。詳細には、音声認識を、少なくともディスプ
レイと併せて、そして別の実施形態ではポインティング
デバイスとも併せて使用して、データ入力フィールドを
指定すると特に有用である。具体的には、このモードの
データ入力では、ユーザは一般に、いつフィールドを選
択し、それに対応する情報を提供するかを制御すること
ができる。例えば、図6の例では、ユーザはまずフィー
ルド252にクレジットカード番号を入力し、次いでフ
ィールド250にクレジットカードの種類を入力し、最
後にフィールド254に有効期限日を入力することがで
きる。同様に、ユーザは、所望の場合にはフィールド2
52に戻り、誤った入力を訂正することもできる。下記
で説明するように音声認識と組み合わせると、平易で自
然なナビゲーション形態が提供される。本発明で使用す
る場合、フィールドを自由な形で選択することを可能に
する画面表示と、音声認識の両方を使用するこの形の入
力を「マルチモーダル」と呼ぶ。
【0045】再び図8を参照すると、HTMLマークア
ップ言語のコードが示されている。図7に示すHTML
コードと同様に、このコードも、本体部分270および
スクリプト部分272を含んでいる。また図7に示すコ
ードと同様に、図8に示すコードは、フォームの位置お
よび実行するアクションのタイプに関する指示を含む。
フィールド250、252、および254それぞれへの
情報の入力は、各々コード部分280、282、および
284によって制御または実行する。初めにコード部分
280を参照すると、例えばデバイス30のスタイラス
33を使用してフィールド250を選択すると、イベン
ト「onClick」が開始され、これによりスクリプ
ト部分272の関数「talk」が呼び出されるか、ま
たは実行される。このアクションは、一般にフィールド
250に予想されるデータタイプと関連付けられた、音
声認識で使用する文法を起動する。複数の入力技術(例
えば音声とペンクリック/ローラ)を使用するこの種の
対話を「マルチモーダル」と呼ぶ。
【0046】図8に例示する音声認識エクステンション
は、クライアントのブラウザにおいてデフォルトの視覚
表現を有さないことに留意されたい。これは、多くのア
プリケーションでは、オーサが、アプリケーション仕様
のグラフィック機構をソースページで使用することによ
り、ページの各種コンポーネントの音声使用可能を知ら
せることを想定しているためである。それでも、視覚的
な表現が望ましい場合には、エクステンションをそのよ
うに修正することができる。
【0047】再び文法を参照すると、この文法は、文脈
自由文法、N文法、ハイブリッド文法などの構文文法で
あるがこれらに限定しない。(言うまでもなく、それに
対応する形態の認識を利用する際には、DTMF文法、
手書き文法、ジェスチャ文法、および画像文法を使用す
る。本明細書で使用する場合、「文法」とは認識を行う
ための情報を含み、別の実施形態では、例えば特定のフ
ィールドに入力されることが予想される入力に対応する
情報を含む。)マークアップ言語の最初のエクステンシ
ョンを含む新しいコントロール290(本明細書では
「reco」と識別する)は様々な要素を含むが、その
うち2つを図に示す。すなわち文法要素「gramma
r」と「bind」要素である。一般に、ウェブサーバ
202からクライアントにダウンロードするコードと同
様に、文法はウェブサーバ202を発信元とし、クライ
アントにダウンロードするか、かつ/または音声処理の
ためにリモートサーバに転送することができる。文法は
次いで、そのキャッシュでローカルで記憶することがで
きる。最終的に、文法は認識に使用するために認識サー
バ204に提供する。文法要素は、インライン文法、ま
たは属性を使用して参照する文法を指定するのに使用す
る。
【0048】認識を行った音声、手書き、ジェスチャ、
画像などに対応する認識結果を認識サーバ204から受
け取ると、recoコントロール290の構文を提供し
てそれに対応する結果を受け取り、それを対応フィール
ドと関連付けるが、これにはその中のテキストをディス
プレイ34でレンダリングすることを含んでもよい。本
明細書に例示する実施形態では、音声認識が終了し、結
果をクライアントに送り返すと、クライアントはrec
oオブジェクトを非活動化して、認識済みのテキストを
それに対応するフィールドと関連付ける。コード部分2
82および284もこれと同様に動作し、フィールド2
52および254ごとに固有のrecoオブジェクトお
よび文法を呼び出し、認識されたテキストを受け取る
と、それをフィールド252および254とそれぞれ関
連付ける。カード番号フィールド252の受信について
は、関数「handle」が、上記で図7との関連で説
明したのと同様の方式で、カードの種類からカード番号
の長さを確認する。
【0049】一般に、アーキテクチャ200およびクラ
イアント側のマークアップ言語と併せた音声認識の使用
は、次のように行われる。まず、与える音声と関連付け
られたフィールドを指示する。図の実施形態ではスタイ
ラス33を使用するが、本発明はスタイラス33の使用
に限定するものではなく、ボタン、マウスポインタ、回
転ホイールなど任意形態の指示を使用できることは理解
されよう。周知のように、視覚的なマークアップ言語を
使用して、「onClick」などそれに対応するイベ
ントを提供することができる。本発明は、音声、手書
き、ジェスチャなどのコマンドの開始を指示するのに、
「onClick」イベントの使用だけに限定しない。
「onSelect」など、任意の利用可能なGUIも
同じ目的に使用することができる。一実施形態では、こ
のようなイベンティングは、それに対応する音声の開始
および/または終わりの両方を示す役割を果たすので、
特に有用である。また、音声の対象とするフィールド
は、ユーザの対話を追跡するブラウザ上で実行されるプ
ログラムによっても、ユーザによっても指定できること
に留意されたい。
【0050】ここで注意したいのは、異なる音声認識シ
ナリオには、認識サーバ204の異なる振る舞いおよび
/または出力が必要となることである。認識プロセスの
開始はすべての場合に標準的なものであり、すなわちア
ップレベルブラウザからの明示的なstart( )の
呼び出しであり、あるいはダウンレベルブラウザでは宣
言的な<reco>要素であるが、音声認識を中止する
手段は異なる可能性がある。
【0051】上記の例では、マルチモーダルアプリケー
ションのユーザは、例えば圧力を感知するディスプレイ
を軽く叩き、接触状態を保持することにより、デバイス
への入力を制御する。するとブラウザは、例えば「pe
n−up」などのGUIイベントを使用して、認識をい
つ中止するかを制御し、その後それに対応する結果を戻
す。ただし、電話アプリケーション(下記で説明する)
あるいは手を使用せずに済むアプリケーションといった
音声のみのシナリオでは、ユーザはブラウザに対する直
接的な決定権は一切持たず、認識サーバ204またはク
ライアント30が、いつ認識を中止して結果を戻すか
(通例は、文法中のパスを認識した時点)を決定する責
任を負わなければならない。さらに、認識を中止する前
に中間の結果を戻す必要があるディクテーションや他の
シナリオ(「オープンマイクロフォン」としても知られ
る)の場合には、明示的な中止機能が必要とされるだけ
でなく、認識プロセスを中止する前に複数の認識結果を
クライアント30および/またはウェブサーバ202に
戻す必要もある。
【0052】一実施形態では、Reco要素は、下記の
3つの認識モードを区別する「mode」属性を含むこ
とができ、これにより認識サーバ204に、いつどのよ
うに結果を戻すかを命令する。結果を戻すことは、「o
nReco」イベントを提供する、または「bind」
要素を適宜起動することを意味する。一実施形態では、
モードを指定しない場合、デフォルトの認識モードは
「自動」にすることができる。
【0053】図14は、音声認識の「自動」モードの動
作を図式的に表したものである(他の形態の認識にもこ
れと同様のモード、イベントなどを提供することができ
る)。スケジュール281は、認識サーバ204にいつ
認識の開始283を指示するか、認識サーバ204がど
こで音声を検出し(285)、その音声が終了したこと
(287)を判定するかを表している。
【0054】Reco要素の各種の属性は、認識サーバ
204の振る舞いを制御する。属性「initialT
imeout」289は、認識の開始283から音声の
検出285までの間の時間である。この期間を超える
と、「onSilence」イベント291が認識サー
バ204から提供され、認識が中止されたことを知らせ
る。認識サーバ204が、発声が認識不可能であると識
別した場合は、「onNoReco」イベント293を
発行するが、これも認識を中止したことを示す。
【0055】認識を中止またはキャンセルすることがで
きる他の属性には、「babbleTimeout」属
性295があるが、これは285の音声の検出後に認識
サーバ204が結果を戻さなければならない期間であ
る。この期間を超えると、エラー発生の有無に応じて異
なるイベントが発行される。例えば、例外的に発声が長
い場合など、認識サーバ204がなおオーディオの処理
を行っている場合は、「onNoReco」属性293
を発行する。しかし他の何らかの理由で「babble
Timeout」属性295を超えた場合は、認識エラ
ーの可能性が高くなり、「onTimeout」イベン
ト297が発行される。同様に「maxTimeou
t」属性299も提供することができ、これは、認識の
開始283から結果をクライアント30に戻すまでの期
間である。この期間を超えると、「onTimeou
t」イベント297が発行される。
【0056】ただし、「endSilence」属性3
01以上の期間を超えた場合、これは認識が完了してい
ることを示唆するが、この場合は認識サーバ204が自
動的に認識を中止し、その結果を戻す。認識サーバ20
4は、信頼度の測定を実施して、認識結果を戻すべきか
どうかを判定できることに留意されたい。信頼度の測定
値が閾値を下回る場合は、「onNoReco」属性2
93を発行し、一方信頼度の測定値が閾値を上回る場合
は、「onNoReco」属性303および認識結果を
発行する。したがって図14は、「自動モード」で、明
示的なstop( )の呼び出しが行われていない状況
を表している。
【0057】図15は、認識サーバ204の「シングル
モード」の動作を図式的に表したものである。「自動モ
ード」との関連で上記で説明した属性およびイベントを
適用することができ、したがって同じ参照番号で示して
いる。しかし、この動作モードでは、stop( )呼
び出し305を、スケジュール281上に示している。
stop( )呼び出し305は、ユーザによる「ペン
アップ」などのイベントに相当する。この動作モードで
は、認識結果を戻すことは、明示的なstop( )呼
び出し305によって制御される。すべての動作モード
の場合と同じく、「onSilence」イベント29
1は、「initialTimeout」期間289内
に音声が検出されない場合に発行されるが、この動作モ
ードでは認識を中止しない。同様に、stop( )呼
び出し305以前の認識不可能な発声によって生成され
る「onNoReco」イベント293によっても認識
は中止されない。ただし、「babbleTimeou
t」属性295または「maxTimeout」属性2
99と関連付けられた期間を超えた場合は、認識を中止
する。
【0058】図16は、認識サーバ204の「複数モー
ド」の動作を図式的に表している。上記で指摘したよう
に、この動作モードは、「オープンマイクロフォン」ま
たはディクテーションのシナリオで使用する。一般に、
この動作モードでは、明示的なstop( )呼び出し
305が受け取られるか、または「babbleTim
eout」性295または「maxTimeout」属
性299に関連付けられた期間を超えるまで、間隔を置
いて認識結果を戻す。ただし、「onSilence」
イベント291、「onReco」イベント303、ま
たは「onNoReco」イベント293のいずれかが
発生すると、これらによって認識は中止されないが、
「babbleTimeout」期間および「maxT
imeout」期間のタイマがリセットされることに留
意されたい。
【0059】一般に、この動作モードでは、stop
( )呼び出し305が受け取られるまで、認識される
フレーズごとに、「onReco」イベント303を発
行し、結果を戻す。認識不可能な発声のために「onS
ilence」イベント291が発行された場合は、こ
れらのイベントを報告するが、認識は継続する。
【0060】上記で触れたように、フィールドに関連付
けられた1つまたは複数のrecoオブジェクトを起動
するが、これには、少なくともどの文法を使用するかに
ついての指示を認識サーバ204に提供することが含ま
れる。この情報は、クライアント30で記録して認識サ
ーバ204に送信した音声データを伴うことができる。
上記で指摘したように、音声データは、ユーザが入力し
た音声に関連づけられたストリーミングデータを含むこ
とができ、あるいは音声認識中に使用する音声の特徴を
示す、前処理済みの音声データを含むことができる。別
の実施形態では、クライアント側の処理に音声データの
正規化も含むことができ、認識サーバ204が受け取る
音声データが、クライアントごとに比較的均質になるよ
うにする。これにより認識サーバ204の音声処理が簡
略化され、認識サーバを、クライアントおよび通信経路
のタイプにステートレスにすることができるので、認識
サーバ204のスケーラビリティをより容易にすること
ができる。
【0061】認識サーバ204から認識結果を受け取る
と、その認識結果を対応するフィールドと関連付け、必
要な場合はクライアント側で確認またはチェックを行う
ことができる。現在クライアントがレンダリングしてい
るコードと関連付けられたすべてのフィールドを完了す
ると、アプリケーション処理のためにその情報をウェブ
サーバ202に送信する。前述の内容から、ウェブサー
バ202は、認識に適したコードまたはページ/スクリ
プトをクライアント30に提供しているが、認識サービ
スはウェブサーバ202によっては行われず、認識サー
バ204によって行われることが明白であろう。ただ
し、本発明は、認識サーバ204をウェブサーバ202
とまとめて配置する、または認識サーバ204をクライ
アント30の一部とするような実施を排除するわけでは
ない。すなわち、本明細書で提供するエクステンション
は、認識サーバ204をウェブサーバ202またはクラ
イアント30と組み合わせた場合でも有用である。これ
は、エクステンションが、これら構成要素間に単純かつ
利便なインタフェースを提供するからである。
【0062】図8に示す実施形態には示していないが、
recoコントロールは、適切な音声データを認識サー
バ204に導くためのリモートオーディオオブジェクト
(RAO)も含むことができる。RAOをプラグインオ
ブジェクトにすることによる利益は、サウンドインタフ
ェースが異なる可能性が高いことから、異なるデバイス
またはクライアントそれぞれに異なるRAOを可能にす
ることである。さらに、リモートオーディオオブジェク
トにより、複数のreco要素を同時に起動することが
可能になる。
【0063】図9および10は、本発明でページ/スク
リプトを含むHTMLとして実施する音声のみによるマ
ークアップ言語を示す。図に明瞭に示すように、このコ
ードも本体部分300およびスクリプト部分302を含
んでいる。マークアップ言語の別のエクステンション、
すなわちバージインなどの属性を含むプロンプトコント
ロール303がある。ただし、図9および10の音声の
みの実施形態では、音声認識を別の方式で行う。この場
合は、プロセス全体を、未入力(unfilled)の
フィールドを判定し、かつそれに対応するプロンプトお
よび新しいオブジェクトを起動するスクリプト関数「c
heckFilled」によって制御する。しかし、上
記で図8との関連で説明したのと同じコンテクストを使
用して文法を起動し、音声データおよび使用する文法の
指示を認識サーバ204に提供する。同様に、認識サー
バ204から受け取った出力を、クライアント(この場
合は電話音声ブラウザ212)のフィールドと関連付け
る。
【0064】一般に音声のみのアプリケーションに固有
の他の機能は、音声が認識されなかった際にユーザにそ
れを知らせることである。図8のようなマルチモーダル
のアプリケーションでは、「onNoReco」は、表
示されるフィールドに単にヌル値を入れて、認識が行わ
れなかったことを示すので、それ以上の動作は必要とさ
れない。音声のみの実施形態では、「onNoRec
o」305は関数「mumble」を呼び出し、または
実行する。この関数は、単語のフレーズを認識サーバ2
04に転送し、このフレーズは適切なテキストから音声
に変換するシステム307(図5)を使用して音声に変
換される。認識サーバ204は、オーディオストリーム
を電話音声ブラウザ212に戻し、次いでユーザが聴く
ためにそれを電話機80に送信する。同様に、音声のみ
のアプリケーションに実施するこの他の波形プロンプト
も、必要な場合には認識サーバ204によりオーディオ
ストリームに変換する。
【0065】この例では、関数「welcome」を介
してwelcomeプロンプトを再生すると、関数「c
heckFilled」がユーザに各フィールドを指示
し、適切な文法を起動する。これには、入力されたフィ
ールドを反復して、その情報が正しいことを確認するこ
とが含まれ、また「confirmation」文法の
起動が含まれる。この実施形態では、各recoコント
ロールは、先の例の本体部分ではなくて、スクリプト部
分302から開始されることに留意されたい。
【0066】マークアップ言語は、異なるタイプのクラ
イアントデバイス(例えば、マルチモーダル、および電
話機のような非表示式、音声入力ベースのクライアント
デバイス)で実行することができ、各クライアントデバ
イスと対話するウェブサーバのために、音声に関連する
イベント、GUIイベント、および電話イベントのうち
少なくとも1つを統一する。これは、ウェブサーバアプ
リケーションのかなりの部分を、汎用的に、あるいはク
ライアントデバイスのタイプに依存せずに書くことを可
能にするので特に有用である。「handle」関数を
含む一例を図8、および図9、10に示す。
【0067】図9、10には示していないが、このマー
クアップ言語には、電話機能をサポートするエクステン
ションがさらに2つある。すなわち、DTMF(デュア
ルトーン変調周波)制御と、呼制御の要素またはオブジ
ェクトである。DTMFは、recoコントロールと同
様の働きをする。これは、キーパッドストリングからテ
キスト入力への単純な文法マッピングを指定する。例え
ば、「1」は食料品部門を意味し、「2」は薬品部門を
意味するなどである。一方、呼オブジェクトは、呼の転
送や第三者の呼出しのような電話機能を扱う。属性、プ
ロパティ、メソッド、イベントについては付録で詳細に
説明する。
【0068】図11および12は、音声のみの動作モー
ドに適したマークアップ言語のさらに別の例を示す。こ
の実施形態では、ユーザは、情報をいつ入力するか、ま
たは話すかに関してある程度の制御権を有することがで
きる。言い換えると、このシステムでは、発話を開始さ
せるか、あるいはその他の方法で発話を開始するように
ユーザに指示することができるが、ユーザは当初要求さ
れるよりも多くの情報を提供することができる。これ
は、「混合主導型」の一例である。一般に、この形のダ
イアログ対話では、ユーザはダイアログの主導権をシス
テムと分かち合うことができる。上記で触れ、下記で詳
細に説明する、ユーザがプロンプトに要求されるよりも
多くの情報を提供する例のほかにも、ユーザはその指示
がないときにタスクを切り替えることもできる。
【0069】図11および12の例では、「do_fi
eld」と識別する文法は、文法「g_card_ty
pes」、「g_card_num」、および「g_e
xpiry_date」と関連付けられた情報を含む。
この例では、電話音声ブラウザ212は、「onRec
o」として示す認識済みの音声を受け取ると、電話機8
0から受け取った音声データと、「do_field」
文法の使用の指示を認識サーバ204に送信し、関数
「handle」が呼び出され、または実行されるが、
これには音声データから認識されたフィールドの一部ま
たはすべての値を関連付けることが含まれる。すなわ
ち、認識サーバ204から得る結果は、各フィールドに
ついての指示も含んでいる。この情報は構文解析し、4
05で指定されるバインド規則に従って対応するフィー
ルドと関連付ける。図5に示すように、認識サーバ20
4はパーサ309を含むことができる。
【0070】図7、8、9、10、11、および12か
ら、非常に類似したウェブ開発フレームワークを使用す
る。データの提示も、これらの各場合で非常に類似して
いる。さらに、データ提示とフロー制御を分離すること
により、異なるアプリケーション(システム主導型と混
合主導型)間、または異なるモダリティ間(GUIウェ
ブベース、音声のみ、およびマルチモーダル)での再使
用性を最大限にすることができる。また、これにより、
電話機がディスプレイおよびデバイス30と同様の機能
を含む場合に、音声のみの動作から電話、そしてマルチ
モーダル動作への自然な拡張が可能になる。付録Aで
は、以上で説明したコントロールおよびオブジェクトの
詳細をさらに提供する。
【0071】上記で指摘したように、アップレベルブラ
ウザは、上記の例で認識結果を割り当てるために関数
「handle」を起動するなど、各種のニーズを実行
するためにスクリプティングを使用することができる。
上記で説明し、付録Aの2.1.2にさらに説明する実
施形態では、「bind」要素は認識結果を構文解析
し、値を割り当てるが、この「bind」要素は「re
co」要素の下位要素または子要素である。
【0072】スクリプティングは有用でありうるが、多
くの者は、例えばセキュリティ問題などから必ずしも最
良のブラウザ実装形態であるとは限らないと見ている。
したがって、本発明のさらに別の実施形態または態様で
は、「bind」要素は(「reco」同様の)高レベ
ル要素であり、他のより豊富なプロパティとともに提供
され、実際、それ自体ではスクリプティングを用いずに
スクリプティングを実際に模倣することができる。
【0073】スクリプティングを用いない場合、あるい
は下記で述べる本発明の態様を使用しない場合、高度な
ダイアログ効果など下記で述べる機能の一部は、ページ
を再度ウェブサーバ202に提出し、そこでアプリケー
ションロジックを実行して新しいページを生成し、その
ページを再びクライアントデバイスに送信することによ
ってのみ実現することができる。本発明のこの態様によ
り、プログラマは、サーバへのラウンドトリップを招く
(incur)ことなく、そのページのオブジェクトの
メソッドを起動することができる。
【0074】上記の実施形態では、「bind」要素
は、認識結果をフォーム中またはウェブページ中のフィ
ールドに割り当てるための属性「TargetElem
ent」および「TargetAttribute」し
か有さない。別の実施形態では、「bind」要素は、
オブジェクトメソッドの起動のために加える「Targ
etMethod」も含む。「TargetMetho
d」の使用および機能は、スクリプティングの模倣にと
って非常に重要な技術である。例えば、次の構文を使用
して、オブジェクト「OBJ1」の「X」メソッドを起
動することができる。<bind TargetElement = "OBJ1" T
argetMethod = "X" ...>ここに示す例はHTML/XH
TMLのイベント構文に従っているが、当業者にとって
は、<bind>の使用を一般化して、他のイベンティ
ング機構を使用することは平易であることに留意された
い。他のイベンティング機構には、W3Cドキュメント
オブジェクトモデルレベル2またはレベル3のイベンテ
ィング規格、ECMA共通言語基盤(CLI)イベント
モデル、Java(登録商標)プログラミング言語イベ
ントモデル、W3C同期マルチメディア統合言語(SM
IL)、および近く登場するW3CのXMLイベント規
格提案が含まれるが、これらに限定するものではない。
【0075】図17および18は、クライアント、特に
ダウンレベルブラウザで実行可能なマークアップ言語の
ページである。この例では、音声プロンプトを通じてユ
ーザに希望する飲料を尋ねている。このシステムは次い
で、どの飲料が注文されたかを確認する。認識結果に応
じて、「bind」要素は、宣言した論理を使用して実
行を導く。飲料を確認すると、そのフォームをウェブサ
ーバ202に再度提出するが、これらにスクリプティン
グは一切用いない。
【0076】一般に、図17および18のマークアップ
例は、データ部分350、音声部分352、およびユー
ザインタフェース部分354、356、および358を
含む。部分354は、全般的な質疑から、ユーザが希望
する飲料についての認識結果を受け取り、対話式認識フ
ローを誘導して、クリームや砂糖が必要かどうかについ
て再度指示を促し、尋ねるか、または注文された飲料を
確認する。詳細には、部分356は、クリームや砂糖も
注文された場合にはその認識結果を受け取る。部分35
8は、飲料の確認についての認識結果を受け取る。部分
360は、新しいメッセージングオブジェクト「SME
X」を用いる呼制御部分である。「SMEX」について
は下記でさらに説明する。
【0077】上記で指摘したように、本発明のこの態様
の「bind」要素はオブジェクトメソッドの起動を含
み、これは、「welcome」オブジェクトの「st
art」メソッドを361で実行する際に「welco
me」プロンプトを再生することにより、図17および
18の例でユーザ対話を開始する。
【0078】次いで、362で「asked」オブジェ
クトの「start」メソッドを実行することにより、
ユーザに「ご希望はコーラ、コーヒー、それともオレン
ジジュースですか?」と尋ねる。次いで、363で、認
識「reco_drink」オブジェクトの「star
t」メソッドを起動することにより認識を実行する。
【0079】次いで部分354のマークアップを実行す
るが、ここで認識サーバ204が使用する文法は、Xp
athステートメント「./drink types」
によって提供される。この例ではW3CのXpath言
語を利用しているが、この概念を、他の標準的言語に拡
張することは当業者にとって平易であることに留意され
たい。他の標準的言語には、W3CによるXMLクエリ
言語(XQL)を含むが、これに限定するものではな
い。「bind」要素364によって明確に示すよう
に、認識サーバ204から受け取った認識結果の信頼度
スコアが10未満である場合は、366でプロンプトオ
ブジェクト「reprompt」を実行し、それに続い
てプロンプトオブジェクト「ask」を368で実行
し、この時に認識オブジェクト「reco_drin
k」を370で再度開始する。戻された認識結果が「c
offee」で、それが10を超える信頼度を有する場
合、372でフィールド「drink」に認識結果の値
を割り当て、374でプロンプトオブジェクト「cre
am_sugar」により、クリームあるいは砂糖を希
望するかしないかについてユーザに指示を促す。次い
で、376で、部分356の認識オブジェクト「rec
o_cream_sugar」を起動する。そうでな
く、認識結果が信頼度スコアは10を超えるがコーヒー
でない場合は、378でフィールド「drink」に再
度値を割り当てる。認識結果の確認は、プロンプトオブ
ジェクト「confirm」を実行し、それに続いて部
分358の認識オブジェクト「reco_yesno」
を382で起動することにより、380で提供する。ユ
ーザが「yes」と答え、その信頼度スコアが10を超
える場合は、384でプロンプトオブジェクト「tha
nks」を再生し、次いで386でフォームを提出す
る。そうでなく、ユーザが「no」と答えた場合、ある
いは認識結果の信頼度スコアが10未満の場合は、39
0でプロンプトオブジェクト「retry」を実行し、
その後再度プロンプトオブジェクト「ask」を392
で実行し、「reco_drink」認識オブジェクト
を394で起動する。
【0080】上の例から、「bind」要素により、部
分354、356、または358で示すような複数のメ
ソッド起動が可能になる。所望の場合は、認識済み結果
の複数の割り当ても宣言することができる。ここで説明
する実施形態では、複数の割り当ておよびメソッド起動
を宣言する場合、それらはドキュメントの順序で実行す
る。
【0081】別の実施形態では、メソッドの引き数を渡
すための規則も提供される。すなわち、一部のメソッド
は引き数のリストを必要とする場合がある。これは「a
rg」下位要素を使用して実現する。例えば、次のマー
クアップの場合、 <bind TargetElement = "OBJ" TargetMethod = "F"><ar
g>X</arg><arg>Y</arg></bind> は、「OBJ.F(X,Y)」に等しい。すなわち「O
BJ」は、パラメータすなわち引き数「X」および
「Y」を用いるメソッド「F」を有するオブジェクトで
ある。
【0082】「bind」要素は「event」属性も
含むことができ、これはそのバインド要素が対象とする
イベントを宣言する。例えば、マークアップ <bind event = "onNoReco" = TargetElement = "prompt
1" TargetMethod = "start"/> は、「onNoReco」イベントを送る際に、オブジ
ェクト「prompt1」のメソッド「start」を
起動することを意味する。例えば図8との関連で上記で
説明したように、「bind」要素を「Reco」要素
の子要素として使用するのに整合するように、「bin
d」要素のデフォルト属性は「onReco」にする。
【0083】高レベル要素である「bind」要素は、
付録の節2.4に明記するイベントをいずれも含むこと
ができる。さらに、「bind」要素は、アクセスして
プログラムフローを指示するのに使用できる「stat
us」属性を有する「onError」イベントも含む
ことができる。「bind」要素の他のイベントが「s
tatus」属性を有する限り、これらにもアクセスす
ることができる。
【0084】認識結果の状態の確認に加えて、実行中の
現在のドキュメントまたはページも確認することができ
る。詳細には、「test」および「value」の両
属性を拡張して、それを含むドキュメントのルートノー
ドを参照する「host」プリミティブを含ませること
ができる。例えば、再び図17および18を参照する
と、ここに含まれる例は、ユーザがコーヒーを注文した
際にクリームあるいは砂糖を希望するかどうかを尋ねる
追加の論理を部分354に有する。クリームや砂糖を加
え、したがって部分356を起動するためのフラグは、
マークアップ「host()/get_drink/d
rink=′coffee′」の指定によって飲料フィ
ールドが「コーヒー」である場合にのみオンになる。
【0085】また、「bind」要素は音声サーバ20
4からの認識結果、値の受取り、およびそのドキュメン
ト中への割り当てに適用できるだけでなく、メッセージ
オブジェクト(ここでは「smex」と表す。例えばク
ライアントデバイスで実行するアプリケーションから
の)にも適用できることに留意されたい。図17および
18の例では、クライアントデバイスで実行される電話
アプリケーションが呼を検出すると、このページが実行
される。部分360で、「bind」要素は、メッセー
ジ「/Call_connected」を受け取ると、
「welcome」プロンプトを実行または再生し、
「reco_drink」オブジェクトを実行すること
により認識を開始する。音声サーバ204から受け取る
認識結果と同様に、受け取るメッセージも大きく異なる
可能性がある。メッセージの一部は、所望のプログラム
フローを開始するために明確に規定する。受け取って処
理することのできるメッセージもある(例えば、認識サ
ーバから受け取る認識結果と同様に構文解析を行う)。
例えば、これにより、キーボードから入力するテキスト
の自然言語パーサのようにマークアップを使用できるよ
うになる。付録Aのreco要素は、この機能を実行す
るためのプロパティを含んでいる。同様に、プロンプト
要素を使用し、付録Aでさらに説明するプロパティ「i
nnertext」を使用することにより、動的コンテ
ンツまたはオーディオウェーブファイル用のテキストメ
ッセージを提供することができる。イベンティングは、
認識結果のためのイベンティングと同様のものでよい。
例えば、イベンティングは「onReceived」を
含むことができるが、これは、メッセージソース(例え
ばクライアントデバイスで実行するアプリケーション)
が、ブラウザで使用できるメッセージを有する際に送ら
れる。
【0086】このように、「smex」すなわちメッセ
ージオブジェクトにより、ここに述べるようなマークア
ップタグを、クライアントデバイスで実行される他のコ
ンポーネントまたはアプリケーションに拡張することが
可能になる。別の例として、このメッセージオブジェク
トを使用して、クライアントデバイスで実行される聴覚
障害者用のTTYコンポーネントと通信することができ
る。TTYコンポーネントは、音声認識を使用するので
はなく、ユーザが入力した内容のメッセージを提供す
る。このメッセージはその後、認識結果を認識サーバか
ら受け取った場合と同様に使用する。すなわち、メッセ
ージを構文解析して、フォームのフィールドに割り当て
るか、あるいは上記の「reco」、「gramma
r」、または「bind」要素を使用して他の処理を行
うことができる。このメッセージまたは「smex」オ
ブジェクトについては、付録Aでさらに説明する。
【0087】「bind」要素は「for」属性も含む
ことができ、これにより、その動作をページ上の他のオ
ブジェクトに付することができる。例えば次のマークア
ップ <bind for = "prompt1" event = "onComplete" targetE
lement = "prompt2" =targetMethod = "start"/> は、オブジェクト「prompt 1」がイベント「o
nComplete」を送ると、オブジェクト「pro
mpt 2」のstartメソッドを起動する。
【0088】再び図5を参照すると、ウェブサーバ20
2は、サーバ側のプラグイン宣言オーサリングツールす
なわちモジュール320を含むことができる(例えば、
マイクロソフト社によるASPまたはASP+、あるい
はJSPなど)。サーバ側のプラグインモジュール32
0は、クライアント側のマークアップと、さらにはウェ
ブサーバ202にアクセスするクライアントのタイプに
ついて固有形態のマークアップも動的に生成することが
できる。クライアント情報は、クライアント/サーバ関
係が最初に確立されたときにウェブサーバ202に提供
することができ、ウェブサーバ202は、クライアント
の機能を検出するモジュールまたはルーチンを含むこと
ができる。この方式で、サーバ側のプラグインモジュー
ル320は、それぞれの音声認識シナリオ、すなわち電
話機80を通じた音声のみ、あるいはマルチモーダル型
のデバイス30に対する、クライアント側のマークアッ
プを生成することができる。一貫性のあるクライアント
側モデルを使用することにより(各アプリケーションで
使用できるrecoおよびプロンプトコントロール)、
多数の異なるクライアントのアプリケーションオーサリ
ングが大幅に容易になる。
【0089】クライアント側マークアップの動的な生成
に加えて、図8、9および10のマークアップ例を用い
た、図6に示すようなクレジットカード番号の入手など
の高レベルのダイアログモジュールは、アプリケーショ
ンオーサリングで開発者が使用するために、記憶装置3
24に記憶するサーバ側コントロールとして実施するこ
とができる。一般に、高レベルダイアログモジュール3
24は、開発者が指定するパラメータに基づいて、音声
のみおよびマルチモーダルの両シナリオで、クライアン
ト側のマークアップおよびスクリプトを動的に生成す
る。高レベルダイアログモジュールは、開発者のニーズ
に適合するクライアント側のマークアップを生成するた
めのパラメータを含むことができる。例えば、クレジッ
トカード情報のモジュールは、クライアント側のマーク
アップスクリプトが許可すべきクレジットカードの種類
を指定するパラメータを含むことができる。サーバ側プ
ラグインモジュール320で使用するASP+ページの
例を図13に示す。
【0090】本発明について好ましい実施形態を参照し
て説明したが、当業者は、本発明の趣旨および範囲から
逸脱せずに、形態および詳細を変更することが可能であ
ることを理解されよう。
【0091】付録A 1 概要 以下のタグは、ドキュメントが音声を入力媒体または出
力媒体として使用することを可能にするマークアップ要
素のセットである。これらのタグは、HTML、XHT
ML、cHTML、SMIL、WMLなど任意のSGM
L由来のマークアップ言語に埋め込むことのできる独立
型(self−contained)XMLになるよう
に設計されている。本発明で使用するタグは、ワシント
ン州レドモンドのマイクロソフト社から入手可能な周知
の方法であるSAPI5.0に類似する。タグ、要素、
イベント、属性、プロパティ、戻り値などは例示的なも
のに過ぎず、制限的なものと考えるべきではない。本明
細書では音声およびDTMFの認識の場合の例を示す
が、同様のタグは他の形の認識にも提供することができ
る。
【0092】本明細書で論じる主な要素は以下である。 <prompt...> 音声合成の構成およびプロン
プトの再生 <reco...> レコグナイザの構成、認識の実
行、および後処理 <grammar...> 入力文法リソースの指定 <bind...> 認識結果の処理 <dtmf...> DTMFの構成および制御
【0093】2 Reco Reco要素は、可能なユーザ入力と、入力結果の処理
手段とを指定するのに使用する。したがって、その主要
な要素は<grammar>および<bind>にする
ことができ、またレコグナイザプロパティを構成するた
めのリソースを含む。
【0094】Reco要素は、アップレベルブラウザで
はStartおよびStopのメソッドを介してプログ
ラム的に、またはSMILを使用できるブラウザではS
MILコマンドを使用して起動する。この要素は、ダウ
ンレベルブラウザ(すなわちスクリプトをサポートしな
いブラウザ)では、それがページ上にあることにより宣
言的にアクティブであると見なす。複数の文法を並行し
て起動することができるように、複数のReco要素を
同時にアクティブと見なすことができる。
【0095】Recoは特定のモード、すなわち「自
動」「シングル」または「複数」をとることもでき、こ
れによりそれが使用可能にする認識シナリオの種類と、
認識プラットフォームの振る舞いを区別する。
【0096】2.1 Recoの内容 Reco要素は、1つまたは複数の文法と、任意選択
で、認識結果を調べ、関連性のある部分をそれを含むペ
ージ中の値にコピーするバインド要素のセットとを含
む。
【0097】アップレベルブラウザでは、Recoは、
プログラム的な起動、および個々の文法規則の非活動化
をサポートする。指定しない場合は、ある認識コンテキ
ストについて、文法のすべての最上位の規則がアクティ
ブになることにも留意されたい。
【0098】2.1.1 <grammar>要素 文法要素は、インラインの、またはsrc属性を使用し
て参照する文法を指定するのに使用する。通例は少なく
とも1つの文法(インラインまたは参照)を指定する。
インライン文法はテキストベースの文法形式にすること
ができるのに対し、参照文法は、テキストベースまたは
バイナリタイプにすることができる。複数の文法要素を
指定することが可能である。複数の文法要素を指定する
場合は、文法の規則を追加規則として同じ文法中に追加
する。同じ名前の規則がある場合にはそれに上書きす
る。
【0099】属性: ・src:インライン文法を指定する場合は任意選択。
含める文法のURI。指定しない場合は、ある認識コン
テキストについて、文法のすべての最上位規則がアクテ
ィブになることに留意されたい。
【0100】・langID:任意選択。音声エンジン
が使用する言語を指示するストリング。ストリングの形
式は、xml:lang定義に従う。例えば、lang
ID=“en−us”は、米国英語を表す。この属性
は、langIDを文法URI中で指定しないときにの
み有効である。指定しない場合は、米国英語を使用す
る。
【0101】langIDが複数の箇所で指定される場
合、langIDは、最低の有効範囲からの優先順位に
従う。すなわち、リモートの文法ファイル(つまりその
文法ファイル中で指定される言語ID)、次いで文法要
素、次いでreco要素の順となる。 srcで参照する文法とインライン文法の両方を指定す
る場合は、インライン規則を参照規則に加え、同じ名前
の規則があればそれに上書きする。
【0102】2.1.2 <bind>要素 バインド要素は、認識結果の値をページ中にバインドす
るのに使用する。
【0103】バインド要素によって消費される認識結果
は、認識結果を指定するためのセマンティックマークア
ップ言語(SML)を含むXMLドキュメントでよい。
その内容は、意味値、話された実際の単語、および信頼
度スコアを含む。SMLは、代替の認識選択肢(N番目
によい認識結果におけるものなど)も含むことができ
る。発声「I’d like to travel f
rom Seattleto Boston(シアトル
からボストンまで行きたい)」に対するSMLドキュメ
ントの例を下に示す。 <sml confidence="40"> <travel text="シアトルからボストンまで行きたい"> <origin_city confidence="45"> シアトル </origin_city> <dest_city confidence="35"> ボストン </dest_city> </travel> </sml> 文法中(in−grammar)認識は、セマンティッ
クマークアップ言語すなわちSMLでXMLドキュメン
トを生成することになっているので、SMLドキュメン
トからバインドする値は、XPathクエリを使用して
参照する。また、値をバインドするページ中の要素(こ
れはフォームコントロールである可能性が高い)は一意
に識別すべきなので、これらのターゲット要素は直接参
照する。
【0104】属性: ・targetElement:必須。SMLからva
lueの内容を割り当てる要素(W3C SMIL2.
0と同様)。
【0105】・targetAttribute:任意
選択。SMLからvalueの内容を割り当てるターゲ
ット要素の属性(SMIL2.0のattribute
Name属性と同様)。指定しない場合は、「valu
e」になる。
【0106】・test:任意選択。認識結果を割り当
てる際の条件を指示するXML Pattern(W3
C XMLDOM仕様と同様)ストリング。デフォルト
条件は真。
【0107】・value:必須。ターゲット要素に割
り当てる認識結果ドキュメントの値を指定するXPAT
H(W3C XML DOM仕様と同様)ストリング。
【0108】例:上記のSMLのリターンを与えられる
と、以下のreco要素はバインドを使用して、ori
gin_cityおよびdest_city中の値を、
ターゲットページの要素txtBoxOriginおよ
びtxtBoxDestに転送する。 このバインドは、バインド操作の事前条件としてdes
t_city結果の信頼度属性にテストを行う以下の例
のように条件付きの場合もある。 バインド要素は、ダウンレベルまたはアップレベルのブ
ラウザで認識結果を処理する単純な宣言的手段である。
より複雑な処理の場合、アップレベルブラウザによって
サポートされるrecoDOMオブジェクトは、onR
ecoイベントハンドラを実装して、プログラム的なス
クリプト分析と認識の戻しの後処理を行えるようにす
る。
【0109】2.2 属性およびプロパティ 以下の属性はすべてのブラウザでサポートされ、プロパ
ティはアップレベルブラウザによってサポートされる。
【0110】2.2.1 属性 以下のRecoの属性は、ダイアログターンのために音
声レコグナイザを構成するのに使用する。
【0111】・initialTimeout:任意選
択。認識の開始から音声の検出までのミリ秒単位の時
間。この値は認識プラットフォームに渡され、これを超
えた場合は、onSilenceイベントが認識プラッ
トフォームから提供される(2.4.2参照)。指定し
ない場合、音声プラットフォームはデフォルト値を使用
する。
【0112】・babbleTimeout:任意選
択。音声の検出後にレコグナイザが結果を戻さなければ
ならないミリ秒単位の期間。自動モードおよびシングル
モードのrecoの場合、これは音声検出からstop
呼び出しまでの期間に該当する。「複数」モードのre
coの場合、このタイムアウトは、音声検出から各認識
の戻しまでの期間に相当する。すなわち、各結果の戻し
または他のイベントの後にこの期間を再び開始する。こ
のタイムアウトを超えると、エラーの発生の有無に応じ
て異なるイベントを投入する。例えば、発声が例外的に
長い場合など、レコグナイザがなおオーディオを処理し
ている場合は、ステータスコード13により(2.4.
4参照)onNoRecoイベントを投入する。ただ
し、何らかの他の理由でこのタイムアウトを超えた場合
はレコグナイザのエラーである可能性がより高くなり、
onTimeoutイベントを投入する。指定しない場
合、音声プラットフォームは内部値を使用する。
【0113】・maxTimeout:任意選択。認識
の開始からブラウザに結果を戻すまでのミリ秒単位の期
間。これを超えると、ブラウザによってonTimeo
utイベントが投入され、これにより分散環境における
ネットワークまたはレコグナイザの障害に対処(cat
er for)する。「複数」モードのrecoの場合
は、babbleTimeoutと同様に、各認識の戻
しまたは他のイベントの後にこの期間を再度開始する。
maxTimeout属性は、initialTime
outとbabbleTimeoutの合計よりも大き
くするか、または等しくすべきであることに留意された
い。指定しない場合、この値はブラウザのデフォルトに
なる。
【0114】・endSilence:任意選択。自動
モードのRecoの場合、認識結果を戻すまでの、音声
があってはならない発話終了後のミリ秒単位の無音期
間。自動モード以外のモードのrecoについては無視
する。指定しない場合は、プラットフォームの内部値に
なる。
【0115】・reject:任意選択。認識拒絶の閾
値。これを下回ると、プラットフォームは「no re
co」イベントを投入する。指定しない場合、音声プラ
ットフォームはデフォルト値を使用する。信頼度スコア
は、0から100の範囲(整数)。拒絶値はこの範囲内
にある。
【0116】・server:任意選択。音声プラット
フォームのURI(タグインタープリタと認識プラット
フォームをまとめて配置しない場合に使用する)。値の
例は、server=protocol://your
speechplatformなどとなる。アプリケー
ションの作成者(author)は、URIストリング
にクエリストリングを加えることにより、音声プラット
フォームに固有の設定を提供することもできる。例:p
rotocol://yourspeechplatf
orm?bargeinEnergyThreshol
d=0.5。
【0117】・langID:任意選択。音声エンジン
が使用する言語を指定するストリング。ストリング形式
は、xml:lang 定義に従う。例えば、lang
=“en−us”は米国英語を表す。この属性は、文法
要素中でlangIDを指定しない場合のみに有効であ
る(2.1.1参照) ・mode:任意選択。とるべき認識モードを指定する
ストリング。指定しない場合は、「自動」モードにな
る。
【0118】2.2.2 プロパティ 以下のプロパティは、認識プロセスによって戻される結
果を含む(これらはアップレベルブラウザにサポートさ
れる)。
【0119】・recoResult:読み取り専用。
認識の結果、2.1.2で述べたように、セマンティッ
クマークアップ言語(SML)を含むXML DOMノ
ードオブジェクト中に保持される。認識が行われなかっ
た場合、このプロパティはヌルに戻る。
【0120】・text:読み取り/書き込み。認識さ
れた単語のテキストを保持するストリング(すなわち、
読み取りモードにおけるrecoResult中のSM
L認識の戻しの中の最上位要素のテキスト属性の内容を
表す省略表現)。書き込みモードでは、ストリングを割
り当てることができ、次いでそのストリングが認識結果
に対応するものとしてそれを構文解析する。書き込みモ
ードでは、このマークアップタグおよびその処理を、ク
ライアントデバイスの他のコンポーネントまたはアプリ
ケーションに拡張することができる。このストリング
は、「smex」メッセージオブジェクトから得られ
る。
【0121】・status:読み取り専用。認識プラ
ットフォームが返すステータスコード。可能な値は、認
識が成功した場合の0、あるいは障害値−1から−4
(Startメソッド(節2.3.1)およびActi
vateメソッド(節2.3.4)で可能な例外で定義
する)、およびレコグナイザイベントを受け取った際に
セットされるステータス−11から−15(2.4参
照)。
【0122】2.3 オブジェクトメソッド recoの起動および文法の起動は、RecoのDOM
オブジェクト中の以下のメソッドを使用して制御するこ
とができる。これらのメソッドにより、アップレベルブ
ラウザはRecoオブジェクトの開始および中止、進行
中の認識のキャンセル、個々の文法のトップレベルの規
則の起動および非活動化を行うことができる(アップレ
ベルブラウザのみ)。
【0123】2.3.1 Start Startメソッドは、明示的には非活動化していない
認識コンテキストについてのすべての最上位規則をアク
ティブな文法として使用して認識プロセスを開始する。 構文:Object.Start( ) 戻り値:なし 例外:このメソッドは、非ゼロのステータスコードをセ
ットし、障害があった際はonNoRecoイベントを
発生させる。可能性のある障害には、文法が存在しない
(recoステータス=−1)、文法のコンパイルの失
敗、存在しないURIなど様々な原因になりうる文法の
ロードの失敗(recoステータス=−2)、あるいは
音声プラットフォームのエラー(recoステータス=
−3)などが含まれる。
【0124】2.3.2 Stop Stopメソッドは、認識プロセスを終了する呼び出し
である。Recoオブジェクトはオーディオの記録を中
止し、レコグナイザは、記録が中止される時点までに受
け取ったオーディオについての認識結果を戻す。Rec
oが使用するすべての認識リソースは解放され、その文
法は非活動化される。(このメソッドは、自動モードに
よる通常の認識には明示的に使用する必要がないことに
留意されたい。これは、レコグナイザ自体が、完全な文
を認識した後のエンドポイント検出においてrecoオ
ブジェクトを中止するからである。)Recoが開始さ
れていない場合、この呼び出しは効果を持たない。 構文:Object.Stop( ) 戻り値:なし 例外:なし
【0125】2.3.3 Cancel Cancelメソッドは、レコグナイザへのオーディオ
の供給を中止し、文法を非活動化し、レコグナイザを解
放し、すべての認識結果を破棄する。ブラウザは、キャ
ンセルされた認識についての認識結果は破棄する。レコ
グナイザが開始されていない場合、この呼び出しは効果
を持たない。 構文:Object.Cancel( ) 戻り値:なし 例外:なし
【0126】2.3.4 Activate Activateメソッドは、文脈自由文法(CFG)
の最上位規則を起動する。起動は、「開始された」認識
プロセス中には効果を持たないので、認識が開始する前
に呼び出さなければならない。明示的に非活動化してい
ない認識コンテキストについてのすべての文法の最上位
規則は、すでにアクティブであると見なすことに留意さ
れたい。 構文:Object.Activate(strNam
e) パラメータ: ・strName:必須。起動する規則名。 戻り値:なし 例外:なし
【0127】2.3.5 Deactivate このメソッドは、文法中のトップレベル規則を非活動化
する。その規則が存在しない場合、このメソッドは効果
を持たない。 構文:Object.Deactivate(strN
ame) パラメータ: ・strName:必須。非活動化する規則名。空スト
リングはすべての規則を非活動化する。 戻り値:なし 例外:なし
【0128】2.4 Recoイベント Reco DOMオブジェクトは以下のイベントをサポ
ートし、そのハンドラはreco要素の属性として指定
することができる。
【0129】2.4.1 onReco:このイベント
は、レコグナイザが、そのブラウザで利用することので
きる認識結果を得ると起動される。自動モードのrec
oの場合、このイベントは認識プロセスを自動的に中止
し、リソースをクリアする(2.3.2参照)。onR
ecoは通例、認識結果のプログラム的な分析と、ペー
ジ中への結果の処理に使用される。 構文:
【0130】
【表1】
【0131】イベントオブジェクト情報:
【0132】
【表2】
【0133】イベントプロパティ:イベントハンドラは
プロパティを直接受け取ることはないが、ハンドラはデ
ータについてこのイベントオブジェクトに照会を行うこ
とができる(下記の例のイベントオブジェクトの使用を
参照のこと)。
【0134】例 次のXHTMLの断片ではonRecoを使用して、認
識結果を構文解析し、その値を適切なフィールドに割り
当てるスクリプトを呼び出している。
【0135】2.4.2 onSilence:onS
ilenceは、RecoのinitialTimeo
ut属性で指定された時間が過ぎる前に、認識プラット
フォームが検出した無音声のイベントに対処する(2.
2.1参照)。このイベントは、自動認識モードの認識
プロセスを自動的にキャンセルする。 構文:
【0136】
【表3】
【0137】イベントオブジェクト情報:
【0138】
【表4】
【0139】イベントプロパティ:イベントハンドラ
は、プロパティを直接受け取ることはないが、ハンドラ
はデータについてイベントオブジェクトに照会を行うこ
とができる。
【0140】2.4.3 onTimeout onTimeoutは、通例は音声プラットフォームか
らのエラーを反映する2タイプのイベントを扱う。
【0141】・認識が完了する前にmaxTime属性
で指定された期間を過ぎた(2.2.1参照)ことを通
知する、タグインタープリタが投入するイベントを扱
う。このイベントは通例、分散型アーキテクチャで生じ
うる問題を反映する。
【0142】・また、(ii)認識が開始されたが、b
abbleTimeoutで指定された期間内に認識が
ないまま処理が中止した際に、音声認識プラットフォー
ムが投入するイベントも扱う(2.2.1参照)。この
イベントは、認識プロセスを自動的にキャンセルする。 構文:
【0143】
【表5】
【0144】イベントオブジェクト情報:
【0145】
【表6】
【0146】イベントプロパティ:イベントハンドラは
プロパティを直接受け取ることはないが、ハンドラはデ
ータについてこのイベントオブジェクトに照会を行うこ
とができる。
【0147】2.4.4 onNoReco:onNo
Recoは、有効な認識結果を戻すことができない際に
音声認識プラットフォームが投入するイベント用のハン
ドラである。それが発生しうる異なるケースは、ステー
タスコードで区別する。このイベントは認識プロセスを
自動的に中止する。 構文:
【0148】
【表7】
【0149】イベントオブジェクト情報:
【0150】
【表8】
【0151】イベントプロパティ:イベントハンドラは
プロパティを直接受け取ることはないが、データについ
てこのイベントオブジェクトに照会を行うことができ
る。
【0152】3 プロンプト プロンプト要素は、システム出力を指定するのに使用す
る。その内容は以下の1つまたは複数にすることができ
る。 ・インラインテキストまたは参照テキスト。これは、韻
律的な(prosodic)またはその他の音声出力情
報でマークアップすることができる。 ・レンダリング時にそれを含むドキュメントから取り出
す変数値。 ・オーディオファイルへのリンク。 プロンプト要素は、ダウンレベルブラウザによって宣言
的に解釈する(あるいはSMILコマンドで起動する)
ことも、アップレベルブラウザのオブジェクトメソッド
によって宣言的に解釈することもできる。
【0153】3.1 プロンプト内容 プロンプト要素は、テキストまたはオーディオファイル
へのリファレンスの形で、あるいはこの両方の形でシス
テム出力用のリソースを含む。
【0154】簡単なプロンプトは、出力に必要なテキス
トだけを指定すればよい。例えば、 <prompt id="Welcome"> ACME天気予報へのお電話ありがとうございます </prompt> この簡単なテキストは、下記に説明する種類のどのマー
クアップもさらに含むことができる。
【0155】3.1.1 音声合成マークアップ このプロンプト要素の内部では、どの形式の音声合成マ
ークアップ言語でも使用することができる。(この形式
は、3.2.1で説明する「tts」属性で指定するこ
とができる。)次の例は、その中の特定の単語を強調す
る命令を含むテキストを示している。 <prompt id="giveBalance"> あなたの口座の残高は<emph>5ドル</emph>です </prompt>
【0156】3.1.2 動的な内容 このプロンプトの実際の内容は、プロンプトの出力の直
前にクライアントで計算する必要がある場合がある。例
えば特定の値を確定するには、ある変数にその値をデリ
ファレンスする必要がある。この値要素はこの目的に使
用することができる。
【0157】値要素 value:任意選択。ドキュメント中の要素の値を取
り出す。 属性: ・targetElement:任意選択。hrefま
たはtargetElementを指定しなければなら
ない。取り出す値を含む要素のID。 ・targetAttribute:任意選択。値を取
り出す要素の属性。 ・href:任意選択。オーディオセグメントのUR
I。両方ある場合には、hrefがtargetEle
mentを上書きする。
【0158】targetElement属性は、それ
を含むドキュメント中の要素を参照するのに使用され
る。targetElementによってIDが指定さ
れた要素の内容を、合成するテキストに挿入する。所望
の内容がその要素の属性に保持されている場合、tar
getAttributeを使用して、targetE
lementの必要な属性を指定することができる。こ
れは、例えば、HTMLフォームコントロール中の値を
デリファレンスするのに有用である。下の例では、「t
xtBoxOrigin」要素および「txtBoxD
est」要素の「value」属性を、プロンプトの出
力前にテキストに挿入している。
【0159】3.1.3 オーディオファイル この値要素は、合成したプロンプトの代わりに、あるい
はその中で再生するあらかじめ記録したオーディオファ
イルを参照するのにも使用することができる。次の例で
は、プロンプトの最後にビープ音を鳴らしている。 <prompt> ピーッという音がしたらメッセージを録音してください <value href="/wav/beep.wav" /> </prompt>
【0160】3.1.4 参照プロンプト インラインの内容を指定する代わりに、src属性を空
要素とともに使用し、URIを介して外部の内容を参照
することができる。例えば、 src属性の対象は、インラインプロンプトに指定する
上記の内容の任意部分またはすべてを保持することがで
きる。
【0161】3.2 属性およびプロパティ このプロンプト要素は、以下の属性(ダウンレベルブラ
ウザ)およびプロパティ(ダウンレベルおよびアップレ
ベルブラウザ)を保持する。
【0162】3.2.1 属性 ・tts:任意選択。テキストから音声への合成用のマ
ークアップ言語タイプ。デフォルトは「SAPI
5」。 ・src:インラインプロンプトを指定する場合は任意
選択。参照するプロンプトのURI(3.1.4参
照)。 ・bargein:任意選択。整数。プロンプトの開始
から、人間の聴者が再生を中断できるようになるまでの
ミリ秒単位の時間。デフォルトは無限、すなわちバージ
インを許可しない。bargein=0にすると、即時
のバージインが可能になる。これは、プラットフォーム
がサポートするどの種のバージインにも該当する。re
coを開始する時間にどちらを使用可能にするかに応じ
て、キーワードまたはエネルギーベースのバージイン時
間をこの方式で構成することができる。 ・prefetch:任意選択。ページをロードする際
にプロンプトを直ちに合成して、ブラウザにキャッシュ
するかどうかを示すブールフラグ。デフォルトは偽。
【0163】3.2.2 プロパティ アップレベルブラウザは、プロンプトのDOMオブジェ
クト中の以下のプロパティをサポートする。 ・bookmark:読み取り専用。遭遇した最後の合
成ブックマークのテキストを記録するストリングオブジ
ェクト。 ・status:読み取り専用。音声プラットフォーム
から戻されるステータスコード。 ・innertext:読み取り専用。このプロパティ
はプロンプトのテキストの複写(transcript
ion)を提供し、それがシンセサイザに送られる。例
えば、あるプロンプトがオーディオウェーブファイルの
再生を含む場合、このプロパティはそのプロンプトのテ
キストバージョン(オーディオウェーブファイルととも
に記憶することが多い)を提供し、これはその後、例え
ばクライアントデバイスで実行するコンポーネントまた
はアプリケーションにプロンプトのテキストバージョン
を提供することにより、表示するか、またはその他の形
で使用することができる。またinnertextプロ
パティを使用して、動的コンテンツを含むプロンプトの
テキストバージョンも提供することができる。
【0164】3.3 プロンプトメソッド プロンプトの再生は、プロンプトのDOMオブジェクト
中の以下のメソッドを使用して制御することができる。
この方式により、アップレベルブラウザは、プロンプト
オブジェクトを開始および停止し、進行中のプロンプト
を一時停止および再開し、合成音声のスピードおよび音
量を変えることができる。
【0165】3.3.1 Start プロンプトの再生を開始する。引き数が与えられない限
り、このメソッドはオブジェクトの内容を再生する。所
与の時間に単一のプロンプトオブジェクトだけが「開始
される」と考えられるので、Startを連続して呼び
出すとすべての再生が連続的に再生される。
【0166】構文:Object.Start([st
rText]) パラメータ: ・strText:シンセサイザに送信するテキスト。
存在する場合にはこの引き数がオブジェクトの内容を上
書きする。 戻り値:なし 例外:サーバがすでにオーディオバッファを開放してい
る場合には、ステータス=−1にセットし、onCom
pleteイベントを発生させる。
【0167】3.3.2 Pause オーディオバッファをフラッシュすることなく再生を一
時停止する。このメソッドは、再生を一時停止または停
止している場合には効果を持たない。 構文:Object.Pause( ); 戻り値:なし 例外:なし
【0168】3.3.3 Resume オーディオバッファをフラッシュすることなく再生を再
開する。このメソッドは、再生が一時停止状態にない場
合は効果を持たない。 構文:Object.Resume( ); 戻り値:なし 例外:再開が失敗した際に例外を投入する。
【0169】3.3.4 Stop 再生がまだ中止されていない場合に再生を中止し、オー
ディオバッファをフラッシュする。再生がすでに中止さ
れている場合、このメソッドは単にオーディオバッファ
をフラッシュする。 構文:Object.Stop( ); 戻り値:なし 例外:なし
【0170】3.3.5 Change 再生の速度および/または音量を変更する。Chang
eは再生中に呼び出すことができる。 構文:Object.Change(speed,vo
lume); パラメータ: ・speed:必須。変化させる係数。 speed=2.0は、現在の速度を2倍にすることを
意味しspeed=0.5は、現在の速度の2分の1に
することを意味し、speed=0は、デフォルト値に
戻すことを意味する。 ・volume:必須。変化させる係数。 volume=2.0は、現在の音量を倍にすることを
意味し、volume=0.5は、現在の音量を半分に
することを意味し、volume=0は、デフォルト値
に戻すことを意味する。 戻り値:なし 例外:なし
【0171】3.3.6 プロンプトコントロールの例 次の例は、キーワードバージインの機構をサポートしな
いプラットフォームに対して、上記のメソッドを使用す
るプロンプトコントロールをオーサリングする仕組みを
示している。
【0172】 <html> <title>プロンプトコントロール</title> <head> <script> <!-- function checkKWBargein() { news.change (1.0, 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"> 水曜日の株式市場も、投資家が、来週の連邦準備理事会
の会合に先立ち大きな動きにつながる材料を得られなか
ったことから展開に活気がありませんでした。ハイテク
銘柄中心のナスダック総合指数は42.51ポイント下
落し、2156.26で取引を終えました。ダウジョー
ンズ工業平均株価は、午後に入って反騰がなく17.0
5ポイント下落して10866.46で取引を終えまし
た。
【0173】3.4 プロンプトイベント プロンプトDOMオブジェクトは以下のイベントをサポ
ートするが、そのハンドラはプロンプト要素の属性とし
て指定することができる。
【0174】3.4.1 onBookmark 合成ブックマークに遭遇すると発生する。このイベント
は再生を一時停止しない。 構文:
【0175】
【表9】
【0176】イベントオブジェクト情報:
【0177】
【表10】
【0178】イベントプロパティ:イベントハンドラは
プロパティを直接受け取ることはないが、ハンドラはデ
ータについてこのイベントオブジェクトに照会を行うこ
とができる。
【0179】3.4.2 onBargein:ユーザ
のバージインイベントを検出すると発生する。(例えば
エネルギー検出やキーワード認識など、何がバージイン
イベントを構成するかの決定はプラットフォームによる
ことに留意されたい。)このイベントハンドラを指定し
ても、自動的にバージイン機能がオンになるわけではな
い。 構文:
【0180】
【表11】
【0181】イベントオブジェクト情報:
【0182】
【表12】
【0183】イベントプロパティ:イベントハンドラは
プロパティを直接受け取ることはないが、ハンドラはデ
ータについてこのイベントオブジェクトに照会を行うこ
とができる。
【0184】3.4.3 onComplete:プロ
ンプトの再生が最後に達するか、または例外(上記に定
義)に遭遇すると発生する。 構文:
【0185】
【表13】
【0186】イベントオブジェクト情報:
【0187】
【表14】
【0188】イベントプロパティ:イベントハンドラは
プロパティを直接受け取ることはないが、ハンドラはデ
ータについてこのイベントオブジェクトに照会を行うこ
とができる。
【0189】3.4.4 ブックマークおよびイベント
の使用 次の例は、プロンプトの出力中にバージインが行われた
場合に、ブックマークイベントを使用して、出発地の訂
正か目的地の提供のいずれかであるユーザ応答の意味を
判定する仕組みを示している。onBargeinハン
ドラが、プロンプト中に遭遇した最後のブックマークに
グローバルな「mark」変数を設定するスクリプトを
呼び出し、この「mark」の値をrecoの後処理関
数(「heard」)で使用して、正しい値をセットし
ている。
【0190】 <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="Seattle" type="text"/> <input name="txtBoxDest" type="text" /> ... <prompt id="confirm" onBargein="interrupt()" bargein="0"> <bookmark mark="mark_origin_city" /> <value targetElement="origin" targetAttribute="value" />から <bookmark mark="mark_dest_city" />行きたい行先地を言って下さい </prompt> <reco onReco="ProcessCityConfirm()" > <grammar src="/grm/1033/cities.xml" /> </reco> ... </body>
【0191】4 DTMF DTMF認識オブジェクトを作成する。このオブジェク
トは、インラインのマークアップ言語構文を使用して、
あるいははスクリプト中にインスタンス化することがで
きる。起動すると、DTMFにより、プロンプトオブジ
ェクトがバージインイベントを発生することができる。
下記でDTMFとの関連で説明するタグおよびイベンテ
ィング、および節5で説明する呼制御は、一般には、音
声ブラウザ216とメディアサーバ214間の対話に関
連するものであることに留意されたい。
【0192】4.1 内容 ・dtmfgrammar:インライン文法 ・bind:DTMFの変換結果を適切なフィールドに
割り当てる 属性: ・targetElement:必須。部分的な認識結
果を割り当てる要素(参照:W3C SMIL2.0に
同じ)。 ・targetAttribute:認識結果を割り当
てるターゲット要素の属性(参照:SMIL2.0に同
じ)。デフォルトは「value」。 ・test:割り当ての条件。デフォルトは真。
【0193】例1:テキストにキーをマッピングする 「city_choice」を起動して、ユーザが1を
押すと「Seattle」が入力フィールドに割り当て
られ、2を押すと「Boston」が割り当てられ、そ
の他の場合は何も割り当てられない。
【0194】例2:どのようにしてDTMFを複数フィ
ールドに使用することができるか この例は、いかにしてユーザが複数フィールドに入力す
るのを可能にするかをを示している。
【0195】例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>
【0196】4.2 属性およびプロパティ 4.2.1 属性 ・dtmfgrammar:必須。DTMF文法のUR
I。
【0197】4.2.2 プロパティ ・DTMFgrammar 読み取りおよび書き込み。 ストリング変換行列に対するDTMFを表すXML D
OM ノードオブジェクト(DTMF文法とも呼ぶ)。
デフォルト文法は、
【0198】・flush 読み取り/書き込み。起動の前に、基礎となる電話イン
タフェースカードのDTMFバッファを自動的にフラッ
シュするかどうかを示すブールフラグ。デフォルトは偽
になり、タイプアヘッドを使用可能にする。
【0199】・escape 読み取り/書き込み。DTMF読み取りセッションを終
了するエスケープキー。エスケープキーはワンキーであ
る。
【0200】・numDigits 読み取り/書き込み。DTMF読み取りセッションを終
了させるキーストローク数。エスケープおよび長さの両
方を指定した場合は、どちらかの条件を満たすとDTM
Fセッションが終了される。
【0201】・dtmfResult 読み取り専用ストリング。ユーザが入力したDTMFキ
ーを記憶する。タイプした場合はescapeが結果に
含まれる。
【0202】・text 読み取り専用ストリング。空白で分離されたトークンス
トリングを記憶し、各トークンはDTMF文法に従って
変換する。
【0203】・initialTimeout 読み取り/書き込み。最初のDTMFキーストロークを
受け取るまでのミリ秒単位のタイムアウト期間。指定し
ない場合は、電話プラットフォームの内部設定になる。
【0204】・interdigitTimeout 読み取り/書き込み。次の(adjacent)DTM
Fキーストロークまでのミリ秒単位のタイムアウト期
間。指定しない場合は、電話プラットフォームの内部設
定になる。
【0205】4.3 オブジェクトメソッド: 4.3.1 Start DTMFの割り込みを可能にし、DTMF読み取りセッ
ションを開始する。 構文:Object.Start( ); 戻り値:なし 例外:なし
【0206】4.3.2 Stop DTMFを使用不可にする。ただし、ユーザが入力した
キーストロークはバッファに残る。 構文:Object.Stop( ); 戻り値:なし 例外:なし
【0207】4.3.3 Flush DTMFバッファをフラッシュする。Flushは、D
TMFセッション中には呼び出すことができない。 構文:Object.Flush( ); 戻り値:なし 例外:なし
【0208】4.4 イベント 4.4.1 onkeypress DTMFキーを押すと発生する。これは、HTMLコン
トロールから継承したデフォルトイベントを上書きす
る。ユーザがエスケープキーを押すと、onKeypr
essではなくonRecイベントが発生する。構文:
【0209】
【表15】
【0210】イベントオブジェクト情報:
【0211】
【表16】
【0212】イベントプロパティ:イベントハンドラは
プロパティを直接受け取ることはないが、ハンドラはデ
ータについてこのイベントオブジェクトに照会を行うこ
とができる。
【0213】4.4.2 onReco DTMFセッションを終了すると発生する。このイベン
トは、現在のDTMFオブジェクトを自動的に使用不可
にする。 構文:
【0214】
【表17】
【0215】イベントオブジェクト情報:
【0216】
【表18】
【0217】イベントプロパティ:イベントハンドラは
プロパティを直接受け取ることはないが、ハンドラはデ
ータについてこのイベントオブジェクトに照会を行うこ
とができる。
【0218】4.4.3 onTimeout タイムアウトまでに、句の終了イベントを受け取らない
と発生する。このイベントは、認識プロセスを自動的に
停止する。 構文:
【0219】
【表19】
【0220】イベントオブジェクト情報:
【0221】
【表20】
【0222】イベントプロパティ:イベントハンドラは
プロパティを直接受け取ることはないが、ハンドラはデ
ータについてこのイベントオブジェクトに照会を行うこ
とができる。
【0223】5 CallControlオブジェクト 電話音声ブラウザの電話インタフェース(呼、端末、お
よび接続)を表す。このオブジェクトは、GUIブラウ
ザ中のwindowオブジェクトと同様にネイティブで
ある。したがって、電話オブジェクトの寿命はブラウザ
インスタンス自体と同じである。電話用の音声ブラウザ
は、呼ごとに1つの電話オブジェクトをインスタンス化
する。ユーザは、このオブジェクトをインスタンス化ま
たは配置しない。
【0224】この点で、このオブジェクトを通じて、フ
ァーストパーティの呼の制御に関連する機能のみを示
す。
【0225】5.1 プロパティ ・address 読み取り専用。XML DOM ノードオブジェクト。
実装固有。これは発呼者のアドレスである。PSTNの
場合は、ANIとALIの組合せにすることができる。
VoIPの場合、これは発呼者のIPアドレスになる。
【0226】・ringBeforeAnswer 着信呼に応答するまでの着信音の回数。デフォルトは無
限。すなわち、開発者は下記のAnswer( )メソ
ッドを明確に使用して、電話呼に応答しなければならな
い。コールセンタでACDを使用して着信電話呼をキュ
ーに入れる場合、この回数は0にセットしてよい。
【0227】5.2 メソッド 注:ここに示すメソッドはすべて非同期である。
【0228】5.2.1 Transfer 呼を転送する。ブラインド転送の場合、システムは転送
が完了すると元の呼を終了し、システムリソースを解放
する。 構文:telephone.Transfer(str
Text); パラメータ: ・strText:必須。意図する受信者のアドレス。 戻り値:なし 例外:例えばエンドパーティが話中である、番号が存在
しない、ファックスまたは留守番電話が応答するなど、
呼の転送が失敗すると例外を投入する。
【0229】5.2.2 Bridge サードパーティへの転送。呼を転送すると、ブラウザは
その呼に割り当てられていたリソースを解放することが
できる。転送した呼がstrUIDを使用して戻ってき
た際にセッション状態を回復するかはアプリケーション
次第である。基礎となる電話プラットフォームは、戻っ
てきた呼を異なるブラウザに経路指定することができ
る。呼は、受信者がその呼を終了した際のみ戻ることが
できる。 構文:telephone.Bridge(strTe
xt,strUID,[imaxTime]); パラメータ: ・strText:必須。意図する受信者のアドレス。 ・strUID:必須。現在の呼を一意に識別するセッ
ションID。転送した呼が戻される場合、strUID
がアドレス属性に示される。 ・imaxTime:任意選択。秒単位の転送呼の最大
持続時間。指定しない場合は、プラットフォームの内部
値になる。 戻り値:なし 例外:なし
【0230】5.2.3 Answer 電話呼に応答する。 構文:telephone.Answer( ); 戻り値:なし 例外:接続がない際に例外を投入する。この場合onA
nswerイベントは発生しない。
【0231】5.2.4 Hangup 電話呼を終了する。その時進行中の呼がない場合は効果
を持たない。 構文:telephone.Hangup( ); 戻り値:なし 例外:なし
【0232】5.2.5 Connect ファーストパーティへのアウトバウンドの電話呼を開始
する。 構文:telephone.Connect(strT
ext[iTimeout]); パラメータ: ・strText:必須。意図する受信者のアドレス。 ・iTimeout:任意選択。接続の試みを断念する
までのミリ秒単位の時間。指定しない場合は、プラット
フォームの内部値になる。 戻り値:なし 例外:話中音の遭遇、あるいはファックスや留守番電話
への到達を含め、呼を完了することができないと例外を
投入する(注:ハードウェアがこの機能をサポートしな
い場合もある)。
【0233】5.2.6 Record ユーザオーディオをファイルに記録する。 構文:telephone.Record(url,e
ndSilence,[maxTimeout],[i
nitialTimeout]); パラメータ: ・url:必須。記録された結果のURL。 ・endSilence:必須。無音の検出後に記録を
中止するミリ秒単位の時間。 ・maxTimeout:任意選択。記録を行う秒単位
の最大時間。デフォルトはプラットフォーム固有にな
る。 ・initialTimeout:任意選択。記録の開
始時に許される無音の最大時間(ミリ秒)。 戻り値:なし 例外:記録をURLに書き込めない際に例外を投入す
る。
【0234】5.3 イベントハンドラ 電話音声ブラウザを使用するアプリケーション開発者
は、以下のイベントハンドラを実装することができる。
【0235】5.3.1 onIncoming( ) 音声ブラウザが着信電話呼を受信すると呼び出される。
すべての開発者は、電話呼に応答する前にこのハンドラ
を使用して発呼者のアドレスを読み取り、カスタマイズ
した機能を起動することができる。
【0236】5.3.2 onAnswer( ) 音声ブラウザが着信呼に応答すると呼び出される。
【0237】5.3.3 onHangup( ) ユーザが電話を切ると呼び出される。このイベントは、
プログラムがHangupメソッドまたはTransf
erメソッドを呼び出しても自動的には発生しない。
【0238】5.4 例 この例は、電話セッションを操作するために呼制御イベ
ントに結合(wire)したスクリプティングを示す。 <HTML> <HEAD> <TITLE>ログオンページ</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.Anser(); // </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と個人識別番号を言ってください< /prompt> <prompt id="p_uid">あなたのユーザIDだけを言ってください</prompt> <prompt id="p_pin">あなたの個人識別番号だけを言ってください</prompt> <prompt id="p_miss">申し訳ありませんが、聞き取れませんでした。</promp t> <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>
【0239】6 ダイアログフローの制御 6.1 HTMLおよびスクリプトを使用してダイアロ
グフローを実装する 次の例は、入力ボックスの値を探して、入力に対して状
況依存型のヘルプを提供する単純なダイアログフローの
実装方法を示している。これは、HTML入力機構のタ
イトル属性(視覚ブラウザで「ツールチップ」機構とし
て使用される)を使用して、ヘルププロンプトの内容を
形成するのを補助する。 <html> <title>状況感知型ヘルプ</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; } //.. repeat above for all fields trade.submit(); } function handle() { res = event.srcElement.recoResult; if (res.text == "help") { text = "〜だけを言ってください"; text += document.all[focus].title; p_help.Start(text); } else { // proceed with value assignments } } </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>
【0240】6.2 SMILを使用する 次の例は、SMIL機構を使用したプロンプトおよびr
eco要素の起動を示す。 <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$ 40]" value="//dest_city" /> </sp:reco> </t:par> </body> </html>
【0241】7.SMEX(メッセージ)要素/オブジ
ェクト SMEXは、Simple Messaging EX
change/EXtensionの略語であるが、こ
れは、クライアントデバイスのプラットフォーム上の外
部コンポーネントまたはアプリケーションと通信するオ
ブジェクトである。これは、タグ名<smex>を有す
る要素として、XMLまたはそれに類似のマークアップ
ベースのドキュメント中に埋め込むことができる。この
メッセージングオブジェクトの使用例には、ロギングお
よび電話制御を含むことができる。このオブジェクト
は、メッセージングを通じて新しい機能を追加すること
を可能にすることから、マークアップベースの認識およ
びプロンプティング(prompting)の拡張性を
表す。
【0242】インスタンスを生成すると、このオブジェ
クトは、その構成パラメータまたは属性指定を通じて、
プラットフォームコンポーネントまたはアプリケーショ
ンとの非同期のメッセージ交換経路を確立するように指
示を受ける。このオブジェクトはストリングプロパティ
を有し、そのプロパティが割り当て動作(すなわちlv
alue)を受ける対象である場合には、必ずその内容
がプラットフォームコンポーネントまたはアプリケーシ
ョンに送られる。同様に、このオブジェクトは、プラッ
トフォームコンポーネントまたはアプリケーションから
受け取ったメッセージを保持する、XML DOMノー
ドタイプのプロパティも有する。このメッセージオブジ
ェクトは、プラットフォームメッセージを受け取ると必
ずイベントを送る。このオブジェクトは、その基本動作
が非同期なので、アプリケーション開発者がタイムアウ
ト設定を操作するための内蔵クロックも有する。
【0243】メッセージまたはsmexオブジェクト
は、通信手段にとってアグノスティック(agnost
ic)である。しかし、一実施形態では、smexオブ
ジェクトは、通常のXMLやマークアップ要素と同じ寿
命を有する。すなわち、smexオブジェクトは、それ
をホストするドキュメントをアンロードすると消滅す
る。多くのケースでは、smexオブジェクトはアンロ
ードされると自動クリーンアップを実行し、通信リソー
スを解放することができるが、マークアップページ間で
永続的な通信リンクが望ましい使用事例(例えば呼の制
御など)もありうる。そのような事例のために、このア
ーキテクチャでは、割り振られたリソースを解放する
(例えばソケットを閉じるなど)責任をアプリケーショ
ン開発者に課す。
【0244】smexオブジェクトは、メッセージのフ
ォーマット(スキーマ)についてはニュートラルであ
る。実施形態によっては、既存の標準的なメッセージフ
ォーマット(例えばSTPまたはCCXMLで使用する
ものなど)をまず優先して、実装者がいくつかの基本的
スキーマをサポートすることを必要とするのが望ましい
場合もある。基本的に、このアーキテクチャは、プラッ
トフォーム開発者およびアプリケーション開発者の両者
が、XMLあるいはそれに類似のマークアップの規格化
された拡張性を最大限に活用して、一方では相互操作性
を失うことなく他の機能を導入することを可能にする。
【0245】 例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 SgeS 3]/> </listen>
【0246】この例は、COMオブジェクトをそのクラ
スIDおよびインタフェースIDとともに使用して、ロ
ギング機構を実現する仕組みを示している。音声開発者
は、関連するSMLノードにロギングするための当該レ
ベルを示す属性「log」を付加する。上の例では、ア
プリケーション開発者が、単一のバインドディレクティ
ブを使用することにより、3を超えるか、または3に等
しいログ値を有するノードすべてにロギングすることを
選択している。この例は、ダウンレベルブラウザでもア
ップレベルブラウザでも機能する。
【0247】この例はまた、smexオブジェクトがプ
ラットフォームメッセージを認識ドキュメントに伝達す
る役割を負うような混乱状態がない限り、あるページ
が、同じプラットフォームコンポーネントと通信する複
数のsmexオブジェクトを含むことが可能であること
も示すものである。上の例は、あるコンポーネントが複
数のインタフェースを実装することができ、それぞれの
インタフェースがそれ自体のsmexまたはメッセージ
経路を有することを示唆している。これと同じ論議は、
複数のポートをリッスンするTCPサーバにも当てはま
る。
【0248】 例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>
【0249】この例は、どのようにバインドディレクテ
ィブを使用して、受信メッセージを処理できるかを示し
ている。この例では、着信呼のメッセージが、下位要素
のremote_addr、transfer_add
r、およびlocal_addrを有するものと想定し
ており、その内容はそれぞれ着信呼のリモートアドレ
ス、転送アドレス、およびローカルアドレスを表す。
【0250】この例では、HTTPに基づくコネクショ
ンレスプログラミングを使用して電話サーバと通信す
る。この場合の電話サーバは、複数のブラウザインスタ
ンスと通信するように設計されており、したがって、各
クライアントは、アプリケーションの開始時にサーバか
ら割り当てられる一意のIDによって自らを識別しなけ
ればならない。この例では、これはサーバに「star
t_listening」メッセージを送信することに
よって実現する。この例では、セッションIDを隠しフ
ィールドに記憶し、それをウェブサーバに送信して、ア
プリケーションの次のページに渡すことができるが、セ
ッション状態の管理には他の技術(例えばクライアント
サイドのクッキー)も使用することができる。reco
の場合と同様に、あらゆるプラットフォームメッセージ
についてすべてのバインドディレクティブが実行される
とは限らない。上の例は、着信電話呼がある際に一意の
IDのみを受信することは示唆していない。
【0251】7.1 プロパティ smexオブジェクトは以下のプロパティを有すること
ができるが、初期値指定のための属性としても機能する
ことができるのは、読み取り/書き込みのプロパティだ
けである。
【0252】・sent:読み取り/書き込み。プラッ
トフォームコンポーネントに送信するメッセージに対応
するストリング。lvalueとしてsentを使用す
る場合は、必ずその内容をディスパッチする。このプロ
パティをrvalueとして使用する場合、あるいはこ
のプロパティにヌルオブジェクトを割り当てる場合には
効果がない。
【0253】・received:読み取り専用。受信
メッセージを表すXML DOMノードデータ。このメ
ッセージは、次のonReceiveイベントが送るこ
とのできる状態になるまで、rvalueとして使用す
ることができる。
【0254】・timer:読み取り/書き込み。タイ
ムアウトイベントをトリガするまでの時間を表すミリ秒
単位の数。クロックは、このプロパティに正の値が割り
当てられると刻時を開始する。この値は、カウントダウ
ンの進行中に変更することができる。ゼロまたは負の値
にすると、タイムアウトイベントをトリガせずにクロッ
クを停止する。デフォルトは0、すなわちタイムアウト
なしである。
【0255】・status:読み取り専用。オブジェ
クトの最近のステータスを表す整数。可能な値は、0、
−1、および−2であり、それぞれ、正常、タイムアウ
トの終了、およびプラットフォームとの通信を確立でき
ない、あるいは通信の中断を意味する。受信されるプロ
パティを通じて、プラットフォーム固有のエラーメッセ
ージを伝達するとよい。エラーメッセージの伝達が成功
した場合、ステータスコードは0になる。
【0256】7.2 イベント このオブジェクトは以下のイベントを有する。 ・onReceive:このイベントは、プラットフォ
ームメッセージが到着すると送られる。バインド要素に
よって宣言されたディレクティブがある場合には、この
イベントを発生させる前にそのディレクティブを先に評
価する。イベントを送る前に、受け取ったプロパティを
更新する。
【0257】・onError:このイベントは、タイ
ムアウトが経過したとき、あるいは通信リンクエラーに
遭遇したときに送られる。このイベントを送る際、上記
のように、ステータスプロパティをそれに対応するエラ
ーコードによって更新する。
【0258】7.3 子要素 ある要素の形を仮定するとき、smexは以下の子要素
を有することができる。 ・bind:ディレクティブを受信メッセージに作用さ
せる点を除いては、recoの場合と同様。 ・param:recoの場合と同様。smexオブジ
ェクトのプラットフォーム固有パラメータを提供する。
各param要素は、「name」属性を使用して名前
をつけることができ、param要素の内容がそのパラ
メータの値になる。一実施形態では、この要素は、ネー
ムスペースの標準的なXML属性とXMLデータタイプ
宣言を理解しているべきである。
【0259】7.4 その他の補足説明 ロギング機能のためにSMEXを拡張する簡潔な方法の
1つが以下である。 これは、実際に、その振る舞いを個別設定することので
きる(グローバル)関数でこのオブジェクトを拡張して
いる。上の例では、IDとメッセージの間にフィールド
区切り文字「|」を挿入するようにロギング関数をプロ
グラムしている。
【0260】グローバル関数を好まない者は、ECMA
Scriptの「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> よりオブジェクト指向的な方式でこの関数を参照するこ
とができる。logServer. logMessage(RECO_LOG_ERROR,
"My message");上記の例のように拡張を機能させるた
めに、smexオブジェクトの実装者にはより多くの作
業が要求されるが、すべての必要な機構はすでに確立さ
れた規格であることに留意されたい。
【0261】
【発明の効果】以上、説明したように、本発明によれ
ば、インターネットなどのサーバ/クライアントアーキ
テクチャで入力の認識を提供するのに使用されるウェブ
対応認識アーキテクチャを有するシステムは、統一した
アーキテクチャを備えることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態の、コンピューティングデバ
イスの動作環境の第1の実施形態の平面図である。
【図2】本発明の実施形態の、図1のコンピューティン
グデバイスのブロック図である。
【図3】本発明の実施形態の、電話機の平面図である。
【図4】本発明の実施形態の、汎用コンピュータのブロ
ック図である。
【図5】本発明の実施形態の、クライアント/サーバシ
ステムのアーキテクチャのブロック図である。
【図6】本発明の実施形態の、クレジットカード情報を
得るための表示の図である。
【図7】本発明の実施形態の、クライアントで実行する
ことのできるマークアップ言語のページの図である。
【図8】本発明の実施形態の、ディスプレイおよび音声
認識機能を有するクライアントで実行することのできる
マークアップ言語の例示的ページの図である。
【図9】本発明の実施形態の、音声レンダリングのみを
用い、システム主導型で、クライアントで実行できるマ
ークアップ言語の例示的ページの図である。
【図10】本発明の実施形態の、音声レンダリングのみ
を用い、システム主導型で、クライアントで実行できる
マークアップ言語の例示的ページの図である。
【図11】本発明の実施形態の、音声レンダリングのみ
を用い、混合主導型で、クライアントで実行できるマー
クアップ言語の例示的ページの図である。
【図12】本発明の実施形態の、音声レンダリングのみ
を用い、混合主導型で、クライアントで実行できるマー
クアップ言語の例示的ページの図である。
【図13】本発明の実施形態の、サーバサイドのプラグ
インモジュールによって実行することのできる例示的ス
クリプトの図である。
【図14】本発明の実施形態の、認識サーバの第1の動
作モードを図式的に示す図である。
【図15】本発明の実施形態の、認識サーバの第2の動
作モードを図式的に示す図である。
【図16】本発明の実施形態の、認識サーバの第3の動
作モードを図式的に示す図である。
【図17】本発明の実施形態の、スクリプティングを用
いないクライアントで実行することのできる宣言的マー
クアップ言語の例示的ページの図である。
【図18】本発明の実施形態の、スクリプティングを用
いないクライアントで実行することのできる宣言的マー
クアップ言語の例示的ページの図である。
【符号の説明】
29、183 マイクロフォン 30 データ管理デバイス(モバイルデバイス、クライ
アント) 32 筐体 33 スタイラス 34 ディスプレイ 35a、35b、35c ボタン 36 キーパッド 37、59 A/D変換器 43、187 スピーカ 50 CPU 52 無線トランシーバ 54、152 RAM 58、151 ROM 60 通信インタフェース 80 電話機 82 ディスプレイ 84 キーパッド 120 汎用コンピュータ 140 プロセッサ 141 システムバス 150 システムメモリ 153 BIOS 154、164 オペレーティングシステム 155、165 アプリケーションプログラム 156、166 プログラムモジュール 157、167 プログラムデータ 161 ハードディスクドライブ 160、170 インタフェース 160 取外し不能不揮発性メモリインタフェース 170 リムーバル不揮発性メモリインタフェース 171 磁気ディスクドライブ 172 磁気ディスク 175 光ディスクドライブ 176 光ディスク 180 ユーザ入力インタフェース 181 ポインティングデバイス 182 キーボード 184 モニタ 185 ビデオインタフェース 186 プリンタ 188 出力周辺インタフェース 190 ネットワークインタフェース 191 LAN 192 モデム 193 WAN 194 リモートコンピュータ 195 リモートアプリケーションプログラム 200 アーキテクチャ 202 ウェブサーバ 204 認識サーバ 205 ネットワーク 207 専用回線 208 電話網 210 ゲートウェイ 211 レコグナイザ 212 電話音声ブラウザ 214 メディアサーバ 216 音声ブラウザ 250、252、254 フィールド 260、270、300 本体部分 262、272、302 スクリプト部分 264 提出ボタン 280、282、284、405 コード部分 281 スケジュール 283、305 認識の開始 285 音声の検出 287 音声の終了 289、291、293、295、297、299、3
01、303、305属性(期間、イベント) 290、303 コントロール 307 音声変換システム 309 パーサ 320、324 モジュール
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/02 335 G06F 15/02 335E (72)発明者 ウァン クァンサン アメリカ合衆国 98006 ワシントン州 ベルビュー サウスイースト 48 コート 16470 (72)発明者 ホン シャオ−ウェン アメリカ合衆国 98006 ワシントン州 ベルビュー サウスイースト 58 プレイ ス 17797 Fターム(参考) 5B019 DA08 DB10 GA10 5B085 AA01 BC02 BE01 BG02

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 データを処理するサーバ/クライアント
    システムであって、 リモートでアクセスすることのできる情報を有するウェ
    ブサーバと、 入力すべきフィールドを指示するレンダリングデバイス
    を有するクライアントデバイスであって、ユーザがその
    後行う入力の対象とするフィールドを指示すると、前記
    フィールドの各々と関連付けられた入力データを記録す
    るように構成され、かつ前記入力データを遠隔位置に送
    信するように適合されたクライアントデバイスと、 前記入力データを受信し、何が認識されたかを表すデー
    タを、前記クライアントおよび前記ウェブサーバの少な
    くとも1つに戻すように構成された認識サーバとを含む
    ネットワークを備えたことを特徴とするシステム。
  2. 【請求項2】 前記ウェブサーバから受信し、前記クラ
    イアントデバイスに提供する前記情報は、マークアップ
    言語であることを特徴とする請求項1に記載のシステ
    ム。
  3. 【請求項3】 前記クライアントデバイスが受信する前
    記マークアップ言語は、1つまたはいくつかのマークア
    ップ部分、および1つまたはいくつかのスクリプト部分
    を含むことを特徴とする請求項2に記載のシステム。
  4. 【請求項4】 前記マークアップ言語は、文法をフィー
    ルドに関連付ける指示を含むことを特徴とする請求項3
    に記載のシステム。
  5. 【請求項5】 前記認識サーバは、前記入力データおよ
    び前記文法の指示を受信することを特徴とする請求項4
    に記載のシステム。
  6. 【請求項6】 前記入力データを前記リモートサーバに
    送信する前に前記入力データを正規化するように、前記
    クライアントが適合されることを特徴とする請求項1に
    記載のシステム。
  7. 【請求項7】 前記ウェブサーバは、前記クライアント
    デバイスのためにマークアップ言語ページを動的に生成
    するサーバサイドプラグインモジュールを含むことを特
    徴とする請求項2に記載のシステム。
  8. 【請求項8】 マイクロフォンおよびスピーカを有する
    第2のクライアントデバイスをさらに含み、該第2のク
    ライアントデバイスは、前記ユーザに与えるプロンプト
    に応答して、各フィールドセットに関連付けられた音声
    データを記録するように構成され、かつ、前記音声デー
    タを前記認識サーバに送信するように適合されることを
    特徴とする請求項1に記載のシステム。
  9. 【請求項9】 前記第2のクライアントデバイスは、前
    記ウェブサーバからのコンテンツをレンダリングするこ
    とのできる電話機および音声ブラウザを含むことを特徴
    とする請求項8に記載のシステム。
  10. 【請求項10】 前記ウェブサーバから受信し、前記ク
    ライアントデバイスの各々に提供する前記情報は、マー
    クアップ言語であることを特徴とする請求項9に記載の
    システム。
  11. 【請求項11】 前記ウェブサーバは、前記クライアン
    トデバイスの各々のために動的にマークアップ言語を生
    成するサーバサイドプラグインモジュールを含むことを
    特徴とする請求項8に記載のシステム。
  12. 【請求項12】 前記サーバサイドプラグインモジュー
    ルは、クライアントデバイスのタイプに応じて、マーク
    アップ言語を動的に生成することを特徴とする請求項1
    1に記載のシステム。
  13. 【請求項13】 前記サーバサイドプラグインモジュー
    ルは、前記クライアントデバイスのタイプを検出するこ
    とを特徴とする請求項12に記載のシステム。
  14. 【請求項14】 前記ウェブサーバは、前記サーバサイ
    ドプラグインモジュールからアクセスすることが可能な
    複数のダイアログモジュールを含み、各ダイアログモジ
    ュールは音声認識を使用するデータの入手に関係し、前
    記サーバサイドプラグインモジュールが、ダイアログモ
    ジュールに応じて前記マークアップ言語を生成すること
    を特徴とする請求項11に記載のシステム。
  15. 【請求項15】 前記ウェブサーバおよび前記認識サー
    バを単一のマシンに配置することを特徴とする請求項1
    に記載のシステム。
  16. 【請求項16】 データを処理するサーバ/クライアン
    トシステムであって、 リモートからアクセスすることのできる情報を有するウ
    ェブサーバと、 マイクロフォンおよびレンダリング構成要素を有し、対
    応するフィールドを有する前記情報を前記ウェブサーバ
    から入手するように構成されたクライアントデバイスで
    あって、前記フィールドの各々に関連付けられた入力デ
    ータを記録するようにさらに構成され、かつ、入力の認
    識に使用する文法の指示とともに前記入力データを遠隔
    位置に送信するように適合されたクライアントデバイス
    と、 前記入力データおよび前記文法の指示を受信するように
    構成され、何が入力されたかを表すデータを、前記クラ
    イアントおよび前記ウェブサーバの少なくとも1つに戻
    す認識サーバとを含むネットワークを備えたことを特徴
    とするシステム。
  17. 【請求項17】 前記ウェブサーバから受信し、前記ク
    ライアントデバイスに提供する前記情報は、マークアッ
    プ言語であることを特徴とする請求項16に記載のシス
    テム。
  18. 【請求項18】 前記クライアントデバイスは電話機を
    含み、前記レンダリング構成要素はスピーカを含むこと
    を特徴とする請求項16に記載のシステム。
  19. 【請求項19】 前記レンダリング構成要素は、前記フ
    ィールドを示すディスプレイを含むことを特徴とする請
    求項16に記載のシステム。
  20. 【請求項20】 前記クライアントおよび前記認識サー
    バを単一のマシンに配置することを特徴とする請求項1
    6に記載のシステム。
  21. 【請求項21】 クライアント/サーバシステムで音声
    認識を処理する方法であって、 前記クライアントデバイスのユーザから入力データを入
    手するように構成されたエクステンションを有するマー
    クアップ言語ページを、ウェブサーバからクライアント
    デバイスに送信するステップと、 前記マークアップ言語ページを前記クライアントデバイ
    スでレンダリングするステップと、 前記ユーザからの入力に応じて、入力データを入手する
    ステップと、 前記入力データおよび関連付けられた文法の指示を、前
    記クライアントデバイスから遠隔に位置する認識サーバ
    に送信するステップと、 前記クライアントデバイスおよびウェブサーバのうち少
    なくとも1つで、何が入力されたかを表す認識結果を、
    前記認識サーバから受信するステップとを備えたことを
    特徴とする方法。
  22. 【請求項22】 前記マークアップ言語をレンダリング
    するステップは、データ入力用のフィールドを表示する
    ステップを含み、入力データを入手するステップは、そ
    の後行う入力をどのフィールドに関連付けるかについて
    の指示を前記ユーザから受信するステップを含むことを
    特徴とする請求項21に記載の方法。
  23. 【請求項23】 前記マークアップ言語をレンダリング
    するステップは、前記ユーザに対して音声により指示を
    促すステップを含むことを特徴とする請求項21に記載
    の方法。
  24. 【請求項24】 前記マークアップ言語はスクリプティ
    ングを模倣することを特徴とする請求項21に記載の方
    法。
JP2002132053A 2001-05-04 2002-05-07 ウェブ対応認識アーキテクチャを有するシステムおよびその方法 Pending JP2003067177A (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,232 US7506022B2 (en) 2001-05-04 2001-09-20 Web enabled recognition architecture
US09/960,232 2001-09-20
US10/117,141 US7610547B2 (en) 2001-05-04 2002-04-05 Markup language extensions for web enabled recognition
US10/117,141 2002-04-05

Publications (1)

Publication Number Publication Date
JP2003067177A true JP2003067177A (ja) 2003-03-07

Family

ID=27381938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002132053A Pending JP2003067177A (ja) 2001-05-04 2002-05-07 ウェブ対応認識アーキテクチャを有するシステムおよびその方法

Country Status (4)

Country Link
EP (1) EP1255192B1 (ja)
JP (1) JP2003067177A (ja)
CN (1) CN1279465C (ja)
AT (1) ATE386974T1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164732A (ja) * 2005-12-16 2007-06-28 Crescent:Kk コンピュータ実行可能なプログラム、および情報処理装置
JP2008117400A (ja) * 2006-11-02 2008-05-22 Storz Endoskop Produktions Gmbh 情報リソースを定義するために拡張マークアップ言語を用いるデバイス制御システム
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
US8451823B2 (en) 2005-12-13 2013-05-28 Nuance Communications, Inc. Distributed off-line voice services
JP2013137584A (ja) * 2011-12-27 2013-07-11 Toshiba Corp 電子機器、表示方法、およびプログラム
US8694053B2 (en) 2005-06-20 2014-04-08 Samsung Electronics Co., Ltd. Method for realizing user interface using camera and mobile communication terminal for the same

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301436B2 (en) * 2003-05-29 2012-10-30 Microsoft Corporation Semantic object synchronous understanding for highly interactive interface
CN104123941A (zh) * 2014-07-17 2014-10-29 常州蓝城信息科技有限公司 一种利用语音识别控制设备的方法
CN113408373B (zh) * 2021-06-02 2024-06-07 中金金融认证中心有限公司 手写识别方法、系统、客户端和服务器端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240493A (ja) * 1997-01-06 1998-09-11 Texas Instr Inc <Ti> Javaへ音声認識能力を加えるシステムと方法
JPH11110186A (ja) * 1997-10-02 1999-04-23 Nippon Telegr & Teleph Corp <Ntt> ブラウザシステム、音声プロキシサーバ、リンク項目の読み上げ方法及びリンク項目の読み上げプログラムを格納した記憶媒体
JP2001042890A (ja) * 1999-07-30 2001-02-16 Toshiba Tec Corp 音声認識装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6192338B1 (en) * 1997-08-12 2001-02-20 At&T Corp. Natural language knowledge servers as network resources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240493A (ja) * 1997-01-06 1998-09-11 Texas Instr Inc <Ti> Javaへ音声認識能力を加えるシステムと方法
JPH11110186A (ja) * 1997-10-02 1999-04-23 Nippon Telegr & Teleph Corp <Ntt> ブラウザシステム、音声プロキシサーバ、リンク項目の読み上げ方法及びリンク項目の読み上げプログラムを格納した記憶媒体
JP2001042890A (ja) * 1999-07-30 2001-02-16 Toshiba Tec Corp 音声認識装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8165883B2 (en) 2001-10-21 2012-04-24 Microsoft Corporation Application abstraction with dialog purpose
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
US8229753B2 (en) 2001-10-21 2012-07-24 Microsoft Corporation Web server controls for web enabled recognition and/or audible prompting
US8224650B2 (en) 2001-10-21 2012-07-17 Microsoft Corporation Web server controls for web enabled recognition and/or audible prompting
US8160883B2 (en) 2004-01-10 2012-04-17 Microsoft Corporation Focus tracking in dialogs
US8965452B2 (en) 2005-06-20 2015-02-24 Samsung Electronics Co., Ltd Method for realizing user interface using camera and mobile communication terminal for the same
US10545645B2 (en) 2005-06-20 2020-01-28 Samsung Electronics Co., Ltd Method for realizing user interface using camera and mobile communication terminal for the same
US9836196B2 (en) 2005-06-20 2017-12-05 Samsung Electronics Co., Ltd. Method for realizing user interface using camera and mobile communication terminal for the same
US8694053B2 (en) 2005-06-20 2014-04-08 Samsung Electronics Co., Ltd. Method for realizing user interface using camera and mobile communication terminal for the same
US8451823B2 (en) 2005-12-13 2013-05-28 Nuance Communications, Inc. Distributed off-line voice services
JP2007164732A (ja) * 2005-12-16 2007-06-28 Crescent:Kk コンピュータ実行可能なプログラム、および情報処理装置
US8037179B2 (en) 2006-11-02 2011-10-11 Storz Endoskop Produktions Gmbh Device control system employing extensible markup language for defining information resources
JP2008117400A (ja) * 2006-11-02 2008-05-22 Storz Endoskop Produktions Gmbh 情報リソースを定義するために拡張マークアップ言語を用いるデバイス制御システム
JP2013137584A (ja) * 2011-12-27 2013-07-11 Toshiba Corp 電子機器、表示方法、およびプログラム

Also Published As

Publication number Publication date
EP1255192A2 (en) 2002-11-06
EP1255192A3 (en) 2005-09-14
EP1255192B1 (en) 2008-02-20
CN1279465C (zh) 2006-10-11
CN1420447A (zh) 2003-05-28
ATE386974T1 (de) 2008-03-15

Similar Documents

Publication Publication Date Title
US7610547B2 (en) Markup language extensions for web enabled recognition
US7409349B2 (en) Servers for web enabled speech recognition
US7506022B2 (en) Web enabled recognition architecture
US8229753B2 (en) Web server controls for web enabled recognition and/or audible prompting
US7711570B2 (en) Application abstraction with dialog purpose
US8311835B2 (en) Assisted multi-modal dialogue
US7260535B2 (en) Web server controls for web enabled recognition and/or audible prompting for call controls
US8160883B2 (en) Focus tracking in dialogs
US20020178182A1 (en) Markup language extensions for web enabled recognition
US7729919B2 (en) Combining use of a stepwise markup language and an object oriented development tool
JP4467226B2 (ja) ウェブ対応音声認識用サーバの方法および記録媒体
JP2005149485A (ja) 逐次的なマルチモーダル入力
EP1899851A2 (en) Speech application instrumentation and logging
JP2003067177A (ja) ウェブ対応認識アーキテクチャを有するシステムおよびその方法
EP2128757A2 (en) Markup language extensions for web enabled recognition
King Constructing a low-cost, open-source, VoiceXML Gateway

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: 20070705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080312

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080722

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080723

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080826

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081212

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100524