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

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

Info

Publication number
JP6126965B2
JP6126965B2 JP2013212221A JP2013212221A JP6126965B2 JP 6126965 B2 JP6126965 B2 JP 6126965B2 JP 2013212221 A JP2013212221 A JP 2013212221A JP 2013212221 A JP2013212221 A JP 2013212221A JP 6126965 B2 JP6126965 B2 JP 6126965B2
Authority
JP
Japan
Prior art keywords
utterance
sentence
term structure
unit
database
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
JP2013212221A
Other languages
English (en)
Other versions
JP2015075952A (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 JP2013212221A priority Critical patent/JP6126965B2/ja
Publication of JP2015075952A publication Critical patent/JP2015075952A/ja
Application granted granted Critical
Publication of JP6126965B2 publication Critical patent/JP6126965B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、発話生成装置、方法、及びプログラムに関する。
対話システムは大きく分けて二種類あり、タスク指向型対話システムと非タスク指向型対話システムに分けられる。前者は特定のタスクをシステムとの対話により達成するものであり、たとえば、フライトの予約システムや天気情報検索システムに用いられている。これらのシステムでは、予め話される内容が想定できるため、手作業で作り込んだ発話のデータベースを保持したり、データベースから抽出される天気情報などを手作業によるテンプレートに当てはめて、システムは発話を生成する(非特許文献1)。
非タスク指向型対話システムでは、目的のない対話を扱い、対話の内容はいわゆる雑談である。雑談はさまざまな話題が話されるため、予め話される内容を想定できない。そのため発話生成は非常に難しい課題である。ユーザの幅広い入力に対応するために、近年の従来技術では、ウェブやツイッターなどの文章をデータベース化しておき、ユーザ発話に類似するものを選択することでシステム発話とするものがある(非特許文献2)。
Ryuichiro Higashinaka、Katsuhito Sudoh、Mikio Nakano、「Incorpo-rating Discourse Features into Con_dence 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
しかし、雑談対話において、ウェブやツイッターなどから構築した発話のデータベースから発話を選択する方式で発話生成を行うと、システムの発話意図に沿った発話が行えない可能性がある。たとえば、ある話題についてシステムがユーザに質問すべきと判断される状況において、ウェブやツイッターにその話題の質問文がなければ質問はできない。システムは状況に応じて質問をしたり相槌を打ったりする必要があることから、状況に応じた発話を生成できないことは対話の質を低くする。
この対応策として、システムが発話を自ら生成する発話生成の技術を用いて、発話意図に応じた発話をその場で生成することが考えられる。たとえば、文の構成要素(何がどうしたといった情報)をデータベースとして保持しておき、現在の話題に即した構成要素を抽出した上、その構成要素をシステムの発話意図に即する形で文に変換して発話することが考えられる。しかしながら、現在の話題に即した構成要素が見つかるとは限らず、また、文の変換が常に成功するとは限らない。
本発明は、上記の事情に鑑みてなされたものであり、安定して、ユーザの発話に対する自然な発話候補を生成することができる発話生成装置、方法、及びプログラムを提供することを目的とする。
上記の目的を達成するために本発明に係る発話生成装置は、対話の話題を示す単語と、ユーザの発話とを受け付ける入力部と、前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶した述語項構造データベースから、前記対話の話題を示す単語に対応する前記格要素を含む前記述語項構造を検索する述語項構造検索部と、前記述語項構造検索部によって検索された前記述語項構造の各々に基づいて、発話文を各々生成する文生成部と、前記文生成部によって生成された前記発話文の各々から、自然な文である否かを判定するための予め定められたルールに基づいて、自然な文でない発話文を除去し、除去されなかった前記発話文の各々を、前記入力部によって受け付けた前記ユーザの発話に対する発話候補として出力する文判定部と、前記文判定部によって前記発話候補が出力されなかった場合に、前記ユーザの発話に基づいて、複数の発話を記憶した発話データベースから、前記ユーザの発話に対応する前記発話を検索し、前記発話が検索された場合に前記検索された発話を前記発話候補として出力し、前記発話が検索されなかった場合に発話不可であることを示す情報を出力する発話検索部と、を含んで構成されている。
本発明に係る発話生成方法は、入力部、述語項構造検索部、文生成部、文判定部、及び発話検索部を含む発話生成装置における発話生成方法であって、前記入力部によって、対話の話題を示す単語と、ユーザの発話とを受け付けるステップと、前記述語項構造検索部によって、前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶した述語項構造データベースから、前記対話の話題を示す単語に対応する前記格要素を検索し、検索された格要素に対応する前記述語項構造を抽出するステップと、前記文生成部によって、前記述語項構造検索部によって抽出された前記述語項構造の各々に基づいて、発話文を各々生成するステップと、前記文判定部によって、前記文生成部によって生成された前記発話文の各々から、自然な文である否かを判定するための予め定められたルールに基づいて、自然な文でない発話文を除去し、除去されなかった前記発話文の各々を、前記入力部によって受け付けた前記ユーザの発話に対する発話候補として出力するステップと、前記発話検索部によって、前記文判定部によって前記発話候補が出力されなかった場合に、前記ユーザの発話に基づいて、複数の発話を記憶した発話データベースから、前記ユーザの発話に対応する前記発話を検索し、前記発話が検索された場合に前記検索された発話を前記発話候補として出力し、前記発話が検索されなかった場合に発話不可であることを示す情報を出力するステップと、を含む。
また、前記入力部は、発話の意図を表す対話行為を更に受け付け、前記文生成部は、前記述語、前記格要素、及び前記格要素の格について予め定められた順番に従って、前記述語項構造検索部によって検索された前記述語項構造の述語、前記格要素、及び前記格要素の格を並べた平叙文を生成し、前記入力部で受け付けた前記対話行為に対して予め定められた、前記対話行為を表現する文に変換するための変換ルールに基づいて、前記生成した平叙文を、前記対話行為を表現する文に変換して、前記発話文を生成するようにすることができる。
また、前記文判定部は、前記文生成部によって生成された前記発話文の各々について、予め求められたN−gram言語モデルに基づいて、文の生成されにくさを示すパープレキシティ値を算出し、前記パープレキシティ値が閾値以下であれば自然な文であると判定する前記ルールに基づいて、前記発話文の各々から、自然な文でない発話文を除去し、除去されなかった前記発話文の各々を前記発話候補として出力するようにすることができる。
本発明に係るプログラムは、コンピュータを、本発明に係る発話生成装置の各部として機能させるためのプログラムである。
以上説明したように、本発明の発話生成装置、方法、及びプログラムによれば、述語項構造を複数記憶した述語項構造データベースから、対話の話題を示す単語に対応する格要素を含む述語項構造を検索し、述語項構造の各々に基づいて生成された発話文の各々のうちの自然な文を、ユーザの発話に対する発話候補として出力し、発話候補が出力されなかった場合に、ユーザの発話に基づいて、複数の発話を記憶した発話データベースから、ユーザの発話に対応する発話を検索し、発話が検索された場合に当該発話を発話候補として出力することにより、安定して、ユーザの発話に対する自然な発話候補を生成することができる、という効果が得られる。
本発明の実施の形態に係る発話データベース構築装置の一構成例を示すブロック図である。 対話行為の一覧の例を示す説明図である。 本発明の実施の形態に係る述語項構造データベース構築装置の一構成例を示すブロック図である。 述語項構造のテーブルデータの一例を示す説明図である。 本発明の実施の形態に係る発話生成装置の一構成例を示すブロック図である。 述語項構造が検索された一例を示す図である。 文が自然な文であるか否かを判定するためのパープレキシティ値を説明するための図である。 発話が検索された一例を示す図である。 本発明の実施の形態に係る発話データベース構築処理ルーチンの内容を示すフローチャートである。 本発明の実施の形態に係る述語項構造データベース構築処理ルーチンの内容を示すフローチャートである。 本発明の実施の形態に係る発話生成処理ルーチンの内容を示すフローチャートである。
<概要>
まず、本発明の実施の形態の概要について説明する。
本発明の実施の形態では、二種類のデータベースを併用する。一つはツイッター(登録商標)などのマイクロブログにおける発話から構築した発話データベースであり、もう一つは大規模なテキストデータを解析することで得られる述語項構造データベースである。発話データベースはマイクロブログ中の大量の発話について、自動的に推定された発話の意図を表す対話行為を付与し、発話と対話行為とをペアとして格納したものである。述語項構造データベースは大量のテキストデータについて述語項構造解析を行い、その結果得られる述語項構造を格納したものである。述語項構造とは、文の構成要素である、述語と当該述語に対応する格要素との組み合わせを表す構造のことであり、参考文献(平博順、永田昌明、「構造学習を用いた述語項構造解析」、言語処理学会第14回年次大会発表論文集、2008、p.556-559)に述語項構造解析の処理例が記載されている。
発話データベースにはマイクロブログのユーザが書き込んだ発話が格納されているため、自然な発話が多く格納されている。しかし、システムが話したいような対話行為に対応する発話が多いとは限らない。
一方、述語項構造データベースには文の構成要素(述語項構造)が格納されており、さまざまな対話行為に対応する文を生成することができる。しかし、自動的に生成される文は単純であったり、不自然であったり、非文となる可能性がある。どちらのデータベースも一長一短あることから、これら二つを相補的に用いることで、システムの対話行為に即し、また、自然な発話を生成することが可能となる。
対話の話題を示す単語(以下、焦点と称する。)と、対話システムにおける上位モジュールから与えられるシステムの対話行為とについて発話を生成する場合、まず、述語項構造データベースから述語項構造を検索し、所定のテンプレートにしたがって文を生成するが、文が生成できない、もしくは、生成された文が所定の条件を満たさない場合、発話データベースを検索し、該当する発話があればそれを用いて発話する。もしくは、発話データベースを検索し該当する発話が見つからない場合、述語項構造データベースから述語項構造を検索し、述語項構造が見つかれば所定のテンプレートにしたがって文を生成し、発話する。
以下、図面を参照して本発明の実施の形態を詳細に説明する。
<発話データベース構築装置のシステム構成>
図1は、本発明の実施の形態に係る発話データベース構築装置100を示すブロック図である。この発話データベース構築装置100は、CPUと、RAMと、後述する発話データベース構築処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
本実施の形態に係る発話データベース構築装置100は、図1に示すように、発話データ入力部1と、発話データベース構築部2と、発話データベース3とを備えている。
発話データ入力部1は、マイクロブログサイトから取得された、複数の発話を含む発話集合の入力を受け付ける。本実施の形態では、約数百万の発話をマイクロブログサイトからクロールし、発話集合とした。
発話データベース構築部2は、発話データ入力部1によって受け付けた発話集合に含まれる複数の発話の各々について、後述する対話行為推定部22によって、対話行為を付与する。そして、発話データベース構築部2は、発話と対話行為とのペアを1つのレコードとして、後述する発話データベース3に登録する。この発話データベース3の構築には一般的な全文検索エンジンのデータベースを構築する手順を踏めばよく、フリーソフトのLuceneやNamazuなどを用いて構築すればよい。本実施例ではLuceneを用いる。なお、発話データベース構築部2は、発話候補データベース20と、対話行為推定部22とを備えている。
発話候補データベース20には、発話データ入力部1によって受け付けた発話集合が格納される。
対話行為推定部22は、発話候補データベース20に格納された発話集合に含まれる複数の発話の各々について、当該発話の対話行為を推定し、当該発話に、推定された対話行為を付与して、発話データベース3に格納する。具体的には、対話行為推定部22は、発話の各々について、当該発話と対話行為とをペアにした後、発話データベース3に格納する。本実施の形態で扱う対話行為は全部で33種類である。対話行為の一覧を、図2に示す。
対話行為推定部22は、発話内の単語に基づいて、特徴量を抽出し、その特徴量から、対話行為を推定する推定器を用いればよく、推定器は、機械学習の手法で予め構築しておけばよい。例えば、文書分類で一般的に用いられる手法である、サポートベクトルマシンなどを用いて構築できる。特徴量としては、たとえば発話内の単語の頻度ベクトルなどを用いればよい。本実施の形態においては、別途用意した約数万の発話について人手で対話行為を付与し、このデータを学習データとして、サポートベクトルマシンによって、発話からその対話行為を推定する多クラス分類器を学習した。
対話行為推定部22は、例えば、発話「こんにちは」に対して、対話行為「挨拶」を推定し、発話「私はラーメンが好きです」に対して、対話行為「自己開示評価+」を推定する。
発話データベース3には、発話と、対話行為推定部22によって当該発話について推定された対話行為とのペアが複数格納される。また、発話データベース3には、各ペアについて、全文検索が可能なように転置インデックスが保持されている。
<述語項構造データベース構築装置のシステム構成>
図3は、本発明の実施の形態に係る述語項構造データベース構築装置200を示すブロック図である。この述語項構造データベース構築装置200は、CPUと、RAMと、後述する述語項構造データベース構築処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
本実施の形態に係る述語項構造データベース構築装置200は、図3に示すように、テキストデータ入力部4と、述語項構造データベース構築部5と、述語項構造データベース6とを備えている。
テキストデータ入力部4は、複数のテキストを含む大規模テキスト集合の入力を受け付ける。本実施の形態では、大規模テキスト集合として、ブログサイトから収集したテキストを用いる。なお、本実施の形態では、ブログサイトからテキストを収集したが、これに限らず、テキストであれば何でもよい。
述語項構造データベース構築部5は、テキストデータ入力部4によって受け付けた大規模テキスト集合に含まれる複数のテキストの各々について、当該テキストから述語項構造を抽出し、述語項構造データベース6に格納する。なお、述語項構造データベース構築部5は、大規模テキストデータベース50と、形態素解析部52と、係り受け解析部54と、述語項構造抽出部56とを備えている。
大規模テキストデータベース50には、テキストデータ入力部4によって受け付けた大規模テキスト集合が格納される。
形態素解析部52は、大規模テキストデータベース50に格納された大規模テキスト集合に含まれる複数のテキストの各文について、形態素解析を行う。
係り受け解析部54は、大規模テキスト集合に含まれる複数のテキストの各文について、形態素解析部52によって解析された形態素解析結果に基づいて、係り受け解析を行い、文節を同定し、文節間の係り受け構造を決定する。
なお、形態素解析部52による形態素解析や、係り受け解析部54による係り受け解析には、フリーで用いられているものを用いればよい。例えば、ChaSenやCaboChaである。本実施の形態では、出願人が開発したJTAGとJDEPとをそれぞれ形態素解析と係り受け解析に用いる。
述語項構造抽出部56は、大規模テキスト集合に含まれる複数のテキストの各文について、係り受け解析部54によって決定された係り受け構造に基づいて、当該文の述語と当該述語に対応する格の要素である格要素とを同定し、述語項構造として抽出する。そして、述語項構造抽出部56は、複数のテキストの各文について抽出された述語項構造を、述語項構造データベース6へ格納する。なお、本実施の形態では、述語項構造抽出部56は、文中の述語の各々について、当該述語の格要素としてガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の各々を抽出し、述語と1つ以上の格要素との組み合わせをひとまとまりとして抽出する。そして、述語項構造抽出部56は、抽出された同じ述語項構造についてはひとまとめにし、頻度と共に述語項構造データベース6に登録する。
上記の述語項構造データベース構築部5について、具体例を挙げて説明する。例えば、「太郎が花子に会う」であれば、「会う」が述語であり、当該述語の文節に係っている文節から、ガ格の要素が「太郎」、ニ格の要素が「花子」だと分かる。そして、ここから「述語:会う ガ格:太郎 ニ格:花子」という述語項構造が抽出される。このような述語項構造を、大規模テキスト集合に含まれるテキストのすべての文から抽出する。
述語項構造データベース6には、述語項構造抽出部56によって抽出された複数の述語項構造が格納される。なお、述語項構造データベース6に格納される述語項構造のデータはテーブルデータであるので、述語項構造データベース6は、一般的なRDB(Relational database)とすればよい。また、述語項構造データベース6として、全文検索可能なデータベースを用いてもよい。本実施の形態では、RDBを用い、実装としてはPostgreSQLを用いた。
図4に、述語項構造データベース6に格納される述語項構造のテーブルデータの一例を示す。上記図4の「ID」は述語項構造の連番であり、最後のカラムは頻度である。たとえば、最初のデータは、「セキレイが餌を探す」という文に対応する述語項構造である。
<発話生成装置のシステム構成>
図5は、本発明の実施の形態に係る発話生成装置300を示すブロック図である。この発話生成装置300は、CPUと、RAMと、後述する発話生成処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
本実施の形態に係る発話生成装置300は、図5に示すように、入力部7と、述語項構造データベース8と、変換ルールデータベース9と、言語モデルデータベース10と、発話データベース11と、演算部12と、出力部13とを備えている。
入力部7は、焦点と、ユーザの発話と、対話行為とを受け付ける。
述語項構造データベース8には、上記述語項構造データベース構築装置200の述語項構造データベース6に格納されている述語項構造のテーブルデータと同じ述語項構造のテーブルデータが格納されている。
変換ルールデータベース9には、対話行為毎に、平叙文を、当該対話行為を表現する文に変換するための変換ルールが予め格納されている。
言語モデルデータベース10には、予め求められたN−gram言語モデルが格納されている。
発話データベース11には、上記発話データベース構築装置100の発話データベース3に格納されている発話及び対話行為の複数ペアと同じ、発話及び対話行為の複数ペアが格納されている。
演算部12は、述語項構造データベース8をまず選択し、発話候補(一つ以上の発話)の取得を試みる。そして、発話候補が取得できない場合は、発話データベース11を参照し発話候補の取得を試みる。それでも発話が取得できない場合は発話不可を表す情報を出力部13に返す。発話候補の取得ができていたら、発話候補を出力部13に返す。なお、演算部12は、制御部110と、述語項構造検索部112と、文生成部114と、文判定部116と、発話検索部118とを備えている。
制御部110には、述語項構造データベース8から優先して発話に用いる発話候補を検索するという情報が設定値として記録されている。制御部110は、当該設定値に従って、述語項構造データベース8を選択する。本実施の形態では、述語項構造データベース8から優先して発話候補の検索をする場合について説明する。
述語項構造検索部112は、入力部7によって受け付けた焦点に基づいて、述語項構造データベース8から、焦点と一致する格要素を含む述語項構造を検索する。
この際、検索された述語項構造を、頻度の降順でソートし、その上位J件を出力してもよい。なお、ユーザの発話を入力とし、全文検索可能な述語項構造データベース8を検索してもよい。その場合は、ユーザ発話の単語をなるべく多く含む述語項構造を、述語項構造データベース8から検索してもよい。また、後述する発話検索部118と同様のベクトル空間モデルを用いてランキングを行い、上位J件を出力すればよい。
図6は「ミスチル」が焦点として入力され、当該焦点に基づいて検索された述語項構造である。頻度の降順で順位が付けられている。上記図6では、述語や格要素に0や1という番号を付与している。当該番号は、本実施の形態で用いる述語項構造の簡易な記法であり、述語は0番、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、マデ格の要素はそれぞれ1番〜7番の番号で表す。すなわち、このデータでは、「0_歌う」は述語が「歌う」であること、「2_主題歌」はヲ格が「主題歌」であることを表している。また、述語項構造検索部112は、述語項構造についての検索結果の上位J件を文生成部114へ出力する。
文生成部114は、述語項構造検索部112によって検索された述語項構造の各々について、述語、格要素、及び格要素の格について予め定められた順番に従って、当該述語項構造の述語、前記格要素、及び格要素の格を並べた平叙文を生成する。また、文生成部114は、述語項構造の各々について、入力部7で受け付けた対話行為に対応して変換ルールデータベース9に格納された変換ルールに基づいて、当該述語構造に基づいて生成された平叙文を、当該対話行為を表現する文に変換して、発話文を生成する。
例えば、まず、文生成部114は、述語をpred、格をcase、格要素をargとして、「arg case pred」という語順で平叙文を生成する。述語項構造が「0_歌う2_曲」であれば、「曲を歌う」という平叙文を生成する。なお、日本語の特性から、ヲ格、ニ格、ガ格、デ格、ト格、マデ格、カラ格の順で述語に近くなるように格要素を並べて配置する。複数の格要素があれば、「case pred」の部分を繰り返す。述語項構造が「0_歌う2_曲4_テレビ」であれば、「テレビで曲を歌う」という平叙文を生成する。
次に、文生成部114は、生成された平叙文について、変換ルールデータベース9に格納された対話行為に対応する変換ルールとして、文末の単語系列及び品詞系列に基づく書き換えルールを用いて、当該対話行為を表す文に変換する。
例えば、平叙文「ミスチルが好き」のように形容動詞が最後の単語で、対話行為が「質問評価」の場合、「ミスチルが好きですか?」のように「ですか」を付与することにより、対話行為「質問評価」を表す文に変換する。平叙文「ミスチルが歌う」のように最後の単語が動詞で、対話行為が「質問_情報提供要求」であれば、「のですか?」を追加し、「ミスチルは歌うのですか?」に変換する。もしくは、所与の活用辞書を参照し、最後の動詞を連用形(「歌い」)にし、「ますか?」を付与することで「ミスチルは歌いますか?」という文に変換する。対話行為を表す文の変換候補が複数ある場合はランダムにいずれかを選択し、変換結果とする。対話行為のそれぞれについて変換ルールを準備しておくことで、変換ルールに合致する平叙文であれば、所与の対話行為を表す文に変換することができる。
もし、生成した平叙文に合致する変換ルールが見つからない場合は、当該平叙文を棄却する。変換ルールに従って変換できた場合は変換済みの文を、発話文として文判定部116に送る。入力がJ発話であれば、M件(M<=J)の変換済み発話文が文判定部116に送られる。
ここで、文生成部114によって生成された発話文は、自動で生成された文であるため、人間が発話したものよりも不自然になっている可能性がある。例えば、述語項構造によっては文生成部114が決定した語順が不自然になることがある。例えば、「ラーメンに興味がある」という文の方が「興味がラーメンにある」よりも自然であろう。また、対話行為に沿うよう変換ルールによって変換した結果の文が不自然になる場合もある。例えば、平叙文「桜が咲く」を、対話行為「提案」を表す文に変換すると「〜しましょう」という文末を付与するため「桜が咲きましょう」となるが、この文は不自然な文である。
このような不自然な文を除外するため、本実施の形態では、N−gram言語モデルを用いたパープレキシティによるフィルタリングを行う。
すなわち、文判定部116は、文生成部114によって生成された発話文の各々について、言語モデルデータベース10に格納されたN−gram言語モデルに基づいて、文の生成されにくさを示すパープレキシティ値を算出し、当該パープレキシティ値が閾値以下であれば自然な文であると判定するルールに基づいて、発話文の各々から、自然な文でない発話文を除去し、除去されなかった発話文の各々を発話候補として出力部13に出力する。
具体的には、大規模なテキストデータからN−gram言語モデルを構築しておく。例えば、Nは5である。5−gram言語モデルには、与えられた5つの単語の並びがどの程度テキストデータに現れるかという確率が含まれている。当該言語モデルに照らし合わせたとき、ある文がどれほど出現しにくいかを示す値がパープレキシティである。パープレキシティは言語の複雑さ(生成されにくさ)を表す言語処理で一般的な指標である。パープレキシティ値が閾値未満の発話文が複数ある場合には、複数の発話文を発話候補として出力部13に送る。
図7は、システムが生成した発話文についてパープレキシティを計算した結果である。最初の文のパープレキシティは500 以上であり非常に高い。実際に文を読むと日本語として不自然だと考えられるものである。最後の文はパープレキシティが非常に低く日本語としても自然な文であることが分かる。
制御部110は、文判定部116によって発話候補が出力されなかった場合に、発話データベース11を選択する。
発話検索部118は、制御部110によって発話データベース11が選択された場合に、入力部7によって受け付けたユーザの発話及び対話行為に基づいて、発話データベース11から、対話行為が一致し、かつ、当該ユーザの発話に対応する発話を検索し、該当する発話が検索された場合に検索された発話を発話候補として出力し、該当する発話が検索されなかった場合に発話不可であることを示す情報を出力する。
例えば、発話検索部118は、入力部7によって受け付けた対話行為と対話行為が一致し、かつ、ユーザの発話中の単語をなるべく多く含むような発話を、発話データベース11から検索する。なお、発話検索部118は、入力部7によって受け付けた、対話行為と焦点とに基づいて、発話データベース11を検索し、対話行為が一致し、かつ、焦点の単語を含む発話を検索してもよい。
発話検索部118での検索結果のランキングでは、全文検索エンジンでよく用いられる単語のTF・IDFで重み付けをしたベクトル空間モデルを用いてもよいし、同じくよく用いられるOKAPI/BM25などを用いてもよい。本実施の形態では、Luceneのデフォルトである、TF・IDFで重み付けをしたベクトル空間モデルによるランキングを用いる。該当する発話が検索されたら、上位K件を発話候補として出力部13へ出力する。該当する発話が検索されなかったら検索結果が空の旨の情報を出力部13へ出力する。
例えば、図8は対話行為として「自己開示評価+」、焦点として「ラーメン」を入力としたときの検索結果である。スコアはベクトル空間モデルに基づく検索結果のスコアである。
出力部13は、文判定部116又は発話検索部118から出力された発話候補を出力する。出力された発話候補は、対話システム等の上位モジュールによって発話に使用される。上位モジュールでは、たとえば、複数発話候補があればその中からランダムに一つを発話する。
<発話データベース構築装置の作用>
次に、本実施の形態に係る発話データベース構築装置100の作用について説明する。まず、マイクロブログサイトから取得された、複数の発話を含む発話集合が発話データベース構築装置100に入力されると、発話データベース構築装置100によって、図9に示す発話データベース構築処理ルーチンが実行される。
まず、ステップS100において、発話データ入力部1によって、入力された発話集合を受け付け、発話候補データベース20に格納する。
ステップS102において、対話行為推定部22によって、上記ステップS100で発話候補データベース20に格納された発話集合に含まれる複数の発話のうち、1つの発話を設定する。
ステップS104において、対話行為推定部22によって、上記ステップS102で設定された発話について、当該発話の対話行為を推定し、当該発話に、推定された対話行為を付与する。
ステップS106において、対話行為推定部22によって、上記ステップS102で設定された発話について、当該発話と、上記ステップS104で付与された対話行為とのペアを、発話データベース3に格納する。
ステップS108において、発話候補データベース20に格納された全ての発話について、上記ステップS102〜S106の処理を実行したか否かを判定する。上記ステップS102〜S106の処理を実行していない発話が存在する場合には、ステップS102へ戻る。一方、発話候補データベース20に格納された全ての発話について、上記ステップS102〜S106の処理を実行した場合には、発話データベース構築処理ルーチンを終了する。
<述語項構造データベース構築装置の作用>
次に、本実施の形態に係る述語項構造データベース構築装置200の作用について説明する。まず、複数のテキストを含む大規模テキスト集合が述語項構造データベース構築装置200に入力されると、述語項構造データベース構築装置200によって、図10に示す述語項構造データベース構築処理ルーチンが実行される。
まず、ステップS200において、テキストデータ入力部4によって、大規模テキスト集合を受け付け、大規模テキストデータベース50に格納する。
ステップS202において、述語項構造データベース構築部5によって、上記ステップS200で大規模テキストデータベース50に格納された大規模テキスト集合に含まれる複数のテキストのうち、1つのテキストを設定する。
ステップS204において、上記ステップS202で設定されたテキストに含まれる文のうち、1つの文を設定する。
ステップS206において、形態素解析部52によって、上記ステップS204で設定された文について、形態素解析を行う。
ステップS208において、係り受け解析部54によって、上記ステップS204で設定された文について、上記ステップS206によって解析された形態素解析結果に基づいて、係り受け解析を行い、文節を同定し、文節間の係り受け構造を決定する。
ステップS210において、述語項構造抽出部56によって、上記ステップS204で設定された文について、上記ステップS208で決定された係り受け構造に基づいて、上記ステップS204で設定された文の述語と当該述語に対応する格の要素である格要素とを同定し、述語項構造として抽出する。そして、ステップS210において、抽出された述語項構造を、メモリ(図示省略)に一時的に格納する。
ステップS212において、上記ステップS202で設定されたテキストに含まれる全ての文について、上記ステップS204〜S210の処理を実行したか否かを判定する。上記ステップS204〜S210の処理を実行していない文が存在する場合には、ステップS204へ戻る。一方、上記ステップS202で設定されたテキストに含まれる全ての文について、上記ステップS204〜S210の処理を実行した場合には、ステップS214へ進む。
ステップS214において、大規模テキストデータベース50に格納された全てのテキストについて、上記ステップS202〜S212の処理を実行したか否かを判定する。上記ステップS202〜S212の処理を実行していないテキストが存在する場合には、ステップS202へ戻る。一方、大規模テキストデータベース50に格納された全てのテキストについて、上記ステップS202〜S212の処理を実行した場合には、ステップS216へ進む。
ステップS216において、上記ステップS210でメモリ(図示省略)に格納された述語項構造と、当該述語項構造の頻度とを述語項構造データベース6へ格納する。
<発話生成装置の作用>
次に、本実施の形態に係る発話生成装置300の作用について説明する。まず、発話データベース構築装置100の発話データベース3に記憶されている発話及び対話行為の複数ペアが、発話生成装置300に入力されると、発話データベース11に格納される。次に、述語項構造データベース構築装置200の述語項構造データベース6に記憶されている述語項構造のテーブルデータが、発話生成装置300に入力されると、述語項構造データベース8に格納される。そして、対話システム等の上位モジュールから、ユーザの発話と、焦点と、対話行為とが発話生成装置300に入力されると、発話生成装置300によって、図11に示す発話生成処理ルーチンが実行される。
まず、ステップS300において、入力部7によって、焦点と、ユーザの発話と、対話行為とを受け付ける。
ステップS301において、制御部110によって、述語項構造データベース8を選択する。
ステップS302において、述語項構造検索部112によって、上記ステップS300で受け付けた焦点に基づいて、述語項構造データベース8から、焦点と一致する格要素を含む述語項構造を検索する。
ステップS304において、文生成部114によって、上記ステップS302で検索された述語項構造の各々について、述語、格要素、及び格要素の格について予め定められた順番に従って、当該述語項構造の述語、前記格要素、及び格要素の格を並べた平叙文を生成する。
ステップS306において、文生成部114によって、述語項構造の各々について、上記ステップS300で受け付けた対話行為に対応して変換ルールデータベース9に格納された変換ルールに基づいて、上記ステップS304で当該述語構造に基づいて生成された平叙文を、当該対話行為を表現する文に変換して、発話文を生成する。
ステップS308において、文判定部116によって、上記ステップS306で生成された発話文の各々について、言語モデルデータベース10に格納されたN−gram言語モデルに基づいて、パープレキシティ値を算出し、当該パープレキシティ値が閾値以下であれば自然な文であると判定するルールに基づいて、上記ステップS306で生成された発話文の各々から、不自然な文を除去し、残った自然な発話文があるか否かを判定する。そして、上記ステップS306で生成された発話文の各々から、自然な発話文が少なくとも1つ残った場合には、ステップS314へ進む。一方、上記ステップS306で生成された発話文の全てが、不自然な文として除去された場合には、ステップS309へ進む。
ステップS309において、制御部110によって、発話データベース11を選択する。
ステップS310において、発話検索部118によって、上記ステップS300で受け付けたユーザの発話及び対話行為に基づいて、発話データベース11から、対話行為が一致し、かつ、当該ユーザの発話に対応する発話を検索する。
ステップS312において、上記ステップS310で対話行為が一致し、かつ、当該ユーザの発話に対応する発話が検索されたか否かを判定する。該当する発話が検索された場合には、ステップS314へ進む。一方、該当する発話が検索されなかった場合には、ステップS316へ進む。
ステップS314において、出力部13によって、上記ステップS308で自然な文であると判定された発話文の各々、又は上記ステップS312で検索された該当する発話の各々を、発話候補として出力して、発話生成処理ルーチンを終了する。
ステップS316において、出力部13によって、発話不可であることを示す情報を出力して、発話生成処理ルーチンを終了する。
なお、ステップS314において出力された発話候補は、対話システム等の上位モジュールによって発話に使用される。上位モジュールでは、たとえば、複数発話候補があればその中からランダムに一つを発話する。
以上説明したように、本実施の形態に係る発話生成装置によれば、述語項構造を複数記憶した述語項構造データベースから、焦点と一致する格要素を含む述語項構造を検索し、述語項構造の各々に基づいて生成された発話文の各々のうちの自然な文を、ユーザの発話に対する発話候補として出力し、発話候補が出力されなかった場合に、ユーザの発話に基づいて、複数の発話と対話行為のペアを記憶した発話データベースから、対話行為が一致し、かつ、ユーザの発話中の単語を含む発話を検索し、発話が検索された場合に当該発話を発話候補として出力することにより、安定して、ユーザ発話に対する自然な発話候補を生成することができる。
また、上位モジュールである対話システムが、対話システム自身の対話行為(発話意図)に沿った自然な発話を行うことができるようになり、システムの情報伝達の正確性が高まる。
また、ユーザとの意思疎通がしやすくなり、システムとユーザとのインタラクションが円滑になる。
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、本実施の形態の発話生成装置300では、述語項構造データベースを優先して検索し、述語項構造データベースの検索結果に基づいて発話候補が生成されなかった場合に、発話データベースを検索する場合について説明したが、これに限定されるものではなく、発話データベースを優先して検索し、発話データベースで発話候補が検索されなかった場合に、述語項構造データベースを検索するように構成してもよい。
また、上述の発話データベース構築装置100は、発話候補データベース20及び発話データベース3を備えている場合について説明したが、例えば発話候補データベース20及び発話データベース3が発話データベース構築装置100の外部装置に設けられ、発話データベース構築装置100は、外部装置と通信手段を用いて通信することにより、発話候補データベース20及び発話データベース3を参照するようにしてもよい。
また、上述の述語項構造データベース構築装置200についても、外部装置に設けられた、大規模テキストデータベース50及び述語項構造データベース6と通信手段を用いて通信することにより、大規模テキストデータベース50及び述語項構造データベース6を参照するようにしてもよい。
また、上述の発話生成装置300についても、外部装置に設けられた、述語項構造データベース8、変換ルールデータベース9、言語モデルデータベース10、及び発話データベース11と通信手段を用いて通信することにより、述語項構造データベース8、変換ルールデータベース9、言語モデルデータベース10、及び発話データベース11を参照するようにしてもよい。
また、上記実施の形態では、発話データベース構築装置100と述語項構造データベース構築装置200と発話生成装置300とを別々の装置として構成する場合を例に説明したが、発話データベース構築装置100、述語項構造データベース構築装置200、及び発話生成装置300の少なくとも2つを1つの装置として構成してもよい。
上述の発話データベース構築装置100、述語項構造データベース構築装置200、及び発話生成装置300は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
1 発話データ入力部
2 発話データベース構築部
3 発話データベース
4 テキストデータ入力部
5 述語項構造データベース構築部
6 述語項構造データベース
7 入力部
8 述語項構造データベース
9 変換ルールデータベース
10 言語モデルデータベース
11 発話データベース
12 演算部
13 出力部
20 発話候補データベース
22 対話行為推定部
50 大規模テキストデータベース
52 形態素解析部
54 係り受け解析部
56 述語項構造抽出部
100 発話データベース構築装置
110 制御部
112 述語項構造検索部
114 文生成部
116 文判定部
118 発話検索部
200 述語項構造データベース構築装置
300 発話生成装置

Claims (4)

  1. 対話の話題を示す単語と、ユーザの発話と、発話の意図を表す対話行為とを受け付ける入力部と、
    前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶した述語項構造データベースから、前記対話の話題を示す単語に対応する前記格要素を含む前記述語項構造を検索する述語項構造検索部と、
    前記述語項構造検索部によって検索された前記述語項構造の各々に基づいて、前記述語、前記格要素、及び前記格要素の格について予め定められた順番に従って、前記述語項構造検索部によって検索された前記述語項構造の述語、前記格要素、及び前記格要素の格を並べた平叙文を生成し、前記入力部で受け付けた前記対話行為に対して予め定められた、前記対話行為を表現する文に変換するための変換ルールに基づいて、前記生成した平叙文を、前記対話行為を表現する文に変換して、発話文を各々生成する文生成部と、
    前記文生成部によって生成された前記発話文の各々から、自然な文である否かを判定するための予め定められたルールに基づいて、自然な文でない発話文を除去し、除去されなかった前記発話文の各々を、前記入力部によって受け付けた前記ユーザの発話に対する発話候補として出力する文判定部と、
    前記文判定部によって前記発話候補が出力されなかった場合に、前記ユーザの発話に基づいて、対話行為の各々に対して複数の発話を記憶した発話データベースから、前記ユーザの発話及び前記対話行為に対応する前記発話を検索し、前記発話が検索された場合に前記検索された発話を前記発話候補として出力し、前記発話が検索されなかった場合に発話不可であることを示す情報を出力する発話検索部と、
    を含む発話生成装置。
  2. 前記文判定部は、前記文生成部によって生成された前記発話文の各々について、予め求められたN−gram言語モデルに基づいて、文の生成されにくさを示すパープレキシティ値を算出し、前記パープレキシティ値が閾値以下であれば自然な文であると判定する前記ルールに基づいて、前記発話文の各々から、自然な文でない発話文を除去し、除去されなかった前記発話文の各々を前記発話候補として出力する
    請求項1に記載の発話生成装置。
  3. 入力部、述語項構造検索部、文生成部、文判定部、及び発話検索部を含む発話生成装置における発話生成方法であって、
    前記入力部によって、対話の話題を示す単語と、ユーザの発話と、発話の意図を表す対話行為とを受け付けるステップと、
    前記述語項構造検索部によって、前記入力部によって受け付けた前記対話の話題を示す単語に基づいて、述語と前記述語に対応する格の要素である格要素との組み合わせである述語項構造を複数記憶した述語項構造データベースから、前記対話の話題を示す単語に対応する前記格要素を検索し、検索された格要素に対応する前記述語項構造を抽出するステップと、
    前記文生成部によって、前記述語項構造検索部によって抽出された前記述語項構造の各々に基づいて、前記述語、前記格要素、及び前記格要素の格について予め定められた順番に従って、前記述語項構造検索部によって検索された前記述語項構造の述語、前記格要素、及び前記格要素の格を並べた平叙文を生成し、前記入力部で受け付けた前記対話行為に対して予め定められた、前記対話行為を表現する文に変換するための変換ルールに基づいて、前記生成した平叙文を、前記対話行為を表現する文に変換して、発話文を各々生成するステップと、
    前記文判定部によって、前記文生成部によって生成された前記発話文の各々から、自然な文である否かを判定するための予め定められたルールに基づいて、自然な文でない発話文を除去し、除去されなかった前記発話文の各々を、前記入力部によって受け付けた前記ユーザの発話に対する発話候補として出力するステップと、
    前記発話検索部によって、前記文判定部によって前記発話候補が出力されなかった場合に、前記ユーザの発話に基づいて、対話行為の各々に対して複数の発話を記憶した発話データベースから、前記ユーザの発話及び前記対話行為に対応する前記発話を検索し、前記発話が検索された場合に前記検索された発話を前記発話候補として出力し、前記発話が検索されなかった場合に発話不可であることを示す情報を出力するステップと、
    を含む発話生成方法。
  4. コンピュータを、請求項1又は請求項2に記載の発話生成装置の各部として機能させるためのプログラム。
JP2013212221A 2013-10-09 2013-10-09 発話生成装置、方法、及びプログラム Active JP6126965B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2015075952A JP2015075952A (ja) 2015-04-20
JP6126965B2 true JP6126965B2 (ja) 2017-05-10

Family

ID=53000751

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP6126965B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6674411B2 (ja) * 2017-05-02 2020-04-01 日本電信電話株式会社 発話生成装置、発話生成方法、及び発話生成プログラム
US20200234010A1 (en) * 2017-07-24 2020-07-23 Biomedical Objects, Inc. Structured natural language knowledge system
WO2019021804A1 (ja) * 2017-07-24 2019-01-31 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008293098A (ja) * 2007-05-22 2008-12-04 Toyota Central R&D Labs Inc 応答スコア情報生成装置、対話処理装置

Also Published As

Publication number Publication date
JP2015075952A (ja) 2015-04-20

Similar Documents

Publication Publication Date Title
KR101309042B1 (ko) 다중 도메인 음성 대화 장치 및 이를 이용한 다중 도메인 음성 대화 방법
JP5403696B2 (ja) 言語モデル生成装置、その方法及びそのプログラム
JP6225012B2 (ja) 発話文生成装置とその方法とプログラム
Le Zhang et al. Enhancing low resource keyword spotting with automatically retrieved web documents
WO2008023470A1 (fr) Procédé de recherche de phrase, moteur de recherche de phrase, programme informatique, support d'enregistrement et stockage de document
JP2015219583A (ja) 話題決定装置、発話装置、方法、及びプログラム
KR101410601B1 (ko) 유머 발화를 이용하는 음성 대화 시스템 및 그 방법
JP5718405B2 (ja) 発話選択装置、方法、及びプログラム、対話装置及び方法
JP5073024B2 (ja) 音声対話装置
KR101677859B1 (ko) 지식 베이스를 이용하는 시스템 응답 생성 방법 및 이를 수행하는 장치
KR101333485B1 (ko) 온라인 사전을 이용한 개체명 사전 구축 방법 및 이를 실행하는 장치
JP6126965B2 (ja) 発話生成装置、方法、及びプログラム
Malandrakis et al. Sail: Sentiment analysis using semantic similarity and contrast features
Konstantinou et al. Different Encoding Approaches for Authorship Verification.
JP5976037B2 (ja) モデル学習装置、ランキング装置、方法、及びプログラム
JP5718406B2 (ja) 発話文生成装置、対話装置、発話文生成方法、対話方法、発話文生成プログラム、及び対話プログラム
JP5744150B2 (ja) 発話生成装置、方法、及びプログラム
JP4153843B2 (ja) 自然文検索装置、自然文検索方法、自然文検索プログラム及び自然文検索プログラム記憶媒体
Malandrakis et al. Affective language model adaptation via corpus selection
JP6067616B2 (ja) 発話生成手法学習装置、発話生成手法選択装置、発話生成手法学習方法、発話生成手法選択方法、プログラム
CN113971212A (zh) 多语种问答方法、装置、电子设备及存储介质
JP5506482B2 (ja) 固有表現抽出装置、文字列−固有表現クラス対データベース作成装置、固有表現抽出方法、文字列−固有表現クラス対データベース作成方法、プログラム
JP6574469B2 (ja) 次発話候補ランキング装置、方法、及びプログラム
JP5860861B2 (ja) 焦点推定装置、モデル学習装置、方法、及びプログラム
JP2008165718A (ja) 意図判定装置、意図判定方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161026

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: 20170328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170410

R150 Certificate of patent or registration of utility model

Ref document number: 6126965

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150