JP 2019-169147 A 2019.10.3(57)【要約】【課題】システム構築と変更が容易であり、多種多様なセンサに柔軟に対応でき、また少量のデータで効率的に学習が実現でき、推定精度も高い情報処理装置を提供する。
【解決手段】情報処理装置は、種々のセンサから得られる各々のイベントの内容を、入力同期併合処理部、学習
データ処理部を通じて、条件判断処理部に引き渡す。これらは定義ファイルにて複数回使用することが可能であり、これらを組み合わせることで、複雑なデータフロー
を容易に形成し、多種多様なＡＤＬの識別あるいは推定を行うことができる。
【選択図】図３

(2)JP 2019-169147 A 2019.10.3【特許請求の範囲】【請求項１】
時系列データを所定の時間間隔毎に区切り、日時情報とタグ名を付したイベントとして出力する入出力整形処理部と、主入力側のイベントと副入力側のイベントを併合し、日時情報とタグ名を付した単一のイベントに変換して出力する入力同期併合処理部と、単一のイベントに含まれるデータに対し、所定の条件判断を行い、条件判断の結果に応じて異なるイベントを出力する条件判断処理部と、単一のイベントに含まれるデータを特徴ベクトルとして学習型情報処理装置に転送し、受信した推定結果を単一のイベントとして出力する学習データ処理部と、複数のセンサが出力するデータを前記入出力整形処理部によって複数種類のイベントに変換した後、前記入力同期併合処理部と、前記条件判断処理部と、前記学習データ処理部
を組み合わせて、前記複数のセンサが計測及び／または観測した事象の識別または推定を実施する入出力制御部とを具備する情報処理装置。
【請求項２】
前記学習型情報処理装置は、前記学習データ処理部より前記特徴ベクトルを受信し、学習アルゴリズムに基づく推定処理を行い、前記推定結果を前記学習データ処理部に送信するものであり、
オラクルに問い合わせを行うことでイベントに対する正解ラベルを取得する概念学習器を更に備え、
前記情報処理装置の前記学習データ処理部は、前記推定結果に基づいて観察対象の状態
または動作を特定できなかった場合には、特定できなかった旨のタグを付したイベントを
前記概念学習器へ送信することで、前記概念学習器より正解ラベルを取得し、前記正解ラベルが認識済みの状態または動作である場合には、前記学習型情報処理装置に対して既知の概念に対する再学習をさせることで、定義ファイルの既知概念を拡張する更新を行い、前記正解ラベルが未だ認識していない状態または動作である場合には、未知の概念を獲得するための新規の学習をさせることで、定義ファイルに新規の概念を追加する更新を行う
ことを特徴とする、
請求項１に記載の情報処理装置。
【請求項３】
前記入出力制御部は、定義ファイルに記述されたディレクティブに従い、イベントの処理に際し、前記入力同期併合処理部と、前記条件判断処理部と、前記学習データ処理部をそれぞれ複数個配置することが可能であることを特徴とする、
請求項１または２に記載の情報処理装置。
【請求項４】
前記入出力制御部は、複数のイベントを処理するに際して、イベントの属するシナリオ
グループの優先度に応じて前記イベントの処理を優先して行うことを特徴とする、請求項３に記載の情報処理装置。
【請求項５】
前記入出力整形処理部は、ＪＳＯＮフォーマットのイベントに、日時情報とタグ名を付すことを特徴とする、請求項３または４に記載の情報処理装置。
【請求項６】
情報処理装置と学習型情報処理装置と備える情報処理システムであって、
前記情報処理装置は、時系列データを所定の時間間隔毎に区切り、日時情報とタグ名を付したイベントとして出力する入出力整形処理部と、主入力側のイベントと副入力側のイベントを併合し、日時情報とタグ名を付した単一のイベントに変換して出力する入力同期併合処理部と、

10

20

30

40

50

(3)

JP 2019-169147 A 2019.10.3

単一のイベントに含まれるデータに対し、所定の条件判断を行い、条件判断の結果に応じて異なるイベントを出力する条件判断処理部と、単一のイベントに含まれるデータを特徴ベクトルとして前記学習型情報処理装置に転送し、受信した推定結果を単一のイベントとして出力する学習データ処理部と、複数のセンサが出力するデータを前記入出力整形処理部によって複数種類のイベントに変換した後、前記入力同期併合処理部と、前記条件判断処理部と、前記学習データ処理部
を組み合わせて、前記複数のセンサが計測及び／または観測した事象の識別または推定を実施する入出力制御部とを具備し、前記学習型情報処理装置は、前記学習データ処理部より前記特徴ベクトルを受信し、学習アルゴリズムに基づく推定処理を行い、前記推定結果を前記学習データ処理部に送信することを特徴とする情報処理システム。
【請求項７】
オラクルに問い合わせを行うことでイベントに対する正解ラベルを取得する概念学習器を更に備え、
前記情報処理装置の前記学習データ処理部は、前記推定結果に基づいて観察対象の状態
または動作を特定できなかった場合には、特定できなかった旨のタグを付したイベントを
前記概念学習器へ送信することで、前記概念学習器より正解ラベルを取得し、前記正解ラベルが認識済みの状態または動作である場合には、前記学習型情報処理装置に対して既知の概念に対する再学習をさせることで、定義ファイルの既知概念を拡張する更新を行い、前記正解ラベルが未だ認識していない状態または動作である場合には、未知の概念を獲得するための新規の学習をさせることで、定義ファイルに新規の概念を追加する更新を行う
ことを特徴とする、
請求項６に記載の情報処理システム。
【請求項８】
前記情報処理装置の前記入出力制御部は、定義ファイルに記述されたディレクティブに従い、イベントの処理に際し、前記入力同期併合処理部と、前記条件判断処理部と、前記学習データ処理部をそれぞれ複数個配置することが可能であることを特徴とする、
請求項６または７に記載の情報処理システム。
【請求項９】
前記情報処理装置の前記入出力制御部は、複数のイベントを処理するに際して、イベン
トの属するシナリオグループの優先度に応じて前記イベントの処理を優先して行うことを特徴とする、
請求項８に記載の情報処理システム。
【請求項１０】
前記情報処理装置の前記入出力整形処理部は、ＪＳＯＮフォーマットのイベントに、日時情報とタグ名を付すことを特徴とする、請求項８または９に記載の情報処理システム。
【発明の詳細な説明】【技術分野】【０００１】
本発明は、多種多様な情報を受け入れて所定の出力を得る情報処理装置及び情報処理システムに関する。
【背景技術】【０００２】
高齢者の人口は世界中で急増している。医学の進歩などにより人の寿命が伸びる一方、全人口に占める労働人口の割合は減少し、介護・医療スタッフの不足を始めとした様々な問 題 が 生 じ て い る 。 こ れ ら の 問 題 を 解 決 す る た め に 、 Ａ Ａ Ｌ （ Ambient Assisted Living：自立生活支援技術）が大きな関心を集めている。
【０００３】Ａ Ａ Ｌ は 、 我 々 を 取 り 巻 く Ａ Ｉ （ Artificial Intelligence： 人 工 知 能 ） ・ Ｉ ｏ Ｔ （ Int

10

20

30

40

50

(4)

JP 2019-169147 A 2019.10.3

ernet of Things： モ ノ の イ ン タ ー ネ ッ ト ） 技 術 を 駆 使 し 、 高 齢 者 の 自 立 し た 生 活 を 可 能
な 限 り 持 続 さ せ る こ と で 、 Ｑ Ｏ Ｌ （ Quality of Life： 生 活 の 質 ） の 向 上 を サ ポ ー ト し ていくことである。ＡＡＬデバイスやサービスを適切に使用することで、廃用症候群等の予防や、リハビリの補助、また日常生活のサポートを通して、高齢者のＱＯＬを維持する、
もしくは改善する、といったことが期待される。
【０００４】Ａ Ａ Ｌ 研 究 者 に お い て 特 に 大 き な 注 目 を 集 め て い る 話 題 の 一 つ が 、 Ａ Ｄ Ｌ （ Activities
of Daily Living： 日 常 生 活 行 動 ） の 観 察 で あ る 。 Ａ Ｉ ・ Ｉ ｏ Ｔ 技 術 を 活 用 し 、 高 齢 者 のＡＤＬをモニタリングし、結果に応じたフィードバックを投げかけることで、廃用症候群の防止、またリハビリ進展度の判断等に役立つことが期待される。
【０００５】
特許文献１には、顔の表情と動作を認識可能な顔表情動作認識方法及び装置が開示されている。
特許文献２には、効率良く多職種間の連携を支援する、連携支援装置、連携支援システ
ム、連携支援方法、及びプログラムが開示されている。
【先行技術文献】【特許文献】【０００６】【特許文献１】特開２０１７−１６２４０９号公報【特許文献２】特開２０１６−２１２９２５号公報【発明の概要】【発明が解決しようとする課題】【０００７】
ＡＤＬの観察には、ＡＩ等の学習アルゴリズムを用いる。学習アルゴリズムを実行する計算機に、観察対象の状態や行動等を計測した情報を入力し、観察対象の状態や行動を推定する。
これまで、学習アルゴリズムを用いた事象認識技術は、入力されるデータの形態に柔軟性がなく固定的なものであった。すなわち、計算機で実行されるプログラムは固定的に構築されているため、装置が完成した後から、例えば新たなセンサ等の新たな種類の情報を追加することが困難であった。
【０００８】
また、現在主流の学習アルゴリズムを用いた情報処理装置は、バッチ学習と呼ばれる、一度に大量のデータを情報処理装置に与えて学習させる手法が採用されている。しかし、多くの事象において、統一されたフォーマットのデータを大量に入手することは困難である。ＡＤＬの観察においても同様で、ある観察対象者から大量のデータを得ることは困難である場合が多い。
【０００９】
本発明はかかる課題に鑑みてなされたものであり、システムの構築と変更を容易に行う
ことにより多種多様なセンサに柔軟に対応可能とし、また少量のデータで効率的な学習を実現可能な、推定精度も高い情報処理装置及び情報処理システムを提供することを目的とする。
【課題を解決するための手段】【００１０】
上記課題を解決するために、本発明の情報処理装置は、時系列データを所定の時間間隔毎に区切り、日時情報とタグ名を付したイベントとして出力する入出力整形処理部と、主入力側のイベントと副入力側のイベントを併合し、日時情報とタグ名を付した単一のイベントに変換して出力する入力同期併合処理部と、単一のイベントに含まれるデータに対し、所定の条件判断を行い、条件判断の結果に応じて異なるイベントを出力する条件判断処
理部とを具備する。
【００１１】

10

20

30

40

50

(5)

JP 2019-169147 A 2019.10.3

更に、本発明の情報処理装置は、単一のイベントに含まれるデータを特徴ベクトルとして学習型情報処理装置に転送し、受信した推定結果を単一のイベントとして出力する学習
データ処理部と、複数のセンサが出力するデータを入出力整形処理部によって複数種類のイベントに変換した後、入力同期併合処理部と、条件判断処理部と、学習データ処理部を組み合わせて、複数のセンサが計測及び／または観測した事象の識別または推定を実施す
る入出力制御部とを具備する。
を具備する。
【発明の効果】【００１２】
本発明によれば、システムの構築と変更を容易に行うことができるので、多種多様なセンサに柔軟に対応することができる。また、少量のデータで効率的な学習を実現することができ、推定精度も高い情報処理装置及び情報処理システムを提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】【００１３】【図１】本発明の実施形態に係る情報処理装置の全体構成を示すブロック図である。
【図２】情報処理装置のハードウェア構成を示すブロック図である。
【図３】情報処理装置のソフトウェア機能を示すブロック図である。
【図４】入力同期併合処理部と、条件判断処理部と、学習データ処理部の入出力を説明す
るブロック図である。
【図５】情報処理装置が実行するデータ処理のアーキテクチャを示す概念図である。
【図６】マルチモーダルセンサからイベントを取得して、センサレベルデータフローでイ
ベントの加工を行うことで観察対象者の行動認識を行い、行動レベルデータフローにイベントを出力する過程を示す図である。
【図７】マルチモーダルセンサからイベントを取得して、センサレベルデータフローでイ
ベントの加工を、概念レベルデータフローにてイベントの推定を行うことで観察対象者の行動認識を行い、行動レベルデータフローにイベントを出力する過程を示す図である。
【図８】マルチモーダルセンサからイベントを取得して、センサレベルデータフローでイ
ベントの加工を、概念レベルデータフローにてイベントの推定を行うことで観察対象者の行動認識を行い、概念学習器と対話して学習処理を行う過程を示す図である。
【図９】マルチモーダルセンサからイベントを取得して、センサレベルデータフローにおける認識結果と、概念レベルデータフローにおける推定結果とを組み合わせて、複数のＡ
ＤＬを識別し、多彩な応答を行う過程を示す図である。
【図１０】入出力制御部及び学習型情報処理装置の、データ分類モードにおける機能ブロ
ック図である。
【図１１】入出力制御部及び学習型情報処理装置の、新規クラス学習モードにおける機能
ブロック図である。
【図１２】入出力制御部及び学習型情報処理装置の新規クラス学習モードにおいて、概念学習器が情報処理装置とオラクルと学習型情報処理装置に対して実行するデータ処理の流れを示す概略図である。
【図１３】情報処理装置における、定義ファイルの更新処理を示すブロック図である。
【図１４】本発明の変形例に係る情報処理装置のソフトウェア機能を示すブロック図である。
【図１５】シリアライザの機能ブロック図である。
【図１６】シリアライザの動作の流れを示すフローチャートである。
【図１７】異常対応シナリオ処理の動作の流れを示すフローチャートである。
【図１８】健康チェックシナリオ処理、リラクゼーションシナリオ処理、応答シナリオ処理の動作の流れを示すフローチャートである。
【図１９】キューの状態を説明するための概略図である。
【発明を実施するための形態】

