(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024139006
(43)【公開日】2024-10-09
(54)【発明の名称】シナリオ生成システム及び方法
(51)【国際特許分類】
G06Q 10/00 20230101AFI20241002BHJP
【FI】
G06Q10/00
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023049766
(22)【出願日】2023-03-27
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】額賀 信尾
(72)【発明者】
【氏名】松本 茂紀
(72)【発明者】
【氏名】中川 弘充
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA01
5L049AA01
(57)【要約】
【課題】シナリオの対象者にとって効果的なシナリオを生成する。
【解決手段】シナリオ生成システムが、対象者クラスの指定を受け付ける。システムが、複数のシナリオ要素インスタンスが並んだベースシナリオのうちの指定された対象者クラスに応じた二つ以上のシナリオ要素インスタンスの順序を、指定された対象者クラスに応じた順序に変更し、順序が変更された二つ以上のシナリオ要素インスタンスを含む提案シナリオを生成する。システムが、生成された提案シナリオを提供する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
インターフェース装置と、記憶装置と、それらに接続されたプロセッサとを備え、
前記記憶装置が、複数のシナリオ要素インスタンスの並びを表すベースシナリオを表すデータを含んだベースシナリオデータを記憶し、
前記プロセッサが、
前記インターフェース装置を通じて、対象者クラスの指定を受け付け、
前記ベースシナリオデータが表す複数のシナリオ要素インスタンスのうちの前記指定された対象者クラスに応じた二つ以上のシナリオ要素インスタンスの順序を、前記指定された対象者クラスに応じた順序に変更し、順序が変更された二つ以上のシナリオ要素インスタンスを含む提案シナリオを生成し、
前記インターフェース装置を通じて、生成された提案シナリオを提供する、
シナリオ生成システム。
【請求項2】
前記記憶装置が、シナリオスケルトンを表すシナリオスケルトンデータを複数の対象者クラスの各々について記憶し、
前記複数の対象者クラスの各々について、シナリオスケルトンは、複数のシナリオ要素パラメータと、シナリオ要素パラメータ間を関連付けるシナリオ要素とを含み、
前記プロセッサが、指定された対象者クラスに対応のシナリオスケルトンデータを前記記憶装置から特定し、特定されたシナリオスケルトンデータが表すシナリオスケルトンにおけるシナリオ要素パラメータ毎に、当該シナリオ要素パラメータに対応のシナリオ要素インスタンスを設定することで、前記提案シナリオを生成する
請求項1に記載のシナリオ生成システム。
【請求項3】
シナリオ要素パラメータに設定されるシナリオ要素インスタンスも、シナリオ要素パラメータ間のシナリオ要素も、テキストである、
請求項2に記載のシナリオ生成システム。
【請求項4】
前記記憶装置は、結果データを格納し、
前記結果データは、提案シナリオ毎に、当該提案シナリオに対応の対象者クラスと、当該提案シナリオが採用されたか否かを含み、
前記プロセッサは、
前記結果データを基に、同一の対象者クラスについて採用された複数の提案シナリオのうちの共通の情報を特定し、
当該同一の対象者クラスに対応のシナリオスケルトンデータと前記特定された共通の情報とに基づいて、当該対象者クラスに対応のシナリオスケルトンデータを生成又は更新する、
請求項2に記載のシナリオ生成システム。
【請求項5】
前記記憶装置は、結果データを格納し、
前記結果データは、提案シナリオ毎に、当該提案シナリオに対応の対象者クラスと、当該提案シナリオが採用されたか否かを含み、
前記プロセッサは、前記結果データを基に、同一の対象者クラスについて採用された複数の提案シナリオのうちの共通の情報を特定し、
当該同一の対象者クラスについて、前記二つ以上のシナリオ要素インスタンス及びその順序は、前記特定された共通の情報に基づく、
請求項1に記載のシナリオ生成システム。
【請求項6】
前記ベースシナリオは、シナリオ要素インスタンスをノードとしシナリオ要素インスタンス間の関係をリンクとしたグラフであり、
前記プロセッサは、前記グラフにおけるノード及びリンクの編集順序と、前記グラフが有する複数のレイヤとに基づいて表示順序を決定し、
前記プロセッサは、前記インターフェース装置を通じて、前記ベースシナリオデータが表すグラフのノード及びリンクを、前記決定された表示順序でアニメーション表示する、
請求項1に記載のシナリオ生成システム。
【請求項7】
コンピュータが、対象者クラスの指定を受け付け、
コンピュータが、複数のシナリオ要素インスタンスが並んだベースシナリオのうちの前記指定された対象者クラスに応じた二つ以上のシナリオ要素インスタンスの順序を、前記指定された対象者クラスに応じた順序に変更し、順序が変更された二つ以上のシナリオ要素インスタンスを含む提案シナリオを生成し、
コンピュータが、生成された提案シナリオを提供する、
シナリオ生成方法。
【請求項8】
対象者クラスの指定を受け付け、
複数のシナリオ要素インスタンスが並んだベースシナリオのうちの前記指定された対象者クラスに応じた二つ以上のシナリオ要素インスタンスの順序を、前記指定された対象者クラスに応じた順序に変更し、順序が変更された二つ以上のシナリオ要素インスタンスを含む提案シナリオを生成し、
生成された提案シナリオを提供する、
ことをコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、ユーザに提供するシナリオの生成に関する。
【背景技術】
【0002】
ユーザ(個人又は組織)の行動(例えば意思決定)に、「シナリオ」が寄与することが知られている。ユーザは、提供されたシナリオに沿って行動をとる。
【0003】
特許文献1には、ユーザの潜在的なニーズを示すシナリオ候補を導出する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示の技術では、行動や作業といった要素の時間的な順序関係が決定されるとシナリオが一義的に定まる。このため、シナリオの対象者にとって当該シナリオが効果的なシナリオである可能性は高くない。
【課題を解決するための手段】
【0006】
シナリオ生成システムが、対象者クラスの指定を受け付ける。システムが、複数のシナリオ要素インスタンスが並んだベースシナリオのうちの指定された対象者クラスに応じた二つ以上のシナリオ要素インスタンスの順序を、指定された対象者クラスに応じた順序に変更し、順序が変更された二つ以上のシナリオ要素インスタンスを含む提案シナリオを生成する。システムが、生成された提案シナリオを提供する。
【発明の効果】
【0007】
本発明によれば、シナリオの対象者にとって効果的なシナリオを生成することができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の一実施形態に係るシナリオ生成システムの構成例を示す。
【
図10】シナリオパターンテーブルの構成例を示す。
【
図11】シナリオスケルトンテーブルの構成例を示す。
【発明を実施するための形態】
【0009】
以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、下記のうちの少なくとも一つでよい。
・一つ以上のI/O(Input/Output)インターフェースデバイス。I/O(Input/Output)インターフェースデバイスは、I/Oデバイスと遠隔の表示用計算機とのうちの少なくとも一つに対するインターフェースデバイスである。表示用計算機に対するI/Oインターフェースデバイスは、通信インターフェースデバイスでよい。少なくとも一つのI/Oデバイスは、ユーザインターフェースデバイス、例えば、キーボード及びポインティングデバイスのような入力デバイスと、表示デバイスのような出力デバイスとのうちのいずれでもよい。
・一つ以上の通信インターフェースデバイス。一つ以上の通信インターフェースデバイスは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
【0010】
また、以下の説明では、「メモリ」は、一つ以上の記憶デバイスの一例である一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。
【0011】
また、以下の説明では、「永続記憶装置」は、一つ以上の記憶デバイスの一例である一つ以上の永続記憶デバイスでよい。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)でよく、具体的には、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、NVME(Non-Volatile Memory Express)ドライブ、又は、SCM(Storage Class Memory)でよい。
【0012】
また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサデバイスでよい。少なくとも一つのプロセッサデバイスは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスでよいが、GPU(Graphics Processing Unit)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサデバイスは、プロセッサコアでもよい。少なくとも一つのプロセッサデバイスは、処理の一部又は全部を行うハードウェア記述言語によりゲートアレイの集合体である回路(例えばFPGA(Field-Programmable Gate Array)、CPLD(Complex Programmable Logic Device)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサデバイスでもよい。
【0013】
また、以下の説明では、「yyy部」の表現にて機能を説明することがあるが、機能は、1つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてもよいし、1つ以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよいし、それらの組合せによって実現されてもよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が1つの機能にまとめられたり、1つの機能が複数の機能に分割されたりしてもよい。
【0014】
また、以下の説明では、「xxxDB」や「xxxテーブル」といった表現にて、入力に対して出力が得られるデータを説明することがあるが(「DB」はデータベースの略)、当該データは、どのような構造のデータでもよいし(例えば、構造化データでもよいし非構造化データでもよいし)、入力に対する出力を発生するニューラルネットワーク、遺伝的アルゴリズムやランダムフォレストに代表されるような学習モデルでもよい。従って、「xxxDB」や「xxxテーブル」を「xxxデータ」と言うことができる。また、以下の説明において、各DBや各テーブルの構成は一例であり、一つのDB又はテーブルは、二つ以上のDB又はテーブルに分割されてもよいし、二つ以上のDB又はテーブルの全部又は一部が一つのDB又はテーブルであってもよい。
【0015】
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通符号を使用し、同種の要素を区別して説明する場合には、参照符号を使用することがある。
【0016】
図1は、本発明の一実施形態に係るシナリオ生成システムの構成例を示す。
【0017】
シナリオ生成システム10は、インターフェース装置101、記憶装置102及びそれらに接続されたプロセッサ103を備える。本実施形態において、シナリオ生成システム10は、物理的な計算機システム(一つ以上の物理的な計算機で構成されたシステム)であるが、物理的な計算機システムに基づく論理的な計算機システム(例えば、クラウドコンピューティングシステム)でもよい。
【0018】
インターフェース装置101に、入力デバイス11及び表示デバイス12が接続されていてもよいし、ユーザ端末112(例えば、パーソナルコンピュータやスマートフォンのような情報処理端末)が接続されていてもよい。シナリオ生成システム10は、入力デバイス11又はユーザ端末112から情報の入力を受けてよい。また、シナリオ生成システム10は、表示デバイス12又はユーザ端末112に情報を表示してもよい。
【0019】
記憶装置102が、データやプログラムを記憶する。例えば、記憶装置102は、ノードリンクDB16、時間順序関係DB17及びシナリオDB18を記憶する。ノードリンクDB16は、後述のノードテーブル、リンクテーブル、編集順序テーブル、表示順序テーブル及びラベル間順序関係テーブルを含む。時間順序関係DB17は、後述の時間順序関係データを含む。シナリオDB18は、後述のシナリオパターンテーブル、シナリオスケルトンテーブル及び動的生成シナリオデータを含む。
【0020】
プロセッサ103が記憶装置102におけるプログラムを実行することで、編集制御部13、順序生成部14及びシナリオ生成部15といった機能が実現される。
【0021】
図2は、ベースシナリオ入力画面200の一例を模式的に示す。
【0022】
ベースシナリオ入力画面200は、ベースシナリオ(生成され提案されるシナリオのベース)の入力画面である。本実施形態では、シナリオは、ノードとリンクで構成されたグラフにより表現される。
【0023】
ベースシナリオ入力画面200は、編集制御部13により表示デバイス12又はユーザ端末112に表示される。ベースシナリオ入力画面200に入力されるグラフにおいて、ノードは、シナリオ要素(具体的には、インスタンスとしてのシナリオ要素)に対応し、リンクは、シナリオ要素間の関係(例えば順序)を表す。また、グラフは、複数のレイヤを有してよく、各レイヤについて、レイヤのラベル(例えば「経営課題」、「業務課題」又は「解決方法」)が入力される。
【0024】
図2において、ノード、リンク及びレイヤの各々に割り振られている符号は、ノード、リンク又はレイヤのIDである。IDは、実際には表示されてもされなくてもよい。
【0025】
ベースシナリオ入力画面200に入力されたグラフを表すデータは、編集制御部13により、ノードテーブル300(
図3参照)、リンクテーブル400(
図4参照)及びラベル間順序関係テーブル500(
図5参照)として、ノードリンクDB16に格納される。
【0026】
【0027】
ノードテーブル300は、ノード毎の情報を有する。例えば、ノードテーブル300は、ノード毎に、ID301、内容302、レイヤ303、及び編集時刻304といった情報を含むレコードを有する。
【0028】
ID301は、ノードのIDを表す。内容302は、ノードに属するシナリオ要素としての内容(インスタンス)を表す。レイヤ303は、ノードが属するレイヤのラベルを表す。編集時刻304は、ノード(例えば、ノードに対応のシナリオ要素としてのテキスト)の編集が行われた時刻を表す。本実施形態において、時刻の単位は、年月日時分秒でもよいし、それよりも粗くても細かくてもよい。
【0029】
【0030】
リンクテーブル400は、リンク毎の情報を有する。例えば、リンクテーブル400は、リンク毎に、ID401、種別402、始点接続403、終点接続404及び編集時刻405といった情報を含むレコードを有する。
【0031】
ID401は、リンクのIDを表す。種別402は、リンクの種別(例えば、有向リンク、無向リンク)を表す。始点接続403は、リンクの一端(始点)のノードのIDを表す。終点接続404は、リンクの他端(終点)のノードのIDを表す。編集時刻405は、リンクの編集が行われた時刻を表す。
【0032】
図5は、ラベル間順序関係テーブル500の構成例を示す。
【0033】
ラベル間順序関係テーブル500は、グラフのレイヤの順序を表す。例えば、ラベル間順序関係テーブル500は、レイヤ毎にID501、ラベル502及び下位レイヤ503といった情報を含むレコードを有する。
【0034】
ID501は、レイヤのIDを表す。ラベル502は、レイヤのラベルを表す。下位レイヤ503は、レイヤの真下のレイヤのIDを表す。
【0035】
【0036】
編集順序テーブル600は、ノード及びリンクの編集順序を表す。具体的には、編集順序テーブル600は、ノード又はリンクの各々について順番601及びID602といった情報を含むレコードを有する。
【0037】
順番601は、ノード又はリンクの編集時刻の順番を表す。ID602は、ノード又はリンクのIDを表す。図示の例によれば、順番601の昇順(編集時刻が古い順)にレコードが並んでいる。具体的には、図示の例によれば、N1→N2→L1→・・・という順序でノード又はリンクが編集されたことがわかる。
【0038】
編集順序テーブル600は、順序生成部14によって生成される。具体的には、順序生成部14が、ノードテーブル300及びリンクテーブル400からノード又はリンクの編集時刻を特定し、ノード又はリンクのIDが編集時刻の古い順に並んだ編集順序テーブル600を生成する。順序生成部14が、生成された編集順序テーブル600をノードリンクDB16に格納する。編集順序テーブル600は、一時的なテーブルでもよい。
【0039】
【0040】
表示順序テーブル700は、ノード及びリンクの表示順序を表す。具体的には、表示順序テーブル700は、ノード又はリンクの各々について順番701及びID702といった情報を含むレコードを有する。
【0041】
順番701は、ノード又はリンクの表示の順番を表す。ID702は、ノード又はリンクのIDを表す。図示の例によれば、順番701の昇順にレコードが並んでいる。具体的には、図示の例によれば、N2→L1→N1→・・・という順序でノード又はリンクが表示されることがわかる。
【0042】
表示順序テーブル700は、順序生成部14によって生成される。具体的には、順序生成部14が、ラベル間順序関係テーブル500からレイヤ間の順序を特定し、編集順序テーブル600が表す順序を、特定されたレイヤ間(ラベル間)の順序に整える。順序生成部14が、整えられた順序を表示順序として表す表示順序テーブル700を生成し、生成された表示順序テーブル700をノードリンクDB16に格納する。表示順序テーブル700は、一時的なテーブルでもよい。また、順序生成部14は、いずれのノードがいずれのレイヤに属するかを、ノードテーブル300から特定し、ノードとレイヤの関係を基に、ノード又はリンクの編集順序をノード又はリンクの表示順序に整えてよい。
【0043】
図8は、シナリオ編集画面及びその表示遷移例を示す。
【0044】
シナリオ編集画面800は、シナリオの編集に用いられる画面である。シナリオ編集画面800は、編集制御部13により表示デバイス12又はユーザ端末112に表示される。シナリオ編集画面800は、編集エリア801と時間軸指示エリア802とを有する。
【0045】
編集エリア801には、シナリオを表現したグラフが表示され、表示されたグラフがユーザにより編集される。グラフの編集に従い、編集制御部13により、ノードテーブル300、リンクテーブル400又はラベル間順序関係テーブル500が更新される。
【0046】
時間軸指示エリア802に、時間軸850とインジケータ851とが表示される。時間軸850の左端(始点)から右端(終点)への方向が時間の進みを意味する。時間軸850におけるインジケータ851の位置が時点を意味する。ノード又はリンクとインジケータ851の位置との関係の調整が、表示順序の編集の一例でよい。
【0047】
図示の例によれば、シナリオを表現するグラフの全部又は一部がアニメーションで表示される。すなわち、インジケータ851が時間軸850の左端から右端へアニメーションで進み、インジケータ851の位置の進みに応じて、グラフがアニメーションで表示される。グラフにおけるノード又はリンクの表示順序は、表示順序テーブル700に従う。表示順序テーブル700に、ノード又はリンク毎に、順番701及びID702に加えて、ノード又はリンクの表示タイミング(例えば、時間軸850の始点からのオフセット)が記録されてもよい。
【0048】
ベースシナリオ入力画面200又はシナリオ編集画面800を通じてベースシナリオが入力又は編集された後、ベースシナリオを基に提案シナリオが動的に生成される。
【0049】
【0050】
シナリオ生成部15は、対象者クラスの指定をユーザから受ける。「対象者」とは、提案シナリオの提供先のユーザのことであり、「対象者クラス」とは、対象者の属性(例えば、役職、業種等)を意味する。予め複数の対象者クラスが定義されていてよく、ユーザから指定される対象者クラスは、その複数の対象者クラスから選択された対象者クラスでよい。
【0051】
シナリオ生成部15は、指定された対象者クラスと、シナリオパターンテーブル910、シナリオスケルトンテーブル920及びベースシナリオデータ900とに基づき、提案シナリオデータ930を生成する。シナリオ生成部15は、提案シナリオデータ930が表すシナリオ(提案シナリオ)を提供する。
【0052】
ベースシナリオデータ900は、入力又は編集されたベースシナリオに対応のノードテーブル300、リンクテーブル400、ラベル間順序関係テーブル500、編集順序テーブル600及び表示順序テーブル700の少なくとも一部を含むデータである。
【0053】
提案シナリオデータ930では、ベースシナリオデータ900が表すグラフにおける複数のノード(複数のシナリオ要素)とその順序とが定義されている。提案シナリオデータ930が表すノード順序は、ベースシナリオデータ900が表すノード順序と異なる。具体的には、ベースシナリオデータ900によれば、ノード順序は、A→C→D→E(DとEは同時でもよい)であるが、提案シナリオデータ930によれば、ノード順序は、C→D→E→Aである。このように、ベースシナリオデータ900が表すノード順序が、対象者クラスに適切なノード順序に変更されて、変更後のノード順序に従うノード(シナリオ要素)を含んだ提案シナリオが提供される。
【0054】
図10は、シナリオパターンテーブル910の構成例を示す。
【0055】
シナリオパターンテーブル910は、対象者クラス毎に、対象者クラス1001及びスケルトンID1002といった情報を含むレコードを有する。
【0056】
対象者クラス1001は、対象者クラスを表す。スケルトンID1002は、シナリオスケルトンテーブル920のIDを表す。
【0057】
図11は、シナリオスケルトンテーブル920の構成例を示す。
【0058】
シナリオスケルトンテーブル920は、シナリオスケルトンを表し、指定され得る対象者クラス毎に用意される。図示のシナリオスケルトンテーブル920は、
図10に例示の対象者クラス“事業部長”に対応する。具体的には、図示のシナリオスケルトンテーブル920には、対象者クラス“事業部長”に対応のスケルトンID“P3”が関連付けられている。
【0059】
シナリオスケルトンテーブル920は、シナリオ要素(提案シナリオに設定される要素)毎に、提示順番1101、対応ノードクラス1102及び詳細1103といった情報を含むレコードを有する。
【0060】
提示順番1101は、シナリオ要素の提案シナリオにおける位置の順番を表す。順番が若い程、シナリオ要素は、提案シナリオの先頭側に配置される。
【0061】
対応ノードクラス1102は、シナリオ要素に対応するノードクラスを表す。「ノードクラス」は、シナリオ要素に対応するノードが属するレイヤのラベル、又は、提案シナリオにおけるシナリオ要素のデータ種別(例えば、テキスト、画像又は図形)を意味する。
【0062】
詳細1103は、シナリオ要素の詳細を表す。具体的には、例えば、対応ノードクラス1102“フリーテキスト”に対応の詳細1103の値は、シナリオ要素としてのテキストである。また、例えば、対応ノードクラス1102がレイヤのラベルに対応の詳細1103の値は、そのレイヤに属する全てのノードを意味する値(例えば“-”)か、或いは、そのレイヤに属するノードのうち提案シナリオに設定されるノードを意味する値(例えば“{C}”)である。後者の場合、そのノードの内容(内容302(
図3参照))が、提案シナリオに設定されることになる。なお、ベースシナリオデータ900が表すグラフの構造と、シナリオスケルトンテーブル920が表すシナリオスケルトンの構成からノードの指定が無くてもノードが一義的に定まる場合、ノードの指定は無くてよい。例えば、
図2に例示のグラフと
図11に例示のシナリオスケルトンとによれば、レイヤ“業務課題”に属するノードのうちレイヤ“解決方法”に属するノードを子ノードとするノードはノードCのみなので、詳細1103の値としてノードCを意味する値が無くても、ノードCを一義的に特定することができる。
【0063】
【0064】
提案シナリオデータ930は、提案シナリオを表すデータである。図示の提案シナリオデータ930が表す提案シナリオは、
図11に例示のシナリオスケルトンテーブル920を基に作成されたデータである。また、
図11において、アンダーラインは、ノードの内容302の値である。
【0065】
以下、本実施形態で行われる処理の例を説明する。
【0066】
【0067】
シナリオ生成部15は、複数の対象者クラス(例えば、シナリオパターンテーブル910に記載の対象者クラス)のうちユーザ所望の対象者クラスの指定を受け付ける(S1301)。S1301は、例えば、対象者クラスが指定されたシナリオ要求の受付でよい。
【0068】
シナリオ生成部15は、S1301で指定された対象者クラスに対応のスケルトンIDをシナリオパターンテーブル910から特定する(S1302)。シナリオ生成部15は、S1302で特定されたスケルトンIDが関連付けられているシナリオスケルトンテーブルから、当該スケルトンIDに対応するシナリオスケルトンテーブル920を特定する(S1303)。
【0069】
シナリオ生成部15は、S1303で特定されたシナリオスケルトンテーブル920に従い、そのテーブル920とベースシナリオデータ900から、複数のシナリオ要素(例えば、テーブル920の詳細1103の値としてのテキスト、及び、ノードの内容302の値としてのテキスト)を取得し、それらの複数のシナリオ要素が提示順番1101の若い順に並べられた提案シナリオを表す提案シナリオデータ930を生成する(S1304)。
【0070】
シナリオ生成部15は、S1304で生成された提案シナリオデータ930を出力する(S1305)。提案シナリオデータ930の出力とは、例えば、提案シナリオデータ930が表す提案シナリオを、S1301で対象者クラスを指定したユーザに対し提供する(表示する)ことでよい。提供された提案シナリオは、ユーザにより編集されてよい。S1304で生成された提案シナリオデータ930、又は、ユーザにより編集された提案シナリオを表す提案シナリオデータ930が、シナリオDB18に格納されてよい。
【0071】
図13に示した処理において、
図2に例示のグラフが、
図14に例示する通りであるとする。つまり、ベースシナリオデータ900が表すグラフが、
図14に例示する通りであるとする。また、S1301で、対象者クラスとして“事業部長”が選択されたとする。このため、S1303で特定されたシナリオスケルトンテーブル920は、
図11に例示の通りである。この場合、生成される提案シナリオデータ930は、
図15に例示する通りである。すなわち、提示順番“2”に対応の対応ノードクラス(レイヤ)“業務課題”についてはノード“CO
2排出量の削減”が特定され、提案シナリオに設定される。
【0072】
シナリオスケルトンテーブル920は、ユーザにより手動で編集されてもよいし、シナリオスケルトンテーブル920の一部又は全部が自動で編集されてもよい。自動編集のための一つの方法として、フィードバック処理が挙げられる。フィードバック処理は、提案シナリオの提供結果(ユーザが採用するに至ったか)をフィードバックすることで、その提案シナリオの作成の基になったシナリオスケルトンテーブル920を、より訴求力の高いテーブル920を用意することができる。
【0073】
【0074】
順序生成部14は、ノードリンクDB16から結果データ1600を取得する(S1601)。
【0075】
順序生成部14は、ノードリンクDB16内の後述のシナリオサマリテーブルと結果データ1600とを用いた解析(例えば統計解析)を行い、訴求効果が高い順序関係を特定し、特定された順序関係を表す順序関係データを時間順序関係DB17に格納する(S1602)。
【0076】
順序生成部14は、S1602で格納された順序関係データを基に、既存のシナリオスケルトンテーブル920を基に新規にシナリオスケルトンテーブル920を生成する、又は、既存のシナリオスケルトンテーブル920を更新する(S1603)。
【0077】
【0078】
ノードリンクDB16に、提供された提案シナリオ毎に、シナリオサマリテーブル1700がシナリオ生成部15により格納される。シナリオサマリテーブル1700は、提案ID1701を有し、また、提案シナリオにおけるシナリオ要素(ノード内容)毎に、提示順番1702及びノード内容1703といった情報を有する。
【0079】
提案ID1701は、提案シナリオのIDを表す。提示順番1702は、シナリオ要素(ノード内容)の提案シナリオにおける順番(先頭が最も若い順番である“1”)を表す。ノード内容1703は、シナリオ要素のノード内容を表す。
【0080】
結果データ1600は、例えばテーブルであり、シナリオ生成部15により作成されノードリンクDB16に格納される。結果データ1600は、提供された提案毎に、提案ID1711、対象者クラス1712及び訴求効果1713といった情報を含むレコードを有する。
【0081】
提案ID1711は、提案シナリオのIDを表す。対象者クラス1712は、提案シナリオに対応の対象者クラスを表す。訴求効果1713は、提案シナリオが採用されたか否か(“有効”か“無効”か)を表す。
【0082】
シナリオ生成部15は、提供された提案シナリオについて、提案シナリオデータ930を基にシナリオサマリテーブル1700を生成し、シナリオサマリテーブル1700をノードリンクDB16に格納する。また、シナリオ生成部15は、当該提案シナリオが採用されたか否かである訴求効果を、提供先のユーザからユーザインターフェース(例えばGUI(Graphical User Interface))経由で受け付ける。シナリオ生成部15は、当該提案シナリオのID、当該提案シナリオに対応の対象者クラス、及び、受け付けた訴求効果を表す情報を結果データ1600に含める。
【0083】
このような結果データ1600を、
図16のS1601において、順序生成部14がノードリンクDB16から取得する。
【0084】
【0085】
順序生成部14は、同一の対象者クラス(例えば“事業部長”)について、訴求効果1713“有効”に対応した複数のシナリオサマリテーブル1700(例えば1700B及び1700D)をノードリンクDB16から取得し、その複数のシナリオサマリテーブル1700から、共通の情報ペア(提示順番1702とノード内容1703とのペア)を抽出する。順序生成部14は、抽出された情報ペアで構成されたデータである順序関係データ1800を生成し、順序関係データ1800を時間順序関係DB17に格納する。
【0086】
この後のS1603において、順序生成部14は、この時間順序関係データ1800に対応の対象者クラス(例えば“事業部長”)に関連付いた既存のシナリオスケルトンテーブル920と、この順序関係データ1800とを基に、新規にシナリオスケルトンテーブル920を生成する、又は、既存のシナリオスケルトンテーブル920を更新する。具体的には、例えば、生成又は更新されたシナリオスケルトンテーブル920は、順序関係データ1800が表す提示順番の順序に並んだノード内容を有する。
【0087】
なお、順序生成部14は、対象者クラスが同一であるか否かに関わらず、訴求効果1713“有効”に対応した複数のシナリオサマリテーブル1700をノードリンクDB16から取得し、その複数のシナリオサマリテーブル1700から抽出された共通の情報ペアを基に順序関係データ1800を生成してもよい。
【0088】
以上、一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。
【0089】
また、以上の説明を、例えば、下記のように総括することができる。下記の総括は、上述の補足説明や変形例の説明を含んでよい。
【0090】
シナリオ生成システム10は、インターフェース装置101と、記憶装置102と、それらに接続されたプロセッサ103とを備える。記憶装置が、複数のシナリオ要素インスタンスの並びを表すベースシナリオ(例えば、シナリオ要素インスタンスをノードとしシナリオ要素インスタンス間の関係をリンクとしたグラフ)を表すデータを含んだベースシナリオデータ900を記憶する。プロセッサ103が、インターフェース装置101を通じて、対象者クラスの指定を受け付ける。プロセッサ103が、ベースシナリオデータが表す複数のシナリオ要素インスタンスのうちの指定された対象者クラスに応じた二つ以上のシナリオ要素インスタンスの順序を、指定された対象者クラスに応じた順序に変更し、順序が変更された二つ以上のシナリオ要素インスタンスを含む提案シナリオを生成する。プロセッサ103が、インターフェース装置101を通じて、生成された提案シナリオを提供する。提案シナリオは、対象者クラスに対応した順序に並んだ二つ以上のシナリオ要素インスタンスを有し、当該二つ以上のシナリオ要素インスタンスが、当該対象者クラスに対応している。このように、シナリオの対象者にとって効果的な提案シナリオが生成される。効果的な提案シナリオの一例としては、提案シナリオに沿って行動した結果として契約締結や受注獲得といった目的達成に寄与する納得性の高いシナリオでよい。
【0091】
記憶装置102が、シナリオスケルトンを表すシナリオスケルトンテーブル920(シナリオスケルトンデータの一例)を複数の対象者クラスの各々について記憶してよい。複数の対象者クラスの各々について、シナリオスケルトンは、複数のシナリオ要素パラメータ(例えば、ノード内容をインスタンスとしたパラメータ)と、シナリオ要素パラメータ間を関連付けるシナリオ要素(例えばテキスト)とを含んでよい。プロセッサ103が、指定された対象者クラスに対応のシナリオスケルトンテーブル920を記憶装置102から特定し、特定されたシナリオスケルトンテーブル920が表すシナリオスケルトンにおけるシナリオ要素パラメータ毎に、当該シナリオ要素パラメータに対応のシナリオ要素インスタンスを設定することで、提案シナリオを生成してよい。このようにして、指定された対象者クラスに対応の順序で当該対象者クラスに対応の二つ以上のシステム要素インスタンスが並んだ提案シナリオが生成される。
【0092】
シナリオ要素パラメータに設定されるシナリオ要素インスタンスも、シナリオ要素パラメータ間のシナリオ要素も、テキストでよい。これにより、文章としての提案シナリオを提供することができる。
【0093】
記憶装置102は、結果データ1600を格納してよい。結果データ1600は、提案シナリオ毎に、当該提案シナリオに対応の対象者クラスと、当該提案シナリオが採用されたか否かを含んでよい。プロセッサ103は、結果データ1600を基に、同一の対象者クラスについて採用された複数の提案シナリオのうちの共通の情報を特定してよい(例えば、当該複数の提案シナリオに対応の複数のシナリオサマリテーブル1700から共通の情報として共通の情報ペアを特定してよい)。プロセッサ103は、当該同一の対象者クラスに対応のシナリオスケルトンテーブル920と特定された共通の情報とに基づいて、当該対象者クラスに対応のシナリオスケルトンテーブル920を生成又は更新してよい。これにより、当該対象者クラスについてより訴求効果の高い提案シナリオの生成が期待される。
【0094】
プロセッサ103は、グラフにおけるノード及びリンクの編集順序と、グラフが有する複数のレイヤとに基づいて表示順序を決定し、インターフェース装置101を通じて、ベースシナリオデータ900が表すグラフのノード及びリンクを、決定された表示順序でアニメーション表示してよい。これにより、ベースシナリオの編集効率の向上が期待できる。
【符号の説明】
【0095】
10 シナリオ生成システム
13 編集制御部
14 順序生成部
15 シナリオ生成部
16 ノードリンクDB
17 時間順序関係DB
18 シナリオDB