(57)【要約】【課題】トピックにかかわらずユーザとの自然な対話を行うことができる対話システムを提供する。【解決手段】対話システム３０は、ユーザからの入力文１００を受け、係り受け関係を用いて入力文１００に含まれる表現を用いた質問を生成する質問生成部１２０と、質問生成部１２０により生成された質問を質問・応答システム１０４に入力し、当該質問に対する回答を質問・応答システム１０４から取得する回答取得部１２２と、回答取得部１２２が取得した回答に基づいて、入力文１００に対する出力文１０６を生成する発話生成部１２４とを含む。【選択図】図１
2018028752.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの入力発話を受け、当該入力発話に含まれる表現を用いて、質問・応答システムを利用するためのパラメータを生成するパラメータ生成手段と、
前記パラメータ生成手段により生成されたパラメータを前記質問・応答システムに入力し、当該パラメータに対する回答を取得する回答取得手段と、
前記回答取得手段が取得した回答に基づいて、前記入力発話に対する応答を生成する応答生成手段とを含む、対話システム。
【請求項２】
前記パラメータ生成手段は、
前記入力発話に対する形態素解析及び構文解析を行う発話解析手段と、
前記発話解析手段により解析された結果から、前記入力発話の主題を推定する主題推定手段と、
前記主題推定手段により推定された主題に基づいて、当該主題を構成する部分表現を含むファクトイド型質問を生成するファクトイド型質問生成手段とを含む、請求項１に記載の対話システム。
【請求項３】
前記パラメータ生成手段は、
前記発話解析手段により解析された結果から、前記入力発話を代表する部分表現を特定する部分表現特定手段と、
前記部分表現特定手段により特定された部分表現に基づいて、ノン・ファクトイド型質問を生成するノン・ファクトイド型質問生成手段とを含む、請求項１に記載の対話システム。
【請求項４】
前記応答生成手段は、
前記回答に対して予め準備された発話生成規則を適用することにより、発話候補を生成する発話候補生成手段と、
前記発話候補を予め準備された発話整形規則にしたがって整形して前記入力発話に対する前記応答を生成する発話整形手段とを含む、請求項１〜請求項３のいずれかに記載の対話システム。
【請求項５】
前記応答生成手段は、
質問に対する回答が与えられると、当該回答から発話を生成するよう予め学習した発話生成モデルと、
前記発話生成モデルが生成した発話を、予め準備された発話整形規則にしたがって整形して前記入力発話に対する前記応答を生成する発話整形手段とを含む、請求項１〜請求項３のいずれかに記載の対話システム。
【請求項６】
コンピュータを、請求項１〜請求項５のいずれかに記載の対話システムとして機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はユーザとの間で対話を行う対話システムに関し、特に、自然な対話を可能にする対話システムに関する。
【背景技術】
【０００２】
コンピュータがユーザと対話するシステムに関しては、これまでも多くの試みがなされている。最も簡単なものは、予め対話のルールを決めたスクリプトを準備しておき、コンピュータがこのスクリプトに沿って発話を行うというものである。スクリプトの中には、いずれかの単語で置換される変数が含まれており、ユーザの発話を音声認識して、そこから何らかの単語を抽出してこの変数を置換することにより応答する。すぐ分かるように、このような対話システムはスクリプトの数が制限されることにより、応答のパターンも制約を受ける。対話において生じうる場合の数は無限であるから、こうしたシステムで自然な対話を行うことは不可能である。
【０００３】
また、多くの対話データ中の文の係り受けを解析し、その結果を利用するものもある。例えばある文を解析した結果、「今日ゲーム機買ったのでマルコカーゴをやる」（「マルコカーゴ」はゲームの名前とする。）という文から「（今日）ゲーム機買った」と「マルコカーゴをやる」との組み合わせを抽出し、パターンとして記憶しておく。対話時、ユーザ発話の中に「今日ゲーム機買った」という表現が出てきたら、その表現に対応付けられていた「マルコカーゴをやる」という表現を抽出し、語尾変換して例えば「マルコカーゴがやれるね」というシステム発話を生成する。
【０００４】
さらに別の取り組みでは、ユーザの発話からキーワードを抽出し、キーワード検索を行ってその結果をシステム発話の生成に用いるものがある。例えばユーザ発話が「今日ゲーム機買う」というものであれば「ゲーム機」と「買う」をキーワードにしてウェブを検索し、複数個の文書を集め、その中でキーワードと近接して出現した単語（例えば「マルコカーゴ」）を抽出する。この単語を、予め準備したテンプレートに当てはめてシステム発話を生成する。
【０００５】
しかしこうしたものはいずれも、ユーザ発話又はウェブ上の文の係り受けの意味的関係（原因、結果、並列等）を正しく理解できていないという問題がある。そのため、不適切なシステム発話を生成してしまうことがある。例えば、「アキバ行ってゲーム機買ってラーメンを食べる。」という発話が例としてあったものとする。この発話から、「ゲーム機買う」という表現と「ラーメンを食べる」という表現とが抽出され、両者が一応は関係付けられる。しかし、対話時、「今日ゲーム機買う」というユーザ発話に対してこの関係のみに基づいて「ラーメンを食べられるね」というシステム発話を生成したら、通常は理解不可能であり、自然な対話を維持できない。
【０００６】
キーワード検索を用いる場合には、検索結果の文書が含む単語の語彙が大きすぎるため、検索結果には不要な情報が多く、本来欲しい情報を抽出することが困難である。またユーザ発話に含まれるキーワードに基づく検索結果を利用するので、システム側の発話意図（例えばユーザに情報を与えたいのか、感想を言いたいのか、共感したいのか、等）を制御することは不可能である。
【０００７】
こうした問題を解決するための提案が後掲の特許文献１においてなされている。特許文献１に記載の音声対話システムは、ユーザの発話を認識する音声認識装置と、この発話の意図を理解し、特定のドメインにおけるどのような情報を知りたがっているのかを理解するために、予め学習済の意図理解モデル及び問題解決知識を用いて発話の意図を理解するための意図理解部と、この意図に対応した応答文を生成するために、応答のための情報を情報源から取得するための対話管理部とを含む。特許文献１は、この情報源としてインターネット上の特定のウェブサイトと、様々な映画に関する人々の感想を保存している感想データベースとを挙げており、発話者の意図に応じて何れか一方を選択するとしている。例えば、ユーザの発話が、映画の監督を知りたいというものであればウェブサイトでその映画の監督を検索する。ユーザの発話が、映画の感想を知りたいというものであれば、感想ベータベースを検索してその映画に関する他人の感想を取り出す。
【０００８】
特許文献１に記載の音声対話システムはさらに、様々な意図が入力されたときにどのようなやり取りをすべきかという対話の流れを記述した対話シナリオを含む。
【０００９】
このシステムはさらに、対話管理部が情報源から取得した情報を用いて、発話者の発話に対する応答文を生成する応答文生成部と、応答文生成部が生成した応答文を音声合成して音声信号を生成する音声合成部と、この音声信号を音声に変換するスピーカとを含む。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開2016-99381号公報（図２）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記した特許文献１に記載のシステムは、ユーザに対する回答を広い範囲から収集するものの、その範囲は特定のドメイン（例えば映画）に限定される。しかも相手の発話が質問でしかもその意図が容易に判定できる場合には意味のある応答を生成することができる可能性があるが、そうでない場合にはどのような応答がなされるか、全く予測がつかないという問題がある。そもそも、ユーザが質問しか発することができないような対話はとても自然なものとは言えない。そのために、このシステムではユーザとの自然な対話を行うことは不可能である。
【００１２】
したがって、本発明の目的は、発話のトピックにかかわらず、ユーザの発話に基づいてユーザとの自然な対話を行うことができる対話システムを提供することである。
【課題を解決するための手段】
【００１３】
本発明の第１の局面に係る対話システムは、ユーザからの入力発話を受け、当該入力発話に含まれる表現を用いて、質問・応答システムを利用するためのパラメータを生成するパラメータ生成手段と、パラメータ生成手段により生成されたパラメータを質問・応答システムに入力し、当該パラメータに対する回答を取得する回答取得手段と、回答取得手段が取得した回答に基づいて、入力発話に対する応答を生成する応答生成手段とを含む。
【００１４】
好ましくは、パラメータ生成手段は、入力発話に対する形態素解析及び構文解析を行う発話解析手段と、発話解析手段により解析された結果から、入力発話の主題を推定する主題推定手段と、主題推定手段により推定された主題に基づいて、当該主題を構成する部分表現を含むファクトイド型質問を生成するファクトイド型質問生成手段とを含む。
【００１５】
より好ましくは、パラメータ生成手段は、発話解析手段により解析された結果から、入力発話を代表する部分表現を特定する部分表現特定手段と、部分表現特定手段により特定された部分表現に基づいて、ノン・ファクトイド型質問を生成するノン・ファクトイド型質問生成手段とを含む。
【００１６】
さらに好ましくは、応答生成手段は、回答に対して予め準備された発話生成規則を適用することにより、発話候補を生成する発話候補生成手段と、発話候補を予め準備された発話整形規則にしたがって整形して入力発話に対する応答を生成する発話整形手段とを含んでもよい。
【００１７】
さらに好ましくは、質問・応答システムは、１つのパラメータに対して複数個の回答を出力し、応答生成手段は、複数個の回答の各々に対して予め準備された発話生成規則を適用することにより、複数個の発話候補を生成する発話候補生成手段と、複数個の発話候補のいずれかを選択し、予め準備された発話整形規則にしたがって整形して入力発話に対する応答を生成する発話整形手段とを含む。
【００１８】
応答生成手段は、質問に対する回答が与えられると、当該回答から発話を生成するよう予め学習した発話生成モデルと、発話生成モデルが生成した発話を、予め準備された発話整形規則にしたがって整形して入力発話に対する応答を生成する発話整形手段とを含んでもよい。
【００１９】
質問・応答システムは、１つのパラメータに対して複数個の回答を出力し、応答生成手段は、質問に対する回答が与えられると、当該回答から発話を生成するよう予め学習した発話生成モデルと、発話生成モデルが複数個の回答の各々に対して生成した発話のいずれかを選択し、予め準備された発話整形規則にしたがって整形して入力発話に対する応答を生成する発話整形手段とを含んでもよい。
【００２０】
本発明の第２の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかの対話システムとして機能させる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施の形態に係る対話システムの全体構成を示すブロック図である。
【図２】第１の実施の形態に係る対話システムの入力文・応答文ペア収集部の概略構成を示すブロック図である。
【図３】第１の実施の形態に係る対話システムのなに型質問・対話学習コーパス構築部の概略構成を示すブロック図である。
【図４】第１の実施の形態に係る対話システムのパターン照合部の概略構成を示すブロック図である。
【図５】第１の実施の形態に係る対話システムのなぜ型質問・対話学習コーパス構築部の概略構成を示すブロック図である。
【図６】第１の実施の形態に係る対話システムの質問生成部の概略構成を示すブロック図である。
【図７】第１の実施の形態に係る対話システムの発話生成部の概略構成を示すブロック図である。
【図８】第２の実施の形態に係る対話システムの質問生成部の概略構成を示すブロック図である。
【図９】第２の実施の形態に係る対話システムの発話生成部の概略構成を示すブロック図である。
【図１０】第３の実施の形態に係る対話システムの発話生成部の概略構成を示すブロック図である。
【図１１】第４の実施の形態に係る対話システムの全体構成を示すブロック図である。
【図１２】本発明の各実施の形態に係る対話システムを実現するためのコンピュータシステムの外観図である。
【図１３】図１２に外観を示すコンピュータシステムの内部構成を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお、以下の実施の形態では、ファクトイド型の質問としてなに型質問を扱い、ノン・ファクトイド型の質問としてなぜ型質問を扱う。しかし本発明はそのような実施の形態には限定されない。例えばファクトイド型の質問は事実について問う質問（例えば「誰」、「いつ」、「どこ」等を伴う質問）であればどのようなタイプでもよい。ノン・ファクトイド型の質問としては、なぜ型以外に「どうなる」型、「どうやって」型等の質問を扱うようにしてもよい。
【００２３】
［第１の実施の形態］
＜構成＞
図１を参照して、本発明の第１の実施の形態に係る対話システム３０は、インターネット７０に接続され、なに型質問生成モデル８２及びなぜ型質問生成モデル９２のトレーニングを行うための質問生成モデル構築部５０と、ユーザからの入力文１００から、なに型質問生成モデル８２及びなぜ型質問生成モデル９２を用いて一連の質問を生成して質問・応答システム１０４からのその応答を受信し、その応答を用いて入力文１００に対する出力文１０６を生成し出力する対話装置１０２とを含む。
【００２４】
〈質問生成モデル構築部５０〉
質問生成モデル構築部５０は、インターネット７０に接続され、インターネット７０上のウェブ及びＳＮＳ等で多数のユーザが行う対話から、ある文（これを「入力文」と呼ぶ。）と、入力文に対する応答文とからなるペア（入力文・応答文ペア）を大量に収集するための入力文・応答文ペア収集部７２と、入力文・応答文ペア収集部７２が収集した大量の入力文・応答文ペアを記憶する入力文・応答文ペア記憶部７４とを含む。
【００２５】
質問生成モデル構築部５０はさらに、入力文・応答文ペア記憶部７４に記憶された大量の入力文・応答文ペアに基づいて、なに型質問・対話学習コーパス７８を構築するためのなに型質問・対話学習コーパス構築部７６と、なに型質問・対話学習コーパス７８を用いてなに型質問生成モデル８２をトレーニングするためのなに型質問生成モデルトレーニング部８０とを含む。
【００２６】
質問生成モデル構築部５０はさらに、入力文・応答文ペア記憶部７４に記憶された大量の入力文・応答文ペアに基づいて、なぜ型質問・対話学習コーパス８８を構築するためのなぜ型質問・対話学習コーパス構築部８６と、なぜ型質問・対話学習コーパス構築部８６を用いてなぜ型質問生成モデル９２をトレーニングするためのなぜ型質問生成モデルトレーニング部９０とを含む。
【００２７】
《入力文・応答文ペア収集部７２》
図２を参照して、入力文・応答文ペア収集部７２は、インターネット７０から入力文・応答文ペアの候補（候補文ペア）を大量に収集するための候補文ペア収集部１３０と、候補文ペア収集部１３０が収集した候補文ペアのうち、応答文の長さが所定長以下のもののみを入力文・応答文ペアとして採用しそれ以外の候補文ペアを破棄するための長さ検査部１３２と、長さ検査部１３２により採用された入力文・応答文ペアの各々の文の形態素解析を行う形態素解析部１３４と、各々の文の構文解析を行って、品詞情報及び構文情報が付された入力文・応答文ペアを入力文・応答文ペア記憶部７４に格納するための構文解析部１３６とを含む。本実施の形態では、長さ検査部１３２は、応答文に含まれる単語数が１５未満の入力文・応答文ペアのみを採用する。
【００２８】
《なに型質問・対話学習コーパス構築部７６》
図３を参照して、なに型質問・対話学習コーパス構築部７６は、「プレイする」が「遊ぶ」を含意する、というような、述語の間の含意関係又は同義語関係を示す情報を記憶した含意関係辞書１４０と、「ＡでＢをプレイする。」のように、２つの変数（Ａ、Ｂ）と述部からなる表現であるバイナリパターンと、実際のコーパスでこのバイナリパターンと共起する、変数Ａ及びＢに相当する単語のペアとからなる組み合わせ（これを「バイナリトリブル」と呼ぶ。）を多数記憶したバイナリパターン辞書１４２と、入力文・応答文ペア記憶部７４から読出した入力文・応答文ペアの各々について、入力文に含まれる単語と応答文に含まれる単語との組み合わせに対し、バイナリパターン辞書１４２にその組み合わせと一致する単語の組み合わせを含むバイナリトリプルが存在するか否かを判定し、もし存在すれば、その入力文・応答文ペアと、一致したバイナリトリプルとを採用し、存在しなければ何もしない（破棄する）パターン照合部１５０とを含む。
【００２９】
例えば、入力文が「ゲーム機かったよ」であり、応答文が「マルコカーゴできるね」というものであった場合を考える。バイナリトリプルの中にバイナリパターン＝「ＡでＢができるね」、Ａ＝「ゲーム機」、Ｂ＝「マルコカーゴ」というものがあった場合、この入力文と応答文の組み合わせは採用される。バイナリトリプルも一緒に出力される。もしなければ入力文と応答文との組み合わせは破棄される。なお、バイナリパターン辞書は、質問・対話学習コーパスとは別のコーパスから作成される。
【００３０】
なに型質問・対話学習コーパス構築部７６はさらに、含意関係辞書１４０及びバイナリパターン辞書１４２を用い、パターン照合部１５０から出力される各候補文ペアのうち、ノイズである可能性が高いペアを破棄し、それ以外のペアのみを採用し出力するクリーニング部１５２と、クリーニング部１５２により採用された入力文・応答文ペアに基づいて、質問生成規則記憶部１４６に記憶されている質問生成規則を参照して質問文を生成する質問文生成部１５４と、質問文生成部１５４により生成された質問文の各々について、付属する情報とともにコーパスに追加すべきレコードを作成するレコード作成部１５６と、レコード作成部１５６により作成されたレコードをなに型質問・対話学習コーパス７８に追加するコーパス追加部１５８とを含む。
【００３１】
レコード作成部１５６が作成するレコードの形式は、例えばテーブル１の様なものである。なに型質問・対話学習コーパス７８にもこの形式で各レコードが記憶される。
【００３２】
【表１】
2018028752.tif 000003
【００３３】
図４を参照して、図３に示すクリーニング部１５２は、入力文・応答文ペア記憶部７４から読み出した各入力文・応答文ペアのうち、応答文に含まれる単語が１５個以上のものを破棄し、残りを採用する長さ検査部１３２と、長さ検査部１３２が採用した入力文・応答文ペアのうち、応答文に含まれる述語を抽出する述語抽出部１７０と、述語抽出部１７０により抽出された述語とバイナリパターン辞書１４２に含まれる各バイナリパターン中の述語とを、含意関係辞書１４０を参照して含意関係・同義語関係も含めてマッチングする述語マッチング部１７２と、述語マッチング部１７２によりバイナリパターン辞書１４２にマッチするバイナリパターンが発見された場合に、処理中の入力文・応答文ペアと、そのペアから抽出された述語と、マッチされたバイナリパターンにしたがって入力文・応答文ペアから選択された１組の単語とからなるパターンを学習用のペアとして選択し質問文生成部１５４に与えるペア選択部１７４とを含む。ここでは、バイナリパターン辞書１４２に一つでもマッチするものがあればそのペアを採用することとする。
【００３４】
ここで「マッチする」とは次のようなことをいう。バイナリパターンが「ＡでＢをプレイする」というものである場合を考える。このバイナリパターンは、「Ｂをプレイする」という、１つの変数と１つの述語との組み合わせを含む。この変数Ｂを、対応する変数（例えば「ゲーム」）で置換することにより、「ゲームをプレイする」という、１つの単語と１つの述語との組み合わせができる。これを「バイナリパターンから生成されるユナリフレーズ」又は単に「ユナリフレーズ」と呼ぶ。入力文・応答文ペアのうち、応答文がこのユナリフレーズを含む場合、その応答文はこのユナリフレーズのもとになったバイナリパターンとマッチする、という。述語部分を含意関係又は同義関係を持つ単語で置換したユナリパターンを応答文が持つ場合も同様である。
【００３５】
《なぜ型質問・対話学習コーパス構築部８６》
図５を参照して、なぜ型質問・対話学習コーパス構築部８６は、入力文・応答文ペア記憶部７４から入力文・応答文ペアを読出し、入力文から、そのペアの主題を代表する部分表現を、係り受け情報等を参考にして抽出する部分表現抽出部１９０と、部分表現抽出部１９０により抽出された部分表現に対して所定の変形を施すことにより質問文を生成する質問文生成部１９２とを含む。質問文生成部１９２が行う変形は、例えば「なぜ」「どうなる」「どうやって」等の表現を部分表現に付加することにより行う。
【００３６】
なぜ型質問・対話学習コーパス構築部８６はさらに、質問・回答システム１９６と、質問文生成部１９２により生成された質問文を質問・回答システム１９６に与えることにより、質問・回答システム１９６から回答を取得する回答取得部１９４と、質問・回答システム１９６に与えた質問文と質問・回答システム１９６からの回答文とが一定量以上の共通の単語を含むときに、処理対象の入力文・応答文ペアを選択し、それ以外の入力文・応答文ペアを破棄するペア選択部１９８と、ペア選択部１９８により選択された入力文・応答文ペアから、なぜ型質問・対話学習コーパス８８に格納すべきレコードを作成するレコード作成部２００と、レコード作成部２００により作成されたレコードをなぜ型質問・対話学習コーパス８８を構成するデータベースに追加するコーパス追加部２０２とを含む。
【００３７】
なぜ型質問・対話学習コーパス８８のレコード構成は本実施の形態ではテーブル２の様なものである
【００３８】
【表２】
2018028752.tif 000004
【００３９】
〈対話装置１０２〉
《質問生成部１２０》
図６を参照して、図１に示す対話装置１０２の質問生成部１２０は、入力文１００に対して形態素解析を行う形態素解析部２３０と、形態素解析部２３０により形態素解析された入力文１００に対して構文解析を行い、構文解析情報を付して出力する構文解析部２３２とを含む。
【００４０】
質問生成部１２０はさらに、構文解析部２３２により構文解析情報が付された入力文１００から、なに型質問用の素性を抽出するためのなに型質問用素性抽出部２３４と、なに型質問用素性抽出部２３４により抽出された素性からなる素性ベクトルをなに型質問生成モデル８２に入力することによりなに型質問生成モデル８２から出力される質問の仮説と尤度情報に基づいてなに型質問を生成するなに型質問生成部２３６と、入力文１００からなぜ型質問用の素性を抽出するためのなぜ型質問用素性抽出部２４０と、なぜ型質問用素性抽出部２４０から抽出された素性からなる素性ベクトルをなぜ型質問生成モデル９２に入力することによりなぜ型質問生成モデル９２から出力される質問の仮説と尤度情報に基づいてなぜ型質問を生成するなぜ型質問生成部２４２と、なに型質問生成部２３６により生成されるなに型質問と、なぜ型質問生成部２４２により生成されるなぜ型質問とを記憶するための質問記憶部２４４とを含む。
【００４１】
《発話生成部１２４》
図７を参照して、図１に示す対話装置１０２の発話生成部１２４は、質問文から発話候補を生成するための複数個の規則を予め記憶した発話生成規則記憶部２６２と、回答取得部１２２から与えられる回答に対し、発話生成規則記憶部２６２に記憶されている発話生成規則を適用して複数個の発話候補を生成する発話候補生成部２６０と、発話候補生成部２６０が生成した発話候補を記憶する発話候補記憶部２６４と、発話候補記憶部２６４に記憶されている発話候補を何らかの基準にしたがってスコア付けし、ランク付けするためのランキング部２６６と、ランキング部２６６により最も高くランク付けされた発話候補を選択する発話選択部２６８と、発話選択部２６８により選択された発話を、対話に適した口語的表現等を加えることにより整形し出力文１０６を生成するための発話整形部２７０とを含む。発話整形部２７０による整形は、例えば語尾に「だよ！」とか「だね！」とかいうような、口語的な語尾を付加することである。
【００４２】
ランキング部２６６によるランキングは、例えば以下のようにして行われる。質問・応答システム１０４から回答取得部１２２に送られてくる応答には、その応答が質問に対してどの程度適切なものかを示すスコアが付けられている。一方、図７に示す発話生成規則記憶部２６２に記憶されている発話生成規則には予めそれらの重要度が重みとして与えられている。ランキング部２６６は、基本的には両者の積に基づいてランク付けを行う。なお、図示していないが、言語モデルを用いることにより、発話候補の各々について発話の自然さをスコア付し、これをさらに用いてランク付けしても良い。
【００４３】
［動作］
上記した対話システム３０は以下のように動作する。対話システム３０は、大きく分けて学習フェーズとサービスフェーズとの２つの動作フェーズを持つ。
【００４４】
〈学習フェーズ〉
学習フェーズでは、なに型質問生成モデル８２及びなぜ型質問生成モデル９２の学習について説明する。
【００４５】
図１に示される質問生成モデル構築部５０は以下のように動作する。図２を参照して、入力文・応答文ペア収集部７２の候補文ペア収集部１３０は、インターネット７０上の様々なウェブサイト（特に投稿とそれに対する応答が主要な内容となっているサイト）を巡回し、入力文とそれに対する応答文とからなる候補文のペアを収集する。収集された候補文のペアは形態素解析部１３４に与えられる。
【００４６】
形態素解析部１３４は、与えられた候補ペアの内の入力文と応答文との双方について形態素解析を行い、得られた形態素列を構文解析部１３６に与える。構文解析部１３６は、各ペアに含まれる入力文と応答文との双方の形態素列に対して構文解析を行い、構文解析結果を付したペアを入力文・応答文ペア記憶部７４に格納する。
【００４７】
図３を参照して、なに型質問・対話学習コーパス構築部７６のパターン照合部１５０が、入力文・応答文ペア記憶部７４から読み出された候補文ペアの入力文及び応答文の各々に存在する単語を抽出し、バイナリパターン辞書１４２に記憶されたバイナリペアのうちに、抽出された単語の組み合わせと一致するものがあるか否かを判定する。もしあれば、パターン照合部１５０は、その候補文ペアを、一致したバイナリペアに対応するバイナリパターンとともにクリーニング部１５２に与える。もしそのようなバイナリペアがなければ、バイナリパターン辞書１４２はその候補文ペアに対しては何もしない（破棄する）。
【００４８】
図４を参照して、長さ検査部１３２が、候補文ペアのうち応答文の長さが１５単語以上か否かを判定する。長さ検査部１３２は、応答文が１５単語以上である候補文ペアは破棄し、１５単語未満のものは質問文生成部１５４に与える。述語抽出部１７０が、バイナリパターン辞書１４２から与えられる入力文・応答文ペアのうち、応答文に含まれる述語を抽出して述語マッチング部１７２に与える。述語マッチング部１７２はこの述語と一致する述語を含むバイナリパターンをバイナリパターン辞書１４２内で検索する。述語マッチング部１７２はこのとき、抽出された述語だけではなく、含意関係辞書１４０を参照して、抽出された述語と含意関係にある単語（含意関係の上下は問わない。）、又は同義関係にある単語についてもバイナリパターン辞書１４２内で該当するバイナリパターンを検索する。
【００４９】
述語マッチング部１７２は、該当するバイナリパターンがあればその結果を、なければ該当するバイナリパターンがなかったことを示す結果をペア選択部１７４に与える。ペア選択部１７４は、該当するバイナリパターンがあった場合にはその入力文・応答文ペアを質問文生成部１５４に与え、なかった場合には何もしない（破棄する）。
【００５０】
パターン照合部１５０及びクリーニング部１５２によるこのような処理により、なに型質問・対話学習コーパス７８の学習を行うためのコーパスがノイジーになることを避けることができる。もちろん、学習データに対するこのようなクリーニング処理を行わなくても良い。
【００５１】
図３を参照して、質問文生成部１５４は、クリーニング部１５２から入力文・応答文ペアを受け取ると、質問生成規則記憶部１４６に記憶されている質問生成規則のうち、適用可能なものを適用して質問文を作成する。このとき、複数個の質問文が作成されてもよい。バイナリパターンは単純なパターンであるため、質問生成規則は比較的簡単なものでよい。例えば「ＡでＢをプレイする。」というバイナリパターンの場合には、「Ａで何をプレイするの？」「何でＢをプレイするの？」のように変数の一部を疑問詞に置き換え、必要であればさらに文の末尾を疑問文らしく変形すればよい。
【００５２】
レコード作成部１５６は、入力文・応答文ペアを構成する入力文と応答文、バイナリペア、入力文・応答文ペアの内で、バイナリペアの変数に相当する単語のペア、質問文、及び質問のタイプをまとめて所定の形式のレコードを作成しコーパス追加部１５８に与える。コーパス追加部１５８は、このレコードをなに型質問・対話学習コーパス７８に追加する。
【００５３】
図１に示すなに型質問生成モデルトレーニング部８０は、このなに型質問・対話学習コーパス７８に記憶されている多数のレコードからなに型質問生成モデル８２をトレーニングするための学習データを作成し、なに型質問生成モデル８２をトレーニングする。このトレーニングは、入力文が与えられると質問文の仮説とその尤度情報を生成するような統計的モデルとしてなに型質問生成モデル８２をトレーニングするために行われる。この学習でどのような素性を用いるかについてはここでは詳細には述べないが、このモデルは基本的には入力文をソース言語、質問文をターゲット言語とする翻訳モデルと考えることができる。したがって、機械翻訳における翻訳モデルと同様の素性を用い、同じ技術を適用してトレーニングできる。もちろんこの場合、言語モデル等、通常の翻訳で使用するものと同様のモデルを、入力文と質問文との双方について別々に作成する必要があるが、図を見やすくするためにここではそれらについては図示はしていない。なお、このモデルは機械翻訳と同様の仕組みでトレーニングできるが、ソース言語とターゲット言語とが同じ言語なので、このモデルを用いて質問文を生成する場合には、入力文の部分表現（単語、単語列、述語等）が質問文にも出現することが通常である。このような性質は、なに型質問生成モデル８２だけではなく、他のモデルであって、ソース言語とターゲット言語とが同一であるモデルには共通して現れる。
【００５４】
図５を参照して、図１に示すなぜ型質問・対話学習コーパス構築部８６は以下のように動作する。部分表現抽出部１９０は、入力文・応答文ペア記憶部７４から入力文・応答文ペアを１つずつ読み出し、入力文から、そのペアの主題を表す部分を係り受け関係を用いて抽出し、質問文生成部１９２に与える。質問文生成部１９２は、部分表現抽出部１９０により抽出された部分表現に対して所定の変形を施すことにより質問文を生成する。質問文生成部１９２が行う変形は、例えば「なぜ」「どうなる」「どうやって」等の表現を部分表現に付加することにより行われる。
【００５５】
さらに、回答取得部１９４が、質問文生成部１９２により生成された質問文を質問・回答システム１９６に与えることにより、質問・回答システム１９６から回答を取得しペア選択部１９８に与える。ペア選択部１９８は質問・回答システム１９６に与えた質問文と質問・回答システム１９６からの回答文とが一定量以上の共通の単語を含むときに、処理対象の入力文・応答文ペアを選択する。ペア選択部１９８は、それ以外の入力文・応答文ペアについては何もしない（破棄する）。レコード作成部２００は、図３に示すなに型質問・対話学習コーパス構築部７６のレコード作成部１５６と同様、ペア選択部１９８により選択された入力文・応答文ペアから、なぜ型質問・対話学習コーパス８８に格納すべきレコードを作成する。コーパス追加部２０２は、レコード作成部２００により作成されたレコードをなぜ型質問・対話学習コーパス８８を構成するデータベースに追加する。
【００５６】
なぜ型質問・対話学習コーパス８８が完成すると、なぜ型質問生成モデルトレーニング部９０がこのなぜ型質問・対話学習コーパス８８を用いてなぜ型質問生成モデル９２のトレーニングを行う。なぜ型質問生成モデル９２は、入力文が与えられるとその入力文に対するなぜ型の質問の仮説とその尤度情報を出力するような統計的モデルである。したがってなぜ型質問生成モデルトレーニング部９０は、入力としてなぜ型質問・対話学習コーパス８８の各入力文を用い、教師データとしてなぜ型質問・対話学習コーパス８８の質問文を用いてなぜ型質問生成モデル９２の学習を行う。このモデルも、基本的には、入力文をソース言語とし、質問文をターゲット言語とした翻訳モデルと考えられる。翻訳の際に必要となる言語モデルも入力文と質問文との双方に必要となるが、ここでは説明を簡略にするために図示していない。
【００５７】
なに型質問生成モデル８２及びなぜ型質問生成モデル９２のトレーニングが完了すると、対話装置１０２による対話動作が可能になる。
【００５８】
なお、これ以外のモデルについても、いずれも統計的モデルであり、上と同様にしてトレーニングを行うことができる。トレーニングにおける素性としてどのようなものを用いるかが問題となるが、通常の自然言語処理にしたがって、単語ｎグラム、品詞ｎグラム、構文解析木のパス上の単語ｎグラム又は品詞ｎグラム等を用いることが考えられる。教師データとしては、通常は人手で正解を与える。もちろん、教師データに相当するデータを推定できるプログラムツールがあれば、それらを用いてトレーニングデータを充実させることが可能である。
【００５９】
〈対話装置１０２による対話〉
図６を参照して、ユーザから入力文１００が与えられると、質問生成部１２０の形態素解析部２３０はこの入力文１００に対する形態素解析を行う。構文解析部２３２が形態素解析部２３０の出力する形態素列に基づいて構文解析を行い、その結果をなに型質問用素性抽出部２３４となぜ型質問用素性抽出部２４０に与える。
【００６０】
なに型質問用素性抽出部２３４は構文解析部２３２により構文解析情報が付された入力文１００から、なに型質問用の素性を抽出する。なに型質問生成部２３６は、なに型質問用素性抽出部２３４により抽出された素性からなる素性ベクトルをなに型質問生成モデル８２に入力することによりなに型質問生成モデル８２から出力される質問の仮説と尤度情報に基づいてなに型質問を生成する。これと並行して、なぜ型質問用素性抽出部２４０は、入力文１００からなぜ型質問用の素性を抽出する。なぜ型質問生成部２４２は、なぜ型質問用素性抽出部２４０から抽出された素性からなる素性ベクトルをなぜ型質問生成モデル９２に入力することによりなぜ型質問生成モデル９２から出力される質問の仮説と尤度情報に基づいてなぜ型質問を生成する。質問記憶部２４４は、なに型質問生成部２３６により生成されるなに型質問と、なぜ型質問生成部２４２により生成されるなぜ型質問とをともに記憶する。
【００６１】
図７を参照して、発話生成部１２４の発話生成規則記憶部２６２には、質問文から発話候補を生成するための複数個の規則が予め記憶されている。発話候補生成部２６０は、回答取得部１２２から与えられる回答に対し、発話生成規則記憶部２６２に記憶されている発話生成規則を適用して複数個の発話候補を生成する。発話候補記憶部２６４は、発話候補生成部２６０が生成した発話候補を記憶する。ランキング部２６６は、発話候補記憶部２６４に記憶されている発話候補を何らかの基準にしたがってランク付けする。発話選択部２６８は、ランキング部２６６により最も高くランク付けされた発話候補を選択する。発話整形部２７０は、発話選択部２６８により選択された発話に、対話に適した口語的表現等を加えることにより整形し出力文１０６を生成する。
【００６２】
以上のように本実施の形態によれば、単に入力文に関連すると思われる情報から出力文を生成するのではない。入力文から一旦質問文を生成して質問・応答システムに与えてその回答を得る。この質問は、ユーザ発話から不要な情報を除去して生成したものであり、かつウェブ上で頻繁に見られる情報に基づくもので、入力文におけるユーザの発話意図を明確に表している。質問・応答システムは、この質問に対し適切な関係を持つ回答を出力する。この回答を用いて、ユーザ発話に対する出力文が生成される。質問を生成することによってユーザ発話とシステム発話との関係が適切に捉えられ、対話の流れを適切に制御することができる。
【００６３】
［第２の実施の形態］
第１の実施の形態では、質問生成は質問生成規則によって行われている。質問生成は、比較的規則化し易いため、このように質問生成規則を用いることも可能である。しかし本発明は質問生成規則を用いる第１の実施の形態には限定されない。質問生成を規則ではなく統計的モデルによって行っても良い。第２の実施の形態はそのような構成を持つ。なお、この第２の実施の形態においては、図６に示す質問生成部１２０に代えて図８に示す質問生成部３００を用い、図７に示す発話生成部１２４に代えて図９に示す発話生成部３５０を用いる。その他の点では第２の実施の形態は第１の実施の形態の各部と同様である。
【００６４】
図８を参照して、この質問生成部３００は、入力文１００を受けるように接続された形態素解析部２３０と、形態素解析部２３０の出力を受けるように接続された構文解析部２３２とを含む。質問生成部３００はさらに、予め統計的に学習をしている主題推定用モデル３１０と、構文解析部２３２から出力される構文解析情報が付された入力文１００から所定の素性ベクトルを生成し、主題推定用モデル３１０を参照して入力文１００の主題を推定するための主題推定部３１２と、対話の主題が与えられると、その主題に基づいてなに型質問の仮説をそれらの尤度情報とともに出力するよう予めトレーニング済のなに型質問生成用モデル３１６と、主題推定部３１２の出力する主題から素性を抽出し、なに型質問生成用モデル３１６を用いてなに型質問を生成するためのなに型質問生成部３１４とを含む。
【００６５】
質問生成部３００はさらに、構文解析情報が付された入力文１００から得られた所定の素性ベクトルが与えられると、入力文１００の中に含まれるユナリフレーズを部分表現の仮説とその尤度情報とを出力するように予めトレーニング済の部分表現推定用モデル３２０と、構文解析部２３２から出力される、構文解析情報が付された入力文１００から所定の素性を抽出し素性ベクトルとして部分表現推定用モデル３２０に与え、その出力する部分表現仮説とその尤度情報に基づいて入力文１００内の部分表現を特定するための部分表現特定部３２２とを含む。
【００６６】
質問生成部３００はさらに、部分表現から抽出した所定の素性が与えられると、その部分表現に基づいて適切ななぜ型質問を生成するための質問仮説とそれらの尤度情報を出力するよう予めトレーニング済のなぜ型質問生成用モデル３２６と、部分表現特定部３２２により特定された部分表現から素性を抽出しなぜ型質問生成用モデル３２６に与えて、その出力に基づいて、入力文１００に応じて対話を適切に制御するためのなぜ型質問を生成するためのなぜ型質問生成部３２４と、なに型質問生成部３１４により生成された質問及びなぜ型質問生成部３２４により生成された質問を記憶するための質問記憶部２４４とを含む。
【００６７】
一方、図９を参照して、この第２の実施の形態における発話生成部３５０は、発話の材料として何らかの文が与えられると、その文に基づいてユーザに対して出力する発話の仮説とそれらの尤度情報を出力するよう予め学習済の発話生成モデル３６２と、質問・応答システム１０４（図１参照）からの回答が回答取得部１２２（図１参照）から与えられると、その回答を発話生成モデル３６２に入力し、発話生成モデル３６２が出力する発話仮説と尤度情報に基づいて発話候補を生成するための発話候補生成部３６０と、発話候補生成部３６０により生成された発話候補を記憶するための発話候補記憶部２６４を始めとして図７に示すものと同様に接続されたランキング部２６６、発話選択部２６８、及び発話整形部２７０を含む。
【００６８】
この第２の実施の形態に係るシステムは以下のように動作する。ここでは、質問生成部３００及び発話生成部３５０の動作のみについて説明する。
【００６９】
入力文１００が図８に示す質問生成部３００の形態素解析部２３０に与えられると、形態素解析部２３０は入力文１００に対する形態素解析を行って形態素列を構文解析部２３２に与える。構文解析部２３２はこの形態素列に対して構文解析を行って構文解析情報を付した入力文１００を主題推定部３１２及び部分表現特定部３２２に与える。
【００７０】
主題推定部３１２は、この構文解析情報と入力文１００とから主題推定用モデル３１０に与える素性を抽出し、素性ベクトルの形で主題推定用モデル３１０に与え、その出力する主題の仮説と尤度情報に基づいて入力文１００の主題を推定する。主題推定部３１２は、この主題をなに型質問生成部３１４に与える。なに型質問生成部３１４は、この主題に基づいて、なに型質問生成用モデル３１６のための素性を得て、素性ベクトルの形でなに型質問生成用モデル３１６に与える。なに型質問生成部３１４は、なに型質問生成用モデル３１６から出力される質問の仮説と尤度情報に基づいてなに型質問を生成し質問記憶部２４４に記憶させる。
【００７１】
一方、部分表現特定部３２２は、構文解析部２３２から与えられた構文解析情報と入力文１００とから、部分表現を推定するための素性を抽出し、素性ベクトルの形で部分表現推定用モデル３２０に与える。部分表現推定用モデル３２０はこの素性ベクトルに基づいて入力文１００内の部分表現の仮説とそれらの尤度情報を出力する。部分表現特定部３２２は尤度情報に基づいて部分表現を推定し、この部分表現をなぜ型質問生成部３２４に与える。なぜ型質問生成部３２４はこの部分表現に基づき、なぜ型質問を生成するための素性ベクトルを作成し、なぜ型質問生成用モデル３２６に与える。なぜ型質問生成用モデル３２６はこの素性ベクトルが与えられると、なぜ型質問の仮説とそれらの尤度情報を出力する。なぜ型質問生成部３２４は、この質問の仮説と尤度情報とに基づいて質問候補を生成し質問記憶部２４４に記憶させる。なお、なに型質問生成部３１４及びなぜ型質問生成部３２４は、いずれも質問候補を複数個生成する。
【００７２】
図１に示す回答取得部１２２は、これら複数個の質問を質問・応答システム１０４に与えることで、複数個の応答を質問・応答システム１０４から得る。質問・応答システム１０４は、これらの応答を図９に示す発話生成部３５０の発話候補生成部３６０に与える。発話候補生成部３６０は、これら応答の各々から、発話生成モデル３６２のための素性ベクトルを抽出し、発話生成モデル３６２に与え、その出力する発話仮説とそれらの尤度情報に基づいて発話候補を生成する。発話候補生成部３６０は、発話生成モデル３６２の出力に基づいて生成した発話候補を発話候補記憶部２６４に記憶させる。なお、発話生成モデル３６２の出力する発話仮説と尤度情報に基づいて生成された発話候補の各々には、発話生成モデル３６２によるスコアが付されている。このスコアは、与えられた素性ベクトルに対して発話候補がどの程度適切なものかを示す値である。
【００７３】
ランキング部２６６、発話選択部２６８及び発話整形部２７０の動作は第１の実施の形態と同様である。なお、ランキング部２６６が行うランク付けも第１の実施の形態と同様であるが、この第２の実施の形態では、発話規則の重要度ではなく、発話生成モデル３６２が各発話候補に付すスコアを用いる点が異なる。さらに本実施の形態では、質問・応答システム１０４に与えられる質問についても、質問生成部３００において主題推定用モデル３１０、なに型質問生成用モデル３１６、部分表現推定用モデル３２０及びなぜ型質問生成用モデル３２６によりスコアが付されている。したがって、最終の発話候補のスコアリングにこれらのスコアを反映させるようにしてもよい。
【００７４】
［第３の実施の形態］
第２の実施の形態では、発話生成モデル３６２を用いている。この発話生成モデル３６２は、質問・応答システム１０４からの応答に対して適用されて回答仮説をそれらの尤度情報とともに出力する。ところが、質問・応答システム１０４からの応答は、質問のバリエーションに応じてバリエーションが非常に大きくなる可能性がある。そうした場合には、発話生成モデル３６２をトレーニングするための学習データが疎となり、発話生成モデル３６２を用いた発話候補の生成の精度が低くなる危険性がある。そのため、この第３の実施の形態では、例えば学習データがユナリフレーズを含むものとして、その中の名詞を一般的な変数に置換した上で発話生成モデルのトレーニングを行うことによってこうした問題を解決する。この場合、発話生成モデルが出力する仮説にも変数が含まれることになる。
【００７５】
図１０を参照して、この第３の実施の形態に係る発話生成部３８０は、図９の発話生成モデル３６２に代えて、上記したように予めトレーニングした発話生成モデル３９４と、回答取得部１２２から与えられる質問・応答システムの応答のうち、ユナリフレーズの名詞部分を変数シンボルに置換するための単語置換部３９０と、単語置換部３９０から与えられた、変数シンボルを含む応答から素性を抽出し、素性ベクトルとして発話生成モデル３９４に与えることにより、発話生成モデル３９４に変数シンボルを含む発話仮説を尤度情報とともに出力させ、それらに基づいて発話候補を生成する発話候補生成部３９２と、発話候補生成部３９２が出力する発話候補に含まれる変数シンボルを、単語置換部３９０が置換した元の単語で置換することにより発話候補を完成し発話候補記憶部２６４に記憶させる変数置換部３９６を含む。
【００７６】
発話生成部３８０の構成及び動作は、これ以外の部分では図９に示す発話生成部３５０と同じである。
【００７７】
この実施の形態の装置によれば、発話生成モデル３９４のトレーニングデータが疎になることが防止でき、モデルによる発話候補の生成の精度を高めることができる。
【００７８】
［第４の実施の形態］
上記第１〜第３の実施の形態においては、対話装置１０２等は質問・応答システム１０４に対して自然言語文からなる質問を送り、その応答を用いて次の発話を生成することにより対話を制御していた。しかし本発明はそのような実施の形態には限定されない。質問・応答システム１０４に代えて、入力文から生成した何らかのパラメータに応答して、対話のための情報を出力する仕組みを持つシステムであればどのようなものでも利用できる。例えば、図１に示す質問・応答システム１０４のような一般的なシステムの場合、質問に対する応答のための情報を検索したり作成したりするためのコアシステムと、外部からの質問を分析し、コアシステムに与えるパラメータを生成する入力インターフェイス部分と、コアシステムが出力する、応答を生成するための情報（例えば単語群）を用いて応答文を生成し、質問を送ってきた端末などに送信する出力インターフェイスとを持つ。
【００７９】
仮に外部装置がこの入出力インターフェイスと同様の機能を持っていたならば、外部装置はわざわざ自然言語文を生成してこの装置に与えなくても、質問文を解析した結果をコアシステムの入力仕様にあわせてコアシステムに与えてやればよい。また、コアシステムからの出力は外部インターフェイスを介して自然言語の形で応答として外部装置に与えられるが、外部装置が人間ではない場合には、わざわざこのようにコアシステムの出力を自然言語に変換する必要はない。コアシステムの出力をそのまま受け取り、外部装置がそれを目的にあわせて処理すればよい。第４の実施の形態はそのようなシステムに関する。
【００８０】
図１１を参照して、この第４の実施の形態に係る対話システム４００は、第１の実施の形態と同様の構成を持つ質問生成モデル構築部５０、なに型質問生成モデル８２、及びなぜ型質問生成モデル９２を含む他、第１の実施の形態の対話装置１０２に代えて、入力文１００に応答し、なに型質問生成モデル８２及びなぜ型質問生成モデル９２を用いて生成される自然言語文から外部の質問・応答システム４１２のコアシステム４５０に直接与える、質問を表すパラメータを生成し、質問・応答システム４１２に与えて、質問・応答システム４１２から得られた情報から出力文４１４を生成するための対話装置４１０を含む。
【００８１】
対話装置４１０は、入力文１００を受けて、なに型質問生成モデル８２及びなぜ型質問生成モデル９２を用いて得られる質問文から、質問・応答システム４１２のコアシステムに与えるパラメータを生成するためのパラメータ生成部４３０と、パラメータ生成部４３０により生成されたパラメータを質問・応答システム４１２のコアシステムに直接送信するためのパラメータ送信部４３２と、このパラメータに対して質問・応答システム４１２が出力する、応答を生成するための情報を受信するための応答受信部４３４と、応答受信部４３４が受信した情報に基づいて、入力文１００に対する発話を生成し出力する発話生成部４３６とを含む。  質問・応答システム４１２は、コアシステム４５０と、外部から自然言語文の形で与えられる質問を解析し、コアシステム４５０に与えるパラメータを生成しコアシステム４５０に与えるための入力インターフェイス４５２と、質問に対してコアシステム４５０が出力する情報をコアシステム４５０から受け取り、その情報から自然言語文を生成して応答として出力するための出力インターフェイス４５４とを含む。コアシステム４５０は、入力インターフェイス４５２から入力パラメータを受信するための入力部４７０と、コアシステムが生成した、質問に対する応答を生成するための情報を出力する出力部４７２とを持つ。
【００８２】
通常は、入力インターフェイス４５２が外部装置から自然言語文の質問文の入力を受け、解析してコアシステム４５０への入力パラメータを生成して入力部４７０に与える。これに対してコアシステム４５０が内部ＤＢを用いて応答するための情報を検索し、出力部４７２を介して出力する。出力インターフェイス４５４がこの情報に基づき、応答としてふさわしい自然言語文を生成して出力する。
【００８３】
しかし、こうした動作は、質問文の入力をしたものが人間であることを想定している。本実施の形態のように、対話装置４１０が質問・応答システム４１２を利用するときには、わざわざ自然言語文を用いた入出力を行う必要はない。そこで、本実施の形態では、パラメータ生成部４３０がコアシステム４５０の入力部４７０に質問を表すパラメータを直接与え、コアシステム４５０が出力する情報を応答受信部４３４が直接出力部４７２から受信する。発話生成部４３６が、この単語群から、ユーザに対する次の発話を生成し出力文４１４として出力する。
【００８４】
このようにすると、質問・応答システム４１２との間で自然言語文でのやり取りをする必要がなくなり、質問・応答システム４１２のコアシステムを利用してより効率よく対話を行うことができる。
【００８５】
なお、なに型質問生成モデル８２及びなぜ型質問生成モデル９２については、質問・応答システム４１２のコアシステム４５０の特性又は仕様にあわせて、入力文が与えられると、コアシステム４５０に対する適切な質問のパラメータを直接に生成できるように学習するとなお効率がよくなる。例えば、なに形質問生成モデル８２及びなぜ型質問生成モデル９２に代えて、入力文が与えられると、質問文を生成するのではなく、直接にコアシステム４５０に与えるパラメータを生成するようトレーニングしたモデルを用いればよい。そのためには、質問生成モデル構築部５０において、モデルの学習データとして、入力文とそれ対応する質問文との組を用いるのではなく、入力文と、それに対応する質問と等価なパラメータを用いてこれらモデルをトレーニングする。このようなモデルを用いる場合、入力文１００に対してなに型質問生成モデル８２及びなぜ型質問モデル９２からは、質問と等価なパラメータが得られる。パラメータ生成部４３０は、このパラメータをなんら加工することなく、そのままパラメータ送信部４３２を介してコアシステム４５０に与えてやれば良い。
【００８６】
パラメータ生成部４３０が生成するパラメータは、コアシステム４５０の入力仕様に依存する。コアシステム４５０の入力仕様が公表されていない場合には、本実施の形態に係る対話装置４１０は使用できない。
【００８７】
なお、パラメータ生成部４３０が生成するパラメータがコアシステム４５０の仕様に依存するため、異なる仕様のコアシステムを持つ質問・応答システムを複数個利用する場合には、なに型質問生成モデル８２、なぜ型質問生成モデル９２及び対話装置４１０を実質的に複数個組み合わせて使用する必要がある。
【００８８】
以上のように本発明によれば、ユーザの発話に対する応答を生成するにあたり、ユーザの発話の係り受け関係を有効に利用している。さらに、システムで使用する統計的モデル生成にあたり、実際にウェブ及びＳＮＳ上に出現している対話情報を基礎にしているので、対話の流れが不自然になることが防止できる。また、発話に含まれる多くの情報の中から、質問・応答システムへの質問を生成する際に不要な情報を削除している。したがって、ユーザ発話に対して自然な対話を導く適切なシステム発話を生成できる。また、質問・応答システムへの質問をユーザの発話に基づいて生成し、その質問に対する応答を用いて発話を生成しているので、生成された質問によってユーザの発話とシステム発話の関係を捉え、システム発話及び対話の流れを制御できる。
【００８９】
［コンピュータによる実現］
本発明の各実施の形態に係る対話システム、対話装置及び質問生成モデル構築部は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図１２はこのコンピュータシステム５３０の外観を示し、図１３はコンピュータシステム５３０の内部構成を示す。
【００９０】
図１２を参照して、このコンピュータシステム５３０は、メモリポート５５２及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ５５０を有するコンピュータ５４０と、キーボード５４６と、マウス５４８と、モニタ５４２とを含む。
【００９１】
図１３を参照して、コンピュータ５４０は、メモリポート５５２及びＤＶＤドライブ５５０に加えて、ＣＰＵ（中央処理装置）５５６と、ＣＰＵ５５６、メモリポート５５２及びＤＶＤドライブ５５０に接続されたバス５６６と、ブートプログラム等を記憶する読出専用メモリ（ＲＯＭ）５５８と、バス５６６に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）５６０と、ハードディスク５５４を含む。コンピュータシステム５３０はさらに、バス５６６に接続され、音声信号をデジタル化してコンピュータにおいて処理可能な形式に変換するためのサウンドボード５６８と、他端末との通信を可能とするネットワーク５７２への接続を提供するネットワークインターフェイスカード（ＮＩＣ）５７４を含む。サウンドボード５６８にはマイクロフォン５７０が接続される。
【００９２】
コンピュータシステム５３０を上記した各実施の形態に係る対話システムの各機能部として機能させるためのコンピュータプログラムは、ＤＶＤドライブ５５０又はメモリポート５５２に装着されるＤＶＤ５６２又はリムーバブルメモリ５６４に記憶され、さらにハードディスク５５４に転送される。又は、プログラムはネットワーク５６８を通じてコンピュータ５４０に送信されハードディスク５５４に記憶されてもよい。プログラムは実行の際にＲＡＭ５６０にロードされる。ＤＶＤ５６２から、リムーバブルメモリ５６４から又はネットワーク５６８を介して、直接にＲＡＭ５６０にプログラムをロードしてもよい。
【００９３】
このプログラムは、コンピュータ５４０を、上記各実施の形態に係る各対話システムの各機能部として機能させるための複数個の命令からなる命令列を含む。コンピュータ５４０にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ５４０上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ５４０にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
【００９４】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００９５】
３０、４００  対話システム
５０  質問生成モデル構築部
７０  インターネット
７２  入力文・応答文ペア収集部
７４  入力文・応答文ペア記憶部
７６  なに型質問・対話学習コーパス構築部
７８  なに型質問・対話学習コーパス
８０  なに型質問生成モデルトレーニング部
８２  なに型質問生成モデル
８６  なぜ型質問・対話学習コーパス構築部
８８  なぜ型質問・対話学習コーパス
９０  なぜ型質問生成モデルトレーニング部
９２  なぜ型質問生成モデル
１００  入力文
１０２、４１０  対話装置
１０４、４１２  質問・応答システム
１０６、４１４  出力文
１２０、３００  質問生成部
１２２、１９４  回答取得部
１２４、３５０、３８０、４３６  発話生成部
１３０  候補文ペア収集部
１３２  長さ検査部
１３４、２３０  形態素解析部
１３６、２３２  構文解析部
１４０  含意関係辞書
１４２  バイナリパターン辞書
１４６  質問生成規則記憶部
１５０  パターン照合部
１５２  クリーニング部
１５４、１９２  質問文生成部
１５６、２００  レコード作成部
１５８、２０２  コーパス追加部
１７０  述語抽出部
１７２  述語マッチング部
１７４、１９８  ペア選択部
１９０  部分表現抽出部
１９６  質問・回答システム
２３４  なに型質問用素性抽出部
２３６、３１４  なに型質問生成部
２４０  なぜ型質問用素性抽出部
２４２、３２４  なぜ型質問生成部
２４４  質問記憶部
２６０、３６０、３９２  発話候補生成部
２６２  発話生成規則記憶部
２６４  発話候補記憶部
２６６  ランキング部
２６８  発話選択部
２７０  発話整形部
２６８  発話選択部
３１０  主題推定用モデル
３１２  主題推定部
３１６  なに型質問生成用モデル
３２０  部分表現推定用モデル
３２２  部分表現特定部
３２６  なぜ型質問生成用モデル
３６２、３９４  発話生成モデル
３９０  単語置換部
３９６  変数置換部
４３０  パラメータ生成部
４３２  パラメータ送信部
４３４  応答受信部
４５０  コアシステム
【図１】
2018028752.tif 000005
【図２】
2018028752.tif 000006
【図３】
2018028752.tif 000007
【図４】
2018028752.tif 000008
【図５】
2018028752.tif 000009
【図６】
2018028752.tif 000010
【図７】
2018028752.tif 000011
【図８】
2018028752.tif 000012
【図９】
2018028752.tif 000013
【図１０】
2018028752.tif 000014
【図１１】
2018028752.tif 000015
【図１２】
2018028752.tif 000016
【図１３】
2018028752.tif 000017