Prelucrarea limbajului natural
Embed Size (px)
Transcript of Prelucrarea limbajului natural

1
Inteligenta ArtificialaInteligenta Artificiala
Universitatea Politehnica BucurestiAnul universitar 2008-2009
Adina Floreahttp://turing.cs.pub.ro/ia_08 si curs.cs.pub.ro

2
Curs nr. 13
Prelucrarea limbajului natural
2

3
ComunicareComunicare Definitie: schimbul intentional de informatie generat de
producerea si perceperea semnelor dintr-un sistem partajat de semne conventionale
Componentele comunicarii– Intentie: decide Emitator– Generare: formeaza– Sinteza: produce
– Perceptie: percepe (P1 ..Pn) Receptor– Analiza: lexic, sintactic, semantic, pragmatic– eliminare ambiguitate: alege Pi
– Incorporare: convingere Pi
Limbaj de reprezentare internLimbaj de comunicare

Acte de comunicareActe de comunicareJ. Austin - How to do things with words, 1962, J. Searle - Speech acts, 1969Un act de comunicare: locutie = fraza spusa de locutor illocutie = intelesul dorit spre a fi comunicat de locutor (performativa) prelocutie = actiunea care rezulta din locutie
Maria i-a spus lui Gigel: "Te rog inchide usa"locutie illocutie
prelocutie: usa inchisaCategorii ilocutionale
Asertive Directive Comisive (angajamente) Permisive (permit) Prohibitive (interzic) Declarative Expresive

5
Definire limbajDefinire limbaj Lexicon Analiza lexicala Gramatici Analiza (pars oratoris) Terminale, neterminale, reguli de rescriere Simbol de inceput LHS RHS
Analza semantica Analiza pragmatica

6
Lexicon
Noun breeze | wumpus | ballVerb is | see | smell | hitAdjective right | left | smelly …Adverb here | there | ahead …Pronoun me | you | I | itRelPronoun that | whoName John | Mary Article the | a | an Preposition to | in | on Conjunction and | or | but

7
GramaticaGramatica
Neterminale – diferite categorii din propozitie– sentence S– noun phrase NP– verb phrase VP– prepositional phrase PP– relative clause RelClause

8
Exemplu
S NP VP | S Conjunction SNP Pronoun | Noun | Article Noun |
NP PP | NP RelClauseVP Verb | VP NP | VP Adjective |
VP PP | VP AdverbPP Preposition NPRelClause RelPronoun VP

9
Analiza sintacticaAnaliza sintactica
– top-down parsing– bottom-up parsing

10
Top-Down Parsing
"John hit the ball" 1. S 2. S NP, VP 3. S Noun, VP 4. S John, Verb, NP 5. S John, hit, NP 6. S John, hit, Article, Noun 7. S John, hit, the, Noun 8. S John, hit, the, ball

11
Bottom-Up Parsing
1. John, hit, the, ball 2. Noun, hit, the, ball 3. Noun, Verb, the, ball 4. Noun, Verb, Article, ball 5. Noun, Verb, Article, Noun 6. NP, Verb, Article, Noun 7. NP, Verb, NP 8. NP, VP 9. S

12
Definite Clause Grammar (DCG)Definite Clause Grammar (DCG)
Gramatici BNF - probleme Utilizare LP – clauze Horn definite Gramatici cu clauze definite (DCG) Fiecare regula din gramatica poate fi
vazuta ca o regula din DCG Fiecare categorie sintactica se
reprezinta printr-un predicat cu un argument sir

Definite Clause Grammar (DCG)Definite Clause Grammar (DCG)
NP(s) este adevarat daca s este NPS NP VP devineNP(s1) VP(s2) S(append(s1,s2))
Analiza (parsing) = inferenta logica Bottom-up parsing – foreward chaining Top-down parsing – backward chaining Aceeasi gramatica utilizata atat pentru
analiza cat si pentru generare

In BNF S NP VP
In LP / DGCNP(s1) VP(s2) S(append(s1, s2))
In BNF NP Pronoun | Noun
In LP / DGC
Pronoun(s) Noun(s) NP(s) BNFNoun ball | book
In LP / DGC (s = “ball” s = “book”) Noun(s)
Reguli de corespondenta

BNF, DCG, PrologBNF, DCG, PrologBNF FOPL/DCG PROLOG
S NP VP
NP Noun
Noun stenchNoun wumpus
VP VerbVerb smellsVerb kills
NP(s1) VP(s2) S(append(s1,s2))
Noun(s) NP(s)
(s = “stench” s = “wumpus”) Noun(s)
Verb(s) VP(s)(v = “smells” v = “kills”) Verb(v)
sentence([S1, S2]) :- np(S1), vp(S2).
np(S):- noun(S).
noun(stench).noun(wumpus).
vp(S):- verb(S).verb(smells).verb(kills).
?- sentence([wumpus, smells]).?-sentence([S1, S2]).

16
Imbogatire DCGImbogatire DCG
Imbogatesc neterminale cu argumente suplimentare
Rol argumente:– Ataseseaza semantica– Verifica corectitudinea gramaticala– Adauga expresii / functii care se
testeaza

