Commit bbd6ab3a authored by lintangsutawika's avatar lintangsutawika
Browse files

added alternative prompts for mathqa

parent 7cd1555e
include: ../_mathqa_alt_yaml
group: mathqa_06
group_alias: style_06
task: mathqa_06c
task_alias: c
doc_to_text: !function ../styles.template_06
doc_to_choice: !function ../styles.choice_06c
\ No newline at end of file
include: ../_mathqa_alt_yaml
group: mathqa_07
group_alias: style_07
task: mathqa_07a
task_alias: a
doc_to_text: !function ../styles.template_07
doc_to_choice: !function ../styles.choice_07a
\ No newline at end of file
include: ../_mathqa_alt_yaml
group: mathqa_07
group_alias: style_07
task: mathqa_07b
task_alias: b
doc_to_text: !function ../styles.template_07
doc_to_choice: !function ../styles.choice_07b
\ No newline at end of file
include: ../_mathqa_alt_yaml
group: mathqa_07
group_alias: style_07
task: mathqa_07c
task_alias: c
doc_to_text: !function ../styles.template_07
doc_to_choice: !function ../styles.choice_07c
\ No newline at end of file
include: ../_mathqa_alt_yaml
group: mathqa_08
group_alias: style_08
task: mathqa_08a
task_alias: a
doc_to_text: !function ../styles.template_08
doc_to_choice: !function ../styles.choice_08a
\ No newline at end of file
include: ../_mathqa_alt_yaml
group: mathqa_08
group_alias: style_08
task: mathqa_08b
task_alias: b
doc_to_text: !function ../styles.template_08
doc_to_choice: !function ../styles.choice_08b
\ No newline at end of file
include: ../_mathqa_alt_yaml
group: mathqa_08
group_alias: style_08
task: mathqa_08c
task_alias: c
doc_to_text: !function ../styles.template_08
doc_to_choice: !function ../styles.choice_08c
\ No newline at end of file
import re
import string
from functools import partial
def parse_choices(doc):
choices = [
c[4:].rstrip(" ,")
for c in re.findall(r"[abcd] \) .*?, |e \) .*?$", doc["options"])
]
return choices
def doc_to_text_base(alphabet, style, doc):
choices = parse_choices(doc)
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(
[doc["Problem"]] + [
choice_string.format(i,j) for i,j in zip(letter_list, choices)
]
)
return doc_to_text
# Full continuation
def choice_A(doc):
return parse_choices(doc)
# Letters only
def choice_B(alphabet, style, doc):
choices = parse_choices(doc)
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 = parse_choices(doc)
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")
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