我需要从Google搜索结果的地点*国家*中提取城市。例如,我搜索“ EEE图像处理计算智能研讨会”。我正在使用Google的自定义搜索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.",
我如何从响应中提取“新奥尔良杜兰大学” ..请注意,您有多个结果,但假设我只选择包含该结果的第一个。
最佳答案
鉴于您要处理自然语言,所以这很困难。有几种可能性。这实际上取决于输入。
您可以尝试使用模板/正则表达式找到它们。如果您知道场馆是由“举办地”或“举办地”等介绍的,则可以使用该信息来提取场馆/位置。
您可以使用POS / NE Tagger标记单词。使用Standford CoreNLP Pipeline产生(缩短,仅使用相关的句子和信息):
CSF-26神经网络
是VBD O
举行VBN O
在IN O
杜兰NNP组织
大学NNP组织
新的NNP位置
奥尔良NNP位置
洛杉矶NNP地点
六月NNP DATE
CD日期26-28
2013 CD日期
该词后跟POS标签,再跟NE实体标签。 O代表“其他”,其余应为自我解释。然后,您可以查找LOCATION和周围的LOCATION或ORGANIZATION。
您可以使用地名数据库查找COUNTRY / CITY,然后查看周围的x个单词。如果您还可以提供常用“地点”名称的列表,则可以包括该名称以进一步改善结果。此步骤也可以集成到任何其他方法中。
此列表并不详尽。它在很大程度上取决于输入的方差。