10

20

30

40

50

(6)

JP 2019-169147 A 2019.10.3【００１４】［情報処理装置１０１：全体構成］
図１は、本発明の実施形態に係る情報処理装置１０１の全体構成を示すブロック図である。
情報処理装置１０１は、例えば、観察対象者である独居高齢者や老人施設における高齢者が適切に生活を営んでいるのかを観察する。また、情報処理装置１０１は独居高齢者に対して擬似的な会話を行うことで、独居高齢者が廃用症候群等に罹患することを防止し、以て独居高齢者のＱｏＬを改善する。
【００１５】
情報処理装置１０１には、顔認識カメラ１０２、赤外線センサや非接触温度センサ等の種々のセンサ１０３ａ、１０３ｂ…が接続されている。情報処理装置１０１はこれらセン
サから、観察対象者を計測した結果得られる情報（時系列データ）を受信する。そして、観察対象者の照合結果に応じて、観察対象者のＡＤＬを判断、あるいは推定する。
【００１６】
情報処理装置１０１は推定の際、学習アルゴリズムに基づく推定処理を、ネットワーク
を通じて外部の学習型情報処理装置１０４に依頼して、推定結果を受信する。そして情報処理装置１０１は推定結果に従い、スピーカ１０５から所定の音声を発する。また、必要に応じて液晶ディスプレイ等の表示部１０６に、所定の情報を表示する、等の処理を行う。
【００１７】［情報処理装置１０１：ハードウェア構成］
図２は、情報処理装置１０１のハードウェア構成を示すブロック図である。
情報処理装置１０１は、バス２０１に接続された、ＣＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、不揮発性ストレージ２０５を備える。
バス２０１には更に、現在日時情報を出力するリアルタイムクロック（図２中「ＲＴＣ」と表記、以下「ＲＴＣ」と略）２０６、ネットワークインターフェース（図２中「ＮＩＣ」と表記、以下「ＮＩＣ」と略）２０７、シリアルインターフェース（図２中「シリアルＩ／Ｆ」と表記、以下「シリアルＩ／Ｆ」と略）２０８を通じて顔認識カメラ１０２、
センサ１０３ａ、１０３ｂ等が、Ａ／Ｄ変換器２０９を通じてマイク１０７が、Ｄ／Ａ変
換器２１０を通じてスピーカ１０５が、それぞれ接続されている。
また必要に応じて、表示部１０６及び操作部２１１がバス２０１に接続されることがある。
【００１８】
情 報 処 理 装 置 １ ０ １ は 、 英 国 ラ ズ ベ リ ー パ イ 財 団 （ http://www.raspberrypi.org/） が開発する「Ｒａｓｐｂｅｒｒｙ Ｐｉ」等を始めとする、近年普及している安価なシング
ルボードコンピュータが利用可能である。
学習型情報処理装置１０４は、十分な演算能力を有するパソコン等が利用可能である。
但し、学習型情報処理装置１０４において実行される学習アルゴリズムが要求する演算量が少ない場合は、情報処理装置１０１に内蔵させてもよい。
【００１９】［情報処理装置１０１：ソフトウェア機能］
図３は、情報処理装置１０１のソフトウェア機能を示すブロック図である。
入出力制御部３０１には、顔認識カメラ１０２、赤外線センサや非接触温度センサ等の種々のセンサ１０３ａ、１０３ｂ…が接続されている。また、Ａ／Ｄ変換器２０９を通じて観察対象者の音声を認識するためのマイク１０７と、Ｄ／Ａ変換器２１０を通じて観察対象者に会話音声を発するためのスピーカ１０５も接続されている。
顔認識カメラ１０２や種々のセンサは、情報処理装置１０１におけるマルチモーダルセ
ン サ （ multimodal sensor） と し て 扱 わ れ る 。 す な わ ち 、 観 察 対 象 者 や 観 察 対 象 と す る 事
象を、映像、音声、温度、加速度等、様々な物理量等で計測するセンサ群としてみなされ
る。

10

20

30

40

50

(7)

JP 2019-169147 A 2019.10.3【００２０】
情報処理装置１０１の主たる機能は、入出力制御部３０１に集約されている。この入出力制御部３０１は、サンプリングクロック毎、あるいは所定の時間間隔毎にセンサから得られる情報に、オブジェクト指向の思想に基づき、種々の情報を付加する。種々の情報が付加された情報をイベントと呼ぶ。入出力制御部３０１の大部分の機能は、オープンソー
ス の デ ー タ 収 集 ソ フ ト ウ ェ ア で あ る Fluentd（ https://www.fluentd.org/ ） に 、 後 述 する情報処理機能をプラグインとして追加することで実現している。
また、入出力制御部３０１には、後述する概念学習器として機能する、パソコン等の外部情報処理装置３１０が、ネットワークを通じて接続される。
【００２１】
センサから得られる情報をイベントに格納する際のルールは、センサの種類によって異なる。
例えば温度や湿度、加速度等の一般的な物理現象を測定するセンサの場合は、Ａ／Ｄ変換器２０９のサンプリングクロック毎にデータを取得すべきである。
一方、例えばマイク１０７等から得られる音声データのように、ある程度連続した時間
間隔のデータが必要になる場合は、Ａ／Ｄ変換器２０９のサンプリングクロック毎にデータを取得しても、どのような音が鳴動しているのかわからない。したがってマイク１０７の場合には、無音検出等の周知の技術を用いて、会話等の推定が可能な程度の長さの音声データを取得することが好ましい。
【００２２】
入出力制御部３０１の機能として備わっている入出力整形処理部３０２は、各種センサから得られる情報を、統一されたデータフォーマットに従うプレインテキストで記述されたイベントに変換する。また必要に応じて、イベントから内容を取り出して、表示部１０６に表示する内容や、音声出力処理部３０３を介して音声出力データに変換する。この統一されたデータフォーマットは、基本的には一定のルールさえ満たされていれば何でもよ
い の で あ る が 、 デ ー タ の 可 搬 性 と い う 観 点 か ら 、 Ｊ Ｓ Ｏ Ｎ （ JavaScript Object Notation（「ＪＡＶＡＳＣＲＩＰＴ」は登録商標））が望ましい。
【００２３】
以下に、ＪＳＯＮフォーマットにて記述されたイベントの一例を示す。
【００２４】
2017-11-03 19:35:32.000000000 +0900 sensor.microwave:{"heart":79, "breath":12}【００２５】
イ ベ ン ト は 、 「 time tag:record」 と い う 記 述 順 で 記 載 さ れ る 。 「 time」 は Ｐ Ｏ Ｓ Ｉ Ｘ
ｔ ｉ ｍ ｅ フ ォ ー マ ッ ト の 絶 対 日 時 情 報 、 「 record」 は Ｊ Ｓ Ｏ Ｎ 形 式 で あ る の で 、 始 め 波
括 弧 （ "{"） で 始 ま り 、 終 わ り 波 括 弧 （ "}"） で 終 わ る 。
「 tag」 は Ｊ Ｓ Ｏ Ｎ 形 式 オ ブ ジ ェ ク ト に 与 え ら れ る 名 前 （ 以 下 「 タ グ 名 」 ） で あ り 、 オ
ブ ジ ェ ク ト 指 向 の 慣 例 に 倣 い 、 「 name1.name2.name3… 」 と い う よ う に 、 ピ リ オ ド で 連 結
す る 。 す な わ ち 、 ピ リ オ ド は タ グ 名 の フ ィ ー ル ド セ パ レ ー タ で あ る 。 「 time」 と 「 tag」の 間 は ス ペ ー ス （ " "） で 区 切 ら れ 、 「 tag」 と 「 record」 の 間 は コ ロ ン （ ":"） で 区 切 られる。
入出力整形処理部３０２はイベントを生成する際、ＲＴＣ２０６からイベントに付すための絶対日時情報を読み取る。
【００２６】
入出力制御部３０１の機能として備わっている音声出力処理部３０３は、Ｄ／Ａ変換器
２１０を通じてスピーカ１０５から観察対象者に対して会話音声を出力するためのデジタ
ルオーディオデータを生成する、周知のスピーチプロセッサである。
【００２７】
入出力制御部３０１は、マルチモーダルセンサから種々のデータの入力を受けると、入出力整形処理部３０２によって前述のＪＳＯＮ形式のイベントに変換した後、定義ファイ

10

20

30

40

50

(8)

JP 2019-169147 A 2019.10.3

ル３０４に記述されている内容に従い、入力同期併合処理部３０５、条件判断処理部３０
６、学習データ処理部３０７にてイベントの加工等を行う。
定義ファイル３０４は例えば単一または複数のプレインテキストファイルである。
【００２８】［入力同期併合処理部３０５］
ここで図４Ａを参照して、入力同期併合処理部３０５について説明する。
図４Ａは、入力同期併合処理部３０５の入出力を説明するためのブロック図である。
入出力制御部３０１の機能として備わっている入力同期併合処理部３０５は、複数のイベントを受け入れて、各々のイベントの内容を単一のイベントに併合して出力する。単一のイベントを出力する際、入力同期併合処理部３０５は、定義ファイル３０４に記述する
ことで指定されたタイミングで、イベントを出力する。イベント同士を併合するタイミン
グ は 、 「 before」 、 「 after」 、 「 simple」 の ３ 種 類 で あ る 。
【００２９】
定 義 フ ァ イ ル ３ ０ ４ に お い て 併 合 タ イ ミ ン グ に 「 before」 が 指 定 さ れ た 場 合 に は 、 入 力
同 期 併 合 処 理 部 ３ ０ ５ は 、 定 義 フ ァ イ ル ３ ０ ４ の 「 main̲tag」 （ 主 入 力 側 ） に 記 述 さ れ た
第 一 の イ ベ ン ト を 受 け 取 る と 、 第 一 の イ ベ ン ト を 受 け 取 っ た 直 前 の 、 「 sub̲tag」 （ 副 入力側）に記述された第二のイベントを、第一のイベントと共に併合して出力する。したがっ て 、 「 before」 の 場 合 は 、 第 一 の イ ベ ン ト を 受 け 取 っ た 日 時 が 、 出 力 さ れ る イ ベ ン ト に付加される。
【００３０】
定 義 フ ァ イ ル ３ ０ ４ に お い て 併 合 タ イ ミ ン グ に 「 after」 が 指 定 さ れ た 場 合 に は 、 入 力
同 期 併 合 処 理 部 ３ ０ ５ は 、 定 義 フ ァ イ ル ３ ０ ４ の 「 main̲tag」 に 記 述 さ れ た 第 一 の イ ベ ン
ト を 受 け 取 る と 、 第 一 の イ ベ ン ト を 受 け 取 っ た 直 後 の 、 「 sub̲tag」 に 記 述 さ れ た 第 二 のイ ベ ン ト を 、 第 一 の イ ベ ン ト と 共 に 併 合 し て 出 力 す る 。 し た が っ て 、 「 after」 の 場 合 は、第二のイベントを受け取った日時が、出力されるイベントに付加される。
【００３１】
定 義 フ ァ イ ル ３ ０ ４ に お い て 併 合 タ イ ミ ン グ に 「 simple」 が 指 定 さ れ た 場 合 に は 、 入 力
同 期 併 合 処 理 部 ３ ０ ５ は 、 定 義 フ ァ イ ル ３ ０ ４ の 「 main̲tag」 に 記 述 さ れ た 第 一 の イ ベ ン
ト を 受 け 取 る と 、 第 一 の イ ベ ン ト を 受 け 取 っ た 直 前 の 、 「 sub̲tag」 に 記 述 さ れ た 第 二 のイベントを、第一のイベントと共に併合して出力する。また、第一のイベントを受け取った 直 後 の 、 「 sub̲tag」 に 記 述 さ れ た 第 二 の イ ベ ン ト も 、 第 一 の イ ベ ン ト と 共 に 併 合 し て
出 力 す る 。 す な わ ち 、 「 simple」 は 「 before」 と 「 after」 の 論 理 和 で あ る 。 し た が っ て、 「 simple」 の 場 合 は 、 第 一 の イ ベ ン ト を 受 け 取 っ た 時 の み な ら ず 、 第 二 の イ ベ ン ト を 受け取った時にも、イベントを出力する。
【００３２】
以下に、定義ファイル３０４にて記述される入力同期併合処理部３０５の指示（ディレク テ ィ ブ （ directive） ） の 一 例 を 示 す 。 定 義 フ ァ イ ル ３ ０ ４ の デ ィ レ ク テ ィ ブ は 、 Ｘ Ｍ
Ｌ （ eXtensible Markup Language） に 類 似 す る マ ー ク ア ッ プ 言 語 の 形 式 で 記 述 さ れ る 。
【００３３】<match sensor.{temp, humid}.to̲merge>@type record̲merger
tag sensor.temp̲humid
main̲tag sensor.temp.to̲merge
sub̲tag1 sensor.humid.to̲merge
merge̲timing simple<record>temp ${main["temp"]}humid ${sub1["humid"]}</record></match>

