(57)【要約】【課題】ユーザの発話に対する自然な発話候補を生成することができるようにする。【解決手段】入力部４によって、発話の意図と、対話の話題を示す単語とを受け付ける。抽出部６０によって、受け付けた対話の話題を示す単語に基づいて、述語項構造データベース５から、対話の話題を示す単語に対応する格要素を含む述語項構造の各々を抽出する。付加情報付与部６２によって、抽出された述語項構造の各々について、当該述語項構造に含まれる表現に関する付加情報を付与する。制約判定部６４によって、抽出された述語項構造の各々から、制約条件に基づいて、入力部４によって受け付けた発話の意図に対して当該制約条件を満たす述語項構造の各々を抽出する。文生成部６５によって、制約判定部６４によって抽出された述語項構造の各々について、入力部４によって受け付けた発話の意図に従った文を生成し、述語項構造について生成した文を発話候補として出力する。【選択図】図５
2015079383.tif 000002
【特許請求の範囲】
【請求項１】
発話の意図と、対話の話題を示す単語とを受け付ける入力部と、
前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶したデータベースから、前記対話の話題を示す単語に対応する前記格要素を含む前記述語項構造の各々を抽出する抽出部と、
前記抽出部によって抽出された前記述語項構造の各々について、前記述語項構造に含まれる表現に関する付加情報を付与する付加情報付与部と、
前記抽出部によって抽出された前記述語項構造の各々から、前記付加情報と前記発話の意図とに関する予め定められた制約条件に基づいて、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出する制約判定部と、
前記制約判定部によって抽出された前記述語項構造の各々について、前記述語項構造を用いて、前記入力部によって受け付けた発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力する文生成部と、
を含む発話生成装置。
【請求項２】
前記文生成部は、前記制約判定部によって抽出された前記述語項構造の各々について、前記述語、前記格要素、及び前記格要素の格について予め定められた順番に従って、前記述語項構造の述語、前記格要素、及び前記格要素の格を並べた平叙文を生成し、前記入力部によって受け付けた発話の意図と、前記発話の意図を表す文末表現に変換するための予め定められた文末表現変換ルールとに基づいて、前記述語項構造について生成された前記平叙文の文末表現を変換して、前記発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力する
請求項１に記載の発話生成装置。
【請求項３】
前記抽出部は、前記対話の話題を示す単語に基づいて、前記データベースから、前記対話の話題を示す単語に対応する格要素を含む前記述語項構造の各々を抽出すると共に、抽出した前記述語項構造の各々に対し、テキストデータにおける前記述語項構造の出現頻度に応じた優先度を付与する請求項２に記載の発話生成装置。
【請求項４】
前記抽出部は、前記対話の話題を示す単語に基づいて、前記データベースから、前記対話の話題を示す単語に対応する格要素を含む前記述語項構造の各々を抽出すると共に、前記抽出された前記述語項構造の各々のうちの、述語とハ格の格要素とからなる前記述語項構造の各々について、テキストデータにおける前記述語項構造の出現頻度に応じた優先度を付与し、前記抽出された前記述語項構造から得られる前記述語項構造の集合について、前記述語項構造の集合全体を表すルートノードから順に各ノードに対し、述語又は格要素の有無を条件として前記ノードが表す前記述語項構造の集合を分割したときの前記条件のうち、前記分割した前記述語項構造の集合のエントロピーの期待値が最小となる前記条件で分割することにより構築される木構造を構築し、前記木構造の各ノードについて、前記ノードから前記ルートノードまで辿ったときに得られる前記述語項構造に対し、前記木構造内での前記ノードの位置に応じた優先度を付与する請求項２に記載の発話生成装置。
【請求項５】
前記文生成部は、
前記制約判定部によって抽出された前記述語項構造の各々について、前記平叙文を生成し、前記述語項構造と前記述語項構造について生成された前記平叙文とのペアの各々に対し、入力された発話履歴に基づいて算出される文脈情報と前記ペアの平叙文との類似度、及び前記ペアの前記述語項構造に付与された前記優先度の少なくとも一方に基づくスコアを付与し、
前記付与されたスコアの上位Ｍ個のペアの各々について、前記ペアの前記平叙文の文末表現を変換して、前記発話の意図に従った文を生成し、前記ペアについて生成した前記文を発話候補として出力する
請求項３又は４に記載の発話生成装置。
【請求項６】
前記付加情報付与部は、前記抽出部によって抽出された前記述語項構造の各々について、前記付加情報として、前記述語項構造に含まれる、用言に関する評価表現の種類を示す情報、前記述語構造に含まれる、名詞に関する評価表現の種類を示す情報、及び質問であるか否かを示す情報の少なくとも１つを付与する
請求項１〜請求項５の何れか１項に記載の発話生成装置。
【請求項７】
前記制約判定部は、前記抽出部によって抽出された前記述語項構造の各々から、前記発話の意図が質問でない場合に、前記付加情報として質問であることを示す情報が付与された前記述語項構造を用いないこと、前記発話の意図がポジティブな評価である場合に、前記付加情報としてポジティブな評価であることを示す情報が付与された前記述語項構造を用いること、及び前記発話の意図がネガティブな評価である場合に、前記付加情報としてネガティブな評価であることを示す情報が付与された前記述語項構造を用いることの少なくとも一つを前記制約条件として、前記抽出部によって抽出された前記述語項構造の各々から、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出する
請求項１〜請求項６の何れか１項に記載の発話生成装置。
【請求項８】
入力部、抽出部、付加情報付与部、制約判定部、及び文生成部を含む発話生成装置における発話生成方法であって、
前記入力部によって、発話の意図と、対話の話題を示す単語とを受け付けるステップと、
前記抽出部によって、前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶したデータベースから、前記対話の話題を示す単語に対応する前記格要素を含む前記述語項構造の各々を抽出するステップと、
前記付加情報付与部によって、前記抽出部によって抽出された前記述語項構造の各々について、前記述語項構造に含まれる表現に関する付加情報を付与するステップと、
前記制約判定部によって、前記抽出部によって抽出された前記述語項構造の各々から、前記付加情報と前記発話の意図とに関する予め定められた制約条件に基づいて、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出するステップと、
前記文生成部によって、前記制約判定部によって抽出された前記述語項構造の各々について、前記述語項構造を用いて、前記入力部によって受け付けた発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力するステップと、
を含む発話生成方法。
【請求項９】
コンピュータを、請求項１〜請求項７の何れか１項に記載の発話生成装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話生成装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
対話システムは大きく分けて二種類あり、タスク指向型対話システムと非タスク指向型対話システムに分けられる。前者は特定のタスクをシステムとの対話により達成するものであり、たとえば、フライトの予約システムや天気情報検索システムに用いられている。これらのシステムでは、予め話される内容が想定できるため、手作業で作り込んだ発話のデータベースを保持したり、データベースから抽出される天気情報などを手作業によるテンプレートに当てはめて、システムは発話を生成する（非特許文献１）。
【０００３】
非タスク指向型対話システムでは、目的のない対話を扱い、対話の内容はいわゆる雑談である。雑談はさまざまな話題が話されるため、予め話される内容は想定できない。そのため発話生成は非常に難しい課題である。ユーザの幅広い入力に対応するために、近年の従来技術では、ウェブやツイッター（登録商標）などの文章をデータベース化しておき、ユーザ発話に類似するものを選択することでシステム発話とするものがある（非特許文献２）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ryuichiro Higashinaka、Katsuhito Sudoh、Mikio Nakano、「Incorporating Discourse Features into Confidence Scoring of Intention Recognition Results in Spoken Dialogue Systems」、Speech Communication、2006、Volume 48、Issues 3-4、p.417-436
【非特許文献２】Shibata, M.、Nishiguchi, T.、and Tomiura, Y、「Dialog system for open-ended conversation using web documents.」、Infomatica、 (2009)、33 (3)、p.277-284
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、雑談対話において、ウェブやツイッター（登録商標）などから発話を選択する方式で発話生成を行うと、システムの発話意図に沿った発話が行えない可能性がある。たとえば、ある話題についてシステムがユーザに質問すべきと判断される状況において、ウェブやツイッター（登録商標）にその話題の質問文がなければ質問はできない。システムは状況に応じて質問をしたり相槌を打ったりする必要があることから、状況に応じた発話を生成できないことは対話の質を低くする。
【０００６】
本発明は、上記の事情に鑑みてなされたものであり、ユーザの発話に対する自然な発話候補を生成することができる発話生成装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために本発明に係る発話生成装置は、発話の意図と、対話の話題を示す単語とを受け付ける入力部と、前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶したデータベースから、前記対話の話題を示す単語に対応する前記格要素を含む前記述語項構造の各々を抽出する抽出部と、前記抽出部によって抽出された前記述語項構造の各々について、前記述語項構造に含まれる表現に関する付加情報を付与する付加情報付与部と、前記抽出部によって抽出された前記述語項構造の各々から、前記付加情報と前記発話の意図とに関する予め定められた制約条件に基づいて、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出する制約判定部と、前記制約判定部によって抽出された前記述語項構造の各々について、前記述語項構造を用いて、前記入力部によって受け付けた発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力する文生成部と、を含んで構成されている。
【０００８】
本発明に係る発話生成方法は、入力部、抽出部、付加情報付与部、制約判定部、及び文生成部を含む発話生成装置における発話生成方法であって、前記入力部によって、発話の意図と、対話の話題を示す単語とを受け付けるステップと、前記抽出部によって、前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶したデータベースから、前記対話の話題を示す単語に対応する前記格要素を含む前記述語項構造の各々を抽出するステップと、前記付加情報付与部によって、前記抽出部によって抽出された前記述語項構造の各々について、前記述語項構造に含まれる表現に関する付加情報を付与するステップと、前記制約判定部によって、前記抽出部によって抽出された前記述語項構造の各々から、前記付加情報と前記発話の意図とに関する予め定められた制約条件に基づいて、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出するステップと、前記文生成部によって、前記制約判定部によって抽出された前記述語項構造の各々について、前記述語項構造を用いて、前記入力部によって受け付けた発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力するステップと、を含む。
【０００９】
前記文生成部は、前記制約判定部によって抽出された前記述語項構造の各々について、前記述語、前記格要素、及び前記格要素の格について予め定められた順番に従って、前記述語項構造の述語、前記格要素、及び前記格要素の格を並べた平叙文を生成し、前記入力部によって受け付けた発話の意図と、前記発話の意図を表す文末表現に変換するための予め定められた文末表現変換ルールとに基づいて、前記述語項構造について生成された前記平叙文の文末表現を変換して、前記発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力するようにすることができる。
【００１０】
また、前記抽出部は、前記対話の話題を示す単語に基づいて、前記データベースから、前記対話の話題を示す単語に対応する格要素を含む前記述語項構造の各々を抽出すると共に、抽出した前記述語項構造の各々に対し、テキストデータにおける前記述語項構造の出現頻度に応じた優先度を付与するようにすることができる。
【００１１】
また、前記抽出部は、前記対話の話題を示す単語に基づいて、前記データベースから、前記対話の話題を示す単語に対応する格要素を含む前記述語項構造の各々を抽出すると共に、前記抽出された前記述語項構造の各々のうちの、述語とハ格の格要素とからなる前記述語項構造の各々について、テキストデータにおける前記述語項構造の出現頻度に応じた優先度を付与し、前記抽出された前記述語項構造から得られる前記述語項構造の集合について、前記述語項構造の集合全体を表すルートノードから順に各ノードに対し、述語又は格要素の有無を条件として前記ノードが表す前記述語項構造の集合を分割したときの前記条件のうち、前記分割した前記述語項構造の集合のエントロピーの期待値が最小となる前記条件で分割することにより構築される木構造を構築し、前記木構造の各ノードについて、前記ノードから前記ルートノードまで辿ったときに得られる前記述語項構造に対し、前記木構造内での前記ノードの位置に応じた優先度を付与するようにすることができる。
【００１２】
また、前記文生成部は、前記制約判定部によって抽出された前記述語項構造の各々について、前記平叙文を生成し、前記述語項構造と前記述語項構造について生成された前記平叙文とのペアの各々に対し、入力された発話履歴に基づいて算出される文脈情報と前記ペアの平叙文との類似度、及び前記ペアの前記述語項構造に付与された前記優先度の少なくとも一方に基づくスコアを付与し、前記付与されたスコアの上位Ｍ個のペアの各々について、前記ペアの前記平叙文の文末表現を変換して、前記発話の意図に従った文を生成し、前記ペアについて生成した前記文を発話候補として出力するようにすることができる。
【００１３】
また、前記付加情報付与部は、前記抽出部によって抽出された前記述語項構造の各々について、前記付加情報として、前記述語項構造に含まれる、用言に関する評価表現の種類を示す情報、前記述語構造に含まれる、名詞に関する評価表現の種類を示す情報、及び質問であるか否かを示す情報の少なくとも１つを付与するようにすることができる。
【００１４】
また、前記制約判定部は、前記抽出部によって抽出された前記述語項構造の各々から、前記発話の意図が質問でない場合に、前記付加情報として質問であることを示す情報が付与された前記述語項構造を用いないこと、前記発話の意図がポジティブな評価である場合に、前記付加情報としてポジティブな評価であることを示す情報が付与された前記述語項構造を用いること、及び前記発話の意図がネガティブな評価である場合に、前記付加情報としてネガティブな評価であることを示す情報が付与された前記述語項構造を用いることの少なくとも一つを前記制約条件として、前記抽出部によって抽出された前記述語項構造の各々から、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出するようにすることができる。
【００１５】
本発明に係るプログラムは、コンピュータを、本発明に係る発話生成装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１６】
以上説明したように、本発明の発話生成装置、方法、及びプログラムによれば、述語項構造を複数記憶したデータベースから、対話の話題を示す単語に対応する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の各々について、当該述語項構造に含まれる表現に関する付加情報を付与し、付加情報と発話の意図とに関する予め定められた制約条件に基づいて、発話の意図に対して当該制約条件を満たす述語項構造の各々を抽出し、抽出された述語項構造の各々について、当該述語項構造を用いて、発話の意図に従った文を生成し、生成された文を発話候補として出力することにより、ユーザ発話に対する自然な発話候補を生成することができる、という効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係る述語項構造データベース構築装置の一構成例を示すブロック図である。
【図２】Ｅｎｔｉｔｙデータの一例を示す説明図である。
【図３】Ａｔｔｒｉｂｕｔｅデータの一例を示す説明図である。
【図４】Ｅｖｅｎｔデータの一例を示す説明図である。
【図５】本発明の実施の形態に係る発話生成装置の一構成例を示すブロック図である。
【図６】Ｅｎｔｉｔｙフレームの一例を示す説明図である。
【図７】焦点「ミスチル」について生成された木構造の一例を示す図である。
【図８】焦点「ラーメン」について生成された木構造の一例を示す図である。
【図９】Ａｔｔｒｉｂｕｔｅフレームの一例を示す図である。
【図１０】Ｅｖｅｎｔフレームの一例を示す図である。
【図１１】付加情報が付与されたＥｎｔｉｔｙフレームの一例を示す説明図である。
【図１２】付加情報が付与されたＡｔｔｒｉｂｕｔｅフレームの一例を示す説明図である。
【図１３】付加情報が付与されたＥｖｅｎｔフレームの一例を示す説明図である。
【図１４】本発明の実施の形態に係る述語項構造データベース構築処理ルーチンの内容を示すフローチャートである。
【図１５】本発明の実施の形態に係る発話生成処理ルーチンの内容を示すフローチャートである。
【発明を実施するための形態】
【００１８】
＜概要＞
まず、本発明の実施の形態の概要について説明する。
【００１９】
本発明の実施の形態では、まず、大規模なテキストデータを述語項構造解析し、述語項構造データベースを作成する。述語項構造データベースの各レコードには、文の要素となる、述語とその格要素（述語項構造）が保持されている。対話システムは述語項構造データベースの中から、現在の対話の話題を示す単語（以下、焦点と称する。）が含まれるレコードを抽出し、当該レコードの述語項構造から対話システムの発話の意図に沿った発話文を生成し、発話候補とすることで発話を行う。
【００２０】
雑談対話システムの発話生成部を装置として構成した発話生成装置に、本発明を適用した場合を例にとって、以下に説明する。
【００２１】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２２】
＜述語項構造データベース構築装置のシステム構成＞
図１は、本発明の実施の形態に係る述語項構造データベース構築装置１００を示すブロック図である。この述語項構造データベース構築装置１００は、ＣＰＵと、ＲＡＭと、後述する述語項構造データベース構築処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００２３】
本実施の形態に係る述語項構造データベース構築装置１００は、図１に示すように、テキストデータ入力部１と、述語項構造データベース構築部２と、述語項構造データベース３とを備えている。
【００２４】
テキストデータ入力部１は、大量のテキストデータを含むテキスト集合の入力を受け付ける。なお、テキスト集合に含まれるテキストデータは、テキストデータであれば何でもよい。
【００２５】
述語項構造データベース構築部２は、テキストデータ入力部１によって受け付けたテキスト集合に含まれる複数のテキストデータの各々について、当該テキストデータから述語項構造を抽出し、述語項構造データベース３に格納する。なお、述語項構造データベース構築部２は、テキストデータベース２０と、形態素解析部２２と、係り受け解析部２４と、初期データ生成部２６と、Ｅｎｔｉｔｙデータ生成部２８と、Ａｔｔｒｉｂｕｔｅデータ生成部３０と、Ｅｖｅｎｔデータ生成部３２とを備えている。
【００２６】
テキストデータベース２０には、テキストデータ入力部１によって受け付けたテキスト集合が格納される。
【００２７】
形態素解析部２２は、テキストデータベース２０に格納されたテキスト集合に含まれる複数のテキストデータの各文について、形態素解析を行う。
【００２８】
係り受け解析部２４は、テキスト集合に含まれる複数のテキストデータの各文について、形態素解析部２２によって解析された形態素解析結果に基づいて、係り受け解析を行い、文節の同定、および、文節間の係り受け構造を決定する。
【００２９】
なお、形態素解析部２２による形態素解析や、係り受け解析部２４による係り受け解析には、フリーで用いられているものを用いればよい。例えば、ＣｈａＳｅｎやＣａｂｏＣｈａである。本実施の形態では、出願人が開発したＪＴＡＧとＪＤＥＰとをそれぞれ形態素解析と係り受け解析に用いる。
【００３０】
初期データ生成部２６は、テキスト集合に含まれる複数のテキストデータの各文について、係り受け解析部２４によって決定された係り受け構造に基づいて、当該文の述語と当該述語に対応する格の要素である格要素とを同定し、述語項構造として抽出する。なお、述語項構造とは、述語と当該述語に対応する格要素との組み合わせである。そして、初期データ生成部２６は、複数のテキストデータの各文について抽出された述語項構造を、初期データとしてメモリ（図示省略）に一時的に格納する。
【００３１】
なお、本実施の形態では、初期データ生成部２６は、文中の述語の各々について、当該述語の格要素としてハ格、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の各々を抽出し、述語と１つ以上の格要素との組み合わせをひとまとまりとして抽出する。そして、初期データ生成部２６は、抽出された同じ述語項構造についてはひとまとめにし、頻度と共に初期データとしてメモリ（図示省略）に登録する。
【００３２】
上記の初期データ生成部２６について、具体例を挙げて説明する。例えば、文が「太郎が花子に会う」であれば、「会う」が述語であり、当該述語の文節に係っている文節から、ガ格の格要素が「太郎」、ニ格の格要素が「花子」だと分かる。そして、ここから「述語：会う  ガ格：太郎  ニ格：花子」という述語項構造が抽出される。このような述語項構造を、テキスト集合に含まれるテキストデータのすべての文から抽出する。
【００３３】
Ｅｎｔｉｔｙデータ生成部２８は、初期データ生成部２６によって生成された初期データから、ハ格の格要素と述語とからなる述語項構造と、当該述語構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるＥｎｔｉｔｙデータを生成する。そして、Ｅｎｔｉｔｙデータ生成部２８は、生成されたＥｎｔｉｔｙデータを述語項構造データベース３に格納する。
【００３４】
例えば、Ｅｎｔｉｔｙデータは、「京都は暑い」、「ミスチルはいい」などの文に対応する述語項構造と頻度とのペアのデータから構成される。また、焦点「ミスチル」に関するＥｎｔｉｔｙデータの抜粋の一例を図２に示す。図２のＥｎｔｉｔｙデータの最後のカラムは述語項構造の頻度である。
【００３５】
Ａｔｔｒｉｂｕｔｅデータ生成部３０は、初期データ生成部２６によって生成された初期データから、述語と、ハ格、及びガ格の格要素とからなる述語項構造と、当該述語項構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるＡｔｔｒｉｂｕｔｅデータを生成する。そして、Ａｔｔｒｉｂｕｔｅデータ生成部３０は、生成されたＡｔｔｒｉｂｕｔｅデータを述語項構造データベース３に格納する。
【００３６】
例えば、Ａｔｔｒｉｂｕｔｅデータは、「京都は冬が寒い」や「ミスチルは歌がいい」といった文に対応する述語項構造と頻度とのペアのデータから構成される。図３に、Ａｔｔｒｉｂｕｔｅデータの一例を示す。
【００３７】
Ｅｖｅｎｔデータ生成部３２は、初期データ生成部２６によって生成された初期データから、述語と、ハ格と、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の少なくとも１つの格要素とを含む述語項構造と、当該述語項構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるＥｖｅｎｔデータを生成する。そして、Ｅｖｅｎｔデータ生成部３２は、生成されたＥｖｅｎｔデータを述語項構造データベース３に格納する。
図４に、Ｅｖｅｎｔデータの一例を示す。なお、上記図４は、ハ格の表示を省略した場合のＥｖｅｎｔデータの一例である。
【００３８】
述語項構造データベース３には、Ｅｎｔｉｔｙデータ生成部２８によって生成されたＥｎｔｉｔｙデータと、Ａｔｔｒｉｂｕｔｅデータ生成部３０によって生成されたＡｔｔｒｉｂｕｔｅデータと、Ｅｖｅｎｔデータ生成部３２によって生成されたＥｖｅｎｔデータとが格納される。すなわち、述語項構造データベース３には、複数の述語項構造が記憶されている。なお、述語項構造データベース３は、Ｅｎｔｉｔｙデータ、Ａｔｔｒｉｂｕｔｅデータ、Ｅｖｅｎｔデータについて検索可能とするため、ＲＤＢ（Relational database）として構成される。
【００３９】
＜発話生成装置のシステム構成＞
図５は、本発明の実施の形態に係る発話生成装置２００を示すブロック図である。この発話生成装置２００は、ＣＰＵと、ＲＡＭと、後述する発話生成処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００４０】
本実施の形態に係る発話生成装置２００は、図５に示すように、入力部４と、述語項構造データベース５と、演算部６と、出力部７とを備えている。なお、述語項構造データベース５は、データベースの一例である。
【００４１】
入力部４は、発話の意図と、焦点と、発話履歴とを受け付ける。発話履歴とは、現時点までの対話システムとユーザの発話文字列の集合である。
【００４２】
また、本実施の形態では、発話の意図として、「質問」、「ポジティブな評価」、「ネガティブな評価」、及び「その他」の４種類がある。上記の発話の意図は、それぞれ、ユーザに質問するという意図、焦点についてのポジティブな意見を表出するという意図（例：○○は大好きです）、焦点についてのネガティブな意見を表出するという意図（例：○○は嫌いです）、その他一般の意図を表す。発話の意図は上記だけに限られるわけではなく、対話システムの設計によって発話の意図の種類を追加してもよい。例えば、参考文献（目黒豊美、東中竜一郎、堂坂浩二、南泰浩、「聞き役対話の分析および分析に基づいた対話制御部の構築」、情報処理学会論文誌、2012、Vol.53 No.12、pp.2787-2801）内の表６として記載されているような対話行為タグのセットを、発話の意図として用いてもよい。
【００４３】
述語項構造データベース５には、上記述語項構造データベース構築装置１００の述語項構造データベース３に格納されている、Ｅｎｔｉｔｙデータ、Ａｔｔｒｉｂｕｔｅデータ、Ｅｖｅｎｔデータと同じＥｎｔｉｔｙデータ、Ａｔｔｒｉｂｕｔｅデータ、Ｅｖｅｎｔデータが格納されている。
【００４４】
演算部６は、抽出部６０と、付加情報付与部６２と、制約判定部６４と、文生成部６５とを備えている。文生成部６５は、平叙文生成部６６と、スコアリング部６８と、文末表現変換部７０とを備えている。
【００４５】
抽出部６０は、入力部４によって受け付けた焦点に基づいて、述語項構造データベース５に格納されている、Ｅｎｔｉｔｙデータ、Ａｔｔｒｉｂｕｔｅデータ、及びＥｖｅｎｔデータから、焦点と一致する格要素を含む述語項構造の各々を抽出すると共に、抽出した述語項構造の各々に対し、テキストデータにおける当該述語項構造の出現頻度に応じた優先度を付与して、Ｅｎｔｉｔｙフレーム、Ａｔｔｒｉｂｕｔｅフレーム、及びＥｖｅｎｔフレームを作成する。なお、各フレームは、述語項構造と優先度とのペアの集合である。
【００４６】
Ｅｎｔｉｔｙフレーム、Ａｔｔｒｉｂｕｔｅフレーム、及びＥｖｅｎｔフレームは、以下に説明するように作成される。
【００４７】
まず、抽出部６０は、入力部４によって受け付けた焦点に基づいて、述語項構造データベース５に格納されているＥｎｔｉｔｙデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の各々について、テキストデータにおける当該述語項構造の出現頻度に応じた優先度を付与して、Ｅｎｔｉｔｙフレームを作成する。ここで、抽出部６０は、出現頻度が上位Ｎ件の述語項構造の各々を取得して、Ｅｎｔｉｔｙフレームを作成する。例えば、Ｎは５００である。図６は、焦点「ミスチル」についてのＥｎｔｉｔｙフレームの一例である。
【００４８】
上記図６のＥｎｔｉｔｙフレームでは、述語や格要素に０や１という番号を付与している。これは本実施の形態で用いる述語項構造の簡易な記法であり、述語は０番、ハ格、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、マデ格の格要素はそれぞれ１番〜７番の番号で表す。なお、ハ格はガ格と同様に主語に用いられることが多い為、ガ格と同様１番を付与することとする。上記図６のＥｎｔｉｔｙフレーム内のデータでは、「０＿いい」は述語が「いい」であること、「１＿ミスチル」はガ格が「ミスチル」であることを表している。上記図６の例を見ても分かるとおり、Ｅｎｔｉｔｙフレームは焦点となるＥｎｔｉｔｙ自体についての属性を表す述語項構造を含む。ここで、優先度は小さな数の方が優先されることを指す。優先度は、出現頻度順で優先されるように設定されている。
【００４９】
次に、抽出部６０は、入力部４によって受け付けた焦点に基づいて、述語項構造データベース５に格納されているＡｔｔｒｉｂｕｔｅデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の集合に基づいて、述語項構造の集合を表す木構造を構築する。そして、抽出部６０は、構築された木構造の各ノードについて、当該ノードからルートノードまで辿った時に得られる述語項構造に対し、木構造内での当該ノードの位置に応じた優先度を付与して、Ａｔｔｒｉｂｕｔｅフレームを作成する。なお、抽出部６０は、Ａｔｔｒｉｂｕｔｅデータのハ格の格要素に焦点が含まれる述語項構造を、Ａｔｔｒｉｂｕｔｅデータから抽出する。
【００５０】
述語項構造の集合を表す木構造は、述語項構造の集合全体を表すルートノードから順に各ノードについて、述語又は格要素の有無を条件としてノードが表す述語項構造の集合を分割したときの条件のうち、分割した述語項構造の集合のエントロピーの期待値が最小となる条件で分割することにより構築される。
【００５１】
以下、上記の述語項構造の集合を表す木構造の構築手続きについて説明する。
【００５２】
本実施の形態では、述語項構造の集合の木構造化の手続きに、ＩＤ３という決定木を学習するアルゴリズムを用いる。これは、述語項構造の集合を、ある述語、又はある格要素の有無（Ａｔｔｒｉｂｕｔｅフレームを作成する場合は、述語又はガ格の格要素の有無）を条件として２つに分割したとき、エントロピーの期待値が最も下がる条件（情報利得が大きい条件）で分割することを繰り返すものである。
【００５３】
具体的な手続きは以下の（１）〜（４）の処理で実現される。
【００５４】
（１）抽出された述語項構造の集合ＰＡから、すべての述語Ｐ（Ｐｒｅｄｉｃａｔｅｓ）、格要素Ａ（Ａｒｇｕｍｅｎｔｓ）を抽出する。
【００５５】
（２）ｘ∈（Ｐ∪Ａ）について、ＰＡをｘの有無により２つの部分集合に分割する。分割された２つの部分集合をＹＥＳｘとＮＯｘとし、以下の（１）式、（２）式に従って、それぞれの部分集合についてエントロピーＨ（ＹＥＳｘ）、Ｈ（ＮＯｘ）を計算する。
【００５６】
【数１】
2015079383.tif 000003
【００５７】
ここで、ｐ（ｙ）はＹＥＳｘにおけるｙの出現確率である。これはテキストデータにおける出現頻度から簡単に計算できる。
【００５８】
【数２】
2015079383.tif 000004
【００５９】
そして、以下の（４）式に従って、ＰＡ全体のエントロピー、すなわち
【００６０】
【数３】
2015079383.tif 000005
【００６１】
から、分割した場合のエントロピーの期待値を引くと、情報利得（Ｉｎｆｏｒｍａｔｉｏｎ Ｇａｉｎ）が得られる。
【００６２】
【数４】
2015079383.tif 000006
【００６３】
ここで、ｐ（ＹＥＳｘ）とｐ（ＮＯｘ）はＰＡにおけるｘを含む述語項構造の出現確率、及びｘを含まない述語項構造の出現確率である。
【００６４】
（３）ＩＧ（ｘ）を最大にするｘを求め、ＹＥＳｘとＮＯｘのそれぞれをＰＡ’として、この（２）〜（３）の処理を再帰的に繰り返す。
【００６５】
（４）分割できなくなるまで上記（２）〜（３）の処理を繰り返すと、述語項構造の集合ＰＡを各時点で最も整理することができる要素の有無によって木構造に変換されたデータができる。
【００６６】
たとえば、焦点「ミスチル」の場合、述語に「いい」を持つかどうかで述語項構造の集合を分割すると最も情報利得が大きい。そのため、まず「いいが述語に含まれる」「いいが述語に含まれない」という条件で２つの部分集合に分割する。以降、「趣味」や「名曲」などを条件に述語項構造の集合の分割を繰り返していく。図７は、焦点「ミスチル」について作成された木構造の例である。また、図８は、焦点「ラーメン」について作成された木構造の例である。
【００６７】
ルートに近い条件に含まれる要素は、述語項構造全体を整理するために有用な、情報量の多いものだと考えることができるため、ルートまでの距離が近い順に述語項構造を並べる。そして、並べられた述語項構造に優先度を付与したものをＡｔｔｒｉｂｕｔｅフレームとする。具体的には、あるノードからルートまでたどった時、そのパス上に述語（ある述語Ｐがあるという意味のノード）があり、さらに、格要素（ある格要素Ａがあるという意味のノード）が一つ以上あればそれらを述語項構造としてまとめ、当該ノードの深さを、当該述語項構造の優先度とする。
【００６８】
または、木構造を最左優先で順にたどっていき、行き当たったノードの順番を優先度としてもよい。上記図８の例であれば、「０＿分かれる  １＿好み」、「０＿別れる  １＿好み」、「０＿わかれる  １＿好み」、「０＿命  １＿スープ」、「０＿煮立つ  １＿スープ」、「０＿濃い  １＿味」という順に優先度が１から付けられる。本実施の形態では、ＩＤ３による木構造の導出は最左優先の再帰処理で行っていることから、この優先度の付け方によると、先に処理された、つまり重要であるものから優先度が高い扱いになる。また、ノードが近く、内容が類似するものが近い優先度を持つようにすることができる。
【００６９】
焦点「ミスチル」についての木構造から、本処理によって得られるＡｔｔｒｉｂｕｔｅフレームの例は、図９に示す通りである。ここでは深さを優先度としている。「０＿いい  １＿歌詞」のルートからの深さは実際には２であるが、本手法で得られる述語項構造の深さの最低値は２であることから、優先度は深さから１を引いたものとしている。
【００７０】
Ａｔｔｒｉｂｕｔｅフレームは、焦点の属性（Ａｔｔｒｉｂｕｔｅ）に関する情報を表すデータとなっている。「歌詞がいい」が最も優先度の高い述語項となっているが、当該述語項は、この述語項が最もルート付近にあるものであり、「歌詞がいい」か「そうでないか」が、ミスチルについての述語項構造全体を大きく分けることができる情報量の大きい述語項であることを表している。
【００７１】
なお、Ａｔｔｒｉｂｕｔｅフレームの作成については、Ｅｎｔｉｔｙフレームと同様に、テキストデータにおける出現頻度上位Ｎ件（例えば、Ｎは５００）の述語項構造の各々を取得し、当該Ｎ件の述語項構造に、出現頻度順で優先順位を付与して、Ａｔｔｒｉｂｕｔｅフレームを作成してもよい。
【００７２】
次に、抽出部６０は、入力部４によって受け付けた焦点に基づいて、述語項構造データベース５に格納されているＥｖｅｎｔデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、上記Ａｔｔｒｉｂｕｔｅフレームの作成と同様に、抽出された述語項構造の集合について、述語項構造の集合を表す木構造を構築する。そして、抽出部６０は、当該述語項構造の集合に含まれる述語項構造の各々に対し、木構造内での述語項構造の位置に応じた優先度を付与して、Ｅｖｅｎｔフレームを作成する。抽出部６０は、Ｅｖｅｎｔデータのハ格〜マデ格の何れかの格要素に焦点が含まれる述語項構造を、Ｅｖｅｎｔデータから抽出する。
【００７３】
図１０は、焦点「ミスチル」についてのＥｖｅｎｔフレームの例である。Ｅｖｅｎｔフレームは、焦点に関する事態（Ｅｖｅｎｔ）一般を表すデータとなっている。また、上記図１０は、焦点が含まれる格の表示を省略した場合のＥｖｅｎｔフレームの一例である。
【００７４】
なお、Ｅｖｅｎｔフレームの作成については、Ｅｎｔｉｔｙフレームと同様に、テキストデータにおける出現頻度上位Ｎ件（例えば、Ｎは５００）の述語項構造の各々を取得し、当該Ｎ件の述語項構造に、出現頻度順で優先順位を付与して、Ｅｖｅｎｔフレームを作成してもよい。
【００７５】
なお、Ａｔｔｒｉｂｕｔｅデータ、及びＥｖｅｎｔデータは、述語とハ格の格要素とからなる述語項構造とは異なる述語項構造の集合の一例である。また、Ｅｎｔｉｔｙフレーム、Ａｔｔｒｉｂｕｔｅフレーム、及びＥｖｅｎｔフレームに含まれる各述語項構造は、焦点と一致する格要素を含む述語項構造の各々の一例である。
【００７６】
付加情報付与部６２は、抽出部６０によって作成された、Ｅｎｔｉｔｙフレーム、Ａｔｔｒｉｂｕｔｅフレーム、及びＥｖｅｎｔフレームに含まれる述語項構造の各々について、当該述語項構造に含まれる表現に関する付加情報を付与する。
付加情報は、述語項構造に含まれる、用言に関する評価表現の種類を示す情報、述語構造に含まれる、名詞に関する評価表現の種類を示す情報、及び質問であるか否かを示す情報の３種類である。以下、３種類の付加情報について説明する。
【００７７】
（１）用言に関する評価表現の種類を示す情報（ＰＮ）
用言に関する評価表現の種類を示す情報は、「いい」「悪い」といった用言に代表されるような評価表現が述語項構造に含まれているか、そして、もし含まれているならどの種類かという情報である。正の極性の評価表現であればＰ、負の極性の評価表現であればＮ、どちらとも取れるものであればＰＮ、それ以外であればＯ（Ｏｔｈｅｒ）が付与される。ここで用いられる評価表現のリストとしては事前に用意した単語リストを用いる。含まれているかの判定は単語の照合が行える手法であれば何でもよい。例えば、正規表現によるマッチングを用いればよい。
【００７８】
（２）名詞に関する評価表現の種類を示す情報（ＰＮＥ）
名詞に関する評価表現の種類を示す情報として、増加すれば増加するほどよいとされる名詞の評価表現（例えば、「金」「愛」「幸せ」など）が含まれていればＰ、増加するほど良くないとされる名詞の評価表現（例えば、病気、不幸など）が含まれていればＮ、どちらとも取れるものであればＥ、それ以外にはＯが付与される。これらの名詞のリストとしては事前に用意したものを用いる。
【００７９】
（３）質問であるか否かを示す情報（Ｑ）
述語項構造の格要素として「誰」や「何」から始まるものがあればそれは質問であるため、「誰」、「何」、「いつ」、「どこ」などの単語リストを予め用意しておき、述語項構造の格要素と当該単語リスト内の単語とのマッチングを行い、質問であるか否かを示す情報として、当該単語リスト内の単語を含む格要素を持つレコードにはＱ、そうでなければＯを付与する。 
【００８０】
図１１は、上記（１）〜（３）の付加情報が付加された、「事故」を焦点とするＥｎｔｉｔｙフレームの例である。「事故」という単語は、名詞に関する評価表現の種類としてＮであるため、ＰＮＥのカラムはＮとなっている。また、「怖い」などは負の極性の評価表現であるためＮとなっている。
【００８１】
また、図１２は、上記の（１）〜（３）の付加情報が付加された、「事故」を焦点とするＡｔｔｒｉｂｕｔｅフレームの例である。５番目の「０＿悪い  １＿誰」は「誰」という疑問詞が入っているため、Ｑが付与されている。なお、上記図１２は、焦点が含まれる格の表示を省略した場合のＡｔｔｒｉｂｕｔｅフレームの一例である。
【００８２】
また、図１３は、上記の（１）〜（３）の付加情報が付加された、「事故」を焦点とするＥｖｅｎｔフレームの例である。なお、上記図１３は、ハ格の表示を省略した場合のＥｖｅｎｔフレームの一例である。
【００８３】
制約判定部６４は、抽出部６０によって作成された、Ｅｎｔｉｔｙフレーム、Ａｔｔｒｉｂｕｔｅフレーム、及びＥｖｅｎｔフレームに含まれる述語項構造の各々から、付加情報と発話の意図とに関する予め定められた制約条件に基づいて、入力部４によって受け付けた発話の意図に対して制約条件を満たす述語項構造の各々を抽出し、抽出した述語項構造の各々を平叙文生成部６６へ出力する。
【００８４】
ここで、予め定められた制約条件とは、発話の意図が質問でない場合に、付加情報として質問であることを示す情報が付与された述語項構造を用いないこと、発話の意図がポジティブな評価である場合に、付加情報としてポジティブな評価であることを示す情報が付与された述語項構造を用いること、及び発話の意図がネガティブな評価である場合に、付加情報としてネガティブな評価であることを示す情報が付与された述語項構造を用いることである。
【００８５】
具体的には、制約判定部６４は、入力部４によって受け付けた発話の意図が、「質問」の発話の意図でない場合、各フレームに含まれる述語項構造の各々のうち、フレーム中のＱのカラムにＱが付与された述語項構造を抽出しない。
【００８６】
また、制約判定部６４は、入力部４によって受け付けた発話の意図が、「ポジティブな評価に関する発話」である場合には、各フレームに含まれる述語項構造の各々のうち、フレーム中の、ＰＮ又はＰＮＥのカラムにＰが付与された述語項構造のみを抽出する。
【００８７】
また、制約判定部６４は、入力部４によって受け付けた発話の意図が、「ネガティブな評価に関する発話」である場合には、各フレームに含まれる述語項構造の各々のうち、フレーム中の、ＰＮ、又はＰＮＥのカラムにＮが付与された述語項構造のみを抽出する。
【００８８】
上記の制約によって意味の不整合が生じる発話をしないことが担保できる。例えば、疑問詞を含む平叙文「誰が悪いです」、ポジティブな評価として負の極性を含む発話「病気になるっていいですね」、及びネガティブな評価として正の極性を含む発話「幸せになるってよくないですね」などを排除することができる。
【００８９】
平叙文生成部６６は、制約判定部６４によって出力された述語項構造の各々について、述語、格要素、及び格要素の格について予め定められた順番に従って、当該述語項構造の述語、格要素、及び格要素の格を並べた平叙文を生成する。
【００９０】
述語項構造の述語をｐｒｅｄ、格をｃａｓｅ、格要素をａｒｇとすると、Ｅｎｔｉｔｙフレーム、及びＡｔｔｒｉｂｕｔｅフレームから抽出された述語項構造であれば、「ａｒｇはｐｒｅｄ」という平叙文を生成する。それ以外のフレームであれば、「ａｒｇ  ｃａｓｅ  ｐｒｅｄ」という平叙文を生成する。例えば、Ｅｎｔｉｔｙフレームから抽出された述語項構造「０＿いい  １＿京都」であれば、「京都はいい」となる。Ｅｖｅｎｔフレームから抽出された述語項構造「０＿歌う  ２＿曲」であれば、「曲を歌う」となる。なお、日本語の特性から、ヲ格、ニ格、ガ格、デ格、ト格、マデ格、カラ格の順で述語に近くなるように格要素を配置する。そして、平叙文生成部６６は、述語項構造と当該述語項構造について生成された平叙文とのペアのリストをスコアリング部６８へ出力する。
【００９１】
スコアリング部６８は、平叙文生成部６６によって出力された述語項構造と当該述語項構造について生成された平叙文とのペアの各々に対し、入力部４によって受け付けた発話履歴に基づいて算出される文脈情報と当該ペアの平叙文との類似度、及び当該ペアの述語項構造に付与された優先度に基づくスコアを付与する。
具体的には、スコアリング部６８は、述語項構造と平叙文とのペアの各々について、下記の式に従いスコアを算出する。
【００９２】
【数５】
2015079383.tif 000007
【００９３】
上記（５）式では、述語項構造がＦであり、ＳがＦに対応する平叙文である。Ｃは発話履歴を表し、Ｌは発話履歴においていくつ前までの発話を参照するかを規定する固定値である。Ｌは例えば３である。ｄｉｓｔ関数は、発話履歴（文脈）と平叙文の意味的なまとまり返す関数である。
【００９４】
ｄｉｓｔ関数では、概念ベースを用いた計算を行う。具体的には、まず発話履歴から直近のＬ発話を抽出する。そして、Ｌ発話の各々について概念ベースを参照し、Ｌ個の概念ベクトル（１０００次元）を作成する。
【００９５】
ここで、発話から概念ベクトルを以下のように作成する。まず、発話を形態素解析し単語に分割する。そして、各々の単語について概念ベースを検索し、検索の結果、見つかった単語に対応する概念ベクトルの和を算出する。そして、概念ベクトルの和の大きさが１となるように正規化し、当該発話の概念ベクトルとする。
【００９６】
平叙文Ｓについても、発話の概念ベクトルと同様に、概念ベクトルを一つ作成する。
【００９７】
そして、Ｌ発話の各々の概念ベクトルと、平叙文Ｓの概念ベクトルとを合わせたＬ＋１個のベクトルから、重心となるベクトルを求める。当該重心となるベクトルを、セントロイドと呼ぶ。
【００９８】
最後に、Ｌ＋１個のベクトルの各々について、当該ベクトルとセントロイドとの誤差（ユークリッド距離の二乗）を計算し、計算された誤差の平均値をｄｉｓｔ関数の返り値とする。当該返り値が小さいほど、複数のベクトルがまとまっていることを表す。
【００９９】
ｄｉｓｔ関数の返り値を用いて、平叙文Ｓがこれまでの文脈（Ｌ個の発話履歴）と意味的なまとまりをなすかどうかを確かめることができる。
【０１００】
なお、概念ベースの詳細については参考文献（別所克人、内山俊郎、内山匡、片岡良治、奥雅博、「単語・意味属性間共起に基づくコーパス概念ベースの生成方式」、情報処理学会論文誌、2008、Vol.49, No.12, pp.3997-4006）に詳述されている。
【０１０１】
概念ベースについて簡単に説明すると、単語を、周辺単語の出現頻度からなるベクトルで表現したものが概念ベースである。単語そのものの分布ではベクトル空間は疎であるため、次元圧縮の手法を用いて、同様の意味を持つ単語をまとめ上げ、ベクトルを１０００次元までに抑えている。単語の距離を１０００次元のベクトル上で計算することで、単語間の意味的な距離を計算することが可能である。
【０１０２】
上記（５）式のｐｒｉｏｒｉｔｙ関数は各フレームが持つ優先度に基づくスコアである。αとβとは係数であり、ｄｉｓｔ関数とｐｒｉｏｒｉｔｙ関数のどちらに重きを置くかを設定する為に用いる。また、どちらかを０に設定することで、片方の関数のみを用いたスコアリングを行うことが可能である。スコアリングによって、重要かつ対話の文脈に即したものを上位にランキングすることができる。
【０１０３】
なお、ｄｉｓｔ関数の上位Ｋ件をまず取得し、その中でｐｒｉｏｒｉｔｙ関数に基づいてソートをしたものをランキング結果としてもよい。また、ｐｒｉｏｒｉｔｙ関数の上位Ｊ件をまず取得し、その中でｄｉｓｔ関数に基づいてソートをしたものをランキング結果としてもよい。
【０１０４】
スコアリング部６８は、上記（５）式に従って算出されたスコアによって、述語項構造と平叙文とのペアをソートし、ソート結果の上位Ｍ件を、文末表現変換部７０へ出力する。
【０１０５】
文末表現変換部７０は、入力部４によって受け付けた発話の意図と、当該発話の意図を表す文末表現に変換するための文末表現変換ルールとに基づいて、スコアリング部６８によって出力された、スコアの上位Ｍ個のペアの各々について、当該ペアの平叙文の文末表現を変換して、発話の意図に従った文を生成し、当該ペアについて生成した文を発話候補として出力する。
【０１０６】
具体的には、文末表現変換部７０は、述語項構造と平叙文とのペアの平叙文の文末表現を、文末表現変換ルールによって変換し、発話の意図に即した文に書き換え、発話候補とする。文末表現変換ルールは事前に準備されたルールによって実装される。文末表現変換ルールは、平叙文の最後の単語の品詞に基づく書き換えルールである。
【０１０７】
例えば、平叙文「ミスチルが好き」のように形容動詞が最後の単語であれば、発話の意図が「質問」の場合、文「ミスチルが好きですか？」のように「ですか」を付与する。平叙文「ミスチルが歌う」のように最後の単語が動詞であれば「のですか？」を追加し、文「ミスチルは歌うのですか？」とする。または、所与の活用辞書を参照し最後の動詞を連用形（「歌い」）にし、「ますか？」を付与することで「ミスチルは歌いますか？」という文を生成し、発話候補とする。また、１つの平叙文に対し複数の文が生成された場合は、ランダムに何れかの文を発話候補として選択する。
【０１０８】
その他の発話の意図の場合は、平叙文をそのまま発話候補とするか、又は最後の単語の品詞に従った文末表現候補を準備しておき、当該文末表現を付与する。例えば、最後の品詞が名詞の場合は「だよ」「だね」「だよね」など複数の文末表現候補があり、複数の文末表現候補の何れかを文末に付与して発話候補とする。なお、文末表現変換ルールとして、発話の意図に応じた、より複雑なルールを用いてもよい。
【０１０９】
そして、文末表現変換部７０は、上位Ｍ個のペアの各々の平叙文について文末表現を変換した結果得られるＫ個の発話候補を出力する。ここで、文末表現変換ルールが適用できない平叙文などは変換されないため、ＫはＭ以下の数である。
【０１１０】
出力部７は、文末表現変換部７０によって出力されたＫ個の発話候補を、結果として出力する。出力部７による出力は、上位モジュールの対話システムにおける発話候補となり、最終的に何れかがシステム発話として用いられる。
【０１１１】
＜述語項構造データベース構築装置の作用＞
次に、本実施の形態に係る述語項構造データベース構築装置１００の作用について説明する。まず、複数のテキストデータを含むテキスト集合が述語項構造データベース構築装置１００に入力されると、述語項構造データベース構築装置１００によって、図１４に示す述語項構造データベース構築処理ルーチンが実行される。
【０１１２】
まず、ステップＳ１００において、テキストデータ入力部１によって、テキスト集合の入力を受け付け、テキストデータベース２０に格納する。
【０１１３】
ステップＳ１０２において、述語項構造データベース構築部２によって、上記ステップＳ１００でテキストデータベース２０に格納されたテキスト集合に含まれる複数のテキストデータのうち、１つのテキストデータを設定する。
【０１１４】
ステップＳ１０４において、上記ステップＳ１０２で設定されたテキストデータに含まれる文のうち、１つの文を設定する。
【０１１５】
ステップＳ１０６において、形態素解析部２２によって、上記ステップＳ１０４で設定された文について、形態素解析を行う。
【０１１６】
ステップＳ１０８において、係り受け解析部２４によって、上記ステップＳ１０４で設定された文について、上記ステップＳ１０６で解析された形態素解析結果に基づいて、係り受け解析を行い、文節の同定、および、文節間の係り受け構造を決定する。
【０１１７】
ステップＳ１１０において、初期データ生成部２６によって、上記ステップＳ１０４で設定された文について、上記ステップＳ１０８で決定された係り受け構造に基づいて、上記ステップＳ１０４で設定された文の述語と当該述語に対応する格の要素である格要素とを同定し、述語項構造として抽出する。そして、ステップＳ１１０において、抽出された述語項構造を、初期データとしてメモリ（図示省略）に一時的に格納する。
【０１１８】
ステップＳ１１２において、上記ステップＳ１０２で設定されたテキストデータに含まれる全ての文について、上記ステップＳ１０４〜Ｓ１１０の処理を実行したか否かを判定する。上記ステップＳ１０４〜Ｓ１１０の処理を実行していない文が存在する場合には、ステップＳ１０４へ戻る。一方、上記ステップＳ１０２で設定されたテキストデータに含まれる全ての文について、上記ステップＳ１０４〜Ｓ１１０の処理を実行した場合には、ステップＳ１１４へ進む。
【０１１９】
ステップＳ１１４において、テキストデータベース２０に格納された全てのテキストデータについて、上記ステップＳ１０２〜Ｓ１１２の処理を実行したか否かを判定する。上記ステップＳ１０２〜Ｓ１１２の処理を実行していないテキストデータが存在する場合には、ステップＳ１０２へ戻る。一方、テキストデータベース２０に格納された全てのテキストデータについて、上記ステップＳ１０２〜Ｓ１１２の処理を実行した場合には、ステップＳ１１６へ進む。
【０１２０】
ステップＳ１１６において、Ｅｎｔｉｔｙデータ生成部２８によって、上記ステップＳ１１０でメモリ（図示省略）に格納された初期データから、ハ格の格要素と述語とからなる述語項構造と、当該述語構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるＥｎｔｉｔｙデータを生成する。そして、Ｅｎｔｉｔｙデータ生成部２８によって、Ｅｎｔｉｔｙデータを述語項構造データベース３に格納する。
【０１２１】
ステップＳ１１８において、Ａｔｔｒｉｂｕｔｅデータ生成部３０によって、上記ステップＳ１１０でメモリ（図示省略）に格納された初期データから、述語と、ハ格、及びガ格とからなる述語項構造と、当該述語項構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるＡｔｔｒｉｂｕｔｅデータを生成する。そして、Ａｔｔｒｉｂｕｔｅデータ生成部３０によって、Ａｔｔｒｉｂｕｔｅデータを述語項構造データベース３に格納する。
【０１２２】
ステップＳ１２０において、Ｅｖｅｎｔデータ生成部３２によって、上記ステップＳ１１０でメモリ（図示省略）に格納された初期データから、述語と、ハ格と、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の少なくとも１つとを含む述語項構造と、当該述語項構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるＥｖｅｎｔデータを生成する。そして、Ｅｖｅｎｔデータ生成部３２によって、Ｅｖｅｎｔデータを述語項構造データベース３に格納して、述語項構造データベース構築処理ルーチンを終了する。
【０１２３】
＜発話生成装置の作用＞
次に、本実施の形態に係る発話生成装置２００の作用について説明する。まず、述語項構造データベース構築装置１００の述語項構造データベース３に記憶されている、Ｅｎｔｉｔｙデータ、Ａｔｔｒｉｂｕｔｅデータ、及びＥｖｅｎｔデータが、発話生成装置２００に入力されると、述語項構造データベース５に格納される。そして、対話システム等の上位モジュールから、発話の意図と、焦点と、発話履歴とが発話生成装置２００に入力されると、発話生成装置２００によって、図１５に示す発話生成処理ルーチンが実行される。
【０１２４】
まず、ステップＳ２００において、入力部４によって、発話の意図と、焦点と、発話履歴とを受け付ける。
【０１２５】
ステップＳ２０２において、抽出部６０によって、上記ステップＳ２００で受け付けた焦点に基づいて、述語項構造データベース５に格納されているＥｎｔｉｔｙデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の各々について、テキストデータにおける当該述語項構造の出現頻度に応じた優先度を付与して、Ｅｎｔｉｔｙフレームを作成する。
【０１２６】
ステップＳ２０４において、抽出部６０によって、上記ステップＳ２００で受け付けた焦点に基づいて、述語項構造データベース５に格納されているＡｔｔｒｉｂｕｔｅデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の集合に基づいて、述語項構造の集合を表す木構造を構築する。そして、抽出部６０によって、構築した木構造の各ノードについて、当該ノードに対応して得られる述語項構造に対し、木構造内での当該ノードの位置に応じた優先度を付与して、Ｅｖｅｎｔフレームを作成する。
【０１２７】
ステップＳ２０６において、抽出部６０によって、上記ステップＳ２００で受け付けた焦点に基づいて、述語項構造データベース５に格納されているＥｖｅｎｔデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、上記ステップＳ２０４と同様に、抽出された述語項構造の集合に基づいて、述語項構造の集合を表す木構造を構築する。そして、抽出部６０によって、構築した木構造の各ノードについて、当該ノードに対応して得られる述語項構造に対し、木構造内での当該ノードの位置に応じた優先度を付与して、Ｅｖｅｎｔフレームを作成する。
【０１２８】
ステップＳ２０８において、付加情報付与部６２によって、上記ステップＳ２０２で作成されたＥｎｔｉｔｙフレーム、上記ステップＳ２０４で作成されたＡｔｔｒｉｂｕｔｅフレーム、及び上記ステップＳ２０６で作成されたＥｖｅｎｔフレームに含まれる述語項構造の各々について、当該述語項構造に含まれる表現に関する付加情報を付与する。
【０１２９】
ステップＳ２１０において、制約判定部６４によって、上記ステップＳ２０２で作成されたＥｎｔｉｔｙフレーム、上記ステップＳ２０４で作成されたＡｔｔｒｉｂｕｔｅフレーム、及び上記ステップＳ２０６で作成されたＥｖｅｎｔフレームに含まれる述語項構造の各々から、上記ステップＳ２００で受け付けた発話の意図に対して制約条件を満たす述語項構造の各々を抽出し、抽出した述語項構造の各々を出力する。
【０１３０】
ステップＳ２１２において、平叙文生成部６６によって、上記ステップＳ２１０で出力された述語項構造の各々について、予め定められた順番に従って、当該述語項構造の述語、格要素、及び格要素の格を並べた平叙文を生成する。
【０１３１】
ステップＳ２１４において、スコアリング部６８によって、上記ステップＳ２１２で生成された述語項構造と当該述語項構造について生成された平叙文とのペアの各々に対し、上記ステップＳ２００で受け付けた発話履歴、及び述語項構造に付与された優先度に基づいて、上記（５）式に従って、スコアを算出して付与する。
【０１３２】
ステップＳ２１６において、文末表現変換部７０によって、上記ステップＳ２００で受け付けた発話の意図と、当該発話の意図を表す文末表現に変換するための文末表現変換ルールとに基づいて、上記ステップＳ２１４で付与された、スコアの上位Ｍ個のペアの各々について、当該ペアの平叙文の文末表現を変換して、発話の意図に従ったＫ個の文を生成し、当該ペアについて生成したＫ個の文を発話候補として出力する。
【０１３３】
ステップＳ２１８において、出力部７は、文末表現変換部７０によって出力されたＫ個の発話候補を結果として出力して、発話生成処理ルーチンを終了する。
【０１３４】
なお、ステップＳ２１８において出力された発話候補は、対話システム等の上位モジュールによって発話に使用される。上位モジュールでは、例えば、複数発話候補があればその中からランダムに一つを発話する。
【０１３５】
以上説明したように、本実施の形態に係る発話生成装置によれば、述語項構造を複数記憶した述語項構造データベースから、焦点と一致する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の各々について、当該述語項構造に含まれる表現に関する付加情報を付与し、付加情報と発話の意図とに関する予め定められた制約条件に基づいて、当該制約条件を満たす述語項構造の各々を抽出し、抽出された述語項構造の各々について、当該述語項構造を用いて、発話の意図に従った文を生成し、生成された文を発話候補として出力することにより、ユーザ発話に対する自然な発話候補を生成することができる。
【０１３６】
また、発話候補を生成する際、テキストデータ内で高頻度に出現する述語項構造を優先して用いることで、発話候補の質を高めることができる。
【０１３７】
また、テキストデータにおける述語項構造の出現頻度ではなく、情報利得に応じて述語項構造の集合を表す木構造を構築することで、最も重要な格要素を含む述語項構造から優先して用いて、発話候補を生成することができる。
【０１３８】
また、発話履歴と述語項構造から生成される平叙文との間の意味的な類似度を考慮して、平叙文を選択することで、より文脈に即した発話候補を生成することができる。
【０１３９】
また、述語項構造に含まれる単語の極性と疑問詞の有無を考慮することで、より対話システムの発話の意図に沿った発話候補を生成することができる。
【０１４０】
また、対話システムが現在の話題について状況に即した発話候補を生成することができるようになる。それにより、ユーザと対話システムの対話が円滑になり、ユーザと対話システムが協業しやすくなる。
【０１４１】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１４２】
例えば、上記実施の形態では、述語項構造データベース構築装置１００と発話生成装置２００とを別々の装置として構成する場合を例に説明したが、述語項構造データベース構築装置１００と発話生成装置２００とを１つの装置として構成してもよい。
【０１４３】
また、上記実施の形態の発話生成装置２００におけるスコアリング部６８は、述語項構造と当該述語項構造について生成された平叙文とのペアの各々に対し、文脈情報と当該ペアの平叙文との類似度、及び当該ペアの述語項構造に付与された優先度に基づくスコアを付与する場合を例に説明したが、これに限定されるものではなく、文脈情報と当該ペアの平叙文との類似度、及び当該ペアの述語項構造に付与された優先度の何れか一方に基づくスコアを付与してもよい。
【０１４４】
また、発話生成装置２００では、スコアリング部６８において、上記（５）式に従い算出されたスコアによって、述語項構造と平叙文とのペアをソートし、ソート結果の上位Ｍ件を文末表現変換部７０へ出力する場合を例に説明したが、これに限定されるものではなく、スコアを算出せずに、述語項構造と平叙文とのペアの全てを文末表現変換部７０へ出力し、全ての平叙文の文末表現を変換して発話の意図に従った文を生成し、生成した文を発話候補として出力してもよい。
【０１４５】
また、Ｅｖｅｎｔデータとして、述語と、ハ格と、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の少なくとも１つとを含む述語項構造を抽出する場合を例に説明したが、これに限定されるものではない。例えば、Ｅｖｅｎｔデータとして、述語と、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の少なくとも１つとを含む述語項構造を抽出するようにしてもよい。
【０１４６】
また、上述の述語項構造データベース構築装置１００は、テキストデータベース２０、及び述語項構造データベース３を備えている場合について説明したが、例えばテキストデータベース２０、及び述語項構造データベース３の少なくとも１つが述語項構造データベース構築装置１００の外部装置に設けられ、述語項構造データベース構築装置１００は、外部装置と通信手段を用いて通信することにより、テキストデータベース２０、及び述語項構造データベース３の少なくとも１つを参照するようにしてもよい。
【０１４７】
また、上述の発話生成装置２００は、述語項構造データベース５を備えている場合について説明したが、例えば述語項構造データベース５が発話生成装置２００の外部装置に設けられ、発話生成装置２００は、外部装置と通信手段を用いて通信することにより、述語項構造データベース５を参照するようにしてもよい。
【０１４８】
上述の述語項構造データベース構築装置１００、及び発話生成装置２００は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１４９】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０１５０】
１     テキストデータ入力部
２     述語項構造データベース構築部
３、５ 述語項構造データベース
４     入力部
６     演算部
７     出力部
２０   テキストデータベース
２２   形態素解析部
２４   係り受け解析部
２６   初期データ生成部
２８   Ｅｎｔｉｔｙデータ生成部
３０   Ａｔｔｒｉｂｕｔｅデータ生成部
３２   Ｅｖｅｎｔデータ生成部
６０   抽出部
６２   付加情報付与部
６４   制約判定部
６５   文生成部
６６   平叙文生成部
６８   スコアリング部
７０   文末表現変換部
１００ 述語項構造データベース構築装置
２００ 発話生成装置
【図１】
2015079383.tif 000008
【図２】
2015079383.tif 000009
【図３】
2015079383.tif 000010
【図４】
2015079383.tif 000011
【図５】
2015079383.tif 000012
【図６】
2015079383.tif 000013
【図７】
2015079383.tif 000014
【図８】
2015079383.tif 000015
【図１０】
2015079383.tif 000016
【図１１】
2015079383.tif 000017
【図１２】
2015079383.tif 000018
【図１３】
2015079383.tif 000019
【図１４】
2015079383.tif 000020
【図１５】
2015079383.tif 000021
【図９】
2015079383.tif 000022