class_docstr: Creates a dataset to use for the task of joint intent
  and slot classification with pretrained model.
  
  For a dataset to use during inference without labels, see
  IntentSlotDataset.
class_docstr_tok: ["Creates","a","dataset","to","use","for","the","task","of","joint","intent","and","slot","classification","with","pretrained","model",".","For","a","dataset","to","use","during","inference","without","labels",",","see","IntentSlotDataset","."]
code: def convert_slot_position_to_slot_ids(self, feature):
      slot_ids = [
          self.slot_name_to_slot_id[self.empty_slot_name]
          for i in range(len(feature["utterance"].split()))
      ]
      slot_name_to_positions = feature["label_positions"]["slots"]
  
      for slot_name in slot_name_to_positions:
          slot_id = self.slot_name_to_slot_id[slot_name]
          start = slot_name_to_positions[slot_name]["start"]
          exclusive_end = slot_name_to_positions[slot_name][
              "exclusive_end"
          ]
          for to_replace_position in range(
              start, min(exclusive_end, len(slot_ids))
          ):
              slot_ids[to_replace_position] = slot_id
  
      return slot_ids
  
imports: from typing import Dict, Optional
  import numpy
  from nemo.collections.nlp.data.data_utils import get_stats
  from nemo.collections.nlp.data.dialogue.dataset.dialogue_dataset import DialogueDataset
  from nemo.core.neural_types import ChannelType, LabelsType, MaskType, NeuralType
  from nemo.utils import logging
label_desc: Use image node_id 3 for calling the DialogueBERTDataset obj's underlying member method code with example usage: obj.convert_slot_position_to_slot_ids(feature) and returns: slot_ids