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