class_docstr: Creates dataset to use for the task of joint intent
  and slot classification with pretrained model.
  
  Converts from raw data to an instance that can be used by
  NMDataLayer.
  
  For dataset to use during inference without labels, see
  IntentSlotDataset.
  
  Args:
      input_file: file to sequence + label. the first line is header (sentence [tab] label)
          each line should be [sentence][tab][label]
      slot_file: file to slot labels, each line corresponding to slot labels for a sentence in input_file. No header.
      max_seq_length: max sequence length minus 2 for [CLS] and [SEP]
      tokenizer: such as NemoBertTokenizer
      num_samples: number of samples you want to use for the dataset. If -1, use all dataset. Useful for testing.
      pad_label: pad value use for slot labels. by default, it's the neutral label.
      ignore_extra_tokens: whether to ignore extra tokens in the loss_mask.
      ignore_start_end: whether to ignore bos and eos tokens in the loss_mask.
      do_lower_case: convert query to lower case or not
class_docstr_tok: ["Creates","dataset","to","use","for","the","task","of","joint","intent","and","slot","classification","with","pretrained","model",".","Converts","from","raw","data","to","an","instance","that","can","be","used","by","NMDataLayer",".","For","dataset","to","use","during","inference","without","labels",",","see","IntentSlotDataset",".","Args",":","input_file",":","file","to","sequence","+","label",".","the","first","line","is","header","(","sentence","[","tab","]","label",")","each","line","should","be","[","sentence","]","[","tab","]","[","label","]","slot_file",":","file","to","slot","labels",",","each","line","corresponding","to","slot","labels","for","a","sentence","in","input_file",".","No","header",".","max_seq_length",":","max","sequence","length","minus","2","for","[","CLS","]","and","[","SEP","]","tokenizer",":","such","as","NemoBertTokenizer","num_samples",":","number","of","samples","you","want","to","use","for","the","dataset",".","If","-1",",","use","all","dataset",".","Useful","for","testing",".","pad_label",":","pad","value","use","for","slot","labels",".","by","default",",","it","'s","the","neutral","label",".","ignore_extra_tokens",":","whether","to","ignore","extra","tokens","in","the","loss_mask",".","ignore_start_end",":","whether","to","ignore","bos","and","eos","tokens","in","the","loss_mask",".","do_lower_case",":","convert","query","to","lower","case","or","not"]
code: def __getitem__(self, idx):
      return (
          np.array(self.all_input_ids[idx]),
          np.array(self.all_segment_ids[idx]),
          np.array(self.all_input_mask[idx], dtype=np.longlong),
          np.array(self.all_loss_mask[idx]),
          np.array(self.all_subtokens_mask[idx]),
          self.all_intents[idx],
          np.array(self.all_slots[idx]),
      )
  
file_path: NeMo/nemo/collections/nlp/data/intent_slot_classification/intent_slot_classification_dataset.py
imports: from typing import Dict, Optional
  import numpy
  from nemo.collections.common.tokenizers.tokenizer_spec import TokenizerSpec
  from nemo.collections.nlp.data.data_utils import get_stats
  from nemo.core.classes import Dataset
  from nemo.core.neural_types import ChannelType, LabelsType, MaskType, NeuralType
  from nemo.utils import logging
label_desc: Use image node_id 4 for calling the IntentSlotClassificationDataset obj's underlying member method code with example usage: obj.__getitem__(idx) and returns: np,  np,  np,  np,  np,  self,  np