(57)【特許請求の範囲】
【請求項１】
音声認識処理によって談話の内容がテキスト化された談話データ、および前記談話データにおける前記談話の構造の解析結果である、前記談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、談話の際に発話者によって参照される参照情報についての利用状況を含む、発話者による談話の内訳情報を算出して出力する談話内訳算出システムであって、
前記談話セマンティクスは、前記談話データにおいて不要表現に該当しないステートメント、およびこれらのステートメントについて発話者毎の１以上の連続したステートメントから構成されるブロックについての情報を示す簡約情報を含み、
談話の際に参照される１つ以上の前記参照情報についての情報を保持する応対時参照情報と、
前記簡約情報に基づいて簡約された前記談話データにおけるブロックを単位として、ブロックに含まれるテキストと前記各参照情報のテキストとの間の表現上の類似度を算出し、ブロックに最も類似する前記参照情報を取得して類似度情報として出力する類似度算出部と、
前記類似度情報に基づいて、簡約された前記談話データにおける各ブロックについての前記類似度が所定の閾値より高い場合に、当該ブロックが対応する前記参照情報に従って発話されたものであると判断し、発話者毎に、前記参照情報に従って発話されたブロックおよび前記参照情報に従って発話されていないブロックの割合の情報を含む談話内訳情報を算出して出力する談話内訳算出部とを有することを特徴とする談話内訳算出システム。
【請求項２】
請求項１に記載の談話内訳算出システムにおいて、
前記談話セマンティクスは、前記談話データにおける各ステートメントの意味内容を示すフローの情報を含むフロー情報を含み、
前記談話内訳算出部は、さらに前記談話内訳情報に含まれる情報として、前記談話データにおける各ブロックに含まれるステートメントに設定されたフローが挨拶もしくは相槌であることを示すものの割合をそれぞれ算出することを特徴とする談話内訳算出システム。
【請求項３】
請求項１または２に記載の談話内訳算出システムにおいて、
前記談話セマンティクスは、前記談話データ内の各ステートメントを形態素に分割して品詞を判別した形態素列の情報を含む形態素情報を含み、
前記類似度算出部は、前記形態素情報に基づいて、簡約された前記談話データにおけるブロックに含まれるテキストと前記各参照情報のテキストとの間の単語の最長共通部分列を求めることにより、表現上の類似度を算出することを特徴とする談話内訳算出システム。
【請求項４】
請求項３に記載の談話内訳算出システムにおいて、
前記類似度算出部は、前記最長共通部分列を求める際に、簡約された前記談話データにおけるブロックに含まれるテキストについては、動詞、名詞および形容詞のみを用い、動詞および形容詞については原形を用いることを特徴とする談話内訳算出システム。
【請求項５】
請求項１〜４のいずれか１項に記載の談話内訳算出システムにおいて、
前記参照情報は、オペレータによる顧客応対用のトークスクリプトもしくはＦＡＱであることを特徴とする談話内訳算出システム。
【請求項６】
音声認識処理によって談話の内容がテキスト化された談話データ、および前記談話データにおける前記談話の構造の解析結果である、前記談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、談話の際に発話者によって参照される参照情報についての利用状況を含む、発話者による談話の内訳情報を算出して出力する談話内訳算出システムとしてコンピュータを機能させる談話内訳算出プログラムであって、
前記談話セマンティクスは、前記談話データにおいて不要表現に該当しないステートメント、およびこれらのステートメントについて発話者毎の１以上の連続したステートメントから構成されるブロックについての情報を示す簡約情報を含み、
談話の際に参照される１つ以上の前記参照情報についての情報を保持する応対時参照情報を有し、
前記簡約情報に基づいて簡約された前記談話データにおけるブロックを単位として、ブロックに含まれるテキストと前記各参照情報のテキストとの間の表現上の類似度を算出し、ブロックに最も類似する前記参照情報を取得して類似度情報として出力する類似度算出処理と、
前記類似度情報に基づいて、簡約された前記談話データにおける各ブロックについての前記類似度が所定の閾値より高い場合に、当該ブロックが対応する前記参照情報に従って発話されたものであると判断し、発話者毎に、前記参照情報に従って発話されたブロックおよび前記参照情報に従って発話されていないブロックの割合の情報を含む談話内訳情報を算出して出力する談話内訳算出処理とを実行することを特徴とする談話内訳算出プログラム。
【請求項７】
請求項６に記載の談話内訳算出プログラムにおいて、
前記談話セマンティクスは、前記談話データにおける各ステートメントの意味内容を示すフローの情報を含むフロー情報を含み、
前記談話内訳算出処理は、さらに前記談話内訳情報に含まれる情報として、前記談話データにおける各ブロックに含まれるステートメントに設定されたフローが挨拶もしくは相槌であることを示すものの割合をそれぞれ算出することを特徴とする談話内訳算出プログラム。
【請求項８】
請求項６または７に記載の談話内訳算出プログラムにおいて、
前記談話セマンティクスは、前記談話データ内の各ステートメントを形態素に分割して品詞を判別した形態素列の情報を含む形態素情報を含み、
前記類似度算出処理は、前記形態素情報に基づいて、簡約された前記談話データにおけるブロックに含まれるテキストと前記各参照情報のテキストとの間の単語の最長共通部分列を求めることにより、表現上の類似度を算出することを特徴とする談話内訳算出プログラム。
【請求項９】
請求項８に記載の談話内訳算出プログラムにおいて、
前記類似度算出処理は、前記最長共通部分列を求める際に、簡約された前記談話データにおけるブロックに含まれるテキストについては、動詞、名詞および形容詞のみを用い、動詞および形容詞については原形を用いることを特徴とする談話内訳算出プログラム。
【請求項１０】
請求項６〜９のいずれか１項に記載の談話内訳算出プログラムにおいて、
前記参照情報は、オペレータによる顧客応対用のトークスクリプトもしくはＦＡＱであることを特徴とする談話内訳算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語処理の技術に関し、特に、音声認識処理により得られた談話データの構造を解析した結果から談話の内容についての内訳情報を生成する談話内訳算出システムおよび談話内訳算出プログラムに適用して有効な技術に関するものである。
【背景技術】
【０００２】
例えば、コールセンター業務において、いわゆるオペレータやコミュニケータ（以下では単に「オペレータ」と記載する場合がある）は、電話応対後に応対記録を作成して応対管理システム等へ保存するという一連の業務を行う必要がある。このとき、オペレータは、自身の記憶を頼りにして応対記録を作成するため作成に時間がかかるという問題がある。
【０００３】
また、各オペレータのスキルに応じて品質（内容、統一性、網羅性、簡潔性等）にバラツキが生じる。このように応対記録の品質にバラツキがあったり品質が低かったりすることにより、顧客の声を正確に把握することができなかったり、応対記録の蓄積からテキストマイニング等の技術を利用して新たな知見を得るというようなことができなかったりなどの問題も生じる。
【０００４】
このような問題を解決するため、音声認識の技術を活用した解決策が検討されている。音声認識の技術によって応対の音声情報をテキスト化して保存することにより、応対記録の網羅性を確保することができる。また、テキスト化したデータに対して自然言語処理の技術を適用して内容を要約することで応対記録を自動作成することも可能であり、応対記録作成にかかるコストを削減して、統一性、簡潔性を確保することで応対記録の活用性を向上させることも可能と考えられる。
【０００５】
このような技術として、例えば、非特許文献１には、コールセンターにおける音声対話において、音声データをテキスト化し、過去の対話内容とその営業日報から帰納的学習により再帰的に規則獲得を行い、それらの規則を用いて未知の対話内容に対して重要箇所を決定・抽出し、文体変換を行うことで営業日報を自動生成する技術が記載されている。
【０００６】
一方で、コールセンター業務において、いわゆるスーパーバイザーにとっては、オペレータの応対時間の短縮（コスト削減）や応対品質の向上（サービス改善）を図りたいという要望がある。このための施策には例えば、オペレータの教育を行ったり、オペレータが応対する際に参照するいわゆるトークスクリプトやＦＡＱ（Frequently Asked Questions）（以下では単に「トークスクリプト」と総称する場合がある）をメンテナンスしたり等が含まれる。
【０００７】
しかしながら、一般的にスーパーバイザーは多忙であり、上記のような施策を検討するために割ける十分な時間を有していない場合が多く、検討の前提資料となる、コールセンター業務におけるオペレータの応対状況の現状（オペレータが具体的にどのような表現や内容等によって顧客に応対しているのかや、応対時のトークスクリプトの利用状況など）を正確に把握することも困難な状況である。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】矢野純司、荒木健治、“コールセンターにおける音声対話を対象とした帰納的学習を用いた営業日報生成手法の性能評価”、情報処理学会研究報告  ２００７−ＮＬ−１７８、２００７年３月２８日、ｐ．２１−２８
【発明の概要】
【発明が解決しようとする課題】
【０００９】
オペレータの応対状況の現状を把握する手段としては、例えば、オペレータの応対内容を記録した音声情報をモニタリングして解析するといったことが考えられる。しかしながら、全ての音声情報（ログ）を解析することは多大な時間を要するため、例えば、上述した応対記録を作成する際に利用される音声情報をテキスト化したデータを活用することが考えられる。
【００１０】
ここで、人の談話を音声認識によりテキスト化したデータ（以下では「談話データ」と記載する場合がある）を活用する場合、談話データ内の文章は通常は話し言葉で記録されているため、正しい文法に則った日本語文や、書き言葉を前提とした既存の自然言語処理の技術ではうまく対応できない場合がある。また、現状の音声認識エンジンの精度では認識ミスを排除することはできず、誤認識による誤字・脱字などのノイズが多い。従って、談話データについて自然言語処理を利用して解析し、有効活用するのは困難である。
【００１１】
一方、非特許文献１の技術では、帰納的学習処理によって得た規則に基づいて対話文書全体を解析して重要文を抽出し、話し言葉から書き言葉への文体変換を行って営業日報を自動生成することができる。しかしながら、非特許文献１の技術では対話文書から最初に重要文を抽出してしまうため、対話文書の要約を得ることはできるが、談話データの蓄積をその他の有用な用途、例えば、上述したようなオペレータの応対状況の把握などに有効活用するということは困難である。
【００１２】
また、オペレータの応対状況の現状を把握する他の手段としては、例えば、トークスクリプトやＦＡＱの利用状況をログ等から分析することも行われる。しかしながら、このような分析では、トークスクリプトやＦＡＱの検索履歴や参照履歴といったアクセス履歴までは把握できるが、これらにアクセスしたオペレータが実際に応対の際に利用したか否かや、どのように利用したかといった内容は把握することができず、オペレータの主観的評価に頼らざるを得ない。
【００１３】
そこで本発明の目的は、話し言葉やノイズといった談話データの特性に強く、トークスクリプトなどの参照情報に基づいて応対するオペレータ等の発話者による談話について、談話データの構造を解析した結果に基づいて、参照情報の利用状況の情報を含む、発話者による談話の内訳情報を効率よく算出する談話内訳算出システムおよび談話内訳算出プログラムを提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１５】
本発明の代表的な実施の形態による談話内訳算出システムは、音声認識処理によって談話の内容がテキスト化された談話データ、および前記談話データにおける前記談話の構造の解析結果である、前記談話全体の意味内容を把握するための情報である談話セマンティクスを入力とし、談話の際に発話者によって参照される参照情報についての利用状況を含む、発話者による談話の内訳情報を算出して出力する談話内訳算出システムであって、以下の特徴を有するものである。
【００１６】
すなわち、談話内訳算出システムにおいて、前記談話セマンティクスは、前記談話データにおいて不要表現に該当しないステートメント、およびこれらのステートメントについて発話者毎の１以上の連続したステートメントから構成されるブロックについての情報を示す簡約情報を含み、談話内訳算出システムは、談話の際に参照される１つ以上の前記参照情報についての情報を保持する応対時参照情報と、前記簡約情報に基づいて簡約された前記談話データにおけるブロックを単位として、ブロックに含まれるテキストと前記各参照情報のテキストとの間の表現上の類似度を算出し、ブロックに最も類似する前記参照情報を取得して類似度情報として出力する類似度算出部とを有する。
【００１７】
さらに、前記類似度情報に基づいて、簡約された前記談話データにおける各ブロックについての前記類似度が所定の閾値より高い場合に、当該ブロックが対応する前記参照情報に従って発話されたものであると判断し、発話者毎に、前記参照情報に従って発話されたブロックおよび前記参照情報に従って発話されていないブロックの割合の情報を含む談話内訳情報を算出して出力する談話内訳算出部を有することを特徴とするものである。
【００１８】
また、本発明は、コンピュータを上記のような談話内訳算出システムとして機能させるプログラムにも適用することができる。
【発明の効果】
【００１９】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２０】
本発明の代表的な実施の形態によれば、話し言葉やノイズといった談話データの特性に強く、トークスクリプトなどの参照情報に基づいて応対するオペレータ等の発話者による談話について、談話データの構造を解析した結果に基づいて、参照情報の利用状況の情報を含む、発話者による談話の内訳情報を実用上十分な精度で効率よく算出することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施の形態である談話内訳算出システムの構成例の概要について示したブロック図である。
【図２】本発明の一実施の形態における談話構造解析システムの構成例の概要について示したブロック図である。
【図３】本発明の一実施の形態における談話の例および談話セマンティクスの概念について示した図である。
【図４】本発明の一実施の形態における談話データのフローとコンテキストの例について示した図である。
【図５】本発明の一実施の形態における談話構造解析システムのフロー解析ルールの例について示した図である。
【図６】本発明の一実施の形態における談話構造解析システムのフロー解析部でのフロー解析処理の流れの例を示したフローチャートである。
【図７】本発明の一実施の形態における談話構造解析システムの固有表現解析ルールの例について示した図である。
【図８】本発明の一実施の形態における談話構造解析システムの固有表現解析部での固有表現解析処理の流れの例を示したフローチャートである。
【図９】本発明の一実施の形態における談話構造解析システムでの結束性解析の例について示した図である。
【図１０】本発明の一実施の形態における談話構造解析システムの結束性解析部での結束性解析処理の流れの例を示したフローチャートである。
【図１１】本発明の一実施の形態における談話簡約の例について示した図である。
【図１２】本発明の一実施の形態における談話構造解析システムの談話簡約部での談話簡約処理の流れの例を示したフローチャートである。
【図１３】本発明の一実施の形態における談話内訳算出システムでの類似度算出の例について示した図である。
【図１４】（ａ）、（ｂ）は、本発明の一実施の形態における談話内訳情報の具体例について示した図である。
【図１５】本発明の一実施の形態における談話内訳算出システムの類似度算出部および談話内訳算出部での談話内訳算出処理の流れの例を示したフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２３】
本発明の一実施の形態である談話内訳算出システムは、話し言葉を含む談話データについての談話構造の解析結果である談話セマンティクス（談話全体の意味内容を把握するための談話構造に係る情報）に基づいて、例えばコールセンターのオペレータ等の発話者による談話の内容がトークスクリプトなどの応対時の参照情報の中のいずれに最も類似するかを判定し、各オペレータがどの程度トークスクリプトに沿った応対をしているかを集計して内訳情報として出力するシステムである。
【００２４】
ここで、談話セマンティクスとは、例えば、談話データにおける文字列や形態素から意味内容を推測して、談話データ全体について後述するようなフロー、さらには結束性（談話のセグメント）、固有表現、談話簡約などの談話構造の解析を行って得られた解析結果である。この談話セマンティクスは、例えば、後述する談話構造解析システムを用いることによって談話データから生成してもよいし、他の自然言語処理を利用した文章構造の解析システム等を利用して生成してもよい。また、人手によって談話データにタグ付け等を行って作成することも可能である。本実施の形態では、後述する談話構造解析システムを用いて生成するものとして説明する。
【００２５】
本実施の形態における談話セマンティクスは、日本語の文章としての内容や構造の厳密な解析結果である必要はなく、例えば、コールセンターにおける応対記録の作成などにおいて実用上支障のないレベルの精度のものであればよい。なお、本明細書において、「談話」とは１人以上の話者による発話行為を指し、例えば、１人で話す講演会でのスピーチ等や、上述したようなコールセンターのオペレータと顧客とのやり取り、複数人での電話会議やテレビ会議、その他の複数人での会話・対話が含まれる。
【００２６】
図３は、本実施の形態における談話の例および談話セマンティクスの概念について示した図である。図３の例では、コールセンターのオペレータと顧客とのやり取りからなる談話の例を示している。左側の発話はオペレータの発話であり、右側は顧客の発話を示している。本実施の形態では、各話者の発話１文を「ステートメント」と呼ぶものとする。また、話者毎の連続したステートメントのまとまりを「ブロック」と呼ぶものとする（同一話者の連続したステートメントでも時間的に間隔が空いた場合は別のブロックとなる）。
【００２７】
図３において、「フロー」とは、各ステートメントの意味内容を端的に示す情報である。この情報をトレースすることによって談話の流れを把握することができる。例えば、図３のオペレータのステートメントにおいて、最初の“はい。”はフローが“挨拶”になっているのに対し、次の“はい。”ではフローが“相槌”となっている。このように、談話の状況（コンテキスト）に応じて、同じ文言のステートメントであってもフローが異なるものとなる場合がある。
【００２８】
また、図３において、「固有表現」とは、談話の内容を個別に特徴付ける表現であり、例えば、図３のコールセンターでのやり取りの談話では、ＩＤや人名、企業名、電話番号、所在地などの固有名詞等が該当する。また、「セグメント」とは、ブロック毎の談話の内容が共通する（結束する）ものをまとめてセグメント化したものである。上記の「フロー」、「固有表現」、「セグメント」についての情報は、談話構造の解析結果として「談話セマンティクス」の構成要素となる。
【００２９】
［システム構成（談話構造解析システム）］
図２は、本発明の一実施の形態における談話構造解析システムの構成例の概要について示したブロック図である。談話構造解析システム２は、サーバやＰＣ（Personal Computer）等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装される前処理部１０、フロー解析部２０、形態素解析部３０、固有表現解析部４０、結束性解析部５０、および談話簡約部６０の各部と、フロー解析ルール２２、および固有表現解析ルール４２の各テーブルを有し、音声認識エンジン３によって談話の内容がテキスト化された談話データ１００を入力として、談話構造の解析を行って談話セマンティクス２００を出力する。
【００３０】
なお、音声認識エンジン３には既存のものを利用することができる。本実施の形態の談話構造解析システム２は、上述したように、談話データ１００のノイズ（音声認識エンジン３による認識ミス等）に強いという特徴を有するが、音声認識エンジン３の認識率が高いほうがより精度の高い談話構造の解析を行うことが可能であることはいうまでもない。
【００３１】
談話構造解析システム２の前処理部１０は、談話データ１００の入力を受けて、必要に応じて、他の各部での処理が可能なようにデータのレイアウト変換などの前処理を行う機能を有する。ここでは、例えば、話者毎に連続したステートメントをブロックとしてまとめて、各ブロックおよび各ステートメントに順序を示すシーケンス番号（ＩＤ）を割り振ったり、各ブロックの話者のデータを抽出・設定したりなどの処理を行う。なお、談話データ１００は、例えば、ＸＭＬ（eXtended Markup Language）などを利用したデータ構造として表される。
【００３２】
フロー解析部２０は、前処理部１０による前処理後の談話データ１００に対して、フロー解析ルール２２に基づくルールベースでのフローの解析を行い、解析結果としてフロー情報２１を出力する機能を有する。フロー情報２１は、談話データ１００内の各ステートメントのＩＤとこれに対応するフローの情報を保持し、例えば、ＸＭＬなどを利用したデータ構造として表される。
【００３３】
このフロー情報２１は、談話構造解析システム２の出力として談話セマンティクス２００に含まれ、必須の構成要素となる。すなわち、談話セマンティクス２００には、少なくとも談話データ１００についてのフローの解析結果としてフロー情報２１が含まれる。なお、フロー解析ルール２２の内容、およびフロー解析部２０での処理の詳細については後述する。
【００３４】
形態素解析部３０は、前処理部１０による前処理後の談話データ１００に対して、形態素（言語における意味を持つ最小の単位）の列に分割して品詞を判別するいわゆる形態素解析を行い、解析結果として形態素情報３１を出力する機能を有する。形態素情報３１は、談話データ１００内の各ステートメントのＩＤとこれに対応する形態素列の情報を保持し、例えば、ＸＭＬなどを利用したデータ構造として表される。
【００３５】
この形態素情報３１は、フロー情報２１と同様に、談話構造解析システム２の出力として談話セマンティクス２００に含まれるとともに、後述する固有表現解析部４０や結束性解析部５０に対する入力となる。すなわち、固有表現解析部４０による固有表現の解析や、結束性解析部５０による結束性の解析（セグメント化）を行わない場合は、形態素解析部３０による形態素解析は不要な場合がある。本実施の形態では、後述する談話内訳算出システムにおいて形態素情報３１を利用するため、形態素解析部３０による形態素解析は必須である。なお、形態素解析部３０には既存の形態素解析エンジン（例えば、ＭｅＣａｂ（和布蕪）やＣｈａＳｅｎ（茶筌）など）を利用することができる。
【００３６】
固有表現解析部４０は、前処理部１０による前処理後の談話データ１００と、形態素解析部３０から出力された形態素情報３１とに基づいて、固有表現解析ルール４２に基づくルールベースでの固有表現の解析を行い、解析結果として固有表現情報４１を出力する機能を有する。すなわち、固有表現解析部４０での解析処理は、少なくとも形態素解析部３０による形態素解析が行われていることが前提となる。固有表現情報４１は、談話データ１００内の各ステートメントＩＤとこれに対応する固有表現のリストの情報を保持し、例えば、ＸＭＬなどを利用したデータ構造として表される。
【００３７】
この固有表現情報４１は、フロー情報２１と同様に、談話構造解析システム２の出力として談話セマンティクス２００に含まれるが、その後の談話セマンティクス２００を利用するアプリケーション等による利用形態や、求められる談話セマンティクスの精度などによって不要な場合もあり得る。従って、固有表現情報４１の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。なお、固有表現解析ルール４２の内容、および固有表現解析部４０での処理の詳細については後述する。
【００３８】
結束性解析部５０は、前処理部１０による前処理後の談話データ１００と、フロー解析部２０から出力されたフロー情報２１および形態素解析部３０から出力された形態素情報３１に基づいて、各ブロックの結束性の解析を行ってセグメント化し、解析結果として結束性情報５１を出力する機能を有する。すなわち、固有表現解析部４０での解析処理は、少なくとも形態素解析部３０による形態素解析、およびフロー解析部２０によるフローの解析が行われていることが前提となる。結束性情報５１は、談話データ１００内の各ブロックＩＤと対応するセグメントＩＤの情報を保持し、例えば、ＸＭＬなどを利用したデータ構造として表される。
【００３９】
この結束性情報５１は、固有表現情報４１と同様に、談話構造解析システム２の出力として談話セマンティクス２００に含まれるが、その後の談話セマンティクス２００を利用するアプリケーション等による利用形態や、求められる談話セマンティクスの精度などによっては不要な場合もあり得る。従って、結束性情報５１の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。なお、結束性解析部５０での処理の詳細については後述する。
【００４０】
談話簡約部６０は、前処理部１０による前処理後の談話データ１００と、フロー解析部２０から出力されたフロー情報２１とに基づいて、談話データ１００から不要表現を削除して談話における意味のある部分を抽出し（以下では抽出された談話データ１００を「簡約」と記載する場合がある）、処理結果として簡約情報６１を出力する機能を有する。すなわち、談話簡約部６０での簡約処理は、少なくともフロー解析部２０によるフローの解析が行われていることが前提となる。簡約情報６１は、例えば、談話データ１００から簡約として抽出された各ステートメントのＩＤと、新たに構成されたブロックや、そのＩＤの情報を保持し、例えば、ＸＭＬなどを利用したデータ構造として表される。
【００４１】
この簡約情報６１は、フロー情報２１と同様に、談話構造解析システム１の出力として談話セマンティクス２００に含まれるが、その後の談話セマンティクス２００を利用するアプリケーション等による利用形態や、求められる談話セマンティクス２００の精度などによっては必要ではない場合もあり得る。従って、簡約情報６１の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。本実施の形態では、後述する談話内訳算出システムにおいて簡約情報６１を利用するため、簡約情報６１の出力は必須である。なお、談話簡約部６０での処理の詳細については後述する。
【００４２】
談話構造解析システム２による解析結果として出力される談話セマンティクス２００は、上述したように、フロー情報２１や、形態素情報３１、固有表現情報４１、結束性情報５１、簡約情報６１を含んで構成される。このとき、単にこれらのデータの集合を談話セマンティクス２００として取り扱ってもよいし、例えば、これらのデータをＸＭＬを利容した１つのデータ構造に結合してもよい。
【００４３】
［システム構成（談話内訳算出システム）］
図１は、本発明の一実施の形態である談話内訳算出システムの構成例の概要について示したブロック図である。談話内訳算出システム１は、談話構造解析システム２と同様に、サーバやＰＣ等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装される類似度算出部７０、および談話内訳算出部８０の各部と、トークスクリプト７２のテーブルもしくはデータベースを有する。上記構成により、談話の内容がテキスト化された談話データ１０１と、談話データ１０１についての談話構造の解析結果である談話セマンティクス２００とを入力として、談話データ１０１についてオペレータ毎に応対内容の内訳を集計した談話内訳情報３００を算出して出力する。
【００４４】
なお、談話データ１０１は、上述した談話構造解析システム２の前処理部１０によって前処理されたものと同等のもの、すなわち、例えば、話者毎に連続したステートメントがブロックとしてまとめられ、各ブロックおよび各ステートメントに順序を示すシーケンス番号（ＩＤ）が割り振られ、各ブロックの話者のデータが設定されている状態のものである。また、談話セマンティクス２００は、例えば、上述した談話構造解析システム２等によって、談話データ１０１について談話構造（フロー、固有表現、結束性、形態素、および談話簡約）の解析が行われた結果として出力されたものである。
【００４５】
なお、本実施の形態では、談話構造解析システム２によって出力された談話構造の解析結果を談話内訳算出システム１に入力する構成としているが、例えば、これらのシステムを１つのコンピュータシステム上に構成し、談話構造の解析処理から談話内訳情報３００の生成までの処理を連続的に実行するようにしてもよい。
【００４６】
談話内訳算出システム１の類似度算出部７０は、談話データ１０１と、談話セマンティクス２００の形態素情報３１および簡約情報６１とに基づいて、簡約された談話データ１０１の各ブロックについてトークスクリプト７２内の各トークスクリプトとの間の表現上の類似度を算出して最も類似するトークスクリプトを取得し、類似度情報７１を出力する機能を有する。類似度情報７１は、各ブロックのＩＤと、これに最も類似するトークスクリプトの情報および類似度の情報を保持する。
【００４７】
談話内訳算出部８０は、談話データ１０１と、談話セマンティクス２００のフロー情報２１、および類似度情報７１に基づいて、オペレータ毎にどの程度トークスクリプトに沿った応対をしているかの情報を含む応対内容の内訳情報を算出し、談話内訳情報３００として出力する機能を有する。類似度算出部７０および談話内訳算出部８０での処理の詳細については後述する。
【００４８】
［フロー解析］
以下では、図２に示した談話構造解析システム２のフロー解析部２０によるフロー解析の処理の詳細について説明する。図４は、談話データ１００におけるフローとコンテキストの例について示した図である。本実施の形態では、コンテキストは談話の各ブロックに対して設定される。図４の例では、最初のブロック（話者：オペレータ）のコンテキストは“開始”であり、次のブロック（話者：顧客）およびその次のブロック（話者：オペレータ）はともに“陳述”となっている。
【００４９】
図４の例に示すように、本実施の形態では、原則として、対象のブロックのコンテキストとして、異なる話者の直前のブロックの最後のステートメントに設定されたフローを設定する。なお、談話データ１００の先頭のブロックについては直前のブロックがないため、コンテキストとして常に“開始”を設定するものとする。このようにコンテキストを判断することによって、同じ文言のステートメントであっても談話のコンテキストに沿ったフローの解析が可能となる。
【００５０】
図５は、談話構造解析システム２のフロー解析ルール２２の例について示した図である。フロー解析ルール２２は、ファイルやデータベース等に保持されており、ステートメント中におけるフローを判断するための表現（以下では「フロー表現」と記載する場合がある）と、当該フロー表現とマッチする表現を有するステートメントに対してそのコンテキストに応じて設定するフローのパターン（以下では「フロー定義」と記載する場合がある）との対応について予め指定したリストを保持するテーブルである。
【００５１】
図５の例に示すように、フロー表現は、フローを判断するための手掛かりとなる文字列の正規表現（例えば、“/はい。/”や“/ですか。/”）によって指定する。従って、フロー解析部２０もしくは談話構造解析システム２は、例えば、既存の正規表現ライブラリなどを導入することにより正規表現に必要な処理を行うことができるようにしておく必要がある。
【００５２】
なお、フロー表現として指定する文字列は、例えば、話し言葉において談話の流れ上特徴的となる文頭の挨拶、返事や、助詞、接続詞、文末表現などを指定するのが望ましく、これらを適用の優先度が高い順に指定する。優先度については、例えば、所定の条件により正規表現の複雑度を計算し、複雑度の降順で優先度を設定するようにしてもよい。なお、指定するフロー表現のパターンは、談話構造解析システム２が対象とする談話の種類（例えば、コールセンターでのやり取りや、企業における定例会議など）に応じて異なる場合がある。
【００５３】
各フロー表現に対しては、例えば“flow”のラベルによって、フロー定義を指定する。フロー定義では、対象のステートメントのコンテキストと、当該ステートメントに設定するフロー（例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、コンテキストが“開始”の場合はフローとして“挨拶”を設定する）を指定する。“flow”のラベルによるフロー定義は、各フロー表現において想定されるコンテキストの種類に応じて複数指定することができる。
【００５４】
また、例えば“default”のラベルによって、対象のステートメントのコンテキストがいずれの“flow”のラベルにも該当しなかった場合に設定するフローであるデフォルトフロー（例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、当該ステートメントのコンテキストがいずれの“flow”のラベルにもマッチしない場合はフローとして“相槌”を設定する）を指定する。なお、デフォルトフローは、各フロー表現において必ず１つ設定するものとする。
【００５５】
フロー定義の指定は、談話構造解析システム２が対象とする談話の種類に応じて、一般的な談話の流れのパターンとして主要なものを指定するのが望ましい。例えば、コールセンターでのやり取りにおいては、顧客が“苦情”を発した場合はオペレータは“謝罪”する、などのパターンに基づいて、フロー定義を指定することができる。
【００５６】
フロー解析ルール２２では、上述のように、指定するフロー表現や対応するフロー定義の内容が談話構造解析システム２が対象とする談話の種類に応じて異なる場合があるため、談話の種類に応じて適用するフロー解析ルール２２を複数保持して、ユーザが切り換えられるようにするなど、談話の特性に応じて柔軟に対応することも可能である。
【００５７】
なお、上述のように、本実施の形態では、フロー解析ルール２２において品詞の指定は行っていない。すなわち、フロー解析部２０においては品詞の判断を行わないため、フロー解析部２０での解析処理に際して、事前に形態素解析部３０による形態素解析を行う必要はない。なお、より精度を上げるために形態素情報３１を利用して、例えば、フロー解析ルール２２のフロー表現における正規表現を、後述するように形態素情報３１の形態素列（品詞の情報も含む）に対して適用するようにして、より詳細な条件でマッチングを行うようすることも可能である。
【００５８】
図６は、談話構造解析システム２のフロー解析部２０におけるフロー解析処理の流れの例を示したフローチャートである。フロー解析部２０は、フロー解析処理を開始すると、まず、前処理部１０による前処理後の談話データ１００の各ステートメントについて処理を繰り返すループ処理を開始する（Ｓ１０１）。各ステートメントについてのループ処理を開始すると、フロー解析ルール２２の各フロー表現について処理を繰り返すループ処理を開始する（Ｓ１０２）。
【００５９】
各フロー表現についてのループ処理を開始すると、対象のステートメントと対象のフロー表現とがマッチするか否かを判定する（Ｓ１０３）。マッチしない場合は次のフロー表現の処理に移る（Ｓ１０８、Ｓ１０２）。一方、マッチする場合は、まず、対象のステートメントについて、当該ステートメントが属するブロックの直前のブロックにおける最終ステートメントに設定されているフローをコンテキストとして設定する（Ｓ１０４）。このとき、図４で示したように、当該ステートメントが属するブロックが談話データ１００の最初のブロックである場合には、コンテキストに“開始”を設定する。
【００６０】
次に、ステップＳ１０４で設定したコンテキストについて、対象のフロー表現におけるフロー定義の”flow”ラベルで指定されたコンテキストとマッチするものがあるか否かを判定する（Ｓ１０５）。マッチするものがある場合には、マッチするフロー定義におけるコンテキストに対応するフローを、対象のステートメントのフローとして設定する（Ｓ１０６）。一方、マッチするものがない場合は、デフォルトフローを対象のステートメントのフローとして設定する（Ｓ１０７）。その後、各フロー表現についてのループ処理を抜ける。
【００６１】
各フロー表現についてのループ処理が終了すると、対象のステートメントにフローが設定されているか否かを判定する（Ｓ１０９）。フローが設定されている場合は何も行わず、また、フローが設定されていない場合は、対象のステートメントに“陳述”のフローを設定して（Ｓ１１０）、次のステートメントの処理に移る（Ｓ１１１、Ｓ１０１）。各ステートメントについてのループ処理が全て終了した場合は、各ステートメントのＩＤとこれに対応するフローの情報をフロー情報２１として出力してフロー解析処理を終了する。
【００６２】
このように、話し言葉を考慮したフロー表現によって各ステートメントとマッチングし、マッチしたステートメントのコンテキストに応じて適切なフローを設定することで、談話データ１００の全体について話し言葉やノイズに影響されにくいフロー解析を行うことができる。
【００６３】
［固有表現解析］
以下では、図２に示した談話構造解析システム２の固有表現解析部４０による固有表現解析の処理の詳細について説明する。図７は、談話構造解析システム２の固有表現解析ルール４２の例について示した図である。固有表現解析ルール４２は、ファイルやデータベース等に保持されており、ステートメント中の固有表現を特定するための正規表現と、当該正規表現とマッチする部分から固有表現を特定して抽出するための規則（以下では「固有表現規則」と記載する場合がある）との対応について予め指定したリストを保持するテーブルである。
【００６４】
図７の例に示すように、ステートメント中の固有表現は正規表現によって特定する。従って、固有表現解析部４０もしくは談話構造解析システム２は、例えば、既存の正規表現ライブラリなどを導入することにより正規表現に必要な処理を行うことができるようにしておく必要がある。なお、固有表現解析においては、通常の文字列に対する正規表現だけではなく、形態素情報３１に保持された各ステートメントの形態素列の表現についても判断する必要があるため、正規表現の処理機能を形態素列の情報を判断することができるよう拡張しておく。
【００６５】
例えば、図７の例では、各正規表現中で形態素列の範囲を“（  ）”で指定しており、この部分については文字列ではなく形態素列の情報とマッチングするようにする。１つ目の正規表現の例では、“（＜ｆ：組織＞＋）”の部分は、品詞（ｆ）が“組織”であると解析された１つ以上の形態素列を示しており、“（？：の）？”の部分は、表層形が“の”であると解析された０以上１つ以下の品詞を示している。また、“（＜ｆ：人名，姓＞）”の部分は、品詞が“人名，姓”であると解析された１つの形態素列を示している。この正規表現は、例えば、“ＡＡＡ商事の鈴木”や、“ＡＡＡ商事鈴木”などの表現とマッチする。なお、形態素列の表現については、形態素解析部３０における形態素解析エンジン等の出力仕様によって異なる場合がある。
【００６６】
このとき、対応する固有表現規則において、当該形態素列における１番目の要素（品詞が“組織”の形態素列、例えば“ＡＡＡ商事”）を“企業名”という属性を有する固有表現として特定し、形態素列における２番目の要素（品詞が“人名，姓”の形態素列、例えば“鈴木”）を“人名”という属性を有する固有表現として特定するよう指定している。なお、“（？：  ）”で囲われた部分（例えば、“の”）については対象の形態素列の要素に含まれないものとして取り扱う。
【００６７】
図７の２つ目の正規表現の例では、品詞は特に考慮せずに通常の正規表現によって指定しており、“０３−１２３４−５６７８”などの電話番号の表現にマッチする。このとき、対応する固有表現規則において、当該形態素列における１番目の要素（この例で要素は“０３−１２３４−５６７８”等の１つしかない）を“電話番号”という属性を有する固有表現として特定するよう指定している。
【００６８】
なお、正規表現によって特定される固有表現の文字列は、例えば、談話の内容を個別に特徴付ける固有名詞や、数値等からなる文字列などを指定するのが望ましい。また、例えば、話者（顧客等）の感情を示す表現（例えば、苦情の表現や感謝の表現など）からなる文字列を指定して、対応する感情の属性を有する固有表現として特定するようにしてもよい。なお、解析結果として、ある文字列が複数の固有表現に含まれるという場合もあり得る。
【００６９】
固有表現解析ルール４２には、上述のように、固有表現を特定するための正規表現と固有表現規則との対応のリストを予め指定しておくが、フロー解析ルール２２と同様に、指定する正規表現や対応する固有表現規則については、談話構造解析システム２が対象とする談話の種類に応じて異なるものを設定したり、談話の種類に応じて適用する固有表現解析ルール４２をユーザが切り換えたりなど、談話の特性に応じて柔軟に対応することが可能である。
【００７０】
図８は、談話構造解析システム２の固有表現解析部４０における固有表現解析処理の流れの例を示したフローチャートである。固有表現解析部４０は、固有表現解析処理を開始すると、まず、談話データ１００の各ステートメントについて処理を繰り返すループ処理を開始する（Ｓ２０１）。各ステートメントについてのループ処理を開始すると、固有表現解析ルール４２の固有表現を特定するための各正規表現について処理を繰り返すループ処理を開始する（Ｓ２０２）。
【００７１】
各正規表現についてのループ処理を開始すると、対象のステートメントに対応する形態素情報３１内の各形態素列と、対象の正規表現とがマッチするか否かを判定する（Ｓ２０３）。マッチしない場合は次の正規表現の処理に移る（Ｓ２０５、Ｓ２０２）。一方、マッチする場合は、対象の正規表現に対応する固有表現規則を適用して固有表現を特定して抽出し（Ｓ２０４）、次の正規表現の処理に移る（Ｓ２０５、Ｓ２０２）。
【００７２】
各正規表現についてのループ処理が全て終了した場合は、次のステートメントの処理に移る（Ｓ２０６、Ｓ２０１）。各ステートメントについてのループ処理が全て終了した場合は、各ステートメントのＩＤとこれに対応する固有表現のリストの情報を固有表現情報４１として出力して固有表現解析処理を終了する。
【００７３】
このように、形態素列の品詞を考慮した正規表現によるマッチングと形態素列の抽出を行うことで、例えば助詞の省略などの話し言葉特有の文法を考慮した固有表現解析を行うことができる。
【００７４】
［結束性解析］
以下では、図２に示した談話構造解析システム２の結束性解析部５０による結束性解析の処理の詳細について説明する。図９は、談話構造解析システム２での結束性解析の例について示した図である。結束性解析処理では、まず、上段の図に示すように、談話データ１００における全てのブロックを１つのセグメントとして設定する。
【００７５】
その後、まず、セグメントの分割処理を行う。分割処理では、各ステートメントについてフロー情報２１において特定の種別のフローが設定されているものを判別し、当該ステートメントが属するブロックにおいてセグメントを分割する。ここで、判別するフローの種別は、談話の切れ目や内容が切り替わる際に出現すると推測されるフローであることが望ましい。
【００７６】
例えば、コールセンターにおけるやり取りを始めとする複数人の談話の場合は、質問とそれに対する回答等の応答によって談話が進む場合が多いため、フローが“質問”のステートメントにおいて内容が切り替わることが多いと考えられる。従って、本実施の形態では、フロー情報２１に基づいてフローが“質問”のステートメント（以下では“質問ステートメント”と記載する場合がある）を判別し、図９の中段の図に示すように、質問ステートメントが出現するたびにセグメントを分割するものとする。
【００７７】
その後、セグメントの統合処理を行う。統合処理では、各セグメントについて予め定められた統合条件に該当する質問ステートメントを有する場合に、当該質問ステートメントを有するセグメントを直前のセグメントと統合する。ここで、統合条件は、当該質問ステートメントを有するセグメントについて以前のセグメントから内容が継続している（以前のセグメントと結束性が高い）と推測させる表現の指定である。
【００７８】
統合条件としては、例えば、当該質問ステートメントについて、直前の質問ステートメントと共通する単語（固有名詞）がある場合や、指示詞を含む場合などが挙げられる。これらの統合条件に該当する質問ステートメントを有するセグメントは以前のセグメントと結束性が高いと判断し、図９の下段の図に示すように、直前のセグメントと統合する。なお、統合処理については、統合可能なセグメントがなくなるまで繰り返すものとする。
【００７９】
図１０は、談話構造解析システム２の結束性解析部５０における結束性解析処理の流れの例を示したフローチャートである。結束性解析部５０は、結束性解析処理を開始すると、まず、談話データ１００の全てのブロックを１つのセグメントに設定する（Ｓ３０１）。具体的には、例えば、全てのブロックにセグメントＩＤの初期値を割り当てるなどによって設定する。その後、セグメントの分割処理として、談話データ１００の各ブロックについて処理を繰り返すループ処理を開始する（Ｓ３０２）。
【００８０】
各ブロックについてのループ処理を開始すると、対象のブロックに質問ステートメントが含まれているか否か（フローが“質問”のステートメントがあるか否か）を判定する（Ｓ３０３）。質問ステートメントが含まれている場合は、対象のブロックと直前のブロックとの間でセグメントを分割する（Ｓ３０４）。具体的には、例えば、対象のブロック以降の全てのブロックに次のセグメントＩＤを割り当てるなどによって分割する。その後、次のブロックの処理に移る（Ｓ３０５、Ｓ３０２）。
【００８１】
各ブロックについてのループ処理（分割処理）が終了した場合は、次に、セグメントの結合処理として、上記の分割処理で分割した各セグメントについて処理を繰り返すループ処理を開始する（Ｓ３０６）。各セグメントについてのループ処理を開始すると、対象のセグメントに上記の統合条件に該当する質問ステートメントがあるか否かを判定する（Ｓ３０７）。
【００８２】
統合条件に該当する質問ステートメントがある場合は、対象のセグメントと直前のセグメントとを統合する（Ｓ３０８）。具体的には、例えば、対象のセグメントに含まれる各ブロックのセグメントＩＤを直前のセグメントのセグメントＩＤに更新するなどによって統合する。このとき、以降の各セグメントに含まれる各ブロックのセグメントＩＤを順次繰り上げてもよい。その後、次のセグメントの処理に移る（Ｓ３０９、Ｓ３０６）。各セグメントについてのループ処理（統合処理）が終了した場合は、各ブロックのＩＤと対応する（各ブロックが含まれる）セグメントのＩＤのリストの情報を結束性情報５１として出力して、結束性解析処理を終了する。
【００８３】
これにより、フロー解析によって得られたフロー情報２１に基づいて談話データ１００内の各ステートメントをセグメント化し、談話セマンティクス２００を利用する種々のアプリケーションに対する有用な情報とすることができる。
【００８４】
［談話簡約］
以下では、図２に示した談話構造解析システム２の談話簡約部６０による談話簡約の処理の詳細について説明する。図１１は、談話簡約の例について示した図である。談話簡約処理では、フロー解析部２０によって解析された各ステートメントのフローの情報に基づいて、談話データ１００から相槌や挨拶等の不要表現を削除し、その他の部分を談話における本質的な部分として抽出する。
【００８５】
図１１の例に示すように、上段のフロー解析が行われた談話データ１００に対して、フローが“挨拶”、“相槌”、“定型”と判定されたステートメントを不要表現として削除し、さらに、同じ発話者が続くブロックを連結して１つのブロックに再構成することによって、下段に示すような簡約を得ることができる。なお、本実施の形態では不要表現であると判断するフローを“挨拶”、“相槌”、“定型（談話の内容と直接の関わりなく使用される定型的な表現を示すフロー）” と定義しているが、談話の種類に応じて不要表現と判断するフローの定義を適宜変更してもよい。
【００８６】
図１２は、談話構造解析システム２の談話簡約部６０における談話簡約処理の流れの例を示したフローチャートである。談話簡約部６０は、談話簡約処理を開始すると、まず、談話データ１００の各ステートメントについて処理を繰り返すループ処理を開始する（Ｓ４０１）。各ステートメントについてのループ処理を開始すると、対象のステートメントについてフロー情報２１を参照し、フローが“挨拶”、“相槌”、“定型”のいずれかに該当するか否かを判定する（Ｓ４０２）。
【００８７】
フローがいずれにも該当しない場合は、対象のステートメントは不要表現ではないとして、この情報を識別するため対象のステートメントに対して簡約フラグを設定する（Ｓ４０３）。本実施の形態では不要表現ではないステートメントに簡約フラグを設定するものとしているが、逆に、ステップＳ４０２において対象のステートメントがいずれかのフローに該当する場合に、不要表現であるとして不要表現フラグを設定するようにしてもよい。その後、次のステートメントの処理に移る（Ｓ４０４、Ｓ４０１）。
【００８８】
各ステートメントについてのループ処理が終了した場合は、簡約フラグが設定されたステートメント（不要表現を削除した残りのステートメント）によってブロックを再構成する（Ｓ４０５）。ここでは、不要表現が削除されたことにより同じ発話者のブロックが連続することになる場合に、これらを結合して１つのブロックとする（例えば、図１１の下段の談話データ１００における最終ブロック）。このとき例えば、結合したブロックが所定の長さよりも長くなる場合は、分割して適当な長さの複数のブロックとしてもよい。ブロックを再構成した後、ブロックＩＤを採番し直すようにしてもよい。その後、簡約フラグが設定された各ステートメントのＩＤと、再構成したブロックの情報を簡約情報６１として出力して談話簡約処理を終了する。
【００８９】
これにより、談話データ１００の内容をできるだけ忠実に、かつ本質的な部分を漏らさずに圧縮してデータ量を削減することができ、その後の談話セマンティクス２００を利用する種々のアプリケーションにおける分析効率や利用効率を向上させることができる。
【００９０】
なお、上述のフロー解析、固有表現解析、結束性解析、談話簡約の各処理によって出力された談話セマンティクス２００に含まれるフロー情報２１、固有表現情報４１、結束性情報５１、簡約情報６１については、談話構造解析システム２において、ユーザが内容を参照して適宜修正することが可能なインタフェースを設けてもよい。
【００９１】
［談話内訳算出］
以下では、図１に示した談話内訳算出システム１の類似度算出部７０および談話内訳算出部８０による談話内訳情報の算出処理の詳細について説明する。図１３は、談話内訳算出システム１での類似度算出の例について示した図である。図１３の上段左は、談話データ１０１に含まれる各ブロックの内容の例を示しており、上段右はトークスクリプト７２に含まれる各トークスクリプトの内容の例を示している。
【００９２】
トークスクリプト７２内の各スクリプトは、図１３の例に示すように、オペレータが対応する業務（例えば保険業務における“解約”や“住所変更”など）毎に定義された一連の発話毎に、スクリプトＩＤが割り振られて、その内容を示すテキスト（発話すべき内容）が、定義されている。また、次スクリプトＩＤを定義することによって、一連のトークスクリプトからなる業務のフローを定義することができる。なお、顧客の応答内容や状況等に応じて次スクリプトの定義を分岐させるような条件を指定可能としてもよい。
【００９３】
談話内訳算出システム１の類似度算出部７０では、談話データ１０１の各ブロックのテキストについて、トークスクリプト７２の各トークスクリプトのテキストとの表現上の類似度を算出し、最も類似度が高いテキストからなるトークスクリプトを特定する。この類似度が所定の閾値よりも高い場合は、対象のブロックにおいて、発話者（本実施の形態ではオペレータ）は、ここで特定されたトークスクリプト（最も類似度が高いトークスクリプト）に従って発話したものと推定することができる。対象のブロックと最も類似度が高いトークスクリプトの情報および類似度の値は図１３の下段に示すように類似度情報７１に出力される。
【００９４】
オペレータが一つのトークスクリプトに従って発話した場合であっても、間に“挨拶”や“相槌”等のステートメントが含まれている場合、談話データ１０１におけるブロックはこれらにより分断され複数のブロックにまたがった状態となる。このような状態では、各トークスクリプトのテキストと適切に比較することはできない。従って、本実施の形態では、談話セマンティクス２００に含まれる簡約情報６１に基づいて談話データ１０１を簡約した結果から各ブロックの情報を取得するものとする。すなわち、談話データ１０１から“挨拶”や“相槌”等の不要表現を削除し、さらに、同じ発話者が続くブロックを連結して１つのブロックに再構成したものから各ブロックの情報を取得する。ここで得られたブロックを利用することにより、両テキストの粒度を合わせてより効果的な比較をすることができる。
【００９５】
簡約された談話データ１０１における各ブロックのテキストと各トークスクリプトのテキストとの表現上の類似度を算出する手段については特に限定されず、種々のものを利用することができる。例えば、一般的に用いられる手法として、両テキストに含まれる単語の並びについてＬＣＳ（Longest Common Subsequence）アルゴリズムによりいわゆる最長共通部分列の長さを算出し、これを正規化する等によって類似度とすることができる。
【００９６】
談話データ１０１に含まれる各談話についてブロック毎に類似度の情報を算出した結果である類似度情報７１と、談話セマンティクス２００内のフロー情報２１に基づいて、発話者（オペレータ）毎に談話の内容を集計して談話内訳情報３００を得ることができる。図１４は、談話内訳情報３００の具体例について示した図である。図１４の例では、談話内訳情報３００の内容を表形式で端末の画面上に表示する場合を示している。
【００９７】
図１４（ａ）は、各オペレータについて一月ごとに全談話（応対）の内訳を集計した情報を示している。ここでは例えば、応対回数および平均応対時間と、応対内容の内訳として、“挨拶”および“相槌”を行った割合（％）、トークスクリプト７２内のいずれかのトークスクリプトに合致した発話を行った割合、上記のいずれにも該当しない発話を行った割合を集計して表示している。同様に、図１４（ｂ）は、図１４（ａ）の詳細情報として、各オペレータについて談話（応対）毎に応対時間および応対内容の内訳を集計して表示している。
【００９８】
図１４において、例えば、相槌の割合が多い場合は顧客の発話を聴いている姿勢をよく出していると判断することも可能である。また、トークスクリプトに合致した発話の割合とその他の発話の割合の割合について、トークスクリプトに合致した発話の割合が高い場合は、トークスクリプトに示された内容に従って正しく応対している（業務を行っている）、もしくはトークスクリプトが有効であると評価することができる。一方で、割合が高すぎる場合は顧客に対して応対が事務的であるという印象を与えがちであると評価することも可能である。
【００９９】
逆にその他の発話の割合が高い場合は、トークスクリプトに示された内容について独断で表現を変えて発話している場合や、話が脇道に逸れることが多いなどの要因が考えられる。また、状況に適合するトークスクリプトがない、もしくはトークスクリプトが役に立っていないと評価することもできる。一方で、オペレータが顧客の発話に対して臨機応変に柔軟に応対していると評価される場合もあり得る。
【０１００】
従って、談話の実際の内容を参照して判断することも必要となる場合がある。図１４の各表において、例えば左端の列の各月や各応対開始日時の項目をハイパーリンクとしておき、該当のリンクを選択することで、対応する談話の内容を談話データ１０１から取得して表示するようにしてもよい。
【０１０１】
図１５は、談話内訳算出システム１の類似度算出部７０および談話内訳算出部８０における談話内訳算出処理の流れの例を示したフローチャートである。談話内訳算出処理を開始すると、まず、類似度算出部７０は、簡約情報６１により簡約された談話データ１０１の各ブロックについて処理を繰り返すループ処理を開始する（Ｓ５０１）。各ブロックについてのループ処理を開始すると、対象のブロック内のテキストについてＬＣＳアルゴリズムにより類似度を算出する対象となる単語を抽出する（Ｓ５０２）。ここでは、形態素情報３１に基づいて、動詞、名詞、形容詞のみを対象として抽出する。さらに、動詞、形容詞については活用は原形を使用する。これにより、微妙な言い回しの違いにより合致しないとして類似度が必要以上に下がることを防止して精度を向上させることができる。
【０１０２】
次に、トークスクリプト７２内の各トークスクリプトについて処理を繰り返すループ処理を開始する（Ｓ５０３）。各トークスクリプトについてのループ処理を開始すると、対象のトークスクリプトについて形態素解析を行い、形態素の列に分割して品詞を判別する（Ｓ５０４）。このとき、ステップＳ５０２と同様に、動詞、形容詞については原形を使用するものとする。また、動詞、名詞、形容詞のみを抽出してもよい。形態素解析については既存の形態素解析エンジンを利用することができ、また、談話構造解析システム２の形態素解析部３０を利用してもよい。
【０１０３】
次に、ステップＳ５０２で取得した対象のブロック内の各単語と、ステップＳ５０４で取得した対象のトークスクリプト内の各単語との間で、表現上の類似度を算出する（Ｓ５０５）。例えば上述したように、ＬＣＳアルゴリズムにより最長共通部分列の長さを算出し、これを正規化して類似度とすることができる。その後、次のトークスクリプトの処理に移る（Ｓ５０６、Ｓ５０３）。
【０１０４】
各トークスクリプトについてのループ処理が終了した場合は、ステップＳ５０５で算出した類似度が最も高いトークスクリプトを選択して類似度情報７１に出力する（Ｓ５０７）。その後、次のブロックの処理に移る（Ｓ５０８、Ｓ５０１）。各ブロックについてのループ処理が終了した場合は、類似度情報７１の内訳をオペレータ毎に集計して談話内訳情報３００を算出して出力し（Ｓ５０９）、談話内訳算出処理を終了する。
【０１０５】
談話内訳情報３００を算出する際は、例えば、各ブロックの発話内容が“挨拶”か“相槌”か等については、フロー情報２１を参照して判断することができる。また、トークスクリプトに従った発話であるか否かについては、ステップＳ５０５で算出した類似度が所定の閾値よりも高いか否かで判断することができる。このように算出された談話内訳情報３００に基づいて、例えば、図１４に示すような出力画面を表示させることができる。
【０１０６】
以上に説明したように、本発明の一実施の形態である談話内訳算出システム１によれば、簡約された談話データ１０１の各ブロックと、トークスクリプト７２内の各トークスクリプトとの表現上の類似度を算出することで、オペレータの発話がいずれのトークスクリプトに最も類似するかを判定する。この情報と、談話セマンティクス２００に含まれるフロー情報２１に基づいて、オペレータの談話の内訳（挨拶や相槌か否か、トークスクリプトに合致した発話か否か等）を実用上十分な精度で効率よく算出することが可能となる。
【０１０７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１０８】
本発明は、音声認識処理により得られた談話データの構造を解析した結果から談話の内容についての内訳情報を生成する談話内訳算出システムおよび談話内訳算出プログラムに利用可能である。
【符号の説明】
【０１０９】
１…談話内訳算出システム、２…談話構造解析システム、３…音声認識エンジン、
１０…前処理部、
２０…フロー解析部、２１…フロー情報、２２…フロー解析ルール、
３０…形態素解析部、３１…形態素情報、
４０…固有表現解析部、４１…固有表現情報、４２…固有表現解析ルール、
５０…結束性解析部、５１…結束性情報、
６０…談話簡約部、６１…簡約情報、
７０…類似度算出部、７１…類似度情報、７２…トークスクリプト、
８０…談話内訳算出部、
１００、１０１…談話データ、２００…談話セマンティクス、３００…談話内訳情報。
【図１】
0005457284.tif 000002
【図２】
0005457284.tif 000003
【図３】
0005457284.tif 000004
【図４】
0005457284.tif 000005
【図５】
0005457284.tif 000006
【図６】
0005457284.tif 000007
【図７】
0005457284.tif 000008
【図８】
0005457284.tif 000009
【図９】
0005457284.tif 000010
【図１０】
0005457284.tif 000011
【図１１】
0005457284.tif 000012
【図１２】
0005457284.tif 000013
【図１３】
0005457284.tif 000014
【図１４】
0005457284.tif 000015
【図１５】
0005457284.tif 000016