|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tractament d’entitats
Comunicació
presentada a la I Jornada sobre Comunicació
Mediatitzada per Ordinador en Català (CMO-Cat)
Universitat de Barcelona
1 de desembre del 2000
©
Maria José Simón Aragón, Montserrat Arévalo Rodríguez
mjose@clic.fil.ub.es, montse@clic.fil.ub.es
Centre de Llenguatge i Computació (CLiC), Universitat de Barcelona
1. Introducció
El tractament de les entitats és fonamental per aplicacions com els cercadors d’internet, la gestió del coneixement, els sistemes d’informació interactius tipus pregunta-resposta o la traducció automàtica. La major part de la informació que tractem a través de tots aquests sistemes són noms de persones, organitzacions, països, etc. Es tracta d’un domini de lèxic obert i difícilment acotable en quant a l’extensió, però amb unes característiques formals que permeten el seu tractament sistemàtic.
Les tècniques de Processament del Llenguatge Natural (PLN) en què es centraria el tractament de les entitats són: a) l’Extracció d’Informació (l’obtenció d’informació selectiva d’un text omplint templetes), en la qual l'entitat forma part de la informació que es vol extreure; b) la Recuperació d’Informació (la selecció de documents que responen a una pregunta d’un usuari), on preguntar per entitats és la consulta més habitual, per exemple, a Internet; c) la Traducció Automàtica, on les entitats serveixen d’ancoratge per la paral·lelització de corpus (figura 1); d) el Redireccionament de documents (routing) i la Classificació de documents (l’assignació d’una categoria temàtica a un text), en els quals les dades associades a les entitats aporten informació sobre el tema del text; e) la Confecció de resums automàtics, on les entitats formen part habitualment de la informació que cal incloure; i, finalment, f) la Interpretació del discurs, on detectar les entitats i les seves variants pot ajudar en la resolució d’anàfores.
Per tant, un sistema que vulgui donar resposta a aquestes necessitats hauria de resoldre determinades qüestions com l’identificació d’entitats, el reconeixement de les variants d’una mateixa entitat, la resolució de l’anàfora, la classificació semàntica de les entitats, etc..

