トークスクリプト利用状況算出システムおよびトークスクリプト利用状況算出プログラム
【課題】談話データの構造を解析した結果に基づいて、各業務におけるトークスクリプトの利用状況を算出するトークスクリプト利用状況算出システムを提供する。
【解決手段】談話データ101および談話セマンティクス200を入力とし、トークスクリプトの利用状況300を出力するトークスクリプト利用状況算出システム1であって、談話セマンティクス200は簡約情報61を含み、簡約された談話データ101におけるブロックと各トークスクリプトとの間の類似度を算出し、最も類似するトークスクリプトを類似度情報71として出力する類似度算出部70と、トークスクリプト毎に、簡約された談話データ101における各ブロックのうち、最も類似するものが当該トークスクリプトでありかつ類似度が所定の閾値より高いブロックの数を算出し、対象の応対業務が行われた数に対する利用頻度を算出して利用状況300として出力する利用状況算出部80とを有する。
【解決手段】談話データ101および談話セマンティクス200を入力とし、トークスクリプトの利用状況300を出力するトークスクリプト利用状況算出システム1であって、談話セマンティクス200は簡約情報61を含み、簡約された談話データ101におけるブロックと各トークスクリプトとの間の類似度を算出し、最も類似するトークスクリプトを類似度情報71として出力する類似度算出部70と、トークスクリプト毎に、簡約された談話データ101における各ブロックのうち、最も類似するものが当該トークスクリプトでありかつ類似度が所定の閾値より高いブロックの数を算出し、対象の応対業務が行われた数に対する利用頻度を算出して利用状況300として出力する利用状況算出部80とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語処理の技術に関し、特に、音声認識処理により得られた談話データの構造を解析した結果から、各業務におけるトークスクリプトやFAQなどの利用状況を算出するトークスクリプト利用状況算出システムおよびトークスクリプト利用状況算出プログラムに適用して有効な技術に関するものである。
【背景技術】
【0002】
例えば、コールセンター業務において、いわゆるオペレータやコミュニケータ(以下では単に「オペレータ」と記載する場合がある)は、電話応対後に応対記録を作成して応対管理システム等へ保存するという一連の業務を行う必要がある。このとき、オペレータは、自身の記憶を頼りにして応対記録を作成するため作成に時間がかかるという問題がある。
【0003】
また、各オペレータのスキルに応じて品質(内容、統一性、網羅性、簡潔性等)にバラツキが生じる。このように応対記録の品質にバラツキがあったり品質が低かったりすることにより、顧客の声を正確に把握することができなかったり、応対記録の蓄積からテキストマイニング等の技術を利用して新たな知見を得るというようなことができなかったりなどの問題も生じる。
【0004】
このような問題を解決するため、音声認識の技術を活用した解決策が検討されている。音声認識の技術によって応対の音声情報をテキスト化して保存することにより、応対記録の網羅性を確保することができる。また、テキスト化したデータに対して自然言語処理の技術を適用して内容を要約することで応対記録を自動作成することも可能であり、応対記録作成にかかるコストを削減して、統一性、簡潔性を確保することで応対記録の活用性を向上させることも可能と考えられる。
【0005】
このような技術として、例えば、非特許文献1には、コールセンターにおける音声対話において、音声データをテキスト化し、過去の対話内容とその営業日報から帰納的学習により再帰的に規則獲得を行い、それらの規則を用いて未知の対話内容に対して重要箇所を決定・抽出し、文体変換を行うことで営業日報を自動生成する技術が記載されている。
【0006】
一方で、コールセンター業務において、いわゆるスーパーバイザーにとっては、オペレータの応対時間の短縮(コスト削減)や応対品質の向上(サービス改善)を図りたいという要望がある。このための施策には例えば、オペレータの教育を行ったり、オペレータが応対する際に参照する参照情報であるいわゆるトークスクリプトやFAQ(Frequently Asked Questions)(以下では単に「トークスクリプト」と総称する場合がある)をメンテナンスしたり等が含まれる。
【0007】
しかしながら、一般的にスーパーバイザーは多忙であり、上記のような施策を検討するために割ける十分な時間を有していない場合が多く、検討の前提資料となる、コールセンター業務におけるオペレータの応対状況の現状(オペレータが具体的にどのような表現や内容等によって顧客に応対しているのかや、応対時のトークスクリプトの利用状況など)を正確に把握することも困難な状況である。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】矢野純司、荒木健治、“コールセンターにおける音声対話を対象とした帰納的学習を用いた営業日報生成手法の性能評価”、情報処理学会研究報告 2007−NL−178、2007年3月28日、p.21−28
【発明の概要】
【発明が解決しようとする課題】
【0009】
オペレータの応対状況の現状を把握する手段としては、例えば、オペレータの応対内容を記録した音声情報をモニタリングして解析するといったことが考えられる。しかしながら、全ての音声情報(ログ)を解析することは多大な時間を要するため、例えば、上述した応対記録を作成する際に利用される音声情報をテキスト化したデータを活用することが考えられる。
【0010】
ここで、人の談話を音声認識によりテキスト化したデータ(以下では「談話データ」と記載する場合がある)を活用する場合、談話データ内の文章は通常は話し言葉で記録されているため、正しい文法に則った日本語文や、書き言葉を前提とした既存の自然言語処理の技術ではうまく対応できない場合がある。また、現状の音声認識エンジンの精度では認識ミスを排除することはできず、誤認識による誤字・脱字などのノイズが多い。従って、談話データについて自然言語処理を利用して解析し、有効活用するのは困難である。
【0011】
一方、非特許文献1の技術では、帰納的学習処理によって得た規則に基づいて対話文書全体を解析して重要文を抽出し、話し言葉から書き言葉への文体変換を行って営業日報を自動生成することができる。しかしながら、非特許文献1の技術では対話文書から最初に重要文を抽出してしまうため、対話文書の要約を得ることはできるが、談話データの蓄積をその他の有用な用途、例えば、上述したようなオペレータの応対状況の把握などに有効活用するということは困難である。
【0012】
また、オペレータの応対状況の現状を把握する他の手段としては、例えば、トークスクリプトやFAQの利用状況をログ等から分析することも行われる。しかしながら、このような分析では、トークスクリプトやFAQの検索履歴や参照履歴といったアクセス履歴までは把握できるが、これらにアクセスしたオペレータが実際に応対の際に利用したか否かや、どのように利用したか(トークスクリプトが実際にどのように利用されたか)といった内容は把握することができず、オペレータの主観的評価に頼らざるを得ない。
【0013】
そこで本発明の目的は、話し言葉やノイズといった談話データの特性に強く、トークスクリプトなどの参照情報に基づいて応対するオペレータ等の発話者による談話について、談話データの構造を解析した結果に基づいて、各業務における各トークスクリプトの実際の利用状況を算出するトークスクリプト利用状況算出システムおよびトークスクリプト利用状況算出プログラムを提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0014】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0015】
本発明の代表的な実施の形態によるトークスクリプト利用状況算出システムは、オペレータによるトークスクリプトを参照した応対業務における談話の内容が音声認識処理によってテキスト化された談話データ、および前記談話データにおける談話の構造の解析結果である、談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、談話におけるトークスクリプトの利用状況を算出するトークスクリプト利用状況算出システムであって、以下の特徴を有するものである。
【0016】
すなわち、トークスクリプト利用状況算出システムにおいて、前記談話セマンティクスは、前記談話データにおいて不要表現に該当しないステートメント、およびこれらのステートメントについて発話者毎の1以上の連続したステートメントから構成されるブロックについての情報を示す簡約情報を含む。また、トークスクリプト利用状況算出システムは、オペレータによる応対業務の際に参照される1つ以上のトークスクリプトについての定義情報と、前記簡約情報に基づいて簡約された前記談話データにおけるブロックを単位として、ブロックに含まれるテキストと各トークスクリプトのテキストとの間の表現上の類似度を算出し、ブロックに最も類似するトークスクリプトを取得して類似度情報として出力する類似度算出部とを有する。
【0017】
さらに、トークスクリプト利用状況算出システムは、トークスクリプトの利用状況を算出する対象の応対業務について定義されているトークスクリプト毎に、前記類似度情報に基づいて、簡約された前記談話データにおける各ブロックのうち、最も類似するものが当該トークスクリプトであり、かつ前記類似度が所定の閾値より高いブロックの数を算出し、対象の応対業務が行われた数に対する前記ブロックの数の割合からなる利用頻度を算出して、各トークスクリプトについての前記利用頻度の情報を、前記利用状況として出力する利用状況算出部を有することを特徴とするものである。
【0018】
また、本発明は、コンピュータを上記のようなトークスクリプト利用状況算出システムとして機能させるプログラムにも適用することができる。
【発明の効果】
【0019】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0020】
本発明の代表的な実施の形態によれば、話し言葉やノイズといった談話データの特性に強く、トークスクリプトなどの参照情報に基づいて応対するオペレータ等の発話者による談話について、談話データの構造を解析した結果に基づいて、各業務における各トークスクリプトの実際の利用状況を算出し、可視化することができる。これにより、スーパーバイザーがコールセンター業務におけるオペレータの応対状況やトークスクリプトの利用状況についての現状を容易に把握することが可能となる。
【図面の簡単な説明】
【0021】
【図1】本発明の一実施の形態であるトークスクリプト利用状況算出システムの構成例の概要について示したブロック図である。
【図2】本発明の一実施の形態における談話構造解析システムの構成例の概要について示したブロック図である。
【図3】本発明の一実施の形態における談話の例および談話セマンティクスの概念について示した図である。
【図4】本発明の一実施の形態における談話データのフローとコンテキストの例について示した図である。
【図5】本発明の一実施の形態における談話構造解析システムのフロー解析ルールの例について示した図である。
【図6】本発明の一実施の形態における談話構造解析システムのフロー解析部でのフロー解析処理の流れの例を示したフローチャートである。
【図7】本発明の一実施の形態における談話構造解析システムの固有表現解析ルールの例について示した図である。
【図8】本発明の一実施の形態における談話構造解析システムの固有表現解析部での固有表現解析処理の流れの例を示したフローチャートである。
【図9】本発明の一実施の形態における談話構造解析システムでの結束性解析の例について示した図である。
【図10】本発明の一実施の形態における談話構造解析システムの結束性解析部での結束性解析処理の流れの例を示したフローチャートである。
【図11】本発明の一実施の形態における談話簡約の例について示した図である。
【図12】本発明の一実施の形態における談話構造解析システムの談話簡約部での談話簡約処理の流れの例を示したフローチャートである。
【図13】本発明の一実施の形態におけるトークスクリプト利用状況算出システムでの類似度算出の例について示した図である。
【図14】本発明の一実施の形態におけるトークスクリプトの利用状況を可視化した具体例について示した図である。
【図15】本発明の一実施の形態におけるトークスクリプト利用状況算出システムの類似度算出部および利用状況算出部でのトークスクリプト利用状況算出処理の流れの例を示したフローチャートである。
【図16】本発明の一実施の形態における類似度情報の各エントリを発話されたブロックIDの昇順でソートした例を示した図である。
【図17】本発明の一実施の形態における複数の業務が混在して行われる場合の例を示した図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0023】
本発明の一実施の形態であるトークスクリプト利用状況算出システムは、話し言葉を含む談話データについての談話構造の解析結果である談話セマンティクス(談話全体の意味内容を把握するための談話構造に係る情報)に基づいて、例えばコールセンターのオペレータ等の発話者による談話の内容がトークスクリプトなどの応対時の参照情報の中のいずれに最も類似するかを判定し、判定結果に基づいて、オペレータによる各業務における各トークスクリプトの実際の利用状況を算出し、グラフ表示等により可視化して出力するシステムである。
【0024】
ここで、談話セマンティクスとは、例えば、談話データにおける文字列や形態素から意味内容を推測して、談話データ全体について後述するようなフロー、さらには結束性(談話のセグメント)、固有表現、談話簡約などの談話構造の解析を行って得られた解析結果である。この談話セマンティクスは、例えば、後述する談話構造解析システムを用いることによって談話データから生成してもよいし、他の自然言語処理を利用した文章構造の解析システム等を利用して生成してもよい。また、人手によって談話データにタグ付け等を行って作成することも可能である。本実施の形態では、後述する談話構造解析システムを用いて生成するものとして説明する。
【0025】
本実施の形態における談話セマンティクスは、日本語の文章としての内容や構造の厳密な解析結果である必要はなく、例えば、コールセンターにおける応対記録の作成などにおいて実用上支障のないレベルの精度のものであればよい。なお、本明細書において、「談話」とは1人以上の話者による発話行為を指し、例えば、1人で話す講演会でのスピーチ等や、上述したようなコールセンターのオペレータと顧客とのやり取り、複数人での電話会議やテレビ会議、その他の複数人での会話・対話が含まれる。
【0026】
図3は、本実施の形態における談話の例および談話セマンティクスの概念について示した図である。図3の例では、コールセンターのオペレータと顧客とのやり取りからなる談話の例を示している。左側の発話はオペレータの発話であり、右側は顧客の発話を示している。本実施の形態では、各話者の発話1文を「ステートメント」と呼ぶものとする。また、話者毎の連続したステートメントのまとまりを「ブロック」と呼ぶものとする(同一話者の連続したステートメントでも時間的に間隔が空いた場合は別のブロックとなる)。
【0027】
図3において、「フロー」とは、各ステートメントの意味内容を端的に示す情報である。この情報をトレースすることによって談話の流れを把握することができる。例えば、図3のオペレータのステートメントにおいて、最初の“はい。”はフローが“挨拶”になっているのに対し、次の“はい。”ではフローが“相槌”となっている。このように、談話の状況(コンテキスト)に応じて、同じ文言のステートメントであってもフローが異なるものとなる場合がある。
【0028】
また、図3において、「固有表現」とは、談話の内容を個別に特徴付ける表現であり、例えば、図3のコールセンターでのやり取りの談話では、IDや人名、企業名、電話番号、所在地などの固有名詞等が該当する。また、「セグメント」とは、ブロック毎の談話の内容が共通する(結束する)ものをまとめてセグメント化したものである。上記の「フロー」、「固有表現」、「セグメント」についての情報は、談話構造の解析結果として「談話セマンティクス」の構成要素となる。
【0029】
[システム構成(談話構造解析システム)]
図2は、本発明の一実施の形態における談話構造解析システムの構成例の概要について示したブロック図である。談話構造解析システム2は、サーバやPC(Personal Computer)等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装される前処理部10、フロー解析部20、形態素解析部30、固有表現解析部40、結束性解析部50、および談話簡約部60の各部と、フロー解析ルール22、および固有表現解析ルール42の各テーブルを有し、音声認識エンジン3によって談話の内容がテキスト化された談話データ100を入力として、談話構造の解析を行って談話セマンティクス200を出力する。
【0030】
なお、音声認識エンジン3には既存のものを利用することができる。本実施の形態の談話構造解析システム2は、上述したように、談話データ100のノイズ(音声認識エンジン3による認識ミス等)に強いという特徴を有するが、音声認識エンジン3の認識率が高いほうがより精度の高い談話構造の解析を行うことが可能であることはいうまでもない。
【0031】
談話構造解析システム2の前処理部10は、談話データ100の入力を受けて、必要に応じて、他の各部での処理が可能なようにデータのレイアウト変換などの前処理を行う機能を有する。ここでは、例えば、話者毎に連続したステートメントをブロックとしてまとめて、各ブロックおよび各ステートメントに順序を示すシーケンス番号(ID)を割り振ったり、各ブロックの話者のデータを抽出・設定したりなどの処理を行う。なお、談話データ100は、例えば、XML(eXtended Markup Language)などを利用したデータ構造として表される。
【0032】
フロー解析部20は、前処理部10による前処理後の談話データ100に対して、フロー解析ルール22に基づくルールベースでのフローの解析を行い、解析結果としてフロー情報21を出力する機能を有する。フロー情報21は、談話データ100内の各ステートメントのIDとこれに対応するフローの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0033】
このフロー情報21は、談話構造解析システム2の出力として談話セマンティクス200に含まれ、必須の構成要素となる。すなわち、談話セマンティクス200には、少なくとも談話データ100についてのフローの解析結果としてフロー情報21が含まれる。なお、フロー解析ルール22の内容、およびフロー解析部20での処理の詳細については後述する。
【0034】
形態素解析部30は、前処理部10による前処理後の談話データ100に対して、形態素(言語における意味を持つ最小の単位)の列に分割して品詞を判別するいわゆる形態素解析を行い、解析結果として形態素情報31を出力する機能を有する。形態素情報31は、談話データ100内の各ステートメントのIDとこれに対応する形態素列の情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0035】
この形態素情報31は、フロー情報21と同様に、談話構造解析システム2の出力として談話セマンティクス200に含まれるとともに、後述する固有表現解析部40や結束性解析部50に対する入力となる。すなわち、固有表現解析部40による固有表現の解析や、結束性解析部50による結束性の解析(セグメント化)を行わない場合は、形態素解析部30による形態素解析は不要な場合がある。本実施の形態では、後述するトークスクリプト利用状況算出システムにおいて形態素情報31を利用するため、形態素解析部30による形態素解析は必須である。なお、形態素解析部30には既存の形態素解析エンジン(例えば、MeCab(和布蕪)やChaSen(茶筌)など)を利用することができる。
【0036】
固有表現解析部40は、前処理部10による前処理後の談話データ100と、形態素解析部30から出力された形態素情報31とに基づいて、固有表現解析ルール42に基づくルールベースでの固有表現の解析を行い、解析結果として固有表現情報41を出力する機能を有する。すなわち、固有表現解析部40での解析処理は、少なくとも形態素解析部30による形態素解析が行われていることが前提となる。固有表現情報41は、談話データ100内の各ステートメントIDとこれに対応する固有表現のリストの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0037】
この固有表現情報41は、フロー情報21と同様に、談話構造解析システム2の出力として談話セマンティクス200に含まれるが、その後の談話セマンティクス200を利用するアプリケーション等による利用形態や、求められる談話セマンティクスの精度などによって不要な場合もあり得る。従って、固有表現情報41の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。なお、固有表現解析ルール42の内容、および固有表現解析部40での処理の詳細については後述する。
【0038】
結束性解析部50は、前処理部10による前処理後の談話データ100と、フロー解析部20から出力されたフロー情報21および形態素解析部30から出力された形態素情報31に基づいて、各ブロックの結束性の解析を行ってセグメント化し、解析結果として結束性情報51を出力する機能を有する。すなわち、固有表現解析部40での解析処理は、少なくとも形態素解析部30による形態素解析、およびフロー解析部20によるフローの解析が行われていることが前提となる。結束性情報51は、談話データ100内の各ブロックIDと対応するセグメントIDの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0039】
この結束性情報51は、固有表現情報41と同様に、談話構造解析システム2の出力として談話セマンティクス200に含まれるが、その後の談話セマンティクス200を利用するアプリケーション等による利用形態や、求められる談話セマンティクスの精度などによっては不要な場合もあり得る。従って、結束性情報51の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。なお、結束性解析部50での処理の詳細については後述する。
【0040】
談話簡約部60は、前処理部10による前処理後の談話データ100と、フロー解析部20から出力されたフロー情報21とに基づいて、談話データ100から不要表現を削除して談話における意味のある部分を抽出し(以下では抽出された談話データ100を「簡約」と記載する場合がある)、処理結果として簡約情報61を出力する機能を有する。すなわち、談話簡約部60での簡約処理は、少なくともフロー解析部20によるフローの解析が行われていることが前提となる。簡約情報61は、例えば、談話データ100から簡約として抽出された各ステートメントのIDと、新たに構成されたブロックや、そのIDの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0041】
この簡約情報61は、フロー情報21と同様に、談話構造解析システム1の出力として談話セマンティクス200に含まれるが、その後の談話セマンティクス200を利用するアプリケーション等による利用形態や、求められる談話セマンティクス200の精度などによっては必要ではない場合もあり得る。従って、簡約情報61の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。本実施の形態では、後述するトークスクリプト利用状況算出システムにおいて簡約情報61を利用するため、簡約情報61の出力は必須である。なお、談話簡約部60での処理の詳細については後述する。
【0042】
談話構造解析システム2による解析結果として出力される談話セマンティクス200は、上述したように、フロー情報21や、形態素情報31、固有表現情報41、結束性情報51、簡約情報61を含んで構成される。このとき、単にこれらのデータの集合を談話セマンティクス200として取り扱ってもよいし、例えば、これらのデータをXMLを利容した1つのデータ構造に結合してもよい。
【0043】
[システム構成(トークスクリプト利用状況算出システム)]
図1は、本発明の一実施の形態であるトークスクリプト利用状況算出システムの構成例の概要について示したブロック図である。トークスクリプト利用状況算出システム1は、談話構造解析システム2と同様に、サーバやPC等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装される類似度算出部70、および利用状況算出部80の各部と、トークスクリプト72のテーブルもしくはデータベースを有する。
【0044】
上記構成により、談話の内容がテキスト化された談話データ101と、談話データ101についての談話構造の解析結果である談話セマンティクス200とを入力として、オペレータによる各業務におけるトークスクリプト72内の各トークスクリプトの実際の利用状況を集計した利用状況300を算出して出力する。利用状況300は、例えばグラフ表示等により可視化して表示することができる。
【0045】
なお、談話データ101は、上述した談話構造解析システム2の前処理部10によって前処理されたものと同等のもの、すなわち、例えば、話者毎に連続したステートメントがブロックとしてまとめられ、各ブロックおよび各ステートメントに順序を示すシーケンス番号(ID)が割り振られ、各ブロックの話者のデータが設定されている状態のものである。また、談話セマンティクス200は、例えば、上述した談話構造解析システム2等によって、談話データ101について談話構造(フロー、固有表現、結束性、形態素、および談話簡約)の解析が行われた結果として出力されたものである。
【0046】
なお、本実施の形態では、談話構造解析システム2によって出力された談話構造の解析結果をトークスクリプト利用状況算出システム1に入力する構成としているが、例えば、これらのシステムを1つのコンピュータシステム上に構成し、談話構造の解析処理から要約300の生成までの処理を連続的に実行するようにしてもよい。
【0047】
トークスクリプト利用状況算出システム1の類似度算出部70は、談話データ101と、談話セマンティクス200の形態素情報31および簡約情報61とに基づいて、簡約された談話データ101の各ブロックについてトークスクリプト72内の各トークスクリプトとの間の表現上の類似度を算出して最も類似するトークスクリプトを取得し、類似度情報71を出力する機能を有する。類似度情報71は、各ブロックのIDと、これに最も類似するトークスクリプトの情報および類似度の情報を保持する。
【0048】
利用状況算出部80は、類似度情報71とトークスクリプト72とに基づいて、トークスクリプト72内において対象の業務について定義されている各トークスクリプトの実際の利用状況を算出し、利用状況300として出力する機能を有する。類似度算出部70および利用状況算出部80での処理の詳細については後述する。
【0049】
[フロー解析]
以下では、図2に示した談話構造解析システム2のフロー解析部20によるフロー解析の処理の詳細について説明する。図4は、談話データ100におけるフローとコンテキストの例について示した図である。本実施の形態では、コンテキストは談話の各ブロックに対して設定される。図4の例では、最初のブロック(話者:オペレータ)のコンテキストは“開始”であり、次のブロック(話者:顧客)およびその次のブロック(話者:オペレータ)はともに“陳述”となっている。
【0050】
図4の例に示すように、本実施の形態では、原則として、対象のブロックのコンテキストとして、異なる話者の直前のブロックの最後のステートメントに設定されたフローを設定する。なお、談話データ100の先頭のブロックについては直前のブロックがないため、コンテキストとして常に“開始”を設定するものとする。このようにコンテキストを判断することによって、同じ文言のステートメントであっても談話のコンテキストに沿ったフローの解析が可能となる。
【0051】
図5は、談話構造解析システム2のフロー解析ルール22の例について示した図である。フロー解析ルール22は、ファイルやデータベース等に保持されており、ステートメント中におけるフローを判断するための表現(以下では「フロー表現」と記載する場合がある)と、当該フロー表現とマッチする表現を有するステートメントに対してそのコンテキストに応じて設定するフローのパターン(以下では「フロー定義」と記載する場合がある)との対応について予め指定したリストを保持するテーブルである。
【0052】
図5の例に示すように、フロー表現は、フローを判断するための手掛かりとなる文字列の正規表現(例えば、“/はい。/”や“/ですか。/”)によって指定する。従って、フロー解析部20もしくは談話構造解析システム2は、例えば、既存の正規表現ライブラリなどを導入することにより正規表現に必要な処理を行うことができるようにしておく必要がある。
【0053】
なお、フロー表現として指定する文字列は、例えば、話し言葉において談話の流れ上特徴的となる文頭の挨拶、返事や、助詞、接続詞、文末表現などを指定するのが望ましく、これらを適用の優先度が高い順に指定する。優先度については、例えば、所定の条件により正規表現の複雑度を計算し、複雑度の降順で優先度を設定するようにしてもよい。なお、指定するフロー表現のパターンは、談話構造解析システム2が対象とする談話の種類(例えば、コールセンターでのやり取りや、企業における定例会議など)に応じて異なる場合がある。
【0054】
各フロー表現に対しては、例えば“flow”のラベルによって、フロー定義を指定する。フロー定義では、対象のステートメントのコンテキストと、当該ステートメントに設定するフロー(例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、コンテキストが“開始”の場合はフローとして“挨拶”を設定する)を指定する。“flow”のラベルによるフロー定義は、各フロー表現において想定されるコンテキストの種類に応じて複数指定することができる。
【0055】
また、例えば“default”のラベルによって、対象のステートメントのコンテキストがいずれの“flow”のラベルにも該当しなかった場合に設定するフローであるデフォルトフロー(例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、当該ステートメントのコンテキストがいずれの“flow”のラベルにもマッチしない場合はフローとして“相槌”を設定する)を指定する。なお、デフォルトフローは、各フロー表現において必ず1つ設定するものとする。
【0056】
フロー定義の指定は、談話構造解析システム2が対象とする談話の種類に応じて、一般的な談話の流れのパターンとして主要なものを指定するのが望ましい。例えば、コールセンターでのやり取りにおいては、顧客が“苦情”を発した場合はオペレータは“謝罪”する、などのパターンに基づいて、フロー定義を指定することができる。
【0057】
フロー解析ルール22では、上述のように、指定するフロー表現や対応するフロー定義の内容が談話構造解析システム2が対象とする談話の種類に応じて異なる場合があるため、談話の種類に応じて適用するフロー解析ルール22を複数保持して、ユーザが切り換えられるようにするなど、談話の特性に応じて柔軟に対応することも可能である。
【0058】
なお、上述のように、本実施の形態では、フロー解析ルール22において品詞の指定は行っていない。すなわち、フロー解析部20においては品詞の判断を行わないため、フロー解析部20での解析処理に際して、事前に形態素解析部30による形態素解析を行う必要はない。なお、より精度を上げるために形態素情報31を利用して、例えば、フロー解析ルール22のフロー表現における正規表現を、後述するように形態素情報31の形態素列(品詞の情報も含む)に対して適用するようにして、より詳細な条件でマッチングを行うようすることも可能である。
【0059】
図6は、談話構造解析システム2のフロー解析部20におけるフロー解析処理の流れの例を示したフローチャートである。フロー解析部20は、フロー解析処理を開始すると、まず、前処理部10による前処理後の談話データ100の各ステートメントについて処理を繰り返すループ処理を開始する(S101)。各ステートメントについてのループ処理を開始すると、フロー解析ルール22の各フロー表現について処理を繰り返すループ処理を開始する(S102)。
【0060】
各フロー表現についてのループ処理を開始すると、対象のステートメントと対象のフロー表現とがマッチするか否かを判定する(S103)。マッチしない場合は次のフロー表現の処理に移る(S108、S102)。一方、マッチする場合は、まず、対象のステートメントについて、当該ステートメントが属するブロックの直前のブロックにおける最終ステートメントに設定されているフローをコンテキストとして設定する(S104)。このとき、図4で示したように、当該ステートメントが属するブロックが談話データ100の最初のブロックである場合には、コンテキストに“開始”を設定する。
【0061】
次に、ステップS104で設定したコンテキストについて、対象のフロー表現におけるフロー定義の”flow”ラベルで指定されたコンテキストとマッチするものがあるか否かを判定する(S105)。マッチするものがある場合には、マッチするフロー定義におけるコンテキストに対応するフローを、対象のステートメントのフローとして設定する(S106)。一方、マッチするものがない場合は、デフォルトフローを対象のステートメントのフローとして設定する(S107)。その後、各フロー表現についてのループ処理を抜ける。
【0062】
各フロー表現についてのループ処理が終了すると、対象のステートメントにフローが設定されているか否かを判定する(S109)。フローが設定されている場合は何も行わず、また、フローが設定されていない場合は、対象のステートメントに“陳述”のフローを設定して(S110)、次のステートメントの処理に移る(S111、S101)。各ステートメントについてのループ処理が全て終了した場合は、各ステートメントのIDとこれに対応するフローの情報をフロー情報21として出力してフロー解析処理を終了する。
【0063】
このように、話し言葉を考慮したフロー表現によって各ステートメントとマッチングし、マッチしたステートメントのコンテキストに応じて適切なフローを設定することで、談話データ100の全体について話し言葉やノイズに影響されにくいフロー解析を行うことができる。
【0064】
[固有表現解析]
以下では、図2に示した談話構造解析システム2の固有表現解析部40による固有表現解析の処理の詳細について説明する。図7は、談話構造解析システム2の固有表現解析ルール42の例について示した図である。固有表現解析ルール42は、ファイルやデータベース等に保持されており、ステートメント中の固有表現を特定するための正規表現と、当該正規表現とマッチする部分から固有表現を特定して抽出するための規則(以下では「固有表現規則」と記載する場合がある)との対応について予め指定したリストを保持するテーブルである。
【0065】
図7の例に示すように、ステートメント中の固有表現は正規表現によって特定する。従って、固有表現解析部40もしくは談話構造解析システム2は、例えば、既存の正規表現ライブラリなどを導入することにより正規表現に必要な処理を行うことができるようにしておく必要がある。なお、固有表現解析においては、通常の文字列に対する正規表現だけではなく、形態素情報31に保持された各ステートメントの形態素列の表現についても判断する必要があるため、正規表現の処理機能を形態素列の情報を判断することができるよう拡張しておく。
【0066】
例えば、図7の例では、各正規表現中で形態素列の範囲を“( )”で指定しており、この部分については文字列ではなく形態素列の情報とマッチングするようにする。1つ目の正規表現の例では、“(<f:組織>+)”の部分は、品詞(f)が“組織”であると解析された1つ以上の形態素列を示しており、“(?:の)?”の部分は、表層形が“の”であると解析された0以上1つ以下の品詞を示している。また、“(<f:人名,姓>)”の部分は、品詞が“人名,姓”であると解析された1つの形態素列を示している。この正規表現は、例えば、“AAA商事の鈴木”や、“AAA商事鈴木”などの表現とマッチする。なお、形態素列の表現については、形態素解析部30における形態素解析エンジン等の出力仕様によって異なる場合がある。
【0067】
このとき、対応する固有表現規則において、当該形態素列における1番目の要素(品詞が“組織”の形態素列、例えば“AAA商事”)を“企業名”という属性を有する固有表現として特定し、形態素列における2番目の要素(品詞が“人名,姓”の形態素列、例えば“鈴木”)を“人名”という属性を有する固有表現として特定するよう指定している。なお、“(?: )”で囲われた部分(例えば、“の”)については対象の形態素列の要素に含まれないものとして取り扱う。
【0068】
図7の2つ目の正規表現の例では、品詞は特に考慮せずに通常の正規表現によって指定しており、“03−1234−5678”などの電話番号の表現にマッチする。このとき、対応する固有表現規則において、当該形態素列における1番目の要素(この例で要素は“03−1234−5678”等の1つしかない)を“電話番号”という属性を有する固有表現として特定するよう指定している。
【0069】
なお、正規表現によって特定される固有表現の文字列は、例えば、談話の内容を個別に特徴付ける固有名詞や、数値等からなる文字列などを指定するのが望ましい。また、例えば、話者(顧客等)の感情を示す表現(例えば、苦情の表現や感謝の表現など)からなる文字列を指定して、対応する感情の属性を有する固有表現として特定するようにしてもよい。なお、解析結果として、ある文字列が複数の固有表現に含まれるという場合もあり得る。
【0070】
固有表現解析ルール42には、上述のように、固有表現を特定するための正規表現と固有表現規則との対応のリストを予め指定しておくが、フロー解析ルール22と同様に、指定する正規表現や対応する固有表現規則については、談話構造解析システム2が対象とする談話の種類に応じて異なるものを設定したり、談話の種類に応じて適用する固有表現解析ルール42をユーザが切り換えたりなど、談話の特性に応じて柔軟に対応することが可能である。
【0071】
図8は、談話構造解析システム2の固有表現解析部40における固有表現解析処理の流れの例を示したフローチャートである。固有表現解析部40は、固有表現解析処理を開始すると、まず、談話データ100の各ステートメントについて処理を繰り返すループ処理を開始する(S201)。各ステートメントについてのループ処理を開始すると、固有表現解析ルール42の固有表現を特定するための各正規表現について処理を繰り返すループ処理を開始する(S202)。
【0072】
各正規表現についてのループ処理を開始すると、対象のステートメントに対応する形態素情報31内の各形態素列と、対象の正規表現とがマッチするか否かを判定する(S203)。マッチしない場合は次の正規表現の処理に移る(S205、S202)。一方、マッチする場合は、対象の正規表現に対応する固有表現規則を適用して固有表現を特定して抽出し(S204)、次の正規表現の処理に移る(S205、S202)。
【0073】
各正規表現についてのループ処理が全て終了した場合は、次のステートメントの処理に移る(S206、S201)。各ステートメントについてのループ処理が全て終了した場合は、各ステートメントのIDとこれに対応する固有表現のリストの情報を固有表現情報41として出力して固有表現解析処理を終了する。
【0074】
このように、形態素列の品詞を考慮した正規表現によるマッチングと形態素列の抽出を行うことで、例えば助詞の省略などの話し言葉特有の文法を考慮した固有表現解析を行うことができる。
【0075】
[結束性解析]
以下では、図2に示した談話構造解析システム2の結束性解析部50による結束性解析の処理の詳細について説明する。図9は、談話構造解析システム2での結束性解析の例について示した図である。結束性解析処理では、まず、上段の図に示すように、談話データ100における全てのブロックを1つのセグメントとして設定する。
【0076】
その後、まず、セグメントの分割処理を行う。分割処理では、各ステートメントについてフロー情報21において特定の種別のフローが設定されているものを判別し、当該ステートメントが属するブロックにおいてセグメントを分割する。ここで、判別するフローの種別は、談話の切れ目や内容が切り替わる際に出現すると推測されるフローであることが望ましい。
【0077】
例えば、コールセンターにおけるやり取りを始めとする複数人の談話の場合は、質問とそれに対する回答等の応答によって談話が進む場合が多いため、フローが“質問”のステートメントにおいて内容が切り替わることが多いと考えられる。従って、本実施の形態では、フロー情報21に基づいてフローが“質問”のステートメント(以下では“質問ステートメント”と記載する場合がある)を判別し、図9の中段の図に示すように、質問ステートメントが出現するたびにセグメントを分割するものとする。
【0078】
その後、セグメントの統合処理を行う。統合処理では、各セグメントについて予め定められた統合条件に該当する質問ステートメントを有する場合に、当該質問ステートメントを有するセグメントを直前のセグメントと統合する。ここで、統合条件は、当該質問ステートメントを有するセグメントについて以前のセグメントから内容が継続している(以前のセグメントと結束性が高い)と推測させる表現の指定である。
【0079】
統合条件としては、例えば、当該質問ステートメントについて、直前の質問ステートメントと共通する単語(固有名詞)がある場合や、指示詞を含む場合などが挙げられる。これらの統合条件に該当する質問ステートメントを有するセグメントは以前のセグメントと結束性が高いと判断し、図9の下段の図に示すように、直前のセグメントと統合する。なお、統合処理については、統合可能なセグメントがなくなるまで繰り返すものとする。
【0080】
図10は、談話構造解析システム2の結束性解析部50における結束性解析処理の流れの例を示したフローチャートである。結束性解析部50は、結束性解析処理を開始すると、まず、談話データ100の全てのブロックを1つのセグメントに設定する(S301)。具体的には、例えば、全てのブロックにセグメントIDの初期値を割り当てるなどによって設定する。その後、セグメントの分割処理として、談話データ100の各ブロックについて処理を繰り返すループ処理を開始する(S302)。
【0081】
各ブロックについてのループ処理を開始すると、対象のブロックに質問ステートメントが含まれているか否か(フローが“質問”のステートメントがあるか否か)を判定する(S303)。質問ステートメントが含まれている場合は、対象のブロックと直前のブロックとの間でセグメントを分割する(S304)。具体的には、例えば、対象のブロック以降の全てのブロックに次のセグメントIDを割り当てるなどによって分割する。その後、次のブロックの処理に移る(S305、S302)。
【0082】
各ブロックについてのループ処理(分割処理)が終了した場合は、次に、セグメントの結合処理として、上記の分割処理で分割した各セグメントについて処理を繰り返すループ処理を開始する(S306)。各セグメントについてのループ処理を開始すると、対象のセグメントに上記の統合条件に該当する質問ステートメントがあるか否かを判定する(S307)。
【0083】
統合条件に該当する質問ステートメントがある場合は、対象のセグメントと直前のセグメントとを統合する(S308)。具体的には、例えば、対象のセグメントに含まれる各ブロックのセグメントIDを直前のセグメントのセグメントIDに更新するなどによって統合する。このとき、以降の各セグメントに含まれる各ブロックのセグメントIDを順次繰り上げてもよい。その後、次のセグメントの処理に移る(S309、S306)。各セグメントについてのループ処理(統合処理)が終了した場合は、各ブロックのIDと対応する(各ブロックが含まれる)セグメントのIDのリストの情報を結束性情報51として出力して、結束性解析処理を終了する。
【0084】
これにより、フロー解析によって得られたフロー情報21に基づいて談話データ100内の各ステートメントをセグメント化し、談話セマンティクス200を利用する種々のアプリケーションに対する有用な情報とすることができる。
【0085】
[談話簡約]
以下では、図2に示した談話構造解析システム2の談話簡約部60による談話簡約の処理の詳細について説明する。図11は、談話簡約の例について示した図である。談話簡約処理では、フロー解析部20によって解析された各ステートメントのフローの情報に基づいて、談話データ100から相槌や挨拶等の不要表現を削除し、その他の部分を談話における本質的な部分として抽出する。
【0086】
図11の例に示すように、上段のフロー解析が行われた談話データ100に対して、フローが“挨拶”、“相槌”、“定型”と判定されたステートメントを不要表現として削除し、さらに、同じ発話者が続くブロックを連結して1つのブロックに再構成することによって、下段に示すような簡約を得ることができる。なお、本実施の形態では不要表現であると判断するフローを“挨拶”、“相槌”、“定型(談話の内容と直接の関わりなく使用される定型的な表現を示すフロー)” と定義しているが、談話の種類に応じて不要表現と判断するフローの定義を適宜変更してもよい。
【0087】
図12は、談話構造解析システム2の談話簡約部60における談話簡約処理の流れの例を示したフローチャートである。談話簡約部60は、談話簡約処理を開始すると、まず、談話データ100の各ステートメントについて処理を繰り返すループ処理を開始する(S401)。各ステートメントについてのループ処理を開始すると、対象のステートメントについてフロー情報21を参照し、フローが“挨拶”、“相槌”、“定型”のいずれかに該当するか否かを判定する(S402)。
【0088】
フローがいずれにも該当しない場合は、対象のステートメントは不要表現ではないとして、この情報を識別するため対象のステートメントに対して簡約フラグを設定する(S403)。本実施の形態では不要表現ではないステートメントに簡約フラグを設定するものとしているが、逆に、ステップS402において対象のステートメントがいずれかのフローに該当する場合に、不要表現であるとして不要表現フラグを設定するようにしてもよい。その後、次のステートメントの処理に移る(S404、S401)。
【0089】
各ステートメントについてのループ処理が終了した場合は、簡約フラグが設定されたステートメント(不要表現を削除した残りのステートメント)によってブロックを再構成する(S405)。ここでは、不要表現が削除されたことにより同じ発話者のブロックが連続することになる場合に、これらを結合して1つのブロックとする(例えば、図11の下段の談話データ100における最終ブロック)。このとき例えば、結合したブロックが所定の長さよりも長くなる場合は、分割して適当な長さの複数のブロックとしてもよい。ブロックを再構成した後、ブロックIDを採番し直すようにしてもよい。その後、簡約フラグが設定された各ステートメントのIDと、再構成したブロックの情報を簡約情報61として出力して談話簡約処理を終了する。
【0090】
これにより、談話データ100の内容をできるだけ忠実に、かつ本質的な部分を漏らさずに圧縮してデータ量を削減することができ、その後の談話セマンティクス200を利用する種々のアプリケーションにおける分析効率や利用効率を向上させることができる。
【0091】
なお、上述のフロー解析、固有表現解析、結束性解析、談話簡約の各処理によって出力された談話セマンティクス200に含まれるフロー情報21、固有表現情報41、結束性情報51、簡約情報61については、談話構造解析システム2において、ユーザが内容を参照して適宜修正することが可能なインタフェースを設けてもよい。
【0092】
[トークスクリプト利用状況算出]
以下では、図1に示したトークスクリプト利用状況算出システム1の類似度算出部70および利用状況算出部80によるトークスクリプトの利用状況の算出処理の詳細について説明する。図13は、トークスクリプト利用状況算出システム1での類似度算出の例について示した図である。図13の上段左は、談話データ101に含まれる各ブロックの内容の例を示しており、上段右はトークスクリプト72に含まれる各トークスクリプトの内容の例を示している。
【0093】
トークスクリプト72内の各スクリプトは、図13の例に示すように、オペレータが対応する業務(例えば保険業務における“解約”や“住所変更”など)毎に定義された一連の発話毎に、スクリプトIDが割り振られて、その内容を示すテキスト(発話すべき内容)が、定義されている。また、次スクリプトIDを定義することによって、一連のトークスクリプトからなる業務のフローを定義することができる。なお、顧客の応答内容や状況等に応じて次スクリプトの定義を分岐させるような条件を指定可能としてもよい。
【0094】
トークスクリプト利用状況算出システム1の類似度算出部70では、談話データ101の各ブロックのテキストについて、トークスクリプト72の各トークスクリプトのテキストとの表現上の類似度を算出し、最も類似度が高いテキストからなるトークスクリプトを特定する。この類似度が所定の閾値よりも高い場合は、対象のブロックにおいて、発話者(本実施の形態ではオペレータ)は、ここで特定されたトークスクリプト(最も類似度が高いトークスクリプト)に従って発話したものと推定することができる。対象のブロックと最も類似度が高いトークスクリプトの情報および類似度の値は図13の下段に示すように類似度情報71に出力される。
【0095】
オペレータが一つのトークスクリプトに従って発話した場合であっても、間に“挨拶”や“相槌”等のステートメントが含まれている場合、談話データ101におけるブロックはこれらにより分断され複数のブロックにまたがった状態となる。このような状態では、各トークスクリプトのテキストと適切に比較することはできない。従って、本実施の形態では、談話セマンティクス200に含まれる簡約情報61に基づいて談話データ101を簡約した結果から各ブロックの情報を取得するものとする。すなわち、談話データ101から“挨拶”や“相槌”等の不要表現を削除し、さらに、同じ発話者が続くブロックを連結して1つのブロックに再構成したものから各ブロックの情報を取得する。ここで得られたブロックを利用することにより、両テキストの粒度を合わせてより効果的な比較をすることができる。
【0096】
簡約された談話データ101における各ブロックのテキストと各トークスクリプトのテキストとの表現上の類似度を算出する手段については特に限定されず、種々のものを利用することができる。例えば、一般的に用いられる手法として、両テキストに含まれる単語の並びについてLCS(Longest Common Subsequence)アルゴリズムによりいわゆる最長共通部分列の長さを算出し、これを正規化する等によって類似度とすることができる。
【0097】
ここで、談話データ101に含まれる各談話についてブロック毎に類似度の情報を算出した結果である類似度情報71と、トークスクリプト72に含まれる各トークスクリプトの情報に基づいて、オペレータによる各業務における各トークスクリプトの実際の利用状況を算出して利用状況300を得ることができる。利用状況300は、例えば、トークスクリプト72において各業務について定義されているトークスクリプト毎に、オペレータにより実際に利用された(トークスクリプトに従って発話された)頻度の情報を保持する。この利用状況300の情報と、トークスクリプト72に含まれるトークスクリプトの定義情報とに基づいて、利用状況300の情報をグラフ表示して可視化することも可能である。
【0098】
図14は、トークスクリプトの利用状況を可視化した具体例について示した図である。ここでは、トークスクリプト72に定義されている情報に基づいて、対象の業務(図14の例では“解約”)において利用される各トークスクリプトをノードとして、応対の流れを示すようにグラフ表示した画面の例を示している。さらにこのグラフにおいては、類似度情報71の情報を集計した結果に基づいて、各ノードに対応するトークスクリプトの実際の利用頻度の情報を表示している。
【0099】
利用頻度の情報は、例えば図14の例に示すように、一定の期間中に対象の業務(に基づく一連の発話)が行われた回数を分母とし、その中で対象のトークスクリプトが実際に利用された(トークスクリプトに従って発話された)回数を分子とした割合で示す。また、得られた利用頻度の値を何段階かに区切り、その段階に応じて、利用頻度が高いほどノードの表示が強調されるように調節してもよい。図14の例では、色の濃淡により利用頻度が高いほど濃い色で着色しているが、色彩(寒色〜暖色)や、表示フォントの大きさ等を調節して強調表示してもよい。
【0100】
なお、上述の利用頻度における分母の計算において、一連の発話が対象の業務に基づいて行われたものであるか否かの判定は、例えば、ブロック内のテキストに特定のキーワード(例えば“解約”等)が含まれているか否か等で判断してもよいし、オペレータが顧客への応対時や応対記録作成時などに選択/入力した業務を示す情報を談話データ100、101に付加しておき、これに基づいて判断してもよい。また、分子の計算では、各ブロックにおいて対象のトークスクリプトが実際に利用されたか否かは、上述したように、類似度情報71に保持する類似度が所定の閾値よりも高いか否かで判断する。
【0101】
図14に示すようなグラフを参照することにより、例えば、“解約理由の確認”はある程度行われている(トークスクリプトが利用されている)が、解約を思いとどまらせるための“負担軽減の提案”はほとんど行われていない、もしくは行われていてもトークスクリプトが利用されていない(トークスクリプトが適切ではない)ことを容易に推測することができる。
【0102】
図15は、トークスクリプト利用状況算出システム1の類似度算出部70および利用状況算出部80における利用状況算出処理の流れの例を示したフローチャートである。利用状況算出処理を開始すると、まず、類似度算出部70は、簡約情報61により簡約された談話データ101の各ブロックについて処理を繰り返すループ処理を開始する(S501)。各ブロックについてのループ処理を開始すると、対象のブロック内のテキストについてLCSアルゴリズムにより類似度を算出する対象となる単語を抽出する(S502)。ここでは、形態素情報31に基づいて、動詞、名詞、形容詞のみを対象として抽出する。さらに、動詞、形容詞については活用は原形を使用する。これにより、微妙な言い回しの違いにより合致しないとして類似度が必要以上に下がることを防止して精度を向上させることができる。
【0103】
次に、トークスクリプト72において集計対象の業務について定義されている各トークスクリプトについて処理を繰り返すループ処理を開始する(S503)。各トークスクリプトについてのループ処理を開始すると、対象のトークスクリプトについて形態素解析を行い、形態素の列に分割して品詞を判別する(S504)。このとき、ステップS502と同様に、動詞、形容詞については原形を使用するものとする。また、動詞、名詞、形容詞のみを抽出してもよい。形態素解析については既存の形態素解析エンジンを利用することができ、また、談話構造解析システム2の形態素解析部30を利用してもよい。
【0104】
次に、ステップS502で取得した対象のブロック内の各単語と、ステップS504で取得した対象のトークスクリプト内の各単語との間で、表現上の類似度を算出する(S505)。例えば上述したように、LCSアルゴリズムにより最長共通部分列の長さを算出し、これを正規化して類似度とすることができる。その後、次のトークスクリプトの処理に移る(S506、S503)。
【0105】
各トークスクリプトについてのループ処理が終了した場合は、ステップS505で算出した類似度が最も高いトークスクリプトを選択して類似度情報71に出力する(S507)。その後、次のブロックの処理に移る(S508、S501)。各ブロックについてのループ処理が終了した場合は、類似度情報71に基づいて、対象の業務について各トークスクリプトの利用頻度を集計して利用状況300として出力し(S509)、利用状況算出処理を終了する。上述したように、ここで算出された利用状況300と、トークスクリプト72の定義情報とに基づいて、例えば、図14に示すようなグラフを表示させることができる。
【0106】
なお、図14に示すグラフの表示例は基本形であり、さらに詳細な分析を可能とするために利用頻度の情報の精度を向上させることが可能である。例えば、図14の例では、トークスクリプト毎にこれに従って発話されたブロックの数を単純に集計しているが、定義されたトークスクリプトの順序関係に従って発話されたか否かを考慮して利用頻度を算出する(重み付けする)ことも可能である。
【0107】
例えば、類似度情報71の各エントリ(発話されたブロックIDと類似するトークスクリプトのスクリプトIDとの組み合わせ)を、図16に示すように、発話されたブロックIDの昇順でソートする。このとき、スクリプトIDも昇順に並んでいるエントリについては、定義されたトークスクリプトの順序関係に従ってオペレータにより発話されていると判断し、例えば、利用頻度を算出する際に値が大きくなるよう所定の重み付けを行ってもよい。
【0108】
また、図14の例では、例えば“負担軽減の提案”の後などでは条件(顧客側の発話内容)に応じて利用するトークスクリプトが分岐するように定義されているが、利用頻度の分母は全て同じ値(対象の業務が行われた回数)となっている。従って、図14の例では、実際の業務における応対の分岐状況を把握することができない。すなわち、対象のトークスクリプトにおいて分子の値が分母の値に満たない分については、当該トークスクリプトに分岐したがこれに従った発話をしなかったのか、そもそも当該トークスクリプトに分岐しなかったのかを把握することができない。
【0109】
これに対しては、例えば、発話された各ブロックについて、談話データ101から直前の相手方(顧客)の発話内容を取得して、キーワードとのマッチングなどの解析により分岐先を判定し、分岐先のトークスクリプトのみに分母の値を加算することによって、正確な分岐状況(分母の値)を把握することができる。
【0110】
また、実際の対応においては、複数の業務が混在して行われる場合がある。例えば、図17に示すように、“解約”の業務において“住所変更”の業務が合わせて行われる場合などがある。これらの状況についても解析可能とするため、複数の業務間でのトークスクリプトの連携利用の状況についても把握することが必要となる場合がある。
【0111】
これに対しては、例えば、図15に示した利用状況算出処理において、ステップS503〜S506で、発話された各ブロックについて各トークスクリプトとの類似度を算出する際に、対象の業務を含む全ての業務のトークスクリプトを対象として類似度を算出する。これにより、対象のブロックがどの業務のトークスクリプトに従って発話されているかを把握することができる。このとき、談話データ101から対象のブロックの前後のブロックを参照することで、どのような状況や流れでこれらのトークスクリプトが利用されたのかを把握することができる。これにより、例えば、“解約”の業務の“本人確認”の際に“住所変更”の受付がよく行われるというような連携利用の状況を把握することができ、トークスクリプトの全体的な構成を組み直して最適化するためのヒントとすることが可能である。
【0112】
以上に説明したように、本発明の一実施の形態であるトークスクリプト利用状況算出システム1によれば、簡約された談話データ101の各ブロックと、トークスクリプト72内の各トークスクリプトとの表現上の類似度を算出することで、オペレータの発話がいずれのトークスクリプトに最も類似するかを判定する。この情報と、トークスクリプト72の定義情報とに基づいて、各業務における各トークスクリプトの実際の利用状況(トークスクリプトに従って発話された頻度)を算出し、グラフ等に可視化することができる。これにより、スーパーバイザーがコールセンター業務におけるオペレータの応対状況やトークスクリプトの利用状況の現状を容易かつ的確に把握することが可能となる。
【0113】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0114】
本発明は、音声認識処理により得られた談話データの構造を解析した結果から、各業務におけるトークスクリプトの利用状況を算出するトークスクリプト利用状況算出システムおよびトークスクリプト利用状況算出プログラムに利用可能である。
【符号の説明】
【0115】
1…トークスクリプト利用状況算出システム、2…談話構造解析システム、3…音声認識エンジン、
10…前処理部、
20…フロー解析部、21…フロー情報、22…フロー解析ルール、
30…形態素解析部、31…形態素情報、
40…固有表現解析部、41…固有表現情報、42…固有表現解析ルール、
50…結束性解析部、51…結束性情報、
60…談話簡約部、61…簡約情報、
70…類似度算出部、71…類似度情報、72…トークスクリプト、
80…利用状況算出部、
100、101…談話データ、200…談話セマンティクス、300…利用状況。
【技術分野】
【0001】
本発明は、自然言語処理の技術に関し、特に、音声認識処理により得られた談話データの構造を解析した結果から、各業務におけるトークスクリプトやFAQなどの利用状況を算出するトークスクリプト利用状況算出システムおよびトークスクリプト利用状況算出プログラムに適用して有効な技術に関するものである。
【背景技術】
【0002】
例えば、コールセンター業務において、いわゆるオペレータやコミュニケータ(以下では単に「オペレータ」と記載する場合がある)は、電話応対後に応対記録を作成して応対管理システム等へ保存するという一連の業務を行う必要がある。このとき、オペレータは、自身の記憶を頼りにして応対記録を作成するため作成に時間がかかるという問題がある。
【0003】
また、各オペレータのスキルに応じて品質(内容、統一性、網羅性、簡潔性等)にバラツキが生じる。このように応対記録の品質にバラツキがあったり品質が低かったりすることにより、顧客の声を正確に把握することができなかったり、応対記録の蓄積からテキストマイニング等の技術を利用して新たな知見を得るというようなことができなかったりなどの問題も生じる。
【0004】
このような問題を解決するため、音声認識の技術を活用した解決策が検討されている。音声認識の技術によって応対の音声情報をテキスト化して保存することにより、応対記録の網羅性を確保することができる。また、テキスト化したデータに対して自然言語処理の技術を適用して内容を要約することで応対記録を自動作成することも可能であり、応対記録作成にかかるコストを削減して、統一性、簡潔性を確保することで応対記録の活用性を向上させることも可能と考えられる。
【0005】
このような技術として、例えば、非特許文献1には、コールセンターにおける音声対話において、音声データをテキスト化し、過去の対話内容とその営業日報から帰納的学習により再帰的に規則獲得を行い、それらの規則を用いて未知の対話内容に対して重要箇所を決定・抽出し、文体変換を行うことで営業日報を自動生成する技術が記載されている。
【0006】
一方で、コールセンター業務において、いわゆるスーパーバイザーにとっては、オペレータの応対時間の短縮(コスト削減)や応対品質の向上(サービス改善)を図りたいという要望がある。このための施策には例えば、オペレータの教育を行ったり、オペレータが応対する際に参照する参照情報であるいわゆるトークスクリプトやFAQ(Frequently Asked Questions)(以下では単に「トークスクリプト」と総称する場合がある)をメンテナンスしたり等が含まれる。
【0007】
しかしながら、一般的にスーパーバイザーは多忙であり、上記のような施策を検討するために割ける十分な時間を有していない場合が多く、検討の前提資料となる、コールセンター業務におけるオペレータの応対状況の現状(オペレータが具体的にどのような表現や内容等によって顧客に応対しているのかや、応対時のトークスクリプトの利用状況など)を正確に把握することも困難な状況である。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】矢野純司、荒木健治、“コールセンターにおける音声対話を対象とした帰納的学習を用いた営業日報生成手法の性能評価”、情報処理学会研究報告 2007−NL−178、2007年3月28日、p.21−28
【発明の概要】
【発明が解決しようとする課題】
【0009】
オペレータの応対状況の現状を把握する手段としては、例えば、オペレータの応対内容を記録した音声情報をモニタリングして解析するといったことが考えられる。しかしながら、全ての音声情報(ログ)を解析することは多大な時間を要するため、例えば、上述した応対記録を作成する際に利用される音声情報をテキスト化したデータを活用することが考えられる。
【0010】
ここで、人の談話を音声認識によりテキスト化したデータ(以下では「談話データ」と記載する場合がある)を活用する場合、談話データ内の文章は通常は話し言葉で記録されているため、正しい文法に則った日本語文や、書き言葉を前提とした既存の自然言語処理の技術ではうまく対応できない場合がある。また、現状の音声認識エンジンの精度では認識ミスを排除することはできず、誤認識による誤字・脱字などのノイズが多い。従って、談話データについて自然言語処理を利用して解析し、有効活用するのは困難である。
【0011】
一方、非特許文献1の技術では、帰納的学習処理によって得た規則に基づいて対話文書全体を解析して重要文を抽出し、話し言葉から書き言葉への文体変換を行って営業日報を自動生成することができる。しかしながら、非特許文献1の技術では対話文書から最初に重要文を抽出してしまうため、対話文書の要約を得ることはできるが、談話データの蓄積をその他の有用な用途、例えば、上述したようなオペレータの応対状況の把握などに有効活用するということは困難である。
【0012】
また、オペレータの応対状況の現状を把握する他の手段としては、例えば、トークスクリプトやFAQの利用状況をログ等から分析することも行われる。しかしながら、このような分析では、トークスクリプトやFAQの検索履歴や参照履歴といったアクセス履歴までは把握できるが、これらにアクセスしたオペレータが実際に応対の際に利用したか否かや、どのように利用したか(トークスクリプトが実際にどのように利用されたか)といった内容は把握することができず、オペレータの主観的評価に頼らざるを得ない。
【0013】
そこで本発明の目的は、話し言葉やノイズといった談話データの特性に強く、トークスクリプトなどの参照情報に基づいて応対するオペレータ等の発話者による談話について、談話データの構造を解析した結果に基づいて、各業務における各トークスクリプトの実際の利用状況を算出するトークスクリプト利用状況算出システムおよびトークスクリプト利用状況算出プログラムを提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0014】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0015】
本発明の代表的な実施の形態によるトークスクリプト利用状況算出システムは、オペレータによるトークスクリプトを参照した応対業務における談話の内容が音声認識処理によってテキスト化された談話データ、および前記談話データにおける談話の構造の解析結果である、談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、談話におけるトークスクリプトの利用状況を算出するトークスクリプト利用状況算出システムであって、以下の特徴を有するものである。
【0016】
すなわち、トークスクリプト利用状況算出システムにおいて、前記談話セマンティクスは、前記談話データにおいて不要表現に該当しないステートメント、およびこれらのステートメントについて発話者毎の1以上の連続したステートメントから構成されるブロックについての情報を示す簡約情報を含む。また、トークスクリプト利用状況算出システムは、オペレータによる応対業務の際に参照される1つ以上のトークスクリプトについての定義情報と、前記簡約情報に基づいて簡約された前記談話データにおけるブロックを単位として、ブロックに含まれるテキストと各トークスクリプトのテキストとの間の表現上の類似度を算出し、ブロックに最も類似するトークスクリプトを取得して類似度情報として出力する類似度算出部とを有する。
【0017】
さらに、トークスクリプト利用状況算出システムは、トークスクリプトの利用状況を算出する対象の応対業務について定義されているトークスクリプト毎に、前記類似度情報に基づいて、簡約された前記談話データにおける各ブロックのうち、最も類似するものが当該トークスクリプトであり、かつ前記類似度が所定の閾値より高いブロックの数を算出し、対象の応対業務が行われた数に対する前記ブロックの数の割合からなる利用頻度を算出して、各トークスクリプトについての前記利用頻度の情報を、前記利用状況として出力する利用状況算出部を有することを特徴とするものである。
【0018】
また、本発明は、コンピュータを上記のようなトークスクリプト利用状況算出システムとして機能させるプログラムにも適用することができる。
【発明の効果】
【0019】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0020】
本発明の代表的な実施の形態によれば、話し言葉やノイズといった談話データの特性に強く、トークスクリプトなどの参照情報に基づいて応対するオペレータ等の発話者による談話について、談話データの構造を解析した結果に基づいて、各業務における各トークスクリプトの実際の利用状況を算出し、可視化することができる。これにより、スーパーバイザーがコールセンター業務におけるオペレータの応対状況やトークスクリプトの利用状況についての現状を容易に把握することが可能となる。
【図面の簡単な説明】
【0021】
【図1】本発明の一実施の形態であるトークスクリプト利用状況算出システムの構成例の概要について示したブロック図である。
【図2】本発明の一実施の形態における談話構造解析システムの構成例の概要について示したブロック図である。
【図3】本発明の一実施の形態における談話の例および談話セマンティクスの概念について示した図である。
【図4】本発明の一実施の形態における談話データのフローとコンテキストの例について示した図である。
【図5】本発明の一実施の形態における談話構造解析システムのフロー解析ルールの例について示した図である。
【図6】本発明の一実施の形態における談話構造解析システムのフロー解析部でのフロー解析処理の流れの例を示したフローチャートである。
【図7】本発明の一実施の形態における談話構造解析システムの固有表現解析ルールの例について示した図である。
【図8】本発明の一実施の形態における談話構造解析システムの固有表現解析部での固有表現解析処理の流れの例を示したフローチャートである。
【図9】本発明の一実施の形態における談話構造解析システムでの結束性解析の例について示した図である。
【図10】本発明の一実施の形態における談話構造解析システムの結束性解析部での結束性解析処理の流れの例を示したフローチャートである。
【図11】本発明の一実施の形態における談話簡約の例について示した図である。
【図12】本発明の一実施の形態における談話構造解析システムの談話簡約部での談話簡約処理の流れの例を示したフローチャートである。
【図13】本発明の一実施の形態におけるトークスクリプト利用状況算出システムでの類似度算出の例について示した図である。
【図14】本発明の一実施の形態におけるトークスクリプトの利用状況を可視化した具体例について示した図である。
【図15】本発明の一実施の形態におけるトークスクリプト利用状況算出システムの類似度算出部および利用状況算出部でのトークスクリプト利用状況算出処理の流れの例を示したフローチャートである。
【図16】本発明の一実施の形態における類似度情報の各エントリを発話されたブロックIDの昇順でソートした例を示した図である。
【図17】本発明の一実施の形態における複数の業務が混在して行われる場合の例を示した図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0023】
本発明の一実施の形態であるトークスクリプト利用状況算出システムは、話し言葉を含む談話データについての談話構造の解析結果である談話セマンティクス(談話全体の意味内容を把握するための談話構造に係る情報)に基づいて、例えばコールセンターのオペレータ等の発話者による談話の内容がトークスクリプトなどの応対時の参照情報の中のいずれに最も類似するかを判定し、判定結果に基づいて、オペレータによる各業務における各トークスクリプトの実際の利用状況を算出し、グラフ表示等により可視化して出力するシステムである。
【0024】
ここで、談話セマンティクスとは、例えば、談話データにおける文字列や形態素から意味内容を推測して、談話データ全体について後述するようなフロー、さらには結束性(談話のセグメント)、固有表現、談話簡約などの談話構造の解析を行って得られた解析結果である。この談話セマンティクスは、例えば、後述する談話構造解析システムを用いることによって談話データから生成してもよいし、他の自然言語処理を利用した文章構造の解析システム等を利用して生成してもよい。また、人手によって談話データにタグ付け等を行って作成することも可能である。本実施の形態では、後述する談話構造解析システムを用いて生成するものとして説明する。
【0025】
本実施の形態における談話セマンティクスは、日本語の文章としての内容や構造の厳密な解析結果である必要はなく、例えば、コールセンターにおける応対記録の作成などにおいて実用上支障のないレベルの精度のものであればよい。なお、本明細書において、「談話」とは1人以上の話者による発話行為を指し、例えば、1人で話す講演会でのスピーチ等や、上述したようなコールセンターのオペレータと顧客とのやり取り、複数人での電話会議やテレビ会議、その他の複数人での会話・対話が含まれる。
【0026】
図3は、本実施の形態における談話の例および談話セマンティクスの概念について示した図である。図3の例では、コールセンターのオペレータと顧客とのやり取りからなる談話の例を示している。左側の発話はオペレータの発話であり、右側は顧客の発話を示している。本実施の形態では、各話者の発話1文を「ステートメント」と呼ぶものとする。また、話者毎の連続したステートメントのまとまりを「ブロック」と呼ぶものとする(同一話者の連続したステートメントでも時間的に間隔が空いた場合は別のブロックとなる)。
【0027】
図3において、「フロー」とは、各ステートメントの意味内容を端的に示す情報である。この情報をトレースすることによって談話の流れを把握することができる。例えば、図3のオペレータのステートメントにおいて、最初の“はい。”はフローが“挨拶”になっているのに対し、次の“はい。”ではフローが“相槌”となっている。このように、談話の状況(コンテキスト)に応じて、同じ文言のステートメントであってもフローが異なるものとなる場合がある。
【0028】
また、図3において、「固有表現」とは、談話の内容を個別に特徴付ける表現であり、例えば、図3のコールセンターでのやり取りの談話では、IDや人名、企業名、電話番号、所在地などの固有名詞等が該当する。また、「セグメント」とは、ブロック毎の談話の内容が共通する(結束する)ものをまとめてセグメント化したものである。上記の「フロー」、「固有表現」、「セグメント」についての情報は、談話構造の解析結果として「談話セマンティクス」の構成要素となる。
【0029】
[システム構成(談話構造解析システム)]
図2は、本発明の一実施の形態における談話構造解析システムの構成例の概要について示したブロック図である。談話構造解析システム2は、サーバやPC(Personal Computer)等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装される前処理部10、フロー解析部20、形態素解析部30、固有表現解析部40、結束性解析部50、および談話簡約部60の各部と、フロー解析ルール22、および固有表現解析ルール42の各テーブルを有し、音声認識エンジン3によって談話の内容がテキスト化された談話データ100を入力として、談話構造の解析を行って談話セマンティクス200を出力する。
【0030】
なお、音声認識エンジン3には既存のものを利用することができる。本実施の形態の談話構造解析システム2は、上述したように、談話データ100のノイズ(音声認識エンジン3による認識ミス等)に強いという特徴を有するが、音声認識エンジン3の認識率が高いほうがより精度の高い談話構造の解析を行うことが可能であることはいうまでもない。
【0031】
談話構造解析システム2の前処理部10は、談話データ100の入力を受けて、必要に応じて、他の各部での処理が可能なようにデータのレイアウト変換などの前処理を行う機能を有する。ここでは、例えば、話者毎に連続したステートメントをブロックとしてまとめて、各ブロックおよび各ステートメントに順序を示すシーケンス番号(ID)を割り振ったり、各ブロックの話者のデータを抽出・設定したりなどの処理を行う。なお、談話データ100は、例えば、XML(eXtended Markup Language)などを利用したデータ構造として表される。
【0032】
フロー解析部20は、前処理部10による前処理後の談話データ100に対して、フロー解析ルール22に基づくルールベースでのフローの解析を行い、解析結果としてフロー情報21を出力する機能を有する。フロー情報21は、談話データ100内の各ステートメントのIDとこれに対応するフローの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0033】
このフロー情報21は、談話構造解析システム2の出力として談話セマンティクス200に含まれ、必須の構成要素となる。すなわち、談話セマンティクス200には、少なくとも談話データ100についてのフローの解析結果としてフロー情報21が含まれる。なお、フロー解析ルール22の内容、およびフロー解析部20での処理の詳細については後述する。
【0034】
形態素解析部30は、前処理部10による前処理後の談話データ100に対して、形態素(言語における意味を持つ最小の単位)の列に分割して品詞を判別するいわゆる形態素解析を行い、解析結果として形態素情報31を出力する機能を有する。形態素情報31は、談話データ100内の各ステートメントのIDとこれに対応する形態素列の情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0035】
この形態素情報31は、フロー情報21と同様に、談話構造解析システム2の出力として談話セマンティクス200に含まれるとともに、後述する固有表現解析部40や結束性解析部50に対する入力となる。すなわち、固有表現解析部40による固有表現の解析や、結束性解析部50による結束性の解析(セグメント化)を行わない場合は、形態素解析部30による形態素解析は不要な場合がある。本実施の形態では、後述するトークスクリプト利用状況算出システムにおいて形態素情報31を利用するため、形態素解析部30による形態素解析は必須である。なお、形態素解析部30には既存の形態素解析エンジン(例えば、MeCab(和布蕪)やChaSen(茶筌)など)を利用することができる。
【0036】
固有表現解析部40は、前処理部10による前処理後の談話データ100と、形態素解析部30から出力された形態素情報31とに基づいて、固有表現解析ルール42に基づくルールベースでの固有表現の解析を行い、解析結果として固有表現情報41を出力する機能を有する。すなわち、固有表現解析部40での解析処理は、少なくとも形態素解析部30による形態素解析が行われていることが前提となる。固有表現情報41は、談話データ100内の各ステートメントIDとこれに対応する固有表現のリストの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0037】
この固有表現情報41は、フロー情報21と同様に、談話構造解析システム2の出力として談話セマンティクス200に含まれるが、その後の談話セマンティクス200を利用するアプリケーション等による利用形態や、求められる談話セマンティクスの精度などによって不要な場合もあり得る。従って、固有表現情報41の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。なお、固有表現解析ルール42の内容、および固有表現解析部40での処理の詳細については後述する。
【0038】
結束性解析部50は、前処理部10による前処理後の談話データ100と、フロー解析部20から出力されたフロー情報21および形態素解析部30から出力された形態素情報31に基づいて、各ブロックの結束性の解析を行ってセグメント化し、解析結果として結束性情報51を出力する機能を有する。すなわち、固有表現解析部40での解析処理は、少なくとも形態素解析部30による形態素解析、およびフロー解析部20によるフローの解析が行われていることが前提となる。結束性情報51は、談話データ100内の各ブロックIDと対応するセグメントIDの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0039】
この結束性情報51は、固有表現情報41と同様に、談話構造解析システム2の出力として談話セマンティクス200に含まれるが、その後の談話セマンティクス200を利用するアプリケーション等による利用形態や、求められる談話セマンティクスの精度などによっては不要な場合もあり得る。従って、結束性情報51の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。なお、結束性解析部50での処理の詳細については後述する。
【0040】
談話簡約部60は、前処理部10による前処理後の談話データ100と、フロー解析部20から出力されたフロー情報21とに基づいて、談話データ100から不要表現を削除して談話における意味のある部分を抽出し(以下では抽出された談話データ100を「簡約」と記載する場合がある)、処理結果として簡約情報61を出力する機能を有する。すなわち、談話簡約部60での簡約処理は、少なくともフロー解析部20によるフローの解析が行われていることが前提となる。簡約情報61は、例えば、談話データ100から簡約として抽出された各ステートメントのIDと、新たに構成されたブロックや、そのIDの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0041】
この簡約情報61は、フロー情報21と同様に、談話構造解析システム1の出力として談話セマンティクス200に含まれるが、その後の談話セマンティクス200を利用するアプリケーション等による利用形態や、求められる談話セマンティクス200の精度などによっては必要ではない場合もあり得る。従って、簡約情報61の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。本実施の形態では、後述するトークスクリプト利用状況算出システムにおいて簡約情報61を利用するため、簡約情報61の出力は必須である。なお、談話簡約部60での処理の詳細については後述する。
【0042】
談話構造解析システム2による解析結果として出力される談話セマンティクス200は、上述したように、フロー情報21や、形態素情報31、固有表現情報41、結束性情報51、簡約情報61を含んで構成される。このとき、単にこれらのデータの集合を談話セマンティクス200として取り扱ってもよいし、例えば、これらのデータをXMLを利容した1つのデータ構造に結合してもよい。
【0043】
[システム構成(トークスクリプト利用状況算出システム)]
図1は、本発明の一実施の形態であるトークスクリプト利用状況算出システムの構成例の概要について示したブロック図である。トークスクリプト利用状況算出システム1は、談話構造解析システム2と同様に、サーバやPC等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装される類似度算出部70、および利用状況算出部80の各部と、トークスクリプト72のテーブルもしくはデータベースを有する。
【0044】
上記構成により、談話の内容がテキスト化された談話データ101と、談話データ101についての談話構造の解析結果である談話セマンティクス200とを入力として、オペレータによる各業務におけるトークスクリプト72内の各トークスクリプトの実際の利用状況を集計した利用状況300を算出して出力する。利用状況300は、例えばグラフ表示等により可視化して表示することができる。
【0045】
なお、談話データ101は、上述した談話構造解析システム2の前処理部10によって前処理されたものと同等のもの、すなわち、例えば、話者毎に連続したステートメントがブロックとしてまとめられ、各ブロックおよび各ステートメントに順序を示すシーケンス番号(ID)が割り振られ、各ブロックの話者のデータが設定されている状態のものである。また、談話セマンティクス200は、例えば、上述した談話構造解析システム2等によって、談話データ101について談話構造(フロー、固有表現、結束性、形態素、および談話簡約)の解析が行われた結果として出力されたものである。
【0046】
なお、本実施の形態では、談話構造解析システム2によって出力された談話構造の解析結果をトークスクリプト利用状況算出システム1に入力する構成としているが、例えば、これらのシステムを1つのコンピュータシステム上に構成し、談話構造の解析処理から要約300の生成までの処理を連続的に実行するようにしてもよい。
【0047】
トークスクリプト利用状況算出システム1の類似度算出部70は、談話データ101と、談話セマンティクス200の形態素情報31および簡約情報61とに基づいて、簡約された談話データ101の各ブロックについてトークスクリプト72内の各トークスクリプトとの間の表現上の類似度を算出して最も類似するトークスクリプトを取得し、類似度情報71を出力する機能を有する。類似度情報71は、各ブロックのIDと、これに最も類似するトークスクリプトの情報および類似度の情報を保持する。
【0048】
利用状況算出部80は、類似度情報71とトークスクリプト72とに基づいて、トークスクリプト72内において対象の業務について定義されている各トークスクリプトの実際の利用状況を算出し、利用状況300として出力する機能を有する。類似度算出部70および利用状況算出部80での処理の詳細については後述する。
【0049】
[フロー解析]
以下では、図2に示した談話構造解析システム2のフロー解析部20によるフロー解析の処理の詳細について説明する。図4は、談話データ100におけるフローとコンテキストの例について示した図である。本実施の形態では、コンテキストは談話の各ブロックに対して設定される。図4の例では、最初のブロック(話者:オペレータ)のコンテキストは“開始”であり、次のブロック(話者:顧客)およびその次のブロック(話者:オペレータ)はともに“陳述”となっている。
【0050】
図4の例に示すように、本実施の形態では、原則として、対象のブロックのコンテキストとして、異なる話者の直前のブロックの最後のステートメントに設定されたフローを設定する。なお、談話データ100の先頭のブロックについては直前のブロックがないため、コンテキストとして常に“開始”を設定するものとする。このようにコンテキストを判断することによって、同じ文言のステートメントであっても談話のコンテキストに沿ったフローの解析が可能となる。
【0051】
図5は、談話構造解析システム2のフロー解析ルール22の例について示した図である。フロー解析ルール22は、ファイルやデータベース等に保持されており、ステートメント中におけるフローを判断するための表現(以下では「フロー表現」と記載する場合がある)と、当該フロー表現とマッチする表現を有するステートメントに対してそのコンテキストに応じて設定するフローのパターン(以下では「フロー定義」と記載する場合がある)との対応について予め指定したリストを保持するテーブルである。
【0052】
図5の例に示すように、フロー表現は、フローを判断するための手掛かりとなる文字列の正規表現(例えば、“/はい。/”や“/ですか。/”)によって指定する。従って、フロー解析部20もしくは談話構造解析システム2は、例えば、既存の正規表現ライブラリなどを導入することにより正規表現に必要な処理を行うことができるようにしておく必要がある。
【0053】
なお、フロー表現として指定する文字列は、例えば、話し言葉において談話の流れ上特徴的となる文頭の挨拶、返事や、助詞、接続詞、文末表現などを指定するのが望ましく、これらを適用の優先度が高い順に指定する。優先度については、例えば、所定の条件により正規表現の複雑度を計算し、複雑度の降順で優先度を設定するようにしてもよい。なお、指定するフロー表現のパターンは、談話構造解析システム2が対象とする談話の種類(例えば、コールセンターでのやり取りや、企業における定例会議など)に応じて異なる場合がある。
【0054】
各フロー表現に対しては、例えば“flow”のラベルによって、フロー定義を指定する。フロー定義では、対象のステートメントのコンテキストと、当該ステートメントに設定するフロー(例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、コンテキストが“開始”の場合はフローとして“挨拶”を設定する)を指定する。“flow”のラベルによるフロー定義は、各フロー表現において想定されるコンテキストの種類に応じて複数指定することができる。
【0055】
また、例えば“default”のラベルによって、対象のステートメントのコンテキストがいずれの“flow”のラベルにも該当しなかった場合に設定するフローであるデフォルトフロー(例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、当該ステートメントのコンテキストがいずれの“flow”のラベルにもマッチしない場合はフローとして“相槌”を設定する)を指定する。なお、デフォルトフローは、各フロー表現において必ず1つ設定するものとする。
【0056】
フロー定義の指定は、談話構造解析システム2が対象とする談話の種類に応じて、一般的な談話の流れのパターンとして主要なものを指定するのが望ましい。例えば、コールセンターでのやり取りにおいては、顧客が“苦情”を発した場合はオペレータは“謝罪”する、などのパターンに基づいて、フロー定義を指定することができる。
【0057】
フロー解析ルール22では、上述のように、指定するフロー表現や対応するフロー定義の内容が談話構造解析システム2が対象とする談話の種類に応じて異なる場合があるため、談話の種類に応じて適用するフロー解析ルール22を複数保持して、ユーザが切り換えられるようにするなど、談話の特性に応じて柔軟に対応することも可能である。
【0058】
なお、上述のように、本実施の形態では、フロー解析ルール22において品詞の指定は行っていない。すなわち、フロー解析部20においては品詞の判断を行わないため、フロー解析部20での解析処理に際して、事前に形態素解析部30による形態素解析を行う必要はない。なお、より精度を上げるために形態素情報31を利用して、例えば、フロー解析ルール22のフロー表現における正規表現を、後述するように形態素情報31の形態素列(品詞の情報も含む)に対して適用するようにして、より詳細な条件でマッチングを行うようすることも可能である。
【0059】
図6は、談話構造解析システム2のフロー解析部20におけるフロー解析処理の流れの例を示したフローチャートである。フロー解析部20は、フロー解析処理を開始すると、まず、前処理部10による前処理後の談話データ100の各ステートメントについて処理を繰り返すループ処理を開始する(S101)。各ステートメントについてのループ処理を開始すると、フロー解析ルール22の各フロー表現について処理を繰り返すループ処理を開始する(S102)。
【0060】
各フロー表現についてのループ処理を開始すると、対象のステートメントと対象のフロー表現とがマッチするか否かを判定する(S103)。マッチしない場合は次のフロー表現の処理に移る(S108、S102)。一方、マッチする場合は、まず、対象のステートメントについて、当該ステートメントが属するブロックの直前のブロックにおける最終ステートメントに設定されているフローをコンテキストとして設定する(S104)。このとき、図4で示したように、当該ステートメントが属するブロックが談話データ100の最初のブロックである場合には、コンテキストに“開始”を設定する。
【0061】
次に、ステップS104で設定したコンテキストについて、対象のフロー表現におけるフロー定義の”flow”ラベルで指定されたコンテキストとマッチするものがあるか否かを判定する(S105)。マッチするものがある場合には、マッチするフロー定義におけるコンテキストに対応するフローを、対象のステートメントのフローとして設定する(S106)。一方、マッチするものがない場合は、デフォルトフローを対象のステートメントのフローとして設定する(S107)。その後、各フロー表現についてのループ処理を抜ける。
【0062】
各フロー表現についてのループ処理が終了すると、対象のステートメントにフローが設定されているか否かを判定する(S109)。フローが設定されている場合は何も行わず、また、フローが設定されていない場合は、対象のステートメントに“陳述”のフローを設定して(S110)、次のステートメントの処理に移る(S111、S101)。各ステートメントについてのループ処理が全て終了した場合は、各ステートメントのIDとこれに対応するフローの情報をフロー情報21として出力してフロー解析処理を終了する。
【0063】
このように、話し言葉を考慮したフロー表現によって各ステートメントとマッチングし、マッチしたステートメントのコンテキストに応じて適切なフローを設定することで、談話データ100の全体について話し言葉やノイズに影響されにくいフロー解析を行うことができる。
【0064】
[固有表現解析]
以下では、図2に示した談話構造解析システム2の固有表現解析部40による固有表現解析の処理の詳細について説明する。図7は、談話構造解析システム2の固有表現解析ルール42の例について示した図である。固有表現解析ルール42は、ファイルやデータベース等に保持されており、ステートメント中の固有表現を特定するための正規表現と、当該正規表現とマッチする部分から固有表現を特定して抽出するための規則(以下では「固有表現規則」と記載する場合がある)との対応について予め指定したリストを保持するテーブルである。
【0065】
図7の例に示すように、ステートメント中の固有表現は正規表現によって特定する。従って、固有表現解析部40もしくは談話構造解析システム2は、例えば、既存の正規表現ライブラリなどを導入することにより正規表現に必要な処理を行うことができるようにしておく必要がある。なお、固有表現解析においては、通常の文字列に対する正規表現だけではなく、形態素情報31に保持された各ステートメントの形態素列の表現についても判断する必要があるため、正規表現の処理機能を形態素列の情報を判断することができるよう拡張しておく。
【0066】
例えば、図7の例では、各正規表現中で形態素列の範囲を“( )”で指定しており、この部分については文字列ではなく形態素列の情報とマッチングするようにする。1つ目の正規表現の例では、“(<f:組織>+)”の部分は、品詞(f)が“組織”であると解析された1つ以上の形態素列を示しており、“(?:の)?”の部分は、表層形が“の”であると解析された0以上1つ以下の品詞を示している。また、“(<f:人名,姓>)”の部分は、品詞が“人名,姓”であると解析された1つの形態素列を示している。この正規表現は、例えば、“AAA商事の鈴木”や、“AAA商事鈴木”などの表現とマッチする。なお、形態素列の表現については、形態素解析部30における形態素解析エンジン等の出力仕様によって異なる場合がある。
【0067】
このとき、対応する固有表現規則において、当該形態素列における1番目の要素(品詞が“組織”の形態素列、例えば“AAA商事”)を“企業名”という属性を有する固有表現として特定し、形態素列における2番目の要素(品詞が“人名,姓”の形態素列、例えば“鈴木”)を“人名”という属性を有する固有表現として特定するよう指定している。なお、“(?: )”で囲われた部分(例えば、“の”)については対象の形態素列の要素に含まれないものとして取り扱う。
【0068】
図7の2つ目の正規表現の例では、品詞は特に考慮せずに通常の正規表現によって指定しており、“03−1234−5678”などの電話番号の表現にマッチする。このとき、対応する固有表現規則において、当該形態素列における1番目の要素(この例で要素は“03−1234−5678”等の1つしかない)を“電話番号”という属性を有する固有表現として特定するよう指定している。
【0069】
なお、正規表現によって特定される固有表現の文字列は、例えば、談話の内容を個別に特徴付ける固有名詞や、数値等からなる文字列などを指定するのが望ましい。また、例えば、話者(顧客等)の感情を示す表現(例えば、苦情の表現や感謝の表現など)からなる文字列を指定して、対応する感情の属性を有する固有表現として特定するようにしてもよい。なお、解析結果として、ある文字列が複数の固有表現に含まれるという場合もあり得る。
【0070】
固有表現解析ルール42には、上述のように、固有表現を特定するための正規表現と固有表現規則との対応のリストを予め指定しておくが、フロー解析ルール22と同様に、指定する正規表現や対応する固有表現規則については、談話構造解析システム2が対象とする談話の種類に応じて異なるものを設定したり、談話の種類に応じて適用する固有表現解析ルール42をユーザが切り換えたりなど、談話の特性に応じて柔軟に対応することが可能である。
【0071】
図8は、談話構造解析システム2の固有表現解析部40における固有表現解析処理の流れの例を示したフローチャートである。固有表現解析部40は、固有表現解析処理を開始すると、まず、談話データ100の各ステートメントについて処理を繰り返すループ処理を開始する(S201)。各ステートメントについてのループ処理を開始すると、固有表現解析ルール42の固有表現を特定するための各正規表現について処理を繰り返すループ処理を開始する(S202)。
【0072】
各正規表現についてのループ処理を開始すると、対象のステートメントに対応する形態素情報31内の各形態素列と、対象の正規表現とがマッチするか否かを判定する(S203)。マッチしない場合は次の正規表現の処理に移る(S205、S202)。一方、マッチする場合は、対象の正規表現に対応する固有表現規則を適用して固有表現を特定して抽出し(S204)、次の正規表現の処理に移る(S205、S202)。
【0073】
各正規表現についてのループ処理が全て終了した場合は、次のステートメントの処理に移る(S206、S201)。各ステートメントについてのループ処理が全て終了した場合は、各ステートメントのIDとこれに対応する固有表現のリストの情報を固有表現情報41として出力して固有表現解析処理を終了する。
【0074】
このように、形態素列の品詞を考慮した正規表現によるマッチングと形態素列の抽出を行うことで、例えば助詞の省略などの話し言葉特有の文法を考慮した固有表現解析を行うことができる。
【0075】
[結束性解析]
以下では、図2に示した談話構造解析システム2の結束性解析部50による結束性解析の処理の詳細について説明する。図9は、談話構造解析システム2での結束性解析の例について示した図である。結束性解析処理では、まず、上段の図に示すように、談話データ100における全てのブロックを1つのセグメントとして設定する。
【0076】
その後、まず、セグメントの分割処理を行う。分割処理では、各ステートメントについてフロー情報21において特定の種別のフローが設定されているものを判別し、当該ステートメントが属するブロックにおいてセグメントを分割する。ここで、判別するフローの種別は、談話の切れ目や内容が切り替わる際に出現すると推測されるフローであることが望ましい。
【0077】
例えば、コールセンターにおけるやり取りを始めとする複数人の談話の場合は、質問とそれに対する回答等の応答によって談話が進む場合が多いため、フローが“質問”のステートメントにおいて内容が切り替わることが多いと考えられる。従って、本実施の形態では、フロー情報21に基づいてフローが“質問”のステートメント(以下では“質問ステートメント”と記載する場合がある)を判別し、図9の中段の図に示すように、質問ステートメントが出現するたびにセグメントを分割するものとする。
【0078】
その後、セグメントの統合処理を行う。統合処理では、各セグメントについて予め定められた統合条件に該当する質問ステートメントを有する場合に、当該質問ステートメントを有するセグメントを直前のセグメントと統合する。ここで、統合条件は、当該質問ステートメントを有するセグメントについて以前のセグメントから内容が継続している(以前のセグメントと結束性が高い)と推測させる表現の指定である。
【0079】
統合条件としては、例えば、当該質問ステートメントについて、直前の質問ステートメントと共通する単語(固有名詞)がある場合や、指示詞を含む場合などが挙げられる。これらの統合条件に該当する質問ステートメントを有するセグメントは以前のセグメントと結束性が高いと判断し、図9の下段の図に示すように、直前のセグメントと統合する。なお、統合処理については、統合可能なセグメントがなくなるまで繰り返すものとする。
【0080】
図10は、談話構造解析システム2の結束性解析部50における結束性解析処理の流れの例を示したフローチャートである。結束性解析部50は、結束性解析処理を開始すると、まず、談話データ100の全てのブロックを1つのセグメントに設定する(S301)。具体的には、例えば、全てのブロックにセグメントIDの初期値を割り当てるなどによって設定する。その後、セグメントの分割処理として、談話データ100の各ブロックについて処理を繰り返すループ処理を開始する(S302)。
【0081】
各ブロックについてのループ処理を開始すると、対象のブロックに質問ステートメントが含まれているか否か(フローが“質問”のステートメントがあるか否か)を判定する(S303)。質問ステートメントが含まれている場合は、対象のブロックと直前のブロックとの間でセグメントを分割する(S304)。具体的には、例えば、対象のブロック以降の全てのブロックに次のセグメントIDを割り当てるなどによって分割する。その後、次のブロックの処理に移る(S305、S302)。
【0082】
各ブロックについてのループ処理(分割処理)が終了した場合は、次に、セグメントの結合処理として、上記の分割処理で分割した各セグメントについて処理を繰り返すループ処理を開始する(S306)。各セグメントについてのループ処理を開始すると、対象のセグメントに上記の統合条件に該当する質問ステートメントがあるか否かを判定する(S307)。
【0083】
統合条件に該当する質問ステートメントがある場合は、対象のセグメントと直前のセグメントとを統合する(S308)。具体的には、例えば、対象のセグメントに含まれる各ブロックのセグメントIDを直前のセグメントのセグメントIDに更新するなどによって統合する。このとき、以降の各セグメントに含まれる各ブロックのセグメントIDを順次繰り上げてもよい。その後、次のセグメントの処理に移る(S309、S306)。各セグメントについてのループ処理(統合処理)が終了した場合は、各ブロックのIDと対応する(各ブロックが含まれる)セグメントのIDのリストの情報を結束性情報51として出力して、結束性解析処理を終了する。
【0084】
これにより、フロー解析によって得られたフロー情報21に基づいて談話データ100内の各ステートメントをセグメント化し、談話セマンティクス200を利用する種々のアプリケーションに対する有用な情報とすることができる。
【0085】
[談話簡約]
以下では、図2に示した談話構造解析システム2の談話簡約部60による談話簡約の処理の詳細について説明する。図11は、談話簡約の例について示した図である。談話簡約処理では、フロー解析部20によって解析された各ステートメントのフローの情報に基づいて、談話データ100から相槌や挨拶等の不要表現を削除し、その他の部分を談話における本質的な部分として抽出する。
【0086】
図11の例に示すように、上段のフロー解析が行われた談話データ100に対して、フローが“挨拶”、“相槌”、“定型”と判定されたステートメントを不要表現として削除し、さらに、同じ発話者が続くブロックを連結して1つのブロックに再構成することによって、下段に示すような簡約を得ることができる。なお、本実施の形態では不要表現であると判断するフローを“挨拶”、“相槌”、“定型(談話の内容と直接の関わりなく使用される定型的な表現を示すフロー)” と定義しているが、談話の種類に応じて不要表現と判断するフローの定義を適宜変更してもよい。
【0087】
図12は、談話構造解析システム2の談話簡約部60における談話簡約処理の流れの例を示したフローチャートである。談話簡約部60は、談話簡約処理を開始すると、まず、談話データ100の各ステートメントについて処理を繰り返すループ処理を開始する(S401)。各ステートメントについてのループ処理を開始すると、対象のステートメントについてフロー情報21を参照し、フローが“挨拶”、“相槌”、“定型”のいずれかに該当するか否かを判定する(S402)。
【0088】
フローがいずれにも該当しない場合は、対象のステートメントは不要表現ではないとして、この情報を識別するため対象のステートメントに対して簡約フラグを設定する(S403)。本実施の形態では不要表現ではないステートメントに簡約フラグを設定するものとしているが、逆に、ステップS402において対象のステートメントがいずれかのフローに該当する場合に、不要表現であるとして不要表現フラグを設定するようにしてもよい。その後、次のステートメントの処理に移る(S404、S401)。
【0089】
各ステートメントについてのループ処理が終了した場合は、簡約フラグが設定されたステートメント(不要表現を削除した残りのステートメント)によってブロックを再構成する(S405)。ここでは、不要表現が削除されたことにより同じ発話者のブロックが連続することになる場合に、これらを結合して1つのブロックとする(例えば、図11の下段の談話データ100における最終ブロック)。このとき例えば、結合したブロックが所定の長さよりも長くなる場合は、分割して適当な長さの複数のブロックとしてもよい。ブロックを再構成した後、ブロックIDを採番し直すようにしてもよい。その後、簡約フラグが設定された各ステートメントのIDと、再構成したブロックの情報を簡約情報61として出力して談話簡約処理を終了する。
【0090】
これにより、談話データ100の内容をできるだけ忠実に、かつ本質的な部分を漏らさずに圧縮してデータ量を削減することができ、その後の談話セマンティクス200を利用する種々のアプリケーションにおける分析効率や利用効率を向上させることができる。
【0091】
なお、上述のフロー解析、固有表現解析、結束性解析、談話簡約の各処理によって出力された談話セマンティクス200に含まれるフロー情報21、固有表現情報41、結束性情報51、簡約情報61については、談話構造解析システム2において、ユーザが内容を参照して適宜修正することが可能なインタフェースを設けてもよい。
【0092】
[トークスクリプト利用状況算出]
以下では、図1に示したトークスクリプト利用状況算出システム1の類似度算出部70および利用状況算出部80によるトークスクリプトの利用状況の算出処理の詳細について説明する。図13は、トークスクリプト利用状況算出システム1での類似度算出の例について示した図である。図13の上段左は、談話データ101に含まれる各ブロックの内容の例を示しており、上段右はトークスクリプト72に含まれる各トークスクリプトの内容の例を示している。
【0093】
トークスクリプト72内の各スクリプトは、図13の例に示すように、オペレータが対応する業務(例えば保険業務における“解約”や“住所変更”など)毎に定義された一連の発話毎に、スクリプトIDが割り振られて、その内容を示すテキスト(発話すべき内容)が、定義されている。また、次スクリプトIDを定義することによって、一連のトークスクリプトからなる業務のフローを定義することができる。なお、顧客の応答内容や状況等に応じて次スクリプトの定義を分岐させるような条件を指定可能としてもよい。
【0094】
トークスクリプト利用状況算出システム1の類似度算出部70では、談話データ101の各ブロックのテキストについて、トークスクリプト72の各トークスクリプトのテキストとの表現上の類似度を算出し、最も類似度が高いテキストからなるトークスクリプトを特定する。この類似度が所定の閾値よりも高い場合は、対象のブロックにおいて、発話者(本実施の形態ではオペレータ)は、ここで特定されたトークスクリプト(最も類似度が高いトークスクリプト)に従って発話したものと推定することができる。対象のブロックと最も類似度が高いトークスクリプトの情報および類似度の値は図13の下段に示すように類似度情報71に出力される。
【0095】
オペレータが一つのトークスクリプトに従って発話した場合であっても、間に“挨拶”や“相槌”等のステートメントが含まれている場合、談話データ101におけるブロックはこれらにより分断され複数のブロックにまたがった状態となる。このような状態では、各トークスクリプトのテキストと適切に比較することはできない。従って、本実施の形態では、談話セマンティクス200に含まれる簡約情報61に基づいて談話データ101を簡約した結果から各ブロックの情報を取得するものとする。すなわち、談話データ101から“挨拶”や“相槌”等の不要表現を削除し、さらに、同じ発話者が続くブロックを連結して1つのブロックに再構成したものから各ブロックの情報を取得する。ここで得られたブロックを利用することにより、両テキストの粒度を合わせてより効果的な比較をすることができる。
【0096】
簡約された談話データ101における各ブロックのテキストと各トークスクリプトのテキストとの表現上の類似度を算出する手段については特に限定されず、種々のものを利用することができる。例えば、一般的に用いられる手法として、両テキストに含まれる単語の並びについてLCS(Longest Common Subsequence)アルゴリズムによりいわゆる最長共通部分列の長さを算出し、これを正規化する等によって類似度とすることができる。
【0097】
ここで、談話データ101に含まれる各談話についてブロック毎に類似度の情報を算出した結果である類似度情報71と、トークスクリプト72に含まれる各トークスクリプトの情報に基づいて、オペレータによる各業務における各トークスクリプトの実際の利用状況を算出して利用状況300を得ることができる。利用状況300は、例えば、トークスクリプト72において各業務について定義されているトークスクリプト毎に、オペレータにより実際に利用された(トークスクリプトに従って発話された)頻度の情報を保持する。この利用状況300の情報と、トークスクリプト72に含まれるトークスクリプトの定義情報とに基づいて、利用状況300の情報をグラフ表示して可視化することも可能である。
【0098】
図14は、トークスクリプトの利用状況を可視化した具体例について示した図である。ここでは、トークスクリプト72に定義されている情報に基づいて、対象の業務(図14の例では“解約”)において利用される各トークスクリプトをノードとして、応対の流れを示すようにグラフ表示した画面の例を示している。さらにこのグラフにおいては、類似度情報71の情報を集計した結果に基づいて、各ノードに対応するトークスクリプトの実際の利用頻度の情報を表示している。
【0099】
利用頻度の情報は、例えば図14の例に示すように、一定の期間中に対象の業務(に基づく一連の発話)が行われた回数を分母とし、その中で対象のトークスクリプトが実際に利用された(トークスクリプトに従って発話された)回数を分子とした割合で示す。また、得られた利用頻度の値を何段階かに区切り、その段階に応じて、利用頻度が高いほどノードの表示が強調されるように調節してもよい。図14の例では、色の濃淡により利用頻度が高いほど濃い色で着色しているが、色彩(寒色〜暖色)や、表示フォントの大きさ等を調節して強調表示してもよい。
【0100】
なお、上述の利用頻度における分母の計算において、一連の発話が対象の業務に基づいて行われたものであるか否かの判定は、例えば、ブロック内のテキストに特定のキーワード(例えば“解約”等)が含まれているか否か等で判断してもよいし、オペレータが顧客への応対時や応対記録作成時などに選択/入力した業務を示す情報を談話データ100、101に付加しておき、これに基づいて判断してもよい。また、分子の計算では、各ブロックにおいて対象のトークスクリプトが実際に利用されたか否かは、上述したように、類似度情報71に保持する類似度が所定の閾値よりも高いか否かで判断する。
【0101】
図14に示すようなグラフを参照することにより、例えば、“解約理由の確認”はある程度行われている(トークスクリプトが利用されている)が、解約を思いとどまらせるための“負担軽減の提案”はほとんど行われていない、もしくは行われていてもトークスクリプトが利用されていない(トークスクリプトが適切ではない)ことを容易に推測することができる。
【0102】
図15は、トークスクリプト利用状況算出システム1の類似度算出部70および利用状況算出部80における利用状況算出処理の流れの例を示したフローチャートである。利用状況算出処理を開始すると、まず、類似度算出部70は、簡約情報61により簡約された談話データ101の各ブロックについて処理を繰り返すループ処理を開始する(S501)。各ブロックについてのループ処理を開始すると、対象のブロック内のテキストについてLCSアルゴリズムにより類似度を算出する対象となる単語を抽出する(S502)。ここでは、形態素情報31に基づいて、動詞、名詞、形容詞のみを対象として抽出する。さらに、動詞、形容詞については活用は原形を使用する。これにより、微妙な言い回しの違いにより合致しないとして類似度が必要以上に下がることを防止して精度を向上させることができる。
【0103】
次に、トークスクリプト72において集計対象の業務について定義されている各トークスクリプトについて処理を繰り返すループ処理を開始する(S503)。各トークスクリプトについてのループ処理を開始すると、対象のトークスクリプトについて形態素解析を行い、形態素の列に分割して品詞を判別する(S504)。このとき、ステップS502と同様に、動詞、形容詞については原形を使用するものとする。また、動詞、名詞、形容詞のみを抽出してもよい。形態素解析については既存の形態素解析エンジンを利用することができ、また、談話構造解析システム2の形態素解析部30を利用してもよい。
【0104】
次に、ステップS502で取得した対象のブロック内の各単語と、ステップS504で取得した対象のトークスクリプト内の各単語との間で、表現上の類似度を算出する(S505)。例えば上述したように、LCSアルゴリズムにより最長共通部分列の長さを算出し、これを正規化して類似度とすることができる。その後、次のトークスクリプトの処理に移る(S506、S503)。
【0105】
各トークスクリプトについてのループ処理が終了した場合は、ステップS505で算出した類似度が最も高いトークスクリプトを選択して類似度情報71に出力する(S507)。その後、次のブロックの処理に移る(S508、S501)。各ブロックについてのループ処理が終了した場合は、類似度情報71に基づいて、対象の業務について各トークスクリプトの利用頻度を集計して利用状況300として出力し(S509)、利用状況算出処理を終了する。上述したように、ここで算出された利用状況300と、トークスクリプト72の定義情報とに基づいて、例えば、図14に示すようなグラフを表示させることができる。
【0106】
なお、図14に示すグラフの表示例は基本形であり、さらに詳細な分析を可能とするために利用頻度の情報の精度を向上させることが可能である。例えば、図14の例では、トークスクリプト毎にこれに従って発話されたブロックの数を単純に集計しているが、定義されたトークスクリプトの順序関係に従って発話されたか否かを考慮して利用頻度を算出する(重み付けする)ことも可能である。
【0107】
例えば、類似度情報71の各エントリ(発話されたブロックIDと類似するトークスクリプトのスクリプトIDとの組み合わせ)を、図16に示すように、発話されたブロックIDの昇順でソートする。このとき、スクリプトIDも昇順に並んでいるエントリについては、定義されたトークスクリプトの順序関係に従ってオペレータにより発話されていると判断し、例えば、利用頻度を算出する際に値が大きくなるよう所定の重み付けを行ってもよい。
【0108】
また、図14の例では、例えば“負担軽減の提案”の後などでは条件(顧客側の発話内容)に応じて利用するトークスクリプトが分岐するように定義されているが、利用頻度の分母は全て同じ値(対象の業務が行われた回数)となっている。従って、図14の例では、実際の業務における応対の分岐状況を把握することができない。すなわち、対象のトークスクリプトにおいて分子の値が分母の値に満たない分については、当該トークスクリプトに分岐したがこれに従った発話をしなかったのか、そもそも当該トークスクリプトに分岐しなかったのかを把握することができない。
【0109】
これに対しては、例えば、発話された各ブロックについて、談話データ101から直前の相手方(顧客)の発話内容を取得して、キーワードとのマッチングなどの解析により分岐先を判定し、分岐先のトークスクリプトのみに分母の値を加算することによって、正確な分岐状況(分母の値)を把握することができる。
【0110】
また、実際の対応においては、複数の業務が混在して行われる場合がある。例えば、図17に示すように、“解約”の業務において“住所変更”の業務が合わせて行われる場合などがある。これらの状況についても解析可能とするため、複数の業務間でのトークスクリプトの連携利用の状況についても把握することが必要となる場合がある。
【0111】
これに対しては、例えば、図15に示した利用状況算出処理において、ステップS503〜S506で、発話された各ブロックについて各トークスクリプトとの類似度を算出する際に、対象の業務を含む全ての業務のトークスクリプトを対象として類似度を算出する。これにより、対象のブロックがどの業務のトークスクリプトに従って発話されているかを把握することができる。このとき、談話データ101から対象のブロックの前後のブロックを参照することで、どのような状況や流れでこれらのトークスクリプトが利用されたのかを把握することができる。これにより、例えば、“解約”の業務の“本人確認”の際に“住所変更”の受付がよく行われるというような連携利用の状況を把握することができ、トークスクリプトの全体的な構成を組み直して最適化するためのヒントとすることが可能である。
【0112】
以上に説明したように、本発明の一実施の形態であるトークスクリプト利用状況算出システム1によれば、簡約された談話データ101の各ブロックと、トークスクリプト72内の各トークスクリプトとの表現上の類似度を算出することで、オペレータの発話がいずれのトークスクリプトに最も類似するかを判定する。この情報と、トークスクリプト72の定義情報とに基づいて、各業務における各トークスクリプトの実際の利用状況(トークスクリプトに従って発話された頻度)を算出し、グラフ等に可視化することができる。これにより、スーパーバイザーがコールセンター業務におけるオペレータの応対状況やトークスクリプトの利用状況の現状を容易かつ的確に把握することが可能となる。
【0113】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0114】
本発明は、音声認識処理により得られた談話データの構造を解析した結果から、各業務におけるトークスクリプトの利用状況を算出するトークスクリプト利用状況算出システムおよびトークスクリプト利用状況算出プログラムに利用可能である。
【符号の説明】
【0115】
1…トークスクリプト利用状況算出システム、2…談話構造解析システム、3…音声認識エンジン、
10…前処理部、
20…フロー解析部、21…フロー情報、22…フロー解析ルール、
30…形態素解析部、31…形態素情報、
40…固有表現解析部、41…固有表現情報、42…固有表現解析ルール、
50…結束性解析部、51…結束性情報、
60…談話簡約部、61…簡約情報、
70…類似度算出部、71…類似度情報、72…トークスクリプト、
80…利用状況算出部、
100、101…談話データ、200…談話セマンティクス、300…利用状況。
【特許請求の範囲】
【請求項1】
オペレータによるトークスクリプトを参照した応対業務における談話の内容が音声認識処理によってテキスト化された談話データ、および前記談話データにおける談話の構造の解析結果である、談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、談話におけるトークスクリプトの利用状況を算出するトークスクリプト利用状況算出システムであって、
前記談話セマンティクスは、前記談話データにおいて不要表現に該当しないステートメント、およびこれらのステートメントについて発話者毎の1以上の連続したステートメントから構成されるブロックについての情報を示す簡約情報を含み、
オペレータによる応対業務の際に参照される1つ以上のトークスクリプトについての定義情報と、
前記簡約情報に基づいて簡約された前記談話データにおけるブロックを単位として、ブロックに含まれるテキストと各トークスクリプトのテキストとの間の表現上の類似度を算出し、ブロックに最も類似するトークスクリプトを取得して類似度情報として出力する類似度算出部と、
トークスクリプトの利用状況を算出する対象の応対業務について定義されているトークスクリプト毎に、前記類似度情報に基づいて、簡約された前記談話データにおける各ブロックのうち、最も類似するものが当該トークスクリプトであり、かつ前記類似度が所定の閾値より高いブロックの数を算出し、対象の応対業務が行われた数に対する前記ブロックの数の割合からなる利用頻度を算出して、各トークスクリプトについての前記利用頻度の情報を、前記利用状況として出力する利用状況算出部とを有することを特徴とするトークスクリプト利用状況算出システム。
【請求項2】
請求項1に記載のトークスクリプト利用状況算出システムにおいて、
前記利用状況算出部は、トークスクリプトについての前記定義情報に基づいて、対象の応対業務について定義されている各トークスクリプトをノードとしてグラフ表示し、前記各ノードに対応するトークスクリプトについての前記利用頻度の値に応じて、前記利用頻度の値が高いほど前記ノードを強調表示するよう調節することを特徴とするトークスクリプト利用状況算出システム。
【請求項3】
請求項1または2に記載のトークスクリプト利用状況算出システムにおいて、
前記利用状況算出部は、第1のトークスクリプトの前記利用頻度を算出するに際して、簡約された前記談話データにおける各ブロックのうち、最も類似するものが前記第1のトークスクリプトであり、かつ前記類似度が所定の閾値より高いブロックの数を算出する際に、対象のブロックが含まれる談話におけるオペレータの発話による直前のブロックが最も類似する第2のトークスクリプトと、前記第1のトークスクリプトとの順序関係が、トークスクリプトについての前記定義情報において定義されている順序関係と合致する場合には、当該ブロックの数に所定の重み付けを行って前記利用頻度を算出することを特徴とするトークスクリプト利用状況算出システム。
【請求項4】
請求項1〜3のいずれか1項に記載のトークスクリプト利用状況算出システムにおいて、
前記利用状況算出部は、各トークスクリプトの前記利用頻度を算出するに際して、条件に応じて分岐する分岐先の各トークスクリプトに係る対象の応対業務が行われた数を算出する際に、簡約された前記談話データにおける各ブロックのうち、最も類似するものが当該分岐先のトークスクリプトであるブロックについて、当該ブロックが含まれる談話における相手方の発話による直前のブロックの内容から前記条件を判断して分岐先のトークスクリプトを判定し、当該談話については当該分岐先のトークスクリプトにのみ、対象の応対業務が行われた数を加算することを特徴とするトークスクリプト利用状況算出システム。
【請求項5】
請求項1〜4のいずれか1項に記載のトークスクリプト利用状況算出システムにおいて、
前記類似度算出部は、簡約された前記談話データにおける各ブロックについて、対象の応対業務以外の応対業務について定義されているトークスクリプトも含めて前記類似度を算出し、最も類似するトークスクリプトを取得することを特徴とするトークスクリプト利用状況算出システム。
【請求項6】
請求項1〜5のいずれか1項に記載のトークスクリプト利用状況算出システムにおいて、
前記談話セマンティクスは、前記談話データ内の各ステートメントを形態素に分割して品詞を判別した形態素列の情報を含む形態素情報を含み、
前記類似度算出部は、前記形態素情報に基づいて、簡約された前記談話データにおけるブロックに含まれるテキストと前記各参照情報のテキストとの間の単語の最長共通部分列を求めることにより、表現上の類似度を算出することを特徴とするトークスクリプト利用状況算出システム。
【請求項7】
請求項6に記載のトークスクリプト利用状況算出システムにおいて、
前記類似度算出部は、前記最長共通部分列を求める際に、簡約された前記談話データにおけるブロックに含まれるテキストについては、動詞、名詞および形容詞のみを用い、動詞および形容詞については原形を用いることを特徴とするトークスクリプト利用状況算出システム。
【請求項8】
請求項1〜7のいずれか1項に記載のトークスクリプト利用状況算出システムにおいて、
トークスクリプトにはFAQが含まれることを特徴とするトークスクリプト利用状況算出システム。
【請求項9】
オペレータによるトークスクリプトを参照した応対業務における談話の内容が音声認識処理によってテキスト化された談話データ、および前記談話データにおける談話の構造の解析結果である、談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、談話におけるトークスクリプトの利用状況を算出するトークスクリプト利用状況算出システムとしてコンピュータを機能させるトークスクリプト利用状況算出プログラムであって、
前記談話セマンティクスは、前記談話データにおいて不要表現に該当しないステートメント、およびこれらのステートメントについて発話者毎の1以上の連続したステートメントから構成されるブロックについての情報を示す簡約情報を含み、
オペレータによる応対業務の際に参照される1つ以上のトークスクリプトについての定義情報を有し、
前記簡約情報に基づいて簡約された前記談話データにおけるブロックを単位として、ブロックに含まれるテキストと各トークスクリプトのテキストとの間の表現上の類似度を算出し、ブロックに最も類似するトークスクリプトを取得して類似度情報として出力する類似度算出処理と、
トークスクリプトの利用状況を算出する対象の応対業務について定義されているトークスクリプト毎に、前記類似度情報に基づいて、簡約された前記談話データにおける各ブロックのうち、最も類似するものが当該トークスクリプトであり、かつ前記類似度が所定の閾値より高いブロックの数を算出し、対象の応対業務が行われた数に対する前記ブロックの数の割合からなる利用頻度を算出して、各トークスクリプトについての前記利用頻度の情報を、前記利用状況として出力する利用状況算出処理とを実行することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項10】
請求項9に記載のトークスクリプト利用状況算出プログラムにおいて、
前記利用状況算出処理は、トークスクリプトについての前記定義情報に基づいて、対象の応対業務について定義されている各トークスクリプトをノードとしてグラフ表示し、前記各ノードに対応するトークスクリプトについての前記利用頻度の値に応じて、前記利用頻度の値が高いほど前記ノードを強調表示するよう調節することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項11】
請求項9または10に記載のトークスクリプト利用状況算出プログラムにおいて、
前記利用状況算出処理は、第1のトークスクリプトの前記利用頻度を算出するに際して、簡約された前記談話データにおける各ブロックのうち、最も類似するものが前記第1のトークスクリプトであり、かつ前記類似度が所定の閾値より高いブロックの数を算出する際に、対象のブロックが含まれる談話におけるオペレータの発話による直前のブロックが最も類似する第2のトークスクリプトと、前記第1のトークスクリプトとの順序関係が、トークスクリプトについての前記定義情報において定義されている順序関係と合致する場合には、当該ブロックの数に所定の重み付けを行って前記利用頻度を算出することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項12】
請求項9〜11のいずれか1項に記載のトークスクリプト利用状況算出プログラムにおいて、
前記利用状況算出処理は、各トークスクリプトの前記利用頻度を算出するに際して、条件に応じて分岐する分岐先の各トークスクリプトに係る対象の応対業務が行われた数を算出する際に、簡約された前記談話データにおける各ブロックのうち、最も類似するものが当該分岐先のトークスクリプトであるブロックについて、当該ブロックが含まれる談話における相手方の発話による直前のブロックの内容から前記条件を判断して分岐先のトークスクリプトを判定し、当該談話については当該分岐先のトークスクリプトにのみ、対象の応対業務が行われた数を加算することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項13】
請求項9〜12のいずれか1項に記載のトークスクリプト利用状況算出プログラムにおいて、
前記類似度算出処理は、簡約された前記談話データにおける各ブロックについて、対象の応対業務以外の応対業務について定義されているトークスクリプトも含めて前記類似度を算出し、最も類似するトークスクリプトを取得することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項14】
請求項9〜13のいずれか1項に記載のトークスクリプト利用状況算出プログラムにおいて、
前記談話セマンティクスは、前記談話データ内の各ステートメントを形態素に分割して品詞を判別した形態素列の情報を含む形態素情報を含み、
前記類似度算出処理は、前記形態素情報に基づいて、簡約された前記談話データにおけるブロックに含まれるテキストと前記各参照情報のテキストとの間の単語の最長共通部分列を求めることにより、表現上の類似度を算出することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項15】
請求項14に記載のトークスクリプト利用状況算出プログラムにおいて、
前記類似度算出処理は、前記最長共通部分列を求める際に、簡約された前記談話データにおけるブロックに含まれるテキストについては、動詞、名詞および形容詞のみを用い、動詞および形容詞については原形を用いることを特徴とするトークスクリプト利用状況算出プログラム。
【請求項16】
請求項9〜15のいずれか1項に記載のトークスクリプト利用状況算出プログラムにおいて、
トークスクリプトにはFAQが含まれることを特徴とするトークスクリプト利用状況算出プログラム。
【請求項1】
オペレータによるトークスクリプトを参照した応対業務における談話の内容が音声認識処理によってテキスト化された談話データ、および前記談話データにおける談話の構造の解析結果である、談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、談話におけるトークスクリプトの利用状況を算出するトークスクリプト利用状況算出システムであって、
前記談話セマンティクスは、前記談話データにおいて不要表現に該当しないステートメント、およびこれらのステートメントについて発話者毎の1以上の連続したステートメントから構成されるブロックについての情報を示す簡約情報を含み、
オペレータによる応対業務の際に参照される1つ以上のトークスクリプトについての定義情報と、
前記簡約情報に基づいて簡約された前記談話データにおけるブロックを単位として、ブロックに含まれるテキストと各トークスクリプトのテキストとの間の表現上の類似度を算出し、ブロックに最も類似するトークスクリプトを取得して類似度情報として出力する類似度算出部と、
トークスクリプトの利用状況を算出する対象の応対業務について定義されているトークスクリプト毎に、前記類似度情報に基づいて、簡約された前記談話データにおける各ブロックのうち、最も類似するものが当該トークスクリプトであり、かつ前記類似度が所定の閾値より高いブロックの数を算出し、対象の応対業務が行われた数に対する前記ブロックの数の割合からなる利用頻度を算出して、各トークスクリプトについての前記利用頻度の情報を、前記利用状況として出力する利用状況算出部とを有することを特徴とするトークスクリプト利用状況算出システム。
【請求項2】
請求項1に記載のトークスクリプト利用状況算出システムにおいて、
前記利用状況算出部は、トークスクリプトについての前記定義情報に基づいて、対象の応対業務について定義されている各トークスクリプトをノードとしてグラフ表示し、前記各ノードに対応するトークスクリプトについての前記利用頻度の値に応じて、前記利用頻度の値が高いほど前記ノードを強調表示するよう調節することを特徴とするトークスクリプト利用状況算出システム。
【請求項3】
請求項1または2に記載のトークスクリプト利用状況算出システムにおいて、
前記利用状況算出部は、第1のトークスクリプトの前記利用頻度を算出するに際して、簡約された前記談話データにおける各ブロックのうち、最も類似するものが前記第1のトークスクリプトであり、かつ前記類似度が所定の閾値より高いブロックの数を算出する際に、対象のブロックが含まれる談話におけるオペレータの発話による直前のブロックが最も類似する第2のトークスクリプトと、前記第1のトークスクリプトとの順序関係が、トークスクリプトについての前記定義情報において定義されている順序関係と合致する場合には、当該ブロックの数に所定の重み付けを行って前記利用頻度を算出することを特徴とするトークスクリプト利用状況算出システム。
【請求項4】
請求項1〜3のいずれか1項に記載のトークスクリプト利用状況算出システムにおいて、
前記利用状況算出部は、各トークスクリプトの前記利用頻度を算出するに際して、条件に応じて分岐する分岐先の各トークスクリプトに係る対象の応対業務が行われた数を算出する際に、簡約された前記談話データにおける各ブロックのうち、最も類似するものが当該分岐先のトークスクリプトであるブロックについて、当該ブロックが含まれる談話における相手方の発話による直前のブロックの内容から前記条件を判断して分岐先のトークスクリプトを判定し、当該談話については当該分岐先のトークスクリプトにのみ、対象の応対業務が行われた数を加算することを特徴とするトークスクリプト利用状況算出システム。
【請求項5】
請求項1〜4のいずれか1項に記載のトークスクリプト利用状況算出システムにおいて、
前記類似度算出部は、簡約された前記談話データにおける各ブロックについて、対象の応対業務以外の応対業務について定義されているトークスクリプトも含めて前記類似度を算出し、最も類似するトークスクリプトを取得することを特徴とするトークスクリプト利用状況算出システム。
【請求項6】
請求項1〜5のいずれか1項に記載のトークスクリプト利用状況算出システムにおいて、
前記談話セマンティクスは、前記談話データ内の各ステートメントを形態素に分割して品詞を判別した形態素列の情報を含む形態素情報を含み、
前記類似度算出部は、前記形態素情報に基づいて、簡約された前記談話データにおけるブロックに含まれるテキストと前記各参照情報のテキストとの間の単語の最長共通部分列を求めることにより、表現上の類似度を算出することを特徴とするトークスクリプト利用状況算出システム。
【請求項7】
請求項6に記載のトークスクリプト利用状況算出システムにおいて、
前記類似度算出部は、前記最長共通部分列を求める際に、簡約された前記談話データにおけるブロックに含まれるテキストについては、動詞、名詞および形容詞のみを用い、動詞および形容詞については原形を用いることを特徴とするトークスクリプト利用状況算出システム。
【請求項8】
請求項1〜7のいずれか1項に記載のトークスクリプト利用状況算出システムにおいて、
トークスクリプトにはFAQが含まれることを特徴とするトークスクリプト利用状況算出システム。
【請求項9】
オペレータによるトークスクリプトを参照した応対業務における談話の内容が音声認識処理によってテキスト化された談話データ、および前記談話データにおける談話の構造の解析結果である、談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、談話におけるトークスクリプトの利用状況を算出するトークスクリプト利用状況算出システムとしてコンピュータを機能させるトークスクリプト利用状況算出プログラムであって、
前記談話セマンティクスは、前記談話データにおいて不要表現に該当しないステートメント、およびこれらのステートメントについて発話者毎の1以上の連続したステートメントから構成されるブロックについての情報を示す簡約情報を含み、
オペレータによる応対業務の際に参照される1つ以上のトークスクリプトについての定義情報を有し、
前記簡約情報に基づいて簡約された前記談話データにおけるブロックを単位として、ブロックに含まれるテキストと各トークスクリプトのテキストとの間の表現上の類似度を算出し、ブロックに最も類似するトークスクリプトを取得して類似度情報として出力する類似度算出処理と、
トークスクリプトの利用状況を算出する対象の応対業務について定義されているトークスクリプト毎に、前記類似度情報に基づいて、簡約された前記談話データにおける各ブロックのうち、最も類似するものが当該トークスクリプトであり、かつ前記類似度が所定の閾値より高いブロックの数を算出し、対象の応対業務が行われた数に対する前記ブロックの数の割合からなる利用頻度を算出して、各トークスクリプトについての前記利用頻度の情報を、前記利用状況として出力する利用状況算出処理とを実行することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項10】
請求項9に記載のトークスクリプト利用状況算出プログラムにおいて、
前記利用状況算出処理は、トークスクリプトについての前記定義情報に基づいて、対象の応対業務について定義されている各トークスクリプトをノードとしてグラフ表示し、前記各ノードに対応するトークスクリプトについての前記利用頻度の値に応じて、前記利用頻度の値が高いほど前記ノードを強調表示するよう調節することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項11】
請求項9または10に記載のトークスクリプト利用状況算出プログラムにおいて、
前記利用状況算出処理は、第1のトークスクリプトの前記利用頻度を算出するに際して、簡約された前記談話データにおける各ブロックのうち、最も類似するものが前記第1のトークスクリプトであり、かつ前記類似度が所定の閾値より高いブロックの数を算出する際に、対象のブロックが含まれる談話におけるオペレータの発話による直前のブロックが最も類似する第2のトークスクリプトと、前記第1のトークスクリプトとの順序関係が、トークスクリプトについての前記定義情報において定義されている順序関係と合致する場合には、当該ブロックの数に所定の重み付けを行って前記利用頻度を算出することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項12】
請求項9〜11のいずれか1項に記載のトークスクリプト利用状況算出プログラムにおいて、
前記利用状況算出処理は、各トークスクリプトの前記利用頻度を算出するに際して、条件に応じて分岐する分岐先の各トークスクリプトに係る対象の応対業務が行われた数を算出する際に、簡約された前記談話データにおける各ブロックのうち、最も類似するものが当該分岐先のトークスクリプトであるブロックについて、当該ブロックが含まれる談話における相手方の発話による直前のブロックの内容から前記条件を判断して分岐先のトークスクリプトを判定し、当該談話については当該分岐先のトークスクリプトにのみ、対象の応対業務が行われた数を加算することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項13】
請求項9〜12のいずれか1項に記載のトークスクリプト利用状況算出プログラムにおいて、
前記類似度算出処理は、簡約された前記談話データにおける各ブロックについて、対象の応対業務以外の応対業務について定義されているトークスクリプトも含めて前記類似度を算出し、最も類似するトークスクリプトを取得することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項14】
請求項9〜13のいずれか1項に記載のトークスクリプト利用状況算出プログラムにおいて、
前記談話セマンティクスは、前記談話データ内の各ステートメントを形態素に分割して品詞を判別した形態素列の情報を含む形態素情報を含み、
前記類似度算出処理は、前記形態素情報に基づいて、簡約された前記談話データにおけるブロックに含まれるテキストと前記各参照情報のテキストとの間の単語の最長共通部分列を求めることにより、表現上の類似度を算出することを特徴とするトークスクリプト利用状況算出プログラム。
【請求項15】
請求項14に記載のトークスクリプト利用状況算出プログラムにおいて、
前記類似度算出処理は、前記最長共通部分列を求める際に、簡約された前記談話データにおけるブロックに含まれるテキストについては、動詞、名詞および形容詞のみを用い、動詞および形容詞については原形を用いることを特徴とするトークスクリプト利用状況算出プログラム。
【請求項16】
請求項9〜15のいずれか1項に記載のトークスクリプト利用状況算出プログラムにおいて、
トークスクリプトにはFAQが含まれることを特徴とするトークスクリプト利用状況算出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図15】
【図16】
【図17】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図15】
【図16】
【図17】
【図14】
【公開番号】特開2012−3702(P2012−3702A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−140673(P2010−140673)
【出願日】平成22年6月21日(2010.6.21)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願日】平成22年6月21日(2010.6.21)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】
[ Back to top ]