eventExtractionHDN/entity_linker/_merge_kbs.py

49 lines
1.3 KiB
Python

import pickle
from pprint import pprint
"""
with open('./KB_abs_convivio.pickle', 'rb') as infile:
kb1 = pickle.load(infile)
print(len(kb1))
with open('./KB_abs_monarchia.pickle', 'rb') as infile:
kb2 = pickle.load(infile)
print(len(kb2))
def merge_dicts(iter_dict):
merged = {}
for i, dict in enumerate(iter_dict):
if i == 0:
merged = iter_dict[i]
continue
else:
for k, v in iter_dict[i].items():
if k not in merged.keys():
merged[k] = v
return merged
merged = merge_dicts([kb1, kb2])
with open('./KB_abs_merged.pickle', 'wb') as infile:
pickle.dump(merged, infile)
from pprint import pprint
pprint(merged['Giles_of_Rome'])
"""
with open('knowledge_base/KB_abs_merged.pickle', 'rb') as infile:
kb = pickle.load(infile)
reversed_dict = {}
for key in kb.keys():
name_list = kb[key]['names']
to_add = {'name':'None', 'birth':'None', 'abstract':'None'}
for name in name_list:
to_add['name'] = key
to_add['birth'] = kb[key]['birth']
to_add['abstract'] = kb[key]['abstract']
reversed_dict[name] = to_add
print(len(reversed_dict))
with open('knowledge_base/KB_abs_reversed.pickle', 'wb') as outfile:
pickle.dump(reversed_dict, outfile)