(57)【要約】【課題】異なる音声的特徴で発話された場合であっても、ユーザの発話に対して、適切な相槌を生成して出力する。【解決手段】抽出された複数の事態４４の各々と、演算された各グループの頻度４６とを対応付けた事態頻度データベース４８を生成し、マイク１６に入力されたユーザの発話に含まれる事態と一致する事態頻度データベース４８に登録されている事態４４に対応する頻度４６の大きさに基づいて、ユーザの発話に含まれる事態が人間が驚く内容であるか否かを判別し、驚く内容であると判別された場合には、応答するための驚きを表す相槌を生成し、生成された相槌を出力する。【選択図】図１
2009150990.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの発話が入力される入力手段と、
多数の文が登録されている文登録手段から、複数の文を抽出する文抽出手段と、
前記文抽出手段によって抽出された複数の文の各々を解析することにより、述語を含む事態を複数抽出すると共に、前記入力手段に入力されたユーザの発話に含まれる前記事態を抽出する事態抽出手段と、
前記事態抽出手段によって抽出され、かつ前記文登録手段より得られた複数の事態を、同一の事態が１つのグループに含まれるように分類したときの各グループに含まれる事態の個数を各グループの頻度として演算する演算手段と、
前記事態抽出手段によって抽出された複数の事態の各々と、前記演算手段によって演算された各グループの頻度とを対応付けた事態頻度データベースを生成する事態頻度データベース生成手段と、
前記入力手段に入力されたユーザの発話に含まれる前記事態と一致する前記事態頻度データベースに登録されている事態に対応する頻度の大きさに基づいて、前記ユーザの発話に含まれる事態が人間が驚く内容であるか否かを判別する判別手段と、
前記判別手段によって驚く内容であると判別された場合には、応答するための驚きを表す相槌を生成する応答生成手段と、
前記応答生成手段によって生成された相槌を出力する出力手段と、
を含む応答生成装置。
【請求項２】
前記応答生成手段は、前記判別手段によって驚く内容であると判別された場合には、前記ユーザの発話に含まれる事態に対応する頻度の大きさに応じた驚きを表す相槌を生成する請求項１記載の応答生成装置。
【請求項３】
ユーザの発話が入力される入力手段と、
多数の文が登録されている文登録手段から、複数の文を抽出する文抽出手段と、
前記文抽出手段によって抽出された複数の文の各々を解析することにより、述語を含む事態を複数抽出し、抽出した複数の事態の中から、因果関係を表す事態のペアを複数抽出すると共に、前記入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアを抽出する事態抽出手段と、
前記事態抽出手段によって抽出され、かつ前記文登録手段により得られた複数の事態のペアを、同一の事態のペアが１つのグループに含まれるように分類したときの各グループに含まれる事態のペアの個数を各グループの頻度として演算する演算手段と、
前記事態抽出手段によって抽出された複数の事態のペアの各々と、前記演算手段によって演算された各グループの頻度とを対応付けた事態間因果関係頻度データベースを生成する事態間因果関係頻度データベース生成手段と、
前記入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアと一致する前記事態間因果関係頻度データベースに登録されている事態のペアに対応する頻度の大きさに基づいて、前記ユーザの発話に含まれる因果関係を表す事態のペアが人間が同意する内容であるか否かを判別する判別手段と、
前記判別手段によって同意する内容であると判別された場合には、応答するための同意を表す相槌を生成する応答生成手段と、
前記応答生成手段によって生成された相槌を出力する出力手段と、
を含む応答生成装置。
【請求項４】
前記応答生成手段は、前記判別手段によって同意すべき内容であると判別された場合には、前記ユーザの発話に含まれる事態のペアに対応する頻度の大きさに応じた同意を表す相槌を生成する請求項３記載の応答生成装置。
【請求項５】
コンピュータを
多数の文が登録されている文登録手段から、複数の文を抽出する文抽出手段、
前記文抽出手段によって抽出された複数の文の各々を解析することにより、述語を含む事態を複数抽出すると共に、ユーザの発話が入力される入力手段に入力されたユーザの発話に含まれる前記事態を抽出する事態抽出手段、
前記事態抽出手段によって抽出され、かつ前記文登録手段より得られた複数の事態を、同一の事態が１つのグループに含まれるように分類したときの各グループに含まれる事態の個数を各グループの頻度として演算する演算手段、
前記事態抽出手段によって抽出された複数の事態の各々と、前記演算手段によって演算された各グループの頻度とを対応付けた事態頻度データベースを生成する事態頻度データベース生成手段、
前記入力手段に入力されたユーザの発話に含まれる前記事態と一致する前記事態頻度データベースに登録されている事態に対応する頻度の大きさに基づいて、前記ユーザの発話に含まれる事態が人間が驚く内容であるか否かを判別する判別手段、
前記判別手段によって驚く内容であると判別された場合には、応答するための驚きを表す相槌を生成する応答生成手段、及び
前記応答生成手段によって生成された相槌を出力するように出力手段を制御する出力制御手段
として機能させるためのプログラム。
【請求項６】
コンピュータを
多数の文が登録されている文登録手段から、複数の文を抽出する文抽出手段、
前記文抽出手段によって抽出された複数の文の各々を解析することにより、述語を含む事態を複数抽出し、抽出した複数の事態の中から、因果関係を表す事態のペアを複数抽出すると共に、ユーザの発話が入力される入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアを抽出する事態抽出手段、
前記事態抽出手段によって抽出され、かつ前記文登録手段により得られた複数の事態のペアを、同一の事態のペアが１つのグループに含まれるように分類したときの各グループに含まれる事態のペアの個数を各グループの頻度として演算する演算手段、
前記事態抽出手段によって抽出された複数の事態のペアの各々と、前記演算手段によって演算された各グループの頻度とを対応付けた事態間因果関係頻度データベースを生成する事態間因果関係頻度データベース生成手段、
前記入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアと一致する前記事態間因果関係頻度データベースに登録されている事態のペアに対応する頻度の大きさに基づいて、前記ユーザの発話に含まれる因果関係を表す事態のペアが人間が同意する内容であるか否かを判別する判別手段、
前記判別手段によって同意する内容であると判別された場合には、応答するための同意を表す相槌を生成する応答生成手段、及び
前記応答生成手段によって生成された相槌を出力するように出力手段を制御する出力制御手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話応答生成装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザ発話の音声情報を解析することにより得られたユーザ発話の音声的特徴に基づいて、複数の相槌語彙の中から出力する相槌語彙を選択すると共に、相槌を打つタイミングを決定し、決定したタイミングで選択した相槌語彙を出力する会話処理装置が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００４−８６００１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に記載の会話処理装置では、同一の内容を表す発話であっても異なる音声的特徴で発話された場合には、異なる相槌語彙が選択されてしまい、不適切な相槌語彙が出力されてしまう場合がある。すなわち、例えば、「昨日は牛丼を三人前食べた」というユーザの発話に対して、通常出力されると考えられる驚きを表す相槌語彙が出力されずに、驚きを表す相槌語彙以外の不適切な相槌語彙が選択されて出力されてしまう、という問題がある。
【０００４】
本発明は上述した問題を解決するために成されたものであり、異なる音声的特徴で発話された場合であっても、ユーザの発話に対して、適切な相槌を生成して出力することができる応答生成装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するために、本発明の応答生成装置は、ユーザの発話が入力される入力手段と、多数の文が登録されている文登録手段から、複数の文を抽出する文抽出手段と、前記文抽出手段によって抽出された複数の文の各々を解析することにより、述語を含む事態を複数抽出すると共に、前記入力手段に入力されたユーザの発話に含まれる前記事態を抽出する事態抽出手段と、前記事態抽出手段によって抽出され、かつ前記文登録手段より得られた複数の事態を、同一の事態が１つのグループに含まれるように分類したときの各グループに含まれる事態の個数を各グループの頻度として演算する演算手段と、前記事態抽出手段によって抽出された複数の事態の各々と、前記演算手段によって演算された各グループの頻度とを対応付けた事態頻度データベースを生成する事態頻度データベース生成手段と、前記入力手段に入力されたユーザの発話に含まれる前記事態と一致する前記事態頻度データベースに登録されている事態に対応する頻度の大きさに基づいて、前記ユーザの発話に含まれる事態が人間が驚く内容であるか否かを判別する判別手段と、前記判別手段によって驚く内容であると判別された場合には、応答するための驚きを表す相槌を生成する応答生成手段と、前記応答生成手段によって生成された相槌を出力する出力手段とを含んで構成されている。
【０００６】
本発明の応答生成装置によれば、多数の文が登録されている文登録手段から抽出された複数の文の各々を解析することにより、述語を含む事態が複数抽出されると共に、入力手段に入力されたユーザの発話に含まれる事態が抽出される。そして、抽出され、かつ文登録手段より得られた複数の事態を、同一の事態が１つのグループに含まれるように分類したときの各グループに含まれる事態の個数を各グループの頻度として演算する。そして、抽出された複数の事態の各々と、演算された各グループの頻度とを対応付けた事態頻度データベースが生成される。一方、判別手段が、入力手段に入力されたユーザの発話に含まれる事態と一致する事態頻度データベースに登録されている事態に対応する頻度の大きさに基づいて、ユーザの発話に含まれる事態が人間が驚く内容であるか否かを判別する。そして、驚く内容であると判別された場合には、応答生成手段が応答するための驚きを表す相槌を生成し、出力手段が生成された相槌を出力する。従って、本発明の応答生成装置によれば、頻度の大きさに基づいて驚く内容であるか否かを判別し、相槌を生成して出力しているので、異なる音声的特徴で発話された場合であっても、ユーザの発話に対して、適切な相槌を生成して出力することができる。
【０００７】
前記応答生成手段を、前記判別手段によって驚く内容であると判別された場合には、前記ユーザの発話に含まれる事態に対応する頻度の大きさに応じた驚きを表す相槌を生成するようにしてもよい。これにより、ユーザの発話に含まれる事態に対応した頻度の大きさに応じた驚きを表す相槌を出力することができる。
【０００８】
また、上記の目的を達成するために、本発明の応答生成装置は、ユーザの発話が入力される入力手段と、多数の文が登録されている文登録手段から、複数の文を抽出する文抽出手段と、前記文抽出手段によって抽出された複数の文の各々を解析することにより、述語を含む事態を複数抽出し、抽出した複数の事態の中から、因果関係を表す事態のペアを複数抽出すると共に、前記入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアを抽出する事態抽出手段と、前記事態抽出手段によって抽出され、かつ前記文登録手段により得られた複数の事態のペアを、同一の事態のペアが１つのグループに含まれるように分類したときの各グループに含まれる事態のペアの個数を各グループの頻度として演算する演算手段と、前記事態抽出手段によって抽出された複数の事態のペアの各々と、前記演算手段によって演算された各グループの頻度とを対応付けた事態間因果関係頻度データベースを生成する事態間因果関係頻度データベース生成手段と、前記入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアと一致する前記事態間因果関係頻度データベースに登録されている事態のペアに対応する頻度の大きさに基づいて、前記ユーザの発話に含まれる因果関係を表す事態のペアが人間が同意する内容であるか否かを判別する判別手段と、前記判別手段によって同意する内容であると判別された場合には、応答するための同意を表す相槌を生成する応答生成手段と、前記応答生成手段によって生成された相槌を出力する出力手段とを含んで構成されている。
【０００９】
本発明の応答生成装置によれば、多数の文が登録されている文登録手段から抽出された複数の文の各々を解析することにより、述語を含む事態が複数抽出され、抽出された複数の事態の中から、因果関係を表す事態のペアが複数抽出されると共に、入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアが抽出される。そして、抽出され、かつ文登録手段より得られた複数の事態のペアを、同一の事態のペアが１つのグループに含まれるように分類したときの各グループに含まれる事態のペアの個数を各グループの頻度として演算する。そして、抽出された複数の事態のペアの各々と、演算された各グループの頻度とを対応付けた事態間因果関係頻度データベースが生成される。一方、判別手段が、入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアと一致する事態間因果関係頻度データベースに登録されている事態のペアに対応する頻度の大きさに基づいて、ユーザの発話に含まれる因果関係を表す事態のペアが人間が同意する内容であるか否かを判別する。そして、同意する内容であると判別された場合には、応答生成手段が応答するための同意を表す相槌を生成し、出力手段が生成された相槌を出力する。従って、本発明の応答生成装置によれば、頻度の大きさに基づいて同意する内容であるか否かを判別し、相槌を生成して出力しているので、異なる音声的特徴で発話された場合であっても、ユーザの発話に対して、適切な相槌を生成して出力することができる。
【００１０】
前記応答生成手段を、前記判別手段によって同意すべき内容であると判別された場合には、前記ユーザの発話に含まれる事態のペアに対応する頻度の大きさに応じた同意を表す相槌を生成するようにしてもよい。これにより、ユーザの発話に含まれる事態のペアに対応した頻度の大きさに応じた同意を表す相槌を出力することができる。
【００１１】
また、上記の目的を達成するために、本発明のプログラムは、コンピュータを多数の文が登録されている文登録手段から、複数の文を抽出する文抽出手段、前記文抽出手段によって抽出された複数の文の各々を解析することにより、述語を含む事態を複数抽出すると共に、ユーザの発話が入力される入力手段に入力されたユーザの発話に含まれる前記事態を抽出する事態抽出手段、前記事態抽出手段によって抽出され、かつ前記文登録手段より得られた複数の事態を、同一の事態が１つのグループに含まれるように分類したときの各グループに含まれる事態の個数を各グループの頻度として演算する演算手段、前記事態抽出手段によって抽出された複数の事態の各々と、前記演算手段によって演算された各グループの頻度とを対応付けた事態頻度データベースを生成する事態頻度データベース生成手段、前記入力手段から入力されたユーザの発話に含まれる前記事態と一致する前記事態頻度データベースに登録されている事態に対応する頻度の大きさに基づいて、前記ユーザの発話に含まれる事態が人間が驚く内容であるか否かを判別する判別手段、前記判別手段によって驚く内容であると判別された場合には、応答するための驚きを表す相槌を生成する応答生成手段、及び前記応答生成手段によって生成された相槌を出力するように出力手段を制御する出力制御手段として機能させる。
【００１２】
本発明のプログラムによれば、多数の文が登録されている文登録手段から抽出された複数の文の各々を解析することにより、述語を含む事態が複数抽出されると共に、入力手段に入力されたユーザの発話に含まれる事態が抽出される。そして、抽出され、かつ文登録手段より得られた複数の事態を、同一の事態が１つのグループに含まれるように分類したときの各グループに含まれる事態の個数を各グループの頻度として演算する。そして、抽出された複数の事態の各々と、演算された各グループの頻度とを対応付けた事態頻度データベースが生成される。一方、判別手段が、入力手段に入力されたユーザの発話に含まれる事態と一致する事態頻度データベースに登録されている事態に対応する頻度の大きさに基づいて、ユーザの発話に含まれる事態が人間が驚く内容であるか否かを判別する。そして、驚く内容であると判別された場合には、応答生成手段が応答するための驚きを表す相槌を生成し、出力制御手段が生成された相槌を出力するように出力手段を制御する。従って、本発明のプログラムによれば、頻度の大きさに基づいて驚く内容であるか否かを判別し、相槌を生成して出力するように制御しているので、異なる音声的特徴で発話された場合であっても、ユーザの発話に対して、適切な相槌を生成して出力することができる。
【００１３】
また、上記の目的を達成するために、本発明のプログラムは、コンピュータを多数の文が登録されている文登録手段から、複数の文を抽出する文抽出手段、前記文抽出手段によって抽出された複数の文の各々を解析することにより、述語を含む事態を複数抽出し、抽出した複数の事態の中から、因果関係を表す事態のペアを複数抽出すると共に、ユーザの発話が入力される入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアを抽出する事態抽出手段、前記事態抽出手段によって抽出され、かつ前記文登録手段により得られた複数の事態のペアを、同一の事態のペアが１つのグループに含まれるように分類したときの各グループに含まれる事態のペアの個数を各グループの頻度として演算する演算手段、前記事態抽出手段によって抽出された複数の事態のペアの各々と、前記演算手段によって演算された各グループの頻度とを対応付けた事態間因果関係頻度データベースを生成する事態間因果関係頻度データベース生成手段、前記入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアと一致する前記事態間因果関係頻度データベースに登録されている事態のペアに対応する頻度の大きさに基づいて、前記ユーザの発話に含まれる因果関係を表す事態のペアが人間が同意する内容であるか否かを判別する判別手段、前記判別手段によって同意する内容であると判別された場合には、応答するための同意を表す相槌を生成する応答生成手段、及び前記応答生成手段によって生成された相槌を出力するように出力手段を制御する出力制御手段として機能させる。
【００１４】
本発明のプログラムによれば、多数の文が登録されている文登録手段から抽出された複数の文の各々を解析することにより、述語を含む事態が複数抽出され、抽出された複数の事態の中から、因果関係を表す事態のペアが複数抽出されると共に、入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアが抽出される。そして、抽出され、かつ文登録手段より得られた複数の事態のペアを、同一の事態のペアが１つのグループに含まれるように分類したときの各グループに含まれる事態のペアの個数を各グループの頻度として演算する。そして、抽出された複数の事態のペアの各々と、演算された各グループの頻度とを対応付けた事態間因果関係頻度データベースが生成される。一方、判別手段が、入力手段に入力されたユーザの発話に含まれる因果関係を表す事態のペアと一致する事態間因果関係頻度データベースに登録されている事態のペアに対応する頻度の大きさに基づいて、ユーザの発話に含まれる因果関係を表す事態のペアが人間が同意する内容であるか否かを判別する。そして、同意する内容であると判別された場合には、応答生成手段が応答するための同意を表す相槌を生成し、出力制御手段が生成された相槌を出力するように出力手段を制御する。従って、本発明のプログラムによれば、頻度の大きさに基づいて同意する内容であるか否かを判別し、相槌を生成して出力するように制御しているので、異なる音声的特徴で発話された場合であっても、ユーザの発話に対して、適切な相槌を生成して出力することができる。
【発明の効果】
【００１５】
以上説明したように、本発明の応答生成装置、及びプログラムによれば、異なる音声的特徴で発話された場合であっても、ユーザの発話に対して、適切な相槌を生成して出力することができる、という効果が得られる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の応答生成装置の実施の形態を詳細に説明する。なお、以下では、本発明をパーソナル・コンピュータを用いて実現した場合を例として説明する。
【００１７】
図１に示すように、本実施の形態に係る応答生成装置１０は、ユーザからの各種指示及び各種情報が入力されるマウスやキーボードなどの入力装置１２と、各種情報を表示するディスプレイ１４と、ユーザの発話が入力される入力手段としてのマイク１６と、音声出力手段としてのスピーカ１８と、コンピュータ本体２０とを備えている。
【００１８】
コンピュータ本体２０は、インタフェース２２、表示制御部２４、インタフェース２６、スピーカ制御部２８、Ｉ／Ｏ（入出力）ポート３０、ＲＯＭ（Read Only Memory）３２、ＨＤＤ（Hard Disk Drive）３４、ＣＰＵ（Central Processing Unit）３６、ＲＡＭ（Random Access Memory）３８、及びこれらＩ／Ｏポート３０とＲＯＭ３２とＨＤＤ３４とＣＰＵ３６とＲＡＭ３８とを互いに接続するバス４０を含んで構成されている。
【００１９】
インタフェース２２は、入力装置１２から入力された指示や情報をＩ／Ｏポート３０へ出力する。表示制御部２４は、入力された情報に基づいた画像がディスプレイ１４に表示されるように、ディスプレイ１４の表示を制御する。インタフェース２６は、マイク１６に入力されたユーザの発話の音声を示す音声信号をＩ／Ｏポート３０へ出力する。スピーカ制御部２８は、入力された情報に基づいた音声がスピーカ１８から出力されるようにスピーカ１８から出力される音声を制御する。
【００２０】
記憶媒体としてのＲＯＭ３２には、ＯＳ等の基本プログラムが記憶されている。
【００２１】
記憶媒体としてのＨＤＤ３４には、詳細を以下で説明する制御処理、事態頻度データベース生成処理、事態間因果関係頻度データベース生成処理、及び発話応答生成処理の各処理の処理ルーチンを実行するための各プログラムが記憶されている。
【００２２】
また、ＨＤＤ３４には、図２に示すような、テキストや発話の文が多数登録されている文登録手段としてのコーパスデータベース（コーパスＤＢ）４２が記憶されている（図２の例では、「夕焼けがきれいだ。」、「牛丼を３人前食べた。」等の文が登録されている）。また、ＨＤＤ３４には、詳細を後述する事態頻度データベース及び事態間因果関係頻度データベースが記憶される。
【００２３】
ＣＰＵ１４ｃは、プログラムをＲＯＭ１４ａ及びＨＤＤ１４ｂから読み出して実行する。
【００２４】
ＲＡＭ１４ｄには、各種データが一時的に記憶される。
【００２５】
Ｉ／Ｏポート１４ｅには、インタフェース２２、表示制御部２４、インタフェース２６、及びスピーカ制御部２８が接続されている。
【００２６】
次に、コンピュータ本体２０のＣＰＵ３６が実行する制御処理の処理ルーチンについて図３を用いて説明する。なお、本実施の形態において、本制御処理は、応答生成装置１０のスイッチ（図示せず）がオンされた時点から所定時間間隔（例えば、数１０ｍｓｅｃ）毎に実行される。
【００２７】
まず、ステップ１００で、入力装置１２から指示を受信したか否かを判定する。なお、本実施の形態では、入力装置１２からは、詳細を後述する事態頻度データベース生成処理を実行するための指示、事態間因果関係頻度データベース生成処理を実行するための指示、及び発話応答生成処理を実行するための指示が入力される。
【００２８】
ステップ１００で、入力装置１２から指示を受信したと判定されると、次のステップ１０２へ進む。ステップ１０２では、受信した指示は、事態頻度データベース生成処理を実行するための指示であるか否かを判定する。
【００２９】
ステップ１０２で、事態頻度データベース生成処理を実行するための指示であると判定された場合には、次のステップ１０４で詳細を以下で説明する事態頻度データベース生成処理を実行する。そして、本制御処理を終了する。
【００３０】
一方、ステップ１０２で、事態頻度データベース生成処理を実行するための指示ではないと判定された場合には、次のステップ１０６へ進む。ステップ１０６では、受信した指示は、事態間因果関係頻度データベース生成処理を実行するための指示であるか否かを判定する。
【００３１】
ステップ１０６で、事態間因果関係頻度データベース生成処理を実行するための指示であると判定された場合には、次のステップ１０８で詳細を以下で説明する事態間因果関係頻度データベース生成処理を実行する。そして、本制御処理を終了する。
【００３２】
一方、ステップ１０６で、事態間因果関係頻度データベース生成処理を実行するための指示ではないと判定された場合には、受信した指示は発話応答生成処理を実行するための指示であると判断して、次のステップ１１０で詳細を以下で説明する発話応答生成処理を実行する。そして、本制御処理を終了する。
【００３３】
次に、ステップ１０４の事態頻度データベース生成処理の処理ルーチンの詳細について図４を用いて説明する。
【００３４】
まず、ステップ２００で、ＨＤＤ３４に記憶されているコーパスＤＢ４２を読み込んで、コーパスＤＢ４２に登録されている一文を抽出する。なお、ステップ２００は本発明の文抽出手段に対応する。
【００３５】
次のステップ２０２では、ステップ２００で抽出された一文に対して、形態素解析を行なう。ステップ２０２では、例えば、「牛丼を３人前食べたので満足した」という一文に対して、形態素解析を行って、図５に示すような「牛丼（名詞）」、「を（助詞）」、「３（名詞）」、「人（名詞）」、「前（名詞）」、「食べ（動詞）」、「た（助動詞）」、「ので（助詞）」、「満足（名詞）」、「し（動詞）」、「た（助動詞）」という形態素解析結果を得る。
【００３６】
次のステップ２０４では、ステップ２０２での形態素解析の結果を用いて、コーパスＤＢ４２から抽出された一文に対して、係り受け解析を行う。例えば、「牛丼（名詞）」、「を（助詞）」、「３（名詞）」、「人（名詞）」、「前（名詞）」、「食べ（動詞）」、「た（助動詞）」、「ので（助詞）」、「満足（名詞）」、「し（動詞）」、「た（助動詞）」という形態素解析結果を用いて、係り受け解析を行った場合には、係り受け解析結果として、図６に示すように、「牛丼  を  食べた」、「３人前  食べた」、「食べた  ので  満足  した」を得る。
【００３７】
次のステップ２０６では、ステップ２０４の係り受け解析結果に基づいて、ステップ２００で抽出された一文に対して、述語を含む文節があるか否かを判定する。例えば、ステップ２０６では、ステップ２００で抽出された一文が「牛丼を３人前食べたので満足した」という文である場合には、「牛丼  を  食べた」、「３人前  食べた」、「食べた  ので  満足  した」という係り受け解析結果に基づいて、「食べた」、「満足した」という述語を含む文節があると判定する。
【００３８】
ステップ２０６で、述語を含む文節がないと判定された場合には、ステップ２００へ戻って、コーパスＤＢ４２からまだ抽出されていない一文を抽出して上記で説明した処理を再び行う。
【００３９】
一方、ステップ２０６で、述語を含む文節があると判定された場合には、次のステップ２０８へ進む。ステップ２０８では、述語を含む文節に係る文節を再帰的に抽出することで、述語を含む事態を抽出する。例えば、ステップ２０８では、ステップ２００で抽出された一文が「牛丼を３人前食べたので満足した」という文である場合には、「牛丼  を  食べた」、「３人前  食べた」、「食べた  ので  満足  した」という係り受け解析結果に基づいて、「牛丼を３人前食べた」、「満足した」という２つの事態が抽出される。
【００４０】
次のステップ２１０では、コーパスＤＢ４２に登録されている全ての文について上記の処理が行われたか否かを判定する。例えば、ステップ２１０では、全ての文についてステップ２００で抽出されたか否かを判定することにより、全ての文について処理が行われたか否かを判定するようにしてもよい。
【００４１】
ステップ２１０で、全ての文について上記の処理が行われていないと判定された場合には、ステップ２００へ戻って、コーパスＤＢ４２からまだ抽出されていない一文を抽出して上記で説明した処理を再び行う。
【００４２】
一方、ステップ２１０で、全ての文について上記の処理が行われたと判定された場合には、次のステップ２１２へ進む。ステップ２１２では、上記のステップ２０８で抽出された事態毎に、抽出された回数を頻度としてカウントする演算を行う。すなわち、同一の事態が１つのグループに含まれるように分類したときの各グループに含まれる事態の個数を各グループの頻度として演算する。
【００４３】
次のステップ２１４では、上記のステップ２０８で抽出された複数の事態の各々と、この複数の事態の各々に対応する上記のステップ２１２で演算された各グループの頻度とを対応付けた事態頻度データベースを生成し、生成した事態頻度データベースをＨＤＤ３４に記憶する。そして、本事態頻度データベース生成処理を終了する。
【００４４】
以上、説明したように、本事態頻度データベース生成処理によって、図７に示すような、事態４４と対応する頻度４６とを対応付けた事態頻度データベース４８が生成される。なお、図７の例では、例えば「牛丼を３人前食べた」という事態に対して、頻度が「２０」であることを表している。また、「週末旅行に行った」という事態に対して、頻度が「１３０００」であることを表している。すなわち、事態頻度データベース４８に登録されている頻度の大きさが大きいほど（数値が大きいほど）、その頻度に対応する事態は一般的であることを表しており、頻度の大きさが低いほど（数値が小さいほど）、その頻度に対応する事態は人間が驚く内容であることを表している。
【００４５】
次に、ステップ１０８の事態間因果関係頻度データベース生成処理の処理ルーチンの詳細について図８を用いて説明する。
【００４６】
まず、ステップ３００で、ＨＤＤ３４に記憶されているコーパスＤＢ４２を読み込んで、コーパスＤＢ４２に登録されている一文を抽出する。
【００４７】
次のステップ３０２では、ステップ３００で抽出された一文に対して、形態素解析を行なう。ステップ３０２では、例えば、ステップ３００で「朝ご飯食べてないからお腹すいた」という一文が抽出された場合にはこの一文に対して、形態素解析を行って、図９に示すような「朝（名詞）」、「ご飯（名詞）」、「食べ（動詞）」、「て（動詞）」、「ない（助動詞）」、「から（助詞）」、「お腹（名詞）」、「すい（動詞）」、「た（助動詞）」という形態素解析結果を得る。
【００４８】
次のステップ３０４では、ステップ３０２での形態素解析の結果を用いて、コーパスＤＢ４２から抽出された一文に対して、係り受け解析を行う。例えば、「朝（名詞）」、「ご飯（名詞）」、「食べ（動詞）」、「て（動詞）」、「ない（助動詞）」、「から（助詞）」、「お腹（名詞）」、「すい（動詞）」、「た（助動詞）」という形態素解析結果を用いて、係り受け解析を行った場合には、係り受け解析結果として、図１０に示すように、「朝ご飯  食べてない」、「食べてないから  お腹すいた」を得る。
【００４９】
次のステップ３０６では、ステップ３０４の係り受け解析結果に基づいて、ステップ３００で抽出された一文に対して、因果関係にある原因を示す文節と結果を示す文節とを接続する接続表現「ので」、「から」、及び「ため」の何れかを介して係り受け関係にあり、かつ述語を含む文節のペアがあるか否かを判定する。例えば、ステップ３０６では、ステップ３００で抽出された一文が「朝ご飯食べてないからお腹すいた」という文である場合には、「朝ご飯  食べてない」、「食べてないから  お腹すいた」という係り受け解析結果に基づいて、「食べてない」−「すいた」という述語を含む文節のペアがあると判定する。
【００５０】
ステップ３０６で、述語を含む文節のペアがないと判定された場合には、ステップ３００へ戻って、コーパスＤＢ４２からまだ抽出されていない一文を抽出して上記で説明した処理を再び行う。
【００５１】
一方、ステップ３０６で、述語を含む文節のペアがあると判定された場合には、次のステップ３０８へ進む。ステップ３０８では、述語を含む文節に係る文節を再帰的に抽出することで、因果関係にある事態のペアを抽出する。例えば、ステップ３０８では、ステップ３００で抽出された一文が「朝ご飯食べてないからお腹すいた」という文である場合には、「朝ご飯  食べてない」、「食べてないから  お腹すいた」という係り受け解析結果に基づいて、「朝ご飯食べてない」−「お腹すいた」という事態のペアが抽出される。なお、ここで、「朝ご飯食べてない」という事態は因果関係における原因に相当し、「お腹すいた」という事態は因果関係における結果に相当する。
【００５２】
次のステップ３１０では、コーパスＤＢ４２に登録されている全ての文について上記の処理が行われたか否かを判定する。例えば、ステップ３１０では、全ての文についてステップ３００で抽出されたか否かを判定することにより、全ての文について処理が行われたか否かを判定するようにしてもよい。
【００５３】
ステップ３１０で、全ての文について上記の処理が行われていないと判定された場合には、ステップ３００へ戻って、コーパスＤＢ４２からまだ抽出されていない一文を抽出して上記で説明した処理を再び行う。
【００５４】
一方、ステップ３１０で、全ての文について上記の処理が行われたと判定された場合には、次のステップ３１２へ進む。ステップ３１２では、上記のステップ３０８で抽出された事態のペア毎に、抽出された回数を頻度としてカウントする演算を行う。すなわち、上記のステップ３０８で抽出された複数の事態のペアを、同一の事態のペアが１つのグループに含まれるように分類したときの各グループに含まれる事態のペアの個数を各グループの頻度として演算する。
【００５５】
次のステップ３１４では、上記のステップ３０８で抽出された複数の事態のペアの各々と、この複数の事態のペアの各々に対応する上記のステップ３１２で演算された各グループの頻度とを対応付けた事態間因果関係頻度データベースを生成し、生成した事態間因果関係頻度データベースをＨＤＤ３４に記憶する。そして、本事態間因果関係頻度データベース生成処理を終了する。
【００５６】
以上、説明したように、本事態間因果関係頻度データベース生成処理によって、図１１に示すような、事態間因果関係５０と対応する頻度５２とを対応付けた事態間因果関係頻度データベース５４が生成される。事態間因果関係５０は、原因を表す事態５６とその原因による結果を表す事態５８とを含んでいる。なお、図１１の例では、例えば「朝ご飯食べてない」という原因を表す事態５６と「お腹すいた」という結果を表す事態５８とを含む事態間因果関係５０に対して、頻度５２が「１２０」であることを表している。また、「ペットを飼っている」という原因を表す事態５６と「世話が大変だ」という結果を表す事態５８とを含む事態間因果関係５０に対して、頻度５２が「３５」であることを表している。すなわち、事態間因果関係頻度データベース５４に登録されている頻度５２の大きさが大きいほど（数値が大きいほど）、その頻度５２に対応する因果関係（事態間因果関係５０における原因を表す事態５６と結果を表す事態５８との関係）は一般的であり同意できることを表しており、頻度５２の大きさが低いほど（数値が小さいほど）、その頻度５２に対応する因果関係は同意できないことを表している。
【００５７】
次に、ステップ１１０の発話応答生成処理の処理ルーチンの詳細について図１２を用いて説明する。
【００５８】
まず、ステップ４００で、マイク１６からの音声信号に基づいて、マイク１６にユーザの発話が入力されたか否かを判定する。
【００５９】
ステップ４００でユーザの発話が入力されたと判定された場合には、次のステップ４０２へ進む。ステップ４０２では、マイク１６に入力される音声信号を全てＨＤＤ３４に記憶することを開始することにより、ユーザの発話の内容を全て保持するための発話履歴保持処理を開始する。これにより、履歴としてユーザの発話の内容をＨＤＤ３４から取り出すことが可能となる。
【００６０】
次のステップ４０４では、入力されたユーザの発話に対して、上記と同様に、形態素解析、及び係り受け解析を行うことによりユーザの発話に含まれる事態の抽出を試みて、ユーザの発話から事態が抽出できたか否かを判定することによりユーザの発話に事態が含まれているか否かを判定する。例えば、入力されたユーザの発話が「牛丼を３人前食べたよ」という内容であった場合には、ステップ４０４では「牛丼を３人前食べた」という事態が含まれていると判定される。
【００６１】
ステップ４０４で、ユーザの発話に事態が含まれていないと判定された場合には、次のステップ４０６で、ユーザの発話を促進させるための相槌、例えば「ふーん。それで？」の語彙を生成する。
【００６２】
次のステップ４０８では、ステップ４０２で開始された発話履歴保持処理を終了させる。次のステップ４１０では、生成した相槌の語彙をスピーカ制御部２８に出力する。これにより、例えば、スピーカ制御部２８に「ふーん。それで？」の語彙が出力された場合には、スピーカ制御部２８の制御によってスピーカ１８から「ふーん。それで？」という相槌の音声が出力される。そして、本発話応答生成処理を終了する。
【００６３】
一方、ステップ４０４で、ユーザの発話に事態が含まれていると判定された場合には、次のステップ４１２へ進む。ステップ４１２では、ユーザの発話に含まれる事態と一致する事態頻度データベース４８に登録されている事態４４に対応する頻度４６の大きさが、所定の閾値（例えば、１００）以下であるか否かを判定する。なお、この所定の閾値については、実験的又は統計的に、人間にとって驚く内容となる事態の頻度の上限値を予め求めておき、この上限値を閾値として設定しておけばよい。
【００６４】
すなわち、ステップ４１２では、ユーザの発話に含まれる事態と一致する事態頻度データベース４８に登録されている事態４４に対応する頻度４６の大きさに基づいて、ユーザの発話に含まれる事態が人間が驚く内容であるか否かを判定している。
【００６５】
ステップ４１２で所定の閾値以下であると判定された場合には、ユーザの発話に含まれている事態が人間が驚く内容であると判断して、次のステップ４１４へ進む。ステップ４１４では、驚きを表す相槌、例えば、「本当に？」の語彙を生成する。そして、次のステップ４０８で発話履歴保持処理を終了させる。そして、次のステップ４１０では、生成した相槌の語彙をスピーカ制御部２８に出力する。これにより、例えば、スピーカ制御部２８に「本当に？」の語彙が出力された場合には、スピーカ制御部２８の制御によってスピーカ１８から「本当に？」という相槌の音声が出力される。そして、本発話応答生成処理を終了する。
【００６６】
一方、ステップ４１２で所定の閾値より大きいと判定された場合には、ユーザの発話に含まれている事態が人間が驚く内容ではないと判断して、次のステップ４１６へ進む。ステップ４１６では、直近のユーザの発話内において、事態間因果関係頻度データベース５４に登録されている原因を表す事態５６とその原因による結果を表す事態５８との事態のペア（すなわち、因果関係を表す事態のペア）が含まれているか否かを判定する。例えば、直近のユーザの発話が「あまりにお腹がすいたので牛丼を３人前食べたよ」という内容の場合に、図１１に示すような事態間因果関係頻度データベース５４がＨＤＤ３４に記憶されているときには、ステップ４１６では、「あまりにお腹がすいた」という事態５６と、「牛丼を３人前食べた」という事態５８との事態のペアが直近のユーザの発話に含まれていると判定する。また、例えば、直近のユーザの発話が「お腹がすいた」という内容の場合には、事態が１つしか含まれていないので、ステップ４１６では、事態のペアが直近のユーザの発話に含まれていないと判定する。
【００６７】
ステップ４１６で因果関係を表す事態のペアが直近のユーザの発話に含まれていると判定された場合には、次のステップ４１８で、事態間因果関係頻度データベース５４に登録されている対応する因果関係５０を特定し、特定した因果関係５０に対応する頻度５２の数値が所定の閾値以上であるか否かを判定する。なお、この所定の閾値については、実験的又は統計的に、同意すべき内容となる事態の頻度の値の下限値を予め求めておき、この下限値を閾値として設定しておけばよい。すなわち、ステップ４１８では、ユーザの発話に含まれる因果関係を表す事態５６、５８のペアと一致する事態間因果関係頻度データベース４８に登録されている事態５６、５８のペアに対応する頻度５２の大きさに基づいて、ユーザの発話に含まれる因果関係を表す事態のペアが人間が同意する内容であるか否かを判定する。
【００６８】
ステップ４１８で所定の閾値以上であると判定された場合には、次のステップ４２０へ進む。ステップ４２０では、同意を表す相槌、例えば、「あー、そうだよね。」の語彙を生成する。そして、次のステップ４０８で発話履歴保持処理を終了させる。そして、次のステップ４１０では、生成した相槌の語彙をスピーカ制御部２８に出力する。これにより、例えば、スピーカ制御部２８に「あー、そうだよね。」の語彙が出力された場合には、スピーカ制御部２８の制御によってスピーカ１８から「あー、そうだよね。」という相槌の音声が出力される。そして、本発話応答生成処理を終了する。
【００６９】
一方、ステップ４１８で所定の閾値未満であると判定された場合には、上記のステップ４０６へ進む。
【００７０】
また、ステップ４１６で因果関係を表す事態のペアが直近のユーザの発話に含まれていないと判定された場合には、次のステップ４２２へ進む。次のステップ４２２では、発話履歴保持処理によってＨＤＤ３４に記憶されたユーザの発話の内容と、直近のユーザの発話の内容とにおいて、事態間因果関係頻度データベース５４に登録されている原因を表す事態５６とその原因による結果を表す事態５８との事態のペアが含まれているか否かを判定する。例えば、直近のユーザの発話が「牛丼を３人前食べた」であり、図１３に示すように、ＨＤＤ３４に記憶されたユーザの発話の内容に「あまりにお腹がすいてさ」が含まれている場合に、図１１に示すような事態間因果関係頻度データベース５４がＨＤＤ３４に記憶されているときには、ステップ４２２では、「あまりにお腹がすいた」という事態５６と、「牛丼を３人前食べた」という事態５８との事態のペアが、ＨＤＤ３４に記憶されたユーザの発話の内容と、直近のユーザの発話の内容との間に含まれていると判定する。
【００７１】
ステップ４２２で、発話履歴保持処理によってＨＤＤ３４に記憶されたユーザの発話の内容と、直近のユーザの発話の内容とにおいて、事態間因果関係頻度データベース５４に登録されている原因を表す事態５６とその原因による結果を表す事態５８との事態のペアが含まれていると判定された場合には、上述したステップ４１８へ進む。
【００７２】
一方、ステップ４２２で、発話履歴保持処理によってＨＤＤ３４に記憶されたユーザの発話の内容と、直近のユーザの発話の内容とにおいて、事態間因果関係頻度データベース５４に登録されている原因を表す事態５６とその原因による結果を表す事態５８との事態のペアが含まれていないと判定された場合には、上述したステップ４０６へ進む。
【００７３】
以上、説明したように、本実施の形態における応答生成装置１０は、多数の文が登録されている文登録手段としてのコーパスＤＢ４２から、複数の文を抽出し、抽出された複数の文の各々を解析することにより、述語を含む事態を複数抽出すると共に、マイク１６に入力されたユーザの発話に含まれる事態を抽出し、抽出され、かつコーパスＤＢ４２より得られた複数の事態を、同一の事態が１つのグループに含まれるように分類したときの各グループに含まれる事態の個数を各グループの頻度として演算し、抽出された複数の事態４４の各々と、演算された各グループの頻度４６とを対応付けた事態頻度データベース４８を生成し、マイク１６に入力されたユーザの発話に含まれる事態と一致する事態頻度データベース４８に登録されている事態４４に対応する頻度４６の大きさに基づいて、ユーザの発話に含まれる事態が人間が驚く内容であるか否かを判別し、驚く内容であると判別された場合には、応答するための驚きを表す相槌を生成し、生成された相槌を出力する。
【００７４】
従って、本発明の応答生成装置１０によれば、頻度の大きさに基づいて驚く内容であるか否かを判別し、相槌を生成して出力しているので、異なる音声的特徴で発話された場合であっても、ユーザの発話に対して、適切な相槌を生成して出力することができる。
【００７５】
また、本実施の形態における応答生成装置１０は、多数の文が登録されている文登録手段としてのコーパスＤＢ４２から、複数の文を抽出し、抽出された複数の文の各々を解析することにより、述語を含む事態を複数抽出し、抽出した複数の事態の中から、因果関係を表す事態のペアを複数抽出すると共に、マイク１６に入力されたユーザの発話に含まれる因果関係を表す事態のペアを抽出し、抽出され、かつコーパスＤＢ４２により得られた複数の事態のペアを、同一の事態のペアが１つのグループに含まれるように分類したときの各グループに含まれる事態のペアの個数を各グループの頻度として演算し、抽出された複数の事態のペアの各々と、演算された各グループの頻度とを対応付けた事態間因果関係頻度データベース５４を生成し、マイク１６に入力されたユーザの発話に含まれる因果関係を表す事態のペアと一致する事態間因果関係頻度データベース５４に登録されている事態５６、５８のペアに対応する頻度５２の大きさに基づいて、ユーザの発話に含まれる因果関係を表す事態のペアが人間が同意する内容であるか否かを判別し、同意する内容であると判別された場合には、応答するための同意を表す相槌を生成し、生成された相槌を出力する。
【００７６】
従って、本発明の応答生成装置１０によれば、頻度の大きさに基づいて同意する内容であるか否かを判別し、相槌を生成して出力しているので、異なる音声的特徴で発話された場合であっても、ユーザの発話に対して、適切な相槌を生成して出力することができる。
【００７７】
なお、本実施の形態では、ステップ４１４では、驚きを表す相槌、例えば、「本当に？」の語彙を生成する例について説明したが、本発明はこれに限られない。ユーザの発話に含まれる事態に対応する頻度の大きさに応じた驚きを表す相槌を生成するようにしてもよい。例えば、ステップ４１４で、図１４に示すように、対応する頻度の大きさが所定の範囲、例えば０から２０までの場合には、かなりの驚きを表す相槌、例えば「えーっ！本当に？」の語彙を生成し、対応する頻度の大きさが所定の範囲、例えば２１から１００までの場合には、やや驚いた様子を表す相槌、例えば「本当に？」の語彙を生成するようにしてもよい。これにより、ユーザの発話に含まれる事態に対応する頻度の大きさに応じた驚きを表す相槌を出力することができる。
【００７８】
また、本実施の形態では、ステップ４２０では、同意を表す相槌、例えば、「あー、そうだよね。」の語彙を生成する例について説明したが、本発明はこれに限られない。ユーザの発話に含まれる事態のペアに対応する頻度の大きさに応じた同意を表す相槌を生成するようにしてもよい。例えば、ステップ４２０で、図１５に示すように、対応する頻度の大きさが所定の範囲、例えば１から３０までの場合には、やや納得した同意を表す相槌、例えば「まー、分からなくはないけど」の語彙を生成し、対応する頻度の大きさが所定値、例えば３１以上の場合には、非常に納得した同意を表す相槌、例えば「あー、そうだよね」の語彙を生成するようにしてもよい。これにより、ユーザの発話に含まれる事態のペアに対応した頻度の大きさに応じた同意を表す相槌を出力することができる。
【００７９】
また、本実施の形態では、ユーザがマイク１６に音声を入力して、その音声に対する相槌を表す音声をスピーカ１８から出力する例について説明したが、本発明はこれに限られない。例えば、入力された音声に対する相槌を表す文字列を生成して、生成した文字列をディスプレイ１４に表示させることにより相槌を出力するようにしてもよい。また、ユーザが上記で説明したキーボードやマウスなどの入力装置１２を用いて、一文を構成する文字の文字列を入力文として入力して、その入力文に対する相槌を表す文字列をディスプレイ１４に表示することにより相槌を出力するか、または相槌を表す音声をスピーカ１８から出力することにより相槌を出力するようにしてもよい。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の形態に係る応答生成装置の構成を示す概略図である。
【図２】本実施の形態に係るコーパスデータベースを示す概略図である。
【図３】本実施の形態に係る応答生成装置が実行する制御処理の処理ルーチンのフローチャートを示す図である。
【図４】本実施の形態に係る応答生成装置が実行する事態頻度データベース生成処理の処理ルーチンのフローチャートを示す図である。
【図５】形態素解析の結果を示すイメージ図である。
【図６】係り受け解析の結果を示すイメージ図である。
【図７】事態頻度データベースの一例を示す図である。
【図８】本実施の形態に係る応答生成装置が実行する事態間因果関係頻度データベース生成処理の処理ルーチンのフローチャートを示す図である。
【図９】形態素解析の結果を示すイメージ図である。
【図１０】係り受け解析の結果を示すイメージ図である。
【図１１】事態間因果関係頻度データベースの一例を示す図である。
【図１２】本実施の形態に係る応答生成装置が実行する発話応答生成処理の処理ルーチンのフローチャートを示す図である。
【図１３】発話履歴保持された過去のユーザの発話の一例である。
【図１４】事態頻度データベースにおける頻度、驚きの度合い、及び生成される相槌の応答の関係の一例を示す図である。
【図１５】事態間因果関係頻度データベースにおける頻度、同意の度合い、及び生成される相槌の応答の関係の一例を示す図である。
【符号の説明】
【００８１】
１０      応答生成装置
１２      入力装置
１６      マイク
１８      スピーカ
２０      コンピュータ本体
３４      ＨＤＤ
３６      ＣＰＵ
４２      コーパスＤＢ
４８      事態頻度データベース
５４      事態間因果関係頻度データベース
【図１】
2009150990.tif 000003
【図２】
2009150990.tif 000004
【図３】
2009150990.tif 000005
【図４】
2009150990.tif 000006
【図５】
2009150990.tif 000007
【図６】
2009150990.tif 000008
【図７】
2009150990.tif 000009
【図８】
2009150990.tif 000010
【図９】
2009150990.tif 000011
【図１０】
2009150990.tif 000012
【図１１】
2009150990.tif 000013
【図１２】
2009150990.tif 000014
【図１３】
2009150990.tif 000015
【図１４】
2009150990.tif 000016
【図１５】
2009150990.tif 000017