def select_random_non_identical_answer()

in src/substitution_fns.py [0:0]


def select_random_non_identical_answer(ex: QAExample, sample_set: typing.List[str]):
    """Randomly samples an answer from `sample_set` that is non-identical to the gold answers
    currently represented in the QAExample."""
    norm_gold_answers = {normalize_text(ga.text): ga for ga in ex.gold_answers}
    sample_keys = list(sample_set.keys())
    sub_key = None
    while not sub_key or normalize_text(sub_key) in norm_gold_answers:
        sub_key = random.choice(sample_keys)
    return sample_set[sub_key]