(57)【要約】【課題】ユーザの発話から解析される韻律からでは、次の発話を対話ロボットがすべきか、ユーザの発話を待つべきか、明りょうに判断できない場合があった。このような場合は、両者の間で沈黙が続いたり、両者の発話が被ったりして、円滑な会話を楽しむ妨げとなっていた。【解決手段】入力部が入力したユーザ発話に基づいて、次のユーザ発話を待つべきか、自身からの発話を実行すべきかを推定する推定部と、推定部が、ユーザ発話を待つべきとも、自身からの発話を実行すべきとも推定できなかった場合に、対話内容とは関係の無い繋ぎ発声であるフィラーを出力部に出力させるフィラー出力、および疑似頭部を前後させる頷き動作の少なくともいずれかを実行して応答する応答制御部とを備える音声対話装置を提供する。【選択図】図３
2018040897.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの発話である入力発話を入力する入力部と、前記ユーザへの発話である出力発話を出力する出力部とを有する音声対話装置であって、
前記入力部が入力した前記入力発話に基づいて、前記入力部による前記入力発話の入力を待つべきか、前記出力部による前記出力発話の出力を実行すべきかを推定する推定部と、
前記推定部が、前記入力部による前記入力発話の入力を待つべきとも、前記出力部による前記出力発話の出力を実行すべきとも推定できなかった場合に、対話内容とは関係の無い繋ぎ発声であるフィラーを前記出力部に出力させるフィラー出力、および疑似頭部を前後させる頷き動作の少なくともいずれかを実行して応答する応答制御部と
を備える音声対話装置。
【請求項２】
前記入力部が入力した前記入力発話の韻律を解析する解析部を備え、
前記推定部は、前記解析部が解析した前記韻律に基づいて、前記入力部による前記入力発話の入力を待つべきか、前記出力部による前記出力発話の出力を実行すべきかを推定する請求項１に記載の音声対話装置。
【請求項３】
前記推定部は、前記解析部が解析した前記韻律に基づいて、前記入力部による前記入力発話の入力を待つべきか、前記出力部による前記出力発話の出力を実行すべきかを推定する推定値を演算し、
前記応答制御部は、前記推定部が演算した前記推定値が、前記入力部による前記入力発話の入力を待つべきとも、前記出力部による前記出力発話の出力を実行すべきとも推定されない所定範囲に含まれる場合に、前記フィラー出力および前記頷き動作の少なくともいずれかを実行して応答する請求項２に記載の音声対話装置。
【請求項４】
前記応答制御部は、推定値が、前記推定値を前記出力発話の出力を実行すべき確率として表した場合の前記所定範囲に前記含まれる場合であって、前記所定範囲に設定される第１閾値よりも小さい場合には前記頷き動作を実行して応答し、前記所定範囲に設定され、前記第１閾値以上の値に設定される第２閾値よりも大きい場合には前記フィラー出力を実行して応答する請求項３に記載の音声対話装置。
【請求項５】
前記推定部は、前記出力部による前記出力発話の出力を実行することなく前記応答制御部が前記フィラー出力を続けて実行した場合は、前記出力発話の出力を実行すべきと推定する度合いを高くする請求項１から４のいずれか１項に記載の音声対話装置。
【請求項６】
前記推定部は、前記フィラー出力の実行中に前記入力部が前記入力発話を入力したことを検知した場合は、前記入力発話の入力を待つべきと推定する度合いを高くする請求項１から５のいずれか１項に記載の音声対話装置。
【請求項７】
ユーザの発話である入力発話を入力する入力部と、前記ユーザへの発話である出力発話を出力する出力部とを有する音声対話装置を用いた自動対話方法であって、
前記入力部が入力した前記入力発話に基づいて、前記入力部による前記入力発話の入力を待つべきか、前記出力部による前記出力発話の出力を実行すべきかを推定する推定ステップと、
前記推定ステップで、前記入力部による前記入力発話の入力を待つべきとも、前記出力部による前記出力発話の出力を実行すべきとも推定できなかった場合に、対話内容とは関係の無い繋ぎ発声であるフィラーを前記出力部に出力させるフィラー出力、および疑似頭部を前後させる頷き動作の少なくともいずれかを実行して応答する応答ステップと
を含む自動対話方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声対話装置および音声対話装置を用いた自動対話方法に関する。
【背景技術】
【０００２】
ユーザが音声対話ロボットと日常会話を楽しむための技術が普及しつつある。例えば、違和感のない会話を実現するための技術として、ユーザの韻律を解析することにより、対話ロボットが適当なタイミングで相槌するものが知られている（特許文献１を参照）。また、ユーザとロボットの間で話者が交代するタイミングを模索する研究もなされている（非特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−３０４０号公報
【非特許文献】
【０００４】
【非特許文献１】認知科学  研究論文  Ｖｏｌ．７（２０００）Ｎｏ．１  ９３頁〜１０６頁
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ユーザの発話から解析される韻律からでは、次の発話を対話ロボットがすべきか、ユーザの発話を待つべきか、明りょうに判断できない場合があった。このような場合は、両者の間で沈黙が続いたり、両者の発話が被ったりして、円滑な会話を楽しむ妨げとなっていた。
【０００６】
本発明は、このような問題を解決するためになされたものであり、対話ロボットを一例とする音声対話システムとユーザとの間で、より円滑な会話を実現する技術を提供するものである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様における音声対話装置は、ユーザの発話である入力発話を入力する入力部と、ユーザへの発話である出力発話を出力する出力部とを有する音声対話装置であって、入力部が入力した前記入力発話に基づいて、入力部による入力発話の入力を待つべきか、出力部による出力発話の出力を実行すべきかを推定する推定部と、推定部が、入力部による入力発話の入力を待つべきとも、出力部による出力発話の出力を実行すべきとも推定できなかった場合に、対話内容とは関係の無い繋ぎ発声であるフィラーを出力部に出力させるフィラー出力、および疑似頭部を前後させる頷き動作の少なくともいずれかを実行して応答する応答制御部とを備える。
【０００８】
本発明の第２の態様における自動対話方法は、ユーザの発話である入力発話を入力する入力部と、ユーザへの発話である出力発話を出力する出力部とを有する音声対話装置を用いた自動対話方法であって、入力部が入力した前記入力発話に基づいて、入力部による入力発話の入力を待つべきか、出力部による出力発話の出力を実行すべきかを推定する推定ステップと、推定ステップで、入力部による入力発話の入力を待つべきとも、出力部による出力発話の出力を実行すべきとも推定できなかった場合に、対話内容とは関係の無い繋ぎ発声であるフィラーを出力部に出力させるフィラー出力、および疑似頭部を前後させる頷き動作の少なくともいずれかを実行して応答する応答ステップとを含む。
【０００９】
以上の各実施態様の構成により、フィラーの発声により音声対話装置側に発話権があることを仄めかしたり、頷き動作によりユーザの発話を促したりできるので、両者の間で沈黙が続いたり、両者の発話が被ったりすることを抑制できる。
【発明の効果】
【００１０】
本発明により、音声対話システムとユーザとの間で、より円滑な会話を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】ユーザが本実施形態にかかる対話ロボットと会話する様子を示す図である。
【図２】第１の実施例における、対話ロボットのシステム構成を示す図である。
【図３】第１の実施例における、応答決定テーブルを示す図である。
【図４】第１の実施例における、対話処理フローを示す図である。
【図５】第２の実施例における、応答決定テーブルを示す図である。
【図６】第２の実施例における、対話処理フローの特徴部を示す図である。
【図７】第３の実施例における、対話ロボットのシステム構成を示す図である。
【図８】第３の実施例における、応答決定テーブルを示す図である。
【図９】第３の実施例における、対話処理フローの特徴部を示す図である。
【図１０】第４の実施例における、応答決定テーブルを示す図である。
【図１１】第５の実施例における、対話処理フローの特徴部を示す図である。
【図１２】第６の実施例における、対話処理フローの特徴部を示す図である。
【図１３】他の実施態様にかかるスマートフォンの外観を示す図である。
【発明を実施するための形態】
【００１２】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【００１３】
図１は、ユーザが本実施形態にかかる対話ロボット１００と会話する様子を示す図である。対話ロボット１００は、音声対話装置の一態様であり、ユーザの発話に応じた返答を行う。対話ロボット１００は、例えば人間のような生物を模した筐体を有することで、ユーザに与える無機質感を和らげている。図示するように、対話ロボット１００は、手足を含む体部１２０の上に擬似的な頭部１１０が配された外観を有する。そして、頭部１１０には、耳が位置する側頭部辺りにマイク１１１が配されており、マイク１１１は、ユーザの発話を集音する。また、擬似的な口にはスピーカ１１２が配されており、スピーカ１１２は、対話ロボット１００が生成した応答を発話、発声する。なお、以下の説明においては、対話内容として意味を有する音声を「発話」とし、対話内容とは関係の無い繋ぎの音声を「発声」とする。これらを特に区別する必要が無い場合には「発話」と表現する場合がある。
【００１４】
図２は、本実施形態の第１の実施例における、対話ロボット１００のシステム構成を示す図である。対話ロボット１００は、主な機能要素として、発話入力部２１０、解析部２２０、推定部２３０、応答制御部２４０、出力生成部２５０、発話出力部２６０を備える。
【００１５】
発話入力部２１０は、マイク１１１を含み、ユーザの発話を集音してデジタル信号に変換し、解析部２２０へ引き渡す。解析部２２０は、デジタル信号として受け取ったユーザ発話の韻律を解析する。韻律は、発話を音波として捉えた場合の、その物理的特徴を表すものである。
【００１６】
韻律の解析は、ユーザが発する一塊の音波において、例えば基本周波数やその変動帯域、振幅の最大値および平均値を特徴量として演算し、数値化する処理である。解析部２２０は、受け取ったデジタル信号を、例えば２５ｍｓｅｃのウィンドウ幅で切り取り、それを一塊の音波としてそれぞれの特徴量を演算する。そして、例えば１０ｍｓｅｃの遅延時間でウィンドウを順次シフトさせ、シフトさせるごとに特徴量を演算し、演算した特徴量を推定部２３０へ逐次引き渡す。
【００１７】
また、解析部２２０は、ユーザの発話の節目を韻律の変化から予測して、節目のタイミングを応答制御部２４０へ出力する。発話の節目は、一連の会話の区切りであり、解析部２２０は、振幅レベルの低下や、語尾の抑揚によって節目を予測する。
【００１８】
推定部２３０は、受け取った物理的特徴量としての韻律に基づいて、ユーザからの発話を待つべきか、自身が発話すべきかを推定する。本実施形態において具体的には、推定部２３０は、話者がユーザから対話ロボット１００へ移る確率である交代確率Ｐを推定値として算出する。交代確率Ｐ＝０は、発話権が継続してユーザに有ることを意味し、交代確率Ｐ＝１は、発話権がユーザから対話ロボット１００へ移ることを意味する。交代確率Ｐは、０以上１以下の値として算出される。したがって、交代確率Ｐが０に近いほど発話権が継続してユーザに有ると強く推定され、１に近いほど発話権がユーザから対話ロボット１００へ移ると強く推定されると言える。
【００１９】
推定部２３０は、韻律ＤＢ３１０に接続されている。韻律ＤＢ３１０は、例えばハードディスクドライブの記録媒体であり、韻律を表現するそれぞれの特徴量が、どのような数値である場合に交代確率に対してどれくらいの影響を与えるかを表現する、ルックアップテーブルや評価関数が格納されたデータベースである。推定部２３０は、解析部２２０から受け取った韻律のそれぞれの物理的特徴量を、韻律ＤＢ３１０のルックアップテーブルや評価関数に当てはめてそれぞれの評価値に換算し、これらの評価値から多変量解析などの手法を用いて交代確率Ｐを算出する。具体的手法については、非引用文献１などに詳しい。
【００２０】
推定部２３０は、算出した交代確率Ｐを応答制御部２４０へ引き渡す。応答制御部２４０は、解析部２２０からユーザ発話の節目のタイミングを知らされた場合に、交代確率Ｐを参照して、いかなる応答を実行するかを決定する。そして、決定した応答を実行するための具体的なデータを、出力生成部２５０から取得する。
【００２１】
本実施形態の第１の実施例では、応答制御部２４０は、交代確率Ｐの値に応じて「何も応答しない」「フィラー発声を行う」「応答発話を行う」の３つの中から決定する。「応答しない」は、特に何ら反応を示さないという応答であるが、形式的には無発話時間を設定するなどのために出力生成部２５０を参照する。
【００２２】
応答制御部２４０は、「フィラー発声を行う」ことを決定した場合は、出力生成部２５０の一機能として実装されるフィラー生成部２５１にフィラーを生成させる。フィラーは、対話内容とは関係の無い繋ぎ発声である。例えば、「あー」「あのー」「えー」「えーと」「そうですねー」などが挙げられる。これらのフィラーは、再生可能な発声データとして、フィラーＤＢ３２０に格納されている。
【００２３】
フィラーＤＢ３２０は、フィラー生成部２５１に接続されているデータベースであり、例えばハードディスクドライブの記録媒体によって構成されている。フィラー生成部２５１は、応答制御部２４０からの要求に従ってフィラーＤＢ３２０に格納された発声データを例えばランダムに抽出することによりフィラーを生成し、応答制御部２４０へ引き渡す。
【００２４】
応答制御部２４０は、「応答発話を行う」ことを決定した場合は、出力生成部２５０の一機能として実装される応答生成部２５２に応答発話を生成させる。応答発話は、ユーザ発話の内容に対して意味を有する対話として応答する発話である。
【００２５】
発話ＤＢ３３０は、応答生成部２５２に接続されているデータベースであり、例えばハードディスクドライブの記録媒体によって構成されている。発話ＤＢ３３０は、例えばコーパスとして体系化されており、個々の用語は、再生可能な発話データを伴って格納されている。応答生成部２５２は、応答制御部２４０からの要求に従って発話ＤＢ３３０から発話データを収集し、会話として成立するセンテンスを構築して、応答制御部２４０へ引き渡す。
【００２６】
応答生成部２５２は、出力生成部２５０に生成させたフィラー発声データ、応答発話データを発話出力部２６０へ引き渡す。発話出力部２６０は、スピーカ１１２を含み、応答生成部２５２から受け取ったフィラー発声データ、応答発話データをアナログ信号に変換して、スピーカ１１２から音として出力する。
【００２７】
図３は、第１の実施例における、応答決定テーブルを示す図である。図示するように、応答制御部２４０は、交代確率Ｐが０．０以上０．５未満である場合に、「何も応答しない」と決定する。同様に、交代確率Ｐが０．５以上０．８未満である場合に、「フィラー発声を行う」と決定し、交代確率Ｐが０．８以上１．０以下である場合に、「応答発話を行う」と決定する。このように、応答制御部２４０がいかなる応答を行うかは、交代確率Ｐの値に応じた分類ルールとして、予め定められている。
【００２８】
図３に示す分類ルールは、発話入力部２１０による入力発話の入力、すなわちユーザが発話することを待つべきとする交代確率Ｐの範囲を、０．０以上０．５未満と定めている。同様に、発話出力部２６０による出力発話の出力、すなわち対話ロボット１００自身が意味内容を有する発話をすべきとする交代確率Ｐの範囲を０．８以上１．０以下と定めている。そして、その間の０．５以上０．８未満の範囲を、発話入力部２１０による入力発話の入力を待つべきとも、発話出力部２６０による出力発話の出力を実行すべきとも推定できない範囲として定めている。
【００２９】
本実施例においては、対話ロボット１００が入力発話の入力を待つべきとも出力発話の出力を実行すべきとも推定できない場合に、ユーザとの間で沈黙が続いたり、ユーザの発話と被ったりすることを抑制するために、フィラー発声を行う。フィラー発声には、発声した話者側に発話権があることを相手に仄めかす効果があると知られている。
【００３０】
図４は、第１の実施例における、対話処理フローを示す図である。図示する対話処理フローは、例えばスイッチが操作されるなどの対話開始の検知に伴って開始される。
【００３１】
応答制御部２４０は、ステップＳ１０１で、ユーザが発話を開始したか否かを判断する。具体的には、例えば、発話入力部２１０のＡＤ変換出力を監視して判断する。ユーザが発話を開始したと判断したら、ステップＳ１０２へ進む。
【００３２】
ステップＳ１０２で、発話入力部２１０は、ユーザの発話を入力してデジタル信号に変換し、解析部２２０へ引き渡す。ステップＳ１０３で、解析部２２０は、発話入力部２１０から受け取ったデジタル信号から韻律を解析し、演算した特徴量を推定部２３０へ引き渡す。ステップＳ１０４で、推定部２３０は、解析部２２０から受け取った韻律の特徴量を用いて、交代確率Ｐを算出し、応答制御部２４０へ引き渡す。
【００３３】
応答制御部２４０は、ステップＳ１０５で、ユーザ発話に節目があるか否かを判断する。具体的には、解析部２２０から節目のタイミング情報を受け取った場合に、そのタイミング情報が示す時点を節目と判断する。節目がないと判断した場合は、ステップＳ１０２へ戻り、ユーザ発話をさらに継続して受け入れる。節目があると判断した場合は、ステップＳ１０６へ進む。
【００３４】
応答制御部２４０は、ステップＳ１０６で、対話が終了したか否かを判断する。ユーザが、例えば、「さようなら」と発話した場合や、終了ボタンを操作した場合は、対話が終了したと判断し、一連の処理を終了させる。終了と判断できない場合は、対話を継続すべく、ステップＳ１０７へ進む。
【００３５】
ステップＳ１０７からの処理は、応答選択の処理である。応答制御部２４０は、ステップＳ１０７で、交代確率Ｐが０．０以上０．５未満であるか否かを判断する。この範囲に含まれると判断したら、ステップＳ１０８へ進み、ユーザの次の発話を待つ。例えば、予め定められた時間の間をおく。そして、その間にユーザが発話を開始したかを判断すべくステップＳ１０１へ戻り、再び一連の処理を実行する。
【００３６】
応答制御部２４０は、ステップＳ１０７で交代確率Ｐが０．０以上０．５未満に含まれないと判断した場合は、ステップＳ１０９へ進み、交代確率Ｐが０．５以上０．８未満であるか否かを判断する。この範囲に含まれると判断したら、ステップＳ１１０へ進み、フィラー発声を実行する。フィラー発声を終了したらステップＳ１０１へ戻り、一定時間内にユーザが発話を開始したかを判断して、再び一連の処理を実行する。
【００３７】
応答制御部２４０は、ステップＳ１０９で交代確率Ｐが０．５以上０．８未満に含まれないと判断した場合、および、ステップＳ１０１で一定時間内にユーザが発話を開始しなかったと判断された場合は、ステップＳ１１１へ進み、応答発話データを生成して、発話の出力を実行する。発話の出力が終了したらステップＳ１０１へ戻り、一定時間内にユーザが発話を開始したかを判断して、再び一連の処理を実行する。
【００３８】
以上のように、入力発話の入力を待つべきとも出力発話の出力を実行すべきとも推定できない場合にフィラー発声を実行することにより、違和感を与える間を与えることがない円滑な対話を促進することが期待できる。
【００３９】
次に、本実施形態にかかる第２の実施例を説明する。対話ロボット１００としての装置構成は、第１の実施例と同様であり、フローの処理が第１の実施例と若干異なる。
【００４０】
図５は、第２の実施例における、応答決定テーブルを示す図である。第１の実施例では、「フィラー発声を行う」と判断される交代確率Ｐの範囲と、「応答発話を行う」と判断される交代確率Ｐの範囲とは、互いに重なり合うことがなかった。第２の実施例では、両者に重なる範囲を設ける。具体的には、交代確率Ｐが０．５以上０．８未満である場合に、「フィラー発声を行う」と決定し、交代確率Ｐが０．７以上１．０以下である場合に、「応答発話を行う」と決定する。交代確率Ｐが０．０以上０．５未満である場合に、「何も応答しない」と決定することは、第１の実施例と同様である。
【００４１】
すなわち、交代確率Ｐが０．７以上０．８未満である場合は、「フィラー発声を行う」と「応答発話を行う」の、２つの分類に属するものとする。これは、交代確率Ｐが０．７以上０．８未満である場合の対話の状況が、フィラー発声を行うことが良いと判断される場合と、応答発話を行うことが良いと判断される場合とが混在する状況であると、実験的に明らかになってきたことに対応する処置である。
【００４２】
このように応答決定テーブルを定めた場合の処理について説明する。図６は、第２の実施例における、対話処理フローの特徴部を示す図である。第２の実施例における対話処理フローは、図４を用いて説明した処理とは応答選択の処理の部分が異なり、他の部分では同じであるので、異なる部分を説明する。また、図４と同じ処理については同じステップ番号を付して、具体的な説明については省略する。
【００４３】
交代確率Ｐが０．０以上０．５未満の処理であるステップＳ１０７とＳ１０８は、第１の実施例における処理と同様である。交代確率Ｐが０．０以上０．５未満の範囲に含まれる場合は、応答制御部２４０は、ユーザ発話を待って（ステップＳ１０８）、ステップＳ１０１へ戻る。
【００４４】
ステップＳ２０１において、応答制御部２４０は、交代確率Ｐが０．５以上０．７未満であるか否かを判断する。交代確率Ｐがこの範囲に含まれる場合は、「フィラー発声を行う」のみに属するので、応答制御部２４０は、フィラー発声を実行して（ステップＳ１１０）、ステップＳ１０１へ戻る。
【００４５】
ステップＳ２０１において、応答制御部２４０は、交代確率Ｐが０．７以上０．８未満であるか否かを判断する。交代確率Ｐがこの範囲に含まれる場合は、ステップＳ２０３へ進み、応答制御部２４０は、「フィラー発声のみを行う」、「応答発話のみを行う」、「フィラー発声と応答発話の両方を行う」の３つの中からランダムに１つを選択する。そして、「フィラー発声のみを行う」を選択した場合には、ステップＳ２０４（ＹＥＳ）を経由してステップＳ１１０へ進む。「応答発話のみを行う」を選択した場合には、ステップＳ２０４（ＮＯ）、Ｓ２０５（ＹＥＳ）を経由してステップＳ１１１へ進む。ステップＳ１１１で、応答制御部２４０は、応答発話データを生成して、発話の出力を実行する。発話の出力が終了したらステップＳ１０１へ戻る。
【００４６】
応答制御部２４０は、「フィラー発声と応答発話の両方を行う」を選択した場合には、ステップＳ２０４（ＮＯ）、Ｓ２０５（ＮＯ）を経由してステップＳ２０６へ進む。応答制御部２４０は、ステップＳ２０６でフィラー発声を実行し、続いてステップＳ２０７で応答発話の出力を実行して、ステップＳ１０１へ戻る。
【００４７】
以上のように本実施例によれば、対話の状況が判然としない場合に応答をランダムに変化させることで、機械的との印象を与えない、円滑な対話の実現を期待できる。また、フィラー発声に続けて応答発話の出力を実行した場合に、ユーザの発話と被ってしまうような状況においても、ユーザの発話と被るのはまずはフィラーであるので、対話に与える悪影響は相対的に小さいと言える。
【００４８】
次に、本実施形態にかかる第３の実施例を説明する。第１の実施例および第２の実施例で説明したフィラー発声は、発声した話者側に発話権があることを相手に仄めかす効果を期待できるので、交代確率Ｐが０．５以上の場合に適用することが好ましかった。しかし、対話ロボット１００が入力発話の入力を待つべきとも出力発話の出力を実行すべきとも推定できないとする交代確率Ｐの範囲は、０．５未満の範囲を含みうる。交代確率Ｐが０．５未満である場合は、ユーザに発話を促すことが好ましいとも考えられる。
【００４９】
そこで、第３の実施例においては、ユーザに発話を促す処理を実行するために、「頷き動作」と「相槌」を導入する。図７は、第３の実施例における、対話ロボット１００のシステム構成を示す図である。図２で示したシステム構成と同様の構成には同じ符番を付して、その説明を省略する。
【００５０】
図２のシステム構成と異なる点は、応答制御部２４０に接続された頷き動作部２７０と、出力生成部２５０に含まれる相槌生成部２５３と、相槌生成部２５３に接続された相槌ＤＢ３４０を更に備える点である。頷き動作部２７０は、モータを含み、これを駆動することにより頭部１１０を前後に揺動させ、ユーザに対話ロボット１００が頷いたように見せる動作を実行する。
【００５１】
応答制御部２４０は、第３の実施例においては、交代確率Ｐの値に応じて「何も応答しない」「フィラー発声を行う」「応答発話を行う」に加えて、「相槌を発声する」も選択しうる。相槌は、ユーザが発話を継続しやすいように、次の発話を促す発声である。例えば、「うん」「そうだね」「それで？」などが挙げられる。これらの相槌は、再生可能な発声データとして、相槌ＤＢ３４０に格納されている。
【００５２】
相槌ＤＢ３４０は、例えばハードディスクドライブの記録媒体によって構成されている。相槌生成部２５３は、応答制御部２４０からの要求に従って相槌ＤＢ３４０に格納された発声データを例えばランダムに抽出することにより相槌を生成し、応答制御部２４０へ引き渡す。
【００５３】
図８は、第３の実施例における、応答決定テーブルを示す図である。第１の実施例では、交代確率Ｐが０．０以上０．５未満である場合に「何も応答しない」との１つの分類を割り当てたが、第３の実施例では、これを２つの分類に分ける。具体的には、図示するように、交代確率Ｐが０．０以上０．４未満である場合に、「何も応答しない」と決定し、交代確率Ｐが０．４以上０．５未満である場合に、「相槌を発声する」と決定する。交代確率Ｐが０．５以上０．８未満である場合に、「フィラー発声を行う」と決定し、交代確率Ｐが０．８以上１．０以下である場合に、「応答発話を行う」と決定することは、第１の実施例と同様である。
【００５４】
第３の実施例においては、発話入力部２１０による入力発話の入力を待つべきとも、発話出力部２６０による出力発話の出力を実行すべきとも推定できない範囲（第１範囲）を０．４以上０．８以下と定めている。また、ユーザが発話することを待つべきとする範囲（第２範囲）を０．０以上０．４未満と定め、対話ロボット１００自身が発話をすべきとする範囲（第３範囲）を０．８以上１．０以下と定めている。その上で、第１範囲を、第２範囲に近い範囲（０．４以上０．５未満）と第３範囲に近い範囲（０．５以上０．８未満）とに分けている。そして、交代確率Ｐが、第１範囲に含まれるものの、第２範囲に近い範囲の値である場合に「相槌を発声する」を実行し、第１範囲に含まれるものの、第３範囲に近い範囲の値である場合に「フィラー発声する」を実行する。「相槌を発声する」は、「頷き動作を行う」を伴っても良いし、「頷き動作を行う」に代えても良い。
【００５５】
このように応答決定テーブルを定めた場合の処理について説明する。図９は、第３の実施例における、対話処理フローの特徴部を示す図である。第３の実施例における対話処理フローは、図４を用いて説明した処理とは応答選択の処理の部分が異なり、他の部分では同じであるので、異なる部分を説明する。また、図４と同じ処理については同じステップ番号を付して、具体的な説明については省略する。
【００５６】
応答制御部２４０は、まずステップＳ３０１で、交代確率Ｐが０．０以上０．４未満であるか否かを判断する。交代確率Ｐがこの範囲に含まれる場合は、ユーザ発話を待って（ステップＳ１０８）、ステップＳ１０１へ戻る。
【００５７】
応答制御部２４０は、ステップＳ３０２で、交代確率Ｐが０．４以上０．５未満であるか否かを判断する。交代確率Ｐがこの範囲に含まれる場合は、ステップＳ３０３へ進み、応答制御部２４０は、「相槌を発声する」と共に頷き動作を実行する。これらの処理が終了したらステップＳ１０１へ戻る。交代確率Ｐが０．５以上０．８未満、および０．８以上１．０以下の処理は、第１の実施例における処理と同様である。
【００５８】
以上のように本実施例によれば、対話ロボット１００が入力発話の入力を待つべきとも出力発話の出力を実行すべきとも推定できない場合であって、ユーザに発話を促すことが好ましいとも考えられるような状況においても、相槌の発声と頷き動作により、円滑な対話の実現を期待できる。
【００５９】
次に第４の実施例について説明する。図１０は、第４の実施例における、応答決定テーブルを示す図である。第４の実施例では、第２の実施例のように「フィラー発声を行う」と判断される交代確率Ｐの範囲と、「応答発話を行う」と判断される交代確率Ｐの範囲を、部分的に重複させ、更に、「何も応答しない」と判断される交代確率Ｐの範囲と、「相槌を発声する」と判断される交代確率Ｐの範囲を、部分的に重複させる。具体的には、交代確率Ｐが０．０以上０．４未満である場合に、「何も応答しない」と決定し、交代確率Ｐが０．３以上０．５以下である場合に、「相槌を発声する」と決定する。交代確率Ｐが０．５以上０．８未満である場合に、「フィラー発声を行う」と決定し、交代確率Ｐが０．７以上１．０以下である場合に、「応答発話を行う」と決定することは、第２の実施例と同様である。
【００６０】
すなわち、交代確率Ｐが０．３以上０．４未満である場合は、「何も応答しない」と「相槌を発声する」の、２つの分類に属するものとする。これは、交代確率Ｐが０．３以上０．４未満である場合の対話の状況が、何も応答しないことが良いと判断される場合と、相槌を発声することが良いと判断される場合とが混在する状況であると、実験的に明らかになってきたことに対応する処置である。交代確率Ｐが０．３以上０．４未満である場合は、応答制御部２４０は、「何も応答しない」と「相槌を発声する」のいずれかをランダムに選択して実行する。「相槌を発声する」を選択した場合の処理は、図９のステップＳ３０３と同様である。
【００６１】
なお、「相槌を発声する」は、ユーザに発話を促すことを目的とし、「フィラー発声を行う」は、発声した話者側に発話権があることを相手に仄めかすことを目的とするので、「相槌を発声する」と判断される交代確率Ｐの範囲と、「フィラー発声を行う」と判断される交代確率Ｐの範囲は、重複させないことが好ましい。以上のように本実施例によれば、対話の状況が判然としない場合に、交代確率Ｐの値を用いて応答に様々な変化を発生させることで、機械的との印象を与えない、円滑な対話の実現を期待できる。
【００６２】
次に第５の実施例について説明する。第５の実施例は、対話ロボット１００としての装置構成は、第１の実施例と同様であり、応答決定テーブルにおける交代確率Ｐの範囲を動的に変更する点で第１の実施例と異なる。第１の実施例における応答決定テーブルは、図３に示す通りであるが、本実施例における応答決定テーブルでは、「フィラー発声を行う」と「応答発話を行う」との境界値である０．８を可変値Ｘｐとする。なお、初期値は、０．８とする。
【００６３】
図１１は、第５の実施例における、対話処理フローの特徴部を示す図である。第５の実施例における対話処理フローは、図４を用いて説明した処理とは応答選択の処理の部分が異なり、他の部分では同じであるので、異なる部分を説明する。また、図４と同じ処理については同じステップ番号を付して、具体的な説明については省略する。
【００６４】
交代確率Ｐが０．０以上０．５未満の処理であるステップＳ１０７とＳ１０８は、第１の実施例における処理と同様である。交代確率Ｐが０．０以上０．５未満の範囲に含まれる場合は、応答制御部２４０は、ユーザ発話を待つ（ステップＳ１０８）。そして、ステップＳ４０２へ進み、Ｘｐに初期値であるＸｐ０を代入する。ここでは、Ｘｐ０を上述のように０．８とする。その後、ステップＳ１０１へ戻る。なお、ステップＳ１０８とステップＳ４０２は、順序が逆であっても良い。
【００６５】
応答制御部２４０は、ステップＳ１０７で交代確率Ｐが０．０以上０．５未満に含まれないと判断した場合は、ステップＳ４０１へ進み、交代確率Ｐが０．５以上Ｘｐ未満であるか否かを判断する。この範囲に含まれると判断したら、ステップＳ１１０へ進み、フィラー発声を実行する。フィラー発声を終了したらステップＳ４０３へ進み、現在のＸｐの値から０．１減らし、新たなＸｐの値に更新する。そして、ステップＳ１０１へ戻る。なお、ステップＳ１１０とステップＳ４０３は、順序が逆であっても良い。
【００６６】
応答制御部２４０は、ステップＳ４０１で交代確率Ｐが０．５以上Ｘｐ未満に含まれないと判断した場合は、ステップＳ１１１へ進み、発話の出力を実行する。発話の出力が終了したらステップＳ４０４へ進み、Ｘｐに初期値であるＸｐ０を代入する。その後、ステップＳ１０１へ戻る。なお、ステップＳ１１１とステップＳ４０４は、順序が逆であっても良い。
【００６７】
このような処理フローによれば、処理がループされてフィラー発声を行うたびに、ステップＳ１１０へ導かれる条件である交代確率Ｐの範囲が狭くなり、ステップＳ１１１の発話出力が実行される可能性がより大きくなる。換言すれば、推定部２３０は、ユーザの発話や対話ロボット１００の応答対話が行われることなくフィラー発声を続けた場合は、発話出力を実行すべきと推定する度合いを高くしていると言える。これにより、対話においてフィラーばかりが発声されるような、違和感のある状況を回避することが期待できる。なお、Ｘｐを更新した結果０．５以下になる場合は、下限値として０．５に固定する。この場合、フィラー発声が事実上禁止されることになる。また、減ずる値は０．１に限らず、他の値に調整しても良い。また、交代確率Ｐの範囲を調整するのではなく、フィラー発声を行った回数をカウントする変数を設定し、これが予め定められた回数に達した場合に、フィラー発声を禁止するように構成しても良い。
【００６８】
次に第６の実施例について説明する。第６の実施例は、対話ロボット１００としての装置構成は、第１の実施例と同様であり、応答決定テーブルにおける交代確率Ｐの範囲を動的に変更する点で第１の実施例と異なる。第１の実施例における応答決定テーブルは、図３に示す通りであるが、本実施例における応答決定テーブルでは、「何も応答しない」と「フィラー発声を行う」との境界値である０．５を可変値Ｘｑとする。なお、初期値は、０．５とする。
【００６９】
図１２は、第６の実施例における、対話処理フローの特徴部を示す図である。第６の実施例における対話処理フローは、図４を用いて説明した処理とは応答選択の処理の部分が異なり、他の部分では同じであるので、異なる部分を説明する。また、図４と同じ処理については同じステップ番号を付して、具体的な説明については省略する。
【００７０】
応答制御部２４０は、ステップＳ５０１で交代確率Ｐが０．０以上Ｘｑ未満であるか否かを判断する。交代確率Ｐが０．０以上Ｘｑ未満の範囲に含まれる場合は、応答制御部２４０は、ユーザ発話を待つ（ステップＳ１０８）。そして、ステップＳ５０５へ進み、Ｘｑに初期値であるＸｑ０を代入する。ここでは、Ｘｑ０を上述のように０．５とする。その後、ステップＳ１０１へ戻る。なお、ステップＳ１０８とステップＳ５０５は、順序が逆であっても良い。
【００７１】
応答制御部２４０は、ステップＳ５０１で交代確率Ｐが０．０以上Ｘｑ未満に含まれないと判断した場合は、ステップＳ５０２へ進み、交代確率ＰがＸｑ以上０．８未満であるか否かを判断する。この範囲に含まれると判断したら、ステップＳ１１０へ進み、フィラー発声を実行する。応答制御部２４０は、フィラー発声を行っている間にユーザ発話と被ったか否かを判断する（ステップＳ５０３）。具体的には、例えば、発話入力部２１０のＡＤ変換出力を監視して判断する。被ったと判断したらステップＳ５０４へ進み、ステップＳ５０４で、現在のＸｑの値に０．１を加え、新たなＸｑの値に更新する。そして、ステップＳ１０１へ戻る。被っていないと判断したらステップＳ５０５へ進み、Ｘｑに初期値であるＸｑ０を代入する。
【００７２】
応答制御部２４０は、ステップＳ５０２で交代確率ＰがＸｑ以上０．８未満に含まれないと判断した場合は、ステップＳ１１１へ進み、発話の出力を実行する。発話の出力が終了したらステップＳ５０５へ進み、Ｘｑに初期値であるＸｑ０を代入する。その後、ステップＳ１０１へ戻る。なお、ステップＳ１１１とステップＳ５０５は、順序が逆であっても良い。
【００７３】
このような処理フローによれば、処理がループされてフィラー発声とユーザ発話が被るたびに、ステップＳ１１０へ導かれる条件である交代確率Ｐの範囲が狭くなり、ステップＳ１０８の処理である「何も応答しない」が実行される可能性がより大きくなる。換言すれば、フィラー発声中にユーザの発話を検知した場合は、ユーザの発話を待つべきと推定する度合いを高くしている。すなわち、対話においてフィラー発声とユーザ発話が被ることが続く状況は、互いに発話権を主張し合うような状況であるので、これを回避すべく、対話ロボット１００は、ユーザがより発話しやすいように「何も応答しない」の割合を大きくする。このような処理により、対話が詰まるような状況を回避することが期待できる。なお、Ｘｑを更新した結果０．８以上になる場合は、上限値として０．８に固定する。この場合、フィラー発声が事実上禁止されることになる。また、加える値は０．１に限らず、他の値に調整しても良い。また、交代確率Ｐの範囲を調整するのではなく、フィラー発声とユーザ発話が被った回数をカウントする変数を設定し、これが予め定められた回数に達した場合に、フィラー発声を禁止するように構成しても良い。
【００７４】
以上に説明した第５の実施例と第６の実施例は、それぞれ第１の実施例をベースとして説明したが、適宜数値を調整して第２から第４の実施例と組み合わせても良い。また、第５の実施例と第６の実施例を組み合わせても良い。
【００７５】
また、第３の実施例と第４の実施例においては、相槌発声と頷き動作を共に実行するものとして説明したが、いずれか一方の動作を実行させるように構成しても良い。頷き動作の処理を省くのであれば、頷き動作部２７０を除いても良い。また、第３の実施例と第４の実施例においては、応答決定テーブルに「相槌を発声する」交代確率Ｐの範囲と「フィラー発声を行う」交代確率Ｐの範囲をそれぞれ設けたが、「フィラー発声を行う」交代確率Ｐの範囲を省いても良い。この場合は、「応答発話を行う」交代確率Ｐの範囲を、０．５以上１．０以下とすれば良い。
【００７６】
以上に説明した実施態様においては、音声対話装置として対話ロボット１００を説明した。しかし、音声対話装置は、人型を模したような立体構造を有していなくても良く、様々な実施態様を採用し得る。図１３は、他の実施態様にかかるスマートフォン７００の外観を示す図である。
【００７７】
スマートフォン７００は、スマートフォンとしての通常の機能に加え、音声対話装置としての機能も発揮する。スマートフォン７００は、表示部７１０、マイク７１１、およびスピーカ７１２を備える。マイク１１１は、対話ロボット１００のマイク１１１と同様に機能し、スピーカ７１２は、対話ロボット１００のスピーカ１１２と同様に機能する。また、スマートフォン７００は、図２に示すシステム構成を内蔵する。
【００７８】
応答制御部２４０は、表示部７１０に、例えばロボットを表現したキャラクタ８００をＣＧとして表示しても良い。キャラクタ８００は、対話ロボット１００のように、頭部８１０と体部８２０を有し、応答制御部２４０は、頷き動作を実行させる場合に、頭部８１０を前後に揺動するアニメーションを表示する。
【００７９】
また、応答制御部２４０は、表示部７１０に吹出し８７０を表示し、フィラー発声と応答発話をテキストとしてユーザに知らせても良い。この場合、スピーカ７１２から音として出力する機能を停止させても良い。
【００８０】
以上に説明した各実施態様においては、推定値として交代確率Ｐを算出した。しかし、受け取った物理的特徴量としての韻律に基づいて、ユーザからの発話を待つべきか、自身が発話すべきかを推定する推定手法は、推定値として数値を利用する手法に限らない。例えば、受け取った物理的特徴量としての韻律に基づいて、「何も応答しない」「フィラー発声を行う」「応答発話を行う」「相槌を発声する」の４つのグループのひとつを直接的に出力するものであっても良い。それぞれのグループをクラスと捉え、入力する韻律がいずれのクラスに属するかを深層学習などの手法を用いて演算することもできる。
【００８１】
以上に説明した各実施態様においては、対話ロボット１００あるいはスマートフォン７００が、図２または図７に示すシステム構成を備えるものとして説明したが、一部の構成が外部機器に存在し、通信によって外部から情報を取得する構成であっても良い。例えば、韻律ＤＢ３１０、フィラーＤＢ３２０、発話ＤＢ３３０、相槌ＤＢ３４０の各データベースは、外部機器として構成された供用のデータベースであっても良い。対話ロボット１００あるいはスマートフォン７００は、必要に応じて、通信機能を利用して当該データベースに必要な情報を要求する。このように、大容量の記録媒体を必要とするデータベースを外部に備えれば、音声対話装置としてのシステム構成をより簡易に最適化することができる。
【符号の説明】
【００８２】
１００  対話ロボット、１１０  頭部、１１１  マイク、１１２  スピーカ、１２０  体部、２１０  発話入力部、２２０  解析部、２３０  推定部、２４０  応答制御部、２５０  出力生成部、２５１  フィラー生成部、２５２  応答生成部、２５３  相槌生成部、２６０  発話出力部、２７０  頷き動作部、３１０  韻律ＤＢ、３２０  フィラーＤＢ、３３０  発話ＤＢ、３４０  相槌ＤＢ、７００  スマートフォン、７１０  表示部、７１１  マイク、７１２  スピーカ、８００  キャラクタ、８１０  頭部、８２０  体部、８７０  吹出し
【図１】
2018040897.tif 000003
【図２】
2018040897.tif 000004
【図３】
2018040897.tif 000005
【図４】
2018040897.tif 000006
【図５】
2018040897.tif 000007
【図６】
2018040897.tif 000008
【図７】
2018040897.tif 000009
【図８】
2018040897.tif 000010
【図９】
2018040897.tif 000011
【図１０】
2018040897.tif 000012
【図１１】
2018040897.tif 000013
【図１２】
2018040897.tif 000014
【図１３】
2018040897.tif 000015