У меня есть файл JSON ...
"1": {"address": "1",
"ctag": "Ne",
"feats": "_",
"head": "6",
"lemma": "Ghani",
"rel": "SBJ",
"tag": "Ne",
"word": "Ghani"},
"2": {"address": "2",
"ctag": "AJ",
"feats": "_",
"head": "1",
"lemma": "born",
"rel": "NPOSTMOD",
"tag": "AJ",
"word": "born"},
"3": {"address": "3",
"ctag": "P",
"feats": "_",
"head": "6",
"lemma": "in",
"rel": "ADV",
"tag": "P",
"word": "in"},
"4": {"address": "4",
"ctag": "N",
"feats": "_",
"head": "3",
"lemma": "Kabul",
"rel": "POSDEP",
"tag": "N",
"word": "Kabul"},
"5": {"address": "5",
"ctag": "PUNC",
"feats": "_",
"head": "6",
"lemma": ".",
"rel": "PUNC",
"tag": "PUNC",
"word": "."},
Я читаю файл JSON и сохраняю его в файле.
import json
# read file
with open('../data/data.txt', 'r') as JSON_file:
obj = json.load(JSON_file)
d = dict(obj) # stored it in a dict
Из этого dict
я извлек два списка, которыекаждый список содержит relation
из текста и entities
следующим образом:
entities(d) = ['Ghani', 'Kabul', 'Afghanistan'....]
relation(d) = ['president', 'capital', 'located'...]
Теперь я хочу проверить в каждом предложении dict d
, существует ли какой-либо элемент entities(d)
и relation(d)
, он должен быть сохранен в другом списке.Что я сделал?
to_match = set(relation(d) + entities(d))
entities_and_relation = [[j for j in to_match if j in i]
for i in ''.join(d).split('.')[:-1]]
print(entities_and_relation)
Но это вернуло мне пустой список.Можете ли вы сказать мне, что здесь не так.
ВЫХОД должен выглядеть следующим образом: [Гани, президент, Афганистан] ...