(57)【要約】【課題】  従来技術はユーザの現在位置と静的な登録情報に基づいて情報を選択するが、一時的な興味に基づいた動的なユーザの行動を判断することができない。【解決手段】  位置情報で与えられる行動履歴を用いて、ユーザに配信すべき情報を変更する。ユーザの位置情報を常時記録し、現在の行動が過去と比べて例外的であるかどうかを判定し、判定結果に基づいて情報選択の方法を変更する。【選択図】図１
2006251938.tif 000002
【特許請求の範囲】
【請求項１】
情報配信システムであって、
ユーザの現在位置を検出する位置検出手段と、
前記検出した位置情報の履歴を格納する位置履歴格納手段と、
ユーザに配信される情報が蓄積された配信情報格納手段と、
ユーザの特性が格納されたユーザ情報格納手段と、
前記位置履歴格納手段を参照し、ユーザの現在の行動領域の位置情報が過去の位置履歴に含まれるか否かを判定する例外行動判定手段と、
ユーザの現在の行動領域の位置情報が過去の位置履歴に含まれる場合、
前記配信情報格納手段及び前記ユーザ情報格納手段を参照し、ユーザの特性に応じた情報を選択する情報選択装置と、
該選択された情報をユーザに送信する送信手段とを備えたことを特徴とする情報配信システム。
【請求項２】
請求項１記載の情報配信システムであって、
前記配信情報格納手段には、各情報へのアクセス頻度も対応させて格納され、
ユーザの現在の行動領域の位置情報の出現頻度が、過去の位置履歴において所定数以下の場合、
前記情報選択装置は、前記配信情報格納手段のアクセス頻度を参照し、アクセス頻度の高い情報をユーザへ送信する情報として選択することを特徴とする情報配信システム。
【請求項３】
請求項１記載の情報配信システムであって、
前記位置履歴格納手段には、位置情報の測定時と該測定時におけるユーザの所在位置が格納され、
前記例外行動判定装置は、前記位置履歴格納手段を参照し、最新の履歴の所在位置と複数の過去の行動履歴における所在位置とを比較して、前記最新履歴におけるユーザの所在位置から所定距離以内にある過去の行動履歴の数を計測し、該計測数が所定数以下である場合に例外行動と判定することを特徴とする情報配信システム。
【請求項４】
請求項３記載の情報配信システムであって、
前記所在位置は、緯度と経度で表されることを特徴とする情報配信システム。
【請求項５】
請求項４記載の情報配信システムであって、
前記例外行動判定装置は、前記配信情報格納手段に格納された情報へのアクセス要求があった場合に送信される状況判定要求信号に基づき、例外行動判定処理が実行されることを特徴とする情報配信システム。
【請求項６】
請求項１記載の情報配信システムであって、
前記位置検出手段と、前記位置履歴格納手段と、前記例外行動判定手段とはユーザ端末に配置され、
前記ユーザ情報格納手段と、前記配信情報格納手段と、前記情報選択装置とはサーバに配置されることを特徴とするた情報をユーザに送信する情報配信システム。
【請求項７】
請求項１記載の情報配信システムであって、
前記位置検出手段はユーザ端末に配置され、
前記位置履歴格納手段と、前記例外行動判定手段と、前記ユーザ情報格納手段と、前記配信情報格納手段と、前記情報選択装置とはサーバに配置されることを特徴とするた情報をユーザに送信する情報配信システム。
【請求項８】
請求項１記載の情報配信システムであって、
前記位置履歴記憶手段に格納されたデータの検索に用いるインデクスは、位置情報が存在するデータ領域を階層的に分割したツリー構造であり、前記ツリーを構成する２個以上のノードが１個の位置情報を保持することを特徴とする情報配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動情報端末の位置情報を活用して選択的に情報配信する手段に関するものである。
【背景技術】
【０００２】
近年、ユビキタスコンピューティング（ubiquitous computing）と呼ばれる分野の研究が盛んになっている。ユビキタスコンピューティングとは、生活空間に遍在するコンピュータ群が相互に連携して、ユーザの日常を知的に支援するという考え方であり、特定の端末やＰＣに依存しないシームレスな情報へのアクセス、日常行為における省力化・自動化等の様々な利便性の提供を目指している。このようなユビキタスコンピューティングのキーコンセプトの一つに、状況依存型サービス（context-aware service）と呼ばれるものがある。状況依存型サービスは、コンピュータがその場、その時のユーザーの状況を判断し、適切な情報サービスを選択的に提供する。
【０００３】
ユーザの状況を表す周辺情報は様々であるが、位置は主要な周辺情報の一つである。近年はGPSを利用できる携帯電話、ノートＰＣ、ＰＤＡ等が普及しつつあり、位置情報を活用した状況依存型サービスが提案されている。
【０００４】
特許文献１では、特定エリア内に在圏するユーザに対してそのエリアに関係の強いと思われる情報を告知する情報配信サーバシステムである。従来技術１は、広告主が指定するエリア限定配信情報、職業・性別・年齢等からなるユーザ登録情報、移動情報端末の現在の位置情報を用い、特定エリアに存在するユーザに対して広告を配信する。各ユーザの現在の位置情報は、移動体通信網の基地局により計測する。
【０００５】
【特許文献１】特開２００２−２１６０２１号公報
【非特許文献１】Neophytos Iacovou, et al.: GroupLens: An Open Architecture for Collaborative Filtering of Netnews, John Riedl Proceedings of ACM 1994 Conference on Computer Supported Cooperative Work, pp.175-186
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１では、ユーザの位置の他に情報を選択する基準として、予め登録されたユーザ登録情報を用いる。ユーザ登録情報は静的なものであるため、移動情報端末ユーザの一時的な興味に適した情報を選択できず、不要な情報を配信してしまうという問題がある。
【課題を解決するための手段】
【０００７】
本発明は、１人１人の各ユーザの趣味嗜好に応じて選択的に情報を配信する仕組みを備え、さらにユーザがいつもと違う行動をとった場合に情報選択の戦略を切り替えるシステムを実現する。
【０００８】
ネットワーク上の情報をユーザに配信する情報配信システムにおいて、ユーザの現在位置を検出する手段と、検出した位置情報を蓄積する位置履歴データベースと、位置履歴データベースを参照して、ユーザの最近の行動に類似した行動が過去に生じていたかどうかを判定する例外行動判定手段と、配信する情報を蓄積した配信情報データベースと、ユーザの特性を蓄積したユーザ情報データベースと、前記のユーザ情報データベース中にある情報配信対象のユーザの特性と、前記の例外行動判定手段の判定結果に基づいて、前記の配信情報データベースから配信対象となる情報を選択する情報選択装置と、前記の選択された情報を表示する手段とを有する。
【０００９】
すなわち、１人１人のユーザの位置情報を常時記録し、これと現在の位置情報を用いて、各ユーザの行動パターンを自身の過去のパターンと判断することにより、各ユーザが一時的な興味に基づいて情報を要求しているのか否かを推測する仕組みを備える。
【発明の効果】
【００１０】
本発明によれば、ユーザのその場、その時の状況に応じたより適切な情報を提供する事が可能である。
【発明を実施するための最良の形態】
【００１１】
図１のシステム１００は本実施例の基本構成を示している。１０１は位置検出装置であり移動情報端末もしくはユーザの現在位置を位置履歴データベース１０３に追加する。１０１に該当する装置としては、GPS(Global Positioning System)のように移動情報端末が自律測位するもの、駅の改札機や携帯電話の基地局のように固定された機器が外部から観測して測位するものがありえる。本実施例では位置情報は何らかの形で得られれば良い。以下では説明の便宜上、位置検出装置１０１ではGPSを用いるものと仮定する。すなわち位置検出装置１０１は一定周期で自律測位し、現在位置を出力する。
【００１２】
１０２は例外行動判定装置であり、最近の位置の情報を位置履歴データベース１０３に蓄積された過去の情報と照らし合わせ、最近の位置の情報が例外的であるか否かを判定する。位置履歴データベース１０３には、２次元もしくは３次元の地理座標を表すデータが測位時刻と組みで蓄積されている。
【００１３】
１０４は情報選択装置であり、例外行動判定装置１０２の判定結果と、ユーザ情報データベース１０６に格納されたユーザに関する情報とに基づいて、配信情報データベース１０５に格納された情報群からユーザに配信すべき情報を選択する。１０７は表示装置であり、情報選択装置１０４が選択した情報を表示する。
【００１４】
ここで、例外行動装置１０２、情報選択装置１０４等の構成は、ハードウェアとしては、任意のコンピュータのCPU、メモリ等で実現可能であり、ソフトウェア的には前記メモリにロードされたプログラムをCPUが実行することで実現可能である。例えば、情報選択装置１０４は、配信情報データベースあるいは、ユーザ情報データベースに格納された情報を、メモリ（図示せず）に読み出し、ＣＰＵ（図示せず）がプログラムを解釈、実行することにより達成される。なお、対応するプログラムは、メモリあるいはハードディスク装置等に格納されている。
【実施例１】
【００１５】
図２のシステム２００は、第１の実施例を示している。第１の実施例では、移動情報端末２０１の要求に応じて、サーバ２０２が移動情報端末の現在位置に関連する多数の情報をいくつかに絞り込み、移動情報端末２０１へ配信する。配信要求はユーザが移動情報端末を操作して発生させるか、移動情報端末が所在地や現在時刻に基づいて自律的に発生させる。
【００１６】
２０１はユーザが所持する移動情報端末である。移動情報端末２０１は位置検出装置１０１、例外行動判定装置１０２、位置履歴データベース１０３、送受信装置２０３からなる。サーバ２０２は、情報選択装置１０４、配信情報データベース１０５、ユーザ情報データベース１０６、送受信装置２０４からなる。送受信装置２０３、２０４は移動情報端末２０１とサーバ２０２が連携動作するための通信手段を提供する。送受信装置２０３、２０４の通信プロトコルの典型的な例はHTTP（HyperText Transfer Protocol）である。
【００１７】
図３は、システム２００の各データベースに格納されるテーブルを示している。テーブル３００は位置履歴データベース１０３に格納されるテーブルである。１件のレコードデータが測位１回分の位置情報に該当する。各レコードはレコード番号、測位日時、地理座標のフィールドからなる。テーブル３００は２次元の地理座標を位置履歴として保持しており、地理座標フィールドにはＸ座標、Ｙ座標が該当する。Ｘ座標、Ｙ座標の格納データとしては、例えば緯度、経度を秒単位ないしはメートル単位に変換した数値データが該当する。本実施例の原理上、テーブル３００は高度をメートル単位に変換したZ座標を追加し、処理を拡張する事も容易である。
【００１８】
テーブル３０１は配信情報データベース１０５に格納されるテーブルであり、１件のレコードデータが送信１回分のデータを示している。移動情報端末が複数ある場合でも、基本的にはテーブル３０１は全ての端末に共通である。また１件のレコードデータが複数の移動情報端末に配信されても良い。各レコードは配信情報のID、配信情報の選択条件を表すフィールド、情報提供する内容のフィールド、配信情報の人気度を示すフィールドからなる。テーブル３０１では地域、分類、ターゲットが選択条件に該当する。配信内容フィールドの値はテキストあるいは画像からなる詳細な案内情報である。理解を容易にするためテーブル３０１の地域フィールドには地域名称が記述されているが、実際には特定の地域を定義する地理座標の範囲が記述される。また配信内容フィールドも同様に記載を簡略しているが実際には、例えば分類が「レストラン」であれば、レストランの店名、所在地の他、連絡先の他、詳細なメニュー内容などが記載された詳細情報へのURI(Uniform Resource Identifier)が記載される。URIは移動情報端末２０１からアクセス可能なものであるとする。人気度フィールドは配信情報に対するユーザの感度を数値化したもので、サーバ２０２がカウントする詳細情報のURIへのアクセス数を元に算出される。テーブル３０１の人気度フィールドは、同じ地域の中で配信したURI数に対する実際にアクセスされたURI数の比を表しており、値が大きいほど人気が高い事を示している。
【００１９】
テーブル３０２はユーザ情報データベース１０６に格納されるテーブルであり、１件のレコードデータが１人のユーザに関する情報を表している。各レコードはユーザのID、ユーザの特性を表すフィールドからなる。ユーザのIDは一意な数値であればよく、１人のユーザが移動情報端末１台を利用することを前提にする場合は、ユーザIDの代わりに移動情報端末のID、例えば携帯電話の個体識別番号を用いても構わない。興味分野はユーザの特性を表すフィールドである。興味分野には短期には変わらない個人の傾向を表すものが登録されている。ユーザの特性を表すフィールドとしては、興味分野と統計的な相関が期待できるものとして性別、年齢等がありえる。
【００２０】
以上が本実施例の構成及びデータである。位置履歴は日常生活を監視した結果得られる情報であるため、できるだけ他人に見せたくないというユーザのニーズが想定される。このため本実施例ではプライバシに配慮する実現形態として、例外行動判定装置１０２、位置履歴データベース１０３をユーザが所持する移動情報端末内に格納する。
【００２１】
続いてシステム１００の処理の流れを説明する。システム１００には２つの独立したタスクがある。
（タスク１）位置履歴データベース１０３への現在位置の記録
（タスク２）表示装置１０７への情報表示
タスク１は、移動情報端末２０１により定周期で起動される。位置検出装置１０１は測位した現在位置を出力し、テーブル３００にレコードとして追加する。ただしテーブル３００に新たなレコードを追加する際、既に存在するレコード件数が上限に達している場合は、テーブル３００中の最も古いものを削除する。レコード件数の上限はパラメータである。これは、常に所定の件数以下で最新レコードの集合を保持するようにし、無制限にレコードが増えないよう制御可能にするためである。  タスク２は、ユーザにより任意のタイミングで起動されるか、あるいは特定の地域に来た事を検出した移動情報端末自身により起動される。
【００２２】
図４のシーケンス４００はタスク２の詳細である。ユーザが移動情報端末２０１のボタンを押下する等により、情報の配信をシステム２００に対して要求すると、処理４０１で移動情報端末２０１が例外行動判定装置１０２にユーザの状態判定を要求する。
【００２３】
続いて処理４０２では、例外行動判定装置１０２がテーブル３００を参照し、参照して最近の行動を過去の行動と比較することによりユーザの状況を判定し、移動情報端末２０１に結果を返す。より具体的には、処理４０２はテーブル３００中の最も新しいレコードと他のレコードの距離を一つずつ計算し、最新レコードから距離Ｄ以内にあるレコード（近傍レコード）の数をカウントする。本実施例では、現在位置を中心に距離Ｄ以内の領域にF回以上訪れた事があればいつもの行動、Ｆ回未満であれば例外行動とする。すなわち近傍レコードの数がＦ個以上あればいつもの行動、Ｆ個未満であれば例外行動となる。Ｄ、Ｆは事前に設定しておくパラメータであり、例えばＤ＝１００メートル、Ｆ＝３回としておく。２レコード間の距離は数式１によって求める。
【００２４】
【数１】
2006251938.tif 000003
【００２５】
ここでＡ、Ｂは位置情報を表すレコードであり、Ａx、ＡyはそれぞれレコードＡのＸ座標、Ｙ座標を、Ｂx、ＢyはそれぞれレコードＢのＸ座標、Ｙ座標を表す。
【００２６】
なお現在位置に基づく方法以外では、最近の経路に基づいて例外行動を判定してもよい。すなわち、最近（現在-Ｔ時刻前から現在まで）の移動経路を、過去にF回以上辿っていれば、いつもと同じ行動をとっていると判定し、F回未満であれば例外行動と判定する。Ｔは事前に設定しておくパラメータであり、例えばＴ＝６０分としておく。
【００２７】
典型的な実装方法では処理４０２の結果は真偽値となる。真値はユーザがいつもの行動をとっている事を示し、偽値はいつもと違う例外行動をとっている事を表す。
【００２８】
処理４０２の結果を受け取った移動情報端末２０１は、続いて処理４０３でユーザＩＤ、状況判定結果、現在位置を送受信装置２０３に引数として渡し、情報の配信を要求する。ユーザＩＤは移動情報端末２０１に予め設定しておいたものを用い、現在位置にはテーブル３００に格納された最新レコードを用いる。
【００２９】
続く処理４０４、４０５は移動情報処理端末２０１と、サーバ２０２の通信処理である。送受信装置２０３は受け取った引数を、送受信処理装置２０４に渡す。処理４０５では、送受信装置２０４が受け取った引数を情報選択装置１０４に渡す。
【００３０】
処理４０６では、情報選択装置１０４が、処理４０２の結果に基づいて応答すべき情報を選択する。処理４０２でいつもと同じ行動であると判定されていた場合には、テーブル３０２の興味分野フィードと、テーブル３０１のターゲット分野フィールドに基づいて、テーブル３０１から情報を選択する。
【００３１】
まず、テーブル３０２を参照して、引数として受け取ったユーザＩＤを有するレコードを特定し、当該レコードに登録されている興味分野フィールドの値を得る。
【００３２】
次に、興味分野フィールドの値、ユーザの現在位置を選択条件としてテーブル３０１を検索し、選択条件に該当するレコードが有する配信内容フィールドの値を情報選択装置１０４の応答とする。例えば、Ｂ駅北口に居るユーザＩＤがU001のユーザに対しては、テーブル３０１から情報ＩＤがＩ002が選択され、「本日の一品」が情報選択装置１０４の応答になる。検索の結果、複数のレコードがヒットした場合は任意の１個を選択して情報選択装置１０４の応答とする。典型的な選択方法としては、ランダムに選ぶ方法、レコードの登録順で選ぶ方法、人気度で選ぶ方法等があり得る。
【００３３】
また処理４０６は、処理４０２で例外行動と判定されていた場合には、上述の処理でテーブル３０２の興味分野フィールドを用いず、ユーザの現在位置に該当する情報のうち人気度フィールドが大きなものを応答すべき情報として選択する。もし、特筆すべき情報が無ければ応答すべき情報を無しとしたい場合には、例えば人気度フィールドが0.5以上を満たす情報、という制約を選択条件に追加しておく。
【００３４】
テーブル３０２の興味分野フィールドには、短期的にはほとんど変わらない趣味嗜好が反映されているため、この情報を使うだけではユーザのその場、その時の状況に合致する情報を提供する事が困難である。本実施例では、ユーザの行動がいつもと同じである場合には興味分野フィールドに基づいて配信情報を選択し、例外行動であるときには情報選択の基準を変更する、情報の配信を抑制する等の対処が可能になる。
【００３５】
処理４０６に続く処理４０７では、情報選択装置１０４の応答が送受信装置２０４、２０３を通じて移動情報端末２０１に返る。次に、処理４０８では移動情報端末２０１が、サーバ２０２から受け取った情報を表示装置１０７に渡し、続く処理４０９では表示装置１０７が、受け取った情報をユーザに出力する。
【００３６】
以上がシーケンス４００の説明である。
【００３７】
なおテーブル３００に極めて多数の位置情報が蓄積されている場合には、処理４０２の実行時間の短縮に有効なデータ構造として、図６の検索用インデクス６０２を用いる事ができる。これについては実施例２の中で説明する。
【実施例２】
【００３８】
図５のシステム５００は、本実施例における第２の実施例を示している。本実施例も第１の実施例と同様、移動情報端末からの要求に応じて、サーバが現在位置に関連する多数情報の情報からいくつかを選択的に絞り込み、移動情報端末へ配信する。ただし第１の実施例と異なり、第２の実施例では例外行動判定装置１０２、位置履歴データベース１０３がサーバ５０２に配置されている。また、移動情報端末５０１が複数有る場合、位置履歴データベース中１０３には、各端末毎にテーブル３００が１個用意される。
【００３９】
第１の実施例はユーザのプライバシを配慮した構成であった。しかし大量の位置履歴を常時蓄積しつつ、例外行動判定で発生する多数の計算処理を実行するためには、移動情報端末側に計算機リソースを必要とする。一般にこのような連続的な処理は移動情報端末の電力消費量を増加させるため、電池駆動される端末では連続稼働時間が短くなる傾向にあり、また必要とされる処理速度、記憶容量に応じて端末の実装コストが大きくなる。
【００４０】
サーバ側の位置履歴データベースに対するセキュリティを十分に確保できる場合、移動情報端末の計算機リソースを最小限にするという観点からは、本実施例２のシステム５００が望ましい実現形態となる。
【００４１】
システム５００の主要なタスクは、システム２００のタスク１、２と同様である。また、システム５００の位置検出装置１０１、例外行動判定装置１０２、情報選択装置１０４、表示装置１０７の入出力及びこれらの装置間の処理シーケンスはシステム２００と同様である。
【００４２】
ただし、多くの移動情報端末が短時間内にタスク２を起動する場合には、サーバ５０２上の例外行動判定装置１０２により実行される処理４０２において、近傍レコード検索がレスポンス低下のボトルネックになりうる。そのため本実施例における例外行動判定装置１０２は、検索を効率化するためのインデクスを用いる。タスク１でテーブル３００が更新されると、例外行動判定装置１０２は検索用のインデクスを更新する。また例外行動判定装置１０２は、タスク２の処理４０２で近傍レコードを検索する際に、検索用のインデクスを参照する。
【００４３】
６００は本実施例で処理４０２で用いるインデクスの概念図である。平面６０１は、テーブル３００に格納された位置履歴が存在しうる地理的な領域を表している。平面６０１の南北、東西の長さは共にＥである。また現在位置の近傍の大きさはＤである。平面６０２は、平面６０１内に存在する位置情報を保持するための空間インデクスの構造を示しており、４つのメッシュ（部分領域）に分割される。平面６０１のＸ軸、Ｙ軸をそれぞれ２分割し、メッシュと位置情報を対応付ける。平面６０１に例示した現在位置であれば、南東メッシュが対応付けられる。
【００４４】
ただし例外行動判定処理で用いる近傍Ｄを考慮し、位置情報を対応付ける際にはメッシュの大きさをＥ／２＋Ｄとしておく。つまり各メッシュはオーバラップしており、最大で４個のメッシュが１個の位置情報に対応付けられる。
【００４５】
さらに、近傍レコードの検索時に近傍Ｄのデータを容易に探せるよう、各メッシュは十分に小さくなるまで上述と同様に分割される。分割の打ち切り条件は数式２に示す通りである。
【００４６】
【数２】
2006251938.tif 000004
【００４７】
nは分割回数、Ｅ(n)はn回分割したメッシュの大きさである。あるいは数式２において、Ｄの代わりに任意の定数Ｂを打ち切り条件に用いても良い。ただし、Ｂ＞Ｄである。
【００４８】
６０３は、例外行動判定装置１０２が用いる検索用インデクスのデータ構造である。６０４は空間インデクスを保持する４分ツリーであり、ルートノード６０５は大きさＥの領域に、その他のノードは分割したメッシュに対応する。図６中、６０５は、平面６０１をカバーしており、原点座標は平面６０１の南西の端点であることを意味している。ルートノードを基点とするツリーの深さが分割回数nに対応し、各ノードはメッシュがカバーする領域の原点座標と、再分割した南西、南東、北西、北東メッシュを表す４つの子ノードへのポインタを保持する。ただし、葉ノードは、メッシュへのポインタではなく、テーブルインデクス６０６へのポインタを保持する。ここで、ルートツリーの深さは０と定義する。またこれらのノードは、カバーする領域内に位置情報が存在する場合にのみ生成され、位置情報が存在しないメッシュに対するポインタはＮＵＬＬとなる。
【００４９】
テーブルインデクス６０６は、メッシュ内に存在する位置情報のリストであり、テーブル３００へのインデクスとして機能する。リストの各要素は、テーブル３００に格納されたレコードのレコード番号を表す。
【００５０】
図７のフロー７００は、タスク１においてテーブル３００に現在位置のレコードが１個追加された後に実行される、例外行動判定装置１０２によるインデクス更新の処理フローである。まず空間インデクス６０４のルートノードをカレントノードにセットし、フロー７００を開始する。
【００５１】
処理７０１は、これから分割するメッシュのサイズを調べ、数式２に従って分割打ち切りか否かを判定する。
【００５２】
打ち切り条件を満たしていない場合は処理７０２でメッシュ分割を実行し、南西メッシュから順に現在位置との対応を判定する。処理７０２の判定条件は座標(Ox-D, Oy-D)、(Ox+E(n)+D, Oy+E(n)+D)を対角点とする矩形領域内に現在位置が存在するか否かである。ここで（Ox, Oy）はカレントノードに格納されている原点座標である。
【００５３】
判定条件を満たす場合は処理７０３に進む。満たさない場合は、南東メッシュ、北西メッシュ、北東メッシュに対してそれぞれ処理７０２〜７０５と同様の処理が実行される。
【００５４】
処理７０３は南西メッシュに対応する子ノードの存在を判定し、存在しない場合は処理７０４でノードを生成し処理７０５に進む。存在する場合は処理７０３から直接処理７０５に進む。
【００５５】
処理７０５は南西メッシュを再分割する。ここでは現在調べている南西メッシュをカレントノードにセットし、フロー７００を再帰呼び出しする。処理７０５の再帰呼び出しが終了すると、現在調べている南西メッシュに隣接する南東メッシュ、北西メッシュ、北東メッシュに対して、処理７０２〜７０５と同様の処理が実行される。
【００５６】
処理７０１で打ち切り条件を満たしている場合には処理７０６に進む。処理７０６は、テーブルインデクス６０６の存在を判定し、存在しない場合は処理７０７で生成して処理７０８へ進む。存在する場合は処理７０６から直接処理７０８へ進む。
【００５７】
処理７０８は、現在位置の格納レコードのレコード番号を、テーブルインデクス６０６に追加する。フロー７００が再帰呼び出しされていた場合には呼び出し元に処理が戻る。
【００５８】
以上が検索用インデクス更新処理のフロー７００である。なお、タスク１で現在位置を新しいレコードとして追加した後で古いレコードデータを削除する場合は、フロー７００と同様のツリー探索により当該レコードを格納したテーブルインデクスを特定し、レコード番号を削除する。
【００５９】
検索用インデクスを用いた例外行動処理４０２では、まず検索用インデクスにより近傍レコードの候補を限定し、限定した候補に対してのみ数式１を当てはめて距離を計算する。図８のフロー８００は、近傍レコード検索で実行されるインデクス参照処理である。
まず空間インデクス６０４のルートノードをカレントノードにセットし、またテーブルインデクスへのポインタを初期化してフロー８００を開始する。
【００６０】
処理８０１は、南西メッシュが現在位置を内包するかどうかを判定する。ただし処理７０２と異なり、処理８０１では近傍の大きさＤは判定条件に含めない。座標(Ox, Oy)、(Ox+E(n), Oy+E(n))を端点とする矩形領域内に現在位置が存在するか否かで判定する。南西メッシュが現在位置を内包する場合は処理８０２へと進む。内包していない場合は南東メッシュ、北西メッシュ、北東メッシュを順に調べ、いずれかのメッシュのうちの一つに対して処理８０２〜８０５を実行する。
【００６１】
処理８０２は、カレントノードがテーブルインデクスへのポインタを調べ、テーブルインデクスの存在を判定する。存在する場合は処理８０５へと進み、テーブルインデクス６０６へのポインタをセットしてフロー８００を終了する。テーブルインデクスが存在しない場合は処理８０３へ進む。
【００６２】
処理８０３は、子ノードへのポインタを調べ、カレントノードが葉ノードか否かを判定する。葉ノードでない場合は処理８０４へ進み、現在調べている南西メッシュをカレントノードに設定してフロー８００を再帰呼び出しする。カレントノードが葉ノードである場合はフロー８００を終了する。この場合、テーブルインデクスへのポインタは初期値のままなので、近傍レコードは存在しないという処理結果になる。
【００６３】
以上が検索用インデクス参照処理のフロー８００である。処理８０５の結果として、近傍レコードの候補が得られる。
【００６４】
なおシステム５００に移動情報端末５０１が複数ある場合、空間インデクス６０４、テーブルインデクス６０６は、各端末ごとに１個用意する。あるいは空間インデクス６０４は、全端末で共有し、テーブルインデクス６０６のみを個別にする事も可能である。
【００６５】
また、実施例１において、移動情報端末２０１に空間インデクス６０４、テーブルインデクス６０６を移動情報端末に持たせることも可能である。
【実施例３】
【００６６】
次に、システム１００の情報選択装置１０４に協調フィルタリングを用いる第３の実施例を説明する。
【００６７】
実施例１、２における情報選択装置１０４は、移動情報端末の現在位置に基づいて情報を選択していた。
【００６８】
ところで、例外行動判定装置１０２の出力は、位置情報を用いない情報選択手法にも適用が可能である。このような情報選択手法としては、協調フィルタリングが一般に知られている。協調フィルタリングの原理は、非特許文献１等に詳しい。
【００６９】
本実施例では、ユーザ情報データベース１０６に、図９に示す参照履歴９００、評価テーブル９０１、類似度テーブル９０２が格納される。各装置の構成はシステム２００、システム５００のどちらでも構わない。ここでは、システム２００の情報選択装置１０４に協調フィルタリングを用いる例を説明する。参照履歴９００は、移動情報端末のユーザが配信された情報を実際に参照した際に生成される履歴情報である。各レコードは１人のユーザの１回の情報参照を表しており、各レコードは移動情報端末２０１へ配信された情報に記載のURIをユーザがクリックしたときに、サーバが記録する。また各レコードはユーザＩＤ、参照日時、情報ＩＤのフィールドからなる。ユーザＩＤ、情報ＩＤフィールドは、テーブル３０１、３０２のものと同様である。
【００７０】
シーケンス４００の処理４０６において、本実施例の情報選択装置１０４は以下の計算を実行する。
【００７１】
まず参照履歴９００を用いて、参照日時フィールドが期間Ｔ１に該当するレコードを集計し、評価テーブル９０１を作成する。ただし情報配信の対象となるユーザの参照履歴に関しては、処理４０２で例外行動と判定されている場合は、最近の期間Ｔ２の参照履歴のみを集計する。期間Ｔ１は過去のある日時ｔ１から現在まで、期間Ｔ２は過去のある日時ｔ２から現在までを表す。ｔ１、ｔ２は任意のパラメータであり、ｔ１＜ｔ２である。
【００７２】
評価テーブル９０１に格納されたRは、どのユーザがどの情報を参照したかを表しており、値が１であれば参照した事を、値が０であれば参照してない事を表す。これらのセル値はユーザが配信情報に興味があった事実を示す評価値と見なす。
【００７３】
なお、評価テーブル９０１はシーケンス４００を実行する前にオフラインで事前に作成しておいても構わない。この場合は情報配信の対象となるユーザの最新の参照履歴のみを評価テーブル９０１に反映しておく。
【００７４】
次に、評価テーブル９０１を入力として、数式３を用いて類似度テーブル９０２を作成する。
【００７５】
【数３】
2006251938.tif 000005
【００７６】
ＡＶＥ[i]は、評価テーブル９０１のi番目のレコードの全セルの平均値である。類似度テーブル９０２に格納されたＣは、どのユーザとどのユーザが近いかを表している。
【００７７】
次に、情報配信の対象となるユーザが未だ見ていない情報に関し、評価テーブル９０１の評価値を予測する。未参照の情報ｘに対するユーザｉの予測評価値Ｒ’は、評価値は数式４で与える。
【００７８】
【数４】
2006251938.tif 000006
【００７９】
最後にＲ’が最も大きな情報を選択し、処理４０６の出力とする。
【産業上の利用可能性】
【００８０】
本発明は、インターネット上の地域ポータル、口コミ掲示板、メールによる広告配信において、端末の利用者に適切な情報を提供するシステムに適用可能である。
【図面の簡単な説明】
【００８１】
【図１】本実施例の基本構成である。
【図２】第１の実施例のシステム構成である。
【図３】第１の実施例の入力データ、内部データである。
【図４】移動情報端末の要求により、サーバが情報を配信する処理である。
【図５】第２の実施例のシステム構成である。
【図６】検索用インデクスの概念図、データ構造である。
【図７】検索用インデクスの更新処理である。
【図８】検索用インデクスを用いた検索処理である。
【図９】第３の実施例が用いる内部データである。
【符号の説明】
【００８２】
１００…本実施例の基本構成、１０１…位置検出装置、１０２…例外行動判定装置、１０３…位置履歴データベース、１０４…情報選択装置、１０５…配信情報データベース、１０６…ユーザ情報データベース、１０７…表示装置、２００…第１の実施例のシステム構成、２０１…移動情報端末、２０２…サーバ、２０３…移動情報端末の送受信装置、２０４…サーバの送受信装置、３００…位置履歴データベース１０３に格納するテーブル、３０１…配信情報データベース１０５に格納するテーブル、３０２…ユーザ情報データベース１０５に格納するテーブル、４００…第１の実施例における配信情報表示処理のシーケンス、４０１…状況判定の要求処理、４０２…行動判定処理、４０３…配信要求処理、４０４…送信結果等を送信する処理、４０５…配信情報を要求する処理、４０６…配信する情報を選択する処理、４０７…送受信装置２０３が配信情報を応答する処理、４０８…表示要求処理、４０９…配信情報表示処理、５００…第２の実施例のシステム構成、５０１…移動情報端末、５０２…サーバ、５０３…移動情報端末の送受信装置、５０４…サーバの送受信装置、６００…処理４０２で用いるインデクスの概念図、６０１…テーブル３００に格納された位置履歴が存在しうる領域の概念図、６０２…６０１に対応する空間インデクスの構造の概念図、６０３…例外行動判定装置１０２が用いる検索用インデクスのデータ構造、６０４…空間インデクスを保持する４分ツリーの構造、６０５…ツリーのルートノード、６０６…テーブルインデクスのデータ構造、７００…空間インデクスへのデータ追加シーケンス、７０１…メッシュ分割打ち切り判定処理、７０２…南西メッシュ判定処理、７０３…子ノードの存在を判定する処理、７０４…南西メッシュの子ノード生成処理、７０５…フロー７００の再帰呼び出し処理、７０６…テーブルインデクスの存在を判定する処理、７０７…テーブルインデクス生成処理、７０８…テーブルインデクスへデータを登録する処理、８００…検索用インデクス参照処理のフロー、８０１…メッシュ分割打ち切り判定処理、８０２…テーブルインデクスの存在を判定する処理、８０３…葉ノードの存在を判定する処理、８０４…フロー８００の再帰呼び出し処理、８０５…フロー８００の処理結果として、ポインタをセットする処理、９００…協調フィルタリングへの入力となる参照履歴、９０１…協調フィルタリングの処理で集計する評価テーブル、９０２…協調フィルタリングの処理で計算する類似度テーブル
【図１】
2006251938.tif 000007
【図２】
2006251938.tif 000008
【図３】
2006251938.tif 000009
【図４】
2006251938.tif 000010
【図５】
2006251938.tif 000011
【図６】
2006251938.tif 000012
【図７】
2006251938.tif 000013
【図８】
2006251938.tif 000014
【図９】
2006251938.tif 000015