JP6886651B2 - 行動コマンド生成システム、応答システムおよび行動コマンド生成方法 - Google Patents

行動コマンド生成システム、応答システムおよび行動コマンド生成方法 Download PDF

Info

Publication number
JP6886651B2
JP6886651B2 JP2016238910A JP2016238910A JP6886651B2 JP 6886651 B2 JP6886651 B2 JP 6886651B2 JP 2016238910 A JP2016238910 A JP 2016238910A JP 2016238910 A JP2016238910 A JP 2016238910A JP 6886651 B2 JP6886651 B2 JP 6886651B2
Authority
JP
Japan
Prior art keywords
action
participant
vector
robot
situation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016238910A
Other languages
English (en)
Other versions
JP2018094645A (ja
Inventor
チャ リュウ チュン
チャ リュウ チュン
フェアチャイルド グラス ディラン
フェアチャイルド グラス ディラン
神田 崇行
崇行 神田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2016238910A priority Critical patent/JP6886651B2/ja
Publication of JP2018094645A publication Critical patent/JP2018094645A/ja
Application granted granted Critical
Publication of JP6886651B2 publication Critical patent/JP6886651B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

この発明は、ロボットなどの機器と人間との間で、自然なコミュニケーションを可能とするための行動コマンド生成システム、応答システムおよび行動コマンド生成方法に関する。
ロボットが現代に、より普及するようになるとともに、人間・ロボット間のインタラクション(HRI:Human Robot Interface)の分野では、ロボットを日常生活へ溶け込ませていくことが必要となる。
このようないわゆる「サービス・ロボット」は、博物館、オフィス、老人介護、ショッピング・モールおよびヘルスケア設備において、存在感を得るようになってきている。
たとえば、店舗業務の支援ロボットは、顧客に挨拶し、受け答えができ、商品を推薦し、様々な商品を説明し、様々な状況で顧客を支援できることが必要になる。
このように、ロボットと人とのインタラクションについてのロジックを設計する一つのアプローチは、ロボットが実行するべき振る舞い、環境からのの予期される入力およびロボットが従うべき行動ルールを明示的にプログラムすることである。
たとえば、特許文献1には、ロボットおよびモーションキャプチャシステムを含むロボットシステムが開示されている。このロボットシステムでは、ロボットおよび人の位置、体の向きおよび視線方向を用いてロボットと人との空間陣形を分析し、ロボットおよび人の対話参加状態を認識する。そして、認識した対話参加状態に応じて、ロボットが適宜の行動を取ることによって、ロボットおよび人の双方が対話参加状態になるようにした後、ロボットが人に対して挨拶発話を行う。
ここでは、ロボットおよび人の対話参加状態を認識すると、その認識結果に応じてロボットの行動(動作)が決定される。すなわち、ロボットは、双方参加状態となる所定の空間陣形(つまり対話を始めるための空間陣形)を形成するための行動を行うこととされているが、そのような空間陣形をとった場合に、どのような発話を行うかは、予め決められたシナリオに基づく。
また、特許文献2には、待機時間の長さに応じた場つなぎ動作を実行することで、ユーザと音声対話装置とのコミュニケーションの柔軟性を向上させる音声対話制御装置が開示されている。この音声対話制御装置は、待機時間を予測する待機時間予測部と、上記待機時間と、上記音声対話装置が実行可能な動作を示す複数の動作候補それぞれの実行に要する動作時間とに基づいて、場つなぎ動作を選択する場つなぎ動作決定部と、を備える。この場合も、このような動作候補は、予めテーブルとして用意されていることが想定されている。
しかしながら、このように環境からのの予期される入力およびロボットが従うべき行動ルールを明示的にプログラムすることは、一般には、困難なプロセスであり、例えば、人々がロボットに尋ねる可能性のある質問をすべて予想して、様々な社会的な状況を想像し、かつ、明瞭に表現するのが難しいようなロボットに対する社会的行動および実行規則を指定するためには、自身の直観を使用するデザイナーの能力に、大きく依存するものとなる。
したがって、このプロセスはまさに労働集約的な作業になり、また、センサー・ノイズによる誤差や、人間行動の自然な多様性が考慮される場合には、ロバストなインタラクションを作成することはさらに困難になる。
そこで、ロボットが人に対してとるべき行動を、何らかのソースから取得してこれを利用しようとする技術も存在する。
たとえば、特許文献3には、ソーシャルメディアサーバ7から視聴中の番組に関するコメントを取得し、ロボットに設定されたパーソナリティと一致するパーソナリティ一致話者のコメントからロボットに発話させる発話内容を決定するとともに、発話内容の対話状態とロボットの感情状態に基づいてロボットに実行させるアクション内容をアクションデータベースから抽出するシステムが開示されている。これにより、視聴中の番組の内容に応じたアクションをロボットに実行させることが可能となる。発話内容を決定する際に、ロボットに設定されたパーソナリティでコメントを絞り込むことで、一貫性のある発話・アクションをロボットに実行させることが可能となる。
特開2012−161851号 特開2016−126293号 特開2015−148701号
しかしながら、特許文献3に開示された技術は、あくまで、ロボットの発話内容について、ソーシャルメディアにおいて、放送中の番組対するコメントのうち、ロボットパーソナリティが一致するコメント情報を、ロボットに発話させるというものである。このため、現在の状況に合わせて、他の人間がコメントを発信していることが前提であり、かつ、ロボットのアクションについては、事前のシナリオに沿ったものとなっている。このため、ロボットに接客をさせるというような用途には、適さない。
この発明の目的は、上記のような問題点を解決するためになされたものであって、特定の環境において、人・ロボット間のインタラクションを行うためのロボットへの行動コマンドをデータ駆動型で生成するシステムを提供することである。
この発明の他の局面に従うと、第1の状況において装置が第1の参加者と行動によるコミュニケーションを可能とするための行動コマンド生成システムであって、第1の状況に対応して、第2の参加者および第3の参加者が行動によるコミュニケーションをとる状況であって、第2の参加者および第3の参加者が、それぞれ、装置および第1の参加者に対応する行動をとる第2の状況において取得されたデータに基づき、装置は、第1の状況において第2の参加者の代わりとして行動するものであり、人の行動に関する時系列データを収集するための複数のセンサと、第2の状況において、行動の時系列データをクラスタリングして、各クラスタごとに代表行動を決定する行動パターンクラスタ化手段と、結合状態ベクトルと行動ベクトルとをそれぞれ関連付けるためのベクトル生成手段とを備え、結合状態ベクトルは、第2の状況において、クラスタリングの結果と行動の時系列データに基づき、第3の参加者の状態と第2の参加者の状態とから生成され、各行動ベクトルは、結合状態ベクトルに対応し第2の参加者の後続する代表行動を表し、結合状態ベクトルを入力とし、行動ベクトルを出力とする予測器を生成するための予測器生成手段と、第1の状況において、生成された予測器により予測された、第1の参加者の行動に応答する行動ベクトルに応じて、装置へのコマンドを生成するためのコマンド生成手段とを備える。
好ましくは、代表行動は、代表発話と代表運動とを含む。
好ましくは、行動パターンクラスタ化手段は、観測された第2の参加者の発話を発話クラスタに分類する発話クラスタ化手段と、クラスタ内で最も多くの他の発話と語彙上の類似度が最高レベルである発話を選ぶことで、発話クラスタごとに1つの代表発話を選択する典型発話抽出手段とを含む。
好ましくは、ベクトル生成手段は、第2および第3の参加者の行動の区切りを検出して、行動の時系列データを離散化するための離散化手段と、区切られた第3の参加者の行動を検出したことに応じて、第3の参加者の状態と第2の参加者の状態とを結合状態ベクトルとして抽出する結合状態抽出手段と、抽出された結合状態ベクトルに対応する第2の参加者の後続する代表行動を行動ベクトルとして抽出するための行動ベクトル抽出手段と、を含む。
好ましくは、結合状態ベクトルにおける第2または第3の参加者の状態は、第2の参加者の空間状態と、第3の参加者の空間状態と、2人の人間間についての所定の共通の近接配置のうちの1つを含む。
好ましくは、行動パターンクラスタ化手段は、第2または第3の参加者の観測された軌道を、停止セグメントと移動セグメントにセグメント化する軌道セグメント化手段と、停止セグメントを停止クラスタにクラスタ化する空間クラスタ化手段と、対応する停止クラスタを各々代表する停止位置を特定する停止位置抽出手段とを含む。
好ましくは、行動パターンクラスタ化手段は、移動セグメントを移動クラスタにクラスタ化する軌道クラスタ化手段と、対応する移動クラスタを各々代表する軌道を特定する典型軌道抽出手段とを含む。
好ましくは、行動ベクトルは、第2の参加者の認識された発話を含む発話クラスタを特定するための情報を含む。
好ましくは、行動ベクトルは、行動ベクトルは、2人の人間間についての所定の共通の近接配置を含み、コマンド生成手段は、共通の近接配置にそれぞれ対応する生成モデルに基づいて、コマンドを生成する。
この発明の他の局面に従うと、第1の参加者と行動によるコミュニケーションを可能とするための応答システムであって、第1の状況において、複数のセンサにより収集された第1の参加者の行動に関する時系列データに基づき、人に類似の行動を第1の参加者に提示するための装置を備え、装置は、第1の状況に対応して、第2の参加者および第3の参加者が行動によるコミュニケーションをとる状況であって、第2の参加者および第3の参加者が、それぞれ、装置および第1の参加者に対応する行動をとる第2の状況において取得されたデータに基づき、第1の状況において第2の参加者の代わりとして行動するものであり、装置は、第2の状況において取得されたデータに基づき生成された結合状態ベクトルと第2の参加者の代表行動に対応する行動ベクトルとを関連付けて格納するための記憶装置と、結合状態ベクトルを入力とし、行動ベクトルを出力とする予測器と、第1の状況において、生成された予測器により予測された、第1の参加者の行動に応答する行動ベクトルに応じて、装置の行動コマンドを生成するためのコマンド生成手段とを含み、代表行動は、第2の状況において、時系列データをクラスタリングして、各クラスタごとに離散化された単位行動として決定されたものであり、結合状態ベクトルは、第2および第3の参加者の行動の区切りを検出し行動の時系列データを離散化して、区切られた第3の参加者の行動を検索キーとして、第3の参加者の状態と第2の参加者の状態との結合として決定されたものである。
kの発明のさらに他の局面に従うと、第1の状況において装置が第1の参加者と行動によるコミュニケーションを可能とするための行動コマンド生成方法であって、第1の状況に対応して、第2の参加者および第3の参加者が行動によるコミュニケーションをとる状況であって、第2の参加者および第3の参加者が、それぞれ、装置および第1の参加者に対応する行動をとる第2の状況において、人の行動に関する時系列データを収集するステップと、第2の状況において、行動の時系列データをクラスタリングして、各クラスタごとに代表行動を決定するステップと、結合状態ベクトルと行動ベクトルとをそれぞれ関連付けるステップとを備え、結合状態ベクトルは、第2の状況において、クラスタリングの結果と行動の時系列データに基づき、第3の参加者の状態と第2の参加者の状態とから生成され、各行動ベクトルは、結合状態ベクトルに対応し第2の参加者の後続する代表行動を表し、結合状態ベクトルを入力とし、行動ベクトルを出力とする予測器を生成するステップと、第1の状況において、生成された予測器により予測された、第1の参加者の行動に応答する行動ベクトルに応じて、装置が、第1の状況において第2の参加者の代わりとして行動するように、装置へのコマンドを生成するステップとを備える。
好ましくは、代表行動は、代表発話と代表運動とを含む。
この発明によれば、特定の環境において、実際に観測された人・人間のインタラクション行動のデータに基づいて、同様の環境下で、人・ロボット間のインタラクションを行うためのロボットへの行動コマンドを生成することができる。
また、この発明によれば、システムの設計者がシナリオを作成する必要がないため、ロボットの行動生成のための設計者の負荷を大幅に低減できる。
また、この発明によれば、人間行動の自然な多様性が考慮される場合にも、ロバストなインタラクションのための行動コマンドを作成することが可能である。
本実施の形態において、人と人の間の「発話と行動によるコミュニケーション」のデータを取得する空間を示す概念図である。 図1に示す領域の天井部分に配置される3Dレンジセンサ32.1〜32.m(m:2以上の自然数)の配置を上面から見た状態を示す図である。 天井に配置される3Dレンジセンサの一例を示す図である。 演算装置100のハードウェア構成を説明するためのブロック図である。 本実施の形態の演算装置100において、上述したCPU56がソフトウェアを実行するにより実現する機能を示す機能ブロック図である。 インタラクション・ロジックを自動生成する手順を説明するためのフローチャートである。 参加者の発話を自動的にクラスタリングする処理を実行する構成を説明するための機能ブロック図である。 得られたクラスタのうちの1つのクラスタについての発話の分布を説明する図である。 典型発話抽出部2210の実行する処理を説明するための概念図である。 参加者の運動要素を離散化およびクラスタ化により抽象化するための運動抽象化処理部230の処理に対する機能ブロック図である。 特定された「停止位置」を示す図である。 軌道クラスタの例を示す図である。 軌道クラスタの例を示す図である。 軌道クラスタの例を示す図である。 インタラクション状態のうち、「製品の提示状態」を示す概念図である。 行動離散化部420の処理を説明するための機能ブロック図である。 結合状態ベクトル生成部430とロボット行動生成部440の動作を説明するための機能ブロック図である。 行動ペア特定部4302による行動の特定処理を説明するための概念図である。 結合状態ベクトルにおける特徴量およびロボット行動ベクトルにおける特徴量を示す概念図である。 予測器訓練部450の動作を説明するための機能ブロック図である。 結合状態ベクトルにおける特徴量がとり得る特徴値の一例を示す図である。 オンライン処理部500の動作を説明するための機能ブロック図である。 人・人間のインタラクション状態の例を示す概念図である。 「提示状態」について、結合状態ベクトルで表現される位置関係と対応するロボットへの行動生成との関係を示す概念図である。 「認識モデル」と「生成モデル」とを対比して説明する概念図である。 「対面状態」について、結合状態ベクトルで表現される位置関係と対応するロボットへの行動生成との関係を示す概念図である。 「待機状態」について、結合状態ベクトルで表現される位置関係と対応するロボットへの行動生成との関係を示す概念図である。 実際に観測された人・人間の位置関係およびそれに対応する人・ロボットの位置関係の図である。
以下の実施の形態において、同じ符号を付した構成要素および処理工程は、同一または相当するものであり、必要でない場合は、その説明は繰り返さない。
また、以下の説明では、距離センサとして、3次元的距離センサ(以下、3Dレンジセンサ)として、たとえば、マイクロソフトKinect(登録商標)のような3Dレンジセンサを想定する。また、2次元的距離センサ(以下、2Dレンジセンサ)としては、2次元的なスキャンを行うレーザレンジファインダのような2Dレンジセンサを例として説明するが、本発明は、このような距離センサに限らず、他の方式により、対象物までの距離を2次元的または3次元的に測定するための測距センサについても適用可能である。
(実施の形態の説明)
本実施の形態では、ロボットと人とのコミュニケーション態様の設計(以下、「インタラクション設計」と呼ぶ)へ、以下に説明するようなデータ駆動型のアプローチをとることで、従来の問題への解決策を提供する。
すなわち、多くの現実の現場において、人と人との間のインタラクション(以下、「人・人間インタラクション」と呼ぶ)から、発話、社会状況および遷移規則のような行動要素を直接取得することによって、ロボットにおいて使用することができる1セットの行動およびインタラクション・ロジックを自動的に収集する。
これは、インタラクション設計の難しさおよび負担を軽減し、センサー・エラーおよび行動の多様性が暗黙に考慮されるので、よりロバストなインタラクション・ロジックの生成を可能にする。
環境下に配置された各種センサ(人の発話を収集するセンサ、人の位置・姿勢を検出するセンサなど)を利用することで、現実世界のインタラクションに基づいたデータ駆動型のインタラクション設計を実行する。
ここで、人の位置の検出については、高精度なトラッキングシステムが、公共空間に設置され、自然な人間のインタラクション・データの受動的な収集を可能にしている。
このようなトラッキングシステムとしては、例えば、以下の文献に開示がある。
文献1:D. Brscic, T. Kanda, T. Ikeda, and T. Miyashita, “Person Tracking in Large Public Spaces Using 3-D Range Sensors,” Human-Machine Systems, IEEE Transactions on, vol. 43, pp. 522-534, 2013.
また、マイクロホンアレイのような技術は、ノイズの多い現実世界の環境の中で使用可能な音源定位および音声認識を提供することができる。このようなマイクロホンアレイについては、以下の文献に開示がある。
文献2:特開2016-50872号公報
図1は、本実施の形態において、人と人の間の「発話と行動によるコミュニケーション」(以下、ロボットと人との間も含めて、「インタラクション」と呼ぶ)のデータを取得する空間を示す概念図である。
ここでは、「インタラクション」として、店舗における「店主」と「顧客」の間でやり取りされる行動および発話を一例として説明する。
図1は、店舗(たとえば、カメラ店)内の平面図であり、店主p1と顧客p2がインタラクションを行うものとする。
店舗内には、サービスカウンタと、異なるカメラのブランド(ブランドA,ブランドB、ブランドC)の陳列場所があるものとする。また、顧客は、ドアから入店し、同一のドアから退出するものとする。
なお、図1はあくまで例示であって、店側の店員の数および顧客の数は、より多くてもよい。
図2は、図1に示す領域の天井部分に配置される3Dレンジセンサ32.1〜32.m(m:2以上の自然数)の配置を上面から見た状態を示す図である。
図2に示されるように、典型的には、上下逆さまの3Dレンジセンサを、図2に示すような交互の方向を向くように、列状に整列して配置する。また、レンジセンサの配置される領域外に、人物(および/または移動体)のトラッキング処理をするためのコンピュータ100も配置される。
センサは相互の干渉を最小化し、かつカバーする領域を最大化するように配置される。
図3は、天井に配置される3Dレンジセンサの一例を示す図である。
図3に明示的に示されるように、3Dレンジセンサは、上下逆さまに天井に据え付けられる。
特に限定されないが、たとえば、これらの3Dレンジセンサは、人を全体としてトラッキングするように使用されるのではなく、人々の頭頂部を検知するために使用される。
頭頂部の検知アルゴリズムの詳細は、たとえば、以下の文献に記載されている。
文献1:特開平2012‐215555号
文献2:D. Brscic, T. Kanda, T. Ikeda, and T. Miyashita, "Person Tracking in Large Public Spaces Using 3-D Range Sensors," Human-Machine Systems, IEEE Transactions on, vol. 43, pp. 522-534, 2013.
頭頂領域を最適にカバーするためには、3Dセンサは、水平からおよそ30−60度の角度を見込み、特定の部屋およびセンサ構成に適合するように選ばれた正確な角度となるように、手動で向きを調節される。
この角度が(水平近くになり)浅すぎれば、センサは人々の頭頂部を観測することができないし、一方で、角度が深すぎれば、有効な検知領域は非常に小さいものになってしまう。
図1に示した室内には、室内の人の位置をトラッキングするための2D距離センサとして2Dレーザーレンジファインダーが、たとえば、高さ86cm金属柱の上にマウントされる。
この高さは、最適な視程のために選ばれたものである。すなわち、観測対象の人物の腰を検出対象としており、人物の腰は、脚より大きなターゲットであり、より大きな距離でより容易に識別されるものだからである。
2Dセンサが水平な床に置かれる限り、ピッチとロールを有効にゼロに固定し、センサの走査が水平面をカバーするように、センサはしっかりと固定されて配置される。
なお、適切な形状モデルと2Dレーザーレンジファインダーおよび/または3Dレーザーレンジファインダーにより計測された対象物の形状とのマッチングをとることにより、人の向き・姿勢を検知することも可能である。このような方法については、たとえば、上述した文献1に開示がある。
[ハードウェアブロック]
図4は、演算装置100のハードウェア構成を説明するためのブロック図である。
演算装置100としては、たとえば、パーソナルコンピュータなどを使用することができる。
図4に示されるように、演算装置100は、外部記録媒体64に記録されたデータを読み取ることができるドライブ装置52と、バス66に接続された中央演算装置(CPU:Central Processing Unit)56と、ROM(Read Only Memory) 58と、RAM(Random Access Memory)60と、不揮発性記憶装置300と、2Dレンジセンサ30.1〜30.mおよび3Dレンジセンサ32.1〜32.mからの測距データや、スマートフォン34.1〜34.pからの音声テキストデータ、図示しない入力装置からの入力データを取込むためのデータ入力インタフェース(以下、データ入力I/F)68とを含んでいる。
外部記録媒体64としては、たとえば、CD−ROM、DVD−ROMのような光ディスクやメモリカードを使用することができる。ただし、記録媒体ドライブ52の機能を実現する装置は、光ディスクやフラッシュメモリなどの不揮発性の記録媒体に記憶されたデータを読み出せる装置であれば、対象となる記録媒体は、これらに限定されない。また、不揮発性記憶装置300の機能を実現する装置も、不揮発的にデータを記憶し、かつ、ランダムアクセスできる装置であれば、ハードディスクのような磁気記憶装置を使用してもよいし、フラッシュメモリなどの不揮発性半導体メモリを記憶装置として用いるソリッドステートドライブ(SSD:Solid State Drive)を用いることもできる。
このような演算装置100の主要部は、コンピュータハードウェアと、CPU56により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、マスクROMやプログラマブルROMなどにより、演算装置100製造時に記録されており、これが実行時にRAM60に読みだされる構成としてもよいし、ドライブ装置52により記録媒体64から読取られて不揮発性記憶装置300に一旦格納され、実行時にRAM60に読みだされる構成としてもよい。または、当該装置がネットワークに接続されている場合には、ネットワーク上のサーバから、一旦、不揮発性記憶装置300にコピーされ、不揮発性記憶装置300からRAM60に読出されてCPU56により実行される構成であってもよい。
図4に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分の1つは、不揮発性記憶装置300等の記録媒体に記憶されたソフトウェアである。
以下で説明するシステムは、データ駆動型のロジック生成により、第1の状況において、装置(たとえば、ロボット)が第1の参加者と行動によるコミュニケーションを可能とするための装置対するコマンドを生成するための行動コマンド生成システムである。行動コマンド生成システムは、時間軸の少なくとも一部において第1の状況に先行して、第2の参加者(店主)および第3の参加者(顧客)が行動によるコミュニケーションをとる第2の状況において取得されたデータに基づき、第1の状況において第2の参加者の代わりとして装置が行動するためのコマンドを、機械学習により学習(訓練)した予測器の出力に基づいて、生成可能とするものである。
[システムの機能ブロック]
図5は、本実施の形態の演算装置100において、上述したCPU56がソフトウェアを実行するにより実現する機能を示す機能ブロック図である。
以下に説明するとおり、本実施の形態の演算装置100では、2Dレーザレンジファインダ30.1〜30.nからの出力(2D距離データ)および3Dレンジセンサ32.1〜32.mからの出力(3D測距データ)ならびに人の発話を収集するセンサ(後述するように、たとえば、スマートホンでもよい)からのデータに基づいて、データ収集モジュール200が、時間と同期させて、室内の人の位置・姿勢および発話の情報を収集する。
ここでは、人・人間インタラクションのデータについて、まず、インタラクション・ロジックを自動的に収集する過程(状況)を、「学習データ収集過程」と呼び、データ駆動型のアプローチにより、ロボット・人間インタラクション・ロジックをコンピュータが実行可能な形式に組み立てる過程(状況)を、「ロジック学習過程」と呼ぶことにする。
そして、組み立てられたロボット・インタラクション・ロジックに基づいて、人に対するロボットの行動を制御する過程(状況)を、「オンライン処理過程」と呼ぶ。
学習データ収集過程とロジック学習過程の双方において、運動トラッキング部204は、対象物(例示的には、人)の位置のトラッキングおよび当該対象物の姿勢のデータの取得を行う。この対象物のトラッキングは、たとえば、パーティクルフィルタなどの技術を用いて、対象の位置および速度を推定することにより実行される。
このような対象物(人)のトラッキングの処理については、たとえば、上述の文献1の他、以下の文献に開示があるとおり、周知な方法で実行することが可能である。
文献3 : 特開2013−64671号公報明細書
以下では、このような対象物(人)のトラッキングの処理を行う前提として、複数の3Dおよび2D距離センサの位置および向きは、グローバル座標系において、較正されているものとする。
また、後述するように、学習データ収集過程とロジック学習過程の双方において、人の発話のデータは、マイクロフォンにより収集され、テキストデータに変換されるものとする。このような音声データをテキストデータに変換する音声認識部202については、ローカルに演算装置100がその機能を実行するものとしてもよい。ただし、たとえば、マイクロフォンとしては、人(参加者)が、各々保持するスマートフォンに装着されているものを使用することとし、音声データをテキストデータに変換する音声認識部202は、ネットワーク越しに、スマートフォンからの音声特徴データをサーバが受信して、サーバが変換したテキストデータをスマートフォンに返信する構成であってもよい。以下では、基本的に、音声認識処理は、ネットワークを介したサーバ側で実施されるものとして説明する。
なお、図5に示した機能ブロックのうちのCPU56が実現する機能ブロックとしては、ソフトウェアでの処理に限定されるものではなく、その一部または全部がハードウェアにより実現されてもよい。
図5を参照して、2Dレーザレンジファインダ30.1〜30.nからの測距信号および3Dレンジファインダ32.1〜32.mからの測距信号、ならびに、スマートフォン34.1〜34.p(n,m,pは自然数)からの音声テキストデータ(または音声データ)は、データ収集モジュール200により制御されてデジタルデータとして入力され、不揮発性記憶装置300のような記憶装置に、各レーザレンジファインダごとならびにスマートフォンごとに時系列のデータとして格納される。時系列にデータを取得する際に、演算装置100の制御の下に、データの取り込みが行われる時刻を示すデータを、以下では、「タイムステップ」と呼ぶ。特に限定されないが、タイムステップのデータは、2Dレーザレンジファインダ30.1〜30.nからの測距データおよび3Dレンジファインダ32.1〜32.m、音声テキストデータの各々に関連付けられて、不揮発性記憶装置300に格納される。また、後述するように、各参加者は、音声認識を実行するためのスマートフォンを各自保持しているものとする。
学習データ収集過程において、データ収集モジュール200から記憶装置300に格納された時系列データに対して、抽象化処理部210は、以下に説明すように、人の発話や、人の位置、人・人間の近接配置について、それぞれ、発話抽象化部220、運動抽象化部230、近接配置抽象化部240が、抽象化の処理を実行する。
ここで、「抽象化」とは、観測されたデータをクラスタ化し、各クラスタについて、代表発話、代表運動を抽出する処理をいう。ここでは、一例として、近接配置抽象化部240については、たとえば、ユーザからの指示に基づいて所定の近接配置のモデルを複数個選択して近接配置モデルとして使用するものとする。
抽象化処理の結果、抽象化処理部210から記憶装置300にそれぞれ、代表発話データ310、停止位置データ312、代表軌道データ314、近接配置モデルデータ316が格納される。
次に、ロジック学習過程においては、訓練処理部400において、動作要素抽出部410が、観測された訓練データ(時系列データ)から、人が移動しているか、停止しているかを識別し、発話要素データ320、運動要素データ322、インタラクション要素データ324を抽出する。
続いて、行動離散化部420は、抽象化処理部210によるクラスタリングによって特定された停止位置を基準にして、対象(たとえば、店主と顧客)の行動を離散化する。離散化された行動は、第1対象行動データ(たとえば、顧客行動データ)330と第2対象行動データ(たとえば、店主行動データ)332として記憶装置300に格納される。
結合状態ベクトル生成部430は、後にロボットがその代りに行動するように制御されることになる第2対象(「代替行動対象」と呼ぶ:たとえば、店主)の相手である第1対象(「ロボットインタラクション対象」と呼ぶ:たとえば、顧客)の行動が検出されることに応じて、双方の対象の状態を結合状態ベクトルとして特定する。結合状態ベクトル340は、記憶装置300に格納される。
ここで、「結合状態ベクトル」とは、ロボットインタラクション対象の発話を特定する情報(発話ベクトル)、ロボットインタラクション対象の空間状態を特定する情報、代替行動対象の空間状態を特定する情報、インタラクション状態を特定する情報の組を意味する。
発話ベクトルは、発話を特定する特定情報(ID情報)とキーワード情報とを含む。空間状態を特定する情報は、「現在位置」、「運動起点」および「運動目標位置」(いずれもクラスタ化により得られた停止位置のいずれか)を含む。インタラクション状態を特定する情報(インタラクション状態)は、両対象の空間配置を特定する情報と、インタラクションする両対象以外に、そのインタラクション状態に関わり当該インタラクション状態を定義するオブジェクトを特定する情報とを含む。
ロボット行動生成部440は、訓練データ中において、ロボットインタラクション対象となるべき人(たとえば、顧客)に対応する行動が検知されたときに、それと対となる代替行動対象となるべき人(たとえば、店主)の行動(「ロボット行動」と呼ぶ)を特定する。ロボット行動を特定する情報であるロボット行動ベクトル342は、記憶装置300に格納される。
予測器学習部450は、結合状態ベクトルを入力とし、ロボット行動ベクトルを出力とするように、の機械学習により予測器を生成する。生成された予測器を特定するためのパラメータ等の情報は、予測器特定情報350として、記憶装置300に格納される。
次に、オンライン処理過程においては、オンライン処理部500の動作要素抽出部510は、データ収集モジュール200からの時系列データを基に、代替行動対象として行動するロボットと、ロボットインタラクション対象として行動する人について、発話および運動の時系列データから、発話要素、運動要素、インタラクション要素を抽出する。
ロボットインタラクション対象として行動する人の所定の行動が検出されることに応じて、現在のロボットとロボットインタラクション対象との状態を結合状態ベクトルとして表現された入力を受けて、予測器特定情報350により特定される予測器520は、ロボット行動を予測する。
ロボット行動生成部530は、予測器520から出力されるロボット行動と、現在のロボットの状態とを比較することにより、ロボット行動コマンドを生成して、ロボット1000に出力する。
なお、オンライン処理部500により制御される対象は、発話と行動の双方が可能なロボットである必要は必ずしもなく、たとえば、発話のみを行うような機器であってもよい。
以下、学習データ収集過程、ロジック学習過程、オンライン処理過程について、さらに詳しく説明する。
[学習データ収集過程]
以下では、例として、図1に示した空間的な環境下で、店主と顧客との行動について収集した訓練データにより、ロボットと顧客との間のインタラクションを可能とする構成について説明する。
(センサー環境)
ロボットが人とのインタラクションに対する学習用の人・人間のインタラクション・データを集める環境(「学習データ収集環境」)のために、人の運動および発話が、システム10よりキャプチャされる。ここでは、学習データ収集環境において、人・人間のインタラクションを実行する主体を「参加者」と呼ぶことにする。
そして、学習データ収集環境においては、上述のとおり、参加者の位置および姿勢をトラッキングするための、2Dレンジセンサ30.1〜30.nおよび3Dレンジセンサ32.1〜32.mと、各参加者が保持して自身の発話の音声認識を実行するためのセンサとしてのスマートフォン34.1〜34.pを含むセンサネットワークを備えたデータ収集環境が準備される。
位置トラッキングシステムは、列に整列した、16個の天井にマウントされた3Dレンジセンサが使用される。このようなレンジセンサ(測距センサ)としては、特に限定されないが、たとえば、マイクロソフトKinect(登録商標)センサーを使用することができる。
位置トラッキングのためには、パーティクル・フィルタ技術が室内の各人の位置および体の向きを推測するために使用される。
各参加者の発話のデータを収集する方法としては、たとえば、マイクロホンアレイ技術を用いて、各人の発話を分離して、受動的に収集できるシステムを用いることも可能である。しかし、以下の説明では、バックグラウンドの騒音が環境に存在する場合にロバストに発話データを収集するために、各参加者が携帯電話(スマートフォン)を保持する構成とする。
すなわち、スマートフォン34.1〜34.pにインストールしたアプリケーションソフトウェアにより、ハンズフリーのヘッドセットから発話を直接キャプチャし、かつ、無線LANによってサーバー(図示せず)へ音声特徴データを送って、発話を認識してテキストデータに変換する音声認識APIを使用する。
ユーザーはハンズフリーのヘッドセットを着用していて、自身の発話の始まりおよび終わりを示すためにモバイルのスクリーンのどこかに触れる。したがって、視覚的な注意は必要なく、アイコンタクトを壊さずに、自然な顔合わせのインタラクションを行なうことを可能にする。
(データ駆動型のインタラクションロジックの生成の概要)
以下に説明する通り、サービス・ロボットが、人・人間のインタラクションからキャプチャされたデータを使用して、人間行動を再現することを可能にするために、システム10が、完全にデータ駆動型で、インタラクション・ロジックを生成する。
システム10は、以下のように、いくつかの抽象化によってインタラクション・ロジックを表現する。
なお、ここで、「インタラクション・ロジック」とは、ロボットと人とが、所定の環境下で、インタラクションをする場合に、ロボット側の制御において使用するデータであり、その所定の環境下で起こり得る様々なインタラクションを、以下のようにしてデータベース化したものである。そして、システム10は、このようなデータベースを、現実に人・人間で行われるインタラクションの観測結果に基づいて、自動的に生成する。
図6は、インタラクション・ロジックを自動生成する手順を説明するためのフローチャートである。
1)まず、システム10は、学習データ収集過程において観測され収集された時系列の訓練データに対して、抽象化処理を実行する(S102)。ここでは、全ての訓練データに対するバッチ処理により、代表発話、停止位置、代表軌道などの要素が特定される。
2)次に、システム10は、参加者の行動を離散化する(S104)。
2−1)顧客としての参加者(以下、単に「顧客」と呼ぶ)の「発話」データは、潜在意味解析(LSA:Latent Semantic Analysis)および他の文章処理技術を使用して、ベクトル化される。
2−2)店主としての参加者(以下、単に「店主」と呼ぶ)の「発話」も、同様の手順によりベクトル化され、さらに、語彙的に同様の離散的な発話を表現する発話クラスタへ分類される。
2−3)顧客と店主の軌道は、停止セグメントと移動セグメントへ分けられ、その後、典型的な停止位置および典型的な運動軌道を識別するためにクラスタに分けられる。
2−4)インタラクション状態(空間配置)は、他のヒューマンロボットインタラクションの研究および近接学研究から得られた、1組の2人の空間配置に基づいた、顧客と店主の相対的位置のモデルに基づいて定義される。
2−5)その後、顧客か店主の発話および/または移動で構成される、離散的な行動を識別するために訓練データを分析し、観察された顧客行動の入力に引き続いて起こるような適切な店主行動出力を予測するように、予測器(機械学習分類器)を訓練する。
3)続いて、ロジック学習過程において、システム10は、予測器として動作する分類器を機械学習により訓練する(S106)。分類器への入力は、訓練データを処理して生成される結合状態ベクトルである。ここで、結合状態ベクトルは、顧客の発話ベクトル、顧客および店主に対する空間的な状態、および顧客と店主の現在のインタラクション状態から成るベクトルである。
なお、ここで、「ベクトル」とは、一定の関連性のあるデータを1まとまりのグループとして表現したデータ群を、コンピュータの処理に適した形式とした「1次元の配列として表現されるデータ構造」のことをいうものとする。また、1次元の配列のデータ構造に等価な構成を有するデータ群であれば、「ベクトル」と呼ぶことにする。
4)オンライン処理過程において、予測器からの出力に基づいて、ロボットの行動を制御するコマンドが、システム10からロボットに出力される。予測器からの出力は、後述するように、発話クラスタ、空間配置、状態ターゲットで構成される、離散的な店主行為に対応するロボット行動である。
なお、ここでは、店主と顧客は、仮想的に、実験参加者が役割を演じることで、学習データ収集環境を構成するものとして以下説明する。ただし、たとえば、センサ群を現実の店舗に配置することで、学習データ収集環境を構築することも可能である。
(学習データ収集環境でのインタラクションの具体例)
図1に示したように、学習データ収集環境の一例として、カメラ店の設定における買い物をするシナリオを選び、参加者のうちの一人に店主としてロールプレイをすることを依頼し、参加者の他の一人には顧客としてロールプレイすることが依頼された。
1組のセットの訓練するインタラクションを作成するために、図1に示される店舗スペースで、たとえば、3つの製品展示をセット・アップし、異なるディジタル・カメラ・モデルを表現した。
各製品展示には、それぞれ「光学ズーム」あるいは「メガピクセル」のようなカメラに関連する特徴のショートリストを記載した特徴シートがつけらている。
さらに、サービスカウンターをセット・アップし、店主p1は、各インタラクションの最初にこの位置に立つように命じられた。
ここでは、例として、参加者は、英語で互いに対話するものとして説明する。
以下の説明では、流暢な英語の4人の話者が店主としてロールプレーする状況であるものとする。
また、7人の流暢な英語の話者を含む10人の参加者が、顧客p2の役割を果たすものとする。
顧客p2は、それぞれ合計178の試行に対して、10〜20のインタラクションに参加した。
各試行では、顧客p2は次のシナリオのうちの1つの中でロールプレイをするように指示された:
(1)特定の特徴を持ったカメラを探している顧客(4つの試行)、
(2)多数のカメラに興味を持っている好奇心の強い顧客 (4つの試行)あるいは
(3)一人で見て回るのが好きなウィンドウショッピングの顧客(2つの試行)。
参加者が自然に特定のタイプの顧客としてのロールプレイするのを助けるために、各試行で、顧客に異なる特徴をもたせるようにした。
選ばれたシナリオのことが店主には知らされず、顧客が商品を見て回るのはそのままにし、顧客からのどんな質問にも答えて、適切なときに、丁寧に製品を紹介するように指示された。
実験の前に、参加者は、アンドロイドの電話機を使用するように訓練され、尋ねるべきカメラの特徴のリストを与えられた。
店主は、各カメラの1セットの特徴仕様を含んでいる仕様説明書を与えられた。
練習試行は、スマートフォンの使用に慣れた参加者を助け、またインタラクション・シナリオ間の違いを示せるように設計された。
データ収集の目標は、反復可能なインタラクションをキャプチャすることであり、カメラに関する情報の提供に焦点を合せるようにシナリオの範囲を制限した。
この理由で、カメラの価格交渉(例えば、「まけてください。」)をするような他のトピックを回避するように、インタラクションを単純にしておいてくれるように参加者に依頼した。
更に、シナリオに存在しなかった新しい情報を作り出さないことを参加者に思い起こさせることが必要であった。
例えば、店主役の参加者が、シナリオ中で定義されていない「どんな種類の保証をしてくれるのか。」と尋ねられたならば、彼らは答えをアドリブで作らなければならないことになる。
これらの即興での応対は、時間上の不整合のために学習するのには役立たない(事前の試行では、ある店主参加者が、この店は1年の保証をいたしますといったが、後の試行では、5年の保証であると言ったりした)。
(人・人間のインタラクション)
定義されたシナリオ内では、参加者は、自然な会話形言語の使用し、自由形式で対話した。人々の用語や語法の合理的な多様性の変化が観察された。
たとえば、このような多様性は、同じ参加者による以下の2つの試行から観測される。
(1)大きなメモリを備えたカメラを探す顧客、および
(2)バッテリの持ちがよいカメラに興味を持っている好奇心の強い顧客。
[システム10の処理の詳細]
以下では、システム10が行う処理をさらに詳しく説明する。
(抽象化)
人・人間のインタラクションから学習するために、データ駆動型のアプローチを使用するときの課題の一つは、仮に、簡単のために、視線、身振りおよび顔の表情のような社会的行動についての考慮を省略し、単に発話および移動のみを考慮するとした場合でさえ、対象となる人間行動は、非常に高い次元の特徴空間を占めるということである。
しかしながら、人間行動の多様性は、この高い次元の空間内の小さな領域を占めるに過ぎない。すなわち、人々は、通常予測可能な方法で行動し、共通パターンに従っている。
ここで、学習の問題の次元の数を縮小し、かつセンサー・ノイズの影響を縮小するために、これらのパターンをキャプチャするために、以下に説明するような「抽象化技術」を導入する。
第1に、訓練データ中の典型的な行動(アクション)の組を識別するために教師なしクラスタリングを行なう。
第2に、クラスタリングは、音声認識に関連する大きなノイズに対処するために会話データに対して実行されるとともに、また、トラッキングシステムによって観察された運動軌道が、環境下で典型的な停止位置および運動軌跡を識別するために、実行される。
その上で、静的な複数の「インタラクション状態」が時系列として並んだものとして、店主と顧客との各インタラクションをモデル化する。ここで、「インタラクション状態」とは、「向かいあって話す」、「製品を示す」というような個別の店主と顧客との空間配置によって認識可能である対話状態において、いくつかの発話のやり取りの間続くものである。
インタラクション状態のモデリングは、安定した方法で移動を生成し、詳細なレベルでロボット近接行動を指定し、より多くのロバストな行動予測にコンテキストを提供するのを助ける。
1)発話クラスタリング
図7は、参加者の発話を自動的にクラスタリングする処理を実行する構成を説明するための機能ブロック図である。
多くの多様性は、訓練データ中でキャプチャされた発話の中にあり、たとえば、「価格はいくらですか」に対して「値段はいくらですか」のような相互に代替可能なフレーズであったり、「このカメラ(this camera)の値段はいくら?」ではなく、「その詐欺師(the scammer)の値段はいくら?」というような音声認識エラーを同様に含む。
音声処理のクラスタリングとは、意味論的な意味を有する句の間の類似点を保持するような方法で、これらの発話を表現することである。
発話がキャプチャされると、音声データファイル302として記憶装置300に格納され、音声認識部2202により、音声認識が行なわれる。上述したとおり、音声認識部2202の処理は、外部のサーバ上で実行されてもよい。
次に、キーワード抽出部2204は、キーワードを抽出し、また潜在意味解析部2206は、発話結果およびキーワードのベクトル化された表現を作成し、発話ベクトル304として記憶装置304に格納する。
発話のベクトル化の後に、クラスタ化部2208は、同様の発話のクラスタへグループ化するために教師なしクラスタリングを実行し、発話をクラスタに分類するための情報である発話クラスタ情報306を記憶装置300に格納する。そして、代表発話抽出部2210は、合成音声出力の内容として使用されるために、典型的な発話を各クラスタから選択する。
(音声認識)
ここで、音声認識部2202が実行する自動音声認識については、既存の発話APIを使用することができる。
具体的に実施した結果では、たとえば、トレーニング・インタラクションからの400個の発話の解析は、53%は正確に、そして、30%は、たとえば”can it shoot video”を”can it should video”とするというような些細なエラーで認識されたことを示し、17%は、例えば、”is the lens include North Florida.”というように、完全に無意味な結果であった。
(キーワード抽出)
「私は大きなメモリー容量のカメラを捜している。」また、「私は大きなLCDサイズのカメラを捜している」というような句は、語彙の類似性にもかかわらず異なる意味を持っている。
キーワード抽出については、たとえば、以下の文献に開示されているような周知の技術を利用することが可能である。
文献 : 特開2015−200962号
あるいは、クラウドサービスとして公開されている、句の中のキーワードをキャプチャするためAlchemyAPIなどを使用することもできる。このAPIは、ディープラーニングに基づいたテキスト解析のためのクラウドに基づいたサービスである。
(潜在意味解析)
潜在意味解析部2206は、潜在意味解析(LSA)を使用して、各発話を表わすためのベクトルを作成する。ここで、LSAは、テキストマイニング用途において、ドキュメントの類似性の分類のために一般的に使用される技術である。
これを達成するために、文章に対する処理では、たとえば、以下の文献に開示されているような標準的な数ステップを行なう構成とすることができる。
文献:M. F. Porter, "An algorithm for suffix stripping," Program: electronic library and information systems, vol. 14, pp. 130-137, 1980.
潜在意味解析部2206は、各発話ごとに返されたキーワードのリストに対して、LSAの特徴ベクトル(発話ベクトル304)を生成する。
(店主発話のクラスタリング)
クラスタ化処理部2208は、観察された店主発話をユニークな発話エレメントを表わすクラスタ(発話クラスタ306)へグループ化する。このような処理のためには、たとえば、以下の文献に開示されているダイナミックな階層的クラスタ分割を使用することができる。
文献:P. Langfelder, B. Zhang, and S. Horvath, "Defining clusters from a hierarchical cluster tree: the Dynamic Tree Cut package for R," Bioinformatics, vol. 24, pp. 719-720, 2008.
図8は、得られたクラスタのうちの1つのクラスタについての発話の分布を説明する図である。
図8に示すように、実験では、166のクラスタが得られ、たとえば、交換レンズに関する発話のクラスタ中には、以下のようなものがある。
「このカメラでは28種のレンズを使うことができます。ですから、おそらく、お客様が撮ろうとされるどんなタイプの画像も撮影することができます。 (well you can use 28 lenses with this camera so you probably can shoot any type of images you are looking for)」
(典型的な発話抽出)
典型発話抽出部2210は、各店主の発話クラスタから、1つの発話を、典型発話として、行動生成で使用するために選択する。
ここで、単純に、クラスタの重心に近い発話を単に選ぶのでは、多くの場合問題がある。すなわち、しばしば、図8に示されるように、このベクトルはクラスタ内で他の発話に実際上、語彙的に類似しておらず、多くのエラーを含んでいる場合がある。
図9は、典型発話抽出部2210の実行する処理を説明するための概念図である。
典型発話抽出部2210は、クラスタ内で最も多くの他の発話と語彙上の類似度が最高レベルである発話を選択する。このような選択により、この発話は、ランダムな誤りを含む可能性が最も小さいと考えられる。
類似度に関しては、各発話に対して、同じクラスタ内の1発話ごとのその用語頻度ベクトルのコサイン類似度を計算し、これらの類似度を合計する。
ここで、「コサイン類似度」とは、文書についての「ベクトル空間モデル」において、文書同士を比較する際に用いられる類似度計算手法である。
たとえば、2つの文書がベクトル空間内で、ベクトルpとベクトルqとして表現される場合は、コサイン類似度は、以下の数式で定義される。なお、ベクトルxという場合、xの頭部に→を付して表し、記号・は、内積を表す。
Figure 0006886651
そして、周りの文(発話)に対して最も高い積算類似度を有する発話が典型的な発話として選択される。
(運動クラスタリング)
以上の説明は、参加者の発話のクラスタリングと、各クラスタについての代表発話の選択について説明した。
以下では、参加者の空間的な運動についてのクラスタリングと、各クラスタについての代表運動について説明する。
なお、以下では、「行動」とは、「発話」と「運動」とを含むものとする。したがって、「代表行動」には、「代表発話」と「代表運動」とが含まれる。
図10は、参加者の運動要素を離散化およびクラスタ化により抽象化するための運動抽象化処理部230の処理に対する機能ブロック図である。
参加者の運動要素を抽象化するために、以下の観点から処理を実行する。
(1)参加者の運動の表現を離散化できるように対象空間(たとえば、店舗内)での共通の停止位置を識別すること。このような停止位置は、後述する「結合状態ベクトル」の中で使用される。
(2)参加者の運動目標位置を評価することができるように典型的な軌道形を識別すること。
そこで、システム10の運動抽象化ユニット230は、運動トラッキング部204からの運動データを、運動データファイル3110として、一旦、記憶装置300に格納し、運動ファイル3110中において、センサにより検知された参加者の運動のデータに存在する停止位置および運動軌道の全体的な組を特徴づけるために、動きデータを分析しクラスタに分ける。
軌道離散化処理部2302は、運動データ・セットにおける軌道の分布を分析し、一定のしきい値速度を設定して、軌道をセグメントに分ける。ここで、たとえば、しきい速度としては、0.55m/sを選択することができる。軌道離散化処理部2302は、運動ファイル3110中のデータ中の観察されたすべての運動の軌道を「停止セグメント」および「移動セグメント」に分類し、停止セグメントデータ3112および移動セグメントデータ3114として、記憶装置300に格納する。
(停止位置)
続いて、空間クラスタリング部2304は、停止セグメントをクラスタリングして、各クラスタごとに、停止位置を抽出し、停止位置データ312として、記憶装置300に格納する。ここでは、各クラスタの重心を「停止位置」として定義する。
特に限定されないが、たとえば、停止セグメントは、k-ミーンズクラスタリング法により空間的にクラスタに分けられ、例示した具体例では、顧客に対しては6か所の、店主に対しては5か所の、典型的な停止位置を特定された。
図11は、特定された「停止位置」を示す図である。
通常、これらの停止位置はカメラかサービスカウンターのような、対象空間の中で人が立ち止まる「重要な場所」に相当する。図1に示した例では、説明の簡単のために、図1に示される名前でこれらの位置を参照する。
(軌道クラスタ)
また、軌道クラスタリング部2306は、訓練データの中にある典型的な運動軌道を識別するためにそれらのセグメントをクラスタに分ける。
図12、図13、図14は、軌道クラスタの例を示す図である。
図12に示すように、クラスタ24は、ブランドC(運動起点)からブランドB(運動目標位置)へ向かう軌道である。
図13に示すように、クラスタ27は、ブランドA(運動起点)からブランドC(運動目標位置)へ向かう軌道である。
図14に示すように、クラスタ35は、サービスカウンタ(運動起点)からブランドC(運動目標位置)へ向かう軌道である。
軌道クラスタ部2306は、たとえば、動的時間伸縮法(ダイナミック時間ワーピング(DTW:dynamic time warping))を使用して軌道間で計算された距離に基づき、k-medoidクラスタリング法を使用して、店主と顧客に対してそれぞれ個別に、移動セグメントを50個の軌道クラスタに分ける。
k-means法では、クラスタの中心(centroid)を代表(represented object)とするのに対し、k-medoids法では“medoid”をクラスタの代表とする。“medoid”とは、クラスタ内の点で、その点以外のクラスタ内の点との非類似度の総和が最小になる点である。k-means法は、クラスタを代表するセントロイドとクラスタ内のデータ点の距離の二乗の総和を最小にする。一方、k-medoids法では、medoidとデータ点の距離の総和(二乗の総和ではない)を最小化する。
また、ここで、DTWについては、たとえば、以下の文献に開示がある。
文献:特開2016−162075号
各クラスタのメドイド(medoid)軌道は、軌道クラスタ特徴抽出部2308により「典型的な軌道」(代表軌道データ314)として指定され、その典型的な軌道のスタートポイントおよびエンドポイントへの最も近い停止位置(運動起点データ3146および運動目標位置データ3148)が特定される。
(インタラクション状態)
次に、人・人間のインタラクション状態の抽象化処理について説明する。
例として取り上げたような店舗内での人・人間のインタラクションでは、参加者が向かいあって話すか、カメラのところで一緒に立っているというような少数の静的な空間配置において、多くの時間が過ごされることを観察される。
空間的な行動のこの様相を分類するために、各インタラクションを、「向かいあって話す」あるいは「製品を示す」というような共通的な近接的配置により特徴づけられる、一連の「インタラクション状態」から成るものとしてモデル化する。
顧客および/または店主の移動とは、これらのインタラクション状態間を移行するための手段として機能するものとみなすことができる。
訓練データの中では、以下に説明するような所定のインタラクション状態が、時間とともにシーケンスとして移行することが観測される。
たとえば、商品の購買を目的としている顧客であれば、以下のようなシーケンスが典型的である。
「待機(サービスカウンタ)」→「向かいあって話す」→「移動」→「特定の製品の提示」→「移動」
ここで、「待機」とは、特定の停止位置で、一人で停止している状態を意味し、「移動」とは、いずれかの典型軌道に代表される移動軌道で移動している状態を意味する。
一方で、たとえば、ウィンドショッピングをしに来た顧客では、たとえば、以下のようなシーケンスが典型的である。
「待機(ブランドA)」→「移動」→「特定の製品の提示(ブランドB)」→「移動」→「待機(ブランドC)」
また、好奇心の強い顧客の場合は、たとえば、以下のようなシーケンスが典型的である。
待機(ブランドA)」→「移動」→「特定の製品の提示(ブランドB)」→「移動」→「特定の製品の提示(ブランドB)」→「移動」
すなわち、ウィンドショッピングの場合は、各ブランドの製品を見て回っている途中で、たまたま、店員がいた場合に、その説明を受ける、という状態遷移をするものの、「特定の製品の提示」に費やす時間は、比較的短い。
これに対して、好奇心の強い顧客は、むしろ、店員がいるブランドの製品のところに移動して、「特定の製品の提示」を受けるという行動をとることになり、各々の「特定の製品の提示」に費やす時間も比較的長い。
そして、このようなインタラクション状態については、人・ロボット間のインタラクション(HRI:human-robot interaction)としても、研究されてきている。
ここで、人・ロボット間のインタラクションを予め分類しモデル化したものをHRIモデルと呼ぶ。
HRIモデルは、会話を始める、あるいは、オブジェクトを相手に示すというような特定の社会的な状況において適切な「近接的な行動」をロボットに生成させるために開発されてきたものである。
インタラクション状態によって移動の目標位置について記述するだけでなく、ロボットの制御に対する詳細なレベルで、近接的な拘束条件および他の行動を指定することを可能とするので、これらのモデルは有用な抽象化である。
本実施の形態では、観測する人・人間のインタラクション状態を、人・ロボット間のインタラクション状態として利用するために、所定のインタラクション状態として、以下の3つを考慮することとする。もちろん、考慮するインタラクション状態の数は、もっと多くてもよい。
i)オブジェクトの(相手への)提示状態(以下、「製品の提示状態」:二人の人が、特定の製品の所定の距離以内の位置に停止している状態)
ii)人と人との間の距離に基づく対面状態(以下、「対面状態」:二人の人が、所定の距離以内で向き合っているが製品とは所定の距離以上離れて停止している状態)、
iii)待機状態(一人の人が特定の停止位置に停止しており、他者とはインタラクションをしていない状態)
図15は、インタラクション状態のうち、「製品の提示状態」を示す概念図である。
図中、製品(□で示す)の所定の距離以内に停止している状態には、二人の位置関係としては、図15(a)〜(c)のような様々な可能性があるものの、ここでは、これらの状態を全て、「製品の提示状態」という1つの概念に抽象化して分類するものとする。
したがって、システム10は、インタラクションの主体とそれらの場所の間の距離に基づいて、これらのインタラクション状態の各々を以下のルールで識別する。
たとえば、インタラクションの主体の両方が同じカメラに対応する停止位置にいた場合、インタラクション状態は「製品の提示」として分類される。
インタラクションの主体がカメラの近傍ではなく、互いのたとえば1.5m以内にいる場合、それは「対面状態」としてモデル化される。また、店主がサービスカウンターにおり顧客がそうでなかった場合は、店主のインタラクション状態は、「待機状態」として分類される。
さらに、特定のインタラクション状態に対して状態ターゲットを定義する。
「製品の提示」というインタラクション状態の状態ターゲットは、「ブランドA」、「ブランドB」あるいは「ブランドC」のいずれかである。一方で、「対面状態」および「待機状態」のインタラクション状態の状態ターゲットは空欄である。すなわち、「状態ターゲット」とは、インタラクションする二人の人(ロボットと人)以外に、そのインタラクション状態に関わり当該インタラクション状態を定義するオブジェクトのことを意味する。
[ベクトル化]
以下に説明するように、オフライン・トレーニングあるいはオンライン・インタラクション用の時系列のセンサー・データの処理においては、抽象化が実行され、離散的な顧客および店主の行動を後述するようなベクトルで表現する。
最初に、動作分析が、典型的な軌道との比較に基づいて行なわれる。
その後、移動と発話の検知に基づき行動を離散化することができる。
各々の顧客行動は、そのアクションの時における参加者双方の抽出された状態について記述する結合状態ベクトルによって表わされ、各々の店主行動は、ロボットが後ほどそのアクションを再現するために必要な情報を含んでいるロボット行動ベクトルによって表わされる。
ここで示されたすべてのプロセスについては、センサー・データは、たとえば1Hzの一定の割合でサンプリングされる。
[訓練データからの予測器の生成]
以下では、以上のようにして、訓練データについて、移動と発話を含む行動についての抽象化の処理が終了した後に、訓練処理部400によって、訓練データから予測器が生成される処理について説明する。
(動作分析)
抽象化処理部210によるオフラインの軌道解析の中で使用されるのと同じ速度しきい値を用いて、動作要素抽出部410は、人が移動しているか、停止しているかを識別し、行動離散化部420は、動作要素抽出部410の識別結果に応じて、以下のように、対象の行動を離散化する。
図16は、行動離散化部420の処理を説明するための機能ブロック図である。
行動離散化部420における行動分析部4202は、まず、3つのパラメーターを含んでいるベクトルを使用して、人の運動を特徴づける。
このような3つのパラメーターとは、「現在位置」、「運動起点」および「運動目標位置」であり、これらは、抽象化処理部210によるクラスタリングによって特定された停止位置のいずれかに対応する。
「停止位置軌道」に対しては、現在位置は最も近い停止位置にセットされ、運動起点および運動目標位置は、空欄である。
「移動軌道」に対しては、現在位置は空欄であり、運動起点は最も最近の現在位置にセットされる。
顧客に対しては、運動目標位置の欄が評価されるものの、後に説明するように、店主に対しては、これは不要である。
行動分析部4202は、顧客の運動目標位置を評価するにあたり、クラスタリングにおいて識別された典型的な軌道(代表軌道)と、分析対象となっている顧客の軌道の類似度を算出する。
すなわち、行動分析部4202は、上述したDTWを使用して、顧客の軌道と、訓練データからの典型的な軌道の各々の間の空間時間上の距離を計算する。その後、行動分析部4202は、そのクラスタ中の場合の数によって各軌道クラスタに対する計算された距離を確率として重みづけし、同じ到達場所で終了する軌道に対して確率を積算する。
ある目標位置についての確率が、所定の値、たとえば、50%以上に一旦なると、行動分析部4202は、その位置を運動目標位置として特定する。
一方で、センサー・データによる運動目標位置の推定は店主にとって不必要である。すなわち、オンラインでロボットを制御する場合は、ロボットに送られるコマンドに基づいて、ロボットの目標位置をシステム側は確実に知ることができるので、店主の訓練データ中の運動目標位置は、意図される運動目標位置についてのこのような知識が反映される。
訓練データに対してその反映を行うために、センサー・データからの推定に依存するのではなく、事前知識を参照することで店主の最終的な目標位置をみつけ、いつでも店主の実際の運動目標位置を決定することができる。そうすることによって、訓練データ、および実時間データに基づく、店主運動目標位置を一貫させることができる。
空間配置検出部4204は、停止状態にある対象について、上述したいずれのインタラクション状態であるかを特定する。なお、空間配置検出部4204は、設定により、「移動中」の人・人間の空間配置について、「インタラクション状態」を特定する構成としてもよい。
音声認識部202からの生の時系列データと、行動分析部4202および空間配置検出部4204から出力される対象の行動の状態についての情報の時系列データとは、相互に、タイムスタンプにより時間的に関連付けられて、記憶装置300に、発話要素データ320、運動要素データ322およびインタラクション要素データ324として格納される。
たとえば、1つのタイムスタンプ(所定時間、たとえば、1秒の間隔)に対して、人Aの位置、人Bの位置、人Aの発話、人Bの発話、人Aの「現在位置」、「運動起点」および「運動目標位置」、人Bの「現在位置」、「運動起点」および「運動目標位置」ならびに人A・B間のインタラクション状態(空間配置:HRIモデル)の各項目の情報が、格納される。
(行動の離散化)
さらに、行動離散化部420の位置追跡部4206は、参加者のうちの一人が話し、かつ/または、新しい場所へ移動し始める場合、離散的な「顧客行動」および「店主行動」を決定する。
発話行動は、音声認識結果が受信される時点で決定され、運動行動は、運動目標位置が決定される時点で決定される。
位置追跡部4206により決定された「顧客行動」および「店主行動」は、タイムスタンプと関連付けられて、顧客行動データ330、店主行動データ332として、記憶装置300に格納される。
同じ1秒間隔で受信される顧客と店主のイベントは、2つの別個のイベントとして分類され、したがって、いずれのイベントも、顧客の発話および店主の発話の双方を含むことはない。
(結合状態ベクトルの生成)
図17は、結合状態ベクトル生成部430とロボット行動生成部440の動作を説明するための機能ブロック図である。
結合状態ベクトル生成部430の行動ペア特定部4302は、顧客行動が検知されたときの対となる店主行動を特定する。顧客行動の結合状態ベクトル生成部4304は、顧客行動が検知された場合、現在の顧客と店主との状態に基づき、結合状態ベクトルを生成し、記憶装置300に結合状態ベクトル340として格納する。一方ロボット行動生成部440は、顧客行動に対応する店主行動をロボット行動として生成し、上記顧客行動と関連付けて、ロボット行動ベクトル342として、記憶装置300に格納する。この結合状態ベクトル340とロボット行動ベクトル342とが、予測器520に対する訓練データとなる。
図18は、行動ペア特定部4302による行動の特定処理を説明するための概念図である。
図18を参照して、行動ペア特定部4302は、検知され記憶装置300に格納された行動の時間系列を調べることによって、顧客行動とそれに続く店主行動との対応を識別する。
図18(a)は、このような行動イベントの時系列を示す。
ここで、C1,…,C3は、顧客の行動(発話または移動)を意味し、S1,…,S3は、店主の行動(発話または移動)を意味する。
ここで、社会的相互関係は、例えば、2つの顧客行動あるいは2つの店主行動が連なって生じる場合など、必ずしも行動と応答のペアにきれいに分割されるとは限らない。
図18(b)は、図18(a)の時系列の行動をペアに分類する手続きを示す。
原則として、顧客行動C1に連続する店主行動S1は、1組の行動ペア組み合わせられる。すなわち、行動C1と行動S1は、店主行動が後続する顧客行動という通常の場合を示しており、これらは予測器のためのトレーニング入力および出力としてペアになる。
一方で、店主行為が続かない顧客行動C2は、予測器を訓練する目的のために、「店主行動なし」との要素に関連づけられたペアとなる。
3番目の顧客行動C3には、2つの店主行動が続くが、それらは単一の店主行為とするためにマージされる。
対顧客行動の結合状態ベクトル生成部4302は、顧客行動が検知されたときに、顧客と店主の両方のインタラクションの主体の状態を、結合状態ベクトル340として記憶装置300に格納する。
この結合状態ベクトルは、ロボットが行なうべき最も適切な行動を識別するように、予測器を訓練するために、予測器の入力として使用される。
ロボット行動生成部440は、顧客行動が検知されたときの結合状態ベクトル340に対応する店主の行動である。
ロボット行動の各々は、発話(たとえば、166の可能性)および目標インタラクション状態(たとえば、5つの可能性)で構成される。
店主行動をマージした後に、店主行動の各々をロボット行動ベクトルに翻訳する。
図1に示したような店舗における顧客と店主とのインタラクションを例にとると、訓練データ・セットに対するロボット行動ベクトルの最終リストは、発話およびインタラクション状態の467個の異なる組合せを含む。
図19は、結合状態ベクトルにおける特徴量およびロボット行動ベクトルにおける特徴量を示す概念図である。
まず、図19(a)に示すように、結合状態ベクトルは、顧客発話ベクトル、顧客の空間状態および店主の空間状態、インタラクション状態とを含んでいる。
また、図19(b)に示すように、顧客発話ベクトルは、たとえば、発話とキーワードの両方に対するLSAベクトルを含んでおり、たとえば、説明した訓練条件では、合計346次元のベクトルとなっている。また、空間状態の各々は、現在位置、運動起点および運動目標位置を含んでいる。インタラクション状態は、空間配置および状態ターゲットを含んでいる。
より詳しくは、店主行為が検知される場合、それはロボット行動ベクトルとして表現される。そして、ロボット行動ベクトルは、後でロボットのためのコマンドに翻訳される。
上述したような具体例では、ロボットに、発話および移動を再現することに関心がある。したがって、ロボット行動ベクトルは、以下の2つの特性を含んでいる。
i)(発話クラスタIDから成る)発話
ii)(空間配置および状態ターゲットから成る)インタラクション状態
ここで、「ロボット発話」のフィールドは、ロボットが店主発話を再現することを可能にするための情報を含んでいる。
このとき、店主行動が、発話コンポーネントを含んでいる場合、それは結合状態ベクトルに含められる。そうでなければ、それはブランクのままとなる。
「ロボット発話」については、店主の発話のキャプチャデータには、しばしば、それが音声認識エラーを含んでいるので、音声認識からの生のテキスト出力を直接使用することは、ロボット発話を生成するのに適切ではない。
この理由で、「ロボット発話」のフィールドには、検知された発話を含んでいる店主発話クラスタのIDを記録する。
例えば、音声から認識された発話が「what does it has 28 different lenses」である場合、クラスタID292が、図8に例示したように、代表的な店主発話クラスタとして選択される。クラスタの典型的な発話は、各店主発話クラスタから抽出される。クラスタの典型的な発話は、認識された発話の典型的な例より少ないランダム誤りを含むことが期待される。クラスタIDからのロボット言語行動を生成するために、ロボットの音声合成装置に送られるべきテキストとして、この典型的な発話を使用する。
上記の例において、選ばれたロボット発話は、「このカメラに利用可能な28個の異なる交換レンズがあります。」ということになる。
また、「ロボット行動」のフィールドについては、店主のインタラクション状態は、与えられた時刻における、2つのインタラクションの主体の近接的な配置の情報(空間配置)が含まれる。また、「ロボット行動」のフィールドに、店主の「状態ターゲット」を記録することにより、ロボット運動を生成するためにこの情報を使用することができる。
ここで、顧客の行動が検知される時に店主が移動していなければ、店主の現在のインタラクション状態が空間配置として記録される。
一方、店主が移動していれば、時間的に予め予測をして、店主の目標位置を決定する。その後、店主が目標位置に着く時のインタラクションの主体の空間配置の評価により、「状態ターゲット」を決定する。
店主が先行して顧客を案内し、先に停止位置に到着する場合について調整を実行する以外は、インタラクション状態は、上述したのと同じ方法で識別される。顧客の現在位置あるいは顧客の運動目標位置のいずれかが、店主の現在位置と同じ対象である場合、目標状態を「製品の提示」として分類する。
図20は、予測器訓練部450の動作を説明するための機能ブロック図である。
図20を参照して、予測器訓練部450の分類器機械学習部4502は、記憶装置300内に格納された結合状態ベクトルデータ340を入力とし、ロボット行動データ342を出力とするような分類器を機械学習により生成する。分類器機械学習部4502は、生成した分類器を特定するための情報を、予測器特定情報350として、記憶装置300に格納する。
すなわち、予測器とは、結合状態ベクトルで表されるような状態を分類することで、特定の結合状態ベクトルの状態にあるときに、人である店主がとる可能性が最も高いと考えられる行動を、ロボット行動データとして予測するものである。
より具体的には、分類器機械学習部4502は、一旦訓練データ中の行動ペアがすべて特定され結合状態ベクトルが生成された後に、各顧客行動を分類器の訓練入力とし、それに続く店主行動に対応するロボット行動ベクトルを訓練出力とするために、結合状態ベクトルを入力として使用して、ロボット行動ベクトルを出力とするような分類器を生成するために、たとえば、ナイーブベイズ分類器の訓練を実行する。
ただし、分類器としては、機械学習により訓練するものであれば、他のものであってもよい。
ナイーブベイズ分類器は、1セットの特徴値ペアから成る事例を分類するために以下の式を使用する。
Figure 0006886651
ここで、ajは、ロボット行動ベクトルを示し、fiは、結合状態ベクトルにおける特徴量を示す。また、Cは、ロボット行動のすべての可能な場合(クラス)を意味する。
ナイーブベイズ分類器は、各特徴量fiに対して特徴値νiが与えられたときのロボット行動と分類される確率が最も大きなロボット行動aNBをとりだす。
結合状態ベクトル中で、各特徴量fiに対応する特徴値viは、1組の要素tikから成る多次元の量である。すなわち、項tikは、i番目の特徴量のk番目の要素である。
例えば、顧客発話ベクトルは346次元を持っており、一方で、顧客の空間状態は、21次元である。
したがって、以下の式(2)のように、各特徴に対する値の間の部分的一致を考慮するように分類器方程式を書き直すことができる。ここで、各特徴の各項の条件付き確率は、ロボット行動ajが与えられたときに、訓練中において計算されるものである。
Figure 0006886651
ここで、「tik apperas in fi」とは、特徴量fiに対応する特徴値νi中のk番目の要素が、tikであることを意味する。
そして、ロボット行動の分類において、最も特徴的な特徴量の値に、より高い優先順位を与えるために、結合状態ベクトル中の与えられた特徴がどれくらい重要かを表す利得比を考慮する。ここで、利得比は、訓練データ中における特定の特徴量とロボット行動との間の関連性の他の相関値に対する相対的な大きさを表す量として、たとえば、訓練データに基づいて、その大きさを決定するものとし、たとえば、両者の相関値を規格化して大きさを設定することなどが可能である。
式(2)において、重みwiは、各特徴量の利得比から計算された分類器用の重み付け係数である。
図21は、結合状態ベクトルにおける特徴量がとり得る特徴値の一例を示す図である。
図21(a)に示すように、所定の空間領域内に6つの停止位置が特定されているとする。
図21(b)は、図21(a)の場合における各特徴量fi(顧客空間状態、店主空間状態、インタラクション状態、顧客発話)を構成する特徴値νiと、特徴値νiに対応する要素tikの次元との関係を示す図である。
この場合において、顧客のとり得る停止位置は、6つの全ての位置(黒丸)であり、これにこれらいずれの位置でもない状態を考慮して、全部で7つの状態をとり得るものとする。したがって、顧客の空間状態の特徴量は、現在位置ν1、運動起点ν、運動目標位置νの3つから成り、それぞれは、7つの位置をとり得る。
一方、店主のとり得る停止位置は、5つの位置(白丸)であり、これにこれらいずれの位置でもない状態を考慮して、全部で6つの状態をとり得るものとする。したがって、顧客の空間状態の特徴量は、現在位置ν、運動起点ν、運動目標位置νの3つから成り、それぞれは、6つの位置をとり得る。
さらに、インタラクション状態は、特徴量として「状態ν」と「状態ターゲットν」とを含む。「状態ν」は、「対面状態」「製品の提示状態」「待機状態」「いずれでもない」の4つの状態のいずれかをとり得る。また、「状態ターゲットν」は、「ブランドA」、「ブランドB」、「ブランドC」、「いずれでもない」の4つの状態のいずれかをとり得る。
顧客発話の特徴量は、「発話ID ν」と「キーワードν10」とを含む。発話IDについては、顧客発話をクラスタ化した際に決定された発話IDの個数Nuの次元を有し、キーワードについては、顧客発話をクラスタ化した際に抽出された個数Nkの次元を有する。
特に限定されないが、たとえば、結合状態ベクトルは、これらの特徴値νiを、とり得る次元について並べ、該当する要素が“1”で、それ以外の要素が“0”であるベクトルとして表現することができる。
(ロボット行動の生成処理)
図22は、オンライン処理部500の動作を説明するための機能ブロック図である。
すなわち、人の顧客と人の店主との間のインタラクションの観測(「学習データ収集過程」)による訓練データに基づいて訓練処理部400により予測器が生成(「ロジック学習過程」)された後に、オンライン処理過程において、オンライン処理部500は、人(この場合は、顧客)に対するロボットのインタラクションを制御する処理を実行する。
人間の顧客とロボット店主の間のライブのインタラクション中においても、たとえば、センサネットワーク30.1〜30.n,32.1〜32.m,34.1〜34.pは、1秒間隔で顧客の運動および発話を記録する。また、ロボット自身に対しても位置計測センサと、発話計測センサが設けられる。
動作要素抽出部510は、センサネットワークからのデータに基づき、顧客の動作解析を行う動作解析部5102と、顧客とロボットとの空間内の配置を検出する空間配置検知部5104と、顧客の発話を認識する音声認識部5106とを含む。動作解析部5102,空間配置検知部5104および音声認識部5106との識別結果により、顧客行動が検知された場合、顧客行動の結合状態ベクトル生成部5108は、現在の顧客とロボットとの状態に基づき、結合状態ベクトルを生成する。生成された結合状態ベクトルは、訓練されたナイーブベイズ予測器520に入力される。ここで、予測器520は、記憶装置300中の予測器情報のパラーメタに基づいて特定されるものであり、予測処理を実行する。
予測器520は、訓練データ中から分類された所定の個数、たとえば、467個のロボット行動のうちの1つのIDを出力するか、あるいは、それは、「行動しない」という予測を返す。
ロボット行動生成部530は、ロボット行動を生成するために、ロボットの現在位置と目標インタラクション状態を達成するのに必要な場所とを比較する。そして、必要ならば移動コマンドをロボット1000のロボット行動実行モジュール1002に対して発行する。
「待機状態」については、店主は、待機状態では、サービスカウンターにいることになるので、状態ターゲットはサービスカウンターになる。製品の提示状態については、状態ターゲットは、顧客の興味のある対象物の位置になり、対面状態に対しては、状態ターゲットは、固定された位置ではなく、むしろ、顧客の目の前の位置ということになる。
ロボット行動生成部530は、ロボット1000が、状態ターゲットの位置にまだいない場合、その位置の近くの地点に移動することをロボットに命じる。
ロボット行動が指定される場合、ロボット行動生成部530は、その行動に対応する遅延時間テーブル中で指定された時間だけ待ってから、ロボット1000に対して、目標地点まで移動せよ、あるいは、発話をせよ、というコマンドを送出する。
ロボット行動が「製品の提示状態」または「対面状態」のインタラクション状態を含んでいる場合、正確な目標位置が、空間配置の近接的モデルによって計算される。
運動状態である間は、ロボットは、目標位置に到着するまでは、1秒ごとに、顧客の将来位置を予測し、近接モデルによって目標位置を再計算する。
(遅れのモデル化)
まず、上述したロボット行動生成部530の処理のうち、遅れ(遅延時間)のモデル化について説明する。
顧客行動と店主応答の間には自然な遅延時間がある。たとえば、ロボットがあまりに速くあるいはあまりにゆっくり答える場合、それは、相手の人間に不自然な印象を与える。
顧客行動と店主からのレスポンスの間の遅延時間を再現するために、各ロボット行動に対応する訓練データからの顧客と店主の行動間の平均の時間遅れを計算し、ロボット行動と平均遅延時間とをマッピングするルックアップテーブルを構築しておく。
たとえば、質問に直接答えるというような、ロボット行動については、遅延時間は通常0〜2.5秒の範囲である。
また、いくつかの行動については、より長い休止が観察される。例えば、顧客が何も言わない間に、直接、ブランドAのカメラの領域に入り移動した時は、ロボット行動生成部530は、予測器520の予測結果に基づいて、ロボット1000が17秒の遅れの後に、接近して、顧客に「何かお探しですか」などというような発話による支援を提供することを指示する。
顧客がこの間に別の行動を行なったならば、ロボットはその行動に応答する。したがって、このように、ロボット1000は、例えば「ウィンドウショッピング」シナリオなどにおいて、生じる長い休止に応答することができる。
(空間配置についての行動生成)
以下では、「インタラクション状態」についてさらに詳しく説明する。
図23は、人・人間のインタラクション状態の例を示す概念図である。
一般には、図23(a)に示すような「オブジェクトの提示状態(本実施の形態では製品の提示)」、図23(b)に示すような「対面状態」、図23(c)に示すような「横に並んだ歩行状態」、図23(d)に示すような「待機状態」などが、インタラクション状態として想定される。
ただし、本実施の形態では、簡単のために、移動中のインタラクションについては考慮から外すことする。
図24は、「提示状態」について、結合状態ベクトルで表現される位置関係と対応するロボットへの行動生成との関係を示す概念図である。
「提示状態」について、センサネットワークから取得され、結合状態ベクトルで表現される位置関係のモデルとしては、たとえば、図24(a)のように、以下のような位置関係であるとする。
i)ロボット・人間の間隔Dist(RH)〜1.2m
ii)ロボット・製品間の間隔Dist(RO)〜1.1m
iii)人の移動速度Speed(H)〜0
iv)ロボットの移動速度Speed(R)〜0
v)製品−ロボット−人の角度Angle(ORH)<150°
vi)製品−人−ロボットの角度Angle(OHR)<90°
これに対して、図24(b)のように、ロボット行動生成部530は、対応するロボットへの行動を生成するモデルとして以下のものを採用する。
すなわち、まず、ロボットの目標ターゲットを、以下のような条件を満たす位置R1またはR2とする。なお、条件を満たす位置が複数箇所ある場合は、現在位置から最も近い位置を選択するか、あるいは、ランダムにいずれかを選択する構成とすることができる。
i)ロボット・人間の間隔Dist(RH)〜1.2m
ii)ロボット・製品間の間隔Dist(RO)〜1.1m
iii)ロボットの移動速度Speed(R)〜0
iv)(ロボットの向き)Angle(R)=1/2×(製品−ロボット−人の角度)Angle(ORH)となる向き
すなわち、図24(a)のように、センサネットワークからの2人の人間の位置関係および姿勢についての入力に対して、人・人間のインタラクション状態を識別するためのモデルを、「認識モデル」と呼ぶ。したがって、システムは、センサネットワークからのセンシング結果を入力として、空間配置検出部4204は、人・人間のインタラクション状態(近接配置)がいずれのパターンであるかを判断する。
また、図24(b)のように、認識モデルに基づいて検出されたインタラクション状態に対して、ターゲットとなる空間配置(近接配置)となるように、ロボット行動生成部530がロボット行動を生成するためのモデルを「生成モデル」と呼ぶ。
図25は、「認識モデル」と「生成モデル」とを対比して説明する概念図である。
図25(a)は、認識モデルにより、「提示状態」であると判断される人・人間の近接配置の例である。これに対して、図25(b)は、認識モデルにより、「提示状態」ではないと判断される人・人間の近接配置の例である。
図25(a)に示されるように、複数の少しずつ異なる配置も「提示状態」として検出されることになり、これは、つまり、人・人間の近接配置が、抽象化されていることを意味する。一方で、人の姿勢や人の配置が、「認識モデル」から外れている場合は、図25(b)のように、配置、または、姿勢のいずれか一方は、「認識モデル」の範囲に一致していても、「提示状態」とは検知されない。
一方で、図25(c)に示すように、「生成モデル」は、まず、人間の位置(オブジェクト(製品)に対する相対位置)を特定して、この人間の位置に対して、ロボットが、目的とする配置を形成すための移動・運動のコマンドを生成するために使用される。目的とする配置によっては、ロボットがその配置を形成するために移動すべき位置については、複数の可能性がモデルの中に、予め含まれている場合もあり得る。
後述する他の空間配置(近接配置)についても、認識モデルと生成モデルが、それぞれ配置の検知とコマンドの生成にそれぞれ使用される。
図26は、「対面状態」について、結合状態ベクトルで表現される位置関係と対応するロボットへの行動生成との関係を示す概念図である。
「対面状態」について、センサネットワークから取得され、結合状態ベクトルで表現される位置関係のモデルとしては、たとえば、図26(a)のように、以下のような位置関係であるとする。
i)ロボット・人間の間隔〜1.5m
ii)人の移動速度〜0
iii)ロボットの移動速度〜0
iv)人の向き〜人・ロボットの向き
v)ロボットの向き〜ロボット・人の向き
これに対して、図26(b)のように、ロボット行動生成部530は、対応するロボットへの行動を生成するモデルとして以下のものを採用する。
すなわち、まず、ロボットの目標ターゲットを、以下のような条件を満たす位置Rとする。
i)人の向き〜人・ロボットの向き
ii)ロボット・人間の間隔〜1.5m
iii)ロボットの移動速度〜0
iv)ロボットの向き〜ロボット・人の向き
図27は、「待機状態」について、結合状態ベクトルで表現される位置関係と対応するロボットへの行動生成との関係を示す概念図である。
「待機状態」について、センサネットワークから取得され、結合状態ベクトルで表現される位置関係のモデルとしては、たとえば、図27(a)のように、以下のような位置関係であるとする。
i)ロボット・待機位置間の距離〜0m
ii)ロボットの移動速度〜0
iii)ロボット・人間の間隔>1.5m
すなわち、ロボットは、待機位置に停止しており、人は、ロボットから離れた位置にいるという状態である。
これに対して、図26(b)のように、ロボット行動生成部530は、対応するロボットへの行動を生成するモデルとして以下のものを採用する。
すなわち、まず、ロボットの目標ターゲットを、以下のような条件を満たす位置Rとする。
i)ロボット・待機位置間の距離〜0m
ii)ロボットの移動速度〜0
iii)ロボットの向き:所定の方向(たとえば)、グローバル座標で―90°)
図28は、実際に観測された人・人間の位置関係およびそれに対応する人・ロボットの位置関係の図である。
図28(a)に示すように、「提示状態」では、店主(S)と顧客(C)とが、製品(O)の近傍にやや斜めに向かって位置する。これに対応して、顧客(C)とロボット(R)とが、製品(O)の近傍にやや斜めに向かって位置する。
図28(b)は、対面状態の店主(S)と顧客(C)との位置関係を示す。
図28(c)は、「待機状態」において、店主(S)は待機位置(サービスカウンタ)で停止しており、顧客(C)は、所定のブランドの製品の近傍に停止している。これに対応して、顧客(C)は、所定のブランドの製品の近傍に停止し、ロボット(R)は、待機位置に停止している。
以上説明したように、本実施の形態のシステム10では、どのような人間の行動に応答して、どのようにロボットが行動を行なわなければならないかを決定するために、離散的になった行動データを調べて、訓練データ中において、顧客と店主の行動の連続する組である行動ペアを特定する。
そして、各行動ペアについては、顧客と店主の行動に対応する結合状態ベクトルおよびロボット行動ベクトルを使用して、機械学習を使用して、予測器を訓練する。
最後に、検知された顧客行動に応じてロボット行動を生成するために、この予測器はオンラインとして使用される。
このような構成により、特定の環境において、実際に観測された人・人間のインタラクション行動のデータに基づいて、同様の環境下で、人・ロボット間のインタラクションを行うためのロボットへの行動コマンドを生成することができる。
また、本実施の形態によれば、システムの設計者がシナリオを作成する必要がないため、ロボットの行動生成のための設計者の負荷を大幅に低減できる。
また、本実施の形態によれば、人間行動の自然な多様性が考慮される場合にも、ロバストなインタラクションのための行動コマンドを作成することが可能である。
今回開示された実施の形態は、本発明を具体的に実施するための構成の例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲および均等の意味の範囲内での変更が含まれることが意図される。
10 システム、30.1〜30.n 2Dレーザレンジファインダ、32.1〜32.m 3Dレンジファインダ、34.1〜34.p スマートフォン、200 データ収集モジュール、300 記憶装置、340 結合状態ベクトルデータ、342 ロボット行動データ、400 訓練処理部、410 動作要素抽出部、420 行動離散化部、430 結合状態ベクトル生成部、450 予測器訓練部、4502 分類器機械学習部。

