minado de relaciones de conflicto en la camara de …

65
UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS F ´ ISICAS Y MATEM ´ ATICAS DEPARTAMENTO DE CIENCIAS DE LA COMPUTACI ´ ON MINADO DE RELACIONES DE CONFLICTO EN LA C ´ AMARA DE DIPUTADOS MEMORIA PARA OPTAR AL T ´ ITULO DE INGENIERO CIVIL EN COMPUTACI ´ ON FRANCISCO URIBE BUZETA PROFESOR GU ´ IA: CARLOS HURTADO LARRA ´ IN MIEMBROS DE LA COMISI ´ ON: JUAN ALVAREZ RUBIO JORGE OLIVOS ARAVENA SANTIAGO DE CHILE ABRIL 2008

Upload: others

Post on 23-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

UNIVERSIDAD DE CHILEFACULTAD DE CIENCIAS FISICAS Y MATEMATICASDEPARTAMENTO DE CIENCIAS DE LA COMPUTACION

MINADO DE RELACIONES DE CONFLICTO EN LACAMARA DE DIPUTADOS

MEMORIA PARA OPTAR AL TITULO DE INGENIERO CIVIL ENCOMPUTACION

FRANCISCO URIBE BUZETA

PROFESOR GUIA:CARLOS HURTADO LARRAIN

MIEMBROS DE LA COMISION:JUAN ALVAREZ RUBIO

JORGE OLIVOS ARAVENA

SANTIAGO DE CHILEABRIL 2008

Page 2: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

RESUMEN DE LA MEMORIA

PARA OPTAR AL TITULO DE

INGENIERO CIVIL EN COMPUTACIONPOR: FRANCISCO URIBE B.FECHA: 21/04/2008

PROF. GUIA: CARLOS HURTADO L.

Minado de Relaciones de Conflictoen la Camara de Diputados

El presente trabajo de tıtulo tiene por objetivo estudiar la connotacion (positiva onegativa) de las declaraciones hechas por diputados sobre entidades (empresas, institucioneso personas) durante las sesiones de la Camara de Diputados de Chile. Se enmarca en elarea de Minerıa de Datos y mas precisamente en el procesamiento estadıstico de lenguajenatural y un nuevo campo de investigacion denominado Minerıa de Sentimientos.

Se propone un marco de trabajo que formaliza la asignacion de sentimiento y, a partirde este, se construyen reglas tipo clausulas de Horn para determinar si una oracion espositiva, negativa o neutra respecto a la entidad referenciada.

El marco de trabajo supone que en toda expresion con sentimiento existen expresionesatomicas que lo generan, llamadas fuentes, que son conectadas a la entidad mediantepatrones linguısticos llamados treelines. Es decir, supone que si existe una fuente y untreeline que la conecta con la entidad, entonces existe sentimiento hacia la entidad.

Para el conjunto de fuentes candidatas se usaron listados encontrados en la Web y,por otro lado, para minar el conjunto de treelines se aprendio desde un conjunto deentrenamiento al escoger los que satisfacen la mayor generalizacion posible dado un nivelde precision arbitrario. En esta tarea no se logro un algoritmo exacto y eficiente pero sepropone uno aproximado de buen desempeno.

Para ilustrar los resultados se programo un buscador que permite encontrar referenciasde un determinado diputado hacia una entidad y que determina para cada una su orientacion.

i

Page 3: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Agradecimientos

Destaco a la Universidad Autonoma de Madrid por la gentileza de enviar el UAMSpanish Treebank y al grupo de procesamiento de lenguaje natural de www.nltk.org porsu gran ayuda.

Agradezco a mi familia Agradezco a mis grandes amigos y companeros FranciscoGutierrez, Francisco Claude, Francisca Varela y en especial a la crespita :).

Dedico la memoria a mi papa. La fuerza y la tenacidad de tu espıritu vive en mı.

ii

Page 4: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Tabla de Contenidos

Agradecimientos II

Glosario VI

1. Introduccion 11.1. Marco teorico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.1. Minado de opiniones . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.2. Part of speech y chunking . . . . . . . . . . . . . . . . . . . . . . . 91.1.3. Gramaticas formales y parsing . . . . . . . . . . . . . . . . . . . . . 111.1.4. Gramaticas estocasticas libres de contexto (PCFG) . . . . . . . . . 131.1.5. CYK y variantes probabilistas . . . . . . . . . . . . . . . . . . . . . 131.1.6. Nociones basicas sobre grafos . . . . . . . . . . . . . . . . . . . . . 16

1.2. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.3.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2. Presentacion del problema 202.1. Tipos de expresiones sobre una entidad . . . . . . . . . . . . . . . . . . . . 20

2.1.1. Direccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.1.2. Orientacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1.3. Persona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2. Supuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.1. Independencia de la entidad . . . . . . . . . . . . . . . . . . . . . . 222.2.2. Existencia de una fuente . . . . . . . . . . . . . . . . . . . . . . . . 22

2.3. El problema y su solucion . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3.1. Asignacion de sentimiento . . . . . . . . . . . . . . . . . . . . . . . 24

3. Desarrollo 263.1. Datos del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.1.1. Base de datos de la Camara . . . . . . . . . . . . . . . . . . . . . . 263.1.2. Datos de entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2. Induccion y aplicacion de reglas . . . . . . . . . . . . . . . . . . . . . . . . 333.2.1. Treelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

iii

Page 5: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

3.2.2. Las reglas de sentimiento . . . . . . . . . . . . . . . . . . . . . . . . 353.2.3. Generacion de arboles de parsing . . . . . . . . . . . . . . . . . . . 383.2.4. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4. Experimentos 444.1. Conjunto de entrenamiento y validacion . . . . . . . . . . . . . . . . . . . 444.2. Ejecucion del entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . 454.3. Desempeno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.4. Prototipo: El buscador de referencias . . . . . . . . . . . . . . . . . . . . . 48

5. Conclusiones 49

Apendices 53

iv

Page 6: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Indice de cuadros

1.1. Part of Speech segun el Brown Corpus. . . . . . . . . . . . . . . . . . . . . 91.2. Tipos de sintagmas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3. Salida de tree-tagger-spanish. . . . . . . . . . . . . . . . . . . . . . . . 111.4. WFST de CYK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1. Algunas fuentes de ejemplo por tag part of speech. . . . . . . . . . . . . . 303.2. Opciones de entrenamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . 313.3. Ejemplo de entrenamiento de aplicacion de fuentes. . . . . . . . . . . . . . 31

4.1. Distribucion instancias de entrenamiento. . . . . . . . . . . . . . . . . . . . 444.2. Distribucion de las fuentes en cada oracion. . . . . . . . . . . . . . . . . . . 454.3. Reglas de sentimiento generadas por el algoritmo aproximado. . . . . . . . 464.4. Tabla de contingencia y tabla de recall, precision y medida-F. . . . . . . . 47

5.1. Siglas de Part of Speech segun tres corpus. . . . . . . . . . . . . . . . . . . 545.2. Siglas de Part of Speech segun tres corpus, continuacion. . . . . . . . . . . 555.3. Siglas de Part of Speech segun tres corpus, continuacion. . . . . . . . . . . 56

v

Page 7: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Indice de figuras

1.1. Arbol de parsing que ilustra la aplicacion de las reglas de produccion. . . . 121.2. Interaccion entre 4 entidades, dos senadores y dos empresas. . . . . . . . . 181.3. Grafo agregado de relaciones entre partidos. . . . . . . . . . . . . . . . . . 18

2.1. Proyeccion de expresiones en un eje de positivo a negativo. . . . . . . . . . 21

3.1. Datos extraıdos desde las bitacoras. . . . . . . . . . . . . . . . . . . . . . . 273.2. Tabla del sentiment lexicon. . . . . . . . . . . . . . . . . . . . . . . . . . . 313.3. Interfaz de entrenamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.4. Tablas del framework de entrenamiento. . . . . . . . . . . . . . . . . . . . 323.5. Ejecucion del sistema de prediccion de sentimiento. . . . . . . . . . . . . . 333.6. Algoritmo aproximado de generalizacion de reglas. . . . . . . . . . . . . . . 383.7. Cache de producciones indexadas por secuencias. . . . . . . . . . . . . . . 403.8. Mejor cobertura posible por un subconjunto de secuencias n-gram. . . . . . 413.9. Logaritmo del tiempo de parsing versus el largo de la entrada. . . . . . . . 423.10. Diagrama de clases del modulo de aprendizaje . . . . . . . . . . . . . . . . 43

4.1. Interfaz del buscador de referencias. . . . . . . . . . . . . . . . . . . . . . . 48

5.1. Ejemplo de arbol sintactico del UAM Spanish Treebank. . . . . . . . . . . 57

vi

Page 8: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Glosario

POS-Tag Part of Speech Tag corresponde a la categorıa lexica de una palabra. Porejemplo adjetivo, verbo, sustantivo, artıculo, etc.

Corte de un arbol Listado de nodos que recorre totalmente un arbol de izquierda aderecha y donde ninguno de estos es hijo del otro.

Treeline Un corte de un arbol anotado con la posicion de la entidad y la fuente.

Constituyente Palabra o grupo de ellas que funciona como una unica unidad sintactica.Constituyentes tıpicas son las palabras, los POS-Tags, las frases adjetivales o lasfrases sustantivas.

Sintagma Sinonimo de frase.

Produccion Regla de una gramatica.

Lexicon Listado o diccionario anotado de palabras.

PCFG Gramatica probabilista libre de contexto. Es una gramatica libre de contextocuyas reglas o producciones tienen una probabilidad asociada.

vii

Page 9: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Capıtulo 1

Introduccion

Durante los ultimos anos la Web ha impactado, incluso al mas experto, al dejar de seruna vitrina para el conocimiento formal generado por especialistas y transformarse en unespacio de comunicacion publica entre sus usuarios. Estos se sienten empoderados por lamasificacion que les ofrece a sus dilemas e inquietudes y la han convertido en el principalinstrumento de la libre expresion. Ejemplo de aquello es la explosion absolutamenteinesperada de blogs, fotologs y podcasts donde los usuarios intercambian ideas con suentorno de amigos a traves de contenido multimedial autogenerado. Es claro, Internetdejo hace mucho tiempo de pertenecerle a un grupo de usuarios avanzados.

En esta lınea, el Senado 1 y la Camara de Diputados de Chile 2 durante el ano 2002comenzaron a publicar en la Web una detallada bitacora de sus sesiones. Estas incluyen,entre otras informaciones, la asistencia, todos los dialogos separados por proyecto de leyen evaluacion y las votaciones.

Estos registros son un esfuerzo de modernizacion que apunta a la transparencia delPoder Legislativo, pero que, lamentablemente, no ha rendido grandes frutos ya que eltexto de cada bitacora es demasiado largo y engorroso, despertando en la ciudadanıa unbajo interes por leerlos.

Por otro lado, ciertos eventos incluidos en estas bitacoras se transmiten con muchomayor exito, pero indirectamente, a traves de blogs como el del senador Flores 3 y otrosanalistas polıticos, en los principales diarios y portales de nuestro paıs.

En este trabajo se propone presentar, a traves de un buscador, las relaciones deconcordancia y conflicto, al extraer opiniones de diputados y su connotacion, desde losdialogos escritos en las bitacoras.

1Seccion Sala de Sesiones, Diarios de Sesiones http://www.senado.cl/.2Seccion Trabajo en sala, Boletın de Sesiones http://www.camara.cl.3http://www.atinachile.cl/content

1

Page 10: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

La extraccion de opiniones y la determinacion de su connotacion (si una opinion espositiva o negativa) es un problema complejo que ha sido cubierto por una nueva area dela inteligencia artificial llamada Sentiment Mining.

Se busca extraer relaciones de la forma (Emisor, Entidad, Tema,Orientacion) dondeEmisor corresponde a quien expreso la opinion, la Entidad es la empresa, institucion,Senador o Diputado a quien se le dirige, el Tema es el topico en discusion y la Orientaciones la connotacion de la opinion.

Las tecnicas del estado del arte no se centran en resolver este problema, sino queintentan capturar la connotacion al nivel de textos. Por lo tanto, determinar la connotaciona nivel de la entidad referenciada es un gran desafıo para el presente trabajo.

Por otro lado, estas relaciones permitiran la elaboracion de grafos dirigidos donde cadavertice es un diputado, un senador o una entidad y cada arista que los conecta es unaopinion descrita por su connotacion y el texto que la expresa.

1.1. Marco teorico

1.1.1. Minado de opiniones

Los contenidos generados por los usuarios y que forman parte de la Web 2.0 poseen algoen comun, gran parte de ellos son opiniones: texto intrınsecamente sesgado y emocional,cuya esencia no es capturada por la tecnologıa de recuperacion de informacion actual.En efecto, buscadores como Google o Yahoo no distinguen opiniones. Por ejemplo, siquisieramos buscar que se opina de la presidenta Bachelet, una alternativa serıa escogerlos terminos: bachelet, opinion. El problema es que si bien podrıamos recuperar algunosdocumentos relevantes (todos los que contengan ambos terminos) no recuperaremos todoslos que no contengan el termino opinion y que en realidad sean opiniones. Por ejemplo:

(1.1) “...La Presidenta Bachelet manejo muy mal la crisis del transantiago...”

Por otro lado podrıamos recuperar documentos que no son relevantes, es decir, queson hechos pero no opiniones y que sı contienen ambos terminos como:

(1.2) “... El Senador Ominami manifesto su opinion sobre la gestion de la PresidentaBachelet ...”

