class_docstr: rouge metric
code: def call(self, y_true=None, y_pred=None, arguments=None):
      ref_sents = []
      for tgt_path in self.tgt_paths_after_pre_process:
          with open(tgt_path, "r", encoding="utf8") as tgt_f:
              ref_sents.extend(tgt_f.readlines())
      ref_sents = [sent.strip() for sent in ref_sents]
  
      with open(self.ref_path, "w", encoding="utf-8") as in_f:
          for ref_sent in ref_sents:
              in_f.write(ref_sent)
              in_f.write("\n")
  
      files_rouge = FilesRouge()
      scores = files_rouge.get_scores(
          self.hyp_path, self.ref_path, avg=True
      )
      return self.get_scores_output(scores)
  
imports: import os
  import abc
  from absl import logging
  import numpy
  from sklearn import metrics
  from seqeval.metrics import classification_report
  from delta.utils.register import registers
  from delta.utils.postprocess.postprocess_utils import ids_to_sentences
  from rouge import FilesRouge
  from sacrebleu import corpus_bleu
  from delta.utils.metrics import metric_utils
label_desc: Use image node_id 2 for calling the RougeCal obj's underlying member method code with example usage: obj.call(y_true, y_pred, arguments) and returns: self