JP2011048435A - 推定論理構築支援システム、ユーザ行動推定装置、ユーザ行動推定方法およびユーザ行動推定プログラム - Google Patents

推定論理構築支援システム、ユーザ行動推定装置、ユーザ行動推定方法およびユーザ行動推定プログラム Download PDF

Info

Publication number
JP2011048435A
JP2011048435A JP2009193996A JP2009193996A JP2011048435A JP 2011048435 A JP2011048435 A JP 2011048435A JP 2009193996 A JP2009193996 A JP 2009193996A JP 2009193996 A JP2009193996 A JP 2009193996A JP 2011048435 A JP2011048435 A JP 2011048435A
Authority
JP
Japan
Prior art keywords
user
pair
node
estimation
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009193996A
Other languages
English (en)
Inventor
Yuichi Nakatani
裕一 中谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009193996A priority Critical patent/JP2011048435A/ja
Publication of JP2011048435A publication Critical patent/JP2011048435A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

【課題】ベイジアンネットワーク構築時の設定項目数を低減する。
【解決手段】推定機能提供サーバ100は、ユーザの行動の推定論理としてのベイジアンネットワークにおいてノード対の各ノードIDと、2ノード間の条件付確率を示すペア条件付確率とをユーザID別に関連付けたユーザ情報を保持する初期ペア相関テーブル111と、初期ペア相関テーブル111において、所定ノード対に関して保持されたペア条件付確率の情報を有していないユーザがある場合に、そのペア条件付確率を推定し、算出されたペア条件付確率により初期ペア相関テーブル111を補完することで推定ペア相関テーブル113を生成する協調フィルタリング部130と、推定ペア相関テーブル113に格納されたペア条件付確率を用いてユーザID毎に条件付確率表を計算し、ユーザ別のベイジアンネットワークのグラフ構造を構築する確率グラフ構築手段114とを備える。
【選択図】図1

Description