Luego, en general existen consultas por opiniones que no son ni pueden ser cubiertascon el modelo de keywords actual. Es mas, los ejemplos dados son busquedas de opinionessimples, pues lo deseable es que se pueda buscar ademas por orientacion (si la opinion espositiva o negativa), objeto de la opinion, caracterısticas en comparacion, etc.

2

Page 11: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Motivado por esto ha surgido tımidamente un area de la Inteligencia Artificial, denominadaMinerıa de Sentimientos, que trata la extraccion de informacion desde opiniones escritasen texto no estructurado o lenguaje natural.

Pero, ¿que entendemos por opinion?: segun Wikipedia las opiniones son ideas y pensamientoshacia algo de una persona particular. Es un juicio o una evaluacion de algo.

Luego, es especialmente relevante cuando definimos una opinion:

1. Quien la dijo

2. Sobre que la dijo

3. Que es lo que se dijo

Esto pues una opinion es de caracter subjetivo y no objetivo, es una conclusion norefutable, por lo tanto el quien y el sobre quien es tan importante como el que se dijo.

Diferenciar que es una opinion y que es un hecho objetivo es una tarea ardua que debelidiar con multiples ambiguedades. Como ejemplo, veamos el siguiente texto:

(1.3) “... los salarios pagados son indignos. La empresa reporto una utilidad de 10MUS$ y destino solo un 0.1 % a los sueldos. Esto es escandaloso pues el trabajoes su principal insumo...”

En este caso podemos distinguir opiniones en los salarios pagados son indignos y estoes escandaloso, gracias a la inherente subjetividad del termino indigno y del terminoescandaloso. Por otro lado, expresiones como La empresa reporto una utilidad... no sonopiniones, son hechos objetivos.

Utilizando el ejemplo anterior, se estarıa tentado a establecer como regla que todaopinion utiliza estos terminos subjetivos. Los siguientes textos prueban lo contrario:

(1.4) a. “1 mas 1 es igual a 2.”

b. “Tu y yo somos iguales. ”

Aca la expresion Tu y yo somos iguales no tiene el sentido matematico objetivo delcaso anterior, pero si utilizamos la regla de extraer opiniones, al encontrar el terminoigual tendremos buen recall (porcentaje de los documentos relevantes recuperados) perouna pesima precision (razon de documentos relevantes encontrados versus documentosrecuperados).

3

Page 12: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Este estudio se centrara, tal como el resto de la investigacion hasta el momento, enopiniones que utilizan terminos con carga emocional, como indigno y escandaloso, esdecir, que encierran subjetividad independiente del contexto en el que se encuentren.

En el ano 2002, Bo Pang y Lillian Lee [10] realizaron uno de los primeros trabajos4

sobre clasificacion de documentos por orientacion. Procesaron un conjunto de reviewsbuscando la ocurrencia de palabras positivas o negativas desde un listado predefinido depalabras positivas y negativas5 y luego entrenaron una SVM6 entregandole los documentosprocesados (vector de ocurrencia binaria de cada termino) y un 1 o 0 segun si un expertolo clasifico como de orientacion positiva o negativa, respectivamente. Los resultados fueronbuenos, 82.9 % del conjunto de validacion fue bien clasificado, pero muy malos versus laclasificacion por topico que ya se habıa desarrollado bastante gracias a directorios web obuscadores como Altavista y Yahoo. Uno de los dominios donde se comporto peor era elde los reviews de pelıculas (62 %). El gran problema era que al describirlas, comunmentese utilizaban terminos positivos para evaluar negativamente y viceversa. Un ejemplo delprimer caso es el siguiente:

(1.5) “... Esta pelıcula tenıa todo para ser la mejor, grandes actores, gran presupuestoun muy buen guion pero lamentablemente el resultado no cuajo... ”

Esta dificultad revelaba la complejidad de esta tarea, clasificar por sentimiento en elmejor caso sera igual de difıcil que clasificar por topico.

En el ano 2003 Turney y Littman mejoraron este trabajo al ampliar de maneraautomatizada el listado de terminos positivos y negativos. La idea era la siguiente:

Sea P conjunto de 5 palabras positivas insensibles al contexto y sea N conjunto de 5palabras negativas insensibles al contexto.

Definimos la orientacion de una palabra SO − A() como:

SO − A(palabra) =∑wi∈P

A(palabra, wi) +∑wi∈N

A(palabra, wi) (1.6)

Donde A es una metrica de asociacion o correlacion entre dos palabras.

4Primeros en desviar la atencion al procesamiento de terminos para hacer filtrado de informacion comolo hecho en 1999 por Spertos [7] para filtrar flames en un foro.

5Creado en 1960 por un linguista que trabajaba en prensa.6Support Vector Machine, tecnica de clasificacion.

4

Page 13: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Para A(·, ·) se usaron dos estrategias: Latent Semantic Analysis (LSA) y PointwiseMutual Information (PMI). En la ultima se obtuvieron mejores resultados y se calculacomo:

A(w1, w2) =P (w1Λw2)

P (w1)P (w2)

≈ log2(1nhits(w1NEARw2)

1nhits(w1) 1

nhits(w2)

)

(1.7)

Donde w1NEARw2 entrega documentos en los que w1 y w2 salieron juntos en unavecindad de radio 5, hits(·) indica el numero de resultados entregados y n es el numerototal de documentos indexados por Altavista.

Reemplazando 1.7 en 1.6, logramos un resultado independiente de n, el numero deresultados:

SO − A(w) = log2

[∏wi∈P hits(wNEARwi)

∏wi∈N hits(wi)∏

wi∈P hits(wi)∏

wi∈N hits(wNEARwi)

](1.8)

Si bien no se utilizo este mecanismo para clasificar reviews, Turney en el 2002 [11]habıa propuesto el siguiente esquema:

1. Agregar los tags POS7 y extraer pares sustantivos y adjetivos del texto.

2. Calcular orientacion de cada frase.

3. La orientacion del documento sera el promedio de las orientaciones de cada fraseque contenga.

El principal aporte es que este mecanismo de clasificacion se adapta mucho mejor adistintos topicos de evaluacion, al no depender unicamente de un conjunto de palabraspositivas y negativas rıgido. Por ejemplo, la palabra impredecible en el topico cine tendra unaconnotacion positiva, mientras que en el topico automoviles tendra una connotacion negativa.

Lamentablemente, este mecanismo, tal como el primero, depende de la deteccion defeatures y por lo tanto adolece del problema de clasificacion de reviews de pelıculas.

Este enfoque fue mejorado drasticamente en el mismo ano en los laboratorios IBM [15]al detectar en un documento de topico asociado todas las referencias al tema (caracterısticaspropias del tema y el tema mismo) y para cada una determina el sentimiento usandotecnicas de procesamiento de lenguaje natural (NLP).

7Part of Speech, es la categorıa linguıstica en la que cae la palabra. por ejemplo Adjetivo, Sustantivo,Verbo, Adverbio etc.

5

Page 14: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

El analisis consiste en lo siguiente:

1. Extraccion de propiedades segun el topico. Ejemplo: ruedas, frenos, manejo, en eltopico autos.

2. Extraccion de Sentimientos. Es decir, detectar frases con terminos con carga emocional.

3. Asociaciones (Subject, Sentiment). Subject puede ser una propiedad del topico (extraıdaen el paso 1) o el topico mismo y sentiment es + o - segun si la orientacion es positivao negativa.

La seleccion de propiedades en un topico se realizo usando una tecnica denominadabBNP y un test de maxima verosimilitud. bBNP es una heurıstica de seleccion de frasessegun secuencias de tag POS como NN, NN NN, JJ NN, etc 8. Esta heurıstica solo definelas propiedades candidatas, luego un nuevo filtro es necesario para refinar la seleccion.Se uso la tecnica de Mixture Model y de Likelihood Test, donde el ultimo tuvo mejoresresultados y consiste en seleccionar los terminos que mejor explican al topico versus otrostopicos.

La extraccion de sentimientos se realizo a traves de patrones linguısticos sobre lasoraciones extraıdas9. Estos son de la forma (verbo, fuente, objetivo).

Existen verbos que transfieren orientacion y otros que la crean, por ejemplo el verboser la transfiere y el verbo gustar la crea. Para los verbos que la crean las reglas son dela forma (verbo,+|−, sujeto).

Ejemplo: La calidad del sonido me impresiona cumple la regla (impresionar,+, sujeto)que nos permitirıa extraer que La calidad del sonido tiene connotacion positiva.

En cambio para los verbos que transfieren orientacion las reglas son mas complejas yrequieren de pasos intermedios para el calculo de la orientacion. Por ejemplo El salarioes indigno satisface la regla (es, predicado, sujeto) y para inferir la connotacion sobre elsujeto salario se requiere calcular la connotacion de indigno, que sabemos es negativa porel diccionario de palabras negativas.

Los resultados de este algoritmo fueron asombrosos, clasificaron bien un 90 % de loscasos de validacion.

8NN es un sustantivo y JJ un adjetivo.9Cada oracion puede entenderse como el verbo, sujeto y predicado.

6

Page 15: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Motivado por el desarrollo anterior, Ana-Maria Popescu y Oren Etzioni[18] idearonun sistema integral para la busqueda de comparaciones de productos. Se mezclaron lastecnicas anteriores de Machine Learning con refinamiento de los resultados gracias aGoogle. Este paper ya daba luces de que esta nueva tecnologıa ofrecerıa nuevas oportunidadesde negocio.

Durante el ano 2006 y 2007 Jindal Liu y Bing introdujeron el tema del minado decomparaciones, pues como dice Liu en su libro [22] existen dos tipos de evaluaciones:

Opiniones Directas Expresiones con sentimiento sobre objetos como productos, eventos,personas que los evaluan directamente. Ejemplo: la calidad de esta camara es excelente.

Comparaciones Relaciones que expresan similaridades y diferencias entre mas de dosobjetos. Ejemplo: el auto X es mas caro que el auto Y. Subjetivas u Objetivas.

Su aporte se centra en incorporar a la minerıa de sentimientos herramientas de deteccionde comparaciones y en cada comparacion la extraccion de atributos como que cosas sonlas que se estan comparando y sobre que caracterıstica o propiedad. Sus resultados fueronmuy buenos en la deteccion y extraccion de frases de comparaciones (recall y precision del90 %), pero en la tarea, ya mas avanzada, de extraccion de entidades y caracterıstica solose alcanzo un Accuracy (porcentaje de entidades extraıdas de las totales del conjunto depruebas) de 40 % sobre su conjunto de test.

Bing y Liu para lograr esta tarea introdujeron un framework de extraccion de patronesbastante interesante. Este framework se basa en la utilizacion de dos nuevos tipos de reglas,las primeras son las CSR o Class Sequential Rules y son de la forma X → y. Donde X esun secuencia e y una clase. Es decir, cada vez que veamos una secuencia de esa forma seespera que y sea su clase.

El soporte se define como el numero de ejemplos que puede cumplir la regla (puescontiene la secuencia X) y la confianza es numero de ejemplos que la cumple. La confianzapuede interpretarse como la probabilidad de que una secuencia dada pertenezca a unaclase.

Se genera un conjunto de reglas a partir del set de entrenamiento (tanto automaticacomo manualmente) que indexaremos por i ∈ {1..R}. Luego cada frase de un documentose representa por un vector de R componentes que en cada componente i tiene un 1o 0, dependiendo de si cumple la i-esima regla. Posteriormente, se asocia a cada uno deestos vectores un 1 o 0, dependiendo de si es o no una comparacion. Esta asociacionpermite entrenar un clasificador bayesiano que permitira clasificar si una frase es o no unacomparacion.

7

Page 16: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Por otro lado, para la extraccion de caracterısticas se creo un nuevo tipo de reglasllamadas Label Sequential Rules (LSR) y son de la forma X → Y , donde X es unasecuencia igual a Y pero con elementos reemplazados por ∗.

Una LSR permite reconocer entidades dentro de una frase resolviendolas una a unaen funcion de las otras. Es decir, resuelven una entidad y luego esta entidad sirve pararesolver la segunda y ası sucesivamente.

Por ejemplo, en la frase El manejo del Toyota Yaris es mejor que el del Mazda 3, sepodrıan aplicar las siguientes reglas para resolver las entidades en comparacion ToyotaYaris y Mazda 3 y la caracterıstica o propiedad en comparacion manejo.

{El, ∗} → {El, P}{P, del, ∗,mejor que,NN} → {P, del, E1,mejor que,NN}

{E1,mejorque, ∗} → {E1,mejor que, E2}(1.9)

Donde P , E1 y E2 serıan manejo, Toyota Y aris y Mazda 3 respectivamente.

Cabe notar que las reglas de ejemplo son una simplificacion del modelo original, alno incluir los tags POS de cada ıtem. En una aplicacion real se imponen restriccionessobre las entidades a resolver. Por ejemplo, si queremos extraer solo propiedades que seansustantivos se debe reemplazar P por (P,NN). Por otro lado, las reglas no necesariamenteson no ambiguas, en efecto casi nunca lo son y para ser aplicadas debe introducirse otrocriterio, como el de privilegiar la que tiene mayor confianza.

Jindal y Liu proponen un mecanismo automatico de generacion de estas reglas. La ideaes generar un numero grande a priori que luego es refinado usando Sequential Coveringsobre los datos de entrenamiento. Finalmente este conjunto de reglas es aplicado en ordende precision para efectuar la extraccion.

