JP2007531069A - マルチモーダルソフトウェアにおける知的なプロンプト制御のための方法、及びシステム - Google Patents

マルチモーダルソフトウェアにおける知的なプロンプト制御のための方法、及びシステム Download PDF

Info

Publication number
JP2007531069A
JP2007531069A JP2006518860A JP2006518860A JP2007531069A JP 2007531069 A JP2007531069 A JP 2007531069A JP 2006518860 A JP2006518860 A JP 2006518860A JP 2006518860 A JP2006518860 A JP 2006518860A JP 2007531069 A JP2007531069 A JP 2007531069A
Authority
JP
Japan
Prior art keywords
prompt
data
workflow
input
output
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.)
Withdrawn
Application number
JP2006518860A
Other languages
English (en)
Inventor
アーサー・ユージーン・マクネア
ローレンス・アール・スウィーニー
ティモシー・ジョゼフ・ユースターマン
Original Assignee
ヴォコレクト・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ヴォコレクト・インコーポレーテッド filed Critical ヴォコレクト・インコーポレーテッド
Publication of JP2007531069A publication Critical patent/JP2007531069A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

マルチモーダルデータ収集装置入力、または音声認識入力を、発話出力機能と統合するための対話マネージャ、及び方法。作業フローの記述(208)がグラフィカルユーザインタフェース(86)の対象物から抽出されると共に、マルチモーダルユーザインタフェース(204)が定義される。作業フローの記述(208)に従って、対話エンジン(254)は、入出力装置(264)とアプリケーション(204)との間の情報の流れを同期させる。複数の周辺装置(266-274)によって出力されるデータを入力するためのプロンプトは、周辺装置(266-274)の入力状態に基づき、対話エンジン(254)によって、知的な方法で制御される。バージイン、プロンプトホールドオフ、プライオリティプロンプト、及びトークアヘッドのような機能が提供される。

Description