10

20

30

40

50

(9)

JP 2019-169147 A 2019.10.3【００３４】「 <match sensor.{temp, humid}.to̲merge>」 は 、 デ ィ レ ク テ ィ ブ の 開 始 の 宣 言 で あ ると 共 に 、 「 sensor.temp.to̲merge」 タ グ が 付 さ れ た イ ベ ン ト と 「 sensor.humid.to̲merge」タグが付されたイベントを、タグ名でマッチングさせることを示す。
「 @type record̲merger」 は 、 本 デ ィ レ ク テ ィ ブ が 入 力 同 期 併 合 処 理 部 ３ ０ ５ の 処 理 を
実 行 す る 「 record̲merger」 で あ る こ と を 示 す 。
「 tag sensor.temp̲humid」 は 、 本 デ ィ レ ク テ ィ ブ が 出 力 す る イ ベ ン ト の タ グ 名 が 「 sensor.temp̲humid」 で あ る こ と を 示 す 。
【００３５】「 main̲tag sensor.temp.to̲merge」 は 、 前 述 の 「 main̲tag」 で あ る 。 す な わ ち 、 「 sensor.temp.to̲merge」 が 第 一 の イ ベ ン ト で あ る 。
「 sub̲tag1 sensor.humid.to̲merge」 は 、 前 述 の 「 sub̲tag」 で あ る 。 す な わ ち 、 「 sensor.humid.to̲merge」 が 第 二 の イ ベ ン ト で あ る 。
「 merge̲timing simple」 は 、 前 述 の 併 合 タ イ ミ ン グ で あ る 。
「 <record>」 か ら 「 </record>」 で 囲 ま れ る 中 身 は 、 出 力 す る イ ベ ン ト の 中 に 記 述 さ れる 要 素 を 示 す 。 こ れ は Ｊ Ｓ Ｏ Ｎ フ ォ ー マ ッ ト で 、 「 名 前 文 字 列 :値 」 に 変 換 さ れ る 。
「 </match>」 は 、 「 <match sensor.{temp, humid}.to̲merge>」 デ ィ レ ク テ ィ ブ の 終 了を示す。
【００３６】［条件判断処理部３０６］
次に図４Ｂを参照して、条件判断処理部３０６について説明する。
図４Ｂは、条件判断処理部３０６の入出力を説明するためのブロック図である。
入出力制御部３０１の機能として備わっている条件判断処理部３０６は、単一のイベン
トを受け入れて、イベントに含まれているデータに対し、所定の条件判断を行う。条件判
断は、タグ名の一致または不一致、また数値データの、記述された閾値との比較結果である 。 条 件 判 断 は 定 義 フ ァ イ ル ３ ０ ４ 内 に て 、 プ ロ グ ラ ミ ン グ 言 語 に お い て 一 般 的 な 「 if..
.then...else...」 の 記 述 が 可 能 で あ る 。
以下に、定義ファイル３０４にて記述される条件判断処理部３０６のディレクティブの一例を示す。
【００３７】<match sensor.temp>@type condition̲checker
tag1 sensor.room̲temp.is̲too̲cold
tag2 sensor.room̲temp.is̲too̲hottag̲else sensor.room̲temp.is̲good
renew̲record false
condition1 record ["temp"] <= 18 && record ["season"] == "winter"condition2 record ["temp"] >= 26 && record ["season"] == "winter"<record1>
status "cold"</record1><record2>
status "hot"</record2><record̲else>
status "good"</record̲else></match>【００３８】「 <match sensor.temp>」 は 、 デ ィ レ ク テ ィ ブ の 開 始 の 宣 言 で あ る と 共 に 、 「 sensor.te

10

20

30

40

50

(10)

JP 2019-169147 A 2019.10.3

mp」 タ グ が 付 さ れ た イ ベ ン ト を 、 タ グ 名 で マ ッ チ ン グ さ せ る こ と を 示 す 。
「 @type condition̲checker」 は 、 本 デ ィ レ ク テ ィ ブ が 条 件 判 断 処 理 部 ３ ０ ６ の 処 理 を
実 行 す る 「 condition̲checker」 で あ る こ と を 示 す 。
「 tag1 sensor.room̲temp.is̲too̲cold」 は 、 後 述 す る 「 condition1」 の 条 件 に 合 致 した 場 合 に お い て 出 力 す る イ ベ ン ト の タ グ 名 が 「 sensor.room̲temp.is̲too̲cold」 で あ る ことを示す。
【００３９】「 tag2 sensor.room̲temp.is̲too̲hot」 は 、 後 述 す る 「 condition2」 の 条 件 に 合 致 し た
場 合 に お い て 出 力 す る イ ベ ン ト の タ グ 名 が 「 sensor.room̲temp.is̲too̲hot」 で あ る こ とを示す。
「 tag̲else sensor.room̲temp.is̲good」 は 、 condition1及 び condition2の 何 れ に も 当て は ま ら な か っ た 場 合 に お い て 出 力 す る イ ベ ン ト の タ グ 名 が 「 sensor.room̲temp.is̲good」であることを示す。
「 renew̲record false」 は 、 受 信 し た イ ベ ン ト に 含 ま れ る レ コ ー ド （ 値 ） の 内 容 を 更 新しないことを示す。
【００４０】「 condition1 record ["temp"] <= 18 && record ["season"] == "winter"」 は 、 「 condition1」 の 条 件 判 断 文 で あ る 。 「 temp」 の 値 が 18以 下 （ "<="） 、 且 つ （ "&&"） 、 「 season」 の 値 が 「 winter」 で あ る か 否 か を 判 断 す る 。
「 condition2 record ["temp"] >= 26 && record ["season"] == "winter"」 は 、 「 condition2」 の 条 件 判 断 文 で あ る 。 「 temp」 の 値 が 26以 上 （ ">="） 、 且 つ （ "&&"） 、 「 season」 の 値 が 「 winter」 で あ る か 否 か を 判 断 す る 。
【００４１】「 <record1>」 か ら 「 </record1>」 に 囲 ま れ る 中 身 は 、 「 condition1」 の 条 件 に 合 致 した 際 に 、 イ ベ ン ト に 「 status:"cold"」 と い う レ コ ー ド を 追 加 す る こ と を 定 義 す る 。
同 様 に 、 「 <record2>」 か ら 「 </record2>」 に 囲 ま れ る 中 身 は 、 「 condition2」 の 条 件に 合 致 し た 際 に 、 イ ベ ン ト に 「 status:"hot"」 と い う レ コ ー ド を 追 加 す る こ と を 定 義 す る。
そ し て 、 「 <record̲else>」 か ら 「 </record̲else>」 に 囲 ま れ る 中 身 は 、 「 condition1」 及 び 「 condition2」 の 、 何 れ の 条 件 に も 合 致 し な か っ た 際 に 、 イ ベ ン ト に 「 status:"good"」 と い う レ コ ー ド を 追 加 す る こ と を 定 義 す る 。
「 </match>」 は 、 「 <match sensor.temp>」 デ ィ レ ク テ ィ ブ の 終 了 宣 言 で あ る 。
【００４２】［学習データ処理部３０７］
次に図４Ｃを参照して、学習データ処理部３０７について説明する。
図４Ｃは、学習データ処理部３０７の入出力を説明するためのブロック図である。
学習データ処理部３０７は、入力されたイベントの内容を学習型情報処理装置１０４に特徴ベクトル（説明変数）として出力し、学習型情報処理装置１０４から目的変数を受け取り、イベントの形式に変換して出力する。
【００４３】
学 習 デ ー タ 処 理 部 ３ ０ ７ に は 、 「 train」 と 「 analyze」 と い う ２ 種 類 の モ ー ド が 存 在 する。
trainモ ー ド で は 入 力 さ れ る イ ベ ン ト を 、 ラ ベ ル と Ｄ ａ ｔ ｕ ｍ と い う キ ー バ リ ュ ー 形 式のデータの組に変換し、学習型情報処理装置１０４に送信することで、学習型情報処理装置１０４における学習モデルの訓練（学習）を行う。
本発明の実施形態に係る情報処理装置１０１は、学習型情報処理装置１０４の一例として 、 オ ン ラ イ ン 機 械 学 習 向 け 分 散 処 理 フ レ ー ム ワ ー ク で あ る Ｊ ｕ ｂ ａ ｔ ｕ ｓ （ http://jubat.us/ja/ ） を 使 用 し て い る 。 Ｄ ａ ｔ ｕ ｍ と は 、 こ の Ｊ ｕ ｂ ａ ｔ ｕ ｓ が 解 釈 可 能 な ｋ ｅｙ−ｖａｌｕｅデータ形式を指す。
【００４４】

10

20

30

40

50

(11)

JP 2019-169147 A 2019.10.3

analyzeモ ー ド で は 入 力 さ れ る イ ベ ン ト を Ｄ ａ ｔ ｕ ｍ 形 式 に 変 換 し て 学 習 型 情 報 処 理 装
置１０４に送信することで、分類・推薦・異常検知等、学習型情報処理装置１０４が提供
している機能を使用して分析した結果をリアルタイムで受け取ることができる。
以 下 に 、 定 義 フ ァ イ ル ３ ０ ４ に て 記 述 さ れ る 、 学 習 デ ー タ 処 理 部 ３ ０ ７ の analyzeモ ードにおけるディレクティブの一例を示す。
【００４５】<match concept.accelerometer.analyze>@type active̲online̲learnerhost <jubatus server's ip address>
client̲api 'classifier'train̲analyze analyze
num̲keys ax̲mean,ay̲mean,az̲mean,ax̲var,ay̲var,az̲var
threshold 9.0
tag̲for̲train concept.unclassifiable</match>【００４６】「 <match concept.accelerometer.analyze>」 は 、 デ ィ レ ク テ ィ ブ の 開 始 の 宣 言 で あ ると 共 に 、 「 concept.accelerometer.analyze」 タ グ が 付 さ れ た イ ベ ン ト を 、 タ グ 名 で マ ッ
チングさせることを示す。
「 @type active̲online̲learner」 は 、 本 デ ィ レ ク テ ィ ブ が 学 習 デ ー タ 処 理 部 ３ ０ ７ の処 理 を 実 行 す る 「 active̲online̲learner」 で あ る こ と を 示 す 。
「 host <jubatus server's ip address>」 は 、 学 習 型 情 報 処 理 装 置 １ ０ ４ の Ｉ Ｐ ア ド レ
ス ま た は ホ ス ト 名 （ FQDN:Fully Qualified Domain Name、 完 全 修 飾 ド メ イ ン 名 ） が 記 述 される。
「 client̲api 'classifier'」 は 、 学 習 型 情 報 処 理 装 置 １ ０ ４ の ク ラ イ ア ン ト 側 ア プ リ
ケーションプログラムインターフェース、すなわち学習データ処理部３０７に対し、「分類器」として動作すべく指示することを示す。
【００４７】「 train̲analyze analyze」 は 、 学 習 デ ー タ 処 理 部 ３ ０ ７ に 対 し 、 analyzeモ ー ド で 動 作すべく指示することを示す。
「 num̲keys ax̲mean,ay̲mean,az̲mean,ax̲var,ay̲var,az̲var」 は 、 学 習 型 情 報 処 理 装
置１０４に引き渡すデータ、すなわち特徴ベクトルの一例を示す。この例では、３軸センサの各軸方向の平均値と、３軸センサの各軸方向にて検出した値が列挙されている。
「 threshold 9.0」 は 、 学 習 型 情 報 処 理 装 置 １ ０ ４ か ら 受 信 し た 値 を 判 定 す る 際 の 閾 値を示す。
「 tag̲for̲train concept.unclassifiable」 は 、 学 習 型 情 報 処 理 装 置 １ ０ ４ か ら 受 信 した値が全て閾値に満たなかった場合に、出力するイベントに付すタグ名である。
「 </match>」 は 、 「 <match concept.accelerometer.analyze>」 デ ィ レ ク テ ィ ブ の 終 了宣言である。
【００４８】
以 下 に 、 上 述 の 定 義 フ ァ イ ル ３ ０ ４ に て 記 述 さ れ る 、 学 習 デ ー タ 処 理 部 ３ ０ ７ の analyz
eモ ー ド に お け る デ ィ レ ク テ ィ ブ に よ っ て 、 学 習 デ ー タ 処 理 部 ３ ０ ７ が 学 習 型 情 報 処 理 装
置 １ ０ ４ か ら 得 た 分 類 結 果 で あ る イ ベ ン ト の 一 例 を 示 す 。 な お 、 行 頭 の "#"は コ メ ン ト を指し示す。
【００４９】# 既知の概念の中で分類できた場合
2018-01-24T23:42:42+09:00 action.recognized{"cleaning":0.0,"blow-drying":0.0,"sitting":9.84092903137207,"standing":0.0,"walking":0.0 ,"estimated̲label":"sitting","max̲score":9.84092903137207}