Los resultados fueron muy buenos comparativamente, LSR derroto a ConditionalRandom Fields (CRF), la herramienta mejor evaluada para extraccion de secuenciashasta ese momento. Lamentablemente, como se menciono anteriormente, a pesar de que sereconocieron en un 90 % las frases comparativas, se extrajo solo un 40 % de las caracterısticas.

CRF puede entenderse como una relajacion del supuesto de independencia condicionalde los modelos Hidden Markov Models. Esta relajacion se produce gracias a que CRF nomodela la probabilidad conjunta de ver la secuencia y la representacion de superficie, sinoque modela la probabilidad de ver la secuencia dada la representacion de superficie. Ası seevita hacer suposiciones sobre la distribucion de la representacion de superficie.

8

Page 17: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Nombre Ejemplos AbreviacionAdjective happy, bad JJAdverb often, particularly RBConjunction, coordination and, or CCDeterminer this, each, another DTNoun aircraft, data NNNoun, proper, singular London, Michael NPPronoun, nominal (indefinite) none, everything, one PNVerb, infinitive take, live VBPreposition, to to IN

Cuadro 1.1: Part of Speech segun el Brown Corpus.

1.1.2. Part of speech y chunking

En el procesamiento de lenguaje natural se busca estructura y significado. Dos delos metodos mas comunes para lograr este objetivo son la segmentacion y el labeling.El primero consiste en descomponer un stream de datos en un conjunto de elementosrelevantes como por ejemplo las palabras. La segunda consiste en tomar estos elementosy asignarles una categorıa desde un conjunto definido como por ejemplo {mayuscula ,minusculas} o los tag Part of Speech.

Los tags Part of Speech son las categorıas gramaticales posibles de una palabra (verCuadro 1.1), tecnicamente denominados como el nivel lexico de la gramatica o del lenguajey corresponden a las reglas unarias que cubren los sımbolos terminales.

Las categorıas pueden ser abiertas o cerradas segun su dinamismo a traves del tiempo.Sustantivos y adjetivos, por ejemplo, son creados frecuentemente mientras las preposicioneso las conjunciones, no han sufrido cambios durante la historia reciente.

Por otro lado al segmentar no solo se extraen palabras (tokenization) sino que es posiblegeneralizarlo para una secuencia de estas. Por ejemplo en Named Entity Recognition(NER) la tarea principal es reconocer nombres de, potencialmente, mas de una palabra yetiquetarlos con su tipo.

(1.10) “ La Sociedad Protectora de Animales responsabilizo a CELCO por eldesastre ocurrido ... ”

En este caso se reconocen los textos en negrita y se las etiqueta Organizacion y Empresarespectivamente.

9

Page 18: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Nombre Abreviacion EjemploNoun Phrase NP El monte lejanoVerb Phrase VP corriendo rapidoAdjective Phrase AP rapidoAdverb Phrase AdvP rapidamentePrepositional Phrase PP al monte lejano

Cuadro 1.2: Tipos de sintagmas.

Otro tipo de segmentacion y etiquetado consiste en reconocer sintagmas y asignarlesun tipo (ver Cuadro 1.2). Esta tarea es llamada chunking, semi-parsing, parsing superficial,pues a diferencia de un parsing riguroso este entrega solo estructuras de anidacion definida.En el Ejemplo 1.11 se ilustra la diferencia entre el parsing (a) y el chunking (b).

(1.11) (a) S

NPP

ART

El

NC

auto

VP

V

es

NPP

ART

un

NC

Ford

(b) S

NPP

ART

El

NC

auto

VSfin

es

NPP

ART

un

NP

Ford

La ventaja del chunking respecto del parsing es que es considerablemente mas eficientepues puede ser implementado con expresiones regulares en O(n) con n el numero depalabras versus el mejor algoritmo de parsing libre de contexto que es O(n3) y con unagran constante.

TreeTagger

Para hacer POS-Tagging en espanol se utilizo la implementacion de TreeTagger disponibleen [6]. Este tagger se basa en el trabajo de Helmut Schmid [5] y consiste en un modelo deMarkov oculto que calcula la probabilidad de transicion dinamicamente utilizando arbolesde decision sobre los n, con n arbitrario, ultimos tags.

Un modelo de Markov oculto genera una cadena de markov sobre los POS-Tags queal estar en un estado genera los tokens o palabras con una determinada probabilidad deemision. Este modelo, gracias al algoritmo de Viterbi, permite calcular la secuencia detags mas probable dado un input de tokens.

10

Page 19: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

word POS-Tag lemma

El ART el

TreeTagger NP TreeTagger

es VBZ ser

facil ADJ facil

de PREP de

usar VB usar

. FS .

Cuadro 1.3: Salida de tree-tagger-spanish.

En terminos practicos, dada una cadena de texto el programa tree-tagger entregalos tags y el lema de cada palabra reconocida (ver Cuadro 1.3).

1.1.3. Gramaticas formales y parsing

Segun Noam Chomsky en el 1950 [1][2] una gramaticaG se caracteriza por los siguientescomponentes:

Un conjunto finito N de sımbolos no-terminales.

Un conjunto finito Σ de sımbolos terminales con Σ⋂N = ∅.

Un conjunto finito P de reglas de produccion cada una de la forma:

(Σ ∪N)∗N(Σ ∪N)∗ → (Σ ∪N)∗ (1.12)

Esto significa que cada regla de produccion asocia una cadena de al menos un sımbolono terminal con otra. En el caso de que el lado derecho no contenga ningun sımbolose agrega ε para evitar ambiguedades.

Un sımbolo S ∈ N distinguido como el sımbolo de comienzo.

Usualmente esta gramatica formal G se describe como la tupla (N,Σ, P, S).

El lenguaje generado por G = (N,Σ, P, S), denotado como L(G), se define como todoslos strings sobre Σ que pueden ser generados partiendo con el sımbolo S y luego aplicandolas reglas de produccion hasta que no queden sımbolos no terminales.

11

Page 20: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Figura 1.1: Arbol de parsing que ilustra la aplicacion de las reglas de produccion.

Gramaticas Libres de Contexto (CFG)

Una gramatica libre de contexto es una gramatica donde el lado izquierdo de lasproducciones consiste solo de un sımbolo no terminal. Es decir es tal que sus reglas sonde la forma descrita en (1.13).

V → w (1.13)

Donde V es un no terminal y w es una concatenacion de terminales y no-terminales.

Un lenguaje que puede ser generado por esta gramaticas se llama lenguaje libre decontexto. Se acepta que los lenguajes como el Ingles y el Espanol pueden especificar poreste tipo de gramaticas (ver fig. 1.1). Esto basandose en el trabajo de Saussure, padre delestructuralismo en el lenguaje.

Este establece que la unidad de una estructura gramatical son los constituyentes. Estospueden ser detectados pues pueden ocurrir en varias posiciones y ofrecen posibilidadesuniformes de expansion.

Por otro, lado las relaciones entre estas son paradigmaticas si son reemplazables lasunas por las otras y sintagmaticas si pueden cooperar para formar frases.

Las gramaticas para describir el lenguaje son un area abierta que no se tratara eneste trabajo, sino que se sostendra la hipotesis de Saussure al imponer que el espanol esgenerado por una gramatica libre de contexto.

12

Page 21: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

1.1.4. Gramaticas estocasticas libres de contexto (PCFG)

En el dominio del procesamiento de lenguaje natural, ademas de saber si una oracionpertenece al lenguaje, se querra el arbol sintactico. Lamentablemente una gramatica librede contexto no se adaptara bien a esta tarea, pues es muy frecuente que exista mas de unarbol posible.

Para subsanar esto, Klein y Manning [14] propusieron las Gramaticas Probabilısticaso Estocasticas Libres de Contexto (PCFG), que permiten encontrar no solo los arbolesposibles, sino que determinar para cada uno cual es su probabilidad de generacion.

Una PCFG es una gramatica Libre de Contexto donde cada regla en el conjunto deproducciones tiene una probabilidad de aplicacion asignada. Naturalmente, si un sımboloterminal aparece en mas de una regla en el lado izquierdo estas deben sumar uno.

Formalmente en vez del conjunto de reglas P se define Q = P × [0, 1] que asocia acada regla una probabilidad y cumple ∀v ∈ V

∑p∈LHS(v) p = 1 donde LHS(v) son todas

las reglas en P que tienen a v en el lado izquierdo.

Al trabajar con PCFG existen tres tareas principales:

1. Inducir la gramatica libre de contexto

2. Calcular las probabilidades de cada produccion

3. Estimar la probabilidad de los arboles sintacticos dada una oracion de input dondese asume que un arbol que no es posible generar con la CFG tiene probabilidad 0.

1.1.5. CYK y variantes probabilistas

El algoritmo de facto tanto para la aceptacion y descubrimiento del arbol sintacticode una sentencia es el algoritmo de Cocke-Younger-Kasami (CYK)[3].

En terminos informales, este algoritmo calcula a traves de programacion dinamica losvalores de la matriz P [i, j, k] (ver fig. 1.4) 10 que indica si la subsecuencia de palabras dela i a la i+ j pueden ser generadas por la regla Rk.

El ejemplo mas simple del uso de esta tabla es que los POS − Tags de un texto detamano n se almacenan en P [i, i+ 1, k] con i ∈ 0, n y Rk reglas de la forma 1.14.

POS − Tag → palabra. (1.14)

El algoritmo procede de manera iterativa: calcula esta matriz P para las subsecuenciasde largo 1 y luego avanza a las subsecuencias de largo 2 y ası sucesivamente.

10P [i, j, k] es denominada well-formed substring table (WFST).

13

Page 22: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Algorithm 1 CYK

1: Let Palabras← (p1, ..pn)2: Let Gramatica = ({S1..Sr}, decirSs, R)3: Let P [n, n, r]4: for i = 1 to n do5: for each Sj → pi ∈ R do6: P [i, 1, j] = TRUE7: end for8: end for9: for largo = 2 to n do

10: for comienzo = 1 to n− largo+ 1 do11: for particion = 1 to largo− 1 do12: for SA → SBSC ∈ R do13: if P [comienzo, particion,B] and P [comienzo + particion, largo −

particion, C] then14: P [comienzo, largo, A] = TRUE15: end if16: end for17: end for18: end for19: end for20: for x ∈ Ss do21: if P [1, n, x] then22: return TRUE23: end if24: end for25: return FALSE

SVP

SVP PP

S NP NPNP V, VP Det. N P Det N

Ella come un pescado con el tenedor

Cuadro 1.4: WFST de CYK.

14

Page 23: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Para las subsecuencias de tamano 2 y mas, considera todas las posibles particiones endos de la subsecuencia y chequea que exista una produccion P → QR tal que Q produzcala primera parte y R la segunda (esto se hace observando los correspondientes valores dela matriz). Si es ası entonces registra P como productor de la subsecuencia entera y seanota en P [·, ·, ·].

Una vez que este proceso haya terminado, la oracion se declara reconocida si y solosı la subsecuencia que contiene la oracion entera ha sido producida por algun sımbolo departida o equivalentemente si P [1, n, S] es verdadero.

Algorithm 2 Variante probabilıstica de CYK, tambien denominada de Viterbi.

1: Let Palabras← (p1, ..pn)2: Let Gramatica = ({S1..Sr}, Ss, R)3: Let P [n, n, r]4: for i = 1 to n do5: for each Sj → pi ∈ R do6: P [i, 1, j] = TRUE7: end for8: end for9: for largo = 2 to n do

10: for comienzo = 1 to n− largo+ 1 do11: for particion = 1 to largo− 1 do12: for cabeza = 1 to r do13: PrMax ← 014: for Scabeza → SBSC ∈ R do15: X ← P [comienzo, particion,B]16: Y ← P [comienzo+ particion, largo− particion, C]17: if X · Y > PrMax then18: ProbMax ← X · Y · Pr(Scabeza → SBSC)19: end if20: end for21: P [comienzo, largo, cabeza] = Maxprob

22: end for23: end for24: end for25: end for26: for x ∈ Ss do27: if P [1, n, x] then28: return TRUE29: end if30: end for31: return FALSE

15

Page 24: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Es posible extender CYK para parsear string usando PCFG. La diferencia es queP [i, j, k], en vez ser un booleano, guardara la probabilidad que la subsecuencia que partedesde i y tiene tamano j sea derivada por la regla k.

Para calcular esto, sobre todas las reglas aplicables para derivar a Scabeza, Scabeza ←SBSC , se encuentra B y C de tal manera que la probabilidad de aplicacion de la regla,igual a la multiplicacion de todas las probabilidades, sea maxima.

1.1.6. Nociones basicas sobre grafos

En Matematicas y Ciencias de la Computacion, la teorıa de grafos estudia las propiedadesde los grafos, que son colecciones de objetos llamados vertices o nodos conectados porlıneas llamadas aristas o arcos que pueden tener direccion asignada.

Formalmente un grafo es una pareja G = (V,A), donde V es un conjunto de puntosllamados vertices y A es un conjunto de pares de vertices llamadas aristas.

En este trabajo aplicaremos un tipo especial de grafos llamados grafos dirigidos valuados.En estos grafos importa la direccion de las aristas, es decir, que una arista vaya de a ∈ Va b ∈ V es distinto que vaya de b ∈ V a a ∈ V y ademas estan equipados con una funcionv:A→M con M un conjunto de descriptores de las aristas. El caso comun es que M = <y representen pesos o distancias entre un nodo y otro.

1.2. Motivacion

El formato en el que se despliega la informacion de la bitacora de las sesiones enla camara de Diputados y Senadores es largo y engorroso (a pesar de que se hace unresumen). Luego urge una manera entretenida y descriptiva de representarla11.

