JP6647595B2 - Information processing system, information processing apparatus, server, information processing method and program - Google Patents
Information processing system, information processing apparatus, server, information processing method and program Download PDFInfo
- Publication number
- JP6647595B2 JP6647595B2 JP2018065018A JP2018065018A JP6647595B2 JP 6647595 B2 JP6647595 B2 JP 6647595B2 JP 2018065018 A JP2018065018 A JP 2018065018A JP 2018065018 A JP2018065018 A JP 2018065018A JP 6647595 B2 JP6647595 B2 JP 6647595B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- scenario
- unmatched
- scene
- interpolation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/10—Speech classification or search using distance or distortion measures between unknown speech and reference templates
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Description
本発明は、情報処理システム、情報処理装置、サーバ、情報処理方法及びプログラムに関する。 The present invention relates to an information processing system, an information processing apparatus, a server, an information processing method, and a program.
従来、コンピュータと人間とが対話を行う対話システムが知られている。このような対話システムにおいては、予め用意された対話シナリオをベースとして、1つの対話シナリオまたは複数の対話シナリオの組み合わせにより、対話内容が構築される。そのため、対話のバリエーションを増加させるためには、対話のインプット及びアウトプットを想定して、多くの対話シナリオを予め作成しておく必要がある。
なお、対話シナリオを作成するための技術は、例えば、非特許文献1に開示されている。
2. Description of the Related Art Conventionally, a dialog system in which a computer and a human have a dialog is known. In such a dialog system, the content of a dialog is constructed by a single dialog scenario or a combination of a plurality of dialog scenarios based on a prepared dialog scenario. Therefore, in order to increase the variation of the dialog, it is necessary to prepare many dialog scenarios in advance, assuming the input and output of the dialog.
A technique for creating a dialogue scenario is disclosed in Non-Patent Document 1, for example.
しかしながら、対話シナリオを作成するための従来の技術においては、予め用意されている対話シナリオに対し、先行する対話シナリオから想定されていないインプットが入力された場合、次の対話シナリオへの遷移を行うことができず、適切な対話が成立しないこととなる。そのため、次の対話シナリオへの遷移を行うことができない場合には、対話シナリオの作成段階に戻り、対話シナリオのインプット及びアウトプットを対応付けし直す作業等が必要となる。このとき、対話シナリオの作成者には、対話シナリオ間のインプットとアウトプットとの整合を厳密に考慮しながら、対話シナリオを作成することが求められる。
このように、従来の技術においては、コンピュータとの対話を行う場合に、対話シナリオのインターフェースを厳密に整合させることが求められており、対話シナリオを柔軟に適応させて対話を実行することが困難であった。
However, in the related art for creating a dialog scenario, when an input that is not assumed from a preceding dialog scenario is input to a prepared dialog scenario, a transition to the next dialog scenario is performed. Therefore, an appropriate dialogue cannot be established. Therefore, if it is not possible to make a transition to the next dialog scenario, it is necessary to return to the step of creating the dialog scenario and re-associate the input and output of the dialog scenario. At this time, the creator of the dialog scenario is required to create the dialog scenario while strictly considering the consistency between the input and the output between the dialog scenarios.
As described above, in the related art, when performing a dialog with a computer, it is required that the interface of the dialog scenario be strictly matched, and it is difficult to flexibly adapt the dialog scenario to execute the dialog. Met.
本発明は、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行可能とすることを目的とする。 An object of the present invention is to enable a dialog with a computer to be executed by adapting a dialog scenario more flexibly.
上記目的を達成するため、本発明の一態様の情報処理システムは、
対話処理のシナリオのデータを実行する情報処理装置と、前記シナリオのデータの要素となるデータを蓄積するサーバとが通信可能に構成された情報処理システムであって、
前記情報処理装置は、
実行対象となる前記シナリオのデータの要素が、前記シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合要素であるか否かを判定する要素判定手段と、
前記要素判定手段によって前記シナリオのデータの要素が前記未整合要素であると判定された場合に、前記未整合要素において入出力される情報を補間するための前記シナリオのデータの要素である補間要素のデータを前記サーバから取得するデータ取得手段と、
実行対象となる前記シナリオのデータにおける前記未整合要素に、前記データ取得手段によって取得された前記補間要素のデータを追加して、実行対象となる前記シナリオのデータを実行するデータ実行手段と、
を備えることを特徴とする。
In order to achieve the above object, an information processing system according to one embodiment of the present invention includes:
An information processing system configured to be able to communicate with an information processing apparatus that executes data of a scenario of an interactive process and a server that stores data that is an element of the data of the scenario,
The information processing device,
Element determining means for determining whether an element of the data of the scenario to be executed is an unmatched element in which information input / output with at least one element before or after the data of the scenario does not match ,
An interpolating element that is an element of the scenario data for interpolating information input / output in the unmatched element when the element of the scenario data is determined to be the unmatched element by the element determining unit. Data acquisition means for acquiring the data from the server;
Data execution means for executing the data of the scenario to be executed, by adding the data of the interpolation element acquired by the data acquisition means to the unmatched elements in the data of the scenario to be executed,
It is characterized by having.
本発明によれば、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行することができる。 According to the present invention, a dialog with a computer can be executed by adapting a dialog scenario more flexibly.
以下、本発明の実施形態について、図面を用いて説明する。
[構成]
[システム構成]
図1は、本発明に係る対話シナリオ処理システム1のシステム構成を示す図である。
対話シナリオ処理システム1は、本発明に係る情報処理システムの一実施形態として構成されるものであり、コンピュータ上に生成されたキャラクタが人間と対話する際のシナリオ(対話処理のシナリオ)の実行に際し、対話の流れにおいて隣接して配置された対話シナリオ間のインプットとアウトプットとが厳密に整合していない場合であっても、これらインプットとアウトプットとの不整合を他の対話シナリオ等により補間することで、対話シナリオのデータをより柔軟に適応させて実行可能なシステムである。なお、シナリオのインプット及びアウトプットとは、シナリオの実行において順次受け渡される各種情報を表すパラメータである。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[Constitution]
[System configuration]
FIG. 1 is a diagram showing a system configuration of a dialog scenario processing system 1 according to the present invention.
The dialog scenario processing system 1 is configured as an embodiment of an information processing system according to the present invention, and is used for executing a scenario (a dialog processing scenario) when a character generated on a computer interacts with a human. Even if the input and output between adjacently arranged dialog scenarios in the dialog flow are not strictly matched, the inconsistency between these inputs and outputs is interpolated by other dialog scenarios. By doing so, it is a system that can adapt and execute the data of the dialog scenario more flexibly. It should be noted that the input and output of the scenario are parameters representing various types of information that are sequentially transferred in the execution of the scenario.
本実施形態において、対話シナリオ処理システム1では、キャラクタの一連の対話のフローを表すシナリオのデータが、シーンのデータを構成単位として構築される。シーンとは、対話のフローを構成する要素であり、各シーンは、対話における対話者の発話や操作あるいはシーンの遷移等に基づいて発生する各種イベントによって構成される。また、イベントが発生すると、そのイベントの内容が定義(ビジュアルプログラム)されたアクションが実行される。 In the present embodiment, in the dialogue scenario processing system 1, scenario data representing a flow of a series of dialogues of a character is constructed using scene data as a constituent unit. A scene is an element that constitutes the flow of a dialogue, and each scene is composed of various events that occur based on the utterance or operation of a dialogueman in the dialogue, transition of a scene, or the like. When an event occurs, an action in which the content of the event is defined (visual program) is executed.
また、対話シナリオ処理システム1において、シナリオのデータが構築される場合、ユーザに対して、後述するように、フロービルダーを含むGUI(Graphical User Interface)が提供される。本実施形態において、フロービルダーでは、シーンを表すアイコンを配列することで、一連の対話のフローを表すシナリオを構築することができる。 When scenario data is constructed in the dialog scenario processing system 1, a GUI (Graphical User Interface) including a flow builder is provided to the user, as described later. In the present embodiment, the flow builder can construct a scenario representing a flow of a series of dialogues by arranging icons representing scenes.
また、シナリオのデータ及びシーンのデータには、シナリオ及びシーンを利用するために必要なパラメータセット、及び、パラメータ値の条件(値、あるいは、値の範囲)を指定することができる。そして、対話シナリオ処理システム1は、対話処理における各種パラメータを管理し、シナリオのデータまたはシーンのデータが実行されることに対応して、各種パラメータ値を更新する。 In the scenario data and the scene data, a parameter set necessary for using the scenario and the scene, and a parameter value condition (value or value range) can be specified. Then, the dialog scenario processing system 1 manages various parameters in the dialog processing, and updates various parameter values in response to execution of scenario data or scene data.
なお、シナリオのデータ及びシーンのデータに対して指定されるパラメータの種類としては、例えば、タグ、タスク、位置情報、時間、使用回数、センサ情報及び使用履歴等を定義することが可能である。具体的には、タグとして、タイトル、用途、分野(スポーツ、アーティスト、食べ物等)が指定できる。また、タスクとして、検索、計算、あいさつ、ボケる等の実行内容が指定できる。また、位置情報として、所定位置(現在位置または特定の位置等)周辺の情報表示等が指定でき、時間として、朝、昼、夜(即ち、時間帯で対話内容の選択可否が決まる)等が指定できる。また、使用回数として、所定期間あたりの使用回数(一度使用された場合は3ヶ月使用しない等)が指定でき、センサ情報として、加速度センサの検出値等が指定できる。また、使用履歴として、ユーザ毎のシナリオのデータ及びシーンのデータの使用履歴(過去に使用されたか否か等)を指定できる。 Note that, as the types of parameters specified for scenario data and scene data, for example, tags, tasks, position information, time, the number of times of use, sensor information, use history, and the like can be defined. Specifically, titles, applications, and fields (sports, artists, foods, etc.) can be specified as tags. As the task, execution contents such as search, calculation, greeting, blur, etc. can be designated. Further, as the position information, information display around a predetermined position (current position or specific position, etc.) can be designated, and as time, morning, noon, night (that is, whether or not the content of the dialogue can be selected depending on the time zone) and the like can be specified. Can be specified. The number of times of use can be specified as the number of times of use per predetermined period (eg, once used, not used for three months), and the sensor information can be a value detected by an acceleration sensor. Further, as the usage history, the usage history of the scenario data and the scene data for each user (whether or not they have been used in the past, etc.) can be designated.
図1に示すように、対話シナリオ処理システム1は、複数の端末装置10と、サーバ20とを含んで構成され、複数の端末装置10とサーバ20とは、ネットワーク30を介して互いに通信可能に構成されている。
As shown in FIG. 1, the dialog scenario processing system 1 includes a plurality of
端末装置10は、クリエータ等のユーザによって使用され、後述するシナリオ作成処理を実行することにより、シナリオのデータを構築するためのGUI(以下、「シナリオ作成GUI」と称する。)を提供する。
また、端末装置10は、シナリオ作成GUIにおいて、シナリオを構成するための部品データをサーバ20から取得し、ユーザが選択可能な形態で提供する。さらに、端末装置10は、シナリオ作成GUIにおいて作成されたシナリオのデータをサーバ20にアップロードする。サーバ20にアップロードされたシナリオのデータは、他のシナリオのデータを作成する際に、部品データとして再利用することが可能となっている。
The
Further, the
本実施形態において、シナリオのデータには、後続のシーンのデータのインプットに対し、アウトプットが整合していない先行するシーン(以下、「未整合シーン」と称する。)のデータを含めることが許容されている。なお、未整合シーンは、例えば、シナリオ作成者が意図することなくシーン間のインプットとアウトプットとの不整合が生じて発生する場合や、シナリオ作成者が対話の流れの概略のみを構成し、シーン間のインプットとアウトプットとの整合を意図的に看過して発生する場合等が想定される。 In the present embodiment, the scenario data may include the data of the preceding scene whose output is not matched (hereinafter, referred to as “unmatched scene”) with respect to the input of the data of the subsequent scene. Have been. Unmatched scenes are generated, for example, when the input and output between the scenes are inconsistently created without the intention of the scenario creator, or when the scenario creator constitutes only an outline of the dialog flow, It is assumed that matching between input and output between scenes is intentionally overlooked, and the like.
また、端末装置10は、コンピュータとの対話者等のユーザによって使用され、後述するシナリオ実行処理を実行することにより、シナリオのデータを実行する。ここで、未整合シーンが含まれるシナリオのデータにおいては、シナリオに含まれるシーンを単に実行した場合、未整合シーンが実行された時点で、後続のシーンに移行することができなくなる。そのため、本実施形態においては、未整合シーンが含まれると判定された場合、端末装置10は、未整合シーンと、未整合シーンに後続するシーンとの間に補間のためのシーン(以下、「補間シーン」と称する。)を追加し、シーン間の不整合の解消を図る。この結果、未整合シーン及び補間シーンを含めてシーン間のインプット及びアウトプットが整合された状態となり、端末装置10は、シナリオのデータを実行することが可能となる。
これにより、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行することが可能となる。
Further, the
This makes it possible to adapt the dialog scenario more flexibly and execute the dialog with the computer.
サーバ20は、複数の部品データを格納した部品データベース(部品DB)と、複数のシナリオのデータを格納したシナリオデータベース(シナリオDB)とを備えている。そして、サーバ20は、後述するシナリオ作成支援処理を実行することにより、端末装置10においてシナリオ作成GUIがユーザに提供される際に、部品DBに格納されている部品データ及びシナリオDBに格納されているシナリオのデータを端末装置10に適宜提供する。また、サーバ20は、後述するシナリオ実行支援処理を実行することにより、端末装置10において対話処理のシナリオが実行される際に、未整合シーンを補間するための条件(以下、「補間条件」と称する。)に適合する部品データまたはシナリオのデータを検索し、端末装置10に適宜提供する。補間条件としては、例えば、後続のシーンのデータのインプットに対し、先行する未整合シーンのアウトプットでは不足する情報(例えば、「時間」や「場所」等の情報)を取得可能であることを定義することができる。
The
[ハードウェア構成]
次に、対話シナリオ処理システム1の端末装置10及びサーバ20のハードウェア構成について説明する。
端末装置10及びサーバ20は、情報処理装置によって構成され、例えば端末装置10はPC(Personal Computer)、サーバ20はサーバコンピュータによって構成することができる。
[Hardware configuration]
Next, the hardware configuration of the
The
図2は、端末装置10及びサーバ20を構成する情報処理装置800のハードウェア構成を示す図である。
図2に示すように、情報処理装置800は、CPU(Central Processing Unit)811と、ROM(Read Only Memory)812と、RAM(Random Access Memory)813と、バス814と、入力部815と、出力部816と、記憶部817と、通信部818と、ドライブ819と、を備えている。
FIG. 2 is a diagram illustrating a hardware configuration of the
As shown in FIG. 2, the
CPU811は、ROM812に記録されているプログラム、または、記憶部817からRAM813にロードされたプログラムに従って各種の処理を実行する。
RAM813には、CPU811が各種の処理を実行する上において必要なデータ等も適宜記憶される。
The
The
CPU811、ROM812及びRAM813は、バス814を介して相互に接続されている。バス814には、入力部815、出力部816、記憶部817、通信部818及びドライブ819が接続されている。
The
入力部815は、各種ボタン等で構成され、指示操作に応じて各種情報を入力する。
出力部816は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部817は、ハードディスクあるいはDRAM(Dynamic Random Access Memory)等で構成され、各サーバで管理される各種データを記憶する。
通信部818は、ネットワークを介して他の装置との間で行う通信を制御する。
The
The
The
The
ドライブ819には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア821が適宜装着される。ドライブ819によってリムーバブルメディア821から読み出されたプログラムは、必要に応じて記憶部817にインストールされる。
なお、上記ハードウェア構成は、情報処理装置800の基本的構成であり、端末装置10あるいはサーバ20を構成する場合、適宜、付加的なハードウェアを備えることができる。例えば、端末装置10を構成する場合、デジタル画像を撮像する撮像部を備えること等が可能である。
In the
Note that the above hardware configuration is a basic configuration of the
[機能的構成]
次に、端末装置10及びサーバ20の機能構成について説明する。図3は、端末装置10の機能構成を示すブロック図である。
図3に示すように、端末装置10のCPU811がシナリオ作成処理及びシナリオ実行処理を実行することにより、CPU811において、GUI形成部111と、GUI入力受付部112と、データ生成部113と、データ実行部114と、シナリオデータ登録部115と、シナリオデータ取得部116と、シーン判定部117と、検索要求部118と、が機能する。また、端末装置10の記憶部817には、シナリオデータ記憶部121と、履歴データ記憶部122と、が形成される。
[Functional configuration]
Next, the functional configuration of the
As shown in FIG. 3, when the
シナリオデータ記憶部121には、シナリオ作成GUIにおいて作成されたシナリオのデータ及び実行対象となるシナリオのデータが記憶される。
履歴データ記憶部122には、端末装置10において実行された対話処理の履歴のデータが記憶される。
GUI形成部111は、シナリオ作成処理の実行開始と共に、表示画面上にシナリオ作成GUIを形成する。また、GUI形成部111は、シナリオ実行処理の実行開始と共に、キャラクタの画像を表示し、対話シナリオのデータに従ってキャラクタの動きを制御する。
The scenario
In the history
The
図4は、シナリオ作成GUIの一例を示す模式図である。図4に示すように、シナリオ作成GUIには、フロービルダー部131が含まれている。
フロービルダー部131は、シナリオ全体のフローを構成するためのGUIである。フロービルダー部131において、ユーザは、シナリオを構成するシーンを表すアイコンを配列することで、目的とする対話の流れの枠組みを有するシナリオを構成することができる。即ち、ユーザは、シナリオをシーンの状態遷移として定義することができる。本実施形態において、フロービルダー部131では、シナリオを構成する各種属性のシーンを定義することができる。
FIG. 4 is a schematic diagram illustrating an example of the scenario creation GUI. As shown in FIG. 4, the scenario creation GUI includes a
The
なお、本実施形態においては、通常のシーンとして、対話シナリオ処理システム1において予め用意されている特定の内容を表すシーンのデータ(部品データ)を選択可能となっている。例えば、シナリオの作成時に、高い頻度で組み込まれる内容のシーンのデータを部品データとして予め用意しておくことができる。具体的には、キャラクタが挨拶するシーンのデータ等を部品データとして用意しておくことができる。また、上述のように、本実施形態においては、サーバ20にアップロードされたシナリオのデータも、部品データとして再利用することが可能となっている。
In the present embodiment, scene data (part data) representing specific contents prepared in advance in the dialogue scenario processing system 1 can be selected as a normal scene. For example, when a scenario is created, scene data with contents that are frequently incorporated can be prepared in advance as component data. Specifically, scene data or the like to which the character greets can be prepared as component data. Further, as described above, in the present embodiment, scenario data uploaded to the
図3に戻り、GUI入力受付部112は、シナリオ作成GUIの各部に対するユーザの入力を受け付け、受け付けた入力内容をGUI形成部111、データ生成部113、データ実行部114、あるいは、シナリオデータ登録部115に出力する。例えば、GUI入力受付部112は、フロービルダー部131におけるシーンを表すアイコンの選択を受け付ける。さらに、GUI入力受付部112は、選択されたアイコンの種類に応じた入力内容の入力を受け付ける。
Returning to FIG. 3, the GUI
データ生成部113は、シナリオ作成GUIに対するユーザの入力に応じて、シナリオの作成に関する各種のデータを生成する。例えば、データ生成部113は、フロービルダー部131においてシーンを表すアイコンが選択された場合、作成中のシナリオのデータに、選択されたアイコンに対応する種類のシーンのデータを追加する。また、データ生成部113は、ユーザの入力に応じて、作成中のシナリオのデータに追加する部品データまたはシナリオのデータの要求(作成用データの要求)をサーバ20に送信し、作成用データの要求に対応してサーバ20から提供された部品データまたはシナリオのデータを、作成中のシナリオのデータに追加する。
The
データ実行部114は、シナリオ作成GUIにおいて作成されたシナリオのデータ、または、シナリオデータ取得部116によって取得された実行対象のシナリオのデータを実行し、キャラクタによる人間との対話を進行する。本実施形態において、シーンのデータがシナリオのデータに追加される場合、シナリオにおいて隣接するシーン間のインプット及びアウトプットを厳密に整合させることは要求されない。即ち、シーンのデータにおいて、先行するシナリオのデータのアウトプットと、引き続くシナリオのデータのインプットが整合していない場合でも、後述する検索要求部118によって、適切なシーンが補間され、シーン間の不整合の解消が図られる。即ち、実行対象のシナリオのデータに未整合シーンが含まれている場合、データ実行部114は、検索要求部118から入力された部品データまたはシナリオのデータを補間シーンとして未整合シーンに追加する。そして、データ実行部114は、未整合シーン及び補間シーンを含めてシーン間のインプット及びアウトプットが整合された状態のシナリオのデータを実行する。
The
なお、データ実行部114は、ユーザの指定に応じて、シナリオ作成GUIにおいて作成されているシナリオのデータの一部(例えば、シナリオの冒頭のシーンのデータから未整合シーンのデータまで等)を実行することも可能である。
これにより、ユーザは、作成中のシナリオのデータが実行された場合のシミュレーションを行いながら、シナリオのデータを作成することができる。
The
Thereby, the user can create the data of the scenario while performing the simulation when the data of the scenario being created is executed.
シナリオデータ登録部115は、ユーザの指示に応じて、シナリオ作成GUIにおいて作成されたシナリオのデータをサーバ20に送信し、シナリオDBに登録する。シナリオDBに登録されたシナリオのデータは、他のユーザがシナリオ作成GUIにおいてシナリオのデータを作成する際に、部品データとして再利用可能となる。
The scenario
シナリオデータ取得部116は、ユーザによって実行が指示されたシナリオのデータ(実行対象のシナリオのデータ)を取得する。例えば、シナリオデータ取得部116は、サーバ20のシナリオDB221から、ユーザによって選択されたシナリオのデータを取得する。そして、シナリオデータ取得部116は、取得したシナリオのデータをシナリオデータ記憶部121に記憶する。
The scenario data acquisition unit 116 acquires data of a scenario instructed to be executed by the user (data of a scenario to be executed). For example, the scenario data acquisition unit 116 acquires data of the scenario selected by the user from the
シーン判定部117は、実行対象のシナリオのデータに未整合シーンが含まれているか否かの判定を行う。実行対象のシナリオのデータに未整合シーンが含まれていると判定した場合、シーン判定部117は、未整合シーンを補間するための補間条件を示す情報を検索要求部118に出力する。
The
検索要求部118は、シーン判定部117によって、実行対象のシナリオのデータに未整合シーンが含まれていると判定された場合に、シーン判定部117から入力された未整合シーンを補間するための補間条件を示す情報に基づいて、未整合シーンの補間に適合する部品データまたはシナリオのデータの要求(補間用データの要求)をサーバ20に送信する。そして、検索要求部118は、補間用データの要求に応答してサーバ20から提供された部品データまたはシナリオのデータを、データ実行部114に出力する。なお、検索要求部118は、シーン判定部117から未整合シーンを補間するための補間条件を示す情報が入力された場合、補間条件のうち、現在までの対話内容あるいは他の情報(端末の位置情報等)において、既に取得されている情報(「時間」や「場所」等の不足する情報を直接的または間接的に表す情報等)を未整合シーンのアウトプットに追加することで、補間条件を更新する。そして、検索要求部118は、更新後の補間条件を示す情報に基づいて、補間用データの要求をサーバ20に送信する。
When the
次に、サーバ20の機能構成について説明する。図5は、サーバ20の機能構成を示すブロック図である。
図5に示すように、サーバ20のCPU811がシナリオ作成支援処理及びシナリオ実行支援処理を実行することにより、CPU811において、シナリオ登録受付部211と、作成用データ要求取得部212と、作成用提供データ取得部213と、作成用データ提供部214と、補間用データ要求取得部215と、補間用データ検索部216と、補間用データ提供部217と、が機能する。また、サーバ20の記憶部817には、シナリオDB221と、部品DB222と、ユーザプロファイル記憶部223と、が形成される。
Next, a functional configuration of the
As shown in FIG. 5, when the
シナリオDB221には、キャラクタと人間との種々の対話内容を表すシナリオのデータが記憶されている。部品DB222には、特定の内容を表す種々の部品データが記憶されている。
ここで、シナリオDB221に記憶されたシナリオのデータ及び部品DB222に記憶された部品データには、インプット及びアウトプットを表すデータが併せて記憶されている。そのため、端末装置10から補間用データの要求を取得した場合、サーバ20においては、補間条件に示される情報(即ち、先行する未整合シーンのアウトプットでは不足する情報)を取得できるシナリオのデータまたは部品データを検索することができる。
The
Here, in the scenario data stored in the
なお、本実施形態において、シナリオDB221に記憶されたシナリオのデータ及び部品DB222に記憶された部品データに、シナリオ及びシーンを利用するために必要なパラメータセット、及び、パラメータ値の条件(値、あるいは、値の範囲)を設定することが可能である。そして、シナリオのデータ及び部品データが検索される場合、これらのパラメータセット及びパラメータ値の条件をキーとして、シナリオのデータ及び部品データをスコア化し、補間条件に適合するシナリオのデータ及び部品データの中から、スコアが高いものを検索結果として選択することができる。
In the present embodiment, the scenario data stored in the
ユーザプロファイル記憶部223は、複数の端末装置10において対話処理を行ったユーザそれぞれの個人プロファイル(ユーザプロファイル)が記憶されている。ユーザプロファイルには、例えば、年齢、性別、職業、趣味、嗜好性、行動パターンあるいは性格等が含まれ、これらの情報は、対話者個人に特有の対話を行う場合等に、適宜用いることができる。
The user
シナリオ登録受付部211は、端末装置10においてシナリオ作成GUIによって作成され、シナリオDBに登録するために送信されたシナリオのデータを受信し、シナリオDB221に登録する。
The scenario
作成用データ要求取得部212は、シナリオ作成GUIでシナリオのデータに追加される部品データまたはシナリオのデータの要求(作成用データの要求)を端末装置10から取得する。
The creation data
作成用提供データ取得部213は、作成用データ要求取得部212によって取得された作成用データの要求に示される部品データまたはシナリオのデータを部品DB222またはシナリオDB221から取得する。
The creation providing data acquisition unit 213 acquires, from the
作成用データ提供部214は、作成用提供データ取得部213によって取得された部品データあるいはシナリオのデータを、作成用データの要求を行った端末装置10に提供する。
補間用データ要求取得部215は、実行対象のシナリオのデータの実行時に、未整合シーンに挿入される部品データまたはシナリオのデータの要求(補間用データの要求)を端末装置10から取得する。なお、補間用データの要求には、未整合シーンを補間するための補間条件が含まれている。
The creation
The interpolation data request acquisition unit 215 acquires from the terminal device 10 a request for component data or scenario data to be inserted into an unmatched scene (a request for interpolation data) when executing the data of the scenario to be executed. Note that the request for interpolation data includes an interpolation condition for interpolating an unmatched scene.
補間用データ検索部216は、補間用データ要求取得部215によって取得された補間用データの要求に示される補間条件に基づいて、先行する未整合シーンのアウトプットでは不足する情報を取得できる部品データまたはシナリオのデータを部品DB222またはシナリオDB221から検索する。このとき、補間用データ検索部216は、パラメータセット及びパラメータ値の条件をキーとして、シナリオのデータ及び部品データをスコア化し、補間条件に適合するシナリオのデータ及び部品データの中から、スコアが高いものを検索結果として選択することができる。このときのスコアの算出方法は、汎用の検索エンジンに用いられるものを採用することや、部品データまたはシナリオのデータを検索するために用意されたものを採用することが可能である。
The interpolation
補間用データ提供部217は、補間用データ検索部216によって検索されたシナリオのデータまたはシーンのデータを、補間用データの要求を行った端末装置10に提供する。本実施形態において、補間用データ提供部217は、例えば、補間用データ検索部216によって検索されたシナリオのデータまたはシーンのデータのうち、スコアが最も高く、補間条件に適合するものを端末装置10に提供することができる。ただし、補間用データ提供部217が、補間用データ検索部216によって検索されたシナリオのデータまたはシーンのデータのうち、補間条件に適合するものであって、スコアが上位である複数のものを端末装置10に提供することとしてもよい。
The interpolation
[動作]
次に、対話シナリオ処理システム1の動作を説明する。初めに、端末装置10の動作について説明する。
[motion]
Next, the operation of the dialog scenario processing system 1 will be described. First, the operation of the
[シナリオ作成処理]
図6は、端末装置10が実行するシナリオ作成処理の流れを示すフローチャートである。
シナリオ作成処理は、端末装置10において、シナリオ作成処理の実行を指示する操作が行われることに対応して開始される。
ステップS1において、GUI形成部111は、表示画面上にシナリオ作成GUI(図4参照)を形成する。
[Scenario creation process]
FIG. 6 is a flowchart illustrating a flow of a scenario creation process executed by the
The scenario creation process is started in response to an operation to instruct execution of the scenario creation process in the
In step S1, the
ステップS2において、GUI形成部111は、GUI入力受付部112を介してシナリオ作成GUIへの入力が行われたか否かの判定を行う。
GUI入力受付部112を介してシナリオ作成GUIへのシーンの入力(シーンを表すアイコンの選択)が行われた場合、ステップS2においてYESと判定されて、処理はステップS3に移行する。一方、GUI入力受付部112を介してシナリオ作成GUIへの入力が行われていない場合、ステップS2においてNOと判定されて、処理はステップS10に移行する。
In step S2, the
When a scene is input to the scenario creation GUI (selection of an icon representing a scene) via the GUI
ステップS3において、データ生成部113は、入力されたシーンをシナリオのデータに追加する。なお、このとき追加されるシーンは、ユーザによって直接定義されたものや、作成用データの要求をサーバ20に送信することによりサーバ20から取得したものが含まれる。
In step S3, the
ステップS4において、GUI形成部111は、シナリオ作成GUIへの入力が作成中のシナリオの実行を指示する操作であるか否かの判定を行う。なお、ステップS8においては、作成中のシナリオの一部(1シーンのみ等)または全体の実行の指示が受け付けられる。
シナリオ作成GUIへの入力が作成中のシナリオの実行を指示する操作である場合、ステップS4においてYESと判定されて、処理はステップS5に移行する。一方、シナリオ作成GUIへの入力が作成中のシナリオの実行を指示する操作でない場合、ステップS4においてNOと判定されて、処理はステップS10に移行する。
ステップS5において、データ実行部114は、ステップS4において実行が指示されたシナリオ(一部または全体)の実行を開始する。
In step S4, the
If the input to the scenario creation GUI is an operation for instructing execution of the scenario being created, YES is determined in step S4, and the process proceeds to step S5. On the other hand, if the input to the scenario creation GUI is not an operation for instructing the execution of the scenario being created, NO is determined in step S4, and the process proceeds to step S10.
In step S5, the
ステップS6において、シーン判定部117は、実行対象のシナリオのデータに未整合シーンが含まれているか否かの判定を行う。
実行対象のシナリオのデータに未整合シーンが含まれている場合、ステップS6においてYESと判定されて、処理はステップS7に移行する。一方、実行対象のシナリオのデータに未整合シーンが含まれていない場合、ステップS6においてNOと判定されて、処理はステップS8に移行する。
In step S6, the
If the data of the execution target scenario includes an unmatched scene, YES is determined in step S6, and the process proceeds to step S7. On the other hand, when the data of the scenario to be executed does not include an unmatched scene, NO is determined in step S6, and the process proceeds to step S8.
ステップS7において、未整合シーンに対する補間シーンを取得するための補間処理(図7参照)が実行される。なお、ステップS7において補間処理が実行される場合、シーン判定部117から検索要求部118に出力された未整合シーンを補間するための補間条件を示す情報が参照される。
ステップS8において、データ実行部114は、次のシーンの対話処理を実行する。
ステップS9において、データ実行部114は、実行対象のシナリオの実行が完了したか否かの判定を行う。
実行対象のシナリオの実行が完了していない場合、ステップS9においてNOと判定されて、処理はステップS6に移行する。一方、実行対象のシナリオの実行が完了した場合、ステップS9においてYESと判定されて、処理はステップS10に移行する。
In step S7, an interpolation process (see FIG. 7) for acquiring an interpolation scene for the unmatched scene is performed. When the interpolation process is performed in step S7, information indicating an interpolation condition for interpolating an unmatched scene output from the
In step S8, the
In step S9, the
If the execution of the execution target scenario has not been completed, “NO” is determined in step S9, and the process proceeds to step S6. On the other hand, when the execution of the execution target scenario is completed, YES is determined in step S9, and the process proceeds to step S10.
ステップS10において、GUI形成部111は、シナリオ作成GUIへの入力がシナリオのデータをサーバ20のシナリオDBに登録する指示のための操作であるか否かの判定を行う。
シナリオ作成GUIへの入力がシナリオのデータをサーバ20のシナリオDBに登録する指示のための操作である場合、ステップS10においてYESと判定されて、処理はステップS11に移行する。一方、シナリオ作成GUIへの入力がシナリオのデータをサーバ20のシナリオDBに登録する指示のための操作でない場合、ステップS10においてNOと判定されて、処理はステップS12に移行する。
ステップS11において、シナリオデータ登録部115は、シナリオのデータをシナリオDBに登録するためにサーバ20に送信する。
In step S10, the
If the input to the scenario creation GUI is an operation for an instruction to register the scenario data in the scenario DB of the
In step S11, the scenario
ステップS12において、GUI形成部111は、シナリオ作成GUIの終了を指示する操作が行われたか否かの判定を行う。
シナリオ作成GUIの終了を指示する操作が行われた場合、ステップS12においてYESと判定されて、シナリオ作成処理は終了となる。一方、シナリオ作成GUIの終了を指示する操作が行われていない場合、ステップS12においてNOと判定されて、処理はステップS2に移行する。
In step S12, the
When an operation for instructing termination of the scenario creation GUI is performed, YES is determined in step S12, and the scenario creation processing ends. On the other hand, when the operation for instructing the end of the scenario creation GUI has not been performed, NO is determined in step S12, and the process proceeds to step S2.
次に、端末装置10が実行する補間処理について説明する。
[補間処理]
図7は、端末装置10が実行する補間処理の流れを示すフローチャートである。
補間処理は、シナリオ作成処理またはシナリオ実行処理において呼び出されることにより開始される。
Next, an interpolation process performed by the
[Interpolation processing]
FIG. 7 is a flowchart illustrating a flow of the interpolation process performed by the
The interpolation process is started by being called in the scenario creation process or the scenario execution process.
ステップS21において、シナリオデータ取得部116は、補間処理の対象となる未整合シーンのデータを取得する。
ステップS22において、検索要求部118は、シーン判定部117から入力された未整合シーンを補間するための補間条件を示す情報に基づいて、未整合シーンの補間に適合する部品データまたはシナリオのデータの要求(補間用データの要求)をサーバ20に送信し、サーバ20からの応答に基づいて、補間条件に適合する補間用データが存在するか否かの判定を行う。
補間条件に適合する補間用データが存在しない場合、ステップS22においてNOと判定されて、処理はステップS23に移行する。一方、補間条件に適合する補間用データが存在する場合、ステップS22においてYESと判定されて、処理はステップS25に移行する。
In step S21, the scenario data acquisition unit 116 acquires data of an unmatched scene to be subjected to the interpolation processing.
In step S22, the
If there is no interpolation data that satisfies the interpolation condition, NO is determined in step S22, and the process proceeds to step S23. On the other hand, if there is interpolation data that satisfies the interpolation condition, YES is determined in step S22, and the process proceeds to step S25.
ステップS23において、検索要求部118は、補間条件のうち、現在までの対話内容において、既に取得されている情報を未整合シーンのアウトプットに追加できるか否かの判定を行う。
補間条件のうち、現在までの対話内容において、既に取得されている情報を未整合シーンのアウトプットに追加できない場合、ステップS23においてNOと判定されて、処理は呼び出し元の処理に戻る。一方、補間条件のうち、現在までの対話内容において、既に取得されている情報を未整合シーンのアウトプットに追加できる場合、ステップS23においてYESと判定されて、処理はステップS24に移行する。
In step S23, the
In the interpolation conditions, if the information that has been obtained cannot be added to the output of the unmatched scene in the conversation contents up to the present, the determination in step S23 is NO, and the process returns to the process of the caller. On the other hand, if the information that has already been acquired can be added to the output of the unmatched scene in the conversation contents up to the present among the interpolation conditions, YES is determined in step S23, and the process proceeds to step S24.
ステップS24において、検索要求部118は、補間条件のうち、現在までの対話内容において、既に取得されている情報を未整合シーンのアウトプットに追加し、補間条件を更新する。
ステップS24の後、処理はステップS22に移行する。
ステップS25において、検索要求部118は、サーバ20から提供された補間シーン(以下、「補間シーンA」と称する。)のデータを取得する。
In step S <b> 24, the
After step S24, the process proceeds to step S22.
In step S25, the
ステップS26において、シーン判定部117は、ステップS25で取得された補間シーンAのアウトプットがステップS21で取得された未整合シーンに続くシーンのインプットに整合するか否かの判定を行う。
ステップS25で取得された補間シーンAのアウトプットがステップS21で取得された未整合シーンに続くシーンのインプットに整合する場合、ステップS26においてYESと判定されて、処理はステップS27に移行する。一方、ステップS25で取得された補間シーンAのアウトプットがステップS21で取得された未整合シーンに続くシーンのインプットに整合しない場合、ステップS26においてNOと判定されて、処理はステップS28に移行する。
In step S26, the
If the output of the interpolated scene A acquired in step S25 matches the input of the scene following the unmatched scene acquired in step S21, YES is determined in step S26, and the process proceeds to step S27. On the other hand, if the output of the interpolated scene A obtained in step S25 does not match the input of the scene following the unmatched scene obtained in step S21, NO is determined in step S26, and the process proceeds to step S28. .
ステップS27において、検索要求部118は、ステップS25で取得された補間シーンAをステップS21で取得された未整合シーンの補間シーンとして確定し、補間シーンAのデータをデータ実行部114に出力する。ステップS27の後、処理は呼び出し元の処理に戻る。
In step S27, the
ステップS28において、検索要求部118は、ステップS25で取得された補間シーンAの補間に適合する部品データまたはシナリオのデータの要求(補間用データの要求)をサーバ20に送信し、サーバ20からの応答に基づいて、ステップS25で取得された補間シーンAのアウトプットにインプットが整合する補間シーンのデータが存在するか否かの判定を行う。即ち、ステップS28においては、未整合シーンを1つの補間シーンで補間できない場合に、補間シーンをさらに補間することで、未整合シーンを補間できるか否かが判定される。
ステップS25で取得された補間シーンのアウトプットにインプットが整合する補間シーンのデータが存在しない場合、ステップS28においてNOと判定されて、処理はステップS34に移行する。一方、ステップS25で取得された補間シーンのアウトプットにインプットが整合する補間シーンのデータが存在する場合、ステップS28においてYESと判定されて、処理はステップS29に移行する。
In step S28, the
If there is no interpolation scene data whose input matches the output of the interpolation scene acquired in step S25, NO is determined in step S28, and the process proceeds to step S34. On the other hand, if there is interpolation scene data whose input matches the output of the interpolation scene acquired in step S25, YES is determined in step S28, and the process proceeds to step S29.
ステップS29において、検索要求部118は、サーバ20から提供された補間シーン(以下、「補間シーンB」と称する。)のデータを取得する。
ステップS30において、検索要求部118は、ステップS25で取得された補間シーンに続く補間シーンとして、ステップS29で取得された補間シーンBを設定する。
In step S29, the
In step S30, the
ステップS31において、シーン判定部117は、ステップS30で取得された補間シーンBのアウトプットがステップS21で取得された未整合シーンに続くシーンのインプットに整合するか否かの判定を行う。
ステップS30で取得された補間シーンBのアウトプットがステップS21で取得された未整合シーンに続くシーンのインプットに整合する場合、ステップS31においてYESと判定されて、処理はステップS32に移行する。一方、ステップS30で取得された補間シーンBのアウトプットがステップS21で取得された未整合シーンに続くシーンのインプットに整合しない場合、ステップS31においてNOと判定されて、処理はステップS33に移行する。
In step S31, the
If the output of the interpolated scene B obtained in step S30 matches the input of the scene following the unmatched scene obtained in step S21, YES is determined in step S31, and the process proceeds to step S32. On the other hand, if the output of the interpolated scene B obtained in step S30 does not match the input of the scene following the unmatched scene obtained in step S21, NO is determined in step S31, and the process proceeds to step S33. .
ステップS32において、検索要求部118は、ステップS25で取得された補間シーンAに続く補間シーンを、ステップS29で取得された補間シーンBに確定し、補間シーンA及び補間シーンBのデータをデータ実行部114に出力する。
ステップS32の後、処理は呼び出し元の処理に戻る。
In step S32, the
After step S32, the process returns to the process of the caller.
ステップS33において、検索要求部118は、ステップS25で取得された補間シーンAの補間に適合する部品データまたはシナリオのデータの要求(補間用データの要求)をサーバ20に送信し、サーバ20からの応答に基づいて、ステップS25で取得された補間シーンAのアウトプットにインプットが整合する他の補間シーンBのデータが存在するか否かの判定を行う。即ち、ステップS28においては、ステップS29で取得された補間シーンB以外に、ステップS25で取得された補間シーンAのアウトプットにインプットが整合する補間シーンBが存在するか否かが判定される。
In step S33, the
ステップS25で取得された補間シーンAのアウトプットにインプットが整合する他の補間シーンBのデータが存在する場合、ステップS33においてYESと判定されて、処理はステップS29に移行する。一方、ステップS25で取得された補間シーンAのアウトプットにインプットが整合する他の補間シーンBのデータが存在しない場合、ステップS33においてNOと判定されて、処理はステップS34に移行する。 If there is data of another interpolation scene B whose input matches the output of the interpolation scene A acquired in step S25, YES is determined in step S33, and the process proceeds to step S29. On the other hand, when there is no other data of the interpolation scene B whose input matches the output of the interpolation scene A acquired in step S25, NO is determined in step S33, and the process proceeds to step S34.
ステップS34において、検索要求部118は、シーン判定部117から入力された未整合シーンを補間するための補間条件を示す情報に基づいて、未整合シーンの補間に適合する部品データまたはシナリオのデータの要求(補間用データの要求)をサーバ20に送信し、サーバ20からの応答に基づいて、補間条件に適合する他の補間用データAが存在するか否かの判定を行う。即ち、ステップS34においては、ステップS25で取得された補間シーンA以外に、ステップS21で取得された未整合シーンのアウトプットにインプットが整合する補間シーンAが存在するか否かが判定される。
補間条件に適合する他の補間用データAが存在する場合、ステップS34においてYESと判定されて、処理はステップS25に移行する。一方、補間条件に適合する他の補間用データAが存在しない場合、ステップS34においてNOと判定されて、処理は呼び出し元の処理に戻る。
In step S34, based on the information indicating the interpolation conditions for interpolating the unmatched scene input from the
If there is another interpolation data A that satisfies the interpolation condition, YES is determined in step S34, and the process proceeds to step S25. On the other hand, when there is no other interpolation data A that satisfies the interpolation condition, NO is determined in the step S34, and the process returns to the calling source process.
次に、端末装置10が実行するシナリオ実行処理について説明する。
[シナリオ実行処理]
図8は、端末装置10が実行するシナリオ実行処理の流れを示すフローチャートである。
シナリオ実行処理は、端末装置10において、シナリオ実行処理の実行を指示する操作が行われることに対応して開始される。
ステップS41において、シナリオデータ取得部116は、実行対象のシナリオのデータにおける開始シーンのデータを取得する。
Next, a scenario execution process executed by the
[Scenario execution process]
FIG. 8 is a flowchart illustrating the flow of the scenario execution process executed by the
The scenario execution process is started in response to an operation to instruct execution of the scenario execution process in the
In step S41, the scenario data acquisition unit 116 acquires the data of the start scene in the data of the execution target scenario.
ステップS42において、データ実行部114は、開始シーンに定義されている対話処理を実行する。
ステップS43において、シナリオデータ取得部116は、実行対象のシナリオのデータにおける次のシーンのデータを取得する。
ステップS44において、シーン判定部117は、次のシーンが未整合シーンであるか否かの判定を行う。
次のシーンが未整合シーンでない場合、ステップS44においてNOと判定されて、処理はステップS45に移行する。一方、次のシーンが未整合シーンである場合、ステップS44においてYESと判定されて、処理はステップS47に移行する。
In step S42, the
In step S43, the scenario data acquisition unit 116 acquires data of the next scene in the data of the scenario to be executed.
In step S44, the
If the next scene is not an unmatched scene, NO is determined in step S44, and the process proceeds to step S45. On the other hand, if the next scene is an unmatched scene, YES is determined in step S44, and the process proceeds to step S47.
ステップS45において、シーン判定部117は、次のシーンが実行対象のシナリオのデータにおける終了シーンであるか否かの判定を行う。
次のシーンが実行対象のシナリオのデータにおける終了シーンでない場合、ステップS45においてNOと判定されて、処理はステップS46に移行する。一方、次のシーンが実行対象のシナリオのデータにおける終了シーンである場合、ステップS45においてYESと判定されて、シナリオ実行処理は終了となる。
In step S45, the
If the next scene is not the end scene in the data of the execution target scenario, NO is determined in the step S45, and the process proceeds to a step S46. On the other hand, if the next scene is the end scene in the data of the execution target scenario, YES is determined in step S45, and the scenario execution processing ends.
ステップS46において、データ実行部114は、次のシーンに定義されている対話処理を実行する。
ステップS47において、データ実行部114は、補間処理(図7参照)を実行する。
ステップS48において、データ実行部114は、未整合シーン及び補間シーンに定義されている対話処理を実行する。なお、補間処理の結果、適切な補間シーンが補間されず、未整合シーンのアウトプットと後続のシーンのインプットとの整合が取れていない場合、シナリオ実行処理は中断される。
ステップS48の後、処理はステップS43に移行する。
In step S46, the
In step S47, the
In step S48, the
After step S48, the process proceeds to step S43.
次に、サーバ20の動作について説明する。
[シナリオ作成支援処理]
図9は、サーバ20が実行するシナリオ作成支援処理の流れを示すフローチャートである。
シナリオ作成支援処理は、サーバ20において、シナリオ作成処理の実行を指示する操作が行われることに対応して開始される。
Next, the operation of the
[Scenario creation support processing]
FIG. 9 is a flowchart illustrating the flow of the scenario creation support process executed by the
The scenario creation support process is started in response to an operation performed by the
ステップS101において、作成用データ要求取得部212は、シナリオ作成GUIで選択される部品データを要求するための作成用データの要求を、端末装置10から取得したか否かの判定を行う。
シナリオ作成GUIで選択される部品データを要求するための作成用データの要求を、端末装置10から取得した場合、ステップS101においてYESと判定されて、処理はステップS102に移行する。一方、シナリオ作成GUIで選択される部品データを要求するための作成用データの要求を、端末装置10から取得していない場合、ステップS101においてNOと判定されて、処理はステップS104に移行する。
In step S101, the creation data
When a request for creation data for requesting the component data selected in the scenario creation GUI is acquired from the
ステップS102において、作成用提供データ取得部213は、作成用データ要求取得部212によって取得されたデータ要求に示される部品データを部品DB222から取得する。このとき、作成用提供データ取得部213は、作成用データの要求が部品データとしてのシナリオデータを要求するものである場合、作成用データの要求に示されるシナリオデータをシナリオDB221から取得する。
In step S102, the creation-provided data acquisition unit 213 acquires the component data indicated by the data request acquired by the creation-data
ステップS103において、作成用データ提供部214は、作成用提供データ取得部213によって取得された部品データあるいはシナリオのデータを、作成用データの要求を行った端末装置10に提供する。
ステップS104において、シナリオ登録受付部211は、シナリオDBに登録するためのシナリオのデータを受信したか否かの判定を行う。
シナリオDBに登録するためにシナリオのデータを受信した場合、ステップS104においてYESと判定されて、処理はステップS105に移行する。一方、シナリオDBに登録するためにシナリオのデータを受信していない場合、ステップS104においてNOと判定されて、シナリオ作成支援処理が繰り返される。
In step S103, the creation
In step S104, the scenario
When scenario data is received to register in the scenario DB, YES is determined in step S104, and the process proceeds to step S105. On the other hand, if the scenario data has not been received for registration in the scenario DB, NO is determined in step S104, and the scenario creation support processing is repeated.
ステップS105において、シナリオ登録受付部211は、受信したシナリオのデータをシナリオDB221に登録する。なお、本実施形態におけるシナリオのデータには、未整合シーンを含むことが可能である。
ステップS105の後、シナリオ作成支援処理が繰り返される。
In step S105, the scenario
After step S105, the scenario creation support processing is repeated.
次に、サーバ20が実行するシナリオ実行支援処理について説明する。
[シナリオ実行支援処理]
図10は、サーバ20が実行するシナリオ実行支援処理の流れを説明するフローチャートである。
シナリオ実行支援処理は、サーバ20において、シナリオ実行支援処理の実行を指示する操作が行われることに対応して開始される。
Next, a scenario execution support process executed by the
[Scenario execution support processing]
FIG. 10 is a flowchart illustrating the flow of the scenario execution support process executed by the
The scenario execution support process is started in response to an operation performed by the
ステップS201において、補間用データ要求取得部215は、未整合シーンの補間に適合する部品データまたはシナリオのデータの要求(補間用データの要求)を端末装置10から取得したか否かの判定を行う。
未整合シーンの補間に適合する部品データまたはシナリオのデータの要求(補間用データの要求)を端末装置10から取得した場合、ステップS201においてYESと判定されて、処理はステップS202に移行する。一方、未整合シーンの補間に適合する部品データまたはシナリオのデータの要求(補間用データの要求)を端末装置10から取得していない場合、ステップS201においてNOと判定されて、シナリオ実行支援処理が繰り返される。
In step S201, the interpolation data request acquisition unit 215 determines whether or not a request for component data or scenario data (request for interpolation data) suitable for interpolation of an unmatched scene has been acquired from the
If a request for component data or scenario data (request for interpolation data) suitable for interpolation of an unmatched scene is obtained from the
ステップS202において、補間用データ検索部216は、補間用データ要求取得部215によって取得された補間用データの要求に示される未整合シーンを補間するための補間条件に基づいて、先行する未整合シーンのアウトプットでは不足する情報を取得できる部品データまたはシナリオのデータを部品DB222またはシナリオDB221から検索する。このとき、補間用データ検索部216は、パラメータセット及びパラメータ値の条件をキーとして、対話処理の現在の状況を示すパラメータ、及び、補間条件に適合するシナリオのデータまたはシーンのデータをスコア化する。
In step S202, the interpolation
ステップS203において、補間用データ提供部217は、補間条件に適合するシナリオのデータまたはシーンのデータのうち、スコアが最も高いものを取得する。
ステップS204において、補間用データ提供部217は、取得したスコアが最も高いシナリオのデータまたはシーンのデータを、補間用データの要求を行った端末装置10に提供する。なお、同一の補間条件について補間用データの要求が複数回行われた場合、補間用データ提供部217は、補間条件に適合するシナリオのデータまたはシーンのデータのうち、スコアが高いものから順に取得する。これにより、端末装置10で実行される補間処理において、補間用データの要求が複数回行われた場合に、補間条件に適合するシナリオのデータまたはシーンのデータをスコアの高いものから順に提供することが可能となる。
ステップS204の後、シナリオ実行支援処理が繰り返される。
In step S203, the interpolation
In step S204, the interpolation
After step S204, the scenario execution support processing is repeated.
このように、本実施形態における対話シナリオ処理システム1では、コンピュータ上に生成されたキャラクタが人間と対話する際のシナリオ(対話処理のシナリオ)の実行に際し、未整合シーンを補間するための補間条件に適合する部品データまたはシナリオのデータをサーバ20から取得して実行する。
これにより、後続のシーンのデータのインプットに対し、アウトプットが整合していない先行するシーンが存在する場合であっても、インプットとアウトプットとの不整合を補間可能な部品データまたはシナリオのデータをサーバ20から取得することにより、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行することが可能となる。
As described above, in the dialogue scenario processing system 1 according to the present embodiment, the interpolation conditions for interpolating the unmatched scene when the scenario generated when the character generated on the computer interacts with the human (the dialogue processing scenario) is executed. Is acquired from the
As a result, even if there is a preceding scene whose output does not match the input of the data of the succeeding scene, component data or scenario data that can interpolate the mismatch between the input and the output. Is acquired from the
[シナリオの具体例]
次に、上述のような処理により、対話シナリオ処理システム1において作成されるシナリオの具体例について説明する。
図11は、本実施形態において実行される対話処理のシナリオの一例を示す模式図である。
図11において、実行対象のシナリオのデータにおける開始シーンSC1が対話者の発話を受け付けるシーンである場合に、対話者が午前7:00に「お腹が空いた」と発話したとする。そして、開始シーンSC1の次のシーンSC2は、時間の値によって、何が食べたいかの問い合わせを行うシナリオであるとする。この場合、シーンSC2のアウトプットは「食べたいもの(食べ物)」である。ここで、シーンSC2に続くシーンSC3は、場所をインプットとし、地図の表示をアウトプットとするシーンであるものとする。
[Specific example of scenario]
Next, a specific example of a scenario created in the dialog scenario processing system 1 by the above-described processing will be described.
FIG. 11 is a schematic diagram illustrating an example of a scenario of the interactive processing executed in the present embodiment.
In FIG. 11, when the start scene SC1 in the data of the scenario to be executed is a scene that accepts the utterance of the interlocutor, it is assumed that the interlocutor utters “hungry” at 7:00 am Then, it is assumed that a scene SC2 next to the start scene SC1 is a scenario for inquiring what to eat according to the value of time. In this case, the output of the scene SC2 is “what I want to eat (food)”. Here, it is assumed that a scene SC3 following the scene SC2 is a scene in which a location is input and a map display is output.
すると、シーンSC2は、そのアウトプット「食べたいもの(食べ物)」が後続のシーンSC3の入力「場所」と整合しないことから、未整合シーンとなる。このとき、本実施形態に係る対話シナリオ処理システム1では、シーンSC2のアウトプット「食べたいもの(食べ物)」とインプットが適合し、かつ、アウトプットがシーンSC3のインプット「場所」と整合することを補間条件として、補間シーンが検索される。
そして、「食べ物」からお店の「場所」の情報を提供するシナリオSC2aが存在したとすると、シナリオSC2aのアウトプットは「場所」であることから、補間条件と適合するものとなる。
すると、対話シナリオ処理システム1では、未整合シーンであるシナリオSC2の次に補間シーンであるシナリオSC2aを追加して補間することにより、シナリオSC3に遷移可能な状態が構成される。
これにより、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行することが可能となる。
Then, the scene SC2 becomes an unmatched scene because the output “thing to eat (food)” does not match the input “place” of the subsequent scene SC3. At this time, in the dialogue scenario processing system 1 according to the present embodiment, the output of the scene SC2 “the food (food)” matches the input, and the output matches the input “place” of the scene SC3. Is used as an interpolation condition, an interpolation scene is searched.
Then, if there is a scenario SC2a that provides information on the “place” of the shop from “food”, the output of the scenario SC2a is “place”, so that the output matches the interpolation condition.
Then, in the dialogue scenario processing system 1, by adding and interpolating the scenario SC2a, which is an interpolated scene, after the scenario SC2, which is an unmatched scene, a state where transition to the scenario SC3 is established.
This makes it possible to adapt the dialog scenario more flexibly and execute the dialog with the computer.
[補間条件の具体例]
上述のように、補間条件のうち、現在までの対話内容あるいは他の情報(端末の位置情報等)において、既に取得されている情報(「時間」や「場所」等の不足する情報を直接的または間接的に表す情報等)を未整合シーンのアウトプットに追加することで、補間条件を更新することができる。即ち、未整合シーンと未整合シーンに続くシーンとのインプット及びアウトプットの差が減少するように、既に取得されている情報を未整合シーンのアウトプットに追加することができる。
例えば、未整合シーンよりも前の対話内容において、「渋谷で遊ぶ」という目的が検出されているときに、未整合シーンのアウトプットが「時間」のみであり、未整合シーンに続くシーンのインプットが「場所」、「時間」及び「食べ物」である場合、初期の補間条件として、「場所」及び「食べ物」をインプットとするシーンであることが設定される。
ここで、本実施形態に係る対話シナリオ処理システム1では、未整合シーンよりも前の対話内容で検出された「渋谷で遊ぶ」という目的から、未整合シーンのアウトプットに対し、「場所」の情報として「渋谷」を追加する。
すると、補間条件の内容は、「場所」及び「食べ物」をインプットとするシーンであることから、「食べ物」をインプットとするシーンであることに更新される。
これにより、取得される補間シーンの数を増加させることができ、より適切な補間シーンを選択することが可能となる。
[Specific examples of interpolation conditions]
As described above, among the interpolation conditions, information that has already been acquired (such as insufficient information such as “time” and “place”) is directly obtained in the dialogue contents up to the present or other information (terminal position information, etc.). Or, the interpolation conditions can be updated by adding indirectly represented information) to the output of the unmatched scene. That is, information that has already been acquired can be added to the output of the unmatched scene so that the difference between the input and output between the unmatched scene and the scene following the unmatched scene is reduced.
For example, when the purpose of "playing in Shibuya" is detected in the dialogue content before the unmatched scene, the output of the unmatched scene is only "time", and the input of the scene following the unmatched scene is input. Is "place", "time", and "food", the scene is set as an initial interpolation condition with "place" and "food" as inputs.
Here, in the dialogue scenario processing system 1 according to the present embodiment, for the purpose of “playing in Shibuya” detected in the dialogue content preceding the unmatched scene, the output of the unmatched scene is compared with the “place”. "Shibuya" is added as information.
Then, the content of the interpolation condition is updated to be a scene having “food” as an input because the scene is a scene having “place” and “food” as inputs.
Thus, the number of obtained interpolation scenes can be increased, and a more appropriate interpolation scene can be selected.
[変形例1]
上述の実施形態では、対話の流れにおいて隣接して配置された対話シナリオ間のインプットとアウトプットとが整合するか否かによって、未整合シーンであるか否か、あるいは、補間条件に適合するか否か等を判定するものとした。
これに対し、対話の流れにおいて隣接して配置された対話シナリオ間のインプットとアウトプットとの整合性を判定する場合に、インプットまたはアウトプットの情報を拡大することにより、整合性の判定基準を緩和することとしてもよい。
例えば、未整合シーンに続くシーンのインプットにおいて、「レストラン」が要求されているときに、未整合シーンのアウトプットが「喫茶店」である場合、検索要求部118において、「レストラン」及び「喫茶店」を「飲食店」等の上位概念を表す情報に変更(即ち、情報の範囲を拡大)することにより、インプットとアウトプットとが整合している状態に修正することとしてもよい。また、上位概念を表す情報に変更することの他、検索要求部118において、「喫茶店」を「レストラン」に変更する等、意味あるいはカテゴリ等が類似する情報に変更することにより、インプットとアウトプットとが整合している状態に修正することとしてもよい。なお、これら上位概念を表す情報への変更及び類似する情報への変更は、一方のみ、または、両方を行うことができる。
[Modification 1]
In the above-described embodiment, whether the scene is an unmatched scene or whether the interpolation condition is satisfied is determined by whether the input and output between the dialog scenarios arranged adjacently in the dialog flow match. It is determined whether or not it is not.
On the other hand, when judging the consistency between inputs and outputs between dialog scenarios arranged adjacently in the flow of a dialog, the criteria for the consistency are determined by expanding the input or output information. It may be alleviated.
For example, in the scene input following the unmatched scene, when “restaurant” is requested and the output of the unmatched scene is “coffee shop”, the
このような処理をインプット及びアウトプットの一部または全部に行った場合、整合していないインプット及びアウトプットの一部または全部が整合することとなり、検索要求部118は、その結果に基づいて補間条件を更新し、必要な場合には、サーバ20に補間用データの要求を送信する。
これにより、未整合シーンを解消させる手段が増加し、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行することが可能となる。
If such processing is performed on some or all of the inputs and outputs, some or all of the unmatched inputs and outputs will be matched, and the
As a result, the number of means for eliminating unmatched scenes increases, and a dialogue with a computer can be executed by more flexibly adapting a dialogue scenario.
[変形例2]
上述の実施形態において、パラメータセット及びパラメータ値の条件をキーとして、シナリオのデータ及び部品データをスコア化し、補間条件に適合するシナリオのデータ及び部品データの中から、スコアが高いものを検索結果として選択する例について説明したが、これに限られない。
即ち、未整合シーンの補間条件が充足されれば、他の条件に基づいて、部品データまたはシナリオのデータを絞り込むこととしてもよい。例えば、検索要求部118による補間用シナリオのデータの要求に応じて、サーバ20に記憶されたユーザの個人プロファイル(ユーザプロファイル)を参照して、部品データまたはシナリオデータを検索することとしてもよい。
[Modification 2]
In the above-described embodiment, the scenario data and the component data are scored using the parameter set and parameter value conditions as keys, and among the scenario data and the component data that match the interpolation conditions, those having a higher score are used as search results. Although an example of selection has been described, the present invention is not limited to this.
That is, if the interpolation condition of the unmatched scene is satisfied, the component data or the scenario data may be narrowed down based on another condition. For example, in response to a request for data of an interpolation scenario by the
さらに、検索要求部118による補間用シナリオのデータの要求に応じて、対話を行っているユーザのユーザプロファイルに限らず、複数のユーザにおけるユーザプロファイルの統計を参照して、部品データまたはシナリオデータを検索することとしてもよい。
なお、対話を行っているユーザのユーザプロファイル及び複数のユーザにおけるユーザプロファイルの統計を共に反映させて、部品データまたはシナリオデータを検索することとしてもよい。この場合、対話を行っているユーザのユーザプロファイル及び複数のユーザにおけるユーザプロファイルの統計を重み付けして統合し、統合されたユーザプロファイルを参照して、部品データまたはシナリオデータを検索することが可能である。
Further, in response to the request for the data of the interpolation scenario by the
The component data or the scenario data may be searched by reflecting both the user profile of the user who is interacting and the statistics of the user profiles of the plurality of users. In this case, it is possible to weight and integrate the statistics of the user profile of the interacting user and the user profiles of a plurality of users, and to search for component data or scenario data with reference to the integrated user profile. is there.
[変形例3]
上述の実施形態において、シナリオのデータに、具体的なシーンの指定ではなく、シーンを選択するための条件(以下、「シーン選択条件」と称する。)が設定された抽象シーンのデータを含めることを許容してもよい。シーン選択条件は、例えば、抽象シーンに挿入されるシーン等に求められるパラメータの条件として設定することができる。例えば、シーン選択条件として「時間」が設定された抽象シーンの場合、その抽象シーンに挿入されるシーンとしては、「時間」のパラメータあるいは「時間」に関連するパラメータが指定されたシーンのみが選択可能となる。
[Modification 3]
In the above-described embodiment, data of an abstract scene in which conditions for selecting a scene (hereinafter, referred to as “scene selection conditions”) are set, instead of specifying a specific scene, is included in scenario data. May be allowed. The scene selection condition can be set, for example, as a parameter condition required for a scene or the like inserted into the abstract scene. For example, in the case of an abstract scene in which “time” is set as a scene selection condition, only scenes in which a “time” parameter or a parameter related to “time” is specified as a scene to be inserted into the abstract scene It becomes possible.
この場合、端末装置10において、シーン判定部117が抽象シーンを検出すると、検索要求部118が、対話実行時の状況に適合する部品データまたはシナリオのデータ(シーン選択条件に適合し、対話処理の現在の状況(対話の流れ等)に適合するシーンまたはシナリオのデータ)をサーバ20からリアルタイムに取得して、データ実行部114は、抽象シーンに埋め込む形で対話処理を実行する。即ち、シナリオのデータに抽象シーンのデータが含まれている場合、端末装置10は、対話処理の現在の状況に適合し、かつ、抽象シーンに設定されたシーン選択条件に適合する部品データまたはシナリオのデータをサーバ20に要求することにより、動的にシーンを選択して、シナリオのデータに基づく対話処理を実行する。
これにより、対話処理のシナリオのバリエーションを容易に増加させることが可能となる。
なお、上述の実施形態における未整合シーンが本変形例における抽象シーンであることも許容され、この場合、シナリオの作成者は、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行することが可能となると共に、対話処理のシナリオのバリエーションを容易に増加させることが可能となる。
In this case, in the
As a result, it is possible to easily increase the variations of the scenario of the interactive processing.
Note that the unmatched scene in the above embodiment is also allowed to be the abstract scene in the present modification, and in this case, the creator of the scenario should execute the dialog with the computer by adapting the dialog scenario more flexibly. , And variations of the dialog processing scenario can be easily increased.
以上のように構成される対話シナリオ処理システム1は、端末装置10と、サーバ20とを含む。端末装置10は、シーン判定部117と、検索要求部118と、データ実行部114と、を備える。
シーン判定部117は、実行対象となるシナリオのデータの要素(例えば、部品データまたはシナリオのデータ等)が、シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合要素(例えば、未整合シーン)であるか否かを判定する。
検索要求部118は、シーン判定部117によってシナリオのデータの要素が未整合要素であると判定された場合に、未整合要素において入出力される情報を補間するためのシナリオのデータの要素である補間要素のデータをサーバ20から取得する。
データ実行部114は、実行対象となるシナリオのデータにおける未整合要素に、検索要求部118によって取得された補間要素のデータを追加して、実行対象となるシナリオのデータを実行する。
これにより、シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合シーンが存在する場合であっても、入出力される情報を補間可能な補間要素のデータをサーバ20から取得して、実行対象となるシナリオのデータを実行することができる。
したがって、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行することが可能となる。
The dialog scenario processing system 1 configured as described above includes the
The
The
The
Thus, even if there is an unmatched scene where the input / output information does not match the input / output information at least before or after the scenario data, the data of the interpolation element capable of interpolating the input / output information Can be acquired from the
Therefore, it is possible to execute the dialog with the computer by adapting the dialog scenario more flexibly.
検索要求部118は、未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報の差を補間する対話内容が定義された1つまたは複数の補間要素のデータを取得する。
これにより、未整合要素が存在する場合であっても、入出力される情報の差を適切に補間して、実行対象となるシナリオのデータを実行することができる。
The
As a result, even when there is an unmatched element, the data of the scenario to be executed can be executed by appropriately interpolating the difference between the input and output information.
検索要求部118は、未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報の範囲を拡大することにより、未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報の整合性を高める処理を実行する。
これにより、未整合要素を解消させる手段が増加し、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行することが可能となる。
The
As a result, the number of means for eliminating unmatched elements increases, and it is possible to more flexibly adapt a dialog scenario to execute a dialog with a computer.
検索要求部118は、未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報を類似する情報に変更することにより、未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報の整合性を高める処理を実行する。
これにより、未整合要素を解消させる手段が増加し、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行することが可能となる。
The
As a result, the number of means for eliminating unmatched elements increases, and it is possible to more flexibly adapt a dialog scenario to execute a dialog with a computer.
検索要求部118は、対話処理における対話内容に基づいて、未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報との差を減少させるための情報を追加する。
これにより、取得される補間要素の数を増加させることができ、より適切な補間要素を選択することが可能となる。
The
Thus, the number of acquired interpolation elements can be increased, and a more appropriate interpolation element can be selected.
検索要求部118は、対話者個人のプロファイルに基づいて、補間要素のデータを取得する。
これにより、対話者個人の特徴に適合したシナリオのデータを取得して実行することができる。
The
As a result, it is possible to acquire and execute the data of the scenario suitable for the characteristics of the interlocutor.
検索要求部118は、複数の対話者のプロファイルに基づいて、補間要素のデータを取得する。
これにより、複数のユーザの傾向に適合したシナリオのデータを取得して実行することができる。
The
As a result, it is possible to acquire and execute the data of the scenario that matches the tendency of a plurality of users.
サーバ20は、補間用データ検索部216を備える。補間用データ検索部216は、未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報の差に基づいて、未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素との差を補間する対話内容が定義された補間要素のデータを検索する。
これにより、未整合要素が存在する場合であっても、入出力される情報の差を適切に補間可能な補間要素のデータを提供することが可能となる。
The
This makes it possible to provide interpolated element data that can appropriately interpolate the difference between input and output information even when an unmatched element exists.
サーバ20は、補間用データ検索部216と、補間用データ提供部217と、を備える。
補間用データ検索部216は、実行対象となる前記シナリオのデータに含まれる、シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報の差に基づいて、未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素との差を補間する対話内容が定義された補間要素のデータを検索する。
補間用データ提供部217は、補間用データ検索部216によって検索された前記シナリオのデータの要素を前記情報処理装置に提供する。
これにより、シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合シーンが存在する場合であっても、入出力される情報を補間可能な補間要素のデータをサーバ20から提供して、端末装置10において、実行対象となるシナリオのデータを実行することができる。
したがって、対話シナリオをより柔軟に適応させてコンピュータとの対話を実行することが可能となる。
The
The interpolation
The interpolation
Thus, even if there is an unmatched scene where the input / output information does not match the input / output information at least before or after the scenario data, the data of the interpolation element capable of interpolating the input / output information Is provided from the
Therefore, it is possible to execute the dialog with the computer by adapting the dialog scenario more flexibly.
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、上述の実施形態において、後続のシーンのデータのインプットに対し、アウトプットが整合していない先行するシーンを未整合シーンとして定義したが、これに限られない。即ち、先行するシーンのデータのアウトプットに対し、インプットが整合していない後続のシーンを未整合シーンとして定義することとしてもよい。
また、上述の実施形態において、サーバ20の構成は一例として示したものであり、対話シナリオ処理システム1全体として、サーバ20の機能が備えられていれば、サーバ20の機能を複数のサーバに分割して実装したり、端末装置10にサーバ20の機能の一部を実装したりすることができる。
It should be noted that the present invention is not limited to the above-described embodiment, but includes modifications and improvements as long as the object of the present invention can be achieved.
For example, in the above-described embodiment, the preceding scene whose output does not match the input of data of the succeeding scene is defined as an unmatched scene, but is not limited thereto. That is, a subsequent scene in which the input does not match the output of the data of the preceding scene may be defined as an unmatched scene.
Further, in the above-described embodiment, the configuration of the
また、上述の実施形態に記載された例を適宜組み合わせて、本発明を実施することが可能である。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図3及び図5の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が対話シナリオ処理システム1に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図3及び図5の例に限定されない。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
Further, the present invention can be implemented by appropriately combining the examples described in the above embodiments.
The series of processes described above can be executed by hardware or can be executed by software.
In other words, the functional configurations of FIGS. 3 and 5 are merely examples, and are not particularly limited. That is, it is sufficient that the dialog scenario processing system 1 has a function capable of executing the above-described series of processes as a whole, and what kind of functional blocks are used to realize this function is particularly shown in FIGS. It is not limited to the example.
In addition, one functional block may be configured by hardware alone, may be configured by software alone, or may be configured by a combination thereof.
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
When a series of processing is executed by software, a program constituting the software is installed in a computer or the like from a network or a recording medium.
The computer may be a computer embedded in dedicated hardware. Further, the computer may be a computer that can execute various functions by installing various programs, for example, a general-purpose personal computer.
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図2のリムーバブルメディア821により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア821は、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk),Blu−ray(登録商標) Disc(ブルーレイディスク)等により構成される。光磁気ディスクは、MD(Mini−Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図2のROM812や、図2の記憶部817に含まれるDRAM等で構成される。
The recording medium including such a program is constituted not only by the
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
In this specification, the steps of describing a program recorded on a recording medium may be performed in chronological order according to the order, or in parallel or individually, even if not necessarily performed in chronological order. This also includes the processing to be executed.
Further, in the present specification, the term system refers to an entire apparatus including a plurality of devices and a plurality of means.
1 対話シナリオ処理システム、10 端末装置、20 サーバ、30 ネットワーク、111 GUI形成部、112 GUI入力受付部、113 データ生成部、114 データ実行部、115 シナリオデータ登録部、116 シナリオデータ取得部、117 シーン判定部、118 検索要求部、121 シナリオデータ記憶部、122 履歴データ記憶部、131 フロービルダー部、211 シナリオ登録受付部、212 作成用データ要求取得部、213 作成用提供データ取得部、214 作成用データ提供部、215 補間用データ要求取得部、216 補間用データ検索部、217 補間用データ提供部、221 シナリオDB、222 部品DB、223 ユーザプロファイル記憶部、800 情報処理装置、811 CPU、812 ROM、813 RAM、814 バス、815 入力部、816 出力部、817 記憶部、818 通信部、819 ドライブ、821 リムーバブルメディア DESCRIPTION OF SYMBOLS 1 Dialogue scenario processing system, 10 terminal device, 20 servers, 30 networks, 111 GUI formation unit, 112 GUI input reception unit, 113 data generation unit, 114 data execution unit, 115 scenario data registration unit, 116 scenario data acquisition unit, 117 Scene determination section, 118 search request section, 121 scenario data storage section, 122 history data storage section, 131 flow builder section, 211 scenario registration reception section, 212 creation data request acquisition section, 213 creation provision data acquisition section, 214 creation Data provision section, 215 interpolation data request acquisition section, 216 interpolation data search section, 217 interpolation data provision section, 221 scenario DB, 222 parts DB, 223 user profile storage section, 800 information processing apparatus, 811 CPU, 812OM, 813 RAM, 814 bus, 815 input unit, 816 output unit, 817 storage unit, 818 communication unit, 819 drive, 821 a removable media
Claims (14)
前記情報処理装置は、
実行対象となる前記シナリオのデータの要素が、前記シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合要素であるか否かを判定する要素判定手段と、
前記要素判定手段によって前記シナリオのデータの要素が前記未整合要素であると判定された場合に、前記未整合要素において入出力される情報を補間するための前記シナリオのデータの要素である補間要素のデータを前記サーバから取得するデータ取得手段と、
実行対象となる前記シナリオのデータにおける前記未整合要素に、前記データ取得手段によって取得された前記補間要素のデータを追加して、実行対象となる前記シナリオのデータを実行するデータ実行手段と、
を備えることを特徴とする情報処理システム。 An information processing system configured to be able to communicate with an information processing apparatus that executes data of a scenario of an interactive process and a server that stores data that is an element of the data of the scenario,
The information processing device,
Element determining means for determining whether an element of the data of the scenario to be executed is an unmatched element in which information input / output with at least one element before or after the data of the scenario does not match ,
An interpolating element that is an element of the scenario data for interpolating information input / output in the unmatched element when the element of the scenario data is determined to be the unmatched element by the element determining unit. Data acquisition means for acquiring the data from the server;
Data execution means for executing the data of the scenario to be executed, by adding the data of the interpolation element acquired by the data acquisition means to the unmatched elements in the data of the scenario to be executed,
An information processing system comprising:
前記未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報の差に基づいて、前記未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素との差を補間する対話内容が定義された前記補間要素のデータを検索するデータ検索手段を備えることを特徴とする請求項1から7のいずれか1項に記載の情報処理システム。 The server is
Based on a difference in information input and output between the unmatched element and at least one element before or after the unmatched element, the unmatched element and at least one of before and after the unmatched element The information processing system according to claim 1, further comprising a data search unit configured to search for data of the interpolated element in which a dialog content for interpolating a difference between the interpolated element and the interpolated element is defined.
前記要素判定手段によって前記シナリオのデータの要素が前記未整合要素であると判定された場合に、前記未整合要素において入出力される情報を補間するための前記シナリオのデータの要素である補間要素のデータをサーバから取得するデータ取得手段と、
実行対象となる前記シナリオのデータにおける前記未整合要素に、前記データ取得手段によって取得された前記補間要素のデータを追加して、実行対象となる前記シナリオのデータを実行するデータ実行手段と、
を備えることを特徴とする情報処理装置。 Element determination for determining whether an element of data of a scenario of an interaction processing to be executed is an unmatched element in which information input and output with at least one element before or after the data of the scenario does not match. Means,
An interpolating element that is an element of the scenario data for interpolating information input / output in the unmatched element when the element of the scenario data is determined to be the unmatched element by the element determining unit. Data acquisition means for acquiring the data of the server from the server,
Data execution means for executing the data of the scenario to be executed, by adding the data of the interpolation element acquired by the data acquisition means to the unmatched elements in the data of the scenario to be executed,
An information processing apparatus comprising:
実行対象となる前記シナリオのデータに含まれる、前記シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報の差に基づいて、前記未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素との差を補間する対話内容が定義された補間要素のデータを検索するデータ検索手段と、
前記データ検索手段によって検索された前記シナリオのデータの要素を前記情報処理装置に提供するデータ提供手段と、
を備えることを特徴とするサーバ。 An information processing apparatus that executes data of a scenario of an interaction process, and a server in an information processing system configured to be able to communicate with a server that stores data that is an element of the data of the scenario,
An unmatched element included in the data of the scenario to be executed, in which information input / output with at least one element before or after the data of the scenario does not match, and at least one before or after the unmatched element. Interpolation defining a dialog content for interpolating a difference between the unmatched element and at least one of the elements before or after the unmatched element based on a difference between information input and output with one of the elements. Data search means for searching for element data;
Data providing means for providing the data element of the scenario searched by the data search means to the information processing apparatus;
A server comprising:
実行対象となる対話処理のシナリオのデータの要素が、前記シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合要素であるか否かを判定する要素判定ステップと、
前記要素判定ステップにおいて前記シナリオのデータの要素が前記未整合要素であると判定された場合に、前記未整合要素において入出力される情報を補間するための前記シナリオのデータの要素である補間要素のデータをサーバから取得するデータ取得ステップと、
実行対象となる前記シナリオのデータにおける前記未整合要素に、前記データ取得ステップにおいて取得された前記補間要素のデータを追加して、実行対象となる前記シナリオのデータを実行するデータ実行ステップと、
を含むことを特徴とする情報処理方法。 An information processing method executed by an information processing apparatus that executes data of a scenario of an interactive process,
Element determination for determining whether an element of data of a scenario of an interaction processing to be executed is an unmatched element in which information input and output with at least one element before or after the data of the scenario does not match. Steps and
An interpolating element that is an element of the scenario data for interpolating information input and output in the unmatched element when the element of the scenario data is determined to be the unmatched element in the element determining step. A data acquisition step of acquiring the data from the server;
A data execution step of executing the data of the scenario to be executed by adding the data of the interpolation element acquired in the data acquisition step to the unmatched element in the data of the scenario to be executed,
An information processing method comprising:
実行対象となる前記シナリオのデータに含まれる、前記シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報の差に基づいて、前記未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素との差を補間する対話内容が定義された補間要素のデータを検索するデータ検索ステップと、
前記データ検索ステップにおいて検索された前記シナリオのデータの要素を前記情報処理装置に提供するデータ提供手段と、
を含むことを特徴とする情報処理方法。 An information processing method that is executed by a server in an information processing system configured to be able to communicate with an information processing apparatus that executes data of a scenario of an interactive process and a server that stores data that is an element of the data of the scenario,
An unmatched element included in the data of the scenario to be executed, in which information input / output with at least one element before or after the data of the scenario does not match, and at least one before or after the unmatched element. Interpolation defining a dialog content for interpolating a difference between the unmatched element and at least one of the elements before or after the unmatched element based on a difference between information input and output with one of the elements. A data retrieval step for retrieving element data;
Data providing means for providing the data element of the scenario searched in the data search step to the information processing apparatus,
An information processing method comprising:
実行対象となる対話処理のシナリオのデータの要素が、前記シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合要素であるか否かを判定する要素判定機能と、
前記要素判定機能によって前記シナリオのデータの要素が前記未整合要素であると判定された場合に、前記未整合要素において入出力される情報を補間するための前記シナリオのデータの要素である補間要素のデータをサーバから取得するデータ取得機能と、
実行対象となる前記シナリオのデータにおける前記未整合要素に、前記データ取得機能によって取得された前記補間要素のデータを追加して、実行対象となる前記シナリオのデータを実行するデータ実行機能と、
を実現させることを特徴とするプログラム。 On the computer,
Element determination for determining whether an element of data of a scenario of an interaction processing to be executed is an unmatched element in which information input and output with at least one element before or after the data of the scenario does not match. Features and
An interpolating element that is an element of the scenario data for interpolating information input and output in the unmatched element when the element of the scenario data is determined to be the unmatched element by the element determination function. A data acquisition function for acquiring data from the server,
A data execution function for executing the data of the scenario to be executed by adding the data of the interpolation element acquired by the data acquisition function to the unmatched elements in the data of the scenario to be executed,
A program characterized by realizing.
実行対象となる前記シナリオのデータに含まれる、前記シナリオのデータの前または後の少なくともいずれかの要素と入出力される情報が整合しない未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素とにおいて入出力される情報の差に基づいて、前記未整合要素と、当該未整合要素の前または後の少なくともいずれかの要素との差を補間する対話内容が定義された補間要素のデータを検索するデータ検索機能と、
前記データ検索機能によって検索された前記シナリオのデータの要素を前記情報処理装置に提供するデータ提供機能と、
を実現させることを特徴とするプログラム。 An information processing apparatus that executes data of a dialogue scenario and a computer that constitutes a server in an information processing system configured to be able to communicate with a server that stores data that is an element of the data of the scenario,
An unmatched element included in the data of the scenario to be executed, in which information input / output with at least one element before or after the data of the scenario does not match, and at least one before or after the unmatched element. Interpolation defining a dialog content for interpolating a difference between the unmatched element and at least one of the elements before or after the unmatched element based on a difference between information input and output with one of the elements. A data search function to search for element data,
A data providing function for providing the data element of the scenario searched by the data search function to the information processing apparatus;
A program characterized by realizing.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018065018A JP6647595B2 (en) | 2018-03-29 | 2018-03-29 | Information processing system, information processing apparatus, server, information processing method and program |
| PCT/JP2019/012507 WO2019188982A1 (en) | 2018-03-29 | 2019-03-25 | Information processing system, information processing device, server, information processing method, and program |
| TW108110659A TW201942732A (en) | 2018-03-29 | 2019-03-27 | Information processing system, information processing device, server, information processing method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018065018A JP6647595B2 (en) | 2018-03-29 | 2018-03-29 | Information processing system, information processing apparatus, server, information processing method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019174732A JP2019174732A (en) | 2019-10-10 |
| JP6647595B2 true JP6647595B2 (en) | 2020-02-14 |
Family
ID=68060090
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018065018A Active JP6647595B2 (en) | 2018-03-29 | 2018-03-29 | Information processing system, information processing apparatus, server, information processing method and program |
Country Status (3)
| Country | Link |
|---|---|
| JP (1) | JP6647595B2 (en) |
| TW (1) | TW201942732A (en) |
| WO (1) | WO2019188982A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7576290B1 (en) | 2023-06-09 | 2024-10-31 | 株式会社サイバーエージェント | TOPIC MODULE SET CREATION DEVICE, INTERACTION DEVICE, TOPIC MODULE SET CREATION METHOD, INTERACTION METHOD, AND COMPUTER PROGRAM |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001056694A (en) * | 1999-08-19 | 2001-02-27 | Denso Corp | Interactive user interface device |
| JP2007264198A (en) * | 2006-03-28 | 2007-10-11 | Toshiba Corp | Dialogue device, dialogue method, dialogue system, computer program, and dialogue scenario generation device |
| JP5897389B2 (en) * | 2012-04-23 | 2016-03-30 | Scsk株式会社 | Automatic dialogue scenario creation support device and automatic dialogue scenario creation support program |
| WO2014103645A1 (en) * | 2012-12-28 | 2014-07-03 | 株式会社ユニバーサルエンターテインメント | Conversation topic provision system, conversation control terminal device, and maintenance device |
| CN105094315B (en) * | 2015-06-25 | 2018-03-06 | 百度在线网络技术(北京)有限公司 | The method and apparatus of human-machine intelligence's chat based on artificial intelligence |
| JP2018032330A (en) * | 2016-08-26 | 2018-03-01 | 株式会社アドバンスト・メディア | Information processing system, information processing apparatus, server, information processing method, and program |
-
2018
- 2018-03-29 JP JP2018065018A patent/JP6647595B2/en active Active
-
2019
- 2019-03-25 WO PCT/JP2019/012507 patent/WO2019188982A1/en not_active Ceased
- 2019-03-27 TW TW108110659A patent/TW201942732A/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| TW201942732A (en) | 2019-11-01 |
| WO2019188982A1 (en) | 2019-10-03 |
| JP2019174732A (en) | 2019-10-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7653396B2 (en) | SYSTEM AND METHOD FOR VOICE-BASED INVOICE INTRODUCTION OF CUSTOM DEVICE ACTIONS - Patent application | |
| US12411650B2 (en) | Generating a customized social-driven playlist | |
| CN108886487B (en) | A system, method, and computer-readable medium for processing a conversation | |
| US20110276864A1 (en) | Process for creating a media sequence by coherent groups of media files | |
| US20150215262A1 (en) | Question Server To Facilitate Communication Between Participants | |
| Bødker et al. | Time‐out/time‐in: The dynamics of everyday experiential computing devices | |
| JP2023535120A (en) | Automated navigation of interactive voice response (IVR) trees on behalf of human users | |
| JP2008257655A (en) | Information processing apparatus and method, and program | |
| KR102823758B1 (en) | Method and system for providing conversation with artificial intelligence character | |
| JP2018195298A (en) | Interaction scenario display control program, interaction scenario display control method, and information processing apparatus | |
| JP6647595B2 (en) | Information processing system, information processing apparatus, server, information processing method and program | |
| CN108881377B (en) | Application service calling method, terminal equipment and server | |
| CN113726868A (en) | Distributed service configuration device method and device based on business identity | |
| US20050162431A1 (en) | Animation data creating method, animation data creating device, terminal device, computer-readable recording medium recording animation data creating program and animation data creating program | |
| KR102448356B1 (en) | Method, system, and computer readable record medium to record conversations in connection with video communication service | |
| CN120429508A (en) | Model training, resource recommendation methods and equipment | |
| JP6729942B2 (en) | Information processing system, information processing device, server, information processing method, and program | |
| JP7387970B2 (en) | Calculation device, calculation method, calculation program | |
| US20050017976A1 (en) | Cellular terminal, method for creating animation of cellular terminal, and animation creation system | |
| JP2012524320A (en) | Method and system for rating items | |
| CN116561735B (en) | Mutual trust authentication method and system based on multiple authentication sources and electronic equipment | |
| US10970795B2 (en) | Answer support systems for hybrid networks | |
| JP7832802B2 (en) | Content generation device, content generation method, and content generation program | |
| US12555606B2 (en) | Video recording system for synchronizing a plurality of audio inputs | |
| KR102931837B1 (en) | Ai-based responsive photo frame and its operation method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191106 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191106 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20191112 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191126 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191225 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6647595 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |