code: def init_vocab(self, data):
      assert self.eval is False, "Vocab file must exist for evaluation"
      char_data = "".join(d[0] + d[2] for d in data)
      char_vocab = Vocab(char_data, self.args["lang"])
      pos_data = [d[1] for d in data]
      pos_vocab = Vocab(pos_data, self.args["lang"])
      return char_vocab, pos_vocab
  
imports: import random
  import numpy
  import os
  from collections import Counter
  import logging
  import torch
  import stanza.models.common.seq2seq_constant
  from stanza.models.common.data import map_to_ids, get_long_tensor, get_float_tensor, sort_all
  from stanza.models.lemma.vocab import Vocab, MultiVocab
  from stanza.models.lemma import edit
  from stanza.models.common.doc import *
label_desc: Use image node_id 2 for calling the DataLoader obj's underlying member method code with example usage: obj.init_vocab(data) and returns: char_vocab,  pos_vocab