El trabajo busca describir las relaciones de conflicto que emergen de la actividadparlamentaria en torno a los temas que ahı se discuten. Mas en detalle estudiaremos laextraccion de opiniones o referencias de diputados en contra o a favor de otros entidades(otras personas, empresas o instituciones) usando el dialogo de las sesiones.

El problema es en sı interesante pues aplica modelos de minado de opiniones sobretextos en espanol y no se conocen trabajos que lo hagan. Por otro lado, aplica modelos deminado sobre personas en vez de productos y sus caracterısticas, que es el dominio dondese ha aplicado hasta el momento.

11No sera completa ya que los algoritmos tienen un error asociado.

16

Page 25: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Tal como se menciono, se posee un conjunto de bitacoras separadas por legislatura12.Cada una de ellas posee informacion de primera fuente sobre lo que acontecio en la reunion,particularmente que temas se trataron y lo que fue dicho por cada parlamentario.

Cada sesion tiene la siguiente estructura:

Asistencia Asistencia de senadores y diputados a la sesion.

Apertura de la Sesion Presidente del Senado/Diputados abre la sesion.

Tramitacion de Actas Se valida el actas de las sesiones anteriores.

Cuenta Se exponen los asuntos que han llegado a la secretarıa, como mensajes de lapresidenta reordenando comisiones, urgencia de los proyectos de ley, etc.

Orden del Dıa Cada proyecto de Ley en discusion es una subseccion. En cada una deestas se anotan los dialogos de la discusion.

Tiempo de Votaciones En esta seccion se relata el dialogo del preambulo de una votacion.Por ejemplo, los senadores se declaran en pareo. Finalmente se dan los resultados dela votacion indicando quien voto a favor y en contra.

Incidentes Senadores emiten oficios con peticiones a las instituciones gubernamentales

Principalmente de la seccion Orden del Dıa se planea extraer relaciones de la forma(emisor, entidad, orientacion, tema, texto). Como por ejemplo:

(1.15) “Proyecto de Ley de Revocacion de la Ley de Amnistıa

Senador X.- ... el senador Y amparo la violacion de los derechos humanos ...”

Se genera una relacion (X, Y, -, ...amparo la v..., Ley de Revo..) , o tambien se esperaminar el siguiente tipo de referencias (ver Figura 1.2):

(1.16) “Facilidades para acceso a informacion de organismos publicos

Senador Prokurica.- ... CODELCO oculto informacion ... Banco del Estado seescuda en el secreto profesional para ocultar... Senador Ominami.- ... concuerdocon el senador Prokurica...”

Un mapa de conflictos entre diputados y senadores tendra grandes implicancias delpunto de vista social, pues permitira validar o rechazar la hipotesis que dice que relacionesconflictivas en general seran entre miembros de partidos antagonistas y por otro lado, sepodran estudiar animosidades o cercanıas anormales en sobre de ciertas instituciones.

12Una legislatura es el perıodo en el que se otorga al gobierno y a los representantes de una nacion lacapacidad para redactar, cambiar o rechazar leyes y para cobrar y regular los impuestos.

17

Page 26: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Senador Prokurica

Senador Ominami

Banco del Estado

CODELCO

positiva: ...concuerdo...negativa:

...directores no revelaninformación...

negativa:...se reservan información previo a las elecciónes...

Facilidades para acceso a información de organismos públicos

Figura 1.2: Interaccion entre 4 entidades, dos senadores y dos empresas.

Ademas, la visualizacion directa de los conflictos contingentes sera muy atractiva parala ciudadanıa que no desea leer extensivamente estos documentos pero que sı le interesala polıtica.

Un modelo ası tiene multiples extensiones, una de ellas es la capacidad de visualizar losgrafos de manera dinamica para capturar la evolucion de las relaciones inter e intra-partidos(ver Figura 1.3) o alternativamente evaluar si existen conflictos de interes.

PPD UDI

RNPDC

PS

PRSD

Concertación de Partidos por la

Democracia

Alianza por Chile

+ -

+

+

_

-

-

-

-

-

-

-+

+

+

+

+

-

-

Figura 1.3: Grafo agregado de relaciones entre partidos.

18

Page 27: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

1.3. Objetivos

1.3.1. Objetivo general

El objetivo del trabajo es la aplicacion de los modelos de minado de opinion o sentimientopara extraer informacion relevante sobre las relaciones de conflicto entre diputados yentidades.

Se espera adaptar o crear modelos para trabajar sobre texto en espanol formal dondelas entidades en evaluacion no son productos comerciales sino que pertenecen a un conjuntode personas acotadas y bien definidas.

Las relaciones extraıdas son de la forma (autor, entidad referenciada, orientacion,tema, texto).

1.3.2. Objetivos especıficos

Extraccion de entidades en interaccion.

Extraccion de opiniones o referencias sobre esas entidades.

Aplicacion de un modelo de minado de opiniones sobre texto en espanol.

Determinacion de la orientacion de cada una de esas opiniones o referencias.

Buscador que permita encontrar referencias y determinar su orientacion.

Los objetivos son fundamentalmente en torno a la minerıa de opiniones. No es unobjetivo hacer estudio alguno sobre teorıa de grafos ni redes sociales. Estas materiasseran tratadas de manera muy superficial y por lo tanto no se han incluido referencias.

19

Page 28: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Capıtulo 2

Presentacion del problema

El presente trabajo debio tratar con complicaciones a nivel conceptual y de desarrollo.Para acotar su alcance se define que expresiones sobre una entidad son observables en untexto, luego se clarifican supuestos y finalmente se da un esquema general de su solucionindicando que tipo de expresiones queremos minar.

2.1. Tipos de expresiones sobre una entidad

Se realizo un estudio preliminar consistente en determinar que tipo de expresiones sonobservables en un texto y como se proyectarıan en un eje hipotetico de positivo a negativo.Las conclusiones principales se encuentran ilustradas en la Figura 2.1.

Esta proyeccion indudablemente tiene un sesgo personal que se cree podrıa afectar elorden relativo de las expresiones a lo largo del eje, mas no si una expresion es positivao negativa. Aun ası se hizo para, al menos, transparentar este tipo de sesgos, pues elproblema es eminentemente subjetivo y requiere definir que es lo que realmente se quiereminar.

Por otro lado, a traves de la observacion de ejemplos de opiniones recuperados de losboletines, se identificaron tres propiedades principales: orientacion, persona y direccion.

2.1.1. Direccion

La propiedad de direccion indica si una expresion de sentimiento afecta directamentea la entidad referenciada o si esta afecta alguna propiedad de la entidad, es decir, lo hacede manera indirecta.

(2.1) a. Indirecta: A proposito de la breve, pero precisa intervencion del ministrode Hacienda

b. Directa: Este Gobierno ha actuado de manera irresponsable

20

Page 29: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

+ -Acusación

MenciónAlabanza

citanegativa

citapositiva

cita

lástimasolidaridad

Criticapositiva

Criticanegativa

Figura 2.1: Proyeccion de expresiones en un eje de positivo a negativo.

En el ejemplo 2.2.a, de la opinion sobre la intervencion del ministro se puede deduciruna opinion sobre el ministro en sı.

2.1.2. Orientacion

La orientacion de una expresion se define como la polaridad o el sentimiento proyectadoen el eje hipotetico de la Figura 2.1 hacia la entidad referenciada.

(2.2) a. Positiva: A proposito de la breve, pero precisa intervencion del ministro deHacienda

b. Negativa: Este Gobierno ha actuado de manera irresponsable

c. Neutra: Agustın Arturo Prat Chacon nacio en la Hacienda San Agustın dePunual, Ninhue el 3 de abril de 1848.

2.1.3. Persona

La persona establece que grado de participacion tiene el emisor en la transferencia desentimiento.

En expresiones activas el emisor participa de una accion en contra o a favor de laentidad, de lo que se deduce una opinion sobre esta, y en las pasivas el emisor solomanifiesta una opinion sobre la misma.

(2.3) a. Pasiva: ETA esta asesinando la esencia del ser vasco

b. Activa: Por eso, anuncio que presentare una querella criminal en contrade Alejandro Guillier, por los delitos de calumnia e injurias graves conpublicidad.

21

Page 30: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

2.2. Supuestos

A continuacion se presentan los principales supuestos asumidos en pos de hacer tratableel problema de asignacion de sentimiento.

2.2.1. Independencia de la entidad

Al minar una expresion con sentimiento se asume independencia respecto a la entidada la cual se esta referenciando, es decir, si una frase fuese negativa (positiva) en contra(a favor) de una entidad, esta lo seguira siendo para otra si la pusieramos en la mismaposicion.

Se sabe que este supuesto no se cumple siempre, pues expresiones positivas para unaentidad pueden ser negativas para la otra (ver 2.4).

(2.4) a. Caso Positivo: La pelıcula El Padrino es muy impredecible

b. Caso Negativo: El nuevo Yaris es muy impredecible

Pero en el comun de los casos, sobretodo en el dominio de las bitacoras, esta hipotesisse cumple.

(2.5) El

DiputadoSenadorPresidente

actuo de manera irresponsable

Se vera luego que el enfoque adoptado, si bien supone esto, es generalizable paraevaluacion de expresiones relativas a la entidad.

2.2.2. Existencia de una fuente

Se supone que existe una transferencia de sentimiento desde ciertas expresiones llamadasfuentes. Estas consisten en elementos atomicos sin los cuales la expresion pierde su connotacion.Por ejemplo, en la siguiente frase la fuente es negligente.

(2.6) El Sernam fue negligente

De manera mas formal: sea e ∈ E una entidad, t ∈ T un texto y O:E×T → {−1, 0, 1}la orientacion del texto respecto a e.

|O(e, t)| > 0 ⇒ ∃w ∈ t, w es Fuente (2.7)

La fuente no necesariamente es una palabra sino que pueden ser expresiones completas.

(2.8) El actuar del Ministro dejo mucho que desear.

22

Page 31: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

En este ejemplo se ve que en la expresion dejo mucho que desear cada palabra no esfuente por sı misma, pero la combinacion de ellas sı lo es. En definitiva, la atomicidad deuna fuente proviene del hecho que ninguna de sus subpartes lo sera respecto a la oracionque se estudia.

w ∈ F, |w| > 1⇒ ∀wi ∈ 2w/{w} no es fuente (2.9)

Las fuentes poseen reemplazabilidad. Si en una posicion una fuente afecta a la entidad,entonces otras fuentes compatibles tambien lo haran.

Dos constituyentes x e y son compatibles en una frase f , segun la gramatica G, siexiste una regla que pueda generar a ambas en la misma posicion.

x es compatible con y en f ⇔ ∃R,R′ ∈ G,R = C → f1, f2...x...fn

R′ = C → f1, f2...y...fn

(2.10)

En particular, dos palabras x e y son compatibles si tienen el mismo POS tag. Perohay contextos donde constituyentes mas generales como sintagmas sustantivos (NP) oadjetivales (ADJP) se pueden usar de manera intercambiable.

(2.11) El Sernam fue

eficientenegligentecorrecto

2.3. El problema y su solucion

El problema fue abordado en tres etapas:

1. Procesamiento de documentos en formato Word Document 95 para extraer lasintervenciones de los diputados.

2. Extraccion de Entidades (NER) sobre las intervenciones.

3. Asignacion de Sentimiento a las entidades extraıdas.

La primera tarea consiste en procesar documentos Word para extraer las tuplas(Emisor, Tema, Texto). Para esto es necesario transformar los documentos de formatoWord a texto plano, de modo que sea legible por las librerıas estandar de lectura dearchivos.

23

Page 32: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

La segunda consiste en el reconocimiento de entidades del texto donde, debido alsupuesto de independencia de la entidad, no se distinguiran entre personas, organizaciones,empresas u otros. Luego, gracias a esta informacion, se pueden generar las tuplas {Ti|Ti =(Emisor, Tema,Entidadi)} desde cada tupla (Emisor, Tema, Texto).

La ultima y la mas compleja es la asignacion de sentimiento a las entidades reconocidas.Este proceso complementa la informacion anterior al determinar si existe orientacion enla referencia y, en caso de existir, si esta es positiva o negativa.

2.3.1. Asignacion de sentimiento

Formalmente la asignacion de sentimiento consiste en agregar a las tuplas {Ti|Ti =(Emisor, Tema,Entidadi)} la componente orientacion o donde, por simplicidad, se suponeque o ∈ {−1, 0, 1}. La orientacion−1, 0 o 1 indica que la referencia esta en el lado negativo,en el medio o en el lado positivo, respectivamente, del eje hipotetico planteado en la Figura2.1.

Cabe senalar que, segun las definiciones planteadas, se minan expresiones de todo tipode direccion, orientacion y persona.

La estrategia para abordar el problema solucion fue elaborar un nuevo tipo de reglasllamadas reglas de sentimiento. Estas reglas reciben una expresion i y una entidad e comoentrada y segun el arbol libre de contexto de esta expresion, la posicion de la entidad yde la fuente, indican si la orientacion de i es positiva, negativa o neutra respecto de e.

Dichas reglas son inducidas, automaticamente, desde un conjunto de entrenamiento,generado a mano, donde cada instancia es una tupla de la forma (expresion, fuente,entidad, orientacion).

La induccion se realiza a traves de un nuevo algoritmo, que genera reglas absolutamenteajustadas a cada instancia y que luego son desajustadas o generalizadas hasta que comienzana predecir (sobre el conjunto de entrenamiento) con una precision peor que un nivel dado.

