Esempio n. 1
0
    def test_align_substitution(self):
        lev = alignment.LevenshteinAligner()

        ali = lev.align(
            ll_with_values(['a', 'b', 'c']),
            ll_with_values(['a', 'x', 'c'])
        )

        assert ali == [
            alignment.LabelPair(annotations.Label('a'), annotations.Label('a')),
            alignment.LabelPair(annotations.Label('b'), annotations.Label('x')),
            alignment.LabelPair(annotations.Label('c'), annotations.Label('c')),
        ]
Esempio n. 2
0
    def test_align_empty_ref_returns_all_none(self):
        lev = alignment.LevenshteinAligner()

        ali = lev.align(
            ll_with_values([]),
            ll_with_values(['a', 'b', 'c'])
        )

        assert ali == [
            alignment.LabelPair(None, annotations.Label('a')),
            alignment.LabelPair(None, annotations.Label('b')),
            alignment.LabelPair(None, annotations.Label('c')),
        ]
Esempio n. 3
0
    def test_align_high_substitution_cost_forces_deletions_and_insertions(self):
        lev = alignment.LevenshteinAligner(substitution_cost=20)

        ali = lev.align(
            ll_with_values(['a', 'b', 'c']),
            ll_with_values(['a', 'x', 'c'])
        )

        assert ali == [
            alignment.LabelPair(annotations.Label('a'), annotations.Label('a')),
            alignment.LabelPair(annotations.Label('b'), None),
            alignment.LabelPair(None, annotations.Label('x')),
            alignment.LabelPair(annotations.Label('c'), annotations.Label('c')),
        ]
Esempio n. 4
0
    def __init__(self, aligner=None):
        if aligner is None:
            aligner = alignment.LevenshteinAligner()

        super(ASREvaluator, self).__init__(aligner)