IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許7193507情報処理装置、情報処理方法及び情報処理プログラム
<>
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図1
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図2
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図3
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図4
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図5
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図6
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図7
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図8
  • 特許-情報処理装置、情報処理方法及び情報処理プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
   H04L 67/00 20220101AFI20221213BHJP
   G06N 20/00 20190101ALI20221213BHJP
【FI】
H04L67/00
G06N20/00
【請求項の数】 20
(21)【出願番号】P 2020146246
(22)【出願日】2020-08-31
(65)【公開番号】P2022041183
(43)【公開日】2022-03-11
【審査請求日】2021-03-17
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】清水 徹
(72)【発明者】
【氏名】坪内 孝太
【審査官】木村 雅也
(56)【参考文献】
【文献】特開2015-132443(JP,A)
【文献】国際公開第2020/008878(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/00
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
位置情報を取得する第1取得部と、
センサからセンサデータを取得する第2取得部と、
前記位置情報と前記センサデータとをベクトルに変換する変換部と、
前記ベクトルを送信する送信部と、
を備え
前記変換部は、複数の前記位置情報と前記センサデータとを一括して単数の前記ベクトルに変換する、
ことを特徴とする情報処理装置。
【請求項2】
前記変換部は、複数の前記位置情報と前記センサデータとを時系列に並べたシーケンスデータを多次元の前記ベクトルに変換する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
位置情報を取得する第1取得部と、
センサからセンサデータを取得する第2取得部と、
前記位置情報と前記センサデータとをベクトルに変換する変換部と、
前記ベクトルを送信する送信部と、
を備え、
前記変換部は、複数の前記位置情報と前記センサデータとを時系列に並べたシーケンスデータを多次元の前記ベクトルに変換する、
ことを特徴とする情報処理装置。
【請求項4】
前記位置情報と前記センサデータとに基づいて、将来の前記位置情報と前記センサデータとを予測する予測部と、
をさらに備えることを特徴とする請求項1~3のうちいずれか1つに記載の情報処理装置。
【請求項5】
位置情報を取得する第1取得部と、
センサからセンサデータを取得する第2取得部と、
前記位置情報と前記センサデータとに基づいて、将来の前記位置情報と前記センサデータとを予測する予測部と、
前記位置情報と前記センサデータとをベクトルに変換する変換部と、
前記ベクトルを送信する送信部と、
を備えることを特徴とする情報処理装置。
【請求項6】
前記予測部は、機械学習により得られた予測モデルを用いて、将来の前記位置情報と前記センサデータとを予測する、
ことを特徴とする請求項4又は5に記載の情報処理装置。
【請求項7】
前記変換部は、複数の前記位置情報のうち、一部の前記位置情報と前記センサデータとをベクトルに変換し、
前記送信部は、一部の前記位置情報と前記センサデータとから変換された前記ベクトルと、残りの前記位置情報とを送信する、
ことを特徴とする請求項1~6のうちいずれか1つに記載の情報処理装置。
【請求項8】
位置情報を取得する第1取得部と、
センサからセンサデータを取得する第2取得部と、
前記位置情報と前記センサデータとをベクトルに変換する変換部と、
前記ベクトルを送信する送信部と、
を備え、
前記変換部は、複数の前記位置情報のうち、一部の前記位置情報と前記センサデータとをベクトルに変換し、
前記送信部は、一部の前記位置情報と前記センサデータとから変換された前記ベクトルと、残りの前記位置情報とを送信する、
ことを特徴とする情報処理装置。
【請求項9】
前記センサデータは、環境音、加速度、気圧のうち少なくとも1つを含む、
ことを特徴とする請求項1~8のうちいずれか1つに記載の情報処理装置。
【請求項10】
前記変換部は、機械学習により得られたベクトル変換モデルを用いて、前記位置情報と前記センサデータとを前記ベクトルに変換する、
ことを特徴とする請求項1~のうちいずれか1つに記載の情報処理装置。
【請求項11】
前記変換部は、所定の変換規則に従って、前記位置情報と前記センサデータとを前記ベクトルに変換する、
ことを特徴とする請求項1~10のうちいずれか1つに記載の情報処理装置。
【請求項12】
前記ベクトルは、ユーザの行動を示す、
ことを特徴とする請求項1~11のうちいずれか1つに記載の情報処理装置。
【請求項13】
情報処理装置が実行する情報処理方法であって、
位置情報を取得する第1取得工程と、
センサからセンサデータを取得する第2取得工程と、
前記位置情報と前記センサデータとをベクトルに変換する変換工程と、
前記ベクトルを送信する送信工程と、
を含み、
前記変換工程では、複数の前記位置情報と前記センサデータとを一括して単数の前記ベクトルに変換する、
ことを特徴とする情報処理方法。
【請求項14】
位置情報を取得する第1取得手順と、
センサからセンサデータを取得する第2取得手順と、
前記位置情報と前記センサデータとをベクトルに変換する変換手順と、
前記ベクトルを送信する送信手順と、
をコンピュータに実行させ
前記変換手順では、複数の前記位置情報と前記センサデータとを一括して単数の前記ベクトルに変換する、
ことを特徴とする情報処理プログラム。
【請求項15】
情報処理装置が実行する情報処理方法であって、
位置情報を取得する第1取得工程と、
センサからセンサデータを取得する第2取得工程と、
前記位置情報と前記センサデータとをベクトルに変換する変換工程と、
前記ベクトルを送信する送信工程と、
を含み、
前記変換工程では、複数の前記位置情報と前記センサデータとを時系列に並べたシーケンスデータを多次元の前記ベクトルに変換する、
ことを特徴とする情報処理方法。
【請求項16】
位置情報を取得する第1取得手順と、
センサからセンサデータを取得する第2取得手順と、
前記位置情報と前記センサデータとをベクトルに変換する変換手順と、
前記ベクトルを送信する送信手順と、
をコンピュータに実行させ、
前記変換手順では、複数の前記位置情報と前記センサデータとを時系列に並べたシーケンスデータを多次元の前記ベクトルに変換する、
ことを特徴とする情報処理プログラム。
【請求項17】
情報処理装置が実行する情報処理方法であって、
位置情報を取得する第1取得工程と、
センサからセンサデータを取得する第2取得工程と、
前記位置情報と前記センサデータとに基づいて、将来の前記位置情報と前記センサデータとを予測する予測工程と、
前記位置情報と前記センサデータとをベクトルに変換する変換工程と、
前記ベクトルを送信する送信工程と、
を含むことを特徴とする情報処理方法。
【請求項18】
位置情報を取得する第1取得手順と、
センサからセンサデータを取得する第2取得手順と、
前記位置情報と前記センサデータとに基づいて、将来の前記位置情報と前記センサデータとを予測する予測手順と、
前記位置情報と前記センサデータとをベクトルに変換する変換手順と、
前記ベクトルを送信する送信手順と、
をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項19】
情報処理装置が実行する情報処理方法であって、
位置情報を取得する第1取得工程と、
センサからセンサデータを取得する第2取得工程と、
前記位置情報と前記センサデータとをベクトルに変換する変換工程と、
前記ベクトルを送信する送信工程と、
を含み、
前記変換工程では、複数の前記位置情報のうち、一部の前記位置情報と前記センサデータとをベクトルに変換し、
前記送信工程では、一部の前記位置情報と前記センサデータとから変換された前記ベクトルと、残りの前記位置情報とを送信する、
ことを特徴とする情報処理方法。
【請求項20】
位置情報を取得する第1取得手順と、
センサからセンサデータを取得する第2取得手順と、
前記位置情報と前記センサデータとをベクトルに変換する変換手順と、
前記ベクトルを送信する送信手順と、
をコンピュータに実行させ、
前記変換手順では、複数の前記位置情報のうち、一部の前記位置情報と前記センサデータとをベクトルに変換し、
前記送信手順では、一部の前記位置情報と前記センサデータとから変換された前記ベクトルと、残りの前記位置情報とを送信する、
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【0002】
通信装置の位置情報を低消費電力で送信する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-042681号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、手動運転車両が、低消費電力広域無線通信(LPWA:Low Power Wide Area)により、現在位置の情報を含む通信装置情報を、通信相手に対して、予め定められた送信間隔を開けて順次送信しているに過ぎない。通常、通信装置が位置情報を取得するだけではさほど電力を消費しないが、通信装置が外部に位置情報を送信する際(特に高速で移動中の場合)には多大な電力を消費する。例え送信一回当たりの消費電力量を小さくしても、繰り返し位置情報を送信する場合、件数に応じて消費電力量は大きくなってしまう。上記の従来技術で例示されているような手動運転車両であれば電源容量に不足はないかもしれないが、スマートフォン等の端末装置(ハンドヘルドデバイス)であれば電源容量は十分であるとは言い難い。
【0005】
また、近年は、個人情報保護の観点から、スマートフォン等の端末装置の仕様により、個人の端末装置の位置情報を外部に送信することに対して制約が厳しくなる傾向にあり、事業者が個人の端末装置の位置情報を逐一取得することが著しく困難になっている。例えば、個人の端末装置の位置情報の利用の許可について、「常に許可」する設定が選択肢からなくなりつつある。また、OS(Operating System)側の制御によりアプリケーションがバックグラウンドで稼働している際には位置情報を送信できないという問題がある。
【0006】
また、近年製造されたスマートフォン等の端末装置においては、位置情報のみならず、環境音、加速度、気圧等のセンサデータも取得することができる。これらのセンサデータを取得することで、ユーザ環境の推定が容易になり、よりユーザに適したサービスの提供が可能になる。しかし、これらのセンサデータについても、個人情報保護法等の関係で、事業者側で取得できないという課題がある。
【0007】
本願は、上記に鑑みてなされたものであって、位置情報とセンサデータとをエンベディングして送信することを目的とする。
【課題を解決するための手段】
【0008】
本願に係る情報処理装置は、位置情報を取得する第1取得部と、センサからセンサデータを取得する第2取得部と、前記位置情報と前記センサデータとをベクトルに変換する変換部と、前記ベクトルを送信する送信部と、を備え、前記変換部は、複数の前記位置情報と前記センサデータとを一括して単数の前記ベクトルに変換することを特徴とする。
【発明の効果】
【0009】
実施形態の一態様によれば、位置情報とセンサデータとをエンベディングして送信することができる。
【図面の簡単な説明】
【0010】
図1図1は、実施形態に係る情報処理方法の概要を示す説明図である。
図2図2は、実施形態に係る将来データの予測方法の概要を示す説明図である。
図3図3は、実施形態に係る情報処理システムの構成例を示す図である。
図4図4は、実施形態に係る端末装置の構成例を示す図である。
図5図5は、実施形態に係る情報処理装置の構成例を示す図である。
図6図6は、変換情報データベースの一例を示す図である。
図7図7は、ベクトル情報データベースの一例を示す図である。
図8図8は、実施形態に係る処理手順を示すシーケンス図である。
図9図9は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る情報処理装置、情報処理方法及び情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0012】
〔1.情報処理方法の概要〕
まず、図1を参照し、実施形態に係る情報処理装置が行う情報処理方法の概要について説明する。図1は、実施形態に係る情報処理方法の概要を示す説明図である。なお、図1では、端末装置が位置情報とセンサデータとをエンベディングして送信する場合を例に挙げて説明する。
【0013】
図1に示すように、情報処理システム1は、端末装置10と情報提供装置100とを含む。端末装置10と情報提供装置100とは、それぞれネットワークN(図3参照)を介して有線又は無線で互いに通信可能に接続される。
【0014】
端末装置10は、ユーザU(利用者)により利用されるスマートフォンやタブレット等のスマートデバイスであり、4G(Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。また、端末装置10は、液晶ディスプレイ等の画面であって、タッチパネルの機能を有する画面を有し、ユーザから指やスタイラス等によりタップ操作、スライド操作、スクロール操作等、コンテンツ等の表示データに対する各種の操作を受付ける。なお、画面のうち、コンテンツが表示されている領域上で行われた操作を、コンテンツに対する操作としてもよい。また、端末装置10は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
【0015】
ここでは、端末装置10は、自身の位置情報とセンサデータを取得し、取得した位置情報とセンサデータとをベクトルに変換(ベクトル化)する。すなわち、端末装置10は、いわゆるエンベディング(embedding:埋め込み)を行い、位置情報とセンサデータとに基づくエンベディングベクトル(埋め込みベクトル)を生成する。そして、端末装置10は、位置情報とセンサデータとに基づくエンベディングベクトルを、情報提供装置100に送信する。センサデータは、例えば、環境音、加速度、気圧等である。
【0016】
情報提供装置100は、端末装置10から位置情報とセンサデータとに基づくエンベディングベクトルを受信し、位置情報とセンサデータとに基づくエンベディングベクトルに基づいて、ユーザUの行動(所在、振る舞い、移動等)を解析する情報処理装置であり、サーバ装置やクラウドシステム等により実現される。
【0017】
〔1-1.位置情報をベクトルに変換する利点〕
まず、位置情報をベクトルに変換する利点について説明する。
【0018】
従来、端末装置10は、情報提供装置100に対して位置情報を送信していたが、このとき、端末装置10は、ユーザUのプライバシー配慮やデータ通信量の削減のため、位置情報の端数処理(丸め処理)を行い、位置情報を丸めて精度の粗い位置情報に変換してから送信していた。例えば、位置情報がGPS(Global Positioning System)座標の緯度経度情報である場合、緯度と経度の10進角度での小数点第2位以下の値の切り上げ又は切り捨て(四捨五入でも可)を行い、大まかな値の位置情報に変換していた。
【0019】
この場合、情報提供装置100は、位置情報に基づいてユーザUの行動を推定しようとしたとき、丸めた位置情報は大まかな値であるため、地域や大規模施設等のエリア単位の広い場所は特定できても、隣接する小規模な建物や部屋等の狭い場所(及び/又は屋内外の違い)を特定できないことがあった。そのため、ユーザUの大まかな行動については推定可能であるが、ユーザUの詳細な行動については推定できないこともあった。例えば、ユーザUの丸めた位置情報が示す場所の範囲内に小規模な建物Aと建物B(例えばコンビニエンスストアとファストフード店等)が隣接して建っている場合、ユーザUが建物Aと建物Bのどちらにいるのか、あるいは建物(又は敷地)の内側と外側のどちらにいるのかを、位置情報から特定できないこともあった。情報提供装置100(サーバ側)が本当に知りたいのは、ユーザUの位置情報それ自体ではなく、位置情報が示すユーザUの行動(すなわち、ユーザUのコンテキスト)である。
【0020】
今回、端末装置10は、自身の位置情報をベクトルに変換(ベクトル化)するに際して、端数処理(丸め処理)を行う前の位置情報の生データをベクトルに変換する。したがって、端末装置10は、隣接する小規模な建物や部屋等の狭い場所(及び/又は屋内外の違い)を特定した上で、エンベディングベクトルを生成することができる。そのため、情報提供装置100は、エンベディングベクトルに基づいて、ユーザUの詳細な行動を知ることができる。すなわち、情報提供装置100は、端末装置10から、従来の丸めた位置情報を受信するよりも、ユーザUの行動に関する具体的かつ詳細な情報を取得することができる。また、エンベディングベクトルのベクトル値及びそれが意味する内容を定義するのは情報提供装置100(サーバ側)であるため、第三者がエンベディングベクトルのベクトル値だけを見ても、そのベクトル値が何を意味しているのか理解できないので、安全である。
【0021】
〔1-2.位置情報とセンサデータとをエンベディングして送信する情報処理方法の概要〕
次に、図1を参照して、位置情報とセンサデータとをエンベディングして送信する情報処理方法の概要について説明する。
【0022】
図1に示すように、ユーザUの端末装置10は、自身の位置情報を取得する(ステップS1)。
【0023】
そして、端末装置10は、位置情報とともに、センサデータを取得する(ステップS2)。
【0024】
そして、端末装置10は、位置情報とセンサデータとの組を生成する(ステップS3)。
【0025】
そして、端末装置10は、位置情報とセンサデータとの組に対してエンベディングを行い、複数の位置情報とセンサデータとの組を1つのベクトルに変換(ベクトル化)し、位置情報とセンサデータとに基づくエンベディングベクトル(埋め込みベクトル)を生成する(ステップS4)。
【0026】
そして、端末装置10は、位置情報とセンサデータとに基づくエンベディングベクトルを情報提供装置100に送信する(ステップS5)。
【0027】
そして、情報提供装置100は、端末装置10から、位置情報とセンサデータとに基づくエンベディングベクトルを受信する(ステップS6)。
【0028】
そして、情報提供装置100は、端末装置10から受信したエンベディングベクトルに基づいて、ユーザUの行動(所在、振る舞い、移動等)を解析する(ステップS7)。
【0029】
〔1-3.実施例1〕
次に、上記の位置情報をエンベディングして送信する情報処理方法の実施例1について説明する。
【0030】
例えば、ステップS1において、各地域に所在する複数のユーザUの各々が所持する端末装置10は、GNSS(Global Navigation Satellite System:全球測位衛星システム)や屋内測位技術等の位置測位技術を用いて、それぞれ自身の位置情報を取得する。このとき、端末装置10は、自身の位置情報と共に、その位置情報を取得した時刻を示す時刻情報を取得する。
【0031】
同時に、ステップS2において、端末装置10は、位置情報とともに、自身に搭載又は接続されたセンサ類を用いて、環境音、加速度、気圧等のセンサデータを取得する。
【0032】
なお、接続は、有線接続、無線接続を問わない。例えば、センサ類は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。
【0033】
このように、位置情報に加えて、センサデータを取得することで、ユーザ環境(ユーザUのコンテキスト等)の推定の精度が向上する。例えば、ユーザUの環境音、加速度、気圧等のセンサデータが、位置情報やユーザ環境の裏付けとなる。また、同じ位置におけるユーザ環境の変化(環境音、加速度、気圧等の変化)等を認識することができる。
【0034】
このとき、端末装置10は、取得した位置情報を位置履歴(例えば、ロケーション履歴、行動履歴等)として蓄積する。また、端末装置10は、取得した各種センサデータを種別ごとに蓄積する。なお、端末装置10は、取得した時刻又は時間帯ごとに、位置情報とセンサデータとを紐づけして蓄積してもよい。
【0035】
続いて、ステップS3において、端末装置10は、同時刻又は同じ時間帯の位置情報とセンサデータとの組を生成し、位置情報とセンサデータとの組を時系列に並べたシーケンスデータ(時系列データ)を生成する。
【0036】
続いて、ステップS4において、端末装置10は、位置情報とセンサデータとの組を時系列に並べたシーケンスデータに基づいて、エンベディングベクトルを生成する。ここでは、端末装置10は、シーケンスデータをデータセットとし、ニューラルネットワークによる機械学習の手法等を用いて、シーケンスデータを多次元からなる実数値ベクトルへと変換する。このとき、端末装置10は、例えばRNN(Recurrent Neural Network)やLSTM(Long short-term memory)等を用いた機械学習を経て構築されるベクトル変換モデルにシーケンスデータを入力し、出力としてエンベディングベクトルを取得する。端末装置10は、情報提供装置100から、ベクトル変換モデルの提供を受けてもよい。
【0037】
なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。アテンションは、文章のような前後の並びが重要なデータを扱うことができる。また、端末装置10は、同様の自然言語処理モデルを用いてもよい。このようなモデルを用いて、シーケンスデータからエンベディングベクトルを生成することにより、より情報の順序に重点を置いたエンベディングベクトルの生成を実現することができる。
【0038】
あるいは、端末装置10は、所定の変換規則(ルール)に従って(ルールベースで)、シーケンスデータをエンベディングベクトルに変換してもよい。
【0039】
但し、シーケンスデータは一例に過ぎない。実際には、例えば位置情報の生データをそのまま時系列に沿って順番にモデルに入力してもよい。
【0040】
ここでは、端末装置10が上記のベクトル変換モデルや所定の変換規則等に従って位置情報とセンサデータとの組のデータを元にエンベディングすると、出力される値がベクトル表現になる。これらの出力されたベクトルを時系列に並べると、ユーザの移動経路が示される。例えば、具体的な緯度経度は不明であるが、ベクトル空間上のA点からB点へ移動したこと等が示される。すなわち、端末装置10が位置情報とセンサデータとの組を使ってエンベディングした結果(出力された値)が、エンベディングベクトルである。このエンベディングベクトルは、ユーザの行動を示す値(コンテキストを示す値)である。
【0041】
なお、端末装置10がエンベディングを行うタイミングについては任意である。例えば、端末装置10から情報提供装置100への位置情報の送信が許可されているタイミングで、蓄積された位置情報をエンベディングしてもよい。また、アプリケーション(アプリ)の起動時から位置情報の蓄積を開始し、当該アプリの使用を終了したタイミングで、蓄積された位置情報をエンベディングしてもよい。また、蓄積された位置情報が所定の件数(例えば100件)に達した時に、蓄積された位置情報をエンベディングしてもよい。あるいは、それまで滞在していた場所から移動した時(位置情報が大きく変化した時)に、蓄積された位置情報をエンベディングしてもよい。
【0042】
続いて、ステップS5において、端末装置10は、ネットワークN(図3参照)を介して、位置情報とセンサデータとの組に基づくエンベディングベクトルを情報提供装置100に送信する。
【0043】
なお、端末装置10が位置情報とセンサデータとの組に基づくエンベディングベクトルを情報提供装置100に送信するタイミングは任意である。例えば、端末装置10から情報提供装置100への位置情報の送信が許可されているタイミングであってもよい。また、アプリケーション(アプリ)の起動時や使用中、所定の時刻、所定の周期(2時間ごと等)等であってもよい。また、情報提供装置100側から端末装置10に対して位置情報とセンサデータとの組に基づくエンベディングベクトルの送信を要求してもよい。
【0044】
また、端末装置10から情報提供装置100への位置情報の送信が許可されているタイミングである場合、端末装置10は、位置情報とセンサデータとの組に基づくエンベディングベクトルと共に、その時点での自身の位置情報を情報提供装置100に送信してもよい。すなわち、端末装置10は、位置情報とセンサデータとの組に基づくエンベディングベクトルと自身の位置情報との組を、情報提供装置100に送信してもよい。
【0045】
続いて、ステップS6において、情報提供装置100は、各地域に所在する複数のユーザUの各々が所持する端末装置10から、ネットワークNを介して、それぞれの位置情報とセンサデータとの組に基づくエンベディングベクトルを受信する。
【0046】
続いて、ステップS7において、情報提供装置100は、エンベディングベクトルを特定空間に配置する。情報提供装置100は、エンベディングベクトルを特定空間に配置することで、ユーザU自身の行動の類似性や変化、及び/又はユーザUと他のユーザとの行動の類似性や相違性を明確に把握することができる。例えば、端末装置10は、位置情報(緯度経度等)とセンサデータとの組に対してエンベディングを行うので、同じ位置にいる場合は同じ値のエンベディングベクトルを生成する。情報提供装置100は、同じ値のエンベディングベクトルを特定空間上の同じ位置に配置する。
【0047】
この場合、情報提供装置100は、地図上の位置(緯度経度等)とはマッピング(関連付け)されていないので、具体的な位置の特定はできないが、ユーザUがこの時間帯にA地点からB地点に移動し、その後C地点に移動して再びA地点に戻った等のユーザUの特定の行動を確認することが可能になる。また、情報提供装置100は、位置情報を用いずに、ユーザUの移動の事実を確認することができる。
【0048】
以上のように、本実施形態では、ユーザの位置情報やセンサデータを送信する際には、端末装置が取得した位置情報やセンサデータをそのまま受信側(サーバ側)に送信するのではなく、位置情報やセンサデータをエンベディングしてから受信側に送信する。エンベディングされた情報は、受信側での復元が困難なため、正確な位置情報やセンサデータの特定が困難になり個人情報の問題は解決される。すなわち、単に情報量が少なくなるだけではなく、端末側が検知した生データ(位置情報やセンサデータそのもの)をサーバ側が復元できないので、セキュア(secure:安全)である。また、エンベディングにより、位置情報やセンサデータの塊を、ユーザがとった特定の行動(出勤、買物、鉄道移動等)を示すベクトルに変換して送信することで、個々の位置情報やセンサデータを逐一送信する必要がなくなり、電池消費の課題も解決される。
【0049】
さらに、本実施形態では、環境音、加速度、加速度、気圧等の情報を位置情報と組み合わせてエンベディングして送信することで、大幅にデータ量を削減することができる。これらの情報を生データで送信すると大容量になるが、エンベディングすることで1つのベクトルとして送信することができる。
【0050】
〔1-4.実施例2〕
次に、上記の位置情報をエンベディングして送信する情報処理方法の実施例2について説明する。
【0051】
例えば、ステップS5において、端末装置10は、位置情報とセンサデータとの組に基づくエンベディングベクトルと共に、若干の自身の位置情報を情報提供装置100に送信してもよい。すなわち、端末装置10は、位置情報とセンサデータとの組に基づくエンベディングベクトルと、自身の位置情報との組を、情報提供装置100に送信してもよい。
【0052】
例えば、位置情報の送信に制約が課せられていなかった時(自由に位置情報が送信できていた時)には、端末側は「常に許可」の場合には1日で平均17点程度の位置情報をサーバ側に送信していたが、最近では制約が厳しくなり、端末側は3点程度の位置情報しかサーバ側に送信しないようになっている。そこで、端末装置10は、例えば17点の位置情報のうち14点の位置情報をベクトル化したエンベディングベクトルを生成し、残りの3点の位置情報とともにサーバ側に送信するようにしてもよい。すなわち、端末装置10は、一部の位置情報をセンサデータとともにベクトル化したエンベディング情報と、残りの位置情報それ自体とを送信するようにしてもよい。なお、残りの位置情報は、端末側が送信可能な数の位置情報である。また、端末装置10は、残りの位置情報ととともに、組となるセンサデータを送信してもよい。
【0053】
エンベディングベクトルは、ユーザUの行動を示すものであるが、ユーザUの具体的な位置を示すものではない。そのため、情報提供装置100(サーバ側)では、ユーザUの行動がどの辺りの地域で行われたのかは知ることができない。そこで、エンベディングベクトルと、丸めた位置情報とを組み合わせることで、情報提供装置100(サーバ側)で、ユーザUの行動がどの辺りの地域で行われたのか、大体の場所を知ることができる。例えば、エンベディングベクトルは、「ユーザUが昼食(ランチ)をとった」ことを示すことはできるが、ユーザUが「どの辺りの地域で」昼食をとったかは示していない。これに大まかな場所(例えば、○○区△△町)を示す丸めた位置情報が加わることで、ユーザUが昼食をとった大体の場所を知ることができる。
【0054】
また、上記の実施例1と組み合わせて実施してもよい。例えば、ステップS7において、情報提供装置100は、エンベディングベクトルを特定空間に配置する際に、特定空間と地図とをマッピングするために3点の位置情報を使うことで、上記特定空間の位置と地図上の位置(緯度経度等)とをマッピングすることができる。これにより、情報提供装置100は、完全ではないが、ある程度の場所を推定することが可能である。
【0055】
また、端末装置10は、位置情報(緯度経度等)に対してエンベディングを行うので、同じ位置にいる場合は同じ値のエンベディングベクトルを生成する。したがって、情報提供装置100は、同じ値のエンベディングベクトルに基づいて、ユーザUが同じ場所に滞在していることを推定することも可能である。これにより、情報提供装置100は、具体的な位置を特定しなくても、ユーザUが日常的に夜間に同じ場所に長時間滞在している場合には「自宅にいる」、日常的に日中に夜間と異なる場所に長時間滞在している場合には「職場にいる」と推定することも可能である。
【0056】
〔1-5.実施例3〕
次に、上記の位置情報をエンベディングして送信する情報処理方法の実施例3について説明する。
【0057】
例えば、ステップS3において、端末装置10は、位置情報とセンサデータとの組を時系列に並べたシーケンスデータに基づいて、2以上の位置情報とセンサデータとの組により表されるユーザUの行動(ユーザのコンテキスト)をベクトル値で示したエンベディングベクトルを生成してもよい。
【0058】
例えば、端末装置10は、例えばRNNやLSTM等を用いた機械学習を経て生成されるベクトル変換モデルにシーケンスデータを入力し、出力としてエンベディングベクトルを取得する。このとき、RNNやLSTMは、同じデータであっても、入れる順番で出力が変わる。例えば、「位置1」→「位置2」→「位置3」の順で移動していたら「出勤した」(往路)と出力し、「位置3」→「位置2」→「位置1」の順で移動していたら「帰宅した」(復路)と出力する。このような情報の時系列に応じた情報を提供するモデルを用いることで、位置情報の変遷が有する特徴に基づいたエンベディングベクトルを生成することができる。
【0059】
このように、シーケンスデータからLSTMを用いてエンベディングベクトルを生成した場合、シーケンスデータが示すユーザUの行動(ユーザUのコンテキスト)からユーザが所定の行動を行ったか否かを示すエンベディングベクトルを生成することができる。例えば、端末装置10は、ユーザUが自宅のあるエリアから職場のあるエリアまで移動していた旨を、位置情報とセンサデータとの組のシーケンスデータが示す場合は、「出勤した」という行動と対応する要素が所定値を取るエンベディングベクトルを生成することができる。
【0060】
なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、端末装置10は、同様の自然言語処理モデルを用いてもよい。
【0061】
あるいは、端末装置10は、所定の変換規則(ルール)に従って、シーケンスデータをエンベディングベクトルに変換してもよい。例えば、端末装置10は、最初に取得された位置情報#1がユーザUの自宅から所定の範囲内であり、次に取得された位置情報#2が駅から所定の範囲内であり、最後に取得された位置情報#3が勤務先から所定の範囲内である場合は、「出勤した」という行動と対応する要素が所定値を取るエンベディングベクトルを生成してもよい。
【0062】
但し、シーケンスデータは一例に過ぎない。実際には、例えば位置情報の生データをそのまま時系列に沿って順番にモデルに入力してもよい。
【0063】
また、端末装置10は、例えば30分間に取得した位置情報に大きな変化が見られない場合、その30分間に取得した位置情報の平均値や中央値等を求め、これをその30分間の位置情報とし、その位置情報からエンベディングベクトルを生成してもよい。
【0064】
そして、ステップS7において、情報提供装置100は、位置情報とセンサデータとの組に基づくエンベディングベクトルのベクトル値により、ユーザUが「自宅にいる」、「出勤した」、「買い物に行った」、「電車で移動している」等の行動(ユーザのコンテキスト)を判定する。このとき、情報提供装置100は、多次元のエンベディングベクトルのうちの複数の要素が示す値により、時間帯ごとに行動を判定してもよい。例えば、情報提供装置100は、エンベディングベクトルに、「午前中に外出した」ことを示す値と、「出勤した」ことを示す値とが含まれているとき、「午前中に出勤した」と判定してもよい。
【0065】
ここでは、エンベディングベクトルの要素の値は、ユーザUの行動と対応している。例えば、3次元ベクトルの場合、1要素目の値が「出勤したか否か」を示し、2要素目の値が「外食したか否か」を示し、3要素目の値が「電車に乗ったか否か」を示すように規定してもよい。この場合、エンベディングベクトルは、One-hotベクトル(One Hot Vector)であってもよい。One-hotベクトルとは、(1,0,0)のように、1つの成分が1で、残りの成分が全て0であるようなベクトルである。但し、実際には、エンベディングベクトルは、One-hotベクトルに限定されない。
【0066】
また、エンベディングベクトルの要素の値は、ユーザUの複数の行動と対応していてもよい。例えば、1要素目の値が「職場に行き、かつ、外食したか否か」を示し、2要素目の値が「職場に行かず、かつ、外食したか否か」を示すように規定してもよい。
【0067】
エンベディングベクトルのある範囲に含まれる複数の要素の値が、ユーザUの行動と対応していてもよい。例えば、3要素目までの値(上位三桁)が、「100」なら「出勤した」ことを示し、「101」なら「職場に電車で行った」ことを示すように規定してもよい。
【0068】
また、エンベディングベクトルの各要素の値は、評価値でもよい。例えば、3要素目までの値(上位三桁)が「000」なら「移動していない」ことを示し、「100」なら「100キロメートル移動した」ことを示すように規定してもよい。また、エンベディングベクトルのいずれかの要素の値は、移動方向を示す値であってもよい。例えば、4要素目から7要素目までの値が「0000」なら移動方向が「北」であることを示し、「0001」なら移動方向が「北北東」であることを示し、「0010」なら移動方向が「北東」であることを示し、「0011」なら移動方向が「東北東」であることを示し、「0100」なら移動方向が「東」であることを示し、「1000」なら移動方向が「南」であることを示し、「1100」なら移動方向が「西」であることを示すように規定してもよい。また、エンベディングベクトルの各要素の値は、健康的な生活のスコアであってもよい。
【0069】
なお、エンベディングベクトルの要素の値は、モデルの学習時もしくは変換規則の作成時に、任意の設定が適用可能であるものとする。例えば、サーバ側が、ユーザU側からどのような行動に関する情報を取得して、ユーザUに提供するサービスに使用したいかといった事情に応じて、適宜任意の設定が可能であるものとする。
【0070】
ここでは、位置情報とセンサデータとの組をエンベディングベクトルに変換するためのベクトル変換モデルや所定の変換規則等は、位置情報とセンサデータとの組のシーケンスデータを、ユーザUが「自宅にいる」、「会社に行った」、「買い物に行った」、「電車で移動している」等の特定の行動を示すベクトル値に変換することを目的とする簡潔なげクトル変換モデルや変換規則等である。例えば、情報提供装置100は、特定の行動をユーザUがとったか否かを知りたいときに、当該行動に関する位置情報とセンサデータとの組をエンベディングベクトルに変換するためのベクトル変換モデルや所定の変換規則等を、ユーザUの端末装置10に提供する。
【0071】
〔1-6.位置情報とセンサデータとの組の将来データの予測方法の概要〕
次に、図2を参照して、位置情報とセンサデータとの組の将来データの予測方法の概要について説明する。図2は、実施形態に係る将来データの予測方法の概要を示す説明図である。
【0072】
ユーザUの端末装置10は、必要に応じて、位置情報とセンサデータとの組の過去データに基づいて将来データを予測する。なお、位置情報とセンサデータとの組の将来データの予測は一例に過ぎない。実際には、端末装置10は、位置情報とセンサデータとの組の将来データの予測を実施しなくてもよい。
【0073】
図2に示すように、ユーザUの端末装置10は、位置情報とセンサデータとの組を生成する際(図1のステップS3)、ニューラルネットワークによる機械学習の手法等を用いて、位置情報とセンサデータとの組について機械学習を行い、過去データに基づく将来データの予測モデルを構築する。
【0074】
図2に示す例では、時刻Tごとに、位置情報PとセンサデータSD1及びSD2との組を生成し、データセットDとして分散表現の機械学習を行う。ここでは、センサデータSD1は環境音を示し、センサデータSD2は加速度を示す。例えば、時刻Tが「t-2」の場合、位置情報P1とセンサデータSD11及びSD21との組を生成し、データセットD1とする。
【0075】
ここでは、端末装置10は、時刻「t-2」、「t-1」、「t」のそれぞれの時刻における位置情報とセンサデータとの組が入力された場合に、その後の時刻「t+1」、「t+2」、「t+3」のそれぞれの時刻における位置情報とセンサデータとの組が出力されるように、予測モデルに学習させる。これにより、過去及び現在の時刻における位置情報にセンサデータが組み合わされた場合に、将来の時刻における位置情報に対応するセンサデータが求められる。
【0076】
例えば、予測モデルは、エンコーダ・デコーダモデルである。これは、RNNを2つ用いたモデルであり、「(過去データ)→第1のRNN(エンコーダ)→ベクトル→第2のRNN(デコーダ)→(将来データ)」となるように学習を行うと、第1のRNNが出力するベクトルが、うまくデータの特徴を捉えることとなる。うまくデータの特徴を捉えられないと、将来データの精度が低下する。逆をいうと、将来データの精度が高くなるように第1のRNNを修正すると、ベクトルの精度が向上する。
【0077】
ここでは、端末装置10は、エンコーダ・デコーダモデルのエンコーダを用いて、分散表現を生成する。そして、デコーダを用いて、生成した分散表現から将来を予測する。これにより、端末装置10は、過去の位置情報とセンサデータとの組から、将来に取得される位置情報とセンサデータとの組を推定する。
【0078】
このように、エンコーダとデコーダとは、別個のRNNになる。エンコーダの学習を行う場合は、エンコーダが出力した分散表現からデコーダが将来を適切に予測するように、エンコーダおよびデコーダを合わせて修正することで、エンコーダの性能を向上させることができる。
【0079】
これにより、ある時刻においてセンサデータが取得できない事態が発生しても、その時刻までの位置情報とセンサデータとの組を予測モデルに入力し、出力として得られた位置情報とセンサデータとの組に基づいて、その時刻に取得されるはずであったセンサデータを推測することができる。また、ユーザUの過去又は現在の行動を示すエンベディングベクトルに限らず、ユーザUの将来の行動を予測したエンベディングベクトルを生成することが可能になる。また、エンベディングベクトルの生成精度が向上する。
【0080】
〔2.情報処理システムの構成例〕
次に、図3を用いて、実施形態に係る情報提供装置100が含まれる情報処理システム1の構成について説明する。図3は、実施形態に係る情報処理システム1の構成例を示す図である。図3に示すように、実施形態に係る情報処理システム1は、端末装置10と情報提供装置100とを含む。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。ネットワークNは、例えば、LAN(Local Area Network)や、インターネット等のWAN(Wide Area Network)である。
【0081】
また、図3に示す情報処理システム1に含まれる各装置の数は図示したものに限られない。例えば、図3では、図示の簡略化のため、端末装置10を1台のみ示したが、これはあくまでも例示であって限定されるものではなく、2台以上であってもよい。
【0082】
端末装置10は、ユーザUによって使用される情報処理装置である。例えば、端末装置10は、スマートフォンやタブレット端末等のスマートデバイス、フィーチャーフォン、PC(Personal Computer)、PDA(Personal Digital Assistant)、カーナビゲーションシステム、スマートウォッチやヘッドマウントディスプレイ等のウェアラブルデバイス(Wearable Device)、スマートグラス等である。
【0083】
また、かかる端末装置10は、LTE(Long Term Evolution)、4G(4th Generation)、5G(5th Generation:第5世代移動通信システム)等の無線通信網や、Bluetooth(登録商標)、無線LAN(Local Area Network)等の近距離無線通信を介してネットワークNに接続し、情報提供装置100と通信することができる。
【0084】
情報提供装置100は、例えばPCやサーバ装置、あるいはメインフレーム又はワークステーション等である。なお、情報提供装置100は、クラウドコンピューティングにより実現されてもよい。
【0085】
〔3.端末装置の構成例〕
次に、図4を用いて、端末装置10の構成について説明する。図4は、端末装置10の構成例を示す図である。図4に示すように、端末装置10は、通信部11と、表示部12と、入力部13と、測位部14と、センサ部20と、制御部30(コントローラ)と、記憶部40とを備える。
【0086】
(通信部11)
通信部11は、ネットワークN(図3参照)と有線又は無線で接続され、ネットワークNを介して、情報提供装置100との間で情報の送受信を行う。例えば、通信部11は、NIC(Network Interface Card)やアンテナ等によって実現される。
【0087】
(表示部12)
表示部12は、位置情報等の各種情報を表示する表示デバイスである。例えば、表示部12は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(Organic Electro-Luminescent Display)である。また、表示部12は、タッチパネル式のディスプレイであるが、これに限定されるものではない。
【0088】
(入力部13)
入力部13は、ユーザUから各種操作を受け付ける入力デバイスである。入力部13は、例えば、文字や数字等を入力するためのボタン等を有する。また、表示部12がタッチパネル式のディスプレイである場合、表示部12の一部が入力部13として機能する。なお、入力部13は、ユーザUから音声入力を受け付けるマイク等であってもよい。マイクはワイヤレスであってもよい。
【0089】
(測位部14)
測位部14は、GPS(Global Positioning System)の衛星から送出される信号(電波)を受信し、受信した信号に基づいて、自装置である端末装置10の現在位置を示す位置情報(例えば、緯度及び経度)を取得する。すなわち、測位部14は、端末装置10の位置を測位する。なお、GPSは、GNSS(Global Navigation Satellite System)の一例に過ぎない。
【0090】
また、測位部14は、GPS以外にも、種々の手法により位置を測位することができる。例えば、測位部14は、位置補正等のための補助的な測位手段として、下記のように、端末装置10の様々な通信機能を利用して位置を測位してもよい。
【0091】
(Wi-Fi測位)
例えば、測位部14は、端末装置10のWi-Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、端末装置10の位置を測位する。具体的には、測位部14は、Wi-Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、端末装置10の位置を測位する。
【0092】
(ビーコン測位)
また、測位部14は、端末装置10のBluetooth(登録商標)機能を利用して位置を測位してもよい。例えば、測位部14は、Bluetooth(登録商標)機能によって接続されるビーコン(beacon)発信機と接続することにより、端末装置10の位置を測位する。
【0093】
(地磁気測位)
また、測位部14は、予め測定された構造物の地磁気のパターンと、端末装置10が備える地磁気センサとに基づいて、端末装置10の位置を測位する。
【0094】
(RFID測位)
また、例えば、端末装置10が駅改札や店舗等で使用される非接触型ICカードと同等のRFID(Radio Frequency Identification)タグの機能を備えている場合、もしくはRFIDタグを読み取る機能を備えている場合、端末装置10によって決済等が行われた情報とともに、使用された位置が記録される。測位部14は、かかる情報を取得することで、端末装置10の位置を測位してもよい。また、位置は、端末装置10が備える光学式センサや、赤外線センサ等によって測位されてもよい。
【0095】
測位部14は、必要に応じて、上述した測位手段の一つ又は組合せを用いて、端末装置10の位置を測位してもよい。
【0096】
(センサ部20)
センサ部20は、端末装置10に搭載又は接続される各種のセンサを含む。なお、接続は、有線接続、無線接続を問わない。例えば、センサ部20は、ウェアラブルデバイスやワイヤレスデバイス等、端末装置10以外の検知装置であってもよい。図4に示す例では、センサ部20は、加速度センサ21と、ジャイロセンサ22と、気圧センサ23と、気温センサ24と、音センサ25と、光センサ26と、磁気センサ27と、画像センサ(カメラ)28とを備える。
【0097】
なお、上記した各センサ21~28は、あくまでも例示であって限定されるものではない。すなわち、センサ部20は、各センサ21~28のうちの一部を備える構成であってもよいし、各センサ21~28に加えてあるいは代えて、湿度センサ等その他のセンサを備えてもよい。
【0098】
加速度センサ21は、例えば、3軸加速度センサであり、端末装置10の移動方向、速度、及び、加速度等の端末装置10の物理的な動きを検知する。ジャイロセンサ22は、端末装置10の角速度等に基づいて3軸方向の傾き等の端末装置10の物理的な動きを検知する。気圧センサ23は、例えば端末装置10の周囲の気圧を検知する。
【0099】
端末装置10は、上記した加速度センサ21やジャイロセンサ22、気圧センサ23等を備えることから、これらの各センサ21~23等を利用した歩行者自律航法(PDR:Pedestrian Dead-Reckoning)等の技術を用いて端末装置10の位置を測位することが可能になる。これにより、GPS等の測位システムでは取得することが困難な屋内での位置情報を取得することが可能になる。
【0100】
例えば、加速度センサ21を利用した歩数計により、歩数や歩くスピード、歩いた距離を算出することができる。また、ジャイロセンサ22を利用して、ユーザUの進行方向や視線の方向、体の傾きを知ることができる。また、気圧センサ23で検知した気圧から、ユーザUの端末装置10が存在する高度やフロアの階数を知ることもできる。
【0101】
気温センサ24は、例えば端末装置10の周囲の気温を検知する。音センサ25は、例えば端末装置10の周囲の音(環境音等)を検知する。光センサ26は、端末装置10の周囲の照度を検知する。磁気センサ27は、例えば端末装置10の周囲の地磁気を検知する。画像センサ28は、端末装置10の周囲の画像を撮像する。
【0102】
上記した気圧センサ23、気温センサ24、音センサ25、光センサ26及び画像センサ28は、それぞれ気圧、気温、音、照度を検知したり、周囲の画像を撮像したりすることで、端末装置10の周囲の環境や状況等を検知することができる。また、端末装置10の周囲の環境や状況等から、端末装置10の位置情報の精度を向上させることが可能になる。
【0103】
(制御部30)
制御部30は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM、入出力ポート等を有するマイクロコンピュータや各種の回路を含む。また、制御部30は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路等のハードウェアで構成されてもよい。制御部30は、送信部31と、受信部32と、処理部33と、取得部34と、変換部35と、予測部36と、学習部37とを備える。
【0104】
(送信部31)
送信部31は、例えば入力部13を用いてユーザUにより入力された各種情報や、処理部33により処理された各種情報等を、通信部11を介して情報提供装置100へ送信することができる。
【0105】
また、送信部31は、変換部35により位置情報から変換されたエンベディングベクトルを、通信部11を介して情報提供装置100へ送信する。このとき、送信部31は、エンベディングベクトルと共に、その時点での位置情報を送信してもよい。
【0106】
(受信部32)
受信部32は、通信部11を介して、情報提供装置100から提供される各種情報を受信する。例えば、受信部32は、通信部11を介して、情報提供装置100から提供されるベクトル変換モデル等を受信する。
【0107】
(処理部33)
処理部33は、表示部12等を含め、端末装置10全体を制御する。例えば、処理部33は、送信部31によって送信される各種情報や、受信部32によって受信された情報提供装置100からの各種情報を表示部12へ出力して表示させることができる。
【0108】
(取得部34)
取得部34は、常時/周期的に/所定のタイミングで、端末装置10の位置情報を取得する。例えば、取得部34は、測位部14により測位された端末装置10の位置情報を取得する。また、取得部34は、各センサ21~28によって検知されたセンサデータを取得する。また、取得部34は、各センサ21~28によって検知されたセンサデータに基づいて端末装置10の屋内位置情報を推定して取得する。
【0109】
また、取得部34は、取得した位置情報やセンサデータを記憶部40に記憶(保存)する。例えば、取得部34は、取得した位置情報を位置履歴(例えば、ロケーション履歴、行動履歴等)として蓄積する。また、取得部34は、各センサ21~28によって検知されたセンサデータを種別ごとに蓄積する。なお、取得部34は、取得した時刻又は時間帯ごとに、位置情報とセンサデータとを紐づけして蓄積してもよい。
【0110】
また、取得部34は、受信部32が情報提供装置100から受信したベクトル変換モデルや予測モデルを取得し、記憶部40に記憶(保存)する。
【0111】
あるいは、取得部34は、受信部32が情報提供装置100から受信した所定の変換規則(ルール)を取得し、記憶部40に記憶(保存)する。
【0112】
(変換部35)
変換部35は、位置情報とセンサデータとの組に対してエンベディングを行い、複数の位置情報とセンサデータとの組を1つのベクトルに変換(ベクトル化)し、位置情報とセンサデータとに基づくエンベディングベクトル(埋め込みベクトル)を生成する。
【0113】
例えば、変換部35は、同時刻又は同じ時間帯の位置情報とセンサデータとの組を生成し、位置情報とセンサデータとの組を時系列に並べたシーケンスデータを生成する。そして、変換部35は、シーケンスデータに基づいて、エンベディングベクトルを生成する。
【0114】
例えば、変換部35は、シーケンスデータをデータセットとし、ニューラルネットワークによる機械学習の手法等を用いて、シーケンスデータを多次元からなる実数値ベクトルへと変換する。すなわち、変換部35は、例えばRNN(Recurrent Neural Network)やLSTM(Long short-term memory)等を用いた機械学習を経て構築されるベクトル変換モデルにシーケンスデータを入力し、出力としてエンベディングベクトルを取得する。
【0115】
なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、変換部35は、同様の自然言語処理モデルを用いてもよい。
【0116】
あるいは、変換部35は、所定の変換規則に従って(ルールベースで)、シーケンスデータをエンベディングベクトルに変換してもよい。
【0117】
但し、シーケンスデータは一例に過ぎない。実際には、例えば位置情報とセンサデータとの生データをそのまま時系列に沿って順番にモデルに入力してもよい。
【0118】
(予測部36)
予測部36は、位置情報とセンサデータとの組の過去データに基づいて将来データを予測する。例えば、予測部36は、ある時刻においてセンサデータが取得できない事態が発生しても、その時刻までの位置情報とセンサデータとの組を予測モデルに入力し、出力として得られた位置情報とセンサデータとの組に基づいて、その時刻に取得されるはずであったセンサデータを推測する。
【0119】
(学習部37)
学習部37は、ニューラルネットワークによる機械学習の手法等を用いて、位置情報とセンサデータとの組について機械学習を行い、位置情報とセンサデータとの組をエンベディングベクトルに変換するためのベクトル変換モデルを構築する。
【0120】
また、学習部37は、ニューラルネットワークによる機械学習の手法等を用いて、位置情報とセンサデータとの組について機械学習を行い、過去データに基づく将来データの予測モデルを構築する。
【0121】
例えば、学習部37は、RNN(Recurrent Neural Network)やLSTM(Long short-term memory)等を用いた機械学習により、ベクトル変換モデルや予測モデルを構築する。なお、モデルは、任意の種別及び任意の形式のモデルが採用可能である。例えば、学習部37は、SVM(Support Vector Machine)やDNN(Deep Neural Network)をモデルとして採用してもよい。ここで、DNNは、CNN(Convolutional Neural Network)やRNNであってもよい。また、モデルは、例えば、CNNとRNNとを組み合わせたモデル等、複数のモデルを組み合わせることで実現されるモデルであってもよい。
【0122】
なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、学習部37は、同様の自然言語処理モデルを用いてもよい。
【0123】
学習は、例えばDNNを利用したディープラーニング(深層学習)等である。また、データマイニングやその他の機械学習アルゴリズムを利用してもよい。学習部37は、上述した各種の学習手法により、モデルの学習を行う。
【0124】
(記憶部40)
記憶部40は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置によって実現される。かかる記憶部40には、各種プログラムや各種データ等が記憶される。ここでは、記憶部40は、例えば入力部13を用いてユーザUにより入力された各種情報や、端末装置10に搭載又は接続された各センサ21~28によって検知されたセンサデータ、測位部14によって測位された端末装置10の位置情報等を記憶する。また、処理部33によって処理された各種情報や、受信部32によって受信された各種情報を記憶する。また、記憶部40は、ベクトル変換モデルや予測モデル、又は所定の変換規則等を記憶する。
【0125】
〔4.情報処理装置の構成例〕
次に、図5を用いて、実施形態に係る情報提供装置100の構成について説明する。図5は、実施形態に係る情報提供装置100の構成例を示す図である。図5に示すように、情報提供装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0126】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。また、通信部110は、ネットワークN(図3参照)と有線又は無線で接続される。
【0127】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される。図5に示すように、記憶部120は、変換情報データベース121と、ベクトル情報データベース122とを有する。
【0128】
(変換情報データベース121)
変換情報データベース121は、ベクトル変換モデルや予測モデル、又は所定の変換規則(ルール)等に関する各種情報を記憶する。図6は、変換情報データベース121の一例を示す図である。図6に示した例では、変換情報データベース121は、「変換ID」、「変換情報」、「提供先」といった項目を有する。
【0129】
「変換ID」は、ベクトル変換モデルや予測モデル、又は所定の変換規則等を識別するための識別情報を示す。なお、共通モデルは、サーバ側で管理するモデルであって、各ユーザに共通のモデルを示す。
【0130】
また、「変換情報」は、変換IDにより識別されるベクトル変換モデルや予測モデル、又は所定の変換規則等をデータ化したファイルを示す。
【0131】
また、「提供先」は、変換IDにより識別されるベクトル変換モデルや予測モデル、又は所定の変換規則等の提供先となる端末装置10を示す。例えば、「提供先」には、端末IDが記憶されてもよい。提供先となる端末装置10は、複数であってもよい。すなわち、「提供先」には、複数の端末IDが記憶されてもよい。なお、提供先となる端末装置10を特定する必要がなければ、「提供先」の項目は無くてもよい。
【0132】
例えば、図6に示す例において、変換ID「T1」により識別される変換情報「変換情報#1」であるベクトル変換モデルや予測モデル、又は所定の変換規則等は、提供先「提供先#1」に提供されていることを示す。
【0133】
なお、変換情報データベース121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、変換情報データベース121は、変換IDにより識別される共通モデルの詳細情報を記憶してもよい。
【0134】
(ベクトル情報データベース122)
ベクトル情報データベース122は、端末装置10から受信した位置情報とセンサデータとの組に基づくエンベディングベクトルに関する各種情報を記憶する。図7は、ベクトル情報データベース122の一例を示す図である。図7に示した例では、ベクトル情報データベース122は、「端末ID」、「エンベディングベクトル」、「判定結果」といった項目を有する。
【0135】
「端末ID」は、エンベディングベクトルの出所となる端末装置10を識別するための識別情報を示す。「端末ID」は、サーバ側で割り当てた任意の番号であってもよいし、端末装置10の連絡先情報(電話番号、メールアドレス等)であってもよい。なお、端末装置10を識別する必要がなければ、「端末ID」の項目は無くてもよい。
【0136】
また、「エンベディングベクトル」は、端末装置10から受信した位置情報とセンサデータとの組に基づくエンベディングベクトルを示す。なお、「エンベディングベクトル」は、1台の端末装置10に対して、複数存在していてもよい。例えば、端末装置10が30分ごとにエンベディングベクトルを生成している場合には、30分ごとのエンベディングベクトルが記憶される。
【0137】
また、「判定結果」は、位置情報とセンサデータとの組に基づくエンベディングベクトルに基づいて判定されるユーザUの行動(所在、振る舞い、移動等)を示す。
【0138】
例えば、図7に示す例において、端末ID「端末#1」により識別される端末装置10から受信したエンベディングベクトル「ベクトル#11」は、端末装置10のユーザUの行動が判定結果「判定結果#11」により示される行動であることを示す。
【0139】
なお、ベクトル情報データベース122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ベクトル情報データベース122は、受信データ単位で、個々のエンベディングベクトルを識別するための識別情報(ベクトルID等)を記憶してもよい。また、ベクトル情報データベース122は、個々のエンベディングベクトルを受信した日時を示す情報を記憶してもよい。また、ベクトル情報データベース122は、エンベディングベクトルを解釈するためのルールに関する情報を記憶してもよい。また、ベクトル情報データベース122は、ベクトル変換モデルや予測モデル、又は所定の変換規則等の変換情報を記憶してもよい。
【0140】
(制御部130)
図5に戻り、説明を続ける。制御部130は、コントローラ(Controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、情報提供装置100の内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAM等の記憶領域を作業領域として実行されることにより実現される。図5に示す例では、制御部130は、収集部131と、判定部132と、生成部133と、提供部134とを有する。
【0141】
(収集部131)
収集部131は、個々の端末装置10から位置情報とセンサデータとの組に基づくエンベディングベクトルを収集する。すなわち、収集部131は、通信部110を介して、端末装置10から位置情報とセンサデータとの組に基づくエンベディングベクトルを受信する。
【0142】
(判定部132)
判定部132は、収集された位置情報とセンサデータとの組に基づくエンベディングベクトルを解析し、ユーザUの行動(所在、振る舞い、移動等)を判定する。
【0143】
また、判定部132は、エンベディングベクトルを特定空間に配置し、ユーザU自身の行動の類似性や変化、及び/又はユーザUと他のユーザとの行動の類似性や相違性を判定する。
【0144】
(生成部133)
生成部133は、過去に収集された位置情報を蓄積した既存の位置履歴(又は仮定の位置情報)やセンサデータを蓄積した既存のセンサ履歴に基づいて、位置情報とセンサデータとをエンベディングベクトルに変換するためのベクトル変換モデルや予測モデル、又は所定の変換規則(ルール)等を生成する。
【0145】
例えば、生成部133は、位置情報とセンサデータとエンベディングベクトルとの組を正解データとしてモデルに学習させることで、位置情報を入力した時にエンベディングベクトルを出力するベクトル変換モデルを生成する。
【0146】
また、生成部133は、ニューラルネットワークによる機械学習の手法等を用いて、位置情報とセンサデータとの組について機械学習を行い、過去データに基づく将来データの予測モデルを生成する。
【0147】
ここでは、生成部133は、RNN(Recurrent Neural Network)やLSTM(Long short-term memory)を用いた機械学習により、ベクトル変換モデルを生成する。なお、モデルは、任意の種別及び任意の形式のモデルが採用可能である。例えば、生成部133は、SVM(Support Vector Machine)やDNN(Deep Neural Network)をモデルとして採用してもよい。ここで、DNNは、CNN(Convolutional Neural Network)やRNNであってもよい。また、モデルは、例えば、CNNとRNNとを組み合わせたモデル等、複数のモデルを組み合わせることで実現されるモデルであってもよい。
【0148】
なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、生成部133は、同様の自然言語処理モデルを用いてもよい。
【0149】
学習は、例えばDNNを利用したディープラーニング(深層学習)等である。また、データマイニングやその他の機械学習アルゴリズムを利用してもよい。生成部133は、上述した各種の学習手法により、モデルの学習を行う。
【0150】
また、生成部133は、端末装置10の学習部37とベクトル変換モデルや予測モデルを共有してもよい。
【0151】
(提供部134)
提供部134は、生成されたベクトル変換モデルや所定の変換規則等をユーザUの端末装置10に提供する。すなわち、提供部134は、通信部110を介して、生成されたベクトル変換モデルや所定の変換規則等をユーザUの端末装置10に送信する。
【0152】
〔5.処理手順〕
次に、図8を用いて実施形態に係る端末装置10及び情報提供装置100による処理手順について説明する。図8は、実施形態に係る処理手順を示すシーケンス図である。なお、以下に示す処理手順は、端末装置10の制御部30、又は情報提供装置100の制御部130によって繰り返し実行される。
【0153】
図8に示すように、情報提供装置100の生成部133は、過去に収集された端末装置10の位置情報を蓄積した既存の位置履歴(又は仮定の位置情報)やセンサデータに基づいて、位置情報をエンベディングベクトルに変換するためのベクトル変換モデルや所定の変換規則等を生成する(ステップS101)。例えば、生成部133は、位置情報とエンベディングベクトルとの組を正解データとしてモデルに学習させることで、位置情報を入力した時にエンベディングベクトルを出力するベクトル変換モデルを生成する。
【0154】
そして、情報提供装置100の提供部134は、生成されたベクトル変換モデルや所定の変換規則等をユーザUの端末装置10に提供する(ステップS102)。すなわち、提供部134は、通信部110を介して、生成されたベクトル変換モデルや所定の変換規則等をユーザUの端末装置10に送信する。
【0155】
そして、端末装置10の取得部34は、情報提供装置100から提供されたベクトル変換モデルや所定の変換規則等を取得する(ステップS103)。
【0156】
そして、端末装置10の取得部34は、常時/周期的に/所定のタイミングで、端末装置10の位置情報を取得する(ステップS104)。
【0157】
例えば、取得部34は、測位部14により測位された端末装置10の位置情報を取得する。また、取得部34は、各センサ21~28によって検知されたセンサデータに基づいて端末装置10の屋内位置情報を推定して取得する。
【0158】
また、取得部34は、位置情報とともに、自身に搭載又は接続された各センサ21~28を用いて、環境音、加速度、気圧等のセンサデータを取得する(ステップS105)。
【0159】
なお、取得部34は、取得した位置情報を位置履歴(例えば、ロケーション履歴、行動履歴等)として蓄積する。また、取得部34は、取得した各種センサデータを種別ごとに蓄積する。なお、取得部34は、取得した時刻又は時間帯ごとに、位置情報とセンサデータとを紐づけして蓄積してもよい。
【0160】
そして、端末装置10の変換部35は、同時刻又は同じ時間帯の位置情報とセンサデータとの組を生成する(ステップS106)。
【0161】
そして、変換部35は、位置情報とセンサデータとの組を時系列に並べたシーケンスデータを生成する(ステップS107)。
【0162】
このとき、端末装置10の予測部36は、位置情報とセンサデータとの組の過去データに基づいて将来データを予測してもよい。例えば、予測部36は、ある時刻においてセンサデータが取得できない事態が発生しても、その時刻までの位置情報とセンサデータとの組を予測モデルに入力し、出力として得られた位置情報とセンサデータとの組に基づいて、その時刻に取得されるはずであったセンサデータを推測する。この場合、変換部35は、予測された将来データの位置情報とセンサデータとの組を時系列に並べたシーケンスデータを生成する。
【0163】
このとき、端末装置10の学習部37は、ニューラルネットワークによる機械学習の手法等を用いて、位置情報とセンサデータとの組について機械学習を行い、過去データに基づく将来データの予測モデルを再構築してもよい。
【0164】
そして、変換部35は、シーケンスデータに基づいて、エンベディングベクトルを生成する(ステップS108)。
【0165】
例えば、変換部35は、例えばRNN(Recurrent Neural Network)やLSTM(Long short-term memory)等を用いた機械学習を経て構築されるベクトル変換モデルにシーケンスデータを入力し、出力としてエンベディングベクトルを取得する。なお、RNNやLSTMは、アテンション(Attention)の仕組みに基づくニューラルネットワークであってもよい。また、変換部35は、同様の自然言語処理モデルを用いてもよい。
【0166】
このとき、端末装置10の学習部37は、ニューラルネットワークによる機械学習の手法等を用いて、位置情報とセンサデータとの組について機械学習を行い、位置情報とセンサデータとの組をエンベディングベクトルに変換するためのベクトル変換モデルを再構築してもよい。
【0167】
あるいは、変換部35は、所定の変換規則に従って(ルールベースで)、シーケンスデータをエンベディングベクトルに変換してもよい。
【0168】
但し、シーケンスデータは一例に過ぎない。実際には、例えば位置情報とセンサデータとの生データをそのまま時系列に沿って順番にモデルに入力してもよい。
【0169】
そして、端末装置10の送信部31は、変換部35により変換されたエンベディングベクトルを、通信部11を介して情報提供装置100へ送信する(ステップS109)。
【0170】
そして、情報提供装置100の収集部131は、個々の端末装置10から位置情報とセンサデータとの組に基づくエンベディングベクトルを収集する(ステップS110)。すなわち、収集部131は、通信部110を介して、端末装置10から位置情報とセンサデータとの組に基づくエンベディングベクトルを受信する。
【0171】
そして、情報提供装置100の判定部132は、収集された位置情報とセンサデータとの組に基づくエンベディングベクトルを解析し、ユーザUの行動(所在、振る舞い、移動等)を判定する(ステップS111)。
【0172】
このとき、判定部132は、エンベディングベクトルを特定空間に配置し、ユーザU自身の行動の類似性や変化、及び/又はユーザUと他のユーザとの行動の類似性や相違性を判定してもよい。
【0173】
また、情報提供装置100の生成部133は、端末装置10から受信した位置情報とセンサデータとの組に基づくエンベディングベクトルに基づいて、ベクトル変換モデルや所定の変換規則等を更新してもよい。
【0174】
〔6.変形例〕
上述した端末装置10及び情報提供装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、実施形態の変形例について説明する。
【0175】
上記実施形態において、端末装置10は、位置情報とセンサデータとの組に基づくエンベディングベクトルを生成しているが、このとき、位置情報に基づくエンベディングベクトルと、センサデータに基づくエンベディングベクトルとを別々に生成し、これらを結合して1つのエンベディングベクトルを生成してもよい。例えば、端末装置10は、20要素以上の多次元のエンベディングベクトルのうち、1要素目~10要素目には位置情報に基づくエンベディングベクトルを配置し、11要素目~20要素目にはセンサデータに基づくエンベディングベクトルを配置してもよい。この場合、位置情報に基づくエンベディングベクトルが「ユーザの行動や所在」等を示し、センサデータに基づくエンベディングベクトルが「ユーザのおかれた環境や状況」等を示す。
【0176】
このとき、ベクトル変換モデルとして、位置情報をベクトルに変換するモデルと、センサデータをベクトルに変換するモデルとの2種類のモデルを構築してもよい。あるいは、1つのベクトル変換モデルが、入力された位置情報とセンサデータとをそれぞれ個別にベクトルに変換し、これら2種類のベクトルを結合してもよい。
【0177】
また、上記実施形態において、情報提供装置100は、位置情報とセンサデータとの組に基づくエンベディングベクトルのベクトル値により、ユーザUが「山に行った」、「海に行った」、「地方に行った」、「外国に行った」等の行動を判定してもよい。また、ユーザUが「旅行に行った」、「出張した」等の行動を判定してもよい。また、ユーザUが「日帰りした」、「宿泊した」等の行動を判定してもよい。
【0178】
また、上記実施形態において、端末装置10は、情報提供装置100(サーバ側)に、ユーザUの行動に関する詳細な情報を知らせたくない場合、位置情報を蓄積する際、又はエンベディングに先立って、位置情報の端数処理(丸め処理)を行い、位置情報を丸めて精度の粗い位置情報に変換してもよい。例えば、端末装置10は、位置情報がGPS(Global Positioning System)座標の緯度経度情報である場合、緯度と経度の10進角度での小数点以下(度分秒法での分以下)の値の切り上げ又は切り捨て(四捨五入でも可)を行い、大まかな値の位置情報に変換する。これにより、ユーザUの行動に関する情報について、端末装置10から情報提供装置100(サーバ側)に伝える情報の内容を制限することができる。また、機械学習の学習データとしての位置情報の情報量を削減し、処理の負荷を軽減することができる。
【0179】
また、上記実施形態において、エンベディングベクトルの各要素の値は、便宜上、「0」と「1」とで表現しているが、実際には、「2」以上の数値や、複数桁の数値や、整数部分と小数部分とを有する数値であってもよい。すなわち、実数であればよい。これにより、多次元のエンベディングベクトルの各要素において複数の情報や詳細な情報を表現することができる。
【0180】
また、上記実施形態において、端末装置10は、取得した位置情報やセンサデータを蓄積しているが、ベクトル化した状態で蓄積してもよい。例えば、端末装置10は、個々の位置情報が示す場所に基づいて、位置情報とセンサデータとの組を、「自宅にいる」、「職場にいる」、「店舗にいる」、「屋外にいる」等を示すベクトル値に変換して蓄積してもよい。そして、時系列に沿って同じベクトル値が連続している場合、それらを一括してエンベディングベクトルとしてもよい。
【0181】
また、上記実施形態において、端末装置10又は情報提供装置100は、ベクトル変換モデルや予測モデル、又は所定の変換規則(ルール)等を、個々のユーザUの性質や状況に応じて個別に調整してもよい。例えば、ベクトル変換モデルや予測モデル、又は所定の変換規則等をカスタマイズしてもよい。
【0182】
また、上記実施形態において、フェデレーテッドラーニング(Federated Learning)等を用いて、位置情報とセンサデータとの組をエンベディングベクトルに変換するためのベクトル変換モデルや、過去データに基づく将来データの予測モデル等を生成してもよい。例えば、フェデレーテッドラーニングでは、個々の端末装置10は、ベクトル変換モデルや予測モデル等に対し、それぞれ位置情報とセンサデータとの組を学習データとして機械学習を行い、元のモデルと学習後のモデルとの差分データを情報提供装置100に送信する。情報提供装置100は、差分データを各端末装置10から受信し、これらを統合して学習し、モデル毎に共通モデルを生成する。そして、情報提供装置100は、生成された共通モデルのパラメータ等を各端末装置10に提供する。このように、フェデレーテッドラーニングを用いることで、学習データである端末の位置情報とセンサデータとの組をサーバ側に提供することなく学習を行うことが可能であるため、ユーザの個人情報やプライバシーに配慮することができる。
【0183】
〔7.効果〕
上述してきたように、本願に係る情報処理装置(端末装置10)は、位置情報を取得する第1取得部(取得部34)と、センサからセンサデータを取得する第2取得部(取得部34)と、位置情報とセンサデータとをベクトルに変換する変換部35と、ベクトルを送信する送信部と、を備える。このとき、変換部35は、複数の位置情報とセンサデータとを一括して単数のベクトルに変換する。変換部35は、機械学習により得られたベクトル変換モデルを用いて、又は所定の変換規則に従って、位置情報とセンサデータとをベクトルに変換する。
【0184】
これにより、情報処理装置は、位置情報とセンサデータとをエンベディングして送信することができる。
【0185】
〔8.ハードウェア構成〕
また、上述した実施形態に係る端末装置10や情報提供装置100は、例えば図9に示すような構成のコンピュータ1000によって実現される。以下、情報提供装置100を例に挙げて説明する。図9は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力I/F(Interface)1060、入力I/F1070、ネットワークI/F1080がバス1090により接続された形態を有する。
【0186】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。演算装置1030は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等により実現される。
【0187】
一次記憶装置1040は、RAM(Random Access Memory)等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。二次記憶装置1050は、内蔵ストレージであってもよいし、外付けストレージであってもよい。また、二次記憶装置1050は、USBメモリやSD(Secure Digital)メモリカード等の取り外し可能な記憶媒体であってもよい。また、二次記憶装置1050は、クラウドストレージ(オンラインストレージ)やNAS(Network Attached Storage)、ファイルサーバ等であってもよい。
【0188】
出力I/F1060は、ディスプレイ、プロジェクタ、及びプリンタ等といった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインターフェイスであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力I/F1070は、マウス、キーボード、キーパッド、ボタン、及びスキャナ等といった各種の入力装置1020から情報を受信するためのインターフェイスであり、例えば、USB等により実現される。
【0189】
また、出力I/F1060及び入力I/F1070はそれぞれ出力装置1010及び入力装置1020と無線で接続してもよい。すなわち、出力装置1010及び入力装置1020は、ワイヤレス機器であってもよい。
【0190】
また、出力装置1010及び入力装置1020は、タッチパネルのように一体化していてもよい。この場合、出力I/F1060及び入力I/F1070も、入出力I/Fとして一体化していてもよい。
【0191】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、又は半導体メモリ等から情報を読み出す装置であってもよい。
【0192】
ネットワークI/F1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0193】
演算装置1030は、出力I/F1060や入力I/F1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0194】
例えば、コンピュータ1000が情報提供装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器から取得したプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行してもよい。また、コンピュータ1000の演算装置1030は、ネットワークI/F1080を介して他の機器と連携し、プログラムの機能やデータ等を他の機器の他のプログラムから呼び出して利用してもよい。
【0195】
〔9.その他〕
以上、本願の実施形態を説明したが、これら実施形態の内容により本発明が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【0196】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0197】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【0198】
例えば、上述した情報提供装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットホーム等をAPI(Application Programming Interface)やネットワークコンピューティング等で呼び出して実現するなど、構成は柔軟に変更できる。
【0199】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0200】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0201】
1 情報処理システム
10 端末装置
14 測位部
30 制御部
31 送信部
32 受信部
33 処理部
34 取得部
35 変換部
36 予測部
37 学習部
100 情報提供装置
110 通信部
120 記憶部
121 変換情報データベース
122 ベクトル情報データベース
130 制御部
131 収集部
132 判定部
133 生成部
134 提供部
図1
図2
図3
図4
図5
図6
図7
図8
図9