(57)【要約】【課題】  一般に電子機械装置などの対応・対処機能は，コンピュータ上のアプリケーションとして個別の専用製品として開発されていて固定的である．また，人とのインタフェースは表示画面とキーボードまたはタッチパネルなどが使われ，特にテキスト入力は煩わしい．【解決手段】  本考案は，状況に応じた「振る舞いを決めるシナリオ」を導入し，人が電子機械装置を使う際に，主として音声対話で情報伝達する機能と，シナリオを解釈する機能を汎用モジュールとしてアプリケーションから分離した．シナリオは，ユーザが作成してデータとして与えることができ，複数の中から動的に選べ，変更もコンパイルなどの手間が要らないようにした．その結果，本装置単独で，または他の装置と共に用いて，状況に対応する知能を持ち音声で対話する情報伝達装置をいろいろな応用分野で使えるようになる．【選択図】図１
2007140419.tif 000002
【特許請求の範囲】
【請求項１】
音声言語により人と対話的にコミュニケーションする機能と，その応答と対処などの振る舞いを決めるシナリオと，シナリオを解釈する機能（シナリオ・インタプリタ）をもつ情報伝達装置で，入力情報に対する応答・処理は予め作られたシナリオに沿って対応するようにし，シナリオには入力内容と状況に応じてシナリオの流れを変えられるロジックを持て，シナリオ・インタプリタにはそのロジックを解釈できる機能を実装することにより，単純な応答だけではなく，人の発話内容や状況に対応して振る舞いを変えられる知能を持つ情報伝達装置．
【請求項２】
上記音声言語により人と対話的にコミュニケーションする機能と，電気信号や通信線を介した伝達情報により電子機械装置とコミュニケーションする機能とで，その振る舞いを決めるシナリオの様々な内部処理インタフェースを抽象化・統一化したことにより，対人情報と対装置情報とを同一のシナリオ・インタプリタで扱えるようにした情報伝達装置．
【請求項３】
オペレータを個別認証し，その結果に応じて，予め作られた各々に合ったシナリオを切り替えて使えるようにし，スキル（知識レベル，言語など）に応じて個別対応ができるようにした情報伝達装置．
【請求項４】
上記シナリオは，ユーザがテキスト・スクリプトとして任意のテキスト・エディタで作成でき，特殊なツールや特殊なスキルを使わずに，データとして与えることにより，その振る舞いを創出できるようにした情報伝達装置．
【請求項５】
上記シナリオをユーザがさらに簡単に作れるように，表形式またはＧＵＩ形式でシナリオを定義できる，オフラインのシナリオエディタも別に用意した情報伝達装置．
【請求項６】
上記情報伝達方法の何れか，または全てを，その内部に組み込んだ電子・電気・機械装置．
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は，「対話型情報伝達」機能と「状況対応知能」機構がアプリケーションと伴にパッケージ化した対話型情報伝達装置に関するものである．
【背景技術】
【０００２】  一般にロボットなどの電子機械装置は，それを使う人とのマン・マシン・インタフェースとその振る舞いを規定する内部ロジックをもった一体の専用製品として存在しており，又類似の機能は一般のＰＣ，あるいは産業用ＰＣ上のアプリケーションとして個別に開発されていて，「対話型情報伝達」機能と「状況対応知能」機構がアプリケーションから分離したパッケージとして存在していなかった．【０００３】  人とのインタフェースは，ＰＣの表示画面とキーボードまたはタッチパネルなどが使われ，特にテキスト入力は煩わしく，又振る舞いを決めるシナリオも予め決められている固定的なものでユーザーがシナリオを変えるには，コンパイルなどの手間がかかり，いわゆるプログラマの専門スキルが必要であった．
【特許文献１】特開２００４−２８７０１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】  いわゆるロボットから，「対話型情報伝達」機能と「状況対応知能」機構を分離独立させて，抽象化・汎用化を図り，あらゆる応用装置に適用できるようにした．【０００５】  人とのインタフェースは，ワイヤレス・ヘッドセットによる音声応答を採用したので，オペレータが装置を手ぶらで操作できるようにした．併せて，環境騒音にも強くなった．【０００６】  オペレータを個別認証し，各々に合ったシナリオを切り替えて使えるようにし，スキル（知識レベル，言語など）に応じた個別対応ができるようにした．【０００７】  入力情報に対する応答・処理はシナリオに沿って対応するようにし，シナリオには状況判断できるロジックと，解釈機構を実装したので，単純な応答だけはなく，知能を持った状況に応じた判断・対処ができるようになった．【０００８】  入力は人の音声だけでなく，外部の信号や通信線を介した情報も取り入れられるようにし，外部機械装置ともインタフェースを持てるようにした．【０００９】  様々な入力の内部処理インタフェースを抽象化・統一化したことにより，対人情報と対装置情報も同一のシナリオ解釈機構で扱えるようにした．【００１０】  ユーザーが，シナリオをテキスト・スクリプトで自由に作って，コンパイルを要さず使えるようにした．【００１１】  ユーザがシナリオをさらに簡単に作れるように，別にオフラインのシナリオエディタも用意した．
【発明の効果】
【００１２】  一般にロボットなどの電子機械装置は，それを使う人とのマン・マシン・インタフェースとその振る舞いを規定する内部ロジックをもった一体の専用製品として存在している．本発明は，人が電子機械装置を使う際に，主として音声言語により対話的にコミュニケーションする機能と，その振る舞いを決めるシナリオを解釈する機能を取り出してパッケージ化した．【００１３】  またシナリオは，ユーザが自由に作成してデータとして与えることができるようにした．
その結果，本発明を採用することにより，本装置単独で，または他の装置と共に用いて，自然語で対話する知能を持ったコミュニケーション・メディアを様々な応用分野で使えるようになる．
【発明を実施するための最良の形態】
【００１４】  本装置が，製造装置などの運用・保守オペレータ向けに，主に音声ガイド機能を目的に使われる状況を想定して説明する．【００１５】  ハードウエアの構成について、本装置のハードウエア構成は図３に示すとおり，ＣＰＵボード３００と周辺機器で構成される一般的な（または，組み込み型の）コンピュータ・システムである．
対人インタフェースは，スピーカとマイク機能を持つワイヤレス・ヘッドセット３１０，補助的に使われる小さな表示画面３１１，個人特定用の指紋認証装置３０８，対外部装置のシグナルを授受するインタフェース３０６，ユーザ・シナリオ，ユーザ・データ３０１，３０２を読み書きするための着脱可能な補助記憶３０４（ＵＳＢ３０３接続のメモリ）などである．また，一般的なキーボード３０７やＬＡＮインタフェース３０５なども持ち得る．【００１６】  ソフトウエアの構成について、本装置のソフトウエア構成は図２に示すように，任意のＯＳ２０７の基に，各インタフェース毎に固有の入力情報からリクエストＩＤへの入力変換モジュール２００，シナリオ・インタプリタ２０２，レスポンスＩＤから各インタフェースに固有の出力情報への出力変換モジュール２０５，処理機能別のプロセス・モジュール群２０４，とそれらを統合的に制御するスケジューラ２０６からなる．
シナリオテーブル２０３は，プロセス・スクリプト２１０，ＵＳＢ３０３，接続のメモリから読み込まれる．また，処理手順はコンパイル済みのプロセス・モジュールは２０４として存在する形態と，スクリプト言語で書かれたプロセス・スクリプト２１０をスクリプトインタプリタ２０９で逐次翻訳実行する形態がある．【００１７】  シナリオについて、基本的には，システムの状態がリクエストに応じて対処していく状態遷移機能として定義される．シナリオは以下のテーブル群から構成される．【００１８】  リクエスト・テーブル（Ｑテーブル）について，テーブルを構成するレコードは，入力テキストとＱＩＤの対応表，例えば，Ｑｘｘｘ，入力テキストΔ（Δは改行）である．【００１９】  レスポンス・テーブル（Ｒテーブル）について，テーブルを構成するレコードは，出力テキストとＲＩＤの対応表，例えば，Ｒｘｘｘ，出力テキストΔである．【００２０】  シナリオ・テーブル（ＰＱＲＳテーブル）について，テーブルを構成するレコードは，シナリオの現ステート（ＳＩＤ）と上記ＱＩＤに対応するアクションの対応表．アクションはプロセス（ＰＩＤ），レスポンス（ＲＩＤ）と遷移する次ステート（ＳＩＤ）から成る．例えば，Ｓｘｘｘ，Ｑｘｘｘ，Ｐｘｘｘ，Ｒｘｘｘ，ＳｙｙｙΔである．【００２１】  プロセス・テーブル（Ｐテーブル）について，テーブルを構成するレコードは，上記ＰＩＤと処理ルーチンの対応表，例えば，Ｐｘｘｘ，処理関数モジュール名Δである．【００２２】  処理の流れについて、シナリオ・インタプリタの流れを図１に示し，処理の基本的な流れを説明する．【００２３】  オペレータが発話した応答・指示内容は、音声認識モジュールにより認識されテキストに変換された後，Ｑテーブルを参照してテキストからＱＩＤを得，リクエスト・キュー１０９に入れられ，シナリオ・インタプリタに渡される．【００２４】  シナリオ・インタプリタは，リクエスト・キュー１０９からＱＩＤを取り出し，シナリオのＰＱＲＳテーブル１１１を参照してその対応を決める．【００２５】  先ずシステムの現ステート（Ｓｍｍｍ）１１０と一致する現ＳＩＤフィールドを持つレコードを探し１０１，見つかれば，当該ＱＩＤでＱＩＤフィールドを検索し１０２，合致したときはそのレコードに指定されたＰＩＤがあればその処理を実行（１０３，１１２）した後，指定されたＲＩＤでＲテーブルを参照して対応するテキストを得１０４，発話モジュールで音声出力する１０７．【００２６】  指定されたＤＩＤでＤテーブルを参照して対応するテキストを得６，表示モジュールで表示出力する１０８．【００２７】  次に，同じく指定されたＳＩＤ（Ｓｎｎｎ）でシステムの現ステートを更新し，遷移させる１０６．以下，これを繰り返す．【００２８】  シナリオと処理のいくつかの詳細について，入力が外部信号であれば，該当する入力変換モジュールが信号を解釈し同じようにＱＩＤが付与される．この抽象化により様々な入力を，将来にわたって唯一のシナリオ解釈モジュールにより統一的に扱える．【００２９】  入力情報が可変テキストなどで，Ｑテーブルのテキスト・フィールドに存在しない場合を想定し，その場合は特別に設けられたＱＩＤと共にテキストもリクエスト・キューに入れて，後工程で判断処理できるようにしている．【００３０】  リクエストの渡し方はキュー・メカニズムでもイベント・ドリブン・メカニズムでもよい．【００３１】  ＰＱＲＳテーブルは，ＳＩＤを第１キー，ＱＩＤを第２キーとしてソートされるのが一般的だが，レコードの大きさなどにより別の方法が採用されることもある．【００３２】  あるＱＩＤが現ステートの如何に拘わらず扱えるように，ＰＱＲＳテーブルの現ＳＩＤフィールドには特別なコード（例えば？文字）が設けられている．【００３３】  ＰＱＲＳテーブルには，リクエストがどのレコードにもヒットしない場合の対処も定義できる．【００３４】  ステートが遷移せず現ステートに留まるシナリオを想定して，次ＳＩＤフィールドには特別なコード（例えば＝文字）が設けられている．【００３５】  出力メディアが標準的に音声と表示を持つ場合は，ＰＱＲＳテーブルの構成を次のようにＳｘｘｘ，Ｑｘｘｘ，Ｐｘｘｘ，Ｒｘｘｘ，Ｄｘｘｘ，ＳｙｙｙΔとしてもよい．
それに応じて必要なら，表示用にＤテーブルを追加する．
テーブルを構成するレコードは，出力テキストとＤＩＤの対応表，例えば，Ｄｘｘｘ，表示出力テキストΔとしてもよい．【００３６】  将来への拡張性を考慮すれば，ＰＱＲＳを次のように２つに分ける方法もある．ＰＱＲＳテーブルは，Ｓｘｘｘ，Ｑｘｘｘ，ＡｘｘｘΔ、それに応じてアクション用にＡテーブルを追加する．ＡｘｘｘはアクションＩＤ（ＡＩＤ）．テーブルを構成するレコードは，アクションの詳細とＡＩＤの対応表，例えば，Ａｘｘｘ，Ｐｘｘｘ，Ｒｘｘｘ，Ｄｘｘｘ，ＳｙｙｙΔとしてもよい．【００３７】  個人認証とシナリオ・テーブルについて，シナリオ・テーブルはシナリオの数だけあり，個人認証の結果でどのシナリオを使うかが決まり，該当するテーブルがロードまたはスイッチ選択される．そのために，認証ＩＤ（ＵＩＤ）とシナリオ・テーブルの対応表が用意されている（図２の２０８）．例えば，ＵＩＤ，シナリオ・テーブル名（ファイル名）Δとしてもよい．【００３８】  処理の例について、対人，対外部装置とのコミュニケーションの状況に応じて様々な処理が必要になる場合があると考えられ，これらは個々に異なるアプリケーションの一部と考えられる．例えば入力情報の蓄積，後刻の問い合わせに対する検索・出力などが考えられる．これらの処理はプロセス・ルーチン（図１の１１２）で実現されることになる．個々のアプリケーションに特有なものはアプリケーションとして開発する必要がある．【００３９】  それらの内で比較的に簡単なものは，ユーザがスクリプト言語で処理手順を記述し，使うことができる．（図２の２１０）【００４０】  アプリケーションに共通な機能は，予め作られ本装置に組み込まれる，
【産業上の利用可能性】
【００４１】  製造現場，商業施設，一般家庭などで人と電子機械装置がコミュニケーションをとる様々な状況での使用に適用できる．例えば，受付での応対，地震発生時，出火時などのトラブル対処方法を音声でガイダンス，対高齢者，対障害者，対外国人就労者などとのコミュニケーション補助エイドとして，などが考えられる．
【図面の簡単な説明】
【００４２】
【図１】    シナリオ解釈の流れ
【図２】    ソフトウエアの構成
【図３】    ハードウエアの構成
【符号の説明】
【００４３】１００  リクエストキューからＱＩＤを取り出し
１０１  現ＳＩＤでＰＱＲＳの現ＳＩＤを検索
１０２  当該ＱＩＤでＰＱＲＳのＱＩＤを検索
１０３  当該ＰＩＤを得てプロセスを呼び出し
１０４  当該ＲＩＤを得て発話ルーチンを呼び出し
１０５  当該ＤＩＤを得て表示ルーチンを呼び出し
１０６  次ＳＩＤを得てステートを更新
１０７  当該ＲＩＤのテキストを得て発話
１０８  当該ＤＩＤのテキストを得て表示
１０９  リクエストキュー
１１０  現ステート
１１１  シナリオテーブル
１１２  プロセスルーチン
１１３  スケジューラ
２００  入力変換モジュール
２０１  リクエストキュー
２０２  シナリオ・インタプリタ
２０３  シナリオ・テーブル
２０４  プロセス・モジュール
２０５  出力変換モジュール
２０６  スケジューラ
２０７  オペレーティングシステム
２０８  ユーザＩＤテーブル
２０９  スクリプトインタプリタ
２１０  プロセス・スクリプト
３００  ＣＰＵボード
３０１  ＲＡＭメモリ
３０２  ＲＯＭストレッジ
３０３  ＵＳＢ
３０４  着脱可能メモリー
３０５  ＬＡＮ
３０６  外部信号Ｉ／Ｏ
３０７  ＫＢＤ（キーボード）
３０８  指紋認証装置
３０９  無線Ｉ／Ｏ
３１０  ワイヤレス・ヘッドセット
３１１  ＬＣＤ表示装置
【図１】
2007140419.tif 000003
【図２】
2007140419.tif 000004
【図３】
2007140419.tif 000005