File size: 543 Bytes
c668e80
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"""Base Scorer class and relate utils."""


class Scorer(object):
    """A Base class that every scoring method should derived from."""

    def __init__(self, opts):
        self.opts = opts

    def compute_score(self, preds, texts_refs):
        raise NotImplementedError


def build_scorers(opts, scorers_cls):
    """Build scorers in `scorers_cls`."""
    scorers = {}
    for metric, scorer_cls in scorers_cls.items():
        scorer_obj = scorer_cls(opts)
        scorers[metric] = {"scorer": scorer_obj, "value": 0}
    return scorers