10

20

30

40

50

(12)

JP 2019-169147 A 2019.10.3【００５０】
上 記 の イ ベ ン ト で は 、 「 "estimated̲label":"sitting"」 に て 、 推 定 結 果 が 「 sitting」
で あ り 、 「 "max̲score":9.84092903137207」 に て 、 最 大 ス コ ア が 「 9.84092903137207」 という値であることが示されている。
【００５１】# 既知の概念にあてはまるものがないと判断された場合
2018-01-24T22:46:42+09:00 concept.for̲train{"cleaning":0.0,"blow-drying":1.9574897289276123,"sitting":7.8311076164245605,"standing":0.0,"walking":0.0,"estimated̲label":"sitting","max̲score":7.8311076164245605,"data":{"ax̲mean":0.143426513671875,"ay̲mean":0.0136016845703125,"az̲mean":-0.50174560546875,"mx̲mean":0.48634033203125,"my̲mean":0.26500244140625,"mz̲mean":-1.013330078125,"gx̲mean":-0.0011932373046875,"gy̲mean":0.0130523681640625,"gz̲mean":0.0047119140625}}【００５２】
上 記 の イ ベ ン ト で は 、 「 "estimated̲label":"sitting"」 に て 、 推 定 結 果 が 「 sitting」
で あ り 、 「 "max̲score":7.8311076164245605」 に て 、 最 大 ス コ ア が 「 7.8311076164245605」 と い う 値 で あ る こ と が 示 さ れ て い る 。 そ し て 、 最 大 ス コ ア が 閾 値 の 「 9」 に 満 た な い ので、学習用のデータが付加されている。
学習用バッファ３０８は、このような推定に失敗したデータを所定の件数、蓄積する。
そ し て 、 所 定 の 件 数 に 達 し た 時 に 、 trainモ ー ド に て 学 習 型 情 報 処 理 装 置 １ ０ ４ に そ れ ら
複数のイベントを送信して、学習型情報処理装置１０４に学習を行わせる。
【００５３】［情報処理装置１０１：データ処理のアーキテクチャ］
図５は、情報処理装置１０１が実行するデータ処理のアーキテクチャ（設計思想）を示す概念図である。
情報処理装置１０１は、３種類のデータフローを定義し、それらデータフローをイベン
トのタグ名で区別する。
【００５４】
先ず、マルチモーダルセンサＣ５０１から生じる種々のデータは、センサレベルデータ
フローＣ５０２に入力される。センサレベルデータフローＣ５０２では、各々のイベントに 「 sensor.**」 で 始 ま る タ グ が 付 さ れ る 。 そ し て 、 セ ン サ レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ２の内部では、入力同期併合処理部３０５によって複数のイベントが１個のイベントに併合
される、あるいは概念レベルデータフローＣ５０３や行動レベルデータフローＣ５０４に転送される。また定義ファイル３０４の記述によっては、センサレベルデータフローＣ５
０２のイベントが再びセンサレベルデータフローＣ５０２にて処理されることもある。
な お 、 「 sensor.**」 の "**"（ ア ス タ リ ス ク ２ 文 字 ） は 、 情 報 処 理 装 置 １ ０ １ が 扱 う イ
ベントに付されるタグ名の文字列マッチング処理において、タグ名のフィールドセパレー
タ で あ る "."（ ピ リ オ ド ） で 区 切 ら れ る フ ィ ー ル ド 単 位 の ワ イ ル ド カ ー ド を 意 味 す る 。
【００５５】
次に、センサレベルデータフローＣ５０２にて形成されたイベントのうち、観察対象者のＡＤＬを認識または推定可能になったイベントは、会話音声を発する、あるいは認識または推定したＡＤＬをデータベース３０９にログ記録する等、何らかの行動が可能になる。 こ の よ う な 「 行 動 可 能 な 」 イ ベ ン ト は 「 action.**」 で 始 ま る タ グ が 付 さ れ 、 行 動 レ ベ
ルデータフローＣ５０４に入力される。行動レベルデータフローＣ５０４では、最終的に得られた認識結果あるいは推定結果に従って、会話音声を発する、あるいはＡＤＬをログ記録する等の、所定のアクションを実行する。このアクションがアクティベータＣ５０５

10

20

30

40

50

(13)

JP 2019-169147 A 2019.10.3

である。
【００５６】
そして、センサレベルデータフローＣ５０２にて形成されたイベントのうち、そのままでは観察対象者のＡＤＬを認識できないイベントは、学習型情報処理装置１０４によって
推 定 を 行 う 必 要 が 生 じ る 。 そ こ で 、 そ の よ う な 「 行 動 不 可 能 な 」 イ ベ ン ト は 、 「 concept.
**」 で 始 ま る タ グ が 付 さ れ 、 概 念 レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ３ に 入 力 さ れ る 。
【００５７】
学習アルゴリズムを用いる学習型情報処理装置１０４は、特徴ベクトルの要素数を減らす、次元削減の効果を有する。このため、概念レベルデータフローＣ５０３においても、
センサレベルデータフローＣ５０２にて説明したと同様に、概念レベルデータフローＣ５
０３のイベントが再び概念レベルデータフローＣ５０３にて処理される、ということもある。また定義ファイル３０４の記述によっては、イベントが概念レベルデータフローＣ５
０３とセンサレベルデータフローＣ５０２を行き来する、というケースも有り得る。
概念レベルデータフローＣ５０３が出力したイベントが行動可能なイベントである場合に は 、 セ ン サ レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ２ と 同 様 に 「 action.**」 で 始 ま る タ グ が 付 さ れ、行動レベルデータフローＣ５０４に入力される。
【００５８】
概念レベルデータフローＣ５０３において、学習型情報処理装置１０４が推定に失敗した場合、新たな学習が必要になる。推定に失敗したイベントは、概念学習器Ｃ５０６を通じて、オラクルＣ５０７に問い合わせる。オラクルＣ５０７とは、正解を指し示す者であり 、 例 え ば 人 間 の ア ノ テ ー タ （ annotator） で あ る 。 概 念 学 習 器 Ｃ ５ ０ ６ は 、 オ ラ ク ル Ｃ
５０７と概念レベルデータフローＣ５０３との間を取り持ち、学習型情報処理装置１０４に対して学習を行わせる。
本発明の実施形態に係る情報処理装置１０１では、概念学習器Ｃ５０６はネットワーク
を通じて接続されるパソコン等の外部情報処理装置３１０が、その役目を担う。
【００５９】
図５を見ると情報処理装置１０１は、マルチモーダルセンサＣ５０１から生じるイベン
トをセンサレベルデータフローＣ５０２と概念レベルデータフローＣ５０３との間で自由に加工を行い、最終的に行動レベルデータフローＣ５０４に与える状態にまで、観察対象者のＡＤＬを認識あるいは推定することがわかる。
また情報処理装置１０１は、行動レベルデータフローＣ５０４に与えるイベントを、センサレベルデータフローＣ５０２と概念レベルデータフローＣ５０３に分けることで、複雑な事象の認識や推定に対し、イベントの適切な処理を明確に指定することが可能になる。多種多様なＡＤＬに対しても、定義ファイル３０４に記述を追加するだけで、即座に対応することが可能になる。
【００６０】［情報処理装置１０１：動作の一例］
これより、図６から図９にかけて、情報処理装置１０１の動作の一例を示す。
図６は、マルチモーダルセンサＣ５０１からイベントを取得して、センサレベルデータ
フローＣ５０２でイベントの加工を行うことで観察対象者の行動認識を行い、行動レベル
データフローＣ５０４にイベントを出力する過程を示す図である。
【００６１】
顔 認 識 カ メ ラ １ ０ ２ が 人 の 顔 の 存 在 を 認 識 す る と 、 「 sensor.camera」 と い う タ グ の イ
ベントＥ６０１をセンサレベルデータフローＣ５０２に送る。センサレベルデータフロー
Ｃ ５ ０ ２ で は 、 「 sensor.camera」 と い う タ グ の イ ベ ン ト Ｅ ６ ０ １ を 受 け 取 る と 、 そ れ が既に予め登録された観察対象者の顔であるか否かを、条件判断処理部３０６が判定する。
条件判断処理部３０６は、登録済みの人の顔であり、且つその顔がカメラの画角の概ね中央 に 位 置 し て い た ら 、 タ グ を 「 sensor.single̲face」 に 書 き 換 え て 、 イ ベ ン ト Ｅ ６ ０ ２ を流す。
【００６２】

10

20

30

40

50

(14)

JP 2019-169147 A 2019.10.3

観 察 対 象 者 の 心 拍 と 呼 吸 を 測 定 す る マ イ ク ロ 波 セ ン サ ６ ０ ３ か ら 「 sensor.microwave」というイベントＥ６０４がセンサレベルデータフローＣ５０２に入力される。また、観察対 象 者 の 体 温 を 非 接 触 に て 測 定 す る 非 接 触 温 度 セ ン サ ６ ０ ５ か ら 「 sensor.surface̲temp」というイベントＥ６０６がセンサレベルデータフローＣ５０２に入力される。入力同期
併 合 処 理 部 ３ ０ ５ は 、 前 述 の 「 sensor.single̲face」 イ ベ ン ト Ｅ ６ ０ ２ と 、 「 sensor.mic
rowave」 イ ベ ン ト Ｅ ６ ０ ４ と 、 「 sensor.surface̲temp」 イ ベ ン ト Ｅ ６ ０ ６ を 、 「 sensor.
single̲face」 イ ベ ン ト Ｅ ６ ０ ２ が 来 た タ イ ミ ン グ で 併 合 す る 。 そ し て 併 合 し た イ ベ ン ト
Ｅ ６ ０ ７ に 「 action.vitaldata」 と い う タ グ を 付 し て 、 行 動 レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ４に送る。
【００６３】
行 動 レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ４ に お い て 「 action.vitaldata」 イ ベ ン ト Ｅ ６ ０ ７ を 条件判断処理部３０６が受け取ると、条件判断処理部３０６は予め定義ファイル３０４にて定義された条件判断指示に従って条件判断処理を行い、アクティベータＣ５０５にデータ
Ｄ ６ ０ ８ 「 speakText.greeting」 を 流 す 。
例 え ば 、 「 action.vitaldata」 に 含 ま れ る vitaldataが 正 常 範 囲 内 で あ れ ば 、 「 甲 田 さん 、 お は よ う ご ざ い ま す 。 今 日 も 一 日 楽 し く 過 ご し ま し ょ う 。 」 と 発 話 す る 。 「 action.v
italdata」 に 含 ま れ る vitaldataが 異 常 値 を 示 し て い る の で あ れ ば 、 「 甲 田 さ ん 、 お は よ
うございます。いつもより少し熱があるみたいです。大丈夫ですか？」と発話して、介護施設のスタッフ等にアラートを送信する。発話機能は、音声出力処理部３０３、Ｄ／Ａ変
換器２１０及びスピーカ１０５によって実現される。
【００６４】
以上、図６にて説明したように、極単純な事象であれば、学習アルゴリズムを使用せずとも事象を認識して、観察対象者に対して適切な応答を行うことが可能である。
【００６５】
図７は、マルチモーダルセンサＣ５０１からイベントを取得して、センサレベルデータ
フローＣ５０２でイベントの加工を、概念レベルデータフローＣ５０３にてイベントの推定を行うことで観察対象者の行動認識を行い、行動レベルデータフローＣ５０４にイベン
トを出力する過程を示す図である。
【００６６】
観 察 対 象 者 の 行 動 を 計 測 す る ９ 軸 セ ン サ ７ ０ １ か ら 「 sensor.9dof」 と い う イ ベ ン ト Ｅ
７０２がセンサレベルデータフローＣ５０２に入力される。また、観察対象者の発話を拾う ピ ン マ イ ク ７ ０ ３ か ら 「 sensor.mic」 と い う イ ベ ン ト Ｅ ７ ０ ４ が セ ン サ レ ベ ル デ ー タ フ
ロ ー Ｃ ５ ０ ２ に 入 力 さ れ る 。 入 力 同 期 併 合 処 理 部 ３ ０ ５ は 、 前 述 の 「 sensor.9dof」 イ ベ
ン ト Ｅ ７ ０ ２ と 、 「 sensor.mic」 イ ベ ン ト Ｅ ７ ０ ４ を 、 「 sensor.mic」 イ ベ ン ト Ｅ ７ ０ ４が 来 た タ イ ミ ン グ で 併 合 す る 。 そ し て 併 合 し た イ ベ ン ト Ｅ ７ ０ ５ に 「 concept.9dof̲mic」というタグを付して、概念レベルデータフローＣ５０３に送る。
【００６７】
概 念 レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ３ に お い て 「 concept.9dof̲mic」 イ ベ ン ト Ｅ ７ ０ ５ を 学
習データ処理部３０７が受け取ると、学習データ処理部３０７は学習型情報処理装置１０４にイベントＥ７０５の内容、すなわち９軸センサのデータ及びピンマイク７０３の音声データ（特徴ベクトル、説明変数）を送信する。学習型情報処理装置１０４は情報処理装置１０１から特徴ベクトルを受信すると、学習アルゴリズムに基づく推定処理を行い、推定結果（目的変数）を情報処理装置１０１へ返信する。学習データ処理部３０７は学習型
情報処理装置１０４から推定結果を受信すると、定義ファイル３０４に記述されている閾
値と比較する。推定結果の値が閾値以上であり、ＡＤＬを充分に特定できた場合には、学
習 デ ー タ 処 理 部 ３ ０ ７ は 推 定 結 果 の イ ベ ン ト Ｅ ７ ０ ６ に 「 action.recognized」 と い う タ
グを付して、行動レベルデータフローＣ５０４に送る。
【００６８】
行 動 レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ４ に お い て 「 action.recognized」 イ ベ ン ト Ｅ ７ ０ ６ を
条件判断処理部３０６が受け取ると、条件判断処理部３０６は予め定義ファイル３０４に

