(57)【要約】【課題】対話シナリオのバリエーションをより容易に増加させることが可能な技術を実現すること。【解決手段】対話シナリオ処理システム１において、シーン判定部１１７は、実行対象となるシナリオのデータに、シナリオのデータの要素となるデータを選択するための選択条件が設定された抽象要素が含まれるか否かを判定する。検索要求部１１８は、シーン判定部１１７によって抽象要素が含まれると判定された場合に、抽象要素に設定された選択条件に基づいて、抽象要素に対応するシナリオのデータの要素となるデータをサーバ２０から取得する。データ実行部１１４は、実行対象となるシナリオのデータにおける抽象要素を、抽象要素に対応するシナリオのデータの要素となるデータに置換して、実行対象となるシナリオのデータを実行する。【選択図】図３
2019175290.tif 000002
【特許請求の範囲】
【請求項１】
対話処理のシナリオのデータを実行する情報処理装置と、前記シナリオのデータの要素となるデータを蓄積するサーバとが通信可能に構成された情報処理システムであって、
前記情報処理装置は、
実行対象となる前記シナリオのデータに、前記シナリオのデータの要素となるデータを選択するための選択条件が設定された抽象要素が含まれるか否かを判定する要素判定手段と、
前記要素判定手段によって前記抽象要素が含まれると判定された場合に、前記抽象要素に設定された前記選択条件に基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータを前記サーバから取得するデータ取得手段と、
実行対象となる前記シナリオのデータにおける前記抽象要素を、前記抽象要素に対応する前記シナリオのデータの要素となるデータに置換して、実行対象となる前記シナリオのデータを実行するデータ実行手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記データ取得手段は、前記選択条件と、前記対話処理における対話内容とに基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータを取得することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記データ取得手段は、対話者個人のプロファイルに基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータを取得することを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記データ取得手段は、複数の対話者のプロファイルに基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータを取得することを特徴とする請求項１から３のいずれか１項に記載の情報処理システム。
【請求項５】
前記シナリオのデータの要素となるデータには、当該要素となるデータに対応するパラメータが設定され、
前記データ取得手段は、前記選択条件として設定されたパラメータの条件に適合する前記シナリオのデータの要素となるデータを取得することを特徴とする請求項１から４のいずれか１項に記載の情報処理システム。
【請求項６】
前記サーバは、
前記シナリオのデータの要素となるデータについて、前記選択条件として設定された前記パラメータに基づくスコアを算出することによって、前記抽象要素に対応する前記シナリオのデータの要素となるデータを検索するデータ検索手段を備えることを特徴とする請求項５に記載の情報処理システム。
【請求項７】
実行対象となる対話処理のシナリオのデータに、前記シナリオのデータの要素となるデータを選択するための選択条件が設定された抽象要素が含まれるか否かを判定する要素判定手段と、
前記要素判定手段によって前記抽象要素が含まれると判定された場合に、前記抽象要素に設定された前記選択条件に基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータをサーバから取得するデータ取得手段と、
実行対象となる前記シナリオのデータにおける前記抽象要素を、前記抽象要素に対応する前記シナリオのデータの要素となるデータに置換して、実行対象となる前記シナリオのデータを実行するデータ実行手段と、
を備えることを特徴とする情報処理装置。
【請求項８】
対話処理のシナリオのデータを実行する情報処理装置と、前記シナリオのデータの要素となるデータを蓄積するサーバとが通信可能に構成された情報処理システムにおけるサーバであって、
実行対象となる前記シナリオのデータに含まれる、前記シナリオのデータの要素となるデータを選択するための選択条件が設定された抽象要素について、前記選択条件に基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータを検索するデータ検索手段と、
前記データ検索手段によって検索された前記シナリオのデータの要素を前記情報処理装置に提供するデータ提供手段と、
を備えることを特徴とするサーバ。
【請求項９】
対話処理のシナリオのデータを実行する情報処理装置が実行する情報処理方法であって、
実行対象となる前記シナリオのデータに、前記シナリオのデータの要素となるデータを選択するための選択条件が設定された抽象要素が含まれるか否かを判定する要素判定ステップと、
前記要素判定ステップによって前記抽象要素が含まれると判定された場合に、前記抽象要素に設定された前記選択条件に基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータをサーバから取得するデータ取得ステップと、
実行対象となる前記シナリオのデータにおける前記抽象要素を、前記抽象要素に対応する前記シナリオのデータの要素となるデータに置換して、実行対象となる前記シナリオのデータを実行するデータ実行ステップと、
を含むことを特徴とする情報処理方法。
【請求項１０】
対話処理のシナリオのデータを実行する情報処理装置と、前記シナリオのデータの要素となるデータを蓄積するサーバとが通信可能に構成された情報処理システムにおけるサーバが実行する情報処理方法であって、
実行対象となる前記シナリオのデータに含まれる、前記シナリオのデータの要素となるデータを選択するための選択条件が設定された抽象要素について、前記選択条件に基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータを検索するデータ検索ステップと、
前記データ検索ステップによって検索された前記シナリオのデータの要素を前記情報処理装置に提供するデータ提供ステップと、
を含むことを特徴とする情報処理方法。
【請求項１１】
コンピュータに、
実行対象となる対話処理のシナリオのデータに、前記シナリオのデータの要素となるデータを選択するための選択条件が設定された抽象要素が含まれるか否かを判定する要素判定機能と、
前記要素判定機能によって前記抽象要素が含まれると判定された場合に、前記抽象要素に設定された前記選択条件に基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータをサーバから取得するデータ取得機能と、
実行対象となる前記シナリオのデータにおける前記抽象要素を、前記抽象要素に対応する前記シナリオのデータの要素となるデータに置換して、実行対象となる前記シナリオのデータを実行するデータ実行機能と、
を実現させることを特徴とするプログラム。
【請求項１２】
対話処理のシナリオのデータを実行する情報処理装置と、前記シナリオのデータの要素となるデータを蓄積するサーバとが通信可能に構成された情報処理システムにおけるサーバを構成するコンピュータに、
実行対象となる前記シナリオのデータに含まれる、前記シナリオのデータの要素となるデータを選択するための選択条件が設定された抽象要素について、前記選択条件に基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータを検索するデータ検索機能と、
前記データ検索機能によって検索された前記シナリオのデータの要素を前記情報処理装置に提供するデータ提供機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、サーバ、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータと人間とが対話を行う対話システムが知られている。このような対話システムにおいては、予め用意された対話シナリオをベースとして、対話が進められる。ここで、対話システムにおいて多様な状況に応じた自然な対話を実現するためには、発言内容、条件（状況）等を想定し、それぞれに対応した多くの応答パターンを予め用意する必要があった。
【０００３】
ところが、発言内容や条件等に対応した多くの応答パターンを用意したとしても、予め用意された応答パターンを用いる場合には、同様の応答パターンが繰り返されるため、対話自体の面白みに欠けることとなる。そこで、対話のバリエーションを増加させるために、対話シナリオを構造化し、構造化された対話シナリオにインターフェース（対話のインプット及びアウトプット）を定義して、インターフェースの適合性を条件として、対話シナリオを結合させる手法が提案されている。このような手法によれば、対話シナリオ同士の結合度を弱め、対話シナリオの再利用性を高めることで、バリエーションが豊富な対話シナリオを作成することが従来よりも容易になると考えられる。
なお、対話シナリオを作成するための技術は、例えば、非特許文献１に開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】「初めての音声対話システム構築〜効率アップの開発術〜/株式会社ヒムズのブログ」、［ｏｎｌｉｎｅ］、株式会社ヒムズ、［平成３０年２月１６日検索］、インターネット＜ＵＲＬ：http://hims.jp/blog02.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、対話シナリオを作成するための従来の技術においては、対話シナリオのインターフェースに関して厳密な適合性が求められるため、結合可能な対話シナリオを拡充する必要があった。また、対話シナリオの作成時に、対話シナリオの結合関係を決定していたため、結合可能な対話シナリオの数が増加しても、既に作成された対話シナリオについては、必ずしも対話シナリオの数が増加したことによる恩恵を受けることができない場合があった。
このように、従来の技術においては、対話シナリオのバリエーションを容易に増加させることが困難であった。
【０００６】
本発明は、対話シナリオのバリエーションをより容易に増加させることが可能な技術を実現することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一態様の情報処理システムは、
対話処理のシナリオのデータを実行する情報処理装置と、前記シナリオのデータの要素となるデータを蓄積するサーバとが通信可能に構成された情報処理システムであって、
前記情報処理装置は、
実行対象となる前記シナリオのデータに、前記シナリオのデータの要素となるデータを選択するための選択条件が設定された抽象要素が含まれるか否かを判定する要素判定手段と、
前記要素判定手段によって前記抽象要素が含まれると判定された場合に、前記抽象要素に設定された前記選択条件に基づいて、前記抽象要素に対応する前記シナリオのデータの要素となるデータを前記サーバから取得するデータ取得手段と、
実行対象となる前記シナリオのデータにおける前記抽象要素を、前記抽象要素に対応する前記シナリオのデータの要素となるデータに置換して、実行対象となる前記シナリオのデータを実行するデータ実行手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、対話シナリオのバリエーションをより容易に増加させることが可能な技術を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る対話シナリオ処理システムのシステム構成を示す図である。
【図２】端末装置及びサーバを構成する情報処理装置のハードウェア構成を示す図である。
【図３】端末装置の機能構成を示すブロック図である。
【図４】シナリオ作成ＧＵＩの一例を示す模式図である。
【図５】サーバの機能構成を示すブロック図である。
【図６】端末装置が実行するシナリオ作成処理の流れを示すフローチャートである。
【図７】端末装置が実行するシナリオ実行処理の流れを示すフローチャートである。
【図８】サーバが実行するシナリオ作成支援処理の流れを示すフローチャートである。
【図９】サーバが実行するシナリオ実行支援処理の流れを説明するフローチャートである。
【図１０】本実施形態において実行される対話処理のシナリオの一例を示す模式図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を用いて説明する。
【００１１】
［構成］
［システム構成］
図１は、本発明に係る対話シナリオ処理システム１のシステム構成を示す図である。
対話シナリオ処理システム１は、本発明に係る情報処理システムの一実施形態として構成されるものであり、コンピュータ上に生成されたキャラクタが人間と対話する際のシナリオ（対話処理のシナリオ）の実行に際し、シナリオの一部（後述する抽象シーンに挿入されるシーン）を外部から動的に呼び出すことにより、対話処理のシナリオのバリエーションを容易に増加させることが可能なシステムである。
【００１２】
本実施形態において、対話シナリオ処理システム１では、キャラクタの一連の対話のフローを表すシナリオのデータが、シーンのデータを構成単位として構築される。シーンとは、対話のフローを構成する要素であり、各シーンは、対話における対話者の発話や操作あるいはシーンの遷移等に基づいて発生する各種イベントによって構成される。また、イベントが発生すると、そのイベントの内容が定義（ビジュアルプログラム）されたアクションが実行される。
【００１３】
また、対話シナリオ処理システム１において、シナリオのデータが構築される場合、ユーザに対して、後述するように、フロービルダーを含むＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）が提供される。本実施形態において、フロービルダーでは、シーンを表すアイコンを配列することで、一連の対話のフローを表すシナリオを構築することができる。
【００１４】
また、シナリオのデータ及びシーンのデータには、シナリオ及びシーンを利用するために必要なパラメータセット、及び、パラメータ値の条件（値、あるいは、値の範囲）を指定することができる。そして、対話シナリオ処理システム１は、対話処理における各種パラメータを管理し、シナリオのデータまたはシーンのデータが実行されることに対応して、各種パラメータ値を更新する。
【００１５】
なお、シナリオのデータ及びシーンのデータに対して指定されるパラメータの種類としては、例えば、タグ、タスク、位置情報、時間、使用回数、センサ情報及び使用履歴等を定義することが可能である。具体的には、タグとして、タイトル、用途、分野（スポーツ、アーティスト、食べ物等）が指定できる。また、タスクとして、検索、計算、あいさつ、ボケる等の実行内容が指定できる。また、位置情報として、所定位置（現在位置または特定の位置等）周辺の情報表示等が指定でき、時間として、朝、昼、夜（即ち、時間帯で対話内容の選択可否が決まる）等が指定できる。また、使用回数として、所定期間あたりの使用回数（一度使用された場合は３ヶ月使用しない等）が指定でき、センサ情報として、加速度センサの検出値等が指定できる。また、使用履歴として、ユーザ毎のシナリオのデータ及びシーンのデータの使用履歴（過去に使用されたか否か等）を指定できる。
【００１６】
図１に示すように、対話シナリオ処理システム１は、複数の端末装置１０と、サーバ２０とを含んで構成され、複数の端末装置１０とサーバ２０とは、ネットワーク３０を介して互いに通信可能に構成されている。
【００１７】
端末装置１０は、クリエータ等のユーザによって使用され、後述するシナリオ作成処理を実行することにより、シナリオのデータを構築するためのＧＵＩ（以下、「シナリオ作成ＧＵＩ」と称する。）を提供する。
また、端末装置１０は、シナリオ作成ＧＵＩにおいて、シナリオを構成するための部品データをサーバ２０から取得し、ユーザが選択可能な形態で提供する。さらに、端末装置１０は、シナリオ作成ＧＵＩにおいて作成されたシナリオのデータをサーバ２０にアップロードする。サーバ２０にアップロードされたシナリオのデータは、他のシナリオのデータを作成する際に、部品データとして再利用することが可能となっている。
【００１８】
本実施形態において、シナリオのデータには、具体的なシーンの指定ではなく、シーンを選択するための条件（以下、「シーン選択条件」と称する。）が設定された抽象シーンのデータを含めることが可能となっている。シーン選択条件は、例えば、抽象シーンに挿入されるシーン等に求められるパラメータの条件として設定することができる。例えば、シーン選択条件として「時間」が設定された抽象シーンの場合、その抽象シーンに挿入されるシーンとしては、「時間」のパラメータあるいは「時間」に関連するパラメータが指定されたシーンのみが選択可能となる。
【００１９】
また、端末装置１０は、コンピュータとの対話者等のユーザによって使用され、後述するシナリオ実行処理を実行することにより、シナリオのデータを実行する。ここで、上述の抽象シーンには具体的な対話処理が存在しないため、端末装置１０が抽象シーン自体を実行することはできない。そのため、端末装置１０は、抽象シーンを検出すると、対話実行時の状況に適合する部品データまたはシナリオのデータ（シーン選択条件に適合し、対話処理の現在の状況（対話の流れ等）に適合するシーンまたはシナリオのデータ）をサーバ２０からリアルタイムに取得して、抽象シーンに埋め込む形で対話処理を実行する。即ち、シナリオのデータに抽象シーンのデータが含まれている場合、端末装置１０は、対話処理の現在の状況に適合し、かつ、抽象シーンに設定されたシーン選択条件に適合する部品データまたはシナリオのデータをサーバ２０に要求することにより、動的にシーンを選択して、シナリオのデータに基づく対話処理を実行する。
これにより、対話処理のシナリオのバリエーションを容易に増加させることが可能となる。
【００２０】
サーバ２０は、複数の部品データを格納した部品データベース（部品ＤＢ）と、複数のシナリオのデータを格納したシナリオデータベース（シナリオＤＢ）とを備えている。そして、サーバ２０は、後述するシナリオ作成支援処理を実行することにより、端末装置１０においてシナリオ作成ＧＵＩがユーザに提供される際に、部品ＤＢに格納されている部品データ及びシナリオＤＢに格納されているシナリオのデータを端末装置１０に適宜提供する。また、サーバ２０は、後述するシナリオ実行支援処理を実行することにより、端末装置１０において対話処理のシナリオが実行される際に、対話処理の現在の状況に適合し、かつ、抽象シーンに設定されたシーン選択条件に適合する部品データまたはシナリオのデータを検索し、端末装置１０に適宜提供する。
【００２１】
［ハードウェア構成］
次に、対話シナリオ処理システム１の端末装置１０及びサーバ２０のハードウェア構成について説明する。
端末装置１０及びサーバ２０は、情報処理装置によって構成され、例えば端末装置１０はＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、サーバ２０はサーバコンピュータによって構成することができる。
【００２２】
図２は、端末装置１０及びサーバ２０を構成する情報処理装置８００のハードウェア構成を示す図である。
図２に示すように、情報処理装置８００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１３と、バス８１４と、入力部８１５と、出力部８１６と、記憶部８１７と、通信部８１８と、ドライブ８１９と、を備えている。
【００２３】
ＣＰＵ８１１は、ＲＯＭ８１２に記録されているプログラム、または、記憶部８１７からＲＡＭ８１３にロードされたプログラムに従って各種の処理を実行する。
ＲＡＭ８１３には、ＣＰＵ８１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００２４】
ＣＰＵ８１１、ＲＯＭ８１２及びＲＡＭ８１３は、バス８１４を介して相互に接続されている。バス８１４には、入力部８１５、出力部８１６、記憶部８１７、通信部８１８及びドライブ８１９が接続されている。
【００２５】
入力部８１５は、各種ボタン等で構成され、指示操作に応じて各種情報を入力する。
出力部８１６は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部８１７は、ハードディスクあるいはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各サーバで管理される各種データを記憶する。
通信部８１８は、ネットワークを介して他の装置との間で行う通信を制御する。
【００２６】
ドライブ８１９には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア８２１が適宜装着される。ドライブ８１９によってリムーバブルメディア８２１から読み出されたプログラムは、必要に応じて記憶部８１７にインストールされる。
なお、上記ハードウェア構成は、情報処理装置８００の基本的構成であり、端末装置１０あるいはサーバ２０を構成する場合、適宜、付加的なハードウェアを備えることができる。例えば、端末装置１０を構成する場合、デジタル画像を撮像する撮像部を備えること等が可能である。
【００２７】
［機能的構成］
次に、端末装置１０及びサーバ２０の機能構成について説明する。図３は、端末装置１０の機能構成を示すブロック図である。
図３に示すように、端末装置１０のＣＰＵ８１１がシナリオ作成処理及びシナリオ実行処理を実行することにより、ＣＰＵ８１１において、ＧＵＩ形成部１１１と、ＧＵＩ入力受付部１１２と、データ生成部１１３と、データ実行部１１４と、シナリオデータ登録部１１５と、シナリオデータ取得部１１６と、シーン判定部１１７と、検索要求部１１８と、が機能する。また、端末装置１０の記憶部８１７には、シナリオデータ記憶部１２１と、履歴データ記憶部１２２と、が形成される。
【００２８】
シナリオデータ記憶部１２１には、シナリオ作成ＧＵＩにおいて作成されたシナリオのデータ及び実行対象となるシナリオのデータが記憶される。
履歴データ記憶部１２２には、端末装置１０において実行された対話処理の履歴のデータが記憶される。
ＧＵＩ形成部１１１は、シナリオ作成処理の実行開始と共に、表示画面上にシナリオ作成ＧＵＩを形成する。また、ＧＵＩ形成部１１１は、シナリオ実行処理の実行開始と共に、キャラクタの画像を表示し、対話シナリオのデータに従ってキャラクタの動きを制御する。
【００２９】
図４は、シナリオ作成ＧＵＩの一例を示す模式図である。図４に示すように、シナリオ作成ＧＵＩには、フロービルダー部１３１が含まれている。
フロービルダー部１３１は、シナリオ全体のフローを構成するためのＧＵＩである。フロービルダー部１３１において、ユーザは、シナリオを構成するシーンを表すアイコンを配列することで、目的とする対話の流れの枠組みを有するシナリオを構成することができる。即ち、ユーザは、シナリオをシーンの状態遷移として定義することができる。本実施形態において、フロービルダー部１３１では、シナリオを構成する各種属性のシーンを定義することができる。例えば、図４においては、シーンの属性として、実線の円形のアイコンで表される通常のシーンと、破線の円形のアイコンで表される抽象シーンとが示されている。通常のシーンは、イベントやアクション等を定義することが可能であり、抽象シーンは、シーン選択条件を設定することが可能である。
【００３０】
なお、本実施形態においては、通常のシーンとして、対話シナリオ処理システム１において予め用意されている特定の内容を表すシーンのデータ（部品データ）を選択可能となっている。例えば、シナリオの作成時に、高い頻度で組み込まれる内容のシーンのデータを部品データとして予め用意しておくことができる。具体的には、キャラクタが挨拶するシーンのデータ等を部品データとして用意しておくことができる。また、上述のように、本実施形態においては、サーバ２０にアップロードされたシナリオのデータも、部品データとして再利用することが可能となっている。
【００３１】
図３に戻り、ＧＵＩ入力受付部１１２は、シナリオ作成ＧＵＩの各部に対するユーザの入力を受け付け、受け付けた入力内容をＧＵＩ形成部１１１、データ生成部１１３、データ実行部１１４、あるいは、シナリオデータ登録部１１５に出力する。例えば、ＧＵＩ入力受付部１１２は、フロービルダー部１３１におけるシーンを表すアイコンの選択を受け付ける。さらに、ＧＵＩ入力受付部１１２は、選択されたアイコンの種類に応じた入力内容（具体的なシーンの内容または抽象シーンのシーン選択条件）の入力を受け付ける。
【００３２】
データ生成部１１３は、シナリオ作成ＧＵＩに対するユーザの入力に応じて、シナリオの作成に関する各種のデータを生成する。例えば、データ生成部１１３は、フロービルダー部１３１においてシーンを表すアイコンが選択された場合、作成中のシナリオのデータに、選択されたアイコンに対応する種類のシーンのデータを追加する。本実施形態において、シーンを表すアイコンとして、具体的な対話処理が定義された通常のシーンのアイコン、または、抽象シーンのアイコンを選択することができる。また、データ生成部１１３は、ユーザの入力に応じて、作成中のシナリオのデータに追加する部品データまたはシナリオのデータの要求（作成用データの要求）をサーバ２０に送信し、作成用データの要求に対応してサーバ２０から提供された部品データまたはシナリオのデータを、作成中のシナリオのデータに追加する。
【００３３】
データ実行部１１４は、シナリオ作成ＧＵＩにおいて作成されたシナリオのデータ、または、シナリオデータ取得部１１６によって取得された実行対象のシナリオのデータを実行し、キャラクタによる人間との対話を進行する。このとき、データ実行部１１４は、実行対象のシナリオのデータに抽象シーンが含まれている場合、検索要求部１１８から入力された部品データまたはシナリオのデータを抽象シーンに挿入して実行する。
なお、データ実行部１１４は、ユーザの指定に応じて、シナリオ作成ＧＵＩにおいて作成されているシナリオのデータの一部（例えば、シナリオの冒頭のシーンのデータから抽象シーンのデータまで等）を実行することも可能である。
これにより、ユーザは、作成中のシナリオのデータが実行された場合のシミュレーションを行いながら、シナリオのデータを作成することができる。
【００３４】
シナリオデータ登録部１１５は、ユーザの指示に応じて、シナリオ作成ＧＵＩにおいて作成されたシナリオのデータをサーバ２０に送信し、シナリオＤＢに登録する。
シナリオＤＢに登録されたシナリオのデータは、他のユーザがシナリオ作成ＧＵＩにおいてシナリオのデータを作成する際に、部品データとして再利用可能となる。
【００３５】
シナリオデータ取得部１１６は、ユーザによって実行が指示されたシナリオのデータ（実行対象のシナリオのデータ）を取得する。例えば、シナリオデータ取得部１１６は、サーバ２０のシナリオＤＢ２２１から、ユーザによって選択されたシナリオのデータを取得する。そして、シナリオデータ取得部１１６は、取得したシナリオのデータをシナリオデータ記憶部１２１に記憶する。
【００３６】
シーン判定部１１７は、実行対象のシナリオのデータに抽象シーンが含まれているか否かの判定を行う。実行対象のシナリオのデータに抽象シーンが含まれていると判定した場合、シーン判定部１１７は、抽象シーンを特定する情報を検索要求部１１８に出力する。
【００３７】
検索要求部１１８は、シーン判定部１１７によって、実行対象のシナリオのデータに抽象シーンが含まれていると判定された場合に、シーン判定部１１７から入力された抽象シーンを特定する情報及び対話処理における各種パラメータに基づいて、対話処理の現在の状況に適合し、かつ、抽象シーンに設定されたシーン選択条件に適合する部品データまたはシナリオのデータの要求（実行用データの要求）をサーバ２０に送信する。そして、検索要求部１１８は、実行用データの要求に応答してサーバ２０から提供された部品データまたはシナリオのデータを、データ実行部１１４に出力する。
【００３８】
次に、サーバ２０の機能構成について説明する。図５は、サーバ２０の機能構成を示すブロック図である。
図５に示すように、サーバ２０のＣＰＵ８１１がシナリオ作成支援処理及びシナリオ実行支援処理を実行することにより、ＣＰＵ８１１において、シナリオ登録受付部２１１と、作成用データ要求取得部２１２と、作成用提供データ取得部２１３と、作成用データ提供部２１４と、実行用データ要求取得部２１５と、実行用データ検索部２１６と、実行用データ提供部２１７と、が機能する。また、サーバ２０の記憶部８１７には、シナリオＤＢ２２１と、部品ＤＢ２２２と、ユーザプロファイル記憶部２２３と、が形成される。
【００３９】
シナリオＤＢ２２１には、キャラクタと人間との種々の対話内容を表すシナリオのデータが記憶されている。部品ＤＢ２２２には、特定の内容を表す種々の部品データが記憶されている。
なお、シナリオＤＢ２２１に記憶されたシナリオのデータ及び部品ＤＢ２２２に記憶された部品データには、シナリオ及びシーンを利用するために必要なパラメータセット、及び、パラメータ値の条件（値、あるいは、値の範囲）を設定することができ、シナリオのデータ及び部品データが検索される場合、これらのパラメータセット及びパラメータ値の条件をキーとして、シナリオのデータ及び部品データがスコア化して検索される。
ユーザプロファイル記憶部２２３は、複数の端末装置１０において対話処理を行ったユーザそれぞれの個人プロファイル（ユーザプロファイル）が記憶されている。ユーザプロファイルには、例えば、年齢、性別、職業、趣味、嗜好性、行動パターンあるいは性格等が含まれ、これらの情報は、対話者個人に特有の対話を行う場合等に、適宜用いることができる。
【００４０】
シナリオ登録受付部２１１は、端末装置１０においてシナリオ作成ＧＵＩによって作成され、シナリオＤＢに登録するために送信されたシナリオのデータを受信し、シナリオＤＢ２２１に登録する。
【００４１】
作成用データ要求取得部２１２は、シナリオ作成ＧＵＩでシナリオのデータに追加される部品データまたはシナリオのデータの要求（作成用データの要求）を端末装置１０から取得する。
【００４２】
作成用提供データ取得部２１３は、作成用データ要求取得部２１２によって取得された作成用データの要求に示される部品データまたはシナリオのデータを部品ＤＢ２２２またはシナリオＤＢ２２１から取得する。
【００４３】
作成用データ提供部２１４は、作成用提供データ取得部２１３によって取得された部品データあるいはシナリオのデータを、作成用データの要求を行った端末装置１０に提供する。
実行用データ要求取得部２１５は、実行対象のシナリオのデータの実行時に、抽象シーンに挿入される部品データまたはシナリオのデータの要求（実行用データの要求）を端末装置１０から取得する。なお、実行用データの要求には、対話処理の現在の状況を示すパラメータ、及び、抽象シーンに設定されたシーン選択条件が含まれている。
【００４４】
実行用データ検索部２１６は、実行用データ要求取得部２１５によって取得された実行用データの要求に示される対話処理の現在の状況を示すパラメータ、及び、抽象シーンに設定されたシーン選択条件に基づいて、対話処理の現在の状況に適合し、かつ、抽象シーンに設定されたシーン選択条件に適合する部品データまたはシナリオのデータを部品ＤＢ２２２またはシナリオＤＢ２２１から検索する。具体的には、実行用データ検索部２１６は、パラメータセット及びパラメータ値の条件をキーとして、対話処理の現在の状況を示すパラメータ、及び、抽象シーンに設定されたシーン選択条件に適合するシナリオのデータまたはシーンのデータをスコア化して検索する。このときのスコアの算出方法は、汎用の検索エンジンに用いられるものを採用することや、部品データまたはシナリオのデータを検索するために用意されたものを採用することが可能である。
【００４５】
実行用データ提供部２１７は、実行用データ検索部２１６によって検索されたシナリオのデータまたはシーンのデータを、実行用データの要求を行った端末装置１０に提供する。本実施形態において、実行用データ提供部２１７は、実行用データ検索部２１６によって検索されたシナリオのデータまたはシーンのデータのうち、スコアが最も高いものを端末装置１０に提供する。ただし、実行用データ提供部２１７が、実行用データ検索部２１６によって検索されたシナリオのデータまたはシーンのデータのうち、スコアが上位である複数のものを端末装置１０に提供することとしてもよい。
【００４６】
［動作］
次に、対話シナリオ処理システム１の動作を説明する。初めに、端末装置１０の動作について説明する。
【００４７】
［シナリオ作成処理］
図６は、端末装置１０が実行するシナリオ作成処理の流れを示すフローチャートである。
シナリオ作成処理は、端末装置１０において、シナリオ作成処理の実行を指示する操作が行われることに対応して開始される。
ステップＳ１において、ＧＵＩ形成部１１１は、表示画面上にシナリオ作成ＧＵＩ（図４参照）を形成する。
【００４８】
ステップＳ２において、ＧＵＩ形成部１１１は、ＧＵＩ入力受付部１１２を介してシナリオ作成ＧＵＩへの入力が行われたか否かの判定を行う。
ＧＵＩ入力受付部１１２を介してシナリオ作成ＧＵＩへの入力が行われた場合、ステップＳ２においてＹＥＳと判定されて、処理はステップＳ３に移行する。
一方、ＧＵＩ入力受付部１１２を介してシナリオ作成ＧＵＩへの入力が行われていない場合、ステップＳ２においてＮＯと判定されて、処理はステップＳ１０に移行する。
【００４９】
ステップＳ３において、ＧＵＩ形成部１１１は、ＧＵＩ入力受付部１１２を介してフロービルダー部１３１に抽象シーンが入力されたか否かの判定を行う。
ＧＵＩ入力受付部１１２を介してフロービルダー部１３１に抽象シーンが入力されていない場合、ステップＳ３においてＮＯと判定されて、処理はステップＳ６に移行する。
一方、ＧＵＩ入力受付部１１２を介してフロービルダー部１３１に抽象シーンが入力された場合、ステップＳ３においてＹＥＳと判定されて、処理はステップＳ４に移行する。
【００５０】
ステップＳ４において、ＧＵＩ形成部１１１は、ＧＵＩ入力受付部１１２を介してシーン選択条件の入力を受け付ける。
ステップＳ５において、データ生成部１１３は、シーン選択条件が設定された抽象シーンをシナリオのデータに追加する。
ステップＳ５の後、処理はステップＳ８に移行する。
【００５１】
ステップＳ６において、ＧＵＩ形成部１１１は、ＧＵＩ入力受付部１１２を介してフロービルダー部１３１に通常のシーン（具体的な対話処理が定義されたシーン）が入力されたか否かの判定を行う。
ＧＵＩ入力受付部１１２を介してフロービルダー部１３１に通常のシーンが入力された場合、ステップＳ６においてＹＥＳと判定されて、処理はステップＳ７に移行する。一方、ＧＵＩ入力受付部１１２を介してフロービルダー部１３１に通常のシーンが入力されていない場合、ステップＳ６においてＮＯと判定されて、処理はステップＳ８に移行する。
ステップＳ７において、データ生成部１１３は、入力された通常のシーンをシナリオのデータに追加する。なお、このとき追加される通常のシーンは、ユーザによって直接定義されたものや、作成用データの要求をサーバ２０に送信することによりサーバ２０から取得したものが含まれる。
【００５２】
ステップＳ８において、ＧＵＩ形成部１１１は、シナリオ作成ＧＵＩへの入力が作成中のシナリオの実行を指示する操作であるか否かの判定を行う。なお、ステップＳ８においては、作成中のシナリオの一部（１シーンのみ等）または全体の実行の指示が受け付けられる。
シナリオ作成ＧＵＩへの入力が作成中のシナリオの実行を指示する操作である場合、ステップＳ８においてＹＥＳと判定されて、処理はステップＳ９に移行する。一方、シナリオ作成ＧＵＩへの入力が作成中のシナリオの実行を指示する操作でない場合、ステップＳ８においてＮＯと判定されて、処理はステップＳ１０に移行する。
ステップＳ９において、データ実行部１１４は、ステップＳ８において実行が指示されたシナリオ（一部または全体）を実行する。
【００５３】
ステップＳ１０において、ＧＵＩ形成部１１１は、シナリオ作成ＧＵＩへの入力がシナリオのデータをサーバ２０のシナリオＤＢに登録する指示のための操作であるか否かの判定を行う。
シナリオ作成ＧＵＩへの入力がシナリオのデータをサーバ２０のシナリオＤＢに登録する指示のための操作である場合、ステップＳ１０においてＹＥＳと判定されて、処理はステップＳ１１に移行する。一方、シナリオ作成ＧＵＩへの入力がシナリオのデータをサーバ２０のシナリオＤＢに登録する指示のための操作でない場合、ステップＳ１０においてＮＯと判定されて、処理はステップＳ１２に移行する。
ステップＳ１１において、シナリオデータ登録部１１５は、シナリオのデータをシナリオＤＢに登録するためにサーバ２０に送信する。
【００５４】
ステップＳ１２において、ＧＵＩ形成部１１１は、シナリオ作成ＧＵＩの終了を指示する操作が行われたか否かの判定を行う。
シナリオ作成ＧＵＩの終了を指示する操作が行われた場合、ステップＳ１２においてＹＥＳと判定されて、シナリオ作成処理は終了となる。一方、シナリオ作成ＧＵＩの終了を指示する操作が行われていない場合、ステップＳ１２においてＮＯと判定されて、処理はステップＳ２に移行する。
【００５５】
次に、端末装置１０が実行するシナリオ実行処理について説明する。
［シナリオ実行処理］
図７は、端末装置１０が実行するシナリオ実行処理の流れを示すフローチャートである。シナリオ実行処理は、端末装置１０において、シナリオ実行処理の実行を指示する操作が行われることに対応して開始される。
ステップＳ２１において、シナリオデータ取得部１１６は、実行対象のシナリオのデータにおける開始シーンのデータを取得する。
【００５６】
ステップＳ２２において、データ実行部１１４は、開始シーンに定義されている対話処理を実行する。
ステップＳ２３において、シナリオデータ取得部１１６は、実行対象のシナリオのデータにおける次のシーンのデータを取得する。
ステップＳ２４において、シーン判定部１１７は、次のシーンが抽象シーンであるか否かの判定を行う。
次のシーンが抽象シーンでない場合、ステップＳ２４においてＮＯと判定されて、処理はステップＳ２５に移行する。一方、次のシーンが抽象シーンである場合、ステップＳ２４においてＹＥＳと判定されて、処理はステップＳ２７に移行する。
【００５７】
ステップＳ２５において、シーン判定部１１７は、次のシーンが実行対象のシナリオのデータにおける終了シーンであるか否かの判定を行う。
次のシーンが実行対象のシナリオのデータにおける終了シーンでない場合、ステップＳ２５においてＮＯと判定されて、処理はステップＳ２６に移行する。一方、次のシーンが実行対象のシナリオのデータにおける終了シーンである場合、ステップＳ２５においてＹＥＳと判定されて、シナリオ実行処理は終了となる。
ステップＳ２６において、データ実行部１１４は、次のシーンに定義されている対話処理を実行する。ステップＳ２６の後、処理はステップＳ２３に移行する。
【００５８】
ステップＳ２７において、検索要求部１１８は、対話処理の現在の状況に適合し、かつ、抽象シーンに設定されたシーン選択条件に適合する部品データまたはシナリオのデータの要求（実行用データの要求）をサーバ２０に送信する。
ステップＳ２８において、データ実行部１１４は、シナリオ実行処理を再帰的に呼び出して実行する。ステップＳ２８の後、処理はステップＳ２３に移行する。
【００５９】
次に、サーバ２０の動作について説明する。
［シナリオ作成支援処理］
図８は、サーバ２０が実行するシナリオ作成支援処理の流れを示すフローチャートである。シナリオ作成支援処理は、サーバ２０において、シナリオ作成処理の実行を指示する操作が行われることに対応して開始される。
【００６０】
ステップＳ１０１において、作成用データ要求取得部２１２は、シナリオ作成ＧＵＩで選択される部品データを要求するための作成用データの要求を、端末装置１０から取得したか否かの判定を行う。
シナリオ作成ＧＵＩで選択される部品データを要求するための作成用データの要求を、端末装置１０から取得した場合、ステップＳ１０１においてＹＥＳと判定されて、処理はステップＳ１０２に移行する。一方、シナリオ作成ＧＵＩで選択される部品データを要求するための作成用データの要求を、端末装置１０から取得していない場合、ステップＳ１０１においてＮＯと判定されて、処理はステップＳ１０４に移行する。
【００６１】
ステップＳ１０２において、作成用提供データ取得部２１３は、作成用データ要求取得部２１２によって取得されたデータ要求に示される部品データを部品ＤＢ２２２から取得する。このとき、作成用提供データ取得部２１３は、作成用データの要求が部品データとしてのシナリオデータを要求するものである場合、作成用データの要求に示されるシナリオデータをシナリオＤＢ２２１から取得する。
【００６２】
ステップＳ１０３において、作成用データ提供部２１４は、作成用提供データ取得部２１３によって取得された部品データあるいはシナリオのデータを、作成用データの要求を行った端末装置１０に提供する。
ステップＳ１０４において、シナリオ登録受付部２１１は、シナリオＤＢに登録するためのシナリオのデータを受信したか否かの判定を行う。
シナリオＤＢに登録するためにシナリオのデータを受信した場合、ステップＳ１０４においてＹＥＳと判定されて、処理はステップＳ１０５に移行する。一方、シナリオＤＢに登録するためにシナリオのデータを受信していない場合、ステップＳ１０４においてＮＯと判定されて、シナリオ作成支援処理が繰り返される。
【００６３】
ステップＳ１０５において、シナリオ登録受付部２１１は、受信したシナリオのデータをシナリオＤＢ２２１に登録する。なお、本実施形態におけるシナリオのデータには、通常のシーン及び抽象シーンのいずれを含むことも可能である。ステップＳ１０５の後、シナリオ作成支援処理が繰り返される。
【００６４】
次に、サーバ２０が実行するシナリオ実行支援処理について説明する。
［シナリオ実行支援処理］
図９は、サーバ２０が実行するシナリオ実行支援処理の流れを説明するフローチャートである。シナリオ実行支援処理は、サーバ２０において、シナリオ実行支援処理の実行を指示する操作が行われることに対応して開始される。
【００６５】
ステップＳ２０１において、実行用データ要求取得部２１５は、抽象シーンに挿入される部品データまたはシナリオのデータの要求（実行用データの要求）を端末装置１０から取得したか否かの判定を行う。
抽象シーンに挿入される部品データまたはシナリオのデータの要求（実行用データの要求）を端末装置１０から取得した場合、ステップＳ２０１においてＹＥＳと判定されて、処理はステップＳ２０２に移行する。一方、抽象シーンに挿入される部品データまたはシナリオのデータの要求（実行用データの要求）を端末装置１０から取得していない場合、ステップＳ２０１においてＮＯと判定されて、シナリオ実行支援処理が繰り返される。
【００６６】
ステップＳ２０２において、実行用データ検索部２１６は、実行用データ要求取得部２１５によって取得された実行用データの要求に示される対話処理の現在の状況を示すパラメータ、及び、抽象シーンに設定されたシーン選択条件に基づいて、対話処理の現在の状況に適合し、かつ、抽象シーンに設定されたシーン選択条件に適合する部品データまたはシナリオのデータを部品ＤＢ２２２またはシナリオＤＢ２２１から検索する。このとき、実行用データ検索部２１６は、パラメータセット及びパラメータ値の条件をキーとして、対話処理の現在の状況を示すパラメータ、及び、抽象シーンに設定されたシーン選択条件に適合するシナリオのデータまたはシーンのデータをスコア化して検索する。
【００６７】
ステップＳ２０３において、実行用データ提供部２１７は、実行用データ検索部２１６によって検索されたシナリオのデータまたはシーンのデータのうち、スコアが最も高いものを取得する。
ステップＳ２０４において、実行用データ提供部２１７は、取得したスコアが最も高いシナリオのデータまたはシーンのデータを、実行用データの要求を行った端末装置１０に提供する。ステップＳ２０４の後、シナリオ実行支援処理が繰り返される。
【００６８】
このように、本実施形態における対話シナリオ処理システム１では、コンピュータ上に生成されたキャラクタが人間と対話する際のシナリオ（対話処理のシナリオ）の実行に際し、対話処理の現在の状況に適合し、かつ、抽象シーンに設定されたシーン選択条件に適合する部品データまたはシナリオのデータをサーバ２０から取得して実行する。
これにより、シナリオの一部を外部から動的に呼び出すことにより、対話処理のシナリオのバリエーションをより容易に増加させることが可能となる。
【００６９】
［シナリオの具体例］
次に、上述のような処理により、対話シナリオ処理システム１において作成されるシナリオの具体例について説明する。図１０は、本実施形態において実行される対話処理のシナリオの一例を示す模式図である。
図１０において、実行対象のシナリオのデータにおける開始シーンＳＣ１が対話者の発話を受け付けるシーンである場合に、対話者が「お腹が空いた」と発話したとする。
そして、開始シーンＳＣ１の次のシーンＳＣ２が抽象シーンであり、シーン選択条件として「時間」が設定されている場合、抽象シーンＳＣ２としては、シーン選択条件に適合するもの（「時間」のパラメータあるいは「時間」に関連するパラメータが指定されているもの）であって、「お腹が空いた」という対話処理の現在の状況（対話の流れ）に適合するもの（食事に関する対話内容のもの）が動的に選択される。
【００７０】
一例として、シナリオのデータの実行時間が午前８：００〜１０：００である場合に、現在時刻（例えば、午前９：００）及び対話内容としての「食事」をキーとして、「朝食を食べられるお店」を提案するシーンＳＣ２ａのデータがサーバ２０において検索されたとすると、そのシーンＳＣ２ａが抽象シーンに挿入されて実行される。例えば、「どんな朝ごはん？」との問いかけと共に、朝食を提供する店の一覧が表示されるシーンが実行される。
【００７１】
また、他の例として、シナリオのデータの実行時間が午前１１：００〜１３：００である場合に、現在時刻（例えば、午後１２：００）及び対話内容としての「食事」をキーとして、「昼食を食べられるお店」を提案するシーンＳＣ２ｂのデータがサーバ２０において検索されたとすると、そのシーンＳＣ２ｂが抽象シーンに挿入されて実行される。例えば、「おすすめのランチはカレーだけど、どうかな？」との問いかけと共に、昼食を提供する店の一覧が表示されるシーンが実行される。
【００７２】
このように、本実施形態における対話シナリオ処理システム１によれば、抽象シーンにおける同一の「時間」というシーン選択条件（パラメータ）に対して、シナリオのデータの実行時間によって、異なる対話（シナリオ）を実行することが可能となる。したがって、抽象シーンに挿入するシーン等を動的に呼び出すことができ、対話処理のシナリオのバリエーションをより容易に増加させることが可能となる。
【００７３】
［変形例１］
上述の実施形態において、シナリオのデータの実行時に、抽象シーンが検出された場合、対話実行時の状況に適合する部品データまたはシナリオのデータ（シーン選択条件に適合し、対話処理の現在の状況（対話の流れ等）に適合するシーンまたはシナリオのデータ）を検索することとしたが、これに限られない。
即ち、抽象シーンに設定されたシーン選択条件が充足されれば、他の条件に基づいて、部品データまたはシナリオのデータを絞り込むこととしてもよい。例えば、検索要求部１１８による実行用シナリオのデータの要求に応じて、サーバ２０に記憶されたユーザの個人プロファイル（ユーザプロファイル）を参照して、部品データまたはシナリオデータを検索することとしてもよい。なお、ユーザの個人プロファイル（ユーザプロファイル）は、端末装置１０に記憶しておくこととしてもよい。
【００７４】
さらに、検索要求部１１８による実行用シナリオのデータの要求に応じて、対話を行っているユーザのユーザプロファイルに限らず、複数のユーザにおけるユーザプロファイルの統計を参照して、部品データまたはシナリオデータを検索することとしてもよい。
なお、対話を行っているユーザのユーザプロファイル及び複数のユーザにおけるユーザプロファイルの統計を共に反映させて、部品データまたはシナリオデータを検索することとしてもよい。この場合、対話を行っているユーザのユーザプロファイル及び複数のユーザにおけるユーザプロファイルの統計を重み付けして統合し、統合されたユーザプロファイルを参照して、部品データまたはシナリオデータを検索することが可能である。
【００７５】
以上のように構成される対話シナリオ処理システム１は、端末装置１０と、サーバ２０とを含む。端末装置１０は、シーン判定部１１７と、検索要求部１１８と、データ実行部１１４と、を備える。
シーン判定部１１７は、実行対象となるシナリオのデータに、シナリオのデータの要素となるデータ（例えば、部品データまたはシナリオのデータ等）を選択するための選択条件（例えば、シーン選択条件）が設定された抽象要素（例えば、抽象シーン等）が含まれるか否かを判定する。
検索要求部１１８は、シーン判定部１１７によって抽象要素が含まれると判定された場合に、抽象要素に設定された選択条件に基づいて、抽象要素に対応するシナリオのデータの要素となるデータをサーバ２０から取得する。
データ実行部１１４は、実行対象となるシナリオのデータにおける抽象要素を、抽象要素に対応するシナリオのデータの要素となるデータに置換して、実行対象となるシナリオのデータを実行する。
これにより、対話処理のシナリオの実行に際し、抽象要素に設定された選択条件に適合する要素のデータをサーバ２０から取得して実行することができる。これにより、シナリオの一部を外部から動的に呼び出すことにより、対話処理のシナリオのバリエーションをより容易に増加させることが可能となる。
【００７６】
検索要求部１１８は、選択条件と、対話処理における対話内容とに基づいて、抽象要素に対応するシナリオのデータの要素となるデータを取得する。
これにより、対話処理の現在の状況に適合するシナリオのデータの要素となるデータを取得し、より適切な対話内容を実現することができる。
【００７７】
検索要求部１１８は、対話者個人のプロファイルに基づいて、抽象要素に対応するシナリオのデータの要素となるデータを取得する。
これにより、対話者個人の特徴に適合したシナリオのデータを取得して実行することができる。
【００７８】
検索要求部１１８は、複数の対話者のプロファイルに基づいて、抽象要素に対応するシナリオのデータの要素となるデータを取得する。
これにより、複数のユーザの傾向に適合したシナリオのデータを取得して実行することができる。
【００７９】
シナリオのデータの要素となるデータには、当該要素となるデータに対応するパラメータが設定される。
検索要求部１１８は、選択条件として設定されたパラメータの条件に適合するシナリオのデータの要素となるデータを取得する。
これにより、シナリオのデータの要素となるデータに設定されているパラメータを利用して、抽象要素に対応するシナリオのデータの要素となるデータを特定することが可能となる。
【００８０】
サーバ２０は、実行用データ検索部２１６を備える。実行用データ検索部２１６は、シナリオのデータの要素となるデータについて、選択条件として設定されたパラメータに基づくスコアを算出することによって、抽象要素に対応するシナリオのデータの要素となるデータを検索する。
これにより、選択条件に適合する要素となるデータが複数存在する場合でも、より適切なデータを特定することが可能となる。
【００８１】
サーバ２０は、実行用データ検索部２１６と、実行用データ提供部２１７と、を備える。
実行用データ検索部２１６は、実行対象となるシナリオのデータに含まれる、シナリオのデータの要素となるデータを選択するための選択条件が設定された抽象要素について、選択条件に基づいて、抽象要素に対応するシナリオのデータの要素となるデータを検索する。
実行用データ提供部２１７は、実行用データ検索部２１６によって検索されたシナリオのデータの要素を情報処理装置に提供する。
これにより、対話処理のシナリオの実行に際し、抽象要素に設定された選択条件に適合する要素のデータを検索して実行することができる。これにより、シナリオの一部を外部から動的に呼び出すことにより、対話処理のシナリオのバリエーションをより容易に増加させることが可能となる。
【００８２】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
また、上述の実施形態において、サーバ２０の構成は一例として示したものであり、対話シナリオ処理システム１全体として、サーバ２０の機能が備えられていれば、サーバ２０の機能を複数のサーバに分割して実装したり、端末装置１０にサーバ２０の機能の一部を実装したりすることができる。
【００８３】
また、上述の実施形態に記載された例を適宜組み合わせて、本発明を実施することが可能である。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図３及び図５の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が対話シナリオ処理システム１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図３及び図５の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００８４】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００８５】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図２のリムーバブルメディア８２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア８２１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ），Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ（ブルーレイディスク）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図２のＲＯＭ８１２や、図２の記憶部８１７に含まれるＤＲＡＭ等で構成される。
【００８６】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【符号の説明】
【００８７】
１  対話シナリオ処理システム、１０  端末装置、２０  サーバ、３０  ネットワーク、１１１  ＧＵＩ形成部、１１２  ＧＵＩ入力受付部、１１３  データ生成部、１１４  データ実行部、１１５  シナリオデータ登録部、１１６  シナリオデータ取得部、１１７  シーン判定部、１１８  検索要求部、１２１  シナリオデータ記憶部、１２２  履歴データ記憶部、１３１  フロービルダー部、２１１  シナリオ登録受付部、２１２  作成用データ要求取得部、２１３  作成用提供データ取得部、２１４  作成用データ提供部、２１５  実行用データ要求取得部、２１６  実行用データ検索部、２１７  実行用データ提供部、２２１  シナリオＤＢ、２２２  部品ＤＢ、２２３  ユーザプロファイル記憶部、８００  情報処理装置、８１１  ＣＰＵ、８１２  ＲＯＭ、８１３  ＲＡＭ、８１４  バス、８１５  入力部、８１６  出力部、８１７  記憶部、８１８  通信部、８１９  ドライブ、８２１  リムーバブルメディア
【図１】
2019175290.tif 000003
【図２】
2019175290.tif 000004
【図３】
2019175290.tif 000005
【図４】
2019175290.tif 000006
【図５】
2019175290.tif 000007
【図６】
2019175290.tif 000008
【図７】
2019175290.tif 000009
【図８】
2019175290.tif 000010
【図９】
2019175290.tif 000011
【図１０】
2019175290.tif 000012