code: def __init__(
      self, index_type="mlm", model_path="bert-base-uncased", **kwargs
  ):
      Expander.__init__(self, index_type)
  
      self.candidate_pos = ["NOUN", "ADJ", "ADV"]
      self.model_path = model_path
  
      allowed_keys = list(self.__dict__.keys())
      self.__dict__.update(
          (k, v) for k, v in kwargs.items() if k in allowed_keys
      )
      rejected_keys = set(kwargs.keys()) - set(allowed_keys)
      if rejected_keys:
          raise ValueError(
              "Invalid arguments in ElasticSearchRetriever constructor:{}".format(
                  rejected_keys
              )
          )
  
      logger.info(
          ">> loading HF model for Query Expansion from " + model_path
      )
      self.tokenizer = AutoTokenizer.from_pretrained(
          self.model_path, use_fast=True
      )
      self.model = TFBertForMaskedLM.from_pretrained(
          self.model_path, from_pt=True
      )
      logger.info(">> Loading Spacy NLP model ")
  
      try:
          self.nlp = spacy.load("en_core_web_md")
      except OSError:
          logger.info(
              "Downloading language model for the spaCy POS tagger (don't worry, this will only happen once)"
          )
          from spacy.cli import download
  
          download("en_core_web_md")
          self.nlp = spacy.load("en_core_web_md")
  
file_path: neuralqa/neuralqa/expander/mlmexpander.py
imports: from neuralqa.expander import Expander
  import logging
  from transformers import AutoTokenizer, TFBertForMaskedLM
  import tensorflow
  import time
  import spacy
label_desc: Use image node_id 1 to create a new MLMExpander object from inherited base classes: Expander with example: obj = MLMExpander(index_type, model_path)