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

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

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

特許7258960情報処理装置、情報処理方法、及び情報処理プログラム
<>
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図1
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図2
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図3
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図4
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図5
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図6
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図7
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図8
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図9
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-07
(45)【発行日】2023-04-17
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
   G06Q 50/00 20120101AFI20230410BHJP
【FI】
G06Q50/00 300
【請求項の数】 14
(21)【出願番号】P 2021119749
(22)【出願日】2021-07-20
(65)【公開番号】P2023015774
(43)【公開日】2023-02-01
【審査請求日】2022-01-20
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】坪内 孝太
(72)【発明者】
【氏名】佐藤 潤一
(72)【発明者】
【氏名】市川 隆則
(72)【発明者】
【氏名】磯 穣
【審査官】小山 和俊
(56)【参考文献】
【文献】国際公開第2020/241467(WO,A1)
【文献】中国特許出願公開第103455545(CN,A)
【文献】米国特許出願公開第2016/0117665(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06F 16/00
(57)【特許請求の範囲】
【請求項1】
日時を示す情報にユーザの位置情報が対応付けられた位置履歴を示す履歴情報と、メッセンジャーアプリケーションにおける前記ユーザを含む複数ユーザ間でのメッセージであって、場所に関連する情報を含むメッセージを示すメッセージ情報とを取得する取得部と、
前記取得部により取得された前記履歴情報と前記メッセージ情報とに基づいて、前記メッセージに対応する時間と、当該時間に対応する日時に対応付けられた前記ユーザの位置情報を用いて、当該時間における前記ユーザの位置を推定する推定部と、
を備え
前記推定部は、
前記位置履歴に位置が含まれない前記時間における前記ユーザの位置を推定する
ことを特徴とする情報処理装置。
【請求項2】
前記推定部は、
前記メッセージの内容に基づいて、前記ユーザの位置を推定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記推定部は、
前記メッセージに関する時間における前記ユーザの位置を推定する
ことを特徴とする請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記取得部は、
前記ユーザから他のユーザを送信先として送信された前記メッセージを示す前記メッセージ情報を取得する
ことを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記推定部は、
前記位置履歴に位置が含まれる第1時間と第2時間との間の第3時間における前記ユーザの位置を推定する
ことを特徴とする請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記取得部は、
文字情報を含む前記メッセージを示す前記メッセージ情報を取得し、
前記推定部は、
前記文字情報に基づいて、前記時間における前記ユーザの位置を推定する
ことを特徴とする請求項1~のいずれか1項に記載の情報処理装置。
【請求項7】
前記取得部は、
画像情報を含む前記メッセージを示す前記メッセージ情報を取得し、
前記推定部は、
前記画像情報に基づいて、前記時間における前記ユーザの位置を推定する
ことを特徴とする請求項1~のいずれか1項に記載の情報処理装置。
【請求項8】
前記取得部は、
前記ユーザを送信先として他のユーザから送信された他のメッセージを示す他のメッセージ情報を取得し、
前記推定部は、
前記他のメッセージに基づいて、前記ユーザの位置を推定する
ことを特徴とする請求項1~のいずれか1項に記載の情報処理装置。
【請求項9】
前記推定部は、
前記ユーザと他のユーザとの間での前記メッセンジャーアプリケーションを介したやり取りの内容に基づいて、前記ユーザの位置を推定する
ことを特徴とする請求項に記載の情報処理装置。
【請求項10】
前記推定部は、
前記ユーザから他のユーザを送信先として送信された前記メッセージと、前記メッセージに対応する当該他のユーザの応答である前記他のメッセージとに基づいて、前記ユーザの位置を推定する
ことを特徴とする請求項または請求項に記載の情報処理装置。
【請求項11】
前記推定部により推定された前記ユーザの位置に関する情報を用いたサービスを提供する提供部、
をさらに備えることを特徴とする請求項1~10のいずれか1項に記載の情報処理装置。
【請求項12】
前記提供部は、
前記推定部により推定された前記ユーザの位置に関する情報を前記ユーザに提供する
ことを特徴とする請求項11に記載の情報処理装置。
【請求項13】
コンピュータが実行する情報処理方法であって、
日時を示す情報にユーザの位置情報が対応付けられた位置履歴を示す履歴情報と、メッセンジャーアプリケーションにおける前記ユーザを含む複数ユーザ間でのメッセージであって、場所に関連する情報を含むメッセージを示すメッセージ情報とを取得する取得工程と、
前記取得工程により取得された前記履歴情報と前記メッセージ情報とに基づいて、前記メッセージに対応する時間と、当該時間に対応する日時に対応付けられた前記ユーザの位置情報を用いて、当該時間における前記ユーザの位置を推定する推定工程と、
を含み、
前記推定工程は、
前記位置履歴に位置が含まれない前記時間における前記ユーザの位置を推定する
ことを特徴とする情報処理方法。
【請求項14】
日時を示す情報にユーザの位置情報が対応付けられた位置履歴を示す履歴情報と、メッセンジャーアプリケーションにおける前記ユーザを含む複数ユーザ間でのメッセージであって、場所に関連する情報を含むメッセージを示すメッセージ情報とを取得する取得手順と、
前記取得手順により取得された前記履歴情報と前記メッセージ情報とに基づいて、前記メッセージに対応する時間と、当該時間に対応する日時に対応付けられた前記ユーザの位置情報を用いて、当該時間における前記ユーザの位置を推定する推定手順と、
をコンピュータに実行させ
前記推定手順は、
前記位置履歴に位置が含まれない前記時間における前記ユーザの位置を推定す
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、ユーザの位置に関する情報を用いた様々なサービスが提供されている。そのため、ユーザの位置に関する情報を収集することが望まれている。そこで、例えば、投稿者の位置情報の公開を必須とするSNS(Social Networking Service)を構築する技術が提供されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-79476号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術には、ユーザの位置に関する情報を収集することが難しい場合がある。例えば、投稿を行っている時以外のユーザの位置に関する情報を収集することが難しい。そのため、収集済みのユーザの位置に関する情報等を用いて、ユーザの位置を適切に推定することが望まれている。
【0005】
本願は、上記に鑑みてなされたものであって、ユーザの位置を適切に推定する情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、ユーザの行動履歴を示す履歴情報と、メッセンジャーアプリケーションにおける前記ユーザを含む複数ユーザ間でのメッセージを示すメッセージ情報とを取得する取得部と、前記取得部により取得された前記履歴情報と前記メッセージ情報とに基づいて、前記メッセージに対応する時間における前記ユーザの位置を推定する推定部と、を備えたことを特徴とする。
【発明の効果】
【0007】
実施形態の一態様によれば、ユーザの位置を適切に推定することができるという効果を奏する。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係る情報処理の一例を示す図である。
図2図2は、メッセンジャーアプリケーションの表示の一例を示す図である。
図3図3は、実施形態に係る情報処理システムの構成例を示す図である。
図4図4は、実施形態に係る情報処理装置の構成例を示す図である。
図5図5は、実施形態に係るユーザ情報記憶部の一例を示す図である。
図6図6は、実施形態に係るメッセージ情報記憶部の一例を示す図である。
図7図7は、実施形態に係る位置情報記憶部の一例を示す図である。
図8図8は、実施形態に係る推定位置情報記憶部の一例を示す図である。
図9図9は、実施形態に係る情報処理の一例を示すフローチャートである。
図10図10は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1.情報処理〕
図1図3を用いて、実施形態に係る情報処理の一例について説明する。図1は、実施形態に係る情報処理の一例を示す図である。図2は、メッセンジャーアプリケーションの表示の一例を示す図である。図3は、実施形態に係る情報処理システムの構成例を示す図である。以下では、情報処理システム1において、ユーザが利用する端末装置10にインストールされたメッセンジャーアプリケーション(以下「メッセンジャーアプリ」ともいう)を介して、メッセンジャーサービスが提供される場合を一例として示す。
【0011】
〔1-1.情報処理システムの構成〕
まず、情報処理例の説明の前に、図3を参照して情報処理システム1の装置構成例について説明する。図3に示すように、情報処理システム1は、端末装置10-1と、端末装置10-2と、端末装置10-3と、サービス提供装置20と、情報処理装置100とが含まれる。以下では、端末装置10-1~10-3について、特に区別なく説明する場合には、端末装置10と記載する。各端末装置10と、サービス提供装置20と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。なお、図3に示した情報処理システム1には、複数台のサービス提供装置20や、複数台の情報処理装置100が含まれてもよい。
【0012】
端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。図1は、端末装置10がスマートフォンである場合を示す。
【0013】
端末装置10は、各種情報を表示する。例えば、端末装置10は、メッセンジャーアプリに関する各種情報を表示する。端末装置10は、図2に示すようなメッセンジャーアプリに関する情報を表示するが、詳細は後述する。
【0014】
端末装置10は、ユーザによる各種操作を受け付ける。端末装置10は、ユーザによるメッセンジャーアプリへのメッセージの入力を受け付ける。端末装置10は、ユーザにより入力されたメッセージを他の端末装置10へ提供する。例えば、端末装置10は、ユーザにより入力されたメッセージを、サービス提供装置20へ送信し、サービス提供装置20がメッセージを他の端末装置10へ送信する。なお、いわゆるP2P(Peer to Peer)のような態様により、端末装置10間で通信を行う場合、端末装置10は、ユーザにより入力されたメッセージを他の端末装置10へ直接送信してもよい。
【0015】
また、端末装置10は、情報処理装置100に種々の情報を送信する。例えば、端末装置10は、情報処理装置100に位置情報や行動情報等を送信する。例えば、端末装置10は、所定のタイミングで情報処理装置100に位置情報や行動情報等を送信する。
【0016】
また、端末装置10は、GPS(Global Positioning System)センサ等の機能を有し、ユーザの位置情報(センサ情報)を検知し、取得するものとする。また、端末装置10は、通信を行っている基地局の位置情報や、WiFi(登録商標)(Wireless Fidelity)の電波を用いてユーザの位置情報を取得してもよい。なお、以下では位置情報を単に「位置」と記載する場合がある。
【0017】
また、端末装置10は、GPSセンサ等に限らず種々のセンサにより、各種センサ情報を検知してもよい。また、端末装置10は、加速度センサの機能を有し、ユーザの移動における加速度情報(センサ情報)を検知し、取得する。また、端末装置10は、温度センサや気圧センサ等の種々の機能を有し、温度や気圧等のユーザの置かれている環境情報を検知し、取得可能であってもよい。また、端末装置10は、心拍センサ等の種々の機能を有し、ユーザの生体情報を検知し、取得可能であってもよい。例えば、端末装置10を利用するユーザは、端末装置10と通信可能なウェアラブルデバイスを身に付けることにより、端末装置10によりユーザ自身のコンテキスト情報を取得可能としてもよい。例えば、端末装置10を利用するユーザは、端末装置10と通信可能なリストバンド型のウェアラブルデバイスを身に付けることにより、端末装置10によりユーザ自身の心拍(脈拍)に関する情報を端末装置10が取得可能としてもよい。
【0018】
なお、以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。以下では、ユーザID「U1」により識別されるユーザを「ユーザU1」とする場合がある。このように、以下では、「ユーザU*(*は任意の文字列)」と記載した場合、そのユーザはユーザID「U*」により識別されるユーザであることを示す。例えば、「ユーザU2」と記載した場合、そのユーザはユーザID「U2」により識別されるユーザである。例えば、図3に示した情報処理システム1には、ユーザU1が利用する端末装置10や、ユーザU2が利用する端末装置10等の多数の端末装置10が含まれる。
【0019】
図1に示す端末装置10-1は、ユーザU1によって利用される情報処理装置である。図1に示す端末装置10-2は、ユーザU2によって利用される情報処理装置である。図1に示す端末装置10-3は、ユーザU3によって利用される情報処理装置である。端末装置10は、ユーザによる種々の操作を受け付ける。なお、端末装置10をユーザと表記する場合がある。すなわち、ユーザを端末装置10と読み替えることもできる。
【0020】
サービス提供装置20は、ネットワークを介したユーザ間のコミュニケーションに関するサービスを提供する事業者が利用するコンピュータである。サービス提供装置20は、メッセンジャーサービスを提供する。サービス提供装置20は、ユーザが利用する端末装置10にインストールされたメッセンジャーアプリを介して、ユーザにメッセンジャーサービスを提供する。例えば、ここでいうメッセンジャーサービスとは、法人及び自然人を含む様々なユーザを対象として、文字情報、音声情報、画像または動画等の画像情報等の様々な(モーダルの)情報をメッセージとしてユーザ間でのやり取りを可能にするサービスである。メッセンジャーサービスでは、ユーザ間で相互にメッセージを送受信することができる。すなわち、ここでいうユーザ間でのやり取りには、一のユーザから他のユーザを送信先としてメッセージを送ることと、一のユーザを送信先として他のユーザからメッセージを送ることとを含む。例えば、メッセンジャーサービスは、LINE(登録商標)やKakao Talk(登録商標)等のようなサービスであってもよい。
【0021】
サービス提供装置20は、各種情報を情報処理装置100へ送信する。サービス提供装置20は、メッセンジャーサービスにより収集した情報を情報処理装置100へ提供する。サービス提供装置20は、ユーザ間でやり取りされたメッセージに関する情報を情報処理装置100へ提供する。例えば、サービス提供装置20は、情報処理装置100から要求された情報を情報処理装置100へ送信する。なお、メッセンジャーサービスでは、ユーザの位置は収集しないものとする。
【0022】
情報処理装置100は、ユーザの行動履歴を示す履歴情報と、メッセンジャーアプリケーションにおけるユーザを含む複数ユーザ間でのメッセージを示すメッセージ情報とに基づいて、メッセージに対応する時間(以下「対象時間」ともいう)におけるユーザの位置を推定するコンピュータである。なお、情報処理装置100が推定した位置を「推定位置」と記載する場合がある。例えば、情報処理装置100は、対象時間の位置がユーザの位置履歴に含まれない場合、他の時間のユーザの位置及びユーザのメッセージから、対象時間のユーザの位置を推定する。また、例えば、情報処理装置100は、対象時間の位置がユーザの位置履歴に含まれる場合、他の時間のユーザの位置及びユーザのメッセージから、対象時間のユーザの位置を推定し絞り込むことにより、対象時間のユーザの位置を変更(補正)する。
【0023】
情報処理装置100は、端末装置10から各種情報を受信する。情報処理装置100は、端末装置10からユーザの位置情報や行動情報等を取得する。例えば、情報処理装置100は、所定のタイミングでユーザの位置情報を取得する。例えば、情報処理装置100は、所定の間隔(例えば10分おき)でユーザの位置情報を取得する。この場合、例えば、端末装置10が情報処理装置100へ所定の間隔ごとの位置を送信し、情報処理装置100は、所定の間隔でのユーザの位置の履歴(位置履歴)を収集する。
【0024】
なお、情報処理装置100がメッセンジャーアプリ(以下「第1アプリケーション」ともいう)とは異なる他のアプリケーション(以下「第2アプリケーション」ともいう)によるサービスを提供してもよい。例えば、第2アプリケーション(「第2アプリ」ともいう)は、ユーザに記事や動画などのコンテンツを提供するサービス(コンテンツ配信サービス)を提供するアプリケーションであってもよい。例えば、情報処理装置100は、第2アプリを介してユーザの位置を収集してもよい。この場合、端末装置10は、情報処理装置100へ情報を送信する際に、位置を示す情報を情報処理装置100へ送信する。例えば、端末装置10は、ユーザが第2アプリに対して操作等を行ったタイミングでの位置を情報処理装置100へ送信する。端末装置10は、情報処理装置100へ情報を要求するタイミングでの位置を情報処理装置100へ送信する。
【0025】
情報処理装置100は、サービス提供装置20から各種情報を受信する。情報処理装置100は、メッセンジャーサービスによりサービス提供装置20が収集した情報をサービス提供装置20から取得する。情報処理装置100は、ユーザ間でやり取りされたメッセージに関する情報をサービス提供装置20から取得する。例えば、情報処理装置100は、サービス提供装置20へ情報を要求し、要求した情報をサービス提供装置20から受信する。例えば、情報処理装置100は、位置を推定する対象となるユーザ(「対象ユーザ」ともいう)がやり取りしたメッセージに関する情報をサービス提供装置20へ要求し、対象ユーザのメッセージに関する情報をサービス提供装置20から受信する。
【0026】
なお、情報処理装置100は、ユーザのメッセージに関する情報を端末装置10から取得してもよい。また、図3では、メッセンジャーサービスを提供するサービス提供装置20と、情報処理装置100とが別体である場合を示したが、情報処理装置100とサービス提供装置20とは一体であってもよい。この場合、情報処理装置100は、ユーザにメッセンジャーサービスを提供する。
【0027】
〔1-2.情報処理例〕
ここから、図1に示す情報処理例について説明する。図1の例では、ユーザU1を対象ユーザとして、情報処理装置100がユーザU1のメッセージ及びユーザU1の位置履歴を用いて、メッセージ送信時のユーザU1の位置を推定する場合を示す。
【0028】
図1では、情報処理装置100は、ユーザU1が参加するグループGP1でのユーザU1と他のユーザとのメッセージのやり取りを基にユーザU1の位置を推定する。グループGP1は、メッセンジャーアプリにおけるグループチャットであり、グループGP1には、ユーザU1、ユーザU2及びユーザU3の3人が参加している。なお、グループチャットについては、複数ユーザが参加してやり取りをするチャットのグループであり、一般的なグループチャットと同様であるため詳細な説明は省略する。
【0029】
例えば、ユーザU1は、端末装置10-1を用いてメッセンジャーアプリを利用し、グループGP1でのメッセージのやり取りを行う。また、ユーザU2は、端末装置10-2を用いてメッセンジャーアプリを利用し、グループGP1でのメッセージのやり取りを行う。また、ユーザU3は、端末装置10-3を用いてメッセンジャーアプリを利用し、グループGP1でのメッセージのやり取りを行う。
【0030】
図1に示す地図情報MP1は、駅ST等のPOI(Point of Interest:関心地点)やユーザ等の位置を模式的に示す。なお、地図情報MP1では、ユーザについては対象ユーザとなるユーザU1の位置のみを模式的に示し、ユーザU2、U3等の他のユーザの位置の図示は省略する。情報処理装置100は、地図情報MP1中の駅ST等のPOIに関する情報を有する。例えば、POIには、店舗やスタジアム等の様々な地点が含まれる。なお、地図情報MP1では、POIについては駅STの位置LC12のみを模式的に示し、他のPOIの位置の図示は省略する。
【0031】
まず、図1に示す日時dt11から日時dt21までの状況について説明する。まず、ユーザU1は、日時dt11に位置LC11に位置(所在)する。
【0032】
その後、ユーザU1は、日時dt12にメッセンジャーアプリによりグループGP1に参観する他のユーザに「もうすぐ電車乗るよ」という文字列であるメッセージ(「メッセージMS1」とする)を送信する。なお、日時dt12におけるユーザU1の位置は未検知であるものとする。
【0033】
メッセージMS1は、ユーザU1から、グループGP1の他のユーザU2及びユーザU3を送信先として送信される。例えば、端末装置10-1から送信されたメッセージMS1を端末装置10-2及び端末装置10-3が受信する。例えば、端末装置10-2を利用するユーザU2は、メッセンジャーアプリが起動された端末装置10-2にメッセージMS1を表示する。また、端末装置10-3を利用するユーザU3は、メッセンジャーアプリが起動された端末装置10-3にメッセージMS1を表示する。
【0034】
その後、ユーザU2は、日時dt13にメッセンジャーアプリによりグループGP1に参観する他のユーザに「XXXX」という文字列であるメッセージ(「メッセージMS2」とする)を送信する。なお、日時dt13におけるユーザU1の位置は未検知であるものとする。また、ユーザU2のメッセージ「XXXX」は、例えば「了解」、「私ももうすぐ乗る」等、具体的な文字列であるものとする。
【0035】
メッセージMS2は、ユーザU2から、グループGP1の他のユーザU1及びユーザU3を送信先として送信される。例えば、端末装置10-2から送信されたメッセージMS1を端末装置10-1及び端末装置10-3が受信する。例えば、端末装置10-1を利用するユーザU1は、メッセンジャーアプリが起動された端末装置10-1にメッセージMS2を表示する。また、端末装置10-3を利用するユーザU3は、メッセンジャーアプリが起動された端末装置10-3にメッセージMS2を表示する。
【0036】
ここで、メッセンジャーアプリの表示例について図2を用いて説明する。図2の端末装置10は、メッセージMS2が送信された日時dt13以後の時点におけるユーザU1の端末装置10-1での表示を一例として示す。具体的には、図2の端末装置10は、ユーザU1~U3の3人が参加するグループGP1のメッセージのやり取りを時系列に表示する例を示す。端末装置10-1を利用するユーザU1から他のユーザへ送信されたメッセージMS1が右側に配置され、ユーザU1以外のユーザU2から、ユーザU1へのメッセージMS2が左側に配置されて表示される。図2の例ではユーザU2を示すアイコンからの吹き出しでメッセージMS2を示すように、他のユーザからのメッセージは、そのメッセージがどのユーザからのものかを示す情報が特定可能に表示される。
【0037】
また、ユーザU1のメッセージMS1の近傍(図2では左横)には、他のユーザの閲覧有無を示す情報が配置され、ユーザU2のメッセージMS2の近傍(図2では右横)には送信時間等を示す情報が配置される。なお、図2に示すグループGP1におけるメッセージのやり取りの表示は、一般的なグループチャットと同様であるため詳細な説明は省略する。
【0038】
そして、ユーザU1は、日時dt13より後の日時dt21に位置LC21に位置(所在)する。
【0039】
ここから、上述した情報を用いて対象ユーザであるユーザU1の位置を情報処理装置100が推定する情報処理について説明する。情報処理装置100は、ユーザU1に関する情報を取得する(ステップS11)。情報処理装置100は、ユーザU1の位置履歴及びユーザU1のメッセージに関する情報を取得する。
【0040】
図1では、情報処理装置100は、ユーザU1の位置履歴(「位置履歴LG」ともいう)として、日時dt11に位置LC11に所在したことを示す情報、及び日時dt21に位置LC21に所在したことを示す情報を取得する。例えば、情報処理装置100は、ユーザU1の位置履歴LGを端末装置10-1から取得する。
【0041】
また、図1では、情報処理装置100は、ユーザU1のメッセージに関する情報として、ユーザU1が参加するグループGP1でやり取りされたメッセージに関する情報を取得する。例えば、情報処理装置100は、ユーザU1のメッセージに関する情報をサービス提供装置20から取得する。情報処理装置100は、ユーザU1が日時dt12に送信したメッセージMS1に関する情報を取得する。
【0042】
ここで、位置履歴LGには、メッセージMS1が送信された日時dt12でのユーザU1の位置は含まれていない。そのため、情報処理装置100は、日時dt12でのユーザU1の位置を推定する(ステップS12)。情報処理装置100は、日時dt12に送信されたメッセージMS1の内容及びユーザU1の位置履歴を基に、日時dt12でのユーザU1の位置を推定する。
【0043】
例えば、情報処理装置100は、メッセージMS1の文字列「もうすぐ電車乗るよ」に基づいてユーザU1の日時dt12における状況(コンテキスト)を特定(決定)する。例えば、情報処理装置100は、構文解析等の種々の従来技術を適宜用いて、文字列「もうすぐ電車乗るよ」を解析することにより、メッセージMS1の内容を決定する。この場合、情報処理装置100は、メッセージMS1の内容がすぐに電車に乗れる位置にいることを示す内容である特定(決定)する。これにより、情報処理装置100は、ユーザU1が日時dt12の時点においてすぐに電車に乗れる位置、すなわち駅に位置(所在)していると推定する。
【0044】
なお、上記は一例に過ぎず、情報処理装置100は、どのような処理によりユーザU1が駅に位置していると推定してもよい。例えば、情報処理装置100は、「もうすぐ」、「電車」等のキーワードを抽出し、抽出したキーワードからユーザU1が日時dt12に駅に位置(所在)していると推定してもよい。
【0045】
そして、情報処理装置100は、ユーザU1の位置履歴LGを用いて、ユーザU1がどの駅に位置(所在)しているかを推定する。例えば、情報処理装置100は、ユーザU1の位置履歴LGのうち、日時dt12の前の日時dt11の位置LC11を用いて、ユーザU1が位置する駅を推定する。例えば、情報処理装置100は、ユーザU1が位置する駅が位置LC11から最寄りの駅であると推定する。例えば、情報処理装置100は、POIに関する情報を用いて、位置LC11から最寄りの駅を決定する。この場合、情報処理装置100は、POIに関する情報が示す各駅と、位置LC11との間の距離を比較し、最も距離が短い駅に日時dt12のユーザU1が位置したと推定する。図1では、情報処理装置100は、日時dt12のユーザU1が駅STに位置したと推定する。これにより、情報処理装置100は、日時dt12のユーザU1が駅STの位置LC12に位置したと推定する。
【0046】
上記のように、情報処理装置100は、位置履歴LGに位置が含まれない日時dt12でのユーザU1の位置を推定する。すなわち、情報処理装置100は、位置履歴LCに位置が含まれる日時dt11と日時dt21との間の日時dt12におけるユーザU1の位置を推定する。これにより、情報処理装置100は、対象ユーザの位置履歴に位置が含まれない日時における対象ユーザの位置を適切に推定することができる。したがって、情報処理装置100は、ユーザの位置履歴とユーザのメッセージに関する情報とを用いることで、ユーザの位置を適切に推定することができる。従来からユーザの位置及びその位置に対応する時間を詳細に推定することが望まれている、そこで、情報処理装置100は、上述した処理によりユーザの位置及び時間を推定する。例えば、情報処理装置100は、時間をメッセージの送信時間やメッセージに含まれる時間を基に詳細化して推定する。そして、情報処理装置100は、その時間に対応するユーザの位置をメッセージの内容を基に詳細化して推定する。したがって、情報処理装置100は、位置的な詳細化と時間的な詳細化との両方を行うことができる。
【0047】
〔1-3.その他の例〕
なお、上述した情報処理装置100による位置の推定は、一例に過ぎず、情報処理装置100は、様々な処理によりユーザの位置を推定してもよい。この点について、以下いくつか処理例を記載する。
【0048】
例えば、情報処理装置100は、対象ユーザについて所定のエリアA(例えば新橋等)の位置履歴があり、対象ユーザが日時dt30にメッセージで「タピオカおいしい」を他のユーザに送信した場合、日時dt30に対象ユーザがエリアAのタピオカ屋に位置したと推定してもよい。
【0049】
例えば、情報処理装置100は、ショッピングモールで1階にタピオカがあり、対象ユーザが日時dt30に「美味しいタピオカget!」とメッセージを送信した場合、日時dt30に対象ユーザが1階のタピオカ屋の前にいると推定してもよい。情報処理装置100は、対象ユーザのメッセージの内容から、店舗種別を推定し、推定した店舗種別を基に、対象ユーザの位置を推定してもよい。
【0050】
また、情報処理装置100は、メッセージの送信日時以外を対象時間として、ユーザの位置を推定してもよい。例えば、情報処理装置100は、対象ユーザのメッセージが「昨日は…」等である場合、昨日の位置履歴から、昨日に対象ユーザがどこに行ったかを推定してもよい。
【0051】
また、情報処理装置100は、対象ユーザのメッセージに画像情報が含まれる場合、画像解析の結果を基に、対象ユーザの位置を推定してもよい。例えば、情報処理装置100は、対象ユーザのメッセージに文字情報が含まれなくても、メッセージに含まれる写真等の画像情報を用いて、対象ユーザの位置を推定してもよい。例えば、情報処理装置100は、対象ユーザのメッセージに含まれる空やビルの写真を用いて、ビルの形や雲の形から対象ユーザの位置を推定してもよい。例えば、情報処理装置100は、対象ユーザのメッセージに含まれる写真から相対的な位置関係を見つけて、それから名寄せしてもよい。このように、情報処理装置100は、メッセージに含まれる写真を解析して場所を推定してもよい。
【0052】
また、情報処理装置100は、対象ユーザの習慣行動等の行動パターンまたは付近の位置情報等を基に、対象ユーザの位置を推定してもよい。例えば、情報処理装置100は、対象ユーザの位置が日時dt31に自宅であり、日時dt31から所定範囲内の日時dt32に「もうすぐ電車のるわ」とメッセージを送信した場合、対象ユーザが日時dt32に自宅の最寄り駅に位置したと推定してもよい。
【0053】
また、情報処理装置100は、対象ユーザ以外の他人のメッセージを基に対象ユーザの位置を推定してもよい。例えば、図1では、情報処理装置100は、ユーザU2のメッセージMS2の「XXXX」が「ユーザU1は駅STXに着いたみたい」といった内容である場合、日時dt12にユーザU1が駅STXに位置したと推定してもよい。
【0054】
このように、情報処理装置100は、対象ユーザであるユーザU1と他のユーザであるユーザU2との間でのメッセンジャーアプリケーションを介したやり取りの内容に基づいて、ユーザU1の位置を推定してもよい。すなわち、情報処理装置100は、ユーザU1からユーザU2を送信先として送信されたメッセージと、メッセージに対応するユーザU2の応答である他のメッセージとに基づいて、ユーザU1の位置を推定してもよい。
【0055】
例えば、対象ユーザが日時dt40にラーメンの写真及び文字列「マジやばい!」を含むメッセージを送信し、そのメッセージに対し他のユーザが「○○ラーメンうまそー」のメッセージを送信し、対象ユーザが「でしょー」のメッセージを送信した場合の処理を以下記載する。この場合、情報処理装置100は、対象ユーザ以外の他のユーザの「○○ラーメンうまそー」のメッセージを基に、位置を○○ラーメンの所在地(位置LC41)に絞り込む。そして、情報処理装置100は、対象ユーザが「でしょー」と送信していることから、対象ユーザの位置が○○ラーメンの位置LC41であることが正しいと推定する。これにより、情報処理装置100は、日時dt40での対象ユーザの位置が位置LC41であると推定する。
【0056】
また、情報処理装置100は、他のユーザの「今どこー?」に対して、「ここだよー」というメッセージを対象ユーザが応答した場合、対象ユーザの位置を示す地図情報を他のユーザの端末装置10に提供してもよい。情報処理装置100は、対象ユーザのログや属性から、情報を補完し、対象ユーザの位置を推定してもよい。例えば、情報処理装置100は、他のユーザの「どこー?」に対して、「デパートZの前」というメッセージを対象ユーザが応答し、デパートZが複数ある場合、対象ユーザの生活圏に含まれるデパートZの位置を対象ユーザの位置と推定してもよい。
【0057】
情報処理装置100は、対象ユーザのメッセージ、その送信時刻、及びその送信先に基づいて、対象ユーザの位置を推定してもよい。例えば、情報処理装置100は、対象ユーザのメッセージが「エリアBの水族館に一昨日行ってきたよ」である場合、対象ユーザの一昨日の位置履歴を、エリアBの水族館の位置に変更(名寄せ)してもよい。なお、上述した処理例は一例に過ぎず、情報処理装置100は、上記に限らず、様々な処理によりユーザの位置を推定してもよい。
【0058】
〔1-4.位置履歴に含まれる時間の位置推定〕
なお、情報処理装置100は、位置履歴に含まれる時間の位置を推定してもよい。この点について、以下簡単に説明する。
【0059】
例えば、情報処理装置100は、対象ユーザの位置履歴に位置が含まれる時間(対象時間)における対象ユーザの位置を推定してもよい。この場合、情報処理装置100は、位置履歴中の対象時間におけるユーザの位置を、推定した推定位置を基に変更してもよい。
【0060】
例えば、図1の例で、メッセージMS1の送信時間が日時dt11である場合、情報処理装置100は、ユーザU1の位置履歴LG中の日時dt11の位置LC11を位置LC12に変更してもよい。
【0061】
なお、上述した位置履歴の変更は一例に過ぎず、情報処理装置100は、様々な態様により位置履歴中の位置を変更してもよい。例えば、情報処理装置100は、位置履歴中の対象時間におけるユーザの位置を、メッセージにより詳細化してもよい。例えば、情報処理装置100は、履歴情報に含まれる対象時間の第1位置を、メッセージの内容に基づいて第1位置よりも詳細な第2位置へ絞り込んでもよい。
【0062】
情報処理装置100は、履歴情報が示す対象時間における第1位置が所定の範囲を有する場合、メッセージの内容に基づいて第1位置の範囲よりも狭めた第2位置へ絞り込んでもよい。例えば、情報処理装置100は、対象時間に対象ユーザが送信したメッセージの内容が第1位置内の特定の位置(第2位置)に対象ユーザが位置することを示す場合、対象時間における対象ユーザの第1位置を第2位置へ絞り込んでもよい。例えば、第1位置がショッピングモールXであり、第2位置がそのショッピングモールX内の店舗Yである場合、情報処理装置100は、位置履歴中の対象時間での位置を第1位置から第2位置へ変更する。このように、情報処理装置100は、既に取得している位置履歴中の位置及び時間の組合せを対象として、推定結果を基に情報を更新することで、メッセージに基づいて位置や時間の詳細化を実現することができる。
【0063】
〔1-5.推定位置を用いたサービス〕
なお、情報処理装置100は、上述した処理により推定した推定位置に関する情報を用いた様々なサービスを提供してもよい。例えば、情報処理装置100は、ユーザの推定位置に関する情報を提供してもよい。例えば、情報処理装置100は、推定位置の対象時間におけるユーザの位置情報を有していないサービス提供者に、対象時間におけるユーザの位置として、推定位置を示す情報を提供してもよい。例えば、情報処理装置100は、サービス提供者が利用する外部装置に、推定位置を示す情報を送信する。
【0064】
また、情報処理装置100は、対象ユーザの推定位置を対象ユーザの位置履歴に追加して、位置履歴に含まれない時間での位置を推定位置で補完した補完位置履歴を提供してもよい。例えば、情報処理装置100は、対象ユーザの補完位置履歴を、対象ユーザに位置情報を用いたサービスを提供するサービス提供者が利用する外部装置に、送信してもよい。図1では、情報処理装置100は、日時dt12でのユーザU1の推定位置をユーザU1の位置履歴LGに追加して、位置履歴LGに含まれなかった日時dt12でのユーザU1の位置を推定位置で補完した補完位置履歴LG2を生成してもよい。そして、情報処理装置100は、生成したユーザU1の補完位置履歴LG2を、ユーザU1に位置情報を用いたサービスを提供するサービス提供者が利用する外部装置に送信してもよい。
【0065】
また、情報処理装置100は、上述したメッセージを基に詳細化した位置に応じた通知を行ってもよい。例えば、情報処理装置100は、上述したメッセージを基に詳細化した位置に応じた通知を行ってもよい。情報処理装置100は、位置を詳細化した場合、ユーザの位置情報を用いてサービスを提供するサービス提供者に、ユーザの位置を詳細化した位置に更新することを促す通知を行ってもよい。例えば、情報処理装置100は、サービス提供者が利用する外部装置に、詳細化した位置を示す情報を送信する。
【0066】
〔2.情報処理装置の構成〕
次に、図4を用いて、実施形態に係る情報処理装置100の構成について説明する。図4は、実施形態に係る情報処理装置の構成例を示す図である。図4に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0067】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワーク(例えば図3中のネットワークN)と有線または無線で接続され、端末装置10との間で情報の送受信を行う。
【0068】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図4に示すように、ユーザ情報記憶部121と、メッセージ情報記憶部122と、位置情報記憶部123と、推定位置情報記憶部124とを有する。なお、記憶部120には、上記以外にも様々な情報が記憶される。例えば、記憶部120には、店舗や駅等の各POIの施設名や施設の位置やエリア等を記憶するPOI情報記憶部が含まれる。POI情報記憶部は、各POIを識別する情報(POIのID等)に対応付けて各POIのカテゴリ等の種々の情報を記憶する。
【0069】
(ユーザ情報記憶部121)
実施形態に係るユーザ情報記憶部121は、ユーザに関する各種情報を記憶する。例えば、ユーザ情報記憶部121は、ユーザ属性に関する各種情報やユーザの行動に関する各種情報を記憶する。図5は、実施形態に係るユーザ情報記憶部の一例を示す図である。図5に示すユーザ情報記憶部121は、「ユーザID」、「年齢」、「性別」、「自宅」、「勤務地」、「興味」といった項目が含まれる。
【0070】
「ユーザID」は、ユーザを識別するための識別情報を示す。また、「年齢」は、ユーザIDにより識別されるユーザの年齢を示す。なお、「年齢」は、例えば35歳など、ユーザIDにより識別されるユーザの具体的な年齢であってもよい。また、「性別」は、ユーザIDにより識別されるユーザの性別を示す。
【0071】
また、「自宅」は、ユーザIDにより識別されるユーザの自宅の位置情報を示す。なお、図5に示す例では、「自宅」は、「LC1-1」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「自宅」は、地域名や住所であってもよい。
【0072】
また、「勤務地」は、ユーザIDにより識別されるユーザの勤務地の位置情報を示す。なお、図5に示す例では、「勤務地」は、「LC1-2」といった抽象的な符号を図示するが、緯度や経度を示す情報であってもよい。また、例えば、「勤務地」は、地域名や住所であってもよい。
【0073】
また、「興味」は、ユーザIDにより識別されるユーザの興味を示す。すなわち、「興味」は、ユーザIDにより識別されるユーザが関心の高い対象を示す。なお、図5に示す例では、「興味」は、各ユーザに1つずつ図示するが、複数であってもよい。
【0074】
例えば、図5の例では、ユーザID「U1」により識別されるユーザの年齢は、「20代」であり、性別は、「男性」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、自宅が「LC1-1」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、勤務地が「LC1-2」であることを示す。また、例えば、ユーザID「U1」により識別されるユーザは、「スポーツ」に興味があることを示す。
【0075】
なお、ユーザ情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部121は、他のデモグラフィック属性情報やサイコグラフィック属性情報を記憶してもよい。例えば、ユーザ情報記憶部121は、氏名、家族構成、収入、ライフスタイル等の情報を記憶してもよい。また、ユーザ情報記憶部121は、ユーザが利用する端末装置10を識別する情報(端末ID)を記憶してもよい。
【0076】
(メッセージ情報記憶部122)
実施形態に係るメッセージ情報記憶部122は、ユーザ間でやり取りされたメッセージに関する各種情報を記憶する。図6は、実施形態に係るメッセージ情報記憶部の一例を示す図である。図6に示すメッセージ情報記憶部122には、「グループID」、「参加ユーザ」、「日時」、「送信元」、「内容」といった項目が含まれる。
【0077】
「グループID」は、グループを識別するための識別情報を示す。例えば、「グループID」は、メッセンジャーアプリにおいて作成されるグループを識別するための識別情報を示す。
【0078】
「参加ユーザ」は、メッセージをやり取りするユーザを示す。なお、グループIDが「-(ハイフン)」である場合、ユーザがグループを作成せずにメッセージをやり取りする場合を示す。図6では、ユーザU11とユーザU12とはグループを作成せずにメッセージをやり取りしている場合を示す。「日時」は、対応する参加ユーザ間でメッセージがやり取りされた日時を示す。なお、図6の例では、「dt12」等で図示するが、「日時」には、「2021年7月18日13時22分35秒」等の具体的な日時が記憶されてもよい。また、「送信元」は、対応するメッセージの送信元を示す。また、「内容」は、対応するメッセージの内容を示す。
【0079】
例えば、図6では、グループID「GP1」により識別されるグループ(グループGP1)の参加ユーザは、ユーザU1、U2、U3の3人のユーザであることを示す。また、グループGP1では、日時dt12にユーザU1が「もうすぐ電車乗るよ」という内容(文字列)をメッセージとして、グループGP1の他のユーザ(ユーザU2、U3)に送信したことを示す。また、グループGP1では、日時dt13にユーザU2が「XXXX」という内容(文字列)をメッセージとして、グループGP1の他のユーザ(ユーザU1、U3)に送信したことを示す。なお、図6では「XXXX」と内容の無い文字列で示すが、ユーザU2のメッセージ「XXXX」は、例えば「了解」、「私ももうすぐ乗る」等、具体的な文字列であるものとする。
【0080】
なお、メッセージ情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、メッセージ情報記憶部122は、各メッセージを識別(特定)する情報(メッセージID)等を、各メッセージに対応付けて記憶する。
【0081】
(位置情報記憶部123)
実施形態に係る位置情報記憶部123は、位置に関する各種情報を記憶する。例えば、位置情報記憶部123は、各ユーザの端末装置10から取得した位置に関する各種情報を記憶する。図7は、実施形態に係る位置情報記憶部の一例を示す図である。図7に示す位置情報記憶部123は、「ユーザID」、「位置情報」といった項目が含まれる。「位置情報」には、「日時」、「位置」といった項目が含まれる。
【0082】
「ユーザID」は、ユーザを識別するための識別情報を示す。「位置情報」は、ユーザの位置情報の履歴を示す。「日時」は、各位置情報が取得された日時を示す。なお、図7の例では「日時」を抽象的な符号「dt11」等で図示するが、「日時」には、「2021年7月18日13時07分48秒」等の具体的な日時が記憶されてもよい。また、「位置」は、対応する日時における対応するユーザの位置情報を示す。なお、図7の例では「位置」を抽象的な符号「LC11」等で図示するが、「位置」には、具体的な緯度経度情報等が記憶されてもよい。
【0083】
例えば、ユーザID「U1」により識別されるユーザ(ユーザU1)の位置「LC11」が、日時「dt11」に取得されたことを示す。例えば、ユーザU1が利用する端末装置10-1の位置「LC11」が、日時「dt11」に取得されたことを示す。
【0084】
また、例えば、図7では、ユーザU1の位置「LC21」が、日時「dt21」に取得されたことを示す。例えば、ユーザU1が利用する端末装置10-1の位置「LC21」が、日時「dt21」に取得されたことを示す。
【0085】
なお、位置情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、位置情報記憶部123は、位置情報に限らず、加速度情報等の種々のセンサ情報を記憶してもよい。例えば、位置情報記憶部123は、その日時及びその位置におけるユーザの行動内容(例えば電車を待つ、ランニング中等)を示す情報等、ユーザのコンテキストに関する情報を記憶してもよい。
【0086】
(推定位置情報記憶部124)
実施形態に係る推定位置情報記憶部124は、推定した位置(推定位置)に関する各種情報を記憶する。例えば、推定位置情報記憶部124は、各ユーザについて推定した位置に関する各種情報を記憶する。図8は、実施形態に係る推定位置情報記憶部の一例を示す図である。図8に示す推定位置情報記憶部124は、「ユーザID」、「推定位置情報」といった項目が含まれる。「推定位置情報」には、「日時」、「推定位置」といった項目が含まれる。
【0087】
「ユーザID」は、ユーザを識別するための識別情報を示す。「推定位置情報」は、ユーザの位置情報の履歴を示す。「日時」は、位置を推定する対象となる日時を示す。なお、図8の例では「日時」を抽象的な符号「dt12」等で図示するが、「日時」には、「2021年7月18日13時22分35秒」等の具体的な日時が記憶されてもよい。また、「推定位置」は、対応する日時における対応するユーザの推定位置を示す。なお、図8の例では「推定位置」を抽象的な符号「LC12」等で図示するが、「推定位置」には、具体的な緯度経度情報等が記憶されてもよい。
【0088】
例えば、ユーザID「U1」により識別されるユーザ(ユーザU1)の日時「dt12」における位置が、位置「LC12」であると推定されたたことを示す。例えば、ユーザU1が日時「dt12」の時点において、位置「LC12」に位置(所在)していたと推定されたことを示す。
【0089】
なお、推定位置情報記憶部124は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、推定位置情報記憶部124は、推定位置に限らず、その日時及びその推定位置におけるユーザの行動内容(例えば電車を待つ、ランニング中等)を示す情報等、ユーザのコンテキストに関する情報を記憶してもよい。
【0090】
(制御部130)
図4の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0091】
図4に示すように、制御部130は、取得部131と、決定部132と、推定部133と、提供部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【0092】
(取得部131)
取得部131は、各種情報を取得する。例えば、取得部131は、ユーザ情報記憶部121やメッセージ情報記憶部122や位置情報記憶部123や推定位置情報記憶部124等の記憶部120から各種情報を取得する。例えば、取得部131は、端末装置10等の外部の情報処理装置から各種情報を受信する。
【0093】
取得部131は、ユーザの行動履歴を示す履歴情報を取得する。取得部131は、ユーザの位置履歴を示す履歴情報を取得する。取得部131は、メッセンジャーアプリケーション(第1アプリケーション)とは異なる他のアプリケーション(第2アプリケーション)が収集したユーザの行動履歴を取得する。取得部131は、第2アプリケーションが収集したユーザの位置履歴を取得する。
【0094】
取得部131は、メッセンジャーアプリケーションにおけるユーザを含む複数ユーザ間でのメッセージを示すメッセージ情報を取得する。取得部131は、ユーザから他のユーザを送信先として送信されたメッセージを示すメッセージ情報を取得する。取得部131は、文字情報を含むメッセージを示すメッセージ情報を取得する。取得部131は、画像情報を含むメッセージを示すメッセージ情報を取得する。取得部131は、ユーザを送信先として他のユーザから送信された他のメッセージを示す他のメッセージ情報を取得する。
【0095】
(決定部132)
決定部132は、各種情報を決定する決定処理を実行する。決定部132は、記憶部120に記憶された各種情報に基づいて、種々の情報を決定する。決定部132は、取得部131により取得された各種情報に基づいて、種々の情報を決定する。
【0096】
例えば、決定部132は、メッセージの内容を決定する処理を実行する。決定部132は、メッセージに含まれる情報のモーダルに応じた解析処理を実行し、メッセージの内容を決定する。
【0097】
例えば、決定部132は、形態素解析等の自然言語処理技術を適宜用いてメッセージに含まれる文字情報を解析する処理を実行する。決定部132は、メッセージの文字情報に対する意味解析により、メッセージの内容を特定(決定)する。決定部132は、意味解析を適宜用いて文字情報を解析することにより、文字情報の内容を特定(決定)する。例えば、決定部132は、文字情報を構文解析等の種々の従来技術を適宜用いて解析することにより、文字情報の内容を決定する。
【0098】
また、決定部132は、メッセージに画像情報が含まれる場合、画像解析等の技術を適宜用いてメッセージに含まれる画像情報を解析する処理を実行する。また、決定部132は、メッセージに音声情報が含まれる場合、自動音声認識(ASR:Automatic Speech Recognition)等の技術を適宜用いてメッセージに含まれる音声情報を解析する処理を実行する。例えば、決定部132は、メッセージに含まれる音声情報をテキスト化し、テキスト化した情報(文字情報)を用いて、音声情報の内容を特定(決定)する。
【0099】
決定部132は、各種情報を抽出する。例えば、決定部132は、ユーザ情報記憶部121やメッセージ情報記憶部122や位置情報記憶部123や推定位置情報記憶部124等の記憶部120から各種情報を抽出する。
【0100】
決定部132は、推定する対象となる対象ユーザのメッセージに関する情報をメッセージ情報記憶部122から抽出する。また、決定部132は、推定する対象となる対象ユーザの位置履歴を位置情報記憶部123から抽出する。
【0101】
(推定部133)
推定部133は、種々の情報を推定する。推定部133は、種々の情報を推定する。例えば、推定部133は、端末装置10やサービス提供装置20等の外部の情報処理装置から取得された各種情報に基づいて推定を行う。例えば、推定部133は、記憶部120に記憶された各種情報に基づいて推定を行う。例えば、推定部133は、決定部132により決定される情報に基づいて、推定を行う。
【0102】
推定部133は、取得部131により取得された履歴情報とメッセージ情報とに基づいて、メッセージに対応する時間におけるユーザの位置を推定する。推定部133は、メッセージの内容に基づいて、ユーザの位置を推定する。推定部133は、メッセージに関する時間におけるユーザの位置を推定する。推定部133は、メッセージのやり取りの時間におけるユーザの位置を推定する。推定部133は、メッセージの内容が示す時間におけるユーザの位置を推定する。
【0103】
推定部133は、位置履歴に位置が含まれない時間におけるユーザの位置を推定する。推定部133は、位置履歴に位置が含まれる第1時間と第2時間との間の第3時間におけるユーザの位置を推定する。
【0104】
推定部133は、位置履歴に位置が含まれる時間におけるユーザの位置を推定する。推定部133は、位置履歴が示す時間におけるユーザの位置を変更する。推定部133は、位置履歴が示す時間におけるユーザの位置を、メッセージにより詳細化する。推定部133は、履歴情報が示す第1位置を、メッセージの内容に基づいて第1位置よりも詳細な第2位置へ絞り込む。
【0105】
推定部133は、文字情報に基づいて、ユーザの位置を推定する。推定部133は、画像情報に基づいて、ユーザの位置を推定する。推定部133は、他のメッセージに基づいて、ユーザの位置を推定する。
【0106】
推定部133は、ユーザと他のユーザとの間でのメッセンジャーアプリケーションを介したやり取りの内容に基づいて、ユーザの位置を推定する。推定部133は、ユーザから他のユーザを送信先として送信されたメッセージと、メッセージに対応する他のユーザの応答である他のメッセージとに基づいて、ユーザの位置を推定する。
【0107】
推定部133は、各種情報を生成する生成処理を実行する。推定部133は、記憶部120に記憶された各種情報に基づいて、種々の情報を生成する。例えば、推定部133は、各種情報を生成する生成部としても機能する。推定部133は、各種情報を生成する。例えば、推定部133は、ユーザ情報記憶部121やメッセージ情報記憶部122や位置情報記憶部123や推定位置情報記憶部124等に記憶された情報から種々の情報を生成する。
【0108】
例えば、推定部133は、対象ユーザの推定位置を対象ユーザの位置履歴に追加して、位置履歴に含まれない時間での位置を推定位置で補完した補完位置履歴を生成する。図1では、推定部133は、日時dt12でのユーザU1の推定位置をユーザU1の位置履歴LGに追加して、位置履歴LGに含まれなかった日時dt12でのユーザU1の位置を推定位置で補完した補完位置履歴LG2を生成する。
【0109】
(提供部134)
提供部134は、各種情報を提供する。提供部134は、外部の情報処理装置へ各種情報を提供する。例えば、提供部134は、端末装置10やサービス提供装置20に各種情報を提供する。提供部134は、端末装置10やサービス提供装置20に各種情報を送信する。提供部134は、取得部131により取得された各種情報に基づいて、種々の情報を提供する。提供部134は、決定部132による決定に応じて、種々の情報を提供する。提供部134は、推定部133による推定に応じて、種々の情報を提供する。
【0110】
提供部134は、推定部133により推定されたユーザの位置に関する情報を用いたサービスを提供する。提供部134は、推定部133により推定されたユーザの位置に関する情報を提供する。
【0111】
例えば、提供部134は、対象ユーザの推定位置を対象ユーザの位置履歴に追加して、位置履歴に含まれない時間での位置を推定位置で補完した補完位置履歴を提供する。例えば、提供部134は、対象ユーザの補完位置履歴を、対象ユーザに位置情報を用いたサービスを提供するサービス提供者が利用する外部装置に送信する。提供部134は、推定部133により生成された対象ユーザの補完位置履歴を提供する。図1では、提供部134は、推定部133により生成されたユーザU1の補完位置履歴LG2を、ユーザU1に位置情報を用いたサービスを提供するサービス提供者が利用する外部装置に送信する。
【0112】
〔3.情報処理のフロー〕
次に、図9を用いて、実施形態に係る情報処理システム1による情報処理の手順について説明する。図9は、実施形態に係る情報処理の一例を示すフローチャートである。
【0113】
図9に示すように、情報処理装置100は、ユーザの行動履歴を示す履歴情報を取得する(ステップS101)。例えば、情報処理装置100は、位置の推定対象となるユーザU1の行動履歴を示す履歴情報を取得する。
【0114】
また、情報処理装置100は、メッセンジャーアプリケーションにおけるユーザを含む複数ユーザ間でのメッセージを示すメッセージ情報を取得する(ステップS102)。例えば、情報処理装置100は、メッセンジャーアプリケーションにおけるユーザU1を含むグループGP1でのメッセージを示すメッセージ情報を取得する。
【0115】
そして、情報処理装置100は、履歴情報とメッセージ情報とに基づいて、メッセージに対応する時間におけるユーザの位置を推定する(ステップS103)。例えば、情報処理装置100は、ユーザU1の位置の履歴とユーザU1がメッセージの内容とに基づいて、ユーザU1がメッセージを送信した日時におけるユーザU1の位置を推定する。
【0116】
〔4.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、推定部133とを有する。取得部131は、ユーザの行動履歴を示す履歴情報と、メッセンジャーアプリケーションにおけるユーザを含む複数ユーザ間でのメッセージを示すメッセージ情報とを取得する。推定部133は、取得部131により取得された履歴情報とメッセージ情報とに基づいて、メッセージに対応する時間におけるユーザの位置を推定する。
【0117】
このように、実施形態に係る情報処理装置100は、ユーザの行動履歴を示す履歴情報と、メッセンジャーアプリケーションにおけるユーザを含む複数ユーザ間でのメッセージを示すメッセージ情報との両方を用いて、メッセージに対応する時間におけるユーザの位置を推定することで、ユーザの位置を適切に推定することができる。
【0118】
また、実施形態に係る情報処理装置100において、推定部133は、メッセージの内容に基づいて、ユーザの位置を推定する。
【0119】
このように、実施形態に係る情報処理装置100は、メッセージの内容に基づいて、ユーザの位置を推定することで、ユーザの位置を適切に推定することができる。
【0120】
また、実施形態に係る情報処理装置100において、推定部133は、メッセージに関する時間におけるユーザの位置を推定する。
【0121】
このように、実施形態に係る情報処理装置100は、メッセージに関する時間におけるユーザの位置を推定することで、ユーザの位置を適切に推定することができる。
【0122】
また、実施形態に係る情報処理装置100において、取得部131は、ユーザから他のユーザを送信先として送信されたメッセージを示すメッセージ情報を取得する。
【0123】
このように、実施形態に係る情報処理装置100は、ユーザから他のユーザを送信先として送信されたメッセージを示すメッセージ情報を用いて、メッセージに対応する時間におけるユーザの位置を推定することで、ユーザの位置を適切に推定することができる。
【0124】
また、実施形態に係る情報処理装置100において、取得部131は、ユーザの位置履歴を示す履歴情報を取得する。
【0125】
このように、実施形態に係る情報処理装置100は、ユーザの位置履歴を示す履歴情報を用いて、メッセージに対応する時間におけるユーザの位置を推定することで、ユーザの位置を適切に推定することができる。
【0126】
また、実施形態に係る情報処理装置100において、推定部133は、位置履歴に位置が含まれない時間におけるユーザの位置を推定する。
【0127】
このように、実施形態に係る情報処理装置100は、位置履歴に位置が含まれない時間でのユーザの位置を推定することで、ユーザの位置を適切に推定することができる。これにより、情報処理装置100は、ユーザの位置が未取得の時間におけるユーザの位置を推定し、位置履歴を補完することができる。
【0128】
また、実施形態に係る情報処理装置100において、推定部133は、位置履歴に位置が含まれる第1時間と第2時間との間の第3時間におけるユーザの位置を推定する。
【0129】
このように、実施形態に係る情報処理装置100は、位置履歴に位置が含まれない2つの時間の間のユーザの位置を推定することで、ユーザの位置を適切に推定することができる。これにより、情報処理装置100は、ユーザの位置が未取得の時間におけるユーザの位置を推定し、位置履歴を補完することができる。
【0130】
また、実施形態に係る情報処理装置100において、推定部133は、位置履歴に位置が含まれる時間におけるユーザの位置を推定する。
【0131】
このように、実施形態に係る情報処理装置100は、位置履歴に位置が含まれる時間におけるユーザの位置を推定することで、ユーザの位置を適切に推定することができる。これにより、情報処理装置100は、ユーザの位置が取得済みの時間におけるユーザの位置を推定し、取得した位置が精度を検証することができる。
【0132】
また、実施形態に係る情報処理装置100において、推定部133は、位置履歴が示す時間におけるユーザの位置を変更する。
【0133】
このように、実施形態に係る情報処理装置100は、位置履歴が示す時間におけるユーザの位置を変更することで、ユーザの位置を適切に変更することができる。これにより、情報処理装置100は、取得済みのユーザの位置の精度が低い場合等に、適切に位置の修正を行うことができる。
【0134】
また、実施形態に係る情報処理装置100において、推定部133は、位置履歴が示す時間におけるユーザの位置を、メッセージにより詳細化する。
【0135】
このように、実施形態に係る情報処理装置100は、位置履歴が示す時間におけるユーザの位置をメッセージにより詳細化することで、ユーザの位置の詳細化を実現することができる。これにより、情報処理装置100は、取得済みのユーザの位置の精度を向上させることができる。
【0136】
また、実施形態に係る情報処理装置100において、推定部133は、履歴情報が示す第1位置を、メッセージの内容に基づいて第1位置よりも詳細な第2位置へ絞り込む。
【0137】
このように、実施形態に係る情報処理装置100は、履歴情報が示す第1位置を、メッセージの内容に基づいて詳細な第2位置へ絞り込むことで、ユーザの位置の詳細化を実現することができる。これにより、情報処理装置100は、取得済みのユーザの位置の精度を向上させることができる。
【0138】
また、実施形態に係る情報処理装置100において、取得部131は、文字情報を含むメッセージを示すメッセージ情報を取得する。推定部133は、文字情報に基づいて、ユーザの位置を推定する。
【0139】
このように、実施形態に係る情報処理装置100は、メッセージに含まれる文字情報に基づいて、ユーザの位置を推定することにより、ユーザの位置を適切に推定することができる。
【0140】
また、実施形態に係る情報処理装置100において、取得部131は、画像情報を含むメッセージを示すメッセージ情報を取得する。推定部133は、画像情報に基づいて、ユーザの位置を推定する。
【0141】
このように、実施形態に係る情報処理装置100は、メッセージに含まれる画像情報に基づいて、ユーザの位置を推定することにより、ユーザの位置を適切に推定することができる。
【0142】
また、実施形態に係る情報処理装置100において、取得部131は、ユーザを送信先として他のユーザから送信された他のメッセージを示す他のメッセージ情報を取得する。推定部133は、他のメッセージに基づいて、ユーザの位置を推定する。
【0143】
このように、実施形態に係る情報処理装置100は、ユーザを送信先として他のユーザから送信された他のメッセージに基づいて、ユーザの位置を推定することにより、ユーザの位置を適切に推定することができる。
【0144】
また、実施形態に係る情報処理装置100において、推定部133は、ユーザと他のユーザとの間でのメッセンジャーアプリケーションを介したやり取りの内容に基づいて、ユーザの位置を推定する。
【0145】
このように、実施形態に係る情報処理装置100は、ユーザ及び他のユーザの双方からのメッセージを基にユーザの位置を推定することにより、ユーザの位置を適切に推定することができる。
【0146】
また、実施形態に係る情報処理装置100において、推定部133は、ユーザから他のユーザを送信先として送信されたメッセージと、メッセージに対応する他のユーザの応答である他のメッセージとに基づいて、ユーザの位置を推定する。
【0147】
このように、実施形態に係る情報処理装置100は、ユーザからのメッセージ、及びそのメッセージへの他のユーザからの応答を基にユーザの位置を推定することにより、ユーザの位置を適切に推定することができる。
【0148】
また、実施形態に係る情報処理装置100は、提供部134を有する。提供部134は、推定部133により推定されたユーザの位置に関する情報を用いたサービスを提供する。
【0149】
このように、実施形態に係る情報処理装置100は、推定したユーザの位置に関する情報を用いたサービスを提供することにより、推定したユーザの位置を用いてサービスを提供することができる。
【0150】
また、実施形態に係る情報処理装置100において、提供部134は、推定部133により推定されたユーザの位置に関する情報を提供する。
【0151】
このように、実施形態に係る情報処理装置100は、推定したユーザの位置に関する情報を提供することにより、推定したユーザの位置に関する情報を提供することができる。
【0152】
〔5.ハードウェア構成〕
上述してきた実施形態に係る情報処理装置100は、例えば図10に示すような構成のコンピュータ1000によって実現される。図10は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0153】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0154】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
【0155】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0156】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0157】
例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0158】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0159】
〔6.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0160】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0161】
また、上述してきた各実施形態に記載された各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0162】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【0163】
1 情報処理システム
100 情報処理装置
121 ユーザ情報記憶部
122 メッセージ情報記憶部
123 位置情報記憶部
124 推定位置情報記憶部
130 制御部
131 取得部
132 決定部
133 推定部
134 提供部
10 端末装置
20 サービス提供装置
N ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10