JP6824127B2 - ロボット制御装置、ロボット制御方法およびロボット制御プログラム - Google Patents

ロボット制御装置、ロボット制御方法およびロボット制御プログラム Download PDF

Info

Publication number
JP6824127B2
JP6824127B2 JP2017154232A JP2017154232A JP6824127B2 JP 6824127 B2 JP6824127 B2 JP 6824127B2 JP 2017154232 A JP2017154232 A JP 2017154232A JP 2017154232 A JP2017154232 A JP 2017154232A JP 6824127 B2 JP6824127 B2 JP 6824127B2
Authority
JP
Japan
Prior art keywords
verbal
action
utterance
robot
time
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
JP2017154232A
Other languages
English (en)
Other versions
JP2019030949A (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.)
Nippon Telegraph and Telephone Corp
Keio University
Original Assignee
Nippon Telegraph and Telephone Corp
Keio University
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 Nippon Telegraph and Telephone Corp, Keio University filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017154232A priority Critical patent/JP6824127B2/ja
Publication of JP2019030949A publication Critical patent/JP2019030949A/ja
Application granted granted Critical
Publication of JP6824127B2 publication Critical patent/JP6824127B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Manipulator (AREA)

Description

本発明の実施形態は、ロボット制御装置、ロボット制御方法およびロボット制御プログラムに関する。
受付や接客などの分野で、発話機能を有するロボットを用いたサービスが行われている。この種のサービスの一例としては、企業による来訪者の受付において、来訪時の手続き手順や施設案内などをユーザ(来訪者)と対話しながら説明し、受付をロボットで自動化するものがある。
このようなロボットを用いたサービスでユーザとの対話を円滑に進めるには、ロボットによる発話内容だけではなく、ロボットの顔の向きや手や体の動きなど、非言語動作の表現が必要不可欠となる。例えば、企業による来訪者の受付においてロボットが施設案内をする際に、ロボットによる音声発話だけではなく、ロボットの手の動きで案内の方向を指し示すことで、ユーザに分かりやすく案内を実施できる。
また、ロボットに対して受付や接客を効果的に実施させるためには、シナリオ作成者がロボットの表現として、発話内容に加えて、非言語動作(顔向きや体の動き)を適切に決定し、ロボットが実行する動作シナリオを作成する必要がある。
この発話内容と非言語動作の2種類の情報を、シナリオ作成者は同時並行的に検討し、発話長に合わせた長さの動作を設定しながら、シナリオ作成を行う必要があり、労力が大きくなることが1つの課題となっていた。
そこで、ロボットの動作シナリオを簡易に作成する手法として、従来技術では、プログラム言語による動作シナリオの作成ではなく、GUI(グラフィカルユーザインタフェース)を用いたグラフィカルプログラミングによる手法が用いられてきた。例えばロボット単体に対する動作シナリオの作成ツールとして非特許文献1で示されているChoregrapheが挙げられる。また、複数のロボットやIoT(Internet of Things)機器を連携させる動作シナリオ作成のツールとして、非特許文献2で示されているクラウド型統合開発環境などが挙げられる。
E.Pot, J.Monceaux, R.Gelin and B.Maisonnier等,"Choregraphe: a Graphical Tool for Humanoid Robot Programming",Robot and Human Interactive Communication, 2009, pp.46-51. 松元崇裕,松村成宗,細淵貴司,"インタラクションロボットサービスのためのクラウド型総合開発環境",電子情報通信学会技術研究報告,pp33-36, 2015.
非特許文献1の手法は、プログラム言語を書くことができない人が、GUIツールを利用してロボットを細かく制御することが可能であるが、GUIツールを使ってロボットが向けるべき視線方向、実施するべきジェスチャ、および、これらを実施するタイミングなど非言語動作を設定していく作業が必要なことは変わらず、一方でGUIツールの使い方自体も習得する必要がある。
また、非特許文献2の手法は、プリミティブ(primitive)な非言語動作(手を上げる、視線を向けるなど)の組み合わせパターンをあらかじめ定義しておき、ロボットの非言語動作をGUI画面上で選択しながら、ロボットの動作シナリオを記述することができる点で、非特許文献1に記載された手法と比べて容易に実施可能ではある。しかしながら、制御対象のロボットに対して、ロボットが向けるべき視線方向、実施するべきジェスチャ、およびこれらを実施するタイミングを記述する必要がある点は同様で、シナリオ作成に労力が大きくかかる点では改善の余地があった。
本発明の目的は、ロボットの動作シナリオの作成にかかる労力を軽減することができるロボット制御装置、ロボット制御方法およびロボット制御プログラムを提供することである。
上記目的を達成するために、この発明の一実施形態におけるロボット制御装置の第1の態様は、ロボットの発話内容と、前記ロボットの非言語動作の識別情報とを含むログ情報から、前記発話内容の意図の分類を示す情報である対話行為を推定する第1の推定手段と、前記第1の推定手段により推定された対話行為に対する、当該対話行為とともに実施される非言語動作の共起確率を計算する計算手段と、前記ロボットの新たな発話内容を取得し、この取得した発話内容の音声発話に要する時間である発話時間、および、前記取得した発話内容の意図の分類を示す情報である対話行為をそれぞれ推定する第2の推定手段と、前記第2の推定手段により推定された発話時間、前記第2の推定手段により推定された対話行為、および前記計算手段により計算された共起確率に基づいて、前記第2の推定手段により推定された対話行為とともに実施される動作で、かつ動作に要する時間である動作時間の長さが前記第2の推定手段により推定された発話時間に対応した長さである非言語動作を決定する決定手段と、前記決定手段により決定された非言語動作および前記新たな発話内容に基づいて、前記ロボットの動作シナリオを生成する生成手段とを有する装置を提供する。
上記構成のロボット制御装置の第2の態様は、第1の態様において、前記計算手段は、前記第1の推定手段により推定された対話行為に基づいて、当該対話行為とともに実施される非言語動作の共起確率を複数種類の非言語動作についてそれぞれ計算し、前記決定手段は、前記複数種類の非言語動作のうち共起確率が最も高い非言語動作を選択し、前記選択した非言語動作に要する時間である動作時間と前記第2の推定手段により推定された発話時間との間に差分があるときに、前記複数種類の非言語動作のうち前記選択した非言語動作以外の非言語動作であって前記共起確率が最も高い非言語動作の選択を繰り返す装置を提供する。
上記構成のロボット制御装置の第3の態様は、第2の態様において、前記非言語動作を示す情報を、この非言語動作が、動作完了まで繰り返し継続する動作であるか否かを示す属性情報と対応付けて記憶する非言語動作記憶手段をさらに備え、前記決定手段は、前記決定手段により選択された非言語動作に対応する属性情報を前記非言語動作記憶手段から読み出し、当該属性情報が前記繰り返し継続する動作を示すときに、前記決定手段により選択された非言語動作を、前記決定手段により選択された非言語動作に要する時間である動作時間が前記第2の推定手段により推定された発話時間に達するまで繰り返した動作として、当該動作を、前記第2の推定手段により推定された対話行為とともに実施される動作で、かつ前記動作時間の長さが前記第2の推定手段により推定された発話時間に対応した長さである非言語動作として決定する装置を提供する。
上記構成のロボット制御装置の第4の態様は、第2の態様において、前記決定手段は、前記決定手段により選択された非言語動作が、同一の部分的な動作を反復した動作を含むときに、前記決定手段により選択された非言語動作を、前記同一の部分的な動作を反復した動作を繰り返す動作に更新する装置を提供する。
本発明の一実施形態におけるロボット制御方法の態様は、ロボット制御装置が行なうロボット制御方法であって、ロボットの発話内容と、前記ロボットの非言語動作の識別情報とを含むログ情報から、前記発話内容の意図の分類を示す情報である第1の対話行為を推定し、前記推定された対話行為に対する、当該対話行為とともに実施される非言語動作の共起確率を計算し、前記ロボットの新たな発話内容を取得し、この取得した発話内容の音声発話に要する時間である発話時間、および、前記取得した発話内容の意図の分類を示す情報である第2の対話行為をそれぞれ推定し、前記推定した発話時間、前記推定された前記第2の対話行為、および前記計算された共起確率に基づいて、前記推定された前記第2の対話行為とともに実施される動作で、かつ動作に要する時間である動作時間の長さが前記推定された発話時間に対応した長さである非言語動作を決定し、前記決定された非言語動作および前記新たな発話内容に基づいて、前記ロボットの動作シナリオを生成する方法を提供する。
本発明の一実施形態におけるロボット制御プログラムの態様は、第1乃至第4の態様のいずれか1つにおけるロボット制御装置の前記各手段としてプロセッサを機能させるプログラムを提供する。
本発明によれば、ロボットの動作シナリオの作成にかかる労力を軽減することが可能になる。
本発明の一実施形態におけるロボット制御装置の構成例を示すブロック図。 本発明の一実施形態におけるロボット制御装置の動作シナリオログ記憶部での記憶内容の一例を示す図。 本発明の一実施形態におけるロボット制御装置の共起確率記憶部での記憶内容の一例を示す図。 本発明の一実施形態におけるロボット制御装置の非言語動作記憶部での記憶内容の一例を示す図。 本発明の一実施形態におけるロボット制御装置の部分動作記憶部での記憶内容の一例を示す図。 本発明の一実施形態におけるロボット制御装置の付与動作記憶部での記憶内容の一例を示す図。 本発明の一実施形態におけるロボット制御装置による共起確率計算の手順の一例を示すフローチャート。 本発明の一実施形態におけるロボット制御装置の発話情報取得部による発話情報取得の手順の一例を示すフローチャート。 本発明の一実施形態におけるロボット制御装置による動作付与の手順の一例を示すフローチャート。 本発明の一実施形態におけるロボット制御装置による動作シナリオ生成の手順の一例を示すフローチャート。
以下、図面を参照しながら、この発明に係わる一実施形態を説明する。
一実施形態では、ロボットの過去の動作シナリオ作成ログと、ロボットの発話内容テキストとから、ロボットへの自動的な非言語動作付与を実現する。
図1は、本発明の一実施形態におけるロボット制御システムの構成例を示すブロック図である。
図1に示すように、本発明の一実施形態におけるロボット制御システムは、ロボット制御装置10、発話内容入力部200、ロボット301を有する。
また、ロボット制御装置10は、外部の制御対象としてのロボット301と接続可能である。
一例として、ロボット制御システムは、ロボット制御装置10をスマートフォン、タブレット型端末、パーソナルコンピュータ(PC)などのコンピュータデバイスとした装置とすることにより実現される。例えば、コンピュータデバイスは、CPU(Central Processing Unit)などのプロセッサと、プロセッサに接続されるメモリと、ロボット301と(例えば無線で)通信するための通信インタフェースと、を備える。なお、ロボット制御システムの実現形態は、この例に限定されるものではない。以下では、ロボット制御装置10は、ロボット301と別の構成であるとして説明するが、ロボット制御装置10がロボット301に組み込まれる構成であってもよい。
本実施形態におけるロボット対話制御システムは下記の構成を含む。
(1)ログ中の発話内容のテキストから発話内容の対話行為を推定する、対話行為推定部101(第1の推定手段)
(2)推定した対話行為に対する、この対話行為と一緒に実施される非言語動作の共起確率を複数種類の非言語動作についてそれぞれ求める、共起確率計算部102
(3)ロボットの新たな発話内容のテキストを入力する発話内容入力部200
(4)入力した新たな発話内容のテキストから、ロボットが音声発話する場合の発話時間(発話内容の音声発話に要する時間)や対話行為を発話情報として推定する、発話情報取得部201(第2の推定手段)
(5)共起確率や発話情報(発話時間、対話行為)をもとに、この発話情報における対話行為とともに実施されて、動作時間(動作開始から動作終了までに要する時間)の長さが発話時間に対応した長さである非言語動作を、新たな発話内容に付与する非言語動作として決定する、付与動作決定部203
(6)付与した非言語動作と入力された発話内容とからロボットの動作シナリオを自動生成する、動作シナリオ生成部300
発話内容を入力するために、発話内容入力部200は、事前に作成したテキストファイルを読み込ませても良いし、Webブラウザなどで動作するアプリケーションのユーザインターフェースにテキストを逐次入力しても良い。
ロボット301は、NW(ネットワーク)接続機能、音声発話機能(音声合成または音声ファイル再生)や非言語動作実施機能を有し、動作シナリオ生成部300で生成したシナリオに従って、音声発話や非言語動作を実行する。このロボットは複数台存在しても良く、動作シナリオ生成部300がロボット毎に動作シナリオを生成する。
また、本実施形態で対象とする動作シナリオは、非特許文献2に記載されたように、状態遷移図のノード上に発話内容や非言語動作などのロボット制御内容を記述し、ノード間のリンクに「発話完了」や「一定時間経過」などの遷移条件を記述したものとすることができる。
さらに、本実施形態で対象とする非言語動作は、非言語動作を構成する部分的な動作としてのプリミティブな動作を複数組み合わせた動作パターンとしてあらかじめ定義しておくことができる。非言語動作は、「継続」と「単発」でなる2種類の属性のいずれかを有する。
属性が「継続」である非言語動作は、「動作完了」の命令が設定されるまで、上記のプリミティブな動作を組み合わせた動作を繰り返し継続する動作である。また、属性が「単発」である非言語動作は、プリミティブな動作の組み合わせを全て実行したら終了する動作である。
(対話行為推定部101)
本実施形態において、ロボットの非言語動作を自動で付与するために、まず、対話行為推定部101は、過去に作成された動作シナリオログを読み込む。そして、対話行為推定部101は、動作シナリオ中の各ノード情報として、発話内容と非言語動作を取得し、各発話内容の対話行為DAiを決定する。対話行為は発話の意図を示す分類ラベルの1つであり、質問・挨拶・フィラー(filler)などの分類要素から構成される。
(共起確率計算部102)
次に、共起確率計算部102は、対話行為とロボットの非言語動作との共起確率を、全ての対話行為と複数種類の非言語動作とについてそれぞれ求める。ここで、ロボットのジェスチャ(非言語動作)集合をM={mo1,mo2,…,mok}とし、ある対話行為αの発話と一緒に非言語動作mo1が実施される共起確率をpα1とすると、対話行為αに対する各非言語動作の共起確率の離散分布は、pα={pα1, pα2,…,pαk}(このとき
)と表せる。
本実施形態では、このようにして求めた共起確率を利用して、新たな発話内容テキストが入力された際に、非言語動作を自動的に付与する手法を提案する。
(発話情報取得部201)
この手法では、発話情報取得部201が発話内容入力部200を介して入力した発話内容テキストTiから発話情報として、音声合成時の発話時間tiと対話行為DAiをそれぞれ推定する。
(付与動作決定部203)
次に、ここで取得した対話行為DAiをもとに、付与動作決定部203は、事前に共起確率計算部102が計算した、発話内容に基づく対話行為と非言語動作との共起確率を参照して、該当する共起確率の離散分布
を求める。付与動作決定部203は、この求めた離散分布から、共起確率の高い順に非言語動作moj'を自動的に選択し、この非言語動作の動作時間tallと発話時間tiとを比較しながら、発話時間tiを満たす時間にわたって動作する非言語動作moj'を1個以上付与する。
付与された非言語動作moj'の属性が「継続」である場合には、発話時間tiまでこの動作を繰り返し実行し、発話完了時に、継続していた動作を完了する。付与された非言語動作moj'の属性が「単発」である場合には、この非言語動作moj'内で反復しているプリミティブな動作部分のみを1回以上(事前設定したn回まで)繰り返してなる、新たな非言語動作moj''を生成し、これを付与する。
(動作シナリオ生成部300)
上記の手順を経て、発話内容テキストTiに対して付与された非言語動作集合から、動作シナリオ生成部300は、ロボットの動作シナリオを自動生成する。ロボット301は、この動作シナリオに従って、音声発話と非言語動作とをそれぞれ実行する。
次に、本発明の実施例について示す。本実施例では、発話内容の入力に沿って非言語動作を付与したロボットの動作シナリオを自動で生成し、1台のロボットの制御を実現することができる。
本実施例におけるロボット制御システムが有する機能は、(1)ロボットの過去の動作シナリオから、発話内容と非言語動作との共起確率をあらかじめ計算する共起確率計算機能、(2)共起確率にもとづき、発話時間と動作時間を考慮して、入力された発話内容から非言語動作を付与する非言語動作付与機能、(3)発話内容への非言語動作の付与結果から、ロボット制御プラットフォームに合わせて動作シナリオを生成する機能、に大別できる。
図1に示すように、ロボット制御システムのロボット制御装置10は、5つの制御モジュールと、6つの情報記憶装置を有する。
制御モジュールは、対話行為推定部101、共起確率計算部102、発話情報取得部201、付与動作決定部203、動作シナリオ生成部300を含む。
情報記憶装置は、例えば不揮発性メモリなどにより実現され、動作シナリオログ記憶部100、共起確率記憶部103、発話情報記憶部202、非言語動作記憶部204、部分動作記憶部205、付与動作記憶部206を含む。
共起確率計算機能について説明する。この機能は、動作シナリオログ記憶部100と、対話行為推定部101と、共起確率計算部102と、共起確率記憶部103とで実現される。
動作シナリオログ記憶部100は、過去に作成された、ロボットの動作シナリオログを保存する。対話行為推定部101は、動作シナリオ中のロボットの発話内容からロボットの対話行為を推定する。
共起確率計算部102は、対話行為推定部101により推定した対話行為と非言語動作とが共起する確率を計算する。共起確率記憶部103は、共起確率計算部102により計算した、各対話行為における非言語動作の共起確率を保存する。
図2は、本発明の一実施形態におけるロボット制御装置の動作シナリオログ記憶部100での記憶内容の一例を示す図である。
図2に示すように、動作シナリオログ記憶部100に記憶される動作シナリオログは、1行がロボットの動作シナリオの状態遷移図(以下、状態遷移図と称することがある)の1ノードに含まれる情報に対応し、(1)ノードID、(2)ノード内に記述された発話内容、(3)非言語動作ID、(4)次ノードへの遷移条件、(5)遷移先のノードID、を含む。
非言語動作IDは、後述する非言語動作記憶部204にも保存された情報であり、対となるノードIDに該当するノードでロボットに設定される非言語動作のIDである。
例えば、図2に示したノードID「1」に対応する行では、ノード「1」(ノードIDが「1」であるノード)で「こんにちは」との発話内容をロボットに発話させながら、非言語動作「1」(非言語動作IDが「1」である非言語動作)と非言語動作「2」(非言語動作IDが「2」である非言語動作)をそれぞれ実行する動作シナリオが記述されている。また、動作シナリオログ記憶部100には、他センサやデバイスの動作情報などを同時に保存してもよい。
図3は、本発明の一実施形態におけるロボット制御装置の共起確率記憶部103での記憶内容の一例を示す図である。図4は、本発明の一実施形態におけるロボット制御装置の非言語動作記憶部204での記憶内容の一例を示す図である。図5は、本発明の一実施形態におけるロボット制御装置の部分動作記憶部205での記憶内容の一例を示す図である。図6は、本発明の一実施形態におけるロボット制御装置の付与動作記憶部206での記憶内容の一例を示す図である。
図3に示すように、共起確率記憶部103は、各対話行為に対して、非言語動作毎の共起確率を保存する。図3に示した例では、対話行為「挨拶」に対して、非言語動作「1」(非言語動作IDが「1」である非言語動作)が0.5の確率(0から1の範囲内)で、非言語動作「2」(非言語動作IDが「2」である非言語動作)が「0.2」の確率で、非言語動作「3」(非言語動作IDが「3」である非言語動作)が「0.05」の確率でそれぞれ共起することを表す。
図7は、本発明の一実施形態におけるロボット制御装置による共起確率計算の手順の一例を示すフローチャートである。
図7に示すように、対話行為推定部101は、ロボットの動作シナリオの状態遷移図における各ノードに含まれるノード情報(ノードID、発話内容、非言語動作ID、遷移条件、遷移先ノード)を、動作シナリオログ記憶部100に記憶される動作シナリオログから読み出す(S11)。対話行為推定部101は、読み出したノード情報から発話内容のテキストと非言語動作IDとを取得し、この発話内容のテキストから対話行為を推定する(S12)。共起確率計算部102は、推定した各対話行為と非言語動作との共起確率をそれぞれ計算する(S13)。共起確率計算部102は、計算した、対話行為ごとの共起確率を共起確率記憶部103へ保存する。
次に、非言語動作付与機能について説明する。この機能は、発話情報取得部201と、発話情報記憶部202と、付与動作決定部203と、非言語動作記憶部204と、部分動作記憶部205と、付与動作記憶部206とで実現される。
発話情報取得部201は、シナリオ作成者が入力した、新たな発話内容のテキストから、対話行為や発話時間を推定したりすることで、発話情報を得る。発話情報記憶部202は、発話情報取得部201が取得した発話情報(発話時間と対話行為)を記憶する。
付与動作決定部203は、共起確率と発話時間に合わせて、ロボットの非言語動作を付与する。
非言語動作記憶部204は、ロボットに設定可能なプリミティブな動作(非言語動作を構成する部分的な動作)の組み合わせにより作成した非言語動作一覧を保存する。
部分動作記憶部205は、プリミティブな動作の情報を部分動作一覧として保存する。付与動作記憶部206は、発話内容に合わせて付与動作決定部203が、発話内容に自動的に付与した非言語動作の一覧を付与動作一覧として保存する。
図4に示すように、非言語動作一覧の1行が一つの非言語動作の情報を表し、(1)非言語動作ID、(2)非言語動作の動作名称、(3)非言語動作の属性、(4)非言語動作を構成する部分動作(例えば部分動作「1」〜「x」)を含む。
部分動作は、ロボットを制御する際の最もプリミティブな動作である。図5に示すように、部分動作記憶部205では、(1)各種の部分動作を一意に識別す部分動作ID、(2)部分動作をさせたいロボット関節の指定部分、(3)指定した関節をどの角度まで動かすかを示すパラメータ、(4)指定した角度までの遷移時間を示す動作時間、を対応付けて部分動作一覧として保存する。
図5に示した例では、部分動作ID「1」の動作は、ロボットの右手の関節を40°に300msの遷移時間で動かすことを表し、また、部分動作ID「2」の動作は、ロボットの右手の関節を0°に400msの遷移時間で動かすことを表す。この部分動作ID「1」の動作と部分動作ID「2」の動作とを組み合わせて、図4に示した例では「手を振る」(動作名称)という非言語動作を設定可能としている。
また、図4に示した例では、特殊な非言語動作として非言語動作「end」(非言語動作IDが「end」である非言語動作)を設定することができる。これは、「継続」の属性を持つ非言語動作に対して、この動作を完了する命令に相当し、非言語動作「end」を実施すると、ロボットの全ての関節を初期状態に戻すことができる。
図6に示すように、付与動作一覧では、(1)新たな発話内容のテキスト、(2)この発話内容に付与された非言語動作に対応する非言語動作ID、(3)発話内容に付与された非言語動作を構成する複数の部分動作に対応する部分動作ID、が記述される。また、この付与動作一覧では、発話時間に応じて、1種類の発話内容のテキストに複数の非言語動作が付与されることもある。
図6の例では、1、2行目における「こんにちは」という発話内容テキストに対して、1行目の非言語動作(部分動作IDが動作順に3、4、3、4である4つの部分動作でなる非言語動作)と2行目の非言語動作(部分動作IDが動作順に1、2である2つの部分動作でなる非言語動作)とがそれぞれ付与されている。
図8は、本発明の一実施形態におけるロボット制御装置の発話情報取得部201による発話情報取得の手順の一例を示すフローチャートである。
まず、発話情報取得部201は、シナリオ作成者の発話内容のテキスト入力が終了しないときに(S21のN)、発話内容入力部200から入力された発話内容Tiのテキストから対話行為Daiを推定する。また、発話情報取得部201は、発話内容Tiのテキストを音声合成し、この音声ファイルを再生する際の発話時間tiを取得し、これらの対話行為Daiと発話時間tiとを発話情報として発話情報記憶部202へ保存する(S22)。以後は、S21に戻り、シナリオ作成者の発話内容のテキスト入力が終了する(S21のY)まで、S22を繰り返す。
図9は、本発明の一実施形態におけるロボット制御装置による動作付与の手順の一例を示すフローチャートである。ここでは、新たな発話内容に非言語動作を付与する手順について説明する。
まず、付与動作決定部203は、新たな発話内容Tiから上記のように推定された対話行為Daiおよび発話時間tiを発話情報記憶部202に記憶される発話情報からそれぞれ読み出す(S31)。
あわせて、付与動作決定部203は、S31で読み出した対話行為Daiにおける各非言語動作の共起確率を共起確率記憶部103(図3参照)からそれぞれ読み出す(S32)。
次に、付与動作決定部203は、S31で読み出した対話行為Daiにおける非言語動作の集合M’(={mo1’,mo2,…,mok’}を共起確率記憶部103(図3参照)から取得する(S33)。
次に、付与動作決定部203は、発話内容に付与する非言語動作の全動作時間(以下で選択する非言語動作の実行に要する時間で総実行時間と称することもある)tallのカウンタの値を初期値の0に設定する(S34)。
以後は、非言語動作の付与を進めていく。ここでは、部分動作記憶部205の記憶内容(図5参照)は、非言語動作記憶部204に記憶されているものとする。具体的には、付与動作決定部203は、S33で取得した非言語動作の集合M’(={mo1’,mo2,…,mok’}のうち、選択前であって、S32で読み出した共起確率が最も高い非言語動作moj’の非言語動作IDを選択する(S35)。
付与動作決定部203は、この選択した非言語動作moj’の動作に要する時間である動作時間tmojを計算する(S36)。具体的には、付与動作決定部203は、非言語動作一覧(図4参照)における、S35で選択した非言語動作IDに対応付けられる各部分動作の部分動作IDを特定し、非言語動作記憶部204に記憶される部分動作一覧(図5参照)における、当該特定した各部分動作IDに対応付けられる動作時間を参照することで、S35で選択した非言語動作moj’を構成する各部分動作の動作時間の和を動作時間tmojとして求める。
付与動作決定部203は、S36で計算した動作時間tmojを、全動作時間tallのカウンタの現在の値に追加する(S37)。
付与動作決定部203は、S31で取得した発話時間tiと、S37での追加後の全動作時間tallのカウンタの現在の値とを比較する(S38)。
S38での比較の結果、S37での追加後の全動作時間tallのカウンタの現在の値が、S31で取得した発話時間ti以上であるとき(S38のY)は、付与動作決定部203は、S35で選択した非言語動作moj’を付与動作記憶部206に保存して(S39)、動作付与にかかる処理フローを終了する。図6で示すように、ここで付与する非言語動作moj’は、(1)S31で取得した新たな発話内容のテキスト、(2)非言語動作一覧(図4)における、S35で選択した非言語動作moj’(新たな発話内容に付与される非言語動作)の非言語動作ID、(3)非言語動作一覧(図4)における、この非言語動作IDと対となる属性、(4)非言語動作一覧(図4)における、上記の(2)で特定した非言語動作IDと対となる各部分動作の部分動作ID、を含む。
一方、S37での追加後の全動作時間のカウンタの現在の値tallがS31で取得した発話時間tiより小さいとき(S38のN)は、付与動作決定部203は、S35で選択された非言語動作moj’の属性に合わせて、必要に応じて全動作時間のカウンタの現在の値tallを延長する処理を行なう。
具体的には、S35で選択された非言語動作moj’の属性が「継続」であるときは(S40のY)、発話が終了する(非言語動作moj’にかかる時間の累積が発話時間tiに達する)まで、この非言語動作moj’を継続すればよく、発話終了後に当該非言語動作moj’を完了するように、付与動作決定部203は、非言語動作IDが「end」である非言語動作を付与動作記憶部206に保存して(S41)、動作付与にかかる処理フローを終了する。
ここで付与動作記憶部206に保存される非言語動作は、(1)S31で取得した発話内容のテキスト、(2)非言語動作ID「end」、(3)属性「単発」、(4)この非言語動作ID「end」と対となる各部分動作の部分動作ID、を含む。
つまり、S35で選択した非言語動作の属性が「継続」であるときに、S35で選択した非言語動作を、非言語動作に要する時間である動作時間が発話時間に達するまで繰り返してなる動作として求め、この求めた動作が、発話時間に対応した(動作時間の長さが発話時間に対応した長さである)非言語動作として決定される。例えば、S35で選択した非言語動作の1回の動作時間が発話時間の3分の1であるときは、この動作を3回繰り返してなる動作が、上記対応した非言語動作として決定される。
また、S35で選択された非言語動作moj’の属性が「単発」であるときは(S40のN)、発話時間tiに合わせて、更なる非言語動作を付与するか、付与動作の内で反復するプリミティブな動作の繰り返し回数を増やす。
具体的には、S35で選択された非言語動作moj’内に、反復するプリミティブな動作が存在しないときには(S42のN)、S35で選択した非言語動作moj’をS39と同様に付与動作記憶部206に保存した上で(S43)、S35に戻る。
このようにS35に戻ることで、先にS35で選択した非言語動作moj’と比較して、S32で取得した各非言語動作のうち未選択の非言語動作であって、共起確率が最も高い新たな非言語動作moj’を選択して、この動作に要する動作時間を反映した全動作時間と発話時間とが再度比較される。このように、選択した非言語動作に要する時間である動作時間と発話時間との間に差分があるときに、必要に応じ、複数種類の非言語動作(S32で取得した各非言語動作)のうち既に選択した非言語動作以外の非言語動作であって共起確率が最も高い非言語動作の選択が繰り返される。
一方で、S35で選択された非言語動作moj’内に、反復するプリミティブな動作(例えば図6に示す1行目の発話内容テキスト「こんにちは」に対する、部分動作ID「3」、「4」が反復する動作)が存在するときは(S42のY)、この反復するプリミティブな動作を1〜n回(n回は繰り返し回数の上限)繰り返したときの非言語動作moj’’を生成する(S44)。例えば、S35で選択した非言語動作に対し、上記の反復する動作をx回(n回が上限)繰り返した動作を追加した動作の動作時間が発話時間に達するときは、S35で選択した非言語動作が、この反復する動作を上記のx3回繰り返してなる動作を追加した動作に更新される。
この、反復するプリミティブな動作は、1つの部分動作IDに対応する部分動作が反復する動作であってもよいし、上記のように、複数の部分動作IDに対応する部分動作の集合を1まとまりの動作として、この動作が反復する動作であってもよい。
なお、上記のようにS44での繰り返し回数の最大値(n回)を事前に設定することで、S35で選択された非言語動作moj’内に反復するプリミティブな動作が過剰に繰り返されないようにすることができる。
付与動作決定部203は、S44で生成した非言語動作moj’’に要する動作時間を全動作時間tallのカウンタの現在の値に追加する(S45)。付与動作決定部203は、S44で生成した非言語動作moj’’を付与動作記憶部206に保存して(S46)、S31で取得した発話時間tiと、S45での追加後の全動作時間tallのカウンタの現在の値とを比較する(S47)。
S47の比較で、S45での追加後の全動作時間tallのカウンタの現在の値が、S31で取得した発話時間ti以上であるとき(S47のY)は、付与動作決定部203は、動作付与にかかる処理フローを終了する。
一方、S45での追加後の全動作時間のカウンタの現在の値tallがS31で取得した発話時間tiより小さいとき(S47のN)は、S35に戻る。
次に、非言語動作の付与結果からの動作シナリオ生成機能について説明する。この機能は動作シナリオ生成部300で実現することができる。
図10は、本発明の一実施形態におけるロボット制御装置による動作シナリオ生成の手順の一例を示すフローチャートである。
まず、動作シナリオ生成部300は、付与動作記憶部206に記憶される付与動作一覧(図6参照)の最初の行を選択し、この選択した行から(1)発話内容のテキストと、(2)付与された非言語動作IDを読み出し、これら読み出した発話内容と非言語動作IDを状態遷移図のノード内に記述する(S51)。
動作シナリオ生成部300は、付与動作一覧(図6参照)における、S51で選択した行の次の行を読み出す(S52)。この行に、S51で選択した行から読み出した発話内容のテキストと同一の発話内容のテキストが存在する場合で(S53のY)、この行で記述される非言語動作IDが「end」でない場合は(S54のN)、動作シナリオ生成部300は、この非言語動作IDを同一のノード内に記述する。(S55)。
一方、S51で選択した行から読み出した発話内容のテキストと同一の発話内容のテキストが、S52で選択した行に存在しない場合には(S53のN)、動作シナリオ生成部300は、ノード間の遷移条件を「発話完了」と設定し、S51でノードに記述された発話内容のテキストとを非言語動作IDを、このノードの次の新しいノードに設定する(S56)。
また、「継続」の属性を有する非言語動作IDが付与された場合の対応として、S54にて、非言語動作IDが「end」である場合には(S54のY)、動作シナリオ生成部300は、ノード間の遷移条件を「発話完了」と設定し、S51でノードに記述された発話内容のテキストとを非言語動作IDを、このノードの次の新しいノードに設定する(S56)。
以上説明したように、本発明の一実施形態におけるロボット制御装置は、過去に作成された、ロボットの動作シナリオ中の発話内容と非言語動作との共起関係を利用して、シナリオ作成者が入力した、ロボットの新たな発話内容のテキストをもとに、非言語動作を自動的に付与することができる。これにより、動作シナリオを作成するための労力が少なくなり、かつ、ロボットに何を話させるかを示す文章を書くだけで、ロボットの制御を行えることができるようになるため、動作シナリオの作成に習熟した人でなくとも、ロボットサービスを実現することができるようになる。
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
また、各実施形態に記載した手法は、計算機(コンピュータ)に実行させることができるプログラム(ソフトウエア手段)として、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段(実行プログラムのみならずテーブルやデータ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
10…ロボット制御装置、100…動作シナリオログ記憶部、101…対話行為推定部、102…共起確率計算部、103…共起確率記憶部、200…発話内容入力部、201…発話情報取得部、202…発話情報記憶部、203…付与動作決定部、204…非言語動作記憶部、205…部分動作記憶部、206…付与動作記憶部、300…動作シナリオ生成部、301…ロボット。

Claims (6)

  1. ロボットの発話内容と、前記ロボットの非言語動作の識別情報とを含むログ情報から、前記発話内容の意図の分類を示す情報である対話行為を推定する第1の推定手段と、
    前記第1の推定手段により推定された対話行為に対する、当該対話行為とともに実施される非言語動作の共起確率を計算する計算手段と、
    前記ロボットの新たな発話内容を取得し、この取得した発話内容の音声発話に要する時間である発話時間、および、前記取得した発話内容の意図の分類を示す情報である対話行為をそれぞれ推定する第2の推定手段と、
    前記第2の推定手段により推定された発話時間、前記第2の推定手段により推定された対話行為、および前記計算手段により計算された共起確率に基づいて、前記第2の推定手段により推定された対話行為とともに実施される動作で、かつ動作に要する時間である動作時間の長さが前記第2の推定手段により推定された発話時間に対応した長さである非言語動作を決定する決定手段と、
    前記決定手段により決定された非言語動作および前記新たな発話内容に基づいて、前記ロボットの動作シナリオを生成する生成手段とを備えたロボット制御装置。
  2. 前記計算手段は、
    前記第1の推定手段により推定された対話行為に基づいて、当該対話行為とともに実施される非言語動作の共起確率を複数種類の非言語動作についてそれぞれ計算し、
    前記決定手段は、
    前記複数種類の非言語動作のうち共起確率が最も高い非言語動作を選択し、
    前記選択した非言語動作に要する時間である動作時間と前記第2の推定手段により推定された発話時間との間に差分があるときに、前記複数種類の非言語動作のうち前記選択した非言語動作以外の非言語動作であって前記共起確率が最も高い非言語動作の選択を繰り返す請求項1に記載のロボット制御装置。
  3. 前記非言語動作を示す情報を、この非言語動作が、動作完了まで繰り返し継続する動作であるか否かを示す属性情報と対応付けて記憶する非言語動作記憶手段をさらに備え、
    前記決定手段は、
    前記決定手段により選択された非言語動作に対応する属性情報を前記非言語動作記憶手段から読み出し、当該属性情報が前記繰り返し継続する動作を示すときに、前記決定手段により選択された非言語動作を、前記決定手段により選択された非言語動作に要する時間である動作時間が前記第2の推定手段により推定された発話時間に達するまで繰り返した動作として、当該動作を、前記第2の推定手段により推定された対話行為とともに実施される動作で、かつ前記動作時間の長さが前記第2の推定手段により推定された発話時間に対応した長さである非言語動作として決定する請求項2に記載のロボット制御装置。
  4. 前記決定手段は、
    前記決定手段により選択された非言語動作が、同一の部分的な動作を反復した動作を含むときに、前記決定手段により選択された非言語動作を、前記同一の部分的な動作を反復した動作を繰り返す動作に更新する請求項2に記載のロボット制御装置。
  5. ロボット制御装置が行なうロボット制御方法であって、
    ロボットの発話内容と、前記ロボットの非言語動作の識別情報とを含むログ情報から、前記発話内容の意図の分類を示す情報である第1の対話行為を推定し、
    前記推定された対話行為に対する、当該対話行為とともに実施される非言語動作の共起確率を計算し、
    前記ロボットの新たな発話内容を取得し、この取得した発話内容の音声発話に要する時間である発話時間、および、前記取得した発話内容の意図の分類を示す情報である第2の対話行為をそれぞれ推定し、
    前記推定した発話時間、前記推定された前記第2の対話行為、および前記計算された共起確率に基づいて、前記推定された前記第2の対話行為とともに実施される動作で、かつ動作に要する時間である動作時間の長さが前記推定された発話時間に対応した長さである非言語動作を決定し、
    前記決定された非言語動作および前記新たな発話内容に基づいて、前記ロボットの動作シナリオを生成するロボット制御方法。
  6. 請求項1乃至4のいずれか1つにおけるロボット制御装置の前記各手段としてプロセッサを機能させるロボット制御プログラム。
JP2017154232A 2017-08-09 2017-08-09 ロボット制御装置、ロボット制御方法およびロボット制御プログラム Active JP6824127B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017154232A JP6824127B2 (ja) 2017-08-09 2017-08-09 ロボット制御装置、ロボット制御方法およびロボット制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017154232A JP6824127B2 (ja) 2017-08-09 2017-08-09 ロボット制御装置、ロボット制御方法およびロボット制御プログラム

Publications (2)

Publication Number Publication Date
JP2019030949A JP2019030949A (ja) 2019-02-28
JP6824127B2 true JP6824127B2 (ja) 2021-02-03

Family

ID=65522801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017154232A Active JP6824127B2 (ja) 2017-08-09 2017-08-09 ロボット制御装置、ロボット制御方法およびロボット制御プログラム

Country Status (1)

Country Link
JP (1) JP6824127B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102576788B1 (ko) 2020-08-21 2023-09-11 한국전자통신연구원 로봇 인터랙션 행위 생성 장치 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4246548B2 (ja) * 2003-05-30 2009-04-02 日本電信電話株式会社 統計情報を用いた対話方法及びその装置と、対話プログラム及びそのプログラムを記録した記録媒体
JPWO2007043679A1 (ja) * 2005-10-14 2009-04-23 シャープ株式会社 情報処理装置およびプログラム
JP5877418B2 (ja) * 2011-12-09 2016-03-08 株式会社国際電気通信基礎技術研究所 シナリオ生成装置およびシナリオ生成方法
JP5612720B1 (ja) * 2013-05-15 2014-10-22 日本電信電話株式会社 対話制御学習装置と対話制御装置とそれらの方法とプログラム
JP6310150B2 (ja) * 2015-03-20 2018-04-11 株式会社東芝 意図理解装置、方法およびプログラム

Also Published As

Publication number Publication date
JP2019030949A (ja) 2019-02-28

Similar Documents

Publication Publication Date Title
Bhattacharya et al. Speech2affectivegestures: Synthesizing co-speech gestures with generative adversarial affective expression learning
JP2019086679A (ja) 対話システム、対話方法および対話プログラム
US9117316B1 (en) Social identity models for automated entity interactions
Cambre et al. Methods and tools for prototyping voice interfaces
KR20200059112A (ko) 로봇 상호작용 시스템 및 그를 위한 프로그램
JP2020140628A (ja) 文生成装置、文生成方法、文生成学習装置、文生成学習方法及びプログラム
JP6824127B2 (ja) ロボット制御装置、ロボット制御方法およびロボット制御プログラム
Jannach et al. Conversational recommendation: A grand AI challenge
Suguitan et al. Affective robot movement generation using cyclegans
US9342912B1 (en) Animation control retargeting
Pohl et al. Body layars: A toolkit for body-based augmented reality
Michael et al. Retico: An open-source framework for modeling real-time conversations in spoken dialogue systems
Qian et al. Breaking the limits of text-conditioned 3d motion synthesis with elaborative descriptions
US11922141B2 (en) Voice and chatbot conversation builder
KR101964300B1 (ko) 지식모델을 이용한 로봇의 동작 구현 장치 및 방법
KR102431369B1 (ko) 대화형 인공지능을 이용한 코딩 방법 및 장치
US20210060775A1 (en) Splitting transformers for robotics planning
KR20200144296A (ko) 딥러닝 모델의 병렬 트레이닝 방법 및 장치
JP6678138B2 (ja) ロボット制御装置、ロボット制御方法およびロボット制御プログラム
Kim et al. Design of code template for automatic code generation of heterogeneous smartphone application
Blumendorf et al. Multimodal user interfaces for smart environments: the multi-access service platform
Meszaros et al. Speech-based natural language interface for UAV trajectory generation
KR20080028732A (ko) 디지털 캐릭터 동작생성 시스템 및 방법
CN113901267A (zh) 动作视频的生成方法、装置、设备及介质
Cui et al. Master of puppets: an animation-by-demonstration computer puppetry authoring framework

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20170821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170821

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200911

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: 20210105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210112

R150 Certificate of patent or registration of utility model

Ref document number: 6824127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250