(57)【要約】  【課題】ユーザの要求に基づいて機器やコンピュータプログラムの操作を代行する自然言語対話システムに必要となる対話シナリオを効率的に作成する。  【解決手段】機器やコンピュータプログラムの機能や操作方法が自然言語により記述されている文書から対話シナリオを構築する。まず，文書項目抽出部１０６で，あらかじめ定められたルールに従って，文書から対象とする項目のみを抽出する。次に，抽出項目分析部１０８で，対象とする文書に特有の表現ルールに従って，抽出した項目の内容を分析し，必要な情報を抽出する。抽出した情報に対応するコマンドやパラメータを開発者から取得し，対話シナリオ生成部１１０で，文書から抽出した情報と開発者から取得した情報および，あらかじめ用意されたルールに基づいて，対話シナリオを生成する。【選択図】図１
2008145769.tif 000002
【特許請求の範囲】
【請求項１】
自然言語によってユーザと対話を行い，ユーザからの要求に基づいて操作対象となる機器やコンピュータプログラムの操作を代行する自然言語対話システムに必要となる対話シナリオを生成する対話シナリオ生成システムであって，
前記操作対象が有する機能や操作方法を自然言語により記述した操作対象関連文書を格納する文書格納部と，
前記操作対象関連文書の構造を解析するために必要となるルールである文書構造解析ルールを格納する文書構造解析ルール格納部と，
前記文書構造解析ルールに基づいて前記操作対象関連文書の構造を解析し，必要な項目を前記操作対象関連文書から選択する文書項目抽出部と，
選択された前記項目の内容から，ユーザとの対話において必要となる情報を抽出するためのルールである表現解析ルールを格納する表現解析ルール格納部と，
選択された前記項目を前記表現解析ルールに基づいて解析し，前記ユーザとの対話において必要となる情報を抽出する抽出項目分析部と，
前記対話シナリオを生成するためのルールである対話シナリオ生成ルールを格納する対話シナリオ生成ルール格納部と，
前記自然言語対話システムの開発者に対して情報入力を促すと共に，前記開発者からの情報を取得するための情報入出力部と，
前記抽出項目分析部において抽出された情報と，前記対話シナリオ生成ルール，および前記開発者から取得した情報とに基づいて，前記対話シナリオを生成する対話シナリオ生成部と，
を有する対話シナリオ生成システム。
【請求項２】
請求項１記載の対話シナリオ生成システムにおいて，
前記文書構造解析ルールは，
章や節の先頭に記述されている見出し，
箇条書きされている項目，
操作手順が記述された項目，
の内のいずれか一つ以上の，前記操作対象関連文書中におけるフォーマットに関する情報と項目間の階層関係に関する情報を含み，
前記文書項目抽出部は，前記操作対象関連文書中から，前記フォーマットに該当する項目と前記操作対象関連文書中における項目間の階層関係とを合わせて抽出する
対話シナリオ生成システム。
【請求項３】
請求項１記載の対話シナリオ生成システムにおいて，
前記表現解析ルールは，
どのような操作を行うか（操作内容）を表す表現を抽出する操作内容抽出ルール，
操作を実行するための前提条件（実行条件）となる表現を抽出するための条件抽出ルール，
操作の種類を判定するための操作種類判定ルール，
何に対して操作を行うか（操作対象）を示す表現を抽出するための操作対象抽出ルール，
複数の操作対象が選択肢となっている場合に選択肢を抽出するための選択肢抽出ルール，
の内のいずれか一つ以上を含み，
前記抽出項目分析部は，前記表現解析ルールに基づいて，前記文書項目抽出部から抽出された項目から，
実行条件の抽出，
操作内容の抽出，
操作対象の抽出，
選択肢の抽出，
操作の種類の判定，
の内のいずれか一つ以上を行う
対話シナリオ生成システム。
【請求項４】
請求項１記載の対話シナリオ生成システムにおいて，
前記対話シナリオ生成ルールは，
前記自然言語対話システムからユーザに対して質問や確認，説明等を行うためのメッセージである応答文を生成するためのルール，
ユーザと前記自然言語対話システムとの対話におけるやり取りの単位である対話ステップを生成，修正および追加するためのルール，
ユーザから入力される音声を認識するための情報である音声認識用文法を生成するためのルール，
の内のいずれか一つ以上を含み，
前記対話シナリオ生成部は，前記対話シナリオ生成ルールと，前記開発者から取得した情報とに基づいて，前記抽出項目分析部における処理の結果から，
応答文の生成，
対話ステップの生成，修正および追加，
音声認識用文法の生成，
の内のいずれか一つ以上を行う
対話シナリオ生成システム。
【請求項５】
請求項１記載の対話シナリオ生成システムにおいて，
前記対話シナリオ生成部は，前記対話シナリオとして，
ユーザからの要求に基づいて，前記操作対象の操作を代行するための対話シナリオ，
ユーザからの要求に基づいて，前記操作対象が実行可能な機能をユーザに提示するための対話シナリオ，
ユーザからの要求に基づいて，前記操作対象の実行方法をユーザに教示するための対話シナリオ，
の内のいずれか一つ以上を生成する
対話シナリオ生成システム。
【請求項６】
請求項４記載の対話シナリオ生成システムにおいて，
前記対話シナリオ生成部は，
前記抽出項目分析部における処理の結果得られる情報を前記開発者に提示し，提示された情報に対して前記開発者が，前記情報入出力部から入力した，前記操作対象が実行するコマンドを前記対話シナリオ中に登録する，
前記抽出項目分析部における処理の結果得られる情報と，前記操作対象が実行するコマンドとの対応関係を表す情報をあらかじめ格納し，前記対応関係を表す情報と前記抽出項目分析部における処理の結果得られる情報とから，コマンドを前記対話シナリオ中に登録する，
の内のいずれか一つ以上を行う
対話シナリオ生成システム。
【請求項７】
請求項４記載の対話シナリオ生成システムにおいて，
前記対話シナリオ生成部は，
前記操作対象となる機器やコンピュータプログラム，
ネットワーク上に設置されているサーバやファイルシステム，
の内いずれか一つ以上を用いて，前記操作対象が実行可能なコマンドやパラメータに関する情報を取得し，取得した当該情報を用いて前記対話シナリオを生成する
対話シナリオ生成システム。
【請求項８】
情報処理部と情報記憶部と情報入出力部とを有し，自然言語によるユーザからの要求に基づいて操作対象となる機器や他のコンピュータプログラムの操作を代行する自然言語対話システムに用いる対話シナリオを生成するシステムにおける対話シナリオ生成方法であって，
前記情報処理部が，
前記情報記憶部に記憶された，前記操作対象が有する機能や操作方法を自然言語により記述した操作対象関連文書と，前記操作対象関連文書の構造を解析するための文書構造解析ルールと，前記操作対象関連文書から選択した項目の内容からユーザとの対話において必要となる情報を抽出するための表現解析ルールと，前記対話シナリオを生成するための対話シナリオ生成ルールとを用い，
前記文書構造解析ルールに基づいて前記操作対象関連文書の構造を解析し，前記操作対象関連文書から必要な項目を選択し，
選択された前記項目を前記表現解析ルールに基づいて解析し，前記ユーザとの対話において必要となる情報を抽出し，
前記情報入出力部を用いて，前記自然言語対話システムの開発者に対して情報入力を促し，前記開発者から情報を取得し，
前記抽出された情報と，前記開発者から取得した情報および前記対話シナリオ生成ルールとに基づいて，前記対話シナリオを生成する
対話シナリオ生成方法。
【請求項９】
請求項８記載の対話シナリオ生成方法において，
前記文書構造解析ルールは，
前記操作対象関連文書中におけるフォーマットに関する情報と項目間の階層関係に関する情報を含み，
前記情報処理部は，
前記文書構造解析ルールに基づいて，前記操作対象関連文書から必要な項目を選択する際，前記フォーマットに該当する項目と前記操作対象関連文書中における項目間の階層関係とを合わせて選択する
対話シナリオ生成方法。
【請求項１０】
請求項８記載の対話シナリオ生成方法において，
前記表現解析ルールは，
どのような操作を行うか（操作内容）を表す表現を抽出する操作内容抽出ルール，
操作を実行するための前提条件（実行条件）となる表現を抽出するための条件抽出ルール，
操作の種類を判定するための操作種類判定ルール，
何に対して操作を行うか（操作対象）を示す表現を抽出するための操作対象抽出ルール，
複数の操作対象が選択肢となっている場合に選択肢を抽出するための選択肢抽出ルール，
の内のいずれか一つ以上を含み，
前記情報処理部は，
前記表現解析ルールに基づいて抽出された情報から，
実行条件の抽出，
操作内容の抽出，
操作対象の抽出，
選択肢の抽出，
操作の種類の判定，
の内のいずれか一つ以上を行う
対話シナリオ生成方法。
【請求項１１】
請求項８記載の対話シナリオ生成方法において，
前記対話シナリオ生成ルールは，
前記自然言語対話システムからユーザに対して質問や確認，説明等を行うためのメッセージである応答文を生成するためのルール，
ユーザと前記自然言語対話システムとの対話におけるやり取りの単位である対話ステップを生成，修正および追加するためのルール，
ユーザから入力される音声を認識するための情報である音声認識用文法を生成するためのルール，
の内のいずれか一つ以上を含み，
前記情報処理部は，
前記対話シナリオ生成ルールと，前記開発者から取得した情報とに基づいて，抽出された前記ユーザとの対話において必要となる情報から，
応答文の生成，
対話ステップの生成，修正および追加，
音声認識用文法の生成，
の内のいずれか一つ以上を行う
対話シナリオ生成方法。
【請求項１２】
請求項８記載の対話シナリオ生成方法において，
前記情報処理部は，前記対話シナリオとして，
ユーザからの要求に基づいて，前記処理対象の操作を代行するための対話シナリオ，
ユーザからの要求に基づいて，前記処理対象が実行可能な機能をユーザに提示するための対話シナリオ，
ユーザからの要求に基づいて，前記処理対象の実行方法をユーザに教示するための対話シナリオ，
の内のいずれか一つ以上を生成する
対話シナリオ生成方法。
【請求項１３】
請求項１１記載の対話シナリオ生成方法において，
前記情報処理部は，
前記ユーザとの対話において必要となる情報を，前記開発者に提示し，提示された情報に対して前記開発者が，前記操作対象が実行するコマンドを入力し，入力されたコマンドを対話シナリオ中に登録する，
前記ユーザとの対話において必要となる情報と，前記処理対象が実行するコマンドとの対応関係を表す情報をあらかじめ格納し，前記対応関係を表す情報と前記ユーザとの対話において必要となる情報とから，コマンドを前記対話シナリオ中に登録する，
の内のいずれか一つ以上を行う
対話シナリオ生成方法。
【請求項１４】
情報処理部と情報記憶部と情報入出力部とから構成され，自然言語によるユーザからの要求に基づいて操作対象となる機器やコンピュータプログラムの操作を代行する自然言語対話システムに必要となる対話シナリオを生成する対話シナリオ生成システムのためのプログラムであって，
前記情報記憶部に記憶された，前記操作対象が有する機能や操作方法を自然言語により記述した操作対象関連文書と，前記操作対象関連文書の構造を解析するために必要となる文書構造解析ルールと，ユーザとの対話において必要となる情報を抽出するための表現解析ルールと，前記対話シナリオを生成するためのルールである対話シナリオ生成ルールとを用い，
前記情報処理部に，
前記文書構造解析ルールに基づいて前記操作対象関連文書の構造を解析し，前記操作対象関連文書から必要な項目を選択するステップと，
選択した前記項目を前記表現解析ルールに基づいて解析し，前記ユーザとの対話において必要となる情報を抽出するステップと，
前記情報入出力部を用い，前記自然言語対話システムの開発者に対して情報入力を促すと共に，前記開発者から情報を取得するステップと，
前記抽出された情報と，前記開発者から取得した情報と，前記対話シナリオ生成ルールとに基づいて，前記対話シナリオを生成するステップと，
を実行させる
対話シナリオ生成プログラム。
【請求項１５】
請求項１４記載の対話シナリオ生成プログラムにおいて，
前記文書構造解析ルールは，
章や節の先頭に記述されている見出し，
箇条書きされている項目，
操作手順が記述された項目，
の内のいずれか一つ以上の，前記操作対象関連文書中におけるフォーマットに関する情報と項目間の階層関係に関する情報を含み，
前記情報処理部に，
前記文書構造解析ルールに基づいて，前記操作対象関連文書から必要な項目を選択する際，前記フォーマットに該当する項目と前記操作対象関連文書中における項目間の階層関係とを合わせて選択させる
対話シナリオ生成プログラム。
【請求項１６】
請求項１４記載の対話シナリオ生成プログラムにおいて，
前記対話シナリオ生成ルールは，
前記自然言語対話システムからユーザに対して質問や確認，説明等を行うためのメッセージである応答文を生成するためのルール，
ユーザと前記自然言語対話システムとの対話におけるやり取りの単位である対話ステップを生成，修正および追加するためのルール，
ユーザから入力される音声を認識するための情報である音声認識用文法を生成するためのルール，
の内のいずれか一つ以上を含み，
前記情報処理部に，
前記対話シナリオ生成ルールと，前記開発者から取得した情報とに基づいて，抽出された前記ユーザとの対話において必要となる情報から，
応答文の生成，
対話ステップの生成，修正および追加，
音声認識用文法の生成，
の内のいずれか一つ以上を実行させる
対話シナリオ生成プログラム。
【請求項１７】
請求項１６記載の対話シナリオ生成プログラムにおいて，
前記情報処理部に，
前記ユーザとの対話において必要となる情報を，前記開発者に提示し，提示された情報に対して前記開発者が，前記操作対象が実行するコマンドを入力し，入力されたコマンドを対話シナリオ中に登録する，
前記ユーザとの対話において必要となる情報と，前記処理対象が実行するコマンドとの対応関係を表す情報をあらかじめ格納し，前記対応関係を表す情報と前記ユーザとの対話において必要となる情報とから，コマンドを前記対話シナリオ中に登録する，
の内のいずれか一つ以上を実行させる
対話シナリオ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，自然言語対話によってユーザとやり取りを行い，機器の操作をユーザに代わって行うことやユーザにサービスの提供を行う自然言語対話システムにおいて，ユーザとのやり取りに関する情報が記述された対話シナリオを自然言語対話システムの開発者が容易に作成するための技術に関する。
【背景技術】
【０００２】
自然言語によりユーザと対話を行い，ユーザが要求する情報やサービスを提供する自然言語対話システムに関する技術は多数提案されている。
【０００３】
自然言語対話システムでは，ユーザとシステムとのやり取りに関する情報を対話シナリオと呼ばれるデータベースとして格納し，対話シナリオに従ってユーザからの質問に対する応答の生成やサービスの提供を行う。しかし，多様なサービスを提供するとともに，システムとユーザとの柔軟な対話を実現するためには，数多くの状況を想定する必要があるため，質の良い対話シナリオを効率的に構築する手段が必要となる。
【０００４】
特許文献１では，ハイパーテキストデータから表部分に対応するテキストデータを抽出し，抽出した表データをシナリオテンプレートに挿入することにより，音声対話シナリオを生成する。
【０００５】
また，特許文献２では，擬似人格との対話サービスを対象とし，対象とする人物のメール，著作物等における発言や対話の内容に基づいて，ユーザの質問を受け付け，返答するための情報となる対話用の基本文書を生成する。
【０００６】
一方，特許文献３では，音声認識や音声合成等の機能を容易に結びつけることが可能なツールを用意することにより，人手により音声インタフェースを構築する際の作業効率向上，作業負荷軽減を図っている。
【０００７】
【特許文献１】特開２００４−３３４３６９号公報
【特許文献２】特開２００５−１９６３５６号公報
【特許文献３】特開平０６−１６１７０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来技術では，ユーザと自然言語対話システムとの基本的なやり取りに関する情報がテンプレートとして与えられる，あるいはユーザの発言や対話の記録といった対話シナリオに親和性の高い情報があらかじめ取得できるという前提に基づいている。
【０００９】
一方，ユーザから要求を受け付け，自然言語対話システムがユーザに代わって情報家電のような機器やコンピュータプログラムの操作を行うことを想定した場合，ユーザと自然言語対話システムのやり取りは，操作対象とする機器やコンピュータプログラムの種類によってさまざまな形態となるため，あらかじめ全ての状況を想定してテンプレート化しておくことは困難となる。また，ユーザが他の人物に機器やコンピュータプログラムの操作を依頼するという状況におけるやり取りは，一般的に少なく，さらに，それを記録することに至っては殆どないため，ユーザの発言や対話の内容に基づいて対話シナリオを構築することは非常に困難である。
【００１０】
さらに，従来技術では，人手で対話シナリオを生成する際の作業効率化のための技術も示されているが，近年開発される機器やコンピュータプログラムは，その機能が多岐に渡るため，個々の機能毎にユーザとのやり取りの詳細な状況を想定し，対話シナリオとして記述することは，効率的なツールを用いた場合においても，人手での作業には多大な労力を必要とし，対話シナリオを作成し忘れる機能が生じる可能性も高くなると考えられる。
【００１１】
本発明は，以上の問題を解決し，機器やコンピュータプログラムが提供する多様なサービスに対するユーザ要求に柔軟に対応可能な自然言語対話システムを実現できる対話シナリオを効率的に構築するため，機器やコンピュータプログラムの開発者や提供者がユーザ向けに提供する操作マニュアルや取り扱い説明書等の文書から対話シナリオを構築する技術を提供する。
【課題を解決するための手段】
【００１２】
本発明では，上記の課題を達成し対話シナリオを構築するため，まず，ユーザ向けに提供される文書から，あらかじめ定められたルールに従って，対話シナリオに関連する項目のみを抽出する。抽出する項目は，ユーザからの要求に対応する項目や，ユーザからの要求を実行するために必要となる詳細なやり取りに対応する項目であり，操作の内容を表す見出しや箇条書きされている項目，操作手順を表す項目がそれに相当する。
【００１３】
次に，操作マニュアルや取り扱い説明書等のユーザ向けに提供される文書において用いられる特有の表現形態に従って，抽出した項目の内容を分析し，ユーザからの要求に対応する単位やそれらの関係，ユーザから情報を取得する必要がある項目や操作対象および操作の内容に関する情報を抽出する。表現形態の分析のためには，あらかじめ表現形態に関するルールを用意しておく。
【００１４】
機器やコンピュータプログラムを自然言語対話システムが操作する際には，自然言語対話システムが機器やコンピュータプログラムが解釈可能なコマンドおよびそれに付随するパラメータを送信する必要がある。コマンドやパラメータは，文書から抽出された操作の内容や操作対象，ユーザから入力される情報に対応するが，通常，ユーザに提供される文書には記載されない。このため，文書から抽出された操作内容や操作対象，ユーザから入力される情報に対応するコマンドやパラメータは開発者が補足入力するためのインタフェースを用意する。また，自然言語対話システムがユーザから情報を入力させる場合，機器やコンピュータプログラムが対応している項目が限られるため，複数の選択肢から選択させる場合がある。この場合の選択肢に関する情報はユーザ用に提供される文書に記載されていない場合がある。このため，このような情報も含めて上記のインタフェースでは開発者が入力可能とする。
【００１５】
文書から抽出した項目と開発者が補足した情報，さらに，あらかじめ用意された対話シナリオ生成用のルールに基づいて，対話シナリオを生成する。対話シナリオの生成では，文書から抽出された情報をルールに基づいて修正・補足することにより対話の基本的なやり取りに関する情報を生成し，さらに，応答文の生成および音声認識用文法の生成を行うことにより，対話シナリオを生成する。
【発明の効果】
【００１６】
操作マニュアルや取り扱い説明書等のユーザ向けに提供される文書に記載されているユーザが行う操作の内容を表す記述，例えば，テレビの操作の場合「テレビをつける」等は，ユーザの基本的な要求を表していると考えることができる。また，これらの文書には，ユーザが機器を使う，あるいはサービスを受けるために行う基本的な操作が全て記述されている。このため，ユーザ向けの文書の内容に基づいて対話シナリオを生成することにより，機器やコンピュータプログラムが提供する多様なサービスへのユーザ要求に柔軟に対応可能な自然言語対話システムを実現できる対話シナリオの効率的な構築が可能となる。
【発明を実施するための最良の形態】
【００１７】
以下，本発明の実施例を図１〜図４２を用いて詳述する。
【実施例１】
【００１８】
図１は第一の実施例に係わる対話シナリオ生成システムとそれを用いた自然言語対話システムの構成を示す概念ブロック図である。図１において，１０１は対話シナリオ生成システムを示す。１０２は，対話シナリオ生成システム１０１が対話シナリオを生成するために使用する操作対象関連文書である。操作対象関連文書１０２には，情報家電等の機器やコンピュータプログラムの操作マニュアルや取り扱い説明書等，機器やコンピュータプログラムの開発者や提供者がユーザ向けに提供する文書が含まれる。１０３は，本実施例による対話シナリオ生成システム１０１によって生成された対話シナリオである。１０４は対話シナリオ１０３の内容に基づいて，ユーザと自然言語による対話を行い，ユーザ要求に基づいて，操作対象の操作を行ったり，操作対象によるサービスをユーザに提供するための自然言語対話システムであり，音声認識機能や音声合成機能，テキスト表示機能等の各種入出力機能とそれらを用いてユーザとの対話を実現する対話制御機能等から構成される。このような音声認識や音声出力を行う入出力部を有し，自然言語によってユーザと対話を行い，ユーザからの要求に基づいて操作対象となる機器やコンピュータプログラムの操作を代行する自然言語対話システムとしては既に知られている技術，例えば，特開２００１−１８８６６８号公報「会話処理装置および方法，情報処理装置，会話処理システム，並びに記録媒体」に開示された技術を用いることができる。
【００１９】
また，図１における操作対象１０５は，自然言語対話システム１０４によって操作される情報家電等の機器やコンピュータプログラムであり，テレビやビデオレコーダ，ワードプロセッサ等を想定している。自然言語対話システム１０４と操作対象１０５は，有線あるいは無線のネットワークや赤外線リモコン等，操作対象を操作するために一般的に用いられている手段を使用して接続される。
【００２０】
図１の対話シナリオ生成システム１０１において，文書項目抽出部１０６は，文書構造解析ルール１０７に基づいて，操作対象関連文書１０２の構造を解析し，対話シナリオ１０３の生成に必要な項目を抽出する。文書構造解析ルール１０７には，文書のフォーマットに関する情報や必要な項目を表すキーワード等が記述される。抽出項目分析部１０８は，文書項目抽出部１０６によって抽出された項目の内容を表現解析ルール１０９に基づいて分析し，ユーザと自然言語対話システム１０４の対話に必要となる情報を抽出する。表現解析ルール１０９には，抽出した項目を分類したり，操作内容や操作対象等の情報を抽出するためのキーワードやルールが記述される。対話シナリオ生成部１１０は，抽出項目分析部１０８で行われた分析の結果と対話シナリオ生成ルール１１１に基づいて，対話シナリオ１０３を生成する。対話シナリオ生成ルール１１１には，抽出項目分析部１０８における分析で得られた情報を対話シナリオに変換するために必要となるルールや情報を捕捉するためのルールが記述される。また，情報入出力部１１２は，対話シナリオを生成する際に，自然言語対話システムの開発者が不足している情報を補うために使用する。
【００２１】
図２は本実施例による対話シナリオ生成システム１０１を一般的に使用される計算機上で実現した場合の構成図である。図２における２０１は，対話シナリオ生成に必要な各種のプログラムを実行するための情報処理部であり，通常のＣＰＵ（Central Processing Unit）を含む。２０２は，図１における情報入出力部１１２において，自然言語対話システムの開発者が必要な情報を入力するための入力部であり，キーボードやマウス等の良く知られた装置を用いることができる。表示部２０３は，図１における情報入出力部１１２において，対話シナリオ生成に必要となる情報の入力を自然言語対話システムの開発者に促したり，入力した情報の確認等を行うための出力部としての表示装置であり，モニタ等の良く知られた装置を用いることができる。
【００２２】
図２において２０４は，対話シナリオ生成に必要な各種のプログラムや処理の途中経過に関する情報を格納するための記憶部である。また２０５は，図１における文書項目抽出部１０６に対応する処理を行うための文書項目抽出プログラム，２０６は，同じく抽出項目分析部１０８に対応する処理を行うための抽出項目分析プログラム，２０７は，対話シナリオ生成部１１０と情報入出力部１１２に対応する処理を行うための対話シナリオ生成プログラムであり，それぞれ記憶部２０４に記憶され，情報処理部２０１などで実行される。更に，操作対象関連文書２０８，文書構造解析ルール２０９，表現解析ルール２１０，対話シナリオ生成ルール２１１，対話シナリオ２１２はそれぞれ，図１における１０２，１０７，１０９，１１１，１０３に対応し，システムが構成される計算機の記憶部に格納される。そのため，各種プログラムを記憶する記憶部２０４に，これらを記憶・格納する記憶部・格納部を含めたものを情報記憶部と呼ぶことがある。
【００２３】
図３に本実施例で想定している操作対象関連文書の一例を示す。図３はテレビの操作マニュアルの一部を例示しており，「テレビを見る(３０１)」ための操作として，「テレビをつける(３０３)」，「音量を調整する(３１０)」，「音声を切り換える(３１５)」の３種類の操作が可能であり，それぞれの具体的な操作の手順が項目毎に記述されている(３０４，３０６，３０７，３０９，３１１，３１６，３２１)。また，操作や手順に対しては，３０２，３０５，３０８，３１２，３１３，３１４，３１７，３１８，３１９，３２０，３２２に示すような補足情報が記述される。図３は文字のみによって記述された操作マニュアルの例であるが，より一般的な操作マニュアルは図や表等も交えて操作の手順が記述されている。しかし，基本的な構成は図３に示す例とほぼ同様である。
【００２４】
図４に対話シナリオ生成システム１０１の文書構造解析ルール１０７の構成を示す。図４において，フォーマット情報４０１は，操作対象関連文書１０２中の対話シナリオを生成するために必要な項目に関するフォーマットを表す。すなわち，文書項目抽出部１０６では，フォーマット情報４０１に記述されているフォーマットに該当する項目を操作対象関連文書１０２より抽出する。
【００２５】
図５に，フォーマット情報４０１に記述される情報を示す。図５において，階層番号５０１は，抽出した項目が文書の階層構造中のどの階層の項目であるかを表す番号である。例えば，図３において，「２．テレビを見る（３０１）」は一番上の階層であるため，階層番号５０１は「１」となる。また，「（１）リモコンのボタンを押す（３０４）」は，「２．テレビを見る（３０１）」や「２．１  テレビをつける（３０３）」の下の階層であるため，階層番号は「３」となる。図５における種類５０２は，該当する項目の種類を表す。「見出し」は，「２．テレビを見る（３０１）」や「２．１  テレビをつける（３０３）」等の操作の分類を表す項目を示し，「手順」は，「（１）リモコンのボタンを押す（３０４）」等の具体的な操作手順を表す項目を示す。項目の種類としては，操作対象関連文書１０２の構造に応じて，他の種類を追加することができる。開始フォーマット５０３および終了フォーマット５０４は，操作対象関連文書１０２中の項目を抽出するかどうかを判定するための条件であり，項目の開始部分に開始フォーマット５０３の記述が含まれ，且つ，終了部分に終了フォーマット５０４の記述が含まれている場合，操作対象関連文書１０２中の項目を抽出対象とする。
【００２６】
図５の５０５で示される行の場合，項目の開始部分に「/NO/．」という表記が含まれている場合，抽出対象となる。ここで，「/NO/」という表記は任意の数字を表すとする。また，「−」はフォーマットを定めないことを表すとする。この結果，５０５の条件により「２．テレビを見る（３０１）」が抽出対象となる。同様に，５０６の条件では「２．１  テレビをつける（３０３）」等が，５０７の条件では，「（１）リモコンのボタンを押す（３０４）」等が抽出対象となる。
【００２７】
また，図４における項目除外用キーワード４０２は，フォーマット情報４０１で抽出された項目中で，例外的に除外すべき項目に含まれるキーワードを記述する。図６に，項目除外用キーワード４０２に記述されるキーワードの一例を示す。図６に示す例の場合，「はじめに（６０１）」や「付録（６０２）」といったキーワードが項目中に含まれている場合は，フォーマット情報４０１に記述されている条件に該当する場合でも抽出対象としない。
【００２８】
図７に，表現解析ルール１０９の構成の一例を示す。表現解析ルール１０９は，操作内容抽出ルール７０１，条件抽出ルール７０２，操作種類判定ルール７０３，操作対象抽出ルール７０４，選択肢検出ルール７０５から構成される。
【００２９】
図８に操作内容抽出ルール７０１のフォーマットの一例を示す。操作内容抽出ルール７０１は，操作対象関連文書から抽出された項目から「押す」や「入力する」等の，どのような操作であるかを表す表現(操作内容)を検出するためのルールである。図８において８０１で示される欄には，操作対象関連文書から抽出された項目中に現れる操作内容を表す表現のパターンが記述される。また，８０２の欄には操作内容の抽出方法が記述される。例えば８０３に示すパターンにおいて，「＊」は任意の表現が記述されることを示し，「(動詞)」と言う記述により，その部分に動詞である何らかの単語が記述されることを表す。これにより，８０３のパターンでは文末が動詞で終了している場合に，操作内容が含まれると判断されることになる。また，８０３の操作内容の記述では，８０３のパターンによって検出された動詞を操作内容として検出することを意味している。よって，操作対象関連文書から抽出された項目が，
「２．テレビを見る」
である場合，動詞である「見る」が操作内容として検出されることになる。図８における８０４のパターンでは，同様にして，文末が「(動詞)＋機能」という表現，例えば，「見る機能」の場合に，動詞「見る」が操作内容として検出される。また，８０５，８０６では，「録画」や「再生」等のサ変名詞が対象となっており，８０５の場合は「予約して録画」，８０６の場合は「録画機能」というような表現の場合，操作内容が含まれると判断される。さらに，８０５および８０６では，右側の欄の記述に従い，「録画する」が操作内容として検出されることになる。図８に示した操作内容抽出ルールでは，具体的な表現と品詞をパターンに含めているが，さらに活用形の種類等を含めるようにしても良い。
【００３０】
図９に条件抽出ルール７０２のフォーマットの一例を示す。条件抽出ルールは，操作対象関連文書から抽出された項目から操作を実行する条件を表す箇所を検出するためのルールである。また，類似のフォーマットで記載される場合が多いため，操作手順を表す項目から，ユーザが要求として自然言語対話システムに依頼する内容(ユーザ要求)に対応する箇所の抽出を行うためのルールも含む。図９に示すルールでは，開始キーワード９０１と終了キーワード９０２で挟まれる箇所を条件として検出すると想定している。キーワードが「−」の場合は，該当するキーワードが存在しないことを示す。また，９０３には条件を表す部分に該当するか，ユーザ要求に対応する部分かを表す情報が記述される。図９において，「条件」は前者，「ユーザ要求」は後者に対応する。各キーワードには，図８に示す操作内容抽出ルールと同様に，品詞と特定の語との組み合わせをパターンとして記述することができる。例えば，操作対象関連文書から抽出された項目が
「音声を切り替える［ＢＳの場合］」
である場合，９０４に示すルールにより「ＢＳの場合」の部分が条件を表す箇所として検出される。また，操作対象関連文書から抽出された項目が
「地上波の場合は，[主音声／副音声／主副音声]ボタンを押す」
の場合，「地上波の場合は」の部分が９０５に示すルール「（名詞）＋の場合は」に適合し，「地上波」の部分が条件を表す箇所として検出されることになる。ここで，条件を表す箇所として抽出される部分は，ルールに適合した箇所の内，開始キーワードおよび終了キーワードにおける特定のキーワード以外の部分とする。すなわち，前記の例ではルール中の「（品詞）」に適合する「地上波」を抽出対象とする。また，抽出する箇所は，開始キーワードと終了キーワードを含めて検出するようにしても良い。
【００３１】
図１０に操作種類判定ルール７０３のフォーマットの一例を示す。操作種類判定ルール７０３は，操作対象関連文書から抽出された項目から検出された操作内容の種類を判定するためのルールであり，操作内容を「自動実行」または「選択肢」のいずれかに分類する。ここで，「自動実行」はユーザからの要求があった場合に無条件に実行可能な操作であることを表し，特定のボタンを押す操作等がこれに当たる。「選択肢」は，複数の選択肢からユーザが何れかを選択した後，あるいは文字列や記号列等の何らかの入力をユーザが行った後でなければ実行できない操作であることを表す。図１０において，１００１で示す欄には操作内容を表すキーワードが，１００２にはそれぞれのキーワードに対する種類が記述される。１００３，１００４，１００５に示すルールには「自動実行」に分類される操作内容が，１００６，１００７，１００８に示すルールには「選択肢」に分類される操作内容が記述されている。
【００３２】
図１１に操作対象抽出ルール７０４のフォーマットの一例を示す。操作対象抽出ルール７０４は，操作対象関連文書から抽出された項目からボタンやアイコン等の操作対象を表す箇所を検出するためのルールである。図１１に示すルールは，図９に示す条件抽出ルールと同様に，開始キーワード１１０１と終了キーワード１１０２に挟まれる箇所を操作対象として検出するルールとなっている。例えば，操作対象関連文書から抽出された項目が，
「ＢＳまたはＣＳの場合は，[音声]ボタンを押す」
である場合は，図１１に示すルール１１０３，１１０４，１１０５，１１０６の中から１１０４が適用され，「音声」あるいは「[音声]ボタン」が操作対象として検出されることになる。
【００３３】
図１２に選択肢検出ルール７０５のフォーマットの一例を示す。選択肢検出ルール７０５は，操作対象が複数存在する場合にそれらを選択肢と見なして全ての選択肢を操作対象関連文書から抽出された項目から検出するためのルールである。図１２におけるルールでは，操作対象関連文書から抽出された項目中に操作対象が複数存在する場合の表現のパターンが記述される。また，図１２において，（＄１）や（＄２），（＄ｎ）という記述は，その部分に何らかの操作対象が記述されていることを示しており，数字は含まれる操作対象につけられた通し番号である。また，（＄１）や（＄２）等に該当する部分が選択肢となる操作対象として検出される。例えば，操作対象関連文書から抽出された項目が，
「 [地上]ボタン，[BS]ボタン，[CS]ボタンのどれかを押す」 
である場合，図１２に示すルール１２０１，１２０２，１２０３の中の１２０１が適用され，「[地上]ボタン」，「[BS]ボタン」，「[CS]ボタン」が選択してとして検出されることになる。
【００３４】
図１３に対話シナリオ生成ルール１１１のフォーマットを示す。図１３において，１３０１には対話シナリオ生成ルール中に記述されるルールの種類を表す文字列や記号を記述する。図１３において想定しているルールの種類は「応答文」，「対話ステップ」，「文法生成」の３種類である。「応答文」は自然言語対話システムからユーザへの質問や情報提示等を表すメッセージとなる文を生成する際に必要となるルールを表す。「対話ステップ」は，後述する対話シナリオに含まれる対話ステップを修正・追加するために必要となるルールである。また，「文法」はユーザから自然言語対話システムへの発話を自然言語対話システム内の音声認識機能により認識する際に必要となる音声認識用文法を生成する際に必要となるルールである。図１３の１３０２にはそれぞれのルールの詳細が記述される。１３０３，１３０４および１３０５には種類が「応答文」であるルールが記述されている。１３０６，１３０７および１３０８には種類が「対話ステップ」であるルールが記述されている。１３０９，１３１０，１３１１および１３１２には種類が「文法」であるルールが記述されている。図１３では，説明を容易にするために，ルールを日本語文により記述しているが，後述する各種情報を条件とする記述や，良く知られた形態素解析技術や文法解析技術の結果得られる情報，また，単純な文字列変換に対応した記述のみに留めているため，それらを計算機が理解可能な形式のルールとして記述することや，計算機が実行可能なプログラムとして記載することは容易に行うことができる。図１３に記載されているルールがどのように使用されるかは，後述する。
【００３５】
図１４に対話シナリオ１０３のフォーマットを示す。図１４で示される対話シナリオは，「テレビをつける」や「音量を調整する」等のユーザ要求毎に作成され，その中には，それぞれのユーザ要求に対応する操作を実行するために必要なユーザとの対話に関する情報が格納される。図１４において，対話名１４０１は，それぞれの対話シナリオに割りあてられる固有の識別子であり，任意の文字列や記号列，数字等を利用することができる。対話名１４０１は，図１における自然言語対話システム１０４中で，対話シナリオ１０３を管理するために利用される。実行判定式１４０２は，ユーザ要求によって対話シナリオが選択された場合に，選択された対話を実行するかどうかを判定するための条件式である。機器やコンピュータプログラムによって提供される機能やサービスは，特定の状況でのみ実行可能な場合があるため，対話の開始前に実行可否を判定することはユーザビリティ向上のために望ましい。実行判定式１４０２はこれを実現するための情報であり，自然言語対話システムや操作対象内で使用される変数の値に関する条件を記述することができる。記述するフォーマットとしては，自然言語対話システムや対象機器で使用される変数や変数の参照方法に従ったフォーマットを使用すれば良い。例えば，自然言語対話システム内で「STATUS」という名称の変数が使用され，その値が「true」である場合に対話が実行可能であるとすると，実行判定式１４０２としては，
$STATUS == “true”
というような記述を使用することができる。ここで，「$STATUS」は「STATUS」という変数の値を参照することを示し，記号「==」は値が等しい場合に条件を満たすことを示すと想定している。
【００３６】
図１４における音声認識用文法名１４０３は，自然言語対話システム１０４を構成する音声認識機能で使用される音声認識用文法が格納されたファイルの名称あるいは格納場所を指し示す名称を表す文字列が格納される。音声認識用文法には，ユーザが自然言語対話システムに対して要求を行う場合にユーザが自然言語対話システムに対して発話する内容に関する情報が格納される。音声認識用文法も，文書から抽出される情報に基づいて生成される。図１４における対話ステップ数１４０４は，対話シナリオを構成する対話ステップの数を示す数値である。ここで対話ステップは，ユーザと自然言語対話システムとのやり取りの基本単位と定義し，１４０５から１４０６に，具体的な対話ステップの内容が記述される。
【００３７】
図１５に対話ステップのフォーマットを示す。対話ステップは，自然言語対話システムからユーザへの質問や確認，情報提示等を行うための応答文，ユーザから自然言語対話システムに入力される情報（音声認識機能がユーザの発話を認識した結果中において，ユーザが発話した内容が格納される変数の名称）を表す入力変数名，ユーザからの情報に基づいて機器やコンピュータプログラムを操作するためのコマンドを基本要素とする。また，状況に基づいて，実行可能な対話ステップと実行不可能な対話ステップが存在するため，実行可否の判定を行うための実行判定式も含まれる。図１５において，１５０１には実行判定式が記述される。実行判定式のフォーマットは，図１４における実行判定式１４０２のフォーマットにおいて説明したものと同様のフォーマットを使用することができる。１５０２は，対話ステップ中に記述されている応答文，入力変数名，コマンドのいずれを対話ステップ中で利用するかを表す対話ステップ種類である。対話ステップ種類としては，「オペレーション」，「スロット」，「確認」，「ガイダンス」の４種類を想定する。対話ステップ種類が「オペレーション」の場合，応答文とコマンドが使用される。「スロット」の場合は応答文，入力変数名，コマンドが使用される。「確認」の場合は応答文とコマンドが使用される。「ガイダンス」の場合は，応答文のみが使用される。
【００３８】
図１５において，応答文１５０３には応答文を表す文字列を記述する。また，自然言語対話システムや操作対象で使用される変数の値を参照する応答文を記述することもできる。例えば，
「$CHANNELチャンネルでよろしいですか？」
という応答文を使用することができる。ここで，「CHANNEL」は，テレビのチャンネル番号を格納する変数とし，「$CHANNEL」という表記により変数CHANNELの内容を参照することを表し，CHANNELの値が「１」であるとすると，前記の例によりユーザに提示される応答文は，
「１チャンネルでよろしいですか？」
となる。また，図１５における入力変数名１５０４は，ユーザから自然言語対話システムに情報を入力した際，ユーザが入力した情報が格納される変数の名称を表す文字列である。この場合，音声認識機能等の入力手段から得られるユーザからの情報を変数に代入する必要があるが，パーソナルコンピュータ等において一般的に用いられている音声認識機能では，ユーザが入力した音声の認識結果中に含まれる情報を該当する変数名とその値という形で出力することが容易に実現できるため，その機能を利用すれば良い。さらに，図１５における１５０５には，操作対象を操作するためのコマンドを表す文字列が記述される。コマンドのフォーマットとしては操作対象が直接解釈可能な形式を利用することになる。また，応答文で説明したフォーマットと同様に，自然言語対話システムや操作対象で使用される変数の値への参照を含むコマンドを記述するようにすることもできる。
【００３９】
図１６および図１７を用いて，文書項目抽出部１０６で行われる処理を説明する。文書項目抽出部１０６は，文書構造解析ルール１０７に基づいて，操作対象関連文書１０２を解析し，対話シナリオの生成に必要な項目を抽出する。ここでの説明では，操作対象関連文書１０２として図３に示す例を，文書構造解析ルール１０７として図５および図６に示す例を用いる。図１６は，文書項目抽出部１０６で行われる処理の流れを表した図である。図１６のステップ１６０１において，操作対象関連文書１０２から一行を読み込む。図３に示す操作対象関連文書の場合，最初に，
「２．テレビを見る（３０１）」
が読み込まれる。ステップ１６０２において，ステップ１６０１における行の読み込みが成功したかどうかの判定を行い，成功した場合，すなわち，操作対象関連文書中に読み込み可能な行が残っていた場合は，ステップ１６０３に進む。ステップ１６０１において行の読み込みに失敗した場合は，操作対象関連文書中の全ての行に対して処理を実行したと見なして終了する。ステップ１６０３では，文章構造解析ルール中のフォーマット情報に基づいて，ステップ１６０１で読み込んだ行の階層番号と種類を判定する。例えば，図３における「２．テレビを見る（３０１）」の場合，図５に示すフォーマット情報を適用すると，５０５に示すルールにより，階層番号は「１」，種類は「見出し」と判定されることになる。また，フォーマット情報により該当する階層番号および種類が存在しなかった行については，対象外と判定される。ステップ１６０４では，ステップ１６０３において対象外と判定された場合，および，該当する階層番号および種類が存在したが項目除外用キーワードが含まれていた場合は，その行に対する処理を中断し，ステップ１６０１に戻り，次の行に対する処理に移る。そうでない場合は，ステップ１６０５に進む。例えば「２．テレビを見る（３０１）」の場合は，該当する階層番号および種類が存在し，図６に示す項目除外用キーワードが含まれないため，ステップ１６０５に進む。ステップ１６０５では，行に句点「。」あるいは「．」が含まれている場合，複数の行に分割する処理を行う。情報家電等の機器やコンピュータプログラムの操作マニュアル等では，特に，操作手順の記述において，複数の文が一行中に含まれている場合が見られる。例えば，図３に示す例において，３１６および３２２に示す操作手順は，別々の手順として記載されているが，
「地上波の場合は，[主音声／副音声／主副音声]ボタンを押す。ＢＳまたはＣＳの場合は，[音声]ボタンを押す。」
というような記述が行われる場合もある。ステップ１６０５では，前記の例に示すような行を複数の文に分割する。この処理は，行中の句点「。」あるいは「．」を検索し，句点「。」あるいは「．」の箇所で行を分割することにより容易に行うことができる。分割後の各文に対応する階層番号および種類は，元の行に対応する階層番号および種類と同様となる。さらにステップ１６０６では，ステップ１６０５の処理を行った後の行とそれに対する階層番号および種類を抽出項目分析部１０８で使用するための情報として図２の記憶部２０４等に一時的に記憶領域を確保し，格納する。あるいは，ファイルとして格納しても良い。
【００４０】
図１７に，図５に示すフォーマット情報および図６に示す項目除外用キーワードを用いて図３に示す操作対象関連情報から抽出した項目を示す。図１７において，１７０１は階層番号を，１７０２は項目の種類を，１７０３は抽出した項目の内容を表す。また，図１７における１７０４は図３における３０１に，１７０５は３０３に，１７０６は３０４に，１７０７は３０６に，１７０８は３０７に，１７０９は３０９に，１７１０は３１０に，１７１１は３１１に，１７１２は３１５に，１７１３は３１６に，１７１４は３２１に，それぞれ対応する。
【００４１】
図１８に，抽出項目分析部１０８で行われる処理の流れを示す。抽出項目分析部１０８では，ステップ１８０１において，文書項目抽出部１０６で抽出された項目における「見出し」と分類された項目（以下，見出し）に対する分析処理を行い，その後，ステップ１８０２において，「手順」と分類された項目（以下，操作手順）に対する分析処理を行う。また，項目の分類として，「見出し」，「手順」以外の種類がある場合は，階層構造の順序関係に基づいて，適宜，それぞれの種類毎に分析処理を追加すれば良い。抽出項目分析部１０８で行われる処理により，図１７に示すようなフォーマットの情報から，ユーザ要求や操作内容，操作対象，実行条件等に関する情報が抽出され，ユーザ要求毎に図１９に示すようなフォーマットで格納される。格納方法としては，図２の記憶部２０４等に一時的に記憶領域を確保する方法や，あるいはファイルとして格納する方法を使用することができる。
【００４２】
図１９において，ユーザ要求内容１９０１はユーザ要求の内容を表す文字列である。実行条件１９０２は，１９０１で示されるユーザ要求が実行される条件を表す文字列である。操作手順数１９０３には，１９０１で示されるユーザ要求を実行するための操作手順の数を表す数値が記述される。１９０４から１９０５には，具体的な操作手順の内容が記述される。
【００４３】
図２０に，操作手順１９０４から１９０５に記述される情報のフォーマットを示す。図２０において，実行条件２００１は，操作手順を実行するための条件を表す文字列である。操作手順種類２００２は操作手順の種類を表す記号あるいは文字列が記述される。操作手順の種類としては，特定のボタンを押す操作等，ユーザからの要求があった場合に無条件に実行可能な操作であることを表す「自動実行」と，複数の選択肢からユーザがいずれかを選択した後，あるいは文字列や記号列等の何らかの入力をユーザが行った後でなければ実行できない操作であることを表す「選択肢」のいずれかとする。操作内容２００３には，操作の内容を表す文字列を記述する。操作対象２００４は，ボタンやメニュー等の操作の対象を表す。選択肢数２００５は，複数の操作対象からユーザがいずれかの操作対象を選択する操作である場合に，その選択肢の数を表す。選択肢２００５から２００６には，具体的な選択肢の内容を記述する。
【００４４】
図２１に，見出しに対する分析処理の流れを示す。図２１におけるステップ２１０１では，処理対象となる見出しが残っているかどうかをチェックする。残っていない場合は，処理を終了する。処理対象となる見出しが残っている場合は，ステップ２１０２において，見出しを一つ選択し，処理対象とする。ステップ２１０３では，条件抽出ルール７０２を適用して，対象とする見出しから実行条件を表す部分の抽出を行う。ステップ２１０４では，対象とする見出し中の実行条件を表す部分以外に対して操作内容抽出ルール７０１を適用する。操作内容抽出ルールを適用した結果，操作内容を表すパターンに適合した場合，ステップ２１０５に進み，対象とする見出しを新たなユーザ要求として，図１９のフォーマットで表される情報の格納領域を作成し，情報を格納する。格納においては，対象とする見出しから抽出した実行条件を図１９における１９０２として，対象とする見出しから実行条件を除いた部分をユーザ要求内容１９０１として格納する。それ以外の情報は，この段階では０あるいは空白とする。ステップ２１０４において，操作内容を表すパターンに適合しない場合は，対象外の見出しと見なし，ステップ２１０１に戻る。図１７に示す例における項目に，図８に示す操作内容抽出ルールを適用した場合，見出し１７０４，１７０５，１７１０，１７１２は，図８における８０３に示すルールに適合するため，それぞれに対して図１９に示すフォーマットの情報が作成され，格納される。
【００４５】
図２２に，操作手順に対する分析処理の流れを示す。図２２において，ステップ２２０１では処理対象となる操作手順が残っているかどうかをチェックする。残っていない場合は処理を終了する。処理対象となる操作手順が残っている場合は，ステップ２２０２において，操作手順を一つ選択し，処理対象とする。ステップ２２０３では，条件抽出ルール７０２を適用して，対象とする操作手順から実行条件を表す部分の抽出を行う。この際，対象とする操作手順が，すぐ上位にある見出しに対する最初の操作手順であり，且つ，同じ見出しに対する次の操作手順中に実行条件が含まれない場合は，抽出した実行条件をすぐ上位にある見出しから生成された図１９で示されるフォーマットの情報における実行条件１９０２として格納する。例えば，図１７における１７１３の操作手順からは，図９におけるルール９０５により，実行条件として「地上波」が検出される。さらに，次の操作手順である１７１４からも同様に実行条件として「ＢＳまたはＣＳ」が検出されるため，１７１３から抽出される実行条件「地上波」は，１７１３で示される操作手順の実行条件として格納される。一方，１７１４が無い場合は，実行条件「地上波」は，１７１３のすぐ上位にある見出し１７１２の実行条件として格納する。ステップ２２０４では，対象とする操作手順中の実行条件を表す部分以外に対して，再度，実行条件抽出ルールを適用し，ユーザ要求になり得る箇所を検索し，ユーザ要求になり得る箇所が存在する場合は，図１９で示されるフォーマットの情報を格納する領域を新たに生成し，該当する箇所をユーザ要求として格納すると共に，対象とする操作手順中の残りの部分を新たに生成されたユーザ要求に対する操作手順として格納する。例えば，図１７における１７０９の場合，「テレビを消す場合は」の部分は図９におけるルール９０７により，「ユーザ要求」と判定されるため，「テレビを消す」が新たなユーザ要求として生成され，残りの「もう一度[電源]ボタンを押す」の部分が「テレビを消す」の操作手順として格納される。また，新たに生成されるユーザ要求の階層番号は，元の操作手順のすぐ上位にある「ユーザ要求」より下位であることを示す値になるように設定する。例えば，図１７の１７０９の場合，元の操作手順のすぐ上位にあるユーザ要求１７０５の階層番号は「２」であるため，それより１大きい値である「３」を「テレビを消す」の階層番号として登録すれば良い。ステップ２２０５では，対象とする操作手順中から条件となる箇所およびユーザ要求となる箇所を除いた部分に，複数の操作に関する記述が含まれている場合に，個々の操作に分割を行う。この処理は，処理対象から他の句を修飾していない動詞句を抽出し，動詞句がある箇所で処理対象を分割することにより容易に行うことができる。動詞句の抽出および他の句との修飾関係の解析は，良く知られた形態素解析プログラムや文法解析プログラムを用いれば，容易に実現することができる。また，ステップ２２０３において実行条件が抽出された場合は，分割されたそれぞれの操作に同じ実行条件を付加する。例えば，図１７における１７０８の場合，「入力して」と「選ぶ」が動詞句として抽出される。それぞれ動詞句で１７０８���分割し，接続助詞を除く等の整形を行うことにより，
「希望のチャンネル番号を入力する」
「チャンネルを選ぶ」
の2種類の操作手順が得られることになる。表現の整形も，形態素解析プログラムや文法解析プログラムの結果から得られる単語の情報を用いることにより容易に行うことができる。また，分割の結果得られた操作手順中の最後の操作手順に対して操作種類判定ルール７０４を適用し，ルール中のキーワードが含まれているかどうかをチェックする。含まれている場合はステップ２２０６に進む。含まれていない場合は，図１９で示されるフォーマットの情報を格納する領域を新たに生成し，分割の結果得られた操作手順の最後の操作手順を新たなユーザ要求として格納すると共に，後述の２２０６以降の処理により，残りの操作手順から抽出される情報を新たなユーザ要求に対応する操作手順として格納する。１７０８から抽出された前記の操作手順の場合，「チャンネルを選ぶ」は図１０におけるルールに適合しないため，「チャンネルを選ぶ」がユーザ要求として登録され，「希望のチャンネル番号を入力する」から抽出される情報が「チャンネルを選ぶ」に対する操作手順として格納される。ステップ２２０６では，分割した結果得られた操作手順全てに対してステップ２２０７以降の処理が行われたかどうかを判定し，行われたと判定された場合はステップ２２０１に戻る。行われていないと判定された場合は，ステップ２２０７に進み，処理対象となる操作手順を一つ選択する。ステップ２２０８では，選択された操作手順に操作種類判定ルール７０４を適用し，操作手順の種類が「自動実行」あるいは「選択肢」に分類されるかどうかを判定する。いずれにも分類されない場合はステップ２２０６に戻る。いずれかに分類された場合は，ステップ２２０９において，対象となる操作手順から操作種類判定ルール７０４に適合したキーワードを除く。さらに，残りの部分から名詞を抽出すると共に，操作対象抽出ルール７０５および選択肢検出ルール７０６を適用することにより，ボタンやメニュー等の具体的な操作対象を操作手順中から抽出する。例えば，図１７における１７０６では，図１１に示す操作対象抽出ルールにより「[電源]ボタン」が操作対象として検出される。また，図１７における１７０７では，「[地上]ボタン」，「[BS]ボタン」，「[CS]ボタン」が操作対象として検出され，さらに図１２に示す選択肢検出ルールにより，これら全ての操作対象が選択肢と見なされる。ステップ２２１０では，対象とする操作手順のすぐ上位の見出しに対応するユーザ要求の操作手順として，以上の処理により得られた実行条件，操作手順の種類，操作対象，選択肢をそれぞれ図２０における２００１，２００２，２００４および２００５から２００６として格納する。また，対象とする操作手順の内容を図２０における２００３として格納する。この際，操作種類判定ルール７０４により「自動実行」と分類された操作手順において，選択肢が検出された場合や，操作対象抽出ルール７０５により操作対象として検出されなかった名詞が操作種類判定ルール７０４に該当するキーワードの直前に記述されている場合は，操作手順種類２００２を「選択肢」に変更して格納を行う。例えば，操作手順が
「[地上]ボタン，[BS]ボタン，[CS]ボタンのどれかを選択する」
である場合，図１０に示す操作種類判定ルールにより「自動実行」と判定されるが，図１２に示す選択肢検出ルールにより選択肢も検出されるため，「選択肢」と分類する。また，
「番組名を選択する」
の場合も，図１０に示す操作種類判定ルールにより「自動実行」と判定されるが，「番組名」という名詞は図１１に示す操作対象抽出ルールには該当しないため，「選択肢」と分類する。
【００４６】
図２３から図２５に，図１７における１７０５から１７０９に対して抽出項目分析部１０８で処理を行った結果の一例を示す。図２３は，見出し１７０５を処理した結果格納されたユーザ要求であり，２３０１にユーザ要求内容である「テレビをつける」が記述されている。１７０５に実行条件となる箇所は含まれていないため，実行条件２３０２は空白を示す「−」が記述される。図１７において，見出し１７０５に対する操作手順は１７０６から１７０９までの４つが存在しているが，１７０８は図２２におけるステップ２２０５，また，１７０９は図２２におけるステップ２２０４により，新たなユーザ要求として格納されるため，１７０６および１７０７に対応する操作手順のみが「テレビをつける」に対する操作手順として登録されるため，操作手順数２３０３は「２」となっている。２３０４には１７０６に対応する操作手順，２３０５には１７０７に対応する操作手順が記述される。図２４に，１７０６に対応する操作手順に関する情報を示す。図１７における１７０６には，条件となる箇所が含まれていないため，実行条件２４０１は空白を示す「−」が記述される。また，ステップ２２０８において「自動実行」と判定されることにより，操作手順種類２４０２には「自動実行」と記述される。操作手順内容２４０３には，１７０６の行の内容がそのまま記述される。操作対象２４０４には，ステップ２２０９で抽出された「[電源]ボタン」が格納される。また，１７０６では選択肢に該当する箇所は存在しないため，選択肢数２４０５は「０」となり，選択肢に関する情報は記述されない。図２５は，１７０７に対応する操作手順に関する情報を表す。図１７における１７０７にも，条件となる箇所が含まれていないため，実行条件２５０１は空白を示す「−」が記述される。また，ステップ２２０８においは「自動実行」と判定されるが，ステップ２２０９において選択肢が検出されるため，操作手順種類２５０２は「選択肢」と記述される。操作手順内容２５０３には，１７０７の行の内容がそのまま記述される。ステップ２２０９では選択肢のみが抽出されるため，操作対象２５０４には空白を示す「−」が記述される。ステップ２２０９において，選択肢として「[地上]ボタン」，「[BS]ボタン」および「[CS]ボタン」が検出されるため，選択肢数２５０５は「３」となり，それぞれの選択肢が２５０６，２５０７および２５０８に記述される。
【００４７】
図２６に，対話シナリオ生成部１１０において行われる処理の流れ図を示す。対話シナリオ生成部１１０では，抽出項目分析部１０８の処理の結果，図１９および図２０で示されるフォーマットで格納された情報と対話シナリオ生成ルール１１１，および情報入出力部１１２により自然言語対話システムの開発者が入力した情報に基づいて，図１４および図１５で示されるフォーマットの対話シナリオを生成する。対話シナリオは，ユーザ要求毎，すなわち図１９に示すフォーマットで格納される情報を単位として生成される。図２６のステップ２６０１では，全てのユーザ要求に対して対話シナリオの生成を行ったかどうかをチェックする。全てのユーザ要求に対して処理を行った場合は，終了する。そうでない場合は，ステップ２６０２において，処理の対象とするユーザ要求を一つ選択する。ステップ２６０３では，新たな対話シナリオを格納する領域を確保し，ユーザ要求内容１９０１から対話名１４０１を生成し，登録する。対話名としてはユーザ要求内容を表す文字列をそのまま使用することができる。あるいは，ユーザ要求内容に対応する任意の文字列や記号列，番号等を使用しても良い。ステップ２６０４では，実行条件１９０２が空白で無い場合，情報入出力部１１２により，実行条件の内容を自然言語対話システムの開発者に提示し，開発者から実行条件に対応し自然言語対話システムが解釈可能な判定式を取得し，それを実行判定式１４０２として登録する。あるいは，実行条件の内容が既知であれば，実行条件と実行判定式との対応表を用意し，それを参照することにより，自動的に実行条件から実行判定式への変換を行い，対話シナリオ中に登録するようにしても良い。ステップ２６０５では，対象としているユーザ要求における全ての操作手順に対して，ステップ２６０６およびステップ２６０７に示す処理を行ったかどうかをチェックし，行ったと判定された場合はステップ２６０８に進む。そうでない場合は，ステップ２６０６に進み，情報入出力部１１２により，操作手順に関する情報を自然言語対話システムの開発者に提示し，開発者から自然言語対話システムが解釈可能な実行判定式，入力変数名，コマンドおよび選択肢に関する補足情報を取得する。入力変数名については，対話シナリオ中で一意となる名称を自動的に生成し，登録することもできる。ステップ２６０６において開発者より取得した情報および対話シナリオ生成ルール１１１に基づいて，ステップ２６０７において操作手順を対話ステップに変換し対話シナリオ中に登録した後，ステップ２６０５に戻る。あるいは，操作手順に関する情報，すなわち実行条件や操作対象，選択肢が既知の場合，それらと，実行判定式，入力変数名およびコマンドとの対応表を用意し，それを参照することにより，自動的に操作手順に関する情報から実行判定式，入力変数名およびコマンドへの変換を行い，対話シナリオ中に登録するようにしても良い。
【００４８】
図２７に，ステップ２６０４およびステップ２６０６で，自然言語対話システムの開発者から情報を取得するためのユーザインタフェースの一例を示す。ステップ２６０４およびステップ２６０６では，ユーザ要求における実行判定式の入力と操作手順に関する情報の入力を別々に行っているが，図２７に示すユーザインタフェースでは，両者を合わせて行うことができるような形態となっている。また，図２７では，ハッチングされた欄は，自然言語対話システムの開発者が修正することはできない情報であることを示す。図２７において，２７０１に示す一覧は，抽出項目分析部１０８における処理の結果生成されたユーザ要求の一覧であり，各ユーザ要求におけるユーザ要求内容１９０１が一覧に表示されている。２７０１の一覧中のユーザ要求をマウス等により選択すると，一覧の右側に，選択したユーザ要求に関する詳細な情報が表示される。２７０２は，ユーザ要求に対する実行条件であり，操作対象関連文書中の該当する項目から抽出された実行条件が表示される。２７０３は，２７０２に示す実行条件に対して，自然言語対話システムの開発者が，自然言語対話システムが解釈可能な実行判定式を入力するための欄である。２７０４は，選択されたユーザ要求における操作手順の一覧である。一覧中には，操作手順における操作内容２００３が表示される。２７０４の一覧中の操作内容をマウス等により選択すると，一覧の下に，選択した操作手順に関する詳細な情報が表示される。２７０５は，操作手順に対する実行条件であり，操作対象関連文書中の該当する項目から抽出された実行条件が表示される。２７０６は，２７０５に示す実行条件に対して，自然言語対話システムの開発者が，自然言語対話システムが解釈可能な実行判定式を入力するための欄である。２７０７は操作手順種類２００２を，２７０８は操作対象２００４の内容を示す。２７０８に表示される操作対象の内容は，自然言語対話システムの開発者が修正することもできる。２７０９は，操作手順に対して操作対象である機器やコンピュータプログラムで実行されるコマンドを自然言語対話システムの開発者が入力するための欄である。２７１０は，操作手順の種類が「選択肢」である場合に，音声認識機能がユーザの発話を認識した結果中において，ユーザが発話した内容が格納される変数の名称である入力変数名を自然言語対話システムの開発者が入力するための欄である。入力変数名としては，対話シナリオ中で一意となる任意の文字列を自動的に登録するようにしても良い。２７１１は，操作対象関連文書中の該当する項目から抽出された選択肢の一覧である。各選択肢の内容は，自然言語対話システムの開発者が修正することができる。２７１０および２７１１は，操作手順種類が「自動実行」である場合は必要ないため，「自動実行」の場合，表示し内容にすることもできる。さらに，図２７のユーザインタフェースでは，ユーザ要求毎に登録する情報と，操作手順毎に登録する情報を一つの画面上で行うことができるようになっているが，別々の画面で行えるようにしても良い。また，図２７のユーザインタフェースにおいて，必要の無いユーザ要求や操作手順を削除することや，新たなユーザ要求や操作手順を追加できるようにしても良い。
【００４９】
図２６のステップ２６０７で行われる処理の流れ図を図２８に示す。図２８において，ステップ２８０１では，操作手順種類が「選択肢」かどうかのチェックを行う。「選択肢」である場合はステップ２８０２に進み，そうでない場合はステップ２８０４に進む。ステップ２８０２では，対象としている操作手順に対応する対話ステップ種類１５０２を「スロット」に設定する。ステップ２８０３では，情報入出力部１１２により，自然言語対話システムの開発者から取得した実行判定式，入力変数名，コマンドを図１５に示す対話ステップの実行判定式１５０１，入力変数名１５０４およびコマンド１５０５に登録する。ステップ２８０３では，自然言語対話システムの開発者から取得した選択肢の補足情報を用いて選択肢の修正・追加も行い，後述のステップ２６０８の処理において利用する。ステップ２８０４では，対象としている操作手順に対応する対話ステップ種類１５０２を「オペレーション」に設定する。ステップ２８０５では，情報入出力部１１２により，自然言語対話システムの開発者から取得した実行判定式およびコマンドを図１５に示す対話ステップの実行判定式１５０１およびコマンド１５０５に登録する。ステップ２８０６では，対話シナリオ生成ルール１１１中に記載されている「応答文」という種類のルールを対象とする操作手順の操作内容２００３に適用することにより，応答文１５０３を生成する。例えば，図２４に示す操作手順に図１３に示す対話シナリオ生成ルールを適用した場合，図２３に示すユーザ要求の最初の操作手順であるため，１３０３に示すルールが適用され，ユーザ要求内容である「テレビをつける（２３０１）」を変更した「テレビをつけます」が図２４に示す操作手順に対する応答文として追加される。また，図２５に示す操作手順の場合は，１３０４に示されるルールが適用される。ここでルール中の「（選択肢の項目）」には全ての選択肢が列挙されることを表すとし，さらに２５０６から２５０８に記述されている選択肢に対して「[」と「]ボタン」を削除するように開発者により修正が行われたとすると，応答文は「地上，BS，CSのどれがよろしいですか？」となる。また，図１３における１３０５に示されるルールが適用される場合は，操作手順に関する情報が図２９に示すような内容である場合である。図２９に１３０５に示されるルールを適用すると，操作対象２９０１を使用して，「チャンネル番号をお話し下さい」が応答文として生成される。以上の処理により，図２３に示すユーザ要求は図３０に示す対話シナリオに，図２４および図２５に示す操作手順はそれぞれ図３１および３２に示す対話ステップに変換される。この時点では，音声認識用文法名３００１は記述されていない。また，コマンド３１０１および３２０２，変数名３２０１は自然言語対話システムの開発者によって入力されたものとする。また，「$VAL0001」という記述は，変数VAL0001の値を参照することを表すものとする。
【００５０】
図２８のステップ２８０７では，対話シナリオ生成ルール１１１中に記載されている「対話ステップ」という種類のルールを対象とする操作手順から生成された対話ステップに適用することにより，対話ステップの内容の修正あるいは対話ステップの追加を行う。例えば，図３２に示される対話ステップには１３０６に示されるルールが適用されることにより，図３３に示される対話ステップへと修正が行われ，さらに図３４および図３５に示す対話ステップが図３３に示される対話ステップの後に追加される。図３３では，コマンド３３０１が削除され，図３５の対話ステップ中のコマンド３５０１に移動されている。図３４に示す対話ステップは種類が「確認」の対話ステップであり，入力変数の内容を確認する応答文をユーザに提示し，ユーザからの応答を取得する。図３５の対話ステップはユーザからの入力変数である「YESNO（３４０２）」の値が「yes」である場合に，コマンド３５０１を実行する。また，図１３における１３０７に示されるルールは常に適用され，図３６に示すような対話ステップが各対話シナリオの最後の対話ステップとして追加される。図３６の３６０１に記述されている変数「RET」は，コマンドの実行結果を示す共通の変数を表すものとする。また，応答文をユーザに提示するのみであるため，対話ステップ種類３６０２は「ガイダンス」となっている。応答文はユーザ要求内容より生成する。例えば，「(ユーザ要求内容)＋ことができません」というようなルールを適用することにより，３６０３に示す「テレビをつけることができません」という応答文を生成することができる。また，図１７における１７０４から対話シナリオを生成した場合，１７０４に対応する操作手順が存在しないため，図１３における１３０８に示すルールが適用される。この結果，例えば，図３７に示すような対話ステップを生成する。この例における応答文は，階層が一つ下のユーザ要求の内容のみを列挙することにより生成されている。さらに，対象とするユーザ要求より階層が下位のユーザ要求の内容を全て列挙するようにしても良い。
【００５１】
図２６におけるステップ２６０８では，対象となっているユーザ要求から生成された対話シナリオを実行するために必要となる音声認識用文法の生成を行う。図３８に，ステップ２６０８で行われる処理の流れ図を示す。図３８において，ステップ３８０１では，音声認識用文法を格納するためのファイルの名称である音声認識用文法名（図１４における１４０３）を生成し，対話シナリオに登録する。音声認識用文法名としては，他の対話シナリオにおける音声認識用文法名と同一でなければ，任意の文字列あるいは記号列を使用することができる。例えば，対話名(図１４における１４０１)に任意の拡張子を追加した名称を利用すれば良い。ステップ３８０２では，対話シナリオに記述される対話を開始するためのユーザからの発話を受け付けるための音声認識用文法を生成する。この文法は，対話シナリオの元になったユーザ要求中のユーザ要求内容（図１９における１９０１）に対して，対話シナリオ生成ルール中の「文法」という種類のルールを適用することにより生成する。例えば，図１７の１７０５から生成されるユーザ要求に対するユーザ要求内容は「テレビをつける」であるが，これに図１３に示す対話シナリオ生成ルールを適用すると，まず，１３０９に示すルールが適用され，その結果，
「テレビをつける」
「テレビのスイッチを入れる」
の２つの文が生成される。さらに，１３１２に示すルールが適用され，
「テレビをつけて下さい」
「テレビをつけたい」
「テレビをつけて」
「テレビのスイッチを入れて下さい」
「テレビのスイッチを入れたい」
「テレビのスイッチを入れて」
という６つの文が生成される。ここで，１３１２に示すルール中の，「動詞(基本形)」という記述は，その箇所に基本形の動詞が存在する，ということを表すものとする。「動詞(連用形)」の場合は，同様に，連用形の動詞が存在することを示す。これらの文をよく知られた形態素解析プログラム等を使用して単語単位に区切る等の処理を行った後，音声認識用文法に変換する。音声認識用文法のフォーマットは，使用する音声認識機能が解釈可能な形式を使用すればよい。生成した音声認識用文法は，ステップ３８０１で生成した音声認識用文法名で示されるファイルに格納する。ステップ３８０３では，種類が「スロット」である対話ステップにおいて，選択肢を入力するためのユーザの発話を認識する文法を生成する。この文法は，対話ステップの元になった操作手順に記述されている選択肢の情報に自然言語対話システムの開発者が修正・追加を行った後の情報を用いて生成する。例えば，図２５に示す操作手順に含まれる選択肢に対して「[]と「」ボタン」を削除するように開発者により修正が行われたとすると，ステップ３８０３で対象となる選択肢の内容は，「地上」，「ＢＳ」，「ＣＳ」となる。選択肢に対しては，１３１１に示すルールが適用されるため，
「地上」
「地上です」
「地上にして」
「ＢＳ」
「ＢＳです」
「ＢＳにして」
「ＣＳ」
「ＣＳです」
「ＣＳにして」
という９つの文が生成される。ここで，１３１１に示すルール中の「(選択肢)」という記述は，その箇所を選択肢の各内容で置き換えることを表すものとする。ステップ３８０２の場合と同様に，これらの文をよく知られた形態素解析プログラム等を使用して，単語単位に区切る等の処理を行った後，音声認識用文法に変換する。また，選択肢に対する音声認識用文法では，ユーザが発話した選択肢の内容を入力変数名１５０４に対応付けた結果を音声認識機能が自然言語対話システムに通知できるようにする必要がある。パーソナルコンピュータ等において一般的に用いられている音声認識機能では，ユーザが発話した音声の認識結果中に含まれる情報を該当する変数名とその値という形で出力することが容易に実現できるため，その機能を利用可能とするようなフォーマットで文法を生成すれば良い。以上の説明では，ユーザ要求から生成される音声認識用文法と操作手順から生成した音声認識用文法を一つの記憶領域あるいはファイルに格納するようにしているが，対話ステップ毎に使用する音声認識用文法を切り換えることが可能な自然言語対話システムを使用する場合，ユーザ要求および各操作手順から生成される音声認識用文法を別々の記憶領域あるいはファイルに格納するようにしても良い。また，以上説明したユーザ要求および操作手順から生成される音声認識用文法は，ユーザが要求する対話を起動した後，必要な選択肢をユーザに対して順に入力を促すタイプの対話を想定しているが，自然言語対話システムの中には，起動する対話とその中で必要な選択肢の情報を含むユーザの発話を認識し，対象となる対話の起動と選択肢の設定（すなわち入力変数への代入）を同時に行うことができる自然言語対話システムも存在する。このような自然言語対話システムで利用可能な音声認識用文法は，対話シナリオ生成ルール中に，ユーザ要求内容と選択肢の内容を含む文を生成するルールを記述することにより，容易に生成することができる。また，対話シナリオを開始するための音声認識用文法に，ユーザが要求可能な機能に関して問合せを行うため文法を追加するようにしても良い。例えば，図３７に示す対話ステップが追加された対話シナリオを起動する音声認識用文法に，「テレビを見るための機能には何がありますか？」というような文に対する文法を生成し，追加することができる。この文法の生成は，前記で説明した対話シナリオ生成ルールと同様に，ユーザ要求内容等の文末を変更するルールを用意することにより，容易に実現することができる。これにより，機器やコンピュータプログラムの操作をユーザが依頼するだけでなく，機器やコンピュータプログラムが実行可能な機能をユーザが問合せを行うことが可能となる。
【００５２】
以上述べた処理を行うことにより，情報家電等の機器やコンピュータプログラムの操作マニュアルや取り扱い説明書等の操作対象関連文書から，自然言語対話システムが利用可能な対話シナリオへの変換を行うことが可能となる。
【実施例２】
【００５３】
第二の実施例を図３９〜図４１を用いて説明する。
【００５４】
実施例１では，ユーザが自然言語対話システムに音声等により要求を行い，その内容に基づいて自然言語対話システムが操作対象である情報家電等の機器やコンピュータプログラムを操作するために必要な対話シナリオの生成を行う場合の実施例について説明したが，ユーザが自然言語対話システムに機器やコンピュータプログラムの機能を使用する方法を問合せ，自然言語対話システムがユーザに操作方法の指示を順に指示する形態での対話シナリオを生成するようにすることもできる。
【００５５】
これを行うためには，例えば，実施例１で説明した例において，図３９に示すような対話シナリオ生成ルールを用意する。図３９に示す対話シナリオ生成ルールを図２３，図２４および図２５に示すユーザ要求および操作手順に適用して対話シナリオを生成する場合，まず３９０１に示すルールが適用されることにより，図２４に示す操作手順に対応する操作ステップの応答文には，
「テレビをつける方法を説明します」
という文が追加されることになる。次に，３９０２に示すルールが適用されることにより，図２４および図２５に示す操作内容２４０３および２５０３から，それぞれ次のような応答文が生成される。
「リモコンの[電源]ボタンを押して下さい」
「[地上]ボタン，[BS]ボタン，[CS]ボタンのどれかを押して下さい」
３９０２に示すルールでは，操作内容から応答文を生成しているが，操作内容から抽出した操作対象や選択肢を用いて，独自の表現による応答文を生成するルールを用意し，応答文を生成することもできる。また，３９０３および３９０４に示すルールが適用されることにより，図２４に示す操作手順から図４０および図４１に示す対話ステップが生成される。
【００５６】
図４０において，対話ステップ種類４００１は，３９０３に示すルールにより「ガイダンス」が登録される。同時にコマンド４００３は空白となる。また，応答文４００２は３９０１および３９０２が適用された内容となる。また，図４１は，３９０４に示すルールが適用された結果生成される対話ステップであり，図４０に示す対話ステップの直後に挿入される。図４１に示す対話ステップの内容は，図４０に示す対話ステップにより指示を受けたユーザが，指示を実行したかどうかを確認するためのものであり，「はい」，「次は？」等，直前の指示を完了したことを示す発話がユーザから入力された場合，次の対話ステップに進むことになる。ここで，変数YESNOは，自然言語対話システムからの確認に対するユーザの発話の認識結果が代入される変数の名称である。また，音声認識用文法は，３９０５に示すルールにより，ユーザ要求内容からのみ生成され，操作手順に関する情報から生成しない。図２３に示すユーザ要求のユーザ要求内容に３９０５に示すルールを適用すると，
「テレビをつける方法を教えて下さい」
「テレビをつけるにはどうしたら良いですか？」
というような文が生成され，これらの文が音声認識用文法に変換される。あるいは，操作対象や選択肢等に対するユーザからの質問文，例えば，
「[ＢＳ]ボタンはどこにありますか？」
等の質問文に対する音声認識用文法とそれらに対する対話シナリオも，必要な対話シナリオ生成ルールを用意することにより生成することができる。
【００５７】
以上により，機器やコンピュータプログラムの機能や操作方法の説明を行うユーザとの対話を実現するための対話シナリオも，機器やコンピュータプログラムの操作マニュアルや取り扱い説明書等の操作対象関連文書から生成することが可能となる。
【実施例３】
【００５８】
第三の実施例を図４２を用いて説明する。
【００５９】
実施例１および実施例２における対話シナリオ生成システムでは，対話シナリオ生成部は，抽出項目分析部１０８での処理結果，対話シナリオ生成ルール１１１および情報入出力部１１２より入力される自然言語対話システムの開発者からの情報に基づいて，対話シナリオ１０３を生成する。一方，操作対象となる機器やコンピュータプログラムの中には，実行可能なコマンドに関する情報や利用可能なパラメータ（操作手順における選択肢に該当する情報）を外部から取得可能な場合が存在する。このような操作対象を使用する場合，対話シナリオ生成の際に，操作対象から取得可能な情報も利用することができる。
【００６０】
図４２に，第三の実施例による対話シナリオ生成システムの構成を示す概念ブロック図を示す。図４２において，対話シナリオ生成システムの構成要素は，図１に示す実施例１の場合と同様である。図１と図４２との差異は，対話シナリオ生成部１１０が操作対象１０５と接続されていることである。対話シナリオ生成部１１０は，操作対象１０５に対して実行可能なコマンドや利用可能なパラメータに関する情報の送付を要求し，取得された情報を用いて対話シナリオの生成を行う。操作対象１０５から取得された情報は，例えば，図２６に示した流れ図のステップ２６０４において，自然言語対話システムの開発者に実行判定式の入力を要求する際，操作対象１０５から取得した実行可能なコマンドの一覧を候補として開発者に提示し，一覧から開発者が必要なコマンドを選択できるようにすることができる。また，ステップ２６０６において，自然言語対話システムの開発者に実行判定式やコマンド，選択肢の修正・追加情報の入力を要求する際，操作対象１０５から取得した実行可能なコマンドの一覧や利用可能なパラメータの一覧を候補として開発者に提示し，一覧から開発者が必要なコマンドやパラメータを選択できるようにすることができる。さらに，操作対象となる機器やコンピュータプログラムが実行可能なコマンドや利用可能なパラメータに関する情報は，図示されていないネットワーク等で接続された他のサーバやファイルシステムから取得するようにしても良い。
【００６１】
これにより，対話シナリオを生成するために必要となる開発者の作業を軽減し，効率的に対話シナリオの生成が行うことが可能となる。
【００６２】
以上，種々の実施例を用いて詳述してきた自然言語対話システムは，情報家電等の各種機器やコンピュータプログラムの操作性を向上させるためのインタフェースとして期待できる。本発明による対話シナリオ生成システムは，自然言語対話システムの利用範囲拡大を容易にすることができるため，ユーザインタフェースを有するさまざまな分野の製品への適用が可能である。
【図面の簡単な説明】
【００６３】
【図１】第一の実施例における対話シナリオ生成システムとそれを用いた自然言語対話システムの構成を示す概念ブロック図。
【図２】第一の実施例における対話シナリオ生成システムを計算机上で実現した場合の構成図。
【図３】第一の実施例における想定している操作対象関連文書の一例を示す図。
【図４】第一の実施例における文書構造解析ルールの構成を示す図。
【図５】第一の実施例における文書構造解析ルールにおけるフォーマット情報の内容を表す図。
【図６】第一の実施例における文書構造解析ルールにおける項目除外キーワードの内容を表す図。
【図７】第一の実施例における表現解析ルールの構成を示す図。
【図８】第一の実施例における表現解析ルールに含まれる操作内容抽出ルールのフォーマットを示す図。
【図９】第一の実施例における表現解析ルールに含まれる条件抽出ルールのフォーマットを示す図。
【図１０】第一の実施例における表現解析ルールに含まれる操作種類判定ルールのフォーマットを示す図。
【図１１】第一の実施例における表現解析ルールに含まれる操作対象抽出ルールのフォーマットを示す図。
【図１２】第一の実施例における表現解析ルールに含まれる選択肢検出ルールのフォーマットを示す図。
【図１３】第一の実施例における対話シナリオ生成ルールのフォーマットを示す図。
【図１４】第一の実施例における対話シナリオのフォーマットを示す図。
【図１５】第一の実施例における対話シナリオにおける対話ステップのフォーマットを示す図。
【図１６】第一の実施例における文書項目抽出部において行われる処理の流れを説明する図。
【図１７】第一の実施例における文書項目抽出部において行われた処理結果の一例を示す図。
【図１８】第一の実施例における抽出項目分析部で行われる処理の流れを説明する図。
【図１９】第一の実施例における抽出項目分析部で行われた処理の結果得られた情報を格納するフォーマットを示す図。
【図２０】第一の実施例における抽出項目分析部で行われた処理の結果得られた情報に含まれる操作手順を格納するフォーマットを示す図。
【図２１】抽出項目分析部における，「見出し」と分類された項目に対する分析処理の流れを示す図。
【図２２】第一の実施例における抽出項目分析部における，「手順」と分類された項目に対する分析処理の流れを示す図。
【図２３】第一の実施例における抽出項目分析部で行われた処理結果の一例を示す図。
【図２４】第一の実施例における抽出項目分析部で行われた処理結果の一例を示す図。
【図２５】第一の実施例における抽出項目分析部で行われた処理結果の一例を示す図。
【図２６】第一の実施例における対話シナリオ生成部で行われる処理の流れを示す図。
【図２７】第一の実施例における情報入出力部で使用される画面の一例を示す図。
【図２８】第一の実施例における対話シナリオ生成部で行われる処理において，操作手順を対話ステップに変換する処理の流れを示す図。
【図２９】第一の実施例における操作手順に関する情報の一例を示す図。
【図３０】第一の実施例における対話シナリオ生成部で行われる処理の途中経過の一例を示す図。
【図３１】第一の実施例における対話シナリオ生成部で行われる処理の途中経過の一例を示す図。
【図３２】第一の実施例における対話シナリオ生成部で行われる処理の途中経過の一例を示す図。
【図３３】第一の実施例における対話シナリオ生成部で行われた処理の結果の一例を示す図。
【図３４】第一の実施例における対話シナリオ生成部で行われた処理の結果の一例を示す図。
【図３５】第一の実施例における対話シナリオ生成部で行われた処理の結果の一例を示す図。
【図３６】対第一の実施例における話シナリオ生成部で行われた処理の結果の一例を示す図。
【図３７】第一の実施例における対話シナリオ生成部で行われた処理の結果の一例を示す図。
【図３８】第一の実施例における対話シナリオ生成部において，音声認識用文法を生成する処理の流れを示す図。
【図３９】第二の実施例において使用される対話シナリオ生成ルールを示す図。
【図４０】第二の実施例において生成された対話シナリオの一例を示す図。
【図４１】第二の実施例において生成された対話シナリオの一例を示す図。
【図４２】第三の実施例における対話シナリオ生成システムの構成を示す概念ブロック図。
【符号の説明】
【００６４】
１０１…対話シナリオ生成システム，１０２…操作対象関連文書，１０３…対話シナリオ，１０４…自然言語対話システム，１０５…操作対象，１０６…文書項目抽出部，１０７…文書構造解析ルール，１０８…抽出項目分析部，１０９…表現解析ルール，１１０…対話シナリオ生成部，１１１…対話シナリオ生成ルール，１１２…情報入出力部。
【図１】
2008145769.tif 000003
【図２】
2008145769.tif 000004
【図３】
2008145769.tif 000005
【図４】
2008145769.tif 000006
【図５】
2008145769.tif 000007
【図６】
2008145769.tif 000008
【図７】
2008145769.tif 000009
【図８】
2008145769.tif 000010
【図９】
2008145769.tif 000011
【図１０】
2008145769.tif 000012
【図１１】
2008145769.tif 000013
【図１２】
2008145769.tif 000014
【図１３】
2008145769.tif 000015
【図１４】
2008145769.tif 000016
【図１５】
2008145769.tif 000017
【図１６】
2008145769.tif 000018
【図１７】
2008145769.tif 000019
【図１８】
2008145769.tif 000020
【図１９】
2008145769.tif 000021
【図２０】
2008145769.tif 000022
【図２１】
2008145769.tif 000023
【図２２】
2008145769.tif 000024
【図２３】
2008145769.tif 000025
【図２４】
2008145769.tif 000026
【図２５】
2008145769.tif 000027
【図２６】
2008145769.tif 000028
【図２７】
2008145769.tif 000029
【図２８】
2008145769.tif 000030
【図２９】
2008145769.tif 000031
【図３０】
2008145769.tif 000032
【図３１】
2008145769.tif 000033
【図３２】
2008145769.tif 000034
【図３３】
2008145769.tif 000035
【図３４】
2008145769.tif 000036
【図３５】
2008145769.tif 000037
【図３６】
2008145769.tif 000038
【図３７】
2008145769.tif 000039
【図３８】
2008145769.tif 000040
【図３９】
2008145769.tif 000041
【図４０】
2008145769.tif 000042
【図４１】
2008145769.tif 000043
【図４２】
2008145769.tif 000044