【问题标题】:How do I check whether a given string is a valid geographical location or not?如何检查给定的字符串是否是有效的地理位置?
【发布时间】:2016-04-13 11:30:40
【问题描述】:

我有一个字符串列表(名词短语),我想从中过滤掉所有有效的地理位置。其中大多数(不需要的位置名称)是国家或城市或州名。有什么方法可以做到这一点?是否有任何可用的包含世界所有国家、州、城市的开源查找表?

示例所需的输出: TREC4:假,维也纳部委:假,IBM:假, 蒙特利尔: true, 新加坡: true

不同于这篇文章:Verify user input location string is a valid geographic location? 我有大量这样的字符串(约 70 万),所以 google geolocation API 可能不适合我。

【问题讨论】:

标签: geolocation nlp gis text-mining data-science


【解决方案1】:

您可以使用 Yahoo 的 geoplanet 数据,或 geonames.org 的 geonames 数据。 这是包含世界 500 万个地理位置的 geoplanet TSV 文件的链接: https://developer.yahoo.com/geo/geoplanet/data/

此外,地球行星数据将为您提供地理位置的类型(城市、国家、郊区等)以及唯一的 ID。 https://developer.yahoo.com/geo/geoplanet/guide/concepts.html

您可以将针字符串与此数据中存在的名称进行小写、净化(例如删除特殊字符和其他异常)匹配。 如果您不想进行全文件扫描,首先处理这些数据以将其存储在 mongodb 或 redis 等快速查找数据库中。

【讨论】:

  • 雅虎似乎已停止提供数据集以供下载。他们提供了一个 API:\ .... 不管怎样,我正在研究它。
  • 该数据库可能可以从其他来源下载。你也可以试试 geonames 或 openstreetmap 数据。
【解决方案2】:

我可以建议以下三个选项:

a) 使用 Alchemy API:http://www.alchemyapi.com/ 如果您尝试他们的演示,法国、檀香山等地会将实体类型指定为 Country 或 City

b) 使用标签:http://tagme.di.unipi.it/ TAGME 将给定文本中的每个实体连接到相应的维基百科页面。爬取维基百科页面并检查信息框和过滤器

c) 使用 Wikipedia Miner:我无法找到相关链接。但是,这也像 TAGME 一样工作。

建议您尝试所有三个并为每个实例进行多数投票。

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 2012-04-27
    • 2022-12-15
    • 2015-05-23
    • 2017-09-22
    • 2011-09-23
    • 2013-02-13
    • 1970-01-01
    • 2015-03-05
    相关资源
    最近更新 更多