Claims (12)

  1. 第1の状況において装置が第1の参加者と行動によるコミュニケーションを可能とするための行動コマンド生成システムであって、前記第1の状況に対応して、第2の参加者および第3の参加者が行動によるコミュニケーションをとる状況であって、前記第2の参加者および第3の参加者が、それぞれ、前記装置および前記第1の参加者に対応する行動をとる第2の状況において取得されたデータに基づき、前記装置は、前記第1の状況において前記第2の参加者の代わりとして行動するものであり、
    人の行動に関する時系列データを収集するための複数のセンサと、
    前記第2の状況において、前記行動の時系列データをクラスタリングして、各クラスタごとに代表行動を決定する行動パターンクラスタ化手段と、
    結合状態ベクトルと行動ベクトルとをそれぞれ関連付けるためのベクトル生成手段とを備え、前記結合状態ベクトルは、前記第2の状況において、前記クラスタリングの結果と前記行動の時系列データに基づき、前記第3の参加者の状態と前記第2の参加者の状態とから生成され、各前記行動ベクトルは、前記結合状態ベクトルに対応し前記第2の参加者の後続する代表行動を表し、
    前記結合状態ベクトルを入力とし、前記行動ベクトルを出力とする予測器を生成するための予測器生成手段と、
    前記第1の状況において、生成された前記予測器により予測された、前記第1の参加者の行動に応答する前記行動ベクトルに応じて、前記装置へのコマンドを生成するためのコマンド生成手段とを備える、行動コマンド生成システム。
  2. 前記代表行動は、代表発話と代表運動とを含む、請求項1記載の行動コマンド生成システム。
  3. 前記行動パターンクラスタ化手段は、
    観測された前記第2の参加者の発話を発話クラスタに分類する発話クラスタ化手段と、
    前記クラスタ内で最も多くの他の発話と語彙上の類似度が最高レベルである発話を選ぶことで、前記発話クラスタごとに1つの代表発話を選択する典型発話抽出手段とを含む、請求項2記載の行動コマンド生成システム。
  4. 前記ベクトル生成手段は、
    前記第2および第3の参加者の前記行動の区切りを検出して、前記行動の時系列データを離散化するための離散化手段と、
    前記区切られた前記第3の参加者の行動を検出したことに応じて、前記第3の参加者の状態と前記第2の参加者の状態とを結合状態ベクトルとして抽出する結合状態抽出手段と、
    前記抽出された結合状態ベクトルに対応する前記第2の参加者の後続する代表行動を前記行動ベクトルとして抽出するための行動ベクトル抽出手段と、を含む、請求項2または3記載の行動コマンド生成システム。
  5. 前記結合状態ベクトルにおける前記第2または第3の参加者の状態は、
    前記第2の参加者の空間状態と、
    前記第3の参加者の空間状態と、
    2人の人間間についての所定の共通の近接配置のうちの1つを含む、請求項4記載の行動コマンド生成システム。
  6. 前記行動パターンクラスタ化手段は、
    前記第2または第3の参加者の観測された軌道を、停止セグメントと移動セグメントにセグメント化する軌道セグメント化手段と、
    前記停止セグメントを停止クラスタにクラスタ化する空間クラスタ化手段と、
    対応する停止クラスタを各々代表する停止位置を特定する停止位置抽出手段とを含む、請求項2記載の行動コマンド生成システム。
  7. 前記行動パターンクラスタ化手段は、
    前記移動セグメントを移動クラスタにクラスタ化する軌道クラスタ化手段と、
    対応する移動クラスタを各々代表する軌道を特定する典型軌道抽出手段とを含む、請求項記載の行動コマンド生成システム。
  8. 前記行動ベクトルは、前記第2の参加者の認識された発話を含む発話クラスタを特定するための情報を含む、請求項3記載の行動コマンド生成システム。
  9. 前記行動ベクトルは、2人の人間間についての所定の共通の近接配置を含み、
    前記コマンド生成手段は、前記共通の近接配置にそれぞれ対応する生成モデルに基づいて、前記コマンドを生成する、請求項8記載の行動コマンド生成システム。
  10. 第1の参加者と行動によるコミュニケーションを可能とするための応答システムであって、
    第1の状況において、複数のセンサにより収集された前記第1の参加者の行動に関する時系列データに基づき、人に類似の行動を前記第1の参加者に提示するための装置を備え、前記装置は、前記第1の状況に対応して、第2の参加者および第3の参加者が行動によるコミュニケーションをとる状況であって、前記第2の参加者および第3の参加者が、それぞれ、前記装置および前記第1の参加者に対応する行動をとる第2の状況において取得されたデータに基づき、前記第1の状況において前記第2の参加者の代わりとして行動するものであり、
    前記装置は、
    前記第2の状況において前記取得されたデータに基づき生成された結合状態ベクトルと前記第2の参加者の代表行動に対応する行動ベクトルとを関連付けて格納するための記憶装置と、
    前記結合状態ベクトルを入力とし、前記行動ベクトルを出力とする予測器と、
    前記第1の状況において、生成された前記予測器により予測された、前記第1の参加者の行動に応答する前記行動ベクトルに応じて、前記装置の行動コマンドを生成するためのコマンド生成手段とを含み、
    前記代表行動は、前記第2の状況において、前記時系列データをクラスタリングして、各クラスタごとに離散化された単位行動として決定されたものであり、
    前記結合状態ベクトルは、前記第2および第3の参加者の前記行動の区切りを検出し前記行動の時系列データを離散化して、区切られた前記第3の参加者の行動を検索キーとして、前記第3の参加者の状態と前記第2の参加者の状態との結合として決定されたものである、応答システム。
  11. 第1の状況において装置が第1の参加者と行動によるコミュニケーションを可能とするための行動コマンド生成方法であって、
    前記第1の状況に対応して、第2の参加者および第3の参加者が行動によるコミュニケーションをとる状況であって、前記第2の参加者および第3の参加者が、それぞれ、前記装置および前記第1の参加者に対応する行動をとる第2の状況において、人の行動に関する時系列データを収集するステップと、
    前記第2の状況において、前記行動の時系列データをクラスタリングして、各クラスタごとに代表行動を決定するステップと、
    結合状態ベクトルと行動ベクトルとをそれぞれ関連付けるステップとを備え、前記結合状態ベクトルは、前記第2の状況において、前記クラスタリングの結果と前記行動の時系列データに基づき、前記第3の参加者の状態と前記第2の参加者の状態とから生成され、各前記行動ベクトルは、前記結合状態ベクトルに対応し前記第2の参加者の後続する代表行動を表し、
    前記結合状態ベクトルを入力とし、前記行動ベクトルを出力とする予測器を生成するステップと、
    前記第1の状況において、生成された前記予測器により予測された、前記第1の参加者の行動に応答する前記行動ベクトルに応じて、前記装置が、前記第1の状況において前記第2の参加者の代わりとして行動するように、前記装置へのコマンドを生成するステップとを備える、行動コマンド生成方法。
  12. 前記代表行動は、代表発話と代表運動とを含む、請求項11記載の行動コマンド生成方法。
