IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 独立行政法人国立高等専門学校機構の特許一覧

特開2024-117108行動制御方法、行動制御プログラム、行動制御装置、およびコミュニケーションロボット
<>
  • 特開-行動制御方法、行動制御プログラム、行動制御装置、およびコミュニケーションロボット 図1
  • 特開-行動制御方法、行動制御プログラム、行動制御装置、およびコミュニケーションロボット 図2
  • 特開-行動制御方法、行動制御プログラム、行動制御装置、およびコミュニケーションロボット 図3
  • 特開-行動制御方法、行動制御プログラム、行動制御装置、およびコミュニケーションロボット 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024117108
(43)【公開日】2024-08-29
(54)【発明の名称】行動制御方法、行動制御プログラム、行動制御装置、およびコミュニケーションロボット
(51)【国際特許分類】
   A63H 11/00 20060101AFI20240822BHJP
   B25J 13/00 20060101ALI20240822BHJP
【FI】
A63H11/00 Z
B25J13/00 Z
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023023007
(22)【出願日】2023-02-17
(11)【特許番号】
(45)【特許公報発行日】2023-07-21
(71)【出願人】
【識別番号】504237050
【氏名又は名称】独立行政法人国立高等専門学校機構
(74)【代理人】
【識別番号】110001704
【氏名又は名称】弁理士法人山内特許事務所
(72)【発明者】
【氏名】大西 章也
(72)【発明者】
【氏名】石川 諒
【テーマコード(参考)】
2C150
3C707
【Fターム(参考)】
2C150CA02
2C150ED42
2C150ED47
3C707AS36
3C707KS23
3C707KS36
3C707KT01
3C707KT04
3C707LW12
3C707WA02
3C707WL06
3C707WL14
3C707WM06
(57)【要約】
【課題】ユーザの興味を持続するコミュニケーションができる行動制御方法を提供する。
【解決手段】行動制御方法は、ユーザとのコミュニケーションを目的としたコミュニケーションロボットの行動を制御する方法である。行動制御方法は、予め用意された複数の行動と対応付けられた複数の行動価値のそれぞれについて、対応する行動が実行された後の所定期間行動価値を低減した低減行動価値を求める低減行動価値演算工程と、予め定められた方策に従って複数の低減行動価値に基づき一の行動を選択する行動選択工程とを有する。低減行動価値演算工程および行動選択工程は、この順に繰り返し行われる。
【選択図】図2
【特許請求の範囲】
【請求項1】
ユーザとのコミュニケーションを目的としたコミュニケーションロボットの行動を制御する方法であって、
予め用意された複数の前記行動と対応付けられた複数の行動価値のそれぞれについて、対応する前記行動が実行された後の所定期間前記行動価値を低減した低減行動価値を求める低減行動価値演算工程と、
予め定められた方策に従って複数の前記低減行動価値に基づき一の前記行動を選択する行動選択工程と、を備え、
前記低減行動価値演算工程および前記行動選択工程は、この順に繰り返し行われる
ことを特徴とする行動制御方法。
【請求項2】
前記行動価値は複数の前記行動が属する行動カテゴリと一対一に対応しており、
前記行動選択工程は、予め定められたカテゴリ選択方策に従って複数の前記低減行動価値に基づき一の前記行動カテゴリを選択し、予め定められた行動選択方策に従って選択された前記行動カテゴリに属する複数の前記行動の中から一の前記行動を選択する
ことを特徴とする請求項1記載の行動制御方法。
【請求項3】
前記行動選択工程において選択された前記行動が実行されたときの前記ユーザの反応を取得するユーザ反応取得工程と、
前記ユーザの反応が肯定的であるほど高い値となるように、実行された前記行動に対応する前記行動価値を更新する学習工程と、をさらに備え、
前記低減行動価値演算工程、前記行動選択工程、前記ユーザ反応取得工程、および前記学習工程は、この順に繰り返し行われる
ことを特徴とする請求項1記載の行動制御方法。
【請求項4】
前記ユーザ反応取得工程において取得した前記ユーザの反応が連続して反肯定的である回数が上限回数に達した場合に、全ての前記行動価値を初期化する忘却工程をさらに備える
ことを特徴とする請求項3記載の行動制御方法。
【請求項5】
請求項1~4のいずれかに記載の行動制御方法をコンピュータに実行させる
ことを特徴とする行動制御プログラム。
【請求項6】
請求項1~4のいずれかに記載の行動制御方法を実行するコンピュータからなる
ことを特徴とする行動制御装置。
【請求項7】
請求項6記載の行動制御装置を備える
ことを特徴とするコミュニケーションロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行動制御方法、行動制御プログラム、行動制御装置、およびコミュニケーションロボットに関する。さらに詳しくは、本発明は、人間とコミュニケーションを行うロボットの行動を制御する方法、プログラム、および装置、ならびに人間とコミュニケーションを行うロボットに関する。
【背景技術】
【0002】
特許文献1には、人間とコミュニケーションを行うことを目的として発話および身体動作といった行動を行うコミュニケーションロボットが開示されている。このロボットは、ロボットが行動したときの人間の移動距離および顔の向きに基づいて快・不快を判別し、ロボットの行動に関係するパラメータ(対人距離、注視時間、遅れ時間、および再生速度)を強化学習により最適化する。これにより、人間がロボットと快適にコミュニケーションを行うことができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006-247780号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ロボットが行う行動自体も個々の人間により好みが分かれるため、行動の選択を強化学習により最適化することが考えられる。この場合、強化学習は予め用意された各行動の価値を増減させながら進められる。ユーザが肯定的な反応を示す行動に対して報酬を割り当てる強化学習を行えば、ユーザが興味を引く行動が選択されやすくなる。
【0005】
しかし、強化学習が進み、特定の行動の価値が高くなると、ロボットは価値の高い行動ばかりを実行するようになり、コミュニケーションのバリエーションが少なくなる。そうすると、ユーザが飽きやすいコミュニケーションロボットとなる。
【0006】
本発明は上記事情に鑑み、ユーザの興味を持続するコミュニケーションができる行動制御方法、行動制御プログラム、行動制御装置、およびコミュニケーションロボットを提供することを目的とする。
【課題を解決するための手段】
【0007】
第1態様の行動制御方法は、ユーザとのコミュニケーションを目的としたコミュニケーションロボットの行動を制御する方法であって、予め用意された複数の前記行動と対応付けられた複数の行動価値のそれぞれについて、対応する前記行動が実行された後の所定期間前記行動価値を低減した低減行動価値を求める低減行動価値演算工程と、予め定められた方策に従って複数の前記低減行動価値に基づき一の前記行動を選択する行動選択工程と、を備え、前記低減行動価値演算工程および前記行動選択工程は、この順に繰り返し行われることを特徴とする。
第2態様の行動制御方法は、第1態様において、前記行動価値は複数の前記行動が属する行動カテゴリと一対一に対応しており、前記行動選択工程は、予め定められたカテゴリ選択方策に従って複数の前記低減行動価値に基づき一の前記行動カテゴリを選択し、予め定められた行動選択方策に従って選択された前記行動カテゴリに属する複数の前記行動の中から一の前記行動を選択することを特徴とする。
第3態様の行動制御方法は、第1態様において、前記行動選択工程において選択された前記行動が実行されたときの前記ユーザの反応を取得するユーザ反応取得工程と、前記ユーザの反応が肯定的であるほど高い値となるように、実行された前記行動に対応する前記行動価値を更新する学習工程と、をさらに備え、前記低減行動価値演算工程、前記行動選択工程、前記ユーザ反応取得工程、および前記学習工程は、この順に繰り返し行われることを特徴とする。
第4態様の行動制御方法は、第3態様において、前記ユーザ反応取得工程において取得した前記ユーザの反応が連続して反肯定的である回数が上限回数に達した場合に、全ての前記行動価値を初期化する忘却工程をさらに備えることを特徴とする。
第5態様の行動制御プログラムは、第1~第4態様のいずれかの行動制御方法をコンピュータに実行させることを特徴とする。
第6態様の行動制御装置は、第1~第4態様のいずれかの行動制御方法を実行するコンピュータからなることを特徴とする。
第7態様のコミュニケーションロボットは、第6態様の行動制御装置を備えることを特徴とする。
【発明の効果】
【0008】
第1態様によれば、実行された行動に対応する行動価値を一時的に低減した低減行動価値に基づいて次の行動を選択するので、行動価値が高い行動が連続して選択されることを抑制できる。その結果、コミュニケーションのバリエーションが多くなり、ユーザの興味を持続できる。
第2態様によれば、行動カテゴリの中から一の行動を選択するので、同じ行動が連続して選択されることをさらに抑制できる。
第3態様によれば、ユーザの反応に応じて行動価値を更新することで、ユーザの興味を引く行動が選択されやすくなる。
第4態様によれば、ユーザが特定の行動または行動カテゴリに飽きた場合に再学習するので、ユーザの好みの変化に対応して行動を選択できる。
第5~第7態様のいずれにおいても、コミュニケーションのバリエーションが多くなり、ユーザの興味を持続できる。
【図面の簡単な説明】
【0009】
図1】一実施形態に係るコミュニケーションロボットの全体図である。
図2】同コミュニケーションロボットの機能ブロック図である。
図3】一実施形態に係る行動制御方法を示すフローチャートの前半部である。
図4】同フローチャートの後半部である。
【発明を実施するための形態】
【0010】
つぎに、本発明の実施形態を図面に基づき説明する。
図1に示すように、本発明の一実施形態に係るコミュニケーションロボットAAは、人間とコミュニケーションを行うことを目的としたロボットである。本明細書では、コミュニケーションロボットAAとコミュニケーションを行う人間を「ユーザU」という。
【0011】
コミュニケーションロボットAAの外観は特に限定されない。コミュニケーションロボットAAの外観は、動物などを模したぬいぐるみでもよいし、機械的な所謂ロボットでもよい。コミュニケーションロボットAAは音声のみで対話するスマートスピーカでもよい。また、コミュニケーションロボットAAは物理的な外観を有しなくてもよく、仮想空間上のキャラクターでもよい。
【0012】
本明細書では、コミュニケーションロボットAAがユーザUとのコミュニケーションを目的として行う個々の具体的な動作を「行動」という。コミュニケーションロボットAAには、その構成上実行可能な行動が予め複数用意されている。コミュニケーションロボットAAは用意された複数の行動の中から一の行動を選択し実行することを繰り返してユーザUとのコミュニケーションを行う。
【0013】
コミュニケーションロボットAAに用意された複数の行動を複数の行動カテゴリに分類してもよい。各行動はいずれか一の行動カテゴリに属する。また、各行動カテゴリには複数の行動が属する。すなわち、行動カテゴリと行動とは一対多の関係にある。行動カテゴリとして、例えば、身振り、挨拶、質問、擬態語、および冗談などが挙げられる。身振りに属する行動として、例えば、右手を振る、左手を振る、および両手を振るなどが挙げられる。挨拶に属する行動として、例えば、「おはようございます」、「こんにちは」、および「お疲れ様」などが挙げられる。
【0014】
図2に示すように、コミュニケーションロボットAAは行動制御装置10を有する。行動制御装置10は、CPU、メモリなどで構成されたコンピュータからなる。コンピュータとしてマイクロコントローラを用いてもよい。コンピュータに行動制御プログラムをインストールすることで、行動制御装置10としての機能が実現する。行動制御プログラムは後述の行動制御方法をコンピュータに実行させるプログラムである。行動制御プログラムはコンピュータ読み取り可能な記憶媒体(非一過性のものを含む)に記憶してもよい。
【0015】
行動制御装置10は、行動実行部11、反応評価部12、記憶部13、行動選択部14、および学習部15を有する。これらは、ハードウエアで構成されてもよいし、プログラムをコンピュータにインストールすることにより実現してもよい。
【0016】
コミュニケーションロボットAAは行動を実現するための各種の機器(以下、「行動実現機器」という。)を有する。行動実現機器として、例えば、アクチュエータ21、スピーカ22、およびディスプレイ23などが挙げられる。アクチュエータ21はコミュニケーションロボットAAの骨組みを動かし、身振りなどの物理的な行動を実現するのに用いられる。アクチュエータ21としてモータ、シリンダなどが挙げられる。スピーカ22は音声を再生することにより、言語による行動を実現するのに用いられる。ディスプレイ23は文字、図柄などを表示することにより、文章などによる行動を実現するのに用いられる。なお、コミュニケーションロボットAAが有する行動実現機器21~23の種類および数は特に限定されない。
【0017】
行動制御装置10の行動実行部11は、選択された行動が実行されるように各種の行動実現機器21~23の動作を制御する。
【0018】
コミュニケーションロボットAAは、コミュニケーションロボットAAが行動を実行したときのユーザUの反応を検知する各種のセンサを有する。センサとして、例えば、カメラ31、マイク32、距離センサ33、加速度センサ34、およびスイッチ35などが挙げられる。カメラ31はユーザUの画像を取得し、ユーザUの表情などを検知するのに用いられる。マイク32はユーザUの音声を取得し、ユーザUの発話の長さ、声の大きさなどを検知するのに用いられる。距離センサ33はコミュニケーションロボットAAとユーザUとの距離を測定するのに用いられる。距離センサ33として超音波距離センサなどの非接触式距離センサが好適に用いられる。加速度センサ34はコミュニケーションロボットAAの加速度を測定し、コミュニケーションロボットAAに対するユーザUの物理的な接触動作を検知するのに用いられる。ユーザUの接触動作としてコミュニケーションロボットAAの抱き抱えなどが挙げられる。スイッチ35は、例えば、好き、嫌いなどに対応する複数のスイッチからなり、行動の好き嫌いをユーザUが直接フィードバックするのに用いられる。なお、コミュニケーションロボットAAが有するセンサ31~35の種類および数は特に限定されない。
【0019】
行動制御装置10の反応評価部12は、各種のセンサ31~35から得られた情報を分析して、ユーザUの反応を評価する。評価方法は、例えば、つぎのとおりである。反応評価部12は、パターン認識、深層学習による画像認識などの技術を用いて、カメラ31で得られた画像からユーザUの表情を識別する。そして、反応評価部12はユーザUの表情に応じてスコアを決定する。例えば、「怒り」は-2、「悲しみ」は-2、「恐怖」は-2、「嫌悪」は-1、「不検出」は0、「中立」は+1、「驚き」は+1、「幸福」は+2とする。反応評価部12はマイク32で得られた音声の大きさまたは長さに応じてスコアを決定する。例えば、音声の長さが0秒の場合は0、0秒超3秒以下の場合は+1、3秒超の場合は+2とする。反応評価部12は距離センサ33の測定値に応じてスコアを決定する。例えば、距離が20cm未満の場合は+2、20cm以上40cm未満の場合は+1、40cm以上100cm未満の場合は0、100cm以上の場合は-2とする。反応評価部12は加速度センサ34で検知した動きの強さ(加速度の大きさ)に応じてスコアを決定する。例えば、動きなしの場合は0、弱の場合は+1、強の場合は+2とする。反応評価部12は押下されたスイッチ35の種類に応じてスコアを決定する。例えば、好きボタンが押下された場合は+1、嫌いボタンが押下された場合は-1、いずれのボタンも押下されていない場合は0とする。
【0020】
つぎに、反応評価部12は各スコアの合計値に基づきユーザUの反応を特定する。例えば、ユーザUの反応を否定的、中立、肯定的の3種類に分けて特定してもよい。反応の種類の数は特に限定されず、より多くてもよい。肯定的をさらに2種類に分けて、ユーザUの反応を否定的、中立、中程度肯定的、高程度肯定的の4種類で特定してもよい。この場合、スコアの合計値が負の場合は否定的、0の場合は中立、1または2の場合は中程度肯定的、3以上の場合は高程度肯定的とすればよい。
【0021】
行動制御装置10の記憶部13、行動選択部14、および学習部15は、Q学習などの強化学習をベースとした独自のアルゴリズムにより、予め用意された複数の行動の中から一の行動を選択する。
【0022】
記憶部13には複数の行動と対応付けられた複数の行動価値Qが記憶されている。行動価値QはQ学習におけるQ値に相当し、強化学習により最適化される値である。「複数の行動と対応付けられた複数の行動価値Q」には、行動価値Qと行動とが一対一に対応する場合も、一対多に対応する場合も含まれる。すなわち、各行動価値Qは一または複数の行動と対応付けられている。後者の場合、行動価値Qと行動カテゴリとを一対一に対応させればよい。以下、行動価値Qと行動カテゴリとが一対一に対応する場合を主に説明する。
【0023】
Q学習の場合、状態sおよび行動aごとに行動価値Q(s,a)が定められる。全ての行動価値Q(s,a)が格納された配列を行動価値配列という。行動価値配列はQ学習におけるQテーブルに相当する。状態sの数をN、行動aの数をNとすると、行動価値配列はN×Nの二次元配列である。状態sとしてユーザUの反応を用いることができる。また、aとして行動の代わりに行動カテゴリを用いることができる。例えば、ユーザUの反応sを否定的、中立、中程度肯定的、高程度肯定的の4種類とし、行動カテゴリaを身振り、挨拶、質問、擬態語、および冗談の5種類とした場合、行動価値配列は4×5の二次元配列である。行動価値Qを状態sごとの値としなくてもよい。この場合、行動価値配列は1×Nの一次元配列である。
【0024】
行動選択部14は、記憶部13に記憶された行動価値Q(s,a)に基づき、予め用意された複数の行動の中から一の行動を選択する。選択された行動の識別子は行動実行部11に入力される。行動実行部11は各種の行動実現機器21~23の動作を制御して、選択された行動を実行する。
【0025】
コミュニケーションロボットAAが行動を実行したときのユーザUの反応は各種のセンサ31~35により検知される。反応評価部12は各種のセンサ31~35から得られた情報を分析して、ユーザUの反応を評価する。その評価結果は学習部15に入力される。学習部15はユーザUの反応に基づき記憶部13に記憶された行動価値Q(s,a)を更新する。これにより、行動価値配列がユーザUに対して最適化され、ユーザUの好みが学習される。
【0026】
つぎに、図3および図4に示すフローチャートに基づき、行動制御装置10が実行する行動制御方法を説明する。
まず、行動制御装置10は初期化を行う(ステップS10)。初期化には行動価値配列の初期化が含まれる。具体的には全ての行動価値Q(s,a)の値を0にすればよい。行動価値Q(s,a)の初期値は0以外の値でもよいし、状態sおよび行動カテゴリaごとに異なる値でもよい。例えば、予め強化学習により一般的なユーザUに適した行動価値配列を求めておき、初期化の際にその行動価値配列を適用してもよい。また、行動制御装置10は行動制御方法で用いるその他の変数を初期化する。
【0027】
Q学習では報酬または罰が与えられるまでの過程をエピソードといい、学習が十分行われるまでエピソードを繰り返す。本実施形態ではステップS02からステップS11までの処理がエピソードであり、この処理が繰り返し行われる。エピソードの開始時に行動制御装置10は必要に応じてエピソード開始処理を行う(ステップS02)。エピソード開始処理には、例えば、コミュニケーションロボットAAを初期位置に戻すなどの処理が含まれる。また、一のエピソードが開始されてから終了するまでの間に、ステップS03からステップS11までの処理が複数回繰り返し行われることがある。
【0028】
ステップS03においてユーザUの反応を取得し、ステップS05(行動選択工程)において一の行動が選択され、ステップS06においてコミュニケーションロボットAAがその行動を実行する。説明の便宜上、これらの処理は後に詳説する。
【0029】
反応評価部12は、ステップS05(行動選択工程)において選択された行動が実行されたときのユーザUの反応を各種のセンサ31~35から得られた情報に基づき評価する。学習部15は反応評価部12からユーザUの反応を取得する(ユーザ反応取得工程:ステップS07)。ここで、学習部15が取得するユーザUの反応は、例えば、否定的、中立、中程度肯定的、高程度肯定的のいずれかである。
【0030】
つぎに、学習部15は、ユーザUの反応が肯定的であるほど高い値となるように、実行された行動に対応する行動価値Q(s,a)を更新する(学習工程:ステップS08)。ここで、行動価値Qと行動カテゴリとが一対一に対応する場合、「実行された行動に対応する行動価値」とは、実行された行動が属する行動カテゴリに対応する行動価値を意味する。
【0031】
例えば、行動前の状態sにおいて行動カテゴリaを実行したときの行動価値Q(s,a)を以下の式(1)に従い更新する。
【数1】
ここで、sは行動前の状態、st+1は行動後の状態、aは実行した行動カテゴリ、a´は行動後の状態st+1において取り得る全ての行動カテゴリのうち最大の行動価値を有する行動カテゴリ、maxQ(st+1,a´)は行動カテゴリa´の行動価値、rt+1は行動後の状態st+1に応じた報酬または罰、αは学習率、γは割引率である。
【0032】
行動前の状態sはステップS03において取得されたユーザUの反応である。行動後の状態st+1はステップS07において取得されたユーザUの反応である。また、学習率αは0超1以下の値であり、割引率γは0以上1未満の値である。
【0033】
t+1は行動後の状態st+1、すなわちユーザUの反応に応じた値をとる。rt+1が正の値の場合を報酬、負の値の場合を罰という。ユーザUの反応が肯定的である場合に報酬を与え、否定的である場合に罰を与えればよい。例えば、ユーザUの反応が否定的である場合はrt+1=-10、中立である場合はrt+1=0、中程度肯定的である場合はrt+1=+5、高程度肯定的である場合はrt+1=+10とする。
【0034】
例えば、コミュニケーションロボットAAが「こんにちは」と挨拶し、それに対してユーザUが「こんにちは」と返事をしたとする。このときのユーザUの音声がマイク32で取得され、音声の長さからユーザUの反応が肯定的であると評価される。そうするとその行動が属する行動カテゴリ(挨拶)に対して報酬が与えられる。すなわち、挨拶に対応する行動価値Qの値が増加する。そうすると、次回以降、挨拶に属する行動が選ばれやすくなる。
【0035】
一方、コミュニケーションロボットAAが両手を振る身振りをし、それに対してユーザUが無視したとする。このときのユーザUの画像がカメラ31で取得され、画像認識によりユーザUの反応が否定的であると評価される。そうするとその行動が属する行動カテゴリ(身振り)に対して罰が与えられる。すなわち、身振りに対応する行動価値Qの値が減少する。そうすると、次回以降、身振りに属する行動が選ばれにくくなる。
【0036】
このように、ユーザUの反応に応じて行動価値Qを更新することで、次回以降、ユーザUの興味を引く行動が選択されやすくなる。
【0037】
説明の便宜上、ステップS09およびステップS10の処理は後に詳説する。ステップS11において、行動制御装置10は報酬または罰が与えられたか否かを判断する。例えば、行動後のユーザUの反応が否定的または肯定的である場合には、報酬または罰が与えられる。この場合、エピソードを終了し、新たなエピソードが開始される。すなわち、行動制御装置10の処理はステップS02に戻る。一方、行動後のユーザUの反応が中立である場合には、報酬も罰も与えられない。この場合、エピソードが継続される。すなわち、行動制御装置10の処理はステップS03に戻る。
【0038】
ステップS03において、行動選択部14は反応評価部12からユーザUの反応を取得する。ただし、前回の行動から時間が経過している場合、センサ31~35から得られる情報ではユーザUの反応を適切に評価できない場合がある。具体的には、行動前のユーザUの反応が中立と評価されることが多くなる。そうすると、行動価値配列全体の最適化に時間を要する。そこで、前回の行動後にステップS07で得られたユーザUの反応をそのまま今回の行動前のユーザUの反応として用いてもよい。そうすれば、行動前のユーザUの反応が中立に偏ることがなく、行動価値配列の最適化が早くなる。
【0039】
なお、行動価値Qを状態sごとの値とせず、行動価値配列を1×Nの一次元配列とする場合には、ステップS03の処理を行う必要がない。
【0040】
一般的な強化学習では行動価値Qに基づき行動を選択する。例えば、行動価値Qが最大の行動を選択する。しかし、本実施形態では、行動価値Qに代えて低減行動価値qに基づき行動を選択する。ここで、低減行動価値qとは、対応する行動が実行された後の所定期間行動価値Qを低減した値である。行動選択部14は、状態s(ステップS03において取得したユーザUの反応)に対応する全ての行動価値Qのそれぞれについて低減行動価値qを求める(低減行動価値演算工程:ステップS04)。
【0041】
例えば、式(2)に示すように、低減行動価値qは行動価値Qから抑制値Rを減じて求められる。
【数2】
【0042】
抑制値Rは、例えば、式(3)で表される。
【数3】
ここで、τは行動カテゴリaのカウンタである。τは行動カテゴリaに属する行動が実行されたときに0にリセットされ、いずれかの行動が実行されるたびにインクリメントされる。τは行動価値Qを低減する行動回数であり、任意の値が設定される。Rは抑制値Rの最大値である。
【0043】
式(2)および式(3)で求められる低減行動価値qは、行動カテゴリaに属する行動が実行された直後は行動価値Qから最大の抑制値Rが減じられた値となる。その後いずれかの行動が実行されるたびに段階的に低減行動価値qが増加する。行動カテゴリaに属する行動が実行された後の行動回数がτに達した後は、低減行動価値qは行動価値Qと等しくなる。
【0044】
なお、低減行動価値qは行動価値Qを一時的に低減した値であればよく、その求め方は式(2)および式(3)に限定されない。行動回数がτに達するまで行動価値Qから一定の値を減じて低減行動価値qを求めてもよい。また、行動価値Qに抑制係数(0以上1未満の値)を乗じて低減行動価値qを求めてもよい。さらに、行動価値Qを低減する期間を行動回数により定めるのに代えて時間により定めてもよい。すなわち、行動価値Qを一定時間低減して低減行動価値qを求めてもよい。したがって、行動価値Qを低減する「所定期間」とは、行動回数により定められた期間のほか、時間により定められた期間なども含む概念である。
【0045】
つぎに、行動選択部14は、状態s(ステップS03において取得したユーザUの反応)に対応する全ての低減行動価値qに基づき一の行動を選択する(行動選択工程:ステップS05)。ここで、行動は予め定められた方策に従って選択される。「方策」とは行動を選択する規則を意味する。方策は、低減行動価値qが高いほど、それに対応する行動が選択される確率が高くなるよう定められる。そうすれば、ユーザUが興味を引きやすい行動を選択できる。
【0046】
行動価値Q(低減行動価値q)が行動カテゴリと一対一に対応する場合、行動の選択は2段階で行われる。すなわち、1段階目で一の行動カテゴリを選択し、2段階目で行動カテゴリの中から一の行動を選択する。方策は段階ごとに定められる。1段階目の方策をカテゴリ選択方策といい、2段階目の方策を行動選択方策という。
【0047】
まず、行動選択部14は、予め定められたカテゴリ選択方策に従って、状態s(ステップS03において取得したユーザUの反応)に対応する全ての低減行動価値qに基づき一の行動カテゴリを選択する。カテゴリ選択方策として、グリーディー法、ε-グリーディー法、ボルツマン選択などQ学習に用いられる公知の方策を採用できる。例えば、グリーディー法による場合、行動選択部14は低減行動価値qが最も高い行動カテゴリを選択する。
【0048】
また、カテゴリ選択方策としてつぎの方策を採用してもよい。まず、値が降順に並んだ確率配列を用意する。確率配列の要素数Mは行動カテゴリと同数またはそれよりも少ない数である。また、確率配列の全ての要素の値の和は1である。つぎに、0~1の一様乱数を生成する。乱数値が1番目の要素の値未満の場合は低減行動価値qが1番大きい行動カテゴリを選択する。乱数値が1番目の要素の値以上、2番目の要素以前の総和未満の場合は低減行動価値qが2番目に大きい行動カテゴリを選択する。乱数値が2番目の要素以前の総和以上、3番目の要素以前の総和未満の場合は低減行動価値qが3番目に大きい行動カテゴリを選択する。すなわち、乱数値がm-1番目の要素以前の総和以上、m番目の要素以前の総和未満の場合は低減行動価値qがm番目に大きい行動カテゴリを選択する。乱数値がM-1番目の要素以前の総和以上の場合は全ての行動カテゴリの中から1つをランダムに選択する。
【0049】
例えば、行動カテゴリを5種類とした場合、確率配列として[0.80, 0.12, 0.06, 0.02]を用意する。乱数値が0.80未満の場合は低減行動価値qが1番大きい行動カテゴリを選択する。乱数値が0.80以上、0.92未満の場合は低減行動価値qが2番目に大きい行動カテゴリを選択する。乱数値が0.92以上、0.98未満の場合は低減行動価値qが3番目に大きい行動カテゴリを選択する。乱数値が0.98以上の場合は全ての行動カテゴリの中から1つをランダムに選択する。以上の手順で、身振り、挨拶、質問、擬態語、および冗談の5種類の行動カテゴリの中から、ユーザUの興味を引きやすい一の行動カテゴリが選択される。
【0050】
つぎに、行動選択部14は、予め定められた行動選択方策に従って、選択された行動カテゴリに属する複数の行動の中から一の行動を選択する。行動の選択はランダムに行ってもよいし、他の規則に従ってもよい。例えば、行動カテゴリとして挨拶が選択された場合、現在時刻に適した語句を選択してもよい。
【0051】
行動選択部14は選択した行動の識別子を行動実行部11に入力する。行動実行部11は各種の行動実現機器21~23の動作を制御して、入力された識別子に対応する行動を実行する(ステップS06)。反応評価部12はこのときのユーザUの反応を評価する。(ステップS07)。学習部15はユーザUの反応に基づいて行動価値Qを更新する(ステップS08)。このように、低減行動価値演算工程(ステップS04)、行動選択工程(ステップS05)、ユーザ反応取得工程(ステップS07)、および学習工程(ステップS08)は、この順に繰り返し行われる。
【0052】
行動選択工程(ステップS05)では、行動価値Qそのものではなく、過去に実行された行動に対応する行動価値Qを一時的に低減した低減行動価値qに基づいて次の行動を選択する。そのため、行動価値Qが高い行動カテゴリが連続して選択されることを抑制できる。
【0053】
さらに、本実施形態では、個々の行動ではなく、複数の行動が属する行動カテゴリと一対一に行動価値Q(低減行動価値q)が定められている。そして、行動カテゴリの選択および行動の選択という2段階で一の行動を選択する。行動カテゴリの中から一の行動を選択するので、同じ行動カテゴリが連続して選択されたとしても、同じ行動が連続して選択されることを抑制できる。その結果、コミュニケーションロボットAAのコミュニケーションのバリエーションが多くなり、ユーザUの興味を持続できる。
【0054】
また、行動カテゴリに対して行動価値Qを定めることで、個々の行動に対して行動価値Qを定める場合に比べて、行動価値配列の要素数を少なくできる。そのため、機械学習を効率よく行うことができ、行動価値Qを早期に最適化できる。
【0055】
行動制御装置10は、行動の選択、実行、およびユーザUの反応に基づく学習を繰り返し行うことにより、特定のユーザUに対して行動価値Qを最適化する。行動価値Qを最適化することにより、ユーザUが好む行動が選択されやすくなる。しかし、人間はコミュニケーションロボットAAの特定の行動に飽きたり、好みが変化したりすることがある。そこで、行動制御装置10は、行動価値Qを初期化して、ユーザUの好みを再学習してもよい。
【0056】
具体的には、行動制御装置10はつぎの処理を行う。学習部15は、ユーザ反応取得工程(ステップS07)において取得したユーザUの反応が反肯定的である場合に、それが連続する回数(以下、「反肯定的回数」という。)をカウントする。「反肯定的」とは肯定的な反応以外の反応を意味する。例えば、ユーザUの反応を否定的、中立、中程度肯定的、高程度肯定的の4種類で特定する場合、否定的および中立が反肯定的に該当する。「反肯定的回数」は行動を基準にカウントされる。
【0057】
ステップS09において、学習部15は、反肯定的回数が上限回数に達したか否かを判断する。上限回数は予め任意の回数に設定される。反肯定的回数が上限回数に達していない場合、行動制御装置10はステップS11の処理を行う。一方、反肯定的回数が上限回数に達した場合、学習部15は全ての行動価値Qを初期化する(忘却工程:ステップS10)。初期化は全ての行動価値Qの値を0にすることにより行えばよい。
【0058】
行動価値Qを初期化した後は、コミュニケーションロボットAAが行動を実行するたびに、再び行動価値Qの最適化(学習)が行われる。このように、ユーザUが特定の行動または行動カテゴリに飽きた場合に再学習することで、ユーザUの好みの変化に対応して行動を選択できるようになる。
【0059】
〔その他の実施形態〕
行動価値Qは行動と一対一に対応してもよい。すなわち、個々の行動ごとに行動価値Qを定めてもよい。この場合、行動選択工程(ステップS05)における行動の選択は1段階で行われる。このときの方策は、低減行動価値qが高いほど、それに対応する行動が選択される確率が高くなるよう定められる。個々の行動ごとに行動価値Qを定めれば、ユーザUの細かな好みを学習することができる。
【0060】
行動価値Qの最適化(機械学習)を行わなくてもよい。この場合、行動制御装置10はユーザ反応取得工程(ステップS07)および学習工程(ステップS08)を行う必要がない。例えば、エピソードを所定回数繰り返して学習が十分に行われた後は、学習済みの行動価値配列に基づいて行動を選択すればよい。また、予め強化学習により一般的なユーザUに適した行動価値配列を求めておき、その学習済みの行動価値配列を記憶部13に記憶しておいてもよい。この場合、行動制御装置10は機械学習の機能を有しなくてもよい。
【符号の説明】
【0061】
AA コミュニケーションロボット
10 行動制御装置
11 行動実行部
12 反応評価部
13 記憶部
14 行動選択部
15 学習部
21~23 行動実現機器
31~35 センサ
図1
図2
図3
図4