in src/substitution_fns.py [0:0]
def sub_fn(ex: QAExample, target_group: str):
"""Derive all modified examples from one original example."""
new_exs = []
ex_ans_typ = ex.get_example_answer_type()
if ex_ans_typ is not None:
for idx in range(num_samples):
sub_answer = select_random_non_identical_answer(
ex, answer_corpus_by_groups[target_group]
)
new_ex = create_new_example(
ex=ex,
new_id=f"type-swap-sub-{idx}",
answer_text=sub_answer.text,
ner_label=sub_answer.ner_label,
kb_id=sub_answer.kb_id,
wikidata_label=sub_answer.wikidata_label,
aliases=sub_answer.aliases,
wikidata_types=sub_answer.wikidata_types,
wikipedia_page=sub_answer.wikipedia_page,
popularity=sub_answer.popularity,
answer_type=sub_answer.answer_type,
replace_every_original_answer=replace_every,
)
new_exs.append(new_ex)
return new_exs