我需要从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.",
如何从回应中提取'杜兰大学,新奥尔良'......请注意,您有多个结果,但我们假设我只选择包含此内容的第一个...
答案 0 :(得分:1)
鉴于您正在处理自然语言,这很难。有几种可能性。这实际上取决于输入。
您可以尝试使用模板/正则表达式查找这些内容。如果您知道场地是通过“保持”或“有组织”等引入的,您可以使用该信息来提取场地/位置。
您可以使用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。
您可以使用地理名称数据库查找COUNTRY / CITY,然后查看x周围的单词。如果您还可以提供常用的“场地”名称列表,您可以将其包括在内以进一步改善结果。此步骤也可以集成到任何其他方法中。
此列表并非详尽无遗。它在很大程度上取决于输入的方差。