无法使用地理(Python)从文本中提取城市名称

Unable to extract city names from a text using geograpy(Python)

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

import geograpy

text='I live in Kadawatha'

places = geograpy.get_place_context(text=text)

print(places.country_cities)

OUTPUT:- { }

当我从 URL 中提取城市名称时,它可以工作,但从文本中提取城市名称时,这是不可能的,还有另一种方法可以通过使用 geograpy.extraction 来实现,但这并没有提取所有可能的城市名称,以便我想使用上述方式来做到这一点。此外还有另一个与此相关的问题(Unable to extract countries/cities name from text file using geograpy),但这也不起作用。

要实现此功能,您需要安装 geograpy-nltk

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

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

其中:

def testWhosebug54721435(self):
        '''
        see 
        '''
        text='I live in Kadawatha a suburb of Colombo  Sri Lanka'
        e=Extractor(text=text)
        e.find_entities()
        print(e.places)

returns:

['Kadawatha', 'Colombo Sri Lanka']