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