本発明は、ベイジアンネットワークによりユーザの行動を推定する技術、および、そのベイジアンネットワークの構築支援を行う技術に関するものである。
従来、ユーザが必要とするサービスを推定し、携帯電話の画面等へ提示することで、ユーザの行動支援を行うシステムが存在する。それらのシステムにおいては、ベイジアンネットワークを用いてユーザの嗜好や状況を推定することで、推定結果に応じて提示するサービスを更新しているものが多い。このようなシステムの一例として、特許文献1,2に、ベイジアンネットワークによる推定を行うシステムが開示されている。
特許文献1,2に記載の技術は、いずれも、センサネットワークから特異パターンを検出するシステムに関するものであり、この特異パターンに、ユーザの嗜好や状況を対応付けることでユーザの行動支援にも用いることができる。ここで、特異パターンは、センサネットワークに属するセンサから取得した観測値をベイジアンネットワークに集約すれば、容易に抽出することができる。このベイジアンネットワークは、センサネットワークから取得された観測値群を用いて機械的に学習するか、推定対象に関する専門家が手動で構築するかのいずれかの方法で作成される。
特開2007−279887号公報 特開2008−269215号公報
ユーザの行動に対応付けられるユーザの嗜好や状況等には、センサからの観測値等が同じであっても、ユーザ毎に推定すべき事象が異なるものが存在する。例えば、加速度センサから、ユーザの移動状況が「停止中」であるという観測値が得られた場合を想定する。あるユーザにとっては、移動する活動を行わないときに、例えば営業の仕事が「暇」になり、別のユーザにとっては、移動する活動を行わないときに、例えばデスクワークの仕事が「多忙」になる、といったことが実際には生じる。つまり、加速度センサから「停止中」であるという観測値が得られた場合、ユーザによっては「暇」や「多忙」等状況が異なる。
さらに、ユーザが例えば好きなことに時間を費やすことができるときに(暇な状況のときに)、どのようなサービスを求めるかということについては、ユーザの嗜好によって、当然異なる。例えば、暇なときに、あるユーザは「動画をみたい」という要求を感じ、別のユーザは「情報収集をしたい」という要求を感じる場合がある。よって、ユーザの状況や嗜好を推定するベイジアンネットワークは、ユーザ毎に作成する必要が生じる。
しかしながら、従来の技術では、いずれも、ベイジアンネットワークは、1)センサ観測値群を用いた学習か、2)推定対象に関する専門家がすべて手動で構築するか、により作成されるため、1)、2)のいずれの作成法も以下のような理由から、ベイジアンネットワークをユーザ毎に構築することが困難である。
1)ベイジアンネットワークは、ノード間のリンク構造と、因果関係の強度を表すパラメータの決定によって構築される。ノードは、ユーザ状況やセンシング情報等と対応している。リンクは、ノード間の直接的な因果関係を表している。ノード間のリンクやパラメータの項目に設定すべき候補の数は、ノードの数に対して組合せが爆発的に増加する。そのため、ベイジアンネットワークを、観測値からの学習によって構築するためには、膨大な数の観測値が必要になってしまう。その結果、ユーザ毎のベイジアンネットワーク構築を、学習によって実現することは困難である。
2)手動でベイジアンネットワークを構築する場合には、システム管理者等は、推定対象の専門知識によって、リンクやパラメータを効率的に決定することは可能である。しかし、ベイジアンネットワークをユーザ毎に構築する場合には、前記のように設定すべき項目が多いため、実現が困難である。
さらに、行動支援サービス等を受けるユーザ本人が、自らのベイジアンネットワークを構築しようとしても、前記のように、設定すべき項目が多いため、通常は、実現が困難である。そこで、協調フィルタリング技術の適用によってユーザ入力数を低減する試みが考えられる。この協調フィルタリング技術は、ユーザによる入力等を低減する代表的な手法であって、他ユーザの入力を用いて入力を補完する技術である。また、協調フィルタリング技術は、ユーザ入力を互いに比較して反映できる場合に適用することができる。
しかしながら、ベイジアンネットワークの設定項目は、リンクの選択と、その因果関係の強度を示すパラメータであり、リンク選択によってノード間に生じる構造に依存して設定項目や設定項目数は変動する。つまり、ユーザによって設定項目が異なってしまう。そのため、ベイジアンネットワークを構築しようとするときに、そのままでは、ユーザ入力を互いに比較して反映することができないため、協調フィルタリング技術を適用することができない。
そこで、本発明では、前記した問題を解決し、ベイジアンネットワークを構築するときの設定項目数を低減することのできる技術を提供することを目的とする。
前記目的を達成するために、本発明に係るユーザ行動推定装置は、ユーザ端末を使用するユーザの行動の推定論理としてのベイジアンネットワークを構築するユーザ行動推定装置であって、前記ベイジアンネットワーク上において2つのノードからなるノード対の各ノードIDと、当該2つのノード間の条件付確率を示すペア条件付確率とをユーザID別に関連付けたユーザ情報を保持する初期ペア相関テーブルと、前記初期ペア相関テーブルに格納された情報と、当該格納された情報を用いて補完された情報とを合わせて保持する推定ペア相関テーブルと、前記初期ペア相関テーブルにおいて、前記ユーザ情報同士を比較し、所定のノード対に関して保持された前記ペア条件付確率の情報を有していないユーザがある場合に、当該ノード対に関して当該ユーザのペア条件付確率を、前記所定のノード対に対して保持された前記ペア条件付確率を用いて算出し、前記算出されたペア条件付確率により前記初期ペア相関テーブルを補完することで前記推定ペア相関テーブルを生成する協調フィルタリング手段と、前記推定ペア相関テーブルに格納されたペア条件付確率を用いてユーザID毎に条件付確率表を計算し、ユーザ別の前記ベイジアンネットワークのグラフ構造を構築する確率グラフ構築手段と、を備えることを特徴とする。
また、前記目的を達成するために、本発明に係るユーザ行動推定方法は、ユーザ端末を使用するユーザの行動の推定論理としてのベイジアンネットワークを構築するユーザ行動推定装置によるユーザ行動推定方法であって、前記ユーザ行動推定装置が、前記ベイジアンネットワーク上において2つのノードからなるノード対の各ノードIDと、当該2つのノード間の条件付確率を示すペア条件付確率とをユーザID別に関連付けたユーザ情報を保持する初期ペア相関テーブルと、前記初期ペア相関テーブルに格納された情報と、当該格納された情報を用いて補完された情報とを合わせて保持する推定ペア相関テーブルとを含んで記憶する記憶手段と処理手段とを有し、前記処理手段により、前記初期ペア相関テーブルにおいて、前記ユーザ情報同士を比較し、所定のノード対に関して保持された前記ペア条件付確率の情報を有していないユーザがある場合に、当該ノード対に関して当該ユーザのペア条件付確率を、前記所定のノード対に対して保持された前記ペア条件付確率を用いて算出し、前記算出されたペア条件付確率により前記初期ペア相関テーブルを補完することで前記推定ペア相関テーブルを生成するステップと、前記推定ペア相関テーブルに格納されたペア条件付確率を用いてユーザID毎に条件付確率表を計算し、ユーザ別の前記ベイジアンネットワークのグラフ構造を構築するステップと、を含んで実行することを特徴とする。
かかる構成のユーザ行動推定装置、または、かかる手順のユーザ行動推定方法によれば、ユーザ行動推定装置は、入力初期状態としての初期ペア相関テーブルにおいて、ユーザ毎に2ノード間の条件付確率を示すペア条件付確率を保持し、これを補完して作成した推定ペア相関テーブルにおいて、2ノード毎に相互の条件付確率を保持した状態から、ユーザ毎のベイジアンネットワークを作り上げることができる。ここで、2ノード毎の相互の条件付確率は、全ユーザで共通的に使用可能な基盤データであるため、ユーザ毎に比較や反映が可能である。このユーザ行動推定装置は、2ノード毎の条件付確率を用いることで協調フィルタリング技術の適用を実現し、設定項目数を低減する。
また、本発明に係るユーザ行動推定装置は、前記ベイジアンネットワーク上において2つのノードからなるノード対の各ノードIDと、当該2つのノード間の条件付確率を示すペア条件付確率とを、前記ユーザ端末から受信し、前記初期ペア相関テーブルに格納するペア相関受信手段をさらに備えることが好ましい。
かかる構成によれば、ユーザ行動推定装置は、ペア相関受信手段によって、行動支援サービス等を受けるユーザ本人から、設定項目として、ノードIDとペア条件付確率とを受信する。したがって、ユーザ行動推定装置は、複数ユーザから受信した設定項目を互いに比較して反映することにより、ベイジアンネットワークの設定項目数を低減できる。
また、本発明に係るユーザ行動推定装置は、前記ベイジアンネットワークのノードの示す所定事象を観測するセンサ端末から、前記ユーザIDと、前記ベイジアンネットワーク上のノードのノードIDとを受信し、前記受信した各情報と、受信時刻とを対応づけたセンシング情報テーブルを生成する推定実施手段と、前記センシング情報テーブルに保持される情報を用いて、前記ベイジアンネットワーク上において2つのノード間の条件付確率を示すペア条件付確率を推定し、前記推定したペア条件付確率を、前記初期ペア相関テーブルに格納するペア相関学習手段と、をさらに備えることが好ましい。
かかる構成によれば、ユーザ行動推定装置は、推定実施手段によって、センサ端末から、設定項目として、ノードIDとユーザIDとを受信してセンシング情報テーブルとして保存する。これらの保存情報は、ユーザの嗜好や状況に対応付けられたセンシング結果である。そして、ユーザ行動推定装置は、ペア相関学習手段によって、センシング情報テーブルからペア条件付確率を推定し、初期ペア相関テーブルに格納する。したがって、ユーザ行動推定装置は、複数ユーザに対応した複数のセンサ端末から受信した設定項目を互いに比較して反映することにより、ベイジアンネットワークの設定項目数を低減できる。
また、本発明に係るユーザ行動推定装置は、前記推定実施手段を備える構成において、前記推定実施手段が、前記センシング情報テーブルにユーザ別に保持された情報と、前記確率グラフ構築手段によって生成されたユーザ別のベイジアンネットワークのグラフ構造および条件付確率表とを用いて、前記ユーザ別のベイジアンネットワークにおいてユーザへ提供するサービスについての事象を示すノードに対応する確率値を推定し、前記サービスについて推定した結果を、当該サービスを提供可能な外部端末に通知することが好ましい。
かかる構成によれば、ユーザ行動推定装置は、予めユーザ毎に作成したベイジアンネットワークに基づくユーザ行動の論理において、センシング情報テーブルにユーザ別に保持された情報を用いることでユーザの現在状況を決定し、ユーザが現在求めているであろうサービスを推定し、さらに推定結果を外部端末に通知する。これにより、当該ユーザは、外部端末から提供されるサービスを享受することができる。
また、本発明に係るユーザ行動推定装置は、前記協調フィルタリング手段が、前記初期ペア相関テーブルの格納情報を前記ユーザID毎に整理し、統計的な手法により2人のユーザの相関を推定し、前記推定により得られた、2つの前記ユーザIDの組合せと、対応するユーザ間の相関とを保持するユーザ相関テーブルを作成するユーザ相関推定手段と、前記初期ペア相関テーブルと、前記ユーザ相関テーブルとを参照し、所定のノード対に関して第1のユーザが前記ペア条件付確率の情報を有し、第2のユーザが前記ペア条件付確率の情報を有していない場合に、当該ノード対に関して第1のユーザから取得したペア条件付確率を、前記第1のユーザと前記第2のユーザとの相関で重みをつけ、前記第2のユーザのペア条件付確率を推定し、前記推定ペア相関テーブルを生成するペア相関推定手段と、を備えることが好ましい。
かかる構成によれば、ユーザ行動推定装置は、協調フィルタリング手段において、第1段階として、初期ペア相関テーブルの格納情報に基づいてユーザ相関テーブルを作成し、第2段階として、初期ペア相関テーブルとユーザ相関テーブルとを用いて、ペア条件付確率を補完するので、推定ペア相関テーブルを容易に生成することができる。
また、本発明に係るユーザ行動推定装置は、前記ユーザ相関推定手段を備える構成において、前記ユーザ相関推定手段が、前記統計的な手法として、前記ノード対毎に、前記ペア条件付確率の平均値および標準偏差を計算し、前記計算結果を用いて、前記2人のユーザの相関を推定することが好ましい。
かかる構成によれば、ユーザ行動推定装置は、初期ペア相関テーブルの情報を補完するためにユーザ相関テーブルを作成する際に、ノード対のペア条件付確率の平均値および標準偏差を用いるので、任意の2人のユーザの相関を正確に推定することができる。
また、前記目的を達成するために、本発明の第1の観点に係る推定論理構築支援システムは、ユーザの行動の推定論理としてのベイジアンネットワークの構築支援を行う推定論理構築支援システムであって、前記ペア相関受信手段を有するユーザ行動推定装置と、前記ユーザ行動推定装置に対して前記ペア条件付確率を当該ノード対の各ノードIDと共に送信する前記ユーザ端末と、を備えることを特徴とする。
かかる構成によれば、推定論理構築支援システムにおいて、ユーザ端末がペア条件付確率をノードIDと共にユーザ行動推定装置に送信し、ユーザ行動推定装置が受信したペア条件付確率やノードIDを初期ペア相関テーブルに格納することができる。したがって、推定論理構築支援システムは、複数ユーザが送信した設定項目を、ユーザ行動推定装置が互いに比較して反映すること、ベイジアンネットワークの設定項目数を低減することができる。
また、前記目的を達成するために、本発明の第2の観点に係る推定論理構築支援システムは、ユーザの行動の推定論理としてのベイジアンネットワークの構築支援を行うと共に、前記ユーザが求めるサービスを推定する推定論理構築支援システムであって、前記サービスについて推定する推定実施手段を有するユーザ行動推定装置と、前記ユーザ行動推定装置に対して前記ペア条件付確率を当該ノード対の各ノードIDと共に送信する前記ユーザ端末と、前記ユーザ行動推定装置に対して前記ノードIDおよび前記ユーザIDを送信する前記センサ端末と、前記ユーザ行動推定装置から、ユーザへ提供するサービスについての事象を示すノードに対応する確率値の推定結果を受信し、当該ユーザに前記サービスとしてアプリケーションを提供するアプリサーバと、を備えることを特徴とする。
かかる構成によれば、推定論理構築支援システムにおいて、ユーザ端末がペア条件付確率をノードIDと共にユーザ行動推定装置に送信し、また、センサ端末がノードIDおよびユーザIDをユーザ行動推定装置に送信する。そして、ユーザ行動推定装置は、ユーザ端末から受信したペア条件付確率やノードIDを初期ペア相関テーブルに格納し、センサ端末から受信したノードIDおよびユーザIDをセンシング情報テーブルに格納する。そして、ユーザ行動推定装置は、格納情報に基づいて、ユーザが現在どのようなサービスを求めているのか推定し、アプリサーバに通知する。したがって、推定論理構築支援システムは、ユーザの行動を推定することでユーザ毎のベイジアンネットワークを構築すると共に、ユーザが現在求めているサービスも推定することができる。
また、本発明に係るユーザ行動推定プログラムは、前記ユーザ行動推定装置を構成する各手段としてコンピュータを機能させるためのプログラムである。このように構成されることにより、このプログラムをインストールされたコンピュータは、このプログラムに基づいた各機能を実現することができる。
本発明によれば、ベイジアンネットワークの2ノード毎の条件付確率を用いることで協調フィルタリング技術の適用を実現し、ベイジアンネットワークの設定項目数を低減することができる。また、機械学習によってベイジアンネットワークを構築する場合においても、学習する構造が単純化するため、設定項目のサンプル数を低減することができる。
本発明の実施形態に係る推定論理構築支援システムの構成を示す機能ブロック図である。 図1に示す推定機能提供サーバと同様な機能を有するアプリサーバを示すブロック図である。 複数のノードおよびそれらを用いたベイジアンネットワークの一例を示す図である。 図1に示す初期ペア相関テーブルの一例を示す図である。 図1に示す協調フィルタリング部の処理の流れを示すシーケンス図である。 図1に示すユーザ相関テーブルの一例を示す図である。 図1に示す推定ペア相関テーブルの一例を示す図である。 図1に示す確率グラフ構築手段の説明図であって、(a)は事前確率テーブル、(b)は条件付確率テーブルの一例をそれぞれ示している。 図1に示す確率グラフデータベースの説明図であって、(a)はグラフ構造テーブル、(b)は第1設定パラメータ、(c)は第2設定パラメータの一例をそれぞれ示している。 図1に示す確率グラフ構築手段がベイジアンネットワークを作成する際に行うリンクの選択方法を示すフローチャートである。 図1に示す確率グラフ構築手段がベイジアンネットワークを作成する際に行うリンクの方向を決定する方法を示すフローチャートである。 図1に示す確率グラフ構築手段が作成するCPTの一例を示す図である。 図1に示すセンシング情報テーブルの一例を示す図である。
図面を参照して本発明の推定論理構築支援システムおよび推定論理構築支援方法を実施するための形態(以下「実施形態」という)について詳細に説明する。
以下では、説明の都合上、1.推定論理構築支援システムの概要、2.推定機能提供サーバの構成、3.システム構成の他の例、4.推定論理構築支援方法の詳細の各章に分けて順次説明することとする。
[1.推定論理構築支援システムの概要]
図1に示すように、推定論理構築支援システム1は、移動体通信網やインターネット等の通信ネットワークにより接続された推定機能提供サーバ(ユーザ行動推定装置)100と、ユーザ端末200と、センサ端末300と、アプリサーバ400とを備えている。なお、各装置の台数は図示した台数に限定されるものではない。
推定機能提供サーバ100は、ユーザ端末200を使用するユーザの行動(ネットワーク利用行動)を支援するための推定論理としてのユーザ毎のベイジアンネットワークを構築するユーザ行動推定機能と、ユーザがどのようなサービスを求めているのか嗜好や状況を推定するサービス推定機能とを有している。
ユーザ端末200は、サービスを享受するユーザが使用するものであり、例えば、GPS(Global Positioning System)機能およびスケジューラを搭載し、インターネット等のネットワークに接続可能な携帯電話機等の情報携帯端末やパーソナルコンピュータ等から構成される。このユーザ端末200は、「位置」や「スケジュール」等の各ユーザ端末200に固有の情報(各ユーザ固有の情報)を、ベイジアンネットワークの各ノード対の条件付確率として推定機能提供サーバ100に送信する。ここで、各ノード対間の条件付確率には、各ノードの事前確率と、2ノード間の条件付確率(以下、ペア条件付確率という)とを含む。
センサ端末300は、例えば、ユーザ端末200の「位置」や「スケジュール」を特定するセンサ機能を有した情報処理装置である。このセンサ端末300は、ユーザIDやノードIDを推定機能提供サーバ100に送信する。
ユーザIDは、例えば、ユーザ端末200のIDやユーザの個人IDである。
ノードIDは、ベイジアンネットワークのノードIDであり、「位置」を示す事象に対応したIDであれば、例えば、「自宅」や「勤務先」がこれに当たる。また、例えば、「スケジュール」を示す事象に対応したIDであれば、例えば、「休日」や「出勤日」がこれに当たる。さらに、「スケジュール」に関連した「サービス」を示す事象に対応したIDであれば、例えば、「動画をみたい」や「音楽をききたい」がこれに当たる。
アプリサーバ400は、例えば、インターネット等のネットワーク上のアプリケーションサーバやWebサーバから構成される。アプリサーバ400は、ユーザが享受するサービスとして、例えば、動画配信、音楽配信、ニュース配信、商品やサービスの販売情報の配信、あるいは、それら各種サービスの推薦情報を配信する。アプリサーバ400は、推定機能提供サーバ100から、ユーザが現在求めていると推定されるサービスについての情報を受信し、この受信情報に基づいて各種サービスの推薦情報を、該当するユーザ端末200に配信する。
[2.推定機能提供サーバの構成]
推定機能提供サーバ100は、CPU(Central Processing Unit)等の演算装置と、メモリ等の記憶装置と、マウスやキーボード等の外部から情報の入力を検出する入力装置と、入力または出力される各種情報の送受信を行うインタフェース装置と、LCD(Liquid Crystal Display)等の表示装置とを備えたコンピュータ、そして、このコンピュータにインストールされたプログラムから構成される。
図1に示すように、推定機能提供サーバ100は、ハードウェア装置とソフトウェアとが協働することによって、前記したハードウェア資源がプログラムによって制御されることにより実現され、確率グラフ推定部110と、サービス推定部120とを備えている。
確率グラフ推定部110は、ユーザ行動推定機能として、ユーザ毎のベイジアンネットワークを生成し、そのリンク情報とCPT(Conditional Probability Table:条件付確率表)とをサービス推定部120へ受け渡すものである。
サービス推定部120は、サービス推定機能として、ユーザ毎に構築されたベイジアンネットワークを用いて当該ユーザが現在求めているサービスを推定するものである。
<確率グラフ推定部>
確率グラフ推定部110は、ユーザ端末200から、「位置」や「スケジュール」等の各ユーザ端末200に固有の情報を、ペア条件付確率として取得し、取得したペア条件付確率の相関を補完し、それらから、ユーザ毎のベイジアンネットワークを作成する。このために、確率グラフ推定部110は、初期ペア相関テーブル111と、ペア相関受信手段112と、推定ペア相関テーブル113と、確率グラフ構築手段114と、ペア相関学習手段115と、協調フィルタリング部(協調フィルタリング手段)130とを備える。
初期ペア相関テーブル111は、各ユーザ端末200から取得したペア条件付確率(ユーザID、親ノードID、子ノードID、2ノード間の条件付確率の各情報)を格納したデータベースである(図4参照)。この初期ペア相関テーブル111の詳細については後記する。
ペア相関受信手段112は、ユーザ端末200からノード対間の条件付確率を受信し、ユーザIDと対応付けて初期ペア相関テーブル111へ保存する。
推定ペア相関テーブル113は、初期ペア相関テーブル111の格納情報に加えて、協調フィルタリング部130の処理により補完された情報をさらに格納したデータベースである(図7参照)。この推定ペア相関テーブル113の詳細については後記する。
確率グラフ構築手段114は、推定ペア相関テーブル113内に格納された情報を用いて、ユーザ毎のベイジアンネットワークを作成し(図8〜図12参照)、そのリンク情報とCPTとをサービス推定部120に出力する。この確率グラフ構築手段114によるユーザ毎のベイジアンネットワークを作成する処理の詳細については後記する。
ペア相関学習手段115は、サービス推定部120に備える後記するセンシング情報テーブル122(図13参照)に基づいて、初期ペア相関テーブル111の情報を補完するための情報を計算し、初期ペア相関テーブル111に追加保存する。このペア相関学習手段115は、センシング情報テーブル122内の情報を、単純な統計的手法等で集約し、初期ペア相関テーブル111に格納される条件付確率等の一部を自動生成する。なお、ペア相関受信手段112を用いずに、このペア相関学習手段115により、初期ペア相関テーブル111内の情報を全て生成することも可能である。
≪協調フィルタリング部≫
協調フィルタリング部130は、初期ペア相関テーブル111の情報をユーザID毎に整理し、それぞれ比較することで条件付確率を補完し、推定ペア相関テーブル113に保存するものであり、図1に示すように、ユーザ相関推定手段131と、ペア相関推定手段132と、ユーザ相関テーブル133とを備える。
ユーザ相関推定手段131は、初期ペア相関テーブル111の格納情報をユーザID毎に整理し、統計的な手法によりユーザ間の相関(以下、ユーザの相関という)を推定し、ユーザ相関テーブル133を作成するものである。
ペア相関推定手段132は、初期ペア相関テーブル111と、ユーザ相関テーブル133とを参照し、初期ペア相関テーブル111に格納されていないユーザの情報に関して、取得したペア条件付確率を、ユーザ相関で重みをつけつつ推定し、推定ペア相関テーブル113を作成するものである。
ユーザ相関テーブル133は、初期ペア相関テーブル111に格納されている任意の2人のユーザの相関を示すデータベースである(図6参照)。
なお、協調フィルタリング部130については、その処理の詳細を後記する。
<サービス推定部>
サービス推定部120は、図1に示すように、確率グラフデータベース121と、センシング情報テーブル122と、推定実施部(推定実施手段)123とを備える。
確率グラフデータベース121は、確率グラフ推定部110の確率グラフ構築手段114で生成したユーザ毎のベイジアンネットワークを格納するデータベースである。
センシング情報テーブル122は、センサ端末300から受信したノードIDおよびユーザIDの情報を格納したデータベースである(図13参照)。
推定実施部123は、センサ端末300から、ノードIDとユーザIDとを受信し、受信時刻と共にセンシング情報テーブル122に保存する。なお、図13には受信時刻の図示を省略した。推定実施部123は、センシング情報テーブル122内の情報が更新されると、確率グラフデータベース121に既に格納しているユーザ毎のベイジアンネットワークを用いて、センサ端末300から現在値が得られていないノードの生起確率を後記するように推定する。推定実施部123は、推定値を、必要に応じて、アプリサーバ400へ提供する。
[3.システム構成の他の例]
簡便のため、図1に示す推定論理構築支援システム1は、ユーザ端末200と、センサ端末300と、アプリサーバ400とが存在するネットワーク環境に、さらに推定機能提供サーバ100を設けるものとして説明したが、本発明はこれに限定されるものではない。実際の運用においては、例えば、推定機能提供サーバ100と同様な機能を他の装置が兼用するようにしてもよい。
図2に示す推定論理構築支援システムの構成は、1つのアプリサーバ400が、確率グラフ推定部110と、サービス推定部120とを備えている。このように構成することで、この特別なアプリサーバ400は、当該アプリサーバ400を、確率グラフ推定部110と、サービス推定部120との各部として機能させるためのプログラムをインストールされることにより、本来のアプリサーバとしての機能と共に、推定機能提供サーバ100の機能をも実行することができる。なお、以下では、説明の簡略化のため、図1に示す推定論理構築支援システム1を想定し、特に、ユーザ端末200やアプリサーバ400がそれらの機能だけを果たす単一の装置である場合について説明する。
[4.推定論理構築支援方法の詳細]
この章では、推定論理構築支援方法として、推定機能提供サーバ100の各部の詳細な処理について、4−1.事前設定、4−2.ペア条件付確率の取得、4−3.協調フィルタリングの動作、4−4.ベイジアンネットワークの構築、4−5.サービス推定の各節に分けて、図1を適宜参照しながら具体的に説明する。
<4−1.事前設定>
推定機能提供サーバ100では、事前設定として、ベイジアンネットワークのノードが定義される。ベイジアンネットワークのノードの一例を図3に示す。図3に示すように、例えば、8個のノード301,302,303,304,305,306,307,308を定義する。なお、図3には、各ノード間に、既に、7本のリンク311,312,313,314,315,316,317が構成されているが、この節においては、リンクを決定する前のノードだけについて説明する。
ここで、図3の各ノードは、ラベリングされた対応事象の生起/非生起の2値をとるものとする。また、これらのノードには、ノードを識別するID(ノードID)が付与されており、本実施形態においては、ノードIDは、対応事象そのものであるとする。例えば、ノード301には、「音楽をききたい」という事象がラベリングされている。この「音楽をききたい」がノードIDそのものであるとする。また、「音楽をききたい」という事象が生起することを「音楽をききたい=1」で表す。同様に、「音楽をききたい」という事象の非生起、つまり、「音楽をききたくない」という事象が生起することを「音楽をききたい=0」で表す。
<4−2.ペア条件付確率の取得>
次に、ペア相関受信手段112が、行動支援サービスを受けるユーザに公開される。具体的には、ユーザ端末200に入力用の表示画面が提示される。これにより、複数のユーザが、異なるユーザ端末200から、2ノード間の条件付確率(ペア条件付確率)を入力し、推定機能提供サーバ100に送信する。ここで、ペア条件付確率は、原因ノードのID(親ノードのID)と、結果ノードのID(子ノードのID)と、それらの間の条件確率とを含む。
この際に、ユーザ端末200がこのペア条件付確率を送信するためだけに送信処理を行うような明らかな送信(明示的な送信;ユーザの送信操作あり)を行うのか、あるいは、このペア条件付確率を送信するという訳ではなくなんらかの理由によって事前にユーザ端末200が推定機能提供サーバ100にログインしていてその処理の中で付加的な処理としてペア条件付確率の送信(暗示的な送信;ユーザの送信操作なし)を行うのかについては問わない。推定機能提供サーバ100では、ペア条件付確率を送信したユーザ端末200と対応するユーザのIDが得られているものとする。
そして、ペア条件付確率とユーザIDとの情報が、図4のように、初期ペア相関テーブル111に保持される。図4に示す初期ペア相関テーブル111では、一例として、符号321〜328で示す各行に情報が格納されている。例えば、符号321で示す行は、ユーザID=「U1」、親ノードID=「自宅」、子ノードID=「動画をみたい」、条件付確率=「0.6」の各情報を示している。つまり、ユーザID=「U1」のユーザ(以下、単にユーザU1という)についてのペア条件付確率p(動画をみたい|自宅)は、次のように表される。なお、図面(テーブル)における記載順とは反対に、確率pの記号「|」の左側に子ノード、右側に親ノードが配置される。
p(動画をみたい|自宅)=0.6
これは、生起/非生起を区別するときに、次のようにそれぞれ表すこともできる。
p(動画をみたい=1|自宅)=0.6
p(動画をみたい=0|自宅)=0.4
なお、図4に示すユーザID「U2」、「U3」、「U4」のユーザ(ユーザU2、ユーザU3、ユーザU4)についても同様に表すことができる。この図4に示す初期ペア相関テーブル111は、他の処理の説明にて再び参照することとする。
<4−3.協調フィルタリングの動作>
推定機能提供サーバ100は、受信して初期ペア相関テーブル111に保持したペア条件付確率を協調フィルタリングによって補完する。この処理は、協調フィルタリング部130によって、図5のシーケンスの流れにて実行する。
図5に示すように、協調フィルタリング部130のユーザ相関推定手段131は、初期ペア相関テーブル111の情報(ペア条件付確率)を参照し(ステップS1)、ペア条件付確率を抽出する(ステップS2)。ここで、ユーザ相関推定手段131は、複数ユーザに条件付確率が入力されている親ノード・子ノードと、その値を抽出する(ステップS3)。そして、ユーザ相関推定手段131は、各親ノード・子ノードペアについて、その条件付確率の平均・標準偏差を計算する(ステップS4)。さらに、ユーザ相関推定手段131は、ユーザ間で条件付確率を比較し、ユーザの相関を計算し(ステップS5)、ユーザの相関をユーザ相関テーブル133として保存する(ステップS6)。
具体的には、図4に示す初期ペア相関テーブル111の場合には、符号325〜328で示す各行は、ユーザU1、ユーザU2、ユーザU3、ユーザU4について、親ノードID=「自宅」、子ノードID=「勤務日」に関するペア条件付確率が共通に設定されている。これら4ユーザについてのペア条件付確率の値の平均値は「0.5」、標準偏差は「0.1」である。ここでは、他に共通的なペア条件付確率がないものとして、平均値および標準偏差の値から、ユーザの相関を計算する。
例えば、ユーザU1と他ユーザとの相関を計算すると、図6に示すユーザ相関テーブル133が得られる。図6において、符号331で示す行は、ユーザU1とユーザU2との相関が「1」であることを示す。また、符号332で示す行は、ユーザU1とユーザU3との相関が「−1」であることを示す。同様に、符号333で示す行は、ユーザU1とユーザU4との相関が「−1」であることを示す。なお、共通的なペア条件付確率が複数存在する場合には、それぞれ同様に計算した上で、それらの直積空間で内積をとる等すれば相関が得られる。
図5に戻って説明を続ける。
協調フィルタリング部130のペア相関推定手段132は、ユーザ相関テーブル133に保持されたユーザ相関を参照し(ステップS7)、ユーザ相関を取得する(ステップS8)。また、ペア相関推定手段132は、初期ペア相関テーブル111に格納されたペア条件付確率を参照し(ステップS9)、ペア条件付確率を取得する(ステップS10)。そして、ペア相関推定手段132は、ユーザ相関テーブル133に保持されたユーザ間の相関を用いて、初期ペア相関テーブル111内の情報を補完し、ユーザ相関で重みをつけつつ、取得したペア条件付確率の平均を計算し、推定値とする(ステップS11)。そして、ペア相関推定手段132は、取得・推定したペア条件付確率を推定ペア相関テーブル113として保存する(ステップS12)。
ペア相関推定手段132は、補完時には、推定対象のユーザが入力していないペア条件付確率について、他ユーザのペア条件付確率の相関による重みつき平均値Vを式(1)により計算・設定する。式(1)において、wiは重み、piはペア条件付確率を示す。
Figure 2011048435
具体的には、図4に示す初期ペア相関テーブル111と、図6に示すユーザ相関テーブル133とを用いる場合には、ペア相関推定手段132は、次のように推定処理を行う。図4に符号323で示す行には、ユーザU2に関して、親ノードと子ノードのペアで示す条件付確率(「勤務日」から「動画をみたい」までの条件付確率)が格納され、符号324で示す行には、ユーザU2に関して、同様に、「動画をみたい」から「勤務日」までの条件付確率が格納されている。ところが、図4に示す初期ペア相関テーブル111には、ユーザU1については同様の場合の条件付確率が入力されていない。一方、図6に符号331で示すように、ユーザU1とユーザU2との相関は「1」であるので、ペア相関推定手段132は、図4に符号323,324でそれぞれ示す行の情報(ユーザU2について入力されている情報)をそのままユーザU1に反映して推定ペア相関テーブル113を作成する。
そのため、図7に示す推定ペア相関テーブル113においては、符号343,344でそれぞれ示す行に、ユーザU1に関して、「勤務日」から「動画をみたい」までの条件付確率と、「動画をみたい」から「勤務日」までの条件付確率がそれぞれ格納されることになる。
また、例えば、図4に符号321で示す行には、ユーザU1に関して、「自宅」から「動画をみたい」までの条件付確率が格納され、符号322で示す行には、ユーザU1に関して、「動画をみたい」から「自宅」までの条件付確率が格納されている。ところが、図4に示す初期ペア相関テーブル111には、ユーザU2については同様の場合の条件付確率が入力されていない。この場合も同様に補完することで、図7に符号347,348でそれぞれ示す行に、ユーザU2に関して、「自宅」から「動画をみたい」までの条件付確率と、「動画をみたい」から「自宅」までの条件付確率がそれぞれ格納されることになる。
図7において、符号341,342,345,346でそれぞれ示す行の情報は、図4に符号321,322,326,325でそれぞれ示す行の情報の格納位置を入れ替えただけで同じものである。なお、符号345で示す行の情報を親ノードと子ノードとを入れ替えた情報については、格納されていない。しかしながら、例えば、図4に示す初期ペア相関テーブル111にて、ユーザU1以外のユーザが同様のデータを投入しており、そのユーザとユーザU1との相関が計算できれば、推定することは可能である。
<4−4.ベイジアンネットワークの構築>
以下では、説明の都合上、ユーザが1人(ユーザU1)であるものとして説明する。
また、この節は、次のように6つの段階に細分化して説明する。すなわち、4−4−1.条件付確率の完成、4−4−2.グラフ構造と相互情報量、4−4−3.グラフ構造とリンクの選択、4−4−4.グラフ構造とリンクの方向、4−4−5.CPTの作成、4−4−6.構築グラフの設定パラメータの小節について順次説明することとする。
≪4−4−1.条件付確率の完成≫
ここでは、事前設定等によって、ベイジアンネットワークの一部のノードに対し、図8(a)に示す事前確率テーブル1141が得られているものとする。この事前確率テーブル1141は、ユーザIDと、ノード(他のテーブルの表記と同様にノードIDを意味する)と、事前確率とを対応付けたものであって、必ずしもベイジアンネットワークのすべてのノードに関して事前に作成されている必要はない。図8(a)に示す例では、符号351で示す行は、ユーザU1について、ノードID=「動画をみたい」についての事前確率が「0.1」であることを示している。また、符号352で示す行は、ユーザU1について、ノードID=「勤務日」についての事前確率が「0.4」であることを示している。また、この場合、ユーザU1について、例えば、ノードID=「自宅」についての事前確率は設定されていないが、ベイズの定理により、その事前確率が「0.15」であることが推定可能である。
図1に示す確率グラフ構築手段114は、図8(a)に示す事前確率テーブル1141と、協調フィルタリング部130の処理結果である推定ペア相関テーブル113の情報とを用いて、ベイズの定理を適用することで、2ノード間の条件付確率(ペア条件付確率)をすべて計算し、計算処理の結果、図8(b)に示す条件付確立テーブル1142を作成する。この条件付確立テーブル1142において、親ノード値の項目は、親ノード値が「1」の場合に、親ノードの対応事象が生起していることを示し、親ノード値が「0」の場合に、親ノードの対応事象が非生起であることを示す。
図8(b)に示す条件付確立テーブル1142において、符号361で示す行の確率(条件付確率)は、図7に符号345で示す行と同様なものである。
図8(b)に示す条件付確立テーブル1142において、符号362で示す行の確率(条件付確率)は、前記したようにユーザU1について、ノードID=「自宅」について推定した事前確率の情報「0.15」と、図7に符号345で示す情報と、図8(a)に符号352で示す情報とを用いて、ベイズの定理により推定できる。
図8(b)に示す条件付確立テーブル1142において、符号363で示す行の確率(条件付確率)は、親ノード値=0であることを考慮した上で、ユーザU1のノードID=「自宅」について推定した事前確率の情報「0.15」と、図7に符号341で示す情報と、図8(a)に符号351で示す情報とを用いて、ベイズの定理により推定できる。
図8(b)に示す条件付確立テーブル1142において、符号364で示す行の確率(条件付確率)は、親ノード値=0であることを考慮した上で、ユーザU1のノードID=「自宅」について推定した事前確率の情報「0.15」と、図7に符号343で示す情報と、図8(a)に符号351で示す情報とを用いて、ベイズの定理により推定できる。
≪4−4−2.グラフ構造と相互情報量≫
図1に示す確率グラフ構築手段114は、以下に示すように、ベイジアンネットワークを求め、そのグラフ構造と関連パラメータとを、確率グラフデータベース121に保持する。確率グラフデータベース121に格納されるベイジアンネットワークのグラフ構造の一例として、図9(a)にグラフ構造テーブル1211を示す。このグラフ構造テーブル1211において、符号371〜374に示す行は、原因ノード(親ノード)と、結果ノード(子ノード)との2ノードのペアをそれぞれ示している。なお、図9(b)および図9(c)に示すように設定される関連パラメータについての説明は後記する。
確率グラフ構築手段114は、各ノード対に対して、式(2)に示す相互情報量I(X,Y)を利用して、ベイジアンネットワークを作成する。
Figure 2011048435
例えば、図7、図8(a)、図8(b)に示すデータから、X=(対応事象「自宅」が生成する確率)と、Y=(対応事象「勤務日」が生成する確率)との相関を求めると、式(2)の対数関数の真数の部分が常に“1”なので、式(2)に示す相互情報量I(X,Y)は“0”となる。言い換えると、この場合、対応事象「自宅」と対応事象「勤務日」との間に相関がないことを示す。
同様に、図7、図8(a)、図8(b)に示すデータから、離散確率変数X,Yをそれぞれの対応事象に置き換えて、式(2)に示す相互情報量をそれぞれ計算したデータにより、図10に示すように、公知のMWST法(Maximum Weight Spanning Tree法)を用いて、ノード間のリンクの選択を行うことができる。
≪4−4−3.グラフ構造とリンクの選択≫
確率グラフ構築手段114は、図10に示すように、対象とするユーザのベイジアンネットワークにおいて、全リンクが未選択であって、全リンクが選択候補である状態から処理をスタートする(ステップS21)。この確率グラフ構築手段114は、前記した式(2)を用いて、各ノード対の相互情報量I(X,Y)を取得する(ステップS22)。これら取得した各相互情報量I(X,Y)は、図示しない相互情報量リストに格納される。
そして、確率グラフ構築手段114は、この図示しない相互情報量リスト中の相互情報量をソーティングする(ステップS23)。つまり、すべての相互情報量をその値に応じて大きい順(または小さい順)に並び替えて、以降の処理に用いるために、各ノード対のIDと対応付けて、相互情報量の値を格納した不図示の候補リストを作成する。なお、この候補リストは、処理過程において仮選択した候補のリンクを一時記憶するためのものであり、仮ではなく選択(本選択)されたリンクについては、図示しないリンクリストに格納される。このリンクリスト中の各リンクは、向きが確定していないため、このリンクリストのことを無向リンクリストと呼ぶ。
そして、確率グラフ構築手段114は、現在の候補リスト内において、相互情報量が“0”ではなく(non0)かつ最大である候補を仮選択する。そして、この仮選択した候補を、現在の候補リストから削除して候補リストを更新する(ステップS24)。
確率グラフ構築手段114は、更新した候補リストにおいて、まだ候補は存在するか否かを判別し(ステップS25)、候補が存在しなければ(ステップS25:No)、処理を終了する。一方、候補が存在する場合(ステップS25:Yes)、確率グラフ構築手段114は、前記したステップS24で仮選択したリンク(仮選択リンク)と、これまでに選択済みであるリンク(選択リンク)との間で、グラフに無向ループが生じるか否かを判別する(ステップS26)。グラフに無向ループが生じる場合(ステップS26:Yes)、確率グラフ構築手段114は、その仮選択リンクについての選択を解除し(ステップS27)、ステップS24に戻る。
一方、ステップS26において、グラフに無向ループが生じなければ(ステップS26:No)、確率グラフ構築手段114は、現在までの選択リンク数に「1」を加算し(ステップS28)、更新後の選択リンクの個数が、対象とする全ノード数よりも「1」だけ少ない個数であるという条件(選択リンク数=ノード数−1)を満足しているか否かを判別する(ステップS29)。この条件を満足した場合(ステップS29:Yes)、確率グラフ構築手段114は、処理を終了する。一方、この条件を満たさない場合には(ステップS29:No)、確率グラフ構築手段114は、仮選択リンクを、あらためて選択リンクに設定し(ステップS30)、ステップS24に戻る。
このリンク選択処理により、確率グラフ構築手段114は、例えば、図3に示す各リンク311,312,313,314,315,316,317を選択する。つまり、ユーザU1については、結果として、例えば、ノード303(対応事象「自宅」)とノード307(対応事象「動画をみたい」)との相関が高いことから、そのことを反映したリンク315が選択される。同様に、ノード305(対応事象「勤務日」)とノード307(対応事象「動画をみたい」)との相関が高いことから、そのことを反映したリンク316が選択される。同様に他のリンクについても相関の高さが反映されて選択された。なお、図3に示す各リンク311〜317の情報(両端のノードの情報)は、無向リンクリストに格納されている。
≪4−4−4.グラフ構造とリンクの方向≫
次に、確率グラフ構築手段114は、各ノード対の相関を用いて、無向リンクリストを参照してリンクの方向を決定するため、概略、次のような処理をする。まず、隣接する複数のノードとの間にリンクをもつノードを抽出し、抽出したそれぞれのノードについて、隣接ノード間の相関をみて、その中から相関が“0”であるノードから成るノードグループを作成する。具体的には、図3に示すノード307(対応事象「動画をみたい」)は、ノード303(対応事象「自宅」)と、ノード305(対応事象「勤務日」)との双方に接続されている。さらに、ノード303(対応事象「自宅」)と、ノード305(対応事象「勤務日」)との相関は“0”である。そのため、リンク315は、ノード303(対応事象「自宅」)からノード307(対応事象「動画をみたい」)へ向いたリンクとなる。同様に、リンク316は、ノード305(対応事象「勤務日」)からノード307(対応事象「動画をみたい」)へ向いたリンクとなる。
次に、確率グラフ構築手段114が行う方向選択の流れの一般的なフローチャートを図11に示す。なお、確率グラフ構築手段114がリンク方向を選択する手順は、従来公知の方法を適用したものである。まず、確率グラフ構築手段114は、リンク選択処理で作成した図示しない無向リンクリスト、相互情報量リストを取得する(ステップS41)。そして、確率グラフ構築手段114は、ノード毎に当該ノードが隣接しているノードが複数存在するか否かを判別し、この判別結果により、複数ノードと隣接するノードについてのリスト(方向選択処理用リスト)を新たに作成し(ステップS42)、この処理の中で、初期状態として全リンクの方向を未定とする(ステップS43)。
次いで、確率グラフ構築手段114は、複数ノードと隣接するノード毎に(方向選択処理用リスト中のノード毎に)、以下のステップS441,S442の処理を繰り返す(ステップS44)。このステップS44の繰り返し処理で繰り返しの対象とする各ノードは、複数の隣接ノード間の中心に位置していることから中心ノードと呼ぶ。
まず、ステップS441では、確率グラフ構築手段114は、中心ノードとその隣接ノードとの間で相関が“0”となるような隣接ノードを、複数の隣接ノードの中から抽出する。ステップS441で抽出された隣接ノードのことを抽出ノードと呼ぶ。
ステップS442では、確率グラフ構築手段114は、抽出ノードと中心ノードとの間のリンク方向を、抽出ノードから、繰り返しの中心ノード向きであるものと決定する。
そして、この方向選択処理用リスト中のノード毎の繰り返し処理がすべて終了した後に、確率グラフ構築手段114は、方向選択処理用リスト中の全リンクの方向が決定したか否かを判別する(ステップS45)。方向が決定していないリンクが残っている場合(ステップS45:No)、確率グラフ構築手段114は、その方向未決定のリンクを抽出する(ステップS46)。そして、確率グラフ構築手段114は、ステップS46で抽出された抽出リンクと接続されるノードの中で、自ら向き(当該ノード向き)のリンクの個数が最大であるノードを抽出する(ステップS47)。
続いて、確率グラフ構築手段114は、ステップS47で抽出された抽出ノードと接続されるリンクについて、この抽出ノードを当該リンクのソース(矢印の始点側)に決定する(ステップS48)。つまり、確率グラフ構築手段114は、ステップS48にて、当該リンクの方向を決定し、この決定されたリンク方向を反映して、方向選択処理用リストを更新する。そして、ステップS48に続いて、確率グラフ構築手段114は、ステップS45に戻る。また、ステップS45において、全リンクの方向が決定した場合(ステップS45:Yes)、確率グラフ構築手段114は、処理を終了する。
≪4−4−5.CPTの作成≫
確率グラフ構築手段114は、ベイジアンネットワーク構築の最後の段階として、条件付確率表(CPT)を作成する。確率グラフ構築手段114は、CPTの作成に際して、単純ベイズ法(Naive Bayes:NB)の考え方を適用した、以下のような手法を用いる。ここでは、具体的に、図3に示したユーザU1についてのノード307(対応事象「動画をみたい」)を子ノードとし、ノード303(対応事象「自宅」)とノード305(対応事象「勤務日」)とを親ノードとするCPTについて例示する。また、以下では、各ノードをノードIDで示す。
NBと同様に、「自宅」と「勤務日」とが、「動画をみたい」に関して条件付独立であると仮定すると、確率p(動画をみたい=1,自宅,勤務日)は、式(3)に示すように計算され、また、確率p(動画をみたい=0,自宅,勤務日)は、式(4)に示すように計算される。
p(動画をみたい=1,自宅,勤務日)
=p(動画をみたい=1)
×p(自宅|動画をみたい=1)
×p(勤務日|動画をみたい=1)
=0.1×0.9×0.6=0.054 … 式(3)
p(動画をみたい=0,自宅,勤務日)
=p(動画をみたい=0)
×p(自宅|動画をみたい=0)
×p(勤務日|動画をみたい=0)
=0.9×(1/15)×(1/3)=0.02 … 式(4)
なお、式(3)の計算結果は、図8(a)に符号351で示す情報を用いると共に、図7に符号342,344で示す情報が図8(b)に格納された後の条件付確率テーブルとを用いることで求められる。また、式(4)において、確率p(自宅|動画をみたい=0)や確率p(勤務日|動画をみたい=0)も補完によって、図8(b)に符号363,364で示すように得られている。したがって、式(4)の計算結果は、これらの情報と、親ノード値=0を考慮したときの図8(a)に符号351で示す情報とを用いることで求められる。
一方、ベイズの定理から、次の式(5)の関係が成り立っている。
確率p(動画をみたい=0,自宅,勤務日)と
確率p(動画をみたい=1,自宅,勤務日)との比は、
確率p(動画をみたい=1|自宅,勤務日)と
確率p(動画をみたい=0|自宅,勤務日)との比に等しい … 式(5)
そのため、正規化によって、条件付確率が次のようにそれぞれ求められる。
確率p(動画をみたい=1|自宅,勤務日)≒0.73 … 式(6a)
確率p(動画をみたい=0|自宅,勤務日)≒0.27 … 式(7)
このうち、式(6a)について、親ノード値を加えて生起/非生起を区別する表式に書き換えると、式(6b)となる。
確率p(動画をみたい=1|自宅=1,勤務日=1)≒0.73 … 式(6b)
また、式(6b)の確率pの親ノード値の「1」を置き換えた場合の確率は次のように3通り存在する。
確率p(動画をみたい=1|自宅=1,勤務日=0)
確率p(動画をみたい=1|自宅=0,勤務日=1)
確率p(動画をみたい=1|自宅=0,勤務日=0)
これら3通りの確率についても前記した式(6a)を導出したときと全く同様にして求めることが可能である。その結果は、式(8)〜式(10)となる。
確率p(動画をみたい=1|自宅=1,勤務日=0)≒0.47 … 式(8)
確率p(動画をみたい=1|自宅=0,勤務日=1)≒0.02 … 式(9)
確率p(動画をみたい=1|自宅=0,勤務日=0)≒0.01 … 式(10)
前記した式(6b)、式(8)〜式(10)を含むCPTを図12に示す。以上の処理により、例えば、ユーザU1についてのベイジアンネットワークが完成する。図12において、符号401で示す行は、式(6b)および式(9)を表し、符号402で示す行は、式(8)および式(10)を表している。また、式(6b)は、確率グラフ構築手段114の処理結果(CPT)を示す図9(b)に符号384で示す情報に相当し、式(8)〜式(10)は図9(b)に符号383,382,381で示す情報に相当する。以下では、図9(b)および図9(c)を参照して、ベイジアンネットワークの関連パラメータとして、これらCPTが確率グラフデータベース121に登録された例について説明する。
≪4−4−6.構築グラフの設定パラメータ≫
まず、図9(c)に示す第2設定パラメータ1213において、シーケンス番号は、各子ノードについて、その親ノードに対して“0”から順番に割り当てたものである。つまり、符号391で示すように、子ノードID=「動画をみたい」についての最初の親ノードとして、親ノードID=「勤務日」が割り当てられ、次に、符号392で示すように、親ノードID=「自宅」が割り当てられる。
図9(b)に示す第1設定パラメータ1212において、パターン番号は、親ノードの組合せパターンを示す2進数「00,01,10,11」を、シーケンス番号目「0,1,…」の桁に割り当てたものである。例えば、符号381〜382は、図9(c)に示す符号391に対応しており、符号383〜384は、図9(c)に示す符号392に対応している。つまり、シーケンス番号が「0」の桁は、親ノードID=「勤務日」であり、その桁に「1」が付与されると、対応事象「勤務日」が生起し(図12のCPTで1行目)、その桁に「0」が付与されると、対応事象「勤務日」が非生起となる(図12のCPTで2行目)。
また、シーケンス番号が「1」の桁は、親ノードID=「自宅」であり、その桁に「1」が付与されると、対応事象「自宅」が生起し(図12のCPTで1列目)、その桁に「0」が付与されると、対応事象「自宅」が非生起となる(図12のCPTで2列目)。
なお、これら第1設定パラメータ1212および第2設定パラメータ1213を、図9(a)に示すグラフ構造テーブル1211と同じデータベースに収容する場合には、より効率的に正規化できる)。
<4−5.サービス推定>
確率グラフ構築手段114で生成したユーザ毎のベイジアンネットワークは、図1に示すサービス推定部120の確率グラフデータベース121に格納される。
サービス推定部120の推定実施部123では、このベイジアンネットワークを用いてセンサ端末300からのセンシング情報を集約し、例えばユーザU1が現在求めているサービス(「動画をみたい」等)を推定し、アプリサーバ400に提供する。
例えば、ユーザU1が、ユーザ端末200として、GPSおよびスケジューラを搭載した携帯電話機を利用しているものとする。この場合、センサ端末300は、GPSを用いて、ユーザU1(該当するユーザ端末200)の所在が、現在は「自宅」であることをセンシング結果(観測値)として認識し、かつ、スケジューラを用いて、ユーザU1(該当するユーザ端末200)のスケジュールが、当日は「勤務日」であることを認識する。
そして、センサ端末300は、推定機能提供サーバ100にセンシング情報を送信する。推定機能提供サーバ100は、サービス推定部120の推定実施部123によって、センシング情報を受信し、センシング情報テーブル122に格納する。センシング情報テーブル122に保持された情報の一例を図13に示す。図13に符号411で示す情報は、GPSに基づくユーザU1の所在地を示す情報であり、符号412で示す情報は、スケジューラに基づくユーザU1のスケジュールを示す情報である。
推定実施部123は、図13に示すセンシング情報テーブル122のこれらの観測値と、確率グラフデータベース121に既に格納されているユーザU1のベイジアンネットワークとを用いて、例えば、公知の確率伝搬法(Belief Propagation法)等によって、ユーザU1が現在求めているサービスとして、ベイジアンネットワークのノードに対応した対応事象「動画をみたい」の確率を推定する。この場合には、図12に示すCPTからも分かるように、確率が「0.73」であると推定される。
この場合、対応事象「動画をみたい」の確率は充分に高いため、推定実施部123は、ユーザU1に動画を推薦する。例えば、推定機能提供サーバ100は、この推定結果(ユーザU1は現在動画サービスを求めていること)をアプリサーバ400に通知する。そして、通知を受けたアプリサーバ400は、該当するユーザ端末200に、動画の視聴を薦める情報を提供し、ユーザU1の要求に応じて動画を配信する。
本実施形態によれば、推定機能提供サーバ100は、全ユーザで共通的に使用可能な2ノード毎の条件付確率を示すペア条件付確率を用いて協調フィルタリング部130で推定した推定ペア相関テーブル113を保持した状態から、確率グラフ構築手段114によってユーザ毎のベイジアンネットワークを作成する。その結果、ベイジアンネットワーク作成者に求められる設定量や取得データから機械学習すべきパラメータ量を低減できる。そのため、1つ1つのベイジアンネットワークの構築コストが下がり、ユーザ毎に異なるベイジアンネットワークの作成が実現できる。
また、本実施形態によれば、推定論理構築支援システム1は、ユーザ端末200がペア条件付確率をノードIDと共に推定機能提供サーバ100に送信し、また、センサ端末300がノードIDおよびユーザIDを推定機能提供サーバ100に送信する。そして、推定機能提供サーバ100は、受信、格納した情報に基づいて、ユーザが現在どのようなサービスを求めているのかを推定し、アプリサーバ400に通知する。したがって、推定論理構築支援システム1は、ユーザが現在求めているサービスを推定することができる。
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、本実施形態では、推定機能提供サーバ100は、ユーザ端末200から受信した情報を利用したり、センサ端末300から受信した情報に基づいて学習を行ったりすることで初期ペア相関テーブル111を生成し、ユーザ毎のベイジアンネットワークを作成し、ユーザの求めるサービスを推定するものとしたが、本発明は、これに限定されるものではない。例えば、推定機能提供サーバ100の推定実施部123の公開後、すなわち、推定結果をアプリサーバ400に通知した後、センサ端末300から取得する情報による学習を行ったり、ユーザ端末200から情報を取得したりすることにより、ペア条件付確率を初期ペア相関テーブル111へ設定する処理を随時行ってもよい。
また、本実施形態では、推定機能提供サーバ100が推定実施部123を備えるベストモードで説明したが、本発明には、サービス推定機能を実現する推定実施部123は必須ではなく、少なくともユーザ行動推定機能を実現するために確率グラフ推定部110を備える構成でもよい。同様に、本発明において、センサ端末300およびアプリサーバ400は必須ではなく、推定論理構築支援システムは、推定機能提供サーバ100とユーザ端末200とを備えるように構成してもよい。
1 推定論理構築支援システム
100 推定機能提供サーバ(ユーザ行動推定装置)
110 確率グラフ推定部
111 初期ペア相関テーブル
112 ペア相関受信手段
113 推定ペア相関テーブル
114 確率グラフ構築手段
115 ペア相関学習手段
120 サービス推定部
121 確率グラフデータベース
122 センシング情報テーブル
123 推定実施部(推定実施手段)
130 協調フィルタリング部(協調フィルタリング手段)
131 ユーザ相関推定手段
132 ペア相関推定手段
133 ユーザ相関テーブル
200 ユーザ端末
300 センサ端末
400 アプリサーバ

