Sunteți pe pagina 1din 9

Identificarea actelor de vorbire

n dialogurile purtate pe chat


*

tefan Truan-Matu
1,2
, Costin Chiru
1
, Radu Bogdan
1

1
Universitatea Politehnica Bucureti
2
Institutul de Cercetri n Inteligena Artificial al Academiei Romne
E-mail: trausan@cs.pub.ro
Rezumat. Lucrarea prezint dou abordri de analiz a dialogurilor purtate n cadrul unui
chat, n vederea identificrii actelor de vorbire. Amndou adnoteaz semiautomat un
corpus de dialog, dup care, n cea de-a doua se folosete un model Marlov ascuns pentru a
nva probabilitti de succesiune a actelor de vorbire. Acest model este apoi folosit pentru
identificarea actelor de vorbire n noi dialoguri.
Cuvinte cheie: acte de vorbire, DAMSL, modele Markov ascunse.
1. INTRODUCERE
nelegerea limbajului natural din transcrierea dialogurilor ridic probleme
specifice fa de textele obinuite. Dialogurile au o structur asemntoare unui joc,
cu mutri sau replici, (n englez,utterance), fiecrui participant venindu-i rndul
s spun ceva, s joace (n englez, turn taking). Mutrile pot fi clasificate n
anumite categorii, denumite acte de vorbire (n englez, speech acts) a cror
succesiune nu este ntmpltoare [2,3,4].
Lucrarea de fa prezint dou abordri, una care folosete euristici de adnotare
a actelor de vorbire i o a doua care nva succesiuni posibile de acte de vorbire
din sesiuni de chat adnotate semiautomat n limbajul DAMSL (Dialog Act Markup
in Several Layers [1,4]). n cea de-a doua abordare se folosesc pentru nvare i
apoi recunoatere modele Markov ascunse [4,5]. Adnotarea semiautomat iniial
folosete euristici de adnotare care consider anumite secvene de cuvinte (n
englez, cue phrases [4]), la care au fost adugate i adnotri manuale. Modelul
Markov nvat este apoi folosit pentru adnotarea de dialoguri neadnotate [4].
Corpusul de dialog este constituit din mai multe sesiuni de chat n care se
discuta rezolvarea unor probleme de matematic. Aceste sesiuni au fost realizate n

*
A aprut ntr-o versiune puin modificat n tefan Truan-Matu, Costin Pribeanu (Eds.), Interaciune Om-
Calculator 2004, ISBN 973-718-053-4, Editura Printech, Bucureti, 2004, pp. 206-214.
cadrul proiectului Virtual Math Teams (vezi, http://mathforum.org/wiki/VMT/),
condus de prof. Gerry Stahl de la Universitatea Drexel din Philadelphia, SUA.
Acest proiect i propune s dezvolte instrumente informatice pentru asistarea
rezolvrii distribuite de probleme.
Lucrarea conine n continuare o prezentare a problematicii actelor de vorbire i
a limbajului de adnotare DAMSL. Seciunile 3 i 4 prezint cele dou abordri.
Lucrarea este ncheiat de concluzii i direcii de continuare.
2. ADNOTAREA ACTELOR DE VORBIRE
Teoria actelor de vorbire a fost introdus de Austin i dezvoltat de Searle [2,3].
Actele de vorbire au fost clasificate n diferite feluri. De exemplu, J. Austin face o
distincie ntre actele constatative, care descriu, relateaz, consemneaz o stare de
fapt i performative, care presupun efectuarea unei aciuni sau a unei schimbri a
strii de fapt. Cele din urm folosesc verbe de genul a ordona, a promite, a
jura etc., i li se poate evalua rezultatul prin reuit sau eec. Plecnd de la verbele
performative (din limba englez), Austin distinge cinci clase de acte ilocuionare
[2]:
verdictive, care dau un verdict, folosesc a considera, a estima;
exercitive, decizionale, folosesc a ordona, a cere;
comisive (promisive), care exprim o angajare (a garanta, a plnui);
comportamentative, exprim o atitudine, un comportament (a critica,
a mulumi);
expozitive, (a obiecta, a rspunde).

John R. Searle identific mai multe tipuri de acte de vorbire:

ilustrative (representatives), care reprezint o stare de fapt: aseriuni,
descrieri;
comisive (commisssives), care implica vorbitorul ntr-un curs viitor
de aciuni: promisiuni, amenintari;
directive ce atrag atenia asupra efecturii unei aciuni: comenzi, cereri;
declaraii, care aduc o anumita stare de lucruri: denumire, arestare,
casatorie, binecuvntare;
expresive, care indica starea psihologica sau atitudinea mental a
vorbitorului: felicitri, mulumiri, scuze;
verdicative, care dau o apreciere: judecat, iertare.

O ncercare recenta de a dezvolta schemele de adnotarea actelor de vorbire este
arhitectura DAMSL care codific pe diferite nivele informaiile referitoare la
replicile unui dialog. Dou dintre aceste nivele, funcia de anticipare (FLF, n
englez, forward looking function) i funcia de adaptare regresiv (BLF n
englez, backward looking function) sunt extensii ale actelor de vorbire ce extrag
notiuni legate de structura dialogului cum ar fi perechile de adiacenta sau notiunile
de grupare.
Funcia de anticipare a unei notiuni corespunznd unor acte de vorbire de genul
Searle/Austin e bazat pe tipul actelor ce pot aprea ntr-un dialog [1,4]:

Afirmaii o afirmaie fcut de cel ce vorbete

Cerere de informaie ntrebare pus de cel ce vorbete
Confirmare ntrebare pentru confirmarea unor informaii

Influena asupra asculttorului = directivele lui Searl
Opiune o sugestie slab sau o list de opiuni
Ordin este de fapt o comand

Influena asupra vorbitorului = directivele lui Austin
Ofert vorbitorul se ofer s fac ceva i ateapt
confirmarea
Execuie vorbitorul face ceva

Acte Convenionale
Deschidere mesaje de ntmpinare
Incheiere mesaje de nchidere
Mulumire multumiri i rspunsuri la mulumiri

Funcia de adaptare regresiv se bazeaza pe relatia dintre notiunea curenta si alte
notiuni care au fost enuntate inainte de catre alte personae. Aceasta include
acceptarea/refuzarea propunerilor precum si notiuni de grupare [1,4]:

Acord rspunsul vorbitorului la o propunere anterioar
Accept acceptarea propunerii
Accept Parial accept o parte a propunerii
Poate nici nu accept, dar nici nu refuz
Refuz refuzarea propunerii
Refuz Parial refuzarea parial a propunerii
Abinere aman/evit rspunsul

Rspuns rspunsul la o ntrebare






nelegere dac vorbitorul nelege noiunea anterioar
Semnal de nenelegere vorbitorul nu a neles
Semnal de nelegere vorbitorul a neles
Aprobare demonstrare prin continuare
Repetare/Reformulare demonstrare prin repetiie/reformulare
Completare demonstrare prin completare prin
colaborare
3. EURISTICI DE ADNOTARE SEMIAUTOMAT
Algoritmul folosit realizeaz recunoaterea actelor de vorbire dintr-o discuie de tip
chat. S-au grupat actele de vorbire n categoriile FLF i BLF (conform modelului
DAMSL). Recunoaterea actelor de vorbire se bazeaz pe recunoaterea verbelor
din propoziie (folosind WordNet [6]), precum i a unor expresii standard (cue
phrases) pentru anumite acte de vorbire.
Deoarece programul de recunoatere este conceput pentru o discuie de tip chat
(cu replici scurte), s-a tratat fiecare replic n funcie de primul verb gsit n
propoziie. Verbele sunt grupate de asemenea n dou categorii: auxiliare (be,
have, do) i neauxiliare (orice alt verb).
Tipurile de acte de vorbire recunoscute de algoritm i condiiile care trebuie
ndeplinite pentru fiecare tip sunt:
Funcia de anticipare
a) Statement (afirmaie) trebuie s ndeplineasc una din urmatoarele condiii:
- primul verb din propoziie (auxiliar sau nu) s fie precedat de un pronume,
substantiv sau adverb.
Ex: I hope we can solve this.
This problem is difficult.
I already done that.
- propoziia s conin o form prescurtat, de gen pronume + verb auxiliar
(pentru aceste prescurtri s-a creat o baz de date local, deoarece nu sunt
recunoscute de WordNet).
Ex: Im new at that.
Theres one variable.
Thats why we are doing this.
- orice alt propoziie care conine un verb i nu a putut fi incadrat n nici o
categorie de acte de vorbire.
Ex: Tried that.
Checking
b) Info_request (ntrebare) trebuie s ndeplineasc una din urmatoarele
condiii:
- propoziia s se termine cu semn de ntrebare.
Ex: Any other replies?
- propoziia s nceap cu un verb auxiliar urmat de un pronume sau substantiv.
Ex: Did you send the picture
Can somebody help me
- propoziia s nceap cu un adverb specific (where, when etc.) sau cu o
prescurtare de gen adverb + verb auxiliar.
Ex: How long is the segment
Wheres the picture
c) Action_directive (comand/rugaminte) trebuie s ndeplineasc una din
urmatoarele condiii:
- propoziia s conin o expresie specific (lets, please etc).
Ex: Lets try to solve the problem.
Please make sure everyone understands the answer.
- propoziia s nceap cu un verb (auxiliar sau nu) aflat n forma de baza (la
infinitiv).
Ex: Feel free to ask about anything that seems unclear.
Check this out. - Action_directive
Checking - Statement
- propoziia s nceap cu dont urmat de un verb.
Ex: Dont try to calculate.
Dont be sad.
d) Conventional (formule de salut, mulumiri, scuze etc.)
- propoziia s conin o expresie specific (hi, hello, bye, thanks, sorry etc.)
e) Other_forward_function orice propoziie care nu a putut fi ncadrat n nici
o alt categorie de acte de vorbire.
Funcia de adaptare regresiv
a) Agreement (Accept, Maybe, Reject)
- propoziia s conin o expresie specific pentru fiecare tip de acord
(agreement) i s nu existe nici un verb n propoziie, nainte de expresia
respectiv.
Ex: Yes, there is. - Accept, Statement
He said yes. - Statement
b) Understanding (Acknowledge)
- propoziia s conina o expresie specific (ok, okay, alright etc.) i s nu existe
nici un verb in propoziie, nainte de expresia respectiv.
Ex: OK guys, I have to go. - Acknowledge, Statement
I feel alright. - Statement
c) Answer (rspuns)
- replica s fie de tip agreement i s fie precedat de o replica tip info_request a
altui user (caut un info_request in ultimile 10 replici).
Ex1: Are you all there? - Info_request
Yes - Answer
Ex2: That means two equations. - Statement
Yes - Accept
- replica s fie de tip statement, action_directive sau other_forward_function i
s fie precedat direct de un info_request al altui utilizator (verific doar ultima
replic).
Ex: Wheres the picture - Info_request
I cant get it - Statement, Answer
4. IDENTIFICAREA ACTELOR DE VORBIRE PE BAZA UNUI
MODEL MARKOV ASCUNS
A doua abordare folosete pentru recunoaterea actelor de vorbire modelul
canalului comunicaional cu perturbaii introdus de teoria informaiei a lui Shannon
[4,5]. Se consider c avem un mesaj iniial, format din acte de vorbire, ce intr n
canal i textul dialogului care este ieirea din acesta. n aceste condiii, pentru a
determina efectul perturbaiilor din canal, se vor calcula (pentru fiecare semnal in
parte) probabilitile de a fi un anumit semnal, iar dupa accea se va lua n
considerare semnalul a crei probabilitate este maxim.
n cazul identificrii actelor de vorbire avem mai multe semnale care pornesc de
la surs i mai multe semnale care ajung la destinaie, iar n acest caz se pune
ntrebarea: Care este cea mai probabil secven ce a pornit de la surs i care a
ajuns la destinaie n forma dat?
Fie D=d
1
d
2
d
3
..d
n
secventa de semnale care porneste de la sursa si E=e
1
e
2
e
3
..e
n

secventa de semnale care ajunge la destinatie. Se pune problema calcularii unei
secvene D*, care maximizeaza probabilitatea ca la iesire sa se obtina secventa E
condiionta de intrri:

D*=argmaxP(D|E)=argmax ((P(E|D)*P(D)) / P(E))

Cum ieirea este ntotdeauna aceeai, nseamna c P(E) este constant i cum pe
noi ne intereseaz de fapt secven maxim i nu valoarea maxim, nu vom mai tine
cont de P(E). Ne intereseaza, prin urmare, maximul produsului dintre probabilitatea
P(E|D)*P(D), adica:

D*=argmax(P(E|D)*P(D))

Dac expandm P(D) obinem:

P(D)=P(d
1
)*P(d
2
|d
1
)*.P(d
n
|d
1
,d
2
)

Aceasta probabilitate este greu de calculat i atunci ea se aproximeaza
considerand ipoteza unui lan (model) Markov de ordin k, adic faptul ca fiecare
semnal in parte depinde doar de k semnale anteriore, cu valori tipice k=1 (cnd
avem practic un automat finit cu tranziii probabiliste, caz de multe ori denumit
model Markov fr a mai preciza un ordin) sau k=2. Pentru k=1 se va calcula P(D)
c:

P(D)=P(d
1
)*P(d
2
|d
1
)*P(d
3
|d
2
)*P(d
n
|d
n-1
)

unde P(d
i
) este probabilitatea de aparitie a fiecarui tip de semnal in parte i P(d
i
|d
i-1
)
este probabilitatea condiionat s avem di dac am avut nainte d
i-1
, altfel spus, s
avem bigrame. n concluzie trebuie s calculm probabilitatile bigramelor. Dac se
consider k=2, avem o formul similar n care intervine P(d
i
|d
i-1
,d
i-2
), adic avem
nevoie de probabilitile trigramelor.

Pentru P(E|D) se face o simplificare similar:

P(E|D)= P(e
1
|d
1
)*P(e
2
|d
2
)*P(e
n
|d
n
)

Pentru calculul bigramelor s-a procedat n urmtorul mod:
Iniial s-au numrat toate tagurile din text: nr_total. Dupa aceea, s-au numrat
tagurile din fiecare tip (nr_act_vorbire ) n parte: nr_accept, nr_reject, nr_maybe,
nr_accept_part, nr_reject_part, nr_none. In continuare s-au calculat probabilitile
de apariie ale fiecarui tip ca fiind:

prob_act_vorbire=nr_act_vorbire/nr_total

Valorile obinute pentru un corpus de chat i un subset de acte de vorbire au
fost:

Act de
vorbire
secvene tipice de cuvinte Numr
apariii
Probabilitate
ACCEPT
PARIAL
ok, but; k, but;
yeap, but; yes, but
8 0.003579
REFUZ
PARIAL
not really

1 4.47427E-4
ACCEPT

k, ok, yeap, yes, yup, right, yeah, ya,
okay, true, exactly, alright, probably
391 0.174944
REFUZ nope, no, nop, don't want, disagree,
don't think, nah
71 0.031767
POATE maybe, don't know, guess, whatever 27 0.012081
Neadnotat 1737 0.777181

Tabelul de mai sus este folosit i pentru calculul probabilitilor P(e
i
|d
i
), unde ei
sunt secvene tipice de cuvinte.
Pasul urmator a fost numrarea succesiunilor nr_Act1_Act2, adic nr_AP_AP;
nr_AP_RP; nr_AP_A; nr_AP_R; .a.m.d. Ultimul pas a fost calculul
probabilitilor :

prob_Act1_Act2=nr_Act1_Act2/nr_Act1

Valorile obinute au fost:

probabilitate AP RP A R P N
AP 0 0 0.25 0 0 0.75
RP 0 0 0 0 0 1
A 0.00767 0 0.25575 0.01279 0.01279 0.711
R 0 0 0.21127 0.15493 0 0.6338
P 0 0 0.22222 0.03704 0.03704 0.7037
N 0.00288 0.00058 0.15429 0.03109 0.01209 0.7985

Similar s-a procedat pentru calculul trigramelor. Deoarece multe valori sunt 0, a
fost fcut o netezire folosind metoda lui Katz [4].
Tabelele cu probabiliti ale actelor de vorbire, a bigramelor i trigramelor pot fi
folosite ca model pentru adnotarea unui dialog nou, pe baza alegerii argumentului
care maximizeaz formula anterioar D*=argmax(P(E|D)*P(D)), pentru un caz
particular dat. n acest scop a fost folosit algoritmul Viterbi, bazat pe o schem de
programare dinamic [4,5].
Mai jos este artat un fragment din dialogul adnotat n DAMSL, n care
atributul agreement a fost pus automat de sistem:

<Turn Id="T272" Speaker="AvrilLR" time="8:52:46 PM">
<Utt Id="Utt272" Info-level="" Conventional="" Time="8:52:46 PM"
Influence-on-listener="" Influence-on-speaker="" Agreement="None"
Answer="">I just ignored the other number</Utt>
</Turn>
<Turn Id="T273" Speaker="SuperEvo88" time="8:52:56 PM">
<Utt Id="Utt273" Info-level="" Conventional="" Time="8:52:56 PM"
Influence-on-listener="" Influence-on-speaker="" Agreement="Accept"
Answer="">my iq right now is like in the negatives</Utt>
</Turn>
<Turn Id="T274" Speaker="AvrilLR" time="8:53:01 PM">
<Utt Id="Utt274" Info-level="" Conventional="" Time="8:53:01 PM"
Influence-on-listener="" Influence-on-speaker="" Agreement="None"
Answer="">I had 10.39 instead of 10.392</Utt>
</Turn>
<Turn Id="T275" Speaker="AvrilLR" time="8:53:11 PM">
<Utt Id="Utt275" Info-level="" Conventional="" Time="8:53:11 PM"
Influence-on-listener="" Influence-on-speaker="" Agreement="Reject
Part" Answer="">My IQ is 206...not joking...but that's off
topic</Utt>
</Turn>
<Turn Id="T276" Speaker="AvrilLR" time="8:53:17 PM">
<Utt Id="Utt276" Info-level="" Conventional="" Time="8:53:17 PM"
Influence-on-listener="" Influence-on-speaker="" Agreement="None"
Answer="">so now we add the two areas</Utt>


5. EVALURI I CONCLUZII
In urma testelor efectuate pe 3 fisiere exemplu (aproximativ 1200 replici), pentru
prima abordare, bazat pe euristici, s-au obtinut urmatoarele rezultate:
Statement
- precizie 92%
- acoperire 79%
Info_request
- precizie 92%
- acoperire 92%
Action_directive
- precizie 67%
- acoperire 69%

Cea de-a doua abordare, bazat pe modele Markov, a recunoscut 80 % din
actele de vorbire pe unul din fisierele cu dialoguri chat.
O prim mbuntire care poate fi adus algoritmului euristic este
recunoaterea prii de vorbire folosind unul din adnotatoarele existente gratuit pe
web. Recunoaterea numelor utilizatorilor care apar n interiorul replicilor este o a
doua problem care va fi abordat n viitorul imediat, mai ales c majoritatea
adresrilor pe un chat se fac cu prescurtri sau pri din numele vorbitorilor (nu cu
numele complet).
Abordarea a doua este n curs de finalizare, n viitor extinzndu-se numrul de
acte de vorbire considerate.

REFERINE
1. Allen, J., Core, M., Draft of DAMSL: Dialog Act Markup in Several Layers,
ftp://ftp.cs.rochester.edu/pub/packages/dialog-annotation/manual.ps.gz
2. Austin, J.L., Cum s faci lucruri cu vorbe, Editura Paralela 45, 2003.
3. Boboc, Al., Limbaj i ontologie, Ed. Didactic i Pedagogic, 1997
4. Juravsky, D., Martin, J., Speech and Language Processing: An Introduction to Natural Language Processing,
Computational Linguistics and Speech Recognition, Prentice Hall: San Francisco 2000
5. Manning, C., Schutze, H., Foundations of Statistical Natural Language Processing, MIT Press: Cambridge
(Mass.) 1999
6. WordNet, http//www.cogsci.princeton.edu/~wn

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