以下、図面を参照して本発明の実施の形態を詳細に説明する。
<本発明の実施の形態の概要>
情報配信において、利用者と情報提供者の双方のニーズに合った配信内容・タイミングの決定が課題となっている。本発明の実施の形態では各行動が本人の習慣に沿っているかを示す「習慣度」を、行動が起きる曜日・時間帯を考慮して従来よりも詳細に定義することにより、柔軟なニーズの把握を試みる。
具体的には、本発明の実施の形態は、情報配信ニーズの2側面を好ましく考慮する比率とその考慮内容を決定するために、確実性の高い情報が好まれるタイミングと、意外性の高い情報が好まれ、新規顧客開拓が狙えるタイミングを見極める。これにより、ユーザと情報提供者双方との満足度を向上させる行動予測技術の創出を目指す。
本実施の形態では、タイミング決定・配信内容決定の両方で、各ユーザが持つ「習慣」に着目する。「習慣」とは、例えば「Aさんは平日の朝は品川駅付近の会社にいることが多い」など、ユーザ情報・時間情報・位置情報の3つを含む情報である。習慣を抽出した上で、今ユーザは習慣に沿った行動をしているのか、非習慣的な行動をしているのかを表す「習慣度」という指標を新しく定義し、算出する。習慣度算出の結果、習慣度が高い場合には、本人習慣を考慮して確実性の高い情報を重点的に提示し、習慣度が低い場合には、他人の習慣を活用して本人にとっては意外性・新規性の高い情報を重点的に提示する、などの活用が考えられる。
ここで、意外性と新規性を二者択一的に考慮するのではなく、習慣度に応じて適切な比率で両方を考慮する。例えば(1)出勤日の昼食時に従来通り会社近くの飲食店街を訪問している習慣状態において、確実性を重視した本人履歴だけでなく、同じ飲食店街に習慣的に訪れる他人の履歴を考慮して意外性を出すことが考えられる。
また、(2)平日に出張で東京から大阪に出張している非習慣状態において、非習慣的にその場所に来た他人がよく行くご当地料理店を提示して意外性を出すことが考えられる。この時、一部のチェックインサービスで得られる施設情報を活用して、ラーメンが好きであるなど、本人の嗜好を反映した確実性の高い情報も合わせて提示することも有効な可能性がある。
加えて、(3)平日の出張帰りに会社の最寄駅をお昼前に通るなど、弱い非習慣状態において、普段の履歴だけでなく、普段よりも少し高級な駅前のレストランなど意外性の高い場所を提示することが有効な可能性がある。
このように「習慣度が低いほど、意外性の高い情報の比率を強くする」という仮定のもとで、提案する習慣度算出結果を利用することにより、情報の確実性・意外性の双方を考慮する比率と配信内容の精度を向上させ、リコメンドを意識した行動予測技術の向上が期待される。
提案手法では曜日・時間帯依存性を考慮した習慣のモデル化を行う。行動の起きる時期まで含めた習慣抽出により、昼食前に飲食店情報を配信するなど、配信タイミングの満足度向上が期待されるだけでなく、より柔軟な習慣度算出が実現できる。
例えば非習慣の検出において、休日における会社の最寄駅近くのショッピングセンターへの訪問など、従来は検出できなかった、よく行く場所への非習慣状態を検出することができる。退社時間が大きく前後した場合などの非習慣状態も検出可能になる。既存サービスや従来研究でも検出可能な、未訪問の場所や自宅から遠い場所への訪問を習慣度が最も低い状態であると捉えた場合、このようなよく行く場所だが時間的に習慣とは異なる訪問を、習慣度がやや低い状態と捉えることができる。
また、提案手法では連続値を取る指標として習慣度を新しく定義し、従来手法では検出不可能な弱い非習慣状態の判別を実現する。この習慣度算出により、他人のログを考慮するべきタイミングの決定を支援するとともに、非習慣同士のログの考慮、習慣状態における嗜好の考慮など非習慣へのより柔軟な対応が可能になると考えられる。
先行技術では、曜日・時間帯を考慮した習慣の積算により、行動予測精度を向上させたが、提案手法のような習慣/非習慣検出に利用する習慣抽出モデルとしては、「月曜8時台」など曜日と時間帯の両方を考慮した習慣が抽出できず不十分であった。提案手法では、曜日と時間帯の両方を考慮した習慣と、曜日・時間帯を考慮しない習慣を加えたモデル化により、柔軟な習慣度定義を実現する。
本発明の実施の形態による習慣度算出は、以下のStep1、2により構成される。
[Step1:確率モデルによる習慣の抽出]
個人周期的習慣(曜日・時間帯を考慮した各訪問場所への確率分布) を抽出する。
[Step2:習慣度の算出]
Step1で抽出した個人周期的習慣をもとに、各行動の習慣度を算出する。
<第1の実施の形態>
<習慣度算出装置のシステム構成>
本発明の第1の実施の形態に係る習慣度算出装置100は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述する習慣抽出処理ルーチン及び習慣度算出処理ルーチンを実行するためのプログラムを記憶したROM(Read Only Memory)とを備えたコンピュータで構成されている。このコンピュータは、機能的には、図1に示すように、習慣度算出用入力部10、習慣度算出用演算部20、及び習慣度算出結果出力部40を含んだ構成で表すことができる。
習慣度算出装置100は、まず、上記Step1の確率分布による習慣の抽出を行い、次に上記Step2の習慣度の算出を行う。
習慣度算出用入力部10は、習慣度算出対象のユーザの訪問行動ログデータを受け付ける。訪問行動ログデータは、ユーザが訪問した訪問場所、曜日、及び時間帯の組み合わせを表す全てのデータの集合である。本実施の形態では、ユーザの訪問行動ログデータの一例として、ユーザによるユーザ端末に対するチェックイン操作に応じて記録された訪問場所、曜日、及び時間帯を表すデータであるチェックインログデータを用いる。すなわち、習慣度算出用入力部10は、習慣度算出対象のユーザの全てのチェックインログデータを受け付ける。チェックインログデータの例を図2に示す。図2では、同一の緯度及び経度の組を持つ場所に対し、同一のLocation IDが割り振られており、本実施の形態による習慣抽出ではLocation IDを場所として用いている。
また、習慣度算出用入力部10は、習慣度算出対象の訪問場所、曜日、及び時間帯の組み合わせのデータを受け付ける。本実施の形態では、一例として、ユーザの最新のチェックインログデータから得られる、訪問場所、曜日、及び時間帯を、習慣度算出対象の訪問場所、曜日、及び時間帯の組み合わせとする。ユーザの最新のチェックインログデータは、ユーザによる直近のチェックイン操作に応じて記録された訪問場所、曜日、及び時間帯を表すデータである。
ここで、習慣度算出用入力部10によって受け付けたチェックインログデータから得られる情報を、表2のように表現する。
ここで、時間帯とはチェックインログが発生した時刻の時間部分を意味する。すなわち、午前1時10分に発生したチェックインログデータは時間帯1と表現し、午前0時10分に発生したチェックインログは時間帯24と表現する。
習慣度算出用演算部20は、習慣度算出用入力部10によって受け付けたユーザのチェックインログデータに基づいて、習慣度算出対象の曜日及び時間帯において、ユーザが訪問場所を訪問する習慣度を算出する。習慣度算出用演算部20は、チェックインログデータベース22と、習慣算出部24と、個人習慣データベース26と、重み係数算出部28と、重み係数データベース30と、習慣度算出部32とを備えている。本実施の形態では、ユーザの習慣を、確率分布を用いて表す。
チェックインログデータベース22には、習慣度算出用入力部10によって受け付けたユーザの全チェックインログデータが格納される。
本実施の形態では、情報配信において内容だけでなくタイミングの向上も考慮している。それ故、曜日や時間帯といった時間情報を活用した習慣を抽出する確率分布(確率モデル)を提案する。曜日や時間帯といった時間情報を活用した習慣を抽出することにより、行動が起きる時期を含めた行動予測が可能になる。さらに、後述する習慣度算出部32による習慣度算出の際に、例えば会社近くのショッピングセンターに休日家族で行った時など、よく行く場所における非習慣状態を検出することが可能になる。
習慣算出部24は、チェックインログデータベース22に格納されたユーザの全チェックインログデータに基づいて、訪問場所l、曜日d、及び時間帯tの組み合わせの各々について、当該曜日d及び時間帯tの組み合わせにおける、ユーザuが当該訪問場所lへ訪問する周期的な習慣性を表す第1の確率P(l|t,d,u)を算出する。
また、習慣算出部24は、ユーザの全チェックインログデータに基づいて、訪問場所l及び曜日dの組み合わせの各々について、当該曜日dにおけるユーザuが当該訪問場所lへ訪問する周期的な習慣性を表す第2の確率P(l|d,u)を算出する。
また、習慣算出部24は、ユーザの全チェックインログデータに基づいて、訪問場所l及び時間帯tの組み合わせの各々について、当該時間帯tにおけるユーザuが当該訪問場所lへ訪問する周期的な習慣性を表す第3の確率P(l|t,u)を算出する。
そして、習慣算出部24は、ユーザの全チェックインログデータに基づいて、訪問場所lの各々について、曜日及び時間帯を考慮せずに、ユーザuが当該訪問場所lへ訪問する周期的な習慣性を表す第4の確率P(l|u)を算出する。
具体的には、習慣算出部24は、上記算出された、第1の確率P(l|t,d,u)、第2の確率P(l|d,u)、第3の確率P(l|t,u)、第4の確率P(l|u)の各々に基づいて、個人(P:Personal)の周期的習慣を確率分布として算出する。曜日・1時間刻みの時間帯両方を24×7の168次元の1週間単位で考慮した習慣を表す確率分布MUPTD(TD:Time,Day of the week)、曜日のみを考慮した習慣を表す確率分布MUPD(D)、時間帯のみを考慮した習慣を表す確率分布MUPT(T)、曜日・時間帯ともに考慮なしの習慣を表す確率分布MUPの4種類の確率分布を、それぞれ多項分布(MU:Multinomial)を用いて以下のように表す。
Clは訪問場所lにおけるチェックイン回数(Count)、すなわちログ数を示す。例えばCl,t,d,uはユーザ、時間帯、曜日、場所を全て限定してチェックイン回数を数えたものであり、Cl,d,uはユーザ、曜日、場所を限定し、時間帯は限定せずにチェックイン回数を数えたものである。
従って、Cl,d,u=ΣtCl,t,d,uである。周期的習慣を表す確率分布MUPTDの算出例を図3に示す。u=A、t=8、d=水のログを抽出した上で、各場所への訪問確率を算出する。時間帯を考慮する確率分布MUPTD、MUPTでは、σ=0.3とした1次元のGaussianフィルターを用いて平滑化を行う。平滑化を行うと、実際の記録時間帯に近いほどチェックイン回数が大きくなるが、前後の時間帯にも値が入る。σの値は、後述する検証結果で示すモデルの検証により決定した。
個人習慣データベース26には、習慣算出部24によって算出された、確率分布MUPTD、MUPD、MUPT、MUPが格納される。
上記習慣算出部24で算出した習慣を表す確率分布のうち、確率分布MUPでは駅やコンビニなど時間規則性はないがよく行く場所の確率が高くなると考えられる。確率分布MUPDでは出張の多い会社員にとっての会社、確率分布MUPTでは営業時間帯の決まっている飲食店、確率分布MUPTDでは出張が少ない会社員にとっての会社などの確率が高くなると考えられる。
このように、習慣を表す確率分布により、確率が高くなりやすい場所が異なるため、本実施の形態では、これらの4つの習慣を表す確率分布から算出された習慣度を組み合わせて、各訪問場所へ訪問する習慣度を算出する。
重み係数算出部28は、チェックインログデータベース22に格納されたチェックインログデータに基づいて、後述する習慣度算出部32による習慣度算出の際に用いられる重み係数を算出する。具体的には、重み係数算出部28は、チェックインログデータのうち、該当する時間帯、曜日、又は場所の組み合わせにおけるログ数を考慮して以下のように重み係数を求める。
上記式(1)の分母について、例えばmaxt,dCt,d,uは最もチェックイン回数が多い曜日・時間帯(月曜8時台など)のチェックイン回数を示す。重み係数wを導入することにより、例えば確率分布MUPTDで、チェックインログデータ中(学習データ中)の予測したい曜日・時間帯のログが他の曜日・時間帯に比べて少ない場合には、重み係数wPTDの値が小さくなることから、習慣度算出において確率分布MUPTDを考慮する比率を下げることが可能になる。
例えば、maxt,dCt,d,u=120である場合のユーザのwPTDを考える。
該当する曜日・時間帯に場所Aに1回だけログがある場合(Case1と称する)、場所Aの訪問確率が100%で、それ以外の場所への訪問確率は0%の確率分布MUPTDが、習慣算出部24によって作成される。
一方、該当する曜日・時間帯に100 回分のログがあり、そのうち100回全てが場所Aへの訪問の場合(Case2と称する)も、同様の確率分布MUPTDが作成され、場所への訪問確率は、Case1の訪問確率と同じになる。
Case1とCase2とで場所Aへの訪問確率は同じだが、上記式(1)を用いると、Case1ではwPTD=1/120、Case2ではwPTD=100/120となり、Case1の方が確率分布MUPTDを考慮する比率が低くなる。母集団となるログ数が多いCase2の方が習慣として信頼度が高いと考えられるため、習慣算出部24における習慣検出時(確率分布算出時)に母集団となるログが少なかった場合は、当該周期的習慣(確率分布)を考慮する比率を下げて習慣度の足し合わせを行う。
重み係数データベース30には、重み係数算出部28によって算出された、重み係数wPTD、wPD、wPT、wPが格納される。
習慣度算出部32は、習慣度算出用入力部10によって受け付けたチェックインログデータから得られる習慣度算出対象の訪問場所、曜日、及び時間帯の組み合わせと、個人習慣データベース26に格納された確率分布MUPTD、MUPD、MUPT、MUPと、重み係数データベース30に格納された重み係数wPTD、wPD、wPT、wPとに基づいて、当該ユーザが習慣度算出対象の曜日及び時間帯において当該訪問場所を訪問する習慣度を算出する。具体的には、習慣度算出部32は、確率分布MUPTDに含まれる第1の確率P(l|t,d,u)、MUPDに含まれる第2の確率P(l|d,u)、MUPTに含まれる第3の確率P(l|t,u)、及びMUPに含まれる第4の確率P(l|u)を用いて習慣度を算出する。
ここで、ユーザが曜日及び時間帯において訪問場所を訪問することが習慣的なのか、非習慣的なのかを示す指標として習慣度Rを以下のように定義する。
ここで、第1項は曜日及び時間帯の組み合わせを考慮した習慣度、第2項は曜日のみ考慮した習慣度、第3項は時間帯のみ考慮した習慣度、第4項は曜日及び時間帯を考慮しない習慣度を表す。各習慣度の算出方法は以下の通りである。
上記式(3)〜(6)において、値の正負で場合分けを行うのは、習慣度が負の値を取る際にも、値が大きいほど習慣度が高くなるようにするためである。詳しい説明は、例を用いて後述する。習慣度Rの算出にあたっては、外れ値検定の際に一般的に使用される尺度を用いた。
また、上記式(3)〜(6)におけるμは確率分布の平均を示す。σPTD、σPD、σPT、σPは、それぞれ確率分布MUPTD、MUPD、MUPT、MUPの標準偏差を示す。上記式(6)の第1式(上段)をMUPについて解くとMUP:P(l|u)=RPσP+ μとなる。習慣度RPは、平均μからMUPが標準偏差σPのRP倍離れていることを示し、直感的には分布内でどれくらい突出しているかを表す。習慣度が大きいほどRは大きい値を取る。
本実施の形態では、ユーザの全チェックインログデータ中(学習データ中)に含まれる全ての場所に対する確率分布を考える。該当時間帯に本人のログが1つも存在しない場所への訪問確率も定義され、その確率は全て0となる。
全場所への訪問確率の和が1であることから、確率分布の平均μは、全場所数を|L|とするとユーザ・時間帯に関わらず全て1/|L|となる。確率分布MUPTD、MUPD、MUPT、MUPの確率が非常に小さく1/|L|未満の場合、各習慣度は負の値を取る。これは非常に習慣度が低い状態として捉えることができる。習慣度算出の例を図4に示す。図4に示すように、2つの確率分布A、Bから時間帯のみ考慮した習慣度RPTを算出する例を考える。全場所数は10で、2つの確率分布は1ユーザの特定時間帯における確率分布MUPTを表しているとする。
本人のその時間帯の訪問確率が0でない訪問場所に対する習慣度(場所10に対する習慣度)と、訪問確率が0の訪問場所に対する習慣度(場所1に対する習慣度)それぞれについて、習慣度算出の結果を説明する。訪問確率が0ではない訪問場所に対する習慣度算出では、そのログで訪問されている場所へのその時間帯における訪問確率が突出しているかを元に算出している。確率がより突出している確率分布Bの方が習慣度は高くなる。
一方、訪問確率が0の訪問場所に対しては、本人のその時間帯の履歴にはない場所であるため、当然習慣度は低くなる。本実施の形態では、このような場合、習慣度が負の値を取るようになっている。これは、|L|は全員分のログに記載されている全場所数の合計となるため、例えば国内の代表的な市街地の場所を想定したデータでも100,000など非常に大きい値となることが多く、ΣlCl,u<<|L|であるためである。ユーザ本人のチェックインが1度でもあれば上記式(5)の
が正かつ0より大きい値になる。一方、1度もチェックインがない場合には、負の値を取る。後者の場合、その時間帯における習慣が確率分布Bのように明確であるほど習慣度が小さいと考えられる。確率分布Bではその時間帯に習慣的にいるはずの場所が場所10のみであるのに対し、確率分布Aでは場所2,4,6,8,10に等確率と曖昧なため、習慣的にいるはずの場所ではない場所1にいる、という状態の非習慣度は確率分布Bの方が高い。上記式(5)の第1式で算出される習慣度をそのまま利用すると、習慣度の値が負になる場合、値が小さいほど習慣度が高くなってしまうため、第2式により値を反転させる。
以上の例から分かる習慣度の値が持つ意味を図5に示す。図5に示すように、習慣度の最小値は−1.0程度であるのに対し、最大値は場所数が増えるほどに大きくなる。場所数が100,000個程度の実験で、この最大値はユーザによっては1,000を超えるような値になった。式(3)〜(6)の各第1式(上段)で算出される値は、習慣度が正の場合は値が大きいほど習慣度が高く、習慣度が負の場合は値が大きいほど非習慣度が高いことになる。そのため、この値をそのまま習慣度として用いると、習慣度が負で、かつその絶対値が小さい場合が一番習慣度の低い状態となる。
しかしながら、これでは値の大小関係がその正負により異なるため扱いづらい。そこで、式(2)〜(5)の各第2式(下段)において、値が負の場合のみ大小関係を逆転させることで、値が大きいほど習慣度が高く、小さいほど習慣度が低くなるようにした。このように、提案する習慣度の指標では、その時間帯におけるログが存在しないような非習慣的な行動に対しても、その時間帯の習慣が明確かどうかで異なる習慣度を出力することができ、値の大小から連続的に習慣度を調べることが可能である。
習慣度算出結果出力部40は、習慣度算出部32によって算出された習慣度算出対象の訪問場所、曜日、及び時間帯の組み合わせに対する習慣度を出力する。
<習慣度算出装置の作用>
次に、第1の実施の形態に係る習慣度算出装置100の作用について説明する。第1の実施の形態の習慣度算出装置100に、習慣度算出対象ユーザの全チェックインログデータが入力されると、習慣度算出装置100によって、まず、図6に示す習慣抽出処理ルーチンが実行される。
まず、ステップS100で、習慣度算出用入力部10によって、対象ユーザの全チェックインログデータを受け付け、当該チェックインログデータをチェックインログデータベース22に格納する。
ステップS102において、習慣算出部24によって、上記ステップS100でチェックインログデータベース22に格納されたユーザの全チェックインログデータに基づいて、訪問場所、曜日、及び時間帯の組み合わせの各々について、当該曜日及び時間帯の組み合わせにおける、当該ユーザが当該訪問場所へ訪問する周期的な習慣性を表す第1の確率P(l|t,d,u)を算出し、確率分布MUPTDを作成する。
また、習慣算出部24は、ユーザの全チェックインログデータに基づいて、訪問場所及び曜日の組み合わせの各々について、当該曜日における当該ユーザが当該訪問場所へ訪問する周期的な習慣性を表す第2の確率P(l|d,u)を算出し、確率分布MUPDを作成する。
また、習慣算出部24は、ユーザの全チェックインログデータに基づいて、訪問場所及び時間帯の組み合わせの各々について、当該時間帯における当該ユーザが当該訪問場所へ訪問する周期的な習慣性を表す第3の確率P(l|t,u)を算出し、確率分布MUPTを作成する。
そして、習慣算出部24は、ユーザの全チェックインログデータに基づいて、訪問場所の各々について、曜日及び時間帯を考慮せずに、当該ユーザが当該訪問場所へ訪問する周期的な習慣性を表す第4の確率P(l|u)を算出し、確率分布MUPを作成する。
ステップS104において、習慣算出部24によって、上記ステップS102で作成された、確率分布MUPTD、MUPD、MUPT、MUPを個人習慣データベース26に格納する。
ステップS106において、重み係数算出部28によって、ユーザの全チェックインログデータに基づいて、上記式(1)に従って、習慣度算出の際に用いられる重み係数wPTD、wPD、wPT、wPを算出する。
ステップS108において、重み係数算出部28によって、上記ステップS106で算出された、重み係数wPTD、wPD、wPT、wPを重み係数データベース30に格納して、習慣抽出処理ルーチンを終了する。
次に、ユーザの最新のチェックインログデータが習慣度算出装置100に入力されると、習慣度算出装置100によって、図7に示す習慣度算出処理ルーチンが実行される。
まず、ステップS200において、習慣度算出用入力部10によって、ユーザの最新のチェックインログデータを受け付ける。
ステップS202において、習慣度算出部32によって、上記ステップS200で受け付けた最新のチェックインログデータに含まれる習慣度算出対象の訪問場所、曜日、及び時間帯の組み合わせと、個人習慣データベース26に格納された確率分布MUPTD、MUPD、MUPT、MUPと、重み係数データベース30に格納された重み係数wPTD、wPD、wPT、wPとに基づいて、上記式(2)〜(6)に従って、当該ユーザが習慣度算出対象の曜日及び時間帯において当該訪問場所を訪問する習慣度を算出する。
ステップS204において、習慣度算出結果出力部40によって、上記ステップ202で算出された習慣度を出力して、習慣度算出処理ルーチンを終了する。
なお、ステップS204において出力された習慣度Rは、情報配信システム等の上位モジュールによって使用される。上位モジュールでは、例えば、「習慣度が低いほど、意外性の高い情報の比率を強くする」というように、習慣度に応じて、配信する情報の種類を決定することができる。
以上説明したように、第1の実施の形態に係る習慣度算出装置によれば、ユーザの全チェックインログデータに基づいて、訪問場所、曜日、及び時間帯の組み合わせの各々について、曜日及び時間帯の組み合わせにおける、ユーザが訪問場所へ訪問する周期的な習慣性を表す確率を算出し、ユーザの最新のチェックインログデータから得られる訪問場所、曜日、及び時間帯の組み合わせと、算出された当該確率とに基づいて、ユーザが当該曜日及び時間帯において当該訪問場所を訪問する習慣度を算出することにより、曜日及び時間帯の組み合わせを考慮して、ユーザが訪問場所へ訪問する習慣度を精度よく算出することができる。
すなわちユーザの最新のチェックインログデータが表す行動が習慣に沿ったものであるか否かを表すことができる。
また、位置情報に基づく習慣の蓄積と各行動の習慣度算出が可能になる。
また、習慣度が低い状態において、本人の履歴にはない場所に行く可能性が高いこと分かっており、習慣度算出結果に応じて、行動予測の際に他人の履歴を利用するかどうかを判断することができると考えられる。
また、習慣度算出結果を用いることにより、同じ本人履歴の考慮を行う場合でも、習慣度が高ければ本人の履歴にある場所を、習慣度が低ければ本人の嗜好だけを考慮することが可能になる。
加えて、他人履歴を考慮する際にも、同じような習慣度の他人履歴を考慮することにより、非習慣状態にはご当地料理店を推薦する、などの柔軟な情報配信が可能になると期待される。
このように、習慣度算出結果を、情報配信に対する「確実性」「意外性」をどのタイミングでどのように実現するべきかを決定する指標として活用することにより、ユーザのニーズに柔軟に対応した情報配信内容・タイミングの決定が実現できると考えられる。
また、会社出勤日の昼食時など習慣行動中にはよく行く店舗のクーポンなど確実性の高い情報、休日や出張時など非習慣行動中には行楽情報など新規性・意外性の高い情報を配信するなどの活用が考えられ、利用者・情報提供者双方の満足度向上が期待される。
<第2の実施の形態>
次に、第2の実施の形態について説明する。第2の実施の形態は、行動予測対象のユーザのチェックインログデータと、行動予測対象でない複数のユーザのチェックインログデータとに基づいて、ユーザの行動を予測する点が、第1の実施の形態と異なる。なお、第2の実施の形態について、第1の実施の形態と同一の構成については、同一符号を付して、詳細な説明を省略する。
<行動予測装置のシステム構成>
本発明の第2の実施の形態に係る行動予測装置200は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述する習慣抽出処理ルーチン及び行動予測処理ルーチンを実行するためのプログラムを記憶したROM(Read Only Memory)とを備えたコンピュータで構成されている。このコンピュータは、機能的には、図8に示すように、行動予測用入力部50、行動予測用演算部60、及び行動予測結果出力部80を含んだ構成で表すことができる。
行動予測用入力部50は、複数のユーザの各々についての全てのチェックインログデータを受け付ける。
また、行動予測用入力部50は、行動予測対象として入力された曜日及び時間帯と、行動予測対象のユーザを示す情報とを受け付ける。すなわち、行動予測用入力部50は、予測したいユーザ、曜日、及び時間帯を受け付ける。
行動予測用演算部60は、行動予測用入力部50によって受け付けた複数のユーザの全チェックインログデータに基づいて、訪問場所の各々に対し、行動予測対象のユーザが当該訪問場所を訪問することが予測される確率を表す訪問確率を算出する。行動予測用演算部60は、重み係数算出部28と、重み係数データベース30と、チェックインログデータベース62と、習慣算出部64と、個人習慣データベース66と、全体習慣データベース68と、周期的習慣算出部70と、遷移習慣算出部72と、行動予測部74とを備えている。
チェックインログデータベース62には、行動予測用入力部50によって受け付けた、行動予測対象のユーザを含む複数のユーザの各々についての全チェックインログデータが格納される。
習慣算出部64は、チェックインログデータベース62に格納された行動予測対象のユーザuの全チェックインログデータに基づいて、第1の実施の形態と同様に、訪問場所l、曜日d、及び時間帯tの組み合わせの各々に対する周期的な習慣性を表す第1の確率P(l|t,d,u)、訪問場所l及び曜日dの組み合わせの各々に対する第2の確率P(l|d,u)、訪問場所l及び時間帯tの組み合わせの各々に対する第3の確率P(l|t,u)、並びに訪問場所lの各々に対する第4の確率P(l|u)を算出する。そして、習慣算出部64は、第1の確率P(l|t,d,u)、第2の確率P(l|d,u)、第3の確率P(l|t,u)、及び第4の確率P(l|u)の各々に基づいて、確率分布MUPTD、MUPD、MUPT、MUPを作成する。
また、位置情報に基づく行動予測では、定食屋Aに来た人は、その後カフェBへ行くことが多いなど、n番目の訪問場所lnからn+1番目の訪問場所ln+1への行きやすさを表す遷移確率を用いることが有効であると示されている。上記非特許文献1に記載の手法でも個人ログデータから算出した、周期的習慣と遷移習慣とを掛け合わせた確率を算出している。そこで、本実施の形態においても、周期的習慣に加え遷移習慣を考慮する。ここでは、各訪問場所から各訪問場所への遷移確率を算出し、個人(行動予測対象のユーザ)だけでなく、全ユーザ(G:Global)についてもそれぞれ遷移習慣を考慮する。これは、本人の習慣に従わない行動をしている際に、全体の遷移習慣を合わせて利用すると、行動予測精度が向上する可能性があると考えられるためである。
ここで、遷移する習慣性を表す遷移確率(遷移習慣)の一例として、一次マルコフモデル(MM:Markov Model)により遷移する習慣性を表す遷移確率を算出する。個人の遷移習慣(第1遷移確率)MMPは、以下のように、訪問場所lnからln+1への遷移確率Puで表わされ、全体の遷移習慣(第2遷移確率)MMGは、以下のように、訪問場所lnからln+1への遷移確率Pで表わされる。
MMP(個人遷移習慣):Pu(ln+1|ln)
MMG(全体遷移習慣):P(ln+1|ln)
従って、習慣算出部64は、チェックインログデータベース62に格納された行動予測対象のユーザの全チェックインログデータに基づいて、一次マルコフモデルにより、訪問場所のペア(ln、ln+1)の各々について、当該ユーザuが当該ペアの一方の訪問場所lnから他方の訪問場所ln+1へ遷移する習慣性を表す第1遷移確率MMPを更に算出する。ここで、訪問場所のペアの各々には、同じ訪問場所からなるペアも含まれる。
また、習慣算出部64は、チェックインログデータベース62に格納された複数のユーザの全チェックインログデータに基づいて、一次マルコフモデルにより、訪問場所のペア(ln、ln+1)の各々について、複数のユーザが当該ペアの一方の訪問場所lnから他方の訪問場所ln+1へ遷移する習慣性を表す第2遷移確率MMGを算出する。
個人習慣データベース66には、習慣算出部64によって作成された確率分布MUPTD、MUPD、MUPT、MUPと、習慣算出部64によって算出された第1遷移確率MMPとが格納される。
全体習慣データベース68には、習慣算出部64によって算出された第2遷移確率MMGが格納される。
周期的習慣算出部70は、訪問場所の各々に対し、行動予測用入力部50によって受け付けた行動予測対象として入力された曜日及び時間帯と当該訪問場所との組み合わせについて、個人習慣データベース66に格納された確率分布MUPTD、MUPD、MUPT、MUPを用いて、周期的習慣による訪問確率を算出する。
具体的には、周期的習慣算出部70は、訪問場所lの各々に対し、行動予測対象として入力された曜日d及び時間帯tと当該訪問場所lとに基づいて、個人習慣データベース66に格納された、第1の確率P(l|t,d,u)、第2の確率P(l|d,u)、第3の確率P(l|t,u)、第4の確率P(l|u)を組み合わせて、以下の式(7)に従って、周期的習慣による訪問確率PPALLを算出する。
なお、重み係数wは上記式(1)と同様に求めるが、全場所への周期的習慣による訪問確率の和を1にするために、wPTD:wPD:wPT:wPの値の比率を維持したまま、wPTD+wPD+wPT+wP=1.0となるような正規化を行う。
遷移習慣算出部72は、チェックインログデータベース62に格納された行動予測対象のユーザの全チェックインログデータに基づいて、行動予測対象のユーザの直前の訪問場所を取得する。また、遷移習慣算出部72は、訪問場所の各々に対し、行動予測対象のユーザの直前の訪問場所と、個人習慣データベース66に格納されている第1遷移確率MMP又は全体習慣データベース68に格納されている第2遷移確率MMGとに基づいて、遷移習慣による訪問確率を算出する。
具体的には、遷移習慣算出部72では、lnを出発するユーザ本人の遷移履歴がある場合はMMPを、ユーザ本人の履歴はないが全体遷移履歴のみがある場合はMMGを使い分けるMMGPを以下のように定義する。また、lnを出発する履歴が本人、全体ともに存在しない場合には0とする。
上記の非特許文献1の手法では、周期的習慣と遷移習慣とを独立と捉えて掛け合わせて用いていたが、掛け合わせを行うと、周期的習慣、遷移習慣のどちらかが0に近い場合に、他方の確率がほとんど反映されなくなってしまうという問題がある。そこで、本実施の形態においては、行動予測部74は、周期的習慣による訪問確率(PPALL)と遷移習慣による訪問確率(MMGP)との重み付き線形和で各訪問場所への訪問確率を算出する。
具体的には、行動予測部74は、訪問場所の各々に対し、行動予測用入力部50によって受け付けたユーザの行動予測対象として入力された曜日及び時間帯と当該訪問場所との組み合わせについて習慣算出部64によって算出された当該確率PPALLと、行動予測用入力部50によって受け付けた当該ユーザの直前の訪問場所から当該訪問場所へ遷移する第1遷移確率MMP又は第2遷移確率MMGとに基づいて、訪問確率を算出する。
すなわち、行動予測部74は、訪問場所の各々に対し、周期的習慣算出部70によって算出された周期的習慣による訪問確率PPALLと、遷移習慣算出部72によって算出された遷移習慣による訪問確率MMGPとに基づいて、ユーザが当該訪問場所を訪問することが予測される確率を表す訪問確率を算出する。本実施の形態では、0.3PPALL+0.7MMGPとした。PPALLとMMGPの重み付き線形和における重み(ここではそれぞれ0.3、0.7)は、後述する検証結果で示すモデルの検証により決定した。
行動予測結果出力部80は、行動予測部74によって訪問場所の各々に対して算出された訪問確率を出力する。
<行動予測装置の作用>
次に、第2の実施の形態に係る行動予測装置200の作用について説明する。第2の実施の形態の行動予測装置200に、行動予測対象のユーザを示す情報と、行動予測対象のユーザを含む複数のユーザの全チェックインログデータとが入力されると、行動予測装置200によって、図9に示す習慣抽出処理ルーチンが実行される。
まず、ステップS300で、行動予測用入力部50によって、行動予測対象のユーザを示す情報を受け付けると共に、複数のユーザの全チェックインログデータを受け付け、当該チェックインログデータをチェックインログデータベース62に格納する。
ステップS303において、習慣算出部64によって、上記ステップS300で格納された行動予測対象のユーザの全チェックインログデータに基づいて、訪問場所のペアの各々について、当該ユーザが当該ペアの一方の訪問場所から他方の訪問場所へ遷移する習慣性を表す第1遷移確率MMPを算出する。
ステップS304において、習慣算出部64によって、上記ステップS303で算出された第1遷移確率MMPを個人習慣データベース66に格納する。
ステップS305において、習慣算出部64によって、上記ステップS300で受け付けた複数のユーザの全チェックインログデータに基づいて、訪問場所のペアの各々について、複数のユーザが当該ペアの一方の訪問場所から他方の訪問場所へ遷移する習慣性を表す第2遷移確率MMGを算出する。
ステップS306において、習慣算出部64によって、上記ステップS305で算出された第2遷移確率MMGを全体習慣データベース68に格納する。
そして、ステップS106〜S108の処理を実行して、習慣抽出処理ルーチンを終了する。
次に、行動予測対象として入力された曜日及び時間帯が行動予測装置200に入力されると、行動予測装置200によって、図10に示す行動予測処理ルーチンが実行される。
まず、ステップS400で、行動予測用入力部50によって、行動予測対象として入力された曜日及び時間帯を受け付ける。ステップS401で、行動予測対象のユーザの全チェックインログデータから、行動予測対象のユーザの直前の訪問場所を取得する。
ステップS402において、周期的習慣算出部70によって、訪問場所の各々に対し、上記ステップS400で受け付けたユーザの行動予測対象として入力された曜日及び時間帯と当該訪問場所との組み合わせについて、上記式(7)に従って、個人習慣データベース66に格納された確率分布MUPTD、MUPD、MUPT、MUPと、重み係数データベース30に格納された重み係数wPTD、wPD、wPT、wPをwPTD+wPD+wPT+wP=1.0を満たすように正規化した値とに基づいて、周期的習慣による訪問確率PPALLを算出する。
ステップS404において、遷移習慣算出部72によって、訪問場所の各々に対し、上記ステップS401で取得したユーザの直前の訪問場所と、個人習慣データベース66に格納されている第1遷移確率MMP又は全体習慣データベース68に格納されている第2遷移確率MMGとに基づいて、遷移習慣による訪問確率MMGPを決定する。
ステップS406において、行動予測部74によって、訪問場所の各々に対し、上記ステップS402で算出された周期的習慣による訪問確率PPALLと、上記ステップS404で決定された遷移習慣による訪問確率MMGPとに基づいて、ユーザが当該訪問場所を訪問することが予測される確率を表す訪問確率を算出する。
ステップS408において、ステップS406で算出された訪問確率の各々を出力して、行動予測処理ルーチンを終了する。
そして、ステップS408において出力された訪問確率の各々のうち訪問確率が上位となった訪問場所が、行動予測対象のユーザが訪問するであろう訪問場所として予測される。
なお、第2の実施の形態に係る行動予測装置の他の構成及び作用については、第1の実施の形態と同様であるため、説明を省略する。
以上説明したように、第2の実施の形態に係る行動予測装置によれば、ユーザの全チェックインログデータに基づいて、訪問場所、曜日、及び時間帯の組み合わせの各々について、曜日及び時間帯の組み合わせにおける、ユーザが当該訪問場所へ訪問する周期的な習慣性を表す確率、およびユーザ本人またはユーザ全体の1つ前の訪問場所から次の訪問場所への遷移習慣による訪問確率をそれぞれ算出し、訪問場所の各々に対し、ユーザの行動予測対象として入力された曜日及び時間帯と当該訪問場所との組み合わせについて算出された周期的な習慣性を表す確率、および直前の訪問場所から当該訪問場所へ遷移するユーザ本人およびユーザ全体の遷移習慣による訪問確率に基づいて、ユーザが当該訪問場所を訪問することが予測される確率を表す訪問確率を算出することにより、ユーザの行動を精度よく予測することができる。
<検証結果1>
次に、第2の実施の形態に係る行動予測装置の検証結果を示す。具体的には、行動予測精度評価による検証を実施し、時間帯や曜日の考慮有無に応じた4つの確率分布を重みづけして足し合わせてユーザの行動予測を行う場合の効果を検証する。
行動予測部74における、周期的習慣による訪問確率と遷移習慣による訪問確率との重みは、前述の通り予測精度による検証から0.3PPALL+0.7MMGPとする。
検証実験にはStanford大学が以下で公開しているチェックインログを使用する。
非特許文献:[平成26年1月28日検索]インターネット<URL:http://snap.stanford.edu/data/#locnet>
ここでは、Gowalla、Brightkiteの2つのサイトのログが公開されている。本検証においては、公開データに含まれるログのうち、日本国内のデータだけを抜粋した。100ログ以上あるユーザについて、各ユーザのログのうち80%を学習データ(確率分布を作成する際のユーザの全チェックインログデータ)とし、残りの20%をテストデータとする。100ログ未満のユーザのログは全て学習データとした。
予測するテストログの中には、実際は非習慣行動と判定されるべきログも混在しているため、予測精度には限界があると考えられる。しかしながら、テストデータに含まれる習慣的行動の予測精度評価により、提案法による習慣抽出モデルがもたらす効果を定量的に評価できると期待される。表3に各習慣の利用による行動予測精度を示す。ここでは、テストデータ中の訪問の曜日・時間帯と、1つ前の訪問場所を与えた上で全場所への訪問確率を算出し、そのうち上位5個(p@5)または1個(p@1)を出力することで、正答率を計算する。予測精度は正答回数/総予測回数で算出し、単位は%とする。
4つの習慣を組み合わせた(e)PPALLを用いることにより、各習慣を単独で利用する(a)‐(d)に比べ、精度が向上することが分かった。
加えて、本人と全ユーザの遷移習慣を組み合わせて利用したMMGPとの線形和を取った(f)を用いると、さらに精度が向上した。曜日考慮習慣、時間帯考慮習慣、個人遷移習慣をそれぞれ独立と捉えて掛け合わせた非特許文献1のモデル(g)の精度を上回っていることが分かる。参考のために、提案したPPALLを周期的習慣として用いた上で、非特許文献1と同様に個人遷移習慣との掛け合わせを行った(h)を見ると、曜日・時間帯を独立と考えた非特許文献1の(g)よりも精度が高いことが分かる。すなわち、遷移習慣との組み合わせ方法改良による効果を取り除いた場合においても、PPALLが有効であることが分かる。
以上のように、4つの習慣を組み合わせたPPALLは、単独で用いる場合、遷移習慣と組み合わせて用いる場合の両方において効果があり、習慣度算出においても、同様の組み合わせを行うことが有効であると考えられる。また、遷移習慣の抽出方法、周期的習慣・遷移習慣の組み合わせ方法にも改良を加えることにより、非特許文献1の既存手法に比べて、p@5で10%以上の精度向上が見られることが分かった。
<検証結果2>
上記検証結果1で示したデータを用いて、テストデータ中の各ログの習慣度を算出し、第1の実施の形態の効果を検証した。まず、場所毎に全ユーザによる習慣度を平均した結果、習慣度が特に高かった場所と低かった場所を図11に示す。習慣性が高いと予想されるオフィスや住宅、習慣性が低いと予想されるイベント会場や観光地がそれぞれ抽出された。
図12はGowallaの1ユーザのテストログに対して、場所毎に平均した習慣度を、緯度経度情報を参照して2次元平面上に配置したものである。観察するユーザはログ数が多いユーザのうち、RPとRPTDの差が大きいユーザを選出した。図12の2次元平面は縦が緯度方向で横が経度方向の地図に相当する。図12のうち上段の図中の線は一部の鉄道を示す。また、図12の図中では、色が濃いほど習慣度が高いことを示す。最も薄い色は習慣度が負の場合、残りの8色は習慣度が正のものについて、値の大小で8段階に分けた。上段の図中a、bのように習慣度の高い黒色が集中している場所の周辺にも、習慣度が低い灰色などが見られることが分かる。頻繁に訪問する場所からの距離が遠いほど非習慣とする従来の方法では検出できない非習慣が検出できている。
図12の下部分はaの周辺を拡大したものである。吹き出しの中の括弧内の数字は、学習データ中の訪問回数である。駅や予備校の習慣度が最も高く、ハンバーガー店やコンビニの習慣度が次いで高い。一方、同じハンバーガー店でも習慣度が低いものも見られ、非習慣的にこのハンバーガー店や牛丼チェーン、ラーメン屋を訪問していることが分かる。習慣度の値を詳細に観察すると、必ずしも学習データにおいて訪問回数が多いほど習慣度が高いという結果にはなっていないことが分かった。
図13は同じユーザの21日分のテストデータの習慣度変遷を時系列に沿って可視化したものである。横軸の点線は日付を示し、1日の中を1時間ずつ24分割した。縦軸は場所を表す。テストデータに登場した順に下から表示を割り当てた。矩形で囲まれた場所(予備校)を見ると、ほぼ毎日訪問しているものの、その習慣度には微妙な変化があることが分かる。この予備校における周期性習慣の抽出結果と、各訪問における習慣度の詳細を図14にまとめた。なお、図14でMUPDの表の1は月曜日で7は日曜日を示す。比較的習慣度の低い2回目(2日目)、3回目(3日目)、11回目(12日目)などの訪問は訪問時間帯や曜日が習慣と異なるため、習慣度が低いことが分かる。例えば11回目の訪問は従来よりも遅い時間に予備校にいたため、習慣度が低いと考えられる。この後の訪問を調べると、非習慣的にラーメン屋を訪問していることが分かった。帰りが遅れたため、普段あまり利用しない飲食店で食事をして帰ったという可能性が考えられる。11回目の訪問だけでなく、図13において楕円で囲まれているように、いつも訪れている場所への訪問にも関わらず訪問時間帯が非習慣的だった場合、その前後にも非習慣行動が続きやすいことが可視化結果から分かる。このような非習慣行動を続けているタイミングで、本人履歴がない、新規性・意外性の高い飲食店を推薦するなどといった情報配信への活用が検討できる。
以上にように、1人のユーザについて、非習慣行動を行っている際に、続けて非習慣行動を行う場合があるということが観察できたが、統計的にそのような傾向があるかどうかを検証する必要がある。移動時間が2時間以内で連続する2ログ間の習慣度の差を分析したところ、習慣度差の平均はGowallaで−3.35、Brightkiteで−8.11であることが分かった。習慣度差の平均が負の値を取るということは、非習慣状態(習慣度は小さい)から習慣状態(習慣度は大きい)への変化は少ないということを示す。従って、習慣度の値が低い時に、本人履歴にない場所を推薦することが有効な可能性があると考えられる。
本発明は、上記実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、上記の実施の形態では、訪問行動ログデータとしてチェックインログデータを用いた場合を例に説明したが、これに限定されるものではなく、訪問場所、曜日、及び時間帯の組み合わせを表す他の位置情報データを用いてもよい。
また、上記の実施の形態では、時間帯の単位を1時間刻みとした場合を例に説明したが、これに限定されるものでなく、他の単位の時間帯を用いてもよい。
また、第1の実施の形態の習慣度算出部32では、上記式(2)に示したように、4つの習慣度RPTD、RPD、RPT、及びRPを重み付けして算出した結果を出力する場合を例に説明したが、これに限定されるものではない。例えば、曜日及び時間帯において当該訪問場所を訪問する習慣度RPTDのみを算出して出力してもよい。
また、第2の実施の形態の行動予測部74では、周期的習慣による訪問確率と遷移習慣による訪問確率とを考慮してユーザの訪問確率を算出する場合を例に説明したが、これに限定されるものではない。例えば、周期的習慣による訪問確率PALLのみを考慮し、当該周期的習慣による訪問確率PALLをユーザの訪問確率として算出してもよい。さらに、周期的習慣による訪問確率PALLを、4つの確率である、第1の確率P(l|t,d,u)、第2の確率P(l|d,u)、第3の確率P(l|t,u)、第4の確率P(l|u)を重みづけして算出した場合を例に説明したが、これに限定されるものではなく、例えば、行動予測対象として入力された曜日及び時間帯と当該訪問場所との組み合わせについて算出された第1の確率P(l|t,d,u)を訪問確率PALLとして算出してもよい。
また、第1の実施の形態では、習慣算出部24と習慣度算出部32とを1つの装置として構成する場合を例に説明したが、習慣算出部24と習慣度算出部32とを別々の装置として構成してもよい。
また、第2の実施の形態では、習慣算出部64と行動予測部74とを1つの装置として構成する場合を例に説明したが、習慣算出部64と行動予測部74とを別々の装置として構成してもよい。
また、第1の実施の形態の習慣度算出装置100は、チェックインログデータベース22、個人習慣データベース26、及び重み係数データベース30を備えている場合について説明したが、例えばチェックインログデータベース22、個人習慣データベース26、及び重み係数データベース30の少なくとも1つが習慣度算出装置100の外部装置に設けられ、習慣度算出装置100は、外部装置と通信手段を用いて通信することにより、チェックインログデータベース22、個人習慣データベース26、及び重み係数データベース30を参照するようにしてもよい。
また、第2の実施の形態の行動予測装置200は、チェックインログデータベース62、個人習慣データベース66、全体習慣データベース68、及び重み係数データベース30を備えている場合について説明したが、例えばチェックインログデータベース62、個人習慣データベース66、全体習慣データベース68、及び重み係数データベース30の少なくとも1つが行動予測装置200の外部装置に設けられ、行動予測装置200は、外部装置と通信手段を用いて通信することにより、チェックインログデータベース62、個人習慣データベース66、全体習慣データベース68、及び重み係数データベース30を参照するようにしてもよい。
また、上述の習慣度算出装置、及び行動予測装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。