(57)【要約】【課題】否定の意図を考慮した適切な応答文を生成して、自然な対話を行うことができるようにする。【解決手段】否定表現判定部２２によって否定表現が含まれていないと判定された場合には、結果利用応答生成部２６によって、解析結果に基づいて応答文を生成する。否定表現が含まれていると判定された場合であって、かつ、直前の応答種類が「並列する目的語を尋ねる応答」である場合、話題転換応答生成部３０によって、話題を変えるための応答文を生成する。否定表現が含まれていると判定された場合であって、かつ、直前の応答種類が「並列する目的語を尋ねる応答」以外である場合、相槌生成部３２によって、相槌の応答文を生成する。【選択図】図１
2010262147.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの入力文の構造を解析した解析結果に基づいて、前記入力文に予め定められた否定表現が含まれているか否かを判定する否定表現判定手段と、
前記否定表現が含まれていないと判定された場合には、前記解析結果に基づいて、並列する目的語を尋ねる応答を含む応答の種類を少なくとも１種類選択し、選択された応答の種類について、該応答の種類に対して予め用意された応答文、又は予め用意された応答文フォーマットに前記入力文に含まれる単語を付加した応答文を生成する第１応答生成手段と、
前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答である場合、予め用意された、話題を変えるための応答文を生成する第２応答生成手段と、
前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答でない場合、予め用意された相槌の応答文を生成する第３応答生成手段と、
を含む応答生成装置。
【請求項２】
前記第１応答生成手段は、前記解析結果に基づいて、前記入力文に、並列する目的語を尋ねる応答に対して予め定められた事態を表わす節が含まれる場合に、並列する目的語を尋ねる応答を選択し、前記入力文に含まれる事態を表わす節に対する並列する目的語を尋ねるための予め用意された応答文、又は予め用意された応答文フォーマットに前記入力文に含まれる事態を表わす節を付加した応答文を生成する請求項１記載の応答生成装置。
【請求項３】
前記否定表現判定手段は、前記解析結果に基づいて、前記入力文に、前記否定表現として予め定められた表現、又は品詞の種類と表現との組合せが含まれるか否かによって、前記入力文に前記否定表現が含まれているか否かを判定する請求項１又は２記載の応答生成装置。
【請求項４】
前記入力文を、ユーザによる発話を音声認識して取得した請求項１〜請求項３の何れか１項記載の応答生成装置。
【請求項５】
コンピュータを、
ユーザからの入力文の構造を解析した解析結果に基づいて、前記入力文に予め定められた否定表現が含まれているか否かを判定する否定表現判定手段、
前記否定表現が含まれていないと判定された場合には、前記解析結果に基づいて、並列する目的語を尋ねる応答を含む応答の種類を少なくとも１種類選択し、選択された応答の種類について、該応答の種類に対して予め用意された応答文、又は予め用意された応答文フォーマットに前記入力文に含まれる単語を付加した応答文を生成する第１応答生成手段、
前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答である場合、予め用意された、話題を変えるための応答文を生成する第２応答生成手段、及び
前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答でない場合、予め用意された相槌の応答文を生成する第３応答生成手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、応答生成装置及びプログラムに係り、特に、ユーザと円滑な対話を行うための応答生成装置及びプログラムに関する。
【背景技術】
【０００２】
従来、システム側から、ユーザに対して、肯定又は否定を意味する内容の返事を要求するような場合に、肯定否定識別モードに切り替えてその結果に基づき応答を生成し、その他の場合には、ユーザの認識結果に基づいて応答を生成する音声認識対話装置が知られている（特許文献１）。この音声認識対話装置では、例えば、システムが「お花見に行こうよ」や「明日はお休みなの？」といったように、ユーザに対して明確に「Ｙｅｓ・Ｎｏ」を要求するような発話を行った場合のみ、肯定否定識別モードに切り替え、次のユーザ発話が「Ｙｅｓ」か「Ｎｏ」かを判別し、それに応じたシステム応答を生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−６３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載の技術では、ユーザに対して明確に「Ｙｅｓ・Ｎｏ」を要求するような発話をシステムが生成した場合にしか、肯定否定検出モードに切り替わらない。「他にどこかに行ったんですか？」や「どのくらい楽しかったんですか？」などの５Ｗ１Ｈ質問応答や、「楽しかったんだね」などの感情推定結果を用いた共感応答、といったような、ユーザに対して明確に「Ｙｅｓ・Ｎｏ」を要求している場合ではなくても、場合によっては「いや、どこにも行ってないよ」や「違うよ。悲しかったんだよ」といったように、否定表現を含んだ応答がユーザから返ってくる可能性がある。このようなユーザからの発話に対して、否定の意図を捉えて適切な応答生成を行うことができない、という問題がある。
【０００５】
本発明は、上記の問題を解決するためになされたものであり、否定の意図を考慮した適切な応答文を生成して、自然な対話を行うことができる応答生成装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係る応答生成装置は、ユーザからの入力文の構造を解析した解析結果に基づいて、前記入力文に予め定められた否定表現が含まれているか否かを判定する否定表現判定手段と、前記否定表現が含まれていないと判定された場合には、前記解析結果に基づいて、並列する目的語を尋ねる応答を含む応答の種類を少なくとも１種類選択し、選択された応答の種類について、該応答の種類に対して予め用意された応答文、又は予め用意された応答文フォーマットに前記入力文に含まれる単語を付加した応答文を生成する第１応答生成手段と、前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答である場合、予め用意された、話題を変えるための応答文を生成する第２応答生成手段と、前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答でない場合、予め用意された相槌の応答文を生成する第３応答生成手段とを含んで構成されている。
【０００７】
本発明に係るプログラムは、コンピュータを、ユーザからの入力文の構造を解析した解析結果に基づいて、前記入力文に予め定められた否定表現が含まれているか否かを判定する否定表現判定手段、前記否定表現が含まれていないと判定された場合には、前記解析結果に基づいて、並列する目的語を尋ねる応答を含む応答の種類を少なくとも１種類選択し、選択された応答の種類について、該応答の種類に対して予め用意された応答文、又は予め用意された応答文フォーマットに前記入力文に含まれる単語を付加した応答文を生成する第１応答生成手段、前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答である場合、予め用意された、話題を変えるための応答文を生成する第２応答生成手段、及び前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答でない場合、予め用意された相槌の応答文を生成する第３応答生成手段として機能させるためのプログラムである。
【０００８】
本発明によれば、否定表現判定手段によって、ユーザからの入力文の構造を解析した解析結果に基づいて、入力文に予め定められた否定表現が含まれているか否かを判定する。否定表現が含まれていないと判定された場合には、第１応答生成手段によって、解析結果に基づいて、並列する目的語を尋ねる応答を含む応答の種類を少なくとも１種類選択し、選択された応答の種類について、該応答の種類に対して予め用意された応答文、又は予め用意された応答文フォーマットに入力文に含まれる単語を付加した応答文を生成する。
【０００９】
また、否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答である場合、第２応答生成手段によって、予め用意された、話題を変えるための応答文を生成する。否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答でない場合、第３応答生成手段によって、予め用意された相槌の応答文を生成する。
【００１０】
このように、否定表現が含まれている場合に、前回の応答の種類が並列する目的語を尋ねる応答であると、話題を変えるための応答文を生成し、前回の応答の種類が並列する目的語を尋ねる応答でないと、相槌の応答文を生成することにより、否定の意図を考慮した適切な応答文を生成して、自然な対話を行うことができる。
【００１１】
本発明の第１応答生成手段は、解析結果に基づいて、入力文に、並列する目的語を尋ねる応答に対して予め定められた事態を表わす節が含まれる場合に、並列する目的語を尋ねる応答を選択し、入力文に含まれる事態を表わす節に対する並列する目的語を尋ねるための予め用意された応答文、又は予め用意された応答文フォーマットに入力文に含まれる事態を表わす節を付加した応答文を生成することができる。
【００１２】
本発明に係る否定表現判定手段は、解析結果に基づいて、入力文に、否定表現として予め定められた表現、又は品詞の種類と表現との組合せが含まれるか否かによって、入力文に否定表現が含まれているか否かを判定することができる。
【００１３】
上記の入力文を、ユーザによる発話を音声認識して取得することができる。
【発明の効果】
【００１４】
以上説明したように、本発明の応答生成装置及びプログラムによれば、否定表現が含まれている場合に、前回の応答の種類が並列する目的語を尋ねる応答であると、話題を変えるための応答文を生成し、前回の応答の種類が並列する目的語を尋ねる応答でないと、相槌の応答文を生成することにより、否定の意図を考慮した適切な応答文を生成して、自然な対話を行うことができる、という効果が得られる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態に係る応答生成装置の概略構成を示すブロック図である。
【図２】否定表現辞書の一例を示すイメージ図である。
【図３】事態性名詞辞書の一例を示すイメージ図である。
【図４】並列目的語質問の応答文例及び応答文例フォーマットの一例を示すイメージ図である。
【図５】話題転換応答の応答文例の一例を示すイメージ図である。
【図６】相槌応答の応答文例の一例を示すイメージ図である。
【図７】本実施の形態に係る応答生成装置における応答生成処理ルーチンの内容を示すフローチャートである。
【図８】形態素解析の結果の一例を示すイメージ図である。
【図９】形態素解析の結果の他の一例を示すイメージ図である。
【図１０】形態素解析の結果の他の一例を示すイメージ図である。
【図１１】形態素解析の結果の他の一例を示すイメージ図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、ユーザからの発話を入力として、所定の処理を実行して音声出力する応答生成装置に本発明を適用した場合について説明する。
【００１７】
図１に示すように、本実施の形態に係る応答生成装置１０は、ユーザ発話を集音して音声信号を生成するマイク１２と、音声出力を行うスピーカ１４と、マイク１２及びスピーカ１４に接続され、かつ、適切な応答文を生成する所定の処理を実行するコンピュータ１６とを備えている。
【００１８】
コンピュータ１６は、応答生成装置１０全体の制御を司るＣＰＵ、後述する応答生成プログラム等各種プログラムを記憶した記憶媒体としてのＲＯＭ、ワークエリアとしてデータを一時格納するＲＡＭ、各種情報が記憶された記憶手段としてのＨＤＤ、Ｉ／Ｏ（入出力）ポート、及びこれらを接続するバスを含んで構成されている。Ｉ／Ｏポートには、マイク１２及びスピーカ１４が接続されている。
【００１９】
このコンピュータ１６を、ハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、図１に示すように、マイク１２から入力された音声信号を音声認識して、一般的な形態素解析器を用いて音声認識されたユーザ発話を示す文字列情報に対して形態素解析を行う言語解析部２０と、言語解析部２０による解析結果に基づいて、ユーザ発話に否定表現が含まれているか否かを判定する否定表現判定部２２と、前回生成した応答文の応答種類を記憶する応答種類記憶部２４と、ユーザ発話に否定表現が含まれていない場合に、言語解析部２０による解析結果を利用して、応答文を生成すると共に、生成した応答文の応答種類を応答種類記憶部２４に記憶させる結果利用応答生成部２６と、ユーザ発話に否定表現が含まれている場合に、直前に生成した応答文の応答種類が、「並列する目的語を尋ねる応答」であるか否かを判定する直前応答判定部２８と、直前に生成した応答文の応答種類が、「並列する目的語を尋ねる応答」である場合に、話題を変えるための応答文を生成すると共に、生成した応答文の応答種類「話題転換応答」を応答種類記憶部２４に記憶させる話題転換応答生成部３０と、直前に生成した応答文の応答種類が、「並列する目的語を尋ねる応答」でない場合に、相槌の応答文を生成すると共に、生成した応答文の応答種類「相槌応答」を応答種類記憶部２４に記憶させる相槌生成部３２と、生成された応答文を音声信号に変換してスピーカ１４から出力させる出力部３４とを含んだ構成で表すことができる。
【００２０】
否定表現判定部２２は、ユーザ発話に対する言語解析部２０での解析結果に、予め定められた否定表現が含まれているか否かを判定する。図２に示すような、否定表現としての表現及び品詞の種類と表現との組み合わせを複数格納した否定表現辞書を予め作成しておき、判定の際に、この否定表現辞書を参照して判定する。例えば、解析結果に（ｉ）「品詞“動詞”＋“ない”」が含まれている場合、（ｉｉ）「品詞“動詞”＋“ません”」、（ｉｉｉ）「じゃなくて」、及び（ｉｖ）「ではなくて」などが含まれている場合に、否定表現が含まれていると判定する。
【００２１】
結果利用応答生成部２６は、以下のように、ユーザ発話に対する言語解析部２０での解析結果に基づいて、応答種類を選択し、選択された応答種類の各々について応答文候補を生成する。
【００２２】
まず、ユーザ発話に対する言語解析部２０での解析結果に、事態を表す単語が含まれているか否かを判別する。事態とは、人の行動や人が経験する事象及び出来事である。ここでは、解析結果に（ｉ）「動詞」が含まれている場合、及び（ｉｉ）「事態性名詞＋（”だ”または”です”）」が含まれている場合に、「事態」が含まれていると判別する。「事態性名詞」とは、例えば「雨」や「運動会」といった出来事を示す名詞である。事態性名詞は、図３に示すような事態性名詞辞書を予め作成しておき、判別の際に、この事態性名詞辞書を参照して判別する。
【００２３】
次に、事態が含まれていると判別されたユーザ発話の解析結果から、事態を表す節を抽出する。上記（ｉ）の場合であれば該当する「動詞」を含む節が抽出され、上記（ｉｉ）であれば該当する「事態性名詞」を含む節が抽出される。
【００２４】
抽出された節が、後述する並列目的語質問可能判断ＤＢに登録されているか否かを判断し、登録されている場合には、応答種類「並列する目的語を尋ねる応答」を選択する。
【００２５】
応答種類「並列する目的語を尋ねる応答」が選択された場合には、ユーザに並列する目的語を尋ねるための質問文を応答文候補として生成する。応答文候補は、例えば、図４に示すような応答文例及び応答文例フォーマットを予め用意しておき、この応答文例からランダムに選択したり、応答文例フォーマットを用いて生成したりする。応答文例フォーマットは、例えば、「他に何を〜？」のようなフォーマットとすることができ、「〜」の部分に、ユーザ発話の解析結果から抽出された事態を表す節の「動詞」である単語を挿入して応答文候補を生成することができる。生成された応答文候補は、一旦所定の記憶領域に記憶される。
【００２６】
また、事態が含まれていると判別されたユーザ発話の解析結果から抽出された事態を表す節が、後述する頻度質問不可能判断ＤＢに登録されているか否かを判断する。登録されていない場合には、応答種類「事態の頻度を尋ねる応答」を選択する。応答種類「事態の頻度を尋ねる応答」が選択された場合には、ユーザに頻度を尋ねる質問文を応答文候補として生成する。応答文候補は、例えば、応答文例及び応答文例フォーマットを予め用意しておき、この応答文例からランダムに選択したり、応答文例フォーマットを用いて生成したりする。応答文例フォーマットは、例えば、「よく〜するんですか？」のようなフォーマットとすることができ、「〜」の部分に、ユーザ発話の解析結果から抽出された事態を表す節を挿入して応答文候補を生成することができる。生成された応答文候補は、一旦所定の記憶領域に記憶される。なお、頻度質問不可能判断ＤＢには、頻度を尋ねることが不適切な事態を表わす節が予め登録されている。
【００２７】
また、事態が含まれていると判別されたユーザ発話の解析結果から事態を表す単語を抽出する。解析結果に（ｉ）「動詞」が含まれている場合には、「動詞」である単語が抽出され、（ｉｉ）「事態性名詞＋（”だ”または”です”）」が含まれている場合、「事態性名詞」である単語が抽出される。
【００２８】
そして、抽出された単語が後述する感情質問可能判断ＤＢ２８に登録されているか否かを判断し、登録されている場合には、応答種類「事態に対するユーザの感情を尋ねる応答」を選択する。応答種類「事態に対するユーザの感情を尋ねる応答」が選択された場合には、ユーザに感情を尋ねる質問文を応答文候補として生成する。応答文候補は、基本となる質問文、例えば、「どう思う？」や「どんな感じ？」といった文を予め作成しておき、ユーザ発話の解析結果に基づいて、この基本となる質問文から選択した１つの文の時制や表現（丁寧な表現か砕けた表現かなど）を修正して、応答文候補を生成する。また、質問文例を予め作成しておき、この中からランダムに選択するようにしてもよい。生成された応答文候補は、一旦所定の記憶領域に記憶される。なお、感情質問可能判断ＤＢには、単語が感情を尋ねることが適切な単語が予め登録されている。
【００２９】
また、ユーザ発話に対する言語解析部２０での解析結果から、ユーザ発話中の「動詞」及び「格助詞」を抽出する。例えば、ユーザ発話「友達と電話で話したよ」を考えると、動詞「話す」及び格助詞「と」、「で」が抽出される。次に、予め作成しておいた動詞必須格辞書データベースを用いて、抽出された動詞の必須格を検索する。動詞必須格辞書データベースは、「当該動詞が少なくとも持つべき格」が登録された辞書であり、上記の例では、動詞「話す」の必須格として、「が（誰）」、「を（何）」、「と（誰）」が登録されている。次に、検索された当該動詞の必須格と、ユーザ発話中から抽出された格助詞とを照合することで、抽出された動詞の不足格を検出し、当該動詞の不足格が検出された場合には、応答種類「不足格を尋ねる応答」を選択する。応答種類「不足格を尋ねる応答」が選択された場合には、不足格を尋ねる質問文を応答文候補として生成する。応答文候補は、例えば、応答文例フォーマットを予め用意しておき、応答文例フォーマットを用いて生成したりする。応答文例フォーマットは、例えば、不足格「を（何）」に対応して「何を〜の？」のようなフォーマットとすることができ、「〜」の部分に、ユーザ発話の解析結果から抽出された動詞を表す節を挿入して応答文候補を生成することができる。例えば、上記の例（「友達と電話で話したよ」）では、「を（何）」が不足しているため、不足格を尋ねる質問文「何を話したの？」を応答候補として生成する。生成された応答文候補は、一旦所定の記憶領域に記憶される。
【００３０】
また、言語解析部２０での解析結果に関わらず、応答種類「繰り返し応答」が選択され、ユーザ発話に含まれる単語を繰り返して確認するための質問文が応答文候補として生成される。応答文候補は、例えば、応答文例フォーマットを予め用意しておき、応答文例フォーマットを用いて生成する。応答文例フォーマットは、例えば、「〜の？」のようなフォーマットとすることができ、「〜」の部分に、ユーザ発話に対する言語解析部２０での解析結果に含まれる単語を挿入して応答文を生成することができる。
【００３１】
上記の並列目的語質問可能判断ＤＢは、以下のように生成すればよい。
【００３２】
例えば、ウェブ上のテキストなどの大規模コーパスから１文を抽出し、抽出された１文に対して形態素解析を行う。解析結果に事態が含まれているか否かを判断し、事態が含まれている場合には、名詞の並列を目的語とする動詞が含まれているか否かを、所定の言語パターンに該当するか否かに基づいて判断する。含まれる場合には、名詞の並列を目的語とする動詞が含まれている１文を、複数の並列した名詞の各々を目的語とする節に分割して、それぞれの節を、事態を表す節として抽出する。
【００３３】
抽出された事態を表す節を、事態を表す節、及びその節の出現頻度を計数したカウント値を定めた事態ＤＢに登録する。既に登録されている節と同一の節の場合は、カウント値を＋１する。
【００３４】
コーパス上の全ての文について上記の処理が行われたか否かを判断し、未処理の文がある場合には、次の一文について処理を行う。
【００３５】
事態ＤＢを参照して、出現頻度が閾値以上の事態を表す節を並列目的語質問可能判断ＤＢに登録する。事態ＤＢでのカウント値（出現頻度）が高いということは、元々名詞の並列を目的語とした文として現れることが多く、省略された目的語が他にもあることが想定されるため、並列する目的語を尋ねる質問は適切である。カウント値が閾値以上の節を全て並列目的語質問可能判断ＤＢに登録したら、本処理を終了する。
【００３６】
上記の処理により、並列する目的語を尋ねる応答に対して予め定められた事態を表わす節が登録された並列目的語質問可能判断ＤＢが生成される。
【００３７】
結果利用応答生成部２６は、上記のように応答文候補を生成し、生成した応答文候補から、ランダムに１つ選択して、応答文とする。また、結果利用応答生成部２６は、選択された応答文候補の応答種類「並列する目的語を尋ねる応答」、「事態の頻度を尋ねる応答」、「事態に対するユーザの感情を尋ねる応答」、「繰り返し応答」、又は「不足格を尋ねる応答」を、応答種類記憶部２４に記憶させる。
【００３８】
直前応答判定部２８は、応答種類記憶部２４に記憶された応答種類に基づいて、直前に生成された応答文の応答種類が、「並列する目的語を尋ねる応答」であるか否かを判定する。
【００３９】
話題転換応答生成部３０は、話題を変えるための応答文を生成する。応答文は、例えば、図５に示すような応答文例を予め用意しておき、この応答文例からランダムに選択する。また、話題転換応答生成部３０は、話題を変えるための応答文を生成すると共に、応答種類「話題転換応答」を応答種類記憶部２４に記憶させる。
【００４０】
相槌生成部３２は、相槌の応答文を生成する。応答文は、例えば、図６に示すような応答文例を予め用意しておき、この応答文例からランダムに選択する。また、相槌生成部３２は、相槌の応答文を生成すると共に、応答種類「相槌応答」を応答種類記憶部２４に記憶させる。
【００４１】
次に、図７を参照して、本実施の形態の応答生成装置１０における応答生成処理ルーチンについて説明する。本ルーチンは、ＲＯＭに記憶された応答生成プログラムをＣＰＵが実行することにより行われる。
【００４２】
ステップ１００で、マイク１２からユーザ発話が入力されたか否かを判断し、ユーザ発話が入力された場合には、ステップ１０２へ進み、入力されない場合には、入力されるまで本ステップの判断を繰り返す。ここでは、ユーザ発話「遊園地に行ったよ」が入力されたものとする。
【００４３】
ステップ１０２で、入力されたユーザ発話を示す音声信号を音声認識して文字列情報とし、この文字列情報に対して形態素解析を行う。ここでは、解析結果として、図８に示すように、「遊泳（名詞）」「し（動詞）」「に（助詞）」「来（動詞）」「た（助動詞）」「よ（助詞）」が得られる。
【００４４】
次に、ステップ１０４で、形態素解析の解析結果に基づいて、ユーザ発話に否定表現が含まれているか否かを判別する。否定表現が含まれている場合には、ステップ１１２へ進み、含まれていない場合には、ステップ１０６へ進む。ここでは、否定表現が含まれていないため、否定表現が含まれていないと判断されてステップ１０６へ進む。
【００４５】
ステップ１０６で、形態素解析の解析結果に基づいて、応答種類を選択する。まず、形態素解析の解析結果に基づいて、ユーザ発話に、並列目的語質問可能判断ＤＢに登録されている事態を表わす節が含まれているかを判断することにより、応答種類を選択する。含まれている場合には、「並列する目的語を尋ねる応答」を選択する。また、ユーザ発話に、頻度質問不可能判断ＤＢに登録されている事態を表わす節が含まれているかを判断することにより、応答種類を選択する。含まれていない場合には、「事態の頻度を尋ねる応答」を選択する。また、ユーザ発話に、感情質問可能判断ＤＢに登録されている事態を表わす単語が含まれているかを判断することにより、応答種類を選択する。含まれている場合には、「事態に対するユーザの感情を尋ねる応答」を選択する。また、形態素解析の解析結果に関わらず、「繰り返し応答」も選択される。
【００４６】
そして、ステップ１０７において、上記ステップ１０６で選択された応答種類の各々について、応答文候補を各々生成する。例えば、解析結果に含まれる「来（動詞）」を、応答文フォーマットに挿入して、「繰り返し応答」の応答文候補として「来たんですか」を生成する。
【００４７】
次のステップ１０８では、上記ステップ１０７で生成された応答文候補からランダムに１つ選択して応答文とすると共に、応答種類記憶部２４に記憶される応答種類を、上記ステップ１０８で選択した応答文候補の応答種類に更新して、ステップ１１０へ移行する。ここでは、「繰り返し応答」の応答文候補が選択され、「来たんですか」を、生成された応答文とする。
【００４８】
ステップ１１０では、生成された応答文を音声信号に変換して出力する。ここでは、「来たんですか」を音声出力して、上記ステップ１００へ戻る。
【００４９】
次に、システム応答「来たんですか」に対するユーザ発話「来たんじゃなくて行ったの」が入力されたものとする。このとき、上記ステップ１０２では、解析結果として、図９に示すように、「来（動詞）」「た（助動詞）」「ん（名詞）」「じゃ（助詞）」「なく（助動詞）」「て（動詞）」「行っ（動詞）」「た（助動詞）」「の（名詞）」が得られる。
【００５０】
上記ステップ１０４では、形態素解析の解析結果に基づいて、ユーザ発話に否定表現「〜じゃなくて〜」が含まれていると判定され、ステップ１１２において、直前に生成した応答文の応答種類が、「並列する目的語を尋ねる応答」であるか否かを判定する。「並列する目的語を尋ねる応答」である場合には、ステップ１１４へ移行するが、「並列する目的語を尋ねる応答」以外である場合には、ステップ１１６へ移行する。ここでは、応答種類記憶部２４には、「繰り返し応答」が記憶されているため、「並列する目的語を尋ねる応答」ではないと判定し、ステップ１１４へ移行する。
【００５１】
ステップ１１４では、相槌応答に対して予め用意された定型文から選択して、相槌の応答文（例えば、「あぁ、そうなんですか」）を生成すると共に、応答種類記憶部２４に記憶される応答種類を「相槌応答」に更新して、ステップ１１０へ移行する。
【００５２】
また、ユーザ発話「遊園地に行ったよ」が入力されたものとする。このとき、上記ステップ１０２では、解析結果として、図１０に示すように、「遊泳（名詞）」「し（動詞）」「に（助詞）」「行っ（動詞）」「た（助動詞）」「よ（助詞）」が得られる。
【００５３】
この場合、上記ステップ１０４では、ユーザ発話に否定表現が含まれていないと判定され、ステップ１０６において、ユーザ発話に、並列目的語質問可能判断ＤＢに登録されている事態を表わす節（「行っ（動詞）」を含む節）が含まれていると判断されたとする。応答種類として「並列する目的語を尋ねる応答」を含む応答種類が選択され、ステップ１０８で、「並列する目的語を尋ねる応答」の応答文候補として生成された「他にどこか行ったんですか」が選択され、応答種類記憶部２４に記憶される応答種類が「並列する目的語を尋ねる応答」に更新される。
【００５４】
そして、システム応答「他にどこか行ったんですか」に対するユーザ発話「どこにも行ってないよ」が入力されたものとする。このとき、上記ステップ１０２では、解析結果として、図１１に示すように、「どこ（名詞）」「に（助詞）」「行っ（動詞）」「て（助動詞）」「ない（助動詞）」「よ（助詞）」が得られる。
【００５５】
上記ステップ１０４では、形態素解析の解析結果に基づいて、ユーザ発話に否定表現「品詞“動詞”＋“ない”」が含まれていると判定され、ステップ１１２において、直前に生成した応答文の応答種類が、「並列する目的語を尋ねる応答」であると判定される。そして、ステップ１１６において、話題転換応答に対して予め用意された定型文から選択して、話題を変えるための応答文（例えば、「それでは話題を変えましょう」）を生成すると共に、応答種類記憶部２４に記憶される応答種類を「話題転換応答」に更新して、ステップ１１０へ移行する。
【００５６】
上記の応答生成処理ルーチンを実行することにより、例えば、「遊園地に行ったよ」というユーザ発話に対して、認識結果が「遊泳しに来たよ」であった場合、繰り返し応答の応答文「来たんですか」が生成される。この時、ユーザが「いや違う。行ったの」という訂正発話を行ったときには、この訂正発話に対して、例えば「あぁ、そうなんですね」といった相槌を生成するため、誤認識のループに陥ることはなく、スムーズに対話を続けることができる。例えば「行った」の部分を「切った」と誤認識して、再び誤認識結果を用いた応答生成を行ってしまう、というような誤認識のループを回避することが可能となる。
【００５７】
また、例えば、「他にどこかに行ったんですか？」のような並列する目的語を尋ねる応答に対して、ユーザが「いや。別にどこにも行ってないよ」という発話を行った場合には、「それでは話題を変えましょう」などのような話題を変える応答文が生成されるため、対話のスムーズな継続が可能となる。
【００５８】
以上説明したように、本実施の形態の応答生成装置によれば、ユーザ発話に否定表現が含まれている場合に、直前の応答種類が「並列する目的語を尋ねる応答」であると、話題を変えるための応答文を生成し、直前の応答種類が「並列する目的語を尋ねる応答」以外であると、相槌の応答文を生成することにより、否定の意図を考慮した適切な応答文を生成して、自然な対話を行うことができる。
【００５９】
ユーザに対して「肯定・否定」の発話を明確に要求する応答（＝Ｙｅｓ・Ｎｏ質問応答や勧誘応答）を生成した場合のみではなく、５Ｗ１Ｈ質問応答や繰り返し応答といった場合であっても、ユーザ発話に否定表現が含まれるか否かを判定し、その結果に基づいて応答生成を行うため、よりスムーズな対話が可能となる。
【００６０】
なお、上記の実施の形態では、スピーカによる音声出力を行う場合を例に説明したが、これに限定されるものではなく、ディスプレイに応答文を表示するようにしてもよい。また、ユーザから音声がマイクに入力される場合を例に説明したが、ユーザがキーボードなどを用いて入力文としてのテキストを入力するようにしてもよい。
【００６１】
また、形態素解析の解析結果を利用して応答文を生成する場合、形態素解析の解析結果に基づいて、少なくとも１種類以上の応答種類を選択し、選択された各応答種類について生成された応答文候補から、応答文をランダムに選択する場合を例に説明したが、これに限定されるものではない。例えば、形態素解析の解析結果に基づいて、応答種類を１種類だけ選択して、選択された応答種類について応答文を生成すると共に、選択された応答種類を、応答種類記憶部２４に記憶するようにしてもよい。
【００６２】
本発明のプログラムを、記憶媒体に格納して提供することも可能である。
【符号の説明】
【００６３】
１０   応答生成装置
１２   マイク
１４   スピーカ
１６   コンピュータ
２０   言語解析部
２２   否定表現判定部
２４   応答種類記憶部
２６   結果利用応答生成部
２８   直前応答判定部
３０   話題転換応答生成部
３２   相槌生成部
３４   出力部
【図１】
2010262147.tif 000003
【図２】
2010262147.tif 000004
【図３】
2010262147.tif 000005
【図４】
2010262147.tif 000006
【図５】
2010262147.tif 000007
【図６】
2010262147.tif 000008
【図７】
2010262147.tif 000009
【図８】
2010262147.tif 000010
【図９】
2010262147.tif 000011
【図１０】
2010262147.tif 000012
【図１１】
2010262147.tif 000013