diff options
| author | Yuval Adam <yuv.adm@gmail.com> | 2011-04-29 17:41:58 +0300 |
|---|---|---|
| committer | Yuval Adam <yuv.adm@gmail.com> | 2011-04-29 17:41:58 +0300 |
| commit | c7659d077c9ce8fe84ff91297d9bf0e4a5cfd689 (patch) | |
| tree | 25bc7ff83587ac30dce669fdf80ca0ef372e3b46 /stanford_parser/parser_test.py | |
| parent | e57b3885abecfd4ce6db8a1a670322ec940eca65 (diff) | |
added jpype stuffjpype
Diffstat (limited to 'stanford_parser/parser_test.py')
| -rw-r--r-- | stanford_parser/parser_test.py | 86 |
1 files changed, 86 insertions, 0 deletions
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')]) + + + |
