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