Ejemplo n.º 1
0
    def test_iter_nodes_by_layer(self):
        E = DependencyNode('E', 5, 'CE')
        D = DependencyNode('D', 4, 'CD')
        C = DependencyNode('C', 3, 'BC', [D, E])
        A = DependencyNode('A', 1, 'BA')
        B = DependencyNode('B', 2, 'CB', [A, C])

        tree = DependencyTree('answer')
        tree.root = B
        res = tree.iter_nodes_from_root()

        self.assertTrue(res.index(B) == 0)
        self.assertTrue(0 < res.index(A) < 3)
        self.assertTrue(0 < res.index(C) < 3)
        self.assertTrue(2 < res.index(D) < 5)
        self.assertTrue(2 < res.index(E) < 5)
Ejemplo n.º 2
0
    def test_train_runs(self):
        # "bravo 42 also wrong alpha"
        #    1    2   3    4     5
        # root: also
        #       dep0: bravo
        #           dep1: 42
        #       dep1: wrong
        #           dep0: alpha
        vocab = {
            'alpha': 0,
            'bravo': 1,
            '42': 2,
            'not 42': 3,
            'also': 4,
            'wrong': 5
        }
        deplist = {'dep0': 0, 'dep1': 1}
        d = 3
        answers = ['42', 'not 42']

        tree = DependencyTree('42')
        tree.add(DependencyNode('also', 3, None))  # root
        tree.add(DependencyNode('bravo', 1, 'dep0'), 3)
        tree.add(DependencyNode('42', 2, 'dep1'), 1)
        tree.add(DependencyNode('wrong', 4, 'dep1'), 3)
        tree.add(DependencyNode('alpha', 5, 'dep0'), 4)

        root2 = DependencyNode('not 42', 1, None, [])
        tree2 = DependencyTree('not 42')
        tree2.add(root2)

        q = model.QANTA(d, vocab, deplist)
        q.train([tree, tree2])
Ejemplo n.º 3
0
    def test_train_runs(self):
        # "bravo 42 also wrong alpha"
        #    1    2   3    4     5
        # root: also
        #       dep0: bravo
        #           dep1: 42
        #       dep1: wrong
        #           dep0: alpha
        vocab = {'alpha':0, 'bravo':1, '42':2, 'not 42':3, 'also': 4, 'wrong':5}
        deplist = {'dep0':0, 'dep1':1}
        d = 3
        answers = ['42', 'not 42']

        tree = DependencyTree('42')
        tree.add(DependencyNode('also', 3, None)) # root
        tree.add(DependencyNode('bravo', 1, 'dep0'), 3) 
        tree.add(DependencyNode('42', 2, 'dep1'), 1) 
        tree.add(DependencyNode('wrong', 4, 'dep1'), 3) 
        tree.add(DependencyNode('alpha', 5, 'dep0'), 4) 

        root2 = DependencyNode('not 42', 1, None, [])
        tree2 = DependencyTree('not 42')
        tree2.add(root2)

        q = model.QANTA(d, vocab, deplist)
        q.train([tree, tree2])
Ejemplo n.º 4
0
    def __init__(self, arg):
        super(TestPredict, self).__init__(arg)
        self.trees = []
        tree = DependencyTree('Margaret')

        tree.add(DependencyNode('is', 2, 'b'), None)
        tree.add(DependencyNode('She', 1, 'a'), 2)
        tree.add(DependencyNode('Denmark\'s', 3, 'c'), 2)
        tree.add(DependencyNode('queen', 4, 'd'), 3)
        self.trees.append(tree)

        tree = DependencyTree('BMW')

        tree.add(DependencyNode('car', 3, 'b'), None)
        tree.add(DependencyNode('famous', 2, 'c'), 3)
        tree.add(DependencyNode('brand', 4, 'd'), 3)
        tree.add(DependencyNode('A', 1, 'a'), 2)
        self.trees.append(tree)

        tree = DependencyTree('Horse')

        tree.add(DependencyNode('large', 2, 'c'), None)
        tree.add(DependencyNode('A', 1, 'd'), 2)
        tree.add(DependencyNode('scary', 3, 'b'), 2)
        tree.add(DependencyNode('animal', 4, 'a'), 3)
        self.trees.append(tree)
Ejemplo n.º 5
0
    def __init__(self, arg):
        super(TestPredict, self).__init__(arg)
        self.trees = []
        tree = DependencyTree('Margaret')

        tree.add(DependencyNode('is',2, 'b'), None)
        tree.add(DependencyNode('She', 1, 'a'), 2)
        tree.add(DependencyNode('Denmark\'s', 3, 'c'), 2)
        tree.add(DependencyNode('queen', 4, 'd'), 3)
        self.trees.append(tree)

        tree = DependencyTree('BMW')

        tree.add(DependencyNode('car', 3, 'b'), None)
        tree.add(DependencyNode('famous',2, 'c'), 3)
        tree.add(DependencyNode('brand', 4, 'd'), 3)
        tree.add(DependencyNode('A', 1, 'a'), 2)
        self.trees.append(tree)

        tree = DependencyTree('Horse')

        tree.add(DependencyNode('large',2, 'c'), None)
        tree.add(DependencyNode('A', 1, 'd'), 2)
        tree.add(DependencyNode('scary', 3, 'b'), 2)
        tree.add(DependencyNode('animal', 4, 'a'), 3)
        self.trees.append(tree)