TOP > 国内特許検索 > 音声対話装置および音声対話装置を用いた自動対話方法 > 明細書

明細書 :音声対話装置および音声対話装置を用いた自動対話方法

発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2018-040897 (P2018-040897A)
公開日 平成30年3月15日(2018.3.15)
発明の名称または考案の名称 音声対話装置および音声対話装置を用いた自動対話方法
国際特許分類 G10L  15/10        (2006.01)
G10L  15/00        (2013.01)
G10L  13/00        (2006.01)
G10L  13/02        (2013.01)
G10L  15/22        (2006.01)
G06F   3/16        (2006.01)
FI G10L 15/10 500Z
G10L 15/00 200H
G10L 13/00 100M
G10L 13/02 130Z
G10L 15/22 300Z
G06F 3/16 650
請求項の数または発明の数 7
出願形態 OL
全頁数 16
出願番号 特願2016-173862 (P2016-173862)
出願日 平成28年9月6日(2016.9.6)
発明者または考案者 【氏名】河原 達也
【氏名】高梨 克也
【氏名】中西 亮輔
【氏名】渡部 生聖
出願人 【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
個別代理人の代理人 【識別番号】100103894、【弁理士】、【氏名又は名称】家入 健
審査請求
要約 【課題】ユーザの発話から解析される韻律からでは、次の発話を対話ロボットがすべきか、ユーザの発話を待つべきか、明りょうに判断できない場合があった。このような場合は、両者の間で沈黙が続いたり、両者の発話が被ったりして、円滑な会話を楽しむ妨げとなっていた。
【解決手段】入力部が入力したユーザ発話に基づいて、次のユーザ発話を待つべきか、自身からの発話を実行すべきかを推定する推定部と、推定部が、ユーザ発話を待つべきとも、自身からの発話を実行すべきとも推定できなかった場合に、対話内容とは関係の無い繋ぎ発声であるフィラーを出力部に出力させるフィラー出力、および疑似頭部を前後させる頷き動作の少なくともいずれかを実行して応答する応答制御部とを備える音声対話装置を提供する。
【選択図】図3
特許請求の範囲 【請求項1】
ユーザの発話である入力発話を入力する入力部と、前記ユーザへの発話である出力発話を出力する出力部とを有する音声対話装置であって、
前記入力部が入力した前記入力発話に基づいて、前記入力部による前記入力発話の入力を待つべきか、前記出力部による前記出力発話の出力を実行すべきかを推定する推定部と、
前記推定部が、前記入力部による前記入力発話の入力を待つべきとも、前記出力部による前記出力発話の出力を実行すべきとも推定できなかった場合に、対話内容とは関係の無い繋ぎ発声であるフィラーを前記出力部に出力させるフィラー出力、および疑似頭部を前後させる頷き動作の少なくともいずれかを実行して応答する応答制御部と
を備える音声対話装置。
【請求項2】
前記入力部が入力した前記入力発話の韻律を解析する解析部を備え、
前記推定部は、前記解析部が解析した前記韻律に基づいて、前記入力部による前記入力発話の入力を待つべきか、前記出力部による前記出力発話の出力を実行すべきかを推定する請求項1に記載の音声対話装置。
【請求項3】
前記推定部は、前記解析部が解析した前記韻律に基づいて、前記入力部による前記入力発話の入力を待つべきか、前記出力部による前記出力発話の出力を実行すべきかを推定する推定値を演算し、
前記応答制御部は、前記推定部が演算した前記推定値が、前記入力部による前記入力発話の入力を待つべきとも、前記出力部による前記出力発話の出力を実行すべきとも推定されない所定範囲に含まれる場合に、前記フィラー出力および前記頷き動作の少なくともいずれかを実行して応答する請求項2に記載の音声対話装置。
【請求項4】
前記応答制御部は、推定値が、前記推定値を前記出力発話の出力を実行すべき確率として表した場合の前記所定範囲に前記含まれる場合であって、前記所定範囲に設定される第1閾値よりも小さい場合には前記頷き動作を実行して応答し、前記所定範囲に設定され、前記第1閾値以上の値に設定される第2閾値よりも大きい場合には前記フィラー出力を実行して応答する請求項3に記載の音声対話装置。
【請求項5】
前記推定部は、前記出力部による前記出力発話の出力を実行することなく前記応答制御部が前記フィラー出力を続けて実行した場合は、前記出力発話の出力を実行すべきと推定する度合いを高くする請求項1から4のいずれか1項に記載の音声対話装置。
【請求項6】
前記推定部は、前記フィラー出力の実行中に前記入力部が前記入力発話を入力したことを検知した場合は、前記入力発話の入力を待つべきと推定する度合いを高くする請求項1から5のいずれか1項に記載の音声対話装置。
【請求項7】
ユーザの発話である入力発話を入力する入力部と、前記ユーザへの発話である出力発話を出力する出力部とを有する音声対話装置を用いた自動対話方法であって、
前記入力部が入力した前記入力発話に基づいて、前記入力部による前記入力発話の入力を待つべきか、前記出力部による前記出力発話の出力を実行すべきかを推定する推定ステップと、
前記推定ステップで、前記入力部による前記入力発話の入力を待つべきとも、前記出力部による前記出力発話の出力を実行すべきとも推定できなかった場合に、対話内容とは関係の無い繋ぎ発声であるフィラーを前記出力部に出力させるフィラー出力、および疑似頭部を前後させる頷き動作の少なくともいずれかを実行して応答する応答ステップと
を含む自動対話方法。
発明の詳細な説明 【技術分野】
【0001】
本発明は、音声対話装置および音声対話装置を用いた自動対話方法に関する。
【背景技術】
【0002】
ユーザが音声対話ロボットと日常会話を楽しむための技術が普及しつつある。例えば、違和感のない会話を実現するための技術として、ユーザの韻律を解析することにより、対話ロボットが適当なタイミングで相槌するものが知られている(特許文献1を参照)。また、ユーザとロボットの間で話者が交代するタイミングを模索する研究もなされている(非特許文献1を参照)。
【先行技術文献】
【0003】

【特許文献1】特開2009-3040号公報
【0004】

【非特許文献1】認知科学 研究論文 Vol.7(2000)No.1 93頁~106頁
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザの発話から解析される韻律からでは、次の発話を対話ロボットがすべきか、ユーザの発話を待つべきか、明りょうに判断できない場合があった。このような場合は、両者の間で沈黙が続いたり、両者の発話が被ったりして、円滑な会話を楽しむ妨げとなっていた。
【0006】
本発明は、このような問題を解決するためになされたものであり、対話ロボットを一例とする音声対話システムとユーザとの間で、より円滑な会話を実現する技術を提供するものである。
【課題を解決するための手段】
【0007】
本発明の第1の態様における音声対話装置は、ユーザの発話である入力発話を入力する入力部と、ユーザへの発話である出力発話を出力する出力部とを有する音声対話装置であって、入力部が入力した前記入力発話に基づいて、入力部による入力発話の入力を待つべきか、出力部による出力発話の出力を実行すべきかを推定する推定部と、推定部が、入力部による入力発話の入力を待つべきとも、出力部による出力発話の出力を実行すべきとも推定できなかった場合に、対話内容とは関係の無い繋ぎ発声であるフィラーを出力部に出力させるフィラー出力、および疑似頭部を前後させる頷き動作の少なくともいずれかを実行して応答する応答制御部とを備える。
【0008】
本発明の第2の態様における自動対話方法は、ユーザの発話である入力発話を入力する入力部と、ユーザへの発話である出力発話を出力する出力部とを有する音声対話装置を用いた自動対話方法であって、入力部が入力した前記入力発話に基づいて、入力部による入力発話の入力を待つべきか、出力部による出力発話の出力を実行すべきかを推定する推定ステップと、推定ステップで、入力部による入力発話の入力を待つべきとも、出力部による出力発話の出力を実行すべきとも推定できなかった場合に、対話内容とは関係の無い繋ぎ発声であるフィラーを出力部に出力させるフィラー出力、および疑似頭部を前後させる頷き動作の少なくともいずれかを実行して応答する応答ステップとを含む。
【0009】
以上の各実施態様の構成により、フィラーの発声により音声対話装置側に発話権があることを仄めかしたり、頷き動作によりユーザの発話を促したりできるので、両者の間で沈黙が続いたり、両者の発話が被ったりすることを抑制できる。
【発明の効果】
【0010】
本発明により、音声対話システムとユーザとの間で、より円滑な会話を実現することができる。
【図面の簡単な説明】
【0011】
【図1】ユーザが本実施形態にかかる対話ロボットと会話する様子を示す図である。
【図2】第1の実施例における、対話ロボットのシステム構成を示す図である。
【図3】第1の実施例における、応答決定テーブルを示す図である。
【図4】第1の実施例における、対話処理フローを示す図である。
【図5】第2の実施例における、応答決定テーブルを示す図である。
【図6】第2の実施例における、対話処理フローの特徴部を示す図である。
【図7】第3の実施例における、対話ロボットのシステム構成を示す図である。
【図8】第3の実施例における、応答決定テーブルを示す図である。
【図9】第3の実施例における、対話処理フローの特徴部を示す図である。
【図10】第4の実施例における、応答決定テーブルを示す図である。
【図11】第5の実施例における、対話処理フローの特徴部を示す図である。
【図12】第6の実施例における、対話処理フローの特徴部を示す図である。
【図13】他の実施態様にかかるスマートフォンの外観を示す図である。
【発明を実施するための形態】
【0012】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。

【0013】
図1は、ユーザが本実施形態にかかる対話ロボット100と会話する様子を示す図である。対話ロボット100は、音声対話装置の一態様であり、ユーザの発話に応じた返答を行う。対話ロボット100は、例えば人間のような生物を模した筐体を有することで、ユーザに与える無機質感を和らげている。図示するように、対話ロボット100は、手足を含む体部120の上に擬似的な頭部110が配された外観を有する。そして、頭部110には、耳が位置する側頭部辺りにマイク111が配されており、マイク111は、ユーザの発話を集音する。また、擬似的な口にはスピーカ112が配されており、スピーカ112は、対話ロボット100が生成した応答を発話、発声する。なお、以下の説明においては、対話内容として意味を有する音声を「発話」とし、対話内容とは関係の無い繋ぎの音声を「発声」とする。これらを特に区別する必要が無い場合には「発話」と表現する場合がある。