10

20

30

40

50

(15)

JP 2019-169147 A 2019.10.3て定義された条件判断指示に従って条件判断処理を行い、アクティベータＣ５０５にデー
タＤ７０７を流すと共に、ＡＤＬの推定結果Ｄ７０８をデータベース３０９にログ記録する。
【００６９】
以上、図７にて説明したように、学習型情報処理装置１０４を使用することで事象を推定して、観察対象者に対して適切な応答を行うことが可能である。
【００７０】
図８は、マルチモーダルセンサＣ５０１からイベントを取得して、センサレベルデータ
フローＣ５０２でイベントの加工を、概念レベルデータフローＣ５０３にてイベントの推定を行うことで観察対象者の行動認識を行い、概念学習器Ｃ５０６と対話して学習処理を行う過程を示す図である。
【００７１】
観 察 対 象 者 の 行 動 を 計 測 す る ９ 軸 セ ン サ ７ ０ １ か ら 「 sensor.9dof」 と い う イ ベ ン ト Ｅ
７０２がセンサレベルデータフローＣ５０２に入力される。また、観察対象者の発話を拾う ピ ン マ イ ク ７ ０ ３ か ら 「 sensor.mic」 と い う イ ベ ン ト Ｅ ７ ０ ４ が セ ン サ レ ベ ル デ ー タ フ
ロ ー Ｃ ５ ０ ２ に 入 力 さ れ る 。 入 力 同 期 併 合 処 理 部 ３ ０ ５ は 、 前 述 の 「 sensor.9dof」 イ ベ
ン ト Ｅ ７ ０ ２ と 、 「 sensor.mic」 イ ベ ン ト Ｅ ７ ０ ４ を 、 「 sensor.mic」 イ ベ ン ト Ｅ ７ ０ ４が 来 た タ イ ミ ン グ で 併 合 す る 。 そ し て 併 合 し た イ ベ ン ト Ｅ ７ ０ ５ に 「 concept.9dof̲mic」というタグを付して、概念レベルデータフローＣ５０３に送る。
【００７２】
概 念 レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ３ に お い て 「 concept.9dof̲mic」 イ ベ ン ト Ｅ ７ ０ ５ を 学
習データ処理部３０７が受け取ると、学習データ処理部３０７は学習型情報処理装置１０４にイベントの内容、すなわち９軸センサのデータ及びピンマイク７０３の音声データ（
特徴ベクトル、説明変数）を送信する。学習型情報処理装置１０４は情報処理装置１０１から特徴ベクトルを受信すると、学習アルゴリズムに基づく推定処理を行い、推定結果（
目的変数）を情報処理装置１０１へ返信する。
【００７３】
学習データ処理部３０７は学習型情報処理装置１０４から推定結果を受信すると、定義
ファイル３０４に記述されている閾値と比較する。推定結果の値が閾値よりも小さく、Ａ
ＤＬを充分に特定できなかった場合には、学習データ処理部３０７は推定結果Ｅ８０１に「 concept.uncategorized」 と い う タ グ を 付 し て 、 概 念 学 習 器 Ｃ ５ ０ ６ に 送 る 。
【００７４】
学 習 デ ー タ 処 理 部 ３ ０ ７ か ら 「 concept.uncategorized」 イ ベ ン ト を 概 念 学 習 器 Ｃ ５ ０
６が受け取ると、概念学習器Ｃ５０６はオラクルＣ５０７に問い合わせを行う。そして、
オ ラ ク ル Ｃ ５ ０ ７ か ら 「 concept.uncategorized」 イ ベ ン ト に 対 応 す る 正 解 ラ ベ ル Ｌ ８ ０
２ を 取 得 す る 。 正 解 ラ ベ ル と は 、 学 習 型 情 報 処 理 装 置 １ ０ ４ が 「 concept.9dof̲mic」 イ ベ
ントＥ７０５に対して本来返答すべき正解の内容である。具体的には、本発明の実施形態の 場 合 で は 、 "cleaning","blow-drying","sitting","standing","walking"等 の 、 Ａ Ｄ Ｌの 内 容 で あ る 。 概 念 学 習 器 Ｃ ５ ０ ６ は 正 解 ラ ベ ル Ｌ ８ ０ ２ に 「 concept.for̲training」 というタグ名を付して、学習データ処理部３０７に送る。
【００７５】
正解ラベルＬ８０２が、情報処理装置１０１が既に認識済みのＡＤＬの内容であるならば、学習型情報処理装置１０４に対し、既知の概念に対する再学習（既知概念拡張）を行う。正解ラベルＬ８０２が、情報処理装置１０１が未だ認識していないＡＤＬの内容であるならば、学習型情報処理装置１０４に対し、未知の概念を獲得する新規の学習（未知概念獲得）を行う。その際、定義ファイル３０４に新規の概念を追加する更新処理が必要になる。
【００７６】
以上、図８にて説明したように、学習型情報処理装置１０４を使用することで事象を推定できなかった場合に、適切な再学習あるいは新規の学習を行うことが可能である。

10

20

30

40

50

(16)

JP 2019-169147 A 2019.10.3【００７７】
図９は、マルチモーダルセンサＣ５０１からイベントを取得して、センサレベルデータ
フローＣ５０２における認識結果と、概念レベルデータフローＣ５０３における推定結果とを組み合わせて、複数のＡＤＬを識別し、多彩な応答を行う過程を示す図である。図６と図７を組み合わせた内容と概ね等価である。
【００７８】
顔 認 識 カ メ ラ １ ０ ２ が 人 の 顔 の 存 在 を 認 識 す る と 、 「 sensor.camera」 と い う タ グ の イ
ベントＥ６０１をセンサレベルデータフローＣ５０２に送る。センサレベルデータフロー
Ｃ ５ ０ ２ で は 、 「 sensor.camera」 と い う タ グ の イ ベ ン ト Ｅ ６ ０ １ を 受 け 取 る と 、 そ れ が既に予め登録された観察対象者の顔であるか否か、また２人以上の顔の存在を認識したか否かを、条件判断処理部３０６が判定する。条件判断処理部３０６は、２人以上の人の顔の 存 在 を 認 識 し た 場 合 に 、 タ グ を 「 action.multiple̲faces」 Ｅ ９ ０ １ に 書 き 換 え て 、 イ
ベントを行動レベルデータフローＣ５０４へ流す。
【００７９】
観 察 対 象 者 の 行 動 を 計 測 す る ９ 軸 セ ン サ か ら 「 sensor.9dof」 と い う イ ベ ン ト が セ ン サ
レベルデータフローＣ５０２に入力される。また、観察対象者の発話を拾うピンマイク７
０ ３ か ら 「 sensor.mic」 と い う イ ベ ン ト が セ ン サ レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ２ に 入 力 さ れる。
入 力 同 期 併 合 処 理 部 ３ ０ ５ は 、 前 述 の 「 sensor.9dof」 イ ベ ン ト Ｅ ７ ０ ２ と 、 「 sensor.mic」 イ ベ ン ト Ｅ ７ ０ ４ を 、 「 sensor.mic」 イ ベ ン ト Ｅ ７ ０ ４ が 来 た タ イ ミ ン グ で 併 合 す る。 そ し て 併 合 し た イ ベ ン ト Ｅ ７ ０ ５ に 「 concept.9dof̲mic」 と い う タ グ を 付 し て 、 概 念 レ
ベルデータフローＣ５０３に送る。
【００８０】
概 念 レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ３ に お い て 「 concept.9dof̲mic」 イ ベ ン ト Ｅ ７ ０ ５ を 学
習データ処理部３０７が受け取ると、学習データ処理部３０７は学習型情報処理装置１０４にイベントＥ７０５の内容、すなわち９軸センサのデータ及びピンマイク７０３の音声データ（特徴ベクトル、説明変数）を送信する。学習型情報処理装置１０４は情報処理装置１０１から特徴ベクトルを受信すると、学習アルゴリズムに基づく推定処理を行い、推定結果（目的変数）を情報処理装置１０１へ返信する。
学習データ処理部３０７は学習型情報処理装置１０４から推定結果を受信すると、定義
ファイル３０４に記述されている閾値と比較する。推定結果の値が閾値以上であり、ＡＤ
Ｌを充分に特定できた場合には、学習データ処理部３０７は推定結果のイベントＥ７０６に 「 action.recognized」 と い う タ グ を 付 し て 、 行 動 レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ４ に 送 る。
【００８１】
セ ン サ レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ２ か ら 送 ら れ て き た 「 action.multiple̲faces」 イ ベ
ン ト と 、 概 念 レ ベ ル デ ー タ フ ロ ー Ｃ ５ ０ ３ か ら 送 ら れ て き た 「 action.recognized」 イ ベ
ントＥ７０６は、入力同期併合処理部３０５によって併合される。併合されて単一になった イ ベ ン ト Ｅ ９ ０ ２ に は 「 action.mood」 と い う タ グ が 付 さ れ 、 条 件 判 断 処 理 部 ３ ０ ６ に送られる。
条 件 判 断 処 理 部 ３ ０ ６ は 、 「 action.mood」 イ ベ ン ト Ｅ ９ ０ ２ を 受 け 取 る と 、 イ ベ ン ト
Ｅ９０２内のデータに基いて、種々の条件判断処理を行う。そして、発話用テキストデー
タＤ９０３を生成してアクティベータＣ５０５に引き渡す、あるいはＡＤＬの推定結果Ｄ
７０８をデータベース３０９にログ記録する等の動作を行う。
【００８２】
例 え ば 、 「 action.multiple̲faces」 イ ベ ン ト に お い て 複 数 人 の 顔 を 認 識 し 、 「 action.
recognized」 イ ベ ン ト に て ＂ 会 話 ＂ が 行 動 ラ ベ ル と し て 認 識 さ れ た 場 合 に は 、 「 甲 田 さ ん、乙野さん、丙山さん、なんだか楽しそうにお話をしていますね。僕も仲間に入れて下さい。」と発話する。
例 え ば 、 「 action.multiple̲faces」 イ ベ ン ト に お い て 複 数 人 の 顔 を 認 識 し 、 「 action.

10

20

30

40

50

(17)

JP 2019-169147 A 2019.10.3

recognized」 イ ベ ン ト に て ＂ 着 席 ＂ が 行 動 ラ ベ ル と し て 認 識 さ れ た 場 合 に は 、 「 甲 田 さ ん、乙野さん、丙山さん、そういえば、丁チームは金メダルを取ったみたいですよ。」と、ニュースを所定のニュースサイト等から取得して、発話する。またこの発話と共に、同席する人達の組み合わせ及び雰囲気情報をログファイルに記録する。
【００８３】
図９を見ると、入力同期併合処理部３０５と条件判断処理部３０６は、センサレベルデ
ータフローＣ５０２、行動レベルデータフローＣ５０４の何れにも配置できる。一方、学習データ処理部３０７は概念レベルデータフローＣ５０３にのみ配置できる。
入力同期併合処理部３０５は、複数の事象を一つのイベントとして纏めて、特徴ベクト
ルとして取り扱う。もし、このイベントがそのまま条件判断処理部３０６で処理が可能であるならば、条件判断処理部３０６で所定の行動を実行するための判断を行う。もし、このイベントがそのままでは条件判断処理部３０６で処理が不可能であるならば、学習デー
タ処理部３０７に与えて、学習型情報処理装置１０４から推定結果を得る。
【００８４】
図９を見て判るように、行動レベルデータフローＣ５０４に配置されている条件判断処
理部３０６は、その直前に前置されている入力同期併合処理部３０５によって、センサレ
ベルデータフローＣ５０２から来たイベントと、概念レベルデータフローＣ５０３から来たイベントが併合されたイベントが入力される。
また、図９ではセンサレベルデータフローＣ５０２、概念レベルデータフローＣ５０３、行動レベルデータフローＣ５０４が、それぞれ１回ずつ現れているが、センサレベルデ
ータフローＣ５０２と概念レベルデータフローＣ５０３は、図５にて説明したように、行
動レベルデータフローＣ５０４の直前において、何回でも実行することができる。
すなわち、情報処理装置１０１は、学習型情報処理装置１０４の利用を最小限に抑えつ
つ、多彩な条件判断が可能になる。
【００８５】
このように、入力同期併合処理部３０５と条件判断処理部３０６、そして学習データ処
理部３０７を複数個組み合わせることで、多種多様なＡＤＬを認識あるいは推定することが可能になると共に、複数のＡＤＬの識別あるいは推定結果を、他のマルチモーダルセン
サＣ５０１の計測結果等と組み合わせることで、きめ細かな応答を観察対象者に実施することが可能になる。
【００８６】
本発明の実施形態に係る情報処理装置１０１では、入出力制御部３０１の大部分の機能に Fluentdを 使 用 し た 。 し か し 、 使 用 す る ソ フ ト ウ ェ ア は 必 ず し も Fluentdに は 限 ら な い 。
定義ファイル３０４の記述によってデータの流れを自由に定義することができる仕組みが
あ れ ば 、 Fluentdで な く と も 、 情 報 処 理 装 置 １ ０ １ を 実 現 す る こ と は 可 能 で あ る 。 一 例 として、名前付きパイプを応用して、シェルスクリプト等を使用すること等が考えられる。
【００８７】［学習データ処理部３０７と概念学習器Ｃ５０６及びオラクルＣ５０７］
図７では、概念レベルデータフローＣ５０３及び学習データ処理部３０７の動作を概略的に説明した。しかし、学習データ処理部３０７には、データ分類モード、新規クラス学
習モードの、２種類の動作モードを有する。また更に学習データ処理部３０７は、学習型
情報処理装置１０４と共に定義ファイル３０４を更新することで、計算機負荷の低減や推定精度の向上等が可能になる。
【００８８】
図１０は、入出力制御部３０１及び学習型情報処理装置１０４の、データ分類モードにおける機能ブロック図である。
マルチモーダルセンサＣ５０１から生じる種々のデータは、センサレベルデータフロー
Ｃ５０２に属する第一フィルタ１００１、第二フィルタ１００２、…第ｎフィルタ１００３に入力される。
第一フィルタ１００１は、マルチモーダルセンサＣ５０１から生じる種々のデータのうち

