in results/summarize_presupposition_results.py [0:0]
def finely_summarize_data_to_table(data, trigger, model, filtered):
results_table = []
for pair_type_key in right_answers.keys():
pair_type = get_by_filter(data, pair_type_key)
try:
entail_n = sum([1 if d["pred_entailment"] > d["pred_neutral"] and d["pred_entailment"] > d["pred_contradiction"]
else 0 for d in pair_type]) / len(pair_type)
neutral_n = sum([1 if d["pred_neutral"] > d["pred_entailment"] and d["pred_neutral"] > d["pred_contradiction"]
else 0 for d in pair_type]) / len(pair_type)
contra_n = sum([1 if d["pred_contradiction"] > d["pred_neutral"] and d["pred_contradiction"] > d["pred_entailment"]
else 0 for d in pair_type]) / len(pair_type)
except ZeroDivisionError:
entail_n = 0
neutral_n = 0
contra_n = 0
entry = np.zeros(1, dtype=data_type)
entry["model"] = model
entry["filtered"] = filtered
entry["trigger_type"] = trigger
entry["condition"] = pair_type_key
if pair_type_key.startswith("control"):
entry["control"] = True
entry["trigger_condition"] = pair_type_key.split("_")[1]
entry["presupposition_condition"] = ""
else:
entry["control"] = False
entry["trigger_condition"] = pair_type_key.split("_")[1]
entry["presupposition_condition"] = pair_type_key.split("_")[2]
entry["entailment"] = entail_n
entry["neutral"] = neutral_n
entry["contradiction"] = contra_n
entry["n_examples"] = len(pair_type)
if right_answers[pair_type_key] == "entailment":
entry["accuracy"] = entail_n
elif right_answers[pair_type_key] == "neutral":
entry["accuracy"] = neutral_n
elif right_answers[pair_type_key] == "contradiction":
entry["accuracy"] = contra_n
results_table.append(entry)
return results_table