260 likes | 278 Views
Inteligenta Artificiala. Universitatea Politehnica Bucuresti Anul universitar 2005-2006 Adina Magda Florea http://turing.cs.pub.ro/ia_06. Curs nr. 13. Prelucrarea limbajului natural. 2. Comunicare. Definite mesaj, limbaj, protocol Componentele comunicarii intentie generare sinteza
E N D
Inteligenta Artificiala Universitatea Politehnica BucurestiAnul universitar 2005-2006 Adina Magda Florea http://turing.cs.pub.ro/ia_06
Curs nr. 13 Prelucrarea limbajului natural 2
Comunicare • Definite • mesaj, limbaj, protocol • Componentele comunicarii • intentie • generare • sinteza • perceptie • analiza • desambiguare • incorporare
Acte de comunicare • Teoria actelor de comunicare • locutie • ilocutie • prelocutie • asertive • directive • comisive • permisive • prohibitive • declarative • expresive Tipuri de agenti care comunica
Definire limbaj • Lexicon • Analiza lexicala • Gramatici • Analiza (pars oratoris) • Terminale, neterminale, reguli de rescriere • simbol de inceput • LHS RHS • Analza semantica • Analiza pragmatica
LexiconNoun 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
Gramatica • Neterminale – diferite categorii din propozitie • sentence S • noun phrase NP • verb phrase VP • prepositional phrase PP • relative clause RelClause
ExempluS 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
Analiza sintactica • top-down parsing • bottom-up parsing • in adancime • pe nivel
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
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
Definite Clause Grammar (DCG) • Gramatici BNF - probleme • Utilizare LP • Gramatici cu clauze definite • DCG – gramatica; propozitie = clauza definita • neterminal = predicat de 1 argument
In BNF S NP VPIn LPNP(s1) VP(s2) S(Append(s1, s2))NFNoun ball | bookIn LP(s = “ball” s = “book”) Noun(s)
Imbogatire DCG • Imbogatesc neterminale cu argumente suplimentare • Verifica corectitudinea gramaticala • Ataseseaza semantica • Adauga expresii / functii care se testeaza
DCG FOPL 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 Argument pt semantica semantica compozitionala
The dog has legs. (dog parts legs) The ball is yellow. (ball property yellow) The ball is red. (ball property red) The dog bites. (dog action bytes) 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 = [action, Sem1]. vp([S1, S2], Sem) :- verb(S1,_), adjective(S2, Sem1), Sem = [property, Sem1]. vp([S1, S2], Sem) :- verb(S1,_), noun(S2, Sem1), Sem = [parts, Sem1]. noun(dog,dog). noun(ball,ball). verb(bytes,bytes). verb(is,is). verb(has,has). adjective(yellow,yellow). adjective(red,red).
Verificare corectitudine gramaticala • cazuri • subcategorii verbe: compleentul pe care il poate accepta un verb • acord subiect predicat • etc. • Parametrizarea neterminalelor
Cazuri Nominativ (subjective) I take the bus Eu iau autobuzul You take the bus Tu iei autobuzul He takes the bus El ia autobuzul Acuzativ (objective) He gives me the book Imi da cartea S NP(Subjective) VP NP(case) Pronoun (case) | Noun | Article Noun // I VP VP NP(Objective) // believe him VP VP PP // turn to the right VP VP Adjective VP Verb PP Preposition NP(Objective) Pronoun(Subjective) I | you | he | she Pronoun(Objective) me | you | him | her
sentence(S) :- np(S1,subjective), 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, subjective).pronoun(you, _ ).pronoun(he, subjective).pronoun(she, subjective).pronoun(me, objective).pronoun(him, objective).pronoun(her, objective).noun(ball).noun(stick).article(a).article(the).
Subcategorii verbe • Lista de subcategorii: ce complemente accepta verbul • depinde de verb • S NP(Subjective) VP(subcat) dar cazuri in care nu depinde • VP(subcat) VP(subcat) PP • | VP(subcat) Adverb I smell the wumpus now
VP(subcat) {subcat = np} VP(np) NP(Objective) | {subcat = adj} VP(adj) Adjective | {subcat = pp} VP (pp) PP | Verbsmell [NP] smell a wumpus [Adjective] smell awfull [PP] smell like a wumpusis [Adjective] is smelly [PP] is in box [NP] is a pitgive [NP, PP] give the gold in box to me [NP, NP] give me the golddied [] died
S NP(Subjective) VP(subcat)NP(case) Pronoun (case) | Noun | Article NounPronoun(Subjective) I | you | he | shePronoun(Objective) me | you | him | herVP(subcat) {subcat = np} VP(np) NP(Objective) | {subcat = adj} VP(adj) Adjective | {subcat = pp} VP (pp) PP | Verb | VP(subcat) PP | VP(subcat) Adverb
sentence(S) :- np(S1,subjective), vp(S2), append(S1, S2, S).np([S], Case) :- pronoun(S, Case).np([S], _ ) :- noun(S).np([S1, S2], _ ) :- article(S1), noun(S2).VP(subcat) VP(subcat) … !!!vp(S, Subcat) :- Subcat=np, vp1(S1, np),np(S2, objective), append(S1, S2, S).vp1([S],np):-verb(S).verb(give).verb(make).vp(S,Subcat) :- vp1(S1, Subcat), pp(S2), append(S1, S2, S).
Analiza pragmatica • Analiza semantica • Desambiguare • Interpretare pragmatica – utilizare si efect asupra ascultatorului • Indexical - situatia curenta • Anafora – deja mentionate
Ambiguitate • Lexicala • Sintactica • Referentiala • Pragmatica