def testSuperlativenormalFormProduction(self):
        tree = computeTree(data.give_opera())
        NamedEntityMerging(tree).merge()
        PrepositionMerging(tree).merge()
        qw = simplify(tree)
        result = normalFormProduction(tree, qw)
        self.assertEqual(result, {
    "list": [
        {
            "list": {
                "predicate": {
                    "value": "default",
                    "type": "resource"
                },
                "list": {
                    "value": "Gilbert",
                    "type": "resource"
                },
                "type": "sort"
            },
            "index": 0,
            "type": "nth"
        },
        {
            "list": {
                "predicate": {
                    "value": "default",
                    "type": "resource"
                },
                "list": {
                    "value": "Sullivan opera",
                    "type": "resource"
                },
                "type": "sort"
            },
            "index": 0,
            "type": "nth"
        }
    ],
    "type": "intersection"
})
Esempio n. 2
0
 def testSuperlativenormalFormProduction(self):
     tree = computeTree(data.give_opera())
     NamedEntityMerging(tree).merge()
     PrepositionMerging(tree).merge()
     qw = simplify(tree)
     result = normalFormProduction(tree, qw)
     self.assertEqual(
         result, {
             "list": [{
                 "list": {
                     "predicate": {
                         "value": "default",
                         "type": "resource"
                     },
                     "list": {
                         "value": "Gilbert",
                         "type": "resource"
                     },
                     "type": "sort"
                 },
                 "index": 0,
                 "type": "nth"
             }, {
                 "list": {
                     "predicate": {
                         "value": "default",
                         "type": "resource"
                     },
                     "list": {
                         "value": "Sullivan opera",
                         "type": "resource"
                     },
                     "type": "sort"
                 },
                 "index": 0,
                 "type": "nth"
             }],
             "type":
             "intersection"
         })
 def testHierarchyConnectors1(self):
     tree = computeTree(data.give_opera())
     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, 'undef')
     self.assertEqual(root.dfsTag, 0)
     # identity
     identity = root.child[0]
     self.assertEqual(identity.wordList, [Word("was", 2, 'VBD')])
     self.assertEqual(identity.namedEntityTag, 'undef')
     self.assertEqual(identity.dependency, 'R0')
     self.assertEqual(identity.parent, root)
     self.assertEqual(len(identity.child), 1)
     self.assertEqual(identity.subtreeType, 'undef')
     self.assertEqual(identity.dfsTag, 0)
     # and
     andw = identity.child[0]
     self.assertEqual(andw.wordList, [Word("and", 1000, None)])
     self.assertEqual(andw.namedEntityTag, 'undef')
     self.assertEqual(andw.dependency, 'R2')
     self.assertEqual(andw.parent, identity)
     self.assertEqual(len(andw.child), 2)
     self.assertEqual(andw.subtreeType, 'undef')
     self.assertEqual(andw.dfsTag, 0)
     # first1
     first1 = andw.child[0]
     self.assertEqual(first1.wordList, [Word("first", 4, 'JJ')])
     self.assertEqual(first1.namedEntityTag, 'ORDINAL')
     self.assertEqual(first1.dependency, 'RconjT')
     self.assertEqual(first1.parent, andw)
     self.assertEqual(len(first1.child), 1)
     self.assertEqual(first1.subtreeType, 'undef')
     self.assertEqual(first1.dfsTag, 0)
     # first2
     first2 = andw.child[1]
     self.assertEqual(first2.wordList, [Word("first", 4, 'JJ')])
     self.assertEqual(first2.namedEntityTag, 'ORDINAL')
     self.assertEqual(first2.dependency, 'RconjB')
     self.assertEqual(first2.parent, andw)
     self.assertEqual(len(first2.child), 1)
     self.assertEqual(first2.subtreeType, 'undef')
     self.assertEqual(first2.dfsTag, 0)
     # gilbert
     gilbert = first1.child[0]
     self.assertEqual(gilbert.wordList, [Word("Gilbert", 5, 'NNP')])
     self.assertEqual(gilbert.namedEntityTag, 'PERSON')
     self.assertEqual(gilbert.dependency, 'Rspl')
     self.assertEqual(gilbert.parent, first1)
     self.assertEqual(len(gilbert.child), 0)
     self.assertEqual(gilbert.subtreeType, 'undef')
     self.assertEqual(gilbert.dfsTag, 0)
     # sullivan
     sullivan = first2.child[0]
     self.assertEqual(sullivan.wordList,
                      [Word("Sullivan", 7, 'NNP'),
                       Word("opera", 8, 'NN')])
     self.assertEqual(sullivan.namedEntityTag, 'undef')
     self.assertEqual(sullivan.dependency, 'Rspl')
     self.assertEqual(sullivan.parent, first2)
     self.assertEqual(len(sullivan.child), 0)
     self.assertEqual(sullivan.subtreeType, 'undef')
     self.assertEqual(sullivan.dfsTag, 0)
 def testHierarchyConnectors1(self):
     tree = computeTree(data.give_opera()["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, "undef")
     self.assertEqual(root.dfsTag, 0)
     # identity
     identity = root.child[0]
     self.assertEqual(identity.wordList, [Word("was", 2, "VBD")])
     self.assertEqual(identity.namedEntityTag, "undef")
     self.assertEqual(identity.dependency, "R0")
     self.assertEqual(identity.parent, root)
     self.assertEqual(len(identity.child), 1)
     self.assertEqual(identity.subtreeType, "undef")
     self.assertEqual(identity.dfsTag, 0)
     # and
     andw = identity.child[0]
     self.assertEqual(andw.wordList, [Word("and", 1000, None)])
     self.assertEqual(andw.namedEntityTag, "undef")
     self.assertEqual(andw.dependency, "R2")
     self.assertEqual(andw.parent, identity)
     self.assertEqual(len(andw.child), 2)
     self.assertEqual(andw.subtreeType, "undef")
     self.assertEqual(andw.dfsTag, 0)
     # first1
     first1 = andw.child[0]
     self.assertEqual(first1.wordList, [Word("first", 4, "JJ")])
     self.assertEqual(first1.namedEntityTag, "ORDINAL")
     self.assertEqual(first1.dependency, "RconjT")
     self.assertEqual(first1.parent, andw)
     self.assertEqual(len(first1.child), 1)
     self.assertEqual(first1.subtreeType, "undef")
     self.assertEqual(first1.dfsTag, 0)
     # first2
     first2 = andw.child[1]
     self.assertEqual(first2.wordList, [Word("first", 4, "JJ")])
     self.assertEqual(first2.namedEntityTag, "ORDINAL")
     self.assertEqual(first2.dependency, "RconjB")
     self.assertEqual(first2.parent, andw)
     self.assertEqual(len(first2.child), 1)
     self.assertEqual(first2.subtreeType, "undef")
     self.assertEqual(first2.dfsTag, 0)
     # gilbert
     gilbert = first1.child[0]
     self.assertEqual(gilbert.wordList, [Word("Gilbert", 5, "NNP")])
     self.assertEqual(gilbert.namedEntityTag, "PERSON")
     self.assertEqual(gilbert.dependency, "Rspl")
     self.assertEqual(gilbert.parent, first1)
     self.assertEqual(len(gilbert.child), 0)
     self.assertEqual(gilbert.subtreeType, "undef")
     self.assertEqual(gilbert.dfsTag, 0)
     # sullivan
     sullivan = first2.child[0]
     self.assertEqual(sullivan.wordList, [Word("Sullivan", 7, "NNP"), Word("opera", 8, "NN")])
     self.assertEqual(sullivan.namedEntityTag, "undef")
     self.assertEqual(sullivan.dependency, "Rspl")
     self.assertEqual(sullivan.parent, first2)
     self.assertEqual(len(sullivan.child), 0)
     self.assertEqual(sullivan.subtreeType, "undef")
     self.assertEqual(sullivan.dfsTag, 0)
 def testHierarchyConnectors1(self):
     tree=computeTree(data.give_opera())
     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, 'undef')
     self.assertEqual(root.dfsTag, 0)
     # identity
     identity=root.child[0]
     self.assertEqual(identity.wordList, [Word("was", 2, 'VBD')])
     self.assertEqual(identity.namedEntityTag, 'undef')
     self.assertEqual(identity.dependency, 'R0')
     self.assertEqual(identity.parent, root)
     self.assertEqual(len(identity.child), 1)
     self.assertEqual(identity.subtreeType, 'undef')
     self.assertEqual(identity.dfsTag, 0)
     # and
     andw=identity.child[0]
     self.assertEqual(andw.wordList, [Word("and", 1000, None)])
     self.assertEqual(andw.namedEntityTag, 'undef')
     self.assertEqual(andw.dependency, 'R2')
     self.assertEqual(andw.parent, identity)
     self.assertEqual(len(andw.child), 2)
     self.assertEqual(andw.subtreeType, 'undef')
     self.assertEqual(andw.dfsTag, 0)
     # first1
     first1=andw.child[0]
     self.assertEqual(first1.wordList, [Word("first", 4, 'JJ')])
     self.assertEqual(first1.namedEntityTag, 'ORDINAL')
     self.assertEqual(first1.dependency, 'RconjT')
     self.assertEqual(first1.parent, andw)
     self.assertEqual(len(first1.child), 1)
     self.assertEqual(first1.subtreeType, 'undef')
     self.assertEqual(first1.dfsTag, 0)
     # first2
     first2=andw.child[1]
     self.assertEqual(first2.wordList, [Word("first", 4, 'JJ')])
     self.assertEqual(first2.namedEntityTag, 'ORDINAL')
     self.assertEqual(first2.dependency, 'RconjB')
     self.assertEqual(first2.parent, andw)
     self.assertEqual(len(first2.child), 1)
     self.assertEqual(first2.subtreeType, 'undef')
     self.assertEqual(first2.dfsTag, 0)
     # gilbert
     gilbert=first1.child[0]
     self.assertEqual(gilbert.wordList, [Word("Gilbert", 5, 'NNP')])
     self.assertEqual(gilbert.namedEntityTag, 'PERSON')
     self.assertEqual(gilbert.dependency, 'Rspl')
     self.assertEqual(gilbert.parent, first1)
     self.assertEqual(len(gilbert.child), 0)
     self.assertEqual(gilbert.subtreeType, 'undef')
     self.assertEqual(gilbert.dfsTag, 0)
     # sullivan
     sullivan=first2.child[0]
     self.assertEqual(sullivan.wordList, [Word("Sullivan", 7, 'NNP'), Word("opera", 8, 'NN')])
     self.assertEqual(sullivan.namedEntityTag, 'undef')
     self.assertEqual(sullivan.dependency, 'Rspl')
     self.assertEqual(sullivan.parent, first2)
     self.assertEqual(len(sullivan.child), 0)
     self.assertEqual(sullivan.subtreeType, 'undef')
     self.assertEqual(sullivan.dfsTag, 0)