Commit f7dde0c3 authored by lintangsutawika's avatar lintangsutawika
Browse files

formatted

parent 7684bfa9
...@@ -4,13 +4,11 @@ def doc_to_text(doc): ...@@ -4,13 +4,11 @@ def doc_to_text(doc):
ctxs, doc["question"], doc["final_decision"] ctxs, doc["question"], doc["final_decision"]
) )
def doc_to_target(doc): def doc_to_target(doc):
return " {}".format(doc["final_decision"]) return " {}".format(doc["final_decision"])
def gold_alias(doc): def gold_alias(doc):
dict_to_label = { dict_to_label = {"yes": 0, "no": 1, "maybe": 2}
'yes': 0, return dict_to_label[doc["final_decision"]]
'no': 1,
'maybe': 2
}
return dict_to_label[doc["final_decision"]]
\ No newline at end of file
...@@ -14,4 +14,4 @@ gold_alias: !function preprocess_pubmedqa.gold_alias ...@@ -14,4 +14,4 @@ gold_alias: !function preprocess_pubmedqa.gold_alias
metric_list: metric_list:
- metric: acc - metric: acc
aggregation: mean aggregation: mean
higher_is_better: true higher_is_better: true
\ No newline at end of file
import ast import ast
def process_ast(string): def process_ast(string):
return ast.literal_eval(string) return ast.literal_eval(string)
def last_problem(doc): def last_problem(doc):
return process_ast(doc["problems"])[-1] return process_ast(doc["problems"])[-1]
def get_answer_option(problem): def get_answer_option(problem):
letter_to_num = {"A": 0, "B": 1, "C": 2, "D": 3} letter_to_num = {"A": 0, "B": 1, "C": 2, "D": 3}
answer = letter_to_num[problem["answer"]] answer = letter_to_num[problem["answer"]]
return problem["options"][answer] return problem["options"][answer]
def create_choices(doc): def create_choices(doc):
problem = last_problem(doc) problem = last_problem(doc)
choices = [problem["options"][i] for i in range(4)] choices = [problem["options"][i] for i in range(4)]
return choices return choices
def doc_to_text(doc): def doc_to_text(doc):
text = "Article: " + doc["article"] + "\n\n" text = "Article: " + doc["article"] + "\n\n"
for problem in process_ast(doc["problems"])[:-1]: for problem in process_ast(doc["problems"])[:-1]:
if problem["question"][-6:] == " _ .": if problem["question"][-6:] == " _ .":
text += ( text += problem["question"][-5:] + get_answer_option(problem) + "\n"
problem["question"][-5:] + get_answer_option(problem) + "\n"
)
else: else:
question = "Question: " + problem["question"] + "\n" question = "Question: " + problem["question"] + "\n"
answer = "Answer: " + get_answer_option(problem) + "\n" answer = "Answer: " + get_answer_option(problem) + "\n"
...@@ -30,6 +33,7 @@ def doc_to_text(doc): ...@@ -30,6 +33,7 @@ def doc_to_text(doc):
text += last_problem(doc)["question"] text += last_problem(doc)["question"]
return text return text
def doc_to_target(doc): def doc_to_target(doc):
letter_to_num = {"A": 0, "B": 1, "C": 2, "D": 3} letter_to_num = {"A": 0, "B": 1, "C": 2, "D": 3}
answer = letter_to_num[last_problem(doc)["answer"]] answer = letter_to_num[last_problem(doc)["answer"]]
......
...@@ -17,4 +17,4 @@ metric_list: ...@@ -17,4 +17,4 @@ metric_list:
higher_is_better: true higher_is_better: true
- metric: acc_norm - metric: acc_norm
aggregation: mean aggregation: mean
higher_is_better: true higher_is_better: true
\ No newline at end of file
...@@ -4,11 +4,13 @@ def partial_context(doc, option): ...@@ -4,11 +4,13 @@ def partial_context(doc, option):
pronoun_loc = doc["sentence"].index("_") pronoun_loc = doc["sentence"].index("_")
return doc["sentence"][:pronoun_loc] + option return doc["sentence"][:pronoun_loc] + option
def partial_target(doc): def partial_target(doc):
# The target is everything after the document specified pronoun. # The target is everything after the document specified pronoun.
pronoun_loc = doc["sentence"].index("_") + 1 pronoun_loc = doc["sentence"].index("_") + 1
return doc["sentence"][pronoun_loc:].strip() return doc["sentence"][pronoun_loc:].strip()
def create_choices(doc): def create_choices(doc):
choices = [] choices = []
for option in [doc["option1"], doc["option2"]]: for option in [doc["option1"], doc["option2"]]:
...@@ -16,6 +18,7 @@ def create_choices(doc): ...@@ -16,6 +18,7 @@ def create_choices(doc):
choices.append(partial_ctx) choices.append(partial_ctx)
return choices return choices
def gold_alias(doc): def gold_alias(doc):
answer_to_num = {"1": 0, "2": 1} answer_to_num = {"1": 0, "2": 1}
return answer_to_num[doc['answer']] return answer_to_num[doc["answer"]]
\ No newline at end of file
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