INNER CODE UNIT · Python

next_tag_expr

taishi-i/nagisa · nagisa/model.py:132

                next_tag_expr = for_expr + self.trans[next_tag] + obs_broadcast
                alphas_t.append(log_sum_exp(next_tag_expr))
            for_expr = dy.concatenate(alphas_t)
        terminal_expr = for_expr + self.trans[self.sp_e]
        alpha = log_sum_exp(terminal_expr)
        return alpha


    def score_sentence(self, observations, tags):
        if not len(observations) == len(tags):
            raise AssertionError("len(observations) != len(tags)")

        score_seq = [0]
        score = dy.scalarInput(0)
        tags = [self.sp_s] + tags
        for i, obs in enumerate(observations):
            score = score + dy.pick(self.trans[tags[i+1]], tags[i]) + dy.pick(obs, tags[i+1])
            score_seq.append(score.value())

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…