in vizseq/scorers/_ter.py [0:0]
def _get_edit_distance(s_str: str, t_str: str):
s, t = s_str.split(), t_str.split()
len_s, len_t = len(s), len(t)
d = [[0 for _ in range(len_t + 1)] for _ in range(len_s + 1)]
for i in range(1, len_s + 1):
d[i][0] = i
for j in range(1, len_t + 1):
d[0][j] = j
for i in range(1, len_s + 1):
for j in range(1, len_t + 1):
sub = int(s[i - 1] != t[j - 1])
d[i][j] = min(
d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + sub
)
return d[-1][-1]