JP2016238910A 2016-12-08 2016-12-08 行動コマンド生成システム、応答システムおよび行動コマンド生成方法 Active JP6886651B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016238910A JP6886651B2 (ja) 2016-12-08 2016-12-08 行動コマンド生成システム、応答システムおよび行動コマンド生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016238910A JP6886651B2 (ja) 2016-12-08 2016-12-08 行動コマンド生成システム、応答システムおよび行動コマンド生成方法

Publications (2)

Publication Number Publication Date
JP2018094645A JP2018094645A (ja) 2018-06-21
JP6886651B2 true JP6886651B2 (ja) 2021-06-16

Family

ID=62634131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016238910A Active JP6886651B2 (ja) 2016-12-08 2016-12-08 行動コマンド生成システム、応答システムおよび行動コマンド生成方法

Country Status (1)

Country Link
JP (1) JP6886651B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948528B (zh) * 2019-03-18 2023-04-07 南京砺剑光电技术研究院有限公司 一种基于视频分类的机器人行为识别方法
CN114120018B (zh) * 2020-08-25 2023-07-11 四川大学 一种基于人群聚类轨迹熵的空间活力量化方法
JP2023018893A (ja) * 2021-07-28 2023-02-09 株式会社日立製作所 学習装置及びロボット制御システム
US20230030633A1 (en) * 2021-07-28 2023-02-02 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a serving robot

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4753410B2 (ja) * 2004-11-01 2011-08-24 株式会社国際電気通信基礎技術研究所 コミュニケーションロボット
US7634406B2 (en) * 2004-12-10 2009-12-15 Microsoft Corporation System and method for identifying semantic intent from acoustic information
JP5318623B2 (ja) * 2009-03-26 2013-10-16 株式会社国際電気通信基礎技術研究所 遠隔操作装置および遠隔操作プログラム
JP5732632B2 (ja) * 2011-02-03 2015-06-10 株式会社国際電気通信基礎技術研究所 ロボットシステムおよびそれに用いる空間陣形認識装置
JP2013006232A (ja) * 2011-06-23 2013-01-10 Nippon Telegr & Teleph Corp <Ntt> コミュニケーションエージェントの動作制御装置、コミュニケーションエージェントの動作制御方法、及びそのプログラム
JP6150429B2 (ja) * 2013-09-27 2017-06-21 株式会社国際電気通信基礎技術研究所 ロボット制御システム、ロボット、出力制御プログラムおよび出力制御方法
US9517559B2 (en) * 2013-09-27 2016-12-13 Honda Motor Co., Ltd. Robot control system, robot control method and output control method

