(dataset_name, setting_name, prediction)
| 178 | |
| 179 | |
| 180 | def post_process(dataset_name, setting_name, prediction): |
| 181 | if dataset_name in dataset_loader.english_cloze_datasets or dataset_name in dataset_loader.chinese_cloze_datasets: |
| 182 | return parse_math_answer(setting_name, prediction) |
| 183 | |
| 184 | if dataset_name in ['jec-qa-kd', 'jec-qa-ca', 'gaokao-physics']: |
| 185 | return parse_qa_multiple_answer(prediction, setting_name) |
| 186 | |
| 187 | # all other datasets are QA problems with single answer |
| 188 | if 'zero-shot' in setting_name: |
| 189 | answer = find_first_capital_letter(prediction) |
| 190 | return answer |
| 191 | |
| 192 | # all other datasets are QA problems with single answer and setting_name are few-shot |
| 193 | language = 'en' if dataset_name in dataset_loader.english_qa_datasets else 'zh' |
| 194 | if dataset_name in dataset_loader.english_qa_datasets or dataset_name in dataset_loader.chinese_qa_datasets: |
| 195 | return parse_few_shot_qa_single_answer(prediction, setting_name, |
| 196 | language) |
| 197 | else: |
| 198 | raise ValueError(f'Unsupported dataset name {dataset_name}') |
no test coverage detected