Argument pt semanticaArgument pt semanticaBNF FOPL/DCG PROLOG
S(sem) NP(sem1) VP(sem2) {compose(sem1, sem2, sem)}
NP(s1, sem1) VP(s2, sem2) S(append(s1, s2)), compose(sem1, sem2, sem)
slide urmator
semantica compozitionala

The dog has legs. (caine parti picioare)The ball is yellow. (minge proprietate galbena)The ball is red. (mine proprietate rosie)The dog bites. (caine actiune musca)
sentence(S, Sem) :- np(S1, Sem1), vp(S2, Sem2), append(S1, S2, S),Sem = [Sem1 | Sem2].
np([S1, S2], Sem) :- article(S1), noun(S2, Sem).vp([S], Sem) :- verb(S, Sem1), Sem = [actiune, Sem1].vp([S1, S2], Sem) :- verb(S1,_), adjective(S2, Sem1), Sem = [proprietate, Sem1].vp([S1, S2], Sem) :- verb(S1,_), noun(S2, Sem1), Sem = [parti, Sem1].noun(dog,caine).noun(ball,minge).noun(legs,picioare).verb(bytes,musca).verb(is,este).verb(has,are).adjective(yellow,galbena).adjective(red,rosie).
?- sentence([the,ball,is,yellow],Sem).Sem = [minge, proprietate, galbena] Yes?- sentence([the,dog,bytes],Sem).Sem = [caine, actiune, musca] Yes?- sentence([is,dog,bytes],Sem).No?- sentence([the,dog,has,legs],Sem).Sem = [caine, parti, picioare] Yes

19
Verificare corectitudine gramaticalaVerificare corectitudine gramaticala
cazuri subcategorii verbe: complementul pe
care il poate accepta un verb acord subiect predicat etc.
Parametrizarea neterminalelor

CazuriNominativ (subjective) I take the bus Eu iau autobuzulYou take the bus Tu iei autobuzulHe takes the bus El ia autobuzul Acuzativ (objective)He gives me the book Imi da cartea
S NP(Nominativ) VPNP(case) Pronoun (case) | Noun | Article Noun
// IVP VP NP(Acuzativ) // believe himVP VP PP // turn to the rightVP VP AdjectiveVP VerbPP Preposition NP(Acuzativ)Pronoun(Nominativ) I | you | he | shePronoun(Acuzativ) me | you | him | her

sentence(S) :- np(S1,nominativ), vp(S2), append(S1, S2, S).
np([S], Case) :- pronoun(S, Case).np([S], _ ) :- noun(S).np([S1, S2], _ ) :- article(S1), noun(S2).
pronoun(i, nominativ).pronoun(you, _ ).pronoun(he, nominativ).pronoun(she, nominativ).pronoun(me, acuzativ).pronoun(him, acuzativ).pronoun(her, acuzativ).noun(ball).noun(stick).article(a).article(the).

22
Subcategorii verbeSubcategorii verbe Lista de subcategorii: ce complemente accepta verbul depinde de verb S NP(Nominativ) VP(subcat)
VP(subcat) VP(subcat) PP | VP(subcat) Adverb
I smell the wumpus now

VP(subcat) {subcat = np} VP(np) NP(Acuzativ)| {subcat = adj} VP(adj) Adjective| {subcat = pp} VP (pp) PP| Verb
smell [NP] smell a wumpus[Adjective] smell awfull[PP] smell like a wumpus
is [Adjective] is smelly[PP] is in box[NP] is a pit
give [NP, PP] give the gold in box to me[NP, NP] give me the gold
died [] died

S NP(Nominativ) VP(subcat)
NP(case) Pronoun (case) | Noun | Article Noun
Pronoun(Nominativ) I | you | he | shePronoun(Acuzativ) me | you | him | her
VP(subcat) {subcat = np} VP(np) NP(Acuzativ)| {subcat = adj} VP(adj) Adjective| {subcat = pp} VP (pp) PP| Verb| VP(subcat) PP| VP(subcat) Adverb
Cazuri si subcategoriiCazuri si subcategorii

VP(subcat) {subcat = np} VP(np) NP(Acuzativ)| {subcat = adj} VP(adj) Adjective| {subcat = pp} VP (pp) PP| Verb| VP(subcat) PP| VP(subcat) Adverb
sentence(S) :- np(S1,nominativ), vp(S2, Subcat),append(S1, S2, S).
VP(Subcat) VP(Subcat) … !!!
vp(S, Subcat) :- Subcat = np, vp1(S1, np),np(S2, acuzativ), append(S1, S2, S).
vp(S, Subcat) :- vp1(S1, Subcat), pp(S2), append(S1, S2, S). vp1([S],np):-verb(S).verb(give).verb(make).

26
Analiza pragmaticaAnaliza pragmatica Analiza semantica Eliminare ambiguitate Interpretare pragmatica
– Mod de utilizare si efect asupra receptorului;– Completeaza interpretarea semantica prin
considerarea informatiilor despre situatia curenta
Indexical – refera situatia curenta Anafora – refera obiecte deja mentionate

27
AmbiguitateAmbiguitate
Lexicala – acelasi cuvant diverse intelesuri
Sintactica – arbori diferiti de analiza Referentiala – referire la obiecte
anterioare Pragmatica – referire la loc, timp