class_docstr: Encoder based on a user-supplied vocabulary (file or list).
  
  This encoder extends over TokenTextEncoder by additionally assigning distinct
  temporary IDs to OOV tokens appearing in the source sequence. This facilitates
  decoding with the pointer-generator mechanism using word-based tokenization.
  
  NOTE: TokenTextEncoderOov does not conform to the TextEncoder API; it changes
  the signature of encode and decode.
class_docstr_tok: ["Encoder","based","on","a","user-supplied","vocabulary","(","file","or","list",")",".","This","encoder","extends","over","TokenTextEncoder","by","additionally","assigning","distinct","temporary","IDs","to","OOV","tokens","appearing","in","the","source","sequence",".","This","facilitates","decoding","with","the","pointer-generator","mechanism","using","word-based","tokenization",".","NOTE",":","TokenTextEncoderOov","does","not","conform","to","the","TextEncoder","API",";","it","changes","the","signature","of","encode","and","decode","."]
docstr: decode ids back to tokens, considering OOVs temporary IDs.
  
  Args:
    ids: vocab ids. Could possibly include source temporary OOV ID starting
    from vocab_size.
    source_oov_id_to_token: a list of source OOV tokens, with the order the
    same as they appear in the source.
  
  Returns:
    decoded tokens, possibly including source OOV tokens.
docstr_tok: ["decode","ids","back","to","tokens",",","considering","OOVs","temporary","IDs",".","Args",":","ids",":","vocab","ids",".","Could","possibly","include","source","temporary","OOV","ID","starting","from","vocab_size",".","source_oov_id_to_token",":","a","list","of","source","OOV","tokens",",","with","the","order","the","same","as","they","appear","in","the","source",".","Returns",":","decoded","tokens",",","possibly","including","source","OOV","tokens","."]
code: def decode_list_oov(self, ids, source_oov_id_to_token):
      """decode ids back to tokens, considering OOVs temporary IDs.
  
      Args:
        ids: vocab ids. Could possibly include source temporary OOV ID starting
        from vocab_size.
        source_oov_id_to_token: a list of source OOV tokens, with the order the
        same as they appear in the source.
  
      Returns:
        decoded tokens, possibly including source OOV tokens.
  
      """
      seq = reversed(ids) if self._reverse else ids
      tokens = []
      for cur_id in seq:
          if cur_id in self._id_to_token:
              tokens.append(self._id_to_token[cur_id])
          else:
              tokens.append(
                  source_oov_id_to_token[cur_id - self.vocab_size]
              )
      return tokens
  
file_path: tensor2tensor/tensor2tensor/data_generators/pointer_generator_word.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import os
  from tensor2tensor.data_generators import text_encoder
  from tensor2tensor.data_generators import text_problems
  from tensor2tensor.utils import registry
  import tensorflow.compat.v1
label_desc: Use image node_id 4 for calling the TokenTextEncoderOov obj's underlying member method code with example usage: obj.decode_list_oov(ids, source_oov_id_to_token) and returns: tokens