Files
Castor/simple_qa_rnn/scripts/wq_relation_data.py
T
Salman Mohammed 4c081645a7 clean up the relation prediction model for Simple QA - Ferhan's paper (#28)
+ cleaned up the model code for the simple qa directory
+ created vocab objects for pre-loading word embeddings easily
2017-06-19 14:24:27 -04:00

41 lines
1.2 KiB
Python

import json
import os
rel_dir = 'data/dataset-factoid-webquestions/d-freebase-rp/'
text_dir = 'data/dataset-factoid-webquestions/main/'
out_dir = 'data/webquestions-custom/relation-prediction'
fname = 'val.json'
rel_filename = os.path.join(rel_dir, fname)
text_filename = os.path.join(text_dir, fname)
out_filename = os.path.join(out_dir, fname)
text_entries = []
with open(text_filename) as fin:
data = json.load(fin)
text_entries.extend(data)
rel_entries = []
with open(rel_filename) as fin:
data = json.load(fin)
rel_entries.extend(data)
print("num of examples: {}".format(len(text_entries)))
assert len(text_entries) == len(rel_entries)
outfile = open(out_filename, 'w')
count = 0
for text_entry, rel_entry in zip(text_entries, rel_entries):
assert text_entry.get('qId') == rel_entry.get('qId')
qID = text_entry.get('qId')
qText = text_entry.get('qText')
relPaths = rel_entry.get('relPaths')
for relPath in relPaths:
relations = relPath[0]
for rel in relations:
count += 1
outfile.write("{}\t{}\t{}\n".format(qID, rel, qText))
print("count: {}".format(count))
outfile.close()