def METHOD_NAME(self, context_list: List[List[int]]):
    """ Constructing the context decoding graph, add arcs with negative
        scores returning to the starting state for each non-terminal tokens
        of hotwords, and add arcs with scores of 0 returning to the starting
        state for terminal tokens.
    """
    self.graph = {0: {}}
    self.graph_size = 0
    self.state2token = {}
    self.back_score = {0: 0.0}
    for context_token in context_list:
        now_state = 0
        for i in range(len(context_token)):
            if context_token[i] in self.graph[now_state]:
                now_state = self.graph[now_state][context_token[i]]
                if i == len(context_token) - 1:
                    self.back_score[now_state] = 0
            else:
                self.graph_size += 1
                self.graph[self.graph_size] = {}
                self.graph[now_state][context_token[i]] = self.graph_size
                now_state = self.graph_size
                if i != len(context_token) - 1:
                    self.back_score[now_state] = -(i +
                                                   1) * self.context_score
                else:
                    self.back_score[now_state] = 0
                self.state2token[now_state] = context_token[i]