(57)【要約】【課題】  結果をもたらした要因を推定する能力を機械が学習によって獲得することにある。【解決手段】  本発明の一態様に係る要因推定装置は、対象についての情報を受け付け、前記受け付けた情報の中から状態情報を抽出し、前記対象のうちの第１の対象についての所定の状態を特定し、前記抽出された状態情報であって前記所定の状態に対応する状態情報の入力を受けて、当該所定の状態を分類し、前記受け付けた情報の中から状況情報を抽出し、前記所定の状態に至るまでの状況を特定し、前記状況情報抽出部によって抽出された状況情報であって前記特定された状況に対応する状況情報の入力を受けて、当該特定された状況を分類する。続いて、要因推定装置は、前記所定の状態の分類結果と前記前記特定された状況の分類結果とに基づいて、前記所定の状態に至る要因となった状況を推定する。【選択図】図３
2018147407.tif 000002
【特許請求の範囲】
【請求項１】
対象についての情報を受け付ける対象情報入力部と、
前記受け付けた情報の中から状態情報を抽出する状態情報抽出部と、
前記対象のうちの第１の対象についての所定の状態を特定する状態特定部と、
前記状態情報抽出部によって抽出された状態情報であって前記所定の状態に対応する状態情報の入力を受けて、当該所定の状態を分類する状態分類部と、
前記受け付けた情報の中から状況情報を抽出する状況情報抽出部と、
前記所定の状態に至るまでの状況を特定する状況特定部と、
前記状況情報抽出部によって抽出された状況情報であって前記特定された状況に対応する状況情報の入力を受けて、当該特定された状況を分類する状況分類部と、
前記所定の状態の分類結果と前記前記特定された状況の分類結果とに基づいて、前記所定の状態に至る要因となった状況を推定する要因推定部と、
を備える要因推定装置。
【請求項２】
前記要因推定部は、第１の状態から第２の状態へ変化する期間における状況を示す状況変化パターンの履歴を保持し、前記状況変化パターンのうちの前記所定の状態の分類結果に対応する状況変化パターンと前記特定された状況の分類結果とに共通する状況を前記要因として特定する、請求項１に記載の要因推定装置。
【請求項３】
請求項１または２に記載の要因推定装置と、
状態の分類に関する学習を行う状態分類学習装置と、
状況の分類に関する学習を行う状況分類学習装置と、
を備え、
前記状態分類部は、前記状態分類学習装置による学習結果を利用して状態の分類を行い、
前記状況分類部は、前記状況分類学習装置による学習結果を利用して状況の分類を行う、要因推定システム。
【請求項４】
対象についての情報を受け付けることと、
前記受け付けた情報の中から状態情報を抽出することと、
前記対象のうちの第１の対象についての所定の状態を特定することと、
前記抽出された状態情報であって前記所定の状態に対応する状態情報の入力を受けて、当該所定の状態を分類することと、
前記受け付けた情報の中から状況情報を抽出することと、
前記所定の状態に至るまでの状況を特定することと、
前記抽出された状況情報であって前記特定された状況に対応する状況情報の入力を受けて、当該特定された状況を分類することと、
前記所定の状態の分類結果と前記特定された状況の分類結果とに基づいて、前記所定の状態に至る要因となった状況を推定することと、
を備える要因推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、結果をもたらした要因を推定する技術に関する。
【背景技術】
【０００２】
一般に、人が業務を行うあるいは日常生活を送るなかで発生する結果（例えば人が特定の状態になったこと）をもたらした要因を分析することは困難である。特定業務用機械などの物に関しても同様である。因果関係が知られている場合、人は結果がどの要因によってもたらされたかを推定することができる。しかしながら、因果関係が未知である場合、人は結果がどの要因によってもたらされたかを類推することができない。例えば、人の特定の行動または人の周辺で生じた特定の事象を、結果を引き起こした要因として特定することは、多くの外的要因が影響するため、容易ではない。
【０００３】
ところで、近年、ディープラーニングを利用した技術が急速に進化している。特に、画像を認識する技術は、ディープラーニング技術を利用することで人のレベルに近い能力を獲得するまでに至っている。一方で、人が持っていない能力を機械に獲得させることは容易ではない。これは、例えば因果関係が未知である場合などのように、学習に用いる教師データを作成することができないためである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４１５０９６５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
機械が学習によって獲得した能力を用いて結果との関係が知られていない要因を推定するサービスまたは装置は、現時点で実用化されていない。
【０００６】
本発明は、上記の事情に着目してなされたものであり、その目的は、結果をもたらした要因を推定することができる要因推定装置、要因推定システム、および要因推定方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様では、要因推定装置は、対象についての情報を受け付ける対象情報入力部と、前記受け付けた情報の中から状態情報を抽出する状態情報抽出部と、前記対象のうちの第１の対象についての所定の状態を特定する状態特定部と、前記状態情報抽出部によって抽出された状態情報であって前記所定の状態に対応する状態情報の入力を受けて、当該所定の状態を分類する状態分類部と、前記受け付けた情報の中から状況情報を抽出する状況情報抽出部と、前記所定の状態に至るまでの状況を特定する状況特定部と、前記状況情報抽出部によって抽出された状況情報であって前記特定された状況に対応する状況情報の入力を受けて、当該特定された状況を分類する状況分類部と、前記所定の状態の分類結果と前記前記特定された状況の分類結果とに基づいて、前記所定の状態に至る要因となった状況を推定する要因推定部と、を備える。
【０００８】
本発明の第２の態様では、前記要因推定部は、第１の状態から第２の状態へ変化する期間における状況を示す状況変化パターンの履歴を保持し、前記状況変化パターンのうちの前記所定の状態の分類結果に対応する状況変化パターンと前記特定された状況の分類結果とに共通する状況を前記要因として特定する。
【０００９】
本発明の第３の態様では、要因推定システムは、上述の要因推定装置と、状態の分類に関する学習を行う状態分類学習装置と、状況の分類に関する学習を行う状況分類学習装置と、を備え、前記状態分類部は、前記状態分類学習装置による学習結果を利用して状態の分類を行い、前記状況分類部は、前記状況分類学習装置による学習結果を利用して状況の分類を行う。
【発明の効果】
【００１０】
第１の態様によれば、対象の状態および状況が分類され、それらの分類結果に基づいて対象が所定の状態に至る要因となった状況が推定される。これにより、人手を介することなしに、結果をもたらした要因を推定することができる。
【００１１】
第２の態様によれば、状況変化パターンの履歴を参照して要因となる状況が特定される。これにより、要因となる状況の特定が容易になる。
【００１２】
第３の態様によれば、状態分類学習装置および状況分類学習装置による機械学習の結果が状態分類部および状況分類部に与えられ、それにより、状態分類部および状況分類部は分類能力を獲得することができる。機械学習を用いるので、人の介在がなく、プライバシーやセキュリティなど、人が要因となる脅威を回避することができる。
【００１３】
本発明によれば、結果をもたらした要因を推定することができる要因推定装置、要因推定システム、および要因推定方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】一実施形態に係る要因推定方法の概要を説明する図。
【図２】本実施形態に係る要因推定方法の概要を説明する図。
【図３】本実施形態に係る要因推定方法の概要を説明する図。
【図４】本実施形態に係る要因推定システムの構成例を示すブロック図。
【図５】コンピュータのハードウェア構成例を示すブロック図。
【図６】サーバ型コンピュータのハードウェア構成例を示すブロック図。
【図７】図４に示した支援装置の構成例を示す機能ブロック図。
【図８】図４に示した対象情報データベース装置の構成例を示す機能ブロック図。
【図９】図４に示した学習データ生成システムの構成例を示すブロック図。
【図１０】図４に示した対象情報取得装置の構成例を示す機能ブロック図。
【図１１】図４に示した対象情報センサ装置群に含まれるセンサ装置の構成例を示すブロック図。
【図１２】サーバ型コンピュータのハードウェア構成の別の例を示すブロック図。
【図１３】図４に示した状態分類学習装置の構成例を示す機能ブロック図。
【図１４】ニューラルネットワークの構成例を示す機能ブロック図。
【図１５】図４に示した状況分類学習装置の構成例を示す機能ブロック図。
【図１６】図４に示した除外状況学習装置の構成例を示す機能ブロック図。
【図１７】図４に示した要因推定装置の構成例を示す機能ブロック図。
【図１８】本実施形態に係る学習の手順例を示すフローチャート。
【図１９】本実施形態に係る要因推定依頼から推定結果の出力までの手順例を示すフローチャート。
【図２０】本実施形態に係る状態分類学習装置における学習の手順例を示すフローチャート。
【図２１】本実施形態に係る状況分類学習装置における学習の手順例を示すフローチャート。
【図２２】本実施形態に係る除外状況学習装置における学習の手順例を示すフローチャート。
【図２３】本実施形態に係る要因推定装置における要因推定の手順例を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら本発明の実施形態を説明する。
【００１６】
本発明の実施形態は、結果をもたらした要因を推定する要因推定装置を含む要因推定システムに関する。本実施形態の要因推定システムによれば、機械（例えばコンピュータ）が、対象に関する大量のデータを用いた学習によって、要因を推定する能力を効率よく獲得することができる。本実施形態では、機械に分類能力を獲得させるために、ディープラーニング技術を用いる。ディープラーニングは、多次元ベクトルであるデータに含まれる類似するパターンを見つけることを可能にする。これにより、機械が、類似するパターンを含むデータを同じ分類と判定することができるようになる。因果関係が未知の場合には、教師データを作成することができない。教師なしデータを用いた学習によって所定の分類能力を獲得することは可能である。教師なしデータを用いたディープラーニングにより機械に分類能力を獲得させることによって、機械が未知の因果関係を判定することを可能にする。しかしながら、単純に入力データを分類させるだけでは、因果関係を判定する能力を獲得することはできない。本実施形態では、以下に示す方法で、機械が因果関係を判定する能力を獲得する。
【００１７】
理解を容易にするために、対象を人とした例について説明する。対象は、人に限定されず、例えば、人以外の生物、人または生物の行為、物、物の動作などであってもよい。その他、結果から要因を推定することができる任意の対象を扱うことができる。
【００１８】
本実施形態は、多数の人について人自身および環境に関する大量のデータを取得し、取得したデータを学習データとして利用できるように記録することを含む。人自身に関するデータは、例えば、業務アプリまたはスマホアプリの操作、自動車の制御装置またはセンサ、ウェアラブルセンサ、ヘルスチェックアプリなどから取得することができる。環境に関するデータは、例えば、ＩｏＴ（Internet of Things）型のセンサ、身の回りにある様々な装置から取得することができる。
【００１９】
本実施形態では、対象を図１に示すようにモデル化する。対象は、１つまたは複数の状況（図１の例では３つの状況）のいずれかの状況に含まれる要因Ｘに応じて、状態Ａから状態Ｂに変化する。各状況は、要因となる可能性がある外部要因または自発要因を含む。外部要因は、対象に影響を与える環境を示す。自己要因は、対象自身の状態または行動を示す。各状況は、要因となる可能性がない外部要因または自発要因を含んでいてもよい。課題は、対象である人が状態Ａから状態Ｂに変化（遷移）した要因Ｘを推定することに相当する。状況のいずれかが要因となって、状態Ａから状態Ｂに変化する結果を引き起こす。このようにモデル化すると、要因Ｘはいずれかの状況に含まれる。
【００２０】
図２を参照して、本実施形態において想定するサービスおよび装置の機能について説明する。以下の説明には、本発明に含まれない部分がある。
【００２１】
利用者は、図示しない利用者端末装置を通じて、サービス（例えば支援サービス）に加入する。利用者は、加入時に、所定の条件でサービスを受ける契約を締結する。支援サービスは、利用者がネットワークを介して多くの対象（以下、見守り対象ともいう）について状態または状況を監視することを可能にする。支援サービスは、例えば、ＩｏＴシステムを利用して実施することができる。サービスの依頼は対象ごとに行われる。支援サービスは、例えば、特許第４１５０９６５号に開示された技術などの既存の技術を利用して実施されてもよく、あるいは、支援アプリを作成することで実施されてもよい。
【００２２】
特許第４１５０９６５号には、状況に応じて業務指示を出力して利用者（対象）の業務を支援する業務支援コンテンツを用いて、業務に関して利用者が行う行動に関する情報を取得する技術が開示されている。利用者は、スマートフォンまたはパーソナルコンピュータ（ＰＣ）に業務支援コンテンツをダウンロードして利用することで、業務支援コンテンツによる支援を受けて業務を行うことができる。環境に関する情報、利用者に関する情報、業務の状態を示す情報などが取得される。各利用者の利用に応じて業務支援コンテンツの内容が更新されるので、利用者ごとに異なるサービスを提供することができる。
【００２３】
見守り対象とその周囲の環境にいる対象は、監視可能な対象の集合に含まれる。見守り対象は、その存在、行為、動作などによって、周囲の環境に対して影響を与える。逆に、見守り対象は、周囲の環境から影響を受ける。このとき、見守り対象は、環境との間で相互に影響を受けて、状態Ａから状態Ｂに変化する。状態Ａから状態Ｂに変化するまでの間に、見守り対象の周囲の環境は、状況１から状況２へ、さらに状況３へと遷移する。前述したように、課題は、対象が状態Ａから状態Ｂに変化した要因を推定することに相当する。これは、例えば、次に示すような統合的な支援サービスを行うことで実現することができる。支援サービスは、行動支援、状態監視、環境の把握、状況監視、機械学習、および要因推定の機能を備える。
【００２４】
行動支援は、対象である人の行動の支援を行う機能である。対象が物である場合、対象の動作の支援を行う。支援を行う過程で対象の状態または状況に関する情報を取得することができる。状態監視は、対象の状態を監視する機能である。環境の把握は、対象の環境を把握し、環境の状態などの環境に関する情報を取得する機能である。状況監視は、対象とその環境とに関する情報を取得し、対象の状況を監視する機能である。機械学習は、機械が、対象とその環境とに関する情報を収集して学習データを生成し、所定の学習を行う機能である。要因推定は、対象が所定の状態Ｂとなったときの要因を推定する機能である。
【００２５】
上記のような支援サービスをすべて機械が行う。それにより、各対象についてよりきめの細かいサービスを提供することができる。人が介在しないので、プライバシーやセキュリティなど、人が要因となる脅威を回避することができる。さらに、人の環境に関する情報を自動的に取得することが容易になる。さらに、人の介在なく、２４時間３６５日サービスを提供することができる。
【００２６】
本実施形態は、機械学習によって多次元ベクトルで構成されるデータを分類する能力を獲得することを含む。分類能力は、例えば、ディープラーニングによって獲得することができる。学習プログラムの構築を容易にするために、入力となるベクトルの次元数を合わせることが望ましい。分類能力を獲得するための方法は、ディープラーニングに限定されない。分類能力の獲得には、ＡＩ（Artificial Intelligence）技術や機械学習技術として知られている任意の方法を用いることができる。学習は、必ずしもＡＩと呼ばれる技術である必要はなく、例えば、入力データの取得方法を工夫して、多次元ベクトルの分布が事象ごとに分離するようにする方法、判定ロジックをあらかじめ用意し、モンテカルロ法や遺伝アルゴリズムなどの手法で閾値パラメータを学習させる方法などを用いることができる。
【００２７】
対象である人に関して集めた大量のデータをもとに、以下のようにして要因を推定する能力が獲得される。図３は、本実施形態に係る要因を推定する能力を獲得する方法の概要を示している。方法は、対象の集合に含まれる対象それぞれに関する時系列データ（センサデータ）を取得することを含む。対象の数およびデータ取得頻度が多い場合、取得されたデータはビッグデータとなる。方法は、対象について取得されたデータから、個々の対象に応じて、分析するデータを選択することを含む。具体的には、方法は、対象の状態に関するデータを抽出し、抽出したデータから対象の状態を示す１または複数のデータ、またはその組合せである状態情報ベクトルを生成することを含む。状態情報ベクトルは、対象自身について得られた複数個のセンサデータで表現することができる。例えば、状態情報ベクトルは、人の生体情報（例えば、血圧、心拍数など）を測定することで得られた生体データ、人の行動を記録した行動履歴のデータを含む。多数の対象の多くの時点でのデータを取得することで、状態情報ベクトルの集合が得られる。さらに、方法は、対象の状況に関するデータを抽出し、抽出したデータから状況情報ベクトルを生成することを含む。状況情報ベクトルとは、対象が所定の状態になる要因になり得る事象に関するデータのことを指す。状況情報ベクトルは、外部要因ベクトルおよび自己要因ベクトルを含む。外部要因ベクトルおよび内部要因ベクトルは、１または複数のデータまたはその組合せである。状況情報ベクトルは、外部要因ベクトルおよび自己要因ベクトルの両方を含むことが望ましいが、外部要因ベクトルまたは自己要因ベクトルのいずれかを含まなくてもよい。例えば、外部要因に対する行動など、自発的行動がないことがある。外部要因ベクトルは、対象の周囲の環境について得られた複数個のセンサデータで表現することができる。自己要因ベクトルは、対象自身について得られた複数個のセンサデータで表現することができる。自己要因ベクトルは、例えば、ウェアラブルセンサ、モバイル端末、業務用アプリ、人が操作する自動車のような機械が出力するデータを含む。自己要因ベクトルは、状態情報ベクトルの一部または全部を含んでいてもよい。多数の対象の多くの時点でのデータを取得することで、状況情報ベクトルの集合が得られる。
【００２８】
方法は、状態情報ベクトルを分類する教師なし学習を行い、人の状態を分類する能力を獲得することを含む。多数の対象について得られた状態情報ベクトルは所定数（例えば１万種類）の状態分類に分類される。類似する状態情報ベクトルが同じ状態分類に分類される。学習により状態情報ベクトルを分類する能力が獲得されて、任意の時刻における対象の状態を分類することが可能になる。この能力を状態分類能力と呼ぶ。多数の対象の状態を分類した集合が得られる。
【００２９】
方法は、状況情報ベクトルを分類する教師なし学習を行い、人の状況を分類する能力を獲得することを含む。多数の対象について得られた状況情報ベクトルを所定数（例えば１万種類）の状況分類に分類される。類似する状況情報ベクトルが同じ状況分類に分類される。学習により状況情報ベクトルを分類する能力が獲得されて、任意の時刻における対象の状況を分類することが可能になる。この能力を状況分類能力と呼ぶ。多数の対象の状況を分類した集合が得られる。人の状態ごとに状況分類能力を獲得するための学習を行うようにしてもよい。
【００３０】
方法は、要因を推定したい前と後の状態を状態Ａ（事前状態ともいう）と状態Ｂ（事後状態ともいう）として特定することを含む。例えば、事前状態および事後状態は、対象である人自身が認識した状態でよい。対象が「先週よりも今は腕が疲れている。」と入力した場合、先週の状態が事前状態として特定され、入力時点の状態が事後状態として特定される。事前状態および事後状態は、ウェアラブルセンサまたはスマートフォンによって取得された人の状態に関する情報に基づいて特定されてもよい。事前状態および事後状態は、アプリケーションが判断する所定の状態を用いてもよい。事前状態および事後状態は、所定の方法で判断した今の状態が発生する前と後の状態でもよい。その他、任意の方法で状態を特定することができる。
【００３１】
図１に示したように、対象が状態Ａから状態Ｂに変化した要因Ｘを推定することが求められる。多数の対象について、状態Ａから状態Ｂへの変化を示すデータが抽出される。これを状態変化ベクトルとする。多数の対象について、状態Ａから状態Ｂに変化する期間における状況を示すデータが抽出される。これを状況変化パターンとする。例えば、状態Ａから状態Ｂに変化する期間において３つの状況が抽出された場合、以下の３つの状況変化パターンが想定される。
・状態Ａ → 状況１ → 状態Ｂ
・状態Ａ → 状況２ → 状態Ｂ
・状態Ａ → 状況３ → 状態Ｂ
ここで、状況１、状況２、および状況３は、任意の１または複数の対象が状態Ａから状態Ｂに変化した期間における状況情報ベクトルがＡＩによって分類された結果、類似の状況と判定された状況の集合である。この例では、状況の集合が３種類の状況であるが、状況の集合は、１、２、または４以上の種類の状況であってもよい。例えば、対象が状態Ａから状態Ｂに変化する期間における状況として状況２および状況４が検出された場合、状況２が要因と推定される。
【００３２】
状態情報ベクトルの分類結果として状態が状態Ａから状態Ｂに変化した事例が３つあり、その変化それぞれの間に複数の（例えば３つの）状況情報ベクトルがあり得る。例えば、下記の３つの状況変化パターンが得られたとする。
・状態Ａ → 状況１ → 状況４ → 状況６ → 状態Ｂ
・状態Ａ → 状況２ → 状況３ → 状況４ → 状態Ｂ
・状態Ａ → 状況３ → 状況５ → 状況７ → 状態Ｂ
対象が状態Ａから状態Ｂに変化する期間における対象の状況情報ベクトルを分類した結果として状況１、状況１０、および状況２０が検出された場合、状況１が要因Ｘとして推定される。
【００３３】
状態Ａから状態Ｂに変化した要因Ｘを推定する能力を獲得する方法例について説明する。状態Ａから状態Ｂへの変化が特定の人で頻繁に起きる場合、その人について得られたデータを用いて要因を特定することが可能である。状態Ａから状態Ｂへの変化が特定の分類に属する人に共通する場合、これらの人について得られたより多くのデータを用いて要因を特定することが可能である。全ての対象について、状態Ａと状態Ｂをこの順序で含むデータが抽出される。これを状態変化ベクトルとする。状態Ａから状態Ｂに変化する期間における状況のデータが抽出される。これを状況推移リストとする。状態変化ベクトルと状況推移リストを組み合わせて要因推定のための学習データとする。これを状況変化パターンとする。学習データは、状態Ａから状態Ｂに変化する際の状況を示す、多数の人のデータを含む。状態Ａから状態Ｂに変化する際の状況が複数ある場合には、関係のない状況を示す情報を除いた新たな学習データが生成されてもよい。状態および状況は分類結果であるので、元のデータよりもそのデータ量ははるかに少ない。従って、効率よく学習を行うことができる。人が状態Ａから状態Ｂに変化した要因となった状況を推定するために必要な状況の類似性を識別する能力を以下のように獲得する。要因推定の学習データを１０００種類に分類する能力が獲得される。例えば、状態Ａから状態Ｂに変化する際の状況を示す多数の人のデータを所定数（例えば１０００種類）に分類する能力が獲得される。人が状態Ａから状態Ｂに変化した際の状況を示すデータのうちの類似するものが同じ分類に分類される。
【００３４】
方法は、無関係な状況を分類する能力を獲得することを含む。具体的には、方法は、対象が状態Ａとなった後に状態Ｂとなったデータと、対象が状態Ａとなった後に状態Ｂとならなかったデータと、を抽出することを含む。これらのデータを用いることで、関連性の薄い状況を分類するための教師データを作成することができる。関連性の薄い状況を除外することで、処理量が減り、より早く要因を判定することが可能になる。さらに、状況の分類で無関係な事象によって無駄な分類が生成されることを抑制することが可能になる。
【００３５】
上記の処理を対象の種類または属性ごとに行うようにしてもよい。例えば、人を性別、年齢、体力などの属性で分類するようにしてもよい。
【００３６】
図４は、一実施形態に係る要因推定システムの構成例を示している。図４に示す要因推定システム４００は、利用者端末装置４０１、支援装置４０２、対象情報データベース装置４０３、学習データ生成システム４０４、対象情報取得装置４０５、対象情報センサ装置群４０６、学習データベース装置４０７、状態分類学習装置４０８、状況分類学習装置４０９、除外状況学習装置４１０、および要因推定装置４１１を備え、これらは、インターネットなどのネットワーク４１２に接続されている。図４に示す例では、要因推定システム４００は、データセンタまたはクラウドシステムのような分散システムを想定した構成となっている。要因推定システム４００は１つの装置として実施してもよい。例えば、要因推定システム４００は、センサ装置が接続された１台のコンピュータにより実現することができる。また、要因推定システム４００内の複数の装置を１つの装置として実施してもよい。例えば、状態分類学習装置４０８、状況分類学習装置４０９、および除外状況学習装置４１０は、１台のコンピュータにより実現することができる。さらに、任意の装置内の要素の一部を他の装置に含むように変更がなされてもよい。また、任意の装置は、並行動作を可能にするようにさらに分散されてもよい。
【００３７】
利用者端末装置４０１は、利用者に支援サービスを提供する。利用者端末装置４０１として、例えば、ＰＣ、スマートフォン、スマートウォッチ、ウェアラブルデバイス、家電機器、健康機器、医療機器、業務端末、公共端末、音声端末、自動車のコンソール、ヘッドアップディスプレイ、自動車の制御装置、テレマティクス端末、工場の作業支援装置、ＡＴＭまたは券売機などの特定業務端末を用いることができる。その他、少なくとも要因の推定結果を出力することができる任意の装置を用いることができる。例えば、利用者端末装置４０１は、クラウドサービスまたはＩｏＴサービスを構成する機能の１つであってもよい。
【００３８】
利用者は、利用者端末装置４０１で支援アプリ（支援プログラム、支援コンテンツなどと呼ぶこともある）を利用することができる。支援アプリは、支援する対象または目的ごとに用意されることができる。支援アプリは、支援装置４０２で実行される支援プログラムと連携して支援サービスを提供する。
【００３９】
利用者は、利用者端末装置４０１を用いて、対象の監視などの支援の依頼を行う。利用者端末装置４０１は、監視方法などの情報を含む支援依頼メッセージを支援装置４０２に送る。
【００４０】
利用者は、利用者端末装置４０１を用いて、対象と何らかの要因による結果としてもたらされた状態（状態Ｂ）とを指定することで要因推定の依頼を行うことができる。利用者は、２つの状態（状態Ａおよび状態Ｂ）を指定してもよい。例えば、利用者端末装置４０１が時間順に状態を表示し、利用者は表示された状態のうちの２つを選択する。また、利用者は、２つの時刻（日時）を指定してもよい。状態Ａは状態Ｂの直前の状態であるという設定がなされてもよい。この場合、利用者は状態Ｂのみを指定することになる。利用者が状態Ａおよび状態Ｂを検出する条件を予め設定してもよい。状態Ａは最初の状態であるという設定がなされてもよい。利用者が利用者端末装置４０１に入力した情報から状態Ａおよび状態Ｂが決定されてもよい。例えば、利用者が「一昨日までは眠くなかったが、今日は眠い」と入力する。この場合、例えば、支援アプリが、一昨日のいずれかの時刻の状態を状態Ａ、現在の状態を状態Ｂと指定する。支援アプリが、対象の状態が大きく変化したことを検出し、変化前の状態を状態Ａ、変化後の状態を状態Ｂと指定してもよい。また、支援アプリが、業務成果などの対象のパフォーマンスが大きく変動したことを検出し、変動前の状態を状態Ａ、変動後の状態を状態Ｂと指定してもよい。利用者端末装置４０１は、状態Ａおよび状態Ｂを特定するための情報を支援装置４０２に送る。
【００４１】
利用者端末装置４０１は、対象情報取得装置４０５の機能を備えてもよい。利用者端末装置４０１は、さらに、センサ機能を備えてもよい。利用者端末装置４０１の処理能力が高い場合、利用者端末装置４０１は、要因推定装置４１１の機能を備えることもできる。
【００４２】
図５は、利用者端末装置４０１を実現するコンピュータのハードウェア構成例を示している。図５に示すコンピュータ５００は、ユーザインタフェース５０１を備える。ユーザインタフェース５０１は、利用者から指示（例えば要因推定の依頼）を受け取り、利用者に情報（例えば要因の推定結果）を出力する。図５に示す例では、ユーザインタフェース５０１は、表示装置５０２、キーボード５０３、およびマウス５０４を含む。他の例では、ユーザインタフェース５０１は、タッチスクリーンを含む。コンピュータは、ＣＰＵ（Central Processing Unit）、メモリ、および通信部（いずれも図示せず）をさらに備える。一例として、メモリは、ＲＯＭ（read only memory）、ＲＡＭ（random access memory）、および記憶装置を備える。記憶装置として、例えば、ハードディスクドライブ（ＨＤＤ）を用いることができる。利用者端末装置４０１の各種機能は、ＣＰＵがＲＯＭまたは記憶装置に記録された各種プログラムをＲＡＭに読み出して実行することで実現することができる。通信部は、ネットワーク４１２に接続するためのインタフェースを含む。
【００４３】
支援装置４０２は、例えば、サーバ型コンピュータで実行される支援プログラムにより実施することができる。支援プログラムは、例えば、Ｗｅｂアプリとして実施することができる。利用者は、利用者端末装置４０１でブラウザを用いてＷｅｂアプリを利用することができる。支援プログラムは、ＲＥＳＴ（Representational State Transfer）などを用いて利用者端末装置４０１上で実行されてもよい。支援装置４０２は、対象情報データベース装置４０３の機能を備えてもよい。
【００４４】
図６は、サーバ型コンピュータのハードウェア構成例を示している。例えば、支援装置４０２、対象情報データベース装置４０３、学習データ生成システム４０４内の各装置、対象情報取得装置４０５、または学習データベース装置４０７は、図６に示すサーバ型コンピュータ６００により実施することができる。
【００４５】
コンピュータ６００は、ＣＰＵ６０１、ＲＯＭ６０２、ＲＡＭ６０３、記憶装置６０４、入出力部６０５、および通信部６０６を含み、これらは、バス６０７によって相互に接続される。支援装置４０２などの装置の各種機能は、ＣＰＵ６０１がＲＯＭ６０２または記憶装置６０４に記録された各種プログラムをＲＡＭ６０３に読み出して実行することで実現することができる。記憶装置６０４として、例えば、ＨＤＤを用いることができる。入出力部６０５は、情報の入出力を行う。一例として、入出力部６０５は、表示装置、キーボード、およびマウスを含む。通信部６０６は、ネットワーク（例えば図４のネットワーク４１２）に接続するためのインタフェースを含む。
【００４６】
図７は、支援装置４０２の構成例を示す機能ブロック図である。図７に示す支援装置４０２は、通信部７０１、支援ユーザインタフェース部７０２、学習依頼情報取得部７０３、対象監視起動部７０４、学習プログラム起動部７０５、外部プログラム起動部７０６、要因推定制御部７０７、および要因推定結果出力部７０８を含む。通信部７０１は、ネットワーク４１２を介して接続された他の装置とデータをやり取りする。
【００４７】
支援ユーザインタフェース部７０２は、支援プログラムのユーザインタフェースを提供する。支援ユーザインタフェース部７０２は、利用者が支援サービスへ加入することを可能にする。例えば、支援ユーザインタフェース部７０２は、利用者から支援の依頼を受ける。また、支援ユーザインタフェース部７０２は、利用者からの要因推定の依頼を受け付けてもよい。支援ユーザインタフェース部７０２は、状態検出の設定を受け付けてもよい。
【００４８】
学習依頼情報取得部７０３は、支援ユーザインタフェース部７０２を介して、要因推定を行う能力を取得する依頼を受け付ける。具体的には、学習依頼情報取得部７０３は、状態Ａおよび状態Ｂを特定するための情報を取得する。学習依頼情報取得部７０３は、要因推定以外の学習目標についての依頼を受け付けてもよい。
【００４９】
対象監視起動部７０４は、利用者によって指定された対象の監視を開始する指令を対象情報取得装置４０５に送る。監視を開始する指令は対象ごとに送られる。
【００５０】
学習プログラム起動部７０５は、各装置に対して所定のプログラムを起動する指令を送る。例えば、学習プログラム起動部７０５は、対象を監視するための監視プログラムを起動する指令を対象情報センサ装置群４０６に送る。対象情報センサ装置群４０６に含まれる１つまたは複数のセンサ装置において、対象に応じた監視を行うための監視プログラムが起動される。さらに、学習プログラム起動部７０５は、学習データを生成するための学習データ生成プログラムを起動する指令を学習データ生成システム４０４に送る。さらに、学習プログラム起動部７０５は、学習を行うための学習プログラムを起動する指令を送る。例えば、学習プログラム起動部７０５は、状態分類学習プログラムを起動する指令を状態分類学習装置４０８に送り、状況分類学習プログラムを起動する指令を状況分類学習装置４０９に送り、除外状況学習プログラムを起動する指令を除外状況学習装置４１０に送る。
【００５１】
外部プログラム起動部７０６は、利用者からの依頼に対応するために、必要に応じて、外部装置のプログラムを起動する。例えば、外部プログラム起動部７０６は、対象を撮影するために、対象が存在している部屋の監視カメラを起動することができる。外部プログラム起動部７０６は、特定の業務を支援する業務支援アプリを起動することができる。外部プログラム起動部７０６は、利用者に対してフィットネス支援コンテンツを再生することができる。
【００５２】
要因推定制御部７０７は、要因推定装置４１１を制御する。要因推定制御部７０７は、状態分類学習装置４０８、状況分類学習装置４０９、および除外状況学習装置４１０によって生成された学習結果を利用できるように、これらの学習結果を要因推定装置４１１に適用する。具体的には、要因推定制御部７０７は、これらの学習結果に合わせて要因推定装置４１１のニューラルネットワークを設定する。要因推定制御部７０７は、利用者端末装置４０１から状態Ａおよび状態Ｂを特定するための情報を受けると、要因推定を行う指令を要因推定装置４１１に送る。その後に、要因推定制御部７０７は、要因推定装置４１１から推定結果を受け取り、受け取った推定結果を要因推定結果出力部７０８に渡す。要因推定結果出力部７０８は、要因推定制御部７０７から推定結果を受け取り、この推定結果を利用者端末装置４０１に送る。
【００５３】
対象情報データベース装置４０３は、対象情報取得装置４０５の指令に従って対象に関する情報を取得するセンサ装置によって取得された、対象に関するデータを記録する。対象情報データベース装置４０３は、指定された対象について状態情報ベクトルおよび状況情報ベクトルのもとになるデータを抽出できるようにデータを記録する。
【００５４】
図８は、対象情報データベース装置４０３の構成例を示す機能ブロック図である。図８に示す対象情報データベース装置４０３は、通信部８０１、対象情報ＤＢ（データベース）８０２、状態情報ＤＢ８０３、および状況情報ＤＢ８０４を備える。通信部８０１は、ネットワーク４１２を介して接続された他の装置とデータをやり取りする。対象情報ＤＢ８０２は、対象情報取得装置４０５によって取得された対象に関するデータを記録する。状態情報ＤＢ８０３は、対象情報ＤＢ８０２に記録されたデータから抽出された状態に関するデータを記録する。状況情報ＤＢ８０４は、対象情報ＤＢ８０２に記録されたデータから抽出された状況に関するデータを記録する。
【００５５】
学習データ生成システム４０４は、対象情報取得装置４０５によって取得されて対象情報データベース装置４０３に記憶された対象に関するデータをもとに、学習に用いる学習データを作成する。例えば、学習データ生成システム４０４は、対象情報データベース装置４０３から対象に関するデータを取得し、取得したデータに基づいて学習データを生成する。対象は複数存在することができるので、学習データ生成システム４０４は、対象ごとに、状態に関する情報、状況に関する情報、および除外する状況を示す情報を抽出する必要がある。
【００５６】
図９は、学習データ生成システム４０４の構成例を示す。図９に示す学習データ生成システム４０４は、通信部９０１、状態情報抽出装置９０２、状況情報抽出装置９０３、および除外状況情報抽出装置９０４を備える。通信部９０１、状態情報抽出装置９０２、状況情報抽出装置９０３、および除外状況情報抽出装置９０４は、１つの装置として実施されてもよい。
【００５７】
通信部９０１、状態情報抽出装置９０２、状況情報抽出装置９０３、および除外状況情報抽出装置９０４は、イーサネット（登録商標）などのネットワークに接続されている。通信部９０１は、ネットワーク（例えばネットワーク４１２）を介して接続された他の装置とデータをやり取りする。
【００５８】
状態情報抽出装置９０２は、対象に関するデータから対象の状態に関する情報を抽出する。これは状態を分類する能力を獲得するために使用される学習データとして出力される。状況情報抽出装置９０３は、対象に関するデータから対象の状況に関する情報を抽出する。これは状況を分類する能力を獲得するために使用される学習データとして出力される。除外状況情報抽出装置９０４は、対象に関するデータから、除外する状況に関する情報を抽出する。これは状況情報を除外する能力を獲得するために使用される学習データとして出力される。
【００５９】
図１０は、対象情報取得装置４０５の構成例を示す機能ブロック図である。図１０に示す対象情報取得装置４０５は、通信部１００１、指示部１００２、対象情報取得部１００３、および対象情報記憶部１００４を備える。通信部１００１は、ネットワーク４１２を介して接続された他の装置とデータをやり取りする。指示部１００２は、支援装置４０２から対象の監視を開始する指令を受け取ると、対象の監視を開始してそれにより得られたデータを対象情報データベース装置４０３に記録するように対象情報センサ装置群４０６に指示する。指示部１００２は、対象ごとにどのような情報を取得するかを管理してもよい。これにより、対象情報データベース装置４０３に記録されたデータから所望する情報を抽出することが可能になる。指示部１００２は、対象の状態に応じて監視方法を変更してもよい。対象の特定の状態が検出されたときに、指示部１００２は、その対象に関する情報を所定のセンサを選択して監視を行うように対象情報センサ装置群４０６に指示してもよい。対象情報取得部１００３は、対象情報センサ装置群４０６から出力された対象に関するデータを取得し、取得したデータを対象情報記憶部１００４に保存することができる。
【００６０】
対象情報センサ装置群４０６は、複数のセンサ装置を含む。各センサ装置は、対象に関する情報を検出し、センサデータを出力する。センサ装置は、対象に関する情報を取得できるものであれば、いかなるものであってもよい。センサ装置は、別の目的で設置された装置が備えるセンサ機能を流用したものであってもよい。例えば、スマートフォンまたは自動車に設けられたセンサを利用することができる。ＰＣまたはスマートフォン上で動作するアプリが検出した情報をセンサデータとして利用してもよい。センサ装置は、例えば、特定の情報を取得する専用のセンサとして実施することができる。センサ装置は、ＩｏＴシステムにおいて分散して設置されたセンサであってよい。センサ装置は、実体があるセンサと同様に動作するようにクラウド内で仮想的に構成した仮想センサであってもよい。各センサ装置によって取得されたデータは対象情報データベース装置４０３に記録される。
【００６１】
図１１は、センサ装置の構成例を示している。具体的には、図１１は、センサ装置を組み込んだコンピュータ１１００を示している。コンピュータ１１００は、ＣＰＵ１１０１、ＲＯＭ１１０２、ＲＡＭ１１０３、記憶装置１１０４、センサ部１１０５、入出力部１１０６、および通信部１１０７を備え、これらは、バス１１０８によって相互に接続される。センサ部１１０５は、１つまたは複数のセンサ装置を含む。ＣＰＵ１１０１は、ＲＯＭ１１０２または記憶装置１１０４に記録された制御プログラムに従ってセンサ部１１０５の動作を制御する。入出力部１１０６は、情報の入出力を行う。通信部１１０７は、ネットワーク（例えば図４のネットワーク４１２）に接続するためのインタフェースを含む。
【００６２】
学習データベース装置４０７は、学習データ生成システム４０４によって生成された学習データを記録する。学習データは、状態分類の学習に用いるデータ、状況分類の学習に用いるデータ、および除外状況の学習に用いるデータを含み、これらはそれぞれ状態分類学習装置４０８、状況分類学習装置４０９、および除外状況学習装置４１０によって用いられる。学習データベース装置４０７は、学習データに含まれる複数の対象の状態情報ベクトルおよび状況情報ベクトルを順次出力することができる。また、学習データベース装置４０７は、学習データに含まれる特定の対象の状態情報ベクトルおよび状況情報ベクトルを順次出力することができる。これにより、特定の対象に関するデータのみを用いて学習を行うことが可能になる。
【００６３】
学習データベース装置４０７は、対象の種類または属性ごとに学習データを記録するように構成されてもよい。これにより、複数種類の対象を扱うことが可能になる。また、種類または属性を指定することで、所望するデータを抽出することが可能になる。
【００６４】
学習データベース装置４０７は、状態分類学習装置４０８、状況分類学習装置４０９、および除外状況学習装置４１０によって生成された学習結果を記録してもよい。
【００６５】
状態分類学習装置４０８は、状態を分類するための学習を行う。図１２は、状態分類学習装置４０８を実現するサーバ型コンピュータの構成例を示している。図１２に示すサーバ型コンピュータ１２００は、ＧＰＵ（Graphics Processing Unit）１２０１、ＣＰＵ１２０２、ＲＯＭ１２０３、ＲＡＭ１２０４、記憶装置１２０５、入出力部１２０６、および通信部１２０７を備える。状態分類学習装置４０８は、処理量が非常に多い。このため、コンピュータ１２００は、通常のコンピュータにＧＰＵ１２０１を追加した構成となっている。ＣＰＵ１２０２、ＲＯＭ１２０３、ＲＡＭ１２０４、記憶装置１２０５、入出力部１２０６、および通信部１２０７はそれぞれ、図６に示したＣＰＵ６０１、ＲＯＭ６０２、ＲＡＭ６０３、記憶装置６０４、入出力部６０５、および通信部６０６に対応するものであるので、これらについての説明は省略する。ＧＰＵ１２０１は、ニューラルネットワークの学習における繰り返し計算をＣＰＵ１２０２よりも高速に実行することができる。
【００６６】
状態分類学習装置４０８は、コンピュータ１２００と同様の構成を有する複数のコンピュータを組み合わせたブレードＰＣによって実現されてもよい。また、状態分類学習装置４０８は、複数のブレードＰＣを組み合わせた複合型サーバ装置によって実現されてもよい。さらに大規模な学習データを扱う場合には、状態分類学習装置４０８は、複合型サーバ装置を複数組み合わせたデータセンサによって実現されてもよい。図１２に示す構成は、ソフトウェアによってディープラーニングの学習を行うための構成である。ソフトウェア処理の一部または全部はハードウェアによって実施されてもよい。それにより、処理を高速化することができる。
【００６７】
図１３は、状態分類学習装置４０８の構成例を示す機能ブロック図である。図１３に示す状態分類学習装置４０８は、通信部１３０１、状態分類学習制御部１３０２、ニューラルネットワーク１３０３、学習結果抽出部１３０４、および学習結果出力部１３０５を備える。通信部１３０１は、ネットワーク４１２を介して接続された他の装置とデータをやり取りする。
【００６８】
状態分類学習制御部１３０２は、状態を分類する能力を獲得するための処理を制御する。状態分類学習制御部１３０２は、ニューラルネットワーク１３０３のハイパーパラメータを設定し、ディープラーニングによる学習を行う。学習はディープラーニングに限定されず、機械が学習する任意の学習方法を用いることができる。状態分類学習制御部１３０２は、対象情報データベース装置４０３の対象情報ＤＢ８０２に記録されているデータから、１以上の対象に関するデータを抽出する。本実施形態では、少なくとも指定された対象に関するデータを使用する。１以上の他の対象に関するデータも使用してもよい。指定された対象に関するデータが少ない場合などでは効果が上がる。状態分類学習制御部１３０２は、抽出されたデータから、図３に示した状態情報ベクトルを選択する。選択するためのプログラムは、対象の種類または属性ごとに予め用意することができる。状態情報ベクトルは、対象の状態を表すように設計することができる。状態情報ベクトルは、対象の種類または属性ごとに定義するようにしてもよい。状態分類学習制御部１３０２は、多数の状態情報ベクトルを含む学習データをニューラルネットワーク１３０３に与え、ニューラルネットワーク１３０３を用いて多数の状態情報ベクトルを所定数（例えば１万種類）の状態分類に分類する学習を行う。学習の結果として、状態を分類する能力が獲得される。獲得された能力を他の装置で実施するための学習結果が学習結果抽出部１３０４によって抽出される。抽出された情報は、学習結果出力部１３０５によってファイルなどにまとめられて要因推定装置４１１に送られる。
【００６９】
図１４は、ニューラルネットワークの構成例を示している。図１４に示すニューラルネットワーク１４００は、図１３に示したニューラルネットワーク１３０３に相当する。ニューラルネットワーク１４００は、ニューラルネットワーク入力部１４０１、深層ニューラルネットワーク１４０２、およびニューラルネットワーク出力部１４０３を備える。ディープラーニングでは、深層ニューラルネットワーク１４０２が用いられる。ニューラルネットワーク入力部１４０１は、学習データを深層ニューラルネットワーク１４０２に入力する。深層ニューラルネットワーク１４０２は、学習データを用いて学習を行う。学習の結果として、状態を分類する能力が獲得される。ニューラルネットワーク出力部１４０３は、獲得された能力を他の装置で実施するための学習結果を抽出可能なデータを出力する。
【００７０】
状況分類学習装置４０９は、状況を分類するための学習を行う。状況分類学習装置４０９は、状態分類学習装置４０８と同様のハードウェア構成を有することができる。例えば、状況分類学習装置４０９は、図１２に示したサーバ型コンピュータ１２００により実現することができる。
【００７１】
図１５は、状況分類学習装置４０９の構成例を示す機能ブロック図である。図１５に示す状況分類学習装置４０９は、通信部１５０１、状況分類学習制御部１５０２、ニューラルネットワーク１５０３、学習結果抽出部１５０４、および学習結果出力部１５０５を備える。通信部１５０１は、ネットワーク４１２を介して接続された他の装置とデータをやり取りする。
【００７２】
状況分類学習制御部１５０２は、状況を分類する能力を獲得するための処理を制御する。状況分類学習制御部１５０２は、ニューラルネットワーク１５０３のハイパーパラメータを設定し、ディープラーニングによる学習を行う。ニューラルネットワーク１５０３は、図１４に示したニューラルネットワーク１４００と同様の構成を有することができる。学習はディープラーニングに限定されず、機械が学習する任意の学習方法を用いることができる。
【００７３】
状況分類学習制御部１５０２は、対象情報データベース装置４０３の対象情報ＤＢ８０２に記録されたデータから、１以上の対象に関するデータを抽出する。本実施形態では、要因推定の依頼において指定された対象に関するデータを少なくとも使用する。１以上の他の対象に関するデータも使用してもよい。指定された対象に関するデータが少ない場合などでは効果が上がる。状況分類学習制御部１５０２は、抽出されたデータから図３に示した状況情報ベクトルを選択する。選択するためのプログラムは、対象の種類または属性ごとに予め用意することができる。状況情報ベクトルは、対象の状況を表すように設計することができる。状況情報ベクトルは、外部要因ベクトルおよび自己要因ベクトルを含む。外部要因ベクトルは、対象に影響を与える外部の要因を表す。自己要因ベクトルは、対象自身に起因する要因を表す。状況情報ベクトルは、例えば、外部要因ベクトルと自己要因ベクトルを組み合わせたベクトルとして定義することができる。状況情報ベクトルは、対象の種類または属性ごとに定義するようにしてもよい。状況分類学習制御部１５０２は、多数の状況情報ベクトルを含む学習データをニューラルネットワーク１５０３に与え、ニューラルネットワーク１５０３を用いて多数の状況情報ベクトルを所定数（例えば１万種類）の状況分類に分類する学習を行う。学習の結果として、状況を分類する能力が獲得される。獲得された能力を他の装置で実施するための学習結果が学習結果抽出部１５０４によって抽出される。学習結果抽出部１５０４によって抽出された情報は、学習結果出力部１５０５によってファイルなどにまとめられて要因推定装置４１１に送られる。
【００７４】
除外状況学習装置４１０は、除外する状況を分類するための学習を行う。除外状況学習装置４１０は、状態分類学習装置４０８と同様のハードウェア構成を有することができる。例えば、除外状況学習装置４１０は、図１２に示したサーバ型コンピュータ１２００により実現することができる。
【００７５】
図１６は、除外状況学習装置４１０の構成例を示す機能ブロック図である。図１６に示す除外状況学習装置４１０は、通信部１６０１、除外状況学習制御部１６０２、ニューラルネットワーク１６０３、学習結果抽出部１６０４、および学習結果出力部１６０５を備える。通信部１６０１は、ネットワーク４１２を介して接続された他の装置とデータをやり取りする。
【００７６】
除外状況学習制御部１６０２は、除外する状況を分類する能力を獲得するための処理を制御する。除外状況学習制御部１６０２は、ニューラルネットワーク１６０３のハイパーパラメータを設定し、ディープラーニングによる学習を行う。ニューラルネットワーク１６０３は、図１４に示したニューラルネットワーク１４００と同様の構成を有することができる。学習はディープラーニングに限定されず、機械が学習する任意の学習方法を用いることができる。
【００７７】
除外状況学習制御部１６０２は、対象情報データベース装置４０３の対象情報ＤＢ８０２に記録されたデータから、１以上の対象に関するデータを抽出する。本実施形態では、少なくとも指定された対象に関するデータを使用する。１以上の他の対象に関するデータも使用してもよい。指定された対象に関するデータが少ない場合などでは効果が上がる。除外状況学習制御部１６０２は、対象が状態Ａから状態Ｂに変化したときのデータを抽出する。これを状態Ａから状態Ｂに変化したときの教師データとする。さらに、除外状況学習制御部１６０２は、対象が状態Ａから状態Ｂに変化したとき以外のデータを抽出する。これを状態Ａから状態Ｂに変化しなかったときの教師データとする。除外状況学習制御部１６０２は、抽出されたデータから図３に示した状況情報ベクトルを選択する。選択するためのプログラムは、対象の種類または属性ごとに予め用意することができる。状況情報ベクトルは、対象の状況を表す。状況情報ベクトルは、対象の種類または属性ごとに定義するようにしてもよい。多数の教師あり学習データを用いて、状況情報ベクトルを状態Ａから状態Ｂになったときの状況情報ベクトルと類似するものと、そうではないものに分類する能力が獲得される。状態Ａから状態Ｂになったときの状況情報ベクトルと類似するもの以外を除外することで、要因の候補となるデータのデータ量を大幅に削減することができる。これによって、学習の処理量が削減され、学習時間が短縮される。
【００７８】
学習の結果として、除外する状況を分類する能力が獲得される。獲得された能力を他の装置で実施するための学習結果が学習結果抽出部１６０４によって抽出される。学習結果抽出部１６０４によって抽出された情報は、学習結果出力部１６０５によってファイルなどにまとめられて要因推定装置４１１に送られる。
【００７９】
要因推定装置４１１は、利用者からの要因推定依頼に基づいて、指定された対象が状態Ａから状態Ｂに変化した要因を推定する。要因推定装置４１１は、状態分類学習装置４０８から出力される学習結果および状況分類学習装置４０９から出力される学習結果を用いて要因推定を行う。また、要因推定装置４１１は、除外状況学習装置４１０から出力される学習結果をさらに用いてもよい。学習結果に含まれるデータを用いることで、状態分類学習装置４０８、状況分類学習装置４０９および除外状況学習装置４１０それぞれのニューラルネットワークと同等のニューラルネットワークを構成することができる。
【００８０】
図１７は、要因推定装置４１１の構成例を示す機能ブロック図である。図１７に示す要因推定装置４１１は、通信部１７０１、対象情報入力部１７０２、状態情報抽出部１７０３、状態特定部１７０４、状態分類部１７０５、状態分類学習結果設定部１７０６、状況情報抽出部１７０７、状況特定部１７０８、状況分類部１７０９、状況分類学習結果設定部１７１０、要因推定部１７１１、および要因推定結果出力部１７１２を備える。通信部１７０１は、ネットワーク４１２を介して接続された他の装置とデータをやり取りする。
【００８１】
対象情報入力部１７０２は、対象情報データベース装置４０３から対象についての情報を受け取る。対象情報入力部１７０２は、対象情報センサ装置群４０６から対象についての情報を受け取ってもよい。対象は、要因を推定することになる対象（第１の対象）を含む。状態情報抽出部１７０３は、対象情報入力部１７０２によって受け取られた情報の中から状態情報（状態情報ベクトル）を抽出する。
【００８２】
状態特定部１７０４は、第１の対象についての所定の状態を特定し、状態情報抽出部１７０３によって抽出された状態情報の中から所定の状態に対応する状態情報を抽出する。所定の状態は、結果である状態Ｂに対応する。状態Ｂは、例えば、利用者が要因推定を行うことが望ましいと考える状態であり得る。状態特定部１７０４は、事前状態である状態Ａをさらに特定してもよい。状態Ａおよび状態Ｂは、他の装置によって検出されることができる。支援装置４０２の支援サービスプログラムは、利用者の利用に応じて個別の支援サービスを行うプログラムを、利用者が利用可能な装置のいずれかで起動する。例えば、業務支援アプリが起動される。業務支援アプリが所定の条件に従って状態Ａおよび状態Ｂを検出する。例えば、自動車のテレマティクス端末が運転者の状態を検出するセンサを用いる。例えば、運転者へのアドバイスを行うことが望ましい状態が状態Ｂとして検出される。例えば、ヘルスケアアプリが対象の状態Ａおよび状態Ｂを検出してもよい。状態特定部１７０４は、他の装置から第１の対象が所定の状態になったことを示す通知を受け取り、受け取った通知に基づいて所定の状態を特定する。例えば、通知は、第１の対象が所定の状態になった時刻を示す時刻情報を含み、状態特定部１７０４は、状態情報抽出部１７０３によって抽出された状態情報の中から、その時刻における第１の対象の状態情報を状態分類部１７０５に出力する。
【００８３】
状態分類部１７０５は、状態特定部１７０４から所定の状態に対応する状態情報の入力を受けて、所定の状態を分類する。例えば、状態分類部１７０５は、図１４に示したニューラルネットワークと同様のニューラルネットワークを含むことができる。状態分類学習結果設定部１７０６は、状態分類学習装置４０８から学習結果を受け取り、受け取った学習結果を用いて状態分類部１７０５のニューラルネットワークのハイパーパラメータを設定する。これにより、状態分類部１７０５は、状態を分類することが可能になる。状態分類部１７０５は、入力された状態情報を分類し、状態分類結果を要因推定部１７１１に出力する。
【００８４】
状況情報抽出部１７０７は、対象情報入力部１７０２によって受け取られた情報の中から状況情報を抽出する。状況特定部１７０８は、第１の対象が所定の状態に至るまでの状況を特定し、状況情報抽出部１７０７によって抽出された状況情報から、特定した状況に対応する状況情報を抽出する。例えば、状況特定部１７０８は、状態特定部１７０４から、第１の対象が状態Ａから状態Ｂに変化するまでの期間を示す情報を受け取り、状況情報抽出部１７０７によって抽出された状況情報から、第１の対象が状態Ａから状態Ｂに変化するまでの期間における第１の対象の状態情報を抽出する。状況特定部１７０８は、除外状況学習装置４１０で分類された状況情報以外の中から、特定した状況に対応する状況情報を抽出し、それを状況分類部１７０９に入力してもよい。
【００８５】
状況分類部１７０９は、状況特定部１７０８によって特定された状況に対応する状況情報の入力を受けて、特定された状況を分類し、１または複数の状況（状況分類）を含む状況分類結果を出力する。例えば、状況分類部１７０９は、図１４に示したニューラルネットワークと同様のニューラルネットワークを含むことができる。状況分類学習結果設定部１７１０は、状況分類学習装置４０９から学習結果を受け取り、受け取った学習結果を用いて状況分類部１７０９のニューラルネットワークのハイパーパラメータを設定する。これにより、状況分類部１７０９は、状況を分類することが可能になる。
【００８６】
要因推定部１７１１は、状態分類部１７０５からの状態分類結果と状況分類部１７０９からの状況分類結果とに基づいて、所定の状態に至る要因となった状況を推定する。例えば、要因推定部１７１１は、第１の状態から第２の状態へ変化する期間における状況を示す状況変化パターンの履歴を保持し、履歴中の状況変化パターンの中から状態分類結果に対応する状況変化パターンを選択し、選択した状況変化パターンと状況分類結果とに共通する状況を要因として特定する。より具体的には、状態Ａから状態Ｂに変化したことが検出された場合に、次のように要因を推定する。要因推定部１７１１は、状況分類部１７０９から、対象が状態Ａから状態Ｂに変化する期間における状況情報ベクトルを分類した結果を示す状況変化パターンを受け取る。要因推定部１７１１は、状況分類部１７０９から受け取った状況変化パターンが履歴に含まれるいずれかの状況変化パターンと一致する場合に、その状況変化パターンによって示される状況を要因と判定する。状況分類部１７０９が複数の状況変化パターンを生成した場合、要因推定部１７１１は、状況分類部１７０９から受け取った状況変化パターンの中から、履歴に含まれる状況変化パターンと一致する状況変化パターンを選択し、選択した状況変化パターンによって示される状況分類を要因と判定する。一致する状況変化パターンが複数ある場合には、要因推定部１７１１は、１つまたは複数の要因を出力してもよい。あるいは、一致する状況変化パターンが複数ある場合には、要因推定部１７１１は、最も先に発生した状況を要因として出力するようにしてもよい。また、ディープラーニングの分類結果は、所定の分類に対する類似度を数値として出力することができる。この数値を用いて、最も近いものを要因と判定するようにしてもよい。
【００８７】
図１８は、本実施形態に係る学習の手順例を示している。図１８に示す処理は、学習依頼に応答して開始される。ステップＳ１８０１において、学習データ生成システム４０４が学習データを生成し、生成した学習データを学習データベース装置４０７に記録する。ステップＳ１８０２において、各学習装置が、学習データに基づいて一連の学習を行う。具体的には、ステップＳ１８０３において、状態分類学習装置４０８が、対象の状態を分類する能力を獲得し、獲得した能力を他の装置で実施するための学習結果を生成する。ステップＳ１８０４において、状況分類学習装置４０９が、対象の状態を分類する能力を獲得し、獲得した能力を他の装置で実施するための学習結果を生成する。ステップＳ１８０５において、除外状況学習装置４１０が、状態Ａから状態Ｂへの変化と無関係な状況を分類する能力を獲得し、獲得した能力を他の装置で実施するための学習結果を生成する。
【００８８】
ステップＳ１８０６において、各学習装置が学習結果を出力する。ステップＳ１８０７において、要因推定装置４１１が各学習装置から学習結果を受け取る。ステップＳ１８０８において、要因推定装置４１１が、受け取った学習結果を用いて要因推定能力を獲得する。
【００８９】
ステップＳ１８０９において、他の学習依頼があるか否かが判定される。他の学習依頼がある場合、ステップＳ１８０１に戻り、他の学習依頼がない場合、処理が終了になる。
【００９０】
図１９は、本実施形態に係る要因推定依頼から推定結果の出力までの処理を示している。図１９のステップＳ１９０１において、利用者が、利用者端末装置４０１で、対象を指定して支援アプリを起動する。ステップＳ１９０２において、対象に対する支援サービスが開始される。ステップＳ１９０３において、利用者が、事前状態Ａおよび事後状態Ｂを指定して要因推定を依頼する。ステップＳ１９０４において、学習装置が状態Ａから状態Ｂに変化する事象について学習を行う。詳細は、後述する、状態分類学習装置、状況分類学習装置、除外状況学習装置、それぞれの学習の手順例において説明する。ステップＳ１９０５において、状態Ａから状態Ｂに変化する事象と無関係な状況を分類する能力などの能力が獲得される。ステップＳ１９０６において、学習装置が学習結果を出力する。ステップＳ１９０７において、要因推定装置４１１が学習結果を受け取る。ステップＳ１９０８において、要因推定装置４１１が、受け取った学習結果を用いて要因推定能力を獲得する。ステップＳ１９０９において、要因推定装置４１１が、対象が状態Ａから状態Ｂに変化した要因を推定し、推定結果を出力する。
【００９１】
図２０は、本実施形態に係る状態分類学習装置４０８における学習の手順例を示している。図２０のステップＳ２００１において、状態分類学習装置４０８に学習の開始が指令される。ステップＳ２００２において、状態分類学習装置４０８が、指定された対象に関するデータを学習データベース装置４０７に要求する。ステップＳ２００３において、状態分類学習装置４０８が、分類数を設定する。分類数は可変である。例えば、分類数は、要因推定システムのオペレータによって設定される。ステップＳ２００４において、状態分類学習装置４０８が、学習データベース装置４０７から、指定された対象の状態に関するデータを受け取り、学習を行う。
【００９２】
ステップＳ２００５において、状態分類学習装置４０８は、学習打ち切り条件を満たすか否かを判定する。学習打ち切り条件を満たさない場合、ステップＳ２００６に進み、学習打ち切り条件を満たす場合、処理が終了となる。
【００９３】
ステップＳ２００６において、状態分類学習装置４０８は、学習レベルが所定のレベルに到達したか否かを判定する。学習レベルが所定のレベルに到達していない場合、ステップＳ２００４に戻り、状態分類学習装置４０８は、学習データベース装置４０７から他の対象の状態に関するデータを取得して再度学習を行う。学習レベルが所定のレベルに到達した場合、ステップＳ２００７に進み、ステップＳ２００７において、状態分類学習装置４０８は、学習結果を出力する。
【００９４】
図２１は、本実施形態に係る状況分類学習装置４０９における学習の手順例を示している。図２１のステップＳ２１０１において、状況分類学習装置４０９に学習の開始が指令される。ステップＳ２１０２において、状況分類学習装置４０９が、指定された対象に関するデータを学習データベース装置４０７に要求する。ステップＳ２１０３において、状況分類学習装置４０９が、分類数を設定する。分類数は可変である。例えば、分類数は、要因推定システムのオペレータによって設定される。状況分類における分類数は状態分類における分類数と異なっていてもよい。ステップＳ２１０４において、状況分類学習装置４０９が、学習データベース装置４０７から、指定された対象の状況に関するデータを受け取り、学習を行う。
【００９５】
ステップＳ２１０５において、状況分類学習装置４０９は、学習打ち切り条件を満たすか否かを判定する。学習打ち切り条件を満たさない場合、ステップＳ２１０６に進み、学習打ち切り条件を満たす場合、処理が終了となる。
【００９６】
ステップＳ２１０６において、状況分類学習装置４０９は、学習レベルが所定のレベルに到達したか否かを判定する。学習レベルが所定のレベルに到達していない場合、ステップＳ２１０４に戻り、状況分類学習装置４０９は、学習データベース装置４０７から他の対象の状況に関するデータを取得して再度学習を行う。学習レベルが所定のレベルに到達した場合、ステップＳ２１０７に進み、ステップＳ２１０７において、状況分類学習装置４０９は、学習結果を出力する。
【００９７】
図２２は、本実施形態に係る除外状況学習装置４１０における学習の手順例を示している。図２２のステップＳ２２０１において、除外状況学習装置４１０は、学習データベース装置４０７から状況変化パターンのデータを受け取る。ステップＳ２２０２において、除外状況学習装置４１０は、状態Ａから状態Ｂに変化した状況変化パターンのデータを非除外教師データとして生成する。ステップＳ２２０３において、除外状況学習装置４１０は、状態Ａから状態Ｂに変化した状況変化パターン以外の状況変化パターンのデータを除外教師データとして生成する。非除外教師データおよび除外教師データは学習データ生成システム４０４によって作成されてもよい。
【００９８】
ステップＳ２２０４において、除外状況学習装置４１０は、非除外教師データおよび除外教師データを用いて、除外する状況を識別する学習を行う。ステップＳ２２０５において、除外状況学習装置４１０は、学習打ち切り条件を満たすか否かを判定する。学習打ち切り条件を満たさない場合、ステップＳ２２０６に進み、学習打ち切り条件を満たす場合、処理が終了となる。
【００９９】
ステップＳ２２０６において、除外状況学習装置４１０は、学習レベルが所定のレベルに到達したか否かを判定する。学習レベルが所定のレベルに到達していない場合、ステップＳ２２０１に戻り、除外状況学習装置４１０は、状況変化パターンのさらなるデータを取得して再度学習を行う。学習レベルが所定のレベルに到達した場合、ステップＳ２２０７に進み、ステップＳ２２０７において、除外状況学習装置４１０は、学習結果を出力する。
【０１００】
図２３は、本実施形態に係る要因推定装置４１１による処理の手順例を示している。図２３のステップＳ２３０１において、要因推定部１７１１は、複数の状況変化パターンを含む状況分類履歴を取得する。ステップＳ２３０２において、状態分類学習結果設定部１７０６は、状態分類学習装置４０８から受け取った学習結果を状態分類部１７０５に設定する。ステップＳ２３０３において、状況分類学習結果設定部１７１０は、状況分類学習装置４０９から受け取った学習結果を状況分類部１７０９に設定する。
【０１０１】
ステップＳ２３０４において、状態情報抽出部１７０３は、対象の状態情報ベクトルを状態特定部１７０４に入力する。ステップＳ２３０５において、状態特定部１７０４は、対象が事前状態である状態Ａになったか否かを判定する。対象の状態が状態Ａでない場合、ステップＳ２３０４に戻り、対象の状態が状態Ａである場合、状態特定部１７０４は、入力された状態情報ベクトルの中から状態Ａに対応する状態情報ベクトルを選択し、ステップＳ２３０６に進む。
【０１０２】
ステップＳ２３０６において、状態情報抽出部１７０３は、対象の状態情報ベクトルを状態特定部１７０４にさらに入力する。ステップＳ２３０７において、状態特定部１７０４は、対象が事後状態である状態Ｂになったか否かを判定する。対象の状態が状態Ｂでない場合、ステップＳ２３０６に戻り、対象の状態が状態Ｂである場合、状態特定部１７０４は、入力された状態情報ベクトルの中から状態Ｂに対応する状態情報ベクトルを選択し、ステップＳ２３０８に進む。
【０１０３】
ステップＳ２３０８において、状況分類部１７０９は、状況変化パターンを生成する。ステップＳ２３０９において、要因推定部１７１１は、状況分類履歴から、生成された状況変化パターンと一致する状況変化パターンを探す。ステップＳ２３１０において、要因推定部１７１１は、一致した状況変化パターンに含まれる状況を推定結果と判定する。ステップＳ２３１０において、要因推定結果出力部１７１２は、推定結果を出力する。
【０１０４】
以上に、要因推定システムの構成および動作について説明した。以下に、具体的な補足説明を行う。
【０１０５】
ディープラーニングは、大量のデータをもとに、分類または予測などの所定の能力を獲得するために学習を行うことができる。しかしながら、データ量が多すぎると、所定の規模の装置を用いて所定の時間内で学習を完了することができない。要因推定システムでは、見守り対象に関係のないデータを含む膨大なデータが取得される。このため、要因を推定するために用いるデータの範囲を制限することが必要になることがある。利用者に対して提供するサービスまたは装置に応じて制限を設けることが望ましい。例えば、利用者との契約に応じて制限を設けることができる。この場合、データ範囲が利用者との合意に応じて制限されるので、システム側の責任範囲を明確にすることができる。
【０１０６】
データ範囲は所定の条件に応じて制限されてもよい。例えば、対象が人である場合に、年齢、性別、国籍、居住地域、職種などの属性を用いて、人全体の数よりも少ない数の部分集合が生成されてもよい。データ範囲を属性で制限してもなおデータ量が多いことがある。この場合、データ量をさらに減らす必要がある。しかし、データ量を減らしすぎると、要因を見逃す可能性が高くなる。要因を含む可能性が低いデータを除外することが望ましい。
【０１０７】
外部要因に関するデータの一部を除外してもよい。例えば、影響を受ける可能性が極めて低いことがあらかじめ分かっている外部要因に関するデータを除外する。見守り対象の属性から影響を受けないと判定できる外部要因に関するデータ、見守り対象が行っていないスポーツに関するデータ、見守り対象が関心を持っておらず、新しいニュースに含まれておらず、過去に訪問したことがなく、一般に知られていない地域に関するデータのように、除外するデータを指定する条件が設定されてもよい。
【０１０８】
また、入力データを分類することにより、データ量を減らすことができる。多次元ベクトルで構成されるデータは、疎（スパース）な分布となっていることが多い。一般に、次元数が増えるほど、分布は疎となる傾向がある。疎な分布となっている多次元ベクトルは、分類することでデータ量を大幅に減らすことができる。分類結果が時系列で並ぶときに、分類した結果の並びをさらに分類することでデータ量を大幅に削減することができる。
【０１０９】
入力データの例について説明する。  
対象が人である場合、入力データは、人自身に関する情報と、人の周囲の環境に関する情報と、を含む。人自身に関する情報はプライバシーに配慮して管理されることが望ましい。利用者からの要望、利用者との契約、装置の構成などに応じて、どのような情報を取得するかを決定することができる。
【０１１０】
人自身に関する情報は、生体の状態に関する情報を含むことができる。生体の状態に関する情報は、ウェアラブルセンサ、例えば、スマートフォン、スマートウォッチ、生体情報センサなどを用いて取得することができる。スマートフォンに含まれる加速度センサまたはスマートフォン上で実行されるアプリケーションから生体の状態に関する情報を取得することができる。スマートウォッチは身体と接触しているので、スマートフォンから取得される情報よりも詳細な方法をスマートウォッチで取得することできる。生体情報センサは、例えば、心拍、酸素飽和度などを測定する。生体情報センサは、例えば、スマートフォンに接続され、あるいは、スマートウォッチに内蔵される。生体の状態に関する情報は、環境型センサを用いて取得することもできる。例えば、生体の状態に関する情報は、ＩｏＴを利用して取得することができる。具体的には、人の環境にある既存の装置を、人に関する情報を取得するセンサとして利用することができる。例えば、「人がビル１階の階段入口で検出され、その後に４階のフロアで検出された」という情報が得られた場合、この情報からその人の物理的な運動量を計算することができる。このような情報は、監視カメラと顔認識装置を組み合わせることで得ることができる。生体の状態に関する情報は、飲食物の情報を含むことができる。調理レシピおよび飲食店が公開する情報を利用することができる。飲食物の情報は、例えば、見守り対象である人によって入力されることができる。
【０１１１】
人自身に関する情報は、人の行動履歴を含むことができる。行動履歴は、運動量の履歴および業務量の履歴を含むことができる。運動量に関する情報は、ウェアラブルセンサを用いて取得することができる。業務量に関する情報は、例えば、自動車の運転などの行動に関する情報を含む。業務量に関する情報は、ＰＣまたはスマートフォンなどのＩＴ端末で利用されるアプリケーションから取得することができる。例えば、自動車の運転に関する情報は、自動車またはスマートフォンなどから取得することができる。
【０１１２】
人の周囲の環境に関する情報は、例えば、建物に付随する装置から取得することができる。例えば、個別住宅や集合住宅などに設置された各種装置を利用することができる。また、オフィスや学校などのビルに設置された各種装置を利用することができる。監視カメラからは、訪問者に関する情報を取得することができる。空調システムからは、人の環境に関する情報を取得することができる。フィットネスクラブに設置されたトレーニング装置からは、人の状態および行動に関する情報を取得することができる。ショッピングモールに設置された売買監理システムからは、購買行動に関する情報を取得することができる。アミューズメント施設に設置された機器からは、施設への来場に関する情報を取得することができる。病院に設置された機器からは、人の状態に関する情報を取得することができる。
【０１１３】
人の周囲の環境に関する情報は、自動車または公共交通機関などの移動体に付随する装置から取得することができる。また、人は環境にある装置で様々な業務アプリまたは教育アプリを利用するので、業務アプリまたは教育アプリから業務または教育に関する情報を取得することができる。各アプリの利用履歴を抽出することで、人が業務または学習中に影響を受けたことに関する情報を取得することができる。また、人の周囲の環境に関する情報は、事業者からの情報を含むことができる。事業者からの情報は、例えば、各事業者が提供する事業で利用者が行った利用に関する情報である。また、人の周囲の環境に関する情報は、情報サービス提供者からの情報を含むことができる。情報サービス提供者からの情報は、例えば、各情報サービス提供者が提供する情報の内容および情報サービスの利用に関する情報である。また、人の周囲の環境に関する情報は、ＩｏＴサービスからの情報を含むことができる。ＩｏＴサービスからの情報は、例えば、ＩｏＴ端末から得られる人に関する情報、サーバまたはクラウドシステムから得られる人に関する情報を含む。
【０１１４】
対象が物（例えば機械）である場合、入力データは、対象である物から得られる情報と、その周囲の装置から得られる情報と、を含むことができる。対象である物およびその周囲の装置は、ネットワークに接続されることができる。
【０１１５】
データを入力する方法について、統合型支援サービスを例に挙げて説明する。統合型支援サービスは、人の３６５日の活動を総合的に見守るサービスである。利用者は、使用しているＰＣまたはスマートフォンあるいは特定業務用端末などの端末装置の支援プログラムまたは支援コンテンツによって、支援サービスの提供を受ける。支援装置は、統合支援サービスを提供する。統合支援サービスは、支援装置の支援プログラムによって実行される。この支援プログラムは、利用者が使用する端末装置で実行される支援プログラムまたは支援コンテンツと連携して動作することができる。支援プログラムは、対象である人を支援するために、周囲の環境にある装置を利用する。これにより、支援プログラムは、人およびその周囲の環境に関する情報を取得することができる。対象を特定することで、その対象の状態および状況に関する情報を取得することが可能である。
【０１１６】
要因推定を依頼する方法について説明する。例えば、利用者は、所定の結果が検出されたときに要因推定を行うようにあらかじめ依頼することができる。要因推定の結果は、例えば、スマートフォンまたはスマートウォッチなどの端末装置において振動および表示で通知する。また、利用者が任意のタイミングで要因推定を依頼してもよい。
【０１１７】
結果である状態Ｂを特定する方法例について説明する。要因を推定する際には、例えば、利用者が２つの状態（事前状態Ａおよび事後状態Ｂ）を指定する。利用者が事前状態を指定しない場合、対象の最初の状態が事前状態Ａと決定されてもよい。利用者が現在の状態を状態Ｂとして指定することができるようにすれば、時刻などの状態を特定するための情報の入力を省略することができる。また、ウェアラブルセンサが、対象が特定の状態（例えば、対象に強いストレスがかかった状態）になったことを検出した場合に、その時刻における対象の状態を状態Ｂに決定してもよい。
【０１１８】
要因推定システムの応用例について説明する。  
まず、対象が人である場合の応用例について説明する。以下に説明する複数の応用例を組み合わせることで、情報の相互活用が可能となり、要因推定に関して統合したサービスを提供することができる。
【０１１９】
第１の応用例は、人の状態を監視するサービスである。このサービスでは、次のように、人の運動、食事、仕事に関する状態および状況の情報を取得し、取得した情報に基づいて人が特定の状態に至る要因となった状況を推定することができる。
【０１２０】
運動は、人の生活パターンに影響を与える。体質や生活パターンが似ている人は、同じような要因で同じような結果となることが多い。運動に関する情報は、例えば、運動量、活動量を含む。運動量および活動量は、活動量センサ、スマートウォッチ、スマートフォンなどを用いて取得することができる。カロリー摂取量および運動量に応じて体重が変化することが知られている。
【０１２１】
食事の内容は人の状態に大きな影響を与える。食事内容に関する情報は、例えば、クレジットカードまたは電子マネーの決済記録から購入した弁当などの情報を抽出する方法を用いて取得することができる。また、人が、スマートフォンやＰＣなどの端末装置を用いて食事内容に関する情報を入力してもよい。また、食事内容に関連する情報は、食堂の支払端末から取得することができる。例えば、支払端末は、食事と食事内容とを互いに関連付けた対応表を保持し、入力された食事の情報で対応表を参照して食事内容に関する情報を取得する。
【０１２２】
仕事に関する情報は、例えば、後に説明する業務支援アプリを用いて取得することができる。仕事に関する情報は、例えば、人が業務中に行った業務やその環境に関する情報を含む。
【０１２３】
人の状態を監視するサービスがアドバイスを行う機能を備えることが望ましい。現在の状態となった要因を推定して通知することは、効果的なアドバイスとなる。一般に、運動量と体重の増減には高い相関関係があることが知られている。人は、１日前の運動量を正確に覚えていることができるが、１週間程度前の運動量を思い出すことはほとんどできない。体重の増減は、数か月程度の期間における運動量に影響されるので、多くの人は、運動量の履歴を把握していない。体重の増減の要因を推定して通知することで、人が自分の行動のなかから生活習慣の良い点および悪い点を把握することができるようになる。これによって、生活習慣の改善を図ることが可能になる。また、多くの人に関する情報を用いて学習を行うことで、現在の状態を続けたときの体重の変化を予測することが可能になる。このような情報をアドバイスとして通知することも効果的である。
【０１２４】
以上のように、要因推定システムは人の状態を監視するサービスに応用することができる。ここで説明した手法は、以下の応用例にも適用することができる。
【０１２５】
第２の応用例は、人の業務を支援するサービスである。人の状態は業務に影響を及ぼす。このサービスでは、人の業務に関する情報および状況の情報を取得し、取得した情報に基づいて人が特定の状態に至る要因となった状況を推定することができる。
【０１２６】
過労については、社会問題となっており、企業にはその対応が求められている。一方で、企業が業務時間外の従業員の情報を取得することには制限がある。企業が外部に従業員の見守りを委託することで、過労の問題を回避することが可能となる。本実施形態に係る要因推定システムを用いることで、人の介在なしに対象（例えば従業員）の状態および状況を監視することが可能になる。
【０１２７】
また、第２の応用例に係るサービスは、特定の状態を検出した場合に、業務効率を改善するための提案を行うことができる。一例では、このサービスは、朝の業務開始時に従業員について所定の異常を検出した場合、生活パターンの影響を推定し、推定結果に基づき生活パターンの改善を提案する。他の例では、このサービスは、午後の業務開始時点で従業員について所定の異常を検出した場合、その従業員の上司に通知を行う。通知を受けて、上司は、従業員に対し「何かありましたか？」、「一息ついてはいかがですか」などの声掛けをすることができる。さらなる例では、このサービスは、従業員の生体情報センサが示す状態情報ベクトルをもとに、過度のストレスを受けている状態を検出することができる。また他の例では、このサービスは、業務効率が上がっている期間の前における状態Ａとその期間中における状態Ｂを特定し、状態Ａから状態Ｂに変化した要因を、業務効率を上げる要因と推定することができる。
【０１２８】
さらに、第２の応用例に係るサービスは、異変に関する情報を検出し、業務を行っている従業員への異変の影響を所定のロジックで推定することができる。異変としては、例えば、監視装置の故障、業務システムの障害、作業対象の異変、従業員の異変などがある。監視装置が故障した場合、記録デーが欠落することが記録される。業務システムに障害が発生した場合、業務システムから得られた障害の発生時刻および内容に基づいて影響度が判定され記録される。従業員が作業を行っている作業対象に取り付けたセンサから対象の異変に関する情報が取得される。この情報および作業対象と従業員の関係をもとに従業員への影響度が推定される。従業員の異変は業務効率に大きな影響を与える。従業員の異変をもたらした要因は記録しておくことが望ましい。従業員の異変としては、例えば、作業の中断、過大なアクティビティ、生体情報が通常と異なること、位置情報（例えば従業員が予定される位置とはことなる場所にいることが検出された）などがある。
【０１２９】
第３の応用例は、自動車の運転を支援するサービスである。自動車に搭載されている制御装置だけでは、運転者が自動車に乗っていないときの状態および状況を把握することができない。そこで、支援装置（例えば図４に示した支援装置４０２）に格納されている支援コンテンツまたは支援アプリが自動車のテレマティクス端末にダウンロードされる。これにより、テレマティクス端末は、運転中の運転者を支援し、運転者の情報を車両制御装置に通知することができる。テレマティクス端末は、運転者の状態を示す情報を、自動車に搭載されたドライバモニタカメラまたは生体情報センサ、運転者に装着されたウェアラブル端末またはスマートウォッチ、スマートフォンなどから取得することができる。支援アプリは、運転者が自動車に乗る前に検出された状態および状況を把握することができる。支援アプリは、運転者が状態Ａから状態Ｂに変化した要因を推定し、推定結果に基づき運転を支援することができる。
【０１３０】
第４の応用例は、家や外出先（例えば、勤務先、学校、宿泊施設）における人の活動を支援するサービスである。人に影響を与える要因は、多くのシーンに存在する。例えば、温度、湿度、気圧、騒音、異臭などの家の環境要因は、人に大きな影響を与える。異常な低温または高温は特に影響が大きい。このような環境要因をセンサで検出して記録することで、環境要因の人に対する影響度を推定することができる。また、空調装置などから、環境要因の詳細な情報を取得することができるようにすれば、環境要因の影響度を詳細に把握することが可能になる。家に関する情報としては、例えば、セキュリティシステムに含まれる防犯センサから取得することができる。さらに、人は、家族（例えば、親、子供、配偶者）やペットに関する情報またはニュース情報などに関心があり、これらから影響を受ける。留守中のペットの状態について気がかりであることが多く、ペットの状態を人に通知することは、安心感につながる。また、ニュース配信サービスなどへの配信依頼情報を用いることで、人の関心事項を特定することができる。個人ごとに関心事項を判定する条件をあらかじめ設定することで、個人に与えるニュースの影響度を推定することが可能である。
【０１３１】
以上に示したように、特定の人に影響を与える要因は、多くのシーンで存在する。従来の分野ごとのサービスでは、何が現在の状態に影響を与えているかが分からないことが多い。以上のように、システムを構成することで、要因の見落としまたは要因の誤判定を抑制することができる。
【０１３２】
次に、対象が機械である場合の応用例について説明する。本実施形態に係る要因推定システムは、対象が機械である場合にも、対象が人である場合と同じように対応することができる。例えば、人が機械を操作する場合、機械にとってその人が環境の一部となる。
【０１３３】
対象が自動車である場合、支援アプリは、対象が人である場合に説明したものと同様にして、自動車に大きな影響を与える運転者の情報を取得することができる。支援アプリは、自動車の制御装置から自動車の状態、走行履歴、走行中の環境に関する情報を取得することができる。また、支援アプリは、外部から、道路、天候、地震などに関する情報を取得することができる。要因推定システムは、これらの情報を用いて学習を行うことによって、要因を推定する能力を獲得することができる。
【０１３４】
対象が加工装置である場合、加工装置に関する状況の情報は、その周囲にある装置から取得することができる。加工装置は、周囲にある装置およびネットワークを介して接続された装置の影響を受ける。これは、要因推定システムから見ると、人が環境の影響を受ける場合と同様である。従って、ある状態となった要因を推定する能力を学習によって獲得することが可能である。
【０１３５】
以上のように、本実施形態に係る要因推定システムでは、状態分類学習装置が、対象の状態に関するデータ（状態情報ベクトル）を分類する学習を行うことで対象の状態を分類する能力を獲得し、獲得した能力を他の装置で実施するための状態分類学習結果を生成し、この状態分類学習結果が要因推定装置のニューラルネットワークに適用される。これにより、対象の状態を分類する能力を要因推定装置に獲得させることができる。さらに、状況分類学習装置が、対象の状況に関するデータ（状況情報ベクトル）を分類する学習を行うことで対象の状況を分類する能力を獲得し、獲得した能力を他の装置で実施するための状況分類学習結果を生成し、この状況分類学習結果が要因推定装置のニューラルネットワークに適用される。これにより、対象の状況を分類する能力を要因推定装置に獲得させることができる。要因推定装置は、対象の状態を分類することで、対象が状態Ａになったことおよび状態Ｂになったことを検出し、対象の状況を分類することで、対象が事前状態Ａから事後状態Ｂに変化するまでの期間における対象の状況を検出する。要因推定装置は、状態Ａから状態Ｂに変化する期間における状況を示す状況変化パターンを含む状況分類履歴を取得し、状況分類履歴が検出された状況と一致する状況を示す状況変化パターンを含む場合に、検出された状況を要因と決定する。これにより、結果をもたらした要因を推定することが可能となる。
【０１３６】
本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【０１３７】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【０１３８】
（付記１）
ハードウェアプロセッサと、
前記ハードウェアプロセッサに接続されたメモリと、
を具備し、
前記ハードウェアプロセッサは、
対象についての情報を受け付け、
前記受け付けた情報の中から状態情報を抽出し、
前記対象のうちの第１の対象についての所定の状態を特定し、
前記抽出された状態情報であって前記所定の状態に対応する状態情報の入力を受けて、当該所定の状態を分類し、
前記受け付けた情報の中から状況情報を抽出し、
前記所定の状態に至るまでの状況を特定し、
前記抽出された状況情報であって前記特定された状況に対応する状況情報の入力を受けて、当該特定された状況を分類し、
前記所定の状態の分類結果と前記前記特定された状況の分類結果とに基づいて、前記所定の状態に至る要因となった状況を推定する
ように構成された、要因推定装置。
【０１３９】
（付記２）
少なくとも１つのハードウェアプロセッサを用いて、対象についての情報を受け付けることと、
少なくとも１つのハードウェアプロセッサを用いて、前記受け付けた情報の中から状態情報を抽出することと、
少なくとも１つのハードウェアプロセッサを用いて、前記対象のうちの第１の対象についての所定の状態を特定することと、
少なくとも１つのハードウェアプロセッサを用いて、前記抽出された状態情報であって前記所定の状態に対応する状態情報の入力を受けて、当該所定の状態を分類することと、
少なくとも１つのハードウェアプロセッサを用いて、前記受け付けた情報の中から状況情報を抽出することと、
少なくとも１つのハードウェアプロセッサを用いて、前記所定の状態に至るまでの状況を特定することと、
少なくとも１つのハードウェアプロセッサを用いて、前記抽出された状況情報であって前記特定された状況に対応する状況情報の入力を受けて、当該特定された状況を分類することと、
少なくとも１つのハードウェアプロセッサを用いて、前記所定の状態の分類結果と前記特定された状況の分類結果とに基づいて、前記所定の状態に至る要因となった状況を推定することと、
を具備する要因推定方法。
【符号の説明】
【０１４０】
４００…要因推定システム、４０１…利用者端末装置、４０２…支援装置、４０３…対象情報データベース装置、４０４…学習データ生成システム、４０５…対象情報取得装置、４０６…対象情報センサ装置群、４０７…学習データベース装置、４０８…状態分類学習装置、４０９…状況分類学習装置、４１０…除外状況学習装置、４１１…要因推定装置、４１２…ネットワーク、５００…コンピュータ、５０１…ユーザインタフェース、５０２…表示装置、５０３…キーボード、５０４…マウス、６００…サーバ型コンピュータ、６０１…ＣＰＵ、６０２…ＲＯＭ、６０３…ＲＡＭ、６０４…記憶装置、６０５…入出力部、６０６…通信部、６０７…バス、７０１…通信部、７０２…支援ユーザインタフェース部、７０３…学習依頼情報取得部、７０４…対象監視起動部、７０５…学習プログラム起動部、７０６…外部プログラム起動部、７０７…要因推定制御部、７０８…要因推定結果出力部、８０１…通信部、８０２…対象情報ＤＢ、８０３…状態情報ＤＢ、８０４…状況情報ＤＢ、９０１…通信部、９０２…状態情報抽出装置、９０３…状況情報抽出装置、９０４…除外状況情報抽出装置、１００１…通信部、１００２…指示部、１００３…対象情報取得部、１００４…対象情報記憶部、１１００…コンピュータ、１１０１…ＣＰＵ、１１０２…ＲＯＭ、１１０３…ＲＡＭ、１１０４…記憶装置、１１０５…センサ部、１１０６…入出力部、１１０７…通信部、１１０８…バス、１２００…サーバ型コンピュータ、１２０２…ＣＰＵ、１２０３…ＲＯＭ、１２０４…ＲＡＭ、１２０５…記憶装置、１２０６…入出力部、１２０７…通信部、１３０１…通信部、１３０２…状態分類学習制御部、１３０３…ニューラルネットワーク、１３０４…学習結果抽出部、１３０５…学習結果出力部、１４００…ニューラルネットワーク、１４０１…ニューラルネットワーク入力部、１４０２…深層ニューラルネットワーク、１４０３…ニューラルネットワーク出力部、１５０１…通信部、１５０２…状況分類学習制御部、１５０３…ニューラルネットワーク、１５０４…学習結果抽出部、１５０５…学習結果出力部、１６０１…通信部、１６０２…除外状況学習制御部、１６０３…ニューラルネットワーク、１６０４…学習結果抽出部、１６０５…学習結果出力部、１７０１…通信部、１７０２…対象情報入力部、１７０３…状態情報抽出部、１７０４…状態特定部、１７０５…状態分類部、１７０６…状態分類学習結果設定部、１７０７…状況情報抽出部、１７０８…状況特定部、１７０９…状況分類部、１７１０…状況分類学習結果設定部、１７１１…要因推定部、１７１２…要因推定結果出力部。
【図１】
2018147407.tif 000003
【図２】
2018147407.tif 000004
【図３】
2018147407.tif 000005
【図４】
2018147407.tif 000006
【図５】
2018147407.tif 000007
【図６】
2018147407.tif 000008
【図７】
2018147407.tif 000009
【図８】
2018147407.tif 000010
【図９】
2018147407.tif 000011
【図１０】
2018147407.tif 000012
【図１１】
2018147407.tif 000013
【図１２】
2018147407.tif 000014
【図１３】
2018147407.tif 000015
【図１４】
2018147407.tif 000016
【図１５】
2018147407.tif 000017
【図１６】
2018147407.tif 000018
【図１７】
2018147407.tif 000019
【図１８】
2018147407.tif 000020
【図１９】
2018147407.tif 000021
【図２０】
2018147407.tif 000022
【図２１】
2018147407.tif 000023
【図２２】
2018147407.tif 000024
【図２３】
2018147407.tif 000025