本発明は、マルチモーダルソフトウェアアプリケーションに関すると共に、更に特に、様々な周辺装置からのマルチモーダル入力を、追加の周辺装置からのマルチモーダル出力と協調させることに関するものである。
本出願は、“METHOD AND SYSTEM FOR INTEGRATING MULTI-MODAL DATA CAPTURE DEVICE INPUTS WITH MULTI-MODAL OUTPUT CAPABILITIES”と題名が付けられて2003年7月11日に出願されたと共に、参照によってその全体がここに組み込まれる、シリアル番号10/617,422号の出願に関連している。
音声認識は、従来の周辺入出力装置経由の通信に対する便利な代替物として、コンピュータとのハンズフリーの通信を可能にすることによって、作業場での多くのタスクを単純化した。作業者は、音声認識装置を使用することで、音声によってデータを入力することができると共に、指令、もしくは命令は、音声合成装置によって作業者に伝達されることができる。音声認識は、従来の周辺入出力装置によるコンピュータとの対話が制限されるモバイルコンピューティング装置において、特定のアプリケーションを見い出す。
例えば、ワイヤレスウェアラブル(wearable)端末は、作業場の中での拡張された移動性を作業者に提供する一方で、望ましい計算、及びデータ処理機能によって作業関連のタスクを実行することを作業者に提供し得る。作業者がそのようなワイヤレスウェアラブル端末にひどく依存する1つの特別な領域は、在庫管理である。在庫管理産業は、食物及び小売り製品の流通、生産、及び品質管理のような様々な種々のタスクを実行するために、コンピュータ化された在庫管理システムに依存する。総合的な統一管理システムは、追跡及び管理のための中央コンピュータシステムと、注文実施者(order fillers)、収集者(pickers)、及び他の作業者の形態でコンピュータシステムを使用すると共に、コンピュータシステムと対話する人間との組み合わせを包含する。作業者は、中央コンピュータシステムからワイヤレスウェアラブル端末に送信された情報の指揮統制下にある総合的な統一管理システムの“手を使用する状況”を処理する。
それらの作業者が割り当てられた作業を完了すると、情報の双方向性の通信ストリームが、ワイヤレスウェアラブル端末と中央コンピュータシステムとの間のワイヤレスネットワークを介して交換される。中央コンピュータシステムから各ワイヤレスウェアラブル端末によって受信された情報は、対応する作業者に対する音声命令か、またはテキスト指令に変換される。一般的に、その作業者は、音声データ入力のためのマイクロホン、及び音声出力フィードバックのための耳用スピーカを備える、ウェアラブル装置と接続されたヘッドセットを身に付ける。作業者からの応答は、ヘッドセットのマイクロホンによってワイヤレスウェアラブル端末に入力されると共に、ワイヤレスウェアラブル端末から中央コンピュータシステムまで伝達される。ヘッドセットのマイクロホンを経て、作業者は、質問を提示し、それらの割り当てられた作業を達成する際に進捗状況を報告し、そして在庫不足のような作業状態を報告することができる。そのようなワイヤレスウェアラブル端末を使用して、同時に操作するべき装置、または持ち歩くべき書類仕事なしで、作業者は、実質的にハンズフリーで割り当てられた作業を実行することができる。手動のデータ入力が除外されるか、もしくは少なくとも減少するので、作業者は、更に速く、更に正確に、そして更に生産的に、彼らの作業を実行することができる。
音声機能を有するワイヤレスウェアラブル端末に適当な作業者の作業のセットの実例は、初めに作業者をコンピュータ化された在庫管理体系に歓迎すると共に、特別な作業、または注文、例えば倉庫から出発することを予定される特定のトラックに荷物を満たすこと、を定義することを含むことができる。作業者は、その場合に、彼らがその注文に関して作業をしているであろう特定のエリア(例えば冷凍庫)において答えることができる。システムは、その次に、特定の量の品目を選ぶために、音声によって、特別な通路、及び貯蔵所へ作業者を導く。作業者は、その次に、選ばれた品目の場所及び数を声に出して確認する。システムは、その次に、特定のトラックが注文品を受け取る船積みドック、または港へ作業者を導くことができる。上記の内容から分かるように、ワイヤレスウェアラブル端末と中央コンピュータシステムとの間で交換された特定の通信は、作業仕様書であり得ると共に、非常に変わりやすい。
音声入力、及び音声出力に加えて、無線周波数IDリーダ装置、バーコードスキャナ、タッチスクリーン、リモートコンピュータ、プリンタ等のような他の入力装置、及び他の出力装置との、同時に起こると共に択一的な接続を協調させることは、ワイヤレス端末環境、及びこの特定の環境の外でも役に立つであろう。コンピュータプラットフォームに関する従来の運用ソフトウェアは、音声データ入力、音声出力フィードバック、及び周辺装置入力の間での、この協調を首尾よく達成しない。そのようなマルチモーダル環境の中に、バージイン(barge-in)、プロンプトホールドオフ(prompt-holdoff)、プライオリティプロンプト(priority prompts)、及びトークアヘッド(talk-ahead)のような機能を可能にする現在のモノモーダルの音声システムのそれと類似した、知的なプロンプト制御に関する満たされない要求がある。
本発明の1つの特徴は、マルチモーダルソフトウェアアプリケーションを実行するためのシステムに関連する。このシステムは、マルチモーダルソフトウェアアプリケーションを具備する。マルチモーダルソフトウェアアプリケーションは、周辺装置の第1のセットから入力された第1のデータを受信すると共に、第2のデータを周辺装置の第2のセットに出力するように構成される。システムは、同様に、マルチモーダルソフトウェアアプリケーションと通信する対話エンジンを具備する。対話エンジンは、マルチモーダルソフトウェアアプリケーションから受信されるワークフローの記述を実行し、マルチモーダルソフトウェアアプリケーションに第1のデータを提供するように構成される。更に、この特徴によれば、システムは、第1のセット及び第2のセットの中の各周辺装置と接続された各インタフェースコンポーネントを具備する。各インタフェースコンポーネントは、もしあれば第2のデータを接続された周辺装置に提供すると共に、もしあれば第1のデータを接続された周辺装置から受信するように構成される。更に、対話エンジンは、周辺装置の第1のセットの入力状態に基づいて、ワークフローの記述からのプロンプトの出力を制御するように更に構成される。
本発明の別の特徴は、マルチモーダルアプリケーションを実行する方法に関連する。この特徴によれば、マルチモーダルアプリケーションから受信されるワークフローの記述が実行される。ワークフローの記述は、複数のワークフローオブジェクトを含む。次に、第1のワークフローオブジェクトのプロンプトは、複数の周辺装置によって出力される。なお、プロンプトは、マルチモーダルアプリケーションのGUI画面の視覚制御に関連している。更に、この特徴に従って、プロンプトの出力は、複数の周辺装置の入力状態に基づいて制御される。
本発明の更なる特徴は、マルチモーダルアプリケーションを実行するための命令を伝搬するコンピュータ読み取り可能な媒体に関連する。命令は、それの実行によって、その1つ以上のプロセッサが、以下のステップを実行するように配置される。a)マルチモーダルアプリケーションから受信されるワークフローの記述を実行すること。b)複数の周辺装置によって第1のワークフローオブジェクトのプロンプトを出力すること。c)複数の周辺装置の入力状態に従ってプロンプトの出力を制御すること。なお、プロンプトは、マルチモーダルアプリケーションのGUI画面の視覚制御に関連している。
組み込まれると共に、この明細書の一部を構成する添付図面は、発明の実施例を例証し、以下で与えられた実施例の詳細な記述と共に発明の原理を説明するのに役立つ。
本発明の特徴、及び実施例は、データに関する音声及び他のプロンプトの提示を知的に制御するために、実行されたときに多種多様な周辺装置の入力状態を利用するマルチモーダルアプリケーションに関連する。
オーディオヘッドセットに加えて、他の周辺装置が、ユーザによって実行されるべき作業の種類に応じたコンピュータプラットフォームと接続され得る。例えば、バーコードリーダ、及び他のスキャナは、中央コンピュータシステムと双方向で通信するために、単独で利用されることができるか、もしくは、ヘッドセットと結合して利用されることができる。特に、ワイヤレスウェアラブル端末は、そのユーザがそれによって中央コンピュータシステムと通信し得る、タッチスクリーン、ペンディスプレイ(pen display)、及び/またはキーパッドのような追加の周辺装置と接続され得る。本発明の1つの特徴によれば、ワイヤレスウェアラブルプラットホーム上で動作するソフトウェアアプリケーションは、特別なデータ要素のための周辺装置の内のいずれからの入力も受信することを可能にされると共に、同様に、プロンプト及び他のメッセージを様々な周辺装置へ同時に出力することを可能にされる。
特定の実施例において、ワイヤレスウェアラブル端末、または他の種類の計算プラットフォーム上で動作する運用ソフトウェアは、周辺装置との対話を制御し、音声認識、及び音声合成のための対話エンジンの機能、及び能力を実現し、中央コンピュータシステムとの情報の交換を制御する。運用ソフトウェアは、ウェアラブル装置と接続された他の周辺装置からのデータ入力を可能にすると共に、それらの周辺装置から収集された情報入力を協調させる。好ましくは、運用ソフトウェアによって、作業者は、周辺装置からのデータが、まるでデータが音声、またはキーボードによって入力されたかのように、差異がない能力によってリアルタイムで翻訳され得るように、同様に音声データ入力、及び音声出力フィードバックを使用しながら、周辺装置によってデータを入力することが可能になる。
図1は、本発明の実施例に対応している、音声使用可能な(voice-enabled)マルチモーダルアプリケーションを実行することに適当である、典型的なハードウェア環境、及びソフトウェア環境を説明する。特に、図1は、ネットワークを介して、例えば符号14で示されるRF通信リンクによってワイヤレスウェアラブル端末12と接続される中央コンピュータ10を説明する。本発明は、追加のワイヤレスウェアラブル端末12が制限なしで存在することができると考える。ワイヤレスウェアラブル端末12、及びネットワーク14が“ワイヤレス”であると説明されるが、この指定は現実には典型的であると共に、本発明の実施例は、単に、ワイヤレス環境に制限されないが、しかし、従来の有線ネットワーク媒体、及び有線ネットワークプロトコルと同様に、従来のリモートコンピュータを備えることができる。同様に、本発明の実施例は、ここでは、在庫品または倉庫保管の関連のシステムの典型的な環境の中で説明される。この特定の環境は、本発明の適用を制限しないが、しかし、本発明の説明及び理解に関して支援するための具体的な例のこの中への包含を可能にするために選択された。
中央コンピュータ10、及びワイヤレスウェアラブル端末12は、各々、例えばキャッシュメモリ、不揮発性またはバックアップメモリ(例えばプログラム可能メモリ、もしくはフラッシュメモリ)、読出し専用メモリ等のあらゆる補足のレベルのメモリと同様に、主記憶装置を含むランダムアクセスメモリ(RAM)装置を表すかもしれないメモリ20、22に接続された1つ以上のマイクロプロセッサを含む中央演算処理装置(CPU)16、18を備える。更に、仮想メモリとして使用されるあらゆる記憶容量と同様に、例えば不揮発性記憶装置24、26、または別の連結されたコンピュータ上に記憶されるのと同様に、各メモリ20、22は、中央コンピュータ10、及びワイヤレスウェアラブル端末12のそれぞれの中で、物理的にどこか別の場所に配置されたメモリ記憶装置、例えばCPU16、18のどちらにおいてもプロセッサ内にある、あらゆるキャッシュメモリを含むと考えられ得る。
中央コンピュータ10、及びワイヤレスウェアラブル端末12の各々は、外部と情報を通信するために、多くの入力及び出力を受信する。中央コンピュータ10は、1つ以上のユーザ入力装置(例えば、特にキーボード、マウス、トラックボール、ジョイスティック、タッチパッド、及び/または、マイクロホン)を合体しているユーザインタフェース28、及びディスプレイ(例えば、特にCRTモニタ、LCD表示パネル、及び/または、スピーカー)を備える。ワイヤレスウェアラブル端末12は、LCD表示パネルのようなディスプレイ、ユーザから発話された情報を受けるため、及び発話された命令を音声信号に変換するためのマイクロフォンのような音声入力装置、口語の情報をユーザに対する音声信号として出力するためのスピーカのような音声出力装置、例えば、特にキーボード、タッチスクリーン、及び、ディジタル化用書き込み面(digitizing writing surface)、及び/または、スキャナを含む1つ以上の追加のユーザ入力装置を内蔵するユーザインタフェース30を備える。音声入力装置、及び音声出力装置は、一般的に、ワイヤレスウェアラブル端末12のハンズフリーの操作を利用可能にすると共に、ユーザによって身に付けられるヘッドセットに配置される。
中央コンピュータ10、及びワイヤレスウェアラブル端末12の各々は、一般的に1つ以上の不揮発性の大容量記憶装置24、26、例えば、特にフラッシュメモリ、または他の不揮発性ソリッドステート(solid state)メモリ、フロッピー(登録商標)、または他の交換可能ディスクドライブ、ハードディスクドライブ、直接アクセス記憶装置(DASD:direct access storage device)、光ドライブ(例えば、CDドライブ、DVDドライブ等)、及び/またはテープドライブを備えることになる。更に、中央コンピュータ10、及びワイヤレスウェアラブル端末12の各々は、それぞれネットワーク14(例えば、ワイヤレスRF通信ネットワーク)によって、中央コンピュータ10とワイヤレスウェアラブル端末12との間での情報の双方向通信を可能にするネットワークインタフェース32、34を備える。中央コンピュータ10、及びワイヤレスウェアラブル端末12の各々は、当業者によって理解されるように、CPU16、18とコンポーネント20〜コンポーネント34との間を接続する適当なアナログインタフェース及び/またはデジタルインタフェースを備えるということが認識されるべきである。ネットワークインタフェース32、34は、それぞれ、中央コンピュータ10とワイヤレスウェアラブル端末12との間で情報を伝達するためのトランシーバを備える。
中央コンピュータ10、及びワイヤレスウェアラブル端末12の各々は、対応するオペレーティングシステム36、38の制御の下で動作すると共に、様々なコンピュータソフトウェアアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール、データ構造等(例えば、中央コンピュータ10に常駐するマルチモーダル開発環境40、マルチモーダルランタイム環境42、及びアプリケーション44、ワイヤレスウェアラブル端末12に常駐するマルチモーダル環境47)を実行するか、あるいはそうでなければそれらに依存する。各オペレーティングシステム36、38は、コンピュータシステムの動作、及び資源の割り当てを制御するソフトウェアのセットを表す。更に、様々なアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール等は、同様に、例えば、分散コンピューティング環境、もしくはクライアント/サーバコンピューティング環境におけるネットワーク(図示せず)によって、中央コンピュータ10か、またはワイヤレスウェアラブル端末12のいずれかに接続された別のコンピュータ内の1つ以上のプロセッサ上で実行することができ、それによって、コンピュータプログラムの機能を実現するのに必要とされる処理は、ネットワークを介して複数のコンピュータに割当てられることができる。
一般的に、本発明の実施例を実現するために実行されたルーチンは、オペレーティングシステムまたは特定のアプリケーションの一部、コンポーネント、プログラム、オブジェクト、命令のモジュールまたはシーケンス、あるいはそれのサブセットとして実行されたか否かに拘らず、“コンピュータプログラムコード”、または単に“プログラムコード”として具体化され得る。プログラムコードは、一般的に、いろいろな時にコンピュータ内の様々なメモリ、及び記憶装置に常駐する1つ以上の命令を備えると共に、プログラムコードは、コンピュータ内の1つ以上のプロセッサにより読み込まれて実行される場合、コンピュータに、本発明の様々な特徴を具体化するステップ、または要素を達成するのに必要なステップを実行させる。更に、本発明が、十分に機能しているコンピュータ、及びコンピュータシステムに照らして、既に説明されたと共に、以下に説明されることになる一方、当業者は、本発明の様々な実施例が様々な形式におけるプログラム製品として分配されることが可能であると共に、本発明が、分配を実際に実行するために使用される特定の種類の信号伝搬媒体に関係なく等しく適用されることを認識する。信号伝搬媒体の例は、特に揮発性及び不揮発性のメモリ装置、フロッピー(登録商標)及び他の交換可能ディスク、ハードディスクドライブ、磁気テープ、光ディスク(例えば、CD‐ROM、DVD等)のような記録可能タイプの媒体、及びデジタル通信リンク及びアナログ通信リンクのような伝送タイプの媒体を含むが、しかしそれに限定されない。
更に、以下に示される様々なプログラムコードは、本発明の特定の実施例において実行されるアプリケーションに基づいて特定されることができる。しかしながら、後述するあらゆる特定のプログラム専門用語は利便性のためだけに使用され、従って、本発明が、そのような専門用語によって特定されるか、及び/または意味されるあらゆる特定のアプリケーションにおいて使用することに全く制限されるべきでないということが認識されるべきである。更に、プログラム機能が一般的なコンピュータ内に常駐する様々なソフトウェア階層(例えば、オペレーティングシステム、ライブラリ、API、アプリケーション、アプレット等)の中に配置されうる様々な方法と同様に、コンピュータプログラム内の無限の数の方法が、ルーチン、手順、方法、モジュール、オブジェクト等に構成されることができることを前提として、本発明がここに示されたプログラム機能の特定の構成、及び割り当てに制限されないということが認識されるべきである。
当業者は、図1において説明される典型的な環境が、本発明を制限することを意図していないということを認識することになる。実際に、当業者は、他の代替えのハードウェア環境、及び/またはソフトウェア環境が本発明の範囲から外れずに使用されることができるということを認識することになる。
本発明の原理に従って、マルチモーダル環境47が、ワイヤレスウェアラブル端末12のメモリ22に常駐するプログラム46を構成するのと同様に、マルチモーダル開発環境40、マルチモーダルランタイム環境42、及びアプリケーション44は、中央コンピュータ10のメモリ20に常駐するプログラムコードを構成する。中央コンピュータ10は、開発環境40を実行する開発コンピュータとしての役目を果たすことができるか、または開発環境40は別個の開発コンピュータ(図示せず)上で実行することができる。各々は、独立型のツールまたは独立型のアプリケーションであり得るか、あるいは例えばマルチモーダルソフトウェアアプリケーションを開発するか、もしくは実行することに適当な機能一式を提供するための他のプログラムコードに統合されることができる。アプリケーション44、マルチモーダル環境47、及びプログラム46は、対応するオペレーティングシステム36、38を通じて利用可能にされたコンピュータ資源を利用するユーザによって望まれたタスクを実行する、ソフトウェアのセットである。
図2Aは、本発明の典型的な実施例に従って実現された開発環境を描写する。開発環境202は、プログラマによってマルチモーダルソフトウェアアプリケーション204を作成するために使用される。このマルチモーダルアプリケーション204は、アプリケーションコード206と、ワークフローの記述208の両方を含む。ここで更に詳細に説明されたように、ワークフローの記述208は、設定可能なオブジェクト212、及び再利用可能なオブジェクト210を含むことができる。その上、開発環境202は、異なるインタフェース要素、及び異なる入出力装置のプログラミングを単純化するために、ツールキットを含むことができる。
ビジュアルラピッド開発環境(Visual rapid development environment)、または統合開発環境(IDE:integrated development environments)は、ソフトウェアアプリケーション、特にアプリケーションのためのグラフィカルユーザインタフェース(GUI)を開発する際の現在良く知られている補助物である。これらの環境の中で、プログラマは、画面上の様々なGUI要素を選択すると共に、位置決めすることによって、GUI画面を作成する。これらの要素は、ラジオボタン(radio buttons)、テキストエントリフィールド(text entry fields)、ドロップダウンボックス(drop-down boxes)、タイトルバー(title bars)等のようなオブジェクトを含む。IDEは、その場合に、各特別なGUIオブジェクトを実行するコードシェル(例えば、“C++”、または“Visual Basic(登録商標)”)を自動的に作成する。コードシェルは、その次に、GUIオブジェクト及び関連のアプリケーション実行ロジックのパラメータを特に指定するために、プログラマによってカスタマイズされて、完成される。この方法において、IDEは、アプリケーションの迅速な開発を可能にする。
本発明の実施例は、多種多様な周辺装置からデータを受信することができると共に、多種多様な周辺装置にデータを出力することができるアプリケーション204が容易に開発され得る開発環境202を提供することによって伝統的なIDEを拡大させる。GUIの各画面に関して、革新的な統合開発環境202は、その画面と対応する“対話”を指定するワークフローの記述208を生成する。対話を生成するために、開発環境202は、GUI画面内の各々の視覚要素(例えば、テキストボックス、ラジオボタン等)と関連付けられた対話ユニットを特定すると共に、対話ユニットを連結する。これらの対話ユニットは、ワークフローの記述の一部として組み込まれた場合に、ワークフローオブジェクトか、またはワークフローアイテムのいずれかと言われると共に、これらの3つの用語は、ここでは同義的に使用される。最終的に、対話、またはワークフローの記述は、ワークフローの記述が、一連の異なるプロンプト、それらの異なるプロンプトに対して期待される入力、及び特別な順序を示すプロンプトの間の連結を含むように、各GUI画面に関して生成されると共に、連結された全ての対話ユニットを含む。
本発明の実施例は、独立型の開発環境として作動し得るか、もしくは現存するIDEを拡大させ得る。第2の代替案において、プログラマは、マイクロソフト(登録商標)“Visual C++(登録商標)”のような従来の環境を使用することによって、GUI画面を有するアプリケーション206を開発し得る。その結果生じるアプリケーション206は、その場合に、GUI画面の要素に基づいて、GUI画面に関する対話ユニットを生成する拡大された開発環境において変更され得る。これらの対話ユニットは、その次に、順序を指定するために連結され得ると共に、従って対話、またはワークフローの記述208が生成される。もう一つの方法として、開発環境は、伝統的なIDEの機能全てを含むが、しかし、更に、GUI画面の開発と同時に発生する対話ユニット(及び、その結果生じるワークフローの記述208)を生成するためのツールを含むように実現され得る。この代替案によれば、与えられたGUI画面に関するデータの入力及び出力の複数の様式に対応するために、ワークフローの記述を含む1つのアプリケーションが開発される。
どちらの代替案が実行されるかに関係なく、GUI画面を備えるアプリケーション206の実行の間、ワークフローの記述208は、同様にうまく実行される。GUI画面がユーザに提示される場合、データ入力、及びデータ出力の適切な対話が実行されるように、その対応するワークフローの記述が実行される。どの周辺装置が各入力動作、または出力動作に従事することができるかを示す識別表示をワークフローの記述208の中に含むことによって、その結果生じる対話は、データを入力するか、または出力するために、様々な周辺装置を容易に利用し得る。アプリケーション、及びワークフローの記述の実行は、中央コンピュータにおいて、または各リモートコンピュータにおいて発生し得る。例えば、ワイヤレス端末は、中央コンピュータからのGUI画面を表示するのにかろうじて足りる、制限された処理能力を有する。この場合、ワークフローの記述、及びアプリケーションは、分散アプリケーションを実行するための2つのシステムの間の必要なデータ通信と同様に、好ましくは中央コンピュータ上で実行される。その代わりに、リモートコンピュータは、アプリケーションとワークフローの記述の両方を実行するのに十分な、それ自身の処理能力を備えることができる。
アプリケーションの開発を促進するために、開発環境202は、様々なプログラマのツールキットを含むことができる。例えば、GUI制御ツールキット220は、GUI画面を作成するために使用され得る多種多様な視覚オブジェクトを容易に実行するために使用され得る。典型的なツールキットは、多分、インデックスを付けられた利用可能なGUI制御の表示をプログラマに提示するか、そうでなければ配列された利用可能なGUI制御の表示をプログラマに提示するであろう。プログラマは、その場合に、所望の制御を設置するために、制御の配置を指図し、それを選択すると共に、その次に、作成されたアプリケーションに、その制御の実装を取り込む。
同様に、GUI制御の音声制御を可能にするツールキット222が提供され、それは、同様にGUI制御が音声使用可能にされたアプリケーションをプログラマが開発するのを助ける。その使用は、既に説明されたツールキット220と類似している。プログラマは、アプリケーション206に実装されるGUI制御を特定し得ると共に、対応する音声制御を可能にする、このツールキット222の提供するコードが、ワークフローの記述208を生成するために、開発環境202に出力される。音声ツールキット222の使用は、アプリケーション206を構文解析し、GUI制御を認識し、対応する制御を求めて音声ツールキット222を検索し、そしてワークフローの記述の対応する部分を生成し得る開発環境202の自動プリプロセッサによって遂行されるのと同様に、プログラマによって対話型的に遂行され得る。
これらのツールキットに加えて、個別のツールキットが異なる入出力装置に提供され得る。ツールキットの使用を通じて、特定の装置と接続するためのサポートコンポーネント(support components)が事前にプログラムされ得ると共に、毎回それらを作成する必要性なしに、異なるアプリケーションにおいて再使用され得る。例えば、スキャナツールキット228は、多くの異なるスキャナのための装置固有の情報を備えることができると共に、プログラマは、多分ランタイムにおいて遭遇すると予測される環境にあるであろう、それらのコンポーネントのみを選択するであろう。代表的なツールキットは、タッチスクリーンツールキット224、キーパッドツールキット226、スキャナツールキット228、(例えば、ネットワーク化された通信コンポーネントを提供するための)通信ツールキット230、及びその他のツールキット232を備えるであろう。ツールキットの使用によって、プログラマは、特定のアプリケーションのために必要とされるそれらのコンポーネントのみを選択することが可能となる。その結果として、無関係な未使用のコードが存在しないので、アプリケーションのサイズ、及び効率が改善される。
IDE202は、今までのところ、ビジュアルユーザインタフェース、またはグラフィカルユーザインタフェースに関してのみ説明された。しかしながら、本発明の典型的な実施例は、他のモノモーダルのユーザインターフェースを、マルチモーダルアプリケーションに変換するために利用され得る。例えば、音声応答インタフェースは、電話産業において良く知られていると共に、異なる音声反応に応答する一連の音声プロンプトを明示する。従って、典型的なIDEは、各音声プロンプトを明示するソフトウェアアプリケーションを分析し得ると共に、対応するワークフローオブジェクト、及びワークフロー順序を生成し得る。この新しいワークフローオブジェクトは、単に音声プロンプトに制限されないが、しかし様々な周辺装置のためのGUI画面制御プロンプト、及び他のプロンプトを含むであろう。従って、GUI画面以外のユーザインタフェースを有するアプリケーションは、同様に本発明の実施例によるマルチモーダルアプリケーションに変換され得る。
図3を参照すると、典型的なGUI画面86が描写される。この画面は、以下の「数1」ようなオブジェクト、及び機能(feature)の階層的配列であると考えられ得る。
Figure 2007531069
開発環境202の中で、画面86の視覚要素を実行するコードは、ワークフローの記述を作成するための対話ユニットを生成するために使用され得る。例えば、GUI画面86を音声使用可能にするために、通例のGUIに加えて、音声出力が例えばヘッドセットに供給されるべきであることを明示すると共に、同様に入力がマイクロホンによって音声データとして受信され得ることを明示する、様々な対話ユニットのワークフローの記述が生成されるであろう。従って、ワークフローの記述、または対話は、入力が必要とされる場合に音声プロンプトを含むと共に、次のプロンプトを提供するまで、受信されるべき音声、または他のデータを待つであろう。GUI画面要素、または他のアプリケーションロジックの順序に基づいて、対話ユニットは、GUI画面86の順序を再現するために、特定の順番に連結され得る。以下の説明は、音声使用可能にされたアプリケーションのこの特定の例を続ける。しかしながら、他の入力出力モード、または追加の入出力モードが、同様にサポートされ得るであろう。
典型的な対話(要素88から要素98まで)が、図3の右側に沿って描写される。GUI画面86が、例えば携帯用コンピュータ12の画面上で表示されるとき、画面86と関連付けられたワークフローの記述が実行される。その結果が、図解された対話である。一連のプロンプト(要素88から要素98まで)が生成されると共に、各プロンプトの後で、対話は(テキストで提示されたように)ユーザからの入力を待つ。
従って、歓迎プロンプト(welcome prompt)88は、音声データとして出力されると共に、ユーザは、製品番号を入力することを、命令90によって促される。その次に、ユーザは、携帯用コンピュータ12のキーボードまたは他の入力装置によって、もしくは製品番号を発話することによって、製品番号(例えば、AB1037)を入力することができる。それに応じて、次のプロンプト92が生成されると共に、GUI画面86に関する対話が完了されるまで、このシーケンスが繰り返される。その結果、アプリケーションが実行中であるとき、現在の画面(例えば、画面86)、及び現在のフィールド(例えば、数量)が存在すると共に、この現在のフィールド及び画面と同期されるのは、関連付けられた対話ユニットである。
図4は、本発明の実施例に従ってGUI画面を実行するコードからワークフローの記述を作成するための典型的な方法を詳述するフローチャートを説明する。上述のGUI画面86は、この方法を説明する間の一例として使用される。この方法におけるGUI画面オブジェクトの処理は、開発環境によって、自動的に達成されるか、またはプログラマを必要とする対話型セッションにおいて達成される。ステップ400において、“製品注文書”画面に対応するワークフローの記述が初期化される。
画面86において遭遇する、もしくは特定される(ステップ402)最初のGUI要素は、画面の見出しテキスト“製品注文書”である。プロセッサは、これが、画面を指定すると共に、同様にその値をも特定し得るテキストフィールドであると認識する。その結果、ワークフローオブジェクト、または対話ユニットが、このGUI画面要素と対応するステップ404において作成される。特に、以下のようなフレーズの空白がGUI画面要素から抽出された値(すなわち、製品注文書)で満たされる、“___画面へようこそ”というフレーズを含む対話ユニットが生成され得る。
従って、ステップ410において、対応するGUI要素の特定のフィールド、及び値から、ワークフローオブジェクトのパラメータが投入され得る。もちろん、ワークフローオブジェクトは、もし、より多い情報、より少ない情報、または異なる情報がワークフローオブジェクトに含まれるように要求される場合に、プログラマがデフォルトで生成されたオブジェクトを修正し得るように設定可能である。好ましい実施例において、比較的複雑でない画面要素である固定的なテキストオブジェクトは、最初の非固定的なテキストオブジェクトに遭遇するまで、連続して配置された固定的なテキストオブジェクトを結合することによって、ステップ406、及びステップ408で効果的に扱われる。その結果、ステップ408において、非固定的なテキストオブジェクト、及び全ての固定的なテキストオブジェクトは、結合されて1つのワークフローオブジェクトになる。
ステップ412において、その次に、ワークフローオブジェクトを後継のワークフローオブジェクトと連結することで、リンクが作成される。デフォルト設定によって、GUI画面からの次の視覚要素と対応するワークフローオブジェクトに対するリンクが作成される。更に、リンクのデフォルトの活性化条件、すなわち、いつリンクがたどられるかは、入力が受信される時であると定義される。しかしながら、異なるリンクの活性化条件が使用され得る。例えば、たどるべき複数のリンクのうちの1つを決定するために、入力の値が検査され得る。別の例として、画面の他の入力フィールドが検査され得ると共に、もし全ての必要とされた入力フィールドが満たされている場合、1つのリンクがたどられる。そして、いくつかのフィールドがデータを省かれている場合、別のリンクがたどられ得る。代わりに、活性化の基準は、“X秒”が経過した後で、次のリンクが自動的にたどられるように、タイミングと関連しても良い。更に、活性化の基準は、アプリケーション204に埋め込まれたロジックであり得ると共に、対話エンジン254は、どのように続くかを決定し、そしてどのワークフローオブジェクトを次にリンクするかを対話エンジン254に指示するアプリケーション204にデータを伝達する。条件を定義すると共に、それらのそれぞれの結果を指定するための、プログラマに利用可能な技術の幅、及び変化が、ワークフローオブジェクトの間のリンクを定義するために、本発明の実施例の中で利用可能である。
次に、各GUI要素に関して、ワークフローオブジェクトが作成されるまで、そのシーケンスが繰り返される。ワークフローオブジェクトの収集物は、ワークフローの記述、または対話と呼ばれると共に、GUI画面と対応する。GUI制御及びそれらの特別な機能の異なる順列と組み合わせが、生成され得る異なる対話の無限の可能性を提供する一方、図4のフローチャートは、あらゆるGUI画面に関して使用され得る一般的な方法を詳述する。しかしながら、図4の方法の典型的なアプリケーションを説明するために、いくつかの特定のGUI要素、及びワークフローオブジェクトが以下で説明される。
図3のGUI画面86において、“色”要素は、期待された入力、例えば“赤”、“青”、及び“白”のセットを有するドロップダウンボックスである。対応するワークフローオブジェクトが作成されるとき、これらの期待された入力は、デフォルトのヘルププロンプト(help prompt)として使用され得る。例えば、“色”要素の処理は、“あなたは何色を希望するか”という質問を行う、対応する音声対話を生成することになる。もしユーザが“ヘルプ”と応答する場合、例えば、“利用可能な色は赤、青、白である”と言う追加のプロンプトが作成され得る。前述と同様に、もしいくつかの理由によりそれが与えられた状況において適切ではない場合、プログラマは、デフォルトのヘルププロンプトを再構成し得る。ワークフローオブジェクトは、同様に、ユーザから受け取られた入力が許可されている応答のうちの1つであるか、または入力を再試行するようにユーザをうながさなければならないかどうかを検査するコードを含むことができる。
一般的に、各GUI要素が分析されるように、対応するワークフローオブジェクトの適切なプロンプト、可能な入力のセット、及びデフォルトのヘルプ機能が埋め込まれる。通常は、固定的なテキストは、ワークフローオブジェクトのためのプロンプト(この場合、音声出力)になることになり、部品表またはボタン名は、期待される入力になり、そして項目名またはボタン名のリストは、デフォルトのヘルププロンプトとして使用される。
画面86の中で、“OK”ボタン100、及び“キャンセル”ボタン102は、たとえ、入力フォーカスがその時に別のフィールドにあるとしても、いつでも活性化され得る。従って、画面86のようなGUI画面に関して生成されたワークフローの記述は、いくつかの対話ユニットを、“グローバル”要素として示すことができ、ユーザから受け取られたあらゆる入力は、それがこれらのグローバル要素のうちの1つに関連するかどうかを判定するために評価されなければならない。従って、対話が実行されるとき、たとえ特定の画面の特定のフィールドが現在入力フォーカスを有することができるとしても、ワークフローの記述は、ユーザからの応答がその代りにグローバルな要素のうちの1つを拘束することができる能力を提供する。グローバル要素の別の例は、視覚インタフェース上の入力フィールドと関連付けられたラベルであろう。例えば、画面86は、“製品番号”、“数量”、“色”等のようなフィールドを有していると共に、ユーザは、単に発話することによって、または、そうでなければ入力装置によりその特定のラベルを指定することによって、フォーカスをこれらのグローバル要素のうちのどれにでも切り替えることができるであろう。応答において、あらゆる受け取られた入力は、そのフィールドと関連付けられるであろう。
開発環境202は、同様に、基本的な対話ユニット及びリンクが、更に大きな再利用可能オブジェクトを形成するために一緒にグループ化されることを可能にする。一般的に、再利用可能オブジェクトは、アプリケーション206の複数部分において実行されることになるワークフローの記述のいくつかのセグメントをカプセル化するために使用される。この例は、ユーザからの日付/時間情報の取得に関与する対話ユニットか、もしくは情報の具体的な断片に関して遠隔データベースを照会するための対話ユニットを含むであろう。この動作を実行するコードに遭遇するたびに、プログラマは、開発プロセスを繰り返す代りに、記憶装置から再利用可能なオブジェクトを取り出すことができる。再利用可能なオブジェクトの各具体化に対する特定のリンク、または再利用可能なオブジェクトの各具体化からの特定のリンクが異なることになる一方、内部の対話ユニット、及びそれぞれのリンクは同じ状態を維持することになる。
上述のように、ワークフローの記述208は、ユーザに出力するための一連のメッセージを含むと共に、入力が受信されると期待される多くの場合を含む。この情報は、どのような周辺装置がワークフローの記述を実行するコンピュータと接続されるかに関係なく、同じ状態を維持する。従って、ワークフローの記述は、発話、音声、スキャナ、キーボード、タッチスクリーンのような多くの異なる様相において入力及び出力を提供するために使用され得る。しかしながら、いくらかの出力は、いくらかの周辺装置に適しておらず、そして、ある入力装置は何らかの入力を提供しないであろう。従って、ワークフローの記述の中の各対話ユニット、またはワークフローオブジェクトは、周辺装置がその対話ユニットに関して使用されるべきであるとの指定を含むことができる。例えば、ワークフローの記述は、“どんな量”というプロンプトが画面プロンプト(例えば、ドロップダウンボックス)及び音声プロンプトとして出力されるべきであるということを反映することができる。しかしながら、ワークフローの記述は、そのプロンプトに関する入力が、画面から、音声応答として、もしくはバーコードスキャナによって取得されることができるということを反映するであろう。特別な周辺装置に対応するためのあらゆる特殊な実行コードは、ワークフローの記述の生成の間に、適切なツールキットから取り出され得る。今説明された入出力装置を明白に指定することに加えて、ワークフローの記述は、それが実行される場合に、全ての周辺装置か、または所定のデフォルトの周辺装置のセットが使用されるように、そのような参照を省略し得る。
一度ワークフローの記述が生成された場合、マルチモーダルの入出力を提供するために、それはアプリケーションと共に実行され得る。典型的なランタイム環境250が、図2Bで描写される。多くの周辺装置が説明されるが、これらの装置の1つ以上は、本発明の範囲からはずれずに省略され得る。この環境の中で、対話エンジン254を用いてマルチモーダルソフトウェアアプリケーション204を実行する。例えば、音声使用可能なアプリケーションは、グラフィカルユーザインタフェースばかりでなく、同様に音声ユーザインタフェースも、ユーザに提供することができるであろう。対話エンジン254、及びソフトウェアアプリケーション204は、同じコンピュータ上、または個別のコンピュータ上で動作し得る。更に、それらは、リモートコンピュータ上、もしくは中央コンピュータ上で動作し得る。
実際上、アプリケーション204は、ワークフローの記述208を実行すると共に、アプリケーション204に対してデータ252を返す対話エンジン254に、ワークフローの記述208を提供する。当業者にとって、アプリケーション204が必ずしも全体のワークフローの記述208を提供する必要があるとは限らないが、しかし単にワークフローの記述208か、またはそれの適切な部分が記憶されるところに対する参照を提供するということは明白であろう。対話エンジン254は、ワークフローの記述208の実行を制御すると共に、周辺装置とのインタフェースを管理する。これらの周辺装置は、音声出力を提供するための音声合成装置258、GUIを描写するための表示モニタ260、そこからデータが取り出され得るか、またはそこにデータが送られ得るリモートコンピュータ262、274、音声データを獲得すると共に、それを適切なデジタル入力に変換するための音声認識システム266、データを入力するため、及びデータを出力するためのタッチスクリーン268、キーパッドまたはキーボード270、バーコードスキャナまたはRFIDタグスキャナのようなスキャナ272を含むことができる。もちろん、マウス、トラックボール、ジョイスティック、プリンタ、及び他のもののような他の周辺装置が同様に含まれ得る。
周辺装置と接続する1つの典型的な方法は、対話エンジン254と周辺装置のためのそれぞれのデバイスドライバとの間を接続するソフトウェアコンポーネント256a〜256c、及びソフトウェアコンポーネント264a〜264eの使用を含む。この方法において、対話エンジン254は、装置に依存していないと共に、新しい装置に対するサポートを追加することは、単に適切なインタフェースコンポーネントの生成を必要とする。作動中、ソフトウェアコンポーネント256a〜256c、及びソフトウェアコンポーネント264a〜264eは、例えば、“a)対話エンジン254から、その関連する周辺装置に対して出力するために、データ値を受信することができる”と共に、“b)関連する周辺装置によってユーザに中継される、ワークフローオブジェクトのプロンプトを、対話エンジンから受信することができる”。更に、入/出力装置264a〜264eは、同様に、対話エンジン254に対して、その関連する周辺装置で受信されたデータを送ることができる。
特定のGUI画面を表示するためにアプリケーション204が実行中であるとき、対応するワークフローの記述208が対話エンジン254によって実行されている。対話エンジン254は、最初の対話ユニット、またはワークフローオブジェクトを検索すると共に、その出力を適切な周辺装置に送る。例えば、モニタ260上の表示のための一連のテキストは、同様に、音声合成装置258によって音声プロンプトに変換されることができる。対話エンジン254は、データを出力するように、出力コンポーネントまたは出力装置256a〜256c、及び入/出力装置264a〜264eのどちらに命令するかを知る。それは、ワークフローの記述が、プログラマによって指定された通りに、この情報を含むことができるからである。
プロンプトに応答して、関連する周辺装置によって入力が受信されることをソフトウェアコンポーネント264a〜264eが判定する場合、この入力は、対話エンジン254にとって有益なフォーマットに変換されると共に、対話エンジン254に送られる。例えば、ユーザによって音声応答が音声認識システム266に提供されることができる。この発話データは、発話を認識するために分析されるデジタル表現に変換されると共に、一般的に発話データのアスキー(ASCII)表現に変換される。いくらかの場合において、入力値の期待されたセットがあると共に、アスキーデータは、セットのどの構成要素が入力として受信されたかを判定するために、このセットと比較され得る。他の場合において、アスキーデータは、単に対話エンジン254に送られる。
一度対話エンジン254が入力を受信すると、対話エンジン254は、どのようにワークフローの記述208を実行し続けるかを決定する。入力は有効ではないかもしれないと共に、対話エンジン254は、出力として現在のプロンプト、恐らくはヘルププロンプトを再送する必要があるかもしれない。入力の単なる受領は、リンクされる後継のワークフローオブジェクトに対話エンジン254を移動させるかもしれない。またはその代りに、入力データは、複数の可能なリンクのうちのいずれが続けられるべきであるかを判定するために、対話エンジン254によって分析され得る。更に、対話エンジン254は、アプリケーションの特定のロジック(例えば、在庫システムを更新すること)が達成され得るように、データ252をアプリケーション204に渡す。
このシーケンスは、新しいワークフローオブジェクトが検索されて実行される場合、それ自体を繰り返す。現在の画面に関する対話が終わるとき、アプリケーション204は、異なるGUI画面をおそらく検索することになると共に、新しいGUI画面と対応する新しいワークフローの記述によって、全体の処理は、それ自体を繰り返すことができる。このシーケンスは、新しいワークフローオブジェクトが検索されて実行される場合、それ自体を繰り返す。現在の画面に関する対話が終わるとき、アプリケーション204は、異なるGUI画面をおそらく検索することになると共に、新しいGUI画面と対応する新しいワークフローの記述によって、全体の処理は、それ自体を繰り返すことができる。その代りに、全体のワークフローの記述208は、1つのワークフローオブジェクトが、現在の画面の別のワークフローオブジェクトに単に連結しないが、しかし、たとえその全てがワークフローの記述に含まれる異なる画面であっても連結し得るように、マルチ画面のアプリケーションに関連し得る。本発明の実施例は、いずれの方法で設計されるアプリケーションでも動作可能である。
本発明の様々な実施例において、入力されるデータは、対話エンジン254にばかりではなく、他の周辺装置にも提供され得る。図5は、上述のように提供された全体の説明より更に詳述される対話エンジン254の典型的な動作を提供する。図5のフローチャートは、プロンプトが適切な周辺装置に出力されると共に、対話エンジン254が、そのプロンプトに応答する入力を受信するのを待っていると仮定する。
現在のワークフローオブジェクトによって関係させられた入/出力装置ソフトウェアコンポーネント264a〜264eは、入力がその関連する周辺装置で受信されたことを検知すると共に、対話エンジンに合図する。当業者は、入力が利用可能であることを判定するために、ポーリングベースのメカニズム、または割込み駆動のメカニズムが、対話エンジン、及び入/出力装置またはソフトウェアコンポーネント264a〜264eによって使用され得ると認識するであろう。ステップ300において、対話エンジンが入力を受信する。この時点で、対話エンジン254は、受信された入力を、ステップ301において、出力装置256a〜256c、及び入/出力装置264a〜264eのいくつか、または全部に対して転送することができる。
次に、ステップ302において、対話エンジンは、現在のワークフローオブジェクトに関するリンク活性化基準に基づいて、その入力によって対話エンジンを後継のワークフローオブジェクトに進ませるべきであるかどうかを判定する。もしそうでなければ、その場合に、受信された入力の処理は完了する。
しかしながら、もしそのワークフローが進むべきであるならば、多くのステップが実行され得る。ステップ304において、対話エンジンは、アクティブな入力ソフトウェアコンポーネント264a〜264eの各々に、受信された入力を通知する。これらの装置は、その場合に、ある他の周辺装置によって受信された入力値をそれらの関連する周辺装置に“表示する”ようにさせることを決定し得る。例えば、表示画面86上の“色”フィールドは、たとえ、ユーザがそれを打ち込む(もしくはマウスクリックによってそれを選択する)代りに、応答を発話したとしても、テキスト“赤”によって更新され得る。ワークフローの記述において指定されたあらゆる出力装置256a〜256cは、それらの表示が更新され得るように、同様に入力値も同様に提供され得る。
ステップ306において、対話エンジンは、入力装置264a〜264eに、現在の状態、またはワークフローオブジェクトがもはやアクティブではなく、そして応答において、これらのコンポーネントが、それらのそれぞれの周辺装置においてデータが受信されることを待つのを止めることができると指示する。
対話エンジンは、その場合に、出力装置256a〜256cから出力されるべきプロンプトを生成する次のワークフローオブジェクトを検索する。対話エンジンは、その次に、ステップ308において、それらの入力装置264a〜264eに、入力データの監視を始めるために、新しいワークフローオブジェクトに関してアクティブになるように指示し得る。
上述の処理は多くの個々のシーケンシャルステップとして説明されたが、本発明の実施例は、入力及びデータを処理しているとき、ワークフローの記述の全体、もしくは少なくとも重要な部分を利用することを意図する。例えば、ワークフローの記述は、GUIインタフェースの文法、及び内容に関する情報を対話エンジン254に提供する。この情報に関して、対話エンジンは、それが“OK”ボタン100または“キャンセル”ボタン102のようなグローバルな項目と関連するかどうかを判断するために、たとえこれらの項目が現在入力フォーカスを有していないかもしれないとしても、あらゆる入力を調査することができる。
特定のマルチモーダルソフトウェアアプリケーションに関して、ユーザは、繰り返される使用によって経験豊かになると共に、プロンプト、及びそれらの順序を熟知するようになるであろう。しかしながら、初心者ユーザは、同様にアプリケーションを使用すると共に、次にどのデータが必要とされるかを知るために、プロンプトに頼ることになる。従って、初心者ユーザを助ける長いプロンプト、もしくは詳細なプロンプトは、実際に全体のプロンプトを聞く必要がない経験豊かなユーザの邪魔をする。
従って、本発明の典型的な実施例は、ユーザがプロンプトの提示の間に入力を行うことができるバージイン(barge-in)機能を備える。例えば、発話プロンプトが音声合成装置258上で出力されている間に、ユーザは、適切な応答を発話することによって、プロンプトを中断し得る。その結果、音声認識システム266は、対話エンジン254に入力を通知すると共に、次に、対話エンジン254は、進行中のプロンプトを終了するように、音声合成装置258を制御する。受信された入力に基づいて、次のプロンプトが、ワークフローの記述に従って、対話エンジン254により出力される。
“バージイン”機能は、発話による応答のみに制限されない。代わりに、あらゆる装置からの入力、または所定の装置だけからの入力は、プロンプトを中断して、終了するために効果的であり得る。
アプリケーションの開発者が中断されることを望まないかもしれない、いくつかのプロンプトがある。例えば、データを入力するための領域に達するために、ユーザに完全に下端までスクロールすることを要求するGUI画面があるかもしれない。これらの場合において、プロンプトは、ワークフローの記述内でプライオリティプロンプト(優先されるプロンプト)として指定され得る。対話エンジン254は、そのようなプロンプトを実行する間、プロンプトをそれが終わる前に終了するための“バージイン”入力を許可しないことになる。プロンプトが完了した後で、プロンプトの間に受信された“バージイン”入力は、まだ使用され得るか、もしくは、それは、ユーザにデータを再入力させることを強要するために、廃棄され得る。
いくらかの場合において、ユーザは、たとえプロンプトが提示される前でも入力を行うように、プロンプトについて十分に精通している状態になり得る。例えば、“性別は?”、そしてその後に“髪の毛の色は?”のような2つの異なるプロンプトを必要とする代わりに、ユーザは、最初のプロンプトを聞いたら、単に“男性−ブラウン”と答えることができる。従って、第2のプロンプトは不必要になる。同様に、周辺装置は、一度に1を超えるデータを入力するために使用され得る。例えば、倉庫における部品の場所は、横列番号(整数)、シェルフ識別子(4文字変数)、及び貯蔵所位置(別の整数)を含むことができる。作業者がこの場所から部品を選ぶとき、彼らは、3つの個別のプロンプトになる3つの個別のワークフローオブジェクトを必要とするであろう、全部で3つの情報に促されるかもしれない。しかしながら、貯蔵所は、作業者が、同時に3つのデータ全てを容易に入力するためにスキャンすることができるバーコードラベルを有するかもしれない。従って、作動中、対話エンジンは、“横列の位置を特定してください?”と類似したプロンプトを生成する。応答において、スキャナ272のための入/出力装置264dは、3つの情報がスキャナから受信されるということを認識する。入/出力装置264dは、その場合に、3つのデータが、これらのデータに関する値と共に提供されつつあることを、対話エンジン254に通知し得る。対話エンジン254が、利用可能なワークフローの記述からの連結情報を有しているので、対話エンジン254は、データを現在のプロンプトと次のプロンプトの2つのプロンプトに結び付けると共に、受信データ全てを反映するために、あらゆる装置256a〜256c、264a〜264eを更新することができる。更に、対話エンジンは、既に受信されたデータに関するあらゆるプロンプトを省略すると共に、データが受信されなかった次のワークフローオブジェクトを進め得る。
本発明の典型的な実施例において、マルチモーダルソフトウェアアプリケーションは、プロンプトホールドオフ(prompt-holdoff)として知られている、別の機能を備えることができる。タッチスクリーン268のような装置は、リモートコンピュータ274が提供できるような入力、及び出力を提供することができる。従って、対話エンジン254がプロンプトを出力し始めるようにそれらに命令するときでさえも、入力はこれらの装置において受信されている途中であるかもしれない。入/出力装置264a〜264e、対話エンジン254、または出力装置256a〜256cは、全ての入力動作が終了するまで、あらゆるプロンプトの開始を阻止するように構成され得る。その結果、以前のプロンプト、または不注意に入力されたデータに関連付けられた入力は、現在のプロンプトに誤って関連付けられない。同様に、対話エンジンは、入力が、出力されようとしていたプロンプトに対する適切な応答であるかどうかを判定し得る。もしそうであるならば、その場合に、対話エンジンは、アプリケーション204に対して応答を送出し、現在のプロンプトを省略すると共に、ワークフローの記述から次のプロンプトを出力することができる。
ホールドオフプロンプトに対するこの能力は、ちょうど入力が受信されている装置に特有であり得るか、もしくは、その代りに、あらゆる装置において、その入力が終了するまで、プロンプトは生成されることを阻止され得る。
図6のフローチャート600は、周辺装置の入力状態に基づいてプロンプトの出力を理知的に制御する1つの典型的な方法を描写する。このような方法で、音声プロンプトの送出及び受信は、他のプロンプトと同様に、他の周辺装置において受信された音声応答、及び音声入力に従って動的に制御され得る。従って、音声入力のみの環境において良く知られるようになったプロンプト制御能力は、多種多様な周辺装置による入出力を扱うことができる、ここに示されたマルチモーダルソフトウェアアプリケーションに含まれる。
ステップ602において、周辺装置が、何らかの入力がそれらにおいて受信されているかどうかを判定するためにチェックされる。もしそうであるならば、その場合に、ステップ604の遅延期間の後に、それらの状態が再びチェックされる。入力が受信されていないとき、ステップ610において、対話エンジンによって現在のプロンプトが出力される。周辺装置は、ステップ606において、プロンプトのこの出力と同時に起こる入力に関して監視されると共に、受信された場合には、ステップ608において、プロンプトの出力を中断する。いくらかのプロンプトは、中断不可能であると指定されることができると共に、そのような場合において、対話エンジンは、ステップ608によって生成された中断信号を無視することになる。
ステップ612において、入力が受信される場合、プロンプトが出力されているとき、またはプロンプトが出力され終えた後のいずれかで、入力を受信することが発生し得る。ステップ616において、対話エンジンは、どのくらいの異なる応答がその中に含まれるかを判定するために、入力を評価する。ステップ618において、対話エンジンは、その場合に、ワークフローの記述からのプロンプトに、各異なる応答を結び付ける。次に、ステップ620において、対話エンジンは、ワークフローの記述から、まだ応答されていない次のプロンプトを特定すると共に、ステップ602に戻ることによって、プロンプトを提示するシーケンスを繰り返す。結局、全てのプロンプトが答えられると、フローチャートはステップ622で終了することができる。図6において示されたように、フローチャートは、プロンプトホールドオフ(prompt-holdoff)、バージイン(barge-in)、トークアヘッド(talk-ahead)に分類された部分を含む。本発明の実施例は、プロンプトの知的な制御を達成する際、全ての3つの能力、または単にこれらの能力のサブセットを含むことを意図する。
このように、本発明が様々な実施例の記述で説明されたと共に、これらの実施例が非常に詳細に説明された一方で、そのような詳細に対して付加されたクレームの範囲を限定するか、または何らかの方法で制限することは、出願人の意図ではない。追加の利点及び修正が、当業者には容易に明らかになる。それ故に、更に広い特徴における発明は、従って特定の詳細な記述、代表的装置及び方法、そして示されると共に説明された実例に制限されない。その結果、出願人の一般的な本発明概念の精神または範囲からは、はずれることなく、そのような詳細な記述からは、はずれるかもしれない。
例えば、ワイヤレス端末を包含する典型的な動作環境の詳細な記述が示された。しかしながら、本発明の実施例は、同様に、LANのような有線ネットワークメディアによって接続されたコンピュータを意図するか、もしくはインターネットまたは他のWAN上の有線ネットワークメディアによって接続されたコンピュータでさえも意図している。同様に、遠隔端末装置の処理能力は変化すると共に、ダム端末(dumb terminals)、シンクライアント(thin clients)、ワークステーション、及びサーバクラスのコンピュータを含むことができる。同様に、対話エンジン、及びGUIアプリケーションは、ネットワーク機能を持たない独立型コンピュータ上で利用され得る。
ある意味では本発明に一致する、音声使用可能なアプリケーションを作成することが可能である開発コンピュータ、及び音声使用可能なアプリケーションを実行することが可能であるワイヤレスのウェアラブル端末における、主要なハードウェアコンポーネント、及びソフトウェアコンポーネントを説明するブロック図である。 典型的なマルチモーダルアプリケーション開発システムの機能的な要素を描写するブロック図である。 典型的なマルチモーダルアプリケーション実行環境の機能的な要素を描写するブロック図である。 ウェアラブル計算装置のメイン表示画面を示すブロック図である。 ワークフローの記述オブジェクトのセットを作成するためのGUIオブジェクトの前処理を説明するフローチャートである。 入力装置からの受信入力に応答して対話エンジンによって実行される動作を説明するフローチャートである。 周辺装置の入力状態に基づいてプロンプトの出力を理知的に制御する1つの典型的な方法を説明するフローチャートである。
符号の説明
10 中央コンピュータ
12 ワイヤレスウェアラブル端末
14 ネットワーク(RF通信リンク)
16、18 中央演算処理装置(CPU)
20、22 メモリ
24、26 不揮発性記憶装置
28 ユーザインタフェース
30 ユーザインタフェース
32、34 ネットワークインタフェース
36、38 オペレーティングシステム
40 マルチモーダル開発環境
42 マルチモーダルランタイム環境
44 アプリケーション
46 プログラム
47 マルチモーダル環境
86 GUI画面
202 開発環境
204 マルチモーダルソフトウェアアプリケーション
206 アプリケーションコード
208 ワークフローの記述
210 再利用可能なオブジェクト
212 設定可能なオブジェクト
220 GUI制御ツールキット
222 音声制御を可能にするツールキット
224 タッチスクリーンツールキット
226 キーパッドツールキット
228 スキャナツールキット
230 通信ツールキット
232 その他のツールキット
254 対話エンジン
256a〜256c 出力装置
258 音声合成装置
260 表示モニタ
262、274 リモートコンピュータ
264a〜264e 入/出力装置
266 音声認識システム
268 タッチスクリーン
270 キーパッドまたはキーボード
272 スキャナ