No fue posible reutilizar herramientas del estado del arte de la Minerıa de Sentimientos,debido a que, como se menciona en el Marco Teorico, este se ha centrado en evaluar elsentimiento de documentos o textos completos[16] [19], mientras que en este estudio elobjetivo es minar la orientacion sobre entidades particulares, sin considerar la orientaciontotal del texto en el cual se encuentra. Esto implica una complejidad mucho mayor ya que,aun si encontrasemos la orientacion de un texto, serıa difıcil determinar a que entidadesse les esta asignando (si es que se le asigna a alguna).

24

Page 33: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Por otro lado, el problema que se quiere abordar acarrea la imposibilidad de descartarelementos que comunmente se descartan, como signos de puntuacion, acentos, stopwords,etc. Esto, pues cada uno de ellos aporta informacion valiosısima cuando funciona enagregado y, mas aun, cualquier modelo tipo bag of words no funcionara al ser el orden delas palabras un elemento muy relevante.

El conjunto de complejidades encontradas al abordar el problema hizo pensar que lasherramientas de minado generales, como Redes Neuronales y Naive Bayes o de secuencias,como Conditional Random Fields u otros enfoques puramente estadısticos, no iban a sersuficientes. Por otro lado, enfoques mas cercanos al area de Minerıa de Sentimientos, comoel del sentiment analyzer [15], requieren grandes cantidades de conocimiento experto puesutilizan reglas elaboradas a mano, algo poco escalable y portable a otros idiomas. Es poresto que se opto por la creacion de modelos ad-hoc para abordar el problema.

25

Page 34: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Capıtulo 3

Desarrollo

Para el desarrollo de este trabajo se recopilo informacion necesaria sobre las intervencionesde los diputados y luego se agrego informacion de entrenamiento mediante una interfazweb.

La informacion de entrenamiento permitio generar y evaluar reglas de prediccion desentimiento, las que luego fueron aplicadas en un buscador de relaciones (emisor, tema,entidad, texto, orientacion) que recibe como entrada el emisor y la entidad y tiene comosalida las intervenciones del emisor sobre la entidad y la orientacion de tales intervenciones.

3.1. Datos del sistema

Los datos necesarios para el funcionamiento del sistema son las referencias (emisor,tema, entidad, texto) mas informacion anexa sobre los diputados (ambas extraıdas desdelos informes de los boletines de la pagina de la Camara de Diputados) y la informacionde entrenamiento necesaria para la induccion de las reglas de prediccion del sentimientosobre las relaciones (emisor, tema, entidad, texto).

3.1.1. Base de datos de la Camara

Una primera etapa del trabajo fue llenar la tabla referencias con las relaciones(emisor, tema, entidad, texto) y con informacion extra de los diputados consistente, en sudistrito y partido polıtico. Las tablas generadas se encuentran ilustradas en la Figura 3.1.

Para realizar esta tarea de transformaron los documentos Word Document, descargadosdesde la web de la Camara, en documentos de texto plano, se parsearon para extraerrelaciones (emisor, tema, texto) y finalmente se extrajeron entidades para obtener relacionesde la forma (emisor, tema, entidad, entidad, texto).

26

Page 35: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Políticos

Temas

Referencias

referencia_id

Textos

textotexto_id

sobre un

en un

politico_id

nombre completo

partido

region

distrito

periodo

entidad

emitida por

sobre

nombre

entidad_id

tema_id

titulo

fecha

Figura 3.1: Datos extraıdos desde las bitacoras.

Preparacion de archivos

Desde la seccion de Boletın de Sesiones de la Camara se extrajeron los boletinesutilizando un script programado en Bash que a traves de wget los descargaba uno poruno de la lista ahı disponible. La necesidad de este proceso surgio de la escasa disposiciondel Centro de Computacion del Congreso a la entrega de la base de datos de documentos.

El resultado de esta operacion fue un conjunto de archivos de tipo Word Document95 no legibles directamente por las funciones de lectura de archivos tradicionales. Estose debe a que el formato Word Document 95 es propietario y no existen librerıas quepermitan acceder limpiamente a sus contenidos.

Para lograr este objetivo se programo en Bash un modulo que, usando la aplicaciontextutil, realizaba la conversion del tipo Word Document a un archivo de texto plano.Esta conversion conlleva la perdida de cualquier formato tal como estilos de texto, tablas,etcetera.

La conversion no fue limpia y se encontraron caracteres erroneos pero, afortunadamente,el numero de defectos era relativamente bajo y consistentes por lo que se repararonmanualmente utilizando una tabla de asociacion caracter defectuoso → caracter correcto.

Finalmente se logro un conjunto de boletines sin formato y procesables por las funcionestradicionales de lectura de texto plano.

27

Page 36: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Heurıstica de extraccion de relaciones (tıtulo, emisor, texto)

Los documentos de texto plano no poseen un formato estandar que permita aplicarreglas para la extraccion de las tuplas (titulo, emisor, texto).

Luego de intentar con varias heurısticas, la que funciono mejor fue la aplicacion de lassiguientes expresiones regulares:

[emisor, texto] = /([Λ:]+) : ([Λ ]+)/

[titulo] = /Λ[A− Z] + $/ y que este arriba de [emisor, texto]

Extraccion de entidades

Para cada texto extraıdo se aplico un extractor de entidades especialmente calibradopara la tarea. La calibracion consistio en aumentar el recall en desmedro de la precision.La razon para esto es que es menos grave calificar mal una entidad que perderla y perderun potencial sujeto de asignacion de sentimiento.

El extractor de mejores resultados conocido hasta el momento es CRF o ConditionalRandom Fields. El problema de este extractor es que es difıcil calibrarlo para lograr unRecall alto en sacrificio de precision.

La solucion propuesta, en cambio, busca secuencias particulares de tags Part of Speech,por ejemplo busca la secuencia (ART, NP) que consiste en un artıculo seguido de unsustantivo propio, tal como El Mercurio.

La secuencias a buscar se implementaron mediante expresiones regulares sobre textotagueado. Estas fueron inferidas en base a ensayo y error y son las siguientes1:

1. <NC-M | NP-M | ADJ-M >

(<PREP-de> | <DASH-M> | <PDEL-M | ART-M | CARD-M> | <.+-M | .+-M>)*

<NC-M | NP-M | CARD-M> | <.+-M>

2. <ART-M > < NC-M | NP-M | ADJ-M>

3. <NC-M | NP-M | ADJ-M >

La sintaxis consiste en que cada instancia de un tag POS va entre < y > y el sufijo-M denota que la palabra comienza con mayuscula. Sobre esto se aplican los operadorestradicionales de expresiones regulares.

1Las reglas estan orden de especificidad y, por consiguiente, de aplicacion.

28

Page 37: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Implementacion

Como se menciono, la descarga, transformacion y reparacion de los documentos WordDocument de las sesiones de la Camara se implemento en un script Bash. Este script,llamado download fix camara.sh, realiza internamente la descarga y transformacion yllama a fixer.pl para la reparacion de los archivos. El script Perl fixer.pl implementala tabla de asociacion entre caracteres erroneos y correctos que permite corregir la codificacionde un texto.

La generacion de relaciones (tıtulo, emisor, entidad, texto) (compuesta por la heurısticade extraccion de relaciones (tıtulo, emisor, texto) y la extraccion de entidades) fue programadaen Perl en un modulo llamado big chunk.pl. Este modulo lee los documentos generadospor download fix camara.sh y entrega las relaciones en archivos de texto plano.

Finalmente, ya con las entidades reconocidas, se puebla la base de datos con relaciones(emisor, tema, entidad, texto) a traves de un script desarrollado en PHP llamadoinsert references.php. Este modulo recorre los archivos generados por big chunk.pl

e inserta los valores la base de datos.

3.1.2. Datos de entrenamiento

Las instancias de entrenamiento para la induccion de reglas de sentimiento consistenen las tuplas (texto, entidad, fuente, orientacion de la fuente, orientacion resultante sobreentidad). El texto es la oracion que contiene a la entidad y a la fuente, la orientacionde la fuente es la orientacion intrınseca (almacenada en la base de datos) de la fuente yla orientacion resultante sobre la entidad es el sentimiento que en definitiva es aplicadoa la entidad. Dichas orientaciones permiten deducir el sentido de una regla, esto pues elsentido es igual a su multiplicacion.

Para obtener estos datos se procedio etapas.

1. Creacion de base de datos de terminos fuente.

2. Anotacion de la orientacion de la entidad, es decir, extraccion de relaciones (texto,entidad, orientacion sobre entidad).

3. Busqueda manual de fuentes que entregan sentimiento, es decir, generacion delas relaciones (texto, entidad, fuente, orientacion de la fuente, orientacion sobreentidad) por cada fuente encontrada dentro de la oracion.

El proceso de identificacion de que es o no, una opinion a favor, o en contra eseminentemente complejo y es en sı mismo subjetivo. Inspirado en los supuestos planteados,se clasificaron las expresiones segun el eje de sentimiento definido en la Figura 2.1.

29

Page 38: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Adjetivo Orientacion Sustantivo Orientacion Verbo Orientaciondesatento -1 muerte -1 matar -1agresivo -1 odio -1 violar -1receloso -1 delito -1 destruir -1prometedor 1 prosperidad 1 felicitar 1propicio 1 honor 1 saludar 1prospero 1 justicia 1 amar 1

Cuadro 3.1: Algunas fuentes de ejemplo por tag part of speech.

Creacion de base de datos de terminos fuente

Basandose en Turney y Littman [16], el grado de fuente de una palabra se calculacomo la asociacion SO − PMI con el conjunto de palabras positivas y negativas.

Turney y Littman usaron Altavista por permitir el uso del operador NEAR, pero Altavistautiliza actualmente tecnologıa de Yahoo y esta carece del operador. Para sobrellevar estadificultad se uso el buscador Exalead, unico en el mercado con el operador.

Fue imposible reeditar lo logrado en el paper mencionado, obteniendose resultadosmuy malos. Una razon posible es que en el paper se aplicaba esta idea sobre documentosen ingles y en este trabajo se hizo solo sobre documentos en espanol, con un numero dedocumentos considerablemente menor y consiguientemente con mayor ruido.

Afortunadamente, se encontro el lexicon (listado o diccionario anotado de terminos) depalabras positivas y negativas de Inquirer de Harvard [8] y el affect lexicon de Multiwordnet[9].Ambos lexicons fueron unidos generando un conjunto de 6,905 fuentes de muy buenacalidad (ver Cuadro 3.1 para algunos ejemplos).

Los terminos fuente fueron almacenados en la tabla sentiment lexicon stemmed (verFigura 3.2). Esta tabla sentiment lexicon stemmed contiene relaciones entre palabrasy un indicador de orientacion que puede ser 1 o −1 en el caso positivo o negativo,respectivamente.

Anotacion de la orientacion de la entidad

La primera parte de este proceso consistio en seleccionar la orientacion de cada entidadde un conjunto dado. Esto se logro a traves del modulo entrenar.php, el cual presentalos archivos por entrenar y al seleccionar uno entrega una interfaz de entrenamiento.

La interfaz de entrenamiento, ilustrada en 3.4,muestra en forma destacada las entidadesdel documento, permitiendo para cada una elegir una opcion del Cuadro 3.2. Al terminarse almacena el documento asignandole el estado entrenado, sin entrenar o errores.

30

Page 39: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

sentiment lexicon

stemmed

stemm

orientacion

palabra

id

Figura 3.2: Tabla del sentiment lexicon.

NN No es una entidad+ Entidad valida y sentimiento positivo contra esta- Entidad valida y sentimiento negativoN Entidad valida sin sentimiento.

Cuadro 3.2: Opciones de entrenamiento.

Se anotaron cerca de 1500 referencias en aproximadamente 130 documentos de 200lıneas en promedio. El resultado se ilustra en la Figura 3.4 a traves de un diagramaentidad relacion.

Busqueda de fuentes que entregan sentimiento

Luego de este primer filtro se dejaron las referencias positivas, negativas y neutras quetuviesen fuentes y se identificaron manualmente las fuentes que se aplicaban a la entidadreferenciada y con que sentido. El sentido indica si la orientacion que entrega la fuente seinvierte o se mantiene. Por ejemplo si la orientacion de la fuente es 1 y la de la entidad es−1, entonces quiere decir que el sentido es −1.

Oracion fuente sentido“Felicito al Ministro de Hacienda” felicitar 1“Los funcionarios de Gendarmerıa sonenormemente sacrificados”

sacrificado 1

“No vemos, por parte de las autoridades deGobierno, una accion concreta y firme”

concreta -1

“No vemos, por parte de las autoridades deGobierno, una accion concreta y firme”

firme -1

Cuadro 3.3: Ejemplo de entrenamiento de aplicacion de fuentes.

31

Page 40: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Figura 3.3: Interfaz de entrenamiento.

referenciasdata

conjuntoentrenamiento

id orientación

posición

id

entrenado

referencias detalla

referencias aporta información entrenamiento

comentarios

Figura 3.4: Tablas del framework de entrenamiento.

Gracias a este proceso se generaron 491 tuplas de esta forma, el Cuadro 3.3 muestraalguna de ellas. Esto se hizo insertando los valores directamente en columnas a traves delas hojas de calculo de Open Office.

32

Page 41: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

3.2. Induccion y aplicacion de reglas

El sistema desarrollado tiene por objetivo la prediccion del sentimiento respecto deuna entidad referenciada. Para esto se induce un conjunto de reglas que, en base a ciertasobservaciones sobre el conjunto de entrenamiento, entregan una prediccion del sentimientoasignado. El tipo de reglas se llama reglas de sentimiento y el tipo de observaciones sobrelos datos se llaman treelines. Los treelines son un corte del arbol de parsing al cual se leagrega informacion sobre la posicion de la entidad y la fuente.

