class_docstr: For a given agent, this calculates the Bleu-3 of a new turn against prior turns.
  
  This is an alternate metric for repetativeness
code: def handle_message_helper(
      self, prefix_stripped_text: str
  ) -> Optional[Dict[str, Metric]]:
      here = [
          normalize_answer(x) for x in prefix_stripped_text.split(" ")
      ]
      score = 1
      if len(self.turns) > 0:
          score = nltkbleu.corpus_bleu(
              [self.turns],
              [here],
              smoothing_function=nltkbleu.SmoothingFunction(
                  epsilon=1e-12
              ).method1,
              weights=[1.0 / 3.0] * 3,
          )
      self.turns.append(here)
      return {self.metric_key(): BleuMetric(score)}
  
imports: from parlai.core.message import Message
  from parlai.core.metrics import Metric, AverageMetric, normalize_answer, BleuMetric, SumMetric
  from parlai.core.tod.tod_core import STANDARD_API_NAME_SLOT, STANDARD_REQUIRED_KEY, STANDARD_OPTIONAL_KEY, STANDARD_API_SCHEMAS
  from typing import Dict, List, Optional, Tuple
  from parlai.core.tod.world_metrics_handlers import TodMetricsHandler, register_metrics_handler, _ApiCallGoalInteractionHelper, goals_hit_helper
label_desc: Use image node_id 3 for calling the _Bleu3MetricsHandler obj's underlying member method code with example usage: obj.handle_message_helper(prefix_stripped_text) and returns: dict