code: def init_vocab(docs, args):
      data = [x for doc in docs for x in Dataset.load_doc(doc)]
      charvocab = CharVocab(data, args["shorthand"])
      wordvocab = WordVocab(
          data,
          args["shorthand"],
          cutoff=args["word_cutoff"],
          lower=True,
      )
      uposvocab = WordVocab(data, args["shorthand"], idx=1)
      xposvocab = xpos_vocab_factory(data, args["shorthand"])
      featsvocab = FeatureVocab(data, args["shorthand"], idx=3)
      vocab = MultiVocab(
          {
              "char": charvocab,
              "word": wordvocab,
              "upos": uposvocab,
              "xpos": xposvocab,
              "feats": featsvocab,
          }
      )
      return vocab
  
imports: import random
  import logging
  import copy
  import torch
  from collections import namedtuple
  from torch.utils.data import DataLoader
  from torch.nn.utils.rnn import pad_sequence
  from stanza.models.common.bert_embedding import filter_data
  from stanza.models.common.data import map_to_ids, get_long_tensor, get_float_tensor, sort_all
  from stanza.models.common.vocab import PAD_ID, VOCAB_PREFIX, CharVocab
  from stanza.models.pos.vocab import WordVocab, XPOSVocab, FeatureVocab, MultiVocab
  from stanza.models.pos.xpos_vocab_factory import xpos_vocab_factory
  from stanza.models.common.doc import *
label_desc: Use image node_id 2 for calling the Dataset obj's underlying member method code with example usage: obj.init_vocab(docs, args) and returns: vocab