Commit 815f165c authored by Stephen Hogg's avatar Stephen Hogg
Browse files

Don't create requests for TODO metrics

parent f7aaff08
...@@ -150,19 +150,19 @@ class QASPER(HFTask): ...@@ -150,19 +150,19 @@ class QASPER(HFTask):
def process_results(self, doc, results): def process_results(self, doc, results):
# TODO: Calculate a score for extractive spans once a request type for generating # TODO: Calculate a score for extractive spans once a request type for generating
# extractive spans is available # extractive spans is available
if len(results) == 1: if not results:
[(logprob_unanswerable, _)] = results return {}
elif len(results) == 1:
[res] = results
elif len(results) == 2: elif len(results) == 2:
res, (logprob_unanswerable, _) = results [ll_yes, ll_no] = results
else:
ll_yes, ll_no, (logprob_unanswerable, _) = results
res_dict = {}
# TODO: Handle unanswerability first # TODO: Handle unanswerability first
# unanswerable_gold = doc["answer_type"] == "unanswerable" # unanswerable_gold = doc["answer_type"] == "unanswerable"
# unanswerable_pred = exp(logprob_unanswerable) # unanswerable_pred = exp(logprob_unanswerable)
# res_dict["f1_unanswerable"] = (unanswerable_gold, unanswerable_pred) # res_dict["f1_unanswerable"] = (unanswerable_gold, unanswerable_pred)
res_dict = {}
# Handle yes/no questions # Handle yes/no questions
if doc["answer_type"] == "bool": if doc["answer_type"] == "bool":
gold = 1 if doc["answer"] == "yes" else 0 gold = 1 if doc["answer"] == "yes" else 0
...@@ -195,15 +195,15 @@ class QASPER(HFTask): ...@@ -195,15 +195,15 @@ class QASPER(HFTask):
language description, as well as the few shot examples, and the question language description, as well as the few shot examples, and the question
part of the document for `doc`. part of the document for `doc`.
""" """
unanswerable = rf.loglikelihood(ctx, " " + "unanswerable") # unanswerable = rf.loglikelihood(ctx, " " + "unanswerable")
if doc["answer_type"] in ("free form answer", "extractive_spans"): if doc["answer_type"] in ("free form answer"):
return [rf.greedy_until(ctx, ["\n"]), unanswerable] return [rf.greedy_until(ctx, ["\n"])]
elif doc["answer_type"] in ("bool"): elif doc["answer_type"] in ("bool"):
ll_yes, _ = rf.loglikelihood(ctx, " yes") ll_yes, _ = rf.loglikelihood(ctx, " yes")
ll_no, _ = rf.loglikelihood(ctx, " no") ll_no, _ = rf.loglikelihood(ctx, " no")
return [ll_yes, ll_no, unanswerable] return [ll_yes, ll_no]
else: else:
return [unanswerable] return []
def higher_is_better(self): def higher_is_better(self):
""" """
......
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