(57)【要約】  一方でユーザとの対話を制御するタスクを有し、他方では該対話システムのスピーチユーザインターフェイス（ＳＰ）及びアプリケーション（ＡＰ）を監視する、対話システム用の対話制御（ＤＳ）を開発する方法及びシステムが開示される。まず初めに、開発過程において、開発システムの表示装置によって表示されるグラフィック対話記述（ＧＢ）が作成される。続いて、前記グラフィック対話記述（ＧＢ）は、オブジェクト指向翻訳器言語のクラスを有する技術的対話記述（ＴＢ）に変換され、前記技術的対話記述は、これらのクラスを、最終的に前記対話システムによって実行され得る前記対話制御（ＤＳ）を表すバイナリ形式に翻訳する。【特許請求の範囲】
【請求項１】
スピーチ入力インターフェイス及びアプリケーションを備える対話システム用の対話制御を作成する方法であって、前記対話制御が、前記スピーチ入力インターフェイス及び前記アプリケーションと連繋して、
−グラフィック対話要素を有するグラフィック対話記述を作成するステップであって、前記グラフィック対話要素が、前記グラフィック対話記述の作成時において、表示装置を用いて表示されるステップと、
−オブジェクト指向翻訳器言語のクラスに関して、前記グラフィック対話記述の前記グラフィック対話要素を、技術的対話記述の技術的対話要素に変換するステップと、
−前記対話制御を形成するときに、前記技術的対話記述を、前記対話システムによって直接用いられ得るバイナリデータに翻訳するステップと、
で動作する方法。
【請求項２】
前記技術的対話記述がテキスト変換され得、前記グラフィック対話記述が、必要である場合に前記技術的対話記述のテキスト変換によって少なくとも一部分補足され、前記補足されたグラフィック対話記述が表示され、前記技術的対話記述の前記テキスト前記変換が、グラフィック対話記述を技術対話記述へ変換するステップにおいて考慮されることを特徴とする、請求項１に記載の方法。
【請求項３】
既存の技術的対話記述が、新たなグラフィック対話記述を作成するための基礎としてグラフィック対話記述へ少なくとも一部変換されることを特徴とする、請求項１及び２の何れか一項に記載の方法。
【請求項４】
−対話記述クラス階層及び／又は対話記述クラスライブラリの所与のオブジェクト指向クラスが、グラフィック対話要素として少なくとも一部表されることと、
−前記グラフィック対話記述が、グラフィック対話要素のグラフィックの選択、組合せ及び／又は変換を通じて作成されることと、
−前記グラフィック対話記述が、派生クラスの形式で、前記グラフィック対話要素によって表される前記特定されるクラスの派生化を通じて、技術的対話記述の技術的対話要素へ変換されることと、
を特徴とする、請求項１ないし３の何れか一項に記載の方法。
【請求項５】
特定される副対話記述が、グラフィック対話要素としてグラフィック的に少なくとも一部表され、選択され、及びグラフィック対話記述へ統合されることを特徴とする、請求項１ないし４の何れか一項に記載の方法。
【請求項６】
前記グラフィック対話記述の場合に、全てのグラフィック対話要素が、シンボルによって表され、前記グラフィック対話記述の前記作成ステップが、前記シンボルの選択するステップ、複製するステップ及びリンクするステップ並びに前記シンボルによって表される前記技術的対話要素の変換するステップを通じて行われることを特徴とする、請求項１ないし５の何れか一項に記載の方法。
【請求項７】
スピーチ入力インターフェイス及びアプリケーションを備える対話システム用の対話制御を作成するシステムであって、前記対話制御が前記スピーチ入力インターフェイス及び前記アプリケーションと連繋して動作し、
−グラフィック対話記述のグラフィック対話要素を可視化及び変換するグラフィク対話エディタと、
−オブジェクト指向翻訳器言語のクラスに関して、前記グラフィック対話要素を、技術的対話記述の技術的対話要素に変換する変換器と、
−前記対話制御を形成するときに、前記技術的対話記述を、前記対話システムによって直接用いられ得るバイナリデータに翻訳する翻訳器と、
を備えるシステム。
【請求項８】
前記技術的対話記述を変換するテキスト対話エディタと、前記技術的対話記述をテキスト変換することによって前記グラフィック対話記述を少なくとも部分的に補足する更新器とを特徴とする、請求項７に記載のシステム。
【請求項９】
前記対話制御と同じランタイム環境で動作可能であることを特徴とする、請求項７及び８の何れか一項に記載のシステム。
【請求項１０】
対話制御、スピーチ入力インターフェイス及びアプリケーションを備える対話システムであって、前記対話制御が、前記スピーチ入力インターフェイス及び前記アプリケーションと連繋して動作し、前記対話制御が、請求項１ないし６の何れか一項に記載の方法を用いて作成されている対話システム。
【請求項１１】
動作中において、新たな対話制御が、統合され及び展開され得ることを特徴とする、請求項１０に記載の対話システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話システムに関する対話制御を生成する方法及びシステム、及びこの種の対話制御を備える対話システムに関する。
【背景技術】
【０００２】
対話システムのスピーチ制御ユーザガイダンスに関する対話制御は、例えばテレフォンバンキング及び家庭対話システムなどのスピーチ制御情報及びサービス提供システムの場合などの、全ての種類のスピーチのポータルに関する広範囲な商業的応用例分野を有する。この種類のスピーチ制御システムは、ユーザのスピーチ発話が記録及び評価されるスピーチ入力インターフェイスを有し、また通常、スピーチ発生及びスピーチ出力に関する装置も有する。対話システムは、中央制御コンポーネントとして、対話制御を有する。この対話制御は、システム及びユーザ間の所定の、相互条件付の、相互サブ対話の形式での全ての有効なスピーチ対話及び、これにより派生され得るシステム側の応答を実行する。有効な対話のネットワーク及びこれらの条件付依存性は、複雑な通信仕様を備える対話システムの場合、比較的広範囲なものになり得る。
【０００３】
斯様な対話制御は、原則として、例えばＲＯＭチップのようなハードウェアの形式で実現され得る。斯様なハードウェア解決法は、ソフトウェア解決法よりも実行速度の点に関して優れているが、条件変更に対する適合性に関しては何の可能性も提供しない。したがって、対話制御をソフトウェアとして実現すること及び実行用の対話システムに斯様にして利用可能にすることは道理にかなっている。
【０００４】
スピーチ制御対話システムの開発及び製作において、制御されるべき対話システムが通信的複雑性を有し、開発者が対話システムの概要を得ることを困難であるという一般的な問題が一方で生じる。他方では、対話システムの仕様いわゆる対話記述に対する変更があると、対話制御又は対話記述の通信の適合作業が行わなければならず、これらの高速及び正確な実行性は、対話記述の複雑性によって同様に制限される。対話システムの応用例の種類に応じて、例えば、自動販売システム又は価格からの提供に関する品物及びサービスの種類の変化の結果としての斯様な変更は、非常に頻繁に実行される必要があり得る。
【０００５】
通常、特定の開発システムを有する対話制御は、対話開発者によって作成され、その後、ランタイムシステムによって実行される対話システムにロードされる。対話システムに対して変更が必要である場合、対話制御は、開発システムに読み込まれ、そこで適宜に更新され、そして再び対話システムのランタイムシステムにロードされなければならない。近年、独自仕様の記述及び仕様言語がたいてい用いられ、これらは、たいてい、タスクに特別に適される種類の命令を有するプログラミング言語である。これらの言語は、対話開発者が、対話制御を設定するために特にこれらの言語を学習する必要があるという不利な点を有する。同様に、対話システムの製作者の依頼人又は外部サービス提供者は、広範囲なトレーングの後でのみ対話の記述への改造又は変更を作成し得る。このことは、斯様なシステムを極端に特定の応用例領域に関して柔軟性のないものにし、及び使用不可能にしている。更に、作成されるべき又は変更させるべき対話の記述は、多くの場合、非常に複雑であり、開発処理又は維持処理は、独自仕様言語の所与のフレームワークにおいてかなりの時間量を要し得る。
【０００６】
対話制御用の斯様な仕様言語は、たいていは、インタープリタによって対話システムで実行されるスクリプト言語である。このことは、翻訳により、対話システムのランタイム環境での斯様な対話システムの実行速度が制限されるという原理的な不利な点を有する。同様に、特定の複雑性のレベルに達するスクリプト言語の開発時間は、構成するのがより困難であることから一層長くなる。現在の技術開発により、仕様言語の命令の幅又は強力さを拡大することが更に必要となり得る。このことは、開発システムのインタープリタ及び対話システムのインタープリタの両方が、新たな種類の命令に適合しなければならないという更なる不利益を導く。
【０００７】
原理として、画像の又は視覚的なプログラミングの手段を用いて対話制御の下書きを表すことも可能である。しかし、通常、グラフィックツールは、特別に適合され、したがって制限された種類の命令構造及び監視構造を備える独自技術の方法のみを提供するので、拡張対話の記述の複雑性を熟達するのに、かなりの困難さがここで生じる。そして斯様にして開発されたグラフィック開発対話は、対話制御としてスクリプト言語プログラムの形式で、対話システムに利用可能にされ得る。しかし、斯様に実現可能であり得るグラフィック開発システムは、いずれの所望な複雑性を有する対話を開発するのに必要な能力も有しない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、本発明の目的は、対話システムに関して、簡単で、柔軟性があり、高速でかつ経済的な新しい対話制御の生成及び適合を可能にすることである。
【課題を解決するための手段】
【０００９】
この目的は、アプリケーション開発者が、初めに、適切なグラフィック表示対話要素を選択及び組み合わせることによってグラフィック対話記述を作成する、対話システムに関する対話制御を作成する方法によって１つのことに関して達成される。これにおいて、前記グラフィック対話記述は、表示装置によって可視化される。前記対話要素は、例えば、あいさつ及び締めの対話、識別の対話又は情報問合せなどの頻出の及び再利用可能な標準副対話を通常表し得る。同様に、例えば、対話制御が推測し得る状態、すなわち状態移行などの対話の構造的要素は、グラフィック的に表され得る。対話開発者は、これら対話の構造的要素をアーカイブから（例えば対話データベース又は対話ライブラリから）取得し得、グラフィック対話記述の可視化に基づいて、特定のインターフェイスを介して、これら対話の構造的要素を既に選択されていた前記要素に適切にリンクすることが可能である。本発明によると、このグラフィック対話記述は、略自動的に技術的対話記述に変換され、作成された対話をオブジェクト指向の翻訳言語のプログラムコードで表す。斯様な汎用プログラミング言語(例えば、Ｊａｖａ，Ｃ＋＋又はＣ＃)がグラフィック記述言語よりも計算に関して一般的により強力であるので、グラフィック対話記述の機能性は、全ての場合において、該変換を通じて等価な技術的対話記述にマップされ得る。開発者が完全に所望の通りの技術的レベルで対話を作成した後で、技術的対話記述は、対話制御を形成する適切なコンパイラを用いて機械コードに翻訳され、即座に使用するために対話システムにインストールされ得る。このことは、インタープリタ言語又はスクリプト言語で作成された対話制御の通常の使用と比較すると、対話制御が機械コードで利用可能であること、及びこの点において、スクリプトプログラムはより遅いインタープリタを介して通訳されなければならないが、前記対話制御が、対話システムにおいて高速で及び高い信頼性で動作するという有利な点を有する。
【００１０】
独自技術のプログラミング言語よりもむしろ汎用なプログラミング言語を用いることの重要な有利な点は、想定され得るいかなる対話も実現することが可能である可能性にある。このことは、斯様な対話制御が、経費を掛けることなくいかなる時でも拡張され得、及びいかなる技術的又は市場経済の発展にも適合され得るという更なる有利な点を生む。
【００１１】
技術的対話記述は、用いられてきたオブジェクト指向のプログラミング言語のクラスを備え、一方で、基本クラスからの派生物であり得、したがって、これら基本クラスの特定の特性を継承し得、他方では、副対話、対話状態又は対話移行用の副クラスを含み得る。斯様にして、全体として技術的対話記述を表し、最終的に対話制御を完全に特定するクラス階層が生じ得る。
【００１２】
いずれの所望のオブジェクト指向のプログラミング言語で書かれた対話要素又は対話モジュールも、言語の構造によって生じられたデータカプセル化とインターフェイスの正確な定義とにより、原理的に再利用可能であり、したがって、後々の新たな対話制御の開発のために効率的に再び利用され得るという有利な点を有する。
【００１３】
グラフィックレベルで対話を開発した対話開発者は、グラフィックの選択及び組合せにより、プログラミングを通じて技術的レベルで対話をより正確に実行及び洗練することが可能であるのが好ましい。したがって、例えば、技術的記述レベルにおける対話システムの標準発話は、具体的な対話状況に適合され得、すなわち（グラフィック）副対話に規定されるユーザに対して開かれた問合せオプションは、他のオプションの追加により拡張され得る。
【００１４】
技術的記述レベルでの対話クラスの新たな記述作成は、特に熟練の対話開発者にとって、グラフィック的に対話を開発するよりも早く対話をプログラムすることが可能である場合、好ましくあり得る。同様に、例えば、１つ又は複数のクラスから特性及び方法を継承する特定の抽象化レベルの対話クラスが必要であるとともに、類似のクラスが対話クラスに関するデータベースにおいて利用可能でない場合、開発に対する技術的プログラミング解決法は、好ましい。特定の対話状況が実現され得ない場合、又は完全な計算性能を有しないグラフィック記述言語によって辛うじてのみ実現され得る場合も同様である。斯様な場合、対話開発者は、完全な計算性能を有するプログラミング言語を有する技術的対話記述を更に開発するとともに、技術的対話記述にこれらを組み込むために、具体的な副対話を実現する新たなオブジェクト指向のクラスを書くオプションを有する。
【００１５】
いずれの場合においても、対話制御の開発が、グラフィック的に及び等価プログラミング言語レベルにおいての両方で、特に柔軟性があり及び問題志向の形式で進め得ることが本発明の特に有利な点である。
【００１６】
この分散型対話開発の更なる有利な点は、スピーチ制御対話システムの対話（これらの対話が後の動作において音響形式でのみ存在し、近年のこれらの対話システムがかなりの程度の複雑性に到達し得る）が、グラフィック記述レベルで可視化されるという事実にある。したがって、対話開発者は、これら対話のより良い概略を得ることが可能であり、これら対話を更に良く設計することが可能である。技術的対話記述への変換の中間ステップは、対話開発者が、対話制御のグラフィック的設計を対話システムによって設定される要件に、又は依頼者の要望に正確に適合することを可能にさせる。
【００１７】
ここにおいて、独自技術の対話記述言語の代わりにＪａｖａ又はオブジェクト指向のＣ派生言語のなどの従来型のプログラミング言語を使用することは、対話システムの製作者のみならず、例えば依頼者の保守管理者又は特別サービス提供者が、対話制御を開発及び必要であれば改造し得るので、特に有利である。この場合に必要とされるのは、該システムのプログラミングインターフェイス（ＡＰＩ）における命令のみである。原理として、いかなるオブジェクト指向プログラミング言語もこの場合に選択され得る。
【００１８】
グラフィック対話記述及び技術対話記述間の一貫性を保障するために、本発明の１つの実施例において、技術対話記述をグラフィック対話記述への再びテキスト変換を統合することが可能である。グラフィック記述言語及び技術的記述言語の強力さの存在し得る差は、オブジェクト指向のプログラミング言語の厳しいシンタックス並びに継承及び抽象化の仕組みによる階層構造により、各対話クラスが依存性及びインターフェイスを用いてグラフィック的にシンボル化され得るので、グラフィック対話記述の更新において何の問題も出ない。
【００１９】
本発明の特に有利な実施例においては、グラフィック対話記述の技術的対話記述への変換は、技術的対話記述の変換によるグラフィック対話記述の更新と同様に、自動的な形式で及び開発者にとって透明な形式で、開発環境を通してバックグラウンドで行われる。これにより、両方の記述レベルにおいて対話開発者による同時の準並行開発も可能である。
【００２０】
この実施例の場合に、更に、グラフィック対話記述の技術対話記述へのユーザ制御の変換の場合、２つの記述の一貫性は、技術対話記述の要素又は可能な変換クラスの単純な上書きすることによって害を与えられることはないが、グラフィック対話記述と比較される技術的対話記述の余剰分は、変換時に保存され、次には、グラフィック対話記述において更新されることが保証される。
【００２１】
技術的対話記述を作成するクラス／要素は、対話のデータベース又はライブラリに完全に又は部分的に、すなわち個別にも記憶され得る。一実施例の場合において、対話データベースに記憶される対話又は副対話の技術的記述は、対話開発環境から有利に読まれ得、また対話制御の技術的開発及び、（更新後の）グラフィック的な新たな開発に関する開始点として用いられ得る。このことは、プログラムフラグメントの再利用性を可能にし、したがって、高速であり効率的な開発を可能にする。
【００２２】
データベースに完全に又は部分的に記憶される技術的対話記述は、いくつかの抽象化レベルで特定の重要な対話特性を表すクラス階層及びクラスライブラリを有し得る。これらのクラス階層は、技術的対話記述の形式で開発環境に読み込まれた後に、クラスと継承された方法及び特性と間の関係が適切なグラフィックシンボルによって可視化される点において、グラフィック対話記述としても表し得る。斯様にして可視化されたクラス階層から、対話開発者は、対応するシンボルを選択することによって開発者の要件に特定のクラスを選択し、これら要素を他の対話要素と適切に組み合わせる事が可能である。個々の副対話及びこれら副対話間のインターフェイスの正確な特定は、例えば、個々のクラスをプログラム出力することによって前記選択された及び組み合わせられた要素を技術的対話記述に変換した後に行われ得る。斯様にして、対話制御の構造が明確なグラフィック記述レベルで実現されるとともに詳細な動作がプログラミングを通じて技術的記述レベルで行われる有利な分散型対話開発が実現される。
【００２３】
本発明による方法の有利な実施例の場合、技術的対話記述の全ての技術的要素／クラスは、グラフィック対話記述におけるシンボルによって又はブロック線若しくは円線として表される。そしてグラフィック対話記述は、対話制御を通じて実現されるべき対話の完全な状態／移行図として表され得る。このことは、対話を下書きするのに頻繁に用いられる状態／移行図が、全てのクラス又は要素が既に存在する場合、直接グラフィック対話記述に、そして最終的に技術的対話記述に変換され得るという有利な点を有する。
【００２４】
本発明のこの実施例の場合、クラスの特性及び方法は、有利に、シンボルを通して、クラスの要素としてグラフィック対話記述において識別可能にされ得る。各シンボルは、例えば入力及び出力パラメータ又はインターフェイスなどの追加的な情報を生じるラベル、又は方法の完全なプログラムコード又はクラスの完全なプログラムコードも宣言し得るラベルを生じ得る。同様に、個々の対話状態間における移行は、グラフィック的に表され、各移行は、対応する移行に導かれる又は対応する移行になる、ユーザの又はシステムの対応する状態及び対話のステップでラベルを割り当てられ得る。斯様に表されるグラフィック対話記述を用いることで、対話開発者は、言語上の、すなわち本質的に音響的な対話をグラフィック的に開発し、例えばドラッグする、動かす、複製する、挿入する又は切り取りをするなどの簡単なマウス動作を通じて、より正確に対話を特定することが可能である。特に有利な実施例において、シンボルをダブルクリックすることによって、対話開発者は、対応する要素へテキスト変換をし得る、又はこれらをプログラムし得るテキストウィンドウを開くことが可能である。この種類のグラフィック及びテキスト開発統合を通じて、利便性のある対話開発が可能にされる。
【００２５】
対話システムに関する対話制御の斯様な開発のためには、グラフィック対話記述が可視化及び編集され得る少なくともグラフィック対話エディタを備える本発明による、開発システムが必要とされる。対話システムに関するこの開発環境は、グラフィック対話記述をオブジェクト指向のプログラミング言語のクラスからなる技術的対話記述に変換する変換器も含む。そしてこのソースコードは、本発明による開発システムの翻訳器（コンパイラ）を用いて、対話システムで実行され得る対話制御を最終的に表すバイナリ記述形式に翻訳される。
【００２６】
開発システムは、技術的記述の等価グラフィック対話記述への逆変換に関して、更新器を備えることが好ましい。
【００２７】
開発システムは、対話制御のソースコードを表す技術的対話記述を適合するために、ソースコードをテキスト変換するテキストエディタを備えることが好ましい。
【００２８】
本発明の特に有利な実施例においてテキストエディタ以外に、オブジェクト指向対話クラスを選択する、統合されたデバガ、コンパイラ及びクラスブラウザを備える完全なプログラミング環境も存在する。
【００２９】
この開発環境の有利な点は、複雑かつ多層の音響対話が、視覚的プログラミングを通じて編集及び可視化する適切なツールを用いてグラフィックレベルで対話開発者によって下書きされ得、一方で開発者が、完全なプログラミング環境を用いてオブジェクト指向プログラミングを通じて技術的対話記述の詳細を実現し得るという事実にある。
【００３０】
本発明の有利な実施例として、記述された開発システムは、対話システムのランタイム環境に統合され、これにより、対話記述が、対話制御として動作に取り込まれるハードウェアプラットフォームにおいて有利に作成され得る。
【００３１】
本文書に記載の開発システムを用いて開発された対話制御によって制御される対話システムの場合、翻訳された対話制御が動作においてシステムに統合され得ることは特に有利である。このことにより、更新対話制御をインストールするためにシステムが動作から取り出される必要なく、対話制御は更新され得る。これは、例えば、持続的な特別な提供により、特に頻繁に更新される必要があるシステムに関して特に有利である。
【００３２】
本発明は、同封の図面及び以下に記載の実施例を参照にして説明され得る。
【発明を実施するための最良の形態】
【００３３】
アプリケーションＡＰ、スピーチ発生ユニットＳＧ及びスピーチ入力インターフェイスＳＰとともに動作する、本発明に従う対話制御ＤＳを有する対話システムの設計例が、図１に示される。対話制御ＤＳは、この設計例によって実行される状態、移行及び対話に従う対話システムを制御する。
【００３４】
入力スピーチ発話Ｓは、まず第１に、スピーチ入力インターフェイスＳＰの信号記録ユニットＳＡによってデジタル音声スピーチ信号ＡＳへ変換され、スピーチ認識ユニットＳＥに渡される。スピーチ理解の処理、すなわちスピーチ認識ユニットＳＥに既知である発話の識別は、開始信号ＳＴを介して対話制御ＤＳによって開始される。
【００３５】
通常、スピーチ入力インターフェイスＳＰに統合されたスピーチ認識ユニットＳＥは、（どちらもここで示されないが）シンタックス分析ユニット及びセマンティック統合ユニットを備え、これらユニットは、対話制御によって規定されるユーザグラマＧＲに従いデジタルスピーチ発話ＡＳの有効性を確認し、デジタルスピーチ発話ＡＳをユーザの発話に対する応答としてプログラミング言語又は機械コード命令を有する認識結果ＥＲに変換する。認識結果ＥＲは、一方で、この認識結果ＥＲが対話工程の制御を再利得するのを可能にさせるために対話制御ＤＳに送信され、一方では、アプリケーションＡＰによって直接実行されるためにアプリケーションＡＰに送信される。代わりには、認識結果ＥＲは、対話制御ＤＳによってアプリケーションＡＰへと渡されるために、スピーチ認識ユニットＳＥによって対話制御ＤＳにのみ送信され得る。
【００３６】
したがって、対話制御ＤＳが、スピーチ認識ユニットＳＥによって有効であるとして受け入れられるべき対話を特定し、これにより、アプリケーションＡＰを間接的に制御するので、対話制御ＤＳは、対話システムの中央スイッチ部分である。更に、対話制御ＤＳは、スピーチ発生ユニットＳＧも制御し、スピーチ発生ユニットＳＧは、対話制御ＤＳにおいて実行される対話に従い、該システムによるユーザへのスピーチ発話の発生を開始する。
【００３７】
通常、スピーチ入力インターフェイスＳＰのスピーチ認識ユニットＳＥ、アプリケーションＡＰ及び対話制御ＤＳのどれも、同一のオブジェクト指向翻訳器言語で、又は少なくとも同一のプラットフォームで実行され得る言語で書かれる。
【００３８】
図２は、対話制御の開発の概略的なシーケンスを示す。また図２は、本発明に従う対話開発環境の全ての重要な要素も示す。これは、対話開発者が対話を可視化及び下書きすることが可能であるディスプレイ及び編集装置を表すグラフィック対話エディタＧＥを含む。このグラフィックエディタＧＥに関して、クラス階層の基本クラスとして技術的に実現され、該開発者がグラフィック対話エディタＧＥにおいてグラフィック符号として選択し得、特定のインターフェイスを介して他の要素と適切に組み合わせ得る、例えば対話、状態及び移行などの様々な基本要素が、この開発者にとって利用可能である。
【００３９】
この第１開発周期の結果は、エディタの内部表現の形式で、仮想的にのみ初めに存在するグラフィック対話記述ＧＢである。グラフィック対話記述ＧＢは、変換器ＵＭを用いて、グラフィック対話記述ＧＢの個々の（グラフィック）要素がオブジェクト指向のプログラミング言語のクラスインスタンスに変換される点で、技術的対話記述ＴＢに変換される。これらのクラスインスタンスは、例えば、対話、状態及び移行に関する基本クラスの、又は言い換えれば特定の副対話に関する継承特性を備える導入されたインスタンスのインスタンスとして、プログラミング言語形式（図４及び５を参照）におけるグラフィック要素を表す。
【００４０】
変換器ＵＭによって作成される技術的対話記述ＴＢは、変換器ＵＭによって作成されるプログラミング言語に関して、完成されたプログラミング環境の一部であり得るテキストエディタＴＥを用いて対話開発者によって編集され得る。対話開発者は、技術対話記述ＴＢを編集する可能性を通じて、開発されるべき対話制御ＤＳをプログラム出力し得る、すなわち、開発者がグラフィック対話記述ＧＢを下書きしている時に気付けなかった、又は開発者が技術的プログラミングレベルで気付くことが容易である対話制御ＤＳを詳細に補うことが可能である。
【００４１】
対話開発者が技術対話エディタＴＥを用いて技術対話記述ＴＢに行う変更は、更新器ＡＫによってグラフィック対話記述へ再統合され得、これにより、対話開発の抽象化の２つの段階が、互いに矛盾がなく維持される。この工程において、技術対話記述ＴＢの新たにプログラムされたクラス／要素又は方法は、対応するシンボルを用いてグラフィック対話記述ＧＢにおいて可視化され、これらは、グラフィック対話記述ＧＢの他のシンボルと新たにプログラムされた要素の関係に従いリンクされる。
【００４２】
本発明の特に有利な実施例においては、更新されたグラフィック対話記述ＧＢの再び新しくされた変換ＵＭを介して、（適したコンパイラによる翻訳の後に）対話開発者によって変更された元の技術対話記述ＴＢのランタイム動作と同一のランタイム動作を示す技術対話記述ＴＢが作成されるように、更新器ＡＫは実行される。
【００４３】
対話データベースＤＢにおいて、副対話及び標準対話要素は、プログラムコードの形式で記憶され、該プログラムコードは、技術対話記述ＴＢとしてテキスト対話エディタＴＥへ読み込まれ得、新たに開発されるべき対話に関する基礎として又は既存の対話の拡張／変更として対話開発者によって変更される。同様に、既存の対話及び対話要素は、後の使用のためにデータベースＤＢに記憶され得る。オブジェクト指向プログラム言語が技術対話記述ＴＢに関して用いられるので、対話データベースＤＢは、クラス階層を含み得、対話開発者は、該クラス階層から、プログラム出力に関して、開発者の目的に適した抽象化レベルのクラスを選択し得る。新たな対話の開発は、これらのクラス階層及びライブラリから開始して、派生又は継承及び抽象化を通じて技術的記述レベルＴＢ及びグラフィック記述レベルＧＢの両方に行われ得る。
【００４４】
完成された技術対話記述ＴＢは、図１に示される対話システムに最終的に統合される機械コード対話制御ＤＳへと、コンパイラＵＢによって翻訳される。
【００４５】
対話制御ＤＳの（決定論的）動作は、状態変化（移行）を導く全てのシステムの状態及びイベントを完全に記述する状態／移行対話図を用いて正式に記述され得る。図３は、例として、対話制御ＤＳによって実現される簡単な対話ＨＤの状態／移行図を示す。対話ＨＤは、状態Ｓ１を仮定すると、対話ステップによってそれぞれ開始される４つの移行Ｔ１，Ｔ２及びＴ３／Ｔ４も有する、同様に少なくとも１つの更なる状態が規定される、更に詳細には規定されない副対話ＳＤを有する。移行Ｔ１は、状態Ｓ１を自身にマップし、一方で、他の移行Ｔ２及びＴ３／Ｔ４は、状態Ｓ１及び副対話ＳＤに規定される状態のうちの１つの間における状態変化を規定する。
【００４６】
状態Ｓ１は、初期状態すなわち対話システムの開始状態であり、状態Ｓ１は、ユーザとの各対話の終了時に再びこの初期状態になる。この状態において、システムは、「私はあなたに何が出来ますか？」というユーザに発話を行うように促す開始フレーズを発生する。移行Ｔ１を開始する「何時ですか？」及び移行Ｔ２を開始する「天気予報は何ですか？」の２つのスピーチ発話が、ここでユーザに開かれる。第１番目の場合、システムは、正確な時間を用いて応答し、対応する移行Ｔ１を完了し、システムは、開始発話を再び与えるために開始状態Ｓ１に戻る。後者の場合、システムは、移行Ｔ２及び入力インターフェイスＩＮを介して副対話ＳＤに変化する。移行Ｔ３／Ｔ４は、副対話ＳＤから、出力インターフェイスＯＵＴを介して開始状態Ｓ１に戻るように導き、移行Ｔ２で提出された質問が回答される。
【００４７】
図３ｂは、副対話ＳＤの対応する状態／移行図を示す。図３ｂは、入力インターフェイスＩＮ及び出力インターフェイスＯＵＴを介して図３ａに示される高次の主対話ＨＤとリンクされる状態Ｓ２を示す。副対話ＳＤは、主対話ＨＤの状態からの移行Ｔ２を介して到達される状態Ｓ２並びに、主対話ＨＤに規定される状態への状態変化を担う２つの状態Ｔ３及びＴ４を有する。
【００４８】
副対話ＳＤは、移行Ｔ２の「天気予報は何ですか？」の対話ステップの後に、ユーザリクエストをより正確に特定するために、「明日に関してですか、又は来週に関してですか？」という逆質問で応答し、新しい状態Ｓ２に変化する。新しい状態Ｓ２において、ユーザは、「明日に関して」又は「来週に関して」の対話ステップのみで対話制御ＤＳの逆質問に答えることが可能である。状態Ｓ２において、ユーザは、時間を尋ねる選択肢をもはや有しておらず、これを実行するためには、ユーザは、初めに副対話ＳＤから離れる必要があり、状態Ｓ１が再開される必要がある。ユーザからの明確な説明により、対話制御ＤＳは、「明日に関して」又は「来週に関して」の天気予報に応じて異なって返答し、対話制御ＤＳは、対応する移行Ｔ３及びＴ４を用いて、出力インターフェイスＯＵＴを介して主対話ＨＤに分岐して戻り、そして開始状態Ｓ１に戻る。
【００４９】
図３ａ及び３ｂにおける図は、グラフィック対話記述ＧＢの一例を示す。対話開発者は、状態Ｓ１及びＳ２、移行Ｔ１、Ｔ２、Ｔ３及びＴ４並びに副対話ＳＤの仕様を介してグラフィック的に対話ＨＤを設計する。ここで、対話ステップは、テキストのダブルクリック及び入力を介して、対応するＴ１、Ｔ２、Ｔ３及びＴ４と関連付けられ得る。対話ＨＤの要素（状態、移行及び副対話）は、グラフィック対話記述ＧＢの技術対話記述への変換ＵＭにおいて、オブジェクト指向プログラミング言語のクラスの形式でプログラミング言語版に変換される。図３ａ及び３ｂからのグラフィック対話記述の斯様な変換ＵＭは、図４及び５に示される。
【００５０】
以下の例の技術対話記述ＴＢは、明瞭化のために、オブジェクト指向プログラミング言語Ｃ＃で書かれている。しかし、基本的に、他のいかなるオブジェクト指向プログラミング言語も、技術対話記述ＴＢの規定に適している。図４は、システムによって規定される基本対話クラス「Dialog」から派生され、クラス「Dialog」の特性を継承するクラス「ExampleDialogue」として主対話ＨＤを示す。「ExampleDialogue」は、２つの状態「state1」及び「state2」、２つの移行「WeatherTrans」及び「timeTrans」並びに副対話「Weather」を規定する。状態「state1」及び「state2」並びに移行「WeatherTrans」は、状態及び移行に関する基本のクラス「State」及び「Transition」のインスタンスであり、「timeTrans」及び「Weather」は、対話開発者によって同様に実装される２つのクラスのインスタンスを形成し、同様に、他の基本クラスから派生され、図５に規定される。
【００５１】
４つのコンストラクタの呼び出しによってインスタンス化される場合、クラス「ExampleDialogue」のInitialize()の方法は、オブジェクト「state1」、「WeatherTrans」、「timeTrans」及び「Weather」を生成する。オブジェクト「state1」は、対話システムが初めにユーザに通信する対話ステップに関連付けられる開始状態Ｓ１を表す。オブジェクト「WeatherTrans」は、状態「state1」Ｓ１から副対話ＳＤ「Weather」の状態に変化する移行Ｔ２を示し、これを実行することにより、所与のフレーズを出力する。オブジェクト「timeTrans」は、状態「State1」Ｓ１を自身にマップし、オブジェクト「Weather」は、状態「state1」Ｓ１から分岐することが可能である副対話ＳＤを表す。
【００５２】
対話ＨＤの完全な仕様のために、ここで欠けているものは、このレベルにおいてまだ既知でないクラス「TimeTransition」及び「WeatherDialogue」の仕様であり、これらクラスのインスタンスは、オブジェクト「timeTrans」及び「Weather」を表す。これらは図５に示される。
【００５３】
クラス「TimeTransition」は、主対話ＨＤのオブジェクト「WeatherTrans」がインスタンスを既に示しているクラス「Transition」から派生される。該クラスは、主対話ＨＤのクラス「ExampleDialogue」におけるインスタンス化で、オブジェクト「timeTrans」へパラメータとして既に与えられた質問に対する回答のみを実現する。
【００５４】
クラス「WeatherDialogue」は、クラス「sub-dialogue」から派生され、クラス「sub-dialogue」は、同様に、状態「state」Ｓ２及び２つの移行「TomorrowTrans」Ｔ３と「WeekTrans」Ｔ４を含む。このクラスは、図３ｂに示される副対話ＳＤの技術プログラム変換ＵＭを表す。このクラスは、逆質問で状態「state」Ｓ２において状態／移行図に従い天気予報に関する質問に応答し（「ExampleDialogue」におけるインスタンス化のパラメータを参照）、そして移行「tomorrowTrans」Ｔ３又は「WeekTrans」を用いて区別された仕方で応答する。このクラスは、「Exit」で副対話を終了することによって、制御を、クラス「WeatherDialogue」のオブジェクト「Weather」をインスタンス化したクラス「ExampleDialogue」の高次オブジェクトに渡して戻す。
【００５５】
（主対話ＨＤ及び副対話ＳＤを実現する上述の３つのクラスを有する）技術対話記述ＴＢは、最終的に、コンパイラＵＢ(図２を参照)によって機械コードに最終的に翻訳され、これにより、対話制御ＤＳを形成する。対話システムにおける対話制御ＤＳのランタイムに関して、クラス「ExampleDialogue」の高次オブジェクトは、対応するコンストラクタを呼び出しすることによってインスタンス化され、これにより、更なるオブジェクトの同様なインスタンス化は、完全な対話を実現する。
【００５６】
結論として、図面及び説明により示される具体的な対話システム及び、開発システムは、単なる設計例であり、当業者が本発明の範囲から逸脱することなく大幅に変更し得ることを再び指摘される。特に、本文書に示される設計例におけるオブジェクト指向プログラミング言語Ｃ＃で書かれるプログラム部分は、他のいかなるオブジェクト指向プログラミング言語でも書かれ得る。本文書に記載の対話設計例は、非常に簡単で短い例であり、本発明を可能な限り単純に説明するために選択されたことは更に明らかである。対話は、実際には当然大幅に更に複雑である。完全性のために、単数形の使用は、問題としている特徴が複数倍存在することの可能性を排除せず、かつ「有する」なる語句の使用は、更なる要素又はステップの存在を排除しないことも指摘される。
【図面の簡単な説明】
【００５７】
【図１】図１は、対話システムの概略的表現を示す。
【図２】図２は、本発明による、対話制御の開発フローチャートを示す。
【図３ａ】図３ａは、対話システムの対話のグラフィック表示を示す。
【図３ｂ】図３ｂは、対話システムの副対話のグラフィック表示を示す。
【図４】図４は、技術的対話制御の一例を示す。
【図５】図５は、図４に示される技術的対話制御の２つの副対話を示す。
【図１】
2007510196.tif 000002
【図２】
2007510196.tif 000003
【図３ａ】
2007510196.tif 000004
【図３ｂ】
2007510196.tif 000005
【図４】
2007510196.tif 000006
【図５】
2007510196.tif 000007
【国際調査報告】
2007510196.tif 000008
2007510196.tif 000009