【文献】
パロとは?,大和ハウス工業株式会社ホームページ,[online],2013年 7月10日,2019年8月21日検索,URL,https://web.archive.org/web/20130710201145/https://www.daiwahouse.co.jp/robot/paro/products/about.html
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、
図1を参照しながら、本発明の実施形態に係る対話装置の概要について説明する。この対話装置1は、対話相手となるユーザを認証して対話する対話エンジンであって、ロボット100に内蔵される。ロボット100は、対話装置1を内蔵することで、コミュニケーションロボットとしての人工知能を備え、ユーザと対話可能になる。
ロボット100は、ユーザとのインターフェイスとして、耳部分がユーザの音声を収音するマイク41、口部分がユーザに音声出力するスピーカ42、目部分がユーザを撮影するカメラ40、となっている。このロボット100は、人が親しみを感じるように、抱き心地のよい素材でできており、かわいい外見をしている。この実施形態においてはロボット100が玩具用である場合を例にとって説明するが、用途は玩具用に限らずコミュニケーションを必要とするものであれば適用することができる。
【0011】
図2に示すように、ロボット100は、上記インターフェイス(カメラ40、マイク41、スピーカ42)以外に、操作ボタン43、電池44、対話装置1、を備える。
【0012】
操作ボタン43は、対話装置1を操作するための各種ボタンであって、例えば、電源ボタンなどである。電池44は、対話装置1に内蔵される充電池である。
対話装置1は、加速度センサ45、制御部10、記憶部30を備える。
加速度センサ45は、XYZ方向(3軸)の加速度を測定するセンサである。この加速度センサ45は、後述するように、ユーザがロボット100を抱いた状態を含む保持状態か否かを検知するために使用される。
【0013】
制御部10は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などで構成される。制御部10は、ROMに記憶されたプログラム(例えば、後述する対話処理に係るプログラム)を実行することにより、各部(認証部11、保持判定部12、発話促進部13、対話制御部14、リセット部15)の機能を実現する。
記憶部30は、フラッシュメモリなどの不揮発性メモリである。各データベース(認証用DB31、個人情報DB32、対話用DB33)については後述する。
【0014】
次に、制御部10の機能について説明する。
制御部10は、機能として、認証部11、保持判定部12、発話促進部13、対話制御部14、を備える。
【0015】
認証部11は、音声又は画像によりユーザの認証を行う。この実施形態においては、ユーザの個人情報(例えば、ニックネームやプロフィールなどの詳細な情報)を特定する個人認証を行う場合を例にとって説明する。この場合、認証部11は、音声又は画像(特に、顔画像)を用いて、ユーザの個人認証を行う。
具体的には、認証部11は、個人認証のために認証用DB31を用いる。認証用DB31は、
図3に示すように、ユーザ名毎に、そのユーザの顔画像と声紋とを対応付けたデータベースである。認証部11は、個人認証を行う場合、カメラ40で撮影した顔画像と、認証用DB31が記憶する顔画像A1〜Z1と、を順に比較する。そして、類似度が本人であると識別できる閾値以上の顔画像に対応付けられたユーザ名を特定する。なお、認証用DB31は、顔画像に代えて、SIFT(Scale-Invariant Feature Transform)などを用いてユーザ毎の顔特徴量を記憶しておき、カメラ40で撮影した顔画像から抽出した顔特徴量と比較することでユーザ名を特定してもよい。
【0016】
一方、認証部11は、顔画像に加えて音声を用いて個人認証を行う。この場合、マイク41で収音した音声から求めた声紋(音声の周波数分布を示すサウンドスペクトログラム)と、認証用DB31が記憶する声紋A2〜Z2と、を順に比較して、最も類似する声紋に対応付けられたユーザ名を特定する。あるいは、声紋に代えて、ユーザ毎の音素(音の最小単位)を記憶しておき、収音した音声を音素に分解して、音素毎に比較してもよい。
【0017】
認証部11は、このように音声(一例として声紋)又は顔画像の何れか一方を用いてユーザの個人認証を行う。認証部11は、個人認証ができると個人情報DB32から認証したユーザの個人情報を読み出す。個人情報DB32は、
図4に示すように、ユーザ名毎に、個人情報(ニックネーム、プロフィール)を対応付けたデータベースである。ニックネームはユーザの呼び名であり、プロフィールはユーザと対話するにあたって有用な情報(例えば、誕生日や家族構成など)である。例えば、認証部11がユーザAを個人認証した場合、読み出されたユーザAの個人情報(Aさん、a)が対話に活用される。
【0018】
図2に戻って、保持判定部12は、自機がユーザにより保持されていることを示す保持状態か否か判定する。ここで、保持とは、ユーザがロボット100(対話装置1)を抱える等していること意味する。保持状態か否かは加速度センサ45を用いて検出する。すなわち、ユーザがロボット100を保持していない状態において、静止中のロボット100の加速度は、水平方向(XY成分)は0G、垂直方向(Z成分)は1G(約9.8m/s
2)である。つまり、水平方向と垂直方向の加速度の平均値(XYZ成分の加速度の平均値)は約1Gとなる。
【0019】
一方、ユーザがロボット100を保持した場合は、水平成分と垂直成分の加速度が変わって、加速度が揺らぐ。通常、この揺らぎの程度は、XYZ成分の加速度の平均値の場合1Gを超える。このため、1G以上の第1の閾値を予め設定しておき、この第1の閾値以上の加速度が所定期間継続して加速度センサ45から出力される場合、保持状態であるとする。つまり、保持判定部12は、加速度センサ45から出力される水平・垂直方向の加速度の平均値が第1の閾値以上であって、かつ、その第1の閾値以上の加速度が所定期間継続して加速度センサ45から出力される場合、保持状態であると判定する、
【0020】
ここで、ロボット100の実際のユースケースにおいては、ユーザがロボット100を抱いた後、第三者がロボット100を抱く場合がある。この場合、通常、加速度の揺らぎが第1の閾値よりも大きくなる。このため、第1の閾値よりも大きい第2の閾値を設定しておき、この第2の閾値以上の加速度が所定期間継続して加速度センサ45から出力される場合、不安定保持状態であるとする。あるいは、第三者がロボット100をユーザに代わって抱く場合、ロボット100が反転等して加速度センサ45の軸が変わる可能性があるので、軸変化をモニタして不安定保持状態を検知してもよい。
【0021】
このように、保持判定部12は、加速度センサ45を用いて、ユーザが自機を保持していない状態(未保持状態)、ユーザが自機を保持している保持状態(安定保持状態)、保持主体がユーザから第三者に交代した状態(不安定保持状態)、の3状態のうち何れか1つの状態を判定する。なお、安定保持状態とは加速度平均値が第1の閾値以上の場合を、不安定保持状態とは加速度平均値が第2の閾値以上の場合を、それぞれいう。
【0022】
次に、発話促進部13は、認証部11が音声及び顔画像により個人認証ができない場合、ユーザの発話を促す。ここでは、ユーザが発話せず、かつ、ユーザの顔が画角に収まらないような場合に、発話促進部13は、ユーザの発話を促すために自発的に質問をする。この実施形態では、特に、発話促進部13は、認証部11がユーザを個人認証できず、かつ、保持判定部12がそのユーザによる安定保持状態であると判定した場合、そのユーザの発話を促すための質問を行う。ユーザがロボット100を抱えているにもかかわらず、個人認証ができないといった事態を防ぐためである。
【0023】
ここで、自発的な質問は、
図5に示す対話用DB33の質問テンプレートを用いて行う。すなわち、発話促進部13は、質問テンプレートの中からランダムに1つの質問文を選択して、質問文のテキストを音声合成しユーザに向けて質問をする。質問は、ユーザの応答音声から個人認証をするための疑問文であればよく、ユーザが「はい」又は「いいえ」で短く回答できるクローズドクエスチョンを除くことが好ましい。加えて、ユーザに個人認証ができていないことを悟られないように、不自然な質問(例えば、「あなたは誰ですか?」など)はあえて避けて、自然な質問をするとよい。例えば、
図5に示すような、「今日の調子はどうですか?」「今日1日どうでしたか?」などの類いである。
【0024】
次に、対話制御部14は、認証部11がユーザの個人認証をした場合そのユーザの個人情報を用いてそのユーザと対話を行う。一方で、対話制御部14は、認証部11がユーザの個人認証をできなかった場合そのユーザの個人情報を用いずにユーザと対話を行う。対話制御部14は、対話にあたって対話用DB33を用いる。対話用DB33は、上述した
図5に示す質問テンプレートと、
図6に示す応答テンプレートと、を含む。応答テンプレートは、ユーザからの発話に対して応答するためのテンプレートであって、入力テキストに対して、出力テキストと個人情報と感情表現用パラメータとが対応付けられたものである。
【0025】
入力テキストとはユーザが発話した音声をテキスト化したものであり、出力テキストとは入力テキストに対する応答文であり、個人情報とは個人情報DB32から読み出された個人情報(ニックネーム、プロフィール)であり、感情表現用パラメータとは対話装置1がユーザと対話する際の感情の良好度合いを示すパラメータである。
【0026】
個人認証ができて個人情報を用いる場合は、個人情報欄が認証したユーザ名(
図6の例ではA)になり、一方で個人認証できない場合は個人情報欄が空欄となる。また、個人認証ができた場合は対話装置1の感情表現用パラメータは
図6のように「良」となり、個人認証ができない場合は対話装置1の感情表現パラメータは「普通」となる。
【0027】
対話制御部14は、個人認証できた場合は、出力テキストに個人情報を付加し、かつ、感情表現用パラメータを「良」にして、ユーザと対話する。例えば、入力テキストがあいさつの「おはよう。」であれば、対話制御部14は、それに対応する出力テキスト「おはようございます。」に個人情報であるニックネーム「Aさん」を付加し、声のトーンを「良」に対応するように上げて「Aさん、おはようございます。」と発話する。同時に、「良」に対応するように対話装置1の顔の表情を嬉しい表情に変化させてもよい。一方、個人認証できない場合は、対話制御部14は、個人情報を用いず、かつ、感情を変化させることなく、ユーザに対して「おはようございます。」と応答する。
【0028】
なお、応答テンプレートは、あいさつなどのカテゴリ毎に複数の入力テキストが用意されており、会話が数ターン続く程度のバリエーションを持つ。また、入力テキストは全文一致である必要はなく、類似一致やユーザの発話に含まれる名詞などのキーワードであってもよい。また、個人情報の活用の仕方(ニックネームを文頭に付加する)は一例であって、出力テキストの内容に応じて、家族構成や誕生日などのプロフィールを加味した応答にしてもよいのはもちろんである。応答テンプレートを用いた対話の仕方は千差万別であり、実施形態は一例に過ぎないことを念のため付言する。
【0029】
図2に戻って、リセット部15は、保持判定部12により第三者が自機を保持したと判定した場合、認証部11によるユーザの個人認証をリセットする。すなわち、リセット部15は、保持主体が交代して不安定保持状態になると個人認証をリセットする。例えば、保持主体がユーザAからユーザBに代わった際に不安定保持状態になるので、リセット部15は、個人認証したユーザAをリセットする。
【0030】
以上、
図3乃至
図6を参照しながら対話装置1の各機能について説明した。以下では、
図7を参照しながら対話処理について説明する。この処理は、ロボット100の対話機能がONしている間、継続して行う。また、ロボット100は、個人認証を行うためにカメラ40とマイク41をONにして、同時並行で音声と顔画像による個人認証を実施しているものとする。
【0031】
まず、認証部11は、個人認証できたか否か判定する(ステップS11)。ここで、個人認証ができたとは、顔画像又は音声によりユーザを認証したことをいう。一方で、個人認証ができなかったとは、顔画像及び音声でユーザを認証できなかったことをいう。
【0032】
ここで、個人認証できなかった場合(ステップS11;No)、保持判定部12は、安定保持状態か否か判定する(ステップS12)。安定保持状態でなければ(ステップS12;No)、すなわち未保持状態又は不安定保持状態であればステップS11に戻る。一方、安定保持状態であれば(ステップS12;Yes)、対話制御部14は、ユーザ音声を認識したか否か判定する(ステップS13)。ユーザ音声を認識した場合(ステップS13;Yes)、対話制御部14は、応答テンプレートを用いて個人情報を用いずにユーザに応答し(ステップS15)、ステップS11に戻る。この際、ユーザ音声から個人認証を行う。
【0033】
一方で、ユーザ音声を認識しない場合(ステップS13;No)、発話促進部13は、質問テンプレートを用いてユーザに質問して(ステップS14)、ステップS11に戻る。この際、自発的な質問に対する応答で得られるユーザ音声から個人認証を行う。このように、個人認証ができない場合の安定保持状態においてユーザが発話しなければ、自発的に質問をしてユーザの発話を促す。
【0034】
一方で、個人認証できた場合(ステップS11;Yes)、対話制御部14は、個人情報DB32から個人情報を読み出す(ステップS16)。次に、保持判定部12は、不安定保持状態か否か判定する(ステップS17)。不安定保持状態でなければ(ステップS17;No)、すなわち安定保持状態又は未保持状態であれば、対話制御部14は、ユーザ音声を認識したか否か判定する(ステップS18)。ユーザ音声を認識してなければ(ステップS18;No)、ステップS17に戻る。一方、ユーザ音声を認識した場合(ステップS18;Yes)、対話制御部14は、個人情報を用いてユーザに応答して(ステップS19)、ステップS17に戻る。
【0035】
このように、個人認証ができた場合は、不安定保持状態にならない間は(ユーザが対話装置1を保持しているか、対話装置1が未保持状態で静止中である間は)、ユーザ音声があると応答するようにしている。これはユーザが対話装置1を保持した状態で何かしている(例えば、テレビを見る等)、あるいは未保持状態ではユーザの対話装置1に対する注目度が低いことを考慮したものである。ただし、ユーザ音声がない場合でも個人情報を用いて自発的に質問(例えば、「Aさん、今日一日どうでしたか?」などの質問)をしてもよい。
【0036】
ここで、不安定保持状態になった場合(ステップS17;Yes)、すなわち保持主体が個人認証されたユーザから第三者に代わった場合、リセット部15は、個人認証をリセットして(ステップS20)、個人認証ができていない状態にする。その後、ステップS13において、ユーザ音声を認識しなければ(ステップS13;No)、すなわち第三者が発話しなければ、発話促進部13は、自発的に質問して(ステップS14)、第三者の個人認証を行う。第三者が発話すれば、対話制御部14は、個人情報を用いずにユーザに応答して(ステップS15)、第三者の個人認証を行う。
【0037】
以上、この実施形態に係る対話装置1によれば、認証部11と発話促進部13を備えたことにより、音声・顔画像による認証ができない場合、自発的に質問をしてユーザの発話を促して、認証(特に、個人認証)を行うことができる。とりわけ、この実施形態においては、保持判定部12が安定保持状態であると判定した場合に個人認証ができてなければ、自発的に質問をするようにしている。このため、顔画像による個人認証のために画角内に音声誘導する場合と比較すると、ユーザは聞かれた質問に答えるだけなので、特段自身が認証されていることを意識することがない。したがって、ユーザは違和感を覚えることがなく、個人認証ができないような状況(特に、ユーザが対話装置1を保持することで双方の距離が近接しているのに個人認証できない状況)で自然な個人認証を行うことができる。
【0038】
また、不安定保持状態の場合、すなわち認証したユーザと対話中に、そのユーザ以外の第三者が自機を保持した場合、ユーザの個人認証をリセットするようにしている。このため、保持主体が代わったにもかかわらず前のユーザの個人情報を用いて第三者と対話することがない。したがって、第三者は対話装置1との対話において違和感を感じることがない。加えて、第三者は、自ら話すか、又は質問に応答するかで個人認証されるので、スムーズに認証主体を切り替えることができる。
【0039】
また、対話制御部14は、ユーザの個人認証をした場合、そのユーザの個人情報を用いて対話する。このため、ユーザは親近感がわくので、対話装置1との間の絆を深めることができる。
【0040】
以上で実施形態の説明を終了するが、上記実施形態は一例であり、対話装置1の構成や対話処理の内容などが上記実施形態で説明したものに限られないことはもちろんである。
【0041】
(変形例)
上述した実施形態においては、個人認証を例にとって説明したが、これに限られない。ユーザの年齢又は性別を認証するための年齢性別認証を行ってもよい。この年齢性別認証とは、ユーザの年齢又は性別のうち、少なくとも何れか一方を示す年齢性別情報を特定する認証である。
【0042】
この変形例において、認証部11は、ユーザの年齢又は性別を示す年齢性別情報を特定する年齢性別認証を行う。年齢性別認証にあたっては、個人情報を特定するために個人毎の顔画像と声紋を予めデータベース化しておく個人認証と異なり、年齢又は性別を特定するに足りる情報をデータベース化しておけばよい。
【0043】
例えば、性別であれば、男女で顕著に異なる声質(声のピッチの違いなど)、骨格や髪型などから判別することができる。あるいは年齢であれば、子供か老人かは上記と同様に声質、骨格、体格などから判別することができる。年齢を細かく推定する場合は(例えば、10代、20代・・・60代など年齢層で推定する場合は)、年代を特定するための情報(例えば、10代の音声のサンプリングデータなど)を記憶しておけばよい。総じて、年齢性別認証の場合、予め記憶しておく情報量が個人認証と比べて減るので記憶容量を削減することができる。
【0044】
そして、対話制御部14は、認証部11がユーザの年齢性別認証をした場合、そのユーザの年齢性別情報を用いてそのユーザと対話を行う。例えば、ユーザが老人であれば敬語を使う、ユーザが子供であれば子供向きの対話を行う、などである。また、音声及び顔画像により年齢性別認証できない場合に行う自発的な質問は、年齢性別に応じて異ならせるとよい。例えば、老人用と子供用の質問テンプレートを用意しておき、老人用であれば発話促進部13は、「体の調子はどうですか。」と質問し、子供用であれば「今日は何して遊ぶ?」などと質問するとよい。
【0045】
このように、この変形例によれば、対話相手となるユーザについて音声・顔画像により年齢性別認証できない場合、自発的に質問して自然に年齢性別認証をすることができる。加えて、年齢性別認証によりユーザを大まかに分類した上で、その年齢性別に応じてユーザと対話することができる。
【0046】
上述した実施形態及び変形例においては、発話促進部13は、自発的に質問することによりユーザ音声を得て認証(個人認証又は年齢性別認証)するようにしたが、これに限らない。例えば、疑問系の質問に代えて、発話促進部13は、ユーザが興味を持つような発言をしてもよい。例えば、季節に応じた話題や最近のニュースなどを対話装置1がクラウドなどから取得して、それを読み上げるようにしてもよい。ユーザから声のリアクションが得られれば認証できるからである。あるいは、発話促進部13は、対話装置1の動作(ユーザの興味をそそるしぐさなど)又は表情を変える等してユーザからの発話を促進してもよい。要は、個人認証や年齢性別認証のためにユーザからの音声を得られればよく、そのための手段は問わない。
【0047】
また、上述した実施形態においては、個人情報DB32は、個人情報としてニックネームとプロフィールを記憶するようにしたが、これに限らない。例えば、ユーザの趣味嗜好、好きな話題、過去の会話履歴や通算の対話時間など、対話に有用な情報を記憶するようにしてもよい。特に、過去の会話履歴からユーザの好む話題などの傾向分析をして自発的に質問する場合はその話題について質問してもよい。また、通算の対話時間が他のユーザに比べて極端に低い場合は、対話装置1のことを良く思っていないとして、個人認証しても感情表現パラメータを「良」にせず「普通」のままにしてもよい。
【0048】
また、上述した実施形態の対話処理では、個人認証ができた場合と、個人認証ができなかった場合とで説明した。しかし、音声又は顔画像を取得できたものの、認証用DB31にユーザ名が登録されていない、つまり未登録ユーザを検知するような場合もある。このような未登録ユーザを検知した場合は、設計仕様にも依るが、不審者として対話を打ち切っても構わないし、知らない人物であっても対話を行ってもよい。対話を行う場合は、実施形態と同様に、対話用DB33の質問テンプレートと応答テンプレートを用いて個人情報を用いずに対話を行えばよい。
【0049】
また、上述した実施形態においては、対話装置1が玩具用のロボット100に内蔵される場合を前提に説明したが、これに限らない。この対話装置1は、認証機能と対話機能を備えており、これらを用いるロボットであれば組み込むことができる。例えば、掃除ロボットや捜索ロボットなどに対話装置1を組み込んでもよい。
【0050】
また、この発明の対話装置1の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、対話装置1が行う測位処理のプログラムが、制御部10のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)及びMO(Magneto Optical Disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【0051】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0052】
(付記1)
ユーザの認証を行う認証手段と、
前記認証手段が認証できない場合、前記ユーザの発話を促す発話促進手段と、
前記発話を促されたユーザの音声から前記認証手段が該ユーザを認証した場合、該認証したユーザに応じた対話を行う対話制御手段と、
を備えたことを特徴とする対話装置。
【0053】
(付記2)
前記認証手段は、前記認証として、前記ユーザの個人情報を特定する個人認証を行い、
前記対話制御手段は、前記認証手段が前記ユーザの個人認証をした場合、該ユーザの個人情報を用いて該ユーザと対話を行う、
ことを特徴とする付記1に記載の対話装置。
【0054】
(付記3)
前記認証手段は、前記認証として、前記ユーザの年齢又は性別を示す年齢性別情報を特定する年齢性別認証を行い、
前記対話制御手段は、前記認証手段が前記ユーザの年齢性別認証をした場合、該ユーザの年齢性別情報を用いて該ユーザと対話を行う、
ことを特徴とする付記1に記載の対話装置。
【0055】
(付記4)
前記発話促進手段は、前記認証手段が音声及び画像により前記ユーザを認証できない場合、該ユーザに質問して発話を促し、
前記認証手段は、前記質問に対する前記ユーザの音声から、該ユーザの認証を行う、
ことを特徴とする付記1乃至3の何れか一つに記載の対話装置。
【0056】
(付記5)
前記発話促進手段は、前記認証手段が音声及び画像により前記ユーザを認証できない場合、自機の動作又は表情を変えて、該ユーザの発話を促し、
前記認証手段は、前記動作又は表情に対する前記ユーザの音声から、該ユーザの認証を行う、
ことを特徴とする付記1乃至3の何れか一つに記載の対話装置。
【0057】
(付記6)
自機がユーザにより保持されていることを示す保持状態か否か判定する保持判定手段を備え、
前記発話促進手段は、前記認証手段が前記ユーザを認証できず、かつ、前記保持判定手段が該ユーザによる保持状態であると判定した場合、該ユーザの発話を促す、
ことを特徴とする付記1乃至5の何れか一つに記載の対話装置。
【0058】
(付記7)
前記対話制御手段により前記ユーザと対話中に、該ユーザ以外の第三者が自機を保持したか否か判定する第三者保持判定手段と、
前記第三者保持判定手段により前記第三者が自機を保持したと判定した場合、前記認証手段による前記ユーザの認証をリセットするリセット手段と、
を備えた、
ことを特徴とする付記6に記載の対話装置。
【0059】
(付記8)
付記1乃至7の何れか一つに記載の対話装置を備えたロボット。
【0060】
(付記9)
ユーザの認証を行う認証ステップと、
前記認証ステップにおいて認証できない場合、前記ユーザの発話を促す発話促進ステップと、
前記発話を促されたユーザの音声から前記認証ステップにおいて該ユーザを認証した場合、該認証したユーザに応じた対話を行う対話制御ステップと、
を備えたことを特徴とする対話方法。
【0061】
(付記10)
コンピュータを、
ユーザの認証を行う認証手段、
前記認証手段が認証できない場合、前記ユーザの発話を促す発話促進手段、
前記発話を促されたユーザの音声から前記認証手段が該ユーザを認証した場合、該認証したユーザに応じた対話を行う対話制御手段、
として機能させるためのプログラム。