我有一个样本文本文件,其中存储了通过爬取各种html页面获得的文本数据。这个文本包含有关各种事件及其时间和地点的信息。我想获取这些地点的坐标。我不知道如何在Python中实现这一点。我正在使用nltk识别此示例文本中的命名实体。以下是代码:
import nltk
with open('sample.txt', 'r') as f:
sample = f.read()
sentences = nltk.sent_tokenize(sample)
tokenized_sentences = [nltk.word_tokenize(sentence) for sentence in sentences]
tagged_sentences = [nltk.pos_tag(sentence) for sentence in tokenized_sentences]
chunked_sentences = nltk.batch_ne_chunk(tagged_sentences, binary=True)
#print chunked_sentences
#print tokenized_sentences
#print tagged_sentences
def extract_entity_names(t):
entity_names = []
if hasattr(t, 'node') and t.node:
if t.node == 'NE':
entity_names.append(' '.join([child[0] for child in t]))
else:
for child in t:
entity_names.extend(extract_entity_names(child))
return entity_names
entity_names = []
for tree in chunked_sentences:
# Print results per sentence
# print extract_entity_names(tree)
entity_names.extend(extract_entity_names(tree))
# Print all entity names
#print entity_names
# Print unique entity names
print set(entity_names)
样例文件大致如下:
科文特花园的波西米亚人
时间:2013年1月18日(各种日期),晚上7:30。地点:伦敦科文特花园,约翰·科普利永久受欢迎的皇家歌剧制作普契尼的波西米亚人重新上演,恰好是在圣诞节期间的第一次。马克·埃尔德爵士指挥罗兰多·维拉佐恩饰演罗杜尔福和麦加·科瓦列夫斯卡饰演米蜜。米蜜在巴黎拉丁区的一个寒冷的圣诞前夕遇到了诗人罗杜尔福(德米特罗·波波夫在1月5日和18日扮演这个角色)。在蜡烛熄灭后摸索着黑暗中,他们相爱了。罗杜尔福与其他三个小伙伴住在一起:哲学家柯林(纳欧尔·迪皮耶罗/金志勋在1月18日扮演)、音乐家肖那德(大卫·比兹)和画家马塞洛(奥德恩·伊维尔森),他爱上了穆塞塔(斯特法尼娅·多夫汉)。两对情侣分手,歌剧以罗杜尔福在一个冰冷的阁楼里发现米蜜患有结核病而死亡的悲剧结束。
我想从这段文本中获取伦敦科文特花园的坐标。我该怎么做?