Claims (25)

  1. マルチモーダルソフトウェアアプリケーションを実行するためのシステムであって、
    周辺装置の第1のセットから入力される第1のデータを受信すると共に、周辺装置の第2のセットに対して第2のデータを出力するように構成される前記マルチモーダルソフトウェアアプリケーションと、
    前記マルチモーダルソフトウェアアプリケーションと通信する対話エンジンと、
    前記第1のセット及び前記第2のセットの中の各周辺装置と接続された各インタフェースコンポーネントとを具備し、
    前記対話エンジンが、前記マルチモーダルソフトウェアアプリケーションから受信されたワークフローの記述を実行すると共に、前記マルチモーダルソフトウェアアプリケーションに対して前記第1のデータを提供するように構成されると共に、更に、前記ワークフローの記述からのプロンプトの出力を、前記周辺装置の第1のセットの入力状態に基づいて制御するように構成され、
    各インタフェースコンポーネントが、もしあれば前記第2のデータを接続された前記周辺装置に提供すると共に、もしあれば前記第1のデータを接続された前記周辺装置から受信するように構成される
    ことを特徴とするシステム。
  2. 前記制御が、もし前記プロンプトが出力されている間に前記第1のデータが受信される場合、前記プロンプトを中断する処理を含む
    ことを特徴とする請求項1に記載のシステム。
  3. 前記制御が、もし前記周辺装置の第1のセットのうちの1つが前記第1のデータを受信している場合、前記プロンプトの出力を延期する処理を含む
    ことを特徴とする請求項1に記載のシステム。
  4. 前記制御が、
    前記第1のデータが前記プロンプト及び次のプロンプトに関係すると判定する処理と、
    前記第1のデータの一部分を前記プロンプトと結合させ、前記第1のデータの他の部分を前記次のプロンプトと結合させる処理と
    を含むことを特徴とする請求項1に記載のシステム。
  5. 前記制御が、前記次のプロンプトの出力を無効にする処理を更に含む
    ことを特徴とする請求項4に記載のシステム。
  6. 前記制御が、もし前記プロンプトが中断不可能であると指定される場合、前記プロンプトの中断及び終了を阻止する処理を更に含む
    ことを特徴とする請求項2に記載のシステム。
  7. 前記周辺装置の第1のセットは、音声認識システム、無線周波数識別子スキャナ、バーコードスキャナ、タッチスクリーン、キーパッド、及びコンピュータのうちの1つ以上を含む
    ことを特徴とする請求項1に記載のシステム。
  8. 前記周辺装置の第2のセットは、音声合成システム、表示モニタ、及びコンピュータのうちの1つ以上を含む
    ことを特徴とする請求項1に記載のシステム。
  9. マルチモーダルアプリケーションを実行するための方法であって、
    前記マルチモーダルアプリケーションから受信されたワークフローの記述を実行するステップと、
    複数の周辺装置によって第1のワークフローオブジェクトのプロンプトを出力するステップと、
    前記複数の周辺装置の入力状態に従って前記プロンプトの出力を制御するステップとを具備し、
    前記ワークフローの記述が、複数のワークフローオブジェクトを含み、
    前記プロンプトが前記マルチモーダルアプリケーションに関連している
    ことを特徴とする方法。
  10. 前記プロンプトが、前記マルチモーダルアプリケーションのGUI画面の視覚制御に関連している
    ことを特徴とする請求項9に記載の方法。
  11. 前記制御するステップが、
    前記出力するステップが完了する前にデータを受信するステップと、
    前記データの受信に応答して、前記出力するステップを終了するステップとを含み、
    それによって、前記プロンプトのあらゆる残り部分が出力されない
    ことを特徴とする請求項9に記載の方法。
  12. 前記出力するステップが、音声プロンプトを出力するステップを含み、
    前記受信するステップが、音声認識システムから音声データを受信するステップを含む
    ことを特徴とする請求項11に記載の方法。
  13. 前記データが、前記複数の周辺装置のうちの1つから受信される
    ことを特徴とする請求項11に記載の方法。
  14. 前記プロンプトが中断不可能であると指定されたかどうかを判定するステップと、
    前記プロンプトの終了を阻止するステップと
    を更に具備することを特徴とする請求項11に記載の方法。
  15. 前記データが所定の前記周辺装置から受信される場合、前記終了するステップを実行するステップと、
    もし入力が所定の前記周辺装置以外から受信される場合、前記終了するステップを省略するステップと
    を更に具備することを特徴とする請求項11に記載の方法。
  16. 前記制御するステップが、
    前記プロンプトに応答して、前記プロンプト及び第2のワークフローオブジェクトに関連するデータを受信するステップと、
    前記データの一部分を前記第1のワークフローオブジェクトと結合させ、前記データの他の部分を前記第2のワークフローオブジェクトと結合させるステップと
    を含むことを特徴とする請求項9に記載の方法。
  17. 前記第2のワークフローオブジェクトに関連する次のプロンプトの出力を阻止するステップを更に具備する
    ことを特徴とする請求項16に記載の方法。
  18. 前記データが、前記第1のワークフローオブジェクト、及び複数の他のワークフローオブジェクトに関連する
    ことを特徴とする請求項16に記載の方法。
  19. 前記制御するステップが、
    前記複数の周辺装置のうちの1つにおいてデータを受信するステップと、
    前記データを受信しなくなるまで、前記プロンプトを出力するステップを延期するステップと
    を含むことを特徴とする請求項9に記載の方法。
  20. 前記延期するステップが、
    前記プロンプトを1つの前記周辺装置に対して出力することを延期するステップと、
    前記プロンプトを前記複数の周辺装置のうちの他のものに対して遅延なしで出力することを許可するステップと
    を含むことを特徴とする請求項19に記載の方法。
  21. 前記データが前記プロンプトに関連するかどうかを判定するステップと、
    もし前記データが前記プロンプトに関連する場合、前記プロンプトの出力を省略するステップと
    を更に具備することを特徴とする請求項19に記載の方法。
  22. マルチモーダルアプリケーションを実行するための命令を伝搬するコンピュータ読み取り可能な媒体であって、
    前記命令が、それの実行によって、
    前記マルチモーダルアプリケーションから受信されたワークフローの記述を実行するステップと、
    複数の周辺装置によって第1のワークフローのプロンプトを出力するステップと、
    前記複数の周辺装置の入力状態に従って前記プロンプトの出力を制御するステップとを1つ以上のプロセッサに実行させるように配置され、
    前記ワークフローの記述が、複数のワークフローオブジェクトを含み、
    前記プロンプトが、前記マルチモーダルアプリケーションのGUI画面の視覚制御に関連する
    ことを特徴とするコンピュータ読み取り可能な媒体。
  23. 前記命令が、それの実行によって、
    前記出力するステップが完了する前にデータを受信するステップと、
    前記データの受信に応答して、前記出力するステップを終了するステップとを1つ以上のプロセッサに更に実行させるように配置され、
    それによって、前記プロンプトのあらゆる残り部分が出力されない
    ことを特徴とする請求項22に記載のコンピュータ読み取り可能な媒体。
  24. 前記命令が、それの実行によって、
    前記プロンプトに応答して、前記プロンプト及び第2のワークフローオブジェクトに関連するデータを受信するステップと、
    前記データの一部分を前記第1のワークフローオブジェクトと結合させ、前記データの他の部分を前記第2のワークフローオブジェクトと結合させるステップとを1つ以上のプロセッサに更に実行させるように配置される
    ことを特徴とする請求項22に記載のコンピュータ読み取り可能な媒体。
  25. 前記命令が、それの実行によって、
    前記複数の周辺装置のうちの1つにおいてデータを受信するステップと、
    前記データを受信しなくなるまで、前記プロンプトを出力するステップを延期するステップとを1つ以上のプロセッサに更に実行させるように配置される
    ことを特徴とする請求項22に記載のコンピュータ読み取り可能な媒体。
