def make_submit(self, model, submit_file):
data = self.eval_sets().values()[0]
target_lines = list()
answers = np.asarray([[idx] for idx in self.entity.keys()])
for i, d in enumerate(data):
num_candidate = len(self.entity)
index_entities = xrange(num_candidate)
terms = d.split('\t')
subjects = np.asarray([[terms[0]]] * num_candidate)
relations = np.asarray([[terms[1]]] * num_candidate)
sims = model.predict([subjects, relations, answers], batch_size=num_candidate).flatten()
print(i)
r = rankdata(sims, method='ordinal')
index_candidates = nlargest(200, index_entities, key=lambda j: r[j])
one_line = ' '.join([str(index_candidate) for index_candidate in index_candidates])
target_lines.append(one_line + '\n')
submit_file.writelines(target_lines)
评论列表
文章目录