code: def add_text_untokenized(
      parser_builder: builders.BaseParserBuilder,
      decoder_builder: builders.DecoderBuilder,
      input_feature_name: str = "caption/string",
      output_raw_string_name: str = builders.TEXT_FEATURE_NAME,
  ):
      """Adds functions to process text feature to builders."""
  
      # Parse text indices.
      if isinstance(
          parser_builder, builders.SequenceExampleParserBuilder
      ):
          parser_builder.parse_feature(
              feature_name=input_feature_name,
              feature_type=tf.io.VarLenFeature(dtype=tf.string),
              output_name=output_raw_string_name,
              is_context=True,
          )
      elif isinstance(parser_builder, builders.ExampleParserBuilder):
          parser_builder.parse_feature(
              feature_name=input_feature_name,
              feature_type=tf.io.VarLenFeature(dtype=tf.string),
              output_name=output_raw_string_name,
          )
  
      # Densify text tensor.
      decoder_builder.add_fn(
          fn=tf.sparse.to_dense,
          feature_name=output_raw_string_name,
          fn_name=f"{output_raw_string_name}_sparse_to_dense",
      )
  
imports: import functools
  from typing import Any, Dict, Optional, Sequence
  from absl import logging
  from dmvr import builders
  from dmvr import processors
  from dmvr import tokenizers
  import numpy
  from scenic.projects.mbt.datasets.dataset_utils import _decode_spectrogram
  from scenic.projects.mbt.datasets.dataset_utils import apply_specaugment
  import tensorflow
label_desc: Use image node_id 14 for calling a global function with example usage: add_text_untokenized(parser_builder, decoder_builder, input_feature_name, output_raw_string_name) without return types