(57)【要約】【課題】非同期的に取得されるセンシング情報を保持し、時間経過に応じて適切に変化させて非同期的に取得されるセンシング情報を集約した現状推定を実現する。【解決手段】センサ３００からの観測値を受信した確率推論装置１００は、観測値テーブル１５０に受信データを受信時刻とともに保存する。確率推論装置１００は、観測値テーブル１５０から観測値をその受信時刻とともに取り出し、観測値編集機能部１６０が受信時刻から現在時刻までの経過時間と、観測対象の事前情報がない場合の生起確率とを用いて、観測値を編集する。この観測値を確率推論機能部１７０が受信し、ベイジアンネットワーク等の手法を用いて非観測値を確率推論する。【選択図】  図１
2010198222.tif 000002
【特許請求の範囲】
【請求項１】
定められた事象に対応するセンサから通知される観測値を取得する観測値取得機能部と、
前記観測値と、当該観測値を取得した受信時刻とを対応付けて記憶する観測値記憶部と、
前記観測値の受信時刻と現在時刻との差に基づいて、現在時刻における前記事象の生起確率を示す擬似観測値を算出する観測値編集機能部と、
前記観測値編集機能部が算出した前記擬似観測値に基づいて、前記擬似観測値を持たない事象の生起確率を推定する確率推論機能部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記確率推論機能部は、ベイジアンネットワークを用いて前記擬似観測値を持たない事象の生起確率を推定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記観測値が未観測である場合の前記事象の生起確率を示す事前確率が記憶される事前確率記憶部と、
前記事象が生起し続ける平均時間を保持する観測値継続時間記憶部と、を備え、
確率推論機能部は、前記観測値の受信時刻と現在時刻との差と、前記事前確率と、前記平均時間とに基づいて、前記事象の生起確率を前記事前確率に経時的に近づけるように前記擬似観測値を算出する
ことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記生起確率の通知先を示す情報を受信し、当該通知先に前記生起確率を通知する推論結果提供機能部
を備えることを特徴とする請求項１から３の何れかに記載の情報処理装置。
【請求項５】
前記確率推論機能部が推定した前記生起確率を、予め定められた間隔毎に、定められた通知先に通知する推論制御部
を備えることを特徴とする請求項１から４の何れかに記載の情報処理装置。
【請求項６】
アプリケーションと、センサと、前記アプリケーションと前記センサとの間に設けられた情報処理装置とからなる情報処理システムであって、
前記センサは、
定められた事象に対応する観測値を生成して情報処理装置に通知し、
前記情報処理装置は、
定められた事象に対応するセンサから通知される観測値を取得する観測値取得機能部と、
前記観測値と、当該観測値を取得した受信時刻とを対応付けて記憶する観測値記憶部と、
前記観測値の受信時刻と現在時刻との差に基づいて、前記現在時刻における前記事象の生起確率を示す擬似観測値を算出する観測値編集機能部と、
前記観測値編集機能部が算出した前記擬似観測値に基づいて、前記擬似観測値を持たない事象の生起確率を推定する確率推論機能部と、を備え、
前記アプリケーションは、
前記情報処理装置の前記確率推論機能部によって推定された前記生起確率を受信する
ことを特徴とする情報処理システム。
【請求項７】
センサから受信する観測値と、当該観測値を取得した受信時刻とを対応付けて記憶する観測値記憶部を備えた情報処理装置の情報処理方法であって、
定められた事象に対応するセンサから通知される観測値を取得し、
センサから取得した前記観測値と、当該観測値を取得した受信時刻とを対応付けて前記観測値記憶部に記憶させ、
前記観測値の受信時刻と現在時刻との差に基づいて、前記現在時刻における前記事象の生起確率を示す擬似観測値を算出し、
算出した前記擬似観測値に基づいて、前記擬似観測値を持たない事象の生起確率を推定する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センシング情報を用いてユーザの現状を推定する情報処理装置、情報処理システム、情報処理方法に関するもので、特に非同期的にセンサから送信される観測値から、ユーザの現状を確率的に推論する装置に関する。
【背景技術】
【０００２】
コンテキストアウェアアプリケーションにおいて複数のセンサから通知される観測値を用いてユーザの状況・状態を推定する技術として、特許文献１には、ユーザおよび環境に付設されたセンサを用いて、「体温」や「発汗」、「室温」といった観測値を取得し、取得データの組合せと対応する「眠い」、「体調不良」といった心理状態の生起確率をデータベースから取得するものが記載されている。また、特許文献２には、センサネットワークに属するセンサから観測値を取得し、取得した観測値から特異パターンの学習を行うとともに、学習結果に基づき、この観測値から特異パターンを識別し、警告を行うことを実現するものが記載されている。特許文献２では、これらの識別機能においては、ベイジアンネットワークを用いた推論を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３２６１８４号公報
【特許文献２】特開２００８−２６９２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、心理状態推定を行うのに、観測値を特定する事象識別情報群をキーとして、心理状態推定テーブルから、該当する心理状態を取得している。しかしながら、この手法を用いると、特定のセンサと連携して推定するのではなく、多様なセンサから取得する観測値の組み合わせに基づいて事象の生起確率を推定する場合には、ある時点において観測値が取得不可能なセンサが存在する場合、多数の組合せに対応するだけのテーブルレコードを設定する必要があり、現実的な推定手法とならない。
【０００５】
一方、特許文献２では、推定にベイジアンネットワークを用いている。ベイジアンネットワークでは、１つのベイジアンネットワークを構築すれば、その中のどのノード（センサ）から観測値が取得できたかによらず、同じネットワークを用いて推定することができる。このため、特許文献１のような、センサの組合せの数だけ設定項目が必要というような問題は生じない。
【０００６】
しかしながら、多様なセンサと連携して推定する場合には、センサからの情報取得可否だけが問題ではなく、その非同期性が問題となる。センサは通常推定機能とは独立して動作しており、さらに数が多いため、それらセンサを一元的に制御する装置を設置することも困難である。そのためセンサからの観測値を一度に得ることはできず、センサ任意での情報通知となる。
【０００７】
一方でベイジアンネットワークは観測値が同時に与えられることを推定の前提にしているため、観測値が得られた際にそのままベイジアンネットワークによる推論を適用していては、たまたま同時に得られた場合を除き、単独の観測値から事象の生起確率を推定することになってしまい、推定精度が大幅に低下する。
【０００８】
上記の問題に鑑み本発明では、非同期的に取得される観測値を、時間経過に応じて適切に変化させ、非同期的に取得されるセンシング情報を集約した現状推定を実現する情報処理装置、情報処理システム、情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、本発明は、定められた事象に対応するセンサから通知される観測値を取得する観測値取得機能部と、観測値と、観測値を取得した受信時刻とを対応付けて記憶する観測値記憶部と、観測値の受信時刻と現在時刻との差に基づいて、現在時刻における事象の生起確率を示す擬似観測値を算出する観測値編集機能部と、観測値編集機能部が算出した擬似観測値に基づいて、擬似観測値を持たない事象の生起確率を推定する確率推論機能部と、を備えることを特徴とする。
【００１０】
また、本発明は、確率推論機能部は、ベイジアンネットワークを用いて擬似観測値を持たない事象の生起確率を推定することを特徴とする。
【００１１】
また、本発明は、観測値が未観測である場合の事象の生起確率を示す事前確率が記憶される事前確率記憶部と、事象が生起し続ける平均時間を保持する観測値継続時間記憶部と、確率推論機能部は、観測値の受信時刻と現在時刻との差と、事前確率と、平均時間とに基づいて、事象の生起確率を事前確率に経時的に近づけるように擬似観測値を算出することを特徴とする。
【００１２】
また、本発明は、生起確率の通知先を示す情報を受信し、通知先に生起確率を通知する推論結果提供機能部を備えることを特徴とする。
【００１３】
また、本発明は、確率推論機能部が推定した生起確率を、予め定められた間隔毎に、定められた通知先に通知する推論制御部を備えることを特徴とする。
【００１４】
また、本発明は、アプリケーションと、センサと、アプリケーションとセンサとの間に設けられた情報処理装置とからなる情報処理システムであって、センサは、定められた事象に対応する観測値を生成して情報処理装置に通知し、情報処理装置は、定められた事象に対応するセンサから通知される観測値を取得する観測値取得機能部と、観測値と、観測値を取得した受信時刻とを対応付けて記憶する観測値記憶部と、観測値の受信時刻と現在時刻との差に基づいて、現在時刻における事象の生起確率を示す擬似観測値を算出する観測値編集機能部と、観測値編集機能部が算出した擬似観測値に基づいて、擬似観測値を持たない事象の生起確率を推定する確率推論機能部と、を備え、アプリケーションは、情報処理装置の確率推論機能部によって推定された生起確率を受信することを特徴とする。
【００１５】
また、本発明は、センサから受信する観測値と、観測値を取得した受信時刻とを対応付けて記憶する観測値記憶部を備えた情報処理装置の情報処理方法であって、定められた事象に対応するセンサから通知される観測値を取得し、センサから取得した観測値と、観測値を取得した受信時刻とを対応付けて観測値記憶部に記憶させ、観測値の受信時刻と現在時刻との差に基づいて、現在時刻における事象の生起確率を示す擬似観測値を算出し、算出した擬似観測値に基づいて、擬似観測値を持たない事象の生起確率を推定することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、ユーザの現状を多数のセンサから観測値を収集して推定する場合において、それぞれのセンサがそれぞれの契機で観測値を生成・通知する場合においても、観測値が通知された時刻と現在時刻から適切な擬似観測値を生成し、生成した擬似観測値を用いて生起確率を推論することで、同期しないセンサからの観測値も用いた高精度な現状推定を可能とする。これによって、センサプロバイダが情報処理装置と独立して存在する場合でも、コンテキストアウェアアプリケーションを実現することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態の情報処理システムの構成を示すブロック図である。
【図２】情報処理システムの実施形態の説明に用いるブロック図である。
【図３】情報処理システムの実施形態の説明に用いるブロック図である。
【図４】ベイジアンネットワークの構成例の説明図である。
【図５】事前確率、観測値継続時間テーブルの説明図である。
【図６】取得間隔テーブルの説明図である。
【図７】本発明の実施形態の情報処理システムの動作説明に用いるシーケンス図である。
【図８】観測値テーブルの説明図である。
【図９】観測値の経時変化の説明に用いるグラフである。
【図１０】推定結果テーブルの説明図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について図面を参照しながら説明する。図１に示すように、本発明の実施形態の情報処理システムは、アプリケーション２００およびセンサ３００と、それらの間に確率推論装置１００を備える。アプリケーション２００とセンサ３００との間では、確率推論装置１００がどのような情報を観測値（提供情報）とするのかという情報を共有しており、センサ３００がその中から「会社にいる」等の観測値を任意のタイミングで確率推論装置１００へ通知する。ここで、観測値には、例えば、観測対象の事象ＩＤや、観測対象から観測された数値データ、観測対象のユーザＩＤなどが含まれる。
【００１９】
これら観測値を受信した確率推論装置１００は、観測値テーブル（ＴＢ）１５０に受信データを受信時刻とともに保存する。確率推論装置１００では、適切な契機において非観測値の推論を以下のように行う。
【００２０】
まず観測値テーブル１５０から観測値をその受信時刻とともに取り出し、観測値編集機能部１６０が受信時刻からの経過時間と、観測対象の事象の事前情報がない場合の生起確率とを用いて現在の生起確率を示す擬似観測値を生成する。この擬似観測値を確率推論機能部１７０が受信し、ベイジアンネットワーク等の手法を用いて非観測値を確率推論し、擬似観測値を生成した事象とは異なる他の事象（擬似観測値を持たない事象）の生起確率を推定し、推定した生起確率を算出する。これによって、アプリケーション２００は多様なセンサ３００から得られた推論結果を受信することができる。またアプリケーション２００は取得周期を、取得間隔テーブル（ＴＢ）１２０により取得間隔を設定することで、定期的に通知を受けることもできる。
【００２１】
以下、図１を参照しながら、本発明の実施の形態について詳細に説明する。ここでは、アプリケーションが提供するサービスの一例として、「位置」や「一緒にいる人」を特定するセンサ３００の存在を前提として、ユーザが今利用したいであろうサービスを「動画をみたい」、「ゲームをしたい」、「音楽をききたい」から推定し、推薦する場合を示す。
【００２２】
なお、図２に示すように、確率推論装置１００が複数存在する形態も考えられる。また、図１では確率推論装置１００とアプリケーション２００、センサ３００がそれぞれの外部に書かれているが、図３に示すように、確率推論装置１００、アプリケーション２００、センサ３００のそれぞれが他の装置を抱える形態も考えられる。本実施形態では、説明の簡略化のため、図１の場合について説明する。
【００２３】
また、本発明のシステムは、本来複数ユーザを収容するものであるが、説明の簡略化のため、以降では１ユーザのみを収容しているものとして述べる。実際のシステム構築においては、送受信される観測値等にユーザＩＤも付与されているものとすれば、複数のユーザを収容することができる。
【００２４】
まず確率推論装置１００の設定について述べる。確率推論装置１００は確率推論機能部１７０を保持し、確率推論機能部１７０でベイジアンネットワークを構築する。この実施形態では、「位置」や「一緒にいる人」からどのサービスを使いたいかを推定するため、図４に示すようなノードを定義し、それらを同図に示すように構造化する（リンクは、ノード間に直接の相関があることを示す）。各ノードには、対応事象が生起／非生起の２値のみを許容するものとする。言い換えると、対応事象が生起する確率のみで各ノードの状態が表現される。
【００２５】
これらのノード（または対応事象）には事象ＩＤが振られており、この実施形態においては、事象ＩＤが対応事象そのものであるとする。例えば「ゲームをしたい」や「音楽をききたい」が事象ＩＤであるとする。ベイジアンネットワーク構築後には、そのネットワークにおいて定義されたノードリストをアプリケーション２００やセンサ３００に通知することで、それらの観測値および推定値（擬似観測値）がそれらとのインタフェースであると規定する。
【００２６】
さらに確率推論装置１００ではベイジアンネットワーク構築後、非同期のセンシング情報取得に対応すべく、ベイジアンネットワークから計算される各ノードの事前確率（ベイジアンネットワークの全てのノード値が未観測の場合の、対応事象の生起確率）を観測値編集機能部１６０内の事前確率テーブル（ＴＢ）１６１に設定するとともに、各ノードの対応事象が生起し続ける平均時間（平均継続時間）を観測値継続時間テーブル（ＴＢ）１６２に保持する。図１では、これら事前確率テーブル１６１及び観測値継続時間テーブル１６２は分かれているが、どちらも事象ＩＤをキーとして保持されるので、例えば図５のように、事前確率と平均継続時間とを１つのテーブルに保持してもよい。
【００２７】
次にセンサ３００の事前準備を説明する。この実施形態で想定されるセンサ３００は、ＧＰＳと近傍端末のセンサであり、これらが「自宅」や「会社」、「友達と一緒」等の観測値を生成する。どちらのセンサも携帯電話に内蔵されていることを想定し、ＧＰＳをもとに観測値通知をするアプリケーションにはどの範囲の緯度経度が「自宅」や「会社」であるかが事前に登録されており、また近傍端末のセンサと対応する観測値通知アプリケーションには、どの端末ＩＤが「友達と一緒」と対応するかが登録されている。これらの登録情報を用いると、携帯電話がセンサ情報から観測値を生成、通知することができるようになる。
【００２８】
次に、アプリケーション２００について説明する。アプリケーション２００では、推薦サービスを決定するために、「音楽をききたい」、「ゲームをしたい」、「動画をみたい」の３つのノードについて、購読予約を確率推論装置１００内の推論結果提供機能部１１０を介して登録する。購読予約には、購読者ＩＤと通知用のＵＲＬ、購読対象の事象ＩＤに加え、状況変化を確認する周期（取得間隔）が含まれ、これら情報が図６に示すように取得間隔テーブル１２０に保持される。なお、この例では、購読者ＩＤ、通知用のＵＲＬ、購読対象の事象ＩＤ、取得間隔を同一のテーブルに構成しているが、データベースを正規化して通知ＵＲＬの列を別テーブルにしてもよい。
【００２９】
以上が事前設定であり、以下では推論時の動作について説明する。なお、確率推論装置１００の動作シーケンスの概略は、図７に示されている。
【００３０】
まず、センサ３００の１つである携帯電話において、ＧＰＳの反応から「会社」が識別されたとする。これを検知した携帯電話内のセンサアプリケーションは、確率推論装置１００内の観測値取得機能部１４０に「会社」を示す観測値を送信する。
【００３１】
「会社」を受信した観測値取得機能部１４０では、受信した観測値と受信時刻（例えば１０：２２：４５）とを対応付けて（ステップＳ１）、図８に示すように、観測値テーブル１５０に保存する（ステップＳ２）。観測値取得機能部１４０ではさらに、推論制御機能部１３０に観測値を受信したことを通知する（ステップＳ３）。
【００３２】
推論制御機能部１３０は、観測値受信の通知を受けると、観測値編集機能部１６０に対して、確率推論を要求し（ステップＳ４）、応答を待つ。
【００３３】
要求を受けた観測値編集機能部１６０では、観測値テーブル１５０から「会社」、「１０：２２：４５」などを取得し（ステップＳ５）、現在時刻（２１：０２：４５とする）までの経過時間３８４００秒と、事前確率テーブル１６１、観測値継続時間テーブル１６２の値（事前確率０．６、平均継続時間４３２００秒）を用いて、観測値を編集し（ステップＳ６）、得られた観測値を確率推論機能部１７０に送信し、推論を要求する（ステップＳ７）。
【００３４】
観測値の編集においては、観測値取得機能部１４０が受信した観測値を、経過時間に応じて事前確率に近づける。例えば「会社」の場合では、事象の生起、終了がどちらも指数分布に従うと考えると、ｔ秒後の観測値を以下のように算出すればよい。
【００３５】
【数１】
2010198222.tif 000003
【００３６】
とすると、以下式（１）が成り立つ。
【００３７】
【数２】
2010198222.tif 000004
【００３８】
そこで、上記式（１）を解いて、ｔ秒後の観測値ｐ（ｔ）を以下式（２）により算出すればよい。
【００３９】
【数３】
2010198222.tif 000005
【００４０】
また、この際、任意の時間において上式から計算される値を観測値としてしまうと、事前確率とほぼ同じ数値を観測値として扱ってしまう。上式が事前確率に漸近するのは、やがて観測されたとはいえない状況になることを示している一方で、それが観測値として扱われると推定精度が低下する。よって、平均継続時間あたりまでは上式によって観測値を生成し、その後は観測値を削除し、観測値なしとして扱ってもよい。これら観測値の経時変化を図９に示す。
【００４１】
編集後の観測値を受信した確率推論機能部１７０では、受信した値を対応するノードの観測値として（図８の情報と現在時刻（２１：０２：４５）から計算すると、「会社」ノードの生起確率が０．６４、「自宅」ノードの生起確率が０．９６となる）、残るノードの生起確率をベイジアンネットワーク上で確率伝播法等、通常の手法により計算する（ステップＳ８）。計算結果は、推論結果テーブル（ＴＢ）１８０に図１０のように保持され（ステップＳ９）、その後推論完了が観測値編集機能部１６０を介して（ステップＳ１０）、推論制御機能部１３０へ通知される（ステップＳ１１）。
【００４２】
推論完了通知を受けた推論制御機能部１３０では、推論結果提供機能部１１０に対し、推論結果をアプリケーション２００ヘ提供するように要求する（ステップＳ１２）。この要求を受け、推論結果提供機能部１１０では、取得間隔テーブル１２０から、通知ＵＲＬと事象ＩＤのペアを取得し（ステップＳ１３）、当該ノードの状況を通知ＵＲＬに通知する（ステップＳ１４）。ここでは図１０の中で生起確率の高い「動画をみたい」が推薦アプリケーションに通知される。
【００４３】
上記通知「動画をみたい」を受け、アプリケーション２００の中の推薦サービスを行うアプリケーションとして、ユーザに対し動画サービスの推薦を行えば、現状に応じた推薦が実現される。さらにセンサ３００から「友達が一緒」が通知された場合には、上記と同様の過程を通して「音楽をききたい」がアプリケーションに通知されるなどされ、推薦サービスが変化する。
【００４４】
なお、以上ではセンサ３００からの観測値通知によって推論が実施されたが、実際には時間経過とともに推論で用いる観測値が変更するため、推論制御機能部１３０は観測値の取得時以外にも推論を実施する。例えば取得間隔テーブル１２０の「取得間隔」の最小値に基づき、前回の推論時からその時間が経過すれば推論を実施し、以上と同様にアプリケーション２００に通知してもよい。事象ＩＤが観測値取得機能部１４０によって取得されていない場合でも、取得間隔に応じて観測値編集機能部１６０および確率推論機能部１７０は動作される。
【００４５】
また、センサ３００から受信した観測値は生起確率が１であるとして処理していたが、実際には事象ＩＤとともに生起確率を受信してもよい。この場合についても、観測値の編集機能へは変更がない。
【００４６】
最後に、観測値継続時間テーブル１６２の平均継続時間の値に特別な値（例えば０）を用意し、その値が設定されていた場合には、観測値編集機能部１６０による観測値の編集時、その値を確率的に変動させる必要のない値と判断し、観測値テーブルの値をそのまま確率推論機能部１７０に入力してもよい。
【００４７】
以上説明したように、本発明の実施の形態では、ユーザの現状を多数のセンサから観測値を収集して推定する場合において、それぞれのセンサがそれぞれの契機で観測値を生成・通知する場合においても、観測値が通知された時刻と現在時刻から適切に観測値を編集し、編集したものを用いて推論することで、同期しないセンサからの観測値も用いた高精度な現状推定を可能とする。
【００４８】
つまり、既存の確率推論においては、非観測値の確率推論に用いる観測値について、観測値自体を編集することはなく、観測値を利用するか／破棄するかの選択のみが行われる。非同期的に動作するセンサに話を当てはめるならば、前回の観測値を適用するか／非観測値として推論対象とするかとなってしまう。しかしながら、センシングデータは刻一刻とかわるものであるため、この取り扱いのままでは時間変動とともに推定精度の低下を招く。
【００４９】
そこで本発明の実施の形態においては、推論機能に観測値を入力する前に、観測値を確率論的に変化させ、時間変化とともに非観測時の値に近づける機能を設置する。具体的には、生起確率が０．４のある事象が観測された際、観測時はその事象が確率１で生起したとして推論機能に入力するが、時間を経るにつれて、より０．４に近い生起確率として推論機能に入力するようにする。これによって、非同期的に取得されるセンシングデータを集約しつつ、さらに直近のセンシング情報に重きを置いて集約することでより現在の状態に近い推論を実現できる。
【００５０】
本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【符号の説明】
【００５１】
１００  確率推論装置
１１０  推論結果提供機能
１２０  取得間隔テーブル
１３０  推論制御機能
１４０  観測値取得機能部
１５０  観測値テーブル
１６０  観測値編集機能部
１６１  事前確率テーブル
１６２  観測値継続時間テーブル
１７０  確率推論機能
１８０  推論結果テーブル
２００  アプリケーション
３００  センサ
【図１】
2010198222.tif 000006
【図２】
2010198222.tif 000007
【図３】
2010198222.tif 000008
【図４】
2010198222.tif 000009
【図５】
2010198222.tif 000010
【図６】
2010198222.tif 000011
【図７】
2010198222.tif 000012
【図８】
2010198222.tif 000013
【図９】
2010198222.tif 000014
【図１０】
2010198222.tif 000015