in src/substitution_fns.py [0:0]
def sub_fn(ex: QAExample, wikidata_popularity_bins: typing.List[typing.Dict]):
"""Derive all modified examples from one original example."""
new_exs = []
for bin_id in range(len(wikidata_popularity_bins)):
sub_qid = random.choice(list(wikidata_popularity_bins[bin_id].keys()))
sub_qid_info = wikidata_popularity_bins[bin_id][sub_qid]
new_ex = create_new_example(
ex=ex,
new_id=f"pop-sub-{bin_id}",
answer_text=sub_qid_info["label"],
ner_label=None,
kb_id=sub_qid,
wikidata_label=sub_qid_info["label"],
aliases=sub_qid_info["aliases"],
wikidata_types=sub_qid_info["entity_types"],
wikipedia_page=sub_qid_info["wikipedia_page"],
popularity=sub_qid_info["popularity"],
answer_type=None,
replace_every_original_answer=replace_every,
)
new_exs.append(new_ex)
return new_exs