0

我目前正在考虑如何从文本(例如博客文章)中找到位置,而无需用户输入任何其他信息。例如,帖子可能如下所示:


“阿伯丁,脚踏海底

自 1970 年代初以来,苏格兰阿伯丁已从一个坚韧不拔的渔镇发展成为世界海上能源行业技术创新中心。”


通过阅读它,我意识到这篇文章是关于苏格兰阿伯丁的,但我该如何对其进行地理标记?我一直在使用 Alex Reisner 的地理编码器(https://github.com/alexreisner/geocoder),但是根据 google/nominatim(osm) 检查每个单词似乎很奇怪。我最初的想法是通过使用地理编码器检查每个单词来简单地暴力破解它,并尝试查看单词之间是否有相似之处。但似乎有更好的方法来解决这个问题。

有没有人做过类似的事情?任何可以建议的算法(或 gem :) )将不胜感激!

4

1 回答 1

1

我确信已经有专门的项目致力于此 - 例如,谷歌具有不可思议的地理标记能力,可以毫不费力地从您的个人电子邮件中提取数据。

我可以在这里看到的最明显的答案是为位置创建一些正则表达式。最简单的一个是城市,国家:

Regexp.new("((?:[a-z][a-z]+))(.)(\\s+)((?:[a-z][a-z]+))",Regexp::IGNORECASE);

这样就认了Aberdeen, Scotland,也认了,course, I也认了thanks, bye。不过,这将是一个开始,仅查询那些已识别的点而不是文档中的每个单词。

对于地址、城市等,还有广为人知的正则表达式。如果您发现您的算法缺少匹配项,您也可以使用这些正则表达式。

干杯!

于 2013-07-30T20:32:45.733 回答