【0014】
図2は、本実施形態の第1の実施例における、対話ロボット100のシステム構成を示す図である。対話ロボット100は、主な機能要素として、発話入力部210、解析部220、推定部230、応答制御部240、出力生成部250、発話出力部260を備える。

【0015】
発話入力部210は、マイク111を含み、ユーザの発話を集音してデジタル信号に変換し、解析部220へ引き渡す。解析部220は、デジタル信号として受け取ったユーザ発話の韻律を解析する。韻律は、発話を音波として捉えた場合の、その物理的特徴を表すものである。

【0016】
韻律の解析は、ユーザが発する一塊の音波において、例えば基本周波数やその変動帯域、振幅の最大値および平均値を特徴量として演算し、数値化する処理である。解析部220は、受け取ったデジタル信号を、例えば25msecのウィンドウ幅で切り取り、それを一塊の音波としてそれぞれの特徴量を演算する。そして、例えば10msecの遅延時間でウィンドウを順次シフトさせ、シフトさせるごとに特徴量を演算し、演算した特徴量を推定部230へ逐次引き渡す。

【0017】
また、解析部220は、ユーザの発話の節目を韻律の変化から予測して、節目のタイミングを応答制御部240へ出力する。発話の節目は、一連の会話の区切りであり、解析部220は、振幅レベルの低下や、語尾の抑揚によって節目を予測する。

【0018】
推定部230は、受け取った物理的特徴量としての韻律に基づいて、ユーザからの発話を待つべきか、自身が発話すべきかを推定する。本実施形態において具体的には、推定部230は、話者がユーザから対話ロボット100へ移る確率である交代確率Pを推定値として算出する。交代確率P=0は、発話権が継続してユーザに有ることを意味し、交代確率P=1は、発話権がユーザから対話ロボット100へ移ることを意味する。交代確率Pは、0以上1以下の値として算出される。したがって、交代確率Pが0に近いほど発話権が継続してユーザに有ると強く推定され、1に近いほど発話権がユーザから対話ロボット100へ移ると強く推定されると言える。

【0019】
推定部230は、韻律DB310に接続されている。韻律DB310は、例えばハードディスクドライブの記録媒体であり、韻律を表現するそれぞれの特徴量が、どのような数値である場合に交代確率に対してどれくらいの影響を与えるかを表現する、ルックアップテーブルや評価関数が格納されたデータベースである。推定部230は、解析部220から受け取った韻律のそれぞれの物理的特徴量を、韻律DB310のルックアップテーブルや評価関数に当てはめてそれぞれの評価値に換算し、これらの評価値から多変量解析などの手法を用いて交代確率Pを算出する。具体的手法については、非引用文献1などに詳しい。

【0020】
推定部230は、算出した交代確率Pを応答制御部240へ引き渡す。応答制御部240は、解析部220からユーザ発話の節目のタイミングを知らされた場合に、交代確率Pを参照して、いかなる応答を実行するかを決定する。そして、決定した応答を実行するための具体的なデータを、出力生成部250から取得する。

【0021】
本実施形態の第1の実施例では、応答制御部240は、交代確率Pの値に応じて「何も応答しない」「フィラー発声を行う」「応答発話を行う」の3つの中から決定する。「応答しない」は、特に何ら反応を示さないという応答であるが、形式的には無発話時間を設定するなどのために出力生成部250を参照する。

【0022】
応答制御部240は、「フィラー発声を行う」ことを決定した場合は、出力生成部250の一機能として実装されるフィラー生成部251にフィラーを生成させる。フィラーは、対話内容とは関係の無い繋ぎ発声である。例えば、「あー」「あのー」「えー」「えーと」「そうですねー」などが挙げられる。これらのフィラーは、再生可能な発声データとして、フィラーDB320に格納されている。

【0023】
フィラーDB320は、フィラー生成部251に接続されているデータベースであり、例えばハードディスクドライブの記録媒体によって構成されている。フィラー生成部251は、応答制御部240からの要求に従ってフィラーDB320に格納された発声データを例えばランダムに抽出することによりフィラーを生成し、応答制御部240へ引き渡す。

【0024】
応答制御部240は、「応答発話を行う」ことを決定した場合は、出力生成部250の一機能として実装される応答生成部252に応答発話を生成させる。応答発話は、ユーザ発話の内容に対して意味を有する対話として応答する発話である。

【0025】
発話DB330は、応答生成部252に接続されているデータベースであり、例えばハードディスクドライブの記録媒体によって構成されている。発話DB330は、例えばコーパスとして体系化されており、個々の用語は、再生可能な発話データを伴って格納されている。応答生成部252は、応答制御部240からの要求に従って発話DB330から発話データを収集し、会話として成立するセンテンスを構築して、応答制御部240へ引き渡す。

【0026】
応答生成部252は、出力生成部250に生成させたフィラー発声データ、応答発話データを発話出力部260へ引き渡す。発話出力部260は、スピーカ112を含み、応答生成部252から受け取ったフィラー発声データ、応答発話データをアナログ信号に変換して、スピーカ112から音として出力する。

