对地理名称数据进行位置歧义消除的最佳方法是什么?
地名搜索有一些计分算法,但它们并未开源,因此我不确定它们是否非常复杂。 (即对于soma, ca
,它返回甚至没有维基百科文章的Soma lake in Canada
,而不是非常流行的Soma Neirbohood in san francisco
)
我在Google学术搜索中也找到了一些作品,但它们似乎很浅薄,并且与我的启发式方法类似,例如按某项评分(log(population) + 1000*hasWikipedia(article)+ isCity100+isCapital(10)
)。
我在旅游文章中的专长,因此我的评分功能应该提供最可能的旅游景点(城市,名胜古迹(迪士尼乐园,体育馆,大本钟))。
您是否知道该领域的任何重要文章,或者Google map ,雅虎,必应甚至地理名称在生产中使用的算法?
最佳答案
@yura,这不是您想要的,但是我认为任何聪明的算法都无法始终如一地消除“soma ca”之类的查询是指旧金山的Soma还是加拿大的Soma Lake。问题不在于您的算法不够复杂。问题是查询“soma ca”中根本没有足够的信息。
我不知道如何清楚地表达它,但是这里有一个信息理论问题。就像随机数据无法无损压缩的方式一样:输入中没有足够的信息来计算所需的输出。
即使是人为手动解释您的查询,他们也不一定会理解“soma ca”应该表示SF中的Soma。也许对您来说,一个2字母的缩写,例如“ca”,“自然地”是指美国所在国而不是外国,但是从根本上讲该选择没有“正确”,并且不能使用纯逻辑推导出来。这是一个任意的,特定于域的即席规则,就像您提到的即席log(population)
启发式一样。
一些可能的“解决方案”(除了设计可以阅读用户思想的心灵感应计算机之外):