JP5136512B2 - 応答生成装置及びプログラム - Google Patents

応答生成装置及びプログラム Download PDF

Info

Publication number
JP5136512B2
JP5136512B2 JP2009113237A JP2009113237A JP5136512B2 JP 5136512 B2 JP5136512 B2 JP 5136512B2 JP 2009113237 A JP2009113237 A JP 2009113237A JP 2009113237 A JP2009113237 A JP 2009113237A JP 5136512 B2 JP5136512 B2 JP 5136512B2
Authority
JP
Japan
Prior art keywords
response
sentence
type
negative expression
prepared
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.)
Expired - Fee Related
Application number
JP2009113237A
Other languages
English (en)
Other versions
JP2010262147A (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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2009113237A priority Critical patent/JP5136512B2/ja
Publication of JP2010262147A publication Critical patent/JP2010262147A/ja
Application granted granted Critical
Publication of JP5136512B2 publication Critical patent/JP5136512B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、応答生成装置及びプログラムに係り、特に、ユーザと円滑な対話を行うための応答生成装置及びプログラムに関する。
従来、システム側から、ユーザに対して、肯定又は否定を意味する内容の返事を要求するような場合に、肯定否定識別モードに切り替えてその結果に基づき応答を生成し、その他の場合には、ユーザの認識結果に基づいて応答を生成する音声認識対話装置が知られている(特許文献1)。この音声認識対話装置では、例えば、システムが「お花見に行こうよ」や「明日はお休みなの?」といったように、ユーザに対して明確に「Yes・No」を要求するような発話を行った場合のみ、肯定否定識別モードに切り替え、次のユーザ発話が「Yes」か「No」かを判別し、それに応じたシステム応答を生成している。
特開平9−6389号公報
上記特許文献1に記載の技術では、ユーザに対して明確に「Yes・No」を要求するような発話をシステムが生成した場合にしか、肯定否定検出モードに切り替わらない。「他にどこかに行ったんですか?」や「どのくらい楽しかったんですか?」などの5W1H質問応答や、「楽しかったんだね」などの感情推定結果を用いた共感応答、といったような、ユーザに対して明確に「Yes・No」を要求している場合ではなくても、場合によっては「いや、どこにも行ってないよ」や「違うよ。悲しかったんだよ」といったように、否定表現を含んだ応答がユーザから返ってくる可能性がある。このようなユーザからの発話に対して、否定の意図を捉えて適切な応答生成を行うことができない、という問題がある。
本発明は、上記の問題を解決するためになされたものであり、否定の意図を考慮した適切な応答文を生成して、自然な対話を行うことができる応答生成装置及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明に係る応答生成装置は、ユーザからの入力文の構造を解析した解析結果に基づいて、前記入力文に予め定められた否定表現が含まれているか否かを判定する否定表現判定手段と、前記否定表現が含まれていないと判定された場合には、前記解析結果に基づいて、並列する目的語を尋ねる応答を含む応答の種類を少なくとも1種類選択し、選択された応答の種類について、該応答の種類に対して予め用意された応答文、又は予め用意された応答文フォーマットに前記入力文に含まれる単語を付加した応答文を生成する第1応答生成手段と、前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答である場合、予め用意された、話題を変えるための応答文を生成する第2応答生成手段と、前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答でない場合、予め用意された相槌の応答文を生成する第3応答生成手段とを含んで構成されている。
本発明に係るプログラムは、コンピュータを、ユーザからの入力文の構造を解析した解析結果に基づいて、前記入力文に予め定められた否定表現が含まれているか否かを判定する否定表現判定手段、前記否定表現が含まれていないと判定された場合には、前記解析結果に基づいて、並列する目的語を尋ねる応答を含む応答の種類を少なくとも1種類選択し、選択された応答の種類について、該応答の種類に対して予め用意された応答文、又は予め用意された応答文フォーマットに前記入力文に含まれる単語を付加した応答文を生成する第1応答生成手段、前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答である場合、予め用意された、話題を変えるための応答文を生成する第2応答生成手段、及び前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答でない場合、予め用意された相槌の応答文を生成する第3応答生成手段として機能させるためのプログラムである。
本発明によれば、否定表現判定手段によって、ユーザからの入力文の構造を解析した解析結果に基づいて、入力文に予め定められた否定表現が含まれているか否かを判定する。否定表現が含まれていないと判定された場合には、第1応答生成手段によって、解析結果に基づいて、並列する目的語を尋ねる応答を含む応答の種類を少なくとも1種類選択し、選択された応答の種類について、該応答の種類に対して予め用意された応答文、又は予め用意された応答文フォーマットに入力文に含まれる単語を付加した応答文を生成する。
また、否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答である場合、第2応答生成手段によって、予め用意された、話題を変えるための応答文を生成する。否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答でない場合、第3応答生成手段によって、予め用意された相槌の応答文を生成する。
このように、否定表現が含まれている場合に、前回の応答の種類が並列する目的語を尋ねる応答であると、話題を変えるための応答文を生成し、前回の応答の種類が並列する目的語を尋ねる応答でないと、相槌の応答文を生成することにより、否定の意図を考慮した適切な応答文を生成して、自然な対話を行うことができる。
本発明の第1応答生成手段は、解析結果に基づいて、入力文に、並列する目的語を尋ねる応答に対して予め定められた事態を表わす節が含まれる場合に、並列する目的語を尋ねる応答を選択し、入力文に含まれる事態を表わす節に対する並列する目的語を尋ねるための予め用意された応答文、又は予め用意された応答文フォーマットに入力文に含まれる事態を表わす節を付加した応答文を生成することができる。
本発明に係る否定表現判定手段は、解析結果に基づいて、入力文に、否定表現として予め定められた表現、又は品詞の種類と表現との組合せが含まれるか否かによって、入力文に否定表現が含まれているか否かを判定することができる。
上記の入力文を、ユーザによる発話を音声認識して取得することができる。
以上説明したように、本発明の応答生成装置及びプログラムによれば、否定表現が含まれている場合に、前回の応答の種類が並列する目的語を尋ねる応答であると、話題を変えるための応答文を生成し、前回の応答の種類が並列する目的語を尋ねる応答でないと、相槌の応答文を生成することにより、否定の意図を考慮した適切な応答文を生成して、自然な対話を行うことができる、という効果が得られる。
本実施の形態に係る応答生成装置の概略構成を示すブロック図である。 否定表現辞書の一例を示すイメージ図である。 事態性名詞辞書の一例を示すイメージ図である。 並列目的語質問の応答文例及び応答文例フォーマットの一例を示すイメージ図である。 話題転換応答の応答文例の一例を示すイメージ図である。 相槌応答の応答文例の一例を示すイメージ図である。 本実施の形態に係る応答生成装置における応答生成処理ルーチンの内容を示すフローチャートである。 形態素解析の結果の一例を示すイメージ図である。 形態素解析の結果の他の一例を示すイメージ図である。 形態素解析の結果の他の一例を示すイメージ図である。 形態素解析の結果の他の一例を示すイメージ図である。
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、ユーザからの発話を入力として、所定の処理を実行して音声出力する応答生成装置に本発明を適用した場合について説明する。
図1に示すように、本実施の形態に係る応答生成装置10は、ユーザ発話を集音して音声信号を生成するマイク12と、音声出力を行うスピーカ14と、マイク12及びスピーカ14に接続され、かつ、適切な応答文を生成する所定の処理を実行するコンピュータ16とを備えている。
コンピュータ16は、応答生成装置10全体の制御を司るCPU、後述する応答生成プログラム等各種プログラムを記憶した記憶媒体としてのROM、ワークエリアとしてデータを一時格納するRAM、各種情報が記憶された記憶手段としてのHDD、I/O(入出力)ポート、及びこれらを接続するバスを含んで構成されている。I/Oポートには、マイク12及びスピーカ14が接続されている。
このコンピュータ16を、ハードウエアとソフトウエアとに基づいて定まる機能実現手段毎に分割した機能ブロックで説明すると、図1に示すように、マイク12から入力された音声信号を音声認識して、一般的な形態素解析器を用いて音声認識されたユーザ発話を示す文字列情報に対して形態素解析を行う言語解析部20と、言語解析部20による解析結果に基づいて、ユーザ発話に否定表現が含まれているか否かを判定する否定表現判定部22と、前回生成した応答文の応答種類を記憶する応答種類記憶部24と、ユーザ発話に否定表現が含まれていない場合に、言語解析部20による解析結果を利用して、応答文を生成すると共に、生成した応答文の応答種類を応答種類記憶部24に記憶させる結果利用応答生成部26と、ユーザ発話に否定表現が含まれている場合に、直前に生成した応答文の応答種類が、「並列する目的語を尋ねる応答」であるか否かを判定する直前応答判定部28と、直前に生成した応答文の応答種類が、「並列する目的語を尋ねる応答」である場合に、話題を変えるための応答文を生成すると共に、生成した応答文の応答種類「話題転換応答」を応答種類記憶部24に記憶させる話題転換応答生成部30と、直前に生成した応答文の応答種類が、「並列する目的語を尋ねる応答」でない場合に、相槌の応答文を生成すると共に、生成した応答文の応答種類「相槌応答」を応答種類記憶部24に記憶させる相槌生成部32と、生成された応答文を音声信号に変換してスピーカ14から出力させる出力部34とを含んだ構成で表すことができる。
否定表現判定部22は、ユーザ発話に対する言語解析部20での解析結果に、予め定められた否定表現が含まれているか否かを判定する。図2に示すような、否定表現としての表現及び品詞の種類と表現との組み合わせを複数格納した否定表現辞書を予め作成しておき、判定の際に、この否定表現辞書を参照して判定する。例えば、解析結果に(i)「品詞“動詞”+“ない”」が含まれている場合、(ii)「品詞“動詞”+“ません”」、(iii)「じゃなくて」、及び(iv)「ではなくて」などが含まれている場合に、否定表現が含まれていると判定する。
結果利用応答生成部26は、以下のように、ユーザ発話に対する言語解析部20での解析結果に基づいて、応答種類を選択し、選択された応答種類の各々について応答文候補を生成する。
まず、ユーザ発話に対する言語解析部20での解析結果に、事態を表す単語が含まれているか否かを判別する。事態とは、人の行動や人が経験する事象及び出来事である。ここでは、解析結果に(i)「動詞」が含まれている場合、及び(ii)「事態性名詞+(”だ”または”です”)」が含まれている場合に、「事態」が含まれていると判別する。「事態性名詞」とは、例えば「雨」や「運動会」といった出来事を示す名詞である。事態性名詞は、図3に示すような事態性名詞辞書を予め作成しておき、判別の際に、この事態性名詞辞書を参照して判別する。
次に、事態が含まれていると判別されたユーザ発話の解析結果から、事態を表す節を抽出する。上記(i)の場合であれば該当する「動詞」を含む節が抽出され、上記(ii)であれば該当する「事態性名詞」を含む節が抽出される。
抽出された節が、後述する並列目的語質問可能判断DBに登録されているか否かを判断し、登録されている場合には、応答種類「並列する目的語を尋ねる応答」を選択する。
応答種類「並列する目的語を尋ねる応答」が選択された場合には、ユーザに並列する目的語を尋ねるための質問文を応答文候補として生成する。応答文候補は、例えば、図4に示すような応答文例及び応答文例フォーマットを予め用意しておき、この応答文例からランダムに選択したり、応答文例フォーマットを用いて生成したりする。応答文例フォーマットは、例えば、「他に何を〜?」のようなフォーマットとすることができ、「〜」の部分に、ユーザ発話の解析結果から抽出された事態を表す節の「動詞」である単語を挿入して応答文候補を生成することができる。生成された応答文候補は、一旦所定の記憶領域に記憶される。
また、事態が含まれていると判別されたユーザ発話の解析結果から抽出された事態を表す節が、後述する頻度質問不可能判断DBに登録されているか否かを判断する。登録されていない場合には、応答種類「事態の頻度を尋ねる応答」を選択する。応答種類「事態の頻度を尋ねる応答」が選択された場合には、ユーザに頻度を尋ねる質問文を応答文候補として生成する。応答文候補は、例えば、応答文例及び応答文例フォーマットを予め用意しておき、この応答文例からランダムに選択したり、応答文例フォーマットを用いて生成したりする。応答文例フォーマットは、例えば、「よく〜するんですか?」のようなフォーマットとすることができ、「〜」の部分に、ユーザ発話の解析結果から抽出された事態を表す節を挿入して応答文候補を生成することができる。生成された応答文候補は、一旦所定の記憶領域に記憶される。なお、頻度質問不可能判断DBには、頻度を尋ねることが不適切な事態を表わす節が予め登録されている。
また、事態が含まれていると判別されたユーザ発話の解析結果から事態を表す単語を抽出する。解析結果に(i)「動詞」が含まれている場合には、「動詞」である単語が抽出され、(ii)「事態性名詞+(”だ”または”です”)」が含まれている場合、「事態性名詞」である単語が抽出される。
そして、抽出された単語が後述する感情質問可能判断DB28に登録されているか否かを判断し、登録されている場合には、応答種類「事態に対するユーザの感情を尋ねる応答」を選択する。応答種類「事態に対するユーザの感情を尋ねる応答」が選択された場合には、ユーザに感情を尋ねる質問文を応答文候補として生成する。応答文候補は、基本となる質問文、例えば、「どう思う?」や「どんな感じ?」といった文を予め作成しておき、ユーザ発話の解析結果に基づいて、この基本となる質問文から選択した1つの文の時制や表現(丁寧な表現か砕けた表現かなど)を修正して、応答文候補を生成する。また、質問文例を予め作成しておき、この中からランダムに選択するようにしてもよい。生成された応答文候補は、一旦所定の記憶領域に記憶される。なお、感情質問可能判断DBには、単語が感情を尋ねることが適切な単語が予め登録されている。
また、ユーザ発話に対する言語解析部20での解析結果から、ユーザ発話中の「動詞」及び「格助詞」を抽出する。例えば、ユーザ発話「友達と電話で話したよ」を考えると、動詞「話す」及び格助詞「と」、「で」が抽出される。次に、予め作成しておいた動詞必須格辞書データベースを用いて、抽出された動詞の必須格を検索する。動詞必須格辞書データベースは、「当該動詞が少なくとも持つべき格」が登録された辞書であり、上記の例では、動詞「話す」の必須格として、「が(誰)」、「を(何)」、「と(誰)」が登録されている。次に、検索された当該動詞の必須格と、ユーザ発話中から抽出された格助詞とを照合することで、抽出された動詞の不足格を検出し、当該動詞の不足格が検出された場合には、応答種類「不足格を尋ねる応答」を選択する。応答種類「不足格を尋ねる応答」が選択された場合には、不足格を尋ねる質問文を応答文候補として生成する。応答文候補は、例えば、応答文例フォーマットを予め用意しておき、応答文例フォーマットを用いて生成したりする。応答文例フォーマットは、例えば、不足格「を(何)」に対応して「何を〜の?」のようなフォーマットとすることができ、「〜」の部分に、ユーザ発話の解析結果から抽出された動詞を表す節を挿入して応答文候補を生成することができる。例えば、上記の例(「友達と電話で話したよ」)では、「を(何)」が不足しているため、不足格を尋ねる質問文「何を話したの?」を応答候補として生成する。生成された応答文候補は、一旦所定の記憶領域に記憶される。
また、言語解析部20での解析結果に関わらず、応答種類「繰り返し応答」が選択され、ユーザ発話に含まれる単語を繰り返して確認するための質問文が応答文候補として生成される。応答文候補は、例えば、応答文例フォーマットを予め用意しておき、応答文例フォーマットを用いて生成する。応答文例フォーマットは、例えば、「〜の?」のようなフォーマットとすることができ、「〜」の部分に、ユーザ発話に対する言語解析部20での解析結果に含まれる単語を挿入して応答文を生成することができる。
上記の並列目的語質問可能判断DBは、以下のように生成すればよい。
例えば、ウェブ上のテキストなどの大規模コーパスから1文を抽出し、抽出された1文に対して形態素解析を行う。解析結果に事態が含まれているか否かを判断し、事態が含まれている場合には、名詞の並列を目的語とする動詞が含まれているか否かを、所定の言語パターンに該当するか否かに基づいて判断する。含まれる場合には、名詞の並列を目的語とする動詞が含まれている1文を、複数の並列した名詞の各々を目的語とする節に分割して、それぞれの節を、事態を表す節として抽出する。
抽出された事態を表す節を、事態を表す節、及びその節の出現頻度を計数したカウント値を定めた事態DBに登録する。既に登録されている節と同一の節の場合は、カウント値を+1する。
コーパス上の全ての文について上記の処理が行われたか否かを判断し、未処理の文がある場合には、次の一文について処理を行う。
事態DBを参照して、出現頻度が閾値以上の事態を表す節を並列目的語質問可能判断DBに登録する。事態DBでのカウント値(出現頻度)が高いということは、元々名詞の並列を目的語とした文として現れることが多く、省略された目的語が他にもあることが想定されるため、並列する目的語を尋ねる質問は適切である。カウント値が閾値以上の節を全て並列目的語質問可能判断DBに登録したら、本処理を終了する。
上記の処理により、並列する目的語を尋ねる応答に対して予め定められた事態を表わす節が登録された並列目的語質問可能判断DBが生成される。
結果利用応答生成部26は、上記のように応答文候補を生成し、生成した応答文候補から、ランダムに1つ選択して、応答文とする。また、結果利用応答生成部26は、選択された応答文候補の応答種類「並列する目的語を尋ねる応答」、「事態の頻度を尋ねる応答」、「事態に対するユーザの感情を尋ねる応答」、「繰り返し応答」、又は「不足格を尋ねる応答」を、応答種類記憶部24に記憶させる。
直前応答判定部28は、応答種類記憶部24に記憶された応答種類に基づいて、直前に生成された応答文の応答種類が、「並列する目的語を尋ねる応答」であるか否かを判定する。
話題転換応答生成部30は、話題を変えるための応答文を生成する。応答文は、例えば、図5に示すような応答文例を予め用意しておき、この応答文例からランダムに選択する。また、話題転換応答生成部30は、話題を変えるための応答文を生成すると共に、応答種類「話題転換応答」を応答種類記憶部24に記憶させる。
相槌生成部32は、相槌の応答文を生成する。応答文は、例えば、図6に示すような応答文例を予め用意しておき、この応答文例からランダムに選択する。また、相槌生成部32は、相槌の応答文を生成すると共に、応答種類「相槌応答」を応答種類記憶部24に記憶させる。
次に、図7を参照して、本実施の形態の応答生成装置10における応答生成処理ルーチンについて説明する。本ルーチンは、ROMに記憶された応答生成プログラムをCPUが実行することにより行われる。
ステップ100で、マイク12からユーザ発話が入力されたか否かを判断し、ユーザ発話が入力された場合には、ステップ102へ進み、入力されない場合には、入力されるまで本ステップの判断を繰り返す。ここでは、ユーザ発話「遊園地に行ったよ」が入力されたものとする。
ステップ102で、入力されたユーザ発話を示す音声信号を音声認識して文字列情報とし、この文字列情報に対して形態素解析を行う。ここでは、解析結果として、図8に示すように、「遊泳(名詞)」「し(動詞)」「に(助詞)」「来(動詞)」「た(助動詞)」「よ(助詞)」が得られる。
次に、ステップ104で、形態素解析の解析結果に基づいて、ユーザ発話に否定表現が含まれているか否かを判別する。否定表現が含まれている場合には、ステップ112へ進み、含まれていない場合には、ステップ106へ進む。ここでは、否定表現が含まれていないため、否定表現が含まれていないと判断されてステップ106へ進む。
ステップ106で、形態素解析の解析結果に基づいて、応答種類を選択する。まず、形態素解析の解析結果に基づいて、ユーザ発話に、並列目的語質問可能判断DBに登録されている事態を表わす節が含まれているかを判断することにより、応答種類を選択する。含まれている場合には、「並列する目的語を尋ねる応答」を選択する。また、ユーザ発話に、頻度質問不可能判断DBに登録されている事態を表わす節が含まれているかを判断することにより、応答種類を選択する。含まれていない場合には、「事態の頻度を尋ねる応答」を選択する。また、ユーザ発話に、感情質問可能判断DBに登録されている事態を表わす単語が含まれているかを判断することにより、応答種類を選択する。含まれている場合には、「事態に対するユーザの感情を尋ねる応答」を選択する。また、形態素解析の解析結果に関わらず、「繰り返し応答」も選択される。
そして、ステップ107において、上記ステップ106で選択された応答種類の各々について、応答文候補を各々生成する。例えば、解析結果に含まれる「来(動詞)」を、応答文フォーマットに挿入して、「繰り返し応答」の応答文候補として「来たんですか」を生成する。
次のステップ108では、上記ステップ107で生成された応答文候補からランダムに1つ選択して応答文とすると共に、応答種類記憶部24に記憶される応答種類を、上記ステップ108で選択した応答文候補の応答種類に更新して、ステップ110へ移行する。ここでは、「繰り返し応答」の応答文候補が選択され、「来たんですか」を、生成された応答文とする。
ステップ110では、生成された応答文を音声信号に変換して出力する。ここでは、「来たんですか」を音声出力して、上記ステップ100へ戻る。
次に、システム応答「来たんですか」に対するユーザ発話「来たんじゃなくて行ったの」が入力されたものとする。このとき、上記ステップ102では、解析結果として、図9に示すように、「来(動詞)」「た(助動詞)」「ん(名詞)」「じゃ(助詞)」「なく(助動詞)」「て(動詞)」「行っ(動詞)」「た(助動詞)」「の(名詞)」が得られる。
上記ステップ104では、形態素解析の解析結果に基づいて、ユーザ発話に否定表現「〜じゃなくて〜」が含まれていると判定され、ステップ112において、直前に生成した応答文の応答種類が、「並列する目的語を尋ねる応答」であるか否かを判定する。「並列する目的語を尋ねる応答」である場合には、ステップ114へ移行するが、「並列する目的語を尋ねる応答」以外である場合には、ステップ116へ移行する。ここでは、応答種類記憶部24には、「繰り返し応答」が記憶されているため、「並列する目的語を尋ねる応答」ではないと判定し、ステップ114へ移行する。
ステップ114では、相槌応答に対して予め用意された定型文から選択して、相槌の応答文(例えば、「あぁ、そうなんですか」)を生成すると共に、応答種類記憶部24に記憶される応答種類を「相槌応答」に更新して、ステップ110へ移行する。
また、ユーザ発話「遊園地に行ったよ」が入力されたものとする。このとき、上記ステップ102では、解析結果として、図10に示すように、「遊泳(名詞)」「し(動詞)」「に(助詞)」「行っ(動詞)」「た(助動詞)」「よ(助詞)」が得られる。
この場合、上記ステップ104では、ユーザ発話に否定表現が含まれていないと判定され、ステップ106において、ユーザ発話に、並列目的語質問可能判断DBに登録されている事態を表わす節(「行っ(動詞)」を含む節)が含まれていると判断されたとする。応答種類として「並列する目的語を尋ねる応答」を含む応答種類が選択され、ステップ108で、「並列する目的語を尋ねる応答」の応答文候補として生成された「他にどこか行ったんですか」が選択され、応答種類記憶部24に記憶される応答種類が「並列する目的語を尋ねる応答」に更新される。
そして、システム応答「他にどこか行ったんですか」に対するユーザ発話「どこにも行ってないよ」が入力されたものとする。このとき、上記ステップ102では、解析結果として、図11に示すように、「どこ(名詞)」「に(助詞)」「行っ(動詞)」「て(助動詞)」「ない(助動詞)」「よ(助詞)」が得られる。
上記ステップ104では、形態素解析の解析結果に基づいて、ユーザ発話に否定表現「品詞“動詞”+“ない”」が含まれていると判定され、ステップ112において、直前に生成した応答文の応答種類が、「並列する目的語を尋ねる応答」であると判定される。そして、ステップ116において、話題転換応答に対して予め用意された定型文から選択して、話題を変えるための応答文(例えば、「それでは話題を変えましょう」)を生成すると共に、応答種類記憶部24に記憶される応答種類を「話題転換応答」に更新して、ステップ110へ移行する。
上記の応答生成処理ルーチンを実行することにより、例えば、「遊園地に行ったよ」というユーザ発話に対して、認識結果が「遊泳しに来たよ」であった場合、繰り返し応答の応答文「来たんですか」が生成される。この時、ユーザが「いや違う。行ったの」という訂正発話を行ったときには、この訂正発話に対して、例えば「あぁ、そうなんですね」といった相槌を生成するため、誤認識のループに陥ることはなく、スムーズに対話を続けることができる。例えば「行った」の部分を「切った」と誤認識して、再び誤認識結果を用いた応答生成を行ってしまう、というような誤認識のループを回避することが可能となる。
また、例えば、「他にどこかに行ったんですか?」のような並列する目的語を尋ねる応答に対して、ユーザが「いや。別にどこにも行ってないよ」という発話を行った場合には、「それでは話題を変えましょう」などのような話題を変える応答文が生成されるため、対話のスムーズな継続が可能となる。
以上説明したように、本実施の形態の応答生成装置によれば、ユーザ発話に否定表現が含まれている場合に、直前の応答種類が「並列する目的語を尋ねる応答」であると、話題を変えるための応答文を生成し、直前の応答種類が「並列する目的語を尋ねる応答」以外であると、相槌の応答文を生成することにより、否定の意図を考慮した適切な応答文を生成して、自然な対話を行うことができる。
ユーザに対して「肯定・否定」の発話を明確に要求する応答(=Yes・No質問応答や勧誘応答)を生成した場合のみではなく、5W1H質問応答や繰り返し応答といった場合であっても、ユーザ発話に否定表現が含まれるか否かを判定し、その結果に基づいて応答生成を行うため、よりスムーズな対話が可能となる。
なお、上記の実施の形態では、スピーカによる音声出力を行う場合を例に説明したが、これに限定されるものではなく、ディスプレイに応答文を表示するようにしてもよい。また、ユーザから音声がマイクに入力される場合を例に説明したが、ユーザがキーボードなどを用いて入力文としてのテキストを入力するようにしてもよい。
また、形態素解析の解析結果を利用して応答文を生成する場合、形態素解析の解析結果に基づいて、少なくとも1種類以上の応答種類を選択し、選択された各応答種類について生成された応答文候補から、応答文をランダムに選択する場合を例に説明したが、これに限定されるものではない。例えば、形態素解析の解析結果に基づいて、応答種類を1種類だけ選択して、選択された応答種類について応答文を生成すると共に、選択された応答種類を、応答種類記憶部24に記憶するようにしてもよい。
本発明のプログラムを、記憶媒体に格納して提供することも可能である。
10 応答生成装置
12 マイク
14 スピーカ
16 コンピュータ
20 言語解析部
22 否定表現判定部
24 応答種類記憶部
26 結果利用応答生成部
28 直前応答判定部
30 話題転換応答生成部
32 相槌生成部
34 出力部

Claims (5)

  1. ユーザからの入力文の構造を解析した解析結果に基づいて、前記入力文に予め定められた否定表現が含まれているか否かを判定する否定表現判定手段と、
    前記否定表現が含まれていないと判定された場合には、前記解析結果に基づいて、並列する目的語を尋ねる応答を含む応答の種類を少なくとも1種類選択し、選択された応答の種類について、該応答の種類に対して予め用意された応答文、又は予め用意された応答文フォーマットに前記入力文に含まれる単語を付加した応答文を生成する第1応答生成手段と、
    前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答である場合、予め用意された、話題を変えるための応答文を生成する第2応答生成手段と、
    前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答でない場合、予め用意された相槌の応答文を生成する第3応答生成手段と、
    を含む応答生成装置。
  2. 前記第1応答生成手段は、前記解析結果に基づいて、前記入力文に、並列する目的語を尋ねる応答に対して予め定められた事態を表わす節が含まれる場合に、並列する目的語を尋ねる応答を選択し、前記入力文に含まれる事態を表わす節に対する並列する目的語を尋ねるための予め用意された応答文、又は予め用意された応答文フォーマットに前記入力文に含まれる事態を表わす節を付加した応答文を生成する請求項1記載の応答生成装置。
  3. 前記否定表現判定手段は、前記解析結果に基づいて、前記入力文に、前記否定表現として予め定められた表現、又は品詞の種類と表現との組合せが含まれるか否かによって、前記入力文に前記否定表現が含まれているか否かを判定する請求項1又は2記載の応答生成装置。
  4. 前記入力文を、ユーザによる発話を音声認識して取得した請求項1〜請求項3の何れか1項記載の応答生成装置。
  5. コンピュータを、
    ユーザからの入力文の構造を解析した解析結果に基づいて、前記入力文に予め定められた否定表現が含まれているか否かを判定する否定表現判定手段、
    前記否定表現が含まれていないと判定された場合には、前記解析結果に基づいて、並列する目的語を尋ねる応答を含む応答の種類を少なくとも1種類選択し、選択された応答の種類について、該応答の種類に対して予め用意された応答文、又は予め用意された応答文フォーマットに前記入力文に含まれる単語を付加した応答文を生成する第1応答生成手段、
    前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答である場合、予め用意された、話題を変えるための応答文を生成する第2応答生成手段、及び
    前記否定表現が含まれていると判定された場合であって、かつ、前回生成された応答文の応答の種類が、並列する目的語を尋ねる応答でない場合、予め用意された相槌の応答文を生成する第3応答生成手段
    として機能させるためのプログラム。
JP2009113237A 2009-05-08 2009-05-08 応答生成装置及びプログラム Expired - Fee Related JP5136512B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009113237A JP5136512B2 (ja) 2009-05-08 2009-05-08 応答生成装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009113237A JP5136512B2 (ja) 2009-05-08 2009-05-08 応答生成装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2010262147A JP2010262147A (ja) 2010-11-18
JP5136512B2 true JP5136512B2 (ja) 2013-02-06

Family

ID=43360258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009113237A Expired - Fee Related JP5136512B2 (ja) 2009-05-08 2009-05-08 応答生成装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5136512B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101565658B1 (ko) 2012-11-28 2015-11-04 포항공과대학교 산학협력단 기억 능력을 이용한 대화 관리 방법 및 장치
CN109887485A (zh) 2013-05-31 2019-06-14 雅马哈株式会社 利用言语合成对话语进行响应的技术
JP6375605B2 (ja) * 2013-09-25 2018-08-22 ヤマハ株式会社 音声制御装置、音声制御方法およびプログラム
JP6295869B2 (ja) * 2014-07-23 2018-03-20 トヨタ自動車株式会社 応答生成装置、応答生成方法及びプログラム
JP6696923B2 (ja) * 2017-03-03 2020-05-20 国立大学法人京都大学 音声対話装置、その処理方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152723A (ja) * 1993-11-30 1995-06-16 Nippon Telegr & Teleph Corp <Ntt> 対話処理装置
JP3452257B2 (ja) * 2000-12-01 2003-09-29 株式会社ナムコ 模擬会話システム、及び情報記憶媒体
JP4192492B2 (ja) * 2002-05-09 2008-12-10 日本電気株式会社 対話エージェント
JP2004347943A (ja) * 2003-05-23 2004-12-09 Clarion Co Ltd データ処理装置、楽曲再生装置、データ処理装置の制御プログラムおよび楽曲再生装置の制御プログラム

Also Published As

Publication number Publication date
JP2010262147A (ja) 2010-11-18

Similar Documents

Publication Publication Date Title
US8150692B2 (en) Method and apparatus for recognizing a user personality trait based on a number of compound words used by the user
US10460034B2 (en) Intention inference system and intention inference method
US10452352B2 (en) Voice interaction apparatus, its processing method, and program
US11688416B2 (en) Method and system for speech emotion recognition
JP5195414B2 (ja) 応答生成装置及びプログラム
JP7059813B2 (ja) 音声対話システム、その処理方法及びプログラム
JP2010020390A (ja) 感情推定装置及び感情推定プログラム
JP2013167985A (ja) 談話要約生成システムおよび談話要約生成プログラム
JP5136512B2 (ja) 応答生成装置及びプログラム
JP5044783B2 (ja) 自動回答装置および方法
JP5867410B2 (ja) 対話テキスト解析装置、方法およびプログラム
JP2019211515A (ja) 音声対話システム、その処理方法及びプログラム
JP2009163620A (ja) 応答生成装置、及び応答生成プログラム
JP4992925B2 (ja) 音声対話装置及びプログラム
JP2008276543A (ja) 対話処理装置、応答文生成方法、及び応答文生成処理プログラム
JP6712754B2 (ja) 談話機能推定装置及びそのためのコンピュータプログラム
KR20060057921A (ko) 대화형 음성인식 시스템의 인식오류 수정장치 및 그 방법
JP2010282404A (ja) 対話処理装置、対話処理方法、及び対話処理プログラム
JP6097791B2 (ja) 話題継続願望判定装置、方法、及びプログラム
JP2023034235A (ja) テキスト要約方法、テキスト要約システム
JP2009198871A (ja) 音声対話装置
JP6538399B2 (ja) 音声処理装置、音声処理方法およびプログラム
JP3956730B2 (ja) 言語処理装置
JP2016080980A (ja) 応答生成装置、応答生成方法及び応答生成プログラム
JP2023007014A (ja) 応答システム、応答方法、および応答プログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121004

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121029

R151 Written notification of patent or utility model registration

Ref document number: 5136512

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees