def test_3(self): """ """ result = self.calculator.get_distance('batman', 'b') self.assertEqual(result.distance, 5) expected_alignment_result = AlignmentResult() expected_alignment_result.add_token(ref_token="b", output_tokens=["b"], add_to_left=False) expected_alignment_result.add_token(ref_token="a", output_tokens=[], add_to_left=False) expected_alignment_result.add_token(ref_token="t", output_tokens=[], add_to_left=False) expected_alignment_result.add_token(ref_token="m", output_tokens=[], add_to_left=False) expected_alignment_result.add_token(ref_token="a", output_tokens=[], add_to_left=False) expected_alignment_result.add_token(ref_token="n", output_tokens=[], add_to_left=False) expected_alignment_result.merge_none_tokens() distance, substitution, insertion, deletion = expected_alignment_result.calculate_three_kinds_of_distance( ) print(distance, substitution, insertion, deletion) print(result.alignment_result) print(expected_alignment_result) self.assertEqual(result.alignment_result, expected_alignment_result)
def test_6(self): """ """ result = self.calculator.get_distance('ernest', 'nester') self.assertEqual(result.distance, 4) expected_alignment_result = AlignmentResult() expected_alignment_result.add_token(ref_token="e", output_tokens=[], add_to_left=False) expected_alignment_result.add_token(ref_token="r", output_tokens=[], add_to_left=False) expected_alignment_result.add_token(ref_token="n", output_tokens=["n"], add_to_left=False) expected_alignment_result.add_token(ref_token="e", output_tokens=["e"], add_to_left=False) expected_alignment_result.add_token(ref_token="s", output_tokens=["s"], add_to_left=False) expected_alignment_result.add_token(ref_token="t", output_tokens=["t", "e", "r"], add_to_left=False) expected_alignment_result.merge_none_tokens() distance, substitution, insertion, deletion = expected_alignment_result.calculate_three_kinds_of_distance( ) print(distance, substitution, insertion, deletion) print(result.alignment_result) print(expected_alignment_result) self.assertEqual(result.alignment_result, expected_alignment_result)
def test_5(self): """ """ result = self.calculator.get_distance('AVERY', 'GARVEY') self.assertEqual(result.distance, 3) expected_alignment_result = AlignmentResult() expected_alignment_result.add_token(ref_token="A", output_tokens=["G", "A", "R"], add_to_left=False) expected_alignment_result.add_token(ref_token="V", output_tokens=["V"], add_to_left=False) expected_alignment_result.add_token(ref_token="E", output_tokens=["E"], add_to_left=False) expected_alignment_result.add_token(ref_token="R", output_tokens=[], add_to_left=False) expected_alignment_result.add_token(ref_token="Y", output_tokens=["Y"], add_to_left=False) expected_alignment_result.merge_none_tokens() distance, substitution, insertion, deletion = expected_alignment_result.calculate_three_kinds_of_distance( ) print(distance, substitution, insertion, deletion) print(result.alignment_result) print(expected_alignment_result) self.assertEqual(result.alignment_result, expected_alignment_result)
def test_10(self): """ """ result = self.calculator.get_distance('happyeveryday', 'happybirthday') self.assertEqual(result.distance, 5) expected_alignment_result = AlignmentResult() expected_alignment_result.add_token(ref_token="h", output_tokens=["h"], add_to_left=False) expected_alignment_result.add_token(ref_token="a", output_tokens=["a"], add_to_left=False) expected_alignment_result.add_token(ref_token="p", output_tokens=["p"], add_to_left=False) expected_alignment_result.add_token(ref_token="p", output_tokens=["p"], add_to_left=False) expected_alignment_result.add_token(ref_token="y", output_tokens=["y"], add_to_left=False) expected_alignment_result.add_token(ref_token="e", output_tokens=["b"], add_to_left=False) expected_alignment_result.add_token(ref_token="v", output_tokens=["i"], add_to_left=False) expected_alignment_result.add_token(ref_token="e", output_tokens=["r"], add_to_left=False) expected_alignment_result.add_token(ref_token="r", output_tokens=["t"], add_to_left=False) expected_alignment_result.add_token(ref_token="y", output_tokens=["h"], add_to_left=False) expected_alignment_result.add_token(ref_token="d", output_tokens=["d"], add_to_left=False) expected_alignment_result.add_token(ref_token="a", output_tokens=["a"], add_to_left=False) expected_alignment_result.add_token(ref_token="y", output_tokens=["y"], add_to_left=False) distance, substitution, insertion, deletion = expected_alignment_result.calculate_three_kinds_of_distance( ) print(distance, substitution, insertion, deletion) print(result.alignment_result) print(expected_alignment_result) self.assertEqual(result.alignment_result, expected_alignment_result)
def test_9(self): """ """ result = self.calculator.get_distance('helloa a a ?', 'HHHHHHHoooooo') print(result.alignment_result) print(result.distance) self.assertEqual(result.distance, 13) expected_alignment_result = AlignmentResult() expected_alignment_result.add_token(ref_token="h", output_tokens=["H", "H"], add_to_left=False) expected_alignment_result.add_token(ref_token="e", output_tokens=["H"], add_to_left=False) expected_alignment_result.add_token(ref_token="l", output_tokens=["H"], add_to_left=False) expected_alignment_result.add_token(ref_token="l", output_tokens=["H"], add_to_left=False) expected_alignment_result.add_token(ref_token="o", output_tokens=["H"], add_to_left=False) expected_alignment_result.add_token(ref_token="a", output_tokens=["H"], add_to_left=False) expected_alignment_result.add_token(ref_token=" ", output_tokens=["o"], add_to_left=False) expected_alignment_result.add_token(ref_token="a", output_tokens=["o"], add_to_left=False) expected_alignment_result.add_token(ref_token=" ", output_tokens=["o"], add_to_left=False) expected_alignment_result.add_token(ref_token="a", output_tokens=["o"], add_to_left=False) expected_alignment_result.add_token(ref_token=" ", output_tokens=["o"], add_to_left=False) expected_alignment_result.add_token(ref_token="?", output_tokens=["o"], add_to_left=False) distance, substitution, insertion, deletion = expected_alignment_result.calculate_three_kinds_of_distance( ) print(distance, substitution, insertion, deletion) print(result.alignment_result) print(expected_alignment_result) self.assertEqual(result.alignment_result, expected_alignment_result)
def test_2nd(self): """ """ result = self.calculator.get_distance('AV', 'Abc') self.assertEqual(result.distance, 2) expected_alignment_result = AlignmentResult() expected_alignment_result.add_token(ref_token="A", output_tokens=["A", "b"], add_to_left=False) expected_alignment_result.add_token(ref_token="V", output_tokens=["c"], add_to_left=False) distance, substitution, insertion, deletion = expected_alignment_result.calculate_three_kinds_of_distance( ) print(distance, substitution, insertion, deletion) print(result.alignment_result) print(expected_alignment_result) self.assertEqual(result.alignment_result, expected_alignment_result)
def test_files(self): """ """ file1 = open('r_file.txt', 'r') R = file1.read() file2 = open('o_file.txt', 'r') O = file2.read() result = self.wer_calculator.get_distance(R, O) print(result.distance) self.assertEqual(result.distance, 373) expected_alignment_result = AlignmentResult() expected_alignment_result.load_from_file('resultoffilr.txt', expected_alignment_result) distance, substitution, insertion, deletion = expected_alignment_result.calculate_three_kinds_of_distance( ) print(distance, substitution, insertion, deletion)
def test_first(self): """ """ result = self.calculator.get_distance('abc', 'dfg') self.assertEqual(result.distance, 3) expected_alignment_result = AlignmentResult() expected_alignment_result.add_token(ref_token="a", output_tokens=["d"], add_to_left=False) expected_alignment_result.add_token(ref_token="b", output_tokens=["f"], add_to_left=False) expected_alignment_result.add_token(ref_token="c", output_tokens=["g"], add_to_left=False) # result.alignment_result == expected_alignment_result distance, substitution, insertion, deletion = expected_alignment_result.calculate_three_kinds_of_distance( ) print(distance, substitution, insertion, deletion) print(result.alignment_result) print(expected_alignment_result) self.assertEqual(result.alignment_result, expected_alignment_result)
def test_7(self): """ """ result = self.calculator.get_distance('werewolf', 'were wolf') self.assertEqual(result.distance, 2) expected_alignment_result = AlignmentResult() expected_alignment_result.add_token(ref_token="w", output_tokens=["w"], add_to_left=False) expected_alignment_result.add_token(ref_token="e", output_tokens=["e"], add_to_left=False) expected_alignment_result.add_token(ref_token="r", output_tokens=["r"], add_to_left=False) expected_alignment_result.add_token(ref_token="e", output_tokens=["e", " ", " "], add_to_left=False) expected_alignment_result.add_token(ref_token="w", output_tokens=["w"], add_to_left=False) expected_alignment_result.add_token(ref_token="o", output_tokens=["o"], add_to_left=False) expected_alignment_result.add_token(ref_token="l", output_tokens=["l"], add_to_left=False) expected_alignment_result.add_token(ref_token="f", output_tokens=["f"], add_to_left=False) expected_alignment_result.merge_none_tokens() distance, substitution, insertion, deletion = expected_alignment_result.calculate_three_kinds_of_distance( ) print(distance, substitution, insertion, deletion) print(result.alignment_result) print(expected_alignment_result) self.assertEqual(result.alignment_result, expected_alignment_result)
# print('assign_list[index:]', assign_list[index:]) tmp_second_tmp = assign_list[index:] + tmp_second_tmp sort_output_list_tmp.append(tmp_first_tmp) sort_output_list_tmp.append(tmp_second_tmp) # print('index, sort_output_list_tmp', index, sort_output_list_tmp) # print('before, sort_output_list', index, sort_output_list) # print('before sort_output_list', sort_output_list) sort_output_list.append(sort_output_list_tmp) # print('after sort_output_list', sort_output_list) # print("!!!!!!!!!!") print('sort_output_list', sort_output_list) print('len_list', len(sort_output_list)) ## to do calculate calculator = UKKLevenshteinDistanceCalculator( tokenizer=CharacterTokenizer(), get_alignment_result=False) old_distance = alignment_result.calculate_three_kinds_of_distance( )[0] distance = calculator.get_distance(all_reference[0], sort_output_list[0]).distance # for x in generator.get_all_reference(): # x = " ".join(x) # distance = calculator.get_distance(x, output_string).distance d = 0 for current_output in sort_output_list: print('current_reference', all_reference[0]) print('current_output', current_output) d += calculator.get_distance(all_reference[0], current_output[0]).distance d += calculator.get_distance(all_reference[1], current_output[1]).distance print('old_distance', old_distance)