1

假设我想构建一个签到聚合器来计算跨平台的访问次数,这样我就可以知道给定地点有多少人在 Foursquare、Gowalla、BrightKite 等上签到。是否有一个好的库或工具集我可以开箱即用地将每个服务中的场地条目与我自己的唯一地点标识符相关联吗?

我基本上想要一个可以从一对(地名,地址,纬度/经度)元组映射到[0,1)置信度的函数,它们指的是相同的真实世界位置。

一定有人已经这样做了,但是我的 google-fu 很弱。

4

2 回答 2

0

我很悲观,认为已经有这样的工具可用。

基于实体解析文献匹配对的一个很好的解决方案是

  • 获取地名,定义并使用良好的距离函数(例如编辑距离),
  • 获取地址,标准化(例如使用提到的 geocoder.net 工具),并定义它们之间的距离,
  • 获取坐标并获取距离(这很容易:有很多用于地理距离计算的库和工具,这似乎是一个很好的指标),
  • 将距离转换为概率(“如果我们假设这些是相同的地方,那么这种距离的概率是多少”)(不直截了当),
  • 并结合概率(也不直截了当)。

然后也许一个类似闭包的算法(根据给定概率阈值以上的合并对来关闭集合)也可以帮助找到所有匹配项(例如,当给定地点的不同名称累积时)。

然而,它不会是一个糟糕的工具或服务。

于 2011-07-14T15:58:21.913 回答
0

是的,您可以使用geocoder.net提交这两个地址(假设您是 .Net 开发人员,您没有说)。它为地址验证和地理编码提供了一个通用接口,因此您可以合理地确定一个地址等于另一个地址。

如果你不能让它们标准化和匹配,你可以比较它们的距离,如果它们之间的距离低于某个阈值,则假设它们是同一个地方。

于 2010-02-16T00:16:26.160 回答