code: def _union_lcs(evaluated_sentences, reference_sentence):
      """
      Returns LCS_u(r_i, C) which is the LCS score of the union longest common subsequence
      between reference sentence ri and candidate summary C. For example, if
      r_i= w1 w2 w3 w4 w5, and C contains two sentences: c1 = w1 w2 w6 w7 w8 and
      c2 = w1 w3 w8 w9 w5, then the longest common subsequence of r_i and c1 is
      “w1 w2” and the longest common subsequence of r_i and c2 is “w1 w3 w5”. The
      union longest common subsequence of r_i, c1, and c2 is “w1 w2 w3 w5” and
      LCS_u(r_i, C) = 4/5.
  
      :param evaluated_sentences:
          The sentences that have been picked by the summarizer
      :param reference_sentence:
          One of the sentences in the reference summaries
      :returns float: LCS_u(r_i, C)
      :raises ValueError: raises exception if a param has len <= 0
      """
      if len(evaluated_sentences) <= 0:
          raise (
              ValueError(
                  "Collections must contain at least 1 sentence."
              )
          )
  
      lcs_union = set()
      reference_words = _split_into_words([reference_sentence])
      combined_lcs_length = 0
      for eval_s in evaluated_sentences:
          evaluated_words = _split_into_words([eval_s])
          lcs = set(_recon_lcs(reference_words, evaluated_words))
          combined_lcs_length += len(lcs)
          lcs_union = lcs_union.union(lcs)
  
      union_lcs_count = len(lcs_union)
      union_lcs_value = union_lcs_count / combined_lcs_length
      return union_lcs_value
  
file_path: sumy/sumy/evaluation/rouge.py
imports: from __future__ import absolute_import
  from __future__ import division, print_function, unicode_literals
  from ..models.dom import Sentence
label_desc: Use image node_id 13 for calling a global function with example usage: _union_lcs(evaluated_sentences, reference_sentence) and returns: union_lcs_value