JP2006518860A 2003-07-10 2004-07-06 マルチモーダルソフトウェアにおける知的なプロンプト制御のための方法、及びシステム Withdrawn JP2007531069A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/617,593 US20050010418A1 (en) 2003-07-10 2003-07-10 Method and system for intelligent prompt control in a multimodal software application
PCT/US2004/021696 WO2005008476A2 (en) 2003-07-10 2004-07-06 Method and system for intelligent prompt control in a multimodal software application

Publications (1)

Publication Number Publication Date
JP2007531069A true JP2007531069A (ja) 2007-11-01

Family

ID=33565007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006518860A Withdrawn JP2007531069A (ja) 2003-07-10 2004-07-06 マルチモーダルソフトウェアにおける知的なプロンプト制御のための方法、及びシステム

Country Status (4)

Country Link
US (1) US20050010418A1 (ja)
EP (1) EP1644824A2 (ja)
JP (1) JP2007531069A (ja)
WO (1) WO2005008476A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011014082A (ja) * 2009-07-06 2011-01-20 Toshiba Tec Corp ウエアラブル端末装置及びプログラム
JP2012519889A (ja) * 2009-03-04 2012-08-30 グローバル ブルー ホールディングス アーベー 還付システム及び方法

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910911B2 (en) 2002-06-27 2005-06-28 Vocollect, Inc. Break-away electrical connector
US8311835B2 (en) * 2003-08-29 2012-11-13 Microsoft Corporation Assisted multi-modal dialogue
US20060253272A1 (en) * 2005-05-06 2006-11-09 International Business Machines Corporation Voice prompts for use in speech-to-speech translation system
US20070080930A1 (en) * 2005-10-11 2007-04-12 Logan James R Terminal device for voice-directed work and information exchange
JP4197344B2 (ja) * 2006-02-20 2008-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声対話システム
US8311836B2 (en) * 2006-03-13 2012-11-13 Nuance Communications, Inc. Dynamic help including available speech commands from content contained within speech grammars
US20080180213A1 (en) * 2006-11-07 2008-07-31 Flax Stephen W Digital Intercom Based Data Management System
US20080130528A1 (en) * 2006-12-01 2008-06-05 Motorola, Inc. System and method for barging in a half-duplex communication system
US8612230B2 (en) * 2007-01-03 2013-12-17 Nuance Communications, Inc. Automatic speech recognition with a selection list
US9307029B2 (en) * 2007-02-12 2016-04-05 Broadcom Corporation Protocol extensions for generic advisory information, remote URL launch, and applications thereof
US7801728B2 (en) * 2007-02-26 2010-09-21 Nuance Communications, Inc. Document session replay for multimodal applications
US8635069B2 (en) 2007-08-16 2014-01-21 Crimson Corporation Scripting support for data identifiers, voice recognition and speech in a telnet session
DE102007050127A1 (de) * 2007-10-19 2009-04-30 Daimler Ag Verfahren und Vorrichtung zur Prüfung eines Objektes
USD626949S1 (en) 2008-02-20 2010-11-09 Vocollect Healthcare Systems, Inc. Body-worn mobile device
US20090216534A1 (en) * 2008-02-22 2009-08-27 Prakash Somasundaram Voice-activated emergency medical services communication and documentation system
US8856009B2 (en) * 2008-03-25 2014-10-07 Intelligent Mechatronic Systems Inc. Multi-participant, mixed-initiative voice interaction system
US20100057505A1 (en) * 2008-08-27 2010-03-04 International Business Machines Corporation Business process community input
US20100077458A1 (en) * 2008-09-25 2010-03-25 Card Access, Inc. Apparatus, System, and Method for Responsibility-Based Data Management
US8386261B2 (en) * 2008-11-14 2013-02-26 Vocollect Healthcare Systems, Inc. Training/coaching system for a voice-enabled work environment
US20110154291A1 (en) * 2009-12-21 2011-06-23 Mozes Incorporated System and method for facilitating flow design for multimodal communication applications
US8659397B2 (en) 2010-07-22 2014-02-25 Vocollect, Inc. Method and system for correctly identifying specific RFID tags
USD643400S1 (en) 2010-08-19 2011-08-16 Vocollect Healthcare Systems, Inc. Body-worn mobile device
USD643013S1 (en) 2010-08-20 2011-08-09 Vocollect Healthcare Systems, Inc. Body-worn mobile device
US9600135B2 (en) * 2010-09-10 2017-03-21 Vocollect, Inc. Multimodal user notification system to assist in data capture
US9489940B2 (en) 2012-06-11 2016-11-08 Nvoq Incorporated Apparatus and methods to update a language model in a speech recognition system
US9430420B2 (en) 2013-01-07 2016-08-30 Telenav, Inc. Computing system with multimodal interaction mechanism and method of operation thereof
US20140195968A1 (en) * 2013-01-09 2014-07-10 Hewlett-Packard Development Company, L.P. Inferring and acting on user intent
US9076459B2 (en) 2013-03-12 2015-07-07 Intermec Ip, Corp. Apparatus and method to classify sound to detect speech
US9870357B2 (en) * 2013-10-28 2018-01-16 Microsoft Technology Licensing, Llc Techniques for translating text via wearable computing device
US10846112B2 (en) * 2014-01-16 2020-11-24 Symmpl, Inc. System and method of guiding a user in utilizing functions and features of a computer based device
EP3635578A4 (en) 2017-05-18 2021-08-25 Aiqudo, Inc. SYSTEMS AND PROCEDURES FOR CRWODSOURCING ACTIONS AND COMMANDS
US11340925B2 (en) 2017-05-18 2022-05-24 Peloton Interactive Inc. Action recipes for a crowdsourced digital assistant system
US10838746B2 (en) 2017-05-18 2020-11-17 Aiqudo, Inc. Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations
US11043206B2 (en) 2017-05-18 2021-06-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
US11056105B2 (en) * 2017-05-18 2021-07-06 Aiqudo, Inc Talk back from actions in applications
US10768954B2 (en) 2018-01-30 2020-09-08 Aiqudo, Inc. Personalized digital assistant device and related methods
US11423215B2 (en) * 2018-12-13 2022-08-23 Zebra Technologies Corporation Method and apparatus for providing multimodal input data to client applications
CA3199655A1 (en) * 2020-11-23 2022-05-27 Andrei PAPANCEA Method for multi-channel audio synchronization for task automation
US11915694B2 (en) 2021-02-25 2024-02-27 Intelligrated Headquarters, Llc Interactive voice system for conveyor control

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5010495A (en) * 1989-02-02 1991-04-23 American Language Academy Interactive language learning system
US5012511A (en) * 1990-04-06 1991-04-30 Bell Atlantic Network Services, Inc. Method of and system for control of special services by remote access
US5386494A (en) * 1991-12-06 1995-01-31 Apple Computer, Inc. Method and apparatus for controlling a speech recognition function using a cursor control device
JP3286339B2 (ja) * 1992-03-25 2002-05-27 株式会社リコー ウインドウ画面制御装置
IT1256823B (it) * 1992-05-14 1995-12-21 Olivetti & Co Spa Calcolatore portatile con annotazioni verbali.
US5748841A (en) * 1994-02-25 1998-05-05 Morin; Philippe Supervised contextual language acquisition system
US5890123A (en) * 1995-06-05 1999-03-30 Lucent Technologies, Inc. System and method for voice controlled video screen display
US5903870A (en) * 1995-09-18 1999-05-11 Vis Tell, Inc. Voice recognition and display device apparatus and method
US5812977A (en) * 1996-08-13 1998-09-22 Applied Voice Recognition L.P. Voice control computer interface enabling implementation of common subroutines
US5892813A (en) * 1996-09-30 1999-04-06 Matsushita Electric Industrial Co., Ltd. Multimodal voice dialing digital key telephone with dialog manager
US5909667A (en) * 1997-03-05 1999-06-01 International Business Machines Corporation Method and apparatus for fast voice selection of error words in dictated text
US5884265A (en) * 1997-03-27 1999-03-16 International Business Machines Corporation Method and system for selective display of voice activated commands dialog box
US6173266B1 (en) * 1997-05-06 2001-01-09 Speechworks International, Inc. System and method for developing interactive speech applications
US5991726A (en) * 1997-05-09 1999-11-23 Immarco; Peter Speech recognition devices
JPH10340180A (ja) * 1997-06-06 1998-12-22 Olympus Optical Co Ltd 音声データの処理制御装置及び音声データの処理を制御するための制御プログラムを記録した記録媒体
US6504914B1 (en) * 1997-06-16 2003-01-07 Deutsche Telekom Ag Method for dialog control of voice-operated information and call information services incorporating computer-supported telephony
US6246989B1 (en) * 1997-07-24 2001-06-12 Intervoice Limited Partnership System and method for providing an adaptive dialog function choice model for various communication devices
US5956675A (en) * 1997-07-31 1999-09-21 Lucent Technologies Inc. Method and apparatus for word counting in continuous speech recognition useful for reliable barge-in and early end of speech detection
US6044347A (en) * 1997-08-05 2000-03-28 Lucent Technologies Inc. Methods and apparatus object-oriented rule-based dialogue management
US5950167A (en) * 1998-01-26 1999-09-07 Lucent Technologies Inc. Screen-less remote voice or tone-controlled computer program operations via telephone set
US6233559B1 (en) * 1998-04-01 2001-05-15 Motorola, Inc. Speech control of multiple applications using applets
US6012030A (en) * 1998-04-21 2000-01-04 Nortel Networks Corporation Management of speech and audio prompts in multimodal interfaces
US6438523B1 (en) * 1998-05-20 2002-08-20 John A. Oberteuffer Processing handwritten and hand-drawn input and speech input
US6434526B1 (en) * 1998-06-29 2002-08-13 International Business Machines Corporation Network application software services containing a speech recognition capability
US6185535B1 (en) * 1998-10-16 2001-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Voice control of a user interface to service applications
US6243682B1 (en) * 1998-11-09 2001-06-05 Pitney Bowes Inc. Universal access photocopier
US6233560B1 (en) * 1998-12-16 2001-05-15 International Business Machines Corporation Method and apparatus for presenting proximal feedback in voice command systems
US6321198B1 (en) * 1999-02-23 2001-11-20 Unisys Corporation Apparatus for design and simulation of dialogue
US6424357B1 (en) * 1999-03-05 2002-07-23 Touch Controls, Inc. Voice input system and method of using same
US7216351B1 (en) * 1999-04-07 2007-05-08 International Business Machines Corporation Systems and methods for synchronizing multi-modal interactions
GB9930731D0 (en) * 1999-12-22 2000-02-16 Ibm Voice processing apparatus
JP3705735B2 (ja) * 2000-08-29 2005-10-12 シャープ株式会社 オンデマンド・インタフェース装置とそのウィンドウ表示装置
ATE391986T1 (de) * 2000-11-23 2008-04-15 Ibm Sprachnavigation in webanwendungen
US7487440B2 (en) * 2000-12-04 2009-02-03 International Business Machines Corporation Reusable voiceXML dialog components, subdialogs and beans
US7257537B2 (en) * 2001-01-12 2007-08-14 International Business Machines Corporation Method and apparatus for performing dialog management in a computer conversational interface
GB2372864B (en) * 2001-02-28 2005-09-07 Vox Generation Ltd Spoken language interface
US6915258B2 (en) * 2001-04-02 2005-07-05 Thanassis Vasilios Kontonassios Method and apparatus for displaying and manipulating account information using the human voice
GB2378776A (en) * 2001-05-22 2003-02-19 Canon Kk Apparatus and method for managing a multi-modal interface in which the inputs feedback on each other
US7003464B2 (en) * 2003-01-09 2006-02-21 Motorola, Inc. Dialog recognition and control in a voice browser

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012519889A (ja) * 2009-03-04 2012-08-30 グローバル ブルー ホールディングス アーベー 還付システム及び方法
JP2015008018A (ja) * 2009-03-04 2015-01-15 グローバル ブルー エス.エー. 還付システム及び方法
JP2011014082A (ja) * 2009-07-06 2011-01-20 Toshiba Tec Corp ウエアラブル端末装置及びプログラム

