(57)【要約】      （修正有）【課題】シナリオ生成時や編集時の管理者の労力を軽減すること、及び、生成時又は編集時の制限を少なくすることによって直感的な操作を行うことを可能にし、その結果、管理者の利便性を向上させることが可能な対話型サービス提供システムを提供する。【解決手段】サーバ提供用サーバ装置は、受け付けた管理者の指示に基づいて、複数の前記シナリオ構成データをオブジェクトとしてオブジェクト空間内に配置し、かつ、配置されている２以上のシナリオ構成データにおける接続及び切断を制御し、オブジェクト空間内に配置された２以上のシナリオ構成データが接続された場合に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定し、配置されたシナリオ構成データを含むオブジェクト空間を画像化するとともに、判定処理の結果を表示させる構成を有する。【選択図】図２
2020109612.tif 000002
【特許請求の範囲】
【請求項１】
所与の入力テキストを解析し、かつ、当該入力テキストに対応する応答が規定されているシナリオがデータ化されたシナリオデータに基づいて、該当するユーザの希望するサービスを実行する対話型サービス提供システムであって、
前記シナリオデータを管理する管理者の指示を受け付ける受付処理手段と、
前記受け付けた管理者の指示に基づいて、前記シナリオデータを構築するための予め定められた処理を規定するシナリオ構成データを組み合わせて、前記シナリオデータを生成又は編集するシナリオ生成編集手段と、
前記シナリオデータを生成又は編集する際に、前記受け付けた管理者の指示に基づいて、（Ａ）複数の前記シナリオ構成データをオブジェクトとしてオブジェクト空間内に配置し、かつ、（Ｂ）配置されている２以上のシナリオ構成データにおける接続及び切断を制御するオブジェクト配置接続制御手段と、
前記オブジェクト空間内に配置された２以上の前記シナリオ構成データが接続された場合に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する判定手段と、
前記配置されたシナリオ構成データを含む前記オブジェクト空間を画像化するとともに、前記判定処理の結果を表示手段に表示させる表示制御処理を実行する表示制御手段と、
を備えることを特徴とする対話型サービス提供システム。
【請求項２】
請求項１に記載の対話型サービス提供システムにおいて、
前記判定手段が、
前記オブジェクト空間内に配置され、かつ、前記２以上のシナリオ構成データが直接接続された場合に、当該直接接続されたシナリオ構成データ群の一体的な処理が少なくとも前記部分的なシナリオとして正常動作可能か正常動作不能かを判定する前記判定処理を実行する、対話型サービス提供システム。
【請求項３】
請求項１又は２に記載の対話型サービス提供システムにおいて、
前記２以上のシナリオ構成データのうち、前記シナリオ上において時系列的に先に設定された第１のシナリオ構成データが、当該第１のシナリオ構成データの時系列後に接続された他のシナリオ構成データである第２のシナリオ構成データの、前記シナリオ上において実行する上での前提となるシナリオ構成データである、対話型サービス提供システム。
【請求項４】
請求項１〜３のいずれか１項に記載の対話型サービス提供システムにおいて、
前記表示制御手段が、
前記判定処理によって正常動作不能と判定された場合には、前記表示制御処理として、前記該当するシナリオ構成データに関連付けて、前記判定処理の結果をオブジェクトとして表示させる、対話型サービス提供システム。
【請求項５】
請求項４に記載の対話型サービス提供システムにおいて、
前記表示制御手段が、
前記判定処理の結果のオブジェクトを、該当する複数のシナリオ構成データを直接接続する接続オブジェクト上に表示させる、対話型サービス提供システム。
【請求項６】
請求項１〜３のいずれか１項に記載の対話型サービス提供システムにおいて、
前記表示制御手段が、
前記判定処理によって正常動作不能と判定された場合には、前記表示制御処理として、前記該当するシナリオ構成データから次のシナリオ構成データに接続するための接続オブジェクトを非表示にする、対話型サービス提供システム。
【請求項７】
請求項６に記載の対話型サービス提供システムにおいて、
前記該当するシナリオ構成データが前記ユーザに対して複数の選択肢の中から１以上の選択肢を選択させるためのシナリオ構成データの場合には、
前記表示制御手段が、前記表示制御処理として、
前記該当するシナリオ構成データが接続可能な後段のシナリオ構成データの数を示す接続可能数を検出し、
前記管理者の指示に基づく、前記検出された接続可能数と同じ数の前記接続オブジェクトの表示を許可する、対話型サービス提供システム。
【請求項８】
請求項１〜７のいずれか１項に記載の対話型サービス提供システムにおいて、
前記受け付けた管理者の指示に基づいて、前記オブジェクト空間内に配置された前記シナリオ構成データの予め定められた設定可能な項目を設定する設定手段を更に備え、
前記判定手段が、
前記項目設定されたシナリオ構成データにおける、前記予め定められた処理が部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する、対話型サービス提供システム。
【請求項９】
所与の入力テキストを解析し、かつ、当該入力テキストに対応する応答が規定されているシナリオがデータ化されたシナリオデータに基づいて、該当するユーザの希望するサービスを実行するプログラムであって、
前記シナリオデータを管理する管理者の指示を受け付ける受付処理手段、
前記受け付けた管理者の指示に基づいて、前記シナリオデータを構築するための予め定められた処理を規定するシナリオ構成データを組み合わせて、前記シナリオデータを生成又は編集するシナリオ生成編集手段、
前記シナリオデータを生成又は編集する際に、前記受け付けた管理者の指示に基づいて、（Ａ）複数の前記シナリオ構成データをオブジェクトとしてオブジェクト空間内に配置し、かつ、（Ｂ）配置されている２以上のシナリオ構成データにおける接続及び切断を制御するオブジェクト配置接続制御手段、
前記オブジェクト空間内に配置された２以上の前記シナリオ構成データが接続された場合に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する判定手段、及び、
前記配置されたシナリオ構成データを含む前記オブジェクト空間を画像化するとともに、前記判定処理の結果を表示手段に表示させる表示制御処理を実行する表示制御手段、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項１０】
所与の入力テキストを解析し、かつ、当該入力テキストに対応する応答が規定されているシナリオがデータ化されたシナリオデータに基づいて、該当するユーザの希望するサービスを実行する対話型サービス提供システムにおいて用いられる当該シナリオデータの生成又は編集を実行するシナリオ生成編集システムであって、
前記シナリオデータを管理する管理者の指示を受け付ける受付処理手段と、
前記受け付けた管理者の指示に基づいて、前記シナリオデータを構築するための予め定められた処理を規定するシナリオ構成データを組み合わせて、前記シナリオデータを生成又は編集するシナリオ生成編集手段と、
前記シナリオデータを生成又は編集する際に、前記受け付けた管理者の指示に基づいて、（Ａ）複数の前記シナリオ構成データをオブジェクトとしてオブジェクト空間内に配置し、かつ、（Ｂ）配置されている２以上のシナリオ構成データにおける接続及び切断を制御するオブジェクト配置接続制御手段と、
前記オブジェクト空間内に配置された２以上の前記シナリオ構成データが接続された場合に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する判定手段と、
前記配置されたシナリオ構成データを含む前記オブジェクト空間を画像化するとともに、前記判定処理の結果を表示手段に表示させる表示制御処理を実行する表示制御手段と、
を備えることを特徴とするシナリオ生成編集システム。
【請求項１１】
所与の入力テキストを解析し、かつ、当該入力テキストに対応する応答が規定されているシナリオがデータ化されたシナリオデータに基づいて、該当するユーザの希望するサービスを実行する対話型サービス提供システムにおいて用いられる当該シナリオデータの生成又は編集を実行するプログラムであって、
前記シナリオデータを管理する管理者の指示を受け付ける受付処理手段、
前記受け付けた管理者の指示に基づいて、前記シナリオデータを構築するための予め定められた処理を規定するシナリオ構成データを組み合わせて、前記シナリオデータを生成又は編集するシナリオ生成編集手段、
前記シナリオデータを生成又は編集する際に、前記受け付けた管理者の指示に基づいて、（Ａ）複数の前記シナリオ構成データをオブジェクトとしてオブジェクト空間内に配置し、かつ、（Ｂ）配置されている２以上のシナリオ構成データにおける接続及び切断を制御するオブジェクト配置接続制御手段、
前記オブジェクト空間内に配置された２以上の前記シナリオ構成データが接続された場合に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する判定手段、及び
前記配置されたシナリオ構成データを含む前記オブジェクト空間を画像化するとともに、前記判定処理の結果を表示手段に表示させる表示制御処理を実行する表示制御手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話型サービス提供システム、シナリオ生成編集システム及びプログラムなどに関する。
【背景技術】
【０００２】
近年、知識量が豊富なエキスパートのノウハウをベースとしたチャットボットと呼ばれるロボットを用いて、対話型のシナリオに基づいてユーザからの問い合わせに答えるチャットアプリ等のサービスが提案されている。
【０００３】
例えば、チャットボットを提供するシステムは、プログラミング言語やスクリプト言語等を用いたスクリプトによって制御されている。
【０００４】
また、この様なスクリプトを生成するためには、例えば、プログラミング言語やスクリプト言語等で直接記述するハードコーディングやＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｄｅ）を用いてアイコンを配置するコードレスコーディングといった手法が知られている。
【０００５】
しかしながら、従来のチャットボットを提供するシステムは、大量のシナリオ、及び、多くの分岐が存在した場合には、ログの確認やシナリオの全体を簡易に表示することが難しく、かつ、当該シナリオの変更を簡易に行うことが難しいことから、これらを解決するための種々のシステムが登場している。
【０００６】
特に、最近では、複雑化するシナリオを整理して可視化するために、当該シナリオを生成する際に、ある程度システム側で誘導するものが知られている（例えば、非特許文献１）。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｗａｔｓｏｎ  Ｃｏｎｖｅｒｓａｔｉｏｎ  Ｓｅｒｖｉｃｅを利用したチャボット開発の公式サイト［平成３０年１１月３０日検索］（ＵＲＬ：ｈｔｔｐｓ：／／ｗｗｗ．ｉｂｍ．ｃｏｍ／ｗａｔｓｏｎ／ｊｐ−ｊａ／ｈｏｗ−ｔｏ−ｂｕｉｌｄ−ａ−ｃｈａｂｏｔ／）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記非特許文献１などのシナリオに基づいてユーザの要求に対する応答を行うシステムにあっては、管理者によって容易にシナリオを生成させることができるものの、管理者に対する自由度が少なく、かつ、シナリオの生成時又は編集時における管理者をサポートする機能についても不十分の場合がある。
【０００９】
本発明は、上記課題を解決するためになされたものであり、その目的は、シナリオ生成時や編集時の管理者の労力を軽減すること、及び、生成時又は編集時の制限を少なくすることによって直感的な操作を行うことを可能にし、その結果、管理者の利便性を向上させることが可能な対話型サービス提供システムなどを提供することにある。
【課題を解決するための手段】
【００１０】
（１）上述した課題を解決するため、本発明の一態様は、
所与の入力テキストを解析し、かつ、当該入力テキストに対応する応答が規定されているシナリオがデータ化されたシナリオデータに基づいて、該当するユーザの希望するサービスを実行する対話型サービス提供システムであって、
前記シナリオデータを管理する管理者の指示を受け付ける受付処理手段と、
前記受け付けた管理者の指示に基づいて、前記シナリオデータを構築するための予め定められた処理を規定するシナリオ構成データを組み合わせて、前記シナリオデータを生成又は編集するシナリオ生成編集手段と、
前記シナリオデータを生成又は編集する際に、前記受け付けた管理者の指示に基づいて、（Ａ）複数の前記シナリオ構成データをオブジェクトとしてオブジェクト空間内に配置し、かつ、（Ｂ）配置されている２以上のシナリオ構成データにおける接続及び切断を制御するオブジェクト配置接続制御手段と、
前記オブジェクト空間内に配置された２以上の前記シナリオ構成データが接続された場合に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する判定手段と、
前記配置されたシナリオ構成データを含む前記オブジェクト空間を画像化するとともに、前記判定処理の結果を表示手段に表示させる表示制御処理を実行する表示制御手段と、
を備える、構成を有している。
【００１１】
この構成により、本発明は、例えば、２以上のシナリオ構成データの接続や切断によってエラーが生じた場合に、エラー表示や複数のシナリオ構成データを接続するための矢印の非表示などの正常動作不能であることを示す表示制御処理を実行することができる。
【００１２】
すなわち、本発明は、シナリオデータを生成中又は編集中において、複数のシナリオ構成データから構成されるシナリオの一部が生成される毎に、又は、当該シナリオの一部が変更された場合に、該当する複数のシナリオ構成データ部分のシナリオを確認しながら生成又は編集することができる。
【００１３】
特に、本発明は、キーボードや入力ポインティングデバイス（例えば、マウス）などの入力インターフェースと、表示手段（例えば、モニタ）と、を用いてシナリオデータの生成又は編集を実行した場合であって、シナリオデータ（シナリオ構成データを含む。）及び管理者の操作に連動させた操作状況などを表示する場合に、該当するシナリオ構成データ部分のシナリオを確認しながら生成又は編集することができる。
【００１４】
そして、本発明は、例えば、
（Ａ１）数多くのシナリオ構成データが組み込まれた長編のシナリオ、多くの分岐（すなわち、選択肢）が登場する複雑なシナリオ、若しくは、それらが複雑に絡み合った高度のシナリオの生成や編集が実行された場合であっても、
（Ａ２）１つのシナリオデータを複数人の管理者によって生成や編集が実行された場合であっても、又は、
（Ａ３）シナリオの所定の箇所から当該箇所の前段のシナリオの部分（時系列的に先に処理される部分）に戻れる流れにシナリオを編集した場合であっても、
各処理若しくは特定の部分の処理の確認や変更を管理者が意識することなく一つ一つ確認することができるので、容易に利用することができるとともに、その作業効率や操作性を格段に向上させることができる。
【００１５】
また、本発明は、部分的なシナリオ毎にエラーチェックなどを実行することができるとともに、シナリオ構成データの配置や他のシナリオ構成データとの接続を意識しなくても、シナリオを的確に生成又は編集することができるので、シナリオの生成時又は編集時の自由度をも高めることができる。
【００１６】
したがって、本発明は、シナリオ生成時や編集時の管理者の労力を軽減することができるとともに、生成時又は編集時の制限を少なくすることによって直感的な操作を行うことができるので、管理者の利便性を向上させることができる。
【００１７】
なお、「入力テキスト」としては、例えば、文字入力及び音声入力であることが好ましいが、テキストに変換可能な入力であれば特に限定されない。
【００１８】
そして「入力テキストの解析」には、例えば、形態素解析、かな漢字変換、校正支援、係り受け解析、キーフレーズ抽出、及び、自然言語理解を含み、それぞれ、機械学習が行われているものであってもよい。
【００１９】
また、「ユーザ」としては、例えば、本発明のシステムを利用して所定の情報（すなわち、ユーザが取得を希望する情報）の提供を受ける利用者を示し、「管理者」とは、例えば、ユーザに情報を提供する情報提供者、又は、情報提供者に代わって本発明のシステムを運営する運営者を示す。
【００２０】
そして、「ユーザが希望するサービスを提供する」には、例えば、ユーザが希望する情報（所定の商品やサービスに関する問い合わせ内容の他に、画像や音声などのコンテンツを含む。）を提供すること、商品やサービスの売買に関する情報、又は、ユーザが管理者に対して希望する問い合わせ（例えば、電子メールや電話などの所定の通信手段による問い合わせ）を完了すること（回答を要求するまで）など、いわゆる、製品やサービスのカスタマーセンター又はコールセンターの代替となるサービスなどを含む。
【００２１】
特に、ユーザが希望する情報としては、検索キーとなる入力テキストに基づいて、
（Ｂ１）予め各種の情報が検索キーと対応付けられて記憶されているデータベースから取得した情報（コンテンツを含む。）を提供すること、又は、
（Ｂ２）ネットワークを介して外部の検索エンジンなどの検索結果若しくはその結果物（コンテンツを含む。）を提供すること、
を含む。
【００２２】
さらに、「シナリオ」とは、ユーザの希望するサービスを提供するための複数の処理を規定するものであり、各処理の内容とその順序、及び、当該処理を実行する際に必要なデータの種別やその内容が規定されたものである。
【００２３】
そして「シナリオのデータ化」とは、例えば、シナリオが、所定のタイミングにおいて実行されるプログラムとして規定されていることを示す。
【００２４】
上記に加えて、「予め定められた処理を規定するシナリオ構成データ」とは、例えば、シナリオ上、所与の処理を規定するためのノードである。
【００２５】
そして、「２以上のシナリオ構成データ」又は「シナリオ構成データ群」とは、例えば、直列接続された２以上のシナリオ構成データ、又は、１のシナリオ構成データに並列接続された複数のシナリオ構成データであることなどを示す。ただし、「２以上のシナリオ構成データ」又は「シナリオ構成データ群」としては、階層（直列的な階層又は並列的な階層）を有するシナリオ構成データであってもよい。
【００２６】
また、「２以上のシナリオ構成データ」は、同一の処理や同一の機能を有するものであってもよいし、異なる処理や異なる機能を有するものであってもよい。ただし、「２以上のシナリオ構成データ」は、シナリオ上において問い合わせ内容や質問とその回答、又は、検索要求と検索結果などユーザの入力に対する応答や当該入力に対する出力事項の関係となる一対のノード（すなわち、２以上のノードであってもよい。）が好ましい。
【００２７】
特に、「シナリオ構成データ」には、例えば、
（Ｃ１）ユーザの入力したテキストや選択したボタンを解析し、その内容によってシナリオを分岐させるためのノード（以下、「ユーザノード」という。）、
（Ｃ２）チャットボット（すなわち、システム側）からの発言やデータをユーザに提示するためのノード（以下、「ボットノード」という。）、
（Ｃ３）Ｑ＆Ａなどのユーザに複数の選択肢を提示し、当該提示した選択肢の中から選択された選択肢に対する処理を実行するノード（以下、「Ｑ＆Ａノード」という。）
（Ｃ４）複数の選択肢を提示して選択された選択肢に対するシナリオに分岐させるためのノード（以下、「複数Ｑ＆Ａノード」という。）
（Ｃ５）条件に従ってシナリオを分岐させるためのノード（条件設定ノード）、
（Ｃ６）ユーザが当該ノードを通過したときに電子メールやチャットなどによって所定の通知を管理者又はユーザが受け取るためのノード（以下、「通知ノード」という。）、
（Ｃ７）強制的に他のノードにジャンプするノード（以下、「ジャンプノード」という。）、
（Ｃ８）所定の入力テキストを受け付けた場合に強制的に該当する処理を実行するためのノード（以下、「インテントノード」という。）、及び、
（Ｃ９）ノードの中に別のシナリオを作成するためのノード（以下、「コンポーネントノード」という。）
などが含まれる。
【００２８】
そして、「２以上のシナリオ構成データにおける接続及び切断」とは、例えば、矢印オブジェクトなどの接続オブジェクトを介して２以上のシナリオ構成データがシナリオ上においてもかつオブジェクト空間上の視覚的にも接続されること、又は、当該接続が切断されることを示す。ただし、接続オブジェクトを介することなく、シナリオ上においても、かつ、オブジェクト空間上の視覚的にも接続されてもよく、また、シナリオの構成上のみ、又は、、オブジェクト空間上において視覚的にのみ接続されていなくてもよい。
【００２９】
さらに、「正常動作不能」には、例えば、直前又は直後に連続的に接続された２つシナリオ構成データとの関係において入力及び出力の条件や数が一致しない場合（シナリオ構成データの組み合わせの不具合）などを示す
【００３０】
またさらに、「判定処理の結果」とは、例えば、正常動作不能を示すエラー表示、及び、正常動作可能を示す正常表示を示すが、基本的には、当該エラー表示が好ましい。
【００３１】
そして、「表示制御処理」には、例えば、シナリオ構成データの近傍やそれらを接続するオブジェクト（例えば矢印）上に、又は、シナリオ構成データが配置されているオブジェクト空間とは別のオブジェクト空間に該当するシナリオ構成でデータのＩＤなどの識別情報とともに、正常動作可能又は正常動作不能であることを示す表示を行うことなどが含まれる。
【００３２】
（２）また、上記した（１）に記載の対話型サービス提供システムは、
前記判定手段が、
前記オブジェクト空間内に配置され、かつ、前記２以上のシナリオ構成データが直接接続された場合に、当該直接接続されたシナリオ構成データ群の一体的な処理が少なくとも前記部分的なシナリオとして正常動作可能か正常動作不能かを判定する前記判定処理を実行する、構成を有していてもよい。
【００３３】
この構成を有する場合には、例えば、直接的に接続された２以上のシナリオ構成データにおいて、シナリオの流れに沿ってエラーなどの不具合を判定し、管理者に知らせることができる。
【００３４】
したがって、この場合には、シナリオの生成中又は編集中に瞬時にエラーなどの不具合を見つけ出すことができるので、シナリオ全体を実行させてみて初めてエラーの有無が通知される場合に比べて管理者の労力を軽減することができるとともに、管理者の利便性を向上させることができる。
【００３５】
（３）また、上記した（１）又は（２）に記載の対話型サービス提供システムは、
前記２以上のシナリオ構成データのうち、前記シナリオ上において時系列的に先に設定された第１のシナリオ構成データが、当該第１のシナリオ構成データの時系列後に接続された他のシナリオ構成データである第２のシナリオ構成データの、前記シナリオ上において実行する上での前提となるシナリオ構成データである、構成を有していてもよい。
【００３６】
この構成を有する場合には、シナリオの問い合わせや質問と回答の組み合わせ、選択肢の提示と各選択肢の処理、又は、検索キーの入力とその結果の表示など１つのシナリオ構成データによって形成させることが難しく、複数のシナリオ構成データによって形成することが作業的又は視覚的に容易となる場合にも、シナリオの生成中又は編集中に瞬時にエラーなどの不具合を見つけ出すことができる。
【００３７】
したがって、この場合には、作業効率がよく、かつ、管理者の利便性を向上させることができるとともに、管理者としてシナリオ生成又は編集する上で、高度な知識を有することなく、利用することができる。
【００３８】
なお、「前提となるシナリオ構成データ」とは、例えば、当該シナリオ構成データが実行されなければ、当該シナリオ構成データの後段で実行されるシナリオ構成データの実行が成立しない関係のあるシナリオ構成データのことを示す。
【００３９】
（４）また、上記した（１）〜（３）のいずれかに記載の対話型サービス提供システムは、
前記表示制御手段が、
前記判定処理によって正常動作不能と判定された場合には、前記表示制御処理として、前記該当するシナリオ構成データに関連付けて、前記判定処理の結果をオブジェクトとして表示させる、構成を有していてもよい。
【００４０】
この構成を有する場合には、シナリオデータを生成中又は編集中において、例えば、エラーなどの不具合を当該発生したシナリオ構成データに関連付けて視覚化させることができるので、管理者に容易にエラーなどを迅速にかつ容易に特定させることができる。
【００４１】
なお、「シナリオ構成データに関連付けて、判定処理の結果をオブジェクトとして表示させる」とは、例えば、表示されているシナリオ構成データのオブジェクトの近傍に表示すること、オブジェクト空間とは異なるオブジェクト空間に、シナリオ構成データ名とともに表示することを示し、判定処理の結果を示すオブジェクトを、オブジェクト空間上に配置制御して表示させてもよいし、画像化されたオブジェクト空間に重畳して表示させてもよい。
【００４２】
（５）また、上記した（４）に記載の対話型サービス提供システムは、
前記表示制御手段が、
前記判定処理の結果のオブジェクトを、該当する複数のシナリオ構成データを直接接続する接続オブジェクト上に表示させる、構成を有していてもよい。
【００４３】
この構成を有する場合には、シナリオデータを生成中又は編集中において、シナリオ上における不具合の箇所を管理者に視覚的にかつ容易に知らせることができる。
【００４４】
なお、「接続オブジェクト」には、例えば、フローチャート等によって用いられるコネクタ（例えば、シナリオの流れを示す矢印など）が含まれる。
【００４５】
（６）また、上記した（１）〜（３）のいずれかに記載の対話型サービス提供システムは、
前記表示制御手段が、
前記判定処理によって正常動作不能と判定された場合には、前記表示制御処理として、前記該当するシナリオ構成データから次のシナリオ構成データに接続するための接続オブジェクトを非表示にする、構成を有していてもよい。
【００４６】
この構成を有する場合には、シナリオデータを生成中又は編集中において、例えば、接続オブジェクトとしての矢印を該当するシナリオ構成データから次のシナリオ構成データに向けて描けない又は接続できないなど、エラーなどの不具合を当該発生したシナリオ構成データに関連付けて視覚化させることができるとともに、シナリオの生成又は編集の完了、又は、その継続を強制的に禁止させることができるので、管理者に容易にエラーなどを迅速にかつ容易に特定させることができる。
【００４７】
なお、「該当するシナリオ構成データ」は、例えば、上述の２以上のシナリオ構成データに含まれるシナリオ構成データであるが、当該２以上のシナリオ構成データのうち、時系列的に後に実行される１以上のシナリオ構成データであることが好ましい。
【００４８】
この場合には、「次のシナリオ構成データ」は、時系列的に後のシナリオ構成データの次に実行される１以上のシナリオ構成データを示す。
【００４９】
（７）また、上記した（６）に記載の対話型サービス提供システムは、
前記該当するシナリオ構成データが前記ユーザに対して複数の選択肢の中から１以上の選択肢を選択させるためのシナリオ構成データの場合には、
前記表示制御手段が、前記表示制御処理として、
前記該当するシナリオ構成データが接続可能な後段のシナリオ構成データの数を示す接続可能数を検出し、
前記管理者の指示に基づく、前記検出された接続可能数と同じ数の前記接続オブジェクトの表示を許可する、構成を有していてもよい。
【００５０】
この構成を有する場合には、シナリオデータを生成中又は編集中において、複数のシナリオ構成データから構成されるシナリオの一部が生成される毎に、又は、当該シナリオの一部が変更された場合に、当該複数のシナリオ構成データ部分のシナリオを確認しながら生成又は編集することができる。
【００５１】
（８）また、上記した（１）〜（７）のいずれかに記載の対話型サービス提供システムは、
前記受け付けた管理者の指示に基づいて、前記オブジェクト空間内に配置された前記シナリオ構成データの予め定められた設定可能な項目を設定する設定手段を更に備え、
前記判定手段が、
前記項目設定されたシナリオ構成データにおける、前記予め定められた処理が部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する、構成を有していてもよい。
【００５２】
この構成を有する場合には、シナリオデータを生成中又は編集中において、複数のシナリオ構成データから構成されるシナリオの一部が生成される毎に、又は、当該シナリオの一部が変更された場合に、当該複数のシナリオ構成データ部分のシナリオを確認しながら生成又は編集することができる。
【００５３】
なお、「設定可能な項目」としては、選択肢の数や内容、ユーザに提供する情報の種別や内容、及び、受け付ける入力テキストの種別や内容などが含まれる。
【００５４】
（９）また、本発明の一態様は、
所与の入力テキストを解析し、かつ、当該入力テキストに対応する応答が規定されているシナリオがデータ化されたシナリオデータに基づいて、該当するユーザの希望するサービスを実行するプログラムであって、
前記シナリオデータを管理する管理者の指示を受け付ける受付処理手段、
前記受け付けた管理者の指示に基づいて、前記シナリオデータを構築するための予め定められた処理を規定するシナリオ構成データを組み合わせて、前記シナリオデータを生成又は編集するシナリオ生成編集手段、
前記シナリオデータを生成又は編集する際に、前記受け付けた管理者の指示に基づいて、（Ａ）複数の前記シナリオ構成データをオブジェクトとしてオブジェクト空間内に配置し、かつ、（Ｂ）配置されている２以上のシナリオ構成データにおける接続及び切断を制御するオブジェクト配置接続制御手段、
前記オブジェクト空間内に配置された２以上の前記シナリオ構成データが接続された場合に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する判定手段、及び、
前記配置されたシナリオ構成データを含む前記オブジェクト空間を画像化するとともに、前記判定処理の結果を表示手段に表示させる表示制御処理を実行する表示制御手段、
としてコンピュータを機能させる、構成を有している。
【００５５】
この構成により、シナリオデータを生成中又は編集中において、複数のシナリオ構成データから構成されるシナリオの一部が生成される毎に、又は、当該シナリオの一部が変更された場合に、該当する複数のシナリオ構成データ部分のシナリオを確認しながら生成又は編集することができる。
【００５６】
また、部分的なシナリオ毎にエラーチェックなどを実行することができるとともに、シナリオ構成データの配置や他のシナリオ構成データとの接続を意識しなくても、シナリオを的確に生成又は編集することができるので、シナリオの生成時又は編集時の自由度をも高めることができる。
【００５７】
したがって、シナリオ生成時や編集時の管理者の労力を軽減することができるとともに、生成時又は編集時の制限を少なくすることによって直感的な操作を行うことができるので、管理者の利便性を向上させることができる。
【００５８】
（１０）また、本発明における他の一態様は、
所与の入力テキストを解析し、かつ、当該入力テキストに対応する応答が規定されているシナリオがデータ化されたシナリオデータに基づいて、該当するユーザの希望するサービスを実行する対話型サービス提供システムにおいて用いられる当該シナリオデータの生成又は編集を実行するシナリオ生成編集システムであって、
前記シナリオデータを管理する管理者の指示を受け付ける受付処理手段と、
前記受け付けた管理者の指示に基づいて、前記シナリオデータを構築するための予め定められた処理を規定するシナリオ構成データを組み合わせて、前記シナリオデータを生成又は編集するシナリオ生成編集手段と、
前記シナリオデータを生成又は編集する際に、前記受け付けた管理者の指示に基づいて、（Ａ）複数の前記シナリオ構成データをオブジェクトとしてオブジェクト空間内に配置し、かつ、（Ｂ）配置されている２以上のシナリオ構成データにおける接続及び切断を制御するオブジェクト配置接続制御手段と、
前記オブジェクト空間内に配置された２以上の前記シナリオ構成データが接続された場合に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する判定手段と、
前記配置されたシナリオ構成データを含む前記オブジェクト空間を画像化するとともに、前記判定処理の結果を表示手段に表示させる表示制御処理を実行する表示制御手段と、
を備える、構成を有している。
【００５９】
この構成により、シナリオデータを生成中又は編集中において、複数のシナリオ構成データから構成されるシナリオの一部が生成される毎に、又は、当該シナリオの一部が変更された場合に、該当する複数のシナリオ構成データ部分のシナリオを確認しながら生成又は編集することができる。
【００６０】
また、部分的なシナリオ毎にエラーチェックなどを実行することができるとともに、シナリオ構成データの配置や他のシナリオ構成データとの接続を意識しなくても、シナリオを的確に生成又は編集することができるので、シナリオの生成時又は編集時の自由度をも高めることができる。
【００６１】
したがって、この場合には、シナリオ生成時や編集時の管理者の労力を軽減することができるとともに、生成時又は編集時の制限を少なくすることによって直感的な操作を行うことができるので、管理者の利便性を向上させることができる。
【００６２】
（１１）また、本発明における他の一態様は、
所与の入力テキストを解析し、かつ、当該入力テキストに対応する応答が規定されているシナリオがデータ化されたシナリオデータに基づいて、該当するユーザの希望するサービスを実行する対話型サービス提供システムにおいて用いられる当該シナリオデータの生成又は編集を実行するプログラムであって、
前記シナリオデータを管理する管理者の指示を受け付ける受付処理手段、
前記受け付けた管理者の指示に基づいて、前記シナリオデータを構築するための予め定められた処理を規定するシナリオ構成データを組み合わせて、前記シナリオデータを生成又は編集するシナリオ生成編集手段、
前記シナリオデータを生成又は編集する際に、前記受け付けた管理者の指示に基づいて、（Ａ）複数の前記シナリオ構成データをオブジェクトとしてオブジェクト空間内に配置し、かつ、（Ｂ）配置されている２以上のシナリオ構成データにおける接続及び切断を制御するオブジェクト配置接続制御手段、
前記オブジェクト空間内に配置された２以上の前記シナリオ構成データが接続された場合に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する判定手段、及び
前記配置されたシナリオ構成データを含む前記オブジェクト空間を画像化するとともに、前記判定処理の結果を表示手段に表示させる表示制御処理を実行する表示制御手段、
として機能させる、構成を有している。
【００６３】
この構成により、シナリオデータを生成中又は編集中において、複数のシナリオ構成データから構成されるシナリオの一部が生成される毎に、又は、当該シナリオの一部が変更された場合に、該当する複数のシナリオ構成データ部分のシナリオを確認しながら生成又は編集することができる。
【００６４】
また、部分的なシナリオ毎にエラーチェックなどを実行することができるとともに、シナリオ構成データの配置や他のシナリオ構成データとの接続を意識しなくても、シナリオを的確に生成又は編集することができるので、シナリオの生成時又は編集時の自由度をも高めることができる。
【００６５】
したがって、この場合には、シナリオ生成時や編集時の管理者の労力を軽減することができるとともに、生成時又は編集時の制限を少なくすることによって直感的な操作を行うことができるので、管理者の利便性を向上させることができる。
【図面の簡単な説明】
【００６６】
【図１】情報処理システム１の構成を示すシステム構成図である。
【図２】一実施形態におけるサービス提供用サーバ装置の構成を示す機能ブロック図である。
【図３】一実施形態におけるサービス提供用サーバ装置によって実行される配置制御処理を説明するための図である。
【図４】一実施形態におけるサービス提供用サーバ装置によって実行される接続切断制御処理を説明するための図である。
【図５】一実施形態におけるサービス提供用サーバ装置によって実行される判定処理を説明するための図（その１）である。
【図６】一実施形態におけるサービス提供用サーバ装置によって実行される判定処理を説明するための図（その２）である。
【図７】一実施形態におけるサービス提供用サーバ装置によって実行される表示制御処理を説明するための図（その１）である。
【図８】一実施形態におけるサービス提供用サーバ装置によって実行される表示制御処理を説明するための図（その２）である。
【図９】一実施形態におけるサービス提供用サーバ装置によって実行される表示制御処理を説明するための図（その３）である。
【図１０】一実施形態のサービス提供用サーバ装置によって実行されるシナリオ生成編集処理（オブジェクト配置接続制御処理（接続切断制御処理）、判定処理及び表示制御処理）を示すフローチャートである。
【発明を実施するための形態】
【００６７】
以下、図面を参照しつつ、本発明の実施形態について説明する。なお、以下の実施形態は、ユーザの問い合わせに対してチャットボットを用いて対話を行いつつ、自動的にその応答を行うシステム（以下、「情報処理システム」という。）に対し、本発明に係る対話型サービス提供システムなどを適用した場合の実施形態である。
【００６８】
［１］情報処理システムの概要
まず、図１を用いて本実施形態における情報処理システム１の概要及び構成について説明する。
【００６９】
なお、図１は、本実施形態における情報処理システム１の構成を示すシステム構成図である。
【００７０】
また、図１においては、図が煩雑になることを防止するために、一部のユーザ、及び、通信端末装置のみを表示している。すなわち、実際の情報処理システム１においては、表示するよりも多数のユーザ及び通信端末装置が存在している。
【００７１】
本実施形態の情報処理システム１は、
（Ａ１）ユーザ（すなわち、当該情報処理システム１の利用者）が希望する情報（所定の商品やサービスに関する問い合わせ内容の他に、画像や音声などのコンテンツを含む。）を提供すること、
（Ａ２）商品やサービスの売買に関する情報や当該売買を行うこと、又は、
（Ａ３）ユーザがサービスを提供する管理者（具体的には、ユーザが希望する情報を提供する提供者や問い合わせ先、又は、当該情報処理システム１を運営する運営者）管理者に対して希望する問い合わせ（例えば、電子メールや電話などの所定の通信手段による問い合わせ）を完了すること（回答を要求するまで）
など、いわゆる、製品やサービスのカスタマーセンター又はコールセンターの代替となるサービスを提供するためのシステムである。
【００７２】
特に、情報処理システム１は、ユーザが希望する情報として、検索キーとなる入力テキストに基づいて、
（Ａ１−１）予め各種の情報が検索キーと対応付けられて記憶されているデータベースから取得した情報（コンテンツを含む。）又は、
（Ａ１−２）ネットワークを介して外部の検索エンジンなどの検索結果若しくはその結果物（コンテンツを含む。）、
を提供するための構成を有している。
【００７３】
そして、本実施形態の情報処理システム１は、予め規定されたシナリオを用いるとともに、当該シナリオに基づいて、ユーザからの入力に応じて対話を行いつつ、当該ユーザからの問い合わせ、質問、又は、検索要求など、入力に対する応答や出力事項を提供する構成を有している。
【００７４】
具体的には、本実施形態の情報処理システム１は、ユーザによって用いられるユーザ用端末装置１０と、サービスを提供する管理者（具体的には、ユーザが希望する情報を提供する提供者や問い合わせ先、又は、当該情報処理システム１を運営する運営者）によって管理運用され、ネットワーク２０を介して、通信接続されたユーザ用端末装置１０のユーザに対して、チャットボットを用いたサービスを提供するサービス提供用サーバ装置３０と、を備えている。
【００７５】
ユーザ用端末装置１０は、ユーザによって利用されるＰＣ（パーソナルコンピュータ）、タブレット型情報通信端末装置、スマートフォン、携帯型電話機等の通信端末装置である。
【００７６】
特に、ユーザ用端末装置１０は、キーボード、マウス、テンキー等の操作機能と、液晶パネル、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）パネル等の表示素子によって構成される表示機能を有している。
【００７７】
また、ユーザ用端末装置１０は、所定のアプリケーションを実行するＣＰＵを有し、サービス提供用サーバ装置３０とデータ通信を実行し、ユーザが所望するサービスを享受するための構成を有している。
【００７８】
特に、ユーザ用端末装置１０は、ユーザによってテキストが入力された場合には、入力されたテキストをテキストデータとしてサービス提供用サーバ装置３０に送信し、ユーザの入力によって音声データや画像データを受け付けた場合には、所与の音声解析や画像解析を実行して入力された音声データや画像データをテキストデータに変換し、変換したテキストデータをサービス提供用サーバ装置３０に送信する。
【００７９】
サービス提供用サーバ装置３０は、各種のデータベース（以下、「ＤＢ」という。）を有するコンピュータシステムであり、かつ、サービスの提供者又は当該サービスの管理を行う管理者（以下、まとめて「管理者」という。）によって運営されるシステムである。
【００８０】
また、サービス提供用サーバ装置３０は、ユーザによって入力された所与のテキスト（以下、「入力テキスト」という。）を解析し、かつ、当該入力テキストに対応する応答が規定されているチャットボットを用いたサービスなどのシナリオを用いて各ユーザの希望するサービスを実現するための構成を有している。
【００８１】
そして、サービス提供用サーバ装置３０は、このようなサービスを運用するためのシナリオがデータ化されたシナリオデータの生成又は編集を実行し、当該生成又は編集されたシナリオデータに沿って各種のサービスを提供する構成を有している。
【００８２】
特に、本実施形態の情報処理システム１は、シナリオデータの生成中又は編集中において、複数のシナリオ構成データから構成されるシナリオの一部が生成される毎に、又は、当該シナリオの一部が変更された場合に、該当するシナリオ構成データから構成されるシナリオの一部分（以下、「部分シナリオ」ともいう。）を確認しながら生成又は編集することが可能な構成を有している。
【００８３】
そして、情報処理システム１は、例えば、キーボードや入力ポインティングデバイス（例えば、マウス）などの入力インターフェースと、モニタと、を用いてシナリオデータの生成又は編集を実行した場合であって、シナリオデータ（シナリオ構成データを含む。）及び管理者の操作に連動させた操作状況などを表示する場合に、該当するシナリオ構成データ部分のシナリオを確認しながら生成又は編集することが可能な構成を有している。
【００８４】
具体的には、サービス提供用サーバ装置３０は、
（Ｂ１）シナリオを管理する管理者の指示を受け付ける受付処理、
（Ｂ２）受け付けた管理者の指示に基づいて、シナリオデータを構築するための予め定められた処理を規定するシナリオ構成データを組み合わせて、シナリオデータを生成又は編集するシナリオ生成編集処理、
（Ｂ３）シナリオデータを生成又は編集する際に、前記受け付けた管理者の指示に基づいて、（Ｂ３−１）複数の前記シナリオ構成データをオブジェクトとしてオブジェクト空間内に配置し、かつ、（Ｂ３−２）配置されている２以上のシナリオ構成データにおける接続及び切断を制御するオブジェクト配置接続制御処理、
（Ｂ４）オブジェクト空間内に配置された２以上のシナリオ構成データが接続された場合（例えば、直接接続された場合）に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理、及び、
（Ｂ５）配置されたシナリオ構成データを含むオブジェクト空間を画像化するとともに、判定処理の結果を表示させる表示制御処理、
を実行する構成を有している。
【００８５】
特に、サービス提供用サーバ装置３０は、判定処理としては、シナリオ構成データ群を形成する２以上のシナリオ構成データが、シナリオ上において時系列的に前後となる場合（すなわち、シナリオ上先に設定された第１のシナリオ構成データと、当該第１のシナリオ構成データの時系列後に接続された第２のシナリオ構成データとによって、シナリオ構成データ群が形成される場合）に、シナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定するようになっている。
【００８６】
このような構成により、本実施形態の情報処理システム１は、例えば、
（Ｃ１）数多くのシナリオ構成データが組み込まれた長編のシナリオ、多くの分岐（すなわち、選択肢）が登場する複雑なシナリオ、若しくは、それらが複雑に絡み合った高度のシナリオの生成や編集が実行された場合であっても、
（Ｃ２）１つのシナリオデータを複数人の管理者によって生成や編集が実行された場合であっても、又は、
（Ｃ３）シナリオの所定の箇所から当該箇所の前段のシナリオの部分（時系列的に先に処理される部分）に戻れる流れにシナリオを編集した場合であっても、
各処理若しくは特定の部分の処理の確認や変更を管理者が意識することなく一つ一つ確認することができるので、容易に利用することができるとともに、その作業効率や操作性を格段に向上させることができるようになっている。
【００８７】
また、本実施形態の情報処理システム１は、部分的なシナリオ毎にエラーチェックなどを実行することができるとともに、シナリオ構成データの配置や他のシナリオ構成データとの接続を意識しなくても、シナリオを的確に生成又は編集することができるので、シナリオの生成時又は編集時の自由度をも高めることができるようになっている。
【００８８】
そして、本実施形態の情報処理システム１は、シナリオ生成時や編集時の管理者の労力を軽減することができるとともに、生成時又は編集時の制限を少なくすることによって直感的な操作を行うことができるので、管理者の利便性を向上させることができるようになっている。
【００８９】
［２］サービス提供用サーバ装置
［２．１］構成
次に、図２を用いて本実施形態のサービス提供用サーバ装置３０の構成について説明する。なお、図２は、本実施形態のサービス提供用サーバ装置３０の構成を示す機能ブロック図である。
【００９０】
通信制御部３１０は、所定のネットワークインターフェースであり、各ユーザ用端末装置１０と通信チャネルを構築し、各種データの授受を行う。
【００９１】
ＲＯＭ／ＲＡＭ３２０には、サービス提供用サーバ装置３０の駆動に必要な各種のプログラムが記憶されている。また、ＲＯＭ／ＲＡＭ３２０は、各種の処理が実行される際のワークエリアとして用いられる。
【００９２】
データ記憶部３３０は、ＨＤＤ、又は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）により構成される。
【００９３】
また、データ記憶部３３０には、各種のアプリケーションが記憶されるアプリケーションＤＢ３３１と、生成されたシナリオデータ及び当該シナリオデータを生成する際に基本的な機能が規定された各シナリオ構成データが記憶されるシナリオＤＢ３３２と、が構築される。
【００９４】
アプリケーションＤＢ３３１には、少なくとも、ユーザの入力に基づき予め設定されたシナリオ及びチャットボットを用いて各種のサービスを提供するためのアプリケーション（以下、「サービス運用アプリケーション」という。）及び当該チャットボットを用いて提供するサービスのシナリオを生成するためのアプリケーション（以下、「シナリオ生成編集アプリケーション」という。）と、当該各アプリケーションを実行する際に用いる各種のデータと、が記憶されている。
【００９５】
シナリオＤＢ３３２には、管理者によって設定されたシナリオデータと、シナリオデータを生成する際に用いられるシナリオ構成データと、が記憶されている。
【００９６】
シナリオデータとは、チャットボットを用いたサービスを提供するために、管理者によって設定されたデータであって、ユーザの希望するサービスを提供するための複数の処理を規定し、各処理の内容とその順序、及び、当該処理を実行する際に必要なデータの種別やその内容が規定されているデータである。
【００９７】
そして、シナリオデータは、外部のデータベースや上記の各種のアプリケーションと連携して各種のサービスを提供することが可能なデータ構成を有している。
【００９８】
シナリオ構成データとは、シナリオ上の予め定められた個々の処理を規定するデータである。
【００９９】
例えば、シナリオ構成データとしては、
（Ａ１）ユーザの入力したテキストや選択したボタンを解析し、その内容によってシナリオを分岐させるためのノード（以下、「ユーザノード」という。）、
（Ａ２）チャットボット（すなわち、システム側）からの発言やデータをユーザに提示するためのノード（以下、「ボットノード」という。）、
（Ａ３）Ｑ＆Ａなどのユーザに複数の選択肢を提示し、当該提示した選択肢の中から選択された選択肢に対する処理を実行するノード（以下、「Ｑ＆Ａノード」という。）
（Ａ４）複数の選択肢を提示して選択された選択肢に対するシナリオに分岐させるためのノード（以下、「複数Ｑ＆Ａノード」という。）
（Ａ５）条件に従ってシナリオを分岐させるためのノード（条件設定ノード）、
（Ａ６）ユーザが当該ノードを通過したときに電子メールやチャットなどによって所定の通知を管理者又はユーザが受け取るためのノード（以下、「通知ノード」という。）、
（Ａ７）強制的に他のノードにジャンプするノード（以下、「ジャンプノード」という。）、
（Ａ８）所定の入力テキストを受け付けた場合に強制的に該当する処理を実行するためのノード（以下、「インテントノード」という。）、及び、
（Ａ９）ノードの中に別のシナリオを作成するためのノード（以下、「コンポーネントノード」という。）
などが含まれる。
【０１００】
管理制御部３４０は、主に中央演算処理装置（ＣＰＵ）によって構成され、プログラムを実行することによって、サービス提供用サーバ装置３０の各部を統合制御する。
【０１０１】
データ処理部２００は、管理制御部３４０と同一の中央演算処理装置（ＣＰＵ）によって、又は、管理制御部３４０と異なる中央演算処理装置（ＣＰＵ）によって構成され、アプリケーションを実行することによって各種の処理を実現する。
【０１０２】
特に、データ処理部２００は、管理者によって設定されたシナリオ基づいてチャットボットを用いたサービスを提供するためのサービス提供処理を実行するサービス制御部２１０と、管理者の指示に基づいて、新規なシナリオの生成、又は、既に生成されたシナリオの編集を行うシナリオ生成編集処理を実行するシナリオ生成編集制御部２２０と、を実現する。
【０１０３】
そして、本実施形態におけるサービス制御部２１０及びシナリオ生成編集制御部２２０の詳細及びその動作については後述する。
【０１０４】
表示部３７０は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、又は、ＨＭＤ（ヘッドマウントディスプレイ）などによって実現され、タスクデータに基づいて各種のタスクに関する画像、又は、認知機能の測定結果に関する画像を表示する。なお、例えば、本実施形態の表示部３７０は、本発明の表示手段を構成する。
【０１０５】
描画制御部３８０は、配置されたシナリオ構成データを含むオブジェクト空間及び判定処理の結果を表示部３７０に表示させるための画像を生成する。
【０１０６】
操作部３９０は、管理者による操作データを入力するためのものであり、その機能は、タッチパネル又はタッチパネル型ディスプレイなどにより実現できる。
【０１０７】
すなわち、操作部３９０は、表示部３７０に画像が表示される画面上における２次元の指示位置座標（ｘ，ｙ）を検出可能な検出部（タッチパネル）を備え、指先又はタッチペンなどの入力機器を用いたタッチパネル上の接触操作を検出する。
【０１０８】
なお、操作部３９０は、指示位置以外の操作情報（操作信号）を入力可能なボタンやレバー、キーボード、マイク、加速度センサ、マウス、トラックパッド又は視線を用いた入力デバイス（視線入力装置）などを備えていてもよい。
【０１０９】
［２．２］サービス提供処理
次に、本実施形態のサービス制御部２１０によって実行されるサービス提供処理の詳細について説明する。 
【０１１０】
サービス制御部２１０は、サービス提供処理を実行するため、サービス運用アプリケーションを実行することによって、ユーザ用端末装置１０においてユーザに入力されたテキストなどのデータ（以下、「入力データ」という。）を受け付けるユーザ入力受付部２１１と、入力された入力データを解析してユーザの指示を認識するユーザ入力解析部２１２と、認識したユーザの指示に基づいて、所定の処理を実行し、ユーザが希望する情報を応答して提供する応答制御部２１３と、から構成されている。
【０１１１】
ユーザ入力受付部２１１は、ユーザによって入力されたテキストデータを受け付けてもよいし、音声データ、又は、画像データを受け付けてもよい。
【０１１２】
そして、ユーザ入力受付部２１１は、テキストデータを受け付けた場合には、当該受け付けたデータをユーザ入力解析部２１２に出力し、音声データや画像データを受け付けた場合には、所与の音声解析や画像解析を実行してテキストデータに変換し、変換したテキストデータをユーザ入力解析部２１２に出力する。
【０１１３】
ユーザ入力解析部２１２は、入力されたテキストデータ、すなわち、ユーザによって入力された入力テキストに対して、形態素解析、かな漢字変換、校正支援、係り受け解析、キーフレーズ抽出、及び、自然言語理解などの各種の自然言語処理を実行し、受け付けたユーザの指示を認識する。
【０１１４】
応答制御部２１３は、認識されたユーザの指示に基づいて、例えば、
（１）ユーザが希望する情報（所定の商品やサービスに関する問い合わせ内容の他に、画像や音声などのコンテンツを含む。）の提供、
（２）商品やサービスの売買に関する情報、若しくは、ユーザが希望する問い合わせ（例えば、電子メールや電話などの所定の通信手段による問い合わせ）を完了すること（回答を要求するまでであって、該当するメールアドレス宛に、ベースとなる文章も組み込まれた電子メールの起動や該当する電話番号への発信なども含む。）、又は、
（３）該当するユーザに再入力を促す画像の表示制御、
を実行する。
【０１１５】
［２．２］シナリオ生成編集処理
次に、図３〜図９を用いて本実施形態のシナリオ生成編集制御部２２０に実行されるシナリオ生成編集処理の詳細について説明する。
【０１１６】
なお、図３は、本実施形態における配置制御処理を説明するための図であり、図４は、本実施形態における接続切断制御処理を説明するための図である。また、図５及び図６は、本実施形態における判定処理を説明するための図であり、図７〜図９は、本実施形態の表示制御処理を説明するための図である。
【０１１７】
（シナリオ生成編集制御部の構成）
シナリオ生成編集制御部２２０は、シナリオ生成編集処理を実行するため、
（Ａ１）操作部３９０を介して入力された管理者の指示を受け付ける受付処理を実行する操作受付部２２１と、
（Ａ２）シナリオ構成データに基づいて、シナリオデータを生成又は編集を制御するオブジェクト配置接続制御処理を実行する生成編集処理部２２２と、
（Ａ３）オブジェクト空間内に配置された２以上のシナリオ構成データが接続された場合、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する判定処理部２２３と、
（Ａ４）シナリオ構成データを含むオブジェクト空間の画像化を含む表示制御処理を実行する表示制御部２２４と、
から構成される。
なお、例えば、本実施形態の操作受付部２２１は、本発明の受付処理手段を構成し、生成編集処理部２２２は、本発明のシナリオ生成編集手段及びオブジェクト配置接続制御手段を構成する、また、例えば、本実施形態の判定処理部２２３は、本発明の判定手段を構成し、表示制御部２２４は、本発明の表示制御手段を構成する。
【０１１８】
（オブジェクト配置接続制御処理の原理）
生成編集処理部２２２は、受付処理によって受け付けた管理者の指示に基づいて、シナリオデータを構築するための予め定められた処理を規定するシナリオ構成データを組み合わせて、シナリオデータを生成又は編集する。
【０１１９】
特に、生成編集処理部２２２は、シナリオデータを生成又は編集する際に、受け付けた管理者の指示に基づいて、
（Ｂ１）複数のシナリオ構成データをオブジェクトとしてオブジェクト空間内に配置する配置制御処理と、
（Ｂ２）配置されている２以上のシナリオ構成データにおける接続及び切断を制御する接続切断制御処理と、
を含む、オブジェクト配置接続制御処理を実行する。
【０１２０】
また、生成編集処理部２２２は、オブジェクト空間内に配置された２以上のシナリオ構成データが接続された場合（例えば、直接接続された場合）に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する。
【０１２１】
（配置制御処理（オブジェクト配置接続制御処理））
生成編集処理部２２２は、受け付けた管理者の指示に基づいて、シナリオ構成データの種別を特定し、特定した種別のシナリオ構成データを、オブジェクトとして、オブジェクト空間内において指定された座標の位置に配置する。
【０１２２】
具体的には、生成編集処理部２２２は、例えば、シナリオ構成データがオブジェクト化されたオブジェクト（以下、「処理記号オブジェクト」という。ただし、以後において、場合によっては、オブジェクトとしてもシナリオ構成データと言及する場合もある。）、２以上の処理記号ボックスを接続するための矢印のオブジェクト（以下、「矢印オブジェクト」という。）、当該矢印オブジェクトや処理記号オブジェクトに重畳される表示オブジェクトなどのオブジェクト空間が画像化された場合に表示物を表す各種オブジェクトをオブジェクト空間に配置設定する処理を行う。
【０１２３】
また、生成編集処理部２２２は、各オブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ）或いは（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ軸回りでの回転角度）或いは（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置又は移動させる。
【０１２４】
なお、オブジェクト空間とは、いわゆる仮想２次元空間、又は、仮想３次元空間の両方を含む。そして、２次元空間とは、例えば２次元座標（Ｘ，Ｙ）においてオブジェクトが配置される空間であり、また、３次元空間とは、例えば３次元座標（Ｘ，Ｙ，Ｚ）においてオブジェクトが配置される空間である。
【０１２５】
特に、生成編集処理部２２２は、シナリオ構成データ毎に、受け付けた管理者の指示に基づいて、特定した種別のシナリオ構成データを、処理記号オブジェクトとして、指定された座標位置に配置してもよいし、受け付けた管理者の指示に基づいて、ユーザノードとマルチノードなどの関連する２以上のシナリオ構成データを、処理記号オブジェクトとして、指定された座標位置に配置してもよい。
【０１２６】
すなわち、ユーザノードなどは、シナリオ上において当該ノードの後に実行するノードが必須となるため、本実施形態の生成編集処理部２２２は、ユーザノード及び条件設定ノードを配置する際に、シナリオ上においてその後に処理するノード（種々のノードに変化するマルチノード）を配置してもよい。
【０１２７】
例えば、生成編集処理部２２２は、図３（Ａ）に示すように、操作受付部２２１を介してシナリオ開始から２つ目のノードとして選択肢のある通知ノードの配置の指示を受け付けると、図３（Ｂ）に示すように、通知ノードを配置する。
【０１２８】
そして、例えば、生成編集処理部２２２は、図３（Ｃ）に示すように、ユーザの指示に基づいて、配置した通知ノードに対して３つの選択肢を設定すると、当該各選択肢に対してボットノードを配置し、通知ノードから各ボットノードへの接続オブジェクトとして矢印オブジェクトを配置するとともに、当該各矢印オブジェクト上に選択肢の条件を表示するための表示オブジェクトを配置する。
【０１２９】
なお、図３は、処理記号オブジェクトとともに接続オブジェクトとしての矢印オブジェクトも配置しているが、後述するように、処理記号オブジェクトのみ配置し、その後に管理者の指示に基づいて、矢印オブジェクトを配置してもよい。
【０１３０】
一方、生成編集処理部２２２は、受け付けた管理者の指示に基づいて、既にオブジェクト空間に配置された処理記号オブジェクトの座標位置を、オブジェクト空間内において、移動させることも可能な構成を有している。
【０１３１】
そして、このとき、生成編集処理部２２２は、移動対象の処理記号オブジェクトに接続されている矢印オブジェクトの端部を移動対象の処理記号オブジェクトに連動させて移動させ、当該矢印オブジェクトを伸長させる制御（矢印オブジェクトの他端部が固定されているための伸長制御）を実行することが好ましい。
【０１３２】
なお、このとき、生成編集処理部２２２は、移動対象の処理記号オブジェクト及び矢印オブジェクトに重畳表示される表示オブジェクトも、これらの処理記号オブジェクト及び矢印オブジェクトに連動させて移動させることが好ましい。
【０１３３】
（接続切断制御処理（オブジェクト配置接続制御処理））
生成編集処理部２２２は、接続切断制御処理としては、オブジェクト空間において視覚的に、受け付けた管理者の指示に基づいて、かつ、矢印オブジェクトを用いて、処理記号オブジェクトとして既に配置された２以上のシナリオ構成データを接続し、又は、既に接続されている２以上のシナリオ構成データを切断する。
【０１３４】
具体的には、生成編集処理部２２２は、接続切断制御処理としては、受け付けた管理者の指示に基づいて、
（１）未だ処理記号オブジェクトに未接続の矢印オブジェクトの一端を、処理記号オブジェクトに接続する制御（処理記号オブジェクトの外縁のいずれかに接続させる制御）、及び、
（２）既に処理記号オブジェクトに接続されている矢印オブジェクトを、該当する処理記号オブジェクトとの接続ポイントから切断する制御、
を実行する。
【０１３５】
特に、生成編集処理部２２２は、例えば、フローチャート等によって用いられるコネクタ（例えば、シナリオの流れを示す矢印）などの接続オブジェクトを介して２以上のシナリオ構成データがシナリオ上においても、オブジェクト空間上の視覚的にも接続するための制御、又は、当該接続を切断するための制御を実行する。
【０１３６】
具体的には、生成編集処理部２２２は、特定の種別の処理記号オブジェクトをオブジェクト空間に配置する場合には、例えば、図４（Ａ）及び（Ｂ）に示すように、当該配置する処理記号オブジェクトの所定の外縁に、一端が既に接続されている接続オブジェクトを同一のタイミングでオブジェクト空間に配置してもよいし、管理者の指示に基づいて、他のシナリオ構成データのオブジェクト（すなわち、処理記号オブジェクト）とのオブジェクト空間に接続オブジェクトを登場させて、当該処理記号オブジェクトにその両端を接続してもよい。
【０１３７】
なお、図４（Ａ）は、通知ノードとボットノードが切断されている状態を示し、図４（Ｂ）は、通知ノードとボットノードが接続されている状態を示している。
【０１３８】
なお、生成編集処理部２２２は、上述の図３に示すように、処理記号オブジェクトをオブジェクト空間に配置する毎に、配置対象の処理記号オブジェクトの外縁から当該処理記号オブジェクトの処理内容に応じた数の接続オブジェクトを配置してもよい。
【０１３９】
一方、生成編集処理部２２２は、上述のように、矢印オブジェクトの接続制御又は切断制御を実行すると、当該矢印オブジェクトの接続制御又は切断制御に対応付けて、該当するシナリオ構成データに規定されている処理内容を、シナリオデータ上において接続された順に処理を実行するための内容に、書き換える。
【０１４０】
特に、生成編集処理部２２２は、矢印オブジェクトの一端が処理記号オブジェクト（以下、「接続先対象オブジェクト」という。）に接続された場合には、当該矢印オブジェクトの他端に既に接続されている処理記号オブジェクト（以下、「接続元対象オブジェクト」という。）の次に処理が実行されるように、当該接続先対象オブジェクトの処理内容を書き換える。
【０１４１】
また、生成編集処理部２２２は、矢印オブジェクトの両端が処理記号オブジェクトに既に接続されている状態であって、管理者の指示に基づいて、当該矢印オブジェクトの一端の処理記号オブジェクト（以下、「切断先オブジェクト」という。）との接続が切断された場合には、矢印オブジェクトが未だ接続されている切断元の処理記号オブジェクト（以下、「切断元処理記号オブジェクト」という。）及びに切断先オブジェクトに規定されている処理内容であって、相互に切断された処理記号オブジェクトに関する部分の内容を、それぞれ、初期化してもよいし、そのままの内容を保持してもよい。
【０１４２】
なお、生成編集処理部２２２は、このような構成を有することによって、ノードの付け替え、すなわち、シナリオ構成データのシナリオ上の処理順の入れ替え、新規のシナリオ構成データの追加、又は、既に配置されているシナリオ構成データの削除など、シナリオの編集も可能となっている。
【０１４３】
（判定処理）
判定処理部２２３は、例えば、シナリオ上において問い合わせ内容や質問とその回答、又は、検索要求と検索結果などユーザの入力に対する応答や当該入力に対する出力事項の関係となる一対のノード（すなわち、２以上のノードであってもよい。）などのオブジェクト空間内に配置された２以上のシナリオ構成データが接続された場合（直接接続又は間接接続を含む。）に、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群の一体的な処理が少なくとも部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する。
【０１４４】
そして、判定処理部２２３は、配置された２以上のシナリオ構成データが直列接続された２以上のシナリオ構成データ（すなわち、処理記号オブジェクト）、又は、１のシナリオ構成データに並列接続された複数のシナリオ構成データから構成されるシナリオ構成データ群（すなわち、処理記号オブジェクト群）が形成される毎に、判定処理を実行する。
【０１４５】
また、判定処理部２２３は、配置された２以上のシナリオ構成データとして、同一の処理や同一の機能を有するシナリオ構成データ群、又は、異なる処理や異なる機能を有するシナリオ構成データ群について当該判定処理を実行してもよい。
【０１４６】
そして、判定処理部２２３は、矢印オブジェクトなどの接続オブジェクトを介して２以上のシナリオ構成データがシナリオ上であってオブジェクト空間上の視覚的にも接続されること、又は、当該接続が切断されることなど、２以上のシナリオ構成データにおける接続及び切断がされた場合に、当該判定処理を実行する。
【０１４７】
さらに、判定処理部２２３は、判定処理として、例えば、選択肢や処理を実行するための条件など、直前又は直後に連続的に接続された２つシナリオ構成データとの関係においてユーザに提示される選択肢と実際に選択肢の処理として実行される数が一致するか否か、又は、特定の処理を実行する際に必要な処理が実行されているか否かなど、直前又は直後に連続的に接続された２つシナリオ構成データとの関係において正常動作可能か又は正常動作不能かを判定する。
【０１４８】
すなわち、判定処理部２２３は、直前又は直後に連続的に接続された２つシナリオ構成データとの関係において入力及び出力の条件や数の一致又は不一致を判定し、シナリオ構成データ群の一体的な処理が部分的なシナリオとして正常動作可能か又は正常動作不能かを判定する。
【０１４９】
具体的には、判定処理部２２３は、シナリオ構成データ群を構成する２以上のシナリオ構成データのうち、シナリオ上において時系列的に先に設定された第１のシナリオ構成データと、当該第１のシナリオ構成データの時系列後に接続された他のシナリオ構成データである第２のシナリオ構成データの、シナリオ上において実行する上での前提となるシナリオ構成データ（例えば、当該シナリオ構成データが実行されなければ、当該シナリオ構成データの後段で実行されるシナリオ構成データの実行が成立しない関係のあるシナリオ構成データ）との関係において、部分的なシナリオとして正常動作可能か又は正常動作不能かを判定する。
【０１５０】
特に、判定処理部２２３は、オブジェクト空間上において、直接接続された２以上のシナリオ構成データのうち、先に処理される第１のシナリオ構成データの処理によって第２のシナリオ構成データに要求されるシナリオ上の選択肢の数（すなわち、出力数）と、当該第２のシナリオ構成データの実際の選択肢の数が一致するか否かを判定する。
【０１５１】
例えば、第１のシナリオ構成データ（通知ノード）において、３つの選択肢を提示し、当該３つの選択肢のそれぞれにおいて第２のシナリオ構成データ（ボットノード）の接続が要求される場合には、判定処理部２２３は、図５（Ａ）又は（Ｂ）に示すように、３つの第２のシナリオ構成データ（ボットノード）が第１のシナリオ構成データ（通知ノード）に接続されているか否かを判定する。
【０１５２】
なお、図５（Ａ）は、判定処理時に３つのボットノードが配置された例を示す図であり、図５（Ｂ）は、判定処理時に２つのボットノードが配置された例を示す図である。そして、図５（Ａ）の例は、正常動作可能と判定され、図５（Ｂ）の例は、正常動作不能と判定される場合を示している。
【０１５３】
一方、判定処理部２２３は、オブジェクト空間上において、直接接続された２以上のシナリオ構成データのうち、第２のシナリオ構成データの実行の前提に必要な処理を第１のシナリオ構成データによって実行しているか否かを判定してもよい。
【０１５４】
例えば、第２のシナリオ構成データにおいて、性別の入力に基づいて所定の処理を実行する場合（性別に基づく質問を提示する場合）において、判定処理部２２３は、図６（Ａ）及び（Ｂ）に示すように、第２のシナリオ構成データが性別の入力に対応する処理を実行するか否かを判定する。
【０１５５】
なお、図６（Ａ）は、第２のシナリオ構成データとして、男性用のデータ提供又は女性用のデータ提供を行うシナリオ構成データが設定された場合を示し、図６（Ｂ）は、第２のシナリオ構成データとして、男性用のデータ提供又は２０代用のデータ提供を行うシナリオ構成データが設定された場合を示している。そして、図６（Ａ）の例は、正常動作可能と判定され、図６（Ｂ）の例は、正常動作不能と判定される場合を示している。
【０１５６】
（表示制御処理）
表示制御部２２４は、記配置されたシナリオ構成データを含むオブジェクト空間を画像化するとともに、正常動作不能を示すエラー表示、及び、正常動作可能を示す正常表示などの判定処理の結果をモニタなどの表示手段に表示させる表示制御処理を実行する。
【０１５７】
特に、表示制御部２２４は、判定処理によって正常動作不能と判定された場合には、表示制御処理として、該当するシナリオ構成データに関連付けて、判定処理の結果をオブジェクトとして表示させる。
【０１５８】
具体的には、表示制御部２２４は、例えば、
（１）判定処理の結果を示すオブジェクトを、判定処理の対象となっているシナリオ構成データ（上記の場合には、第２のシナリオ構成データ）のオブジェクトの近傍に表示し、
（２）判定処理の結果を示すオブジェクトを、判定処理の対象となっているシナリオ構成データに接続する接続オブジェクト（すなわち、矢印オブジェクト）上に表示し、
（３）シナリオ構成データが配置されているオブジェクト空間（以下、「メインオブジェクト空間」という。）とは異なるオブジェクト空間（以下、「サブオブジェクト空間」という。）に判定処理の結果を示すオブジェクトをシナリオ構成データ名（例えば、ＩＤ）とともに表示する。
【０１５９】
例えば、選択肢のシナリオ構成データと当該選択肢の各選択に対する処理を行うためのシナリオ構成データとのシナリオ構成データ群の一体的な処理によって部分的なシナリオとして正常動作不能と判定される場合を想定する。
【０１６０】
この場合において、選択肢のシナリオ構成データ（すなわち、第１のシナリオ構成データ）と、当該選択肢の各選択に対する処理を行うためのシナリオ構成データ（すなわち、第２のシナリオ構成データ）と、が接続されると、表示制御部２２４は、表示制御処理として、図７（Ａ）及び（Ｂ）に示すように、判定処理の結果を示すオブジェクトを、第１のシナリオ構成データと第２のシナリオ構成データとを接続する矢印オブジェクト上に表示し、正常動作不能を示す正常動作不能オブジェクトを配置して表示する。
【０１６１】
なお、表示制御部２２４は、図８（Ａ）及び（Ｂ）に示すように、判定処理の結果を、矢印オブジェクト上に代えて、第２のシナリオ構成データ上に、正常動作不能オブジェクトを配置して表示させてもよいし、図９（Ａ）及び（Ｂ）に示すように、サブオブジェクト空間に該当するシナリオ構成データの識別情報（すなわち、第２のシナリオ構成データのＩＤ）とともに、当該判定処理の結果を、表示させてもよい。
【０１６２】
［３］シナリオ生成編集処理の動作
【０１６３】
次に、図１０を用いて本実施形態のサービス提供用サーバ装置において実行されるシナリオ生成編集処理（オブジェクト配置接続制御処理（接続切断制御処理）、判定処理及び表示制御処理）について説明する。
【０１６４】
なお、図１０は、本実施形態のサービス提供用サーバ装置おいて実行されるシナリオ生成編集処理（オブジェクト配置接続制御処理（接続切断制御処理）、判定処理及び表示制御処理）を示すフローチャートである。
【０１６５】
本動作は、生成編集処理部２２２がシナリオ生成編集処理のオブジェクト配置接続制御処理中であるものとし、当該オブジェクト配置接続制御処理における配置制御処理中に、操作受付部２２１によって受け付けた管理者の指示が、シナリオ構成データの切断又は接続の場合に実行される動作である。
【０１６６】
まず、シナリオ生成編集制御部２２０は、操作受付部２２１によって管理者の指示が受け付けられたことを検出すると（ステップＳ１０１）、当該受け付けた指示が、処理記号オブジェクトに未だ未接続の矢印オブジェクトの一端を、いずれかの処理記号オブジェクトに接続する制御（以下、「接続制御」という。）、又は、既に両端が接続されている矢印オブジェクトの一端を切断する制御（以下、「切断制御」という。）であるか否かを判定する（ステップＳ１０２）。
【０１６７】
このとき、生成編集処理部２２２は、当該受け付けた指示が、矢印オブジェクトの接続制御又は切断制御でない場合（すなわち、処理記号オブジェクトの配置若しくはそれに関連する制御の場合）には、本処理を終了させる。
【０１６８】
一方、生成編集処理部２２２は、当該受け付けた指示が、矢印オブジェクトの接続制御又は切断制御であると判定した場合には、ステップＳ１０３の処理に移行する。
【０１６９】
次いで、判定処理部２２３は、当該接続されたシナリオ構成データから構成されるシナリオ構成データ群を特定し（ステップＳ１０３）、当該特定したシナリオ構成データ群の一体的な処理が部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行する（ステップＳ１０４）。
【０１７０】
このとき、表示制御部２２４は、該当するシナリオ構成データ群の一体的な処理が部分的なシナリオとして正常動作可能と判定した場合には、該当するシナリオ構成データ群のオブジェクト（すなわち、処理記号オブジェクト）に正常動作可能であることを示すオブジェクトをオブジェクト空間に形成して画像化し（ステップＳ１０５）、本処理を終了させる。
【０１７１】
他方、表示制御部２２４は、該当するシナリオ構成データ群の一体的な処理が部分的なシナリオとして正常動作不能と判定した場合には、当該正常動作不能を示すオブジェクトを、第１のシナリオ構成データと第２のシナリオ構成データとを接続する矢印オブジェクト上に形成して画像化して（ステップＳ１０６）、本処理を終了させる。
【０１７２】
［４］変形例
次に、本実施形態の変形例について説明する。
【０１７３】
（変形例１）
本実施形態においては、シナリオ構成データをオブジェクト空間に配置する場合であって、配置指示されたシナリオ構成データから他のシナリオ構成データと接続するための矢印オブジェクトが表示される場合において、表示制御部２２４は、判定処理によって正常動作不能と判定された場合には、表示制御処理として、該当するシナリオ構成データから次のシナリオ構成データに接続するための接続オブジェクト（すなわち、矢印オブジェクト）を非表示にしてもよい。
【０１７４】
例えば、判定処理部２２３は、シナリオデータを生成中又は編集中において、新規にシナリオ構成データを配置する際には当該新規のシナリオ構成データから次のシナリオ構成データに接続するためのフリーの矢印オブジェクトを、当該新規のシナリオ構成データに接続させた状態でオブジェクト空間に配置する。
【０１７５】
そして、表示制御部２２４は、接続オブジェクトとしての矢印を該当するシナリオ構成データから次のシナリオ構成データに接続した場合であって、判定処理によって正常動作不能と判定された場合には、当該２以上のシナリオ構成データのうち、時系列的に後に実行されるシナリオ構成データから、次のシナリオ構成データを接続するための矢印オブジェクトを非表示にしてもよい。
【０１７６】
（変形例２）
本実施形態のシナリオ生成編集制御部２２０は、上述のシナリオ生成編集処理においては、受け付けた管理者の指示に基づいて、オブジェクト空間内に配置されたシナリオ構成データの予め定められた設定可能な項目を設定する。
【０１７７】
この場合に、判定処理部２２３は、項目設定されたシナリオ構成データにおける、予め定められた処理が部分的なシナリオとして正常動作可能か正常動作不能かを判定する判定処理を実行してもよい。
【０１７８】
例えば、この場合には、判定処理部２２３は、選択肢の数や内容、ユーザに提供する情報の種別や内容、又は、受け付ける入力テキストの種別や内容などを項目として設定する。
【０１７９】
また、この場合には、表示制御部２２４は、上述と同様に、判定処理によって正常動作不能と判定された場合には、表示制御処理として、該当するシナリオ構成データに関連付けて、判定処理の結果をオブジェクトとして表示させる。
【０１８０】
すなわち、この場合には、表示制御部２２４は、例えば、
（１）判定処理の結果を示すオブジェクトを、判定処理の対象となっているシナリオ構成データのオブジェクトの近傍に表示し、
（２）判定処理の結果を示すオブジェクトを、判定処理の対象となっているシナリオ構成データに接続する接続オブジェクト（すなわち、矢印オブジェクト）上に表示し、
（３）シナリオ構成データが配置されているメインオブジェクト空間とは異なるサブオブジェクト空間に判定処理の結果を示すオブジェクトをシナリオ構成データ名（例えば、ＩＤ）とともに表示する。
【０１８１】
（変形例３）
上記実施形態においては、サービス提供用サーバ装置３０内に各ＤＢを設け、これらのＤＢをサービス提供用サーバ装置３０のみにおいて管理及び制御する構成としたが、各ＤＢの管理、制御主体は、各々、別個なコンピュータシステムを用いるようにしてもよい。
【０１８２】
（変形例４）
上記実施形態においては、サービス提供用サーバ装置３０によってユーザ用端末装置１０に各種のサービスの提供及びシナリオ生成編集処理を提供しているが、複数のサーバ装置を連動させてサーバシステムを構築し、当該構築したサーバシステムを用いて各種のサービスの提供及びシナリオ生成編集処理を実行してもよい。
【０１８３】
（変形例５）
上記実施形態においては、サービス提供用サーバ装置３０に、サービス制御部２１０及び
シナリオ生成編集制御部２２０が設けられているが、シナリオ生成編集制御部２２０が独立的に設けられたサーバ装置によって実現されてもよい。
【符号の説明】
【０１８４】
１          …情報処理システム
１０        …ユーザ用端末装置
２０        …ネットワーク
３０        …サービス提供用サーバ装置
２００      …データ処理部
２１０      …サービス制御部
２１１      …ユーザ入力受付部
２１２      …ユーザ入力解析部
２１３      …応答制御部
２２０      …シナリオ生成編集制御部
２２１      …操作受付部
２２２      …生成編集処理部
２２３      …判定処理部
２２４      …表示制御部
３１０      …通信制御部
３２０      …ＲＡＭ
３３０      …データ記憶部
３３１      …アプリケーションＤＢ
３３２      …シナリオＤＢ
３４０      …管理制御部
３７０      …表示部
３８０      …描画制御部
３９０      …操作部
【図１】
2020109612.tif 000003
【図２】
2020109612.tif 000004
【図３】
2020109612.tif 000005
【図４】
2020109612.tif 000006
【図５】
2020109612.tif 000007
【図６】
2020109612.tif 000008
【図７】
2020109612.tif 000009
【図８】
2020109612.tif 000010
【図９】
2020109612.tif 000011
【図１０】
2020109612.tif 000012