Claims (10)

  1. ユーザ端末を使用するユーザの行動の推定論理としてのベイジアンネットワークを構築するユーザ行動推定装置であって、
    前記ベイジアンネットワーク上において2つのノードからなるノード対の各ノードIDと、当該2つのノード間の条件付確率を示すペア条件付確率とをユーザID別に関連付けたユーザ情報を保持する初期ペア相関テーブルと、
    前記初期ペア相関テーブルに格納された情報と、当該格納された情報を用いて補完された情報とを合わせて保持する推定ペア相関テーブルと、
    前記初期ペア相関テーブルにおいて、前記ユーザ情報同士を比較し、所定のノード対に関して保持された前記ペア条件付確率の情報を有していないユーザがある場合に、当該ノード対に関して当該ユーザのペア条件付確率を、前記所定のノード対に対して保持された前記ペア条件付確率を用いて算出し、前記算出されたペア条件付確率により前記初期ペア相関テーブルを補完することで前記推定ペア相関テーブルを生成する協調フィルタリング手段と、
    前記推定ペア相関テーブルに格納されたペア条件付確率を用いてユーザID毎に条件付確率表を計算し、ユーザ別の前記ベイジアンネットワークのグラフ構造を構築する確率グラフ構築手段と、
    を備えることを特徴とするユーザ行動推定装置。
  2. 前記ベイジアンネットワーク上において2つのノードからなるノード対の各ノードIDと、当該2つのノード間の条件付確率を示すペア条件付確率とを、前記ユーザ端末から受信し、前記初期ペア相関テーブルに格納するペア相関受信手段をさらに備えることを特徴とする請求項1に記載のユーザ行動推定装置。
  3. 前記ベイジアンネットワークのノードの示す所定事象を観測するセンサ端末から、前記ユーザIDと、前記ベイジアンネットワーク上のノードのノードIDとを受信し、前記受信した各情報と、受信時刻とを対応づけたセンシング情報テーブルを生成する推定実施手段と、
    前記センシング情報テーブルに保持される情報を用いて、前記ベイジアンネットワーク上において2つのノード間の条件付確率を示すペア条件付確率を推定し、前記推定したペア条件付確率を、前記初期ペア相関テーブルに格納するペア相関学習手段と、
    をさらに備えることを特徴とする請求項1または請求項2に記載のユーザ行動推定装置。
  4. 前記推定実施手段は、
    前記センシング情報テーブルにユーザ別に保持された情報と、前記確率グラフ構築手段によって生成されたユーザ別のベイジアンネットワークのグラフ構造および条件付確率表とを用いて、前記ユーザ別のベイジアンネットワークにおいてユーザへ提供するサービスについての事象を示すノードに対応する確率値を推定し、前記サービスについて推定した結果を、当該サービスを提供可能な外部端末に通知することを特徴とする請求項3に記載のユーザ行動推定装置。
  5. 前記協調フィルタリング手段は、
    前記初期ペア相関テーブルの格納情報を前記ユーザID毎に整理し、統計的な手法により2人のユーザの相関を推定し、前記推定により得られた、2つの前記ユーザIDの組合せと、対応するユーザ間の相関とを保持するユーザ相関テーブルを作成するユーザ相関推定手段と、
    前記初期ペア相関テーブルと、前記ユーザ相関テーブルとを参照し、所定のノード対に関して第1のユーザが前記ペア条件付確率の情報を有し、第2のユーザが前記ペア条件付確率の情報を有していない場合に、当該ノード対に関して第1のユーザから取得したペア条件付確率を、前記第1のユーザと前記第2のユーザとの相関で重みをつけ、前記第2のユーザのペア条件付確率を推定し、前記推定ペア相関テーブルを生成するペア相関推定手段と、
    を備えることを特徴とする請求項1ないし請求項4のいずれか一項に記載のユーザ行動推定装置。
  6. 前記ユーザ相関推定手段は、前記統計的な手法として、前記ノード対毎に、前記ペア条件付確率の平均値および標準偏差を計算し、前記計算結果を用いて、前記2人のユーザの相関を推定することを特徴とする請求項5に記載のユーザ行動推定装置。
  7. ユーザの行動の推定論理としてのベイジアンネットワークの構築支援を行う推定論理構築支援システムであって、
    請求項2に記載のユーザ行動推定装置と、
    前記ユーザ行動推定装置に対して前記ペア条件付確率を当該ノード対の各ノードIDと共に送信する前記ユーザ端末と、
    を備えることを特徴とする推定論理構築支援システム。
  8. ユーザの行動の推定論理としてのベイジアンネットワークの構築支援を行うと共に、前記ユーザが求めるサービスを推定する推定論理構築支援システムであって、
    請求項4に記載のユーザ行動推定装置と、
    前記ユーザ行動推定装置に対して前記ペア条件付確率を当該ノード対の各ノードIDと共に送信する前記ユーザ端末と、
    前記ユーザ行動推定装置に対して前記ノードIDおよび前記ユーザIDを送信する前記センサ端末と、
    前記ユーザ行動推定装置から、ユーザへ提供するサービスについての事象を示すノードに対応する確率値の推定結果を受信し、当該ユーザに前記サービスとしてアプリケーションを提供するアプリサーバと、
    を備えることを特徴とする推定論理構築支援システム。
  9. ユーザ端末を使用するユーザの行動の推定論理としてのベイジアンネットワークを構築するユーザ行動推定装置によるユーザ行動推定方法であって、
    前記ユーザ行動推定装置は、
    前記ベイジアンネットワーク上において2つのノードからなるノード対の各ノードIDと、当該2つのノード間の条件付確率を示すペア条件付確率とをユーザID別に関連付けたユーザ情報を保持する初期ペア相関テーブルと、
    前記初期ペア相関テーブルに格納された情報と、当該格納された情報を用いて補完された情報とを合わせて保持する推定ペア相関テーブルとを含んで記憶する記憶手段と処理手段とを有し、前記処理手段により、
    前記初期ペア相関テーブルにおいて、前記ユーザ情報同士を比較し、所定のノード対に関して保持された前記ペア条件付確率の情報を有していないユーザがある場合に、当該ノード対に関して当該ユーザのペア条件付確率を、前記所定のノード対に対して保持された前記ペア条件付確率を用いて算出し、前記算出されたペア条件付確率により前記初期ペア相関テーブルを補完することで前記推定ペア相関テーブルを生成するステップと、
    前記推定ペア相関テーブルに格納されたペア条件付確率を用いてユーザID毎に条件付確率表を計算し、ユーザ別の前記ベイジアンネットワークのグラフ構造を構築するステップと、
    を含んで実行することを特徴とするユーザ行動推定方法。
  10. 請求項1ないし請求項6のいずれか一項に記載のユーザ行動推定装置を構成する各手段としてコンピュータを機能させるためのユーザ行動推定プログラム。
