def test_tag_given_item(self): self.__init_test(test.SMALL_DEL_FILE) smooth_func = 'JM' lamb = 0.5 p = SmoothEstimator(smooth_func, lamb, self.annots, 1) #Tag given item prob_i0_t0 = jelinek_mercer(2, 5, 3, 10, lamb) prob_i1_t0 = jelinek_mercer(0, 5, 3, 10, lamb) prob_i2_t0 = jelinek_mercer(1, 2, 3, 10, lamb) prob_i3_t0 = jelinek_mercer(0, 5, 3, 10, lamb) prob_i4_t0 = jelinek_mercer(0, 5, 3, 10, lamb) self.assertEquals(p.prob_tag_given_item(0, 0), prob_i0_t0) self.assertEquals(p.prob_tag_given_item(1, 0), prob_i1_t0) self.assertEquals(p.prob_tag_given_item(2, 0), prob_i2_t0) self.assertEquals(p.prob_tag_given_item(3, 0), prob_i3_t0) self.assertEquals(p.prob_tag_given_item(4, 0), prob_i4_t0)
def test_jm(self): self.assertTrue(math.isnan(smooth.jelinek_mercer(0, 0, 0, 0, 0))) self.assertEquals(smooth.jelinek_mercer(10, 100, 20, 500, 0.6), 0.064) self.assertEquals(smooth.jelinek_mercer(10, 100, 20, 500, 0.5), 0.07) self.assertEquals(smooth.jelinek_mercer(1, 1, 1, 1, 1), 1)