Разрешение объекта для объектов и других географических местоположений - PullRequest
1 голос
/ 16 февраля 2010

Скажем, я хочу создать агрегатор регистрации, который будет подсчитывать посещения разных платформ, чтобы я мог узнать для определенного места, сколько людей зарегистрировалось там на Foursquare, Gowalla, BrightKite и т. Д. Есть ли хорошая библиотека или набор инструментов, которые я могу использовать "из коробки", чтобы связать записи места в каждой службе с собственным уникальным идентификатором места?

Мне в основном нужна функция, которая может отображать из пары кортежей (namename, address, lat / long) на [0,1) уверенность в том, что они ссылаются на одно и то же реальное местоположение.

Кто-то, должно быть, уже сделал это, но мой гугл-фу слаб.

Ответы [ 2 ]

0 голосов
/ 14 июля 2011

Я пессимист, что такой инструмент уже доступен.

Хорошим решением для сопоставления пар на основе литературы по разрешению сущностей было бы

  • получить названия мест, определить и использовать для них функцию хорошего расстояния (например, изменить расстояние),
  • получить адрес, стандартизировать (например, с помощью упомянутых инструментов geocoder.net), а также определить расстояние между ними,
  • получить координаты и получить расстояние (это легко: есть много библиотек и инструментов для расчета географического расстояния, и это, кажется, хороший показатель),
  • превратить расстояния в вероятности («какова вероятность такого расстояния, если мы предположим, что это одни и те же места») (не просто),
  • и объединить вероятности (также не просто).

Тогда, возможно, алгоритм, подобный замыканию (закрытие набора в соответствии с объединением пар выше заданного порога вероятности), также может помочь найти все совпадения (например, когда разные имена накапливаются для данного места).

Однако это не будет плохим инструментом или услугой.

0 голосов
/ 16 февраля 2010

Да, вы можете отправить два адреса, используя geocoder.net (предполагая, что вы являетесь разработчиком .Net, вы не сказали). Он предоставляет общий интерфейс для проверки адреса и геокодирования, поэтому вы можете быть достаточно уверены, что один адрес равен другому.

Если вы не можете заставить их стандартизировать и сопоставлять, вы можете сравнить их расстояния и предположить, что они находятся в одном и том же месте, если они находятся ниже определенного порогового значения друг от друга.

...