(57)【要約】【課題】システムの構築と変更を容易に行うことにより多種多様なセンサに柔軟に対応可能とし、また高度なＡＤＬの認識を実現可能な情報処理装置を提供する。【解決手段】情報処理装置は、種々のセンサから得られる各々のイベントの内容を、入力同期併合処理部、条件判断処理部、学習データ処理部、を通じて、ＡＤＬ識別処理部に引き渡す。ＡＤＬ識別処理部は、受信したイベントを、人の状態、物の状態、場所の状態、時間の状態が、ツリー構造で記述されていることによってＡＤＬを定義するＯＷＬ定義ファイルを参照して、観察対象者のＡＤＬを判定する。【選択図】図３
2020161136.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサから得られるデータを集約してセンサレベルのイベントを形成するセンサレベルデータフローと、
前記センサレベルデータフローから得られる前記センサレベルのイベントから観察対象者の基礎的な振る舞いを推定して概念レベルのイベントを形成する概念レベルデータフローと、
前記概念レベルデータフローから得られる前記概念レベルのイベントから前記観察対象者のＡＤＬを認識するＡＤＬ認識層と
を具備する、情報処理装置。
【請求項２】
前記センサレベルデータフローは、
複数のセンサから得られるデータの集合体である時系列データ群に対して所定のフォーマット整形処理を施すデータフォーマット処理部と
を具備し、
前記概念レベルデータフローは、
前記データフォーマット処理部が出力する、整形処理された時系列データ群をイベントを表現するデータであるセマンティックコンテキストデータ群に変換するデータ駆動処理部と
を具備し、
前記ＡＤＬ認識層は、
前記セマンティックコンテキストデータ群に基づき、観察対象者のＡＤＬ及びＦＩＭを判定するオントロジー推論処理部と
を具備する、請求項１に記載の情報処理装置。
【請求項３】
前記オントロジー推論処理部は、ＡＤＬとＦＩＭを定義するＯＷＬ定義ファイルを参照して、前記観察対象者のＡＤＬとＦＩＭを判定する、ＡＤＬ・ＦＩＭオントロジー解析処理部を有し、
前記ＡＤＬ・ＦＩＭオントロジー解析処理部は、前記セマンティックコンテキストデータ群の特定の条件において、ダミーの任意コンテキストを挿入した上で、判定処理を遂行する、
請求項２に記載の情報処理装置。
【請求項４】
前記セマンティックコンテキストデータ群は、少なくとも意味的役割として、動作主、対象、道具、共役者、場所、空間的始点、空間的終点、時間的始点、時間的終点、補助、姿勢、移動距離を有する、
請求項３に記載の情報処理装置。
【請求項５】
前記センサレベルデータフローは、
時系列データを所定の時間間隔毎に区切り、日時情報とタグ名を付したイベントとして出力する入出力整形処理部と、
主入力側のイベントと副入力側のイベントを併合し、日時情報とタグ名を付した単一のイベントに変換して出力する入力同期併合処理部と、
単一のイベントに含まれるデータに対し、所定の条件判断を行い、条件判断の結果に応じて異なるイベントを出力する条件判断処理部と
を具備し、
前記概念レベルデータフローは、
単一のイベントに含まれるデータを特徴ベクトルとして学習型情報処理装置に転送し、受信した推定結果を単一のイベントとして出力する学習データ処理部と
を具備し、
前記ＡＤＬ認識層は、
前記入力同期併合処理部と、前記条件判断処理部と、前記学習データ処理部から出力されるイベントを受信して、観察対象者のＡＤＬを判定するＡＤＬ識別処理部と
を具備する、請求項１に記載の情報処理装置。
【請求項６】
前記ＡＤＬ識別処理部は、前記入力同期併合処理部と、前記条件判断処理部と、前記学習データ処理部から出力されるイベントを、人の状態、物の状態、場所の状態、時間の状態が、ツリー構造で記述されていることによってＡＤＬを定義するＯＷＬ定義ファイルを参照して、前記観察対象者のＡＤＬを判定する、
請求項５に記載の情報処理装置。
【請求項７】
前記入力同期併合処理部と、前記条件判断処理部と、前記学習データ処理部は、定義ファイルに記述されたディレクティブに従い、イベントの処理に際し、前記入力同期併合処理部と、前記条件判断処理部と、前記学習データ処理部をそれぞれ複数個配置することが可能であることを特徴とする、請求項６に記載の情報処理装置。
【請求項８】
前記入出力整形処理部は、ＪＳＯＮフォーマットのイベントに、日時情報とタグ名を付すことを特徴とする、請求項７に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多種多様な情報を受け入れて所定の出力を得る情報処理装置に関する。
【背景技術】
【０００２】
高齢者の人口は世界中で急増している。医学の進歩などにより人の寿命が伸びる一方、全人口に占める労働人口の割合は減少し、介護・医療スタッフの不足を始めとした様々な問題が生じている。これらの問題を解決するために、ＡＡＬ（Ambient Assisted Living：自立生活支援技術）が大きな関心を集めている。
【０００３】
ＡＡＬは、我々を取り巻くＡＩ（Artificial Intelligence：人工知能）・ＩｏＴ（Internet of Things：モノのインターネット）技術を駆使し、高齢者の自立した生活を可能な限り持続させることで、ＱＯＬ（Quality of Life：生活の質）の向上をサポートしていくことである。ＡＡＬデバイスやサービスを適切に使用することで、廃用症候群等の予防や、リハビリの補助、また日常生活のサポートを通して、高齢者のＱＯＬを維持する、もしくは改善する、といったことが期待される。
【０００４】
ＡＡＬ研究者において特に大きな注目を集めている話題の一つが、ＡＤＬ（Activities of Daily Living：日常生活動作）の観察である。ＡＩ・ＩｏＴ技術を活用し、高齢者のＡＤＬをモニタリングし、結果に応じたフィードバックを投げかけることで、廃用症候群の防止、またリハビリ進展度の判断等に役立つことが期待される。
【０００５】
特許文献１には、顔の表情と動作を認識可能な顔表情動作認識方法及び装置が開示されている。
特許文献２には、効率良く多職種間の連携を支援する、連携支援装置、連携支援システム、連携支援方法、及びプログラムが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１６２４０９号公報
【特許文献２】特開２０１６−２１２９２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＡＤＬの観察には、ＡＩ等の学習アルゴリズムが用いられる。学習アルゴリズムを実行する計算機に、観察対象の状態や行動等を計測した情報を入力し、観察対象の状態や行動を推定する。
これまで、学習アルゴリズムを用いた事象認識技術は、入力されるデータの形態に柔軟性がなく固定的なものであった。すなわち、計算機で実行されるプログラムは固定的に構築されているため、装置が完成した後から、例えば新たなセンサ等の新たな種類の情報を追加することが困難であった。
【０００８】
また、現在主流の学習アルゴリズムを用いた情報処理装置は、バッチ学習と呼ばれる、一度に大量のデータを情報処理装置に与えて学習させる手法が採用されている。しかし、多くの事象において、統一されたフォーマットのデータを大量に入手することは困難である。ＡＤＬの観察においても同様で、ある観察対象者から大量のデータを得ることは困難である場合が多い。
更に、学習アルゴリズムが実現するＡＤＬの認識は、立っている、座っている、寝ている等、ごく簡単なものであれば実現が容易であるが、着替え、歯磨きや洗面等、複雑な動作の組み合わせよりなるＡＤＬの認識は困難である。
【０００９】
本発明はかかる課題に鑑みてなされたものであり、システムの構築と変更を容易に行うことにより多種多様なセンサに柔軟に対応可能とし、また高度なＡＤＬの認識が実現可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の情報処理装置は、複数のセンサから得られるデータを集約してセンサレベルのイベントを形成するセンサレベルデータフローと、センサレベルデータフローから得られるセンサレベルのイベントから観察対象者の基礎的な振る舞いを推定して概念レベルのイベントを形成する概念レベルデータフローと、概念レベルデータフローから得られる概念レベルのイベントから観察対象者のＡＤＬを認識するＡＤＬ認識層とを具備する。
【発明の効果】
【００１１】
本発明によれば、情報処理装置がシステムの構築と変更を容易に行うことができるので、多種多様なセンサに柔軟に対応することができる。また、少量のデータで効率的な学習を実現することができ、また高度なＡＤＬの認識を実現可能な情報処理装置を提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第一の実施形態に係る情報処理装置の全体構成を示すブロック図である。
【図２】情報処理装置のハードウェア構成を示すブロック図である。
【図３】情報処理装置のソフトウェア機能を示すブロック図である。
【図４】入力同期併合処理部と、条件判断処理部と、学習データ処理部と、ＡＤＬ識別処理部の入出力を説明するブロック図である。
【図５】オントロジー編集用エディタ「Protege」を用いた、観察対象者のＡＤＬを編集する様子を示す画面イメージである。
【図６】オントロジー編集用エディタ「Protege」を用いた、観察対象者のＡＤＬを編集する様子を示す一部拡大画面イメージである。
【図７】情報処理装置が実行するデータ処理のアーキテクチャを示す概念図である。
【図８】本発明の第二の実施形態に係る情報処理装置の、ソフトウェア機能の全体像を示すブロック図である。
【図９】本発明の第二の実施形態に係る情報処理装置の、ソフトウェア機能におけるデータ処理の流れを示すブロック図である。
【図１０】各種テーブルのフィールド構成を示す図である。
【図１１】セマンティックコンテキストにおける意味的役割を説明する図である。
【図１２】セマンティックコンテキストデータ群から形成される、セマンティックコンテキストの具体例を示す図である。
【図１３】データ駆動処理部で認識されたセマンティックコンテキストの、場所、姿勢及び道具における具体例を示す図である。
【図１４】データ駆動処理部で認識されたセマンティックコンテキストの、対象における具体例を示す図である。
【図１５】ＦＩＭオントロジーの一部抜粋をＯＷＬエディタのProtege上で表示した図である。
【図１６】ＡＤＬ／ＦＩＭオントロジーにおける、ＦＩＭの定義の一部を説明する図である。
【図１７】ＦＩＭ評価項目とコンテキストとの関係の一例を説明する図である。
【図１８】作成したＡＤＬ／ＦＩＭオントロジーにおける定義の一例をＯＷＬエディタのProtege上で表示した図である。
【図１９】継続して発生するコンテキストの表現例を示す図である。
【図２０】ＤＬ推論器が実施する、推論タスクの一覧を示す図である。
【図２１】ＤＬ推論器の動作の一例をＯＷＬエディタのProtege上で表示した図である。
【図２２】任意コンテキストを含むセマンティックコンテキストの一例を示す図である。
【図２３】複数のシナリオでの実験結果をガントチャートにて示す図である。
【発明を実施するための形態】
【００１３】
ＡＤＬは、その内容によって幾つかの段階に分けられる。
最も下位に位置するＡＤＬは、Basic ADLとも呼ばれる、基本的日常生活行動である。すなわち、食事、着替え、洗面、トイレ、移動、移乗等の、物理的な特徴を有するＡＤＬである。これらのＡＤＬは、観察対象者の生活自立度（介護度）の判定に利用される。
次に上位に位置するＡＤＬは、ＩＡＤＬ（Instrumental ADL）と呼ばれる、手段的日常生活行動である。買い物、料理、掃除、金銭管理、乗り物を使った移動等の精神的な特徴を有するＡＤＬであり、前述のBasic ADLよりも複雑な手順で構成される。これらＡＤＬは、観察対象者の社会的活動判定に利用される。
最後に、最上位に位置するＡＤＬは、職務に係るＩＡＤＬ、すなわち職務分野別ＩＡＤＬである。例えば、オフィス内ＩＡＤＬでは、電子メールの送受信、職務における会議、書類作成、電話、インターネットｗｅｂサイト検索等、オフィスワークに必要なスキルであり、前述のＩＡＤＬよりも更に高度な処理手順と処理内容を有するＡＤＬである。
【００１４】
上述の様々なＡＤＬには、動作または作業の開始、動作または作業の経過、動作または作業の終了と、最低でも３個の動作または作業の連鎖によって構成される。更に、これら動作または作業には時間経過が存在する。ＡＤＬによっては、動作または作業の経過によっては複数の動作または作業が存在し得る。
このような複雑な動作または作業の、時間軸を跨いだ組み合わせの全ての認識を、学習型情報処理装置に負担させることは困難である。
【００１５】
本発明は、発明者らが出願した特願２０１８−５３４５４に開示した技術の応用である。
発明者らは、センサと学習型情報処理装置として、観察対象者の基本的な状態のみを認識する用途にのみ用い、ＡＤＬの認識にはルールベースの仕組みを採用することとした。また、発明者らは、ＡＤＬを認識するルールベースのシステムとして、ウェブオントロジー言語ＯＷＬ（Web Ontology Language）の機能を利用することとした。
【００１６】
［第一の実施形態：情報処理装置１０１：全体構成］
図１は、本発明の第一の実施形態に係る情報処理装置１０１の全体構成を示すブロック図である。
情報処理装置１０１は、例えば、観察対象者である独居高齢者や老人施設における高齢者が適切に生活を営んでいるのかを１日観察する。そして、情報処理装置１０１は観察対象者を１日観察した結果、どのようなＡＤＬを遂行したのか、当該ＡＤＬの達成度等を記したレポートデータを作成する。このレポートデータは、観察対象者の要介護度認定等に利用される。
従来、このような作業は医療従事者が行っていたが、本発明に係る情報処理装置１０１を採用することで、極めて客観的なレポートデータを作成できると共に、医療従事者の人手不足解消に大きく貢献できる。
【００１７】
情報処理装置１０１には、顔認識カメラ１０２、赤外線センサや非接触温度センサ等の種々のセンサ１０３ａ、１０３ｂ…が接続されている。情報処理装置１０１はこれらセンサから、観察対象者を計測した結果得られる情報（時系列データ）を受信する。そして、観察対象者の照合結果に応じて、観察対象者のＡＤＬを判断、あるいは推定する。
【００１８】
情報処理装置１０１が観察対象者のＡＤＬを推定する際には、情報処理装置１０１は、学習アルゴリズムに基づく推定処理を、ネットワークを通じて外部の学習型情報処理装置１０４に依頼し、外部の学習型情報処理装置１０４から推定結果を受信する。また、情報処理装置１０１は、必要に応じて操作部１０５の操作に従い、液晶ディスプレイ等の表示部１０６に所定の情報を表示する等の処理を行う。
なお、学習型情報処理装置１０４のソフトウェア機能を情報処理装置１０１に内包させてもよい。
【００１９】
［第一の実施形態：情報処理装置１０１：ハードウェア構成］
図２は、情報処理装置１０１のハードウェア構成を示すブロック図である。
情報処理装置１０１は、バス２０１に接続された、ＣＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、操作部１０５、表示部１０６、不揮発性ストレージ２０５を備える。
バス２０１には更に、現在日時情報を出力するリアルタイムクロック（ＲＴＣ）２０６、ネットワークインターフェース（ＮＩＣ）２０７、シリアルインターフェース（シリアルＩ／Ｆ）２０８及びＡ／Ｄ変換器２０９が接続されており、シリアルＩ／Ｆ２０８を通じて顔認識カメラ１０２、センサ１０３ａ、１０３ｂ等が接続されている。また、Ａ／Ｄ変換器２０９を通じてマイク１０７が接続されている。
【００２０】
情報処理装置１０１としては、英国ラズベリーパイ財団（http://www.raspberrypi.org/）が開発する「Ｒａｓｐｂｅｒｒｙ  Ｐｉ」等を始めとする、近年普及している安価なシングルボードコンピュータが利用可能である他、パソコン等も利用可能である。
学習型情報処理装置１０４は、十分な演算能力を有するパソコン等が利用可能である。但し、学習型情報処理装置１０４において実行される学習アルゴリズムが要求する演算量が少ない場合は、学習型情報処理装置１０４の持つ機能を情報処理装置１０１に内蔵させてもよい。
【００２１】
［第一の実施形態：情報処理装置１０１：ソフトウェア機能］
図３は、情報処理装置１０１のソフトウェア機能を示すブロック図である。
入出力制御部３０１には、顔認識カメラ１０２、赤外線センサや非接触温度センサ等の種々のセンサ１０３ａ、１０３ｂ…が接続されている。また、Ａ／Ｄ変換器２０９を通じて観察対象者の音声を認識するためのマイク１０７も接続されている。
顔認識カメラ１０２や種々のセンサは、情報処理装置１０１におけるマルチモーダルセンサ（multimodal sensor）として扱われる。すなわち、顔認識カメラ１０２や種々のセンサは、観察対象者や観察対象とする事象を、映像、音声、温度、加速度等、様々な物理量等で計測するセンサ群としてみなされる。
【００２２】
情報処理装置１０１の主たる機能は、入出力制御部３０１に集約されている。この入出力制御部３０１は、サンプリングクロック毎、あるいは所定の時間間隔毎にセンサから得られる情報に、オブジェクト指向の思想に基づいて種々の情報を付加する。種々の情報が付加された情報はイベントと呼ばれる。入出力制御部３０１の大部分の機能は、オープンソースのデータ収集ソフトウェアであるＦｌｕｅｎｔｄ（ 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」の間はコロン（":"）で区切られる。
入出力整形処理部３０２はイベントを生成する際、ＲＴＣ２０６からイベントに付すための絶対日時情報を読み取る。
【００２８】
入出力制御部３０１の機能として備わっている介護度判定演算処理部３０３は、後述するＡＤＬ識別処理部３１２が出力するＡＤＬ識別結果に従い、観察対象者の要介護度をＡＤＬ毎にスコアリングして、レポートデータを作成する。レポートデータは不揮発性ストレージ２０５に記憶され、情報処理装置１０１の管理責任者によって観察対象者の評価等に利用される。
【００２９】
入出力制御部３０１は、マルチモーダルセンサから種々のデータの入力を受けると、入出力整形処理部３０２によって前述のＪＳＯＮ形式のイベントに変換した後、定義ファイル３０４に記述されている内容に従い、入力同期併合処理部３０５、条件判断処理部３０６、学習データ処理部３０７にてイベントの加工等を行う。
【００３０】
［第一の実施形態：入力同期併合処理部３０５］
ここで図４Ａを参照して、入力同期併合処理部３０５について説明する。
図４Ａは、入力同期併合処理部３０５の入出力を説明するためのブロック図である。
入出力制御部３０１の機能として備わっている入力同期併合処理部３０５は、複数のイベントを受け入れて、各々のイベントの内容を単一のイベントに併合して出力する。単一のイベントを出力する際、入力同期併合処理部３０５は、定義ファイル３０４に記述することで指定されたタイミングで、イベントを出力する。イベント同士を併合するタイミングは、「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>
【００３６】
「<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_hot
tag_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.temp」タグが付されたイベントを、タグ名でマッチングさせることを示す。
「@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/ ）を使用している。Ｄａｔｕｍとは、このＪｕｂａｔｕｓが解釈可能なｋｅｙ−ｖａｌｕｅデータ形式を指す。
【００４６】
analyzeモードでは、学習データ処理部３０７は、入力されるイベントをＤａｔｕｍ形式に変換して学習型情報処理装置１０４に送信する。これにより、学習データ処理部３０７は、分類・推薦・異常検知等、学習型情報処理装置１０４が提供している機能を使用して分析した結果をリアルタイムで受け取ることができる。
以下に、定義ファイル３０４にて記述される、学習データ処理部３０７のanalyzeモードにおけるディレクティブの一例を示す。
【００４７】
<match concept.accelerometer.analyze>
@type active_online_learner
host <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>」は、学習型情報処理装置１０４のＩＰアドレスまたはホスト名が記述される。
「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>」ディレクティブの終了宣言である。
【００５０】
以下に、上述の定義ファイル３０４にて記述される、学習データ処理部３０７のanalyzeモードにおけるディレクティブによって、学習データ処理部３０７が学習型情報処理装置１０４から得た分類結果であるイベントの一例を示す。なお、行頭の"#"はコメントを指し示す。
【００５１】
# 既知の概念の中で分類できた場合
2018-01-24T23:42:42+09:00 behavior.recognized
{"cleaning":0.0,"blow-drying":0.0,"sitting":9.84092903137207,
"standing":0.0,"walking":0.0 ,
"estimated_label":"sitting","max_score":9.84092903137207}
【００５２】
上記のイベントでは、「"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モードにて学習型情報処理装置１０４にそれら複数のイベントを送信して、学習型情報処理装置１０４に学習を行わせる。
【００５５】
［第一の実施形態：ＡＤＬ識別処理部３１２］
次に図４Ｄを参照して、ＡＤＬ識別処理部３１２について説明する。
図４Ｄは、ＡＤＬ識別処理部３１２の入出力を説明するためのブロック図である。
ＡＤＬ識別処理部３１２は、データ形式変換処理部４０１、データ形式逆変換処理部４０２、基礎情報記憶部４０３、ＡＤＬ判定処理部４０４を有する。
学習データ処理部３０７がanalyzeモードにおいて出力する、既知の概念の中で正常に分類できた観察対象者のイベント（図４Ｄ中「behavior.recognized」）や、図示はしていないが、入力同期併合処理部３０５や条件判断処理部３０６が出力する、観察対象者のイベントは、ＡＤＬ識別処理部３１２のデータ形式変換処理部４０１に入力される。
【００５６】
データ形式変換処理部４０１は、入力されるＪＳＯＮ形式のイベントを、一旦ＡＤＬ判定処理部４０４が扱うことができる、ＸＭＬ形式に変換する。そして、ＸＭＬ形式に変換されたイベントは、イベントに記述されている日時情報と共に基礎情報記憶部４０３に記憶される。
ＡＤＬ判定処理部４０４は、ＯＷＬ定義ファイル３１３に記述されている論理推論の条件と、基礎情報記憶部４０３に記憶されている観察対象者のイベントとを照合して、観察対象者が何月何日何時何分から何分間、ＯＷＬ定義ファイル３１３に記述されているＡＤＬを実行したのかを判定する。
ＡＤＬ判定処理部４０４が出力したＡＤＬ判定結果は、データ形式逆変換処理部４０２によって、ＸＭＬ形式からＪＳＯＮ形式に変換されて、介護度判定演算処理部３０３へ出力される。この時、イベントのタグは「action.recognized」となる。
【００５７】
これまでのＡＤＬ認識技術は、センサから観察対象者の体動と呼吸と心拍を同時に取得したデータを基に、観察対象者の瞬間的な動作や状態から、機械学習でＡＤＬの認識をしていた。
機械学習は、観察対象者の未定義の挙動に対し、新たにラベリングを付与する必要がある。
また、機械学習は、入力される特徴ベクトルに対して所定のラベルを推定するが、推定の根拠は確率計算の結果であるため、なぜ入力された特徴ベクトルに対して機械学習装置が提示したラベルであると推定したのか、その理由を明確に説明することができない。
【００５８】
一方、情報科学の分野では、近年になって人工知能（ＡＩ:Artificial Intelligence）の技術情報の一環として、知識を記述する「オントロジー（ontology）」という言葉が台頭し始めた。人工知能の用語としてのオントロジーは、「概念の明示的な仕様」と定義される。
この考え方をＡＤＬに当てはめると、ＡＤＬも観察対象者の行動であるので、その行動を言葉で明確に定義することが可能である。
行動は、人と物と場所と時間の、四つの要素で成り立っている。したがって、ＡＤＬにおいてこれら四つの要素を定義することで、複雑なＡＤＬもより単純な情報要素に分解することが可能である。
【００５９】
例えば、観察対象者が歯を磨く、というＡＤＬを実行することを考える。
観察対象者はシンクのある部屋に立っていて、何れかの手に歯ブラシを持っており、数分程度、歯を磨く動作を行う。このような状況をよく観察すると、
・人の状態：観察対象者が立っている
・物の状態：歯ブラシが観察対象者の近くに存在する
・場所の状態：観察対象者はシンクのある部屋に居る
・時間の状態：観察対象者は数分程度、あるいは日中や朝晩等の時間帯において、立っている状態を維持している
というように、各々の事象を文章化することが可能である。
【００６０】
学習型情報処理装置において、観察対象者が立っているか否かの推定は、観察対象者が歯磨きを行っているか否かを推定するよりも単純であることは明白である。
そこで発明者らは、学習型情報処理装置には観察対象者のごく単純な挙動のみを学習させ、より高次のＡＤＬは、複数の挙動や状態からルールベースで判断するように、情報処理装置を再構築することが好ましいと考えた。
【００６１】
ＯＷＬ言語はＲＤＦ（Resource Description Framework）の語彙を拡張したものである。本発明の実施形態に係るＡＤＬ判定処理部４０４と基礎情報記憶部４０３は、Ｊａｖａ（登録商標）で構成されるＯＷＬ言語インタプリタ（https://github.com/owlcs/owlapi/）である。
ＯＷＬ定義ファイル３１３には、ＡＤＬを定義するために、人の状態、物の状態、場所の状態、時間の状態が、ツリー構造で記述されている。ＡＤＬ判定処理部４０４は、入力された事象に合致するルールのツリー構造を辿ることで、観察対象者のＡＤＬを判定することが可能になる。
【００６２】
［第一の実施形態：ＯＷＬの一例］
以下、ＯＷＬの一例を説明する。
図５及び図６は、オープンソースのオントロジー編集用エディタである「Protege」（ https://protege.stanford.edu/ 、"Protege"の２個の"e"はアキュート・アクセント付きのeである。）を用いた、観察対象者のＡＤＬを編集する様子を示す画面イメージである。
図５Ａは、Protegeの編集画面である。
図５Ｂは、Protegeの編集画面のうち、左端に表示されているクラス一覧表示欄（Protegeでは「Class View」と呼ぶ）を一部拡大した図である。
図６Ａは、Protegeの編集画面のうち、右上に表示されているクラス「BrushingTeeth」のクラス総合関係表示欄を一部拡大した図である。
図６Ｂは、Protegeの編集画面のうち、右下に表示されているクラス「BrushingTeeth」のクラス詳細編集欄を一部拡大した図である。
【００６３】
例えば、整容ＡＤＬの１つである「歯みがき行動（BrushingTeeth）」のＯＷＬによる定義は以下のようになる。
（１）図５及び図６を参照して説明する。
まず、クラスとして「行動（Activity）」、「人（Person）」、「もの（Artifact）」、「場所（SymbolicLocation）」を定義し、それぞれのクラス階層を定義する。たとえば、「行動」のサブクラスとして「単独行動（Individial Activity）」、そのサブクラスとして「個人行動（Personal Activity）」が定義され、その下に認識対象のＡＤＬである「歯磨き（Brushing Teeth）」「整髪（CombingHair）」などが定義される。
【００６４】
（２）次に、クラスオブジェクトの間の関係をObject Propertyで定義する。たとえば、「〜の行動は〜の場所で行われる（canTakePlaceOn）」は、行動と場所クラスのオブジェクト間の関係を定義する。この他には「〜の者は〜を使う（usingArtifact）」や、「〜の場所は〜を備える（has Artifact）」などが定義される。
上記のクラスと関係を用いて、個々のＡＤＬを定義する。たとえば、「歯磨きは、個人行動であり、歯ブラシを持って行われ、流しのある場所で行われる。」と定義され、図６Ａに表示される、以下のようなＯＷＬとなる。
【００６５】
BrushingTeeth SubClassOf PersonalActivity and (hasActor only (usingArtifact some Comb))
BrushingTeeth SubClassOf canTakePlaceOn only (hasArtifact some Sink)
【００６６】
（３）最後に、定義されたＯＷＬはＲＤＦ／ＸＭＬ記述として出力され、これを用いて、ＡＤＬクラス判定のための論理推論を行うReasonerが動作する。
【００６７】
［第一の実施形態：情報処理装置１０１：データ処理のアーキテクチャ］
図７は、情報処理装置１０１が実行するデータ処理のアーキテクチャ（設計思想）を示す概念図である。
情報処理装置１０１は、Ｆｌｕｅｎｔｄにて形成される３種類のデータフローを定義ファイル３０４にて定義し、それらデータフローをイベントのタグ名で区別する。また、Ｆｌｕｅｎｔｄの外部に設けられるＡＤＬ認識層Ｃ７０４は、観察対象者の全てのＡＤＬの判定を実行する。
【００６８】
先ず、マルチモーダルセンサＣ７０１から生じる種々のデータは、センサレベルデータフローＣ７０２に入力される。センサレベルデータフローＣ７０２では、各々のイベントに「sensor.**」で始まるタグが付される。そして、センサレベルデータフローＣ７０２の内部では、入力同期併合処理部３０５によって複数のイベントが１個のイベントに併合される、あるいは概念レベルデータフローＣ７０３やＡＤＬ認識層Ｃ７０４に転送される。特に、ＡＤＬ認識層Ｃ７０４に転送されるイベントには「behavior.**」で始まるタグが付される。
なお、「sensor.**」の"**"（アスタリスク２文字）は、情報処理装置１０１が扱うイベントに付されるタグ名の文字列マッチング処理において、タグ名のフィールドセパレータである"."（ピリオド）で区切られるフィールド単位のワイルドカードを意味する。
【００６９】
センサレベルデータフローＣ７０２にて形成されたイベントのうち、そのままでは観察対象者の基礎的な振る舞いを認識できないイベントは、学習型情報処理装置１０４によって推定を行う必要が生じる。そこで、そのような「行動不可能な」イベントは、「concept.**」で始まるタグが付され、概念レベルデータフローＣ７０３に入力される。
【００７０】
概念レベルデータフローＣ７０３に属する、学習アルゴリズムを用いる学習型情報処理装置１０４は、観察対象者の基礎的な振る舞いを推定する。そして、概念レベルデータフローＣ７０３が出力したイベントは、「behavior.**」で始まるタグが付され、ＡＤＬ認識層Ｃ７０４に入力される。
【００７１】
ＡＤＬ認識層Ｃ７０４によって観察対象者のＡＤＬを認識または推定可能になったイベントは、認識したＡＤＬに基づいてスコアリング処理を行う、認識したＡＤＬをデータベース３０９にログ記録されるか、あるいは会話音声を発する等、何らかの行動を可能とする。このような「行動可能な」イベントは「action.**」で始まるタグが付され、行動レベルデータフローＣ７０５に入力される。行動レベルデータフローＣ７０５では、最終的に得られた認識結果に従って、スコアリング処理が行われるか、ログ記録されるか、あるいは会話音声を発する等の、所定のアクションが実行される。このアクションがアクティベータＣ７０６である。
【００７２】
図５を見ると情報処理装置１０１は、マルチモーダルセンサＣ７０１から生じるイベントをセンサレベルデータフローＣ７０２に入力する。センサレベルデータフローＣ７０２から出力されるイベントは、概念レベルデータフローＣ７０３に入力されるか、またはＡＤＬ認識層Ｃ７０４に直接入力される。ＡＤＬ認識層Ｃ７０４が出力するイベントは全て行動レベルデータフローＣ７０５に入力される。
すなわち、センサレベルデータフローＣ７０２と、概念レベルデータフローＣ７０３が出力するイベントの何れも、ＡＤＬ認識層Ｃ７０４に入力され、観察対象者のＡＤＬの判定処理が行われる。
【００７３】
本発明の第一の実施形態に係る情報処理装置１０１では、入出力制御部３０１の大部分の機能にＦｌｕｅｎｔｄを使用した。しかし、使用するソフトウェアは必ずしもＦｌｕｅｎｔｄには限らない。定義ファイル３０４の記述によってデータの流れを自由に定義することができる仕組みがあれば、Ｆｌｕｅｎｔｄでなくとも、情報処理装置１０１を実現することは可能である。一例として、名前付きパイプを応用して、シェルスクリプト等を使用すること等が考えられる。
【００７４】
［第二の実施形態：情報処理装置８０１：ソフトウェア機能］
発明者らは、第一の実施形態に係る情報処理装置１０１を完成した後も更に改良を続け、より実用的な情報処理装置８０１を構築するに至った。
これより説明する第二の実施形態では、主に高齢者の日常生活における機能的自立度を計測して評価するための情報処理装置８０１を開示する。機能的自立度の計測には、医療・介護領域で広く用いられているＡＤＬ評価指標である、機能的自立度評価法（ＦＩＭ：Functional Independence Measure）を用いる。
【００７５】
従来、ＦＩＭは専門の教育を受けた担当者が被験者である高齢者を例えば１週間程度観察して、各種項目毎に自立度を評価し、それら項目毎に点数を付与し、それら点数を合算することで、当該被験者の機能的自立度を評価する。すなわち、機能的自立度評価には人手が必要で、また機能的自立度評価に要する労力も軽微ではない。このような機能的自立度評価の仕組みを機械化できれば、介護従業者の大幅な省力化に寄与することが期待できる。
【００７６】
図８は、本発明の第二の実施形態に係る情報処理装置８０１の、ソフトウェア機能の全体像を示すブロック図である。
図９は、本発明の第二の実施形態に係る情報処理装置８０１の、ソフトウェア機能におけるデータ処理の流れを示すブロック図である。
本発明の第二の実施形態に係る情報処理装置８０１の、全体構成は図１と同一であり、ハードウェア構成も図２と同一であるので、これらの説明は割愛する。
図８に示す本発明の第二の実施形態に係る情報処理装置８０１の、図３に示す本発明の第一の実施形態に係る情報処理装置１０１との相違点は、入出力制御部８０２に含まれる機能ブロックである。逆に、入出力制御部８０２の外側に存在する機能ブロックは、図３と等しい。
また、図９に示すデータ処理の流れを説明するブロック図は、図７に示すデータ処理のアーキテクチャに類似する。
【００７７】
マルチモーダルセンサＣ７０１は、図３及び図８における顔認識カメラ１０２、センサ１０３ａ、１０３ｂ…及びマイク１０７に相当する。
マルチモーダルセンサＣ７０１から生じる種々のデータは、時系列データ群９０１としてＲＡＭ２０４や不揮発性ストレージ２０５に記憶される。
【００７８】
データフォーマット処理部８０３は、時系列データ群９０１に対して、以下に例示列挙する種々の整形処理を施す。
（１）マルチモーダルセンサＣ７０１から入力される各々のデータのクリーニング（クレンジング）
・移動平均等のノイズ除去処理
・欠損値補完処理
・同一サンプリング周波数へのリサンプリング処理
（２）各々のセンサデータの統合
・複数センサからのデータの統合
・機械学習推定処理部に特徴ベクトルを入力させるための特徴量としての選択
（３）データの変換
・特徴量生成
・正規化
【００７９】
データフォーマット処理部８０３は、以上のようなデータの整形処理を行う。これにより、出力形式やサンプリング周波数及び出力タイミングの異なる複数種類のセンサから得られるデータ群は、出力形式が統一され、サンプリング周波数及び出力タイミングが揃えられ、ノイズが抑制され、欠損データが補完される。
時系列データ群９０１とデータフォーマット処理部８０３は、図７におけるセンサレベルデータフローＣ７０２と実質的に等しい。
本発明の第二の実施形態に係る情報処理装置８０１は、後述するＡＤＬ・ＦＩＭオントロジー解析処理部９０４がＯＷＬ言語インタプリタであり、ＸＭＬ形式のデータを要求するため、データフォーマット処理部８０３はＸＭＬ形式のデータを出力する。
【００８０】
データフォーマット処理部８０３によって整形処理された時系列データ群９０１は、その一部を除いて、データ駆動処理部９０２に供給される。
データ駆動処理部９０２は、データマイニング判定処理部８０４と、機械学習推定処理部８０５を含む。
データマイニング判定処理部８０４は、ルールベースのデータ処理を行う。すなわち、データマイニング判定処理部８０４は、予めシステム構築者の手作業によってルールを作成する。そして、単一または複数のデータに対して作成したルールによる明示的な条件を当てはめて、後述するセマンティックコンテキストに変換する。
【００８１】
例えば、高齢者の部屋の天井にアンテナが複数個配置される。そして、スリッパに装着したＲＦＩＤが、第一の時間において地点Ａ近傍のアンテナから最大の信号強度を得たとする。次に、スリッパに装着したＲＦＩＤが、第一の時間から所定時間経過した第二の時間において地点Ｂ近傍のアンテナから最大の信号強度を得たとする。このような、アンテナ毎の信号強度の変化があった場合、当該スリッパは、第一の時間から第二の時間において、地点Ａ近傍から地点Ｂ近傍へ移動したと判断することができる。
このような、機械学習による判定を行うまでもなく、明示的に判断可能な事象に対しては、データマイニング判定処理部８０４は、システム構築者の手作業によって作成したルールを用いて、時系列データ群９０１をセマンティックコンテキストに変換する。
【００８２】
機械学習推定処理部８０５は、第一の実施形態における学習データ処理部３０７に相当する。機械学習推定処理部８０５は、主に分類学習アルゴリズムに基づくデータ処理を行う。すなわち、予め学習処理を施して形成した近似関数に、所定のデータを特徴ベクトルとして入力し、推定結果と類似度を出力する。そして、機械学習推定処理部８０５は、複数の近似関数を組み合わせて、所定のデータから後述するセマンティックコンテキストに変換する。
【００８３】
データフォーマット処理部８０３によって整形処理された時系列データ群９０１の一部、及びデータマイニング判定処理部８０４と機械学習推定処理部８０５が出力するデータは、セマンティックコンテキストデータ群９０３としてＲＡＭ２０４や不揮発性ストレージ２０５に記憶される。
データ駆動処理部９０２とセマンティックコンテキストデータ群９０３は、図７における概念レベルデータフローＣ７０３と実質的に等しい。
【００８４】
［第二の実施形態：情報処理装置８０１：各種テーブルのフィールド構成］
時系列データ群９０１は、センサが出力するデータそのものである。これに対し、セマンティックコンテキストデータ群９０３は、イベント、すなわち事象を表現するデータである。
ここで、時系列データ群９０１とセマンティックコンテキストデータ群９０３とのデータ形式の相違を説明する。
図１０は、各種テーブルのフィールド構成を示す図である。
時系列データ群９０１は、日時フィールドと、センサＩＤフィールドと、属性ＩＤフィールドと、属性値フィールドを有する。
【００８５】
日時フィールドには、センサがデータを出力した時点の日時情報が格納される。
センサＩＤフィールドには、センサを一意に識別するセンサＩＤが格納される。なお、センサＩＤはセンサの種類を示すセンサ種別情報と組にしてもよい。
属性ＩＤフィールドには、センサが出力するデータの属性を一意に識別する属性ＩＤが格納される。属性ＩＤは例えば、ＲＦＩＤを検出するアンテナが、あるＲＦＩＤを検出した際の、ＲＦＩＤが受信機へ返信する識別ＩＤである。
属性値フィールドには、属性ＩＤフィールドに格納された属性ＩＤに対応する属性値が格納される。属性値は例えば、ＲＦＩＤを検出するアンテナが、あるＲＦＩＤを検出した際の、ＲＦＩＤが受信機へ識別ＩＤを返信した際の電波の強度である。
【００８６】
属性ＩＤフィールドと属性値フィールドは、センサの種類や数が増えても、属性ＩＤの一意性を維持することで、様々なセンサの出力データを格納することが可能である。
【００８７】
セマンティックコンテキストデータ群９０３は、開始日時フィールドと、終了日時フィールドと、イベントＩＤフィールドと、属性ＩＤフィールドと、属性値フィールドを有する。
開始日時フィールドには、イベントＩＤフィールドに記載されたイベントＩＤで指定されるイベントが発生した日時が格納される。
終了日時フィールドには、イベントＩＤフィールドに記載されたイベントＩＤで指定されるイベントが終了した日時が格納される。
【００８８】
イベントＩＤフィールドには、イベントを一意に識別するイベントＩＤが格納される。イベントとは、被験者が何らかの動作を行った、あるいは何らかの状態に至ったことを指す。このイベントＩＤに共通する複数のレコードは、同一のイベントを指し示す。
属性ＩＤフィールドには、イベントの発生の具体的内容を示す意味的役割を一意に識別する属性ＩＤが格納される。
属性値フィールドには、属性ＩＤフィールドに記述された意味的役割に付随するデータが格納される。なお、意味的役割については図１１で後述する。
【００８９】
セマンティックコンテキストデータ群９０３の、テーブルのフィールド構成は、図１０に示す形式ではあるが、セマンティックコンテキストデータ群９０３のデータ形式そのものは、本発明の第一の実施形態に係る情報処理装置１０１と同様の、ＸＭＬ形式である。
【００９０】
再び図８及び図９を参照して、データ処理の流れを説明する。
セマンティックコンテキストデータ群９０３は、オントロジー推論処理部８０６に読み込まれる。
オントロジー推論処理部８０６は、本発明の第一の実施形態に係る情報処理装置１０１のＡＤＬ識別処理部３１２に相当し、ＡＤＬ・ＦＩＭオントロジー解析処理部９０４と、ＤＬ推論器９０５を含む。
【００９１】
ＡＤＬ・ＦＩＭオントロジー解析処理部９０４は、セマンティックコンテキストデータ群９０３をＯＷＬ定義ファイル３１３に記述されている論理推論の条件に基づいて解釈する。そして、観察対象者が何月何日何時何分から何分間、ＯＷＬ定義ファイル３１３に記述されているＡＤＬを実行したのかを判定する。更に、ＡＤＬ・ＦＩＭオントロジー解析処理部９０４は、ＡＤＬの下位に定義されているＦＩＭを判定できる場合にはＦＩＭも判定する。この時、ＡＤＬ・ＦＩＭオントロジー解析処理部９０４は、セマンティックコンテキストデータ群９０３に含まれる複数のセマンティックコンテキストをＯＷＬ定義ファイル３１３に基づいて紐付け、ＯＷＬオントロジーオブジェクトインスタンス９０８を生成する。
【００９２】
ＡＤＬ・ＦＩＭオントロジー解析処理部９０４の判定結果は、ＤＬ推論器９０５に入力される。ＤＬ推論器９０５は、例えば Fact++（http://owl.man.ac.uk/factplusplus/）であり、セマンティックコンテキストデータ群９０３とＯＷＬオントロジーオブジェクトインスタンス９０８をも読み込んで、論理推論を実行する。そして、ＦＩＭを判定する。
オントロジー推論処理部８０６は、以上の処理を経て、行動クラス判定結果及び自立度クラス判定結果９０６を出力する。
【００９３】
再び図１０を参照して、テーブルのフィールド構成を説明する。
行動クラス判定結果１００１は、開始日時フィールドと、終了日時フィールドと、個人ＩＤフィールドと、ＡＤＬフィールドを有する。
開始日時フィールドには、個人ＩＤフィールドに記載された被験者がＡＤＬフィールドに記載されたＡＤＬの実行を開始した日時が格納される。
終了日時フィールドには、個人ＩＤフィールドに記載された被験者がＡＤＬフィールドに記載されたＡＤＬの実行を終了した日時が格納される。
個人ＩＤフィールドには、被験者を一意に識別する個人ＩＤが格納される。
ＡＤＬフィールドには、ＡＤＬ・ＦＩＭオントロジー解析処理部９０４が判定したＡＤＬが格納される。
【００９４】
自立度クラス判定結果１００２は、開始日時フィールドと、終了日時フィールドと、個人ＩＤフィールドと、ＡＤＬフィールドと、ＦＩＭフィールドを有する。
開始日時フィールドと、終了日時フィールドと、個人ＩＤフィールドと、ＡＤＬフィールドは、行動クラス判定結果１００１の同名フィールドと同一である。
ＦＩＭフィールドには、ＡＤＬ・ＦＩＭオントロジー解析処理部９０４またはＤＬ推論器９０５によって判定されたＦＩＭが格納される。
【００９５】
再び図８及び図９を参照して、データ処理の流れを説明する。
行動クラス判定結果及び自立度クラス判定結果９０６は、確信度演算処理部８０７に入力される。
確信度演算処理部８０７は、ＤＬ推論器９０５で判定できなかったＦＩＭについて、ＯＷＬオントロジーオブジェクトインスタンス９０８を参照しながら、後述する「クラスの確信度」を計算することで、ＦＩＭの判定を実行する。そして、確信度演算処理部８０７は最終的にＡＤＬ認識結果及びＦＩＭ採点結果９０７を出力する。
セマンティックコンテキストデータ群９０３とオントロジー推論処理部８０６と行動クラス判定結果及び自立度クラス判定結果９０６と確信度演算処理部８０７は、図７におけるＡＤＬ認識層Ｃ７０４と実質的に等しい。
【００９６】
オントロジー推論処理部８０６がＦＩＭの判定に失敗する場合を想定して、ＡＤＬ・ＦＩＭオントロジー解析処理部９０４は、予めセマンティックコンテキストデータ群９０３の、特定の条件において、ダミーの任意コンテキストをＯＷＬオントロジーオブジェクトインスタンス９０８に挿入する。確信度演算処理部８０７は、このダミーコンテキストの存在を加味して、ＦＩＭの確からしさを計算する。これにより、マルチモーダルセンサＣ７０１から得られる時系列データ群９０１に不具合が生じ、不完全なセマンティックコンテキストデータ群９０３しか得られなかった場合でも、オントロジー推論処理部８０６は、確度の高いＦＩＭを判定することができる。
【００９７】
［第二の実施形態：情報処理装置８０１：セマンティックコンテキスト］
図１１は、セマンティックコンテキストにおける意味的役割を説明する図である。
図１１に示すように、本発明の第二の実施形態に係る情報処理装置８０１において、セマンティックコンテキストにおける意味的役割としては、「動作主」「対象」「道具」「共役者」「場所」「空間的始点」「空間的終点」「時間帯」「時間的始点」「時間的終点」「補助」「姿勢」「移動距離」「所要時間」が存在する。特に、情報処理装置８０１では、高齢者のＦＩＭが扱われるため、上述した意味的役割の中の「補助」の概念が必要になる。
【００９８】
セマンティックコンテキストは、格文法における深層格を独自に拡張した概念を用いる。深層格とは、述語（動詞）とそれに係る名詞句の意味役割をまとめたものである。格文法では、文の意味構造が述語（動詞）と深層格の組み合わせによって表現される。こうした言語の意味的表現は多言語翻訳の際の中間言語としても用いられる。深層格の種類は、一般的には動作主格（Agent）、経験者格（Experiencer）、道具格（Instrument）、対象格（Object）、源泉格（Source）、目標格（Goal）、場所格（Location）、時間格（Time）の８種類とされることが多い。
【００９９】
時系列データ群９０１をデータ駆動処理部９０２で認識した結果は、図１１に示すセマンティックコンテキストの意味的役割のいずれかに当てはまる。
セマンティックコンテキストを構成する意味的役割を抽出するためには、様々なセンサが用いられる。例えば、慣性センサやマイクロフォンが搭載されたスマートフォンやスマートウォッチ、そしてＲＦＩＤが貼られた衣服等のウェアラブルセンサなどが、主に対象となる行動、動作、姿勢などを検出するために用いられる。
【０１００】
ＲＦＩＤタグやコンタクトセンサ等の、物に取り付けることができるオブジェクトセンサは、主にオブジェクトの場所、物体間の空間的関係、そして移動や使用状況などを捉えるために利用される。
ウェアラブルセンサは、人間に取り付けられる一種のオブジェクトセンサと見なすこともできる。このウェアラブルセンサにより、対象範囲にどのようなオブジェクトがあるか、対象の人物とインタラクションを持つオブジェクト（道具）があるか、そして被介助者の周囲に介助者がいるかといったコンテキスト情報を得ることができる。
人感センサや温度センサや湿度センサなどの環境センサは、部屋の状態を監視するために用いられる。
【０１０１】
図１２は、セマンティックコンテキストデータ群９０３から形成される、セマンティックコンテキストの具体例を示す図である。
図１３Ａは、データ駆動処理部９０２で認識されたセマンティックコンテキストの、場所における具体例を示す図である。
図１３Ｂは、データ駆動処理部９０２で認識されたセマンティックコンテキストの、姿勢における具体例を示す図である。
図１３Ｃは、データ駆動処理部９０２で認識されたセマンティックコンテキストの、道具における具体例を示す図である。
図１４は、データ駆動処理部９０２で認識されたセマンティックコンテキストの、対象における具体例を示す図である。
【０１０２】
第一のテーブル１２０１は、動作主フィールド、場所フィールド、時間的始点フィールド、時間的終点フィールド、所要時間フィールド、時間帯フィールドを有する。
第二のテーブル１２０２は、動作主フィールド、姿勢フィールド、時間的始点フィールド、時間的終点フィールド、所要時間フィールド、時間帯フィールドを有する。
第三のテーブル１２０３は、動作主フィールド、道具フィールド、時間的始点フィールド、時間的終点フィールド、所要時間フィールド、時間帯フィールドを有する。
第四のテーブル１２０４は、動作主フィールド、共役者フィールド、補助フィールド、対象フィールド、空間的始点フィールド、空間的終点フィールド、移動距離フィールド、時間的始点フィールド、時間的終点フィールド、所要時間フィールド、時間帯フィールドを有する。
【０１０３】
図１３Ａのテーブルは、動作主が何月何日何時何分から何月何日何時何分まで、どこに居たのかを記したセマンティックコンテキストである。
図１３Ａのテーブルは、図１２の第一のテーブル１２０１に対応する。図１３Ａのテーブルでは、所要時間フィールドと時間帯フィールドが省略されている。
図１３Ｂのテーブルは、動作主が何月何日何時何分から何月何日何時何分まで、どのような姿勢であったのかを記したセマンティックコンテキストである。
図１３Ｂのテーブルは、図１２の第二のテーブル１２０２に対応する。図１３Ｂのテーブルでは、所要時間フィールドと時間帯フィールドが省略されている。
【０１０４】
図１３Ｃのテーブルは、動作主が何月何日何時何分から何月何日何時何分まで、何の道具を持っていたのかを記したセマンティックコンテキストである。
図１３Ｃのテーブルは、図１２の第三のテーブル１２０３に対応する。図１３Ｃのテーブルでは、所要時間フィールドと時間帯フィールドが省略されている。
図１４のテーブルは、動作主が何月何日何時何分から何月何日何時何分まで、どこからどこまで、何をしていたのかを記したセマンティックコンテキストである。
図１４のテーブルは、図１２の第四のテーブル１２０４に対応する。図１４のテーブルでは、共役者フィールド、補助フィールド、所要時間フィールドと時間帯フィールドが省略されている。
以上の、図１３Ａ、図１３Ｂ、図１３Ｃ及び図１４において省略されているフィールドは、必ずしもデータの記入を必要としないフィールドである。
【０１０５】
図１５は、ＦＩＭオントロジーの一部抜粋をＯＷＬエディタのProtege上で表示した図である。
本発明の第一の実施形態に係る情報処理装置１０１では、ＡＤＬのオントロジーを作成したが、本発明の第二の実施形態に係る情報処理装置８０１では、ＡＤＬに加えて、ＦＩＭのオントロジーを作成する。
ＡＤＬは「昼食を食べた」というような、事象を認識するだけに留まる。これに対し、ＦＩＭは「一人で昼食を食べた」あるいは「介護者の介護を伴って昼食を食べた」というような、事象に加えて機能的自立度評価の元となる評価要素を伴う。
【０１０６】
オントロジーは、Ｗ３Ｃ標準に従ってＯＷＬ（Web Ontology Language）形式で作成される。ＯＷＬオントロジーは、 Individual, Property, Class から構成される。Individual はそのドメイン内のオブジェクトを表す。例えば、PersonA, Chair1, ActivityOfPersonA などである。Property は２つの Individual の二項関係である。例えば、 hasCurrentActivity Property は PersonA Individual とActivityOfPersonAIndividual を関連付け、 PersonA が現在行っている行動 ActivityOfPersonA を持っていることを示す。Class は Individual の集合に関連付けられる。例えば、PersonAIndividual は Person Class に関連付けられる。
図１５に示すオントロジーの一部抜粋は、左から順に Class, Object Property, および Individual の一部を切り出している。これらのオントロジーの作成には、ＩＲＦ−ＰＡＩ（Inpatient Rehabilitation Facility, Patient Assessment Instrument）トレーニングマニュアル（https://www.cms.gov/Medicare/Quality-Initiatives-Patient-Assessment-Instruments/IRF-Quality-Reporting/IRF-PAI-and-IRF-PAI-Manual）を参照した。
【０１０７】
図１６は、ＡＤＬ／ＦＩＭオントロジーにおける、ＦＩＭの定義の一部を説明する図である。
ＡＤＬ及びＦＩＭは、オブジェクト指向に基づいて定義される。
FIM Class は、図１６に示すように階層構造を用いて各項目が表現されている。 FIM Class のサブクラスとして Motor Class があり、その中に Self-Care, Locomotion といったカテゴリがある。そして、カテゴリクラスのサブクラスとして、 Eating 等の各評価項目が定義されており、更にそのサブクラスとして自立度スコアに対応したクラスが定義されている。 Eating や Bathing, Toileting といった各評価項目レベルのクラスは、ＡＤＬクラスのサブクラスでもある。なお、図１６では画像の大きさの都合上、省略しているが、 Self-Care 以外のカテゴリについても各評価項目および自立度に対応するサブクラスが定義されている。
【０１０８】
図１７は、ＦＩＭ評価項目とコンテキストとの関係の一例を説明する図である。
図１７に示すように、各ＦＩＭ評価項目は、 Activity Class に様々なコンテキストを has-Context Property で関連付けることで定義される。このContext はセマンティックコンテキストデータ群９０３と対応しており、例えば図１７の左側のisTaking-PlaceOn DiningRoom は、その行動の場所コンテキストが Dining Room であるということ、中央の hasAssistance ModerateAssistance は介助コンテキストが中等度介助であるということ、右側の usingArtifact EatingUtensil は道具コンテキストが食事用具であるということを意味している。
【０１０９】
図１８は、作成したＡＤＬ／ＦＩＭオントロジーにおける定義の一例をＯＷＬエディタのProtege上で表示した図である。
図１８には、ＡＤＬ／ＦＩＭオントロジーにおける Eating-6 Class の定義が掲載されている。ここで、 Eating-6 Class とは、ＦＩＭ項目における食事に該当し、“-6”はその行動における自立度が６であることを意味する。図１８の定義は、 Eating-6 Class は、ダイニングルームもしくはSemanticEatingPlace2 で行われ、飲食物を口に運ぶ動作を伴い、介助は必要なく、時間帯は朝・昼・夕食時、姿勢は座位、補助食事用具を使用している PersonalActivity であることを意味している。
【０１１０】
図１９は、継続して発生するコンテキストの表現例を示す図である。図１９に示すように、時間軸上に継続して発生するコンテキストは、hasPrecedentContext または hasSubsequentContext Property を使用して表現される。この例では、リビングルームからトイレ、さらに居室(プライベートルーム) への遷移が示されている。また、 hasPrecedentContext は TransitiveProperty であるから、両端のコンテキストは hasPrecedentContext と暗黙的にリンクされる。
【０１１１】
図２０は、ＤＬ推論器９０５が実施する推論タスクの一覧を示す図である。
作成したＡＤＬ／ＦＩＭオントロジーでは、各 Person Individual が hasCurrentActivityProperty によって Activity Class の Individual と紐付けられている。そして、データ駆動層で抽出されたセマンティックコンテキストのインスタンスが Activity Class の Individual に hasContext Property によって紐付けられる。そして、 Fact++ や Pellet （https://github.com/stardog-union/pellet）といったＤＬ推論器９０５を用いて、“概念のインスタンス” タスクにより Activity Individual がＦＩＭの評価項目のどのクラスに属するかを特定することでＦＩＭ計測が実現される。
【０１１２】
ここでは、概念記述はオントロジーの Class 階層や定義（図１５の左側）、個体記述は Individual （データ駆動層で認識されたコンテキストおよび予め挿入されていたインスタンス（図１５の右側）） を指す。つまり、ＤＬ推論器９０５は、作成されたＦＩＭオントロジーと環境に応じて予め挿入されていたインスタンス、認識されたコンテキスト情報を用いて、図２０にある推論タスクを実行し、対象の人物が持つ Acitivity クラスの Individual がどの行動およびスコアに対応するクラスに属するのかを判定する。
【０１１３】
図２１は、ＤＬ推論器９０５の動作の一例をＯＷＬエディタのProtege上で表示した図である。
図２１では、 PersonA が持つActivityOfPersonA が、ＤＬ推論器９０５によって Eating-6 クラスに属すると判定された例を示す。表示箇所Ｐ２１０１は、実際には表示部１０６において背景が黄色くなっており、Eating-6 が推論により導出されたことを意味している。
【０１１４】
オントロジー推論においては、クラスの定義を不足なく満たしていれば意図した通りに結果を出力することができるが、得られたセマンティックコンテキストが不完全な場合は自立度を含むサブクラスまで絞り込むことができなくなってしまう。つまり、オントロジー推論の枠組みを利用するには、ＦＩＭを測定するためには対象のクラスに定義された全てのコンテキストは必ず得られるようにする必要がある。
しかし、現実環境においては、環境の違いによってセンサの数や種類に制限がある、またセンサやネットワーク障害が原因で一部のセンサデータが得られないといったことがしばしば発生する。これでは、現実の環境に適用するには有効性にかけていると言わざるを得ない。そこで、現実環境に適用するためには、不完全なデータからでも、その不完全なデータから考えられる最大限の結果を出力できるようにすることが求められる。
【０１１５】
そこで本発明の第二の実施形態に係る情報処理装置８０１では、不完全なコンテキストによる推論の失敗を防ぐために、必ず認識されるべき必須コンテキストだけでなく、必ずしも認識される必要はない任意コンテキストという概念を新たに導入する。
任意コンテキストは、対象とするクラスの定義において、 hasContext Property の代わりに hasOptionalContext Property を使うことで表現される。 hasOptional-Context Property が関連付けられたコンテキストは、初期状態として予めダミーの Context インスタンスを Activity インスタンスに関連付けられる。そして、実際に対応するコンテキストが観測された際には、ダミーの Context インスタンスを有効なコンテキストと入れ替わる。ダミーのコンテキストにはA isOptional Property が紐付けられているため、実際に認識されたコンテキストなのか、初期状態からダミーとして挿入されていたコンテキストなのかを判別することができる。
【０１１６】
これにより、任意コンテキストに関しては実際にデータ駆動層で認識されなかったとしても、必須コンテキストが全て認識されてさえいれば、ＤＬ推論器９０５はその ActivityClass のIndividual をその対象クラスのインスタンスとして認識する。そして、ＤＬ推論器９０５は、この認識されたクラスで定義されているコンテキストの数（必須コンテキスト＋任意コンテキスト）に対する実際に認識されたコンテキストの割合を計算することで、そのクラスの確信度を計算する。
このように、ＤＬ推論器９０５は、 Activity Class の Individual が複数のクラスのインスタンスとして認識した場合に、各ＦＩＭクラスごとの確信度を計算することによって最も可能性の高い結果を出力することができる。
【０１１７】
図２２は、任意コンテキストを含むセマンティックコンテキストの一例を示す図である。
図２２は、対象となる動作（PickingUpFood, BringingFoodToMouth）が認識されなかった場合でも、任意コンテキストの存在によりEating-6 と認識される例を図示したものである。図２２に示すように、中心にある Activity Class から７つのコンテキストへ７本の矢印が延びている。このうち、実線の矢印は、実際に認識されたコンテキストであり、点線の矢印は初期状態からダミーとして挿入されていたコンテキストを意味している。この場合は、定義にある７つのコンテキストうち５つのコンテキストが実際に認識されているため、確信度は5/7（＝0.71）となる。
【０１１８】
本発明の第二の実施形態に係る情報処理装置８０１の動作を検証するため、実験を行った。
本実験では発明者らが所属する研究室の学生４名に協力してもらい、介護者・被介護者役をお願いし、スリッパやネームプレート、机・椅子等にＲＦＩＤタグを取り付け、データの収集を行った。また、研究室実験においては、予め想定されるＦＩＭスコアが異なる３つの動作シナリオを用意し、協力者にはそれに従った動作をお願いした。
シナリオ１は、最も健常者に近い、ＦＩＭスコアを高く想定したシナリオである。シナリオ２は、シナリオ１よりもＦＩＭスコアを低く想定したシナリオである。シナリオ３は、シナリオ２よりもＦＩＭスコアを低く想定した、すなわち最もＦＩＭスコアを低く想定したシナリオである。
【０１１９】
図２３Ａは、シナリオ１での実験結果をガントチャートにて示す図である。
図２３Ｂは、シナリオ２での実験結果をガントチャートにて示す図である。
図２３Ｃは、シナリオ３での実験結果をガントチャートにて示す図である。
図２３Ａ、図２３Ｂ及び図２３Ｃは、情報処理装置８０１から出力された結果をガントチャートにプロットした結果である。
また、各区間において複数カテゴリ（e.g. Loco, Transfer,Self-care）のクラスが出てきた場合には、その区間のクラスに対応したものを優先して出力している。全体的な結果としては、各シナリオで想定していた通りにＦＩＭスコアは Scenario-1 が一番高く、 Scenario-3 が一番低いという結果になっている。
【０１２０】
本発明の各実施形態においては、情報処理装置を開示した。
本発明の第一の実施形態に係る情報処理装置１０１は、種々のセンサ（マルチモーダルセンサＣ７０１）を利用して、多種多様なＡＤＬの識別あるいは推定を行う。
入力同期併合処理部３０５は、複数のイベントを受け入れて、各々のイベントの内容を単一のイベントに併合して出力する。その際、入力同期併合処理部３０５は、定義ファイル３０４に記述することで指定されたタイミングで、イベントを出力する。
【０１２１】
学習データ処理部３０７は、入力されたイベントの内容を学習型情報処理装置１０４に特徴ベクトルとして出力し、学習型情報処理装置１０４から目的変数を受け取り、イベントの形式に変換して出力する。
条件判断処理部３０６は、単一のイベントを受け入れて、イベントに含まれているデータに対し、所定の条件判断を行うことで、条件に応じて異なるイベントを出力する。
ＡＤＬ識別処理部３１２は、入力される様々なイベントで明らかになる基礎的な事象に基づいて、観察対象者における高次のＡＤＬを判定する。
高次のＡＤＬをルールベースで定義することで、ＡＤＬ識別処理部３１２は、低負荷でありながら高い判定精度のＡＤＬ判定を実現することができる。
【０１２２】
本発明の第二の実施形態に係る情報処理装置８０１は、マルチモーダルセンサＣ７０１を利用して、ＡＤＬ及びＦＩＭの判定を行う。
マルチモーダルセンサＣ７０１から生成される、時系列データ群９０１は、データ駆動処理部９０２によって、事象を表現するセマンティックコンテキストデータ群９０３に変換される。セマンティックコンテキストデータ群９０３は、オントロジー推論処理部８０６によってＡＤＬが判定される。
オントロジー推論処理部８０６がＦＩＭの判定に失敗する場合を想定して、ＡＤＬ・ＦＩＭオントロジー解析処理部９０４において、予めセマンティックコンテキストデータ群９０３の、特定の条件において、ダミーの任意コンテキストを挿入する。そして、最終的に確信度演算処理部８０７がＦＩＭの確からしさを計算することで、マルチモーダルセンサＣ７０１から得られる時系列データ群９０１に不具合が生じ、不完全なセマンティックコンテキストデータ群９０３しか得られなかった場合でも、確信度演算処理部８０７は、確度の高いＦＩＭを判定することができる。
【０１２３】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含む。
【０１２４】
１０１…情報処理装置、１０２…顔認識カメラ、１０３ａ…センサ、１０４…学習型情報処理装置、１０５…操作部、１０６…表示部、１０７…マイク、２０１…バス、２０２…ＣＰＵ、２０３…ＲＯＭ、２０４…ＲＡＭ、２０５…不揮発性ストレージ、２０６…ＲＴＣ、２０７…ネットワークインターフェース、２０８…シリアルインターフェース、２０９…Ａ／Ｄ変換器、３０１…入出力制御部、３０２…入出力整形処理部、３０３…介護度判定演算処理部、３０４…定義ファイル、３０５…入力同期併合処理部、３０６…条件判断処理部、３０７…学習データ処理部、３０８…学習用バッファ、３０９…データベース、３１２…ＡＤＬ識別処理部、３１３…ＯＷＬ定義ファイル、４０１…データ形式変換処理部、４０２…データ形式逆変換処理部、４０３…基礎情報記憶部、４０４…ＡＤＬ判定処理部、８０１…情報処理装置、８０２…入出力制御部、８０３…データフォーマット処理部、８０４…データマイニング判定処理部、８０５…機械学習推定処理部、８０６…オントロジー推論処理部、８０７…確信度演算処理部、９０１…時系列データ群、９０２…データ駆動処理部、９０３…セマンティックコンテキストデータ群、９０４…ＡＤＬ・ＦＩＭオントロジー解析処理部、９０５…ＤＬ推論器、９０６…行動クラス判定結果及び自立度クラス判定結果、９０７…ＦＩＭ採点結果、９０８…ＯＷＬオントロジーオブジェクトインスタンス、１００１…行動クラス判定結果、１００２…自立度クラス判定結果、１２０１…第一のテーブル、１２０２…第二のテーブル、１２０３…第三のテーブル、１２０４…第四のテーブル
【図１】
2020161136.tif 000003
【図２】
2020161136.tif 000004
【図３】
2020161136.tif 000005
【図４】
2020161136.tif 000006
【図５】
2020161136.tif 000007
【図６】
2020161136.tif 000008
【図７】
2020161136.tif 000009
【図８】
2020161136.tif 000010
【図９】
2020161136.tif 000011
【図１０】
2020161136.tif 000012
【図１１】
2020161136.tif 000013
【図１２】
2020161136.tif 000014
【図１３】
2020161136.tif 000015
【図１４】
2020161136.tif 000016
【図１５】
2020161136.tif 000017
【図１６】
2020161136.tif 000018
【図１７】
2020161136.tif 000019
【図１８】
2020161136.tif 000020
【図１９】
2020161136.tif 000021
【図２０】
2020161136.tif 000022
【図２１】
2020161136.tif 000023
【図２２】
2020161136.tif 000024
【図２３】
2020161136.tif 000025