【0027】
図3は、第1の実施例における、応答決定テーブルを示す図である。図示するように、応答制御部240は、交代確率Pが0.0以上0.5未満である場合に、「何も応答しない」と決定する。同様に、交代確率Pが0.5以上0.8未満である場合に、「フィラー発声を行う」と決定し、交代確率Pが0.8以上1.0以下である場合に、「応答発話を行う」と決定する。このように、応答制御部240がいかなる応答を行うかは、交代確率Pの値に応じた分類ルールとして、予め定められている。

【0028】
図3に示す分類ルールは、発話入力部210による入力発話の入力、すなわちユーザが発話することを待つべきとする交代確率Pの範囲を、0.0以上0.5未満と定めている。同様に、発話出力部260による出力発話の出力、すなわち対話ロボット100自身が意味内容を有する発話をすべきとする交代確率Pの範囲を0.8以上1.0以下と定めている。そして、その間の0.5以上0.8未満の範囲を、発話入力部210による入力発話の入力を待つべきとも、発話出力部260による出力発話の出力を実行すべきとも推定できない範囲として定めている。

【0029】
本実施例においては、対話ロボット100が入力発話の入力を待つべきとも出力発話の出力を実行すべきとも推定できない場合に、ユーザとの間で沈黙が続いたり、ユーザの発話と被ったりすることを抑制するために、フィラー発声を行う。フィラー発声には、発声した話者側に発話権があることを相手に仄めかす効果があると知られている。

【0030】
図4は、第1の実施例における、対話処理フローを示す図である。図示する対話処理フローは、例えばスイッチが操作されるなどの対話開始の検知に伴って開始される。

【0031】
応答制御部240は、ステップS101で、ユーザが発話を開始したか否かを判断する。具体的には、例えば、発話入力部210のAD変換出力を監視して判断する。ユーザが発話を開始したと判断したら、ステップS102へ進む。

【0032】
ステップS102で、発話入力部210は、ユーザの発話を入力してデジタル信号に変換し、解析部220へ引き渡す。ステップS103で、解析部220は、発話入力部210から受け取ったデジタル信号から韻律を解析し、演算した特徴量を推定部230へ引き渡す。ステップS104で、推定部230は、解析部220から受け取った韻律の特徴量を用いて、交代確率Pを算出し、応答制御部240へ引き渡す。

【0033】
応答制御部240は、ステップS105で、ユーザ発話に節目があるか否かを判断する。具体的には、解析部220から節目のタイミング情報を受け取った場合に、そのタイミング情報が示す時点を節目と判断する。節目がないと判断した場合は、ステップS102へ戻り、ユーザ発話をさらに継続して受け入れる。節目があると判断した場合は、ステップS106へ進む。

【0034】
応答制御部240は、ステップS106で、対話が終了したか否かを判断する。ユーザが、例えば、「さようなら」と発話した場合や、終了ボタンを操作した場合は、対話が終了したと判断し、一連の処理を終了させる。終了と判断できない場合は、対話を継続すべく、ステップS107へ進む。

【0035】
ステップS107からの処理は、応答選択の処理である。応答制御部240は、ステップS107で、交代確率Pが0.0以上0.5未満であるか否かを判断する。この範囲に含まれると判断したら、ステップS108へ進み、ユーザの次の発話を待つ。例えば、予め定められた時間の間をおく。そして、その間にユーザが発話を開始したかを判断すべくステップS101へ戻り、再び一連の処理を実行する。

【0036】
応答制御部240は、ステップS107で交代確率Pが0.0以上0.5未満に含まれないと判断した場合は、ステップS109へ進み、交代確率Pが0.5以上0.8未満であるか否かを判断する。この範囲に含まれると判断したら、ステップS110へ進み、フィラー発声を実行する。フィラー発声を終了したらステップS101へ戻り、一定時間内にユーザが発話を開始したかを判断して、再び一連の処理を実行する。

【0037】
応答制御部240は、ステップS109で交代確率Pが0.5以上0.8未満に含まれないと判断した場合、および、ステップS101で一定時間内にユーザが発話を開始しなかったと判断された場合は、ステップS111へ進み、応答発話データを生成して、発話の出力を実行する。発話の出力が終了したらステップS101へ戻り、一定時間内にユーザが発話を開始したかを判断して、再び一連の処理を実行する。

【0038】
以上のように、入力発話の入力を待つべきとも出力発話の出力を実行すべきとも推定できない場合にフィラー発声を実行することにより、違和感を与える間を与えることがない円滑な対話を促進することが期待できる。

【0039】
次に、本実施形態にかかる第2の実施例を説明する。対話ロボット100としての装置構成は、第1の実施例と同様であり、フローの処理が第1の実施例と若干異なる。

【0040】
図5は、第2の実施例における、応答決定テーブルを示す図である。第1の実施例では、「フィラー発声を行う」と判断される交代確率Pの範囲と、「応答発話を行う」と判断される交代確率Pの範囲とは、互いに重なり合うことがなかった。第2の実施例では、両者に重なる範囲を設ける。具体的には、交代確率Pが0.5以上0.8未満である場合に、「フィラー発声を行う」と決定し、交代確率Pが0.7以上1.0以下である場合に、「応答発話を行う」と決定する。交代確率Pが0.0以上0.5未満である場合に、「何も応答しない」と決定することは、第1の実施例と同様である。

