以下に、図面を参照しつつ、本願の開示するオペレータ支援装置、オペレータ支援プログラム及びオペレータ支援方法の一実施形態について詳細に説明する。なお、本願の開示するオペレータ支援装置、オペレータ支援プログラム及びオペレータ支援方法の一実施形態として以下に説明する実施例により、本願の開示する技術が限定されるものではない。
[オペレータ支援装置の構成]
図2は、実施例2に係るオペレータ支援装置の構成を示すブロック図である。なお、本実施例では、コールセンタでパーソナルコンピュータの操作に関する問合せを受け付ける場合を想定したオペレータ支援装置を説明する。なお、以下では、パーソナルコンピュータをPCと略記することとする。
図2に示すように、オペレータ支援装置100は、PC操作ログ記憶部110と、事例データ記憶部120と、対応関係記憶部125と、音声データ記憶部130と、対応関係設定部140と、韻律情報抽出部150と、発話区間抽出部155とを有する。さらに、オペレータ支援装置100は、音声認識部160と、操作時間取得部170と、区間推定部180と、補足語句抽出部190とを有する。
PC操作ログ記憶部110は、オペレータが使用するPCにおけるPC操作ログを記憶する。PC操作ログ記憶部110は、操作部位が他の操作部位に切替操作された切替操作時刻ごとにその時刻から操作対象となった操作部位を対応付けて記憶する。ここで言う「操作部位」とは、OS(Operating System)やアプリケーションによって生成される画面そのものに加え、画面内でのマウス操作やキーボード操作といった操作に応答して表示されるタブやプルダウンメニューなども含む。なお、かかるPC操作ログは、既存の操作ログ取得ソフト又はOSの機能を用いることにより取得できる。
事例データ記憶部120は、オペレータが応対時に参照する事例データを記憶する。この事例データ記憶部120は、事例ID(Identification)ごとにQA(Question and Answer)事例の問合せ事項及び回答事項を対応付けて記憶する。一例を挙げれば、事例ID「QA123」には、問合せ事項「ブラウザの設定方法を教えて」、回答事項に含まれる各手順が対応付けられる。この回答事項は、手順1「インターネットオプションの接続タブを開く」、手順2「LAN(Local Area Network)の設定を開く」、手順3「プロキシサーバーの設定を確認する」を含む。なお、回答事項の各手順には、それぞれの手順番号に対応する数字を枝番とした事例手順IDが付与されるものとする。
対応関係記憶部125は、回答事項に含まれる1つの手順を説明する場合にキー(重要)となる手順説明語句と、その手順説明語句に関係して操作される操作部位との対応関係を記憶する。対応関係記憶部125は、手順説明語句、事例手順ID及び操作部位を対応付けて記憶する。なお、手順説明語句及び操作部位の対応関係は、後述の対応関係設定部140によって設定される。
図3は、対応関係記憶部に記憶される情報の構成例を示す図である。図3に示すように、対応関係記憶部125は、手順説明語句「インターネットオプション」に事例手順ID「QA123−1」及び操作部位「インターネットオプションwindow−全般タブ画面」を対応付けて記憶する。また、対応関係記憶部125は、手順説明語句「接続タブ」に事例手順ID「QA123−1」及び操作部位「インターネットオプションwindow−接続タブ画面」を対応付けて記憶する。さらに、対応関係記憶部125は、手順説明語句「LAN」に事例手順ID「QA123−2」及び操作部位「ローカルエリアネットワーク(LAN)の設定window」を対応付けて記憶する。この図3に示す例では、「インターネットオプション」及び「接続タブ」が同一の事例であり、かつ同じ手順に含まれる手順説明語句である状況を示す。
音声データ記憶部130は、過去の応対業務において録音された音声データを記憶する。例えば、音声データ記憶部130には、1人の顧客の応対で顧客とオペレータの電話の呼が接続されてからその接続が切られるまでの1つのコールが音声データとして録音される。音声データ記憶部130は、後述する機能部から任意の音声データの呼び出しが可能となるように、コールを一意に識別するためのコールIDに対応付けて音声データを記憶する。また、音声データ記憶部130は、後述の機能部で時刻換算可能なように、コールIDに対応付けて録音開始時点の時刻を記憶する。なお、音声データは、例えば、オペレータの音声データ及び顧客の音声データそれぞれを異なる系統から入力されたステレオデータであるものとするが、単一系統から入力されるモノラルデータであってもかまわない。また、音声データの録音区間は、呼の接続から切断までに限定されるものではなく、開始時刻が呼の接続から前後してもよく、また、終了時刻が呼の接続から前後してもかまわない。
また、音声データ記憶部130は、応対履歴リストを記憶する。この応対履歴リストは、コールIDごとにそのコールに係る応対業務でオペレータが参照した事例データを対応付けたリストである。図4は、応対履歴リストの一例を示す図である。図4に示す例で言えば、コールID「call 001」の応対では、事例ID「QA123」に関する問合せを受け付けたことを示す。コールID「call 002」の応対では、事例ID「QA456」に関する問合せを受け付けたことを示す。また、コールID「call 003」の応対では、事例ID「QA135」に関する問合せを受け付けたことを示す。なお、これらコールID及び事例IDは、応対業務終了後にオペレータが使用する端末で両者が対応付けて入力されるものとする。また、ここでは、1つのコールで問合せを受け付ける事例が1つである場合を例示したが、1つのコールで複数の事例に関する問合せを受け付けることもできる。
対応関係設定部140は、事例データ記憶部120に記憶されたQA事例のうち回答事項の各手順に含まれる手順説明語句と、PCの操作全般に関する操作部位との対応関係を設定する。かかる設定の一例として、対応関係設定部140は、事例データ記憶部120に記憶された事例手順IDの昇順または降順にその手順に含まれる事例データを読み出す。このとき、対応関係設定部140は、事例データのうち回答事項に含まれる各手順の文書に対して形態素解析技術などを用いて解析することで、所定の条件、例えば文書中に網かけを施した語などを満たすキーワードを手順説明語句として抽出する。そして、対応関係設定部140は、コールセンタの管理者や熟練のオペレータなどから図示しない入力デバイス等を介して、先に抽出した手順説明語句への対応付け先とする操作部位を選択させる。その後、対応関係設定部140は、このようにして対応付け先として選択された操作部位及び手順説明語句とともにその手順説明語句が含まれる手順に対応する事例手順IDを対応付けて対応関係記憶部125に設定登録する。なお、ここでは、コールセンタの関係者による入力操作によって対応関係を設定する場合を説明したが、ネットワークを介して対応関係を取得してもよい。また、ここでは、回答事項に含まれる各手順の手順説明語句を形態素解析技術を用いて抽出することとしたが、コールセンタ関係者による指定や同一事例で発話頻度が閾値以上のものなど、任意の基準で抽出できる。
韻律情報抽出部150は、音声データ記憶部130に記憶された音声データから韻律データリストを生成する。例えば、韻律情報抽出部150は、韻律情報が未抽出のコールIDが存在する場合に、音声データ記憶部130から音声データを読み出す。そして、韻律情報抽出部140は、ステレオデータである音声データのうちオペレータの音声データから所定の時間間隔でパワー値をサンプリングすることでオペレータの韻律データを抽出する。そして、韻律情報抽出部150は、抽出したオペレータの韻律データからオペレータの韻律データリストを生成する。また、韻律情報抽出部150は、顧客の音声データに対してもオペレータの場合と同様にパワー値をサンプリングする処理を実行し、顧客の韻律データリストを生成する。なお、パワー値は、音声データから取得される信号波形の振幅の大きさから算出される。
図5は、オペレータに係る韻律データリストの一例を示す図である。図5に示すように、オペレータの韻律データリストは、一定時間ごとにパワー値が対応付けられた情報である。図5では、12.8[msec]ごとにサンプリングした場合を例示する図5に示すオペレータの韻律データリストによれば、時間「0」のパワー値が−60.008152であることを示す。時間「12.8」のパワー値が−51.801006であることを示す。時間「25.6」のパワー値が−49.171921であることを示す。時間「38.4」のパワー値が−50.005344であることを示す。時間「51.2」のパワー値が−52.422977であることを示す。時間「64.0」のパワー値が−57.180473であることを示す。時間「76.8」のパワー値が−62.303638であることを示す。時間「89.6」のパワー値が−57.468826であることを示す。時間「102.4」のパワー値が−53.068714であることを示す。また、時間「115.2」のパワー値が−51.655396であることを示す。なお、ここで言う時間とは、音声データの録音の開始時刻をゼロとした場合の経過時間を指すが、標準時刻のタイムスタンプなどの他の時刻を用いることもできる。
図6は、顧客に係る韻律データリストの一例を示す図である。図6に示すように、顧客の韻律データリストは、一定時間ごとにパワー値が対応付けられた情報である。図6では、12.8[msec]ごとにサンプリングした場合を例示する図6に示す顧客の韻律データリストによれば、時間「0」のパワー値が−57.180473であることを示す。時間「12.8」のパワー値が−62.303638であることを示す。顧客の韻律データリストには、時間「25.6」のパワー値が−57.468826であることを示す。時間「38.4」のパワー値が−53.068714であることを示す。時間「51.2」のパワー値が−51.655396であることを示す。時間「64.0」のパワー値が−60.008152であることを示す。時間「76.8」のパワー値が−51.801006であることを示す。時間「89.6」のパワー値が−49.171921であることを示す。時間「102.4」のパワー値が−50.005344であることを示す。また、時間「115.2」のパワー値が−52.422977であることを示す。
発話区間抽出部155は、韻律情報抽出部150より抽出された韻律データから発話区間情報を抽出する。例えば、発話区間抽出部155は、オペレータの韻律データリストから所定の閾値以上のパワー値が連続する区間を検出し、検出した区間の期間が所定の期間以上持続する区間の開始時刻及び終了時刻をオペレータの発話区間として抽出する。そして、発話区間抽出部155は、このようにして抽出したオペレータの発話区間に発話区間を識別するための発話区間IDを採番し、採番した発話区間IDに発話区間を対応付けたオペレータの発話区間情報を生成する。
図7は、オペレータに係る発話区間情報の一例を示す図である。オペレータの発話区間情報は、図7に示すように、発話区間IDごとに開始時刻及び終了時刻が対応付けられた情報である。図7に示すように、発話区間ID「call001−1」の例では、オペレータが開始時刻「10msec」から終了時刻「14320msec」まで発話したことを示す。発話区間ID「call001−3」の例では、オペレータが開始時刻「・・・msec」から終了時刻「・・・msec」まで発話したことを示す。なお、これら開始時刻及び終了時刻は、音声データの録音の開始時刻をゼロとした場合の経過時間を指すが、標準時刻のタイムスタンプなどの他の時刻を用いることもできる。
また、発話区間抽出部155は、顧客の韻律データリストについてもオペレータの韻律データリストと同様にして顧客の発話区間情報を抽出する。図8は、顧客に係る発話区間情報の一例を示す図である。図8に示すように、発話区間ID「call001−2」の例では、顧客が開始時刻「14350msec」から終了時刻「17800msec」まで発話したことを示す。発話区間ID「call001−4」の例では、顧客が開始時刻「・・・msec」から終了時刻「・・・msec」まで発話したことを示す。
音声認識部160は、音声データ記憶部130に記憶された音声データに音声認識を行って認識キーワードリストを作成する。例えば、音声認識部160は、音声データ記憶部130に記憶された音声データのうち処理対象とするコールIDに対応する音声データを読み出すとともに応対履歴リストのうちコールIDに対応する事例IDを読み出す。さらに、音声認識部160は、先に読み出した事例IDに対応する手順説明語句を対応関係記憶部125から読み出す。このようにして、音声認識部160は、オペレータが実際に応対を行ったQA事例の回答事項に含まれる手順説明語句とその発話を含む音声データとを読み出す。その後、音声認識部160は、手順説明語句を認識対象とする認識キーワードとし、認識キーワードに基づく音声認識を音声データに行って手順説明語句の発話が開始された時刻(以下、出現時刻とする)を特定する。このようにして手順説明語句の出現時刻を特定すると、音声認識部160は、コールID、認識キーワード(手順説明語句)、事例手順ID及び出現時刻を含むレコードを追加することにより認識キーワードリストを生成する。なお、音声認識部160は、補足語句が未抽出である音声データが音声データ記憶部130に存在し、かつその音声データに対応する応対履歴リストが音声データ記憶部130に登録されているコールIDを音声認識の処理対象とすることができる。
図9は、認識キーワードリストの一例を示す図である。図9に示すように、「call 001」の音声データの録音開始時刻から「10550msec」が経過した時点でQA事例123の手順1に含まれる手順説明語句「インターネットオプション」の発話が開始されたことを示す。「call 001」の音声データの録音開始時刻から「12870msec」が経過した時点でQA事例123の手順1に含まれる「接続タブ」の発話が開始されたことを示す。「call 001」の音声データの録音開始時刻から「99180msec」が経過した時点でQA事例123の手順1に含まれる「インターネット」の発話が開始されたことを示す。また、「call 001」の音声データの録音開始時刻から「110300msec」が経過した時点でQA事例123の手順2に含まれる「LAN」の発話が開始されたことを示す。
操作時間取得部170は、PC操作ログ記憶部110に記憶されるPC操作ログから、オペレータが使用するPCで表示される操作部位のうち所定の操作部位を切り替える操作が行われた時点を示す操作時間を取得する。
ここで、PC操作ログとして記憶された切替操作時刻は、操作部位の切替操作が行われた時刻である。この切替操作時刻は、音声データの録音時間と対比されるが、音声データとは別系統で操作ログ取得ソフトを用いて収集されたログであるため、音声データの経過時間とは同一視することはできない。このままでは、後述の区間推定部180で操作部位の切替操作時刻と音声データの経過時間を対比できないので、操作時間取得部170は、両者の対比が可能となるように、時刻を経過時間へ換算するか、或いは経過時間を時刻へ換算する。
このような換算を成立させるには、PC操作ログ記憶部110又は音声データ記憶部130のいずれかに音声データの経過時間及び操作部位の切替操作時刻の対応関係を持たせておくのが好ましい。一例としては、音声データの記録を行う録音ソフトは、音声データの録音時に、音声データの録音開始時点の時刻を音声データのコールIDに対応付けて音声データ記憶部130に登録する。なお、ここでは、音声データとともに録音開始時点の時刻を音声データ記憶部130へ登録させることとしたが、コールIDに対応付けてそのコールの録音開始時点からの切替操作時刻までの時間差をPC操作のログ取得ソフトに登録させるようにしてもよい。
このようにして予め登録された録音開始時点の時刻を用いて、操作時間取得部170は、音声データ記憶部130に記憶された音声データの録音区間を切出し範囲とし、PC操作ログ記憶部110からPC操作ログを切り出す。すなわち、操作時間取得部170は、音声データの録音開始時刻から録音終了時刻までの区間に切替操作時刻が含まれるPC操作ログを切り出す。そして、操作時間取得部170は、各々の切替操作時刻と録音開始時点の時刻との間で差分を求めることにより、切替操作時刻ごとにその切替操作の録音開始時点からの経過時間(操作時間)を算出する。その上で、操作時間取得部170は、PC操作ログの切出しに使用された音声データのコールID、切替後の操作部位及びその切替操作が行われた時点を示す操作時間を対応付けて操作時間リストを生成する。なお、操作時間取得部170は、補足語句が未抽出である音声データのコールIDであれば任意のコールIDを操作時間の取得対象とすることができる。
図10は、操作時間リストの一例を示す図である。操作時間リストは、コールIDごとに操作部位及び操作時間が対応付けられた情報である。図10に示す例では、コールID「call 001」の音声データの録音開始時刻からの経過時間が「17560msec」になった時点で操作部位が「ブラウザwindow」に切り替えられたことを示す。図10に示す例では、コールID「call 001」の音声データの録音開始時刻からの経過時間が「100230msec」になった時点で操作部位が「インターネットオプションwindow−全般タブ画面」に切り替えられたことを示す。
区間推定部180は、手順説明語句に関する音声区間を推定する。区間推定部180は、補足語句が未抽出である音声データのコールIDを対象に、音声データに含まれるオペレータの発話を時系列に追従することにより、その音声データに含まれる手順説明語句に関する音声区間の開始時刻及び終了時刻を推定する。
この区間推定部180は、手順説明語句に関する音声区間を推定するに際して、音声認識部160による認識キーワードリストを用いて、回答事項に含まれる1つの手順が説明された手順対応区間を推定する。その上で、区間推定部180は、操作時間取得部170によって取得された操作時間を用いて、手順説明語句の対応区間を推定する。なお、ここでは、(1)手順対応区間の推定を説明してから、(2)手順説明語句の対応区間の推定を説明する。
(1)手順対応区間の推定
ここでは、区間推定部180による手順対応区間の推定を説明する。区間推定部180は、音声認識部160によって出力された認識キーワードリスト及び発話区間抽出部155によって出力されたオペレータの発話区間情報を用いて、QA事例の回答事項に含まれる手順ごとにその手順に関する説明の開始時刻を推定する。つまり、区間推定部180は、手順説明語句が出現した時点をその手順説明語句が含まれる手順の説明が開始された時点と推定する。
これを順を追って説明すると、区間推定部180は、認識キーワードリストから事例手順ID及び出現時刻(図9参照)を取得するとともに、その出現時刻が含まれるオペレータの発話区間情報(図7参照)を取得する。
このとき、区間推定部180は、認識キーワードリストから事例手順ID及び出現時刻を最初に取得した場合には、出現時刻を含む発話区間の開始時刻を、その事例手順IDに対応する音声区間の開始時刻として推定する。例えば、図7及び図9に示す例で言えば、区間推定部180は、図9に示す認識キーワードリストから事例手順ID「QA123−1」及び出現時刻「10550msec」を最初に取得する。このため、区間推定部180は、この出現時刻「10550msec」を発話区間に含む発話の開始時刻「10msec」(図7参照)を事例手順ID「QA123−1」に対応する音声区間の開始時刻とそのまま推定する。
また、区間推定部180は、認識キーワードリストから取得する事例手順ID及び出現時刻が最初でない場合には、今回に取得する事例手順IDが前回に取得した事例手順IDと同一であるか否かを判定する。このとき、区間推定部180は、今回に取得した事例手順IDが前回に取得した事例手順IDと同じである場合には、同じ事例手順IDの説明が継続しているものとみなし、認識キーワードリストから次の事例手順ID及び出現時刻を取得する。例えば、図7及び図9に示す例で言えば、区間推定部180は、図9に示す認識キーワードリストにおける上から1番目から3番目の事例手順ID及び出現時刻を取得し終えるまでは、事例手順ID「QA123−1」の説明が継続しているとみなす。
一方、区間推定部180は、今回に取得した事例手順IDが前回に取得した事例手順IDと異なる場合には、今回に取得した出現時刻を含む発話区間の開始時刻を、今回に取得した事例手順IDに対応する音声区間の開始時刻として推定する。例えば、区間推定部180は、図9に示す認識キーワードリストから事例手順ID「QA123−2」及び出現時刻「110300msec」を取得した場合に、次の手順の発話に移ったものとみなす。つまり、区間推定部180は、事例手順ID「QA123−1」の説明が終了して事例手順ID「QA123−2」が開始されたものとみなす。なお、この場合には、事例手順ID「QA123−2」に対応する音声区間の開始時刻とみなすので、この開始時刻が事例手順ID「QA123−1」に対応する音声区間の終了時刻と仮に推定されることになる。
このように、区間推定部180は、1つのコールIDの音声データの音声認識結果として得られた認識キーワードリストのレコード全てに上述の処理を行うことにより、手順対応区間の推定結果を得る。つまり、区間推定部180は、1つのコールIDの音声データを手順説明語句の出現時刻で区切ることにより、回答事項に含まれる1つの手順が説明されている区間ごとに区切る処理を行う。なお、ここでは、手順説明語句の出現時刻で区切っただけであり、実際の音声区間の終了時刻が次の手順説明の開始時刻とは限らない。
図11は、手順対応区間の推定結果の一例を示す図である。例えば、図11に示すように、手順対応区間の推定結果は、コールIDごとに事例手順ID、手順対応区間の開始時刻[msec]及び終了時刻[msec]が対応付けられた情報である。図11に示す例で言えば、事例手順ID「QA123−1」に関する対話が開始時刻「10」から終了時刻「131050」まで行われたことを示す。また、事例手順ID「QA123−2」に関する対話が開始時刻「131050」から終了時刻「・・・」まで行われたことを示す。なお、ここでは、コール「call 001」に関する手順対応区間だけを例示したが、補足語句が未抽出である音声データのコールIDすべてに同様の処理が行われる。
(2)手順説明語句の対応区間の推定
次に、区間推定部180による手順説明語句の対応区間の推定を説明する。区間推定部180は、操作時間取得部170によって出力された操作時間リストを用いて、手順説明語句の対応区間を推定する。なお、区間推定部180は、QA事例の回答事項に含まれる1つの手順を処理単位とし、先に推定した手順対応区間全てに対して手順説明語句の対応区間を推定し終えるまで繰り返し処理を行う。
この点を順を追って説明すると、区間推定部180は、先に推定した手順対応区間の開始時刻と終了時刻を取得する。その後、区間推定部180は、操作時間取得部170によって出力された操作時間リストのうち、操作時間(録音開始時刻からの経過時間)が最も短い操作時間から順に操作時間及び切替後の操作部位を取得する。そして、区間推定部180は、切替後の操作部位との間で対応関係を有する手順説明語句を対応関係記憶部125から抽出する。
さらに、区間推定部180は、オペレータの発話区間情報を参照して、切替操作が行われた操作時間に対応するオペレータの発話(N)を取得するとともに取得したオペレータの発話の次のオペレータの発話(N+1)を取得する。ここで、区間推定部180は、操作時間を含むオペレータの発話が存在する場合には、そのオペレータの発話(N)を取得するとともに、取得したオペレータの発話の次のオペレータの発話(N+1)を取得する。一方、区間推定部180は、操作時間を含むオペレータの発話が存在しない場合には、その直後のオペレータの発話(N)を取得するとともに、取得したオペレータの発話の次のオペレータの発話(N+1)を取得する。
このとき、区間推定部180は、次のオペレータの発話区間(N+1の発話区間)が所定の期間よりも長い場合には、次のオペレータの発話(N+1)の開始時刻を手順説明語句に関する音声区間の終了時刻と推定する。また、次のオペレータの発話区間(N+1の発話区間)が所定の期間よりも短い場合には、次々回のオペレータの発話(N+2)を取得し、次々回のオペレータの発話(N+2)が所定の期間よりも短いか否かをさらに判定する。このようにして、区間推定部180は、所定の期間より長いオペレータの発話が見つかるまでオペレータの発話をサーチする。なお、ここで言う所定期間は、オペレータが顧客の発話に対して「はい」や「うん」などの応答発話を行う期間として予想される期間をコールセンタ関係者が任意に設定することができる。
このように、区間推定部180は、操作時間取得部170によって出力された操作時間リストレコード全てに上述の処理を行うことにより、手順説明語句の対応区間の推定結果を得る。つまり、区間推定部180は、操作部位が切り替えられた操作時間を用いて、先に推定した手順対応区間の中を手順説明語句の対応区間で区切る。
図12は、手順説明語句の対応区間の推定結果の一例を示す図である。例えば、図12に示すように、手順説明語句の対応区間の推定結果は、コールIDごとに事例手順ID、手順説明語句及び終了時刻が対応付けられた情報である。図12に示す例では、事例手順ID「QA123−1」に含まれる手順説明語句「インターネットオプション」の対話が終了時刻「110280(msec)」に終了したことを示す。また、事例手順ID「QA123−1」に含まれる手順説明語句の対話が終了時刻「・・・(msec)」に終了したことを示す。
図2の説明に戻り、補足語句抽出部190は、区間推定部180により推定された手順説明語句の音声区間の推定結果と、発話区間抽出部155により抽出されたオペレータの発話区間情報とを用いて、手順説明語句を補足するための補足語句を抽出する。この補足語句抽出部190は、補足語句が未抽出であるコールIDの音声データであり、区間推定部180によって推定された手順説明語句の音声区間が存在する音声データのコールIDを補足語句の抽出対象とすることができる。
具体的に説明すると、補足語句抽出部190は、発話区間抽出部155により抽出されたオペレータの発話区間情報のうち、区間推定部180により推定された手順説明語句の音声区間に含まれるオペレータの発話の発話区間を取得する。例えば、図11及び図12に示す例で言えば、補足語句抽出部190は、手順説明語句「インターネットオプション」に関する音声区間「10(msec)」〜「110280(msec)」に含まれるオペレータの各発話の発話区間を取得する。
その上で、補足語句抽出部190は、先に取得したオペレータの発話の発話区間の音声データを補足語句の抽出範囲とし、その補足語句の抽出範囲の音声データに音声認識を行って補足語句を抽出する。例えば、音声データから補足語句となり得る語句を抽出する音素認識技術としては、韻律データから未知語を検索して抽出する技術やその他の公知の技術を任意に選択して使用できる。また、補足語句となり得る語句から補足語句とする語句を抽出する技術としては、特開2008−33835号公報に開示される技術やその他の公知の技術を任意に選択して使用できる。
その後、補足語句抽出部190は、このようにして抽出した補足語句をその補足語句の抽出範囲を定めるのに使用した音声区間の手順説明語句及びその事例手順IDに対応付けることにより、補足語句リストを生成する。
図13は、補足語句リストの一例を示す図である。例えば、図13に示すように、補足語句リストは、事例手順IDごとに手順説明語句及び補足語句を対応付けられた情報である。図13に示す例で言えば、事例手順ID「QA123−1」の手順説明語句「インターネットオプション」として補足語句「メニューバー」が対応付けたことを示す。また、手順ID「QA123−1」の手順説明語句「インターネットオプション」として補足語句「2番目」が対応付けられたことを示す。また、手順ID「QA123−1」の手順説明語句「接続タブ」として補足語句「1番上」が対応付けられたことを示す。また、手順ID「QA123−2」の手順説明語句「LAN」として補足語句「1番下」が対応付けられたことを示す。
なお、図2に示したオペレータ支援装置100は、上記の韻律情報抽出部150、発話区間抽出部155、音声認識部160、操作時間取得部170、区間推定部180及び補足語句抽出部190の各機能を情報処理装置に搭載することで実現することもできる。この情報処理装置としては、既知のパーソナルコンピュータ、ワークステーション、ASP(Application Service Provider)サーバ装置、携帯電話、PHS端末、移動体通信端末またはPDAなどが挙げられる。
また、PC操作ログ記憶部110、事例データ記憶部120、対応関係記憶部125及び音声データ記憶部130は、以下に示すような記憶装置である。例えば、記憶装置とは、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、ハードディスクや光ディスクなどである。また、対応関係設定部140、韻律情報抽出部150、発話区間抽出部155、音声認識部160、操作時間取得部170、区間推定部180及び補足語句抽出部190は、集積回路や電子回路により実現される。集積回路としては、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などを適用できる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などを適用できる。
[オペレータ支援装置による処理]
次に、本実施例に係るオペレータ支援装置の処理の流れを説明する。なお、ここでは、(1)オペレータ支援装置100における処理の流れを説明しながら、区間推定部180によって行われる(2)手順対応区間の推定処理を説明し、(3)手順説明語句の対応区間の推定処理を説明する。その後、(1)オペレータ支援装置100における処理の流れを説明しながら、補足語句抽出部190によって行われる(4)補足語句抽出処理を説明する。
(1)オペレータ支援装置における処理の流れ
図14を用いて、本実施例に係るオペレータ支援装置における処理の流れについて説明する。図14は、実施例2に係るオペレータ支援装置における処理の流れを示すフローチャートである。なお、オペレータ支援装置100は、音声データ記憶部130に記憶された応対履歴リストに補足語句が未抽出であるコールID及び事例IDが存在する場合に処理を起動する。
図14に示すように、オペレータ支援装置100は、補足語句が未抽出であるコールIDの音声データを対象に、ステップS101A〜S104Aの音声データ系の処理と、ステップS101B〜S102Bの操作履歴系の処理とを並列して行うことができる。
音声データ系の処理について説明すると、韻律情報抽出部150は、音声データ記憶部130に記憶された音声データからオペレータの韻律データリスト(図5参照)を生成する(ステップS101A)。そして、発話区間抽出部155は、韻律情報抽出部150より抽出されたオペレータの韻律データリストから発話区間情報(図7参照)を生成する(ステップS102A)。その後、音声認識部160は、音声データ記憶部130に記憶された音声データに音声認識を行って手順説明語句の出現時刻を含む認識キーワードリスト(図9参照)を生成する(ステップS103A)。なお、ここでは、韻律情報の抽出、発話区間の抽出を行った後に音声認識を行う場合を説明したが、音声認識については、韻律情報の抽出及び発話区間の抽出と並列して行うこともできる。
このようにしてステップS101A〜S103Aの音声データ系の処理が終了した後に、区間推定部180は、発話区間情報及び認識キーワードリストを用いて、音声区間の開始時刻を推定する処理を行う(ステップS104A)。
(2)手順対応区間の推定処理
ここで、図15を用いて、図14のステップS104Aで示した手順対応区間の推定処理について説明する。図15は、実施例2に係る手順対応区間の推定処理の手順を示すフローチャートである。
図15に示すように、区間推定部180は、認識キーワードリストから事例手順ID及び出現時刻を順次取得する(ステップS201)。そして、区間推定部180は、認識キーワードリストから取得した出現時刻を含むオペレータの発話の発話区間情報を取得する(ステップS202)。
このとき、区間推定部180は、今回に取得する事例手順IDが前回に取得した事例手順IDと同一であるか否かを判定する(ステップS203)。そして、今回及び前回の事例手順IDが同じである場合(ステップS203No)には、区間推定部180は、今回に取得した出現時刻を含む発話区間の開始時刻を、今回に取得した事例手順IDに対応する手順対応区間の開始時刻として推定する(ステップS204)。なお、認識キーワードリストから事例手順ID及び出現時刻を最初に取得した場合にも、区間推定部180は、出現時刻を含む発話区間の開始時刻を、その事例手順IDに対応する手順対応区間の開始時刻として推定する。また、今回及び前回の事例手順IDが同じである場合にだけ、出現時刻を含むオペレータの発話の発話区間情報を取得するステップS202の処理を行うこととしてもかまわない。
一方、今回及び前回の事例手順IDが同じである場合(ステップS203Yes)には、区間推定部180は、同じ事例手順IDの説明が継続しているものとみなし、手順対応い区間の開始時刻を推定することなく、ステップS205へ移行する。
そして、区間推定部180は、認識キーワードリストとして登録された全てのレコードに対して上記のステップS201〜ステップS204までの処理を行うまで(ステップS205No)、上記のステップS201〜ステップS204までの処理を繰り返し行う。その後、認識キーワードリストとして登録された全てのレコードに対する処理が終了すると(ステップS205Yes)、区間推定部180は、手順対応区間の推定を終了する。
図14の説明に戻り、音声データ系の処理を行う一方で、操作時間取得部170は、補足語句が未抽出であるコールIDの音声データの録音区間をPC操作ログの切出し範囲とし、PC操作ログ記憶部110から操作時間リストを生成する(ステップS101B)。
このようにしてステップS101A〜S104A及びステップS101Bが終了した後に、区間推定部180は、操作時間リストを用いて、手順説明語句の対応区間を推定する処理を行う(ステップS105)。
(3)手順説明語句の対応区間の推定処理
ここで、図16を用いて、図14のステップS105で示した手順説明語句の対応区間の推定処理について説明する。図16は、実施例2に係る手順説明語句の対応区間の推定処理の手順を示すフローチャートである。なお、区間推定部180は、QA事例の回答事項に含まれる1つの手順を処理単位として以下の処理を実行するものとし、ステップS104Aで推定された手順対応区間を全て処理するまで繰り返し処理を実行する。
図16に示すように、区間推定部180は、先の手順対応区間の推定で得た手順対応区間の開始時刻と終了時刻を取得する(ステップS301)。その後、区間推定部180は、操作時間取得部170によって出力された操作時間リストのうち、操作時間(録音開始時刻からの経過時間)が最も短い操作時間から順に操作時間及び切替後の操作部位を取得する(ステップS302)。
そして、区間推定部180は、切替後の操作部位との間で対応関係を有する手順説明語句を対応関係記憶部125から抽出する(ステップS303)。このとき、手順説明語句が抽出された場合(ステップS304Yes)には、区間推定部180は、オペレータの発話区間情報を参照して、切替操作が行われた操作時間に対応するオペレータの発話(N)を取得する(ステップS305)。さらに、区間推定部180は、取得したオペレータの発話の次のオペレータの発話(N+1)を取得する(ステップS306)。なお、ステップS305では、操作時間を含むオペレータの発話が存在する場合には、そのオペレータの発話(N)を取得し、また、操作時間を含むオペレータの発話が存在しない場合には、その直後のオペレータの発話(N)を取得する。
このとき、次のオペレータの発話区間(N+1の発話区間)が所定の期間よりも長い場合(ステップS307Yes)には、区間推定部180は、次のオペレータの発話(N+1)の開始時刻を手順説明語句の音声区間の終了時刻と推定する(ステップS308)。
一方、次のオペレータの発話区間(N+1の発話区間)が所定の期間よりも短い場合(ステップS307No)には、区間推定部180は、次々回のオペレータの発話(N+2)を取得する(ステップS306)。そして、区間推定部180は、次々回のオペレータの発話(N+2)が所定の期間よりも短いか否かをさらに判定する。このようにして、区間推定部180は、所定の期間より長いオペレータの発話が見つかるまで(ステップS307Yes)オペレータの発話をサーチする。
また、手順説明語句が抽出されなければ(ステップS304No)、区間推定部180は、切替後の操作部位の遷移が手順説明語句に関係のない操作部位であるため、手順説明語句の対応区間を推定することなく、ステップS309へ移行する。
そして、操作時間リストとして登録された全てのレコードに対して上記のステップS302〜ステップS308までの処理を行うまで(ステップS309No)、上記のステップS302〜ステップS308までの処理を繰り返し行う。
その後、操作時間リストとして登録された全てのレコードに対する処理が終了すると(ステップS309Yes)、区間推定部180は、手順説明語句に関する対応区間の推定結果を補足語句抽出部190へ出力する(ステップS310)。なお、上記のステップS301〜ステップS310の処理は、全ての手順対応区間に対して処理が行われるまで繰り返し行われる。
図14の説明に戻り、補足語句抽出部190は、区間推定部180により推定された手順説明語句の音声区間の推定結果と、発話区間抽出部155により抽出されたオペレータの発話区間情報とを用いて、補足語句を抽出する(ステップS106)。
(4)補足語句抽出処理
ここで、図17を用いて、図14のステップS106で示した手順説明語句の対応区間の推定処理について説明する。図17は、実施例2に係る補足語句抽出処理の手順を示すフローチャートである。なお、補足語句抽出部190は、1つの音声区間の推定結果を処理単位として以下の処理を実行するものとし、ステップS105で推定された音声区間の推定結果を全て処理するまで繰り返し処理を実行する。
図17に示すように、補足語句抽出部190は、発話区間抽出部155により抽出されたオペレータの発話区間情報のうち、区間推定部180により推定された手順説明語句の音声区間に含まれるオペレータの発話の発話区間を取得する(ステップS401)。
そして、補足語句抽出部190は、先に取得したオペレータの発話の発話区間の音声データを補足語句の抽出範囲とし、その補足語句の抽出範囲の音声データに音声認識を行って補足語句を抽出する(ステップS402)。
その後、補足語句抽出部190は、このようにして抽出した補足語句をその補足語句の抽出範囲を定めるのに使用した音声区間の手順説明語句及びその事例手順IDに対応付けることにより、補足語句リストを生成する(ステップS403)。なお、上記のステップS401〜ステップS403の処理は、全ての音声区間の推定結果に対して処理が行われるまで繰り返し行われる。
[補足語句の抽出例]
上述してきたオペレータ支援装置100が音声データから補足語句を抽出する例について、図18及び図19を用いて説明する。図18及び図19は、実施例2に係る補足語句の抽出例を説明するための説明図である。図18及び図19の例では、コールセンタでPCの操作に関する問合せを受け付ける場合を想定する。これら図18及び図19は、いずれも顧客からの問合せ事項「ブラウザの設定方法を教えて」に対して、手順「インターネットオプションの接続タブを開く」を説明する対話の一例を示す。このうち、図18の例では、インターネットオプションが中心となる対話に分岐した場合の対話を示す。また、図19の例では、接続タブが中心となる対話に分岐した場合の対話を示す。
また、図18及び図19における横軸は、時間軸を指し、右方向に進むにしたがって時間が経過することを示す。また、図中の「u」は、「utterance」の略記であり、「u1」から「u12」までのブロックはオペレータ又は顧客の発話を示し、これらブロックの横方向の大きさは発話区間の長さを示す。また、時間軸の上下のブロックのうち横軸の上方に図示するブロックは顧客の発話を示し、横軸の下方に図示するブロックはオペレータの発話を示すものとする。また、図18及び図19の時間軸の下方の「操作部位」には、PC操作ログから取得された切替後の操作部位を示し、矢印が示す範囲の横方向の大きさは操作部位が操作の対象となった時間の長さを示す。また、図18及び図19の時間軸のさらに下方の「対応区間」には、区間推定部180により推定された手順説明語句に関する音声区間を示し、矢印が示す範囲の横方向の大きさは推定された手順説明語句に関する音声区間の長さを示す。
図18に示す例では、以下の会話が行われたものとする。オペレータは「では、インターネットオプションの接続タブを開いて下さい」(u1)と発話する。顧客は「何それ?」(u2)と発話する。オペレータは「メニューバーの右から二番目の・・・」(u3)と発話する。顧客は「メニューバー?」(u4)と発話する。オペレータは「一番上に、ファイル、編集などと並んでいる・・・」(u5)と発話する。顧客は「あ、はいはい」(u6)と発話する。オペレータは「その右から二番目に、ツールとあるのでクリックして下さい」(u7)と発話する。顧客は「二番目・・・はい」(u8)と発話する。オペレータは「すると、一番下にインターネットオプションというのがあります」(u9)と発話する。顧客は「あ、これね」(u10)と発話する。オペレータは「はい」(u’)と発話する。オペレータは「そこの接続タブを選択して下さい」(u11)と発話する。オペレータは「次に、LANの設定を開いて下さい」(u12)と発話する。
また、図18に示す例では、u1からu12までの対話を含む音声データの中から、以下の手順説明語句が抽出されるものとする。u1の発話から「インターネットオプション」及び「接続タブ」が手順説明語句として抽出される。u9の発話から「インターネットオプション」が手順説明語句として抽出される。u11の発話から「接続タブ」が手順説明語句として抽出される。u12の発話から「LAN」が手順説明語句として抽出される。
また、図18に示す例では、時間経過に伴って操作部位が「接続タブ」、「ブラウザウィンドウ」、「インターネットオプション」、「接続タブ」の順に切り替えられたことを示す。また、図18に示す例では、時刻t1はu3の発話開始時刻を指し、時刻t2はインターネットオプション画面に遷移した時刻を指し、時刻t3はu11の発話開始時刻を指し、また、時刻t4はu12の発話開始時刻を指す。
図18に示す例を用いて、手順説明語句「インターネットオプション」に関する音声区間を推定する場合の推定要領を説明する。まず、オペレータ支援装置100は、操作部位が「ブラウザウィンドウ」から「インターネットオプション」へ変化した時刻「t2」を取得する。そして、オペレータ支援装置100は、「t2」を含むオペレータの発話、すなわち「u9」を取得する。そして、オペレータ支援装置100は、さらに次のオペレータの発話、すなわち「u’」を取得する。ここで、オペレータ支援装置100は、取得した発話の期間が所定の期間よりも短い場合には、さらに次の発話を取得する。これは、次の音声区間の開始時刻が相槌などの意味の無い発話から始まることを防止するためである。ここで、「u’」が所定の期間より短いと仮定すると、オペレータ支援装置100は、次の発話「u11」を取得する。ここで、「u11」は所定の期間より長いものとする。そして、オペレータ支援装置100は、「u11」の開始時刻、すなわち「t3」を取得して、手順説明語句「インターネットオプション」の説明に関する音声区間の終了時刻として推定する。このようにして、オペレータ支援装置100は、「インターネットオプション」の説明に関する音声区間を「t1からt3まで」と推定する。
図19に示す例では、以下の会話が行われたものとする。オペレータは「では、インターネットオプションの接続タブを開いて下さい」(u1)と発話する。顧客は「接続タブって何?」(u2)と発話する。オペレータは「インターネットオプションは開きましたか?」(u3)と発話する。顧客は「開いたよ」(u4)と発話する。オペレータは「一番上に、全般、セキュリティなどと並んでいる・・・」(u5)と発話する。顧客は「あ、これか」(u6)と発話する。オペレータは「はい、そこの接続タブを開いてください」(u7)と発話する。顧客は「はい」(u8)と発話する。オペレータは「次に、LANの設定を開いて下さい」(u9)と発話する。
また、図19に示す例では、u1からu9までの対話を含む音声データの中から、以下の手順説明語句が抽出されるものとする。u1の発話から「インターネットオプション」及び「接続タブ」が手順説明語句として抽出される。u3の発話から「インターネットオプション」が手順説明語句として抽出される。u7の発話から「接続タブ」が手順説明語句として抽出される。u9の発話から「LAN」が手順説明語句として抽出される。
また、図19に示す例では、時間経過に伴って操作部位が「接続タブ」、「インターネットオプション」、「接続タブ」の順に切り替えられたことを示す。また、図19に示す例には、時刻t1はu5の発話開始時刻を指し、時刻t2は接続タブ画面に遷移した時刻を指し、時刻t3はu9の発話開始時刻を指す。
図19に示す例を用いて、手順説明語句「接続タブ」に関する音声区間を推定する場合の推定要領を説明する。まず、オペレータ支援装置100は、操作部位が「インターネットオプション」から「接続タブ」へ変化した時刻「t2」を取得する。そして、オペレータ支援装置100は、時刻「t2」を含むオペレータの発話の取得を試みるが、対応する発話が存在しない場合には、さらに次の発話「u7」を取得する。そして、オペレータ支援装置100は、さらに次のオペレータの発話「u9」を取得する。ここで、「u9」は所定の期間より長いと仮定する。そして、オペレータ支援装置100は、「u9」の開始時刻「t3」を取得して、手順説明語句「接続タブ」の説明に関する音声区間の終了時刻として推定する。このように、「u7」における発話の終了時刻ではなく次の発話「u9」の開始時刻を終端とするのは、次の音声区間の開始時刻が無音区間から開始されてしまうことを防止するためである。このようにして、オペレータ支援装置100は、「接続タブ」の説明に関する音声区間を「t1からt3まで」と推定する。
[実施例2による効果]
上述してきたように、実施例2に係るオペレータ支援装置100は、画面に表示される操作部位のうち所定の操作部位の操作によって遷移した画面に関係する手順説明語句を抽出する。また、所定の操作部位を操作した時刻より以降に発話が開始された時刻を抽出し、抽出した時刻に至るまでの音声区間を、抽出した手順説明語句の説明に関係する音声区間として推定する。このため、オペレータ支援装置100は、手順説明語句に対応した補足語句を適切に抽出することができる。
また、実施例2に係るオペレータ支援装置100によれば、相槌などの意味の無い発話を手順説明語句の音声区間の末尾に含めることができ、次に推定する手順説明語句の音声区間の開始時刻を実質的な手順説明語句の説明から開始させることが可能になる。
なお、本実施例に係るオペレータ支援装置100では、区間推定部180によって推定された音声区間を用いて補足語句を抽出する場合を説明したが、開示の装置の構成がこれに限定されるものではない。例えば、区間推定部180によって推定された音声区間の長さは、1つの手順に要した所要時間と等価である。このため、応対業務の所要時間を統計する場合には、本実施例に係るオペレータ支援装置100では、従来のように1つの応対業務の単位で統計するのではなく応対業務を回答事項の手順単位に細分化し、手順単位で所要時間を統計することが可能となる。さらに、本実施例に係るオペレータ支援装置100では、区間推定部180によって推定された音声区間の長さをオペレータのスキルの推定・評価をはじめ、マニュアルとするQA事例の見直しなどにも使用することもできる。この結果、本実施例に係るオペレータ支援装置100によれば、オペレータによる応対業務の改善方針を分析することも可能になる。