docs: def to_human_readable(self,
                          data,
                          label_batch_entries=True,
                          indices=None,
                          sep="\n"):
      """Returns a human-readable version of a one-hot encoding of words.
  
      Args:
        data: A tuple with (obs, target). `obs` is a numpy array with one-hot
            encoding of words.
        label_batch_entries: bool. Whether to add numerical label before each
            batch element in the output string.
        indices: List of int or None. Used to select a subset of minibatch indices
            to print. None will print the whole minibatch.
        sep: A char separator which separates the output for each batch. Defaults
            to the newline character.
  
      Returns:
        String with the words from `data[0]`.
      """
      obs = data[0]
      batch_size = obs.shape[1]
      result = []
      indices = xrange(batch_size) if not indices else indices
      for b in indices:
        index_seq = np.argmax(obs[:, b], axis=1)
        prefix = "b_{}: ".format(b) if label_batch_entries else ""
        result.append(prefix + self._data_source.decode(index_seq))
      return sep.join(result)