def testHierarchyConnectors2(self):
     tree = computeTree(data.give_chief()["sentences"][0])
     NamedEntityMerging(tree).merge()
     PrepositionMerging(tree).merge()
     simplify(tree)
     tree.sort()
     root = tree
     # Root
     self.assertEqual(root.wordList, [Word("ROOT", 0)])
     self.assertEqual(root.namedEntityTag, "undef")
     self.assertEqual(root.dependency, "R0")
     self.assertEqual(root.parent, None)
     self.assertEqual(len(root.child), 1)
     self.assertEqual(root.subtreeType, "PERSON")
     self.assertEqual(root.dfsTag, 0)
     # and
     andw = root.child[0]
     self.assertEqual(andw.wordList, [Word("and", 1000, None)])
     self.assertEqual(andw.namedEntityTag, "undef")
     self.assertEqual(andw.dependency, "R0")
     self.assertEqual(andw.parent, root)
     self.assertEqual(len(andw.child), 2)
     self.assertEqual(andw.subtreeType, "PERSON")
     self.assertEqual(andw.dfsTag, 0)
     # identity
     identity1 = andw.child[0]
     self.assertEqual(identity1.wordList, [Word("is", 2, "VBZ")])
     self.assertEqual(identity1.namedEntityTag, "undef")
     self.assertEqual(identity1.dependency, "RconjT")
     self.assertEqual(identity1.parent, andw)
     self.assertEqual(len(identity1.child), 1)
     self.assertEqual(identity1.subtreeType, "PERSON")
     self.assertEqual(identity1.dfsTag, 0)
     # identity
     identity2 = andw.child[1]
     self.assertEqual(identity2.wordList, [Word("is", 2, "VBZ")])
     self.assertEqual(identity2.namedEntityTag, "undef")
     self.assertEqual(identity2.dependency, "RconjB")
     self.assertEqual(identity2.parent, andw)
     self.assertEqual(len(identity2.child), 1)
     self.assertEqual(identity2.subtreeType, "PERSON")
     self.assertEqual(identity2.dfsTag, 0)
     # chief
     chief = identity1.child[0]
     self.assertEqual(chief.wordList, [Word("chief", 4, "NN")])
     self.assertEqual(chief.namedEntityTag, "undef")
     self.assertEqual(chief.dependency, "R2")
     self.assertEqual(chief.parent, identity1)
     self.assertEqual(len(chief.child), 0)
     self.assertEqual(chief.subtreeType, "undef")
     self.assertEqual(chief.dfsTag, 0)
     # prime minister
     prime = identity2.child[0]
     self.assertEqual(prime.wordList, [Word("prime", 6, "JJ"), Word("minister", 7, "NN")])
     self.assertEqual(prime.namedEntityTag, "undef")
     self.assertEqual(prime.dependency, "R2")
     self.assertEqual(prime.parent, identity2)
     self.assertEqual(len(prime.child), 0)
     self.assertEqual(prime.subtreeType, "undef")
     self.assertEqual(prime.dfsTag, 0)
    def testAndnormalFormProduction(self):
        tree = computeTree(data.give_chief())
        NamedEntityMerging(tree).merge()
        PrepositionMerging(tree).merge()
        qw = simplify(tree)
        result = normalFormProduction(tree, qw)
        self.assertEqual(result, {
    "list": [
        {
            "type": "triple",
            "subject": {
                "type": "resource",
                "value": "chief"
            },
            "object": {
                "type": "missing"
            },
            "predicate": {
                "list": [
                    {
                        "type": "resource",
                        "value": "identity"
                    }
                ],
                "type": "list"
            }
        },
        {
            "type": "triple",
            "subject": {
                "type": "resource",
                "value": "prime minister"
            },
            "object": {
                "type": "missing"
            },
            "predicate": {
                "list": [
                    {
                        "type": "resource",
                        "value": "identity"
                    }
                ],
                "type": "list"
            }
        }
    ],
    "type": "intersection"
})
Esempio n. 3
0
 def testAndnormalFormProduction(self):
     tree = computeTree(data.give_chief())
     NamedEntityMerging(tree).merge()
     PrepositionMerging(tree).merge()
     qw = simplify(tree)
     result = normalFormProduction(tree, qw)
     self.assertEqual(
         result, {
             "list": [{
                 "type": "triple",
                 "subject": {
                     "type": "resource",
                     "value": "chief"
                 },
                 "object": {
                     "type": "missing"
                 },
                 "predicate": {
                     "list": [{
                         "type": "resource",
                         "value": "identity"
                     }],
                     "type": "list"
                 }
             }, {
                 "type": "triple",
                 "subject": {
                     "type": "resource",
                     "value": "prime minister"
                 },
                 "object": {
                     "type": "missing"
                 },
                 "predicate": {
                     "list": [{
                         "type": "resource",
                         "value": "identity"
                     }],
                     "type": "list"
                 }
             }],
             "type":
             "intersection"
         })
 def testHierarchyConnectors2(self):
     tree = computeTree(data.give_chief())
     NamedEntityMerging(tree).merge()
     PrepositionMerging(tree).merge()
     simplify(tree)
     tree.sort()
     root = tree
     # Root
     self.assertEqual(root.wordList, [Word("ROOT", 0)])
     self.assertEqual(root.namedEntityTag, 'undef')
     self.assertEqual(root.dependency, 'R0')
     self.assertEqual(root.parent, None)
     self.assertEqual(len(root.child), 1)
     self.assertEqual(root.subtreeType, 'PERSON')
     self.assertEqual(root.dfsTag, 0)
     # and
     andw = root.child[0]
     self.assertEqual(andw.wordList, [Word("and", 1000, None)])
     self.assertEqual(andw.namedEntityTag, 'undef')
     self.assertEqual(andw.dependency, 'R0')
     self.assertEqual(andw.parent, root)
     self.assertEqual(len(andw.child), 2)
     self.assertEqual(andw.subtreeType, 'PERSON')
     self.assertEqual(andw.dfsTag, 0)
     # identity
     identity1 = andw.child[0]
     self.assertEqual(identity1.wordList, [Word("is", 2, 'VBZ')])
     self.assertEqual(identity1.namedEntityTag, 'undef')
     self.assertEqual(identity1.dependency, 'RconjT')
     self.assertEqual(identity1.parent, andw)
     self.assertEqual(len(identity1.child), 1)
     self.assertEqual(identity1.subtreeType, 'PERSON')
     self.assertEqual(identity1.dfsTag, 0)
     # identity
     identity2 = andw.child[1]
     self.assertEqual(identity2.wordList, [Word("is", 2, 'VBZ')])
     self.assertEqual(identity2.namedEntityTag, 'undef')
     self.assertEqual(identity2.dependency, 'RconjB')
     self.assertEqual(identity2.parent, andw)
     self.assertEqual(len(identity2.child), 1)
     self.assertEqual(identity2.subtreeType, 'PERSON')
     self.assertEqual(identity2.dfsTag, 0)
     # chief
     chief = identity1.child[0]
     self.assertEqual(chief.wordList, [Word("chief", 4, 'NN')])
     self.assertEqual(chief.namedEntityTag, 'undef')
     self.assertEqual(chief.dependency, 'R2')
     self.assertEqual(chief.parent, identity1)
     self.assertEqual(len(chief.child), 0)
     self.assertEqual(chief.subtreeType, 'undef')
     self.assertEqual(chief.dfsTag, 0)
     # prime minister
     prime = identity2.child[0]
     self.assertEqual(prime.wordList,
                      [Word("prime", 6, 'JJ'),
                       Word("minister", 7, 'NN')])
     self.assertEqual(prime.namedEntityTag, 'undef')
     self.assertEqual(prime.dependency, 'R2')
     self.assertEqual(prime.parent, identity2)
     self.assertEqual(len(prime.child), 0)
     self.assertEqual(prime.subtreeType, 'undef')
     self.assertEqual(prime.dfsTag, 0)