以下、実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は第1の実施の形態に係る学習用データ生成装置の一例を示す図である。
図1に示す学習用データ生成装置1は、問合せに対する適切な回答を出力するための機械学習に用いる学習用データ(教師データ)を生成する。生成される学習用データは、問合せの内容を示す問合情報と、問合せに対する回答の内容を示す回答情報とを含む。
学習用データ生成装置1は、記憶部1a及び演算部1bを有する。記憶部1aは、例えば、RAM(Random Access Memory)やHDD(Hard Disk Drive)等、学習用データ生成装置1が備える図示しない記憶装置の記憶領域として実現される。演算部1bは、例えば、学習用データ生成装置1が備える図示しないプロセッサとして実現される。この場合、演算部1bの処理は、プロセッサが所定のプログラムを実行することで実現される。なお、プロセッサには、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等が含まれ得る。
学習用データ生成装置1は、例えば、オペレータによって作成された問合情報及び回答情報の情報を用いて、学習用データを生成する。例えば、サービスの利用者からの問合せを受け付け、その問合せの内容に対する回答の内容をオペレータが作成し、作成された回答の内容を利用者に対して出力するサービスが提供されるとする。このサービスにおいて、オペレータの操作によって回答の内容が作成され、利用者に回答が出力されると、問合せの内容を示す問合情報と回答の内容を示す回答情報とのペアを含む情報が生成される。以下、この時生成される情報を「データペア」と呼ぶ。
図1では例として、データペアP1〜P3が生成されたとする。データペアP1は、問合情報Aと回答情報aを含む。データペアP2は、問合情報Bと回答情報bを含む。データペアP3は、問合情報Cと回答情報cを含む。
また、オペレータは、或る問合情報に対する回答情報を作成する際に、既存のデータペアに含まれる回答情報を引用することができる。この時、問合情報の回答情報が、どの回答情報を引用して作成されたかを示す情報が、引用履歴情報2に登録される。図1では例として、引用履歴情報2には、引用先の回答情報を含むデータペア名と、引用元の回答情報を含むデータペア名とが登録されるものとする。
図1の例では、データペアP2の回答情報bを作成する際に、データペアP1の回答情報aが引用されたとする。この場合、引用履歴情報2には、引用先としてデータペアP2を示す「P2」が登録され、引用元としてデータペアP1を示す「P1」が登録される。更にその後、データペアP3の回答情報cを作成する際に、データペアP2の回答情報bが引用されたとする。この場合、引用履歴情報2には、引用先としてデータペアP3を示す「P3」が登録され、引用元としてデータペアP2を示す「P2」が登録される。
記憶部1aは、上記のような引用履歴情報2を記憶する。演算部1bは、作成されたデータペアを用いて学習用データを生成する。例えば、演算部1bは、オペレータの操作によって生成されたデータペアそのものを、学習用データとすることができる。しかし、この方法では、生成されたデータペアと同数の学習用データしか生成できず、生成効率が高いとは言えない。そこで、演算部1bは、引用履歴情報2を参照しながら、次のような手順で学習用データを更に生成する。
演算部1bは、引用履歴情報2を参照し、或る問合情報に対する回答情報の作成時に他の回答情報が引用されたかどうかの判定を行う。ここで、引用されたかどうかが判定される他の回答情報には、或る問合情報に対して直接的に引用されたもののほか、間接的に引用されたもの、即ち、引用された他の回答情報の作成時に引用された更に他の回答情報も含まれてもよい。演算部1bは、或る問合情報に対する回答情報の作成時に直接的又は間接的に他の回答情報が引用されたと判定された場合、その問合情報と、それに対して直接的又は間接的に引用された他の回答情報とを含む学習用データを生成する。生成された学習用データは、例えば、記憶部1aに格納される。
図1の例では、演算部1bは、データペアP1を処理対象として選択すると、データペアP1そのものを学習用データ3aとして出力する。これとともに、演算部1bは、引用履歴情報2を参照し、データペアP1の回答情報aの作成時に他の回答情報が引用されたかを判定する。図1の例では、回答情報aの作成時には他の回答情報が引用されていないので、学習用データ3aのみが生成される。
次に、演算部1bは、データペアP2を処理対象として選択すると、データペアP2そのものを学習用データ3bとして出力する。これとともに、演算部1bは、引用履歴情報2を参照し、データペアP2の回答情報bの作成時に他の回答情報が引用されたかを判定する。図1の例では、回答情報bの作成時にデータペアP1の回答情報aが引用されている。この場合、演算部1bは、データペアP2の問合情報Bと、データペアP1の回答情報aとを含む学習用データ3b1を生成する。
次に、演算部1bは、データペアP3を処理対象として選択すると、データペアP3そのものを学習用データ3cとして出力する。これとともに、演算部1bは、引用履歴情報2を参照し、データペアP3の回答情報cの作成時に他の回答情報が引用されたかを判定する。図1の例では、回答情報cの作成時にデータペアP2の回答情報bが直接的に引用されている。この場合、演算部1bは、データペアP3の問合情報Cと、データペアP2の回答情報bとを含む学習用データ3c1を生成する。
更に、引用履歴情報2によれば、データペアP2の回答情報bは、データペアP1の回答情報aを引用して作成されている。この場合、回答情報cの作成時にはデータペアP1の回答情報aが間接的に引用されている。そこで、演算部1bは、データペアP3の問合情報Cと、間接的に引用されたデータペアP1の回答情報aとを含む学習用データ3c2を生成することもできる。
以上のように、学習用データ生成装置1は、生成済みのデータペアP1〜P3をそのまま用いた学習用データ3a〜3cに加え、回答情報の引用関係に基づいて、学習用データ3b1,3c1,3c2を更に生成することができる。これにより、学習用データを効率的に増やすことができる。学習用データの生成数が増えることにより、問合せに対する適切な回答を出力するための機械学習の精度を向上させることができる。
[第2の実施の形態]
図2は第2の実施の形態に係る情報処理システムの一例を示す図である。
図2に示す情報処理システム1000では、問合せの受付けと、その問合せに対する回答の提供を行うサービスに関する処理が行われる。より具体的には、サービスの利用者からの問合せを受け付け、その問合せの内容を示す問合情報に対し、回答の内容を示す回答情報の候補を抽出する処理、及び抽出された候補に基づいてオペレータが作成した回答情報を利用者に回答する処理が行われる。
情報処理システム1000は、サーバ100、端末装置200a,200b,200c及び端末装置300を含む。サーバ100及び端末装置200a,200b,200cは、ネットワーク400aを介して接続されている。サーバ100及び端末装置300は、ネットワーク400bを介して接続されている。例えば、ネットワーク400a,400bは、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等である。サーバ100は、利用者からの問合せを受け付け、その問合せに対する回答情報を利用者宛てに送信するコンピュータである。端末装置200a,200b,200cは、利用者が使用する装置である。端末装置300は、回答情報を作成するオペレータが使用する装置である。
サービスの利用者は、端末装置200a,200b,200cのいずれかを使用して、任意の質問文の形式で問合せを行う。端末装置200a,200b,200cは、問合せの内容を示す問合情報をサーバ100に送信する。サーバ100は、端末装置300に対するオペレータの操作に応じて、受信した問合情報に対する回答情報を作成する。サーバ100は、作成された回答情報を、例えば電子メール等を用いて利用者側の端末装置に送信する。
また、サーバ100は、利用者に対してFAQ(Frequently Asked Questions)を提供する機能を有する。例えば、利用者は、問合せを行う前に、端末装置200a,200b,200cのいずれかを使用し、検索キーワードを指定することによってFAQの検索を要求する。サーバ100は、検索キーワードを含むFAQの情報を利用者の端末装置に送信する。利用者は、FAQの検索により所望の回答が得られなかった場合に、問合情報をサーバ100に送信して問合せを行うことができる。
更に、サーバ100は、オペレータによる回答情報の作成作業を支援する機能を備える。具体的には、サーバ100は、回答済みの回答情報や公開中のFAQが蓄積されたデータベースを備える。サーバ100は、問合情報を受信すると、データベースを検索し、問合情報に対する回答情報の候補を抽出し、端末装置300を介してオペレータに提示する。オペレータは、端末装置300を使用して、提示された回答情報の候補の内容を参考にしながら、受信した問合情報に対する回答情報を作成することができる。また、オペレータは、提示された回答情報を引用して回答情報を作成することもできる。
また、サーバ100は、利用者に対して送信された問合情報及び回答情報のペアを含む情報や、作成されたFAQの情報に基づいて、学習用データ(教師データ)を生成する。そして、サーバ100は、生成された学習用データを用いて、問合情報に対する適切な回答情報の候補を抽出するための機械学習を行う。
次に、サーバ100のハードウェア構成について説明する。
図3は第2の実施の形態に係るサーバのハードウェア構成の一例を示す図である。
サーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、読み取り装置106及び通信インタフェース107を有する。
プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えば、CPU、DSP、ASIC又はFPGA等である。プロセッサ101は、CPU、DSP、ASIC、FPGA等のうちの2種以上の組合せであってもよい。
RAM102は、サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
HDD103は、サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、及び各種データが格納される。サーバ100は、SSD(Solid State Drive)等の他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
画像信号処理部104は、プロセッサ101からの命令に従って、サーバ100に接続されたディスプレイ108aに画像を出力する。ディスプレイ108aとしては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ等を用いることができる。
入力信号処理部105は、サーバ100に接続された入力デバイス108bから入力信号を取得し、プロセッサ101に出力する。入力デバイス108bとしては、例えば、マウスやタッチパネル等のポインティングデバイス、キーボード等を用いることができる。
読み取り装置106は、記録媒体108cに記録されたプログラムやデータを読み取る装置である。記録媒体108cとして、例えば、フレキシブルディスク(FD:Flexible Disk)やHDD等の磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)等の光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体108cとして、例えば、フラッシュメモリカード等の不揮発性の半導体メモリを使用することもできる。読み取り装置106は、例えば、プロセッサ101からの命令に従って、記録媒体108cから読み取ったプログラムやデータをRAM102又はHDD103に格納する。
通信インタフェース107は、ネットワーク400aを介して端末装置200a,200b,200cと通信を行うためのインタフェースである。また、通信インタフェース21は、ネットワーク400bを介して端末装置300と通信を行うためのインタフェースである。
なお、端末装置200a,200b,200c及び端末装置300も、サーバ100と同様のハードウェアにより実現できる。
次に、サーバ100が有する機能について説明する。
図4は第2の実施の形態に係るサーバが有する機能の一例を示す図である。
サーバ100は、問合回答処理部110、回答候補抽出処理部120、記憶部130、学習用データ生成処理部140、学習処理部150及びFAQ自動提案処理部160を有する。
記憶部130は、RAM102又はHDD103に確保された記憶領域として実装される。記憶部130には、チケットテーブル131、FAQテーブル132、引用履歴テーブル133、学習用データテーブル134及び学習結果テーブル135が記憶される。
チケットテーブル131には、生成済みのチケットが登録される。チケットとは、利用者からの問合情報と、その問合情報に対する回答情報とを含むデータ構造体である。チケットは、問合回答処理部110が利用者からの問合情報を受信した時に新たに生成され、そのチケットに問合情報が設定される。その後、オペレータの操作によって回答情報が作成されると、作成された回答情報が利用者宛てに送信されるとともに、その回答情報がチケットに設定される。問合回答処理部110は、問合情報と回答情報が設定されたチケットをチケットテーブル131に登録する。
FAQテーブル132には、生成済みのFAQが登録される。FAQは、チケットと同様のデータ構造を有しており、問合情報と回答情報とを含む。FAQは、オペレータの操作に応じて生成され、FAQテーブル132に登録される。また、後述するように、オペレータは、生成済みのチケットの内容を引用してFAQの内容を作成することもできる。
図5は第2の実施の形態に係るサーバの記憶部が備えるテーブルの一例を示す図であって、(A)はチケットテーブルを示す図、(B)はFAQテーブルを示す図である。
チケットテーブル131は、図5(A)に示すように、問合情報が登録される問合情報欄131a、及び問合情報に対する回答情報が登録される回答情報欄131bを有する。FAQテーブル132も同様に、図5(B)に示すように、問合情報が登録される問合情報欄132a、及び問合情報に対する回答情報が登録される回答情報欄132bを有する。
なお、チケットテーブル131に登録されたチケット、及びFAQテーブル132に登録されたFAQは、いずれも学習用データとしても利用される。本実施の形態では、チケット及びFAQの生成、登録タイミングとは非同期に、学習用データの生成処理が実行される。そして、学習用データの生成処理において、チケットテーブル131に新たに登録されたチケットや、FAQテーブル132に新たに登録されたFAQが、新たな学習用データとして確定されるものとする。
以下、図4を用いて説明を続ける。
引用履歴テーブル133には、チケットと、そのチケットの回答情報の作成時に引用された他のチケット又はFAQとの対応関係(引用関係)を示す情報が登録される。また、引用履歴テーブル133には、FAQと、そのFAQの生成時に引用されたチケットとの対応関係(引用関係)を示す情報も登録される。
学習用データテーブル134には、学習用データのうち、チケット間やチケットとFAQとの間の引用関係に基づいて生成された学習用データが登録される。学習用データもチケットと同様のデータ構造を有しており、問合情報と回答情報とを含む。
学習結果テーブル135には、機械学習によって得られる学習結果を示す情報が登録される。例えば、学習結果テーブル135には、学習用データに含まれる問合情報から抽出したキーワードを、学習用データに含まれる回答情報から抽出したキーワードに変換する変換パラメータが登録される。
問合回答処理部110、回答候補抽出処理部120、学習用データ生成処理部140、学習処理部150、及びFAQ自動提案処理部160の処理は、例えば、プロセッサ101が所定のアプリケーションプログラムを実行することによって実現される。
問合回答処理部110は、サービスの利用者側からの問合せの内容を示す問合情報を受信し、受信された問合情報に対する回答情報を利用者側に送信する。
回答候補抽出処理部120は、学習結果テーブル135に基づき、チケットテーブル131及びFAQテーブル132から、問合回答処理部110によって受信された問合情報に対する回答情報(及びその問合情報、即ちチケット又はFAQ)の候補を抽出する。
問合回答処理部110は、抽出された回答情報の候補を端末装置300を介してオペレータに提示する。オペレータは、提示された回答情報を参照しながら回答情報を作成することができる。問合回答処理部110は、作成された回答情報を利用者側に送信する。また、問合回答処理部110は、問合情報と、それに対して作成された回答情報とを含む生成済みのチケットを、チケットテーブル131に登録する。更に、問合回答処理部110は、そのチケットの回答情報の作成時に、候補中の他のチケット又はFAQの回答情報が引用されたか否かを示す情報、引用された場合にはそのチケットと他のチケット又はFAQとの引用関係を示す情報を、引用履歴テーブル133に登録する。
また、問合回答処理部110は、FAQの検索要求を利用者から受け付け、FAQの検索結果を利用者側に提示する。更に、問合回答処理部110は、オペレータの操作に応じてFAQを生成し、生成されたFAQをFAQテーブル132に登録する。
学習用データ生成処理部140は、チケットテーブル131に新たに登録されたチケットを用いて学習用データを生成する。その際、学習用データ生成処理部140は、引用履歴テーブル133を参照し、或るチケットについて、その回答情報が、他のチケット又はFAQの回答情報を直接的に引用したものか否かを判定する。或るチケットの回答情報が、他のチケット又はFAQの回答情報を直接的に引用したものである場合、学習用データ生成処理部140は、或るチケットの問合情報と、他のチケット又はFAQの回答情報とを含む学習用データを生成する。学習用データ生成処理部140は、このようにして生成した学習用データを、学習用データテーブル134に登録する。
学習用データ生成処理部140はまた、引用履歴テーブル133を参照し、或るチケットの回答情報として引用された回答情報を含む他のチケット又はFAQが、その生成時に更に別のチケット又はFAQの回答情報を引用したものか否かを判定する。別のチケット又はFAQの回答情報を引用したものである場合、即ち別のチケット又はFAQの回答情報が間接的に引用されて或るチケットの回答情報が生成されている場合、学習用データ生成処理部140は、その引用関係に基づく学習用データを生成する。具体的には、学習用データ生成処理部140は、或るチケットの問合情報と、その回答情報として引用された回答情報に引用されている別のチケット又はFAQの回答情報とを含む学習用データを生成する。学習用データ生成処理部140は、このようにして生成した学習用データも、学習用データテーブル134に登録する。
また、学習用データ生成処理部140は、FAQテーブル132に新たに登録されたFAQを用いて学習用データを生成する。その際、学習用データ生成処理部140は、引用履歴テーブル133を参照し、或るFAQがチケットの内容を直接的に引用したものか否かを判定する。或るFAQの内容がチケットの内容を直接的に引用したものである場合、学習用データ生成処理部140は、引用されたチケットの問合情報と、引用先のFAQの回答情報とを含む学習用データを生成する。学習用データ生成処理部140は、このようにして生成した学習用データを、学習用データテーブル134に登録する。
学習用データ生成処理部140は更に、引用履歴テーブル133を参照し、或るFAQの生成時に引用されたチケットが、その生成時に更に別のチケット又はFAQを引用したものか否かを判定する。別のチケット又はFAQを引用したものである場合、学習用データ生成処理部140は、その引用関係に基づく学習用データを生成する。具体的には、学習用データ生成処理部140は、或るFAQの回答情報と、そのFAQの生成時に引用されたチケットの回答情報として引用された別のチケット又はFAQの問合情報とを含む学習用データを生成する。学習用データ生成処理部140は、このようにして生成した学習用データも、学習用データテーブル134に登録する。
学習処理部150は、チケットテーブル131、FAQテーブル132及び学習用データテーブル134から学習用データを取得して学習(再学習)処理を行い、学習結果を学習結果テーブル135に登録する。例えば、学習処理部150は、学習用データに含まれる回答情報から抽出したキーワードに変換する変換パラメータを機械学習し、変換パラメータを学習結果テーブル135に登録する。
FAQ自動提案処理部160は、学習用データテーブル134に登録された情報に基づいて、FAQの生成のために引用するのに適するチケットを判別し、判別したチケットを用いたFAQの生成をオペレータに提案する。具体的には、FAQ自動提案処理部160は、チケットの生成時に引用された回数が一定数以上となったチケットを、FAQの生成のために引用するのに適するチケットと判別する。
<チケット生成に応じた学習用データの生成>
図6は第2の実施の形態に係るサーバで問合せが受け付けられた時の説明図である。
例えば、問合回答処理部110は、図6に示すような、問合情報Aを含む新規のチケット1を取得する。例えば、問合回答処理部110は、利用者側の端末装置200a,200b,200cからの問合せを受け付けると、受け付けた問合せの内容を示す問合情報を含む新規のチケット1を生成する。
回答候補抽出処理部120は、取得した新規チケット1に含まれる問合情報Aに対する回答情報の候補(回答候補)500を抽出する。回答候補500は、学習結果テーブル135に基づき、チケットテーブル131及びFAQテーブル132から抽出される。例えば、図6に示すような、問合情報Xとその回答情報xを含むFAQ1、問合情報Yとその回答情報yを含むFAQ2、問合情報Bとその回答情報bを含むチケット2、問合情報Cとその回答情報cを含むチケット3等が、回答候補500として抽出される。
オペレータは、端末装置300を使用し、回答候補抽出処理部120によって抽出された回答候補500の内容を参照しながら、問合情報Aに対する回答情報を作成する。問合回答処理部110は、作成された回答情報を利用者側に送信する。
図7は第2の実施の形態に係るサーバで新規チケットに対する回答が行われる時の第1の例を説明する図である。
例えば、図7に示すように、オペレータにより、新規のチケット1の問合情報Aに対する回答情報aの作成時に、回答候補500の中からチケット2の回答情報bが引用されたものとする。この場合、オペレータは、引用した回答情報bの文章をそのまま使用する、あるいはその文章を編集することで、チケット1の回答情報aを作成する。
問合回答処理部110は、このようにして作成されたチケット1の問合情報A及び回答情報aを、利用者側に送信(発行)する。問合回答処理部110は、発行されたチケット1の問合情報Aとその回答情報aとを、チケットテーブル131に登録する。
問合回答処理部110は更に、発行されたチケット1と、その作成時に引用されたチケット2との引用関係を、引用履歴テーブル133に登録する。図7に示すように、引用履歴テーブル133は、チケット名の欄と引用チケット/FAQ名の欄を有する。チケット1の回答情報aがチケット2の回答情報bを引用して作成された場合、チケット名の欄にチケット1の識別番号が登録され、引用チケット/FAQの欄にチケット2の識別番号が登録される。
その後の学習用データの生成タイミングにおいて、学習用データ生成処理部140は、発行されたチケット1を学習用データとして確定する。これとともに、学習用データ生成処理部140は、引用履歴テーブル133を参照し、チケット1の回答情報aの作成時に他のチケット又はFAQが引用されているか否かを判定する。図7の例では、チケット1の回答情報aの作成時にチケット2が引用されている。そのため、学習用データ生成処理部140は、チケット1がチケット2を引用していると判定し、チケット1の問合情報Aとチケット2の回答情報bとを含む学習用データを生成する。学習用データ生成処理部140は、生成された学習用データを学習用データテーブル134(No.1)に登録する。
サーバ100は、例えばこのようにして、受け付けた回答情報と、それに対する回答情報の作成時に引用された回答情報とを含む学習用データを、学習用データテーブル134に蓄積する。
図8は第2の実施の形態に係るサーバに接続されるオペレータ側の端末装置で表示される画面の一例を示す図である。
オペレータ側の端末装置300には、サーバ100の問合回答処理部110が取得したチケットについて、図8に示すような画面600がディスプレイに表示される。画面600には、実行する作業のメニューを示すツールバー610、チケットの「概要」の欄620、「回答候補」の欄630が含まれる。ツールバー610には、作業の一例として、「戻る」、「回答」、「記録」、「回送」、「編集」、「検索」、「関連付け」、「チケット発行」、「FAQ発行」、「印刷」といったメニューが含まれる。「概要」の欄620には、問合情報の内容が表示される「質問/現象」の欄621、その問合情報に対する回答情報の内容が入力される「回答/対処」の欄622が含まれる。「回答候補」の欄630には、問合情報に対する回答情報(それを含むチケット又はFAQ)の候補が挙げられ、各候補について、それを「引用して回答」するか否かを選択することができるようになっている。
問合回答処理部110が問合情報を含む新規チケットを取得すると、その問合情報の内容が、「質問/現象」の欄621に表示される。更に、回答候補抽出処理部120によりその問合情報に基づいて抽出された回答情報の候補が、「回答候補」の欄630に表示される。例えば、「回答候補」の欄630に表示された回答情報の候補の1つをオペレータがクリック操作すると、対応するチケット又はFAQに含まれる問合情報及び回答情報の内容が、ポップアップ画面等を用いて表示される。
オペレータは、例えば、「回答/対処」の欄622に文字を入力することにより、回答情報を作成することができる。また、図8では例として、「質問/現象」の欄621に表示された問合情報に対し、オペレータが、「回答候補」の欄630に挙げられた候補のチケット又はFAQの中から1つを引用して回答したものとする。この場合、オペレータは、各候補に設定された「引用」の表示領域631を選択し、更に該当候補について「引用して回答」を選択する。オペレータによって「引用して回答」が選択されると、その候補のチケット又はFAQに含まれる回答情報の内容が、「回答/対処」の欄622に表示される。オペレータは、「回答/対処」の欄622の内容を、適宜編集することができる。そして、オペレータにより、ツールバー610の「回答」が選択されると、「回答/対処」の欄622に表示される回答情報が、「質問/現象」の欄621に表示される問合情報の内容について問合せが行われた利用者側の端末装置200a等に送信される。
このように、「質問/現象」の欄621の問合情報に対し、「回答候補」の欄630に挙げられた候補のチケット又はFAQの回答情報が引用されて回答されると、サーバ100により、その問合情報と、引用された回答情報に基づいて作成された回答情報とを含むチケットが、チケットテーブル131に登録される。更に、そのチケットと、回答情報に引用された他のチケット又はFAQとの引用関係が、引用履歴テーブル133に登録される。
その後、学習用データの生成タイミングにおいて、上記のように学習用データ生成処理部140により学習用データが生成され、生成された学習用データが学習用データテーブル134に登録される。なお、学習用データの生成タイミングは、例えば、チケットテーブル131に一定数のチケットの情報が登録されたタイミングとすることができる。
図9は第2の実施の形態に係るサーバで新規チケットに対する回答が行われる時の第2の例を説明する図である。
例えば、図9に示すように、オペレータにより、チケット2の問合情報Bに対する回答情報bの生成時にチケット4の回答情報dが引用され、更にその後、チケット1の問合情報Aに対する回答情報aの生成時に、チケット2の回答情報bが引用されたものとする。
この場合、問合回答処理部110は、チケット2の問合情報Bに対する回答情報bを利用者側に送信(発行)する。これとともに、問合回答処理部110は、発行されたチケット2の問合情報Bとその回答情報bとを、チケットテーブル131に登録し、更に、発行されたチケット2と、その生成時に引用されたチケット4との引用関係を、引用履歴テーブル133に登録する。
その後、問合回答処理部110は、チケット1の問合情報Aに対する回答情報aを利用者側に送信(発行)する。これとともに、問合回答処理部110は、発行されたチケット1の問合情報Aとその回答情報aとを、チケットテーブル131に登録し、更に、発行されたチケット1と、その生成時に引用されたチケット2との引用関係を、引用履歴テーブル133に登録する。
その後の学習用データの生成タイミングにおいて、学習用データ生成処理部140は、新規に登録されたチケットを学習用データとして確定する。これとともに、学習用データ生成処理部140は、引用履歴テーブル133を参照し、新規のチケットの回答情報の生成時に他のチケット又はFAQが引用されているか否かを判定する。
図9の例では、チケット2の回答情報bの作成時にチケット4が引用され、チケット1の作成時にチケット2が引用されている。
この場合、学習用データ生成処理部140は、チケット2を学習用データとして確定するとともに、チケット2がチケット4を引用していると判定し、チケット2の問合情報Bとチケット4の回答情報dとを含む学習用データを生成する。学習用データ生成処理部140は、生成された学習用データを、図9に示すように学習用データテーブル134(No.1)に登録する。
また、学習用データ生成処理部140は、チケット1を学習用データとして確定するとともに、チケット1がチケット2を引用していると判定し、チケット1の問合情報Aとチケット2の回答情報bとを含む学習用データを生成する。学習用データ生成処理部140は、生成された学習用データを、図9に示すように学習用データテーブル134(No.2)に登録する。
更に、学習用データ生成処理部140は、引用履歴テーブル133の引用チケット/FAQ名の欄に登録されているチケットが、それ以前に登録されたレコードにおいてチケット名の欄に登録されているか否かを判定する。即ち、学習用データ生成処理部140は、別のチケット又はFAQとの間で引用関係があるか否かを判定する。この例では、図9の引用履歴テーブル133に示されるように、チケット1がチケット2を引用し、そのチケット2がチケット4を引用している。従って、引用チケット/FAQ名の欄に登録されているチケット2は、他のレコードのチケット名の欄に登録されており、そのレコードの引用チケット/FAQ名の欄に登録された別のチケット4との間で引用関係があると判定される。即ち、チケット1とチケット4とは、チケット1の問合情報Aに対する回答情報aの作成時に、チケット4の回答情報dが間接的に引用された関係にある。学習用データ生成処理部140は、このような間接的な引用関係にあるチケット1とチケット4について、チケット1の問合情報Aと、チケット4の回答情報dとを含む学習用データを生成する。学習用データ生成処理部140は、生成された学習用データを、図9に示すように学習用データテーブル134(No.3)に登録する。
以上のように、サーバ100で蓄積される学習用データは、チケット1の問合情報Aとそれに対する回答情報aという1対1の関係を示すものに留まらない。サーバ100では、問合情報Aと、この問合情報Aと直接的な引用関係にある回答情報bとを含む学習用データ、及び、問合情報Aと、この問合情報Aと間接的な引用関係にある回答情報dとを含む学習用データが、更に蓄積される。これにより、学習用データを効率的に蓄積していくことができる。このように学習用データを効率的に蓄積していくことで、それを用いた学習処理における学習精度、利用者からの問合情報に対する回答情報の候補抽出精度を、効率的に高めることができる。
図10は第2の実施の形態に係るチケット登録処理フローの一例を示す図である。
サーバ100の問合回答処理部110は、新規チケットの問合情報に対して回答情報が作成されると、図10に示すような処理を実行する。以下、図10に示す処理をステップ番号に沿って説明する。
(S11)問合回答処理部110は、問合情報とそれに対する回答情報とを含む新規チケットを、チケットテーブル131に登録する。
(S12)問合回答処理部110は、新規チケットの問合情報に対する回答情報の作成時に、回答候補抽出処理部120によって回答候補として抽出されたチケット又はFAQから回答情報が引用されたか否かを判定する。引用された場合、問合回答処理部110は、処理をステップS13に進める。引用されていない場合、問合回答処理部110は、処理を終了する。
(S13)問合回答処理部110は、新規チケットと、ステップS12で引用されたと判定されたチケット又はFAQとの引用関係を、引用履歴テーブル133に登録する。
図11は第2の実施の形態に係る学習データ生成処理フローの第1の例を示す図である。
サーバ100の学習用データ生成処理部140は、所定の学習データ生成タイミングにおいて、前回の学習データ生成タイミングの後にチケットテーブル131に新たに登録されたチケットのそれぞれについて、図11に示すような処理を実行する。例えば、学習用データ生成処理部140は、チケットテーブル131に一定数のチケットが新たに登録された段階で、新たに登録されたチケットのそれぞれについて、図11に示すような処理を実行する。以下、図11に示す処理をステップ番号に沿って説明する。
(S21)学習用データ生成処理部140は、チケットテーブル131から新規に登録されたチケットを1つ選択する。この処理では、チケットがその登録順に選択される。
(S22)学習用データ生成処理部140は、ステップS21で選択されたチケットを学習用データとして確定する。例えば、チケットテーブル131には、各チケットに対して、学習用データとして確定済みか否かを示すフラグ情報が付加されており、ステップS22では、選択されたチケットに付加されたフラグ情報が「0」から「1」に更新される。この場合、ステップS21では、フラグ情報が「0」になっているチケットの中から、最も先に登録されたチケットが処理対象として選択される。
(S23)学習用データ生成処理部140は、引用履歴テーブル133を参照し、ステップS21で選択されたチケットの生成時に、直接的に引用された他のチケット又はFAQがあるか否かを判定する。この処理では、引用履歴テーブル133から、ステップS21で選択されたチケットの識別情報がチケット名の欄に登録されているレコードが特定された場合に、直接的に引用された他のチケット又はFAQがあると判定される。
直接的に引用された他のチケット又はFAQがある場合、学習用データ生成処理部140は、処理をステップS24に進める。直接的に引用された他のチケット又はFAQがない場合、学習用データ生成処理部140は、選択されたチケットについての処理を終了する。
(S24)学習用データ生成処理部140は、ステップS21で選択されたチケットの問合情報と、ステップS23で特定されたレコードの引用チケット/FAQ名の欄に登録されている他のチケット又はFAQの問合情報とを含む学習用データを生成する。
(S25)学習用データ生成処理部140は、ステップS24で生成された学習用データを、学習用データテーブル134に登録する。
(S26)学習用データ生成処理部140は、引用履歴テーブル133を参照し、ステップS21で選択されたチケットの生成時に、間接的に引用された他のチケット又はFAQがあるか否かを判定する。この処理では、ステップS23で引用履歴テーブル133から特定されたレコードの引用チケット/FAQ名の欄に登録されているチケットの識別番号が、それ以前に引用履歴テーブル133に登録されたレコードのチケット名の欄に登録されているか否かが判定される。そして、該当レコードが引用履歴テーブル133から特定された場合に、間接的に引用された他のチケット又はFAQがあると判定される。
間接的に引用された他のチケット又はFAQがある場合、学習用データ生成処理部140は、処理をステップS27に進める。間接的に引用された他のチケット又はFAQがない場合、学習用データ生成処理部140は、選択されたチケットについての処理を終了する。
(S27)学習用データ生成処理部140は、ステップS21で選択されたチケットの問合情報と、ステップS26で特定されたレコードの引用チケット/FAQ名の欄に登録されている他のチケット又はFAQの回答情報とを含む学習用データを生成する。
(S28)学習用データ生成処理部140は、ステップS27で生成された学習用データを、学習用データテーブル134に登録する。
<FAQ生成に応じた学習用データの生成>
図12は第2の実施の形態に係るサーバでの回答及びFAQ作成の一例を説明する図である。
例えば、図12に示すように、チケット1の問合情報Aに対する回答情報aとして、チケット2の回答情報bが引用されたものとする。引用履歴テーブル133には、チケット1と、それに引用されたチケット2との引用関係が登録される。
例えば、チケット1のほかにも複数のチケットの回答情報として引用される等、チケット2の回答情報bが有効なものである場合、そのチケット2の内容に基づき、利用者に公開されるFAQが生成される。図12には、チケット2の内容に基づき、問合情報Zとそれに対する回答情報zとを含むFAQ3が生成される場合を示している。FAQ3の問合情報Z及び回答情報zは、それぞれチケット2の問合情報B及び回答情報bの内容がそのままコピーされたものでもよいし、それぞれチケット2の問合情報B及び回答情報bの内容が適宜編集されたものであってもよい。
この場合、図12に示すように、まず、問合回答処理部110は、チケット2の問合情報Bに対する回答情報bを利用者側に送信(発行)する。これとともに、問合回答処理部110は、発行されたチケット2の問合情報Bとその回答情報bとを、チケットテーブル131に登録する。
その後、問合回答処理部110は、チケット1の問合情報Aに対する回答情報aを利用者側に送信(発行)する。これとともに、問合回答処理部110は、発行されたチケット1の問合情報Aとその回答情報aとを、チケットテーブル131に登録し、更に、発行されたチケット1と、その生成時に引用されたチケット2との引用関係を、引用履歴テーブル133に登録する。
その後、問合回答処理部110は、FAQ3が生成されると、FAQ3の問合情報Zとその回答情報zとを、FAQテーブル132に登録し、更に、生成されたFAQ3と、その生成時に引用されたチケット2との引用関係を、引用履歴テーブル133に登録する。ここで、引用履歴テーブル133では、チケット名の欄にチケット2の識別番号が登録され、引用チケット/FAQ名の欄にFAQ3の識別番号が登録されるものとする。
その後の学習用データの生成タイミングにおいて、学習用データ生成処理部140は、新規に登録されたFAQを学習用データとして確定する。これとともに、学習用データ生成処理部140は、引用履歴テーブル133を参照し、新規のFAQの生成時にチケットが引用されているか否かを判定する。図12の例では、FAQ3の生成時にチケット2が引用されている。この場合、チケット2の回答情報bと、FAQ3の回答情報zとは、直接的な引用関係にあるものと見做せる。このことから、学習用データ生成処理部140は、チケット2の問合情報Bと、FAQ3の回答情報zとを含む学習用データを生成し、学習用データテーブル134に登録する。
更に、学習用データ生成処理部140は、引用履歴テーブル133を参照し、チケット2の回答情報bが、他のチケットの回答情報の生成時に引用されているか否かを判定する。図12の例では、チケット2の回答情報bは、チケット1の回答情報aの生成時に引用されている。この場合、チケット1の回答情報aと、FAQ3の回答情報zとは、間接的な引用関係にあるものと見做せる。このことから、学習用データ生成処理部140は、チケット1の問合情報Aと、FAQ3の回答情報zとを含む学習用データを生成し、学習用データテーブル134に登録する。
以上のように、FAQ3が生成され、FAQ3とチケット1及びチケット2とが図12に示すような引用関係を有する場合には、FAQ3そのものをコピーした学習用データに加え、引用関係に基づく2つの学習用データが生成され、記憶部130に蓄積される。これにより、学習用データを効率的に蓄積していくことができる。このように学習用データを効率的に蓄積していくことで、それを用いた学習処理における学習精度、利用者からの問合情報に対する回答情報の候補抽出精度を、効率的に高めることができる。
図13は第2の実施の形態に係るサーバに接続されるオペレータ側の端末装置で表示される画面の一例を示す図である。なお、図13では、図8と同じ構成要素には同じ符号を付して示している。
オペレータ側の端末装置300には、サーバ100が取得したチケットについて、図13に示すような画面600がディスプレイに表示される。画面600には、図8と同様に、実行する作業のメニューを示すツールバー610、チケットの「概要」の欄620、「回答候補」の欄630が含まれる。
例えば、サーバ100が取得したチケットの問合情報の内容が、「質問/現象」の欄621に表示され、その問合情報に基づいて抽出された回答情報の候補が、「回答候補」の欄630に表示される。前述のように、オペレータは、「回答/対処」の欄622に文字を入力することにより、回答情報を作成することができる。また、「回答候補」の欄630に表示された回答候補の1つを引用して回答情報を作成することもできる。回答情報の作成が終了し、オペレータにより、ツールバー610の「回答」が選択されると、「回答/対処」の欄622に表示される回答情報が、「質問/現象」の欄621に表示される問合情報の内容を問い合わせた利用者側の端末装置200a等に送信される。この時、その問合情報と、引用された回答情報とを含むチケットが、チケットテーブル131に登録される。なお、ここでは「チケット2」が生成されて、チケットテーブル131に登録されたとする。
この状態で、オペレータにより、ツールバー610の「FAQ発行」が選択されると、「質問/現象」の欄621に表示されている情報に基づく問合情報と、「回答/対処」の欄622に表示されている情報に基づく回答情報とを含むFAQが生成される。ここでは「FAQ3」が生成されたとする。この場合、FAQ3は、チケット2に基づいて生成されたことになる。なお、生成されたFAQ3においては、問合情報及び回答情報の内容は、それぞれチケット2の問合情報及び回答情報の内容がそのままコピーされたものであってもよい。あるいは、問合情報及び回答情報の内容は、それぞれチケット2の問合情報及び回答情報の内容が適宜編集されたものであってもよい。
このようにしてFAQ3が生成されると、FAQ3がFAQテーブル132に登録されるとともに、FAQ3とチケット2との引用関係が引用履歴テーブル133に登録される。
図14は第2の実施の形態に係るFAQ登録処理フローの一例を示す図である。
サーバ100の問合回答処理部110は、新規FAQの作成に伴い、図14に示すような処理を実行する。以下、図14に示す処理をステップ番号に沿って説明する。
(S31)問合回答処理部110は、問合情報とそれに対する回答情報とを含む新規FAQを、FAQテーブル132に登録する。
(S32)問合回答処理部110は、新規FAQの生成時にチケットが引用されたか否かを判定する。引用された場合、問合回答処理部110は、処理をステップS33に進める。引用されていない場合、問合回答処理部110は、処理を終了する。
(S33)問合回答処理部110は、新規FAQと、ステップS32で引用されたと判定されたチケットとの引用関係を、引用履歴テーブル133に登録する。
図15は第2の実施の形態に係る学習データ生成処理フローの第2の例を示す図である。
サーバ100の学習用データ生成処理部140は、所定の学習データ生成タイミングにおいて、前回の学習データ生成タイミングの後にFAQテーブル132に新たに登録されたチケットのそれぞれについて、図15に示すような処理を実行する。例えば、学習用データ生成処理部140は、FAQテーブル132に一定数のFAQが新たに登録された段階で、新たに登録されたFAQのそれぞれについて、図15に示すような処理を実行する。以下、図15に示す処理をステップ番号に沿って説明する。
(S41)学習用データ生成処理部140は、FAQテーブル132から新規に登録されたFAQを1つ選択する。この処理では、FAQがその登録順に選択される。
(S42)学習用データ生成処理部140は、ステップS41で選択されたFAQを学習用データとして確定する。例えば、FAQテーブル132には、各FAQに対して、学習用データとして確定済みか否かを示すフラグ情報が付加されており、ステップS42では、選択されたFAQに付加されたフラグ情報が「0」から「1」に更新される。この場合、ステップS41では、フラグ情報が「0」になっているFAQの中から、最も先に登録されたFAQが処理対象として選択される。
(S43)学習用データ生成処理部140は、引用履歴テーブル133を参照し、ステップS41で選択されたFAQの生成時に、直接的に引用されたチケットがあるか否かを判定する。この処理では、引用履歴テーブル133から、ステップS41で選択されたFAQの識別情報が引用チケット/FAQ名の欄に登録されているレコードが特定された場合に、直接的に引用されたチケットがあると判定される。
直接的に引用されたチケットがある場合、学習用データ生成処理部140は、処理をステップS44に進める。直接的に引用されたチケットがない場合、学習用データ生成処理部140は、選択されたFAQについての処理を終了する。
(S44)学習用データ生成処理部140は、ステップS43で特定されたレコードのチケット名の欄に登録されているチケットの問合情報と、ステップS41で選択されたFAQの回答情報とを含む学習用データを生成する。
(S45)学習用データ生成処理部140は、ステップS44で生成された学習用データを、学習用データテーブル134に登録する。
(S46)学習用データ生成処理部140は、引用履歴テーブル133を参照し、ステップS41で選択されたFAQの回答情報を間接的に引用している他のチケットがあるか否かを判定する。この処理では、ステップS43で引用履歴テーブル133から特定されたレコードのチケット名の欄に登録されているチケットの識別番号が、それ以前に引用履歴テーブル133に登録されたレコードの引用チケット/FAQ名の欄に登録されているか否かが判定される。そして、該当レコードが引用履歴テーブル133から特定された場合に、FAQの回答情報を間接的に引用している他のチケットがあると判定される。
間接的に引用している他のチケットがある場合、学習用データ生成処理部140は、処理をステップS47に進める。間接的に引用している他のチケットがない場合、学習用データ生成処理部140は、選択されたFAQについての処理を終了する。
(S47)学習用データ生成処理部140は、ステップS46で特定されたレコードのチケット名の欄に登録されているチケットの問合情報と、ステップS41で選択されたFAQの回答情報とを含む学習用データを生成する。
(S48)学習用データ生成処理部140は、ステップS47で生成された学習用データを、学習用データテーブル134に登録する。
<学習用データ生成処理の変形例>
図6〜図11に示した、チケット生成に応じた学習用データの生成処理では、学習用データの生成処理を、チケット生成タイミングとは非同期のタイミングで実行した。しかし、別の処理例として、チケットが生成されるとすぐに、そのチケットに基づいて学習用データの生成処理が実行されてもよい。この場合、例えば、図10及び図11のフローチャートは次のように変形されればよい。
まず、問合回答処理部110は、図10のステップS11〜S13を実行する。これにより、新規のチケットがチケットテーブル131に登録され、そのチケットが他のチケット又はFAQの引用により生成された場合には、引用関係を示す情報が引用履歴テーブル133に登録される。続いて、学習用データ生成処理部140は、生成された新規のチケットを処理対象として、図11のステップS22〜S28の処理を実行する。即ち、ステップS22〜S28の処理では、ステップS21で選択されたチケットの代わりに、生成された新規のチケットが適用される。これにより、生成されたチケットに基づく学習データの生成処理が実行される。
また、上記の変形例では、例えば、ステップS13において、問合回答処理部110は、新規チケットと、その生成時に引用された他のチケット又はFAQとの引用関係を、引用履歴テーブル133に登録せずに、RAM102に一時的に保持してもよい。なお、この時に保持される情報も、引用履歴の一形態である。このように処理が変形された場合、ステップS23において、学習用データ生成処理部140は、ステップS13で一時的に保持された情報が存在するか否かによって、直接的に引用された他のチケット又はFAQがあるか否かを判定する。また、直接的に引用された他のチケット又はFAQがあると判定された場合、学習用データ生成処理部140は、ステップS24において、ステップS13の手順で引用関係を示す情報を引用履歴テーブル133に登録する。この時に登録されるレコードは、ステップS26において「ステップS23で引用履歴テーブル133から特定されたレコード」として取り扱われる。
一方、図12〜図15に示した、FAQ生成に応じた学習用データの生成処理では、学習用データの生成処理を、FAQ生成タイミングとは非同期のタイミングで実行した。しかし、別の処理例として、FAQが生成されるとすぐに、そのFAQに基づいて学習用データの生成処理が実行されてもよい。この場合、例えば、図14及び図15のフローチャートは次のように変形されればよい。
まず、問合回答処理部110は、図14のステップS31〜S33を実行する。これにより、新規のFAQがFAQテーブル132に登録され、そのFAQがチケットの引用により生成された場合には、引用関係を示す情報が引用履歴テーブル133に登録される。続いて、学習用データ生成処理部140は、生成された新規のFAQを処理対象として、図15のステップS42〜S48の処理を実行する。即ち、ステップS42〜S48の処理では、ステップS41で選択されたFAQの代わりに、生成された新規のFAQが適用される。これにより、生成されたFAQに基づく学習データの生成処理が実行される。
更に、前述のチケット生成に応じた学習用データの生成処理と同様、上記の変形例では、例えば、ステップS33において、問合回答処理部110は、新規FAQと、その生成時に引用されたチケットとの引用関係を、引用履歴テーブル133に登録せずに、RAM102に一時的に保持してもよい。なお、この時に保持される情報も、引用履歴の一形態である。このように処理が変形された場合、ステップS43において、学習用データ生成処理部140は、ステップS33で一時的に保持された情報が存在するか否かによって、直接的に引用されたチケットがあるか否かを判定する。また、直接的に引用されたチケットがあると判定された場合、学習用データ生成処理部140は、ステップS44において、ステップS33の手順で引用関係を示す情報を引用履歴テーブル133に登録する。この時に登録されるレコードは、ステップS46において「ステップS43で引用履歴テーブル133から特定されたレコード」として取り扱われる。
<FAQの自動提案処理>
上記のようなサーバ100では、学習用データテーブル134を利用し、FAQの生成をオペレータに対して自動的に提案する機能を持たせることができる。ここでは、このような機能について図16及び図17を参照して説明する。
図16は第2の実施の形態に係るサーバでの回答の一例を説明する図である。
例えば、図16の上側に示すように、チケット5の問合情報Eに対する回答情報eの作成時、チケット6の問合情報Fに対する回答情報fの作成時、チケット7の問合情報Gに対する回答情報gの作成時等に、チケット1の回答情報aが引用されたものとする。この場合、図16の下側に示すように、学習用データテーブル134には、チケット5の問合情報Eとチケット1の回答情報aとを含む学習データ(No.1)、チケット6の問合情報Fとチケット1の回答情報aとを含む学習データ(No.2)、チケット7の問合情報Gとチケット1の回答情報aとを含む学習データ(No.3)等が登録される。
この例のように、同一のチケット1の回答情報が他のチケットの生成時に何回も引用されている場合、引用元のチケット1の内容は利用者から問合せの多い内容であるので、FAQとして公開することが望ましいと判断できる。そして、学習用データテーブル134の回答情報欄に登録されている回答情報aの数から、それが引用された回数を知ることができる。
そこで、FAQ自動提案処理部160は、学習用データテーブル134の回答情報欄に登録されている同一チケットの回答情報の数、即ち同一チケットが引用された回数を計測する。FAQ自動提案処理部160は、あるチケットの引用回数が一定回数以上の場合、オペレータに対して、そのチケットを用いたFAQの作成を自動的に提案する。
図17は第2の実施の形態に係るFAQ自動提案処理フローの一例を示す図である。
(S51)FAQ自動提案処理部160は、学習用データテーブル134の回答情報欄を参照し、回答情報欄に回答情報が登録されたチケット毎の登録数をカウントする。なお、学習用データテーブル134の回答情報欄には、回答情報の内容とともに、その回答情報がどのチケットに含まれるかを示す識別情報も登録されているものとする。
(S52)FAQ自動提案処理部160は、ステップS51のカウント処理により、登録数が一定数以上であるチケットがあったか否かを判定する。該当するチケットがあった場合、FAQ自動提案処理部160は、処理をステップS53に進める。該当するチケットがなかった場合、FAQ自動提案処理部160は、処理を終了する。
(S53)FAQ自動提案処理部160は、オペレータ側の端末装置300を介して、登録数が一定数以上であるチケットを用いてFAQを生成することを提案する提案情報を、オペレータに通知する。
(S54)オペレータによってFAQを生成する操作が行われた場合、FAQ自動提案処理部160は、生成されたFAQをFAQテーブル132に登録する。
以上の処理により、サーバ100は、生成済みチケットの中から、FAQを生成するために適するチケットを自動的に抽出して、オペレータに通知することができる。これにより、オペレータによるFAQの生成作業効率を高めることができる。また、FAQ自動提案処理部160は、例えば、抽出されたチケットを用いたFAQの生成を提案するのではなく、そのチケットを用いてFAQを自動的に生成して、FAQテーブル132に登録してもよい。この場合、FAQを効率的に生成することができる。
なお、以上の図15及び図16の処理では、FAQ自動提案処理部160は、学習用データテーブル134を参照して、引用回数が一定回数以上のチケットを判別した。しかし、例えば、FAQ自動提案処理部160は、学習用データテーブル134の代わりに引用履歴テーブル133を参照して、引用回数が一定回数以上のチケットを判別してもよい。この場合、FAQ自動提案処理部160は、引用履歴テーブル133の引用チケット/FAQ名の欄を参照して、登録数が一定数以上のチケットを判別する。このように引用履歴テーブル133を参照した場合には、他のチケットの生成時に直接的に引用されたチケットのみがカウントの対象となり、間接的に引用されたチケットはカウントの対象から外れる。
<学習処理及び回答候補の検索処理>
次に、問合情報に対する適切な回答情報を抽出するための学習処理の一例と、その学習処理の結果を用いて、新たな問合情報に対する回答情報の候補を検索する処理の一例について説明する。
まず、学習処理について説明する。ここでは一例として、学習用データに含まれる問合情報から抽出したキーワードを、学習用データに含まれる回答情報から抽出したキーワードに変換する変換パラメータが機械学習されるものとする。なお、学習用データとしては、チケットテーブル131に登録されたチケットと、FAQテーブル132に登録されたFAQと、学習用データテーブル134に登録された学習用データとが用いられる。
図18は第2の実施の形態に係る学習処理フローの一例を示す図である。
(S61)学習処理部150は、学習処理の実行タイミングになるまで待機する。そして、学習処理部150は、学習処理の実行タイミングになると、処理をステップS62に進める。
(S62)学習処理部150は、学習用データに含まれる問合情報からキーワードを抽出する。例えば、学習処理部150は、問合情報に対して形態素分析を行うことにより、キーワードを抽出する。
(S63)学習処理部150は、学習用データに含まれる回答情報からキーワードを抽出する。例えば、学習処理部150は、ステップS62と同様に、回答情報に対して形態素分析を行うことにより、キーワードを抽出する。
(S64)学習処理部150は、ステップS62で抽出されたキーワードをステップS63で抽出されたキーワードに変換する変換パラメータを、機械学習する。例えば、学習処理部150は、ステップS62で抽出されたキーワードとステップS63で抽出されたキーワードとを教師データとして識別関数に与えることにより、変換パラメータを算出する。学習処理部150は、ステップS62で抽出されたキーワードとステップS63で抽出されたキーワードとを識別関数に入力して、変換パラメータを算出する。学習処理部150は、問合情報から抽出された各キーワードと回答情報から抽出された各キーワードとの組み合わせ毎に、変換パラメータの機械学習を行う。
図19は学習結果テーブルの一例を示す図である。
図19に示す学習結果テーブル135には、図18のステップS62で問合情報から抽出されたキーワードを示す項目が、縦方向に並列される。また、図18のステップS63で回答情報から抽出されたキーワードを示す項目が、横方向に並列される。そして、学習結果テーブル135には、縦方向に並ぶキーワードのそれぞれと、横方向に並ぶキーワードのそれぞれとの組み合わせ毎に、機械学習によって得られた変換パラメータが登録される。
次に、学習結果テーブル135を参照して、新たな問合情報に対する回答情報の候補を検索する処理について説明する。
図20は第2の実施の形態に係る回答情報検索処理フローの一例を示す図である。
(S71)回答候補抽出処理部120は、問合回答処理部110が利用者からの新たな問合情報を受け付けるまで待機する。そして、回答候補抽出処理部120は、問合回答処理部110が新たな問合情報を受け付け、回答候補抽出処理部120からその問合情報が通知されると、処理をステップS72に進める。
(S72)回答候補抽出処理部120は、通知された問合情報からキーワードを抽出する。例えば、回答候補抽出処理部120は、通知された問合情報に対して形態素分析を行うことにより、キーワードを抽出する。以下、抽出されたキーワードを「変換前キーワード」と呼ぶ。
(S73)回答候補抽出処理部120は、学習結果テーブル135に登録された変換パラメータを用いて、ステップS72で抽出された変換前キーワードを変換し、変換後キーワードを取得する。
(S74)回答候補抽出処理部120は、ステップS73で取得した変換後キーワードを用いて、チケットテーブル131及びFAQテーブル132を検索する。回答候補抽出処理部120は、チケットテーブル131に登録されたチケット及びFAQテーブル132に登録されたFAQの各回答情報の中から、所定数の回答情報を検索結果として抽出する。回答候補抽出処理部120は、抽出された各回答情報が含まれるチケットまたはFAQを問合回答処理部110に受け渡す。これにより、これらのチケットまたはFAQが、図8に示した画面600の「回答候補」の欄630に表示される。
ここで、ステップS73,S74の処理の具体例について更に説明する。例えば、ステップS73において、回答候補抽出処理部120は、ステップS72で抽出された変換前キーワードとの相関度を、図18のステップS63で回答情報から抽出されたキーワード毎に算出する。
例えば、変換前キーワードとして「監視」と「条件」が抽出されたとする。回答候補抽出処理部120は、図19に示す学習結果テーブル135のうち、左端の項目に「監視」、「条件」がそれぞれ設定された行を参照する。回答候補抽出処理部120は、変換前キーワード「監視」と、上端の項目に設定された各キーワード、即ち、学習用データの回答情報から抽出された各キーワードとの間の変換パラメータを取得する。更に、変換前キーワード「条件」についても同様に、「条件」と、学習用データの回答情報から抽出された各キーワードとの間の変換パラメータを取得する。
次に、回答候補抽出処理部120は、学習用データの回答情報から抽出された同じキーワードについて取得された変換パラメータを加算することで、新たな問合情報と、学習用データの回答情報から抽出された各キーワードとの間の相関度を算出する。例えば、変換前キーワード「監視」と、学習用データの回答情報から抽出されたキーワード「イベント」との間の変換パラメータとして、「0.3」が取得される。また、変換前キーワード「条件」と、学習用データの回答情報から抽出されたキーワード「イベント」との間の変換パラメータとして、「0.3」が取得される。この場合、新たな問合情報と、学習用データの回答情報から抽出された各キーワードとの間の相関度として、「0.6」が算出される。
次に、回答候補抽出処理部120は、学習用データの回答情報から抽出されたキーワードの中から、相関度が所定閾値を超えるキーワードを、変換後キーワードとして特定する。そして、回答候補抽出処理部120は、特定された変換後キーワードを検索キーとして、チケットテーブル131に登録されたチケット及びFAQテーブル132に登録されたFAQの各回答情報を検索する。回答候補抽出処理部120は、検索による評価値の高い(例えば、特定された変換後キーワードをより多く含む)回答情報を所定数特定し、特定した回答情報が含まれるチケットまたはFAQを検索結果として問合回答処理部110に出力する。
このような処理により、機械学習の結果に基づき、新たに受け付けた問合情報に対する適切な回答情報の候補を含むチケットまたはFAQを検索することができる。その結果、オペレータによる回答情報の作成作業を支援し、その作業効率を向上させることができる。
なお、上記の各実施の形態に示した装置(例えば、学習用データ生成装置1、サーバ100)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、HDD、フレキシブルディスク、磁気テープ等がある。光ディスクには、DVD、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等がある。光磁気記録媒体には、MO等がある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。