(57)【要約】【課題】ユーザからの入力内容に対応した適切な応答文を生成して、自然な対話を行う。【解決手段】マイク１２から入力された第１のユーザ発話を音声認識し、音声認識された第１のユーザ発話に対して形態素解析を行った解析結果に基づいて、事態判別部２２で、第１のユーザ発話に事態が含まれているか否かを判別し、事態が含まれている場合に、感情極性推定部２４で、第１のユーザ発話が表す感情極性を推定し、質問生成部２６で、ユーザに感情を尋ねる質問文を生成して出力する。感情極性抽出部２８が、質問文に対する第２のユーザ発話の解析結果から感情極性を抽出し、極性一致判別部３０が、推定された感情極性と抽出された感情極性とが一致するか否かを判別する。応答生成部３２は、感情極性が一致する場合は、「同意」を示す応答文を生成し、一致しない場合は、「驚き」を示す応答文を生成、または相槌や促しの定型応答文から応答文を選択する。【選択図】図１
2010157081.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの入力文を入力する入力手段と、
質問文を出力する前に、前記入力手段によって入力された入力文を第１の入力文として、該第１の入力文の構造を解析した解析結果に基づいて、前記第１の入力文に事態を表す単語または単語と単語との組み合わせが含まれているか否かを判別する事態判別手段と、
前記事態判別手段で前記第１の入力文に事態が含まれていると判別された場合に、前記ユーザに感情を尋ねるための予め用意された質問文を出力するように制御する第１の制御手段と、
前記事態判別手段で前記第１の入力文に事態が含まれていると判別された場合に、前記第１の入力文の解析結果に基づいて、前記第１の入力文が表す感情極性を推定する推定手段と、
前記第１の制御手段により制御されて出力された質問文に対して、前記ユーザから前記入力手段によって入力された入力文を第２の入力文として、該第２の入力文の構造を解析した解析結果から、前記第２の入力文の感情極性を抽出する抽出手段と、
前記推定手段で推定された感情極性と、前記抽出手段で抽出された感情極性とが一致する場合には、予め用意された第１の応答文を生成して出力し、一致しない場合には、予め用意された第２の応答文を生成して出力するように制御する第２の制御手段と、
を含む応答生成装置。
【請求項２】
前記第１の応答文を、前記第２の入力文に対して同意を示す応答文とし、前記第２の応答文を、前記第２の入力文に対して驚きを示す応答文、前記ユーザに入力文の入力を促す応答文、または相槌の応答文とした請求項１記載の応答生成装置。
【請求項３】
前記事態判別手段で前記第１の入力文に事態が含まれていないと判別された場合に、ユーザに入力文の入力を促す応答文、または相槌の応答文を出力するように制御する第３の制御手段を含む請求項１または請求項２記載の応答生成装置。
【請求項４】
コンピュータを、
質問文を出力する前に、ユーザからの入力文を入力する入力手段によって入力された入力文を第１の入力文として、該第１の入力文の構造を解析した解析結果に基づいて、前記第１の入力文に事態を表す単語または単語と単語との組み合わせが含まれているか否かを判別する事態判別手段と、
前記事態判別手段で前記第１の入力文に事態が含まれていると判別された場合に、前記ユーザに感情を尋ねるための予め用意された質問文を出力するように制御する第１の制御手段と、
前記事態判別手段で前記第１の入力文に事態が含まれていると判別された場合に、前記第１の入力文の解析結果に基づいて、前記第１の入力文が表す感情極性を推定する推定手段と、
前記第１の制御手段により制御されて出力された質問文に対して、前記ユーザから前記入力手段によって入力された入力文を第２の入力文として、該第２の入力文の構造を解析した解析結果から、前記第２の入力文の感情極性を抽出する抽出手段と、
前記推定手段で推定された感情極性と、前記抽出手段で抽出された感情極性とが一致する場合には、予め用意された第１の応答文を生成して出力し、一致しない場合には、予め用意された第２の応答文を生成して出力するように制御する第２の制御手段と、
して機能させるための応答生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、応答生成装置及びプログラムに係り、特に、ユーザと円滑な対話を行うための応答生成装置及びプログラムに関する。
【背景技術】
【０００２】
従来、入力されたユーザ発話から概念を抽出して、抽出した概念またはその関連語を用いた複数の応答文を生成し、予め定めた概念毎の「話題の豊富さ」及び「感情」に基づいて、生成された複数の応答文の中から優先度の高い応答文を決定して出力する応答生成装置が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００７−２１９１４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の特許文献１の応答生成装置では、ユーザ発話に含まれる概念またはその関連語を用いて応答文を生成するため、異なる意図をもって発話されたものであっても、発話内容が同じ場合には同じ応答文が生成されることになり、自然な対話を行うことができない場合がある、という問題がある。例えば、以下の対話例１及び対話例２について、特許文献１の応答生成装置では、ユーザ発話２の「楽しかったよ」に基づいて、対話例１及び対話例２のいずれの場合も、例えば「楽しかったんだぁ」のような応答文が生成されることになる。
【０００４】
（対話例１）
ユーザ発話１：遊園地に行ったよ。
システム応答：どうだった？
ユーザ発話２：楽しかったよ。
（対話例２）
ユーザ発話１：雨の中の運動会だったよ。
システム応答：どうだった？
ユーザ発話２：楽しかったよ。
【０００５】
本発明は、上記の問題を解決するためになされたものであり、ユーザからの入力内容に対応した適切な応答文を生成して、自然な対話を行うことができる応答生成装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係る応答生成装置は、ユーザからの入力文を入力する入力手段と、質問文を出力する前に、前記入力手段によって入力された入力文を第１の入力文として、該第１の入力文の構造を解析した解析結果に基づいて、前記第１の入力文に事態を表す単語または単語と単語との組み合わせが含まれているか否かを判別する事態判別手段と、前記事態判別手段で前記第１の入力文に事態が含まれていると判別された場合に、前記ユーザに感情を尋ねるための予め用意された質問文を出力するように制御する第１の制御手段と、前記事態判別手段で前記第１の入力文に事態が含まれていると判別された場合に、前記第１の入力文の解析結果に基づいて、前記第１の入力文が表す感情極性を推定する推定手段と、前記第１の制御手段により制御されて出力された質問文に対して、前記ユーザから前記入力手段によって入力された入力文を第２の入力文として、該第２の入力文の構造を解析した解析結果から、前記第２の入力文の感情極性を抽出する抽出手段と、前記推定手段で推定された感情極性と、前記抽出手段で抽出された感情極性とが一致する場合には、予め用意された第１の応答文を生成して出力し、一致しない場合には、予め用意された第２の応答文を生成して出力するように制御する第２の制御手段とを含んで構成されている。
【０００７】
また、本発明に係る応答生成プログラムは、コンピュータを、質問文を出力する前に、ユーザからの入力文を入力する入力手段によって入力された入力文を第１の入力文として、該第１の入力文の構造を解析した解析結果に基づいて、前記第１の入力文に事態を表す単語または単語と単語との組み合わせが含まれているか否かを判別する事態判別手段と、前記事態判別手段で前記第１の入力文に事態が含まれていると判別された場合に、前記ユーザに感情を尋ねるための予め用意された質問文を出力するように制御する第１の制御手段と、前記事態判別手段で前記第１の入力文に事態が含まれていると判別された場合に、前記第１の入力文の解析結果に基づいて、前記第１の入力文が表す感情極性を推定する推定手段と、前記第１の制御手段により制御されて出力された質問文に対して、前記ユーザから前記入力手段によって入力された入力文を第２の入力文として、該第２の入力文の構造を解析した解析結果から、前記第２の入力文の感情極性を抽出する抽出手段と、前記推定手段で推定された感情極性と、前記抽出手段で抽出された感情極性とが一致する場合には、予め用意された第１の応答文を生成して出力し、一致しない場合には、予め用意された第２の応答文を生成して出力するように制御する第２の制御手段として機能させるためのプログラムである。
【０００８】
本発明に係る応答生成装置及びプログラムによれば、事態判別手段が、質問文を出力する前にユーザからの入力文を入力する入力手段によって入力された入力文を第１の入力文として、第１の入力文の構造を解析した解析結果に基づいて、第１の入力文に事態を表す単語または単語と単語との組み合わせが含まれているか否かを判別する。「事態」とは、何らかの感情が対応付けられる行動、事象、出来事をいう。
【０００９】
そして、第１の制御手段は、事態判別手段で第１の入力文に事態が含まれていると判別された場合に、ユーザに感情を尋ねるための予め用意された質問文を出力するように制御する。この質問文に対して、ユーザから入力手段によって入力された入力文を第２の入力文として、抽出手段が、第２の入力文の構造を解析した解析結果から、第２の入力文の感情極性を抽出する。また、推定手段は、事態判別手段で第１の入力文に事態が含まれていると判別された場合に、第１の入力文の解析結果に基づいて、第１の入力文が表す感情極性を推定する。そして、第２の制御手段が、推定手段で推定された感情極性と、抽出手段で抽出された感情極性とが一致する場合には、予め用意された第１の応答文を生成して出力し、一致しない場合には、予め用意された第２の応答文を生成して出力するように制御する。
【００１０】
このように、第１の入力文から推定される感情極性と、第２の入力文から抽出される感情極性とが一致するか否かによって応答文を異ならせることができるため、ユーザからの入力内容に対応した適切な応答文を生成して、自然な対話を行うことができる。
【００１１】
また、前記第１の応答文を、前記第２の入力文に対して同意を示す応答文とし、前記第２の応答文を、前記第２の入力文に対して驚きを示す応答文、前記ユーザに入力文の入力を促す応答文、または相槌の応答文とすることができる。このように、第１の入力文から推定される感情極性と、第２の入力文から抽出される感情極性とが一致する場合には、同意を示す応答文を出力し、感情極性が一致しない場合には、驚きを示す応答文を出力することにより自然な対話を行うことができる。また、感情極性が一致しない場合には、例えば、音声認識の誤認識やユーザによる入力文の入力ミスがあった可能性があるものと想定して、誤認識の可能性のある解析結果に基づいた応答文を生成するのではなく、ユーザに入力文の入力を促す応答文または相槌の応答文を出力することにより、対話を破綻させることなく進行させることができる。
【００１２】
また、本発明の応答生成装置は、前記事態判別手段で前記第１の入力文に事態が含まれていないと判別された場合に、ユーザに入力文の入力を促す応答文、または相槌の応答文を出力するように制御する第３の制御手段を含んで構成することができる。第１の入力文に事態が含まれていない場合には、感情極性を推定することができないため、ユーザに入力文の入力を促す応答文、または相槌の応答文を出力することにより、対話を破綻させることなく進行させることができる。
【発明の効果】
【００１３】
以上説明したように、本発明の応答生成装置及びプログラムによれば、ユーザからの入力内容に対応した適切な応答文を生成して、自然な対話を行うことができる、という効果が得られる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、ユーザからの発話を入力として、所定の処理を実行して音声出力する応答生成装置に本発明を適用した場合について説明する。
【００１５】
図１に示すように、第１の実施の形態に係る応答生成装置１０は、ユーザ発話を集音して音声信号を生成するマイク１２と、音声出力を行うスピーカ１４と、マイク１２及びスピーカ１４に接続され、かつ、適切な応答文を生成する所定の処理を実行するコンピュータ１６とを備えている。
【００１６】
コンピュータ１６は、応答生成装置１０全体の制御を司るＣＰＵ、後述する応答生成プログラム等各種プログラムを記憶した記憶媒体としてのＲＯＭ、ワークエリアとしてデータを一時格納するＲＡＭ、各種情報が記憶された記憶手段としてのＨＤＤ、Ｉ／Ｏ（入出力）ポート、及びこれらを接続するバスを含んで構成されている。Ｉ／Ｏポートには、マイク１２及びスピーカ１４が接続されている。
【００１７】
また、このコンピュータ１６を、ハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、図１に示すように、マイク１２から入力された音声信号を音声認識して、一般的な形態素解析器を用いて音声認識されたユーザ発話を示す文字列情報に対して形態素解析を行う言語解析部２０、言語解析部２０による解析結果に基づいて、ユーザ発話に事態が含まれているか否かを判別する事態判別部２２、ユーザ発話に事態が含まれている場合に、ユーザ発話が表す感情極性を推定する感情極性推定部２４、ユーザ発話に事態が含まれている場合に、ユーザに感情を尋ねる質問文を生成する質問生成部２６、質問文に対するユーザ発話を言語解析部２０で解析した解析結果から感情極性を抽出する感情極性抽出部２８、感情極性推定部２４で推定された感情極性と感情極性抽出部２８で抽出された感情極性とが一致するか否かを判別する極性一致判別部３０、極性一致判別部３０の判別結果に基づいて、異なる応答文を生成する応答生成部３２、ユーザ発話に事態が含まれていない場合に、定型の応答文を選択する定型応答部３４、質問生成部２６、応答生成部３２、及び定型応答部３４で生成または選択された応答文を音声信号に変換してスピーカ１４から出力させる出力部３６を含んだ構成で表すことができる。
【００１８】
ここで、本実施の形態では、後述するように、質問文の出力前に入力されたユーザ発話と出力後に入力されたユーザ発話とを区別する必要があるため、前者を「第１のユーザ発話」、後者を「第２のユーザ発話」と称する。
【００１９】
事態判別部２２は、第１のユーザ発話に対する言語解析部２０での解析結果に、事態を示す単語、または単語と単語との組み合わせが含まれているか否かを判別する。「事態」とは、何らかの感情が対応付けられる行動、事象、出来事であり、ここでは、解析結果に（ｉ）「動詞」が含まれている場合、及び（ｉｉ）「事態性名詞＋”だ”」が含まれている場合に「事態」が含まれていると判別する。「事態性名詞」とは、例えば「雨」や「運動会」といった出来事を示す名詞である。事態性名詞は、図２に示すような事態性名詞辞書を予め作成しておき、判別の際に、この事態性名詞辞書を参照して判別する。
【００２０】
感情極性推定部２４は、事態判別部２２で、第１のユーザ発話に事態が含まれていると判別された場合に、第１のユーザ発話が表す感情極性がポジティブかネガティブかを推定する。感情極性の推定は、例えば、感情極性が既知の学習データをＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｅｒ  Ｍａｃｈｉｎｅ）の手法を用いて学習して感情極性モデルを構築し、この感情極性モデルと第１のユーザ発話の解析結果とを比較することにより行う。
【００２１】
質問生成部２６は、事態判別部２２で、第１のユーザ発話に事態が含まれていると判別された場合に、ユーザに感情を尋ねる質問文を生成する。質問文は、基本となる質問文、例えば、「どう思う？」や「どんな感じ？」といった文を予め作成しておき、ユーザ発話の解析結果に基づいて、この基本となる質問文から選択した１つの文の時制や表現（丁寧な表現か砕けた表現かなど）を修正して、質問文を生成する。また、図３に示すような質問文例を予め作成しておき、この中からランダムに選択するようにしてもよい。生成された質問文は、出力部３６で音声信号に変換されてスピーカ１４から出力される。
【００２２】
感情極性抽出部２８は、質問生成部２６で生成された質問文が出力された後に入力された第２のユーザ発話を言語解析部２０で解析した解析結果から感情極性を抽出する。質問生成部２６で生成された質問文は、ユーザの感情を尋ねる質問文であるため、ここで入力される第２のユーザ発話には、直接的に感情を表す単語が含まれていると考えられる。そこで、第２のユーザ発話に含まれる感情を表す単語について、図４に示すような感情極性辞書を参照して、感情極性を抽出する。感情極性辞書は、非特許文献「スピンモデルによる単語の感情極性抽出」（高村他、情報処理学会論文誌ジャーナルｖｏｌ４７、Ｎｏ．２、ｐｐ．６２７−６３７、２００６）に記載の手法を用いるなどして、予め作成しておく。
【００２３】
応答生成部３２は、極性一致判別部３０で、感情極性推定部２４で推定された感情極性と感情極性抽出部２８で抽出された感情極性とが一致すると判別された場合には、「同意」のニュアンスを含んだ応答文を生成し、一致しないと判別された場合には、「驚き」のニュアンスを含んだ応答文を生成する。生成された応答文は、出力部３６で音声信号に変換されてスピーカ１４から出力される。
【００２４】
「同意」のニュアンスを含んだ応答文は、例えば、図５に示すような応答文例及び応答文例フォーマットを予め用意しておき、この応答文例からランダムに選択したり、応答文例フォーマットを用いて生成したりする。応答文例フォーマットは、例えば、「やっぱり（ユーザの感情）だよねぇ」のようなフォーマットとすることができ、「（ユーザの感情）」の部分に、第２のユーザ発話から抽出した感情を表す単語を挿入して応答文を生成することができる。
【００２５】
「驚き」のニュアンスを含んだ応答文は、例えば、図６に示すような応答文例及び応答文例フォーマットを予め用意しておき、この応答文例からランダムに選択したり、応答文例フォーマットを用いて生成したりする。応答文例フォーマットは、例えば、「え？（ユーザの感情）の」のようなフォーマットとすることができ、「（ユーザの感情）」の部分に、第２のユーザ発話から抽出した感情を表す単語を挿入して応答文を生成することができる。また、このように選択及び生成した応答文に、さらに理由を尋ねる応答文、例えば「なんで（ユーザの感情）の？」のような応答文を組み合わせてもよい。
【００２６】
定型応答部３４は、事態判別部２２で、第１のユーザ発話に事態が含まれていないと判別された場合に、予め定めた定型応答文からランダムに定型応答文を選択する。選択した定型応答文は、出力部３６で音声信号に変換されてスピーカ１４から出力される。定型応答文は、例えば、図７に示すように、ユーザへ発話を促すような応答文や相槌の応答文を予め定めておく。
【００２７】
次に、図８を参照して、第１の実施の形態の応答生成装置１０における応答生成処理ルーチンについて説明する。本ルーチンは、ＲＯＭに記憶された応答生成プログラムをＣＰＵが実行することにより行われる。
【００２８】
ステップ１００で、マイク１２から第１のユーザ発話が入力されたか否かを判断し、第１のユーザ発話が入力された場合には、ステップ１０２へ進み、入力されない場合には、入力されるまで本ステップの判断を繰り返す。ここでは、第１のユーザ発話「雨の中の運動会だったよ」が入力されたものとする。
【００２９】
ステップ１０２で、入力された第１のユーザ発話を示す音声信号を音声認識して文字列情報とし、この文字列情報に対して形態素解析を行う。
【００３０】
次に、ステップ１０４で、形態素解析の解析結果に基づいて、第１のユーザ発話に「事態」が含まれているか否かを判別する。「事態」が含まれている場合には、ステップ１０６へ進み、含まれていない場合には、ステップ１２２へ進む。ここでは、図２に示す事態性名詞辞書に事態性名詞として定められている「運動会」、及び事態性名詞に続く「だ」が含まれており、（ｉｉ）「事態性名詞＋”だ”」の条件を満たすため、「事態」が含まれていると判別されてステップ１０６へ進む。
【００３１】
ステップ１０６で、解析結果及び予め定めた感情極性モデルに基づいて、第１のユーザ発話の感情極性を推定する。ここでは、感情極性が「ネガティブ」と推定されるものとする。
【００３２】
次に、ステップ１０８で、ユーザに感情を尋ねるための応答文を生成して、音声信号に変換して出力する。ここでは、図３に示す質問文例の中から、「どう思った？」を選択して出力するものとする。
【００３３】
次に、ステップ１１０で、マイク１２から第２のユーザ発話が入力されたか否かを判断し、ユーザ発話が入力された場合には、ステップ１１２へ進み、入力されたユーザ発話を示す音声信号を音声認識して文字列情報とし、この文字列情報に対して形態素解析を行う。入力されない場合には、入力されるまで本ステップの判断を繰り返す。ここでは、第２のユーザ発話「楽しかったよ」が入力されたものとする。
【００３４】
次に、ステップ１１４で、解析結果及び図４に示す感情極性辞書に基づいて、第２のユーザ発話が表す感情極性を抽出する。ここでは、感情極性辞書を参照して、解析結果に含まれる「楽しかった」から感情極性「ポジティブ」が抽出される。
【００３５】
次に、ステップ１１６で、上記ステップ１０６で推定された感情極性と、上記ステップ１１４で抽出された感情極性とが一致するか否かを判断する。一致する場合は、ステップ１１８へ進み、一致しない場合には、ステップ１２０へ進む。ここでは、上記ステップ１０６で推定された感情極性は「ネガティブ」、上記ステップ１１４で抽出された感情極性は「ポジティブ」で一致しないため、否定されてステップ１２０へ進む。
【００３６】
ステップ１２０で、「驚き」のニュアンスを含んだ応答文を生成する。例えば、図６に示す応答文例及び応答文例フォーマットから応答文例フォーマット「え？（ユーザの感情）の」を選択し、「（ユーザの感情）」の部分に、第２のユーザ発話から抽出した感情を表す単語を挿入して「え？楽しかったの？」のような応答文を生成する。
【００３７】
また、上記ステップ１１０で、第２のユーザ発話「悲惨だったよ」が入力された場合には、上記ステップ１１２での解析結果及び感情極性辞書に基づいて、感情極性「ネガティブ」が抽出され、上記ステップ１１６で、感情極性が一致すると判断されてステップ１１８へ進む。ステップ１１８では、「同意」のニュアンスを含んだ応答文を生成する。例えば、図６に示す応答文例及び応答文例フォーマットから応答文例「そりゃそうだよね」を選択する。
【００３８】
また、例えば、第１のユーザ発話が「机だ」であった場合には、上記ステップ１０４で、第１のユーザ発話に「事態」が含まれていないと判別されてステップ１２２へ進む。ステップ１２２で、図７に示す定型応答文例から、例えば、「へー、それで」を選択する。
【００３９】
次に、ステップ１２４で、上記ステップ１１８、ステップ１２０、及びステップ１２２で生成または選択された応答文を音声信号に変換して出力して、処理を終了する。
【００４０】
なお、上記ステップ１１０で入力されたと判断されるユーザ発話は、上記ステップ１０８で質問文が出力された後に入力されるユーザ発話であるため、第２のユーザ発話としているが、ここでのユーザ発話が必ずしも感情を含んだものであるとは限らない。そこで、上記ステップ１１４で、第２のユーザ発話から感情極性を抽出することができない場合には、この第２のユーザ発話を第１のユーザ発話とみなしてステップ１００へ戻ったり、ステップ１２２へ進んで定型の応答文を選択して出力したりするようにしてもよい。
【００４１】
以上説明したように、第１の実施の形態の応答生成装置によれば、第１のユーザ発話から感情極性を推定し、推定した感情極性と第２のユーザ発話から抽出した感情極性とが一致するか否かを判別するため、第２のユーザ発話が同じ内容であったとしても、感情極性が一致する場合には、「同意」を示す応答文が生成され、一致しない場合には、「驚き」を示す応答文が生成される。すなわち、第１のユーザ発話が表す感情極性を推定しておくことにより、第２のユーザ発話の内容が予想通りだった場合と、予想に反する場合とで応答を異ならせることができるため、自然な対話を行うことができる。
【００４２】
なお、第１の実施の形態では、第１のユーザ発話が表す感情極性を、予め学習データから生成した感情極性モデルと比較することにより推定する場合について説明したが、この手法に限定するものではない。例えば、単語毎に感情極性を定めた単語−感情極性辞書を予め作成しておき、第１のユーザ発話に含まれる単語の各々についてこの単語−感情極性辞書を参照して感情極性を得て、第１のユーザ発話中に含まれる感情極性が「ポジティブ」である単語の数、感情極性が「ネガティブ」である単語の数、及び否定表現があるか否か等に基づいて定めたルールに従って、感情極性を推定するようにしてもよい。また、第１のユーザ発話から直接感情極性を推定する場合に限らず、第１のユーザ発話が表す感情を推定して、推定した感情及び図４に示す感情極性辞書を参照して感情極性を推定するようにしてもよい。なお、感情の推定は、感情極性の推定の場合と同様、予め学習データから感情毎に生成した複数の感情モデルと比較することにより推定するなど、周知の技術を用いることができる。
【００４３】
次に、第２の実施の形態について説明する。第２の実施の形態では、第１のユーザ発話と第２のユーザ発話との感情極性が一致しなかった場合に、「驚き」を示す応答文を生成するのではなく、定型の応答文を選択する点が第１の実施の形態と異なっている。なお、第１の実施の形態と同様の構成及び処理については、同一の符号を付して説明を省略する。
【００４４】
第２の実施の形態に係る応答生成装置２１０の構成は、図１に示す第１の実施の形態に係る応答生成装置１０の構成と同様である。第２の実施の形態の応答生成装置２１０において、応答生成部１３２は、極性一致判別部３０で、感情極性推定部２４で推定された感情極性と感情極性抽出部２８で抽出された感情極性とが一致すると判別された場合には、「同意」のニュアンスを含んだ応答文を生成し、一致しないと判別された場合には、定型の応答文を選択する。生成または選択された応答文は、出力部３６で音声信号に変換されてスピーカ１４から出力される。「同意」のニュアンスを含んだ応答文の生成については、第１の実施の形態と同様であり、定型の応答文の選択については、第１の実施の形態の定型応答部３４の処理と同様に、例えば、図７に示すような定型応答文例の中からランダムに応答文を選択する。
【００４５】
次に、図９を参照して、第２の実施の形態の応答生成装置２１０における応答生成処理ルーチンについて説明する。本ルーチンは、ＲＯＭに記憶された応答生成プログラムをＣＰＵが実行することにより行われる。
【００４６】
ステップ１００で、マイク１２から第１のユーザ発話が入力されたか否かを判断し、第１のユーザ発話が入力された場合には、ステップ１０２へ進み、入力された第１のユーザ発話を示す音声信号を音声認識して文字列情報とし、この文字列情報に対して形態素解析を行う。入力されない場合には、入力されるまで本ステップの判断を繰り返す。ここでは、第１のユーザ発話「遊園地に行ったよ」が入力されたものとする。
【００４７】
次に、ステップ１０４で、形態素解析の解析結果に基づいて、第１のユーザ発話に「事態」が含まれているか否かを判別する。「事態」が含まれている場合には、ステップ１０６へ進み、含まれていない場合には、ステップ１２２へ進む。ここでは、動詞「行く」が含まれているため、「事態」が含まれていると判別されてステップ１０６へ進む。
【００４８】
ステップ１０６で、解析結果及び予め定めた感情極性モデルに基づいて、第１のユーザ発話の感情極性を推定する。ここでは、感情極性が「ポジティブ」と推定されるものとする。次に、ステップ１０８で、ユーザに感情を尋ねるための応答文、例えば、図３に示す質問文例の中から、「どうだった？」を選択して出力する。
【００４９】
次に、ステップ１１０で、マイク１２から第２のユーザ発話が入力されたか否かを判断し、第２のユーザ発話が入力された場合には、ステップ１１２へ進み、入力された第２のユーザ発話を示す音声信号を音声認識して文字列情報とし、この文字列情報に対して形態素解析を行う。入力されない場合には、入力されるまで本ステップの判断を繰り返す。ここでは、第２のユーザ発話「楽しかったよ」が入力され、音声認識において「悲しかったよ」と誤認識されたものとする。
【００５０】
次に、ステップ１１４で、解析結果及び図４に示す感情極性辞書に基づいて、第２のユーザ発話の感情極性を抽出する。ここでは、誤認識された解析結果「悲しかったよ」に基づいて、感情極性辞書を参照して、感情極性「ネガティブ」が抽出される。
【００５１】
次に、ステップ１１６で、上記ステップ１０６で推定された感情極性と、上記ステップ１１４で抽出された感情極性とが一致するか否かを判断する。一致する場合は、ステップ１１８へ進み、一致しない場合には、音声認識を含む第１のユーザ発話の解析結果に誤りがあったものと想定して、ステップ１２２へ進む。ここでは、上記ステップ１０６で推定された感情極性は「ポジティブ」、上記ステップ１１４で抽出された感情極性は「ネガティブ」で一致しないため、否定されてステップ１２２へ進む。
【００５２】
ステップ１２２で、図７に示す定型応答文例から、例えば、「そうですかぁ」を選択し、次に、ステップ１２４で、選択した応答文を音声信号に変換して出力して、処理を終了する。
【００５３】
以上説明したように、第２の実施の形態の応答生成装置によれば、第１のユーザ発話が表す感情極性を推定し、推定した感情極性と第２のユーザ発話から抽出した感情極性とが一致するか否かを判別し、一致しない場合には、例えば音声認識に誤りがあったものと想定して、相槌の応答文やユーザ発話を促すような応答文などの定型の応答文を出力することができる。これにより、誤認識された解析結果に基づいて不適切な応答文を生成することを防止し、対話を破綻なく進行させることができる。
【００５４】
なお、上記第１及び第２の実施の形態では、スピーカによる音声出力を行う場合を例に説明したが、これに限定されるものではなく、ディスプレイに応答文を表示するようにしてもよい。また、ユーザから音声がマイクに入力される場合を例に説明したが、ユーザがキーボードなどを用いて入力文としてのテキストを入力するようにしてもよい。
【図面の簡単な説明】
【００５５】
【図１】本実施の形態に係る応答生成装置の概略構成を示すブロック図である。
【図２】事態性名詞辞書の一例を示す図である。
【図３】質問文例の一例を示す図である。
【図４】感情極性辞書の一例を示す図である。
【図５】「同意」を示す応答文の応答文例及び応答文例フォーマットの一例を示す図である。
【図６】「驚き」を示す応答文の応答文例及び応答文例フォーマットの一例を示す図である。
【図７】定型の応答文の応答文例の一例を示す図である。
【図８】第１の実施の形態の応答生成処理ルーチンを示すフローチャートである。
【図９】第２の実施の形態の応答生成処理ルーチンを示すフローチャートである。
【符号の説明】
【００５６】
１０、２１０  応答生成装置
１２   マイク
１４   スピーカ
１６   コンピュータ
２０   言語解析部
２２   事態判別部
２４   感情極性推定部
２６   質問生成部
２８   感情極性抽出部
３０   極性一致判別部
３２、１３２  応答生成部
３４   定型応答部
３６   出力部
【図１】
2010157081.tif 000003
【図２】
2010157081.tif 000004
【図３】
2010157081.tif 000005
【図４】
2010157081.tif 000006
【図５】
2010157081.tif 000007
【図６】
2010157081.tif 000008
【図７】
2010157081.tif 000009
【図８】
2010157081.tif 000010
【図９】
2010157081.tif 000011