class_docstr: A ranking environment in which one can explicitly set positional bias.
  
  This environment assumes that the user's click is governed by two independent
  values: the relevance and the observation probability. Relevance is based on
  a random function whose input is the global and item features. The observation
  probability is a parameter list that sets observation probabilities for all of
  the slot positions. The observation prbabilities don't denpend on the context
  or the items placed in the slots.
  
  The user model: an item is clicked if it is observed and relevant. Hence,
  multiple items can be clicked in one sample.
class_docstr_tok: ["A","ranking","environment","in","which","one","can","explicitly","set","positional","bias",".","This","environment","assumes","that","the","user","'s","click","is","governed","by","two","independent","values",":","the","relevance","and","the","observation","probability",".","Relevance","is","based","on","a","random","function","whose","input","is","the","global","and","item","features",".","The","observation","probability","is","a","parameter","list","that","sets","observation","probabilities","for","all","of","the","slot","positions",".","The","observation","prbabilities","do","n't","denpend","on","the","context","or","the","items","placed","in","the","slots",".","The","user","model",":","an","item","is","clicked","if","it","is","observed","and","relevant",".","Hence",",","multiple","items","can","be","clicked","in","one","sample","."]
code: def _observe(self) -> types.NestedArray:
      global_obs = np.stack(
          [self._global_sampling_fn() for _ in range(self._batch_size)]
      )
      item_obs = np.reshape(
          [
              self._item_sampling_fn()
              for _ in range(self._batch_size * self._num_items)
          ],
          (self._batch_size, self._num_items, -1),
      )
      self._observation = {
          GLOBAL_KEY: global_obs,
          PER_ARM_KEY: item_obs,
      }
      return self._observation
  
imports: from typing import Callable, Optional, Sequence, Text
  import numpy
  import tensorflow
  from tf_agents.bandits.environments import bandit_py_environment
  from tf_agents.bandits.specs import utils
  from tf_agents.specs import array_spec
  from tf_agents.trajectories import time_step
  from tf_agents.typing import types
label_desc: Use image node_id 2 for calling the ExplicitPositionalBiasRankingEnvironment obj's underlying member method code with example usage: obj._observe() and returns: self