haerae.py 1.03 KB
Newer Older
GUIJIN SON's avatar
GUIJIN SON committed
1
2
3
4
5
from lm_eval.base import MultipleChoiceTask


class Haerae(MultipleChoiceTask):
    VERSION = 0
GUIJIN SON's avatar
GUIJIN SON committed
6
    DATASET_PATH = "amphora/haerae_bench"
GUIJIN SON's avatar
GUIJIN SON committed
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

    def has_training_docs(self):
        return False

    def has_validation_docs(self):
        return False

    def has_test_docs(self):
        return True

    def test_docs(self):
        return map(self._process_doc, self.dataset["test"])
    
    def _process_doc(self, doc):
        choices = [doc["o1"], doc["o2"], doc["o3"], doc["o4"]]
        if doc.get("o5") is not None:
            choices.append(doc["o5"])
        out_doc = {
            "query": doc["query"],
            "choices": choices,
GUIJIN SON's avatar
GUIJIN SON committed
27
            "gold": int(doc['gold'])-1,
GUIJIN SON's avatar
GUIJIN SON committed
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
        }
        return out_doc

    def doc_to_text(self, doc):
        return doc["query"]


class HI(Haerae):
    DATASET_NAME = "HI"


class KGK(Haerae):
    DATASET_NAME = "KGK"


class LW(Haerae):
    DATASET_NAME = "LW"


class RC(Haerae):
    DATASET_NAME = "RC"


class RW(Haerae):
    DATASET_NAME = "RW"


class SN(Haerae):
    DATASET_NAME = "SN"