(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-21
(45)【発行日】2025-04-30
(54)【発明の名称】QAデータ評価装置
(51)【国際特許分類】
G06F 11/34 20060101AFI20250422BHJP
G06F 16/90 20190101ALI20250422BHJP
【FI】
G06F11/34 138
G06F11/34 176
G06F16/90 100
(21)【出願番号】P 2023508213
(86)(22)【出願日】2021-03-23
(86)【国際出願番号】 JP2021011973
(87)【国際公開番号】W WO2022201302
(87)【国際公開日】2022-09-29
【審査請求日】2023-09-07
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】蝶野 大地
【審査官】今川 悟
(56)【参考文献】
【文献】特開2019-082964(JP,A)
【文献】特開2017-117184(JP,A)
【文献】特開2020-057117(JP,A)
【文献】特開2019-185614(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/34
G06F 16/90
(57)【特許請求の範囲】
【請求項1】
チャットボットに対するユーザからの質問の内容及び前記質問に対する前記チャットボットからの応答の内容を含むQAデータと、前記ユーザによる前記チャットボットの利用に関するログ情報と、を取得する取得手段と、
前記ログ情報から前記ユーザによる前記チャットボットの利用の時間的な挙動に関する特徴量を抽出する抽出手段と、
前記特徴量に基づいて、前記QAデータの良し悪しを示すQAデータ評価情報を生成する生成手段と、
を備えるQAデータ評価装置。
【請求項2】
前記ログ情報の意味的な類似性に応じて、複数の前記ログ情報を複数のグループにクラスタリングするクラスタリング手段をさらに備え、
前記抽出手段は、前記複数の
グループそれぞれに属する複数のログ情報のそれぞれから前記特徴量を抽出し、
前記生成手段は、前記複数のログ情報のそれぞれから抽出した複数の特徴量を統計処理した結果に基づいて、前記QAデータ評価情報を生成する、
請求項1に記載のQAデータ評価装置。
【請求項3】
前記特徴量は、前記ユーザからの最後の質問に対する応答の内容を出力してか
らチャットの終了までの時間に関する特徴量である、
請求項1または2に記載のQAデータ評価装置。
【請求項4】
前記特徴量は、前記ユーザから前記チャットボットに対して質問の内容が入力された時点から所定時間経過前に別の質問の内容が入力される頻度に関する特徴量である、
請求項1又は2に記載のQAデータ評価装置。
【請求項5】
前記生成されたQAデータ評価情報を表示するQAデータ管理手段を、さらに備える、
請求項1乃至4の何れかに記載のQAデータ評価装置。
【請求項6】
前記QAデータ管理手段は、前記チャットボットの管理者による前記QAデータに対する操作入力に応じて、前記QAデータを更新するか、削除するか、または追加する、
請求項5に記載のQAデータ評価装置。
【請求項7】
前記QAデータ管理手段は、前記QAデータ評価情報の生成に用いられた前記ログ情報を表示する、
請求項5または6に記載のQAデータ評価装置。
【請求項8】
前記QAデータ管理手段は、前記ログ情報から前記QAデータ評価情報を作成するために用いた前記特徴量の種別と前記QAデータの良し悪しを表す評価値の算出基準とを含むルールを表示する、
請求項5乃至7の何れかに記載のQAデータ評価装置。
【請求項9】
コンピュータによるQAデータ評価方法であって、
前記コンピュータが、チャットボットに対するユーザからの質問の内容及び前記質問に対する前記チャットボットからの応答の内容を含むQAデータと、前記ユーザによる前記チャットボットの利用に関するログ情報と、を取得し、
前記コンピュータが、前記ログ情報から前記ユーザによる前記チャットボットの利用の時間的な挙動に関する特徴量を抽出し、
前記コンピュータが、前記特徴量に基づいて、前記QAデータの良し悪しを示すQAデータ評価情報を生成する、
QAデータ評価方法。
【請求項10】
コンピュータに、
チャットボットに対するユーザからの質問の内容及び前記質問に対する前記チャットボットからの応答の内容を含むQAデータと、前記ユーザによる前記チャットボットの利用に関するログ情報と、を取得する処理と、
前記ログ情報から前記ユーザによる前記チャットボットの利用の時間的な挙動に関する特徴量を抽出する処理と、
前記特徴量に基づいて、前記QAデータの良し悪しを示すQAデータ評価情報を生成する処理と、
を行わせるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、QAデータ評価装置、QAデータ評価方法、および記録媒体に関する。
【背景技術】
【0002】
チャットユーザから送信される質問テキストに対して、適切な応答テキストをチャットユーザに提示する情報処理システムが、チャットボットシステムとして提案ないし実用化されている。チャットボットシステムは、想定される質問テキストとその質問テキストに対する応答テキストとを対応付けたQAデータを記憶するQAデータDB(データベース)を参照して、チャットユーザから送信される質問テキストに応じた応答テキストを取得してチャットユーザに提示する。従って、チャットボットシステムの信頼性は、QAデータの品質によって決定されると言っても過言ではない。そのため、チャットボットシステムの管理者は、QAデータの品質向上のために実際の運用の結果に基づいてQAデータの良し悪しを表す学習データを作成し、その学習データに基づいてQAデータの修正、削除、追加などのメンテナンスを実施している。QAデータの良し悪しは、当該QAデータに含まれる応答が質問に対して適切であるか否かを示す評価情報を、チャットユーザが入力することで評価できる。このように、チャットユーザにより能動的に入力される評価情報を、以下では「能動的な評価情報」と呼ぶ。一方で、チャットユーザにより能動的に入力されないような評価情報を、以下では「非能動的な評価情報」と呼ぶ。
【0003】
例えば、特許文献1には、応答を提示した後のチャットユーザの声の抑揚や高さを非能動的な評価情報として取得し、その取得した情報に基づいてQAデータの良し悪しを表す学習データを作成することが開示されている。
【0004】
また、特許文献2には、チャットボットの応答に対してチャットユーザが行った発話をテキスト化したテキスト情報、上記発話の音声をデジタル化した音声データ、応答を聞いたときのチャットユーザの姿を写した画像をデジタル化した画像データ、応答を聞いた時点前後のチャットユーザの生体情報(脈拍、心拍数、血圧、脳波、呼吸数など)を、非能動的な評価情報として取得することが開示されている。
【0005】
また、チャットボットに関連する技術として、単位時間当たりの利用ユーザ数、ユーザの平均利用時間、チャット内容情報に基づいて、多数のチャットボットサービスの中から信頼して使用できるチャットボットサービスを検索する技術が特許文献3に開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2020-91513号公報
【文献】特開2019-45978号公報
【文献】特開2019-185614号公報
【文献】特許第5817531号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、チャットユーザから非能動的な評価情報を取得することが難しい場合がある。
【0008】
本発明の主たる目的は、非能動的な評価情報を容易に取得可能にする情報処理装置を提供することにある。
【課題を解決するための手段】
【0009】
本発明の一形態に係るQAデータ評価装置は、
チャットボットに対するユーザからの質問の内容及び前記質問に対する前記チャットボットからの応答の内容を含むQAデータと、前記ユーザによる前記チャットボットの利用に関するログ情報と、を取得する取得手段と、
前記ログ情報から前記ユーザによる前記チャットボットの利用の時間的な挙動に関する特徴量を抽出する抽出手段と、
前記特徴量に基づいて、前記QAデータの良し悪しを示すQAデータ評価情報を生成する生成手段と、
を備えるように構成されている。
【0010】
また、本発明の一形態に係るQAデータ評価方法は、
チャットボットに対するユーザからの質問の内容及び前記質問に対する前記チャットボットからの応答の内容を含むQAデータと、前記ユーザによる前記チャットボットの利用に関するログ情報と、を取得し、
前記ログ情報から前記ユーザによる前記チャットボットの利用の時間的な挙動に関する特徴量を抽出し、
前記特徴量に基づいて、前記QAデータの良し悪しを示すQAデータ評価情報を生成する、ように構成されている。
【0011】
また、本発明の一形態に係るコンピュータ読み取り可能な記録媒体は、
コンピュータに、
チャットボットに対するユーザからの質問の内容及び前記質問に対する前記チャットボットからの応答の内容を含むQAデータと、前記ユーザによる前記チャットボットの利用に関するログ情報と、を取得する処理と、
前記ログ情報から前記ユーザによる前記チャットボットの利用の時間的な挙動に関する特徴量を抽出する処理と、
前記特徴量に基づいて、前記QAデータの良し悪しを示すQAデータ評価情報を生成する処理と、
を行わせるためのプログラムを記録するように構成されている。
【発明の効果】
【0012】
本発明は、上述したような構成を有することにより、非能動的な評価情報を容易に取得することができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の第1の実施形態に係る情報処理装置のブロック図である。
【
図2】本発明の第1の実施形態に係る情報処理装置におけるQAデータDBの構成例を示す図である。
【
図3】本発明の第1の実施形態に係る情報処理装置におけるチャットログDBの構成例を示す図である。
【
図4】本発明の第1の実施形態に係る情報処理装置におけるクラスタDBの構成例を示す図である。
【
図5A】本発明の第1の実施形態に係る情報処理装置におけるルールDBの構成例を示す図である。
【
図5B】本発明の第1の実施形態に係る情報処理装置におけるルールの一例を示す図である。
【
図5C】本発明の第1の実施形態に係る情報処理装置におけるルールの他の例を示す図である。
【
図6】本発明の第1の実施形態に係る情報処理装置における学習データDBの構成例を示す図である。
【
図7】本発明の第1の実施形態に係る情報処理装置におけるチャットボット処理およびチャットログ収集処理の一例を示すフローチャートである。
【
図8】本発明の第1の実施形態に係る情報処理装置における学習データ生成処理の一例を示すフローチャートである。
【
図9】本発明の第1の実施形態に係る情報処理装置におけるチャットのログ情報の例を示す図である。
【
図10】本発明の第1の実施形態に係る情報処理装置においてログ情報中の質問テキストおよび応答テキストを集めて生成された文書の例を示す図である。
【
図11】本発明の第1の実施形態に係る情報処理装置における学習データ生成部がステップS25で実行する処理の一例を示すフローチャートである。
【
図12】本発明の第1の実施形態に係る情報処理装置におけるチャットボット管理画面の例を示す図である。
【
図13】本発明の第2の実施形態に係るQAデータ評価装置のブロック図である。
【発明を実施するための形態】
【0014】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、本発明の第1の実施形態に係る情報処理装置100のブロック図である。
図1を参照すると、情報処理装置100は、チャットユーザが操作する端末装置から受信する質問テキストに対して、適切な応答テキストをチャットユーザが操作する端末装置に出力するチャットボットの機能と、チャットボットが使用するQAデータを評価する機能とを有する。情報処理装置100は、主な構成要素として、通信I/F(インターフェース)部110と、操作入力部120と、画面表示部130と、記憶部140と、演算処理部150とを備えている。
【0015】
通信I/F部110は、データ通信回路から構成され、無線または有線によって1以上のユーザ端末160との間でデータ通信を行うように構成されている。ユーザ端末160は、チャットボットとチャットを行うユーザ(チャットユーザ)が使用する情報処理装置である。ユーザ端末160は、例えば、通信機能を備えたパーソナルコンピュータ、スマートフォン、タブレット端末などである。通信I/F部110には、ユーザ端末160以外に図示しない任意の外部装置が接続されていてよい。操作入力部120は、キーボードやマウスなどの装置から構成され、オペレータの操作を検出して演算処理部150に出力するように構成されている。画面表示部130は、LCD(Liquid Crystal Display)などの装置から構成され、演算処理部150からの指示に応じて、各種情報を画面表示するように構成されている。
【0016】
記憶部140は、ハードディスクやメモリなどの1または複数の記憶装置から構成され、演算処理部150における各種処理に必要な処理情報およびプログラム141を記憶するように構成されている。プログラム141は、演算処理部150に読み込まれて実行されることにより各種処理部を実現するプログラムであり、通信I/F部110などのデータ入出力機能を介して図示しない外部装置や記録媒体から予め読み込まれて記憶部140に保存される。記憶部140に記憶される主な処理情報には、QAデータDB142、チャットログDB143、クラスタDB144、ルールDB145、および学習データDB146がある。
【0017】
QAデータDB142は、質問テキストと応答テキストとを対応付けたQAデータを格納するデータベースである。
図2は、QAデータDB142の構成例を示す。この例のQAデータDB142は、それぞれが1つのQAデータ1420を格納する複数のエントリから構成されている。それぞれのエントリに格納されるQAデータ1420は、QAデータID1421、質問テキスト1422、および応答テキスト1423から構成される。QAデータID1421の項目には、QAデータ1420を一意に識別するための番号などのIDが設定される。質問テキスト1422の項目には、チャットユーザからの質問を想定した質問に係るテキスト情報が設定される。応答データ1424の項目には、質問テキスト1422による問い合わせに対応する応答に係るテキスト情報が設定される。
【0018】
チャットログDB143は、チャットボットとチャットユーザとの間のチャットのログ情報を格納するデータベースである。
図3は、チャットログDB143の構成例を示す。この例のチャットログDB143は、それぞれが1つのチャットのログ情報1430を格納する複数のエントリから構成されている。それぞれのエントリに格納されるチャットのログ情報1430は、チャットユーザID1431、チャットID1432、複数の事象データ1433から構成される。チャットユーザID1431の項目には、チャットユーザを一意に識別するためのIDが設定される。チャットID1432の項目には、チャットユーザID1431で特定されるチャットユーザとの間で行われた個々のチャットを一意に特定するための番号などのIDが設定される。事象データ1433の項目には、チャットの事象に係るデータが設定される。
【0019】
事象データ1433は、日時14331と種別14332とテキスト14333とQAデータID14334とから構成される。種別14332の項目には、事象データの種別が設定される。事象データの種別には、セッション確立、セッション解放、質問、応答の合計4種類の種別がある。セッション確立とは、チャットボットとチャットユーザとの間にチャットのセッションが確立(接続)されたことを意味する。セッション解放とは、チャットボットとチャットユーザとの間に確立されたセッションが解放(切断)されたことを意味する。質問とは、チャットボットがチャットユーザから質問テキストを受信したことを意味する。応答とは、チャットボットがチャットユーザへ応答テキストを送信したことを意味する。日時14331の項目には、当該種別の事象が発生した日時が、例えば「年、月、日、時、分、秒、コンマ秒」の形式で設定される。テキスト14333の項目には、種別が質問のときは質問のテキスト情報が設定され、種別が応答のときは応答のテキスト情報が設定される。種別がセッション確立またはセッション解放のとき、テキスト14333の項目には例えばNULL値が設定される。QAデータID14333の項目には、種別が質問のときは質問に係るテキスト14333に一致する質問テキストを含むQAデータが存在したときは当該QAデータのIDが設定され、存在しないときは一致する質問テキストが登録されていない旨の情報が設定される。また、QAデータID14333の項目には、種別が応答のときは当該応答の前提となる質問の事象データ1433におけるQAデータID14333の項目に設定した情報と同じ情報が設定される。種別がセッション確立またはセッション解放のとき、QAデータID14333の項目には例えばNULL値が設定される。
【0020】
クラスタDB144は、チャットログDB143に保存された複数のチャットのログ情報1430を意味的に類似するログ情報同士は同じクラスタにクラスタリングして生成された1以上のクラスタに関する情報を保存するデータベースである。
図4は、クラスタDB144の構成例を示す。この例のクラスタDB144は、それぞれが1つのクラスタ1440を格納する複数のエントリから構成されている。それぞれのエントリに格納されるクラスタ1440は、クラスタID1441、質問ラベル1442、チャットログ数1443、およびチャットログIDのリスト1434から構成される。クラスタID1441の項目には、クラスタ1440を一意に識別するための番号などのIDが設定される。質問ラベル1442の項目には、クラスタ1440に属するチャットのログ情報に共通に含まれる質問テキストが質問ラベルとして設定される。チャットログIDのリスト1434の項目には、クラスタ1440に属するチャットのログ情報1430を識別するためのチャットログIDのリストが設定される。チャットログIDは、例えば
図3に示されるチャットユーザID1431とチャットID1432の組み合わせで構成してよい。
【0021】
ルールDB145は、クラスタDB144に保存されたクラスタ内のログ情報からQAデータの良し悪しを表す学習データを作成するルールを保存するデータベースである。
図5Aは、ルールDB145の構成例を示す。この例のルールDB145は、それぞれが1つのルール1450を格納する複数のエントリから構成されている。それぞれのエントリに格納されるルール1450は、ルールID1451、特徴量種別1452、学習対象QAデータ1453、および評価値算出基準1454から構成される。ルールID1451の項目には、ルール1450を一意に識別するための番号などのIDが設定される。特徴量種別1452の項目には、クラスタDB144に保存されたクラスタ1440内のログ情報から算出する、チャットユーザのチャット中の時間的な挙動の特徴量の種別が設定される。時間的な挙動は、応答を受けてから質問を出すまでの経過時間や、応答を受けてからチャット終了までの経過時間や、単位時間当りの質問回数や、チャットの開始から終了までの経過時間などを含む。学習対象QAデータ1453の項目には、特徴量種別1452の項目に設定された特徴量に基づいて学習データを作成する対象となるQAデータを特定するデータが設定される。評価値算出基準1454の項目には、学習対象QAデータ1453の項目に設定されたQAデータの良し悪しを表す評価値を算出する基準が設定される。
【0022】
図5Bは、ルールDB145に保存されるルールの例を示す図である。この例のルール1450-1は、特徴量種別1452の項目に「チャットユーザが最後の質問に対する応答テキストの提示を受けてからチャットを終了するまでの時間T1」が設定され、学習対象QAデータ1453の項目に「最後の質問に関連するQAデータ」が設定され、評価値算出基準1454の項目に「時間T1が所定時間TH1未満のチャットの割合が高いほど評価値を低くする」が設定されている。このルール1450-1は、チャットユーザは、質問に対して的確な応答(回答)が返ってきた場合、それなりに時間をかけて応答内容を理解しようと努めるが、意に反した応答や的外れな応答が返ってきた場合、応答を一瞥した時点でチャットボットによる解決を断念し、チャット画面をすぐに閉じることがある、というチャットユーザの傾向を利用している。
【0023】
図5Cは、ルールDB145に保存されるルールの他の例を示す図である。この例のルール1450-2は、特徴量種別1452の項目に「前回の質問から所定時間が経過する前に次の質問を出した頻度N1」が設定され、学習対象QAデータ1453の項目に「クラスタ内のログ情報に共通に含まれる質問内容に関連するQAデータ」が設定され、評価値算出基準1454の項目に「頻度N1が所定頻度TH2以上のチャットの割合が高いほど評価値を低くする」が設定されている。このルール1450-2は、チャットユーザは、質問に対して的確な応答(回答)が返ってこない場合、質問内容を言い換えて時には何度も質問を繰り返すことがあるという、チャットユーザの傾向を利用している。
【0024】
なお、ルールDB145に保存されているルール1450は、上記のようなルール1450-1、1450-2に限定されず、他の内容のルールであってもよいし、3つ以上のルールがあってもよい。例えば、ルール1450-1の評価値算出基準1454を「時間T1が所定時間TH1以上のチャットの割合が高いほど評価値を高くする」に置き換えたルールを使用してもよい。また、ルール1450-2の評価値算出基準1454の項目に「頻度N1が所定頻度TH2未満のチャットの割合が高いほど評価値を高くする」に置き換えたルールを使用してもよい。
【0025】
再び
図1を参照すると、学習データDB146は、QAデータの良し悪しを表す学習データを格納するデータベースである。
図6は、学習データDB146の構成例を示す。この例の学習データDB146は、それぞれが1つの学習データを格納する複数のエントリから構成されている。それぞれのエントリに格納される学習データ1460は、学習データID1461、質問テキスト1462、応答テキスト1463、QAデータID1464、評価値1465、クラスタID1466、ルールID1467、確認フラグ1468、および管理者名1469から構成される。学習データID1461の項目には、学習データを一意に識別するための番号などのIDが設定される。質問テキスト1462と応答テキスト1463の項目には、評価の対象となるQAデータ、すなわち、チャットユーザとチャットボットとの間でやりとりされた質問テキストと応答テキストが設定される。QAデータID1464の項目には、質問テキスト1462に設定された質問テキストに一致する質問テキストを含むQAデータが存在するときは当該存在したQAデータのIDが設定され、存在しなかったときは、一致する質問テキストが登録されていなかった旨の情報が設定される。評価値1465の項目には、評価の対象であるQAデータの良し悪しを表す値が設定される。評価値1465は、例えば、QAデータが良いことを表す値(例えば1)と、悪いことを表す値(例えば0)の2値であってよい。或いは、評価値1465は、QAデータの良し悪しの程度を3段階以上の段階(例えば10段階)で設定できるような多値であってもよい。或いは、評価値1465は、さらに、評価値が確定していないことを表す値(例えばNULL値)を含んでいてよい。クラスタID1466の項目には、当該学習データの生成に用いられたクラスタ1440のクラスタID1441が設定される。ルールID1467の項目には、当該学習データの生成に用いられたルール1450のルールID1451が設定される。確認フラグ1468の項目には、学習データ1460の確認の有無を示す状態、例えば確認済みのとき値1、未確認のとき値0が設定される。管理者名1469の項目には、学習データ1460をQAデータのメンテナンスのために当該学習データを確認したチャットボットの管理者の氏名などが設定される。
【0026】
演算処理部150は、1または複数のMPUなどのプロセッサとその周辺回路を有し、記憶部140からプログラム141を読み込んで実行することにより、上記ハードウェアとプログラム141とを協働させて各種処理部を実現するように構成されている。演算処理部150で実現される主な処理部は、チャットボット151、チャットログ収集部152、学習データ生成部153、およびQAデータ管理部154である。ここで、チャットログ収集部152と学習データ生成部153とQAデータ管理部154とでQAデータ評価装置が構成される。
【0027】
チャットボット151は、チャットユーザとの間でチャットを行うように構成されている。チャットボット151は、チャットユーザからの要求に従って、チャットユーザとの間にチャットのセッションを確立する。また、チャットボット151は、確立したセッションを通じてチャットユーザから質問テキストが送信されてくると、それを受信し、受信した質問テキストに意味的に一致する質問テキストを含むQAデータをQAデータDB142から検索し、検索したQAデータに含まれる応答テキストを取得する。また、チャットボット151は、受信した質問テキストに意味的に一致する質問テキストを含むQAデータがQAデータDB142に存在しなかった場合、事前に定められた定型文、例えば「質問を認識できませんでした。言い方を変えて再度質問してください。」などの応答テキストを生成する。そして、チャットボット151は、取得または生成した応答テキストを問い合わせ元のチャットユーザのユーザ端末160に送信して、そのユーザ端末160の端末画面に表示させる。また、チャットボット151は、チャットユーザからの要求に従って、チャットユーザとの間に確立したチャットのセッションを解放する。
【0028】
チャットログ収集部152は、チャットボット151によるチャットユーザとの間のチャットのログ情報を収集し、チャットログDB143に保存するように構成されている。例えば、チャットログ収集部152は、チャットボット151がチャットユーザとの間に新たなチャットのセッションを確立すると、チャットログDB143に新たなエントリを確保し、そのエントリにチャットユーザID1431、チャットID1432、およびセッション確立に係る事象データ1433(セッションを確立した日時1431、セッション確立を表す種別14332、NULL値のテキスト14333およびQAデータID14334)を設定する。また、チャットログ収集部152は、チャットボット151が上記セッションを通じてチャットユーザから質問テキストを受信すると、チャットログDB143の上記確保したエントリに質問に係る事象データ1433(質問を受信した日時1431、質問を表す種別14332、質問テキスト情報を表すテキスト14333およびQAデータID14334)を設定する。また、チャットログ収集部152は、チャットボット151が上記セッションを通じてチャットユーザに対して応答テキストを送信すると、チャットログDB143の上記確保したエントリに応答に係る事象データ1433(応答を送信した日時1431、応答を表す種別14332、応答テキスト情報を表すテキスト14333およびQAデータID14334)を設定する。また、チャットログ収集部152は、チャットボット151が上記セッションを解放すると、チャットログDB143の上記確保したエントリにセッション解放に係る事象データ1433(セッションを解放した日時1431、セッション解放を表す種別14332、NULL値のテキスト14333およびQAデータID14334)を設定する。
【0029】
学習データ生成部153は、チャットログDB143に保存されたチャットのログ情報およびルールDB145に保存されたルールを用いて、QAデータの良し悪しを表す学習データを作成し、学習データDB146に保存するように構成されている。学習データ生成部153は、例えば、チャットログDB143に一定量のログ情報が蓄積されたとき、前回の学習データ作成から一定時間が経過したとき、定期的に、または、オペレータから指示されたとき、学習データの作成処理を開始する。学習データ生成部153は、例えば、チャットログDB143に保存された複数のチャットのログ情報を意味的に類似するログ情報同士は同じクラスタにクラスタリングし、生成したクラスタをクラスタDB144に保存する。また、学習データ生成部153は、クラスタDB144に保存されたクラスタ毎に、ルールDB145に保存されたルールを適用することにより、クラスタ内のチャットログ情報からの特徴量の算出、算出した特徴量の統計処理、統計処理した結果に基づく評価値の算出などを行って学習データを生成し、生成した学習データを学習データDB146に保存する。統計処理は、度数分布、ヒストグラム、平均値、中央値、最頻値などの作成を含む。
【0030】
QAデータ管理部154は、チャットボットの管理者が、学習データDB146に保存された学習データに基づいて、QAデータDB142に保存されたQAデータの修正、削除、追加などのメンテナンスを行う作業を支援するように構成されている。例えば、QAデータ管理部154は、学習データDB146に保存された学習データの一覧を画面表示部130に表示することにより、管理者が学習データの内容を参照できるようにする。また、QAデータ管理部154は、QAデータDB142に保存されたQAデータの一覧を画面表示部130に表示し、管理者がQAデータの修正、削除、追加を対話形式で行えるようにする。
【0031】
続いて、情報処理装置100の動作について、詳細に説明する。
【0032】
情報処理装置100の動作は、チャットユーザからの問い合わせ(質問)を受け付けた場合に行うチャットボット処理と、QAデータ評価処理とに大別される。また、QAデータ評価処理は、チャットログ収集処理と、学習データを生成する学習データ生成処理と、QAデータをメンテナンスするメンテナンス処理とに大別される。
【0033】
<チャットボット処理とチャットログ収集処理>
先ず、チャットボット処理およびチャットログ収集処理について、
図7のフローチャートを参照して説明する。チャットボット処理およびチャットログ収集処理は、チャットボット151およびチャットログ収集部152により、チャットユーザ且つチャット毎に行われる。
【0034】
情報処理装置100のチャットボット151は、チャットユーザがユーザ端末160上でチャットを開始させるための操作を受け付けると、チャット開始処理を行う(ステップS1)。チャットボット151は、ステップS1のチャット開始処理では、チャットユーザが使用するユーザ端末160とチャットボット151との間でチャットを行うためのセッションを確立させる処理を行う。また、チャットボット151は、ステップS1のチャット開始処理では、さらに、確立したセッションを通じてチャットユーザの使用するユーザ端末160の画面に、チャット開始時の定型文(例えば、「お問い合わせ内容を入力してください。」などのテキスト)を表示してもよい。
【0035】
チャットログ収集部152は、チャットユーザとチャットボット1510との間にチャットのセッションが確立されると、チャットログ収集処理を行う(ステップS2)。チャットログ収集部152は、ステップS2のチャットログ収集処理では、チャットログDB143に新たなエントリを1つ確保し、その確保したエントリ(以下、注目中エントリと記す)にチャットユーザID1431、チャットID1432、およびセッション確立に係る事象データ1433(セッションを確立した日時1431、セッション確立を表す種別14332、NULL値のテキスト14333およびQAデータID14334)を設定する。
【0036】
次に、チャットボット151は、チャットユーザからの新規質問の有無を確認する(ステップS3)。新規質問とは、チャットユーザによる新規なチャット入力のことである。チャットボット151は、新規なチャット入力がないときは、ステップS9の処理に進む。また、チャットボット151は、新規のチャット入力があった場合、入力されたチャット内容(質問テキスト)を取得する(ステップS4)。チャットログ収集部152は、チャットボット151がチャットユーザから新規質問を取得すると、チャットログDB143の注目中エントリに、質問を受信した日時1431、質問を表す種別14332、質問テキスト情報を表すテキスト14333、および、QAデータID14334(この時点ではNULL値とされる)から構成される事象データ1433を追加設定する(ステップS5)。
【0037】
次に、チャットボット151は、チャットユーザから取得した質問テキストに意味的に一致する質問テキストを含むQAデータをQAデータDB142から検索し、その検索して得られたQAデータに含まれる応答テキストを、チャットユーザに対する応答として生成する(ステップS6)。チャットボット151は、ステップS6において、チャットユーザから取得した質問テキストに意味的に一致する質問テキストを含むQAデータがQAデータDB142に存在しなかった場合、事前に設定された定型文をチャットユーザに対する応答として生成する。チャットログ収集部152は、チャットユーザから取得した質問テキストに意味的に一致する質問テキストを含むQAデータがQAデータDB142に存在した場合には、当該存在したQAデータのIDをステップS5で追加設定した事象データ1433のQAデータID14333に設定し、存在しなかった場合には、その旨をQAデータID14333に設定する。
【0038】
次に、チャットボット151は、上記生成した応答をチャットユーザが使用するユーザ端末160に対して送信して、ユーザ端末160の画面に表示する(ステップS7)。チャットログ収集部152は、チャットボット151が応答をチャットユーザのユーザ端末160へ送信すると、チャットログDB143の注目中エントリに、応答を送信した日時1431、応答を表す種別14332、応答テキスト情報を表すテキスト14333、およびQAデータID14334から構成される事象データ1433を追加設定する(ステップS8)。そして、チャットボット151は、ステップS9の処理へ進む。
【0039】
チャットボット151は、ステップS9において、チャットの終了を検出したか否かを判定する。チャットボット151は、例えば、チャットユーザがユーザ端末160上でチャットを終了させる意思表示を行ったことを検出したときに、チャットの終了を検出したと判定してよい。チャットボット151は、チャットの終了を検出していないと判定した場合、ステップS3の処理に戻って、上述した処理と同様の処理を繰り返す。また、チャットボット151は、チャットの終了を検出した場合、チャット終了処理を行う(ステップS10)。チャットボット151は、ステップS10のチャット終了処理では、チャットユーザとの間に確立されたセッションを解放(切断)する処理を行う。また、チャットボット151は、ステップS10のチャット終了処理では、さらに、解放する前のセッションを通じてチャットユーザの使用するユーザ端末160の画面に、チャット終了時の定型文(例えば、「ご利用ありがとうございました。」などのテキスト)を表示させてもよい。
【0040】
チャットログ収集部152は、チャットボット151がチャットのセッションを解放すると、チャットログDB143の注目中エントリに、セッション解放に係る事象データ1433(セッションを解放した日時1431、セッション解放を表す種別14332、NULL値のテキスト14333およびQAデータID14334)を設定する(ステップS11)。
【0041】
<学習データ生成処理>
次に、学習データ生成処理について、
図8のフローチャートを参照して説明する。学習データ生成処理は、学習データ生成部153によって行われる。
【0042】
情報処理装置100の学習データ生成部153は、学習データの生成処理を開始すると、先ず、学習データの生成に使用するチャットのログ情報をチャットログDB143から読み出す(ステップS21)。例えば、学習データ生成部153は、チャットログDB143に保存された全てのログ情報を学習データの生成に使用するログ情報として読み出してよい。或いは、学習データ生成部153は、日時14331に設定された日時を参照して、例えば管理者等から指定された所定日時以降の全てのログ情報、または、所定日時以前の全てのログ情報、または、所定開始日時以降かつ所定終了日時以前の全てのログ情報を学習データの生成に使用するログ情報としてチャットログDB143から読み出してよい。
【0043】
次に、学習データ生成部153は、読み出したログ情報を意味的に類似するログ情報同士は同じクラスタにクラスタリングする(ステップS22)。意味的に類似するとは、やりとりされている質問テキストおよび応答テキストの内容が互いのチャットのログ情報間で全体的かつ意味的に類似していることである。例えば、「休暇申請をキャンセルしたい」と「お休みを取り下げたい」とは互いに意味的に類似するチャットログ情報の例である。また、「価格が高い」と「値段が高い」や、「見た目が最高」と「外観が素晴らしい」は、互いに意味的に類似するチャットログ情報の他の例である。意味的に類似するチャットのログ情報を同じクラスタにクラスタリングする手法は、任意である。例えば、それぞれのチャットのログ情報中の質問テキストおよび応答テキストを集めたものを1つの文書とし、これらの文書群に対して、類似文書を同じクラスタに分類する公知の文書クラスタリング方法を適用することによって、上記クラスタリングを行ってよい。
【0044】
公知の文書クラスタリング方法として、それに限定されないが、例えば特許文献4に記載された文書クラスタリング方法がある。特許文献4に記載された文書クラスタリング方法(以下、本発明に関連する文書クラスタリング方法と記す)では、先ず、文書群に含まれる2つの文書に出現する語句のうち、一方の文書に出現する語句と他方の文書に出現する語句という2つの語句同士の任意の組み合わせについて、2つの語句の概念の上位下位関係を表す概念木構造を取得する。次に、上記任意の組み合わせについて、上記取得した概念木構造における上記2つの語句の共通の上位語句またはその上位語句の下位系列の語句の上記文書群内での出現頻度と、上記2つの語句のそれぞれの上記文書群内での出現頻度と、が一致する場合に最大であり、上記概念木構造内に上記2つの語句の共通の上位語句が存在しない場合に最小であるような、上記2つの語句の概念の近さを示す指標である概念類似度を求める。次に、上記概念類似度を基に、上記文書群に含まれる2つの文書の意味的に類似する度合である文書間類似度を求める。次に、上記文書間類似度を基に、上記文書群の文書のクラスタリングを行う。
【0045】
例えば、学習データ生成部153が、
図9に示される2つのチャットのログ情報LU11、LU21を含むログ情報群を本発明に関連する文書クラスタリング方法を用いてクラスタリングすることを考える。
図9において、左側のチャットのログ情報LU11は、チャットユーザU01とチャットボット151との間のチャットのログ情報を示し、右側のログ情報LU21は、チャットユーザU02とチャットボット151との間のチャットのログ情報を示す。また、
図9において、双方向矢印はチャットのセッションの確立または解放の事象を示し、吹き出しはチャットボット151からチャットユーザに対して送信された応答コメント、あるいはチャットボット151がチャットユーザから受信した質問コメントの事象を示す。また、各事象の下に記載された日時は、事象の発生日時を示す。なお、各事象を識別するために、各事象には便宜上、LU111~LU117、LU211~LU217の符号を付けている。このようなチャットのログ情報の場合、学習データ生成部153は、
図9に示すログ情報LU11中の質問テキストおよび応答テキストを集めて
図10に示すような1つの文書LU11Bを生成する。なお、
図10の例では、チャット開始時およびチャット終了時にチャットボット151からチャットユーザに対して提示される「お問い合わせ内容を入力してください」や「ご利用ありがとうございました」といった全チャットで共通な定型文は除外している。また、学習データ生成部153は、ログ情報LU21中の質問テキストおよび応答テキストを集めて
図10に示すような1つの文書LU21Bを生成する。そして、学習データ生成部153は、文書LU11B、LU21Bを含む文書群に対して本発明に関連する文書クラスタリング方法を適用してクラスタリングを行う。その結果、
図9に示した2つのログ情報LU11、LU21の場合、意味的には同じであるが語句のレベルでは相違する事象LU113の質問テキスト「休暇申請をキャンセルしたい」と事象LU213の質問テキスト「お休みを取り下げたいです」が別々のログ情報に存在していても、2つのログ情報LU11、LU21は、同じクラスタにクラスタリングされることになる。
【0046】
学習データ生成部153は、ステップS22において、上記クラスタリングによって生成されたクラスタのそれぞれについて、クラスタID1441、質問ラベル1442、チャットログ数1443、およびチャットログIDのリスト1434から構成されるクラスタ1440を生成し、クラスタDB144に保存する。例えば、学習データ生成部153は、
図9に示した2つのログ情報が属するクラスタの質問ラベル1442には、複数のチャットのログ情報に共通に表れる質問テキスト「休暇の取り消し方法」を設定する。
【0047】
次に、学習データ生成部153は、クラスタDB144に保存された1以上のクラスタのうちの1つのクラスタ1440に注目する(ステップS23)。次に、学習データ生成部153は、ルールDB145に保存された1以上のルールのうちの1つのルール1450に注目する(ステップS24)。次に、学習データ生成部153は、注目中のクラスタ1440と注目中のルール1450とに基づいて、学習データ1460を作成し、学習データDB146に保存する(ステップS25)。
【0048】
図11は、学習データ生成部153がステップS25で実行する処理の一例を示すフローチャートである。
図11を参照すると、学習データ生成部153は、先ず、注目中のクラスタ1440のチャットのログ情報1430のそれぞれから、注目中のルール1450の特徴量種別1452の項目に設定された種別の特徴量を算出する(ステップS31)。例えば、学習データ生成部153は、ルール1450-1の場合、それぞれのチャットログ情報から、「チャットユーザが最後の質問に対する応答テキストの提示を受けてからチャットを終了するまでの時間T1」を算出する。例えば、
図9に示したログ情報LU11の場合、事象LU116がチャットユーザの最後の質問に対する応答なので、その事象LU116の日時から事象LU117のチャット終了までの時間を時間T1として算出する。また、例えば、学習データ生成部153は、ルール1450-2の場合、それぞれのチャットログ情報から、「前回の質問から所定時間が経過する前に次の質問を出している頻度N1」を算出する。例えば、
図9に示したログ情報LU11の場合、質問は、事象LU113、LU115の2回なので、事象LU113から事象LU115までの経過時間が所定時間未満であれば、頻度N1は1回になり、所定時間以上であれば、頻度N1は0回になる。因みに、質問総数がM回のチャットログ情報の場合、頻度N1の最大値はM-1になる。
【0049】
次に、学習データ生成部153は、注目中のルール1450の評価値算出基準1454に基づいて、チャットのログ情報のそれぞれから算出した特徴量を統計処理する(ステップS32)。例えば、学習データ生成部153は、ルール1450-1の場合、先ず、時間T1が所定時間TH1未満のチャットのログ情報の総数S1を算出する。次に、学習データ生成部153は、注目中のクラスタ内のチャットのログ総数S0に対する総数S1の割合R1を算出する。また、学習データ生成部153は、ルール1450-2の場合、先ず、頻度N1が所定頻度TH2以上のチャットのログ情報の総数S1を算出する。次に、学習データ生成部153は、注目中のクラスタ内のチャットのログ総数S0に対する総数S1の割合R1を算出する。
【0050】
次に、学習データ生成部153は、統計処理の結果から評価値を算出する(ステップS33)。例えば、学習データ生成部153は、ルール1450-1およびルール1450-2の場合、割合R1が高いほど、評価値を低くする。例えば、学習データ生成部153は、割合R1が8割以上であれば評価値を0とし、6割以上かつ8割未満であれば評価値を2とし、4割以上且つ6割未満であれば評価値を5とし、2割以上且つ4割未満であれば評価値を8とし、2割未満であれば評価値を10とする。ここで、評価値は数値が大きいほど高い評価を表している。
【0051】
次に、学習データ生成部153は、学習データID1461、質問テキスト1466、応答テキスト1463、QAデータID1464、評価値1464、クラスタID1466、ルールID1467の項目については必要な情報をそれぞれ設定し、確認フラグ1468には未確認状態を示す値を設定し、管理者名1469にはNULL値を設定した学習データ1460を作成し、学習データDB146に保存する。学習データ生成部153は、クラスタID1466およびルールID1467の項目には、注目中のクラスタ1440のクラスタID1441および注目中のルール1450のルールID1451を設定する。また、学習データ生成部153は、評価値1465の項目には、ステップS33で算出した評価値を設定する。また、学習データ生成部153は、質問テキスト1462、応答テキスト1463、およびQAデータID1464の項目には、ルールID1467で識別されるルール1450の学習対象QAデータ1453によって指定された質問テキスト、応答テキスト、およびそれらを含むQAデータのQAデータID1421を設定する。
【0052】
図8を再び参照すると、学習データ生成部153は、ステップS25の処理を終えると、ルールDB145に保存されたルールのうち注目中のクラスタに対して未だ適用していないルールの1つに注目を移し(ステップS28)、ステップS27を経由してステップS25に戻り、注目中のクラスタに対して別のルールを用いて前述した処理と同様の処理を繰り返す。また、学習データ生成部153は、注目中のクラスタに対して全てのルールの適用を終えると(ステップS27でYES)、クラスタDB144に保存されたクラスタのうち未だ処理していないクラスタの1つに注目を移し(ステップS28)、ステップS29を経由してステップS24に戻り、別のクラスタに対して前述した処理と同様の処理を繰り返す。また、学習データ生成部153は、全てのクラスタに注目し終えると(ステップS29でYES)、
図8の処理を終了する。
【0053】
<QAデータのメンテナンス処理>
次に、データのメンテナンス処理について説明する。データのメンテナンス処理は、QAデータ管理部154によって行われる。
【0054】
図12は、QAデータ管理部154が情報処理装置100の管理者によって起動された際に画面表示部130に表示するチャットボット管理画面170の例を示す。この例のチャットボット管理画面170は、学習データ一覧表示領域171、QAデータ編集領域172、クラスタ表示領域173、ルール表示領域174、およびチャットログ表示領域175を有する。
【0055】
学習データ一覧表示領域171は、学習データDB146に保存された1以上の学習データ1460の一覧を表示する領域である。QAデータ管理部154は、学習データDB146に保存された全ての学習データ1460を読み出して、学習データ一覧表示領域171に表示してよい。或いは、QAデータ管理部154は、学習データDB146に保存された全ての学習データから一部の学習データ1460を選択的に読み出して、学習データ一覧表示領域171に表示してよい。一部の学習データとして、確認フラグ1468は未確認状態を示す学習データであってよい。あるいは、一部の学習データは、評価値1465が、管理者が指定した評価値より高いもの、または低いものであってもよい。QAデータ管理部154は、学習データ一覧表示領域171に表示した学習データのうちの1つをカレント学習データとする。QAデータ管理部154は、カレント学習データをハイライト表示するなどで管理者に明示する。また、QAデータ管理部154は、カレント学習データの確認フラグ1468の項目に確認済みを設定し、管理者名1469の項目に管理画面にログインしている管理者の氏名などを設定する。QAデータ管理部154は、管理者のカーソル操作によって変更が指示されると、カレント学習データを指示された別の学習データに切り替える。
【0056】
QAデータ編集領域172は、QAデータの更新、削除、追加といった編集を行う領域である。QAデータ編集領域172には、QAデータID欄1721、質問テキスト欄1722、応答テキスト欄1723、更新ボタン1724、削除ボタン1725、追加ボタン1726がある。QAデータ管理部154は、QAデータID欄1721、質問テキスト欄1722、および応答テキスト欄1723に、カレント学習データのQAデータID1464、質問テキスト1462、および応答テキスト1463を表示する。また、QAデータ管理部154は、管理者の操作入力部120の編集操作に応じて、質問テキスト欄1722および応答テキスト欄1723の内容を編集する。また、QAデータ管理部154は、管理者によって更新ボタン1724が押下されると、編集後の質問テキスト欄1722および応答テキスト欄1723に設定された質問テキストおよび応答テキストの内容で、QAデータID欄1721に設定されたQAデータIDで識別されるQAデータDB142のQAデータを更新(上書き)する。また、QAデータ管理部154は、管理者によって削除ボタン1725が押下されると、QAデータID欄1721に設定されたQAデータIDで識別されるQAデータDB142のQAデータを削除する。また、QAデータ管理部154は、管理者によって追加ボタン1726が押下されると、新規なQAデータIDを有し、編集後の質問テキスト欄1722および応答テキスト欄1723に設定された質問テキストおよび応答テキストの内容を有するQAデータを作成し、QAデータDB142に新規QAデータとして追加する。
【0057】
クラスタ表示領域173は、クラスタ1440の内容、すなわち、クラスタID1441、質問ラベル1442、チャットログ数1443、およびチャットログIDのリスト1434を表示する。QAデータ管理部154は、カレント学習データのクラスタID1466に一致するクラスタID1441を有するクラスタ1440の内容をクラスタDB144から読み出して、クラスタ表示領域173に表示する。QAデータ管理部154は、クラスタ表示領域173に表示したチャットログIDのリスト1434中の1つのチャットログIDをカレントチャットログIDとする。QAデータ管理部154は、カレントチャットログIDをハイライト表示などで管理者に明示する。QAデータ管理部154は、管理者のカーソル操作による変更の指示に応じて、カレントチャットログIDをチャットログIDのリスト1434中の指定されたチャットログIDに切り替える。
【0058】
チャットログ表示領域175は、チャットログ情報を表示する領域である。QAデータ管理部154は、チャットログ表示領域175に、カレントチャットログIDに一致するチャットログIDを有するチャットログ情報をチャットログDB143から読み出して表示する。
【0059】
ルール表示領域174は、ルール1450の内容、すなわち、ルールID1451、特徴量種別1452、学習対象QAデータ1453、および評価値算出基準1454を表示する領域である。QAデータ管理部154は、カレント学習データのルールID1467に一致するルールID1451を有するルール1450をルールDB145から読み出して、ルール表示領域174に表示する。
【0060】
QAデータ管理部154は、
図12に示したチャットボット管理画面170を用いて上述したような処理を行うため、情報処理装置100の管理者は、学習データDB146に保存された学習データ1460を個別に参照しながら、学習対象となったQAデータの修正、削除、追加を対話形式で行うことができる。また、QAデータ管理部154は、学習データ1460の作成に用いられたクラスタ1440の内容をクラスタ表示領域173に表示し、そのクラスタ1440を構成するチャットログ情報の詳細をチャットログ表示領域175に表示するため、管理者は学習データ1460がどのようなクラスタ1440およびチャットログ情報の集合から生成されたものであるかを確認しながら、QAデータの修正、削除、追加を行うことができる。また、QAデータ管理部154は、学習データ1460の作成に用いられたルール1450の内容をルール表示領域174に表示するため、管理者は学習データ1460がどのようなルール1450を用いて生成されたものであるかを確認しながら、QAデータの修正、削除、追加を行うことができる。
【0061】
以上説明したように、本実施形態に係る情報処理装置100によれば、非能動的な評価情報を容易に取得することができる。その理由は、情報処理装置100は、チャットのログ情報の収集、収集したチャットのログ情報からの特徴量の算出し、算出した特徴量に基づく評価値の算出等は全て情報処理装置100側で実施でき、マイク、カメラ、生体検出センサといった特別な機器を必ずしもチャットユーザ側に備える必要がないためである。
【0062】
また、本実施形態に係る情報処理装置100によれば、複数のログ情報を意味的に類似するログ情報同士は同じクラスタにクラスタリングし、同じクラスタに属する複数のログ情報のそれぞれから所定の特徴量を抽出し、その抽出した複数の特徴量を統計処理した結果に基づいて、クラスタ内のログ情報に共通に含まれる質問テキストに関連するQAデータの良し悪しを表す学習データを作成する。そのため、特定のチャットユーザの行動による評価のばらつきを低減することができる。
【0063】
また、本実施形態に係る情報処理装置100によれば、特徴量として、「最後の質問に対する応答の提示からチャット終了までの時間」(ルール1450-1)や、「前回の質問から所定時間が経過する前に次の質問が行われた頻度」(ルール1450-2)を用いているため、サイレントマジョリティの意見を反映した学習データを作成することができる。
【0064】
[第2の実施の形態]
次に、本発明の第2の実施形態に係るQAデータ評価装置について図面を参照して説明する。
図13は、本実施形態に係るQAデータ評価装置200のブロック図である。
【0065】
図13を参照すると、QAデータ評価装置200は、取得手段201と抽出手段202と生成手段203とを含んで構成されている。
【0066】
取得手段201は、チャットボットに対するユーザからの質問内容及び質問に対するチャットボットからの応答内容を含むQAデータと、上記ユーザによるチャットボットの利用に関するログ情報と、を取得するように構成されている。
【0067】
抽出手段202は、上記ログ情報から、上記ユーザによるチャットボットの利用の時間的な挙動に関する特徴量を抽出するように構成されている。
【0068】
生成手段203は、上記特徴量に基づいて、上記QAデータの良し悪しを示すQAデータ評価情報を生成するように構成されている。
【0069】
このように構成されたQAデータ評価装置200は、以下のように動作する。すなわち、先ず、取得手段201は、チャットボットに対するユーザからの質問内容及び質問に対するチャットボットからの応答内容を含むQAデータと、上記ユーザによるチャットボットの利用に関するログ情報と、を取得する。次に、抽出手段202は、上記ログ情報から、上記ユーザによるチャットボットの利用の時間的な挙動に関する特徴量を抽出する。次に、生成手段203は、上記特徴量に基づいて、上記QAデータの良し悪しを示すQAデータ評価情報を生成する。
【0070】
以上のように構成され動作するQAデータ評価装置200によれば、非能動的な評価情報を容易に取得することができる。その理由は、QAデータ評価装置200は、チャットのログ情報の収集、収集したチャットのログ情報からの特徴量の算出し、算出した特徴量に基づく評価値の算出等は全てQAデータ評価装置200側で実施でき、マイク、カメラ、生体検出センサといった特別な機器を必ずしもチャットユーザ側に備える必要がないためである。
【0071】
以上、上記各実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。例えば、以下のような変形例も本発明に含まれる。
【0072】
上述した実施形態では、チャットのログ情報からチャットユーザのチャット中の時間的な挙動の特徴量を算出し、その算出した特徴量に基づいてQAデータの良し悪しを表す学習データを作成した。しかし、チャットのログ情報から算出したチャットユーザのチャット中の時間的な挙動の特徴量に加えて、他の情報を考慮して学習データを作成してもよい。他の情報として、能動的な評価情報や、チャットユーザの音声、画像、生体情報(脈拍、心拍数、血圧、脳波、呼吸数など)、URL選択、利用日時、ユーザ端末情報(PC、スマートフォンなど)が例示される。
【0073】
能動的な評価情報は、チャットボットの運用中に応答を受けたチャットユーザが示した反応の情報に基づいて作成される。能動的な評価情報は、提示された応答を評価する目的でチャットユーザが能動的にわざわざ入力する情報である。能動的な評価情報の例としては、良い評価を示す「いいね」「すごいね」「賢いね」などや、悪い評価を示す「やだね」「だめだね」などの発話やテキスト、絵文字、スタンプなどがある。また、能動的な評価情報は、例えば、「いいね」又は「悪いね」を示すソーシャルボタンにより入力される。しかしながら、必ずしも能動的な評価情報を得られるとは限らないため、学習データの生成に必要な能動的な評価情報が不十分になりうる。能動的な評価情報が得られるのは全体の質問のうちの10%程度である言われている。そのため、能動的な評価情報以外の情報、すなわち非能動的な評価情報によって、提示した応答に対するチャットユーザの満足度や評価を測定して学習データを作成することが重要である。本発明によれば、そのような非能動的な評価情報を手軽に作成することができる。
【産業上の利用可能性】
【0074】
本発明は、チャットボットの運用管理に適用でき、例えばQAデータのメンテナンスに利用できる。
【0075】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
チャットボットに対するユーザからの質問の内容及び前記質問に対する前記チャットボットからの応答の内容を含むQAデータと、前記ユーザによる前記チャットボットの利用に関するログ情報と、を取得する取得手段と、
前記ログ情報から前記ユーザによる前記チャットボットの利用の時間的な挙動に関する特徴量を抽出する抽出手段と、
前記特徴量に基づいて、前記QAデータの良し悪しを示すQAデータ評価情報を生成する生成手段と、
を備えるQAデータ評価装置。
[付記2]
前記ログ情報の意味的な類似性に応じて、複数の前記ログ情報を複数のグループにクラスタリングするクラスタリング手段をさらに備え、
前記抽出手段は、前記複数のクラスタそれぞれに属する複数のログ情報のそれぞれから前記特徴量を抽出し、
前記生成手段は、前記複数のログ情報のそれぞれから抽出した複数の特徴量を統計処理した結果に基づいて、前記QAデータ評価情報を生成する、
付記1に記載のQAデータ評価装置。
[付記3]
前記特徴量は、前記ユーザからの最後の質問に対する応答の内容を出力してから前記チャットの終了までの時間に関する特徴量である、
付記1または2に記載のQAデータ評価装置。
[付記4]
前記特徴量は、前記ユーザから前記チャットボットに対して質問の内容が入力された時点から所定時間経過前に別の質問の内容が入力される頻度に関する特徴量である、
付記1又は2に記載のQAデータ評価装置。
[付記5]
前記生成されたQAデータ評価情報を表示するQAデータ管理手段を、さらに備える、
付記1乃至4の何れかに記載のQAデータ評価装置。
[付記6]
前記QAデータ管理手段は、前記チャットボットの管理者による前記QAデータに対する操作入力に応じて、前記QAデータを更新するか、削除するか、または追加する、
付記5に記載のQAデータ評価装置。
[付記7]
前記QAデータ管理手段は、前記QAデータ評価情報の生成に用いられた前記ログ情報を表示する、
付記5または6に記載のQAデータ評価装置。
[付記8]
前記QAデータ管理手段は、前記ログ情報から前記QAデータ評価情報を作成するために用いた前記特徴量の種別と前記QAデータの良し悪しを表す評価値の算出基準とを含むルールを表示する、
付記5乃至7の何れかに記載のQAデータ評価装置。
[付記9]
チャットボットに対するユーザからの質問の内容及び前記質問に対する前記チャットボットからの応答の内容を含むQAデータと、前記ユーザによる前記チャットボットの利用に関するログ情報と、を取得し、
前記ログ情報から前記ユーザによる前記チャットボットの利用の時間的な挙動に関する特徴量を抽出し、
前記特徴量に基づいて、前記QAデータの良し悪しを示すQAデータ評価情報を生成する、
QAデータ評価方法。
[付記10]
コンピュータに、
チャットボットに対するユーザからの質問の内容及び前記質問に対する前記チャットボットからの応答の内容を含むQAデータと、前記ユーザによる前記チャットボットの利用に関するログ情報と、を取得する処理と、
前記ログ情報から前記ユーザによる前記チャットボットの利用の時間的な挙動に関する特徴量を抽出する処理と、
前記特徴量に基づいて、前記QAデータの良し悪しを示すQAデータ評価情報を生成する処理と、
を行わせるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【符号の説明】
【0076】
100 情報処理装置
110 通信I/F部
120 操作入力部
130 画面表示部
140 記憶部
141 プログラム
142 QAデータDB
143 チャットログDB
144 クラスタDB
145 ルールDB
146 学習データDB
150 演算処理部
151 チャットボット
152 チャットログ収集部
153 学習データ生成部
154 QAデータ管理部