【0041】
すなわち、交代確率Pが0.7以上0.8未満である場合は、「フィラー発声を行う」と「応答発話を行う」の、2つの分類に属するものとする。これは、交代確率Pが0.7以上0.8未満である場合の対話の状況が、フィラー発声を行うことが良いと判断される場合と、応答発話を行うことが良いと判断される場合とが混在する状況であると、実験的に明らかになってきたことに対応する処置である。

【0042】
このように応答決定テーブルを定めた場合の処理について説明する。図6は、第2の実施例における、対話処理フローの特徴部を示す図である。第2の実施例における対話処理フローは、図4を用いて説明した処理とは応答選択の処理の部分が異なり、他の部分では同じであるので、異なる部分を説明する。また、図4と同じ処理については同じステップ番号を付して、具体的な説明については省略する。

【0043】
交代確率Pが0.0以上0.5未満の処理であるステップS107とS108は、第1の実施例における処理と同様である。交代確率Pが0.0以上0.5未満の範囲に含まれる場合は、応答制御部240は、ユーザ発話を待って(ステップS108)、ステップS101へ戻る。

【0044】
ステップS201において、応答制御部240は、交代確率Pが0.5以上0.7未満であるか否かを判断する。交代確率Pがこの範囲に含まれる場合は、「フィラー発声を行う」のみに属するので、応答制御部240は、フィラー発声を実行して(ステップS110)、ステップS101へ戻る。

【0045】
ステップS201において、応答制御部240は、交代確率Pが0.7以上0.8未満であるか否かを判断する。交代確率Pがこの範囲に含まれる場合は、ステップS203へ進み、応答制御部240は、「フィラー発声のみを行う」、「応答発話のみを行う」、「フィラー発声と応答発話の両方を行う」の3つの中からランダムに1つを選択する。そして、「フィラー発声のみを行う」を選択した場合には、ステップS204(YES)を経由してステップS110へ進む。「応答発話のみを行う」を選択した場合には、ステップS204(NO)、S205(YES)を経由してステップS111へ進む。ステップS111で、応答制御部240は、応答発話データを生成して、発話の出力を実行する。発話の出力が終了したらステップS101へ戻る。

【0046】
応答制御部240は、「フィラー発声と応答発話の両方を行う」を選択した場合には、ステップS204(NO)、S205(NO)を経由してステップS206へ進む。応答制御部240は、ステップS206でフィラー発声を実行し、続いてステップS207で応答発話の出力を実行して、ステップS101へ戻る。

【0047】
以上のように本実施例によれば、対話の状況が判然としない場合に応答をランダムに変化させることで、機械的との印象を与えない、円滑な対話の実現を期待できる。また、フィラー発声に続けて応答発話の出力を実行した場合に、ユーザの発話と被ってしまうような状況においても、ユーザの発話と被るのはまずはフィラーであるので、対話に与える悪影響は相対的に小さいと言える。

【0048】
次に、本実施形態にかかる第3の実施例を説明する。第1の実施例および第2の実施例で説明したフィラー発声は、発声した話者側に発話権があることを相手に仄めかす効果を期待できるので、交代確率Pが0.5以上の場合に適用することが好ましかった。しかし、対話ロボット100が入力発話の入力を待つべきとも出力発話の出力を実行すべきとも推定できないとする交代確率Pの範囲は、0.5未満の範囲を含みうる。交代確率Pが0.5未満である場合は、ユーザに発話を促すことが好ましいとも考えられる。

【0049】
そこで、第3の実施例においては、ユーザに発話を促す処理を実行するために、「頷き動作」と「相槌」を導入する。図7は、第3の実施例における、対話ロボット100のシステム構成を示す図である。図2で示したシステム構成と同様の構成には同じ符番を付して、その説明を省略する。

【0050】
図2のシステム構成と異なる点は、応答制御部240に接続された頷き動作部270と、出力生成部250に含まれる相槌生成部253と、相槌生成部253に接続された相槌DB340を更に備える点である。頷き動作部270は、モータを含み、これを駆動することにより頭部110を前後に揺動させ、ユーザに対話ロボット100が頷いたように見せる動作を実行する。

【0051】
応答制御部240は、第3の実施例においては、交代確率Pの値に応じて「何も応答しない」「フィラー発声を行う」「応答発話を行う」に加えて、「相槌を発声する」も選択しうる。相槌は、ユーザが発話を継続しやすいように、次の発話を促す発声である。例えば、「うん」「そうだね」「それで?」などが挙げられる。これらの相槌は、再生可能な発声データとして、相槌DB340に格納されている。

【0052】
相槌DB340は、例えばハードディスクドライブの記録媒体によって構成されている。相槌生成部253は、応答制御部240からの要求に従って相槌DB340に格納された発声データを例えばランダムに抽出することにより相槌を生成し、応答制御部240へ引き渡す。

【0053】
図8は、第3の実施例における、応答決定テーブルを示す図である。第1の実施例では、交代確率Pが0.0以上0.5未満である場合に「何も応答しない」との1つの分類を割り当てたが、第3の実施例では、これを2つの分類に分ける。具体的には、図示するように、交代確率Pが0.0以上0.4未満である場合に、「何も応答しない」と決定し、交代確率Pが0.4以上0.5未満である場合に、「相槌を発声する」と決定する。交代確率Pが0.5以上0.8未満である場合に、「フィラー発声を行う」と決定し、交代確率Pが0.8以上1.0以下である場合に、「応答発話を行う」と決定することは、第1の実施例と同様である。

【0054】
第3の実施例においては、発話入力部210による入力発話の入力を待つべきとも、発話出力部260による出力発話の出力を実行すべきとも推定できない範囲(第1範囲)を0.4以上0.8以下と定めている。また、ユーザが発話することを待つべきとする範囲(第2範囲)を0.0以上0.4未満と定め、対話ロボット100自身が発話をすべきとする範囲(第3範囲)を0.8以上1.0以下と定めている。その上で、第1範囲を、第2範囲に近い範囲(0.4以上0.5未満)と第3範囲に近い範囲(0.5以上0.8未満)とに分けている。そして、交代確率Pが、第1範囲に含まれるものの、第2範囲に近い範囲の値である場合に「相槌を発声する」を実行し、第1範囲に含まれるものの、第3範囲に近い範囲の値である場合に「フィラー発声する」を実行する。「相槌を発声する」は、「頷き動作を行う」を伴っても良いし、「頷き動作を行う」に代えても良い。

【0055】
このように応答決定テーブルを定めた場合の処理について説明する。図9は、第3の実施例における、対話処理フローの特徴部を示す図である。第3の実施例における対話処理フローは、図4を用いて説明した処理とは応答選択の処理の部分が異なり、他の部分では同じであるので、異なる部分を説明する。また、図4と同じ処理については同じステップ番号を付して、具体的な説明については省略する。

【0056】
応答制御部240は、まずステップS301で、交代確率Pが0.0以上0.4未満であるか否かを判断する。交代確率Pがこの範囲に含まれる場合は、ユーザ発話を待って(ステップS108)、ステップS101へ戻る。

【0057】
応答制御部240は、ステップS302で、交代確率Pが0.4以上0.5未満であるか否かを判断する。交代確率Pがこの範囲に含まれる場合は、ステップS303へ進み、応答制御部240は、「相槌を発声する」と共に頷き動作を実行する。これらの処理が終了したらステップS101へ戻る。交代確率Pが0.5以上0.8未満、および0.8以上1.0以下の処理は、第1の実施例における処理と同様である。

【0058】
以上のように本実施例によれば、対話ロボット100が入力発話の入力を待つべきとも出力発話の出力を実行すべきとも推定できない場合であって、ユーザに発話を促すことが好ましいとも考えられるような状況においても、相槌の発声と頷き動作により、円滑な対話の実現を期待できる。

【0059】
次に第4の実施例について説明する。図10は、第4の実施例における、応答決定テーブルを示す図である。第4の実施例では、第2の実施例のように「フィラー発声を行う」と判断される交代確率Pの範囲と、「応答発話を行う」と判断される交代確率Pの範囲を、部分的に重複させ、更に、「何も応答しない」と判断される交代確率Pの範囲と、「相槌を発声する」と判断される交代確率Pの範囲を、部分的に重複させる。具体的には、交代確率Pが0.0以上0.4未満である場合に、「何も応答しない」と決定し、交代確率Pが0.3以上0.5以下である場合に、「相槌を発声する」と決定する。交代確率Pが0.5以上0.8未満である場合に、「フィラー発声を行う」と決定し、交代確率Pが0.7以上1.0以下である場合に、「応答発話を行う」と決定することは、第2の実施例と同様である。

【0060】
すなわち、交代確率Pが0.3以上0.4未満である場合は、「何も応答しない」と「相槌を発声する」の、2つの分類に属するものとする。これは、交代確率Pが0.3以上0.4未満である場合の対話の状況が、何も応答しないことが良いと判断される場合と、相槌を発声することが良いと判断される場合とが混在する状況であると、実験的に明らかになってきたことに対応する処置である。交代確率Pが0.3以上0.4未満である場合は、応答制御部240は、「何も応答しない」と「相槌を発声する」のいずれかをランダムに選択して実行する。「相槌を発声する」を選択した場合の処理は、図9のステップS303と同様である。

【0061】
なお、「相槌を発声する」は、ユーザに発話を促すことを目的とし、「フィラー発声を行う」は、発声した話者側に発話権があることを相手に仄めかすことを目的とするので、「相槌を発声する」と判断される交代確率Pの範囲と、「フィラー発声を行う」と判断される交代確率Pの範囲は、重複させないことが好ましい。以上のように本実施例によれば、対話の状況が判然としない場合に、交代確率Pの値を用いて応答に様々な変化を発生させることで、機械的との印象を与えない、円滑な対話の実現を期待できる。

