(57)【要約】【課題】より効率的にチャットログを分析することができる技術を提供することを目的としている。【解決手段】チャット相手となる端末装置から受信した質問を表す問合せ質問文と、問合せ質問文に対して応答を行ったことを示す応答情報と、応答に対して端末装置から所定の返答を受け付けたことを示す返答情報と、を含むチャットログを生成するチャットログ生成部と、チャットログに含まれる問合せ質問文間の意味の近さを表す類似度を算出し、類似度が所定の条件を満たした質問文を含むチャットログどうしをグルーピングすることで複数のクラスタ情報を生成し、応答情報と返答情報とに基づいて、問合せ質問文に対して正答となる応答を行った割合を示す正答率をクラスタ情報毎に算出するクラスタ生成部と、正答率が所定の条件を満たすクラスタ情報を、問合せ質問文の数でソートして表示される画面情報を生成する画面生成部と、を備える、チャットシステムである。【選択図】図１
2019046388.tif 000002
【特許請求の範囲】
【請求項１】
チャット相手となる端末装置から受信した質問を表す問合せ質問文と、前記問合せ質問文に対して前記端末装置に応答を行ったことを示す応答情報と、前記応答に対して前記端末装置から所定の返答を受け付けたことを示す返答情報と、を含むチャットログを生成するチャットログ生成部と、
前記チャットログに含まれる問合せ質問文間の意味の近さを表す類似度を算出し、前記類似度が所定の条件を満たした質問文を含む前記チャットログどうしをグルーピングすることで複数のクラスタ情報を生成し、前記応答情報と前記返答情報とに基づいて、前記問合せ質問文に対して正答となる応答を行った割合を示す正答率を前記クラスタ情報毎に算出するクラスタ生成部と、
前記正答率が所定の条件を満たす前記クラスタ情報を、前記問合せ質問文の数でソートして表示される画面情報を生成する画面生成部と、
を備える、チャットシステム。
【請求項２】
前記クラスタ生成部は、前記正答率を、前記返答情報の数を前記応答情報の数と前記返答情報の数との和で除算することで算出する請求項１に記載のチャットシステム。
【請求項３】
前記画面生成部は、前記正答率に関する条件を受け付ける領域と、前記クラスタ情報をグラフ表示する領域と、前記クラスタ情報に含まれる問合せ質問文を一覧表示する領域と、前記問合せ情報に対する前記返答情報を表示する領域と、前記問合せ質問文間の意味の近さを散布図で表示する領域と、のうち、少なくとも１つがさらに表示される前記画面情報を生成する請求項１または２に記載のチャットシステム。
【請求項４】
チャット相手となる端末装置から受信した質問を表す問合せ質問文と、前記問合せ質問文に対して前記端末装置に応答を行ったことを示す応答情報と、前記応答に対して前記端末装置から所定の返答を受け付けたことを示す返答情報と、を含むチャットログを取得するデータ取得部と、
前記チャットログに含まれる問合せ質問文間の意味の近さを表す類似度を算出し、前記類似度が所定の条件を満たした質問文を含む前記チャットログどうしをグルーピングすることで複数のクラスタ情報を生成し、前記応答情報と前記返答情報とに基づいて、前記問合せ質問文に対して正答となる応答を行った割合を示す正答率を前記クラスタ情報毎に算出するクラスタ生成部と、
前記正答率が所定の条件を満たす前記クラスタ情報を、前記問合せ質問文の個数でソートして表示される画面情報を生成する画面生成部と、
を備える、サーバ。
【請求項５】
チャットシステムが、チャット相手となる端末装置から受信した質問を表す問合せ質問文と、前記問合せ質問文に対して前記端末装置に応答を行ったことを示す応答情報と、前記応答に対して前記端末装置から所定の返答を受け付けたことを示す返答情報と、を含むチャットログを生成するチャットログ生成ステップと、
チャットシステムが、前記チャットログに含まれる問合せ質問文間の意味の近さを表す類似度を算出し、前記類似度が所定の条件を満たした質問文を含む前記チャットログどうしをグルーピングすることで複数のクラスタ情報を生成し、前記応答情報と前記返答情報とに基づいて、前記問合せ質問文に対して正答となる応答を行った割合を示す正答率を前記クラスタ情報毎に算出するクラスタ生成ステップと、
チャットシステムが、前記正答率が所定の条件を満たす前記クラスタ情報を、前記問合せ質問文の個数でソートして表示される画面情報を生成する画面生成ステップと、
を有する、画面生成方法。
【請求項６】
請求項１から３のいずれか一項に記載のチャットシステムとしてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チャットシステム、サーバ、画面生成方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
現在、企業が提供するサービスのユーザからの問合せ対応では、チャットシステムによる無人応答方式が用いられる場合がある。無人応答方式では用例情報データベースが用いられることが多い。用例情報データベースは、複数の質問文とそれぞれの質問文に対する応答である応答文とが対応付けられた用例情報が保持されるデータベースである。チャットシステムは、ユーザから受け付けた質問文に基づいて、最適な応答文を保持する用例情報を取得し、ユーザに応答文を送信することで問合せ対応を行う。したがって、チャットシステムが、より多くの種類の問合わせに対して問合せ対応を行うためには、様々な質問文に対する用例情報を用例情報データベースに追加していくことが必要である。用例情報データベースに用例情報を追加するために、チャットシステムとユーザとの間で行われたチャットの履歴を示すチャットログを分析することが必要となる。しかし、チャットログを人工知能に分析させることは、精度の面で問題がある。したがって、人間によってチャットログの分析が行われている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】川端 貴幸、外１名、“意味と表記の組み合わせによる用例ベースの質問応答モデル”、［online］、平成２９年５月２３日、人工知能学会、［平成２９年８月１５日検索］、インターネット〈URL：https://kaigi.org/jsai/webprogram/2017/pdf/1070.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、チャットログを人間が分析する場合、人間は、大量のチャットログを目視で確認し、追加する用例情報を作成する。しかし、チャットログは、日々蓄積されるだけでなく、サービス拡大等でユーザが増加した場合、さらにチャットログが増加していくことが考えられる。したがって、人手では、日々蓄積されるチャットログを分析しきれなくなる可能性があった。
【０００５】
上記事情に鑑み、本発明は、より効率的にチャットログを分析することができる技術を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、チャット相手となる端末装置から受信した質問を表す問合せ質問文と、前記問合せ質問文に対して前記端末装置に応答を行ったことを示す応答情報と、前記応答に対して前記端末装置から所定の返答を受け付けたことを示す返答情報と、を含むチャットログを生成するチャットログ生成部と、前記チャットログに含まれる問合せ質問文間の意味の近さを表す類似度を算出し、前記類似度が所定の条件を満たした質問文を含む前記チャットログどうしをグルーピングすることで複数のクラスタ情報を生成し、前記応答情報と前記返答情報とに基づいて、前記問合せ質問文に対して正答となる応答を行った割合を示す正答率を前記クラスタ情報毎に算出するクラスタ生成部と、前記正答率が所定の条件を満たす前記クラスタ情報を、前記問合せ質問文の数でソートして表示される画面情報を生成する画面生成部と、を備える、チャットシステムである。
【０００７】
本発明の一態様は、上記のチャットシステムであって、前記クラスタ生成部は、前記正答率を、前記返答情報の数を前記応答情報の数と前記返答情報の数との和で除算することで算出する。
【０００８】
本発明の一態様は、上記のチャットシステムであって、前記画面生成部は、前記正答率に関する条件を受け付ける領域と、前記クラスタ情報をグラフ表示する領域と、前記クラスタ情報に含まれる問合せ質問文を一覧表示する領域と、前記問合せ情報に対する前記返答情報を表示する領域と、前記問合せ質問文間の意味の近さを散布図で表示する領域と、のうち、少なくとも１つがさらに表示される前記画面情報を生成する。
【０００９】
本発明の一態様は、チャット相手となる端末装置から受信した質問を表す問合せ質問文と、前記問合せ質問文に対して前記端末装置に応答を行ったことを示す応答情報と、前記応答に対して前記端末装置から所定の返答を受け付けたことを示す返答情報と、を含むチャットログを取得するデータ取得部と、前記チャットログに含まれる問合せ質問文間の意味の近さを表す類似度を算出し、前記類似度が所定の条件を満たした質問文を含む前記チャットログどうしをグルーピングすることで複数のクラスタ情報を生成し、前記応答情報と前記返答情報とに基づいて、前記問合せ質問文に対して正答となる応答を行った割合を示す正答率を前記クラスタ情報毎に算出するクラスタ生成部と、前記正答率が所定の条件を満たす前記クラスタ情報を、前記問合せ質問文の個数でソートして表示される画面情報を生成する画面生成部と、を備える、サーバである。
【００１０】
本発明の一態様は、チャットシステムが、チャット相手となる端末装置から受信した質問を表す問合せ質問文と、前記問合せ質問文に対して前記端末装置に応答を行ったことを示す応答情報と、前記応答に対して前記端末装置から所定の返答を受け付けたことを示す返答情報と、を含むチャットログを生成するチャットログ生成ステップと、チャットシステムが、前記チャットログを取得するデータ取得ステップと、チャットシステムが、前記チャットログに含まれる問合せ質問文間の意味の近さを表す類似度を算出し、前記類似度が所定の条件を満たした質問文を含む前記チャットログどうしをグルーピングすることで複数のクラスタ情報を生成し、前記応答情報と前記返答情報とに基づいて、前記問合せ質問文に対して正答となる応答を行った割合を示す正答率を前記クラスタ情報毎に算出するクラスタ生成ステップと、チャットシステムが、前記正答率が所定の条件を満たす前記クラスタ情報を、前記問合せ質問文の個数でソートして表示される画面情報を生成する画面生成ステップと、を有する、画面生成方法である。
【００１１】
本発明の一態様は、上記に記載のチャットシステムとしてコンピュータを機能させるためのコンピュータプログラム。
【発明の効果】
【００１２】
本発明により、より効率的にチャットログを分析することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】チャットシステム１のシステム構成を表すシステム構成図である。
【図２】チャットサーバ１００の機能構成を表す機能ブロック図である。
【図３】クラスタサーバ２００の機能構成を表す機能ブロック図である。
【図４】端末装置３００の機能構成を表す機能ブロック図である。
【図５】用例情報テーブルの一具体例を示す図である。
【図６】クラスタ情報の一具体例を示す図である。
【図７】端末装置３００の表示部３０３に表示されるチャットの第１の具体例を示す図である。
【図８】端末装置３００の表示部３０３に表示されるチャットの第２の具体例を示す図である。
【図９】端末装置３００とチャットサーバ１００とのチャットの一具体例を示すシーケンス図である。
【図１０】クラスタサーバ２００のクラスタ情報生成の流れを示すフローチャートである。
【図１１】表示部２０４に表示される画面情報の一具体例を示す図である。
【発明を実施するための形態】
【００１４】
図１は、チャットシステム１のシステム構成を表すシステム構成図である。チャットシステム１は、ネットワーク４００に設けられる。チャットシステム１は、ネットワーク４００を介して互いに通信可能に接続されるチャットサーバ１００及びクラスタサーバ２００で構成される。チャットシステム１のチャットサーバ１００は、１つ以上の端末装置３００と通信可能に接続される。ネットワーク４００は、どのようなネットワークで構築されてもよい。例えば、ネットワーク４００は、インターネットで構成されてもよい。チャットサーバ１００とクラスタサーバ２００とは、同一のサーバ上に構成されてもよい。チャットシステム１は、端末装置３００とチャットサーバ１００との間で行われるチャットの品質を改善する。品質とは、チャットサーバ１００から端末装置３００に対する応答に関する正答率である。
【００１５】
図２は、チャットサーバ１００の機能構成を表す機能ブロック図である。チャットサーバ１００は、サーバ又は産業用コンピュータ等の情報処理装置を用いて構成される。チャットサーバ１００は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備える。チャットサーバ１００は、端末装置３００からの要求に応じて、端末装置３００と通信を行う。チャットサーバ１００は、端末装置３００との通信ログを記憶する。チャットサーバ１００は、クラスタサーバ２００からの要求に応じて、通信ログをクラスタサーバ２００に送信する。チャットサーバ１００は、チャットプログラムを実行することで、通信部１０１、用例情報記憶部１０２、チャットログ記憶部１０３、制御部１０４、応答部１０５、類似度算出部１０６及びチャットログ生成部１０７を備える装置として機能する。
【００１６】
通信部１０１は、ネットワークインタフェースである。通信部１０１はネットワーク４００を介して、クラスタサーバ２００又は端末装置３００と通信する。通信部１０１は、例えば無線ＬＡＮ（Local Area Network）、有線ＬＡＮ又はＬＴＥ（Long Term Evolution）（登録商標）等の通信方式で通信してもよい。
【００１７】
用例情報記憶部１０２は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。用例情報記憶部１０２は、用例情報テーブルを記憶する。用例情報テーブルは、チャットサーバ１００が端末装置３００に対して送信するメッセージに関する情報を保持する。
【００１８】
図５は、用例情報テーブルの一具体例を示す図である。用例情報テーブルは、用例情報レコードを有する。用例情報レコードは、質問文、応答文及びサマリの各値を有する。質問文は、端末装置３００から受け付けた文字列と類似度を比較する対象となる文字列を示す。類似度とは、異なる２つの文字列を比較して、文字列の意味がどの程度近いかを示す指標である。類似度は、文間類似度予測モデル等のアルゴリズムによって求められる。
【００１９】
応答文は、チャットサーバ１００が端末装置３００に対して送信する文字列を示す。端末装置３００に対して送信する応答文は、端末装置３００から受け付けたサマリに基づいて決定される。サマリは、チャットサーバ１００が端末装置３００に対して送信する文字列を示す。サマリは、後述の図７に示されるように、端末装置３００のユーザに対する問合せ質問文の確認ボタンに表示される文言である。サマリは、用例情報テーブルの質問文の要約を表す。確認ボタンに表示される文言はＵＩ（User Interface）の問題から、文字数が制限される。送信されるサマリは、端末装置３００から受け付けた問合せ質問文と質問文との類似度に基づいて、決定される。具体的には、類似度が所定の閾値を超えた質問文と同一のレコードに保持されるサマリが端末装置３００に送信される。
【００２０】
図５に示される例では、用例情報テーブルの最上段のレコードは、質問文の値が“パスワードが分からない”、応答文の値が “パスワードが分からない場合は・・・”、サマリの値が“パスワードが分からない”である。従って、用例情報テーブルの最上段のレコードによると、端末装置３００から受け付けた問合せ質問文は、質問文“パスワードが分からない”との類似度が算出される。問合せ質問文との類似度が所定の条件を満たす場合、サマリ“パスワードが分からない”が端末装置３００に送信される。また、端末装置３００からサマリ“パスワードが分からない”を受け付けた場合、応答文“パスワードが分からない場合は・・・”が端末装置３００に送信される。
【００２１】
図２に戻って、チャットサーバ１００の説明を続ける。チャットログ記憶部１０３は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。チャットログ記憶部１０３は、チャットログを記憶する。チャットログは、チャットサーバ１００と端末装置３００とのチャットの履歴を記録したログである。チャットログには、チャットサーバ１００が端末装置３００に対して送信した文字列とチャットサーバ１００が端末装置３００から受信した文字列（問合せ質問文を含む）とチャットを行った時間を示す時間情報とが含まれる。さらに、チャットログには、応答情報と返答情報とが含まれる。
【００２２】
応答情報は、端末装置３００から受け付けた問合せ質問文に対して、チャットサーバ１００からサマリを送信したか否かを示す情報である。応答情報は、例えば、１や０等の２値で示されてもよい。応答情報が２値で示される場合、応答情報は、サマリを送信した場合は１、サマリを送信しなかった場合は０で示されてもよい。応答情報は、端末装置３００に対してどのようなサマリを送信したかを有してもよい。返答情報は、受け付けた問合せ質問文に対して、用例情報記憶部１０２に保持される質問文と対応付けられたか否かを示す情報である。返答情報は、サマリを送信した端末装置３００から、サマリのうちいずれか１つを選択されたか否かを示す情報を含んでもよい。
【００２３】
返答情報は、例えば、１や０等の２値で示されてもよい。返答情報が２値で示される場合、返答情報は、送信されたサマリによって、質問が解決した場合は１、質問が解決しなかった場合は０で示されてもよい。質問が解決した場合とは、例えば、送信されたサマリのうち、「この中にはない」等の送信されたサマリで解決できないことを示すサマリを除いたいずれか１つのサマリが選択された場合であってもよい。質問が解決しなかった場合とは、例えば、端末装置３００のユーザがサマリを選択することなくチャットを離脱した場合であってもよいし、送信されたサマリのうち、「この中にはない」等の送信されたサマリでは解決できないことを示すサマリが選択された場合であってもよい。
【００２４】
制御部１０４は、チャットサーバ１００の各部の動作を制御する。制御部１０４は、例えばＣＰＵ（Central Processing Unit）及びＲＡＭ（Random Access Memory）を備えた装置により実行される。制御部１０４は、チャットプログラムを実行することによって、応答部１０５、類似度算出部１０６及びチャットログ生成部１０７として機能する。
【００２５】
応答部１０５は、端末装置３００とチャットを行う。具体的には、応答部１０５は、端末装置３００からチャット開始の要求を受け付ける。応答部１０５は、チャット開始の要求を受け付けると、要求元の端末装置３００に対して所定の文字列を送信する。所定の文字列は、予め定められた定型文字列である。所定の文字列は、用例情報記憶部１０２に記憶されていてもよいし、応答部１０５が保持していてもよい。なお、応答部１０５は、所定の文字列を送信するタイミングと同じタイミングで、よくある質問等の予め指定されたサマリを端末装置３００に送信してもよい。ユーザは、チャットサーバ１００を運用する者であってもよい。
【００２６】
応答部１０５は、所定の文字列を送信した以降、端末装置３００から文字列を受け付けると、類似度算出部１０６に送信する。応答部１０５は、所定の条件を満たす質問文が保持される用例情報レコードのサマリを取得する。所定の条件とは、例えば、端末装置３００から受け付けた問合せ質問文と用例情報記憶部に記憶される質問文との類似度が一定の値以上となることである。なお、サマリは複数取得されてもよい。類似度が一定の値未満である場合、応答部１０５は、用例情報テーブルには該当する質問文が保持されていないと判断し、サマリを取得することなく、ｎｏｔ  ｆｏｕｎｄを示す文字列を端末装置３００に送信する。ｎｏｔ  ｆｏｕｎｄを示す文字列は、例えば、“自動応答での判断が出来ませんでした。恐れ入りますが、他の言い回しでご入力いただけますか？”という文字列であってもよい。応答部１０５は、所定の文字列と共に取得したサマリを端末装置３００に送信する。所定の文字列は、予め定められた定型文字列である。所定の文字列は、用例情報記憶部１０２に記憶されていてもよいし、応答部１０５が保持していてもよい。サマリと共に送信される所定の文字列は、チャット開始の要求を受け付けた場合に送信される所定の文字列とは異なる。
【００２７】
応答部１０５は、端末装置３００からサマリを受け付けると、受け付けたサマリが保持される用例情報レコードの応答文を取得する。応答部１０５は、取得した応答文を端末装置３００に送信する。なお、応答部１０５は、応答文を送信するタイミングと同じタイミングで、関連する質問等の所定のサマリを端末装置３００に送信してもよい。所定のサマリとは、サービスの提供者等のユーザによって予め指定されたサマリである。ユーザは、例えば、チャットサーバ１００を運用する者であってもよい。
【００２８】
類似度算出部１０６は、端末装置３００から受け付けた問合せ質問文と、用例情報記憶部１０２に記憶される質問文との類似度を算出する。具体的には、類似度算出部１０６は、応答部１０５から問合せ質問文を受け付けると、用例情報記憶部１０２から質問文を取得する。類似度算出部１０６は、問合せ質問文と質問文とに基づいて、類似度を算出する。算出された類似度が所定の条件を満たす場合、どの質問文が所定の条件を満たしたか、応答部１０５に出力する。類似度算出部１０６は、例えば、数式（１）に基づいて、類似度を算出してもよい。数式（１）は、用例情報データベースに保持される全ての質問文のうち、類似度が最大となる質問文に対応付けられた応答文を返す数式である。数式（１）は、sim（q’, ｑij）が、問合せ質問文と質問文との類似度を求める関数を示す。数式（１）のq’は、端末装置３００から受け付けた問合せ質問文を表す。ｑijは、用例情報記憶部１０２に記憶される質問文を表す。r’はq’の応答文を表す。
【００２９】
【数１】
2019046388.tif 000003
【００３０】
類似度算出部１０６は、数式（１）以外の方法で類似度を算出してもよい。例えば、類似度算出部１０６は、ＮＬＣ（Natural Language Classifier）又はレーベンシュタイン距離等のどのようなアルゴリズムを用いて類似度を算出してもよい。類似度算出部１０６は、問合せ質問文q’に対して各応答文riが回答として適当であるか否かを示すscore（q’, ri）を使用することで、問合せ質問文q’に対して、どの応答文riを送信するべきかを算出してもよい。
【００３１】
チャットログ生成部１０７は、チャットサーバ１００と端末装置３００とが送受信した文字列（問合せ質問文を含む）、サマリ等に基づいてチャットログを生成する。チャットログ生成部１０７は生成したチャットログをチャットログ記憶部１０３に記憶させる。
【００３２】
図３は、クラスタサーバ２００の機能構成を表す機能ブロック図である。クラスタサーバ２００は、サーバ又は産業用コンピュータ等の情報処理装置を用いて構成される。クラスタサーバ２００は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備える。クラスタサーバ２００は、チャットサーバ１００と通信を行う。クラスタサーバ２００は、クラスタリングプログラムを実行することで、通信部２０１、クラスタ結果記憶部２０２、入力部２０３、表示部２０４及び制御部２０５を備える装置として機能する。
【００３３】
通信部２０１は、ネットワークインタフェースである。通信部２０１はネットワーク４００を介して、チャットサーバ１００と通信する。通信部２０１は、例えば無線ＬＡＮ、有線ＬＡＮ又はＬＴＥ等の通信方式で通信してもよい。
【００３４】
クラスタ結果記憶部２０２は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。クラスタ結果記憶部２０２は、未クラスタ情報とクラスタ情報とを記憶する。未クラスタ情報は、チャットログに基づいて生成される。未クラスタ情報は、チャットログに含まれる質問文、応答情報及び返答情報を含む情報である。未クラスタ情報は、質問文が所定の条件を満たさないチャットログに基づいて生成される。クラスタ情報については、後述する。
【００３５】
入力部２０３は、タッチパネル、マウス及びキーボード等の入力装置を用いて構成される。入力部２０３は、入力装置をクラスタサーバ２００に接続するためのインタフェースであってもよい。この場合、入力部２０３は、入力装置において入力された入力信号から入力データ（例えば、クラスタサーバ２００に対する指示を示す指示情報）を生成し、クラスタサーバ２００に入力する。
【００３６】
表示部２０４は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の出力装置である。表示部２０４は、出力装置をクラスタサーバ２００に接続するためのインタフェースであってもよい。この場合、表示部２０４は、映像データから映像信号を生成し自身に接続されている映像出力装置に映像信号を出力する。
【００３７】
制御部２０５は、クラスタサーバ２００の各部の動作を制御する。制御部２０５は、例えばＣＰＵ及びＲＡＭを備えた装置により実行される。制御部２０５は、クラスタリングプログラムを実行することによって、データ取得部２０６、クラスタ判定部２０７、サンプリング部２０８、クラスタ生成部２０９、画面生成部２１０及び用例情報更新部２１１として機能する。なお、制御部２０５は、サンプリング部２０８として機能しないように構成されてもよい。
【００３８】
データ取得部２０６は、チャットサーバ１００のチャットログ記憶部１０３から所定期間のチャットログのうち、応答情報及び返答情報が所定の条件を満たすチャットログを取得する。所定の条件とは、応答情報がサマリを送信したことを示していない情報を示すこと、又は応答情報がサマリを送信したことを示し、かつ返答情報が用例情報記憶部１０２に保持される質問文と対応付けられなかったことを示すことである。データ取得部２０６は、所定期間以内に生成された未クラスタ情報をクラスタ結果記憶部２０２から取得する。データ取得部２０６は、所定期間以内に生成されたクラスタ情報のうち、クラスタサイズが所定のサイズ未満のクラスタ情報をクラスタ結果記憶部２０２から取得する。データ取得部２０６は、取得した情報をクラスタ判定部２０７に出力する。所定期間とは、例えば、７日であってもよいし、３０日であってもよい。所定期間は、取得するチャットログ又は未クラスタ情報に応じて、異なる期間であってもよい。
【００３９】
クラスタ判定部２０７は、データ取得部２０６が取得した情報に基づいて、端末装置３００から受け付けた文字列をクラスタリング対象とするか否かを判定する。クラスタ判定部２０７は、取得された情報に含まれる文字列のうち、同じ質問内容かつ異なる文字列の種類を計数する。同じ質問内容かつ異なる文字列とは、文字列同士の類似度が一定の値以上であり、かつ文言が異なる文字列である。クラスタ判定部２０７は、計数した数が閾値未満の文字列については、未クラスタ情報として、クラスタ結果記憶部２０２に記憶させる。クラスタ判定部２０７は、計数した数が閾値以上の文字列については、チャットログ又は未クラスタ情報をサンプリング部２０８に出力する。以下、チャットログ又はクラスタ情報をクラスタリング情報という。
【００４０】
サンプリング部２０８は、クラスタリング情報が所定の閾値よりも多い場合、所定の数未満となるまでクラスタリング情報をランダムに削減する。所定の閾値は、クラスタリング情報の集合の傾向を把握するために統計的に十分な量である。所定の閾値は、例えば、２０００であってもよいし、３０００であってもよい。サンプリング部２０８は、サンプリングしたクラスタリング情報をクラスタ生成部２０９に出力する。
【００４１】
クラスタ生成部２０９は、クラスタリング情報に基づいて、クラスタ情報を生成する。具体的には、クラスタ生成部２０９は、クラスタリング情報に含まれる文字列間に対して、文間類似度予測モデルを用いて、類似度を算出する。類似度は、全ての問合せ文字列間に対して算出される。クラスタ生成部２０９は、算出された類似度が所定の条件を満たすクラスタリング情報を同一グループにグルーピングすることでクラスタ情報を生成する。所定の条件とは、例えば類似度が閾値を超えた場合等である。
【００４２】
図６は、クラスタ情報の一具体例を示す図である。クラスタ情報は、クラスタＩＤ、生成日、問合せ質問文、サマリ、応答情報、返答情報、質問の数及び正答率の各値を有する。クラスタＩＤは、クラスタ情報を識別する識別子である。生成日は、クラスタＩＤが生成された年月日である。問合せ質問文、サマリ、応答情報及び返答情報は、いずれもグルーピングされたチャットログに含まれていた値である。質問の数は、グルーピングされたチャットログの数である。正答率は、端末装置３００から受け付けた問合せ質問文に対して送信したサマリから、いずれか１つのサマリが選択された場合の割合を示す。正答率は、応答情報と返答情報とに基づいて算出される。具体的には、正答率は、クラスタ情報に含まれる返答情報のうち、質問が解決した場合の総数を、クラスタ情報に含まれる応答情報の総数で除算することで算出される。
【００４３】
図３に戻って、クラスタサーバ２００の説明を続ける。クラスタ生成部２０９は、グルーピングされたクラスタ情報毎にクラスタＩＤを付与する。クラスタ生成部２０９は、クラスタ情報毎に正答率を算出する。ここで選択されたサマリは、正答とみなされる。クラスタ生成部２０９は、生成したクラスタ情報をクラスタ結果記憶部２０２に記憶させる。クラスタ生成部２０９は、クラスタ情報を画面生成部２１０に出力する。
【００４４】
画面生成部２１０は、受け付けたクラスタ情報に基づいて、画面情報を生成する。画面生成部２１０は、画面情報を表示部２０４に表示させる。画面生成部２１０は、入力部２０３から受け付けた入力に基づいて、画面情報を再生成してもよい。この場合、再生成された画面情報は、表示部２０４に出力される。
【００４５】
用例情報更新部２１１は、チャットサーバ１００の用例情報記憶部１０２の用例情報テーブルを更新する。具体的には、用例情報更新部２１１は、入力部２０３から受け付けた入力情報に基づいて、用例情報レコードを生成する。用例情報更新部２１１は、生成した用例情報レコードを用例情報テーブルに記憶させる。入力情報は、例えば、質問文、応答文及びサマリの３つ組の情報であってもよい。
【００４６】
図４は、端末装置３００の機能構成を表す機能ブロック図である。端末装置３００は、スマートフォン、タブレットコンピュータ又はパーソナルコンピュータ等の情報処理装置を用いて構成される。端末装置３００は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備える。端末装置３００は、チャットサーバ１００と通信を行う。端末装置３００は、チャットプログラムを実行することで、通信部３０１、入力部３０２、表示部３０３及び制御部３０４を備える装置として機能する。端末装置３００は、チャットサーバ１００のチャット相手である。
【００４７】
通信部３０１は、ネットワークインタフェースである。通信部３０１はネットワーク４００を介して、チャットサーバ１００と通信する。通信部３０１は、例えば無線ＬＡＮ、有線ＬＡＮ又はＬＴＥ等の通信方式で通信してもよい。
【００４８】
入力部３０２は、タッチパネル、マウス及びキーボード等の入力装置を用いて構成される。入力部３０２は、入力装置を端末装置３００に接続するためのインタフェースであってもよい。この場合、入力部３０２は、入力装置において入力された入力信号から入力データ（例えば、端末装置３００に対する指示を示す指示情報）を生成し、端末装置３００に入力する。
【００４９】
表示部３０３は、ＣＲＴディスプレイ、液晶ディスプレイ、有機ＥＬディスプレイ等の出力装置である。表示部３０３は、出力装置を端末装置３００に接続するためのインタフェースであってもよい。この場合、表示部３０３は、映像データから映像信号を生成し自身に接続されている映像出力装置に映像信号を出力する。
【００５０】
制御部３０４は、端末装置３００の各部の動作を制御する。制御部３０４は、例えばＣＰＵ及びＲＡＭを備えた装置により実行される。制御部３０４は、チャットプログラムを実行することによって、チャット部３０５及び画面生成部３０６として機能する。
【００５１】
チャット部３０５は、入力部３０２からの入力に応じて、チャットサーバ１００に対してチャット開始の要求を送信する。チャット部３０５は、チャットサーバ１００から文字列（例えば、サマリ又は応答文）を受信すると、画面生成部３０６に出力する。チャット部３０５は、チャット開始の要求後、入力部３０２から受け付けた入力に応じて、チャットサーバ１００に対して文字列又はサマリを送信する。
【００５２】
画面生成部３０６は、入力部３０２から受け付けた入力情報、チャットサーバ１００から受け付けた文字列又はサマリに基づいて、画面情報を生成する。生成された画面情報は表示部３０３に出力される。画面生成部３０６は、入力部３０２から受け付けた入力に基づいて、画面情報を再生成してもよい。この場合、再生成された画面情報は、表示部３０３に出力される。
【００５３】
図７は、端末装置３００の表示部３０３に表示されるチャットの第１の具体例を示す図である。表示部３０３には、吹出４０１、領域４０２、吹出４０３、領域４０４、吹出４０５、領域４０６、領域４０７、吹出４０８、領域４０９及びボタン４１０を含む。
【００５４】
吹出４０１は、端末装置３００からチャット開始の要求を受け付けた場合に、応答部１０５から送信される所定の文字列を表す。領域４０２は、チャットサーバ１００が吹出４０１に含まれる文字列を送信した時間を表す。領域４０２によると、チャットサーバ１００は、４分前に、吹出４０１に含まれる文字列を送信したことがわかる。
【００５５】
吹出４０３は、端末装置３００からチャットサーバ１００に対して送信された質問文を表す。領域４０４は、端末装置３００が吹出４０３に含まれる質問文を送信した時間を表す。領域４０４によると、端末装置３００は、たった今、吹出４０３に含まれる質問文を送信したことがわかる。表示部３０３では、吹出４０１及び吹出４０３のように、チャットサーバ１００が送信した文字列と、端末装置３００が送信した文字列とでは吹出の向きが異なって表示される。
【００５６】
吹出４０５は、端末装置３００からチャット開始の要求を受け付けた場合に、応答部１０５から送信される所定の文字列を表す。領域４０６は、チャットサーバ１００が吹出４０５に含まれる文字列を送信した時間を表す。領域４０６によると、チャットサーバ１００は、たった今、吹出４０５に含まれる文字列を送信したことがわかる。
【００５７】
領域４０７は、チャットサーバ１００が送信したサマリが表示された確認ボタンを表す。送信されるサマリは、端末装置３００によって送信された質問文（吹出４０３に含まれる文字列）に基づいて決定される。領域４０７によると、サマリは“ゲーム連携とは”、“ゲーム連携のタブが表示されない”、“ゲームの連携方法”、“ゲーム連携ができない場合”、及び“ゲーム連携の特典”の５つが送信されている。吹出４０８は、チャットサーバ１００が送信したサマリが表示された確認ボタンを表す。吹出４０８は、端末装置によって送信された質問文の内容に関わらず、領域４０７に含まれるサマリが送信される場合に、必ず送信されるサマリを表す。
【００５８】
端末装置３００のユーザは、入力部３０２を介して、領域４０７のいずれか１つのサマリ又は吹出４０８のサマリの１つを選択してもよい。選択されたサマリは、チャットサーバ１００に送信される。
【００５９】
領域４０９は、文字列入力領域である。端末装置３００のユーザは、入力部３０２を介して、領域４０９に文字列を入力してもよい。入力された文字列は、領域４０９に表示される。ボタン４１０は、送信を表すボタンである。端末装置３００のユーザは、入力部３０２を介して、ボタン４１０を選択する。ボタン４１０が選択されると、端末装置３００は、領域４０９に入力された文字列をチャットサーバ１００に送信する。
【００６０】
図８は、端末装置３００の表示部３０３に表示されるチャットの第２の具体例を示す図である。表示部３０３には、吹出４１１、吹出４１２及び領域４１３を含む。なお、図７で詳述した吹出、領域及びボタンについては、説明を省略する。
【００６１】
吹出４１１は、図７の領域４０７に含まれるサマリが選択された場合に表示される。吹出４１１は、文字列“ゲームの連携とは”を含む。したがって、吹出４１１は、領域４０７に含まれるサマリ“ゲームの連携とは”が選択されたことで表示されたことがわかる。
【００６２】
吹出４１２は、チャットサーバ１００が送信した応答文を含む。吹出４１２の応答文は、端末装置３００から送信されたサマリに基づいて決定される。領域４１３は、応答文とともに送信されたサマリを表す領域である。端末装置３００のユーザは、入力部３０２を介して、領域４１３のいずれか１つのサマリを選択してもよい。選択されたサマリは、チャットサーバ１００に送信される。
【００６３】
図９は、端末装置３００とチャットサーバ１００とのチャットの一具体例を示すシーケンス図である。端末装置３００のチャット部３０５は、チャットサーバ１００に対してチャット開始の要求を送信する（ステップＳ１０１）。チャットサーバ１００の応答部１０５は、端末装置３００に対して所定の文字列を送信する（ステップＳ１０２）。端末装置３００の入力部３０２は、質問文を受け付ける（ステップＳ１０３）。チャット部３０５は、受け付けた質問文をチャットサーバ１００に送信する（ステップＳ１０４）。
【００６４】
チャットサーバ１００の類似度算出部１０６は、端末装置３００から受け付けた問合せ文字列と用例情報記憶部１０２に記憶される質問文とに基づいて、類似度を算出する（ステップＳ１０５）。応答部１０５は、類似度に基づいて、サマリを取得する（ステップＳ１０６）。具体的には、類似度が所定の条件を満たす、質問文と同じ用例情報レコードに保持されるサマリを取得する。応答部１０５は、サマリを複数取得してもよい。応答部１０５は、取得したサマリを端末装置３００に送信する（ステップＳ１０７）。入力部３０２は、端末装置３００が受信したサマリの選択を受け付ける（ステップＳ１０８）。チャット部３０５は、選択されたサマリをチャットサーバ１００に送信する（ステップＳ１０９）。
【００６５】
応答部１０５は、受信したサマリに基づいて、応答文を取得する（ステップＳ１１０）。具体的には、応答部１０５は、受信したサマリと同じ用例情報レコードに保持される応答文を取得する。応答部１０５は、取得した応答文を端末装置３００に送信する（ステップＳ１１１）。チャットサーバ１００のチャットログ生成部１０７は、チャットサーバ１００と端末装置３００とが送受信した文字列、サマリ等に基づいてチャットログを生成する（ステップＳ１１２）。チャットログ生成部１０７は、チャットログをチャットログ記憶部１０３に記憶させる（ステップＳ１１３）。
【００６６】
図１０は、クラスタサーバ２００のクラスタ情報生成の流れを示すフローチャートである。クラスタサーバ２００のデータ取得部２０６は、チャットログ及び未クラスタ情報を取得する（ステップＳ２０１）。具体的には、データ取得部２０６は、チャットサーバ１００のチャットログ記憶部１０３から所定期間のチャットログのうち、応答情報及び返答情報が所定の条件を満たすチャットログを取得する。所定の条件とは、応答情報がサマリを送信したことを示していない情報を示すこと、又は応答情報がサマリを送信したことを示し、かつ返答情報が、質問が解決しなかったことを示すことである。データ取得部２０６は、所定期間以内に生成された未クラスタ情報を取得する。データ取得部２０６は、所定期間以内に生成されたクラスタ情報のうち、クラスタサイズが所定のサイズ未満のクラスタ情報を取得する。
【００６７】
クラスタリングサーバのクラスタ判定部２０７は、チャットログ又は未クラスタ情報に基づいて、端末装置３００から受け付けた文字列をクラスタリング対象とするか否かを判定する（ステップＳ２０２）。クラスタ判定部２０７は、クラスタリング対象外と判定したチャットログ又は未クラスタ情報を、未クラスタ情報としてクラスタ結果記憶部２０２に記憶させる（ステップＳ２０３）。ここで、クラスタリング対象と判定されたチャットログ又は未クラスタ情報をクラスタリング情報という。クラスタサーバ２００のサンプリング部２０８は、クラスタリング情報の数が閾値よりも大きいか否かを判定する（ステップＳ２０４）。
【００６８】
クラスタリング情報の数が閾値よりも大きい場合（ステップＳ２０４：ＹＥＳ）、サンプリング部２０８は、閾値未満となるまでクラスタリング情報をランダムに削減する（ステップＳ２０５）。クラスタリング情報の数が閾値以下の場合（ステップＳ２０４：ＮＯ）、ステップＳ２０６に遷移する。
【００６９】
クラスタ生成部２０９は、クラスタリング情報に基づいて、クラスタ情報を生成する（ステップＳ２０６）。具体的には、クラスタ生成部２０９は、クラスタリング情報に含まれる問合せ文字列間に対して、文間類似度予測モデルを用いて、類似度を算出する。類似度は、全ての文字列の組み合わせ間に対して算出される。クラスタ生成部２０９は、算出された類似度が所定の条件を満たすクラスタリング情報をグルーピングして、クラスタ情報を生成する。クラスタ生成部２０９は、クラスタＩＤを決定し、クラスタ情報に含める。クラスタ生成部２０９は、正答率を算出し、クラスタ情報に含める。クラスタ生成部２０９は、生成したクラスタ情報をクラスタ結果記憶部２０２に記憶させる（ステップＳ２０７）。クラスタサーバ２００の画面生成部２１０は、クラスタ情報に基づいて、画面情報を生成する（ステップＳ２０８）。画面生成部２１０は、生成した画面情報を表示部２０４に表示させる（ステップＳ２０９）。
【００７０】
図１１は、表示部２０４に表示される画面情報の一具体例を示す図である。画面情報は、領域５０１、領域５０２、領域５０３、領域５０４及び領域５０５を含む。領域５０１は、入力部２０３から受け付けた指示に応じて、画面表示の対象となるクラスタ情報を決定する領域である。領域５０１は、項目としてat_clustered、テナント、クラスタサイズ及び正答率を含む。図１１は一具体例であり、画像情報は、領域５０１、領域５０２、領域５０３、領域５０４及び領域５０５のうち、少なくとも１つの領域を含むように構成されてもよい。
【００７１】
at_clusteredは、クラスタ情報が生成された日時を表す。例えば、“20170625”が選択された場合、画面生成部２１０は、“20170625”に生成されたクラスタ情報に基づいて、画面情報を生成する。テナントは、チャットサーバ１００を利用するユーザを表す。例えば、“ゲーム会社”が選択された場合、テナント“ゲーム会社”に関する問い合わせ質問文を含むクラスタ情報に基づいて、画面情報が生成される。クラスタサイズは、表示部２０４に表示されるクラスタ情報のサイズを指定する。例えば、クラスタサイズとして、３が選択された場合、クラスタサイズが３以上となるクラスタ情報に基づいて、画面情報が生成される。クラスタサイズとは、クラスタ情報を生成するためにグルーピングされたクラスタリング情報の数である。正答率は、クラスタ情報に含まれる正答率である。例えば、正答率として、０．５が指定された場合、正答率が０．５以下となるクラスタ情報に基づいて、画面情報が生成される。
【００７２】
領域５０２は、各クラスタ情報をクラスタサイズの大きい順にソートしたグラフを表示する領域である。領域５０２は、領域５２１を含む。領域５０２は、横軸がクラスタＩＤ、縦軸がクラスタサイズを表す。領域５２１は、入力部２０３を介して選択されたクラスタ情報を示す領域である。選択されたクラスタ情報は、色が濃くなる、色が変わる、太線で囲まれる、等強調して表示される。なお、領域５０２に表示される各クラスタ情報は、正答率に応じて、異なる色で表示されてもよい。例えば、正答率が０．３未満の場合は赤、０．３以上０．６未満の場合は黄色、０．６以上の場合は緑等である。
【００７３】
領域５０３は、選択されたクラスタ情報に含まれる問合せ質問文を一覧表示する領域である。領域５０３は、項目として、クラスタＩＤ、質問の数、問合せ質問文、dist_from及び個数を含む。クラスタＩＤは、クラスタ情報に含まれる、各クラスタ情報を識別する識別子である。領域５０３に表示されるクラスタ情報のクラスタＩＤは“４１９”である。質問の数は、クラスタ情報に含まれる問合せ質問文の種類の数を表す。領域５０３によると、質問の数は“１５”である。dist_fromは、基準問合せ質問文との距離の近さを表す。距離の近さとは、問合せ質問文間の意味の近さを表す。距離の近さとは、例えば、類似度に基づいて算出される。距離が近いほど、dist_fromの値は、０に近づく。基準問合せ質問文は、dist_fromが０となる。領域５０３によると、基準問合せ質問文は、“認証コードのメールが来ません”であることがわかる。基準問合せ質問文は、入力部２０３を介して、選択することで、変更することができる。個数は、クラスタ情報に同じ問合せ質問文が含まれる個数を表す。また、個数に隣接する記号〇は、dist_fromの値に応じて、色又は形が変化してもよい。例えば、例えば、dist_fromが０．３未満の場合は青、０．３以上０．６未満の場合は黄色、０．６以上の場合は赤等である。
【００７４】
領域５０４は、チャットサーバ１００が問合せ質問文に対して送信したサマリのうち、いずれのサマリが選択されたかを表す領域である。領域５０４には返答情報が表示されてもよい。領域５０４は、サマリ、質問文、応答文、rank及びscoreを含む。サマリは、問合せ質問文に対して、端末装置３００から送信されたサマリが表示される。質問文は、サマリが保持される用例情報レコードの質問文が表示される。応答文は、サマリが保持される用例情報レコードの応答文が表示される。rankは、問合せ質問文に対して、質問文の類似度が何番目に高かったかを示す値である。rankは類似度に基づいて算出される。scoreは、問合せ質問文と質問文との類似度を示す値である。
【００７５】
領域５０５は、クラスタ情報に含まれる各問合せ質問文の意味の近さをマッピングした散布図を表す領域である。領域５０５に示される図は、各問合せ質問文の類似度が小さいほど、近い場所にマッピングされる。領域５０２で選択されたクラスタ情報に含まれる各問合せ質問文は、領域５０１に含まれるクラスタ中心からの距離に記載される色グラフに応じて、色が濃くなる、色が変わる等によって、強調して表示される。領域５０５に示されるグラフは、例えば、主成分分析（ＰＣＡ：Principal Component Analysis）等の既存のアルゴリズムによって求められる。
【００７６】
このように構成されたチャットシステム１では、チャットサーバ１００と端末装置３００のユーザとが行ったチャットに基づいてチャットログが生成される。クラスタサーバ２００は、生成されたチャットログに含まれる問合せ質問文間の類似度が高いチャットログどうしをグルーピングすることで、複数のクラスタ情報を生成する。クラスタサーバ２００の画面生成部２１０は、所定の正答率未満のクラスタ情報を対象にして、質問の数をソートして表示される画面情報を生成する。チャットログの分析を行うユーザは、生成された棒グラフを確認することで、用例情報テーブルに追加するべき問合せ質問文をより効率的に分析することができる。
【００７７】
用例情報更新部２１１は、チャットログの分析を行うユーザから受け付けた入力に応じて、特定された問合せ質問文に対する用例情報レコードを生成し、用例情報テーブルに記憶させる。チャットサーバ１００は、新しい用例情報レコードが追加された用例情報テーブルから応答文を取得することで端末装置３００とチャットすることができる。したがって、チャットサーバ１００は、端末装置３００から送信されたより多くの種類の問合せ質問文に対して、応答することができる。
【００７８】
サンプリング部２０８は、クラスタリング情報が所定の閾値よりも多い場合、所定の数未満となるまでクラスタリング情報を削減することで、クラスタ生成部２０９によるクラスタ情報の生成に伴う計算量を抑制することができる。
【００７９】
データ取得部２０６は、所定期間（例えば、１ヶ月）以内に生成されたクラスタ情報のうち、クラスタサイズが所定のサイズ未満のクラスタ情報を取得する。このように構成されることで、所定期間よりも短い期間（例えば、１週間）では、所定のサイズ以上にはならないクラスタ情報であっても、所定期間よりも長い期間では、所定のサイズ以上となるクラスタ情報を分析対象に含められる。したがって、チャットログの分析を行うユーザは、長期間で所定のサイズ以上となるクラスタ情報に対して用例情報テーブルに追加するべきか否かを分析することができる。
【００８０】
＜変形例＞
応答部１０５は、用例情報テーブルに記憶される応答文以外の文字列を取得するように構成されてもよい。この場合、例えば、用例情報記憶部１０２は、入力文字列と質問文とを対応付けて記憶してもよい。入力文字列は、問合せ質問文に対する応答用の文字列である。入力文字列は、オペレーター等によってマイクやキーボード等の入力装置を用いて入力された文字列である。質問文は、問合せ質問文との類似度が算出される文字列である。応答部１０５は、類似度が最も高い質問文と対応付けて記憶された入力文字列を取得する。応答部１０５は、取得した入力文字列を端末装置３００に送信する。このように構成されることで、より高い精度で端末装置３００から送信された問合せ質問文のうち、用例情報テーブルに保持されていない問合せについても応答することができる。
【００８１】
応答部１０５は、問合せ質問文に応じてサマリを取得する場合に、類似度が所定の条件を満たした場合、サマリの代わりに１つの応答文を取得するように構成されてもよい。所定の条件とは、例えば、類似度が特定の値よりも大きく、かつ最も他の類似度よりも大きい場合であってもよいし、他のどの類似度よりも２倍以上大きい場合であってもよい。
このように構成されることで、より迅速に端末装置３００から送信された問合せ質問文に応答することができる。
【００８２】
上述した実施形態におけるチャットサーバ１００及びクラスタサーバ２００をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００８３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００８４】
本発明は、ユーザから直接の問い合わせを受け付けるサービスに適用することができる。
【符号の説明】
【００８５】
１…チャットシステム，  １００…チャットサーバ，  １０１…通信部，  １０２…用例情報記憶部，  １０３…チャットログ記憶部，  １０４…制御部，  １０５…応答部，  １０６…類似度算出部，  １０７…チャットログ生成部，  ２００…クラスタサーバ，  ２０１…通信部，  ２０２…クラスタ結果記憶部，  ２０３…入力部，  ２０４…表示部，  ２０５…制御部，  ２０６…データ取得部，  ２０７…クラスタ判定部，  ２０８…サンプリング部，  ２０９…クラスタ生成部，  ２１０…画面生成部，  ２１１…用例情報更新部，  ３００…端末装置，  ３０１…通信部，  ３０２…入力部，  ３０３…表示部，  ３０４…制御部，  ３０５…チャット部，  ３０６…画面生成部，  ４００…ネットワーク
【図１】
2019046388.tif 000004
【図２】
2019046388.tif 000005
【図３】
2019046388.tif 000006
【図４】
2019046388.tif 000007
【図５】
2019046388.tif 000008
【図６】
2019046388.tif 000009
【図７】
2019046388.tif 000010
【図８】
2019046388.tif 000011
【図９】
2019046388.tif 000012
【図１０】
2019046388.tif 000013
【図１１】
2019046388.tif 000014
【手続補正書】
【提出日】平成30年10月29日(2018.10.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
チャット相手となる端末装置から受信した質問を表す問合せ質問文と、前記問合せ質問文に対して前記端末装置に応答を行ったことを示す応答情報と、前記応答に対して前記端末装置から所定の返答を受け付けたことを示す返答情報と、を含むチャットログを生成するチャットログ生成部と、
前記チャットログに含まれる問合せ質問文間の意味の近さを表す類似度を算出し、前記類似度が所定の条件を満たした質問文を含む前記チャットログどうしをグルーピングすることで複数のクラスタ情報を生成し、前記応答情報と前記返答情報とに基づいて、前記問合せ質問文に対して正答となる応答を行った割合を示す正答率を前記クラスタ情報毎に算出するクラスタ生成部と、
前記正答率が所定の条件を満たす前記クラスタ情報を、前記問合せ質問文の数でソートして表示される画面情報を生成する画面生成部と、
を備える、チャットシステム。
【請求項２】
前記クラスタ生成部は、前記正答率を、前記クラスタ情報に含まれる前記返答情報の数のうち、質問が解決した場合の数を前記クラスタ情報に含まれる前記応答情報の数で除算することで算出する請求項１に記載のチャットシステム。
【請求項３】
前記画面生成部は、前記正答率に関する条件を受け付ける領域と、前記クラスタ情報をグラフ表示する領域と、前記クラスタ情報に含まれる問合せ質問文を一覧表示する領域と、前記問合せ情報に対する前記返答情報を表示する領域と、前記問合せ質問文間の意味の近さを散布図で表示する領域と、のうち、少なくとも１つがさらに表示される前記画面情報を生成する請求項１または２に記載のチャットシステム。
【請求項４】
チャット相手となる端末装置から受信した質問を表す問合せ質問文と、前記問合せ質問文に対して前記端末装置に応答を行ったことを示す応答情報と、前記応答に対して前記端末装置から所定の返答を受け付けたことを示す返答情報と、を含むチャットログを取得するデータ取得部と、
前記チャットログに含まれる問合せ質問文間の意味の近さを表す類似度を算出し、前記類似度が所定の条件を満たした質問文を含む前記チャットログどうしをグルーピングすることで複数のクラスタ情報を生成し、前記応答情報と前記返答情報とに基づいて、前記問合せ質問文に対して正答となる応答を行った割合を示す正答率を前記クラスタ情報毎に算出するクラスタ生成部と、
前記正答率が所定の条件を満たす前記クラスタ情報を、前記問合せ質問文の個数でソートして表示される画面情報を生成する画面生成部と、
を備える、サーバ。
【請求項５】
チャットシステムが、チャット相手となる端末装置から受信した質問を表す問合せ質問文と、前記問合せ質問文に対して前記端末装置に応答を行ったことを示す応答情報と、前記応答に対して前記端末装置から所定の返答を受け付けたことを示す返答情報と、を含むチャットログを生成するチャットログ生成ステップと、
チャットシステムが、前記チャットログに含まれる問合せ質問文間の意味の近さを表す類似度を算出し、前記類似度が所定の条件を満たした質問文を含む前記チャットログどうしをグルーピングすることで複数のクラスタ情報を生成し、前記応答情報と前記返答情報とに基づいて、前記問合せ質問文に対して正答となる応答を行った割合を示す正答率を前記クラスタ情報毎に算出するクラスタ生成ステップと、
チャットシステムが、前記正答率が所定の条件を満たす前記クラスタ情報を、前記問合せ質問文の個数でソートして表示される画面情報を生成する画面生成ステップと、
を有する、画面生成方法。
【請求項６】
請求項１から３のいずれか一項に記載のチャットシステムとしてコンピュータを機能させるためのコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明の一態様は、上記のチャットシステムであって、前記クラスタ生成部は、前記正答率を、前記クラスタ情報に含まれる前記返答情報の数のうち、質問が解決した場合の数を前記クラスタ情報に含まれる前記応答情報の数で除算することで算出する。