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","."]
code: def decode_oov(self, ids, source_oov):
      return " ".join(self.decode_list_oov(ids, source_oov))
  
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 3 for calling the TokenTextEncoderOov obj's underlying member method code with example usage: obj.decode_oov(ids, source_oov) and returns: str