code: def _random_word(
      self, tokens: List[str], probability: float = 0.15
  ) -> Tuple[List[str], List[int]]:
      labels = []
      for idx, token in enumerate(tokens):
          prob = random.random()
  
          if prob < probability:
              prob /= probability
  
              # 80% randomly change token to mask token
              if prob < 0.8:
                  tokens[idx] = self._MASK_TOKEN
              # 10% randomly change token to random token
              elif prob < 0.9:
                  tokens[idx] = self._convert_ids_to_tokens(
                      torch.randint(
                          self.get_vocab_size(), (1,), dtype=torch.long
                      )
                  )[0]
  
              # rest 10% keep the original token as it is
  
              labels.append(self._convert_tokens_to_ids(token))
          else:
              labels.append(-1)
  
      return tokens, labels
  
imports: import copy
  import random
  from typing import Any, Dict, List, Optional, Tuple, Union
  import torch
  from mmf.common.registry import registry
  from mmf.common.sample import Sample, SampleList
  from mmf.datasets.processors.processors import BaseProcessor
label_desc: Use image node_id 6 for calling the MaskedTokenProcessor obj's underlying member method code with example usage: obj._random_word(tokens, probability) and returns: tokens,  labels