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" })
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)