【文献】
松尾 宣夫 外1名,GPSからの習慣モデル獲得法と「気づき」提供サービス構成法,情報処理学会研究報告 2012(平成24)年度▲6▼ [DVD−ROM],日本,一般社団法人情報処理学会,2013年 4月15日,No.37,pp.1−6
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0031】
以下、図面において、同様の構成要素には同様の参照符号を付す。
【0032】
自身による考え、評価及び更新を友人及びパブリックと共有するためのソーシャル・メディアの使用は、急速に増加してきている。これらの表現は、パブリックなソーシャル・メディア・プラットフォームに記憶され、情報のリッチなソースとして用いられ得る。この情報をマイニングするアプリケーションは幅広く、疫学、政治的問題のパブリックの評価、イベント検出、及び、ビジネスのパブリックな評価及び商業製品を含む。アンケート及びコメント・フォームなどの顧客満足にアクセスする従来の方法に加え、ソーシャル・メディアは場所についての判断を表現するために広く用いられている方法になってきている。結果として、企業は、コメントを追跡し、企業の製品についてのパブリック・フォーラム及びマイクロブログでの問題に対処するために作業者を雇用する。
【0033】
アンケート及びコメント・フォームを用いた顧客の評価の従来の査定によれば、販売者は、問題となっている店舗についてのみの評価を理解することが可能である。ソーシャル・メディアによれば、全ての店舗についての情報が誰にでも利用可能である。したがって、ビジネスでは容易に、ツイート(ツイッター(登録商標)・サービスのショート・メッセージ)などの、競合者及び自身のデータを収集することが可能であり、競合者に対する査定を実行するために査定を実行することが可能である。トリップアドバイザー及びイェルプなどのフォーラムは、ユーザがビジネスでの経験についての評価を投稿することを可能とするが、これらのフォーラムを用いることはツイッター(登録商標)のマイクロブログなどの素早い短い非構造電子メッセージを送信するよりも努力を必要とする。ツイッター(登録商標)及び他のショート・メッセージは、多くの人々がカジュアルな評価を表明するためためのサービスを提供する。
【0034】
本開示は、店舗、学校、教会など、特定の位置で、エンティティをプロファイリングするソーシャル・メディアから(例えば、短い非構造電子メッセージから)の情報マイニングに基づくシステムに関連する。システムは、短い非構造電子メッセージで記述された特定のエンティティを識別するために、フォースクエアなどのアプリケーションから関連付けられている位置を用いて、施設と,ツイッター(登録商標)からのツイートなどの位置情報タグが付された短い電子メッセージと、を照合する。短い非構造電子メッセージをフィルタリングすることは、どの施設が参照されているかを不明確にする。クラスタリングは同様のエンティティを示す施設をグループ化するために用いられる。位置座標と場所とをリンクすることにより、施設と関連付けられているツイートなどの短い非構造電子メッセージは、ビジネス施設をプロファイリングするために用いられ得る。
【0035】
適合した短い非構造電子メッセージに基づいて、施設をプロファイリングすることは、例えば、ある施設での感情及びある施設でのユーザのソーシャル・グループ・サイズを含む。実装のいくつかにおいて、感情評価手段が、チェーンの店舗の感情プロファイリングを生成するためにツイートに用いられる。感情評価手段は、各々の店舗に関連付けられているツイートの平均感情を求める。実装のいくつかにおいて、ソーシャル・グループ・サイズを評価するために、短い非構造電子メッセージ投稿に含まれる写真が分析され、ソーシャル・グループ情報が抽出される。感情プロファイリング結果は、ヒートマップとして可視化し得る。ヒートマップは、同一のチェーンの店舗に亘ってどのように感情が異なるか、及びチェーンのいくつかが他のチェーンよりも肯定的な感情を有するかを示す。ソーシャル・グループ・サイズについてのプロファイリング結果を示すヒートマップは、ソーシャル・グループ・サイズがどのように変動するかを示す。
【0036】
エンティティ及び施設と位置情報タグを付された短い電子メッセージとを関連付けることにより、エンティティの場所のソーシャル・メディア・ベース・プロファイリングのためのシステム、方法、装置及び非一時的コンピュータ可読ストレージ媒体を開示する。ここで用いられるように、エンティティは場所(国、州、街、地理的領域など)もしくは機関(企業、協会、連合、政府もしくはプライベート機関など)もしくは、一般的な名詞から名称を付されたエンティティを区別するために使用する際に、一般的に利用される他の適切な名称であり得る。例えば、スターバックス、マクドナルド、ホームステッド・ハイスクール、ニュー・ホープ・チャーチなどが、エンティティである。ここで用いられるように、施設は、パブリックもしくはプライベートでオペレータによって操作される建物、屋内施設、屋外施設の何れであってもよい。施設には、教育、宗教、エンターテインメント、ショッピング、交通移動、及び/もしくはレクリエーションなどのためにゲストが訪れてもよい。施設は、例えば、学校、教会、スタジアム、アリーナ、球場、劇場、階段式観覧席、公園、レクリエーション・エリア、体育館、アーケード、アイス・リンク、ボーリング場、店舗、ショッピング・センター、空港、駅、バス・ターミナル、トラック停留所、マリーナ、レストラン、リゾート、ランドマーク、モニュメント、アミューズメント・パーク、スキー・リゾートなどを含むが、これらに限定されない。
【0037】
開示の実装は、特定の位置の施設(例えば、商業施設、学校、公園、博物館など)での(ツイートなどの)位置情報タグを付された非構造メッセージをマッチングし、施設位置の各々で短いメッセージに含まれる、もしくは、関連付けられている情報をマイニングする技術を提供する。マイニングを実行するために、実装のいくつかは、特定の施設に関するメッセージのコンテンツの著者によって表現される一つもしくは複数の訪問特性を評価する。例えば、実装のいくつかにおいて、訪問特性は、施設に関する著者の感情(例えば、著者が当該施設を好きである度合いもしくは嫌いである度合い)及び当該施設への訪問に関連付けられているグループ・サイズの一つもしくは複数である。実装のいくつかは、感情分析手段を用いてツイート・コンテンツの感情を推定し、顔認識ソフトウェアを用いて、写真の顔を認識することによってソーシャル・グループのサイズを評価する。開示の実装の記述は、ツイート、ショート・メッセージ、短い非構造メッセージ、インスタント・メッセージ、電子メッセージ、マイクロブログ、投稿もしくは同様の用語を参照し得る。コンテキスト(例えば、ツイッター(登録商標)・サービスによって提供されるツイートを取り出すための特定のAPIへの参照は、コンテキスト特有である)によって、差異が表現されない場合、もしくは、差異が明らかにされない場合、そのような参照の全ては取り替え可能であることを意図している。
【0038】
実装のいくつかにおいて、ツイートなどの短い非構造電子メッセージが、エンティティをプロファイリングするために収集される。これらのメッセージのいくつか(このようなメッセージの数は増加してきている)には、位置座標を含むタグが付される。ある研究者によれば、2013年8月、位置をブロードキャストすることに同意しているツイッター(登録商標)のユーザは約6%である。位置のいくつかにおいては、より多い割合の人々が位置座標でツイートにタグを付する。例えば、ニュー・ヨーク市及びロサンジェルスのツイートの2600万の内、約29%の757万にGPSタグが付されていることを、ある研究は示している。
【0039】
位置情報タグを付されたツイートは、ツイートの緯度及び経度を提供するが、ユーザがツイートしている実際の場所(例えば、施設名)は提供しない。場所の位置座標は、都市部から、及び地理的場所の辞書から商業上利用可能であるが、情報は疎らであり、部分的に完全であり、調整される必要がある。位置ベース調査への一般的なアプローチは、ツイートの各々の地理的位置ではなく、ツイッター(登録商標)・ユーザが自己申告した家の位置からの位置を使用する。例えば、研究者のあるグループは、主として、都市部にある家の位置を利用した。研究者の他のグループは、郊外に家の位置をマッピングした。研究者の第3のグループは、ツイートにPOI(関心点)タグを付加した。POI名セットは、フォースクエア・チェックインに関連付けられているツイートから抽出された。しかしながら、チェーン店などの複数の位置に対応するPOI名は、あいまいさを取り除かなかった。研究者の第4のグループは、ニュー・ヨーク市及び合衆国本土の個別の位置情報タグを付されたツイートの幸福さを可視化した。第4のアプローチと同様に、本開示は、位置情報タグを付されたツイートにフォーカスする。一方、本開示は、特定のビジネスもしくは施設にツイートをマッピングする。
【0040】
実装のいくつかにおいて、フォースクエアの施設は場所を識別するために選択される。フォースクエアの施設はユーザがチェックインするクラウド・ソースな(不特定多数の人々が寄与する)場所である。施設タイプは、例えば、店舗、スタジアム、もしくは、博物館、学校、公園などの関心点を含む。施設の各々は、緯度及び経度に関連付けられている。ツイートされている実際の施設を知ることは、位置情報タグを付されたツイートのコレクションにおける施設の各々に関する非常に豊富な情報を提供することを可能とする。
【0041】
投稿が地理的位置情報を含まない場合に、ソーシャル・メディア投稿の位置を識別することに関する多くの研究が存在する。例えば、ツイートのテキストのみから、研究者のあるグループは、実際の家の位置の100マイル内のツイッター(登録商標)・ユーザの51%の位置を知ることが可能であった。研究者の第2のグループは、ユーザの家の位置の市、州、及びタイムゾーン評価の分類手段の集合を用いた。研究者の第3のグループは、国、州、街、及び郵便番号位置を推測するためにツイッター(登録商標)の言語モデルを生成した。研究者の第4のグループは、ユーザの位置を識別するために、ユーザの友人のGPS位置を用いた。9人の友人の位置が用いられる場合、84.3%の正確さで実際の位置の100m以内でユーザの位置を識別することが可能であった。これらの方法の現在の正確さは、位置と施設とを関連付ける際に使用するためには、まだ粗い。これらの研究はいずれも、店舗、スタジアム、もしくは関心点などの場所もしくは施設と位置とを関連付けない。
【0042】
写真も地理的位置を知るために使用される。例えば、研究者のあるグループは、位置を推測するためにFlickrのタグの性別ベース・モデルを用いた。正確さは、最高でも21.5%であり、不十分であった。研究者の第2のグループは、位置検出を実行するためにコンパスの方向と共に写真の情報を用いた。研究者の第3のグループは、可視、テキスト及び、時間的な特徴に基づいて、ランドマークの写真の位置を推測するために、サポート・ベクター・マシン(SVM)を用いた。研究者の第4のグループは、写真の地理的位置を検出するために、最近傍の可視ランキングを用いた。しかしながら、地理的位置検出の性能が高いとしても、少数のツイートが少なくとも1つの写真を含むだけである。例えば、本開示のテストの実装に、インスタグラムの写真を含むツイートの4%より少ない位置情報タグを付されたツイッター(登録商標)のコーパスが用いられた。さらに、全ての写真がユーザの位置を示すわけではない。写真に関連付けられているEXIF(Exchangeable Image File Format)情報を見ると、地理的位置情報が取り除かれていることを発見する場合がある。写真に基づく地理的位置はツイートのいくつかについて有用であるが、写真ベースの方法だけを用いることは十分ではない。
【0043】
様々な実装を詳細に参照する。実装の例は、添付の図面で示される。以下の詳細な記述において、開示の技術及び実装の全体的な理解を提供するために、特定の詳細がいくつか記載される。しかしながら、これらの特定がなくても、開示の技術を実行することは可能である。他の例において、よく知られた方法、プロシージャ、構成要素及び回路は、実装の態様を不必要に曖昧にしないように、詳細に記載しない。
【0044】
図1は、実装のいくつかによる、エンティティ及び施設を位置情報タグが付された短い電子メッセージと関連付けることにより、ソーシャル・メディア・ベースで、エンティティの位置をプロファイリングするためのコンピュータ・システム100を例示するブロック図である。実装のいくつかにおいて、コンピュータ・システム100は、クライアント・デバイス104−1、104−2、…で実行されるクライアント側モジュール102−1、102−2、…(「クライアント側モジュール102」)、少なくとも1つのエンド・ユーザ・デバイス130、及び、サーバ・システム108で実行されるサーバ側モジュール106を含む。クライアント側モジュール102は、一つもしくは複数のネットワーク110を介して、サーバ側モジュール106と通信を実行する。クライアント側モジュール102は、クライアント側機能(例えば、インスタント・メッセージ及びソーシャル・ネットワーキング・サービスへのアクセス)及びサーバ側モジュール106との通信を提供する。サーバ側モジュール106は、任意の数のクライアント・モジュール102のサーバ側機能(例えば、インスタント・メッセージ及びソーシャル・ネットワーキング・サービス)を提供する。クライアント・モジュール102の各々は、クライアント・デバイス104の各々にロードされている。
【0045】
実装のいくつかにおいて、クライアント・デバイス104は、ラップトップ、スマートフォンなどのモバイル・デバイスである。当該モバイル・デバイスから、ユーザ124は、ツイッター(登録商標)、フォースクエア、及びフェイスブックなどの外部サービス122とインタラクションするメッセージング及びソーシャル・メディア・アプリケーションを実行することが可能である。サーバ108は、エンティティ及び施設のプロファイルを知るために施設データと共にメッセージ及びエンティティを取得するために、外部サービス122に接続する。
【0046】
図1に示されるコンピュータ・システム100は、クライアント側部分(例えば、クライアント側モジュール102)及びサーバ側部分(例えば、サーバ側モジュール106)の両方を含む。実装のいくつかにおいて、データ処理は、クライアント・デバイス104にインストールされるスタンドアロン・アプリケーションとして実装される。さらに、クライアント環境データ処理のクライアント部分及びサーバ部分の間の機能の分割は、実施形態によって異なる。例えば、実装のいくつかにおいて、クライアント側モジュール102は、ユーザ対面入力及び出力処理機能だけを提供するシンクライアントであり、バックエンド・サーバ(例えば、サーバ・システム108)に他の全てのデータ処理機能を委ねる。
【0047】
通信ネットワーク110は、イントラネット、エクストラネット、もしくはインターネットなどの有線もしくは無線のLAN(local area network)及び/もしくはWAN(wide area network)の何れかであり得る。通信ネットワーク110は、サーバ・システム108及びクライアント104とデバイス130との間に十分な通信機能を提供する。
【0048】
実装のいくつかにおいて、サーバ側モジュール106は、1つもしくは複数のプロセッサ112、1つもしくは複数のデータベース114、1つもしくは複数のクライアントへのI/Oインターフェイス118、及び一つもしくは複数の外部サービスへのI/Oインターフェイス120を含む。一つもしくは複数のクライアントへのI/Oインターフェイス118は、サーバ側モジュール106のためにクライアント・デバイス及びデバイスと関連付けられる入力及び出力の処理を促進する。一つもしくは複数のプロセッサ112は、複数のユーザから短い非構造電子メッセージを取得し、短い非構造電子メッセージを処理し、クライアント・デバイスの位置情報を処理し、クライアント・デバイスの位置情報を一つもしくは複数のクライアント・デバイスのクライアント側モジュール102で共有し、さらにエンティティをプロファイリングする処理のために情報を記憶する。データベース114は、様々な情報を記憶する。様々な情報は、写真、地理的情報、マップ情報、サービス・カテゴリ、サービス・プロバイダ名、及び対応する位置を含むが、これらに限定されない。データベース114は、また、位置共有に関連付けられているユーザに関連する複数のレコード・エンティティ及び位置共有のためにユーザ間で交換される短い電子メッセージを記憶する。一つもしくは複数の外部サービスへのI/Oインターフェイス120は、1つもしくは複数の外部サービス122(例えば、他のソーシャル・ネットワーク・ウェブサイト、商品ウェブサイト、クレジット・カード会社及び/もしくは他の処理サービス)との通信を促進する。
【0049】
実装のいくつかにおいて、サーバ側モジュール106は、I/Oインターフェイス120を介して、外部サービス120に接続し、外部サービスによって収集された短い非構造電子メッセージ及び施設などの情報を取得する。エンティティのプロファイルを知るために、複数の短い非構造電子メッセージ及び施設を蓄積した後、短い非構造電子メッセージが外部サービスに投稿された場合、クライアント・デバイスの位置情報などの情報を抽出するために、外部サービスから取り出したデータ、及び、クライアント・デバイスの共有位置情報を、サーバ108は、処理する。処理された、及び/もしくは処理されていない情報は、データベース114に記憶されている。情報は、写真、地理的情報、マップ情報、サービス・カテゴリ、サービス・プロバイダ名、及び、対応する位置を含むが、これらに限定されないデータベース114は、また、共有位置と関連付けられているユーザと関連する複数のレコード・エンティティ、位置共有のためにユーザ間で交換される短い電子メッセージを記憶する。
【0050】
クライアント・デバイス104は、例えば、ハンドヘルド・コンピュータ、ウェアラブル・コンピュータ、PDA(personal digital assistant)、タブレット・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマート・フォン、EGPRS(enhanced general packet radio service)モバイル・フォン、メディア・プレーヤ、ナビゲーション・デバイス、ポータブル・ゲーム・デバイス・コンソール、これらのデータ処理デバイスの何れか2つ以上の組み合わせ、もしくは他のデータ処理デバイスを含むが、これらに限定されない。
【0051】
クライアント・デバイス104は、ディスプレイ及び一つもしくは複数の入力デバイスを含む(例えば、ディスプレイ及び一つもしくは複数の入力デバイスに結合されている)。クライアント・デバイス104は、一つもしくは複数の入力デバイスから入力(例えば、メッセージ、画像)を受信し、ユーザ124に表示するために、ディスプレイへの入力に対応するデータを出力する。ユーザ124は、サーバ108へ情報(例えば、メッセージ、画像及びクライアント・デバイス104の地理的位置)を送信するためにクライアント・デバイス104を用いる。サーバ108は、情報を受信し、当該情報を処理し、ユーザ124に表示するためにクライアント・デバイス104のディスプレイに処理された情報を送信する。
【0052】
デバイス130は、例えば、ハンドヘルド・コンピュータ、ウェアラブル・コンピュータ、PDA(personal digital assistant)、タブレット・コンピュータ、ラップトップ・コンピュータ、デスクトップ・コンピュータ、携帯電話、スマート・フォン、EGPRS(enhanced general packet radio service)モバイル・フォン、メディア・プレーヤ、ナビゲーション・デバイス、ゲーム・コンソール、テレビ、リモート・コントロール、これらのデータ処理デバイスの2つ以上の組み合わせ、もしくは、他のデータ処理デバイスを含むが、これらに限定されるものではない。
【0053】
デバイス130は、ディスプレイ及び一つもしくは複数の入力デバイスを含む(例えば、ディスプレイ及び一つもしくは複数の入力デバイスに接続されている)。デバイス130は、一つもしくは複数の入力デバイスから入力(例えば、プロファイリング情報を取り出すための要求、メッセージ、画像)を受信し、ユーザ132に表示するためのディスプレイへの入力に対応するデータを出力する。ユーザ132は、サーバ108へ情報(例えば、プロファイリング情報を取り出すための要求、メッセージ、画像及びデバイス130の地理的位置)を送信するためにデバイス130を用いる。サーバ108は、情報を受信し、当該情報を処理し、ユーザ132への表示のためにクライアント・デバイス130のディスプレイに処理された情報(例えば、プロファイリング結果)を送信する。
【0054】
一つもしくは複数のネットワーク110は、例えば、LAN(local area networks)及びインターネットなどのWAN(wide area networks)を含む。一つもしくは複数のネットワーク110は、イーサネット(登録商標)、USB(Universal Serial Bus)、ファイアワイア、GSM(登録商標)(Global System for Mobile Communications)、EDGE(Enhanced Data GSM Environment)、CDMA(code division multiple access)、TDMA(time division multiple access)、ブルートゥース(登録商標)、WiFi、VoIP(voice over Internet Protocol)、Wi−MAXもしくは任意の他の適切な通信プロトコルなどの様々な有線もしくは無線のプロトコルを含む既知のネットワーク・プロトコルを用いて実装されてもよいが、必須ではない。
【0055】
サーバ・システム108は、一つもしくは複数のスタンドアロン・データ処理装置もしくはコンピュータの分散ネットワーク上に実装される。実装のいくつかにおいて、サーバ・システム108は、また、サーバ・システム108の基礎計算処理リソース及び/もしくはインフラストラクチャ・リソースを提供するために、様々なバーチャル・デバイス、及び/もしくは、サード・パーティ・サービス・プロバイダ(例えば、サード・パーティ・クラウド・サービス・プロバイダ)のサービスを用いる。
【0056】
図1に示すコンピュータ・システム100は、クライアント側部分(例えば、クライアント側モジュール102、デバイス130のモジュール)及びサーバ側部分(例えば、サーバ側モジュール106)の両方を含む。実装のいくつかにおいて、データ処理の部分は、クライアント・デバイス104及び/もしくはエンド・ユーザ・デバイス130にインストールされたスタンドアロン・アプリケーションとして実装される。さらに、クライアント環境データ処理のクライアント部分及びサーバ部分の間の機能の分割は、異なる実装で変動可能である。例えば、実装のいくつかにおいて、クライアント側モジュール102は、ユーザ対面入力及び出力処理機能を提供するシンクライアントであり、バックエンド・サーバ(例えば、サーバ・システム108)にデータ処理機能を委ねる。
【0057】
図2Aは、実装のいくつかによるサーバ・システム108を例示するブロック図である。サーバ・システム108は、一つもしくは複数の処理ユニット(CPU)112、一つもしくは複数のネットワーク・インターフェイス204(例えば、一つもしくは複数のクライアント118へのI/Oインターフェイス及び一つもしくは複数の外部サービス120へのI/Oインターフェイス)、一つもしくは複数のメモリ・ユニット206、及び、これらの構成要素(例えば、チップセット)を相互に接続する一つもしくは複数の通信バス208を含んでいてもよい。
【0058】
メモリ206は、DRAM、SRAM、DDR RAMもしくは他のランダム・アクセス・ソリッド・ステート・メモリ・デバイスなどの高速ランダム・アクセス・メモリを含む。メモリ206は、一つもしくは複数の磁気ディスク・ストレージ・デバイス、一つもしくは複数の光ディスク・ストレージ・デバイス、一つもしくは複数のフラッシュ・メモリ・デバイス、もしくは、一つもしくは複数の他の不揮発性ソリッド・ステート・ストレージ・デバイスなどの不揮発性メモリを含んでいてもよいが、必須ではない。メモリ206は、一つもしくは複数の処理ユニット112から離隔して配置される一つもしくは複数のストレージ・デバイスを含んでもよいが、必須ではない。メモリ206は、もしくは、代替的に、メモリ206の不揮発性メモリは、非一時的コンピュータ可読ストレージ媒体を含む。実装のいくつかにおいて、メモリ206,もしくは、メモリ206の非一時的コンピュータ可読ストレージ媒体は、以下のプログラム、モジュール、データ構造、もしくは、プログラム、モジュール、データ構造のサブセットもしくはスーパーセットを記憶する。
●オペレーティング・システム210。オペレーティング・システム210は、様々な基本システム・サービスに対処し、ハードウェア依存タスクを実行するためのプロシージャを含む。
●ネットワーク通信モジュール212。ネットワーク通信モジュール212は、一つもしくは複数のネットワーク110に一つもしくは複数のネットワーク・インターフェイス204(有線もしくは無線)を介して接続される他の計算処理デバイス(例えば、クライアント・デバイス104及び外部サービス122)に、サーバ・システム108を接続する。
●サーバ側モジュール106。サーバ側モジュール106は、サーバ側データ処理(例えば、ユーザ・アカウント照合、インスタント・メッセージ、及びソーシャル・ネットワーキング・サービス)を提供し、以下を含む。
○要求対処モジュール。要求対処モジュールは、エンティティのプロファイリングの要求を含む、クライアント・デバイスから送信される様々な要求に対処し、応答する。
○メッセージ処理モジュール228。メッセージ処理モジュール228は、クライアント・デバイス104から位置情報と共に受信した短い非構造電子メッセージを処理し、エンティティをプロファイリングするサーバ・デバイス114に記憶される施設エントリと当該メッセージとを関連付ける。このモジュールは、また、短い非構造電子メッセージのコンテンツに基づいて、施設をプロファイリングする。
○クラスタリング・モジュール232。クラスタリング・モジュール232は、サーバ・データベース114に記憶されたメッセージ及び施設をクラスタリングする。
○データ操作モジュール239。データ操作モジュール239は、サーバ・データベース114のレコードを構築し、更新する。
○感情分析手段222。感情分析手段は、短い非構造電子メッセージを分析し、メッセージに関して訓練された感情分析手段222を用いて、メッセージの各々の感情を求める。
●一つもしくは複数の施設のサーバ・データベース114。一つもしくは複数の施設のサーバ・データベース114は、エンティティをプロファイリングするためのデータを記憶する。
○地理データベース242。地理データベース242は、エンティティの施設情報を記憶する。地理データベース242は、施設の各々の施設名、地理的位置、及び一つもしくは複数の施設特性を含む。施設特性は、実装のいくつかによれば、外部サーバ122からサーバ108によって取得され得る。
○メッセージ・データベース244。メッセージ・データベース244は、クライアント・デバイス104から受信されたメッセージを記憶する。
○クラスタ・データベース246。クラスタ・データベース246は、地理データベース242及びメッセージ・データベース244に基づいて生成されるクラスタ及びクラスタの各々について求められたプロファイリング・データを記憶する。
【0059】
上記構成要素の各々は、上記メモリ・デバイスの一つもしくは複数に記憶され得る。また、上記構成要素の各々は、上記機能を実行するための命令セットに対応する。上記識別されたモジュールもしくはプログラム(即ち、命令セット)は、別個のソフトウェア・プログラム、プロシージャ、もしくはモジュールとして実装されなくてもよい。これらのモジュールの様々なサブセットは、様々な実装において、組み合わされ、もしくは、再構成され得る。実装のいくつかにおいて、メモリ206は、上記モジュール及びデータ構造のサブセットを記憶するが、必須ではない。さらに、メモリ206は、上記されていないモジュール及びデータ構造を記憶するが、必須ではない。
【0060】
図2Bは、実装のいくつかによる地理データベース242、メッセージ・データベース244、及び、クラスタ・データベース246を例示するブロック図である。実装のいくつかにおいて、地理データベース242は、エンティティの施設情報を記憶する。地理データベース242は、施設の各々について、施設名254、地理的位置252、及び一つもしくは複数の施設特性を含む。施設特性は、施設の各々へのチェックイン数256、施設の各々へのユニーク・ビジター数(延べビジター数から重複を除いた数)258、及び施設の各々がエンティティ位置のソーシャル・メディア・ベース・プロファイリングのクラスタにおけるコア施設であるか否かを示すコア施設インジケータ260などである。地理データベースの情報のいくつかは、フォースクエアなどの外部サービスによって提供される施設情報に基づく。外部サービスは、特定の施設について、施設名254、地理的位置252、及び、当該位置へのチェックイン数256及び当該位置へのユニーク・ビジター数258の一つもしくは複数を提供する。地理データベース242の他の情報は、コア施設インジケータ260など、開示の方法によって生成される情報である。
【0061】
エンティティ・プロファイリングの間、地理データベース242は、マッチングによって、メッセージ・データベース244のレコードと関連付けられる。例えば、メッセージ・データベース244に記憶されたレコードは、短い非構造電子メッセージを表わし、実装のいくつかにおいて、関連付けられている地理的位置262及びメッセージ・コンテンツ264を含む。実装のいくつかにおいて、短い非構造電子メッセージを取得した後、メッセージ処理モジュール228は、さらに、メッセージ・コンテンツ264の施設名266及び特性268を識別する。実装のいくつかにおいて、特性268は、クラスタリングの予備オペレーションを実行した後、求められ得る。メッセージ処理モジュール228は、次に、地理データベース242が施設名266と実質的に同一である施設名254及び関連付けられている地理的位置262と実質的に同一である施設の地理的位置252を有する候補施設を含むか否かを判定するために、地理データベース242にアクセスする。候補施設が地理データベース242に存在する場合、メッセージ処理モジュール266は、候補施設と関連付けられている施設レコードと、短い非構造電子メッセージと、を関連付ける。
【0062】
実装のいくつかにおいて、施設レコードは、クラスタ・データベース246に記憶され、施設レコードが閾値数より多い短い非構造電子メッセージと関連付けられている場合、データ操作モジュール239は関連付けられている短い非構造電子メッセージの特性268に基づいて、クラスタ・データベース246に記憶される施設レコードを更新する。実装のいくつかにおいて、特性268は、感情スコア272及びグループ・サイズ274を含む。短い非構造電子メッセージのいくつかは、顔画像を含み得る。結果として、これらのメッセージは顔画像情報270を含む。
【0063】
図2Bに示されるように、実装のいくつかにおいて、クラスタリング・モジュール232は、地理データベース242に記憶されている施設レコード及びメッセージ・データベース244に記憶されている位置情報タグが付されているメッセージを、複数のクラスタ280−1、280−2にクラスタリングする。クラスタ280の各々は、複数の施設レコード282−1、282−2を含む。施設レコード282は、地理データベース242に記憶されている施設レコードに関連付けられている。施設レコード282は、さらに、メッセージ・データベース244に記憶されているメッセージと関連付けられている。クラスタリングの間、施設レコードの1つは、チェックイン数256が最大である施設などの特性に基づいて、クラスタの各々のコア施設として識別される。さらに、クラスタリングの間、データ操作モジュール239は、対応する施設レコードのコア施設インジケータ260及びメッセージ・データベース244の関連付けられているレコードのコア施設タグ276を更新する。
【0064】
実装のいくつかにおいて、クラスタリングが完了すると、データ操作モジュール239は、施設レコード282の全体感情284及び平均グループ・サイズ286などの特性を求める。全体感情284及び平均グループ・サイズ286に記憶されている情報は、次に、同一チェーンの店舗に亘って感情がどのように異なるか、どのようにいくつかのチェーンは他のチェーンより肯定的な感情を有するか、及び/もしくは、ソーシャル・グループのサイズはどのように変動するか、など、プロファイリング・エンティティの結果を示すために用いられ得る。本開示のデータ構造及び他の数字は、実装のいくつかを代表するものである。他の実装は、本開示のデータ構造要素を変更してもよく、本開示の構成要素及び関連付けられている情報のサブセットもしくはスーパーセットを用いてもよい。
【0065】
図3Aは実装のいくつかによる一般的なクライアント・デバイス104を例示するブロック図である。クライアント・デバイス104は、一般的に、一つもしくは複数の処理ユニット(CPU)302、一つもしくは複数のネットワーク・インターフェイス304、メモリ306、画像取得デバイス308を含み、さらに、一つもしくは複数のセンサ312を含んでもよいが、必須ではない。また、クライアント・デバイス104は、これらの構成要素(チップセットとも呼ばれる)を相互に接続する一つもしくは複数の通信バス308を含む。クライアント・デバイス104は、また、ユーザ・インターフェイス310を含む。ユーザ・インターフェイス310は、一つもしくは複数のスピーカ及び/もしくは一つもしくは複数の可視表示を含むメディア・コンテンツの提示を可能とする一つもしくは複数の出力デバイス312を含む。ユーザ・インターフェイス310は、また、キーボード、マウス、音声コマンド入力ユニットもしくはマイクロフォン、タッチ・スクリーン・ディスプレイ、入力用タッチパッド、(例えば、符号化された画像を走査する)カメラ、ジェスチャ取得カメラ、もしくは他の入力ボタンもしくはコントロールなどのユーザ入力を促進するユーザ・インターフェイス・コンポーネントを含む、一つもしくは複数の入力デバイス314を含む。さらに、クライアント・デバイス104は、キーボードを補助するため、もしくは、キーボードと置き替えるために、マイクロフォン及び音声認識もしくはカメラ及びジェスチャ認識を用いる。
【0066】
メモリ306は、DRAM、SRAM、DDR RAMもしくは他のランダム・アクセス・ソリッド・ステート・メモリ・デバイスなどの高速ランダム・アクセス・メモリを含み、必須ではないが、一つもしくは複数の磁気ディスク・ストレージ・デバイス、一つもしくは複数の光ディスク・ストレージ・デバイス、一つもしくは複数のフラッシュ・メモリ・デバイス、もしくは、一つもしくは複数の他の不揮発性ソリッド・ステート・ストレージ・デバイスなどの不揮発性メモリを含む。メモリ306は、必須ではないが、一つもしくは複数の処理ユニット302から離隔して配置される一つもしくは複数のストレージ・デバイスを含む。メモリ306、または代替的にメモリ306の不揮発性メモリは、非一時的コンピュータ可読ストレージ媒体を含む。実装のいくつかにおいて、メモリ306、もしくは、メモリの非一時的コンピュータ可読ストレージ媒体は、以下のプログラム、モジュール及びデータ構造、もしくは、プログラム、モジュール及びデータ構造のサブセットもしくはスーパーセットを記憶する。
●オペレーティング・システム316。オペレーティング・システム316は、様々な基本システム・サービスに対処し、ハードウェア依存タスクを実行するためのプロシージャを含む。
●ネットワーク通信モジュール318。ネットワーク通信モジュール318は、一つもしくは複数のネットワーク・インターフェイス304(有線もしくは無線)を介して、一つもしくは複数のネットワーク110に接続される他の計算処理デバイス(例えば、サーバ・システム108及び外部サービス122)にクライアント・デバイス104を接続する。
●提示モジュール320。提示モジュール320は、ユーザ・インターフェイス310に関連付けられている一つもしくは複数の出力デバイス312(例えば、ディスプレイ、スピーカなど)を介して、クライアント・デバイス104で情報の提示(例えば、ソーシャル・ネットワーキング・プラットフォームのためのユーザ・インターフェイス、ウィジェット、ウェブページ、ゲーム及び/もしくはアプリケーション、音声及び/もしくはビデオ・コンテンツ、テキスト、及び/もしくは走査する符号化された画像の表示)を可能とする。
●入力処理モジュール322。入力処理モジュール322は、一つもしくは複数の入力デバイス314の1つからの一つもしくは複数のユーザ入力もしくはインタラクションを検出し、検出した入力もしくはインタラクションを解釈する(例えば、クライアント・デバイスのカメラによって走査された符号化された画像を処理する)。
●一つもしくは複数のアプリケーション326−1、…、326−N。一つもしくは複数のアプリケーション326−1、…、326−Nは、クライアント・デバイス104(例えば、カメラ・モジュール、センサ・モジュール、ゲーム、アプリケーション・マーケットプレイス、ペイメント・プラットフォーム、ソーシャル・ネットワーク・プラットフォーム、及び/もしくは、様々なユーザ・オペレーションを含む他のアプリケーション)によって実行される。
クライアント側モジュール102。クライアント側モジュール102は、以下を含むクライアント側データ処理及び機能を提供する。
○通信システム332。通信システム332は、ショート・メッセージ及び/もしくはインスタント・メッセージ・アプリケーションを含むエンティティ・プロファイリングの要求を生成し、送信し、メッセージを送信する。
●クライアント・データ340。クライアント・データ340は、以下を含むクライアント・デバイスに関連付けられているユーザのデータを記憶する。
○ユーザ・プロファイル・データ342。ユーザ・プロファイル・データ342は、クライアント・デバイス104に関連付けられている一つもしくは複数のユーザ・アカウント、一つもしくは複数のユーザ・アカウントを含むユーザ・アカウント・データ、ユーザ・アカウントの各々のログイン証明、ユーザ・アカウントの各々に関連付けられているペイメント・データ(例えば、リンクされたクレジット・カード情報、クレジットもしくはギフト・カード・バランス、請求先住所、発送先住所など)、ユーザ・アカウントの各々のカスタム・パラメータ(例えば、年齢、位置、趣味など)、ユーザ・アカウントの各々のソーシャル・ネットワーク連絡先を記憶する。
○ユーザ・データ288。ユーザ・データ288は、クライアント・デバイス104のユーザ・アカウントの各々の利用データを記憶する。
【0067】
実装のいくつかにおいて、画像取得デバイス308は、ネットワーク110に接続可能な任意の画像取得デバイスであり、必須ではないが、カメラ・デバイス308の位置及び/もしくは方向及び視野を決定することを可能とする一つもしくは複数のセンサ312(例えば、GPS(Global Positioning System)レシーバ、加速度計、ジャイロスコープ、磁力計など)を含む。例えば、画像取得デバイス308は、外部カメラもしくはタブレット・デバイスもしくはスマート・フォンに組み込まれたカメラであってよい。当該タブレット・カメラもしくはスマート・フォンから、クライアント・デバイス104のユーザはメッセージを送信することも可能である。結果として、カメラ・デバイス308は、遠隔地のユーザによって経験され得るミーティング、プレゼンテーション、ツアー、及びミュージカルもしくは劇場でのパフォーマンスの音声及びビデオ及び他の環境情報を提供する。カメラ・モジュールは画像取得デバイス308を用いて画像(例えば、ビデオ)を取得し、取得した画像を画像データに符号化し、サーバ・システム108に画像データを送信する。実装のいくつかにおいて、カメラ・デバイス308は、カメラ・デバイス308の地理的位置を決定するための位置検出デバイス(例えば、GPSレシーバ)を含む。
【0068】
実装のいくつかにおいて、センサ312は、GPSレシーバ、加速度計、ジャイロスコープ、及び磁力計の一つもしくは複数を含む。センサ・モジュールは、センサ312からの情報を取得し、センサ・データに当該情報を変換し、サーバ・システム108に当該センサ・データを送信する。GPSから地理的位置情報を取得することに加え、地理的位置情報は、クライアント・デバイス104のトランスミッタの既知である位置から、もしくはトランスミッタの三角測量から取得され得る。実装のいくつかにおいて、GPSセンサもしくはセンサ312は、サーバ108によって処理される位置情報タグを付されたショート・メッセージに用いられる位置情報を提供し得る。
【0069】
上記識別された要素の各々は、上記メモリ・デバイスの一つもしくは複数に記憶されてもよく、上記機能を実行する命令セットに対応する。上記識別されたモジュールもしくはプログラム(即ち、命令セット)は、別個のソフトウェア・プログラム、プロシージャ、モジュール、もしくはデータ構造として実装される必要はない。したがって、これらのモジュールの様々なサブセットは様々な実装において組み合わされてもよく、また、再構成されてもよい。実装のいくつかにおいて、メモリ306は、上記モジュール及びデータ構造のサブセットを記憶してもよいが、必須ではない。さらに、メモリ306は、上記されていない他のモジュール及びデータ構造を記憶してもよいが、必須ではない。
【0070】
実装のいくつかにおいて、サーバ・システム108の機能の少なくともいくつかは、クライアント・デバイス104によって実行され、これらの機能の対応するサブモジュールは、サーバ・システム108ではなく、クライアント・デバイス104内に配置されてもよい。実装のいくつかにおいて、クライアント・デバイス104の機能の少なくともいくつかは、サーバ・システム108によって実行され、これらの機能の対応するサブモジュールは、クライアント・デバイス104ではなく、サーバ・システム108によって実行される。
図2A及び
図3Aに示されるクライアント・デバイス104及びサーバ・システム108は、単なる例示であり、開示の機能を実装するモジュールの異なる構成が様々な実施形態において可能である。
【0071】
図3Bは、実装のいくつかによる一般的なエンド・ユーザ・デバイス130を例示するブロック図である。エンド・ユーザ・デバイス130は、一般的に、一つもしくは複数の処理ユニット(CPU)352,一つもしくは複数のネットワーク・インターフェイス354、メモリ356、これらの要素を相互に接続する一つもしくは複数の通信バス358(チップセットともいう)を含む。エンド・ユーザ・デバイス130は、また、ユーザ・インターフェイス360を含む。ユーザ・インターフェイス360は、一つもしくは複数のスピーカ及び/もしくは一つもしくは複数の可視表示を含み、メディア・コンテンツの提示を可能とする一つもしくは複数の出力デバイス362を含む。ユーザ・インターフェイス360は、また、キーボード、マウス、音声コマンド入力ユニットもしくはマイクロフォン、タッチ・スクリーン・ディスプレイ、入力タッチ・パッド、(例えば、符号化された画像を走査する)カメラ、ジェスチャ取得カメラ、もしくは他の入力ボタンもしくは制御などのユーザ入力を促進するユーザ・インターフェイス・コンポーネントを含む、一つもしくは複数の入力デバイス364を含む。さらに、クライアント・デバイス104のいくつかは、キーボードを補助するもしくはキーボードと置き替えられるマイクロフォン及び音声認識手段もしくはカメラ及びジェスチャ認識手段を用いる。
【0072】
メモリ365は、DRAM、SRAM、DDR RAM、もしくは他のランダム・アクセス・ソリッド・ステート・メモリ・デバイスなどの高速ランダム・アクセス・メモリを含み、必須ではないが、一つもしくは複数の磁気ディスク・ストレージ・デバイス、一つもしくは複数の光ディスク・ストレージ・デバイス、一つもしくは複数のフラッシュ・メモリ・デバイス、もしくは一つもしくは複数の他の不揮発性ソリッド・ステート・ストレージ・デバイスなどの不揮発性メモリを含む。メモリ356は、一つもしくは複数の処理ユニット352から離隔して配置される一つもしくは複数のストレージ・デバイスを含むが必須ではない。メモリ356、もしくは、代替的に、メモリ356の不揮発性メモリは、非一時的コンピュータ可読ストレージ媒体を含む。実装のいくつかにおいて、メモリ356もしくはメモリ356の非一時的コンピュータ可読ストレージ媒体は、以下のプログラム、モジュール及びデータ構造もしくはプログラム、モジュール及びデータ構造のサブセットもしくはスーパーセットを記憶する。
●オペレーティング・システム366。オペレーティング・システム366は、様々な基本システム・サービスに対処し、ハードウェア依存タスクを実行するプロシージャを含む。
●ネットワーク通信モジュール368。ネットワーク通信モジュール368は、一つもしくは複数のネットワーク・インターフェイス354(有線もしくは無線)を介して、一つもしくは複数のネットワーク110に接続されている他の計算処理デバイス(例えば、サーバ・システム108及び外部サービス122)にエンド・ユーザ・デバイス130を接続する。
●提示モジュール370。提示モジュール370は、ユーザ・インターフェイス360と関連付けられている一つもしくは複数の出力デバイス362(例えば、ディスプレイ、スピーカなど)を介して、クライアント・デバイス104で情報の提示(例えば、ソーシャル・ネットワーキング・プラットフォームのユーザ・インターフェイス、ウィジェット、ウェブページ、ゲーム、及び/もしくはアプリケーション、音声及び/もしくはビデオ・コンテンツ、テキスト、及び/もしくは、走査する符号化された画像の表示)を可能とする。
●入力処理モジュール372。入力処理モジュール372は、一つもしくは複数の入力デバイス364の1つから一つもしくは複数のユーザ入力もしくはインタラクションを検出し、検出された入力もしくはインタラクションを解釈する(例えば、クライアント・デバイスのカメラによって走査される符号化された画像を処理する)。
●一つもしくは複数のアプリケーション376−1、…、376−N。一つもしくは複数のアプリケーション376−1、…、376−Nは、クライアント・デバイス104(例えば、カメラ・モジュール、センサ・モジュール、ゲーム、アプリケーション・マーケットプレイス、ペイメント・プラットフォーム、ソーシャル・ネットワーク・プラットフォーム、及び/もしくは様々なユーザ・オペレーションを含む他のアプリケーション)によって実行される。
●モジュール380。モジュール380は、以下のデータ処理及び機能を提供する。
○表示モジュール382。ディスプレイ・モジュール382は、エンティティ・プロファイリング結果を表示する。
【0073】
上記要素は上記メモリ・デバイスの一つもしくは複数に記憶されてもよく、上記機能を実行する命令セットに対応する。上記モジュールもしくはプログラム(即ち、命令セット)は、別個のソフトウェア・プログラム、モジュールもしくはデータ構造として実装される必要はなく、これらのモジュールのサブセットは様々な実装において組み合わされ、再構成されてもよい。実装のいくつかにおいて、メモリ356を含み、上記モジュール及びデータ構造のサブセットを記憶するが、必須ではない。さらに、メモリ356は、上記されていないモジュール及びデータ構造を記憶するが、必須ではない。
【0074】
実装のいくつかにおいて、サーバ・システム108の機能の少なくともいくつかはデバイス130によって実行され、これらの機能の対応するサブモジュールはサーバ・システム108ではなくデバイス130に配置されてもよい。実装のいくつかにおいて、デバイス130の機能の少なくともいくつかはサーバ・システム108によって実行され、これらの機能の対応するサブモジュールはデバイス130ではなく、サーバ・システム108に配置されてもよい。
図2A及び
図3Bに示すデバイス130及びサーバ・システム108は、単なる例示であり、ここで記述される機能を実装するための異なるモジュールの構成が様々な実施形態において可能である。
【0075】
実装のいくつかにおいて、エンティティをプロファイリングするために、エンティティの施設は、ソーシャル・メディア・ベース・プラットフォームの評価を表明するパブリックな投稿に関連付けられる。エンティティの施設は、フォースクエアもしくはイェルプなどの外部サービス122から収集され得る。例えば、フォースクエアの施設には、場所/施設の名前及び地理的座標を有するタグが付される。フォースクエア・ユーザは、施設にチェックインした際に、コメントをするかもしれないが、コメントはフォースクエア・サイトにおいてパブリックではない。パブリックな投稿を集めるために、ツイッター(登録商標)などの外部サービス122のいくつかは、評価を表わす短い非構造電子メッセージを収集するために用いられ得る。
【0076】
フォースクエアの施設は、ユーザがある場所にチェックインした際に識別するクラウドソースな場所である。フォースクエアは、ユーザが何の近くを歩行しているかではなく、ユーザがいる場所にチェックインすることを推奨する。偽のチェックインには反対されるが、ユーザの幾人かは場所、特にユーザの家、に名称を付ける際に、独創的である。例えば、収集領域は緯度が[37.10、38.15]の範囲であり、経度が[−122.6、−121.6]の範囲であるとして定義される。この収集領域は、サンフランシスコ及びサンホセを含むサンフランシスコベイエリアのほとんどをカバーする。収集領域の施設のデータセットコレクションは、「秘密の部屋」という名称をを含む6個の家があることを示す。実装のいくつかにおいて、フォースクエアは、位置情報タグを付されたショート・メッセージに基づいて、施設がプロファイリングされる領域の地理的座標の近くの施設の施設サーチAPI3を用いて問い合わせを受ける。以下において、例えば、地理的座標は、サンフランシスコベイエリアのツイートの地理的座標である。この例において、問い合わせレートは、フォースクエアのレート限界を下回るよう保持される。問い合わせの数を低減するために結果はキャッシュされる。結果の最大数が戻されると、問い合わせは、最も近い位置の全てを取り出すためにより狭い領域で精緻化される。施設の各々のメタデータは以下を含む。
●緯度経度
●施設名
●チェックイン数
●ユニーク・ビジター数
【0077】
ツイートはパブリックであり、幅広い種類のソース及びソーシャル・メディア・プラットフォームからユーザの評価のサンプルを提供する。アイフォーンのツイッター(登録商標)もしくはアンドロイドのツイッター(登録商標)などのツイッター(登録商標)・アプリから直接ツイートを投稿することに加え、フォースクエアなどの他のソーシャル・メディア・プラットフォームは、ユーザがソースと共にツイッター(登録商標)を介してパブリックな投稿を実行することを可能とすることがよくある。短い非構造電子メッセージを取得するために、外部サービス122としてツイッター(登録商標)を用いる以外に、1100以上の他のソースを位置情報タグが付された短い非構造電子メッセージを取得するために用い得る。ツイッター(登録商標)・アプリ以外のよく用いられるソースは、多数あるが、例えば、インスタグラム及びフォースクエアを含む。
【0078】
実装のいくつかにおいて、ツイートはツイッター(登録商標)・ストリーミングAPI2を用いて収集される。以下に記述される例において、
図4A〜
図5Cに例示する結果を生成するために、地理的問い合わせは緯度[37.10、38.15]、経度[−122.6、−121.6]の範囲で、ツイートについて特定され、16,040,427の位置情報タグを付されたツイートが2013年6月4日から2014年4月7日までの10ヶ月間で収集された。これは、サンフランシスコベイエリアの送信者によるツイートに対応する。実装のいくつかにおいて、短い非構造電子メッセージのいくつかは、写真への一つもしくは複数のリンクを有する。短い非構造電子メッセージと関連付けられているメタデータから、ツイートで記述されるインスタグラムの写真などの、写真へのリンクは識別され、ダウンロードされ得る。例えば、総数601,164の写真が、エンティティの位置をプロファイリングし、
図5に示されるプロファイリング結果を生成する際に用いるためにダウンロードされる。
【0079】
実装のいくつかにおいて、施設データ及び短い非構造電子メッセージが収集されると、地理的データベース242に記憶されている施設データのリンク、メッセージ・データベース244に記憶されている短い非構造電子メッセージ、及びクラスタ・データベース246に記憶されているクラスタが確立され得る。エンティティ位置のソーシャル・メディア・ベース・プロファイリングのために施設と位置情報タグを付された短い非構造電子メッセージを照合するために、いくつかのファクタが考慮される必要がある。
【0080】
まず、ツイートなど、他の外部サービス122からの短い非構造電子メッセージは、店舗/ビジネスロケーションに関連するツイートを識別するために施設と関連付けられる必要がある。フォースクエアがソースである場合、(記述される実装の1つの試みにおいて、)ツイートの地理的座標は施設と直接マッピングされる。フォースクエアは(492,529のツイートの)ソースである。また、ソースとしての他の外部サービス122からの短い非構造電子メッセージはユーザの現在の場所の地理的座標を反映するかもしれない。
【0081】
図4Aは、3つの位置402、404、406のエンティティ施設の位置(青)及びエンティティ名が記述される短い非構造電子メッセージ(赤)の全ての位置を示す。
図4Aに示すように、短い非構造電子メッセージの多くは、エンティティ施設の近くにはない。402−1、402−2、402−3に位置するメッセージはエンティティ施設402と広い道の反対側にある。
図4Aからは、エンティティ名を記述するメッセージの多くについて、参照されている位置は不明瞭である。
【0082】
関連についてツイートを識別するために、ツイートは施設名が記述されるツイートを保持するようフィルタリングされる。しかしながら、
図4Aに示されるように、スターバックスを記述するツイートの多くについて、どのスターバックスの位置が参照されているかは不明瞭である。
図4Aにおいて、青マーカ402、404、406の近くにない多くの赤マーカによって示されるように、実際に存在することなく、ツイートのテキストにおいて、ユーザは場所を参照する可能性がある。同一の名称を有する複数の施設がある場合、
図4Aに示されるように、ユーザが参照している実際の位置を決定することは困難であり得る。したがって、関連付けられているツイートは、施設から所定の距離内にある必要もない。実装のいくつかにおいて、大円距離(球面上の2点間の最短距離)が距離を計算するために用いられ、例示的な所定の距離は施設から、ツイートが、0.0008度以内、もしくは、約290フィート以内にあることを要求する。
【0083】
第2に、同一の施設を実際に示す異なる地理的座標を有する施設は識別される必要がある。フォースクエア、場所の各々、例えば、特定のスターバックス店舗など、地理的データベースのいくつかは、複数のチェックインロケーションを有する可能性がある。フォースクエアにおいて施設はクラウドソースであるためである。人々は、異なる理由で新しい施設を生成する。例えば、店舗は大きく、広い領域をカバーしてもよく、ユーザが店舗の近くにいるが、店舗にいない場合、チェックインしてもよい。
【0084】
図4Bは、複数の関連付けられているフォースクエアの施設を有するスターバックスの位置を示す例である。
図4Bは、1つのエンティティの位置(例えば、スターバックス)に関連付けられている複数のエンティティの施設(青)及びエンティティの施設(赤)に関連付けられている短い非構造電子メッセージを示す。
図4Bに示されているように、施設及びメッセージのいくつかは、実際のエンティティの位置(例えば、スターバックス)に対してよりも、他のエンティティ及び施設に近い。これらの施設は同一の施設の代表として識別される。
【0085】
位置情報タグを付された短い非構造電子メッセージと施設とを照合するために、以下行1〜行15に示されるマルチステップ処理の疑似コードが、実装のいくつかにおいて実行される。
プロファイリング処理1:施設及びツイート位置のグループ化
入力:u:ユーザ特定施設、D:施設及びツイート間の特定最大地理的距離、V:uを含む位置情報タグを付された施設位置のセット、T:位置情報タグを付されたツイートのセット
出力:venueTweetGroups:特定位置の店舗の各々に関連付けられている施設及びツイートのクラスタ
result ← {}
venueTweets ← {}
candTweets ← {}
for each tweet t in T do
if u ∈ t then
venueTweets ← t
end if
end for
for each venue v in V do
for each tweet t in venueTweets do
if ||geo(v) - geo(t)|| < D then
candTweets ← t
end if
end for
end for
clusters, outliers ← DBScan(candTweets U V, minNeighbor-Size=5 )
venueTweetGroups ← clusters − outliers
【0086】
この処理において、変数uはプロファイリングされるユーザ特定施設名(例えば、スターバックス)を示し、変数Dは施設及び短いツイート間の特定最大地理的距離を示し、変数Vはユーザ特定施設名uを含む位置情報タグを付された施設の位置(例えば、フォースクエアもしくはイェルプなどの他のタグ付けされた施設の情報のソースによって提供される施設)を示し、変数Tは異なる施設のプロファイリングの部分として処理される位置情報タグを付されたツイートのセットを示す。このプロファイリング処理の結果出力は、変数venueTweetGroupsであり、施設及び店舗もしくは(ユーザ特定施設名を有する)他のエンティティの各々と特定の位置で関連付けられているツイートのクラスタを含む。
【0087】
上記行1〜15を実行した後、特定のフォースクエア施設名について、ユーザ特定施設を記述するツイート、必須ではないが、施設のニックネームが識別される。これらのツイートは、次に、特定の名称を有するフォースクエアの施設から(0.0008度もしくは約290フィート)などの所定の距離D内に維持するようにフィルタリングされる。
【0088】
ある位置の店舗は、例えば、特定のスターバックス店舗は、フォースクエアの施設がクラウドソースであるため、複数のチェックイン位置を有してもよい。人々は、異なる理由で新しい施設を生成してもよい。例えば、店舗は広い領域をカバーしてもよく、ユーザは、店舗の近くにいるが店舗内にいない場合、チェックインしてもよい。ユーザは、フェイクのフォースクエアの施設を生成してもよい。
【0089】
単一の店舗と関連付けられている複数の施設を組み合わせるために、また、フェイクの施設をフィルタリングするために、クラスタリングが地理的座標をグループ化するために実行される。クラスタの各々のチェックインの最小数及びユニーク・ビジターが、フェイクの施設ではチェックイン及びユニーク・ビジターが少ないとの仮定に基づいて、必要とされる。詳細には、上記行16に示すように、実装のいくつかにおいて、(scikitクラスタリング・ライブラリからの)DBSCANは、位置の名称を有するタグを付された全ての施設及び位置の名称を含む全てのツイートに適用される。
【0090】
実装のいくつかにおいて、ツイートは、施設と異なり、
図4Bに示されるような少数の予め特定された位置に制約されないという事実から利点を得るために、クラスタリングは施設及び双方の両方に対して実行される。即ち、密度ベース・クラスタリングを実行するDBSCANによってクラスタリングされるべきツイートのユニーク位置のセットは密度がより高く、よりロバストである可能性がある。実装のいくつかにおいて、DBSCANについて、2つのサンプル間の距離は0.0008度もしくは約290フィートに設定される。地理的座標の近傍の5個のサンプルの最小が要求される、もしくは、サンプルは異常値として判定される。異常値サンプルはフェイクのフォースクエアの施設、一般的ではない位置もしくはユーザがどこか別の場所にいる場合に施設について記述したことによる可能性がある。上記アルゴリズムの行17に示すように、エンティティ・プロファイリングが異常値を除外するように、異常値サンプルはクラスタからフィルタリングされる。上記例示的なアルゴリズムに示されるDBSCANなど、密度ベース・クラスタリングを通して、密度ベース・クラスタリングの代わりに他のクラスタリング手法が用いられ得る。クラスタリングの可視表示を
図4Cに示す。
【0091】
図4Cは施設及び短い非構造電子メッセージのクラスタリングの結果を例示する。例示的なプロットは、サンフランシスコ市におけるスターバックスの位置を示す。クラスタの各々はユニークなカラー及び形状の組み合わせである。より幅の広いあるいはファジィなマークは、近傍の複数の施設及びツイートが1つのクラスタにグループ化されることを示す。
【0092】
実装のいくつかにおいて、クラスタと関連付けられている短い非構造電子メッセージは、「コア」施設及びその位置を含むタグを付される。コア施設は最大チェックイン数を有するクラスタの施設として定義される。異常値サンプルはタグを付されず、したがって、プロファイリングに用いられない。
【0093】
実装のいくつかにおいて、顧客によって表現される平均的感情及びある場所で人々が撮影する写真によって評価されるソーシャル・グループのサイズの店舗位置のプロファイリングを示す2つのタイプの属性で、エンティティの位置は特徴付けられる。他の属性は、また、施設レコードに関連付けられている短い非構造電子メッセージのメッセージ・コンテンツから識別されてもよく、エンティティを特徴付け、エンティティをプロファイリングするために用いられる。
【0094】
一般的な感情評価に関する多くの技術が存在するが、ツイートの感情評価に関する技術はあまり多くない。機械学習に基づくツイートの感情評価方法は、語彙ベース方法よりもわずかによいとの観察がある。ある位置でのツイートの感情を評価するために、実装のいくつかにおいて、ツイッター(登録商標)のツイートに関して訓練されたロジスティック回帰ベース感情分析手段222が実装される。
【0095】
実装のいくつかにおいて、ツイートの各々の感情は、ツイートに関して訓練された感情分析手段222を用いて計算される。Sentiment及びSentiStrengthを含む、ショート・メッセージ・コンテンツから感情を識別するために利用可能なオープン・ソース・オプションが存在する。実装のいくつかにおいて、主観的ツイートが、ソーシャル・メディア・ベースのエンティティ位置のプロファイリングに用いられる。即ち、客観的ツイートは無視される。主観的ツイートは、非常に否定的な感情から非常に肯定的な感情までに対応する−1.0〜1.0までの範囲のスコアを割り当てられる。ショート・メッセージもしくは他の書かれた情報のコンテンツから感情を評価する既存の方法の何れか、もしくは新しい方法は、ビジターの感情に基づいて施設をプロファイリングするために処理されるショート・メッセージもしくは他の情報と関連付けられている感情を評価するための様々な実装に用いられ得る。さらに、施設は、幅広い特性、感情及び特性の代表例のみを含む訪問毎のグループ・サイズに基づいてプロファイリングされ得る。
【0096】
実装のいくつかにおいて、多くのツイートは感情を表現しないため、評価に関連しないツイートを精度よく識別することは重要である。例えば、フォースクエアへのチェックインのデフォルトは、「私は<場所名>(<場所位置>)にいます。<URL>」である。例えば、「使えるからスターバックスWiFiを使う」もしくは「クリーーースと一緒にスターバックス」などユーザの状況を示すために、ツイッター(登録商標)は、一般的に用いられる。ツイートの各々の主観的な分類は、MPQA(Multi-Perspective Question Answer)の主観的語彙から主観的用語をツイートのテキストが含むか否か判定することにより、まず、実行される。
【0097】
実装のいくつかにおいて、トピック依存ツイッター(登録商標)感情モデルがトピックのいくつかだけの性能を改善することが観察された。ツイートは様々なトピックをカバーするため、実装のいくつかにおいて、トピック依存モデルが生成される。
【0098】
実装のいくつかにおいて、主観(客観と反対)であるとみなされるツイートの極性は、遠隔(distant)学習アプローチを用いて計算される。実装のいくつかにおいて、Sentimentのツイート・コーパスからの訓練データは遠隔学習に用いられ得る。
【0099】
感情分析手段222は、1)ツイートが主観的か客観的か、2)非常に否定的から非常に肯定的な感情までに対応する−1.0〜1.0の範囲のスコア、の2つの値を出力する。
【0100】
プロファイリング結果を可視化するために、同一の施設の異なる位置(例えば、異なる位置のスターバックス)でプロファイリング属性のヒートマップが生成される。緯度[37.10,38.15]及び経度[−122.6,−121.6]の収集座標内の収集領域が
図5A及び
図5Bのヒートマップを生成する際に用いられる。この領域は、サンフランシスコ(中央左)及びサンホセ(右下)を含むSFBA(サンフランシスコベイエリア)のほとんどをカバーする。緯度及び経度の値は100個のビン、総計10,000個のセルに各々量子化される。ヒートマップの白い領域は店舗が存在しないことを示す。
【0101】
感情ヒートマップを生成するために、同一の「コア」施設に短い非構造電子メッセージのセットの各々について、短い非構造電子メッセージは非ゼロ感情が表わされる場所を保持するようフィルタリングされる。非常に否定的から非常に肯定的までの感情は、青から赤までのカラー・スペクトラムに亘ってマッピングされる。セルのコア値の全てに関連付けられているツイートの平均感情スコアが計算され、ヒートマップの値として用いられる。実装のいくつかにおいて、
図5A及び
図5Bに示されるヒートマップの例は、サーバ108からエンド・ユーザ・デバイス130にダウンロードされる施設プロファイリング情報から生成され、デバイス130のユーザ・インターフェイス360を介して表示され、及び/もしくは、インタラクションされる。エンド・ユーザ・デバイス130は、プロファイリングされる企業もしくはビジネスの被雇用者、マーケッティング・コンサルタント、もしくは、広告会社によって、例えば、施設に関するカジュアルなビジターのコミュニケーションによって送信されるショート・メッセージに記述される施設の特性のいくつかに基づいて、顧客もしくは他のビジターによって企業がどのように見られているかをよりよくよりタイムリーに理解するために、用いられ得る。
【0102】
図5Aは、上記例示的なシナリオにおいて、異なるスターバックスの位置は、様々な平均感情値を示すことを例示する。位置のほとんどはわずかに肯定的であり(黄)、いくつかは強めに肯定的であり(赤)、また、少数が強めに否定的(濃い青)である。ピーツ・コーヒー&ティー(右)はスターバックス(左)にとって小規模な競業者である。スターバックスの位置の平均感情とピーツの位置の平均感情とを比較すると、
図5Aはピーツの位置が、平均的にスターバックスの感情より非常に高い肯定的な感情を有する傾向があることを示す。ピーツのより肯定的な知覚は、各々(最高スコア5.0に対して)3.6及び4.0の値を有する、(2014年7月10日に)サンフランシスコのスターバックス及びピーツの問い合わせから戻された最初の20個の結果についてイェルプの平均スコアと整合する。
【0103】
図5Bは2つのファスト・フード・バーガー・チェーン、食材が毎日新鮮に生成されていると宣伝しているIn−N−Out Burger(左)とマクドナルド(右)との間の比較を例示する。
図5Bに示すように、In−N−Out Burgerは全体的に比較的肯定的感情であり、マクドナルドの位置についての感情は全体的により否定的であるが、変動が大きい。また、マクドナルドのいくつかの位置は、かなり強い否定的な感情を示す。In−N−Outのより強い肯定的な知覚は、サンフランシスコの中もしくは近くの2つのIn−N−Out及びサンフランシスコのマクドナルドのスコアについて問い合わせから最初の20個の結果について、イェルプの平均スコア4.25及び2.55と整合する。
【0104】
店舗の位置ベース情報のこのタイプは、よりレートの低い店舗を改善するための情報を用い、幸福な顧客によるよいプラクティスを有するであろう店舗の識別を制御するために用いられ得る。
【0105】
図5Cは、異なる施設を訪問するソーシャル・グループのサイズを例示する。施設もしくは店舗を訪問するソーシャル・グループのサイズ(一人、二人、少人数、大人数グループ)を知ることは、製品をターゲットとし、適切に宣伝する商用ビジネスの支援となり得る。写真の人々をソーシャル・グループに分類することは旅行の推奨に用いられ得る。旅行グループを一人、二人、家族、友人に分類する以下のいくつかの従来の方法は、写真の顔の数に基づいて、ソーシャル・グループのサイズを決定する。実装のいくつかにおいて、ツイートされた写真はダウンロードされOpenCV顔検出手段を用いて顔を検出する。詳細には、総数165,844の写真の顔を検出する。写真に少なくとも1つの顔がある場合、顔の数は4つの分類、一人(顔1つ)、二人(顔2つ)、少人数グループ(顔3〜4個)、大人数グループ(少なくとも7個の顔)の1つに量子化され、各々1、2、3、4のグループ・サイズ・コードにマッピングされる。
図5Cに示されるように、例示的なヒートマップの平均グループ・サイズを計算する場合、これらのコードが用いられる。
【0106】
図5Cのヒートマップは、サンフランシスコベイエリアのスターバックスの位置、教会、高校で検出されたソーシャル・グループ・サイズを可視化する。
図5Cは、スターバックスのヒートマップが単一の顔に対してスキューされることを示す。反対に、赤及びオレンジの領域のいくつかによって、教会のヒートマップは、平均的に、比較的大きいソーシャル・グループを示す。高校は、より人数が多いソーシャル・グループを有する傾向がある。この観察は、直感的に、人々が、友人もしくは家族とではなく一人で頻繁にコーヒー・ショップを訪問し、教会は結婚式を含むソーシャル・イベントを開催する人々が集合する場所であり、学校にいる10代の人々は友人と共に写真を撮影する傾向があることを示す。
【0107】
ここで開示されたシステム及び方法は他の施設タイプ、関心点(例えば、水族館、動物園、観光名所、スタジアム)及び公共交通機関の駅(例えば、BART、カルトレイン)など、に適用され得る。ここで開示されたシステム及び方法は、他のソーシャル・メディアもしくは位置情報タグを付された他のコメントに適用され得る。位置情報検出は、例えば、RFID及び/もしくは音声を含む任意の手段であってよい。
【0108】
図6Aは、実装のいくつかによるエンティティをプロファイリングする方法のフローチャートを例示する。実装のいくつかにおいて、方法600はサーバ・システム108で実行される。サーバ108は、第1のソーシャル・メディア・ソースから、関連する地理的位置及びメッセージ・コンテンツを有する新しい短い非構造電子メッセージを取得する(602)。実装のいくつかにおいて、
図2Bに例示するように、関連する地理的位置と共に短い非構造電子メッセージがメッセージ・データベース244に記憶される。短い非構造電子メッセージは、例えば、ツイッター(登録商標)などの外部サービス122から取得されるツイートである。実装のいくつかにおいて、地理的位置は、クライアント・デバイス104のセンサ312のGPSデバイスもしくは画像取得デバイス308によって取得され得る。
【0109】
短い非構造電子メッセージを取得する際に、サーバ108は、メッセージ・コンテンツから第1の施設名及び第1の訪問特性を識別する(604)。実装のいくつかにおいて、第1の特性は、感情指向もしくはグループ・サイズの少なくとも1つである。識別された施設名及び関連する地理的位置は、次に、地理的データベース242、メッセージ・データベース244、及びクラスタ・データベース246の間のリンクを確立するために、サーバ108によって用いられ得る。リンクは、サーバ108によって、施設のサーバ・データベース114への最初のアクセスを確立する(608)。次に、施設のサーバ・データベース114と新しい短い非構造電子メッセージとに整合性があるか否かが判定される(610)。実装のいくつかにおいて、サーバ108は、地理的データベース242にアクセスする(608)。
図2Bに示されるように、実装のいくつかにおいて、地理的データベース242は、施設の各々について、施設名254、地理的位置252及び、チェックイン数256、ユニーク・ビジター数、及びコア施設インジケータ260などの一つもしくは複数の施設特性を含む。
【0110】
図2Bにさらに示すように、施設114のサーバ・データベースの情報は、第1ソーシャル・メディア・ソースから以前の複数の短い非構造電子メッセージを含む、複数のソーシャル・メディア投稿から抽出された施設の各々に関連付けられている情報を反映する。例えば、施設名266及び施設の地理的位置262はメッセージ・データベース244に記憶されているメッセージ・コンテンツ264から抽出される。
【0111】
実装のいくつかにおいて、以下のアクセス・ステップ(608)で、サーバは、データベース114が第1の施設名及び関連付けられている地理的位置と実質的に同様な施設名及び地理的位置を有する候補施設を含むか否か判定する(610)。
実装のいくつかにおいて、施設名及び地理的位置は地理的データベース242及び/もしくはメッセージ・データベース244から取得される。実装のいくつかにおいて、判定(610)は、地理的位置252及び関連付けられている地理的位置262の間の距離が所定の距離よりも短いか否か判定する(612)ことを含む。実装のいくつかにおいて、大円距離が距離を計算するために用いられ、例えば、所定の距離は、ツイートが、施設から0.0008度もしくは約290フィート以内であることを要求する。
【0112】
候補がサーバ・データベース114に存在することが判定されると、サーバ108は候補施設と新しい短い非構造電子メッセージと関連付けられる(614)。候補がサーバ・データベース114に存在しないと判定されると、サーバ108は、第1の施設名、関連付けられている地理的位置及び第1の特性に基づいて、データベース114に新しい施設レコードを追加する(624)。
【0113】
データベース114の施設レコードが閾値よりも多くの新しい短い非構造電子メッセージと関連付けられている場合、など、複数の新しい短い非構造電子メッセージが累積されると、サーバ108は関連付けられている新しい短い非構造電子メッセージの第1の訪問特性に基づいて、施設レコードの一つもしくは複数の特性を更新する(616)。
図2Bに示されるように、施設レコードの一つもしくは複数の施設特性は、関連付けられている短い非構造電子メッセージの第1の特性268に基づいて、感情284及び平均グループ・サイズ286を含む。
【0114】
実装のいくつかにおいて、更新(616)は施設によって実行される。例えば、スターバックスなどのエンティティをプロファイリングする場合、スターバックスと関連付けられている施設レコードについて更新が実行される。他の更新の場合、マクドナルドと関連付けられている施設レコードがマクドナルドの店舗の異なる位置をプロファイリングするために更新され得る。
【0115】
実装のいくつかにおいて、サーバ108は、施設のデータベースにまずアクセスする(618)ことにより一つもしくは複数の施設特性を更新する(616)。次に、新しい関連付けられている短い非構造電子メッセージの第1の特性を含めるために、データベースのコア施設を検出し、コア施設の一つもしくは複数の施設特性を再計算する(622)。
図2Bに示されるように、地理的データベース242は、施設の各々について、施設名254、地理的位置252及び一つもしくは複数の施設特性を含む。実装のいくつかにおいて、地理的データベース242に記憶されている一つもしくは複数の施設特性は、フォースクエアなどの外部サービス122から取得されるチェックイン数256、ユニーク・ビジターの数258、及びコア施設インジケータ260を含む(614)。
図2Bにさらに示されるように、サーバ・データベース114の情報は第1のソーシャル・メディア・ソースから以前の複数の短い非構造電子メッセージを含む、複数のソーシャル・メディア投稿から抽出される施設の各々と関連付けられている情報を反映する。
【0116】
実装のいくつかにおいて、エンティティをプロファイリングするためにサーバ・データベース114のレコードを確立するために、予備的オペレーションとして(626)、サーバ108は、第1の情報ソースから第1の複数の短い非構造電子メッセージを取得する(628)。短い非構造電子メッセージの各々は、関連付けられている第1の地理的位置及びメッセージ・コンテンツを含む。メッセージ・コンテンツは第1の施設名及び一つもしくは複数の訪問特性を含む。例えば、第1の情報ソースがツイッター(登録商標)などの外部サービス122である場合、短い非構造電子メッセージの複数はツイッター(登録商標)からダウンロードされたツイートである。これらの短い非構造電子メッセージは、第1の地理的位置(例えば、位置情報タグが付されている)に関連付けられ、施設位置の訪問についての評価及び/もしくは訪問の間に撮影された写真などの施設名及び一つもしくは複数の訪問特性を記述するメッセージ・コンテンツを含む。
【0117】
実装のいくつかにおいて、予備的オペレーション626の間、サーバ108は、第2の情報ソースから第2の複数の施設位置を取得する(630)。施設位置の各々は、関連付けられている第2の地理的位置及び第1の施設名と実質的に同様な第2の施設名を有する。例えば、スターバックスのプロファイリングの間、サーバ108は、スターバックスと実質的に同様な施設名を有する複数の施設名をダウンロードするために第2の情報ソースとしてフォースクエアなどの外部サービス122に接続する。
【0118】
実装のいくつかにおいて、短い非構造電子メッセージが第1の情報ソースから取得され、施設名が第2の情報ソースから取得されると、サーバ108は、第1の複数のショート・メッセージの各々が施設位置の各々に関連付けられている第2の地理的位置の所定距離内の関連付けられている第1の地理的位置を有するか否か、第2の複数の施設の位置の各々について判定する(631)。実装のいくつかにおいて、距離を計算するために大円距離が用いられ、例えば、所定の距離は、ツイートが施設から0.0008度もしくは約290フィート以内であることを要求する。
【0119】
実装のいくつかにおいて、判定(631)に応じて、サーバ108はショート・メッセージの各々とデータベース114の施設とを関連付け(632)、第1及び第2の地理的位置と関連付けられている施設位置は所定の距離内である。サーバ108は、施設を施設グループにクラスタリングし、異常値をフィルタリングするために、データベースにクラスタリング・アルゴリズムを適用する(634)。異常値は、データベースの他の施設の対応する集合的な特性と実質的に異なる一つもしくは複数の集合的な特性を有するデータベースの一つもしくは複数の施設を示す。クラスタリングは、単一の店舗と関連付けられている複数の施設を結合し、フェイクの施設をフィルタリングする。実装のいくつかにおいて、施設を施設グループにクラスタリングし、近傍ポイントの所定数より小さい異常値をフィルタリングするために、サーバ108は地理的データベース242に密度ベース・クラスタリング・アルゴリズムを適用する(634)。実装のいくつかにおいて、一つもしくは複数の集合的な特性は、施設へのビジターの最小数もしくは施設と関連付けられているショート・メッセージの最小数の一つもしくは複数を含む(636)。例えば、異常値サンプルは、最小数より低いチェックイン数を有するフェイクのフォースクエアの施設及び/もしくは最小数より低いユニーク・ビジターを有する一般的でない場所及び/もしくは他のどこかにいる場合にユーザが記述した施設による可能性がある。結果のクラスタ280はクラスタ・データベース246に記憶される。
【0120】
クラスタ280が確立されると、サーバ108は施設グループの最大数を有するコア施設を識別する(638)。コア施設に対応する地理的データベース242の施設レコードは、次に、更新される(640)。更新された(640)コア施設インジケータ260は施設レコードがコア施設であることを示す。実装のいくつかにおいて、クラスタ識別子などの相互参照についてのさらなる情報は、クラスタとクラスタに属する施設レコードとを関連付けるために、地理的データベース242及び/もしくはクラスタ・データベース246に記憶される。地理的データベース242及びメッセージ・データベース244の間のリンク付けの後、サーバ108は、さらに、施設グループの一つもしくは複数の施設と関連付けられている短い電子メッセージにコア施設によってタグを付し(644)、関連付けられている短い非構造電子メッセージの第1の特性に基づいて、コア施設に対応するコア施設レコードを更新する(646)。
【0121】
クラスタ280はエンティティのプロファイリングに用いられ得る。実装のいくつかにおいて、プロファイリングの1つのタイプは、エンティティの位置について顧客によって表現された平均的感情を求めることである。平均的感情を求めるために、サーバ108は、施設に関するコメントを記述するメッセージ・コンテンツ264に感情指向272を割り当てる(648)。感情指向272は、メッセージ・コンテンツ264が肯定的か、中立か、もしくは否定的感情か、を示す。サーバ108は、さらに、特定の感情指向内の感情度合いを分類する(650)。
【0122】
求められた感情スコアは、短い電子メッセージと関連付けられ(654)、感情272としてメッセージ・データベース244に記憶され、全体感情スコア計算に用いられる。クラスタの全体感情スコアを求めるために、複数の施設グループの1つの施設グループについて、サーバ108は、まず、施設グループのコア施設を識別する(658)。クラスタ・データベース246から地理的データベース242へ、さらにメッセージ・データベース244へのリンクにしたがって、サーバ108は、さらに、コア施設と関連付けられているタグを付された短い電子メッセージを識別する(660)。メッセージ・データベース244に記憶された感情スコア272を用いて、サーバ108はタグを付された短い電子メッセージと関連付けられている感情スコア272に基づいて、コア施設の全体感情284を求める(662)。実装のいくつかにおいて、サーバ108は施設グループから感情ヒートマップを導出する(664)ことにより、全体感情スコアの可視表示を生成する。感情ヒートマップは、コア施設及び施設名の各々及びコア施設の各々の地理的位置への全体感情を反映する。
図5A〜
図5Bは感情ヒートマップの例を示す。
図5A〜
図5Bに示されるように、サーバ108は、マーク・サイズ、マーク・カラー、及びマークのサイズ及びカラーの1つを含む異なる可視特性を用いて特定のコア施設に関連付けられている全体感情を符号化する(666)。
【0123】
実装のいくつかにおいて、プロファイリングの他のタイプは、人々がある位置で撮影した写真によって推定されるソーシャル・グループのサイズを求めることである。ソーシャル・グループのサイズを求めるために、サーバ108は、まず、顔画像270が短い電子メッセージと関連付けられているか否か判定する(668)。顔画像270が存在する場合(670)、サーバ108は顔画像270の顔の数を検出する(672)。サーバ108は、さらに、顔画像270の顔の数に基づいて、サイズのカテゴリに短い電子メッセージを割り当てる(674)。サイズのカテゴリの情報は、短い非構造電子メッセージと関連付けられ(676)、グループ・サイズ274としてメッセージ・データベース244に記憶される。例えば、顔画像270に少なくとも1つの顔がある場合、顔の数は4つのカテゴリ、一人(顔1つ)、二人(顔2つ)、少人数グループ(顔3〜6個)、大人数グループ(少なくとも顔7個)の4つのカテゴリの1つに量子化され(678)、各々、1,2,3,4のグループ・サイズ・コードにマッピングされる。これらのコードは、
図5Cに示されるように、例示的なヒートマップについて平均的グループ・サイズを求める場合に用いられる。
【0124】
クラスタの平均グループ・サイズを求めるために、複数の施設グループの1つの施設グループについて(680)、サーバ108は施設グループのコア施設を識別する(682)。クラスタ・データベース246から地理的データベース242へ、さらに、メッセージ・データベース244へのリンクにしたがって、サーバ108は、さらに、コア施設と関連付けられているタグが付されている短い電子メッセージを識別する(684)。メッセージ・データベース244に記憶されているグループ・サイズ274を用いて、サーバ108(686)は、タグを付された短い電子メッセージと関連付けられているグループ・サイズ274に基づいて、コア施設の平均グループ・サイズ286を求める。実装のいくつかにおいて、サーバ108は、施設グループからソーシャル・グループ・サイズ・ヒートマップを導出する(688)ことにより、平均グループ・サイズの可視表示を生成する。ソーシャル・グループ・サイズ・ヒートマップは、コア施設を訪問する平均グループ・サイズ及び施設名及びコア施設の各々の地理的位置を反映する。
図5Cに示されるように、サーバ108は、マーク・サイズ、マーク・カラー及びマークのサイズ及びカラーの1つを含む異なる可視特性を用いて特定のコア施設に関連付けられている平均グループ・サイズを符号化する(690)。
【0125】
施設をプロファイリングするために、はじめて、クラスタ280が確立されると、サーバ108は一つもしくは複数の外部サービス122からプロファイリング・データを取得する。
図7は、実装のいくつかによって施設をプロファイリングする方法を例示する。
図7のフローチャートは、上記プロファイリング処理1に記述されるステップを示す。まず、プロファイリング結果、venueTweets及びcandTweetsがプロファイリング処理1の行1〜3に示されるように空に設定される。
【0126】
図7に示すように、実装のいくつかにおいて、サーバ108は、複数の投稿を一つもしくは複数の外部サービス122から取得する(702)。投稿を取得する(702)ことに加え、サーバ108は、また、複数の施設を一つもしくは複数の外部サービス122から取得する(704)。外部サービス122への問い合わせの数を低減するために、実装のいくつかによれば、投稿及び/もしくは施設はキャッシュされ、サーバ・データベース114に記憶される。
【0127】
例えば、プロファイリング処理1に示すように、スターバックスなどのユーザ特定施設uをプロファイリングすることをユーザは所望するかもしれない。スターバックスをプロファイリングするために、外部サービス122からサーバ108によって取得された位置情報タグを付されたツイートのセットなどの投稿は、Tに記憶され、プロファイリングを求めるために、外部サービス122からサーバ108によって取得されるユーザ特定施設uを含む位置情報タグを付された施設位置のセットはVに記憶される。
【0128】
外部サービス122からデータを取得すると、サーバ108は、次に、施設情報を用い、投稿が施設名を記述するか否か判定する(706)ために投稿を処理する。施設名を記述しない投稿はプロファイリングに有用ではない。したがって、プロファイリングに用いられない。投稿が施設名を記述している(705)との判定によって、サーバ108は、さらに、投稿の地理的位置及び最も近い施設が所定の距離D以内にある程度に十分近いか否かを判定する(708)。投稿と最も近い施設が十分近い(709)との判定によって、サーバ108は投稿及び施設を結び付ける(710)。実装のいくつかにおいて、オペレーションを結び付ける(710)ことは、
図2Bに例示されるように、地理的データベース242とメッセージ・データベース244との間のリンクを確立するなど、施設及び投稿を関連付けることにより実行される。結び付けられた施設及び投稿は、実装のいくつかによる密度ベース・クラスタリングを用いて、投稿及び施設をグループ化するために、クラスタリングされる(712)。投稿がクラスタリングされると、異常値は取り除かれ(74)、コア施設が識別され、施設及びツイートがコア施設に対応する位置の各々に関連付けられる(716)。
【0129】
例えば、プロファイリング処理1の行4〜8に示されるように、位置情報タグが付されたツイートTのセットのツイートの各々は、ユーザ特定施設(例えば、スターバックス)がツイート内で記述されているか否か判定する(706)ために分析される。投稿が施設名を記述している(705)との判定によって、ツイートはさらなる処理のためにvenueTweetsデータ・セットに記憶される。施設名を記述していない投稿はプロファイリングに有用ではない。したがって、プロファイリングに用いられない。プロファイリング処理1の行9〜15に示されるように、ユーザ特定施設(例えば、スターバックス)を記述するツイートを含むvenueTweetsのセットを取得すると、サーバ108は、さらに、Vの施設の各々について、及びvenueTweetsのツイートの各々について、投稿の地理的位置と最も近い施設との間の距離がDより短いか否か判定する(708)。投稿及び最も近い施設が十分近い(709)との判定によって、サーバ108はcandTweetデータ・セットにツイートを追加する。CandTweetデータ・セットは、関心を有する施設の近傍にあるツイートを有する。サーバ108は、クラスタリングのために、プロファイリング処理1の行16でcandTweetと施設データ・セットVとを結び付ける(710)。
【0130】
プロファイリング処理1の行16で、密度ベース・クラスタリングDBScanなどのクラスタリング・アルゴリズムが投稿及び施設をグループ化するために用いられ得る(712)。実装のいくつかにおいて、ポイント毎に最低5個の近傍がDBScanアルゴリズムのパラメータとして特定される。プロファイリング処理1の行17で異常値は取り除かれる(714)。例えば、同一位置を記述する4個より少ない他のツイートを有する一般的ではない位置を、candTweetsのツイートが記述する。このようなツイートは、近傍が5個より少ないため取り除かれる(714)。他の例において、ユーザがどこか他の場所にいる場合に施設を記述するツイートをユーザは投稿する。このようなツイートは、また、ツイートの地理的位置は、他の施設及びツイートの集合的な特性と実質的に異なるため、取り除かれる(714)。
【0131】
図8Aは実装のいくつかによる施設をプロファイリングする方法800のフローチャートを示す。実装のいくつかにおいて、方法800はサーバ・システム108で実行される。サーバ108は、第1の複数の短い非構造電子メッセージをソーシャル・メディア・ソースから取得する(802)。短い非構造電子メッセージの各々は、関連付けられている第1の地理的位置及びメッセージ・コンテンツを含む。メッセージ・コンテンツは、第1の施設名及び一つもしくは複数の訪問特性を有する。サーバ108は、第2の複数の施設位置を情報ソースから取得する(804)。施設位置の各々は関連付けられている第2の地理的位置及び第1の施設名と実質的に同様の第2の施設名を有する。実装のいくつかにおいて、
図2Bに示されるように、関連付けられている地理的位置と共に取得された短い非構造電子メッセージが、メッセージ・データベース244に記憶される。短い非構造電子メッセージは、例えば、ツイッター(登録商標)などの外部サービス122から取得されるツイートである。実装のいくつかにおいて、地理的位置は、センサ312のGPSデバイスもしくはクライアント・デバイス104の画像取得デバイス308によって取得され得る。
【0132】
短い非構造電子メッセージ及び施設位置を取得すると、サーバ108は、第2の複数の施設位置の各々について、第1の複数の短いメッセージの各々が施設位置の各々に関連付けられている第2の地理的位置の所定距離内にある関連付けられている第1の地理的位置を有するか否か判定する(806)。実装のいくつかにおいて、判定(806)に応じて、サーバ108は、短いメッセージ及び施設位置をデータベースに関連付ける(808)。関連付けられている第1及び第2の地理的位置は所定の距離内にある。サーバ108は、次に、施設を施設グループにクラスタリングし、異常値をフィルタリングするために、データベースにクラスタリング・アルゴリズムを適用する(810)。異常値は、データベースの他の施設の対応する集合的特性と実質的に異なる一つもしくは複数の集合的特性を有するデータベースの一つもしくは複数の施設を表わす。クラスタリングは、単一の店舗と関連付けられている複数の施設を結び付け、フェイクの施設をフィルタリングする。実装のいくつかにおいて、一つもしくは複数の集合的な特性は施設へのビジターの最小数、もしくは、施設と関連付けられている短いメッセージの最小数、の一つもしくは複数を含む。
【0133】
データベース114の施設レコードは閾値より多い新しい短い非構造電子メッセージと関連付けられると、サーバ108は、関連付けられている新しい短い非構造電子メッセージの第1の訪問特性に基づいて、施設レコードの一つもしくは複数の施設特性を更新する(814)。
図2Bに示されるように、施設レコードの一つもしくは複数の施設特性は、関連付けられている短い非構造電子メッセージの第1の特性268に基づいて、全体感情284及び平均グループ・サイズ286を含む。
【0134】
実装のいくつかにおいて、クラスタ280が確立されると、サーバ108は施設グループの最大チェックイン数を有するコア施設を識別する(816)。コア施設に対応する地理的データベース242の施設レコードは、次に、更新される(640)。更新される(640)コア施設インジケータ260は、コア施設である施設レコードを示す。
【0135】
実装のいくつかにおいて、サーバは、さらに、施設のデータベースにアクセスする(818)。データベースは、施設の各々について、施設名、地理的位置及び一つもしくは複数の施設特性を含む。データベースの情報は、第1のソーシャル・メディア・ソースからの複数の以前の短い非構造電子メッセージを含む、複数のソーシャル・メディア投稿から抽出される施設の各々に関連付けられている情報を反映する。実装のいくつかにおいて、サーバ108は、データベースのコア施設を検出し(820)、関連付けられている新しい短い非構造電子メッセージの第1の特性を含めるためにコア施設の一つもしくは複数の施設の特性を再度求める(822)。
【0136】
「第1」、「第2」などは、様々な要素を記述するために用いられてもよく、これらの要素はこれらの用語によって限定されない。これらの用語は、要素を相互に区別するためだけに用いられる。例えば、第1のコンタクトは、第2のコンタクトであってよく、同様に、第2のコンタクトは第1のコンタクトであってよい。「第1のコンタクト」の名称が矛盾なく変更され、第2のコンタクトの名称が矛盾なく変更される限り、記述の意味は変更される。第1のコンタクト及び第2のコンタクトは双方ともコンタクトであるが、同一のコンタクトではない。
【0137】
ここで用いられる用語は、特定の実施形態を記述するための用語であり、請求項を限定することを意図していない。実施形態及び請求項において、明示的に単数が単数であることを示す場合を除き、単数は複数を含むことを意図している。ここで用いられる「及び/もしくは」は、関連するアイテムの一つもしくは複数の任意の及び全ての可能な組み合わせを含む。「含む」との記載は、明細書において用いられる場合、記述された特徴、整数、ステップ、オペレーション、要素及び/もしくはコンポーネントの存在を特定するが、一つもしくは複数の他の特徴、整数、ステップ、オペレーション、要素、コンポーネント及び/もしくはこれらのグループの存在もしくは追加を除外しない。
【0138】
開示の技術は、特定の詳細なしに実施され得る。他の例において、よく知られた方法、プロシージャ、コンポーネント及び回路は、実施形態の態様を不必要に不明瞭にしないように、詳細に記述されない。
【0139】
上記記述は説明のための記述であり、特定の実施形態を参照して記述された。しかしながら、例示的な記述は網羅的であること、もしくは、詳細な形態に開示を限定することを意図していない。多くの修正及び変更が可能である。開示の原理及び実用的な応用を最もよく説明するために、実施形態は選択され、記述される。これにより、開示及び特定の使用に適した様々な変更を含む様々な実施形態を最もよく利用することを可能とする。