Dezvoltarea unui parser de roluri semantice pentru limba ... - ConsILR

Dezvoltarea unui parser de roluri semantice pentru limba ... - ConsILR Dezvoltarea unui parser de roluri semantice pentru limba ... - ConsILR

consilr.info.uaic.ro
from consilr.info.uaic.ro More from this publisher
13.07.2013 Views

Dezvoltarea unui parser de roluri semantice pentru limba română Diana Trandabăț și Dan Cristea Facultatea de Informatică, Universitatea Al. I. Cuza Iași Institutul de Informatică Teoretică, Academia Română, Iași ConsILR 2010

<strong>Dezvoltarea</strong> <strong>unui</strong> <strong>parser</strong> <strong>de</strong><br />

<strong>roluri</strong> <strong>semantice</strong><br />

<strong>pentru</strong> <strong>limba</strong> română<br />

Diana Trandabăț și Dan Cristea<br />

Facultatea <strong>de</strong> Informatică, Universitatea Al. I. Cuza Iași<br />

Institutul <strong>de</strong> Informatică Teoretică, Aca<strong>de</strong>mia Română, Iași<br />

<strong>ConsILR</strong> 2010


Structura lucrării<br />

Descrierea <strong>roluri</strong>lor <strong>semantice</strong><br />

Corpus <strong>de</strong> <strong>roluri</strong> <strong>semantice</strong> <strong>pentru</strong> <strong>limba</strong><br />

română<br />

<strong>Dezvoltarea</strong> <strong>unui</strong> <strong>parser</strong> <strong>de</strong> <strong>roluri</strong><br />

<strong>semantice</strong><br />

Rezultate<br />

Discuții


Roluri <strong>semantice</strong><br />

Cine, ce, un<strong>de</strong>, când, <strong>de</strong> ce face?<br />

Predicate<br />

Verbe: a vin<strong>de</strong>, a cumpăra,<br />

a costa etc.<br />

Substantive: cumpărare


Roluri <strong>semantice</strong><br />

Cine, ce, un<strong>de</strong>, când, <strong>de</strong> ce face?<br />

Predicate<br />

Verbe: a vin<strong>de</strong>, a cumpăra,<br />

a costa etc.<br />

Substantive: cumpărare<br />

Roluri <strong>semantice</strong><br />

Cumpărător<br />

Vânzător<br />

Bani<br />

Bunuri<br />

Timp<br />

etc.


Roluri <strong>semantice</strong><br />

Cine, ce, un<strong>de</strong>, când, <strong>de</strong> ce face?<br />

Predicate<br />

Verbe: a vin<strong>de</strong>, a cumpăra,<br />

a costa etc.<br />

Substantive: cumpărare<br />

Roluri <strong>semantice</strong><br />

Cumpărător<br />

Vânzător<br />

Bani<br />

Bunuri<br />

Timp<br />

etc.<br />

Cadru<br />

semantic


Roluri <strong>semantice</strong><br />

Cine, ce, un<strong>de</strong>, când, <strong>de</strong> ce face?<br />

Predicate<br />

Verbe: a vin<strong>de</strong>, a cumpăra,<br />

a costa etc.<br />

Substantive: cumpărare<br />

Roluri <strong>semantice</strong><br />

Cumpărător<br />

Vânzător<br />

Bani<br />

Bunuri<br />

Timp<br />

etc.<br />

Cadru<br />

semantic<br />

Argumente<br />

Adjuncți


Resursa <strong>de</strong> <strong>roluri</strong> <strong>semantice</strong> <strong>pentru</strong><br />

<strong>limba</strong> română<br />

Pentru <strong>limba</strong> engleză: FrameNet, PropBank,<br />

VerbNet.<br />

Pentru limbile germană, japoneză, spaniolă:<br />

plecând <strong>de</strong> la metodologia FrameNet, au fost<br />

create noi resurse în cadrul unor ample<br />

proiecte <strong>de</strong> cercetare.<br />

Pentru <strong>limba</strong> română: ?


Resursa <strong>de</strong> <strong>roluri</strong> <strong>semantice</strong> <strong>pentru</strong><br />

<strong>limba</strong> română<br />

Intuiţia: majoritatea cadrelor <strong>de</strong>finite <strong>pentru</strong> o<br />

<strong>limba</strong> ar trebui să fie vali<strong>de</strong> <strong>pentru</strong> alte limbi<br />

Cadrele <strong>semantice</strong> exprimă structuri<br />

conceptuale, in<strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> limbă, la nivelul<br />

structurii <strong>de</strong> adâncime.<br />

Metoda: Corelând <strong>roluri</strong>le <strong>semantice</strong> <strong>pentru</strong><br />

propoziţiile engleze cu varianta corespunzătoare<br />

în <strong>limba</strong> română (traducerea lor).


Resursa <strong>de</strong> <strong>roluri</strong> <strong>semantice</strong> <strong>pentru</strong><br />

<strong>limba</strong> română<br />

Traducere: 1500 propoziţii din FrameNet-ul<br />

englezesc.<br />

Aliniere la nivel <strong>de</strong> cuvânt a propoziţiilor din<br />

<strong>limba</strong> engleză cu cele din <strong>limba</strong> română folosind<br />

aliniatorul <strong>de</strong>zvoltat <strong>de</strong> ICIA (COWAL).<br />

Import automat al adnotării la <strong>roluri</strong> <strong>semantice</strong><br />

prin transferarea <strong>roluri</strong>lor <strong>de</strong> corespunzătoare<br />

<strong>unui</strong> cuvânt englez către echivalentului său<br />

românesc.<br />

Validarea importului.


Resursa <strong>de</strong> <strong>roluri</strong> <strong>semantice</strong> <strong>pentru</strong><br />

<strong>limba</strong> română


Resursa <strong>de</strong> <strong>roluri</strong> <strong>semantice</strong> <strong>pentru</strong><br />

<strong>limba</strong> română<br />

Transferarea adnotării din <strong>limba</strong> engleză spre<br />

<strong>limba</strong> română s-a făcut consi<strong>de</strong>rând importul<br />

o problemă <strong>de</strong> etichetare secvențială, folosind<br />

codificare B-I-O.<br />

Au fost i<strong>de</strong>ntificate 9 cazuri <strong>de</strong> import, dintre<br />

care cele mai frecvente sunt: 1:1, 1:0, 1:n,<br />

n:1.<br />

Acuratețe: 83%


Probleme <strong>de</strong> import<br />

Cazuri în care există mai multe adnotări posibile în<br />

engleză. Programul le importă pe ambele.<br />

Cazuri în care <strong>limba</strong> română are <strong>roluri</strong> <strong>semantice</strong> ce<br />

nu apar în <strong>limba</strong> engleză.<br />

Cazuri în care un rol din <strong>limba</strong> engleză nu este<br />

exprimat în <strong>limba</strong> română:<br />

The hope is that [they] Protagonist occur infrequently.<br />

Speranța e că apar rareori.<br />

the [seven-day] Time [cessation] TARGET [of hostilities] Process<br />

[armistițiul] Target [<strong>de</strong> 7 zile] Time


<strong>Dezvoltarea</strong> <strong>unui</strong> <strong>parser</strong> <strong>de</strong> <strong>roluri</strong><br />

<strong>semantice</strong> <strong>pentru</strong> <strong>limba</strong> română<br />

Pentru etichetarea automată a <strong>roluri</strong>lor <strong>pentru</strong><br />

<strong>limba</strong> engleză: estimarea probabilităților<br />

(Gil<strong>de</strong>a and Jurafsky, 2002), arbori <strong>de</strong> <strong>de</strong>cizie<br />

(Sur<strong>de</strong>anu et al., 2003), mașini cu suport<br />

vectorial (Pradhan et al., 2005) și învățarea<br />

bazată pe memorie (Morante et al., 2008).<br />

Pentru <strong>limba</strong> română: PASRL (arbori <strong>de</strong><br />

<strong>de</strong>cizie).


<strong>Dezvoltarea</strong> <strong>unui</strong> <strong>parser</strong> <strong>de</strong> <strong>roluri</strong><br />

<strong>semantice</strong> <strong>pentru</strong> <strong>limba</strong> română<br />

I<strong>de</strong>ntificarea predicatelor: <strong>de</strong>ci<strong>de</strong> care dintre<br />

verbele și substantivele din propoziție sunt<br />

predicaționale, și <strong>de</strong>ci <strong>pentru</strong> care trebuie<br />

căutate <strong>roluri</strong> <strong>semantice</strong>;<br />

I<strong>de</strong>ntificarea <strong>roluri</strong>lor <strong>semantice</strong>: i<strong>de</strong>ntifică,<br />

<strong>pentru</strong> fiecare predicat, ce rol are fiecare<br />

<strong>de</strong>pen<strong>de</strong>nt al predicatului.


Trăsături <strong>pentru</strong> i<strong>de</strong>ntificarea<br />

predicatelor<br />

cuvântul predicațional se află sau nu în lista <strong>de</strong><br />

predicate adnotate în resursa <strong>pentru</strong> <strong>limba</strong><br />

română;<br />

<strong>de</strong>pen<strong>de</strong>nți sintactici (număr, poziție);<br />

relații <strong>de</strong> <strong>de</strong>pen<strong>de</strong>nță, părțile <strong>de</strong> vorbire și<br />

grupurile <strong>pentru</strong> n-grame.


Trăsături <strong>pentru</strong> i<strong>de</strong>ntificarea<br />

<strong>roluri</strong>lor <strong>semantice</strong><br />

partea <strong>de</strong> vorbire a cuvântului, relația <strong>de</strong><br />

<strong>de</strong>pen<strong>de</strong>nța sintactică față <strong>de</strong> predicat, grupul<br />

sintactic din care face parte;<br />

partea <strong>de</strong> vorbire a regentului cuvântului, verb<br />

copulativ sau modal;<br />

distanța <strong>de</strong> la cuvânt până la predicat (în număr<br />

<strong>de</strong> cuvinte);<br />

hipernimul din WordNet-ul românesc, <strong>pentru</strong><br />

substantive.


Rezultate<br />

Evaluarea performanțelor folosind 10-fold crossvalidation<br />

pe corpusul <strong>de</strong> antrenament indică o<br />

precizie <strong>de</strong> 74% și un recall <strong>de</strong> 64%.<br />

Text neadnotat<br />

Pre-procesare: analiza morfo-lexicală (serviciu<br />

web ICIA) și <strong>de</strong>pen<strong>de</strong>nțele sintactice (<strong>parser</strong><br />

FDG).<br />

F-measure <strong>de</strong> 58%, ceea ce indică un început<br />

promițător, având în ve<strong>de</strong>re dimensiunea redusă<br />

a corpusului pe care s-a efectuat învățarea<br />

(1500 <strong>de</strong> propoziții).


Concluzii și direcții viitoare<br />

Am prezentata un corpus <strong>de</strong> <strong>roluri</strong> <strong>semantice</strong><br />

<strong>pentru</strong> <strong>limba</strong> română;<br />

<strong>Dezvoltarea</strong> <strong>unui</strong> sistem <strong>de</strong> etichetare automată<br />

a <strong>roluri</strong>lor <strong>semantice</strong> <strong>pentru</strong> <strong>limba</strong> română.<br />

Crearea <strong>unui</strong> serviciu web.<br />

Utilizarea importului bazat pe arbori sintactici, și<br />

nu (doar) pe aliniere.<br />

Aplicarea sistemului <strong>de</strong> etichetare la aplicații<br />

NLP oentru <strong>limba</strong> română.


Vă mulțumim <strong>pentru</strong> atenție!


Semantic Role Import<br />

One-to-zero import: the English word has no<br />

Romanian correspon<strong>de</strong>nt -> no action is nee<strong>de</strong>d.<br />

One-to-one import: the English word has only one<br />

Romanian word as translation -> transfer:<br />

One-to-many import: one English word being<br />

translated with two or more Romanian words.<br />

Based on empiric observations and the semantic<br />

roles nature, we <strong>de</strong>ci<strong>de</strong>d to apply the following rule:


Semantic Role Import<br />

Many-to-one import: two or more English words<br />

align with the same Romanian word (e.g. the <strong>de</strong>finite<br />

article).<br />

Zero-to-one import: This case requires introducing<br />

a frame annotation to the Romanian word, without<br />

having a frame annotation in English. A Romanian has<br />

an I_Fi annotation when the word interrupts a frame<br />

(it breaks a consecutive sequence of B_Fi and I_Fi).<br />

Otherwise, the Romanian word will have the frame O<br />

NO-Frame.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!