python—希望从地址中提取国家和城市及其计数

5lhxktic  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(473)

寻找一个解决方案,可以帮助我提取城市,国家和计数。用于下面的代码,但无法获取。既然我是新手,有人能帮我吗,

import spacy
import wikipedia
nlp = spacy.load('en_core_web_lg')

gpe = []  # countries, cities, states

doc = nlp(open("C:/Users/johns//Desktop/NewFolder/address1.txt").read())

for ent in doc.ents:
    if ent.label_ == 'GPE':
        gpe.append(ent.text)

cities = []
countries = []

import wikipedia
for text in gpe:
    summary = str(wikipedia.summary(text))
    if 'city' in summary:
        cities.append(text)
        #print(cities)
    elif 'country' in summary:
        countries.append(text)
        #print(countries)
    print(countries, cities)

数据格式如下:

60 MOHI EL DIN ABHU EZZ STREET GIZA Egypt 
KEBHANA BANK FORMER KOREA EXCHANGEB FOREIGN OPERATIONS DEPARTMENT 101 2 KA ULCHI RD CHUNG KU
RamEnclave 16-16/1 Navi Road New Delhi India 1/22/14 SS Mart Gaazi Road Islamabad Pakistan
KEBHANA BANK FORMER KOREA EXCHANGEB OPERATIONS DEPT 101 2 KA ULCHI RD CHUNG KU
7Hills appt Narsingi Hyderabad India
5tmbdcev

5tmbdcev1#

spacy是在完整的句子上训练的,就像在报纸上发现的一样,这和你的数据不一样。此外,虽然它有一些与位置相对应的命名实体标记,但它不区分城市和国家,例如。您将GPE转换为城市和国家的方法很有趣,但似乎不太可能奏效。
您应该考虑使用专门用于地址提取的软件。您应该能够将其有效地包含在spacy管道中,并且如果您有带注解的数据,您可以在spacy中训练模型,但是要开始,您可能应该查看特定于地址的包。

相关问题