コード例 #1
0
ファイル: numbers.py プロジェクト: yqzhang/parsetron
 def test():
     parser = RobustParser(NumbersGrammar())
     for sent, expect in NumbersGrammar.sents:
         t, r = parser.parse(sent)
         # print(t)
         # print(r)
         assert r.get() == expect, "%s <- %s" % (str(r.get()), sent)
コード例 #2
0
ファイル: numbers.py プロジェクト: G10DRAS/parsetron
 def test():
     parser = RobustParser(NumbersGrammar())
     for sent, expect in NumbersGrammar.sents:
         t, r = parser.parse(sent)
         # print(t)
         # print(r)
         assert r.get() == expect, "%s <- %s" % (str(r.get()), sent)
コード例 #3
0
ファイル: times.py プロジェクト: yqzhang/parsetron
 def test():
     g = TimesGrammar()
     parser = RobustParser(g)
     for sent, expect in TimesGrammar.sents:
         _, r = parser.parse(sent)
         print(r)
         assert r.get() == expect, "%s <- %s" % (str(r.get()), sent)
コード例 #4
0
 def test():
     parser = RobustParser((LightAdvancedGrammar()))
     tree, result = parser.parse("flash my top light twice in red and "
                                 "blink middle light 20 times in yellow")
     print tree
     print result
     assert result.one_parse[0].color == (255, 0, 0)
     assert result.one_parse[0].times == 2
     assert result.one_parse[1].color == (255, 255, 0)
     assert result.one_parse[1].times == 20
     print
コード例 #5
0
 def test():
     parser = RobustParser((LightAdvancedGrammar()))
     tree, result = parser.parse("flash my top light twice in red and "
                                 "blink middle light 20 times in yellow")
     print tree
     print result
     assert result.one_parse[0].color == (255, 0, 0)
     assert result.one_parse[0].times == 2
     assert result.one_parse[1].color == (255, 255, 0)
     assert result.one_parse[1].times == 20
     print
コード例 #6
0
ファイル: colored_light.py プロジェクト: G10DRAS/parsetron
 def test():
     import time
     parser = RobustParser(ColoredLightGrammar())
     sents = ColoredLightGrammar.sents
     s = time.time()
     for expect, sent in sents:
         s1 = time.time()
         assert expect == parser.print_parse(sent), sent
         s2 = time.time()
         print("parse time: %.2f ms" % ((s2-s1)*1000))
         print()
     e = time.time()
     elapsed = e - s
     print("total time: %.2f s" % (elapsed))
     print("per parse: %.2f ms" % (elapsed*1000/len(sents)))
コード例 #7
0
 def test():
     import time
     parser = RobustParser(ColoredLightGrammar())
     sents = ColoredLightGrammar.sents
     s = time.time()
     for expect, sent in sents:
         s1 = time.time()
         assert expect == parser.print_parse(sent), sent
         s2 = time.time()
         print("parse time: %.2f ms" % ((s2 - s1) * 1000))
         print()
     e = time.time()
     elapsed = e - s
     print("total time: %.2f s" % (elapsed))
     print("per parse: %.2f ms" % (elapsed * 1000 / len(sents)))
コード例 #8
0
 def test():
     parser = RobustParser((LightGrammar()))
     sents = [
         "set my top light to red",
         "set my top light to red and change middle light to yellow",
         "set my top light to red and change middle light to yellow and "
         "flash bottom light twice in blue"
     ]
     for sent in sents:
         tree, result = parser.parse(sent)
         print '"%s"' % sent
         print "parse tree:"
         print tree
         print "parse result:"
         print result
         print
コード例 #9
0
    def test():
        parser = RobustParser((QuestionGrammar()))
        sents = [
            "what was the revenue for Amazon last quarter?",
            "did revenue numbers change for Amazon from last quarter to this quarter?",
            "how much did same store sales increase for Apple last quarter?"
        ]
        for sent in sents:
            tree, result = parser.parse(sent)
            assert result.one_parse[0].color == 'red'

            print '"%s"' % sent
            print "parse tree:"
            print tree
            print "parse result:"
            print result
            print
コード例 #10
0
def callback(data):
    parser = RobustParser(TransportGrammar())
    tree, result = parser.parse(data.data)
    msg_object = GoAndGetIt()
    msg_deliver = GoAndGetIt()
    if tree:
        benificiary = search_benificiary(tree)
        if benificiary == "left":
            msg_deliver.person_left = True
        elif benificiary == "right":
            msg_deliver.person_right = True
        else:
            msg_deliver.person_left = True
            msg_deliver.person_right = True
        pub_deliver.publish(msg_deliver)
        msg_object.perceived_object_name = recursive_search_object(tree)
        if msg_object.perceived_object_name != "":
            pub.publish(msg_object)
コード例 #11
0
            tree, result = parser.parse(sent)
            assert result.one_parse[0].color == 'red'

            print '"%s"' % sent
            print "parse tree:"
            print tree
            print "parse result:"
            print result
            print


def clean_sent(sent):
    return sent.strip(string.punctuation)


parser = RobustParser(QuestionGrammar())
sents = [
    "what were the revenue and same store sales numbers for Amazon from last quarter?"
]
for sent in sents:
    sent = clean_sent(sent)
    tree, result = parser.parse(sent)
    print '"%s"' % sent
    print "parse result:"
    if result is not None:
        for key, vals in result.items():
            for val in vals:
                if key != "GOAL":
                    direction = val.get("direction", None)
                    search = val.get("search", None)
                    company = val.get("company", None)
コード例 #12
0
 def test():
     parser = RobustParser(ColorsGrammar())
     for name, rgb in color2rgb.items():
         t, r = parser.parse(name)