【问题标题】:Using natural language processing to extract an address from a tweet使用自然语言处理从推文中提取地址
【发布时间】:2015-09-30 08:14:37
【问题描述】:

我正在构建一个 twitter 机器人,它将监听如下推文:

Hey @twitterbot, I'm looking for restaurants around 123 Main Street, New York

或者,另一个例子:

@twitterbot, what's near Yonge & Dundas, Toronto? I'm hungry!

然后它会回复您希望这些问题返回的数据类型。我已经解决了大部分问题,但我被困在不应该那么难的事情上;从推文中提取地址。

我会将地址转发到地理编码服务以获取纬度/经度,因此我不需要以任何方式格式化或准备地址;我只需要将其与“我正在寻找附近的餐馆”或“我饿了!”等不相关的文本区分开来。

是否有任何 NLP 工具可以在文本块中执行此地址识别?对另一种方法有什么建议吗?因为 Google 的地理编码器可以处理如此广泛的地址格式(即使是像“多伦多伊顿中心”这样的兴趣点也算作地址),我不能使用正则表达式来提取地址。

换一种说法,我只是想删除任何不属于地址的文本。

我正在寻找的地址需要在美国/加拿大工作。

StackOverflow 上有一些类似的问题,但没有一个可以解决我能找到的确切问题。因为 Google 的地理编码器非常宽容,所以解决方案不必完美无缺,它只需要消除足够多的模糊,以便 Google 知道我想说什么。

我对 NLP 很陌生,因此我很感激有关该主题的任何指导。

【问题讨论】:

    标签: google-maps machine-learning nlp street-address


    【解决方案1】:

    How to parse freeform street/postal address out of text, and into components 回答了“有没有办法将地址与其周围的文本隔离开来并将其分解成碎片?” - 这与您的问题本质上是相同的(除了您不关心将其分解成碎片 - 只是将其与文本的其余部分隔离开来)。

    SmartyStreets 在https://smartystreets.com/demo?mode=extract 也有一个不错的演示,但不幸的是不是免费的解决方案。

    另一个快速的想法——由于 Twitter 帖子被限制为 140 个字符,并且往往包含很少的单词(您的两个示例分别有 9 个和 12 个单词),您可以想象它只是蛮力的。例如,要获取“@twitterbot,多伦多 Yonge & Dundas 附近有什么?我饿了!”中的位置,您可以将以下所有内容发送到 google geocoder --

    多伦多的 Yonge & Dundas 附近有什么?我饿了!

    多伦多的 Yonge & Dundas 附近有什么?我是

    多伦多央街和登打士附近有什么?

    央街和登打士附近有什么,

    等等。对于由完整单词组成的所有可能的子字符串。

    【讨论】:

    • 谢谢加布里埃尔!你给了我一些想法。没想过蛮力的方法,但考虑到推文的长度有限,这是完全可行的!
    【解决方案2】:

    给你: http://geocoder.ca/?locate=Hey+%40twitterbot%2C+I%27m+looking+for+restaurants+around+123+Main+Street%2C+New+York&geoit=xml&parse=1

    <geodata>
    <latt>40.5119365</latt>
    <longt>-74.2493562</longt>
    <AreaCode>347,718</AreaCode>
    <TimeZone>America/New_York</TimeZone>
    <standard>
         <stnumber>123</stnumber>
         <staddress>Main ST</staddress>
         <city>STATEN ISLAND</city>
         <prov>NY</prov>
         <postal>11385</postal>
         <confidence>0.9</confidence>
      </standard>
    </geodata>
    

    http://geocoder.ca/?locate=Hey+%40twitterbot%2C+I%27m+looking+for+restaurants+around+123+Main+Street%2C+New+York

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 2019-10-03
      • 2015-07-23
      • 1970-01-01
      • 2019-05-07
      相关资源
      最近更新 更多