Example #1
0
def rouge_l(candidate_tokens, reference_tokens, beta=1):
    """
    Return the ROUGE-L score (longest common subsequence), where
    candidate_tokens is a sequence of candidate tokens,
    reference_tokens is a sequence of reference tokens, and
    beta determines the relative importance of recall in the F-measure
    """
    lcs = len(longest_common_subsequence(candidate_tokens, reference_tokens))
    recall = lcs / float(len(reference_tokens))
    precision = lcs / float(len(candidate_tokens))

    try:
        return (((1 + beta**2) * precision * recall) /
                (beta**2 * precision + recall))
    except ZeroDivisionError:
        return 0
Example #2
0
def rouge_l(candidate_tokens, reference_tokens, beta=1):
    """
    Return the ROUGE-L score (longest common subsequence), where
    candidate_tokens is a sequence of candidate tokens,
    reference_tokens is a sequence of reference tokens, and
    beta determines the relative importance of recall in the F-measure
    """
    lcs = len(longest_common_subsequence(candidate_tokens, reference_tokens))
    recall = lcs / float(len(reference_tokens))
    precision = lcs / float(len(candidate_tokens))

    try:
        return ( ((1 + beta ** 2) * precision * recall )  /
                 (beta ** 2 * precision + recall) )
    except ZeroDivisionError:
        return 0
Example #3
0
 def test_lcs_string(self):
     lcs = longest_common_subsequence(self.s1, self.s2)
     self.assertEqual(lcs, self.s1)
Example #4
0
 def test_lcs_none2(self):
     lcs = longest_common_subsequence("", "")
     self.assertEqual(lcs, "")
Example #5
0
 def test_lcs_identity(self):
     lcs = longest_common_subsequence(self.s1, self.s1)
     self.assertEqual(lcs, self.s1)
Example #6
0
 def test_lcs_list(self):
     lcs = longest_common_subsequence(list(self.s1), list(self.s2))
     self.assertEqual(lcs, list(self.s1))
Example #7
0
 def test_lcs_tuple(self):
     lcs = longest_common_subsequence(tuple(self.s1), tuple(self.s2))
     self.assertEqual(lcs, tuple(self.s1))
Example #8
0
 def test_lcs_none2(self):
     lcs = longest_common_subsequence("", "")
     self.assertEqual(lcs, "")   
Example #9
0
 def test_lcs_identity(self):
     lcs = longest_common_subsequence(self.s1, self.s1)
     self.assertEqual(lcs, self.s1)
Example #10
0
 def test_lcs_list(self):
     lcs = longest_common_subsequence(list(self.s1), 
                                      list(self.s2))
     self.assertEqual(lcs, list(self.s1))
Example #11
0
 def test_lcs_tuple(self):
     lcs = longest_common_subsequence(tuple(self.s1), 
                                      tuple(self.s2))
     self.assertEqual(lcs, tuple(self.s1))
Example #12
0
 def test_lcs_string(self):
     lcs = longest_common_subsequence(self.s1, self.s2)
     self.assertEqual(lcs, self.s1)