(57)【要約】  ネットワークグラフ（６００）において、ノード（Ｎ１〜Ｎ９）は、トーク処理に対応するノードである。ノード（Ｎ１０）は、トーク処理とは異なる分析する観点に対応する特定ノードである。ここでは、ノード（Ｎ１０）は、トーク処理の終了に対応するノードである。ネットワークグラフ（６００）において、各エッジ（ｅ１〜ｅ１１）は、各エッジ（ｅ１〜ｅ１１）で接続されたノード間の遷移回数に応じた太さで表示されている。ネットワークグラフ（６００）によれば、分析者は、チャット上でどのような会話がどのような頻度で行われたかを、各エッジの太さから判断することができる。また、分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノード（Ｎ１０）を設定することで、ユーザの離脱という観点で分析することができる。
2020240757.tif 000002
【特許請求の範囲】
【請求項１】
チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
処理をコンピュータに実行させることを特徴とする分析支援プログラム。
【請求項２】
前記分析する観点に対応するノードは、前記トーク処理の終了に対応するノードである、ことを特徴とする請求項１に記載の分析支援プログラム。
【請求項３】
前記表示する処理は、
前記トーク処理に関するチャットログから特定される、前記エッジで接続されたノード間の遷移回数に応じて、前記エッジの太さまたは色を変更して表示する、ことを特徴とする請求項２に記載の分析支援プログラム。
【請求項４】
前記表示する処理は、
前記ネットワークグラフを表示する際に、前記分析する観点に対応するノードを、他のノードと異なる大きさで表示する、ことを特徴とする請求項３に記載の分析支援プログラム。
【請求項５】
前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を決定する、処理を前記コンピュータに実行させ、
前記表示する処理は、
前記複数のノードを含み、前記エッジによりノード間を接続したネットワークグラフを表示する際に、決定した前記表示態様で前記エッジを表示する、ことを特徴とする請求項４に記載の分析支援プログラム。
【請求項６】
前記トーク処理は、発話する処理と、選択肢を表示する処理と、前記トーク処理を終了する処理と、を含む、ことを特徴とする請求項１〜５のいずれか一つに記載の分析支援プログラム。
【請求項７】
チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
処理をコンピュータが実行することを特徴とする分析支援方法。
【請求項８】
チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析支援プログラム、分析支援方法および情報処理装置に関する。
【背景技術】
【０００２】
従来、ウェブサイトの動線分析を行う手法として、サンキー・ダイアグラム（Ｓａｎｋｅｙ  ｄｉａｇｒａｍ）という図表が利用されている。サンキー・ダイアグラムは、ウェブサイトのようにツリー構造になっているものの分析に有効である。【０００３】
先行技術としては、例えば、チャットログの発話文から各発話文間の関連度を分析する際に利用可能な所定の手がかりを取得し、取得した手がかりとヒューリスティックスを利用して、所定の発話文に対する複数の他の発話文それぞれに対して関連度の強弱を表すポイントを付与するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２９５８３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、ループ構造を含むチャットの動線分析を行うことが難しい。【０００６】
一つの側面では、本発明は、チャットの動線分析を支援することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、分析支援プログラムが提供される。
【発明の効果】
【０００８】
本発明の一側面によれば、チャットの動線分析を支援することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、分析支援システム１００のシステム構成例を示す説明図である。
【図２】図２は、情報処理装置１０１のハードウェア構成例を示すブロック図である。
【図３】図３は、スクリプト情報の具体例を示す説明図である。
【図４】図４は、チャットログＤＢ１２０の記憶内容の一例を示す説明図である。
【図５】図５は、情報処理装置１０１の機能的構成例を示すブロック図である。
【図６】図６は、ネットワークグラフの表示例を示す説明図である。
【図７】図７は、ネットワークグラフ内のループ構造の一例を示す説明図である。
【図８】図８は、情報処理装置１０１の分析支援処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる分析支援プログラム、分析支援方法および情報処理装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態）
まず、分析支援システム１００のシステム構成例について説明する。分析支援システム１００は、実施の形態にかかる情報処理装置１０１を含むコンピュータシステムであり、例えば、チャットボットを利用したＦＡＱ（Ｆｒｅｑｕｅｎｔｌｙ  Ａｓｋｅｄ  Ｑｕｅｓｔｉｏｎｓ）システムの動線分析に利用される。
【００１２】
図１は、分析支援システム１００のシステム構成例を示す説明図である。図１において、分析支援システム１００は、情報処理装置１０１と、クライアント装置１０２と、を含む。分析支援システム１００において、情報処理装置１０１およびクライアント装置１０２は、有線または無線のネットワーク１１０を介して接続される。ネットワーク１１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００１３】
ここで、情報処理装置１０１は、チャットログＤＢ（ＤａｔａＢａｓｅ）１２０を有し、チャットの動線分析を支援するコンピュータである。チャットは、チャットボットと人間との間や、人間同士で会話を行うためのシステムである。例えば、チャットボットが決められたメッセージを表示（発話）したり、選択肢を表示したりして、人間との会話が行われる。
【００１４】
チャットの動線解析は、チャット上でどのような会話がどのような頻度で行われたかなどを分析するものである。情報処理装置１０１は、例えば、サーバである。チャットログＤＢ１２０の記憶内容については、図４を用いて後述する。また、以下の説明では、チャットボットと人間との間で会話を行う場合を想定する。
【００１５】
クライアント装置１０２は、分析支援システム１００のユーザが使用するコンピュータである。分析支援システム１００のユーザは、例えば、チャットの動線分析を行う分析者である。クライアント装置１０２は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレット型ＰＣ、スマートフォンなどである。
【００１６】
ここで、ウェブサイトの動線分析を行う手法として、サンキー・ダイアグラムという図表が知られている。しかし、サンキー・ダイアグラムは、ウェブサイトのようにツリー構造になっているものには有効な分析方法であるが、チャットの動線分析に利用することは難しい。
【００１７】
例えば、チャットのスクリプトは、ツリー構造になっておらず、また、あるところまで話した後に、前に発言したところに戻るようなループが発生することが多い。このような、ツリー構造ではなく、ループ構造を含むチャットの動線分析には、サンキー・ダイアグラムは不向きである。
【００１８】
そこで、本実施の形態では、チャットの動線分析にネットワークグラフを用いることで、ツリー構造になっていない複雑な構造やループ構造を含むチャット上でのユーザの動きを可視化して、チャットの動線解析を支援する分析支援方法について説明する。
【００１９】
（情報処理装置１０１のハードウェア構成例）
つぎに、情報処理装置１０１のハードウェア構成例について説明する。
【００２０】
図２は、情報処理装置１０１のハードウェア構成例を示すブロック図である。図２において、情報処理装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メモリ２０２と、ディスクドライブ２０３と、ディスク２０４と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０５と、可搬型記録媒体Ｉ／Ｆ２０６と、可搬型記録媒体２０７と、を有する。また、各構成部は、バス２００によってそれぞれ接続される。
【００２１】
ここで、ＣＰＵ２０１は、情報処理装置１０１の全体の制御を司る。ＣＰＵ２０１は、複数のコアを有していてもよい。メモリ２０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ２０１のワークエリアとして使用される。メモリ２０２に記憶されるプログラムは、ＣＰＵ２０１にロードされることで、コーディングされている処理をＣＰＵ２０１に実行させる。
【００２２】
ディスクドライブ２０３は、ＣＰＵ２０１の制御に従ってディスク２０４に対するデータのリード／ライトを制御する。ディスク２０４は、ディスクドライブ２０３の制御で書き込まれたデータを記憶する。ディスク２０４としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００２３】
通信Ｉ／Ｆ２０５は、通信回線を通じてネットワーク１１０に接続され、ネットワーク１１０を介して外部のコンピュータ（例えば、図１に示したクライアント装置１０２）に接続される。そして、通信Ｉ／Ｆ２０５は、ネットワーク１１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信Ｉ／Ｆ２０５には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００２４】
可搬型記録媒体Ｉ／Ｆ２０６は、ＣＰＵ２０１の制御に従って可搬型記録媒体２０７に対するデータのリード／ライトを制御する。可搬型記録媒体２０７は、可搬型記録媒体Ｉ／Ｆ２０６の制御で書き込まれたデータを記憶する。可搬型記録媒体２０７としては、例えば、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリなどが挙げられる。
【００２５】
なお、情報処理装置１０１は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、情報処理装置１０１は、上述した構成部のうち、例えば、ディスクドライブ２０３、ディスク２０４、可搬型記録媒体Ｉ／Ｆ２０６、可搬型記録媒体２０７を有していなくてもよい。また、図１に示したクライアント装置１０２についても、情報処理装置１０１と同様のハードウェア構成により実現することができる。ただし、クライアント装置１０２は、上述した構成部のほかに、入力装置、ディスプレイ等を有する。
【００２６】
（スクリプト情報の具体例）
つぎに、情報処理装置１０１が用いるスクリプト情報の具体例について説明する。
【００２７】
図３は、スクリプト情報の具体例を示す説明図である。図３において、スクリプト情報３００は、チャットのトーク処理を定義した情報であり、チャットボットの会話の流れを定義したものに相当する。ただし、図３では、スクリプト情報３００の一部を抜粋して表示している。
【００２８】
トーク処理は、チャットボットの動作（挙動）を実現するための処理である。例えば、トーク処理は、発話する処理、選択肢を表示する処理、ユーザ操作に応じて選択肢を選択する処理、選択された選択肢に応じた手続を行う処理、トーク処理を終了する処理などを含む。
【００２９】
具体的には、例えば、スクリプト情報３００は、ステップ情報３１０，３２０，３３０を含む。各ステップ情報３１０，３２０，３３０において、ｌａｂｅｌは、トーク処理のステップの名前を示す。ｓｅｑ＿ｉｄは、ステップのＩＤを示す。ｓｔｅｐは、ステップの種類を示す。
【００３０】
ステップの種類としては、例えば、ｔｅｘｔ、ｓｅｌｅｃｔ、ｏｐｔｉｏｎ、ｅｎｄなどがある。ステップの種類「ｔｅｘｔ」は、発話する処理を表す。ステップの種類「ｓｅｌｅｃｔ」は、選択肢を表示する処理を表す。ステップの種類「ｏｐｔｉｏｎ」は、選択肢を選択する処理を表す。ステップの種類「ｅｎｄ」は、トーク処理を終了する処理を表す。
【００３１】
ｔｅｘｔは、チャットボットが発話する文章、または、ユーザ操作に応じて選択された選択肢を示す。ｎｅｘｔＳｅｑｓは、次のステップのＩＤを示す。ｎｅｘｔＳｅｑｓに、複数のＩＤが設定されている場合は、ユーザ操作に応じて選択された選択肢に応じて次のステップが決まる。
【００３２】
（チャットログＤＢ１２０の記憶内容）
つぎに、情報処理装置１０１が有するチャットログＤＢ１２０の記憶内容について説明する。チャットログＤＢ１２０は、例えば、図２に示したメモリ２０２、ディスク２０４などの記憶装置により実現される。
【００３３】
図４は、チャットログＤＢ１２０の記憶内容の一例を示す説明図である。図４において、チャットログＤＢ１２０は、ルームＩＤ、タイムスタンプ、ｓｅｑ＿ｉｄ、前のｓｅｑ＿ｉｄ、ｌａｂｅｌおよびメッセージのフィールドを有する。各フィールドに情報を設定することで、チャットログ（例えば、チャットログ４００−１〜４００−７）がレコードとして記憶される。
【００３４】
ここで、ルームＩＤは、チャットを行うルームのＩＤを示す。ルームＩＤによれば、チャットボットとの一連の会話を特定することができる。タイムスタンプは、ステップが実行された日時を示す。ｓｅｑ＿ｉｄは、実行されたステップのＩＤを示す。前のｓｅｑ＿ｉｄは、直前に実行されたステップのＩＤを示す。ｌａｂｅｌは、実行されたステップの名前を示す。メッセージは、実行されたステップで発話された文章、または、選択された選択肢を示す。
【００３５】
例えば、チャットログ４００−１によれば、ルームＩＤ「Ｒ１」のルームについて、２０１９年１月８日０時１０分に、ｓｅｑ＿ｉｄ「０００１」およびｌａｂｅｌ「ＴＸＴ−１」のステップが実行されてメッセージ「こんにちは。」が表示されたことを特定することができる。
【００３６】
また、チャットログ４００−２によれば、ルームＩＤ「Ｒ１」のルームについて、２０１９年１月８日０時１０分に、ｓｅｑ＿ｉｄ「０００２」およびｌａｂｅｌ「ＳＬＣ−１」のステップが実行されてメッセージ「以下の選択肢から１つ選んでください。」が表示されたことを特定することができる。さらに、ｓｅｑ＿ｉｄ「０００１」のステップが直前に実行されたことを特定することができる。
【００３７】
（情報処理装置１０１の機能的構成例）
図５は、情報処理装置１０１の機能的構成例を示すブロック図である。図５において、情報処理装置１０１は、取得部５０１と、生成部５０２と、表示制御部５０３と、を含む。取得部５０１〜表示制御部５０３は制御部となる機能であり、具体的には、例えば、図２に示したメモリ２０２、ディスク２０４、可搬型記録媒体２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、通信Ｉ／Ｆ２０５により、その機能を実現する。各機能部の処理結果は、例えば、メモリ２０２、ディスク２０４などの記憶装置に記憶される。
【００３８】
取得部５０１は、チャットに関するスクリプト情報を取得する。ここで、スクリプト情報は、チャットのトーク処理を定義した情報（シナリオ）である。トーク処理は、チャットボットの動作（挙動）を実現するための処理であり、例えば、発話する処理、選択肢を表示する処理、選択肢を選択する処理、トーク処理を終了する処理などを含む。
【００３９】
具体的には、例えば、取得部５０１は、図１に示したクライアント装置１０２から、図３に示したようなスクリプト情報３００を受信することにより、受信したスクリプト情報３００を取得する。また、取得部５０１は、不図示の入力装置を用いたユーザの操作入力により、スクリプト情報３００を取得することにしてもよい。
【００４０】
また、取得部５０１は、チャットのトーク処理に関するチャットログを取得する。ここで、チャットログは、チャット上で実際に行われた会話についてのログであり、どのような会話がいつ行われたのかを特定可能な情報である。例えば、チャットログは、図４に示したように、ルームＩＤ、タイムスタンプ、ｓｅｑ＿ｉｄ、前のｓｅｑ＿ｉｄ、ｌａｂｅｌおよびメッセージを含む。
【００４１】
具体的には、例えば、取得部５０１は、クライアント装置１０２からチャットログを受信することにより、受信したチャットログを取得する。また、取得部５０１は、不図示の入力装置を用いたユーザの操作入力により、チャットログを取得することにしてもよい。また、取得部５０１は、チャットボットを利用したＦＡＱシステムから、チャットログを取得することにしてもよい。取得されたチャットログは、例えば、図４に示したチャットログＤＢ１２０に記憶される。
【００４２】
生成部５０２は、ネットワークグラフを生成する。ここで、ネットワークグラフとは、ノードの集合と、ノード間をつなぐ有向なエッジの集合とからなるグラフである。具体的には、生成部５０２は、第１の設定部５０４と、第２の設定部５０５と、決定部５０６と、を含む。
【００４３】
第１の設定部５０４は、取得されたスクリプト情報を参照して、トーク処理に対応するノードと、トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定する。ここで、トーク処理に対応するノードは、チャットボットが行う動作（挙動）を実現する処理に対応するノードである。例えば、トーク処理に対応するノードは、発話する処理に対応するノード、選択肢を表示する処理に対応するノード、選択肢を選択する処理に対応するノード、トーク処理を終了する処理に対応するノードなどである。
【００４４】
分析する観点に対応するノードは、どのような観点で動線分析を行うかに応じて設定されるノードである。例えば、分析する観点に対応するノードは、チャットのトーク処理の終了に対応するノードであり、スクリプト情報に定義されたいずれの処理にも対応しない新たなノードとして設定される。なお、トーク処理の終了には、会話が正常に終了した場合だけでなく、会話の途中で強制終了した場合も含まれる。
【００４５】
以下の説明では、分析する観点に対応するノードを「特定ノード」と表記する場合がある。なお、どのようなノードを、分析する観点に対応する特定ノードとするかは、予め決められていてもよく、また、クライアント装置１０２から指定されることにしてもよい。
【００４６】
具体的には、例えば、第１の設定部５０４は、スクリプト情報３００を参照して、発話する処理に対応するノード、選択肢を表示する処理に対応するノード、選択肢を選択する処理に対応するノード、および、トーク処理を終了する処理に対応するノードを設定する。また、第１の設定部５０４は、チャットのトーク処理の終了に対応する特定ノードを設定する。
【００４７】
第２の設定部５０５は、取得されたスクリプト情報と、取得されたトーク処理に関するチャットログとに基づいて、設定した複数のノードに含まれるノード間をつなぐ有向なエッジを設定する。具体的には、例えば、第２の設定部５０５は、スクリプト情報３００を参照して、あるステップ（処理）から他のステップへの遷移を特定することにより、ノード間をつなぐ有向なエッジを設定する。
【００４８】
また、第２の設定部５０５は、例えば、チャットログＤＢ１２０を参照して、特定ノードと他のノードとの有向なエッジを設定する。例えば、特定ノードを、チャットのトーク処理の終了に対応するノードとする。この場合、第２の設定部５０５は、チャットログＤＢ１２０を参照して、チャットのトーク処理を終了した処理に対応するノードから、特定ノードへの有向なエッジを設定する。
【００４９】
チャットのトーク処理を終了した処理は、例えば、ｓｅｑ＿ｉｄに、ステップの種類が「ｅｎｄ」のステップのＩＤが設定されたチャットログから特定される（会話が正常終了したパターン）。また、チャットのトーク処理を終了した処理は、例えば、同一のルームＩＤが設定されたチャットログのうち、最後のチャットログ（タイムスタンプが最新のチャットログ）から特定される（会話が強制終了したパターン）。
【００５０】
なお、上述した説明では、特定ノードとして、チャットのトーク処理の終了に対応するノードを例に挙げて説明したが、これに限らない。例えば、トーク処理に対応するノードのうちのいずれかのノードを、特定のノードとしてもよい。すなわち、第１の設定部５０４は、トーク処理のいずれかの処理に対応するノードを、分析する観点に対応する特定ノードに設定してもよい。この場合、第２の設定部５０５は、例えば、チャットログＤＢ１２０を参照して、特定のノードに対応する処理への他のノードに対応する処理からの遷移を検出することにより、そのノード間をつなぐ有向なエッジを設定する。ただし、スクリプト情報３００をもとに設定されるエッジと重複するエッジについては、重複してエッジが設定されないように、設定対象から除外する。これにより、例えば、チャットボットが行う特定の動作がどのような頻度で行われたかといったことを分析し易くなる。
【００５１】
決定部５０６は、取得されたトーク処理に関するチャットログに基づいて、設定されたエッジの表示態様を決定する。具体的には、例えば、決定部５０６は、トーク処理に関するチャットログから特定される、エッジで接続されたノード間の遷移回数に応じて、当該エッジの太さまたは色を決定することにしてもよい。
【００５２】
より詳細に説明すると、例えば、決定部５０６は、チャットログＤＢ１２０を参照して、設定されたエッジごとに、当該エッジで接続されたノード間の遷移回数を計数する。例えば、チャットログ４００−２を例に挙げると、決定部５０６は、ｓｅｑ＿ｉｄ「０００１」のステップに対応するノードから、ｓｅｑ＿ｉｄ「０００２」のステップに対応するノードへの遷移を検出し、そのノード間の遷移回数をインクリメントする。
【００５３】
また、特定ノードを、チャットのトーク処理の終了に対応するノードとする。この場合、決定部５０６は、チャットログＤＢ１２０を参照して、同一のルームＩＤが設定されたチャットログのうち、最後のチャットログを特定する。そして、決定部５０６は、特定したチャットログのｓｅｑ＿ｉｄ「０００１」のステップに対応するノードから、特定ノードへの遷移を検出し、そのノード間の遷移回数をインクリメントする。
【００５４】
そして、決定部５０６は、エッジごとに計数した遷移回数に応じて、当該エッジの太さまたは色を決定する。例えば、決定部５０６は、計数した遷移回数が多くなるほど太くなるように、エッジの太さを決定してもよい。また、決定部５０６は、計数した遷移回数が多くなるほど濃くなるように、エッジの色の濃淡を決定してもよい。
【００５５】
なお、決定部５０６は、ノード間の遷移回数を計数するにあたり、期間を設定することにしてもよい。期間は、例えば、クライアント装置１０２から指定することができる。期間が設定された場合、決定部５０６は、タイムスタンプが期間内のチャットログを参照して、ノード間の遷移回数を計数する。
【００５６】
そして、生成部５０２は、例えば、第１の設定部５０４によって設定された複数のノードと、第２の設定部５０５によって設定されたエッジとを含み、エッジの表示態様を、決定部５０６によって決定された表示態様とするネットワークグラフを生成する。
【００５７】
表示制御部５０３は、生成部５０２によって生成されたネットワークグラフを表示する制御を行う。具体的には、例えば、表示制御部５０３は、複数のノードと、ノード間を接続するエッジとを含むネットワークグラフを表示する際に、エッジごとに決定された表示態様で当該エッジを表示する。
【００５８】
これにより、ネットワークグラフを表示する際に、チャットログに基づき決定された表示態様により、ノード間を接続するエッジの表示態様を変更して表示することができる。ネットワークグラフは、例えば、情報処理装置１０１の不図示のディスプレイ、または、クライアント装置１０２に表示される。
【００５９】
ネットワークグラフの表示例については、図６を用いて後述する。
【００６０】
また、表示制御部５０３は、ネットワークグラフを表示する際に、特定ノードを、他のノードと異なる大きさで表示することにしてもよい。具体的には、例えば、表示制御部５０３は、特定ノードを、他のノードに比べて大きく表示することにしてもよい。なお、各ノードに対応するアイコンは、例えば、各ノードに対応するステップの種類に応じて予め決められている。
【００６１】
また、表示制御部５０３は、ネットワークグラフを表示する際に、特定ノードを、他のノードと異なる形状で表示することにしてもよい。具体的には、例えば、表示制御部５０３は、特定ノードを四角形のアイコンとし、他のノードを丸型のアイコンとしてもよい。
【００６２】
（ネットワークグラフの表示例）
つぎに、ネットワークグラフの表示例について説明する。
【００６３】
図６は、ネットワークグラフの表示例を示す説明図である。また、図７は、ネットワークグラフ内のループ構造の一例を示す説明図である。図６において、ネットワークグラフ６００は、ノードの集合（例えば、ノードＮ１〜Ｎ１０）と、ノード間をつなぐ有向なエッジの集合（例えば、エッジｅ１〜ｅ１１）とからなるグラフである。ただし、図６では、ネットワークグラフ６００の一部を抜粋して表示している。
【００６４】
ネットワークグラフ６００において、ノードＮ１〜Ｎ９は、スクリプト情報３００（図３参照）をもとに設定された、トーク処理に対応するノードである。例えば、ノードＮ１は、ステップ情報３１０（図３参照）が表すステップに対応するノードである（ｌａｂｅｌ：ＴＸＴ−１、ｓｅｑ＿ｉｄ：０００１）。
【００６５】
また、ノードＮ２は、ステップ情報３２０（図３参照）が表すステップに対応するノードである（ｌａｂｅｌ：ＳＬＣ−１、ｓｅｑ＿ｉｄ：０００２）。ノードＮ３は、ステップ情報３３０（図３参照）が表すステップに対応するノードである（ｌａｂｅｌ：ＯＰＴ−１、ｓｅｑ＿ｉｄ：０００３）。
【００６６】
ノードＮ１０は、分析する観点に対応する特定ノードである。ここでは、ノードＮ１０は、トーク処理（チャット）の終了に対応するノードである。また、ノードＮ１０は、他のノードよりも大きいアイコンで表現されている。
【００６７】
また、ネットワークグラフ６００において、エッジｅ１〜ｅ８は、スクリプト情報３００（図３参照）をもとに設定された、ノード間を接続するエッジである。また、エッジｅ９〜ｅ１１は、チャットログＤＢ１２０をもとに設定された、ノードＮ１０（特定ノード）とノードＮ７〜Ｎ９とを接続するエッジである。
【００６８】
また、ネットワークグラフ６００において、各エッジｅ１〜ｅ１１は、チャットログＤＢ１２０内のチャットログから特定される、各エッジｅ１〜ｅ１１で接続されたノード間の遷移回数に応じた太さで表示されている。例えば、チャットログ４００−２から、エッジｅ１で接続されたノードＮ１からノードＮ２への遷移が検出され、遷移回数がインクリメントされる。
【００６９】
また、チャットログ４００−３から、エッジｅ２で接続されたノードＮ２からノードＮ３への遷移が検出され、遷移回数がインクリメントされる。また、チャットログ４００−４から、エッジｅ５で接続されたノードＮ３からノードＮ６への遷移が検出され、遷移回数がインクリメントされる。
【００７０】
また、チャットログ４００−７は、同一のルームＩＤ「Ｒ１０」が設定されたチャットログのうちの最後のチャットログであり、ステップの種類が「ｅｎｄ」のステップのＩＤが設定されたチャットログである。この場合、チャットログ４００−７から、エッジｅ１１で接続されたノードＮ９からノードＮ１０への遷移が検出され、遷移回数がインクリメントされる。
【００７１】
また、同一のルームＩＤが設定されたチャットログのうちの最後のチャットログのｓｅｑ＿ｉｄが「０００７」の場合、エッジｅ９で接続されたノードＮ７からノードＮ１０への遷移が検出され、遷移回数がインクリメントされる。また、同一のルームＩＤが設定されたチャットログのうちの最後のチャットログのｓｅｑ＿ｉｄが「０００８」の場合、エッジｅ１０で接続されたノードＮ８からノードＮ１０への遷移が検出され、遷移回数がインクリメントされる。
【００７２】
ネットワークグラフ６００によれば、分析者（例えば、クライアント装置１０２のユーザ）は、チャットの動線分析を行うことができる。例えば、ネットワークグラフ６００によれば、分析者は、チャット上でどのような会話がどのような頻度で行われたかを、各エッジの太さから判断することができる。
【００７３】
また、トーク処理とは異なる分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノードＮ１０を設定することで、ユーザの離脱という観点で分析することができる。例えば、エッジｅ１０の太さから、ノードＮ８に対応する処理において強制終了が多く発生していることがわかる。ユーザが離脱する割合が高い箇所がわかれば、その原因を究明して、何らかの対策を講じることができる。
【００７４】
また、トーク処理とは異なる分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノードＮ１０を設定することで、全ての会話はノードＮ１０につながることになる。このため、ネットワークグラフ６００内のノード数が多くなったとしても、ノードＮ１０が中心となって表示され、分析の観点になる軸ができて、ユーザにとって見やすいものとなる。
【００７５】
また、ネットワークグラフ６００によれば、図７に示すループ７００（ノードＮ１⇒ノードＮ２⇒ノードＮ３⇒ノードＮ６⇒ノードＮ１）のような、ループ構造についても表現することができる。このため、分析者は、例えば、前に発言したところに戻るようなループが頻繁に発生している箇所を特定して、チャットボットの発言内容や選択肢などに問題がないかを分析することができる。
【００７６】
（情報処理装置１０１の分析支援処理手順）
つぎに、情報処理装置１０１の分析支援処理手順について説明する。ここでは、チャットのトーク処理に関するチャットログは、チャットログＤＢ１２０に記憶されているものとする。
【００７７】
図８は、情報処理装置１０１の分析支援処理手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、情報処理装置１０１は、チャットに関するスクリプト情報を取得する（ステップＳ８０１）。つぎに、情報処理装置１０１は、取得したスクリプト情報を参照して、トーク処理に対応するノードと、トーク処理とは異なる分析する観点に対応する特定ノードとを含む複数のノードを設定する（ステップＳ８０２）。
【００７８】
そして、情報処理装置１０１は、取得したスクリプト情報と、チャットログＤＢ１２０内のチャットログとに基づいて、設定した複数のノードに含まれるノード間をつなぐ有向なエッジを設定する（ステップＳ８０３）。つぎに、情報処理装置１０１は、チャットログＤＢ１２０を参照して、設定したエッジごとに、当該エッジで接続されたノード間の遷移回数を計数する（ステップＳ８０４）。
【００７９】
そして、情報処理装置１０１は、エッジごとに計数したノード間の遷移回数に応じて、当該エッジの太さを決定する（ステップＳ８０５）。つぎに、情報処理装置１０１は、設定した複数のノードと、設定したエッジとを含み、エッジの太さを、決定した太さとするネットワークグラフを生成する（ステップＳ８０６）。
【００８０】
そして、情報処理装置１０１は、生成したネットワークグラフを表示して（ステップＳ８０７）、本フローチャートによる一連の処理を終了する。これにより、ツリー構造になっていない複雑な構造やループ構造を含むチャット上でのユーザの動きを可視化することができる。
【００８１】
以上説明したように、実施の形態にかかる情報処理装置１０１によれば、チャットのトーク処理を定義したスクリプト情報を参照して、トーク処理に対応するノードと、トーク処理とは異なる分析する観点に対応する特定ノードとを含む複数のノードを設定することができる。トーク処理に対応するノードは、例えば、発話する処理に対応するノード、選択肢を表示する処理に対応するノード、トーク処理を終了する処理に対応するノードなどである。また、情報処理装置１０１によれば、スクリプト情報と、トーク処理に関するチャットログとに基づいて、設定した複数のノードに含まれるノード間を接続する有向なエッジを設定することができる。そして、情報処理装置１０１によれば、設定した複数のノードを含み、設定したエッジによりノード間を接続したネットワークグラフを表示する際に、トーク処理に関するチャットログに基づいて、エッジの表示態様を変更して表示することができる。
【００８２】
これにより、ツリー構造になっていない複雑な構造やループ構造を含むチャット上でのユーザの動きを可視化して、チャットの動線分析を支援することができる。例えば、チャット上で行われた実際の会話の記録に基づいて、動線（スクリプトの経路）の流量を可視化することができる。
【００８３】
また、情報処理装置１０１によれば、トーク処理とは異なる分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノードを設定することができる。
【００８４】
これにより、ユーザの離脱という観点でチャットの動線分析を行うことができる。また、ネットワークグラフ内のノード数が多くなったとしても、全ての会話が特定ノードにつながるため、特定ノードが中心となって表示されて、分析の観点になる軸ができ、ネットワークグラフの視認性を高めることができる。
【００８５】
また、情報処理装置１０１によれば、トーク処理に関するチャットログから特定される、エッジで接続されたノード間の遷移回数に応じて、当該エッジの太さまたは色を変更して表示することができる。
【００８６】
これより、ノード間の遷移回数が多いほど、エッジを太く描画したり、濃い色で描画したりすることができ、動線（スクリプトの経路）の流量を直感的に理解しやすい態様で可視化することができる。
【００８７】
また、情報処理装置１０１によれば、ネットワークグラフを表示する際に、分析する観点に対応する特定ノードを、他のノードと異なる大きさで表示することができる。
【００８８】
これより、分析する観点に対応する特定ノードを判別しやすくさせることができる。
【００８９】
なお、本分析支援方法は、チャットのように、ツリー構造ではなく、ループ構造を含むコンテンツについての動線分析にも有効である。例えば、オンラインゲーム、スマホゲーム、スマホ向けアプリなどについて、ユーザの離脱という観点で分析したい場合に有効である。
【００９０】
また、本実施の形態で説明した分析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本分析支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本分析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【００９１】
また、本実施の形態で説明した情報処理装置１０１は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣやＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。
【符号の説明】
【００９２】
１００  分析支援システム
１０１  情報処理装置
１０２  クライアント装置
１１０  ネットワーク
１２０  チャットログＤＢ
２００  バス
２０１  ＣＰＵ
２０２  メモリ
２０３  ディスクドライブ
２０４  ディスク
２０５  通信Ｉ／Ｆ
２０６  可搬型記録媒体Ｉ／Ｆ
２０７  可搬型記録媒体
３００  スクリプト情報
５０１  取得部
５０２  生成部
５０３  表示制御部
５０４  第１の設定部
５０５  第２の設定部
５０６  決定部
６００  ネットワークグラフ
７００  ループ
【図１】
2020240757.tif 000003
【図２】
2020240757.tif 000004
【図３】
2020240757.tif 000005
【図４】
2020240757.tif 000006
【図５】
2020240757.tif 000007
【図６】
2020240757.tif 000008
【図７】
2020240757.tif 000009
【図８】
2020240757.tif 000010
【手続補正書】
【提出日】令和3年7月8日(2021.7.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
処理をコンピュータに実行させることを特徴とする分析支援プログラム。
【請求項２】
前記分析する観点に対応するノードは、前記トーク処理の終了に対応するノードである、ことを特徴とする請求項１に記載の分析支援プログラム。
【請求項３】
前記表示する処理は、
前記トーク処理に関するチャットログから特定される、前記エッジで接続されたノード間の遷移回数に応じて、前記エッジの太さまたは色を変更して表示する、ことを特徴とする請求項２に記載の分析支援プログラム。
【請求項４】
前記表示する処理は、
前記ネットワークグラフを表示する際に、前記分析する観点に対応するノードを、他のノードと異なる大きさで表示する、ことを特徴とする請求項３に記載の分析支援プログラム。
【請求項５】
チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
処理をコンピュータが実行することを特徴とする分析支援方法。
【請求項６】
チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
制御部を有することを特徴とする情報処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析支援プログラム、分析支援方法および情報処理装置に関する。
【背景技術】
【０００２】
従来、ウェブサイトの動線分析を行う手法として、サンキー・ダイアグラム（Ｓａｎｋｅｙ  ｄｉａｇｒａｍ）という図表が利用されている。サンキー・ダイアグラムは、ウェブサイトのようにツリー構造になっているものの分析に有効である。
【０００３】
先行技術としては、例えば、チャットログの発話文から各発話文間の関連度を分析する際に利用可能な所定の手がかりを取得し、取得した手がかりとヒューリスティックスを利用して、所定の発話文に対する複数の他の発話文それぞれに対して関連度の強弱を表すポイントを付与するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２９５８３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、ループ構造を含むチャットの動線分析を行うことが難しい。
【０００６】
一つの側面では、本発明は、チャットの動線分析を支援することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、分析支援プログラムが提供される。
【発明の効果】
【０００８】
本発明の一側面によれば、チャットの動線分析を支援することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、分析支援システム１００のシステム構成例を示す説明図である。
【図２】図２は、情報処理装置１０１のハードウェア構成例を示すブロック図である。
【図３】図３は、スクリプト情報の具体例を示す説明図である。
【図４】図４は、チャットログＤＢ１２０の記憶内容の一例を示す説明図である。
【図５】図５は、情報処理装置１０１の機能的構成例を示すブロック図である。
【図６】図６は、ネットワークグラフの表示例を示す説明図である。
【図７】図７は、ネットワークグラフ内のループ構造の一例を示す説明図である。
【図８】図８は、情報処理装置１０１の分析支援処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる分析支援プログラム、分析支援方法および情報処理装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態）
まず、分析支援システム１００のシステム構成例について説明する。分析支援システム１００は、実施の形態にかかる情報処理装置１０１を含むコンピュータシステムであり、例えば、チャットボットを利用したＦＡＱ（Ｆｒｅｑｕｅｎｔｌｙ  Ａｓｋｅｄ  Ｑｕｅｓｔｉｏｎｓ）システムの動線分析に利用される。
【００１２】
図１は、分析支援システム１００のシステム構成例を示す説明図である。図１において、分析支援システム１００は、情報処理装置１０１と、クライアント装置１０２と、を含む。分析支援システム１００において、情報処理装置１０１およびクライアント装置１０２は、有線または無線のネットワーク１１０を介して接続される。ネットワーク１１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００１３】
ここで、情報処理装置１０１は、チャットログＤＢ（ＤａｔａＢａｓｅ）１２０を有し、チャットの動線分析を支援するコンピュータである。チャットは、チャットボットと人間との間や、人間同士で会話を行うためのシステムである。例えば、チャットボットが決められたメッセージを表示（発話）したり、選択肢を表示したりして、人間との会話が行われる。
【００１４】
チャットの動線解析は、チャット上でどのような会話がどのような頻度で行われたかなどを分析するものである。情報処理装置１０１は、例えば、サーバである。チャットログＤＢ１２０の記憶内容については、図４を用いて後述する。また、以下の説明では、チャットボットと人間との間で会話を行う場合を想定する。
【００１５】
クライアント装置１０２は、分析支援システム１００のユーザが使用するコンピュータである。分析支援システム１００のユーザは、例えば、チャットの動線分析を行う分析者である。クライアント装置１０２は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレット型ＰＣ、スマートフォンなどである。
【００１６】
ここで、ウェブサイトの動線分析を行う手法として、サンキー・ダイアグラムという図表が知られている。しかし、サンキー・ダイアグラムは、ウェブサイトのようにツリー構造になっているものには有効な分析方法であるが、チャットの動線分析に利用することは難しい。
【００１７】
例えば、チャットのスクリプトは、ツリー構造になっておらず、また、あるところまで話した後に、前に発言したところに戻るようなループが発生することが多い。このような、ツリー構造ではなく、ループ構造を含むチャットの動線分析には、サンキー・ダイアグラムは不向きである。
【００１８】
そこで、本実施の形態では、チャットの動線分析にネットワークグラフを用いることで、ツリー構造になっていない複雑な構造やループ構造を含むチャット上でのユーザの動きを可視化して、チャットの動線解析を支援する分析支援方法について説明する。
【００１９】
（情報処理装置１０１のハードウェア構成例）
つぎに、情報処理装置１０１のハードウェア構成例について説明する。
【００２０】
図２は、情報処理装置１０１のハードウェア構成例を示すブロック図である。図２において、情報処理装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メモリ２０２と、ディスクドライブ２０３と、ディスク２０４と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０５と、可搬型記録媒体Ｉ／Ｆ２０６と、可搬型記録媒体２０７と、を有する。また、各構成部は、バス２００によってそれぞれ接続される。
【００２１】
ここで、ＣＰＵ２０１は、情報処理装置１０１の全体の制御を司る。ＣＰＵ２０１は、複数のコアを有していてもよい。メモリ２０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ２０１のワークエリアとして使用される。メモリ２０２に記憶されるプログラムは、ＣＰＵ２０１にロードされることで、コーディングされている処理をＣＰＵ２０１に実行させる。
【００２２】
ディスクドライブ２０３は、ＣＰＵ２０１の制御に従ってディスク２０４に対するデータのリード／ライトを制御する。ディスク２０４は、ディスクドライブ２０３の制御で書き込まれたデータを記憶する。ディスク２０４としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００２３】
通信Ｉ／Ｆ２０５は、通信回線を通じてネットワーク１１０に接続され、ネットワーク１１０を介して外部のコンピュータ（例えば、図１に示したクライアント装置１０２）に接続される。そして、通信Ｉ／Ｆ２０５は、ネットワーク１１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信Ｉ／Ｆ２０５には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００２４】
可搬型記録媒体Ｉ／Ｆ２０６は、ＣＰＵ２０１の制御に従って可搬型記録媒体２０７に対するデータのリード／ライトを制御する。可搬型記録媒体２０７は、可搬型記録媒体Ｉ／Ｆ２０６の制御で書き込まれたデータを記憶する。可搬型記録媒体２０７としては、例えば、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリなどが挙げられる。
【００２５】
なお、情報処理装置１０１は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、情報処理装置１０１は、上述した構成部のうち、例えば、ディスクドライブ２０３、ディスク２０４、可搬型記録媒体Ｉ／Ｆ２０６、可搬型記録媒体２０７を有していなくてもよい。また、図１に示したクライアント装置１０２についても、情報処理装置１０１と同様のハードウェア構成により実現することができる。ただし、クライアント装置１０２は、上述した構成部のほかに、入力装置、ディスプレイ等を有する。
【００２６】
（スクリプト情報の具体例）
つぎに、情報処理装置１０１が用いるスクリプト情報の具体例について説明する。
【００２７】
図３は、スクリプト情報の具体例を示す説明図である。図３において、スクリプト情報３００は、チャットのトーク処理を定義した情報であり、チャットボットの会話の流れを定義したものに相当する。ただし、図３では、スクリプト情報３００の一部を抜粋して表示している。
【００２８】
トーク処理は、チャットボットの動作（挙動）を実現するための処理である。例えば、トーク処理は、発話する処理、選択肢を表示する処理、ユーザ操作に応じて選択肢を選択する処理、選択された選択肢に応じた手続を行う処理、トーク処理を終了する処理などを含む。
【００２９】
具体的には、例えば、スクリプト情報３００は、ステップ情報３１０，３２０，３３０を含む。各ステップ情報３１０，３２０，３３０において、ｌａｂｅｌは、トーク処理のステップの名前を示す。ｓｅｑ＿ｉｄは、ステップのＩＤを示す。ｓｔｅｐは、ステップの種類を示す。
【００３０】
ステップの種類としては、例えば、ｔｅｘｔ、ｓｅｌｅｃｔ、ｏｐｔｉｏｎ、ｅｎｄなどがある。ステップの種類「ｔｅｘｔ」は、発話する処理を表す。ステップの種類「ｓｅｌｅｃｔ」は、選択肢を表示する処理を表す。ステップの種類「ｏｐｔｉｏｎ」は、選択肢を選択する処理を表す。ステップの種類「ｅｎｄ」は、トーク処理を終了する処理を表す。
【００３１】
ｔｅｘｔは、チャットボットが発話する文章、または、ユーザ操作に応じて選択された選択肢を示す。ｎｅｘｔＳｅｑｓは、次のステップのＩＤを示す。ｎｅｘｔＳｅｑｓに、複数のＩＤが設定されている場合は、ユーザ操作に応じて選択された選択肢に応じて次のステップが決まる。
【００３２】
（チャットログＤＢ１２０の記憶内容）
つぎに、情報処理装置１０１が有するチャットログＤＢ１２０の記憶内容について説明する。チャットログＤＢ１２０は、例えば、図２に示したメモリ２０２、ディスク２０４などの記憶装置により実現される。
【００３３】
図４は、チャットログＤＢ１２０の記憶内容の一例を示す説明図である。図４において、チャットログＤＢ１２０は、ルームＩＤ、タイムスタンプ、ｓｅｑ＿ｉｄ、前のｓｅｑ＿ｉｄ、ｌａｂｅｌおよびメッセージのフィールドを有する。各フィールドに情報を設定することで、チャットログ（例えば、チャットログ４００−１〜４００−７）がレコードとして記憶される。
【００３４】
ここで、ルームＩＤは、チャットを行うルームのＩＤを示す。ルームＩＤによれば、チャットボットとの一連の会話を特定することができる。タイムスタンプは、ステップが実行された日時を示す。ｓｅｑ＿ｉｄは、実行されたステップのＩＤを示す。前のｓｅｑ＿ｉｄは、直前に実行されたステップのＩＤを示す。ｌａｂｅｌは、実行されたステップの名前を示す。メッセージは、実行されたステップで発話された文章、または、選択された選択肢を示す。
【００３５】
例えば、チャットログ４００−１によれば、ルームＩＤ「Ｒ１」のルームについて、２０１９年１月８日０時１０分に、ｓｅｑ＿ｉｄ「０００１」およびｌａｂｅｌ「ＴＸＴ−１」のステップが実行されてメッセージ「こんにちは。」が表示されたことを特定することができる。
【００３６】
また、チャットログ４００−２によれば、ルームＩＤ「Ｒ１」のルームについて、２０１９年１月８日０時１０分に、ｓｅｑ＿ｉｄ「０００２」およびｌａｂｅｌ「ＳＬＣ−１」のステップが実行されてメッセージ「以下の選択肢から１つ選んでください。」が表示されたことを特定することができる。さらに、ｓｅｑ＿ｉｄ「０００１」のステップが直前に実行されたことを特定することができる。
【００３７】
（情報処理装置１０１の機能的構成例）
図５は、情報処理装置１０１の機能的構成例を示すブロック図である。図５において、情報処理装置１０１は、取得部５０１と、生成部５０２と、表示制御部５０３と、を含む。取得部５０１〜表示制御部５０３は制御部となる機能であり、具体的には、例えば、図２に示したメモリ２０２、ディスク２０４、可搬型記録媒体２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、通信Ｉ／Ｆ２０５により、その機能を実現する。各機能部の処理結果は、例えば、メモリ２０２、ディスク２０４などの記憶装置に記憶される。
【００３８】
取得部５０１は、チャットに関するスクリプト情報を取得する。ここで、スクリプト情報は、チャットのトーク処理を定義した情報（シナリオ）である。トーク処理は、チャットボットの動作（挙動）を実現するための処理であり、例えば、発話する処理、選択肢を表示する処理、選択肢を選択する処理、トーク処理を終了する処理などを含む。
【００３９】
具体的には、例えば、取得部５０１は、図１に示したクライアント装置１０２から、図３に示したようなスクリプト情報３００を受信することにより、受信したスクリプト情報３００を取得する。また、取得部５０１は、不図示の入力装置を用いたユーザの操作入力により、スクリプト情報３００を取得することにしてもよい。
【００４０】
また、取得部５０１は、チャットのトーク処理に関するチャットログを取得する。ここで、チャットログは、チャット上で実際に行われた会話についてのログであり、どのような会話がいつ行われたのかを特定可能な情報である。例えば、チャットログは、図４に示したように、ルームＩＤ、タイムスタンプ、ｓｅｑ＿ｉｄ、前のｓｅｑ＿ｉｄ、ｌａｂｅｌおよびメッセージを含む。
【００４１】
具体的には、例えば、取得部５０１は、クライアント装置１０２からチャットログを受信することにより、受信したチャットログを取得する。また、取得部５０１は、不図示の入力装置を用いたユーザの操作入力により、チャットログを取得することにしてもよい。また、取得部５０１は、チャットボットを利用したＦＡＱシステムから、チャットログを取得することにしてもよい。取得されたチャットログは、例えば、図４に示したチャットログＤＢ１２０に記憶される。
【００４２】
生成部５０２は、ネットワークグラフを生成する。ここで、ネットワークグラフとは、ノードの集合と、ノード間をつなぐ有向なエッジの集合とからなるグラフである。具体的には、生成部５０２は、第１の設定部５０４と、第２の設定部５０５と、決定部５０６と、を含む。
【００４３】
第１の設定部５０４は、取得されたスクリプト情報を参照して、トーク処理に対応するノードと、トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定する。ここで、トーク処理に対応するノードは、チャットボットが行う動作（挙動）を実現する処理に対応するノードである。例えば、トーク処理に対応するノードは、発話する処理に対応するノード、選択肢を表示する処理に対応するノード、選択肢を選択する処理に対応するノード、トーク処理を終了する処理に対応するノードなどである。
【００４４】
分析する観点に対応するノードは、どのような観点で動線分析を行うかに応じて設定されるノードである。例えば、分析する観点に対応するノードは、チャットのトーク処理の終了に対応するノードであり、スクリプト情報に定義されたいずれの処理にも対応しない新たなノードとして設定される。なお、トーク処理の終了には、会話が正常に終了した場合だけでなく、会話の途中で強制終了した場合も含まれる。
【００４５】
以下の説明では、分析する観点に対応するノードを「特定ノード」と表記する場合がある。なお、どのようなノードを、分析する観点に対応する特定ノードとするかは、予め決められていてもよく、また、クライアント装置１０２から指定されることにしてもよい。
【００４６】
具体的には、例えば、第１の設定部５０４は、スクリプト情報３００を参照して、発話する処理に対応するノード、選択肢を表示する処理に対応するノード、選択肢を選択する処理に対応するノード、および、トーク処理を終了する処理に対応するノードを設定する。また、第１の設定部５０４は、チャットのトーク処理の終了に対応する特定ノードを設定する。
【００４７】
第２の設定部５０５は、取得されたスクリプト情報と、取得されたトーク処理に関するチャットログとに基づいて、設定した複数のノードに含まれるノード間をつなぐ有向なエッジを設定する。具体的には、例えば、第２の設定部５０５は、スクリプト情報３００を参照して、あるステップ（処理）から他のステップへの遷移を特定することにより、ノード間をつなぐ有向なエッジを設定する。
【００４８】
また、第２の設定部５０５は、例えば、チャットログＤＢ１２０を参照して、特定ノードと他のノードとの有向なエッジを設定する。例えば、特定ノードを、チャットのトーク処理の終了に対応するノードとする。この場合、第２の設定部５０５は、チャットログＤＢ１２０を参照して、チャットのトーク処理を終了した処理に対応するノードから、特定ノードへの有向なエッジを設定する。
【００４９】
チャットのトーク処理を終了した処理は、例えば、ｓｅｑ＿ｉｄに、ステップの種類が「ｅｎｄ」のステップのＩＤが設定されたチャットログから特定される（会話が正常終了したパターン）。また、チャットのトーク処理を終了した処理は、例えば、同一のルームＩＤが設定されたチャットログのうち、最後のチャットログ（タイムスタンプが最新のチャットログ）から特定される（会話が強制終了したパターン）。
【００５０】
なお、上述した説明では、特定ノードとして、チャットのトーク処理の終了に対応するノードを例に挙げて説明したが、これに限らない。例えば、トーク処理に対応するノードのうちのいずれかのノードを、特定のノードとしてもよい。すなわち、第１の設定部５０４は、トーク処理のいずれかの処理に対応するノードを、分析する観点に対応する特定ノードに設定してもよい。この場合、第２の設定部５０５は、例えば、チャットログＤＢ１２０を参照して、特定のノードに対応する処理への他のノードに対応する処理からの遷移を検出することにより、そのノード間をつなぐ有向なエッジを設定する。ただし、スクリプト情報３００をもとに設定されるエッジと重複するエッジについては、重複してエッジが設定されないように、設定対象から除外する。これにより、例えば、チャットボットが行う特定の動作がどのような頻度で行われたかといったことを分析し易くなる。
【００５１】
決定部５０６は、取得されたトーク処理に関するチャットログに基づいて、設定されたエッジの表示態様を決定する。具体的には、例えば、決定部５０６は、トーク処理に関するチャットログから特定される、エッジで接続されたノード間の遷移回数に応じて、当該エッジの太さまたは色を決定することにしてもよい。
【００５２】
より詳細に説明すると、例えば、決定部５０６は、チャットログＤＢ１２０を参照して、設定されたエッジごとに、当該エッジで接続されたノード間の遷移回数を計数する。例えば、チャットログ４００−２を例に挙げると、決定部５０６は、ｓｅｑ＿ｉｄ「０００１」のステップに対応するノードから、ｓｅｑ＿ｉｄ「０００２」のステップに対応するノードへの遷移を検出し、そのノード間の遷移回数をインクリメントする。
【００５３】
また、特定ノードを、チャットのトーク処理の終了に対応するノードとする。この場合、決定部５０６は、チャットログＤＢ１２０を参照して、同一のルームＩＤが設定されたチャットログのうち、最後のチャットログを特定する。そして、決定部５０６は、特定したチャットログのｓｅｑ＿ｉｄ「０００１」のステップに対応するノードから、特定ノードへの遷移を検出し、そのノード間の遷移回数をインクリメントする。
【００５４】
そして、決定部５０６は、エッジごとに計数した遷移回数に応じて、当該エッジの太さまたは色を決定する。例えば、決定部５０６は、計数した遷移回数が多くなるほど太くなるように、エッジの太さを決定してもよい。また、決定部５０６は、計数した遷移回数が多くなるほど濃くなるように、エッジの色の濃淡を決定してもよい。
【００５５】
なお、決定部５０６は、ノード間の遷移回数を計数するにあたり、期間を設定することにしてもよい。期間は、例えば、クライアント装置１０２から指定することができる。期間が設定された場合、決定部５０６は、タイムスタンプが期間内のチャットログを参照して、ノード間の遷移回数を計数する。
【００５６】
そして、生成部５０２は、例えば、第１の設定部５０４によって設定された複数のノードと、第２の設定部５０５によって設定されたエッジとを含み、エッジの表示態様を、決定部５０６によって決定された表示態様とするネットワークグラフを生成する。
【００５７】
表示制御部５０３は、生成部５０２によって生成されたネットワークグラフを表示する制御を行う。具体的には、例えば、表示制御部５０３は、複数のノードと、ノード間を接続するエッジとを含むネットワークグラフを表示する際に、エッジごとに決定された表示態様で当該エッジを表示する。
【００５８】
これにより、ネットワークグラフを表示する際に、チャットログに基づき決定された表示態様により、ノード間を接続するエッジの表示態様を変更して表示することができる。ネットワークグラフは、例えば、情報処理装置１０１の不図示のディスプレイ、または、クライアント装置１０２に表示される。
【００５９】
ネットワークグラフの表示例については、図６を用いて後述する。
【００６０】
また、表示制御部５０３は、ネットワークグラフを表示する際に、特定ノードを、他のノードと異なる大きさで表示することにしてもよい。具体的には、例えば、表示制御部５０３は、特定ノードを、他のノードに比べて大きく表示することにしてもよい。なお、各ノードに対応するアイコンは、例えば、各ノードに対応するステップの種類に応じて予め決められている。
【００６１】
また、表示制御部５０３は、ネットワークグラフを表示する際に、特定ノードを、他のノードと異なる形状で表示することにしてもよい。具体的には、例えば、表示制御部５０３は、特定ノードを四角形のアイコンとし、他のノードを丸型のアイコンとしてもよい。
【００６２】
（ネットワークグラフの表示例）
つぎに、ネットワークグラフの表示例について説明する。
【００６３】
図６は、ネットワークグラフの表示例を示す説明図である。また、図７は、ネットワークグラフ内のループ構造の一例を示す説明図である。図６において、ネットワークグラフ６００は、ノードの集合（例えば、ノードＮ１〜Ｎ１０）と、ノード間をつなぐ有向なエッジの集合（例えば、エッジｅ１〜ｅ１１）とからなるグラフである。ただし、図６では、ネットワークグラフ６００の一部を抜粋して表示している。
【００６４】
ネットワークグラフ６００において、ノードＮ１〜Ｎ９は、スクリプト情報３００（図３参照）をもとに設定された、トーク処理に対応するノードである。例えば、ノードＮ１は、ステップ情報３１０（図３参照）が表すステップに対応するノードである（ｌａｂｅｌ：ＴＸＴ−１、ｓｅｑ＿ｉｄ：０００１）。
【００６５】
また、ノードＮ２は、ステップ情報３２０（図３参照）が表すステップに対応するノードである（ｌａｂｅｌ：ＳＬＣ−１、ｓｅｑ＿ｉｄ：０００２）。ノードＮ３は、ステップ情報３３０（図３参照）が表すステップに対応するノードである（ｌａｂｅｌ：ＯＰＴ−１、ｓｅｑ＿ｉｄ：０００３）。
【００６６】
ノードＮ１０は、分析する観点に対応する特定ノードである。ここでは、ノードＮ１０は、トーク処理（チャット）の終了に対応するノードである。また、ノードＮ１０は、他のノードよりも大きいアイコンで表現されている。
【００６７】
また、ネットワークグラフ６００において、エッジｅ１〜ｅ８は、スクリプト情報３００（図３参照）をもとに設定された、ノード間を接続するエッジである。また、エッジｅ９〜ｅ１１は、チャットログＤＢ１２０をもとに設定された、ノードＮ１０（特定ノード）とノードＮ７〜Ｎ９とを接続するエッジである。
【００６８】
また、ネットワークグラフ６００において、各エッジｅ１〜ｅ１１は、チャットログＤＢ１２０内のチャットログから特定される、各エッジｅ１〜ｅ１１で接続されたノード間の遷移回数に応じた太さで表示されている。例えば、チャットログ４００−２から、エッジｅ１で接続されたノードＮ１からノードＮ２への遷移が検出され、遷移回数がインクリメントされる。
【００６９】
また、チャットログ４００−３から、エッジｅ２で接続されたノードＮ２からノードＮ３への遷移が検出され、遷移回数がインクリメントされる。また、チャットログ４００−４から、エッジｅ５で接続されたノードＮ３からノードＮ６への遷移が検出され、遷移回数がインクリメントされる。
【００７０】
また、チャットログ４００−７は、同一のルームＩＤ「Ｒ１０」が設定されたチャットログのうちの最後のチャットログであり、ステップの種類が「ｅｎｄ」のステップのＩＤが設定されたチャットログである。この場合、チャットログ４００−７から、エッジｅ１１で接続されたノードＮ９からノードＮ１０への遷移が検出され、遷移回数がインクリメントされる。
【００７１】
また、同一のルームＩＤが設定されたチャットログのうちの最後のチャットログのｓｅｑ＿ｉｄが「０００７」の場合、エッジｅ９で接続されたノードＮ７からノードＮ１０への遷移が検出され、遷移回数がインクリメントされる。また、同一のルームＩＤが設定されたチャットログのうちの最後のチャットログのｓｅｑ＿ｉｄが「０００８」の場合、エッジｅ１０で接続されたノードＮ８からノードＮ１０への遷移が検出され、遷移回数がインクリメントされる。
【００７２】
ネットワークグラフ６００によれば、分析者（例えば、クライアント装置１０２のユーザ）は、チャットの動線分析を行うことができる。例えば、ネットワークグラフ６００によれば、分析者は、チャット上でどのような会話がどのような頻度で行われたかを、各エッジの太さから判断することができる。
【００７３】
また、トーク処理とは異なる分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノードＮ１０を設定することで、ユーザの離脱という観点で分析することができる。例えば、エッジｅ１０の太さから、ノードＮ８に対応する処理において強制終了が多く発生していることがわかる。ユーザが離脱する割合が高い箇所がわかれば、その原因を究明して、何らかの対策を講じることができる。
【００７４】
また、トーク処理とは異なる分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノードＮ１０を設定することで、全ての会話はノードＮ１０につながることになる。このため、ネットワークグラフ６００内のノード数が多くなったとしても、ノードＮ１０が中心となって表示され、分析の観点になる軸ができて、ユーザにとって見やすいものとなる。
【００７５】
また、ネットワークグラフ６００によれば、図７に示すループ７００（ノードＮ１⇒ノードＮ２⇒ノードＮ３⇒ノードＮ６⇒ノードＮ１）のような、ループ構造についても表現することができる。このため、分析者は、例えば、前に発言したところに戻るようなループが頻繁に発生している箇所を特定して、チャットボットの発言内容や選択肢などに問題がないかを分析することができる。
【００７６】
（情報処理装置１０１の分析支援処理手順）
つぎに、情報処理装置１０１の分析支援処理手順について説明する。ここでは、チャットのトーク処理に関するチャットログは、チャットログＤＢ１２０に記憶されているものとする。
【００７７】
図８は、情報処理装置１０１の分析支援処理手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、情報処理装置１０１は、チャットに関するスクリプト情報を取得する（ステップＳ８０１）。つぎに、情報処理装置１０１は、取得したスクリプト情報を参照して、トーク処理に対応するノードと、トーク処理とは異なる分析する観点に対応する特定ノードとを含む複数のノードを設定する（ステップＳ８０２）。
【００７８】
そして、情報処理装置１０１は、取得したスクリプト情報と、チャットログＤＢ１２０内のチャットログとに基づいて、設定した複数のノードに含まれるノード間をつなぐ有向なエッジを設定する（ステップＳ８０３）。つぎに、情報処理装置１０１は、チャットログＤＢ１２０を参照して、設定したエッジごとに、当該エッジで接続されたノード間の遷移回数を計数する（ステップＳ８０４）。
【００７９】
そして、情報処理装置１０１は、エッジごとに計数したノード間の遷移回数に応じて、当該エッジの太さを決定する（ステップＳ８０５）。つぎに、情報処理装置１０１は、設定した複数のノードと、設定したエッジとを含み、エッジの太さを、決定した太さとするネットワークグラフを生成する（ステップＳ８０６）。
【００８０】
そして、情報処理装置１０１は、生成したネットワークグラフを表示して（ステップＳ８０７）、本フローチャートによる一連の処理を終了する。これにより、ツリー構造になっていない複雑な構造やループ構造を含むチャット上でのユーザの動きを可視化することができる。
【００８１】
以上説明したように、実施の形態にかかる情報処理装置１０１によれば、チャットのトーク処理を定義したスクリプト情報を参照して、トーク処理に対応するノードと、トーク処理とは異なる分析する観点に対応する特定ノードとを含む複数のノードを設定することができる。トーク処理に対応するノードは、例えば、発話する処理に対応するノード、選択肢を表示する処理に対応するノード、トーク処理を終了する処理に対応するノードなどである。また、情報処理装置１０１によれば、スクリプト情報と、トーク処理に関するチャットログとに基づいて、設定した複数のノードに含まれるノード間を接続する有向なエッジを設定することができる。そして、情報処理装置１０１によれば、設定した複数のノードを含み、設定したエッジによりノード間を接続したネットワークグラフを表示する際に、トーク処理に関するチャットログに基づいて、エッジの表示態様を変更して表示することができる。
【００８２】
これにより、ツリー構造になっていない複雑な構造やループ構造を含むチャット上でのユーザの動きを可視化して、チャットの動線分析を支援することができる。例えば、チャット上で行われた実際の会話の記録に基づいて、動線（スクリプトの経路）の流量を可視化することができる。
【００８３】
また、情報処理装置１０１によれば、トーク処理とは異なる分析する観点に対応する特定ノードとして、トーク処理の終了に対応するノードを設定することができる。
【００８４】
これにより、ユーザの離脱という観点でチャットの動線分析を行うことができる。また、ネットワークグラフ内のノード数が多くなったとしても、全ての会話が特定ノードにつながるため、特定ノードが中心となって表示されて、分析の観点になる軸ができ、ネットワークグラフの視認性を高めることができる。
【００８５】
また、情報処理装置１０１によれば、トーク処理に関するチャットログから特定される、エッジで接続されたノード間の遷移回数に応じて、当該エッジの太さまたは色を変更して表示することができる。
【００８６】
これより、ノード間の遷移回数が多いほど、エッジを太く描画したり、濃い色で描画したりすることができ、動線（スクリプトの経路）の流量を直感的に理解しやすい態様で可視化することができる。
【００８７】
また、情報処理装置１０１によれば、ネットワークグラフを表示する際に、分析する観点に対応する特定ノードを、他のノードと異なる大きさで表示することができる。
【００８８】
これより、分析する観点に対応する特定ノードを判別しやすくさせることができる。
【００８９】
なお、本分析支援方法は、チャットのように、ツリー構造ではなく、ループ構造を含むコンテンツについての動線分析にも有効である。例えば、オンラインゲーム、スマホゲーム、スマホ向けアプリなどについて、ユーザの離脱という観点で分析したい場合に有効である。
【００９０】
また、本実施の形態で説明した分析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本分析支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本分析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【００９１】
また、本実施の形態で説明した情報処理装置１０１は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣやＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。
【００９２】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００９３】
（付記１）チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
処理をコンピュータに実行させることを特徴とする分析支援プログラム。
【００９４】
（付記２）前記分析する観点に対応するノードは、前記トーク処理の終了に対応するノードである、ことを特徴とする付記１に記載の分析支援プログラム。
【００９５】
（付記３）前記表示する処理は、
前記トーク処理に関するチャットログから特定される、前記エッジで接続されたノード間の遷移回数に応じて、前記エッジの太さまたは色を変更して表示する、ことを特徴とする付記２に記載の分析支援プログラム。
【００９６】
（付記４）前記表示する処理は、
前記ネットワークグラフを表示する際に、前記分析する観点に対応するノードを、他のノードと異なる大きさで表示する、ことを特徴とする付記３に記載の分析支援プログラム。
【００９７】
（付記５）前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を決定する、処理を前記コンピュータに実行させ、
前記表示する処理は、
前記複数のノードを含み、前記エッジによりノード間を接続したネットワークグラフを表示する際に、決定した前記表示態様で前記エッジを表示する、ことを特徴とする付記４に記載の分析支援プログラム。
【００９８】
（付記６）前記トーク処理は、発話する処理と、選択肢を表示する処理と、前記トーク処理を終了する処理と、を含む、ことを特徴とする付記１〜５のいずれか一つに記載の分析支援プログラム。
【００９９】
（付記７）チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
処理をコンピュータが実行することを特徴とする分析支援方法。
【０１００】
（付記８）チャットのトーク処理を定義したスクリプト情報を参照して、前記トーク処理に対応するノードと、前記トーク処理とは異なる分析する観点に対応するノードとを含む複数のノードを設定し、
前記スクリプト情報と、前記トーク処理に関するチャットログとに基づいて、設定した前記複数のノードに含まれるノード間を接続する有向なエッジを設定し、
前記複数のノードを含み、設定した前記エッジによりノード間を接続したネットワークグラフを表示する際に、前記トーク処理に関するチャットログに基づいて、前記エッジの表示態様を変更して表示する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【０１０１】
１００  分析支援システム
１０１  情報処理装置
１０２  クライアント装置
１１０  ネットワーク
１２０  チャットログＤＢ
２００  バス
２０１  ＣＰＵ
２０２  メモリ
２０３  ディスクドライブ
２０４  ディスク
２０５  通信Ｉ／Ｆ
２０６  可搬型記録媒体Ｉ／Ｆ
２０７  可搬型記録媒体
３００  スクリプト情報
５０１  取得部
５０２  生成部
５０３  表示制御部
５０４  第１の設定部
５０５  第２の設定部
５０６  決定部
６００  ネットワークグラフ
７００  ループ
【国際調査報告】
2020240757.tif 000011
2020240757.tif 000012
2020240757.tif 000013
2020240757.tif 000014