10

20

30

40

50

(18)

JP 2019-169147 A 2019.10.3、定義ファイル３０４のディレクティブに記述されたセンサのデータに対し、現在日時情報と所定のタグを付して、ＪＳＯＮ形式のイベントを生成する。
第二フィルタ１００２、また第ｎフィルタ１００３も、第一フィルタ１００１と同様に、ＪＳＯＮ形式のイベントを生成する。
なお、第一フィルタ１００１、第二フィルタ１００２、…第ｎフィルタ１００３には、それぞれ同じセンサのデータがＪＳＯＮ形式イベントに格納されるとは限らない。すなわ
ち、第一フィルタ１００１、第二フィルタ１００２、…第ｎフィルタ１００３を定義する
定義ファイル３０４のディレクティブには、同じセンサのデータが定義されているとは限らない。
【００８９】
第一フィルタ１００１、第二フィルタ１００２、…第ｎフィルタ１００３が出力するＪ
ＳＯＮ形式のイベントは、データ形式変換処理部１００４によってデータフォーマットが変換された後、学習型情報処理装置１０４に出力される。
学習型情報処理装置１０４は、データ形式変換処理部１００４から入力される、第一フィルタ１００１、第二フィルタ１００２、…第ｎフィルタ１００３が出力するイベントに由来するデータストリームに記述されているラベル毎に、第一推定処理部１００５、第二推定処理部１００６、…第ｎ推定処理部１００７にデータストリームを投入する。
ラ ベ ル は 、 イ ベ ン ト の タ グ に 記 述 さ れ て い る 。 例 え ば 「 sitting」 「 standing」 等 の 、観察対象者の動作（ＡＤＬ）を示す情報である。また、このラベルは、学習型情報処理装置１０４の内部に存在する推定機能ブロックを一意に識別する学習型情報処理装置１０４の第一推定処理部１００５、第二推定処理部１００６、…第ｎ推定処理部１００７は、予め学習されたＡＤＬに対し、入力されたデータストリームがどの程度の確率で合致するのかを示す確率を出力する。
【００９０】
例 え ば 、 第 一 推 定 処 理 部 １ ０ ０ ５ が ラ ベ ル 名 「 sitting」 を 、 第 二 推 定 処 理 部 １ ０ ０ ６
が ラ ベ ル 名 「 standing」 を 推 定 す る 機 能 ブ ロ ッ ク で あ る と す る 。
第一フィルタ１００１は、第一推定処理部１００５に投入するためのセンサのデータを
集 め 、 タ グ に 「 sitting」 を 付 し た イ ベ ン ト を 出 力 す る 。 第 一 フ ィ ル タ １ ０ ０ １ が 出 力 す
るＪＳＯＮ形式のイベントは、データ形式変換処理部１００４によってデータフォーマッ
トが変換された後、学習型情報処理装置１０４に出力される。
学習型情報処理装置１０４は、データ形式変換処理部１００４から入力されるデータス
ト リ ー ム に 記 述 さ れ て い る 「 sitting」 と い う タ グ を 識 別 す る と 、 当 該 デ ー タ ス ト リ ー ム
を同一名称のラベルが付されている第一推定処理部１００５に振り向ける。すると第一推
定処理部１００５は、入力されたデータストリームに対する、観察対象者が「座っている」確率を出力する。
【００９１】
第二フィルタ１００２は、第二推定処理部１００６に投入するためのデータを集め、タ
グ に 「 standing」 を 付 し た イ ベ ン ト を 出 力 す る 。 第 二 フ ィ ル タ １ ０ ０ ２ が 出 力 す る Ｊ Ｓ Ｏ
Ｎ形式のイベントは、データ形式変換処理部１００４によってデータフォーマットが変換された後、学習型情報処理装置１０４に出力される。
学習型情報処理装置１０４は、データ形式変換処理部１００４から入力されるデータス
ト リ ー ム に 記 述 さ れ て い る 「 standing」 と い う タ グ を 識 別 す る と 、 当 該 デ ー タ ス ト リ ー ム
を同一名称のラベルが付されている第二推定処理部１００６に振り向ける。すると第二推
定処理部１００６は、入力されたデータストリームに対する、観察対象者が「立っている」確率を出力する。
【００９２】
つまり、第一フィルタ１００１と第一推定処理部１００５は、互いに同一名称のタグとラ ベ ル 「 sitting」 で 紐 付 い て い る 。 第 二 フ ィ ル タ １ ０ ０ ２ と 第 二 推 定 処 理 部 １ ０ ０ ６ は、 互 い に 同 一 名 称 の タ グ と ラ ベ ル 「 standing」 で 紐 付 い て い る 。 以 下 同 様 に 、 あ る フ ィ ルタとある推定処理部は、共通する名称のタグとラベルによって、互いに１対１の対応関係

10

20

30

40

50

(19)

JP 2019-169147 A 2019.10.3

で紐付いている。
すなわち、センサレベルデータフローＣ５０２に属するフィルタのうち、学習型情報処
理装置１０４へイベントを出力するために設けられた第一フィルタ１００１、第二フィル
タ１００２、…第ｎフィルタ１００３は、マルチモーダルセンサＣ５０１から生じる種々のデータから、それぞれのタグに等しい名称のラベルに紐付く、観察対象者のＡＤＬを推定する推定処理部に与えるイベントを出力する。
【００９３】
ラ ベ ル 「 sitting」 が 付 さ れ て い る 第 一 推 定 処 理 部 １ ０ ０ ５ は 、 入 力 さ れ た デ ー タ ス ト
リーム（特徴ベクトル）に所定の演算処理を施し、観察対象者のＡＤＬ「座っている」の確率を出力する。
ラ ベ ル 「 standing」 が 付 さ れ て い る 第 二 推 定 処 理 部 １ ０ ０ ６ は 、 入 力 さ れ た デ ー タ ス ト
リーム（特徴ベクトル）に所定の演算処理を施し、観察対象者のＡＤＬ「立っている」の確率を出力する。
以下同様に、第ｎ推定処理部１００７まで、観察対象者の様々なＡＤＬにおける確率を出力する。
これらの推定処理部が出力したＡＤＬの確率は、データ形式逆変換処理部１００８に入力される。
データ形式逆変換処理部１００８は、第一推定処理部１００５、第二推定処理部１００
６、…第ｎ推定処理部１００７、がそれぞれ出力したＡＤＬの確率を、ラベルをタグに変換して、ＪＳＯＮ形式のイベントに変換する。そして、それらイベントは、ラベル特定処理部１００９に入力される。
【００９４】
ラベル特定処理部１００９は、内部に推定値閾値１０１０とコンパレータ１０１１を内蔵する。そして、データ形式逆変換処理部１００８から得られる複数個のイベントから、
Ａ Ｄ Ｌ の 確 率 を 取 り 出 す 。 そ し て 、 そ れ ら Ａ Ｄ Ｌ の 確 率 を ソ ー ト （ sort： 並 べ 替 え ） を 行
った後、最大値を示すＡＤＬの確率に対して、コンパレータ１０１１が推定値閾値１０１０と比較する。
もし、ある一つのＡＤＬの確率が推定値閾値１０１０以上であれば、観察対象者は当該ラベルに定義されるＡＤＬを行ったと推定できる。この場合、ラベル特定処理部１００９
は当該ラベルをタグに含み、正解の確率をデータに含むイベントを出力する。この時、当該イベントは学習用バッファ３０８には出力されない。
【００９５】
もし、全てのＡＤＬの確率が推定値閾値１０１０未満であれば、観察対象者がどのようなＡＤＬを行ったのかが推定できない。つまり、第一推定処理部１００５から第ｎ推定処
理部１００７の、全ての推定処理部が、観察対象者のＡＤＬを推定できなかった。このことから、観察対象者のＡＤＬは、第一推定処理部１００５から第ｎ推定処理部１００７の、全ての推定処理部に定義されていない、未知のＡＤＬを実行したものと推察される。
こ の 場 合 、 ラ ベ ル 特 定 処 理 部 １ ０ ０ ９ は 「 unknown」 等 の 、 ラ ベ ル を 特 定 で き な か っ たことを意味するタグを含み、マルチモーダルセンサＣ５０１の全てのデータを含むイベン
トを出力する。この時、当該イベントは学習用バッファ３０８に出力され、記憶される。
【００９６】
図１１は、入出力制御部３０１及び学習型情報処理装置１０４の、新規クラス学習モードにおける機能ブロック図である。
学習用バッファ３０８には、ＡＤＬが不明のイベントが蓄積されている。これらイベン
トは所定のタイミングで、概念学習用データ供給処理部１１０１を通じて、概念学習器Ｃ
５０６へ出力される。概念学習用データ供給処理部１１０１は、学習用バッファ３０８に蓄積されたイベントを、概念学習器Ｃ５０６へ出力する。
【００９７】
概念学習器Ｃ５０６は、概念学習用データ供給処理部１１０１からイベントを受信すると、オラクルＣ５０７に問い合わせて、新規のラベルを取得する。そして、学習型情報処

10

20

30

40

50

(20)

JP 2019-169147 A 2019.10.3

