def sub_fn()

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