Разрешение объекта для объектов и других географических местоположений
Скажем, я хочу создать агрегатор регистрации, который подсчитывает посещения на разных платформах, чтобы я мог узнать для определенного места, сколько людей зарегистрировалось там на Foursquare, Gowalla, BrightKite и т. Д. Есть ли хорошая библиотека или набор инструментов? Я могу использовать "из коробки", чтобы связать записи места в каждой службе с собственным уникальным идентификатором места?
Я в основном хочу функцию, которая может отображать из пары (namename, address, lat/long) кортежей на [0,1) уверенность, что они ссылаются на одно и то же реальное местоположение.
Кто-то, должно быть, уже сделал это, но мой Google-фу слаб.
2 ответа
Я пессимист, что такой инструмент уже доступен.
Хорошим решением для сопоставления пар на основе литературы по разрешению сущностей было бы
- получить названия мест, определить и использовать на них хорошую функцию расстояния (например, изменить расстояние),
- получить адрес, стандартизировать (например, с помощью упомянутых инструментов geocoder.net), а также определить расстояние между ними,
- получить координаты и получить расстояние (это легко: есть много библиотек и инструментов для расчета географического расстояния, и это, кажется, хороший показатель),
- превратить расстояния в вероятности ("какова вероятность такого расстояния, если мы предположим, что это одни и те же места")(не просто),
- и объединить вероятности (а не просто).
Тогда, возможно, подобный замыканию алгоритм (закрытие набора в соответствии со слиянием пар выше заданного порога вероятности) также может помочь найти все совпадения (например, когда разные имена накапливаются для данного места).
Однако это не будет плохим инструментом или услугой.
Да, вы можете отправить два адреса с помощью geocoder.net (если вы не разработчик.Net, вы не сказали). Он предоставляет общий интерфейс для проверки адреса и геокодирования, поэтому вы можете быть достаточно уверены, что один адрес равен другому.
Если вы не можете заставить их стандартизировать и сопоставить, вы можете сравнить их расстояния и предположить, что они находятся на одном и том же месте, если они находятся ниже определенного порогового значения друг от друга.