Figura 1: Exemple de paral·lelització de corpus per a la Traducció Automàtica
L’article està centrat en la presentació del sistema de tractament d’entitats que estem desenvolupant al Centre de Llenguatge i Computació (CLiC) on treballem conjuntament amb el grup de Llenguatges i Sistemes de la Universitat Politècnica de Catalunya, amb els quals col·laborem en el projecte europeu anomenat NAMIC, que es centra en el tractament d’un corpus de tipus periodístic.
En primer lloc, inclourem un apartat sobre la delimitació de les entitats. Seguidament, presentarem el nostre sistema i els seus components: una estructura temàtica, una base de dades d’entitats i una gramàtica de detecció d'entitats. Finalment, presentem les línies de treball futur.
2. Delimitació de les entitats
En aquesta secció intentarem definir que és una entitat. Aquesta resposta depèn molt de si el sistema està orientat a una aplicació concreta, com l’Aventinus (projecte de tractament d’informes policials sobre tràfic de drogues) o el TAUM-METEO (tractament d’informació metereològica) o si és indepenent de l’aplicació que es vol desenvolupar.
Si el sistema està orientat al domini, les entitats que es detectarien estarien molt restringides al seu àmbit. Per exemple, en el sistema desenvolupat per l’Aventinus les entitats a detectar eren dates, números de telèfons, matrícules de cotxe, nom del traficant, etc. En el cas del projecte TAUM-METEO, les entitats que detectava eren noms geogràfics, fenòmens naturals, dates, etc.
Nosaltres hem optat per un sistema independent del domini, per tal de fer un sistema que es pugui exportar a diverses aplicacions. Com que ens centrem en un domini més global, per poder tractar tot tipus d’entitats, hem fet una distinció entre noms propis forts i noms propis febles.
Els noms propis forts són aquells sobre els quals no hi ha discussió en els diferents sistemes de tractament d’entitats. Aquests serien els de persona (Josep Guardiola), els geogràfics (Barcelona), els d’organitzacions (OMS), els d’obres i documents (DOGC) i les dates i les hores (21-03-2001).
Com noms propis febles hem considerat aquells que són menys clars però que podria ser necessari detectar per segons quina aplicació. Són noms que poden anar en minúscula i que normalment es formen a partir d’un nom comú i un altre nom propi. Exemples d’aquests tipus de noms serien festivitats (la diada de Sant Jordi), fenòmens naturals (l’huracà Mitch), monedes (l’euro), malalties (síndrome de Wernicke), teories i lleis (teorema de Pitàgores), etc.
A l’hora de detectar una entitat existeixen dos mètodes. El mètode shallow consisteix en detectar només els noms propis, és a dir, aquelles paraules que estan en majúscula. i el mètode deep que agrupa per sintagmes.
El primer, com podeu veure a la figura 2, no reconeixeria l’entitat sencera sinó només la part en majúscula. En canvi, en el segon exemple, es detectaria tota l’entitat i això es podria utilitzar per resoldre el problema de la coreferència.
Figura 2: Exemple de la diferència dels resultats entre el mètode deep i el mètode shallow
Amb la intenció de confeccionar un sistema basant-nos en el mètode deep, hem donat importància a totes les fonts d’informació possible per la detecció d’entitats simples i complexes. Entre les diferentes fonts d’informació que podem utilitzar destaquem les tipogràfiques (majúscules, sigles, abreviatures), semàntiques (trigger words) i sintàctiques (aposicions, restriccions verbals, etc.).
3. Presentació del sistema
3.1 Arquitectura del sistema
En aquest apartat presentem amb més detall el sistema que estem desenvolupant pel tractament de les entitats. A la figura 3 es pot observar el disseny de l’arquitectura del sistema, és a dir, el procés pel qual passaria un text per ser analitzat. Està dividit en diferents mòduls i cadascun s’encarrega d’una tasca específica.
Figura 3: Arquitectura del sistema
Primer actúa el tokenitzador, que és el mòdul encarregat de segmentar el text; desprès passa per un mòdul que tracta les paraules compostes i detecta les xifres; seguidament, el mòdul NE-simples reconeix les entitats simples (monedes, percentatges, dates…), desprès ve el mòdul NE-complexes que fa una consulta al gazetteer o base de dades d’entitats per reconèixer els noms de persona, de lloc, d’organització, etc., i on també s’apliquen tècniques d’aprenentatge automàtic. La següent fase és la consulta diccionari de paraules que tenen associada la seva categoria morfològica. La figura 5 mostra la sortida d’aquest mòdul: el text analitzat amb totes les interpretacions possibles i la figura 6 mostra la sortida del següent mòdul, el tagger, que aplica al text analitzat regles de desambiguació.
Figura 4: Text d’entrada
| EFE - 24 maig (08.00
GMT) - Washington - El president Clinton pot aconseguir la gran victòria del seu últim mandat: la signatura d'un acord comercial amb Xina. |

