code: def calculate_rouge(output_lns, reference_lns, use_stemmer=True):
      scorer = rouge_scorer.RougeScorer(
          ROUGE_KEYS, use_stemmer=use_stemmer
      )
      aggregator = scoring.BootstrapAggregator()
  
      for reference_ln, output_ln in zip(reference_lns, output_lns):
          ln_scores = []
          for possible_ln in reference_ln:
              scores = scorer.score(possible_ln, output_ln)
              ln_scores.append(scores)
  
          best_index = np.argmax(
              [score_dict["rouge1"][-1] for score_dict in ln_scores]
          )
          aggregator.add_scores(ln_scores[best_index])
  
      result = aggregator.aggregate()
      return {
          k: round(v.mid.fmeasure * 100, 4) for k, v in result.items()
      }
  
imports: import argparse
  import json
  import numpy
  from rouge_score import rouge_scorer, scoring
label_desc: Use image node_id 1 for calling a global function with example usage: calculate_rouge(output_lns, reference_lns, use_stemmer) and returns: unknown