Пример #1
0
    def test_tag_prob_2gram(self):
        hmm = MLHMM(2, self.tagged_sents, addone=False)

        y = 'D N V N P'.split()
        p = hmm.tag_prob(y)
        tag_prob = 0.5 * 0.5
        self.assertAlmostEqual(p, tag_prob)

        lp = hmm.tag_log_prob(y)
        self.assertAlmostEqual(lp, log2(tag_prob))
Пример #2
0
    def test_tag_prob_2gram(self):
        hmm = MLHMM(2, self.tagged_sents, addone=False)

        y = 'D N V N P'.split()
        p = hmm.tag_prob(y)
        tag_prob = 0.5 * 0.5
        self.assertAlmostEqual(p, tag_prob)

        lp = hmm.tag_log_prob(y)
        self.assertAlmostEqual(lp, log2(tag_prob))
Пример #3
0
    def test_tag_prob_1gram(self):
        hmm = MLHMM(1, self.tagged_sents, addone=False)

        y = 'D N V N P'.split()
        p = hmm.tag_prob(y)
        # D V P and </s> have prob 2.0 / 12.0, N has prob 4.0 / 12.0.
        tag_prob = (2.0 / 12.0)**4 *  \
                   (4.0 / 12.0)**2
        self.assertAlmostEqual(p, tag_prob)

        lp = hmm.tag_log_prob(y)
        self.assertAlmostEqual(lp, log2(tag_prob))
Пример #4
0
    def test_tag_prob_1gram(self):
        hmm = MLHMM(1, self.tagged_sents, addone=False)

        y = 'D N V N P'.split()
        p = hmm.tag_prob(y)
        # D V P and </s> have prob 2.0 / 12.0, N has prob 4.0 / 12.0.
        tag_prob = (2.0 / 12.0)**4 *  \
                   (4.0 / 12.0)**2
        self.assertAlmostEqual(p, tag_prob)

        lp = hmm.tag_log_prob(y)
        self.assertAlmostEqual(lp, log2(tag_prob))