class_docstr: An `ItemSelector` implementation that randomly selects items in a batch.
  
  `RandomItemSelector` randomly selects items in a batch subject to
  restrictions given (max_selections_per_batch, selection_rate and
  unselectable_ids).
  
  Example:
  >>> vocab = ["[UNK]", "[MASK]", "[RANDOM]", "[CLS]", "[SEP]",
  ...          "abc", "def", "ghi"]
  >>> # Note that commonly in masked language model work, there are
  >>> # special tokens we don't want to mask, like CLS, SEP, and probably
  >>> # any OOV (out-of-vocab) tokens here called UNK.
  >>> # Note that if e.g. there are bucketed OOV tokens in the code,
  >>> # that might be a use case for overriding `get_selectable()` to
  >>> # exclude a range of IDs rather than enumerating them.
  >>> tf.random.set_seed(1234)
  >>> selector = tf_text.RandomItemSelector(
  ...     max_selections_per_batch=2,
  ...     selection_rate=0.2,
  ...     unselectable_ids=[0, 3, 4])  # indices of UNK, CLS, SEP
  >>> selection = selector.get_selection_mask(
  ...     tf.ragged.constant([[3, 5, 7, 7], [4, 6, 7, 5]]), axis=1)
  >>> print(selection)
  <tf.RaggedTensor [[False, False, False, True], [False, False, True, False]]>
  
  The selection has skipped the first elements (the CLS and SEP token codings)
  and picked random elements from the other elements of the segments -- if
  run with a different random seed the selections might be different.
code: def shuffle_fn(self):
      return self._shuffle_fn
  
imports: from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import array_ops_stack
  from tensorflow.python.ops import gen_array_ops
  from tensorflow.python.ops import map_fn
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops.ragged import ragged_array_ops
  from tensorflow.python.ops.ragged import ragged_functional_ops
  from tensorflow.python.ops.ragged import ragged_math_ops
  from tensorflow.python.ops.ragged import ragged_tensor
label_desc: Use image node_id 2 for calling the RandomItemSelector obj's underlying member method code with example usage: obj.shuffle_fn() and returns: self