class_docstr: Partial solution to a translation.
  
  Records the word positions of the phrase being translated, its
  translation, raw score, and the cost of the untranslated parts of
  the sentence. When the next phrase is selected to build upon the
  partial solution, a new _Hypothesis object is created, with a back
  pointer to the previous hypothesis.
  
  To find out which words have been translated so far, look at the
  ``src_phrase_span`` in the hypothesis chain. Similarly, the
  translation output can be found by traversing up the chain.
class_docstr_tok: ["Partial","solution","to","a","translation",".","Records","the","word","positions","of","the","phrase","being","translated",",","its","translation",",","raw","score",",","and","the","cost","of","the","untranslated","parts","of","the","sentence",".","When","the","next","phrase","is","selected","to","build","upon","the","partial","solution",",","a","new","_Hypothesis","object","is","created",",","with","a","back","pointer","to","the","previous","hypothesis",".","To","find","out","which","words","have","been","translated","so","far",",","look","at","the","``","src_phrase_span","``","in","the","hypothesis","chain",".","Similarly",",","the","translation","output","can","be","found","by","traversing","up","the","chain","."]
code: def translation_so_far(self):
      translation = []
      self.__build_translation(self, translation)
      return translation
  
imports: import warnings
  from collections import defaultdict
  from math import log
label_desc: Use image node_id 6 for calling the _Hypothesis obj's underlying member method code with example usage: obj.translation_so_far() and returns: translation