Commit 1ff18c9a authored by lintangsutawika's avatar lintangsutawika
Browse files

added prompt and output variations

parent af6e46fd
include: ../_sciq_alt_yaml
group: sciq_alt_ov_06
task: sciq_alt_ov_06c
doc_to_text: !function ../styles.template_06
doc_to_choice: !function ../styles.choice_06c
\ No newline at end of file
include: ../_sciq_alt_yaml
group: sciq_alt_ov_07
task: sciq_alt_ov_07a
doc_to_text: !function ../styles.template_07
doc_to_choice: !function ../styles.choice_07a
\ No newline at end of file
include: ../_sciq_alt_yaml
group: sciq_alt_ov_07
task: sciq_alt_ov_07b
doc_to_text: !function ../styles.template_07
doc_to_choice: !function ../styles.choice_07b
\ No newline at end of file
include: ../_sciq_alt_yaml
group: sciq_alt_ov_07
task: sciq_alt_ov_07c
doc_to_text: !function ../styles.template_07
doc_to_choice: !function ../styles.choice_07c
\ No newline at end of file
include: ../_sciq_alt_yaml
group: sciq_alt_ov_08
task: sciq_alt_ov_08a
doc_to_text: !function ../styles.template_08
doc_to_choice: !function ../styles.choice_08a
\ No newline at end of file
include: ../_sciq_alt_yaml
group: sciq_alt_ov_08
task: sciq_alt_ov_08b
doc_to_text: !function ../styles.template_08
doc_to_choice: !function ../styles.choice_08b
\ No newline at end of file
include: ../_sciq_alt_yaml
group: sciq_alt_ov_08
task: sciq_alt_ov_08c
doc_to_text: !function ../styles.template_08
doc_to_choice: !function ../styles.choice_08c
\ No newline at end of file
import string
from functools import partial
def doc_to_text_base(alphabet, style, doc):
choices = doc["choices"]["text"]
num = len(choices)
letter_list = [style.format(letter) for letter in alphabet[0:num]]
if "\t" in style:
choice_string = "{}{}"
else:
choice_string = "{} {}"
doc_to_text = "\n\n".join([
"Question: "+doc["question"]+"\nAnswer:",
] + [
choice_string.format(i,j) for i,j in zip(letter_list, choices)
]
)
return doc_to_text
# Full continuation
def choice_A(doc):
return doc["choices"]["text"]
# Letters only
def choice_B(alphabet, style, doc):
choices = doc["choices"]["text"]
num = len(choices)
letter_list = [style.format(letter) for letter in alphabet[0:num]]
if "\t" in style:
letter_list = [letter.replace("\t","") for letter in letter_list]
return letter_list
# Letters + Full continuation
def choice_C(alphabet, style, doc):
choices = doc["choices"]["text"]
num = len(choices)
letter_list = [style.format(letter) for letter in alphabet[0:num]]
if "\t" not in style:
letter_list = [letter+" " for letter in letter_list]
return [letter+choice for letter, choice in zip(letter_list, choices)]
template_01 = partial(doc_to_text_base, string.ascii_lowercase, "({})")
choice_01a = choice_A
choice_01b = partial(choice_B, string.ascii_lowercase, "({})")
choice_01c = partial(choice_C, string.ascii_lowercase, "({})")
template_02 = partial(doc_to_text_base, string.ascii_lowercase, "{})")
choice_02a = choice_A
choice_02b = partial(choice_B, string.ascii_lowercase, "{})")
choice_02c = partial(choice_C, string.ascii_lowercase, "{})")
template_03 = partial(doc_to_text_base, string.ascii_lowercase, "{}.")
choice_03a = choice_A
choice_03b = partial(choice_B, string.ascii_lowercase, "{}.")
choice_03c = partial(choice_C, string.ascii_lowercase, "{}.")
template_04 = partial(doc_to_text_base, string.ascii_lowercase, "{}\t")
choice_04a = choice_A
choice_04b = partial(choice_B, string.ascii_lowercase, "{}\t")
choice_04c = partial(choice_C, string.ascii_lowercase, "{}\t")
template_05 = partial(doc_to_text_base, string.ascii_uppercase, "({})")
choice_05a = choice_A
choice_05b = partial(choice_B, string.ascii_uppercase, "({})")
choice_05c = partial(choice_C, string.ascii_uppercase, "({})")
template_06 = partial(doc_to_text_base, string.ascii_uppercase, "{})")
choice_06a = choice_A
choice_06b = partial(choice_B, string.ascii_uppercase, "{})")
choice_06c = partial(choice_C, string.ascii_uppercase, "{})")
template_07 = partial(doc_to_text_base, string.ascii_uppercase, "{}.")
choice_07a = choice_A
choice_07b = partial(choice_B, string.ascii_uppercase, "{}.")
choice_07c = partial(choice_C, string.ascii_uppercase, "{}.")
template_08 = partial(doc_to_text_base, string.ascii_uppercase, "{}\t")
choice_08a = choice_A
choice_08b = partial(choice_B, string.ascii_uppercase, "{}\t")
choice_08c = partial(choice_C, string.ascii_uppercase, "{}\t")
group: sciq_alt_pv
task: sciq_alt_pv_01
dataset_path: sciq
dataset_name: null
output_type: multiple_choice
training_split: train
validation_split: validation
test_split: test
doc_to_text: "{{support.lstrip()}}\n{{question}}"
doc_to_target: 3
doc_to_choice: "{{[distractor1, distractor2, distractor3, correct_answer]}}"
should_decontaminate: true
doc_to_decontamination_query: "{{support}} {{question}}"
metric_list:
- metric: acc
- metric: acc_norm
- metric: brier_score
group: sciq_alt_pv
task: sciq_alt_pv_02
dataset_path: sciq
dataset_name: null
output_type: multiple_choice
training_split: train
validation_split: validation
test_split: test
doc_to_text: "{{support.lstrip()}}\nQ: {{question}}\nA:"
doc_to_target: 3
doc_to_choice: "{{[distractor1, distractor2, distractor3, correct_answer]}}"
should_decontaminate: true
doc_to_decontamination_query: "{{support}} {{question}}"
metric_list:
- metric: acc
- metric: acc_norm
- metric: brier_score
group: sciq_alt_pv
task: sciq_alt_pv_03
dataset_path: sciq
dataset_name: null
output_type: multiple_choice
training_split: train
validation_split: validation
test_split: test
doc_to_text: "{{support.lstrip()}}\nQuestion: {{question}}\nAnswer:"
doc_to_target: 3
doc_to_choice: "{{[distractor1, distractor2, distractor3, correct_answer]}}"
should_decontaminate: true
doc_to_decontamination_query: "{{support}} {{question}}"
metric_list:
- metric: acc
- metric: acc_norm
- metric: brier_score
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment