説明

対話システム

【課題】 対話処理に必要な各種情報の管理と対話処理を簡単化する。
【解決手段】 ユーザに対し発話を行なう発話部20、ユーザの発話の音声認識を行なう音声認識部21、対話による操作対象機器である車載エアコン装置10a 、発話、音声認識、ユーザの対話入力に対する判断、機器操作を組み合わせた対話動作手順の各動作の機能と動作に用いる各種データ、対話動作手順に応じた遷移情報を対応付けて記憶したデータベース部22、データベース言語による要求に従い、データベース部に対するデータ操作を行うDBMS24、DBMS24へのSQL 言語を用いた要求により、データベース部22から遷移情報の示す順で次の動作に必要な情報を読み出させ、該読み出させた情報に応じてユーザの対話入力に対する判断、発話部20に対する発話指示、音声認識部21に対する音声認識指示、車載エアコン装置10a に対する操作指示を実行する対話制御部24とを備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は対話システムに係り、とくに1または複数の操作対象機器部に対する操作を対話で実行する対話システムに関する。
【背景技術】
【0002】
カーナビゲーション装置、車載AV機器等の車載機器や家庭用電化製品などではユーザがエージェントと対話しながら機器操作できるようにするエージェントシステムの研究・開発が進められている。エージェントシステムはユーザと対話することで、学習、判断、機器操作を行ったり、ユーザに提案をしたりする。或る操作対象機器に関する対話(提案を含む)、学習、判断、機器操作の各動作は予め定められた手順(関連する動作の手順はシナリオと呼ばれる)に沿って進められる。なお、「対話」には音声のほか、スイッチ操作、画像表示による対話を含む。
従来の自動車用対話システムの一構成例を図1に示す。車載ナビゲーション装置や車載オーディオ装置等の複数の操作対象機器部1a、1b、・・は対話制御部2により操作(制御)される。対話制御部2はシナリオ情報記憶部3に記憶された対話動作手順を示すシナリオ情報に従い、発話テキスト記憶部4から所望の発話テキストを読み出し音声合成式の発話部5に出力してユーザへ発話させる。また、音声認識語彙記憶部6から所望の音声認識対象語彙を読み出し音声認識部7にセットしてユーザの発話した語彙の音声認識をさせる。対話を通じてユーザ所望の機器操作の内容を判別したら、該当する操作対象機器部1iの操作(制御)を行う。
【0003】
上記の対話システムでは、対話制御部2は発話テキスト辞書記憶部4、音声認識語彙辞書記憶部6、シナリオ情報記憶部3という複数の場所に異なる形式で対話処理に必要な情報が記憶されており、各情報の管理が面倒であるとともに、対話の為の情報の読み出し処理が複雑化する問題があった。特開2006−4274号に開示された発明では、シナリオメモリにシナリオ記述言語で記載されたシナリオドキュメントが格納されており、スロット辞書メモリに音声認識語彙の属性が格納されており、音声応答出力部の内部に発話テキストが格納されており、データベースにシナリオ生成用の外部情報がデータベース部に記憶されており、各情報の管理、対話処理が非常に複雑な構成となっていた。
【0004】
【特許文献1】特開2006−4274号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は上記した従来技術の問題に鑑み、対話処理に必要な各種情報の管理と対話処理が簡単な対話システムを提供することを、その目的とする。
【課題を解決するための手段】
【0006】
本発明の対話システムの1つは、ユーザに対し発話を行なう発話部と、ユーザの発話の音声認識を行なう音声認識部と、対話による1または複数の操作対象機器部と、発話、音声認識、ユーザの対話入力に対する判断、機器操作を組み合わせた対話動作手順の各動作の機能、動作に用いる各種データ、対話動作手順に応じた遷移情報を対応付けて記憶したデータベース部と、データベース言語による要求に従い、データベース部に対するデータ操作を行うデータベースマネジメントシステム部と、データベースマネジメントシステム部へのデータベース言語を用いた要求により、データベース部から遷移情報の示す順で次の動作に必要な情報を読み出させ、該読み出させた情報に応じてユーザの対話入力に対する判断、発話部に対する発話指示、音声認識部に対する音声認識指示、操作対象機器部に対する操作指示を実行する対話制御部と、を備えたことを特徴としている。
本発明の対話システムの他の1つは、データベース部は、発話動作で用いるテキストと音声認識動作で用いる認識対象語彙を合わせた辞書テーブルを備えたこと、を特徴としている。
本発明の対話システムのさらに他の1つは、データベース部は、対話動作上、互いに関連する動作の情報をグループ分けして管理したこと、を特徴としている。
本発明の対話システムの他の1つは、データベース部は、対話動作上、互いに関連する動作の情報をグループ分けし、かつ同じグループ内の同種の動作の情報をサブグループ分けして管理したこと、を特徴としている。
なお、互いに関連する動作は、同じ操作対象機器部に対する動作とすることができる。
対話動作手順に、学習と学習内容に対する判断を含めたり、動作遷移情報の変更を含めたりしても良い。
【発明の効果】
【0007】
本発明によれば、発話、音声認識、ユーザの対話入力に対する判断、機器操作(機器制御)を組み合わせた対話動作手順の各動作の機能、動作に用いる各種データ、対話動作手順に応じた遷移情報を対応付けてデータベース部に記憶したので、対話処理に必要な情報の管理をデータベース部の上で行えるため、管理が容易となる。また、対話制御部もデータベースマネジメント部にデータベース言語でデータ操作を要求するだけで、必要な情報をできるため、処理が簡単化する。
【発明を実施するための最良の形態】
【0008】
以下、本発明の最良の形態を実施例に基づき説明する。
【実施例1】
【0009】
図2を参照して本発明の一実施例を説明する。図2は本発明に係る自動車用対話システムの構成を示すブロック図である。
図2の自動車用対話システムは、ユーザとエージェントが対話することで、学習、判断、提案、各種機器操作(機器制御)を可能としたシステムであり、対話は音声認識、音声合成を利用して入出力を繰り返すことで実現している。学習機能は車室温度データの更新、CD再生回数のカウント等、車載機器のアプリケーションプログラム(実行モジュール;AP)が管理するデータの更新などである。判断はユーザの対話入力と音声認識対象語彙との比較や、車室温度データ、CD再生回数などの学習データと設定条件の比較などであり、例えば音声認識対象語彙が<はい>、<うん>でユーザが「はい」と発話したとき肯定(TRUE)と判断したり、車室温度が25℃以上になったときに温度が高いと判断したりする。提案は、温度が高いと判断したときに「エアコンをつけますか」と発話するシナリオの開始トリガを設定することで実現できる。
図2において、10aは車載エアコン装置であり、車室温度を検出する温度センサ11が付属されている。10bはCD再生とラジオ受信が可能な車載オーディオ機器、10cは地図上に自動車の現在位置を表示する車載ナビゲーション装置であり、ガソリンスタンド等の所望の目的地を検索し、経路案内する機能を有する。20は発話テキストデータを入力して音声合成により発話を行う発話部、21はユーザの発話を音声認識する音声認識部であり、音声認識対象語彙を入力してユーザの発話とマッチングして音声認識を行う。車載エアコン装置10a、車載オーディオ機器10b、車載ナビゲーション装置10c、発話部20、音声認識部21は後述する対話制御部からの指示を受け付けるアプリケーションプログラム(AP)を有する。
【0010】
22はデータベース部であり、エージェントの発話、音声認識、学習(ここでは車室温度データ、CD再生回数等の所定の学習データの更新)、所定の学習データやユーザの対話(ここでは発話)入力に対する判断、機器操作の各機能単位の動作を組み合わせた対話動作手順の各動作のファンクション、動作に用いる各種データ、対話動作手順に応じた動作遷移情報を対応付けて階層化テーブル構成で記憶してある。データベース部22には対話動作手順の情報のほか、発話に用いる発話テキスト、音声認識に用いる音声認識語彙も一緒に格納してあり、後述する対話制御部(符号25参照)は、エージェントの各機能単位の動作を対話動作手順に従い実行するために必要な情報を全てデータベース部22から入手可能になっている。また、対話制御部が直接データベース部22の読み書きをせず、データベース言語(ここではSQL言語)による命令で後述するデータベースマネージメント部(符号24参照)に情報検索、更新等のデータ操作を一括して処理させることで、データベース部22の情報への形式的なアクセスを可能とし、対話処理の負担を軽減している。
ここでファンクションとは、エージェントの機能を指すもので、動作を分類する上位概念でオブジェクト指向のクラス(メソッド)に相当し、アプリケーションプログラム(AP)のアプリケーションプログラムインタフェース(API)と解釈することもできる。対話制御部はアプリケーションプログラム(AP)にファンクションと処理内容データを与えることで、アプリケーションプログラム(AP)に動作指示を行なう。
【0011】
データベース部22の記憶内容を図3に示す。30は発話テキストと音声認識語彙を合わせた辞書テーブル(テーブル名tbl-Text)であり、図4、図5に示す如くレコード単位で情報を識別する3種類の情報識別コードである主ID(Id)、発話ID(TTSId )、音声認識ID(ASRId )と、情報内容を示すスペル(Spell )のほか、対話動作手順に従う次の動作先を示す動作遷移情報(Next) のフィールドを含む。31は学習データテーブル(テーブル名tbl-Info)であり、ID(Id)とデータ値(State )のフィールドを有する(図6参照)。なお、ID=1のレコードのデータ値はエアコンのオン・オフに用いる車室温度データ、ID=2は本日のCD再生回数である。40、50、60、70は対話動作手順を、各々エアコンに関する対話動作手順(エアコンに関するシナリオ)、車載オーディオ機器に関する対話動作手順(オーディオに関するシナリオ)、車載ナビゲーション装置に関する対話動作手順(ナビゲーションに関するシナリオ)、他の全体的な対話動作手順という具合にしてシナリオ別にグループ分けし、各グループの対話動作手順の各動作の機能パーツとパーツ間の結合状態をテーブルにした第1乃至第4シナリオテーブル(テーブル名test1-Scenario、test2-Scenario、test3-Scenario、test4-Scenario ) である。
【0012】
第1乃至第4シナリオテーブル40〜70は図7、図9、図12、図14に示す如く、レコード単位で情報を識別するID(Id)、機能の分類であるファンクション名(Function; 発話=TTS 、音声認識=ASR 、学習=UPDATE、判断=JUDGE 、操作=OPER) 、機能の属性であるパラメータ(Parameter)、動作遷移情報(Next) のフィールドを有する。パラメータは次に述べるファンクションテーブルのレコードIDを指定するものである。動作パーツはファンクション名とパラメータで構成される。ファンクションとパラメータはオブジェクト指向のクラスとインスタンスの関係に類似している。動作遷移情報が動作パーツ間の結合状態を指す。但し、場合分けなどのために、後述する他のテーブルに入れられることもある。
【0013】
41〜45は各々車載エアコン装置10aに関連する対話動作を発話、音声認識、判断、操作、学習の種類別にグループ分けしたファンクションテーブル( 細分類テーブル、テーブル名test1-TTS 、test1-ASR 、test1-JUDGE 、test1-OPER、test1-UPDATE) であり(図7、図8参照)、ファンクションテーブル41、42、43、45はレコードを区別するID(Id)、動作に使用するテーブル名(TTSTable、ASRTable、JUDGETable、UPTable ) とレコード指定情報(TTSWhere、ASRWhere、JUDGEWhere、UPWhere ) のフィールドを有する。51〜55は各々、車載オーディオ装置10bに関連する対話動作を発話、音声認識、判断、操作、学習の別にグループ分けしたファンクションテーブル( 細分類テーブル、テーブル名test2-TTS 、test2-ASR 、test2-UPDATE、test2-JUDGE 、test2-OPER、test2-UPDATE )であり(図9〜図11参照)、ファンクションテーブル51、52、53、55はレコードを区別するID(Id)、動作に使用するテーブル名(TTSTable、ASRTable、JUDGETable、UPTable ) とレコード指定情報(TTSWhere、ASRWhere、JUDGEWhere、UPWhere ) のフィールドを有する。
61〜64は各々車載ナビゲーション装置10cに関連する動作を発話、音声認識、判断、操作の別にグループ分けしたファンクションテーブル( 細分類テーブル、テーブル名test3-TTS 、test3-ASR 、test3-JUDGE 、test3-OPER )であり(図12、図13参照)、ファンクションテーブル61、62、63はレコード単位で情報を区別するID(Id)、動作に使用するテーブル名(TTSTable、ASRTable、JUDGETable) とレコード指定情報(TTSWhere、ASRWhere、JUDGEWhere)
のフィールドを有する。71はシナリオテーブル70に定義された対話システムの全体的な動作である音声認識のファンクションテーブル( 細分類テーブル、テーブル名test4-ASR ) であり、レコード単位で情報を区別するID(Id)、動作に使用するテーブル名(ASRTable) とレコード指定情報(ASRWhere )のフィールドを有する。
【0014】
学習のファンクションテーブル45、55では、レコード単位で情報を区別するID(Id)と学習に使用するデータの格納されたテーブル名(UPTable)、レコード指定情報(UPWhere)、更新するデータフィールドを指定する対象フィールド情報(UPField)、更新に用いるデータを格納した更新用データ情報(UPData)
のフィルードを有する。判断のファンクションテーブル43、53、63では、レコード単位で情報を区別するID(Id)と判断に使用するデータの格納されたテーブル名(JUDGETable) とレコード指定情報(JUDGEWhere) 、判断に用いる条件を格納した判断条件情報(JUDGEDATA)、条件に合致した場合と合致しない場合の遷移先情報を格納するフィールド(TRUE、FALSE)を有する。操作のファンクションテーブル44、54、64はレコードを区別するID(Id)と操作内容フィルード(Operation)を有する。
【0015】
図3に戻って、80は各シナリオテーブルを管理するシナリオネットワークテーブル( テーブル名tbl-ScenarioNet)であり、レコード単位で情報を区別するID(Id)とシナリオテーブル名(Name) を格納するフィールドを有する。シナリオネットワークテーブル80のID=1〜4は各々シナリオテーブル40、50、60、70に対応付けられている。シナリオテーブル40(50、60、70)において、動作内容はファンクション名とパラメータの組み合わせにより指定されるファンクションテーブルとレコードで特定される。例えばシナリオテーブル40の或る1つの動作がファンクション名TTS、パラメータが1であれば、発話に関するファンクションテーブル41のID=1のレコードで指定された内容の発話を指す。ファンクションテーブル41のID=1のレコードは、使用テーブル名がtbl-text、レコード特定情報がTTSId=22なので、辞書テーブル30のTTSId=22のレコードのスペルフィールドのテキスト「エアコンをつけますか」を発話させることになる。シナリオテーブル40の他の或る1つの動作がファンクション名ASR、パラメータが1であれば、ファンクションテーブル42のID=1のレコードで指定された内容の音声認識を指す。ファンクションテーブル42のID=1のレコードは、使用テーブル名がtbl-text、レコード指定情報がId= 1なので、辞書テーブル30の主ID=1のスペルフィールドのテキスト「はい」、「うん」を認識対象語彙とした音声認識をさせることになる。
【0016】
シナリオテーブル40の1つの動作がファンクション名UPDATE、パラメータが1であれば、学習に関するファンクションテーブル45のID=1のレコードで指定されたデータ更新を指す。ファンクションテーブル45のID=1のレコードは、使用テーブル名がtbl-info、レコード指定情報がId=1、対象フィールド情報がState 、更新用データ情報がTEMPなので、学習データテーブル31のID=1のレコードのState のデータをTEMPで書き換えることを指す。シナリオテーブル40の1つの動作がファンクション名JUDGE 、パラメータが1であれば、判断に関するファンクションテーブル43のID=1のレコードで指定された判断を指す。ファンクションテーブル43のID=1のレコードは、使用テーブル名がtbl-info、レコード指定情報がId=2、判断条件がState =5、条件に合致した場合と合致しない場合の動作遷移情報が(1,4)と(1,3)なので、該当する学習データState が5かの判断をし、かつ、判断結果に従い次の動作に遷移することを指す。シナリオテーブル40の1つの動作がファンクション名OPER、パラメータが1であれば、車載エアコン装置10aの操作に関するファンクションテーブル44のID=1のレコードで指定された操作を指す。ファンクションテーブル44のID=1のレコードは、エアコンオン操作を指す。
他のシナリオテーブル50、60、70についても同様に構成されている。
なお、動作遷移情報はシナリオネットワークテーブル80のレコードを識別するIDとシナリオテーブル40〜70のレコードを識別するIDの組み合わせ(a、b)で表現される。
【0017】
図2に戻って、23はユーザが対話を開始する際に操作するPTTスイッチ、24はデータベースマネジメントシステム部(DBMS)であり、外部からデータベース言語の1つであるSQL言語による命令により各種データ操作が要求されると、SQL言語命令を解読して、データベース部22に対し、情報検索、学習データテーブル31のデータ更新等の各種データ操作をし、検索要求に対しては結果を要求元に返信する。
【0018】
25は対話制御部であり、DBSM24にSQL言語の命令によりデータ操作を要求してデータベース部22に記憶された遷移情報を参照しながら対話動作手順に従う動作の情報(ファンクション+動作内容+動作遷移情報)を逐次読み出す。そして、該読み出した動作の情報が提案、意思確認等の発話(ファンクション=TTS)であれば発話部20に発話を指示し、音声認識(ファンクション=ASR)であれば音声認識部21に音声認識を指示して、ユーザと対話を行う。音声認識を指示したときは、音声認識結果により場合分けされる動作、例えば再確認のための発話を指示したり、車載エアコン装置10a、車載オーディオ装置10b、車載ナビゲーション装置10cへの操作指示(制御指示; ファンクション=OPER)をしたりする。また、読み出した動作の情報が学習(ファンクション=UPDATE)であれば、DBMS24に車室温度データの更新や本日のCD再生回数データの更新を指示したりする。読み出した動作の情報が学習(ファンクション=JUDGE )であれば、対話制御部25が車室温度データ、本日のCD再生回数データ、ユーザの発話入力などに対する判断を行なう。
【0019】
図15は対話制御部25の実行する対話処理の流れ図、図16乃至図19は対話動作手順の説明図であり、以下、これの図を参照して上記した実施例の動作を説明する。
なお、予め、学習データテーブル31の2番目に登録された本日のCD再生回数データは4になっているものとする。
(1)車室温度データの更新
車載エアコン装置10aに付属した温度センサ11は車室温度データを定期的に対話制御部25に出力している。対話制御部25は、温度センサ11から入力があったかとPTTスイッチ23が押されたかの判断を繰り返しており(図15のステップS10、S16)、温度センサ11から車室温度データ(ここでは25(℃)とする)が入力されると、内蔵メモリ25AにデータTEMPとして一時記憶し(図16のステップS20)、車室温度データの更新動作に対応する動作要求ID(1,1)を自己設定する(ステップS11)。ここで、動作要求ID(A,B)はシナリオネットワークテーブル80のレコードを識別するID=Aとシナリオテーブル40〜70のレコードを識別するID=Bの組み合わせである。
【0020】
対話制御部25はDBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=1のレコードの示す動作情報(ファンクション+処理内容データ+動作遷移情報)を読み出す(図15のステップS12)。この際、DBMS24により、シナリオネットワークテーブル、シナリオテーブル、ファンクションテーブル、学習データテーブルという具合に階層を上から下に辿って1つの動作の完全な情報を取得する。
具体的には、まず動作要求ID(A,B)のA=1からDBSM24に対し、シナリオネットワークテーブル80のID=1のレコードを読み出させるSQL言語の命令文を作成してDBSM24に出力する。DBSM24は命令文を解読してデータベース部22のシナリオネットワークテーブル80からID=1のレコードの情報を読み出し、対話制御部25に返信し、対話制御部25は返信情報中のシナリオテーブル名(test1-Scenario)を確保する。次に、動作要求ID(A,B)のB=1とシナリオテーブル名(test1-Scenario)から、シナリオテーブル40のID=1のレコードを読み出させるSQL言語の命令文を作成してDBSM24に出力する。DBSM24は命令文を解読してデータベース部22のシナリオテーブル40からID=1のレコードの情報を読み出し、対話制御部25に返信し、対話制御部25は返信情報中のファンクション名UPDATE、パラメータ1、動作遷移情報(1,2)を確保する。次に、シナリオテーブル40のファンクション名UPDATEに対応付けられたファンクションテーブル名(test1-UPDATE)のファンクションテーブル41の内、今回のパラメータ1に相当するID=1のレコードを読み出させるSQL言語の命令文を作成してDBSM24に出力する。DBSM24は命令文を解読してデータベース部22のファンクションテーブル41からID=1のレコードの情報を読み出し、対話制御部25に返信する。
【0021】
結果はテーブル名test1-UPDATEのファンクションテーブル45のID=1のレコードの示すテーブル名tbl-Infoの学習データテーブル31のID=1のStateのデータ(車室温度データ)を内蔵メモリ25Aに一時記憶したTEMPで書き換えることなので、対話制御部25はDBMS24に対し学習データテーブル31のID=1のStateのデータをTEMP(=25)で書き換えるSQL言語命令により車室温度データの更新要求をし、DSBM24はSQL言語による要求を解読して学習データテーブル31中の車室温度データを更新する(図15のステップS13、図16のステップS21)。
【0022】
(2)エアコンオンの提案(シナリオ開始のトリガ機能)
車室温度の更新が終ると、対話制御部25は今回の動作の情報に動作遷移情報(1,2)があるので、それを次の動作要求IDとし(図15のステップS14、S15)、前述と同様にしてDBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=2のレコードの示す動作情報を読み出す(図15のステップS12)。結果はテーブル名test1-JUDGE のファンクションテーブル43のID=1のレコードの示すテーブル名tbl-Infoの学習データテーブル31のID=1のStateのデータが25以上かの判断なので、更に学習データテーブル31のID=1のレコードを読み出させるSQL言語の命令文を作成してDBSM24に出力する。DBSM24は命令文を解読してデータベース部22の学習データテーブル31からID=1のレコードの情報を読み出し、対話制御部25に返信する。対話制御部25は入手したデータが25か判断する(図15のステップS13、図16のステップS22)。判断に成功し、若しNOであればFALSEの動作遷移情報(1,3)を次の動作要求IDとするが、ここではYESとなるのでTRUEの動作遷移情報(1,4)を次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=3のレコードの示す動作情報を読み出す(図15のステップS12)。結果はテーブル名test1-TTS のファンクションテーブル41のID=1のレコードの示すテーブル名tbl-Textの辞書テーブル30のTTSId =22の<エアコンをつけますか>の発話となるので、発話部20のアプリケーションプログラム(AP)に対しファンクション=TTS と処理内容データ<エアコンをつけますか>を含む発話指示をする。発話部20のアプリケーションプログラム(AP)は音声合成により<エアコンをつけますか>の発話を実行する(図15のステップS13、図16のステップS23)。
【0023】
(3)エアコンオン
発話指示後、対話制御部25は今回の動作の情報に動作遷移情報(1,5)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=5のレコードの示す動作情報を読み出す(図15のステップS13)。結果はテーブル名test1-ASR のファンクションテーブル42のID=1のレコードの示すテーブル名tbl-Textの辞書テーブル30のId=1の<はい>、<うん>の音声認識となるので、音声認識部21のアプリケーションプログラム(AP)に対しファンクション=ASR と処理内容データ<はい>、<うん>を含む音声認識指示をする。音声認識部21のアプリケーションプログラム(AP)これらの語彙を認識対象語彙として音声認識を実行する。ユーザが「はい」と発話し、音声認識部21が認識対象語彙とマッチングを行なって<はい>と判別したとき、認識結果語彙を対話制御部25に出力する。対話制御部25は認識語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する(図15のステップS13、図16のステップS24)。そして、今回の動作の情報に動作遷移情報(1,6)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=6のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test1-JUDGE のファンクションテーブル43のID=2のレコードの示すテーブル名tbl-Inp の一時記憶テーブル25BのID=1のINPUTの内容が<はい>または<うん>かの判断なので、一時記憶したテーブルデータを参照して判断する(図15のステップS13)。成功し、若しNOであればFALSEの動作遷移情報がNULLで存在しないので、一旦対話動作を終るが、ここではYESとなるのでTRUEの動作遷移情報(1,7)を次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=7のレコードの示す動作情報の内容(動作遷移情報があるときは動作遷移情報を含む)を読み出す(図15のステップS12)。結果はテーブル名test1-OPERのファンクションテーブル44のID=1のレコードの示すエアコンオン操作なので、車載エアコン装置10aのアプリケーションプログラム(AP)に対しファンクション=OPERと処理内容データ(エアコンオン)を与えてエアコンオンを指示する。該指示を受けた車載エアコン装置10aのアプリケーションプログラム(AP)はエアコンを稼働させる(図15のステップS13、図16のステップS25)。
【0024】
エアコンオン指示後、対話制御部25は今回の動作の情報に動作遷移情報(1,8)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=8のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test1-TTSTableのファンクションテーブル43のID=2のレコードの示すテーブル名tbl-Textの辞書テーブル30のTTSId =23の<エアコンをオンしました>の発話となるので、発話部20に対し<エアコンをオンしました>の発話を指示する(図15のステップS13、図16のステップS26)。このあと対話制御部25は今回の動作の情報の動作遷移情報がNULLなので、一旦対話を終える。
【0025】
(4)エアコンオフの提案
その後、エアコンのオンで車室温度が下がり、前記した車室温度データの更新動作で更新される学習データテーブル31の車室温度データの値は小さくなる。更新動作に続く車室温度データが25以上かの判断でNOとなると、FALSEの動作遷移情報(1,3)を次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=3のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test1-JUDGE のファンクションテーブル43のID=2のレコードの示すテーブル名tbl-Infoの学習データテーブル31のID=1のStateのデータが18以下かの判断なので、更に学習データテーブル31のID=1のレコードを読み出させるSQL言語の命令文を作成してDBSM24に出力する。DBSM24は命令文を解読してデータベース部22の学習データテーブル31からID=1のレコードの情報を読み出し、対話制御部25に返信する。対話制御部25は入手したデータが18か判断する(図15のステップS13)。判断が成功し、NOであればFALSEの動作遷移情報がNULLなので、メインの処理に戻る。若し、車室温度の低下でYESとなったとき、TRUEの動作遷移情報(1,9)を次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=9のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test1-TTS のファンクションテーブル43のID=3のレコードの示すテーブル名tbl-Textの辞書テーブル30のTTSId =24の<エアコンをとめますか>の発話となるので、発話部20に対し<エアコンをとめますか>の発話を指示する(図15のステップS13)。発話部20は音声合成により<エアコンをとめますか>の発話をする。
【0026】
(5)エアコンオフ
発話指示後、対話制御部25は今回の動作の情報に動作遷移情報(1,10)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=10のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果は<はい>、<うん>の音声認識となるので、音声認識部21に対しこれらを音声認識対象語彙とした音声認識を指示する(図15のステップS13)。ユーザが「はい」と発話し、音声認識部21が<はい>の認識結果語彙を対話制御部25に出力すると、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードに一時記憶する。そして、今回の動作の情報に動作遷移情報(1,11)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=11のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test1-JUDGE のファンクションテーブル43のID=4のレコードの示すテーブル名tbl-Inp の一時記憶テーブル25BのID=1のINPUT の内容が<はい>または<うん>かの判断なので、一時記憶したテーブルデータを参照して判断する(図15のステップS13)。若しNOであればFALSEの動作遷移情報がNULLで存在しないので、一旦対話動作を終るが、ここではYESとなるのでTRUEの動作遷移情報(1,12)を次の動作IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=12のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test1-OPERのファンクションテーブル44のID=2のレコードの示すエアコンオフ操作なので、車載エアコン装置10aに対しファンクション=OPERと処理内容データ(エアコンオフ)を与えてエアコンオフを指示する(図15のステップS13)。該指示を受けた車載エアコン装置10aはエアコンをエアコンを停止させる。
【0027】
エアコンオフ指示後、対話制御部25は今回の動作の情報に動作遷移情報(1,13)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=13のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test1-TTS のファンクションテーブル41のID=4のレコードの示すテーブル名tbl-Textの辞書テーブル30のTTSId =2の<エアコンをオフしました>の発話となるので、発話部20に対し<エアコンをオフしました>の発話を指示する(図15のステップS13)。発話を指示後、対話制御部25は今回の動作の情報の動作遷移情報がNULLなので、一旦対話を終える。
【0028】
このようにして、対話制御部25はDBMS24にSQL言語命令を繰り返してデータベース部22に記憶された動作の情報を動作遷移情報の示す順に読み出してデータベース部22に対する車室温度の学習指示、車室温度と設定温度の比較判断、発話部20に対する発話指示、音声認識部21に対する音声認識指示、車載エアコン装置10aに対するエアコンオン/オフの操作指示の組み合わせから成る対話動作をエアコンに関する所定のシナリオに沿って実行し、ユーザにエアコンオンまたはオフの提案をしたり、ユーザの回答に応じた制御をすることができる。
【0029】
(6)ユーザの要求によるエアコンオン
ユーザからの発話でエアコンをオンしたい場合、まずPTTスイッチ23を押す。すると、対話制御部25は動作要求ID=(4,1)を自己設定し(図15のステップS16、S17)、DBMS24に対しSQL言語による命令を繰り返してシナリオテーブル70のId=1のレコードの示す動作の情報を読み出す(図15のステップS12)。結果はテーブル名test4-ASR のファンクションテーブル71のID=3のレコードの示すテーブル名tbl-Textの辞書テーブル30のId=1の<暑い>、<エアコンをオンして>、<エアコンをつけて><寒い>、<エアコンをオフして>、<エアコンをとめて>、<CDを聞きたい>、<CDを再生して>、<CDを止めて>、<CDを消して>、<ラジオを聞きたい>、<ラジオをオンして>、<ラジオをつけて>、<ガソリンスタンドを探して>、<ガソリンを入れたい>、<駐車場を探して>、<車を駐車場に入れたい>などを認識語彙とする音声認識となり、各認識語彙には種々の動作遷移情報が対応している。対話制御部25は音声認識部21に対しこれらを音声認識対象語彙とする音声認識を指示する(図15のステップS13)。ユーザが「エアコンをつけて」と発話し音声認識部21が<エアコンをつけて>を認識結果語彙として対話制御部25に出力すると、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する(図17のステップS30)。そして、<エアコンをつけて>に動作遷移情報(1,4)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=2のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果は<エアコンをつけますか>の発話となるので、前述と同様にして発話部20に発話を指示し(図15のステップS13、図17のステップS31)、ユーザが「はい」または「うん」と回答すると音声認識と判断後、エアコンのオン操作され、更に<エアコンをつけました>の発話がされる(図15のステップS14、S15、S12、S13の繰り返し、図17のステップS32、S33、S24)。
【0030】
(7)ユーザの要求によるエアコンオフ
ユーザからの発話でエアコンをオフしたい場合、まずPTTスイッチ23を押すと、前述と同じ認識対象語彙群の音声認識が音声認識部21に指示される(図15のステップS16、S17、S12、S13)。ユーザが「エアコンをとめて」と発話し、音声認識部21が<エアコンをとめて>を認識結果語彙として対話制御部25に出力すると、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する。そして、今回の音声認識動作に動作遷移情報(1,9)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=2のレコードの示す動作情報を読み出す。結果は<エアコンをとめますか>の発話となるので、前述と同様にして発話部20に発話を指示し(図15のステップS13、図17のステップS31)、ユーザが「はい」または「うん」と回答すると、音声認識と判断後、エアコンのオフ操作がされ、更に<エアコンをとめました>の発話がされる(図15のステップS14、S15、S12、S13の繰り返し)。
このようにして、PTTスイッチ23押され、エアコンオン/オフが発話で要求されると、対話制御部25はDBMS24にSQL言語命令を繰り返してデータベース部22に記憶された動作の情報を動作遷移情報の示す順に読み出して音声認識部21に対する音声認識指示、発話部20に対する発話指示、車載エアコン装置10aに対するエアコンオン/オフの操作指示の組み合わせから成る対話動作をエアコンに関する所定のシナリオに沿って実行し、ユーザにエアコンオンまたはオフの意思確認をしながらユーザ所望の制御をする。
【0031】
(8)ユーザの要求によるCD再生
CDを再生したい場合、PTTスイッチ23を押すと、前述と同様にして前述と同じ認識対象語彙群の音声認識が音声認識部21に指示される(図15のステップS16、S17、S12、S13)。ユーザが「CDを再生して」と発話したとき、音声認識部21は<CDを再生して>を認識結果語彙として対話制御部25に出力し、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する(図18のステップS40)。そして、<CDを再生して>に動作遷移情報(2,1)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル50のID=1のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test2-JUDGE のファンクションテーブル53のID=1のレコードの示すテーブル名tbl-Inf の学習データテーブル31のID=2のState の内容が5かの判断なので、SQL言語による命令で学習データテーブル31から該当するCD再生回数データを読み出させて判断する(図15のステップS12、S13、図18のステップS41)。
【0032】
NOなので、FALSEの示す動作遷移情報(2,2)を次の動作要求IDとし、前述と同様にしてDBMS24にSQL言語による検索命令を発してシナリオテーブル50のID=2のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test2-TTS のファンクションテーブル51のID=1のレコードの示すテーブル名tbl-Textの辞書テーブル30のTTSId =26の<CDを再生しますか>の発話となるので、発話部20に対し<CDの再生をしますか>の発話を指示する(図15のステップS13、図18のステップS42)。この発話に対応する動作遷移情報が(2,3)なので、前述と同様にしてDBMS24にSQL言語による検索命令を発してシナリオテーブル50のID=3のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test2-ASR のファンクションテーブル52のID=1のレコードの示すテーブル名tbl-Textの辞書テーブル30のId=1の<はい>、<うん>音声認識なので、音声認識部21に対し上記の各語彙を音声認識対象語彙とする音声認識を指示する(図15のステップS13)。
【0033】
ユーザが「うん」と発話すると、音声認識部21は音声認識した<うん>を対話制御部25に出力し、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する(図18のステップS43)。そして、今回の音声認識動作に動作遷移情報(2,4)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=4のレコードの示す動作情報の内容を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test2-JUDGE のファンクションテーブル53のID=2のレコードの示すテーブル名tbl-Inp の一時記憶テーブル25BのID=1のINPUT の内容が<はい>または<うん>かの判断なので、一時記憶したテーブルデータを参照して判断する(図15のステップS13)。若しNOであればFALSEの動作遷移情報がNULLで存在しないので、一旦対話動作を終るが、ここではYESとなるのでTRUEの動作遷移情報(2,5)を次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=5のレコードの示す動作情報の内容を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test2-OPERのファンクションテーブル54のID=1のレコードの示すCD再生操作なので、車載オーディオ装置10bのアプリケーションプログラム(AP)に対しファンクション=OPERと処理内容データ(CD再生)を与えてCD再生を指示する(図15のステップS13)。該指示を受けた車載オーディオ装置10bのアプリケーションプログラム(AP)はCDを再生させる(図18のステップS44)。
そして、CD再生に対応付けられた動作遷移情報が(2,6)なので、対話制御部25はDBMS24にSQL言語による検索命令を発してシナリオテーブル50のID=6のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test2-TTS のファンクションテーブル52のID=2のレコードの示すテーブル名tbl-Textの辞書テーブル30のTTSId
=27の<CDを再生しました>の発話となるので、発話部20に対し<CDを再生しました>の発話を指示する(図15のステップS13、図18のステップS45)。
【0034】
(9)CD再生回数の学習
発話を指示後、対話制御部25は今回の発話動作の情報の動作遷移情報が(2,7)なので、DBMS24にSQL言語による検索命令を発してシナリオテーブル50のID=7のレコードの示す具体的な動作情報を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test2-UPDATEのファンクションテーブル55のID=1のレコードの示すテーブル名tbl-Infoの学習データテーブル31のID=2のStateのデータ(本日のCD再生回数データ)を+1することなので、対話制御部25はDBMS24に対し学習データテーブル31のID=2のSTATEのデータを+1するSQL言語命令により本日のCD再生回数データの更新要求をし、DSBM24はSQL言語による要求を解読して学習データテーブル31中の本日のCD再生回数データを1増大させて5とする(図15のステップS13、図18のステップS46)。これにより、次に、ユーザがCDの再生を指示したとき、本日のCD再生回数が5に達したかの判断でYESとなり、TRUEの示す遷移情報が動作要求(2,23)となり、<ラジオにしませんか>の提案に変わる。これにより、ユーザは飽きのこない対話を楽しむことができる。
【0035】
(10)CD再生の停止
ユーザがCDの再生を止めたい場合、PTTスイッチ23を押すと、前述と同様にして前述と同じ認識対象語彙群の音声認識が音声認識部21に指示される(図15のステップS16、S17、S12、S13)。ユーザが「CDをとめて」と発話したとき、音声認識部21は<CDをとめて>を認識結果語彙として対話制御部25に出力し、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する。そして、<CDをとめて>に動作遷移情報(2,8)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル50のID=8のレコードの示す動作情報を読み出す(図15のステップS14、S15、S12)。結果は<CDの再生を止めますか>の発話なので、発話部20に<CDの再生を止めますか>の発話を指示する(図15のステップS13)。動作遷移情報が動作要求(2,9)なので、前述と同様にしてDBMS24にSQL言語による検索命令を発してシナリオテーブル50のID=9のレコードの示す動作の情報を読み出す。結果は<はい>、<うん>の音声認識なので、音声認識部21に対し上記の各語彙を音声認識対象語彙として設定して音声認識を指示する(図15のステップS14、15、S12、S13)。
【0036】
ユーザが「うん」と発話すると、音声認識部21は音声認識を行い、結果を対話制御部25に出力し、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する。そして、今回の音声認識に動作遷移情報(2,10)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル50のID=10のレコードの示す動作情報の内容を読み出す。結果はテーブル名test2-JUDGE のファンクションテーブル53のID=3のレコードの示すテーブル名tbl-Inp の一時記憶テーブル25BのID=1のINPUT の内容が<はい>または<うん>かの判断なので、一時記憶したテーブルデータを参照して判断する(図15のステップS14、15、S12、S13)。若しNOであればFALSEの動作遷移情報がNULLで存在しないので、一旦対話動作を終るが、ここではYESとなるのでTRUEの動作遷移情報(2,11)を次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル50のID=11のレコードの示す動作情報の内容を読み出す。結果はテーブル名test2-OPERのファンクションテーブル54のID=2のレコードの示すCD再生停止操作なので、車載オーディオ装置10bのアプリケーションプログラム(AP)に対しファンクション=OPERと処理内容データ(CD再生停止)を与えてCD再生の停止を指示する(図15のステップS14、15、S12、ステップS13)。該指示を受けた車載オーディオ装置10bのアプリケーションプログラム(AP)はCD再生を停止させる。
【0037】
CD再生停止に対応付けられた動作遷移情報が(2,12)なので、対話制御部25はDBMS24にSQL言語による検索命令を発してシナリオテーブル50のID=12のレコードの示す動作情報を読み出す。結果はテーブル名test2-TTS のファンクションテーブル52のID=4のレコードの示すテーブル名tbl-Textの辞書テーブル30のTTSId =29の<CDの再生をとめました>の発話となるので、発話部20に対し<CDの再生をとめました>の発話を指示する(図15のステップS14、S15、S12、S13)。
このようにして、PTTスイッチ23押され、CD再生/CD再生停止が発話で要求されると、対話制御部25はDBMS24にSQL言語命令を繰り返してデータベース部22に記憶された動作の情報を動作遷移情報の示す順に読み出して音声認識部21に対する音声認識指示、発話部20に対する発話指示、車載オーディオ装置10cに対するCD再生/CD再生停止の操作指示の組み合わせから成る対話動作をCDに関する所定のシナリオに沿って実行し、ユーザにCD再生またはCD再生停止の意思確認をしながらユーザ所望の制御をする。
【0038】
(11)ラジオのオンオフ
CDの場合と同様にしてユーザがPTTスイッチ23を押して「ラジオをつけて」、「ラジオを聞きたい」などと発話するか、対話制御部25の側から「ラジオを聞きませんか」の提案に対し「うん」、「はい」と回答することで車載オーディオ装置10bに対しラジオのオン操作ができ、PTTスイッチ23を押して「ラジオを消して」と発話することで車載オーディオ装置10bに対しラジオのオフ操作ができる。
例えば、本日のCD再生回数が5になったあと、PTTスイッチ23を押して「CDを再生して」と話したため、対話制御部25から「ラジオを聞きませんか」の発話の提案がされたとき(図18のステップS47)、対話制御部25は発話に対応付けられた動作遷移情報(2,24)に基づき、音声認識部21に<はい>、<うん>、<いいえ>、<いや>を認識対象語彙として音声認識させる(図15のステップS14、S15、S12、S13)。ユーザが「はい」と回答すると、音声認識部21は音声認識した<はい>を対話制御部25に出力し、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する(図18のステップS48)。そして、今回の音声認識に動作遷移情報(2,25)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル50のID=25のレコードの示す動作情報の内容を読み出す。結果はテーブル名test2-JUDGE のファンクションテーブル53のID=6のレコードの示すテーブル名tbl-Inp の一時記憶テーブル25BのID=1のINPUT の内容が<はい>または<うん>かの判断なので、一時記憶したテーブルデータを参照して判断する(図15のステップS14、S15、S12、S13)。若しNOであればFALSEの動作遷移情報が(2,26)なので、更に、テーブル名tbl-Inp の一時記憶テーブル25BのID=1のINPUT の内容が<いいえ>または<いや>か判断し、YESであればCDの再生指示に移行するが、ここではYESとなるのでTRUEの動作遷移情報(2,17)を次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル40のID=17のレコードの示す動作情報の内容を読み出す(図15のステップS14、S15、S12)。結果はテーブル名test2-OPERのファンクションテーブル54のID=3のレコードの示すラジオオンなので、車載オーディオ装置10bのアプリケーションプログラム(AP)に対しファンクション=OPERと処理内容データ(ラジオオン)を与えてラジオオンを指示し(図15のステップS13)、続いて「ラジオをつけました」を発話させる(図18のステップS49、S50)。
【0039】
(12)目的地への経路案内
ユーザが近くのガソリンスタンドを探して経路案内をさせたい場合、PTTスイッチ23を押すと、前述と同じ語彙群の音声認識が音声認識部21に指示される(図15のステップS16、S17、S12、S13)。ユーザが「ガソリンスタンドを探して」と発話し音声認識部21から「ガソリンスタンドを探して」が入力されると、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する(図19のステップS60)。そして、<ガソリンスタンドを探して>に動作遷移情報(3,1)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル60のID=1のレコードの示す動作情報を読み出す。結果は<ガソリンスタンドを探しますか>の発話なので、発話部20に<ガソリンスタンドを探しますか>の発話を指示する(図15のステップS14、S15、S12、S13、図19のステップS61)。発話に対応付けられた動作遷移情報が動作要求(3,2)なので、SQL言語による検索命令を発してシナリオテーブル60のID=2のレコードの示す動作の情報を読み出す。結果は<はい>、<うん>の音声認識なので、音声認識部21に対し上記の各語彙を音声認識対象語彙として設定して音声認識を指示する(図15のステップS14、S15、S12、S13)。
【0040】
ユーザが「うん」と発話すると、音声認識部21は音声認識を行い、結果を対話制御部25に出力し、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する(図19のステップS62)。そして、今回の音声認識語彙に動作遷移情報(3,3)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル60のID=3のレコードの示す動作情報の内容を読み出す。結果はテーブル名test3-JUDGE のファンクションテーブル53のID=3のレコードの示すテーブル名tbl-Inp の一時記憶テーブル25BのID=1のINPUT の内容が<はい>または<うん>かの判断なので、一時記憶したテーブルデータを参照して判断する( 図15のステップS14、S15、S12、S13)。若しNOであればFALSEの動作遷移情報がNULLで存在しないので、一旦対話動作を終るが、ここではYESとなるのでTRUEの動作遷移情報(3,4)を次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル60のID=4のレコードの示す動作情報の内容を読み出す。結果はテーブル名test3-OPERのファンクションテーブル64のID=1のレコードの示すガソリンスタンド検索操作なので、車載ナビゲーション装置10cのアプリケーションプログラム(AP)に対しファンクション=OPERと処理内容データ(ガソリンスタンド検索)を与えてガソリンスタンドの検索を指示する(図15のステップS13、図19のステップS63)。
【0041】
該指示を受けた車載ナビゲーション装置10cのアプリケーションプログラム(AP)は地図情報に付属する索引情報から最寄のガソリンスタンドを1つ検索し、地図画像上にガソリンスタンドマークを表示するとともに、検索成功を対話制御部25に通知する。対話制御部25は、内蔵メモリ25Aの一時記憶テーブル25BのID=2のINPUT として一時記憶し、今回の操作指示に対応付けられた動作遷移情報が(3,5)なので、DBMS24にSQL言語による検索命令を発してシナリオテーブル60のID=5のレコードの示す動作情報を読み出す。結果は検索成功かの判断なので、一時記憶したデータからYESと判断する(図15のステップS14、S15、S12、S13、図18のステップS64)。若し、検索失敗であれば、NOと判断しFALSEの動作遷移情報(3,7)に従い、<検索できませんでした>の発話を指示する(図18のステップS65)。TRUEの動作遷移情報が(3,6)なので、DBMS24にSQL言語による検索命令を発してシナリオテーブル60のID=6のレコードの示す動作情報を読み出す。結果は<ここでよろしいですか>の発話なので、発話部20に対し<ここでよろしいですか>の発話を指示する(図15のステップS14、S15、S12、S13、図18のステップS65)。発話の動作遷移情報が(3,8)なので、DBMS24にSQL言語による検索命令を発してシナリオテーブル60のID=8のレコードの示す動作情報を読み出す。結果は<はい>、<うん>の音声認識なので、音声認識部21に対し上記の各語彙の音声認識を指示する(図15のステップS14、S15、S12、S13)。
【0042】
ユーザが「うん」と発話し、音声認識部21から<うん>が対話制御部25に入力されると、対話制御部25は認識結果語彙を内蔵メモリ25Aの一時記憶テーブル25B(テーブル名tbl-Inp )のID=1のレコードのデータフィルード(INPUT) に一時記憶する(図18のステップS67)。そして、今回の音声認識語彙に動作遷移情報(3,9)があるので、それを次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル60のID=9のレコードの示す動作情報の内容を読み出す。結果はテーブル名test3-JUDGE のファンクションテーブル53のID=3のレコードの示すテーブル名tbl-Inp の一時記憶テーブル25BのID=1のINPUT の内容が<はい>または<うん>かの判断なので、一時記憶したテーブルデータを参照して判断する(図15のステップS14、S15、S12、S13)。若しNOであればFALSEの動作遷移情報がNULLで存在しないので、一旦対話動作を終るが、ここではYESとなるのでTRUEの動作遷移情報(3,10)を次の動作要求IDとし、DBMS24に対しSQL言語による検索命令を繰り返してシナリオテーブル60のID=10のレコードの示す動作情報の内容を読み出す。結果はテーブル名test3-OPERのファンクションテーブル54のID=2のレコードの示す<経路探索・経路案内>の操作指示なので、車載用ナビゲーション装置10cのアプリケーションプログラム(AP)に対しファンクション=OPERと処理内容データ(経路探索・経路案内)を与えて今回検索したガソリンスタンドを目的地とする経路探索・経路案内を指示する(図15のステップS14、S15、S12、S13、図18のステップS68)。車載用ナビゲーション装置10cのアプリケーションプログラム(AP)は地図情報を用いて現在地から目的地までを結ぶ最適な経路を探索する。
【0043】
探索に成功すれば地図画像上に自車位置マークとともに最適経路を表示し、検索成功を対話制御部25に通知する。対話制御部25は、内蔵メモリ25Aの一時記憶テーブル25BのID=2のINPUT として一時記憶し、今回の操作指示に対応付けられた動作遷移情報が(3,11)なので、DBMS24にSQL言語による検索命令を発してシナリオテーブル60のID=11のレコードの示す動作情報を読み出す。結果は探索成功かの判断なので、一時記憶したデータからYESと判断する(図15のステップS14、S15、S12、S13、図19のステップS69)。TRUEの動作遷移情報が(3,12)なので、DBMS24にSQL言語による検索命令を発してシナリオテーブル60のID=12のレコードの示す動作情報を読み出す。結果は<経路を案内します>の発話なので、発話部20に対し<経路を案内します>の発話を指示する(図15のステップS14、S15、S12、S13、図19のステップS70)。若し、探索失敗であれば、NOと判断しFALSEの動作遷移情報(3,13)に従い、<経路探索をできません>の発話を指示する(図15のステップS14、S15、S12、S13、図19のステップS71)。
【0044】
このようにして、PTTスイッチ23押され、ガソリンスタンドの検索が発話で要求されると、対話制御部25はDBMS24にSQL言語命令を繰り返してデータベース部22に記憶された動作の情報を動作遷移情報の示す順に読み出して音声認識部21に対する音声認識指示、発話部20に対する発話指示、車載ナビゲーション装置10cに対するガソリンスタンドの検索/経路探索・経路案内の操作指示の組み合わせから成る対話動作をナビゲーション装置に関する所定のシナリオに沿って実行し、ユーザにガソリンスタンド検索/経路探索・経路案内の意思確認をしながらユーザ所望の制御をする。
なお、シナリオテーブル60、ファンクションテーブル61〜64では省略されているが、ユーザがPTTスイッチ23を押し、「駐車場を探して」と発話すれば、車載ナビゲーション装置10cに最寄りの駐車場の検索と経路探索・経路案内をさせることもできる。
【0045】
この実施例によれば、発話部20による発話、音声認識部21による音声認識、DBMS部24による学習データの更新、対話制御部25による所定の学習データまたはユーザ入力に対する判断と車載エアコン装置10a、車載オーディオ装置10b、車載ナビゲーション装置10cに対する機器操作(機器制御)を組み合わせた対話動作手順の各動作の機能、動作に用いる各種データ(発話テキスト、音声認識語彙、学習データ等)、対話動作手順に応じた動作遷移情報を対応付けてデータベース部22に記憶したので、対話制御部25の対話処理に必要な情報をデータベース部22により一括して管理できる。
データベース部22では、全体の対話動作手順の各動作の情報を、シナリオ毎(互いに関連する動作毎,ここでは操作対象機器毎)にグループ分けし、複数のシナリオテーブル40、50、60、70により管理したので、シナリオの追加、削除、変更等を簡単に行なえる。更に、各シナリオテーブルに含まれる動作情報を同種の機能毎にまとめたファンクションテーブル41〜45、51〜55、61〜64、71により管理するので、機能単位での追加、変更、削除も容易に行なえる。
また、SQL言語の命令を受けて、データベース部22に対し検索、更新等のデータ操作を行なうDBMS24を備えたので、対話制御部25はSQL言語による命令を作成してDBMS24に発行することで、データベース部22の情報へのアクセスを形式的に実行でき、処理負担が軽減する。
また、データベース部22に学習データテーブル31を格納するとともに、DBMS24により、学習データの更新を行なわせたことによっても、情報管理と処理の簡単化を実現できる。
【0046】
なお、上記した実施例では、DBMS24による更新動作として、学習データテーブル中のデータ更新を例に挙げたが、学習データまたはユーザ入力に対する判断の結果、シナリオテーブル等に格納された動作遷移情報を変更する動作を対話動作手順に含めても良い。これにより対話の流れによって、シナリオを変更することができ、対話する度に、会話の内容が変更するシナリオを実現できる。
また、データベース部22では、1つのシナリオの対話動作手順の各動作について、シナリオテーブルとファンクションテーブルに分けて管理したが、分けずに1つのテーブルで管理するようにしても良い。
【産業上の利用可能性】
【0047】
本発明は、自動車、家庭、オフィス等で各種の対話処理を行なう対話システムに適用できる。
【図面の簡単な説明】
【0048】
【図1】従来の対話システムの構成例を示すブロック図である。
【図2】本発明の第1実施例に係る自動車用対話システムの構成を示すブロック図である(実施例1)。
【図3】データベース部に記憶された動作情報の説明図である。
【図4】辞書テーブルの記憶内容の説明図である。
【図5】辞書テーブルの記憶内容の説明図である。
【図6】学習データテーブルの記憶内容の説明図である。
【図7】車載エアコン装置に関する動作情報の説明図である。
【図8】車載エアコン装置に関する動作情報の説明図である。
【図9】車載オーディオ装置に関する動作情報の説明図である。
【図10】車載オーディオ装置に関する動作情報の説明図である。
【図11】車載ナビゲーション装置に関する動作情報の説明図である。
【図12】車載ナビゲーション装置に関する動作情報の説明図である。
【図13】車載ナビゲーション装置に関する動作情報の説明図である。
【図14】システム全体に関する動作情報の説明図である。
【図15】対話制御部による対話処理を示すフローチャートである。
【図16】車室温度を更新する場合の対話動作手順の一例を示す説明図である。
【図17】ユーザがエアコンオンを要求した場合の対話動作手順の一例を示す説明図である。
【図18】ユーザがCD再生を要求した場合の対話動作手順の一例を示す説明図である。
【図19】ユーザがガソリンスタンドの検索を要求した場合の対話動作手順の一例を示す説明図である。
【符号の説明】
【0049】
10a 車載エアコン装置
10b 車載オーディオ装置
10c 車載ナビゲーション装置
11 温度センサ
20 発話部
21 音声認識部
22 データベース部
23 PTTスイッチ
24 データベースマネジメントシステム部(DBMS)
25 対話制御部
25A 内蔵メモリ
25B 一時記憶テーブル
30 辞書テーブル
31 学習データテーブル
40、50、60、70 シナリオテーブル
41〜45、51〜55、61〜64、71 ファンクションテーブル

