(57)【要約】【課題】発話内容に応じたメッセージを返せない場合でも会話が途切れないようにする。【解決手段】出力制御装置（１）は、語句を検出する音声認識部（２０）と、語句に対応するメッセージを出力対象のメッセージと決定するメッセージ決定部（１２２）とを備え、メッセージ決定部（１２２）は、語句に対応するメッセージを決定できない場合、過去のユーザの発話または過去に出力させたメッセージに応じたメッセージを、出力対象のメッセージと決定する。【選択図】図１
2017211610.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの発話内容に応じたメッセージを出力部に出力させる出力制御装置であって、
上記発話に含まれる語句を１つ以上検出する語句検出部と、
記憶部に記憶されたメッセージのうち、上記語句検出部が検出した語句の少なくとも１つに対応するメッセージを、出力対象のメッセージと決定するメッセージ決定部と、を備え、
上記メッセージ決定部は、上記語句検出部が検出した語句に対応するメッセージを決定できない場合、過去の上記ユーザの発話または過去に上記出力部に出力させたメッセージと関連するメッセージを、上記出力対象のメッセージと決定することを特徴とする出力制御装置。
【請求項２】
上記メッセージ決定部は、上記語句検出部が検出した語句に対応するメッセージを決定できない場合、上記発話の直前の上記ユーザの発話、または上記発話の直前に上記出力部に出力させたメッセージと関連するメッセージを、上記出力対象のメッセージと決定することを特徴とする、請求項１に記載の出力制御装置。
【請求項３】
上記メッセージ決定部は、上記語句検出部が検出した語句に対応するメッセージを決定できない場合、過去に上記出力部に出力させたメッセージに含まれる語句に対応するメッセージを上記出力対象のメッセージと決定することを特徴とする、請求項１または２に記載の出力制御装置。
【請求項４】
上記メッセージ決定部は、上記語句検出部が検出した語句に対応するメッセージを決定できない場合、過去の上記ユーザの発話に含まれる語句に対応するメッセージを上記出力対象のメッセージと決定することを特徴とする、請求項１または２に記載の出力制御装置。
【請求項５】
上記記憶部は、上記メッセージを所定のカテゴリに対応付けて記憶しており、
上記メッセージ決定部は、上記語句検出部が検出する語句に対応するメッセージを決定できない場合、過去に上記出力部に出力させたメッセージが上記記憶部にて対応付けられているカテゴリと、同じカテゴリに対応付けられたメッセージを、上記出力対象のメッセージと決定することを特徴とする、請求項１または２に記載の出力制御装置。
【請求項６】
上記語句検出部が検出した語句が属するカテゴリを特定するカテゴリ特定部を備え、
上記メッセージ決定部は、上記メッセージを所定のカテゴリに対応付けて記憶している上記記憶部から、上記カテゴリ特定部が特定した上記語句のカテゴリの少なくとも１つと一致するカテゴリと対応づけられたメッセージを上記出力対象のメッセージと決定することを特徴とする、請求項１〜５のいずれか１項に記載の出力制御装置。
【請求項７】
上記発話が行われた時刻を特定する時刻特定部と、
上記発話を行ったユーザの位置を特定する位置特定部と、を備え、
上記メッセージ決定部は、過去の上記ユーザの発話または過去に上記出力部に出力させたメッセージと関連するメッセージを特定できない場合、上記発話が行われた時刻または上記ユーザの位置に応じて上記出力対象のメッセージと決定することを特徴とする、請求項１〜５のいずれか１項に記載の出力制御装置。
【請求項８】
請求項１〜７のいずれか１項に記載の出力制御装置と、
ユーザの発話音声を検出する音声検出部と、
上記出力部と、
上記記憶部と、を備えることを特徴とする電子機器。
【請求項９】
ユーザの発話内容に応じたメッセージを出力部に出力させる出力制御装置の制御方法であって、
上記発話に含まれる語句を１つ以上検出する語句検出ステップと、
記憶部に記憶されたメッセージのうち、上記語句検出ステップにて検出した語句の少なくとも１つに対応するメッセージを、出力対象のメッセージと決定するメッセージ決定ステップと、を含み、
上記メッセージ決定ステップでは、上記語句検出ステップにて検出した語句に対応するメッセージを決定できない場合、過去の上記ユーザの発話または過去に上記出力部に出力させたメッセージと関連するメッセージを、上記出力対象のメッセージと決定することを特徴とする出力制御装置の制御方法。
【請求項１０】
請求項１に記載の出力制御装置としてコンピュータを機能させるための制御プログラムであって、上記語句検出部および上記メッセージ決定部としてコンピュータを機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの発話内容に応じたメッセージを出力させる出力制御装置等に関する。
【背景技術】
【０００２】
従来から、ユーザとのコミュニケーションを主眼においた対話型ロボットが種々開発されている。このような対話型ロボットは、ユーザの発話内容を音声認識し、認識結果に基づいて最適な応答を決定する。
【０００３】
しかしながら、現実の音声認識は多様な状況下で行われるため、対話型ロボットは常にユーザの発話内容を正しく音声認識できるとは限らない。そのため、対話型ロボットが音声認識に失敗した場合に、ユーザに再度の発話を促して対話を進展させるような技術が開発されている。
【０００４】
例えば特許文献１には、入力音声について音声認識の誤認識が生じた場合に、音声入力の有無と、音声入力のタイミングと、発話音量と、発話速度と、発話長と、の少なくとも１つに基づいて誤認識要因を特定し、特定した誤認識要因に対応するガイダンスを出力する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１１３４３９号公報（２００６年４月２７日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、音声認識が失敗するような状況下では、特許文献１に記載のようにユーザに同じ内容を、話し方を変えて発話させたとしても、なお音声認識が困難である場合が多い。そのため、特許文献１に記載のように単にガイダンスを出力するだけでは、音声認識を成功に導き、対話型ロボットにユーザとの会話を再開させることは困難であった。
【０００７】
また、音声認識の失敗が続いた場合、特許文献１に記載のように単にガイダンスを出力するだけだと、ユーザに同じ内容を繰り返し発話させることになる。そのため、ユーザは対話型ロボットとの会話が進展しないことに苛立ちを感じたり、会話に飽きてしまったりして、発話を止めてしまう虞があった。
【０００８】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ユーザの発話内容に応じたメッセージを返せない場合でも、会話が途切れないようにすることが可能な出力制御装置等を実現することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の一態様に係る出力制御装置は、ユーザの発話内容に応じたメッセージを出力部に出力させる出力制御装置であって、上記発話に含まれる語句を１つ以上検出する語句検出部と、記憶部に記憶されたメッセージのうち、上記語句検出部が検出した語句の少なくとも１つに対応するメッセージを、出力対象のメッセージと決定するメッセージ決定部と、を備え、上記メッセージ決定部は、上記語句検出部が検出した語句に対応するメッセージを決定できない場合、過去の上記ユーザの発話または過去に上記出力部に出力させたメッセージと関連するメッセージを、上記出力対象のメッセージと決定することを特徴とする。
【００１０】
上記の課題を解決するために、本発明の一態様に係る出力制御装置の制御方法は、ユーザの発話内容に応じたメッセージを出力部に出力させる出力制御装置の制御方法であって、上記発話に含まれる語句を１つ以上検出する語句検出ステップと、記憶部に記憶されたメッセージのうち、上記語句検出ステップにて検出した語句の少なくとも１つに対応するメッセージを、出力対象のメッセージと決定するメッセージ決定ステップと、を含み、上記メッセージ決定ステップでは、上記語句検出ステップにて検出した語句に対応するメッセージを決定できない場合、過去の上記ユーザの発話または過去に上記出力部に出力させたメッセージと関連するメッセージを、上記出力対象のメッセージと決定することを特徴とする。
【発明の効果】
【００１１】
本発明の一態様によれば、ユーザの発話内容に応じたメッセージを返せない場合でも、会話が途切れないようにすることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態１に係る対話型ロボットの要部構成を示すブロック図である。
【図２】上記対話型ロボットとユーザとの会話の一例を示す図である。
【図３】図３の(ａ)は、上記対話型ロボットの記憶部に含まれるメッセージデータベースのデータ構成を示す図である。図３の(ｂ)は上記対話型ロボットの記憶部に含まれるカテゴリデータベースのデータ構成を示す図である。図３の(ｃ)は上記対話型ロボットの記憶部に含まれる出力履歴のデータ構成を示す図である。
【図４】上記対話型ロボットに含まれる出力制御装置が行う、メッセージ決定処理の流れを示すフローチャートである。
【図５】上記メッセージ決定処理の流れと処理の結果を、具体的な会話内容で示す図である。
【図６】本発明の実施形態２に係る対話型ロボットの要部構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
〔実施形態１〕
以下、本発明の実施の形態について、詳細に説明する。まず始めに、本実施形態に係る対話型ロボット（電子機器）１００の動作の概要を、図２を用いて説明する。図２は、対話型ロボット１００とユーザとの会話の一例を示す図である。
【００１４】
≪対話型ロボットの動作概要≫
図２の(ａ)に示すようにユーザが発話すると、対話型ロボット１００は発話を音声認識することで、発話内容をテキストデータに変換し、図２の(ｂ)に示すように発話内容を語句に区切って認識する。なお、対話型ロボット１００は発話内容全てを認識できなくても構わない。図２の（ｂ）では、認識できなかった部分を？マークで示している。
【００１５】
次に、対話型ロボット１００は自己が記憶しているメッセージの中で、これらの語句のうち少なくとも１つの語句に対応するメッセージを検索する。詳しくは後述するが、対話型ロボット１００は語句の属するカテゴリと同じカテゴリに対応づけられているメッセージを検索する。検索の結果、該当するメッセージがある場合、対話型ロボット１００は当該メッセージを出力対象のメッセージ（以下、出力メッセージと称する）と決定する。そして、対話型ロボット１００は出力メッセージを図２の(ｃ)に示すように音声出力する。対話型ロボット１００はこのように、発話（対話型ロボット１００に対する問いかけ等）に対し、当該発話内容に応じたメッセージを返す（出力する）ことでユーザとの会話を行う。図２の(ａ)〜(ｃ)の例では、ユーザが「リンゴを買ってきたよ」と対話型ロボット１００に問いかけると、対話型ロボット１００が「リンゴはおいしい」と返答している。
【００１６】
ところで、ユーザの発話は多様であり、かつ対話型ロボット１００の音声認識は多様な状況下で行われるため、対話型ロボット１００は常にユーザの発話内容を正しく（ユーザの発言の意図通りに）音声認識できるとは限らない。例えば、図２の(ａ)〜(ｃ)の会話の流れの後、ユーザが図２の（ｄ）に示すような発話を行ったとする。この場合、対話型ロボット１００は図２の(ａ)〜(ｂ)に示したのと同様に、発話の音声認識および語句の特定を行う。ここで、音声認識またはカテゴリの特定が失敗した場合、対話型ロボット１００は図２の（ｅ）に示すように、直前に出力したメッセージを読み出す。なお、「音声認識またはカテゴリの特定が失敗した場合」とは、１回の発話の音声認識の結果を語句に区切ったときに、例えば発話内容が認識できなかった部分、助詞等その語句のみでは意味をなさない語句、および、意味不明または対応するカテゴリが記憶されていない語句、ならびにこれらの組合せしか存在しない場合を示す。
【００１７】
音声認識またはカテゴリの特定が失敗した場合、対話型ロボット１００は図２の（ｅ）に示すように、前回出力したメッセージを読み出し、当該メッセージに関連したメッセージを検索する。詳しくは後述するが、対話型ロボット１００は前回出力したメッセージを語句に区切り、当該語句を用いてカテゴリの特定およびメッセージの決定を行う。そして、対話型ロボット１００は、図２の（ｆ）に示すように前回出力したメッセージに関連したメッセージを出力する。
【００１８】
このように、対話型ロボット１００はユーザの１回の発話に含まれる語句に応じたメッセージを決定および出力できない場合、過去に（直前に）出力したメッセージと関連するメッセージを出力する。つまり、対話型ロボット１００は、発話内容に応じたメッセージを返せなかった場合、過去のユーザとの会話に出現するキーワードと関連するメッセージを出力するといえる。これにより、対話型ロボット１００は、単にエラーメッセージ等の定型文を出力した場合に比べて、ユーザが前回の発話（発話内容に応じたメッセージを返せなかった発話）と異なる発話を行うよう誘導することができる。
【００１９】
なお、図２の（ｄ）〜（ｅ）の会話の流れでは、結果的に図２の（ｄ）に示すユーザの発話に沿わない返答を返すことになっている。対話型ロボット１００はこのように、過去に出力したメッセージから次の出力メッセージを特定できれば、そのメッセージの内容が会話の流れに合っているか否かを判断しなくてもよい。
【００２０】
具体的に説明すると、図２の（ｄ）に示すようにユーザが「朝ご飯を食べたいな」と対話型ロボット１００に問いかけて、図２の（ｆ）のように「リンゴは赤い」という会話の流れと異なるメッセージが返ってきたとする。この場合、ユーザは次に「食べたいのは、リンゴではなく朝ご飯」など、図２の（ｄ）の発話内容と同じ話題を、違う文言で説明するような発話を行う可能性が高い。
【００２１】
このように、対話型ロボット１００は過去に出力したメッセージから、出力メッセージを決定する、すなわち過去の会話から話題を類推してメッセージを出力することによって、ユーザに対話型ロボット１００との会話を続けさせることができる。また、上述のように、違う文言でユーザが自分の意図を発話するため、対話型ロボット１００は上記違う文言の発話について、音声認識を試みることができる。
【００２２】
したがって、エラーメッセ―ジ等でユーザに再度同じ内容を発話するよう促す場合に比べて、音声認識およびカテゴリ特定を成功させて、再びユーザの発話に応じたメッセージを返すことができるようになる可能性が高い。また、対話型ロボット１００は過去の会話に応じて異なるメッセージを出力するため、定型文を一様に出力する場合よりも、ユーザが会話に飽きてしまう可能性を低減することができる。
【００２３】
≪要部構成≫
次に、対話型ロボット１００の要部構成について、図１を用いて説明する。図１は、本実施形態に係る対話型ロボット１００の要部構成を示すブロック図である。対話型ロボット１００は図示の通り、音声入力部（音声検出部）２と、出力制御装置１と、音声合成部３と、音声出力部（出力部）４とを備えている。
【００２４】
音声入力部２は、ユーザの発話を検出するものである。音声入力部２は具体的には、マイク等の集音装置であればよい。音声入力部２は検出したユーザの発話を音声データとして出力制御装置１に送る。なお、音声入力部２は、ユーザの発話の間（音声を発していない時間）などから１回の発話（１まとまりの文または文章となる発話）を特定し、当該１回の発話毎の音声データを出力制御装置１に送信することが望ましい。
【００２５】
出力制御装置１は、音声入力部２から取得した音声データに基づき、ユーザの発話内容を音声認識する装置である。また、出力制御装置１は音声認識の結果に応じて、後述する音声出力部４に出力させるメッセージを決定するものである。出力制御装置１は、さらに詳しくは、音声認識部（語句検出部）２０と、記憶部３０と、主制御部１０とを含む。
【００２６】
音声認識部２０は、主制御部１０から受信した、１回の発話の音声データについて音声認識を行う。なお、本発明において「音声認識」とは、発話の音声データから発話内容を示すテキストデータを得る処理を示す。音声認識部２０の音声認識の方法は特に限定されず、従来あるいずれの方法を用いて音声認識を行ってもよい。
【００２７】
音声認識部２０はさらに、音声認識により得たテキストデータから、発話内容を語句に区切る。語句の区切り方も特に限定されないが、音声認識部２０は、後述するカテゴリ特定部１２１において語句のカテゴリが特定可能なように、音声認識したテキストデータを区切る。
【００２８】
記憶部３０は、出力制御装置１が利用する各種データを記憶するものである。具体的には、記憶部３０は少なくとも、メッセージデータベース（ＤＢ）３１と、カテゴリＤＢ３２と、出力履歴３３とを含む。以下、図３を用いてメッセージＤＢ３１および出力履歴３３のデータ構成について説明する。
【００２９】
図３の(ａ)は、メッセージＤＢ３１のデータ構成を示す図である。メッセージＤＢ３１は図示の通り、対話型ロボット１００が出力するためのメッセージ（メッセージのテキストデータ）を、所定のカテゴリに対応づけて記憶したデータベースである。なお、図示のように、１つのメッセージが複数のカテゴリに対応付けられていてもよい。メッセージＤＢ３１は、後述するメッセージ決定部１２２によって読み出される。なお、メッセージＤＢ３１は、メッセージおよびカテゴリに、さらにメッセージの出力の優先順位を示す情報を対応づけたデータ構成であってもよい。
【００３０】
図３の(ｂ)は、カテゴリＤＢ３２のデータ構成を示す図である。カテゴリＤＢ３２は図示の通り、語句を所定のカテゴリに対応づけて記憶したデータベースである。なお、図示のように、１つの語句が複数のカテゴリに対応付けられていてもよい。カテゴリＤＢ３２は、後述するカテゴリ特定部１２１によって読み出される。なお、カテゴリＤＢ３２のカテゴリは、メッセージＤＢ３１にてメッセージと対応付けられているカテゴリの分類と同じものである。
【００３１】
図３の(ｃ)は、出力履歴３３のデータ構成を示す図である。出力履歴３３は図示の通り、対話型ロボット１００が過去に出力したメッセージ（メッセージのテキストデータ）を記憶している。なお、記憶部３０は出力履歴３３として、少なくとも直前に出力したメッセージのテキストデータを記憶していればよい。もしくは、記憶部３０は、少なくとも直前に出力したメッセージが特定可能なように出力履歴３３を記憶していることが望ましい。例えば、図３の(ｃ)に示すようにメッセージを、当該メッセージを出力した日時に対応づけて記憶しておいてもよい。また、記憶部３０は出力履歴３３として、過去に出力したメッセージをそのままテキストデータで記憶しておくのではなく、過去に出力したメッセージに含まれる語句のテキストデータを記憶しておいてもよい。
【００３２】
主制御部１０は、出力制御装置１を統括的に制御するものである。主制御部１０は音声取得部１１と、探索部（時刻特定部、位置特定部）１２とを含む。音声取得部１１は、音声入力部２から音声データを取得し、当該音声データを音声認識部２０に送る。探索部１２は、音声認識部２０から音声認識の結果を受信し、当該認識結果に応じて出力メッセージを決定し、音声合成部３に送る。探索部１２は、さらに詳しくは、カテゴリ特定部１２１とメッセージ決定部１２２とを含む。
【００３３】
カテゴリ特定部１２１は、音声認識部２０から取得した語句でカテゴリＤＢ３２を検索することにより、上記語句がいずれのカテゴリに属するかを特定する。換言すると、カテゴリ特定部１２１は、上記語句をカテゴリに分類しているともいえる。カテゴリ特定部１２１は、音声認識部２０から取得した、１回の発話に含まれる語句それぞれに対し、カテゴリの特定を試みる。カテゴリが特定できた場合、カテゴリ特定部１２１は特定したカテゴリをメッセージ決定部１２２に伝える。
【００３４】
一方、１回の発話に含まれるいずれの語句からもカテゴリを特定できなかった場合、カテゴリ特定部１２１は記憶部３０の出力履歴３３から、対話型ロボット１００が直前に出力した出力メッセージ、すなわち出力制御装置１の探索部１２が直前に決定した出力メッセージを読み出し、当該出力メッセージを語句に区切り、当該語句のカテゴリを特定する。例えば、音声認識部２０が１回の発話から音声認識できた語句が、助詞などその語句だけでは特定の意味を持たない語句であった場合や、名詞等何らかの意味がある語句を認識できてはいるが、当該語句に対応するカテゴリを、カテゴリ特定部１２１が記憶していない場合、カテゴリ特定部１２１はカテゴリの特定が失敗したと判断し、直前の出力メッセージからのカテゴリ特定を行えばよい。カテゴリ特定部１２１は直前の出力メッセージから特定したカテゴリを、メッセージ決定部１２２に伝える。
【００３５】
ユーザは連続して発話する場合、直前の発話と関連することを発話する可能性が高い。したがって、カテゴリ特定部１２１は直前に出力したメッセージに関連するメッセージを出力メッセージとして特定することで、ユーザが発話した内容により近い内容のメッセージを音声出力部４に出力させることができる。
【００３６】
なお、カテゴリ特定部１２１は１つの語句から複数のカテゴリを特定してもよい。例えば、カテゴリ特定部１２１は図３の(ｂ)に示したように「朝ご飯」という語句を、「食べ物」というカテゴリと、「朝」というカテゴリの両方に属するものであると判断し、メッセージ決定部１２２に対し「食べ物」というカテゴリと、「朝」というカテゴリの両方を伝えてもよい。
【００３７】
また、カテゴリ特定部１２１は、音声認識部２０から取得した語句からカテゴリを特定できなかった場合（発話からのカテゴリ特定に失敗した場合）、直前の出力メッセージではなく、出力履歴３３に記憶されている、過去の出力メッセージのなかから１つのメッセージを選択して読出し、当該メッセージを語句に区切り、カテゴリ特定を行ってもよい。さらには、出力履歴３３が過去の出力メッセージを予め語句に分解した形で記憶している場合、カテゴリ特定部１２１は出力履歴３３から直前の出力メッセージに含まれる語句を読み出し、それぞれの語句についてカテゴリ検索を行えば良い。
【００３８】
メッセージ決定部１２２は、記憶部３０のメッセージＤＢ３１に記憶されたメッセージのうち、カテゴリ特定部１２１が検出したカテゴリの少なくとも１つと対応づけられているメッセージを、出力メッセージと決定する。メッセージ決定部１２２は決定した出力メッセージのテキストデータを音声合成部３に送るとともに、当該出力メッセージを記憶部３０の出力履歴３３に記憶させる。
【００３９】
なお、カテゴリ特定部１２１が検出したカテゴリの少なくとも１つと対応づけられているメッセージが複数存在する場合、メッセージ決定部１２２は該当するメッセージ全てを出力メッセージと決定してもよいし、該当するメッセージからいずれか１つ（または所定の個数）のメッセージを選択して、出力メッセージと決定してもよい。また、このときのメッセージの選択方法は特に限定しないが、例えばメッセージＤＢに出力の優先順位が記憶されている場合は当該優先順位に従って出力メッセージを選択すればよい。もしくは、該当するメッセージからランダムに選択すればよい。
【００４０】
音声合成部３は、出力制御装置１のメッセージ決定部１２２から受信したメッセージのテキストデータを音声データに変換する。音声合成部３は、変換した音声データを音声出力部４に出力する。なお、音声合成部３はメッセージ決定部１２２から、出力メッセージを示す情報を受信し、当該情報に従って記憶部３０のメッセージＤＢ３１にアクセスすることで、出力メッセージのテキストデータを得てもよい。
【００４１】
音声出力部４は、音声合成部３から受信した音声データを出力する。音声出力部４は具体的には対話型ロボット１００に備えられたスピーカ等で実現される。なお、図１の例では音声出力部４は対話型ロボット１００に内蔵されているが、音声出力部４は対話型ロボット１００に取付けられた外部装置であっても構わない。
【００４２】
なお、本実施形態に係る出力制御装置１は、必ずしもカテゴリ特定を行わなくてもよい。換言すると、出力制御装置１においてカテゴリ特定部１２１は必須ではない。カテゴリ特定を行わない場合、記憶部３０はメッセージＤＢ３１として、語句にメッセージを対応付けたデータを記憶する。そして、探索部１２のメッセージ決定部１２２は、音声認識部２０から受信した語句それぞれに対応するメッセージをメッセージＤＢ３１から検索し、該当するメッセージを出力メッセージと決定すればよい。
【００４３】
また、メッセージ決定部１２２は、カテゴリ特定部１２１が検出したカテゴリを複数用いて、メッセージＤＢ３１を検索（複数カテゴリでのand検索）してもよい。また、メッセージ決定部１２２はカテゴリ特定部１２１が検出したカテゴリに検索の優先順位を設け、優先順位の高いカテゴリに対応するメッセージを出力メッセージと特定してもよい。さらには、メッセージ決定部１２２はメッセージの決定の際に、出力履歴３３を参照し、直前または所定の時間または出力回数内に出力したメッセージと重複しないメッセージを、出力メッセージとして決定してもよい。これにより、対話型ロボット１００が同じメッセージを繰り返し出力することを防ぐことができるため、ユーザが対話型ロボット１００との会話に飽きることを防止することができる。
【００４４】
≪出力制御装置の処理の流れ≫
続いて、出力制御装置１がメッセージを決定する処理（メッセージ決定処理）の流れについて、図４を用いて説明する。図４は、出力制御装置１が行うメッセージ決定処理の流れを示すフローチャートである。
【００４５】
ユーザが発話すると、音声入力部２は当該発話を検出し、音声データを出力制御装置１の音声取得部１１に送る。音声取得部１１は音声データを取得すると（Ｓ１）、当該音声データを音声認識部２０に送信する。音声認識部２０は音声認識を行うことで発話の音声データをテキストデータに変換する（Ｓ２）。さらに、音声認識部２０は当該テキストデータから語句を検出し（Ｓ３、語句検出ステップ）、探索部１２に送信する。探索部１２のカテゴリ特定部１２１は、音声認識部２０から受信した、発話１回分の語句それぞれのカテゴリを特定する（Ｓ４）。ここで、音声認識部２０から受信した語句のカテゴリを特定できた場合（Ｓ５でＹＥＳ）、カテゴリ特定部１２１は当該カテゴリをメッセージ決定部１２２に送信し、メッセージ決定部１２２は当該カテゴリに対応するメッセージを出力メッセージと決定する（Ｓ８、メッセージ決定ステップ）。
【００４６】
一方、音声認識部２０から受信した語句からカテゴリを特定できなかった場合（Ｓ５でＮＯ）、カテゴリ特定部１２１は出力履歴３３を参照し、直前に出力したメッセージ（前回出力したメッセージ）を読み出し（Ｓ６）、当該メッセージに含まれる語句のカテゴリを特定する（Ｓ７）。カテゴリ特定部１２１は特定したカテゴリをメッセージ決定部１２２に送信し、メッセージ決定部１２２は当該カテゴリに対応するメッセージを出力メッセージと決定する（Ｓ８）。決定された出力メッセージのテキストデータは、メッセージ決定部１２２から音声合成部３に送られ、音声合成部３は当該テキストデータから音声を合成し、音声出力部４に出力させる。
【００４７】
なお、Ｓ７において、直前に出力したメッセージに含まれる語句からもカテゴリを特定できなかった場合、カテゴリ特定部１２１は出力履歴３３から、さらに前（前々回）に出力したメッセージを読み出し、当該メッセージに含まれる語句からカテゴリの特定を行ってもよい。そして、メッセージ決定部１２２は、前々回に出力したメッセージに含まれる語句から特定されたカテゴリに対応するメッセージを出力メッセージと決定してもよい。
【００４８】
≪メッセージ決定の具体的な流れ≫
最後に、メッセージ決定処理の流れを、メッセージの具体例を挙げて説明する。図５は、メッセージ決定処理の流れと処理の結果を、具体的な会話内容で示す図である。始めに、ユーザが例えば「朝ご飯を食べたいな」と発話した場合（Ｓ１０）、音声入力部２は当該発話を検出し、音声データを音声取得部１１に送る。音声取得部１１は音声データを音声認識部２０に送り、音声認識部２０は音声認識および語句の特定を行い、語句のテキストデータをカテゴリ特定部１２１に送る。カテゴリ特定部１２１は当該語句に対応するカテゴリの特定を試みる。
【００４９】
カテゴリ特定部１２１が語句（ユーザの発話に含まれる語句）に対応するカテゴリを少なくとも１つ特定できた場合（Ｓ２０でＹＥＳ）、メッセージ決定部１２２は特定されたカテゴリに応じて出力メッセージを決定する。例えば、音声認識部２０がＳ１０の発話から、「朝ご飯」、「を」、「旅をから」の３つの語句を特定したとし、そのうち「朝ご飯」という語句でカテゴリ特定が成功したとする（Ｓ４０）。図３の(ｂ)によると、「朝ご飯」という語句のカテゴリは「朝」および「食べ物」である（Ｓ４１）。したがって、メッセージ決定部１２２はカテゴリ「朝」または「食べ物」でメッセージＤＢ３１を検索する。例えばメッセージ決定部１２２はカテゴリ「朝」で図３の(ａ)に示したメッセージＤＢ３１を検索することで（Ｓ４２）、「朝ご飯はトーストだね」というメッセージを出力メッセージと決定する（Ｓ４３）。
【００５０】
一方、カテゴリ特定部１２１が、ユーザの発話に含まれる語句に対応するカテゴリを特定できなかった場合（Ｓ２０でＮＯ）、例えば上記語句が語句特定不能な部分（？部分）と、「を」、および「旅をから」という意味をなさない語句のみであった場合（Ｓ３０）、カテゴリ特定部１２１は直前に出力したメッセージを参照し（Ｓ３１）、当該メッセージに含まれる語句からカテゴリ特定を試みる。例えば、直前に出力したメッセージ（直前の出力履歴）が、「リンゴはおいしい」であり、図示のように「リンゴ」、「は」、「おいしい」という３つの語句に区切ることができた場合、図３の(ｂ)に示したように「リンゴ」はカテゴリ「食べ物」および「色（赤）」に該当するため、カテゴリ特定部１２１はこれらのカテゴリを特定することができる。そして、メッセージ決定部１２２はカテゴリ「食べ物」または「色（赤）」からメッセージＤＢ３１を検索する（メッセージ検索、Ｓ３２およびＳ３４）。カテゴリ「食べ物」でメッセージＤＢ３１を検索した場合、図３の(ａ)に示したように、例えば「リンゴはおいしい」および「リンゴは赤い」というメッセージが検索に該当する。したがって、メッセージ決定部１２２は、これらのうち１つ以上、例えば「リンゴは赤い」というメッセージを出力メッセージと決定する（Ｓ３３）。一方、カテゴリ「色（赤）」でメッセージＤＢ３１を検索した場合、図３の(ａ)に示したように、「イチゴはおいしい」というメッセージが検索に該当する。したがって、メッセージ決定部１２２は、「イチゴはおいしい」というメッセージを出力メッセージと決定する（Ｓ３５）。
【００５１】
なお、出力制御装置１は、カテゴリ特定部１２１が音声認識部２０の特定した語句からカテゴリを特定できず、さらに、出力履歴３３に記憶された、過去に出力したメッセージからもカテゴリを特定できなかった場合、探索部１２において発話（音声認識部２０が音声認識を行った発話）が行われた時刻、または当該発話を行ったユーザの位置を特定し、メッセージ決定部１２２は、探索部１２が特定した上記時刻または上記位置に応じて出力メッセージを決定してもよい。また、メッセージ決定部１２２が、カテゴリ特定部１２１が特定したカテゴリからメッセージを決定できなかった（カテゴリに対応するメッセージがメッセージＤＢ３１に記憶されていなかった場合など）場合も、同様に発話が行われた時刻およびユーザの位置に応じてメッセージを決定してよい。
【００５２】
発話が行われた時刻については、探索部１２は音声取得部１１が音声入力部２から音声データを取得した時刻を測定すればよい。なお、時刻測定は、出力制御装置１のリアルタイムクロック等に基づいて行うことができる。また、対話型ロボット１００はメッセージ音声を通じてユーザと会話できる位置に居ると推定されるため、探索部１２は対話型ロボット１００自身（もしくは、音声入力部２または音声出力部４）の位置を、ユーザの位置と略一致するとみなすことで、ユーザの位置を特定すればよい。
【００５３】
そして、メッセージＤＢ３１にも上記時刻または位置にメッセージを対応づけた情報を記憶しておく。これにより、メッセージ決定部１２２は探索部１２が特定した時刻または位置に基づきメッセージＤＢ３１を検索し、検索に該当するメッセージを出力メッセージと決定することができる。
【００５４】
より具体的には、図５のＳ３１において、出力履歴３３に記憶された直前に出力したメッセージを参照してもカテゴリ特定部１２１がカテゴリ特定に失敗した場合（Ｓ３６）、またはメッセージ決定部１２２がカテゴリからの出力メッセージの決定に失敗した場合（Ｓ３６）、探索部１２は発話が行われた時刻（音声取得部１１が音声を取得した時刻、または音声認識部２０が音声認識を完了した時刻など）またはユーザの位置を特定し、メッセージ決定部１２２は当該時刻または位置についてメッセージＤＢ３１を検索することでメッセージ検索を行う（Ｓ３７）。そして、検索に該当するメッセージが見つかれば、当該メッセージを出力メッセージと決定すればよい（Ｓ３８）。
【００５５】
なお、メッセージ決定部１２２が決定するメッセージには、メッセージの決定後にテキストを補完するような可変部分が含まれていてもよい。そして、メッセージ決定部１２２は、メッセージを決定した後、当該可変部分のテキストをさらに決定してメッセージに埋め込み、当該埋め込み後のメッセージのテキストデータを音声合成部３に送信してもよい。つまり、図５のＳ３３、Ｓ３５、Ｓ３８、およびＳ４３において決定されたメッセージの主語または目的語等が可変部分となっていても構わない。
【００５６】
例えばＳ４３の「朝ご飯はトーストだね」というメッセージの目的語（「トースト」の部分）が可変部分となっていても構わない。当該可変部分のテキストの決定方法は特に限定されないが、例えば対話型ロボット１００の記憶部３０に、上記可変部分に埋め込むべきテキスト（主語や目的語の単語群）を、関連する語句と対応付けて記憶しておき、決定したメッセージの可変でない部分の語句（例えば「朝ご飯」という語句）と関連する単語を上記可変部分に埋め込むテキストとして決定してもよい。また、上記可変部分のテキストを、認識履歴３４に基づいて決定してもよい。
【００５７】
〔実施形態２〕
本発明に係る出力制御装置は、過去のユーザの発話に含まれる語句に対応するメッセージを、出力メッセージと決定してもよい。以下、本発明の第２の実施形態について、図６に基づいて説明する。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【００５８】
図６は、実施形態２に係る対話型ロボット（電子機器）２００の要部構成を示す図である。対話型ロボット２００は、出力制御装置５の記憶部３０に認識履歴３４を備える点で、実施形態１に係る対話型ロボット１００と異なる。なお、本実施形態においては、出力履歴３３は必須構成ではない。
【００５９】
認識履歴３４は、対話型ロボット２００が過去に音声認識した発話に含まれていた語句を、テキストデータとして記憶している。なお、記憶部３０は認識履歴３４として、音声認識部２０が認識した発話の少なくとも直前に音声認識しメッセージを返した（すなわち、ユーザが前回に発話した）発話１回分に含まれる語句のテキストデータを記憶していればよい。また、認識履歴３４は、語句を音声認識した日時に対応づけて記憶しておいてもよい。また、記憶部３０は認識履歴３４として、過去に音声認識した発話をそのままテキストデータで記憶しておいてもよい。
【００６０】
本実施形態における出力制御装置５は、カテゴリ特定部１２３を備える点で、実施形態１に係る出力制御装置１と異なる。カテゴリ特定部１２３は、１回の発話に含まれるいずれの語句からもカテゴリを特定できなかった場合、ユーザの上記１回の発話の直前の発話内容を音声認識した結果（語句）を認識履歴３４から読み出し、当該語句のカテゴリを特定する。
【００６１】
これにより、出力制御装置５は、現在のユーザの発話内容から出力メッセージを決定できない場合、過去のユーザの発話からユーザの発話の話題を類推して出力メッセージを決定することができる。したがって、ユーザが発話した内容により近い内容のメッセージを音声出力部４に出力させることができる。
【００６２】
なお、記憶部３０に出力履歴３３と認識履歴３４との両方を備える場合、カテゴリ特定部１２３は実施形態１にて説明した出力履歴３３からのメッセージの読出しおよび語句の特定と、本実施形態にて説明した認識履歴３４からの語句の読出しとの両方を用いて、または両方を使い分けて、カテゴリの特定を行ってもよい。例えば、カテゴリ特定部１２３は、直前に出力したメッセージからもカテゴリ特定を行えなかった場合に、認識履歴３４を参照して直前（前回）に音声認識した発話に含まれていた語句を用いてカテゴリ特定を行ってもよい。
【００６３】
また、本実施形態に係る出力制御装置５も、出力制御装置１と同様に、メッセージＤＢ３１に可変部分が含まれたメッセージを記憶しておき、メッセージ決定部１２２がメッセージ決定後に当該可変部分のテキストを決定してメッセージに埋め込んでもよい。また、当該可変部分のテキストは、出力履歴３３に基づいて決定してよい。
【００６４】
〔実施形態３〕
なお、出力制御装置１または５の記憶部３０は、出力履歴３３として過去に出力したメッセージを、当該メッセージに対応するカテゴリに対応付けて記憶していてもよい。換言すると、記憶部３０は、過去に出力制御装置１または５が音声合成部３に出力したメッセージを、図３の(ａ)に示すメッセージＤＢ３１のような形式で記憶していてもよい。
【００６５】
この場合、カテゴリ特定部１２１または１２３は、音声認識部２０が検出する語句に対応するカテゴリを決定できない場合、直前（または過去）に出力したメッセージに対応付けられているカテゴリと同カテゴリに対応付けられたメッセージを、出力メッセージと決定してもよい。
【００６６】
これにより、出力制御装置１または５は、現在のユーザの発話内容からメッセージを決定できない場合、過去に出力したメッセージと同カテゴリ、すなわち同じ主題に基づいたメッセージを出力メッセージとして決定する。したがって、出力制御装置１または５は、ユーザが発話した内容により近い内容のメッセージを音声出力部４に出力させることができる。
【００６７】
〔変形例〕
上記各実施形態では、語句からカテゴリが特定できない場合、すなわち、音声認識部２０が音声認識した語句が全て、カテゴリＤＢ３２に記憶されているカテゴリに分類不能な場合にのみ、出力履歴３３や認識履歴３４を参照して出力メッセージを決定することとした。しかしながら、本発明に係る出力制御装置１または５のメッセージ決定部１２２は、音声認識部２０の音声認識および語句の特定が部分的に成功している場合（１つ以上、カテゴリ特定可能な語句を検出している場合）でも、出力履歴３３に記憶された過去のメッセージや認識履歴３４に記憶された過去のユーザの発話内容に応じて、出力メッセージを決定してもよい。
【００６８】
〔ソフトウェアによる実現例〕
出力制御装置１の制御ブロック（特に音声認識部２０および探索部１２）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００６９】
後者の場合、出力制御装置１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００７０】
〔まとめ〕
本発明の態様１に係る出力制御装置（出力制御装置１および５）は、ユーザの発話内容に応じたメッセージを出力部（音声出力部４）に出力させる出力制御装置であって、上記発話に含まれる語句を１つ以上検出する語句検出部（音声認識部２０）と、記憶部（記憶部３０）に記憶されたメッセージのうち、上記語句検出部が検出した語句の少なくとも１つに対応するメッセージを、出力対象のメッセージと決定するメッセージ決定部（メッセージ決定部１２２）と、を備え、上記メッセージ決定部は、上記語句検出部が検出した語句に対応するメッセージを決定できない場合、過去の上記ユーザの発話または過去に上記出力部に出力させたメッセージと関連するメッセージを、上記出力対象のメッセージと決定することを特徴としている。
【００７１】
上記の構成によれば、出力制御装置は、ユーザの発話に含まれる語句に対応するメッセージを決定できない場合、過去のユーザの発話または過去出力させたメッセージと関連するメッセージを出力させる。なお、「メッセージを決定できない場合」とは、例えば語句検出部が語句検出に失敗した場合、または、語句検出部が検出した語句に対応するメッセージが記憶部に記憶されていない場合等を示す。
【００７２】
換言すると、出力制御装置は、ユーザの発話内容に応じたメッセージを出力させられない場合、過去のユーザの発話と出力メッセージとで行われた会話に関連するメッセージを出力する。これにより、単にエラーメッセージ等の定型文を出力した場合に比べて、ユーザが前回の発話（発話内容に応じたメッセージを返せなかった発話）と異なる発話を行うよう誘導することができる。そして、ユーザの発話が変化すると、当該発話の語句からメッセージを決定する機会を得ることができる。
【００７３】
また、過去の会話に応じて異なるメッセージが出力されるため、上記定型文を一様に出力する場合よりも、ユーザが会話に飽きてしまう可能性を低減することができる。したがって、出力制御装置は、ユーザの発話内容に応じたメッセージを返せない場合でも、会話が途切れないようにすることができる。
【００７４】
本発明の態様２に係る出力制御装置は、上記態様１において、上記メッセージ決定部は、上記語句検出部が検出した語句に対応するメッセージを決定できない場合、上記発話の直前の上記ユーザの発話、または上記発話の直前に上記出力部に出力させたメッセージと関連するメッセージを、上記出力対象のメッセージと決定することを特徴としている。
【００７５】
ユーザは連続して発話する場合、直前の発話と関連することを発話する可能性が高い。したがって、上記の構成のように、直前のユーザの発話、または当該直前のユーザの発話に応じて出力制御装置が出力部に出力させたメッセージから、当該発話またはメッセージに関連するメッセージを出力対象のメッセージとして特定することで、ユーザが発話した内容により近い内容のメッセージを出力部に出力させることができる。
【００７６】
本発明の態様３に係る出力制御装置は、上記態様１または２において、上記メッセージ決定部は、上記語句検出部が検出した語句に対応するメッセージを決定できない場合、過去に上記出力部に出力させたメッセージに含まれる語句に対応するメッセージを上記出力対象のメッセージと決定することを特徴としている。
【００７７】
上記の構成によれば、出力制御装置は、ユーザの発話内容に応じたメッセージを出力させられない場合、過去に出力部に出力させたメッセージから、ユーザの発話および出力部の過去出力したメッセージとの間の話題を類推してメッセージを出力させることができる。したがって、ユーザが発話した内容により近い内容のメッセージを出力部に出力させることができる。
【００７８】
本発明の態様４に係る出力制御装置は、上記態様１または２において、上記メッセージ決定部は、上記語句検出部が検出した語句に対応するメッセージを決定できない場合、過去の上記ユーザの発話に含まれる語句に対応するメッセージを上記出力対象のメッセージと決定することを特徴としている。
【００７９】
上記の構成によれば、出力制御装置は、現在のユーザの発話内容からメッセージを決定できない場合、過去のユーザの発話から、ユーザの発話の話題を類推してメッセージを決定することができる。したがって、ユーザが発話した内容により近い内容のメッセージを出力部に出力させることができる。
【００８０】
本発明の態様５に係る出力制御装置は、上記態様１または２において、上記記憶部は、上記メッセージを所定のカテゴリに対応付けて記憶しており、上記メッセージ決定部は、上記語句検出部が検出する語句に対応するメッセージを決定できない場合、過去に上記出力部に出力させたメッセージが上記記憶部にて対応付けられているカテゴリと、同じカテゴリに対応付けられたメッセージを、上記出力対象のメッセージと決定することを特徴としている。
【００８１】
上記の構成によれば、出力制御装置は、現在のユーザの発話内容からメッセージを決定できない場合、過去に出力部に出力させたメッセージと同カテゴリ、すなわち同じ主題に基づいたメッセージを出力対象のメッセージと決定する。したがって、出力制御装置は、ユーザが発話した内容により近い内容のメッセージを出力部に出力させることができる。
【００８２】
本発明の態様６に係る出力制御装置は、上記態様１〜５のいずれか一態様において、上記語句検出部が検出した語句が属するカテゴリを特定するカテゴリ特定部（カテゴリ特定部１２１および１２３）を備え、上記メッセージ決定部は、上記メッセージを所定のカテゴリに対応付けて記憶している上記記憶部から、上記カテゴリ特定部が特定した上記語句のカテゴリの少なくとも１つと一致するカテゴリと対応づけられたメッセージを上記出力対象のメッセージと決定することを特徴としている。
【００８３】
上記の構成によれば、出力制御装置は、ユーザの発話に含まれる語句のカテゴリ、すなわち、ユーザの発話の主題の種類を類推し、当該類推に基づいたメッセージを出力対象のメッセージと決定する。したがって、出力制御装置は、ユーザが発話した内容により近い内容のメッセージを出力部に出力させることができる。
【００８４】
本発明の態様７に係る出力制御装置は、上記態様１〜５のいずれか一態様において、上記発話が行われた時刻を特定する時刻特定部（探索部１２）と、上記発話を行ったユーザの位置を特定する位置特定部（探索部１２）と、を備え、上記メッセージ決定部は、過去の上記ユーザの発話または過去に上記出力部に出力させたメッセージと関連するメッセージを特定できない場合、上記発話が行われた時刻または上記ユーザの位置に応じて上記出力対象のメッセージと決定することを特徴としている。
【００８５】
上記の構成によれば、過去のユーザの発話または過去に出力部に出力させたメッセージと関連するメッセージを特定できない場合でも、発話が行われた時刻またはユーザの位置に応じて出力対象のメッセージを決定することができる。
【００８６】
本発明の態様８に係る電子機器は、上記態様１〜７のいずれか一態様に記載の出力制御装置と、ユーザの発話音声を検出する音声検出部（音声入力部２）と、上記出力部と、上記記憶部と、を備えることを特徴としている。
【００８７】
上記の構成によれば、上記出力制御装置と同様の効果を奏する電子機器を実現することができる。
【００８８】
本発明の態様９に係る出力制御装置（出力制御装置１および５）の制御方法は、ユーザの発話内容に応じたメッセージを出力部（音声出力部４）に出力させる出力制御装置の制御方法であって、上記発話に含まれる語句を１つ以上検出する語句検出ステップ（Ｓ３）と、記憶部（記憶部３０）に記憶されたメッセージのうち、上記語句検出ステップにて検出した語句の少なくとも１つに対応するメッセージを、出力対象のメッセージと決定するメッセージ決定ステップ（Ｓ８）と、を含み、上記メッセージ決定ステップでは、上記語句検出ステップにて検出した語句に対応するメッセージを決定できない場合、過去の上記ユーザの発話または過去に上記出力部に出力させたメッセージと関連するメッセージを、上記出力対象のメッセージと決定することを特徴としている。
【００８９】
上記の構成によれば、上記出力制御装置と同様の効果を奏する。
【００９０】
本発明の各態様に係る出力制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記出力制御装置が備える各部（ソフトウェア要素）として動作させることにより上記出力制御装置をコンピュータにて実現させる出力制御装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【００９１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【符号の説明】
【００９２】
１、５  出力制御装置
２  音声入力部（音声検出部）
３  音声合成部
４  音声出力部（出力部）
１０  主制御部
１１  音声取得部
１２  探索部（時刻特定部、位置特定部）
１２１、１２３  カテゴリ特定部
１２２  メッセージ決定部
２０  音声認識部（語句検出部）
３０  記憶部
３１  メッセージＤＢ
３２  カテゴリＤＢ
３３  出力履歴
３４  認識履歴
１００、２００  対話型ロボット（電子機器）
【図１】
2017211610.tif 000003
【図２】
2017211610.tif 000004
【図３】
2017211610.tif 000005
【図４】
2017211610.tif 000006
【図５】
2017211610.tif 000007
【図６】
2017211610.tif 000008