code: def batch_context(self, raw_batch, batch):
      context = super().batch_context(raw_batch, batch)
      context["text"] = [
          " | ".join(
              str(row[column_name])
              for column_name in self.text_column_names
          )
          for row in raw_batch
      ]
      # if there are additional colnames, read their contexts into batch
      if len(self.additional_column_names) > 0:
          for additional_colname in self.additional_column_names:
              context[additional_colname] = [
                  row[additional_colname] for row in raw_batch
              ]
      return context
  
imports: from enum import Enum
  from itertools import tee, zip_longest
  from typing import Generator, List, Optional, Sequence
  import torch
  from pytext.common.constants import Stage
  from pytext.data import CommonMetadata
  from pytext.metrics import ClassificationMetrics, compute_classification_metrics, compute_multi_label_classification_metrics, LabelListPrediction, LabelPrediction, LabelTopKPrediction, RECALL_AT_PRECISION_THRESHOLDS, safe_division
  from pytext.metrics.intent_slot_metrics import PerLabelConfusions
  from .channel import Channel, ConsoleChannel, FileChannel
  from .metric_reporter import MetricReporter
label_desc: Use image node_id 5 for calling the ClassificationMetricReporter obj's underlying member method code with example usage: obj.batch_context(raw_batch, batch) and returns: context