(57)【要約】【課題】対話シナリオの編集作業を補助することができる対話シナリオの表示制御プログラム、対話シナリオの表示制御方法および情報処理装置を提供する。【解決手段】対話シナリオの表示制御プログラムは、入力に応じて、記憶部に記憶された複数の分岐を有する対話シナリオのうち、どの分岐を選択して対応するコンテンツを表示するか制御する処理をコンピュータに実行させる。対話シナリオの表示制御プログラムは、選択された分岐を特定する情報を記憶部に記憶する処理をコンピュータに実行させる。対話シナリオの表示制御プログラムは、複数の分岐のそれぞれに対応する文字またはマークを生成して、対話シナリオの流れを表示する際に、記憶部に記憶された情報を参照して、対話シナリオのうちどの分岐がどの程度選択されたかを示す情報を文字または図を用いて示した表示画面を生成して表示する処理をコンピュータに実行させる。【選択図】図１
2018195298.tif 000002
【特許請求の範囲】
【請求項１】
入力に応じて、記憶部に記憶された複数の分岐を有する対話シナリオのうち、どの分岐を選択して対応するコンテンツを表示するか制御し、
選択された分岐を特定する情報を記憶部に記憶し、
前記複数の分岐のそれぞれに対応する文字またはマークを生成して、前記対話シナリオの流れを表示する際に、前記記憶部に記憶された情報を参照して、前記対話シナリオのうちどの分岐がどの程度選択されたかを示す情報を文字または図を用いて示した表示画面を生成して表示する、
処理をコンピュータに実行させることを特徴とする対話シナリオの表示制御プログラム。
【請求項２】
生成する前記表示画面には、前記分岐の選択にかかった時間を表示する、
ことを特徴とする請求項１に記載の対話シナリオの表示制御プログラム。
【請求項３】
生成する前記表示画面には、前記分岐が選択された回数を表示する、
ことを特徴とする請求項１に記載の対話シナリオの表示制御プログラム。
【請求項４】
前記どの分岐がどの程度選択されたかを示す情報を示す図は、前記複数の分岐のそれぞれに対応する文字またはマークをつなぐ結線である、
ことを特徴とする請求項１に記載の対話シナリオの表示制御プログラム。
【請求項５】
前記結線の幅は、分岐の選択回数が多いほど太く表示される、
ことを特徴とする請求項４に記載の対話シナリオの表示制御プログラム。
【請求項６】
前記複数の分岐が、人工知能による判定結果に応じて選択される分岐である場合に、入力に応じて一義的に選択される分岐と異なる表示態様で表示する、
ことを特徴とする請求項１に記載の対話シナリオの表示制御プログラム。
【請求項７】
入力に応じて、記憶部に記憶された複数の分岐を有する対話シナリオのうち、どの分岐を選択して対応するコンテンツを表示するか制御し、
選択された分岐を特定する情報を記憶部に記憶し、
前記複数の分岐のそれぞれに対応する文字またはマークを生成して、前記対話シナリオの流れを表示する際に、前記記憶部に記憶された情報を参照して、前記対話シナリオのうちどの分岐がどの程度選択されたかを示す情報を文字または図を用いて示した表示画面を生成して表示する、
処理をコンピュータが実行することを特徴とする対話シナリオの表示制御方法。
【請求項８】
入力に応じて、記憶部に記憶された複数の分岐を有する対話シナリオのうち、どの分岐を選択して対応するコンテンツを表示するか制御するシナリオ制御部と、
選択された分岐を特定する情報を記憶部に記憶する収集部と、
前記複数の分岐のそれぞれに対応する文字またはマークを生成して、前記対話シナリオの流れを表示する際に、前記記憶部に記憶された情報を参照して、前記対話シナリオのうちどの分岐がどの程度選択されたかを示す情報を文字または図を用いて示した表示画面を生成して表示する編集部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話シナリオの表示制御プログラム、対話シナリオの表示制御方法および情報処理装置に関する。
【背景技術】
【０００２】
近年、知識量が豊富なエキスパートのノウハウをベースとしたチャットボットと呼ばれるロボットを用いて、対話シナリオに基づいてユーザからの問い合わせに答えるチャットアプリ等のサービスが提案されている。チャットボットの動作は、例えばプログラミング言語やスクリプト言語等を用いたスクリプトによって制御されている。この様なスクリプトを生成するには、例えば、プログラミング言語やスクリプト言語等で直接記述するハードコーディングや、ＧＵＩ（Graphical  User  Interface）を用いてアイコンを配置するコードレスコーディングといった手法が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０７３１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、一度運用を開始した対話シナリオのスクリプトについて、どの選択肢が選ばれているかの情報は、多量にあるチャットボットのログから得ることになるが、選択肢に対応する情報を纏めて閲覧することは難しい。
【０００５】
一つの側面では、対話シナリオの編集作業を補助することができる対話シナリオの表示制御プログラム、対話シナリオの表示制御方法および情報処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
一つの態様では、対話シナリオの表示制御プログラムは、入力に応じて、記憶部に記憶された複数の分岐を有する対話シナリオのうち、どの分岐を選択して対応するコンテンツを表示するか制御する処理をコンピュータに実行させる。対話シナリオの表示制御プログラムは、選択された分岐を特定する情報を記憶部に記憶する処理をコンピュータに実行させる。対話シナリオの表示制御プログラムは、前記複数の分岐のそれぞれに対応する文字またはマークを生成して、前記対話シナリオの流れを表示する際に、前記記憶部に記憶された情報を参照して、前記対話シナリオのうちどの分岐がどの程度選択されたかを示す情報を文字または図を用いて示した表示画面を生成して表示する処理をコンピュータに実行させる。
【発明の効果】
【０００７】
対話シナリオの編集作業を補助することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例の情報処理装置の構成の一例を示すブロック図である。
【図２】図２は、スクリプトを生成する場合における編集画面の一例を示す図である。
【図３】図３は、スクリプトを編集する編集画面の一例を示す図である。
【図４】図４は、選択された経路に対応するデータを表示する編集画面の一例を示す図である。
【図５】図５は、スクリプトの動作画面の一例を示す図である。
【図６】図６は、実施例のスクリプト編集処理の一例を示すフローチャートである。
【図７】図７は、対話シナリオの表示制御プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて、本願の開示する対話シナリオの表示制御プログラム、対話シナリオの表示制御方法および情報処理装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組み合わせてもよい。
【実施例】
【００１０】
図１は、実施例の情報処理装置の構成の一例を示すブロック図である。図１に示す情報処理装置１００は、例えば、対話シナリオに基づいてコンテンツを提供するチャットボットを実行するとともに、チャットボットの制御を行う対話シナリオのスクリプトの生成および編集作業を行うことができる情報処理装置である。情報処理装置１００は、入力に応じて、記憶部に記憶された複数の分岐を有する対話シナリオのうち、どの分岐を選択して対応するコンテンツを表示するか制御する。情報処理装置１００は、選択された分岐を特定する情報を記憶部に記憶する。情報処理装置１００は、複数の分岐のそれぞれに対応する文字またはマークを生成して、対話シナリオの流れを表示する際に、記憶部に記憶された情報を参照して、対話シナリオのうちどの分岐がどの程度選択されたかを示す情報を文字または図を用いて示した表示画面を生成して表示する。これにより、情報処理装置１００は、対話シナリオの編集作業を補助することができる。
【００１１】
次に、情報処理装置１００の構成について説明する。図１に示すように、情報処理装置１００は、通信部１１０と、表示部１１１と、操作部１１２と、記憶部１２０と、制御部１３０とを有する。なお、情報処理装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
【００１２】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、図示しないネットワークを介して他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。通信部１１０は、例えば、制御部１３０からチャットボットのチャット画面のデータが入力されると、入力されたチャット画面のデータを他の情報処理装置に送信する。また、通信部１１０は、他の情報処理装置からチャット画面における選択肢や文章等の入力情報を受信すると、受信した入力情報を制御部１３０に出力する。
【００１３】
表示部１１１は、各種情報を表示するための表示デバイスである。表示部１１１は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部１１１は、制御部１３０から入力された編集画面等の各種画面を表示する。
【００１４】
操作部１１２は、情報処理装置１００の管理者から各種操作を受け付ける入力デバイスである。操作部１１２は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部１１２は、管理者によって入力された操作を操作情報として制御部１３０に出力する。なお、操作部１１２は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部１１１の表示デバイスと、操作部１１２の入力デバイスとは、一体化されるようにしてもよい。
【００１５】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、スクリプト記憶部１２１と、ログ記憶部１２２とを有する。また、記憶部１２０は、制御部１３０での処理に用いる情報を記憶する。
【００１６】
スクリプト記憶部１２１は、チャットボットごとの対話シナリオを規定するスクリプトを記憶する。なお、以下の説明では、対話シナリオを規定するスクリプトを、単にスクリプトと表現する場合がある。スクリプト記憶部１２１に記憶されるスクリプトは、例えば、プログラミング言語やスクリプト言語等によって記述される。この様な言語としては、例えば、ＰｅｒｌやＰＨＰが挙げられる。スクリプトは、チャットボットの動作を規定し、例えば、入力として選択肢が選択されると、選択された選択肢に応じたメッセージを出力するように規定することができる。
【００１７】
ログ記憶部１２２は、チャットボットの動作に関するログを、チャットボットに対応付けて記憶する。つまり、ログ記憶部１２２は、スクリプトの動作に関するログを、スクリプトに対応付けて記憶する。ログ記憶部１２２に記憶されるログは、例えば、チャットボット（スクリプト）の識別子、入出力に関する時刻、選択肢における選択にかかった時間、選択された選択肢等の情報を含む。
【００１８】
制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。
【００１９】
制御部１３０は、シナリオ制御部１３１と、編集部１３２と、収集部１３３とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００２０】
シナリオ制御部１３１は、スクリプト記憶部１２１に記憶されたスクリプトを実行し、図示しない他の情報処理装置に対話シナリオに基づくチャットサービスを提供する。シナリオ制御部１３１は、通信部１１０を介して、実行するスクリプトのチャット画面のデータを、図示しない他の情報処理装置に送信する。また、シナリオ制御部１３１は、通信部１１０を介して、図示しない他の情報処理装置からチャット画面における選択肢や文章等の入力情報を受信してスクリプトの動作に反映させる。すなわち、シナリオ制御部１３１は、入力に応じて、スクリプト記憶部１２１に記憶された複数の分岐を有する対話シナリオ（スクリプト）のうち、どの分岐を選択して対応するコンテンツを表示するか制御する。
【００２１】
編集部１３２は、チャットボットのスクリプトの生成および編集を行うスクリプト編集処理を実行する。編集部１３２は、情報処理装置１００の管理者、例えば、スクリプトの編集を行うボットデザイナーに対してスクリプトの編集機能を提供する。編集部１３２は、ボットデザイナーから新規スクリプトの生成を指示されると、新規スクリプトの編集画面を表示部１１１に表示する。
【００２２】
ここで、図２を用いてスクリプトの生成について説明する。図２は、スクリプトを生成する場合における編集画面の一例を示す図である。図２に示す編集画面２０は、新規スクリプトの編集中の状態を表す編集画面の一例である。編集画面２０は、マップ領域２１と、コンテンツ領域２２とを有する。マップ領域２１には、入力の受け付け、または、コンテンツの出力を示すノードと、ノード間を結ぶ経路（結線）とを有するマップを用いてスクリプトが表示される。コンテンツ領域２２には、マップ領域２１で選択されたノードの機能が編集可能に表示される。また、マップ領域２１には、領域２３にスクリプト全体のマップが縮小表示される。
【００２３】
編集画面２０では、例えばテキストの入力が完了したノード２４ａに対してマウスオーバーされると、入力されたテキスト２４ｂが表示される。ノード２４ａは、テキスト表示を表すノードである。また、ノード２５ａは、複数の選択肢のうち１つが選択可能である単一選択肢を示すノードである。ノード２５ａに対応する編集欄２５ｂは、選択肢の表示時に表示されるテキスト「テスト機能を選択してください」が入力された状態を示している。また、図示しない各選択肢についても同様に、対応する編集欄で編集することができる。ノード２６は、ノード２５ａの選択肢のうちの１つに対応する選択肢編集を表すノードであり、ノード２５ａと経路２７で結ばれている。同様に、ノード２５ａは、他の７つ選択肢の選択肢編集を表すノードとも、それぞれ経路で結ばれている。
【００２４】
また、編集画面２０では、例えばノード２５ａに対してマウスオーバーされると、ノード２５ａの上流および下流に属する経路について、他の経路と識別可能に表示される。ノード２８からノード２９に向う経路３０は、ノード２８の選択肢が選択された場合に、ノード２９に戻ることを示す。ノード２９は、入力されたテキストを変数として定義することを表すノードである。例えば、ノード２８がノード２９において入力された文章を修正する選択肢である場合に、経路３０によってノード２９に戻ることで文章の修正が可能となる。
【００２５】
図１の説明に戻って、編集部１３２における既存のスクリプトの編集について説明する。編集部１３２は、ボットデザイナーから既存のスクリプトの編集開始を受け付けると、スクリプト記憶部１２１から編集開始を受け付けたスクリプトを取得する。さらに、編集部１３２は、ログ記憶部１２２から編集開始を受け付けたスクリプトのログを取得する。編集部１３２は、取得したスクリプトの編集画面を表示部１１１に表示する。
【００２６】
編集部１３２は、マップで表示されたスクリプトに対して、取得したログに基づいて、各経路を通過した回数、すなわち、コンテンツの出力回数に応じて各経路の太さを変更して表示する。また、編集部１３２は、各経路が選択されると、選択された経路に対応するデータを表示する。表示するデータは、例えば、選択された経路を通過した回数、ならびに、入力を受け付ける画面が表示されてから入力を受け付けるまでの時間の平均値および中央値が挙げられる。
【００２７】
編集部１３２は、マップで表示されたスクリプトについて、ノードを示すアイコンの追加、変更および削除や、ノード間の経路の設定や、各ノードにおける入出力に関する情報等、つまりチャットのコンテンツの編集を受け付ける。ノードの種類としては、例えば、テキスト表示、画像表示、単一選択肢、単一選択肢の各選択肢編集、入力されたテキストを変数として定義する、フリーワード入力、ロボット回答編集等が挙げられる。また、ノードの種類としては、例えば、ＦＡＱ（Frequently  Asked  Questions）エンジン、他のサービスと連携を行うサービス連携、チェックボックス等の複数選択肢、エラーメッセージ等が挙げられる。
【００２８】
言い換えると、編集部１３２は、複数の分岐のそれぞれに対応する文字またはマークを生成して、対話シナリオの流れを表示する。編集部１３２は、対話シナリオの流れを表示する際に、ログ記憶部１２２に記憶された情報を参照して、対話シナリオのうちどの分岐がどの程度選択されたかを示す情報を文字または図を用いて示した表示画面を生成して表示する。なお、表示画面は、上述のスクリプトの編集画面である。また、複数の分岐のそれぞれに対応する文字またはマークは、上述のノードに相当する。また、どの分岐がどの程度選択されたかを示す情報は、上述の経路の太さや、選択された経路に対応するデータに相当する。また、分岐は、上述の単一選択肢による分岐、および、フリーワード入力によるロボット回答への分岐を含む。
【００２９】
編集部１３２は、ボットデザイナーから編集終了の操作を受け付けたか否かを判定する。編集部１３２は、編集終了の操作を受け付けていない場合には、スクリプトの編集を継続する。編集部１３２は、編集終了の操作を受け付けた場合には、編集されたスクリプトをスクリプト記憶部１２１に記憶してスクリプト編集処理を終了する。
【００３０】
ここで、図３および図４を用いて経路の太さを変更して表示する場合について説明する。図３は、スクリプトを編集する編集画面の一例を示す図である。図３に示す編集画面５０は、一度運用を開始した既存のスクリプトの編集中の状態を表す編集画面の一例である。編集画面５０は、マップ領域５１と、コンテンツ領域５２とを有する。マップ領域５１には、ノードと経路とを有するマップを用いてスクリプトが表示される。コンテンツ領域５２には、マップ領域５１で選択されたノードの機能が編集可能に表示される。また、マップ領域５１には、領域５３にスクリプト全体のマップが縮小表示される。
【００３１】
編集画面５０では、ノード５４ａは、テキスト表示を示すノードであり、編集欄５４ｂにおいて表示するテキストが編集可能となっている。また、ノード５５ａは、フリーワード入力を示すノードであり、編集欄５５ｂにおいてフリーワード入力を促す表示が編集可能となっている。経路５６は、ノード５４ａとノード５５ａとを接続し、経路５６を通過した回数に応じた太さで表現されている。
【００３２】
ノード５５ａでは、フリーワード入力に基づくロボットの回答パターンが５種類設けられ、それぞれノード５７ａ〜５７ｅが各回答パターンに対応するロボット回答編集のノードである。すなわち、ノード５５ａおよびノード５７ａ〜５７ｅは、人工知能による判定結果に応じて選択される分岐であり、図２の編集画面２０のノード２５ａおよびノード２６の様な単一選択肢による分岐とは異なる表示態様のノードとなる。
【００３３】
経路５８ａは、ノード５５ａとノード５７ａとを接続し、経路５８ａを通過した回数に応じた太さで表現されている。同様に、経路５８ｅは、ノード５５ａとノード５７ｅとを接続し、経路５８ｅを通過した回数に応じた太さで表現されている。編集画面５０では、経路５８ａと経路５８ｅとを比較すると、経路５８ｅの方が太く表現されている。これは、ノード５５ａのフリーワード入力に対する回答パターンとして、ノード５７ｅの回答パターンが最も回数が多かったことを示す。なお、編集画面５０では、ノード５５ａからノード５７ｂ、５７ｃ、５７ｄへの経路は、経路５８ａよりも細く、経路５８ｅに隠れている状態である。
【００３４】
次に、編集画面５０では、経路５８ｅおよびノード５７ｅを含むルートを辿ると、ノード５９、６０を経由し、途中で分岐せずにノード６１に到達する。また、編集画面５０では、経路５８ａおよびノード５７ａを含むルートを辿ると、ノード６２で分岐が発生する。ノード６２は、２つの選択肢を持つ単一選択肢であり、一方の選択肢に対応するノード６３ａと、他方の選択肢に対応するノード６３ｆとに分岐する。その後、分岐した各ルートは、ノード６１に到達する。すなわち、ノード６１には、ノード６３ａを経由する経路６４ａと、ノード５７ｂを経由する経路６４ｂと、ノード５７ｃを経由する経路６４ｃとが接続される。また、ノード６１には、ノード５７ｄを経由する経路６４ｄと、ノード６０を経由する経路６４ｅと、ノード６３ｆを経由する経路６４ｆとが接続される。この場合、経路６４ａ〜６４ｆのそれぞれの太さは、最も太いものから順に経路６４ｅ、６４ａ、６４ｆ、６４ｂ、６４ｃ、６４ｄとなっている。すなわち、編集画面５０で編集中のスクリプトでは、ノード５７ｅを経由するルートが最も通過する回数が多いルートであることが、一目で判別することができる。なお、この様な各経路を通過した回数に応じた、つまり選択された回数に応じた経路の太さによる表示は、経路がマウスオーバーされた場合に当該経路を通るルートに属する経路について表示するようにしてもよい。
【００３５】
図４は、選択された経路に対応するデータを表示する編集画面の一例を示す図である。図４は、編集画面５０において、例えばマウス操作により経路５８ｅがクリックされて選択された状態を示す。経路５８ｅが選択された状態では、経路５８ｅの近傍に、経路５８ｅに対応するデータを表示するラベル６５が表示される。ラベル６５には、例えば、経路５８ｅを通過した回数「３６ｕｓｅｒｓ」、ならびに、入力を受け付ける画面が表示されてから入力を受け付けるまでの時間の平均値「ａｖ＝２４」および中央値「ｍｅ＝１６」が表示される。すなわち、ラベル６５からは、ノード５５ａにおいて、ノード５７ｅの回答パターンへと分岐した回数が３６回であることがわかる。同様に、ラベル６５からは、ノード５５ａのフリーワード入力の受け付け画面が表示されてから、フリーワードの入力を受け付けるまでの時間の平均値が２４秒、中央値が１６秒であることがわかる。
【００３６】
図３および図４の例を参照すると、編集部１３２の機能は以下の様に言い換えることができる。編集部１３２では、生成する表示画面には、分岐の選択にかかった時間を表示する。また、編集部１３２では、生成する表示画面には、分岐が選択された回数を表示する。また、編集部１３２が表示する表示画面では、どの分岐がどの程度選択されたかを示す情報を示す図は、複数の分岐のそれぞれに対応する文字またはマークをつなぐ結線である。また、編集部１３２が表示する表示画面では、結線の幅は、分岐の選択回数が多いほど太く表示される。また、編集部１３２は、複数の分岐が、人工知能による判定結果に応じて選択される分岐である場合に、入力に応じて一義的に選択される分岐と異なる表示態様で表示する。
【００３７】
図１の説明に戻って、収集部１３３は、シナリオ制御部１３１で実行されるスクリプト、すなわちチャットボットの動作に関するログを収集する。収集部１３３は、収集したログをチャットボットと対応付けてログ記憶部１２２に記憶する。言い換えると、収集部１３３は、シナリオ制御部１３１で実行されるスクリプトの対話シナリオにおける、選択された分岐を特定する情報をログ記憶部１２２に記憶する。
【００３８】
ここで、図５を用いてログの基になるスクリプトの動作画面、つまりチャット画面について説明する。図５は、スクリプトの動作画面の一例を示す図である。図５に示すチャット画面７０は、住宅ローンに関する問合せに対応するチャットボットのチャット画面の一例である。チャット画面７０は、例えば、住宅ローンを提供する銀行の顧客であるユーザが用いる図示しない他の情報処理装置に表示される。ユーザが用いる他の情報処理装置は、図示しないネットワークで情報処理装置１００と接続される。
【００３９】
チャット画面７０は、チャットボットの一覧が表示されるチャットボット一覧領域７０ａと、チャットのコンテンツが表示されるチャット領域７０ｂとを有する。チャット画面７０では、まず、ユーザによってチャットボット７１ａが選択される。すると、チャット画面７０では、チャット領域７０ｂに、チャットボット７１ａを示すアイコン７１ｂと、アイコン７１ｂに対応するコンテンツ７２とが表示される。コンテンツ７２は、例えば、「住宅ローンのお問い合わせありがとうございます。」といった文章である。
【００４０】
続いて、チャットボット７１ａは、アイコン７１ｂと、アイコン７１ｂに対応するコンテンツ７３とを表示する。コンテンツ７３は、例えば単一選択肢であり、住宅ローンに関する選択肢（Ａ）〜（Ｅ）を有する。選択肢（Ａ）〜（Ｅ）には、ユーザによる選択を受け付けるラジオボタンが設けられる。チャット画面７０の例では、ラジオボタン７４が選択された状態である。また、コンテンツ７３は、ユーザによるラジオボタンの選択後に、情報処理装置１００で動作するチャットボット７１ａに対して入力情報を送信するボタン７５を有する。コンテンツ７３では、例えば、ラジオボタン７４が選択されてボタン７５が押下されることで、選択肢（Ａ）が選択された入力情報が情報処理装置１００に対して送信される。また、コンテンツ７３の近傍には、コンテンツ７３が表示された時刻情報７６が表示される。
【００４１】
次に、実施例の情報処理装置１００の動作について説明する。図６は、実施例のスクリプト編集処理の一例を示すフローチャートである。
【００４２】
編集部１３２は、ボットデザイナーから既存のスクリプトの編集開始を受け付けると（ステップＳ１）、スクリプト記憶部１２１から編集開始を受け付けたスクリプトを取得する。さらに、編集部１３２は、ログ記憶部１２２から編集開始を受け付けたスクリプトのログを取得する（ステップＳ２）。編集部１３２は、取得したスクリプトの編集画面を表示部１１１に表示する。
【００４３】
編集部１３２は、取得したログに基づいて、コンテンツの出力回数に応じて各経路の太さを変更して表示する（ステップＳ３）。編集部１３２は、表示中の編集画面のスクリプトの編集を受け付ける。
【００４４】
編集部１３２は、経路が選択されたか否かを判定する（ステップＳ４）。編集部１３２は、経路が選択されたと判定した場合には（ステップＳ４：肯定）、選択された経路に対応するデータを表示し（ステップＳ５）、ステップＳ６に進む。編集部１３２は、経路が選択されていないと判定した場合には（ステップＳ４：否定）、ステップＳ６に進む。
【００４５】
編集部１３２は、ボットデザイナーから編集終了の操作を受け付けたか否かを判定する（ステップＳ６）。編集部１３２は、編集終了の操作を受け付けていない場合には（ステップＳ６：否定）、ステップＳ４に戻り、スクリプトの編集を継続する。編集部１３２は、編集終了の操作を受け付けた場合には（ステップＳ６：肯定）、編集されたスクリプトをスクリプト記憶部１２１に記憶して（ステップＳ７）、スクリプト編集処理を終了する。これにより、情報処理装置１００は、対話シナリオのスクリプトの編集作業を補助することができる。
【００４６】
このように、情報処理装置１００は、入力に応じて、スクリプト記憶部１２１に記憶された複数の分岐を有する対話シナリオのうち、どの分岐を選択して対応するコンテンツを表示するか制御する。また、情報処理装置１００は、選択された分岐を特定する情報をログ記憶部１２２に記憶する。また、情報処理装置１００は、複数の分岐のそれぞれに対応する文字またはマークを生成して、対話シナリオの流れを表示する。情報処理装置１００は、対話シナリオの流れを表示する際に、ログ記憶部１２２に記憶された情報を参照して、対話シナリオのうちどの分岐がどの程度選択されたかを示す情報を文字または図を用いて示した表示画面を生成して表示する。その結果、情報処理装置１００は、対話シナリオの編集作業を補助することができる。
【００４７】
また、情報処理装置１００では、生成する表示画面には、分岐の選択にかかった時間を表示する。その結果、情報処理装置１００は、分岐の選択肢の編集作業を補助することができる。
【００４８】
また、情報処理装置１００では、生成する表示画面には、分岐が選択された回数を表示する。その結果、情報処理装置１００は、分岐の選択肢の編集作業を補助することができる。
【００４９】
また、情報処理装置１００では、どの分岐がどの程度選択されたかを示す情報を示す図は、複数の分岐のそれぞれに対応する文字またはマークをつなぐ結線である。その結果、情報処理装置１００は、それぞれの分岐がどの程度選択されたかを判りやすく表示できる。
【００５０】
また、情報処理装置１００では、結線の幅は、分岐の選択回数が多いほど太く表示される。その結果、情報処理装置１００は、それぞれの分岐がどの程度選択されたかを判りやすく表示できる。
【００５１】
また、情報処理装置１００は、複数の分岐が、人工知能による判定結果に応じて選択される分岐である場合に、入力に応じて一義的に選択される分岐と異なる表示態様で表示する。その結果、情報処理装置１００は、人工知能によって判定される分岐を判りやすく表示できる。
【００５２】
なお、上記実施例では、住宅ローンのチャットボットを一例として挙げたが、これに限定されない。例えば、各種装置のマニュアルやＦＡＱ（Frequently  Asked  Questions）に関する対話シナリオのスクリプトが動作するチャットボットに対しても同様に、スクリプトの編集の際に選択肢の選択履歴を表示することができる。
【００５３】
また、上記実施例では、対話シナリオのスクリプトを情報処理装置１００で動作させたが、これに限定されない。例えば、スクリプトを動作させるサーバを情報処理装置１００とは別に設け、スクリプトの編集は当該サーバにリモートアクセスして情報処理装置１００で行うようにしてもよい。
【００５４】
また、上記実施例では、各経路の通過回数に応じて経路の太さを変更して表示したが、これに限定されない。例えば、経路の通過回数が多い選択肢のルートを編集画面のマップにおける左側または上側に移動するように提案するようにしてもよい。さらに、情報処理装置１００は、経路の通過回数が多い選択肢のルートを編集画面のマップにおける左側または上側に自動的に寄せて表示するようにしてもよい。
【００５５】
また、上記実施例では、経路が選択された際に、経路に対応するデータを表示したが、これに限定されない。例えば、経路がマウスオーバーされると、経路に対応するデータを表示するようにしてもよい。
【００５６】
また、上記実施例では、各経路の通過回数に応じて経路の太さを変更して表示したが、これに限定されない。例えば、通過回数が少ない経路に属するノードを削除するように提案するようにしてもよい。
【００５７】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、シナリオ制御部１３１と、収集部１３３とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【００５８】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【００５９】
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図７は、対話シナリオの表示制御プログラムを実行するコンピュータの一例を示す図である。
【００６０】
図７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る媒体読取装置２０４と、各種装置と接続するためのインタフェース装置２０５と、他の情報処理装置等と有線または無線により接続するための通信装置２０６とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。また、各装置２０１〜２０８は、バス２０９に接続される。
【００６１】
ハードディスク装置２０８には、図１に示したシナリオ制御部１３１、編集部１３２および収集部１３３の各処理部と同様の機能を有する対話シナリオの表示制御プログラムが記憶される。また、ハードディスク装置２０８には、スクリプト記憶部１２１、ログ記憶部１２２、および、対話シナリオの表示制御プログラムを実現するための各種データが記憶される。入力装置２０２は、例えば、コンピュータ２００の管理者から操作情報等の各種情報の入力を受け付ける。モニタ２０３は、例えば、コンピュータ２００の管理者に対して編集画面等の各種画面を表示する。インタフェース装置２０５は、例えば印刷装置等が接続される。通信装置２０６は、例えば、図１に示した通信部１１０と同様の機能を有し図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
【００６２】
ＣＰＵ２０１は、ハードディスク装置２０８に記憶された各プログラムを読み出して、ＲＡＭ２０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ２００を図１に示したシナリオ制御部１３１、編集部１３２および収集部１３３として機能させることができる。
【００６３】
なお、上記の対話シナリオの表示制御プログラムは、必ずしもハードディスク装置２０８に記憶されている必要はない。例えば、コンピュータ２００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ２００が読み出して実行するようにしてもよい。コンピュータ２００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの対話シナリオの表示制御プログラムを記憶させておき、コンピュータ２００がこれらから対話シナリオの表示制御プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００６４】
１００  情報処理装置
１１０  通信部
１１１  表示部
１１２  操作部
１２０  記憶部
１２１  スクリプト記憶部
１２２  ログ記憶部
１３０  制御部
１３１  シナリオ制御部
１３２  編集部
１３３  収集部
【図１】
2018195298.tif 000003
【図２】
2018195298.tif 000004
【図３】
2018195298.tif 000005
【図４】
2018195298.tif 000006
【図５】
2018195298.tif 000007
【図６】
2018195298.tif 000008
【図７】
2018195298.tif 000009