def test_proportional_cascade_invalid_score_scaling(self): with self.assertRaises(ValueError): choice_features = { 'attention_prob': 0.5, 'min_normalizer': -2.0, 'score_scaling': -1.0 } choice_model.ProportionalCascadeChoiceModel(choice_features)
def test_proportional_cascade_with_no_click(self): choice_features = { 'attention_prob': 0.5, 'min_normalizer': -1.0, 'score_scaling': 0.1 } model = choice_model.ProportionalCascadeChoiceModel(choice_features) model.score_documents(self._user_state, np.array([[0.0], [0.0], [0.0]])) self.assertEqual(model.choose_item(), None)
def test_proportional_cascade(self): choice_features = { 'attention_prob': 1.0, 'min_normalizer': -4.0, 'score_scaling': 0.07 } model = choice_model.ProportionalCascadeChoiceModel(choice_features) model.score_documents(self._user_state, np.array([[-3.0], [-3.0], [10.0], [1.0], [-4.0]])) self.assertEqual(model.choose_item(), 2)