【0062】
次に第5の実施例について説明する。第5の実施例は、対話ロボット100としての装置構成は、第1の実施例と同様であり、応答決定テーブルにおける交代確率Pの範囲を動的に変更する点で第1の実施例と異なる。第1の実施例における応答決定テーブルは、図3に示す通りであるが、本実施例における応答決定テーブルでは、「フィラー発声を行う」と「応答発話を行う」との境界値である0.8を可変値Xpとする。なお、初期値は、0.8とする。

【0063】
図11は、第5の実施例における、対話処理フローの特徴部を示す図である。第5の実施例における対話処理フローは、図4を用いて説明した処理とは応答選択の処理の部分が異なり、他の部分では同じであるので、異なる部分を説明する。また、図4と同じ処理については同じステップ番号を付して、具体的な説明については省略する。

【0064】
交代確率Pが0.0以上0.5未満の処理であるステップS107とS108は、第1の実施例における処理と同様である。交代確率Pが0.0以上0.5未満の範囲に含まれる場合は、応答制御部240は、ユーザ発話を待つ(ステップS108)。そして、ステップS402へ進み、Xpに初期値であるXpを代入する。ここでは、Xpを上述のように0.8とする。その後、ステップS101へ戻る。なお、ステップS108とステップS402は、順序が逆であっても良い。

【0065】
応答制御部240は、ステップS107で交代確率Pが0.0以上0.5未満に含まれないと判断した場合は、ステップS401へ進み、交代確率Pが0.5以上Xp未満であるか否かを判断する。この範囲に含まれると判断したら、ステップS110へ進み、フィラー発声を実行する。フィラー発声を終了したらステップS403へ進み、現在のXpの値から0.1減らし、新たなXpの値に更新する。そして、ステップS101へ戻る。なお、ステップS110とステップS403は、順序が逆であっても良い。

【0066】
応答制御部240は、ステップS401で交代確率Pが0.5以上Xp未満に含まれないと判断した場合は、ステップS111へ進み、発話の出力を実行する。発話の出力が終了したらステップS404へ進み、Xpに初期値であるXpを代入する。その後、ステップS101へ戻る。なお、ステップS111とステップS404は、順序が逆であっても良い。

【0067】
このような処理フローによれば、処理がループされてフィラー発声を行うたびに、ステップS110へ導かれる条件である交代確率Pの範囲が狭くなり、ステップS111の発話出力が実行される可能性がより大きくなる。換言すれば、推定部230は、ユーザの発話や対話ロボット100の応答対話が行われることなくフィラー発声を続けた場合は、発話出力を実行すべきと推定する度合いを高くしていると言える。これにより、対話においてフィラーばかりが発声されるような、違和感のある状況を回避することが期待できる。なお、Xpを更新した結果0.5以下になる場合は、下限値として0.5に固定する。この場合、フィラー発声が事実上禁止されることになる。また、減ずる値は0.1に限らず、他の値に調整しても良い。また、交代確率Pの範囲を調整するのではなく、フィラー発声を行った回数をカウントする変数を設定し、これが予め定められた回数に達した場合に、フィラー発声を禁止するように構成しても良い。

【0068】
次に第6の実施例について説明する。第6の実施例は、対話ロボット100としての装置構成は、第1の実施例と同様であり、応答決定テーブルにおける交代確率Pの範囲を動的に変更する点で第1の実施例と異なる。第1の実施例における応答決定テーブルは、図3に示す通りであるが、本実施例における応答決定テーブルでは、「何も応答しない」と「フィラー発声を行う」との境界値である0.5を可変値Xqとする。なお、初期値は、0.5とする。

【0069】
図12は、第6の実施例における、対話処理フローの特徴部を示す図である。第6の実施例における対話処理フローは、図4を用いて説明した処理とは応答選択の処理の部分が異なり、他の部分では同じであるので、異なる部分を説明する。また、図4と同じ処理については同じステップ番号を付して、具体的な説明については省略する。

【0070】
応答制御部240は、ステップS501で交代確率Pが0.0以上Xq未満であるか否かを判断する。交代確率Pが0.0以上Xq未満の範囲に含まれる場合は、応答制御部240は、ユーザ発話を待つ(ステップS108)。そして、ステップS505へ進み、Xqに初期値であるXqを代入する。ここでは、Xqを上述のように0.5とする。その後、ステップS101へ戻る。なお、ステップS108とステップS505は、順序が逆であっても良い。

【0071】
応答制御部240は、ステップS501で交代確率Pが0.0以上Xq未満に含まれないと判断した場合は、ステップS502へ進み、交代確率PがXq以上0.8未満であるか否かを判断する。この範囲に含まれると判断したら、ステップS110へ進み、フィラー発声を実行する。応答制御部240は、フィラー発声を行っている間にユーザ発話と被ったか否かを判断する(ステップS503)。具体的には、例えば、発話入力部210のAD変換出力を監視して判断する。被ったと判断したらステップS504へ進み、ステップS504で、現在のXqの値に0.1を加え、新たなXqの値に更新する。そして、ステップS101へ戻る。被っていないと判断したらステップS505へ進み、Xqに初期値であるXqを代入する。

【0072】
応答制御部240は、ステップS502で交代確率PがXq以上0.8未満に含まれないと判断した場合は、ステップS111へ進み、発話の出力を実行する。発話の出力が終了したらステップS505へ進み、Xqに初期値であるXqを代入する。その後、ステップS101へ戻る。なお、ステップS111とステップS505は、順序が逆であっても良い。

