':param raw_score: Likelihood of hypothesis so far.
Higher is better. Does not account for untranslated words.
:type raw_score: float
:param src_phrase_span: Span of word positions covered by the
source phrase in this hypothesis expansion. For example,
(2, 5) means that the phrase is from the second word up to,
but not including the fifth word in the source sentence.
:type src_phrase_span: tuple(int)
:param trg_phrase: Translation of the source phrase in this
hypothesis expansion
:type trg_phrase: tuple(str)
:param previous: Previous hypothesis before expansion to this one
:type previous: _Hypothesis
:param future_score: Approximate score for translating the
remaining words not covered by this hypothesis. Higher means
that the remaining words are easier to translate.
:type future_score: float'

def __init__(self, raw_score=0.0, src_phrase_span=(), trg_phrase=(), previous=None, future_score=0.0):

    self.raw_score = raw_score
    self.src_phrase_span = src_phrase_span
    self.trg_phrase = trg_phrase
    self.previous = previous
    self.future_score = future_score