【特許請求の範囲】
【請求項1】
ユーザに対し発話を行なう発話部と、
ユーザの発話の音声認識を行なう音声認識部と、
対話による1または複数の操作対象機器部と、
発話、音声認識、ユーザの対話入力に対する判断、機器操作を組み合わせた対話動作手順の各動作の機能と動作に用いる各種データ、対話動作手順に応じた遷移情報を対応付けて記憶したデータベース部と、
データベース言語による要求に従い、データベース部に対するデータ操作を行うデータベースマネジメントシステム部と、
データベースマネジメントシステム部へのデータベース言語を用いた要求により、データベース部から遷移情報の示す順で次の動作に必要な情報を読み出させ、該読み出させた情報に応じてユーザの対話入力に対する判断、発話部に対する発話指示、音声認識部に対する音声認識指示、操作対象機器部に対する操作指示を実行する対話制御部と、
を備えたことを特徴とする対話システム。
【請求項2】
データベース部は、
発話動作で用いるテキストと音声認識動作で用いる認識対象語彙を合わせた辞書テーブルを備えたこと、
を特徴とする請求項1記載の対話システム。
【請求項3】
データベース部は、
対話動作上、互いに関連する動作の情報をグループ分けして管理したこと、
を特徴とする請求項1または2記載の対話システム。
【請求項4】
データベース部は、
対話動作上、互いに関連する動作の情報をグループ分けし、かつ同じグループ内の同種の動作の情報をサブグループ分けして管理したこと、
を特徴とする請求項1または2または3記載の対話システム。
【請求項5】
互いに関連する動作は、同じ操作対象機器部に対する動作であること、
を特徴とする請求項3または4記載の対話システム。
【請求項6】
対話動作手順に、学習と学習内容に対する判断を含めたこと、
を特徴とする請求項1記載の対話システム。
【請求項7】
対話動作手順に、動作遷移情報の変更を含めたこと、
を特徴とする請求項1または6記載の対話システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2009−244815(P2009−244815A)
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【出願番号】特願2008−94391(P2008−94391)
【出願日】平成20年3月31日(2008.3.31)
【出願人】(000003595)株式会社ケンウッド (1,981)
【Fターム(参考)】