class Test(unittest.TestCase): def setUp(self): io = CKYIO('../../../resources/GRAMMAR.IN','../../../resources/LEXICON.IN' ,'../../../resources/SENTENCES.IN') outfile = 'OUTFILE.' self.parser = CKY(io.readGrammar(), io.readLexicon(), outfile) self.parser.matrix=[] self.parser.initializeTable(4) def tearDown(self): self.parser = None def testParseLexicon(self): sent = 'Fivel ate the cheese' self.parser.parseLexicon(sent) self.assertEqual(self.parser.matrix[0][0].getElementAt(0).values()[0] .getLeft(), 'NP', "At Left 00") self.assertEqual(self.parser.matrix[0][0].getElementAt(0).values()[0] .getRight(), 'Fivel', "At Right 00") self.assertEqual(self.parser.matrix[1][1].getElementAt(0).values()[0] .getLeft(), 'VP', "At Left 11") self.assertEqual(self.parser.matrix[1][1].getElementAt(0).values()[0] .getRight(), 'ate', "At Right 11") self.assertEqual(self.parser.matrix[2][2].getElementAt(0).values()[0] .getLeft(), 'DET', "At Left 22") self.assertEqual(self.parser.matrix[2][2].getElementAt(0).values()[0] .getRight(), 'the', "At Right 22") self.assertEqual(self.parser.matrix[3][3].getElementAt(0).values()[0] .getLeft(), 'NP', "At Left 33") self.assertEqual(self.parser.matrix[3][3].getElementAt(0).values()[0] .getRight(), 'cheese', "At Right 33")
def setUp(self): io = CKYIO('../../../resources/GRAMMAR.IN', '../../../resources/LEXICON.IN', '../../../resources/SENTENCES.IN') outfile = 'OUTFILE.' self.parser = CKY(io.readGrammar(), io.readLexicon(), outfile) self.parser.matrix = [] self.parser.initializeTable(4)
def setUp(self): io = CKYIO('../../../resources/GRAMMAR.IN','../../../resources/LEXICON.IN' ,'../../../resources/SENTENCES.IN') outfile = 'OUTFILE.' self.parser = CKY(io.readGrammar(), io.readLexicon(), outfile) self.parser.matrix=[] self.parser.initializeTable(4)
class Test(unittest.TestCase): def setUp(self): io = CKYIO('../../../resources/GRAMMAR.IN', '../../../resources/LEXICON.IN', '../../../resources/SENTENCES.IN') outfile = 'OUTFILE.' self.parser = CKY(io.readGrammar(), io.readLexicon(), outfile) self.parser.matrix = [] self.parser.initializeTable(4) def tearDown(self): self.parser = None def testParseLexicon(self): sent = 'Fivel ate the cheese' self.parser.parseLexicon(sent) self.assertEqual( self.parser.matrix[0][0].getElementAt(0).values()[0].getLeft(), 'NP', "At Left 00") self.assertEqual( self.parser.matrix[0][0].getElementAt(0).values()[0].getRight(), 'Fivel', "At Right 00") self.assertEqual( self.parser.matrix[1][1].getElementAt(0).values()[0].getLeft(), 'VP', "At Left 11") self.assertEqual( self.parser.matrix[1][1].getElementAt(0).values()[0].getRight(), 'ate', "At Right 11") self.assertEqual( self.parser.matrix[2][2].getElementAt(0).values()[0].getLeft(), 'DET', "At Left 22") self.assertEqual( self.parser.matrix[2][2].getElementAt(0).values()[0].getRight(), 'the', "At Right 22") self.assertEqual( self.parser.matrix[3][3].getElementAt(0).values()[0].getLeft(), 'NP', "At Left 33") self.assertEqual( self.parser.matrix[3][3].getElementAt(0).values()[0].getRight(), 'cheese', "At Right 33")
# Theory of call: # - args.dest : contains content user entered # - e.g: args.grammar will return file name of file contain grammar if args: try: #Call to main parser #Read files if(args.algorithm=="c"): io = CKYIO(args.grammar, args.lexicon, args.sentence) listGrammar = io.readGrammar() listLexicon = io.readLexicon() listSentence = io.readSentence() #End read files #Initialize CYK cykInstance = CKY(listGrammar, listLexicon, args.outfile) startTime = time.clock() #Parse for each sentence INPUT for sent in listSentence: cykInstance.syntacticAnalyzer(sent) #End parse stopTime = time.clock() print "Analysis success. " \ "Please check output file! \nTime is: " \ ,stopTime-startTime elif(args.algorithm=="e"): io = EarleyIO() gram1 = io.readGrammar(args.grammar) gram2 = io.readLexicon(args.lexicon) gram1.extend(gram2) sents = io.readSentence(args.sentence)
# Theory of call: # - args.dest : contains content user entered # - e.g: args.grammar will return file name of file contain grammar if args: try: #Call to main parser #Read files if (args.algorithm == "c"): io = CKYIO(args.grammar, args.lexicon, args.sentence) listGrammar = io.readGrammar() listLexicon = io.readLexicon() listSentence = io.readSentence() #End read files #Initialize CYK cykInstance = CKY(listGrammar, listLexicon, args.outfile) startTime = time.clock() #Parse for each sentence INPUT for sent in listSentence: cykInstance.syntacticAnalyzer(sent) #End parse stopTime = time.clock() print "Analysis success. " \ "Please check output file! \nTime is: " \ ,stopTime-startTime elif (args.algorithm == "e"): io = EarleyIO() gram1 = io.readGrammar(args.grammar) gram2 = io.readLexicon(args.lexicon) gram1.extend(gram2) sents = io.readSentence(args.sentence)