Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
outpath = os.path.join(outdir, '{}.{}'.format(pair, tgt))
process_to_text(rawpath, outpath, field=field)
found.append(outpath)
return found
class Result:
def __init__(self, score: float):
self.score = score
def __str__(self):
return self.format()
class BLEU(Result):
def __init__(self,
score: float,
counts,
totals,
precisions,
bp,
sys_len,
ref_len):
super().__init__(score)
self.counts = counts
self.totals = totals
self.precisions = precisions
self.bp = bp
self.sys_len = sys_len
self.ref_len = ref_len
self.sys_len = sys_len
self.ref_len = ref_len
def format(self, width=2):
precisions = "/".join(["{:.1f}".format(p) for p in self.precisions])
return 'BLEU = {score:.{width}f} {precisions} (BP = {bp:.3f} ratio = {ratio:.3f} hyp_len = {sys_len:d} ref_len = {ref_len:d})'.format(
score=self.score,
width=width,
precisions=precisions,
bp=self.bp,
ratio=self.sys_len / self.ref_len,
sys_len=self.sys_len,
ref_len=self.ref_len)
class CHRF(Result):
def __init__(self, score: float):
super().__init__(score)
def format(self, width=2):
return '{score:.{width}f}'.format(score=self.score, width=width)
def compute_bleu(correct: List[int],
total: List[int],
sys_len: int,
ref_len: int,
smooth_method = 'none',
smooth_value = SMOOTH_VALUE_DEFAULT,
use_effective_order = False) -> BLEU:
"""Computes BLEU score from its sufficient statistics. Adds smoothing.