1

プラットフォーム間での訪問をカウントするチェックインアグリゲーターを構築して、Foursquare、Gowalla、BrightKiteなどで特定の場所にチェックインした人の数を知ることができるようにしたいとします。優れたライブラリまたはツールのセットはありますか箱から出して、各サービスの会場エントリを自分の一意の場所識別子に関連付けることができますか?

基本的に、(地名、住所、緯度/経度)タプルのペアから、同じ実際の場所を参照しているという[0,1)の信頼度にマップできる関数が必要です。

誰かがすでにこれをしているに違いありませんが、私のgoogle-fuは弱いです。

4

2 に答える 2

0

はい、geocoder.netを使用して 2 つのアドレスを送信できます (あなたが .Net 開発者であると仮定して、あなたは言いませんでした)。住所の検証とジオコーディングに共通のインターフェイスを提供するため、ある住所が別の住所と等しいことを合理的に確信できます。

それらを標準化して一致させることができない場合は、それらの距離を比較し、それらが互いに特定のしきい値を下回っている場合、それらが同じ場所であると想定できます。

于 2010-02-16T00:16:26.160 に答える
0

私は、そのようなツールがすでに利用可能になっていることに悲観的です。

エンティティ解決の文献に基づいてペアを一致させる良い解決策は、

  • 地名を取得し、適切な距離関数を定義して使用します (例: 距離の編集)。
  • 住所を取得し、標準化し(たとえば、前述の geocoder.net ツールを使用)、それらの間の距離も定義します。
  • 座標を取得して距離を取得します (これは簡単です: 地理的距離を計算するためのライブラリとツールがたくさんあり、それは良いメトリックのようです)。
  • 距離を確率に変換します (「これらが同じ場所であると仮定した場合、そのような距離の確率はどのくらいですか」)(簡単ではありません)、
  • 確率を組み合わせます(簡単ではありません)。

次に、クロージャーのようなアルゴリズム (特定の確率のしきい値を超えるペアのマージに従ってセットを閉じる) も、すべての一致を見つけるのに役立ちます (たとえば、特定の会場に異なる名前が蓄積された場合)。

ただし、それは悪いツールやサービスではありません。

于 2011-07-14T15:58:21.913 に答える