(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022096447
(43)【公開日】2022-06-29
(54)【発明の名称】位置情報履歴に基づくユーザとエリアの特徴をモデル化する情報処理装置、情報処理方法、および、コンピュータプログラム
(51)【国際特許分類】
G06Q 10/00 20120101AFI20220622BHJP
【FI】
G06Q10/00
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2020209558
(22)【出願日】2020-12-17
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り (1)掲載物名:令和2年度電気・電子・情報関係学会東海支部連合大会 論文集、掲載アドレス:https://www.jp-c.jp/rengo/www/cd/pdf/A1-4.pdf、掲載年月日:令和2年8月24日 (2)集会名:令和2年度電気・電子・情報関係学会東海支部連合大会、開催日:令和2年9月3日 (3)掲載物名:令和2年度電気・電子・情報関係学会東海支部連合大会 発表動画、掲載アドレス:https://www.youtube.com/watch?v=XlYh__ZjAps、掲載年月日:令和2年9月17日 (4)掲載物名:マルチメディア,分散,協調とモバイル(DICOMO2020)シンポジウム 論文集、 掲載アドレス:http://conf.uclab.jp/DICOMO2020/program/program.html#6C-1、掲載年月日:令和2年6月17日 (5)集会名:マルチメディア,分散,協調とモバイル(DICOMO2020)シンポジウム、開催日:令和2年6月25日 (6)掲載物名:マルチメディア,分散,協調とモバイル(DICOMO2020)シンポジウム 発表動画、掲載アドレス:https://youtu.be/g7Lsc6DSsOk、掲載年月日:令和2年7月17日 (7)掲載物名:情報処理学会モバイルコンピューティングとパーベイシブシステム(MBL) 研究報告、掲載アドレス: https://ipsj.ixsq.nii.ac.jp/ej/index.php?active_action=repository_view_main_item_detail&page_id=13&block_id=8&item_id=203552&item_no=1、掲載年月日:令和2年2月24日
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人科学技術振興機構、戦略的創造研究推進事業「イノベーション創発に資する人工知能基盤技術の創出と統合化 異種ドメインユーザの行動予測を可能にするペルソナモデルの転移技術」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(71)【出願人】
【識別番号】508324617
【氏名又は名称】株式会社ブログウォッチャー
(74)【代理人】
【識別番号】110001911
【氏名又は名称】特許業務法人アルファ国際特許事務所
(72)【発明者】
【氏名】河口 信夫
(72)【発明者】
【氏名】庄子 和之
(72)【発明者】
【氏名】米澤 拓郎
(72)【発明者】
【氏名】酒田 理人
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA20
(57)【要約】
【課題】一意に特定することが可能であり、かつ、多様な情報を保持したエリアの時間的利用態様の特徴を表すモデルを実現する。
【解決手段】L個のエリアのそれぞれの時間的利用態様の特徴を表すベクトル表現を特定する情報処理装置は、利用態様データ取得部と、エリア用ベクトル表現特定部とを備える。利用態様データ取得部は、各エリアの時間的利用態様がM種類のいずれであるかを示すエリア別利用態様データを取得する。エリア用ベクトル表現特定部は、エリア別利用態様データに基づき、各エリアの時間的利用態様の特徴を表すベクトル表現を特定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のユーザのそれぞれの位置情報履歴を示す位置情報履歴データに基づき、L(Lは、2以上の整数)個のエリアのそれぞれの時間的利用態様の特徴を表すベクトル表現を特定する情報処理装置であって、
各前記位置情報履歴データに基づき、各前記ユーザによる各前記エリアの時間的利用態様が、M(Mは、2以上の整数)種類の時間的利用態様のいずれであるかを示すエリア別利用態様データを取得する利用態様データ取得部と、
前記エリア別利用態様データに基づき、各前記エリアの時間的利用態様の特徴を表すN(Nは、2以上かつLおよびMより小さい整数)次元のベクトル表現を特定するエリア用ベクトル表現特定部と、
を備える、情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記エリア用ベクトル表現特定部は、L次元の入力層とM次元の出力層とN次元の隠れ層とを有する3層のニューラルネットワークを用いて、前記L個のエリアのうちの1つを特定するL次元のOne-hotベクトルを前記入力層への入力とし、前記入力において特定された前記エリアについて、前記エリア別利用態様データに示された時間的利用態様を特定するM次元のOne-hotベクトルを前記出力層からの出力として機械学習を行い、前記入力層から前記隠れ層へのL×Nの重み行列における各前記エリアに対応した行を、各前記エリアの時間的利用態様の特徴を表すN次元のベクトル表現として特定する、情報処理装置。
【請求項3】
請求項1または請求項2に記載の情報処理装置であって、さらに、
各前記エリアについて特定された前記ベクトル表現を、複数のクラスタに分類するクラスタリング処理部を備える、情報処理装置。
【請求項4】
請求項1から請求項3までのいずれか一項に記載の情報処理装置であって、
各前記エリアの時間的利用態様は、各前記ユーザによる各前記エリアへの滞在態様である、情報処理装置。
【請求項5】
請求項4に記載の情報処理装置であって、
各前記エリア別利用態様データは、少なくとも、各前記ユーザによる各前記エリアへの滞在時期と滞在時刻と滞在時間との組合せによって前記滞在態様の種類を特定するデータである、情報処理装置。
【請求項6】
請求項1から請求項5までのいずれか一項に記載の情報処理装置であって、さらに、
各前記位置情報履歴データに基づき、P(Pは、2以上の整数)人のユーザのそれぞれの時間的位置態様が、Q(Qは、2以上の整数)種類の時間的位置態様のいずれであるかを示すユーザ別位置態様データを取得する位置態様データ取得部と、
前記ユーザ別位置態様データに基づき、各前記ユーザの時間的位置態様の特徴を表すR(Rは、2以上かつPおよびQより小さい整数)次元のベクトル表現を特定するユーザ用ベクトル表現特定部と、
を備える、情報処理装置。
【請求項7】
請求項6に記載の情報処理装置であって、
前記ユーザ用ベクトル表現特定部は、P次元の入力層とQ次元の出力層とR(Rは、2以上かつPおよびQより小さい整数)次元の隠れ層とを有する3層のニューラルネットワークを用いて、前記P人のユーザのうちの1人を特定するP次元のOne-hotベクトルを前記入力層への入力とし、前記入力において特定された前記ユーザについて、前記ユーザ別位置態様データに示された時間的位置態様を特定するQ次元のOne-hotベクトルを前記出力層からの出力として機械学習を行い、前記入力層から前記隠れ層へのP×Rの重み行列における各前記ユーザに対応した行を、各前記ユーザの時間的位置態様の特徴を表すR次元のベクトル表現として特定する、情報処理装置。
【請求項8】
請求項6または請求項7に記載の情報処理装置であって、
各前記ユーザ別位置態様データは、少なくとも、時期と時間帯と各前記ユーザの滞在場所との組合せによって前記時間的位置態様の種類を特定するデータである、情報処理装置。
【請求項9】
請求項8に記載の情報処理装置であって、さらに、
各前記エリアについて特定された前記ベクトル表現を、複数のクラスタに分類するクラスタリング処理部を備え、
各前記ユーザ別位置態様データは、少なくとも、時期と時間帯と各前記ユーザの滞在クラスタとの組合せによって前記時間的位置態様の種類を特定するデータである、情報処理装置。
【請求項10】
複数のユーザのそれぞれの位置情報履歴を示す位置情報履歴データに基づき、P(Pは、2以上の整数)人のユーザのそれぞれの時間的位置態様の特徴を表すベクトル表現を特定する情報処理装置であって、
各前記位置情報履歴データに基づき、各前記ユーザの時間的位置態様が、Q(Qは、2以上の整数)種類の時間的位置態様のいずれであるかを示すユーザ別位置態様データを取得する位置態様データ取得部と、
前記ユーザ別位置態様データに基づき、各前記ユーザの時間的位置態様の特徴を表すR(Rは、2以上かつPおよびQより小さい整数)次元のベクトル表現を特定するユーザ用ベクトル表現特定部と、
を備える、情報処理装置。
【請求項11】
複数のユーザのそれぞれの位置情報履歴を示す位置情報履歴データに基づき、L(Lは、2以上の整数)個のエリアのそれぞれの時間的利用態様の特徴を表すベクトル表現を特定する情報処理方法であって、
各前記位置情報履歴データに基づき、各前記ユーザによる各前記エリアの時間的利用態様が、M(Mは、2以上の整数)種類の時間的利用態様のいずれであるかを示すエリア別利用態様データを取得する工程と、
前記エリア別利用態様データに基づき、各前記エリアの時間的利用態様の特徴を表すN(Nは、2以上かつLおよびMより小さい整数)次元のベクトル表現を特定する工程と、
を備える、情報処理方法。
【請求項12】
複数のユーザのそれぞれの位置情報履歴を示す位置情報履歴データに基づき、L(Lは、2以上の整数)個のエリアのそれぞれの時間的利用態様の特徴を表すベクトル表現を特定する処理を行うコンピュータプログラムであって、
コンピュータに、
各前記位置情報履歴データに基づき、各前記ユーザによる各前記エリアの時間的利用態様が、M(Mは、2以上の整数)種類の時間的利用態様のいずれであるかを示すエリア別利用態様データを取得する処理と、
前記エリア別利用態様データに基づき、各前記エリアの時間的利用態様の特徴を表すN(Nは、2以上かつLおよびMより小さい整数)次元のベクトル表現を特定する処理と、
を実行させる、コンピュータプログラム。
【請求項13】
複数のユーザのそれぞれの位置情報履歴を示す位置情報履歴データに基づき、P(Pは、2以上の整数)人のユーザのそれぞれの時間的位置態様の特徴を表すベクトル表現を特定する情報処理方法であって、
各前記位置情報履歴データに基づき、各前記ユーザの時間的位置態様が、Q(Qは、2以上の整数)種類の時間的位置態様のいずれであるかを示すユーザ別位置態様データを取得する工程と、
前記ユーザ別位置態様データに基づき、各前記ユーザの時間的位置態様の特徴を表すR(Rは、2以上かつPおよびQより小さい整数)次元のベクトル表現を特定する工程と、
を備える、情報処理方法。
【請求項14】
複数のユーザのそれぞれの位置情報履歴を示す位置情報履歴データに基づき、P(Pは、2以上の整数)人のユーザのそれぞれの時間的位置態様の特徴を表すベクトル表現を特定する処理を行うコンピュータプログラムであって、
コンピュータに、
各前記位置情報履歴データに基づき、各前記ユーザの時間的位置態様が、Q(Qは、2以上の整数)種類の時間的位置態様のいずれであるかを示すユーザ別位置態様データを取得する処理と、
前記ユーザ別位置態様データに基づき、各前記ユーザの時間的位置態様の特徴を表すR(Rは、2以上かつPおよびQより小さい整数)次元のベクトル表現を特定する処理と、
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術は、エリアの時間的利用態様の特徴を表すベクトル表現またはユーザの時間的位置態様の特徴を表すベクトル表現を特定する情報処理装置等に関する。
【背景技術】
【0002】
近年、GPS(Global Positioning System)機能を備えたモバイル端末(例えば、スマートフォン、ウェアラブル端末等)の普及により、各ユーザの位置の履歴を示す位置情報履歴の収集が容易になっている。位置情報履歴は、個々のユーザの日々の行動を反映したものであり、例えば混雑予測、都市計画、マーケティングといった様々な目的に利用することができる。
【0003】
実際に位置情報履歴を活用するためには、その目的に沿った位置情報履歴のモデリングが必要になる。例えば、ユーザの滞在遷移をモデリングする手法として、滞在場所を座標(緯度および経度)で表現する「座標遷移モデル」や、滞在場所をラベル(例えば、住宅街、飲食店等)で表現する「ラベル遷移モデル」がある。位置情報履歴のモデリングを行うことにより、データを抽象化することができ、ユーザ毎に意味がまとまりやすくなるという利点がある。
【0004】
従来、上述したラベル遷移モデルに関連する技術として、様々な要素(例えば、滞在目的、天気、移動手段等)が含まれたデータセットを使用してユーザの分散表現を作成し、この分散表現に基づきユーザ同士の行動の類似性を測定する技術が知られている(例えば、非特許文献1参照)。また、同様に上述したラベル遷移モデルに関連する技術として、事前に収集したPOI(Point of Interest)情報に基づきユーザの滞在目的を類推し、滞在目的による滞在遷移モデルを作成し、この滞在遷移モデルに基づきユーザの属性の推定を行う技術が知られている(例えば、非特許文献2参照)。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】アンドレア・エスリ(Andrea Esuli)、外3名、"Traj2User:ユーザの移動態様の類似性を計算するためのエクスプロイティング・エンベッディング(Traj2User:exploiting embeddings for computing similarity of users mobile behavior)"、[online]、コーネル大学(Cornell University)、[令和2年12月1日検索]、インターネット(https://arxiv.org/abs/1808.00554)
【非特許文献2】ワンロン・シャン(Wanlong Zhang)、外2名、"実在ユーザのGPSデータから意味の軌跡パターンをマイニングするシステム(A system of mining semantic trajectory patterns from gps data of real users)"、シンメトリー(Symmetry)、2019年7月、第11巻、第7号、p.889
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記従来の技術では、ラベルがPOIの種類である場合、例えば衣料品、日用品、食料品といった様々な領域をカバーした店舗に対してラベルが「一意に決められない」という課題があり、また、そもそもデータセットに登録されていないPOIに対してラベルが「振れない」という課題がある。また、上記従来の技術では、ラベルが滞在目的(自宅、職場、飲食、娯楽等)である場合、その種類はせいぜい数十から数百種類程度であるため、情報の損失が大きいという課題がある。
【0007】
本明細書に開示される技術は、上述の課題を解決するためのものであり、エリアの時間的利用態様の特徴を表すモデルまたはユーザの時間的位置態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することを目的とする。
【課題を解決するための手段】
【0008】
本明細書に開示される技術は、例えば、以下の形態として実現することが可能である。
【0009】
(1)本明細書に開示される情報処理装置は、複数のユーザのそれぞれの位置情報履歴を示す位置情報履歴データに基づき、L(Lは、2以上の整数)個のエリアのそれぞれの時間的利用態様の特徴を表すベクトル表現を特定する装置である。本情報処理装置は、利用態様データ取得部と、エリア用ベクトル表現特定部とを備える。利用態様データ取得部は、各前記位置情報履歴データに基づき、各前記ユーザによる各前記エリアの時間的利用態様が、M(Mは、2以上の整数)種類の時間的利用態様のいずれであるかを示すエリア別利用態様データを取得する。エリア用ベクトル表現特定部は、前記エリア別利用態様データに基づき、各前記エリアの時間的利用態様の特徴を表すN(Nは、2以上かつLおよびMより小さい整数)次元のベクトル表現を特定する。
【0010】
このように、本情報処理装置では、各ユーザによる各エリアの時間的利用態様がM種類の時間的利用態様のいずれであるかを示すエリア別利用態様データに基づき、各エリアの時間的利用態様の特徴を表すN次元のベクトル表現を特定することができる。そのため、本情報処理装置によれば、各エリアの時間的利用態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。また、本情報処理装置によれば、事前にPOI情報を収集したり、POIにマニュアルでラベリングしたりする必要が無いため、エリアのモデリングの手間やコストを低減することができる。
【0011】
(2)上記情報処理装置において、前記エリア用ベクトル表現特定部は、L次元の入力層とM次元の出力層とN次元の隠れ層とを有する3層のニューラルネットワークを用いて、前記L個のエリアのうちの1つを特定するL次元のOne-hotベクトルを前記入力層への入力とし、前記入力において特定された前記エリアについて、前記エリア別利用態様データに示された時間的利用態様を特定するM次元のOne-hotベクトルを前記出力層からの出力として機械学習を行い、前記入力層から前記隠れ層へのL×Nの重み行列における各前記エリアに対応した行を、各前記エリアの時間的利用態様の特徴を表すN次元のベクトル表現として特定する構成としてもよい。本情報処理装置によれば、各エリアの時間的利用態様の特徴をより精度良く表すN次元のベクトル表現を特定することができる。
【0012】
(3)上記情報処理装置において、さらに、各前記エリアについて特定された前記ベクトル表現を、複数のクラスタに分類するクラスタリング処理部を備える構成としてもよい。本情報処理装置によれば、時間的利用態様の類似度に基づき各エリアを複数のクラスタに分類することができ、各クラスタを分析することによって各クラスタに属するエリアの特徴を解釈することができる。
【0013】
(4)上記情報処理装置において、各前記エリアの時間的利用態様は、各前記ユーザによる各前記エリアへの滞在態様である構成としてもよい。本情報処理装置によれば、各エリアに滞在する人がどのような滞在をする傾向にあるか、といった各エリアの滞在態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。
【0014】
(5)上記情報処理装置において、各前記エリア別利用態様データは、少なくとも、各前記ユーザによる各前記エリアへの滞在時期と滞在時刻と滞在時間との組合せによって前記滞在態様の種類を特定するデータである構成としてもよい。本情報処理装置によれば、各エリアに滞在する人が、どの時期のどの時間帯にどの程度の時間、滞在する傾向にあるか、といった各エリアの滞在態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。
【0015】
(6)上記情報処理装置において、さらに、各前記位置情報履歴データに基づき、P(Pは、2以上の整数)人のユーザのそれぞれの時間的位置態様が、Q(Qは、2以上の整数)種類の時間的位置態様のいずれであるかを示すユーザ別位置態様データを取得する位置態様データ取得部と、前記ユーザ別位置態様データに基づき、各前記ユーザの時間的位置態様の特徴を表すR(Rは、2以上かつPおよびQより小さい整数)次元のベクトル表現を特定するユーザ用ベクトル表現特定部と、を備える構成としてもよい。本情報処理装置では、各ユーザのそれぞれの時間的位置態様がQ種類の時間的位置態様のいずれであるかを示すユーザ別位置態様データに基づき、各ユーザの時間的位置態様の特徴を表すR次元のベクトル表現を特定することができる。そのため、本情報処理装置によれば、各ユーザの時間的位置態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。
【0016】
(7)上記情報処理装置において、前記ユーザ用ベクトル表現特定部は、P次元の入力層とQ次元の出力層とR(Rは、2以上かつPおよびQより小さい整数)次元の隠れ層とを有する3層のニューラルネットワークを用いて、前記P人のユーザのうちの1人を特定するP次元のOne-hotベクトルを前記入力層への入力とし、前記入力において特定された前記ユーザについて、前記ユーザ別位置態様データに示された時間的位置態様を特定するQ次元のOne-hotベクトルを前記出力層からの出力として機械学習を行い、前記入力層から前記隠れ層へのP×Rの重み行列における各前記ユーザに対応した行を、各前記ユーザの時間的位置態様の特徴を表すR次元のベクトル表現として特定する構成としてもよい。本情報処理装置によれば、各ユーザの時間的位置態様の特徴をより精度良く表すR次元のベクトル表現を特定することができる。
【0017】
(8)上記情報処理装置において、各前記ユーザ別位置態様データは、少なくとも、時期と時間帯と各前記ユーザの滞在場所との組合せによって前記時間的位置態様の種類を特定するデータである構成としてもよい。本情報処理装置によれば、各ユーザがどの時期のどの時間帯にどの場所に滞在する傾向にあるか、といった各ユーザの時間的位置態様の特徴(換言すれば、各ユーザのライフスタイル)を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。
【0018】
(9)上記情報処理装置において、さらに、各前記エリアについて特定された前記ベクトル表現を、複数のクラスタに分類するクラスタリング処理部を備え、各前記ユーザ別位置態様データは、少なくとも、時期と時間帯と各前記ユーザの滞在クラスタとの組合せによって前記時間的位置態様の種類を特定するデータである構成としてもよい。本情報処理装置によれば、各ユーザがどの時期のどの時間帯にどのクラスタに滞在する傾向にあるか、といった各ユーザの時間的位置態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。また、本情報処理装置によれば、各エリアのベクトル表現についての各クラスタを分析して各クラスタの特徴を解釈し、該解釈に基づき、各ユーザの時間的位置態様の特徴を解釈することができる。
【0019】
(10)本明細書に開示される他の情報処理装置は、複数のユーザのそれぞれの位置情報履歴を示す位置情報履歴データに基づき、P(Pは、2以上の整数)人のユーザのそれぞれの時間的位置態様の特徴を表すベクトル表現を特定する装置である。本情報処理装置は、位置態様データ取得部と、ユーザ用ベクトル表現特定部とを備える。位置態様データ取得部は、各前記位置情報履歴データに基づき、各前記ユーザの時間的位置態様が、Q(Qは、2以上の整数)種類の時間的位置態様のいずれであるかを示すユーザ別位置態様データを取得する。ユーザ用ベクトル表現特定部は、前記ユーザ別位置態様データに基づき、各前記ユーザの時間的位置態様の特徴を表すR(Rは、2以上かつPおよびQより小さい整数)次元のベクトル表現を特定する。
【0020】
このように、本情報処理装置では、各ユーザの時間的位置態様がQ種類の時間的位置態様のいずれであるかを示すユーザ別位置態様データに基づき、各ユーザの時間的位置態様の特徴を表すR次元のベクトル表現を特定することができる。そのため、本情報処理装置によれば、各ユーザの時間的位置態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。
【0021】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、情報処理装置、情報処理方法、それらの方法を実現するコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することができる。
【図面の簡単な説明】
【0022】
【
図1】ユーザの滞在遷移を表現するための各種モデルを概念的に示す説明図
【
図2】本実施形態における情報処理装置100の概略構成を示すブロック図
【
図3】本実施形態におけるエリア用ベクトル表現特定処理を示すフローチャート
【
図4】エリア別利用態様データDaの一例を示す説明図
【
図5】滞在態様の種類を特定する各項目の区分を示す説明図
【
図6】エリア用ベクトル表現特定モデルMOaの一例を示す説明図
【
図7】各エリアのベクトル表現VRaのクラスタリング結果の一例を示す説明図
【
図8】エリア用クラスタ1aの分析結果の一例を示す説明図
【
図9】エリア用クラスタ2aの分析結果の一例を示す説明図
【
図10】エリア用クラスタ3aの分析結果の一例を示す説明図
【
図11】ベクトル表現遷移モデルの一例を示す説明図
【
図12】本実施形態におけるユーザ用ベクトル表現特定処理を示すフローチャート
【
図13】ユーザ別位置態様データDuの一例を示す説明図
【
図14】時間的位置態様の種類を特定する各項目の区分を示す説明図
【
図15】ユーザ用ベクトル表現特定モデルMOuの一例を示す説明図
【
図16】クラスタリングにより特定されたユーザ用クラスタ1uの分析結果の一例を示す説明図
【
図17】クラスタリングにより特定されたユーザ用クラスタ2uの分析結果の一例を示す説明図
【
図18】クラスタリングにより特定されたユーザ用クラスタ3uの分析結果の一例を示す説明図
【
図19】クラスタリングにより特定されたユーザ用クラスタ4uの分析結果の一例を示す説明図
【
図20】クラスタリングにより特定されたユーザ用クラスタ5uの分析結果の一例を示す説明図
【発明を実施するための形態】
【0023】
A.実施形態:
A-1.ユーザの滞在遷移を表現するための各種モデル:
図1は、ユーザの滞在遷移を表現するための各種モデルを概念的に示す説明図である。
図1のA欄には、ユーザの滞在遷移の一例が示されている。この例では、ユーザは、住宅街にある自宅を9時に出発し、10時にオフィスビルの職場に到着し、12時に飲食店に行って昼食を取り、その後、職場を経て17時に住宅街にある自宅に帰宅する。
【0024】
図1のB欄には、座標遷移モデルの一例が示されている。座標遷移モデルでは、各時刻におけるユーザの滞在場所が、座標(緯度および経度)によって表される。そのため、座標遷移モデルでは、例えば複数のユーザ間の滞在遷移の比較といった処理を行うことが困難である。
【0025】
図1のC欄には、ラベル遷移モデルの一例が示されている。ラベル遷移モデルでは、各時刻におけるユーザの滞在場所が、ユーザ間で共通して使用される予め定められたラベル(例えば、住宅街、飲食店等)によって表される。そのため、ラベル遷移モデルでは、例えば複数のユーザ間の滞在遷移の比較といった処理を行うことが可能である。しかしながら、ラベル遷移モデルでは、上述したように、ラベルが「一意に決められない」あるいは「振れない」という課題や、情報の損失が大きいという課題がある。
【0026】
図1のD欄には、本明細書に開示される技術であるベクトル表現遷移モデルの一例が示されている。ベクトル表現遷移モデルでは、各時刻におけるユーザの滞在場所が、その場所の時間的利用態様(時間的使われ方)の特徴を表す所定の次元数のベクトル表現(分散表現)によって表される。ベクトル表現遷移モデルによれば、例えば複数のユーザ間の滞在遷移の比較を、各ユーザが滞在した各エリアを表すベクトル間の距離を算出することにより実現することができる。また、ベクトル表現遷移モデルによれば、各エリアの時間的利用態様の特徴を表すベクトル表現を一意に特定することができ、かつ、できる限り多様な情報を保持した形でエリアやユーザのモデリングを実現することができる。以下、この点について詳細に説明する。
【0027】
A-2.情報処理装置100の構成:
図2は、本実施形態における情報処理装置100の概略構成を示すブロック図である。本実施形態の情報処理装置100は、エリアの時間的利用態様の特徴を表すベクトル表現およびユーザの時間的位置態様の特徴を表すベクトル表現を特定するためのベクトル表現特定処理を行う装置である。
【0028】
情報処理装置100は、例えばパーソナルコンピュータ(以下、「PC」という。)により構成されている。情報処理装置100は、制御部110と、記憶部130と、表示部152と、操作入力部156と、インターフェース部158とを備える。これらの各部は、バス190を介して互いに通信可能に接続されている。
【0029】
情報処理装置100の表示部152は、例えば液晶ディスプレイ等により構成され、各種の画像や情報を表示する。また、操作入力部156は、例えばキーボードやマウス、ボタン、マイク等により構成され、管理者の操作や指示を受け付ける。なお、表示部152が、タッチパネルを備えることにより、操作入力部156として機能するとしてもよい。また、インターフェース部158は、例えばLANインターフェースやUSBインターフェース等により構成され、有線または無線により他の装置との通信を行う。
【0030】
情報処理装置100の記憶部130は、例えばROMやRAM、ハードディスクドライブ(HDD)等により構成され、各種のプログラムやデータを記憶したり、各種のプログラムを実行する際の作業領域やデータの一時的な記憶領域として利用されたりする。例えば、記憶部130には、上述したベクトル表現特定処理を実行するためのコンピュータプログラムであるベクトル表現特定処理プログラムCPが格納されている。ベクトル表現特定処理プログラムCPは、例えば、CD-ROMやDVD-ROM、USBメモリ等のコンピュータ読み取り可能な記録媒体(不図示)に格納された状態で提供され、情報処理装置100にインストールすることにより記憶部130に格納される。
【0031】
また、情報処理装置100の記憶部130には、ベクトル表現特定処理において、位置情報履歴データDpと、エリア別利用態様データDaと、ユーザ別位置態様データDuと、エリア用ベクトル表現特定モデルMOaと、ユーザ用ベクトル表現特定モデルMOuとが格納される。これらのデータやモデルについては、後述のベクトル表現特定処理の説明に合わせて説明する。
【0032】
情報処理装置100の制御部110は、例えばCPU等により構成され、記憶部130から読み出したコンピュータプログラムを実行することにより、情報処理装置100の動作を制御する。例えば、制御部110は、記憶部130からベクトル表現特定処理プログラムCPを読み出して実行することにより、ベクトル表現特定処理を実行する。より詳細には、制御部110は、ベクトル表現特定処理を実行するためのベクトル表現特定処理部111として機能する。また、ベクトル表現特定処理部111は、位置情報履歴データ取得部112と、エリア別利用態様データ取得部113と、エリア用ベクトル表現特定部114と、クラスタリング処理部115と、ユーザ別位置態様データ取得部117と、ユーザ用ベクトル表現特定部118とを含む。これら各部の機能については、後述のベクトル表現特定処理の説明に合わせて説明する。エリア別利用態様データ取得部113は、特許請求の範囲における利用態様データ取得部の一例であり、ユーザ別位置態様データ取得部117は、特許請求の範囲における位置態様データ取得部の一例である。
【0033】
A-3.ベクトル表現特定処理:
次に、本実施形態の情報処理装置100により実行されるベクトル表現特定処理について説明する。本実施形態におけるベクトル表現特定処理は、エリアのベクトル表現を特定するためのエリア用ベクトル表現特定処理と、ユーザのベクトル表現を特定するためのユーザ用ベクトル表現特定処理とを含む。以下、これらを順に説明する。
【0034】
A-3-1.エリア用ベクトル表現特定処理:
図3は、本実施形態におけるエリア用ベクトル表現特定処理を示すフローチャートである。エリア用ベクトル表現特定処理は、L(Lは、2以上の整数)個のエリアのそれぞれの時間的利用態様(時間的使われ方)の特徴を表すベクトル表現VRaを特定するための処理である。本実施形態では、各エリアの時間的利用態様として、各ユーザによる各エリアへの滞在態様を用いている。なお、各エリアは、例えば、地図上の対象範囲を所定の大きさ(例えば、東西50m×南北50m)の複数のメッシュに分割することにより設定される。エリア用ベクトル表現特定処理は、例えば、管理者が情報処理装置100の操作入力部156を介して処理開始の指示を入力したことに応じて開始される。
【0035】
はじめに、情報処理装置100の位置情報履歴データ取得部112(
図2)が、複数のユーザの位置情報履歴を示す複数の位置情報履歴データDpを取得する(
図3のS110)。位置情報履歴データDpは、各時刻におけるユーザの位置を示すデータである。各位置情報履歴データDpは、例えば、GPS機能を備えたモバイル端末(例えば、スマートフォン、ウェアラブル端末等)によって生成され、各モバイル端末と通信可能なサーバ(不図示)によって収集され、位置情報履歴データ取得部112によって該サーバから通信回線を介して取得される。取得された位置情報履歴データDpは、記憶部130に格納される。
【0036】
次に、情報処理装置100のエリア別利用態様データ取得部113(
図2)が、エリア別利用態様データDaを取得する(
図3のS120)。エリア別利用態様データDaは、各ユーザによる各エリアの時間的利用態様(滞在態様)が、M(Mは、2以上の整数であり、本実施形態ではM=144)種類の態様のいずれであるかを示すデータである。
【0037】
図4は、エリア別利用態様データDaの一例を示す説明図である。
図4に示すように、エリア別利用態様データDaは、滞在時期と、滞在時刻と、滞在時間とを示すデータを含んでいる。滞在時期は、滞在が行われた時期を示すデータである。本実施形態では、滞在時期の区分として、曜日(平日か休日(週末および祝日)かの別)が用いられる。滞在時期として、季節や月といった他の区分が用いられてもよい。また、滞在時刻は、1日の内のどの時間帯に滞在が行われたかを示すデータである。本実施形態では、滞在時刻の指標値として、各エリアへの到着時刻(滞在開始時刻)が用いられる。滞在時刻として、各エリアからの出発時刻(滞在終了時刻)や、各エリアへの各滞在における中央時刻が用いられてもよい。また、滞在時間は、各エリアへの到着時刻から出発時刻までの経過時間である。例えば、
図4に示すエリア別利用態様データDaの例の1行目は、あるユーザが、エリアID:10のエリアに、休日の11時10分に到着し、該エリアに到着時刻から66分間滞在したことが示されている。また、
図4に示すエリア別利用態様データDaの例の2行目は、あるユーザ(1行目のユーザと同じであってもよいし、異なるユーザであってもよい)が、エリアID:23のエリアに、平日の8時30分に到着し、該エリアに到着時刻から360分間滞在したことが示されている。なお、エリア別利用態様データDaには、各エリアについて複数のデータ(レコード)が含まれ得る。
【0038】
エリア別利用態様データDaは、各ユーザによる各エリアへの滞在時期(滞在曜日)と滞在時刻(到着時刻)と滞在時間との組合せによって滞在態様の種類を特定するデータである。
図5は、滞在態様の種類を特定する各項目の区分を示す説明図である。
図5に示すように、本実施形態では、滞在曜日の区分として、平日と休日の2つの区分が設定され、到着時刻の区分として、0時から1時59分、2時から3時59分・・・のように2時間区切りの12区分が設定され、滞在時間の区分として、0~29分、30~59分、60~119分、120~239分、240~359分、360分~、の6区分が設定されている。そのため、滞在態様の種類として、2区分(滞在曜日)×12区分(到着時刻)×6区分(滞在時間)=144種類が設定されている。
図4に示すように、エリア別利用態様データDaには、各ユーザによる各エリアへの個々の滞在が、滞在曜日と到着時刻と滞在時間との組合せによって特定される144種類の滞在態様のうちのいずれであるかが示されている。
【0039】
なお、エリア別利用態様データ取得部113は、位置情報履歴データDpに基づきエリア別利用態様データDaを生成することによって、エリア別利用態様データDaを取得してもよい。あるいは、エリア別利用態様データ取得部113は、位置情報履歴データDpに基づき他の装置(例えばサーバ)により生成されたエリア別利用態様データDaを、該他の装置から例えば通信回線を介して取得するとしてもよい。この場合には、位置情報履歴データDpの取得処理(
図3のS110)は省略されてもよい。
【0040】
次に、情報処理装置100のエリア用ベクトル表現特定部114(
図2)が、エリア用ベクトル表現特定モデルMOaを用いて機械学習を行うことにより、各エリアのベクトル表現VRaを特定する(
図3のS130)。
【0041】
図6は、エリア用ベクトル表現特定モデルMOaの一例を示す説明図である。本実施形態では、エリア用ベクトル表現特定モデルMOaとして、Word2VecのSkip-gramモデルを改良したものが使用される。ここで、Word2Vecは、自然言語処理の分野で開発されたテキスト処理を行うためのニューラルネットワークである。Word2VecのSkip-gramモデルでは、ある単語を入力とし、その周辺の単語を予測するタスクをニューラルネットワークで学習し、得られた中間層の重み(入力層から隠れ層への重み行列における各単語に対応した行)が、各単語のベクトル表現(分散表現)として特定される。Word2Vecにより得られた単語のベクトル空間では、ある単語の周辺によく表れる単語は近くに配置され、文章中に同時に出現する頻度が少ない単語同士は遠くに配置される。
【0042】
図6に示すように、エリア用ベクトル表現特定モデルMOaは、L次元の入力層Iaと、M次元の出力層Oaと、N(Nは、2以上かつLおよびMより小さい整数)次元の隠れ層Haとを有する3層のニューラルネットワークである。本実施形態では、隠れ層Haの次元数Nは50である。入力層Iaへの入力は、L個のエリアのうちの1つを特定するL次元のOne-hotベクトル(該エリアに対応する箇所が1であり、その他はすべて0であるベクトル)である。出力層Oaからの出力は、該入力において特定されたエリアについて、エリア別利用態様データDaに示されたM種類の滞在態様の1つを特定するM次元のOne-hotベクトル(該滞在態様に対応する箇所が1であり、その他はすべて0であるベクトル)である。例えば、
図4に示すエリア別利用態様データDaの例の1行目に対応して、エリアID:10のエリアを特定するOne-hotベクトルを入力とし、滞在態様種類ID:105の滞在態様種類を特定するOne-hotベクトルを出力とする学習データが用いられる。
【0043】
エリア用ベクトル表現特定部114は、このような構成のエリア用ベクトル表現特定モデルMOaを用いて、エリア別利用態様データDaに規定された各データを学習データとして機械学習を行い、入力層Iaから隠れ層HaへのL×Nの重み行列W1を特定する。そして、この重み行列W1における各エリアに対応した行(各エリアを特定するOne-hotベクトルにおいてフラグ「1」が立った要素に対応した行)を、各エリアの滞在態様の特徴を表すN次元のベクトル表現VRaとして特定する。このようにして特定された各エリアのベクトル表現VRaは、各エリアに滞在する人が、どの時期(曜日)のどの時間帯にどの程度の時間、滞在する傾向にあるか、といった特徴を表すものとなる。そのため、各エリアのベクトル表現VRaの空間では、滞在態様が互いに類似するエリア同士は近くに配置され、滞在態様が大きく異なるエリア同士は遠くに配置されることとなる。
【0044】
次に、情報処理装置100のクラスタリング処理部115(
図2)が、各エリアのベクトル表現VRaをクラスタリングする(
図3のS140)。各エリアのベクトル表現VRaをクラスタリングにより複数のクラスタ(エリア用クラスタ)に分類することにより、滞在態様が類似するエリアが同一のクラスタにまとめられる。各クラスタの情報を分析することにより、各クラスタに属するエリアの滞在態様の特徴が解釈可能になる。なお、クラスタリングの手法は、任意の手法を用いることができ、例えばk-meansを採用することができる。また、クラスタ数は、ハイパーパラメータであり、任意に設定可能である。
【0045】
図7は、各エリアのベクトル表現VRaのクラスタリング結果の一例を示す説明図である。
図7には、複数のエリアを6個のエリア用クラスタ(クラスタ1a~6a)に分類するクラスタリング処理の結果が示されている。例えば、
図7に示すエリアA1はクラスタ6aに属しており、同様にクラスタ6aに属しているエリアA2と、滞在態様が類似していることが予想される。なお、
図7において、ハッチングが付されていないエリアは、データ数が少ないためにベクトル表現VRaの特定が行われなかったエリアである。
【0046】
図8から
図10は、各エリア用クラスタの分析結果の一例を示す説明図である。
図8から
図10には、それぞれ、複数のエリアを3個のエリア用クラスタ(クラスタ1a~3a)に分類するクラスタリング処理の結果において、平日および休日の1日あたりの、各クラスタに所属する1エリアあたりの、滞在時間別の人数分布が示されている。縦軸は人数であり、横軸は時刻であり、横軸のビンは30分である。なお、
図8から
図10において、長時間滞在している人は、複数の時間帯にわたってカウントされている。例えば、10時から12時までの滞在を行った人は、10時から12時までのすべてのビンにカウントされている。
【0047】
図8に示すクラスタ1aは、「オフィス街」であると解釈される。その理由は、以下の通りである。
・平日のグラフを見ると、午前8時前後から多くの人が長時間の滞在を開始しており、かつ、夜間に滞在する人が少ない。
・休日のグラフを見ると、滞在する人の数が極めて少ない。
【0048】
また、
図9に示すクラスタ2aは、「住宅街」であると解釈される。その理由は、以下の通りである。
・1日を通じて、長時間の滞在が顕著である。
・平日と休日で、あまり差がない。
【0049】
また、
図10に示すクラスタ3aは、「その他」、すなわち、オフィス街および住宅街以外のエリアである「ショッピング街」や「飲食店街」、または、人々が不規則に通行する「駅」であると解釈される。その理由は、以下の通りである。
・短時間の滞在が多い。
・食事時間帯において、滞在人数が増えている。
・夜間の滞在人数が、ある程度多い。
【0050】
このように、各エリア用クラスタには、各エリア用クラスタに属するエリアへの滞在に関する情報が含まれており、これを分析することにより、各エリアの特徴をある程度分析することができる。そのため、各エリアのベクトル表現VRaは、滞在に関する時間的特徴からベクトル表現VRa同士の近さが決定しているものであると言える。
【0051】
なお、
図8から
図10に示す分析結果は、2020年3月に愛知県日進市において収集された5,823人のユーザのGPSデータ(12,350,583レコード)を用いて、50mメッシュに分割した28,000個のエリア(ただし、その内、学習のために十分なデータ数が得られた4,821個のエリア)を対象として行ったものである。エリア用ベクトル表現特定モデルMOaにおいて、入力層Iaの次元数Lを4,821とし、出力層Oaの次元数Mを144とし、隠れ層Haの次元数Nを50とした。
【0052】
なお、情報処理装置100のクラスタリング処理部115(
図2)は、クラスタリング処理の後、各エリア用クラスタの滞在態様の特徴を表すベクトル表現を特定してもよい。例えば、クラスタリング処理部115は、各エリア用クラスタに属する各エリアのベクトル表現VRaの平均を、各エリア用クラスタのベクトル表現として特定してもよい。
【0053】
次に、情報処理装置100のベクトル表現特定処理部111(
図2)が、各ユーザの滞在遷移について、ベクトル表現遷移モデルを作成する(
図3のS150)。
図11は、ベクトル表現遷移モデルの一例を示す説明図である。ユーザのベクトル表現遷移モデルは、各時刻における各ユーザの滞在エリアを、そのエリアのベクトル表現VRaによって表すモデルである。
図11に示す例では、あるユーザが、エリアID:7838のエリア(所属クラスタ:9)から出発し、エリアID:6938のエリア(所属クラスタ:1)、エリアID:7838のエリア(所属クラスタ:9)、エリアID:6096のエリア(所属クラスタ:0)、エリアID:7838のエリア(所属クラスタ:9)・・・のような順に滞在場所を遷移させており、該滞在遷移が、各滞在エリアのベクトル表現VRaによって表されている。ベクトル表現遷移モデルを用いることにより、例えば複数のユーザ間の滞在遷移の比較を、各ユーザが滞在した各エリアのベクトル表現VRa間の距離に基づいて実行することができる。また、ベクトル表現遷移モデルを用いることにより、上述したラベル遷移モデルにおけるラベルが「一意に決められない」という課題やラベルが「振れない」という課題が発生せず、また、できる限り多様な情報を保持したユーザの滞在遷移のモデリングを実現することができる。
【0054】
A-3-2.ユーザ用ベクトル表現特定処理:
次に、ユーザのベクトル表現を特定するためのユーザ用ベクトル表現特定処理について説明する。
図12は、本実施形態におけるユーザ用ベクトル表現特定処理を示すフローチャートである。ユーザ用ベクトル表現特定処理は、P(Pは、2以上の整数)人のユーザのそれぞれの時間的位置態様(ある時期のある時間帯にどこに位置するかの態様であり、換言すれば各ユーザのライフスタイル)の特徴を表すベクトル表現VRuを特定するための処理である。ユーザ用ベクトル表現特定処理は、例えば、管理者が情報処理装置100の操作入力部156を介して処理開始の指示を入力したことに応じて開始される。
【0055】
まず、情報処理装置100のユーザ別位置態様データ取得部117(
図2)が、ユーザ別位置態様データDuを取得する(
図12のS220)。ユーザ別位置態様データDuは、各ユーザの時間的位置態様が、Q(Qは、2以上の整数であり、本実施形態ではQ=576)種類の態様のいずれであるかを示すデータである。
【0056】
図13は、ユーザ別位置態様データDuの一例を示す説明図である。
図13に示すように、ユーザ別位置態様データDuは、滞在時期と、滞在時間帯と、滞在場所とを示すデータを含んでいる。滞在時期は、滞在が行われた時期を示すデータである。本実施形態では、滞在時期の区分として、曜日(平日か休日(週末および祝日)かの別)が用いられる。滞在時期として、季節や月といった他の区分が用いられてもよい。また、滞在時間帯は、1日の内のどの時間帯に滞在が行われたかを示すデータである。また、滞在場所は、ユーザの位置を示すデータである。本実施形態では、滞在場所の区分として、上述したエリア用ベクトル表現特定処理において特定されたエリア用クラスタが用いられる。例えば、
図13に示すユーザ別位置態様データDuの例の1行目は、ユーザID:1のユーザが、休日の0時から0時14分の間に、クラスタ1aに位置した(滞在した)ことが示されている。
【0057】
ユーザ別位置態様データDuは、時期(曜日)と時間帯と各ユーザの滞在場所(滞在クラスタ)との組合せによって時間的位置態様の種類を特定するデータである。
図14は、時間的位置態様の種類を特定する各項目の区分を示す説明図である。
図14に示すように、本実施形態では、曜日の区分として、平日と休日の2つの区分が設定され、時間帯の区分として、0時から0時14分、0時15分から0時29分・・・のように15分間区切りの96区分が設定され、滞在クラスタの区分として、クラスタ1a~3aの3区分が設定されている。そのため、時間的位置態様の種類として、2区分(曜日)×96区分(時間帯)×3区分(滞在クラスタ)=576種類が設定されている。
図13に示すように、ユーザ別位置態様データDuには、各ユーザの時間的位置態様が、曜日と時間帯と滞在クラスタとの組合せによって特定される576種類の時間的位置態様のうちのいずれであるかが示されている。
【0058】
なお、ユーザ別位置態様データ取得部117は、位置情報履歴データDpに基づきユーザ別位置態様データDuを生成することによって、ユーザ別位置態様データDuを取得してもよい。あるいは、ユーザ別位置態様データ取得部117は、位置情報履歴データDpに基づき他の装置(例えばサーバ)により生成されたユーザ別位置態様データDuを、該他の装置から例えば通信回線を介して取得するとしてもよい。
【0059】
次に、情報処理装置100のユーザ用ベクトル表現特定部118(
図2)が、ユーザ用ベクトル表現特定モデルMOuを用いて機械学習を行うことにより、各ユーザのベクトル表現VRuを特定する(
図12のS230)。
【0060】
図15は、ユーザ用ベクトル表現特定モデルMOuの一例を示す説明図である。本実施形態では、ユーザ用ベクトル表現特定モデルMOuとして、エリア用ベクトル表現特定モデルMOaと同様に、Word2VecのSkip-gramモデルを改良したものが使用される。
図15に示すように、ユーザ用ベクトル表現特定モデルMOuは、P次元の入力層Iuと、Q次元の出力層Ouと、R(Rは、2以上かつPおよびQより小さい整数)次元の隠れ層Huとを有する3層のニューラルネットワークである。本実施形態では、隠れ層Huの次元数Rは50である。入力層Iuへの入力は、P人のユーザのうちの1人を特定するP次元のOne-hotベクトル(該ユーザに対応する箇所が1であり、その他はすべて0であるベクトル)である。出力層Ouからの出力は、該入力において特定されたユーザについて、ユーザ別位置態様データDuに示されたQ種類の時間的位置態様の1つを特定するQ次元のOne-hotベクトル(該態様に対応する箇所が1であり、その他はすべて0であるベクトル)である。例えば、
図13に示すユーザ別位置態様データDuの例の1行目に対応して、ユーザID:1のユーザを特定するOne-hotベクトルを入力とし、時間的位置態様種類ID:289の時間的位置態様種類を特定するOne-hotベクトルを出力とする学習データが用いられる。
【0061】
ユーザ用ベクトル表現特定部118は、このような構成のユーザ用ベクトル表現特定モデルMOuを用いて、ユーザ別位置態様データDuに規定された各データを学習データとして機械学習を行い、入力層Iuから隠れ層HuへのP×Rの重み行列W2を特定する。そして、この重み行列W2における各ユーザに対応した行(各ユーザを特定するOne-hotベクトルにおいてフラグ「1」が立った要素に対応した行)を、各ユーザの時間的位置態様の特徴を表すR次元のベクトル表現VRuとして特定する。このようにして特定された各ユーザのベクトル表現VRuは、各ユーザが、どの時期(曜日)のどの時間帯にどの場所に滞在する傾向にあるか、といった特徴を表すものとなる。そのため、各ユーザのベクトル表現VRuの空間では、時間的位置態様が互いに類似するユーザ同士は近くに配置され、時間的位置態様が大きく異なるユーザ同士は遠くに配置されることとなる。
【0062】
次に、情報処理装置100のクラスタリング処理部115(
図2)が、各ユーザのベクトル表現VRuをクラスタリングする(
図12のS240)。各ユーザのベクトル表現VRuをクラスタリングにより複数のクラスタ(ユーザ用クラスタ)に分類することにより、時間的位置態様が類似するユーザが同一のクラスタにまとめられる。各クラスタの情報を分析することにより、各クラスタに属するユーザの時間的位置態様の特徴が解釈可能になる。なお、クラスタリングの手法は、任意の手法を用いることができ、例えばk-meansを採用することができる。また、クラスタ数は、ハイパーパラメータであり、任意に設定可能である。
【0063】
図16から
図20は、クラスタリングにより特定された各ユーザ用クラスタの分析結果の一例を示す説明図である。
図16から
図20には、それぞれ、複数のユーザを5個のユーザ用クラスタ(クラスタ1u~5u)に分類するクラスタリング処理の結果において、平日および休日の1日あたりの、各クラスタに所属する1ユーザあたりの、上述したエリア用クラスタ別の滞在カウント分布が示されている。縦軸はカウント数(15分/カウント)であり、横軸は時刻であり、横軸のビンは30分である。また、上述したように、エリア用クラスタにおいて、クラスタ1aはオフィス街と解釈され、クラスタ2aは住宅街と解釈され、クラスタ3aはその他と解釈される。
【0064】
図16に示すクラスタ1uに属するユーザは、テレワーカーおよび/または主婦(または主夫)である蓋然性が高い。その理由は、以下の通りである。
・このクラスタに属するほとんどのユーザは、平日および休日とも、ほとんどの時間をクラスタ2a(住宅街)で過ごす。
【0065】
また、
図17に示すクラスタ2uに属するユーザは、自宅とオフィスとの間で通勤を行う一般的なオフィスワーカーである蓋然性が高い。その理由は、以下の通りである。
・このクラスタに属するユーザは、平日の日中の間ずっと、クラスタ1a(オフィス街)で過ごすことが多い。
・一方、休日には、クラスタ1a(オフィス街)のカウント数が大きく減少する。
【0066】
また、
図18に示すクラスタ3uに属するユーザは、クラスタ3a(その他)に自宅を持つユーザや、パートタイムワーカーであるとの推測が可能である。その理由は、以下の通りである。
・このクラスタに属するユーザは、曜日や時刻にかかわらず、クラスタ3a(その他)で多くの時間を過ごす。
【0067】
また、
図19に示すクラスタ4uに属するユーザは、頻繁に外出するテレワーカーであるとの推測が可能である。その理由は、以下の通りである。
・このクラスタに属するほとんどのユーザは、平日および休日とも、ほとんどの時間をクラスタ2a(住宅街)で過ごす。
・しかしながら、クラスタ1uに属するユーザと比較すると、このクラスタに属するユーザは、より頻繁にクラスタ3a(その他)を訪れている。
【0068】
また、
図20に示すクラスタ5uに属するユーザは、休日に働く機会を多く持つユーザであるとの推測が可能である。その理由は、以下の通りである。
・このクラスタに属するユーザは、平日に加えて休日にも、高い頻度でクラスタ1a(オフィス街)を訪れている。
【0069】
このように、各ユーザ用クラスタには、各ユーザ用クラスタに属するユーザの時間的位置態様に関する情報、換言すればライフスタイルに関する情報が含まれており、これを分析することにより、各ユーザの特徴をある程度分析することができる。そのため、各ユーザのベクトル表現VRuは、時間的位置態様の特徴からベクトル表現VRu同士の近さが決定しているものであると言える。
【0070】
なお、
図16から
図20に示す分析結果は、
図8から
図10に示すエリア用クラスタの分析と同じ対象地域およびデータを用いて行ったものである。ただし、対象ユーザは、1日の7割以上の時間帯における滞在位置を特定可能なユーザである632人のユーザとした。ユーザ用ベクトル表現特定モデルMOuにおいて、入力層Iuの次元数Pを632とし、出力層Ouの次元数Qを576とし、隠れ層Huの次元数Rを50とした。
【0071】
なお、情報処理装置100のクラスタリング処理部115(
図2)は、クラスタリング処理の後、各ユーザ用クラスタの時間的位置態様の特徴を表すベクトル表現を特定してもよい。例えば、クラスタリング処理部115は、各ユーザ用クラスタに属する各ユーザのベクトル表現VRuの平均を、各ユーザ用クラスタのベクトル表現として特定してもよい。
【0072】
また、情報処理装置100のベクトル表現特定処理部111は、上述したエリア用ベクトル表現特定処理およびユーザ用ベクトル表現特定処理の結果を用いて、さらに種々の処理を行ってもよい。例えば、ベクトル表現特定処理部111は、各エリアについて、該エリアに滞在する各ユーザの所属するユーザ用クラスタを分析することにより、各エリアに滞在するユーザの多様性の程度を特定することができる。
【0073】
A-4.本実施形態の効果:
以上説明したように、本実施形態の情報処理装置100は、複数のユーザのそれぞれの位置情報履歴を示す位置情報履歴データDpに基づき、L(Lは、2以上の整数)個のエリアのそれぞれの時間的利用態様の特徴を表すベクトル表現VRaを特定する装置である。情報処理装置100は、エリア別利用態様データ取得部113と、エリア用ベクトル表現特定部114とを備える。エリア別利用態様データ取得部113は、各位置情報履歴データDpに基づき、各ユーザによる各エリアの時間的利用態様が、M(Mは、2以上の整数)種類の時間的利用態様のいずれであるかを示すエリア別利用態様データDaを取得する。エリア用ベクトル表現特定部114は、L次元の入力層IaとM次元の出力層OaとN(Nは、2以上かつLおよびMより小さい整数)次元の隠れ層Haとを有する3層のニューラルネットワークであるエリア用ベクトル表現特定モデルMOaを用いて、L個のエリアのうちの1つを特定するL次元のOne-hotベクトルを入力層Iaへの入力とし、該入力において特定されたエリアについて、エリア別利用態様データDaに示された時間的利用態様を特定するM次元のOne-hotベクトルを出力層Oaからの出力として機械学習を行い、入力層Iaから隠れ層HaへのL×Nの重み行列W1における各エリアに対応した行を、各エリアの時間的利用態様の特徴を表すN次元のベクトル表現VRaとして特定する。
【0074】
このように、本実施形態の情報処理装置100では、各ユーザによる各エリアの時間的利用態様がM種類の時間的利用態様のいずれであるかを示すエリア別利用態様データDaに基づき、エリア用ベクトル表現特定モデルMOaを用いて機械学習を行うことにより、各エリアの時間的利用態様の特徴を表すN次元のベクトル表現VRaを特定することができる。そのため、本実施形態の情報処理装置100によれば、各エリアの時間的利用態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。また、本実施形態の情報処理装置100によれば、事前にPOI情報を収集したり、POIにマニュアルでラベリングしたりする必要が無いため、エリアのモデリングの手間やコストを低減することができる。
【0075】
また、本実施形態の情報処理装置100は、さらに、各エリアについて特定されたベクトル表現VRaを、複数のクラスタに分類するクラスタリング処理部115を備える。そのため、本実施形態の情報処理装置100によれば、時間的利用態様の類似度に基づき各エリアを複数のクラスタに分類することができ、各クラスタを分析することによって各クラスタに属するエリアの特徴を解釈することができる。
【0076】
また、本実施形態の情報処理装置100では、各エリアの時間的利用態様は、各ユーザによる各エリアへの滞在態様である。そのため、本実施形態の情報処理装置100によれば、各エリアに滞在する人がどのような滞在をする傾向にあるか、といった各エリアの滞在態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。
【0077】
また、本実施形態の情報処理装置100では、各エリア別利用態様データDaは、少なくとも、各ユーザによる各エリアへの滞在時期と滞在時刻と滞在時間との組合せによって滞在態様の種類を特定するデータである。そのため、本実施形態の情報処理装置100によれば、各エリアに滞在する人が、どの時期のどの時間帯にどの程度の時間、滞在する傾向にあるか、といった各エリアの滞在態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。
【0078】
また、本実施形態の情報処理装置100は、さらに、ユーザ別位置態様データ取得部117と、ユーザ用ベクトル表現特定部118とを備える。ユーザ別位置態様データ取得部117は、各位置情報履歴データDpに基づき、P(Pは、2以上の整数)人のユーザのそれぞれの時間的位置態様が、Q(Qは、2以上の整数)種類の時間的位置態様のいずれであるかを示すユーザ別位置態様データDuを取得する。ユーザ用ベクトル表現特定部118は、P次元の入力層IuとQ次元の出力層OuとR(Rは、2以上かつPおよびQより小さい整数)次元の隠れ層Huとを有する3層のニューラルネットワークであるユーザ用ベクトル表現特定モデルMOuを用いて、P人のユーザのうちの1人を特定するP次元のOne-hotベクトルを入力層Iuへの入力とし、該入力において特定されたユーザについて、ユーザ別位置態様データDuに示された時間的位置態様を特定するQ次元のOne-hotベクトルを出力層Ouからの出力として機械学習を行い、入力層Iuから隠れ層HuへのP×Rの重み行列W2における各ユーザに対応した行を、各ユーザの時間的位置態様の特徴を表すR次元のベクトル表現VRuとして特定する。
【0079】
このように、本実施形態の情報処理装置100では、各ユーザのそれぞれの時間的位置態様がQ種類の時間的位置態様のいずれであるかを示すユーザ別位置態様データDuに基づき、ユーザ用ベクトル表現特定モデルMOuを用いて機械学習を行うことにより、各ユーザの時間的位置態様の特徴を表すR次元のベクトル表現VRuを特定することができる。そのため、本実施形態の情報処理装置100によれば、各ユーザの時間的位置態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。
【0080】
また、本実施形態の情報処理装置100では、各ユーザ別位置態様データDuは、少なくとも、時期と時間帯と各ユーザの滞在場所との組合せによって時間的位置態様の種類を特定するデータである。そのため、本実施形態の情報処理装置100によれば、各ユーザがどの時期のどの時間帯にどの場所に滞在する傾向にあるか、といった各ユーザの時間的位置態様の特徴(換言すれば、各ユーザのライフスタイル)を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。
【0081】
また、本実施形態の情報処理装置100は、さらに、各エリアについて特定されたベクトル表現VRaを複数のクラスタに分類するクラスタリング処理部115を備え、各ユーザ別位置態様データDuは、少なくとも、時期と時間帯と各ユーザの滞在クラスタとの組合せによって時間的位置態様の種類を特定するデータである。そのため、本実施形態の情報処理装置100によれば、各ユーザがどの時期のどの時間帯にどのクラスタに滞在する傾向にあるか、といった各ユーザの時間的位置態様の特徴を表すモデルとして、一意に特定することが可能であり、かつ、できる限り多様な情報を保持したモデルの特定を実現することができる。また、本実施形態の情報処理装置100によれば、各エリアのベクトル表現VRaについての各クラスタを分析して各クラスタの特徴を解釈し、該解釈に基づき、各ユーザの時間的位置態様の特徴を解釈することができる。
【0082】
B.変形例:
本明細書で開示される技術は、上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の形態に変形することができ、例えば次のような変形も可能である。
【0083】
上記実施形態における情報処理装置100の構成は、あくまで一例であり、種々変形可能である。例えば、上記実施形態では、情報処理装置100がパーソナルコンピュータにより構成されているが、情報処理装置100が他の種類のコンピュータ(例えば、サーバ、スマートフォン、タブレット端末等)により構成されていてもよい。また、上記実施形態では、情報処理装置100が、エリア用ベクトル表現特定処理とユーザ用ベクトル表現特定処理との両方を実行しているが、2つの処理が互いに異なる情報処理装置により実行されてもよい。この場合には、各情報処理装置が一方の処理を実行するための構成を備えていれば足りる。
【0084】
上記実施形態における情報処理装置100によるベクトル表現特定処理の内容は、あくまで一例であり、種々変形可能である。例えば、上記実施形態において、
図5に示す滞在態様の種類を特定する各項目の区分は、あくまで一例であり、他の区分を採用してもよい。例えば、到着時間の区分を、1時間区切りにしたり、3時間区切りにしたりしてもよい。また、滞在時間の区分を、5区分以下としてもよいし、7区分以上としてもよい。
【0085】
同様に、
図14に示す時間的位置態様の種類を特定する各項目の区分は、あくまで一例であり、他の区分を採用してもよい。例えば、時間帯の区分を、1分区切りにしたり、30分区切りにしたりしてもよい。なお、上記実施形態では、ユーザ用ベクトル表現特定処理の前にエリア用ベクトル表現特定処理が実行されていること(各エリアのベクトル表現VRaが特定され、該ベクトル表現VRaのクラスタリングが実行されていること)を前提として、
図14に示すように、時間的位置態様の種類を特定する項目に「滞在クラスタ」を用いているが、この点は必須ではない。すなわち、ユーザ用ベクトル表現特定処理の前にエリア用ベクトル表現特定処理が実行されていることは必須ではなく、ユーザ用ベクトル表現特定処理が、エリア用ベクトル表現特定処理とは独立して実行されてもよい。この場合には、時間的位置態様の種類を特定する項目として、「滞在クラスタ」に代えて、他の滞在場所を示す項目(例えば、滞在エリア)を用いればよい。
【0086】
上記実施形態において、
図4に示す時間的利用態様(滞在態様)の種類を特定する項目は、あくまで一例であり、他の項目を追加したり、一部の項目を省略したりしてもよい。同様に、
図13に示す時間的位置態様の種類を特定する項目は、あくまで一例であり、他の項目を追加したり、一部の項目を省略したりしてもよい。
【0087】
上記実施形態におけるエリア用ベクトル表現特定モデルMOaおよびユーザ用ベクトル表現特定モデルMOuの各層の次元数は、あくまで一例であり、任意に変更可能である。なお、隠れ層Haおよび隠れ層Huの次元数、すなわち、ベクトル表現VRaおよびベクトル表現VRuの次元数は、各ベクトル表現にできる限り多様な情報を保持させるという観点から、5次元以上が好ましく、20次元以上がさらに好ましく、50次元以上が一層好ましい。また、上記実施形態では、エリア用ベクトル表現特定モデルMOaおよびユーザ用ベクトル表現特定モデルMOuとして、Word2VecのSkip-gramモデルを改良したものが使用されているが、各モデルはこれに限られない。
【0088】
上記実施形態では、各エリアのベクトル表現VRaのクラスタリング(
図3のS140)や、各ユーザのベクトル表現VRuのクラスタリング(
図12のS240)が実行されているが、これらは必須ではない。また、これらのクラスタリングを実行する場合において、クラスタ数は任意に設定可能である。
【0089】
上記実施形態では、各エリアの時間的利用態様(時間的使われ方)として、各エリアに滞在する人がどのような滞在をする傾向にあるかを示す滞在態様が用いられているが、位置情報履歴に基づき把握可能なものであれば、他の時間的利用態様(例えば、各エリアにおける人の移動速度や、各エリアへの出入りの頻度等)が用いられてもよい。
【0090】
また、上記各実施形態において、ハードウェアによって実現されている構成の一部をソフトウェアに置き換えるようにしてもよく、反対に、ソフトウェアによって実現されている構成の一部をハードウェアに置き換えるようにしてもよい。
【符号の説明】
【0091】
100:情報処理装置 110:制御部 111:ベクトル表現特定処理部 112:位置情報履歴データ取得部 113:エリア別利用態様データ取得部 114:エリア用ベクトル表現特定部 115:クラスタリング処理部 117:ユーザ別位置態様データ取得部 118:ユーザ用ベクトル表現特定部 130:記憶部 152:表示部 156:操作入力部 158:インターフェース部 190:バス CP:ベクトル表現特定処理プログラム Da:エリア別利用態様データ Dp:位置情報履歴データ Du:ユーザ別位置態様データ MOa:エリア用ベクトル表現特定モデル MOu:ユーザ用ベクトル表現特定モデル