(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-28
(45)【発行日】2022-03-08
(54)【発明の名称】ユーザの顔の映像に基づいて発動タイミングを推定する装置、プログラム及び方法
(51)【国際特許分類】
G10L 13/02 20130101AFI20220301BHJP
G06F 3/16 20060101ALI20220301BHJP
G10L 13/00 20060101ALI20220301BHJP
G10L 15/22 20060101ALI20220301BHJP
G06T 7/20 20170101ALI20220301BHJP
【FI】
G10L13/02 130Z
G06F3/16 530
G10L13/00 100M
G10L15/22 300Z
G06T7/20 300B
G06F3/16 610
G06F3/16 690
G06F3/16 650
(21)【出願番号】P 2018200329
(22)【出願日】2018-10-24
【審査請求日】2020-11-18
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】呉 剣明
(72)【発明者】
【氏名】帆足 啓一郎
【審査官】冨澤 直樹
(56)【参考文献】
【文献】特開2017-159396(JP,A)
【文献】特開2010-170392(JP,A)
【文献】特開2018-087847(JP,A)
【文献】特開2004-206704(JP,A)
【文献】特開平10-021407(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/0ー13/10
G06F 3/16
G10L 15/00-15/34
G06T 7/20
(57)【特許請求の範囲】
【請求項1】
ユーザと対話する対話装置において、
カメラによって撮影されたユーザの顔が映り込む時系列画像を入力し、各画像から顔領域を検出する顔領域検出手段と、
画像に映り込む顔領域から、顔の各パラメータを抽出する顔パラメータ抽出手段と、
前記顔パラメータの時系列変化から時間周波数特徴量を抽出する特徴量抽出手段と、
時系列画像における異なるタイムスパン毎に、時間周波数特徴量と発動可否(正例・負例)とを対応付けた教師データによって予め学習したものであって、
推定時に、タイムスパン毎の時間周波数特徴量を入力し、
推定精度が最大となるタイムスパンに基づいて、前記現時点
がユーザに対する発動タイミングか否かを推定する機械学習エンジンと、
前記機械学習エンジンによって真と判定された場合、ユーザに対して発動する発動手段と
を有することを特徴とする対話装置。
【請求項2】
前記顔パラメータ抽出手段は、顔の各パラメータとして、顔向きのオイラー角、顔の中心位置、及び/又は、顔のサイズを含む
ことを特徴とする請求項1に記載の対話装置。
【請求項3】
ユーザの発話音声からテキストを抽出する音声認識手段を更に有し、
前記機械学習エンジンによって偽と判定された場合、前記音声認識手段における音声認識確率の閾値を上げることによって、音声認識の誤りを低減させる
ことを特徴とする請求項1又は2に記載の対話装置。
【請求項4】
前記発動手段は、ユーザに対する発動として、対話シナリオに基づく初期テキストを発話する
ことを特徴とする請求項1から3のいずれか1項に記載の対話装置。
【請求項5】
当該対話装置が、動作可能なロボットである場合、
前記発動手段は、ユーザに対する発動として、行動シナリオに基づく初期挙動で動作する
ことを特徴とする請求項1から3のいずれか1項に記載の対話装置。
【請求項6】
前記対話シナリオ発動手段が初期テキストを発話した後、ユーザとの対話が成立しなかった時、
前記機械学習エンジンは、その時までの時間周波数特徴量に対して発動不可(負例)として教師データを収集する
ことを特徴とする請求項4に記載の対話装置。
【請求項7】
対話シナリオの中断中に、ユーザから発話された時、
前記機械学習エンジンは、その時までの前記時間周波数特徴量に対して発動可能(正例)として教師データを収集する
ことを特徴とする請求項4又は6に記載の対話装置。
【請求項8】
前記特徴量抽出手段は、顔の各パラメータの時系列に対して、短時間フーリエ変換又はウェーブレット変換によって時間周波数特徴量を抽出するものであり、
前記機械学習エンジンは、LSTM(Long Short-Term Memory)である
ようにコンピュータを機能させることを特徴とする請求項1から
7のいずれか1項に記載のプログラム。
【請求項9】
ユーザと対話する装置に搭載されたコンピュータを機能させるプログラムにおいて、
カメラによって撮影されたユーザの顔が映り込む時系列画像を入力し、各画像から顔領域を検出する顔領域検出手段と、
画像に映り込む顔領域から、顔の各パラメータを抽出する顔パラメータ抽出手段と、
前記顔パラメータの時系列変化から時間周波数特徴量を抽出する特徴量抽出手段と、
時系列画像における異なるタイムスパン毎に、時間周波数特徴量と発動可否(正例・負例)とを対応付けた教師データによって予め学習したものであって、
推定時に、タイムスパン毎の時間周波数特徴量を入力し、
推定精度が最大となるタイムスパンに基づいて、前記現時点
がユーザに対する発動タイミングか否かを推定する機械学習エンジンと、
前記機械学習エンジンによって真と判定された場合、ユーザに対して発動する発動手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項10】
ユーザと対話する装置の対話方法において、
前記装置は、
時系列画像における異なるタイムスパン毎に、時間周波数特徴量と発動可否(正例・負例)とを対応付けた教師データによって予め学習した機械学習エンジンを有し、
カメラによって撮影されたユーザの顔が映り込む時系列画像を入力し、各画像から顔領域を検出する第1のステップと、
画像に映り込む顔領域から、顔の各パラメータを抽出する第2のステップと、
前記顔パラメータの時系列変化から時間周波数特徴量を抽出する第3のステップと、
前記機械学習エンジンを用いて、
推定時に、タイムスパン毎の時間周波数特徴量から、
推定精度が最大となるタイムスパンに基づいて、前記現時点
がユーザに対する発動タイミングか否かを推定する第4のステップと、
第4のステップによって真と判定された場合、ユーザに対して発動する第5のステップと
を実行することを特徴とする装置の対話方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザと自然な対話を実現する対話装置の技術に関する。
【背景技術】
【0002】
対話装置は、スマートフォンやタブレット端末のインタフェースを介して、ユーザと対話する。ユーザの発話音声をテキストに変換し、その文脈構成から発話意味を推定する。そして、その発話意味に対応する対話シナリオに基づいて、ユーザに応答する。例えば、「Siri(登録商標)」や「しゃべってコンシェル(登録商標)」のような対話システムがある。
【0003】
近年、ユーザとの対話装置として、「Google Home(登録商標)」や「Amazon Echo(登録商標)」のようなスマートスピーカや、「SOTA(登録商標)」や「ユニボー(登録商標)」のようなロボットが用いられてきている(以下「ロボット」と称す)。ユーザは、これらロボットと対話する前に、アクティブコマンド(「OK, XXX」, etc.)を発話する必要がある。このコマンドを検知したロボットは、音声認識機能を起動し、その後に続くユーザの発話音声を認識するように動作する。
【0004】
従来、ユーザの意図を考慮して声を掛ける案内ロボットの技術がある(例えば特許文献1参照)。この技術によれば、時系列に連続したフレーム画像毎に、ユーザが見ている方向を判別し、時間経過に伴うその方向の変化を表す方向変化量を算出し、その方向変化量に基づいて声を掛けるか否かを判断する。具体的には、展示場内や店舗内で、キョロキョロして何か困っているユーザに、声を掛けることができる。
【0005】
また、店舗内の顧客の態様から、最適な広告を表示する顧客購買意思予測装置の技術もある(例えば特許文献2参照)。この技術によれば、顧客の顔の向きの変化を一定時間に渡って追跡し、商品に対して顧客の顔の向きが停止している商品注意時間が最長となるその商品を、顧客に推薦することができる。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2017-159396号公報
【文献】特開2016-076109号公報
【非特許文献】
【0007】
【文献】「Head Pose Estimation using OpenCV and Dlib」、[online]、[平成30年10月4日検索]、インターネット<URL:https://www.learnopencv.com/head-pose-estimation-using-opencv-and-dlib/>
【文献】「短時間フーリエ変換」、[online]、[平成30年10月4日検索]、インターネット<URL:https://www.ieice.org/jpn/event/FIT/pdf/d/2014/H-039.pdf>
【文献】「ウェーブレット変換」、[online]、[平成30年10月4日検索]、インターネット<URL:http://www.cqpub.co.jp/hanbai/books/30/30961/30961_9syo.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0008】
ユーザにとって、ロボットに毎回、アクティブコマンドを発話することは面倒な場合がある。
例えばテレビや会話などの周辺雑音が多い宅内や店舗では、ユーザが発話するアクティブコマンドを、ロボットが認識できない場合がある。
逆に、ユーザが意図的にロボットに向かって発話していない時でも、ロボットが周辺雑音に反応して誤動作してしまう場合もある。
【0009】
また、特許文献1及び2のように、ユーザの顔の向きの変化量のみで、ロボットが話し掛けるタイミングを、ユーザにとって最適なものとすることは精度的に難しい。
これに対し、本願の発明者らは、ユーザがロボットに話し掛けたいタイミングでは、ユーザの顔の映像に何らかの特徴的変化があるのではないか、と考えた。この特徴的変化を経験値から学習して見い出すことができれば、最適な発動タイミングを特定することができるのではないか、と考えた。
【0010】
そこで、本発明は、ユーザの顔の映像から、ユーザに対する話し掛けや動作の発動タイミングを高い精度で推定する装置、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明によれば、ユーザと対話する対話装置において、
カメラによって撮影されたユーザの顔が映り込む時系列画像を入力し、各画像から顔領域を検出する顔領域検出手段と、
画像に映り込む顔領域から、顔の各パラメータを抽出する顔パラメータ抽出手段と、
前記顔パラメータの時系列変化から時間周波数特徴量を抽出する特徴量抽出手段と、
時系列画像における異なるタイムスパン毎に、時間周波数特徴量と発動可否(正例・負例)とを対応付けた教師データによって予め学習したものであって、推定時に、タイムスパン毎の時間周波数特徴量を入力し、推定精度が最大となるタイムスパンに基づいて、前記現時点がユーザに対する発動タイミングか否かを推定する機械学習エンジンと、
前記機械学習エンジンによって真と判定された場合、ユーザに対して発動する発動手段と
を有することを特徴とする。
【0012】
本発明の対話装置における他の実施形態によれば、
顔パラメータ抽出手段は、顔の各パラメータとして、顔向きのオイラー角、顔の中心位置、及び/又は、顔のサイズを含むことも好ましい。
【0013】
本発明の対話装置における他の実施形態によれば、
ユーザの発話音声からテキストを抽出する音声認識手段を更に有し、
機械学習エンジンによって偽と判定された場合、音声認識手段における音声認識確率の閾値を上げることによって、音声認識の誤りを低減させる
ことも好ましい。
【0014】
本発明の対話装置における他の実施形態によれば、
発動手段は、ユーザに対する発動として、対話シナリオに基づく初期テキストを発話することも好ましい。
【0015】
本発明の対話装置における他の実施形態によれば、
当該対話装置が、動作可能なロボットである場合、
発動手段は、ユーザに対する発動として、行動シナリオに基づく初期挙動で動作することも好ましい。
【0016】
本発明の対話装置における他の実施形態によれば、
対話シナリオ発動手段が初期テキストを発話した後、ユーザとの対話が成立しなかった時、
機械学習エンジンは、その時までの時間周波数特徴量に対して発動不可(負例)として教師データを収集する
ことも好ましい。
【0017】
本発明の対話装置における他の実施形態によれば、
対話シナリオの中断中に、ユーザから発話された時、
機械学習エンジンは、その時までの時間周波数特徴量に対して発動可能(正例)として教師データを収集することも好ましい。
【0019】
本発明の対話装置における他の実施形態によれば、
特徴量抽出手段は、顔の各パラメータの時系列に対して、短時間フーリエ変換又はウェーブレット変換によって時間周波数特徴量を抽出するものであり、
機械学習エンジンは、LSTM(Long Short-Term Memory)である
ようにコンピュータを機能させることも好ましい。
【0020】
本発明によれば、ユーザと対話する装置に搭載されたコンピュータを機能させるプログラムにおいて、
カメラによって撮影されたユーザの顔が映り込む時系列画像を入力し、各画像から顔領域を検出する顔領域検出手段と、
画像に映り込む顔領域から、顔の各パラメータを抽出する顔パラメータ抽出手段と、
前記顔パラメータの時系列変化から時間周波数特徴量を抽出する特徴量抽出手段と、
時系列画像における異なるタイムスパン毎に、時間周波数特徴量と発動可否(正例・負例)とを対応付けた教師データによって予め学習したものであって、推定時に、タイムスパン毎の時間周波数特徴量を入力し、推定精度が最大となるタイムスパンに基づいて、前記現時点がユーザに対する発動タイミングか否かを推定する機械学習エンジンと、
前記機械学習エンジンによって真と判定された場合、ユーザに対して発動する発動手段と
してコンピュータを機能させることを特徴とする。
【0021】
本発明によれば、ユーザと対話する装置の対話方法において、
装置は、
時系列画像における異なるタイムスパン毎に、時間周波数特徴量と発動可否(正例・負例)とを対応付けた教師データによって予め学習した機械学習エンジンを有し、
カメラによって撮影されたユーザの顔が映り込む時系列画像を入力し、各画像から顔領域を検出する第1のステップと、
画像に映り込む顔領域から、顔の各パラメータを抽出する第2のステップと、
前記顔パラメータの時系列変化から時間周波数特徴量を抽出する第3のステップと、
前記機械学習エンジンを用いて、推定時に、タイムスパン毎の時間周波数特徴量から、推定精度が最大となるタイムスパンに基づいて、前記現時点がユーザに対する発動タイミングか否かを推定する第4のステップと、
第4のステップによって真と判定された場合、ユーザに対して発動する第5のステップと
を実行することを特徴とする。
【発明の効果】
【0022】
本発明の対話装置、プログラム及び方法によれば、ユーザの顔の映像から、ユーザに対する話し掛けや動作の発動タイミングを高い精度で推定することができる。
【図面の簡単な説明】
【0023】
【
図1】本発明における対話装置の機能構成図である。
【
図2】対話システムにおけるサーバの機能構成図である。
【
図3】推定段階における各機能構成部の処理の流れを表す説明図である。
【
図4】対話装置のロボットがユーザの顔を撮影している外観図である。
【
図5】顔領域検出部及び顔パラメータ抽出部の処理を表す説明図である。
【
図7】初期段階における各機能構成部の処理の流れを表す説明図である。
【
図8】学習させる各機能構成部の処理の流れを表す説明図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0025】
図1は、本発明における対話装置の機能構成図である。
【0026】
図1によれば、対話装置1は、ユーザと対話するロボット(スマートスピーカも含む)である。対話装置1は、ユーザインタフェースの入出力デバイスとして、マイク、スピーカ及びカメラを搭載している。カメラは、ユーザの顔の映像を撮影する。マイクは、ユーザの発話音声を取得する。スピーカは、音声によってユーザへ発話する。
ユーザは、キャラクタとしてのロボットの対話装置1との間で、自然な対話を実現することができる。
【0027】
図2は、対話システムにおけるサーバの機能構成図である。
【0028】
図2によれば、
図1における本発明の機能構成と全く同じであるが、サーバによって構成されている。ユーザによって所持されるスマートフォンやタブレット端末が、対話システムにおけるユーザインタフェースとなる。
【0029】
本発明の対話装置1は、ユーザにとって最良のタイミングで能動的に、ユーザに話し掛けたり又は動作(例えばロボットが、手を上げる又は歩き始める等)することができる。
図1によれば、対話装置1は、顔領域検出部11と、顔パラメータ抽出部12と、特徴量抽出部13と、機械学習エンジン14と、発動部15と、音声認識部101と、対話実行部102と、音声変換部103とを有する。これら機能構成部は、対話装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現できる。また、これら機能構成部の処理の流れは、装置の対話方法としても理解できる。
【0030】
音声認識部101、対話実行部102及び音声変換部103は、一般的な対話装置の機能構成部である。
音声認識部101は、マイクからユーザの発話音声を入力し、その発話音声をテキストに変換し、そのテキストを対話実行部102へ出力する。
対話実行部102は、音声認識部101から入力したテキストに対して、次の対話シナリオとなるテキストを検索する。そのテキストは、音声変換部103へ出力される。対話シナリオとは、ユーザの発話テキストに対して次の対話テキストを対応付けたものであり、質問及び回答からなる対話ノードをツリー状に構成したものである。
音声変換部103は、対話実行部102からユーザに対する対話文を入力し、その対話文を音声信号に変換し、その音声信号をスピーカへ出力する。
【0031】
本発明によれば、対話装置1は、機械学習エンジン14を用いた<推定段階>と<初期段階>とに分けられる。
【0032】
<推定段階>
図3は、推定段階における各機能構成部の処理の流れを表す説明図である。
【0033】
[顔領域検出部11]
顔領域検出部11は、カメラによって撮影されたユーザの顔が映り込む時系列画像(映像)を入力し、各画像から顔領域を検出する。
【0034】
図4は、対話装置のロボットがユーザの顔を撮影している外観図である。
図5は、顔領域検出部及び顔パラメータ抽出部の処理を表す説明図である。
【0035】
顔領域検出部11は、カメラによって撮影された時系列の各画像フレームから、顔の目立つ特徴を抽出することによって顔自体を識別する。特徴としては、例えば、顔のパーツの相対位置や大きさ、目や鼻やほお骨やあごの形を用いる。顔画像の特徴から作成されたテンプレートと一致する画像部分を、顔領域として検索する。尚、顔認識アルゴリズムとしては、様々な既存の方法がある。
図5によれば、ユーザの顔が撮影された時系列画像が並んでおり、顔領域検出部11は、各画像から顔領域が検出されている。
【0036】
[顔パラメータ抽出部12]
顔パラメータ抽出部12は、画像に映り込む顔領域から、顔の各パラメータを抽出する。顔の各パラメータとしては、以下のようなものを含む。
顔向きのオイラー角
顔の中心位置
顔のサイズ
【0037】
顔パラメータの検出には、例えば頭部姿勢推定(Head Pose Estimation)方法を用いることができる(例えば非特許文献1参照)。
顔の向き判別をするために、画像認識として、オープンソースライブラリのOpenCV(画像処理)やDlib(機械学習)、深層学習分類モデルを用いて実装することができる。
顔の中心位置やサイズは、画角全体に対する顔領域の位置やサイズとして導出することができる。
【0038】
顔パラメータは、ユーザの動作によって、例えば以下のように時系列に変化する。
(着席して携帯を見る)->
顔向きは真正面から下へ変化し、顔の中心位置は上から下へ変化する。
(起立して出かける)->
顔向きは前から後へ変化し、顔の中心位置は下から上へ変化する。
(薬を飲む)->
顔向きは下から上へ変化し、また再び下へ変化する。
(周辺を見ながらロボットに近づく)->
顔向きは左右に変化し、顔のサイズは大きく変化する。
(案内図を見ながら周辺を確認)->
顔向きは下から左右に変化し、また再び下へ変化する。
(ロボットの姿を見る)->
顔向きは上下左右に変化し、顔位置は上下左右に変化する。
【0039】
抽出された時系列の顔パラメータは、特徴量抽出部13へ出力される。
【0040】
[特徴量抽出部13]
特徴量抽出部13は、顔パラメータの時系列変化から「時間周波数特徴量」を抽出する。即ち、時間及び周波数に係る特徴量を同時に抽出する。
【0041】
【0042】
特徴量抽出部13は、顔の各パラメータの時系列に対して、例えば「短時間フーリエ変換」又は「ウェーブレット変換」によって時間周波数特徴量を抽出する。
【0043】
短時間フーリエ変換(short-time Fourier transform:STFT)とは、時間を一定間隔ずつ切り出して、次々にフーリエ変換する方法である(例えば非特許文献2参照)。これによって、時間変化するパラメータの周波数と位相(の変化)を解析する。
【0044】
短時間フーリエ変換を利用した場合、顔の各パラメータについて以下の表1のように、1列目は周波数、2列目は振幅に変換する。これに対して、短時間フーリエ変換を適用する。
【表1】
【0045】
ウェーブレット変換(wavelet transformation)は、周波数に応じて解析する時間幅を変化させる方法である(例えば非特許文献3参照)。フーリエ変換によって周波数特性を求める際に失われる時間領域の情報を残す。ウェーブレット変換では、小さい波(ウェーブレット)を拡大縮小、平行移動して足し合わせることで、与えられた広い周波数領域の波形を表現することができる。
【0046】
ウェーブレット変換を利用した場合、顔の各パラメータについて以下の表2のように、1列目は周波数(ウェーブレット変換の出力Scaleから換算)、2列目は開始時間~終了時間、3列目は振幅に変換する。これに対して、ウェーブレット変換を適用し、時間的に変動する周波数成分を取得することによって、短時間フーリエ変換よりも詳細に時間周波数特徴量を導出することができる。
【表2】
【0047】
顔の各パラメータに基づく時間周波数特徴量は、ユーザの行動パターン認識の網羅性と、発動タイミングが外乱の影響を受けにくいロバスト性とを向上させることができる。
【0048】
[機械学習エンジン14]
機械学習エンジン14は、時間周波数特徴量と発動可否(正例・負例)とを対応付けた教師データによって予め学習したものである。「発動」とは、ユーザに何らか話し掛けたり、又は、ロボットが動作してユーザの注目を受けることをいう。即ち、顔の各パラメータの時系列変化に基づく時間周波数特徴量と、発動タイミングOK又はNGとの相互関係を、学習モデルとして構築したものである。
【0049】
機械学習エンジン14は、例えばLSTM(Long Short-Term Memory)であることが好ましい。LSTMとは、長期的な依存関係を学習可能な、RNN(Recurrent Neural Network)の一種である。RNNは、ニューラルネットワークのモジュールを繰り返す、鎖状のものである。
【0050】
そして、機械学習エンジン14は、特徴量抽出部13から出力された時間周波数特徴量を入力し、現時点が、ユーザに対する発動タイミングか否かを推定する。
図3によれば、機械学習エンジン14は、発動タイミングOKである場合、その旨を、発動部15へ出力する。
また、機械学習エンジン14は、発動タイミングNGである場合、音声認識部101における音声認識確率の閾値を上げるように指示する。発動タイミングNGであるということは、ユーザが、対話装置1へ注目することはないために、音声認識確率を上げることによって、周辺雑音から音声認識されないようにする。これによって、ユーザの発話の誤認識を低減させることができる。
【0051】
[発動部15]
発動部15は、機械学習エンジン14によって真(発動タイミングOK)と判定された場合、ユーザに対して発動する。ここで、「発動」とは、例えば以下のような態様をいう。
(1)ユーザに対する発動として、対話シナリオに基づく初期テキストを発話する。
(2)当該対話装置が、動作可能なロボットである場合、ユーザに対する発動として、行動シナリオに基づく初期挙動で動作する。
【0052】
次に、機械学習エンジン14における学習処理について説明する。
機械学習エンジン14は、予め蓄積された教師データに基づいて学習モデルを構築する初期段階の学習処理と、教師データを収集しながら学習モデルを構築する推定段階の学習処理とを実行する。
【0053】
<機械学習エンジン14の初期段階の学習処理>
図7は、初期段階における各機能構成部の処理の流れを表す説明図である。
【0054】
図7によれば、教師データとして、ユーザの顔の映像と、発動可否(正例・負例)とが対応付けられている。教師データは、例えば対話装置1のカメラの前で、複数の被験者における模範的な顔の動きを記録したものである。被験者の顔の動きの映像から、話し掛け又は動作の発動タイミングの可否を対応付ける。
【0055】
ユーザの顔の映像は、前述した顔領域検出部11、顔パラメータ抽出部12及び特徴量抽出部13によって処理され、時間周波数特徴量が得られる。その時間周波数特徴量と発動可否(正例・負例)とを対応付けて、機械学習エンジン14へ入力する。これによって、機械学習エンジン14は、学習モデルを構築する。
【0056】
<機械学習エンジン14の推定段階の学習処理>
機械学習エンジン14は、初期段階で全ての学習パターンをカバーすることは困難となる。そのために、推定段階(運用段階)でも、ユーザの肯定的な反応、又は、否定的な反応に基づいて正例・負例の教師データを収集する。
機械学習エンジン14は、推定段階を実行しながら、正例となる教師データと、負例となる教師データとを収集する。
【0057】
図8は、学習させる各機能構成部の処理の流れを表す説明図である。
【0058】
(正例となる教師データを収集する場合)
対話シナリオの中断中に、ユーザから発話された時、機械学習エンジン14は、その時までの時間周波数特徴量に対して発動可能(正例)として、教師データを収集する。
対話装置1から話し掛けたり又は動作したりしてはいけない(負例)と判定しているにも関わらず、ユーザの反応が肯定的である(自らロボットに声をかける)場合、この直前までの時間周波数特徴量は、発動可能であったと判定する。
【0059】
(負例となる教師データを収集する場合)
発動タイミングで発動部15から話し掛け又は動作をした後、ユーザとの対話が成立しなかった時、機械学習エンジン14は、その時までの時間周波数特徴量に対して発動不可として、教師データを収集する。
対話装置1から話し掛けたり又は動作してもよい(正例)と判定しているにも関わらず、ユーザの反応が否定的である(無視している)場合、この直前までの時間周波数特徴量は、発動不可であったと判定する。
【0060】
<異なるタイムスパンの設定>
他の実施形態として、機械学習エンジンの教師データは、異なるタイムスパン毎に、時間周波数特徴量と発動可否とを対応付けたものであることも好ましい。
例えば、細粒度及び粗粒度の複数のタイムスパンを設定し、直近N秒間の固定フレーム数をデフォルト値として設定する。
(細粒度のタイムスパン) 直近1秒・10フレーム ->時間周波数特徴量の導出
(粗粒度のタイムスパン) 直近5秒・10フレーム ->時間周波数特徴量の導出
タイムスパンとは、時間周波数特徴量を導出するために使用する画像の時間間隔(サンプリング間隔)をいう。
【0061】
前述した特徴量抽出部13は、ユーザの顔が映り込む同じ映像を入力しても、タイムスパン毎に異なる時間周波数特徴量を出力する。そして、タイムスパン毎に、時間周波数特徴量を、機械学習エンジン14へ入力する。これによって、タイムスパン毎に、異なる学習モデルを構築することとなる。
【0062】
機械学習エンジン14は、推定段階について、タイムスパン毎に推定精度を評価するものであってもよい。精度が最大となるタイムスパンを用いることもできる。ここでの推定精度は、タイムスパン毎の推定結果と、ユーザの肯定的な反応又は否定的な反応とを照合し、一致率として算出したものであってもよい。
【0063】
以上、詳細に説明したように、本発明の対話装置、プログラム及び方法によれば、ユーザの顔の映像から、ユーザに対する話し掛けや動作の発動タイミングを高い精度で推定することができる。即ち、ユーザから見て、利便性及びインテリジェンス性を向上させて、人の空気が読めるロボットやスマートスピーカを実現することができる。
【0064】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0065】
1 対話装置
11 顔領域検出部
12 顔パラメータ抽出部
13 特徴量抽出部
14 機械学習エンジン
15 発動部
101 音声認識部
102 対話実行部
103 音声変換部