webqs.py 904 Bytes
Newer Older
1
from . common import HFTask
Leo Gao's avatar
Leo Gao committed
2

3
class WebQs(HFTask):
Leo Gao's avatar
Leo Gao committed
4
5
    DATASET_PATH = "web_questions"
    DATASET_NAME = None
Leo Gao's avatar
Leo Gao committed
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

    def has_training_docs(self):
        return True

    def has_validation_docs(self):
        return False

    def has_test_docs(self):
        return True

    def fewshot_description(self):
        # TODO: figure out description
        return ""

    def doc_to_text(self, doc, include_target=True):
        print(doc)
Leo Gao's avatar
Leo Gao committed
22
        q = "Q: " + doc['question'] + '\n'
Leo Gao's avatar
Leo Gao committed
23
24
25
26

        # this picks one answer to be the "correct" one, despite sometimes 
        # multiple correct answers being possible.
        # TODO: make sure we're actually handling multi-answer correctly
Leo Gao's avatar
Leo Gao committed
27
        a = "A:" + ((" " + doc['answers'][0]) if include_target else '')
Leo Gao's avatar
Leo Gao committed
28
29
30
31
32
        return q + a

    def evaluate(self, docs, lm, provide_description, num_fewshot):
        # TODO: implement
        raise NotImplementedError()