Sunteți pe pagina 1din 17

Referat Introducere in NLP

-Parsarea in NLP-

Profesor coordonator
Liviu P. Dinu
Student
Bibu Alexandru-Serafim
Ce este parsarea?
• Simplist vorbind, parsarea in NLP este procesul de determinare a structurii
sintactice a unui text, prin analizarea cuvintelor sale constituitive pe baza unei
gramatici.
• Structura sintactica se reprezinta in general sub forma unui arbore care
prezinta relatiile dintre cuvintele unei fraze analizate.
Arborele de parsare
Definitie
• Un arbore de parsare este un arbore cu radacina ordonat care reprezinta
structura sintactica a unei fraze in functie de o anumita gramatica
independenta de context.
Arborele este construit din marcatori de fraze (Phrase markers) si
cuvintele din fraze pentru nodurile interioare, respectiv pentru Frunze.
Marcatorii de fraze au fost instrodusi in gramatica generativ transformationala
reprezentand structura unei fraze aplicand reguli de structura a frazelor.
Exemplu arbore de parsare

• S – sentence (propozitie)
• N – noun (substantiv)
• VP – verb phrase (predicat)
• V – verb (verb)
• NP – noun phrase (subiect)
• D – determiner (determinant)
Parsarea

Abordarile de analiza existente sunt in principiu statistice, probabilistice si


bazate pe invatare automata.
Cateva instrumente notabile utilizate pentru parsare sunt:
- Stanford parser
- OpenNLP
Parsarea

Exisita doua tipuri de arbori de parsare: de parsare sintactica si de


dependente, care pun accentual pe legaturile dintre cuvinte. Primul tip se
refera la structura frazei si poate fi obtinut folosind gramatici independente de
context (CFG), in timp ce al doilea arata relatiile gramaticale.
Parsarea - Utilizari

- Determinarea polaritatii opiniilor


- Traduceri
- Chatbots
- Predictie de text
- Verificarea greselilor gramaticale
Parsarea - caracteristici
Exista mai multe caracteristici esentiale care pot fi utile pentru a descrie tipul
unei dependente. Fircare fiind vazuta ca o relatie parinte-copil si poate fi descrisa
folosind urmatoarele caracteristici principale si combinatii ale acestora:
a) Caracteristici de baza (unigrame):
– Cuvantul parinte;
– Parte de vorbire a parintelui;
– Cuvantul copil;
– Parte de vorbire a copilului.

b) Caracteristici de nivel doi (bigrame):


– Se pot folosi urmatoarele informatii pentru a construe caracteristici de tip bigrama: cuvantul
parinte, partea de vorbire a parintelui, cuvantul copil, parte de vorbire a copilului.
Parsarea - caracteristici
a) Caracteristicile partilor de vorbire dintre parinte si copil:
– Parte de vorbire a parintelui impreuna cu partea de vorbire a cuvantului urmator
parintelui

b) Partile de vorbire ale cuvintelor apropiate:


c) Caracteristici legate de tipul dependentei:
The Stanford Parser: A statistical parser
• Acest pachet este o implementare Java a analizatorilor de limbaj natural
probabilistic, atât PCFG extrem de optimizat, cât și analizatori de dependență
lexicalizată și un analizator PCFG lexicalizat.
• Versiunea originală a acestui parser a fost scrisă în principal de Dan Klein, cu
ajutorul lui Christopher Manning.
Stanford Parser - cum functioneaza
• Analizatorul probabilistic lexicalizat implementează un model de produs
factorizat, cu structură de frază PCFG separată și experți în dependență
lexicală, ale căror preferințe sunt combinate printr-o inferență exactă si
eficientă, folosind un algoritm A*.
• Sau software-ul poate fi utilizat pur si simplu ca un parser stocastic pentru o
CFG. Oricare dintre acestea produce un sistem de parsare performant. Un GUI
este furnizat pentru vizualizarea rezultatelor arborerului structurii frazei.
Exemplu arbore de parsare pentru algoritmul
Stanford

Link catre ce inseamna fiecare


nod care nu este frunza:

https://www.sketchengine.eu/penn-
treebank-tagset/
Stanford parser - rezumat
• Parserul Stanford are o acuratete buna, dar este posibila si o antrenare
specifica. Spre exemplu: texte pe domenii specifice. Informatii pentru cum
poti antrena un "tagger" pot fi gasite online: https://nlp.stanford.edu
/software/parser-faq.shtml#d
• Pe langa acuratetea si diversele optiuni privind datele de intrare,
precum si datele de iesire compatibilitatea acestuia cu instrumente
precum TregEx reprezinta un alt avantaj al Parserului Stanford. Astfel,
aplicatiile pot fi folosite pentru analiza statistica a arborelui.
Apache OpenNLP

• Apache OpenNLP este o librarie java open-source care este folosita pentru
analiza textului limbajului natural. OpenNLP ofera servicii precum:
tokenizare, segmentarea pe propozitii, impartirea pe parti de vorbire etc.
Apache OpenNLP - parsare
• Un aspect interesant al OpenNLP este ca poti specifica numarul de parsari
returnabil pentru o fraza data. Cum parserul este un model ML, sistemul poate
ajunge la mai multi potentiali candidati pentru parsarea corecta a frazei,
fiecare avand o probabilitate asociata.
Apache OpenNLP - parsare
Cererea unei parsari pentru "John loves Mary"

Cererea a 10 parsari pentru "John loves Mary"


Concluzii
• Parsarea este un pas mic pentru a gasi intelesul unei fraze, dar cu o importanta
majora in multe branje ale NLP-ului.
• Parserul Stanford si cel open-source Apache OpenNLP sunt niste instrumente
bine puse la punct cu multe functionlitati ce pot fi dezvoltate individual.
• Procesarea limbajului natural nu se poate face fara un parser.

S-ar putea să vă placă și