Also Published As

Publication number Publication date
US20050010418A1 (en) 2005-01-13
WO2005008476A3 (en) 2006-01-26
WO2005008476A2 (en) 2005-01-27
EP1644824A2 (en) 2006-04-12

Similar Documents

Publication Publication Date Title
JP2007531069A (ja) マルチモーダルソフトウェアにおける知的なプロンプト制御のための方法、及びシステム
US20050010892A1 (en) Method and system for integrating multi-modal data capture device inputs with multi-modal output capabilities
RU2345404C2 (ru) Средство разработки активного содержимого: исполнение задач и структурированного содержимого
US7448024B2 (en) System and method for software application development in a portal environment
US7024348B1 (en) Dialogue flow interpreter development tool
US8571612B2 (en) Mobile voice management of devices
CN100361076C (zh) 在含有图形用户界面的计算机上执行任务的方法
US20080114604A1 (en) Method and system for a user interface using higher order commands
KR101076867B1 (ko) 콘텐츠를 생성하기 위한 자동 이미지 캡처
CN101536084A (zh) 对话分析
EP2642394A1 (en) Test device
CN113170002B (zh) 用于为联络中心应用提供上下文协助的系统和方法
JP2008040537A (ja) Guiテスト支援システム及びテスト支援用アプリケーションプログラム
US20060206826A1 (en) Development framework for mixing semantics-driven and state-driven dialog
JPH05100833A (ja) コード生成手段を有するデータ処理装置及びコード生成方法
CA2427512C (en) Dialogue flow interpreter development tool
WO2020141611A1 (ja) 対話型サービス提供システム、対話型サービス提供方法、シナリオ生成編集システム及びシナリオ生成編集方法
JP2020109612A (ja) 対話型サービス提供システム、シナリオ生成編集システム及びプログラム
KR102046622B1 (ko) 워크플로우 기반 소프트웨어 서비스 시스템 및 이 시스템의 각 기능을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램
JP2021009605A (ja) ソフトウェアの操作シナリオの生成を支援するプログラム、方法およびソフトウェアの操作シナリオの生成を支援する装置
Feuerstack et al. Designing and executing multimodal interfaces for the web based on state chart XML
CN117742834A (zh) 一种低代码平台页面组件配置方法及装置
CN112883184A (zh) 对话管理方法、设备、计算机可读存储介质及程序产品
JP2786024B2 (ja) メールボックス情報表示方式
JPH06242941A (ja) 対話処理システム

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080812