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

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

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

  1. import spacy
  2. import wikipedia
  3. nlp = spacy.load('en_core_web_lg')
  4. gpe = [] # countries, cities, states
  5. doc = nlp(open("C:/Users/johns//Desktop/NewFolder/address1.txt").read())
  6. for ent in doc.ents:
  7. if ent.label_ == 'GPE':
  8. gpe.append(ent.text)
  9. cities = []
  10. countries = []
  11. import wikipedia
  12. for text in gpe:
  13. summary = str(wikipedia.summary(text))
  14. if 'city' in summary:
  15. cities.append(text)
  16. #print(cities)
  17. elif 'country' in summary:
  18. countries.append(text)
  19. #print(countries)
  20. print(countries, cities)

数据格式如下:

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

5tmbdcev1#

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

相关问题