docstr: The input start is the absolute start position in utterance
docstr_tok: ["The","input","start","is","the","absolute","start","position","in","utterance"]
code: def node_to_metrics_node(
      node: Union[Intent, Slot], start: int = 0
  ) -> Node:
      """
      The input start is the absolute start position in utterance
      """
      res_children: Set[Node] = set()
      idx = start
      node_text_tokens: List[str] = []
      if node.children:
          for child in node.children:
              if type(child) == Token:
                  idx += len(child.label) + 1
                  node_text_tokens.append(child.label)
              elif type(child) == Intent or type(child) == Slot:
                  res_child = (
                      CompositionalMetricReporter.node_to_metrics_node(
                          child, idx
                      )
                  )
                  res_children.add(res_child)
                  idx = res_child.span.end + 1
              else:
                  raise ValueError(
                      "Child must be Token, Intent or Slot!"
                  )
      node_text = " ".join(node_text_tokens)
      node = Node(
          label=node.label,
          span=Span(start, idx - 1),
          children=res_children,
          text=node_text,
      )
      return node
  
imports: from typing import Dict, List, Set, Union
  from pytext.common.constants import BatchContext, DatasetFieldName, Stage
  from pytext.data import CommonMetadata
  from pytext.data.data_structures.annotation import Intent, REDUCE, SHIFT, Slot, Token, Tree, TreeBuilder
  from pytext.data.tensorizers import Tensorizer
  from pytext.data.tokenizers import Tokenizer
  from pytext.metrics.intent_slot_metrics import compute_all_metrics, FramePredictionPair, Node, Span
  from .channel import Channel, ConsoleChannel, FileChannel
  from .metric_reporter import MetricReporter
label_desc: Use image node_id 13 for calling the CompositionalMetricReporter obj's underlying member method code with example usage: obj.node_to_metrics_node(node, start) and returns: node