@classmethod
    def getHypothesisStatus(cls, hyp, curr_hyp_score):

        # Only the best hypothesis for any target sequence needs to be stored, if use_unique_nbest is True
        # In the absence of accurate LM score, the score excluding the LM score is used to decide the best hyp
        # All the identical hypotheses will all have same LM score and so this approach is correct
        if cls.hypScoreDict.has_key(hyp):
            if cls.hypScoreDict[hyp][1] >= curr_hyp_score:
                return 0                                       # existing hyp is better or not different; return 0 to ignore this
            else:
                return -1                                      # curr hyp has better score; return -1
        else:
            return -2                                          # Current one is new hypothesis; return -2
Get the status of hypothesis generated, to avoid multiple identical target in the n-best list
dataset/ETHPy150Open sfu-natlang/Kriya/src/Kriya-Decoder/lazyMerge_CP.py/Lazy.getHypothesisStatus