3
我試圖拿出一個句子,並提取Person(PER)和Place(GPE)之間的關係。個人與城市/州之間的關係提取
句子:「約翰來自俄亥俄州,邁克爾來自佛羅里達州,麗貝卡來自田納西州的納什維爾。」
對於最後一個人,她有一個城市和一個國家,可以被提取作爲她的地方。到目前爲止,我嘗試過使用nltk來做到這一點,但只能提取她的城市,而不是她的狀態。
我已經試過:
import re
from nltk import ne_chunk, pos_tag, word_tokenize
from nltk.sem.relextract import extract_rels, rtuple
sentence = "John is from Ohio, Michael is from Florida and Rebecca is from Nashville which is in Tennessee."
chunked = ne_chunk(pos_tag(word_tokenize(sentence)))
ISFROM = re.compile(r'.*\bfrom\b.*')
rels = extract_rels('PER', 'GPE', chunked, corpus = 'ace', pattern = ISFROM)
for rel in rels:
print(rtuple(rel))
我的輸出是:
[PER: 'John/NNP'] 'is/VBZ from/IN' [GPE: 'Ohio/NNP']
[PER: 'Michael/NNP'] 'is/VBZ from/IN' [GPE: 'Florida/NNP']
[PER: 'Rebecca/NNP'] 'is/VBZ from/IN' [GPE: 'Nashville/NNP']
問題是麗貝卡。我怎樣才能提取納什維爾和田納西都屬於她的位置?甚至只有田納西州呢?