理装置１０４に新しい推定処理部を作成する。
図１２Ａは、概念学習器Ｃ５０６が情報処理装置１０１とオラクルＣ５０７と学習型情報処理装置１０４に対して実行するデータ処理の流れを示す概略図である。
まず、概念学習器Ｃ５０６は、情報処理装置１０１の概念学習用データ供給処理部１１
０１からイベントを受信すると、イベントを所定のフォーマットに変換した後、オラクル
Ｃ５０７に送信することで、オラクルＣ５０７に当該イベントにおけるラベルを問い合わせる。オラクルＣ５０７は、概念学習器Ｃ５０６から受信したデータに基づき、観察対象者のＡＤＬの正解を示すラベルを決定する。そして、ラベルを概念学習器Ｃ５０６へ送信する。
概念学習器Ｃ５０６は、オラクルＣ５０７から受信したラベルを学習型情報処理装置１
０４に送信して、新規の推定処理部の作成を依頼する。学習型情報処理装置１０４は、概念学習器Ｃ５０６からラベルを受信すると、当該ラベルに紐付く第ｐ推定処理部１２０１を作成する。
【００９８】
概 念 学 習 器 Ｃ ５ ０ ６ は 、 fluentdの 外 部 に 設 け ら れ る デ ー タ 処 理 プ ロ グ ラ ム で あ る 。 概念学習器Ｃ５０６は情報処理装置１０１の内部に設けてもよいし、また外部の情報処理装置にて稼働させてもよい。概念学習器Ｃ５０６は、情報処理装置１０１とオラクルＣ５０７と学習型情報処理装置１０４とのデータ等の送受信を行うことで、情報処理装置１０１と学習型情報処理装置１０４に、共通の名称で紐付く機能ブロックを生成する。すなわち
概念学習器Ｃ５０６は、情報処理装置１０１におけるタグ名にて特定されるフィルタと、
学習型情報処理装置１０４におけるラベル名にて特定される推定処理部を生成する。
【００９９】
概念レベルデータフローＣ５０３の説明で触れたが、オラクルＣ５０７とは、概念学習
器Ｃ５０６による観察対象者のＡＤＬの問い合わせに対し、正解を指し示す者または装置である。例えば、概念学習器Ｃ５０６が出力したマルチモーダルセンサＣ５０１のデータに基づいて観察対象者のＡＤＬを推定する、情報処理装置１０１より上位に位置する他の学習型情報処理装置がオラクルＣ５０７に該当する。また、概念学習器Ｃ５０６が出力したマルチモーダルセンサＣ５０１のデータに付されている日時情報に基づいて、監視担当
者または画像認識装置が観察対象者の監視カメラ映像を見ることで、観察対象者のＡＤＬを判断する、という作業もオラクルＣ５０７に該当する。
【０１００】
図１２Ｂは、概念学習器Ｃ５０６が情報処理装置１０１と学習型情報処理装置１０４に対して実行するデータ処理の流れを示す概略図である。
図１２Ａにおいて、概念学習器Ｃ５０６が学習型情報処理装置１０４に第ｐ推定処理部
１２０１を作成した。次に、概念学習器Ｃ５０６は情報処理装置１０１の概念学習用デー
タ供給処理部１１０１から再びイベントを受信する。そして、イベントを所定のフォーマットに変換して学習用データを形成した後、学習型情報処理装置１０４に学習用データを送信することで、第ｐ推定処理部１２０１に対する学習処理を実行する。すなわち、概念
学習器Ｃ５０６は第ｐ推定処理部１２０１に対応する第ｐ学習処理部１２０２に、学習用データを提供する。
【０１０１】
学習型情報処理装置１０４は概念学習器Ｃ５０６から受信したラベルと学習用データを用いて、第ｐ学習処理部１２０２に学習処理を行う。すると、学習型情報処理装置１０４
は、マルチモーダルセンサＣ５０１が出力するデータ（特徴ベクトル）に対し、第ｐ推定
処理部１２０１を、オラクルＣ５０７が示したラベルに該当するＡＤＬを最大事後確率として出力する関数とする学習処理を行う。
【０１０２】
図１２Ｃは、概念学習器Ｃ５０６が情報処理装置１０１に対して実行するデータ処理の流れを示す概略図である。
図１２Ｂにおいて、概念学習器Ｃ５０６が学習型情報処理装置１０４の第ｐ学習処理部

10

20

30

40

50

(21)

JP 2019-169147 A 2019.10.3

１２０２に対し、学習処理を実行した。次に概念学習器Ｃ５０６は、情報処理装置１０１のセンサレベルデータフローＣ５０２に属する新たなフィルタとして、第ｐ推定処理部１
２０１のラベルと同名のタグを有する第ｐフィルタ１２０３のディレクティブを作成して、定義ファイル３０４に登録する。
こうして概念学習器Ｃ５０６は、オラクルＣ５０７から新たなＡＤＬを定義するラベルを得て、情報処理装置１０１におけるタグ名にて特定される第ｐフィルタ１２０３と、学習型情報処理装置１０４におけるラベル名にて特定される第ｐ推定処理部１２０１を生成することができる。
なお、図１０から図１２にかけて説明した実施形態に係る学習型情報処理装置１０４では、推定処理部をＡＤＬ（クラス）毎に作っている。これは、例えばナイーブベイズ等の、２クラス分類の組み合わせで多クラス分類をする方法を模式化している。もし、ランダ
ムフォレストのような決定木法を採用した場合では、そのまま多クラス分類が可能である。
【０１０３】［定義ファイル３０４の更新と、学習型情報処理装置１０４の最適化処理］
定義ファイル３０４には、センサレベルデータフローＣ５０２に属する第一フィルタ１
００１、第二フィルタ１００２、…第ｎフィルタ１００３、第ｐフィルタ１２０３のディレクティブが記述されている。これらフィルタのディレクティブには、マルチモーダルセ
ンサＣ５０１が出力するデータのうち、タグに対応するラベルによって紐付けされる、学習型情報処理装置１０４の推定処理部に、特徴ベクトルを与える役割を有する。本発明の実施形態に係る情報処理装置１０１における特徴ベクトルとは、マルチモーダルセンサＣ
５０１に属する様々なセンサが出力する、種々のデータ群である。
【０１０４】
学習アルゴリズムにおいて、特徴ベクトルを構成する要素には寄与度というものが存在する。例えば、観察対象者に対して種々のセンサを設けて、それらセンサのデータを情報処理装置１０１が受信して処理をする状況を考える。
例えば、観察対象者が「立っている」というＡＤＬに対し、あるセンサの信号はその値によって観察対象者が立っているか否かを推定する際に大きな役割を有する。その一方で、別のあるセンサの信号はその値の如何にかかわらず、観察対象者が立っているか否かを推定する際に全く役に立たない。
【０１０５】
また、観察対象者が「座っている」というＡＤＬに対し、あるセンサの信号はその値によって観察対象者が座っているか否かを推定する際に大きな役割を有する。その一方で、別のあるセンサの信号はその値の如何にかかわらず、観察対象者が座っているか否かを推定する際に全く役に立たない。
すなわち、あるＡＤＬの確率を推定する推定処理部は、以上に説明したような特徴ベク
トルの要素によって出力される確率に対する寄与度が異なる。
【０１０６】
推定処理は、特徴ベクトルの要素数が少なければ少ないほど、演算処理の負荷が軽くなる。したがって、特徴ベクトルの要素のうち、寄与率に全く貢献しない要素は予め定義フ
ァイル３０４に記述されているフィルタのディレクティブにて除外しておけば、学習型情報処理装置１０４の演算負荷が軽くなり、システム全体のパフォーマンスが向上する。
【０１０７】
図１３は、情報処理装置１０１における、定義ファイル３０４の更新処理を示すブロック図である。この処理は、例えば情報処理装置１０１が通常の処理を行う必要がない、観察対象者が就寝している深夜等の時間帯において、システムメンテナンス処理の一環として実行される。図１３では一例として、図１２で説明した第ｐフィルタ１２０３と第ｐ推定処理部１２０１を更新するものとする。
フィルタ抜粋処理部１３０１は、定義ファイル３０４を読み込むと、センサレベルデー
タフローＣ５０２に属する第ｐフィルタ１２０３のディレクティブを抜粋する。そして、

10

20

30

40

50

(22)

JP 2019-169147 A 2019.10.3

抜粋した第ｐフィルタ１２０３のディレクティブのうち、第ｐ推定処理部１２０１を特定するラベルと同名のタグと、センサのエントリを、重要度算出部１３０２へ出力する。
【０１０８】
重要度算出部１３０２は、ランダムフォレスト等の周知のアルゴリズムを用いて、学習用バッファ３０８に記憶されているデータを読み出し、第ｐ推定処理部１２０１にデータ（特徴ベクトル）を投入することで、特徴ベクトルに属するセンサのデータの重要度を算出する。
重要度算出部１３０２が算出したセンサのデータ、すなわち特徴ベクトルの要素の重要度は、特徴圧縮処理部１３０３に入力される。特徴圧縮処理部１３０３は、重要度算出部
１３０２が算出した重要度に従って特徴ベクトルの要素に順位を付す。更に、削除しても推定処理の精度が所定の閾値より低下しない程度まで、特徴ベクトルの要素、すなわち寄与率の低いセンサのデータを、センサのエントリから削除する。そして、特徴圧縮処理部
１３０３は圧縮したセンサのエントリをラベルと共に概念学習器Ｃ５０６に送信する。
概念学習器Ｃ５０６は、前述の図１２において説明したように、新たな推定処理部を生成し、推定処理部に対応する学習処理部に学習処理を施す。そして、圧縮したセンサのエ
ントリとラベル、すなわちタグに基づいて、新たなフィルタのエントリを作成し、定義フ
ァイルに追記する。
【０１０９】
以下に、定義ファイル３０４にて記述される、定義ファイル３０４の更新処理が実行され る 前 の フ ィ ル タ の 指 示 （ デ ィ レ ク テ ィ ブ （ directive） ） の 一 例 を 示 す 。
【０１１０】<match concept.9dof̲and̲mic>@type aol-classifier
host 127.0.0.1
port 9199
client̲api 'classifier'train̲analyze analyze
threshold 9.0
target̲class sitting
num̲keys mfcc̲p,mfcc̲1,mfcc̲2,mfcc̲3,mfcc̲4,mfcc̲5,
mfcc̲6,mfcc̲7,mfcc̲8,mfcc̲9,mfcc̲10,mfcc̲11,mfcc̲12,
rms̲mean,rms̲var,zcr,ax̲mean,ay̲mean,az̲mean,mx̲mean,my̲mean,mz̲mean,gx̲mean,gy̲mean,gz̲mean,ax̲var,ay̲var,az̲var,mx̲var,my̲var,mz̲var,gx̲var,gy̲var,gz̲var
tag action.recognized.9dof̲and̲mic</match>【０１１１】
以下に、定義ファイル３０４にて記述される、定義ファイル３０４の更新処理が実行され た 後 の フ ィ ル タ の 指 示 （ デ ィ レ ク テ ィ ブ （ directive） ） の 一 例 を 示 す 。
【０１１２】<match concept.9dof̲and̲mic>@type aol-classifier
host 127.0.0.1
port 9199
client̲api 'classifier'train̲analyze analyze
threshold 9.0
target̲class sitting
num̲keys az̲mean,ay̲mean,my̲mean
tag action.recognized.9dof̲and̲mic

10

20

30

40

50

(23)

JP 2019-169147 A 2019.10.3</match>【０１１３】
１ 行 目 の 「 <match concept.9dof̲and̲mic.train>」 は 、 「 concept.9dof̲and̲mic」 と い
う タ グ を 持 つ デ ー タ に 対 し て 、 「 <match>」 か ら 始 ま り 「 </match>」 で 終 端 す る 中 に 記
述 さ れ て い る パ ラ メ ー タ を 利 用 し て 処 理 を 行 う こ と を 意 味 す る 。 「 concept.9dof̲and̲mic」 に は 、 「 9dof」 と い う セ ン サ と 「 mic」 か ら 得 ら れ る 特 徴 量 を マ ー ジ さ せ た 、 Ｊ Ｓ Ｏ Ｎ
形 式 の イ ベ ン ト が 流 れ て く る 。 ２ 行 目 の 「 @type aol-classifier」 で 、 入 力 デ ー タ に 対 して 「 aol-classifier」 の 処 理 を 適 用 す る こ と を 指 定 す る ８ 行 目 の 「 target̲class」 で は 、ど の ク ラ ス を 分 類 す る た め の 分 類 器 な の か を 指 定 す る 。 今 回 の 例 は 「 sitting」 と し て いる。
９ 行 目 の 「 num̲keys」 で 、 分 類 器 が 使 う 特 徴 量 デ ー タ の keyを 指 定 す る 。
定 義 フ ァ イ ル ３ ０ ４ の 更 新 処 理 に よ っ て 、 ９ 行 目 の 「 num̲keys」 に 列 挙 さ れ る 特 徴 ベ ク
トルの要素数が、大幅に減少していることがわかる。
【０１１４】［シリアライザ１４０２による対話型シナリオエンジンの実現］
図５にて説明したように、情報処理装置１０１は、マルチモーダルセンサＣ５０１から発生したデータに対し、観察対象者がどのようなＡＤＬを行っているのかをセンサレベル
データフローＣ５０２にて特定し、あるいは概念レベルデータフローＣ５０３にて推定して、それらＡＤＬに対応する反応、すなわちアクションを行動レベルデータフローＣ５０
４で決定し、決定したアクションをアクティベータＣ５０５にて実現する。
【０１１５】
前述のように、情報処理装置１０１におけるアクティベータＣ５０５は、音声出力処理
部３０３、Ｄ／Ａ変換器２１０及びスピーカ１０５によって実現される発話機能を含む。
例えば、前述の発話の例である「甲田さん、おはようございます。今日も一日楽しく過ごしましょう。」という発話は、発話開始から完了までおよそ４〜５秒程度の時間を要する。
【０１１６】
マルチモーダルセンサＣ５０１から発生したデータによっては、同時刻に複数のＡＤＬが確認でき、それによって複数のアクションが同時に発生するケースがありうる。その場
合、何も制御を行わずに複数のアクションを同時に音声出力処理部３０３に与えると、複数の発話が同時に発生してしまう。
そこで、アクションに優先度を付与し、発生したアクションを一旦キュー（バッファメ
モリ）に格納してから優先度でソートし、先に実行されているアクションが終了するまで
次のアクションの実行を待つ制御を行うことで、観察対象者との自然な対話が可能になる。
【０１１７】
図１４は、本発明の変形例に係る情報処理装置１４０１のソフトウェア機能を示すブロ
ック図である。
図１４に示す情報処理装置１４０１の、図３に示す情報処理装置１０１との相違点は、情報処理装置１４０１にはシリアライザ１４０２があることのみである。シリアライザ１
４０２以外の機能ブロックは、図３に示される機能ブロックと同一であるので、説明を省略する。
【０１１８】
図１５は、シリアライザ１４０２の機能ブロック図である。
シリアライザ１４０２は、アクション選択処理部１５０１とキュー１５０２よりなる。
アクション選択処理部１５０１は、入力同期併合処理部３０５、条件判断処理部３０６
及び学習データ処理部３０７からアクションに係るイベントを受信すると、それらイベン
トを一旦キュー１５０２に記憶する。そして、イベントのタグに付されている優先度に基づいてソートを行い、優先度の高いイベントから順番に処理を行う。また、優先度が付されていない、音声出力処理部３０３に出力しないイベントは、データベース３０９に出力