【0073】
このような処理フローによれば、処理がループされてフィラー発声とユーザ発話が被るたびに、ステップS110へ導かれる条件である交代確率Pの範囲が狭くなり、ステップS108の処理である「何も応答しない」が実行される可能性がより大きくなる。換言すれば、フィラー発声中にユーザの発話を検知した場合は、ユーザの発話を待つべきと推定する度合いを高くしている。すなわち、対話においてフィラー発声とユーザ発話が被ることが続く状況は、互いに発話権を主張し合うような状況であるので、これを回避すべく、対話ロボット100は、ユーザがより発話しやすいように「何も応答しない」の割合を大きくする。このような処理により、対話が詰まるような状況を回避することが期待できる。なお、Xqを更新した結果0.8以上になる場合は、上限値として0.8に固定する。この場合、フィラー発声が事実上禁止されることになる。また、加える値は0.1に限らず、他の値に調整しても良い。また、交代確率Pの範囲を調整するのではなく、フィラー発声とユーザ発話が被った回数をカウントする変数を設定し、これが予め定められた回数に達した場合に、フィラー発声を禁止するように構成しても良い。

【0074】
以上に説明した第5の実施例と第6の実施例は、それぞれ第1の実施例をベースとして説明したが、適宜数値を調整して第2から第4の実施例と組み合わせても良い。また、第5の実施例と第6の実施例を組み合わせても良い。

【0075】
また、第3の実施例と第4の実施例においては、相槌発声と頷き動作を共に実行するものとして説明したが、いずれか一方の動作を実行させるように構成しても良い。頷き動作の処理を省くのであれば、頷き動作部270を除いても良い。また、第3の実施例と第4の実施例においては、応答決定テーブルに「相槌を発声する」交代確率Pの範囲と「フィラー発声を行う」交代確率Pの範囲をそれぞれ設けたが、「フィラー発声を行う」交代確率Pの範囲を省いても良い。この場合は、「応答発話を行う」交代確率Pの範囲を、0.5以上1.0以下とすれば良い。

【0076】
以上に説明した実施態様においては、音声対話装置として対話ロボット100を説明した。しかし、音声対話装置は、人型を模したような立体構造を有していなくても良く、様々な実施態様を採用し得る。図13は、他の実施態様にかかるスマートフォン700の外観を示す図である。

【0077】
スマートフォン700は、スマートフォンとしての通常の機能に加え、音声対話装置としての機能も発揮する。スマートフォン700は、表示部710、マイク711、およびスピーカ712を備える。マイク111は、対話ロボット100のマイク111と同様に機能し、スピーカ712は、対話ロボット100のスピーカ112と同様に機能する。また、スマートフォン700は、図2に示すシステム構成を内蔵する。

【0078】
応答制御部240は、表示部710に、例えばロボットを表現したキャラクタ800をCGとして表示しても良い。キャラクタ800は、対話ロボット100のように、頭部810と体部820を有し、応答制御部240は、頷き動作を実行させる場合に、頭部810を前後に揺動するアニメーションを表示する。

【0079】
また、応答制御部240は、表示部710に吹出し870を表示し、フィラー発声と応答発話をテキストとしてユーザに知らせても良い。この場合、スピーカ712から音として出力する機能を停止させても良い。

【0080】
以上に説明した各実施態様においては、推定値として交代確率Pを算出した。しかし、受け取った物理的特徴量としての韻律に基づいて、ユーザからの発話を待つべきか、自身が発話すべきかを推定する推定手法は、推定値として数値を利用する手法に限らない。例えば、受け取った物理的特徴量としての韻律に基づいて、「何も応答しない」「フィラー発声を行う」「応答発話を行う」「相槌を発声する」の4つのグループのひとつを直接的に出力するものであっても良い。それぞれのグループをクラスと捉え、入力する韻律がいずれのクラスに属するかを深層学習などの手法を用いて演算することもできる。

【0081】
以上に説明した各実施態様においては、対話ロボット100あるいはスマートフォン700が、図2または図7に示すシステム構成を備えるものとして説明したが、一部の構成が外部機器に存在し、通信によって外部から情報を取得する構成であっても良い。例えば、韻律DB310、フィラーDB320、発話DB330、相槌DB340の各データベースは、外部機器として構成された供用のデータベースであっても良い。対話ロボット100あるいはスマートフォン700は、必要に応じて、通信機能を利用して当該データベースに必要な情報を要求する。このように、大容量の記録媒体を必要とするデータベースを外部に備えれば、音声対話装置としてのシステム構成をより簡易に最適化することができる。
【符号の説明】
【0082】
100 対話ロボット、110 頭部、111 マイク、112 スピーカ、120 体部、210 発話入力部、220 解析部、230 推定部、240 応答制御部、250 出力生成部、251 フィラー生成部、252 応答生成部、253 相槌生成部、260 発話出力部、270 頷き動作部、310 韻律DB、320 フィラーDB、330 発話DB、340 相槌DB、700 スマートフォン、710 表示部、711 マイク、712 スピーカ、800 キャラクタ、810 頭部、820 体部、870 吹出し
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12