FAQ候補抽出システムおよびFAQ候補抽出プログラム
【課題】談話データの特性に強く、文章構造の枠組みを規定せずに談話セマンティックに基づいて談話データからFAQの候補となる質問文を抽出するFAQ候補抽出システムを提供する。
【解決手段】談話データ101および談話セマンティクス200を入力とし、談話データ101からFAQ候補となる質問文を抽出して出力するFAQ候補抽出システム1であって、談話セマンティクス200は各ステートメントのフロー情報21を含み、談話データ101から、顧客によって発話され、質問文もしくは要求文であることを示すフローが設定された質問・要求ステートメントを抽出する質問抽出部60と、質問・要求ステートメントから指定されたキーワードを含むものを抽出する候補抽出部80と、質問・要求ステートメントについてクラスタリングし、各クラスタの代表となる質問・要求ステートメントをFAQ候補300として出力するクラスタリング部90とを有する。
【解決手段】談話データ101および談話セマンティクス200を入力とし、談話データ101からFAQ候補となる質問文を抽出して出力するFAQ候補抽出システム1であって、談話セマンティクス200は各ステートメントのフロー情報21を含み、談話データ101から、顧客によって発話され、質問文もしくは要求文であることを示すフローが設定された質問・要求ステートメントを抽出する質問抽出部60と、質問・要求ステートメントから指定されたキーワードを含むものを抽出する候補抽出部80と、質問・要求ステートメントについてクラスタリングし、各クラスタの代表となる質問・要求ステートメントをFAQ候補300として出力するクラスタリング部90とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然言語処理の技術に関し、特に、音声認識処理により得られた談話データの構造を解析した結果からFAQ(Frequently Asked Questions)の候補を抽出するFAQ候補抽出システムおよびFAQ候補抽出プログラムに適用して有効な技術に関するものである。
【背景技術】
【0002】
例えば、コールセンター業務において、オペレータやコミュニケータは、電話応対後に応対記録を作成して応対管理システム等へ保存するという一連の業務を行う必要がある。このとき、オペレータ等は、自身の記憶を頼りにして応対記録を作成するため作成に時間がかかるという問題がある。
【0003】
また、各オペレータ等のスキルに応じて品質(内容、統一性、網羅性、簡潔性等)にバラツキが生じる。このように応対記録の品質にバラツキがあったり品質が低かったりすることにより、顧客の声を正確に把握することができなかったり、応対記録の蓄積からテキストマイニング等の技術を利用して新たな知見を得るというようなことができなかったりなどの問題も生じる。
【0004】
このような問題を解決するため、音声認識の技術を活用した解決策が検討されている。音声認識の技術によって応対の音声情報をテキスト化して保存することにより、応対記録の網羅性を確保することができる。また、テキスト化したデータに対して自然言語処理の技術を適用して内容を要約することで応対記録を自動作成することも可能であり、応対記録作成にかかるコストを削減して、統一性、簡潔性を確保することで応対記録の活用性を向上させることも可能と考えられる。
【0005】
このような技術として、例えば、非特許文献1には、コールセンターにおける音声対話において、音声データをテキスト化し、過去の対話内容とその営業日報から帰納的学習により再帰的に規則獲得を行い、それらの規則を用いて未知の対話内容に対して重要箇所を決定・抽出し、文体変換を行うことで営業日報を自動生成する技術が記載されている。
【0006】
一方で、テキスト化した音声データの蓄積からテキストマイニング等による分析などにより新たな知見を得る技術としては、音声データの対話の種類により種々のものが想定されるが、例えば、上述したコールセンターにおける電話応対の内容からは、よく行われる質問を自動的に抽出し、これに対する回答を用意することでFAQ(Frequently Asked Questions)の作成を効率的・効果的に行うという技術が想定される。
【0007】
従来では、予め質問と回答に分類されて蓄積されたデータの集合からFAQとすべき質問−回答対を抽出することは行われていた。また、応対記録のテキストデータなどから、特定のパターンや抽出したパターンとのマッチングと統計的な処理によって、よく行われる質問や回答を抽出するということも行われている。例えば、特開2001−134575号公報(特許文献1)には、大量のテキストデータについて、これらを構文解析したデータ構造の集合から出現頻度が高い重要なパターンを検出することでFAQの自動作成を可能とする技術が記載されている。
【0008】
さらに、例えば非特許文献2には、近年増えてきたクローズドキャプション付きのテレビ番組を対象として、テレビ番組内のクローズドキャプションの中から、CRF(Conditional Random Fields)を用いて質問文を同定し、これに対応する解答文の中心を推定し、さらにCRFを用いて解答文の導入・補足となる情報も合わせて同定することにより、質問−解答対を抽出する技術が記載されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2001−134575号公報
【非特許文献】
【0010】
【非特許文献1】矢野純司、荒木健治、“コールセンターにおける音声対話を対象とした帰納的学習を用いた営業日報生成手法の性能評価”、情報処理学会研究報告 2007−NL−178、2007年3月28日、p.21−28
【非特許文献2】河野将弘、他6名、“CRFを用いたテレビ番組クローズドキャプションからの質問−解答対自動抽出”、言語処理学会第14回年次大会 発表論文集、2008年3月20日、p.915−918
【発明の概要】
【発明が解決しようとする課題】
【0011】
人の談話を音声認識によりテキスト化したデータ(以下では「談話データ」と記載する場合がある)を活用する場合、談話データ内の文章は通常は話し言葉で記録されているため、正しい文法に則った日本語文や、書き言葉を前提とした既存の自然言語処理の技術ではうまく対応できない場合がある。また、現状の音声認識エンジンの精度では認識ミスを排除することはできず、誤認識による誤字・脱字などのノイズが多い。従って、談話データについて自然言語処理を利用して解析し、有効活用するのは困難である。
【0012】
一方、テキスト化した音声データの蓄積からFAQの候補となるような質問文といった新たな知見を得るためには、例えば、特許文献1等の技術のような、パターンの抽出とマッチングおよび統計的な処理によって、頻出する質問や回答を抽出するということが考えられる。しかし、これらの技術は、単語や構文パターン等の出現頻度などの情報に基づくものであって、談話データの各文章の意味内容(単に特定の表現パターンを有するというだけではなく、過去の文章からの流れ・展開も考慮した上で判断される意味)を考慮したものではない。従って、データの内容によっては、例えば質問に相当する文章のみを精度よく効率的に抽出するというようなことは十分に行えない場合も想定される。
【0013】
また、上述の非特許文献2の技術では、テレビ番組のクローズドキャプションから質問−回答対を抽出することができるが、ここでは、対象のクローズドキャプションの内容はスキーマにアノテーションされる、すなわち、あらかじめ規定された文章構造の枠組みに当てはめられ、これに基づいて質問と回答の抽出を行うものである。しかしながら、例えば、コールセンターにおける電話応対をテキスト化したデータなど、決められた文章構造の枠組みやスキーマに当てはめることができない、もしくは困難であるような談話データから質問文を特定して抽出することは、非特許文献2のような技術では困難である。
【0014】
そこで本発明の目的は、話し言葉やノイズといった談話データの特性に強く、談話の文章構造の枠組みを規定せずに、談話データの構造を解析した結果から得られる意味内容に係る情報に基づいて、談話データからFAQの候補となる質問文を抽出するFAQ候補抽出システムおよびFAQ候補抽出プログラムを提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0015】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0016】
本発明の代表的な実施の形態によるFAQ候補抽出システムは、音声認識処理によって談話の内容がテキスト化された談話データ、および前記談話データにおける前記談話の構造の解析結果である、前記談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、前記談話データからFAQ候補となる質問文を抽出して出力するFAQ候補抽出システムであって、以下の特徴を有するものである。
【0017】
すなわち、FAQ候補抽出システムにおいて、前記談話セマンティクスは、前記談話データにおける各ステートメントの意味内容を示すフローの情報を含むフロー情報を含み、FAQ候補抽出システムは、前記談話データから、顧客によって発話され、前記談話セマンティクスの前記フロー情報において質問文もしくは要求文であることを示すフローが設定された質問・要求ステートメントを抽出する質問抽出部と、前記質問抽出部によって抽出された前記質問・要求ステートメントから、指定されたキーワードを含むものを抽出する候補抽出部と、前記候補抽出部によって抽出された前記質問・要求ステートメントについて、内容が同様のものにクラスタリングし、各クラスタの代表となる前記質問・要求ステートメントをFAQ候補として出力するクラスタリング部とを有することを特徴とするものである。
【0018】
また、本発明は、コンピュータを上記のようなFAQ候補抽出システムとして機能させるプログラムにも適用することができる。
【発明の効果】
【0019】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0020】
本発明の代表的な実施の形態によれば、話し言葉やノイズといった談話データの特性に強く、談話の文章構造の枠組みを規定せずに、談話データの構造を解析した結果から得られる意味内容に係る情報に基づいて、談話データからFAQの候補となる質問文を抽出することが可能となり、効率的・効果的なFAQの作成を支援することが可能となる。
【図面の簡単な説明】
【0021】
【図1】本発明の一実施の形態であるFAQ候補抽出システムの構成例の概要について示したブロック図である。
【図2】本発明の一実施の形態における談話構造解析システムの構成例の概要について示したブロック図である。
【図3】本発明の一実施の形態における談話の例および談話セマンティクスの概念について示した図である。
【図4】本発明の一実施の形態における談話データのフローとコンテキストの例について示した図である。
【図5】本発明の一実施の形態における談話構造解析システムのフロー解析ルールの例について示した図である。
【図6】本発明の一実施の形態における談話構造解析システムのフロー解析部でのフロー解析処理の流れの例を示したフローチャートである。
【図7】本発明の一実施の形態における談話構造解析システムの固有表現解析ルールの例について示した図である。
【図8】本発明の一実施の形態における談話構造解析システムの固有表現解析部での固有表現解析処理の流れの例を示したフローチャートである。
【図9】本発明の一実施の形態における談話構造解析システムでの結束性解析の例について示した図である。
【図10】本発明の一実施の形態における談話構造解析システムの結束性解析部での結束性解析処理の流れの例を示したフローチャートである。
【図11】本発明の一実施の形態における抽出したFAQ候補を表示する画面の例について示した図である。
【図12】本発明の一実施の形態におけるFAQ候補抽出システムでのFAQ候補抽出処理の流れの例を示したフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0023】
本発明の一実施の形態であるFAQ候補抽出システムは、話し言葉を含む談話データについての談話構造の解析結果である談話セマンティクス(談話全体の意味内容を把握するための談話構造に係る情報)に基づいて、談話データから顧客による質問に相当する文章を抽出し、単語の出現頻度に基づく重要度を算出する。さらに、既存のFAQにおける質問文を含めた集合から、指定されたキーワードを含む質問を抽出し、抽出された質問を同様のものにクラスタリングすることで、回答作成の優先度(重要度)が高い順に、回答の整備済/未済の情報を含んだFAQ候補として出力するシステムである。
【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の各部と、フロー解析ルール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による形態素解析は不要な場合がある。本実施の形態では、後述するFAQ候補抽出システムにおいて形態素情報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】
談話構造解析システム2による解析結果として出力される談話セマンティクス200は、上述したように、フロー情報21や、形態素情報31、固有表現情報41、結束性情報51を含んで構成される。このとき、単にこれらのデータの集合を談話セマンティクス200として取り扱ってもよいし、例えば、これらのデータをXMLを利用した1つのデータ構造に結合してもよい。
【0041】
[システム構成(FAQ候補抽出システム)]
図1は、本発明の一実施の形態であるFAQ候補抽出システムの構成例の概要について示したブロック図である。FAQ候補抽出システム1は、談話構造解析システム2と同様に、サーバやPC等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装される質問抽出部60、スコアリング部70、候補抽出部80およびクラスタリング部90の各部と、既存FAQ82のテーブルを有し、談話の内容がテキスト化された談話データ101と、談話データ101についての談話構造の解析結果である談話セマンティクス200の全部または一部(特にフロー情報21、および形態素情報31)とを入力として、談話データ101からFAQの候補となる質問文を抽出してFAQ候補300として出力するシステムである。
【0042】
なお、談話データ101は、上述した談話構造解析システム2の前処理部10によって前処理されたものと同等のもの、すなわち、例えば、話者毎に連続したステートメントがブロックとしてまとめられ、各ブロックおよび各ステートメントに順序を示すシーケンス番号(ID)が割り振られ、各ブロックの話者のデータが設定されている状態のものである。また、談話セマンティクス200は、例えば、上述した談話構造解析システム2等によって、談話データ101について談話構造(フロー、固有表現、結束性、および形態素)の解析が行われた結果として出力されたものである。
【0043】
なお、本実施の形態では、談話構造解析システム2によって出力された談話構造の解析結果をFAQ候補抽出システム1に入力する構成としているが、例えば、これらのシステムを1つのコンピュータシステム上に構成し、談話構造の解析処理からFAQ候補300の抽出までの処理を連続的に実行するようにしてもよい。
【0044】
FAQ候補抽出システム1の質問抽出部60は、談話データ101と、談話セマンティクス200のフロー情報21とに基づいて、談話データ101から顧客による質問のステートメントの抽出を行う機能を有する。スコアリング部70は、質問抽出部60によって抽出された各ステートメントについて、例えば、含まれる単語の出現頻度の情報に基づいて重要度を算出し、質問情報71を出力する機能を有する。質問情報71は、顧客による質問のステートメントもしくはステートメントIDと重要度とのリストの情報を保持する。
【0045】
候補抽出部80は、質問情報71に含まれる質問のステートメントに、既存FAQ82に保持されている既存のFAQの質問文を含めた集合から、キーワード81を含む質問のステートメントもしくは質問文を抽出する機能を有する。ここで、キーワード81は、ユーザからの入力によって指定されてもよいし、例えばFAQ候補抽出システム1や他のシステム等によって抽出された直近の急騰キーワード等を取得して指定するものでもよい。クラスタリング部90は、候補抽出部80によって抽出された質問のステートメントおよび質問文を同様のものにクラスタリングしてまとめ、各クラスタの代表となる質問のステートメント(既存のFAQの質問文ではないもの)について、スコアリング部70で算出した重要度の順にFAQ候補300として出力する機能を有する。
【0046】
本実施の形態では、上述したように、重要度が高いFAQ候補ほど回答を作成して整備すべき優先度が高いものとしている。また、FAQ候補が属するクラスタに、既存FAQ82に保持された質問文が存在する場合には、既存FAQ82に既に対応する回答文が登録されているため、当該FAQ候補については回答が整備済であるとして取り扱う。なお、FAQ候補抽出システム1の各部による処理の詳細については後述する。
【0047】
[フロー解析]
以下では、図2に示した談話構造解析システム2のフロー解析部20によるフロー解析の処理の詳細について説明する。図4は、談話データ100におけるフローとコンテキストの例について示した図である。本実施の形態では、コンテキストは談話の各ブロックに対して設定される。図4の例では、最初のブロック(話者:オペレータ)のコンテキストは“開始”であり、次のブロック(話者:顧客)およびその次のブロック(話者:オペレータ)はともに“陳述”となっている。
【0048】
図4の例に示すように、本実施の形態では、原則として、対象のブロックのコンテキストとして、異なる話者の直前のブロックの最後のステートメントに設定されたフローを設定する。なお、談話データ100の先頭のブロックについては直前のブロックがないため、コンテキストとして常に“開始”を設定するものとする。このようにコンテキストを判断することによって、同じ文言のステートメントであっても談話のコンテキストに沿ったフローの解析が可能となる。
【0049】
図5は、談話構造解析システム2のフロー解析ルール22の例について示した図である。フロー解析ルール22は、ファイルやデータベース等に保持されており、ステートメント中におけるフローを判断するための表現(以下では「フロー表現」と記載する場合がある)と、当該フロー表現とマッチする表現を有するステートメントに対してそのコンテキストに応じて設定するフローのパターン(以下では「フロー定義」と記載する場合がある)との対応について予め指定したリストを保持するテーブルである。
【0050】
図5の例に示すように、フロー表現は、フローを判断するための手掛かりとなる文字列の正規表現(例えば、“/はい。/”や“/ですか。/”)によって指定する。従って、フロー解析部20もしくは談話構造解析システム2は、例えば、既存の正規表現ライブラリなどを導入することにより正規表現に必要な処理を行うことができるようにしておく必要がある。
【0051】
なお、フロー表現として指定する文字列は、例えば、話し言葉において談話の流れ上特徴的となる文頭の挨拶、返事や、助詞、接続詞、文末表現などを指定するのが望ましく、これらを適用の優先度が高い順に指定する。優先度については、例えば、所定の条件により正規表現の複雑度を計算し、複雑度の降順で優先度を設定するようにしてもよい。なお、指定するフロー表現のパターンは、談話構造解析システム2が対象とする談話の種類(例えば、コールセンターでのやり取りや、企業における定例会議など)に応じて異なる場合がある。
【0052】
各フロー表現に対しては、例えば“flow”のラベルによって、フロー定義を指定する。フロー定義では、対象のステートメントのコンテキストと、当該ステートメントに設定するフロー(例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、コンテキストが“開始”の場合はフローとして“挨拶”を設定する)を指定する。“flow”のラベルによるフロー定義は、各フロー表現において想定されるコンテキストの種類に応じて複数指定することができる。
【0053】
また、例えば“default”のラベルによって、対象のステートメントのコンテキストがいずれの“flow”のラベルにも該当しなかった場合に設定するフローであるデフォルトフロー(例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、当該ステートメントのコンテキストがいずれの“flow”のラベルにもマッチしない場合はフローとして“相槌”を設定する)を指定する。なお、デフォルトフローは、各フロー表現において必ず1つ設定するものとする。
【0054】
フロー定義の指定は、談話構造解析システム2が対象とする談話の種類に応じて、一般的な談話の流れのパターンとして主要なものを指定するのが望ましい。例えば、コールセンターでのやり取りにおいては、顧客が“苦情”を発した場合はオペレータは“謝罪”する、などのパターンに基づいて、フロー定義を指定することができる。
【0055】
フロー解析ルール22では、上述のように、指定するフロー表現や対応するフロー定義の内容が談話構造解析システム2が対象とする談話の種類に応じて異なる場合があるため、談話の種類に応じて適用するフロー解析ルール22を複数保持して、ユーザが切り換えられるようにするなど、談話の特性に応じて柔軟に対応することも可能である。
【0056】
なお、上述のように、本実施の形態では、フロー解析ルール22において品詞の指定は行っていない。すなわち、フロー解析部20においては品詞の判断を行わないため、フロー解析部20での解析処理に際して、事前に形態素解析部30による形態素解析を行う必要はない。なお、より精度を上げるために形態素情報31を利用して、例えば、フロー解析ルール22のフロー表現における正規表現を、後述するように形態素情報31の形態素列(品詞の情報も含む)に対して適用するようにして、より詳細な条件でマッチングを行うようすることも可能である。
【0057】
図6は、談話構造解析システム2のフロー解析部20におけるフロー解析処理の流れの例を示したフローチャートである。フロー解析部20は、フロー解析処理を開始すると、まず、前処理部10による前処理後の談話データ100の各ステートメントについて処理を繰り返すループ処理を開始する(S101)。各ステートメントについてのループ処理を開始すると、フロー解析ルール22の各フロー表現について処理を繰り返すループ処理を開始する(S102)。
【0058】
各フロー表現についてのループ処理を開始すると、対象のステートメントと対象のフロー表現とがマッチするか否かを判定する(S103)。マッチしない場合は次のフロー表現の処理に移る(S108、S102)。一方、マッチする場合は、まず、対象のステートメントについて、当該ステートメントが属するブロックの直前のブロックにおける最終ステートメントに設定されているフローをコンテキストとして設定する(S104)。このとき、図4で示したように、当該ステートメントが属するブロックが談話データ100の最初のブロックである場合には、コンテキストに“開始”を設定する。
【0059】
次に、ステップS104で設定したコンテキストについて、対象のフロー表現におけるフロー定義の”flow”ラベルで指定されたコンテキストとマッチするものがあるか否かを判定する(S105)。マッチするものがある場合には、マッチするフロー定義におけるコンテキストに対応するフローを、対象のステートメントのフローとして設定する(S106)。一方、マッチするものがない場合は、デフォルトフローを対象のステートメントのフローとして設定する(S107)。その後、各フロー表現についてのループ処理を抜ける。
【0060】
各フロー表現についてのループ処理が終了すると、対象のステートメントにフローが設定されているか否かを判定する(S109)。フローが設定されている場合は何も行わず、また、フローが設定されていない場合は、対象のステートメントに“陳述”のフローを設定して(S110)、次のステートメントの処理に移る(S111、S101)。
【0061】
ここで、“陳述”のフローは、対象のステートメントについて、フロー解析ルール22に指定されたフロー表現にマッチする文言を含まない場合に設定されるものである。すなわち、談話の枠組みの中における所定のパターンや定型的なパターン等に該当するステートメント(フロー表現を含むステートメント)ではなく、一般的に談話に固有の事項について具体的な内容を述べているステートメントであると考えられる。
【0062】
各ステートメントについてのループ処理が全て終了した場合は、各ステートメントの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】
ここで、質問ステートメントは、談話構造解析システム1のフロー解析部20において、相手の話者に対する質問文を示すフロー表現を有するものとして特定されたステートメントである。質問ステートメントを特定するフロー表現としては、例えば、“/ですか。/”や”/よね。/”などの疑問文の文末表現などが考えられる。
【0079】
セグメントを分割した後、セグメントの統合処理を行う。統合処理では、各セグメントについて予め定められた統合条件に該当する質問ステートメントを有する場合に、当該質問ステートメントを有するセグメントを直前のセグメントと統合する。ここで、統合条件は、当該質問ステートメントを有するセグメントについて以前のセグメントから内容が継続している(以前のセグメントと結束性が高い)と推測させる表現の指定である。
【0080】
統合条件としては、例えば、当該質問ステートメントについて、直前の質問ステートメントと共通する単語(固有名詞)がある場合や、指示詞を含む場合などが挙げられる。これらの統合条件に該当する質問ステートメントを有するセグメントは以前のセグメントと結束性が高いと判断し、図9の下段の図に示すように、直前のセグメントと統合する。なお、統合処理については、統合可能なセグメントがなくなるまで繰り返すものとする。
【0081】
図10は、談話構造解析システム2の結束性解析部50における結束性解析処理の流れの例を示したフローチャートである。結束性解析部50は、結束性解析処理を開始すると、まず、談話データ100の全てのブロックを1つのセグメントに設定する(S301)。具体的には、例えば、全てのブロックにセグメントIDの初期値を割り当てるなどによって設定する。その後、セグメントの分割処理として、談話データ100の各ブロックについて処理を繰り返すループ処理を開始する(S302)。
【0082】
各ブロックについてのループ処理を開始すると、対象のブロックに質問ステートメントが含まれているか否か(フローが“質問”のステートメントがあるか否か)を判定する(S303)。質問ステートメントが含まれている場合は、対象のブロックと直前のブロックとの間でセグメントを分割する(S304)。具体的には、例えば、対象のブロック以降の全てのブロックに次のセグメントIDを割り当てるなどによって分割する。その後、次のブロックの処理に移る(S305、S302)。
【0083】
各ブロックについてのループ処理(分割処理)が終了した場合は、次に、セグメントの結合処理として、上記の分割処理で分割した各セグメントについて処理を繰り返すループ処理を開始する(S306)。各セグメントについてのループ処理を開始すると、対象のセグメントに上記の統合条件に該当する質問ステートメントがあるか否かを判定する(S307)。
【0084】
統合条件に該当する質問ステートメントがある場合は、対象のセグメントと直前のセグメントとを統合する(S308)。具体的には、例えば、対象のセグメントに含まれる各ブロックのセグメントIDを直前のセグメントのセグメントIDに更新するなどによって統合する。このとき、以降の各セグメントに含まれる各ブロックのセグメントIDを順次繰り上げてもよい。その後、次のセグメントの処理に移る(S309、S306)。各セグメントについてのループ処理(統合処理)が終了した場合は、各ブロックのIDと対応する(各ブロックが含まれる)セグメントのIDのリストの情報を結束性情報51として出力して、結束性解析処理を終了する。
【0085】
これにより、フロー解析によって得られたフロー情報21に基づいて談話データ100内の各ステートメントをセグメント化し、談話セマンティクス200を利用する種々のアプリケーションに対する有用な情報とすることができる。
【0086】
なお、上述のフロー解析、固有表現解析、結束性解析の各処理によって出力された談話セマンティクス200に含まれるフロー情報21、固有表現情報41、結束性情報51については、談話構造解析システム2において、ユーザが内容を参照して適宜修正することが可能なインタフェースを設けてもよい。
【0087】
[FAQ候補抽出]
以下では、図1に示したFAQ候補抽出システム1によるFAQ候補抽出の処理の詳細について説明する。図11は、FAQ候補抽出システム1によって抽出したFAQ候補300を表示する画面の例について示した図である。画面上部には、FAQ候補300を抽出する際の基準となるキーワードを指定する入力フィールドを有する。ここでユーザがキーワードを指定すると、FAQ候補抽出システム1によって、談話データ101内の顧客による質問に相当するステートメントおよび既存FAQ82内に保持された質問文から抽出されクラスタリングされたFAQ候補300の内容がリストとして表示される。
【0088】
図11の例では“XXX物件”や“契約書”などのキーワード毎に、抽出されクラスタリングされたFAQ候補300の内容が表示されている。このとき、既に既存FAQ82に登録されている同様の質問文が同じクラスタ内にあるFAQ候補については、対応する回答文が既存FAQ82に既に登録されているため“整備済”として表示される。一方、既存FAQ82にクラスタ内の同様の質問文が登録されていないFAQ候補については、対応する回答文が既存FAQ82に整備されていないため“未整備”として表示される。
【0089】
“未整備”のFAQ候補については、スーパバイザ等のユーザが回答を作成して整備する必要がある。そのため、例えば、各FAQ候補の文章部分に設定されているハイパーリンクを指示することにより、当該質問に対する回答を入力する画面(図示しない)に遷移し、回答を整備することができるようにする。なお、本実施の形態では、スコアリング部70によって算出された重要度の順に回答整備の優先度が高いものとして表示するようにしているが、例えば、“未整備”のものを優先的に上位に表示するなど、表示順は任意に設定することができる。
【0090】
また、図11の例では、各FAQ候補に“質問”もしくは“要求”のフローの情報が表示されている。本実施の形態では、FAQ候補300を抽出するにあたり、質問抽出部60は、談話データ101から顧客による質問に相当するステートメントを抽出する際に、談話セマンティクス200のフロー情報21においてフローが“質問”もしくは“要求”であるステートメント(以下では“質問・要求ステートメント”と記載する場合がある)を抽出するものとする。
【0091】
ここで、“要求”のフローは、談話構造解析システム1のフロー解析部20において、相手の話者に対する要求を示すフロー表現を有するステートメントに対して設定される。図5に示したフロー解析ルール22の例において、“要求”のフローに対応するフロー表現としては、例えば、“/したい/”、“/知りたい/”などの動作要求を表す表現などが考えられる。
【0092】
図12は、FAQ候補抽出システム1におけるFAQ候補抽出処理の流れの例を示したフローチャートである。FAQ候補抽出システム1は、FAQ候補抽出処理を開始すると、まず、質問抽出部60により、談話データ101と、談話セマンティクス200のフロー情報21とに基づいて、顧客の発話による質問・要求ステートメントを抽出する(S401)。すなわち、フローが“質問”もしくは“要求”であるステートメントを談話データ101から抽出する。
【0093】
次に、スコアリング部70により、ステップS401にて抽出された質問・要求ステートメントから、談話セマンティクス200の形態素情報31に基づいて単語を抽出し、抽出した単語毎に、当該単語が各質問・要求ステートメントに含まれる数をそれぞれ集計した情報(転置インデックス)を作成する(S402)。さらに、この転置インデックスに基づいて、各質問・要求ステートメントの重要度を算出し、各質問・要求ステートメントとその重要度の情報を質問情報71として出力する(S403)。
【0094】
重要度の算出の手法は特に限定されず、例えば一般的に行われる手法として、対象の質問・要求ステートメントに含まれる各単語についてTF−IDF(Term Frequency-Inverse Document Frequency)値を算出し、その平均値を対象の質問・要求ステートメントの重要度とする手法を用いることができる。また、例えばOkapi−BM25などの他のアルゴリズムを利用してもよい。
【0095】
次に、FAQ候補抽出システム1は、例えば図11に示した画面等を介して、ユーザからFAQ候補を抽出するためのキーワード81の入力を受け付ける(S404)。当該ステップはFAQ候補抽出処理の最初に行うようにしてもよい。また、ユーザからの入力ではなく、FAQ候補抽出システム1や他のシステムにおける公知技術を含む他の技術による解析によって、例えば、談話データ101内のステートメントや他のテキストデータから最近頻出している急騰キーワードを抽出し、これをキーワード81として利用してもよい。
【0096】
次に、候補抽出部80により、質問情報71に含まれる質問・要求ステートメントに、既存FAQ82に保持されている既存のFAQの質問文を含めた集合から、ステップS404で入力されたキーワードを含む質問・要求ステートメントもしくは質問文(以下では単に“質問・要求ステートメント”と総称する場合がある)を抽出する(S405)。ここでは、単純にキーワードマッチングにより質問・要求ステートメントを絞り込む。なお、本実施の形態では、既存FAQ82の質問文を含めた集合を抽出の対象としているが、質問情報71のみを対象として抽出するようにしてもよい。
【0097】
次に、クラスタリング部90により、ステップS405で抽出された質問・要求ステートメントを同様のものにクラスタリングしてまとめ、各クラスタの代表の質問・要求ステートメントをFAQ候補300として出力し(S406)、処理を終了する。なお、FAQ候補300の形式等については特に限定されず、XMLなどを利用したデータ構造や単純なテキスト形式など種々の形式とすることができる。
【0098】
また、ステップS406において、クラスタリングの手法は特に限定されず、例えば一般的に行われる手法として、ステップS402で作成された転置インデックスを利用して、各FAQ候補について含まれる単語の出現頻度に基づく単語ベクトルを作成し、ベクトル空間における単語ベクトル間の代数的な距離(類似度)に基づいて、K平均法などのアルゴリズムによりクラスタリングする手法を用いることができる。
【0099】
なお、各クラスタから代表となる質問・要求ステートメントを選択してFAQ候補とする際に、同一クラスタ内に質問情報71に含まれる質問・要求ステートメントと既存FAQ82に保持されている既存のFAQの質問文がともに含まれる場合は、質問情報71に含まれる質問・要求ステートメントの方から代表となる質問・要求ステートメントを選択するものとする。このとき、当該質問・要求ステートメントについては、既存FAQ82に対応する回答文が整備されているものと取り扱い、例えばその旨(同一クラスタ内に既存FAQ82に保持されている質問文が属する、すなわち回答が整備済である)のフラグを設定するなど識別可能なように出力する。
【0100】
また、FAQ候補300の出力に際しては、上述したように、ステップS403で算出した重要度が高いFAQ候補ほど回答を作成して整備すべき優先度が高いものとして上位にランキングして出力してもよい。出力されたFAQ候補300の内容は、例えば、図11に示したような画面で表示される。
【0101】
以上に説明したように、本実施の形態のFAQ候補抽出システム1によれば、談話構造の解析結果である、談話データ101の各ステートメントについてのフロー情報21を利用することにより、談話の文章構造の枠組みを規定せずに、談話データ101から質問・要求ステートメントを抽出することができる。また、抽出した質問・要求ステートメントを重要度に基づいてスコアリングするとともに、単語ベクトルの距離(類似度)に基づいてクラスタリングすることにより、質問・要求ステートメントから効果的にFAQ候補300を抽出して出力することができる。また、既存FAQ82の質問文と合わせて抽出を行うことで、既存のFAQとの重複を考慮してFAQ候補300を抽出することができる。
【0102】
また、質問・要求ステートメントの抽出に際して、談話データ101の内容および談話構造の解析結果から必要な部分(フロー)のみを参照して抽出するため、他の部分にノイズやノイズによる誤った解析結果が含まれている場合でも、これらからの影響を極小化して質問・要求ステートメントを抽出することができる。
【0103】
このように、FAQ候補300を効果的・効率的に抽出することが可能となることで、スーパバイザ等によるFAQの整備が容易となり、これらのFAQを例えばWebサイト等で顧客に提供することで、コール数を削減させ、コールセンターの運用コストの削減につなげることも可能となる。
【0104】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0105】
本発明は、音声認識処理により得られた談話データの構造を解析した結果からFAQの候補を抽出するFAQ候補抽出システムおよびFAQ候補抽出プログラムに利用可能である。
【符号の説明】
【0106】
1…FAQ候補抽出システム、2…談話構造解析システム、3…音声認識エンジン、
10…前処理部、
20…フロー解析部、21…フロー情報、22…フロー解析ルール、
30…形態素解析部、31…形態素情報、
40…固有表現解析部、41…固有表現情報、42…固有表現解析ルール、
50…結束性解析部、51…結束性情報、
60…質問抽出部、
70…スコアリング部、71…質問情報、
80…候補抽出部、81…キーワード、82…既存FAQ、
100、101…談話データ、200…談話セマンティクス、300…FAQ候補。
【技術分野】
【0001】
本発明は、自然言語処理の技術に関し、特に、音声認識処理により得られた談話データの構造を解析した結果からFAQ(Frequently Asked Questions)の候補を抽出するFAQ候補抽出システムおよびFAQ候補抽出プログラムに適用して有効な技術に関するものである。
【背景技術】
【0002】
例えば、コールセンター業務において、オペレータやコミュニケータは、電話応対後に応対記録を作成して応対管理システム等へ保存するという一連の業務を行う必要がある。このとき、オペレータ等は、自身の記憶を頼りにして応対記録を作成するため作成に時間がかかるという問題がある。
【0003】
また、各オペレータ等のスキルに応じて品質(内容、統一性、網羅性、簡潔性等)にバラツキが生じる。このように応対記録の品質にバラツキがあったり品質が低かったりすることにより、顧客の声を正確に把握することができなかったり、応対記録の蓄積からテキストマイニング等の技術を利用して新たな知見を得るというようなことができなかったりなどの問題も生じる。
【0004】
このような問題を解決するため、音声認識の技術を活用した解決策が検討されている。音声認識の技術によって応対の音声情報をテキスト化して保存することにより、応対記録の網羅性を確保することができる。また、テキスト化したデータに対して自然言語処理の技術を適用して内容を要約することで応対記録を自動作成することも可能であり、応対記録作成にかかるコストを削減して、統一性、簡潔性を確保することで応対記録の活用性を向上させることも可能と考えられる。
【0005】
このような技術として、例えば、非特許文献1には、コールセンターにおける音声対話において、音声データをテキスト化し、過去の対話内容とその営業日報から帰納的学習により再帰的に規則獲得を行い、それらの規則を用いて未知の対話内容に対して重要箇所を決定・抽出し、文体変換を行うことで営業日報を自動生成する技術が記載されている。
【0006】
一方で、テキスト化した音声データの蓄積からテキストマイニング等による分析などにより新たな知見を得る技術としては、音声データの対話の種類により種々のものが想定されるが、例えば、上述したコールセンターにおける電話応対の内容からは、よく行われる質問を自動的に抽出し、これに対する回答を用意することでFAQ(Frequently Asked Questions)の作成を効率的・効果的に行うという技術が想定される。
【0007】
従来では、予め質問と回答に分類されて蓄積されたデータの集合からFAQとすべき質問−回答対を抽出することは行われていた。また、応対記録のテキストデータなどから、特定のパターンや抽出したパターンとのマッチングと統計的な処理によって、よく行われる質問や回答を抽出するということも行われている。例えば、特開2001−134575号公報(特許文献1)には、大量のテキストデータについて、これらを構文解析したデータ構造の集合から出現頻度が高い重要なパターンを検出することでFAQの自動作成を可能とする技術が記載されている。
【0008】
さらに、例えば非特許文献2には、近年増えてきたクローズドキャプション付きのテレビ番組を対象として、テレビ番組内のクローズドキャプションの中から、CRF(Conditional Random Fields)を用いて質問文を同定し、これに対応する解答文の中心を推定し、さらにCRFを用いて解答文の導入・補足となる情報も合わせて同定することにより、質問−解答対を抽出する技術が記載されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2001−134575号公報
【非特許文献】
【0010】
【非特許文献1】矢野純司、荒木健治、“コールセンターにおける音声対話を対象とした帰納的学習を用いた営業日報生成手法の性能評価”、情報処理学会研究報告 2007−NL−178、2007年3月28日、p.21−28
【非特許文献2】河野将弘、他6名、“CRFを用いたテレビ番組クローズドキャプションからの質問−解答対自動抽出”、言語処理学会第14回年次大会 発表論文集、2008年3月20日、p.915−918
【発明の概要】
【発明が解決しようとする課題】
【0011】
人の談話を音声認識によりテキスト化したデータ(以下では「談話データ」と記載する場合がある)を活用する場合、談話データ内の文章は通常は話し言葉で記録されているため、正しい文法に則った日本語文や、書き言葉を前提とした既存の自然言語処理の技術ではうまく対応できない場合がある。また、現状の音声認識エンジンの精度では認識ミスを排除することはできず、誤認識による誤字・脱字などのノイズが多い。従って、談話データについて自然言語処理を利用して解析し、有効活用するのは困難である。
【0012】
一方、テキスト化した音声データの蓄積からFAQの候補となるような質問文といった新たな知見を得るためには、例えば、特許文献1等の技術のような、パターンの抽出とマッチングおよび統計的な処理によって、頻出する質問や回答を抽出するということが考えられる。しかし、これらの技術は、単語や構文パターン等の出現頻度などの情報に基づくものであって、談話データの各文章の意味内容(単に特定の表現パターンを有するというだけではなく、過去の文章からの流れ・展開も考慮した上で判断される意味)を考慮したものではない。従って、データの内容によっては、例えば質問に相当する文章のみを精度よく効率的に抽出するというようなことは十分に行えない場合も想定される。
【0013】
また、上述の非特許文献2の技術では、テレビ番組のクローズドキャプションから質問−回答対を抽出することができるが、ここでは、対象のクローズドキャプションの内容はスキーマにアノテーションされる、すなわち、あらかじめ規定された文章構造の枠組みに当てはめられ、これに基づいて質問と回答の抽出を行うものである。しかしながら、例えば、コールセンターにおける電話応対をテキスト化したデータなど、決められた文章構造の枠組みやスキーマに当てはめることができない、もしくは困難であるような談話データから質問文を特定して抽出することは、非特許文献2のような技術では困難である。
【0014】
そこで本発明の目的は、話し言葉やノイズといった談話データの特性に強く、談話の文章構造の枠組みを規定せずに、談話データの構造を解析した結果から得られる意味内容に係る情報に基づいて、談話データからFAQの候補となる質問文を抽出するFAQ候補抽出システムおよびFAQ候補抽出プログラムを提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0015】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【0016】
本発明の代表的な実施の形態によるFAQ候補抽出システムは、音声認識処理によって談話の内容がテキスト化された談話データ、および前記談話データにおける前記談話の構造の解析結果である、前記談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、前記談話データからFAQ候補となる質問文を抽出して出力するFAQ候補抽出システムであって、以下の特徴を有するものである。
【0017】
すなわち、FAQ候補抽出システムにおいて、前記談話セマンティクスは、前記談話データにおける各ステートメントの意味内容を示すフローの情報を含むフロー情報を含み、FAQ候補抽出システムは、前記談話データから、顧客によって発話され、前記談話セマンティクスの前記フロー情報において質問文もしくは要求文であることを示すフローが設定された質問・要求ステートメントを抽出する質問抽出部と、前記質問抽出部によって抽出された前記質問・要求ステートメントから、指定されたキーワードを含むものを抽出する候補抽出部と、前記候補抽出部によって抽出された前記質問・要求ステートメントについて、内容が同様のものにクラスタリングし、各クラスタの代表となる前記質問・要求ステートメントをFAQ候補として出力するクラスタリング部とを有することを特徴とするものである。
【0018】
また、本発明は、コンピュータを上記のようなFAQ候補抽出システムとして機能させるプログラムにも適用することができる。
【発明の効果】
【0019】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0020】
本発明の代表的な実施の形態によれば、話し言葉やノイズといった談話データの特性に強く、談話の文章構造の枠組みを規定せずに、談話データの構造を解析した結果から得られる意味内容に係る情報に基づいて、談話データからFAQの候補となる質問文を抽出することが可能となり、効率的・効果的なFAQの作成を支援することが可能となる。
【図面の簡単な説明】
【0021】
【図1】本発明の一実施の形態であるFAQ候補抽出システムの構成例の概要について示したブロック図である。
【図2】本発明の一実施の形態における談話構造解析システムの構成例の概要について示したブロック図である。
【図3】本発明の一実施の形態における談話の例および談話セマンティクスの概念について示した図である。
【図4】本発明の一実施の形態における談話データのフローとコンテキストの例について示した図である。
【図5】本発明の一実施の形態における談話構造解析システムのフロー解析ルールの例について示した図である。
【図6】本発明の一実施の形態における談話構造解析システムのフロー解析部でのフロー解析処理の流れの例を示したフローチャートである。
【図7】本発明の一実施の形態における談話構造解析システムの固有表現解析ルールの例について示した図である。
【図8】本発明の一実施の形態における談話構造解析システムの固有表現解析部での固有表現解析処理の流れの例を示したフローチャートである。
【図9】本発明の一実施の形態における談話構造解析システムでの結束性解析の例について示した図である。
【図10】本発明の一実施の形態における談話構造解析システムの結束性解析部での結束性解析処理の流れの例を示したフローチャートである。
【図11】本発明の一実施の形態における抽出したFAQ候補を表示する画面の例について示した図である。
【図12】本発明の一実施の形態におけるFAQ候補抽出システムでのFAQ候補抽出処理の流れの例を示したフローチャートである。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0023】
本発明の一実施の形態であるFAQ候補抽出システムは、話し言葉を含む談話データについての談話構造の解析結果である談話セマンティクス(談話全体の意味内容を把握するための談話構造に係る情報)に基づいて、談話データから顧客による質問に相当する文章を抽出し、単語の出現頻度に基づく重要度を算出する。さらに、既存のFAQにおける質問文を含めた集合から、指定されたキーワードを含む質問を抽出し、抽出された質問を同様のものにクラスタリングすることで、回答作成の優先度(重要度)が高い順に、回答の整備済/未済の情報を含んだFAQ候補として出力するシステムである。
【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の各部と、フロー解析ルール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による形態素解析は不要な場合がある。本実施の形態では、後述するFAQ候補抽出システムにおいて形態素情報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】
談話構造解析システム2による解析結果として出力される談話セマンティクス200は、上述したように、フロー情報21や、形態素情報31、固有表現情報41、結束性情報51を含んで構成される。このとき、単にこれらのデータの集合を談話セマンティクス200として取り扱ってもよいし、例えば、これらのデータをXMLを利用した1つのデータ構造に結合してもよい。
【0041】
[システム構成(FAQ候補抽出システム)]
図1は、本発明の一実施の形態であるFAQ候補抽出システムの構成例の概要について示したブロック図である。FAQ候補抽出システム1は、談話構造解析システム2と同様に、サーバやPC等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装される質問抽出部60、スコアリング部70、候補抽出部80およびクラスタリング部90の各部と、既存FAQ82のテーブルを有し、談話の内容がテキスト化された談話データ101と、談話データ101についての談話構造の解析結果である談話セマンティクス200の全部または一部(特にフロー情報21、および形態素情報31)とを入力として、談話データ101からFAQの候補となる質問文を抽出してFAQ候補300として出力するシステムである。
【0042】
なお、談話データ101は、上述した談話構造解析システム2の前処理部10によって前処理されたものと同等のもの、すなわち、例えば、話者毎に連続したステートメントがブロックとしてまとめられ、各ブロックおよび各ステートメントに順序を示すシーケンス番号(ID)が割り振られ、各ブロックの話者のデータが設定されている状態のものである。また、談話セマンティクス200は、例えば、上述した談話構造解析システム2等によって、談話データ101について談話構造(フロー、固有表現、結束性、および形態素)の解析が行われた結果として出力されたものである。
【0043】
なお、本実施の形態では、談話構造解析システム2によって出力された談話構造の解析結果をFAQ候補抽出システム1に入力する構成としているが、例えば、これらのシステムを1つのコンピュータシステム上に構成し、談話構造の解析処理からFAQ候補300の抽出までの処理を連続的に実行するようにしてもよい。
【0044】
FAQ候補抽出システム1の質問抽出部60は、談話データ101と、談話セマンティクス200のフロー情報21とに基づいて、談話データ101から顧客による質問のステートメントの抽出を行う機能を有する。スコアリング部70は、質問抽出部60によって抽出された各ステートメントについて、例えば、含まれる単語の出現頻度の情報に基づいて重要度を算出し、質問情報71を出力する機能を有する。質問情報71は、顧客による質問のステートメントもしくはステートメントIDと重要度とのリストの情報を保持する。
【0045】
候補抽出部80は、質問情報71に含まれる質問のステートメントに、既存FAQ82に保持されている既存のFAQの質問文を含めた集合から、キーワード81を含む質問のステートメントもしくは質問文を抽出する機能を有する。ここで、キーワード81は、ユーザからの入力によって指定されてもよいし、例えばFAQ候補抽出システム1や他のシステム等によって抽出された直近の急騰キーワード等を取得して指定するものでもよい。クラスタリング部90は、候補抽出部80によって抽出された質問のステートメントおよび質問文を同様のものにクラスタリングしてまとめ、各クラスタの代表となる質問のステートメント(既存のFAQの質問文ではないもの)について、スコアリング部70で算出した重要度の順にFAQ候補300として出力する機能を有する。
【0046】
本実施の形態では、上述したように、重要度が高いFAQ候補ほど回答を作成して整備すべき優先度が高いものとしている。また、FAQ候補が属するクラスタに、既存FAQ82に保持された質問文が存在する場合には、既存FAQ82に既に対応する回答文が登録されているため、当該FAQ候補については回答が整備済であるとして取り扱う。なお、FAQ候補抽出システム1の各部による処理の詳細については後述する。
【0047】
[フロー解析]
以下では、図2に示した談話構造解析システム2のフロー解析部20によるフロー解析の処理の詳細について説明する。図4は、談話データ100におけるフローとコンテキストの例について示した図である。本実施の形態では、コンテキストは談話の各ブロックに対して設定される。図4の例では、最初のブロック(話者:オペレータ)のコンテキストは“開始”であり、次のブロック(話者:顧客)およびその次のブロック(話者:オペレータ)はともに“陳述”となっている。
【0048】
図4の例に示すように、本実施の形態では、原則として、対象のブロックのコンテキストとして、異なる話者の直前のブロックの最後のステートメントに設定されたフローを設定する。なお、談話データ100の先頭のブロックについては直前のブロックがないため、コンテキストとして常に“開始”を設定するものとする。このようにコンテキストを判断することによって、同じ文言のステートメントであっても談話のコンテキストに沿ったフローの解析が可能となる。
【0049】
図5は、談話構造解析システム2のフロー解析ルール22の例について示した図である。フロー解析ルール22は、ファイルやデータベース等に保持されており、ステートメント中におけるフローを判断するための表現(以下では「フロー表現」と記載する場合がある)と、当該フロー表現とマッチする表現を有するステートメントに対してそのコンテキストに応じて設定するフローのパターン(以下では「フロー定義」と記載する場合がある)との対応について予め指定したリストを保持するテーブルである。
【0050】
図5の例に示すように、フロー表現は、フローを判断するための手掛かりとなる文字列の正規表現(例えば、“/はい。/”や“/ですか。/”)によって指定する。従って、フロー解析部20もしくは談話構造解析システム2は、例えば、既存の正規表現ライブラリなどを導入することにより正規表現に必要な処理を行うことができるようにしておく必要がある。
【0051】
なお、フロー表現として指定する文字列は、例えば、話し言葉において談話の流れ上特徴的となる文頭の挨拶、返事や、助詞、接続詞、文末表現などを指定するのが望ましく、これらを適用の優先度が高い順に指定する。優先度については、例えば、所定の条件により正規表現の複雑度を計算し、複雑度の降順で優先度を設定するようにしてもよい。なお、指定するフロー表現のパターンは、談話構造解析システム2が対象とする談話の種類(例えば、コールセンターでのやり取りや、企業における定例会議など)に応じて異なる場合がある。
【0052】
各フロー表現に対しては、例えば“flow”のラベルによって、フロー定義を指定する。フロー定義では、対象のステートメントのコンテキストと、当該ステートメントに設定するフロー(例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、コンテキストが“開始”の場合はフローとして“挨拶”を設定する)を指定する。“flow”のラベルによるフロー定義は、各フロー表現において想定されるコンテキストの種類に応じて複数指定することができる。
【0053】
また、例えば“default”のラベルによって、対象のステートメントのコンテキストがいずれの“flow”のラベルにも該当しなかった場合に設定するフローであるデフォルトフロー(例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、当該ステートメントのコンテキストがいずれの“flow”のラベルにもマッチしない場合はフローとして“相槌”を設定する)を指定する。なお、デフォルトフローは、各フロー表現において必ず1つ設定するものとする。
【0054】
フロー定義の指定は、談話構造解析システム2が対象とする談話の種類に応じて、一般的な談話の流れのパターンとして主要なものを指定するのが望ましい。例えば、コールセンターでのやり取りにおいては、顧客が“苦情”を発した場合はオペレータは“謝罪”する、などのパターンに基づいて、フロー定義を指定することができる。
【0055】
フロー解析ルール22では、上述のように、指定するフロー表現や対応するフロー定義の内容が談話構造解析システム2が対象とする談話の種類に応じて異なる場合があるため、談話の種類に応じて適用するフロー解析ルール22を複数保持して、ユーザが切り換えられるようにするなど、談話の特性に応じて柔軟に対応することも可能である。
【0056】
なお、上述のように、本実施の形態では、フロー解析ルール22において品詞の指定は行っていない。すなわち、フロー解析部20においては品詞の判断を行わないため、フロー解析部20での解析処理に際して、事前に形態素解析部30による形態素解析を行う必要はない。なお、より精度を上げるために形態素情報31を利用して、例えば、フロー解析ルール22のフロー表現における正規表現を、後述するように形態素情報31の形態素列(品詞の情報も含む)に対して適用するようにして、より詳細な条件でマッチングを行うようすることも可能である。
【0057】
図6は、談話構造解析システム2のフロー解析部20におけるフロー解析処理の流れの例を示したフローチャートである。フロー解析部20は、フロー解析処理を開始すると、まず、前処理部10による前処理後の談話データ100の各ステートメントについて処理を繰り返すループ処理を開始する(S101)。各ステートメントについてのループ処理を開始すると、フロー解析ルール22の各フロー表現について処理を繰り返すループ処理を開始する(S102)。
【0058】
各フロー表現についてのループ処理を開始すると、対象のステートメントと対象のフロー表現とがマッチするか否かを判定する(S103)。マッチしない場合は次のフロー表現の処理に移る(S108、S102)。一方、マッチする場合は、まず、対象のステートメントについて、当該ステートメントが属するブロックの直前のブロックにおける最終ステートメントに設定されているフローをコンテキストとして設定する(S104)。このとき、図4で示したように、当該ステートメントが属するブロックが談話データ100の最初のブロックである場合には、コンテキストに“開始”を設定する。
【0059】
次に、ステップS104で設定したコンテキストについて、対象のフロー表現におけるフロー定義の”flow”ラベルで指定されたコンテキストとマッチするものがあるか否かを判定する(S105)。マッチするものがある場合には、マッチするフロー定義におけるコンテキストに対応するフローを、対象のステートメントのフローとして設定する(S106)。一方、マッチするものがない場合は、デフォルトフローを対象のステートメントのフローとして設定する(S107)。その後、各フロー表現についてのループ処理を抜ける。
【0060】
各フロー表現についてのループ処理が終了すると、対象のステートメントにフローが設定されているか否かを判定する(S109)。フローが設定されている場合は何も行わず、また、フローが設定されていない場合は、対象のステートメントに“陳述”のフローを設定して(S110)、次のステートメントの処理に移る(S111、S101)。
【0061】
ここで、“陳述”のフローは、対象のステートメントについて、フロー解析ルール22に指定されたフロー表現にマッチする文言を含まない場合に設定されるものである。すなわち、談話の枠組みの中における所定のパターンや定型的なパターン等に該当するステートメント(フロー表現を含むステートメント)ではなく、一般的に談話に固有の事項について具体的な内容を述べているステートメントであると考えられる。
【0062】
各ステートメントについてのループ処理が全て終了した場合は、各ステートメントの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】
ここで、質問ステートメントは、談話構造解析システム1のフロー解析部20において、相手の話者に対する質問文を示すフロー表現を有するものとして特定されたステートメントである。質問ステートメントを特定するフロー表現としては、例えば、“/ですか。/”や”/よね。/”などの疑問文の文末表現などが考えられる。
【0079】
セグメントを分割した後、セグメントの統合処理を行う。統合処理では、各セグメントについて予め定められた統合条件に該当する質問ステートメントを有する場合に、当該質問ステートメントを有するセグメントを直前のセグメントと統合する。ここで、統合条件は、当該質問ステートメントを有するセグメントについて以前のセグメントから内容が継続している(以前のセグメントと結束性が高い)と推測させる表現の指定である。
【0080】
統合条件としては、例えば、当該質問ステートメントについて、直前の質問ステートメントと共通する単語(固有名詞)がある場合や、指示詞を含む場合などが挙げられる。これらの統合条件に該当する質問ステートメントを有するセグメントは以前のセグメントと結束性が高いと判断し、図9の下段の図に示すように、直前のセグメントと統合する。なお、統合処理については、統合可能なセグメントがなくなるまで繰り返すものとする。
【0081】
図10は、談話構造解析システム2の結束性解析部50における結束性解析処理の流れの例を示したフローチャートである。結束性解析部50は、結束性解析処理を開始すると、まず、談話データ100の全てのブロックを1つのセグメントに設定する(S301)。具体的には、例えば、全てのブロックにセグメントIDの初期値を割り当てるなどによって設定する。その後、セグメントの分割処理として、談話データ100の各ブロックについて処理を繰り返すループ処理を開始する(S302)。
【0082】
各ブロックについてのループ処理を開始すると、対象のブロックに質問ステートメントが含まれているか否か(フローが“質問”のステートメントがあるか否か)を判定する(S303)。質問ステートメントが含まれている場合は、対象のブロックと直前のブロックとの間でセグメントを分割する(S304)。具体的には、例えば、対象のブロック以降の全てのブロックに次のセグメントIDを割り当てるなどによって分割する。その後、次のブロックの処理に移る(S305、S302)。
【0083】
各ブロックについてのループ処理(分割処理)が終了した場合は、次に、セグメントの結合処理として、上記の分割処理で分割した各セグメントについて処理を繰り返すループ処理を開始する(S306)。各セグメントについてのループ処理を開始すると、対象のセグメントに上記の統合条件に該当する質問ステートメントがあるか否かを判定する(S307)。
【0084】
統合条件に該当する質問ステートメントがある場合は、対象のセグメントと直前のセグメントとを統合する(S308)。具体的には、例えば、対象のセグメントに含まれる各ブロックのセグメントIDを直前のセグメントのセグメントIDに更新するなどによって統合する。このとき、以降の各セグメントに含まれる各ブロックのセグメントIDを順次繰り上げてもよい。その後、次のセグメントの処理に移る(S309、S306)。各セグメントについてのループ処理(統合処理)が終了した場合は、各ブロックのIDと対応する(各ブロックが含まれる)セグメントのIDのリストの情報を結束性情報51として出力して、結束性解析処理を終了する。
【0085】
これにより、フロー解析によって得られたフロー情報21に基づいて談話データ100内の各ステートメントをセグメント化し、談話セマンティクス200を利用する種々のアプリケーションに対する有用な情報とすることができる。
【0086】
なお、上述のフロー解析、固有表現解析、結束性解析の各処理によって出力された談話セマンティクス200に含まれるフロー情報21、固有表現情報41、結束性情報51については、談話構造解析システム2において、ユーザが内容を参照して適宜修正することが可能なインタフェースを設けてもよい。
【0087】
[FAQ候補抽出]
以下では、図1に示したFAQ候補抽出システム1によるFAQ候補抽出の処理の詳細について説明する。図11は、FAQ候補抽出システム1によって抽出したFAQ候補300を表示する画面の例について示した図である。画面上部には、FAQ候補300を抽出する際の基準となるキーワードを指定する入力フィールドを有する。ここでユーザがキーワードを指定すると、FAQ候補抽出システム1によって、談話データ101内の顧客による質問に相当するステートメントおよび既存FAQ82内に保持された質問文から抽出されクラスタリングされたFAQ候補300の内容がリストとして表示される。
【0088】
図11の例では“XXX物件”や“契約書”などのキーワード毎に、抽出されクラスタリングされたFAQ候補300の内容が表示されている。このとき、既に既存FAQ82に登録されている同様の質問文が同じクラスタ内にあるFAQ候補については、対応する回答文が既存FAQ82に既に登録されているため“整備済”として表示される。一方、既存FAQ82にクラスタ内の同様の質問文が登録されていないFAQ候補については、対応する回答文が既存FAQ82に整備されていないため“未整備”として表示される。
【0089】
“未整備”のFAQ候補については、スーパバイザ等のユーザが回答を作成して整備する必要がある。そのため、例えば、各FAQ候補の文章部分に設定されているハイパーリンクを指示することにより、当該質問に対する回答を入力する画面(図示しない)に遷移し、回答を整備することができるようにする。なお、本実施の形態では、スコアリング部70によって算出された重要度の順に回答整備の優先度が高いものとして表示するようにしているが、例えば、“未整備”のものを優先的に上位に表示するなど、表示順は任意に設定することができる。
【0090】
また、図11の例では、各FAQ候補に“質問”もしくは“要求”のフローの情報が表示されている。本実施の形態では、FAQ候補300を抽出するにあたり、質問抽出部60は、談話データ101から顧客による質問に相当するステートメントを抽出する際に、談話セマンティクス200のフロー情報21においてフローが“質問”もしくは“要求”であるステートメント(以下では“質問・要求ステートメント”と記載する場合がある)を抽出するものとする。
【0091】
ここで、“要求”のフローは、談話構造解析システム1のフロー解析部20において、相手の話者に対する要求を示すフロー表現を有するステートメントに対して設定される。図5に示したフロー解析ルール22の例において、“要求”のフローに対応するフロー表現としては、例えば、“/したい/”、“/知りたい/”などの動作要求を表す表現などが考えられる。
【0092】
図12は、FAQ候補抽出システム1におけるFAQ候補抽出処理の流れの例を示したフローチャートである。FAQ候補抽出システム1は、FAQ候補抽出処理を開始すると、まず、質問抽出部60により、談話データ101と、談話セマンティクス200のフロー情報21とに基づいて、顧客の発話による質問・要求ステートメントを抽出する(S401)。すなわち、フローが“質問”もしくは“要求”であるステートメントを談話データ101から抽出する。
【0093】
次に、スコアリング部70により、ステップS401にて抽出された質問・要求ステートメントから、談話セマンティクス200の形態素情報31に基づいて単語を抽出し、抽出した単語毎に、当該単語が各質問・要求ステートメントに含まれる数をそれぞれ集計した情報(転置インデックス)を作成する(S402)。さらに、この転置インデックスに基づいて、各質問・要求ステートメントの重要度を算出し、各質問・要求ステートメントとその重要度の情報を質問情報71として出力する(S403)。
【0094】
重要度の算出の手法は特に限定されず、例えば一般的に行われる手法として、対象の質問・要求ステートメントに含まれる各単語についてTF−IDF(Term Frequency-Inverse Document Frequency)値を算出し、その平均値を対象の質問・要求ステートメントの重要度とする手法を用いることができる。また、例えばOkapi−BM25などの他のアルゴリズムを利用してもよい。
【0095】
次に、FAQ候補抽出システム1は、例えば図11に示した画面等を介して、ユーザからFAQ候補を抽出するためのキーワード81の入力を受け付ける(S404)。当該ステップはFAQ候補抽出処理の最初に行うようにしてもよい。また、ユーザからの入力ではなく、FAQ候補抽出システム1や他のシステムにおける公知技術を含む他の技術による解析によって、例えば、談話データ101内のステートメントや他のテキストデータから最近頻出している急騰キーワードを抽出し、これをキーワード81として利用してもよい。
【0096】
次に、候補抽出部80により、質問情報71に含まれる質問・要求ステートメントに、既存FAQ82に保持されている既存のFAQの質問文を含めた集合から、ステップS404で入力されたキーワードを含む質問・要求ステートメントもしくは質問文(以下では単に“質問・要求ステートメント”と総称する場合がある)を抽出する(S405)。ここでは、単純にキーワードマッチングにより質問・要求ステートメントを絞り込む。なお、本実施の形態では、既存FAQ82の質問文を含めた集合を抽出の対象としているが、質問情報71のみを対象として抽出するようにしてもよい。
【0097】
次に、クラスタリング部90により、ステップS405で抽出された質問・要求ステートメントを同様のものにクラスタリングしてまとめ、各クラスタの代表の質問・要求ステートメントをFAQ候補300として出力し(S406)、処理を終了する。なお、FAQ候補300の形式等については特に限定されず、XMLなどを利用したデータ構造や単純なテキスト形式など種々の形式とすることができる。
【0098】
また、ステップS406において、クラスタリングの手法は特に限定されず、例えば一般的に行われる手法として、ステップS402で作成された転置インデックスを利用して、各FAQ候補について含まれる単語の出現頻度に基づく単語ベクトルを作成し、ベクトル空間における単語ベクトル間の代数的な距離(類似度)に基づいて、K平均法などのアルゴリズムによりクラスタリングする手法を用いることができる。
【0099】
なお、各クラスタから代表となる質問・要求ステートメントを選択してFAQ候補とする際に、同一クラスタ内に質問情報71に含まれる質問・要求ステートメントと既存FAQ82に保持されている既存のFAQの質問文がともに含まれる場合は、質問情報71に含まれる質問・要求ステートメントの方から代表となる質問・要求ステートメントを選択するものとする。このとき、当該質問・要求ステートメントについては、既存FAQ82に対応する回答文が整備されているものと取り扱い、例えばその旨(同一クラスタ内に既存FAQ82に保持されている質問文が属する、すなわち回答が整備済である)のフラグを設定するなど識別可能なように出力する。
【0100】
また、FAQ候補300の出力に際しては、上述したように、ステップS403で算出した重要度が高いFAQ候補ほど回答を作成して整備すべき優先度が高いものとして上位にランキングして出力してもよい。出力されたFAQ候補300の内容は、例えば、図11に示したような画面で表示される。
【0101】
以上に説明したように、本実施の形態のFAQ候補抽出システム1によれば、談話構造の解析結果である、談話データ101の各ステートメントについてのフロー情報21を利用することにより、談話の文章構造の枠組みを規定せずに、談話データ101から質問・要求ステートメントを抽出することができる。また、抽出した質問・要求ステートメントを重要度に基づいてスコアリングするとともに、単語ベクトルの距離(類似度)に基づいてクラスタリングすることにより、質問・要求ステートメントから効果的にFAQ候補300を抽出して出力することができる。また、既存FAQ82の質問文と合わせて抽出を行うことで、既存のFAQとの重複を考慮してFAQ候補300を抽出することができる。
【0102】
また、質問・要求ステートメントの抽出に際して、談話データ101の内容および談話構造の解析結果から必要な部分(フロー)のみを参照して抽出するため、他の部分にノイズやノイズによる誤った解析結果が含まれている場合でも、これらからの影響を極小化して質問・要求ステートメントを抽出することができる。
【0103】
このように、FAQ候補300を効果的・効率的に抽出することが可能となることで、スーパバイザ等によるFAQの整備が容易となり、これらのFAQを例えばWebサイト等で顧客に提供することで、コール数を削減させ、コールセンターの運用コストの削減につなげることも可能となる。
【0104】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0105】
本発明は、音声認識処理により得られた談話データの構造を解析した結果からFAQの候補を抽出するFAQ候補抽出システムおよびFAQ候補抽出プログラムに利用可能である。
【符号の説明】
【0106】
1…FAQ候補抽出システム、2…談話構造解析システム、3…音声認識エンジン、
10…前処理部、
20…フロー解析部、21…フロー情報、22…フロー解析ルール、
30…形態素解析部、31…形態素情報、
40…固有表現解析部、41…固有表現情報、42…固有表現解析ルール、
50…結束性解析部、51…結束性情報、
60…質問抽出部、
70…スコアリング部、71…質問情報、
80…候補抽出部、81…キーワード、82…既存FAQ、
100、101…談話データ、200…談話セマンティクス、300…FAQ候補。
【特許請求の範囲】
【請求項1】
音声認識処理によって談話の内容がテキスト化された談話データ、および前記談話データにおける前記談話の構造の解析結果である、前記談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、前記談話データからFAQ候補となる質問文を抽出して出力するFAQ候補抽出システムであって、
前記談話セマンティクスは、前記談話データにおける各ステートメントの意味内容を示すフローの情報を含むフロー情報を含み、
前記談話データから、顧客によって発話され、前記談話セマンティクスの前記フロー情報において質問文もしくは要求文であることを示すフローが設定された質問・要求ステートメントを抽出する質問抽出部と、
前記質問抽出部によって抽出された前記質問・要求ステートメントから、指定されたキーワードを含むものを抽出する候補抽出部と、
前記候補抽出部によって抽出された前記質問・要求ステートメントについて、内容が同様のものにクラスタリングし、各クラスタの代表となる前記質問・要求ステートメントをFAQ候補として出力するクラスタリング部とを有することを特徴とするFAQ候補抽出システム。
【請求項2】
請求項1に記載のFAQ候補抽出システムにおいて、
前記候補抽出部は、前記質問抽出部によって抽出された前記質問・要求ステートメントに既存のFAQにおける質問文を含めた集合から、指定されたキーワードを含むものを抽出し、
前記クラスタリング部は、前記FAQ候補として出力する前記質問・要求ステートメントについて、属するクラスタに既存のFAQから抽出された質問文が含まれるか否かの情報を含めることを特徴とするFAQ候補抽出システム。
【請求項3】
請求項1または2に記載のFAQ候補抽出システムにおいて、
前記談話セマンティクスは、前記各ステートメントを形態素に分割して品詞を判別した形態素列の情報を含む形態素情報を含み、
さらに、前記質問抽出部によって抽出された前記質問・要求ステートメントについて、含まれる単語の出現頻度に係る情報を前記形態素情報に基づいて取得し、当該出現頻度の情報に基づいて重要度を算出するスコアリング部を有し、
前記クラスタリング部は、前記FAQ候補に含まれる前記質問・要求ステートメントについて、前記重要度の順に出力することを特徴とするFAQ候補抽出システム。
【請求項4】
請求項3に記載のFAQ候補抽出システムにおいて、
前記スコアリング部は、前記質問抽出部によって抽出された前記質問・要求ステートメントに含まれる各単語についてTF−IDF値を算出し、前記各単語のTF−IDF値の平均値を前記重要度とすることを特徴とするFAQ候補抽出システム。
【請求項5】
音声認識処理によって談話の内容がテキスト化された談話データ、および前記談話データにおける前記談話の構造の解析結果である、前記談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、前記談話データからFAQ候補となる質問文を抽出して出力するFAQ候補抽出システムとしてコンピュータを機能させるFAQ候補抽出プログラムであって、
前記談話セマンティクスは、前記談話データにおける各ステートメントの意味内容を示すフローの情報を含むフロー情報を含み、
前記談話データから、顧客によって発話され、前記談話セマンティクスの前記フロー情報において質問文もしくは要求文であることを示すフローが設定された質問・要求ステートメントを抽出する質問抽出処理と、
前記質問抽出処理によって抽出された前記質問・要求ステートメントから、指定されたキーワードを含むものを抽出する候補抽出処理と、
前記候補抽出処理によって抽出された前記質問・要求ステートメントについて、内容が同様のものにクラスタリングし、各クラスタの代表となる前記質問・要求ステートメントをFAQ候補として出力するクラスタリング処理とを実行することを特徴とするFAQ候補抽出プログラム。
【請求項6】
請求項5に記載のFAQ候補抽出プログラムにおいて、
前記候補抽出処理は、前記質問抽出処理によって抽出された前記質問・要求ステートメントに既存のFAQにおける質問文を含めた集合から、指定されたキーワードを含むものを抽出し、
前記クラスタリング処理は、前記FAQ候補として出力する前記質問・要求ステートメントについて、属するクラスタに既存のFAQから抽出された質問文が含まれるか否かの情報を含めることを特徴とするFAQ候補抽出プログラム。
【請求項7】
請求項5または6に記載のFAQ候補抽出プログラムにおいて、
前記談話セマンティクスは、前記各ステートメントを形態素に分割して品詞を判別した形態素列の情報を含む形態素情報を含み、
さらに、前記質問抽出処理によって抽出された前記質問・要求ステートメントについて、含まれる単語の出現頻度に係る情報を前記形態素情報に基づいて取得し、当該出現頻度の情報に基づいて重要度を算出するスコアリング処理を実行し、
前記クラスタリング処理は、前記FAQ候補に含まれる前記質問・要求ステートメントについて、前記重要度の順に出力することを特徴とするFAQ候補抽出プログラム。
【請求項8】
請求項7に記載のFAQ候補抽出プログラムにおいて、
前記スコアリング処理は、前記質問抽出処理によって抽出された前記質問・要求ステートメントに含まれる各単語についてTF−IDF値を算出し、前記各単語のTF−IDF値の平均値を前記重要度とすることを特徴とするFAQ候補抽出プログラム。
【請求項1】
音声認識処理によって談話の内容がテキスト化された談話データ、および前記談話データにおける前記談話の構造の解析結果である、前記談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、前記談話データからFAQ候補となる質問文を抽出して出力するFAQ候補抽出システムであって、
前記談話セマンティクスは、前記談話データにおける各ステートメントの意味内容を示すフローの情報を含むフロー情報を含み、
前記談話データから、顧客によって発話され、前記談話セマンティクスの前記フロー情報において質問文もしくは要求文であることを示すフローが設定された質問・要求ステートメントを抽出する質問抽出部と、
前記質問抽出部によって抽出された前記質問・要求ステートメントから、指定されたキーワードを含むものを抽出する候補抽出部と、
前記候補抽出部によって抽出された前記質問・要求ステートメントについて、内容が同様のものにクラスタリングし、各クラスタの代表となる前記質問・要求ステートメントをFAQ候補として出力するクラスタリング部とを有することを特徴とするFAQ候補抽出システム。
【請求項2】
請求項1に記載のFAQ候補抽出システムにおいて、
前記候補抽出部は、前記質問抽出部によって抽出された前記質問・要求ステートメントに既存のFAQにおける質問文を含めた集合から、指定されたキーワードを含むものを抽出し、
前記クラスタリング部は、前記FAQ候補として出力する前記質問・要求ステートメントについて、属するクラスタに既存のFAQから抽出された質問文が含まれるか否かの情報を含めることを特徴とするFAQ候補抽出システム。
【請求項3】
請求項1または2に記載のFAQ候補抽出システムにおいて、
前記談話セマンティクスは、前記各ステートメントを形態素に分割して品詞を判別した形態素列の情報を含む形態素情報を含み、
さらに、前記質問抽出部によって抽出された前記質問・要求ステートメントについて、含まれる単語の出現頻度に係る情報を前記形態素情報に基づいて取得し、当該出現頻度の情報に基づいて重要度を算出するスコアリング部を有し、
前記クラスタリング部は、前記FAQ候補に含まれる前記質問・要求ステートメントについて、前記重要度の順に出力することを特徴とするFAQ候補抽出システム。
【請求項4】
請求項3に記載のFAQ候補抽出システムにおいて、
前記スコアリング部は、前記質問抽出部によって抽出された前記質問・要求ステートメントに含まれる各単語についてTF−IDF値を算出し、前記各単語のTF−IDF値の平均値を前記重要度とすることを特徴とするFAQ候補抽出システム。
【請求項5】
音声認識処理によって談話の内容がテキスト化された談話データ、および前記談話データにおける前記談話の構造の解析結果である、前記談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、前記談話データからFAQ候補となる質問文を抽出して出力するFAQ候補抽出システムとしてコンピュータを機能させるFAQ候補抽出プログラムであって、
前記談話セマンティクスは、前記談話データにおける各ステートメントの意味内容を示すフローの情報を含むフロー情報を含み、
前記談話データから、顧客によって発話され、前記談話セマンティクスの前記フロー情報において質問文もしくは要求文であることを示すフローが設定された質問・要求ステートメントを抽出する質問抽出処理と、
前記質問抽出処理によって抽出された前記質問・要求ステートメントから、指定されたキーワードを含むものを抽出する候補抽出処理と、
前記候補抽出処理によって抽出された前記質問・要求ステートメントについて、内容が同様のものにクラスタリングし、各クラスタの代表となる前記質問・要求ステートメントをFAQ候補として出力するクラスタリング処理とを実行することを特徴とするFAQ候補抽出プログラム。
【請求項6】
請求項5に記載のFAQ候補抽出プログラムにおいて、
前記候補抽出処理は、前記質問抽出処理によって抽出された前記質問・要求ステートメントに既存のFAQにおける質問文を含めた集合から、指定されたキーワードを含むものを抽出し、
前記クラスタリング処理は、前記FAQ候補として出力する前記質問・要求ステートメントについて、属するクラスタに既存のFAQから抽出された質問文が含まれるか否かの情報を含めることを特徴とするFAQ候補抽出プログラム。
【請求項7】
請求項5または6に記載のFAQ候補抽出プログラムにおいて、
前記談話セマンティクスは、前記各ステートメントを形態素に分割して品詞を判別した形態素列の情報を含む形態素情報を含み、
さらに、前記質問抽出処理によって抽出された前記質問・要求ステートメントについて、含まれる単語の出現頻度に係る情報を前記形態素情報に基づいて取得し、当該出現頻度の情報に基づいて重要度を算出するスコアリング処理を実行し、
前記クラスタリング処理は、前記FAQ候補に含まれる前記質問・要求ステートメントについて、前記重要度の順に出力することを特徴とするFAQ候補抽出プログラム。
【請求項8】
請求項7に記載のFAQ候補抽出プログラムにおいて、
前記スコアリング処理は、前記質問抽出処理によって抽出された前記質問・要求ステートメントに含まれる各単語についてTF−IDF値を算出し、前記各単語のTF−IDF値の平均値を前記重要度とすることを特徴とするFAQ候補抽出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−3704(P2012−3704A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−140675(P2010−140675)
【出願日】平成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 ]