JP5744150B2 - 発話生成装置、方法、及びプログラム - Google Patents

発話生成装置、方法、及びプログラム Download PDF

Info

Publication number
JP5744150B2
JP5744150B2 JP2013216631A JP2013216631A JP5744150B2 JP 5744150 B2 JP5744150 B2 JP 5744150B2 JP 2013216631 A JP2013216631 A JP 2013216631A JP 2013216631 A JP2013216631 A JP 2013216631A JP 5744150 B2 JP5744150 B2 JP 5744150B2
Authority
JP
Japan
Prior art keywords
utterance
term structure
previous description
predicate
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013216631A
Other languages
English (en)
Other versions
JP2015079383A (ja
Inventor
東中 竜一郎
竜一郎 東中
牧野 俊朗
俊朗 牧野
松尾 義博
義博 松尾
克人 別所
克人 別所
今村 賢治
賢治 今村
のぞみ 小林
のぞみ 小林
平野 徹
徹 平野
千明 宮崎
千明 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013216631A priority Critical patent/JP5744150B2/ja
Publication of JP2015079383A publication Critical patent/JP2015079383A/ja
Application granted granted Critical
Publication of JP5744150B2 publication Critical patent/JP5744150B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Machine Translation (AREA)

Description

本発明は、発話生成装置、方法、及びプログラムに関する。
対話システムは大きく分けて二種類あり、タスク指向型対話システムと非タスク指向型対話システムに分けられる。前者は特定のタスクをシステムとの対話により達成するものであり、たとえば、フライトの予約システムや天気情報検索システムに用いられている。これらのシステムでは、予め話される内容が想定できるため、手作業で作り込んだ発話のデータベースを保持したり、データベースから抽出される天気情報などを手作業によるテンプレートに当てはめて、システムは発話を生成する(非特許文献1)。
非タスク指向型対話システムでは、目的のない対話を扱い、対話の内容はいわゆる雑談である。雑談はさまざまな話題が話されるため、予め話される内容は想定できない。そのため発話生成は非常に難しい課題である。ユーザの幅広い入力に対応するために、近年の従来技術では、ウェブやツイッター(登録商標)などの文章をデータベース化しておき、ユーザ発話に類似するものを選択することでシステム発話とするものがある(非特許文献2)。
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
しかし、雑談対話において、ウェブやツイッター(登録商標)などから発話を選択する方式で発話生成を行うと、システムの発話意図に沿った発話が行えない可能性がある。たとえば、ある話題についてシステムがユーザに質問すべきと判断される状況において、ウェブやツイッター(登録商標)にその話題の質問文がなければ質問はできない。システムは状況に応じて質問をしたり相槌を打ったりする必要があることから、状況に応じた発話を生成できないことは対話の質を低くする。
本発明は、上記の事情に鑑みてなされたものであり、ユーザの発話に対する自然な発話候補を生成することができる発話生成装置、方法、及びプログラムを提供することを目的とする。
上記の目的を達成するために本発明に係る発話生成装置は、発話の意図と、対話の話題を示す単語とを受け付ける入力部と、前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶したデータベースから、前記対話の話題を示す単語に対応する前記格要素を含む前記述語項構造の各々を抽出する抽出部と、前記抽出部によって抽出された前記述語項構造の各々について、前記述語項構造に含まれる表現に関する付加情報を付与する付加情報付与部と、前記抽出部によって抽出された前記述語項構造の各々から、前記付加情報と前記発話の意図とに関する予め定められた制約条件に基づいて、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出する制約判定部と、前記制約判定部によって抽出された前記述語項構造の各々について、前記述語項構造を用いて、前記入力部によって受け付けた発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力する文生成部と、を含んで構成されている。
本発明に係る発話生成方法は、入力部、抽出部、付加情報付与部、制約判定部、及び文生成部を含む発話生成装置における発話生成方法であって、前記入力部によって、発話の意図と、対話の話題を示す単語とを受け付けるステップと、前記抽出部によって、前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶したデータベースから、前記対話の話題を示す単語に対応する前記格要素を含む前記述語項構造の各々を抽出するステップと、前記付加情報付与部によって、前記抽出部によって抽出された前記述語項構造の各々について、前記述語項構造に含まれる表現に関する付加情報を付与するステップと、前記制約判定部によって、前記抽出部によって抽出された前記述語項構造の各々から、前記付加情報と前記発話の意図とに関する予め定められた制約条件に基づいて、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出するステップと、前記文生成部によって、前記制約判定部によって抽出された前記述語項構造の各々について、前記述語項構造を用いて、前記入力部によって受け付けた発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力するステップと、を含む。
前記文生成部は、前記制約判定部によって抽出された前記述語項構造の各々について、前記述語、前記格要素、及び前記格要素の格について予め定められた順番に従って、前記述語項構造の述語、前記格要素、及び前記格要素の格を並べた平叙文を生成し、前記入力部によって受け付けた発話の意図と、前記発話の意図を表す文末表現に変換するための予め定められた文末表現変換ルールとに基づいて、前記述語項構造について生成された前記平叙文の文末表現を変換して、前記発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力するようにすることができる。
また、前記抽出部は、前記対話の話題を示す単語に基づいて、前記データベースから、前記対話の話題を示す単語に対応する格要素を含む前記述語項構造の各々を抽出すると共に、抽出した前記述語項構造の各々に対し、テキストデータにおける前記述語項構造の出現頻度に応じた優先度を付与するようにすることができる。
また、前記抽出部は、前記対話の話題を示す単語に基づいて、前記データベースから、前記対話の話題を示す単語に対応する格要素を含む前記述語項構造の各々を抽出すると共に、前記抽出された前記述語項構造の各々のうちの、述語とハ格の格要素とからなる前記述語項構造の各々について、テキストデータにおける前記述語項構造の出現頻度に応じた優先度を付与し、前記抽出された前記述語項構造から得られる前記述語項構造の集合について、前記述語項構造の集合全体を表すルートノードから順に各ノードに対し、述語又は格要素の有無を条件として前記ノードが表す前記述語項構造の集合を分割したときの前記条件のうち、前記分割した前記述語項構造の集合のエントロピーの期待値が最小となる前記条件で分割することにより構築される木構造を構築し、前記木構造の各ノードについて、前記ノードから前記ルートノードまで辿ったときに得られる前記述語項構造に対し、前記木構造内での前記ノードの位置に応じた優先度を付与するようにすることができる。
また、前記文生成部は、前記制約判定部によって抽出された前記述語項構造の各々について、前記平叙文を生成し、前記述語項構造と前記述語項構造について生成された前記平叙文とのペアの各々に対し、入力された発話履歴に基づいて算出される文脈情報と前記ペアの平叙文との類似度、及び前記ペアの前記述語項構造に付与された前記優先度の少なくとも一方に基づくスコアを付与し、前記付与されたスコアの上位M個のペアの各々について、前記ペアの前記平叙文の文末表現を変換して、前記発話の意図に従った文を生成し、前記ペアについて生成した前記文を発話候補として出力するようにすることができる。
また、前記付加情報付与部は、前記抽出部によって抽出された前記述語項構造の各々について、前記付加情報として、前記述語項構造に含まれる、用言に関する評価表現の種類を示す情報、前記述語構造に含まれる、名詞に関する評価表現の種類を示す情報、及び質問であるか否かを示す情報の少なくとも1つを付与するようにすることができる。
また、前記制約判定部は、前記抽出部によって抽出された前記述語項構造の各々から、前記発話の意図が質問でない場合に、前記付加情報として質問であることを示す情報が付与された前記述語項構造を用いないこと、前記発話の意図がポジティブな評価である場合に、前記付加情報としてポジティブな評価であることを示す情報が付与された前記述語項構造を用いること、及び前記発話の意図がネガティブな評価である場合に、前記付加情報としてネガティブな評価であることを示す情報が付与された前記述語項構造を用いることの少なくとも一つを前記制約条件として、前記抽出部によって抽出された前記述語項構造の各々から、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出するようにすることができる。
本発明に係るプログラムは、コンピュータを、本発明に係る発話生成装置の各部として機能させるためのプログラムである。
以上説明したように、本発明の発話生成装置、方法、及びプログラムによれば、述語項構造を複数記憶したデータベースから、対話の話題を示す単語に対応する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の各々について、当該述語項構造に含まれる表現に関する付加情報を付与し、付加情報と発話の意図とに関する予め定められた制約条件に基づいて、発話の意図に対して当該制約条件を満たす述語項構造の各々を抽出し、抽出された述語項構造の各々について、当該述語項構造を用いて、発話の意図に従った文を生成し、生成された文を発話候補として出力することにより、ユーザ発話に対する自然な発話候補を生成することができる、という効果が得られる。
本発明の実施の形態に係る述語項構造データベース構築装置の一構成例を示すブロック図である。 Entityデータの一例を示す説明図である。 Attributeデータの一例を示す説明図である。 Eventデータの一例を示す説明図である。 本発明の実施の形態に係る発話生成装置の一構成例を示すブロック図である。 Entityフレームの一例を示す説明図である。 焦点「ミスチル」について生成された木構造の一例を示す図である。 焦点「ラーメン」について生成された木構造の一例を示す図である。 Attributeフレームの一例を示す図である。 Eventフレームの一例を示す図である。 付加情報が付与されたEntityフレームの一例を示す説明図である。 付加情報が付与されたAttributeフレームの一例を示す説明図である。 付加情報が付与されたEventフレームの一例を示す説明図である。 本発明の実施の形態に係る述語項構造データベース構築処理ルーチンの内容を示すフローチャートである。 本発明の実施の形態に係る発話生成処理ルーチンの内容を示すフローチャートである。
<概要>
まず、本発明の実施の形態の概要について説明する。
本発明の実施の形態では、まず、大規模なテキストデータを述語項構造解析し、述語項構造データベースを作成する。述語項構造データベースの各レコードには、文の要素となる、述語とその格要素(述語項構造)が保持されている。対話システムは述語項構造データベースの中から、現在の対話の話題を示す単語(以下、焦点と称する。)が含まれるレコードを抽出し、当該レコードの述語項構造から対話システムの発話の意図に沿った発話文を生成し、発話候補とすることで発話を行う。
雑談対話システムの発話生成部を装置として構成した発話生成装置に、本発明を適用した場合を例にとって、以下に説明する。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<述語項構造データベース構築装置のシステム構成>
図1は、本発明の実施の形態に係る述語項構造データベース構築装置100を示すブロック図である。この述語項構造データベース構築装置100は、CPUと、RAMと、後述する述語項構造データベース構築処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
本実施の形態に係る述語項構造データベース構築装置100は、図1に示すように、テキストデータ入力部1と、述語項構造データベース構築部2と、述語項構造データベース3とを備えている。
テキストデータ入力部1は、大量のテキストデータを含むテキスト集合の入力を受け付ける。なお、テキスト集合に含まれるテキストデータは、テキストデータであれば何でもよい。
述語項構造データベース構築部2は、テキストデータ入力部1によって受け付けたテキスト集合に含まれる複数のテキストデータの各々について、当該テキストデータから述語項構造を抽出し、述語項構造データベース3に格納する。なお、述語項構造データベース構築部2は、テキストデータベース20と、形態素解析部22と、係り受け解析部24と、初期データ生成部26と、Entityデータ生成部28と、Attributeデータ生成部30と、Eventデータ生成部32とを備えている。
テキストデータベース20には、テキストデータ入力部1によって受け付けたテキスト集合が格納される。
形態素解析部22は、テキストデータベース20に格納されたテキスト集合に含まれる複数のテキストデータの各文について、形態素解析を行う。
係り受け解析部24は、テキスト集合に含まれる複数のテキストデータの各文について、形態素解析部22によって解析された形態素解析結果に基づいて、係り受け解析を行い、文節の同定、および、文節間の係り受け構造を決定する。
なお、形態素解析部22による形態素解析や、係り受け解析部24による係り受け解析には、フリーで用いられているものを用いればよい。例えば、ChaSenやCaboChaである。本実施の形態では、出願人が開発したJTAGとJDEPとをそれぞれ形態素解析と係り受け解析に用いる。
初期データ生成部26は、テキスト集合に含まれる複数のテキストデータの各文について、係り受け解析部24によって決定された係り受け構造に基づいて、当該文の述語と当該述語に対応する格の要素である格要素とを同定し、述語項構造として抽出する。なお、述語項構造とは、述語と当該述語に対応する格要素との組み合わせである。そして、初期データ生成部26は、複数のテキストデータの各文について抽出された述語項構造を、初期データとしてメモリ(図示省略)に一時的に格納する。
なお、本実施の形態では、初期データ生成部26は、文中の述語の各々について、当該述語の格要素としてハ格、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の各々を抽出し、述語と1つ以上の格要素との組み合わせをひとまとまりとして抽出する。そして、初期データ生成部26は、抽出された同じ述語項構造についてはひとまとめにし、頻度と共に初期データとしてメモリ(図示省略)に登録する。
上記の初期データ生成部26について、具体例を挙げて説明する。例えば、文が「太郎が花子に会う」であれば、「会う」が述語であり、当該述語の文節に係っている文節から、ガ格の格要素が「太郎」、ニ格の格要素が「花子」だと分かる。そして、ここから「述語:会う ガ格:太郎 ニ格:花子」という述語項構造が抽出される。このような述語項構造を、テキスト集合に含まれるテキストデータのすべての文から抽出する。
Entityデータ生成部28は、初期データ生成部26によって生成された初期データから、ハ格の格要素と述語とからなる述語項構造と、当該述語構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるEntityデータを生成する。そして、Entityデータ生成部28は、生成されたEntityデータを述語項構造データベース3に格納する。
例えば、Entityデータは、「京都は暑い」、「ミスチルはいい」などの文に対応する述語項構造と頻度とのペアのデータから構成される。また、焦点「ミスチル」に関するEntityデータの抜粋の一例を図2に示す。図2のEntityデータの最後のカラムは述語項構造の頻度である。
Attributeデータ生成部30は、初期データ生成部26によって生成された初期データから、述語と、ハ格、及びガ格の格要素とからなる述語項構造と、当該述語項構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるAttributeデータを生成する。そして、Attributeデータ生成部30は、生成されたAttributeデータを述語項構造データベース3に格納する。
例えば、Attributeデータは、「京都は冬が寒い」や「ミスチルは歌がいい」といった文に対応する述語項構造と頻度とのペアのデータから構成される。図3に、Attributeデータの一例を示す。
Eventデータ生成部32は、初期データ生成部26によって生成された初期データから、述語と、ハ格と、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の少なくとも1つの格要素とを含む述語項構造と、当該述語項構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるEventデータを生成する。そして、Eventデータ生成部32は、生成されたEventデータを述語項構造データベース3に格納する。
図4に、Eventデータの一例を示す。なお、上記図4は、ハ格の表示を省略した場合のEventデータの一例である。
述語項構造データベース3には、Entityデータ生成部28によって生成されたEntityデータと、Attributeデータ生成部30によって生成されたAttributeデータと、Eventデータ生成部32によって生成されたEventデータとが格納される。すなわち、述語項構造データベース3には、複数の述語項構造が記憶されている。なお、述語項構造データベース3は、Entityデータ、Attributeデータ、Eventデータについて検索可能とするため、RDB(Relational database)として構成される。
<発話生成装置のシステム構成>
図5は、本発明の実施の形態に係る発話生成装置200を示すブロック図である。この発話生成装置200は、CPUと、RAMと、後述する発話生成処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
本実施の形態に係る発話生成装置200は、図5に示すように、入力部4と、述語項構造データベース5と、演算部6と、出力部7とを備えている。なお、述語項構造データベース5は、データベースの一例である。
入力部4は、発話の意図と、焦点と、発話履歴とを受け付ける。発話履歴とは、現時点までの対話システムとユーザの発話文字列の集合である。
また、本実施の形態では、発話の意図として、「質問」、「ポジティブな評価」、「ネガティブな評価」、及び「その他」の4種類がある。上記の発話の意図は、それぞれ、ユーザに質問するという意図、焦点についてのポジティブな意見を表出するという意図(例:○○は大好きです)、焦点についてのネガティブな意見を表出するという意図(例:○○は嫌いです)、その他一般の意図を表す。発話の意図は上記だけに限られるわけではなく、対話システムの設計によって発話の意図の種類を追加してもよい。例えば、参考文献(目黒豊美、東中竜一郎、堂坂浩二、南泰浩、「聞き役対話の分析および分析に基づいた対話制御部の構築」、情報処理学会論文誌、2012、Vol.53 No.12、pp.2787-2801)内の表6として記載されているような対話行為タグのセットを、発話の意図として用いてもよい。
述語項構造データベース5には、上記述語項構造データベース構築装置100の述語項構造データベース3に格納されている、Entityデータ、Attributeデータ、Eventデータと同じEntityデータ、Attributeデータ、Eventデータが格納されている。
演算部6は、抽出部60と、付加情報付与部62と、制約判定部64と、文生成部65とを備えている。文生成部65は、平叙文生成部66と、スコアリング部68と、文末表現変換部70とを備えている。
抽出部60は、入力部4によって受け付けた焦点に基づいて、述語項構造データベース5に格納されている、Entityデータ、Attributeデータ、及びEventデータから、焦点と一致する格要素を含む述語項構造の各々を抽出すると共に、抽出した述語項構造の各々に対し、テキストデータにおける当該述語項構造の出現頻度に応じた優先度を付与して、Entityフレーム、Attributeフレーム、及びEventフレームを作成する。なお、各フレームは、述語項構造と優先度とのペアの集合である。
Entityフレーム、Attributeフレーム、及びEventフレームは、以下に説明するように作成される。
まず、抽出部60は、入力部4によって受け付けた焦点に基づいて、述語項構造データベース5に格納されているEntityデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の各々について、テキストデータにおける当該述語項構造の出現頻度に応じた優先度を付与して、Entityフレームを作成する。ここで、抽出部60は、出現頻度が上位N件の述語項構造の各々を取得して、Entityフレームを作成する。例えば、Nは500である。図6は、焦点「ミスチル」についてのEntityフレームの一例である。
上記図6のEntityフレームでは、述語や格要素に0や1という番号を付与している。これは本実施の形態で用いる述語項構造の簡易な記法であり、述語は0番、ハ格、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、マデ格の格要素はそれぞれ1番〜7番の番号で表す。なお、ハ格はガ格と同様に主語に用いられることが多い為、ガ格と同様1番を付与することとする。上記図6のEntityフレーム内のデータでは、「0_いい」は述語が「いい」であること、「1_ミスチル」はガ格が「ミスチル」であることを表している。上記図6の例を見ても分かるとおり、Entityフレームは焦点となるEntity自体についての属性を表す述語項構造を含む。ここで、優先度は小さな数の方が優先されることを指す。優先度は、出現頻度順で優先されるように設定されている。
次に、抽出部60は、入力部4によって受け付けた焦点に基づいて、述語項構造データベース5に格納されているAttributeデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の集合に基づいて、述語項構造の集合を表す木構造を構築する。そして、抽出部60は、構築された木構造の各ノードについて、当該ノードからルートノードまで辿った時に得られる述語項構造に対し、木構造内での当該ノードの位置に応じた優先度を付与して、Attributeフレームを作成する。なお、抽出部60は、Attributeデータのハ格の格要素に焦点が含まれる述語項構造を、Attributeデータから抽出する。
述語項構造の集合を表す木構造は、述語項構造の集合全体を表すルートノードから順に各ノードについて、述語又は格要素の有無を条件としてノードが表す述語項構造の集合を分割したときの条件のうち、分割した述語項構造の集合のエントロピーの期待値が最小となる条件で分割することにより構築される。
以下、上記の述語項構造の集合を表す木構造の構築手続きについて説明する。
本実施の形態では、述語項構造の集合の木構造化の手続きに、ID3という決定木を学習するアルゴリズムを用いる。これは、述語項構造の集合を、ある述語、又はある格要素の有無(Attributeフレームを作成する場合は、述語又はガ格の格要素の有無)を条件として2つに分割したとき、エントロピーの期待値が最も下がる条件(情報利得が大きい条件)で分割することを繰り返すものである。
具体的な手続きは以下の(1)〜(4)の処理で実現される。
(1)抽出された述語項構造の集合PAから、すべての述語P(Predicates)、格要素A(Arguments)を抽出する。
(2)x∈(P∪A)について、PAをxの有無により2つの部分集合に分割する。分割された2つの部分集合をYESとNOとし、以下の(1)式、(2)式に従って、それぞれの部分集合についてエントロピーH(YES)、H(NO)を計算する。
ここで、p(y)はYESにおけるyの出現確率である。これはテキストデータにおける出現頻度から簡単に計算できる。
そして、以下の(4)式に従って、PA全体のエントロピー、すなわち
から、分割した場合のエントロピーの期待値を引くと、情報利得(Information Gain)が得られる。
ここで、p(YES)とp(NO)はPAにおけるxを含む述語項構造の出現確率、及びxを含まない述語項構造の出現確率である。
(3)IG(x)を最大にするxを求め、YESとNOのそれぞれをPA’として、この(2)〜(3)の処理を再帰的に繰り返す。
(4)分割できなくなるまで上記(2)〜(3)の処理を繰り返すと、述語項構造の集合PAを各時点で最も整理することができる要素の有無によって木構造に変換されたデータができる。
たとえば、焦点「ミスチル」の場合、述語に「いい」を持つかどうかで述語項構造の集合を分割すると最も情報利得が大きい。そのため、まず「いいが述語に含まれる」「いいが述語に含まれない」という条件で2つの部分集合に分割する。以降、「趣味」や「名曲」などを条件に述語項構造の集合の分割を繰り返していく。図7は、焦点「ミスチル」について作成された木構造の例である。また、図8は、焦点「ラーメン」について作成された木構造の例である。
ルートに近い条件に含まれる要素は、述語項構造全体を整理するために有用な、情報量の多いものだと考えることができるため、ルートまでの距離が近い順に述語項構造を並べる。そして、並べられた述語項構造に優先度を付与したものをAttributeフレームとする。具体的には、あるノードからルートまでたどった時、そのパス上に述語(ある述語Pがあるという意味のノード)があり、さらに、格要素(ある格要素Aがあるという意味のノード)が一つ以上あればそれらを述語項構造としてまとめ、当該ノードの深さを、当該述語項構造の優先度とする。
または、木構造を最左優先で順にたどっていき、行き当たったノードの順番を優先度としてもよい。上記図8の例であれば、「0_分かれる 1_好み」、「0_別れる 1_好み」、「0_わかれる 1_好み」、「0_命 1_スープ」、「0_煮立つ 1_スープ」、「0_濃い 1_味」という順に優先度が1から付けられる。本実施の形態では、ID3による木構造の導出は最左優先の再帰処理で行っていることから、この優先度の付け方によると、先に処理された、つまり重要であるものから優先度が高い扱いになる。また、ノードが近く、内容が類似するものが近い優先度を持つようにすることができる。
焦点「ミスチル」についての木構造から、本処理によって得られるAttributeフレームの例は、図9に示す通りである。ここでは深さを優先度としている。「0_いい 1_歌詞」のルートからの深さは実際には2であるが、本手法で得られる述語項構造の深さの最低値は2であることから、優先度は深さから1を引いたものとしている。
Attributeフレームは、焦点の属性(Attribute)に関する情報を表すデータとなっている。「歌詞がいい」が最も優先度の高い述語項となっているが、当該述語項は、この述語項が最もルート付近にあるものであり、「歌詞がいい」か「そうでないか」が、ミスチルについての述語項構造全体を大きく分けることができる情報量の大きい述語項であることを表している。
なお、Attributeフレームの作成については、Entityフレームと同様に、テキストデータにおける出現頻度上位N件(例えば、Nは500)の述語項構造の各々を取得し、当該N件の述語項構造に、出現頻度順で優先順位を付与して、Attributeフレームを作成してもよい。
次に、抽出部60は、入力部4によって受け付けた焦点に基づいて、述語項構造データベース5に格納されているEventデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、上記Attributeフレームの作成と同様に、抽出された述語項構造の集合について、述語項構造の集合を表す木構造を構築する。そして、抽出部60は、当該述語項構造の集合に含まれる述語項構造の各々に対し、木構造内での述語項構造の位置に応じた優先度を付与して、Eventフレームを作成する。抽出部60は、Eventデータのハ格〜マデ格の何れかの格要素に焦点が含まれる述語項構造を、Eventデータから抽出する。
図10は、焦点「ミスチル」についてのEventフレームの例である。Eventフレームは、焦点に関する事態(Event)一般を表すデータとなっている。また、上記図10は、焦点が含まれる格の表示を省略した場合のEventフレームの一例である。
なお、Eventフレームの作成については、Entityフレームと同様に、テキストデータにおける出現頻度上位N件(例えば、Nは500)の述語項構造の各々を取得し、当該N件の述語項構造に、出現頻度順で優先順位を付与して、Eventフレームを作成してもよい。
なお、Attributeデータ、及びEventデータは、述語とハ格の格要素とからなる述語項構造とは異なる述語項構造の集合の一例である。また、Entityフレーム、Attributeフレーム、及びEventフレームに含まれる各述語項構造は、焦点と一致する格要素を含む述語項構造の各々の一例である。
付加情報付与部62は、抽出部60によって作成された、Entityフレーム、Attributeフレーム、及びEventフレームに含まれる述語項構造の各々について、当該述語項構造に含まれる表現に関する付加情報を付与する。
付加情報は、述語項構造に含まれる、用言に関する評価表現の種類を示す情報、述語構造に含まれる、名詞に関する評価表現の種類を示す情報、及び質問であるか否かを示す情報の3種類である。以下、3種類の付加情報について説明する。
(1)用言に関する評価表現の種類を示す情報(PN)
用言に関する評価表現の種類を示す情報は、「いい」「悪い」といった用言に代表されるような評価表現が述語項構造に含まれているか、そして、もし含まれているならどの種類かという情報である。正の極性の評価表現であればP、負の極性の評価表現であればN、どちらとも取れるものであればPN、それ以外であればO(Other)が付与される。ここで用いられる評価表現のリストとしては事前に用意した単語リストを用いる。含まれているかの判定は単語の照合が行える手法であれば何でもよい。例えば、正規表現によるマッチングを用いればよい。
(2)名詞に関する評価表現の種類を示す情報(PNE)
名詞に関する評価表現の種類を示す情報として、増加すれば増加するほどよいとされる名詞の評価表現(例えば、「金」「愛」「幸せ」など)が含まれていればP、増加するほど良くないとされる名詞の評価表現(例えば、病気、不幸など)が含まれていればN、どちらとも取れるものであればE、それ以外にはOが付与される。これらの名詞のリストとしては事前に用意したものを用いる。
(3)質問であるか否かを示す情報(Q)
述語項構造の格要素として「誰」や「何」から始まるものがあればそれは質問であるため、「誰」、「何」、「いつ」、「どこ」などの単語リストを予め用意しておき、述語項構造の格要素と当該単語リスト内の単語とのマッチングを行い、質問であるか否かを示す情報として、当該単語リスト内の単語を含む格要素を持つレコードにはQ、そうでなければOを付与する。
図11は、上記(1)〜(3)の付加情報が付加された、「事故」を焦点とするEntityフレームの例である。「事故」という単語は、名詞に関する評価表現の種類としてNであるため、PNEのカラムはNとなっている。また、「怖い」などは負の極性の評価表現であるためNとなっている。
また、図12は、上記の(1)〜(3)の付加情報が付加された、「事故」を焦点とするAttributeフレームの例である。5番目の「0_悪い 1_誰」は「誰」という疑問詞が入っているため、Qが付与されている。なお、上記図12は、焦点が含まれる格の表示を省略した場合のAttributeフレームの一例である。
また、図13は、上記の(1)〜(3)の付加情報が付加された、「事故」を焦点とするEventフレームの例である。なお、上記図13は、ハ格の表示を省略した場合のEventフレームの一例である。
制約判定部64は、抽出部60によって作成された、Entityフレーム、Attributeフレーム、及びEventフレームに含まれる述語項構造の各々から、付加情報と発話の意図とに関する予め定められた制約条件に基づいて、入力部4によって受け付けた発話の意図に対して制約条件を満たす述語項構造の各々を抽出し、抽出した述語項構造の各々を平叙文生成部66へ出力する。
ここで、予め定められた制約条件とは、発話の意図が質問でない場合に、付加情報として質問であることを示す情報が付与された述語項構造を用いないこと、発話の意図がポジティブな評価である場合に、付加情報としてポジティブな評価であることを示す情報が付与された述語項構造を用いること、及び発話の意図がネガティブな評価である場合に、付加情報としてネガティブな評価であることを示す情報が付与された述語項構造を用いることである。
具体的には、制約判定部64は、入力部4によって受け付けた発話の意図が、「質問」の発話の意図でない場合、各フレームに含まれる述語項構造の各々のうち、フレーム中のQのカラムにQが付与された述語項構造を抽出しない。
また、制約判定部64は、入力部4によって受け付けた発話の意図が、「ポジティブな評価に関する発話」である場合には、各フレームに含まれる述語項構造の各々のうち、フレーム中の、PN又はPNEのカラムにPが付与された述語項構造のみを抽出する。
また、制約判定部64は、入力部4によって受け付けた発話の意図が、「ネガティブな評価に関する発話」である場合には、各フレームに含まれる述語項構造の各々のうち、フレーム中の、PN、又はPNEのカラムにNが付与された述語項構造のみを抽出する。
上記の制約によって意味の不整合が生じる発話をしないことが担保できる。例えば、疑問詞を含む平叙文「誰が悪いです」、ポジティブな評価として負の極性を含む発話「病気になるっていいですね」、及びネガティブな評価として正の極性を含む発話「幸せになるってよくないですね」などを排除することができる。
平叙文生成部66は、制約判定部64によって出力された述語項構造の各々について、述語、格要素、及び格要素の格について予め定められた順番に従って、当該述語項構造の述語、格要素、及び格要素の格を並べた平叙文を生成する。
述語項構造の述語をpred、格をcase、格要素をargとすると、Entityフレーム、及びAttributeフレームから抽出された述語項構造であれば、「argはpred」という平叙文を生成する。それ以外のフレームであれば、「arg case pred」という平叙文を生成する。例えば、Entityフレームから抽出された述語項構造「0_いい 1_京都」であれば、「京都はいい」となる。Eventフレームから抽出された述語項構造「0_歌う 2_曲」であれば、「曲を歌う」となる。なお、日本語の特性から、ヲ格、ニ格、ガ格、デ格、ト格、マデ格、カラ格の順で述語に近くなるように格要素を配置する。そして、平叙文生成部66は、述語項構造と当該述語項構造について生成された平叙文とのペアのリストをスコアリング部68へ出力する。
スコアリング部68は、平叙文生成部66によって出力された述語項構造と当該述語項構造について生成された平叙文とのペアの各々に対し、入力部4によって受け付けた発話履歴に基づいて算出される文脈情報と当該ペアの平叙文との類似度、及び当該ペアの述語項構造に付与された優先度に基づくスコアを付与する。
具体的には、スコアリング部68は、述語項構造と平叙文とのペアの各々について、下記の式に従いスコアを算出する。
上記(5)式では、述語項構造がFであり、SがFに対応する平叙文である。Cは発話履歴を表し、Lは発話履歴においていくつ前までの発話を参照するかを規定する固定値である。Lは例えば3である。dist関数は、発話履歴(文脈)と平叙文の意味的なまとまり返す関数である。
dist関数では、概念ベースを用いた計算を行う。具体的には、まず発話履歴から直近のL発話を抽出する。そして、L発話の各々について概念ベースを参照し、L個の概念ベクトル(1000次元)を作成する。
ここで、発話から概念ベクトルを以下のように作成する。まず、発話を形態素解析し単語に分割する。そして、各々の単語について概念ベースを検索し、検索の結果、見つかった単語に対応する概念ベクトルの和を算出する。そして、概念ベクトルの和の大きさが1となるように正規化し、当該発話の概念ベクトルとする。
平叙文Sについても、発話の概念ベクトルと同様に、概念ベクトルを一つ作成する。
そして、L発話の各々の概念ベクトルと、平叙文Sの概念ベクトルとを合わせたL+1個のベクトルから、重心となるベクトルを求める。当該重心となるベクトルを、セントロイドと呼ぶ。
最後に、L+1個のベクトルの各々について、当該ベクトルとセントロイドとの誤差(ユークリッド距離の二乗)を計算し、計算された誤差の平均値をdist関数の返り値とする。当該返り値が小さいほど、複数のベクトルがまとまっていることを表す。
dist関数の返り値を用いて、平叙文Sがこれまでの文脈(L個の発話履歴)と意味的なまとまりをなすかどうかを確かめることができる。
なお、概念ベースの詳細については参考文献(別所克人、内山俊郎、内山匡、片岡良治、奥雅博、「単語・意味属性間共起に基づくコーパス概念ベースの生成方式」、情報処理学会論文誌、2008、Vol.49, No.12, pp.3997-4006)に詳述されている。
概念ベースについて簡単に説明すると、単語を、周辺単語の出現頻度からなるベクトルで表現したものが概念ベースである。単語そのものの分布ではベクトル空間は疎であるため、次元圧縮の手法を用いて、同様の意味を持つ単語をまとめ上げ、ベクトルを1000次元までに抑えている。単語の距離を1000次元のベクトル上で計算することで、単語間の意味的な距離を計算することが可能である。
上記(5)式のpriority関数は各フレームが持つ優先度に基づくスコアである。αとβとは係数であり、dist関数とpriority関数のどちらに重きを置くかを設定する為に用いる。また、どちらかを0に設定することで、片方の関数のみを用いたスコアリングを行うことが可能である。スコアリングによって、重要かつ対話の文脈に即したものを上位にランキングすることができる。
なお、dist関数の上位K件をまず取得し、その中でpriority関数に基づいてソートをしたものをランキング結果としてもよい。また、priority関数の上位J件をまず取得し、その中でdist関数に基づいてソートをしたものをランキング結果としてもよい。
スコアリング部68は、上記(5)式に従って算出されたスコアによって、述語項構造と平叙文とのペアをソートし、ソート結果の上位M件を、文末表現変換部70へ出力する。
文末表現変換部70は、入力部4によって受け付けた発話の意図と、当該発話の意図を表す文末表現に変換するための文末表現変換ルールとに基づいて、スコアリング部68によって出力された、スコアの上位M個のペアの各々について、当該ペアの平叙文の文末表現を変換して、発話の意図に従った文を生成し、当該ペアについて生成した文を発話候補として出力する。
具体的には、文末表現変換部70は、述語項構造と平叙文とのペアの平叙文の文末表現を、文末表現変換ルールによって変換し、発話の意図に即した文に書き換え、発話候補とする。文末表現変換ルールは事前に準備されたルールによって実装される。文末表現変換ルールは、平叙文の最後の単語の品詞に基づく書き換えルールである。
例えば、平叙文「ミスチルが好き」のように形容動詞が最後の単語であれば、発話の意図が「質問」の場合、文「ミスチルが好きですか?」のように「ですか」を付与する。平叙文「ミスチルが歌う」のように最後の単語が動詞であれば「のですか?」を追加し、文「ミスチルは歌うのですか?」とする。または、所与の活用辞書を参照し最後の動詞を連用形(「歌い」)にし、「ますか?」を付与することで「ミスチルは歌いますか?」という文を生成し、発話候補とする。また、1つの平叙文に対し複数の文が生成された場合は、ランダムに何れかの文を発話候補として選択する。
その他の発話の意図の場合は、平叙文をそのまま発話候補とするか、又は最後の単語の品詞に従った文末表現候補を準備しておき、当該文末表現を付与する。例えば、最後の品詞が名詞の場合は「だよ」「だね」「だよね」など複数の文末表現候補があり、複数の文末表現候補の何れかを文末に付与して発話候補とする。なお、文末表現変換ルールとして、発話の意図に応じた、より複雑なルールを用いてもよい。
そして、文末表現変換部70は、上位M個のペアの各々の平叙文について文末表現を変換した結果得られるK個の発話候補を出力する。ここで、文末表現変換ルールが適用できない平叙文などは変換されないため、KはM以下の数である。
出力部7は、文末表現変換部70によって出力されたK個の発話候補を、結果として出力する。出力部7による出力は、上位モジュールの対話システムにおける発話候補となり、最終的に何れかがシステム発話として用いられる。
<述語項構造データベース構築装置の作用>
次に、本実施の形態に係る述語項構造データベース構築装置100の作用について説明する。まず、複数のテキストデータを含むテキスト集合が述語項構造データベース構築装置100に入力されると、述語項構造データベース構築装置100によって、図14に示す述語項構造データベース構築処理ルーチンが実行される。
まず、ステップS100において、テキストデータ入力部1によって、テキスト集合の入力を受け付け、テキストデータベース20に格納する。
ステップS102において、述語項構造データベース構築部2によって、上記ステップS100でテキストデータベース20に格納されたテキスト集合に含まれる複数のテキストデータのうち、1つのテキストデータを設定する。
ステップS104において、上記ステップS102で設定されたテキストデータに含まれる文のうち、1つの文を設定する。
ステップS106において、形態素解析部22によって、上記ステップS104で設定された文について、形態素解析を行う。
ステップS108において、係り受け解析部24によって、上記ステップS104で設定された文について、上記ステップS106で解析された形態素解析結果に基づいて、係り受け解析を行い、文節の同定、および、文節間の係り受け構造を決定する。
ステップS110において、初期データ生成部26によって、上記ステップS104で設定された文について、上記ステップS108で決定された係り受け構造に基づいて、上記ステップS104で設定された文の述語と当該述語に対応する格の要素である格要素とを同定し、述語項構造として抽出する。そして、ステップS110において、抽出された述語項構造を、初期データとしてメモリ(図示省略)に一時的に格納する。
ステップS112において、上記ステップS102で設定されたテキストデータに含まれる全ての文について、上記ステップS104〜S110の処理を実行したか否かを判定する。上記ステップS104〜S110の処理を実行していない文が存在する場合には、ステップS104へ戻る。一方、上記ステップS102で設定されたテキストデータに含まれる全ての文について、上記ステップS104〜S110の処理を実行した場合には、ステップS114へ進む。
ステップS114において、テキストデータベース20に格納された全てのテキストデータについて、上記ステップS102〜S112の処理を実行したか否かを判定する。上記ステップS102〜S112の処理を実行していないテキストデータが存在する場合には、ステップS102へ戻る。一方、テキストデータベース20に格納された全てのテキストデータについて、上記ステップS102〜S112の処理を実行した場合には、ステップS116へ進む。
ステップS116において、Entityデータ生成部28によって、上記ステップS110でメモリ(図示省略)に格納された初期データから、ハ格の格要素と述語とからなる述語項構造と、当該述語構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるEntityデータを生成する。そして、Entityデータ生成部28によって、Entityデータを述語項構造データベース3に格納する。
ステップS118において、Attributeデータ生成部30によって、上記ステップS110でメモリ(図示省略)に格納された初期データから、述語と、ハ格、及びガ格とからなる述語項構造と、当該述語項構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるAttributeデータを生成する。そして、Attributeデータ生成部30によって、Attributeデータを述語項構造データベース3に格納する。
ステップS120において、Eventデータ生成部32によって、上記ステップS110でメモリ(図示省略)に格納された初期データから、述語と、ハ格と、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の少なくとも1つとを含む述語項構造と、当該述語項構造の頻度とのペアを抽出し、抽出された各ペアのデータから構成されるEventデータを生成する。そして、Eventデータ生成部32によって、Eventデータを述語項構造データベース3に格納して、述語項構造データベース構築処理ルーチンを終了する。
<発話生成装置の作用>
次に、本実施の形態に係る発話生成装置200の作用について説明する。まず、述語項構造データベース構築装置100の述語項構造データベース3に記憶されている、Entityデータ、Attributeデータ、及びEventデータが、発話生成装置200に入力されると、述語項構造データベース5に格納される。そして、対話システム等の上位モジュールから、発話の意図と、焦点と、発話履歴とが発話生成装置200に入力されると、発話生成装置200によって、図15に示す発話生成処理ルーチンが実行される。
まず、ステップS200において、入力部4によって、発話の意図と、焦点と、発話履歴とを受け付ける。
ステップS202において、抽出部60によって、上記ステップS200で受け付けた焦点に基づいて、述語項構造データベース5に格納されているEntityデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の各々について、テキストデータにおける当該述語項構造の出現頻度に応じた優先度を付与して、Entityフレームを作成する。
ステップS204において、抽出部60によって、上記ステップS200で受け付けた焦点に基づいて、述語項構造データベース5に格納されているAttributeデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の集合に基づいて、述語項構造の集合を表す木構造を構築する。そして、抽出部60によって、構築した木構造の各ノードについて、当該ノードに対応して得られる述語項構造に対し、木構造内での当該ノードの位置に応じた優先度を付与して、Eventフレームを作成する。
ステップS206において、抽出部60によって、上記ステップS200で受け付けた焦点に基づいて、述語項構造データベース5に格納されているEventデータから、焦点と一致する格要素を含む述語項構造の各々を抽出し、上記ステップS204と同様に、抽出された述語項構造の集合に基づいて、述語項構造の集合を表す木構造を構築する。そして、抽出部60によって、構築した木構造の各ノードについて、当該ノードに対応して得られる述語項構造に対し、木構造内での当該ノードの位置に応じた優先度を付与して、Eventフレームを作成する。
ステップS208において、付加情報付与部62によって、上記ステップS202で作成されたEntityフレーム、上記ステップS204で作成されたAttributeフレーム、及び上記ステップS206で作成されたEventフレームに含まれる述語項構造の各々について、当該述語項構造に含まれる表現に関する付加情報を付与する。
ステップS210において、制約判定部64によって、上記ステップS202で作成されたEntityフレーム、上記ステップS204で作成されたAttributeフレーム、及び上記ステップS206で作成されたEventフレームに含まれる述語項構造の各々から、上記ステップS200で受け付けた発話の意図に対して制約条件を満たす述語項構造の各々を抽出し、抽出した述語項構造の各々を出力する。
ステップS212において、平叙文生成部66によって、上記ステップS210で出力された述語項構造の各々について、予め定められた順番に従って、当該述語項構造の述語、格要素、及び格要素の格を並べた平叙文を生成する。
ステップS214において、スコアリング部68によって、上記ステップS212で生成された述語項構造と当該述語項構造について生成された平叙文とのペアの各々に対し、上記ステップS200で受け付けた発話履歴、及び述語項構造に付与された優先度に基づいて、上記(5)式に従って、スコアを算出して付与する。
ステップS216において、文末表現変換部70によって、上記ステップS200で受け付けた発話の意図と、当該発話の意図を表す文末表現に変換するための文末表現変換ルールとに基づいて、上記ステップS214で付与された、スコアの上位M個のペアの各々について、当該ペアの平叙文の文末表現を変換して、発話の意図に従ったK個の文を生成し、当該ペアについて生成したK個の文を発話候補として出力する。
ステップS218において、出力部7は、文末表現変換部70によって出力されたK個の発話候補を結果として出力して、発話生成処理ルーチンを終了する。
なお、ステップS218において出力された発話候補は、対話システム等の上位モジュールによって発話に使用される。上位モジュールでは、例えば、複数発話候補があればその中からランダムに一つを発話する。
以上説明したように、本実施の形態に係る発話生成装置によれば、述語項構造を複数記憶した述語項構造データベースから、焦点と一致する格要素を含む述語項構造の各々を抽出し、抽出された述語項構造の各々について、当該述語項構造に含まれる表現に関する付加情報を付与し、付加情報と発話の意図とに関する予め定められた制約条件に基づいて、当該制約条件を満たす述語項構造の各々を抽出し、抽出された述語項構造の各々について、当該述語項構造を用いて、発話の意図に従った文を生成し、生成された文を発話候補として出力することにより、ユーザ発話に対する自然な発話候補を生成することができる。
また、発話候補を生成する際、テキストデータ内で高頻度に出現する述語項構造を優先して用いることで、発話候補の質を高めることができる。
また、テキストデータにおける述語項構造の出現頻度ではなく、情報利得に応じて述語項構造の集合を表す木構造を構築することで、最も重要な格要素を含む述語項構造から優先して用いて、発話候補を生成することができる。
また、発話履歴と述語項構造から生成される平叙文との間の意味的な類似度を考慮して、平叙文を選択することで、より文脈に即した発話候補を生成することができる。
また、述語項構造に含まれる単語の極性と疑問詞の有無を考慮することで、より対話システムの発話の意図に沿った発話候補を生成することができる。
また、対話システムが現在の話題について状況に即した発話候補を生成することができるようになる。それにより、ユーザと対話システムの対話が円滑になり、ユーザと対話システムが協業しやすくなる。
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、上記実施の形態では、述語項構造データベース構築装置100と発話生成装置200とを別々の装置として構成する場合を例に説明したが、述語項構造データベース構築装置100と発話生成装置200とを1つの装置として構成してもよい。
また、上記実施の形態の発話生成装置200におけるスコアリング部68は、述語項構造と当該述語項構造について生成された平叙文とのペアの各々に対し、文脈情報と当該ペアの平叙文との類似度、及び当該ペアの述語項構造に付与された優先度に基づくスコアを付与する場合を例に説明したが、これに限定されるものではなく、文脈情報と当該ペアの平叙文との類似度、及び当該ペアの述語項構造に付与された優先度の何れか一方に基づくスコアを付与してもよい。
また、発話生成装置200では、スコアリング部68において、上記(5)式に従い算出されたスコアによって、述語項構造と平叙文とのペアをソートし、ソート結果の上位M件を文末表現変換部70へ出力する場合を例に説明したが、これに限定されるものではなく、スコアを算出せずに、述語項構造と平叙文とのペアの全てを文末表現変換部70へ出力し、全ての平叙文の文末表現を変換して発話の意図に従った文を生成し、生成した文を発話候補として出力してもよい。
また、Eventデータとして、述語と、ハ格と、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の少なくとも1つとを含む述語項構造を抽出する場合を例に説明したが、これに限定されるものではない。例えば、Eventデータとして、述語と、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の少なくとも1つとを含む述語項構造を抽出するようにしてもよい。
また、上述の述語項構造データベース構築装置100は、テキストデータベース20、及び述語項構造データベース3を備えている場合について説明したが、例えばテキストデータベース20、及び述語項構造データベース3の少なくとも1つが述語項構造データベース構築装置100の外部装置に設けられ、述語項構造データベース構築装置100は、外部装置と通信手段を用いて通信することにより、テキストデータベース20、及び述語項構造データベース3の少なくとも1つを参照するようにしてもよい。
また、上述の発話生成装置200は、述語項構造データベース5を備えている場合について説明したが、例えば述語項構造データベース5が発話生成装置200の外部装置に設けられ、発話生成装置200は、外部装置と通信手段を用いて通信することにより、述語項構造データベース5を参照するようにしてもよい。
上述の述語項構造データベース構築装置100、及び発話生成装置200は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
1 テキストデータ入力部
2 述語項構造データベース構築部
3、5 述語項構造データベース
4 入力部
6 演算部
7 出力部
20 テキストデータベース
22 形態素解析部
24 係り受け解析部
26 初期データ生成部
28 Entityデータ生成部
30 Attributeデータ生成部
32 Eventデータ生成部
60 抽出部
62 付加情報付与部
64 制約判定部
65 文生成部
66 平叙文生成部
68 スコアリング部
70 文末表現変換部
100 述語項構造データベース構築装置
200 発話生成装置

Claims (9)

  1. 発話の意図と、対話の話題を示す単語とを受け付ける入力部と、
    前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶したデータベースから、前記対話の話題を示す単語に対応する前記格要素を含む前記述語項構造の各々を抽出する抽出部と、
    前記抽出部によって抽出された前記述語項構造の各々について、前記述語項構造に含まれる表現に関する付加情報を付与する付加情報付与部と、
    前記抽出部によって抽出された前記述語項構造の各々から、前記付加情報と前記発話の意図とに関する予め定められた制約条件に基づいて、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出する制約判定部と、
    前記制約判定部によって抽出された前記述語項構造の各々について、前記述語項構造を用いて、前記入力部によって受け付けた発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力する文生成部と、
    を含む発話生成装置。
  2. 前記文生成部は、前記制約判定部によって抽出された前記述語項構造の各々について、前記述語、前記格要素、及び前記格要素の格について予め定められた順番に従って、前記述語項構造の述語、前記格要素、及び前記格要素の格を並べた平叙文を生成し、前記入力部によって受け付けた発話の意図と、前記発話の意図を表す文末表現に変換するための予め定められた文末表現変換ルールとに基づいて、前記述語項構造について生成された前記平叙文の文末表現を変換して、前記発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力する
    請求項1に記載の発話生成装置。
  3. 前記抽出部は、前記対話の話題を示す単語に基づいて、前記データベースから、前記対話の話題を示す単語に対応する格要素を含む前記述語項構造の各々を抽出すると共に、抽出した前記述語項構造の各々に対し、テキストデータにおける前記述語項構造の出現頻度に応じた優先度を付与する請求項2に記載の発話生成装置。
  4. 前記抽出部は、前記対話の話題を示す単語に基づいて、前記データベースから、前記対話の話題を示す単語に対応する格要素を含む前記述語項構造の各々を抽出すると共に、前記抽出された前記述語項構造の各々のうちの、述語とハ格の格要素とからなる前記述語項構造の各々について、テキストデータにおける前記述語項構造の出現頻度に応じた優先度を付与し、前記抽出された前記述語項構造から得られる前記述語項構造の集合について、前記述語項構造の集合全体を表すルートノードから順に各ノードに対し、述語又は格要素の有無を条件として前記ノードが表す前記述語項構造の集合を分割したときの前記条件のうち、前記分割した前記述語項構造の集合のエントロピーの期待値が最小となる前記条件で分割することにより構築される木構造を構築し、前記木構造の各ノードについて、前記ノードから前記ルートノードまで辿ったときに得られる前記述語項構造に対し、前記木構造内での前記ノードの位置に応じた優先度を付与する請求項2に記載の発話生成装置。
  5. 前記文生成部は、
    前記制約判定部によって抽出された前記述語項構造の各々について、前記平叙文を生成し、前記述語項構造と前記述語項構造について生成された前記平叙文とのペアの各々に対し、入力された発話履歴に基づいて算出される文脈情報と前記ペアの平叙文との類似度、及び前記ペアの前記述語項構造に付与された前記優先度の少なくとも一方に基づくスコアを付与し、
    前記付与されたスコアの上位M個のペアの各々について、前記ペアの前記平叙文の文末表現を変換して、前記発話の意図に従った文を生成し、前記ペアについて生成した前記文を発話候補として出力する
    請求項3又は4に記載の発話生成装置。
  6. 前記付加情報付与部は、前記抽出部によって抽出された前記述語項構造の各々について、前記付加情報として、前記述語項構造に含まれる、用言に関する評価表現の種類を示す情報、前記述語構造に含まれる、名詞に関する評価表現の種類を示す情報、及び質問であるか否かを示す情報の少なくとも1つを付与する
    請求項1〜請求項5の何れか1項に記載の発話生成装置。
  7. 前記制約判定部は、前記抽出部によって抽出された前記述語項構造の各々から、前記発話の意図が質問でない場合に、前記付加情報として質問であることを示す情報が付与された前記述語項構造を用いないこと、前記発話の意図がポジティブな評価である場合に、前記付加情報としてポジティブな評価であることを示す情報が付与された前記述語項構造を用いること、及び前記発話の意図がネガティブな評価である場合に、前記付加情報としてネガティブな評価であることを示す情報が付与された前記述語項構造を用いることの少なくとも一つを前記制約条件として、前記抽出部によって抽出された前記述語項構造の各々から、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出する
    請求項1〜請求項6の何れか1項に記載の発話生成装置。
  8. 入力部、抽出部、付加情報付与部、制約判定部、及び文生成部を含む発話生成装置における発話生成方法であって、
    前記入力部によって、発話の意図と、対話の話題を示す単語とを受け付けるステップと、
    前記抽出部によって、前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶したデータベースから、前記対話の話題を示す単語に対応する前記格要素を含む前記述語項構造の各々を抽出するステップと、
    前記付加情報付与部によって、前記抽出部によって抽出された前記述語項構造の各々について、前記述語項構造に含まれる表現に関する付加情報を付与するステップと、
    前記制約判定部によって、前記抽出部によって抽出された前記述語項構造の各々から、前記付加情報と前記発話の意図とに関する予め定められた制約条件に基づいて、前記入力部によって受け付けた前記発話の意図に対して前記制約条件を満たす前記述語項構造の各々を抽出するステップと、
    前記文生成部によって、前記制約判定部によって抽出された前記述語項構造の各々について、前記述語項構造を用いて、前記入力部によって受け付けた発話の意図に従った文を生成し、前記述語項構造について生成した前記文を発話候補として出力するステップと、
    を含む発話生成方法。
  9. コンピュータを、請求項1〜請求項7の何れか1項に記載の発話生成装置の各部として機能させるためのプログラム。
JP2013216631A 2013-10-17 2013-10-17 発話生成装置、方法、及びプログラム Active JP5744150B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013216631A JP5744150B2 (ja) 2013-10-17 2013-10-17 発話生成装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013216631A JP5744150B2 (ja) 2013-10-17 2013-10-17 発話生成装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015079383A JP2015079383A (ja) 2015-04-23
JP5744150B2 true JP5744150B2 (ja) 2015-07-01

Family

ID=53010752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013216631A Active JP5744150B2 (ja) 2013-10-17 2013-10-17 発話生成装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5744150B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10769155B2 (en) 2016-05-17 2020-09-08 Google Llc Automatically augmenting message exchange threads based on tone of message
JP6988715B2 (ja) 2018-06-29 2022-01-05 日本電信電話株式会社 回答文選択装置、方法、およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204133A (ja) * 2007-02-20 2008-09-04 National Institute Of Information & Communication Technology 回答検索装置及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2015079383A (ja) 2015-04-23

Similar Documents

Publication Publication Date Title
JP6466952B2 (ja) 文章生成システム
KR101136007B1 (ko) 문서 감성 분석 시스템 및 그 방법
JP5403696B2 (ja) 言語モデル生成装置、その方法及びそのプログラム
JP6225012B2 (ja) 発話文生成装置とその方法とプログラム
Urmi et al. A corpus based unsupervised Bangla word stemming using N-gram language model
JP2014120053A (ja) 質問応答装置、方法、及びプログラム
Atmadja et al. Comparison on the rule based method and statistical based method on emotion classification for Indonesian Twitter text
JP4333318B2 (ja) 話題構造抽出装置及び話題構造抽出プログラム及び話題構造抽出プログラムを記録したコンピュータ読み取り可能な記憶媒体
JP5718405B2 (ja) 発話選択装置、方法、及びプログラム、対話装置及び方法
JP2007047974A (ja) 情報抽出装置および情報抽出方法
CN114491062B (zh) 一种融合知识图谱和主题模型的短文本分类方法
JP2017027233A (ja) 質問文生成装置、方法、及びプログラム
Indhuja et al. Text based language identification system for indian languages following devanagiri script
JP5744150B2 (ja) 発話生成装置、方法、及びプログラム
JP6126965B2 (ja) 発話生成装置、方法、及びプログラム
JP4005343B2 (ja) 情報検索システム
CN109298796B (zh) 一种词联想方法及装置
JP6232358B2 (ja) 次発話候補ランキング装置、方法、及びプログラム
US11842152B2 (en) Sentence structure vectorization device, sentence structure vectorization method, and storage medium storing sentence structure vectorization program
JP4478042B2 (ja) 頻度情報付き単語集合生成方法、プログラムおよびプログラム記憶媒体、ならびに、頻度情報付き単語集合生成装置、テキスト索引語作成装置、全文検索装置およびテキスト分類装置
JP6574469B2 (ja) 次発話候補ランキング装置、方法、及びプログラム
JP5718406B2 (ja) 発話文生成装置、対話装置、発話文生成方法、対話方法、発話文生成プログラム、及び対話プログラム
Rabin et al. Development of the algorithm for graphematic analysis and isolating of semantically significant constructions in poorly structured text
JP5506482B2 (ja) 固有表現抽出装置、文字列−固有表現クラス対データベース作成装置、固有表現抽出方法、文字列−固有表現クラス対データベース作成方法、プログラム
JP2008165718A (ja) 意図判定装置、意図判定方法、及びプログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150428

R150 Certificate of patent or registration of utility model

Ref document number: 5744150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150