Para determinar si una frase tiene sentimiento o no, el proceso consiste en aplicar elreconocedor de entidades, aplicar el reconocedor de fuentes y por cada fuente se aplicanlas reglas de sentimiento.

La aplicacion de reglas de sentimiento consiste en probar si la oracion satisface sutreeline y, en caso de hacerlo, se retorna su prediccion de sentimiento. En caso de nohacerlo, se intenta con la siguiente regla y ası sucesivamente.

Figura 3.5: Ejecucion del sistema de prediccion de sentimiento.

3.2.1. Treelines

Debido a las caracterısticas del problema, se busco minar patrones utilizando informacionnetamente linguıstica. Los patrones creados se llaman treelines y son cortes del arbol deparsing libre de contexto de una frase, a los cuales se le agrega informacion sobre laposicion de la entidad y la fuente.

En el arbol del Ejemplo 3.1 los cortes posibles son {{S}, {NP}, {ART,N, PRED −COMPL}, {ART,N, V,ADJP}...}. Es decir todas las secuencias que recorren el arbolcompleto sin elementos que sean hijos o padres de otros.

33

Page 42: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

(3.1) S

NP

ART

la

NC

casa

PRED-COMPL

V

es

ADJP

ADVP

ADV

muy

ADJ

bella

Estos cortes se anotan con la posicion de la entidad y la fuente. Por ejemplo si laentidad es casa y la fuente es bella, el corte anotado {ART,N, PRED−COMPL} deberıaser {ART,N/ENT, PRED − COMPL/FUENTE}, donde ENT y FUENTE son loskeywords de entidad y fuente, respectivamente, e imponen que se debe observar estoselementos dentro del constituyente. Esta secuencia se llama treeline.

Decimos que una frase satisface el treeline si su arbol de parsing contiene el corte yla posicion de su entidad y su fuente coincide con las anotaciones. Como se vera masadelante, una regla de sentimiento observa si una expresion satisface un treeline y, en casode hacerlo, retorna su prediccion del sentimiento sobre esta.

Cortes de un arbol

Un corte es una secuencia de nodos que recorre el arbol de izquierda a derecha, dondecada nodo no puede ser ni hijo ni padre de otro nodo en el corte. Su importancia radicaen que corresponde a un estado intermedio del parsing de una oracion y, por lo tanto,implica toda la estructura que esta sobre el.

Es ası como en la oracion “El ministro es correcto” el corte {El,Ministro, es.correcto}determina absolutamente el arbol de parsing completo mientras el corte de sus POS-Tags,{ART,NP, V BZ.ADJ}, determina todo el arbol de parsing menos las hojas. Existe unarelacion uno a uno entre un corte y el arbol que lo genera.

La relacion entre los cortes y la estructura que se encuentra sobre estos implica que uncorte tambien determina conjunto de cortes de la estructura superior. Inspirado en estodefinimos la relacion de orden sobre cortes � como:

c1 � c2 ⇔ c2 ∈ cortes(ArbolDeHojas(c1)) (3.2)

Donde cortes(x) entrega los cortes posibles de x y ArbolDeHojas(x) entrega el arbolde parsing de hojas x.

34

Page 43: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Se nota que � es completa, pues todo par de cortes c1, c2 satisface o no la proposicionc2 ∈ cortes(ArbolDeHojas(c1)), refleja dado que se tiene que ∀c, c ∈ cortes(ArbolDeHojas(c))y transitiva ya que dados los cortes c1, c2, c3 con c1 � c2 y c2 � c3 o equivalentementec2 ∈ cortes(ArbolDeHojas(c1)) y c3 ∈ cortes(ArbolDeHojas(c2)) se tendra que c3 ∈cortes(ArbolDeHojas(c1))⇔ c1 � c3.

Por otro lado, si el arbol sobre el cual se extrajo el corte fue generado por la gramaticaG, libre de contexto, el lenguaje {x/x satisface C} es tambien libre de contexto. Estopues la gramatica que lo representa es la de reglas {S → C}

⋃{r/r ∈ G, lhs(r) ∈ C}, la

cual es libre de contexto.

Finalmente, respecto a la busqueda de cortes particulares se tiene que el numero sobreun arbol binario perfectamente balanceado de 2k − 1 nodos crece segun la recurrencia en3.3, donde c es una constante y f(k) una funcion lineal. Esta recurrencia es exponencial ynos sugiere que no es posible hacer una busqueda exhaustiva de los cortes para un numeronormal de palabras.

Rk = 1 +R2k−1

= O(cf(k))(3.3)

3.2.2. Las reglas de sentimiento

Una regla r de sentimiento equipada con un treeline tl y un sentido s, es una funcionde la forma:

r(o, ent, fte) =

