コード例 #1
0
 def test_predict(self):
     config = Mock()
     config.char_bag = 'abc'
     config.additive_smoothing_amount = 1
     sm = mm.AdditiveSmoothingSmoother({
         'a' : 1,
         'b' : 2
     }, config)
     answer = np.zeros((3, ), dtype=np.float64)
     sm.predict('', answer)
     np.testing.assert_array_almost_equal(
         answer, np.array([1/3., 1/2., 1/6.], dtype=np.float64))
コード例 #2
0
 def test_predict_longer_context(self):
     config = Mock()
     config.char_bag = ('abc' + pg.PASSWORD_END)
     config.backoff_smoothing_threshold = 0
     config.additive_smoothing_amount = 0
     m = mm.BackoffMarkovModel(config, order=3)
     m.train([('abc', 1), ('aaa', 1)])
     answer = np.zeros((len(config.char_bag), ), dtype=np.float64)
     m.predict('ab', answer)
     np.testing.assert_array_almost_equal(
         answer, np.array([0., 0., 0., 1.], dtype=np.float64))
     answer.fill(0)
     m.predict('ba', answer)
     np.testing.assert_array_almost_equal(
         answer, np.array([.25, .5, .25, 0.], dtype=np.float64))