def extract_entities(text):
result=dict()
for chunk in nltk.ne_chunk(nltk.pos_tag(nltk.word_tokenize(text))):
# chunk.draw()
if(isinstance(chunk, nltk.tree.Tree)):
for subtree in chunk.subtrees(filter=lambda t: (t.label() == 'PERSON' or t.label() == 'GPE' or t.label() == 'LOCATION')):
for leave in subtree.leaves():
if leave[0].lower() not in irrelevant_loc_words:
result[leave[0].lower()]=subtree.label()
# print result
return result
评论列表
文章目录