{s ∗Or(fte) si satisface(tl, o, ent, fte)0 ∼

Donde:

satisface(tl, oracion, entidad, fuente) Responde verdadero si es que el arbol de parsingde oracion o satisface el treeline tl. Se recuerda que se satisface el treeline si el arbolcontiene el corte y la posicion de entidad y fuente es la especificada.

Or(x) Es la orientacion de la fuente x.

Por ejemplo podemos formar una regla con de treeline “NP/ENTIDAD es ADJ/FUENTE”y sentido uno. Dicha regla ante la oracion “El Ministro es correcto” respondera 1 puesOr(′correcto′) = 1 y la oracion satisface el treeline.

35

Page 44: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Generalidad de una regla

La generalidad de una regla, g(r) ∈ [0, 1] se define como la probabilidad de generacionde su treeline o equivalentemente del arbol que esta sobre este. Esta medida esta biendefinida pues todo treeline valido es generado a partir de la aplicacion de una secuenciade producciones con probabilidad asociada.

La intuicion de la generalidad de una regla es que tan facil es que una oracion lasatisfaga. Una oracion que tenga un treeline mas ajustado, tendra menor generalidad ypor lo tanto sera menos probable que una oracion la satisfaga. Casos extremos son elcorte {S} que tiene generalidad maxima, igual a uno, pues toda oracion en el lenguaje losatisface, en cambio, el corte {El,Ministro, es, correcto} tiene generalidad muy cercanaa 0 y por lo tanto sera menos probable que sea satisfecho por una oracion.

Notamos que si dos cortes, c1 y c2 satisfacen c1 ≺ c2 entonces la generalidad de c1

sera estrictamente mayor a la de c2.

Generalizacion de reglas

Sea R un conjunto de reglas definimos la generalidad total de R como la sumatoriade la generalidad de cada una. Esta medida tiene sentido solo si para todo toda par dereglas r1 y r2 en R se tiene que r1 satisface f ⇒ r1 no satisface f .

Sea T un conjunto de tuplas de entrenamiento de la forma (oracion, fuente, orientacionfuente, orientacion entidad). Decimos que un conjunto de reglas R satisface a T si y solo sitodo2 treeline que satisface la oracion de una tupla t en T tiene una regla cuya orientaciones la orientacion de la entidad de t.

Definimos el R maximo respecto a T como el R de maxima generalizacion totalrestringido a que R satisface a T .

maxR

∑ri∈R

g(ri)

s.a R satisface a T

(3.4)

Para calcular este conjunto se procede a recorrer las instancias de entrenamientogenerando una regla por cada una. Estas reglas tienen un treeline igual a los nodosterminales de la oracion de la instancia, los cuales luego se generalizan de manera independientea traves de LearRuleAprox(). Finalmente, se elimina toda regla que tiene una precondicionque implica la de otra regla para que la solucion sea global.

2Notamos que esta nocion es generalizable para aceptar un numero arbitrario de errores.

36

Page 45: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

El algoritmo de minado queda descrito por el Algoritmo 3 notando que como LearnRule()se usara LearRuleAprox() (ver Algoritmo 4).

Algorithm 3 Recorrido de expresiones del entrenamiento.

1: Let instancias entrenamiento[]2: Let rules[]3: for instancia ∈ instancias entrenamiento[] do4: LearnRule(expresion, instancias[] )5: end for6: for rule1 ∈ rules[] do7: for rule2 ∈ rules[] do8: if precond(rule1)⇒ precond(rule2) then9: rules.remove(rule2)

10: end if11: end for12: end for

Algoritmo aproximado de generalizacion

Este algoritmo utiliza resultados locales de manera muy eficiente. Se hacen k ordenamientosposibles de las hojas y por cada uno se realiza un ascenso a traves de cada rama hastaque el treeline deje de satisfacer el conjunto de entrenamiento. Luego del fallo se avanza ala siguiente rama y ası sucesivamente. Finalmente se toman los k candidatos y se escogeel de maxima generalidad.

Algorithm 4 LearnRuleApprox(arbol, instancias entrenamiento)

1: Let numeros[]2: Let candidatos[]3: for i ∈ {1, 2...|arbol.hojas()|} do4: numeros.agregar(i)5: end for6: for i ∈ {1, 2...k} do7: numeros.desordenar()8: for i ∈ {1, 2...|arbol.hojas()|} do9: while satisface(candidato.subirPor(i), instancias entrenamiento) do

10: candidato = candidato.subirPor(i)11: end while12: end for13: candidatos.agregar(candidato)14: end for15: return maximaGeneralidad(candidatos)

37

Page 46: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

La calidad de este algoritmo es arbitraria, pues si se recorren los k = n! ordenamientos,con n igual al tamano del texto, el maximo calculado sera en efecto el global exacto.

Figura 3.6: Algoritmo aproximado de generalizacion de reglas.

3.2.3. Generacion de arboles de parsing

La generacion y aplicacion de reglas involucra la elaboracion de arboles de parsingsobre las oraciones que interesa estudiar. Enunciamos los aspectos claves para lograr unbuen desempeno en esta tarea.

Gramaticas altamente ambiguas.

Problemas de cobertura de la gramatica.

Alto costo computacional de generar los arboles.

Para abordar el primer problema se utilizaron gramaticas probabilistas libres de contextoque, ademas de determinar la pertenencia o no al lenguaje, entregan una probabilidad deparsing que permite discriminar entre los arboles posibles.

Para el segundo se propuso hacer POS-Tagging de la oracion y sobre los POS-Tagsse construyo el arbol de parsing. Ası se aprovecha el mayor poder de induccion de losPOS-taggers a nivel lexico.

Finalmente para el tercero se propuso un algoritmo que almacena estados intermediosdel parsing en un cache indexado por secuencias de tamano arbitrario.

38

Page 47: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Induccion y entrenamiento de Gramatica

El proceso de induccion de una gramatica libre de contexto en general consiste enrecorrer los arboles sintacticos generados por expertos desde ficheros llamados treebanks(ver 5.1) y luego por cada arbol se generan reglas de la forma Constituyente→ Hijos.

En el caso de las PCFG la probabilidad se estima como el soporte de la regla.Por ejemplo si de las N veces que se observo la constituyente C, x fueron sobre lasconstituyentes D, F se crea la regla:

C → DF (p =x

N) (3.5)

Expansion de la gramatica

Una desventaja del enfoque anterior es que los treebanks si bien son ricos en relacionesentre constituyentes tienden a ser pobres al nivel lexico. Esto disminuye drasticamente lacobertura de la gramatica y es razon importante para su falta de aplicacion en problemasreales.

Los POS-Taggers en este caso son muy buenos pues tiende a haber sets de entrenamientomucho mas grandes y consiguientemente mayor numero de palabras conocidas. Por otrolado, son capaces de aprender relaciones estadısticas locales entre tags y pueden inclusotaggear palabras que no se conocıan pues no estaban en el set de entrenamiento.

A raız de esto se modifica la gramatica cortando las reglas a nivel lexico y se reemplazanpor la aplicacion de un POS-Tagger. Es decir, se aplica el POS-Tagger y al parser en vezde entregarle las palabras como tokens, le entregamos el listado de POS-Tags.

Formalmente el corte lexico consiste en podar todas las reglas de produccion de laforma C → w donde C es un POS-Tag y w es una palabra y en agregar reglas de la formaC → C ′ con probabilidad p igual a la proporcion de ocurrencias de la palabra sobre laspalabras del mismo tag segun el POS-Tagger.

Mejoras en la eficiencia del algoritmo de Viterbi

El algoritmo de Viterbi es conocido por ser O(n3) con n el numero de palabras. Esteresultado es enganoso porque en la practica las gramaticas de lenguaje natural son muygrandes3 lo que determina que se tenga una constante de magnitud importante. En estetrabajo se prefiere no asumir el tamano de la gramatica como constante y que en definitivael algoritmo de Viterbi es O(n3k) con k el numero de reglas de la gramatica.

3Una gramatica utilizada tenıa 12000 reglas.

39

Page 48: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Es por esto que en primera instancia se trabajo en reducir el numero de operacionesasociadas a las gramaticas, es decir el factor k. Un avance fue indexar las reglas por sulado derecho logrando una reduccion a k operaciones4, con k igual al numero de ladosderechos distintos.

Figura 3.7: Cache de producciones indexadas por secuencias.

Sin embargo, la principal mejora fue hacer una tabla de hash persistente que indexalas producciones mediante una secuencia de tokens como clave (ver Figura 3.7). El modelotolera almacenar hasta n-gramas de POS-Tags con n es un numero arbitrario.

El resultado es una reduccion del algoritmo a tiempo O(n2) en el caso de que el cachecontenga todas las subsecuencias de tokens y de O(n3k) en el peor caso.

La inspiracion de esta idea proviene del hecho que pocas subsecuencias de n-gramspermiten cubrir un gran porcentaje de apariciones de las subsecuencias posibles (ver 3.8).La razon es que la aparicion de subsecuencias no se distribuye de manera perfectamenteuniforme y se pierde entropıa al agregar nuevos elementos en la secuencia.

Se ve que porcentualmente desde el unigram hasta el trigram se necesita cada vezmenos secuencias para cubrir todas las ocurrencias posibles del texto. Sin embargo al llegara tetragram se produce una caıda brusca de la curva. Esto nos indica que no valdra lapena almacenar tetragrams en la tabla de hash pues es muy probable que una oracion nolo contenga. Ası, el n escogido es tres por lo que la tabla exige en promedio O(s ∗ z) enmemoria (z numero promedio de producciones por secuencias de tres elementos) y cabenotar que se busca cubrir solo el 80 % de las apariciones posibles por lo que se usa solo el20 % de las mejores secuencias.

4En la practica la reduccion es de un 300 %.

40

Page 49: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Figura 3.8: Mejor cobertura posible por un subconjunto de secuencias n-gram.

Comparacion distintos tipos de parsing

Solo se estudio la generacion de arboles de parsing completos a traves del algoritmode Viterby modificado, sin embargo, se estudio la generacion de parsings incompletosmediante las estrategias de arboles superficiales y arboles de tags POS.

(a) S

NPP

ART

El

NC

diputado

CL

VP

V

es

NPP

ART

una

ADJ

gran

NC

persona

(b) S

NPP

ART

El

NC

diputado

VSfin

es

NPP

ART

una

ADJ

gran

NC

persona

(c) S

NC

diputado

V

es

ART

una

ADJ

gran

NC

persona

Cada tipo de parsing ofrece distintas posibilidades de anidacion. El arbol completopermite generar anidaciones sin lımite mientras el arbol superficial y el arbol de pos tagspermiten anidar hasta 3 y 2 niveles respectivamente.

41

Page 50: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

La razon de buscar otras alternativas al parsing de las oraciones es netamente deeficiencia. El mejor algoritmo de generacion de arboles completos es O(n3) mientras quepara generar arboles superficiales y de tags POS existen algoritmos O(n)5. El rendimientoexperimental de cada uno se ilustra en la Figura 3.9.

largo0 10 20 30 40 50 60 70

log(

tiem

po)

0.5

1

5

10

50

100

500

1000 Parsing

POS Tagging

Shallow Parsing

Figura 3.9: Logaritmo del tiempo de parsing versus el largo de la entrada.

El crecimiento del tiempo de las estrategias superficial y de tags pos es constante, apesar que el crecimiento teorico es lineal. La razon es que para oraciones del rango detamanos que se estudiaron, el costo extra por palabra es despreciable frente a la constantede inicializacion de cada modelo.

Claramente el algoritmo de Viterby es superado por las otras dos estrategias, y esmas, para tamanos sobre 30 parece prohibitivo aplicarlo en tiempo de ejecucion paraaplicaciones en demanda. Por ejemplo, una oracion de 62 palabras tardo mas de 32 minutosen ser parseada.

A raız de lo ultimo se trabajo usando la estrategia de parsing superficial, a riesgo degenerar reglas de peor calidad.

Segun el estado del arte existen otras alternativas para realizar el parsing de manerarapida, en particular se investigo la aplicacion de Link Grammars [4]. Lamentablementelas implementaciones de este tipo de gramaticas exigen la insercion manual de reglasgramaticales y no existen reglas para el espanol ya desarrolladas.

5La diferencia entre ambos es que el algoritmo de parsing de arboles superciales presenta una mayorconstante.

42

Page 51: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Figura 3.10: Diagrama de clases del modulo de aprendizaje

3.2.4. Implementacion

La creacion y generalizacion se implemento en la clase MaximumGeneralityTrainer

y la aplicacion (y el testing) de las reglas se programo en la clase Predictor. Ambaspertenecen al modulo sentiment.

Por otro lado, para incorporar las mejoras de eficiencia al parsing libre de contexto delas oraciones en espanol, se reimplemento un parser de Viterby previamente desarrolladodentro del Natural Lenguage Toolkit [12] y se integro un parser superficial desarrollado enGATE [13]. Estos son usados por el modulo de sentiment a traves de la clase TreeMaker.

Todo el sistema fue desarrollado para el interprete Python 2.5 salvo la interfaz conGate que fue desarrollada en Java por facilidad de implementacion. En la Figura 3.10 semuestra el diagrama de clases por modulo.

43

Page 52: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Capıtulo 4

Experimentos

4.1. Conjunto de entrenamiento y validacion

Como se explico en la seccion Datos de entrenamiento, el resultado del proceso degeneracion de datos de estudio genero 491 instancias de la forma (oracion, entidad, fuente,orientacion fuente, orientacion resultante) sobre 271 oraciones distintas. La distribucionpor cada clase se ilustra en el Cuadro 4.11.

Orientacion Fuente OracionPositiva 379 156

Negativa 112 93Neutra - 22

Total 491 271

Cuadro 4.1: Distribucion instancias de entrenamiento.

Las oraciones con orientacion neutra pueden tener fuentes candidatas, esto es, palabrasque conllevan sentimiento en un determinado contexto, pero no lo hacen en la oracion encuestion, como se muestra en el ejemplo 4.1, donde en la primera oracion la palabra quereres fuente, pues hace que la oracion tenga orientacion positiva, mientras que en la segundaoracion la palabra querer no es fuente, pues no hace que la oracion tenga orientacion.

(4.1) a. Quiero a Chile.

b. Quiero informar que ya nacio Francisco.

1La orientacion de la fuente en los neutros, no se especifica pues los valores neutros no tienen fuentesque generen sentimiento.

44

Page 53: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Se puede notar que la mayorıa de las instancias estudiadas tienen orientacion positivay muy pocas tienen orientacion neutra. La razon de lo ultimo proviene del hecho que delconjunto original de instancias neutras, se descartaron aquellas sin fuentes candidatas,ya que no son un caso interesante de estudio, pues por el supuesto de existencia de unafuente son trivialmente neutras. Por lo tanto, solo se trabajo con instancias neutras quecontuviesen al menos una fuente candidata, caracterıstica no muy comun.

Por otro lado, se realizo un estudio preliminar para conocer el comportamiento delas fuentes candidatas dentro de cada oracion de entrenamiento, los resultados se hanresumido en el Cuadro 4.2.

Orientacion oracion Nro. promedio de fuentes Orientacion promedio de las fuentesPositiva 3.21 0.715

Negativa 2.85 -0.048Neutra 2.8 0.291Todas 3.083 0.4762

Cuadro 4.2: Distribucion de las fuentes en cada oracion.

Se aprecia que no existen diferencias relevantes entre el numero de fuentes promedioen las oraciones, segun la orientacion. Lamentablemente, este resultado solo tiene validezpara expresiones positivas y negativas, ya que existe un sesgo importante en la seleccion deexpresiones neutras, dada la restriccion de que contengan a lo menos una fuente candidata.

Ademas, se nota que el sentimiento promedio se comporta de acuerdo a lo esperado,ya que las expresiones positivas tienen una orientacion promedio de sus fuentes muchomayor que la de las neutras y estas, a su vez, mayor que la de las negativas. En particular,las ultimas efectivamente llegan a niveles negativos, a pesar de que encontro un mayoruso de palabras con sentimiento positivo que palabras con sentimiento negativo.

4.2. Ejecucion del entrenamiento

Para generar las reglas se separaron del conjunto de estudio 400 instancias paraentrenar (generadas sobre 210 oraciones) y sobre estas se corrio el algoritmo aproximadode generalizacion de reglas. Esto permitio generar 142 reglas de sentimiento, de las cualeslas de mayor soporte se ilustran en la Tabla 4.3.

Notamos que debido a que se no se parsearon las oraciones mediante gramaticas libresde contexto probabilistas, la generalidad del treeline t fue calculada mediante la heurıstica∏

w∈t freq(w). Con freq(w) la frecuencia de apariciones de w sobre el treebank.

45

Page 54: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Una particularidad importante del resultado obtenido del entrenamiento es que existenpocas reglas que se repiten mucho y muchas que se repiten poco. Este resultado indica quees posible cubrir los ejemplos con un pequeno numero de reglas. La regla mas frecuentetiene el treeline NPP/FUENTE, PDEL, NPP/ENT. Una instancia de ejemplo real se ilustraen 4.2.

(4.2) Frente a la irresponsabilidad︸ ︷︷ ︸NPP/FUENTE

del︸︷︷︸PDEL

Serviu︸ ︷︷ ︸NPP/ENT

, como representante ...

treeline sentido generalidad soporteNPP/FUENTE, PDEL, NPP/ENT, 1 0.0003825 13VLinf/FUENTE, NPP, PDEL, NPP/ENT, 1 6.5025e-06 13NPP/ENT, VHfin, VLadj, NPP/FUENTE, 1 6.5025e-06 11VLfin/FUENTE, NPP/ENT, 1 0.00255 11NPP/ENT, VLfin, NPP/FUENTE, 1 0.0003825 11NPP/ENT, NEG, VLfin/FUENTE, -1 4.335e-05 11VLfin/FUENTE, NPP, NPP, NPP/ENT, 1 5.7375e-05 10NPP/ENT, VSfin, NPP/FUENTE, 1 0.0003825 10NPP/FUENTE, CM, NPP/ENT, 1 0.0003825 10VLfin/FUENTE, PREP, NPP/ENT, 1 4.335e-05 10NPP/ENT, NPP, VLfin/FUENTE, 1 0.0003825 10NPP/ENT, VLfin/FUENTE, 1 0.00255 10NPP/ENT, VLfin, QU, NPP/FUENTE, 1 6.5025e-06 9NPP/FUENTE, PREP, NPP, CM, NPP/ENT, 1 9.75375e-07 9VLinf/FUENTE, PREP, NPP, PREP, NPP/ENT, 1 1.105425e-07 9NPP/FUENTE, CQUE, VLfin, NPP/ENT, 1 6.5025e-06 9PREP/FUENTE, PREP, NPP, PDEL, NPP/ENT, 1 1.105425e-07 9NPP/ENT, SE, VLfin/FUENTE, 1 4.335e-05 9VLfin/FUENTE, PAL, NPP/ENT, 1 4.335e-05 9V/FUENTE al NP/FUENTE 1 1.5e-05 1NP/ENTIDAD ser enormemente ADJ/FUENTE 1 1.9378359375e-10 1No ver, por parte de NP/ENTIDAD , NP/FUENTE -1 1.033e-11 1NP/ENTIDAD tener NP/FUENTE 1 1.75e-110 1

Cuadro 4.3: Reglas de sentimiento generadas por el algoritmo aproximado.

El proceso de entrenamiento tardo aproximadamente 30 minutos corriendo sobre unsistema con Kubuntu con kernel Linux 2.6.22-14-generic, procesador Athlon XP 2500+ y1GB en RAM.

46

Page 55: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

real\modelo NEG N POS TotalNEG 13 4 3 20

N 4 12 4 20POS 1 5 15 21

Total 18 21 22 61

clase recall precision medida-FNEG 0.722 0.65 0.684N 0.571 0.6 0.585

POS 0.681 0.714 0.697

Cuadro 4.4: Tabla de contingencia y tabla de recall, precision y medida-F.

4.3. Desempeno

Sobre el conjunto de 61 oraciones restantes, se aplico el reconocedor de fuentes yel modelo de reglas entrenado, para validar el modelo de minado de sentimiento. En elCuadro 4.4 se ilustra la tabla de contingencia.

Una consideracion importante es que los arboles sobre los cuales se generalizo tienenprofundidad acotada (por problemas de eficiencia del algoritmo de Viterby). Esto impideuna buena generalizacion de las instancias de entrenamiento y un consiguiente sobreajustea los datos.

Los resultados fueron satisfactorios para las clases positiva y negativa pues el algoritmofue eficaz en diferenciar entre estas. Lamentablemente, debido a que el principal errorde clasificacion del algoritmo es clasificar instancias con sentimiento como neutras, losresultados para la clase neutra no fueron buenos. Esto produjo un impacto negativo sobrela precision de las clases (ver Cuadro 4.4).

La razon del error de las neutras es que cuando no hay treelines que cubran la instancia,el sistema predice que la instancia pertenece a la clase neutra. Una alternativa, luego,para mejorar el algoritmo es generar reglas para la clase neutra, que identifiquen lasfuentes candidatas y generen por cada una, una regla de sentimiento con sentido 0. Ası sepodra aprender ademas, de instancias con orientacion neutra.

Por otro lado, para aumentar la cobertura de los treelines se propone incorporar uncriterio de satisfaccion mas flexible de los treelines que a su vez mejore el recall de lasclases positiva y negativa. Actualmente se compara con igualdad, lo que es demasiadorıgido. Serıa deseable aceptar instancias que esten a una distancia de edicion arbitrariadel treeline.

47

Page 56: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

4.4. Prototipo: El buscador de referencias

Usando una version del algoritmo que solo utiliza POS-Tags se desarrollo un buscadorde referencias. A este se le indica el autor y/o la entidad referenciada y retorna un listadocon el apellido del autor, el tıtulo del tema, la oracion en la cual se encuentra embebidala referencia y la orientacion de esta. La interfaz se ilustra en la Figura 4.1.

En caso de que un parametro no sea escrito no se impondra ninguna restriccion sobreeste atributo en tiempo de busqueda.

Figura 4.1: Interfaz del buscador de referencias.

48

Page 57: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Capıtulo 5

Conclusiones

En esta memoria se exploro una area nueva en las Ciencias de la Computacion:Minerıa de Sentimientos. Con la motivacion de estudiar las bitacoras de las sesiones dela Camara de Diputados y aumentar el conocimiento de los ciudadanos sobre la labor desus parlamentarios, se abordo la tarea de crear una herramienta capaz de analizar unaoracion y detectar si se trata de una opinion y, en caso de serlo, identificar sobre que oquien es la opinion y, lo mas importante, si esta es positiva o negativa.

Dada la motivacion, el trabajo incluyo recuperar informacion de la pagina Web dela Camara de Diputados y procesarla para poblar una base de datos con intervencionesde parlamentarios, junto con el autor de las mismas y el tema sobre el que tratan. Lamayor dificultad de esta parte del trabajo fue el reconocimiento de entidades dentro deuna oracion. Para abordar este problema, se desarrollo un sistema ad-hoc basado enexpresiones regulares que entrego resultados muy satisfactorios.

La mayor parte del esfuerzo de esta memoria se concentro en la difıcil labor de clasificaroraciones segun su orientacion (positiva, negativa o neutra). Para esto se creo un un modelode clasificacion basado en reglas sobre la estructura gramatical de las oraciones. Esta laborrequirio parsear el texto a traves de una gramatica libre de contexto inducida desde untreebank, esto es, un conjunto de entrenamiento de la gramatica espanola.

La planificacion del tiempo de desarrollo del algoritmo de parsing fue subestimada yesto provoco retrasos en el resto de las tareas de esta memoria. En particular, impidio laelaboracion de conclusiones respecto de las relaciones de conflicto y concordancia, tanto anivel de diputados, como de partidos, pero se considera que el sistema desarrollado proveela informacion necesaria para realizar esa labor, por lo que se sugiere como trabajo futuro.

49

Page 58: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Por otro lado, el primer metodo de prediccion de sentimiento con el que se trabajo,basado en Turney y Littman [16], no fue satisfactorio para esta aplicacion, pues trabajabaa un nivel demasiado agregado, es decir, obviaba muchas propiedades gramaticales deltexto evaluado, entregando malos resultados. Por lo tanto, se debio adoptar otro enfoque,este fue, desarrollar un nuevo tipo de reglas, llamadas reglas de sentimientos, basadas en elanalisis de ejemplos concretos de expresiones con sentimiento. Dicho enfoque mostro unamayor capacidad de capturar las propiedades gramaticales antes obviadas.

Los resultados obtenidos con el sistema desarrollado son prometedores, pues usan unconjunto muy pequeno de instancias de entrenamiento y son capaces de inferir sentimientocon buena precision. Sin embargo, se cree que el modelo de reglas y patrones es perfectible,pudiendo mejorar la clasificacion de las instancias neutras.

Al respecto se propone mejorar el modelo en tres aspectos:

1. Relajar la estructura de los treelines para que puedan generarse patrones de estructuraque no necesariamente sean igual al corte del arbol de parsing, para esto se proponeno imponer igualdad al treeline sino que un nivel arbitrario maximo de distanciade edicion. Esto hara perder propiedades teoricas, pero se cree que en terminospracticos hara el modelo mas flexible.

2. No considerar solo la orientacion predicha por la primera regla que satisface laoracion. Este enfoque hace que el algoritmo sea muy sensible, pues es dependientedel orden de aplicacion de las reglas. Un modelo que considere para cada oracion unvector donde cada componente corresponde a la satisfaccion de un treeline particular,de modo de considerar todos los treelines que son satisfechos por la oracion.

3. Crear la nocion de distancia de edicion o de Levenshtein, sobre la aplicacion secuencialde reglas gramaticales. Ası se podra cubrir expresiones que esten un nivel arbitrariode distancia gramatical del lenguaje definido por las reglas de sentimiento.

Si bien la motivacion elegida para este trabajo fue el estudio de las bitacoras de laCamara de Diputados, este trabajo tiene un sinfın de otras aplicaciones, en particularen el procesamiento de la informacion de la Web, abriendo un campo interesante tantoen las Ciencias Sociales como en la Minerıa de Sentimientos pues para la primera agregala componente semantica de la orientacion a las relaciones de una red social y por otrolado propone un nuevo algoritmo de minado de patrones secuenciales llamado treelinesque permiten capturar, con cobertura arbitraria, relaciones linguısticas relevantes en laformulacion de sentencias con sentimiento .

Respecto a las Ciencias Sociales sera interesante como trabajo futuro explorar lasimplicancias a nivel polıtico de este trabajo y por otro lado a nivel de la minerıa desentimientos es esperable realizar generalizaciones al modelo para que acepte categorıasmenos estrictas que orientacion positiva, negativa o neutra.

50

Page 59: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Bibliografıa

[1] Noam Chomsky. Three Models for the Description of Language. IRE Transactions onInformation Theory, 1956.

[2] Noam Chomsky. Syntactic Structures. The Hague: Mouton, 1956

[3] John Cocke y Jacob T. Schwartz. Programming languages and their compilers:Preliminary notes. Technical report, Courant Institute of Mathematical Sciences, NewYork University, 1970.

[4] Daniel Sleator y Davy Temperly Parsing English with a Link Grammar,ThirdInternational Workshop on Parsing Technologies. 1993.

[5] Helmut Schmid Probabilistic Part-of-Speech Tagging Using Decision Trees, 1994.

[6] TreeTagger http://www.ims.uni-stuttgart.de/projekte/corplex/TreeTagger/

[7] Spertus Smokey: Automatic recognition of hostile messages. 1997.

[8] Harvard, Inquirer Dictionary http://www.wjh.harvard.edu/ inquirer/

[9] Multiwordnet http://multiwordnet.itc.it/

[10] Bo Pang, Lillian Lee y Shivakumar Vaithyanathan Thumbs up? SentimentClasification using Machine Learning Techniques EMNLP 2002.

[11] Turney, P.D Thumbs up or thumbs down? Semantic orientation applied tounsupervised classification of reviews ACL 2002.

[12] Loper, Edward y Bird, Steven NLTK: The Natural Language Toolkit, 2002

[13] Cunningham, H. Maynard, D. Bontcheva, K. Cuadron, V. GATE: A framework andgraphical development environment for robust NLP tools and applications. Proceedingsof the 40th Annual Meeting of the ACL, 2002

[14] Klein y Manning 2003, A parsing: fast exact Viterbi parse selection

[15] J Yi, T Nasukawa, R Bunescu, W Niblack Sentiment analyzer: extracting sentimentsabout a given topic using natural language processing Techniques Data Mining, 2003.ICDM 2003.

51

Page 60: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

[16] Peter D. Turney, Michael L. Littman Measuring Praise and Criticism: Inference ofSemantic Orientation from Association 2003.

[17] P Beineke, T Hastie, S Vaithyanathan The sentimental factor: Improving reviewclassification via human-provided information Proceedings of ACL, 2004.

[18] Ana-Maria Popescu and Oren Etzioni Extracting Product Features and Opinions fromReviews HLT/EMNLP 2005.

[19] Wei-Hao Lin, Alexander Hauptmann Are These Documents Written from DifferentPerspectives? A Test of Different Perspectives Based On Statistical DistributionDivergence ACL 2006.

[20] Nitin Jindal y Bing Liu Identifying Comparative Sentences in Text Documents AAAI2006.

[21] Nitin Jindal y Bing Liu Mining Comparative Sentences and Relations AAAI 2006.

[22] Bing Liu Web Data Mining, Exploring Hyperlinks, Contents and Usage Data. Chapter11: Opinion Mining Springer, December, 2006.

[23] Sanjay Sood, Sara Owsley, Kristian J. Hammond, Larry Birnmaum ReasoningThrough Search: A Novel Approach to Sentiment Classification WWW 2007.

52

Page 61: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Apendices

53

Page 62: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Category Examples Claws c5 Brown PennAdjective happy, bad AJ0 JJ JJAdjective, ordinal number sixth, 72nd, last ORD OD JJAdjective, comparative happier, worse AJC JJR JJRAdjective, superlative happiest, worst AJS JJT JJSAdjective, superlative, semantically chief, top AJ0 JJS JJAdjective, cardinal number 3, fifteen CRD CD CDAdjective, cardinal number, one one PNI CD CDAdverb often, particularly AV0 RB RBAdverb, negative not, n’t XX0 * RBAdverb, comparative faster AV0 RBR RBRAdverb, superlative fastest AV0 RBT RBSAdverb, particle up, off, out AVP RP RPAdverb, question when, how, why AVQ WRB WRBAdverb, degree & question how, however AVQ WQL WRBAdverb, degree very, so, too AV0 QL RBAdverb, degree, postposed enough, indeed AV0 QLP RBAdverb, nominal here, there, now AV0 RN RBConjunction, coordination and, or CJC CC CCConjunction, subordinating although, when CJS CS INConjunction, complementizer that that CJT CS INDeterminer this, each, another DT0 DT DTDeterminer, pronoun any, some DT0 DTI DTDeterminer, pronoun, plural these, those DT0 DTS DTDeterminer, prequalifier quite DT0 ABL PDTDeterminer, prequantifier all, half DT0 ABN PDTDeterminer, pronoun or double conj. both DT0 ABX DT (CC)Determiner, pronoun or double conj. either, neither DT0 DTX DT (CC)Determiner, article the, a, an AT0 AT DTDeterminer, postdeterminer many, same DT0 AP JJDeterminer, possessive their, your DPS PP$ PRP$Determiner, possessive, second mine, yours DPS PP$$ PRPDeterminer, question which, whatever DTQ WDT WDTDeterminer, possessive & question whose DTQ WP$ WP$Noun aircraft, data NN0 NN NNNoun, singular woman, book NN1 NN NN

Cuadro 5.1: Siglas de Part of Speech segun tres corpus.

54

Page 63: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Category Examples Claws c5 Brown PennNoun, plural women, books NN2 NNS NNSNoun, proper, singular London, Michael NP0 NP NNPNoun, proper, plural Australians, Methodists NP0 NPS NNPSNoun, adverbial tomorrow, home NN0 NR NNNoun, adverbial, plural Sundays, weekdays NN2 NRS NNSPronoun, nominal (indefinite) none, everything, one PNI PN NNPronoun, personal, subject you, we PNP PPSS PRPPronoun, personal, subject, 3SG she, he, it PNP PPS PRPPronoun, personal, object you, them, me PNP PPO PRPPronoun, reflexive herself, myself PNX PPL PRPPronoun, reflexive, plural themselves, ourselves PNX PPLS PRPPronoun, question, subject who, whoever PNQ WPS WPPronoun, question, object who, whoever PNQ WPO WPPronoun, existential there there EX0 EX EXVerb, base present form (not infinitive) take, live VVB VB VBPVerb, infinitive take, live VVI VB VBVerb, past tense took, lived VVD VBD VBDVerb, present participle taking, living VVG VBG VBGVerb, past/passive participle taken, lived VVN VBN VBNVerb, present 3SG -s form takes, lives VVZ VBZ VBZVerb, auxiliary do, base do VDB DO VBPVerb, auxiliary do, infinitive do VDB DO VBVerb, auxiliary do, past did VDD DOD VBDVerb, auxiliary do, present part. doing VDG VBG VBGVerb, auxiliary do, past part. done VDN VBN VBNVerb, auxiliary do, present 3SG does VDZ DOZ VBZVerb, auxiliary have, base have VHB HV VBPVerb, auxiliary have, infinitive have VHI HV VBVerb, auxiliary have, past had VHD HVD VBDVerb, auxiliary have, present part. having VHG HVG VBGVerb, auxiliary have, past part. had VHN HVN VBNVerb, auxiliary have, present 3SG has VHZ HVZ VBZVerb, auxiliary be, infinitive be VBI BE VBVerb, auxiliary be, past were VBD BED VBDVerb, auxiliary be, past, 3SG was VBD BEDZ VBDVerb, auxiliary be, present part. being VBG BEG VBGVerb, auxiliary be, past part. been VBN BEN VBNVerb, auxiliary be, present, 3SG is, ’s VBZ BEZ VBZ

Cuadro 5.2: Siglas de Part of Speech segun tres corpus, continuacion.

55

Page 64: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Category Examples Claws c5 Brown PennVerb, auxiliary be, present, 1SG am, ’m VBB BEM VBPVerb, auxiliary be, present are, ’re VBB BER VBPVerb, modal can, could, ’ll VM0 MD MDInfinitive marker to TO0 TO TOPreposition, to to PRP IN TOPreposition for, above PRP IN INPreposition, of of PRF IN INPossessive ’s, ’ POS $ POSInterjection (or other isolate) oh, yes, mmm ITJ UH UHPunctuation, sentence ender . ! ? PUN . .Punctuation, semicolon ; PUN . :Punctuation, colon or ellipsis : . . . PUN : :Punctuation, comma , PUN , ,Punctuation, dash - PUN - -Punctuation, dollar sign $ PUN not $Punctuation, left bracket ( [ { PUL ( (Punctuation, right bracket ) ]} PUR ) )Punctuation, quotation mark, left ‘” PUQ not ”Punctuation, quotation mark, right ’” PUQ not ”Foreign words (not in English lexicon) UNC (FW-) FWSymbol [fj] * not SYMSymbol, alphabetical A, B, c, d ZZ0Symbol, list item A A. First LS

Cuadro 5.3: Siglas de Part of Speech segun tres corpus, continuacion.

56

Page 65: MINADO DE RELACIONES DE CONFLICTO EN LA CAMARA DE …

Figura 5.1: Ejemplo de arbol sintactico del UAM Spanish Treebank.

57