コード例 #1
0
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")
コード例 #2
0
 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)
コード例 #3
0
 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)
コード例 #4
0
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")
コード例 #5
0
ファイル: HUsyntactic.py プロジェクト: hugo53/HUsyntactic
 # 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)
コード例 #6
0
ファイル: HUsyntactic.py プロジェクト: hugo53/HUsyntactic
    # 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)