10

20

30

40

50

(24)

JP 2019-169147 A 2019.10.3

する。
なお、本発明の実施形態では明示していないが、アクションは上記の発話とログ記録に限られない。例えば、ブザーを鳴動させる、ＬＥＤを発光させる、ＬＣＤ等の表示装置に所定のメッセージ等を表示させる他、本発明をロボットに組み込む場合は、ロボットの挙動自体がアクションとなる。
【０１１９】［シナリオの優先度］
本発明の変形例に係る情報処理装置１４０１は、アクションを決定する行動レベルデー
タフローＣ５０４において、シナリオを優先度に応じてグループ分けを行う。
以下に、シナリオの優先度を列挙する。
【０１２０】
・異常対応シナリオ（優先度４）
観察対象者が転倒、発作、梗塞を起こした等、観察対象者が緊急性を要する状態を検知
し、アラームを発するためのシナリオである。
優先度４レベルのシナリオは、以下に記す下位の優先度のシナリオの実行を中断してでも、最優先で実行する。
・健康チェックシナリオ（優先度３）
観察対象者の介護カルテ等に記録を残す、観察対象者のバイタルデータ取得用のシナリオである。
優先度３レベルのシナリオは、以下に記す下位の優先度のシナリオの実行に優先して実行する。
・リラクゼーションシナリオ（優先度２）
観察対象者に対する挨拶、ゲーム、お歌等、観察対象者をリラックスさせるためのシナリオである。
優先度２レベルのシナリオは、以下に記す下位の優先度のシナリオの実行に優先して実行する。
・応答シナリオ（優先度１）
観察対象者の問いかけに対して応答する、受動的応答のシナリオである。
優先度１レベルのシナリオは、観察対象者の問いかけ、情報処理装置１４０１の起動時
等のシチュエーションにおいて、かつ、上位のシナリオが実行されていない時に実行する。
【０１２１】［イベントに対するシナリオの優先度の付与］
本発明の変形例に係る情報処理装置１４０１は、アクションを決定する行動レベルデー
タフローＣ５０４において、シナリオを優先度に応じてグループ分けを行い、所定の条件に合致するイベントに対してシナリオの優先度をタグ名にて付与する。
以下に、定義ファイル３０４にて記述される条件判断処理部３０６の指示（ディレクテ
ィ ブ （ directive） ） の 一 例 を 示 す 。
【０１２２】<match action.greeting>@type condition̲checker
tag1 scenario.priority̲3.vital̲checktag2 scenario.priority̲1.speak̲text.greet̲backtag̲else none
renew̲record true
condition1 record['nameNum'] == 1
condition2 record['nameNum'] > 1<record1>
text ${record['names'] + record['word']}</record1>

10

20

30

40

50

(25)

JP 2019-169147 A 2019.10.3<record2>// 今 回 の 例 で は 、 vital-checkで は デ ー タ の 中 身 は 必 要 な し</record2></match>【０１２３】
上 記 の デ ィ レ ク テ ィ ブ の 例 は 、 挨 拶 ア ク シ ョ ン が 認 識 さ れ た 時 （ action.greeting） に、ロボットの前で検出された人数が１人だけの場合はバイタルチェックシナリオ（優先度３）を、ロボットの前で検出された人が２人以上の場合は名前を呼んで挨拶する（優先度１ ） と い う 設 定 フ ァ イ ル の 記 述 の 例 で あ る 。 条 件 に 合 致 し た （ Matchし た ） デ ー タ が 「 condition1」 で 指 定 さ れ て い る 条 件 を 満 た し て い る 場 合 に は 、 タ グ 名 を 「 tag1」 で 指 定 さ れて い る 「 scenario.priority̲3.vital̲check」 に 書 き 換 え て 送 信 す る 。 同 様 に 、 「 conditi
on2」 で 指 定 さ れ て い る 条 件 を 満 た し て い る 場 合 に は 、 「 tag2」 で 指 定 さ れ て い る 「 scena
rio.priority̲1.speak̲text.greet̲back」 に 書 き 換 え る 。 「 scenario.priority̲*」 の 「 "*"」 に 該 当 し て い る 部 分 は 、 シ ナ リ オ デ ー タ の 優 先 度 を 示 し て い る 。 そ の 後 に あ る 「 vital̲check」 や 「 speak̲text」 は 、 実 行 す る シ ナ リ オ の 種 類 に 対 応 し て い る 。
【０１２４】［シリアライザ１４０２の動作］
図１６は、シリアライザ１４０２の動作の流れを示すフローチャートである。
処理を開始すると（Ｓ１６０１）、アクション選択処理部１５０１はイベントのタグに付されている優先度を検証する（Ｓ１６０２）。
ステップＳ１６０２からＳ１６０８までは、プログラミング言語におけるｓｗｉｔｃｈ−ｃａｓｅ文等による条件分岐処理である。
優先度が４である場合（Ｓ１６０２の「優先度＝４」）、アクション選択処理部１５０
１は異常対応シナリオ処理を実行して（Ｓ１６０３）、一連の処理を終了する（Ｓ１６０
４）。
優先度が３である場合（Ｓ１６０２の「優先度＝３」）、アクション選択処理部１５０
１は健康チェックシナリオ処理を実行して（Ｓ１６０５）、一連の処理を終了する（Ｓ１
６０４）。
優先度が２である場合（Ｓ１６０２の「優先度＝２」）、アクション選択処理部１５０
１はリラクゼーションシナリオ処理を実行して（Ｓ１６０６）、一連の処理を終了する（
Ｓ１６０４）。
優先度が１である場合（Ｓ１６０２の「優先度＝１」）、アクション選択処理部１５０
１は応答シナリオ処理を実行して（Ｓ１６０７）、一連の処理を終了する（Ｓ１６０４）。
優先度が付されていない場合（Ｓ１６０２の「優先度なし」）、アクション選択処理部
１５０１はログ記録処理を実行して（Ｓ１６０８）、一連の処理を終了する（Ｓ１６０４）。
何れの処理においても、ステップＳ１６０４から再びステップＳ１６０１に戻り、再度処理が繰り返される。
【０１２５】
図１７は、異常対応シナリオ処理の動作の流れを示すフローチャートである。図１６のステップＳ１６０３の詳細である。
処理を開始すると（Ｓ１７０１）、アクション選択処理部１５０１はキュー１５０２に格納されている優先度３以下のイベントを全て削除（クリア）する（Ｓ１７０２）。次に、音声出力処理部３０３にて実行されている実行中のアクションを中断して（Ｓ１７０３）、直ちに現在のアクション、すなわち優先度４のアクションを実行して（Ｓ１７０４）、一連の処理を終了する（Ｓ１７０５）。
【０１２６】
図１８は、健康チェックシナリオ処理、リラクゼーションシナリオ処理、応答シナリオ
処理の動作の流れを示すフローチャートである。図１６のステップＳ１６０５、Ｓ１６０

10

20

30

40

50

(26)

JP 2019-169147 A 2019.10.3

６及びＳ１６０７の詳細である。
処理を開始すると（Ｓ１８０１）、アクション選択処理部１５０１はキュー１５０２が空であるか否かを確認する（Ｓ１８０２）。
キュー１５０２が空であれば（Ｓ１８０２のＹＥＳ）、アクション選択処理部１５０１
は行動レベルデータフローＣ５０４から受信したイベントをキュー１５０２に格納して（Ｓ１８０３）、一連の処理を終了する（Ｓ１８０４）。
キュー１５０２が空でなけば（Ｓ１８０２のＮＯ）、アクション選択処理部１５０１は行動レベルデータフローＣ５０４から受信したイベントをキュー１５０２に格納する（Ｓ１８０５）。その後、キュー１５０２の中身を優先度でソートして（Ｓ１８０６）、一連の処理を終了する（Ｓ１８０４）。
【０１２７】
ステップＳ１８０６におけるキュー１５０２のソート処理は、キュー１５０２に最初のイベントが入った時点から所定の時間、例えば０。５秒等経過後に実行するようにアクシ
ョン選択処理部１５０１の機能を構成してもよい。つまり、キュー１５０２にある程度のレコード数のイベントが蓄積された時点でソート処理を実行することで、無駄なソート処理の繰り返しを抑制する。
【０１２８】
なお、図１８では説明を簡単にするために、優先度３、２及び１の処理を同一のフローチャートで説明したが、勿論、異なる処理にしてもよい。例えば、優先度１のイベントに対する応答シナリオ処理Ｓ１６０７ついては、キュー１５０２に優先度３のイベントが格納されていたなら、優先度１のイベントをキュー１５０２に格納せずに破棄し、実行をしない、という処理にしてもよい。
【０１２９】
図１９は、キュー１５０２の状態を説明するための概略図である。
今、（ａ）に示すように、キュー１５０２には５個のレコードのイベントが格納されているとする。キュー１５０２には、イベントに付されている時刻順にイベントが格納されているが、それらイベントに付されている優先度はばらばらである。
次に、図１８のステップＳ１８０６において、アクション選択処理部１５０１がキュー
１５０２をソートすると、（ｂ）に示すように、キュー１５０２のレコードは優先度が優先してソートされる。この結果、キュー１５０２の最下部レコードの優先度が最も高い「３」のレコードになり、レコードの順番が上に行くに従って、優先度が低い数のレコードが積み上がっている。
【０１３０】
本発明の各実施形態においては、情報処理装置１０１を開示した。
情報処理装置１０１は、種々のセンサ（マルチモーダルセンサＣ５０１）を利用して、多種多様なＡＤＬの識別あるいは推定を行う。
入力同期併合処理部３０５は、複数のイベントを受け入れて、各々のイベントの内容を単一のイベントに併合して出力する。その際、入力同期併合処理部３０５は、定義ファイ
ル３０４に記述することで指定されたタイミングで、イベントを出力する。
【０１３１】
学習データ処理部３０７は、入力されたイベントの内容を学習型情報処理装置１０４に特徴ベクトルとして出力し、学習型情報処理装置１０４から目的変数を受け取り、イベン
トの形式に変換して出力する。
条件判断処理部３０６は、単一のイベントを受け入れて、イベントに含まれているデー
タに対し、所定の条件判断を行うことで、条件に応じて異なるイベントを出力する。
情報処理装置１０１は、入力同期併合処理部３０５、学習データ処理部３０７、そして条件判断処理部３０６を定義ファイル３０４にて複数回使用することが可能であり、これらを組み合わせることで、複雑なデータフローを容易に形成し、多種多様なＡＤＬの識別あるいは推定を行うことができる。
【０１３２】

10

20

30

40

50

(27)

JP 2019-169147 A 2019.10.3

以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含む。
【０１３３】
１０１…情報処理装置、１０２…顔認識カメラ、１０３ａ、１０３ｂ…センサ、１０４…学習型情報処理装置、１０５…スピーカ、１０６…表示部、１０７…マイク、２０１…
バス、２０２…ＣＰＵ、２０３…ＲＯＭ、２０４…ＲＡＭ、２０５…不揮発性ストレージ、２０６…リアルタイムクロック、２０７…ＮＩＣ、２０８…シリアルＩ／Ｆ、２０９…
Ａ／Ｄ変換器、２１０…Ｄ／Ａ変換器、２１１…操作部、３０１…入出力制御部、３０２…入出力整形処理部、３０３…音声出力処理部、３０４…定義ファイル、３０５…入力同期併合処理部、３０６…条件判断処理部、３０７…学習データ処理部、３０８…学習用バ
ッファ、３０９…データベース、３１０…外部情報処理装置、６０３…マイクロ波センサ、６０５…非接触温度センサ、７０１…９軸センサ、７０３…ピンマイク、１００１…第一フィルタ、１００２…第二フィルタ、１００３…第ｎフィルタ、１００４…データ形式
変換処理部、１００５…第一推定処理部、１００６…第二推定処理部、１００７…第ｎ推
定処理部、１００８…データ形式逆変換処理部、１００９…ラベル特定処理部、１０１０…推定値閾値、１０１１…コンパレータ、１１０１…概念学習用データ供給処理部、１２
０１…第ｐ推定処理部、１２０２…第ｐ学習処理部、１２０３…第ｐフィルタ、１３０１…フィルタ抜粋処理部、１３０２…重要度算出部、１３０３…特徴圧縮処理部、１４０１…情報処理装置、１４０２…シリアライザ、１５０１…アクション選択処理部、１５０２
…キュー

【図１】

【図２】

【図３】

10

20

(28)

【図４】

【図５】

【図６】

【図７】

JP 2019-169147 A 2019.10.3

(29)

【図８】

【図９】

【図１０】

【図１１】

JP 2019-169147 A 2019.10.3

(30)

【図１２】

【図１３】

【図１４】

【図１６】

【図１７】
【図１５】

JP 2019-169147 A 2019.10.3

(31)

【図１８】

【図１９】

JP 2019-169147 A 2019.10.3