Laborator 3 PST

download Laborator 3 PST

of 10

description

Este un laborator făcut pentru disciplina Procesarea sintactică a textului

Transcript of Laborator 3 PST

Ministerul Educaiei al Republicii Moldova

Ministerul Educaiei al Republicii MoldovaUniversitatea Tehnic a MoldoveiFacultatea Calculatoare Informatic i MicroelectronicCatedra Informatic Aplicat

Lucrare de laborator Nr.3DISCIPLINA: Procesarea sintactic a textuluiTEMA: Analiza sintactic Bottom-Up

A efectuat : Ciala Iurie anul 2, grupa IA-122

A verificat: Lazu Victoria Lector superior

Chiinu 2014Varianta 7:Propoziiile:

1. Cisco Networking Academy pregateste studentii pentru secolul 21.2. Structura programului cuprinde un centru de pregatire regionala.3. Academiile regionale instruiesc academii locale.

1. Analiza cu ajutorul parser-ului Bottom-Up ncorporat n NLTK.1. Cisco Networking Academy pregateste studentii pentru secolul 21.

2. Structura programului cuprinde un centru de pregatire regionala.

3. Academiile regionale instruiesc academii locale.

2. Analiza cu ajutorul funciilor NLTK.1. Cisco Networking Academy pregateste studentii pentru secolul 21.Coninutul fiierului Iura1.py# Incarca in memorie operativa module necesarefrom nltk.cfg import *from nltk.parser import *from nltk.tokenizer import *

# Declararea simboluri neterminale folosite in gramaticaS, NP, VP, PP, N, V, Prep, Num = nonterminals('S, NP, VP, PP, N, V, Prep, Num')

# Reguli gramaticale si lexicaleproductions = (CFGProduction(S, [NP, VP]),CFGProduction(NP, [N, N, N]), CFGProduction(PP, [Prep, NP]),CFGProduction(NP, [N, PP]), CFGProduction(NP, [N, Num]),CFGProduction(VP, [V, NP]), CFGProduction(N, ['Cisco']),CFGProduction(N, ['Networking']), CFGProduction(N, ['Academy']), CFGProduction(N, ['studentii']), CFGProduction(N, ['secolul']),CFGProduction(V, ['pregateste']),CFGProduction(Prep, ['pentru']),CFGProduction(Num, ['21'])

)

# Crearea gramaticii independente de contextgrammar = CFG (S, productions)

# Lansarea parserului Bottom-Upsr_parser = ShiftReduceParser(grammar, LEAF='TEXT')

# Definirea modului de trasaresr_parser.trace()

# Propozitie pentru analizasent=Token(TEXT='Cisco Networking Academy pregateste studentii pentru secolul 21')

# Impartirea propozitiei in cuvinteWhitespaceTokenizer().tokenize(sent)

# Analiza propozitieiparses = sr_parser.parse(sent)

sr_parser.trace(1)Parsing 'Cisco Networking Academy pregateste studentii pentru secolul 21' [ * 'Cisco' 'Networking' 'Academy' 'pregateste' 'studentii' 'pentru' 'secolul' '21'] [ 'Cisco' * 'Networking' 'Academy' 'pregateste' 'studentii' 'pentru' 'secolul' '21'] [ 'Networking' * 'Academy' 'pregateste' 'studentii' 'pentru' 'secolul' '21'] [ 'Academy' * 'pregateste' 'studentii' 'pentru' 'secolul' '21'] [ 'pregateste' * 'studentii' 'pentru' 'secolul' '21'] [ 'studentii' * 'pentru' 'secolul' '21'] [ 'pentru' * 'secolul' '21'] [ 'secolul' * '21'] [ '21' * ]

sr_parser.trace(2)Parsing 'Cisco Networking Academy pregateste studentii pentru secolul 21' [ * 'Cisco' 'Networking' 'Academy' 'pregateste' 'studentii' 'pentru' 'secolul' '21'] S [ 'Cisco' * 'Networking' 'Academy' 'pregateste' 'studentii' 'pentru' 'secolul' '21'] R [ * 'Networking' 'Academy' 'pregateste' 'studentii' 'pentru' 'secolul' '21'] S [ 'Networking' * 'Academy' 'pregateste' 'studentii' 'pentru' 'secolul' '21'] R [ * 'Academy' 'pregateste' 'studentii' 'pentru' 'secolul' '21'] S [ 'Academy' * 'pregateste' 'studentii' 'pentru' 'secolul' '21'] R [ * 'pregateste' 'studentii' 'pentru' 'secolul' '21'] R [ * 'pregateste' 'studentii' 'pentru' 'secolul' '21'] S [ 'pregateste' * 'studentii' 'pentru' 'secolul' '21'] R [ * 'studentii' 'pentru' 'secolul' '21'] S [ 'studentii' * 'pentru' 'secolul' '21'] R [ * 'pentru' 'secolul' '21'] S [ 'pentru' * 'secolul' '21'] R [ * 'secolul' '21'] S [ 'secolul' * '21'] R [ * '21'] S [ '21' * ] R [ * ] R [ * ] R [ * ] R [ * ] R [ * ] R [ * ]

sr_parser.trace(3)Parsing 'Cisco Networking Academy pregateste studentii pentru secolul 21' [ * 'Cisco' 'Networking' 'Academy' 'pregateste' 'studentii' 'pentru' 'secolul' '21']Shift : [ 'Cisco' * 'Networking' 'Academy' 'pregateste' 'studentii' 'pentru' 'secolul' '21']Reduce