Also Published As

Publication number Publication date
JP2018094645A (ja) 2018-06-21

Similar Documents

Publication Publication Date Title
US11584020B2 (en) Human augmented cloud-based robotics intelligence framework and associated methods
US11769159B2 (en) System and method for human emotion and identity detection
US11937929B2 (en) Systems and methods for using mobile and wearable video capture and feedback plat-forms for therapy of mental disorders
Rodomagoulakis et al. Multimodal human action recognition in assistive human-robot interaction
Arunnehru et al. Automatic human emotion recognition in surveillance video
Pantic et al. Toward an affect-sensitive multimodal human-computer interaction
US9412361B1 (en) Configuring system operation using image data
US11217246B2 (en) Communication robot and method for operating the same
JP6886651B2 (ja) 行動コマンド生成システム、応答システムおよび行動コマンド生成方法
Sahoo et al. Emotion recognition from audio-visual data using rule based decision level fusion
KR20130039578A (ko) 지능 로봇, 지능 로봇과 사용자의 상호작용을 위한 시스템 및 지능 로봇과 사용자의 상호작용을 위한 방법
Taylor et al. Robot perception of human groups in the real world: State of the art
Mollaret et al. A multi-modal perception based assistive robotic system for the elderly
Salah et al. Challenges of human behavior understanding
Yang et al. Proxitalk: Activate speech input by bringing smartphone to the mouth
JP2017064853A (ja) ロボット、コンテンツ決定装置、コンテンツ決定方法、及びプログラム
Ktistakis et al. A multimodal human-machine interaction scheme for an intelligent robotic nurse
JP6972526B2 (ja) コンテンツ提供装置、コンテンツ提供方法、及びプログラム
Ghosh et al. Humansense: a framework for collective human activity identification using heterogeneous sensor grid in multi-inhabitant smart environments
Kühn et al. A modular audio-visual scene analysis and attention system for humanoid robots
Le et al. Multimodal smart interactive presentation system
Maheux et al. T-Top, an open source tabletop robot with advanced onboard audio, vision and deep learning capabilities
Healy et al. Preforming real-time emotion classification using an Intel RealSense camera, multiple facial expression databases and a Support Vector Machine
Duncan et al. A Survey of Multimodal Perception Methods for Human-Robot Interaction in Social Environments
JP2020135424A (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20170106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210506

R150 Certificate of patent or registration of utility model

Ref document number: 6886651

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250