JP2009193996A 2009-08-25 2009-08-25 推定論理構築支援システム、ユーザ行動推定装置、ユーザ行動推定方法およびユーザ行動推定プログラム Pending JP2011048435A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009193996A JP2011048435A (ja) 2009-08-25 2009-08-25 推定論理構築支援システム、ユーザ行動推定装置、ユーザ行動推定方法およびユーザ行動推定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009193996A JP2011048435A (ja) 2009-08-25 2009-08-25 推定論理構築支援システム、ユーザ行動推定装置、ユーザ行動推定方法およびユーザ行動推定プログラム

Publications (1)

Publication Number Publication Date
JP2011048435A true JP2011048435A (ja) 2011-03-10

Family

ID=43834718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009193996A Pending JP2011048435A (ja) 2009-08-25 2009-08-25 推定論理構築支援システム、ユーザ行動推定装置、ユーザ行動推定方法およびユーザ行動推定プログラム

Country Status (1)

Country Link
JP (1) JP2011048435A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013178707A (ja) * 2012-02-29 2013-09-09 Kddi Corp レコメンド装置、レコメンド方法およびプログラム
JP2013206016A (ja) * 2012-03-28 2013-10-07 Sony Corp 情報処理装置および方法、並びにプログラム
JP2016091040A (ja) * 2014-10-29 2016-05-23 日本電信電話株式会社 指標値算出装置、指標値算出方法、及びプログラム
JP2017199358A (ja) * 2016-03-10 2017-11-02 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 視覚ベイジアンデータフュージョンのシステムおよび方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009087318A (ja) * 2007-09-14 2009-04-23 Ricoh Co Ltd 情報処理装置、操作支援方法、プログラムおよび記録媒体
JP2009093422A (ja) * 2007-10-09 2009-04-30 Oki Electric Ind Co Ltd 利用者端末制御方法、および、省エネ制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009087318A (ja) * 2007-09-14 2009-04-23 Ricoh Co Ltd 情報処理装置、操作支援方法、プログラムおよび記録媒体
JP2009093422A (ja) * 2007-10-09 2009-04-30 Oki Electric Ind Co Ltd 利用者端末制御方法、および、省エネ制御装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNJ200910065336; 中谷 裕一 Yuichi Nakatani: 電子情報通信学会2008年通信ソサイエティ大会講演論文集2 PROCEEDINGS OF THE 2008 IEICE COMMUNICAT , 20080902, p.336 *
JPN6012067773; 中谷 裕一 Yuichi Nakatani: 電子情報通信学会2008年通信ソサイエティ大会講演論文集2 PROCEEDINGS OF THE 2008 IEICE COMMUNICAT , 20080902, p.336 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013178707A (ja) * 2012-02-29 2013-09-09 Kddi Corp レコメンド装置、レコメンド方法およびプログラム
JP2013206016A (ja) * 2012-03-28 2013-10-07 Sony Corp 情報処理装置および方法、並びにプログラム
JP2016091040A (ja) * 2014-10-29 2016-05-23 日本電信電話株式会社 指標値算出装置、指標値算出方法、及びプログラム
JP2017199358A (ja) * 2016-03-10 2017-11-02 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 視覚ベイジアンデータフュージョンのシステムおよび方法

