From c7659d077c9ce8fe84ff91297d9bf0e4a5cfd689 Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Fri, 29 Apr 2011 17:41:58 +0300 Subject: added jpype stuff --- stanford_parser/parser_test.py | 86 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 stanford_parser/parser_test.py (limited to 'stanford_parser/parser_test.py') diff --git a/stanford_parser/parser_test.py b/stanford_parser/parser_test.py new file mode 100644 index 0000000..e5c90fa --- /dev/null +++ b/stanford_parser/parser_test.py @@ -0,0 +1,86 @@ +import unittest + + +class TestCase(unittest.TestCase): + @classmethod + def setUpClass(cls): + from stanford_parser.parser import Parser + cls.parser = Parser() + + def testParse(self): + + dependencies = self.parser.parseToStanfordDependencies("Pick up the tire pallet.") + + tupleResult = [(rel, gov.text, dep.text) for rel, gov, dep in dependencies.dependencies] + self.assertEqual(tupleResult, [('prt', 'Pick', 'up'), + ('det', 'pallet', 'the'), + ('nn', 'pallet', 'tire'), + ('dobj', 'Pick', 'pallet')]) + + self.assertEqual(dependencies.tagForTokenStandoff(gov), "VB") + self.assertEqual(dependencies.tagForTokenStandoff(dep), "NN") + + def testParseRefexpNextTo(self): + dependencies = self.parser.parseToStanfordDependencies("Pick up the tire pallet next to the truck.") + + tupleResult = [(rel, gov.text, dep.text) for rel, gov, dep in dependencies.dependencies] + + + self.assertEqual(tupleResult, + [('prt', 'Pick', 'up'), + ('det', 'pallet', 'the'), + ('nn', 'pallet', 'tire'), + ('dobj', 'Pick', 'pallet'), + ('det', 'truck', 'the'), + ('prep_next_to', 'pallet', 'truck')]) + + + def testParseRefexpNear(self): + dependencies =self.parser.parseToStanfordDependencies("Pick up the tire pallet near the truck.") + + tupleResult = [(rel, gov.text, dep.text) for rel, gov, dep in dependencies.dependencies] + self.assertEqual(tupleResult, + [('prt', 'Pick', 'up'), + ('det', 'pallet', 'the'), + ('nn', 'pallet', 'tire'), + ('dobj', 'Pick', 'pallet'), + ('det', 'truck', 'the'), + ('prep_near', 'pallet', 'truck')]) + + + + def testParseLong(self): + + # this sentence has a self dependency that the python code filters out. + # between drop and drop. + dependencies = self.parser.parseToStanfordDependencies("Grab the skid of tires right in front of you " + + "and drop it off just in front and to the " + + "right of the far skid of tires.") + + tupleResult = [(rel, gov.text, dep.text) for rel, gov, dep in dependencies.dependencies] + self.assertEqual(tupleResult, + [('det', 'skid', 'the'), ('dobj', 'Grab', 'skid'), + ('prep_of', 'skid', 'tires'), ('dep', 'Grab', 'right'), + ('prep_in', 'Grab', 'front'), ('prep_of', 'front', 'you'), + ('conj_and', 'Grab', 'drop'), ('dobj', 'drop', 'it'), ('prt', 'drop', 'off'), + ('advmod', 'drop', 'just'), ('prep_in', 'drop', 'front'), ('det', 'right', 'the'), + ('prep_to', 'drop', 'right'), ('det', 'skid', 'the'), ('amod', 'skid', 'far'), + ('prep_of', 'right', 'skid'), ('prep_of', 'skid', 'tires')]) + + + + def testAllCaps(self): + dependencies = self.parser.parseToStanfordDependencies("GO TO THE TIRE PALLET NEXT TO THE TRUCK.") + tupleResult = [(rel, gov.text, dep.text) for rel, gov, dep in dependencies.dependencies] + self.assertEqual(tupleResult, + [('nn', 'PALLET', 'GO'), + ('nn', 'PALLET', 'TO'), + ('nn', 'PALLET', 'THE'), + ('nn', 'PALLET', 'TIRE'), + ('nsubj', 'NEXT', 'PALLET'), + ('dep', 'NEXT', 'TO'), + ('det', 'TRUCK', 'THE'), + ('dobj', 'TO', 'TRUCK')]) + + + -- cgit v1.3.1