(57)【要約】【課題】滞在場所の予測精度が向上可能な滞在場所予測装置を提供する。【解決手段】サーバ１０は、ユーザが滞在する場所である滞在場所の候補ごとに、ユーザが滞在する割合である滞在割合を記憶する特徴量記憶部１７と、ユーザが乗換検索アプリを起動したことを検出する検出部１８と、特徴量記憶部１７に記憶された滞在割合を用いて、候補ごとにユーザが候補に今後滞在する確率である滞在確率を算出する算出部２２と、算出部２２により算出された滞在確率に基づいて、ユーザが滞在する滞在場所を予測する予測部２３と、予測部２３により予測された滞在場所を出力する出力部２４と、を備える。算出部２２は、検出部１８の検出結果に応じて、滞在割合が低い候補ほど高い値となる係数を用いて滞在確率に重み付けする重み付け処理を行う。【選択図】図１
2017091435.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが滞在する場所である滞在場所の候補ごとに、前記ユーザが滞在する割合である滞在割合を記憶する記憶部と、
前記ユーザが交通又は地図に関する情報を取得したことを検出する検出部と、
前記記憶部に記憶された前記滞在割合を用いて、前記候補ごとに前記ユーザが前記候補に今後滞在する確率である滞在確率を算出する算出部と、
前記算出部により算出された前記滞在確率に基づいて、前記ユーザが滞在する前記滞在場所を予測する予測部と、
前記予測部により予測された前記滞在場所を出力する出力部と、
を備え、
前記算出部は、前記検出部の検出結果に応じて、前記滞在割合が低い前記候補ほど高い値となる係数を用いて前記滞在確率に重み付けする重み付け処理を行う、滞在場所予測装置。
【請求項２】
前記算出部は、前記ユーザが予め設定された第１期間に交通又は地図に関する情報を取得した回数に応じて、前記重み付け処理を行う、請求項１に記載の滞在場所予測装置。
【請求項３】
前記記憶部は、前記候補及び時間帯ごとに、前記滞在割合を記憶し、
前記算出部は、前記候補ごとに、前記算出部による前記滞在確率の算出の対象となる時間帯と同じ時間帯の前記滞在割合を用いて前記滞在確率を算出する、請求項１又は２に記載の滞在場所予測装置。
【請求項４】
前記ユーザの第１位置を示す第１位置情報を取得する第１位置情報取得部を更に備え、
前記記憶部は、前記候補ごとに、ユーザが当該候補から他の前記候補のそれぞれに移動する割合である候補間移動割合を記憶し、
前記算出部は、前記ユーザが前記第１位置に応じた前記候補から他の前記候補のそれぞれに移動する割合である前記候補間移動割合を用いて、前記滞在確率を算出する、請求項１〜３のいずれか一項に記載の滞在場所予測装置。
【請求項５】
前記ユーザの複数の第２位置を示す複数の第２位置情報を取得する第２位置情報取得部と、
前記第２位置情報取得部により取得された前記複数の第２位置情報に対応する前記複数の第２位置が所定範囲内に含まれる場合、前記複数の第２位置の代表位置を抽出する抽出部と、
を更に備え、
前記候補は、前記抽出部により抽出された前記代表位置に基づき設定される、請求項１〜４のいずれか一項に記載の滞在場所予測装置。
【請求項６】
前記候補は、前記ユーザが複数の前記代表位置のそれぞれに滞在した時刻に基づき、予め設定された所定数設定される、請求項５に記載の滞在場所予測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの滞在場所を予測する滞在場所予測装置に関する。
【背景技術】
【０００２】
携帯端末のユーザにコンテンツを提供する情報配信サービスでは、ユーザが滞在する場所である滞在場所を予測することで、ユーザにとってより適したコンテンツの提供が可能となる。特許文献１には、ユーザの行動を予測する行動予測装置が記載されている。この行動予測装置は、携帯端末の位置を示す位置データの履歴を取得し、この位置データの履歴を利用することにより、ユーザの今後の滞在場所を推測する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９８２９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のように位置データの履歴を利用する手法では、ユーザがよく滞在する場所への定常的な移動が予測され易く、ユーザがあまり滞在しない場所への非定常的な移動は予測され難い。このため、滞在場所の予測精度が向上しなかった。
【０００５】
本発明は、滞在場所の予測精度が向上可能な滞在場所予測装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明に係る滞在場所予測装置は、ユーザが滞在する場所である滞在場所の候補ごとに、ユーザが滞在する割合である滞在割合を記憶する記憶部と、ユーザが交通又は地図に関する情報を取得したことを検出する検出部と、記憶部に記憶された滞在割合を用いて、候補ごとにユーザが候補に今後滞在する確率である滞在確率を算出する算出部と、算出部により算出された滞在確率に基づいて、ユーザが滞在する滞在場所を予測する予測部と、予測部により予測された滞在場所を出力する出力部と、を備え、算出部は、検出部の検出結果に応じて、滞在割合が低い候補ほど高い値となる係数を用いて滞在確率に重み付けする重み付け処理を行う。
【０００７】
本発明に係る滞在場所予測装置は、ユーザが交通又は地図に関する情報を取得したことを検出する。ユーザは、滞在割合の低い場所に行くときほど、交通又は地図に関する情報を取得するという傾向がある。このため、滞在場所予測装置は、ユーザが滞在する確率である滞在確率を候補ごとに算出する際に、検出部の検出結果に応じて、滞在割合が低い候補ほど高い値となる係数を用いて滞在確率を算出する重み付け処理を行う。これにより、ユーザの定常的な移動だけでなく非定常的な移動も予測され易くなる。この結果、滞在場所の予測精度が向上可能となる。
【０００８】
算出部は、ユーザが予め設定された第１期間に交通又は地図に関する情報を取得した回数に応じて、重み付け処理を行ってもよい。定常的に交通又は地図に関する情報を取得するユーザは、滞在割合の高い場所に行くときでも、交通又は地図に関する情報を取得する可能性が高い。この構成によれば、定常的に交通又は地図に関する情報を取得するユーザには、重み付け処理を行わないので、このようなユーザに対する滞在場所の予測精度が低下することを抑制可能となる。
【０００９】
記憶部は、候補及び時間帯ごとに、滞在割合を記憶し、算出部は、候補ごとに、算出部による滞在確率の算出の対象となる時間帯と同じ時間帯の滞在割合を用いて滞在確率を算出してもよい。この構成によれば、候補及び時間帯ごとの滞在割合を用いて滞在場所を予測するので、予測精度が更に向上可能となる。
【００１０】
本発明に係る滞在場所予測装置は、ユーザの第１位置を示す第１位置情報を取得する第１位置情報取得部を更に備え、記憶部は、候補ごとに、ユーザが当該候補から他の候補のそれぞれに移動する割合である候補間移動割合を記憶し、算出部は、ユーザが第１位置に応じた候補から他の候補のそれぞれに移動する割合である候補間移動割合を用いて、滞在確率を算出してもよい。この構成によれば、ユーザが滞在場所の候補から候補のそれぞれに移動する割合である候補間移動割合を用いて滞在場所を予測するので、予測精度が更に向上可能となる。
【００１１】
ユーザの複数の第２位置を示す複数の第２位置情報を取得する第２位置情報取得部と、第２位置情報取得部により取得された複数の第２位置情報に対応する複数の第２位置が所定範囲内に含まれる場合、複数の第２位置の代表位置を抽出する抽出部と、を更に備え、候補は、抽出部により抽出された代表位置に基づき設定されてもよい。この構成によれば、複数の位置から代表位置を抽出するので、例えば、複数の互いに近接する位置を１つの代表位置で示して、候補として用いることができる。これにより、候補を所望の距離範囲で設定することができるので、所望の距離範囲での予測精度が更に向上可能となる。
【００１２】
前記候補は、前記ユーザが複数の前記代表位置のそれぞれに滞在した時刻に基づき、予め設定された所定数設定されてもよい。この構成によれば、例えば、ユーザが以前よく滞在していた場所と、ユーザが最近よく滞在する場所とが異なるような場合でも、ユーザが代表位置に滞在した時刻に基づき、候補が所定数設定されるので、ユーザの行動パターンの変化に合わせて候補を設定することができる。よって、予測精度が更に向上可能となる。
【発明の効果】
【００１３】
本発明では、滞在場所の予測精度が向上可能である。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係るサーバのブロック図である。
【図２】サーバのハードウェア構成を示す図である。
【図３】滞留点及び候補を抽出する処理を示すフローチャートである。
【図４】滞留点及び候補を抽出する処理を説明するための図である。
【図５】特徴量を生成する処理を示すフローチャートである。
【図６】特徴量記憶部に記憶されるデータの構造図である。
【図７】定常性を判定する処理を示すフローチャートである。
【図８】滞在場所を予測する処理を示すフローチャートである。
【図９】各特徴量の具体例を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面と共に本発明に係る滞在場所予測装置の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００１６】
図１は、実施形態に係るサーバのブロック図である。サーバ１０（滞在場所予測装置）は、端末３０のユーザが滞在する場所である滞在場所を予測するための装置である。情報配信サービスにおいては、ユーザがいつどこにいるかを予測することで、ユーザの状況により適したコンテンツを提供することができる。例えば、サーバ１０がユーザの行先を予測し、その行先に応じた交通情報を予め端末３０に配信することができれば、ユーザは止まっている電車を避けて迂回するといったことが可能となる。
【００１７】
サーバ１０と端末３０とは、ネットワークを介して互いに情報の送受信を行うことができる。このネットワークは、例えば、移動体通信網あるいはインターネットを含んで構成されている。
【００１８】
端末３０は、ユーザが所持する携帯電話機のような持ち運び可能な電子機器である。端末３０は、携帯電話機以外でもよく、例えば、スマートフォン、タブレット型コンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）等でもよい。
【００１９】
端末３０は、測位機能を有しており、端末３０の位置を測位することができる。この測位機能は、例えば、ＧＰＳ受信機を用いる等、周知技術により実現する。端末３０は、予め端末３０で定められた測位周期（例えば、数分）で測位を実行する。端末３０は、測位を実行すると、測位した結果の情報である測位ログを生成する。具体的には、端末３０は、上記測位ログを識別する情報である測位点ＩＤと、この測位により得られた端末３０の位置を示す情報（例えば、緯度経度）と、端末３０が予め記憶している当該端末３０のユーザを識別する情報であるユーザＩＤと、測位した時刻である測位時刻と、を含む測位ログを生成する。端末３０は、生成した測位ログをサーバ１０へ送信する。端末３０は、測位ログを生成する毎に測位ログをサーバ１０へ送信するようにしてもよいし、予め定められた期間経過後にまとめてサーバ１０へ送信するようにしてもよい。
【００２０】
端末３０は、交通又は地図に関する情報を取得する機能を有している。端末３０は、例えば、ユーザの入力操作に応じて、電車及びバス等による移動経路を検索するアプリ（アプリケーション）である乗換検索アプリ、渋滞情報及び地図を表示するアプリ、並びにインターネットを用いた検索により、交通又は地図に関する情報を取得する。端末３０は、例えば、乗換検索アプリを起動すると、起動した結果の情報である起動ログを生成する。具体的には、端末３０は、上記起動ログを識別する情報である起動ＩＤと、端末３０が予め記憶している当該端末３０のユーザを識別する情報であるユーザＩＤと、起動した時刻である起動時刻と、を含む起動ログを生成する。また、端末３０は、例えば、渋滞情報及び地図を表示するアプリを起動した場合に起動ログを生成するようにしてもよいし、インターネットで地名を含む検索語による検索を行った場合に起動ログを生成するようにしてもよい。端末３０は、生成した起動ログをサーバ１０へ送信する。端末３０は、起動ログを生成する毎に起動ログをサーバ１０へ送信するようにしてもよいし、予め定められた期間経過後にまとめてサーバ１０へ送信するようにしてもよい。
【００２１】
サーバ１０は、位置情報取得部（第１位置情報取得部、第２位置情報取得部）１１と、測位ログ記憶部１２と、抽出部１３と、滞留ログ記憶部１４と、候補記憶部１５と、生成部１６と、特徴量記憶部（記憶部）１７と、検出部１８と、起動ログ記憶部１９と、判定部２０と、定常性記憶部２１と、算出部２２と、予測部２３と、出力部２４と、を備えている。
【００２２】
図２は、サーバのハードウェア構成を示す図である。図２に示されるように、サーバ１０は、ＣＰＵ１０１、主記憶装置であるＲＡＭ（Random Access Memory）１０２及びＲＯＭ（Read OnlyMemory）１０３、通信を行うための通信モジュール１０４、並びにハードディスク等の補助記憶装置等のハードウェア１０５を備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、図１に示されるサーバ１０の各機能要素による機能が発揮される。なお、サーバ１０は複数台のコンピュータによるコンピュータシステムによって構成されていてもよい。以下、図１に示される各機能要素について説明する。
【００２３】
位置情報取得部１１は、ユーザの位置（第１位置、第２位置）を示す位置情報（第１位置情報、第２位置情報）として、端末３０から測位ログを受信することにより、測位ログを取得する部分である。位置情報取得部１１は、測位ログを取得すると、当該測位ログを測位ログ記憶部１２へ登録する。
【００２４】
測位ログ記憶部１２は、測位ログを記憶するデータベースである。測位ログ記憶部１２は、測位点ＩＤと、端末３０が測位した位置を示す情報（例えば、緯度経度）と、ユーザＩＤと、測位時刻とを対応付けて記憶する。
【００２５】
抽出部１３は、測位ログ記憶部１２によって記憶された複数の測位ログのうち、予め設定された所定期間に対応する複数の測位ログ（第２位置情報）に基づき、ユーザの滞在場所の候補（以下、単に候補）を抽出（設定）する部分である。具体的には、抽出部１３は、ユーザの滞留点を抽出する処理、及び候補を抽出する処理を行う部分である。抽出部１３は、予め定められたタイミングで（例えば、数日間ごとに）滞留点及び候補を抽出する。抽出部１３は、例えば、自宅、職場、及び特定の客先等のユーザがよく滞在する場所を候補として抽出する。上記所定期間は、例えば、最新の測位ログの測位時刻から遡ってＮ日間（例えば、数日間）とされる。
【００２６】
ここで、ユーザの滞留とは、ユーザがある程度狭い領域に留まっていることである。即ち、ユーザの滞留とは、ユーザが所定時間以上、所定領域内に連続して位置していることである。また、ユーザの滞留点とは、ユーザが滞留した場合に、ユーザが位置していた領域、又は当該領域を代表する位置（代表位置）である。この代表位置は、例えば、当該領域内でユーザが位置していた複数の位置の重心位置である。
【００２７】
抽出部１３は、まず、ユーザの滞留点を抽出する。具体的には、抽出部１３は、上記所定期間に対応する複数の測位ログ（第２位置情報）を参照し、複数の位置が連続して所定時間（例えば、数時間）以上、所定の狭い領域内に含まれる場合に、当該複数の位置に基づく滞留点を抽出する。抽出部１３は、滞留点の抽出結果として滞留ログを生成し、滞留ログを滞留ログ記憶部１４に記憶させる。抽出部１３が滞留点を抽出する処理の詳細は、フローチャートを参照して、後述する。
【００２８】
抽出部１３は、続いて、候補を抽出する。具体的には、抽出部１３は、複数の滞留点から、空間的に近い滞留点をクラスタリングし、上記所定期間のうちによく滞在した場所として、候補を抽出する。即ち、抽出部１３は、互いに近い範囲に位置する滞留点の集合である滞留点クラスタを生成し、当該滞留点クラスタに含まれる滞留点に基づく代表位置を候補として抽出する。候補は、例えば、当該滞留点クラスタに含まれる滞留点の位置の重心位置である。抽出部１３は、抽出した候補を候補記憶部１５に記憶させる。抽出部１３が候補を抽出する処理の詳細は、フローチャートを参照して、後述する。
【００２９】
滞留ログ記憶部１４は、滞留ログを記憶するデータベースである。滞留ログ記憶部１４は、例えば、抽出部１３によって生成され、滞留ログを識別する情報である滞留点ＩＤと、滞留点に対応する測位ログに含まれるユーザＩＤと、滞留点の位置を示す情報（例えば、緯度経度）と、滞留開始時刻（滞留点に対応する測位ログのうち、最先の測位時刻）を示す情報と、滞留終了時刻（滞留点に対応する測位ログのうち、最後の測位時刻）を示す情報と、滞留点に対応する測位点ＩＤとを対応付けて記憶する。
【００３０】
候補記憶部１５は、候補を記憶するデータベースである。候補記憶部１５は、抽出部１３により生成され、候補を識別する情報である候補ＩＤと、候補が代表位置となる滞留点の滞留ログに含まれるユーザＩＤと、候補の位置を示す情報（例えば、緯度経度）と、候補が代表位置となる滞留点の滞留点ＩＤとを対応付けて記憶する。
【００３１】
生成部１６は、候補記憶部１５に記憶された候補ごとに、ユーザの滞在行動の特徴を示す特徴量を生成する部分である。特徴量には、例えば、候補間移動割合、曜日別滞在割合、時間帯別滞在割合、及び滞在割合が含まれる。生成部１６は、予め定められたタイミングで特徴量を生成する。生成部１６は、例えば、抽出部１３から、候補の登録が完了した旨の通知を受け取ると、特徴量を生成する。生成部１６が特徴量を生成する処理の詳細は、フローチャートを参照して、後述する。
【００３２】
候補間移動割合は、ユーザが候補から候補に移動する回数的な割合である。例えば、候補ｉから候補ｊに移動する候補間移動割合は、（所定期間に候補ｉから候補ｊに移動した回数）／（所定期間に候補ｉに滞在した回数）によって求められる。なお、自宅からランニングして自宅に戻るような場合は、自宅に対応する候補間の移動（例えば、候補ｉから候補ｉへの移動）となる。
【００３３】
曜日別滞在割合は、ユーザがある候補に滞在する回数的又は時間的な滞在割合を曜日別に示す割合である。ここで、ユーザの滞在とは、ユーザの滞留と同義である。曜日別滞在割合を、例えば、回数的な割合とする場合、曜日ｍに候補ｉに滞在する滞在割合は、（所定期間の曜日ｍに候補ｉに滞在した回数）／（所定期間の曜日ｍに各候補に滞在した回数の総和）によって求められる。曜日別滞在割合を、例えば、時間的な割合とする場合、曜日ｍに候補ｉに滞在する滞在割合は、（所定期間の曜日ｍに候補ｉに滞在した時間）／（所定期間の曜日ｍに各候補に滞在した時間の総和）によって求められる。
【００３４】
時間帯別滞在割合は、ユーザがある候補に滞在する回数的又は時間的な滞在割合を時間帯別に示す割合である。時間帯とは、１日における時間帯であって、例えば、１時間ごとの時間帯、午前及び午後の時間帯等である。即ち、ここでいう時間帯の長さは、１日よりも短い。時間帯別滞在割合を、例えば、回数的な割合とする場合、時間帯ｔに候補ｉに滞在する滞在割合は、（所定期間の時間帯ｔに候補ｉに滞在した回数）／（所定期間の時間帯ｔに各候補に滞在した回数の総和）によって求められる。時間帯別滞在割合を、例えば、時間的な割合とする場合、時間帯ｔに候補ｉに滞在する滞在割合は、（所定期間の時間帯ｔに候補ｉに滞在した時間）／（所定期間の時間帯ｔに各候補に滞在した時間の総和）によって求められる。
【００３５】
滞在割合は、ユーザがある候補に滞在する日数的な割合（滞在日数割合）である。候補ｉの滞在割合は、（所定期間に候補ｉに滞在した日数）／（所定期間の日数）によって求められる。所定期間に候補ｉに滞在した日数をカウントする際、例えば、同じ日にユーザが候補ｉに複数回滞在した場合と、１回だけ滞在した場合とを、同様に１日とカウントする。
【００３６】
特徴量記憶部１７は、図６（Ａ）に示されるように、例えば、滞留ログに含まれるユーザＩＤ並びに、候補間移動の始点及び終点のそれぞれの候補ＩＤごとに、候補間移動割合を記憶する。また、特徴量記憶部１７は、図６（Ｂ）に示されるように、例えば、滞留ログに含まれるユーザＩＤ、候補ＩＤ及び曜日（時間帯）ごとに、曜日別滞在割合を記憶する。また、特徴量記憶部１７は、図６（Ｃ）に示されるように、例えば、滞留ログに含まれるユーザＩＤ、候補ＩＤ及び時間帯ごとに、時間帯別滞在割合を記憶する。また、特徴量記憶部１７は、図６（Ｄ）に示されるように、例えば、滞留ログに含まれるユーザＩＤ及び候補ＩＤごとに、滞在割合を記憶する。
【００３７】
検出部１８は、ユーザが交通又は地図に関する情報を取得したことを示す情報として端末３０から起動ログを受信し、ユーザが交通又は地図に関する情報を取得したことを検出する部分である。検出部１８は、受信した起動ログを起動ログ記憶部１９へ登録する。
【００３８】
起動ログ記憶部１９は、起動ログを記憶するデータベースである。起動ログ記憶部１９は、起動ＩＤと、ユーザＩＤと、起動時刻と、を対応づけて記憶する。
【００３９】
判定部２０は、端末３０のユーザが交通又は地図に関する情報を定常的に取得しているか否かを判定（定常性を判定）する部分である。具体的には、判定部２０は、起動ログ記憶部１９によって記憶された複数の起動ログを参照し、予め設定された所定期間（第１期間）に、端末３０のユーザが乗換検索アプリを起動した回数をカウントし、この回数に応じて定常性を判定する。判定部２０は、判定結果を定常性記憶部２１に記憶させる。判定部２０は、予め定められたタイミングで定常性を判定する。判定部２０は、例えば、生成部１６から、特徴量を生成する処理が完了した旨の通知を受け取ると、定常性を判定する。判定部２０が定常性を判定する処理の詳細は、フローチャートを参照して、後述する。
【００４０】
定常性記憶部２１は、定常性を記憶するデータベースである。定常性記憶部２１は、ユーザＩＤと、判定結果とを対応付けて記憶する。具体的には、判定部２０により、ユーザが乗換検索アプリを定常的に利用していない（定常性なし）と判定された場合、定常性記憶部２１は、定常性フラグを「０」として記憶する。判定部２０により、ユーザが乗換検索アプリを定常的に利用している（定常性あり）と判定された場合、定常性記憶部２１は、定常性フラグを「１」として記憶する。
【００４１】
算出部２２は、ユーザが候補に今後滞在する確率である滞在確率を候補ごとに算出する部分である。具体的には、算出部２２は、特徴量記憶部１７に記憶された候補間移動割合、曜日別滞在割合、時間帯別滞在割合、及び滞在割合と、位置情報取得部１１により取得された測位ログのうち測位時刻が最新の測位ログ（第１位置情報）と、定常性記憶部２１に記憶された定常性フラグの値に基づき、ユーザの今後の滞在確率として、ユーザの所定時間（例えば、１時間）後の滞在確率を候補ごとに算出する部分である。算出部２２は、検出部１８の検出結果に応じて、候補ごとの滞在確率に、滞在割合が低い候補ほど高い値となる係数（例えば、候補ごとの滞在割合の逆数、及び（１−滞在割合）の指数乗等）を掛けて重み付けする重み付け処理を行う。算出部２２は、例えば、１時間ごとに、全ユーザに対して、滞在確率を算出する。算出部２２は、滞在確率の算出結果を予測部２３に出力する。算出部２２は、予め定められたタイミングで滞在確率を算出する処理を行う。算出部２２が滞在確率を算出する処理の詳細は、フローチャートを参照して、後述する。
【００４２】
予測部２３は、算出部２２により算出された滞在確率を入力し、当該滞在確率に基づいて、ユーザの今後の滞在場所を予測する部分である。予測部２３は、予測結果を出力部２４に出力する。予測部２３がユーザの今後の滞在場所を予測する処理の詳細は、フローチャートを参照して、後述する。
【００４３】
出力部２４は、予測部２３から予測結果を入力し、当該予測結果を出力する部分である。即ち、出力部２４は、予測部２３により予測された滞在場所を出力する部分である。具体的には、出力部２４は、ユーザＩＤと対応づけて、予測された滞在場所を所定の記憶部（不図示）へ登録することにより、予測結果を出力する。このように、出力部２４が、ユーザＩＤと、予測された滞在場所とを対応づけた情報を登録するので、サーバ１０は、当該情報を用いてユーザの状況により適したコンテンツを端末３０に提供することができる。
【００４４】
図３及び図４を参照して、抽出部１３が滞留点及び候補を抽出する処理について説明する。図３は、滞留点及び候補を抽出する処理を示すフローチャートである。図４は、滞留点及び候補を抽出する処理を説明するための図である。図３に示されるように、まず、抽出部１３は、上述の予め定められたタイミングで測位ログ記憶部１２からユーザ及び日にちごとに測位ログを取得する（ステップＳ１１）。続いて、抽出部１３は、取得した測位ログに基づいて滞留点を抽出する（ステップＳ１２）。
【００４５】
具体的には、抽出部１３は、取得した測位ログについて、測位時刻が古い順に滞留点の判断を行う。まず、抽出部１３は、測位時刻が最も古い測位ログに示される位置を滞留点の判断の基準位置とする。抽出部１３は、測位時刻が次の測位ログに示される位置と当該基準位置とを比較する。抽出部１３は、それらの位置の間の距離が、予め設定された滞留点判断用の距離閾値よりも小さいか否かを判断する。抽出部１３は、当該距離が距離閾値よりも小さいと判断したら、更に次の測位ログに示される位置と当該基準位置とを比較して、上記と同様の距離閾値に基づく判断を行う。抽出部１３は、距離が距離閾値よりも小さくなくなる（距離が距離閾値以上となる）まで順次判断を行う。
【００４６】
抽出部１３は、距離が距離閾値よりも小さくなくなる１つ前の測位ログに係る測位時刻と、基準位置の測位ログに係る測位時刻とを比較する。抽出部１３は、それらの測位時刻の間の時間差が、予め設定された滞留点判断用の時間閾値よりも大きいか否かを判断する。抽出部１３は、当該時間差が時間閾値よりも大きいと判断したら、それらの測位ログ（基準位置の測位ログから距離が距離閾値よりも大きくなる１つ前の測位ログまでの測位ログ）を、滞留点を構成する測位ログ（滞留点に対応する測位ログ）であると判断する。即ち、この場合、抽出部１３は、滞留点を抽出できると判断する。抽出部１３は、当該時間差が時間閾値よりも大きくないと判断したら、それらの測位ログ（基準位置の測位ログから距離が距離閾値よりも大きくなる１つ前の測位ログまでの測位ログ）を、滞留点を構成する測位ログではないと判断する。即ち、この場合、抽出部１３は、滞留点を抽出できないと判断する。
【００４７】
また、抽出部１３は、距離が距離閾値よりも小さくなくなった測位ログに示される位置を新たな滞留点の判断の基準位置とし、上記と同様の判断を行う。このように、基準位置から距離閾値までの領域に、時間閾値を超える時間、ユーザが位置していれば滞留点があると判断される。なお、この距離閾値及び時間閾値は、滞留点の抽出の目的等に応じて適宜設定される。なお、滞留点の判断のための領域は、上記のような基準位置に基づく円形の領域でもよいし、基準位置に基づく矩形（メッシュ）の領域でもよい。
【００４８】
抽出部１３は、滞留点を構成するとされた測位ログから、滞留点の位置（緯度経度）を算出する。滞留点の位置は、例えば、滞留点を構成するとされた測位ログによって示される位置の重心（位置の平均）とすることができる。なお、滞留点の位置は、本方法以外で算出されてもよい。抽出部１３は、日にち毎に測位ログ記憶部１２から測位ログを取得し、上記の滞留点の位置の算出を日にち毎に行う。
【００４９】
図４（Ａ）は、２つの滞留点を抽出（算出）した例である。抽出部１３は、滞留点Ｐ１及び滞留点Ｐ２を抽出し、周囲に測位点（測位ログの緯度経度）が密集していない測位点ｐ１〜ｐ９については、滞留点として抽出しない（滞留点を抽出できないと判断する）。また、抽出部１３は、Ｎ日分の滞留点を抽出する。抽出部１３は、滞留点を抽出する（滞留点を構成する測位ログであると判断する）と、滞留点の抽出結果として滞留ログを生成する。具体的には、抽出部１３は、滞留点に対応する測位ログに含まれるユーザＩＤと、当該滞留点を示す位置の緯度、経度、当該滞留点に対応する測位ログのＩＤ（測位点ＩＤ）、当該測位ログの最先の測位時刻、当該測位ログの最後の測位時刻を特定し、これらを含む滞留ログを生成する。
【００５０】
抽出部１３は、上記所定期間に対応するＮ日分の測位ログに基づき、上述のように滞留点を抽出すると、滞留ログを滞留ログ記憶部１４へ登録する。
【００５１】
なお、抽出部１３は、他の方法により、滞留点を抽出するようにしてもよい。例えば、測位ログの位置、時刻に基づいて、周知技術（例えば、西田京介, 戸田浩之, 倉島健, 内山匡, 確率的訪問POI 分析: 時空間行動軌跡からのユーザモデリング," マルチメディア、分散、協調とモバイル(DICOMO2013)シンポジウム, 2C-6, pp. 334-345, 2013.）である時空間ミーンシフトクラスタリングアルゴリズムを用いて滞留点を抽出してもよい。
【００５２】
続いて、抽出部１３は、候補を抽出する（ステップＳ１３）。具体的には、抽出部１３は、上述のように、日にち毎に測位ログを取得し、当該測位ログから滞留点を抽出し、Ｎ日分の滞留点を抽出した後に、滞留点に基づき滞留点クラスタを生成する。この滞留点クラスタは、互いに近い範囲に位置する滞留点の集合である。例えば、抽出部１３は、図４（Ｂ）に示すように、滞留点Ｐ１〜Ｐ９がある場合、公知技術のミーンシフトにより滞留点クラスタを生成する。抽出部１３は、例えば、ユーザＩＤ毎に上記滞留点クラスタを生成する。
【００５３】
抽出部１３は、予め設定されているミーンシフトのカーネル幅（距離に基づいた幅）に基づいて、滞留点クラスタを生成する。抽出部１３は、例えば、Ｎ日分全ての滞留点を、当該滞留点の緯度経度に基づいてクラスタ化する。例えば、図４（Ｂ）に示すように、滞留点Ｐ１〜Ｐ９がある場合、滞留点Ｐ１、滞留点Ｐ４、及び滞留点Ｐ５が密集している（滞留点Ｐ１からカーネル幅内に滞留点Ｐ４、滞留点Ｐ５が含まれる）ので、抽出部１３は、滞留点クラスタＣ１を抽出する。同様に、抽出部１３は、各滞留点クラスタ（滞留点クラスタＣ２〜Ｃ５）を抽出する。
【００５４】
このように、抽出部１３は、互いに距離的に近い滞留点をクラスタリングして滞留点クラスタ（Ｎ日間のうちによく滞在した場所）を抽出する。抽出部１３は、滞留点クラスタを構成するとされた滞留点から、滞留点クラスタの代表位置（緯度経度）を候補として算出する。候補の位置は、例えば、滞留点クラスタを構成するとされた滞留点の位置の重心位置（位置の平均）とすることができる。なお、滞留点クラスタの代表位置は、本方法以外で算出されてもよい。
【００５５】
抽出部１３は、候補を抽出すると、候補を抽出した結果に基づく情報を候補記憶部１５に記憶させる（ステップＳ１４）。抽出部１３は、候補記憶部１５にこれらの情報を全ユーザ分登録し終えたら、生成部１６へ候補の登録が完了した旨を通知する。
【００５６】
図５及び図６を参照して、生成部１６が特徴量を生成する処理について説明する。図５は、特徴量を生成する処理を示すフローチャートである。図６は、特徴量を示すデータ構造図である。図６に示されるように、生成部１６は、抽出部１３から候補の登録が完了した旨の通知を受け取ると、候補記憶部１５からユーザごとに候補ＩＤと、候補ＩＤに対応する滞留点ＩＤとを取得する（ステップＳ２１）。続いて、生成部１６は、滞留ログ記憶部１４からユーザごとに滞留ログを取得する（ステップＳ２２）。
【００５７】
続いて、生成部１６は、候補間移動割合を算出する（ステップＳ２３）。具体的には、生成部１６は、滞留開始時刻又は滞留終了時刻が１番目に古い滞留ログに対応する候補ＩＤを特定する。続いて、生成部１６は、２番目に古い滞留ログに対応する候補ＩＤを特定し、１番目に古い滞留ログに対応する候補ＩＤを始点とし、２番目に古い滞留ログに対応する候補ＩＤを終点とする候補間移動を検出する。続いて、生成部１６は、３番目に古い滞留ログに対応する候補ＩＤを特定し、２番目に古い滞留ログに対応する候補ＩＤを始点とし、３番目に古い滞留ログに対応する候補ＩＤを終点とする候補間移動を検出する。生成部１６は、順次４番目以降の古い滞留ログに対応する候補ＩＤを特定し、候補間移動を検出する処理を繰り返す。生成部１６は、このようにして検出した候補間移動の数を、始点の候補ＩＤ及び終点の候補ＩＤの組み合わせごとにカウントし、候補間移動割合を算出する。生成部１６は、全ユーザ分の候補間移動割合を算出する。
【００５８】
続いて、生成部１６は、曜日別滞在割合を算出する（ステップＳ２５）。具体的には、生成部１６は、候補間移動割合を算出する際に、滞留ログごとに対応する候補ＩＤを特定した結果を利用し、滞留開始時刻又は滞留終了時刻により示される曜日ごとに滞留ログに対応すると特定された回数を、曜日別滞在回数として候補ＩＤごとにカウントする。生成部１６は、全候補ＩＤの曜日別滞在回数をカウントすると、候補ＩＤごとに曜日別滞在割合を算出する。生成部１６は、全ユーザ分、曜日別滞在割合を算出する。
【００５９】
続いて、生成部１６は、時間帯別滞在割合を算出する（ステップＳ２６）。具体的には、生成部１６は、候補間移動割合を算出する際に、滞留ログごとに対応する候補ＩＤを特定した結果を利用し、滞留開始時刻又は滞留終了時刻により示される時間帯ごとに滞留ログに対応すると特定された回数を、時間帯別滞在回数として候補ＩＤごとにカウントする。生成部１６は、全候補ＩＤの時間帯別滞在回数をカウントすると、候補ＩＤごとに時間帯別滞在割合を算出する。生成部１６は、全ユーザ分、時間帯別滞在割合を算出する。
【００６０】
続いて、生成部１６は、滞在割合を算出する（ステップＳ２４）。具体的には、生成部１６は、候補間移動割合を算出する際に、滞留ログごとに対応する候補ＩＤを特定した結果を利用し、滞留ログに対応すると特定された日数を、滞在日数として候補ＩＤごとにカウントする。生成部１６は、全候補ＩＤの滞在日数をカウントすると、候補ＩＤごとに滞在割合を算出する。生成部１６は、全ユーザ分の滞在割合を算出する。
【００６１】
生成部１６は、以上のように算出して生成した候補間移動割合、曜日別滞在割合、時間帯別滞在割合、及び滞在割合を特徴量として特徴量記憶部１７に登録する（ステップＳ２７）。生成部１６は、特徴量を全ユーザ分登録し終えたら、判定部２０へ特徴量の登録が完了した旨を通知する。
【００６２】
図７を参照して、判定部２０が定常性を判定する処理について説明する。図７は、定常性を判定する処理を示すフローチャートである。図７に示されるように、判定部２０は、生成部１６から特徴量の登録が完了した旨の通知を受け取ると、起動ログ記憶部１９からユーザごとに、所定期間分（例えば、数日）の起動ログを取得する（ステップＳ３１）。続いて、判定部２０は、取得した起動ログを参照し、乗換検索アプリの起動回数をカウントし、所定単位期間（例えば、１日間）あたりの平均起動回数を算出する（ステップＳ３２）。
【００６３】
次に、判定部２０は、所定期間における乗換検索アプリの平均起動回数が予め定められた所定回数（Ｍ回）以上であるか否かを判定する（ステップＳ３３）。所定期間における乗換検索アプリの平均起動回数が予め設定された所定回数未満である場合（ステップＳ３３でＮｏである場合）、判定部２０は、定常性なしと判定し（ステップＳ３４）、判定結果を定常性記憶部２１に記憶させて保存する（ステップＳ３５）。具体的には、定常性記憶部２１は、ユーザＩＤに対応する定常性フラグを「０」として記憶する。
【００６４】
所定期間における乗換検索アプリの平均起動回数が所定数以上である場合（ステップＳ３３でＹｅｓである場合）、判定部２０は、定常性ありと判定し（ステップＳ３６）、判定結果を定常性記憶部２１に記憶させて保存する（ステップＳ３７）。具体的には、定常性記憶部２１は、ユーザＩＤに対応する定常性フラグを「１」として記憶する。
【００６５】
ステップＳ３５又はステップＳ３７に続いて、判定部２０は、全ユーザ分の定常性を判定し終えたか否かを判定する（ステップＳ３８）。全ユーザ分の定常性を判定し終えていない場合（ステップＳ３８でＮｏの場合）、判定部２０は、ステップＳ３１〜Ｓ３７までの処理を繰り返す。全ユーザ分の定常性を判定し終えた場合（ステップＳ３８でＹｅｓの場合）、判定部２０は、処理を終了する。
【００６６】
図８及び図９を参照して、滞在場所を予測する処理について説明する。図８は、滞在場所を予測する処理を示すフローチャートである。図９は、各特徴量の具体例を説明するための図である。図８に示されるように、算出部２２は、例えば１時間ごとに、測位ログ、候補ＩＤ、及び各特徴量をユーザＩＤごとに取得する（ステップＳ４１）。具体的には、算出部２２は、測位ログ記憶部１２から、ユーザＩＤに対応するユーザの位置（第１位置）を示す位置情報（第１位置情報）として測位時刻が最新の測位ログを取得し、候補記憶部１５から候補ＩＤを取得し、特徴量記憶部１７から候補間移動割合、曜日別滞在割合、時間帯別滞在割合、及び滞在割合を取得する。
【００６７】
図９（Ａ）は、候補間移動割合の具体例である。図９（Ｂ）は、曜日別滞在割合の具体例である。図９（Ｃ）は、時間帯別滞在割合の具体例である。図９（Ｄ）は、滞在割合の具体例である。以下では、これらの具体例に基づき、説明を行う。なお、これらの具体例は、抽出部１３による候補の抽出の具体例とは異なっている。
【００６８】
続いて、算出部２２は、ユーザの滞在確率を算出する（ステップＳ４２）。具体的には、まず、算出部２２は、候補間移動の始点となる候補ＩＤとして、測位時刻が最新の測位ログに示される端末３０が測位した位置に応じた候補ＩＤを取得する処理を行う。即ち、算出部２２は、測位時刻が最新の測位ログに示される端末３０が測位した位置と代表位置が最も近い候補ＩＤを特定する。算出部２２は、このように特定した候補ＩＤを、候補間移動の始点となる候補ＩＤとして取得する。ここでは、例えば、候補間移動の始点の候補ＩＤとして、例えば「ＳＰ１」が取得されたとして説明する。
【００６９】
算出部２２は、算出部２２による滞在確率の算出の対象となる曜日及び時間帯を設定する。算出部２２は、例えば、時計を参照して、現時点の日時を取得し、取得した日時の所定時間（例えば、１時間）後の日時を算出の対象となる曜日及び時間帯に設定する。ここでは、曜日として、例えば「月」が設定され、時間帯として、例えば「９時」が設定されたとして説明する。
【００７０】
続いて、算出部２２は、候補間移動割合と、曜日別滞在割合と、時間帯別滞在割合と、を掛け合わせることにより、各候補の滞在確率を算出する。ここでは、算出部２２は、候補間移動の始点の候補ＩＤが「ＳＰ１」、曜日が「月」、時間帯が「９時」という条件下における各候補の滞在確率を算出する。即ち、算出部２２は、候補ごとに、算出部２２による滞在確率の算出の対象となる始点と同じ始点の候補間移動割合と、算出部２２による滞在確率の算出の対象となる曜日と同じ曜日の曜日別滞在割合と、算出部２２による滞在確率の算出の対象となる時間帯と同じ時間帯の時間帯別滞在割合と、を用いて滞在確率を算出する。
【００７１】
具体的には、候補ＩＤ「ＳＰ１」の滞在確率は、始点の候補ＩＤが「ＳＰ１」且つ終点の候補ＩＤが「ＳＰ１」である場合の候補間移動割合「０．０８」と、曜日が「月」且つ候補ＩＤが「ＳＰ１」である場合の曜日別滞在割合「０．７」と、時間帯が「９時」且つ候補ＩＤが「ＳＰ１」である場合の時間帯別滞在割合「０．２」とを掛け合わせることにより、「０．００１１２」と算出される。候補ＩＤ「ＳＰ２」の滞在確率は、始点の候補ＩＤが「ＳＰ１」且つ終点の候補ＩＤが「ＳＰ２」である場合の候補間移動割合「０．６」と、曜日が「月」且つ候補ＩＤが「ＳＰ２」である場合の曜日別滞在割合「０．２」と、時間帯が「９時」且つ候補ＩＤが「ＳＰ２」である場合の時間帯別滞在割合「０．５」とを掛け合わせることにより、「０．０６」と算出される。
【００７２】
候補ＩＤ「ＳＰ３」の滞在確率は、始点の候補ＩＤが「ＳＰ１」且つ終点の候補ＩＤが「ＳＰ３」である場合の候補間移動割合「０．３」と、曜日が「月」且つ候補ＩＤが「ＳＰ３」である場合の曜日別滞在割合「０．１」と、時間帯が「９時」且つ候補ＩＤが「ＳＰ３」である場合の時間帯別滞在割合「０．３」とを掛け合わせることにより、「０．００９」と算出される。候補ＩＤ「ＳＰ４」の滞在確率は、始点の候補ＩＤが「ＳＰ１」且つ終点の候補ＩＤが「ＳＰ４」である場合の候補間移動割合「０．０２」と、曜日が「月」且つ候補ＩＤが「ＳＰ４」である場合の曜日別滞在割合「０」と、時間帯が「９時」且つ候補ＩＤが「ＳＰ４」である場合の時間帯別滞在割合「０」とを掛け合わせることにより、「０」と算出される。
【００７３】
算出部２２は、このようにして、候補間移動の始点の候補ＩＤが「ＳＰ１」、曜日が「月」、時間帯が「９時」という条件下における各候補の滞在確率を算出する。
【００７４】
続いて、算出部２２は、このユーザが乗換検索アプリを定常的に利用しているか否かを判定する（ステップＳ４３）。具体的には、算出部２２は、このユーザのユーザＩＤに対応づけて定常性記憶部２１に記憶された定常性フラグの値を取得する。定常性フラグの値が「０」である場合、即ち、このユーザが、乗換検索アプリを定常的に利用していないと判定された場合（ステップＳ４３でＮｏの場合）、算出部２２は、このユーザが予め設定された所定期間に乗換検索アプリを起動したか否かを判定する（ステップＳ４４）。所定期間は、例えば、現時点の日時から遡って数時間以内の期間とする。したがって、算出部２２は、具体的には、起動ログ記憶部１９におけるこのユーザの起動ログの中から最新の起動時刻を取得し、最新の起動時刻が、現時点の日時から遡って１時間以内に含まれる時刻であるか否かを判定する。所定期間に乗換検索アプリを起動したと判定された場合（ステップＳ４４でＹｅｓの場合）、算出部２２は、滞在確率に重み付けする重み付け処理を行う（ステップＳ４５）。
【００７５】
ユーザは、滞在割合の低い場所に行くときほど、即ち、非定常的な移動のときほど、交通又は地図に関する情報を取得するという傾向があることが知られている（例えば、石村怜美，太田恒平，富井規雄，“経路検索サービスの実績データに基づく近未来の突発的移動需要の検出，”第４７回土木計画学研究発表会講演集，2013年6月）。
【００７６】
そこで、重み付け処理として、算出部２２は、候補ごとの滞在確率に、滞在割合が低い候補ほど高い値となる係数として、候補ごとの滞在割合の逆数のｎ乗（ここでは、ｎ＝６）を掛ける処理を行う。しかしながら、ユーザが乗換検索アプリを定常的に利用している場合、非定常的な移動の場合に限らず、定常的な移動の場合でも乗換検索アプリを利用すると考えられる。このため、算出部２２は、ユーザが乗換検索アプリを定常的に利用しているか否かによって、場合分けして重み付け処理を行う。
【００７７】
例えば、候補ＩＤ「ＳＰ１」の滞在確率は、「０．００１１２（＝０．０８×０．７×０．２）」と算出されていたところ、重み付け処理を行うと、候補ＩＤが「ＳＰ１」である場合の滞在割合「１」の逆数の６乗を掛けることにより、「０．００１１２（＝０．０８×０．７×０．２×（１／１）６）」とされる。候補ＩＤ「ＳＰ２」の滞在確率は、「０．０６（＝０．６×０．２×０．５）」と算出されていたところ、重み付け処理を行うと、候補ＩＤが「ＳＰ２」である場合の滞在割合「０．７」の逆数の６乗を掛けて、「０．５０９（＝０．６×０．２×０．５×（１／０．７）６」とされる。候補ＩＤ「ＳＰ３」の滞在確率は、「０．００９（＝０．３×０．１×０．３）」と算出されていたところ、重み付け処理を行うと、候補ＩＤが「ＳＰ３」である場合の滞在割合「０．５」の逆数の６乗を掛けて、「０．５７６（＝０．３×０．１×０．３×（１／０．５）６」とされる。候補ＩＤ「ＳＰ４」の滞在確率は、「０」であり、この重み付け処理によっては、変化しない。したがって、重み付け処理を行わない場合、滞在確率は、候補ＩＤ「ＳＰ２」で最も高く、候補ＩＤ「ＳＰ１」、候補ＩＤ「ＳＰ３」、候補ＩＤ「ＳＰ４」の順に低くなるところ、重み付け処理を行う場合、滞在確率は、候補ＩＤ「ＳＰ３」で最も高く、候補ＩＤ「ＳＰ２」、候補ＩＤ「ＳＰ１」、候補ＩＤ「ＳＰ４」の順に低くなる。
【００７８】
続いて、算出部２２は、算出した滞在確率をユーザＩＤと対応付けて予測部２３に出力する（ステップＳ４６）。定常性フラグの値が「０」でない場合、即ち、ユーザが、乗換検索アプリを定常的に利用していると判定された場合（ステップＳ４３でＮｏの場合）、及び、所定期間に乗換検索アプリを起動していないと判定された場合（ステップＳ４４でＮｏの場合）、算出部２２は、重み付け処理を行わず、当該ステップＳ４６の処理を実行する。
【００７９】
ここで、定常性フラグは、判定部２０によりカウントされた所定期間における乗換検索アプリの起動回数に基づき設定されている。判定部２０は、検出部１８の検出結果である起動ログから、この起動回数をカウントしている。したがって、算出部２２は、検出部１８の検出結果に応じて、重み付け処理を行っていると言える。より具体的には、算出部２２は、ユーザが予め設定された所定期間に交通又は地図に関する情報を取得した回数に応じて、滞在割合が低い候補ほど高い値となる係数を用いて滞在確率に重み付けする重み付け処理を行っていると言える。
【００８０】
予測部２３は、算出部２２から滞在確率の算出結果を入力すると、ユーザＩＤごとに、算出部２２から入力した滞在確率のうち、滞在確率が最も高い候補を滞在場所として予測する（ステップＳ４７）。続いて、の候補ＩＤを滞在場所の予測結果として出力部２４に出力する。出力部２４は、予測結果を予測部２３から入力すると、ユーザＩＤと対応づけて、滞在場所の予測結果を所定の記憶部（不図示）へ登録することにより、出力する（ステップＳ４８）。続いて、算出部２２は、全ユーザ分の滞在確率を算出し終えたか否かを判定する（ステップＳ４９）。
【００８１】
全ユーザ分の滞在確率を算出し終えていない場合（ステップＳ４９でＮｏの場合）、算出部２２は、滞在確率が未算出の別のユーザに対して、ステップＳ４１〜Ｓ４８までの処理を繰り返す。全ユーザ分の滞在確率を算出し終えた場合（ステップＳ４９でＹｅｓの場合）、滞在場所を予測する処理が終了される。
【００８２】
以上説明したように、サーバ１０では、検出部１８が、ユーザが乗換検索アプリを起動したことを検出する。ユーザは、滞在割合の低い場所に行くときほど、乗換検索アプリを起動するという傾向がある。このため、サーバ１０では、算出部２２が、滞在確率を候補ごとに算出する際に、検出部１８の検出結果に応じて、滞在割合が低い候補ほど高い値となる係数を用いて、滞在確率を算出する重み付け処理を行う。これにより、ユーザの定常的な移動だけでなく非定常的な移動も予測され易くなる。この結果、滞在場所の予測精度が向上可能となる。
【００８３】
また、定常的に乗換検索アプリを起動しているユーザは、滞在割合の高い場所に行くときでも、定常的に乗換検索アプリを起動する可能性が高い。そこで、サーバ１０では、判定部２０が、ユーザが乗換検索アプリを定常的に利用しているか否かを判定する。算出部２２は、判定部２０により定常性ありと判断されたユーザには、重み付け処理を行わない。これにより、定常性ありと判断されたユーザに対する滞在場所の予測精度が低下することを抑制可能となる。
【００８４】
サーバ１０では、特徴量記憶部１７が、候補ごとにユーザの滞在行動の特徴を示す特徴量として、候補間移動割合、曜日別滞在割合、時間帯別滞在割合、及び滞在割合を記憶している。算出部２２は、特徴量記憶部１７に記憶されたこれらの各特徴量を用いて滞在確率を算出し、予測部２３が、この滞在確率に基づき滞在場所を予測するので、予測精度が更に向上可能となる。
【００８５】
サーバ１０では、抽出部１３が、測位ログ記憶部１２によって記憶された複数の測位ログを参照し、当該複数の測位ログが示す位置に基づき、候補を抽出する。候補は、複数の位置から抽出されるので、例えば、複数の互いに近接する位置を１つの代表位置で示して、候補として用いることができる。これにより、候補を所望の距離範囲で設定することができる。即ち、所望により、候補を自宅周辺、及び職場周辺といった距離的な広がりのある領域で設定することができる。この結果、このような所望の距離範囲での予測精度が更に向上可能となる。
【００８６】
特許文献１に記載の発明では、端末のスケジューラにユーザが登録したスケジューラデータを利用することにより、滞在場所の予測精度を向上させている。しかしながら、スケジューラデータが常に利用可能とは限らず、この発明では、スケジューラデータが利用できない場合は、滞在場所の予測精度を向上させることができなかった。これに対して、サーバ１０では、スケジューラデータが利用できない場合でも、滞在場所の予測精度を向上させることができる。
【００８７】
サーバ１０では、抽出部１３が、測位ログ記憶部１２によって記憶された複数の測位ログのうち、最新の測位時刻からＮ日分を参照して、候補を抽出する。例えば、ユーザが以前よく滞在していた場所と、ユーザが最近よく滞在する場所とが異なるような場合でも、測位ログを参照する期間を適宜設定することにより、ユーザの行動パターンの変化に合わせて候補を設定することができる。よって、予測精度が更に向上可能となる。
【００８８】
なお、検出部１８は、起動ログの登録が完了すると、算出部２２にその旨を通知し、算出部２２は、その通知を受け取ると、当該起動ログに含まれるユーザＩＤに対応するユーザの滞在確率を算出する構成としてもよい。この場合、滞在場所を予測する処理は、図８に示されるフローチャートの処理とは以下の点で異なる。即ち、上記ステップＳ４１の処理の前に、上記ステップＳ４４に対応する処理（乗換検索アプリの起動の有無を判定する処理）が行われる。この場合は、算出部２２が、検出部１８からの通知の有無を判定する処理として行われる。算出部２２によるこの判定は、検出部１８からの通知があるまで繰り返し行われる。
【００８９】
算出部２２は、検出部１８からの通知があると、起動ログ記憶部１９を参照し、最新の起動ログに含まれるユーザＩＤを取得し、取得したユーザＩＤに対して、上記ステップＳ４４及び上記ステップＳ４９の処理を省いて、上記ステップＳ４１以下の処理を行う。即ち、ステップＳ４３でＹｅｓの場合、ステップＳ４５の処理を行う。また、ステップＳ４８の後、滞在場所を予測する処理を終了する。これにより、乗換検索アプリを起動したユーザの滞在場所が予測される。
【００９０】
抽出部１３は、候補の数を予め定められた所定数（例えば、Ｌ箇所）としてもよい。例えば、抽出された候補から、予め定められた所定数（例えば、Ｌ箇所）の候補をユーザの滞在場所を予測するために用いる候補としてもよい。具体的には、この更なる抽出は、候補に対応する滞留点の滞留開始時刻又は滞留終了時刻に基づき、行われてもよい。より具体的には、この更なる抽出は、例えば、対応する滞留点の滞留開始時刻又は滞留終了時刻が新しい代表位置の順で行われてもよい。この場合、抽出部１３が測位ログを参照する期間を予め定めず、測位ログを全て参照する構成としても、ユーザが滞在した時刻が新しい順に直近Ｌ箇所の代表位置が抽出されるので、ユーザの行動パターンの変化に合わせて候補を設定することができる。抽出部１３が測位ログを参照する期間を予め、更にユーザが滞在した時刻が新しい順に直近Ｌ箇所の代表位置を抽出する構成としてもよい。この場合、ユーザの行動パターンの変化に合わせて候補を設定することが更に容易になる。
【００９１】
また、重み付け前の滞在確率を、サポート・ベクター・マシン（ＳＶＭ）等を利用した機械学習により求めてもよい。即ち、生成部１６により、候補間移動割合、曜日別滞在割合、及び時間帯別滞在割合を生成する処理、並びに、算出部２２により、候補間移動割合、曜日別滞在割合、及び時間帯別滞在割合を用いて重み付け前の滞在確率を算出する処理の代わりに、所定期間に候補ｉから候補ｊに移動した回数、所定期間の曜日ｍに候補ｉに滞在した回数、及び所定期間の時間帯ｔに候補ｉに滞在した回数を特徴量として、機械学習により重み付け前の滞在確率を求める処理を行ってもよい。
【００９２】
候補間移動割合は、例えば、ユーザが候補からＫ箇所（例えば１箇所）の候補を経て候補に移動する回数的な割合としてもよい。この構成によれば、ユーザが自宅から駅を経て会社に移動するような場合に、候補間移動の始点を自宅、終点を会社とすることができ、より実態に即した候補間移動を特定し易くなる。
【００９３】
滞在割合は、日数的な割合であるとしたが、回数的又は時間的な割合であってもよい。
【００９４】
算出部２２は、定常性の有無によらず、重み付け処理を行ってもよい。この場合、判定部２０を省略し、処理負荷を低減することができる。また、特徴量記憶部１７は、特徴量として、少なくとも滞在割合を記憶していればよく、候補間移動割合、曜日別滞在割合、及び時間帯別滞在割合を記憶していなくてもよい。即ち、サーバ１０が候補間移動割合、曜日別滞在割合、及び時間帯別滞在割合を用いずに、滞在場所を予測してもよい。サーバ１０が候補間移動割合を用いない場合、算出部２２は、ユーザＩＤに対応するユーザの位置（第１位置）を示す位置情報（第１位置情報）として測位時刻が最新の測位ログを取得しなくてもよい。また、予め定められた場所を候補として設定してもよい。この場合、抽出部１３を省略し、処理負荷を低減することができる。抽出部１３は測位ログから候補を抽出する構成であればよく、必ずしも、予め定められた所定期間に対応する測位ログから候補を抽出する構成でなくてもよい。
【符号の説明】
【００９５】
１０…サーバ（滞在場所予測装置）、１１…位置情報取得部（第１位置情報取得部、第２位置情報取得部）、１３…抽出部、１７…特徴量記憶部（記憶部）、１８…検出部、２２…算出部、２３…予測部、２４…出力部。
【図１】
2017091435.tif 000003
【図２】
2017091435.tif 000004
【図３】
2017091435.tif 000005
【図４】
2017091435.tif 000006
【図５】
2017091435.tif 000007
【図６】
2017091435.tif 000008
【図７】
2017091435.tif 000009
【図８】
2017091435.tif 000010
【図９】
2017091435.tif 000011