从谷歌搜索中提取国家,城市和地点

时间:2014-03-29 08:39:40

标签: java google-search-api

我需要从Google搜索结果中提取地点 * 国家/地区 *,城市。例如,我搜索“EEE Symposium on Computational intelligence for Image Processing”。我正在使用googles自定义搜索API。

我得到一个这样的片段,

"snippet": "The Computer Security Foundations Symposium is an annual conference for 
researchers in ... It was created in 1988 as a workshop of the IEEE Computer 
Society Technical Committee on Security and ... CSF-26 was held at Tulane 
University, New Orleans, LA, June 26-28, 2013. ... CSFW-19 program and 5-
minute talks.", 

如何从回应中提取'杜兰大学,新奥尔良'......请注意,您有多个结果,但我们假设我只选择包含此内容的第一个...

1 个答案:

答案 0 :(得分:1)

鉴于您正在处理自然语言,这很难。有几种可能性。这实际上取决于输入。

  1. 您可以尝试使用模板/正则表达式查找这些内容。如果您知道场地是通过“保持”或“有组织”等引入的,您可以使用该信息来提取场地/位置。

  2. 您可以使用POS / NE Tagger标记单词。使用Standford CoreNLP管道产生(缩短,仅使用相关的句子和信息):

    CSF-26 NN O. 是VBD O. 举行VBN O. 在IN O. 杜兰NNP组织 大学NNP组织 新的NNP位置 奥尔良NNP位置 LA NNP位置 六月NNP日期 26-28 CD日期 2013年CD日期

    单词后跟POS标记,后跟NE实体标记。 O代表“其他”,其余应该是自我解释的。然后,您可以查找LOCATION和周围的LOCATION或ORGANIZATION。

  3. 您可以使用地理名称数据库查找COUNTRY / CITY,然后查看x周围的单词。如果您还可以提供常用的“场地”名称列表,您可以将其包括在内以进一步改善结果。此步骤也可以集成到任何其他方法中。


  4. 此列表并非详尽无遗。它在很大程度上取决于输入的方差。