JP2009500722A - 音声アプリケーションの測定およびロギング - Google Patents
音声アプリケーションの測定およびロギング Download PDFInfo
- Publication number
- JP2009500722A JP2009500722A JP2008519325A JP2008519325A JP2009500722A JP 2009500722 A JP2009500722 A JP 2009500722A JP 2008519325 A JP2008519325 A JP 2008519325A JP 2008519325 A JP2008519325 A JP 2008519325A JP 2009500722 A JP2009500722 A JP 2009500722A
- Authority
- JP
- Japan
- Prior art keywords
- recording
- voice
- user
- information
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005259 measurement Methods 0.000 title description 4
- 230000004044 response Effects 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 29
- 238000012790 confirmation Methods 0.000 claims description 18
- 230000003993 interaction Effects 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 description 25
- 238000013515 script Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 102100035373 Cyclin-D-binding Myb-like transcription factor 1 Human genes 0.000 description 1
- 101000804518 Homo sapiens Cyclin-D-binding Myb-like transcription factor 1 Proteins 0.000 description 1
- 241001422033 Thestylus Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013502 data validation Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- MJIHNNLFOKEZEW-UHFFFAOYSA-N lansoprazole Chemical compound CC1=C(OCC(F)(F)F)C=CN=C1CS(=O)C1=NC2=CC=CC=C2N1 MJIHNNLFOKEZEW-UHFFFAOYSA-N 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Debugging And Monitoring (AREA)
Abstract
音声対応アプリケーションは、タスクに関して定義される。タスクの完了を示す情報および/またはターンデータに関連する情報は、音声対応アプリケーションが実行される時に、タスクに対して相対的に記録可能である。
Description
下の議論は、単に、全般的背景情報として提供され、請求される主題の範囲を判定する際の助けとして使用されることは意図されていない。
携帯情報端末(PDA)、デバイス、および携帯電話機などの小型コンピューティング、デバイスは、人々によって、彼らの毎日の活動でますます高まる頻度で使用されている。現在これらのデバイスを動作させるのに使用されるマイクロプロセッサに使用可能な処理能力の向上に伴って、これらのデバイスの機能性は、高まりつつあり、いくつかの場合に、合併されつつある。たとえば、多数の携帯電話機は、現在、インターネットにアクセスし、ブラウズするのに使用することができ、住所、電話番号、および類似物などの個人情報を記憶するのに使用することができる。
したがって、これらのコンピューティングデバイスが高まる頻度で使用されつつあることを考慮すると、ユーザが情報をこれらのコンピューティングデバイスに入力する簡単なインターフェースを提供する必要がある。残念ながら、これらのデバイスを簡単に持ち運べるようにするためにこれらのデバイスをできる限り小さくすることの望みに起因して、分離されたボタンとしてアルファベットのすべての文字を有する従来のキーボードは、通常、これらのコンピューティングデバイスのハウジングで使用可能な限られた表面積に起因して、可能ではない。小型コンピューティングデバイスの例を超えてさえ、すべてのタイプのコンピューティングデバイス用のより便利なインターフェースを提供することへの関心がある。
この問題に対処するために、コンピューティングデバイス上でローカルに、ローカルネットワークを介して、または、インターネットなどの広域ネットワークを介してのいずれであれ、情報にアクセスするのにボイスまたは音声を使用することへの高まる関心および採用があった。音声認識を用いると、ダイアログ対話は、一般に、ユーザとコンピューティングデバイスとの間で行われる。ユーザは、通常は可聴におよび/または可視に情報を受け取り、プロンプトに可聴に応答するか、コマンドを発行する。しかし、しばしば、アプリケーションの開発中または展開後に、そのアプリケーションの性能を確かめることが望ましい。具体的に言うと、アプリケーションに関するユーザの使用法および/または成功率を確かめることが望ましい。そのような情報があれば、開発者は、アプリケーションのユーザの必要をよりよく満足するために、アプリケーションを「チューニングする」(すなわち、調整を行う)ことができる可能性がある。たとえば、アプリケーションとユーザとの間のダイアログのうちで、問題に出会う可能性が最も高い部分を識別することが、有用である場合がある。この形で、ダイアログのこれらの部分を、混乱を軽減するために調整することができる。
アプリケーションとユーザとの間の対話データの記録またはロギングが、アプリケーションの性能を測定するために行われる。しかし、一般に、アプリケーション対話データのロギングは、たとえば(1)データを生成するのが面倒である、すなわち、アプリケーション開発者が、分析およびチューニング用の正しいデータを収集するために、コード内のさまざまな位置でアプリケーションを計測する(すなわち、システムデータのロギングに使用されるメッセージのセットを定義し、実装する)世話をしなければならず、(2)計測プロセスが、通常はアプリケーション固有の形で行われ、異なるアプリケーションにまたがってポータブルではなく、(3)ユーザの意図に関するより豊富な情報を用いてデータに注釈を付ける手動トランスクリプションプロセス(および/または他の明示的な人間による介入)が適用されない限り、対話ログデータが、限られた価値を有する、という短所のうちのいずれか1つまたはその組合せから損害を受ける場合がある。
この「発明の開示」は、下の「発明を実施するための最良の形態」でさらに説明されるいくつかの概念を単純化された形で紹介するために提供される。この「発明の開示」では、請求される主題の主要な特徴または本質的特徴を識別することは意図されておらず、請求される主題の範囲を判定する際の助けとして使用されることも意図されていない。
音声対応アプリケーションは、タスクに関して定義される。タスクの完了を示す情報および/またはターンデータ(turn data)に関係する情報が、音声対応アプリケーションが実行される時にタスクに対して相対的に記録可能である。
タスクの完了を示す情報を、Dialogデータと称する。このデータは、タスクの完了の成功または失敗を定量化する。さらに、Dialogデータには、タスクが不成功であるまたは失敗する場合に理由を含めることができ、あるいは、適用可能な場合に、成功について複数の理由が可能である場合に成功の理由を含めることができる。追加データには、ユーザが応答を提供しなかった場合または音声リコグナイザが発話を認識できなかった場合を示す進行状況データを含めることができる。変化した入力フィールド値またはその状況のリストをも記録することができる。
Turnデータは、アプリケーションとの直接対話を含み、アプリケーションによって提供されるプロンプト(応答が期待されない時)またはユーザ応答もしくはその不在に相関されたアプリケーションプロンプト、言い換えると、プロンプト/応答交換に基づいて編成される。したがって、記録できるデータの3つの領域は、プロンプトの目的を含む、アプリケーションによって提供されるプロンプトと、応答の目的を含む、ユーザによって提供される応答と、システムによって判定された認識結果とに関する情報を含む。
音声アプリケーションの計測およびログ記録ならびにこれを実施する方法を説明する前に、音声アプリケーションで使用できるコンピューティングデバイスを全般的に説明することが有用である可能性がある。ここで図1を参照すると、データ管理デバイス(PIM、PDA、または類似物)の例示的な形が、30に示されている。しかし、本明細書で説明する概念を、下で述べる他のコンピューティングデバイス、具体的には入力ボタンまたは類似物のための限られた表面積を有するコンピューティングデバイスを使用して実践することもできることが、企図されている。たとえば、電話機および/またはデータ管理デバイスも、本明細書で説明される概念から利益を得る。そのようなデバイスは、既存のポータブルパーソナル情報管理デバイスおよび他のポータブル電子デバイスと比較して高められたユーティリティを有し、そのようなデバイスの機能およびコンパクトなサイズは、ユーザがそのデバイスを常時持ち運ぶことを促進する可能性がより高い。したがって、本明細書で説明される応用例の範囲が、本明細書で示される例示的なデータ管理デバイスもしくはPIMデバイス、電話機、またはコンピュータの開示に限定されることは、意図されていない。
データ管理モバイルデバイス30の例示的な形が、図1に示されている。モバイルデバイス30は、ハウジング32を含み、ディスプレイ34を含むユーザインターフェースを有し、ディスプレイ34は、スタイラス33と共に接触感知型ディスプレイスクリーンを使用する。スタイラス33は、指定された座標でディスプレイ34を押すかこれに接触して、フィールドを選択し、カーソルの開始位置を選択的に移動し、またはジェスチャもしくは手書きを介するなど、他の形でコマンド情報を提供するのに使用される。その代わりにまたはそれに加えて、1つまたは複数のボタン35を、ナビゲーションのためにデバイス30に含めることができる。さらに、回転可能なホイール、ローラー、または類似物などの他の入力機構を設けることもできる。しかし、本発明がこれらの形の入力機構によって限定されることが意図されていないことに留意されたい。たとえば、別の形の入力に、コンピュータビジョンを介するなどのビジュアル入力を含めることができる。
ここで図2を参照すると、ブロック図に、モバイルデバイス30を含む機能コンポーネントが示されている。中央処理装置(CPU)50が、ソフトウェア制御機能を実装する。CPU 50は、ディスプレイ34に結合され、その結果、制御ソフトウェアに従って生成されたテキストおよびグラフィックアイコンが、ディスプレイ34に表示されるようになる。スピーカ43を、通常はディジタル−アナログコンバータ59と共にCPU 50に結合して、可聴出力を提供することができる。モバイルデバイス30にダウンロードされるかユーザによって入力されたデータは、CPU 50に両方向で結合された不揮発性読み取り/書き込みランダムアクセスメモリストア54に格納される。ランダムアクセスメモリ(RAM)54は、CPU 50によって実行される命令の揮発性ストレージと、レジスタ値などの一時的データのストレージとをもたらす。構成オプションおよび他の変数のデフォルト値は、読み取り専用メモリ(ROM)58に格納される。ROM 58は、モバイル30の基本機能性および他のオペレーティングシステムカーネル機能(たとえば、RAM 54へのソフトウェアコンポーネントのロード)を制御する、デバイスのオペレーティングシステムソフトウェアを格納するのにも使用することができる。
RAM 54は、アプリケーションプログラムを格納するのに使用されるPC上のハードドライブの機能に似た形で、コードのストレージとしても働く。不揮発性メモリが、コードの格納に使用されているが、その代わりに、コードの実行には使用されない揮発性メモリにコードを格納することができることに留意されたい。
無線信号を、CPU 50に結合された無線トランシーバ52を介してモバイルデバイスによって送信/受信することができる。オプションの通信インターフェース60を、望まれる場合に、コンピュータ(たとえば、デスクトップコンピュータ)または有線ネットワークから直接にデータをダウンロードするために設けることもできる。したがって、インターフェース60は、さまざまな形の通信デバイス、たとえば、赤外線リンク、モデム、ネットワークカード、または類似物を含むことができる。
モバイルデバイス30は、マイクロホン29、アナログ−ディジタル(A/D)コンバータ37、およびストア54に格納されたオプションの認識プログラム(音声、DTMF、手書き、ジェスタ、またはコンピュータビジョン)を含む。たとえば、デバイス30のユーザからの可聴の情報、命令、またはコマンドに応答して、マイクロホン29は、音声信号を供給し、この信号がA/Dコンバータ37によってディジタル化される。音声認識プログラムは、ディジタル化された音声信号に対して正規化機能および/または特徴抽出機能を実行して、中間音声認識結果を得ることができる。無線トランシーバ52または通信インターフェース60を使用して、音声データを、下で述べる、図4のアーキテクチャに示されたリモート認識サーバ204に送信することができる。その後、認識結果を、モバイルデバイス30でのレンダリング(たとえば、ビジュアルおよび/または可聴)およびウェブサーバ202(図4)への最終的な送信のためにモバイルデバイス30に返すことができ、ここで、ウェブサーバ202およびモバイルデバイス30は、クライアント/サーバ関係で動作する。類似する処理を、他の形の入力について使用することができる。たとえば、手書き入力を、デバイス30での前処理を伴ってまたはこれを伴わずにディジタル化することができる。音声データと同様に、この形の入力を、認識のために認識サーバ204に送信することができ、ここで、認識結果は、その後、デバイス30および/またはウェブサーバ202のうちの少なくとも1つに返される。同様に、DTMFデータ、ジェスチャデータ、およびビジュアルデータを、似た形で処理することができる。入力の形に応じて、デバイス30(および上で述べた他の形のクライアント)は、ビジュアル入力用のカメラなど、必要なハードウェアを含むはずである。
上で説明したポータブルコンピューティングデバイスまたはモバイルコンピューティングデバイスに加えて、本明細書で説明する概念を、一般的なデスクトップコンピュータなどの多数の他のコンピューティングデバイスと共に使用できることを理解されたい。たとえば、限られた身体能力を有するユーザは、フル英数字キーボードなどの他の従来の入力装置の操作が難し過ぎる場合に、コンピュータまたは他のコンピューティングデバイスにテキストを入力することができる。
本発明は、多数の他の汎用のまたは特殊目的のコンピューティングシステム、コンピューティング環境、またはコンピューティング構成と共にも動作する。本発明と共に使用するのに適切である可能性がある周知のコンピューティングシステム、コンピューティング環境、および/またはコンピューティング構成の例は、無線電話機またはセルラ電話機、通常の電話機(スクリーンを伴わない)、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル消費者電子製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、および類似物を含むが、これらに限定はされない。
次は、図3に示された汎用コンピュータ120の短い説明である。しかし、コンピュータ120は、やはり、適切なコンピューティング環境の1つの例にすぎず、本発明の使用または機能性の範囲に関する限定を提案することは意図されていない。コンピュータ120を、その中に示されたコンポーネントのいずれかまたはその組合せに関する依存性または要件を有するものと解釈してもならない。
下の説明を、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の全体的な文脈で提供することができる。一般に、プログラムモジュールは、特定のタスクを実行するか特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含む。本明細書で説明される例示的実施形態は、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実践することもできる。分散コンピューティング環境では、プログラムモジュールを、メモリストレージデバイスを含む、ローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体との両方に配置することができる。プログラムおよびモジュールによって実行されるタスクを、下で、図面の助けを得て説明する。当業者は、この説明および図面を、プロセッサ実行可能命令として実装することができ、このプロセッサ実行可能命令は、任意の形のコンピュータ可読媒体に書き込まれ得る。
図3を参照すると、コンピュータ120のコンポーネントは、処理ユニット140と、システムメモリ150と、システムメモリを含むさまざまなシステムコンポーネントを処理ユニット140に結合するシステムバス141とを含むことができるが、これらに限定はされない。システムバス141は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含む複数のタイプのバス構造のいずれかとすることができる。限定ではなく例として、そのようなアーキテクチャに、Industry Standard Architecture(ISA)バス、Universal Serial Bus(USB)、マイクロチャネルアーキテクチャ(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、およびメザニンバスとも称するPeripheral Component Interconnect(PCI)バスが含まれる。コンピュータ120には、通常は、さまざまなコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、コンピュータ120によってアクセスすることができるすべての使用可能な媒体とすることができ、コンピュータ可読媒体には、揮発性媒体と不揮発性媒体との両方、取外し可能媒体と取外し不能媒体との両方が含まれる。限定ではなく例として、コンピュータ可読媒体に、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造体、プログラムモジュール、または他のデータなどの情報を記憶する任意の方法またはテクノロジで実施される、揮発性と不揮発性と両方の、取外し可能および取外し不能の媒体が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリテクノロジ、CD−ROM、ディジタル多用途ディスク(DVD)、または他の光学ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは所望の情報を格納するのに使用することができ、コンピュータ120によってアクセスすることができるすべての他の媒体が含まれるが、これに限定はされない。
通信媒体は、通常、搬送波または他のトランスポート機構などの変調されたデータ信号内でコンピュータ可読命令、データ構造体、プログラムモジュール、または他のデータを実施し、通信媒体は、すべての情報配信媒体を含む。用語「変調されたデータ信号」は、信号内で情報を符号化する形でその特性の1つまたは複数を設定または変更された信号を意味する。制限ではなく例として、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体と、音響、RF、赤外線、および他の無線媒体などの無線媒体を含む。上記のいずれかの組合せも、コンピュータ可読媒体の範囲に含まれなければならない。
システムメモリ150には、読み取り専用メモリ(ROM)151およびランダムアクセスメモリ(RAM)152などの揮発性および/または不揮発性のメモリの形のコンピュータ記憶媒体が含まれる。起動中などにコンピュータ120内の要素の間での情報の転送を助ける基本ルーチンを含む基本入出力システム153(BIOS)が、通常はROM 151に格納される。RAM 152には、通常は、即座にアクセス可能であるおよび/または処理ユニット140によって現在操作されているデータおよび/またはプログラムモジュールが含まれる。制限ではなく例として、図3に、オペレーティングシステム154、アプリケーションプログラム155、他のプログラムモジュール156、およびプログラムデータ157を示す。
コンピュータ120には、他の取外し可能/取外し不能の揮発性/不揮発性コンピュータ記憶媒体を含めることもできる。例としてのみ、図3に、取外し不能不揮発性磁気媒体から読み取るかこれに書き込むハードディスクドライブ161、取外し可能不揮発性磁気ディスク172から読み取るかこれに書き込む磁気ディスクドライブ171、およびCD−ROMまたは他の光学媒体などの取外し可能不揮発性光ディスク176から読み取るかこれに書き込む光学ディスクドライブ175を示す。この例示的オペレーティング環境で使用することができる他の取外し可能/取外し不能の揮発性/不揮発性コンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM、および類似物が含まれるが、これに限定はされない。ハードディスクドライブ161は、通常は、インターフェース160などの取外し不能メモリインターフェースを介してシステムバス141に接続され、磁気ディスクドライブ171および光学ディスクドライブ175は、通常は、インターフェース170などの取外し可能メモリインターフェースによってシステムバス141に接続される。
上で述べ、図3に図示したドライブおよびそれに関連するコンピュータ記憶媒体は、コンピュータ120のコンピュータ可読命令、データ構造体、プログラムモジュール、および他のデータのストレージを提供する。図3では、たとえば、ハードディスクドライブ161が、オペレーティングシステム164、アプリケーションプログラム165、他のプログラムモジュール166、およびプログラムデータ167を格納するものとして図示されている。これらのコンポーネントを、オペレーティングシステム154、アプリケーションプログラム155、他のプログラムモジュール156、およびプログラムデータ157と同一または異なるいずれかとすることができることに留意されたい。オペレーティングシステム164、アプリケーションプログラム165、他のプログラムモジュール166、およびプログラムデータ167は、最低限でもこれらが異なるコピーであることを示すために、本明細書では異なる符号を与えられている。
ユーザは、キーボード182、マイクロホン183、およびマウス、トラックボール、またはタッチパッドなどのポインティングデバイス181などの入力デバイスを介してコンピュータ120にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)に、ジョイスティック、ゲームパッド、衛星放送受信用パラボラアンテナ、スキャナ、または類似物を含めることができる。上記および他の入力デバイスは、しばしば、システムバスに結合されたユーザ入力インターフェース180を介して処理ユニット140に接続されるが、パラレルポート、ゲームポート、またはuniversal serial bus(USB)などの、他のインターフェースおよびバス構造によって接続されることが可能である。モニタ184または他のタイプのディスプレイデバイスも、ビデオインターフェース185などのインターフェースを介してシステムバス141に接続される。モニタの他に、コンピュータに、スピーカ187およびプリンタ186など、出力周辺インターフェース188を介して接続することができる他の周辺出力デバイスをも含めることができる。
コンピュータ120は、リモートコンピュータ194などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモートコンピュータ194は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常は、コンピュータ120に関して上で説明した要素の多数またはすべてを含む。図3に示された論理接続には、ローカルエリアネットワーク(LAN)191および広域ネットワーク(WAN)193が含まれるが、他のネットワークを含めることもできる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびインターネットでありふれたものである。
LANネットワーキング環境で使用される場合に、コンピュータ120は、ネットワークインターフェースまたはネットワークアダプタ190を介してLAN 191に接続される。WANネットワーキング環境で使用される場合に、コンピュータ120には、通常は、インターネットなどのWAN 193を介する通信を確立する、モデム192または他の手段が含まれる。モデム192は、内蔵または外付けとすることができるが、ユーザ入力インターフェース180または他の適当な機構を介してシステムバス141に接続することができる。ネットワーク化された環境では、コンピュータ120に関して示されたプログラムモジュールまたはその諸部分を、リモートメモリストレージデバイスに格納することができる。制限ではなく例として、図3に、リモートコンピュータ194に常駐するリモートアプリケーションプログラム195を示す。図示のネットワーク接続が、例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用することができることを了解されたい。
例示的実施形態
図4に、本明細書で説明する概念と共に使用できるネットワークベースの認識(本明細書では広域ネットワークを用いて例示される)のアーキテクチャ200を示す。しかし、リモートコンポーネントとの相互作用が、リコグナイザを含む音声アプリケーションを、その中にすべての必要なコンポーネントまたはモジュールが存在する単一のコンピューティングデバイス上で動作可能とすることができるという点で、1つの実施形態にすぎないことを理解されたい。
図4に、本明細書で説明する概念と共に使用できるネットワークベースの認識(本明細書では広域ネットワークを用いて例示される)のアーキテクチャ200を示す。しかし、リモートコンポーネントとの相互作用が、リコグナイザを含む音声アプリケーションを、その中にすべての必要なコンポーネントまたはモジュールが存在する単一のコンピューティングデバイス上で動作可能とすることができるという点で、1つの実施形態にすぎないことを理解されたい。
一般に、ウェブサーバ202に格納された情報には、モバイルデバイス30(本明細書では、入力の形に基づいて、必要に応じてディスプレイスクリーン、マイクロホン、カメラ、接触感知型パネルなどを有する他の形のコンピューティングデバイスも表す)を介して、または電話機80を介して(この場合に、情報は、可聴にまたは押されたキーに応答して電話機80によって生成されるトーンを介して要求され、ウェブサーバ202からの情報は、可聴でのみユーザに戻って供給される)アクセスすることができる。
この例示的実施形態では、アーキテクチャ200は、情報が音声認識を使用してデバイス30または電話機80のどちらを介して入手される場合であっても、単一の認識サーバ204が動作の両方のモードをサポートできるという点で、統一されている。さらに、アーキテクチャ200は、周知のマークアップ音声(たとえば、HTML、XHTML、cHTML、XML、WML、および類似物)の拡張を使用して動作する。したがって、ウェブサーバ202に格納された情報に、これらのマークアップ音声に見られる周知のGUI法を使用してアクセスすることもできる。周知のマークアップ音声の拡張を使用することによって、ウェブサーバ202でのオーサリングが、より簡単であり、現在存在するレガシアプリケーションを、ボイスまたは他の形の認識を含むように簡単に変更することもできる。
一般に、デバイス30は、ウェブサーバ202によって供給されるHTML+スクリプトまたは類似物を実行する。ボイス認識が必要な時には、たとえば、上で述べたようにオーディオ信号がデバイス30によって前処理されている、ディジタル化されたオーディオ信号または音声特徴とすることのできる音声データが、音声認識中に使用すべき文法または言語モデルの表示と共に認識サーバ204に供給される。認識サーバ204の実施態様は、多数の形をとることができ、その1つが図示されているが、一般に、リコグナイザ211を含む。認識の結果を、望まれる場合または適当な場合にローカルレンダリングのためにデバイス30に戻して供給することができる。認識および使用される場合のすべてのグラフィカルユーザインターフェースを介する情報のコンパイルの際に、デバイス30は、さらなる処理および必要な場合のさらなるHTMLスクリプトの受け取りのために、情報をウェブサーバ202に送信する。
図4に示されているように、デバイス30、ウェブサーバ202、および認識サーバ204は、一般に、ネットワーク205、ここではインターネットなどの広域ネットワークを介して接続され、別々にアドレッシング可能である。したがって、これらのデバイスのいずれかが、物理的に互いに隣接して配置されることは、必要ではない。具体的に言うと、ウェブサーバ202が認識サーバ204を含むことは、必要ではない。この形で、ウェブサーバ202でのオーサリングは、作成者が認識サーバ204の込み入った事情を知る必要なしに、それが意図されたアプリケーションに焦点を合わせることができる。作成者が認識サーバ204の込み入った事情を知る必要があるのではなく、認識サーバ204を、独立に設計し、ネットワーク205に接続することができ、これによって、ウェブサーバ202でのさらなる変更を必要とせずに、認識サーバ204を更新し、改善することができる。下で述べるように、ウェブサーバ202には、クライアントサイドマークアップおよびスクリプトを動的に生成できるオーサリング機構を含めることもできる。さらなる実施形態で、ウェブサーバ202、認識サーバ204、およびデバイス30を、実装するマシンの機能に応じて組み合わせることができる。たとえば、クライアントが、汎用コンピュータ、たとえばパーソナルコンピュータを含む場合に、クライアントに、認識サーバ204を含めることができる。同様に、望まれる場合に、ウェブサーバ202および認識サーバ204を、単一のマシンに組み込むことができる。
電話機80を介するウェブサーバ202へのアクセスは、有線または無線の電話網208への電話機80の接続を含み、この接続は、電話機80をサードパーティゲートウェイ210に接続する。ゲートウェイ210は、電話機80をテレフォニボイスブラウザ212に接続する。テレフォンボイスブラウザ212は、テレフォニインターフェースおよびボイスブラウザ216を提供するメディアサーバ214を含む。デバイス30と同様に、テレフォニボイスブラウザ212は、ウェブサーバ202からHTMLスクリプトまたは類似物を受信する。一実施形態で、HTMLスクリプトは、デバイス30に供給されるHTMLスクリプトに類似する形を有する。この形で、ウェブサーバ202は、デバイス30および電話機80を別々にサポートする必要がなく、標準GUIクライアントを別々にサポートする必要さえない。そうではなく、共通のマークアップ言語を使用することができる。さらに、デバイス30と同様に、電話機80によって送信される可聴信号からのボイス認識は、ボイスブラウザ216から認識サーバ204へ、たとえばTCP/IPを使用して、ネットワーク205を介してまたは専用回線207を介してのいずれかで供給される。ウェブサーバ202、認識サーバ204、およびテレフォンボイスブラウザ212は、図3に示された汎用デスクトップコンピュータなどの任意の適切なコンピューティング環境で実施することができる。
しかし、DTMF認識が使用される場合に、この形の認識が、一般に、認識サーバ204ではなくメディアサーバ214で実行されることに留意されたい。言い換えると、DTMF文法は、メディアサーバ214によって使用されるはずである。
図4に戻ると、ウェブサーバ202には、サーバサイドプラグインオーサリングツールまたはモジュール209(たとえば、Microsoft CorporationによるASP、ASP+、およびASP.Net、JSP、Java(登録商標)beans、または類似物)を含めることができる。サーバサイドプラグインモジュール209は、クライアントサイドマークアップを動的に生成でき、ウェブサーバ202にアクセスするクライアントのタイプ用のマークアップの特定の形すら動的に生成することができる。クライアント情報は、クライアント/サーバ関係の最初の確立時にウェブサーバ202に供給することができ、あるいは、ウェブサーバ202に、クライアントデバイスの機能を検出するモジュールまたはルーチンを含めることができる。この形で、サーバサイドプラグインモジュール209は、ボイス認識シナリオごとに、すなわち電話機80を介してはボイスのみまたはデバイス30についてマルチモーダルで、クライアントサイドマークアップを生成することができる。一貫するクライアントサイドモデルを使用することによって、多数の異なるクライアント用のアプリケーションオーサリングが、大幅により単純になる。
クライアントサイドマークアップの動的生成に加えて、下で述べる高水準ダイアログモジュールを、アプリケーションオーサリングでの開発者による使用のためにストア211に格納されるサーバサイドコントロールとして実装することができる。一般に、高水準ダイアログモジュール211は、開発者によって指定されるパラメータに基づいて、ボイスのみのシナリオとマルチモーダルシナリオとの両方でクライアントサイドマークアップおよびスクリプトを動的に生成する。高水準ダイアログモジュール211には、開発者の必要に合わせるために、クライアントサイドマークアップを生成するためのパラメータを含めることができる。
クライアントサイドマークアップの生成
上で示したように、サーバサイドプラグインモジュール209は、クライアントデバイス30から要求が行われた時に、クライアントサイドマークアップを出力する。手短に言うと、サーバサイドプラグインモジュール209は、ウェブサイトを、したがってアプリケーションおよびそのアプリケーションによって提供されるサービスを、定義しまたは構築することを可能にする。サーバサイドプラグインモジュール209内の命令は、コンパイルされたコードから作られる。このコードは、ウェブ要求がウェブサーバ202に達する時に実行される。次に、サーバサイドプラグインモジュール209が、新しいクライアントサイドマークアップページを出力し、このクライアントサイドマークアップページが、クライアントデバイス30に送信される。周知の通り、このプロセスを、一般にレンダリングと称する。サーバサイドプラグインモジュール209は、マークアップ言語を抽象化し、カプセル化する「コントロール」を操作し、したがってクライアントサイドマークアップページのコードを操作する。マークアップ言語を抽象化し、カプセル化し、ウェブサーバ202上で動作するそのようなコントロールは、たとえば、「サーブレット」または「サーバサイドプラグイン」を含み、またはこれらと同等である。
上で示したように、サーバサイドプラグインモジュール209は、クライアントデバイス30から要求が行われた時に、クライアントサイドマークアップを出力する。手短に言うと、サーバサイドプラグインモジュール209は、ウェブサイトを、したがってアプリケーションおよびそのアプリケーションによって提供されるサービスを、定義しまたは構築することを可能にする。サーバサイドプラグインモジュール209内の命令は、コンパイルされたコードから作られる。このコードは、ウェブ要求がウェブサーバ202に達する時に実行される。次に、サーバサイドプラグインモジュール209が、新しいクライアントサイドマークアップページを出力し、このクライアントサイドマークアップページが、クライアントデバイス30に送信される。周知の通り、このプロセスを、一般にレンダリングと称する。サーバサイドプラグインモジュール209は、マークアップ言語を抽象化し、カプセル化する「コントロール」を操作し、したがってクライアントサイドマークアップページのコードを操作する。マークアップ言語を抽象化し、カプセル化し、ウェブサーバ202上で動作するそのようなコントロールは、たとえば、「サーブレット」または「サーバサイドプラグイン」を含み、またはこれらと同等である。
既知の通り、従来技術のサーバサイドプラグインモジュールは、ビジュアルレンダリングおよびクライアントデバイス30との相互作用に関するクライアントサイドマークアップを生成することができる。特許出願書に、認識拡張および可聴プロンプト拡張を含めるためのサーバサイドプラグインモジュール209の拡張に関する3つの異なる手法が詳細に記載されている(たとえば、特許文献1および特許文献2参照)。本発明の諸態様は、これらの手法のすべてと共に使用することができるが、1つの手法の短い説明を、例示的実施形態を説明するために下で提供する。
図5を参照すると、認識/可聴プロンプトコントロール306は、ビジュアルコントロール302と別々であるが、下で述べるように選択的にこれに関連する。この形で、コントロール306は、ビジュアルコントロール302に直接に基づいて構築されるのではなく、ビジュアルコントロール302を書き直す必要なしに認識/可聴プロンプト使用可能化を提供する。コントロール306は、コントロール302と同様に、ライブラリ300を使用する。この実施形態で、ライブラリ300は、ビジュアルプロンプトマークアップ情報と認識/可聴プロンプトマークアップ情報との両方を含む。
この手法には、大きい利益がある。第1に、ビジュアルコントロール302は、内容において変更される必要がない。第2に、コントロール306は、一貫性があり、音声対応コントロール302の性質に従って変更される必要がない単一のモジュールを形成することができる。第3に、音声使用可能化のプロセスすなわち、ビジュアルコントロール302とのコントロール306の明示的な関連付けは、明示的かつ選択的なプロセスなので、設計時に完全に開発者の制御の下にある。これは、ビジュアルコントロールのマークアップ言語が、コントロール306によって生成されたマークアップ言語によって提供される認識を介してまたはキーボードなどの従来の入力デバイスを介してなど、複数のソースからの入力値を受け取ることを可能にもする。短く言うと、コントロール306を、サーバサイドプラグインモジュール209のビジュアルオーサリングページの既存アプリケーションオーサリングページに追加することができる。コントロール306は、クライアントデバイス30のユーザに対話の新しいモーダリティ(すなわち、認識および/または可聴プロンプト)を提供すると同時に、ビジュアルコントロールのアプリケーションロジックおよびビジュアル入出力機能を再利用する。コントロール306を、アプリケーションロジックをコーディングできるビジュアルコントロール302に関連付けることができることを考慮して、コントロール306を、以下では「コンパニオンコントロール306」と称し、ビジュアルコントロール302を、「プライマリコントロール302」と称する。これらの言及が、コントロール302および306を区別するために提供され、制限的であることは意図されていないことに留意されたい。たとえば、コンパニオンコントロール306を使用して、ボイスのみウェブサイトなどのビジュアルレンダリングを含まないウェブサイトを開発し、またはオーサリングすることができる。その場合に、ある種のアプリケーションロジックを、コンパニオンコントロールロジックで実施することができる。
コンパニオンコントロール400の例示的セットを、図6に示す。この実施形態では、コンパニオンコントロール400は、一般に、QAコントロール402、Commandコントロール404、CompareValidatorコントロール406、Custom Validatorコントロール408、およびsemantic map410を含む。semantic map410は、概略的に示されており、semantic item 412を含み、semantic item 412は、ビジュアルドメインプライマリコントロール402(たとえば、コンパニオンコントロール400のHTMLおよび非ビジュアル認識ドメインの間のレイヤ)を形成する、入力フィールドと考えることができる。
QAコントロール402は、出力コントロールの機能を実行するPromptオブジェクトを参照する、すなわち、ヒューマンダイアログ用の「プロンプトする」クライアントサイドマークアップを提供するPromptプロパティを含み、このクライアントサイドマークアップは、通常、直接にマークアップに含まれるかURLを介して参照されるデータである事前に録音されたオーディオファイルまたはテキスト−音声変換用のテキストを再生することを含む。同様に、入力コントロールは、QAコントロール402およびCommandコントロール404として実施され、ヒューマンダイアログにも従い、Promptプロパティ(Promptオブジェクトを参照する)と少なくとも1つのAnswerオブジェクトを参照するAnswerプロパティとを含む。QAコントロール402とCommandコントロール404との両方が、クライアントデバイス30のユーザからの期待される入力または可能な入力に文法を関連付ける。
この点で、コントロールのそれぞれの短い説明を提供することが役に立つ可能性がある。
この点で、コントロールのそれぞれの短い説明を提供することが役に立つ可能性がある。
QAコントロール
一般に、QAコントロール402は、図示のプロパティを介して、たとえば、出力可聴プロンプトの提供、入力データの収集、入力結果の信頼性妥当性検査の実行、入力データの確認の可能化、およびウェブサイトでのダイアログフローの制御の援助のうちの1つまたは複数を実行することができる。言い換えると、QAコントロール402は、特定のトピックのコントロールとして機能するプロパティを含む。
一般に、QAコントロール402は、図示のプロパティを介して、たとえば、出力可聴プロンプトの提供、入力データの収集、入力結果の信頼性妥当性検査の実行、入力データの確認の可能化、およびウェブサイトでのダイアログフローの制御の援助のうちの1つまたは複数を実行することができる。言い換えると、QAコントロール402は、特定のトピックのコントロールとして機能するプロパティを含む。
QAコントロール402は、他のコントロールと同様に、ウェブサーバ202上で実行され、これは、QAコントロール402が、サーバサイドマークアップフォーマリズム(ASP、JSP、または類似物)を使用してウェブサーバ上で保持されるアプリケーション開発ウェブページで定義されるが、異なる形のマークアップとしてクライアントデバイス30に出力されることを意味する。QAコントロールがプロパティPrompt、Reco、Answers、ExtraAnswers、およびConfirmsのすべてから形成されるように見える図6に図示されてはいるが、これらが、単にオプションであり、これらのうちの1つまたは複数をQAコントロールのために含めることができることを理解されたい。
この点で、アプリケーションシナリオに関してQAコントロール402の使用を説明することが役に立つ可能性がある。図6を参照すると、ボイスのみアプリケーションにおいて、QAコントロール402は、ダイアログ内の質問および回答として機能することができる。質問は、Promptオブジェクトによって提供され、文法は、入力データの認識およびその入力に対する関連する処理のための文法オブジェクトを介して定義される。Answersプロパティは、Answerオブジェクトを使用して、認識された結果をSemantic Map 410内のSemanticItem 412に関連付け、Answerオブジェクトは、認識結果をどのように処理するかに関する情報を含む。線414は、Semantic Map 410およびその中のSemanticItem 412とのQAコントロール402の関連付けを示す。多数のSemanticItem 412が、線418によって表されるようにビジュアルコントロールまたはプライマリコントロール302に個別に関連するが、1つまたは複数のSemanticItem 412を、ビジュアルコントロールに関連せず、内部的にのみ使用されるものとすることができる。クライアントデバイス30のユーザが、たとえば「TapEvent」を用いてビジュアルテキストボックスに触れることができるマルチモーダルシナリオでは、可聴プロンプトが、必要でない場合がある。たとえば、クライアントデバイスのユーザが対応するフィールドに何を入力しなければならないかの表示を形成するビジュアルテキストを有するテキストボックスを含むプライマリコントロールについて、対応するQAコントロール402は、オーディオ再生またはテキスト−音声変換などの対応するプロンプトを有しても有しなくてもよいが、認識に関する期待される値に対応する文法と、入力を処理するか、音声が検出されない、音声が認識されない、またはタイムアウト時に発火されるイベントなどの他のリコグナイザイベントを処理するイベントハンドラとを有する。
さらなる実施形態では、認識結果が、その認識結果が正しかったことの信頼性のレベルを示す信頼性レベル測定値を含む。確認閾値を、Answerオブジェクト内で、たとえば0.7と等しいConfirmThresholdとして指定することもできる。確認レベルが、関連する閾値を超える場合に、その結果を、確認されたと考えることができる。
それに加えてまたはその代わりに、音声認識の文法を指定するために、QAコントロールおよび/またはCommandコントロールが、Dtmf(デュアルトーン変調周波数)文法を指定して、プロンプトまたは質問に応答する電話機キーアクティブ化を認識できることにも留意されたい。
この点で、Semantic Map 410のSemanticItem 412が、たとえば認識を介して音声またはDtmfを充たされた時に、複数のアクションを行えることに留意されたい。第1に、値が「変更された」ことを示すイベントを、発行するか発火させることができる。確認レベルが満足されたかどうかに応じて、発行または発火できるもう1つのイベントに、対応するセマンティックアイテムが確認されたことを示す「確認」イベントが含まれる。これらのイベントは、ダイアログを制御するのに使用される。
Confirmsプロパティには、SemanticItem 412に関連し、望まれる場合にConfirmThresholdを含むことができるという点で、Answersプロパティに関して上で説明したものに類似する構造を有する回答オブジェクトを含めることもできる。Confirmsプロパティは、認識結果自体を含むことが意図されているのではなく、既に含まれる結果を確認し、含まれる結果が正しいかどうかをユーザから確かめることが意図されている。Confirmsプロパティは、前に得られた結果の値が正しかったかどうかをアサートするのに使用されるAnswerオブジェクトのコレクションである。含むQAのPromptオブジェクトは、これらのアイテムについて照会し、関連するSemanticItem 412から認識結果を入手し、これを「Did you say Seattle?(シアトルと言いましたか)」などの質問に形成する。ユーザが、「Yes(はい)」などの肯定で応答する場合に、確認済みイベントが発火される。ユーザが、「No(いいえ)」などの否定で応答する場合に、関連するSemanticItem 412がクリアされる。
Confirmsプロパティは、確認プロンプトがユーザに提供された後に、訂正を受け入れることもできる。たとえば、確認プロンプト「Did you say Seattle?」に応答して、ユーザが、「San Francisco(サンフランシスコ)」、または「No,San Francisco(いいえ、サンフランシスコです)」と応答することができ、この場合に、QAコントロールは、訂正を受け取っている。Answerオブジェクトを介してどのSemanticItemが確認されているかに関する情報を有するので、SemanticItem内の値を、訂正された値に置換することができる。望まれる場合に、「When did you want to go to Seattle?(いつシアトルに行きたいですか)」などの情報に関して、さらなるプロンプトに確認を含めることができ、ここで、システムによるこのプロンプトは、「Seattle」に関する確認と、出発の日付に関するさらなるプロンプトとを含むことに留意されたい。目的地の場所に対する訂正を提供するユーザによる応答は、Confirmsプロパティをアクティブ化して、関連するセマンティックアイテムを訂正し、出発日だけを伴う応答は、目的地の暗黙の確認を提供する。
ExtraAnswersプロパティは、ユーザが既に行われたプロンプトまたは照会に加えて提供できるAnswerオブジェクトを、アプリケーション作成者が指定することを可能にする。たとえば、旅行指向システムが、目的地の都市に関してユーザにプロンプトを出すが、ユーザが「Seattle tomorrow(シアトル、明日)」を示すことによって応答する場合に、当初にそのユーザにプロンプトを出したAnswersプロパティは、目的地都市「Seattle」を取り出し、したがってこれを適当なSemanticItemにバインドするが、ExtraAnswersプロパティは、次に続く日として「Tomorrow」を処理することができ(システムが現在の日付を知っていると仮定して)、これによって、この結果をSemantic Map内の適当なSemanticItemにバインドすることができる。ExtraAnswersプロパティは、ユーザがそれについても述べる可能性がある可能な余分な情報について定義された1つまたは複数のAnswerオブジェクトを含む。上で提供した例では、出発日に関しても情報を取り出したので、確認レベルが対応するConfirmThresholdを超えると仮定すると、このシステムは、この情報についてユーザに再びプロンプトを出す必要がない。確認レベルが対応する閾値を超えなかった場合には、適当なConfirmsプロパティがアクティブ化されるはずである。
Commandコントロール
Commandコントロール404は、通常は問われた質問に関する意味的インポートをほとんど有しておらず、むしろ、たとえばヘルプ、キャンセル、繰り返しなど、援助を求めるかナビゲーションをもたらす、ボイスのみダイアログで一般的なユーザ発話である。Commandコントロール404には、プロンプトオブジェクトを指定するPromptプロパティを含めることができる。さらに、Commandコントロール404は、文法(Grammarプロパティを介する)および認識に対する関連する処理(どちらかといえば、SemanticItemへの結果のバインディングなしのAnswerオブジェクトに似る)だけではなく、コンテキストの「スコープ」およびタイプを指定するのにも使用することができる。これは、クライアントサイドマークアップでのグローバル挙動とコンテキスト感応型挙動との両方のオーサリングを可能にする。Commandコントロール404は、「ヘルプ」コマンドまたは、クライアントデバイスのユーザがウェブサイトの他の選択されたエリアへナビゲートすることを可能にするコマンドなど、追加のタイプの入力を可能にする。
Commandコントロール404は、通常は問われた質問に関する意味的インポートをほとんど有しておらず、むしろ、たとえばヘルプ、キャンセル、繰り返しなど、援助を求めるかナビゲーションをもたらす、ボイスのみダイアログで一般的なユーザ発話である。Commandコントロール404には、プロンプトオブジェクトを指定するPromptプロパティを含めることができる。さらに、Commandコントロール404は、文法(Grammarプロパティを介する)および認識に対する関連する処理(どちらかといえば、SemanticItemへの結果のバインディングなしのAnswerオブジェクトに似る)だけではなく、コンテキストの「スコープ」およびタイプを指定するのにも使用することができる。これは、クライアントサイドマークアップでのグローバル挙動とコンテキスト感応型挙動との両方のオーサリングを可能にする。Commandコントロール404は、「ヘルプ」コマンドまたは、クライアントデバイスのユーザがウェブサイトの他の選択されたエリアへナビゲートすることを可能にするコマンドなど、追加のタイプの入力を可能にする。
CompareValidatorコントロール
CompareValidatorコントロールは、演算子に従って2つの値を比較し、適当なアクションを行う。比較される値は、整数、テキストのストリングなど、任意の形とすることができる。CompareValidatorは、妥当性検査されるSemanticItemを示すプロパティSematicItemtoValidateを含む。妥当性検査されるSemanticItemを、定数または別のSemanticItemと比較することができ、ここで、定数または他のSemanticItemは、それぞれプロパティValuetoCompareおよびSematicItemtoCompareによって供給される。CompareValidatorに関連する他のパラメータまたはプロパティには、行われる比較を定義するOperatorと、たとえば整数またはセマンティックアイテムのストリングなど、値のタイプを定義するTypeとが含まれる。
CompareValidatorコントロールは、演算子に従って2つの値を比較し、適当なアクションを行う。比較される値は、整数、テキストのストリングなど、任意の形とすることができる。CompareValidatorは、妥当性検査されるSemanticItemを示すプロパティSematicItemtoValidateを含む。妥当性検査されるSemanticItemを、定数または別のSemanticItemと比較することができ、ここで、定数または他のSemanticItemは、それぞれプロパティValuetoCompareおよびSematicItemtoCompareによって供給される。CompareValidatorに関連する他のパラメータまたはプロパティには、行われる比較を定義するOperatorと、たとえば整数またはセマンティックアイテムのストリングなど、値のタイプを定義するTypeとが含まれる。
CompareValidatorコントロールに関連する妥当性検査が不合格の場合に、Promptプロパティは、得られた結果が正しくなかったことをユーザに指示する、再生できるPromptオブジェクトを指定することができる。比較の際に妥当性検査が不合格になる場合には、SematicItemtoValidateによって定義された関連するSemanticItemは、システムが正しい値についてユーザに再びプロンプトを出すために、空であるものとして示される。しかし、正しくない値が、正しくない値を繰り返すユーザへのプロンプトに使用される場合に、Semantic Map内の関連するSemanticItemの正しくない値をクリアしないことが役に立つ場合がある。アプリケーション作成者の望みに応じて、CompareValidatorコントロールを、関連するSemanticItemの値が値を変化させる時またはその値が確認された時のいずれかにトリガすることができる。
CustomValidatorコントロール
CustomValidatorコントロールは、CompareValidatorコントロールに似ている。プロパティSematicItemtoValidateは、妥当性検査されるSemanticItemを示し、プロパティClientValidationFunctionは、関連する関数またはスクリプトを介してカスタム妥当性検査ルーチンを指定する。この関数は、妥当性検査が不合格であったか否かのブール値「yes」もしくは「no」またはその同等物を提供する。Promptプロパティは、妥当性検査のエラーまたは不合格の表示を提供するPromptオブジェクトを指定することができる。アプリケーション作成者の望みに応じて、CustomValidatorコントロールを、関連するSemanticItemの値が値を変化させる時またはその値が確認された時のいずれかにトリガすることができる。
CustomValidatorコントロールは、CompareValidatorコントロールに似ている。プロパティSematicItemtoValidateは、妥当性検査されるSemanticItemを示し、プロパティClientValidationFunctionは、関連する関数またはスクリプトを介してカスタム妥当性検査ルーチンを指定する。この関数は、妥当性検査が不合格であったか否かのブール値「yes」もしくは「no」またはその同等物を提供する。Promptプロパティは、妥当性検査のエラーまたは不合格の表示を提供するPromptオブジェクトを指定することができる。アプリケーション作成者の望みに応じて、CustomValidatorコントロールを、関連するSemanticItemの値が値を変化させる時またはその値が確認された時のいずれかにトリガすることができる。
コントロール実行アルゴリズム
クライアントサイドスクリプトまたはクライアントサイドモジュール(本明細書では「RunSpeech」と称する)が、図6のコントロールに関してクライアントデバイスに提供される。このスクリプトの目的は、ロジックを介してダイアログフローを実行するためであり、このロジックは、スクリプトがクライアントデバイス30で実行される時、すなわち、コントロールに関係するマークアップがクライアントに含まれる値に起因してクライアントでの実行のためにアクティブ化される時に、スクリプトで指定される。このスクリプトは、ページ要求の間での複数のダイアログターンを可能にし、したがって、テレフォニブラウザ216を介するなど、ボイスのみダイアログのコントロールに特に役立つ。クライアントサイドスクリプトRunSpeechは、完成したフォームがサブミットされるか、新しいページが他の形でクライアントデバイス30から要求されるまで、クライアントデバイス30上でループの形で実行される。
クライアントサイドスクリプトまたはクライアントサイドモジュール(本明細書では「RunSpeech」と称する)が、図6のコントロールに関してクライアントデバイスに提供される。このスクリプトの目的は、ロジックを介してダイアログフローを実行するためであり、このロジックは、スクリプトがクライアントデバイス30で実行される時、すなわち、コントロールに関係するマークアップがクライアントに含まれる値に起因してクライアントでの実行のためにアクティブ化される時に、スクリプトで指定される。このスクリプトは、ページ要求の間での複数のダイアログターンを可能にし、したがって、テレフォニブラウザ216を介するなど、ボイスのみダイアログのコントロールに特に役立つ。クライアントサイドスクリプトRunSpeechは、完成したフォームがサブミットされるか、新しいページが他の形でクライアントデバイス30から要求されるまで、クライアントデバイス30上でループの形で実行される。
一般に、一実施形態で、このアルゴリズムは、音声を出力し、ユーザ入力を認識することによって、ダイアログターンを生成する。このアルゴリズムの全体的なロジックは、ボイスのみシナリオについて、次の通りである(他の形で上で述べられていないプロパティまたはパラメータについては、特許出願(たとえば、特許文献1参照)を参照されたい)。
1.音声インデックス順で、第1のアクティブな(下で定義する)QAコントロール、CompareValidatorコントロール、またはCustomValidatorコントロールを見つける。
2.アクティブコントロールがない場合には、ページをサブミットする。
3.そうでない場合には、コントロールを実行する。
1.音声インデックス順で、第1のアクティブな(下で定義する)QAコントロール、CompareValidatorコントロール、またはCustomValidatorコントロールを見つける。
2.アクティブコントロールがない場合には、ページをサブミットする。
3.そうでない場合には、コントロールを実行する。
QAは、次の場合に限ってアクティブと考えられる。
1.QAのclientActivationFunctionが、存在しないかtrueを返すかのいずれかであり、かつ、
2.Answersプロパティコレクションが空でない場合に、AnswersのセットによってポイントされるすべてのSemanticItemsのStateがEmptyであり、または、
3.Answersプロパティコレクションが空である場合に、Confirmアレイ内の少なくとも1つのSemanticItemのStateがNeedsConfirmationである。
しかし、QAが、trueのPlayOnceを有し、そのPromptが成功して実行された(OnCompleteに達した)場合に、そのQAは、アクティブ化の候補ではない。
1.QAのclientActivationFunctionが、存在しないかtrueを返すかのいずれかであり、かつ、
2.Answersプロパティコレクションが空でない場合に、AnswersのセットによってポイントされるすべてのSemanticItemsのStateがEmptyであり、または、
3.Answersプロパティコレクションが空である場合に、Confirmアレイ内の少なくとも1つのSemanticItemのStateがNeedsConfirmationである。
しかし、QAが、trueのPlayOnceを有し、そのPromptが成功して実行された(OnCompleteに達した)場合に、そのQAは、アクティブ化の候補ではない。
QAは、次のように実行される。
1.これが、前のアクティブコントロールと異なるコントロールである場合には、プロンプトCount値をリセットする。
2.Promptカウント値を増分する。
3.PromptSelectFunctionが指定されている場合には、その関数を呼び出し、返されたストリングをPromptのinlinePromptにセットする。
4.Recoオブジェクトが存在する場合には、それを開始する。このRecoは、既にアクティブコマンド文法を含んでいなければならない。
1.これが、前のアクティブコントロールと異なるコントロールである場合には、プロンプトCount値をリセットする。
2.Promptカウント値を増分する。
3.PromptSelectFunctionが指定されている場合には、その関数を呼び出し、返されたストリングをPromptのinlinePromptにセットする。
4.Recoオブジェクトが存在する場合には、それを開始する。このRecoは、既にアクティブコマンド文法を含んでいなければならない。
Validator(CompareValidatorまたはCustomValidatorのいずれか)は、次の場合にアクティブである。
1.SemanticItemToValidateが、このバリデータによって妥当性検査されておらず、その値が変化している。
1.SemanticItemToValidateが、このバリデータによって妥当性検査されておらず、その値が変化している。
CompareValidatorは、次のように実行される。
1.バリデータのOperatorに従って、SemanticItemToCompareまたはValueToCompareの値とSemanticItemToValidateの値とを比較する。
2.このテストがfalseを返す場合には、SemanticItemToValidateのテキストフィールドを空にし、プロンプトを再生する。
3.このテストがtrueを返す場合には、このバリデータによって妥当性検査されたものとしてSemanticItemToValidateをマークする。
1.バリデータのOperatorに従って、SemanticItemToCompareまたはValueToCompareの値とSemanticItemToValidateの値とを比較する。
2.このテストがfalseを返す場合には、SemanticItemToValidateのテキストフィールドを空にし、プロンプトを再生する。
3.このテストがtrueを返す場合には、このバリデータによって妥当性検査されたものとしてSemanticItemToValidateをマークする。
CustomValidatorは、次のように実行される。
1.SemanticItemToValidateの値を用いてClientValidationFunctionを呼び出す。
2.この関数がfalseを返す場合には、semanticItemをクリアし、プロンプトを再生する。そうでない場合には、このバリデータによって妥当性検査される。
1.SemanticItemToValidateの値を用いてClientValidationFunctionを呼び出す。
2.この関数がfalseを返す場合には、semanticItemをクリアし、プロンプトを再生する。そうでない場合には、このバリデータによって妥当性検査される。
Commandは、次の場合に限ってアクティブと考えられる。
1.それがScope内にあり、かつ、
2.スコープツリー内でより下に同一Typeの別のCommandがない。
1.それがScope内にあり、かつ、
2.スコープツリー内でより下に同一Typeの別のCommandがない。
マルチモーダルの場合に、このロジックは、次のアルゴリズムに単純化される。
1.トリガするイベントすなわち、ユーザがコントロールをタップするのを待つ。
2.期待される回答を収集する。
3.入力を聴く。
4.結果をSemanticItemにバインドする。結果がない場合には、イベントを送出する。
5.1に戻る。
1.トリガするイベントすなわち、ユーザがコントロールをタップするのを待つ。
2.期待される回答を収集する。
3.入力を聴く。
4.結果をSemanticItemにバインドする。結果がない場合には、イベントを送出する。
5.1に戻る。
マルチモーダル環境では、ユーザが結果のビジュアルプレゼンテーションに関連するテキストボックスまたは他の入力フィールドを訂正する場合に、このシステムが、値が確認されたことを示すために、関連するSemanticItemを更新できることに留意されたい。
さらなる実施形態では、図6に示されているように、アプリケーション作成者がテレフォニトランザクションを処理する音声アプリケーションを作成することを可能にするcallコントロール407、ならびに共通の音声シナリオを1つのコントロールにラップする手段を提供するapplicationコントロール430が設けられる。callコントロール407およびapplicationコントロール430は、本発明の実線に必要ではなく、単に完全を期して言及されたものである。このそれぞれのさらなる議論は、特許出願(たとえば、特許文献1および特許文献2参照)で提供される。
ユーザ対話データの記録
例として前述の構造を使用することによって、アプリケーション開発者は、音声対応アプリケーションを開発することができる。しかし、本明細書で説明する諸態様は、開発者がユーザ対話データを記録しまたはロギングすることを可能にする。
例として前述の構造を使用することによって、アプリケーション開発者は、音声対応アプリケーションを開発することができる。しかし、本明細書で説明する諸態様は、開発者がユーザ対話データを記録しまたはロギングすることを可能にする。
それでも、本明細書で説明する概念は、ダイアログモデルを提供する、上で説明したダイアログオーサリング構造に限定されるのではなく、ミドルウェア、API(アプリケーションプログラムインターフェース)または類似物として実装されるものなどであるがこれらに限定はされないダイアログモデルを生成する、下で説明する情報の一部またはすべてを記録するように構成された任意のオーサリングツールに適用できることを理解されたい。さらに、テレフォニアプリケーションなどの音声対応アプリケーションの機能的性質およびそのボイスユーザインターフェースの詳細は、ドメインおよびアプリケーションタイプにまたがって大きく異なる可能性があり、したがって、通常可能にされる任意の自動化ロギングは、ヒューリスティックに過ぎず、決定的ではない。この理由から、これの実装は、変更不能なプロパティではなく、オーバーライド可能なデフォルトとして自動化ログイベントプロパティを実装する可能性が高い。それでも、豊富な情報のロギングを単純化し、容易にすることは、手動オーサリングおよびプログラム的オーサリングに頼るシステムに対する大きい進歩である。
戻って図4を参照すると、ダイアログコントロール211に従って音声対応アプリケーションを実行するウェブサーバ202は、モバイルデバイス30を介するアクセスまたは電話機80を介するアクセスなどであるがこれらに限定されない任意のタイプのユーザのためにアプリケーションが実行される時に、ストア217にユーザ対話ログデータを記録する。
アプリケーションは、一般に、それほど排他的にではなく、本明細書で通常は必要に応じてCommandコントロール404、Applicationコントロール430、Callコントロール407、ならびにバリデータ406および408と共にQAコントロール402によって例示される階層コントロールのセットとして定義され、または記述される。この階層は、完了されなければならない全体的タスクならびにその全体的タスクを完了するためのその全体的タスクのサブタスクを定義する。この階層内のレベルの個数は、アプリケーションの複雑さに依存する。たとえば、アプリケーションを、全体的に航空便予約に向ける(すなわち最上位タスク)ことができ、2つの主要なサブタスクは、出発情報および到着情報の入手に向けられる。同様に、さらなるサブタスクを、具体的には、出発/到着空港情報、出発/到着時刻などを入手するサブタスクを、出発情報の入手および到着情報の入手という主要なサブタスクのそれぞれについて定義することができる。これらのサブタスクは、それを含むタスク内のシーケンス内に現れるものとすることができる。
一般に、2タイプのデータすなわち、Task/DialogデータおよびTurnデータが記録される。Task/Dialogデータから始めると、ログ内で表されるこのデータは、タスクおよびサブタスクに関するアプリケーションの階層構造またはシーケンシャル構造を取り込まなければならない。図7に、アプリケーションを作成する方法500を示す。ダイアログオーサリングツールは、ステップ502で、ネストされたTask単位またはシーケンシャルTask単位に関してダイアログのオーサリングまたは定義を可能にし、その結果、開発者が音声対応アプリケーションを記述する時に、その作成者は、通常、その音声対応アプリケーションをモジュラの形で記述するようになる。すなわち、作成者は、個々のTurnを特定のTaskを達成するセットにグループ化し、個々のタスクをより上位のTaskを達成するセットにグループ化することを奨励される。Task構造および個々のTaskに出入りするフローは、設計時に既知なので、ステップ504で、Taskに入ることまたはTaskから出ることのロギング(たとえば、TaskStartイベントおよびTaskCompleteイベントを介する)ならびにアプリケーションによって使用される入力フィールドに関してユーザから入手されるTurnデータおよび値のロギング(本明細書では「セマンティックアイテム」として例示される)を可能にして、Task構造のシーケンスおよび/または階層の自動化ロギングを提供する。これは、ダイアログフロー、入手された値、およびTask構造を、イベントログから明示的に回復でき、構築できることを意味する。ステップ502および504が、これらのステップの特徴の一部またはすべてを異なる順序でまたは同時に実行できるという点で、例示のみを目的として別々に示されていることに留意されたい。
このデータは、任意の所与のタスクまたはサブタスクの完了の成功、失敗、または他(たとえば未知)という状況をも定量化する。さらに、Task/Dialogデータは、タスクが不成功もしくは失敗の場合の理由、またはその完了状況が既知でない理由、または適用可能な場合に複数の理由が成功について可能である場合に成功の理由を含む。追加データには、ユーザが応答を供給しなかった場合または音声リコグナイザが発話を認識できなかった場合を示す進行状況データを含めることができる。プロンプトまたはユーザ応答に基づくかこれに関連する値に関してアプリケーションによって使用される入力フィールド値またはストレージロケーションのリスト、あるいは変化したその状況をも、記録することができる。
図8に、音声対応アプリケーションを実行する方法520を示す。方法520は、ステップ522で、1つまたは複数のTurnを有するTaskに関して定義された音声対応アプリケーションを実行することを含む。ステップ524は、Task、Turn、およびセマンティックアイテムに関係する情報を記録することを含む。ステップ522および524が、これらのステップの特徴の一部またはすべてを異なる順序でまたは同時に実行できるという点で、例示のみを目的として別々に示されていることに留意されたい。
一実施形態で、Task/Dialogデータは、次の情報の一部またはすべてを含む。
Task/Dialogデータ
name:タスク/ダイアログの作成者定義のストリング識別子、たとえば「getCreditCardInfo」、「ConfirmTravel」など。作成者が設計時に名前を供給しない場合には、たとえばDialog1、Dialog2、DialogN、…など、デフォルト名が与えられる。
parent:含むダイアログの名前(ログからダイアログ階層を再構成するために)。
TaskStart:Task/Dialogに最初に入った時のタイムスタンプ。
TaskComplete:Task/Dialogから出た時のタイムスタンプ。このイベントは、デフォルト値を有するアプリケーションが閉じられる時のすべての開かれているダイアログについて、ボトムアップで必ず発火されなければならない(すなわち、ログに「オープンエンド」のダイアログはない)。
status:タスク/ダイアログの完了状況であり、作成者によってセット可能であり、ダイアログの実行に基づいて自動的に推論され、あるいは、作成者定義の条件に基づいて半自動的にセットされる。一実施形態で、デフォルト値状況を「UNSET」とすることができ、後続の値は、次のうちの1つとすることができる。
SUCCESS
FAILURE
UNKNOWN
Task/Dialogデータ
name:タスク/ダイアログの作成者定義のストリング識別子、たとえば「getCreditCardInfo」、「ConfirmTravel」など。作成者が設計時に名前を供給しない場合には、たとえばDialog1、Dialog2、DialogN、…など、デフォルト名が与えられる。
parent:含むダイアログの名前(ログからダイアログ階層を再構成するために)。
TaskStart:Task/Dialogに最初に入った時のタイムスタンプ。
TaskComplete:Task/Dialogから出た時のタイムスタンプ。このイベントは、デフォルト値を有するアプリケーションが閉じられる時のすべての開かれているダイアログについて、ボトムアップで必ず発火されなければならない(すなわち、ログに「オープンエンド」のダイアログはない)。
status:タスク/ダイアログの完了状況であり、作成者によってセット可能であり、ダイアログの実行に基づいて自動的に推論され、あるいは、作成者定義の条件に基づいて半自動的にセットされる。一実施形態で、デフォルト値状況を「UNSET」とすることができ、後続の値は、次のうちの1つとすることができる。
SUCCESS
FAILURE
UNKNOWN
自動タスク完了状況
ある種の場合に、上で示したように、状況を、タスク出口の性質から、その状況が成功、失敗、または未知のうちの1つであったかどうかを穏当な確かさで推論することができる。たとえば、エラーまたは例外の結果として終了するタスクを、Failureの完了状況と共に自動的にロギングすることができる。同様に、キャンセルされたタスク(たとえば、Cancel()がタスクオブジェクトに対して呼び出された場合)を、Failureの完了状況と共に自動的にロギングすることができる。同様に、ある種の「ストライクアウト」(たとえば、下で述べるMaxSilencesまたはMaxNoReco)カウントに達したの結果として終了するタスクを、Failureの完了状況と共に自動的にロギングすることができる。
ある種の場合に、上で示したように、状況を、タスク出口の性質から、その状況が成功、失敗、または未知のうちの1つであったかどうかを穏当な確かさで推論することができる。たとえば、エラーまたは例外の結果として終了するタスクを、Failureの完了状況と共に自動的にロギングすることができる。同様に、キャンセルされたタスク(たとえば、Cancel()がタスクオブジェクトに対して呼び出された場合)を、Failureの完了状況と共に自動的にロギングすることができる。同様に、ある種の「ストライクアウト」(たとえば、下で述べるMaxSilencesまたはMaxNoReco)カウントに達したの結果として終了するタスクを、Failureの完了状況と共に自動的にロギングすることができる。
対照的に、そのタスクで出会うまたは設計時にそのタスクに属するものとして指定されたTurnのすべてのセマンティックアイテム(すなわち、アプリケーションの入力フィールド)が根拠のある(ユーザ入力またはそれから導出された)値を有する、自然に終了する(すなわち、キャンセルされていない)タスクは、Successの完了状況と共に自動的にロギングされる。
半自動化されたタスク完了
タスク状況ロギングの部分的自動化も、有用である。任意の所与のタスクについて、作成者は、満足された場合に出口の任意の点でのタスクの状況を決定する、タスクの成功または失敗に関する条件のセットをステップ502で指定しまたは定義することができる。これらの条件は、プログラム的(たとえば、foo==’bar’)とすることができ、あるいは、より役立つことに、作成者がタスクごとに1つまたは複数のセマンティックアイテム(たとえば、departureCityおよびarrivalCityについて提供される値)だけを指定する必要があるようになるように条件を単純化することができ、本システムは、これらのセマンティックアイテムが確認された値を有する時にSuccessを自動的にロギングし、オプションで、これらのセマンティックアイテムが確認された値を有しない時にFailureを自動的にロギングする。
タスク状況ロギングの部分的自動化も、有用である。任意の所与のタスクについて、作成者は、満足された場合に出口の任意の点でのタスクの状況を決定する、タスクの成功または失敗に関する条件のセットをステップ502で指定しまたは定義することができる。これらの条件は、プログラム的(たとえば、foo==’bar’)とすることができ、あるいは、より役立つことに、作成者がタスクごとに1つまたは複数のセマンティックアイテム(たとえば、departureCityおよびarrivalCityについて提供される値)だけを指定する必要があるようになるように条件を単純化することができ、本システムは、これらのセマンティックアイテムが確認された値を有する時にSuccessを自動的にロギングし、オプションで、これらのセマンティックアイテムが確認された値を有しない時にFailureを自動的にロギングする。
この態様は、タスク状況ロギングがタスクからのすべての出口点でプログラム的にコーディングされる必要がないことを意味するので、有用な、時間を節約する機構である。その代わりに、条件は、エンドユーザがタスクを終了する時に、必ず自動的に評価され、状況が、判定され、余分な開発者コードなしでロギングされる。
reason:作成者によってセットできる、ダイアログの完了の理由。たとえば、
Command − ダイアログの異なる部分に対して変更するためにユーザによって話されたコマンドおよびそのコマンドの性質(たとえば、「Cancel」、「Operator」、「Main Menu」など)。
userHangup − ユーザが、ハングアップするか、他の形で放棄するかあきらめた。
applicationError − アプリケーションエラーが発生した。
maxNoRecos − 認識に達することなく発話の最大回数に達した。
maxSilences − 無音ユーザ応答の最大回数に達した。
reason:作成者によってセットできる、ダイアログの完了の理由。たとえば、
Command − ダイアログの異なる部分に対して変更するためにユーザによって話されたコマンドおよびそのコマンドの性質(たとえば、「Cancel」、「Operator」、「Main Menu」など)。
userHangup − ユーザが、ハングアップするか、他の形で放棄するかあきらめた。
applicationError − アプリケーションエラーが発生した。
maxNoRecos − 認識に達することなく発話の最大回数に達した。
maxSilences − 無音ユーザ応答の最大回数に達した。
SemanticUpdate:
items:新しい値および対応する状況を含む、その値/状況が変更されたすべてのセマンティックアイテムのリスト。通常、このデータは、各ダイアログターン(アプリケーションによるプロンプト/ユーザによる応答または応答の欠如)に関して、1つまたは複数のセマンティックアイテム値および/または状況が変化するという点で、下で述べるTurnデータに相関される。しかし、いくつかの場合に、アプリケーションは、それ自体でセマンティックアイテムを変更することができる。たとえば、アプリケーションが、クレジットカード番号などの値を妥当性検査することができない場合に、そのアプリケーションは、必ずしもダイアログターンに基づくのではなく、それ自体でその値をクリアすることができる。それでも、そのような変更は記録されるはずである。
items:新しい値および対応する状況を含む、その値/状況が変更されたすべてのセマンティックアイテムのリスト。通常、このデータは、各ダイアログターン(アプリケーションによるプロンプト/ユーザによる応答または応答の欠如)に関して、1つまたは複数のセマンティックアイテム値および/または状況が変化するという点で、下で述べるTurnデータに相関される。しかし、いくつかの場合に、アプリケーションは、それ自体でセマンティックアイテムを変更することができる。たとえば、アプリケーションが、クレジットカード番号などの値を妥当性検査することができない場合に、そのアプリケーションは、必ずしもダイアログターンに基づくのではなく、それ自体でその値をクリアすることができる。それでも、そのような変更は記録されるはずである。
Turnデータは、アプリケーションとの直接対話を含み、アプリケーションによって提供されるプロンプト(応答が期待されない場合)またはユーザ応答もしくはユーザ応答の欠如に相関されるアプリケーションプロンプト、言い換えると、プロンプト/応答交換、または必ずしもプロンプトに応答するのではなくユーザによって提供されるコマンド、または少なくともプロンプトに対する応答であると期待されない応答に基づいて編成される。したがって、記録され得るデータの3つの領域は、アプリケーションによって提供されるプロンプト、ユーザによって供給される応答(期待される応答であれ期待されない応答であれ)、およびシステムによって決定される認識結果に関係する情報を含む。一実施形態で、Turnデータは、次の情報の一部またはすべてを含む。
Turnデータ
config
name:作成者定義のストリング識別子。作成者が設計時に名前を供給しない場合には、デフォルト名を与えることができる。しかし、同一のDialog/Task内の異なるターンの間で明瞭かつ一貫して区別する必要がある。可能な技法は、プロンプトの名前およびタイプに基づくことである。
type:特定のTurnの目的の指定を、それに関連するセマンティックアイテムの性質から推論することができる。上の前述の説明の場合に、セマンティックアイテムは、Answers、ExtraAnswers、およびConfirmsの概念を介してTurnに関連する。
Turnの目的の例には、次が含まれる。
新しい情報を求める(TurnはAnswersを使用可能にする)
関連情報を確認する(受け入れ/拒否、TurnはConfirmsを使用可能にする)
情報ステートメントを与える(TurnはAnswersまたはConfirmsを保持しない)。
parent:含むDialog/Taskの名前(ログからダイアログ階層を再構成するため)。
language:使用される言語。
speech grammars:どの音声認識文法が使用されているかに関する情報。
DMTF grammars:どのDTMF認識文法が使用されているかに関する情報。
thresholds:値の拒絶および/または値の確認に関する信頼性閾値。
timeouts:プロンプトに続く最初の無音について許容される時間期間、応答の終りを判定する終了無音、およびバブルと考えられる時間期間。
config
name:作成者定義のストリング識別子。作成者が設計時に名前を供給しない場合には、デフォルト名を与えることができる。しかし、同一のDialog/Task内の異なるターンの間で明瞭かつ一貫して区別する必要がある。可能な技法は、プロンプトの名前およびタイプに基づくことである。
type:特定のTurnの目的の指定を、それに関連するセマンティックアイテムの性質から推論することができる。上の前述の説明の場合に、セマンティックアイテムは、Answers、ExtraAnswers、およびConfirmsの概念を介してTurnに関連する。
Turnの目的の例には、次が含まれる。
新しい情報を求める(TurnはAnswersを使用可能にする)
関連情報を確認する(受け入れ/拒否、TurnはConfirmsを使用可能にする)
情報ステートメントを与える(TurnはAnswersまたはConfirmsを保持しない)。
parent:含むDialog/Taskの名前(ログからダイアログ階層を再構成するため)。
language:使用される言語。
speech grammars:どの音声認識文法が使用されているかに関する情報。
DMTF grammars:どのDTMF認識文法が使用されているかに関する情報。
thresholds:値の拒絶および/または値の確認に関する信頼性閾値。
timeouts:プロンプトに続く最初の無音について許容される時間期間、応答の終りを判定する終了無音、およびバブルと考えられる時間期間。
prompt
name:オプション。ターンデータ名を使用できるという点で必要ではない場合がある。
type:ダイアログモデルは、そのどれであってもアプリケーションによって選択することができ、それを使用することによってシステムが試みているものの記録を達成することを可能にする、複数の事前定義のプロンプトタイプすなわちTurnの目的を含むことができる。
プロンプトタイプの例には、次が含まれる。
MainPrompt − 質問をすること(またはステートメントを与えること)
HelpPrompt − ヘルプを提供すること
RepeatPrompt − 情報内容を繰り返すこと
NoRecognitionPrompt − 「認識なし」に応答すること
SilencePrompt − 無音に応答すること
EscalatedNoRecognitionPrompt − 複数の試行の後に「認識なし」に応答すること
EscalatedSilencePrompt − 複数の試行の後に無音に応答すること
これらのtypeは、事前定義であり、任意の時の選択に使用可能なので、typeによって自動的にロギングすることができ、これによって、Turnの目的を達成するための所与のプロンプトの目的という概念を用いてログデータを自動的に豊かにする。
したがって、すべてがダイアログオーサリングモデルのプログラミングプリミティブであり、したがってアプリケーションが出会った時に自動的にロギングされる、Turnタイプと組み合わされるプロンプトタイプは、ログ内の任意の点でのシステムの目的の豊かなビューを可能にする。
semantic items:それに関するプロンプトを出される(質問/確認サイクルをリンクすることなどに使用される)セマンティックアイテム。
ダイアログモデルは、ダイアログフローに関してオーサリングを単純化するために、それぞれが値および状況を含むセマンティックアイテムという概念を使用する。すべてのセマンティックアイテムの変化する値および状況を自動的にロギングし、それをタスクおよびユーザ/システム移動情報と組み合わせることによって、ログが、さらに豊かにされる。
Answers/ExtraAnswers/Confirmsモデルは、セマンティックアイテムをTurnに、したがってTaskにリンクする。したがって、どのセマンティックアイテムがどのシステム移動およびユーザ移動に関係し、どのセマンティックアイテムがどのTaskに寄与するかがわかる(自動的にロギングすることができる)。
プロンプトのテキスト内容:たとえば「welcome」。
bargein:オン/オフ/プロンプト中時間。
User Perceived Latency:ユーザの応答と次のプロンプトの再生との間の時間期間。システムが重い負荷の下にある時には、この時間期間がより長くなる場合があり、これは、アプリケーションが応答していないとユーザに思わせる可能性があるという点で、ユーザを混乱させる可能性がある。
TTS:True/False − テキスト−音声がプロンプトを生成するのに使用されていたかどうか。
プロンプト完了時間:プロンプトが完成された/中断された時間。
プロンプトwaveファイル:提供された実際のプロンプト。
name:オプション。ターンデータ名を使用できるという点で必要ではない場合がある。
type:ダイアログモデルは、そのどれであってもアプリケーションによって選択することができ、それを使用することによってシステムが試みているものの記録を達成することを可能にする、複数の事前定義のプロンプトタイプすなわちTurnの目的を含むことができる。
プロンプトタイプの例には、次が含まれる。
MainPrompt − 質問をすること(またはステートメントを与えること)
HelpPrompt − ヘルプを提供すること
RepeatPrompt − 情報内容を繰り返すこと
NoRecognitionPrompt − 「認識なし」に応答すること
SilencePrompt − 無音に応答すること
EscalatedNoRecognitionPrompt − 複数の試行の後に「認識なし」に応答すること
EscalatedSilencePrompt − 複数の試行の後に無音に応答すること
これらのtypeは、事前定義であり、任意の時の選択に使用可能なので、typeによって自動的にロギングすることができ、これによって、Turnの目的を達成するための所与のプロンプトの目的という概念を用いてログデータを自動的に豊かにする。
したがって、すべてがダイアログオーサリングモデルのプログラミングプリミティブであり、したがってアプリケーションが出会った時に自動的にロギングされる、Turnタイプと組み合わされるプロンプトタイプは、ログ内の任意の点でのシステムの目的の豊かなビューを可能にする。
semantic items:それに関するプロンプトを出される(質問/確認サイクルをリンクすることなどに使用される)セマンティックアイテム。
ダイアログモデルは、ダイアログフローに関してオーサリングを単純化するために、それぞれが値および状況を含むセマンティックアイテムという概念を使用する。すべてのセマンティックアイテムの変化する値および状況を自動的にロギングし、それをタスクおよびユーザ/システム移動情報と組み合わせることによって、ログが、さらに豊かにされる。
Answers/ExtraAnswers/Confirmsモデルは、セマンティックアイテムをTurnに、したがってTaskにリンクする。したがって、どのセマンティックアイテムがどのシステム移動およびユーザ移動に関係し、どのセマンティックアイテムがどのTaskに寄与するかがわかる(自動的にロギングすることができる)。
プロンプトのテキスト内容:たとえば「welcome」。
bargein:オン/オフ/プロンプト中時間。
User Perceived Latency:ユーザの応答と次のプロンプトの再生との間の時間期間。システムが重い負荷の下にある時には、この時間期間がより長くなる場合があり、これは、アプリケーションが応答していないとユーザに思わせる可能性があるという点で、ユーザを混乱させる可能性がある。
TTS:True/False − テキスト−音声がプロンプトを生成するのに使用されていたかどうか。
プロンプト完了時間:プロンプトが完成された/中断された時間。
プロンプトwaveファイル:提供された実際のプロンプト。
ユーザ入力:
mode:ユーザがDTMF/音声のどちらを提供しているか。
type:ユーザがCommandを提供しているかどうか、および、そうである場合に、どのタイプ(たとえば、Help/Repeat/など)か、または、ユーザがResponseを提供しているかどうか、および、そうである場合に、どのタイプ(たとえば、Answer/Confirm/Deny)か。
ダイアログモデルは、アプリケーションの文法の機能を、応答を提供する際のユーザの目的を示すユーザ応答の異なるタイプすなわち、Answer、Accept、Denyなどに分類する。これらのタイプは、ユーザが何を達成することを試みているとシステムが考えているかのインジケータとして直接にロギングすることができる。異なる応答タイプの例は、次の通りである。
Answer − ユーザが、値を要求する質問に対する回答を提供した。
ExtraAnswer − ユーザが、質問の焦点を越える回答を提供した。
Accept − ユーザが、情報の1つを確認した。
Deny − ユーザが、情報の1つに異議を唱えた。
Help Command − ユーザが、ヘルプを求めた。
Repeat Command − ユーザが、情報の繰り返しを要求した。
Other Command − ユーザが、ある他の形のコマンドを発行した(明示的にタイプを指定されないが、我々は、それが上のタイプのどれでもないことを知っている)。
Silence − ユーザが、何も言わなかった(これは、時々、ある形の「暗黙の受け入れ」として使用される)。
これらのタイプは、特定の文法に関連するので、ユーザが対応する文法に一致する何かを言う時に、必ず、これらを自動的にロギングすることができる。多くのシステムは、単一のダイアログターンに複数のタイプを含めることを許容し、たとえば、複数のアイテムを受け入れること、または単一のターンで1つのアイテムに回答し、別のアイテムを受け入れることを許容する。
Silence:無音が検出される場合に、MaxSilencesに対する相対的なその個数またはカウント。
NoReco:認識が発話について検出されない場合に、MaxNoRecosに対する相対的なその個数またはカウント。
Error:エラーが発生した場合に、それがアプリケーションまたはプラットフォームによって送出されたかどうか。
mode:ユーザがDTMF/音声のどちらを提供しているか。
type:ユーザがCommandを提供しているかどうか、および、そうである場合に、どのタイプ(たとえば、Help/Repeat/など)か、または、ユーザがResponseを提供しているかどうか、および、そうである場合に、どのタイプ(たとえば、Answer/Confirm/Deny)か。
ダイアログモデルは、アプリケーションの文法の機能を、応答を提供する際のユーザの目的を示すユーザ応答の異なるタイプすなわち、Answer、Accept、Denyなどに分類する。これらのタイプは、ユーザが何を達成することを試みているとシステムが考えているかのインジケータとして直接にロギングすることができる。異なる応答タイプの例は、次の通りである。
Answer − ユーザが、値を要求する質問に対する回答を提供した。
ExtraAnswer − ユーザが、質問の焦点を越える回答を提供した。
Accept − ユーザが、情報の1つを確認した。
Deny − ユーザが、情報の1つに異議を唱えた。
Help Command − ユーザが、ヘルプを求めた。
Repeat Command − ユーザが、情報の繰り返しを要求した。
Other Command − ユーザが、ある他の形のコマンドを発行した(明示的にタイプを指定されないが、我々は、それが上のタイプのどれでもないことを知っている)。
Silence − ユーザが、何も言わなかった(これは、時々、ある形の「暗黙の受け入れ」として使用される)。
これらのタイプは、特定の文法に関連するので、ユーザが対応する文法に一致する何かを言う時に、必ず、これらを自動的にロギングすることができる。多くのシステムは、単一のダイアログターンに複数のタイプを含めることを許容し、たとえば、複数のアイテムを受け入れること、または単一のターンで1つのアイテムに回答し、別のアイテムを受け入れることを許容する。
Silence:無音が検出される場合に、MaxSilencesに対する相対的なその個数またはカウント。
NoReco:認識が発話について検出されない場合に、MaxNoRecosに対する相対的なその個数またはカウント。
Error:エラーが発生した場合に、それがアプリケーションまたはプラットフォームによって送出されたかどうか。
result:
Recognition result:システムによって返された認識結果。一般に、認識結果は、解釈された発話のセマンティックマークアップ言語(SML)タグを含む。さらに、N−Best代替解釈を提供することができ、適当な場合にオーディオ記録結果を提供することができる。
さらに、解釈ごとに、
SMLタグなしの発話テキスト(音声が提供される場合)またはキー押下げ(DTMFが提供される場合)。
confidence:解釈の信頼性レベル。
semantic mappings:SML結果の諸部分とセマンティックアイテムとの間のリンク。言い換えると、SML結果からのどの値がどのセマンティックアイテムに置かれるか。
grammar rule matched:文法のどのルールがユーザ入力と一致したか。
confidence:全体としての発話の信頼性。
bargein:ユーザによる会話への割込みのタイミングまたはNULL(会話への割込みが存在しない場合)。
認識waveファイル:実際に記録されたユーザ入力またはそれへのポインタ。
Recognition result:システムによって返された認識結果。一般に、認識結果は、解釈された発話のセマンティックマークアップ言語(SML)タグを含む。さらに、N−Best代替解釈を提供することができ、適当な場合にオーディオ記録結果を提供することができる。
さらに、解釈ごとに、
SMLタグなしの発話テキスト(音声が提供される場合)またはキー押下げ(DTMFが提供される場合)。
confidence:解釈の信頼性レベル。
semantic mappings:SML結果の諸部分とセマンティックアイテムとの間のリンク。言い換えると、SML結果からのどの値がどのセマンティックアイテムに置かれるか。
grammar rule matched:文法のどのルールがユーザ入力と一致したか。
confidence:全体としての発話の信頼性。
bargein:ユーザによる会話への割込みのタイミングまたはNULL(会話への割込みが存在しない場合)。
認識waveファイル:実際に記録されたユーザ入力またはそれへのポインタ。
要約すると、ロギングされるユーザ対話データは、ダイアログを、関心を持たれているあるフィールド(たとえば、フォームフィールドまたはスロット値)を操作するタスクの階層構造またはシーケンシャル構造とみなすことを可能にし、タスク内の各ダイアログターンは、フォームフィールドに関するシステム目的(ダイアログ移動)(たとえば、値に関する質問、値の確認、値の繰り返しなど)と、音声リコグナイザがユーザ目的と考えているもの(たとえば、値の供給、値の拒否、ヘルプの要求など)との両方をロギングする。
実用的な利益が、この構造を用いて実現される。具体的に言うと、システム性能の分析は、成功または失敗のいずれかのタスク完了が、一般に明示的であり、したがって、トランザクション的成功レート報告が、非常に単純化され、タスクを完了するのに要するダイアログステップの性質が、よりよく理解される(各ステップの背後にある目的がオーサリング時に既知なので)という点で、改善される。
この形のデータロギングの実装は、これがダイアログオーサリングツールに組み込まれる形に起因して、簡単である。この計測の高水準の性質は、さまざまなアプリケーションタイプに一般的であり、ロギングの実際の詳細は、概念的にとロギングプリミティブに関してとの両方でこれがオーサリングツールに統合されることによって、オーサリング時に容易にされる。したがって、アプリケーション作成者は、タスク/サブタスクモデルを使用してアプリケーションを構造化し、タスクから出るどの遷移が成功の完了を示すかを示すことを奨励され、システム/ユーザ目的ロギングがダイアログターンオーサリングモデルに組み込まれるので、システム/ユーザ目的ロギングを明示的に計測する必要がなくなる。
上では、主題を、特定の実施形態を参照して説明したが、当業者は、添付の特許請求の範囲の趣旨および範囲から逸脱せずに、形態および詳細において変更を行えることを認めるであろう。
Claims (20)
- コンピュータシステムで実行される音声対応アプリケーションでユーザ対話データをロギングするコンピュータ実施される方法(520)であって、
前記コンピュータシステム上のタスクに関して定義される音声対応アプリケーションを実行すること(522)であって、タスクは、1つまたは複数のターンを含み、ターンは、前記音声対応アプリケーションによってユーザに提供されるプロンプトと、前記音声対応アプリケーションによって前記ユーザに提供されるプロンプトおよびそれに続く前記ユーザからの応答を含むプロンプト/応答交換とのうちの少なくとも1つを含む、実行すること(522)と、
(a)前記アプリケーションで実行されるタスクの完了と、(b)めいめいのタスクに対する相対的な対応するターンの目的と、(c)前記ユーザからの応答の認識に関して変化する前記アプリケーション内で使用される値の表示とのうちの少なくとも2つを示す情報を記録すること(524)と
を含むことを特徴とするコンピュータ実施される方法(520)。 - 前記音声対応アプリケーションを実行すること(522)は、前記タスク階層構造で定義される、前記音声対応アプリケーションを実行することを含むことを特徴とする請求項1に記載のコンピュータ実施される方法(520)。
- 各ターンの前記目的を示す情報を記録すること(524)は、ターンの前記目的が、前記音声対応アプリケーションが質問をすること、回答を確認すること、前記ユーザにヘルプを提供すること、およびプロンプトを繰り返すことのうちの少なくとも1つを含むかどうかを記録することを含むことを特徴とする請求項1に記載のコンピュータ実施される方法(520)。
- 前記めいめいのタスクに対する相対的な各ターンに関する情報を記録すること(524)は、前記プロンプトがどの入力フィールドに関連するかに関する情報を記録することを含むことを特徴とする請求項1に記載のコンピュータ実施される方法(520)。
- 前記めいめいのタスクに対する相対的な各ターンに関する情報を記録すること(524)は、前記応答がどの入力フィールドに関連するかに関する情報を記録することを含むことを特徴とする請求項1に記載のコンピュータ実施される方法(520)。
- 各ターンの前記目的を示す情報を記録すること(524)は、ターンの前記目的が、ユーザがコマンドを提供すること、回答を提供すること、確認を受け入れること、および確認を拒否することのうちの少なくとも1つを含むかどうかを記録することを含むことを特徴とする請求項1に記載のコンピュータ実施される方法(520)。
- 前記めいめいのタスクに対する相対的な各ターンに関する情報を記録すること(524)は、前記音声対応アプリケーションによって提供されるプロンプト、前記プロンプトに応答して前記ユーザによって提供される応答、および前記応答に関する音声リコグナイザによる認識結果に関する情報を記録することを含むことを特徴とする請求項1に記載のコンピュータ実施される方法(520)。
- タスクの完了を示す情報を記録すること(524)は、成功、失敗、または未知の完了状況値のうちの1つを示す情報を記録することを含むことを特徴とする請求項1に記載のコンピュータ実施される方法(520)。
- タスクの完了を示す情報を記録すること(524)は、前記タスクに関係するダイアログの完了の理由を示す情報を記録することを含むことを特徴とする請求項1に記載のコンピュータ実施される方法(520)。
- 音声対応アプリケーションを作成する命令を有するコンピュータ可読媒体であって、前記命令は、
コンピュータシステム上の階層構造内のタスクに関して音声対応アプリケーションを定義すること(502)と、
前記階層構造に対して相対的に前記アプリケーション内で実行されるタスクの完了を示す情報の記録を可能にすること(504)と
を含むことを特徴とするコンピュータ可読媒体。 - 定義すること(502)は、1つまたは複数のターンを使用するタスクを定義することを含み、ターンは、前記音声対応アプリケーションによってユーザに提供されるプロンプトと、前記音声対応アプリケーションによって前記ユーザに提供されるプロンプトおよびそれに続く前記ユーザからの応答を含むプロンプト/応答交換とのうちの少なくとも1つを含み、情報の前記記録を可能にすることは、対応するタスクに対して相対的に1つまたは複数のターンを示す情報の記録を可能にすることを含むことを特徴とする請求項10に記載のコンピュータ可読媒体。
- めいめいのタスクに対する相対的な各ターンに関する情報の前記記録を可能にすること(504)は、各ターンの目的を示す情報の記録を可能にすることを含むことを特徴とする請求項10に記載のコンピュータ可読媒体。
- 各ターンの前記目的を示す情報の前記記録を可能にすること(504)は、ターンの前記目的が、前記音声対応アプリケーションが質問をすること、回答を確認すること、前記ユーザにヘルプを提供すること、およびプロンプトを繰り返すことのうちの少なくとも1つを含むかどうかを記録することを含むことを特徴とする請求項12に記載のコンピュータ可読媒体。
- 各ターンの前記目的を示す情報の前記記録を可能にすること(504)は、ターンの前記目的が、ユーザがコマンドを提供すること、回答を提供すること、確認を受け入れること、および確認を拒否することのうちの少なくとも1つを含むかどうかの記録を可能にすることを含むことを特徴とする請求項12に記載のコンピュータ可読媒体。
- 各ターンに関する情報の前記記録を可能にすること(504)は、前記音声対応アプリケーションによって提供されるプロンプト、前記プロンプトに応答して前記ユーザによって提供される応答、および前記応答に関する音声リコグナイザによる認識結果に関する情報の記録を可能にすることを含むことを特徴とする請求項12に記載のコンピュータ可読媒体。
- 前記めいめいのタスクに対する相対的な各ターンに関する情報の前記記録を可能にすること(504)は、前記プロンプトがどの入力フィールドに関連するかに関する情報の記録を可能にすることを含むことを特徴とする請求項12に記載のコンピュータ可読媒体。
- 前記めいめいのタスクに対する相対的な各ターンに関する情報の前記記録を可能にすること(504)は、前記応答がどの入力フィールドに関連するかに関する情報の記録を可能にすることを含むことを特徴とする請求項12に記載のコンピュータ可読媒体。
- 音声対応アプリケーションを作成する命令を有するコンピュータ可読媒体であって、前記命令は、
コンピュータシステム上のタスクに関して音声対応アプリケーションを定義すること(502)であって、タスクは、1つまたは複数のターンを含み、ターンは、前記音声対応アプリケーションによってユーザに提供されるプロンプトと、前記音声対応アプリケーションによって前記ユーザに提供されるプロンプトおよびそれに続く前記ユーザからの応答を含むプロンプト/応答交換とのうちの少なくとも1つを含む、定義すること(502)と、
前記音声対応アプリケーションの実行中に、前記1つまたは複数のターンのそれぞれに関するユーザおよびシステムの目的を示し、(a)前記アプリケーション内で実行されるタスクの完了および(b)前記ユーザからの応答の認識に関して変化する前記アプリケーション内で使用される値の表示のうちの少なくとも1つに関連する情報の記録を可能にすること(504)と
を含むことを特徴とするコンピュータ可読媒体。 - タスクの完了を示す情報の前記記録を可能にすること(504)は、成功、失敗、または未知の完了状況値のうちの1つを示す情報の記録を可能にすることを含むことを特徴とする請求項18に記載のコンピュータ可読媒体。
- 情報の前記記録を可能にすること(504)は、プロンプトがどの入力フィールドに関連するかに関する情報の記録および応答がどの入力フィールドに関連するかに関する情報の記録を可能にすることを含むことを特徴とする請求項19に記載のコンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/170,808 US20070006082A1 (en) | 2005-06-30 | 2005-06-30 | Speech application instrumentation and logging |
PCT/US2006/022137 WO2007005185A2 (en) | 2005-06-30 | 2006-06-07 | Speech application instrumentation and logging |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009500722A true JP2009500722A (ja) | 2009-01-08 |
JP2009500722A5 JP2009500722A5 (ja) | 2009-07-23 |
Family
ID=37591309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008519325A Pending JP2009500722A (ja) | 2005-06-30 | 2006-06-07 | 音声アプリケーションの測定およびロギング |
Country Status (7)
Country | Link |
---|---|
US (1) | US20070006082A1 (ja) |
EP (1) | EP1899851A4 (ja) |
JP (1) | JP2009500722A (ja) |
KR (1) | KR20080040644A (ja) |
CN (1) | CN101589427A (ja) |
MX (1) | MX2007015186A (ja) |
WO (1) | WO2007005185A2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7873523B2 (en) * | 2005-06-30 | 2011-01-18 | Microsoft Corporation | Computer implemented method of analyzing recognition results between a user and an interactive application utilizing inferred values instead of transcribed speech |
US7853453B2 (en) * | 2005-06-30 | 2010-12-14 | Microsoft Corporation | Analyzing dialog between a user and an interactive application |
US8626511B2 (en) * | 2010-01-22 | 2014-01-07 | Google Inc. | Multi-dimensional disambiguation of voice commands |
CN101847407B (zh) * | 2010-03-12 | 2013-01-02 | 中山大学 | 一种基于xml的语音识别参数处理方法 |
US20150202386A1 (en) * | 2012-08-28 | 2015-07-23 | Osprey Medical, Inc. | Volume monitoring device utilizing hall sensor-based systems |
TWI515719B (zh) * | 2012-12-28 | 2016-01-01 | 財團法人工業技術研究院 | 基於目標名稱辨識之共用語音操控方法、裝置、其記錄媒體與程式產品 |
CA2909155A1 (en) * | 2013-04-10 | 2014-10-16 | Ruslan Albertovich SHIGABUTDINOV | Systems and methods for processing input streams of calendar applications |
US9690776B2 (en) * | 2014-12-01 | 2017-06-27 | Microsoft Technology Licensing, Llc | Contextual language understanding for multi-turn language tasks |
US10803865B2 (en) | 2018-06-05 | 2020-10-13 | Voicify, LLC | Voice application platform |
US11437029B2 (en) * | 2018-06-05 | 2022-09-06 | Voicify, LLC | Voice application platform |
US10636425B2 (en) | 2018-06-05 | 2020-04-28 | Voicify, LLC | Voice application platform |
US10235999B1 (en) | 2018-06-05 | 2019-03-19 | Voicify, LLC | Voice application platform |
CN111145754B (zh) * | 2019-12-12 | 2021-04-13 | 深圳追一科技有限公司 | 语音输入方法、装置、终端设备及存储介质 |
US11394755B1 (en) * | 2021-06-07 | 2022-07-19 | International Business Machines Corporation | Guided hardware input prompts |
CN115857865A (zh) * | 2022-11-07 | 2023-03-28 | 抖音视界有限公司 | 一种播放串音检测方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014647A (en) * | 1997-07-08 | 2000-01-11 | Nizzari; Marcia M. | Customer interaction tracking |
US6405170B1 (en) * | 1998-09-22 | 2002-06-11 | Speechworks International, Inc. | Method and system of reviewing the behavior of an interactive speech recognition application |
US6510411B1 (en) * | 1999-10-29 | 2003-01-21 | Unisys Corporation | Task oriented dialog model and manager |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6073097A (en) * | 1992-11-13 | 2000-06-06 | Dragon Systems, Inc. | Speech recognition system which selects one of a plurality of vocabulary models |
US5787414A (en) * | 1993-06-03 | 1998-07-28 | Kabushiki Kaisha Toshiba | Data retrieval system using secondary information of primary data to be retrieved as retrieval key |
US5588044A (en) * | 1994-11-22 | 1996-12-24 | Voysys Corporation | Voice response system with programming language extension |
US5678002A (en) * | 1995-07-18 | 1997-10-14 | Microsoft Corporation | System and method for providing automated customer support |
US6173266B1 (en) * | 1997-05-06 | 2001-01-09 | Speechworks International, Inc. | System and method for developing interactive speech applications |
US5999904A (en) * | 1997-07-02 | 1999-12-07 | Lucent Technologies Inc. | Tracking initiative in collaborative dialogue interactions |
US6606598B1 (en) * | 1998-09-22 | 2003-08-12 | Speechworks International, Inc. | Statistical computing and reporting for interactive speech applications |
US6839669B1 (en) * | 1998-11-05 | 2005-01-04 | Scansoft, Inc. | Performing actions identified in recognized speech |
US7216079B1 (en) * | 1999-11-02 | 2007-05-08 | Speechworks International, Inc. | Method and apparatus for discriminative training of acoustic models of a speech recognition system |
US6526382B1 (en) * | 1999-12-07 | 2003-02-25 | Comverse, Inc. | Language-oriented user interfaces for voice activated services |
US6829603B1 (en) * | 2000-02-02 | 2004-12-07 | International Business Machines Corp. | System, method and program product for interactive natural dialog |
US7085716B1 (en) * | 2000-10-26 | 2006-08-01 | Nuance Communications, Inc. | Speech recognition using word-in-phrase command |
US6823054B1 (en) * | 2001-03-05 | 2004-11-23 | Verizon Corporate Services Group Inc. | Apparatus and method for analyzing an automated response system |
US7003079B1 (en) * | 2001-03-05 | 2006-02-21 | Bbnt Solutions Llc | Apparatus and method for monitoring performance of an automated response system |
US6904143B1 (en) * | 2001-03-05 | 2005-06-07 | Verizon Corporate Services Group Inc. | Apparatus and method for logging events that occur when interacting with an automated call center system |
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 |
US6810111B1 (en) * | 2001-06-25 | 2004-10-26 | Intervoice Limited Partnership | System and method for measuring interactive voice response application efficiency |
GB0129787D0 (en) * | 2001-12-13 | 2002-01-30 | Hewlett Packard Co | Method and system for collecting user-interest information regarding a picture |
TW567465B (en) * | 2002-09-02 | 2003-12-21 | Ind Tech Res Inst | Configurable distributed speech recognition system |
US20040162724A1 (en) * | 2003-02-11 | 2004-08-19 | Jeffrey Hill | Management of conversations |
US7383170B2 (en) * | 2003-10-10 | 2008-06-03 | At&T Knowledge Ventures, L.P. | System and method for analyzing automatic speech recognition performance data |
US7043435B2 (en) * | 2004-09-16 | 2006-05-09 | Sbc Knowledgfe Ventures, L.P. | System and method for optimizing prompts for speech-enabled applications |
US7873523B2 (en) * | 2005-06-30 | 2011-01-18 | Microsoft Corporation | Computer implemented method of analyzing recognition results between a user and an interactive application utilizing inferred values instead of transcribed speech |
US7853453B2 (en) * | 2005-06-30 | 2010-12-14 | Microsoft Corporation | Analyzing dialog between a user and an interactive application |
-
2005
- 2005-06-30 US US11/170,808 patent/US20070006082A1/en not_active Abandoned
-
2006
- 2006-06-07 MX MX2007015186A patent/MX2007015186A/es not_active Application Discontinuation
- 2006-06-07 WO PCT/US2006/022137 patent/WO2007005185A2/en active Application Filing
- 2006-06-07 CN CNA200680021784XA patent/CN101589427A/zh active Pending
- 2006-06-07 EP EP06772439A patent/EP1899851A4/en not_active Withdrawn
- 2006-06-07 KR KR1020077030901A patent/KR20080040644A/ko not_active Application Discontinuation
- 2006-06-07 JP JP2008519325A patent/JP2009500722A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014647A (en) * | 1997-07-08 | 2000-01-11 | Nizzari; Marcia M. | Customer interaction tracking |
US6405170B1 (en) * | 1998-09-22 | 2002-06-11 | Speechworks International, Inc. | Method and system of reviewing the behavior of an interactive speech recognition application |
US6510411B1 (en) * | 1999-10-29 | 2003-01-21 | Unisys Corporation | Task oriented dialog model and manager |
Also Published As
Publication number | Publication date |
---|---|
MX2007015186A (es) | 2008-02-15 |
EP1899851A2 (en) | 2008-03-19 |
EP1899851A4 (en) | 2010-09-01 |
US20070006082A1 (en) | 2007-01-04 |
WO2007005185A2 (en) | 2007-01-11 |
WO2007005185A3 (en) | 2009-06-11 |
CN101589427A (zh) | 2009-11-25 |
KR20080040644A (ko) | 2008-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7873523B2 (en) | Computer implemented method of analyzing recognition results between a user and an interactive application utilizing inferred values instead of transcribed speech | |
US7853453B2 (en) | Analyzing dialog between a user and an interactive application | |
JP2009500722A (ja) | 音声アプリケーションの測定およびロギング | |
US7711570B2 (en) | Application abstraction with dialog purpose | |
US8229753B2 (en) | Web server controls for web enabled recognition and/or audible prompting | |
US8311835B2 (en) | Assisted multi-modal dialogue | |
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 | |
RU2349969C2 (ru) | Синхронное понимание семантических объектов, реализованное с помощью тэгов речевого приложения | |
US20050154591A1 (en) | Focus tracking in dialogs | |
US7409349B2 (en) | Servers for web enabled speech recognition | |
US7506022B2 (en) | Web enabled recognition architecture | |
US20040230637A1 (en) | Application controls for speech enabled recognition | |
US20020169806A1 (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) | ウェブ対応音声認識用サーバの方法および記録媒体 | |
EP2128757A2 (en) | Markup language extensions for web enabled recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090608 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110805 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120106 |