(58)【調査した分野】(Int.Cl.,DB名)
談話の内容がテキスト化された談話データに基づいて前記談話についての要約を生成する際に用いられ、前記談話データにおいて所定の内容の発話を行っているものと想定され前記要約に含めるべき部分を特定するための単語の連接のパターンと、前記要約に含める要約文章のひな型との対応のリストが指定され、前記連接のパターンと前記談話データとがマッチした場合に、マッチした前記連接のパターンに対応する前記要約文章のひな型から前記要約文章を生成して前記要約とするために用いられる要約テンプレートを作成する談話要約テンプレート作成システムであって、
過去の要約である要約記録が蓄積された要約履歴から前記要約記録を取得して類似するものに分類してクラスタ化するクラスタリング部と、
前記クラスタ毎に、当該クラスタに含まれる前記要約記録から代表となる要約記録を選択して候補文とする候補文選択部と、
前記各候補文について固有表現をパラメータに置換して前記要約文章のひな形とし、前記要約テンプレートを作成するテンプレート化部とを有し、
前記クラスタリング部は、
前記要約履歴内の前記各要約記録に含まれる各単語について、前記各要約記録における各単語の重要度をスコア化し、前記要約記録毎に各単語についての前記スコアを要素とする単語ベクトルを生成し、前記単語ベクトル間の距離に基づいて前記各要約記録をクラスタリングし、
前記テンプレート化部は、
前記クラスタ毎に、各単語について前記スコアにより順位付けを行い、上位の1つ以上の単語からなる組み合わせを、当該クラスタにおける前記候補文から作成された前記要約文章のひな形に対応する前記連接のパターンとして前記要約テンプレートに設定することを特徴とする談話要約テンプレート作成システム。
談話の内容がテキスト化された談話データに基づいて前記談話についての要約を生成する際に用いられ、前記談話データにおいて所定の内容の発話を行っているものと想定され前記要約に含めるべき部分を特定するための単語の連接のパターンと、前記要約に含める要約文章のひな型との対応のリストが指定され、前記連接のパターンと前記談話データとがマッチした場合に、マッチした前記連接のパターンに対応する前記要約文章のひな型から前記要約文章を生成して前記要約とするために用いられる要約テンプレートを作成する談話要約テンプレート作成システムとしてコンピュータを動作させる談話要約テンプレート作成プログラムであって、
過去の要約である要約記録が蓄積された要約履歴から前記要約記録を取得して類似するものに分類してクラスタ化するクラスタリング処理と、
前記クラスタ毎に、当該クラスタに含まれる前記要約記録から代表となる要約記録を選択して候補文とする候補文選択処理と、
前記各候補文について固有表現をパラメータに置換して前記要約文章のひな形とし、前記要約テンプレートを作成するテンプレート化処理とを実行し、
前記クラスタリング処理では、
前記要約履歴内の前記各要約記録に含まれる各単語について、前記各要約記録における各単語の重要度をスコア化し、前記要約記録毎に各単語についての前記スコアを要素とする単語ベクトルを生成し、前記単語ベクトル間の距離に基づいて前記各要約記録をクラスタリングし、
前記テンプレート化処理では、
前記クラスタ毎に、各単語について前記スコアにより順位付けを行い、上位の1つ以上の単語からなる組み合わせを、当該クラスタにおける前記候補文から作成された前記要約文章のひな形に対応する前記連接のパターンとして前記要約テンプレートに設定することを特徴とする談話要約テンプレート作成プログラム。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0020】
本発明の一実施の形態である談話要約テンプレート作成システムは、話し言葉を含む談話データについての談話構造の解析結果である談話セマンティクス(談話全体の意味内容を把握するための談話構造に係る情報)に基づいて、予め定義された構造の要約文章を生成するために用いる要約テンプレートを作成するシステムである。後述するように、この要約テンプレートに指定した単語の連接のパターンが談話データに含まれる場合に、当該要約テンプレートに指定した要約文章を出力することで、例えば、コールセンターにおける応対記録などの談話データの要約を生成する談話要約生成システムを実現することができる。
【0021】
ここで、談話セマンティクスとは、例えば、談話データにおける文字列や形態素から意味内容を推測して、談話データ全体について後述するようなフロー、さらには結束性(談話のセグメント)、固有表現、談話簡約などの談話構造の解析を行って得られた解析結果である。この談話セマンティクスは、例えば、後述する談話構造解析システムを用いることによって談話データから生成してもよいし、他の自然言語処理を利用した文章構造の解析システム等を利用して生成してもよい。また、人手によって談話データにタグ付け等を行って作成することも可能である。本実施の形態では、後述する談話構造解析システムを用いて生成するものとして説明する。
【0022】
本実施の形態における談話セマンティクスは、日本語の文章としての内容や構造の厳密な解析結果である必要はなく、例えば、コールセンターにおける応対記録の作成などの実用上支障のないレベルの精度のものであればよい。なお、本明細書において、「談話」とは1人以上の話者による発話行為を指し、例えば、1人で話す講演会でのスピーチ等や、上述したようなコールセンター業務におけるオペレータ等と顧客とのやり取り、複数人での電話会議やテレビ会議、その他の複数人での会話・対話などが含まれる。
【0023】
図3は、本実施の形態における談話の例および談話セマンティクスの概念について示した図である。
図3の例では、コールセンターのオペレータと顧客とのやり取りからなる談話の例を示している。左側の発話はオペレータの発話であり、右側は顧客の発話を示している。本実施の形態では、各話者の発話1文を「ステートメント」と呼ぶものとする。また、話者毎の連続したステートメントのまとまりを「ブロック」と呼ぶものとする(同一話者の連続したステートメントでも時間的に間隔が空いた場合は別のブロックとなる)。
【0024】
図3において、「フロー」とは、各ステートメントの意味内容を端的に示す情報である。この情報をトレースすることによって談話の流れを把握することができる。例えば、
図3のオペレータのステートメントにおいて、最初の“はい。”はフローが“挨拶”になっているのに対し、次の“はい。”ではフローが“相槌”となっている。このように、談話の状況(コンテキスト)に応じて、同じ文言のステートメントであってもフローが異なるものとなる場合がある。
【0025】
また、
図3において、「固有表現」とは、談話の内容を個別に特徴付ける表現であり、例えば、
図3のコールセンターでのやり取りの談話では、IDや人名、企業名、電話番号、所在地などの固有名詞等が該当する。また、「セグメント」とは、ブロック毎の談話の内容が共通する(結束する)ものをまとめてセグメント化したものである。上記の「フロー」、「固有表現」、「セグメント」についての情報は、談話構造の解析結果として「談話セマンティクス」の構成要素となる。
【0026】
[システム構成(談話構造解析システム)]
図2は、本発明の一実施の形態における談話構造解析システムの構成例の概要について示したブロック図である。談話構造解析システム3は、サーバやPC(Personal Computer)等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装される前処理部31、フロー解析部32、形態素解析部34、固有表現解析部35、結束性解析部33、および談話簡約部36の各部と、フロー解析ルール37、および固有表現解析ルール38の各テーブルを有し、音声認識エンジン4によって談話の内容がテキスト化された談話データ51を入力として、談話構造の解析を行って談話セマンティクス57を出力する。
【0027】
なお、音声認識エンジン4には既存のものを利用することができる。本実施の形態の談話構造解析システム3は、上述したように、談話データ51のノイズ(音声認識エンジン4による認識ミス等)に強いという特徴を有するが、音声認識エンジン4の認識率が高いほうがより精度の高い談話構造の解析を行うことが可能であることはいうまでもない。
【0028】
談話構造解析システム3の前処理部31は、談話データ51の入力を受けて、必要に応じて、他の各部での処理が可能なようにデータのレイアウト変換などの前処理を行う機能を有する。ここでは、例えば、話者毎に連続したステートメントをブロックとしてまとめて、各ブロックおよび各ステートメントに順序を示すシーケンス番号(ID)を割り振ったり、各ブロックの話者のデータを抽出・設定したりなどの処理を行う。なお、談話データ51は、例えば、XML(eXtended Markup Language)などを利用したデータ構造として表される。
【0029】
フロー解析部32は、前処理部31による前処理後の談話データ51に対して、フロー解析ルール37に基づくルールベースでのフローの解析を行い、解析結果としてフロー情報53を出力する機能を有する。フロー情報53は、談話データ51内の各ステートメントのIDとこれに対応するフローの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0030】
このフロー情報53は、談話構造解析システム3の出力として談話セマンティクス57に含まれ、必須の構成要素となる。すなわち、談話セマンティクス57には、少なくとも談話データ51についてのフローの解析結果としてフロー情報53が含まれる。なお、フロー解析ルール37の内容、およびフロー解析部32での処理の詳細については後述する。
【0031】
形態素解析部34は、前処理部31による前処理後の談話データ51に対して、形態素(言語における意味を持つ最小の単位)の列に分割して品詞を判別するいわゆる形態素解析を行い、解析結果として形態素情報55を出力する機能を有する。形態素情報55は、談話データ51内の各ステートメントのIDとこれに対応する形態素列の情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0032】
この形態素情報55は、フロー情報53と同様に、談話構造解析システム3の出力として談話セマンティクス57に含まれるとともに、後述する固有表現解析部35や結束性解析部33に対する入力となる。すなわち、固有表現解析部35による固有表現の解析や、結束性解析部33による結束性の解析(セグメント化)を行わない場合は、形態素解析部34による形態素解析は不要な場合がある。本実施の形態では、後述する談話要約テンプレート作成システムおよび談話要約生成システムにおいて、固有表現解析部35によって解析された固有表現を利用するため、形態素解析部34による形態素解析は必須である。なお、形態素解析部34には既存の形態素解析エンジン(例えば、MeCab(和布蕪)やChaSen(茶筌)など)を利用することができる。
【0033】
固有表現解析部35は、前処理部31による前処理後の談話データ51と、形態素解析部34から出力された形態素情報55とに基づいて、固有表現解析ルール38に基づくルールベースでの固有表現の解析を行い、解析結果として固有表現情報56を出力する機能を有する。すなわち、固有表現解析部35での解析処理は、少なくとも形態素解析部34による形態素解析が行われていることが前提となる。固有表現情報56は、談話データ51内の各ステートメントIDとこれに対応する固有表現のリストの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0034】
この固有表現情報56は、フロー情報53と同様に、談話構造解析システム3の出力として談話セマンティクス57に含まれるが、その後の談話セマンティクス57を利用するアプリケーション等による利用形態や、求められる談話セマンティクスの精度などによって不要な場合もあり得る。従って、固有表現情報56の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。本実施の形態では、後述する談話要約テンプレート作成システムおよび談話要約生成システムにおいて固有表現情報56を利用するため、固有表現情報56の出力は必須である。なお、固有表現解析ルール38の内容、および固有表現解析部35での処理の詳細については後述する。
【0035】
結束性解析部33は、前処理部31による前処理後の談話データ51と、フロー解析部32から出力されたフロー情報53および形態素解析部34から出力された形態素情報55に基づいて、各ブロックの結束性の解析を行ってセグメント化し、解析結果として結束性情報54を出力する機能を有する。すなわち、結束性解析部33での解析処理は、少なくとも形態素解析部34による形態素解析、およびフロー解析部32によるフローの解析が行われていることが前提となる。結束性情報54は、談話データ51内の各ブロックIDと対応するセグメントIDの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0036】
この結束性情報54は、固有表現情報56と同様に、談話構造解析システム3の出力として談話セマンティクス57に含まれるが、その後の談話セマンティクス57を利用するアプリケーション等による利用形態や、求められる談話セマンティクスの精度などによっては不要な場合もあり得る。従って、結束性情報54の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。本実施の形態では、後述する談話要約テンプレート作成システムおよび談話要約生成システムにおいて結束性情報54を利用する場合があり、その状況に応じて結束性情報54を出力するようにしてもよい。なお、結束性解析部33での処理の詳細については後述する。
【0037】
談話簡約部36は、前処理部31による前処理後の談話データ51と、フロー解析部32から出力されたフロー情報53とに基づいて、談話データ51から不要表現を削除して談話における意味のある部分を抽出し(以下では抽出された談話データ51を「簡約」と記載する場合がある)、処理結果として簡約情報52を出力する機能を有する。すなわち、談話簡約部36での簡約処理は、少なくともフロー解析部32によるフローの解析が行われていることが前提となる。簡約情報52は、例えば、談話データ51から簡約として抽出された各ステートメントのIDと、新たに構成されたブロックや、そのIDの情報を保持し、例えば、XMLなどを利用したデータ構造として表される。
【0038】
この簡約情報52は、フロー情報53と同様に、談話構造解析システム3の出力として談話セマンティクス57に含まれるが、その後の談話セマンティクス57を利用するアプリケーション等による利用形態や、求められる談話セマンティクス57の精度などによっては必要ではない場合もあり得る。従って、簡約情報52の出力は必須ではなく、出力の有無をユーザが選択可能としてもよい。本実施の形態では、後述する談話要約テンプレート作成システムおよび談話要約生成システムにおいて簡約情報52を利用するため、簡約情報52の出力は必須である。なお、談話簡約部36での処理の詳細については後述する。
【0039】
談話構造解析システム3による解析結果として出力される談話セマンティクス57は、上述したように、フロー情報53や、形態素情報55、固有表現情報56、結束性情報54、簡約情報52を含んで構成される。このとき、単にこれらのデータの集合を談話セマンティクス57として取り扱ってもよいし、例えば、これらのデータをXMLを利容した1つのデータ構造に結合してもよい。
【0040】
[システム構成(談話要約テンプレート作成システム)]
図1は、本発明の一実施の形態である談話要約テンプレート作成システムの構成例の概要について示したブロック図である。談話要約テンプレート作成システム1は、談話構造解析システム3と同様に、サーバやPC等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装されるクラスタリング部11、候補文選択部12、およびテンプレート化部13などの各部を有する。また、クラスタ情報14、および要約テンプレート15などのテーブルもしくはデータベースを有し、過去の談話内容についてのそれぞれの要約が蓄積されたデータベースやファイル等からなる要約履歴61を入力として、要約の表現やパターンとして頻出するものを含む文など、要約としてまとめるべき文を選択し、これに基づいて要約テンプレート15を生成するシステムである。
【0041】
ここで、要約履歴61は、例えば本実施の形態では、コールセンターの各オペレータが顧客に対する応対内容を要約して報告するために作成した応対記録(要約記録)が蓄積されたものである。各応対記録は、例えば、オペレータと顧客との間の談話の内容に基づいて
図2に示した談話構造解析システム3および
図1において後述する談話要約生成システム2によって生成された要約59から作成されたものであってもよいし、オペレータが応対内容を手動で要約して記録したものであってもよい。
【0042】
なお、談話構造解析システム3および談話要約生成システム2によって生成された要約59から応対記録を作成した場合は、当該応対記録の基礎となった談話データ51が存在しており、これに対して談話構造解析システム3によって構造が解析され、談話セマンティクス57’が生成されていることになる。オペレータが手動で要約して記録したものである場合はそのようなデータは存在しないことになるが、この場合は、各応対記録から、例えば
図2に示した談話構造解析システム3の形態素解析部34や固有表現解析部35などの各部によって、形態素情報55や固有表現情報56などの談話セマンティクス57’を予め生成しておいてもよい。
【0043】
クラスタリング部11は、要約履歴61に含まれる各要約(応対記録)を取得して、その表現(内容)に基づいて類似するものに分類してクラスタを生成し、その情報をクラスタ情報14に記録する機能を有する。クラスタリングの手法については特に限定されず、文章をクラスタリングする公知の手法を適宜使用することができる。例えば、後述するように、要約履歴61の各応対記録に含まれる各単語について、各応対記録における当該単語の重要度をスコア化して当該スコアを要素とする単語ベクトルを生成し、各応対記録についての単語ベクトル間の距離に基づいてk−means法などによりクラスタリングする。
【0044】
候補文選択部12は、クラスタ情報14に記録されたクラスタの情報に基づいて、各クラスタに含まれる応対記録から代表となる文、すなわちテンプレート化する候補となる文を選択する機能を有する。候補文を選択する手法としては、例えば、クラスタリング部11で要約履歴61内の各応対記録について単語毎に算出した重要度のスコアを合計し、当該合計が最大(最も重要度が高いと考えられる)の応対記録を候補文として選択する。さらに、テンプレート化されることを考慮して、例えば、応対記録の文章の短さや、パラメータ化することが可能な単語(固有名詞等の内容語)の多さなどによりスコアに重み付けを行うようにしてもよい。
【0045】
テンプレート化部13は、候補文選択部12によって各クラスタから選択された候補文に基づいて、後述するような要約テンプレート15を作成する機能を有する。作成された要約テンプレート15をドラフトとして、これに対して管理者等のユーザが内容の修正や追加・削除等の編集を行なって最終的な要約テンプレート15を作成するようにしてもよい。作成された要約テンプレート15は、例えば、談話要約生成システム2に取り込まれ、談話データから要約(応対記録)を生成するために利用される。
【0046】
談話要約生成システム2は、談話要約テンプレート作成システム1と同様に、サーバやPC等のコンピュータシステムによって構成され、例えば、ソフトウェアプログラムによって実装される談話要約部21と、談話要約テンプレート作成システム1によって作成された要約テンプレート15を有し、談話の内容がテキスト化された談話データ58と、談話データ58についての談話構造の解析結果である談話セマンティクス57とを入力として、談話データ58についての要約59を生成して出力する。
【0047】
なお、談話データ58は、上述した談話構造解析システム3の前処理部31によって談話データ51に対して前処理したものと同等のもの、すなわち、例えば、話者毎に連続したステートメントがブロックとしてまとめられ、各ブロックおよび各ステートメントに順序を示すシーケンス番号(ID)が割り振られ、各ブロックの話者のデータが設定されている状態のものである。また、談話セマンティクス57は、例えば、上述した談話構造解析システム3等によって、談話データ58について談話構造(フロー、固有表現、結束性、形態素、および談話簡約)の解析が行われた結果として出力されたものである。
【0048】
なお、本実施の形態では、談話構造解析システム3によって出力された談話構造の解析結果を談話要約生成システム2に入力する構成とし、談話要約生成システム2で用いる要約テンプレート15を談話要約テンプレート作成システム1で作成するものとしているが、このような構成に限らない。例えば、これらのシステムの内の1つ以上を1つのコンピュータシステム上に構成し、作成した要約テンプレート15が要約の際に自動的に用いられるようにしたり、談話構造の解析処理から要約59の生成までの処理を連続的に実行可能としたりしてもよい。
【0049】
談話要約生成システム2の談話要約部21は、談話セマンティクス57の固有表現情報56、結束性情報54、および簡約情報52とに基づいて、談話データ58に要約テンプレート15に指定した単語の連接のパターンが含まれる場合に、要約テンプレート15に指定した要約文章を生成して出力する機能を有する。要約59は、要約テンプレート15として予め指定された構成・パターンに従って談話データ58の内容をまとめた形式を有し、テキストデータや、XMLなどを利用したデータ構造として表される。要約テンプレート15および要約59の内容、談話要約部21での処理の詳細については後述する。
【0050】
[フロー解析]
以下では、
図2に示した談話構造解析システム3のフロー解析部32によるフロー解析の処理の詳細について説明する。
図4は、談話データ51におけるフローとコンテキストの例について示した図である。本実施の形態では、コンテキストは談話の各ブロックに対して設定される。
図4の例では、最初のブロック(話者:オペレータ)のコンテキストは“開始”であり、次のブロック(話者:顧客)およびその次のブロック(話者:オペレータ)はともに“陳述”となっている。
【0051】
図4の例に示すように、本実施の形態では、原則として、対象のブロックのコンテキストとして、異なる話者の直前のブロックの最後のステートメントに設定されたフローを設定する。なお、談話データ51の先頭のブロックについては直前のブロックがないため、コンテキストとして常に“開始”を設定するものとする。このようにコンテキストを判断することによって、同じ文言のステートメントであっても談話のコンテキストに沿ったフローの解析が可能となる。
【0052】
図5は、談話構造解析システム3のフロー解析ルール37の例について示した図である。フロー解析ルール37は、ファイルやデータベース等に保持されており、ステートメント中におけるフローを判断するための表現(以下では「フロー表現」と記載する場合がある)と、当該フロー表現とマッチする表現を有するステートメントに対してそのコンテキストに応じて設定するフローのパターン(以下では「フロー定義」と記載する場合がある)との対応について予め指定したリストを保持するテーブルである。
【0053】
図5の例に示すように、フロー表現は、フローを判断するための手掛かりとなる文字列の正規表現(例えば、“/はい。/”や“/ですか。/”)によって指定する。従って、フロー解析部32もしくは談話構造解析システム3は、例えば、既存の正規表現ライブラリなどを導入することにより正規表現に必要な処理を行うことができるようにしておく必要がある。
【0054】
なお、フロー表現として指定する文字列は、例えば、話し言葉において談話の流れ上特徴的となる文頭の挨拶、返事や、助詞、接続詞、文末表現などを指定するのが望ましく、これらを適用の優先度が高い順に指定する。優先度については、例えば、所定の条件により正規表現の複雑度を計算し、複雑度の降順で優先度を設定するようにしてもよい。なお、指定するフロー表現のパターンは、談話構造解析システム3が対象とする談話の種類(例えば、コールセンターでのやり取りや、企業における定例会議など)に応じて異なる場合がある。
【0055】
各フロー表現に対しては、例えば“flow”のラベルによって、フロー定義を指定する。フロー定義では、対象のステートメントのコンテキストと、当該ステートメントに設定するフロー(例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、コンテキストが“開始”の場合はフローとして“挨拶”を設定する)を指定する。“flow”のラベルによるフロー定義は、各フロー表現において想定されるコンテキストの種類に応じて複数指定することができる。
【0056】
また、例えば“default”のラベルによって、対象のステートメントのコンテキストがいずれの“flow”のラベルにも該当しなかった場合に設定するフローであるデフォルトフロー(例えば、“/はい。/”のフロー表現とマッチするステートメントにおいて、当該ステートメントのコンテキストがいずれの“flow”のラベルにもマッチしない場合はフローとして“相槌”を設定する)を指定する。なお、デフォルトフローは、各フロー表現において必ず1つ設定するものとする。
【0057】
フロー定義の指定は、談話構造解析システム3が対象とする談話の種類に応じて、一般的な談話の流れのパターンとして主要なものを指定するのが望ましい。例えば、コールセンターでのやり取りにおいては、顧客が“苦情”を発した場合はオペレータは“謝罪”する、などのパターンに基づいて、フロー定義を指定することができる。
【0058】
フロー解析ルール37では、上述のように、指定するフロー表現や対応するフロー定義の内容が談話構造解析システム3が対象とする談話の種類に応じて異なる場合があるため、談話の種類に応じて適用するフロー解析ルール37を複数保持して、ユーザが切り換えられるようにするなど、談話の特性に応じて柔軟に対応することも可能である。
【0059】
なお、上述のように、本実施の形態では、フロー解析ルール37において品詞の指定は行っていない。すなわち、フロー解析部32においては品詞の判断を行わないため、フロー解析部32での解析処理に際して、事前に形態素解析部34による形態素解析を行う必要はない。なお、より精度を上げるために形態素情報55を利用して、例えば、フロー解析ルール37のフロー表現における正規表現を、後述するように形態素情報55の形態素列(品詞の情報も含む)に対して適用するようにして、より詳細な条件でマッチングを行うようすることも可能である。
【0060】
図6は、談話構造解析システム3のフロー解析部32におけるフロー解析処理の流れの例を示したフローチャートである。フロー解析部32は、フロー解析処理を開始すると、まず、前処理部31による前処理後の談話データ51の各ステートメントについて処理を繰り返すループ処理を開始する(S101)。各ステートメントについてのループ処理を開始すると、フロー解析ルール37の各フロー表現について処理を繰り返すループ処理を開始する(S102)。
【0061】
各フロー表現についてのループ処理を開始すると、対象のステートメントと対象のフロー表現とがマッチするか否かを判定する(S103)。マッチしない場合は次のフロー表現の処理に移る(S108、S102)。一方、マッチする場合は、まず、対象のステートメントについて、当該ステートメントが属するブロックの直前のブロックにおける最終ステートメントに設定されているフローをコンテキストとして設定する(S104)。このとき、
図4で示したように、当該ステートメントが属するブロックが談話データ51の最初のブロックである場合には、コンテキストに“開始”を設定する。
【0062】
次に、ステップS104で設定したコンテキストについて、対象のフロー表現におけるフロー定義の“flow”ラベルで指定されたコンテキストとマッチするものがあるか否かを判定する(S105)。マッチするものがある場合には、マッチするフロー定義におけるコンテキストに対応するフローを、対象のステートメントのフローとして設定する(S106)。一方、マッチするものがない場合は、デフォルトフローを対象のステートメントのフローとして設定する(S107)。その後、各フロー表現についてのループ処理を抜ける。
【0063】
各フロー表現についてのループ処理が終了すると、対象のステートメントにフローが設定されているか否かを判定する(S109)。フローが設定されている場合は何も行わず、また、フローが設定されていない場合は、対象のステートメントに“陳述”のフローを設定して(S110)、次のステートメントの処理に移る(S111、S101)。各ステートメントについてのループ処理が全て終了した場合は、各ステートメントのIDとこれに対応するフローの情報をフロー情報53として出力してフロー解析処理を終了する。
【0064】
このように、話し言葉を考慮したフロー表現によって各ステートメントとマッチングし、マッチしたステートメントのコンテキストに応じて適切なフローを設定することで、談話データ51の全体について話し言葉やノイズに影響されにくいフロー解析を行うことができる。
【0065】
[固有表現解析]
以下では、
図2に示した談話構造解析システム3の固有表現解析部35による固有表現解析の処理の詳細について説明する。
図7は、談話構造解析システム3の固有表現解析ルール38の例について示した図である。固有表現解析ルール38は、ファイルやデータベース等に保持されており、ステートメント中の固有表現を特定するための正規表現と、当該正規表現とマッチする部分から固有表現を特定して抽出するための規則(以下では「固有表現規則」と記載する場合がある)との対応について予め指定したリストを保持するテーブルである。
【0066】
図7の例に示すように、ステートメント中の固有表現は正規表現によって特定する。従って、固有表現解析部35もしくは談話構造解析システム3は、例えば、既存の正規表現ライブラリなどを導入することにより正規表現に必要な処理を行うことができるようにしておく必要がある。なお、固有表現解析においては、通常の文字列に対する正規表現だけではなく、形態素情報55に保持された各ステートメントの形態素列の表現についても判断する必要があるため、正規表現の処理機能を形態素列の情報を判断することができるよう拡張しておく。
【0067】
例えば、
図7の例では、各正規表現中で形態素列の範囲を“( )”で指定しており、この部分については文字列ではなく形態素列の情報とマッチングするようにする。1つ目の正規表現の例では、“(<f:組織>+)”の部分は、品詞(f)が“組織”であると解析された1つ以上の形態素列を示しており、“(?:の)?”の部分は、表層形が“の”であると解析された0以上1つ以下の品詞を示している。また、“(<f:人名,姓>)”の部分は、品詞が“人名,姓”であると解析された1つの形態素列を示している。この正規表現は、例えば、“AAA商事の鈴木”や、“AAA商事鈴木”などの表現とマッチする。なお、形態素列の表現については、形態素解析部34における形態素解析エンジン等の出力仕様によって異なる場合がある。
【0068】
このとき、対応する固有表現規則において、当該形態素列における1番目の要素(品詞が“組織”の形態素列、例えば“AAA商事”)を“企業名”という属性を有する固有表現として特定し、形態素列における2番目の要素(品詞が“人名,姓”の形態素列、例えば“鈴木”)を“人名”という属性を有する固有表現として特定するよう指定している。なお、“(?: )”で囲われた部分(例えば、“の”)については対象の形態素列の要素に含まれないものとして取り扱う。
【0069】
図7の2つ目の正規表現の例では、品詞は特に考慮せずに通常の正規表現によって指定しており、“03−1234−5678”などの電話番号の表現にマッチする。このとき、対応する固有表現規則において、当該形態素列における1番目の要素(この例で要素は“03−1234−5678”等の1つしかない)を“電話番号”という属性を有する固有表現として特定するよう指定している。
【0070】
なお、正規表現によって特定される固有表現の文字列は、例えば、談話の内容を個別に特徴付ける固有名詞や、数値等からなる文字列などを指定するのが望ましい。また、例えば、話者(顧客等)の感情を示す表現(例えば、苦情の表現や感謝の表現など)からなる文字列を指定して、対応する感情の属性を有する固有表現として特定するようにしてもよい。なお、解析結果として、ある文字列が複数の固有表現に含まれるという場合もあり得る。
【0071】
固有表現解析ルール38には、上述のように、固有表現を特定するための正規表現と固有表現規則との対応のリストを予め指定しておくが、フロー解析ルール37と同様に、指定する正規表現や対応する固有表現規則については、談話構造解析システム3が対象とする談話の種類に応じて異なるものを設定したり、談話の種類に応じて適用する固有表現解析ルール38をユーザが切り換えたりなど、談話の特性に応じて柔軟に対応することが可能である。
【0072】
図8は、談話構造解析システム3の固有表現解析部35における固有表現解析処理の流れの例を示したフローチャートである。固有表現解析部35は、固有表現解析処理を開始すると、まず、談話データ51の各ステートメントについて処理を繰り返すループ処理を開始する(S201)。各ステートメントについてのループ処理を開始すると、固有表現解析ルール38の固有表現を特定するための各正規表現について処理を繰り返すループ処理を開始する(S202)。
【0073】
各正規表現についてのループ処理を開始すると、対象のステートメントに対応する形態素情報55内の各形態素列と、対象の正規表現とがマッチするか否かを判定する(S203)。マッチしない場合は次の正規表現の処理に移る(S205、S202)。一方、マッチする場合は、対象の正規表現に対応する固有表現規則を適用して固有表現を特定して抽出し(S204)、次の正規表現の処理に移る(S205、S202)。
【0074】
各正規表現についてのループ処理が全て終了した場合は、次のステートメントの処理に移る(S206、S201)。各ステートメントについてのループ処理が全て終了した場合は、各ステートメントのIDとこれに対応する固有表現のリストの情報を固有表現情報56として出力して固有表現解析処理を終了する。
【0075】
このように、形態素列の品詞を考慮した正規表現によるマッチングと形態素列の抽出を行うことで、例えば助詞の省略などの話し言葉特有の文法を考慮した固有表現解析を行うことができる。
【0076】
[結束性解析]
以下では、
図2に示した談話構造解析システム3の結束性解析部33による結束性解析の処理の詳細について説明する。
図9は、談話構造解析システム3での結束性解析の例について示した図である。結束性解析処理では、まず、上段の図に示すように、談話データ51における全てのブロックを1つのセグメントとして設定する。
【0077】
その後、まず、セグメントの分割処理を行う。分割処理では、各ステートメントについてフロー情報53において特定の種別のフローが設定されているものを判別し、当該ステートメントが属するブロックにおいてセグメントを分割する。ここで、判別するフローの種別は、談話の切れ目や内容が切り替わる際に出現すると推測されるフローであることが望ましい。
【0078】
例えば、コールセンターにおけるやり取りを始めとする複数人の談話の場合は、質問とそれに対する回答等の応答によって談話が進む場合が多いため、フローが“質問”のステートメントにおいて内容が切り替わることが多いと考えられる。従って、本実施の形態では、フロー情報53に基づいてフローが“質問”のステートメント(以下では“質問ステートメント”と記載する場合がある)を判別し、
図9の中段の図に示すように、質問ステートメントが出現するたびにセグメントを分割するものとする。
【0079】
その後、セグメントの統合処理を行う。統合処理では、各セグメントについて予め定められた統合条件に該当する質問ステートメントを有する場合に、当該質問ステートメントを有するセグメントを直前のセグメントと統合する。ここで、統合条件は、当該質問ステートメントを有するセグメントについて以前のセグメントから内容が継続している(以前のセグメントと結束性が高い)と推測させる表現の指定である。
【0080】
統合条件としては、例えば、当該質問ステートメントについて、直前の質問ステートメントと共通する単語(固有名詞)がある場合や、指示詞を含む場合などが挙げられる。これらの統合条件に該当する質問ステートメントを有するセグメントは以前のセグメントと結束性が高いと判断し、
図9の下段の図に示すように、直前のセグメントと統合する。なお、統合処理については、統合可能なセグメントがなくなるまで繰り返すものとする。
【0081】
図10は、談話構造解析システム3の結束性解析部33における結束性解析処理の流れの例を示したフローチャートである。結束性解析部33は、結束性解析処理を開始すると、まず、談話データ51の全てのブロックを1つのセグメントに設定する(S301)。具体的には、例えば、全てのブロックにセグメントIDの初期値を割り当てるなどによって設定する。その後、セグメントの分割処理として、談話データ51の各ブロックについて処理を繰り返すループ処理を開始する(S302)。
【0082】
各ブロックについてのループ処理を開始すると、対象のブロックに質問ステートメントが含まれているか否か(フローが“質問”のステートメントがあるか否か)を判定する(S303)。質問ステートメントが含まれている場合は、対象のブロックと直前のブロックとの間でセグメントを分割する(S304)。具体的には、例えば、対象のブロック以降の全てのブロックに次のセグメントIDを割り当てるなどによって分割する。その後、次のブロックの処理に移る(S305、S302)。
【0083】
各ブロックについてのループ処理(分割処理)が終了した場合は、次に、セグメントの結合処理として、上記の分割処理で分割した各セグメントについて処理を繰り返すループ処理を開始する(S306)。各セグメントについてのループ処理を開始すると、対象のセグメントに上記の統合条件に該当する質問ステートメントがあるか否かを判定する(S307)。
【0084】
統合条件に該当する質問ステートメントがある場合は、対象のセグメントと直前のセグメントとを統合する(S308)。具体的には、例えば、対象のセグメントに含まれる各ブロックのセグメントIDを直前のセグメントのセグメントIDに更新するなどによって統合する。このとき、以降の各セグメントに含まれる各ブロックのセグメントIDを順次繰り上げてもよい。その後、次のセグメントの処理に移る(S309、S306)。各セグメントについてのループ処理(統合処理)が終了した場合は、各ブロックのIDと対応する(各ブロックが含まれる)セグメントのIDのリストの情報を結束性情報54として出力して、結束性解析処理を終了する。
【0085】
これにより、フロー解析によって得られたフロー情報53に基づいて談話データ51内の各ステートメントをセグメント化し、談話セマンティクス57を利用する種々のアプリケーションに対する有用な情報とすることができる。
【0086】
[談話簡約]
以下では、
図2に示した談話構造解析システム3の談話簡約部36による談話簡約の処理の詳細について説明する。
図11は、談話簡約の例について示した図である。談話簡約処理では、フロー解析部32によって解析された各ステートメントのフローの情報に基づいて、談話データ51から相槌や挨拶等の不要表現を削除し、その他の部分を談話における本質的な部分として抽出する。
【0087】
図11の例に示すように、上段のフロー解析が行われた談話データ51に対して、フローが“挨拶”、“相槌”、“定型”と判定されたステートメントを不要表現として削除し、さらに、同じ発話者が続くブロックを連結して1つのブロックに再構成することによって、下段に示すような簡約を得ることができる。なお、本実施の形態では不要表現であると判断するフローを“挨拶”、“相槌”、“定型(談話の内容と直接の関わりなく使用される定型的な表現を示すフロー)”と定義しているが、談話の種類に応じて不要表現と判断するフローの定義を適宜変更してもよい。
【0088】
図12は、談話構造解析システム3の談話簡約部36における談話簡約処理の流れの例を示したフローチャートである。談話簡約部36は、談話簡約処理を開始すると、まず、談話データ51の各ステートメントについて処理を繰り返すループ処理を開始する(S401)。各ステートメントについてのループ処理を開始すると、対象のステートメントについてフロー情報53を参照し、フローが“挨拶”、“相槌”、“定型”のいずれかに該当するか否かを判定する(S402)。
【0089】
フローがいずれにも該当しない場合は、対象のステートメントは不要表現ではないとして、この情報を識別するため対象のステートメントに対して簡約フラグを設定する(S403)。本実施の形態では不要表現ではないステートメントに簡約フラグを設定するものとしているが、逆に、ステップS402において対象のステートメントがいずれかのフローに該当する場合に、不要表現であるとして不要表現フラグを設定するようにしてもよい。その後、次のステートメントの処理に移る(S404、S401)。
【0090】
各ステートメントについてのループ処理が終了した場合は、簡約フラグが設定されたステートメント(不要表現を削除した残りのステートメント)によってブロックを再構成する(S405)。ここでは、不要表現が削除されたことにより同じ発話者のブロックが連続することになる場合に、これらを結合して1つのブロックとする(例えば、
図11の下段の談話データ51における最終ブロック)。このとき例えば、結合したブロックが所定の長さよりも長くなる場合は、分割して適当な長さの複数のブロックとしてもよい。ブロックを再構成した後、ブロックIDを採番し直すようにしてもよい。その後、簡約フラグが設定された各ステートメントのIDと、再構成したブロックの情報を簡約情報52として出力して談話簡約処理を終了する。
【0091】
これにより、談話データ51の内容をできるだけ忠実に、かつ本質的な部分を漏らさずに圧縮してデータ量を削減することができ、その後の談話セマンティクス57を利用する種々のアプリケーションにおける分析効率や利用効率を向上させることができる。
【0092】
なお、上述のフロー解析、固有表現解析、結束性解析、談話簡約の各処理によって出力された談話セマンティクス57に含まれるフロー情報53、固有表現情報56、結束性情報54、簡約情報52については、談話構造解析システム3において、ユーザが内容を参照して適宜修正することが可能なインタフェースを設けてもよい。
【0093】
[談話要約]
以下では、
図1に示した談話要約生成システム2の談話要約部21による談話要約の処理の詳細について説明する。
図13は、談話要約生成システム2での談話要約の例について示した図である。
図13の上段は、談話データ58についての談話構造解析の結果の例を示しており、簡約情報52に基づいて談話データ58を簡約した結果の各ステートメントに対して、談話セマンティクス57の各情報(
図13の例ではフロー、および“金額”を表す固有表現)を示している。
【0094】
これらの情報に対して、本実施の形態の談話要約生成システム2では、ブロック内において所定の内容の発話を行っているものと考えられる単語の連接のパターン(
図13の例では“解約”、“したい”など)を指定した要約テンプレート15を予め用意しておく。
【0095】
例えば、コールセンターでのオペレータの発話などはトークスクリプト等によりある程度定型化されており、顧客に伝える必要がある項目は予め定められている場合が多い。しかしながら、これらの発話内容は毎回全く同じ言い回しになるとは限らず、応対の中で言い回しが若干異なったりする場合があるため、完全なフレーズとのマッチングでは特定できない場合が多い。一方、単なるキーワードとのマッチングでは余計な発話までマッチしてしまう可能性が高くなる。そこで、本実施の形態では、単語の連接のパターンとのマッチングにより、要約として含めるべき対象となる発話を特定する。
【0096】
本実施の形態における単語の連接のパターンとは、
図13の例における“解約”、“したい”などのように、特定の内容の発話(当該例では解約の希望・依頼)に含まれると想定されるキーワード的な単語をその出現順序とともに規定したものである。
【0097】
各ブロックについてその談話内容が要約テンプレート15のいずれかに指定された単語の連接のパターンにマッチする場合は、要約テンプレート15にて指定された対応する要約文章(
図13の例では“解約をお願いいたします。”など)を、所定の位置(スロット)に時系列で出力することにより、
図13の下段に示すように談話データ58についての要約59を得ることができる。
【0098】
なお、各ブロックについて要約テンプレート15とのマッチングを行う際、対象のブロック(第1ブロック)とそれに後続する第2のブロックとの対(例えば
図13の上段に示すようなブロックの対)を対象としてマッチングする。要約とすべき内容が発話者と相手方による談話の応対関係によって特定される場合があるためである。従って、挨拶や相槌等しか含まないブロックはノイズとなることから除外する必要があるため、ここでは簡約情報52に基づいて談話データ58を簡約した結果(挨拶や相槌等のステートメントを除外した後ブロックを再構成したもの)をマッチングの対象とする。
【0099】
図14は、要約テンプレート15の内容の具体例について示した図である。要約テンプレート15はファイルやデータベース等に保持されており、簡約された談話データ58のブロックから要約とする部分(要約59に含めるべき部分)を特定する際の単語の連接のパターンと、出力する要約文章のひな型との対応について予め指定したリストを保持するテーブルである。
【0100】
図14の例に示すように、各テンプレートは“template”ラベルによって区分され、“template”ラベルには要約文章のひな型が指定される。“from”ラベルは、マッチング対象のブロックの対のうち、第1ブロック(元ブロック)を対象として単語の連接のパターンをマッチングすることを示す。“from”ラベルの代わりに“to”ラベルを指定することで第2ブロック(先ブロック)を対象とすることも可能である。
【0101】
“seqs”ラベルにおいて、ブロック内でマッチングさせる単語の連接のパターンを指定する。ここで指定した単語を指定した順序で含んでいるブロックがある場合に、“template”ラベルで指定した要約文章を要約59として出力する。その際、“slot”ラベルの指定がある場合は、要約59内の該当スロットに対して要約文章を出力する。なお、ブロック内の文章と単語の連接のパターンをマッチングさせる際には、例えば、正規表現など種々の既存のアルゴリズムを利用することができる。
【0102】
また、
図14における2つ目のテンプレートに示すように、“template”ラベルで指定する要約文章のひな型には可変のパラメータを指定することも可能である。この場合、パラメータ部分は出力時に対象のブロックにおける対応する固有表現によって置き換えられる。また、“by”ラベルによって、マッチング対象のブロックの対のうち、指定した発話者(例えば、オペレータや顧客)が発話しているブロックをマッチングの対象とすることも可能である。
【0103】
上記の要約テンプレート15内の各テンプレートにおける単語の連接のパターンにマッチするブロックについてひな型から要約文章を出力することで要約59を生成する。なお、
図14の例における指定内容は、例えば、コールセンターでのやり取りについての要約59である応対記録を作成することを目的とした例であり、要約59を作成する対象の談話の種類に応じて複数のものを予め用意してユーザが対象の業務に応じて切り替えられるようにしてもよい。また、要約テンプレート15の内容をユーザが編集可能とするようなインタフェースを設けてもよい。
【0104】
図15は、談話要約生成システム2の談話要約部21における談話要約処理の流れの例を示したフローチャートである。談話要約部21は、談話要約処理を開始すると、まず、簡約情報52に基づいて談話データ58を簡約した結果の各ブロック(挨拶や相槌等のステートメントを除外した後ブロックを再構成したもの)について処理を繰り返すループ処理を開始する(S501)。各ブロックについてのループ処理を開始すると、まず対象のブロックを第1ブロック(元ブロック)とし、後続の次のブロックを第2ブロック(先ブロック)として設定する(S502)。
【0105】
次に、要約テンプレート15内の各テンプレートについて処理を繰り返すループ処理を開始する(S503)。各テンプレートについてのループ処理を開始すると、対象のテンプレートの“from”ラベルや“by”ラベルなどの指定に対応するブロック(第1もしくは第2ブロック)において、“seqs”ラベルに指定された単語の連接のパターンが含まれるか否かを判定する(S504)。パターンが含まれない場合はそのまま次のテンプレートの処理に移る(S506、S503)。
【0106】
ステップS504において単語の連接のパターンが含まれる場合は、対象のテンプレートの“template”ラベルに指定された要約文章のひな型から要約文章を生成して要約59として出力する(S505)。このとき、必要に応じてパラメータ部分を対象のブロックにおける対応する固有表現によって置換する。また、出力の際は生成した要約文章を要約59の末尾に追加するものとし、対象のテンプレートに“slot”ラベルが指定されている場合は、当該ラベルで指定されたスロットの末尾に追加するものとする。対象のスロットが要約59内にない場合は対象のスロットを作成した上で追加する。
【0107】
各テンプレートについてのループ処理が終了した場合は、次のブロックの処理に移る(S507、S501)。すなわち、直前のブロックについての上記ループ処理で第2ブロックであったブロックが、次のブロックの処理では第1ブロックとなることでブロック対が1ブロックずつ移動していく処理形態となる。各ブロックについてのループ処理が終了した場合は、要約59を出力して談話要約処理を終了する。当該要約59には、スロット毎に要約テンプレート15で指定した項目や内容に係る要約文章が時系列で記録されることになる。
【0108】
なお、上述した例では、要約59を生成する際に、簡約情報52に基づいて簡約した談話データ58全体を対象としているが、談話セマンティクス57の結束性情報54に保持された談話データ58のセグメントの情報に基づいて、セグメント毎に上記の処理を繰り返して、セグメント毎に細分化した要約59を生成するようにしてもよい。また、出力された要約59の内容についても、談話セマンティクス57の各内容と同様に、談話要約生成システム2において、ユーザが内容を参照して適宜修正することが可能なインタフェースを設けてもよい。
【0109】
以上に説明したように、本実施の形態の談話要約生成システム2によれば、予め設定した要約テンプレート15に指定した単語の連接のパターンが談話データ58内のブロックに含まれる場合に、要約テンプレート15に指定した要約文章を出力することで、要約テンプレート15に設定した項目や内容を含み、不要な項目を含ない要約59を得ることができる。また、談話データ58の内容から必要な部分のみを抽出して要約59を生成するため、他の不要な部分にノイズ等が含まれている場合でも、これらからは影響を受けずに要約59を生成することができる。
【0110】
[談話要約(テンプレート作成)]
以下では、
図1に示した談話要約テンプレート作成システム1による談話要約の際に用いられる要約テンプレート15を作成する処理の詳細について説明する。
図16は、談話要約テンプレート作成システム1での要約テンプレート15の作成の例について示した図である。本実施の形態では、コールセンターの各オペレータが顧客に対する応対内容の要約として作成した応対記録が蓄積された要約履歴61から、要約テンプレート15を作成する。
【0111】
なお、本実施の形態では、要約履歴61に蓄積された各応対記録は、例えば、オペレータと顧客との間の談話の内容に基づいて
図2に示した談話構造解析システム3および
図1に示した談話要約生成システム2によって生成された要約59から作成されたもの、もしくは、オペレータが手動で談話内容を要約して作成したものであり、予め
図2に示した談話構造解析システム3の形態素解析部34などの各部によって解析処理を行ったものであることを前提とする。すなわち、各応対記録(もしくはその基礎となった談話のステートメント等)について既に談話構造解析システム3によって構造が解析され、談話セマンティクス57’が生成されているものとする。
【0112】
まず、クラスタリング部11により、要約履歴61に蓄積された各応対記録の文をクラスタリングして類似するものに分類し、クラスタ情報14を得る。クラスタ情報14には、類似するものとして分類された1つ以上の応対記録が含まれるクラスタが1つ以上含まれる。上述したように、クラスタリングの手法については特に限定されず、例えば、要約履歴61に蓄積された各応対記録に含まれる各単語について、各応対記録における当該単語の重要度をスコア化して応対記録毎に当該スコアを要素とする単語ベクトルを生成し、単語ベクトル間の距離に基づいてk−means法などによりクラスタリングする。
【0113】
なお、単語の重要度をスコア化する手法としては、数値としての評価が可能なものであれば種々のものを用いることができるが、本実施の形態では、例えば、一般的に用いられている指標である、文章における対象の単語の出現頻度であるTF(Term Frequency)値と、全ての文章の中で対象の単語が出現する文章の数の逆数であるIDF(Inverse Document Frequency)値との積であるTF−IDF値を用いる。これにより、TF−IDF値が大きい単語は、応対記録における重要度が高い単語であると判断することができる。また、各応対記録について、各単語のスコアを要素とする単語ベクトルを生成し、ベクトル空間における各単語ベクトルの代数的な距離(もしくは単語ベクトル間のなす角)によって類似の程度を判断することで、各応対記録をクラスタリングすることができる。
【0114】
得られた各クラスタから、候補文選択部12により、要約テンプレート15とする対象となる応対記録を候補文16として選択する。候補文16は、例えば、対象のクラスタに含まれる各応対記録において要約の表現やパターンとして頻出するものを含む文や、内容をよく表すと考えられる代表的な文である。ここでは、上述したように例えば、各応対記録について単語毎に算出した重要度のスコアを合計し、当該合計が最大の応対記録を候補文16として選択する。応対記録の文章の短さや、パラメータ化することが可能な単語の多さなどによりスコアに重み付けを行うようにしてもよい。
【0115】
選択した候補文16に対して、例えば、テンプレート化部13により、固有表現などのいわゆる内容語に該当する単語をパラメータ化(パラメータに置換)し、要約テンプレート15において“template”ラベルによりテンプレートとして設定する。
【0116】
また、クラスタ情報14内の各クラスタについて、各単語について順位付けした単語ランキング17を得る。ここでは例えば、各単語についてクラスタ内の各応対記録における重要度のスコアを合計し、スコアが高い単語から順に順位付けする。この単語ランキング17における上位の所定の数(
図16の例では“折り返し”、“電話”、“様”の3つ)の単語に基づいて得られる組み合わせを、要約テンプレート15において“seqs”ラベルにより連接パターンとして設定することで、
図14に示したような要約テンプレート15を自動作成する。さらに、必要に応じて、要約テンプレート15の内容をユーザが編集可能とすることで、ユーザが要約テンプレート15を作成(編集)することを支援する。
【0117】
図17は、談話要約テンプレート作成システム1における要約テンプレート15の作成処理の流れの例を示したフローチャートである。まず、必要に応じて、要約履歴61に蓄積された各応対記録に対して、談話構造解析システム3を利用して談話構造の解析処理を行い、談話セマンティクス57’を取得する(S601)。本実施の形態では、少なくとも形態素解析部33および固有表現解析部35による解析を行い、形態素情報55および固有表現情報56を得ているものとする。上述したように、要約履歴61に蓄積された各応対記録が談話構造解析システム3および談話要約生成システム2によって生成された要約59から作成されたものである場合はステップS601は不要である。
【0118】
次に、クラスタリング部11により、要約履歴61に蓄積された各応対記録に含まれる各単語から固有表現などのいわゆる内容語に該当する単語をクラスタリングのためにいったん除外する(S602)。固有表現等の単語は、テンプレート化する際にパラメータ化されてしまうため、応対記録をクラスタリングする際の類似の判断には含めないものとすることで、テンプレート化を考慮した形でクラスタリングの精度を向上させることができる。
【0119】
次に、残った各単語について、応対記録毎に重要度をスコア化して当該スコアを要素とする応対記録についての単語ベクトルを生成する(S603)。重要度のスコアリングについては、上述したように、例えば各単語についてのTF−IDF値を用いる。その後、各応対記録についての単語ベクトル間の距離に基づいてk−means法などの任意のクラスタリング手法により各応対記録をクラスタリングし、クラスタ情報14を得る(S604)。
【0120】
その後、クラスタ情報14内の各クラスタについて処理を繰り返すループ処理を開始する(S605)。各クラスタについてのループ処理を開始すると、まず、候補文選択部12により、処理対象のクラスタ内の各応対記録についてそれぞれ、必要に応じて所定の重み付けを行った上でスコアを算出し(S606)、スコアが最大の応対記録を候補文16として選択する(S607)。各応対記録のスコアについては、上述したように、例えば、各応対記録について単語毎に算出した重要度のスコアを合計して算出する。その際、応対記録文の長さが短いものや、パラメータ化することが可能な単語(例えば固有表現などの内容語)が多いものほどスコアが大きくなるよう、所定の係数により重み付けを行なうようにしてもよい。
【0121】
その後、選択された候補文16について、テンプレート化部13により、固有表現などのいわゆる内容語に該当する単語をパラメータ化する(S608)。一方で、処理対象のクラスタ内の単語を対象として、当該クラスタ内での単語ランキング17を生成する(S609)。ここでは、上述したように例えば、各単語について当該クラスタ内の各応対記録における重要度のスコアを合計し、スコアの高い単語から順に順位付けする。
【0122】
その後、ステップS608でパラメータ化を行った候補文16、およびステップS609で生成した単語ランキング17に基づいてテンプレート化を行い、要約テンプレート15を作成して(S610)、次のクラスタの処理に移る(S611、S605)。要約テンプレート15の作成においては、上述したように例えば、パラメータ化を行った候補文16を“template”ラベルによりテンプレートとして設定し、さらに、単語ランキング17における上位の所定の数の単語に基づいて得られる組み合わせを“seqs”ラベルにより連接パターンとして設定する。
【0123】
各クラスタについてのループ処理が終了した場合は、その後、必要に応じて要約テンプレート15の内容をユーザが編集し(S612)、要約テンプレート15を完成させて処理を終了する。この要約テンプレート15を、例えば談話要約生成システム2で用いることにより、要約テンプレート15に設定した項目や内容を含み、不要な項目を含ない要約59を得ることができる。
【0124】
以上に説明したように、本実施の形態の談話要約テンプレート作成システム1によれば、要約履歴61に蓄積された応対記録の情報を類似するものにクラスタ化し、クラスタ毎に候補文16を選択して、候補文16に対するパラメータ化と連接パターンの生成を行うことができる。これにより、容易かつ高精度に要約テンプレート15を自動で作成し、もしくは管理者等のユーザが要約テンプレート15を作成することを支援することができる。
【0125】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。