Figura 5: Text analitzat morfològicament
Figura 6: Text desambiguat
Una vegada tenim el text desambiguat, l'analitzador d’entitats conté una gramàtica que reconeix les entitats que encara no s’han detectat i agrupa els sintagmes en el cas dels noms propis compostos. Finalment, s'aplica un tractament sintàctic al text. A la figura 7 podem veure el resultat del procés: el text analitzat morfològicament, sintàcticament i semànticament.
Figura 7: Text de sortida
El nostre treball es centra en dos d’aquests mòduls: el de la construcció del gazetteer d’entitats i l'analitzador d’entitats.
3.2 Estructura temàtica
Com ja hem comentat abans, un element important en el tractament de les entitats és la seva classificació. A la figura 8 es pot observar la classificació temàtica que proposem pel nostre sistema. L’elaboració d’aquesta estructura es va fer a partir de diverses classificacions ja existents, com la d’EuroWordNet (URL: http://www.hum.uva.nl/~ewn/). És una classificació general perque voliem incloure tant els noms propis forts com els febles i és compatible amb els tipus d’entitats que es detecten a la tasca de reconeixement d’entitats del MUC (URL: http://cs.nyu.edu/cs/faculty/grishman/NEtask20.book_1.html), concurs internacional d’extracció d’informació que té com a objectiu posar-ne a prova els diferents sistemes.
Aquesta classificació té 4 nivells de profunditat. El nivell d’especificitat depèn del tipus d’entitat. Consta de 6 nodes inicials o superclasses: geografia, organització, lloc, etc.. El nombre total de nodes és de 49 i cada node té associat un conjunt de paraules detonants i també una etiqueta semàntica.
Figura 8: Dos primers nivells de la classificació
3.3 Trigger Words
Les trigger words o paraules detonants o disparadores són paraules que apareixen en el context del nom de l’entitat (abans o desprès del nom propi o formant part d’ell) i que ens ajuden a detectar i classificar les entitats en un text. Es poden utilitzar per tractar la coreferència i aporten informació morfològica i semàntica a l’entitat. A la figura 9 veiem un exemple d’un node de l’estructura temàtica. El node ORGANITZACIÓ és subdivideix en organitzacions, empreses i institucions. Cada un dels nodes terminals té associat, com ja hem dit, un conjunt de trigger words.
Per obtenir aquestes paraules detonants hem tractat fonts lèxiques i enciclopèdiques així com corpus no estructurats, buidant-los i observant el context en el que hi aparexien les entitats.
Figura 9: Exemple del node empresa
3.4 Base de dades d’entitats
A continuació, explicarem breument les característiques principals de la base de dades d’entitats que estem generant.
L’actualització de la nostra base de dades es pot fer tant partint de corpus estructurats com no estructurats. Una vegada identificat el nom, es generen les possibles variants. Per això, estem construint una aplicació que té en compte l’especificitat de cadascun dels noms:
A) segons el tipus semàntic: per determinar-lo, partim de la informació que aporten les paraules disparadores. Hem construit un mòdul específic que genera les variants per cada tipus semàntic. A la figura 10 trobem un exemple del resultat del mòdul de generació de variants de noms geogràfics, comparat amb la generació d’un nom de persona que podem trobar a la figura 11.
Figura 10: Generació de variants per tipus semàntic
B) segons la llengua: no són possibles les mateixes variants d’un nom de persona japonès que un de català, per exemple. Per detectar la llengua del nom, es poden utilitzar dues fonts d’informació: els marcadors específics de llengua (la i catalana entre els cognoms), i la informació que aporten les trigger words (el japonès Kurosava). A la figura 11 tenim un exemple de les diferències en la generació de les variants que permet un nom japonès i un d’occidental. El mateix passaria amb un nom àrab, xinès, rús, etc..
Figura 11: Generació de variants sensible a la llengua
El sistema revisa en primer lloc si el nom ha d’enviar-se a un mòdul específic i si no, ho fa al mòdul general (que correspon a les variants en català). Actualment tenim ja el mòdul de generació de variants general i un parell de mòduls específics (el japonès i l’àrab), i estem en procés de construcció de la resta de mòduls específics.
En un futur, tractarem de manera automàtica les diferents variants ortogràfiques, en les llengües que poden tenir diverses transliteracions a l’alfabet llatí.
La nostra base de dades d’entitats conté la següent informació (podem veure un exemple a la figura 12): les variants del nom: com pot aparèixer en els diferents contextos (un recurs d’internet, un diccionari on-line, etc.); la forma canònica , que és, a la vegada, el camp pel qual estàn conectades les variants (seria la forma estàndard del nom o el lema); informació morfològica i semàntica respecte a l’entitat, i les trigger words que hem trobat associades a l’entitat en els corpus buidats. L’etiqueta morfosemàntica ha estat generada a partir de les trigger words i el resultat final (variants, etiquetes i trigger words) ha estat validat manualment.
|
Variant |
Lema |
Etiqueta MorfoSEMàNTICA |
TW |
|
Bethune |
David Bethune |
NPMSSPTR/NPMSSPPP |
cardenal/polític |
|
Bethune, D. |
|||
|
Bethune, David |
|||
|
D. Bethune |
|||
|
David Bethune |
|||
|
J.F.K. |
John Fitzgerald Kennedy |
NPMSSPPP |
polític |
|
JFK |
|||
|
J. F. Kennedy |
|||
|
John Fitzgerald Kennedy |
|||
|
Kennedy |
|||
|
Kennedy, J. F. |
|||
|
Kennedy, John Fitzgerald |
|||
|
Kennedy |
Margaret Kennedy |
NPFSSPPV |
escriptora |
|
Kennedy, M. |
|||
|
Kennedy, Margaret |
|||
|
M. Kennedy |
|||
|
Margaret Kennedy |
Figura 12: Exemple de la base de dades d’entitats
A la figura 13 hem resumit les dades actuals del que tenim ja generat i revisat fins ara. Les xifres varien sovint ja que estem ampliant continuament la base de dades amb noves incorporacions.
|
CATEGORIA SEMÀNTICA |
LEMES |
VARIANTS |
|
Noms de persones |
17.296 |
84.809 |
|
Noms geogràfics |
10.569 |
14.649 |
|
Noms d'obres i documents |
1.567 |
2.604 |
|
Noms d'organitzacions |
625 |
1.394 |
|
Expresions temporals |
215 |
477 |
|
Resta |
675 |
1.360 |
|
TOTAL |
30.947 |
105.293 |
Figura 13: Xifres actuals de la base de dades
En aquest punt explicarem de manera general la gramàtica d’anàlisi d’entitats que estem construint. És una gramàtica independent del context (BNF) que permet tractar no només les entitats simples, sino també les complexes. Ens hem basat en el mètode deep ja que necessitem delimitar el nom agrupant-lo per sintagmes, sempre que sigui possible. La característica principal d’aquesta gramàtica és que incorpora el coneixement lingüístic aportat per les trigger words i el tractament que abans hem anomenat noms propis febles.
La gramàtica treballa amb un text ja analitzat i desambiguat morfològicament i en el qual hi ha detectades certes entitats. Per tant, les fonts d’informació de la gramàtica es poden dividir en tres: un diccionari de formes morfològiques, un diccionari de trigger words i la base de dades d’entitats.
Un exemple d’una regla de la gramàtica es pot veure a la figura 14. La regla PERSONA es pot reescriure com [DET] [NC00P] [PREP] [NP000], és a dir, com determinant, més nom comú de persona, més preposició, més un nom propi, així una regla com aquesta permetria reconèixer El president del COI. L’avantatge d’aquest tipus de gramàtica és que permet l’opcionalitat dels nodes terminals, per això una mateixa regla serveix, en determinades condicions, per identificar diferents estructures sintagmàtiques.
Figura 14: Exemple d’una regla d’identificació de Persona
3.6 Etiquetació d’un corpus de notícies
Una de les tasques que també estem desenvolupant és la creació d’un corpus d’aprenentatge. La tasca consisteix en l’etiquetació de les entitats que apareixen a un corpus de notícies de 500.000 paraules que pertany a l’agència EFE. Per tal d’accelerar el procés d’etiquetatge, el corpus s’ha preprocessat amb una consulta a la nostra base de dades i al llistat de trigger words. D’aquesta forma s’han detectat i classificat de manera automàtica la major part de les entitats que hi apareixen. Gràcies a aquest procès previ la validació manual és ara molt més ràpida. Per la tasca de validació manual hem desenvolupat, conjuntament amb la Universitat Politècnica de Catalunya, un editor d’etiquetació morfosemàntica d’entitats per a corpus, que podem veure a la figura 15.

Figura 15: Editor per l’etiquetació de corpus
3.7 Línies de futur
Fins aquí hem exposat l’estat actual del nostre projecte de recerca. De fet considerem que és un embrió del que pot arribar a ser ja que s’obren moltes línies per on continuar treballant, entre les quals destaquem: l’ampliació d’EuroWordNet espanyol i català amb la incorporació de nous noms d’entitats; l’associació del synset d’EuroWordNet a la nostra base de dades i també a la llista de trigger words; l’expansió multilingüe de la base de dades i l’extracció d’una base de dades mínima, etc.
4. Bibliografia:
Llistat de figures: