(57)【特許請求の範囲】
【請求項１】
第１の場所と第２の場所との組み合わせに対応付けて、該第１の場所から該第２の場所へとユーザが遷移する該ユーザごとの遷移確率を記憶する遷移確率記憶部と、
任意のユーザの位置情報を受け付ける受付部と、
前記受付部により前記位置情報が受け付けられると、該位置情報により示される場所が前記第１の場所となる前記組み合わせに対応付けて前記遷移確率記憶部に記憶されたユーザごとの遷移確率各々について、該遷移確率に対応する前記ユーザの該第１の場所に対する馴染み度合いと、該遷移確率に対応する前記ユーザと前記任意のユーザとの類似度とに応じた重み付けを行った値を算出する第１の算出部と、
前記第２の場所が同一となる前記組み合わせに対応付けられた遷移確率について前記第１の算出部により算出された値各々の累積値を算出することで、前記位置情報により示される場所から該第２の場所へと前記任意のユーザが遷移する遷移確率を算出する第２の算出部と
を備えたことを特徴とする行動予測装置。
【請求項２】
前記ユーザの馴染み度合いを前記場所ごとに記憶する馴染み度合い記憶部と、
前記ユーザ間の類似度を記憶する類似度記憶部とを更に備え、
前記第１の算出部は、前記馴染み度合い記憶部に記憶された馴染み度合いと、前記類似度記憶部に記憶された類似度とに応じて重み付けを行った値を算出することを特徴とする請求項１に記載の行動予測装置。
【請求項３】
前記第２の算出部は、前記第２の場所ごとに前記遷移確率を算出し、
前記第２の算出部により遷移確率が算出された前記第２の場所のうち、他の前記第２の場所より高い遷移確率が算出された第２の場所を優先して出力する出力部を更に備えたことを特徴とする請求項１又は２に記載の行動予測装置。
【請求項４】
任意のユーザの位置情報を受け付ける受付工程と、
前記受付工程により前記位置情報が受け付けられると、第１の場所と第２の場所との組み合わせに対応付けて該第１の場所から該第２の場所へとユーザが遷移する該ユーザごとの遷移確率を記憶する遷移確率記憶部を参照し、該位置情報により示される場所が前記第１の場所となる前記組み合わせに対応付けて前記遷移確率記憶部に記憶されたユーザごとの遷移確率各々について、該遷移確率に対応する前記ユーザの該第１の場所に対する馴染み度合いと、該遷移確率に対応する前記ユーザと前記任意のユーザとの類似度とに応じた重み付けを行った値を算出する第１の算出工程と、
前記第２の場所が同一となる前記組み合わせに対応付けられた遷移確率について前記第１の算出工程により算出された値各々の累積値を算出することで、前記位置情報により示される場所から該第２の場所へと前記任意のユーザが遷移する遷移確率を算出する第２の算出工程と
を含んだことを特徴とする行動予測方法。
【請求項５】
前記第１の算出工程は、前記ユーザの馴染み度合いを前記場所ごとに記憶する馴染み度合い記憶部に記憶された前記馴染み度合いと、前記ユーザ間の類似度を記憶する類似度記憶部に記憶された前記類似度とに応じて重み付けを行った値を算出することを特徴とする請求項４に記載の行動予測方法。
【請求項６】
前記第２の算出工程は、前記第２の場所ごとに前記遷移確率を算出し、
前記第２の算出工程により遷移確率が算出された前記第２の場所のうち、他の前記第２の場所より高い遷移確率が算出された第２の場所を優先して出力する出力工程を更に備えたことを特徴とする請求項４又は５に記載の行動予測方法。
【請求項７】
コンピュータを請求項１〜３のいずれかに記載の行動予測装置として機能させるための行動予測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、行動予測装置、行動予測方法及び行動予測プログラムに関する。
【背景技術】
【０００２】
ユーザの行動履歴に基づいて、ユーザの今後の行動を予測する予測手法がある。行動履歴は、例えば、ユーザの携帯端末に搭載されたＧＰＳ（Global  Positioning  System）により得られる位置情報が該当する。予測手法では、例えば、ユーザの次の行動を予測するための予測モデルを作成しておき、作成した予測モデルに基づいてユーザの次の行動を予測する。
【０００３】
例えば、ユーザごとの行動履歴に基づいて、そのユーザの次の行動を予測するための予測モデルを作成して用いる手法がある。また、例えば、複数のユーザの行動履歴に基づいて、全ユーザに適用する予測モデルを１つ作成して用いる手法がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Daniel  Ashbrook  and  Thad  Starner、  "Using  GPS  to  Learn  Significant  Locations  and  Predict  Movement  across  Multiple  Users"、  Personal  and  Ubiquitous  Computing  7（5）、  pp.  275-286  （2003）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の手法では、予測精度が低いという課題がある。例えば、ユーザごとの行動履歴に基づく手法では、ユーザ自身の過去の行動履歴に基づいて予測することになり、行動履歴が存在しない場合には予測できない。例えば、ユーザごとの行動履歴に基づく手法では、ユーザが初めて訪れた旅行先において、予測できない。また、複数のユーザの行動履歴に基づく手法では、全ユーザの行動履歴に基づいて予測することになり、ユーザがユーザ固有の行動をする場合に予測精度が低くなる。例えば、複数のユーザの行動履歴に基づく手法では、ユーザ固有の行動となる通勤をしている際に次の行動を予測したとしても、予測精度が低くなる。
【０００６】
開示の技術は、上述に鑑みてなされたものであって、予測精度を向上可能である装置、行動予測方法及び行動予測プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
開示する行動予測装置は、一つの態様において、第１の場所と第２の場所との組み合わせに対応付けて、該第１の場所から該第２の場所へとユーザが遷移する該ユーザごとの遷移確率を記憶する遷移確率記憶部を備える。また、行動予測装置は、任意のユーザの位置情報を受け付ける受付部を備える。また、行動予測装置は、前記受付部により前記位置情報が受け付けられると、該位置情報により示される場所が前記第１の場所となる前記組み合わせに対応付けて前記遷移確率記憶部に記憶されたユーザごとの遷移確率各々について、該遷移確率に対応する前記ユーザの該第１の場所に対する馴染み度合いと、該遷移確率に対応する前記ユーザと前記任意のユーザとの類似度とに応じた重み付けを行った値を算出する第１の算出部を備える。また、行動予測装置は、前記第２の場所が同一となる前記組み合わせに対応付けられた遷移確率について前記第１の算出部により算出された値各々の累積値を算出することで、前記位置情報により示される場所から該第２の場所へと前記任意のユーザが遷移する遷移確率を算出する第２の算出部を備える。
【発明の効果】
【０００８】
開示する行動予測装置の一つの態様によれば、予測精度を向上可能であるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る行動予測装置の構成の一例を示すブロック図である。
【図２】図２は、実施例１における行動履歴テーブルに記憶された情報の一例を示す図である。
【図３】図３は、実施例１における滞留行動テーブルに記憶された情報の一例を示す図である。
【図４】図４は、実施例１における遷移確率テーブルにより記憶される情報の一例を示す図である。
【図５】図５は、実施例１における馴染み度合いテーブルに記憶された情報の一例を示す図である。
【図６】図６は、実施例１における類似度テーブルに記憶された情報の一例を示す図である。
【図７】図７は、実施例１における行動離散化処理部による離散系列生成の一例について説明する図である。
【図８】図８は、実施例１に係る行動予測装置による学習処理の流れの一例を示すフローチャートである。
【図９】図９は、実施例１に係る行動予測装置による予測処理の流れの一例を示すフローチャートである。
【図１０】図１０は、行動予測装置による一連の処理を実行するプログラムである行動予測プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。
【発明を実施するための形態】
【００１０】
以下に、開示する行動予測装置、行動予測方法及び行動予測プログラムの実施例について、図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１１】
［実施例１に係る行動予測装置の構成］
図１を用いて、実施例１に係る行動予測装置１００の構成の一例を示す。図１は、実施例１に係る行動予測装置の構成の一例を示すブロック図である。図１に示す例では、行動予測装置１００は、入力部１０１と、出力部１０２と、記憶部１１０と、制御部１２０とを有する。
【００１２】
入力部１０１は、制御部１２０と接続される。入力部１０１は、情報や指示を利用者から受け付け、受け付けた情報や指示を制御部１２０に入力する。具体的には、入力部１０１は、任意のユーザの位置情報を受け付ける。入力部１０１は、「受付部」とも称する。入力部１０１は、キーボードやマウス、マイクなどが該当する。出力部１０２は、制御部１２０と接続される。出力部１０２は、制御部１２０から情報を受け付け、受け付けた情報を出力する。出力部１０２は、モニタやスピーカなどが該当する。
【００１３】
なお、入力部１０１によって受け付けられる情報や指示の詳細や、出力部１０２によって出力される情報の詳細については、ここでは説明を省略し、関係する各部について説明する際に併せて説明する。
【００１４】
記憶部１１０は、制御部１２０と接続される。記憶部１１０は、制御部１２０による各種処理に用いるデータを記憶する。記憶部１１０は、例えば、ＲＡＭ（Random  Access  Memory）やＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、又は、ハードディスクや光ディスクなどである。図１に示す例では、記憶部１１０は、行動履歴テーブル１１１と、滞留行動テーブル１１２と、遷移確率テーブル１１３と、馴染み度合いテーブル１１４と、類似度テーブル１１５とを有する。
【００１５】
行動履歴テーブル１１１は、ユーザごとの行動履歴を記憶する。具体的には、行動履歴テーブル１１１は、ユーザの位置を示す位置データを記憶する。図２は、実施例１における行動履歴テーブルに記憶された情報の一例を示す図である。行動履歴テーブル１１１に記憶される情報は、例えば、ユーザの携帯端末に搭載されたＧＰＳ（Global  Positioning  System）により得られる位置情報が該当する。
【００１６】
図２に示す例では、行動履歴テーブル１１１は、行動情報を識別する識別情報である「計測ＩＤ」に対応付けて、ユーザの位置を示す「緯度」及び「経度」と、「時刻」とを対応付けて記憶する。例えば、行動履歴テーブル１１１は、計測ＩＤ「1」に対応付けて、緯度「35.144」と経度「136.322」と時刻「2010‐09‐23  10:00:00」とを記憶する。言い換えると、ユーザが、２０１０年の９月２３日の２３時１０分に、緯度「35.144」と経度「136.322」とにより示される位置にいたことを記憶する。
【００１７】
なお、図２に示す例では、同一のユーザについての行動情報を含む行動履歴が一つのテーブルにまとめられている場合を示した。すなわち、図２の計測ＩＤ「１」〜「６」により識別される行動履歴各々が、同一のユーザについての行動履歴である場合を示した。ただし、これに限定されるものではなく、一つのテーブルにおいて、複数のユーザについての行動履歴を記憶しても良い。この場合、行動履歴テーブル１１１は、ユーザを識別するユーザＩＤに対応付けて、行動履歴を記憶することになる。
【００１８】
図１の説明に戻る。滞留行動テーブル１１２は、行動履歴を離散化することで生成される離散系列を記憶する。具体的には、滞留行動テーブル１１２は、離散系列における何番目の離散値であるかを識別する識別情報と離散値とを対応付けてユーザごとに記憶する。以下では、離散値として、行動履歴に含まれる行動情報により示されるユーザの滞留場所を用いる場合について説明する。なお、滞留行動テーブル１１２に記憶された情報は、例えば、制御部１２０により格納される。
【００１９】
図３は、実施例１における滞留行動テーブルに記憶された情報の一例を示す図である。図３に示す例では、滞留行動テーブル１１２は、ユーザを識別する識別情報である「ユーザＩＤ」と、離散系列における何番目の滞留場所かを示す「滞留行動ＩＤ」と、滞留場所を示す「滞留場所ＩＤ」とを対応付けて記憶する。例えば、滞留行動テーブル１１２は、ユーザＩＤ「００１」と滞留行動ＩＤ「１」と滞留場所ＩＤ「３」とを対応付けて記憶する。また、滞留行動テーブル１１２は、同様に、ユーザＩＤ「００１１」について滞留行動ＩＤ「２」以降についても滞留場所ＩＤを記憶する。
【００２０】
すなわち、図３に示す例では、ユーザＩＤ「１」が、滞留場所ＩＤ「３」により示される滞留場所に滞留し、その後、滞留場所ＩＤ「４」により示される滞留場所に滞留し、続いて、滞留場所ＩＤ「１２」により示される滞留場所に滞留したことを記憶する。また、滞留行動テーブル１１２は、他のユーザＩＤについても同様に記憶する。
【００２１】
また、以下では、滞留行動テーブル１１２が、「Ｎ」人のユーザについて離散系列を記憶する場合を用いて説明する。また、滞留行動テーブル１１２が、「Ｎ」人のユーザから抽出された離散系列が「Ｍ」種類ある場合を用いて説明する。言い換えると、滞留場所の種類が「Ｍ」個ある場合を用いて説明する。
【００２２】
また、以下では、全滞留場所の集合を「Ｃ」と表す。ここで、「ｉ」番目のユーザの「ｔ」番目の滞留場所を「ｘｉ，ｔ」と表す。ここで、ユーザの滞留した滞留場所は、全滞留場所の集合「Ｃ」に含まれる。この結果、「ｘｉ，ｔ∈Ｃ」となる。なお、「∈」は、集合に属することを示す記号である。なお、「ｉ」は、「０≦ｉ≦Ｎ」満たす自然数となる。
【００２３】
また、以下では、ユーザごとの滞留場所の離散系列を、「Ｓ１，．．．，ＳＮ」と表す。ここで、離散系列「Ｓｉ」のサイズを「｜Ｓｉ｜」とすると、Ｓｉ＝｛ｘｉ１（ｔ＝１），．．．，ｘｉ｜Ｓｉ｜（ｔ＝｜Ｓｉ｜）｝となる。
【００２４】
図１の説明に戻る。遷移確率テーブル１１３は、第１の場所と第２の場所との組み合わせに対応付けて、第１の場所から第２の場所へとユーザが遷移するユーザごとの遷移確率を記憶する。言い換えると、遷移確率テーブル１１３は、任意の滞留場所からの遷移確率を遷移先となり得る滞留場所各々についてユーザごとに記憶する。なお、遷移確率とは、任意の滞留場所から遷移先となる滞留場所へと遷移する確率を示す。遷移確率テーブル１１３に記憶された情報は、例えば、制御部１２０により格納される。遷移確率テーブル１１３は、「遷移確率記憶部」とも称する。
【００２５】
図４は、実施例１における遷移確率テーブルにより記憶される情報の一例を示す図である。図４に示す例では、遷移確率テーブル１１３は、「ユーザＩＤ」と遷移元となる滞留場所を示す「滞留場所ｃｊ」と、遷移先となる滞留場所を示す「滞留場所ｃｋ」と、「遷移確率」とを対応付けて記憶する。例えば、遷移確率テーブル１１３は、ユーザＩＤ「１」と滞留場所ｃｊ「１」と滞留場所ｃｋ「２」と遷移確率「０．３」とを対応付けて記憶する。すなわち、遷移確率テーブル１１３は、ユーザＩＤ「００１」が、滞留場所「１」から滞留場所「２」に遷移する遷移確率が「０．３」であることを記憶する。ここで、図４において、「滞留場所ｃｊ」は、「第１の場所」とも称し、「滞留場所ｃｋ」は、「第２の場所」とも称する。
【００２６】
また、遷移確率テーブル１１３は、同様に、ユーザＩＤ「１」について、すべての滞留場所の組み合わせについて遷移確率を記憶する。また、遷移確率テーブル１１３は、他のユーザＩＤについても同様に、遷移確率を記憶する。
【００２７】
図１の説明に戻る。馴染み度合いテーブル１１４は、ユーザの馴染み度合いを場所ごとに記憶する。具体的には、馴染み度合いテーブル１１４は、ユーザの滞留場所ごとの馴染み度合いを記憶する。より詳細には、馴染み度合いテーブル１１４は、ユーザ各々について、馴染み度合いを全滞留場所について記憶する。なお、馴染み度合いテーブル１１４に記憶された情報は、例えば、制御部１２０により格納される。馴染み度合いテーブル１１４は、「馴染み度合い記憶部」とも称する。
【００２８】
図５は、実施例１における馴染み度合いテーブルに記憶された情報の一例を示す図である。図５に示す例では、馴染み度合いテーブル１１４は、「ユーザＩＤ」と「滞留場所ＩＤ」と「馴染み度合い」とを対応付けて記憶する。例えば、馴染み度合いテーブル１１４は、ユーザＩＤ「１」と滞留場所ＩＤ「１」と馴染み度合い「０．１」とを対応付けて記憶する。すなわち、馴染み度合いテーブル１１４は、ユーザＩＤ「００１」の滞留場所「１」に対する馴染み度合いが「０．１」であることを記憶する。
【００２９】
また、馴染み度合いテーブル１１４は、ユーザＩＤ「１」について、他の滞留場所についても同様に馴染み度合いを記憶する。また、馴染み度合いテーブル１１４は、同様に、他のユーザＩＤについても馴染み度合いを記憶する。
【００３０】
なお、以下では、馴染み度合いは「０」以上の数値となる場合を用いて説明するが、これに限定されるものではなく、「０」以下の数値となっても良い。また、以下では、馴染み度合いが大きいほど、馴染み度合いの数値が大きな値となる場合を用いて説明するが、これに限定されるものではなく、馴染み度合いが大きいほど馴染み度合いの数値が小さな値となっても良い。
【００３１】
図１の説明に戻る。類似度テーブル１１５は、ユーザ間の類似度を記憶する。具体的には、全ユーザについて、他のユーザ各々についての類似度を記憶する。以下では、類似度は、「０」から「１」までの間の数値をとるものとして説明する。ただし、これに限定されるものではなく、類似度として任意の範囲の数値を用いて良い。また、以下では、ユーザ間の類似度合いが高いほど大きな数値となる場合を用いて説明する。ただし、これに限定されるものではなく、ユーザ間の類似度合いが高いほど小さな数値となる場合を用いても良い。また、自身との類似度は、すべてのユーザについて「１」となる場合を用いて説明する。類似度テーブル１１５に記憶された情報は、例えば、制御部１２０により格納される。
【００３２】
図６は、実施例１における類似度テーブルに記憶された情報の一例を示す図である。図６に示す例では、類似度テーブル１１５は、「ユーザＩＤ」と「ユーザＩＤ」と「類似度」とを対応付けて記憶する。例えば、類似度テーブル１１５は、ユーザＩＤ「１」とユーザＩＤ「２」と類似度「０．２」とを対応付けて記憶する。すなわち、類似度テーブル１１５は、ユーザＩＤ「００１」とユーザＩＤ「００２」との類似度が「０．２」であることを記憶する。また、類似度テーブル１１５は、ユーザＩＤ「００１」について、他のユーザについても同様に類似度を記憶する。また、類似度テーブル１１５は、同様に、他のユーザについても類似度を記憶する。
【００３３】
制御部１２０は、入力部１０１、出力部１０２及び記憶部１１０と接続される。制御部１２０は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。制御部１２０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）などである。図１に示す例では、制御部１２０は、行動離散化処理部１２１と、パラメータ推定処理部１２２と、位置予測処理部１２３とを有する。
【００３４】
以下では、滞留行動テーブル１１２や遷移確率テーブル１１３、馴染み度合いテーブル１１４、類似度テーブル１１５に制御部１２０が情報を格納する際に実行する処理を「学習処理」とも称する。また、制御部１２０が、ユーザの行動を予測する処理を「予測処理」とも称する。
【００３５】
行動離散化処理部１２１は、利用者の位置情報を含む行動履歴が入力部１０１に入力されると、入力された行動履歴を行動履歴テーブル１１１に格納する。また、行動離散化処理部１２１は、行動履歴テーブル１１１から行動履歴をユーザごとに取得し、ユーザごとの行動履歴を離散化する。つまり、行動離散化処理部１２１は、取得した行動履歴に含まれる行動情報各々を離散化することで、離散化された行動情報の系列を生成する。以下では、行動離散化処理部１２１により生成される系列を「離散系列」とも称する。行動離散化処理部１２１は、ユーザごとの離散系列を生成する。そして、行動離散化処理部１２１は、生成したユーザごとの離散系列を滞留行動テーブル１１２に格納する。
【００３６】
図７は、実施例１における行動離散化処理部による離散系列生成の一例について説明する図である。図７では、クラスタリング処理による離散化を行う場合を用いて説明するが、これに限定されるものではなく、任意の手法を用いて行動履歴を離散化して良い。図７において、地点２０１〜地点２１１は、それぞれ、行動履歴に含まれる計測ＩＤ「１」〜「１１」により示される行動情報により示される位置各々を示す。すなわち、図７では、あるユーザが、地点２０１から地点２１１までを順に移動した場合を用いて説明する。また、図７において、クラスタＣ１及びクラスタＣ２は、行動履歴に含まれる計測ＩＤ「１」〜「１１」により示される行動情報に対してクラスタリング処理を実行することで得られたクラスタ各々を示す。
【００３７】
図７に示す例では、行動離散化処理部１２１は、行動履歴に含まれる行動情報各々に対してクラスタリング処理を実行することで、あるユーザが滞留した場所をクラスタとして抽出する。図７に示す例では、地点２０２〜地点２０５において、ユーザはあまり移動することなく滞留している。また、地点２０７〜地点２１０においても、ユーザはあまり移動することなく滞留している。このことを踏まえ、行動離散化処理部１２１は、地点２０２〜地点２０５をクラスタＣ１として抽出し、地点２０７〜地点２１０をクラスタＣ２として抽出する。言い換えると、行動離散化処理部１２１は、ユーザが滞留した場所を抽出する。そして、行動離散化処理部１２１は、抽出したクラスタ各々を時系列に沿って並べることで、離散系列を生成する。例えば、行動離散化処理部１２１は、抽出した滞留場所をユーザが滞留した順に並べたリストを生成する。
【００３８】
パラメータ推定処理部１２２は、滞留行動テーブル１１２からユーザごとの離散系列を取得し、取得した離散系列に基づいて各種のパラメータを推定する。具体的には、以下に順に説明するように、パラメータ推定処理部１２２は、ユーザ「ｉ」が滞留場所「ｃｊ」から滞留場所「ｃｋ」に遷移する遷移確率を推定する。また、パラメータ推定処理部１２２は、ユーザの場所ごとの馴染み度合いを推定する。また、パラメータ推定処理部１２２は、ユーザ間の類似度を推定する。また、パラメータ推定処理部１２２は、推定した各種のパラメータを遷移確率テーブル１１３や馴染み度合いテーブル１１４、類似度テーブル１１５に格納する。
【００３９】
ユーザ「ｉ」が滞留場所「ｃｊ」から滞留場所「ｃｋ」に遷移する遷移確率を推定する点について説明する。すなわち、パラメータ推定処理部１２２が、ユーザごとに、任意の滞留場所からの遷移確率を遷移先となり得る滞留場所各々について算出する。以下では、ユーザ「ｉ」が滞留場所「ｃｊ」から滞留場所「ｃｋ」に遷移する遷移確率を「Ｐｉ（ｃｋ｜ｃｊ）」と表す。例えば、パラメータ推定処理部１２２は、下記の（数１）に従って遷移確率を算出する。
【００４０】
【数１】
0005421307.tif 000002
【００４１】
（数１）において、Ｉ（・）は、引数が真のときに「１」を返し、引数が真とならないときに「０」を返す関数である。（数１）に示すように、パラメータ推定処理部１２２は、分母として、「Ｉ（ｘｉｔ＝ｃｊ）」において、「ｉｔ」に対して「１」から「「Ｓｉ」−１」までの値を代入することで得られる値の累積値を算出する。ここで、「Ｉ（ｘｉｔ＝ｃｊ）」は、「ｘｉｔ＝ｃｊ」となるときに「１」を返す。言い換えると、「Ｉ（ｘｉｔ＝ｃｊ）」は、滞留場所「ｘｉ，ｔ」が「ｃｊ」となるときに「１」を返す。この結果、パラメータ推定処理部１２２は、分母として、「ｉ」番目のユーザが滞留場所「ｃｊ」にいた回数を算出する。
【００４２】
また、（数１）に示すように、パラメータ推定処理部１２２は、分子として、「Ｉ（ｘｉｔ＝ｃｊ）∧（ｘｉｔ＋１＝ｃｋ）」において、「ｉｔ」に対して「１」から「「Ｓｉ」−１」までの値を代入することで得られる値の累積値を算出する。ここで、「Ｉ（ｘｉｔ＝ｃｊ）∧（ｘｉｔ＋１＝ｃｋ）」は、「ｘｉｔ＝ｃｊ」となり、かつ、「ｘｉｔ＋１＝ｃｋ」となるときに「１」を返す。言い換えると、「Ｉ（ｘｉｔ＝ｃｊ）∧（ｘｉｔ＋１＝ｃｋ）」は、滞留場所「ｘｉ，ｔ」が「ｃｊ」となり、かつ、その次の滞留場所となる滞留場所「ｘｉ，ｔ＋１」が「ｃｋ」となるときに「１」を返す。この結果、パラメータ推定処理部１２２は、分母として、「ｉ」番目のユーザが滞留場所「ｃｊ」から「ｃｋ」に遷移した回数を算出する。
【００４３】
すなわち、（数１）に示すように、パラメータ推定処理部１２２は、「ｉ」番目のユーザが滞留場所「ｃｊ」にいた回数を分母とし、「ｉ」番目のユーザが滞留場所「ｃｊ」から「ｃｋ」に遷移した回数を分子とする値を算出することで、ユーザ「ｉ」が滞留場所「ｃｊ」から滞留場所「ｃｋ」に遷移する遷移確率を推定する。また、パラメータ推定処理部１２２は、全ユーザについて、滞留場所の組み合わせすべてについて、遷移確率を推定する。
【００４４】
ユーザの滞留場所ごとの馴染み度合いを推定する点について説明する。パラメータ推定処理部１２２は、ユーザごとに、滞留場所各々について推定する。以下では、「ｉ」番目のユーザの滞留場所「ｃｊ」に対する馴染み度合いを「αｉｊ」と表す。馴染み度合い「αｉｊ」は「０」以上の数値とする。また、「ｉ」番目のユーザの滞留場所「ｃｊ」に対する馴染み度合いが大きいほど、大きな数値となる場合を用いて説明する。
【００４５】
例えば、パラメータ推定処理部１２２は、滞留行動テーブル１１２からユーザごとの離散系列を取得し、取得したユーザごとの離散系列に基づいて馴染み度合いを推定する。より詳細な一例をあげて説明すると、パラメータ推定処理部１２２は、滞留場所各々について、取得した離散系列において出現した頻度を算出する。そして、パラメータ推定処理部１２２は、算出された頻度が高い滞留場所について頻度が低い滞留場所よりも大きな数値を算出し、算出された頻度が低い滞留場所について頻度が高い滞留場所よりも小さな数値を算出する。また、パラメータ推定処理部１２２は、取得した離散系列において出現した頻度を算出し、算出した頻度の対数を用いて馴染み度合いを推定しても良い。なお、パラメータ推定処理部１２２は、任意の手法にて馴染み度合いを推定して良い。
【００４６】
ユーザ間の類似度を推定する点について説明する。パラメータ推定処理部１２２は、ユーザ各々について、他のユーザとの類似度を推定する。例えば、パラメータ推定処理部１２２は、「Ｎ」人いるユーザ各々について、他のユーザとの類似度を推定する。なお、以下では、「ｉ」番目のユーザと「ｌ」番目のユーザの類似度を「σｉｌ」として表す。また、以下では、類似度は、「０」から「１」までの間の数値をとるものとして説明する。ただし、これに限定されるものではなく、類似度として任意の範囲の数値を用いて良い。また、以下では、ユーザ間の類似度合いが高いほど大きな数値となる場合を用いて説明する。ただし、これに限定されるものではなく、ユーザ間の類似度合いが高いほど小さな数値となる場合を用いても良い。また、自身との類似度σｉｉは、すべてのユーザについて「σｉｉ＝１」となる場合を用いて説明する。
【００４７】
例えば、パラメータ推定処理部１２２は、滞留行動テーブル１１２からユーザごとの離散系列を取得し、取得したユーザごとの離散系列に基づいてユーザ間の類似度を推定する。ユーザ「ｉ」についての滞留場所の集合「Ｖｉ」とし、ユーザ「ｌ」についての滞留場所の集合「Ｖｌ」とする場合を用いて、より詳細な一例を説明する。この場合、パラメータ推定処理部１２２は、例えば、類似度ｓｉｍ（Ｖｉ，  Ｖｌ）を、Ｊａｃａｒｄ係数によって以下の式により定義しても良い。
【００４８】
ｓｉｍ（Ｖｉ，  Ｖｌ）＝｜Ｖｉ  ∩  Ｖｌ｜／｜Ｖｉ  ∪  Ｖｌ｜
【００４９】
すなわち、例えば、パラメータ推定処理部１２２は、分母として、集合「Ｖｉ」と集合「Ｖｌ」との和集合を算出し、分子として集合「Ｖｉ」と集合「Ｖｌ」との積集合を算出することで、類似度を算出する。言い換えると、パラメータ推定処理部１２２は、集合「Ｖｉ」か集合「Ｖｌ」かのいずれに含まれる滞留場所の数を分母とし、集合「Ｖｉ」と集合「Ｖｌ」との両方に含まれる滞留場所の数を分子とする値を算出することで、類似度を推定する。言い換えると、パラメータ推定処理部１２２は、両ユーザの滞留場所が共通している程、類似度が高いと推定する。
【００５０】
なお、パラメータ推定処理部１２２は、任意の手法を用いて類似度を推定して良い。例えば、パラメータ推定処理部１２２は、位置情報や滞留場所などを用いることなく、その他のユーザの属性を用いて類似度を推定しても良い。具体的には、パラメータ推定処理部１２２は、ユーザの属性が共通するほど類似度が高いと推定しても良い。例えば、パラメータ推定処理部１２２は、年齢が近いほど類似度を高く推定し、同じ職場で働く人間について類似度を高く推定しても良い。また、パラメータ推定処理部１２２は、位置情報や滞留場所などに加えて、更に、それ以外のユーザの属性を用いて類似度を算出しても良い。
【００５１】
位置予測処理部１２３は、遷移確率と馴染み度合いと類似度とを用いて、予測対象となるユーザの行動を予測する。具体的には、位置予測処理部１２３は、入力部１０１により位置情報が受け付けられると、位置情報により示される場所が第１の場所となる組み合わせに対応付けて遷移確率テーブル１１３に記憶されたユーザごとの遷移確率各々について、遷移確率に対応するユーザの第１の場所に対する馴染み度合いと、遷移確率に対応するユーザと任意のユーザとの類似度とに応じた重み付けを行った値を算出する。そして、位置予測処理部１２３は、第２の場所が同一となる組み合わせに対応付けられた遷移確率について第１の算出部により算出された値各々の累積値を算出することで、位置情報により示される場所から第２の場所へと任意のユーザが遷移する遷移確率を算出する。ここで、位置予測処理部１２３は、馴染み度合いテーブル１１４に記憶された馴染み度合いと、類似度テーブル１１５に記憶された類似度とに応じて重み付けを行った値を算出する。
【００５２】
また、位置予測処理部１２３は、第２の位置ごとに遷移確率を算出し、遷移確率が算出された第２の位置のうち、他の第２の位置より高い遷移確率が算出された第２の位置を優先して出力部１０２から出力する。「第１の算出部」「第２の算出部」「出力部」とも称する。
【００５３】
位置予測処理部１２３について、より詳細に説明する。位置予測処理部１２３は、予測を行う開始点となる位置情報が入力部１０１から入力されると、滞留行動テーブル１１２を参照し、入力された位置情報に対応する滞留場所を取得する。そして、位置予測処理部１２３は、取得した滞留場所から任意の滞留場所に遷移する遷移確率を算出する。そして、位置予測処理部１２３は、算出した遷移確率に基づいて、予測対象となるユーザが次に遷移する遷移場所を予測する。
【００５４】
取得した滞留場所から任意の滞留場所に遷移する遷移確率を算出する点について説明する。位置予測処理部１２３は、取得した滞留場所からの遷移確率を、遷移先となる滞留場所ごとに算出する。
【００５５】
具体的には、位置予測処理部１２３は、入力された位置情報に対応する滞留場所から任意の滞留場所へと遷移するユーザごとの遷移確率を遷移確率テーブル１１３から取得する。また、位置予測処理部１２３は、入力された位置情報に対応する滞留場所についてのユーザごとの馴染み度合いを馴染み度合いテーブル１１４から取得する。また、位置予測処理部１２３は、入力された位置情報に対応するユーザと他のユーザとの類似度を類似度テーブル１１５から取得する。そして、位置予測処理部１２３は、取得した遷移確率各々について、遷移確率に対応するユーザの馴染み度合いと、入力された位置情報に対応するユーザと遷移確率に対応するユーザとの間の類似度とを乗算した値をそれぞれ算出する。そして、位置予測処理部１２３は、算出した値各々の累積値を算出する。つまり、位置予測処理部１２３は、ユーザごとの遷移確率を馴染み度合いと類似度とを用いて重み付けを行った値の累積値を算出する。ここで、位置予測処理部１２３により遷移先となる任意の滞留場所について算出された累積値に基づく値が、入力された位置情報に対応するユーザが、遷移先となる任意の滞留場所に遷移する遷移確率となる。
【００５６】
また、例えば、位置予測処理部１２３は、滞留場所ごとに算出した遷移確率の累積値に基づいて、予測対象となるユーザが次に遷移する遷移場所を予測する。例えば、位置予測処理部１２３は、最も高い遷移確率の累積値が算出された遷移後の滞留場所を予測結果として出力したり、算出した値のリストを出力したりする。
【００５７】
取得した滞留場所から任意の滞留場所に遷移する遷移確率を算出する点について、（数２）を用いて更に説明する。位置予測処理部１２３は、例えば、（数２）に基づいて遷移確率を算出する。（数２）に示す例では、処理対象とする遷移後の滞留場所が滞留場所「ｃ」とする場合を用いて説明する。なお、滞留場所「ｃｊ」は、「ｃｊ∈Ｃ（１≦ｊ≦Ｍ）」を満たす。また、（数２）に示す例では、処理対象とする遷移後の滞留場所を滞留場所「ｃｊ」で表した。また、（数２）において「Ｚ」は、正規化項を示す。つまり、（数２）では、「１／Ｚ」で乗算することで、得られる値が「０」〜「１」の値となる。「Ｚ」は、（数２）で表される。すなわち、（数２）では、累積値そのものを用いるのではなく、ｅ（自然対数の底数）が累積値で累乗された値を「１／Ｚ」で乗算した値を、遷移確率として用いる場合を示した。
【００５８】
【数２】
0005421307.tif 000003
【００５９】
【数３】
0005421307.tif 000004
【００６０】
なお、行動予測装置１００は、例えば、既知のパーソナルコンピュータ、ワークステーション、携帯電話、ＰＨＳ（Personal  Handyphone  System）端末、移動体通信端末又はＰＤＡ（Personal  Digital  Assistant）などの情報処理装置を用いて実現しても良い。例えば、ＰＤＡなどの情報処理装置に、図１に示した記憶部１１０と制御部１２０の各機能を搭載することによって実現しても良い。
【００６１】
［実施例１に係る行動予測装置による学習処理］
図８は、実施例１に係る行動予測装置による学習処理の流れの一例を示すフローチャートである。図８に示すように、行動予測装置１００では、行動履歴が入力されると（ステップＳ１０１肯定）、行動離散化処理部１２１が、離散系列を生成する（ステップＳ１０２）。例えば、行動離散化処理部１２１は、行動履歴に含まれる行動情報各々に対してクラスタリング処理を実行することで、あるユーザが滞留した場所をクラスタとして抽出する。そして、行動離散化処理部１２１は、抽出したクラスタ各々を時系列に沿って並べることで、離散系列を生成する。
【００６２】
そして、パラメータ推定処理部１２２は、遷移確率を推定する（ステップＳ１０３）。例えば、パラメータ推定処理部１２２は、「ｉ」番目のユーザが滞留場所「ｃｊ」にいた回数を分母とし、「ｉ」番目のユーザが滞留場所「ｃｊ」から「Ｃｋ」に遷移した回数を分子とする値を算出することで、ユーザ「ｉ」が滞留場所「ｃｊ」から滞留場所「ｃｋ」に遷移する遷移確率を推定する。また、パラメータ推定処理部１２２は、ユーザごとに、滞留場所の組み合わせ各々について、遷移確率を推定する。
【００６３】
そして、パラメータ推定処理部１２２は、ユーザの滞留場所ごとの馴染み度合いを推定する（ステップＳ１０４）。例えば、パラメータ推定処理部１２２は、滞留場所各々について、取得した離散系列において出現した頻度を算出する。そして、パラメータ推定処理部１２２は、算出された頻度の高低に基づいて馴染み度合いを算出する。
【００６４】
そして、パラメータ推定処理部１２２は、ユーザ間の類似度を算出する（ステップＳ１０５）。ユーザ「ｉ」についての滞留場所の集合「Ｖｉ」とし、ユーザ「ｌ」についての滞留場所の集合「Ｖｌ」とする場合を用いて説明する。この場合、例えば、パラメータ推定処理部１２２は、集合「Ｖｉ」か集合「Ｖｌ」かのいずれに含まれる滞留場所の数を分母とし、集合「Ｖｉ」と集合「Ｖｌ」との両方に含まれる滞留場所の数を分子とする値を算出することで、類似度を推定する。また、パラメータ推定処理部１２２は、全ユーザの組み合わせについて、それぞれ類似度を算出する。
【００６５】
なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、上記のステップＳ１０３〜Ｓ１０５を任意の順番にて実行しても良い。
【００６６】
［実施例１に係る行動予測装置による予測処理］
図９は、実施例１に係る行動予測装置による予測処理の流れの一例を示すフローチャートである。図９に示すように、位置予測処理部１２３は、任意のユーザについての位置情報の入力を受け付けると（ステップＳ２０１肯定）、入力された位置情報に対応する滞留場所を取得する（ステップＳ２０２）。
【００６７】
ここで、入力された位置情報に対応する滞留場所がなかった場合には（ステップＳ２０３否定）、位置予測処理部１２３は、処理を終了する。一方、入力された位置情報に対応する滞留場所があった場合には（ステップＳ２０３肯定）、位置予測処理部１２３は、位置情報が入力されたユーザについての遷移確率を滞留場所ごとに算出する（ステップＳ２０４）。例えば、位置予測処理部１２３は、（数２）に基づいて、取得した滞留場所から任意の滞留場所に遷移する遷移確率を算出する。
【００６８】
そして、位置予測処理部１２３は、算出した遷移確率を出力する（ステップＳ２０５）。例えば、位置予測処理部１２３は、最も高い遷移確率の累積値が算出された遷移後の滞留場所を予測結果として出力する。なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。
【００６９】
［実施例１の効果］
上述したように、実施例１によれば、行動予測装置１００は、第１の場所と第２の場所との組み合わせに対応付けて、第１の場所から第２の場所へとユーザが遷移する該ユーザごとの遷移確率を記憶する。また、行動予測装置１００は、任意のユーザの位置情報を受け付けると、位置情報により示される場所が第１の場所となる組み合わせに対応付けて記憶されたユーザごとの遷移確率各々について、遷移確率に対応するユーザの第１の場所に対する馴染み度合いと、遷移確率に対応するユーザと任意のユーザとの類似度とに応じた重み付けを行った値を算出する。そして、行動予測装置１００は、第２の場所が同一となる組み合わせに対応付けられた遷移確率について算出された値各々の累積値を算出することで、位置情報により示される場所から第２の場所へと任意のユーザが遷移する遷移確率を算出する。この結果、予測精度を向上可能である。
【００７０】
すなわち、実施例１によれば、複数のユーザについて算出された遷移確率各々について、ユーザ間の類似度に応じて重み付けを行い、更に、起点となる場所に対する馴染み度合いに応じて重み付けを行った上で用いることで、行動履歴が存在しない場合であっても予測可能であり、ユーザ固有の行動をする場合であっても精度良く予測可能である。
【００７１】
また、実施例１によれば、行動予測装置１００は、馴染み度合いテーブル１１４と、類似度テーブル１１５とを備え、馴染み度合いテーブル１１４に記憶された馴染み度合いと、類似度テーブル１１５に記憶された類似度とに応じて重み付けを行った値を算出する。この結果、処理を迅速に実行することが可能である。
【００７２】
また、実施例１によれば、行動予測装置１００は、第２の場所ごとに遷移確率を算出し、遷移確率が算出された第２の場所のうち、他の第２の場所より高い遷移確率が算出された第２の場所を優先して出力する。この結果、複数ある第２の場所のうち、ユーザが遷移する確率が最も高い場所を出力可能となる。
【実施例２】
【００７３】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例を示す。
【００７４】
例えば、上述した実施例では、行動情報としてユーザの位置情報を用いる場合を例に説明するが、これに限定されるものではなく、行動情報として任意の情報を用いて良い。例えば、ユーザの動作を示す動作情報や、ユーザが行った仕事の種類を示す仕事情報などの任意の情報を用いても良い。この場合、行動予測装置１００が予測するのは、ユーザの次の動作や次の仕事となる。
【００７５】
［システム構成］
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については（図１〜図９）、特記する場合を除いて任意に変更することができる。
【００７６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、図１に示す例では、記憶部１１０を行動予測装置１００の外部装置としてネットワーク経由で接続するようにしても良い。
【００７７】
［プログラム］
図１０は、行動予測装置による一連の処理を実行するプログラムである行動予測プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。図１０に例示するように、コンピュータ３０００は、例えば、メモリ３０１０と、ＣＰＵ（Central  Processing  Unit）３０２０と、ネットワークインタフェース３０７０とを有する。コンピュータ３０００の各部はバス３１００によって接続される。
【００７８】
メモリ３０１０は、図１０に例示するように、ＲＯＭ３０１１及びＲＡＭ３０１２を含む。ＲＯＭ３０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。
【００７９】
ここで、図１０に例示するように、ハードディスクドライブ３０８０は、例えば、ＯＳ３０８１、アプリケーションプログラム３０８２、プログラムモジュール３０８３、プログラムデータ３０８４を記憶する。すなわち、開示の技術に係る更新プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュール３０８３として、例えばハードディスクドライブ３０８０に記憶される。例えば、図１の制御部１２０の各部と同様の情報処理を実行する手順各々が記述されたプログラムモジュールが、ハードディスクドライブ３０８０に記憶される。
【００８０】
また、例えば、図１の記憶部１１０の各テーブルに記憶されるデータのように、行動予測プログラムによる情報処理に用いられるデータは、プログラムデータ３０８４として、例えばハードディスクドライブ３０８０に記憶される。そして、ＣＰＵ３０２０が、ハードディスクドライブ３０８０に記憶されたプログラムモジュール３０８３やプログラムデータ３０８４を必要に応じてＲＡＭ３０１２に読み出し、各種の手順を実行する。
【００８１】
なお、行動予測プログラムに係るプログラムモジュール３０８３やプログラムデータ３０８４は、ハードディスクドライブ３０８０に記憶される場合に限られない。例えば、プログラムモジュール３０８３やプログラムデータ３０８４は、着脱可能な記憶媒体に記憶されても良い。この場合、ＣＰＵ３０２０は、ディスクドライブなどの着脱可能な記憶媒体を介してデータを読み出す。また、同様に、更新プログラムに係るプログラムモジュール３０８３やプログラムデータ３０８４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されても良い。この場合、ＣＰＵ３０２０は、ネットワークインタフェースを介して他のコンピュータにアクセスすることで各種データを読み出す。
【００８２】
［その他］
なお、本実施例で説明した行動予測プログラムは、インターネットなどのネットワークを介して配布することができる。また、行動予測プログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【００８３】
１００      行動予測装置
１０１      入力部
１０２      出力部
１１０      記憶部
１１１      行動履歴テーブル
１１２      滞留行動テーブル
１１３      遷移確率テーブル
１１４      度合いテーブル
１１５      類似度テーブル
１２０      制御部
１２１      行動離散化処理部
１２２      パラメータ推定処理部
１２３      位置予測処理部
２０１〜２１１      地点
【図１】
0005421307.tif 000005
【図２】
0005421307.tif 000006
【図３】
0005421307.tif 000007
【図４】
0005421307.tif 000008
【図５】
0005421307.tif 000009
【図６】
0005421307.tif 000010
【図７】
0005421307.tif 000011
【図８】
0005421307.tif 000012
【図９】
0005421307.tif 000013
【図１０】
0005421307.tif 000014