(57)【要約】【課題】ユーザから手動入力を受けることなく、ユーザの場所の嗜好性を推定する。【解決手段】本システムは、通信モジュール、収集モジュール、およびモデリングモジュールを含む。通信モジュールは、ユーザに関連する場所を受け取り、そのユーザのユーザプロファイルデータを取得する。収集モジュールは、その場所に関連するリッチな場所データを取得する。モデリングモジュールは、ユーザに関連する場所嗜好性モデルの前の状態を取得し、リッチな場所データおよび場所嗜好性モデルの前の状態に少なくとも部分的に基づいてユーザに関連する場所嗜好性モデルを生成する。【選択図】図２
2013122456.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実行される方法であって、
ユーザと関連づけられた車両の現在位置を表すセンサデータを受信するステップと、
前記車両の現在位置から所定の範囲内にある１つまたは複数の場所候補を表す場所候補データを取得するステップと
前記ユーザが過去に訪れた１つまたは複数の場所を表す履歴場所データを取得するステップと、
前記車両の現在位置、前記場所候補データ、および前記履歴場所データのうちの１つまたは複数に少なくとも部分的に基づいて、前記ユーザが現在訪れている場所を推定するステップと、
を含む、方法。
【請求項２】
前記ユーザが現在訪れていると推定された場所において費やされた第１の時間を推定するステップと、
前記ユーザが現在訪れていると推定された場所への訪問頻度と、過去に当該場所において費やされた第２の時間とを取得するステップと、
前記ユーザが現在訪れていると推定された場所を前記ユーザが好むかどうかを表す好みデータを決定するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記車両の現在位置、前記場所候補データ、および前記履歴場所データのうちの１つまたは複数に少なくとも部分的に基づいて、前記ユーザが現在訪れている場所を推定するステップは、
現在時刻および現在訪れている場所において費やされた時間に基づいて、前記１つまたは複数の場所候補の中から１つの場所を現在訪れている場所として選択することを含む、
請求項１または２に記載の方法。
【請求項４】
前記車両の現在位置、前記場所候補データ、および前記履歴場所データのうちの１つまたは複数に少なくとも部分的に基づいて、前記ユーザが現在訪れている場所を推定するステップは、
前記１つまたは複数の場所候補の中から、前記車両の現在位置まで歩くことができる距離の範囲内にある場所を、現在訪れている場所として選択することを含む、
請求項１〜３のいずれかに記載の方法。
【請求項５】
前記ユーザが現在訪れている場所は、前記１つまたは複数の場所候補に含まれ、かつ、前記ユーザによって過去に訪れられている場所のうちから選択される、
請求項１〜４のいずれかに記載の方法。
【請求項６】
ユーザと関連づけられた車両の現在位置を表すセンサデータを受信し、前記車両の現在位置から所定の範囲内にある１つまたは複数の場所候補を表す場所候補データを取得し、前記ユーザが過去に訪れた1つまたは複数の場所を表す履歴場所データを取得する通信モ
ジュールと、
前記通信モジュールと通信可能に結合され、前記車両の現在位置、前記場所候補データ、および前記履歴場所データのうちの１つまたは複数に少なくとも部分的に基づいて、前記ユーザが現在訪れている場所を推定する場所推定モジュールと、
を備える、車載システム。
【請求項７】
前記通信モジュールと通信可能に結合され、前記ユーザが現在訪れていると推定された場所において費やされた第１の時間を推定するセンサを、さらに備える、
請求項６に記載の車載システム。
【請求項８】
前記通信モジュールおよび前記センサと通信可能に結合され、前記ユーザが現在訪れていると推定された場所において費やされた前記第１の時間を受信し、前記ユーザが現在訪れていると推定された場所への訪問頻度と、過去に当該場所において費やされた第２の時間とを取得し、前記ユーザが現在訪れていると推定された場所を前記ユーザが好むかどうかを表す好みデータを決定する好みモジュール、
をさらに備える、請求項７に記載の車載システム。
【請求項９】
前記場所推定モジュールは、現在時刻および現在訪れている場所において費やされた時間に基づいて、前記１つまたは複数の場所候補の中から１つの場所を現在訪れている場所として選択する、
請求項６〜８のいずれかに記載の車載システム。
【請求項１０】
前記場所推定モジュールは、前記１つまたは複数の場所候補の中から、前記車両の現在位置まで歩くことができる距離の範囲内にある場所を、現在訪れている場所として選択する、
請求項６〜９のいずれかに記載の車載システム。
【請求項１１】
前記ユーザが現在訪れている場所は、前記１つまたは複数の場所候補に含まれ、かつ、前記ユーザによって過去に訪れられている場所のうちから選択される、
請求項６〜１０のいずれかに記載の車載システム。
【請求項１２】
請求項１〜５のいずれかに記載の方法の各ステップをコンピュータに実行させるためのコンピュータプログラム。
【請求項１３】
コンピュータによって実行される方法であって、
ユーザに関連づけられた場所を受信するステップと、
前記場所と関連づけられたリッチな場所データを取得するステップと、
前記ユーザのユーザプロファイルを取得するステップと、
前記ユーザと関連づけられた場所嗜好性モデルの前の状態を取得するステップと、
前記リッチな場所データおよび前記場所嗜好性モデルの前の状態に少なくとも部分的に基づいて、前記ユーザに関連づけられる場所嗜好性モデルを生成するステップと、
を含む、方法。
【請求項１４】
前記場所は前記ユーザによって嗜好性値を用いた採点が行われ、
前記嗜好性値は、対話型ダイアログからの入力、調査、１つまたは複数のソーシャルネットワークから取得した個人データの少なくともいずれかに部分的に基づいて、決定される、
請求項１３に記載の方法。
【請求項１５】
前記リッチな場所データは、前記場所についての履歴場所データ、前記場所を訪れたユーザの１つまたは複数の社会的つながりを表すソーシャルデータ、前記場所についての１つまたは複数のレビューを表すウェブデータのうちの１つまたは複数を含む、
請求項１３または１４に記載の方法。
【請求項１６】
前記場所嗜好性モデルは、前記ユーザが好きな１つまたは複数の場所、および、当該複数の場所に共通する１つまたは複数の特徴を表すモデルデータを含む、
請求項１３〜１５のいずれかに記載の方法。
【請求項１７】
現在時刻および現在の車両位置を表すセンサデータを受信するステップと、
前記センサデータに少なくとも部分的に基づいて、前記ユーザの状況を決定するステップと、
をさらに含み、
前記ユーザの状況および前記センサデータは、前記場所嗜好性モデルを推定するために用いられる、
請求項１３〜１６のいずれかに記載の方法。
【請求項１８】
新しい場所を受信するステップと、
前記新しい場所と関連づけられた新しいリッチな場所データを取得するステップと、
前記ユーザと関連づけられた場所嗜好性モデルを取得するステップと、
前記ユーザと関連づけられた場所嗜好性モデルを、前記新しいリッチな場所データに基づいて更新するステップと、
をさらに含む、請求項１３〜１７のいずれかに記載の方法。
【請求項１９】
ユーザに関連づけられた場所を受信するとともに、前記ユーザのユーザプロファイルを取得する通信モジュールと、
前記通信モジュールと通信可能に結合され、前記場所と関連づけられたリッチな場所データを取得する収集モジュールと、
前記収集モジュールと通信可能に結合され、前記ユーザと関連づけられた場所嗜好性モデルの前の状態を取得し、前記リッチな場所データおよび前記場所嗜好性モデルの前の状態に少なくとも部分的に基づいて、前記ユーザに関連づけられる場所嗜好性モデルを生成するモデリングモジュールと、
を備える、車載システム。
【請求項２０】
前記場所は前記ユーザによって嗜好性値を用いた採点が行われ、
前記嗜好性値は、対話型ダイアログからの入力、調査、１つまたは複数のソーシャルネットワークから取得した個人データの少なくともいずれかに部分的に基づいて、決定される、
請求項１９に記載の車載システム。
【請求項２１】
前記リッチな場所データは、前記場所についての履歴場所データ、前記場所を訪れたユーザの１つまたは複数の社会的つながりを表すソーシャルデータ、前記場所についての１つまたは複数のレビューを表すウェブデータのうちの１つまたは複数を含む、
請求項１９または２０に記載の車載システム。
【請求項２２】
前記場所嗜好性モデルは、前記ユーザが好きな１つまたは複数の場所、および、当該複数の場所に共通する１つまたは複数の特徴を表すモデルデータを含む、
請求項１９〜２１のいずれかに記載の車載システム。
【請求項２３】
前記通信モジュールは、現在時刻および現在の車両位置を表すセンサデータも受信し、
前記モデリングモジュールは、前記センサデータに少なくとも部分的に基づいて、前記ユーザの状況を決定し、
前記ユーザの状況および前記センサデータは、前記場所嗜好性モデルを推定するために用いられる、
請求項１９〜２２のいずれかに記載の車載システム。
【請求項２４】
前記収集モジュールは、新しい場所を受信し、前記新しい場所に関連づけられた新しいリッチな場所データを取得する、
請求項１９〜２３のいずれかに記載の車載システム。
【請求項２５】
前記収集モジュールと通信可能に結合され、前記ユーザと関連づけられた場所嗜好性モデルを取得し、前記ユーザと関連づけられた場所嗜好性モデルを、前記新しいリッチな場所データに基づいて更新する更新モジュールをさらに備える、
請求項２４に記載の車載システム。
【請求項２６】
請求項１３〜１８のいずれかに記載の方法の各ステップをコンピュータに実行させるためのコンピュータプログラム。
【請求項２７】
コンピュータによって実行される方法であって、
場所を受信するステップと、
ユーザと関連づけられたユーザプロファイルデータおよび前記ユーザと関連づけられた場所嗜好性モデルを取得するステップと、
前記場所と関連づけられたリッチな場所データを取得するステップと、
前記リッチな場所データおよび前記ユーザプロファイルデータに少なくとも部分的に基づいて、前記場所嗜好性モデルを用いて前記場所の嗜好性スコアを推定するステップと、
を含む、方法。
【請求項２８】
現在時刻および現在の車両位置を表すセンサデータを受信するステップと、
前記センサデータに少なくとも部分的に基づいて、前記ユーザの状況を決定するステップと、
をさらに含み、
前記ユーザの状況および前記センサデータは、前記場所の嗜好性スコアを推定するために用いられる、
請求項２７に記載の方法。
【請求項２９】
場所を受信するとともに、前記場所と関連づけられたリッチな場所データを取得する収集モジュールと、
前記収集モジュールと通信可能に結合され、ユーザと関連づけられたユーザプロファイルデータおよび前記ユーザと関連づけられた場所嗜好性モデルを取得する通信モジュールと、
前記通信モジュールおよび前記収集モジュールと通信可能に結合され、前記リッチな場所データおよび前記ユーザプロファイルデータに少なくとも部分的に基づいて、前記場所嗜好性モデルを用いて前記場所の嗜好性スコアを推定するスコアリングモジュールと、
を備える、車載システム。
【請求項３０】
前記通信モジュールは、現在時刻および現在の車両位置を表すセンサデータも受信する、
請求項２９に記載の車載システム。
【請求項３１】
前記通信モジュールと通信可能に結合され、前記センサデータに少なくとも部分的に基づいて、前記ユーザの状況を決定するモデリングモジュールとさらに備え、
前記ユーザの状況および前記センサデータは、前記場所の嗜好性スコアを推定するために用いられる、
請求項３０に記載の車載システム。
【請求項３２】
請求項２７または２８のいずれかに記載の方法の各ステップをコンピュータに実行させるためのコンピュータプログラム。
【請求項３３】
コンピュータによって実行される方法であって、
ユーザから検索要求を受信するステップと、
前記検索要求に一致する１つまたは複数の一致する場所を決定するステップと、
前記１つまたは複数の一致する場所に関する１つまたは複数の嗜好性スコアを推定するステップと、
前記１つまたは複数の嗜好性スコアに少なくとも部分的に基づいて、前記１つまたは複数の一致する場所をパーソナライズするステップと、
を含む、方法。
【請求項３４】
前記パーソナライズするステップは、
前記１つまたは複数の嗜好性スコアに少なくとも部分的に基づいて、前記１つまたは複数の一致する場所を順序づけるステップと、
最も高い嗜好性スコアを有する一致する場所を選択するステップと、
を含む、請求項３３に記載の方法。
【請求項３５】
ユーザから検索要求を受信する通信モジュールと、
前記通信モジュールと通信可能に結合され、前記検索要求に一致する１つまたは複数の一致する場所を決定し、１つまたは複数の嗜好性スコアに少なくとも部分的に基づいて、前記１つまたは複数の一致する場所をパーソナライズするパーソナル化モジュールと、
前記パーソナル化モジュールと通信可能に結合され、前記１つまたは複数の一致する場所に関する１つまたは複数の嗜好性スコアを推定し、当該１つまたは複数の一致する場所に関する１つまたは複数の嗜好性スコアを前記パーソナル化モジュールに送信するスコアリングモジュールと、
を備える、車載システム。
【請求項３６】
前記パーソナル化モジュールは、前記１つまたは複数の嗜好性スコアに少なくとも部分的に基づいて、前記１つまたは複数の一致する場所を順序づけ、最も高い嗜好性スコアを有する一致する場所を選択する、
請求項３５に記載の車載システム。
【請求項３７】
請求項３３または３４のいずれかに記載の方法の各ステップをコンピュータに実行させるためのコンピュータプログラム。
【請求項３８】
コンピュータによって実行される方法であって、
ユーザと関連づけられた場所を受信するステップと、
前記場所と関連づけられたリッチな場所データを取得するステップと、
前記ユーザのユーザプロファイルデータを取得するステップと、
１つまたは複数のユーザ群のためのあらかじめ計算されたデフォルトの標準的ユーザ場所嗜好性モデルを取得するステップと、
前記リッチな場所データおよび前記デフォルトの標準的ユーザ場所嗜好性モデルとに少なくとも部分的に基づいて、前記ユーザの場所嗜好性モデルを生成するステップと、
を含む、方法。
【請求項３９】
コンピュータによって実行される方法であって、
ユーザと関連づけられた場所を受信するステップと、
前記場所と関連づけられたリッチな場所データを取得するステップと、
前記ユーザのユーザプロファイルデータを取得するステップと、
あるユーザ群のための１つまたは複数の個々の場所嗜好性モデルを集約することによって生成される平均ユーザ場所嗜好性モデルを取得するステップと、
前記リッチな場所データおよび前記平均ユーザ場所嗜好性モデルとに少なくとも部分的に基づいて、前記ユーザの場所嗜好性モデルを生成するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、データ処理システムに関する。具体的には、本明細書は、ユーザにとっての場所の嗜好性を推定するためのシステムおよび方法に関する。
【背景技術】
【０００２】
ナビゲーションシステムがパーソナライズされたナビゲーションサービスをユーザに提供できるように、様々な場所に対するユーザの好み、すなわち嗜好（例えばそのユーザが好きな場所や嫌いな場所等）を学習することは有益である。ユーザにとっての場所の嗜好性（または場所の好み）をモデル化する既存の車両内のシステムは、好みについての明確な入力をユーザに要求する。例えばユーザは、ある場所を「お気に入り」のリストに追加することができ、または自身がある場所を好き、もしくは嫌いであることを表す明確なフィードバックを与えることができる。しかし、ユーザはその要求を通常無視し、入力を一切行わないので、好きな場所を入力する既存のシステムのこの手動モードは、ユーザから場所の好みを引き出すことに関して不完全かつ問題があることが証明されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０８９３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、ユーザから手動入力を受けることなく、ユーザの場所の嗜好性を推定することを目的とする。
【課題を解決するための手段】
【０００５】
本明細書は、ユーザにとっての場所の嗜好性を推定するためのシステムおよび方法を提供することにより、従来技術の不完全性および制限を少なくとも部分的に克服する。本システムは、収集モジュール、通信モジュール、およびスコアリングモジュールを含む。収集モジュールは、ある場所を受け取り、その場所に関連するリッチな場所データを取得する。通信モジュールは、ユーザに関連するユーザプロファイルデータおよびそのユーザに関連する場所嗜好性モデルを取得する。スコアリングモジュールは、リッチな場所データおよび、ユーザプロファイルデータに少なくとも部分的に基づき、場所嗜好性モデルを使用してその場所の嗜好性スコアを推定する。
【０００６】
本明細書は、ユーザに関連する場所嗜好性モデルを生成するためのシステムおよび方法も提供する。本システムは、通信モジュール、収集モジュール、およびモデリングモジュールを含む。通信モジュールは、ユーザに関連する場所を受け取り、そのユーザのユーザプロファイルデータを取得する。収集モジュールは、その場所に関連するリッチな場所データを取得する。モデリングモジュールは、ユーザに関連する場所嗜好性モデルの前の状態を取得し、リッチな場所データおよび場所嗜好性モデルの前の状態に少なくとも部分的に基づいてユーザに関連する場所嗜好性モデルを生成する。
【０００７】
本明細書は、ユーザに関連する場所嗜好性モデルを生成するための別の方法も提供する。その方法は、ユーザに関連する場所を受け取るステップと、その場所に関連するリッチな場所データを取得するステップと、ユーザのユーザプロファイルデータを取得するステップと、１つまたは複数のユーザ群についてあらかじめ計算されたデフォルトの標準的ユーザ場所嗜好性モデルを取得するステップと、リッチな場所データおよびデフォルトの標
準的ユーザ場所嗜好性モデルに少なくとも部分的に基づいてユーザに関連する場所嗜好性モデルを生成するステップとを含む。
【０００８】
本明細書は、ユーザに関連する場所嗜好性モデルを生成するためのさらに別の方法も提供する。その方法は、ユーザに関連する場所を受け取るステップと、その場所に関連するリッチな場所データを取得するステップと、ユーザのユーザプロファイルデータを取得するステップと、ユーザ群のための個々の場所嗜好性モデルを集約することによって生成される平均ユーザ場所嗜好性モデルを取得するステップと、リッチな場所データおよび平均ユーザ場所嗜好性モデルに少なくとも部分的に基づいてユーザに関連する場所嗜好性モデルを生成するステップとを含む。
【０００９】
さらに本明細書は、ユーザ向けの場所検索結果をパーソナライズするためのシステムおよび方法を提供する。本システムは、通信モジュール、パーソナル化モジュール、およびスコアリングモジュールを含む。通信モジュールは、ユーザから検索要求を受け取る。パーソナル化モジュールは、その検索要求に一致する１つまたは複数の一致する場所を決定する。スコアリングモジュールは、その１つまたは複数の一致する場所に関する１つまたは複数の嗜好性スコアを推定する。次いでパーソナル化モジュールは、１つまたは複数の嗜好性スコアに少なくとも部分的に基づいて１つまたは複数の一致する場所をパーソナライズする。
【００１０】
本明細書は、ユーザが現在訪れている場所を推定するためのシステムおよび方法を提供する。本システムは、通信モジュールおよび場所推定モジュールを含む。通信モジュールは、ユーザに関連する車両のセンサデータを受け取る。そのセンサデータは、車両の現在位置を表す。通信モジュールは、車両の現在位置の範囲内の１つまたは複数の場所候補を表す場所候補データを取得する。通信モジュールは、ユーザが過去に訪れた１つまたは複数の場所を表す履歴場所データも取得する。場所推定モジュールは、車両の現在位置、場所候補データ、および履歴場所データのうちの１つまたは複数に少なくとも部分的に基づいてユーザが現在訪れている場所を推定する。
【発明の効果】
【００１１】
本発明によれば、ユーザから手動入力を受けることなく、ユーザの場所の嗜好性を推定することが可能となる。
【図面の簡単な説明】
【００１２】
本明細書を添付図面の諸図面内に限定としてではなく例として示し、それらの図面では似ている参照番号を使用して同様の要素を示す。
【００１３】
【図１】一実施形態による、ユーザにとっての場所の嗜好性を推定するためのシステムを例示する高レベルブロック図を示す。
【図２】一実施形態による、場所嗜好性モジュールを詳細に例示するブロック図を示す。
【図３Ａ】一実施形態による記憶装置を例示するブロック図を示す。
【図３Ｂ】一実施形態による、記憶装置の中に含まれる場所オントロジサブセットを例示するブロック図を示す。
【図４】一実施形態による、ユーザを識別するための方法を例示する流れ図を示す。
【図５】一実施形態による、現在訪れている場所を推定するための方法を例示する流れ図を示す。
【図６】一実施形態による、現在訪れている場所についての好みデータを決定するための方法を例示する流れ図を示す。
【図７】一実施形態による、場所についてのリッチな場所データを形成するための方法を例示する流れ図を示す。
【図８】一実施形態による、ユーザのための場所嗜好性モデルを生成するための方法を例示する流れ図を示す。
【図９】一実施形態による、場所の嗜好性スコアを推定するための方法を例示する流れ図を示す。
【図１０Ａ】別の実施形態による、現在訪れている場所を推定するための方法を例示する流れ図を示す。
【図１０Ｂ】別の実施形態による、現在訪れている場所を推定するための方法を例示する流れ図を示す。
【図１１】別の実施形態による、場所嗜好性モデルを推定するための方法を例示する流れ図を示す。
【図１２Ａ】一実施形態による、場所嗜好性モデルを更新するための方法を例示する流れ図を示す。
【図１２Ｂ】一実施形態による、場所嗜好性モデルを更新するための方法を例示する流れ図を示す。
【図１３Ａ】別の実施形態による、場所の嗜好性スコアを推定するための方法を例示する流れ図を示す。
【図１３Ｂ】別の実施形態による、場所の嗜好性スコアを推定するための方法を例示する流れ図を示す。
【図１４】一実施形態による、ユーザ向けの場所検索結果をパーソナライズするための方法を例示する流れ図を示す。
【図１５】一実施形態による、ユーザが現在訪れている場所を推定するための３つの例を例示するグラフィカル表現を示す。
【図１６】一実施形態による、機械学習可能データを例示するテーブルを示す。
【図１７】一実施形態による、２つのスコアリングメカニズムの精度評価を例示するグラフを示す。
【図１８】一実施形態による、ユーザ向けの場所検索結果のスクリーンショットを示す。
【発明を実施するための形態】
【００１４】
ユーザにとっての場所の嗜好性を推定するためのシステムおよび方法について以下に記載する。以下の説明では、本発明を十分に理解できるように、多くの詳細について説明する。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。たとえば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【００１５】
本明細書における「一実施形態」または「ある実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴・構造・性質が少なくとも本発明の一つの実施形態に含まれることを意味する。「一実施形態における」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
【００１６】
以下の詳細な説明の一部は、非一時的（non-transitory）なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において（また一般に）アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の
処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である
【００１７】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【００１８】
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー（登録商標）ディスク・光ディスク・ＣＤ−ＲＯＭ・ＭＯディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
【００１９】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。
【００２０】
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【００２１】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
【００２２】
入力／出力（Ｉ／Ｏ）装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはＩ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【００２３】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット（登録商標）は、現在利用可能なネットワークアダプタのほんの一例である。
【００２４】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以下の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【００２５】
システム概要
図１は、一実施形態による、ユーザにとっての場所の嗜好性を推定するためのシステム１００のブロック図を示す。図示のシステム１００は、ナビゲーションシステム１０２、ソーシャルネットワークサーバ１２０、検索サーバ１２４、クライアントデバイス１３０、モバイル機器１３４、ウェブサーバ１３８、およびナレッジサーバ１５０を含む。システム１００のこれらのエンティティは、互いの間の情報（例えば場所検索要求、場所に関連するデータ等）の送受信を助けるために互いに通信可能に結合される。図示の実施形態では、これらのエンティティはネットワーク１０５を介して通信可能に結合される。
【００２６】
図１には、１つのナビゲーションシステム１０２、１つのソーシャルネットワークサーバ１２０、１つの検索サーバ１２４、１つのクライアントデバイス１３０、１つのモバイル機器１３４、１つのウェブサーバ１３８、および１つのナレッジサーバ１５０を示すが、この説明は任意の数のナビゲーションシステム１０２、ソーシャルネットワークサーバ１２０、検索サーバ１２４、クライアントデバイス１３０、モバイル機器１３４、ウェブサーバ１３８、およびナレッジサーバ１５０を有するどんなシステムアーキテクチャにも当てはまることを当業者なら理解されよう。さらに、ナビゲーションシステム１０２、ソーシャルネットワークサーバ１２０、検索サーバ１２４、クライアントデバイス１３０、モバイル機器１３４、ウェブサーバ１３８、およびナレッジサーバ１５０には１つのネットワーク１０５しか結合されていないが、実際は任意の数のネットワーク１０５をこれらのエンティティに接続することができる。
【００２７】
図示の実施形態では、ソーシャルネットワークサーバ１２０が信号線１０３を介してネットワーク１０５に通信可能に結合される。検索サーバ１２４は、信号線１０７を介してネットワーク１０５に通信可能に結合される。クライアント１３０は、信号線１１９および１２１の１つまたは複数を介してネットワーク１０５に通信可能に結合される。モバイル機器１３４は、信号線１１５および１１７の１つまたは複数を介してネットワーク１０５に通信可能に結合される。ウェブサーバ１３８は、信号線１２３を介してネットワーク１０５に通信可能に結合される。ナレッジサーバ１５０は、信号線１２５を介してネットワーク１０５に通信可能に結合される。ナビゲーションシステム１０２は、信号線１０９１１１、および１１３の１つまたは複数を介してネットワーク１０５に通信可能に結合される。一実施形態では、ナビゲーションシステム１０２内に含まれるネットワークインターフェイス１０８が、信号線１０９および１１１の１つまたは複数を介してネットワーク１０５に通信可能に結合される。ナビゲーションシステム１０２内に含まれる全地球測位システム（ＧＰＳ）１１０が、信号線１１３を介してネットワーク１０５に通信可能に結合される。一実施形態では、信号線１０３、１０７、１１１、１１７、１２１、１２３、および１２５のそれぞれは、有線接続（例えばケーブルによる接続）および無線接続（例えば無線ローカルエリアネットワーク（ＬＡＮ）接続）のうちの一方を表す。信号線１０９，１１３、１１５、および１１９のそれぞれは、無線接続（例えば無線ＬＡＮ接続、衛星接続等）を表す。
【００２８】
ネットワーク１０５は、有線または無線の従来型のネットワークであり、星状構成、ト
ークンリング構成、または当業者に知られている他の構成など、任意の数の構成を有することができる。一実施形態ではネットワーク１０５は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）（例えばインターネット）、および／または複数の装置がそれを介して通信する他の任意の相互接続データ経路のうちの１つもしくは複数を含む。別の実施形態では、ネットワーク１０５はピアツーピアネットワークである。ネットワーク１０５は、様々な異なる通信プロトコルでデータを送るための電気通信網に結合され、またはそのような電気通信網の一部を含む。例えば、ネットワーク１０５は３Ｇネットワークまたは４Ｇネットワークである。さらに別の実施形態では、ネットワーク１０５にはＢｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク、またはショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴｐ）、直接データ接続、無線アプリケーションプロトコル（ＷＡＰ）、電子メールなどによりデータを送受信するためのセルラ通信ネットワークが含まれる。さらに別の実施形態では、ネットワーク１０５内のリンクの全てまたは一部が、セキュアソケットレイヤ（ＳＳＬ）、セキュアＨＴＴＰ、および／または仮想私設ネットワーク（ＶＰＮ）などの従来の暗号化技術を使用して暗号化される。
【００２９】
ナビゲーションシステム１０２は、ナビゲーション情報を提供するためのシステムである。例えばナビゲーションシステム１０２は、車両内に埋め込まれる搭載ナビゲーションシステムである。ナビゲーションシステム１０２は、プロセッサ１０４、メモリ１０６、ネットワークインターフェイス１０８、ＧＰＳ１１０、場所嗜好性モジュール１１２、記憶装置１１８、センサ１７０、およびディスプレイ１６０を含む。一実施形態では場所嗜好性モジュール１１２および記憶装置１１８がナレッジサーバ１５０の中に含まれることを示すために、場所嗜好性モジュール１１２および記憶装置１１８は破線を使って示す。
【００３０】
ナビゲーションシステム１０２の中には１つのプロセッサ１０４、１つのメモリ１０６、１つのネットワークインターフェイス１０８、１つのＧＰＳ１１０、１つの記憶装置１１８、１つのセンサ１７０および１つのディスプレイ１６０しか図示しないが、任意の数のこれらのコンポーネントをナビゲーションシステム１０２の中で利用できることを当業者なら理解されよう。当業者は、ナビゲーションシステム１０２が、入力装置、音声システム、およびナビゲーションシステムによくある他のコンポーネントなど、図１には図示しない他の任意のコンポーネントを含み得ることも理解されよう。
【００３１】
プロセッサ１０４には、算術論理装置、マイクロプロセッサ、汎用コントローラ、または計算を実行し、記憶装置１１８上に記憶されたデータを取得する等のための他の何らかのプロセッサアレイが含まれる。プロセッサ１０４はデータ信号を処理し、複雑命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンビュータ（Ｒ１ＳＣ）アーキテクチャ、または命令セットの組合せを実装するアーキテクチャが含まれる様々なコンピューティングアーキテクチャを含むことができる。図１には単一のプロセッサしか図示しないが、複数のプロセッサを含めることもできる。処理能力は、画像を表示することおよび画像を捕捉して伝送することをサポートすることに限定されてもよい。処理能力は、様々な種類の特徴抽出およびサンプリングを含む、より複雑なタスクを実行するのに十分なものであってもよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理的構成が可能であることは当業者には明らかである。
【００３２】
メモリ１０６は、プロセッサ１０４によって実行され得る命令および／またはデータを記憶する。それらの命令および／またはデータは、本明細書に記載する技法のいずれかおよび／または全てを実行するためのコードを含むことができる。メモリ１０６は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュメモリ、または当技術分野で知られている他の何らかのメモリ装置とすることができる。一実施形態では、メモリ１０６には、ハードディスクドラ
イブ、フロッピー(登録商標)ディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリデバイス、より永久的な基盤上に情報を記憶するための当技術分野で知られている他の何らかの大容量記憶装置などの、不揮発性メモリまたは同様の永久記憶装置および記憶媒体も含まれる。
【００３３】
ネットワークインターフェイス１０８は、ナビゲーションシステム１０２をネットワークに接続するためのインターフェイスである。例えばネットワークインターフェイス１０８は、ナビゲーションシステム１０２をネットワーク１０５に接続するネットワークアダプタである。ネットワークインターフェイス１０８は、信号線１１１および１０９の１つまたは複数を介してネットワーク１０５に通信可能に結合される。一実施形態では、ネットワークインターフェイス１０８が、ネットワーク１０５を介してソーシャルネットワークサーバ１２０、検索サーバ１２４、クライアント１３０、モバイル機器１３４、ウェブサーバ１３８、およびナレッジサーバ１５０の１つまたは複数からデータを受け取る。ネットワークインターフェイス１０８は、その受け取ったデータをナビゲーションシステム１０２の１つまたは複数のコンポーネント（例えば場所嗜好性モジュール１１２等）に送る。別の実施形態では、ネットワークインターフェイス１０８がナビゲーションシステム１０２の１つまたは複数のコンポーネント（例えば場所嗜好性モジュール１１２等）からデータを受け取り、そのデータを、ネットワーク１０５を介してソーシャルネットワークサーバ１２０、検索サーバ１２４、クライアント１３０、モバイル機器１３４、ウェブサーバ１３８、およびナレッジサーバ１５０の１つまたは複数に送る。
【００３４】
一実施形態では、ネットワークインターフェイス１０８が、ネットワーク１０５または別の通信チャネルへの直接物理接続用のポートを含む。例えばネットワークインターフェイス１０８には、ユニバーサルシリアルバス（ＵＳＢ）、カテゴリ５（ＣＡＴ−５）ケーブル、またはネットワーク１０５との有線通信用の同様のポートが含まれる。別の実施形態では、ネットワークインターフェイス１０８は、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、ＢＬＵＥＴＯＯＴＨ（登録商標）、近距離無線通信（ＮＦＣ）、他の適切な無線通信方法など、１つまたは複数の無線通信方法を使用してネットワーク１０５または別の通信チャネルとデータをやり取りするための無線トランシーバを含む。一実施形態では、ネットワークインターフェイス１０８は、短距離通信用の無線周波（ＲＦ）を発生させるＮＦＣチップを含む。
【００３５】
ＧＰＳｌｌ０は、位置データおよびタイムスタンプデータを提供するためのシステムである。例えばＧＰＳｌｌ０は、実時間で車両の位置を突き止め、現在時刻を表すタイムスタンプデータを提供する従来のＧＰＳである。一実施形態ではＧＰＳｌｌ０が、位置データおよびタイムスタンプデータを場所嗜好性モジュール１１２に送る。当業者は、ＧＰＳ１１０が運転情報（例えば目的地までの運転指示、推定到着時間等）およびガソリンスタンド、レストラン、ホテル等に関する情報などの他の情報をユーザに与えることができることを理解されよう。
【００３６】
場所嗜好性モジュール１１２は、ユーザにとっての場所の嗜好性をモデル化し、推定するためのコードおよびルーチンである。一実施形態では、場所嗜好性モジュール１１２が、プロセッサ１０４のオンチップ記憶装置（図示せず）内に記憶されるコードおよびルーチンを含む。別の実施形態では、場所嗜好性モジュール１１２が、書替え可能ゲートアレイ（ＦＰＧＡ）や特定用途向け集積回路（ＡＳＩＣ）などのハードウェアを使用して実装される。さらに別の実施形態では、場所嗜好性モジュール１１２がハードウェアとソフトウェアとの組合せを使用して実装される。
【００３７】
ユーザにとっての場所の嗜好性は、１つまたは複数の場所に対するユーザの好みを表すデータである。例えばユーザにとっての場所の嗜好性は、そのユーザが好きな１つまたは
複数の場所に関する１つまたは複数の特徴を表すデータを含む。例えばユーザは、トヨタ、Ｘコーヒーなどの特定のブランドを有する場所を好む。本明細書では以下、場所の嗜好性を場所の好みとも呼ぶ。場所嗜好性モジュール１１２については、図２〜図１８に関して以下でより詳しく説明する。
【００３８】
記憶装置１１８は、データを記憶する持続性メモリである。例えば記憶装置１１８は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）装置、スタティックランダムアクセスメモリ（ＳＲＡＭ）装置、フラッシュメモリ、または当技術分野で知られている他の何らかのメモリ装置である。一実施形態では、記憶装置１１８には、ハードディスクドライブ、フロッピディスクドライブ、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）装置、デジタル多用途ディスク読取専用メモリ（ＤＶＤ−ＲＯＭ）装置、デジタル多用途ディスクランダムアクセスメモリ（ＤＶＤ−ＲＡＭ）装置、デジタル多用途ディスク書替え可能（ＤＶＤ−ＲＷ）装置、フラッシュメモリデバイス、当技術分野で知られている他の何らかの不揮発性記憶装置などの、不揮発性メモリまたは同様の永久記憶装置および記憶媒体も含まれる。
【００３９】
一実施形態では、記憶装置１１８が、１人または複数のユーザを認証するための識別データ、ユーザが訪れた１つまたは複数の場所（ユーザが訪れた１つまたは複数の関心地点（Ｐ０１）とも呼ぶ）を表す履歴場所データ、ユーザが好きな１つまたは複数の場所を表す好きな場所データ、地理空間的場所ルックアップテーブル、ユーザのための１つまたは複数の場所嗜好性モデルを表すモデルデータ、１つまたは複数の場所に関する１つまたは複数の嗜好性スコアを表す嗜好性スコアデータ、１つまたは複数の場所に関するリッチな場所データ、およびユーザの関心事、趣味等を表すユーザプロファイルデータを記憶する。当業者は、記憶装置１１８が本明細書に記載の機能を提供するための他の任意のデータを記憶し得ることを理解されよう。
【００４０】
一実施形態では記憶装置１１８が、場所のカテゴリおよびそれらの場所の種類のそれぞれに関連する特性に基づく、場所の概念階層を定義するオントロジを組み込む。オントロジの中の全ての概念および特性は、オントロジネームスペースに属する。一実施形態では、記憶装置１１８の中に記憶されるデータがＵＲＩ（Uniform Resource Identifier）に
よって識別され、リソース記述フレームワーク（ＲＤＦ）内で表される。例えば、リッチな場所データを複数のソースから取得し、記憶装置１１８の中のオントロジ内に組み込む。別の実施形態では、記憶装置１１８が、リスト、スタック、およびキューのうちの１つまたは複数を含むより洗練されたデータ構造を提供する。例えば記憶装置１１８は、ナビゲーションシステム１０２などシステム１００の要求側コンポーネントに、ソート済みの場所のリストを提供する。記憶装置１１８については、図３Ａ〜図３Ｂに関して以下でより詳しく説明する。
【００４１】
ディスプレイ１６０は、ユーザにデータを表示するための任意の装置である。例えばディスプレイ１６０は、タッチスタリーンディスプレイ装置、液晶ディスプレイ（ＬＣＤ）、および当業者に知られている他の任意の従来のディスプレイ装置のうちの１つである。
【００４２】
センサ１７０は、走行車両の任意の種類のデータを集めるように構成される任意の種類の従来型のセンサである。例えばセンサ１７０は、光検知測距（ＬＩＤＡＲ）センサ、赤外線検出器、モーションセンサ、サーモスタット、および音響検出器等のうちの１つまたは複数である。当業者は、他の種類のセンサも可能であることを理解されよう。
【００４３】
一実施形態では、システム１００が様々な種類のセンサ１７０の組合せを含む。例えばシステム１００は、現在時刻を求めるための第１のセンサ１７０、および実時間で車両の位置を突き止めるための第２のセンサ１７０を含む。別の実施形態では、システム１００
は、ある場所で費やした時間を推定するためのセンサ１７０を含む。例えばセンサ１７０は、ユーザが車両を離れる第１のタイムスタンプおよびユーザが車両に戻る第２のタイムスタンプを特定する。センサ１７０は、第１のタイムスタンプと第２のタイムスタンプとの時間差に少なくとも部分的に基づき、その場所で費やされた時間を求める。
【００４４】
ソーシャルネットワークサーバ１２０は、プロセッサ（図示せず）と、ユーザにソーシャルネットワークを提供するためのデータを記憶するコンビュータ可読記憶媒体（図示せず）とを有する、任意のコンピューティングデバイスである。１つのソーシャルネットワークサーバ１２０しか図示しないが、複数のソーシャルネットワークサーバ１２０が存在してもよいことを当業者なら理解されよう。ソーシャルネットワークは、ユーザが共通の特徴によって結び付けられる任意の種類の社会構造である。共通の特徴には、友人関係、家族、職業、関心事などが含まれる。明示的に定義される関係および他のユーザとの社会的つながりによって暗に示される関係を含め、共通の特徴は、システム１００内に含まれるものなど、１つまたは複数のソーシャルネットワーキングシステムによって提供され、それらの関係はソーシャルグラフ内に定められる。ソーシャルグラフは、ソーシャルネットワーク内の全ユーザについての、およびそれらのユーザが互いにどのように関係するのかについてのマッピングである。
【００４５】
明瞭にするためにおよび便宜上、本明細書では以下、ユーザの社会的つながりを、共通の特徴の１つまたは複数によってユーザに結び付けられる別のユーザとも呼ぶ。
【００４６】
図示の実施形態ではソーシャルネットワークサーバ１２０がソーシャルネットワークアプリケーション１２２を含む。ソーシャルネットワークアプリケーション１２２はソーシャルネットワークサーバ１２０のメモリ（図示せず）上に記憶されるコードおよびルーチンを含み、それらのコードおよびルーチンは、ソーシャルネットワークサーバ１２０のプロセッサ（図示せず）によって実行されるとき、クライアントデバイス１３０および／またはモバイル機器１３４がネットワーク１０５を介してアクセス可能なソーシャルネットワークをソーシャルネットワークサーバ１２０に提供させる。一実施形態では、ユーザがソーシャルネットワーク上でコメントを公開する。例えば、ソーシャルネットワークアプリケーション１２２のユーザが状況更新を行い、他のユーザがその状況更新に対してコメントする。別の実施形態では、車両内にいるユーザが、ナビゲーションシステム１０２に追加されるソーシャル機能によってソーシャルネットワークと対話する。例えば、ユーザはナビゲーションシステム１０２のディスプレイ１６０によって提示されるグラフィカルユーザインターフェイス（ＧＵＩ）上に示される「共有」ボタンなどのソーシャルグラフィックをクリックして、ソーシャルネットワーク内で好きな場所を共有する。
【００４７】
検索サーバ１２４は、プロセッサ（図示せず）と、ユーザに検索サービスを提供するためのデータを記憶するコンピュータ可読記憶媒体（図示せず）とを有する、任意のコンピューティングデバイスである。図示の実施形態では、検索サーバ１２４が検索モジュール１２６を含む。検索モジュール１２６は、ユーザに１つまたは複数の検索結果を提供するためのコードおよびルーチンである。一実施形態では、検索モジュール１２６がナビゲーションシステム１０２を操作するユーザからネットワーク１０５を介して検索要求を受け取り、その検索要求に一致する１つまたは複数の結果を得るために複数のデータソース（例えば検索サーバ１２４内に含まれるデータソース、ソーシャルネットワークサーバ１２０のデータソース等）を検索し、結果をナビゲーションシステム１０２に送る。
【００４８】
例えば検索モジュール１２６は、ナビゲーションシステム１０２を操作するユーザの現在地付近の銀行を検索するための入力を受け取る。検索モジュール１２６は、一致する銀行を得るために複数のデータソースを検索し、それらの銀行をネットワーク１０５を介してナビゲーションシステム１０２に送り、ディスプレイ１６０に一致する銀行をユーザに
向けて提示させる。図１４に関して以下で説明するように、一実施形態では場所嗜好性モジュール１１２が、ユーザに結果を提示する前にユーザ向けの結果をパーソナライズする。ユーザに検索結果を提示するためのＧＵＩについては、図１８に関して以下に記載する。
【００４９】
クライアント１３０は、メモリ（図示せず）およびプロセッサ（図示せず）を含む任意のコンピューティングデバイスである。例えばクライアント１３０は、パーソナルコンピュータ（ＰＣ）、携帯電話（例えばスマートフォン、フィーチャーフォン等）、タブレットコンピュータ（またはタブレットＰＣ）、ラップトップ等である。他の種類のクライアント１３０もあり得ることを当業者なら理解されよう。一実施形態では、システム１００が様々な種類のクライアント１３０の組合せを含む。
【００５０】
図示の実施形態では、クライアント１３０は、ブラウザ１３２を含む。一実施形態では、ブラウザ１３２はクライアント１３０のメモリ内に記憶され、クライアント１３０のプロセッサによって実行されるコードおよび、ルーチンである。例えばブラウザ１３２は、Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘなどのブラウザアプリケーションである。一実施形態では、ブラウザ１３２がクライアント１３０のディスプレイ装置（図示せず）上で、ユーザにＧＵＩを提示し、ユーザがＧＵＩによって情報を入力できるようにする。
【００５１】
モバイル機器１３４は、メモリ（図示せず）およびプロセッサ（図示せず）を含む任意のモバイルコンピューティングデバイスである。例えばモバイル機器１３４は、携帯電話（例えばスマートフォン、フィーチャーフォン等）、タブレットコンピュータ（またはタブレットＰＣ）、ラップトップ等である。他の種類のモバイル機器１３４もあり得ることを当業者なら理解されよう。一実施形態では、システム１００が様々な種類のモバイル機器１３４の組合せを含む。
【００５２】
図示の実施形態では、モバイル機器１３４は、シンアプリケーション１３６を含む。一実施形態では、シンアプリケーション１３６はモバイル機器１３４のメモリ内に記憶され、モバイル機器１３４のプロセッサによって実行されるコードおよびルーチンである。例えばシンアプリケーション１３６は、ユーザがナビゲーションシステム１０２と対話するためのＧＵＩを提供するアプリケーションである。
【００５３】
ウェブサーバ１３８は、ハードウェアのサーバ装置である。ウェブサーバ１３８は、ウェブサイトモジュール１４０を含む。ウェブサイトモジュール１４０は、プロセッサ（図示せず）によって実行されるとき、ウェブサーバ１３８によってホストされるウェブサイト（図示せず）を生成するコードおよび、ルーチンである。例えばウェブサーバ１３８は、ウェブサイトモジュール１４０によって生成されるウェブサイトをホストし、そのウェブサイトはナビゲーションシステム１０２、モバイル機器１３４、およびクライアントデバイス１３０上で動作するブラウザ１３２のうちの１つまたは複数により、ネットワーク１０５を介してアクセスされる。一実施形態では、ウェブサイトモジュール１４０が、ウェブサーバ１３８に関連する持続性メモリ（図示せず）上に記憶される。
【００５４】
ナレッジサーバ１５０は、プロセッサ（図示せず）と、ユーザにとっての場所の嗜好性を学習するためのデータを記憶するコンビュータ可読記憶媒体とを有する、任意のコンピューティングデバイスである。例えばナレッジサーバ１５０は、本明細書に記載の機能を提供するためのセマンティックウェブナレッジシステムである（以下に記載するＩＫＣｏＮシステムとも呼ばれる）。図示の実施形態では、ナレッジサーバ１５０が、アクセス制御モジュール１５２およびエンドポイントモジュール１５４を含む。一実施形態では、ナレッジサーバ１５０が、場所嗜好性モジュール１１２および記憶装置１１８も含む。ナレッジサーバ１５０のこれらのコンポーネントは互いに通信可能に結合される。
【００５５】
アクセス制御モジュール１５２は、ナレッジサーバ１５０へのアクセスを制御するためのコードおよびルーチンである。例えばアクセス制御モジュール１５２は、アクセス制御アプリケーションプログラミングインターフェイス（ＡＰＩ）である。一実施形態では、ユーザまたはナビゲーションシステム１０２がナレッジサーバ１５０内の任意のデータにアクセスすることを許可する前に、アクセス制御モジュール１５２は、ユーザ、または車両内に組み込まれるナビゲーションシステム１０２を認証する。例えばアクセス制御モジュール１５２は、識別情報および秘密のパスキー、またはその両方の組合せに基づいてユーザまたはナビゲーションシステム１０２を認証する。
【００５６】
一実施形態では、アクセス制御モジュール１５２が、ネームスペースに少なくとも部分的に基づいてナレッジサーバ１５０へのアクセスを制御する。例えばアクセス制御モジュール１５２は、オントロジネームスペース、インスタンスネームスペース、各ユーザのネームスペース、各プラットフォームサービスのネームスペース、およびユーザのネームスペース内の各プラットフォームサービスのサブスペース等のうちの１つまたは複数に基づいてナレッジサーバ１５０へのアクセスを制御する。一実施形態では、アクセス制御モジュール１５２が、異なるネームスペースのために異なるアクセス制御規則を確立する。例えば、システム１００内のどのコンポーネントも所有しないあらゆるユーザ固有データ（例えばユーザの自宅や職場の住所等）は、そのユーザのネームスペースに属する。アクセス制御モジュール１５２は、システム１００内のコンポーネントが、ユーザ認証データに一致するユーザの識別データを提供する限り、クライアント１３０など、システム１００内のどのコンポーネントにもアクセスを付与する。
【００５７】
エンドポイントモジュール１５４は、アプリケーションがそれを介して場所嗜好性モジュール１１２および記憶装置１１８と対話するインターフェイスを提供するためのコードおよびルーチンである。例えばエンドポイントモジュール１５４は、１つまたは複数のＲＥＳＴｆｕ１サービスを提供するためのＲＥＳＴｆｕｌエンドポイントなど、ＲＥＳＴ（representational state transfer）の制約に従うエンドポイントである。一実施形態で
は、エンドポイントモジュール１５４が、サービスを同期的に提供するか、それとも非同期的に提供するかを決定する。例えばエンドポイントモジュール１５４は、場所嗜好性モジュール１１２が場所嗜好性モデルを更新する一方で、クライアント１３０内で実行されるアプリケーションがナレッジサーバ１５０にアクセスし始めることに決める。
【００５８】
場所嗜好性モジュール１１２
次に図２を参照して、図示するのは一実施形態による、より詳細な場所嗜好性モジュール１１２を含むコンピューティングシステム２００のブロック図である。一実施形態ではコンピューティングシステム２００はナビゲーションシステム１０２である。別の実施形態では、コンピューティングシステム２００はナレッジサーバ１５０である。図示の実施形態では、場所嗜好性モジュール１１２が、通信モジュール２０１、識別モジュール２０３、場所推定モジュール２０５、好みモジュール２０７、収集モジュール２０９、モデリングモジュール２１１、スコアリングモジュール２１３、更新モジュール２１５、およびパーソナル化モジュール２１７を含む。一実施形態では、場所嗜好性モジュール１１２のこれらのコンポーネントが、バス２２０を介して互いに通信可能に結合される。コンピューティングシステム２００は、記憶装置１１８も含む。
【００５９】
図示の実施形態では、通信モジュール２０１が信号線２２２を介してバス２２０に通信可能に結合される。識別モジュール２０３が、信号線２２４を介してバス２２０に通信可能に結合される。場所推定モジュール２０５が、信号線２２６を介してバス２２０に通信可能に結合される。好みモジュール２０７が、信号線２２８を介してバス２２０に通信可能に結合される。収集モジュール２０９が、信号線２３０を介してバス２２０に通信可能
に結合される。モデリングモジュール２１１が、信号線２３２を介してバス２２０に通信可能に結合される。スコアリングモジュール２１３が、信号線２３４を介してバス２２０に通信可能に結合される。更新モジュール２１５が、信号線２３６を介してバス２２０に通信可能に結合される。パーソナル化モジュール２１７が、信号線２３８を介してバス２２０に通信可能に結合される。記憶装置１１８が、信号線２４０を介してバス２２０に通信可能に結合される。
【００６０】
通信モジュール２０１は、場所嗜好性モジュール１１２のコンポーネントとシステム１００の他のコンポーネントとの間の通信を処理するためのコードおよびルーチンである。例えば通信モジュール２０１は、ＧＰＳ１１０およびセンサ１７０の１つまたは複数から位置データおよびタイムスタンプデータを受け取り、その位置データおよびタイムスタンプデータを場所推定モジュール２０５、モデリングモジュール２１１、およびスコアリングモジュール２１３のうちの１つまたは複数に送る。一実施形態では、通信モジュール２０１が、場所嗜好性モジュール１１２のコンポーネント間の通信も処理する。例えば通信モジュール２０１は、場所推定モジュール２０５から現在訪れている場所の推定を表す場所データを受け取り、その場所データを好みモジュール２０７に送る。
【００６１】
識別モジュール２０３は、ユーザを識別するためのコードおよびルーチンである。一実施形態では、センサ１７０がユーザの識別データを読み取り、その識別データを識別モジュール２０３に送る。例えばセンサ１７０は、カードを読取機に通すことや無線認証（ＲＦＩＤ）カードによって識別データを読み取る。別の実施形態では、ユーザが、ナビゲーションシステム１０２によって生成されるグラフィカルユーザインターフェイス（ＧＵＩ）によって識別データを入力する。識別モジュール２０３は、受け取った識別データを記憶装置１１８の中に記憶されたユーザ認証データと比較し、ユーザの同一性を検証する。識別データがユーザのユーザ認証データに一致する場合、識別モジュールはユーザに関連する識別データを、場所推定モジュール２０５、収集モジュール２０９など、場所嗜好性モジュール１１２の他のコンポーネントに送る。
【００６２】
一実施形態では、識別データは、ユーザ名およびパスワード、カードや携帯端末などのユーザのプロキシ装置、および／またはユーザが登録されている車両等のうちの１つである。識別データの他の形態もあり得ることを当業者なら理解されよう。
【００６３】
場所推定モジュール２０５は、ユーザが現在訪れている場所を推定するためのコードおよびルーチンである。場所推定モジュール２０５は、車両の現在位置を表すＧＰＳ位置データなどのセンサデータ、および時刻を表すタイムスタンプデータをＧＰＳ１１０およびセンサ１７０の１つまたは複数から受け取る。一実施形態では場所推定モジュール２０５は、ユーザが現在訪れている場所を車両がその位置に止まっているとき推定する。場所推定モジュール２０５は、記憶装置１１８の中に記憶される地理空間ルックアップテーブルから、車両の位置に近い（例えばその位置の所定範囲（例えば１００メートル）内の）１つまたは複数の候補の場所を表す場所候補データを取得する。場所推定モジュール２０５は、ユーザの識別データに少なくとも部分的に基づいて、車両の位置に近い（例えばその位置の所定範囲（例えば１００メートル）内の）ユーザが過去に訪れた１つまたは複数の場所を表す履歴場所データを取得する。
【００６４】
一実施形態では、場所推定モジュール２０５が、車両の位置、時間、識別データ、履歴場所データ、および場所候補データのうちの１つまたは複数に少なくとも部分的に基づいて現在訪れている場所を推定する。一実施形態では場所推定モジュール２０５は、ユーザが過去に訪れた場所から、ある場所を現在訪れている場所として選択する。例えば場所推定モジュール２０５は、１つまたは複数の候補の場所から、ユーザによって訪問されている場所を選択する。別の実施形態では場所推定モジュール２０５が、その場所で費やされ
る時間および時刻に基づいて、ある場所を現在訪れている場所として選択する。例えば場所推定モジュール２０５は、正午であることおよび、ユーザがその場所で１時間半費やしたことに基づき、１つまたは複数の候補の場所からレストランを現在訪れている場所として決定する。さらに別の実施形態では、場所推定モジュール２０５が、車両の位置まで歩くことができる距離の範囲内にある候補の場所を現在訪れている場所として決定する。
【００６５】
場所推定モジュール２０５は、現在訪れている場所を表す場所データを、ユーザの履歴場所データの一部として記憶装置１１８の中に記憶する。
【００６６】
好みモジュール２０７は、ユーザがある場所を好きかどうか示す好みデータを決定するためのコードおよびルーチンである。好みモジュール２０７は、場所推定モジュール２０５から現在訪れている場所を表す場所データを受け取り、識別モジュール２０３からは識別データを受け取る。一実施形態では好みモジュール２０７が、場所推定モジュール２０５から新たに訪れた場所を表す新規訪問場所データを受け取る。好みモジュール２０７は、その場所への現在の訪問について、その場所で費やした時間を表すセンサデータをセンサ１７０から受け取る。好みモジュール２０７は、その場所への訪問頻度、およびその場所への過去の訪問ごとのその場所での過去の消費時間を記憶装置１１８の中に記憶される履歴場所データから取得する。
【００６７】
一実施形態では、好みモジュール２０７が、識別データ、場所データ、現在の訪問に費やされる時間、訪問頻度、および過去の各訪問で費やした時間のうちの１つまたは複数に少なくとも部分的に基づいてその場所の好みデータを決定する。一実施形態では、好みデータは、ユーザがその場所を好きであり、その場所が好きな場所（または好ましい場所）と呼ばれることを表す。好みモジュール２０７は、好きな場所を表す好きな場所データを記憶装置１１８の中に記憶する。あるいは好みデータは、ユーザがその場所を嫌いであり、その場所が嫌いな場所（または好ましくない場所）と呼ばれることを表す。一実施形態では好みモジュールが、場所に関する好みデータを記憶装置１１８の中に記憶する。
【００６８】
収集モジュール２０９は、場所に関するデータを集めるためのコードおよびルーチンである。収集モジュール２０９は、識別モジュール２０３から識別データを受け取り、好みモジュール２０７からは好きな場所を表す場所データを受け取る。収集モジュール２０９は、ユーザの好きな場所に関連する様々なデータを複数のデータソースから集める。一実施形態では収集モジュール２０９が、好きな場所に関連するデータを記憶装置１１８の中に記憶された履歴場所データから取得する。
【００６９】
一実施形態では収集モジュール２０９が、検索サーバ１２４、ウェブサーバ１３８、モバイル機器１３４、クライアント１３０、およびソーシャルネットワークサーバ１２０等のうちの１つまたは複数から好きな場所に関するデータをさらに集める。例えば収集モジュール２０９は、ユーザのソーシャルネットワーグ上の友人がその場所に訪れたことを表すデータを集める。もう１つの例として、収集モジュール２０９は、その場所に関する１つまたは複数のレビューを表すデータをウェブサーバ１３８から集める。当業者は、収集モジュール２０９が、好きな場所に関する他の任意のデータを任意のデータソースから集めることができることを理解されよう。ある場所に関して複数のデータソースから集められるデータをリッチな場所データと呼ぶ。
【００７０】
別の実施形態では、収集モジュール２０９が、場所推定モジュール２０５からある場所（例えば好きな場所または嫌いな場所）を表す場所データを受け取り、上に記載したようにその場所に関するリッチな場所データを集める。いずれの実施形態でも、収集モジュール２０９はリッチな場所データを記憶装置１１８の中に記憶する。一実施形態では、収集モジュール２０９がさらに、そのリッチな場所データをモデリングモジュール２１１およ
び／または更新モジュール２１５に送る。
【００７１】
一実施形態では、様々なソースからの入力に基づき、場所が嗜好性値を用いてユーザによって採点される。例えばユーザは、対話型ダイアログからの入力、調査、ソーシャルネットワークから取得した個人データ等に基づく嗜好性値を用いて場所を採点する。場所の嗜好性値は、ユーザがその場所をどれ位好きなのかを示す。収集モジュール２０９は、ユーザが採点した場所の嗜好性値を受け取り、その場所の嗜好性値をリッチな場所データの中に含め、それを記憶装置１１８の中に記憶する。一実施形態では、ユーザが採点した場所の嗜好性値を使用して、そのユーザのための場所嗜好性モデルを生成する。
【００７２】
モデリングモジュール２１１は、ユーザのための場所嗜好性モデルを生成するためのコードおよびルーチンである。一実施形態では、モデリングモジュール２１１が、識別モジュール２０３から識別データを、収集モジュール２０９からはリッチな場所データを受け取る。別の実施形態では、モデリングモジュール２１１が、場所を表す場所データをシステム１００内の他のコンポーネントのうちの１つまたは複数から通信モジュール２０１を介して受け取る。例えば運転者が自宅のデスクトップＰＣ上でＰＯＩ（Point of Interest）を検索し、そのＰＯＩを車に乗り込む前にデスクトップＰＣからネットワーク１０５
を介して車内ナビゲーションシステム１０２に送るときモデリングモジュール２１１は通信モジュール２０１およびネットワーク１０５を介してそのＰＯＩを受け取る。別の例として、運転者がスマートフォンから、インストールされたアプリケーションを使用して場所を選択し、その場所をナビゲーションシステム１０２の目的地として車両に送る。モデリングモジュール２１１が、その場所を表す場所データを通信モジュール２０１およびネットワーク１０５を介して受け取る。さらに別の例では、モデリングモジュール２１１は、ユーザが訪れた場所を記憶装置１１８の中の履歴場所データから取得する。次いでモデリングモジュール２１１は、それらの場所に関するリッチな場所データを取得するように収集モジュール２０９に指示し、以下に記載するようにそのユーザのための場所嗜好性モデルを構築する。
【００７３】
モデリングモジュール２１１は、リッチな場所データにコンテキストを加えるために、記憶装置１１８からユーザプロファイルデータ（例えばユーザの住所、関心事、趣味等）を取得する。例えばデータを表現するためのオントロジは、コンテキストの自動外挿（automatic extrapolation）を助ける。モデリングモジュール２１１は、モデリングモジュ
ール２１１内にプログラムされた一定の規則に基づいて、ユーザプロファイルデータをコンテキストとしてリッチな場所データに追加する。例えば、ユーザプロファイルデータがユーザの自宅または職場の住所を含む場合、モデリングモジュール２１１は、自宅からの距離または職場からの距離をコンテキストとしてリッチな場所データに追加する。
【００７４】
モデリングモジュール２１１は、１つまたは複数のセンサ１７０からセンサデータも取得し、そのセンサデータに基づいてユーザの状況を表す状況データを求める。例えばモデリングモジュール２１１は、時間が正午であることを表すタイムスタンプデータ、および車両がショッピングセンターに駐車したことを表す位置データをセンサ１７０から取得する。モデリングモジュール２１１は、そのタイムスタンプデータおよび位置データに基づいて、ユーザが外で、昼食をとっている状況を推定する。一実施形態では、モデリングモジュール２１１がその状況をコンテキストとしてリッチな場所データに追加する。例えばモデリングモジュール２１１は、運転者が銀行の現金自動預払機（ＡＴＭ）を利用したのか、それとも実際はより長い時間にわたって銀行に立ち寄る必要があったのかを、時刻が朝であったのか夕方であったのか、および銀行で費やされた時間に基づいて判断する。モデリングモジュール２１１は、運転者がＡＴＭしか利用しなかったなどの状況を、その銀行に関するリッチな場所データのコンテキストに追加する。
【００７５】
モデリングモジュール２１１は、リッチな場所データおよびコンテキストを使用して場所嗜好性モデルを生成する。一実施形態では、モデリングモジュール２１１が、ユーザプロファイルデータ、リッチな場所データ、状況データ、ならびに時間および位置を表すセンサデータ等に少なくとも部分的に基づいてユーザのための場所嗜好性モデルを生成する。一実施形態では、場所嗜好性モデルは、ユーザの場所の好みを特徴付けるモデルである。したがって場所嗜好性モデルを、好みモデルとも呼ぶ。例えば場所嗜好性モデルは、ユーザが好きな全ての場所および好きな場所の共通する特徴を表すモデルデータを含む。
【００７６】
一実施形態ではモデリングモジュール２１１が、図３Ａに関して以下に記載するモデルデータから、ユーザのための場所嗜好性モデルの前の状態を取得する。一実施形態では、図３Ａに関して以下に記載するように、モデリングモジュール２１１が、リッチな場所データおよび場所嗜好性モデルの前の状態に少なくとも部分的に基づいてユーザに関連する場所嗜好性モデルを生成する。
【００７７】
一実施形態では、モデリングモジュール２１１が、１つまたは複数のユーザ群のためのデフォルトの標準的ユーザ場所嗜好性モデルをあらかじめ計算する。例えばモデリングモジュール２１１は、経験や観察などの経験的証拠に少なくとも部分的に基づいてデフォルトの標準的ユーザ場所嗜好性モデルをあらかじめ計算する。モデリングモジュール２１１は、デフォルトの標準的ユーザ場所嗜好性モデルをモデルデータとして記憶装置１１８の中に記憶する。一実施形態では、標準的ユーザ場所嗜好性モデルは、標準的なユーザのためのあらかじめ計算された、および／またはあらかじめ構成された場所嗜好性モデルである。例えば標準的なユーザとは、人間としての一般的な好みを有する（例えば遠い場所よりも近い場所を好む）ユーザである。一実施形態ではモデリングモジュール２１１が、標準的ユーザ場所嗜好性モデルをユーザのための個々の場所嗜好性モデルに合わせてカスタマイズすることにより、標準的ユーザ場所嗜好性モデルをシード（ｓｅｅｄ）場所嗜好性モデルとして使用する。例えばモデリングモジュール２１１は、デフォルトの標準的ユーザ場所嗜好性モデルを記憶装置１１８の中のモデルデータから取得し、リッチな場所データおよびデフォルトの標準的ユーザ場所嗜好性モデルに少なくとも部分的に基づいてユーザに関連する場所嗜好性モデルを生成する。
【００７８】
一実施形態では、モデリングモジュール２１１が平均ユーザ場所嗜好性モデルを生成し、その平均ユーザ場所嗜好性モデルを周期的に発行する。例えばナレッジサーバ１５０内に含まれるモデリングモジュール２１１が、あるユーザ群のための１つまたは複数の個々の場所嗜好性モデル（例えばユーザの好みモデル）を図３Ａに関して以下に記載するモデルデータから取得し、そのユーザ群のための１つまたは複数の個々の場所嗜好性モデルを集約することにより、平均ユーザ場所嗜好性モデルを構築する。一実施形態では、モデリングモジュール２１１が、複数のユーザ群のために平均ユーザ場所嗜好性モデルを生成する。例えば湾岸地域の人々がより短い距離を好むのに対し、米国中西部の人々はより長い距離を容認することができる。モデリングモジュール２１１は、各グループ内のユーザの個々の場所嗜好性モデルを集約することにより、これらの２つの人々のグループのそれぞれについて平均ユーザ場所嗜好性モデルを構築する。
【００７９】
一実施形態では、モデリングモジュール２１１が、平均ユーザ場所嗜好性モデルをシステム１００のコンポーネントに周期的に発行する。例えばナレッジサーバ１５０内に含まれるモデリングモジュール２１１が、システム１００の他のコンポーネント（他のユーザ向けのナビゲーションシステムなど）から個々の場所嗜好性モデルを周期的に取得し、システム１００のコンポーネントに平均ユーザ場所嗜好性モデルを周期的にフィードバックする。一実施形態では、モデリングモジュール２１１が、平均ユーザ場所嗜好性モデルを図３Ａに関して以下に記載するモデルデータから取得し、リッチな場所データおよび平均ユーザ場所嗜好性モデルに少なくとも部分的に基づいてユーザに関連する場所嗜好性モデ
ルを生成する。
【００８０】
一実施形態では、モデリングモジュール２１１が機械学習法を適用してユーザのための場所嗜好性モデルを生成する。モデリングモジュール２１１は、場所嗜好性モデルを生成するために使用するデータ（例えばＲＤＦで表されるデータ）を適切な表現（例えば機械学習可能データ）に変換する。異なるソースは、リッチな場所データなどのデータのための異なる表現を有する。モデリングモジュール２１１は、様々なソースからのデータを機械学習可能データに変換する。機械学習可能データについては、図１６に関して以下でより詳しく説明する。次いでモデリングモジュール２１１は、機械学習法をデータに適用し、ユーザのための場所嗜好性モデルを生成する。一実施形態では、モデリングモジュール２１１が、ユーザのための場所嗜好性モデルを表すモデルデータを記憶装置１１８の中に記憶する。
【００８１】
スコアリングモジュール２１３は、場所の嗜好性スコアを推定するためのコードおよびルーチンである。一実施形態では、スコアリングモジュール２１３が、ユーザ、場所推定モジュール２０５、およびシステム１００の他の任意のコンポーネントのうちの１つから場所を表す場所データを受け取る。一実施形態では、その場所はユーザが訪れた場所である。別の実施形態では、その場所はユーザが過去に訪れていない場所である。スコアリングモジュール２１３は、収集モジュール２０９からその場所に関するリッチな場所データを受け取る。一実施形態では、スコアリングモジュール２１３が、記憶装置１１８およびシステム１００の他のコンポーネントの１つまたは複数からユーザプロファイルデータ、状況データ、およびセンサデータも受け取る。スコアリングモジュール２１３は、ユーザプロファイルデータおよび状況データをコンテキストとしてリッチな場所データに追加する。スコアリングモジュール２１３は、ユーザのための場所嗜好性モデルを記憶装置１１８から取得し、リッチな場所データ、ユーザプロファイルデータ、状況データ、ならびに時間および位置を表すセンサデータ等に少なくとも部分的に基づき、場所嗜好性モデルを使用してその場所の嗜好性スコアを推定する。一実施形態では、スコアリングモジュール２１３が嗜好性スコアを記憶装置１１８の中に記憶する。
【００８２】
別の実施形態では、スコアリングモジュール２１３が、パーソナル化モジュール２１７に関して以下に記載するようにパーソナル化モジュール２１７から一致する場所を表すデータを受け取り、一致する場所の嗜好性スコアを推定する。一致する場所とは、ユーザからの検索要求に一致する場所である。スコアリングモジュール２１３は、一致する場所の嗜好性スコアをパーソナル化モジュール２１７に送る。
【００８３】
スコアリングモジュール２１３は、以下に記載するようにある場所の嗜好性スコアを推定する。一実施形態ではスコアリングモジュール２１３が、受け取った場所を表すデータを機械学習可能データに変換し、スコア関数を適用してその場所の嗜好性スコアを推定する。例えばスコアリングモジュール２１３は、教師なし分類アルゴリズムにおける最近傍計算と似た方法でユークリッド距離を計算するスコア関数を使用する。一実施形態では、以下に記載するようにスコア関数は、ユニティからの距離メトリク（distance-from-unity metric）に基づく。
【００８４】
スコア付けすべき場所について、スコアリングモジュール２１３は、その場所の属性（または特性）の値に関する尤度確率を直交軸上に投影する。一実施形態では、機械学習可能テーブル１６００に図示するように場所の属性（または特性）を値として表す。特性の値(value)について、スコアリングモジュール２１３は、その列の頻度数テーブルに基づ
いて尤度確率をp("value"|preferred)として計算する。それぞれの軸上に、常に好まれる値である最大可能スコア１．０、およびテーブル１６００にない値に対する最小スコア０．０を有する連続値関数として尤度確率を投影する。スコアリングモジュール２１３は、
場所を多次元空間内の点として投影する。スコアリングモジュール２１３は、ユーザによって常に好まれる場所はその尤度値１．０を全ての軸上で有すると仮定する。その場所を表す点は、多次元空間内の座標（1.0, 1.0, 1.0, 1.0, 1.0, ...）を有する。スコアリングモジュール２１３は、この点を「ユニティ」として定め、スコア付けすべき場所の投影点と「ユニティ」点との間のユークリッド距離を計算する。一実施形態では、スコアリングモジュール２１３がユークリッド距離を場所の嗜好性スコアとして使用し、「ユニティ」までの最小距離を有する場所がユーザにとって最も好ましい場所である。
【００８５】
機械学習可能テーブル１６００の中に示すように、場所の特性を数値、文字列値、および名目値（nominal value）を含む値として表す。スコアリングモジュール２１３は、ガ
ウス分布を使用して数値の確率を計算する。一実施形態では、スコアリングモジュール２１３がさらに確率密度関数を平均の確率密度で除算することにより確率密度関数を正規化する。そうすることで、距離を０から１の範囲に基準化する。スコアリングモジュール２１３は、単純ベイズ確率に基づく（Naive-Bayes probability based）ドキュメント類似
性メトリクと同様に文字列値の確率を計算する。スコアリングモジュール２１３は、テーブルの列の中に記号が発生する確率として名目値の確率を計算する。
【００８６】
一実施形態では、スコアリングモジュール２１３が属性（または特性）を自らの超空間（hyperspace）内に展開し、その超空間内の、内部オブジェクトの「ユニティ」点までの距離を計算する。次いでスコアリングモジュール２１３は、その距離を超空間内の起点からユニティ点までの距離で除算することにより、その距離を０から１の値に正規化する。スコアリングモジュール２１３は、属性の超空間を単一の軸に縮小して元に戻し、正規化済みの距離が元の多次元空間内の単一の軸上の「ユニティ」点からの距離になる。多値特性では、スコアリングモジュール２１３がその全ての値の距離の平均をとる。
【００８７】
以下は一実施形態による、上で論じた方法に基づいて場所の嗜好性をスコア付けする一例である。テーブル１６００内に示す銀行を表すデータを活用し、スコアリングモジュール２１３は、ＡＢＣ銀行の嗜好性スコア（または距離）を計算する。その計算を以下のように示す。
【数１】
2013122456.tif 000003
【００８８】
別の実施形態では、スコアリングモジュール２１３が、単純ベイズ分類アルゴリズムに基づく別のスコア関数を適用して場所の嗜好性をスコア付けする。１つの場所をスコア付けするために、スコアリングモジュール２１３はその場所が好まれている単純ベイズ確率を計算する。２つの場所をスコア付けするために、スコアリングモジュール２１３は、それらの場所が好まれている確率を比較し、それらの場所のどちらがユーザによって好まれる可能性が高いのかを判定する。例えばスコアリングモジュール２１３は、図１６に示す例においてＡＢＣ銀行が好まれている確率を以下のように計算する。
【数２】
2013122456.tif 000004
【００８９】
更新モジュール２１５は、場所嗜好性モデルを更新するためのコードおよびルーチンである。一実施形態では、新たな場所が追加されるたびに好みモデル全体を最初から構築する代わりに、更新モジュール２１５が増分アプローチを適用して好みモデルを構築する。例えば新たな場所を受け取ると、更新モジュール２１５は、ユーザのための場所嗜好性モデルを記憶装置１１８から取得し、ユーザが訪れた新たな場所を表す場所データに少なくとも部分的に基づいてそのユーザのための場所嗜好性モデルを更新する。
【００９０】
一実施形態では更新モジュール２１５が、図３Ａに関して以下に記載するモデルデータから、ユーザのための場所嗜好性モデルの前の状態を取得する。一実施形態では、図３Ａに関して以下に記載するように、更新モジュール２１５が、リッチな場所データおよび場所嗜好性モデルの前の状態に少なくとも部分的に基づいてユーザに関連する場所嗜好性モデルを生成する。別の実施形態では更新モジュール２１５が、図３Ａに関して以下に記載するモデルデータから、デフォルトの標準的ユーザ場所嗜好性モデルを取得し、リッチな場所データおよびデフォルトの標準的ユーザ場所嗜好性モデルに少なくとも部分的に基づいてユーザに関連する場所嗜好性モデルを生成する。さらに別の実施形態では更新モジュール２１５が、図３Ａに関して以下に記載するモデルデータから、平均ユーザ場所嗜好性モデルを取得し、リッチな場所データおよび平均ユーザ場所嗜好性モデルに少なくとも部分的に基づいてユーザに関連する場所嗜好性モデルを生成する。
【００９１】
一実施形態では更新モジュール２１５が、直近の一定数の好ましい場所しか含まないように場所嗜好性モデルを最適化する。こうすることで、モデルの規模が増すことによってモデルの性能が劣化し始めることはなくなる。更新モジュール２１５は、好みモデルの遅延書込みを使用することにより、ディスク書込みを減らすための最適化も行う。更新モジュール２１５については、図１２Ａ〜図１２Ｂに関して以下でより詳しく説明する。
【００９２】
パーソナル化モジュール２１７は、パーソナライズされた検索結果をユーザに提供するためのコードおよびルーチンである。パーソナル化モジュール２１７は、ユーザの要求に基づいて、パーソナライズされた結果をユーザに提供する。例えばユーザは、あまり知らない場所にいるとき、ナビゲーションシステム１０２を使用して付近の銀行を検索する。パーソナル化モジュール２１７は、システム１００内の他のコンポーネントと協力してパーソナライズされた検索結果をユーザに提供する。
【００９３】
パーソナル化モジュール２１７は、ある場所（例えば銀行、ガソリンスタンド等）を検
索するための検索要求をユーザから受け取り、１つまたは複数の一致する結果を求めて検索サーバ１２４に問い合わせる。検索サーバ１２４は、検索要求に一致する１つまたは複数の一致した場所をパーソナル化モジュール２１７に返す。一実施形態では、パーソナル化モジュール２１７が１つまたは複数のデータソースを検索して、検索要求に一致する１つまたは複数の一致した場所を特定する。パーソナル化モジュール２１７は、一致した場所をスコアリングモジュール２１３に送り、一致した場所ごとに嗜好性スコアを生成するようにスコアリングモジュール２１３に指図する。パーソナル化モジュール２１７は、嗜好性スコアに少なくとも部分的に基づいて一致した場所をパーソナライズし、パーソナライズした結果をユーザに提示する。パーソナル化モジュール２１７については、図１４に関して以下でより詳しく説明する。
【００９４】
一実施形態では、ユーザが注意散漫になるのを最小限にする安全上の配慮から、車両を運転するユーザに表示する一致した場所の数を制限する。パーソナル化モジュール２１７は、一致した場所を嗜好性スコアに少なくとも部分的に基づく順番にソートし、ユーザに提示されるパーソナライズされた結果として、最も高い嗜好性スコアを有する１つまたは複数の一致する場所を決定する。
【００９５】
一実施形態では、例えば場所推定モジュール２０５が、車両の位置に少なくとも部分的に基づいてユーザが訪れた任意の場所を自動的に推定するので、システム１００はとりわけ有利である。一実施形態では、例えばユーザが車両を道路に駐車し、道の向こう側にある店を訪れる場合があるので、車両の位置はユーザが訪れる場所と異なる。さらに好みモジュール２０７は、訪れた場所をユーザが好きかどうかを自動的に判定し、ユーザの手動入力を一切必要としない。一実施形態では、場所嗜好性モジュール１１２が、ユーザが訪れた履歴的な場所およびユーザが過去に訪れていない新たな場所の両方の嗜好性スコアを推定することができる、場所嗜好性モデルを確立する。
【００９６】
記憶装置１１８
図３Ａは、一実施形態による記憶装置１１８を例示するブロック図３００である。記憶装置１１８は、センサデータ３０１、ユーザデータ３０３、履歴場所データ３０５、地理空間的場所ルックアップテーブル３０７、好みデータ３０９、好きな場所データ３１１、リッチな場所データ３１３、モデルデータ３１５、および嗜好性スコアデータ３１７を含む。一実施形態では、好みデータ３０９および好きな場所データ３１１が履歴場所データ３０５の中に含まれることを示すために、図３Ａでは好みデータ３０９および好きな場所データ３１１は破線を使って示す。当業者は、記憶装置１１８が本明細書に記載の機能を提供するための他のデータを含み得ることを理解されよう。
【００９７】
センサデータ３０１には、ＧＰＳｌｌ０およびセンサ１７０の１つまたは複数からの位置データおよびタイムスタンプデータが含まれる。位置データは車両の位置を表す。タイムスタンプデータはある場所で費やされる時間を推定するために使用可能な様々な時刻を表す。例えばセンサ１７０は、第１のタイムスタンプと第２のタイムスタンプとの時間差に基づいてある場所で費やされた時間を求める。一実施形態では、位置データおよびタイムスタンプデータを使用してユーザの状況を求める。
【００９８】
ユーザデータ３０３には、識別データ、ユーザ認証データ、およびユーザプロファイルデータのうちの１つまたは複数が含まれる。識別データおよびユーザ認証データは、１人または複数のユーザを認証するために使用する。ユーザプロファイルデータは、ユーザの関心事、趣味等を表す。一実施形態では、ユーザプロファイルデータが、ユーザの１つまたは複数の社会的つながりも表す。ユーザのための場所嗜好性モデルを生成するために、ユーザのユーザプロファイルデータをリッチな場所データのコンテキストに追加することができる。
【００９９】
履歴場所データ３０５は、ユーザが訪れた１つまたは複数の場所を表す。ユーザが訪れた１つまたは複数の場所は、ユーザが訪れた１つまたは複数のＰＯＩとも呼ぶ。一実施形態では履歴場所データ３０５は、ユーザがその場所を好きかどうかを示す、１つまたは複数の訪問した場所に関連する好みデータ３０９も含む。例えば履歴場所データ３０５には、ユーザが訪れた各場所、その場所への訪問頻度、その場所への訪問ごとにその場所で費やした時間、およびその場所に関する好みデータ３０９のうちの１つまたは複数を表すデータが含まれる。一実施形態では、履歴場所データ３０５は、ユーザが好きな１つまたは複数の場所を表す好きな場所データ３１１も含む。
【０１００】
地理空間的場所ルックアップテーブル３０７は、車両の位置に関連する場所候補を調べるために使用するテーブルである。例えば、場所推定モジュール２０５が車両の位置を表す位置データをセンサ１７０から受け取り、その車両の位置の一定の範囲（例えば１００メートル）内の場所候補を求めて地理空間的場所ルックアップテーブル３０７をクエリする。
【０１０１】
好みデータ（Like Data）３０９は、ユーザがある場所を好きかどうかを示すデータで
ある。一実施形態では、好みモジュール２０７が場所の好みデータ３０９を決定する。ユーザがある場所を好きであると好みモジュール２０７が判定する場合、その場所は好きな場所または好ましい場所と呼ばれる。あるいは好みデータは、ユーザがある場所を嫌いであることを表す。好みデータ３０９は、履歴場所データ３０５の中に含まれる１つまたは複数の場所とともに記憶できることを示すために、図３Ａでは好みデータ３０９は破線を使って示す。
【０１０２】
好きな場所データ（Liked Place Data）３１１は、ユーザが好きな１つまたは複数の好かれた場所を表す。実施形態では、好みモジュール２０７が１つまたは複数の好きな場所を求め、それらを記憶装置１１８の中に記憶する。好きな場所データ３１１は、代わりに履歴場所データ３０５の中に記憶できることを示すために、図３Ａでは好きな場所データ３１１は破線を使って示す。
【０１０３】
リッチな場所データ（Rich Place Data）３１３は、複数のデータソースからの、ユー
ザの場所に関連する様々なデータである。例えば収集モジュール２０９が、記憶装置１１８の中に記憶される履歴場所データ、検索サーバ１２４、ウェブサーバ１３８、モバイル機器１３４、クライアント１３０、およびソーシャルネットワークサーバ１２０等のうちの１つまたは複数から好きな場所に関するデータを取得する。リッチな場所データ３１３ならびにセンサデータ３０１などの他のデータを使用して、ユーザのための場所嗜好性モデルを生成する。一実施形態ではリッチな場所データ３１３が、様々なソースからの入力に基づく、ユーザが採点した場所に関する嗜好性値を含む。
【０１０４】
モデルデータ３１５は、ユーザのための１つまたは複数の場所嗜好性モデルを表す。例えば場所嗜好性モデルは、ユーザの場所の好みを特徴付け、ユーザが好きな全ての場所および好きな場所の共通する特徴を表すモデルデータを含む。一実施形態では、モデルデータ３１５が、経験的証拠に基づいて１つまたは複数のユーザ群についてあらかじめ計算されたデフォルトの標準的ユーザ場所嗜好性モデルを含む。別の実施形態では、モデルデータ３１５が、あるユーザ群のための１つまたは複数の個々の場所嗜好性モデルを集約することによって構築される平均ユーザ場所嗜好性モデルを含む。
【０１０５】
嗜好性スコアデータ３１７は、ユーザが訪れていても訪れていなくてもよい、１つまたは複数の場所に関する１つまたは複数の嗜好性スコアを表す。一実施形態ではスコアリングモジュール２１３が、リッチな場所データ、ユーザプロファイルデータ、状況データ、
ならびに時間および位置を表すセンサデータ等に少なくとも部分的に基づき、ユーザのための場所嗜好性モデルを使用してその場所の嗜好性スコアを推定する。別の実施形態では、スコアリングモジュール２１３が、ユーザからの検索要求に場所を一致させるための嗜好性スコアを生成する。
【０１０６】
図３Ｂは、一実施形態による、記憶装置１１８の中に含まれる場所オントロジサブセット３５０を例示するブロック図である。場所オントロジサブセット３５０は、場所のカテゴリおよび場所の種類に関連する特性に基づく場所の概念階層を特徴付ける。要素３５２は、ＰＯＩを表すデータタイプのグラフィック表現であり、このオントロジ３５０の最も高いレベルにある。要素３６２は、ＰＯＩ３５２に関連する特性を表すデータのグラフィック表現である。
【０１０７】
要素３５４、３５６、３５８、３６０は、食品雑貨店３５４、映画館３５６、銀行３５８、およびガソリンスタンド３６０をそれぞれ表すデータタイプのグラフィック表現である。これらの要素は、ＰＯＩ３５２よりも低いレベルにある。言い換えれば、これらの要素は異なる種類のＰＯＩである。要素３６６は、銀行３５８に関連する特性を表すデータのグラフィック表現である。要素３６４は、ガソリンスタンド３６０に関連する特性を表すデータのグラフィック表現である。
【０１０８】
方法
図４は、一実施形態による、ユーザを識別するための方法４００を例示する流れ図である。一実施形態では、方法４００は識別モジュール２０３によって実施される。識別モジュール２０３が、通信モジュール２０１からユーザの識別データを受け取る（４０２）。例えば、ユーザがナビゲーションシステム１０２によって生成されるＧＵＩによって識別データを入力する場合、識別モジュール２０３は通信モジュール２０１を介してそのユーザの識別データを受け取る。一実施形態では、識別データはユーザ名およびパスワードである。
【０１０９】
識別モジュール２０３が、記憶装置１１８の中に含まれるユーザデータ３０３からユーザのユーザ認証データを取得し（４０４）、識別データをユーザ認証データと比較する（４０６）。識別モジュール２０３が、その比較に基づいてユーザを識別する（４０８）。比較に基づき、識別データがユーザ認証データに一致すると識別モジュール２０３が判定する場合、識別モジュール２０３はそのユーザを識別し、場所推定モジュール２０５など、場所嗜好性モジュール１１２の他のコンポーネントに識別データを送る（４１０）。
【０１１０】
図５は、一実施形態による、現在訪れている場所を推定するための方法５００を例示する流れ図である。一実施形態では、方法５００は場所推定モジュール２０５によって実施される。場所推定モジュール２０５が、車両の位置および時刻を表すセンサデータを受け取る（５０２）。車両の位置に基づいて、場所推定モジュール２０５が記憶装置１１８の中の地理空間的場所ルックアップテーブル３０７をクエリし、地理空間的場所ルックアップテーブル３０７から場所候補データを取得する（５０４）。場所候補データは、車両の位置の一定の範囲（例えば１００メートル）内の１つまたは複数の場所候補を表す。
【０１１１】
場所推定モジュール２０５が、識別モジュール２０３からユーザの識別データを受け取り（５０６）、そのユーザの識別データに基づいて履歴場所データを取得する（５０８）。例えば取得される履歴場所データは、車両の位置の近くにある、ユーザが過去に訪れた１つまたは複数の場所を含む。
【０１１２】
場所推定モジュール２０５が、車両の位置、時間、識別データ、履歴場所データ、および場所候補データのうちの１つまたは複数に少なくとも部分的に基づいて現在訪れている
場所を推定する（５１０）。例えば場所推定モジュール２０５は、時刻およびその場所で費やされた時間に基づいて、１つまたは複数の場所候補から１つの場所を現在訪れている場所として選択する。場所推定モジュール２０５は、推定した現在訪れている場所をユーザの履歴場所データの一部として記憶装置１１８の中に記憶する（５１２）。
【０１１３】
図６は、一実施形態による、現在訪れている場所についての好みデータを決定するための方法６００を例示する流れ図である。一実施形態では、方法６００は好みモジュール２０７によって実施される。好みモジュール２０７が、場所推定モジュール２０５から現在訪れている場所を受け取り（６０２）、識別モジュール２０３から識別データを受け取る。好みモジュール２０７はさらに、現在訪れている場所への現在の訪問に費やされる時間を表すセンサデータをセンサ１７０から受け取り（６０４）、現在訪れている場所への訪問頻度および過去の訪問ごとに費やした時間を記憶装置１１８の中の履歴場所データから取得する（６０６）。
【０１１４】
好みモジュール２０７が、場所データ、識別データ、現在の訪問に費やされる時間、訪問頻度、および過去の訪問ごとに費やした時間のうちの１つまたは複数に少なくとも部分的に基づいて、現在訪れている場所に関する好みデータを求める（６０８）。一実施形態では、好みデータは、ユーザが現在訪れている場所を好きであることを表し、その場所は好きな（または好ましい）場所と呼ばれる。別の実施形態では、好みデータは、ユーザがその場所を嫌いであることを示し、その場所は嫌いな（または好ましくない）場所と呼ばれる。好みモジュール２０７が、好みデータを記憶装置１１８の中に記憶する（６１０）。
【０１１５】
図７は、一実施形態による、場所についてのリッチな場所データを形成するための方法７００を例示する流れ図である。一実施形態では、方法７００は収集モジュール２０９によって実施される。収集モジュール２０９が、識別モジュール２０３からユーザの識別データを受け取り（７０２）、そのユーザの１つまたは複数の好きな場所を表す好きな場所データを取得する（７０４）。
【０１１６】
収集モジュール２０９が、その１つまたは複数の好きな場所に関連するデータを複数のソースから集める（７０６）。例えば収集モジュール２０９は、１つまたは複数の好きな場所に関するデータを検索サーバ１２４、ウェブサーバ１３８、モバイル機器１３４、クライアント１３０、およびソーシャルネットワークサーバ１２０等のうちの１つまたは複数から取得する。例えば取得されるデータは、好きな場所のうちの１つまたは複数を訪れた、ユーザのソーシャルネットワーク上の社会的つながり（例えば友人）を表すデータを含む。
【０１１７】
一実施形態では、収集モジュール２０９が、ユーザが採点した場所の嗜好性値を受け取る（７０８）。例えばユーザは、対話型ダイアログからの入力、調査、ソーシャルネットワークから取得した個人データ等に基づく嗜好性値を用いて場所を採点する。収集モジュール２０９が、複数のソースから取得したデータおよびユーザからの嗜好性値に基づいてリッチな場所データを形成する（７１０）。
【０１１８】
図８は、一実施形態による、ユーザのための場所嗜好性モデルを生成するための方法８００を例示する流れ図である。一実施形態では、方法８００はモデリングモジュール２１１によって実施される。モデリングモジュール２１１が、識別モジュール２０３からユーザの識別データを受け取り、収集モジュール２０９からはリッチな場所データを受け取る（８０２）。モデリングモジュール２１１はさらに、その識別データに基づいてユーザのユーザプロファイルデータを記憶装置１１８から取得し（８０４）、センサ１７０およびＧＰＳ１１０の１つまたは複数からセンサデータを受け取る（８０６）。一実施形態では
、そのセンサデータは車両の位置および時間を表す。
【０１１９】
モデリングモジュール２１１が、センサデータに基づいてユーザの状況を表す状況データを求める（８０８）。例えばモデリングモジュール２１１は、ある場所で費やされる時間が２時間を超え、かつ車両の位置がショッピングモールの駐車場にあることに基づいて、ユーザが買い物に出かけていると判断する。一実施形態ではモデリングモジュール２１１が、場所嗜好性モデルの前の状態をモデルデータ３１５から取得する（８１０）。モデリングモジュール２１１が、ユーザプロファイルデータ、リッチな場所データ、状況データ、および場所嗜好性モデルの前の状態等に少なくとも部分的に基づいてユーザのための場所嗜好性モデルを推定する（８１２）。例えば場所嗜好性モデルは、ユーザの場所の好みを表す。
【０１２０】
図９は、一実施形態による、場所の嗜好性スコアを推定するための方法９００を例示する流れ図である。一実施形態では、方法９００はスコアリングモジュール２１３によって実施される。スコアリングモジュール２１３が、ユーザに関連する場所を表す場所データを受け取る（９０２）。一実施形態では、その場所はユーザが現在訪れている場所である。別の実施形態では、その場所はユーザからの検索要求に一致する場所である。
【０１２１】
スコアリングモジュール２１３が、識別モジュール２０３からユーザの識別データを受け取り（９０４）、収集モジュール２０９からその場所のリッチな場所データを受け取る（９０６）。スコアリングモジュール２１３はさらに、ユーザプロファイルデータを記憶装置１１８から、センサデータおよび状況データをセンサ１７０から取得する（９０８）。
【０１２２】
スコアリングモジュール２１３が、ユーザのための場所嗜好性モデルを記憶装置１１８から取得し（９１０）、リッチな場所データ、ユーザプロファイルデータ、状況データ、およびセンサデータ等に少なくとも部分的に基づき、その場所嗜好性モデルを使用してその場所の嗜好性スコアを推定する（９１２）。
【０１２３】
図１０Ａ〜図１０Ｂは、別の実施形態による、現在訪れている場所を推定するための方法１０００を例示する流れ図である。
【０１２４】
図１０Ａを参照して、通信モジュール２０１がユーザから識別データを受け取り（１００２）、その識別データを識別モジュール２０３に送る。識別モジュール２０３が、その識別データに少なくとも部分的に基づいてユーザを識別する（１００４）。例えば識別モジュール２０３は、識別データを記憶装置１１８の中に記憶されるユーザ承認データと比較することによってユーザを識別する。
【０１２５】
通信モジュール２０１が、車両の現在位置および現在時刻を表すセンサデータを受け取り（１００６）、そのセンサデータを場所推定モジュール２０５に送る。通信モジュール２０１が、車両の位置に少なくとも部分的に基づいて場所の地理空間的ルックアップテーブルから場所候補データを取得する（１００８）。一実施形態では、場所候補データは、車両の位置までの所定の距離内にある１つまたは複数の場所候補を含む。通信モジュール２０１が、ユーザに関連する履歴場所データを記憶装置１１８から取得する（１０１０）。通信モジュール２０１は、場所候補データおよび履歴場所データを場所推定モジュール２０５に送る。
【０１２６】
場所推定モジュール２０５が、センサデータ、場所候補データ、および履歴場所データのうちの１つまたは複数に少なくとも部分的に基づいてユーザが現在訪れている場所を推定する（１０１２）。場所推定モジュール２０５が、現在訪れている場所を記憶装置１１
８の中に記憶する（１０１４）。一実施形態では、場所推定モジュール２０５が、現在訪れている場所を好みモジュール２０７に送る。センサ１７０が、ユーザが現在訪れている場所で費やされる時間を推定する（１０１６）。
【０１２７】
次に図１０Ｂを参照して、好みモジュール２０７が、現在訪れている場所に関する訪問頻度およびその場所で過去の訪問ごとに費やした時間を記憶装置１１８の中に記憶される履歴場所データから取得する（１０１８）。好みモジュール２０７が、その訪問頻度およびその場所への訪問ごとに費やした時間に少なくとも部分的に基づいて、現在訪れている場所の好みデータを求める（１０２０）。好みモジュール２０７が、好みデータを記憶装置１１８の中に記憶する（１０２２）。
【０１２８】
図１１は、一実施形態による、場所嗜好性モデルを生成するための方法１１００を例示する流れ図である。通信モジュール２０１がユーザの識別データを受け取り（１１０２）、その識別データを識別モジュール２０３に送る。識別モジュール２０３が、その識別データに少なくとも部分的に基づいてユーザを識別し（１１０４）、そのユーザの識別データを収集モジュール２０９およびモデリングモジュール２１１の１つまたは複数に送る。通信モジュール２０１が、そのユーザの１つまたは複数の好きな場所を表す好きな場所データを記憶装置１１８から取得し（１１０６）、その好きな場所データを収集モジュール２０９に送る。あるいは一実施形態では、通信モジュール２０１が、ユーザに関連する１つまたは複数の場所を表す場所データを取得し、その１つまたは複数の場所は、１つまたは複数の好きな場所および１つまたは複数の嫌いな場所の両方を含む。
【０１２９】
収集モジュール２０９が、１つまたは複数の好きな場所に関する追加データを複数のデータソース（例えばソーシャルネットワークアプリケーション１２２によって提供されるソーシャルネットワーク、検索サーバ１２４、ウェブサーバ１３８等）から集めて、１つまたは複数の好きな場所に関するリッチな場所データを形成する（１１０８）。収集モジュール２０９は、リッチな場所データをモデリングモジュール２１１に送る。
【０１３０】
通信モジュール２０１が、ユーザのユーザプロファイルデータを記憶装置１１８から取得し（１１１０）、そのユーザプロファイルデータをモデリングモジュール２１１に送る。通信モジュール２０１が、車両の位置および現在時刻等の１つまたは複数を表すセンサデータを受け取る（１１１２）。一実施形態では、センサデータが、温度データ、交通状況データなどの他のデータを含む。通信モジュール２０１が、センサデータをモデリングモジュール２１１に送る。モデリングモジュール２１１が、そのセンサデータに少なくとも部分的に基づいてユーザの状況を表す状況データを求める（１１１４）。モデリングモジュール２１１が、リッチな場所データ、ユーザプロファイルデータ、センサデータ、および状況データ等のうちの１つまたは複数に少なくとも部分的に基づいてユーザのための場所嗜好性モデルを生成する（１１１６）。モデリングモジュール２１１が、場所嗜好性モデルを記憶装置１１８の中に記憶する（１１１８）。
【０１３１】
図１２Ａ〜図１２Ｂは、一実施形態による、場所嗜好性モデルを更新するための方法１２００を例示する流れ図である。
【０１３２】
図１２Ａを参照して、通信モジュール２０１がユーザの識別データを受け取り（１２０２）、その識別データを識別モジュール２０３に送る。識別モジュール２０３が、その識別データに少なくとも部分的に基づいてユーザを識別し（１２０４）、そのユーザの識別データを収集モジュール２０９および更新モジュール２１５に送る。収集モジュール２０９は、ユーザが訪れた新たな場所を表す場所データを受け取る（１２０６）。一実施形態では、収集モジュール２０９は場所推定モジュール２０５から場所データを受け取る。別の実施形態では、収集モジュール２０９が、記憶装置１１８の中に記憶される履歴場所デ
ータから通信モジュール２０１を介して場所データを取得する。
【０１３３】
収集モジュール２０９が、複数のデータソースからデータを集めて新たな場所に関するリッチな場所データを形成し（１２０８）、そのリッチな場所データを更新モジュール２１５に送る。通信モジュール２０１が、ユーザプロファイルデータを記憶装置１１８から取得し（１２１０）、そのユーザプロファイルデータを更新モジュール２１５に送る。通信モジュール２０１が、センサデータをセンサ１７０から受け取り（１２１２）、そのセンサデータを更新モジュール２１５に送る。更新モジュール２１５が、そのセンサデータに少なくとも部分的に基づいてユーザの状況を表す状況データを求める（１２１４）。
【０１３４】
次に図１２Ｂを参照して、通信モジュール２０１が、ユーザに関連する場所嗜好性モデルを表すモデルデータを記憶装置１１８から取得し（１２１６）、そのモデルデータを更新モジュール２１５に送る。一実施形態では通信モジュール２０１が、ユーザに関連する場所嗜好性モデルの前の状態を記憶装置１１８から取得し、それを更新モジュール２１５に送る。別の実施形態では、通信モジュール２０１が、あらかじめ計算されたデフォルトの標準的ユーザ場所嗜好性モデルを記憶装置１１８から取得し、それを更新モジュール２１５に送る。さらに別の実施形態では、通信モジュール２０１が、平均ユーザ場所嗜好性モデルを記憶装置１１８から取得し、それを更新モジュール２１５に送る。
【０１３５】
更新モジュール２１５が、新たな場所に関するリッチな場所データ、ユーザプロファイルデータ、センサデータ、および状況データのうちの１つまたは複数に少なくとも部分的に基づいてユーザに関連する場所嗜好性モデルを更新する（１２１８）。更新モジュール２１５が、更新済みの場所嗜好性モデルを記憶装置１１８の中に記憶する（１２２０）。
【０１３６】
図１３Ａ〜図１３Ｂは、別の実施形態による、場所の嗜好性スコアを推定するための方法１３００を例示する流れ図である。一実施形態では、その場所はユーザが訪れた場所である。別の実施形態では、その場所はユーザが過去に訪れていない場所である。
【０１３７】
図１３Ａを参照して通信モジュール２０１がユーザの識別データを受け取り（１３０２）、その識別データを識別モジュール２０３に送る。識別モジュール２０３が、その識別データに少なくとも部分的に基づいてユーザを識別し（１３０４）、そのユーザの識別データを収集モジュール２０９、モデリングモジュール２１１、およびスコアリングモジュール２１３の１つまたは複数に送る。一実施形態では、収集モジュール２０９が、ユーザ、通信モジュール２０１、パーソナル化モジュール２１７等のうちの１つから場所を表す場所データを受け取る（１３０６）。収集モジュール２０９が、複数のデータソースからデータを集めてその場所に関するリッチな場所データを形成し（１３０８）、そのリッチな場所データをスコアリングモジュール２１３に送る。
【０１３８】
通信モジュール２０１が、ユーザプロファイルデータを記憶装置１１８から取得し（１３１０）、そのユーザプロファイルデータをスコアリングモジュール２１３に送る。通信モジュール２０１が、センサデータをセンサ１７０から受け取り（１３１２）、そのセンサデータをモデリングモジュール２１１に送る。モデリングモジュール２１１が、そのセンサデータに少なくとも部分的に基づいてユーザの状況を表す状況データを求め（１３１４）、その状況データをスコアリングモジュール２１３に送る。
【０１３９】
次に図１３Ｂを参照して、スコアリングモジュール２１３が、ユーザのための場所嗜好性モデルを記憶装置１１８からロードする（１３１６）。スコアリングモジュール２１３は、その場所嗜好性モデルを適用して、リッチな場所データ、センサデータ、状況データ、およびユーザプロファイルデータのうちの１つまたは複数に少なくとも部分的に基づいてユーザに関する嗜好性スコアを推定する（１３１８）。スコアリングモジュール２１３
が、その場所の嗜好性スコアを記憶装置１１８の中に記憶する。
【０１４０】
図１４は、一実施形態による、ユーザ向けの場所検索結果をパーソナライズするための方法１４００を例示する流れ図である。通信モジュール２０１がユーザの識別データを受け取り（１４０２）、その識別データを識別モジュール２０３に送る。識別モジュール２０３が、その識別データに少なくとも部分的に基づいてユーザを識別し（１４０４）、そのユーザの識別データをスコアリングモジュール２１３およびパーソナル化モジュール２１７の１つまたは複数に送る。
【０１４１】
通信モジュール２０１が、１つまたは複数のＰＯＩを検索するユーザから検索要求を受け取る（１４０６）。通信モジュール２０１は、その検索要求をパーソナル化モジュール２１７に送る。パーソナル化モジュール２１７が、その検索要求に一致する１つまたは複数の一致する場所を求める（１４０８）。例えばパーソナル化モジュール２１７は、１つまたは複数の一致する場所を検索するように検索モジュール１２６に指示し、検索モジュール１２６から一致する場所を受け取る。パーソナル化モジュール２１７は、１つまたは複数の一致する場所をスコアリングモジュール２１３に送る。
【０１４２】
スコアリングモジュール２１３が、ユーザに関連する場所嗜好性モデルを記憶装置１１８からロードする（１４１０）。スコアリングモジュール２１３は、その場所嗜好性モデルを適用して一致する場所ごとに嗜好性スコアを求め（１４１２）、１つまたは複数の一致する場所に関する１つまたは複数の嗜好性スコアをパーソナル化モジュール２１７に送る。パーソナル化モジュール２１７が、その１つまたは複数の嗜好性スコアに少なくとも部分的に基づいて１つまたは複数の一致する場所を順序付ける（１４１４）。パーソナル化モジュール２１７が、パーソナライズされた結果をユーザに提示する（１４１６）。例えばパーソナル化モジュール２１７は、最も高い嗜好性スコアを有する１つまたは複数の一致する場所を含むパーソナライズされた結果をユーザに提示する。
【０１４３】
場所推定の例
図１５は、一実施形態による、ユーザが現在訪れている場所を推定するための３つの例（Ａ、Ｂ、Ｃ）を例示するグラフィカル表現１５００である。要素１５０２は、それぞれの例Ａ、Ｂ、Ｃにおける車両の位置を示す記号（車両位置）である。要素１５０４は、車両位置１５０２の周りの所定の範囲（例えば１００メートル）を画定する円である。車両位置１５０２は、それぞれの例Ａ、Ｂ、Ｃの各円１５０４の中心にある。要素１５０６ａ、１５０８ａ、１５１０ａは、Ａの例における、車両位置１５０２に近い場所候補を表す記号（×印）である。要素１５０６ａは、Ａの例において求められた、ユーザが現在訪れている場所を表すグラフィックな実線の×印である。図示のＡの例では、現在訪れている場所１５０６ａは、ユーザが過去に訪れた１つまたは複数の場所を表す履歴場所データに基づいて求められる。
【０１４４】
要素１５０６ｂ、１５０８ｂ、１５１０ｂは、Ｂの例における、車両位置１５０２に近い場所候補を表す記号である。要素１５０６ｂは、Ｂの例において求められた、ユーザが現在訪れている場所を表す記号であり、実線の×印として表されている。図示のＢの例では、場所１５０６ｂが車両位置１５０２まで歩いて行ける距離の範囲内にあることに基づいて、場所推定モジュール２０５が場所１５０６ｂを現在訪れている場所１５０６ｂとして場所候補１５０６ｂ、１５０８ｂ、１５１０ｂから選択する。
【０１４５】
要素１５０６ｃ、１５０８ｃ、１５１０ｃは、Ｃの例における、車両位置１５０２に近い場所候補を表す記号である。要素１５０６ｃは、Ｃの例において求められた、ユーザが現在訪れている場所を表す記号であり、実線の×印として表されている。図示のＣの例では、現在時刻およびその場所で費やされる時間に基づいて、場所推定モジュール２０５が
現在訪れている場所１５０６ｃを場所候補から求める。例えば現在時刻が正午であり、その場所で費やされる時間が１時間である。場所推定モジュール２０５は、レストラン１５０６ｃが、ユーザが現在訪れている場所である可能性が最も高いと判断する。
【０１４６】
機械学習可能データ
図１６は、一実施形態による、機械学習可能データを例示するテーブル１６００を示す。テーブル１６００は、従来の機械学習法を適用する際にモデリングモジュール２１１およびスコアリングモジュール２１３の１つまたは複数が使用する学習データを含む。ある種類に属する全てのデータが、単一のテーブル１６００の中にまとめられる。例えば図１６は、銀行に関するテーブル１６００を示す。テーブル１６００の行１６１２は、「ＸＹＺ銀行」に関するデータを含み、テーブル１６００の行１６１４は、「ＡＢＣ銀行」に関するデータを含む。データのＵＲＩは（行の識別子は学習されたモデルに通常貢献しないので）学習から抜かすことができ、あるいはテーブル１６００などのテーブル内の新たな列として追加することができる。一実施形態では、過去に訪れた場所の優先度をより高くすることで、場所嗜好性モデルにバイアスをかけるために、モデリングモジュール２１１が、テーブル１６００などのテーブル内の新たな列としてＵＲＩを追加する。
【０１４７】
テーブル１６００内の列１６０２、１６０４、１６０６、１６０８、１６１０は銀行の特性を含む。例えば列１６０２は、銀行の名前を含む。列１６０４は、銀行の位置を含む。図示の実施形態では、銀行の位置を表す列１６０４に、例えば住所、都市等を含むもう１つのテーブル１６５０がリンクしている。列１６０６は、職場から銀行までの距離を含む。列１６０８は、ドライブスルーのＡＴＭを有する特性を含む。列１６１０は、銀行の評価を含む。
【０１４８】
クラス列１６１２は、銀行のクラス値を含む。例えばクラス値は、ユーザがその銀行を好きまたは好むことを示す「好ましい」、ならびにユーザがその銀行を嫌いまたは好まないことを示す「好ましくない」を含む。一実施形態では、その銀行がユーザによって過去に訪れられている場所である場合、その銀行を「好ましい」と記録する。別の実施形態では、ある場所がＰＯＩ検索を行う間ユーザによって選択されない場合、モデリングモジュール２１１は、その場所をクラス「好ましくない」に属するものとして判断する。
【０１４９】
評価
図１７は、一実施形態による、２つのスコアリングメカニズムの精度評価を例示するグラフ１７００である。精度評価は、埋め込まれたユーザプロファイルに基づいてＰＯＩの選択を行うことができる、コンピュータプログラムなどのダミーユーザをベースに行う。各ダミーユーザは、あるカテゴリ（例えばレストラン、銀行、食品雑貨店、ガソリンスタンド等）に属する場所のＰＯＩ検索を行い、そのプロファイルに基づいて１つまたは複数の場所をプログラムで選択する。言い換えれば、各ダミーユーザはそのプロファイルによって特徴付けられ、常にそのプロファイルに基づいて場所を選択する。この精度評価は、「空港近くのレストランを探せ」、「サンフランシスコまで運転する間に休憩するためにサンタクルスにあるコーヒーショップを探せ」など、２５回のＰＯＩ検索のセットに基づく。
【０１５０】
グラフ１７００は、２つのスコアリング方法の精度を表すｙ軸１７０２およびグラフの凡例１７０４を含む。グラフの凡例１７０４は、ダミーユーザのプロファイルを表す。例えば「ブランド」のプロファイルを有するダミーユーザは、Ｘコーヒー、トヨタなど、常に特定のブランドを選択する。「カテゴリ」プロファイルは、ユーザが特定のサブカテゴリ（例えば日本料理店等）に属する場所を常に選択することを示す。「最高評価」プロファイルを有するユーザは、最も評価が高い場所を常に選択し、「最寄り」プロファイルを有するユーザは、最も近い場所を常に選択する。「人物」プロファイルを有するユーザは
、実際の人物を１組の質問でインタビューした後、その実際の人物の好みに基づいてモデル化される。「システムの指示」プロファイルを有するユーザは、常にシステム１００を信用し、システム１００がソートする場所リスト内の最初の項目を選択する。グラフの凡例１７０４は「平均」項目も含む。「平均」の棒グラフは、グラフ１７００内の他の全てのスコアリングの平均を表すことを示す。
【０１５１】
グラフ１７００は、ユニティからの距離スコアリング方法および単純ベイズ確率スコアリング方法それぞれの精度を示す、２つの縦棒のグループを含む。この精度は、成功した検索のパーセンテージを表す。例えば、検索に一致する場所のリストが提供され、いずれかのスコアリング方法に基づいてソートされる。ダミーユーザがリスト内の最初の場所を選択する場合、その検索は成功した検索としてカウントされる。図示のグラフ１７００では、縦棒の各グループが、２つのスコアリング方法のいずれかに基づく、様々な種類のダミーユーザ（例えば様々なプロファイルを有するユーザ）に関する様々な精度を表す。
【０１５２】
ＧＵＩ
図１８は、一実施形態による、ユーザ向けの場所検索結果のスクリーンショット１８００、１８５０を示す。これらの場所検索結果は、ユニティからの距離スコアリング方法を使用して得る。場所検索結果１８００は、ユーザの日々の通勤エリア内にある銀行についての検索結果を表示する。銀行１８０２、１８０４がユーザによって訪れられており、ユーザのための場所嗜好性モデル（例えば好みモデル）を構築するために使用されたことを示すために、銀行１８０２、１８０４を星印を使って印付けする。
【０１５３】
場所検索結果１８５０は、ユーザが新たなエリア内の銀行を検索する際の一致する銀行を示す。図示の実施形態では、場所検索結果１８５０が上位３つの一致する銀行を示し、それらのうちの２つの銀行がそのユーザに好まれている。例えばその２つの好ましい銀行はどちらも、異なる位置にあるＡＢＣ銀行である。このユーザは特定の銀行を好み、場所検索結果１８５０は、基礎をなすユーザのための場所嗜好性モデル（例えば好みモデル）がユーザの好みを検出することができ、ユーザ向けの場所検索結果をパーソナライズするために使用できることを実証している。
【０１５４】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【０１５５】
１０２  ナビゲーションシステム
１１２  場所嗜好性モジュール
２０１  通信モジュール
２０３  識別モジュール
２０５  場所推定モジュール
２０７  好みモジュール
２０９  収集モジュール
２１１  モデリングモジュール
２１３  スコアリングモジュール
２１５  更新モジュール
２１７  パーソナル化モジュール
【図１】
2013122456.tif 000005
【図２】
2013122456.tif 000006
【図３Ａ】
2013122456.tif 000007
【図３Ｂ】
2013122456.tif 000008
【図４】
2013122456.tif 000009
【図５】
2013122456.tif 000010
【図６】
2013122456.tif 000011
【図７】
2013122456.tif 000012
【図８】
2013122456.tif 000013
【図９】
2013122456.tif 000014
【図１０Ａ】
2013122456.tif 000015
【図１０Ｂ】
2013122456.tif 000016
【図１１】
2013122456.tif 000017
【図１２Ａ】
2013122456.tif 000018
【図１２Ｂ】
2013122456.tif 000019
【図１３Ａ】
2013122456.tif 000020
【図１３Ｂ】
2013122456.tif 000021
【図１４】
2013122456.tif 000022
【図１５】
2013122456.tif 000023
【図１６】
2013122456.tif 000024
【図１７】
2013122456.tif 000025
【図１８】
2013122456.tif 000026