in src/data.py [0:0]
def __getitem__(self, index):
example = self.data[index]
question = self.question_prefix + " " + example['question']
target = self.get_target(example)
if 'ctxs' in example and self.n_context is not None:
f = self.title_prefix + " {} " + self.passage_prefix + " {}"
contexts = example['ctxs'][:self.n_context]
passages = [f.format(c['title'], c['text']) for c in contexts]
scores = [float(c['score']) for c in contexts]
scores = torch.tensor(scores)
# TODO(egrave): do we want to keep this?
if len(contexts) == 0:
contexts = [question]
else:
passages, scores = None, None
return {
'index' : index,
'question' : question,
'target' : target,
'passages' : passages,
'scores' : scores
}