(57)【要約】【課題】認識すべき音声を、容易に変更可能な形式文法によって規定することが可能な、対話システムの音声入力インタフェースを提供する。【解決手段】音声入力インタフェース(2)、及びこの音声入力インタフェース(2)とアプリケーション(3)を有する対話システム(1)の動作方法を説明する。この音声入力インタフェース(2)は、ユーザの音声信号(AS)を検出し、これらの音声信号を、前記アプリケーションによって直接使用可能なバイナリデータの形の認識結果に変換する。この認識結果(ER)は前記アプリケーション(3)によって提供される。対応する音声入力インタフェース(2)、及びこうした音声入力インタフェース(2)を有する対話システム(1)を構成する方法及びシステムも説明する。
2007502459.tif 000002
【特許請求の範囲】
【請求項１】
音声入力インタフェース、及び該音声入力インタフェースと協働するアプリケーションを有する対話システムを動作させる方法において、
前記音声入力インタフェースが、ユーザからの音声信号を検出し、前記音声信号を、前記アプリケーションによって直接使用可能なバイナリデータの形の認識結果に変換することを特徴とする対話システムの動作方法。
【請求項２】
前記バイナリデータが、機械語で書かれ、前記アプリケーションによって直接実行可能な、オブジェクト指向翻訳言語のオブジェクト及び／またはオブジェクト指向翻訳言語のデータ・オブジェクトの形の少なくとも１つのプログラム・モジュールから成ることを特徴とする請求項１に記載の方法。
【請求項３】
前記音声信号の認識結果への変換時に、まず構文解析ステップにおいて、前記音声信号に対応する句を形式文法に基づいて検出し、前記音声信号の有効な語彙が前記形式文法の終端単語に対応し、次に意味情報合成ステップにおいて、前記認識結果を、機械語で書かれ前記終端単語に割り当てられた前記実行可能なプログラム・モジュールから生成することを特徴とする請求項１または２に記載の方法。
【請求項４】
前記形式文法が、対話の開始前に完全に規定され、対話中には変更不可能であることを特徴とする請求項３に記載の方法。
【請求項５】
前記形式文法が、対話中に動的に変化することを特徴とする請求項３に記載の方法。
【請求項６】
前記形式文法が、オブジェクト指向文法クラスとして実現される代入規則を具え、前記文法クラスの各々が、規則依存の文法解析機能を方法として有することを特徴とする請求項３〜５のいずれかに記載の方法。
【請求項７】
前記形式文法が、少なくとも１つの文法オブジェクトの形で、少なくとも１つのオブジェクト指向文法クラスの例として詳細記述され、前記構文解析ステップにおいて、前記音声信号が、前記形式文法の代入規則に従ってチェックされることを特徴とする請求項３〜６のいずれかに記載の方法。
【請求項８】
前記構文解析ステップ、前記意味情報合成ステップ、及び／または前記認識結果の使用／実行が、少なくとも部分的に時間的に重複して生じることを特徴とする請求項３〜７のいずれかに記載の方法。
【請求項９】
前記音声入力インタフェースの、前記認識結果を生成するプログラム部分が、オブジェクト指向クラスの方法として、特に前記文法オブジェクトの方法としてリンクされることを特徴とする請求項６〜８のいずれかに記載の方法。
【請求項１０】
前記認識結果が、文法クラスの方法によって規定され、この方法によってオブジェクトとして返されることを特徴とする請求項６〜８のいずれかに記載の方法。
【請求項１１】
音声入力インタフェースと協働するアプリケーションを有する対話システム用の前記音声入力インタフェースを構成する方法において、
有効な音声入力信号を形式文法によって詳細記述するステップであって、前記音声入力信号の有効な語彙が、前記形式文法の終端単語の形で規定されるステップと；
有効な音声信号の意味情報を表現し、前記対話システムの動作時に前記アプリケーションによって直接使用可能なデータ構造を具え、そして前記音声入力インタフェースのプログラム部分及び／または前記アプリケーションによって直接実行可能なプログラム・モジュールによって生成されたバイナリデータを提供し、かつ／あるいは、前記バイナリデータを生成するプログラム部分を提供するステップと；
前記バイナリデータ及び／または前記プログラム部分を、個別の終端または非終端単語、あるいはこれらの単語の組合せに割り当てて、有効な音声信号を適切な意味情報に反映させるステップと；
前記プログラム部分及び／または前記プログラム・モジュールを機械語に翻訳して、前記対話システムの動作時に、前記翻訳されたプログラム部分が前記アプリケーションによって直接使用可能なデータ構造を生成するか、あるいは、前記対話システムの動作時に、前記翻訳されたプログラム・モジュールが、前記アプリケーションによって直接実行可能であるステップと
を具えていることを特徴とする音声入力インタフェースの構成方法。
【請求項１２】
前記形式文法が、少なくとも１つの文法オブジェクトによって、少なくとも１つのオブジェクト指向文法クラスの例として詳細記述されることを特徴とする請求項１１に記載の方法。
【請求項１３】
少なくとも1つの前記文法クラスが、文法クラスの階層中及び／または文法クラスのライブラリ中の、1つ以上の事前指定されたクラスからの受け継ぎによって導出されることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記プログラム・モジュールが、オブジェクト指向翻訳言語でプログラムされていることを特徴とする請求項１１〜１３のいずれかに記載の方法。
【請求項１５】
少なくとも１つの前記文法クラス及び／または前記プログラム・モジュールが、機械語に翻訳されて、スタティック・リンク・及び／またはダイナミック・リンク・ライブラリとして提供されることを特徴とする請求項１２〜１４のいずれかに記載の方法。
【請求項１６】
前記形式文法がグラフィック文法エディタを用いて詳細記述され、前記意味情報がグラフィック意味情報エディタを用いて規定されることを特徴とする請求項１１〜１５のいずれかに記載の方法。
【請求項１７】
前記形式文法が、前記グラフィック文法エディタを用いて、事前指定された文法クラスからの選択及び／または導出によって、かつ、代入規則及び／または終端単語及び／または非終端単語が前記文法クラスを占めることによって詳細記述され、前記文法クラスの各々及び／または前記代入規則の各々にグラフィック・シンボルが割り当てられることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記形式文法の意味情報を規定するために、前記プログラム・モジュール毎に、前記グラフィック意味情報エディタが、前記プログラム・モジュールの作成用のエディタ・ウィンドウを提供して、前記プログラム・モジュールを終端または非終端単語に関連付けることを特徴とする請求項１６または１７に記載の方法。
【請求項１９】
音声入力インタフェース及びアプリケーションを有する対話システムを構成する方法において、前記音声入力インタフェースが請求項１０〜１７のいずれかに記載の方法によって構成されることを特徴とする対話システムの構成方法。
【請求項２０】
前記音声入力インタフェース、前記アプリケーション、及び該当すれば前記認識結果に属する前記プログラム・モジュールの各々が、少なくとも部分的に、同じオブジェクト指向翻訳言語で書かれているか、あるいは同じオブジェクト指向プラットフォーム上で実行可能であることを特徴とする請求項１９に記載の方法。
【請求項２１】
ユーザによって装置または方法を発声制御するための対話システム用の音声入力インタフェースにおいて、
前記音声入力インタフェースが、前記対話システムのアプリケーションと協働して、音声信号を検出し、前記音声信号を、前記アプリケーションによって直接使用可能なバイナリデータの形の認識結果に直接変換することを特徴とする音声入力インタフェース。
【請求項２２】
請求項２１に記載の音声入力インタフェースを具えた対話システム。
【請求項２３】
対話システムの音声入力インタフェースを構成するためのシステムにおいて、
前記システムが構文詳細記述ツールを具え、該構文詳細記述ツールによって、前記対話システムの有効な音声信号を形式文法によって詳細記述し、前記音声信号の有効な語彙は前記形式文法の終端単語の形で規定され、
前記システムがさらに、プログラム・モジュールを提供し、該プログラム・モジュールを個別の前記終端単語、またはこれらの終端単語の組合せに割り当てる意味情報規定ツールを具えて、前記プログラム・モジュールの機械語への翻訳後に、前記対話システムの動作時に、翻訳された前記プログラム・モジュールが前記アプリケーションによって直接実行可能であることを特徴とする音声入力インタフェース構成システム。
【請求項２４】
オブジェクト指向文法クラスのライブラリ及び／またはオブジェクト指向文法クラスの階層を具えて、前記形式文法が、前記文法クラスのライブラリから取り出されるか、あるいは前記文法クラスのライブラリ中のクラスから導出された文法クラスの例として詳細記述され、かつ／あるいは、前記文法クラスの階層から取り出されるか、あるいは前記文法クラスの階層中のクラスから導出された文法クラスの例として詳細記述されることを特徴とする請求項２３に記載のシステム。
【請求項２５】
前記形式文法を詳細記述するためのグラフィック文法エディタ、及び／または前記意味情報を規定するためのグラフィック意味情報エディタを具えていることを特徴とする請求項２３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声入力インタフェースを有する対話システムの動作方法に関するものである。本発明は、音声入力インタフェースを構成するシステム及び方法、これに対応する音声入力インタフェース、及びこうした音声入力インタフェースを有する対話システムにも関するものである。
【背景技術】
【０００２】
音声制御対話システムは、広範な商業上の用途範囲を有する。これらのシステムはすべての種類の音声ポータル、例えばテレホン・バンキング（電話銀行取引）、音声制御の自動商品出力、車両または家庭におけるハンズフリー・システムの音声制御に使用されている。これに加えて、この技術は自動翻訳及び口述筆記（ディクテーション）システムに使用することができる。
【０００３】
音声対話システムの開発及び生産においては、対話システムのユーザの音声入力を高い信頼性で認識すること、この音声入力を効率的に処理すること、及びユーザが所望するシステム内部反応に変換することの一般的な問題が存在する。システムの大きさ及び制御すべき対話の複雑性に応じて、ここでは相互につながりのある多くの副次的問題が存在し、即ち、音声認識は通常、有効な文を検出する構文のサブステップと、有効な文のシステム関連の重要度を反映させる意味情報のサブステップとに分割されることである。音声認識は、対話システムの専門的な音声処理インタフェースで行われ、このインタフェースは例えば、ユーザの文を、マイクロホンを通して記録し、ディジタル音声信号に変換し、そして音声認識を実行する。
【０００４】
音声認識によるディジタル音声信号の処理は、大方はソフトウェア構成要素によって実行されている。従って通常は、音声認識の結果は、データ及び／またはプログラム命令の形の文の重要度である。これらのプログラム命令またはデータは最終的に実行または使用され、これにより、ユーザが意図した対話システムの反応をもたらす。この反応は例えば、電子的あるいは機械的動作（例えば音声制御自動預け払い機における銀行券の引渡し）、あるいは純然たるプログラム関連であり、従ってユーザに対して透明なのデータ操作（例えば会計収支（勘定、残高）の変更）を含むことができる。従って、通常、音声表現の意味の実際的な実現、即ち「意味情報」プログラム命令の実行は、音声入力インタフェースとは別個のアプリケーション、例えば制御プログラムによって論理的に実行される。対話システム事態は通常、対話マネージャ（管理者）によって、事前指定された決定論的な対話記述に基づいて制御される。
【０００５】
ユーザと対話システムとの間の段階に応じて、特定時点では、対話システムは規定の（対話記述によって指定された）状態にあり、ユーザからの有効な命令があれば、これに対応して変更された状態に変化する。これらの状態変化がある毎に、音声入力インタフェースは個別の音声認識を実行しなければならない、というのは、状態遷移毎に他の文が認識され、適正な意味情報に明確に反映されなければならないからである。従って、例えば１つの状態では単なる「イエス（はい）」による確認が想定され、他の場合には特定情報（例えば口座番号）を複雑な文から抽出しなければならない。実際には、状態遷移がある毎に、いくつかの同義の文が同じ意味情報の語意に反映され、例えば、「休め」、「止まれ」、「終われ」、及び「閉じろ」は同じオブジェクト、即ち方法の終了である。
【０００６】
音声表現の理解、さらには処理の問題の複雑性を取り扱うための異なる方法が存在する。原則的には、各状態変化の各有効な文が、プロトタイプ（雛形）の音声信号を含むことができ、このプロトタイプの音声信号と具体的な表現とを、音節または単語毎に、ランダムまたはスペクトル的な方法で比較しなければならない。音声表現に対する適切な反応は、プログラム的な意味で、特定文の認識の直接の結果として達成することができる。一部の場合には詳細情報を伝送することが必要になり得る複雑な対話では、この固定的な方法は、第１には、許容される同義の変化をすべて提供し、これらを必要に応じてユーザの文と比較する必要性、第２には、ユーザ特有の情報を特別なプログラム・ルーチンによってさらに処理する必要性をもたらす。このことは、この解決法の柔軟性（フレキシビリティ）をなくし、かつ対話システムのオペレータ（操作員）がこの解決法を拡張し適応させることを非常に困難にする。
【０００７】
他の方策はより動的で文法的な方法を採り、この方法は、形式文法の形の言語学的文法モデルを音声認識に使用する。形式文法は代数学的な構造を有し、代入規則、終端（ターミナル）単語、非終端単語、及び開始単語から成る。これらの代入規則は規則を規定し、この規則に従って、非終端単語を構造的に、非終端及び終端単語から成る単語連鎖内に転送する（導き出す）ことができる。終端単語のみから成り、この代入規則の使用によって開始単語から生成されるすべての文章は、形式文法によって詳細記述された言語の有効な文章を表現する。
【０００８】
文法的な方法では、対話システムの状態変化毎に、許容される文法構造は総称的に、形式文法の代入規則によって規定され、終端単語は言語の語彙を明記し、この言語のすべての文章がユーザの有効な文として受け入れられる。従って、具体的な音声表現は、前記代入規則の使用及び前記語彙の使用を、対応する形式文法の開始単語から導き出すことができるか否かをチェックすることによって検証される。意味を有する単語のみが、前記代入規則によって与えられる文章構造中のいくついかの点でチェックされる句も可能である。
【０００９】
こうした文章の構文的な検証と並んで、音声認識は各文章にその意味情報、即ち、システムの反応に変えることのできる重要度を割り当てなければならない。この意味情報は、対話システムのアプリケーションによって適用可能なプログラム命令及び／またはデータを含む。実行可能なプログラム命令を対応する文章構成要素に割り当てるために、意味情報を属性の形で、関連する終端／非終端単語と結び付ける文法が頻繁に用いられる。いわゆる意味情報の属性については、非終端単語については、その属性値は最終の終端単語の属性から計算する。ここでは、音声表現の意味情報は、開始単語からの文章の導出時に属性または属性列として暗示的に生成される。従って、意味情報中の構文（シンタックス）の直接表現は、少なくとも形式的に可能である。
【００１０】
【特許文献１】米国特許 US 6,434,529 B1
【００１１】
米国特許 US 6,434,529 B1は、オブジェクト指向プログラムを使用し、形式文法によって有効な音声文を識別するシステムを開示している。この形式文法及びそのチェックは、このシステムではインタプリタ（逐次翻訳）言語によって実現される。意味情報的な変換のために、翻訳（コンパイル）されたアプリケーション・プログラムまたはその方法中で構文的に正しい例示的なオブジェクト指向クラスとして認識された文章要素が実行されるので、インタプリタが実行する構文解析と、実行可能な機械語アプリケーション・プログラムへの意味情報の変換との間のインタフェースを設けている。
【００１２】
このインタフェースは次のように実現される：文法またはその代入規則の仕様では、意味情報の属性を終端または非終端の単語に、スプリクト言語プログラムの断片の形で割り当てる。代入規則の適用シーケンスによる音声文の構文導出（文法解析、品詞分解）中には、これらの意味情報スクリプトの断片は、発声された文章を構文的な構造の意味で表現する階層データ構造に変換される。そして、この階層的データ構造は、さらなる文法解析（品詞分解）によって表に変換され、最終的に完結した、対応する文の意味情報の順に実行可能なプログラミング言語表現を構成し、このプログラミング言語表現は、アプリケーション・プログラムにおけるオブジェクトまたは方法の実行を例示するスプリクト言語命令から成る。ここでは、この表現は、パーサ（文法解析機能）／インタプリタによって解析することができる、というのは、対応するオブジェクトがアプリケーション・プログラム中に直接配置され、これにより対応する方法が実行されるからである。
【００１３】
この技術の欠点は、部分的には、その説明より明らかである。（時として独自の）構文解析用のインタプリタ言語、及びアプリケーション・プログラムの翻訳言語の使用は、音声入力インタフェースとアプリケーションとの間の込み入って複雑なインタフェースを必要とし、これらは２つの完全に異なるプログラミング技術を表わす。
【００１４】
また、ユーザが、まず特別なスクリプト言語を学習しなければならないというさらなる対応策なしに、音声の文法的な詳細記述及び意味情報スプリクトを、拡張することも変更することも不可能である。これに加えて、特定環境下では、意味情報の拡張または変更を実現して、アプリケーションにおいて対応する意味情報のプログラム断片の適応によって翻訳（コンパイル）しなければならない。従って、この技術では、対話システムの動作時間中には言語を変形または適応させることができない。構文を意味情報に変換する際（即ち、対話システムの動作時間中）には、パーサまたはインタプリタを使用し、これに加えて、種々のシステム構成要素の手当てが維持の出費を増加させる。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明の１つの目的は、対話システムの音声入力インタフェースの動作及び構成を、認識すべき音声を簡単かつ迅速に、特に容易に変更可能な形式文法の詳細記述によって規定することができ、音声文の意味情報を効率的に反映することができるようにすることにある。
【課題を解決するための手段】
【００１６】
この目的は、音声入力インタフェースを有する対話システムを動作させる方法、及び音声入力インタフェースと協働するアプリケーションによって達成され、このアプリケーションでは、前記声入力インタフェースがユーザの発声音声信号を検出し、これらの信号をバイナリ（２進数）データ形式の認識結果に直接変換し、そしてこの結果を前記アプリケーションに提供して実行させる。ここでは、バイナリデータは、アプリケーションがさらなる変換または逐次翻訳（インタプリテーション）直接使用／実行可能なデータ及び／またはプログラム命令（または参照あるいは参照へのポインタ）を意味し、これらの直接実行可能なデータは、前記音声入力インタフェースの機械語部分のプログラムによって生成される。このことは特に、１つ以上の機械語プログラム・モジュールが認識結果として生成され前記アプリケーションに提供されて直接実行される場合を意味する。第２には、前記目的は、音声入力インタフェースと協働するアプリケーションを有する対話システム用の音声入力インタフェースを構成する方法によって達成され、この方法は次のステップを具えている：
有効な音声入力信号を形式文法によって詳細記述するステップ、この音声入力信号の有効な語彙はこの文法の終端単語によって規定される；
有効な発生音声信号の意味情報を表わし、システムの動作時間中にアプリケーションによって直接使用可能であり、前記音声入力インタフェースまたは前記アプリケーションによって直接実行可能なプログラム・モジュールのプログラム部分によって生成されたデータ構造を具えたバイナリデータを提供し、かつ／あるいは前記バイナリデータを生成するプログラム部分を提供するステップ；
前記バイナリデータ及び／または前記プログラム部分を、個別の終端または非終端単語、あるいはその組合せに割り当てて、有効な音声信号を適切な意味情報に反映させるステップ；
前記プログラム部分またはプログラム・モジュールを機械語に翻訳して、これにより、前記対話システム、前記翻訳されたプログラム部分が、前記アプリケーションによって直接、あるいは前記対話システムの動作時に使用可能であり、前記翻訳されたプログラム・モジュールが前記アプリケーションによって直接実行可能であり、前記データ構造／プログラム・モジュールが音声文の意味情報を構成する。
【００１７】
そして本発明によれば、音声信号に変換されたユーザの音声文が、前記対話システムの前記音声入力インタフェースによって直接、音声入力の意味情報的な変換、従って認識結果を表現するバイナリデータに変換される。この認識結果は、前記音声入力インタフェースと協働するアプリケーション・プログラムによって使用することができる。これらのバイナリデータは特に、前記アプリケーションによって直接実行可能な１つ以上の機械語プログラム・モジュールを具えることができる、ということは、例えば、前記音声入力インタフェースが翻訳言語で書かれ、前記認識結果の前記プログラム・モジュールも翻訳言語によって実現され、異なる言語を適用可能である、ということによって達成される。ことが好ましい。これらのプログラム・モジュールは、音声認識の論理を実現する同一言語で書かれていることが好ましい。しかし、これらのモジュールは、前記音声入力インタフェースと同じプラットフォーム上で動作する言語で書いてコンパイルすることもできる。使用する翻訳言語に応じて、このことは、それだけで実行可能なプログラム・モジュール、あるいはこれらのモジュールへの参照またはポインタのいずれかを、直接実行用の認識結果として前記アプリケーション・プログラムに提供することを可能にする。
【００１８】
オブジェクト指向プログラミング言語を使用することが特に有利である、というのは、第1に、このことは前記アプリケーションのプログラム・モジュールを、オブジェクトまたはオブジェクトの方法で提供して直接実行することができ、第２には、前記アプリケーションが直接使用するデータ構造を、オブジェクト試行プログラミング言語のオブジェクトとして表現することができるからである。
【００１９】
本発明は多くの利点を提供する。前記音声入力インタフェースの音声認識、特に意味情報の合成を、プロセッサによって直接実行可能な機械語で実現することによって（インタプリタのみによって実行可能なスプリクト・プログラムとは対照的に）、機械語アプリケーション・プログラムによって直接使用可能な認識結果を直接生成することができる。このことは、音声文を前記対話システムの適切な反応に変換することに、最大限可能な効率を与える。特にこのことは、スクリプト言語のパーサによって機械語表現における形式文法から得られた意味情報の属性またはスクリプト・プログラムの断片の複雑かつ技術的に手の込んだ表現を不要にする。サービス・プロバイダ（提供者）による前記音声入力インタフェースの構成または使用策定において、あるいは新たな事柄（例えば自動販売機における特別な提供）への適応において利用可能であることから、前記音声入力インタフェースの製造業者独自のスクリプト言語の代わりに、Ｃ、Ｃ＋＋、Ｃ＃、あるいはＪａｖａ（登録商標）のような従来のプログラミング言語を使用することができるというさらなる利点が生じる。こうした言語は、広範なユーザに少なくとも十分に知られ、システムが理解すべき音声文の構文、あるいはこれに関連する意味情報のプログラム・モジュールは、対応する入力インタフェースを介した大きな労力なしに、頻繁に適応または拡張することができる。製造業者にとっては、翻訳言語の使用は、より単純であり、従ってより安価なシステム・ソフトウェアの保守という利点をもたらす、というのは、従来の標準的なコンパイラが使用可能であり、特定スクリプト言語、及びこれに対応するパーサ及びインタプリタの保守、さらには開発はもはや不要になるからである。
【００２０】
音声文の意味情報のプログラム・モジュールへの変換は、最も簡単な場合には、あり得る音声文をこれに対応するプログラム・モジュールに直接かつ明確に割り当てることによって行うことができる。しかし、より柔軟性、拡張性があり、かつ効率的な音声認識は、音声認識を構文解析ステップと意味情報の合成ステップとに方法論的に分割することによって得られる。前記音声入力インタフェースが理解すべき言語を形式文法によって規定することによって、構文解析、即ち音声文のチェックを、有効性について公式化して、意味情報的な変換から分離する。前記言語の有効な語彙は、前記文法の終末単語から生じ、文章構造は、前記代入規則及び非終末単語によって決まる。構文解析及び意味情報合成は、1つ以上の機械語プログラムによって実行され、音声文の認識結果は、アプリケーションによって直接使用／実行可能な特定のプログラム・モジュールにおいてバイナリデータの形で直接生成される。その例は、プロセッサによって順に処理可能であり、かつ、属性的な文法によって意味情報の機械語プログラムの断片を各終端及び非終端単語に割り当てる際に有効な音声文の導出ツリー（木）を横断的に見ることにより導出されるプログラム・モジュールである。他の例は、時間を記述し、時間文法の属性としての構成要素から合成されるバイナリデータ構造である。
【００２１】
多くの場合には、文法は、前記対話システムを動作させて動作中に不変のままである前に完全に規定する。しかし、前記対話システムの動作中に文法の動的な変更が可能であることが好ましい、というのは、前記対話システムが理解すべき構文及び意味情報は、例えばダイナミック・リンク・ライブラリ（実行中に動的にリンクされるプログラム・ライブラリ）の形で前記アプリケーションに提供されるからである。このことは、音声要素（音素）または意味情報が頻繁に変化する場合、例えば特別な提供または変化する情報の場合には大きな利点である。
【００２２】
音声認識はオブジェクト指向翻訳言語で実現することが特に好ましい。このことは、形式的言語の汎用的で標準的な代入規則の、ユーザが容易に変更可能な効率的な実現、例えば終端規則、連鎖規則、代替規則を、オブジェクト指向の文法クラスとして提供する。これらの文法クラスの共通の特性及び機能、特に汎用的な文法解析方法は例えば、1つ以上の不特定ベース（基本）クラスから受け継ぐことができる。同様に、ベースクラスは仮想的な方法を受け継ぎによって前記文法クラスに渡すことができ、これらの方法は必要に応じて上書きするかあるいは再ロードして、例えば特定の文法解析方法のような具体的な機能を達成することができる。関係するクラス定義中に提供される対応するコンストラクタ（構成員）により、具体的な言語の文法は汎用的な文法クラスの例示によって詳細記述することができる。ここでは、終端及び非終端単語の定義によって、具体的な代入規則をプログラミング言語オブジェクトとして生成することができる。そして、これらの文法オブジェクトの各々が個別の評価または文法解析方法を有し、この方法は、対応する規則が検出した句に適用可能であるか否かをチェックする。代入規則の適切な使用、従って音声信号全体の有効性のチェック、あるいは対応する句の検出は、音声認識の構文解析ステップによって制御することができる。
【００２３】
本発明の合成概念の一貫性のある実現によって、本発明の好適例では、構文解析と意味情報の解析との方法論的な分離を保ちつつ、これらの解析の使用の時間的分離は、効率を増加させ応答時間をより短くする目的で、少なくとも部分的になくす。属性的な文法を使用する際には、認識すべき音声信号を開始単語から導出していく間に、適用可能な代入規則の、対応する意味情報のバイナリデータ（属性）が直接生成される。従って、例えば、<”quarter to”<numeral from 1 to 12>>（１〜１２の数字の１５分前）という規則では、<numeral from 1 to 12>（１〜１２の数字） という規則の結果として当該数字を知り次第、対応する時間データ構造を生成することができ、この場合にはこの値は“11:45”である。しかし、適切な代入規則をさらに使用すれば、意味情報のプログラム・モジュールの実行に必要なパラメータを知ることができ、このプログラム・モジュールは前記音声入力インタフェースによって直接実行することができる。従って、意味情報は最初は音声信号から完全に抽出しないが、構文チェック中にも変換され準並列的に実行される。実行可能なプログラム断片及びこれに対応するパラメータを参照する代わりに、前記音声入力インタフェースは、結果が前記アプリケーション・プログラムによって演算可能であれば、結果を直接前記アプリケーション・プログラムに提供する。この特に有利な好適例は、音声認識用の構文チェック、前記意味情報のプログラム・モジュール、及び前記アプリケーション・プログラムの機械語プログラムとしての実現によって可能である、というのは、前記対話システムのプログラムユニットは適切なインタフェース経由でデータを効率的に通信及び交換可能だからである。
【００２４】
前記音声入力インタフェースのオブジェクト指向構造では、属性的な文法を用いて、前記意味情報のプログラム・モジュールは、プログラミング言語のオブジェクトまたはオブジェクトの方法として実現可能である。この追加的な意味情報的側面の体系化は、本発明によってサポートされる、というのは、文法クラスは、標準的な値（例えば既知の個別の終端及び非終端単語、あるいはそのリスト）の代わりに、関係する文法クラスの仮想的な方法を上書きすることによって規定される「意味情報の」オブジェクトを返すからである。従って、対応する代入規則を適用する際には（即ち、音声信号を文法解析する際には）、文法解析中に返された値から算出された意味情報のオブジェクトが返される。
【００２５】
上述した、本発明による音声入力インタフェースを構成する方法は、簡単かつ迅速で、音声処理インタフェースの欠陥の少ない作製または構成を提供する。認識すべき言語を仔細記述するために、まず、終端単語によって言語の有効な語彙を定め、前記代入規則または非終端単語によって音声文の有効な構造を定めることによって、形式文法を汎用的に規定する。この構文レベルを詳細記述した後に、翻訳言語で書かれたプログラム・モジュールを提供することによって意味情報のレベルを詳細記述し、これらのプログラム・モジュールの機械語訳を、前記対話システムの動作時間中に適切に組み合わせて、この構文構造を音声文の対応する意味情報に反映させ、さらに、動作時間中に、バイナリデータ及び／またはこれらのバイナリデータ及び／またはプログラム・モジュールを適切に組み合わせたプログラム部分を詳細記述することができる。構文レベルと意味情報のレベルとの間で明確な割り当てが規定され、これにより、各終端及び非終端単語は、その意味情報を記述するプログラム・モジュールに割り当てられる。意味情報のプログラム・モジュールは翻訳言語（例えばＣ、Ｃ＋＋等）で実現されるので、これらのモジュールはその定義後に、対応するコンパイラで翻訳して、前記対話システムの動作時に直接実行されるように提供可能にしなければならない。
【００２６】
この方法はいくつかの利点を有する。第１には、この方法は、前記音声入力インタフェースを特定用途向けに設計または構成するサービス・プロバイダが、構文及び意味情報を既知の翻訳言語によって非常に簡単な方法で詳細記述することを可能にする。従ってこうしたサービス・プロバイダは、時として複雑な、製造業者独自の（スプリクト）言語を学習する必要がない。これに加えて、翻訳機能（トランスレータ）によるチェック及び機械語プログラムの操作の安全性により、翻訳言語の使用は、エラーがより生じにくく、末端顧客用により安定かつ迅速に実現することができる。
【００２７】
意味情報を詳細記述した後に、翻訳された意味情報のプログラム・モジュールを末端顧客の前記対話システムに、例えばダイナミック（リンク）またはスタティック（リンク）ライブラリとして提供することができる。ダイナミック・リンク・ライブラリの場合には、前記対話システムのアプリケーション・プログラムは、修正された意味情報のプログラム・モジュールを提供後に再翻訳する必要がない、というのは、参照によって実行用のプログラム・モジュールに接触（コンタクト）することができるからである。このことは、例えば、販売または注文用の対話システムを、頻繁に変わる申し入れのために、定期的に、できる限り中断なしに更新しなければならない場合に、対話システムの動作中に意味情報を変更することができる、という利点を有する。
【００２８】
本発明の方法の有利な好適例では、文法及びこれに割り当てられる意味情報を詳細記述するために、オブジェクト指向プログラミング言語を使用する。認識すべき音声文章の形式文法は、汎用的な標準代入規則を実現し、１つ以上の文法的なベースクラスから共通の特性及び機能を受け継ぐ文法クラスの例として詳細記述することができる。これらのベースクラスは、例えば汎用的な文法解析方法を提供し、この文法解析方法は、文法が仕様策定されると、文法クラスのレベルにおいて終端及び非終端単語により実際に例示される代入規則に適応させなければならない。文法を効率的に仕様策定するために、あり得る多様な文法を既に規定し、必要時の参照用に使用可能な文法クラスの階層及び／または文法クラスのライブラリを提供することが賢明である。
【００２９】
同様に、前記ベースクラスは、属性的な文法の使用時に、対応する意味情報オブジェクトを生成する方法で上書き可能な仮想的な方法を提供することができる。前記対話システムの動作時の場合に、意味情報の変換は、前記アプリケーション・プログラムによって、意味情報のチェックと時間的に分離することなしに行われ、前記意味情報の変換は構文解析中に直接実行される。
【００３０】
本発明による方法では、上述した方法により開発した音声インタフェースを有する対話システムを生成するために、プログラム入力インタフェース及び前記アプリケーション・プログラムを共に、同一の、できればオブジェクト指向の翻訳言語、あるいは同じオブジェクト指向プラットフォームに反映させることのできる翻訳言語で書くことが有利である。その結果必然的に、音声文の構文を対応する意味情報に反映させるための形式文法及びこれに対応するプログラム・モジュールが共に、この言語で実現される。
【００３１】
前記方法によるこうした音声入力インタフェースを構成するために、形式文法及び適切な意味情報の仕様策定用の構文詳細記述及び意味情報規定用ツールを含む、開発者またはサービス・プロバイダ用のシステムが提供される。前記構文詳細記述ツールを用いて、上述した方法によって形式文法を仕様策定することができ、この形式文法によって、有効な音声信号を識別することができる。意味情報規定ツールは、開発者が意味情報のプログラム・モジュールを用意またはプログラムすること、及びこれらのプログラム・モジュールの個別の終端及び非終端単語への割り当てをサポートする。機械語に翻訳されるプログラム・モジュールは、アプリケーション・プログラムによって直接拡張することができる。アプリケーションによって直接使用可能なデータ構造の生成の場合には、これらのデータ構造は、機械語中に存在する前記音声入力インタフェースの部分的なプログラムによって生成される。
【００３２】
特に有利な好適例では、文法の開発者が、構文詳細記述及び／または意味情報規定ツールのフロントエンド（前端）としてのグラフィック開発インタフェースにアクセスし、このツールは文法編集機能、及び当てはまれば意味情報編集機能を有する。前記音声入力インタフェースの音声認識がオブジェクト指向翻訳言語で書かれていれば、前記文法編集機能は拡張されたクラス・ブラウザを提供し、このブラウザは、簡単なベースクラスの選択、及びグラフィック手段による（例えば「ドラッグ・アンド・ドロップ」による）その機能の受け継ぎを可能にする。終端及び非終端単語及び／または文法解析方法による標準的な代入規則、及び該当すれば意味情報オブジェクトを規定する方法の例示は、特別なグラフィック・インタフェースによって実行することができ、このインタフェースは、こうしたデータをこれに対応する文法クラスに直接関連付け、これらのデータをプログラミングにより自動的に変換し、即ち、対応するソースコードを生成する。ベースクラス、導出クラス、これらのクラスの方法及び意味情報の変換をより良好に区別するために、適切なグラフィック・シンボル（図形記号）を用いる。
【００３３】
時として複雑な意味情報のプログラム・モジュールをプログラムするために、例えばクラス・ブラウザ、エディタ、コンパイラ、デバッガ、及びテスト環境を具え、統合された開発を可能にし、対応するプログラム断片をコンパイルして、一部の場合には文法クラスにするか、あるいは独立したダイナミックまたはスタティック・ライブラリにする開発環境を用意することが好ましい。
【００３４】
本発明はさらに、図に示す実施例を参照しながら説明するが、本発明はこれらの実施例に限定されない。
【発明を実施するための最良の形態】
【００３５】
形式的には、対話システムは永久的なオートメーション（自動化）として説明することができる。その決定論的な挙動は状態／遷移図によって記述することができ、この状態．遷移図は、システムのすべての状態、及び状態変化、即ち遷移をもたらす事象（イベント）を完全に記述したものである。図１に、従来技術の単一の対話システム１の状態／遷移図の例を示す。このシステムは２つの異なる状態Ｓ1及びＳ2をとることができ、４つの遷移Ｔ1、Ｔ2、Ｔ3及びＴ4を有し、その各々が対話ステップＤ1、Ｄ2、Ｄ3及びＤ4によって開始され、遷移Ｔ1は本質的に状態Ｓ1を反映し、Ｔ2、Ｔ3及びＴ4は状態変化を生じさせる。状態Ｓ1は対話システムの初期または開始状態であり、ユーザとの対話の終わりに再開される。この状態では、システムは、例えば”What can I do for you ?（いらっしゃいませ／ようこそ）”という文を作ってユーザを招く開始表現を生成する。ここでユーザは、”What time is it ?（何時ですか）”（対話ステップ１）及び”What is the weather forecast ?（天気予報はどうですか）”（対話ステップ２）の２つの選択肢を有する。対話ステップ１では、システムが正しい時刻を回答して対応する遷移Ｔ1を完了し、開始状態Ｓ1に戻って再び開始表現を出す。対話ステップ２では、システムがユーザに”For tomorrow or next week（明日ですか、来週ですか）”という質問で応答して、ユーザに自分の要求をより詳しく述べることを求め、遷移Ｔ2を経て新たな状態Ｓ2に変化する。状態Ｓ2では、ユーザはシステムの質問に、Ｄ3”Tomorrow（明日）”またはＤ4”Next week（来週）”のみで答えることができ、時刻を聞く選択肢を持たない。システムは、対話ステップＤ3またはＤ4においてユーザが要求を明らかにしたことに対して天気予報を回答し、対応する遷移Ｔ3及びＴ4を経て開始状態Ｓ1に戻る。
【００３６】
個々の対話ステップを実行し、ユーザの文に適切に応答するために、まずユーザの音声文を正しく認識し、次にこの音声文をユーザが望む反応に変換すること、即ちこの文を理解することが必要である。もちろん、ユーザにとっての親しみやすさ及び受け入れやすさの理由で、対話システムが特定状態においていくつかの等価なユーザの文を処理できることが望ましい。例えば、図１で説明する対話システムは、遷移Ｔ1時に、特定の対話ステップＤ1を理解するだけでなく、”What time is it ?（何時ですか）”または”How late is it（何時ごろになりますか）”のような同義の質問にも正しく答えられるべきである。これに加えて、現実的なシステムは１つの状態では、非常に多数の考えられる対話ステップを提供し、これらの対話ステップは多くの異なる遷移を開始する。システム内に記憶するという当たり前で通常は実行不可能な解決法は別として、ユーザのそれぞれの質問と対比するためのすべての考えられる対話ステップは、これに対応するシステムの反応と共に、こうした場合には考えられるユーザの文を形式文法ＧＲによって詳細記述することが賢明である。
【００３７】
図２に、従来技術の機械の音声コマンド（命令語）用の形式文法ＧＲの例を示す。文法ＧＲは、非終端単語<command（コマンド）>、<play（再生）>、<stop（停止）>、<goto（...へ行け）>、及び<lineno（ライン番号）>、終端単語”play（再生）”、”go（行け）”、”start（開始）”、”stop（停止）”、”halt（休止）”、”quit（中止）”、”goto line（ライン...へ行け）”、”1”、”2”、”3”、及び代入規則ＡＲ及びＫＲを具え、これらの代入規則は、前記非終端単語毎に、非終端及び／または終端単語の代入を規定する。この代入規則は、その機能に応じて、代替規則ＡＲと連鎖規則ＫＲとに分けられ、開始シンボル（記号）<command（コマンド）>は代替規則ＡＲから導出される。代替規則ＡＲは、非終端単語を代替単語の１つに置き換え、連鎖規則ＫＲは非終端単語を別な一連の終端または非終端単語に置き換える。開始単語<command（コマンド）>の最初の置き換えに始まり、すべての有効な文章、即ち形式文法ＧＲによって指定される言語の有効な終端単語の列は、導出あるいは代入ツリーの形に生成することができる。従って、非終端シンボル、例えば<command（コマンド）>、<goto（...へ行け）>及び<lineno（ライン番号）>を順次代入することによって、文章”goto line 2（ライン２へ行け）”が生成され、有効な音声文として規定されるが、”proceed to line 4（ライン４へ進め）”ではない。こうした開始単語からの具体的文章の導出が、構文解析のステップを表わす。
【００３８】
図２に示す文法ＧＲは属性的な文法であるので、構文を直接意味情報、即ちアプリケーション３によって実行／逐次翻訳実行（インタープリット）可能なコマンドに反映させることを可能にする。これらのコマンドは文法ＧＲ中に既に、丸かっこで与えられる個別の終端単語毎に明記されている。構文解析ＳＡにおいて有効なものとして認識される文”goto line 2（ライン２へ行け）”は、意味情報的にコマンド”GOTO TWO（２へ行け）”に変換される。いくつかの構文的な構造を同じ意味情報に反映させることによって、同義の文考慮に入れることができる。例えば、文”play（再生）”、”go（行け）”及び”start（開始）”は、意味情報的に同じコマンド”PLAY（再生）”に反映させて、対話システム１の同じ反応に至らせることができる。
【００３９】
図３に、本発明による音声入力インタフェース２、及びこの音声入力インタフェースと協働するアプリケーション３を有する対話システム１の具体例を示す。アプリケーション３は、対話システム１を、状態．遷移図において確立される状態、遷移、及び対話に従って制御する対話コントローラ８を具えている。
【００４０】
ここで、入力される音声文はまず、通常のように、音声入力インタフェース２の信号入力ユニット４からディジタル音声信号ＡＳに変換される。実際の音声認識方法は、対話コントローラ８によって開始信号ＳＴにより開始される。
【００４１】
音声入力インタフェース２内に統合された音声認識ユニット５は、構文解析ＳＡを実行する構文解析ユニット、及びこれに続く意味情報の合成ＳＳを実行する意味情報合成ユニットを具えている。構文解析ステップにおいてチェックすべき形式文法ＧＲ（あるいは形式文法ＧＲから導出され、構文解析によって直接使用されるデータ構造）は、対話コントローラ８によって、対話システム１の実際の状態及び想定される対話に応じて構文解析ユニット６に与えられる。音声信号ＡＳはこの文法ＧＲに従って検証され、有効であれば、意味情報合成ユニット７によってその意味情報に反映される。
【００４２】
意味情報の規定には２つの変形が存在する。以下では特に断わりのない限り、本発明の限定がなければ、認識結果ＥＲは１つ以上のプログラム・モジュールであると仮定する。ここでは、意味情報は、終端及び非終端シンボルの機械語プログラム・モジュールＰＭへの直接割り当てから直接生じ、このプログラム・モジュールはアプリケーション３のプログラム実行ユニット９によって実行可能である。完全に導出された音声文のすべての終端及び非終端単語の機械語プログラム・モジュールＰＭは、意味情報合成ユニット７によって組み合わされて機械語の認識結果ＥＲにされ、アプリケーション３のプログラム実行ユニット９に提供されて実行されるか、あるいは直接実行可能な機械語プログラムとして提供される。
【００４３】
本発明を完全に説明するために、第２の変形のデータ構造も終端及び非終端単語に割り当てることができ、この構造は、音声入力インタフェース２の機械語プログラム部分から直接生成され、認識結果ＥＲを表わすことも説明すべきである。そしてこれらのデータ構造は、アプリケーション３によって、さらなる内部変換、変換、またはインタプリテーションなしに使用することができる。これら２つの変形を組み合わせて、これにより、意味情報を、部分的には機械語プログラム・モジュールによって規定し、部分的にはアプリケーション３によって直接使用可能なデータ構造によって規定することができる。
【００４４】
ここでは、音声入力インタフェース２の音声認識ユニット５及びアプリケーション・プログラム３は共に同じオブジェクト指向翻訳言語、あるいは同じオブジェクト指向プラットフォーム上で実行可能な言語で書かれている。従って認識結果ＥＲは、参照またはポインタの転送によって非常に容易に転送することができる。オブジェクト指向翻訳言語の使用は、特に上記の意味情報プログラムとデータ構造との組合せでは格段に有利である。オブジェクト指向プログラムの設計は、文法ＧＲ及び認識結果ＥＲを共に、プログラミング言語オブジェクトの形で、文法クラスＧＫの例として、あるいはこれらのクラスの方法として実現する。図４ａ、４ｂ及び５にこの方法の詳細を示す。
【００４５】
図２における形式文法ＧＲの定義から始まり、図４ａに、形式的な定義をオブジェクト指向プログラミング言語に変換するための適切な文法クラスＧＫの実現を示す。ここでは、すべての文法クラスＧＫが絶対的な文法ベースクラスＢＫから導出され、文法ベースクラスＢＫはその方法をその派生的な部ｂｂ法クラスＧＫに渡す。図４ａに示す具体例では、導出された３つの異なる文法クラスＧＫが存在し、これらは可能なプロトタイプ（雛形）の代入規則として、終端規則ＴＲ、代替規則ＡＲ、及び連鎖規則ＫＲの形で実現される。
【００４６】
絶対的なベースクラスＢＫは、方法GetPhraseGrid()（句グリッド取得）、Value()（値）、及びPartialParse()（部分文法解析）を必要とし、方法GetPhraseGrid()は、信号の意味での音声認識方法を開始するために使用され、構文認識方法を理解するために考慮する必要はない。GetPhraseGrid()は別として、外部から接触（コンタクト）される唯一の機能は方法Value()であり、この方法は、与えられた文章を引数（アーギュメント）”phrase（句）”で評価して、これにより中央の文法解析機能へのアクセスを保証する。Value()は意味情報を結果として返す。単純な場合には、この結果は、認識した文章の構文単位を別個に示すリストである。図２の形式文法ＧＲによれば、例えば、句”goto line（ライン...へ行け）”に対してこのリスト（”goto line”, “2”）が生成される。他の場合には、データをさらに、上述した時間文法の例のように処理することができる。このためのメカニズムについては、以下でより詳細に説明する。そしてこの構文分析ＳＡの結果は、意味情報的に機械語プログラムまたはデータ構造に変換され、アプリケーション３に提供されて直接実行／使用される。最上位の文法解析方法の実際的な動作方法として、Value()は適用可能な代入規則に依存し、Value()は絶対的な方法PartialParse()（部分文法解析）への内部的なリソースとなる。しかし、このことはベースクラスＢＫでは実現することができず、導出した文法クラスＧＫによってのみ実現することができる。
【００４７】
方法PartialParse()のベースクラスＢＫにおいて必要な文法解析機能は、文法クラスＧＫにおいてこのように実現される。この規則依存の文法解析方法と並んで、導出した文法クラスＧＫは特有のいわゆるコンストラクタ（構成機能）（PhraseGrammar()（句文法）, ChoiceGrammar()（選択文法）, ConcatenatedGrammar()（連結文法））を有し、これにより、構文解析ＳＡの実行時間中に、これらのクラスの例、即ち文法オブジェクトＧＯ（行け）を生成することができる。従って、導出された文法クラスＴＲ、ＡＲ及びＫＲは、特定の形式文法ＧＲの具体的な代入規則を実現するためのプログラミング言語の「枠組み（フレームワーク）」を構成する。終端規則ＴＲのコンストラクタPhraseGramar()は、特定の非終端単語に置き換えられる終端単語のみを必要とする。代替規則ＡＲのコンストラクタChoiceGrammar()は、考えられる代替置換のリストを必要とし、連鎖規則ＫＲのコンストラクタConcatenatedGrammar()は、順に並べられる終端及び／または非終端単語のリストを必要とする。これら３つの文法クラスＧＫの各々が、個別の方法で、ベースクラスＢＫの絶対的な方法PartialParse()を実現する。
【００４８】
図４ａに規定する文法クラスＧＫから始まり、図４ｂに例として、これらのクラスを使用して図２に示す文法ＧＲを、（例示の）文法オブジェクトＧＯを生成することによって実現することを示す。コマンド・オブジェクトは実行時に、代替規則ＡＲを実現する文法クラスＧＫの例示によって生成される。このコマンド・オブジェクトの機能は、非終端の開始単語<command（コマンド）>を、非終端単語<play（再生）>、<stop（停止）>、または<goto（...へ行け）>のうちの１つに置き換えることであり、この非終端単語はそれぞれの代替規則ＡＲに引数として与えられる。
【００４９】
Play（再生）オブジェクトも、代替規則ＡＲのコンストラクタを呼び出すことによって生成される。コマンド・オブジェクトのコンストラクタ呼び出しとは対照的に、Playオブジェクトのコンストラクタ呼び出しは非終端単語を含まず、専ら終端単語を含む。終端単語は、終端規則ＴＲのコンストラクタの連続呼び出しによって与えられ、単語”play（再生）”、”go（行け）”及び”start（開始）”を実現する。同様に、非終端単語<stop（停止）>及び<lineno（ライン番号）>の代入規則は、対応する代替規則ＡＲのコンストラクタの呼び出しによって生成される。Goto（行け）オブジェクトは最後に、連鎖規則ＫＲを実現する文法クラスＧＫの例として実現される。コンストラクタは終端単語”goto line（ライン...へ行け）”及び非終端単語”lineno（ライン番号）”を受け取る。
【００５０】
文法オブジェクトＧＯによって評価された文の意味情報的な変換のために、図２の形式文法ＧＲでは、終端単語のみをプログラム・モジュールＰＭに変換し、このプログラム・モジュールはアプリケーション３に参照として与えられ、このアプリケーションによって直接実行される。プログラム・モジュールＰＭ、あるいはこれに対応する参照は、文法ＧＲ（図２参照）の規定によって終端単語に直接関連する。具体的な実行状況では、このことは例えば次のように現われる：各々の<command（コマンド）>規則がコマンド・オブジェクトを生成し、その方法Execute()（実行）はアプリケーション３によって直接実行することができる。Goto（行け）規則は特別なコマンド・オブジェクトを生成し、このコマンド・オブジェクトも対応するライン番号を含む。
【００５１】
構文分析ＳＡ、意味情報合成ＳＳ、及び意味情報の機械語プログラムの実行の間の厳格な分離とは対照的に、図５に、意味情報命令の直接合成、及び音声入力インタフェース２によるこれらの意味情報命令の実行を、連鎖規則ＫＲによる乗算を実現する文法オブジェクトＧＯの例を用いて示す。この乗算オブジェクトは、３つの要素：１〜９の自然数（クラスNumberGrammar（文法番号）は例えばクラスChoiceGrammar（文法選択）からの受け継ぎによる結果とすることができる）、終端単語”times（掛ける）”、及び区間１〜９からの新たな自然数の順列配置によって例示される。意味情報変換用のリスト（”3”, “times（×）”, “5”）を文法解析の結果として与える代わりに、命令”3 times 5（３×５）”を前記オブジェクトにおいて直接実行して、結果１５を返すことができる。この例では計算は、特別な合成イベント・ハンドラ（事象処理機能）ＳＥによって行われ、ＳＥは乗算オブジェクトのデータ−この例では乗算の２つの要素−を集めてリンクする。
【００５２】
構文解析ＳＡと内部でリンクされた、こうした効率的な意味情報合成ＳＳは、翻訳言語における構文構成の意味情報、及び直接実行可能な機械語プログラム・モジュールへの翻訳の本発明による実現によってのみ可能である、というのは、この方法のみによって、意味情報合成ＳＳを構文解析ＳＡに直接統合することができるからである。手続き／命令型プログラミング言語の代わりに、オブジェクト指向プログラミング言語を使用することによって、使用するデータ構造も、適切に構成してサービス・プロバイダ及びエンド（末端）ユーザ向けにまとめることができ、しかも構文分析と意味情報合成との間のデータ転送を効率的に制御することができる。
【００５３】
文法設計用の設計ツールの特別な機能を、図６を用いて時間文法の例で説明する。特別な文法の設計のために、文法クラスＧＫによって事前に詳細記述された代入規則ＫＲ、ＡＲ及びＴＲが図形的に組み合わされて、対応する終端及び非終端単語の使用によって例示され、即ち、対応する文法オブジェクトＧＯが生成される。
【００５４】
従って、図６にでは、種々の代替規則を、流れ図中の異なる形のボックスによって区別している。特定の代入規則を図形的に選択した後に、詳細記述（即ち規則の例示）のために例えばダブルクリックまたは他の何らかのユーザ動作によって文法エディタを開いて、この文法エディタで代替の副文法を詳細記述し、選択した規則に従って終端単語の列を与えることができる。対応する副文法の詳細記述後に、サブツリー（副木）を再び閉じて、詳細記述した部分文法が図のより上位のボックス内の形式的な表記中に出現する。副文法を詳細記述するための複雑な文法を可能にするために、さらなる規則を挿入することができる。
【００５５】
時間文法の例では、その設計は代替規則ＡＲの選択から始まり、この代替規則ＡＲは４つの副文法を代替連鎖規則ＫＲの形で含み、これらを長円形のボックスで示す。
【００５６】
第１及び第４の代替については、副文法のツリーが閉じられているが、対応するボックス上をダブルクリックすることによって、あるいは対応する動作によってこれらのツリーを見えるようにすることができる。４つの代替（(1..20|quarter（15分）)(minutes（まで...分）|to（まで）)1..12）連鎖規則のボックスＫＲ上でのダブルクリック等によって、２つの代替規則ＡＲと１つの終端規則ＴＲとの列が見えるようになる。
【００５７】
第２及び第３の代替については、副文法のツリーが部分的に見える。第２の代替（(1..12(1..59|))(AM|PM|)）は、連鎖規則（(1..12(1..59|))）と代替規則（(AM|PM|)）との列から成る。ここでも連鎖規則ＫＲは、終端規則ＴＲと代替規則ＡＲとの列から成り、この列は２つの代替の終端規則ＴＲを含む。代替規則ＡＲは、３つの異なる終端規則ＴＲを代替として提供し、これらの代替は終端単語”AM（午前）”及び”PM（午後）”を使用し、３番目の終端単語はまだ指定されていない。終端規則ＴＲ上でのダブルクリックまたは類似の操作によって、最後に使用すべき終端単語、即ち形式言語の語彙を与えることができる。文法エディタによるこの方法で、あらゆる文法ＧＲを詳細記述して、所望の複雑性で図形的に（グラフィックで）示すことができる。
【００５８】
ここで、このように図形的に詳細記述された形式文法は、完全かつ自動的に、オブジェクト指向翻訳言語の対応するプログラミング言語文法クラスＧＫに変換され、これらのクラスは、対話システム１の動作時における翻訳後に例示され、導出／文法解析による音声文の有効性のための代入規則として検証される
【００５９】
意味情報エディタの対応する機能を活用することによって、意味情報または属性の合成用のイベント・ハンドラＳＥを自動的に生成することができる。そしてエディタ・ウィンドウ（窓）が自動的に開いて、このウィンドウ内で、当該イベント用の対応するプログラムコードをオブジェクト指向翻訳言語中に追加することができる。アプリケーションの詳細記述された文法クラスは、その翻訳後に、スタティックまたはダイナミック・リンク・ライブラリの形で実行用に提供することができる。
【００６０】
最後に、再度指摘すべきこととして、図に示し明細書中で説明した音声入力インタフェース、及び対話システムは、単なる具体例に過ぎず、当業者が本発明の範囲を逸脱せずに大きく変形することができる。特に、図示した具体例ではオブジェクト指向プログラミング言語Ｃ＃で作成された前記プログラムの断片は、他のいずれのオブジェクト指向プログラミング言語、あるいは他の命令型プログラミング言語で書くこともできる。また、説明を完全にするために指摘すべきこととして、関係する特徴は特に複数を意味する記載がなくても複数存在する可能性を排除するのではなく、「具える」という用語はさらなる要素またはステップの存在を排除するものではない。
【図面の簡単な説明】
【００６１】
【図１】従来技術の対話システムにおける対話を示す図である。
【図２】従来技術の形式文法の仕様を示す図である。
【図３】音声入力インタフェースを有する本発明による対話システム具体例の構造を図式的に示す図である。
【図４ａ】文法クラスの定義を示す図である。
【図４ｂ】文法オブジェクトの定義を文法クラスの例として示す図である。
【図５】文法オブジェクトの意味情報的な実現を示す図である。
【図６】文法の構造を図形的に示す図である。
【図１】
2007502459.tif 000003
【図２】
2007502459.tif 000004
【図３】
2007502459.tif 000005
【図４ａ】
2007502459.tif 000006
【図４ｂ】
2007502459.tif 000007
【図５】
2007502459.tif 000008
【図６】
2007502459.tif 000009
【手続補正書】
【提出日】平成18年2月22日(2006.2.22)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図４ａ
【補正方法】変更
【補正の内容】
【図４ａ】
2007502459.tif 000010
【国際調査報告】
2007502459.tif 000011
2007502459.tif 000012
2007502459.tif 000013
2007502459.tif 000014