Similar Documents

Publication Publication Date Title
US10375557B2 (en) System and method for coordinating an emergency response at a facility
JP7376637B2 (ja) グループベース通信システムの自動生成データを利用して処理アクションを開始するためのシステムおよび方法
US9619283B2 (en) Function-based action sequence derivation for personal assistant system
JP6653774B2 (ja) 通知に対するユーザ可用性又は受容性を測定する方法、装置及び機械可読媒体
US8688815B2 (en) System and method for welder with help request functionality
Canito et al. Contextual adaptative interfaces for industry 4.0
US20240103889A1 (en) Systems and methods for rendering and retaining application data associated with a plurality of applications within a group-based communication system
US11854051B2 (en) Systems and methods for generating efficient iterative recommendation structures
AU2017200838A1 (en) Proactive surveys based on customer information
JP2011048435A (ja) 推定論理構築支援システム、ユーザ行動推定装置、ユーザ行動推定方法およびユーザ行動推定プログラム
JP6306254B1 (ja) 予約支援方法およびプログラム
US11132701B2 (en) Method and user device for generating predicted survey participation data at the user device
JP2011028339A (ja) 情報処理装置、情報処理システムおよび情報処理方法
US20210021690A1 (en) Method and apparatus for generating information
US20230351428A1 (en) Systems and methods for providing user offers based on efficient iterative recommendation structures
JP2020177695A (ja) 情報提供システム、および情報提供方法
KR20130067088A (ko) 복합 상황 정보 이벤트 처리 방법 및 그 장치
US20210099518A1 (en) Dynamic user integration in group-based communication systems
JP2020518039A (ja) 電子チャットインタフェースとの対話の改善
CN109074597A (zh) 广告提供系统及程序
US8306213B1 (en) Skill and level assignment via concentric inlaid circles
JP2019008663A (ja) ヘルプ画面提示システム、ヘルプ画面提示方法及びヘルプ画面提示プログラム
US11599661B2 (en) Methods and systems for controlling a device using a model trained on network requests
CN111492392A (zh) 用于更新客户端-项目矩阵的客户端、服务器和客户端-服务器系统
JP2023022513A (ja) ユーザ選定装置、ユーザ選定方法、及びプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110822

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130514