Ejemplo n.º 1
0
    def test_r_grounded_semantics(self):
        baba = ExampleFrameworks.r_framework()
        grounded = Semantics.grounded(baba)
        self.assertEqual(1, len(grounded))

        grounded_set = grounded.pop()
        self.assertEqual(3, len(grounded_set.elements))
        self.assertTrue(
            all([elem in grounded_set.elements for elem in [a, b, c]]))
Ejemplo n.º 2
0
    def test_r_grounded_semantics_with_random_variable_world(self):
        baba = ExampleFrameworks.r_framework()
        baba.rv_world = [Semantics.Sentence('s', random_variable=True)]
        grounded = Semantics.grounded(baba)
        self.assertEqual(1, len(grounded))

        grounded_set = grounded.pop()
        self.assertEqual(2, len(grounded_set.elements))
        self.assertTrue(all([elem in grounded_set.elements
                             for elem in [b, c]]))
Ejemplo n.º 3
0
 def test_compute_semantic_probabilities(self):
     g, s, i = Semantics.compute_semantic_probabilities(
         ExampleFrameworks.r_framework())
     self.assertEqual(g, [('_a', '0.360'), ('_b', '0.400'), ('_c', '0.000'),
                          ('a', '0.640'), ('b', '0.600'), ('c', '1.000'),
                          ('j', '0.640'), ('s', '0.600'), ('t', '0.400')])
     self.assertEqual(s, [('_a', '0.360'), ('_b', '0.400'), ('_c', '0.000'),
                          ('a', '0.640'), ('b', '0.600'), ('c', '1.000'),
                          ('j', '0.640'), ('s', '0.600'), ('t', '0.400')])
     self.assertEqual(i, [('_a', '0.360'), ('_b', '0.400'), ('_c', '0.000'),
                          ('a', '0.640'), ('b', '0.600'), ('c', '1.000'),
                          ('j', '0.640'), ('s', '0.600'), ('t', '0.400')])
Ejemplo n.º 4
0
    def test_invalid_semantic_probability(self):
        baba = ExampleFrameworks.r_framework()

        def invalid_semantics():
            return Semantics.semantic_probability(-1, baba, [a])

        self.assertRaises(Semantics.InvalidSemanticsException,
                          invalid_semantics)

        def invalid_sentences():
            return Semantics.semantic_probability(Semantics.GROUNDED, baba,
                                                  [f])

        self.assertRaises(Semantics.InvalidBABAException, invalid_sentences)
Ejemplo n.º 5
0
 def test_grounded_probability(self):
     baba = ExampleFrameworks.r_framework()
     self.assertEqual(
         0.64, Semantics.semantic_probability(Semantics.GROUNDED, baba,
                                              [j]))
     self.assertEqual(
         0.64, Semantics.semantic_probability(Semantics.GROUNDED, baba,
                                              [a]))
     self.assertEqual(
         0.64,
         Semantics.semantic_probability(Semantics.GROUNDED, baba, [a, j]))
     self.assertEqual(
         0.6, Semantics.semantic_probability(Semantics.GROUNDED, baba, [b]))
     self.assertEqual(
         1.0, Semantics.semantic_probability(Semantics.GROUNDED, baba, [c]))
Ejemplo n.º 6
0
 def test_compute_grounded_probability(self):
     baba = ExampleFrameworks.r_framework()
     grounded_probabilities = Semantics.compute_semantic_probability(
         Semantics.GROUNDED, baba)
     self.assertEqual(0.64,
                      grounded_probabilities[ExampleFrameworks.a.symbol])
     self.assertEqual(0.36,
                      grounded_probabilities[ExampleFrameworks._a.symbol])
     self.assertEqual(0.6,
                      grounded_probabilities[ExampleFrameworks.b.symbol])
     self.assertEqual(0.4,
                      grounded_probabilities[ExampleFrameworks._b.symbol])
     self.assertEqual(1.0,
                      grounded_probabilities[ExampleFrameworks.c.symbol])
     self.assertEqual(0.0,
                      grounded_probabilities[ExampleFrameworks._c.symbol])
     self.assertEqual(0.64,
                      grounded_probabilities[ExampleFrameworks.j.symbol])
Ejemplo n.º 7
0
 def test_compute_ideal_probability(self):
     ideal_probabilities = Semantics.compute_semantic_probability(
         Semantics.IDEAL, ExampleFrameworks.r_framework())
     self.assertAlmostEqual(0.64,
                            ideal_probabilities[ExampleFrameworks.a.symbol])
     self.assertAlmostEqual(
         0.36, ideal_probabilities[ExampleFrameworks._a.symbol])
     self.assertAlmostEqual(0.60,
                            ideal_probabilities[ExampleFrameworks.b.symbol])
     self.assertAlmostEqual(
         0.40, ideal_probabilities[ExampleFrameworks._b.symbol])
     self.assertAlmostEqual(1.0,
                            ideal_probabilities[ExampleFrameworks.c.symbol])
     self.assertAlmostEqual(
         0.0, ideal_probabilities[ExampleFrameworks._c.symbol])
     self.assertAlmostEqual(0.64,
                            ideal_probabilities[ExampleFrameworks.j.symbol])
     self.assertAlmostEqual(0.6,
                            ideal_probabilities[ExampleFrameworks.s.symbol])
     self.assertAlmostEqual(0.4,
                            ideal_probabilities[ExampleFrameworks.t.symbol])
Ejemplo n.º 8
0
 def test_derivable_with_random_variables(self):
     baba = ExampleFrameworks.r_framework()
     self.assertTrue(Semantics.derivable(baba, a, [a, b]))
     self.assertFalse(Semantics.derivable(baba, a, []))
     self.assertFalse(Semantics.derivable(baba, ExampleFrameworks._c, []))