(57)【要約】【課題】発話者との自然な対話を実現する。【解決手段】本発明の情報処理装置（１００）は、音声に対応付けて属性情報を記憶部（１２）に記憶して、音声入力を受け付ける受付手段（２１）と、音声に対応するフレーズを提示する提示手段（２３）と、第１音声に対応する第１フレーズが提示される前に第２音声が入力された場合に、１以上の属性情報に基づいて、第１のフレーズの提示要否を判断する判断手段（２２）とを備えている。【選択図】図１
2015152868.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが発した音声に応じて、当該ユーザに所定のフレーズを提示する情報処理装置であって、
上記音声または該音声が認識された結果を、当該音声の属性を示す属性情報と対応付けて記憶部に記憶することにより、当該音声の入力を受け付ける受付手段と、
上記受付手段によって受け付けられた音声に対応するフレーズを提示する提示手段と、
先に入力された第１の音声に対応する第１のフレーズが上記提示手段によって提示される前に第２の音声が入力された場合に、上記記憶部に記憶されている１以上の属性情報の少なくとも１つに基づいて、上記第１のフレーズの提示要否を判断する判断手段とを備えていることを特徴とする情報処理装置。
【請求項２】
上記判断手段は、上記第１のフレーズを提示要と判断した場合、上記記憶部に記憶されている上記属性情報の少なくとも１つに基づいて、上記第２の音声に対応する第２のフレーズの提示要否を判断することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
上記受付手段は、上記音声が入力されたときの入力時刻または該音声の受付順序を上記属性情報に含めて記憶し、
上記判断手段は、上記入力時刻または上記受付順序、および、上記入力時刻または上記受付順序を用いて決定される他の属性情報の少なくともいずれか１つを用いて、フレーズの提示要否を判断することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
上記受付手段は、音声を発した発話者を特定する発話者情報を上記属性情報に含めて記憶し、
上記判断手段は、上記発話者情報および該発話者情報を用いて決定される他の属性情報の少なくともいずれか１つを用いて、フレーズの提示要否を判断することを特徴とする請求項１から３までのいずれか１項に記載の情報処理装置。
【請求項５】
上記受付手段は、さらに、音声を発した発話者を特定する発話者情報を上記属性情報に含めて記憶し、
上記判断手段は、上記入力時刻または上記受付順序を用いて算出される値が所定の閾値を超える場合に、当該フレーズの提示は不要であると判断するものであり、上記音声の発話者情報に関連付けられている、上記発話者と上記情報処理装置との間の関係を数値で示した関係値に応じて、上記閾値を変更することを特徴とする請求項３に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話者が発した音声に応じて、当該発話者に所定のフレーズを提示する情報処理装置等に関するものである。
【背景技術】
【０００２】
人間とロボットとが対話可能な対話システムが、従来から広く研究されている。例えば、特許文献１には、ニュースおよび会話のデータベースを用いて、発話者との対話を継続、発展させることのできる対話型情報システムが開示されている。また、特許文献２には、複数の対話シナリオを扱うマルチ対話システムにおいて、発話者の混乱を防ぐために、対話シナリオを切り替える際の応答様式の連続性を保持する対話方法、対話装置が開示されている。特許文献３には、入力された音声の順序を入れ替えて認識処理を実行することにより、発話者に対し違和感やストレスを与えない音声対話を提供する音声対話装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１７１７１９号公報（２００６年６月２９日公開）
【特許文献２】特開２００７−７９３９７号公報（２００７年３月２９日公開）
【特許文献３】特開平１０−１２４０８７号公報（１９９８年５月１５日公開）
【特許文献４】特開２００６−１０６７６１号公報（２００６年４月２０日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１〜４に開示された技術をはじめとして、従来技術においては、あくまでも「質問・回答サービス」（質問に対するロボットからの回答が終了するまで、発話者は待機するであろうことが想定されるもの）における一問一答のコミュニケーションが前提とされている。このため、人対人の対話に近い自然な対話を実現できないという問題がある。
【０００５】
具体的には、人対人の対話においてもそうであるように、対話システムにおいても、発話者からロボットへの先の呼びかけ（音声）に対する先の応答（フレーズ）が遅延し、当該応答が出力されないうちに、次の呼びかけが入力されることが想定される。この場合、先の応答出力と次の呼びかけに対する後の応答出力とが交錯する現象が起こる。自然な（人間らしい）対話を実現するためには、これらの交錯する応答出力を対話の状況に応じて適切に処理することが要求される。しかしながら、従来技術は一問一答のコミュニケーションを前提としており、上記要求に応えられる技術は従来なかった。
【０００６】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、立て続けに音声が入力された場合であっても、発話者との自然な対話を実現する情報処理装置、対話システム、および、情報処理装置の制御プログラムを実現することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、ユーザが発した音声に応じて、当該ユーザに所定のフレーズを提示する情報処理装置であって、上記音声または該音声が認識された結果を、当該音声の属性を示す属性情報と対応付けて記憶部に記憶することにより、当該音声の入力を受け付ける受付手段と、上記受付手段によって受け付けられた音声に対応するフレーズを提示する提示手段と、先に入力された第１の音声に対応する第１のフレーズが上記提示手段によって提示される前に第２の音声が入力された場合に、上記記憶部に記憶されている１以上の属性情報の少なくとも１つに基づいて、上記第１のフレーズの提示要否を判断する判断手段とを備えている。
【発明の効果】
【０００８】
本発明の一態様によれば、立て続けに音声が入力された場合であっても、発話者との自然な対話を実現することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態１〜５に係る対話ロボットおよびサーバの要部構成を示す図である。
【図２】本発明の実施形態１〜５に係る対話システムを概略的に示す模式図である。
【図３】（ａ）は、実施形態１の音声管理テーブルの具体例を示す図であり、（ｂ）は、実施形態１の閾値の具体例を示す図であり、（ｃ）は、音声管理テーブルの他の具体例を示す図である。
【図４】実施形態１の対話システムにおける処理の流れを示すフローチャートである。
【図５】（ａ）〜（ｃ）は、実施形態２の音声管理テーブルの具体例を示す図であり、（ｄ）は、実施形態２の閾値の具体例を示す図である。
【図６】（ａ）〜（ｃ）は、上記音声管理テーブルの具体例を示す図である。
【図７】実施形態２の対話システムにおける処理の流れを示すフローチャートである。
【図８】（ａ）は、実施形態３の音声管理テーブルの具体例を示す図であり、（ｂ）は、実施形態３の発話者ＤＢの具体例を示す図である。
【図９】実施形態３の対話システムにおける処理の流れを示すフローチャートである。
【図１０】（ａ）は、実施形態４の音声管理テーブルの他の具体例を示す図であり、（ｂ）は、実施形態４の閾値の具体例を示す図であり、（ｃ）は、実施形態４の発話者ＤＢの具体例を示す図である。
【図１１】実施形態４の対話システムでの処理の流れを示すフローチャートである。
【図１２】実施形態４における、対話ロボットおよびサーバの要部構成の他の例を示す図である。
【発明を実施するための形態】
【００１０】
≪実施形態１≫
図１〜図４に基づいて、本発明の実施形態１を説明する。
【００１１】
〔対話システムの概要〕
図２は、対話システム３００を概略的に示す模式図である。図２に示されるように、対話システム（情報処理システム）３００は、対話ロボット（情報処理装置）１００とサーバ（外部装置）２００とを含む。対話システム３００によれば、発話者は、自然言語を用いた音声（例えば、音声１ａ、音声１ｂ・・・）を対話ロボット１００に入力し、その応答として対話ロボット１００から提示されるフレーズ（例えば、フレーズ４ａ、フレーズ４ｂ・・・）を聞く（あるいは読む）。これにより、発話者は、対話ロボット１００と自然な対話を行い、様々な情報を得ることができる。具体的には、対話ロボット１００は、発話者が発した音声に応じて、当該発話者に所定のフレーズ（返答文）を提示する装置である。対話ロボット１００として機能する本発明の情報処理装置は、音声を入力可能であり、入力された音声に基づいて上記所定のフレーズを提示可能な機器でありさえすればよく、対話ロボットに限定されない（例えば、上記対話ロボット１００は、タブレット端末、スマートフォン、パーソナルコンピュータなどによっても実現され得る）。
【００１２】
サーバ２００は、発話者が対話ロボット１００に対して発した音声に応じて、当該発話者に所定のフレーズを提示するように、対話ロボット１００にフレーズを供給する装置である。なお、図２に示されるように、対話ロボット１００とサーバ２００とは、所定の通信方式にしたがう通信網５を介して通信可能に接続されている。
【００１３】
本実施形態では、一例として、対話ロボット１００は、入力された音声を認識する機能を有し、音声認識結果をリクエスト２としてサーバ２００に送信することにより、当該音声に対応するフレーズをサーバ２００に要求する。サーバ２００は、対話ロボット１００から送信された音声認識結果に基づいて、これに対応するフレーズを生成し、生成したフレーズをレスポンス３として対話ロボット１００に返信する。なお、フレーズの生成方法は、特に限定されず、従来の技術が採用されてもよい。例えば、音声認識結果に対応付けて記憶部に格納されたフレーズセットから適切なフレーズを取得したり、記憶部に格納されたフレーズの素材集から音声認識結果に合う素材を適宜組み合わせたりすることによって、音声に対応するフレーズを生成することができる。
【００１４】
以下では、音声認識を対話ロボット１００にて行う対話システム３００を具体例に用いて本発明の情報処理装置の機能を説明するが、これは説明のための一例に過ぎず、本発明の情報処理装置の構成を限定するものではない。
【００１５】
〔対話ロボットの構成〕
図１は、対話ロボット１００およびサーバ２００の要部構成を示す図である。対話ロボット１００は、制御部１０、通信部１１、記憶部１２、音声入力部１３および音声出力部１４を備えている。
【００１６】
通信部１１は、所定の通信方式にしたがう通信網５を介して外部装置（サーバ２００など）と通信する。外部装置との通信を実現する本質的な機能が備わってさえいればよく、通信回線、通信方式、または通信媒体などは限定されない。例えば、通信部１１は、イーサネット（登録商標）アダプタなどの機器で構成できる。また、通信部１１は、例えばIEEE802.11無線通信、Bluetooth（登録商標）などの通信方式や通信媒体を利用できる。本実施形態では、通信部１１は、サーバ２００にリクエスト２を送信する送信部と、サーバ２００からレスポンス３を受信する受信部とを少なくとも含む。
【００１７】
音声入力部１３は、対話ロボット１００の周囲から音声（発話者の音声１ａ、１ｂ・・・など）を集めるマイクとして構成される。音声入力部１３から集められた音声は、デジタル信号に変換されて音声認識部２０に入力される。音声出力部１４は、制御部１０の各部で処理され出力されたフレーズ（例えば、フレーズ４ａ、４ｂ・・・）を、音に変換して外部に出力するスピーカとして構成される。音声入力部１３および音声出力部１４は、それぞれ、対話ロボット１００に内蔵されたものであってもよいし、外部接続端子を介して外付けされたものであってもよいし、通信可能に接続されたものであってもよい。
【００１８】
記憶部１２は、ＲＯＭ（Read Only Memory）、ＮＶＲＡＭ（Non-Volatile Random Access Memory）、フラッシュメモリなどの不揮発性の記憶装置によって構成され、実施形態１では、音声管理テーブル４０ａおよび閾値４１ａ（例えば図３）が格納される。
【００１９】
制御部１０は、対話ロボット１００が有する各種の機能を統括的に制御する。制御部１０は、機能ブロックとして、少なくとも、入力管理部２１、出力要否判断部２２およびフレーズ出力部２３を含み、必要に応じて、音声認識部２０、フレーズ要求部２４およびフレーズ受信部２５を含む。機能ブロックは、ＣＰＵ（Central Processing Unit）などが、不揮発性の記憶装置（記憶部１２）に記憶されているプログラムを不図示のＲＡＭ（Random Access Memory）等に読み出して実行することで実現できる。
【００２０】
音声認識部（音声認識手段）２０は、音声入力部１３を介して入力された音声のデジタル信号を解析して、音声内の言葉をテキストデータに変換するものである。上記テキストデータは、音声認識結果として、対話ロボット１００またはサーバ２００の下流の各部によって処理される。音声認識部２０は、公知の音声認識技術が適宜採用されればよい。
【００２１】
入力管理部（受付手段）２１は、発話者によって入力された音声およびその入力履歴を管理するものである。具体的には、入力管理部２１は、入力された音声について、当該音声を一意に特定できる情報（例えば、音声ＩＤ、上記音声認識結果、または、音声のデジタル信号（以下、音声データ））とともに、当該音声の属性を表す属性情報（図３にて詳述）を少なくとも１つ対応付けて、音声管理テーブル４０ａに格納する。
【００２２】
出力要否判断部（判断手段）２２は、入力された音声に対する返答（以下、フレーズ）を、後述のフレーズ出力部２３に出力させるか否かを判断するものである。具体的には、出力要否判断部２２は、音声が立て続けに入力された場合に、入力管理部２１によって音声ごと付与された属性情報に基づいて、フレーズの出力要否を判断する。これにより、一問一答のコミュニケーションではなく、複数の音声が、一つ一つの返答を待たずに立て続けに対話ロボット１００に入力されるような状況が発生する対話において、不要なフレーズの出力を省いて、対話の自然な流れを維持することができる。
【００２３】
フレーズ出力部（提示手段）２３は、出力要否判断部２２の判断にしたがって、発話者が入力した音声に対応するフレーズを、発話者が認知可能な形式で提示するものであり、出力要否判断部２２が出力不要と判断したフレーズについては提示しない。フレーズを提示する方法の一例として、フレーズ出力部２３は、テキスト形式のフレーズを、音声データに変換して、音声出力部１４に出力させ、音で発話者に認知させる。ただし、これに限定されず、フレーズ出力部２３は、テキスト形式のフレーズを図示しない表示部に出力して、当該フレーズを文字として発話者に視認させる構成であってもよい。
【００２４】
フレーズ要求部（要求手段）２４は、対話ロボット１００に入力された音声に対応するフレーズをサーバ２００に要求するものである。一例として、フレーズ要求部２４は、上記音声認識結果を含むリクエスト２を、通信部１１を介してサーバ２００に送信する。
【００２５】
フレーズ受信部（受信手段）２５は、サーバ２００から供給されたフレーズを受信するものである。具体的には、フレーズ受信部２５は、リクエスト２に対応してサーバ２００から送信されたレスポンス３を受信する。フレーズ受信部２５は、レスポンス３の内容を分析してどの音声に対応するフレーズが受信されたのかを出力要否判断部２２に通知するとともに、受信したフレーズをフレーズ出力部２３に供給する。
【００２６】
〔サーバの構成〕
図１に示すとおり、サーバ２００は、制御部５０、通信部５１および記憶部５２を備えている。通信部５１は、基本的に通信部１１と同様に構成され、対話ロボット１００と通信する。通信部５１は、対話ロボット１００からリクエスト２を受信する受信部と、対話ロボット１００にレスポンス３を送信する送信部とを少なくとも含む。記憶部５２は、基本的に記憶部１２と同様に構成され、サーバ２００が処理する各種情報（フレーズセットまたはフレーズ素材集８０など）を記憶する。
【００２７】
制御部５０は、サーバ２００が有する各種の機能を統括的に制御する。制御部５０は、機能ブロックとして、フレーズ要求受信部６０、フレーズ生成部６１およびフレーズ送信部６２を含む。機能ブロックは、例えば、ＣＰＵなどが、不揮発性の記憶装置（記憶部５２）に記憶されているプログラムを不図示のＲＡＭ等に読み出して実行することで実現できる。フレーズ要求受信部（受付手段）６０は、対話ロボット１００からフレーズを要求するリクエスト２を受信する。フレーズ生成部（生成手段）６１は、受信されたリクエスト２に含まれる音声認識結果に基づいて、その音声に対応するフレーズを生成する。フレーズ生成部６１は、音声認識結果に対応付けられたフレーズまたはフレーズの素材をフレーズセットまたはフレーズ素材集８０から取得することによりフレーズをテキスト形式にて生成することができる。フレーズ送信部（送信手段）６２は、リクエスト２に対する応答として、生成されたフレーズを含むレスポンス３を対話ロボット１００に送信する。
【００２８】
〔情報について〕
図３の（ａ）は、記憶部１２に記憶されている実施形態１の音声管理テーブル４０ａの具体例を示す図であり、（ｂ）は、記憶部１２に記憶されている実施形態１の閾値４１ａの具体例を示す図である。また、（ｃ）は、音声管理テーブル４０ａの他の具体例を示す図である。図３は、理解を容易にする目的で、対話システム３００によって処理される情報の一具体例を示すものであり、対話システム３００の各装置の構成を限定するものではない。また、図３において、情報のデータ構造をテーブル形式にて示したことは一例であって、当該データ構造を、テーブル形式に限定する意図はない。以降、データ構造を説明するためのその他の図においても同様である。
【００２９】
図３の（ａ）を参照して、実施形態１の対話ロボット１００が保持する音声管理テーブル４０ａは、入力された１つの音声について、少なくとも、当該音声を識別するための音声ＩＤと、属性情報とを対応付けて格納する構造である。図３の（ａ）に示すとおり、音声管理テーブル４０ａは、さらに、入力された音声の音声認識結果と、当該音声に対応するフレーズとを格納してもよい。また、図示しないが、音声管理テーブル４０ａは、音声ＩＤ、音声認識結果およびフレーズに加えて（あるいは代えて）、入力された音声の音声データを格納してもよい。音声認識結果は、音声認識部２０によって生成され、フレーズ要求部２４によってリクエスト２を生成するのに用いられる。フレーズは、フレーズ受信部２５によって受信され、フレーズ出力部２３によって処理される。
【００３０】
実施形態１では、属性情報は、入力時刻と提示準備完了時刻とを含む。入力時刻は、音声が入力された時刻を指す。一例として、入力管理部２１は、ユーザが発した音声が音声入力部１３に入力された時刻を入力時刻として取得する。あるいは、入力管理部２１は、音声認識部２０が音声認識結果を音声管理テーブル４０ａに格納した時刻を入力時刻として取得しても構わない。提示準備完了時刻は、入力された上記音声に対応するフレーズが対話ロボット１００において取得され、当該フレーズを出力できる状態になった時刻を指す。一例として、入力管理部２１は、フレーズ受信部２５が上記フレーズをサーバ２００から受信した時刻を提示準備完了時刻として取得する。
【００３１】
入力時刻と提示準備完了時刻とに基づいて、入力された音声ごとに、音声が入力されてから対応するフレーズが出力可能となるまでの所要時間が算出される。上記所要時間も、属性情報の一部として、入力管理部２１によって音声管理テーブル４０ａに格納されてもよい。あるいは、出力要否判断部２２が入力時刻と提示準備完了時刻とに基づいて所要時間を必要に応じて算出する構成であってもよい。出力要否判断部２２は、上記所要時間を、フレーズの出力要否を判断するのに利用する。
【００３２】
ユーザは、自分の呼びかけに対して対話ロボット１００が返答に時間を要し、対話で間ができると、別の話題について音声を立て続けに入力してしまうことが考えられる。図３の（ａ）を参照して具体的に説明する。先に入力された第１の音声（Ｑ００２）に対応する第１のフレーズ「今日は晴れだよ。」がフレーズ出力部２３によって出力される前に、第２の音声（Ｑ００３）が入力されたとする。この場合、出力要否判断部２２は、上記第１のフレーズの出力要否を、対応する第１の音声の所要時間を用いて判断する。より詳細には、記憶部１２には、閾値４１ａ（図３の（ｂ）に示す例では、５秒）が格納されている。出力要否判断部２２は、第１の音声の所要時間を、提示準備完了時刻（7:00:17）−入力時刻（7:00:10）＝７秒と算出し、閾値４１ａ（５秒）と比較する。そして、所要時間が閾値４１ａを超える場合に、第１のフレーズを出力不要と判断する。つまり、第１の音声（Ｑ００２）に対応する第１のフレーズは、出力要否判断部２２が出力不要と判断する。そのためフレーズ出力部２３は、「今日は晴れだよ。」の出力を中止する。これにより、「今日の天気は？」が入力されてから長い時間（７秒）経過後、さらに、異なる話題の第２の音声「それより今日は何日だっけ？」の入力後に、不自然な応答「今日は晴れだよ。」が出力されるのを回避できる。なお、上記第１のフレーズが省かれた後、続けて別の音声が入力されないうちは、対話ロボット１００は、上記第２の音声に対応して、「１５日だよ。」などの第２のフレーズを出力してユーザとの対話を継続する。
【００３３】
一方、ユーザは、同じ話題に関して非常に短い間隔で２つの音声を立て続けに入力することが考えられる。図３の（ｃ）を参照して、別の例について具体的に説明する。先に入力された第１の音声（Ｑ００２）に対応する第１のフレーズが音声出力部２３によって出力される前に、第２の音声（Ｑ００３）が入力されたとする。この場合、出力要否判断部２２は、第１のフレーズの出力要否を、第１の音声の所要時間を用いて判断する。図３の（ｃ）に示す具体例では、所要時間は３秒である。出力要否判断部２２は、所要時間が閾値４１ａ（５秒）を超えないので、第１のフレーズを出力要と判断する。これにより、フレーズ出力部２３は、第２の音声「あと明日の天気は？」が入力された後であっても、第１のフレーズ「今日は晴れだよ。」を出力する。第１の音声「今日の天気は？」が入力されてからさほど長い時間が経過しておらず（３秒のみ）、かつ、短い間隔で立て続けに入力された第２の音声も同じ天気の話題である。よって、第２の音声の入力後に、第１のフレーズが出力されても不自然ではない。なお、この後、続けて別の音声が入力されないうちは、対話ロボット１００は、上記第２の音声に対応して、「明日はくもりだよ。」などのフレーズを出力してユーザとの対話を継続する。
【００３４】
〔処理フロー〕
図４は、実施形態１の対話システム３００における各装置の処理の流れを示すフローチャートである。対話ロボット１００において、音声入力部１３から発話者の音声が入力されると（Ｓ１０１でＹＥＳ）、音声認識部２０は、該音声の音声認識結果を出力する（Ｓ１０２）。入力管理部２１は、上記音声が入力された入力時刻Ｔｓを取得し（Ｓ１０３）、上記入力時刻を、入力された音声を特定する情報（音声ＩＤ、上記音声認識結果または音声データ）に対応付けて音声管理テーブル４０ａに記憶する（Ｓ１０４）。一方、フレーズ要求部２４は、上記音声認識結果を含むリクエスト２を生成し、サーバ２００に送信して、入力された上記音声に対応するフレーズをサーバ２００に要求する（Ｓ１０５）。
【００３５】
なお、サーバ２００からフレーズが返ってきたときに、どの音声に対応するフレーズであるのかを簡易かつ正確に特定できるように、リクエスト２に音声ＩＤが含まれていることが好ましい。また、音声認識部２０がサーバ２００に設けられている場合には、Ｓ１０２は省略され、音声認識結果に代えて音声データを含むリクエスト２が生成される。
【００３６】
サーバ２００において、フレーズ要求受信部６０がリクエスト２を受信すると（Ｓ１０６でＹＥＳ）、フレーズ生成部６１は、リクエスト２に含まれる音声認識結果に基づいて、入力された音声に対応するフレーズを生成する（Ｓ１０７）。フレーズ送信部６２は、生成されたフレーズを含むレスポンス３を対話ロボット１００に送信する（Ｓ１０８）。ここで、フレーズ送信部６２は、上記音声ＩＤをレスポンス３に含めることが好ましい。
【００３７】
対話ロボット１００において、フレーズ受信部２５がレスポンス３を受信すると（Ｓ１０９でＹＥＳ）、入力管理部２１は、レスポンス３の受信時刻を提示準備完了時刻Ｔｅとして取得し、音声ＩＤに対応付けて音声管理テーブル４０ａに記憶する（Ｓ１１０）。
【００３８】
次に、出力要否判断部２２は、レスポンス３に含まれるフレーズを受信する前に（あるいは、当該フレーズをフレーズ出力部２３が出力するまでに）、新たに別の音声が入力されたか否かを判断する（Ｓ１１１）。具体的には、出力要否判断部２２は、音声管理テーブル４０ａ（図３の（ａ））を参照して、受信されたフレーズ（例えば、「今日は晴れだよ。」）に対応する音声（Ｑ００２）の入力時刻（７：００：１０）よりも後に入力された音声であって、かつ、上記フレーズの提示準備完了時刻（７：００：１７）よりも前に入力された音声があるか否かを判断する。条件を満足する音声（図３の（ａ）の例では、Ｑ００３の音声）がある場合（Ｓ１１１でＹＥＳ）、出力要否判断部２２は、Ｓ１０９で受信された音声ＩＤに対応する入力時刻Ｔｓと提示準備完了時刻Ｔｅとを読み出し、返答の所要時間Ｔｅ−Ｔｓを取得する（Ｓ１１２）。
【００３９】
出力要否判断部２２は、閾値４１ａと上記所要時間とを比較し、所要時間が閾値４１ａを超えない場合（Ｓ１１３でＮＯ）、上記受信されたフレーズを出力要と判断する（Ｓ１１４）。フレーズ出力部２３は、上記出力要の判断にしたがって、受信された音声ＩＤに対応する上記フレーズを出力する（Ｓ１１６）。一方、所要時間が閾値４１ａを超える場合（Ｓ１１３でＹＥＳ）、上記受信されたフレーズを出力不要と判断する（Ｓ１１５）。フレーズ出力部２３は、上記出力不要の判断にしたがって、受信された音声ＩＤに対応する上記フレーズを出力しない。ここで出力不要と判断されたフレーズは、出力要否判断部２２によって、音声管理テーブル４０ａから削除されてもよいし、図示しない出力不要のフラグとともに保存されたままであってもよい。
【００４０】
なお、Ｓ１１１の条件を満足する音声がない場合（Ｓ１１１でＮＯ）、一問一答のコミュニケーションが成立しており、出力要否を判断する必要が無い。よってこの場合、Ｓ１０９で受信されたフレーズをフレーズ出力部２３が出力すればよい（Ｓ１１６）。
【００４１】
≪実施形態２≫
〔対話ロボットの構成〕
図１、図５〜図７に基づいて、本発明の実施形態２を説明する。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。以降の実施形態についても同様である。まず、以下では、図１に示す実施形態２の対話ロボット１００において、実施形態１の対話ロボット１００と異なる点について説明する。記憶部１２には、音声管理テーブル４０ａに代えて音声管理テーブル４０ｂが、閾値４１ａに代えて閾値４１ｂが格納されている。図５の（ａ）〜（ｃ）および図６の（ａ）〜（ｃ）は、実施形態２の音声管理テーブル４０ｂの具体例を示す図であり、図５の（ｄ）は、実施形態２の閾値４１ｂの具体例を示す図である。
【００４２】
実施形態２の音声管理テーブル４０ｂは、実施形態１の音声管理テーブル４０ａと異なり、属性情報として受付順序を格納する構造である。受付順序は、音声が入力された順序を示し、数字が小さいほど先に入力されたことを意味する。したがって、音声管理テーブル４０ｂにおいて、受付順序の値が最も大きい音声が、最新の音声として特定される。実施形態２では、入力管理部２１は、音声が入力されると、該音声の音声ＩＤと受付順序とを対応付けて音声管理テーブル４０ｂに格納する。入力管理部２１は、受付順序を音声に付与した後、最新の受付順序を１つインクリメントして、次の音声入力に備える。
【００４３】
なお、図５および図６に示す音声管理テーブル４０ｂに含まれる「出力結果」のカラムは、発明の理解を容易にする目的で記載されており、音声管理テーブル４０ｂに上記カラムは必ずしも含まれない。なお、出力結果の「済」は、音声に対応するフレーズが出力要と判断され出力されたことを示し、空欄は、フレーズがまだ準備できていない（出力できない）ことを示し、「出力不要」は、フレーズの準備が完了したが出力不要と判断され出力されないことを示す。出力結果を音声管理テーブル４０ｂにて管理する場合には、当該カラムは、出力要否判断部２２によって更新されればよい。
【００４４】
実施形態２では、出力要否判断部２２は、フレーズの出力要否を判断すべき対象の音声の受付順序Ｎｃと最新の音声の受付順序Ｎｎとの差分を新味度として算出する。新味度は、対象の音声および対応するフレーズのやりとりの新しさを数値化したものであり、新味度の値（上記差分）が大きいほど、時系列上古いやりとりであることを意味する。そして、出力要否判断部２２は、新味度を、フレーズの出力要否を判断するのに利用する。
【００４５】
具体的には、新味度が十分に大きいということは、対象の音声が入力されてから、最新の音声が入力されるまでの間に、対話ロボット１００と発話者とのやりとり（少なくとも、発話者から対話ロボット１００への呼びかけ）が多くなされていることを示す。したがって、対象の音声が入力された時点から、現時点（対話の最新の時点）までの間で、話題が切り替わったと考えられるのに十分な時間が経過していると考えられる。つまり、対象の音声および対応するフレーズの内容は、最新のやりとりの内容と合わず古くなっている可能性が高い。出力要否判断部２２は、新味度に基づいて返答するには古すぎると判断したフレーズを出力しないようにフレーズ出力部２３を制御し、対話の自然な流れを維持することができる。一方、新味度が十分に小さい場合には、対象の音声および対応するフレーズの内容は、最新のやりとりの内容とさほど変わらない可能性が高い。そのため、出力要否判断部２２は、上記フレーズを出力しても対話の流れは損なわれないと判断し、該フレーズの出力をフレーズ出力部２３に対して許可する。
【００４６】
まず、図５の（ａ）〜（ｄ）を参照して、フレーズが出力要と判断されるケースについて、具体的に説明する。３つの音声（Ｑ００２〜Ｑ００４）が、対話ロボット１００の返答を待たずに立て続けに入力されたとする。入力管理部２１は、これらの３つの音声に順次受付順序を付与し、音声認識結果とともに格納する（図５の（ａ））。このうち、最初に、Ｑ００３の音声に対応するフレーズ「３０日だよ。」がフレーズ受信部２５によって受信されたとする（図５の（ｂ））。ここでは、対象の音声は、Ｑ００３の音声であり、対応する上記フレーズについて、出力要否判断部２２が出力要否を判断する。出力要否判断部２２は、最新の受付順序Ｎｎ（図５の（ｂ）の時点では、４）と、対象の受付順序Ｎｃ（３）とを読み出し、これらの差分「４−３」から、新味度「１」を算出する。出力要否判断部２２は、図５の（ｄ）に示す閾値４１ｂ「２」と新味度「１」とを比較し、新味度が閾値を超えないと判断する。すなわち、新味度の値が十分小さく、話題が切り替わったと考えられる程やりとりが多く発生していないとして、出力要否判断部２２は、上記フレーズ「３０日だよ。」を出力要と判断する。この判断にしたがって、フレーズ出力部２３は、上記フレーズを出力する（図５の（ｃ））。
【００４７】
次に、図６の（ａ）〜（ｄ）を参照して、フレーズが出力不要と判断されるケースについて具体的に説明する。上述のＱ００３の音声に対応するフレーズが出力された後、Ｑ００２の音声に対応するフレーズが出力されないうちに、さらに、ユーザによってＱ００５の音声が入力されたとする（図６の（ａ））。この後、Ｑ００２の音声に対応するフレーズ「晴れだよ。」がフレーズ受信部２５によって受信されたとする（図６の（ｂ））。出力要否判断部２２は、対象の音声Ｑ００２の上記フレーズの出力要否を以下のように判断する。出力要否判断部２２は、最新の受付順序Ｎｎ（図６の（ｂ）の時点では、５）と、対象の受付順序Ｎｃ（２）とを読み出し、これらの差分「５−２」から、新味度「３」を算出する。出力要否判断部２２は、閾値４１ｂ（図５の（ｄ）の例では２）と新味度「３」とを比較し、新味度が閾値を超えると判断する。すなわち、新味度の値が十分大きく、話題が切り替わったと考えられる程やりとりが多く発生しているとして、出力要否判断部２２は、上記フレーズ「晴れだよ。」を出力不要と判断する（図６の（ｃ））。この判断にしたがい、フレーズ出力部２３は、上記フレーズの出力を中止する。これにより、対話の最新の時点で、今日の出来事について話題が挙がっているにもかかわらず、この時点で天気の話題に関わるフレーズが対話ロボット１００から出力されることを回避できる。
【００４８】
〔処理フロー〕
図７は、実施形態２の対話システム３００における各装置の処理の流れを示すフローチャートである。
【００４９】
対話ロボット１００において、実施形態１と同様に、音声が入力され、音声が認識される（Ｓ２０１、Ｓ２０２）。入力管理部２１は、上記音声に対して受付順序を付与し（Ｓ２０３）、上記受付順序を、上記音声の音声ＩＤ（または音声認識結果）に対応付けて音声管理テーブル４０ｂに記憶する（Ｓ２０４）。Ｓ２０５〜Ｓ２０９は、実施形態１のＳ１０５〜Ｓ１０９と同様である。
【００５０】
入力管理部２１は、Ｓ２０９にて受信されたフレーズを、同じく受信された音声ＩＤに対応付けて音声管理テーブル４０ｂに格納する（Ｓ２１０）。音声管理テーブル４０ｂにフレーズを格納するカラムが無い場合は、Ｓ２１０は省略してもよい。あるいは、上記フレーズは、音声管理テーブル４０ｂ（記憶部１２）ではなく、揮発性記憶装置としての図示しない一時記憶部に一時的に格納されてもよい。
【００５１】
次に、出力要否判断部２２は、レスポンス３に含まれるフレーズを受信する前に、新たに別の音声が入力されたか否かを判断する（Ｓ２１１）。具体的には、出力要否判断部２２は、音声管理テーブル４０ｂ（図５の（ｂ））を参照して、受信されたフレーズに対応する対象の音声の受付順序が最新か否かを判断する。対象の音声が最新の音声でなければ（Ｓ２１１でＹＥＳ）、出力要否判断部２２は、最新の音声の受付順序Ｎｎと、対象の音声の受付順序Ｎｃとを読み出し、対象の音声およびそのフレーズの新しさ、つまり、新味度Ｎｎ−Ｎｃを算出する（Ｓ２１２）。
【００５２】
出力要否判断部２２は、閾値４１ｂと新味度とを比較し、新味度が閾値４１ｂを超えない場合（Ｓ２１３でＮＯ）、上記受信されたフレーズを出力要と判断する（Ｓ２１４）。一方、新味度が閾値４１ｂを超える場合（Ｓ２１３でＹＥＳ）、上記受信されたフレーズを出力不要と判断する（Ｓ２１５）。以降の処理（Ｓ２１１でＮＯ、および、Ｓ２１６）は、実施形態１（Ｓ１１１でＮＯ、および、Ｓ１１６）と同様である。なお、閾値４１ｂは０以上の数値である。
【００５３】
〔変形例〕
上記実施形態２において、図７のＳ２１１に示す処理を省略してもよい。この構成によっても、以下の理由により、上記実施形態２における図７に示す処理と同様の結果を得ることができる。
【００５４】
図７のＳ２１２に示す処理が実行される時点において、レスポンス３が受信される前に別の音声が入力されていない場合、最新の音声の受付順序Ｎｎと、対象の音声の受付順序Ｎｃとが等しくなる。すなわち、新味度は０となる。よって、０以上の数値である閾値４２ｂを新味度は超えない（Ｓ２１３でＮＯ）ため、レスポンス３に含まれるフレーズが出力要と判断される（Ｓ２１４）。すなわち、図７のＳ２１１に示す処理において、対象の音声が最新の音声と判断された場合（Ｓ２１１でＮＯ）と同様に、レスポンス３に含まれるフレーズが出力される。
【００５５】
また、図７のＳ２１２に示す処理が実行される時点において、対象の音声が最新の音声ではない場合、図７のＳ２１２からの処理が実行される。これは、図７のＳ２１１に示す処理において、対象の音声が最新の音声ではないと判断された場合（Ｓ２１１でＹＥＳ）と同様の処理である。
【００５６】
よって、上記の構成においても、対象の音声に対応するレスポンス３に含まれるフレーズがフレーズ出力部２３によって提示される前に最新の音声が入力された場合に、上記記憶部に記憶されている音声の受付順序に基づいて、レスポンス３に含まれるフレーズの提示要否が出力要否判断部２２によって判断される。
【００５７】
≪実施形態３≫
〔対話ロボットの構成〕
図１、図８および図９に基づいて、本発明の実施形態３を説明する。まず以下では、図１に示す実施形態３の対話ロボット１００において、実施形態１および２の対話ロボット１００と異なる点について説明する。記憶部１２には、音声管理テーブル４０ａ、ｂに代えて音声管理テーブル４０ｃが格納されている。実施形態３では、閾値４１ａ、ｂは格納されない。実施形態３では、記憶部１２には、発話者データベース（ＤＢ）４２ｃが格納されている。図８の（ａ）は、実施形態３の音声管理テーブル４０ｃの具体例を示す図であり、図８の（ｂ）は、実施形態３の発話者ＤＢ４２ｃの具体例を示す図である。
【００５８】
実施形態３の音声管理テーブル４０ｃは、実施形態１および２の音声管理テーブル４０と異なり、属性情報として発話者情報を格納する構造である。発話者情報は、音声を発した発話者を特定する情報である。発話者情報は、発話者を一意に識別できる情報であれば何でもよい。例えば発話者情報として、発話者ＩＤ、発話者氏名、または、発話者の肩書またはニックネーム（父、母、兄、○○ちゃん）などが用いられる。
【００５９】
入力管理部２１は、実施形態３では、入力された音声の発話者を特定する機能を有しており、発話者特定部（発話者特定手段）として機能する。入力管理部２１は、一例として、入力された音声の音声データを解析して、声の特徴に基づいて発話者を特定する。図８の（ｂ）に示すとおり、発話者ＤＢ４２ｃには、発話者情報に対応付けて声のサンプルデータ４２０が登録されている。入力管理部２１は、入力された音声の音声データを各サンプルデータ４２０と比較して、該音声の発話者を特定する。あるいは、対話ロボット１００がカメラを備えている場合には、入力管理部２１は、カメラが取得した発話者の映像を、発話者の顏のサンプルデータ４２１と比較し、顏認識によって発話者を特定してもよい。なお、上述の発話者を特定する方法については、既に公知となっている技術を採用するものとし、特定方法の詳細については説明を省略する。
【００６０】
出力要否判断部２２は、実施形態３では、対象の音声の発話者情報Ｐｃと最新の音声の発話者情報Ｐｎとが一致するか否かに応じて、対象の音声に対応するフレーズの出力要否を判断する。図８の（ａ）を参照して具体的に説明する。対話ロボット１００において、音声Ｑ００２とＱ００３とが立て続けに入力された後に、音声Ｑ００２に対応するフレーズをサーバ２００から受信したとする。図８の（ａ）に示す音声管理テーブル４０ｃによれば、対象の音声Ｑ００２の発話者情報Ｐｃは「Ｂさん」であり、最新の音声Ｑ００３の発話者情報Ｐｎは「Ａさん」である。出力要否判断部２２は、発話者情報Ｐｃが発話者情報Ｐｎと一致しないので、対象の音声Ｑ００２に対応するフレーズ「晴れだよ。」を出力不要と判断する。一方、最新の発話者情報Ｐｎが「Ｂさん」だった場合には、対象の発話者情報Ｐｃは、上記最新の発話者情報Ｐｎと一致するので、出力要否判断部２２は、上記フレーズを出力要と判断する。
【００６１】
〔処理フロー〕
図９は、実施形態３の対話システム３００における各装置の処理の流れを示すフローチャートである。対話ロボット１００において、実施形態１および２と同様に、音声が入力され、音声が認識される（Ｓ３０１、Ｓ３０２）。入力管理部２１は、発話者ＤＢ４２ｃを参照して、音声の発話者を特定し（Ｓ３０３）、特定した発話者の発話者情報を、上記音声の音声ＩＤ（または音声認識結果）に対応付けて音声管理テーブル４０ｃに記憶する（Ｓ３０４）。Ｓ３０５〜Ｓ３１０は、実施形態２のＳ２０５〜Ｓ２１０と同様である。
【００６２】
サーバ２００から供給されたフレーズが受信され、音声管理テーブル４０ｃに格納されると、次に、出力要否判断部２２は、レスポンス３に含まれるフレーズを受信する前に、新たに別の音声が入力されたか否かを判断する（Ｓ３１１）。具体的には、出力要否判断部２２は、音声管理テーブル４０ｃ（図８の（ａ））を参照して、受信されたフレーズに対応する対象の音声（Ｑ００２）よりも後に、新たに入力された音声が有るか否かを判断する。条件を満足する音声（Ｑ００３）がある場合（Ｓ３１１でＹＥＳ）、出力要否判断部２２は、対象の音声の発話者情報Ｐｃと、最新の音声の発話者情報Ｐｎとを読み出し、それらを比較する（Ｓ３１２）。
【００６３】
出力要否判断部２２は、発話者情報Ｐｃが、発話者情報Ｐｎと一致する場合（Ｓ３１３でＹＥＳ）、上記受信されたフレーズを出力要と判断する（Ｓ３１４）。一方、発話者情報Ｐｃが、発話者情報Ｐｎと一致しない場合（Ｓ３１３でＮＯ）、上記受信されたフレーズを出力不要と判断する（Ｓ３１５）。以降の処理（Ｓ３１１でＮＯ、および、Ｓ３１６）は、実施形態２（Ｓ２１１でＮＯ、および、Ｓ２１６）と同様である。
【００６４】
≪実施形態４≫
〔対話ロボットの構成〕
図１、図１０〜図１２に基づいて、本発明の実施形態４を説明する。まず以下では、図１に示す実施形態４の対話ロボット１００において、実施形態３の対話ロボット１００と異なる点について説明する。記憶部１２には、さらに、閾値４１ｄが格納され、発話者ＤＢ４２ｃに代えて発話者ＤＢ４２ｄが格納されている。なお、音声管理テーブルとしては、実施形態３と同様に、音声管理テーブル４０ｃ（図８の（ａ））が格納されている。しかし、音声管理テーブル４０ｃに代えて音声管理テーブル４０ｄ（図１０の（ａ））が格納されていてもよい。図１０の（ａ）は、実施形態４の音声管理テーブルの他の具体例（音声管理テーブル４０ｄ）を示す図であり、図１０の（ｂ）は、実施形態４の閾値４１ｄの具体例を示す図であり、図１０の（ｃ）は、実施形態４の発話者ＤＢ４２ｄの具体例を示す図である。
【００６５】
入力管理部２１は、実施形態４では、実施形態３と同様に、特定した発話者の発話者情報を属性情報として音声に対応付けて音声管理テーブル４０ｃに記憶する。または他の例では、入力管理部２１は、さらに、図１０の（ｃ）に示す発話者ＤＢ４２ｄから、特定した発話者に対応付けられている関係値を取得し、該関係値を属性情報として音声に対応付けて音声管理テーブル４０ｄ（図１０の（ａ））に記憶する構成であってもよい。
【００６６】
関係値とは、対話ロボット１００と、発話者との関係を数値で示したものである。関係値は、対話ロボット１００と発話者との間、または、対話ロボット１００の所有者と発話者との間の関係性を、所定の計算式または換算規則に適用することによって算出される。上記関係値によって、対話ロボット１００と発話者との関係を客観的に定量化することができる。すなわち、出力要否判断部２２は、関係値を利用することにより、フレーズの出力要否の判断を、対話ロボット１００と発話者との関係性に基づいて判断することが可能となる。実施形態４では、一例として、対話ロボット１００と発話者との親しさを数値化した親密度を関係値として採用する。親密度は、対話ロボット１００の所有者であるか否か、または、対話ロボット１００と対話を行う頻度などに応じて予め算出されており、図１０の（ｃ）に示すとおり、発話者ごとに対応付けて記憶されている。なお、図示の例では、親密度の数値が大きいほど対話ロボット１００と発話者との関係が親密であることを示すものとする。しかし、これに限られず、数値が小さいほど関係が親密であるというように親密度を設定することも可能である。
【００６７】
出力要否判断部２２は、実施形態４では、対象の音声の発話者に対応付けられている関係値Ｒｃを閾値４１ｄと比較し、比較結果に応じて、対象の音声に対応するフレーズの出力要否を判断する。図８の（ａ）、図１０の（ｂ）および（ｃ）を参照して具体的に説明する。対話ロボット１００において、音声Ｑ００２とＱ００３とが立て続けに入力された後に、音声Ｑ００２に対応するフレーズをサーバ２００から受信したとする。図８の（ａ）に示す音声管理テーブル４０ｃによれば、対象の音声Ｑ００２の発話者情報Ｐｃは「Ｂさん」である。したがって、出力要否判断部２２は、発話者ＤＢ４２ｄ（図１０の（ｃ））から、発話者情報「Ｂさん」に対応付けられている親密度「５０」を取得する。出力要否判断部２２は、上記親密度を、閾値４１ｄ（図１０の（ｂ）では「６０」）と比較する。上記親密度は閾値未満である。つまり、対象の音声の発話者「Ｂさん」と対話ロボット１００との関係は、親密でないと判明する。よって、出力要否判断部２２は、親密でないＢさんの音声（対象の音声Ｑ００２）に対応するフレーズ「晴れだよ。」の出力は不要であると判断する。一方、対象の音声Ｑ００２の発話者が「Ａさん」だった場合、対応する親密度「１００」が取得される。これにより、上記親密度は閾値「６０」を超えており、対象の音声の発話者「Ａさん」と、対話ロボット１００との関係は、親密であると判明する。よって、出力要否判断部２２は、上記フレーズを出力要と判断する。
【００６８】
〔処理フロー〕
図１１は、実施形態４の対話システム３００における各装置の処理の流れを示すフローチャートである。対話ロボット１００において、Ｓ４０１〜Ｓ４１１は、実施形態３のＳ３０１〜Ｓ３１１と同様である。なお、記憶部１２において音声管理テーブル４０ｃではなく音声管理テーブル４０ｄ（図１０の（ａ））を格納する構成では、入力管理部２１は、Ｓ４０４にて、発話者情報に代えて、Ｓ４０３にて特定された発話者の関係値（親密度）を属性情報として音声管理テーブル４０ｄに格納する。
【００６９】
Ｓ４１１にて条件を満足する音声（図８の（ａ）では、Ｑ００３）がある場合（Ｓ４１１でＹＥＳ）、出力要否判断部２２は、対象の音声の発話者情報Ｐｃに対応付けられた関係値Ｒｃを発話者ＤＢ４２ｄから取得する（Ｓ４１２）。
【００７０】
出力要否判断部２２は、閾値４１ｄと関係値Ｒｃとを比較し、関係値Ｒｃ（親密度）が閾値４１ｄを超える場合（Ｓ４１３でＮＯ）、Ｓ４０９で受信されたフレーズを出力要と判断する（Ｓ４１４）。一方、関係値Ｒｃが、閾値４１ｄ未満である場合（Ｓ４１３でＹＥＳ）、上記受信されたフレーズを出力不要と判断する（Ｓ４１５）。以降の処理（Ｓ４１１でＮＯ、および、Ｓ４１６）は、実施形態３（Ｓ３１１でＮＯ、および、Ｓ３１６）と同様である。
【００７１】
≪実施形態５≫
出力要否判断部２２は、上述の各実施形態１〜４において、立て続けに複数の音声が入力された場合に、先の音声について、該音声に対応するフレーズの出力要否を判断する構成である。実施形態５では、さらに、出力要否判断部２２は、上記先の音声に対応するフレーズを出力要と判断した場合であって、後の音声についてフレーズの出力が完了していない場合に、先の音声が出力されることを踏まえて、当該後の音声に対応するフレーズの出力要否も判断することが好ましい。出力要否の判断は、各実施形態１〜４と同様に、先の音声について行ったのと同様の方法で実行されればよい。
【００７２】
上記構成によれば、以下の課題を解決することが可能である。例えば、先の第１の音声、後の第２の音声が立て続けに入力された場合であって、第１の音声に対する第１のフレーズが出力された（出力されると決まった）場合に、その後で、第２の音声に対する第２のフレーズが出力されると対話が不自然になる場合が想定される。実施形態１〜４の構成では、さらに、立て続けに第３の音声が入力されない限り、第２のフレーズの出力要否が判断されないので、上記の不自然な対話を確実に回避することができない。
【００７３】
そこで、実施形態５では、第１の音声に対する第１のフレーズが出力された場合に、第３の音声の入力が無くとも、第２の音声に対応するフレーズの出力要否を判断する。これにより、第１のフレーズ出力後に必ず第２のフレーズが出力されるという事態を回避できる。よって、状況に応じて不自然なフレーズの出力を省き、発話者と対話ロボット１００とのより一層自然な対話を実現することが可能となる。
【００７４】
≪変形例≫
〔音声認識部２０について〕
対話ロボット１００に設けられた音声認識部２０は、サーバ２００に設けられてもよい。この場合、音声認識部２０は、サーバ２００の制御部５０において、フレーズ要求受信部６０とフレーズ生成部６１との間に設けられる。また、この場合、対話ロボット１００の音声管理テーブル４０（ａ〜ｄ）において、入力された音声の音声認識結果は格納されず、音声ＩＤおよび音声データと属性情報とが格納される。そして、サーバ２００の第２音声管理テーブル８１（ａ〜ｄ）において、入力された音声ごとに、音声ＩＤ、音声認識結果、および、フレーズが格納される。具体的には、フレーズ要求部２４は、入力された音声をリクエスト２としてサーバ２００に送信し、フレーズ要求受信部６０が音声認識を行い、フレーズ生成部６１がその音声認識結果に合うフレーズの生成を行う。上記構成を有する対話システム３００においても、上述の各実施形態と同様の効果を得られる。
【００７５】
〔フレーズ生成部６１について〕
さらに、対話ロボット１００は、サーバ２００と通信せず、フレーズをローカルで生成する対話ロボット１００として構成することができる。すなわち、サーバ２００に設けられたフレーズ生成部６１は、対話ロボット１００に設けられてもよい。この場合、フレーズセットまたはフレーズ素材集８０は、対話ロボット１００の記憶部１２に格納される。また、通信部１１、フレーズ要求部２４およびフレーズ受信部２５は対話ロボット１００において省略することができる。すなわち、対話ロボット１００は、フレーズの生成、および、本発明に係る対話を制御する方法を単独で実現することができる。
【００７６】
〔出力要否判断部２２について〕
実施形態４において、対話ロボット１００に設けられた出力要否判断部２２は、サーバ２００に設けられてもよい。図１２は、実施形態４における、対話ロボット１００およびサーバ２００の要部構成の他の例を示す図である。図１２に示す本変形例の対話システム３００において、実施形態４の対話システム３００と異なる点は、以下のとおりである。対話ロボット１００の制御部１０が出力要否判断部２２を備えていない代わりに、サーバ２００の制御部５０が出力要否判断部（判断手段）６３を備えている。閾値４１ｄは、記憶部１２に格納される代わりに記憶部５２に格納されている。さらに、記憶部５２には、発話者ＤＢ４２ｅが格納されている。発話者ＤＢ４２ｅは、発話者情報と、関係値とを対応付けて格納するデータ構造を有する。さらに、記憶部５２には、第２音声管理テーブル８１ｃ（または、８１ｄ）が格納されている。本変形例では、第２音声管理テーブル８１ｃは、入力された音声ごとに、音声ＩＤ、音声認識結果、および、フレーズを格納し、さらに、各音声の属性情報（発話者情報）を対応付けて格納するデータ構造を有する。
【００７７】
対話ロボット１００はフレーズの出力要否を判断しないので、記憶部１２は、発話者ごとの関係値を保持しておく必要がなくなる。したがって、記憶部１２は、発話者ＤＢ４２ｄ（図１０の（ｃ））に代えて、発話者ＤＢ４２ｃ（図８のｂ））を格納していればよい。なお、入力管理部２１が有する発話者を特定する機能（発話者特定部）をサーバ２００に設ける場合には、記憶部１２は、発話者ＤＢ４２ｃを格納していなくてもよい。
【００７８】
本変形例では、対話ロボット１００に対して音声が入力されると、入力管理部２１は、発話者ＤＢ４２ｃを参照して、該音声の発話者を特定して、その発話者情報をフレーズ要求部２４に供給する。フレーズ要求部２４は、音声認識部２０から供給された上記音声の音声認識結果と、入力管理部２１から供給された上記音声の音声ＩＤおよび発話者情報とを含むリクエスト２をサーバ２００に送信する。
【００７９】
フレーズ要求受信部６０は、リクエスト２に含まれる音声ＩＤ、音声認識結果、および、属性情報（発話者情報）を第２音声管理テーブル８１ｃに格納する。フレーズ生成部６１は、受信された上記音声認識結果に応じて、上記音声に対応するフレーズを生成する。生成されたフレーズは、一旦、第２音声管理テーブル８１ｃに格納される。
【００８０】
出力要否判断部６３は、実施形態４の出力要否判断部２２と同様に、第２音声管理テーブル８１ｃを参照して、フレーズが生成された対象の音声の後に、別の音声が入力されていると判断した場合に、上記フレーズの出力要否の判断を行う。実施形態４と同様に、出力要否判断部６３は、対象の音声の発話者に対応付けられている関係値が、閾値４１ｄと比較して所定の条件を満足しているか否かに応じて、出力の要否を判断する。
【００８１】
出力要否判断部６３が上記フレーズを出力要と判断した場合、この判断にしたがって、フレーズ送信部６２は、該フレーズを対話ロボット１００に送信する。一方、出力要否判断部６３が上記フレーズを出力不要と判断した場合、フレーズ送信部６２は、生成された上記フレーズを対話ロボット１００に送信しない。この場合、フレーズ送信部６２は、リクエスト２に対するレスポンス３として、上記フレーズの代わりに、当該フレーズが出力不要である旨を通知するメッセージを対話ロボット１００に送信してもよい。上記構成を有する対話システム３００においても、実施形態４と同様の効果を得られる。
【００８２】
〔関係値について〕
実施形態４において、出力要否の判断のために出力要否判断部２２によって利用される「関係値」として「親密度」が採用された例について説明した。しかし、本発明の対話ロボット１００は、これに限られず、その他の関係値を採用することができる。関係値のその他の具体例を以下に列挙する。
【００８３】
「精神的距離」は、対話ロボット１００と発話者との間柄を数値化したものであり、値が小さいほど距離が近く、対話ロボット１００と発話者との間柄が深いことを意味する。出力要否判断部２２は、対象の音声の発話者との「精神的距離」が、所定閾値以上である（間柄が深くない）場合に、該音声に対応するフレーズを出力不要と判断する。「精神的距離」は、例えば、対話ロボット１００の所有者が最も小さい値となり、次いで、該所有者の親族、友人、所有者があまり知らない他人、・・・の順に、大きい値をとるように設定される。したがって、対話ロボット１００（または所有者）にとって深い間柄の発話者ほど、フレーズの返答が優先される。
【００８４】
「物理的距離」は、対話ロボット１００と発話者とが対話するときの物理的な距離を数値化したものである。例えば、入力管理部２１は、音声が入力されたとき、その音量またはカメラで撮像された発話者の大きさなどに基づいて「物理的距離」を取得し、属性情報として音声に対応付けて音声管理テーブル４０に記憶する。出力要否判断部２２は、対象の音声の発話者との「物理的距離」が所定閾値以上である（遠くから呼びかけられた）場合に、該音声に対応するフレーズを出力不要と判断する。したがって、対話ロボット１００と近くで対話している発話者への返答が優先される。
【００８５】
「類似度」は、対話ロボット１００に設定されている仮想的な性質と、発話者との性質との類似性を数値化したものである。値が大きいほど、対話ロボット１００と発話者との性質が似ていることを意味する。例えば、出力要否判断部２２は、対象の音声の発話者との「類似度」が、所定閾値以下である（性質が似ていない）場合に、該音声に対応するフレーズを出力不要と判断する。なお、発話者の性質（性格）は、例えば、発話者が事前に入力した情報（性別、年齢、職業、血液型、星座など）から決定されてもよいし、これに代えて、あるいは、加えて、発話者の言葉遣い、会話速度などに基づいて決定されてもよい。このようにして決定された発話者の性質（性格）を、対話ロボット１００に事前に設定されている仮想的な性質（性格）と比較して、所定の計算式に基づいて類似度を求めておく。このようにして算出された「類似度」を用いることによって、対話ロボット１００と性質（性格）が似ている発話者に対して、フレーズの返答を優先させることができる。
【００８６】
〔閾値の調節機能〕
実施形態１および２において、出力要否判断部２２が出力要否の判断のために参照した閾値４１ａおよび４１ｂは、固定化されず、対象音声の発話者の属性に基づいて動的に調節されてもよい。発話者の属性として、例えば、実施形態４で採用された「親密度」などの関係値を利用することができる。
【００８７】
具体的には、出力要否判断部２２は、親密度が高い発話者ほど、フレーズ（返答）が出力要と判断されるための条件が緩くなるように、閾値を変更する。例えば、実施形態１において、出力要否判断部２２は、対象の音声の発話者の親密度が１００である場合に、閾値４１ａの秒数を５秒から１０秒に延ばして、フレーズの出力要否を判断してもよい。これにより、対話ロボット１００との関係がより親しい発話者に対して、フレーズの返答を優先させることができる。
【００８８】
〔ソフトウェアによる実現例〕
対話ロボット１００（およびサーバ２００）の制御ブロック（特に、制御部１０および制御部５０の各部）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。後者の場合、対話ロボット１００（サーバ２００）は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、該プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００８９】
〔まとめ〕
本発明の態様１に係る情報処理装置（対話ロボット１００）は、ユーザ（発話者）が発した音声に応じて、当該ユーザに所定のフレーズを提示する情報処理装置であって、上記音声（音声データ）または該音声が認識された結果（音声認識結果）を、当該音声の属性を示す属性情報と対応付けて記憶部（記憶部１２の音声管理テーブル４０）に記憶することにより、当該音声の入力を受け付ける受付手段（入力管理部２１）と、上記受付手段によって受け付けられた音声に対応するフレーズを提示する提示手段（フレーズ出力部２３）と、先に入力された第１の音声に対応する第１のフレーズが上記提示手段によって提示される前に第２の音声が入力された場合に、上記記憶部に記憶されている１以上の属性情報の少なくとも１つに基づいて、上記第１のフレーズの提示要否を判断する判断手段（出力要否判断部２２）とを備えている。
【００９０】
上記の構成によれば、第１の音声と第２の音声とが立て続けに入力された場合、受付手段が、第１の音声の属性情報、および、第２の音声の属性情報を、音声ごとに記憶部に記憶する。そして、第１の音声に対応する第１のフレーズが提示される前に、第２の音声が入力されている上記の場合では、判断手段は、上記記憶部に記憶されている属性情報の少なくとも１つに基づいて、上記第１のフレーズの提示要否を判断する。
【００９１】
これにより、第２の音声が入力された後で、それより前に入力された第１の音声に対応する第１のフレーズを提示することを、対話の状況に応じて中止することができる。音声が立て続けに入力された場合、状況によっては、先の音声に返答せずに、後の音声以降のやりとりを続ける方が、対話としてより自然な場合が想定される。本発明は、結果として、不自然な返答を属性情報に基づいて適切に省き、ユーザと情報処理装置との間のより自然な（人間らしい）対話を実現することが可能となる。
【００９２】
本発明の態様２に係る情報処理装置では、上記態様１において、上記判断手段は、上記第１のフレーズを提示要と判断した場合、上記記憶部に記憶されている上記属性情報の少なくとも１つに基づいて、上記第２の音声に対応する第２のフレーズの提示要否を判断することが好ましい。
【００９３】
上記の構成によれば、第１の音声と第２の音声とが立て続けに入力された場合に、判断手段第１のフレーズを提示要と判断した場合に、さらに、第２のフレーズの提示要否も判断する。これにより、第１のフレーズ提示後に第２のフレーズが必ず提示される事態を回避できる。状況によっては、先の音声に対する返答がなされた後では、後の音声に対して返答しない方が、対話としてより自然な場合が想定される。本発明は、結果として、不自然な返答を属性情報に基づいて適切に省き、ユーザと情報処理装置との間のより自然な（人間らしい）対話を実現することが可能となる。
【００９４】
本発明の態様３に係る情報処理装置では、上記態様１または２において、上記受付手段は、上記音声が入力されたときの入力時刻または該音声の受付順序を上記属性情報に含めて記憶し、上記判断手段は、上記入力時刻または上記受付順序、および、上記入力時刻または上記受付順序を用いて決定される他の属性情報の少なくともいずれか１つを用いて、フレーズの提示要否を判断してもよい。
【００９５】
上記の構成によれば、第１の音声と第２の音声とが立て続けに入力された場合に、これらの音声に対応するフレーズの提示要否は、少なくとも、音声の入力時刻または受付順序、もしくは、これらの属性情報を用いて決定される他の属性情報に基づいて判断される。
【００９６】
これにより、音声が入力されたタイミングが古すぎて、当該音声に返答するのは今更不自然であるというような状況の場合に、そのような返答を省くことができる。対話は時間の経過とともに進行し続けるものであり、古い入力音声に対して、長い時間経過してから返答したり、その後やりとりが多く発生した後に返答したりすることは対話として不自然である。本発明は、結果として、上記のような不自然な対話を回避することができる。
【００９７】
本発明の態様４に係る情報処理装置では、上記態様３において、上記判断手段は、上記音声の入力時刻から、該音声に対応するフレーズが自装置にて生成または外部装置（サーバ２００）から取得されることにより提示可能となる提示準備完了時刻までの時間（所要時間）が所定の閾値を超える場合に、当該フレーズの提示は不要であると判断してもよい。
【００９８】
これにより、音声が入力された時点から時間が経過し過ぎて今更返答するのが不自然であるという場合にそのような返答の提示を省くことができる。
【００９９】
本発明の態様５に係る情報処理装置では、上記態様３において、上記受付手段は、さらに、各音声の受付順序を上記属性情報に含めて記憶し、上記判断手段は、最も新しく入力された音声の受付順序（最新の音声の受付順序Ｎｎ）と、上記第１または第２の音声を含む先に入力された音声の受付順序（対象の音声の受付順序Ｎｃ）との差分（新味度）が所定の閾値を超える場合に、当該先に入力された音声に対応するフレーズの提示は不要であると判断してもよい。
【０１００】
これにより、先の音声が入力されて以降、立て続けに音声が多く入力され（あるいは、それらの多くの音声に対して返答が多くなされ）、上記の先の音声に今更返答するのが不自然であるという場合にそのような返答の提示を省くことができる。
【０１０１】
本発明の態様６に係る情報処理装置では、態様１〜５において、上記受付手段は、音声を発した発話者を特定する発話者情報を上記属性情報に含めて記憶し、上記判断手段は、上記発話者情報および該発話者情報を用いて決定される他の属性情報の少なくともいずれか１つを用いて、フレーズの提示要否を判断してもよい。
【０１０２】
上記の構成によれば、第１の音声と第２の音声とが立て続けに入力された場合に、これらの音声に対応するフレーズの提示要否は、少なくとも、音声の発話者を特定する発話者情報または発話者情報を用いて決定される他の属性情報に基づいて判断される。
【０１０３】
これにより、音声を入力した発話者に応じて、不自然な返答を省き、ユーザと情報処理装置とのより自然な対話を実現できる。対話は、同じ相手との間で継続されることが自然である。そこで、発話者情報を用いて、対話の流れを阻害する不自然な返答（例えば、他者からの割込み）を省き、より自然な対話を実現することができる。
【０１０４】
本発明の態様７に係る情報処理装置では、上記態様６において、上記判断手段は、上記第１または第２の音声を含む先に入力された音声の発話者情報（対象の音声の発話者情報Ｐｃ）が、最も新しく入力された音声の発話者情報（最新の音声の発話者情報Ｐｎ）と一致しない場合に、当該先に入力された音声に対応するフレーズの提示は不要であると判断してもよい。
【０１０５】
これにより、最新の話し相手との対話を優先し、対話の相手が頻繁に入れ替わり交錯するような不自然な状況を回避することができる。
【０１０６】
本発明の態様８に係る情報処理装置では、上記態様６において、上記判断手段は、上記音声の発話者情報に関連付けられている、上記発話者と上記情報処理装置との間の関係を数値で示した関係値が、所定の閾値と比較して所定の条件を満足するか否かに応じて、当該音声に対応するフレーズの提示要否を判断してもよい。
【０１０７】
上記の構成によれば、発話者と情報処理装置との間で仮想的に設定された関係性に基づいて、関係の深い話し相手からの音声に対する返答が優先される。これにより、関係が浅い相手が割込んで、対話の相手が頻繁に入れ替わるような不自然な状況を回避することができる。なお、上記関係値は、一例として、ユーザと情報処理装置との間の親しさを表す親密度であってもよい。親密度は、例えば、ユーザの情報処理装置との対話の頻度などに基づいて決定されてもよい。
【０１０８】
本発明の態様９に係る情報処理装置では、上記態様３〜５において、上記受付手段は、さらに、音声を発した発話者を特定する発話者情報を上記属性情報に含めて記憶し、上記判断手段は、上記入力時刻または上記受付順序を用いて算出される値（所要時間または新味度）が所定の閾値を超える場合に、当該フレーズの提示は不要であると判断するものであり、上記音声の発話者情報に関連付けられている、上記発話者と上記情報処理装置との間の関係を数値で示した関係値に応じて、上記閾値を変更してもよい。
【０１０９】
これにより、関係の深い話し相手への返答を優先しつつ、音声が入力されたタイミングが古すぎて返答することが不自然な場合に、当該返答を省くことができる。
【０１１０】
本発明の態様１０に係る情報処理装置は、態様１〜９において、上記音声または該音声が認識された結果を外部装置に送信することにより、当該音声に対応するフレーズを上記外部装置に要求する要求手段（フレーズ要求部２４）と、上記要求手段による要求（リクエスト２）に対する応答（レスポンス３）として上記外部装置から返信されたフレーズを受信して、上記提示手段に供給する受信手段（フレーズ受信部２５）とを備えている。
【０１１１】
本発明の態様１１に係る情報処理システム（対話システム３００）は、ユーザが発した音声に応じて、当該ユーザに所定のフレーズを提示する情報処理装置（対話ロボット１００）と、音声に対応するフレーズを上記情報処理装置に供給する外部装置（サーバ２００）とを含む情報処理システムであって、上記情報処理装置は、上記音声または該音声が認識された結果、および、当該音声の属性を示す属性情報を上記外部装置に送信することにより、当該音声に対応するフレーズを上記外部装置に要求する要求手段（フレーズ要求部２４）と、上記要求手段による要求（リクエスト２）に対する応答（レスポンス３）として上記外部装置から送信されたフレーズを受信する受信手段（フレーズ受信部２５）と、上記受信手段によって受信された上記フレーズを提示する提示手段（フレーズ出力部２３）とを備え、上記外部装置は、上記情報処理装置から送信された、上記音声または該音声が認識された結果と当該音声の属性情報とを対応付けて記憶部（記憶部５２の第２音声管理テーブル８１）に記憶することにより、当該音声の入力を受け付ける受付手段（フレーズ要求受信部６０）と、上記受付手段によって受け付けられた音声に対応するフレーズを上記情報処理装置に送信する送信手段（フレーズ送信部６２）と、先に入力された第１の音声に対応する第１のフレーズが上記送信手段によって送信される前に第２の音声が入力された場合に、上記記憶部に記憶されている１以上の属性情報の少なくとも１つに基づいて、上記第１のフレーズの送信要否を判断する判断手段（出力要否判断部６３）とを備えている。
【０１１２】
態様１０および態様１１の構成によれば、態様１と略同様の効果を得られる。
【０１１３】
本発明の各態様に係る情報処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記情報処理装置が備える各手段として動作させることにより上記情報処理装置をコンピュータにて実現させる情報処理装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０１１４】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【産業上の利用可能性】
【０１１５】
本発明は、ユーザが発した音声に応じて、当該ユーザに所定のフレーズを提示する情報処理装置および情報処理システムに利用することができる。
【符号の説明】
【０１１６】
１０：制御部、１２：記憶部、２０：音声認識部（音声認識手段）、２１：入力管理部（受付手段）、２２：出力要否判断部（判断手段）、２３：フレーズ出力部（提示手段）、２４：フレーズ要求部（要求手段）、２５：フレーズ受信部（受信手段）、５０：制御部、５２：記憶部、６０：フレーズ要求受信部（受付手段）、６１：フレーズ生成部（生成手段）、６２：フレーズ送信部（送信手段）、６３：出力要否判断部（判断手段）、１００：対話ロボット（情報処理装置）、２００：サーバ（外部装置）、３００：対話システム（情報処理システム）
【図１】
2015152868.tif 000003
【図２】
2015152868.tif 000004
【図３】
2015152868.tif 000005
【図４】
2015152868.tif 000006
【図５】
2015152868.tif 000007
【図６】
2015152868.tif 000008
【図７】
2015152868.tif 000009
【図８】
2015152868.tif 000010
【図９】
2015152868.tif 000011
【図１０】
2015152868.tif 000012
【図１１】
2015152868.tif 000013
【図１２】
2015152868.tif 000014