java - 从谷歌搜索中提取国家、城市和地点

标签 java google-search-api

我需要从 Google 搜索结果中提取地点 *国家/地区*、城市。例如,我搜索“EEE 图像处理计算智能研讨会”。我正在使用谷歌自定义搜索 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. 您可以尝试使用模板/正则表达式查找这些内容。如果您知道场馆是通过“举行于”或“组织于”等方式介绍的,您可以使用该信息来提取场馆/地点。

  2. 您可以使用 POS/NE 标记器来标记单词。使用 Standford CoreNLP Pipeline 的效果(缩短,仅使用相关句子和信息):

    CSF-26 NN O 是VBD O 举行VBN O 在INO 杜兰 NNP 组织 大学 NNP 组织 新 NNP 地点 奥尔良 NNP 位置 兰州国家公园位置 六月 NNP 日期 26-28 CD 日期 2013 年 CD 日期

    该词后面是 POS 标记,然后是 NE 实体标记。 O 代表“Other”,其余的应该是不言自明的。然后,您可以查找“位置”以及周围的“位置”或“组织”。

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

<小时/>

此列表并不详尽。它很大程度上取决于输入的方差。

关于java - 从谷歌搜索中提取国家、城市和地点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22728880/

相关文章:

java - JBoss Wildfly 中使用 EJB 和 JAR 进行 EAR 部署 - 如何从 EJB 项目中加载文件夹中的所有文件或 JAR 中的资源?

java - 最后 onNext() 执行完成的 RxJava 回调

java - 制作更改程序GUI

python - 对多个字段执行 OR 或将这些字段值组合成单个字段名是否更高效

javascript - 使用 Google 图片搜索 API 时出现奇怪的 javascript 错误

reactjs - 如何在带有 React 应用程序的 firebase 托管中使用站点地图

java - 如何获取JPA中的日期

java - 如何将时间戳转换为 time4j Moment 格式?

google-app-engine - Google App Engine 搜索 API 自定义评分

python - 在 googleapiclient 中使用静态变量而不是使用 argparse - Python