def score_summary(self, summary, references, summary_id='A'): """``summary'' is a system-generated summary. ``references'' is a list of human-made reference summaries""" try: self._write_config(references, Doc(summary_id, summary)) output = self._run_rouge() output = output.decode("utf-8") return self._parse_output(output) except CalledProcessError as e: print("Rouge returned a non-zero error code. Output was: ", file=sys.stderr) print("BEGIN OUTPUT ", file=sys.stderr) print(e.output, file=sys.stderr) print("END OUTPUT", file=sys.stderr) raise e finally: self._cleanup()