1

我正在使用 Python geograpy 库从文本中提取城市名称这是我的代码:-

import geograpy

text='I live in Kadawatha'

places = geograpy.get_place_context(text=text)

print(places.country_cities)

OUTPUT:- { }

当我从 URL 中提取城市名称时,它可以工作,但从文本中,这是不可能的,还有另一种方法可以通过使用 geograpy.extraction 来做到这一点,但这不是提取所有可能的城市名称,所以我想使用上面提到的方法来做到这一点。此外,还有另一个问题(无法使用 geograpy 从文本文件中提取国家/城市名称),但这也不起作用。

4

2 回答 2

1

根据维基百科,Kadawatha 不被视为城市,而是郊区https://www.wikidata.org/wiki/Q2041605。它不在地理支持的城市列表中。

作为 geograpy3 的提交者以重现您的问题,我向最新的 geograpy3 https://github.com/somnathrakshit/geograpy3/blob/master/tests/test_extractor.py添加了一个测试:

在哪里:

def testStackOverflow54721435(self):
        '''
        see https://stackoverflow.com/questions/54721435/unable-to-extract-city-names-from-a-text-using-geograpypython
        '''
        text='I live in Kadawatha a suburb of Colombo  Sri Lanka'
        e=Extractor(text=text)
        e.find_entities()
        print(e.places)

返回:

['Kadawatha', 'Colombo Sri Lanka']
于 2020-09-09T10:40:15.667 回答
-1

为此,您需要安装geograpy-nltk

于 2019-02-17T21:43:19.113 回答