Cap´ıtulo 3 Extracción de opiniones sobre caracter´ısticas

Anuncio
Colección de Monografías de la Sociedad Española
para el Procesamiento del Lenguaje Natural
(SEPLN). Número 11
Sociedad Española para el Procesamiento del Lenguaje Natural (SEPLN)
http://www.sepln.org
[email protected]
Título: Extracción de Opiniones sobre Características: Un Enfoque Práctico Adaptable al Dominio
Autor: © Fermín L. Cruz Mata
ISBN: 978-84-615-9574-7
Depósito Legal: J 939-2012
Editores: L. Alfonso Ureña y Emilio Sanchís
Imprime: COMPOBELL, S.L.
Prólogo
La Sociedad Española para el Procesamiento del Lenguaje Natural (SEPLN) es una asociación
científica sin ánimo de lucro creada en el año 1983 con el fin de promocionar y difundir todo
tipo de actividades relacionadas con la enseñanza, investigación y desarrollo en el campo del
procesamiento del lenguaje natural, tanto en el ámbito nacional como internacional.
Entre las actividades principales de la SEPLN figuran:
•
•
•
•
La celebración de un congreso anual que sirve de punto de encuentro para los distintos
grupos que trabajan en el área del procesamiento del lenguaje natural.
La edición de la revista científica especializada Procesamiento del Lenguaje Natural
de periodicidad semestral. Un servidor Web (www.sepln.org) de referencia sobre
procesamiento del lenguaje natural donde se encuentran en acceso abierto todas las
publicaciones de la revista (journal.sepln.org).
Una lista moderada de correo electrónico (SEPLN-L) que sirve como boletín de información periódica (quincenal) y como espacio de información y discusión para los
miembros de la Asociación. La dirección para enviar cualquier comentario o aportación
a la lista es [email protected].
Una Edición anual de Premios SEPLN a la Investigación en Procesamiento del Lenguaje Natural.
A esta XI Edición de los Premios SEPLN a la Investigación en Procesamiento del Lenguaje
Natural se pudieron presentar a concurso trabajos monográficos de investigación originales
e inéditos de cualquier extensión, escritos por un miembro de la SEPLN, y que no hubieran
sido publicados o enviados a publicación con anterioridad a este concurso. Esta publicación
presenta el trabajo premiado este año por la comisión evaluadora.
La Junta Directiva de la SEPLN, en nombre de la Sociedad, quiere dejar constancia aquí de
la alta calidad de todas las obras presentadas a concurso en esta XI Edición de los Premios
SEPLN, y animar a todos sus miembros a la participación en sus futuras ediciones. Con la
publicación de estas contribuciones en su Colección de Monografías, la SEPLN podrá aportar
lo mejor de sus esfuerzos a la actualización y divulgación de la investigación en el campo del
procesamiento del lenguaje natural.
Junio 2012
Sociedad Española para el Procesamiento del Lenguaje Natural
Extracción de Opiniones sobre Caracterı́sticas:
Un Enfoque Práctico Adaptable al Dominio
Fermı́n L. Cruz Mata
[email protected]
Índice general
I
Preámbulo
17
1. Introducción
1.1. Motivación y contexto . . . . . .
1.2. Hipótesis . . . . . . . . . . . . . .
1.3. Resumen de la propuesta . . . . .
1.3.1. Resumen de aportaciones .
1.4. Estructura del documento . . . .
II
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Antecedentes
19
19
21
22
22
23
25
2. Procesamiento de textos subjetivos
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1. La web como fuente de opiniones . . . . . . . . . . . .
2.2. Análisis del sentimiento y minerı́a de opiniones . . . . . . . . .
2.2.1. Orı́genes . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3. Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.4. Recursos . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Experiencias previas en el área . . . . . . . . . . . . . . . . . .
2.3.1. Clasificación binaria de documentos basada en la opinión
2.3.2. Construcción de lexicones de opinión orientados al dominio . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3. Resumen automático de textos de opinión . . . . . . .
27
27
29
29
30
31
34
41
43
44
3. Extracción de opiniones sobre caracterı́sticas
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Principales trabajos relacionados . . . . . . . . . . . . . . . .
3.2.1. Primeros trabajos . . . . . . . . . . . . . . . . . . . . .
61
61
62
62
1
48
56
2
ÍNDICE GENERAL
3.2.2. La extracción de opiniones desde
la perspectiva de la extracción
de información . . . . . . . . . . . . . . .
3.2.3. Otros trabajos . . . . . . . . . . . . . . . .
3.3. Resumen comparativo de trabajos . . . . . . . . .
3.3.1. Extracción de caracterı́sticas . . . . . . . .
3.3.2. Búsqueda de palabras de opinión . . . . .
3.3.3. Clasificación de opiniones . . . . . . . . .
3.3.4. Supervisado vs. no supervisado e influencia
3.3.5. Analizadores y recursos lingüı́sticos . . . .
3.3.6. Evaluación de la tarea . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
del dominio
. . . . . . .
. . . . . . .
66
68
70
70
71
72
73
74
75
III Una propuesta para la
extracción de opiniones
79
4. Extracción de opiniones sobre caracterı́sticas
dominio
4.1. Introducción . . . . . . . . . . . . . . . . . . . .
4.2. Definición de la tarea . . . . . . . . . . . . . . .
4.2.1. Definiciones previas . . . . . . . . . . . .
4.2.2. Alcance de la tarea . . . . . . . . . . . .
4.2.3. Definición formal de la tarea . . . . . . .
4.2.4. Retos y dificultades de la tarea . . . . .
4.3. Resumen de la propuesta . . . . . . . . . . . . .
4.3.1. Sistema de extracción genérico . . . . . .
4.3.2. Recursos especı́ficos del dominio . . . . .
5. Recursos para la extracción de opiniones
5.1. Introducción . . . . . . . . . . . . . . . . . .
5.2. Corpus . . . . . . . . . . . . . . . . . . . . .
5.2.1. Calidad de los documentos . . . . . .
5.2.2. Tamaño del corpus . . . . . . . . . .
5.2.3. Representatividad de los documentos
5.2.4. Definición del recurso . . . . . . . . .
5.2.5. Sintaxis del recurso . . . . . . . . . .
5.3. Taxonomı́a de caracterı́sticas . . . . . . . . .
5.3.1. Definición del recurso . . . . . . . . .
5.3.2. Sintaxis del recurso . . . . . . . . . .
5.4. Corpus anotado . . . . . . . . . . . . . . . .
5.4.1. Definición del recurso . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
adaptable al
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
81
81
84
84
90
91
94
96
97
98
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
101
101
102
102
103
104
105
106
108
108
108
110
110
ÍNDICE GENERAL
5.5.
5.6.
5.7.
5.8.
5.4.2. Sintaxis de las anotaciones . . . . . .
Lexicón de opiniones . . . . . . . . . . . . .
5.5.1. Definición del recurso . . . . . . . . .
5.5.2. Sintaxis del recurso . . . . . . . . . .
Indicadores de caracterı́sticas implı́citas . . .
5.6.1. Definición del recurso . . . . . . . . .
5.6.2. Sintaxis del recurso . . . . . . . . . .
Patrones de dependencias . . . . . . . . . .
5.7.1. Definición del recurso . . . . . . . . .
5.7.2. Sintaxis del recurso . . . . . . . . . .
Listas de expresiones especiales . . . . . . .
5.8.1. Expresiones de negación . . . . . . .
5.8.2. Expresiones de no-negación . . . . .
5.8.3. Expresiones de polaridad dominante
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6. Metodologı́a para la generación de los recursos
6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2. Recolección y procesado del corpus . . . . . . . . . . . . . .
6.2.1. Extracción de los documentos . . . . . . . . . . . . .
6.2.2. Selección de los documentos . . . . . . . . . . . . . .
6.2.3. Procesado de los documentos . . . . . . . . . . . . .
6.3. Extracción semiautomática
de feature words . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1. Descripción del algoritmo . . . . . . . . . . . . . . .
6.3.2. Simulación de la extracción de feature words . . . . .
6.3.3. Influencia de las restricciones morfosintácticas . . . .
6.3.4. Influencia del número de candidatos aceptados o rechazados . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.5. Influencia del número de nuevas semillas de
opinión por iteración . . . . . . . . . . . . . . . . . .
6.3.6. Resultados de la extracción de feature words
para el dominio headphones . . . . . . . . . . . . . .
6.4. Construcción de la taxonomı́a de
caracterı́sticas previa . . . . . . . . . . . . . . . . . . . . . .
6.4.1. Taxonomı́a de caracterı́sticas previa para
headphones . . . . . . . . . . . . . . . . . . . . . . .
6.5. Anotación y validación de evidencias de opinión . . . . . . .
6.5.1. Validación de sintaxis . . . . . . . . . . . . . . . . . .
6.5.2. Validación de las caracterı́sticas . . . . . . . . . . . .
6.5.3. Validación de la polaridad . . . . . . . . . . . . . . .
6.5.4. Validación de la cobertura . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
110
111
111
113
114
114
115
116
118
121
122
122
123
124
.
.
.
.
.
125
125
126
127
128
129
.
.
.
.
129
130
132
133
. 135
. 137
. 138
. 141
.
.
.
.
.
.
141
144
145
145
145
147
4
ÍNDICE GENERAL
6.5.5. Corpus anotado para headphones . . . . . . . . . . .
6.6. Refinamiento de la taxonomı́a de
caracterı́sticas . . . . . . . . . . . . . . . . . . . . . . . . .
6.6.1. Refinamiento de la taxonomı́a de caracterı́sticas para
headphones . . . . . . . . . . . . . . . . . . . . . . .
6.7. Inducción del lexicón de opiniones . . . . . . . . . . . . . . .
6.7.1. Descripción del algoritmo . . . . . . . . . . . . . . .
6.7.2. Inducción del lexicón de opiniones para
headphones . . . . . . . . . . . . . . . . . . . . . . .
6.8. Ampliación del lexicón de opiniones . . . . . . . . . . . . . .
6.8.1. Descripción del método de ampliación . . . . . . . .
6.8.2. Ampliación del lexicón de opiniones para
headphones . . . . . . . . . . . . . . . . . . . . . . .
6.9. Inducción de los indicadores de
opiniones implı́citas . . . . . . . . . . . . . . . . . . . . . . .
6.9.1. Descripción del algoritmo . . . . . . . . . . . . . . .
6.9.2. Inducción de los indicadores de opinión
implı́cita para headphones . . . . . . . . . . . . . . .
6.10. Inducción de los patrones de
dependencias . . . . . . . . . . . . . . . . . . . . . . . . . .
6.10.1. Descripción del algoritmo . . . . . . . . . . . . . . .
6.10.2. Influencia de las restricciones morfosintácticas en los
patrones de dependencias . . . . . . . . . . . . . . .
6.10.3. Patrones de dependencias para headphones . . . . . .
IV
Un sistema de extracción de opiniones
. 147
. 148
. 150
. 153
. 153
. 156
. 158
. 159
. 160
. 166
. 166
. 168
. 172
. 172
. 176
. 176
181
7. TOES:
Un Sistema Extractor de Opiniones sobre Caracterı́sticas
Adaptable al Dominio
183
7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
7.2. Descripción de la arquitectura
del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
7.2.1. Entidades participantes . . . . . . . . . . . . . . . . . . 185
7.3. Definición de componentes abstractos y concretos . . . . . . . 186
7.3.1. Anotador de palabras de caracterı́stica . . . . . . . . . 187
7.3.2. Anotador de caracterı́sticas implı́citas . . . . . . . . . . 189
7.3.3. Enlazador de palabras de opinión . . . . . . . . . . . . 190
7.3.4. Separador de opiniones . . . . . . . . . . . . . . . . . . 194
7.3.5. Solucionador de opiniones superpuestas . . . . . . . . . 196
ÍNDICE GENERAL
5
7.3.6. Clasificador de opiniones . . . . . . . . . . . . . . . . . 198
7.3.7. Componentes simulados . . . . . . . . . . . . . . . . . 203
7.3.8. Pipelines de procesado . . . . . . . . . . . . . . . . . . 204
8. TOES: Evaluación y ajuste de parámetros
8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2. Metodologı́a de las evaluaciones . . . . . . . . . . . . . . . .
8.3. Evaluación individual de los
componentes . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.1. Evaluación del anotador de palabras de
caracterı́stica basado en la taxonomı́a . . . . . . . . .
8.3.2. Evaluación del anotador de caracterı́sticas
implı́citas basado en PMI-IR . . . . . . . . . . . . . .
8.3.3. Evaluación del anotador de caracterı́sticas
implı́citas basado en los indicadores . . . . . . . . . .
8.3.4. Evaluación del enlazador de palabras de opinión y de
expresiones especiales basados en ventana . . . . . .
8.3.5. Evaluación del enlazador de palabras de opinión y expresiones especiales basado en dependencias . . . . .
8.3.6. Evaluación del clasificador de opiniones basado en el
lexicón . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.7. Evaluación de los clasificadores de opiniones basados
en WordNet, SentiWordNet y PMI-IR . . . . . . . .
8.3.8. Evaluación del clasificador de opiniones basado en conjunciones . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.9. Evaluación de la combinación de clasificadores de opiniones . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4. Evaluación del sistema completo . . . . . . . . . . . . . . . .
8.4.1. Evaluación de pipelines ligeros de recursos . . . . . .
8.4.2. Evaluación de pipelines basados en recursos . . . . .
8.5. Resumen y análisis de los resultados . . . . . . . . . . . . . .
8.5.1. Importancia de los recursos especı́ficos del dominio .
8.5.2. Estimación de coste de la anotación y relación con la
mejora del sistema . . . . . . . . . . . . . . . . . . .
8.5.3. Dificultad de las opiniones implı́citas . . . . . . . . .
8.5.4. Dificultad de determinadas caracterı́sticas . . . . . .
8.5.5. Precisión vs. cobertura . . . . . . . . . . . . . . . . .
8.5.6. Resultados finales y dificultad de la tarea . . . . . . .
8.5.7. Utilidad práctica del sistema . . . . . . . . . . . . . .
207
. 207
. 208
. 209
. 209
. 210
. 211
. 212
. 213
. 216
. 217
. 218
.
.
.
.
.
.
218
218
219
221
222
223
.
.
.
.
.
.
226
227
228
229
229
230
6
V
ÍNDICE GENERAL
Casos de aplicación y consideraciones finales
9. Casos de aplicación: hoteles y coches
9.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . .
9.2. Generación de recursos . . . . . . . . . . . . . . . . . .
9.2.1. Corpus anotado y taxonomı́a de caracterı́sticas .
9.2.2. Inducción de recursos . . . . . . . . . . . . . . .
9.3. Evaluación del sistema de extracción . . . . . . . . . .
9.3.1. Evaluación de pipelines ligeros de recursos . . .
9.3.2. Evaluación de pipelines basados en recursos . .
9.4. Resumen de resultados . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
233
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10.Conclusiones
VI
235
. 235
. 236
. 236
. 239
. 244
. 244
. 245
. 246
247
Apéndices
267
A. Ejemplos de entradas y salidas de los componentes concretos
de TOES
269
A.1. Anotador de palabras de caracterı́stica basado en la taxonomı́a 269
A.2. Anotador de caracterı́sticas implı́citas basado en los indicadores270
A.3. Anotador de caracterı́sticas implı́citas basado en PMI-IR . . . 272
A.4. Enlazador de palabras de opinión basado en ventana . . . . . 272
A.5. Enlazador de palabras de opinión basado en dependencias . . 274
A.6. Enlazador de expresiones especiales basado en ventana . . . . 276
A.7. Enlazador de expresiones especiales basado en dependencias . 277
A.8. Separador de opiniones basado en conjunciones . . . . . . . . 278
A.9. Clasificador de opiniones basado en el lexicón de opiniones . . 279
A.10.Clasificador de opiniones basado en PMI-IR . . . . . . . . . . 282
A.11.Clasificador de opiniones basado en WordNet . . . . . . . . . . 283
A.12.Clasificador de opiniones basado en SentiWordNet . . . . . . . 283
A.13.Clasificador de opiniones basado en conjunciones . . . . . . . . 284
A.14.Solucionador de opiniones explı́citas superpuestas . . . . . . . 285
A.15.Solucionador de opiniones implı́cita-explı́cita superpuestas . . 286
B. PolarityRank: justificación
B.1. Definición . . . . . . . .
B.2. Justificación algebraica .
B.3. Convergencia . . . . . .
algebraica
. . . . . . .
. . . . . . .
. . . . . . .
y convergencia
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
289
. 289
. 290
. 293
Índice de figuras
2.1. Arquitectura de nuestro sistema de resumen . . . . . . . . . . 58
3.1. Ejemplo de resumen a partir de opiniones sobre caracterı́sticas 63
3.2. Ejemplo de resumen a partir de opiniones sobre caracterı́sticas 65
4.1. Algunos ejemplos de evidencias de opinión . . . . . . . . . . . 93
4.2. Esquema conceptual de nuestra propuesta . . . . . . . . . . . 97
5.1. Porción de la taxonomı́a de caracterı́sticas para headphones . . 109
5.2. Árbol de dependencias de oración de ejemplo . . . . . . . . . . 118
6.1. Proceso de generación de los recursos . . . . . . . . . . . . .
6.2. Extracción interactiva de feature words . . . . . . . . . . . .
6.3. Simulación del proceso interactivo de extracción de feature
words: influencia de las restricciones morfosintácticas. . . . .
6.4. Simulación del proceso interactivo de extracción de feature
words: influencia del número de candidatos aceptados antes
de iterar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5. Simulación del proceso interactivo de extracción de feature
words: influencia del número de candidatos rechazados antes
de iterar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6. Simulación del proceso interactivo de extracción de feature
words: comparativa entre iterar al aceptar, al rechazar o al
vaciar lista de candidatos. . . . . . . . . . . . . . . . . . . .
6.7. Simulación del proceso interactivo de extracción de feature
words: influencia del número de nuevas semillas de opinión
en cada iteración. . . . . . . . . . . . . . . . . . . . . . . . .
6.8. Taxonomı́a de caracterı́sticas previa para headphones . . . .
6.9. Proceso de validación de anotaciones . . . . . . . . . . . . .
6.10. Nuevas caracterı́sticas añadidas a la taxonomı́a caracterı́sticas
tras anotaciones para headphones (en negrita) . . . . . . . .
6.11. Taxonomı́a final de caracterı́sticas para headphones . . . . .
7
. 126
. 130
. 134
. 135
. 136
. 138
. 139
. 143
. 148
. 150
. 152
8
ÍNDICE DE FIGURAS
6.12. Porcentaje de aparición de las caracterı́sticas en las anotaciones para headphones . . . . . . . . . . . . . . . . . . . . . .
6.13. Ejemplo de grafo de orientaciones semánticas . . . . . . . . .
6.14. Resultados experimentos de ampliación del lexicón de opiniones para headphones: parámetro minAbsWeightArcs . . . . .
6.15. Resultados experimentos de ampliación del lexicón de opiniones para headphones: parámetro minSupport . . . . . . . . .
6.16. Histograma de probabilidades no condicionadas de los indicadores de opinión implı́cita para headphones . . . . . . . . . .
. 152
. 159
. 164
. 165
. 170
7.1. Arquitectura conceptual de TOES . . . . . . . . . . . . . . . . 185
7.2. Árbol de dependencias de la oración de ejemplo . . . . . . . . 192
7.3. Ejemplo de pipeline . . . . . . . . . . . . . . . . . . . . . . . . 204
8.1. Evaluación individual del anotador de caracterı́sticas implı́citas basado en los indicadores para headphones: influencia del
umbral de probabilidad . . . . . . . . . . . . . . . . . . . . .
8.2. Evaluación individual del anotador de caracterı́sticas implı́citas basado en los indicadores para headphones: influencia del
umbral de soporte . . . . . . . . . . . . . . . . . . . . . . . .
8.3. Evaluación individual del enlazador de palabras de opinión
basado en ventana para headphones: influencia del tamaño de
las ventanas y las restricciones morfosintácticas . . . . . . .
8.4. Evaluación individual del enlazador de palabras de opinión
basado en patrones de dependencias de tipo 2, 3, 4 y 5 para
headphones: influencia del umbral de precisión mı́nima de los
patrones utilizados . . . . . . . . . . . . . . . . . . . . . . .
8.5. Pipelines ligeros de recursos . . . . . . . . . . . . . . . . . .
8.6. Pipelines basados en recursos . . . . . . . . . . . . . . . . .
8.7. Resumen comparativo de resultados obtenidos por cada uno
de los pipelines . . . . . . . . . . . . . . . . . . . . . . . . .
8.8. Evolución del rendimiento del sistema (pipeline mixto) a medida que se aumenta el número de documentos anotados utilizados en la inducción de los recursos. . . . . . . . . . . . .
8.9. Desglose de valores de F1 obtenidos por el pipeline mixto para
cada caracterı́stica de la taxonomı́a . . . . . . . . . . . . . .
8.10. Ejemplo de agregación de opiniones para un modelo determinado de auriculares (Sony MDR-V700DJ) . . . . . . . . . .
. 212
. 213
. 214
. 216
. 220
. 221
. 224
. 225
. 228
. 232
9.1. Taxonomı́a de caracterı́sticas del dominio hotels . . . . . . . . 237
9.2. Taxonomı́a de caracterı́sticas del dominio cars . . . . . . . . . 238
Índice de cuadros
2.1.
2.2.
2.3.
2.4.
Distribución según puntuaciones del corpus de crı́ticas de cine.
Patrones morfosintácticos para la extracción de bigramas. . . .
Resultados de la clasificación de crı́ticas de cine en español. . .
Evaluación de los experimentos de construcción del lexicón
usando todos los documentos del corpus. . . . . . . . . . . . .
2.5. Valores de τ 1 obtenidos para los experimentos de construcción
2
de lexicones sobre grafos equilibrados. . . . . . . . . . . . . . .
2.6. Evaluación del sistema presentado al TAC 2008 Opinion Summarization Task . . . . . . . . . . . . . . . . . . . . . . . . . .
44
45
47
55
56
60
3.1. Resumen de caracterı́sticas de trabajos relacionados con la
extracción de opiniones: extracción de caracterı́sticas . . . . . 76
3.2. Resumen de caracterı́sticas de trabajos relacionados con la
extracción de opiniones: búsqueda de palabras de opinión y
clasificación de opiniones . . . . . . . . . . . . . . . . . . . . . 77
6.1. Algunos datos del corpus obtenido para el dominio headphones
6.2. Resumen de la ejecución de la herramienta de extracción de
palabras de caracterı́stica para el dominio headphones . . . . .
6.3. Lista de feature words obtenidas para el dominio headphones .
6.4. Caracterı́sticas obtenidas por agrupación de las feature words
para headphones . . . . . . . . . . . . . . . . . . . . . . . . .
6.5. Estadı́sticas del corpus anotado del dominio headphones . . . .
6.6. Feature words para cada una de las caracterı́sticas de la taxonomı́a tras anotaciones para headphones . . . . . . . . . . . .
6.7. Estimaciones para el término flat en el lexicón inducido para
headphones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.8. Estimaciones para el término awful en el lexicón inducido para
headphones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.9. Resultados de la ampliación del lexicón de opiniones para
headphones . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
128
140
140
142
149
151
156
158
163
10
ÍNDICE DE CUADROS
6.10. Algunas entradas del recurso de indicadores de opinión implı́cita para el dominio headphones . . . . . . . . . . . . . . . . .
6.11. Algunas estimaciones contenidas en el recurso de indicadores
de caracterı́stica implı́cita inducido para headphones . . . . .
6.12. Términos del recurso de indicadores de opinión implı́cita para
headphones con probabilidad igual a 1 . . . . . . . . . . . .
6.13. Resultados de los experimentos para medir la influencia de las
restricciones morfosintácticas en los patrones de dependencias
para headphones . . . . . . . . . . . . . . . . . . . . . . . .
6.14. Algunos patrones de dependencias de tipo 1 para headphones
6.15. Algunos patrones de dependencias de tipo 2, 3, 4 y 5 para
headphones . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 168
. 169
. 171
. 177
. 178
. 179
8.1. Evaluación individual del anotador de palabras de caracterı́stica basado en la taxonomı́a para headphones. . . . . . . . . . .
8.2. Evaluación individual del anotador de caracterı́sticas implı́citas basado en PMI-IR para headphones. . . . . . . . . . . . . .
8.3. Evaluación individual del anotador de caracterı́sticas implı́citas basado en los indicadores para headphones. . . . . . . . . .
8.4. Evaluación individual del enlazador de palabras de opinión
basado en ventana para headphones. . . . . . . . . . . . . . .
8.5. Evaluación individual del enlazador de palabras de opinión y
el enlazador de expresiones especiales basados en ventana para
headphones. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6. Evaluación individual del enlazador de palabras de opinión
basado en dependencias. . . . . . . . . . . . . . . . . . . . . .
8.7. Evaluación individual del clasificador de opiniones basado en
el lexicón para headphones . . . . . . . . . . . . . . . . . . . .
8.8. Evaluación comparativa de los clasificadores de opiniones basados en WordNet, SentiWordNet y PMI-IR para headphones.
8.9. Evaluación comparativa de los clasificadores de opiniones para
headphones, al concatenar a cada clasificador un clasificador
basado en conjunciones. . . . . . . . . . . . . . . . . . . . . .
8.10. Evaluación comparativa de la combinación de un clasificador
basado en lexicón con cada uno de los demás clasificadores
para headphones. . . . . . . . . . . . . . . . . . . . . . . . . .
8.11. Resultados obtenidos por los pipelines ligeros de recursos (optimizados para F1 ) . . . . . . . . . . . . . . . . . . . . . . . .
8.12. Resultados obtenidos por los pipelines ligeros de recursos (optimizados para F 1 ) . . . . . . . . . . . . . . . . . . . . . . . .
2
210
211
211
214
215
215
217
217
218
219
220
220
ÍNDICE DE CUADROS
11
8.13. Resultados obtenidos por los pipelines basados en recursos
(optimizados para F1 ) . . . . . . . . . . . . . . . . . . . . .
8.14. Resultados obtenidos por los pipelines basados en recursos
(optimizados para F 1 ) . . . . . . . . . . . . . . . . . . . . .
2
8.15. Resumen comparativo de los mejores resultados conseguidos
para cada una de las subtareas en que hemos dividido la tarea
de reconocimiento y clasificación de opiniones, utilizando o sin
utilizar los recursos del dominio. . . . . . . . . . . . . . . . .
8.16. Estimación de coste temporal y resultados del sistema para
conjuntos de documentos anotados de distintos tamaños . .
8.17. Desglose de resultados obtenidos por el pipeline mixto para
opiniones explı́citas e implı́citas (tarea Opinion Recognition)
Estadı́sticas del corpus para los dominios hotels y cars . . .
Estadı́sticas del lexicón de opiniones para el dominio cars . .
Estadı́sticas del lexicón de opiniones para el dominio hotels .
Términos del recurso de indicadores de opinión implı́cita con
probabilidad igual a 1 para el dominio hotels . . . . . . . .
9.5. Términos del recurso de indicadores de opinión implı́cita con
probabilidad igual a 1 para el dominio cars . . . . . . . . .
9.6. Estadı́sticas de los patrones de dependencias inducidos para
el dominio hotels . . . . . . . . . . . . . . . . . . . . . . . .
9.7. Estadı́sticas de los patrones de dependencias inducidos para
el dominio cars . . . . . . . . . . . . . . . . . . . . . . . . .
9.8. Resultados obtenidos por los pipelines ligeros de recursos para
los dominios hotels y cars (optimizados para F1 ) . . . . . . .
9.9. Resultados obtenidos por los pipelines ligeros de recursos para
los dominios hotels y cars (optimizados para F 1 ) . . . . . .
2
9.10. Resultados obtenidos por los pipelines basados en recursos para los dominios hotels y cars (optimizados para F1 ) . . . . .
9.11. Resultados obtenidos por los pipelines basados en recursos para los dominios hotels y cars (optimizados para F 1 ) . . . . .
2
9.12. Resumen de resultados del sistema TOES en los distintos dominios(pipelines optimizados para F1 ) . . . . . . . . . . . . .
9.13. Resumen de resultados del sistema TOES en los distintos dominios(pipelines optimizados para F 1 ) . . . . . . . . . . . .
9.1.
9.2.
9.3.
9.4.
2
. 222
. 222
. 223
. 227
. 227
. 236
. 240
. 240
. 241
. 242
. 243
. 243
. 244
. 244
. 245
. 245
. 246
. 246
Agradecimientos
Quiero expresar mi agradecimiento a las personas que han participado
directa o indirectamente en el desarrollo de este trabajo. En primer lugar,
a José Antonio Troyano Jiménez, supervisor del trabajo, por aportar su experiencia y dedicación absoluta, y especialmente por hacer de contrapeso
anı́mico en los momentos más bajos. A Fernando Enrı́quez de Salamanca
Ros y Francisco Javier Ortega Rodrı́guez por su colaboración y apoyo en
gran parte del trabajo. A Carlos Garcı́a Vallejo por su inestimable ayuda
en la justificación algebraica del algoritmo PolarityRank. A Jorge González
López y su equipo en el Centro de Tecnologı́as del Habla de IBM en Sevilla,
por ofrecerme la oportunidad de aprender de ellos y meterme de paso en el
cuerpo el “gusanillo” de la investigación. A Horacio Rodrı́guez Hontoria por
acogerme por unas semanas en su grupo de trabajo y hacerme partı́cipe del
mismo, y también por sus comentarios y revisiones sobre el trabajo. A mis
compañeros y amigos del Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Sevilla, por su apoyo en distintos aspectos y por los
buenos momentos vividos.
A mi familia.
13
Resumen
En el contexto de la Web 2.0, las opiniones volcadas por los usuarios
a través de las redes sociales, foros y otros servicios, acerca de productos,
polı́tica u otras temáticas, conforman una interesantı́sima información con
un gran potencial práctico de cara a las empresas, las administraciones y los
ciudadanos. Siendo el texto libre el principal vehı́culo de dicha información
en Internet, las Tecnologı́as del Lenguaje y el Procesamiento del Lenguaje Natural ocupan un papel protagonista de cara al tratamiento y análisis
automático de la misma. De manera más concreta, recientemente diversos
investigadores se han venido ocupando del tratamiento computacional de las
opiniones, los sentimientos y otros fenómenos subjetivos del lenguaje. Dentro de esta disciplina, en el presente trabajo abordamos el problema de la
extracción de opiniones sobre caracterı́sticas, tarea cercana a la extracción
de información y consistente en extraer representaciones estructuradas de las
opiniones individuales contenidas en los textos, incluyendo la identificación
de las caracterı́sticas concretas del objeto sobre las que se vuelcan las opiniones, y la polaridad positiva o negativa de dichas opiniones. Los aspectos
fundamentales de nuestro acercamiento son dos: la consideración del dominio
de aplicación en cada una de las fases de la resolución del problema, y el uso
de taxonomı́as de caracterı́sticas, que permiten que el conjunto de opiniones
extraı́das sean fácilmente agregables y visualizables.
En la presente memoria, definiremos un conjunto de recursos de apoyo a la tarea de extracción de opiniones sobre caracterı́sticas, adaptables al
dominio; propondremos una metodologı́a para la generación de los mismos,
proporcionando las herramientas y algoritmos necesarios para minimizar la
participación manual en el proceso; y describiremos un sistema de extracción
de opiniones sobre caracterı́sticas modular y adaptable al dominio, al que hemos denominado TOES (Taxonomy-based Opinion Extraction System). Los
resultados de la experimentación que llevaremos a cabo nos permitirán afirmar la importancia del dominio en el problema que nos ocupa, y la utilidad de
las opiniones extraı́das de cara a una aplicación de agregación y visualización
de opiniones.
15
Parte I
Preámbulo
17
Capı́tulo 1
Introducción
Resumen: El presente capı́tulo pretende, a modo de introducción,
motivar y contextualizar el trabajo expuesto en esta memoria, plantear
algunas hipótesis iniciales y esbozar las lı́neas generales de nuestra
aportación. La última sección sirve de guı́a de lectura del resto del
documento, ya que incluye un breve resumen del contenido de cada
uno de los capı́tulos y apéndices que lo componen.
1.1.
Motivación y contexto
Tradicionalmente, las opiniones de los actores involucrados en una determinada actividad siempre han sido clave en los procesos de toma de decisiones. Por ejemplo, los polı́ticos están interesados en las opiniones de sus
potenciales votantes; las empresas, por su parte, están interesadas en las opiniones de sus potenciales clientes, y los mismos clientes suelen evaluar las
opiniones de algunos de sus conocidos a la hora de decidir entre varios productos. En el contexto actual, Internet se ha convertido en una fuente masiva
y continua de opiniones. Estas opiniones suelen estar contenidas en textos
escritos en lenguaje natural, ya sea en los reviews de productos escritos por
clientes o por analistas profesionales, en los foros públicos existentes de diversas temáticas, en los blogs o más recientemente en determinados servicios
de microblogging y redes sociales. El acceso y la explotación de estas nuevas
fuentes de opinión poseen un indudable atractivo para las administraciones,
las empresas y los clientes.
En los últimos años, diversos investigadores del campo del Procesamiento
del Lenguaje Natural se han centrado en estudiar el tratamiento computacional de las opiniones, los sentimientos y otros fenómenos subjetivos contenidos
19
20
Capı́tulo 1. Introducción
en este tipo de textos. Esta nueva disciplina, conocida como Minerı́a de Opiniones o Análisis del Sentimiento, es de gran utilidad en el contexto que
acabamos de plantear. Muchas son las tareas que se han ido definiendo en
estos últimos años: clasificación de documentos basada en la opinión contenida en los mismos, detección de la subjetividad y las emociones expresadas
en los textos, clasificación de documentos basada en la perspectiva polı́tica
del autor, etcétera.
En nuestro trabajo, nos centramos en la extracción de opiniones sobre
caracterı́sticas, tarea cercana a la extracción de información consistente en
obtener representaciones de las opiniones individuales contenidas en documentos de opinión. Se parte de documentos que contienen opiniones sobre
una entidad determinada (por ejemplo, un producto), debiendo decidirse para cada opinión la caracterı́stica concreta sobre la que se centra (por ejemplo,
el precio) y la polaridad (positiva o negativa). Ante la observación de que
el dominio concreto de aplicación influye de manera determinante en las caracterı́sticas del lenguaje empleado (palabras empleadas para expresar las
opiniones, polaridad de dichas palabras, construcciones sintácticas utilizadas, etc.), pretendemos abordar la construcción de sistemas de extracción
de opiniones adaptados al dominio. Esta orientación al dominio implica un
esfuerzo adicional a la hora de adaptar el sistema a un nuevo dominio; es
por ello que también estamos interesados en definir una metodologı́a, ası́ como proporcionar las herramientas y algoritmos necesarios, que faciliten dicha
adaptación. Nuestra visión del problema será eminentemente práctica, por lo
que trataremos de delimitar el tipo de opiniones que abordaremos, para permitir la construcción de sistemas de extracción útiles. Además, para facilitar
la agregación, visualización u otros tratamientos posteriores de las opiniones extraı́das, representaremos las caracterı́sticas opinables de los objetos
mediante taxonomı́as. Estas taxonomı́as, además de facilitar el tratamiento estadı́stico de las opiniones extraı́das, constituyen un formalismo para la
captura de requisitos, ya que a través de las mismas se establece cuáles son
las caracterı́sticas del objeto en las que estamos interesados.
1.2. Hipótesis
1.2.
21
Hipótesis
Nuestra hipótesis principal es la siguiente:
Hipótesis 1: La disponibilidad de recursos especı́ficos del dominio permitirá llevar a cabo la extracción de opiniones sobre caracterı́sticas con
mayor efectividad.
Esta hipótesis se sustenta en las siguientes observaciones:
Cada tipo de objeto (y por tanto, cada dominio) posee un conjunto
distinto de caracterı́sticas opinables.
El vocabulario y expresiones utilizadas para expresar opiniones es sustancialmente distinto dependiendo del dominio. Por ejemplo, en algunos
dominios se utiliza un lenguaje más formal, y en otros un lenguaje más
coloquial.
La orientación semántica (es decir, las implicaciones positivas o negativas de determinadas palabras o expresiones) es dependiente del dominio. Por ejemplo, el adjetivo predictable suele tener connotaciones
negativas cuando se utiliza en el contexto de una crı́tica de cine, y connotaciones positivas cuando se refiere a la respuesta a la conducción
de un vehı́culo. Más aún, demostraremos que la orientación semántica
también depende de la caracterı́stica concreta de la entidad a la que se
aplica.
Por tanto, la definición de recursos de apoyo que recojan estas y otras
particularidades del dominio de aplicación deberı́a facilitar la extracción de
opiniones. Para corroborar la hipótesis anterior, diseñaremos un sistema de
extracción de opiniones modular, que permita disponer de distintas implementaciones de los componentes que resuelven cada una de los subproblemas
en que dividiremos la tarea de extracción. De esta forma, podremos experimentar con sistemas formados a partir de componentes que hagan uso, o no,
de los recursos del dominio, y comparar los resultados obtenidos.
La generación de los recursos se llevará a cabo de manera semiautomática,
a partir de un conjunto de documentos del dominio cuyas opiniones han sido
manualmente anotadas. Pretendemos confirmar una segunda hipótesis:
Hipótesis 2: La definición de un esquema de anotación de opiniones sobre
caracterı́sticas y su aplicación a un conjunto de documentos de opinión
de un dominio dado permitirá, mediante la definición de las herramientas y los algoritmos correspondientes, inducir los recursos necesarios
22
Capı́tulo 1. Introducción
para la consecución de la extracción de opiniones sobre dicho dominio
sin apenas participación manual en el proceso.
De cara a que las opiniones extraı́das sean fácilmente acumulables y visualizables, y representen intuitivamente al objeto analizado, se emplearán
representaciones taxonómicas de las caracterı́sticas del objeto:
Hipótesis 3: La representación de las caracterı́sticas del dominio mediante
una taxonomı́a permitirá la mejor inducción de los recursos a nivel de
caracterı́stica, y facilitará la agregación y visualización de las opiniones
extraı́das.
1.3.
Resumen de la propuesta
Nuestra propuesta consiste en el desarrollo de un sistema genérico de extracción de opiniones sobre caracterı́sticas, que puede ser adaptado a un dominio concreto mediante la generación de una serie de recursos que capturan
el conocimiento especı́fico de dicho dominio. Aportaremos una metodologı́a
para la generación de dichos recursos, incluyendo un flujo de trabajo y una
serie de herramientas y algoritmos que permitan automatizar en lo posible
la tarea.
Un recurso fundamental es la taxonomı́a de caracterı́sticas, que contiene
el conjunto de caracterı́sticas opinables del dominio sobre las que el sistema
procederá a extraer opiniones. La utilización de dichas taxonomı́as permitirá desarrollar sistemas de extracción dirigidos a los aspectos del dominio
que se consideren más importantes, y facilitará la explotación de las opiniones
extraı́das. La taxonomı́a de caracterı́sticas puede ser construida utilizando
una serie de herramientas de apoyo que trabajan a partir de una colección
de documentos del dominio, o bien puede ser definida por un experto en el
dominio. En este caso, la taxonomı́a se convierte en un formalismo para la
captura de requisitos, permitiendo decidir cuáles son las caracterı́sticas del
objeto en las que estamos interesados.
1.3.1.
Resumen de aportaciones
A continuación adelantamos las principales aportaciones expuestas en la
presente memoria:
1. Definiremos un conjunto de recursos de apoyo a la tarea de extracción
de opiniones sobre caracterı́sticas.
1.4. Estructura del documento
23
2. Propondremos una metodologı́a para la generación de los recursos de
apoyo, incluyendo un flujo de trabajo y un conjunto de herramientas y
algoritmos que minimizan la participación manual en el proceso.
3. Diseñaremos un sistema de extracción sobre caracterı́sticas modular y
adaptable al dominio, al que denominaremos TOES (Taxonomy-based
Opinion Extraction System).
A partir de los resultados obtenidos en un desarrollo experimental llevado
a cabo utilizando el sistema anterior, demostraremos las hipótesis anteriormente enunciadas, entre otras conclusiones. Además de las aportaciones principales, en el transcurso de la investigación hemos desarrollado un algoritmo
de ranking sobre grafos con aristas negativas, llamado PolarityRank, que
puede ser empleado en diversos problemas de propagación de información,
ası́ como un método de expansión automática de lexicones de opinión. También hemos puesto a disposición de la comunidad investigadora un corpus de
documentos de opinión anotados a nivel de caracterı́sticas, que contiene más
de 2.500 documentos de tres dominios distintos1 .
1.4.
Estructura del documento
La estructura del documento es como sigue. En el capı́tulo 2 introducimos
al lector en el subárea del Procesamiento del Lenguaje Natural que trata con
textos subjetivos, recorriendo las principales tareas y aplicaciones relacionadas, y resumiendo algunas aportaciones propias previas a la realización de
la propuesta principal de este trabajo. En el capı́tulo 3 realizamos un repaso bibliográfico de los trabajos relacionados directamente con la extracción
de opiniones sobre caracterı́sticas, incluyendo un estudio comparativo de los
aspectos principales de las distintas propuestas. En el capı́tulo 4 se presenta
nuestra propuesta, tratando de acotar el alcance de la tarea abordada, concretando la definición formal de la misma y de las entidades participantes,
y dando una visión general de la propuesta. En el capı́tulo 5 se definen los
recursos especı́ficos del dominio, cuya objetivo es la captura de conocimiento
útil para la extracción de opiniones sobre caracterı́sticas, mostrando además
la sintaxis utilizada para representarlos. En el capı́tulo 6 proponemos una
metodologı́a para la generación de los recursos para un dominio especı́fico,
incluyendo un flujo de trabajo y presentando una serie de herramientas y
algoritmos encaminados a automatizar el proceso en la mayor medida posible. El capı́tulo 7 describe nuestro sistema de extracción de opiniones sobre
1
http://www.lsi.us.es/~fermin/index.php/Datasets
24
Capı́tulo 1. Introducción
caracterı́sticas, al que hemos denominado TOES. En el capı́tulo 8 llevamos
a cabo una serie de experimentos con la intención de evaluar el sistema y,
a partir de los resultados obtenidos, planteamos algunas conclusiones sobre
la tarea abordada y sobre el sistema, incluyendo un ejemplo de aplicación
de agregación y visualización de las opiniones extraı́das. En el capı́tulo 9 se
recogen datos y resultados de la aplicación de la metodologı́a de generación
de los recursos y la ejecución del sistema de extracción de opiniones sobre
dos dominios distintos al utilizado en el resto del trabajo. Finalmente, en el
capı́tulo 10 resumimos las aportaciones del trabajo, las conclusiones de los
experimentos realizados y los resultados de la investigación.
Al final del documento, hemos incluido dos apéndices. En el apéndice A
se aportan ejemplos concretos de la ejecución de cada uno de los componentes del sistema, con la intención de servir de apoyo a la comprensión de
los mismos. En el apéndice B se expone la justificación algebraica y de la
convergencia del algoritmo PolarityRank, que como veremos es utilizado en
nuestro trabajo para expandir automáticamente los lexicones de opinión.
Parte II
Antecedentes
25
Capı́tulo 2
Procesamiento de textos
subjetivos
Resumen: En este capı́tulo introducimos al lector en el subárea del
Procesamiento del Lenguaje Natural que trata con textos subjetivos.
En concreto, nos centraremos en la disciplina conocida como Análisis
del Sentimiento (Sentiment Analysis) o Minerı́a de Opiniones (Opinion Mining). Presentaremos las principales tareas y aplicaciones del
área, y resumiremos algunas aportaciones propias llevadas a cabo de
manera previa al desarrollo de la propuesta principal de este trabajo.
2.1.
Introducción
En las últimas décadas, los investigadores que trabajan en el campo del
Procesamiento del Lenguaje Natural (PLN) han intentado establecer mecanismos eficaces que permitan el tratamiento computacional de textos escritos
en lenguaje natural y el acceso a la información contenida en ellos. Siendo el
lenguaje natural una representación del pensamiento humano, ésta ha sido y
sigue siendo un área que involucra grandes dificultades, y en la que participan multitud de problemas transversales a las distintas tareas: resolución de
la ambigüedad inherente al lenguaje en los distintos niveles de abstracción
(léxico, sintáctico, semántico y pragmático), reconocimiento de las entidades
y las relaciones entre ellas, análisis del discurso, representación del conocimiento, razonamiento automático, etc. La resolución de muchos de estos
problemas está relacionada con áreas como la lingüı́stica, la psicologı́a, la
inteligencia artificial, la minerı́a de datos (conocida como minerı́a de textos
en este contexto) o el aprendizaje automático, entre otros.
27
28
Capı́tulo 2. Procesamiento de textos subjetivos
Uno de los objetivos fundamentales del PLN es permitir el acceso a la
información contenida en los textos escritos en lenguaje natural. En ocasiones, este tipo de información es conocida como información no estructurada,
en contraposición al tipo de información contenida en una base de datos o
más genéricamente en cualquier sistema informático. En cierto modo, los mecanismos del PLN permiten convertir la información no estructurada en información estructurada, que puede ser consumida computacionalmente para
habilitar multitud de aplicaciones. La irrupción de Internet y particularmente la World Wide Web (WWW) supusieron un punto de inflexión, en tanto
que la mayor parte de la información contenida en la misma es información
no estructurada, principalmente en forma de textos en distintos idiomas. El
acceso a la información por medio de motores de recuperación de información o sistemas de búsqueda de respuestas, la clasificación automática de los
contenidos de las páginas web, o la extracción automática de información y
conocimiento contenidos en las mismas, son algunas de las tareas relacionadas
con Internet y en las que el PLN tiene mucho que aportar.
En los últimos años, el uso de Internet se ha ido generalizando, y los
usuarios han ido ganando cada vez mayor protagonismo. El que antes era un
usuario pasivo, que en la mayorı́a de los casos se limitaba a acceder y consultar la información contenida en la WWW, se ha convertido en un usuario
activo: además de consultar información, llevar a cabo diversas gestiones administrativas o comunicarse con sus conocidos, un gran porcentaje de los
internautas actuales generan contenidos. Esta es la base de la que se conoce como Web 2.0. Inicialmente, los internautas comenzaron participando en
foros de debate, en los que podı́an mantener conversaciones temáticas más o
menos públicas con otros internautas, o escribiendo en blogs, bitácoras personales en las que el autor escribe periódicamente acerca de algún tema o de
manera completamente libre. En ambos casos, las aportaciones de unos usuarios se ven enriquecidas por las aportaciones de otros, en forma de respuestas
en los foros o comentarios en los blogs. Poco a poco, se han ido incrementando los servicios disponibles relacionados con los contenidos generados por
usuarios: agregadores de reviews de productos escritos por usuarios (Epinions, CNet), servicios de microblogging (Twitter ), redes sociales de carácter
general (Facebook, MySpace) o especializadas (profesionales como LinkedIn,
de fotografı́a como Flickr, de vı́deo como YouTube, y muchas otras), . . . .
En resumen, todas estas nuevas formas de participación en Internet suponen
una ingente fuente de información (en gran parte no estructurada), continuamente cambiante y virtualmente imposible de procesar manualmente, lo que
supone nuevas oportunidades de aplicación para el PLN.
2.2. Análisis del sentimiento y minerı́a de opiniones
2.1.1.
29
La web como fuente de opiniones
Una gran parte de los contenidos generados por los usuarios en forma de
textos escritos en lenguaje natural tiene un carácter subjetivo: los reviews
de productos o servicios, las entradas de algunos blogs o los comentarios hechos por otros usuarios, los hilos de discusión en los foros públicos (acerca de
polı́tica, cultura, economı́a o cualquier otro tema), los mensajes escritos en
servicios de microblogging como Twitter o en redes sociales como Facebook.
Todos estos son textos en los que los internautas pueden expresar sus opiniones, puntos de vista y estados de ánimo. Al igual que es frecuente apoyarse
en las opiniones de nuestros conocidos a la hora de tomar determinadas decisiones (por ejemplo, qué modelo comprar de un determinado producto, o
qué pelı́cula ir a ver al cine), es cada vez más frecuente basar dichas decisiones en las opiniones que los internautas vuelcan en la red. Por otro lado, son
evidentes las implicaciones prácticas de este tipo de contenidos para las compañı́as o administraciones públicas; por ejemplo, hoy dı́a muchas compañı́as
disponen de personal que se dedica a monitorizar las opiniones aparecidas en
Internet acerca de los productos y servicios de la misma, de manera que puedan interferir activamente evitando la propagación de estas opiniones y sus
posibles consecuencias negativas de cara a las ventas o a la imagen de la marca. Pero independientemente del objetivo buscado, el número de contenidos
individuales que deberı́an ser considerados es de tal magnitud que se hacen
imprescindibles ciertos mecanismos de procesamiento automático de los mismos. Si bien estamos de nuevo hablando del campo de actuación del PLN,
el carácter subjetivo del tipo de contenidos que se pretende procesar presenta determinadas peculiaridades y da lugar a nuevos retos, poco estudiados
tradicionalmente por el PLN. Se abre ası́ una nueva subdisciplina conocida
como Análisis del Sentimiento o Minerı́a de Opiniones que viene a ocuparse
del procesamiento computacional de este tipo de contenidos subjetivos.
2.2.
Análisis del sentimiento y minerı́a de opiniones
El análisis del sentimiento (sentiment analysis) o minerı́a de opiniones
(opinion mining) abarca aquellas tareas relacionadas con el tratamiento computacional de las opiniones, los sentimientos y otros fenómenos subjetivos del
lenguaje natural. Algunas de estas tareas son la clasificación de documentos
de opinión según el carácter positivo o negativo de las opiniones, la extracción de representaciones estructuradas de opiniones, o el resumen de textos
de opinión, entre otras. Estas tareas tienen puntos en común con otras ta-
30
Capı́tulo 2. Procesamiento de textos subjetivos
reas clásicas del PLN, como pueden ser la clasificación de documentos, la
extracción de información y el resumen automático. Sin embargo, el carácter
subjetivo de los textos analizados añade ciertas peculiaridades a las tareas
anteriores y las hace especialmente difı́ciles. Por ejemplo, la clasificación de
documentos basada en la opinión es sensiblemente más difı́cil que la clasificación de documentos según la temática. En efecto, la aplicación de las técnicas
habitualmente empleadas para esta última no conduce a buenos resultados
cuando se aplica a la clasificación basada en la opinión (Pang et al, 2002).
2.2.1.
Orı́genes
Las dos denominaciones anteriores son las más habituales en la bibliografı́a, siendo el término sentiment analysis más empleado por grupos cercanos al PLN y opinion mining, por su parte, en contextos relacionados con la
recuperación de información y la minerı́a de textos. El término sentiment fue
usado por primera vez por Das & Chen (2001) y Tong (2001), trabajos en
los que se llevaba a cabo un análisis automático de textos de opinión con la
intención de predecir la “confianza del mercado” (market sentiment). Algunos trabajos posteriores hicieron uso del término sentiment (Turney, 2002a;
Pang et al, 2002) para referirse a la carga evaluativa positiva o negativa
que poseen algunas palabras o expresiones. Finalmente el término sentiment
analysis apareció en un par de trabajos en 2003 (Nasukawa & Yi, 2003;
Yi et al, 2003), momento a partir del cual se popularizó enormemente y es
utilizado en multitud de trabajos. En cuanto al término opinion mining, apareció por primer vez en (Dave et al, 2003). Aunque inicialmente se referı́a a
la subtarea de extracción y agregación de opiniones que describiremos más
adelante, actualmente el término se considera apropiado para describir los
distintos tipos de tratamientos y análisis que se llevan a cabo con textos subjetivos, es decir, como término intercambiable por sentiment analysis (Ding
et al, 2008a). Aún ası́, este último está más extendido como denominación
general del área.
Aunque existen muchos trabajos a lo largo de los últimos 35 años relacionados de una u otra forma con el tratamiento computacional de los fenómenos subjetivos del lenguaje natural, es entre los años 2001 y 2003 cuando se
produce un aumento repentino de trabajos relacionados con el análisis del
sentimiento (Cardie et al, 2003; Das & Chen, 2001; Dave et al, 2003; Dini &
Mazzini, 2002; Liu et al, 2003; Morinaga et al, 2002; Nasukawa & Yi, 2003;
Pang et al, 2002; Tateishi et al, 2001; Turney, 2002a; Wiebe et al, 2003; Yu
& Hatzivassiloglou, 2003). Esta explosión de trabajos está relacionada con
los siguientes factores, según Pang & Lee (2008):
2.2. Análisis del sentimiento y minerı́a de opiniones
31
Incremento en el uso de métodos basados en aprendizaje automático
en el PLN.
Disponibilidad de conjuntos de datos sobre los que entrenar modelos
de aprendizaje automático, debido a la aparición de determinadas webs
de agregación de reviews, principalmente.
Descubrimiento por parte de la comunidad de los retos y aplicaciones
potenciales que ofrece el área.
Desde nuestro punto de vista, la popularización de las redes sociales y sus
implicaciones en las relaciones entre las compañı́as y sus clientes (o entre los
polı́ticos y sus votantes) también guarda relación con el creciente interés en
el área.
2.2.2.
Aplicaciones
Lo que hace realmente interesante la investigación en temas relacionados
con el análisis del sentimiento, además de los retos intelectuales que plantea,
son las innumerables aplicaciones. Algunas de estas aplicaciones son evidentes, y han sido señaladas en múltiples ocasiones por los distintos autores
desde la explosión de trabajos de 2001; otras muchas continúan apareciendo,
a medida que Internet y la sociedad de la información evolucionan. Podemos dividir las aplicaciones según el actor que se verı́a beneficiado: usuarios
de productos y servicios, compañı́as, actores financieros, administraciones
públicas y partidos polı́ticos.
Aplicaciones para clientes
Desde el punto de vista de los usuarios de productos y servicios, serı́an
útiles todos aquellos sistemas que les permitieran acceder a las opiniones de
otros usuarios de manera más potente que la actual. Si actualmente uno puede consultar en sitios web especializados reviews o crı́ticas de otros usuarios
acerca de los productos o servicios que se desee, la utilización de técnicas de
minerı́a de opiniones permitirı́a visualizar de manera resumida la opinión de
cientos o miles de usuarios acerca del producto en cuestión; se reducirı́a con
ello enormemente el tiempo de consulta necesario, y se aumentarı́a la cobertura de las distintas opiniones consideradas. Además de permitir un mejor
acceso a las opiniones de los demás, las propias opiniones que expresemos en
distintos servicios de Internet podrı́an ser utilizadas para configurar un perfil
de nuestros gustos e intereses. En esta situación, el análisis del sentimiento
32
Capı́tulo 2. Procesamiento de textos subjetivos
vendrı́a a enriquecer los sistemas de recomendación (Adomavicius & Tuzhilin, 2005), permitiendo a los mismos hacer uso de la información subjetiva
contenida en las aportaciones textuales de sus usuarios. Algunos autores han
trabajado en aplicaciones relacionadas con la detección de lenguaje ofensivo
(Spertus, 1997), algo de lo que los usuarios de servicios de correo electrónico
o foros públicos se verı́an beneficiados.
Aplicaciones para compañı́as
Desde el punto de vista de las compañı́as, el análisis del sentimiento aporta
herramientas que permiten simplificar y hacer más eficiente la monitorización de las opiniones de sus clientes, trabajo que ya llevan a cabo muchas de
ellas manualmente. Se tratarı́a por tanto de disponer de robots que continuamente estarı́an consultando los contenidos generados por usuarios, capaces
de detectar menciones explı́citas o implı́citas a la compañı́a y sus productos
o servicios, y de reconocer y clasificar adecuadamente las opiniones vertidas.
Esto permitirı́a generar gráficas de valoración y otras representaciones útiles, descubrir nuevas demandas de los clientes, o definir sistemas de alarma
automáticos que avisen a los responsables del sistema ante la aparición de
opiniones “peligrosas” para la compañı́a. Una de las fuentes de información
principales de este tipo de sistemas son las redes sociales; es por esto que
también es interesante conocer a qué usuarios pertenecen las opiniones reconocidas, y qué rol juegan dichos usuarios dentro de su red de influencia, ya
que las opiniones volcadas por ciertos usuarios tendrán un mayor impacto en
la red que las opiniones de otros. Aquı́ entran en juego otro tipo de tecnologı́as relacionadas con el análisis de grafos y redes sociales, que si bien no se
consideran parte del análisis del sentimiento, sı́ están en estrecha relación en
algunas aplicaciones como la anterior. La existencia en los últimos años de
numerosos talleres1 y números especiales de revistas2 que aglutinan trabajos
de análisis del sentimiento y análisis de redes sociales confirma esta relación.
Otra aplicación interesante para las compañı́as que ha sido señalada en la
bibliografı́a es la personalización del contenido o la ubicación de la publicidad
online (Jin et al, 2007).
1
Workshop on Search and Mining User-generated Contents (CIKM 2010, CIKM 2011),
Workshop on Dynamic Networks and Knowledge Discovery (ECML PKDD 2011), Workshop on Link Analysis in Heterogeneous Information Networks (IJCAI 2011)
2
Special Issue on Search and Mining User Generated Contents (Transactions on Intelligent Systems and Technology), Special Issue on Analysis of Short Texts on the Web
(Language Resources and Evaluation Journal ), Special Issue on Social Networks & Social
Web Mining (World Wide Web Journal )
2.2. Análisis del sentimiento y minerı́a de opiniones
33
Aplicaciones en la polı́tica y e-administración
Sistemas de monitorización de opiniones como los descritos anteriormente
también serı́an útiles a los partidos polı́ticos, en este caso para conocer la valoración de los ciudadanos acerca de sus miembros o de las medidas tomadas
desde las administraciones. Servirı́an aquı́ las herramientas proporcionadas
por el análisis del sentimiento como complemento a los estudios demoscópicos habituales, basados en encuestas personales. Además de para fines demoscópicos, se ha sugerido en la bibliografı́a la posibilidad de monitorizar la
actividad en determinados foros “calientes” y otras fuentes de comunicación
para detectar posibles hostilidades extranjeras o actividades terroristas, como herramienta para los servicios de inteligencia de los gobiernos (Abbasi,
2007).
Aplicaciones en las finanzas
El análisis del sentimiento también es aplicable a contextos financieros,
hasta el punto de que los trabajos que introdujeron el término sentiment para
referirse al análisis automático de textos de opinión (Das & Chen, 2001; Tong,
2001) se centraban precisamente en dicho contexto (análisis de la confianza
del mercado o market sentiment). Es conocida la extraordinaria permeabilidad de los mercados bursátiles hacia los estados cambiantes de opinión. Es
por esto que una de las preocupaciones de los inversores y demás actores
financieros es conocer en todo momento dichos estados de opinión (podemos
incluso hablar de estados anı́micos), ya que pueden servir de heurı́stica para
prever los movimientos ascendentes o descendentes de los mercados. La importancia de la rapidez de reacción ante cambios en los estados de opinión
y la amplitud de las fuentes de información que es necesario consultar para
medir dicho estado hacen de éste un campo de aplicación evidente del análisis
del sentimiento.
Otros campos de aplicación
Otros campos de aplicación serı́an el académico (el análisis de citas en
artı́culos (Piao et al, 2007) y de la reputación (Taboada et al, 2006) se verı́an
beneficiados por una clasificación de las citas basada en la opinión), y el sociológico. En las ciencias sociales se utilizan técnicas de análisis textuales, en
las que se trabaja sobre transcripciones de entrevistas con sujetos, artı́culos
de prensa, libros de texto y otras fuentes de información textual. Generalmente, los investigadores se apoyan en algunas herramientas más o menos
sofisticadas de minerı́a de textos para procesar la información contenida en
dichos documentos. La adición de técnicas de minerı́a de opiniones a estas
34
Capı́tulo 2. Procesamiento de textos subjetivos
herramientas facilitarı́a a los investigadores la detección y contabilización de
las opiniones y los sentimientos aparecidos en dichos textos.
2.2.3.
Tareas
Son muchas las tareas concretas en las que se ha centrado la investigación
en el área del análisis del sentimiento. A continuación hacemos un repaso por
algunas de las fundamentales, tratando de dar una descripción breve de la
definición y las caracterı́sticas de cada una. No pretendemos hacer un repaso
pormenorizado de las distintas soluciones propuestas por los autores, sino
dar una visión general de la amplitud de objetivos y problemas incluidos en
el campo del análisis del sentimiento.
Detección de la subjetividad
Algunos de los primeros trabajos aparecidos en el contexto del tratamiento de textos subjetivos están relacionados con el reconocimiento de dicho tipo
de textos, y su diferenciación con respecto a los textos objetivos (Hatzivassiloglou & Wiebe, 2000). Existen gran cantidad de trabajos relacionados con
esta problemática, incluyendo a los participantes en el 2006 Blog track de
la Text Retrieval Conference (TREC) (Ounis et al, 2006), que estuvo centrado en la misma. La forma más inmediata de atacar este problema es la
clasificación binaria de oraciones u otras unidades textuales menores en dos
categorı́as (objetivo/subjetivo) (Wiebe et al, 2004). Otros trabajos llevan a
cabo la clasificación a nivel de documento, lo cual está relacionado con la
tarea de clasificación basada en el género (Yu & Hatzivassiloglou, 2003) (por
ejemplo, distinguir de entre un conjunto de textos periodı́sticos los correspondientes a la sección de noticias de los de la sección de editorial u opinión). Este
tipo de clasificación, independientemente de la granularidad de los textos a
clasificar, puede ser considerada un paso previo a otras tareas del análisis
del sentimiento como la clasificación basada en la opinión o la extracción de
opiniones. Dichas tareas trabajan sobre textos que se presuponen subjetivos, por lo que un sistema que las llevara a cabo se verı́a beneficiado por la
existencia de un módulo previo de detección de subjetividad que filtrara los
textos a procesar (Mihalcea et al, 2007).
La clasificación binaria no es la única manera de afrontar la detección
de la subjetividad. Algunos trabajos afrontan la tarea desde un punto de
vista regresivo: se trata en este caso de determinar la existencia o no de
subjetividad según una escala progresiva (Wilson et al, 2004) (por ejemplo,
0: totalmente objetivo, 5: totalmente subjetivo). Este enfoque responde a
la ambigüedad detectada por los investigadores en las tareas asociadas a la
2.2. Análisis del sentimiento y minerı́a de opiniones
35
detección de la subjetividad, que se refleja en la imposibilidad por parte de
los anotadores humanos de llegar a un acuerdo sobre el carácter objetivo o
subjetivo de algunos textos de entrada (Yu & Hatzivassiloglou, 2003).
Detección de emociones
Se trata a priori de uno de los retos más difı́ciles del área del análisis del
sentimiento: la detección de expresiones de afectos en los textos subjetivos.
Si mencionábamos antes la ambigüedad intrı́nseca de la tarea consistente en
distinguir entre un texto objetivo y uno subjetivo, ser capaz de identificar
en el texto la aparición de emociones y distinguir además de qué emoción
se trata se antoja una misión extremadamente difı́cil. Aún ası́, las múltiples aplicaciones posibles y conexiones con diversas áreas de la informática
(por ejemplo, con el diseño de interfaces hombre-máquina sensibles al estado anı́mico de los usuarios (Liscombe et al, 2005)) ha animado a muchos
investigadores a tratar de resolver el reto.
En un trabajo de 1982 en el que se abordaba la relación entre las expresiones faciales y las emociones fueron definidas seis emociones universales: ira,
disgusto, miedo, alegrı́a, tristeza y sorpresa (Ekman, 1982). Esta categorización de las emociones humanas ha sido adquirida casi como un estándar de
facto por los trabajos en el área del análisis del sentimiento que se ocupan de
detectar la aparición de emociones en los textos (Alm et al, 2005; Liu et al,
2003; Subasic & Huettner, 2001). Aunque existen algunos investigadores que
han empleado una categorización de las emociones de un mayor nivel de detalle; por ejemplo, en (Boldrini et al, 2010) se describe un amplio esquema
de anotación de fenómenos subjetivos en el que, entre otros fenómenos, se
distinguen hasta 15 emociones distintas.
Cálculo de la orientación semántica
La orientación semántica de una palabra o expresión se define como una
medida de las implicaciones afectivas, positivas o negativas, que tiene dicha
palabra o expresión cuando es usada en un contexto evaluativo (Lehrer, 1974;
Battistella, 1990; Hatzivassiloglou & McKeown, 1997). Ası́, por ejemplo, diremos que la palabra “excelente” tiene una orientación semántica positiva,
y que la palabra “pésimo” tiene una orientación semántica negativa. Algunos autores emplean una definición binaria de la orientación semántica, contemplando únicamente dos posibles orientaciones semánticas contrapuestas:
positiva y negativa (Hatzivassiloglou & McKeown, 1997; Esuli & Sebastiani,
2005; Takamura et al, 2005; Hu & Liu, 2004a; Kim & Hovy, 2004; Esuli &
Sebastiani, 2006a, 2005; Andreevskaia & Bergler, 2006). Es común emplear
36
Capı́tulo 2. Procesamiento de textos subjetivos
el nombre polaridad semántica, o simplemente polaridad, para referirse a esta definición de orientación semántica. Otros autores consideran un mayor
conjunto de valores posibles, ya sea de manera discreta (por ejemplo, estableciendo una escala de 1 a 5) o de manera continua (por ejemplo, utilizando un
número real entre -1 y 1) (Turney, 2002a; Turney & Littman, 2003a; Kamps
et al, 2004a; Esuli & Sebastiani, 2007, 2006b; Baccianella et al, 2010). En este caso, la orientación semántica no sólo representa la polaridad del término
en cuestión, sino también la intensidad de las implicaciones afectivas. Por
ejemplo, podrı́amos asignar a la palabra “excelente” un valor de orientación
semántica igual a 1.0, indicando que su polaridad es positiva con una gran
intensidad, y valores menores pero igualmente positivos a otras palabras, como “bueno” o “correcto”, que aún expresando polaridad positiva no lo hagan
con tanta vehemencia.
Aunque existen algunos intentos de construcción de listas de términos
positivos y negativos de manera manual o semi-automática (Stone, 1966;
Huettner & Subasic, 2000; Das & Chen, 2001; Tong, 2001; Cerini et al, 2007),
la mayorı́a de los trabajos citados tratan de generar automáticamente y de
manera no supervisada lexicones de opinión en los que se aglutinan palabras
y expresiones de carácter subjetivo junto a estimaciones de sus orientaciones
semánticas; se trata de recursos de aplicación general e independientes del
dominio, en los que se presupone que el valor de orientación semántica de
los términos es único e independiente del contexto. Sin embargo, esto no es
ası́ en todos los casos: la orientación semántica de determinadas palabras y
expresiones puede cambiar de intensidad e incluso polaridad en función del
contexto de aplicación. Por ejemplo, no es deseable que una pelı́cula sea predecible, pero sı́ lo es que lo sea la conducción de un coche. Existen algunos
trabajos que tienen en cuenta la influencia del contexto en el cálculo de la
orientación semántica (Wilson et al, 2005; Popescu & Etzioni, 2005; Kanayama & Nasukawa, 2006; Ding et al, 2008b; Qiu et al, 2011); nosotros hemos
trabajado en la inducción de lexicones de opinión en español orientados al
dominio (Cruz et al, 2009b) (ver sección 2.3.2), demostrando la ventaja de
utilizar valores de orientación semántica contextualizados. Dicho resultado
condicionó en gran medida nuestra aproximación al problema de la extracción de opiniones, desde la perspectiva de la consideración del dominio de
aplicación como uno de los elementos fundamentales de la propuesta.
Clasificación basada en la polaridad
Una de las tareas que más interés ha despertado en la comunidad de investigadores es la clasificación de documentos basada en la polaridad (Turney,
2002a; Pang et al, 2002), quizás por su cercanı́a a una tarea clásica dentro
2.2. Análisis del sentimiento y minerı́a de opiniones
37
del PLN: la clasificación de documentos. Dado un documento de opinión (por
ejemplo, una crı́tica de cine o literaria), la clasificación de documentos basada
en la polaridad consiste en clasificar el documento como positivo o negativo,
en función de las opiniones contenidas en el documento. Se trata por tanto
de una clasificación binaria, y en la cual se llevan a cabo algunas suposiciones
y simplificaciones. En primer lugar, se supone que el documento en cuestión
contiene opiniones acerca de una única entidad. Además, se considera que
la mayorı́a de las opiniones contenidas son de la misma polaridad, posibilitando elegir la categorı́a positiva o negativa del documento sin existencia
de ambigüedad. Por supuesto, estas suposiciones no se cumplen en todos los
casos: es común que, aún tratándose de un documento de opinión, algunas
pasajes del documento no sean textos subjetivos (por ejemplo, es común que
las crı́ticas de cine contengan descripciones del argumento de la pelı́cula), o
que se incluyan opiniones acerca de otros objetos distintos al principal (por
ejemplo, en una crı́tica acerca de una determinada pelı́cula pueden aparecer
referencias a otras pelı́culas); y, sobre todo, es común encontrar documentos de opinión que no podamos considerar positivos o negativos, puesto que
alaban determinados aspectos del objeto de análisis y critican otros. La falta de aplicabilidad práctica de la tarea ha ocasionado una disminución en
el interés de los investigadores y el número de trabajos en la misma en los
últimos años, junto a un aumento en el interés de la clasificación de unidades
textuales menores (pasajes u oraciones) (Yu & Hatzivassiloglou, 2003; Kim
& Hovy, 2004; Wilson et al, 2005; Zhao et al, 2008) o incluso en otras tareas
relacionadas pero con una mayor cercanı́a la extracción de información, como la extracción de opiniones basada en caracterı́sticas en la que se centra
el presente trabajo.
Aún ası́, la clasificación de documentos basada en la polaridad ha servido como tarea de acceso al campo del análisis del sentimiento para muchos
grupos de investigación. Su estudio permite entrar en contacto con aspectos
transversales al resto de tareas del área, como el concepto de orientación
semántica o las consideraciones acerca de la influencia del contexto y de los
elementos discursivos. Una observación importante es la realizada en (Pang
et al, 2002), trabajo en el que se aplican técnicas clásicas de clasificación de
documentos. Una de las conclusiones del trabajo es que la clasificación de
documentos basada en la polaridad es más difı́cil que otros tipos de clasificación de documentos (por ejemplo, la basada en el tema o el género). En estos
otros tipos de clasificación, las técnicas basadas en bolsas de palabras funcionan relativamente bien, debido a las diferencias existentes en el vocabulario
utilizado en las distintas clases consideradas; sin embargo, acercamientos similares no funcionan igual de bien cuando son aplicados a la clasificación
basada en la polaridad, por la mayor importancia de los elementos discursi-
38
Capı́tulo 2. Procesamiento de textos subjetivos
vos a la hora de distinguir entre opiniones positivas y negativas, y el mayor
solapamiento entre las terminologı́as empleadas en las dos clases.
La cercanı́a de la tarea a la clasificación de documentos y la ausencia de
trabajos realizados para textos en español nos motivó a afrontarla en nuestro
primer trabajo en el área del análisis del sentimiento (Cruz et al, 2008) (ver
sección 2.3.1).
Inferencia de la puntuación de documentos de evaluación
Esta tarea consiste en determinar la puntuación que el autor de un review otorga al objeto de análisis según alguna escala discreta (por ejemplo,
es bastante común en webs especializadas en reviews utilizar una escala de
1 a 5). Este problema puede verse como una generalización de la clasificación basada en la polaridad, en la que en lugar de tener dos clases de salida
(positiva y negativa) se dispone de más de dos (en el ejemplo anterior, cinco
clases). Pero dado que existe una relación de orden entre las clases, algunos trabajos abordan esta tarea como un problema de regresión (Pang &
Lee, 2005; Goldberg & Zhu, 2006). Al igual que ocurrı́a en el cálculo de la
orientación semántica, algunos autores señalan la ambigüedad inherente de
la tarea: según algunos experimentos, un anotador humano sólo es capaz de
acertar exactamente la puntuación en una escala de 1 a 5 en poco más de
la mitad de las veces (Pang & Lee, 2005). Parece que, a la hora de evaluar,
cada individuo otorga una semántica sensiblemente distinta a los distintos
valores de la escala, de manera que, por ejemplo, las valoraciones de algunas
personas están sesgadas hacia puntuaciones más altas y las de otras hacia
puntuaciones más bajas (Amatriain et al, 2009).
Existen pocos trabajos que aborden esta tarea, quizás en parte por su
dificultad. Sin embargo, parece que la utilidad de la misma al ser aplicada
a los sistemas de recomendación está haciendo resurgir el interés (Szomszor
et al, 2007; Golbeck, 2006; Ganu et al, 2009; Leung et al, 2011).
Clasificación basada en la perspectiva
Aunque la mayorı́a de los trabajos de clasificación de textos subjetivos
están enfocados a la clasificación basada en la polaridad, existen otras aproximaciones. Por ejemplo, algunos trabajos tratan de clasificar transcripciones
de debates polı́ticos según estén a favor o en contra del asunto que se esté debatiendo (Bansal et al, 2008; Thomas et al, 2006). Otros trabajos intentan
clasificar textos de opinión en función de la tendencia polı́tica (progresista frente a conservadora) (Mullen & Malouf, 2006, 2008; Malouf & Mullen,
2008), o de si el autor pertenece a una u otra parte de interés en algún con-
2.2. Análisis del sentimiento y minerı́a de opiniones
39
flicto (por ejemplo, si se trata de un texto pro-israelı́ o pro-palestino (Lin
et al, 2006)). En (Tumasjan et al, 2010) se intenta predecir el resultado de
unas elecciones a partir del análisis de los comentarios polı́ticos encontrados
en Twitter.
En general, estos trabajos tienen en común que tratan de clasificar textos
de carácter subjetivo en dos clases contrapuestas, existiendo una cierta correlación entre cada una de las clases y un conjunto determinado de opiniones
y afectos hacia determinados temas. Un aspecto interesante que plantean algunos de estos trabajos, en los que se analizan textos que forman parte de un
debate (es decir, hay intervenciones y réplicas), es la posibilidad de llevar a
cabo la clasificación de todos los textos de manera global, teniendo en cuenta
las referencias de unos participantes a otros y el tipo de lenguaje utilizado
en dichas referencias (apoyo o crı́tica, detección de ironı́a o sarcasmo, etc.),
lo que da pie a la representación del problema mediante grafos y por tanto a
la aplicación de técnicas de análisis de los mismos (Mullen & Malouf, 2008;
Malouf & Mullen, 2008).
Extracción de opiniones
Partiendo de la tarea de clasificación basada en la polaridad, y aumentando progresivamente la granularidad (documentos, pasajes, oraciones), algunos trabajos llegaron a plantear la tarea a nivel de las opiniones individuales
contenidas en los textos. Es decir, más que clasificar un documento u otra
unidad textual menor en función de la polaridad media de las opiniones contenidas, se trata ahora de identificar pequeños trozos de textos que contengan
opiniones individuales, y clasificar dichas opiniones. Se supera de esta forma
una de las simplificaciones de la tarea de clasificación, según la cual todas
las opiniones contenidas en un documento debı́an ser del mismo signo; al
trabajar a nivel de opiniones, la clasificación es más real, y la salida obtenida
más útil en la práctica. La tarea está ahora más cercana a la extracción de
información que a la clasificación de documentos, ya que hay que identificar
la aparición de un tipo determinado de entidad (las opiniones), representada
por distintos campos de información relacionados entre sı́ que hay que extraer
del texto (por ejemplo, el objeto sobre el que versa la opinión y las palabras
utilizadas para calificarlo). Una vez que se han obtenido dichas entidades, se
lleva a cabo un proceso de clasificación de las mismas, la mayor parte de las
veces basada en la polaridad, para lo que se utilizan técnicas similares a las
utilizadas en los trabajos de clasificación anteriormente comentados.
La mayorı́a de los trabajos de extracción de opiniones se centran en extraer opiniones de productos a partir de reviews, principalmente debido a la
disponibilidad de páginas webs especializadas a partir de las cuáles generar
40
Capı́tulo 2. Procesamiento de textos subjetivos
conjuntos de datos para entrenamiento y evaluación (Dave et al, 2003; Hu &
Liu, 2004b,a; Popescu & Etzioni, 2005; Ding et al, 2008b). En estos trabajos, las opiniones son extraı́das a nivel de caracterı́stica, es decir, se pretende
identificar el aspecto concreto del producto sobre el que versa la opinión (por
ejemplo, la calidad de imagen de una cámara de fotos); esta tarea se conoce como extracción de opiniones sobre caracterı́sticas (feature-based opinion
extraction), y fue definida por primera vez en (Hu & Liu, 2004b).
Dado que es esta la tarea en la que se centra el presente trabajo, haremos
un estudio más pormenorizado de las distintas soluciones propuestas en la
bibliografı́a en el capı́tulo 3.
Resumen de textos de opinión
Al igual que el resumen automático clásico, esta tarea consiste en obtener
versiones resumidas a partir de uno o muchos documentos, de manera que
se reduzca la redundancia perjudicando lo mı́nimo posible la legibilidad y
tratando de incluir la información más importante en el resumen. La particularidad con respecto al resumen automático de textos está en el carácter
subjetivo de los textos a resumir. Estos textos pueden ser, por ejemplo, un
conjunto de documentos de opinión acerca de un producto determinado recuperados de la web. El resumen de textos de opinión es una tarea más aplicada
que las anteriores, en tanto que la salida de la misma es directamente de utilidad para muchas de las aplicaciones que comentamos en la sección 2.2.2.
Las caracterı́sticas de los textos sobre los que se trabaja influyen en las
posibles maneras de llevar a cabo el resumen. Por ejemplo, en un resumen
multidocumento se podrı́a tratar de dar una cobertura similar a los documentos con opiniones positivas y a los documentos con opiniones negativas.
O también se podrı́a construir el resumen mostrando de manera diferenciada
las opiniones positivas y negativas que más aparecen. En ambos casos, la tarea de resumen se apoyarı́a en alguna de las tareas previamente comentadas
(clasificación de documentos basada en la opinión, extracción de opiniones).
En comparación con el resumen clásico, el resumen de textos subjetivos
da pie en mayor medida a plantear distintos tipos de resúmenes no textuales,
basados en representaciones gráficas. Por ejemplo, algunos trabajos proponen representaciones en forma de grafo conectando a las personas o entidades
que enuncian opiniones con los objetos concretos sobre los que opinan (Cardie
et al, 2003), representaciones gráficas de las opiniones extraı́das de reviews
de productos a nivel de caracterı́sticas para un producto determinado (Gamon et al, 2005; Carenini et al, 2006) o para varios productos de manera
comparativa (Liu et al, 2005; Yi & Niblack, 2005).
2.2. Análisis del sentimiento y minerı́a de opiniones
2.2.4.
41
Recursos
A continuación enumeramos algunos recursos útiles para la resolución y
evaluación de las distintas tareas del área.
Colecciones de reviews
El género de los reviews de productos o servicios es el que dispone de
una mayor cantidad de recursos en forma de conjuntos de datos, anotados a
distintos niveles. Bing Liu y su equipo ofrecen distintos conjuntos de datos
relacionados con el género3 . Los conjuntos de datos customer review datasets y additional review datasets contienen reviews acerca de 5 y 9 productos
respectivamente, anotados a nivel de oración; para cada oración que contiene una opinión, se indica la caracterı́stica del objeto sobre la que trata
la opinión y la polaridad de la misma. Los conjuntos de datos comparative
sentence datasets (se trata de dos conjuntos de datos distintos, aunque con
el mismo nombre) consisten en oraciones que contienen juicios comparativos
entre distintos productos. También ofrecen conjuntos de datos enfocados a
la detección de spam en reviews (Amazon Product Review Data) y a la detección del género de autores de blogs (Blog author gender classification data
set).
Cornell movie-review datasets 4 son un conjunto de datos en el dominio de
las crı́ticas de cine. Se incluyen cuatro conjuntos de datos. En primer lugar,
un conjunto de 1.000 crı́ticas positivas y 1.000 crı́ticas negativas. En segundo
lugar, un conjunto de 5331 oraciones negativas y otras tantas oraciones positivas, extraı́das de las crı́ticas de cine. Estos dos conjuntos son útiles para
quienes estén interesados en desarrollar trabajos relacionados con la clasificación basada en la opinión, ya sea a nivel de documento o de oración. En
tercer lugar, un conjunto de crı́ticas de cine que incluyen un valor numérico
correspondiente a la puntuación asignada a la pelı́cula por parte del autor,
aplicable por tanto en trabajos de rating inference. Y por último, un conjunto
de 5000 oraciones objetivas y otras tantas subjetivas, útil para la realización
de trabajos sobre detección de subjetividad.
Spanish Movie Reviews 5 es un corpus de crı́ticas de cine en español, acompañadas de una puntuación, que construimos en el contexto de un trabajo
sobre clasificación basada en la opinión (ver sección 2.3.1). Se trata de uno
de los pocos recursos que existen actualmente en español. Multi-Domain,
Taxonomy-based Opinion Dataset es un conjunto de reviews en inglés de
3
http://www.cs.uic.edu/ liub/FBS/sentiment-analysis.html
http://www.cs.cornell.edu/People/pabo/movie-review-data/
5
http://www.lsi.us.es/ fermin/index.php/Datasets
4
42
Capı́tulo 2. Procesamiento de textos subjetivos
tres dominios distintos (auriculares, coches y hoteles), que incluyen opiniones anotadas a nivel de caracterı́stica. Para cada dominio, se incluye además
una taxonomı́a de caracterı́sticas. Es fruto del presente trabajo, y se encuentra disponible en la misma dirección que el anterior.
Otros conjuntos de datos de reviews de productos son el multi-aspect restaurant reviews 6 , que para cada documento (reviews de restaurantes) incluye
puntuaciones de 5 aspectos (comida, ambiente, servicio, precio y general); y el
multi-domain sentiment dataset 7 , que incluye reviews de múltiples dominios
junto a una puntuación de 1 a 5 para cada documento.
Otras colecciones de datos
Existen conjuntos de documentos con textos subjetivos de otros géneros,
como pueden ser el género blog, el periodı́stico o el polı́tico. Blog06 8 es un
enorme conjunto de textos (con un tamaño de 25GB) extraı́dos de blogs de
diversas temáticas. Se incluyen algunos blogs con spam, lo que hace interesante este conjunto de datos para aquellos grupos interesados en la detección
de spam en contextos subjetivos.
Congressional floor-debate transcripts 9 son un conjunto de transcripciones
de debates parlamentarios sobre leyes en el congreso de Estados Unidos. Se
incluye información acerca de si los distintos participantes están a favor o en
contra de la ley que se está debatiendo, ası́ como del orden cronológico de
las participaciones y las distintas menciones de unos participantes a otros. Se
trata por tanto de un conjunto de datos con gran utilidad para desarrollar
trabajos de clasificación basada en la perspectiva, sobretodo aquellos que
pretendan hacer uso de la información relativa a la estructura del debate.
El MPQA Opinion Corpus 10 contiene noticias periodı́sticas anotadas con
un gran nivel de detalle; no sólo se anotan opiniones, sino también emociones, creencias, y otros fenómenos subjetivos. Actualmente se encuentra en su
versión 2.0.
El corpus de la competición NTCIR-6 Multilingual Opinion-Analysis Task 11
contiene artı́culos de prensa en tres idiomas (japonés, chino e inglés), con anotaciones relativas a las opiniones contenidas, incluyendo la persona que emite
la opinión (opinion holder ) y la polaridad. Sucesivas ediciones del congreso
(NTCIR-7 y NTCIR-8 ) también incluyeron competiciones relacionadas con
6
http://people.csail.mit.edu/bsnyder/naacl07
http://www.cs.jhu.edu/ mdredze/datasets/sentiment
8
http://ir.dcs.gla.ac.uk/test collections/blog06info.html
9
http://www.cs.cornell.edu/home/llee/data/convote.html
10
http://www.cs.pitt.edu/mpqa/databaserelease/
11
http://research.nii.ac.jp/ntcir/ntcir-ws6/data-en.html
7
2.3. Experiencias previas en el área
43
el tratamiento de opiniones, y disponen de otros recursos en forma de conjuntos de datos12 .
Recursos léxicos
Existen diversos recursos léxicos que contienen información de caracter
subjetivo acerca de palabras o expresiones. General Inquirer 13 es una herramienta de análisis de contenido cuyo origen se remonta a la década de los
60. Entre los recursos que incorpora, se encuentran listas de palabras y expresiones etiquetadas con orientaciones semánticas positivas y negativas. Se
trata del primer recurso léxico en contener este tipo de información. Subjectivity Lexicon 14 es una lista de palabras y expresiones que suelen aparecer
en construcciones subjetivas; es por tanto un recurso útil para desempeñar
tareas de detección de la subjetividad.
Existen diversos recursos léxicos basados en WordNet (Fellbaum, 1998).
SentiWordNet15 es un recurso de generación semiautomática en el que a cada
synset de WordNet se le asignan tres puntuaciones: una de positividad, otra
de negatividad y una tercera de objetividad. MicroWN-Op16 , por su parte,
etiqueta un subconjunto de synsets, distinguiendo también entre términos
positivos, negativos y objetivos; en este caso, se trata de un recurso elaborado manualmente, y por tanto más fiable que el anterior, aunque con una
cobertura considerablemente menor. WordNet-Affect17 , además de asignar
etiquetas de positividad y negatividad a los synsets, incorpora otros tipos de
información subjetiva, representando las connotaciones emocionales de los
términos y sus implicaciones afectivas.
2.3.
Experiencias previas en el área
En la presente sección vamos a repasar los trabajos previos que hemos
realizado en el área del análisis del sentimiento, explicando las técnicas y
algoritmos propios o de la bibliografı́a que fueron utilizados en los mismos.
Estos trabajos han tenido una repercusión en mayor o menor medida en
nuestro sistema de extracción de opiniones, ya sea por la incorporación de
algunas de las conclusiones obtenidas en la motivación de la propuesta, o por
el uso directo de algunas de las técnicas y algoritmos desarrollados.
12
http://research.nii.ac.jp/ntcir/data/data-en.html
http://www.wjh.harvard.edu/ inquirer/
14
http://www.cs.pitt.edu/mpqa/
15
http://sentiwordnet.isti.cnr.it/
16
http://www-3.unipv.it/wnop/
17
http://wndomains.fbk.eu/wnaffect.html
13
44
Capı́tulo 2. Procesamiento de textos subjetivos
2.3.1.
Clasificación binaria de documentos basada en
la opinión
La clasificación binaria de documentos basada en la opinión consiste en
decidir la categorı́a positiva o negativa de una serie de documentos de opinión,
en función de la opinión media expresada en el documento. Basándonos en
los trabajos de Peter D. Turney (Turney, 2002a; Turney & Littman, 2003a),
llevamos a cabo algunos experimentos de clasificación binaria de crı́ticas de
cine en español (Cruz et al, 2008). Se trata del primer trabajo de clasificación
basada en la opinión de documentos en español. El corpus utilizado en los
experimentos está disponible para uso público 18 , y ha sido empleado en algunos trabajos de otros investigadores (del Hoyo et al, 2009). En la tabla 2.1 se
muestra la distribución de los documentos del corpus según las puntuaciones
asignadas por los autores a cada crı́tica.
Puntuación
1
2
3
4
5
Total
N de documentos
351
923
1.253
890
461
3.878
Cuadro 2.1: Distribución según puntuaciones del corpus de crı́ticas de cine.
En (Turney, 2002a) se describe un clasificador no supervisado basado
en la opinión. Dicho clasificador decide el carácter positivo o negativo de
los documentos en base a la suma de las orientaciones semánticas de ciertos bigramas de los documentos. La orientación semántica de los bigramas
se calcula mediante un algoritmo llamado PointWise Mutual Information Information Retrieval (PMI-IR). A pesar de tratarse de un planteamiento
relativamente simple y no supervisado, el sistema clasifica correctamente un
84 % de los documentos de un pequeño corpus de reviews de coches utilizado
por el autor. Sin embargo, cuando se trata de clasificar crı́ticas de cine, la
precisión obtenida es sólo del 65 %, de lo que se deduce que la clasificación de
crı́ticas de cine es una tarea especialmente difı́cil. Esta diferencia de dificultad de la tarea de clasificación basada en la opinión según el dominio ha sido
constatada por otros artı́culos posteriores, señalando algunos autores que en
el caso concreto de las crı́ticas de cine o de libros algunas partes del texto
18
http://www.lsi.us.es/ fermin/index.php/Datasets
2.3. Experiencias previas en el área
45
se dedican a narrar una sinopsis de la obra; estas secciones pueden dar lugar
a errores en los resultados de la clasificación si no son excluidas del análisis
(Pang & Lee, 2004).
De manera resumida, el método de clasificación utilizado en (Turney,
2002a) y adaptado en nuestro trabajo (Cruz et al, 2008) consta de los siguientes pasos:
Dado un documento, se extraen bigramas utilizando una serie de patrones morfosintácticos simples. En nuestro trabajo, adaptamos el conjunto de patrones para ser empleados en textos en español (ver tabla
2.2), teniendo en cuenta las diferencias con el inglés en el orden de aparición de adjetivos y nombres en los sintagmas nominales, y de verbos y
adverbios en los sintagmas verbales. Se postula que este conjunto contiene al menos algunos bigramas que expresan opinión (aunque también
muchos otros bigramas que no indican opinión).
Para cada uno de los bigramas extraı́dos, se estima la orientación
semántica como un valor real, entre -1.0 y 1.0, mediante el algoritmo
PMI-IR, que explicaremos en la siguiente sección.
A partir de la suma de las orientaciones semánticas obtenidas, se clasifica la crı́tica como positiva si el valor obtenido es mayor o igual que cero,
y negativa en caso contrario. En nuestra propuesta, además de este procedimiento no supervisado, llevamos a cabo algunos experimentos en
los que se utilizaron algunos documentos como corpus de entrenamiento para encontrar un valor real, no necesariamente cero, que sirviera de
umbral entre ambas clases.
1.
2.
3.
4.
5.
Primera
palabra
adjetivo
nombre
adverbio
adverbio
verbo
Segunda
palabra
nombre
adjetivo
adjetivo
verbo
adverbio
Tercera palabra
(no se extrae)
cualquiera
no es nombre
no es nombre
cualquiera
cualquiera
Cuadro 2.2: Patrones morfosintácticos para la extracción de bigramas.
46
Capı́tulo 2. Procesamiento de textos subjetivos
Algoritmo PointWise Mutual Information - Information Retrieval
Para calcular la orientación semántica se utiliza el algoritmo PMI-IR,
que consiste en estimar la información mutua puntual (pointwise mutual
information) (Church & Hanks, 1989) entre el término en cuestión y un par de
palabras semilla (excellent y poor ) que sirven de representantes inequı́vocos
de orientación semántica positiva y negativa, haciendo uso de un buscador
de páginas web para llevar a cabo dicha estimación. La información mutua
puntual se define entre dos palabras w1 y w2 y mide estadı́sticamente la
información que obtenemos sobre la posible aparición de un término a partir
de la aparición de otro término:
p(w1 &w2 )
P M I(w1 , w2 ) = log2
(2.1)
p(w1 )p(w2 )
A partir de esta medida estadı́stica la orientación semántica de un término
t se calcula de la siguiente manera:
SO(t) = P M I(t, “excellent”) − P M I(t, “poor”)
(2.2)
Para estimar la medida PMI se utilizan búsquedas en la web, de manera
que las probabilidades de coaparición de dos términos que constan en el
numerador de la fórmula 2.1 se aproxima mediante el número de páginas
web en las que ambos términos aparecen uno cercano al otro. Tras algunas
transformaciones algebraicas, la fórmula final para el cálculo de la orientación
semántica de un término (SO(t)) propuesta por Turney es la siguiente:
hits(t NEAR excellent)hits(poor)
log2
(2.3)
hits(t NEAR poor)hits(excellent)
, donde hits(t) indica el número de páginas devueltas por el buscador
AltaVista 19 al buscar t. El operador NEAR de AltaVista 20 devuelve las
páginas en las que aparecen ambos términos a una distancia máxima de 10
palabras. Al número de páginas obtenido se le suma 0,01 para evitar una
posible división por cero.
De manera intuitiva, la idea detrás de este cálculo de la orientación
semántica es que expresiones que indiquen una opinión positiva aparecerán
con mayor frecuencia cerca de una palabra con claras connotaciones positivas
19
URL: http://www.altavista.com
El operador NEAR no está disponible en otros buscadores como Google, razón por
la que el autor se decanta por utilizar AltaVista. Sin embargo, se pueden utilizar otras
queries similares en Google, haciendo uso del comodı́n “*”.
20
2.3. Experiencias previas en el área
Semilla
Simple
Múltiple
No supervisada
pos.
neg.
total
35,5 % 91,5 % 63,5 %
70 %
69 % 69,5 %
47
umbral
13,0
-2,25
Supervisada
pos.
neg.
72,5 % 82,5 %
75 % 72,5 %
total
77,5 %
73,75 %
Cuadro 2.3: Resultados de la clasificación de crı́ticas de cine en español.
como excellent y con mucha menor frecuencia cerca de una palabra con connotaciones negativas como poor. En sucesivos trabajos (Turney & Littman,
2003a), el autor utiliza varias semillas de cada tipo en lugar de una sola.
La adaptación del algoritmo PMI-IR al español se reduce a escoger dos
semillas apropiadas para el español. Las semillas escogidas fueron excelente
y malo. También realizamos experimentos utilizando un conjunto de semillas
en lugar de una palabra aislada. El conjunto de semillas positivas y negativas
utilizado fue el siguiente:
Positivas: excelente, buenı́simo, buenı́sima, superior, extraordinario,
extraordinaria, magnı́fico, magnı́fica, exquisito, exquisita
Negativas: malo, mala, pésimo, pésima, deplorable, detestable, atroz,
fatal
Resultados y conclusiones
En la tabla 2.3 se muestran los resultados obtenidos en los experimentos
usando por un lado el método no supervisado y por otro el supervisado (utilizando el 80 % de los documentos del corpus para optimizar el valor umbral y
el 20 % restante para la evaluación). Los resultados para la clasificación no supervisada (63,5 %) están a la par de los comunicados en (Turney, 2002a) para
el corpus de crı́ticas de cine en inglés (65,83 %), mejorando sensiblemente al
utilizarse varias semillas para estimar las orientaciones semánticas (69,5 %).
La utilización de algunos documentos para buscar un valor umbral distinto
de cero entre las clases positiva y negativa supone una mejora considerable;
sorprendentemente, la versión supervisada de la clasificación obtiene mejores
resultados usando semillas simples para la estimación de las orientaciones
semánticas (77,5 %) que usando semillas múltiples (73,75 %).
Más allá de los resultados obtenidos para la tarea de clasificación, este
trabajo nos permitió adentrarnos en el área y tomar contacto con conceptos transversales como la orientación semántica. En concreto, el algoritmo
PMI-IR ha sido incluido en un par de componentes de nuestro sistema de
extracción de opiniones (ver secciones 7.3.2 y 7.3.6).
48
2.3.2.
Capı́tulo 2. Procesamiento de textos subjetivos
Construcción de lexicones de opinión orientados
al dominio
Una de las conclusiones a las que llegamos en el trabajo de clasificación de documentos fue la necesidad de disponer de mecanismos alternativos
de cálculo de las orientaciones semánticas. Dos eran las debilidades principales del algoritmo PMI-IR: en primer lugar, la utilización de AltaVista,
que además de suponer una dependencia con la web, ralentiza el proceso de
cómputo de las orientaciones semánticas de nuevos términos, lo que hace que
la técnica sea poco apropiada para un sistema en producción; en segundo lugar, las estimaciones obtenidas no tienen en cuenta el dominio de aplicación.
Como hemos expuesto anteriormente, algunos términos tienen connotaciones positivas en unos dominios y negativas en otros, o bien connotaciones
del mismo signo pero distinta intensidad. Esta dependencia de la orientación
semántica con el contexto de aplicación ha sido señalada por diversos trabajos
en los últimos años (Wilson et al, 2005; Popescu & Etzioni, 2005; Kanayama
& Nasukawa, 2006; Ding et al, 2008b; Qiu et al, 2011). En nuestro trabajo
(Cruz et al, 2009b) planteamos un método de construcción de lexicones orientados al dominio. Una versión modificada del método aquı́ planteado nos fue
de utilidad posteriormente para la ampliación automática de los lexicones
de opinión que utilizamos en nuestra propuesta de extracción de opiniones
(ver sección 6.8). Además, el algoritmo de ranking sobre grafos utilizado en
dicho método ha resultado ser aplicable a problemas de distinta naturaleza
(por ejemplo, a la selección de instancias en minerı́a de datos (Vallejo et al,
2010), ell cálculo de la confianza y la reputación en redes sociales (Ortega
et al, 2011) y la detección de spam (Ortega et al, 2010)).
A continuación realizamos un repaso por las aportaciones de otros autores relacionadas con la construcción automática de lexicones de opinión,
y resumimos nuestro trabajo, incluyendo una descripción del algoritmo de
ranking sobre grafos PolarityRank.
Trabajos relacionados
Repasando en la bibliografı́a los distintos algoritmos propuestos para el
cálculo de orientaciones semánticas encontramos distintas propuestas basadas en diccionarios léxicos (principalmente WordNet (Fellbaum, 1998)). Por
ejemplo, en (Kamps et al, 2004a) se define una función de distancia d entre
palabras usando las relaciones de sinonimia de WordNet, de manera que la
orientación semántica de una palabra se calcula a partir de la distancia de la
misma a una semilla positiva (good ) y una semilla negativa (bad ):
2.3. Experiencias previas en el área
49
d(w, bad) − d(w, good)
(2.4)
d(good, bad)
Se obtiene ası́ un valor real entre -1.0 y 1.0 que codifica la polaridad y
la intensidad de la orientación semántica. La evaluación del método sobre
349 palabras arrojó una tasa de acierto del 68.19 %, un resultado algo pobre,
teniendo en cuenta el baseline del 50 % atribuible a una clasificación binaria
aleatoria.
Otros autores se basan en la misma idea, pero empleando un conjunto
mayor de semillas y añadiendo más relaciones semánticas de WordNet (por
ejemplo, las relaciones de antonimia) (Hu & Liu, 2004a; Kim & Hovy, 2004).
En otros trabajos llevados a cabo por Esuli y Sebastiani (Esuli & Sebastiani,
2006a,b, 2005), la idea de partida es que si la orientación semántica de una
palabra tiene un signo determinado, entonces las palabras que aparecen en su
glosa (pequeñas definiciones textuales de las palabras incluidas en WordNet)
tenderán a tener orientaciones semánticas del mismo signo. Se construyen
inicialmente dos grandes conjuntos de palabras positivas y negativas, ampliando dos pequeños conjuntos de semillas positivas y negativas mediante
las relaciones de sinonimia y antonimia de WordNet. Después, para cada una
de las palabras del conjunto, se obtiene una representación textual en forma
de bolsa de palabras, a partir de todas las glosas de la palabra; estas representaciones son transformadas en vectores utilizando las técnicas habituales
de clasificación de documentos. Por último, un clasificador binario es entrenado con estos vectores, de manera que ante una nueva palabra se estima
su orientación semántica (en este caso se trata de un valor de polaridad)
mediante dicho clasificador.
Otro trabajo de los mismos autores (Esuli & Sebastiani, 2007) se apoya
en la misma idea de base (la relación entre las orientaciones de las palabras
que aparecen en las glosas) para construir una representación de las palabras
de WordNet en forma de grafo. Empleando un algoritmo de ranking de grafos
similar a PageRank (Page et al, 1998) y un conjunto de semillas positivas
y negativas, se calculan dos puntuaciones para cada palabra (positividad y
negatividad). A diferencia de los trabajos previos de los autores, los valores
ası́ obtenidos son números reales. Como resultado del trabajo, se publicó un
lexicón de opiniones llamado SentiWordNet (Esuli & Sebastiani, 2006b), al
que han seguido versiones posteriores generadas a partir de modificaciones
al algoritmo original (Baccianella et al, 2010); actualmente, la última versión del recurso es considerado el estado del arte en lexicones de opinión
independientes del dominio.
La principal debilidad de los acercamientos basados en diccionarios léxicos es que no tienen en cuenta la dependencia de la orientación semántica con
EV A(w) =
50
Capı́tulo 2. Procesamiento de textos subjetivos
el dominio de aplicación. Otras propuestas se basan en grandes conjuntos de
documentos, y calculan la orientación semántica de manera no supervisada
a partir de ellos (Hatzivassiloglou & McKeown, 1997; Turney, 2002a; Turney
& Littman, 2003a; Yu & Hatzivassiloglou, 2003). Todos ellos parten de algunas semillas positivas y negativas, y calculan la orientación semántica de las
palabras aplicando determinadas reglas de propagación de las orientaciones
semánticas. Los métodos basados en corpus permiten hacer estimaciones de
las orientaciones semánticas dependientes del dominio, siempre que se utilicen conjuntos de documentos del dominio en cuestión.
El método que propusimos en (Cruz et al, 2009b) está basado en corpus,
y utiliza la misma idea de partida de (Hatzivassiloglou & McKeown, 1997),
según la cual los adjetivos que participan en determinadas construcciones
conjuntivas tienden a compartir el signo de la orientación semántica (por
ejemplo, si aparecen coordinados mediante la conjunción and ), y los que participan en otro tipo de construcciones conjuntivas suelen tener orientaciones
opuestas (por ejemplo, si se utiliza la conjunción but). Sin embargo, en lugar
de resolver un problema de clustering a partir de las restricciones anteriores
(como se hace en (Hatzivassiloglou & McKeown, 1997)), en nuestro trabajo
aplicamos un algoritmo de ranking sobre grafos, inspirados por el trabajo de
Esuli y Sebastiani (Esuli & Sebastiani, 2007); sin embargo, nuestro algoritmo
de ranking, a diferencia del algoritmo usado en (Esuli & Sebastiani, 2007),
es capaz de trabajar en grafos con aristas positivas y negativas, de una sola
pasada.
Descripción del método
Nuestro método consiste en generar, para cada dominio considerado, un
grafo de relaciones conjuntivas entre adjetivos. En dicho grafo, los nodos
son los adjetivos que aparecen en los documentos disponibles del dominio, y
aquellos nodos correspondientes a palabras que aparecen en construcciones
conjuntivas son conectados mediante aristas21 . Los pesos de dichas aristas
son proporcionales al número de relaciones conjuntivas observadas, y su signo
indica si las relaciones son de tipo directo o inverso. Cada nodo tiene asociado
un valor de positividad y otro de negatividad ; en principio, ambos valores son
nulos para todos los nodos, excepto para algunos nodos que actúan de semillas
positivas y negativas. Aplicando un algoritmo propio de ranking sobre grafos,
se consigue propagar la información aportada por las semillas al resto de
los nodos, obteniéndose a partir de los valores obtenidos estimaciones de la
orientación semántica de las palabras representadas en el grafo. Explicamos
21
Dado que el algoritmo que aplicaremos posteriormente trabaja sobre grafos dirigidos,
en realidad añadimos dos aristas, una en cada sentido, entre cada par de nodos en cuestión.
2.3. Experiencias previas en el área
51
a continuación cómo se realiza la construcción del grafo y el funcionamiento
del algoritmo de ranking utilizado, que hemos llamado PolarityRank.
Construcción del grafo
Dos adjetivos participan en una construcción conjuntiva si forman parte
de un mismo sintagma, relacionados a través de una conjunción. Diremos
que la relación entre los adjetivos participantes en la construcción es directa
o inversa si, a la vista de la conjunción utilizada y de las partı́culas negativas
participantes, es probable que las orientaciones semántica de ambos adjetivos
sean del mismo signo o de signo opuesto, respectivamente. Algunos ejemplos
de relaciones directas e inversas serı́an los siguientes:
Relación directa
The camera has a bright and accurate len.
It is a marvellous, really entertaining movie.
. . . clear and easy to use interface.
. . . easy to get information, user-friendly interface.
Relación inversa
The camera has a bright but inaccurate len.
It is a entertaining but typical film.
The driving is soft and not aggresive.
Las palabras que aparecen en negrita corresponden a los términos que
serán incluidos en el lexicón. Como puede verse, además de adjetivos se permiten construcciones formadas por adjetivos de la clase easy/difficult seguidos de un infinitivo y las palabras que completan el significado del verbo (el
comportamiento sintáctico de estas construcciones y los adjetivos que forman
parte de la clase easy/difficult se encuentran estudiados en (Nanni, 1980)).
Basándonos en las relaciones conjuntivas extraı́das a partir del conjunto
de documentos del dominio, asignamos un peso a cada arista que conecta
dos nodos. Este peso es igual al número de apariciones de los adjetivos en
relaciones conjuntivas directas menos el número de apariciones en relaciones
conjuntivas inversas (también experimentamos con una versión normalizada de los pesos, en el intervalo [-1.0,1.0]). Por tanto, dos nodos conectados
mediante una arista positiva deberı́an obtener un valor similar de orientación semántica, tanto más cuanto mayor sea el valor del peso. Igualmente,
dos nodos conectados mediante una arista negativa deberı́an obtener valores
opuestos de orientación semántica, con mayor probabilidad cuanto mayor sea
el módulo del peso de la arista.
52
Capı́tulo 2. Procesamiento de textos subjetivos
PolarityRank
El algoritmo de ranking que propusimos es una versión modificada del
algoritmo PageRank (Page et al, 1998). PageRank es utilizado por Google
para medir la importancia de cualquier página web en Internet en función
de los enlaces que dicha página recibe. Se entiende que cuando una página
web enlaza a otra página web está emitiendo un voto positivo sobre la página
enlazada (la está recomendando). Por tanto, aquellas páginas que sean recomendadas por más (y mejores) páginas web deberı́an ser consideradas más
importantes o relevantes. Generalizando su aplicación, PageRank permite obtener una puntuación para cada nodo de un grafo dirigido. Esta puntuación
mide la relevancia de dicho nodo en la red en función de las aristas entrantes
y de las puntuaciones obtenidas mediante el propio algoritmo por los nodos
vecinos participantes de esas aristas.
PolarityRank generaliza el concepto de votación o recomendación, permitiendo aristas con pesos positivos y negativos. Una arista positiva sigue
significando un voto positivo, por el cual un nodo recomienda otro nodo, con
más vehemencia cuanto mayor sea el peso de la arista. Una arista negativa,
por contra, representa un voto negativo, por el cual un nodo censura a otro
nodo, con más fuerza cuanto mayor sea el valor absoluto del peso de la arista.
Partiendo de un grafo como éste, PolarityRank calcula dos puntuaciones para
cada nodo, una positiva y otra negativa, siguiendo una aritmética particular.
Según esta aritmética, la puntuación positiva de un nodo n se ve incrementada proporcionalmente a la puntuación positiva de los nodos conectados a n
mediante aristas de pesos positivos. Pero además, la puntuación positiva de
n también se ve incrementada de manera proporcional a la puntuación negativa de aquellos nodos conectados a n mediante aristas de pesos negativos.
Los mismos principios se aplicarı́an a los valores de puntuación negativa de
los nodos.
La definición del algoritmo es la siguiente. Sea un grafo dirigido G =
(V, E) donde V es un conjunto de nodos y E un conjunto de aristas dirigidas
entre dos nodos. Cada arista de E contiene un valor real asociado o peso,
distinto de cero, siendo pji el peso asociado a la arista que va del nodo vj
al vi . Se define la operación Out(vi ), que devuelve el conjunto de ı́ndices de
los nodos para los que existe una arista desde vi . Se definen las operaciones
In+ (vi ) y In− (vi ), que devuelven los conjuntos de ı́ndices de los nodos para
los que existe una arista hacia vi cuyo peso sea positivo o negativo, respectivamente. Definimos el PolarityRank positivo (P R+ ) y negativo (P R− ) de
un nodo vi (fórmula 2.5), donde los valores de e+ son mayores que cero para
ciertos nodos que actúan como semillas positivas y cero para el resto de nodos, y los valores de e− son mayores que cero para ciertos nodos que actúan
2.3. Experiencias previas en el área
53
como semillas negativas y cero para el resto de nodos.
+
P R+ (vi ) = (1 − d)e+
i
+d
j∈In+ (vi )
+
pji
k∈Out(vj ) |pjk |
−pji
k∈Out(vj )
j∈In− (vi )
|pjk |
P R+ (vj )+
P R− (vj )
(2.5)
d)e−
i +
−
P R (vi ) = (1 −
+d
j∈In+ (vi )
+
j∈In− (vi )
pji
k∈Out(vj ) |pjk |
−pji
k∈Out(vj )
|pjk |
P R− (vj )+
P R+ (vj )
La constante d es un factor de amortiguación, necesario para la convergencia de la función. En todos los casos usamos el valor 0, 85 para dicho
factor, tal como se propone en la definición original de PageRank. Por otro
lado, la suma de los valores de e+ por un lado y de e− por otro debe ser igual
al número de nodos del grafo. El cálculo de la ecuación anterior se realiza
mediante un proceso iterativo, asignando inicialmente valores constantes a
P R+ y P R− y calculando consecutivamente nuevas versiones de los valores,
hasta que la diferencia entre los valores de una iteración y la siguiente es
menor que un cierto valor de precisión.
En el apéndice B se incluye la justificación algebraica y la demostración
de la convergencia del algoritmo.
Cálculo de las orientaciones semánticas
Una vez construido el grafo para cada dominio y asignados los valores
adecuados de e+ y e− a las semillas (utilizamos las propuestas por Turney
y Littman en (Turney & Littman, 2003b)22 ), se procede al cálculo de los
valores de P R+ y P R− de cada nodo. A partir de estos valores, se estima
la orientación semántica del término representado por cada nodo vi en cada
uno de los dominios mediante la siguiente fórmula:
SO(vi ) =
P R+ (vi ) − P R− (vi )
P R+ (vi ) + P R− (vi )
(2.6)
22
Semillas positivas: good, nice, excellent, positive, fortunate, correct, superior. Semillas
negativas: bad, nasty, poor, negative, unfortunate, wrong, inferior.
54
Capı́tulo 2. Procesamiento de textos subjetivos
Los valores ası́ calculados pertenecen al intervalo [−1, 0; 1, 0], indicando
el módulo la intensidad y el signo la polaridad de la orientación semántica
del término.
Resultados y conclusiones
Los experimentos fueron realizados aplicando el método sobre un conjunto de más de 234.000 reviews de 82 tipos de productos distintos, extraı́dos de
la web Epinions.com. Aplicamos el método sobre los documentos de cada uno
de los dominios, obteniendo 82 estimaciones de orientación semántica para
cada uno de los términos observados. La evaluación de los valores obtenidos
para las orientaciones semánticas en cada uno de los dominios planteados
supone un problema en sı́ mismo. En otros trabajos, la evaluación se realiza
comparando las orientaciones semánticas obtenidas con algunos recursos generados de manera manual o semiautomática; algunos de estos recursos son
SentiWordNet (Esuli & Sebastiani, 2006b) , General Inquirer (Stone, 1966)
o Micro-WNOp (Cerini et al, 2007). Dichos recursos contienen valores para
la orientación semántica independientes del dominio, pero ¿cómo distinguir
entre las divergencias entre los valores de orientación semántica fruto de imperfecciones de nuestro método y aquellas inherentes a peculiaridades del
dominio en el que nos encontramos?
Para evitar este problema, construimos un grafo global a partir del corpus
completo para generar un lexicón independiente del dominio, comparando
los valores obtenidos con los del recurso Micro-WNOp. De esta manera pretendı́amos medir la bondad del método propuesto. El recurso Micro-WNOp
consiste en una muestra de aproximadamente 1100 synsets de WordNet, a
cada uno de los cuales les fueron asignados manualmente tres valores reales
entre 0 y 1 indicando la positividad, negatividad y neutralidad del mismo.
Ordenando los adjetivos contenidos en el recursos según el resultado de la
resta entre los valores de positividad y negatividad, obtuvimos un ranking de
433 adjetivos, que comparamos con el ranking obtenido de la aplicación de
nuestro método automático de construcción del lexicón al corpus completo.
En cada uno de los experimentos, usamos como gold standard sólo aquellos
adjetivos de Micro-WNOp encontrados en nuestro lexicón.
Para comparar ambos rankings utilizamos la distancia τ de Kendall (τp )
(Fagin et al, 2004), que mide la similitud entre un ranking modelo o gold
standard y otro ranking candidato. Cuanto más cercano a cero sea el valor
de esta medida, más parecido es el ranking obtenido de nuestro lexicón al
ranking aportado por Micro-WNOp. En la tabla 2.4 se muestran los resultados de dos experimentos: en el primero de ellos, se descartaron las aristas
negativas y se empleó el algoritmo de PageRank en lugar del PolarityRank;
2.3. Experiencias previas en el área
55
en el segundo caso, se utilizó el algoritmo PolarityRank sobre el grafo completo, incluyendo aristas negativas. Ambos resultados mejoran los obtenidos
por Esuli y Sebastiani (Esuli & Sebastiani, 2007)23 .
Método
τ1
Esuli+
0,325
0,284
0,235
0,225
2
Esuli−
PageRank
PolarityRank
Cuadro 2.4: Evaluación de los experimentos de construcción del lexicón
usando todos los documentos del corpus.
La ganancia obtenida por la utilización de la información aportada por
las aristas negativas y la aplicación de nuestra versión del algoritmo de ranking es relativamente pequeña. Esto se debe a la baja proporción de aristas
negativas que contiene el grafo. En experimentos posteriores no incluidos
en (Cruz et al, 2009b), eliminamos aleatoriamente aristas positivas del grafo anterior, consiguiendo una versión “equilibrada” del mismo. A partir de
ese grafo, calculamos las orientaciones semánticas de los nodos participantes
(usando PageRank y las aristas positivas, por un lado, y usando PolarityRank y todas las aristas, por el otro) y evaluamos los resultados siguiendo
el método anterior. Repetimos el proceso completo diez veces (eliminación
aleatoria de aristas positivas, cálculo de orientaciones semánticas mediante
PageRank/PolarityRank) y obtuvimos las medias de τ 1 que se muestran en
2
la tabla 2.5. Como puede observarse, en este caso la ganancia al emplear PolarityRank, que contempla la información aportada por las aristas negativas,
es mayor.
Como veremos en el capı́tulo 5, hemos empleado un método similar al de
este trabajo para llevar a cabo una expansión automática de los lexicones de
opinión empleados en nuestra propuesta de extracción de opiniones. Además,
creemos que el algoritmo PolarityRank es de utilidad en otros problemas
de propagación de conocimiento, siempre que se disponga de una pequeña
cantidad de información sobre algunas de las entidades participantes en el
problema, y sobre las similitudes y diferencias existentes entre el total de
las entidades. Por ejemplo, hemos aplicado el algoritmo a la selección de
23
Dado que en (Esuli & Sebastiani, 2007) se calculan valores independientes de positividad y negatividad, en la tabla 2.4 se muestran los valores de τp para ambos rankings
(Esuli+ y Esuli− )
56
Capı́tulo 2. Procesamiento de textos subjetivos
Relaciones
utilizadas
Directas: 15467
Inversas: 15467
PageRank
PolarityRank
0.402
0.362
Cuadro 2.5: Valores de τ 1 obtenidos para los experimentos de construcción
2
de lexicones sobre grafos equilibrados.
instancias en minerı́a de datos (Vallejo et al, 2010) y al cálculo de la confianza
y reputación en redes sociales (Ortega et al, 2011).
2.3.3.
Resumen automático de textos de opinión
Tal como hemos comentado en la sección 2.2.3, el resumen automático
de textos de opinión se puede enfocar de diversas maneras. Para empezar,
podemos distinguir entre resúmenes en forma de texto y resúmenes gráficos.
En el primer caso, se trata de una tarea que lleva siendo estudiada desde
hace años en el campo del PLN, consistente en obtener pequeños resúmenes
textuales a partir de uno o muchos documentos, de manera que se dé cabida a
la información más importante de los documentos, disminuyendo en lo posible
la redundancia y el tamaño del texto original. En el caso del resumen de textos
de opinión, la tarea se puede llevar a cabo de maneras especı́ficas; por ejemplo,
se podrı́a tratar de dar una cobertura similar a los documentos con opiniones
positivas y a los documentos con opiniones negativas, construir el resumen
mostrando de manera diferenciada las opiniones positivas y negativas que más
aparecen, o incluso utilizar sólo aquellas secciones del texto que contengan
opiniones acerca de un determinado objeto.
Esta última opción (la construcción de resúmenes textuales de documentos de opinión que se centren exclusivamente en las opiniones acerca de un
tema determinado), fue objeto de una competición organizada por el National Institute of Standards and Technology (NIST ) en el marco de la Text
Analysis Conference (TAC ) de 2008. La tarea, de nombre Opinion Summarization, consistió en generar resúmenes con la mayor calidad posible de las
opiniones acerca de determinados objetivos contenidas en un conjunto de
documentos extraı́dos de blogs. Se proporcionó como entrada una serie de
preguntas de opinión (lo suficientemente complejas como para no poder ser
contestadas mediante pocas palabras), de manera que el resumen generado
debı́a servir de respuesta a dicha pregunta. Algunos ejemplos de las preguntas
que se pretendı́an responder son las siguientes:
2.3. Experiencias previas en el área
57
What did American voters admire about Rudy Guiliani?
What qualities did not endear Rudy Guiliani to some American voters?
Why did readers support Time’s inclusion of Bono for Person of the
Year?
Why did people enjoy the movie “Good Night and Good Luck”?
Además de las preguntas y los documentos de los que realizar el resumen,
también se disponı́a de un conjunto de snippets (pequeños trozos de texto)
generados por aquellos grupos de investigación que participaron en otra tarea
paralela de question answering, de manera que estos snippets podı́an ser
utilizados para encontrar en los documentos secciones de textos a resumir,
sin tener que afrontar toda la problemática asociada al question answering.
Ya que en el momento de la celebración de la competición estábamos
comenzando nuestra investigación en el área del análisis del sentimiento,
decidimos participar en la misma presentando un sistema (Cruz et al, 2009a).
Nuestra propuesta obtuvo buenos resultados.
Nuestro sistema en el TAC 2008 Opinion Summarization Task
Nuestro sistema se basó en la combinación de los snippets proporcionados
para la construcción del resumen. Para aumentar la legibilidad y completar
la información, se buscan en los documentos las oraciones más relevantes
relacionadas con los snippets, y se trabaja con ellas para construir el resumen.
En la figura 2.1 se muestra la arquitectura del sistema. A partir de los documentos html se generan documentos de texto plano, separados por oraciones y convenientemente tokenizados (empleamos la herramienta OpenNLP 24 ).
Todas las oraciones obtenidas son indexadas mediante Lucene 25 .
Para cada uno de los snippets de una pregunta dada, buscamos la oración del documento asociado más relevante. Suponemos que los snippets han
sido extraı́dos (casi) totalmente de manera literal del texto de los documentos; pretendemos por tanto recuperar esa oración como unidad mı́nima para
componer el resumen. Para recuperar la oración más relevante, seguimos una
estrategia de relajación progresiva de la exigencia. Primero, buscamos de manera literal el snippet en el documento. Si no se encuentra ninguna oración,
buscamos alguna oración que contenga todos los sintagmas que componen el
snippet. Si aún no tenemos resultado, vamos eliminando progresivamente de
la búsqueda los sintagmas compuestos por menos palabras (los de una, los de
24
25
http://opennlp.sourceforge.net
http://lucene.apache.org/
58
Capı́tulo 2. Procesamiento de textos subjetivos
Questions
+ Snippets
HTML to Text
Sentence
Retrieval
Sentence Quality
Regression Tree
Clause Extraction
Sentence
Clustering and
Selection
Sentence
Transformation
Figura 2.1: Arquitectura de nuestro sistema de resumen
dos,. . . ). Si finalmente ninguna búsqueda consigue resultado, o el resultado
obtenido tiene un score asignado por Lucene menor a 0, 75, la recuperación
ha fallado. En este caso, utilizamos el snippet tal cual como unidad de composición del resumen.
Para cada una de las oraciones obtenidas en la fase de recuperación,
buscamos si contiene alguna cláusula menor que la oración completa que
contenga todas las palabras no huecas del snippet correspondiente. Si encontramos dicha cláusula, la utilizamos en lugar de la oración completa. De esta
forma, pretendemos minimizar incoherencias en la estructura del discurso del
resumen resultante, manteniendo la información esencial. Sólo en el caso de
que excedamos el tamaño máximo exigido por la organización, llevamos a
cabo un proceso de selección de oraciones, basándonos en la redundancia.
Utilizamos LingPipe 26 para llevar a cabo un proceso de clustering con las
oraciones, utilizando la coocurrencia de términos como medida de distancia
entre ellas. Para cada uno de los clusters generados, escogemos la oración
de mayor calidad. Para medir la calidad de las oraciones, desde el punto
de vista de si es o no buena candidata a formar parte de nuestro resumen,
entrenamos un árbol de regresión en Weka27 . Dos integrantes del grupo de
trabajo etiquetaron con un valor entero de 1 a 5 la calidad de 84 oraciones
extraı́das a partir de los snippets puestos a disposición como ejemplo por
la organización. Se pretendı́a puntuar negativamente aquellas oraciones que
por cuestiones de forma fuera preferible que quedaran fuera del resumen.
Las anotaciones con más divergencia entre los anotadores fueron discutidas
por estos, y en el resto se utilizó la media entre las dos puntuaciones asignadas. Cada oración fue vectorizada utilizando features basados en el árbol
sintáctico y en información morfológica.
Una vez obtenidas las oraciones que formarı́an el resumen, se llevaron a ca26
27
http://alias-i.com/lingpipe/
www.cs.waikato.ac.nz/ml/weka/
2.3. Experiencias previas en el área
59
bo algunas transformaciones sencillas, como añadir puntos de final de oración,
eliminar algunas coletillas frecuentes a final de frase (“, I think.”, “,huh?”), o
cambiar la persona de algunas oraciones (por ejemplo, “I think. . . ” se cambia
por “People think. . . ”).
Evaluación
La evaluación se llevó a cabo mediante distintas métricas manuales, confeccionadas por 8 asesores. La primera de ellas, conocida como pyramid evaluation (Passonneau et al, 2005), utiliza pequeñas porciones de información
o nuggets que deberı́an contener los resúmenes para evaluar el contenido de
los mismos; el valor que se obtiene es una media armónica entre la precisión
y la cobertura del resumen en relación a los nuggets, llamada F piramidal.
Además del valor obtenido mediante este método, se utilizaron dos medidas
más, llamadas overall fluency/readability y overall responsiveness, obtenidas
como la media de las puntuaciones asignadas manualmente por los asesores.
En el primer caso, se trata de puntuar la estructura y calidad del resumen
desde el punto de vista de la corrección gramatical (grammaticality), la no
redundancia (non-redundancy) y la coherencia estructural (structure/coherence). La métrica overall responsiveness, por su parte, evalúa lo adecuado
del contenido del resumen en relación a las preguntas a las que se debı́a dar
respuesta.
Resultados y conclusiones
Participaron 36 equipos en la competición. Nuestro sistema obtuvo muy
buenos resultados en las medidas relacionadas con la cobertura informativa
de los resúmenes generados (tabla 2.6). Dos ejecuciones del sistema fueron
evaluadas. La única diferencia entre ambas fue que en la segunda ejecución imponemos una calidad mı́nima a las oraciones que formarán parte del
resumen, utilizando para ello el valor generado por el árbol de regresión.
Nuestras dos ejecuciones consiguieron el segundo y el tercer mejor resultado
en la medida F piramidal, y el primer y segundo mejor resultado en overall
responsiveness. Creemos que el buen resultado en cuanto a la cobertura de la
información relevante de nuestros resúmenes se debió a que pusimos el énfasis
en la recuperación de las oraciones más relevantes. Sin embargo, en la métrica
overall fluency/readability obtuvimos un peor resultado (décimo lugar). En
particular, la peor puntuación la obtuvimos en la métrica relacionada con la
redundancia, lo que nos hace pensar que deberı́amos haber aplicado la fase
de clustering en todos los casos (sólo la aplicamos en el caso de obtener un
resumen demasiado largo). La segunda ejecución obtuvo peores resultados
60
Capı́tulo 2. Procesamiento de textos subjetivos
Pyramid F-score
Grammaticality
Non-redundancy
Structure/Coherence
Overall fluency/readability
Overall responsiveness
Run 1
0.490
5.591
5.318
3.273
3.909
5.773
pos.
2
10
29
9
10
1
Run 2
0.489
5.545
5.364
2.682
3.591
5.409
pos.
3
12
28
19
19
2
Cuadro 2.6: Evaluación del sistema presentado al TAC 2008 Opinion Summarization Task
en todas las medidas. Creemos que esto pudo deberse a la escasez de datos
de entrenamiento con los que se construyó el árbol de regresión para medir
la calidad de las oraciones.
La participación en la competición nos condujo a algunas conclusiones
interesantes. Si bien la tarea propuesta resultó estar más alejada del área del
análisis del sentimiento de lo que en un primer momento pensamos (quizás
la tarea paralela de respuesta a preguntas de opinión estaba más próxima),
sı́ nos hizo plantearnos la utilidad práctica de los sistemas de clasificación
basada en la opinión en los que venı́amos trabajando. De cara a la resolución
de la tarea de la competición, habrı́a sido más útil disponer de un sistema
que fuese capaz de reconocer las opiniones individuales contenidas en los
documentos, no sólo clasificando dichas opiniones de acuerdo a su polaridad
sino identificando también los objetos concretos sobre los que tratan dichas
opiniones. Centramos en ese momento nuestros esfuerzos en el tema central
del presente trabajo: la extracción de opiniones.
Capı́tulo 3
Extracción de opiniones sobre
caracterı́sticas
Resumen: En este capı́tulo realizamos un repaso bibliográfico de los
trabajos relacionados directamente con la extracción de opiniones sobre caracterı́sticas. En la parte final del capı́tulo proponemos un resumen comparativo de las caracterı́sticas principales de las distintas
aproximaciones al problema, que servirá de base para introducir nuestra propuesta en el capı́tulo 4.
3.1.
Introducción
La extracción de opiniones sobre caracterı́sticas es definida de manera
distinta según los autores, aunque todos ellos persiguen un mismo objetivo:
la obtención de representaciones estructuradas de las opiniones contenidas en
textos subjetivos acerca de las distintas caracterı́sticas de un objeto determinado, a partir de las cuales puedan construirse representaciones resumidas de
los documentos de entrada en base a la agregación de las opiniones extraı́das.
Se trata de una tarea que engloba múltiples problemas a resolver, desde la
detección de menciones (explı́citas o implı́citas) a las distintas caracterı́sticas
de los objetos en análisis, hasta la clasificación basada en la polaridad de las
oraciones que contienen las opiniones o de las propias representaciones de las
opiniones.
61
62
Capı́tulo 3. Extracción de opiniones sobre caracterı́sticas
3.2.
Principales trabajos relacionados
A continuación repasamos los trabajos fundamentales relacionados con la
tarea, siguiendo en lo posible un orden cronológico. En la siguiente sección
llevaremos a cabo un estudio comparativo de los trabajos más interesantes.
3.2.1.
Primeros trabajos
El primer trabajo que sugirió la extracción de opiniones individuales como medio para construir un resumen de documentos de análisis de productos
fue llevado a cabo por Dave et al. en 2003 (Dave et al, 2003). En realidad,
el trabajo plantea la construcción de un clasificador binario supervisado de
documentos basado en la opinión. Se experimenta con diversas técnicas de
aprendizaje automático (máxima entropı́a, support vector machines, expectation maximization y Naive Bayes), y se compara con un clasificador basado en representación vectorial de los documentos. Para este último caso,
se proponen distintas features para representar los documentos (unigramas,
bigramas, trigramas, sufijos/prefijos, transformaciones lingüı́sticas, . . . ). Es
precisamente a partir de estas features que el trabajo propone la construcción de resúmenes multidocumento agrupando las features encontradas con
mayor ganancia de información para las clases positiva y negativa. Aunque
aún no se define claramente la extracción de opiniones sobre caracterı́sticas
(nótese que las features en el trabajo se refieren a caracterı́sticas lingüı́sticas
utilizadas por el clasificador, más que a caracterı́sticas de los productos), se
trata del primer trabajo que propone la identificación de opiniones individuales para la construcción de un resumen multidocumento, lo que sin duda
dio pie a los sucesivos trabajos en dicha dirección y a la definición de la tarea
de extracción de opiniones.
Hu y Liu definieron por primera vez la tarea de extracción de opiniones
sobre caracterı́sticas de productos en 2004 (Hu & Liu, 2004b,a), desde la perspectiva de la construcción de un resumen multidocumento de las opiniones
vertidas sobre un determinado producto. Se trata de un resumen estructurado, en el que aparecerán el número de opiniones positivas y negativas
contenidas en los documentos para cada una de las caracterı́sticas opinables
del producto (ver figura 3.1). Para conseguir generar este tipo de resúmenes,
se define la tarea de extracción de opiniones sobre caracterı́sticas, que consta
de los siguientes pasos:
1. Encontrar en los documentos menciones a caracterı́sticas de los productos.
3.2. Principales trabajos relacionados
63
Digital camera 1:
Feature: picture quality
Positive: 253
<individual review
Negative: 6
<individual review
Feature: size
Positive: 134
<individual review
Negative: 10
<individual review
sentences>
sentences>
sentences>
sentences>
...
Figura 3.1: Ejemplo de resumen a partir de opiniones sobre caracterı́sticas
(propuesto por Hu y Liu (Hu & Liu, 2004a))
2. Identificar oraciones en las que se vuelcan opiniones sobre las caracterı́sticas anteriores, y decidir si se trata de opiniones positivas o negativas.
En realidad, cada uno de los pasos anteriores puede ser descompuesto
en más pasos (por ejemplo, en el paso 2 son problemas distintos decidir las
caracterı́sticas sobre las que se vuelcan las opiniones o clasificar las opiniones
como positivas o negativas); la división planteada responde a la publicación
del trabajo en dos artı́culos distintos, uno explicando el primer punto (Hu &
Liu, 2004b) y otro el segundo (Hu & Liu, 2004a).
Resumimos a continuación las técnicas utilizadas para llevar a cabo cada una de las subtareas. En primer lugar, la detección de las caracterı́sticas
se lleva a cabo de manera no supervisada, utilizando una técnica conocida
como association rule mining (Agrawal & Srikant, 1994). Las caracterı́sticas
obtenidas son sintagmas nominales de un máximo de 3 palabras, extraı́das
de entre los sintagmas nominales más frecuentemente aparecidos en los documentos. Se lleva a cabo un proceso de selección, eliminando los candidatos
redundantes o aquellos que no tienen ningún sentido. Para conseguir ampliar
la cobertura, se propone un método de bootstrapping consistente en buscar
adjetivos frecuentes que aparezcan en el contexto de las caracterı́sticas anteriormente descubiertas, y buscar a su vez nuevas caracterı́sticas a partir
de los sintagmas nominales que aparecen más frecuentemente en el contexto
de dichos adjetivos. Los resultados obtenidos al evaluar el método sobre un
64
Capı́tulo 3. Extracción de opiniones sobre caracterı́sticas
corpus de reviews de 5 productos distintos fueron de un 80 % de cobertura
y un 72 % de precisión. La mayor desventaja de la propuesta es la enorme
cantidad de caracterı́sticas obtenidas (hasta 96 distintas para una cámara de
fotos); muchos de los sintagmas nominales extraı́dos son en realidad distintos sinónimos de una misma caracterı́stica, sin que el sistema sea capaz de
detectarlo.
El segundo paso se lleva a cabo de la siguiente manera. En primer lugar se buscan las palabras de opinión (palabras con carga subjetiva), que
serán aquellos adjetivos que aparezcan en el contexto de alguna de las caracterı́sticas detectadas en la etapa anterior. Aquellas oraciones que contienen
menciones a caracterı́sticas y palabras de opinión son consideradas oraciones
de opinión. Para poder decidir la polaridad positiva o negativa de dichas oraciones, previamente se calculan las orientaciones semánticas de las palabras
de opinión participantes. Esto se hace mediante una técnica bastante sencilla
(y no demasiado fiable, por otro lado), consistente en basarse en las relaciones de sinonimia y antonimia entre adjetivos en WordNet para, a partir de
un conjunto de 30 semillas positivas y negativas, inferir la polaridad de las
palabras de opinión. La hipótesis en este caso es que dos adjetivos que aparezcan como sinónimos en WordNet compartirán la misma polaridad, de igual
modo que dos adjetivos que aparezcan como antónimos tendrán polaridades
opuestas. Las oraciones de opinión son clasificadas a partir de la suma de las
orientaciones semánticas de las palabras de opinión contenidas (usando +1
para las positivas y -1 para las negativas); se tienen en cuenta las posibles
apariciones de negaciones modificando a las palabras de opinión, invirtiéndose el signo de la polaridad de las mismas. Cuando no se consigue clasificar una
oración de opinión, se utiliza la polaridad de la última oración de opinión, a
partir de la premisa de que las opiniones de un mismo signo tienden a aparecer en un contexto próximo. Usando el mismo corpus anterior, el método
descrito consiguió reconocer el 69,3 % de las oraciones de opinión, con una
precisión del 64,2 %; el 84,2 % de las oraciones de opinión reconocidas fueron
correctamente clasificadas. Estos resultados son relativamente buenos, dada
la dificultad de la tarea y la simplicidad del método propuesto, lo que junto a
la utilidad de la salida obtenida convirtió a la extracción de opiniones sobre
caracterı́sticas en una tarea de gran interés para la comunidad investigadora.
Son varias las limitaciones de la propuesta. En primer lugar, la clasificación de polaridad se realiza a nivel de oración, y no de opiniones. Esto
implica que no se contemplan los casos en los que en una misma oración
aparecen opiniones de signo contrario acerca de distintas caracterı́sticas. La
evaluación se hace a nivel de oraciones, lo que no se ajusta bien a la definición
de la tarea, que plantea la extracción de opiniones a nivel de caracterı́stica
para la construcción del resumen mostrado en la figura 3.1. El trabajo no
3.2. Principales trabajos relacionados
65
Figura 3.2: Ejemplo de comparativa entre productos propuesta por Liu et al.
(Liu et al, 2005)
aborda la extracción de opiniones sobre caracterı́sticas implı́citas (opiniones
en las que la caracterı́stica no aparece mencionada directamente). Por otro
lado, las únicas palabras de opinión consideradas son los adjetivos, cuando
existen otras categorı́as morfosintácticas que pueden expresar opiniones (por
ejemplo, verbos como “gustar” o nombres como “basura”). Además, no se
consideran posibles expresiones de opinión formadas por más de una palabra (por ejemplo, “obra maestra” o “demasiado grande”). El cálculo de la
orientación semántica de los adjetivos es demasiado simplista, no teniendo
en cuenta las posibles dependencias con el dominio o con la caracterı́stica.
Por último, la asociación entre las caracterı́sticas y las palabras de opinión se
realiza a partir de la aparición consecutiva o muy cercana entre ambas, quedando por tanto fuera otras posibles construcciones (considérese por ejemplo
la oración “The amount of detail in these headphones, that I bought a month
ago, is stunnning”).
La propuesta fue modificada y ampliada en sucesivos trabajos de Liu y
otros. En (Liu et al, 2005), abordan la extracción de opiniones a partir de
la sección de pros y contras de los reviews. El trabajo se centra en la extracción de caracterı́sticas (la clasificación de las opiniones está implı́cita,
considerándose positivas aquellas que aparecen en la sección “pros” y negativas las que aparecen en la sección “contras”). Se trata por ello de un
trabajo menos completo que los anteriores, pero con algunas aportaciones
interesantes, como la aparición por primera vez de un tratamiento para las
caracterı́sticas implı́citas (mediante un etiquetado manual de las relaciones
entre algunos términos y dichas caracterı́sticas), la agrupación de algunas
de las caracterı́sticas obtenidas mediante el uso de relaciones de sinonimia
en WordNet (método no del todo satisfactorio, entre otras cosas porque no
se consideran relaciones de sinonimia entre caracterı́sticas multipalabra), o
la participación optativa de analistas humanos que corrijan los errores del
66
Capı́tulo 3. Extracción de opiniones sobre caracterı́sticas
sistema. El trabajo también propone algunas representaciones interesantes
de comparativas de productos basadas en caracterı́sticas (ver figura 3.2). En
(Ding et al, 2008b), se plantea una función para el cálculo de las orientaciones semánticas de las opiniones a nivel de caracterı́sticas (en lugar de a nivel
de oraciones como anteriormente), basada en la suma de las orientaciones
semánticas de las palabras de opinión de la oración donde aparece una caracterı́stica divididas por las distancias entre las palabras de caracterı́sticas
y de opinión. Además se proponen algunas reglas de contexto que pretenden
matizar las orientaciones semánticas de las palabras de opinión; sigue sin considerarse de manera completa la dependencia entre la orientación semántica
y el dominio de aplicación o las caracterı́sticas, pero al menos se trata de un
paso claro en esa dirección. En otros trabajos más recientes, los autores han
tratado de resolver el problema de la agrupación de caracterı́sticas sinónimas mediante la aplicación de técnicas de clustering a posteriori (Zhai et al,
2010).
3.2.2.
La extracción de opiniones desde
la perspectiva de la extracción
de información
La tarea de extracción de opiniones sobre caracterı́sticas puede entenderse como una tarea de extracción de información, ya que se trata de encontrar
en los textos ciertas entidades (menciones a caracterı́sticas, palabras de opinión) y relaciones entre las mismas. Es desde este punto de vista desde el que
afrontan el problema Popescu y Etzioni (Popescu & Etzioni, 2005; Popescu et al, 2005), adaptando un sistema de extracción de información llamado
Know-ItAll (Etzioni et al, 2004). En lugar de trabajar a nivel de las oraciones o sintagmas donde aparecen menciones a caracterı́sticas, e inducir la
orientación semántica de las opiniones a partir de las palabras de opinión que
aparecen en las mismas, en este trabajo se enlazan caracterı́sticas individuales a las palabras de opinión individuales que las modifican, obteniéndose con
ello representaciones de opiniones individuales. La captura de estas relaciones
se realiza de acuerdo a 10 patrones sintácticos confeccionados manualmente
y basados en relaciones de dependencias (para una introducción al análisis de dependencias y sus particularidades con respecto al análisis sintáctico
completo tradicional, ver (Mel’čuk, 1988)).
La extracción de las caracterı́sticas explı́citas se lleva a cabo mediante el
cálculo de la información mutua puntual (Pointwise Mutual Information, el
mismo algoritmo utilizado en (Turney, 2002a) para el cálculo de la orientación semántica de términos de opinión) entre los sintagmas nominales más
3.2. Principales trabajos relacionados
67
frecuentes del texto de los documentos y determinadas expresiones que los
autores llaman meronymy discriminators. Por ejemplo, para encontrar caracterı́sticas de un escáner, se calculan los valores de PMI entre los candidatos
y expresiones como “of scanner” o “scanner has”, y se seleccionan aquellos
candidatos que obtengan un valor mayor a un umbral. El artı́culo no describe
todas las expresiones de meronimia empleadas, ni el método para fijar el valor
umbral de PMI. Una aportación interesante con respecto a las caracterı́sticas es la diferenciación de varios tipos de caracterı́sticas: se distingue entre
partes y propiedades (por ejemplo, el tamaño frente a la tapa de un escáner),
caracterı́sticas de las partes (por ejemplo, la duración de la baterı́a de una
cámara), conceptos relacionados (por ejemplo, la imagen en un escáner) y
caracterı́sticas de conceptos relacionados (por ejemplo, la calidad de la imagen de un escáner). El sistema distingue unos tipos u otros de caracterı́sticas
mediante el empleo de distintas expresiones de meronimia en cada caso, y
el uso de las relaciones IS-A de WordNet (para el caso de las partes). Más
allá de la división concreta de tipos de caracterı́stica propuesta, es interesante el planteamiento de una cierta jerarquı́a entre las caracterı́sticas de un
producto, lo que deja entrever la posible utilidad del uso de taxonomı́as de
caracterı́sticas, que será una de las bases de nuestra propuesta. En (Popescu et al, 2005) se propone un método para la extracción de caracterı́sticas
implı́citas (aunque está muy poco documentado en el artı́culo), basado en
realizar un clustering de las palabras de opinión y asignándoles algunas de
las caracterı́sticas de tipo propiedad previamente extraı́das. Los autores dicen obtener con el tratamiento de las caracterı́sticas implı́citas una mejora
de alrededor de dos puntos porcentuales en la precisión de la extracción de
caracterı́sticas y de seis puntos en la cobertura.
Para el cómputo de la orientación semántica de las palabras de opinión,
se parte de estimaciones iniciales realizadas mediante PMI (de forma similar
a (Turney, 2002a)). Estos valores iniciales son contextualizados, mediante
el establecimiento de ciertas restricciones locales que afectan a las palabras
de opinión; por ejemplo, las palabras de opinión que ocurren en contextos
cercanos o las que participan en construcciones conjuntivas directas tienden
a compartir la misma polaridad. Todas las restricciones participantes son
tenidas en cuenta a través de una técnica de clasificación no supervisada
llamada relaxation labeling (Hummel & Zucker, 1983). Al igual que ocurre con
las técnicas de contextualización de las orientaciones semánticas propuestas
en (Ding et al, 2008b), se trata de un intento algo limitado de calcular valores
de orientación semántica orientados al dominio y a las caracterı́sticas de
aplicación.
68
3.2.3.
Capı́tulo 3. Extracción de opiniones sobre caracterı́sticas
Otros trabajos
Aunque los trabajos anteriormente expuestos son con diferencia los que
mayor número de citas reúnen, existen otros trabajos a lo largo de los últimos
años que merece la pena reseñar. En (Carenini et al, 2005), se propone un
método no supervisado de extracción de caracterı́sticas explı́citas similar al
propuesto por Hu y Liu (Hu & Liu, 2004b), pero con la novedad de que las
caracterı́sticas extraı́das son vinculadas a una taxonomı́a de caracterı́sticas
previamente disponible (se emplean taxonomı́as de productos desarrolladas
por la organización ConsumerReports.org). Esta vinculación se realiza de
acuerdo a la similitud entre las palabras utilizadas para nombrar la caracterı́stica en el texto y en la taxonomı́a. Aunque los resultados del método son
modestos, y no se contemplan caracterı́sticas implı́citas ni se aportan métodos para la construcción de las taxonomı́as para nuevos dominios, el trabajo
es el primero en señalar la utilidad de las taxonomı́as de caracterı́sticas en
las tareas de extracción y resumen de opiniones sobre caracterı́sticas.
El interés en el área de las grandes corporaciones con negocios en la red
como IBM o Google queda de manifiesto por algunas publicaciones como
(Yi & Niblack, 2005) o (Blair-Goldensohn et al, 2008). En el caso de (Yi &
Niblack, 2005) se trata de una propuesta práctica, independiente del dominio
y basada en técnicas muy simples. La extracción de caracterı́sticas explı́citas
(no se tienen en cuenta las caracterı́sticas implı́citas) se hace capturando sintagmas nominales a comienzo de oración que comiencen por el determinante
“the” (los autores argumentan que cuando se comienza a hablar de una caracterı́stica determinada se suele comenzar de esta manera). La búsqueda de
expresiones de opinión en las que participen las caracterı́sticas anteriores se
lleva a cabo con patrones sintácticos simples elaborados a mano. Igualmente,
el lexicón de orientaciones semánticas de las palabras de opinión utilizado es
de construcción manual.
El trabajo descrito en (Blair-Goldensohn et al, 2008), por su parte, se
centra en la extracción de opiniones en dos dominios concretos (hoteles y
restaurantes). Se trata de una propuesta orientada a dominio, en la que se
contempla la definición manual de ciertas caracterı́sticas abstractas de amplio significado propias del dominio considerado (por ejemplo, food, decor,
service, value y other para el dominio de los restaurantes). Las caracterı́sticas explı́citas habituales, extraı́das según el método de Hu y Liu (Hu & Liu,
2004b), son asociadas a estas caracterı́sticas abstractas de manera automática, utilizando un clasificador entrenado a partir de un conjunto de oraciones
anotadas manualmente. Los autores argumentan que el esfuerzo requerido
para estas anotaciones es pequeño comparado con el beneficio obtenido en
la calidad de las opiniones extraı́das por el sistema y su adaptación a un
3.2. Principales trabajos relacionados
69
dominio concreto de aplicación. En el trabajo se emplea el término aspects
(aspectos) en lugar de features (caracterı́sticas). Se trata de un término que
se adapta quizás mejor al dominio de aplicación elegido (servicios locales).
Este cambio en la nomenclatura se ha mantenido en otros trabajos recientes
(Titov & McDonald, 2008b,a; Brody & Elhadad, 2010; Zhao et al, 2010; Jo &
Oh, 2011). Estos trabajos emplean distintas modificaciones de un modelo no
supervisado de detección de la temática o topic en textos denominado Latent
Dirichlet Allocation (LDA) (Blei et al, 2003). Esta técnica parte de la idea de
que un documento está generado a partir de una mezcla de temas, y es capaz
de identificar conjuntos de palabras de los documentos relacionadas con distintas temáticas. Las variaciones propuestas en el contexto de la extracción
de opiniones van encaminadas a detectar caracterı́sticas abstractas (o aspectos, según la nomenclatura utilizada en los trabajos en cuestión), definidas a
partir de conjunto de palabras. Por ejemplo, en el dominio de los hoteles se
puede identificar un aspecto determinado por palabras como breakfast, coffee,
continental, morning o free (podrı́amos asignarle el nombre breakfast a dicho
aspecto). Aunque estas palabras tienen cierta relación con las palabras de
caracterı́stica utilizadas en las propuestas más cercanas a la extracción de
información (como (Popescu & Etzioni, 2005)), no se trata en todos los casos
de menciones a caracterı́sticas, propiamente dichas. Por ejemplo, morning
no es una mención de la caracterı́stica breakfast, aunque su aparición en el
texto esté relacionada con la misma. Incluso pueden aparecer palabras de
opinión (como free, en el ejemplo anterior). Además, los términos extraı́dos
mediante LDA y técnicas derivadas son siempre palabras individuales. Por
tanto, los trabajos que se basan en estas técnicas no afrontan la tarea de
extracción de opiniones como una tarea de extracción de información; más
bien, tratan de detectar oraciones u otras unidades de texto menor en las que
se haga referencia a algún aspecto del objeto que está siendo evaluado, para
posteriormente clasificar dichas porciones de texto según la polaridad. Este
enfoque de la tarea queda alejado del que seguiremos en nuestra propuesta,
que está más cercana a la definición de la tarea planteada por Popescu y
Etzioni (Popescu & Etzioni, 2005; Popescu et al, 2005).
Son reseñables también los trabajos de Alexandra Balahur (Balahur &
Montoyo, 2008a,b), que determinan las caracterı́sticas de un producto determinado a partir de un conjunto de caracterı́sticas comunes a todos los
productos, y haciendo uso de las relaciones de sinonimia, meronimia e hiponimia de WordNet. Se proponen también métodos para encontrar adjetivos
relacionados con cada caracterı́stica, usando las relaciones “has attributes”
de WordNet y las relaciones PropertyOf y CapableOf de ConceptNet(Havasi
et al, 2007). La búsqueda de opiniones se lleva a cabo entonces para un texto
de entrada a partir de la aparición de los términos anteriores. Los adjeti-
70
Capı́tulo 3. Extracción de opiniones sobre caracterı́sticas
vos relacionados con dichas apariciones mediante determinadas relaciones de
dependencia sintáctica son utilizados para clasificar las opiniones. Esta clasificación se lleva a cabo mediante un clasificador SVM que trabaja sobre
representaciones vectoriales de los términos anteriores, calculadas mediante
distancias a una serie de términos paradigmáticos mediante Normalized Google Distance(Cilibrasi & Vitanyi, 2005). Éste es quizás el punto más débil de
la propuesta de cara a su implementación práctica, puesto que la obtención
de esta representación vectorial depende de consultas al buscador Google, lo
cual no es viable en un sistema en explotación.
3.3.
Resumen comparativo de trabajos
En las tablas 3.1 y 3.2 hemos resumido las caracterı́sticas principales de
las distintas propuestas de trabajos relacionados con la extracción de opiniones. Aunque cada propuesta tiene un enfoque y alcance distintos, hemos
utilizado una división de la tarea en tres subproblemas que permite abarcarlas a todas: la extracción de las caracterı́sticas, que consiste en identificar las
caracterı́sticas opinables del producto, ası́ como las menciones concretas a las
mismas en los documentos de entrada; la búsqueda de palabras de opinión
en los documentos de entrada, generalmente relacionadas con las menciones
a caracterı́sticas anteriormente detectadas (aunque hay trabajos que lo abordan de manera independiente); y por último la clasificación de las opiniones.
Sólo seis de los 14 trabajos considerados abordan los tres subproblemas.
3.3.1.
Extracción de caracterı́sticas
En la extracción de caracterı́sticas distinguimos entre los trabajos que
no necesitan de participación humana (automáticos) y los que sı́ (semiautomáticos). En general, todos los trabajos que están orientados al dominio
en mayor o menor medida requieren de una cierta participación humana, ya
sea para anotar algunos documentos de entrenamiento, para elaborar una
taxonomı́a de caracterı́sticas o para poner nombre a los conjuntos de palabras de caracterı́stica encontrados (en el caso de los trabajos que trabajan con aspectos). El algoritmo más utilizado es Association Rule Mining
(ARM)(Agrawal & Srikant, 1994), empleado en primer lugar en (Hu & Liu,
2004b) y del que otros trabajos proponen algunas modificaciones. Los trabajos de Popescu et al. (Popescu & Etzioni, 2005; Popescu et al, 2005) emplean
el algoritmo Pointwise Mutual Information (PMI) para medir la correlación
entre los candidatos a caracterı́stica y los indicadores de meronimia, y Yi y
Niblack (Yi & Niblack, 2005) emplean la medida estadı́stica likelihood ratio
3.3. Resumen comparativo de trabajos
71
(LR). Los trabajos enfocados a aspectos utilizan diversas adaptaciones del
algoritmo Latent Dirichlet Allocation (LDA) (Blei et al, 2003), tales como
Multi-Grain LDA (MG-LDA), Local-LDA o Aspect and Sentiment Unification Model (ASUM). Este último algoritmo no sólo extrae caracterı́sticas
(aspectos), sino que también clasifica las menciones encontradas en los documentos según la polaridad. Sólo dos trabajos se ocupan de la extracción
de caracterı́sticas implı́citas, aparte de los trabajos orientados a aspectos; en
este último caso, las palabras extraı́das como aspectos incluyen en ocasiones
palabras de opinión relacionadas con una caracterı́stica, lo cual está relacionado con el concepto de caracterı́stica implı́cita de los trabajos orientados a
caracterı́sticas.
Una vez obtenida la lista de menciones a caracterı́sticas, algunos trabajos
llevan a cabo tratamientos automáticos posteriores, encaminados a agrupar
los términos que hacen referencia a la misma caracterı́stica, diferenciar las
caracterı́sticas según el tipo (por ejemplo, distinguir si se trata de una parte
o una propiedad del producto), o enlazar las caracterı́sticas a una taxonomı́a
previamente disponible. En los trabajos orientados a aspectos, es común la
asignación manual de un nombre a cada uno de los clusters de aspectos
obtenidos.
3.3.2.
Búsqueda de palabras de opinión
El acercamiento más simple para la búsqueda de palabras y términos
de opinión es la utilización del contexto de las menciones de caracterı́sticas previamente detectadas, ya sea mediante ventanas de palabras o usando
directamente todas las palabras de la oración. Otros trabajos utilizan la información proporcionada por un parser, ya sea sintáctico o de dependencias,
para buscar las palabras de opinión relacionadas con las menciones de caracterı́sticas a partir de patrones predefinidos. Una propuesta diferente es la de
Zhao et al. (Zhao et al, 2010), que utiliza un clasificador de máxima entropı́a
entrenado a partir de un conjunto de documentos anotados para distinguir,
de entre el conjunto de aspectos obtenidos previamente mediante el algoritmo
LDA, cuáles son menciones a caracterı́stica y cuáles palabras de opinión
En algunos casos, sólo se tienen en cuenta determinadas palabras, en
función de la categorı́a morfosintáctica de las mismas; por ejemplo, es común
considerar sólo los adjetivos, ya que la mayor parte de las palabras de opinión
lo son. Otros trabajos no establecen este tipo de restricciones, permitiendo la
captura de palabras de opinión de otras categorı́as morfosintácticas (verbos
como like, nombres como master-piece, . . . ).
72
3.3.3.
Capı́tulo 3. Extracción de opiniones sobre caracterı́sticas
Clasificación de opiniones
No todos los trabajos llevan a cabo la clasificación de opiniones individuales (pares caracterı́stica-palabras de opinión). Algunos clasifican las oraciones
que contienen menciones a caracterı́sticas, lo que implica una simplificación
en tanto que algunas oraciones contienen varias opiniones individuales. Los
trabajos orientados a aspectos no suelen afrontar la clasificación de las opiniones (salvo Blair et al.(Blair-Goldensohn et al, 2008)), aunque algunos llevan
a cabo experimentos de clasificación a nivel de aspectos (Brody & Elhadad,
2010) o de los documentos completos (Jo & Oh, 2011). Independientemente
de la unidad a clasificar, la mayor parte de los trabajos lleva a cabo una
clasificación binaria basada en la polaridad de las opiniones, aunque también
existen trabajos que distinguen tres categorı́as (positiva, negativa y neutra),
o más (en la tabla 3.2, hemos indicado este último caso como rating). El
trabajo de Popescu y Etzioni (Popescu & Etzioni, 2005) propone una clasificación binaria de las opiniones, pero posteriormente las ordena de mayor a
menor intensidad.
La mayorı́a de los trabajos basan la clasificación en los valores de orientación semántica estimados para los términos de opinión. Esta estimación se
realiza mediante técnicas basadas en semillas, como el algoritmo Pointwise
Mutual Information (PMI) o algoritmos basados en grafos1 construidos a
partir de las relaciones de WordNet o de las expresiones conjuntivas entre
adjetivos encontradas en un corpus (de manera similar a (Hatzivassiloglou &
McKeown, 1997)). Algunos trabajos emplean lexicones construidos manualmente. Un caso especial es el trabajo de Jo et al.(Jo & Oh, 2011), en el que
el modelo utilizado para la extracción de las menciones a aspectos obtiene
de manera conjunta la polaridad de dichas apariciones.
A partir de las estimaciones individuales anteriores, la mayorı́a de los
trabajos llevan a cabo la clasificación según el resultado de la suma de los
valores obtenidos (en algún caso, ponderando dichos valores por las distancias
entre las palabras de opinión y la caracterı́stica en cuestión), o mediante el
empleo de técnicas que contextualizan dichas estimaciones (por ejemplo, mediante el empleo de clasificadores supervisados de máxima entropı́a o usando
el algoritmo Relaxation Labeling (Hummel & Zucker, 1983)).
1
Algunos trabajos aplican a los grafos un algoritmo de propagación de etiquetas (Zhu
& Ghahramani, 2002).
3.3. Resumen comparativo de trabajos
3.3.4.
73
Supervisado vs. no supervisado e influencia del
dominio
Decimos que un algoritmo es supervisado si se apoya en cierto conocimiento que debe ser previamente construido. Por ejemplo, un clasificador
supervisado es aquel que se apoya en un modelo construido a partir de un
conjunto de documentos clasificados manualmente. Esta dependencia con respecto a recursos que contengan conocimiento sobre el problema es al mismo
tiempo una virtud y un inconveniente, ya que permite a los algoritmos adaptarse mejor a los problemas a cambio de necesitar un esfuerzo adicional para
la elaboración de los recursos.
En un intento por construir soluciones lo más genéricas posible, la mayorı́a de las propuestas estudiadas utilizan métodos no supervisados para
resolver cada uno de los subproblemas anteriormente descritos. Existen sin
embargo excepciones. Por ejemplo, en Liu et al.(Liu et al, 2005) se etiquetan
las menciones de caracterı́sticas en una serie de documentos para a partir de
los mismos obtener patrones morfosintácticos para detectar caracterı́sticas en
nuevos textos de entrada. Además, se permite a través de una aplicación la
corrección manual de las caracterı́sticas detectadas a partir de los patrones.
En Blair et al.(Blair-Goldensohn et al, 2008) se utiliza un corpus anotado
para entrenar un clasificador capaz de decidir si en una oración de entrada
se habla de algún aspecto del producto, y otro para determinar la polaridad
de dichas oraciones. En Zhao et al.(Zhao et al, 2010) también se entrena
un clasificador, en este caso para decidir si una determinada palabra relacionada con un aspecto es una mención al mismo o una palabra de opinión
relacionada.
Algunas de las técnicas utilizadas, aún no siendo estrictamente supervisadas, se apoyan en recursos construidos manualmente o requieren de cierta
participación humana. Por ejemplo, la mayorı́a de los trabajos orientados
a aspectos requieren que se asignen nombres manualmente a los clusters
de aspectos obtenidos automáticamente. Algunos trabajos utilizan lexicones
de opinión construidos manualmente, en los que constan las orientaciones
semánticas de un conjunto de palabras y expresiones de opinión. Por otra
parte, los trabajos que utilizan patrones sintácticos o de dependencias para
buscar las palabras de opinión relacionadas con una mención de caracterı́stica
determinada disponen de conjuntos de patrones elaborados manualmente.
Una de nuestras hipótesis de partida es que la utilización de algunos
recursos que proporcionen conocimiento para la resolución de cada uno de
los subproblemas puede suponer una considerable ventaja, especialmente si
conocemos previamente el dominio de aplicación en el que se utilizará el sistema de extracción de opiniones y generamos los recursos especı́ficamente para
74
Capı́tulo 3. Extracción de opiniones sobre caracterı́sticas
dicho dominio. Efectivamente, existe una relación clara entre la utilización
de métodos supervisados y la orientación al dominio del sistema. Por ejemplo, si utilizamos un clasificador supervisado para estimar las orientaciones
semánticas de las palabras de opinión, y entrenamos dicho clasificador a partir de un conjunto anotado de documentos de un dominio determinado, las
orientaciones semánticas obtenidas serán especı́ficas del dominio. En nuestra
propuesta, el dominio de aplicación será tenido en cuenta en la resolución
de cada una de los subproblemas, desde la extracción de caracterı́sticas (que
se apoyará en taxonomı́as de caracterı́sticas especı́ficas del dominio) hasta la
clasificación de las opiniones (utilizando un lexicón especı́fico del dominio),
pasando por la detección de caracterı́sticas implı́citas especı́ficas del dominio
o por la búsqueda de palabras de opinión (utilizando patrones de dependencias inducidos a partir de documentos del dominio). Ninguno de los trabajos
analizados que llevan a cabo clasificación a nivel de las opiniones utiliza valores de orientación semántica orientados al dominio, aunque algunos plantean
métodos de contextualización de los mismos, permitiendo matizar sobre la
marcha los valores concretos de un término a partir de los valores de otros
términos del contexto.
3.3.5.
Analizadores y recursos lingüı́sticos
Todos los trabajos hacen uso en mayor o menor medida de analizadores
lingüı́sticos como parte del preprocesado de los textos. Además de la separación en oraciones, todos utilizan etiquetadores morfosintácticos. Las distintas
técnicas planteadas, tanto para la extracción de las caracterı́sticas como para
la detección de palabras de opinión y la clasificación de las mismas, requieren
que dicha información esté disponible. La mayorı́a de los trabajos emplean
técnicas de generalización léxica como el stemming o la lematización. El
análisis sintáctico superficial o chunking también es usado en muchas propuestas, permitiendo trabajar a nivel de sintagmas. Algunos trabajos hacen
uso de los sintagmas como unidad de análisis, llevando a cabo la clasificación
de polaridad de aquellos sintagmas que contienen opiniones. Otros utilizan
los sintagmas junto a la información morfosintáctica para definir patrones
sintácticos que permiten capturar relaciones entre las caracterı́sticas y posibles palabras de opinión. Sólo unos pocos trabajos hacen uso de analizadores
sintácticos completos o analizadores de dependencias. Este tipo de análisis
permite la captura de relaciones más complejas y entre constituyentes más
alejados en las oraciones, superando a las soluciones basadas en ventanas contextuales de palabras. Algunos trabajos puntuales hacen uso de herramientas
propias más sofisticadas de recuperación y extracción de información; es el
caso de Yi & Niblack (2005), que hacen uso de WebFountain, y de Popescu
3.3. Resumen comparativo de trabajos
75
& Etzioni (2005), que utilizan la herramienta KnowItAll.
Además de analizadores, es común en todos los trabajos el empleo de
diversos recursos lingüı́sticos, siendo el principal WordNet(Fellbaum, 1998),
que es utilizado para estimar las polaridades de las palabras de opinión mediante distintos algoritmos y para agrupar caracterı́sticas extraı́das similares,
entre otras cosas. Otros recursos que han sido empleados son General Inquirer
(Stone, 1966), Micro-WNOp (Cerini et al, 2007) y SentiWordNet (Baccianella
& Sebastiani, 2010).
3.3.6.
Evaluación de la tarea
Creemos que uno de los puntos débiles de la mayorı́a de los trabajos que
hemos analizado es el referente a la evaluación de las distintas propuestas.
Cada trabajo define sus propias métricas de evaluación, las cuales generalmente no abarcan la tarea completa (extracción de caracterı́sticas, búsqueda
de palabras de opinión y clasificación de las opiniones), sino que evalúan distintos aspectos de las propuestas. Por citar algunos ejemplos, el trabajo de
Popescu & Etzioni (2005) evalúa: (1) la extracción de caracterı́sticas explı́citas, (2) la clasificación de palabras de opinión individuales, dadas la oración
y la caracterı́stica como entradas, y (3) la extracción y clasificación de expresiones de opinión (pares formados por menciones a caracterı́stica y palabras
de opinión relacionadas), también con la oración y la caracterı́stica como entradas. Los trabajos de Hu & Liu (2004a), por su parte, evalúan la extracción
de caracterı́sticas explı́citas, por un lado, la detección de oraciones que contienen opiniones, por otro, y la clasificación de dichas oraciones, finalmente.
Todas estas evaluaciones son simplificaciones de la tarea completa.
En nuestro trabajo, hemos tratado de evaluar la propuesta de manera
completa y definiendo el alcance de la tarea de la forma más precisa posible.
Además, los documentos anotados utilizados en dicha evaluación han sido
puestos a disposición de la comunidad, para facilitar la comparación con
otras propuestas.
Tipo
Automát.
Automát.
Semiaut.
Automát.
Automát.
Semiaut.
Automát.
Semiaut.
Semiaut.
Automát.
Semiaut.
Semiaut.
Semiaut.
Semiaut.
Referencia
(Hu & Liu, 2004b)
(Hu & Liu, 2004a)
(Liu et al, 2005)
(Popescu & Etzioni, 2005)
(Popescu et al, 2005)
(Carenini et al, 2005)
(Yi & Niblack, 2005)
(Ding et al, 2008b)
(Blair-Goldensohn et al, 2008)
(Titov & McDonald, 2008b)
(Titov & McDonald, 2008a)
(Brody & Elhadad, 2010)
(Zhao et al, 2010)
(Jo & Oh, 2011)
Nuestra propuesta
Extracción de caracterı́sticas
Orientado a Caract.
Algoritmo Superv.
Tratamiento posterior
dominio
Implı́c.
ARM
No
No
No
Ninguno
ARM
No
No
No
Ninguno
Agrupación de sinónimos (WordARM
Sı́
Sı́
Sı́
Net)
Diferenciación de tipos de caracPMI
No
No
No
terı́sticas (parts, properties, . . . )
Diferenciación de tipos de caracPMI
No
No
Sı́
terı́sticas (parts, properties, . . . )
En parte
Mapeo a taxonomı́a (similarity
ARM
No
No
matching)
(taxonomı́as)
LR
No
No
No
Ninguno
ARM +
Construcción y ranking de lisSı́
Sı́
No
ME
ta combinada de caracterı́sticas
dinámicas y estáticas
Sı́*
Asignación manual de nombres a
MG-LDA En parte En parte
*aspectos
aspectos
Asignación automática de las caracterı́sticas obtenidas a los asSı́*
MG-LDA No
En parte
*aspectos
pectos puntuados en los reviews
del dominio elegido
Sı́*
Asignación manual de nombres a
Local-LDA En parte
En parte
aspectos
*aspectos
Sı́*
Asignación manual de nombres a
LDA
En parte En parte
*aspectos
aspectos
Sı́*
Asignación manual de nombres a
ASUM
En parte En parte
aspectos
*aspectos
Bootstrap. Sı́
Sı́
Sı́
Construcción de taxonomı́a
76
Capı́tulo 3. Extracción de opiniones sobre caracterı́sticas
Cuadro 3.1: Resumen de caracterı́sticas de trabajos relacionados con la extracción de opiniones: extracción de caracterı́sticas
Nuestra propuesta
(Jo & Oh, 2011)
(Zhao et al, 2010)
(Titov & McDonald,
2008b)
(Titov & McDonald,
2008a)
(Brody & Elhadad,
2010)
(Blair-Goldensohn
et al, 2008)
(Ding et al, 2008b)
(Yi & Niblack, 2005)
(Carenini et al, 2005)
(Popescu et al, 2005)
(Liu et al, 2005)
(Popescu & Etzioni,
2005)
(Hu & Liu, 2004a)
(Hu & Liu, 2004b)
Referencia
Contexto,
patrones
dependencias
Sı́*
*patrones
*patrones
-
Sı́
(aspectos)
Sı́
-
-
No
No
No
-
Sı́*
-
Sı́
En parte
-
-
Patrones
sintácticos
simples
MaxEntLDA
-
-
No
No
En parte
-
No
Configurable
-
Todas
Adjetivos
-
-
Todas
Todas
Adjetivos
y
nombres
Todas
Todas
No
En parte
En parte
-
-
-
-
(oración)
Contexto
(oración)
Contexto
Patrones
dependencias
Patrones
dependencias
Patrones
sintácticos
simples
(oración)
Búsqueda de palabras de opinión
Orientado
Tipo
Superv.
a dominio
palabras
Contexto
No
No
Adjetivos
Algoritmo
Opiniones
Reviews
-
Aspectos
-
-
Oraciones
Opiniones
Opiniones
-
Opiniones
Opiniones
-
Oraciones
label
WordNet,
SWN,
PMI,
Lexicón
ASUM
-
propagation
+
Conjunciones
-
-
*lexicon
Sı́*
No
-
No
-
-
Sı́
Sı́
-
(aspectos)
Sı́
-
-
*clasific. (contexto)
propagation
En
parte
(contexto)
En
parte
Sı́*
No
WordNet
+ lexicón
manual
No
-
(contexto)
En
parte
(contexto)
En
parte
No
WordNet
+
label
En
parte
No
No
-
Lexicón
manual
PMI
PMI
-
No
Probabilistic
sentiment
distribution
Umbral prob.
+ suma + expresiones especiales
-
-
-
Patrones
sintácticos
simples
Suma ponderada + reglas
de contextualización
Suma + clasificador máxima entropı́a
-
Relaxation
labeling
Relaxation
labeling
Suma
Clasificación de opiniones
Orientado
Agregación
Superv. a dominio
SO
-
WordNet
Entidades
Cálculo
clasificadas SO
-
Binaria
Binaria
-
Rating
-
-
Ternaria
Binaria
Binaria
Binaria
+
Ranking
-
Binaria
-
Ternaria
-
Tipo
3.3. Resumen comparativo de trabajos
77
Cuadro 3.2: Resumen de caracterı́sticas de trabajos relacionados con la extracción de opiniones: búsqueda de palabras de opinión y clasificación de
opiniones
Parte III
Una propuesta para la
extracción de opiniones
79
Capı́tulo 4
Extracción de opiniones sobre
caracterı́sticas adaptable al
dominio
Resumen: En el presente capı́tulo presentamos nuestra propuesta
para la extracción de opiniones sobre caracterı́sticas, cuyas bases fundamentales son la adaptación al dominio y el uso de taxonomı́as para
la representación de las caracterı́sticas. En primer lugar, trataremos
de acotar el alcance de la tarea, concretando la definición formal de
la misma y de las entidades participantes: opiniones, caracterı́sticas,
dominios y objetos, entre otras. Una vez claro el alcance de la tarea,
daremos una visión general de nuestra propuesta, que será convenientemente desglosada, descrita y evaluada en los siguientes capı́tulos.
4.1.
Introducción
Aunque lo definiremos más formalmente en la siguiente sección, en términos generales la extracción de opiniones sobre caracterı́sticas consiste en detectar las opiniones vertidas en los textos de entrada acerca de las caracterı́sticas de un objeto determinado. Por ejemplo, ante la siguiente oración
extraı́da de un texto de opinión sobre una compañı́a telefónica:
“The customer service is terrible”
, habrı́a que detectar que la oración contiene una opinión negativa acerca
del servicio al cliente de la compañı́a. Parece evidente que la participación
81
82
Capı́tulo 4. Extracción de opiniones adaptable al dominio
de la palabra “terrible” es importante, puesto que su semántica nos permite
afirmar que la oración expresa una opinión, e incluso el carácter negativo de
la misma. Sin embargo, la mera aparición de dicha palabra no es suficiente.
También el contexto en que aparece es importante. Por ejemplo, la relación
sintáctica de la palabra con el resto de componentes de la oración, o la temática del texto del que se ha extraı́do la oración. Determinadas palabras pueden
ser indicativas de la existencia de una opinión positiva en un contexto, y serlo
de una opinión negativa en otro, como ocurre con la expresión “hard to hear”
en el siguiente ejemplo:
“It is really hard to hear”
Si la oración pertenece a un texto de opinión acerca de un electrodoméstico
(una lavadora o un lavavajillas), parece lógico pensar que la opinión es positiva. Sin embargo, en el contexto de una crı́tica de un teléfono móvil o un
navegador GPS, las connotaciones del termino son claramente negativas. Esta dependencia de la orientación semántica de algunos términos con respecto
al dominio de aplicación está ampliamente documentada en la bibliografı́a.
En nuestra propuesta, trataremos de capturar esta dependencia a través de
la definición y generación de determinados recursos especı́ficos del dominio.
Estos recursos capturarán no sólo la dependencia que acabamos de precisar, sino también otras particularidades del dominio con respecto al resto
de participantes en el problema (por ejemplo, las construcciones sintácticas
especı́ficas utilizadas en cada dominio).
Más allá de lo afirmado en la literatura en referencia a la influencia del
contexto en la tarea de extracción de opiniones, en nuestra propuesta trataremos de capturar también la posible influencia de la caracterı́stica concreta
sobre la que se vuelcan las opiniones. Por ejemplo, en la siguiente oración,
extraı́da de un texto de opinión acerca de un hotel:
“It was a good hotel, very clean and cheap”.
, la palabra “cheap” tiene connotaciones positivas, refiriéndose al precio del
hotel. Sin embargo, en la siguiente oración del mismo dominio:
“The bathroom was very spacious, but they installed such a cheap bathtub
that creaked and felt as if it would break open at any moment”.
, la misma palabra tiene connotaciones negativas, al ser utilizada para calificar un aspecto distinto del hotel (el baño). Nuestra propuesta tendrá en
cuenta este tipo de dependencias a nivel de caracterı́stica, de mayor granularidad que la utilizada en otros trabajos.
4.1. Introducción
83
Además de la adaptación al dominio y la captura de las dependencias
a nivel de caracterı́stica, nuestra propuesta se basa en la utilización de taxonomı́as de caracterı́sticas, que representan los aspectos opinables de un
dominio determinado, y las relaciones de generalización/especialización que
se establecen entre ellos. En muchas ocasiones, una caracterı́stica o aspecto
opinable puede ser nombrado de diversas maneras en los textos. Por ejemplo, el equipo de sonido de un coche a veces será mencionado como sound
system y otras como audio system. Las opiniones en las que se utilicen uno
u otro término deberán ser extraı́das y asociadas al mismo elemento de la
taxonomı́a. Esto dificulta la tarea con respecto a otras propuestas de la bibliografı́a, en las que únicamente se señalan las palabras que representan
la caracterı́stica sobre la que trata una opinión (se suele utilizar el término
opinion target). Téngase en cuenta que pueden existir ambigüedades respecto a los términos utilizados para nombrar determinadas caracterı́sticas. Por
ejemplo, la palabra “range” es utilizada en algunos textos sobre auriculares
inalámbricos para referirse al alcance del receptor, y en otros al rango de
frecuencias que reproducen.
Nuestra definición de la tarea, basada en la taxonomı́a de caracterı́sticas,
aún dificultando la resolución de la misma, genera una salida más útil, en
términos de agregación, resumen o visualización de las opiniones generadas.
En esto también tendrá importancia la jerarquı́a establecida en dicha taxonomı́a, que nos permitirá, por ejemplo, utilizar las opiniones extraı́das acerca
de los altavoces o el amplificador a la hora de resumir las opiniones acerca
del equipo de sonido de un coche.
De manera resumida, podemos decir que nuestro acercamiento a la extracción de opiniones consiste en el desarrollo de un sistema genérico que
puede ser adaptado a un dominio concreto mediante la utilización de una
serie de recursos que capturan el conocimiento especı́fico de dicho dominio
a nivel de caracterı́sticas. Dichos recursos permiten lidiar con las cuestiones
que acabamos de exponer informalmente, acerca de la influencia del contexto
en la identificación y tratamiento de las distintas entidades participantes en
el problema.
Uno de los recursos es la taxonomı́a de caracterı́sticas, que contiene el
conjunto de caracterı́sticas opinables del dominio sobre las que el sistema
procederá a extraer opiniones. La utilización de dichas taxonomı́as permitirá desarrollar sistemas de extracción dirigidos a los aspectos del dominio
que se consideren más importantes, y facilitará la explotación de las opiniones extraı́das. La taxonomı́a de caracterı́stica puede ser construida utilizando
una serie de herramientas de apoyo que trabajan a partir de una colección
84
Capı́tulo 4. Extracción de opiniones adaptable al dominio
de documentos del dominio, o bien puede ser definida por un experto en el
dominio. En este caso, la taxonomı́a se convierte en un formalismo para la
captura de requisitos: a través de la misma, se comunica al sistema de extracción cuáles son las caracterı́sticas del objeto en las que estamos interesados.
4.2.
Definición de la tarea
En la presente sección vamos a definir la tarea concreta que pretendemos
abordar. La definición que utilizaremos es cercana a la utilizada en la bibliografı́a, pero con algunas diferencias. Aún pudiendo parecer sutiles, dichas
diferencias cambian considerablemente la tarea a abordar y, desde nuestro
punto de vista, la hacen más útil de cara a la implementación práctica de un
hipotético sistema de extracción de opiniones. En la definición de la tarea participan distintas entidades que también serán convenientemente precisadas.
Por ejemplo, cuando hablemos de opiniones, ¿a qué nos estaremos refiriendo exactamente? Concretar este y otros términos nos permitirá precisar el
alcance real de la tarea y, consecuentemente, nos facilitará su resolución.
Comenzaremos definiendo las distintas entidades participantes en el problema. Después, y dada la amplitud del concepto de opinión, haremos algunas consideraciones sobre el alcance del problema, estableciendo qué tipos
de opiniones pretendemos extraer y cuáles quedan fueran de nuestro estudio.
Pasaremos entonces a definir formalmente la tarea, para acabar la sección
planteando los retos y dificultades que a priori presenta la resolución de la
misma.
4.2.1.
Definiciones previas
Opiniones sobre caracterı́sticas
Según la primera acepción del término en el Diccionario de la Real Academia de la Lengua Española, una opinión es un “dictamen o juicio que
se forma de algo cuestionable”(RAE, 2001). El diccionario inglés MerriamWebster de la Enciclopedia Británica, la define como “a view, judgment, or
appraisal formed in the mind about a particular matter”, y en otra acepción
como “a formal expression of judgment or advice by an expert” (MerriamWebster, 2011). Según estas definiciones, las opiniones tienen un carácter
inequı́vocamente subjetivo y una intención evaluativa. Una opinión ası́ entendida es una idea abstracta, situada en la mente de la persona que la posee,
e imposible de representar de manera precisa como una entidad estructurada
(es decir, de manera que sea procesable por una máquina). Necesitamos claramente simplificar y concretar esta definición para conseguir que una opinión
4.2. Definición de la tarea
85
pueda ser representada como una entidad estructurada, con determinados
atributos y rangos de valores definidos para los mismos. Pero también creemos necesario ampliar o generalizar las definiciones anteriores, para incluir
no sólo evaluaciones o juicios subjetivos, sino también aquellos enunciados
que describan objetivamente caracterı́sticas del objeto en cuestión, aunque
con claras implicaciones positivas o negativas.
Situémonos en el contexto de un documento de revisión de un producto
o reseña (quizás estemos más habituados al término inglés, review ). Más que
situar el foco de la definición de opinión en la persona que escribe el documento, lo haremos en la persona que lo lee. Los mensajes que va recibiendo
ocasionan que se vaya formando una opinión favorable o desfavorable acerca de distintos aspectos o caracterı́sticas del producto en cuestión. Algunos
de estos mensajes se adecúan efectivamente a las definiciones anteriores de
opinión: son juicios o evaluaciones subjetivas expresadas por el autor de la
reseña. Como tales, ocasionan la formación de opiniones en el lector, en principio similares, aunque esto depende de la actitud crı́tica del lector y del grado
de confianza que atribuya a lo que está leyendo. Pero también hay otros mensajes que quizás no encajan tan directamente en las definiciones anteriores
de opinión, pero que evocan igualmente sentimientos positivos o negativos
en el lector acerca de las caracterı́sticas del objeto. Por ejemplo, si el autor
de la reseña proclama que le encanta el diseño del producto, aunque no se
trate estrictamente de una evaluación sino más bien de un sentimiento afectivo, las implicaciones positivas son evidentes. De todas formas, podrı́amos
considerar que este tipo de enunciados son realmente juicios, y que por tanto
quedan recogidos en las definiciones anteriores: cuando el autor dice que le
gusta el diseño del producto, está diciendo en cierto modo que cree que el
diseño es bueno. Un ejemplo que se saldrı́a más claramente de las definiciones
anteriores serı́a el siguiente enunciado:
“The body of the camera is made of plastic”
En este caso, estamos ante una descripción completamente objetiva de una
caracterı́stica del objeto. Pero dicha descripción tiene probables implicaciones
negativas, que incitan al lector a formarse una opinión negativa. Queremos
que nuestra definición de opinión también incluya este tipo de enunciados.
Definición 1 Una opinión es una porción de texto lo más pequeña posible
con implicaciones positivas o negativas sobre alguna de las caracterı́sticas de
un objeto o sobre el objeto mismo.
La definición anterior es intencionadamente genérica, abarcando los casos considerados anteriormente (evaluaciones subjetivas, declaraciones afectivas y descripciones objetivas), siempre que tengan implicaciones positivas
86
Capı́tulo 4. Extracción de opiniones adaptable al dominio
o negativas acerca de alguna caracterı́stica del objeto. Al mismo tiempo que
genérica, la definición 1 permite concretar una representación estructurada
de las opiniones, que en su mı́nima expresión consistirı́a en indicar la polaridad (positiva o negativa) y la caracterı́stica. Definamos a qué nos referimos
con este último término:
Definición 2 Una caracterı́stica (feature) es cualquier propiedad, componente o aspecto de un objeto. El propio objeto se considera una caracterı́stica,
ası́ como cualquier propiedad, componente o aspecto de cualquier caracterı́stica es también en sı́ mismo una caracterı́stica.
La definición de caracterı́stica es de nuevo intencionadamente genérica.
Para un ordenador, por ejemplo, cada uno de los componentes es una caracterı́stica: procesador, disco duro, memoria, tarjeta gráfica, etc. Pero también
lo son el diseño, el precio o la apariencia, por poner algunos ejemplos de
caracterı́sticas no tangibles. Además, cada una de las propiedades, subcomponentes o aspectos de estas caracterı́sticas serán también caracterı́sticas;
por ejemplo, la memoria caché, la capacidad o la velocidad del disco duro.
El carácter recursivo de esta definición hace apropiada la utilización de taxonomı́as para representar las caracterı́sticas de un objeto, como veremos más
adelante.
Es importante la puntualización acerca del tamaño del texto en la definición 1 (. . . una porción de texto lo más pequeña posible . . . ). Considérese la
siguiente oración de ejemplo:
“This car is efficient and fun to drive”
En esta oración, si escogemos una porción de texto lo más pequeña posible,
existen dos opiniones sobre la misma caracterı́stica. Por un lado, tenemos la
porción de texto “This car is efficient”, y por otro “This car is . . . fun to drive”. Se extraen varias conclusiones de este ejemplo. En primer lugar, en una
oración pueden aparecer varias opiniones, incluso sobre la misma caracterı́stica. En segundo lugar, la porción de texto correspondiente a cada opinión no
tiene porqué estar formada por palabras consecutivas de la oración.
Objetos y dominios
Aunque en los ejemplos expuestos hasta el momento el objeto que está siendo analizado siempre es un producto, queremos señalar que nuestras definiciones no se limitan a dichos objetos.
4.2. Definición de la tarea
87
Definición 3 Un objeto es cualquier entidad susceptible de ser analizada,
ya sea un producto, un servicio, una persona o una corporación.
Por tanto, las soluciones que mostraremos a lo largo de este trabajo pueden ser aplicadas a cualquier tipo de objeto de análisis, siempre que podamos
confeccionar un conjunto de caracterı́sticas opinables del mismo. Por supuesto, este conjunto de caracterı́sticas será más sencillo de definir en unos casos
(por ejemplo, para un producto) que en otros (por ejemplo, para una persona). Es importante diferenciar el objeto concreto sobre el que versa un
documento concreto de opinión (por ejemplo, un modelo de cámara de fotos)
del tipo de objeto, en el que se incluyen todos aquellos objetos concretos con
un conjunto similar de caracterı́sticas (por ejemplo, las cámaras de fotos).
Definición 4 Un dominio es un conjunto de objetos concretos con una
finalidad y un conjunto de caracterı́sticas comunes que lo definen.
Ejemplos de dominios serı́an cámaras de fotos, hoteles o coches, pero también polı́ticos, compañı́as de seguros o supermercados, por ejemplo. Podemos
definir dominios con distintos niveles de granularidad. Por ejemplo, podemos
definir el dominio de los teléfonos móviles, o el dominio más concreto de los
teléfono móviles inteligentes (smartphones). El dominio es fundamental en
nuestra propuesta, puesto que los sistemas de extracción de opiniones que
pretendemos construir están orientados a extraer opiniones en un dominio
concreto, previamente elegido. La elección de dominios más o menos generales repercutirá en la dificultad para concretar el conjunto de caracterı́sticas
del dominio, y también en los resultados que obtendrá el sistema: a mayor
generalidad del dominio, la información recogida en los recursos del dominio
que utiliza nuestra propuesta será menos especı́fica, y por tanto, la extracción
de opiniones será de menor calidad.
Palabras de opinión y de caracterı́stica
En muchas de las oraciones utilizadas para expresar opiniones, observamos que un reducido número de palabras concentran la carga semántica
necesaria para dictaminar la polaridad de la opinión. Por ejemplo, en la oración:
“All I have to say is that this camera is excellent”.
,la palabra “excellent” contiene suficiente información para deducir que se
trata de una opinión positiva. A estas palabras, que contienen la carga
semántica responsable de la polaridad de la orientación semántica de la opinión, las llamaremos palabras de opinión.
88
Capı́tulo 4. Extracción de opiniones adaptable al dominio
Definición 5 Las palabras de opinión (opinion words) son el conjunto
mı́nimo de palabras participantes en una opinión a partir de las cuales es
posible decidir la polaridad de la misma.
Además de las palabras de opinión, serán importantes en nuestra propuesta las palabras de caracterı́stica:
Definición 6 Las palabras de caracterı́stica (feature words) son el conjunto de palabras participantes en una opinión que hacen mención explı́cita
a la caracterı́stica sobre la que se está opinando.
En las siguientes oraciones de ejemplo, las palabras de opinión aparecen
en cursiva y las palabras de caracterı́stica en negrita:
1. “Perfect sound quality”.
2. “The beds are large and comfortable, but the decoration is too traditional ”.
3. “These headphones are really expensive, but they sound great”.
4. “Do not buy them!”.
En el primer ejemplo, “perfect” es la palabra de opinión, puesto que es
dicha palabra la que nos permite afirmar que se trata de una opinión positiva.
Lo mismo ocurre con “large”,“comfortable” y “too traditional” en la segunda oración, que serı́an las correspondientes palabras de opinión de las tres
opiniones contenidas en la oración. Nótese que en el tercer ejemplo hemos
señalado la palabra “expensive” como palabra de opinión, excluyendo a la
palabra previa “really”. Esto es porque según la definición 5 debemos escoger
el mı́nimo conjunto de palabras que nos permitan decidir la polaridad de la
opinión. En este caso, “really” puede afectar a la intensidad de la opinión,
pero no a la polaridad. La elección como palabras de opinión del mı́nimo conjunto de palabras necesarias para decidir la polaridad, nos permitirá generar
recursos de mayor calidad a partir de documentos anotados, al conseguirse
una mayor representatividad estadı́stica en las anotaciones.
Sin embargo, en la segunda oración de ejemplo, la palabra “too” fue
incluida como palabra de opinión junto a “traditional”, al ser determinante
para decidir la polaridad de la opinión. Igualmente ocurre con el adverbio not
en el cuarto ejemplo, que invierte la polaridad de la otra palabra de opinión
participante.
4.2. Definición de la tarea
89
En cuanto a las palabras de caracterı́stica, es necesario hacer algunas consideraciones. En primer lugar, las palabras de caracterı́stica siempre forman
parte de un sintagma nominal, en el que actúan como núcleo. En segundo
lugar, no todas las menciones a caracterı́sticas son consideradas palabras de
caracterı́stica, puesto que no siempre constituyen una mención a una caracterı́stica sobre la que se está opinando. Por ejemplo, en el tercer ejemplo
“headphones” no ha sido marcada como palabra de caracterı́stica, puesto que
se considera que la caracterı́stica sobre la que se está opinando es el precio.
Por último, no en todos los casos la caracterı́stica sobre la que se está opinando aparece mencionada explı́citamente en el texto, como es el caso de este
último ejemplo, en el que aparecen dos opiniones sobre las caracterı́sticas
precio y calidad de sonido. Esto nos lleva a la siguiente definición.
Definición 7 Una opinión sobre caracterı́stica implı́cita es una opinión en la que no se menciona explı́citamente la caracterı́stica sobre la que
se opina.
A lo largo del trabajo, nos referiremos en ocasiones a estas opiniones con
el término abreviado opiniones implı́citas. Nótese que en este tipo de opiniones, las palabras de opinión no sólo informan de la polaridad de la opinión,
sino también de la caracterı́stica. Por ejemplo, la palabra de opinión “expensive” está relacionada con la caracterı́stica precio. No deben confundirse las
opiniones sobre caracterı́stica implı́cita con aquellas opiniones en las que la
caracterı́stica aparece mencionada anafóricamente por un pronombre, como
en el ejemplo 4. En este caso, consideramos que dicho pronombre constituye
una mención explı́cita a la caracterı́stica sobre la que se opina (en el caso del
ejemplo, el propio producto).
90
4.2.2.
Capı́tulo 4. Extracción de opiniones adaptable al dominio
Alcance de la tarea
Existen opiniones en las que, aún adecuándose a la definición 1, es difı́cil
señalar cuáles son las palabras de opinión y de caracterı́stica. Obsérvese por
ejemplo la siguiente oración, extraı́da de un review sobre una cámara de
fotos:
“If you’re not careful , the battery will fall out when you try and open the
door to switch cards”.
En esta oración, se nos informa de una caracterı́stica poco deseable de
una cámara de fotos determinada. Se tratarı́a de una opinión negativa sobre
la caracterı́stica diseño. Para ser conscientes de ello, es necesario entender
de forma profunda el significado de la oración, en estrecha relación con una
construcción sintáctica relativamente compleja, además de tener un conocimiento del mundo apropiado: hay que comprender que la caı́da de la baterı́a
puede ocasionar su rotura, y que esto es algo indeseable. Además, habrı́a que
percatarse de que el problema está relacionado con el diseño de la cámara,
y no con la baterı́a en sı́ (no serı́a contradictorio que existiesen buenas opiniones en cuanto a la baterı́a de la cámara). En este tipo de oraciones, se
hace muy difı́cil elegir el conjunto de palabras de opinión, e incluso las palabras de caracterı́stica. Dada la motivación práctica de nuestra propuesta,
que pretende hacer uso exclusivamente de herramientas de análisis léxico y
sintáctico, opiniones como la mostrada quedarán fuera de nuestro foco de
estudio. Nos centraremos en aquellas opiniones en las cuales seamos capaces de identificar las palabras de opinión y en su caso de caracterı́stica que
concentran la carga semántica de la opinión. Además, exigiremos que dichos
elementos estén sintácticamente relacionados entre sı́ de manera abordable
por los analizadores sintácticos disponibles.
Otro tipo de opiniones que no consideraremos son aquellas en las cuales se
establece una comparación entre varios productos. Por ejemplo, considérese
la oración siguiente:
“The body of the camera is very similar to that of the ELPH in terms of
durability”.
En ella se expresa una opinión acerca de la durabilidad de una cámara.
Pero para decidir la polaridad de la opinión es necesario que conozcamos
la opinión del autor acerca de la durabilidad de otra cámara. Sı́ trataremos
aquellas oraciones en las que se utilizan adjetivos superlativos, como en:
4.2. Definición de la tarea
91
“This is the best camera that you can buy!”.
, dado que en este caso no se presenta el problema anterior: a la vista de la
palabra “best”, podemos decidir que se trata de una opinión positiva.
4.2.3.
Definición formal de la tarea
Taxonomı́as de caracterı́sticas
Dado un dominio D, según la definición 4, llamaremos FD = {f1 , f2 , ..., fn }
al conjunto de caracterı́sticas opinables del dominio D, según la definición 2.
Según esta definición, cada caracterı́stica fi puede tener a su vez un conjunto
de subcaracterı́sticas, que podemos denotar por Ffi = {fi1 , fi2 , ..., fin }, cada
una de las cuáles puede tener sus propias subcaracterı́sticas, y ası́ sucesivamente. Por tanto, más que de un conjunto, hablamos de una taxonomı́a de
caracterı́sticas. Esta taxonomı́a es un árbol, cuya raı́z es el propio dominio
(recuérdese que según la definición 2, el propio objeto es una caracterı́stica opinable). Los hijos de un nodo determinado son subcaracterı́sticas de la
caracterı́stica a la que representa dicho nodo. De todas formas, a efectos de
definición de la tarea, llamaremos FD al conjunto de todas las caracterı́sticas
del dominio, incluyendo las de todos los niveles de la taxonomı́a. Veremos
ejemplos de taxonomı́as de caracterı́sticas en los capı́tulos 6 y 9.
La definición de una taxonomı́a de caracterı́sticas para el dominio permitirá obtener opiniones que serán más fácilmente agregables, como veremos al
final de la sección 8.5.7. Además, la estructura de la taxonomı́a será tenida
en cuenta en los algoritmos de generación de recursos que presentaremos en
el capı́tulo 6.
Reconocimiento y clasificación de opiniones sobre caracterı́sticas
Sea RD = {r1 , r2 , ..., rn } un conjunto de documentos de análisis de un
objeto concreto (o varios) del dominio D, donde cada documento ri está formado por un conjunto de oraciones {s1 , s2 , ..., sn }. Representaremos mediante
la tupla ok = (fi , sj , polarity) a una opinión sobre la caracterı́stica fi ∈ FD
con polaridad positiva (polarity = +) o negativa (polarity = −), contenida
en la oración sj .
El objetivo principal de la extracción de opiniones sobre caracterı́sticas es
descubrir ORD = {o1 , o2 , ..., on }, el conjunto de opiniones ok sobre cualquier
caracterı́stica fi de FD , que aparecen en cualquiera de las oraciones de los
documentos de RD . Basándonos en la nomenclatura utilizada en la tarea
92
Capı́tulo 4. Extracción de opiniones adaptable al dominio
de reconocimiento y clasificación de entidades con nombre, clásica del PLN,
dividimos la resolución del problema en dos subproblemas: reconocimiento
de opiniones y clasificación de opiniones.
Definición 8 El reconocimiento de opiniones sobre caracterı́sticas
consiste en identificar las opiniones existentes en RD sobre alguna caracterı́stica de FD .
Definición 9 La clasificación de opiniones sobre caracterı́sticas consiste en determinar la polaridad de las opiniones previamente reconocidas.
Nótese que la tarea se define en función del conjunto de caracterı́sticas FD ,
que podemos considerar una entrada más del problema. Por tanto, aquellas
opiniones sobre caracterı́sticas que no estén incluidas en el conjunto anterior,
no serán extraı́das. Ésta es una diferencia fundamental con respecto a otras
definiciones de la tarea en la bibliografı́a. La elección de un conjunto u otro
de caracterı́sticas dependerá de la aplicación deseada del sistema. En nuestra
propuesta plantearemos métodos semiautomáticos para la construcción de
la taxonomı́a de caracterı́sticas, a partir de un conjunto de documentos del
dominio (ver sección 6).
Evidencias de opinión
Aunque los componentes fundamentales de las opiniones que pretendemos extraer son la caracterı́stica sobre la que se opina y la polaridad de
la opinión, nuestro sistema de extracción utiliza una abstracción más especializada de las opiniones, en la que se incluyen las palabras de caracterı́stica y las palabras de opinión. Llamaremos evidencia de opinión a esta entidad más especı́fica. Nuestro sistema de extracción tratará de descubrir el conjunto de evidencias de opinión OE = {oe1 , oe2 , ..., oen }, siendo
oek = (ok = (fi , sj , polarity), f W, opW ), donde f W es un conjunto de palabras de caracterı́stica que hacen referencia a la caracterı́stica fi , y opW es
un conjunto de palabras de opinión a partir de las cuáles se infiere la polaridad indicada en polarity. En algunos casos, f W puede ser vacı́o (opiniones
implı́citas).
Las evidencias de opinión sólo son una representación interna de las opiniones utilizada por el sistema. Si queremos evaluar lo bien o mal que resuelve nuestro sistema la tarea de reconocimiento y clasificación de opiniones,
lo haremos utilizando exclusivamente la caracterı́stica y la polaridad de las
evidencias extraı́das. Sin embargo, en el proceso de anotación manual de
documentos que describiremos en la sección 5.4, se anotarán evidencias de
opinión, puesto que la finalidad del corpus anotado no será exclusivamente
4.2. Definición de la tarea
93
la evaluación del sistema, sino también la inducción de los recursos del dominio, proceso en el cuál las palabras de caracterı́stica y de opinión aportan
una valiosa información.
Oración 1:
The sound quality is not impressive, with extremely powerful low frequencies but
unclean, not well-defined high-end.
(Feature,
(sound quality,
(bass,
(treble,
(treble,
oe1 :
oe2 :
oe3 :
oe4 :
Feature words,
sound quality,
low frequencies,
high-end,
high-end,
Opinion words,
not impressive,
powerful,
unclean,
not well-defined,
Polarity)
negative)
positive)
negative)
negative)
Oración 2:
I love them, they are lightweight and look cool!
oe5 :
oe6 :
oe7 :
(Feature,
(headphones,
(size,
(appearance,
Feature words,
them,
-,
-,
Opinion words,
love,
lightweight,
look cool,
Polarity)
positive)
positive)
positive)
Oración 3:
The cord is durable but too long: I always have to untwist it every time I get them
out off my pocket.
oe8 :
oe9 :
(Feature,
(cord,
(cord,
Feature words,
cord,
cord,
Opinion words,
durable,
too long,
Polarity)
positive)
negative)
Figura 4.1: Algunos ejemplos de evidencias de opinión
En la figura 4.1 se muestran algunas oraciones de ejemplo extraı́das de
reviews de auriculares, y las evidencias de opinión que contienen. Las caracterı́sticas corresponden a las de la taxonomı́a del dominio headphones cuya
construcción será descrita en el capı́tulo 5. Las evidencias oe6 y oe7 son ejemplos de evidencias de opinión implı́citas, en las que la caracterı́stica debe ser
inferida directamente de las palabras de opinión. En la última oración puede
observarse una opinión que no es representable mediante una evidencia de
opinión (“I always have to untwist it every time I get them out off my pocket”), puesto que es imposible identificar un pequeño conjunto de palabras
a partir de las cuáles se pueda deducir la polaridad de la opinión; por tanto,
las evidencias de opinión representan otra manera de establecer el alcance
94
Capı́tulo 4. Extracción de opiniones adaptable al dominio
de nuestra propuesta: el sistema que trataremos de construir pretende extraer todas aquellas opiniones sobre caracterı́sticas que sean representables
mediante una evidencia de opinión.
4.2.4.
Retos y dificultades de la tarea
La tarea de reconocimiento y clasificación de opiniones sobre caracterı́sticas, tal como la hemos definido, presenta numerosos retos y dificultades que
debemos tener en cuenta de cara a proponer una solución. Vamos a comentar
los más interesantes.
Calidad de los textos
Aunque la definición de la tarea no especifica cuál será el origen de los
textos que serán procesados, una de las motivaciones que fueron comentadas
en el capı́tulo 1 era explotar la ingente cantidad de contenidos generados
por usuarios en la Web 2.0. Por tanto, la aplicación más directa de un sistema de extracción de opiniones será sobre textos escritos por usuarios. Esto
implica, por lo general, una baja calidad de los textos: faltas de ortografı́a,
oraciones sintácticamente incorrectas, ausencia de signos de puntuación, etc.
La consecuencia inmediata es que las herramientas de análisis lingüı́stico
que utilizaremos en nuestro sistema (detectores de oraciones, analizadores
morfosintácticos, lematizadores y analizadores de dependencias sintácticas)
obtendrán una mayor tasa de errores, que pueden verse propagados y ocasionar errores en el proceso de extracción de opiniones. Además, la utilización
de términos coloquiales puede repercutir en la menor eficacia de los métodos
de clasificación de opiniones que se basen en recursos léxicos formales como
WordNet. En nuestra propuesta plantearemos soluciones que se basen en los
mismos textos escritos por usuarios para generar recursos que incluyan los
posibles términos coloquiales empleados en el dominio con más frecuencia.
Opiniones acerca de otros objetos
La tarea que pretendemos llevar a cabo consiste en la extracción de las
opiniones contenidas en una serie de documentos de texto acerca de un objeto concreto. A pesar de que suponemos que los documentos de entrada al
sistema contienen fundamentalmente opiniones acerca del objeto en cuestión,
es muy común que se intercalen opiniones acerca de otros objetos distintos.
Por ejemplo, en un review sobre un teléfono móvil es común que el usuario
dedique parte del texto a hablar de otros teléfonos distintos, para establecer
comparaciones. Éste es un problema de difı́cil solución: si en el texto nos
4.2. Definición de la tarea
95
encontramos una opinión, ¿cómo podemos estar seguros de que se trata de
una opinión sobre el objeto concreto en el que estamos interesados?
Ambigüedades en la determinación de la caracterı́stica
La definición de la tarea de reconocimiento de opiniones implica determinar correctamente las caracterı́sticas concretas sobre las que tratan las
opiniones. Como veremos en los capı́tulos siguientes, es frecuente tener un
alto número de caracterı́sticas (por lo general, más de 30). En algunos casos, pueden existir ambigüedades entre dichas caracterı́sticas, ya sea por la
polisemia de algunas de las palabras de caracterı́stica (por ejemplo, “range”
en un review sobre unos auriculares inalámbricos se puede referir al rango
de frecuencias de sonido, o al alcance de la conexión inalámbrica), o por la
correlación de algunas palabras de opinión con más de una caracterı́stica (por
ejemplo, en el dominio headphones hemos observado experimentalmente que
la palabra de opinión “cheap” está correlacionada con opiniones implı́citas
sobre las caracterı́sticas price, durability, appearance y design).
Ambigüedades en las palabras de caracterı́stica
La búsqueda de palabras de caracterı́stica en los textos puede ser un buen
punto de inicio para encontrar posibles opiniones. Sin embargo, muchas de
las menciones a caracterı́sticas se hacen fuera del contexto de una opinión.
En ocasiones se trata de oraciones en las que se están describiendo objetivamente las caracterı́sticas sin implicaciones positivas o negativas. Además, la
ambigüedad semántica de algunas de las palabras de caracterı́stica también
puede jugarnos malas pasadas. Por ejemplo, la palabra de caracterı́stica look
es utilizada en diversos dominios en opiniones acerca de la apariencia de un
producto, pero al mismo tiempo aparece frecuentemente en otras construcciones que no son opiniones.
Dependencia de la polaridad con respecto al dominio y a la caracterı́stica
La polaridad de determinadas palabras de opinión puede depender en
ocasiones tanto del dominio de aplicación como de la caracterı́stica concreta a la que se aplique. Por ejemplo, la palabra de opinión “unpredictable”
tiene connotaciones negativas en el contexto de la conducción, y connotaciones positivas en el contexto de una crı́tica de cine. Esto está ampliamente
documentado en diversos trabajos de la bibliografı́a; sin embargo, la dependencia de la polaridad con la caracterı́stica concreta no ha sido tenida en
96
Capı́tulo 4. Extracción de opiniones adaptable al dominio
cuenta en ningún trabajo previo. Por ejemplo, dentro de un dominio determinado que incluya las caracterı́sticas price y appearance, la palabra de
opinión “cheap” tiene connotaciones positivas al ser aplicada a la primera caracterı́stica, y negativas al ser aplicada a la segunda caracterı́stica. Nuestra
propuesta tendrá en cuenta esta dependencia entre la polaridad y la caracterı́stica a la hora de plantear la definición y generación de los recursos del
dominio.
Atomicidad de las opiniones
Según la definición 1, consideramos las opiniones formadas por la “porción
de texto más pequeña posible”; ası́ por ejemplo, en aquellas oraciones en las
que se utilicen varios adjetivos para calificar a una caracterı́stica (“The screen
is big, bright and vivid”), o en las que se califiquen de igual forma varias
caracterı́sticas (“The sound quality and volume are great”), nuestro sistema
deberı́a extraer opiniones independientes (tres opiniones en el primer ejemplo,
y dos en el segundo). En caso de extraer una sola opinión, la cobertura
obtenida por el sistema al ser evaluado de acuerdo a la definición de la tarea
se verá reducida.
Ironı́a y otros fenómenos pragmáticos
Si ya de por sı́ determinadas opiniones son inabordables debido a una
excesiva complejidad semántica o a la necesidad de tener cierto conocimiento
del mundo para poder decidir la polaridad de las mismas, la aparición de la
ironı́a y de otros fenómenos del nivel pragmático del lenguaje dificultan aún
más la tarea. El estudio de estos fenómenos dentro del PLN se encuentra
aún en etapas muy tempranas. Debemos aceptar que nuestro sistema no
será capaz de manejar dichas situaciones, lo que repercutirá en alguna medida
en los resultados que serán presentados en el capı́tulo 7.
4.3.
Resumen de la propuesta
La solución que planteamos al problema de la extracción de opiniones
sobre caracterı́sticas se apoya en dos pilares fundamentales. Por un lado, hemos desarrollado un sistema de extracción modular, basado en taxonomı́as y
adaptable al dominio. Por el otro, para que dicho sistema genérico sea aplicable a un dominio concreto, deben proporcionársele un conjunto de recursos
especı́ficos del dominio, incluyendo entre otros una taxonomı́a de caracterı́sticas. Dichos recursos son inducidos de manera automática (semi-automáticamente en el caso de la taxonomı́a) a partir de un conjunto de documentos
4.3. Resumen de la propuesta
Documentos
Taxonomía de
características
97
Recursos
Corpus anotado
Lexicón de opiniones
Indicadores de características implícitas
Taxonomy-based
Opinion Extraction System
Patrones de dependencias
Expresiones especiales
Recursos de apoyo específicos del dominio
Opiniones
Figura 4.2: Esquema conceptual de nuestra propuesta
anotados. Además del sistema genérico de extracción, nuestra aportación incluye una metodologı́a que describe los pasos a seguir para la obtención de
los recursos necesarios para un dominio dado, además de los algoritmos de inducción de los recursos y herramientas de apoyo para las tareas manuales (la
construcción de la taxonomı́a de caracterı́sticas y la anotación de documentos). En la figura 4.2 se muestra una representación conceptual de nuestra
propuesta.
4.3.1.
Sistema de extracción genérico
Para llevar a cabo la tarea de extracción tal como la hemos definido,
hemos diseñado un sistema de extracción de opiniones sobre caracterı́sticas
modular, basado en taxonomı́as y adaptable a dominio. El sistema está preparado para funcionar en cualquier dominio, siempre que reciba como entrada,
además de los textos sobre los que se llevará a cabo la extracción, los recursos
pertinentes especı́ficos del dominio. Las principales caracterı́stica del sistema
de extracción son las siguientes:
Arquitectura modular. El sistema está compuesto de distintos componentes, cada uno de los cuáles lleva a cabo una subtarea determinada,
de manera que la ejecución secuencial de un conjunto de componentes
lleva a cabo la tarea completa de reconocimiento y clasificación de opiniones. Hemos identificado una serie de subtareas básicas, cada una de
las cuales se corresponde con un tipo de componente. Hemos llamado
componente abstracto a cada uno de estos tipos de componentes, para
98
Capı́tulo 4. Extracción de opiniones adaptable al dominio
diferenciarlos de los componentes concretos, que representan distintas
implementaciones de los subproblemas atacados por cada componente
abstracto. Algunos de estos componentes concretos hacen uso de los
recursos del dominio, y otros tratan de resolver el subproblema correspondiente de manera independiente del dominio. La arquitectura
modular del sistema y la disponibilidad de ambos tipos de componentes concretos nos permitirá configurar distintas cadenas de ejecución,
más o menos dependientes de los recursos del dominio.
Taxonomı́as de caracterı́sticas. El sistema lleva a cabo la extracción
de opiniones sobre las caracterı́sticas incluidas en una taxonomı́a. A diferencia del resto de recursos especı́ficos del dominio, la taxonomı́a de
caracterı́sticas es una entrada requerida del sistema. La adaptación del
sistema a la taxonomı́a de caracterı́sticas concreta que reciba hace más
útiles las opiniones obtenidas, de cara a agruparlas, resumirlas o representarlas gráficamente. Además, permite a quien configura el sistema
de extracción para un dominio concreto especificar las caracterı́sticas
del objeto en las que está interesado.
Adaptabilidad al dominio. El sistema puede ser utilizado en cualquier dominio sin necesidad de ser modificado, siempre y cuando se
disponga de la taxonomı́a de caracterı́sticas correspondiente al dominio. Además de la taxonomı́a, y según los componentes concretos utilizados en la cadena de ejecución, será necesario generar otros recursos
especı́ficos del dominio.
La descripción del sistema en profundidad, junto con un estudio experimental del mismo, puede consultarse en los capı́tulos 7 y 8.
4.3.2.
Recursos especı́ficos del dominio
Como ha quedado ya claramente expuesto en el resto del capı́tulo, los recursos especı́ficos del dominio son una pieza fundamental de nuestra propuesta. En particular, éstos son los recursos que serán definidos en profundidad
en el siguiente capı́tulo:
Taxonomı́a de caracterı́sticas: contiene el conjunto de caracterı́sticas del dominio sobre las que se efectuará la extracción de opiniones,
organizadas jerárquicamente. Además, para cada caracterı́stica, se incluyen en el recurso un conjunto de palabras de caracterı́stica.
4.3. Resumen de la propuesta
99
Lexicón de opiniones: incluye estimaciones de la orientación semántica de los términos usados como palabras de opinión en el dominio. También se incluyen estimaciones de la probabilidad de que dichos términos
actúen como palabras de opinión.
Indicadores de caracterı́sticas implı́citas: listado de términos usados como palabras de opinión en el dominio y cuya presencia puede
estar relacionada, según cierta probabilidad, con la existencia de opiniones sobre caracterı́sticas implı́citas.
Patrones de dependencias: reglas de extracción basadas en relaciones de dependencia sintáctica que permiten conectar las palabras de
caracterı́stica con las palabras de opinión, y las palabras de opinión
entre sı́.
Expresiones especiales: términos participantes en las opiniones como
palabras de opinión, con implicaciones singulares sobre la polaridad
de las opiniones en las que intervienen. En concreto, distinguiremos
tres tipo de expresiones especiales: de negación, de no negación y de
polaridad dominante.
Todos los recursos son generados de manera automática (semiautomática
en el caso de la taxonomı́a de caracterı́sticas), a partir de un conjunto de documentos anotados. Los algoritmos de inducción de los recursos serán descritos
en el capı́tulo 6. Además, en dicho capı́tulo se establecerá una metodologı́a a
seguir para generar los recursos para un nuevo dominio, incluyendo qué pasos
deben seguirse y en qué orden, y aportando herramientas de apoyo para la
parte manual del proceso (construcción de la taxonomı́a de caracterı́sticas y
anotación de los documentos).
Capı́tulo 5
Recursos para la extracción de
opiniones
Resumen: En el presente capı́tulo se definen una serie de recursos
de apoyo especı́ficos del dominio, cuya intención es la captura de conocimiento útil para la extracción de opiniones sobre caracterı́sticas.
Además de la definición, mostraremos la sintaxis utilizada para representar cada uno de los recursos.
5.1.
Introducción
Una de las ideas centrales de nuestra propuesta para la extracción automática de opiniones es la captura de conocimiento acerca de las particularidades del dominio para el que deseamos construir el sistema, y de la manera
en que la gente expresa sus opiniones en dicho dominio. A raı́z de la definición
de la tarea, hemos identificado una serie de necesidades de información cuya
disponibilidad deberı́a facilitar el proceso de extracción. Las enunciamos a
continuación en forma de preguntas:
¿Cuáles son las caracterı́sticas opinables del objeto? O en todo caso,
¿en cuáles de ellas estamos interesados?
¿Qué palabras son más frecuentemente utilizadas para expresar opiniones para cada caracterı́stica de las anteriores? ¿Qué polaridad de la
opinión implican?
¿Qué palabras están correlacionadas con la existencia de opiniones sobre caracterı́sticas implı́citas?
101
102
Capı́tulo 5. Recursos para la extracción de opiniones
¿De qué manera se relacionan sintácticamente en una opinión las palabras que hacen referencia a la caracterı́stica y las palabras que expresan
la opinión?
¿Qué expresiones con efectos concretos sobre la polaridad de las opiniones son utilizadas? Por ejemplo, ¿qué palabras ocasionan una inversión
en la polaridad de las opiniones en las que participan?
Hemos concretado cada una de estas necesidades en la definición de un
recurso que capture todo el conocimiento del dominio útil para la extracción automática de opiniones. La generación de estos recursos, aún siendo en
buena parte automática, requiere de un cierto esfuerzo manual. Siendo un
trabajo que debe realizarse una sola vez por dominio, creemos que es indispensable para ser capaces de construir un sistema de extracción que se adapte
convenientemente a cualquier dominio de actuación. Nuestra filosofı́a será la
utilización de métodos automáticos siempre que sea posible, y en aquellos
casos en que sea necesaria la intervención humana, aportaremos todas las
herramientas de apoyo posibles para facilitar la labor y mejorar la calidad de
los recursos generados.
En este capı́tulo presentaremos cada uno de los recursos que utiliza nuestro sistema. Para cada uno de ellos, además de la definición, mostraremos la
sintaxis utilizada para su representación. Los métodos y algoritmos para la
generación de los recursos, ası́ como la secuencia en la que dicho proceso se
lleva a cabo, serán explicados en el capı́tulo 6.
5.2.
Corpus
La pieza fundamental en la que se apoya todo el proceso de generación de
recursos para un dominio dado es un conjunto de documentos de opinión de
dicho dominio. Si estamos construyendo un sistema de extracción de opiniones sobre productos, podemos utilizar los reviews escritos por usuarios disponibles en múltiples páginas web de Internet, tales como www.epinions.com
o www.ciao.com. Si el sistema tiene como objetivo la extracción de las opiniones acerca de cierta entidad o persona, podemos utilizar los comentarios
dejados por los internautas en foros o blogs relacionados con dicha entidad o
persona.
5.2.1.
Calidad de los documentos
Dado que en la mayorı́a de los casos los documentos que obtendremos
han sido redactados por usuarios anónimos de determinadas páginas web,
5.2. Corpus
103
foros o blogs, la calidad de los textos puede variar desde textos bien escritos
a textos completamente ilegibles. En el caso de aplicación que utilizamos
como ejemplo en el capı́tulo 6, nos hemos encontrado con textos escritos
completamente en mayúsculas, textos en los que no se hace uso alguno de
los signos de puntuación, numerosas faltas de ortografı́a, etc. Y no sólo es
un problema la calidad en la forma de los documentos: también el contenido
puede ser un problema. Es fácil encontrar documentos cuyo contenido, en
parte o totalmente, no hace referencia al objeto en cuestión, o bien se habla
del objeto muy tangencialmente y no se vuelcan opiniones sobre el mismo.
Existen dos maneras de abordar este problema. La primera serı́a simplemente no hacer nada, permitiendo que todos esos documentos de baja calidad
pasen a formar parte del corpus. Por contra, podrı́amos establecer una serie de filtros que permitieran seleccionar para el corpus aquellos documentos
que presentan una mejor calidad. Para ello, podrı́amos utilizar diccionarios
para medir la corrección ortográfica, contabilizar los signos de puntuación,
estableciendo un intervalo de frecuencias esperadas, o utilizar modelos de
lenguaje para descartar aquellos documentos cuyo contenido esté redactado
sin coherencia gramatical. Con esto conseguirı́amos un corpus de más calidad, más fácilmente procesable por los procesadores lingüı́sticos, y del que
podremos extraer recursos también de más calidad.
Esta segunda opción parece a priori la más adecuada, pero debemos plantearnos cuál será el marco de explotación del sistema de extracción que deseemos construir. Es posible que nuestro sistema tenga que trabajar con algunos
documentos de baja calidad, y por tanto puede ser deseable disponer de una
cierta proporción de ese tipo de documentos en nuestro corpus, tanto para
que las particularidades de dichos documentos se reflejen en los recursos como
para que el corpus constituya un mejor muestreo del conjunto de documentos
objetivo del sistema, permitiendo una evaluación más real de la precisión y
la cobertura y un mejor ajuste de parámetros. Volveremos sobre estas consideraciones en el capı́tulo 6, donde llevamos a cabo un acercamiento a medio
camino entre las dos formas de actuar a la hora de seleccionar los documentos
que formarán el corpus.
5.2.2.
Tamaño del corpus
El número de documentos es otra variable que debemos decidir. A mayor
número de documentos anotados, mayor representatividad de los mismos y
por tanto mayor calidad de los recursos generados. En contraposición, un
mayor número de documentos exige de un mayor esfuerzo de anotación y
validación de los mismos. En principio, deberı́amos anotar tantos documentos
como nuestros recursos nos permitan. No obstante, es previsible que exista
104
Capı́tulo 5. Recursos para la extracción de opiniones
un cierto número de documentos anotados a partir del cuál obtengamos una
ganancia mı́nima al añadir nuevos documentos; éste serı́a el valor óptimo
de documentos, siempre que no estemos limitados por los recursos de que
dispongamos. Independientemente del número de documentos a anotar, es
conveniente recolectar el mayor número posible de documentos del dominio,
ya que estos documentos, aún sin anotar, serán de utilidad para la aplicación
del método de expansión automática de los lexicones de opinión (ver sección
6.8).
En el capı́tulo 8 llevaremos a cabo algunos experimentos variando el tamaño del corpus y midiendo las repercusiones en el rendimiento del sistema.
5.2.3.
Representatividad de los documentos
La representatividad del conjunto de documentos, es decir, lo bien que
representan los documentos seleccionados al conjunto de documentos existentes en la web, está relacionada con el tamaño del corpus (a priori, a más
documentos, más representatividad) y con la calidad de dichos documentos
(cualquier proceso que descarte los documentos con peor calidad está mermando la representatividad real del conjunto finalmente seleccionado). Una
vez fijados estos factores, influyen también en la representatividad los siguientes parámetros:
La proporción de opiniones positivas y negativas contenidas en los documentos. Es deseable que la proporción obtenida en los documentos
seleccionados sea similar a la existente en el conjunto total de documentos. Dado que esto puede ser difı́cil de medir, al menos serı́a deseable
que el número de opiniones positivas y negativas esté equilibrado. Conseguir un conjunto de documentos que cumpla esta condición puede
ser más o menos fácil dependiendo del tipo de documentos con el que
estemos trabajando. Si nuestro corpus está compuesto por reviews de
productos, podemos utilizar la puntuación asignada por los usuarios
(que suele estar comprendida en un pequeño intervalo discreto, por
ejemplo de 1 a 5) para seleccionar documentos uniformemente distribuidos a lo largo de dichas puntuaciones. Si los documentos provienen
de foros o blogs, conseguir el equilibrio entre opiniones positivas y negativas puede ser más complicado, e implica un cierto trabajo manual
previo de lectura y clasificación de los documentos según su contenido.
La diversidad de objetos concretos sobre los que versan las opiniones.
Dado que un dominio puede englobar a múltiples objetos concretos, el
conjunto de documentos seleccionados deberı́a recoger la mayor diversidad posible de objetos concretos dentro del dominio. Por ejemplo, si
5.2. Corpus
105
estamos construyendo un sistema de extracción de opiniones sobre hoteles, es preferible que el corpus contenga reviews de múltiples hoteles,
a poder ser con diferentes caracterı́sticas particulares (por ejemplo, desde hostales a hoteles de 5 estrellas), antes que seleccionar un conjunto
de reviews que hablen sobre el mismo hotel. Esto será especialmente
importante para la generación de la taxonomı́a de caracterı́sticas del
dominio, ya que si los documentos seleccionados no recogen una suficiente variabilidad de objetos concretos, la taxonomı́a generada podrı́a
no recoger todas las posibles caracterı́sticas del dominio. Siguiendo con
el ejemplo de los hoteles, la elección de reviews para unos pocos hoteles
que, supongamos, no dispusieran de piscina, ocasionarı́a que dicha caracterı́stica no se viera reflejada en la taxonomı́a generada, y por tanto,
el sistema no extraerı́a correctamente opiniones acerca de dicha caracterı́stica cuando procese reviews de otros hoteles que sı́ dispongan de
la misma.
Intervalo de tiempo de los documentos seleccionados. La proporción de
opiniones positivas y negativas, las caracterı́sticas en las que se centran
la mayor parte de las opiniones, o incluso el tipo de lenguaje empleado, son variables que pueden cambiar con el tiempo. Por tanto, una
selección de documentos que abarquen un mayor intervalo de tiempo
será más representativa. En algunos casos, dependiendo del marco de
aplicación del sistema o del dominio sobre el que actúa, podrı́a interesarnos centrarnos en documentos más recientes, si prevemos que el
sistema será utilizado principalmente para extraer opiniones acerca de
objetos de una cierta novedad (como suele ocurrir por ejemplo con la
mayorı́a de productos tecnológicos).
5.2.4.
Definición del recurso
El corpus RD está formado por un conjunto de documentos {r1 , r2 , . . . , rn }.
Cada uno de los documentos está formado por un conjunto de oraciones
{s1 , s2 , . . . , sn }, cada una de las cuales está formada por una lista de tokens {t1 , t2 , . . . , tn } y una lista de sintagmas o chunks {c1 , c2 , . . . , cn }. Cada token tk es una tupla (wordk , lemmak , posk , depHeadk , depT ypek ), donde
wordk es la palabra tal como ha sido escrita por el autor del documento,
lemmak es el lema de la palabra anterior, posk es la categorı́a morfosintáctica o part−of −speech, depHeadk es una referencia a otro token de la oración,
del cuál depende sintácticamente la palabra actual según nos indica el análisis de dependencias de la oración, y depT ypek es el tipo de dicha relación de
dependencia. Ası́ mismo, cada uno de los chunks es una lista de tokens conti-
106
Capı́tulo 5. Recursos para la extracción de opiniones
guos de la oración. Todas esta información lingüı́stica será obtenida mediante
la aplicación de herramientas de análisis. En la sección 6.2 describiremos las
herramientas que hemos utilizado para llevar a cabo esta tarea.
5.2.5.
Sintaxis del recurso
Cada documento del corpus es almacenado en un fichero de texto plano.
Cada token es descrito en una lı́nea del fichero, con cada una de las informaciones asociadas al token incluidas por columnas. Cada token tiene asignado
un número identificativo único para la oración. A continuación mostramos un
par de oraciones de ejemplo, extraı́das del corpus de reviews de auriculares
que utilizaremos en la sección 6:
The
poor
design
of
the
band
that
holds
these
headphones
in
place
is
unacceptable
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
the
poor
design
of
the
band
that
hold
these
headphone
in
place
be
unacceptable
.
AT
JJ
NN1
IO
AT
NN1
DD1
VVZ
DD2
NN2
II
NNL1
VBZ
JJ
YF
B-NP
I-NP
I-NP
B-PP
B-NP
I-NP
I-NP
B-VP
B-NP
I-NP
B-PP
B-NP
B-VP
B-ADJP
O
det(3)
mod(3)
subj(14)
mod(3)
det(6)
subj(8)
det(10)
obj(8)
mod(10)
pcomp-n(11)
pred(13)
-
If
you
’re
willing
to
modify
the
band
,
these
wireless
headphones
can
be
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if
you
be
willing
to
modify
the
band
,
these
wireless
headphone
can
be
CS
PPY
VV0
JJ
TO
VV0
AT
NN1
YC
DD2
JJ
NN2
VM
VB0
B-SBAR
B-NP
O
O
O
I-VP
B-NP
I-NP
O
B-NP
I-NP
I-NP
B-VP
I-VP
subj(4)
pred(3)
aux(6)
det(8)
obj(6)
det(12)
mod(12)
subj(17)
aux(14)
-
5.2. Corpus
a
good
deal
.
107
15
16
17
18
1
good
deal
.
AT1
JJ
NN1
YF
B-NP
I-NP
I-NP
O
det(17)
lex-mod(17)
pred(14)
-
La primera columna corresponde a la palabra, y la segunda al número identificativo del token. La tercera columna es el lema, y la cuarta la
categorı́a morfosintáctica, según el tagset de la herramienta de etiquetado
utilizada. La quinta columna codifica los chunks, según notación IOB: una
cadena comenzando por B indica el comienzo de un sintagma; una cadena
comenzando por I indica que el sintagma continúa. La cadena que sigue a
la B o a la I codifica el tipo de sintagma. Aquellas palabras que no forman
parte de ningún chunk están etiquetadas con la letra O. Por último, la última
columna almacena la información relacionada con el análisis de dependencias. Entre paréntesis aparece el número del token del que depende la palabra
actual, precedido por el tipo de la relación de dependencia. Para indicar el
final de una oración, se utiliza una lı́nea en blanco.
Además del corpus ası́ codificado, una versión más legible de los documentos, en la que sólo aparecen las palabras junto al número identificativo de
cada una, es almacenada usando un formato XML para su uso en la etapa de
anotación de evidencias de opinión. A continuación mostramos un ejemplo
del formato utilizado, correspondiente a un review de un hotel:
<? xml v e r s i o n=” 1 . 0 ” e n c o d i n g=”UTF−8” ?>
<document i d=” 1”>
<s e n t e n c e i d=” 1 ”>
Cheap ( 1 ) , ( 2 ) i n c o n v e n i e n t ( 3 ) l o c a t i o n ( 4 ) , ( 5 ) c l e a n l i n e s s
( 6 ) i s ( 7 ) NOT( 8 ) t h e i r ( 9 ) p r i o r i t y ( 1 0 ) ! ( 1 1 ) ! ( 1 2 ) ! ( 1 3 )
</ s e n t e n c e>
<s e n t e n c e i d=” 2 ”>
I ( 1 ) d e f i n i t e l y ( 2 ) do ( 3 ) not ( 4 ) recommend ( 5 ) s t a y i n g ( 6 )
t h e r e ( 7 ) due ( 8 ) t o ( 9 ) t h e ( 1 0 ) d i s c o m f o r t ( 1 1 ) and ( 1 2 )
i n c o n v e n i e n c e ( 1 3 ) o f ( 1 4 ) t h i s ( 1 5 ) h o t e l ( 1 6 ) and ( 1 7 )
location (18) .(19)
</ s e n t e n c e>
<s e n t e n c e i d=” 3 ”>
I ( 1 ) d e c i d e d ( 2 ) t o ( 3 ) s t a y ( 4 ) t h e r e ( 5 ) d u r i n g ( 6 ) my( 7 ) t r i p
( 8 ) t o ( 9 ) Disney World ( 1 0 ) f o r ( 1 1 ) a f f o r d a b i l i t y ( 1 2 ) and
( 1 3 ) g o t ( 1 4 ) CHEAP( 1 5 ) ! ( 1 6 )
</ s e n t e n c e>
< !−− . . . c o n t i n u a n e l r e s t o de o r a c i o n e s d e l documento .−−>
</ document>
108
5.3.
Capı́tulo 5. Recursos para la extracción de opiniones
Taxonomı́a de caracterı́sticas
La taxonomı́a de caracterı́sticas cumple una triple función en el sistema.
En primer lugar, es un catálogo de las caracterı́sticas opinables en las que
nuestro sistema se va a centrar. Aquellas caracterı́sticas que no estén en la
taxonomı́a serán por tanto ignoradas. Por otro lado, el recurso contiene un
conjunto de palabras de caracterı́stica para cada una de las caracterı́sticas,
que será utilizado por el sistema de extracción para detectar menciones a dichas caracterı́sticas en los documentos de entrada. Por último, la taxonomı́a
establece una jerarquı́a de dependencias entre las distintas caracterı́sticas,
la cuál será utilizada por algunos de los algoritmos de inducción de recursos (además de ser útil para la agregación y visualización de las opiniones
extraı́das, como propondremos en la sección 8.5.7).
5.3.1.
Definición del recurso
La taxonomı́a de caracterı́sticas contiene el conjunto de caracterı́sticas
para las que deseamos que el sistema extraiga opiniones. Dicho conjunto
FP es un subconjunto de FP , el conjunto de todas las caracterı́sticas opinables del objeto abstracto P . Para cada caracterı́stica fi , el recurso contiene
un conjunto de palabras de caracterı́stica F Wfi , un subconjunto de F Wfi
(idealmente, lo más cercano posible al conjunto completo). Todos estos pares
(fi , F Wfi ) están organizados jerárquicamente: el objeto abstracto (que es en
sı́ mismo una caracterı́stica) es el nodo raı́z de la taxonomı́a, con un conjunto
de caracterı́sticas colgando de él. Cada caracterı́stica puede ser recursivamente descompuesta en un conjunto de subcaracterı́sticas. A modo de ejemplo,
en la figura 5.1 se muestra una representación de una parte de la taxonomı́a
de caracterı́sticas correspondiente al objeto abstracto headphones.
No todos los nodos deben tener una lista de palabras de caracterı́stica
asociada: se permite incluir nodos que sirven para agrupar algunas caracterı́sticas bajo algún criterio. Estos nodos no se corresponden con una caracterı́stica opinable directamente referenciable en los documentos, y por ello
no contienen palabras de caracterı́stica asociadas. Su función es facilitar la
legibilidad de la taxonomı́a, y servir como aglutinadores de opiniones en la
fase de agregación y visualización.
5.3.2.
Sintaxis del recurso
El formato que utilizamos para representar las taxonomı́as está basado en
XML. A continuación mostramos un ejemplo correspondiente a la taxonomı́a
parcial cuya representación ha sido mostrada en la figura 5.1:
5.3. Taxonomı́a de caracterı́sticas
109
Figura 5.1: Porción de la taxonomı́a de caracterı́sticas para headphones
<? xml v e r s i o n=” 1 . 0 ” e n c o d i n g=”UTF−8” ?>
<taxonomy o b j e c t C l a s s=” headphones ”>
<f e a t u r e R o o t name=” headphones ” featWords=” headphones , d e v i c e ,
earphone , h e a d s e t ”>
<f e a t u r e name=” a p p e a r an c e ” featWords=” appearance , a e s t h e t i c s
, look , shape , s t y l e ”/>
<f e a t u r e name=” c o r d ” featWords=” cord , c a b l e , l e n g t h , wire ,
w i r e s , w i r i n g ”/>
<f e a t u r e name=” sound q u a l i t y ” featWords=” sound q u a l i t y ,
a u d i o q u a l i t y , sound r e p r o d u c t i o n , sq ”>
<f e a t u r e name=” f r e q u e n c y r e s p o n s e ” featWords=” f r e q u e n c y
r e s p o n s e , dynamics , f r e q u e n c y r a n g e ”>
<f e a t u r e name=” b a s s ” featWords=” bass , b a s s r e s p o n s e ,
lows , low f r e q u e n c i e s ”/>
<f e a t u r e name=” mids ” featWords=” mids , mid range ,
midrange ”/>
<f e a t u r e name=” t r e b l e ” featWords=” t r e b l e , h i g h end , h i g h
f r e q u e n c i e s , h i g h s ” />
</ f e a t u r e>
</ f e a t u r e>
< !−− . . . c o n t i n u a n e l r e s t o de f e a t u r e s de l a taxonomia .−−>
</ f e a t u r e R o o t>
</ taxonomy>
110
5.4.
Capı́tulo 5. Recursos para la extracción de opiniones
Corpus anotado
El corpus anotado, en el que se han identificado manualmente todas las
evidencias de opinión contenidas en los documentos del corpus, es la base
para la generación del resto de recursos, tal como veremos en el capı́tulo 6.
Además, también nos permitirá evaluar la precisión y cobertura del sistema
de extracción, según veremos en el desarrollo experimental propuesto en el
capı́tulo 8.
5.4.1.
Definición del recurso
El corpus anotado está compuesto por un conjunto de documentos RD
=
{r1 , r2 , . . . , rn }, donde cada documento ri es un par (ri , OEi ), siendo ri un
documento del corpus RD y OEi = {oei1 , oei2 , . . . , oein } un conjunto de evidencias de opinión encontradas en ri . Estas evidencias de opinión serán anotadas por uno o varios anotadores, según la metodologı́a que explicaremos
en la sección 6.5.
5.4.2.
Sintaxis de las anotaciones
Las anotaciones se llevan a cabo sobre los ficheros XML generados anteriormente, añadiendo a cada elemento sentence un elemento opinion por
cada evidencia de opinión observada en dicha oración, como puede verse en
el siguiente ejemplo:
<s e n t e n c e i d=” . . . ”>
The ( 1 ) s t a f f ( 2 ) i s ( 3 ) rude ( 4 ) and ( 5 ) u n r e s p o n s i v e ( 6 ) . ( 7 )
<o p i n i o n p o l a r i t y=”−” f e a t u r e=” s t a f f ”
featWords=”2” opWords=”4”/>
<o p i n i o n p o l a r i t y=”−” f e a t u r e=” s t a f f ”
featWords=”2” opWords=”6”/>
</ s e n t e n c e>
Para cada opinión, se deben indicar como mı́nimo la polaridad, la caracterı́stica y las palabras de opinión (atributos polarity, feature y opWords,
respectivamente). La polaridad se indica utilizando el carácter “+” o “-”,
según sea positiva o negativa. La caracterı́stica debe coincidir con uno de los
elementos de la taxonomı́a. Las palabras de opinión se indican mediante la
lista de los números asociados a los tokens correspondientes, separados por
comas. Si se trata de una opinión sobre caracterı́stica explı́cita, deben indicarse también las palabras de caracterı́stica, mediante el atributo featWords,
y también mediante la lista de números de los tokens correspondientes.
5.5. Lexicón de opiniones
111
En caso de que la caracterı́stica sea referenciada mediante un pronombre,
nuestro esquema de anotación contempla la inclusión de la palabra o palabras
anteriores a las que referencia dicho pronombre, usando el atributo featRef.
Por último, aquellas palabras que no participan en la polaridad de la opinión
pero sı́ influyen en la intensidad de la misma, han sido anotadas usando el
atributo potency. A continuación se muestra una anotación que incluye estos
dos atributos:
<s e n t e n c e i d=” . . . ”>
I t ( 1 ) seemed ( 2 ) r e a l l y ( 3 ) n i c e ( 4 ) . ( 5 )
<o p i n i o n p o l a r i t y=”+” f e a t u r e=” h o t e l ”
featWords=”1” f e a t R e f=” h o t e l ” opWords=”4” potency=” 3”/>
</ s e n t e n c e>
A efectos de aplicar la metodologı́a descrita en este trabajo, no es necesario anotar estos dos últimos atributos (featRef y potency). Aún ası́, siendo
pequeño el esfuerzo que requiere por parte del anotador, decidimos en su
momento incluirlos en el proceso. En el caso del atributo featRef, nos permitirá llevar a cabo evaluaciones del sistema sin contar con un módulo de
resolución de correferencias, simulando su aplicación mediante la sustitución
de los pronombres en cuestión por sus sintagmas referenciados. En cuanto a
las palabras de potencia, su inclusión en el esquema de anotación nos pareció oportuna para futuros experimentos de inducción de la intensidad de las
opiniones extraı́das.
5.5.
Lexicón de opiniones
El lexicón de opiniones recoge información relativa a las palabras que han
sido anotadas como palabras de opinión en el corpus. Por ejemplo, ¿qué polaridad tienen al ser utilizadas para calificar determinada caracterı́stica del
objeto? ¿O con qué probabilidad son utilizadas en el contexto de una opinión
y con qué probabilidad no lo son? Este conocimiento nos será de gran ayuda
a la hora de identificar y clasificar correctamente opiniones del dominio.
5.5.1.
Definición del recurso
El lexicón de opiniones está compuesto por una lista de términos (potenciales palabras de opinión) y una serie de valores para cada término. El
recurso recoge la siguiente información para cada término:
Support: número de apariciones del término en el corpus anotado.
112
Capı́tulo 5. Recursos para la extracción de opiniones
Cuanto mayor es este valor, más precisas serán las estimaciones siguientes.
Feature-based opinion word probabilities: estimación de la probabilidad
de que la aparición de este término lleve pareja la existencia de una
opinión sobre una caracterı́stica concreta de la taxonomı́a (o alguna
de las caracterı́sticas que dependen de ella). Por tanto, habrá tantas
estimaciones como caracterı́sticas contenga la taxonomı́a. Por ejemplo,
un término cuyo valor de esta medida sea 0 para una caracterı́stica
determinada, no ha sido anotado como palabra de opinión en ninguna
opinión sobre dicha caracterı́stica o sobre alguna caracterı́stica hija de la
misma. El valor asociado a la caracterı́stica raı́z de la taxonomı́a indica
la probabilidad de que la aparición del término implique la existencia
de una opinión sobre cualquier caracterı́stica.
Feature-based semantic orientation polarities: estimación de la polaridad de la orientación semántica del término cuando es utilizado en una
opinión acerca de una determinada caracterı́stica. De nuevo disponemos de tantas estimaciones como caracterı́sticas posea la taxonomı́a.
El rango de valores de la medida es [−1,0; 1,0]. Para un término que
siempre haya sido usado en opiniones positivas o negativas para una
determinada caracterı́stica, el valor asignado será 1,0 o −1,0 respectivamente. Los valores intermedios indican un cierto grado de ambigüedad
en la polaridad. Las estimaciones se calculan a partir de las opiniones
positivas y negativas anotadas en el corpus acerca de la caracterı́stica
en cuestión y de todas las caracterı́sticas en que aquella se descompone
en la taxonomı́a.
Formalmente, el lexicón es una lista lexicon = {le1 , le2 , . . . , len }, con un
elemento por término, en el que cada elemento es una tupla
lei = (term, support, f bOpP robs, f bP olarities)
, donde term es el término en cuestión, support es un número entero mayor o igual que 1, y f bOpP robs (feature-based opinion word probabilities) y
f bP olarities (feature-based semantic orientation polarities) son dos aplicaciones FP → [0; 1] ∈ y FP → [−1; 1] ∈ , respectivamente.
Es importante señalar que el valor absoluto de las estimaciones de polaridad de la orientación semántica no está relacionado con la intensidad de las
implicaciones positivas o negativas del término, como ocurre cuando se utiliza el concepto de orientación semántica en otros trabajos de clasificación de
opiniones. En nuestro caso, el valor absoluto está relacionado con una cierta
5.5. Lexicón de opiniones
113
probabilidad de que el término tenga implicaciones positivas o negativas. La
mayorı́a de las veces un valor distinto de 1,0 o −1,0 indica la existencia de
valores de la polaridad opuestos para algunos subfeatures. Por ejemplo, la estimación de la polaridad de “cheap” para el objeto abstracto “headphones”
fue en nuestros experimentos igual a 0,4693, siendo −1,0 para la mayorı́a
de las caracterı́sticas en que se descompone el objeto (appearance, durability,
sound quality,. . . ) y 1,0 en una única pero más frecuentemente observada
caracterı́stica (price).
5.5.2.
Sintaxis del recurso
El formato en el que se expresan estas medidas está basado en XML. A
continuación mostramos una porción del lexicón de opiniones del dominio
headphones:
<? xml v e r s i o n=” 1 . 0 ” e n c o d i n g=”UTF−8” ?>
<o p i n i o n L e x i c o n a b s t r a c t O b j e c t=” headphones ”>
<e n t r y term=” a c c e p t a b l e ” s u p p o r t=” 11 ”>
<fb Entr y f e a t u r e=” headphones ” opProb=” 0 . 5 3 8 4 ”
p o l a r i t y=” 1 . 0 ” />
<f b E n t r y f e a t u r e=” sound q u a l i t y ” opProb=” 0 . 4 6 1 5 ”
p o l a r i t y=” 1 . 0 ” />
</ e n t r y>
<e n t r y term=” a d j u s t a b l e ” s u p p o r t=” 12 ”>
<f b E n t r y f e a t u r e=” c o m f o r t ” opProb=” 0 . 1 1 7 6 ” p o l a r i t y=” 1 . 0 ”/>
<fb Ent r y f e a t u r e=” component ” opProb=” 0 . 2 3 5 2 ”
p o l a r i t y=” 1 . 0 ” />
<f b E n t r y f e a t u r e=” e a r c u p s ” opProb=” 0 . 1 1 7 6 ” p o l a r i t y=” 1 . 0 ” />
<f b E n t r y f e a t u r e=” headband ” opProb=” 0 . 1 1 7 6 ” p o l a r i t y=” 1 . 0 ” />
<fb Entr y f e a t u r e=” headphones ” opProb=” 0 . 3 5 2 9 ”
p o l a r i t y=” 1 . 0 ” />
</ e n t r y>
<e n t r y term=” l i g h t ” s u p p o r t=” 64 ”>
<f b E n t r y f e a t u r e=” b a s s ” opProb=” 0 . 0 2 5 6 ” p o l a r i t y=” −1.0 ”/>
<f b E n t r y f e a t u r e=” f r e q u e n c y r e s p o n s e ”
opProb=” 0 . 0 2 5 6 ” p o l a r i t y=” −1.0 ”/>
<fb Entr y f e a t u r e=” headphones ” opProb=” 0 . 5 6 4 1 ”
p o l a r i t y=” 0 . 8 8 8 8 ”/>
<f b E n t r y f e a t u r e=” sound q u a l i t y ” opProb=” 0 . 0 2 5 6 ”
p o l a r i t y=” −1.0 ”/>
<f b E n t r y f e a t u r e=” w e i g h t ” opProb=” 0 . 5 3 8 4 ” p o l a r i t y=” 1 . 0 ” />
</ e n t r y>
< !−− c o n t i n u a . . .−−>
</ o p i n i o n L e x i c o n>
Los atributos support y opProb de los elementos de tipo entry se corresponden con las medidas de support y opinion word probability. Los atributos
114
Capı́tulo 5. Recursos para la extracción de opiniones
opProb y polarity de los elementos de tipo fbEntry se corresponden con las
medidas feature-based opinion word probability y feature-based semantic polarity. Para aquellas caracterı́sticas para las que no aparezca un elemento
fbEntry, ambas medidas se consideran nulas, de forma que no es necesario
incluir sus entradas explı́citamente en el recurso.
5.6.
Indicadores de caracterı́sticas implı́citas
Al examinar las evidencias de opinión anotadas cuya caracterı́stica está implı́cita (es decir, aquellas en las que no se han anotado palabras de caracterı́stica),
es fácil encontrar correlaciones inequı́vocas entre determinadas palabras de
opinión y la caracterı́stica sobre la que se está opinando. Por ejemplo, comfortable y affordable son palabras de opinión con polaridad positiva, cuya
aparición suele ir ligada a la existencia de una opinión acerca de las caracterı́sticas comfort y price, respectivamente. Por tanto, la presencia de estas
palabras de opinión puede ser un buen indicativo de la existencia de una
opinión implı́cita.
El recurso de indicadores de caracterı́sticas implı́citas (implicit feature
cues) trata de capturar este tipo de información, que puede sernos muy útil
para descubrir opiniones sobre caracterı́sticas implı́citas.
5.6.1.
Definición del recurso
El recurso está formado por una lista de términos cuya presencia implica con cierta probabilidad la existencia de una opinión sobre determinada
caracterı́stica. Para cada término de la lista, se dispone de la siguiente información:
Support: número de apariciones del término en el recurso. Cuanto mayor sea este valor, más fiables serán las estimaciones realizadas para el
cálculo de probabilidades.
Feature-based implicit feature probabilities: para cada una de las caracterı́sticas de la taxonomı́a, un valor real entre 0 y 1 que indica la
probabilidad de que la presencia del término en cuestión vaya unida
a la existencia de una opinión sobre caracterı́stica implı́cita en la que
participe el término.
Feature-based implicit feature, not explicit, conditional probabilities: se
define de forma similar a la anterior, para cada una de las caracterı́sticas de la taxonomı́a; se trata de la misma probabilidad anterior, pero
condicionada a la no participación del término en una opinión explı́cita.
5.6. Indicadores de caracterı́sticas implı́citas
115
De manera formal, el recurso es una lista cues = {cue1 , cue2 , . . . , cuen },
con un elemento por término, en el que cada elemento es una tupla
cuei = (term, support, f bImplP robs, f bCondImplP robs)
, donde term es el término en cuestión, support es un número entero mayor
o igual que 1, y f bImplP robs (feature-based implicit feature probabilities)
y f bCondImplP robs (feature-based implicit feature, not explicit, conditional
probabilities) son dos aplicaciones FP → [0; 1] ∈ .
Para entender la diferencia entre las dos probabilidades incluidas en el
recurso, supongamos la existencia de un par de términos t1 y t2 en el recurso,
cuyos valores de f bImplP robs y f bCondImplP robs para una caracterı́stica
determinada f sean los siguientes:
f bImplP robst1 (f ) = 1, f bCondImplP robst1 (f ) = 1,
f bImplP robst2 (f ) = 0,9, f bCondImplP robst2 (f ) = 1.
En esta situación, el término t1 ha sido siempre observado formando parte
de una opinión implı́cita; si la estimación ha sido realizada sobre un número
suficiente de observaciones (es decir, si el valor de support es suficientemente
alto), ante la presencia del término en un nuevo documento de entrada podemos inferir, con bastante seguridad, la existencia de una opinión implı́cita
sobre f . En el caso del término t2 , la certeza no será tan alta, puesto que
la probabilidad f bImplP rob indica que en un pequeño número de casos la
presencia del término no estuvo relacionada con la existencia de una opinión
sobre f . Sin embargo, si previamente hemos llevado a cabo la extracción de
las opiniones sobre caracterı́sticas explı́citas, y el término t2 no participó en
ninguna de las extraı́das, entonces la presencia del mismo nos informa con
bastante seguridad de la existencia de una opinión implı́cita sobre f (dando
por supuesto que la extracción de opiniones sobre caracterı́sticas explı́citas
fuese perfecta).
5.6.2.
Sintaxis del recurso
Como en el resto de recursos, el formato que utilizamos está basado en
XML. A continuación mostramos una porción del recurso de indicadores de
caracterı́sticas implı́citas para el dominio headphones:
<? xml v e r s i o n=” 1 . 0 ” e n c o d i n g=”UTF−8” ?>
<i m p l i c i t C u e s a b s t r a c t O b j e c t=” headphones ”>
<e n t r y term=” a t t r a c t i v e ” s u p p o r t=”9”>
<f b E n t r y f e a t u r e=” a p p e a r a n c e ” prob=” 0 . 4 4 ” condProb=” 0 . 5 7 ”>
</ e n t r y>
116
Capı́tulo 5. Recursos para la extracción de opiniones
<e n t r y term=”awesome” s u p p o r t=” 27 ”>
<f b E n t r y f e a t u r e=” a p p e a r a n c e ” prob=” 0 . 0 4 ” condProb=” 0 . 0 8 ”>
<f b E n t r y f e a t u r e=” headphones ” prob=” 0 . 1 5 ” condProb=” 0 . 3 3 ”>
</ e n t r y>
<e n t r y term=” f e e l g r e a t ” s u p p o r t=” 5”>
<f b E n t r y f e a t u r e=” c o m f o r t ” opProb=” 1 . 0 ” condProb=” 1 . 0 ”>
</ e n t r y>
<e n t r y term=” i n e x p e n s i v e ” s u p p o r t=” 31 ”>
<f b E n t r y f e a t u r e=” p r i c e ” opProb=” 0 . 7 7 ” condProb=” 0 . 7 7 ”>
</ e n t r y>
< !−− c o n t i n u a . . .−−>
</ i m p l i c i t C u e s>
Los atributos prob y condProb de los elementos de tipo fbEntry se corresponden con las medidas feature-based implicit feature probabilities y featurebased implicit feature, not explicit, conditional probabilities. Para aquellas
caracterı́sticas para las que no aparezca un elemento fbEntry, ambas medidas se consideran nulas, de forma que no es necesario incluir sus entradas
explı́citamente en el recurso.
Los ejemplos mostrados aquı́ sólo pretenden ilustrar el formato que hemos
utilizado; en la sección 6.9 analizaremos los valores obtenidos experimentalmente en el recurso y sus implicaciones prácticas.
5.7.
Patrones de dependencias
La taxonomı́a de caracterı́sticas contiene información útil para que el
sistema pueda identificar posibles palabras de caracterı́stica, y el lexicón de
opiniones permite encontrar y clasificar potenciales palabras de opinión. Pero
el sistema de extracción también necesita enlazar correctamente unas y otras
palabras, siempre que estén relacionadas. Algunas de las propuestas de otros
investigadores utilizan simplemente la proximidad en el texto entre las caracterı́sticas y las palabras de opinión para decidir que están relacionadas(Hu &
Liu, 2004a; Ding et al, 2008b; Blair-Goldensohn et al, 2008). En nuestro caso,
aunque también experimentaremos con aproximaciones basadas en ventanas
de palabras, intentaremos explotar la estructura sintáctica de las oraciones.
En concreto, utilizaremos la información proporcionada por un analizador de
dependencias. La utilización de la información sintáctica ya ha sido previamente propuesta por otros autores(Popescu & Etzioni, 2005; Popescu et al,
2005; Yi & Niblack, 2005; Brody & Elhadad, 2010). Sin embargo, a diferencia
de estos trabajos, en los que se dispone de un conjunto de patrones construidos a mano, en nuestro caso utilizaremos un conjunto de patrones especı́ficos
del dominio, a nivel de caracterı́stica, inducidos automáticamente a partir
5.7. Patrones de dependencias
117
del corpus anotado.
Las relaciones de dependencia conectan las palabras de las oraciones según
la función sintáctica que desempeñan unas frente a otras. Se establece con
ello un árbol de relaciones en el que, a diferencia del análisis sintáctico completo tradicional, los nodos del árbol son las propias palabras, no existiendo
nodos intermedios (en el análisis sintáctico completo, los nodos intermedios
del árbol representan unidades gramaticales a distintos niveles de abstracción, formadas por grupos de palabras, como por ejemplo sujeto, predicado,
sintagma nominal, sintagma preposicional, . . . ). En cierto modo, el análisis
de dependencias es una simplificación del análisis sintáctico completo.
Cada relación de dependencia está formada por un núcleo o head word
y una palabra dependiente, y es etiquetada con una función sintáctica determinada (por ejemplo, subj para la función sujeto, o mod para la función
modificador, entre otras1 ). La idea es identificar a partir de las anotaciones del corpus aquellos patrones que se repiten más frecuentemente en los
caminos que conectan las palabras de caracterı́stica con las palabras de opinión relacionadas en el árbol de dependencias. Por ejemplo, para la frase
“The size seems almost perfect” (ver figura 5.2), el patrón que se observa
desde la palabra de caracterı́stica “seems” a la palabra de opinión “perfect”
es N → subj → V → desc → J, donde N, V y J representan las categorı́as morfosintácticas (nombre, verbo y adjetivo) de las palabras “size”,
“seems” y “perfect”, respectivamente. Si este patrón se repite frecuentemente
en nuestras anotaciones, podrı́amos plantearnos su utilización en el sistema
de extracción para decidir qué palabras de opinión están comunicadas con
ciertas palabras de caracterı́stica previamente identificadas, siempre que encontremos un camino similar en el árbol de dependencias de la oración de
entrada.
El ejemplo utilizado es el más simple posible, puesto que se trata de
una opinión en la que participan una única palabra de caracterı́stica y una
única palabra de opinión. En aquellos casos en que tengamos varias palabras
de cada tipo, surge el problema de cómo expresar la relación entre ambos
conjuntos de palabras. Podemos buscar patrones entre las palabras dos a
dos, o centrarnos en las relaciones que se establecen entre las palabras que
actúan como núcleo de cada uno de los sintagmas. También podemos capturar
las relaciones de dependencia existentes entre el núcleo de las palabras de
opinión y el resto de palabras del mismo tipo, o entre el núcleo y las palabras
correspondientes a expresiones especiales2 . Cada una de estas posibilidades
1
El conjunto de etiquetas utilizadas para las funciones de dependencia cambia de unos
analizadores a otros; los utilizados en esta sección corresponden a las etiquetas utilizadas
por el parser Minipar(Lin, 1998)
2
Las expresiones especiales son definidas en la sección 5.8
118
Capı́tulo 5. Recursos para la extracción de opiniones
Figura 5.2: Árbol de dependencias de oración de ejemplo
está contemplada en la definición del recurso.
5.7.1.
Definición del recurso
El recurso está formado por cinco listas ordenadas de patrones para cada
una de las caracterı́sticas de la taxonomı́a, más cinco listas con patrones
aplicables a cualquier caracterı́stica. Cada una de las listas contiene patrones
que enlazan palabras participantes en una misma evidencia de opinión. Según
los elementos que enlazan, podemos distinguir cinco tipos de patrones:
Tipo 1: patrones para enlazar cualquier palabra de caracterı́stica con
cualquier palabra de opinión.
Tipo 2: patrones para enlazar el núcleo de las palabras de caracterı́stica
con el núcleo de las palabras de opinión.
Tipo 3: patrones para enlazar el núcleo de las palabras de opinión con
el resto de las palabras de opinión.
Tipo 4: patrones para enlazar el núcleo de las palabras de opinión con
palabras correspondientes a las expresiones de negación.
Tipo 5: patrones para enlazar el núcleo de las palabras de opinión con
palabras correspondientes a las expresiones de polaridad dominante.
Cada una de las listas será utilizada por distintas implementaciones de los
módulos abstractos que compondrán el sistema de extracción, como explicaremos en el capı́tulo 7. Cada uno de los patrones, que relacionan una palabra
origen con una palabra destino, se define en base a una serie de restricciones
que se concretan en los siguientes datos:
5.7. Patrones de dependencias
119
Caracterı́stica sobre la que se aplica: indica la caracterı́stica de
las opiniones sobre las que se aplica el patrón. Esto nos permite disponer de un juego de patrones especı́fico para cada caracterı́stica; nuestra
hipótesis es que las opiniones sobre determinadas caracterı́sticas suelen expresarse de maneras determinadas, y es por ello que incluimos
la caracterı́stica como restricción del patrón. No obstante, se contemplan también patrones sin esta restricción, aplicables a opiniones sobre
cualquier caracterı́stica.
Listas de restricciones morfosintácticas: contienen la secuencia de
etiquetas morfosintácticas de las palabras participantes en el camino
que une las palabras origen y destino. Esta secuencia está dividida en
dos listas, una correspondiente a la parte ascendente del camino, y otra
a la parte descendente3 . En el ejemplo anterior, la primera lista serı́a
{N, V } y la segunda {V, J}. Si ambas palabras, origen o destino, dependen una de la otra, directa o transitivamente, entonces una de las
listas contendrá únicamente una etiqueta morfosintáctica (la correspondiente a la propia palabra origen o destino). Las cadenas utilizadas
para especificar cada uno de los elementos de las listas se corresponden
con prefijos de las etiquetas utilizadas por el etiquetador morfosintáctico que hayamos utilizado. Por ejemplo, N significa que se trata de un
nombre en el tagset del etiquetador que hemos utilizado en nuestros
experimentos (Penn Treebank(Marcus et al, 1994)); podrı́amos indicar
una restricción más detallada mediante la cadena N N P , que exigirı́a
que se tratara de un nombre propio. También permitimos la no imposición de restricción alguna en los patrones acerca de las categorı́as
morfosintácticas de las palabras participantes. Pretendemos con ello
experimentar con los distintos grados de restricción.
Listas de tipos de relaciones de dependencia: contienen la secuencia de tipos de relaciones de dependencia entre cada dos palabras
del camino. Al igual que en el caso anterior, se trata de un par de listas, una correspondiente a la parte ascendente del camino y otra a la
descendente. En el ejemplo anterior, la primera lista serı́a {subj} y la
segunda {desc}. Ésta es la información principal del patrón, y la única
de las restricciones que no puede ser omitida. Si ambas palabras, origen
o destino, dependen una de la otra, directa o transitivamente, entonces
una de las listas estará vacı́a.
3
Dos nodos cualesquiera de un árbol están comunicados mediante un camino mı́nimo
formado por la unión de los dos subcaminos que comunican a cada uno de los nodos con
el ancestro común más cercano.
120
Capı́tulo 5. Recursos para la extracción de opiniones
Palabra destino: de manera opcional, un patrón puede indicar la
palabra destino sobre la que se aplica. Si al aplicar el patrón, la palabra
destino encontrada no es la especificada en esta restricción, el resultado
será descartado. Esta restricción se utilizará únicamente en los patrones
de tipo 4 y 5.
Además de la propia definición del patrón, en el recurso se incluye la
siguiente información para cada patrón:
Support: número de veces que el patrón ha sido observado en el corpus
anotado.
Precision: número real entre 0 y 1, que mide la precisión del patrón al
enlazar palabras origen y destino del tipo adecuado, atendiendo al tipo
del patrón. Por ejemplo, una precisión igual a 0,95 para un patrón del
tipo 1 nos indicarı́a que la aplicación del patrón partiendo de una palabra de caracterı́stica cualquiera correctamente anotada nos conducirı́a
a una palabra de opinión relacionada con la anterior, en un 95 % de los
casos.
Recall : número real entre 0 y 1, que mide la cobertura del patrón actual. Por ejemplo, una cobertura igual a 0,01 para un patrón del tipo
1 indicarı́a que aplicar este patrón a todas las palabras de caracterı́stica correctamente etiquetadas conducirı́a a capturar sólo el 1 % de las
palabras de opinión relacionadas con esa feature word.
Accumulated precision and recall : las listas de patrones de cada tipo
para cada una de las caracterı́sticas son ordenadas en orden decreciente de precisión, y a igual precisión en orden decreciente de cobertura.
Respecto a la posición que ocupen en estas listas ordenadas, en el recurso se proporcionan valores de precisión y cobertura acumulados para
cada patrón, que indican la precisión y la cobertura estimadas tras la
aplicación del patrón actual y de todos los anteriores a éste en la lista. Estos valores, que siguen una progresión monótona decreciente en
el caso de la precisión acumulada y monótona creciente en el caso de
la cobertura acumulada, permiten seleccionar un subconjunto de patrones tras establecer ciertos valores umbrales para la precisión y/o la
cobertura que deseemos obtener en la aplicación de los mismos.
Formalmente, el recurso de patrones de dependencias está formado por
cinco listas de patrones para cada caracterı́stica, mas cinco listas sin restricciones de caracterı́stica:
patterns(fi ) = {pats1 (fi ), pats2 (fi ), pats3 (fi ), pats4 (fi ), pats5 (fi )},
5.7. Patrones de dependencias
121
fi ∈ FP ∪ {∗}.
Cada una de las listas patsj (fi ) está formada por patrones de cada uno
de los tipos descritos anteriormente, de la forma:
patj = (posasc , posdesc , depasc , depdesc , support, p, r, accP, accR),
donde posasc y posdesc son las listas ascendente y descendente de restricciones
morfosintácticas, depasc y depdesc son las listas ascendente y descendente de
tipos de relaciones de dependencia, support es un número entero mayor o
igual que 1, y p, r, accP y accR son números reales entre 0 y 1 correspondientes a la precisión y cobertura individuales y acumuladas. Además, las
listas están ordenadas en función de la precisión de los patrones, y a igual
precisión, en función de la cobertura:
pati .p >= patj .p, ∀i ∈ [1, n], j ∈ [1, n], i < j.
pati .p = patj .p ⇒ pati .r >= patj .r, ∀i ∈ [1, n], j ∈ [1, n], i < j.
5.7.2.
Sintaxis del recurso
A continuación mostramos una porción del recurso de patrones de dependencias para el dominio headphones:
<? xml v e r s i o n=” 1 . 0 ” e n c o d i n g=”UTF−8” ?>
<p a t t e r n s o b j e c t C l a s s=” headphones ”>
<p a t t e r n L i s t type=”1” f e a t u r e=” b a s s ”>
<p a t t e r n o r d e r=” 1 ” destWord=” ” posAsc=”N, N, J” posDesc=”J”
depAsc=”nn , s u b j ” depDesc=”” p=” 1 . 0 ” r=” 0 . 0 0 9 ”
pAcc=” 1 . 0 ” rAcc=” 0 . 0 0 9 ”/>
<p a t t e r n o r d e r=” 2 ” destWord=” ” posAsc=”N, V,V” posDesc=”J ,V”
depAsc=” subj , c o n j ” depDesc=” pred ” p=” 1 . 0 ” r=” 0 . 0 0 6 ”
pAcc=” 1 . 0 ” rAcc=” 0 . 0 1 5 ”/>
<p a t t e r n o r d e r=” 3 ” destWord=” ” posAsc=”N, J ,V” posDesc=”X,V”
depAsc=” subj , pred ” depDesc=” neg ” p=” 1 . 0 ” r=” 0 . 0 0 6 ”
pAcc=” 1 . 0 ” rAcc=” 0 . 0 2 1 ”/>
<p a t t e r n o r d e r=” 4 ” destWord=” ” posAsc=”N” posDesc=”V,N”
depAsc=” ” depDesc=”mod” p=” 1 . 0 ” r=” 0 . 0 0 4 ”
pAcc=” 1 . 0 ” rAcc=” 0 . 0 2 6 ”/>
< !−− c o n t i n u a . . . −−>
</ p a t t e r n L i s t>
< !−− c o n t i n u a n p a t r o n e s d e l r e s t o de t i p o s para t o d a s l a s
c a r a c t e r i s t i c a s de l a taxonomia . . . −−>
</ p a t t e r n s>
122
Capı́tulo 5. Recursos para la extracción de opiniones
Dentro de los elementos type1, type2,. . . , type5 aparecen los patrones de
cada tipo, ordenados según lo explicado anteriormente. El carácter “*” es
utilizado en el atributo feature para indicar ausencia de restricción de la
caracterı́stica a la que son aplicables los patrones, y de igual forma en el
atributo destWord para indicar ausencia de restricción de la palabra destino.
En la sección 6.10 analizaremos los valores obtenidos experimentalmente
en el recurso y sus implicaciones prácticas.
5.8.
Listas de expresiones especiales
Una de las subtareas que debe realizar nuestro sistema es la inducción de
la polaridad de las palabras de opinión previamente identificadas. Esto puede
implementarse de múltiples maneras, haciendo uso de distintas soluciones que
nos permitan predecir la orientación semántica de las palabras y expresiones
participantes (por ejemplo, haciendo uso de un lexicón de opiniones). Sin
embargo, existen ciertas expresiones que pueden formar parte de las palabras
de opinión y que exigen un tratamiento distinto al resto a la hora de calcular
la orientación semántica de la opinión en la que participan.
Hemos identificado tres tipos de expresiones con estas caracterı́sticas: las
expresiones de negación, las expresiones de no-negación y las expresiones de
polaridad dominante. En las siguientes subsecciones explicamos las particularidades de cada tipo y mostramos los ejemplos que hemos reunido hasta el
momento.
5.8.1.
Expresiones de negación
Todos los trabajos de clasificación basada en la opinión, ya sea a nivel
de documentos, frases o sintagmas, y los trabajos de extracción de opiniones, tienen en cuenta de alguna forma el tratamiento de las negaciones. Es
evidente que si t es un término con orientación semántica positiva, not t
tendrá orientación semántica negativa.
En nuestro caso, el módulo encargado de calcular la polaridad de las opiniones extraı́das debe tener en cuenta la existencia de este tipo de partı́culas,
para calcular correctamente las orientaciones semánticas de las palabras de
opinión involucradas. Aunque en un primer momento decidimos incluir en
la propia lógica de los módulos encargados de este cálculo el tratamiento
especial de la palabra not, la constatación de que existen bastantes más expresiones con el mismo comportamiento, y la intención de conseguir que el
sistema trabaje en otros idiomas distintos al inglés, nos llevaron a definir
una lista de expresiones de negación, como un recurso más que el sistema
5.8. Listas de expresiones especiales
123
recibirá como entrada. La particularidad de este recurso (y del resto de listas
que presentaremos a continuación) es que no es dependiente del dominio:
podemos reutilizar las listas de expresiones especiales de un dominio a otro,
añadiendo las nuevas expresiones que vayan apareciendo en el proceso de
anotación.
La lista de expresiones de negación de la que disponemos es la siguiente:
barely, hardly, lack, least, never,
no, not, not too, scarcely
No se incluyen contracciones entre verbos auxiliares y la palabra not, dado
que el proceso de tokenización en la etapa de preprocesado separa dichas
contracciones en un par de tokens. Algunos ejemplos en los que participan
estas expresiones son los siguientes:
This car is barely drivable.
Camera is hardly working.
The images lack of clarity.
It is the least funny movie I have ever seen.
I would never recommend it.
The plot is scarcely surprising.
El caso de la expresión not too es particular y será explicado cuando
introduzcamos las expresiones de polaridad dominante.
5.8.2.
Expresiones de no-negación
Las expresiones que hemos llamado de no-negación son aquellas que, incluyendo alguna de las expresiones de negación, no deben ser consideradas
como negaciones a efectos de cambiar la polaridad de las palabras de opinión
a las que acompañan, sino que simplemente deben ser ignoradas en el cálculo
de la orientación semántica. Por ejemplo, en la oración “It is not just lightweight, but also durable.”, aún apareciendo la expresión de negación “not”
delante de “lightweight”, no se invierte la polaridad de esta última. En este
caso, “not just” es una expresión de no-negación. Sólo hemos identificado dos
de estas expresiones, que son las siguientes:
not just, not only
Estas expresiones deberán ser comprobadas por el módulo de cálculo de
la polaridad de las opiniones antes que las expresiones de negación.
124
Capı́tulo 5. Recursos para la extracción de opiniones
5.8.3.
Expresiones de polaridad dominante
Las expresiones de polaridad dominante son aquellas cuya presencia en
un conjunto de palabras de opinión determinan de manera inequı́voca la
polaridad de la misma, sin importar la polaridad del resto de palabras a las
que acompañen. Por ejemplo, puede ser deseable que determinado objeto sea
ligero, pero si lo calificamos como demasiado ligero, la opinión vertida es
claramente negativa, a pesar de la polaridad a priori positiva del término
ligero. Es la palabra demasiado la que nos informa de que la opinión es
negativa, de forma inequı́voca, sin importar la polaridad del término al que
acompaña.
Se dispone por tanto de dos listas de expresiones de este tipo, una con
aquellas que indican una polaridad positiva, y otra con las que indican polaridad negativa. Hemos identificado las siguientes:
Positivas:
enough, sufficient, sufficiently, reasonably
Negativas:
insufficient, insufficiently, excessive, excessively,
overly, too, at best,too much, unnecessarily
En el caso de la palabra too, cuando aparece precedida por not no se
comporta como una expresión de polaridad dominante, sino como una expresión de negación. Es por eso que la expresión not too aparece en la lista
de expresiones de negación. El módulo encargado del cálculo de la polaridad
de las opiniones deberá por tanto comprobar la existencia de expresiones de
negación previamente a las expresiones de polaridad dominante.
Capı́tulo 6
Metodologı́a para la generación
de los recursos
Resumen: En el presente capı́tulo proponemos una metodologı́a para
la generación de los recursos definidos en el capı́tulo 5 para un dominio
especı́fico, incluyendo un flujo de trabajo y presentando una serie de
herramientas y algoritmos encaminados a automatizar el proceso en la
mayor medida posible. Se utilizará un dominio concreto (headphones)
para ejemplificar cada uno de los pasos de la metodologı́a, y para llevar
a cabo algunos experimentos con la intención de ponderar las distintas
opciones planteadas en algunos de los algoritmos.
6.1.
Introducción
Según nuestra propuesta, la construcción de un sistema de extracción de
opiniones para un determinado dominio pasa por la generación de los recursos
anteriormente descritos. En comparación con un sistema independiente del
dominio y completamente no supervisado, nuestro acercamiento exige un
mayor esfuerzo de adaptación a un nuevo dominio. En la presente sección,
mostramos una metodologı́a para la generación de los recursos que pretende
minimizar el esfuerzo necesario, mediante la definición de herramientas de
apoyo y algoritmos de inducción.
En la figura 6.1 se muestra un resumen del proceso de generación de recursos, y se indica qué partes del proceso son llevadas a cabo de manera
manual, automática o semiautomática. Tras reunir un corpus de documentos
del dominio deseado, el primer paso consiste en la construcción de una primera versión de la taxonomı́a de caracterı́sticas, para lo que se parte de una lista
125
126
Capı́tulo 6. Metodologı́a para la generación de los recursos
Figura 6.1: Proceso de generación de los recursos
de feature words generada semi-automáticamente mediante la utilización de
una herramienta de extracción. Esta primera versión de la taxonomı́a es utilizada en la tarea de anotación de opiniones, a partir de la cuál obtendremos
el corpus anotado. La tarea de anotación va acompañada de un proceso de
validación de las anotaciones, que permite asegurarnos de que el recurso obtenido posee la mejor calidad posible. Además de las evidencias de opinión,
en este paso son identificadas nuevas expresiones de negación, no-negación
y polaridad dominante que pasarán a formar parte de las listas respectivas.
El proceso de validación también genera como salida una versión ampliada
de la taxonomı́a de caracterı́sticas, que deberá ser refinada antes de obtener
la versión final de la misma. A partir del corpus anotado, los tres recursos
restantes serán obtenidos mediante una serie de algoritmos de inducción.
A continuación explicamos cada uno de los pasos para la generación de
los recursos, incluyendo las herramientas de apoyo y algoritmos empleados.
Además, mostraremos algunos ejemplos de los recursos obtenidos al aplicar la
metodologı́a a un dominio de ejemplo (headphones). Este caso de aplicación
también será utilizado para experimentar en algunos de los pasos con los
distintos parámetros configurables de algunos de los algoritmos propuestos.
6.2.
Recolección y procesado del corpus
La obtención de los documentos de opinión del dominio es el primer paso
a dar para la generación de los recursos. Si estamos construyendo un siste-
6.2. Recolección y procesado del corpus
127
ma de extracción sobre reviews de productos, podemos emplear una multitud de webs de reviews de productos existentes en Internet, tales como
www.epinions.com o www.cnet.com, entre otras. Si estamos construyendo un
sistema de extracción de opiniones sobre otro tipo de objetos, debemos identificar fuentes de Internet a partir de las cuales obtener textos de opinión
adecuados. Por ejemplo, si el sistema en cuestión trata de extraer opiniones
acerca de determinado organismo, una opción serı́a utilizar los textos escritos
en foros públicos puestos a disposición por el propio organismo o de manera
externa al mismo.
Una vez identificadas las fuentes de los documentos, es preciso extraer los
documentos mediante la utilización de un crawler, seleccionar un subconjunto de los documentos extraı́dos que satisfagan ciertos criterios de calidad y
representatividad, y por último procesar los documentos seleccionados mediante ciertas herramientas de análisis lingüı́stico, para ası́ obtener un corpus
que se adapte a la definición y sintaxis expuestas en la sección 5.2.
6.2.1.
Extracción de los documentos
La extracción de los documentos una vez seleccionada la fuente o fuentes
de los mismos, se puede llevar a cabo mediante algún crawler : herramientas
que permiten configurar ciertas expresiones regulares que, ejecutadas sobre
el código html recuperado a partir de ciertas direcciones URL, consiguen
extraer los campos de texto en los que estamos interesados. En nuestros experimentos, hemos utilizado la herramienta de código abierto Web-Harvest 1 ,
aunque existen muchas otras opciones disponibles. Para construir fácilmente las expresiones regulares que identifican los campos de texto (en el caso
de Web-Harvest se trata de expresiones XPath), utilizamos las herramientas
XPath Checker 2 y Solvent 3 , ambos disponibles en forma de plug-ins para el
navegador Firefox 4 .
Para el dominio headphones, extrajimos todos los reviews de auriculares
disponibles a fecha de septiembre de 2008 en la web www.epinions.com. Obtuvimos un total de 2591 documentos, correspondientes a reviews acerca de
444 modelos distintos de auriculares.
1
http://web-harvest.sourceforge.net/
https://addons.mozilla.org/en-US/firefox/addon/1095/
3
http://simile.mit.edu/wiki/Solvent
4
http://www.mozilla-europe.org/
2
128
Capı́tulo 6. Metodologı́a para la generación de los recursos
Reviews
Oraciones
Palabras
599
8302
142832
Cuadro 6.1: Algunos datos del corpus obtenido para el dominio headphones
6.2.2.
Selección de los documentos
Si bien a la hora de extraer los documentos es pertinente obtener cuantos más documentos mejor, dado que los documentos que finalmente conformen nuestro corpus deberán ser manualmente anotados, debemos seleccionar
un subconjunto de documentos que permitan que dicha tarea sea abordable
según los recursos de los que dispongamos. En principio, cuantos más documentos seamos capaces de anotar, más calidad tendrán los recursos obtenidos
a partir de ellos; algunos experimentos serán llevados a cabo en el capı́tulo
8 para medir las repercusiones del tamaño del corpus en el rendimiento del
sistema.
Tras estimar el número de documentos a cuyo etiquetado podemos abordar con los recursos disponibles, debemos escoger los documentos que conformarán el corpus. En primer lugar, filtraremos aquellos documentos que
no superen ciertos criterios de calidad: documentos demasiado concisos o demasiado largos, escritos usando exclusivamente letras mayúsculas, o en los
que aparezcan caracteres extraños. Después, llevaremos a cabo una selección
aleatoria a partir de los documentos restantes. En el caso de aplicación que
nos ocupa, dado que disponemos de una puntuación global de 1 a 5 asignada
por cada autor al producto, hicimos uso de dicha puntuación para seleccionar
el mismo número de crı́ticas con cada una de las puntuaciones posibles. Dado
que el número de modelos de auriculares disponibles era alto, no fue necesario ningún control para asegurar que los documentos seleccionados abarcaran
una amplia cantidad de objetos concretos diferentes, tal como es deseable desde el punto de vista de la representatividad del corpus (ver sección 5.2.3).
No controlamos la densidad de opiniones de los documentos seleccionados,
por lo que en el corpus existen documentos con casi ninguna opinión real;
hemos preferido no filtrar este tipo de documentos, para que nuestro corpus
refleje más fielmente el tipo de situaciones que se le presentarán al sistema
de extracción de opiniones.
Una vez filtrados y seleccionados los documentos, obtuvimos un corpus
de 599 reviews. Mostramos algunos datos del mismo en la tabla 6.1.
6.2. Extracción semiautomática de feature words
6.2.3.
129
Procesado de los documentos
Una vez se han seleccionado los documentos del corpus, estos son analizados por una serie de procesadores lingüı́sticos para llevar a cabo tokenización
y lematización, detección de oraciones, etiquetado morfosintáctico, análisis
sintáctico superficial (chunking) y análisis de dependencias. En nuestros experimentos, hemos utilizado la herramienta Freeling (Atserias et al, 2006)
para el tokenizado, la lematización y la detección de oraciones. El etiquetado
morfosintáctico fue llevado a cabo utilizando TnT (Brants, 2000), a partir
de un modelo construido utilizando el corpus Susanne (Sampson, 1992). El
chunking se llevó a cabo mediante la herramienta Yamcha (Kudo & Matsumoto, 2003), utilizando modelos pre-entrenados por Mihai Surdeanu que
forman parte de la suite BIOS 5 . Para el análisis de dependencias empleamos
Minipar (Lin, 1998) y MaltParser (Hall, 2006). Por supuesto, estas herramientas pueden intercambiarse por otras que cumplan la misma función.
6.3.
Extracción semiautomática
de feature words
Como paso previo a la construcción de la taxonomı́a, se genera una lista de
feature words del dominio. Esto se lleva a cabo mediante la ejecución de una
herramienta interactiva que, a partir del corpus completo, muestra candidatos
a feature words, que deben ser confirmados o rechazados manualmente. La
herramienta utiliza la información aportada por los candidatos aceptados
y rechazados para refinar a lo largo de la ejecución la lista de candidatos
que irá mostrando, lo que conforma un proceso iterativo que termina en el
momento en que el usuario de la herramienta lo decida (presumiblemente,
cuando se rechacen un número elevado de candidatos consecutivos).
Dos son los principios en los que se basa el algoritmo de extracción de la
lista de candidatos a feature words:
1. Las expresiones con las que la gente suele referirse a las caracterı́sticas
opinables de un objeto abstracto tienden a converger, por lo que es
esperable que las mismas feature words se repitan a lo largo de los
documentos del corpus (Hu & Liu, 2004b).
2. Dado que trabajamos con textos de opinión, las feature words aparecen
frecuentemente en opiniones, y por tanto cerca de palabras de opinión.
5
http://www.surdeanu.name/mihai/bios/index.php
130
Capı́tulo 6. Metodologı́a para la generación de los recursos
Figura 6.2: Extracción interactiva de feature words
6.3.1.
Descripción del algoritmo
Siguiendo estos dos principios, proponemos un algoritmo de bootstrapping
para extraer candidatos a feature words. La idea es utilizar ciertas palabras
de opinión como semillas6 , para localizar posibles feature words a partir de
algunos patrones morfosintácticos sencillos en los que participan dichas semillas. Por ejemplo, si observamos frecuentemente en el texto la aparición
de “excellent sound quality”, podemos considerar que “sound quality” es un
buen candidato a ser propuesto como feature words. A su vez, a medida
que descubrimos nuevos feature words, podemos utilizar los mismos patrones
morfosintácticos anteriores para localizar nuevas palabras de opinión, que a
su vez pueden ser utilizadas para descubrir nuevas feature words.
Los candidatos a feature words que mediante este procedimiento se van
generando, deberán ser aceptados o rechazados por la persona encargada de
la construcción de la taxonomı́a. De esta forma, el proceso se lleva a cabo
como se ilustra en la figura 6.2. En un primer momento, la extracción de
candidatos a feature words se lleva a cabo utilizando las semillas de opinión iniciales. La lista obtenida es ordenada por número de apariciones, de
manera que se comienza mostrando al usuario aquellos candidatos más frecuentes. El usuario deberá confirmar o rechazar cada uno de los candidatos.
En determinado momento, se lleva a cabo una iteración para refinar la lista de candidatos, utilizando los nuevos candidatos aceptados para encontrar
nuevas semillas de opinión, y empleando a su vez estas nuevas semillas para
refinar la lista de candidatos. El algoritmo que busca los nuevos candidatos
lo hace apoyándose en la lista de candidatos y los conteos de la frecuencia de
aparición de los mismos previamente calculados, actualizando las frecuencias
y añadiendo nuevos candidatos a partir de las nuevas semillas.
6
Utilizamos cuatro semillas con muy claras implicaciones evaluativas: excellent,good,
poor y bad
6.3. Extracción semiautomática de feature words
131
Utilizamos dos construcciones simples para encontrar las feature words a
partir de las semillas de opinión (y nuevas semillas de opinión a partir de las
feature words que ya han sido aceptadas). Por un lado, la palabra de opinión
puede aparecer como modificador de las feature words, precediéndolas, como
en el ejemplo anterior (“excellent sound quality”). Por otro lado, también
contemplamos oraciones copulativas en las que la caracterı́stica hace la función de sujeto, siendo la palabra de opinión el atributo (por ejemplo, “The
sound quality is excellent”). Podemos añadir además distintas restricciones
morfosintácticas a ambos participantes:
Basándonos en la información proporcionada por el etiquetador de partof-speech, podemos exigir que las feature words sean nombres, y las
palabras de opinión, adjetivos.
Basándonos en la información proporcionada por el analizador sintáctico superficial, podemos exigir que las feature words estén contenidas en
un sintagma nominal. Ası́ mismo, las palabras de opinión podrı́an formar parte de un sintagma nominal (si aparecen como modificador de las
feature words) o de un sintagma adjetival (si aparecen como atributo
en una oración copulativa).
El momento en el que la aplicación decide extraer nuevas semillas de
opinión y refinar la lista de candidatos a mostrar al usuario puede ser:
Cada vez que se acepte un nuevo candidato. En este momento, hay
nueva información, con lo cual tiene sentido refinar los siguientes candidatos que se van a mostrar al usuario. En el lado negativo, a priori
esto harı́a que el proceso fuese más lento.
Cada vez que se acepten n candidatos. De esta manera, el proceso es
algo más ágil. Parece además lógico pensar que hasta que no hay un
número suficiente de candidatos validados, el proceso de refinamiento
no cambiará significativamente la lista de próximos candidatos a validar.
Cada vez que se rechace un candidato. De esta manera, mientras el
usuario esté aceptando candidatos, está obteniendo una buena impresión del sistema, y por tanto no es necesario refinar los candidatos que
se mostrarán.
Igual que el anterior, pero esperando a que se rechacen n candidatos.
132
Capı́tulo 6. Metodologı́a para la generación de los recursos
También podemos variar el número de nuevas semillas de opinión que se
añaden en cada iteración del proceso, desde añadir una única semilla nueva en
cada paso (suficiente para encontrar nuevos candidatos a feature words, y permitiendo una ejecución rápida) hasta añadir todas las semillas encontradas
(encontrando más cantidad de candidatos, pero ocasionando una ejecución
más lenta).
6.3.2.
Simulación de la extracción de feature words
Para estudiar la influencia del uso de las restricciones morfosintácticas,
el criterio de refinamiento de la lista de candidatos y el número de semillas
nuevas en cada iteración, hemos implementado una simulación del proceso,
en la que en lugar de la participación del experto, utilizamos una taxonomı́a
previamente construida para decidir qué candidatos son aceptados y qué candidatos rechazados. Aplicaremos esta simulación al dominio headphones y
analizaremos la influencia de los distintos parámetros; para ello utilizaremos
algunas métricas que nos informarán de la efectividad de la herramienta.
Para construir la taxonomı́a de caracterı́sticas que nos sirva de guı́a en
la simulación, partimos de una lista ordenada por frecuencia de aparición de
los nombres y parejas de nombres que aparecen en el corpus de reviews de
headphones. A partir de esta lista, se construyó manualmente la taxonomı́a.
El esfuerzo necesario para ello es grande, pues la lista de candidatos a feature words es enorme (7315 para el corpus de headphones); es precisamente
esto lo que pretendemos solucionar mediante la utilización de la herramienta
descrita.
Para cada uno de los experimentos, fijamos los parámetros y llevamos a
cabo la simulación, en la que para cada candidato sugerido por la herramienta
decidimos si debe ser aceptado o rechazado en función de si dicho candidato
pertenece o no a la taxonomı́a-objetivo. De esta manera, podemos medir
la influencia de los parámetros de la herramienta en el proceso. Para cada
experimento, hemos observado las siguientes métricas:
Suggestion precision: porcentaje de aceptación de los candidatos sugeridos por la herramienta en cada momento de la simulación. Es deseable
que se mantenga lo más alto posible a lo largo de la ejecución, de manera que el proceso converja lo más rápidamente posible hacia la lista
final de feature words.
Feature words recall: porcentaje del total de palabras de caracterı́stica
incluidas en la taxonomı́a-objetivo que ya han sido aceptadas en cada
momento de la simulación. Cuanto más rápidamente crezca este valor,
mejor funciona el proceso.
6.3. Extracción semiautomática de feature words
133
Simulation time: segundos transcurridos desde el comienzo del proceso
en cada momento de la ejecución. El proceso de refinamiento de los
candidatos puede volverse demasiado lento para determinados valores
de los parámetros. Este valor deberá ser tenido por tanto en cuenta
para evitar que el proceso se vuelva demasiado tedioso para el experto.
6.3.3.
Influencia de las restricciones morfosintácticas
Las primeras simulaciones ejecutadas estuvieron encaminadas a medir la
influencia en el proceso de las restricciones morfosintácticas impuestas a los
candidatos a palabras de caracterı́stica o de opinión. Hemos llevado a cabo
tres experimentos:
No aplicar restricciones morfosintácticas. En este caso, cualquier palabra o par de palabras podrá ser un candidato a feature word, y cualquier
palabra suelta podrá ser identificada como palabra de opinión.
Aplicar restricciones basadas en etiquetas part-of-speech. Las palabras
de caracterı́stica deben ser uno o dos nombres consecutivos, y las palabras de opinión serán adjetivos sueltos.
Aplicar restricciones basadas en chunks. En este caso, empleamos la
información proporcionada por el analizador sintáctico superficial, para
exigir a las palabras de caracterı́stica que formen un sintagma nominal,
y a las palabras de opinión que formen un sintagma adjetival, o bien
formen parte de un sintagma nominal.
Aplicar ambas restricciones anteriores. Las palabras de caracterı́stica
deberán ser nombres que conformen un sintagma nominal, y las palabras de opinión, adjetivos que formen un sintagma adjetival o que
formen parte de un sintagma nominal.
El resto de parámetros quedó fijado con los valores más conservadores: un
candidato aceptado para refinar, y una nueva semilla de opinión por iteración
(a priori, la opción que debe conseguir una mayor precisión en las sugerencias). En la figura 6.3 se muestra la evolución a lo largo de la ejecución de
las métricas anteriormente descritas. Las gráficas muestran los valores de las
métricas para las primeras 1000 sugerencias realizadas por la herramienta,
salvo la gráfica correspondiente a la precisión de la sugerencias, en la que hemos optado por mostrar un intervalo menor de la ejecución, puesto que es al
principio de la ejecución donde se producen variaciones más interesantes. En
resumen, se observa que la aplicación de restricciones mejora la cobertura de
134
Capı́tulo 6. Metodologı́a para la generación de los recursos
Figura 6.3: Simulación del proceso interactivo de extracción de feature words:
influencia de las restricciones morfosintácticas.
feature words y consigue una mayor precisión en las sugerencias. En cuanto a
los distintos tipos de restricciones empleadas, las diferencias observadas son
pequeñas. Descartamos el empleo de restricciones basadas en POS y chunks
a la vez, porque el tiempo de ejecución se ve sensiblemente incrementado
en este caso. Como elección final, escogerı́amos las restricciones basadas en
part-of-speech, que consigue pequeñas mejoras en la cobertura y un tiempo
de ejecución algo menor; aunque el empleo de restricciones basadas en chunks
también serı́a aceptable.
Nuestra intuición previa era que la información relativa a los chunks representarı́a un valor añadido con respecto al empleo únicamente de etiquetas POS. Sin embargo, téngase en cuenta que la precisión obtenida por los
analizadores morfosintácticos es muy superior a la obtenida por los analizadores sintácticos superficiales; la mejor caracterización que a priori deberı́a
representar la información aportada por los sintagmas queda desvirtuada
por la menor precisión de dichos analizadores. Hemos observado este mismo
fenómeno en otros momentos de nuestra investigación: el empleo de analiza-
6.3. Extracción semiautomática de feature words
135
Figura 6.4: Simulación del proceso interactivo de extracción de feature words:
influencia del número de candidatos aceptados antes de iterar.
dores lingüı́sticos de mayor nivel de abstracción lleva parejo un mayor número
de errores, lo que puede ocasionar que soluciones a priori más sofisticadas obtengan peores resultados que las que se basan simplemente en información
léxica o morfosintáctica.
6.3.4.
Influencia del número de candidatos aceptados
o rechazados
Pretendemos ahora decidir si es más adecuado refinar la lista de candidatos tras un número determinado de candidatos aceptados o rechazados. En
las figuras 6.4 y 6.5 se muestra el comportamiento de las métricas cuando
se refina la lista de candidatos tras aceptar o rechazar 1, 5 o 10 candidatos.
Se utilizan únicamente restricciones basadas en POS y se añade una única
semilla de opinión en cada iteración.
En resumen, a mayor número de candidatos aceptados o rechazados para
refinar, menor cobertura de feature words y menor tiempo de ejecución. En
136
Capı́tulo 6. Metodologı́a para la generación de los recursos
Figura 6.5: Simulación del proceso interactivo de extracción de feature words:
influencia del número de candidatos rechazados antes de iterar.
el caso de utilizar el criterio de aceptación, las diferencias en el tiempo y
especialmente en la cobertura son mayores que en el caso de utilizar el criterio
de rechazo. Esto puede ser debido a que al utilizar el criterio de rechazo no
se refina la lista de candidatos mientras no se haya aceptado algún candidato
desde la última iteración (ya que mientras no haya candidatos aceptados
nuevos, no se pueden obtener nuevas semillas de opinión); de forma que a
medida que avanza la ejecución y decrece la precisión de las sugerencias, la
aparición de candidatos aceptados se distancia y el sistema se comporta de
forma similar a si utilizara el criterio de aceptación para refinar. Por otro
lado, tanto para el criterio de aceptación como para el de rechazo, los valores
mayores del parámetro conducen a una mejor precisión de las sugerencias en
el periodo inicial de la simulación.
En el caso del criterio de aceptación, un valor adecuado para el parámetro serı́a 5, pues a pesar de conllevar un crecimiento más lento de cobertura
de feature words a lo largo de la ejecución, con respecto al refinamiento por
aceptación de un solo candidato, la cobertura final tiende al mismo valor, y
6.3. Extracción semiautomática de feature words
137
se reduce significativamente el tiempo de ejecución. En cuanto al criterio de
rechazo, las menores diferencias para la cobertura de feature words y la precisión de la sugerencias entre los distintos valores nos hacen decantarnos por
el valor más alto de los experimentados (10), lo que permite reducir el tiempo
de ejecución y obtener una precisión de las sugerencias mayor en el periodo inicial de la ejecución de la herramienta. De todas formas, dependiendo
del tamaño del corpus que estemos utilizando y de las especificaciones de la
máquina donde ejecutemos la herramienta, podemos escoger valor mayores o
menores de los parámetros para conseguir tiempos de ejecución razonables.
En la figura 6.6 se comparan las simulaciones correspondientes a refinar
tras 5 candidatos aceptados y refinar tras 10 candidatos rechazados. Hemos
incluido además una simulación en la que sólo se refina cuando no quedan
candidatos que validar en la lista actual, que en cierto modo sirve como cota
de los valores anteriores (puesto que es la situación a la que tienden los experimentos anteriores a medida que incrementamos los valores de los parámetros). En nuestro caso, preferimos decantarnos por el criterio de rechazo, ya
que las métricas de cobertura y precisión tienen un mejor comportamiento
en este caso, a cambio de una pequeña penalización en tiempo.
6.3.5.
Influencia del número de nuevas semillas de
opinión por iteración
El número de nuevas semillas de opinión añadidas en cada iteración es un
parámetro que también puede influir en el comportamiento de la herramienta. Hemos experimentado con distintos valores del parámetro, y a modo de
resumen mostramos el comportamiento de las métricas para tres valores (1,
3 y 6). En todos los casos, hemos utilizado únicamente restricciones basadas
en POS y hemos refinado la lista de candidatos tras ser rechazados 10 candidatos. Añadir una única semilla de opinión por iteración permite un mejor
tiempo de ejecución y una mayor precisión de las sugerencias en el periodo
inicial. Aunque valores mayores del parámetro consiguen un crecimiento mayor de la cobertura, los valores que finalmente se alcanzan para la misma son
iguales, y los tiempos de ejecución crecen sensiblemente. Proponemos por
tanto usar valores bajos para este parámetro: una única semilla nueva por
iteración si el corpus es voluminoso o disponemos de una máquina lenta, o 3
semillas nuevas por iteración si la velocidad de ejecución no es un problema.
138
Capı́tulo 6. Metodologı́a para la generación de los recursos
Figura 6.6: Simulación del proceso interactivo de extracción de feature words:
comparativa entre iterar al aceptar, al rechazar o al vaciar lista de candidatos.
6.3.6.
Resultados de la extracción de feature words
para el dominio headphones
En la tabla 6.2 se muestran algunos datos de la ejecución de la herramienta para el dominio headphones: número de sugerencias realizadas, número
de candidatos aceptados y rechazados, porcentaje de feature words de la
taxonomı́a que han sido descubiertos y porcentaje de caracterı́sticas de la
taxonomı́a que quedan representadas por al menos uno de los candidatos
aceptados. Esta medida es si cabe más importante que la propia cobertura de palabras de caracterı́stica, puesto que la existencia de al menos un
representante de cada caracterı́stica es suficiente para construir una buena
taxonomı́a; las feature words que falten se irán añadiendo posteriormente en
el proceso de validación, a medida que vayan siendo anotadas. Aunque la
herramienta permite al usuario decidir cuándo se termina la ejecución, en
nuestros experimentos hemos detenido la misma en el momento en que la
precisión de las sugerencias bajó hasta el 20 %.
El proceso demuestra ser efectivo, consiguiéndose descubrir al menos
6.3. Extracción semiautomática de feature words
139
Figura 6.7: Simulación del proceso interactivo de extracción de feature words:
influencia del número de nuevas semillas de opinión en cada iteración.
una feature word para más del 91 % de las caracterı́sticas de la taxonomı́aobjetivo; y esto se consigue revisando tan sólo 485 candidatos (una cantidad
considerablemente menor que los 7315 de los que partimos para elaborar la
taxonomı́a-objetivo). Queda por medir la cobertura con respecto a la versión
final de la taxonomı́a, tras el proceso de refinado que se llevará a cabo tras
la anotación de evidencias de opinión en el corpus (ver sección 6.6);como se
verá, al deshacernos de las caracterı́sticas con muy poca representación en
las anotaciones, la cobertura sobre features de la simulación anterior mejorará al ser medida frente a dicha versión refinada de la taxonomı́a (de hecho,
en el caso de aplicación que nos ocupa, la cobertura fue del 100 % de las
caracterı́sticas de la taxonomı́a refinada final).
En la tabla 6.3 mostramos además la lista de feature words obtenida.
140
Capı́tulo 6. Metodologı́a para la generación de los recursos
N
N
N
%
%
de sugerencias
de candidatos aceptados
de candidatos rechazados
de cobertura de feature words
de cobertura de features
485
97
388
59,87 %
91,42 %
Cuadro 6.2: Resumen de la ejecución de la herramienta de extracción de
palabras de caracterı́stica para el dominio headphones
audio, audio quality, bag, bass, bass reproduction, bass response, battery, battery life, bud, buds, build, cable, cans, case, clarity, color, colors,
comfort, connection, construction, cord, cost, cups, cushions, design, device, durability, ear bud, ear buds, ear cup, ear cups, ear pads, ear pieces,
earbud, earbuds, earpads, earphone, earphones, earpieces, feel, fit, foam,
frequency range, frequency response, head phones, headband, headphone, headphones, headset, headsets, high-end, highs, isolation, length,
look, looks, lows, mids, music, music quality, noise cancellation, noise isolation, noise reduction, output, package, packaging, pads, performance,
phone, phones, plug, portability, pouch, price, product, range, reduction,
reproduction, response, sensitivity, shape, size, sound, sound isolation,
sound quality, sound reproduction, sounds, speakers, style, transmitter,
treble, value, volume, volume control, warranty, weight, wire
Cuadro 6.3: Lista de feature words obtenidas para el dominio headphones
6.3. Construcción de la taxonomı́a de caracterı́sticas previa
6.4.
141
Construcción de la taxonomı́a de
caracterı́sticas previa
A partir de la lista de feature words obtenida, se construye la taxonomı́a
de caracterı́sticas manualmente, agrupando aquellas feature words que hagan referencia a una misma caracterı́stica. Una vez obtenido el conjunto de
features, estos deben ser organizados en alguna jerarquı́a, de la que el propio
objeto abstracto será el nodo raı́z.
Por supuesto, no existe una única taxonomı́a correcta. Recordemos que
el principal papel de la misma es indicar en qué caracterı́sticas del objeto
estamos interesados, puesto que será sobre dichas caracterı́sticas sobre las que
trabajará el sistema extractor. Por tanto, a pesar de que una determinada
caracterı́stica se vea reflejada en la lista de feature words obtenida en el
paso anterior, podrı́amos decidir no incluirla en la taxonomı́a si no estamos
interesados en extraer opiniones acerca de la misma.
No nos ha parecido apropiado investigar métodos automáticos para la
generación de la jerarquı́a de la taxonomı́a, puesto que el esfuerzo manual que
se requiere para su elaboración es pequeño, y una taxonomı́a bien construida
es clave para el buen funcionamiento del sistema.
6.4.1.
Taxonomı́a de caracterı́sticas previa para
headphones
Tras agrupar los elementos de la lista de feature words generada mediante
la herramienta, obtuvimos el resultado mostrado en la tabla 6.4. Para cada
uno de los grupos, escogemos un nombre descriptivo de la caracterı́stica.
Generalmente, este nombre será uno de los términos del grupo, aunque en
ocasiones puede resultar más natural encontrar un nombre más descriptivo.
Esto pasa por ejemplo en la caracterı́sticas appearance. Se agrupan en ella
feature words que en principio podrı́an haber constituido varias caracterı́sticas: no es exactamente lo mismo el “color” que la “forma” o el “estilo”. Pero
en esta ocasión hemos considerado que no es necesario que el sistema contemple ese nivel de detalle; hemos preferido agrupar todas estas caracterı́sticas
en una sola. De ahı́ que sea más adecuado utilizar un nombre que englobe a
todas las feature words.
La creación de los grupos que dan lugar a las caracterı́sticas es un proceso
para el que no existe una única solución correcta. Más bien, son los encargados
del sistema los que deben decidir qué nivel de detalle consideran necesario,
siempre pensando en la salida deseada del sistema de extracción. Esto mismo
ocurre en la creación de la jerarquı́a de la taxonomı́a.
142
Capı́tulo 6. Metodologı́a para la generación de los recursos
Feature
Feature words
appearance
bass
battery
battery life
case
comfort
cord
design
durability
earbuds
color, colors, look, looks, shape, style
bass, bass reproduction, bass response, lows
battery
battery life
bag, case, pouch
comfort, feel, fit
cable,cord, length, wire
design
build, construction, durability
bud, buds, ear bud, ear buds, ear pieces, earbud, earbuds, earpieces
cans, cups, ear cup, ear cups
cushions, ear pads, foam, pads
frequency range, frequency response, response
headband
device, earphone, earphones, head phones, headphone,
headphones, headset, headsets, phone, phones, product, speakers
clarity, high-end, highs, treble
isolation, noise cancellation, noise isolation, noise reduction, reduction, sound isolation
connection, plug
mids
package, packaging
performance
portability
cost, price, value
range
sensitivity
size
audio, audio quality, music, music quality, reproduction, sound, sound quality, sound reproduction, sounds
transmitter
output, volume
volume control
warranty
weight
earcups
earpads
frequency response
headband
headphones
highs
isolation
jack
mids
packaging
performance
portability
price
range
sensitivity
size
sound quality
transmitter
volume
volume control
warranty
weight
Cuadro 6.4: Caracterı́sticas obtenidas por agrupación de las feature words
para headphones
6.4. Construcción de la taxonomı́a de caracterı́sticas previa
143
Figura 6.8: Taxonomı́a de caracterı́sticas previa para headphones
Las caracterı́sticas obtenidas fueron ordenadas jerárquicamente para obtener la taxonomı́a previa que se muestra en la figura 6.8. El propio objeto
es la caracterı́stica que debe aparecer como raı́z de la taxonomı́a. Aparece
una nueva caracterı́stica component, cuya utilidad es agrupar bajo una misma categorı́a a todas las caracterı́sticas que hacen referencia a partes fı́sicas
del objeto. Este tipo de caracterı́sticas aglutinadoras no tienen feature words
asociadas, siendo su finalidad únicamente proporcionar una jerarquı́a más
legible y ordenada, y permitir la agregación de las opiniones extraı́das sobre
determinadas caracterı́sticas relacionadas. Debemos tratar que las relaciones padre-hijo sean coherentes con la semántica de las caracterı́sticas, puesto
que en cierto punto del proceso de inducción de recursos (concretamente,
en la inducción del lexicón de opiniones), las opiniones anotadas acerca de
una caracterı́stica hija influirán en las estimaciones realizadas para las caracterı́sticas padre (ver sección 6.7).
144
6.5.
Capı́tulo 6. Metodologı́a para la generación de los recursos
Anotación y validación de evidencias de
opinión
Una vez reunido el conjunto de documentos y construida la taxonomı́a de
caracterı́sticas, es necesario anotar todas aquellas evidencias de opinión que
se encuentren en los documentos. Es importante que la persona o personas
que lleven a cabo las anotaciones tengan completamente claro el tipo de
opiniones que pretendemos extraer, ya que son exclusivamente este tipo de
opiniones las que deben ser anotadas. Es por ello que hemos confeccionado
una guı́a para anotadores, en la que se describen las caracterı́sticas de las
opiniones que se desean anotar. También constan en la guı́a el formato en
que se introducirán las anotaciones y algunos ejemplos que ilustran cómo se
debe proceder ante algunos casos que pueden ocasionar dudas al anotador.
El proceso de anotación de las opiniones es un paso crı́tico en la generación
de los recursos. Cualquier fallo cometido en el mismo puede verse reflejado
en éstos, y consecuentemente afectar al sistema de extracción. Tras algunas
experiencias previas de anotación, hemos identificado los fallos que se producen más frecuentemente e implementado una herramienta de validación
que utiliza ciertos indicadores para detectar esos posibles fallos e informar al
anotador.
El proceso de anotación y validación se lleva a cabo por paquetes de
documentos: cuando se completan las anotaciones para un paquete de n
documentos, se ejecuta la herramienta de validación sobre dicho paquete. La
herramienta informa de posibles errores al anotador; éste debe corregir lo que
estime oportuno y volver a ejecutar la validación. El anotador puede informar
a la herramienta de la existencia de documentos inapropiados (por ejemplo,
documentos que no contienen opinión alguna, o en gran medida ininteligibles
debido a la existencia de caracteres incorrectos), que serán descartados del
resto del proceso. Una vez que el anotador está satisfecho con el resultado de
la validación, debe informar a la herramienta, y el paquete queda registrado
como validado. El anotador puede continuar anotando el siguiente paquete
de documentos.
La herramienta lleva a cabo validaciones relacionadas con la sintaxis, y
otras relacionadas con posibles incoherencias entre el contenido de cada uno
de los atributos de las anotaciones a validar y otras anotaciones previamente
validadas.
6.5. Anotación y validación
6.5.1.
145
Validación de sintaxis
Consiste en comprobar que las anotaciones siguen la sintaxis propuesta,
incluyendo al menos los atributos obligatorios (polarity, feature y opWords).
Se comprueba que el atributo polarity contenga un carácter “+” o “-”, y que
las listas de números correspondan con tokens de la oración correspondiente.
6.5.2.
Validación de las caracterı́sticas
La aplicación comprueba que las caracterı́sticas utilizadas en las anotaciones se corresponden con algún elemento de la taxonomı́a. Si no fuese ası́,
informa de ello al anotador. Éste debe decidir si se trata de un error de escritura, en cuyo caso debe corregir la anotación en cuestión. Si no se trata de
un error de escritura, y considera que la caracterı́stica especificada deberı́a
formar parte de la taxonomı́a, puede indicárselo a la herramienta, que se
encarga de añadirla a la misma (el anotador debe seleccionar un elemento
ya existente de la taxonomı́a del que dependerá el nuevo elemento). Esta
decisión debe ser sopesada, puesto que la taxonomı́a de caracterı́sticas no
tiene por qué contener todas las caracterı́sticas opinables del dominio, sino
sólo aquellas en las que estemos interesados para la aplicación que estemos
desarrollando.
Algo similar se lleva a cabo con las palabras de caracterı́stica: aquellas que
hayan sido anotadas y no aparezcan en la taxonomı́a, pueden corresponderse
con un error en la anotación, o bien deben ser añadidas a la taxonomı́a en
la caracterı́stica indicada por la anotación. En este caso, la decisión puede
tomarla directamente el anotador, puesto que es deseable que la taxonomı́a
capture todas las palabras de caracterı́stica posibles para cada uno de los
features.
Dado que por definición las palabras de caracterı́stica constituyen distintas denominaciones para una caracterı́stica determinada, se exige que aquellos tokens etiquetados como palabras de caracterı́stica contengan al menos
una palabra cuya categorı́a morfosintáctica sea un nombre. Si se encuentran
anotaciones que no cumplen esta condición, se informa de ello al anotador.
Se permite que el anotador ignore esta advertencia, pues la no existencia
de un nombre puede estar debida a un fallo del etiquetador morfosintáctico
utilizado.
6.5.3.
Validación de la polaridad
Uno de los errores que hemos observado más se repiten, y que tienen
consecuencias graves en recursos como el lexicón de opiniones, es la elección
146
Capı́tulo 6. Metodologı́a para la generación de los recursos
errónea de la polaridad de las opiniones anotadas. Al tratarse de un campo con dos posibles valores, un fallo de concentración del anotador ocasiona
fácilmente errores en este sentido. Pero algunos de estos errores son fáciles de detectar de manera automática, basándonos en paquetes previamente
validados.
La herramienta de validación almacena los términos que han sido utilizados en todos los paquetes validados hasta el momento, y la polaridad de
dichas palabras inducida a partir de algunas reglas simples (la generación de
los términos a partir de las palabras de opinión y la inducción de la polaridad
se explicarán en detalle en la sección 6.7). El algoritmo de inducción de la
polaridad utiliza las listas de expresiones especiales para saber interpretar
correctamente la polaridad de las palabras de opinión participantes en una
evidencia de opinión (ver sección 5.8 para una descripción de las mismas).
Cuando la herramienta de validación encuentra un término anotado con
una polaridad contraria a la observada anteriormente, informa al anotador
de la situación por si constituye un error de etiquetado. Por supuesto, no en
todos los casos esta situación se corresponde con una anotación errónea; algunas palabras de opinión conllevan implicaciones negativas al ser utilizadas
en un contexto determinado, e implicaciones positivas en otras situaciones.
Más concretamente, algunas palabras de opinión muestran este comportamiento distinto al ser utilizadas en opiniones sobre caracterı́sticas distintas.
Por ejemplo, la palabra “cheap” utilizada en una opinión sobre la apariencia
de un producto, suele tener connotaciones negativas. Sin embargo, la misma palabra utilizada para calificar el precio de ese producto, constituye una
opinión positiva. De todas formas, son pocas las palabras que presentan esta
ambigüedad, por lo que el método de validación anterior es útil para detectar
errores en la elección de la polaridad de las opiniones anotadas.
El anotador deberá decidir en cada caso sospechoso detectado si se trata
de un error en las anotaciones, o si la palabra o palabras de opinión utilizadas
presentan ambigüedad. Ante esta última situación, la herramienta almacena
el término en una lista de términos ambiguos, que no serán tenidos en cuenta
en sucesivas validaciones de la polaridad. Además de las dos situaciones anteriores, también es posible que el algoritmo de inducción de la polaridad de
las palabras de opinión no haya obtenido correctamente la polaridad. Esto
puede ser debido a la participación de nuevas expresiones especiales aún no
catalogadas. En este caso, el anotador debe informar de ello a la herramienta,
y ésta le solicitará que introduzca una nueva expresión especial, ya sea de
negación, no-negación o polaridad dominante.
6.5. Anotación y validación
6.5.4.
147
Validación de la cobertura
Para intentar minimizar el número de evidencias de opinión omitidas por
el anotador, la herramienta de validación informa a éste de la existencia de
palabras potencialmente significativas en los documentos a validar, que no
hayan sido utilizadas en ninguna anotación. En concreto, se contempla la
aparición de:
Feature words: las apariciones de feature words de la taxonomı́a, que no
hayan sido utilizadas en ninguna anotación, pueden estar relacionadas
con evidencias de opinión pasadas por alto por el anotador.
Implicit feature cues: se buscan apariciones de palabras utilizadas como
opinion words en anotaciones ya validadas de opiniones cuyos features
sean implı́citos, y que no participen en ninguna anotación en el documento actual. Por ejemplo, la aparición de “comfortable” en un review
sugiere una posible opinión sobre el feature implı́cito “comfort”, lo que
se deduce de la aparición de “comfortable” como opinion word en varias anotaciones previamente validadas en las que no aparecen feature
words.
En ambos casos, la mayorı́a de las veces la observación de dichas palabras
no se corresponde realmente con una evidencia de opinión. Sin embargo, el
esfuerzo empleado por el anotador para comprobar cada una de las sugerencias es pequeño, y a cambio nos aseguramos de que se omitirán el mı́nimo
número posible de evidencias de opinión.
En resumen, el proceso de validación de anotaciones permite obtener documentos anotados con más precisión y omitiendo menos evidencias de opinión. Además, obtiene como salida no sólo los documentos con anotaciones
validadas, sino también versiones refinadas de la taxonomı́a de caracterı́sticas
y las listas de expresiones de negación, no-negación y polaridad dominante,
recursos que serán utilizados por el sistema de extracción. En la figura 6.9 se
muestra un diagrama de flujo que resume el proceso de validación.
6.5.5.
Corpus anotado para headphones
La anotación del corpus del dominio headphones fue llevada a cabo aplicando la metodologı́a descrita, incluyendo el proceso de validación, tras lo
cual quedaron 587 documentos. En la tabla 6.5 se muestran algunos datos
148
Capı́tulo 6. Metodologı́a para la generación de los recursos
Figura 6.9: Proceso de validación de anotaciones
sobre el corpus anotado obtenido. Estos datos nos permiten conocer la naturaleza del problema; por ejemplo, el número de oraciones que contienen
evidencias de opinión representa menos de un tercio del total. Será por tanto
importante para el sistema discernir adecuadamente qué oraciones contienen
opiniones, y cuáles no. El número de opiniones positivas y negativas anotadas está fuertemente descompensado, a pesar de que el corpus está formado
uniformemente por reviews con todas las puntuaciones totales. El número de
opiniones sobre caracterı́sticas implı́citas es más elevado de lo que podrı́amos
esperar a priori, representando más de un tercio del total.
6.6.
Refinamiento de la taxonomı́a de
caracterı́sticas
La herramienta de validación permite al anotador añadir nuevas caracterı́sticas y feature words al texto. De esta manera, se genera una versión
6.6. Refinamiento de la taxonomı́a
Reviews
Palabras
Oraciones
Oraciones que contienen opiniones
Número de caracterı́sticas en la taxonomı́a
Evidencias de opinión
Evidencias de opinión con. . . . . .
. . . polaridad positiva/negativa
. . . caracterı́stica implı́cita/explı́cita
. . . con una/dos/tres o más palabras de opinión
. . . con caracterı́stica referenciada por pronombre
. . . con expresiones de negación
. . . con expresiones de polaridad dominante
149
587
139331
8151
2545
36
3897
72,16 %/27,84 %
36,56 %/63,44 %
80,59 %/15,99 %/3,42 %
2,60 %
4,64 %
2,50 %
Cuadro 6.5: Estadı́sticas del corpus anotado del dominio headphones
expandida de la taxonomı́a que incluye los nuevos elementos identificados.
Además de los cambios introducidos por el proceso de validación, una vez las
anotaciones han terminado, el análisis de las mismas nos sirve también para
refinar la taxonomı́a. Es posible que algunas de las caracterı́sticas incluidas
en la taxonomı́a tengan un reflejo muy pequeño o nulo en las anotaciones.
Estas caracterı́sticas, que tienen muy baja representación en los documentos, pueden ser eliminadas de la taxonomı́a, puesto que previsiblemente el
sistema final no tendrá que extraer ninguna (o casi ninguna) opinión acerca
de las mismas; de camino mejoraremos la precisión del sistema, al descartar
feature words cuya aparición podrı́a ser incorrectamente interpretada como
una opinión.
A lo largo de la metodologı́a de generación de los recursos, encontramos
por tanto 3 versiones distintas de la taxonomı́a:
Taxonomı́a previa: la generada a partir de la herramienta de extracción
de feature words y la posterior agrupación y jerarquización manuales.
Taxonomı́a tras anotaciones: la generada como extensión de la anterior,
al añadirle las nuevas caracterı́sticas y las feature words encontradas
durante el proceso de anotación.
Taxonomı́a final: se crea partiendo de la anterior y eliminando o agrupando aquellas caracterı́sticas que hayan aparecido con muy poca frecuencia en las anotaciones.
150
Capı́tulo 6. Metodologı́a para la generación de los recursos
Figura 6.10: Nuevas caracterı́sticas añadidas a la taxonomı́a caracterı́sticas
tras anotaciones para headphones (en negrita)
6.6.1.
Refinamiento de la taxonomı́a de caracterı́sticas
para headphones
En la figura 6.10 aparecen reflejadas 3 nuevas caracterı́sticas que fueron
identificadas en las anotaciones. En la tabla 6.6 se muestran las feature words
de cada caracterı́stica. Como se observa, el número de feature words en la
taxonomı́a crece considerablemente tras el proceso de anotación.
Una vez obtenida la versión tras las anotaciones de la taxonomı́a de caracterı́sticas, contabilizamos el porcentaje de aparición en las anotaciones de
cada una de las caracterı́sticas (figura 6.12). Decidimos eliminar las caracterı́sticas con una representatividad menor al 0,1 % (excluyendo a component,
que es una caracterı́stica aglutinadora, por lo que es lógico que no aparezca en
las anotaciones). De las 5 caracterı́sticas ası́ seleccionadas, 3 se corresponden
con las añadidas a la taxonomı́a previa tras las anotaciones (base, charging
cycle y setup). Una vez eliminadas las 5 caracterı́sticas poco frecuentes, obtenemos la taxonomı́a de caracterı́sticas final que se muestra en la figura 6.11.
Cada caracterı́stica lleva asociada las feature words obtenidas tras las anotaciones (tabla 6.6). Las anotaciones correspondientes a las caracterı́sticas
excluidas son eliminadas del corpus.
Con respecto a esta taxonomı́a final, la cobertura sobre caracterı́sticas
obtenida por la herramienta de extracción de feature words es del 100 %: la
lista incluı́a al menos una feature word correspondiente a cada una de las
caracterı́sticas de la taxonomı́a final.
6.6. Refinamiento de la taxonomı́a
Feature
Feature words
appearance
comfort
component
base
bass
aesthetics, appearance, color, colors, look, looks, shape, style, styling
comfort, feel, fit, fitting
battery
battery life
charging cycle
case
cord
design
durability
earbuds
earcups
earpads
frequency response
headband
headphones
highs
isolation
jack
mids
packaging
performance
portability
price
range
setup
size
sensitivity
sound quality
transmitter
volume
volume control
warranty
weight
151
plug base
bass, bass reproduction, bass response, low, low end, low end frequencies, low frequencies, low range, lows
batteries, battery
battery life
charging, charging cycle
bag, carrying case, case, pouch
audio cord, cable, cables, cord, cords, length, wire, wires, wiring
design
build, construction, durability, flexibility, strength
bud, buds, ear bud, ear buds, ear clip, ear clips, ear pieces, earbud,
earbuds, earpieces
cans, cups, ear cup, ear cups, earcups
cushion, cushions, ear pads, earpads, foam, padding, pads, pillows
dynamic range, frequency range, frequency response, response
head band, headband
device, earphone, earphones, head phones, headphone, headphones,
headset, headsets, phone, phones, product, set of earbuds, speakers
clarity, high, high end, high frequencies, high range, high-end, highend, highs, treble
noise blocking, noise cancel, noise cancelation, noise canceling, noise
cancellation, noise cancelling, noise-canceling, noise-cancellation, isolation, noise isolation, noise reduction, noise stopping, nr, reduction,
shielding, sound isolation
conectors, connection, connections, connector, connectors, input jack,
jack, jacks, plug
mid, mid range, mid-range, middle, midrange, mids
package, packaging
performance
portability
cost, price, pricing, value
range, wireless reception
setup
size
sensitivity
audio, audio quality, music, music quality, reproduction, sound, sound
quality, sound reproduction, sounding, sounds, sounds quality, sq
transmitter
output, sound output, volume
volume control
warranty
weigh, weight
Cuadro 6.6: Feature words para cada una de las caracterı́sticas de la taxonomı́a tras anotaciones para headphones
152
Capı́tulo 6. Metodologı́a para la generación de los recursos
Figura 6.11: Taxonomı́a final de caracterı́sticas para headphones
Figura 6.12: Porcentaje de aparición de las caracterı́sticas en las anotaciones
para headphones
6.7. Inducción del lexicón de opiniones
6.7.
153
Inducción del lexicón de opiniones
El lexicón de opiniones se genera de manera automática a partir de las
anotaciones del corpus. Una vez obtenido, el lexicón es ampliado mediante
un método automático, similar al explicado en la sección 2.3.2 y que fue
utilizado en (Cruz et al, 2009b) para la generación de lexicones orientados al
dominio.
6.7.1.
Descripción del algoritmo
Explicamos a continuación el algoritmo de inducción del lexicón de opiniones. El primer paso es la obtención de la lista de términos utilizados como
palabras de opinión (algoritmo 1): para cada opinión anotada, la secuencia
completa de palabras de opinión participantes, excluyendo las expresiones
especiales, conforman un término de la lista. Después, para cada término de
esta lista, contamos el número total de apariciones en el corpus, el número de
apariciones formando parte de opiniones, el número de apariciones formando
parte de una opinión para cada una de las caracterı́sticas de la taxonomı́a,
y el número de apariciones formando parte de una opinión positiva o negativa para cada una de las caracterı́sticas de la taxonomı́a. A partir de estos
conteos podemos estimar las probabilidades y la polaridad de cada término
y almacenarlos con el formato adecuado en el recurso (algoritmo 2). Nótese
que, mientras las probabilidades son calculadas a partir de la aparición de
los términos como subconjunto de las palabras de opinión, las polaridades se
calculan a partir de las apariciones exactas de los términos como palabras de
opinión, una vez eliminadas las expresiones especiales.
input : DP : a set of documents, noNegExprs, negExprs, domExprs+ ,
domExprs− : sets of special expressions
output: terms: a set of terms
terms ← {};
specialExprs ← noNegExprs ∪ negExprs ∪ domExprs+ ∪ domExprs− ;
foreach document d from DP do
foreach sentence s = {w1 , w2 , . . . , wn } from d do
foreach opinion evidence oe = (. . . , opW ⊆ s) in s do
opW ← opW − specialExprs;
if not isEmpty(opW’ ) then
terms ← terms ∪ opW’;
return terms;
Algoritmo 1: Extracción de lista de términos de opinión
154
Capı́tulo 6. Metodologı́a para la generación de los recursos
input : terms: a set of terms, DP : a set of documents, FP : a feature
taxonomy, noNegExprs, negExprs, domExprs+ , domExprs− : sets of
special expressions
output: lexicon: a set of lexicon entries
lei = (term ∈ terms, support ∈ ℵ+ , opProb ∈ [0, 1] ∈ , fbOpProbs :
FP → [0, 1] ∈ , fbPolarities : FP → [−1, 1] ∈ )
lexicon ← {};
specialExprs ← noNegExprs ∪ negExprs ∪ domExprs+ ∪ domExprs− ;
foreach term from terms do
support ← 0;
opCount ← 0;
fbOpProbs ← Ø;
fbPolarities ← Ø;
foreach f from FP do
fbOpCount ← 0;
fbPolSum ← 0;
foreach document d from DP do
foreach sentence s = {w1 , w2 , . . . , wn } from d do
support ← support +countOccurrences(term,s);
foreach opinion evidence
oe = (. . . , f ∈ FP , opW ⊆ s, . . .) in s do
if term ⊆ opW then
opCount ← opCount +1;
if f’=f or isChild(f’,f,FP ) then
fbOpCount ← fbOpCount +1;
if term = opW − specialExprs then
polarity ← inducePolarity(oe, noNegExprs,
negExprs, domExprs+ , domExprs− );
fbPolSum ← fbPolSum + polarity;
fbOpProbs (f) ← fbOpCount / support;
fbPolarities (f) ← fbPolSum / support;
opProb ← opCount / support;
lexicon ← lexicon ⊕ (term,support,opProb,fbOpProbs,fbPolarities);
return lexicon;
Algoritmo 2: Inducción del lexicón de opiniones
6.7. Inducción del lexicón de opiniones
input : (polarity ∈ {−1, 1}, . . . , opW): an opinion evidence, noNegExprs,
negExprs, domExprs+ , domExprs− : sets of special expressions
output: polarity’ ∈ {−1, 0, 1}
polarity’ ← 0;
opW’ ← opW −noNegExprs;
oppositePolarity ← false;
foreach expression expr from negExprs do
if expr ∈ opW’ then
opW’ ← opW’−expr;
oppositePolarity ← not oppositePolarity;
foreach expression expr from domExprs+ ∪ domExprs− do
if expr ∈ opW’ then
if expr ∈ domExprs+ then
polarity’ ← 1;
else
polarity’ ← −1;
break;
if polarity’ = 0 then
polarity’ ← polarity
if oppositePolarity then
return −polarity’ ;
else
return polarity’ ;
Función inducePolarity
155
156
Capı́tulo 6. Metodologı́a para la generación de los recursos
Feature
appearance
bass
frequency response
headphones
mids
sound quality
Op.Word Prob.
0,03
0,03
0,23
0,37
0,07
0,33
S.O. Polarity
-1,0
-1,0
0,1428
-0,2728
-1,0
-0,2
Cuadro 6.7: Estimaciones para el término flat en el lexicón inducido para
headphones (valor de support del término: 30)
6.7.2.
Inducción del lexicón de opiniones para
headphones
Al aplicar el algoritmo de inducción sobre el corpus anotado de headphones, obtuvimos un lexicón con 796 términos, de los cuales 19 presentaron
algún tipo de ambigüedad en la polaridad.
Un ejemplo de ambigüedad es el mostrado en la tabla 6.7, en la que se
muestran las estimaciones de probabilidad de palabra de opinión y polaridad
de orientación semántica del término flat para distintas caracterı́sticas. Como
puede observarse, la polaridad del adjetivo flat ha recibido un valor estimado
igual a -1 para la mayorı́a de las caracterı́sticas en las que ha sido observado,
pero obtiene un valor positivo para la categorı́a frequency response, y un
valor negativo pero distinto de -1 para sound quality y para headphones. ¿A
qué son debidas estas estimaciones? Si observamos las evidencias de opinión
en el corpus en las que participa la palabra en cuestión, encontramos entre
otras las siguientes anotaciones (en las siguientes oraciones sólo señalamos
las evidencias de opinión en las que participa la palabra flat, subrayando las
palabras de caracterı́stica relacionadas e indicando la polaridad etiquetada
mediante un signo + o - al final de la oración):
Small, light, good fit, some noise isolation, flat frequency response. (polaridad: +)
Uncomfortable earcups, mids/lows cold and flat, they are guarunteed
to break within months. (polaridad: -)
The morning got the Bose headphones I put on one of my favorite cds
(happens to be Paul Oakenfold) and to my dissapointment the sound
was incredible flat and lifeless. (polaridad: -)
Not very adjustable, Flat/cheap appearance, Dual wires. (polaridad: -)
6.7. Inducción del lexicón de opiniones
157
Al ser aplicado a la respuesta en frecuencias de unos auriculares, flat tiene
connotaciones positivas (cuanto más “plana” es la respuesta de un dispositivo
reproductor de audio, mayor fidelidad en la reproducción). Sin embargo, en
las opiniones acerca de la calidad de sonido (sound quality), o acerca de los
graves y medios (bass y mids), las connotaciones son negativas (en este caso,
“plano” es sinónimo de corriente, sin pegada, que no llama la atención). Igual
polaridad encontramos al emplear el término para calificar la apariencia. Todo esto queda reflejado en los valores inducidos para las polaridades de cada
una de las caracterı́sticas, con la particularidad de que algunas de las caracterı́sticas anteriores dependen unas de otras en la jerarquı́a. En concreto, bass
y mids son hijas de frequency response, que a su vez depende de sound quality.
Por ejemplo, dado que para el cálculo de las estimaciones relacionadas con
la caracterı́stica frequency response se utilizan las anotaciones de opiniones
sobre las caracterı́sticas hijas además de sobre la propia caracterı́stica, la polaridad del término flat para dicha caracterı́stica obtiene un valor de 0,1428.
El valor obtenido para la caracterı́stica raı́z headphones (-0,27) nos indica
que ante una evidencia de opinión como flat headphones, existe una cierta
ambigüedad en la polaridad de la misma, siendo la polaridad negativa la que
más posibilidades de acierto tiene (al menos, de acuerdo a lo representativo
que sea el corpus con respecto a la realidad).Otros términos para los que se
observa ambigüedad en el lexicón son cheap, (cheap durability frente a cheap
price), huge (huge size frente a huge sound ), o tight (tight headphones frente
a tight bass). La lista completa de términos con ambigüedad es la siguiente:
average, big, boomy, bright, cheap, deep, flat, flawed, high,
large, light, low, quiet, sharp, small, soft, thick, thin, tight
La utilización de la jerarquı́a establecida entre las caracterı́sticas en la taxonomı́a para la estimación de las probabilidades y las polaridades del lexicón
de opiniones consigue generalizar las observaciones, permitiendo posteriormente inducir la polaridad de un término al ser aplicado a una caracterı́stica
para la que no se han observado apariciones en el corpus, siempre y cuando
dicha caracterı́stica se descomponga en otras para las que sı́ fueron observadas opiniones. Pero al mismo tiempo, es preciso tener un cuidado especial a la
hora de construir la jerarquı́a de caracterı́sticas: debemos garantizar que las
caracterı́sticas relacionadas genealógicamente en la taxonomı́a son coherentes
con la semántica es-un.
Existen algunos términos que obtienen valores de polaridad iguales a 0
para determinadas caracterı́sticas, como es el caso del término awful (ver
tabla 6.8). En este caso, se ha asignado el valor 0 a la polaridad del término
awful para la caracterı́stica sound quality. Esto es debido a que no existe
158
Capı́tulo 6. Metodologı́a para la generación de los recursos
Feature
appearance
battery
component
headphones
sound quality
Op.Word Prob.
0,0909
0,0909
0,0909
0,3636
0,1818
S.O. Polarity
-1,0
-1,0
-1,0
-1,0
0,0
Cuadro 6.8: Estimaciones para el término awful en el lexicón inducido para
headphones (valor de support del término: 11)
en el corpus anotado ninguna evidencia de opinión en la que dicho término
aparezca por sı́ solo como palabra de opinión. Sı́ aparece sin embargo en
compañı́a de otras palabras (en concreto, el término sounds awful aparece
en varias evidencias de opinión). En este tipo de situaciones, el algoritmo de
inducción no es capaz de distinguir si a cada una de las palabras participantes
en una expresión se les puede atribuir la polaridad de la opinión en la que han
sido utilizadas. Por ejemplo, en este caso no habrı́a sido una mala elección
atribuir la polaridad negativa de la expresión sound awful a la palabra awful,
pero sı́ lo habrı́a sido atribuı́rsela a sound. Por otro lado, tal como se observa
en el valor estimado para la probabilidad de palabra de opinión (0,18), las
opiniones en las que se emplean expresiones formadas por varias palabras
sı́ son tenidas en cuenta para el cálculo de las probabilidades de opinión para
cada una de las palabras participantes en la expresión.
6.8.
Ampliación del lexicón de opiniones
Una vez inducido el lexicón de opiniones, se procede a su ampliación mediante la aplicación de un método basado en el algoritmo PolarityRank(Cruz
et al, 2009d) (ver sección 2.3.2 para una descripción del algoritmo). Se trata de aprovechar la información proporcionada por el resto de documentos
del corpus (aquellos cuyas opiniones no han sido anotadas). En concreto,
y de forma similar a la propuesta de (Hatzivassiloglou & McKeown, 1997),
la aparición de dos términos de opinión coordinados mediante una conjunción “and” indica que dichos términos poseen probablemente orientaciones
semánticas de igual signo. De manera análoga, aquellos términos que aparecen en construcciones conjuntivas conectados mediante la conjunción “but”
suelen poseer orientaciones semánticas de signo contrario. Basándonos en este
principio, construiremos un grafo a partir de todos los documentos del corpus
(anotados y sin anotar). A partir de este grafo y los valores de orientación
semántica estimados en el lexicón de opiniones, procederemos a inferir valo-
6.8. Ampliación del lexicón de opiniones
159
Figura 6.13: Ejemplo de grafo de orientaciones semánticas. Los términos durable y thick, con orientación semántica positiva y negativa respectivamente
en el lexicón, actúan como semillas.
res de orientación semántica para términos no observados en las anotaciones.
El proceso es similar al explicado en la sección 2.3.2, con la salvedad de que,
en lugar de utilizar como semillas un conjunto cerrado de términos positivos
y negativos elegidos manualmente, se utilizarán los términos contenidos en
el lexicón de opiniones inducido anteriormente.
6.8.1.
Descripción del método de ampliación
El método para ampliar el lexicón de opiniones se inicia con la estimación
de la orientación semántica de nuevos términos no aparecidos en el lexicón
de opinión inicial. Para ello, partimos de un grafo como el descrito en la
sección 2.3.2, en el que los nodos correspondientes a términos existentes en
el lexicón serán utilizados como semillas positivas y negativas. La aplicación
de PolarityRank nos permitirá obtener valores de positividad y negatividad
de los términos, a partir de los cuáles realizar estimaciones de la orientación
semántica de los mismos.
A continuación se describe el método paso por paso:
1. A partir de todos los documentos de opinión disponibles para el dominio, se construye un grafo de construcciones conjuntivas de la manera
explicada en la sección 2.3.2. Es posible descartar aquellas aristas referentes a términos que hayan sido observados en construcciones conjuntivas un número de veces menor a un umbral.
2. Para cada una de las caracterı́sticas incluidas en la taxonomı́a del dominio, creamos una copia del grafo anterior. En cada uno de estos grafos,
buscamos aquellos nodos cuyos términos asociados tengan valores de
orientación semántica no nulos para la caracterı́stica en cuestión en
160
Capı́tulo 6. Metodologı́a para la generación de los recursos
el lexicón de opiniones a expandir. Dichos valores son asignados a las
constantes e+ o e− de dichos nodos, en función del signo de la orientación semántica: los valores positivos serán asignados a la constante
e+ de los nodos, y los negativos a e− . Es posible no tener en cuenta
algunos términos del lexicón en este proceso, si el valor de support para
el término en el lexicón es menor a un umbral.
3. Los valores de e+ y e− de los nodos de cada uno de los grafos son
normalizados linealmente, para asegurar que la suma de los valores de
cada una de las constantes sea igual al número de nodos en cada grafo
(tal como se exige en la definición de PolarityRank).
4. Calculamos las puntuaciones P R+ y P R− para los nodos de cada uno
de los grafos anteriores. A partir de los valores obtenidos en cada uno de
los grafos, estimamos la orientación semántica de cada término asociado
a cada nodo n mediante la fórmula:
SO(n) =
P R+ (n) − P R− (n)
P R+ (n) + P R− (n)
(6.1)
Las orientaciones semánticas ası́ calculadas están contenidas en el intervalo [−1, 1].
5. Para cada caracterı́stica y cada término representado en el grafo asociado, para los que el lexicón de opinión inicial no contenga estimación
de la orientación semántica, añadimos la estimación realizada mediante
la fórmula anterior.
Para las nuevas entradas del lexicón obtenidas mediante el método anterior, es también necesario obtener estimaciones de probabilidad de palabra
de opinión (atributo feature-based opinion word probability en el lexicón de
opiniones). Para ello, seguimos los mismos pasos anteriores, pero empleando
la fórmula original de PageRank, y utilizando los valores de probabilidad de
los términos del lexicón para inicializar las constantes e de los nodos en cuestión. La puntuación obtenida por cada nodo es utilizada como estimación de
la probabilidad en el lexicón ampliado.
6.8.2.
Ampliación del lexicón de opiniones para
headphones
A la hora de aplicar el método descrito de ampliación al lexicón de opiniones para headphones, debemos decidir los valores de los siguientes umbrales:
6.8. Ampliación del lexicón de opiniones
161
minAbsWeightArcs: el mı́nimo número de apariciones en los documentos de una construcción conjuntiva entre dos términos concretos, para
que dicha relación se refleje en una arista del grafo.
minSupport: el mı́nimo número de observaciones a partir de las cuáles
fueron estimadas las métricas contenidas en el lexicón de opiniones
original, para que dicha información sea utilizada para inicializar los
valores de las constantes e+ y e− .
A priori, valores menores de estos umbrales permitirán una ampliación
mayor del lexicón de opiniones, al permitir generar grafos con más aristas
y más nodos actuando de semilla. Por otro lado, valores más altos de los
umbrales quizás permitan filtrar relaciones conjuntivas erróneas o poco frecuentes, ası́ como nodos semilla para los cuáles las estimaciones contenidas
en el lexicón no sean demasiado fiables.
Estudiemos la influencia de estos parámetros. Para ello, una vez escogidos
unos valores concretos para los mismos, llevamos a cabo el siguiente desarrollo
experimental:
1. Construimos un grafo mediante el método descrito anteriormente, a
partir del conjunto completo de documentos de opinión disponibles
para headphones.
2. Dividimos aleatoriamente el conjunto de documentos anotados en 10
partes iguales. Reservamos una de las partes como conjunto de test, y
con el resto de partes inducimos un lexicón de opiniones.
3. Ampliamos el lexicón obtenido mediante el método descrito anteriormente.
4. Inducimos un lexicón de opiniones a partir del conjunto de test.
5. Obtenemos las siguientes métricas, a partir de ambos lexicones:
Cobertura: porcentaje de entradas7 del lexicón de test contenidas
en el lexicón ampliado, de entre el total de entradas contenidas en
este último.
7
Una entrada del lexicón está constituida por un par término/caracterı́stica. Por ejemplo, si el lexicón contiene valores de probabilidad y orientación semántica para 4 caracterı́sticas distintas de un término determinado, diremos que contiene 4 entradas para dicho
término.
162
Capı́tulo 6. Metodologı́a para la generación de los recursos
Precision: porcentaje de entradas cuya estimación de polaridad de
orientación semántica en el lexicón de opinión ampliado coincide
con la estimación de polaridad en el lexicón de test, de entre el
total de entradas contenidas en ambos lexicones.
F 1 : media armónica con β =
2
precisión anteriores.
1
2
de los valores de cobertura y
Error medio de orientación semántica: media de los valores absolutos de las diferencias entre los valores estimados para las orientaciones semánticas en el lexicón ampliado y el lexicón de test,
para aquellas entradas contenidas en ambos lexicones.
Error medio de probabilidad : media de los valores absolutos de las
diferencias entre los valores estimados para las probabilidades en
el lexicón ampliado y el lexicón de test, para aquellas entradas
contenidas en ambos lexicones.
6. Repetimos los pasos anteriores, pero escogiendo sucesivamente distintas
partes del conjunto de documentos como conjunto de test.
7. Calculamos los valores medios de las métricas obtenidas para cada una
de las diez iteraciones del proceso.
Aplicando el desarrollo experimental descrito, estudiamos primero la influencia del umbral minAbsWeightArcs. Se obtienen los resultados mostrados
en la figura 6.14, para valores de 1 a 5 para el parámetro, y manteniendo en
todos los casos fijo el valor del umbral minSupport. Como era de esperar,
la precisión tiende a aumentar a medida que aumenta el valor del umbral, a
costa de una disminución progresiva de la cobertura. Sin embargo, tal y como
refleja la media armónica, el pequeño aumento de precisión que se consigue
a medida que se aumenta el valor del umbral no compensa la disminución
en la cobertura. Por otro lado, el error medio en las estimaciones de orientación semántica y de probabilidad decrece a medida que aumenta el valor
del umbral, de manera especialmente pronunciada al pasar del valor 1 al 2.
Es por esto que, a priori, nos inclinamos por fijar el valor del umbral como
minAbsWeightArcs=2.
En la figura 6.15 se muestra el resultado de la ejecución del mismo desarrollo experimental, variando ahora los valores del umbral minSupport, y
manteniendo fijo el valor de minAbsWeightArcs. En esto caso, los mejores
resultados se obtienen claramente cuando se utilizan todos los nodos semilla
(minSupport=1 ), observándose pocas variaciones en la precisión, cobertura
y error medio de probabilidad, y cierta tendencia a crecer el error medio de
6.8. Ampliación del lexicón de opiniones
lexicón original
minAbsWeightArcs=1
minAbsWeightArcs=2
163
lexicón ampliado
términos
entradas
términos
entradas
796
796
2492
2492
831 (+4,4 %)
809 (+1,63 %)
5371 (+115,53 %)
3544 (+42,22 %)
Cuadro 6.9: Resultados de la ampliación del lexicón de opiniones para headphones. En ambos casos, se utilizó minSupport=1.
orientación semántica, a medida que crece el valor del umbral. Por tanto,
fijaremos el valor del umbral como minSupport=1.
Aplicando el método de ampliación con los parámetros minAbsWeightArcs=2 y minSupport=1 al lexicón de opiniones completo para headphones,
obtenemos una ampliación del 42,22 % en relación al número de entradas en
el lexicón, y del 1,63 % en relación al número de términos (ver tabla 6.9). Los
porcentajes son sensiblemente mayores en el caso de utilizar el parámetro
minAbsWeightArcs=1.
164
Capı́tulo 6. Metodologı́a para la generación de los recursos
Figura 6.14: Resultados experimentos de ampliación del lexicón de opiniones
para headphones: influencia del parámetro minAbsWeightArcs. El parámetro
minSupport se mantiene con valor constante igual a 1.
6.8. Ampliación del lexicón de opiniones
165
Figura 6.15: Resultados experimentos de ampliación del lexicón de opiniones para headphones: influencia del parámetro minSupport. El parámetro
minAbsWeightArcs se mantiene con valor constante igual a 2.
166
Capı́tulo 6. Metodologı́a para la generación de los recursos
6.9.
Inducción de los indicadores de
opiniones implı́citas
El recurso se genera de manera automática a partir de las anotaciones del
corpus. Describimos a continuación el algoritmo de inducción y comentamos
algunos de los resultados obtenidos al aplicar dicho algoritmo al dominio
headphones.
6.9.1.
Descripción del algoritmo
De forma similar al proceso de generación del lexicón de opiniones, el primer paso es la obtención de la lista de términos utilizados como palabras de
opinión, aunque en este caso se incluyen como términos cada una de las palabras sueltas que participan en opiniones con varias palabras de opinión (ver
algoritmo 4). Después, para cada término de esta lista, contamos el número
total de apariciones en el corpus, el número de apariciones formando parte
de opiniones explı́citas para cada una de las caracterı́sticas de la taxonomı́a,
y el número de apariciones formando parte de opiniones implı́citas para cada
caracterı́stica. A partir de estos conteos podemos estimar las probabilidades,
tal como se muestra en el algoritmo 5.
input : DP : a set of documents, noNegExprs, negExprs, domExprs+ ,
domExprs− : sets of special expressions
output: terms: a set of terms
terms ← {};
specialExprs ← noNegExprs ∪ negExprs ∪ domExprs+ ∪ domExprs− ;
foreach document d from DP do
foreach sentence s = {w1 , w2 , . . . , wn } from d do
foreach opinion evidence oe = (. . . , opW ⊆ s) in s do
opW ← opW − specialExprs;
if not isEmpty(opW’ ) then
terms ← terms ∪ opW’;
foreach word w from opW’ do
terms ← terms +w;
return terms;
Algoritmo 4: Extracción de lista de términos para la inducción de los
indicadores de opiniones implı́citas
6.9. Inducción de los indicadores
input : terms: a set of terms, DP : a set of documents, FP : a feature
taxonomy
output: cues: a set of cue entries
cuei = (term ∈ terms, support ∈ ℵ+ , fbImplProbs : FP → [0, 1] ∈
, fbCondImplProbs : FP → [0, 1] ∈ )
cues ← {};
foreach term from terms do
support ← 0;
fbImplProbs ← Ø;
fbCondImplProbs ← Ø;
foreach f from FP do
fbExplOpCount ← 0;
fbImplOpCount ← 0;
foreach document d from DP do
foreach sentence s = {w1 , w2 , . . . , wn } from d do
support ← support + countOccurrences(term,s);
foreach opinion evidence
(. . . , f ∈ FP , featW ⊂ s, opW ⊆ s, . . .) in s do
if term ⊆ opW and f’=f then
if featW = Ø then
fbImplOpCount ← fbImplOpCount +1;
else
fbExplOpCount ← fbExplOpCount +1;
fbImplProbs (f) ← fbImplOpCount / support;
if support =fbExplOpCount then
fbCondImplProbs (f) ← 0 ;
else
fbCondImplProbs (f) ← fbImplOpCount /( support −
fbExplOpCount ) ;
cues ← cues ⊕ (term,support,fbImplProbs,fbCondImplProbs);
return cues;
Algoritmo 5: Inducción de los indicadores de opinión implı́cita
167
168
Capı́tulo 6. Metodologı́a para la generación de los recursos
Término
sounds
sounds weird
sounds great
sounds bad
flashy
Support
113
2
9
3
3
Feature
sound quality
sound quality
sound quality
sound quality
appearance
Prob.
0,1327
1,0
0,3333
0,3333
0,6666
Cond. Prob.
0,1351
1,0
0,4285
0,3333
1,0
Cuadro 6.10: Algunas entradas del recurso de indicadores de opinión implı́cita
para el dominio headphones
6.9.2.
Inducción de los indicadores de opinión
implı́cita para headphones
Al aplicar el algoritmo anterior al corpus de reviews de headphones, obtuvimos 538 términos. Recordemos que estos términos se corresponden con
palabras anotadas en evidencias de opinión implı́citas, tanto juntas como separadas. Ası́ por ejemplo, ante una anotación en la que aparezcan las palabras
sounds good como palabras de opinión, tanto el término sounds good como
los términos sounds y good aparecerán reflejados en el recurso, con sus correspondientes estimaciones de probabilidades. La inclusión en el recurso de
cada una de las palabras por separado, a diferencia del lexicón de opiniones,
nos permitirá detectar qué componentes de las expresiones utilizadas están
correlacionadas con la aparición de opiniones implı́citas, de manera que el
sistema de extracción pueda determinar la existencia de opiniones implı́citas
ante la aparición de dichas palabras, aún cuando no aparezca literalmente la
expresión que ha sido observada en el corpus anotado. Siguiendo con el ejemplo anterior, observamos en nuestro corpus múltiples construcciones similares
(sounds warms, sounds terrible, sounds weird, . . . ), a partir de las cuales el
algoritmo de inducción genera una entrada para el término sounds (ver tabla 6.10). Dado que dicha palabra ha sido también observada en diversas
frases en las que no formaba parte de anotación alguna, las probabilidades
estimadas son relativamente bajas. Los valores obtenidos por las expresiones
completas son más altos, por lo que su observación en un nuevo documento
permitirá al sistema decidir la existencia de una opinión implı́cita con mayor
seguridad.
Algunos términos obtienen valores sensiblemente distintos para las probabilidades no condicionada y condicionada, como ocurre con el término flashy
(ver tabla 6.10). Recordemos que el valor que aparece en la columna Prob.
corresponde a la estimación de la probabilidad de que el término en cuestión
implique la existencia de una opinión implı́cita sobre el feature indicado; por
otro lado, la columna Cond. Prob. indica la probabilidad de un suceso idénti-
6.9. Inducción de los indicadores
169
co al anterior, pero condicionado a la no participación del término en una
opinión explı́cita. Algunos términos como flashy son empleados en ocasiones
en opiniones explı́citas, además de en implı́citas, y es por ellos que obtienen
un valor más alto en la probabilidad condicionada. Por ejemplo, en nuestro
corpus aparecen entre otras las siguientes anotaciones en las que participa
el término flashy (en las siguientes oraciones sólo señalamos las evidencias
de opinión en las que participa la palabra flashy, subrayando las palabras de
caracterı́stica relacionadas e indicando la caracterı́stica sobre la que actúa la
palabra de opinión al final de la oración):
Mediocre sound, flashy colors. (explicit feature: appearance)
A flashy, unique pair of headphones. (implicit feature: appearance)
Por tanto, la aparición de flashy en un nuevo documento podrı́a indicar
al sistema la existencia de una opinión implı́cita, tanto más si previamente
hemos descartado su participación en una opinión explı́cita.
Existen algunos términos para los que se han observado correlaciones con
varias caracterı́sticas (ver tabla 6.11). En algunos casos se trata de términos
que pueden asociarse a opiniones de caracterı́sticas distintas pero con cierto
parecido (por ejemplo, portability y size). Esta similitud entre las caracterı́sticas ocasiona disparidad en las anotaciones. No se trata de un problema
grave, ya que el sistema podrı́a decidirse por cualquiera de las caracterı́sticas involucradas, y las opiniones extraı́das serı́an correctas. En otros casos,
la existencia de varias caracterı́sticas correlacionadas con el término indica
la participación del mismo en varias expresiones distintas. Por ejemplo, la
palabra awful puede aparecer en la expresión looks awful, relacionada con
la caracterı́stica appearance, o en la expresión sounds awful, relacionada con
la caracterı́stica sound quality. Dado que ambas expresiones forman parte
Término
Support
compact
46
awful
11
cheap
133
Feature
portability
size
sound quality
appearance
comfort
price
appearance
durability
Prob.
0,2608
0,2391
0,1818
0,0909
0,015
0,2781
0,03
0,015
Cond. Prob.
0,2608
0,25
0,1818
0,0909
0,015
0,2868
0,0303
0,016
Cuadro 6.11: Algunas estimaciones contenidas en el recurso de indicadores
de caracterı́stica implı́cita inducido para headphones
170
Capı́tulo 6. Metodologı́a para la generación de los recursos
Figura 6.16: Histograma de probabilidades no condicionadas de los indicadores de opinión implı́cita para headphones
también del recurso, esto no ocasionará problema alguno al sistema. Por
último, otros términos con varias caracterı́sticas relacionadas obtienen valores significativamente mayores para determinada caracterı́stica, como en el
caso de cheap para la caracterı́stica price; el sistema deberı́a por tanto elegir
esta caracterı́stica, siempre y cuando no se observe ninguna expresión mayor
conteniendo a cheap e incluida en el recurso.
En la tabla 6.12 se muestran los términos del recurso obtenido para los
que la probabilidad no condicionada estimada es igual a 1, junto con la
caracterı́stica correlacionada. En la figura 6.16 se presenta un histograma
que refleja el número de términos existentes en el recurso con respecto a los
valores de probabilidad obtenidos por los mismos.
6.9. Inducción de los indicadores
Caracterı́stica
appearance
bass
comfort
cord
design
durability
headphones
isolation
jack
portability
price
size
sound quality
volume
weight
171
Indicadores de opinión implı́cita
look awesome, aesthetic, cheap looking, attractive looking, clunky,
colorful, cool-looking, look decent, look funny, look pretty cool,
look promising, look slick, look solid, looked sharp, looks fine,
nicely styled, overboard, promising, retro looking, styled, translucent
overbassed
chunky, feels cheap, feels terrible, fits comfortably, unsecure, comforable, comforable to use, cumbersone, difficult to wear, easy to
wear, feel elegant, feels comfortable, fit nicly, fit ridiculously, fits
ok, fits snug, fits well, fitted easily, maneuverable, nicly, sit quite uncomfortably, soft contact, super comfortable, unadjustable,
uncomfotable, unobtrusive, well-padded, well-rounded
tangles easy
worst-designed
built solid, easily damaged, brittle, built cheap, dont last, duable,
duarable, endure much, feel substantial, look fragile, most reliable, plasticky, poorly constructed, rips, rips easily, robust quality,
ruggedness, well constructed
overrated, brakes, brightest, efficent, high-quality, must buy, pro
quality, recommed, very frustrating
great solution, least canceling, lowers, lowers noise
easy to connect
easy to carry, collapsable, nice to transport, packs, packs well,
semi-portable, transport
expenssive, over priced, spendy, to expenssive, ultra-cheap, wellpriced
gigantic, small sized, unwieldy
clear sounding, nice sounding, sound sweet, sounded muddy,
sounds weird, amazing sounding, average sounding, bestsounding, clean sounding, clean-sounding, decent-sounding, deliver beautifully, fantastic sounding, great clarity, hot-sounding,
inaccurate sounding, most best-sounding, most natural sounding,
outstanding musical detail, outstanding rendition, over-amplified,
precise detail, preformed, preformed flawlessly, rendition, sound
feeble, sound hot-sounding, sound just acceptable, sound musical,
sound thin, sound way over-amplified, sound wonderfull, sounded boomy, sounded horrible, sounded ok, sounded poor, sounded
terrible, sounds artificial, sounds terrible, sounds warm, sounds
wonderful, thin sounding, well sounding, wonderfull
enoguh, loud enoguh, plays, plays loud, super loud
weighty
Cuadro 6.12: Términos del recurso de indicadores de opinión implı́cita para
headphones con probabilidad igual a 1
172
6.10.
Capı́tulo 6. Metodologı́a para la generación de los recursos
Inducción de los patrones de
dependencias
Aunque podrı́amos utilizar un conjunto cerrado de patrones de dependencias elaborados a mano (tal como hacen algunos artı́culos de la bibliografı́a
(Popescu & Etzioni, 2005; Popescu et al, 2005)), hemos preferido aprovechar
la disponibilidad de un corpus anotado para inducir automáticamente los
patrones de dependencias más utilizados para cada una de las caracterı́sticas
opinables del dominio. A continuación describimos el algoritmo de inducción,
y planteamos algunos experimentos en el dominio headphones encaminados a
estudiar la influencia del uso de restricciones morfosintácticas en los patrones.
6.10.1.
Descripción del algoritmo
El proceso de inducción de los patrones de dependencias está resumido en
el algoritmo 6, que genera una lista ordenada de patrones del tipo especificado. Para cada evidencia de opinión anotada en el corpus, la función getPairs
devuelve las parejas de palabras origen y destino correspondientes al tipo de
patrones que se está extrayendo. Para cada una de estas parejas, se busca un
camino en el árbol de dependencias que una ambas palabras (función extractPath). Si se encuentra dicho camino, se crean dos patrones con el mismo, uno
sin restricción de caracterı́stica, y otro para la caracterı́stica correspondiente
a la evidencia de opinión actual. Los patrones creados se van acumulando en
una lista, contabilizando el número de veces que aparece cada uno. Una vez
se han extraı́do todos los patrones, se miden la precisión y la cobertura que se
obtiene al aplicar cada uno de los patrones al propio corpus anotado (función
computePrecisionAndRecall ). Estos valores son almacenados en cada patrón,
y la lista de patrones se ordena por orden decreciente de precisión, y a igual
precisión, por orden decreciente de cobertura (función sortByPrecisionAndRecall ). Por último, se calculan la precisión y la cobertura acumuladas de
cada una de las sublistas iniciales de patrones de la lista ordenada: en el primer patrón de la lista, estos valores coinciden con la precisión y la cobertura
anteriormente calculadas; para el segundo patrón se calcula la precisión y
cobertura obtenidas de la aplicación de los dos primeros patrones de la lista,
y ası́ sucesivamente (función computeAccumulatedPrecisionAndRecall ).
6.10. Inducción de patrones
input : DP : a set of documents, type ∈ [1, 5] ⊂ ℵ: type of patterns to be
extracted, noNegExprs, negExprs, domExprs+ , domExprs− : sets of
special expressions
output: patterns ={pat1 , pat2 , . . . , patn }: a sorted list of patterns, where
pati = (f, posasc , posdesc , depasc , depdesc , support, p, r, accP, accR)
patterns ← {} ;
foreach document d from DP do
foreach sentence s fromd do
foreach opinion evidence oe = (. . . , f ∈ FP , . . .) in s do
pairs ← getPairs(oe,type,noNegExprs, negExprs, domExprs+ ,
domExprs− );
foreach pair of words pair =( wFrom,wTo) from pairs do
path ← extractPath(wFrom,wTo);
if path is not null then
if ∃( , path, ) ∈ patterns then
foreach pattern p = (f eature, path, support) from
patterns do
patterns ← patterns − p;
patterns ← patterns
+(f eature, path, support + 1);
else
patterns ← patterns +(f, path, 1);
patterns ← patterns +(∗, path, 1);
patterns’ ← {} ;
foreach pattern p = (f, path, support) from patterns do
(precision,recall) ← computePrecisionAndRecall(DP ,type,p);
patterns’ ← (f, path, support, precision, recall);
sortByPrecisionAndRecall(patterns’ );
return computeAccumulatedPrecisionAndRecall(patterns’ );
Algoritmo 6: Inducción de los patrones de dependencias
173
174
Capı́tulo 6. Metodologı́a para la generación de los recursos
input : oe =(. . . ,featW:a list of feature words, opW:a list of opinion
words), type: type of patterns to be extracted, noNegExprs,
negExprs, domExprs+ , domExprs− : sets of special expressions
output: pairs: a set of pairs of source and target words
pairs ← Ø;
switch type do
Type 1: from any feature word to any opinion word.
case 1
foreach words wFrom from featW and wTo from opW do
pairs ← pairs + (wFrom,wTo);
Type 2: from the head of feature words to the head of opinion words.
case 2
pairs ← (getHead(opW),getHead(opW));
Type 3: from the head of opinion words to any other opinion word.
case 3
foreach word wTo from opW do
pairs ← pairs + (getHead(opW),wTo);
Type 4: from the head of opinion words to any other opinion word from
a negation expression.
case 4
opW’ ← opW;
foreach expression expr from noNegExprs do
opW’ ← opW’ − expr;
foreach word wTo from opW’ do
if wTo ∈ negExprs then
pairs ← pairs + (getHead(opW),wTo);
Type 5: from the head of opinion words to any other opinion word from
a dominant polarity expression.
case 5
opW’ ← opW;
foreach expression expr from negExprs do
opW’ ← opW’ − expr;
foreach word wTo from opW’ do
if wTo ∈ domExprs+ ∪ domExprs− then
pairs ← pairs + (getHead(opW),wTo);
return pairs;
Función getPairs
6.10. Inducción de patrones
input : wFrom: source word, wTo: target word
output: path =(posasc ,posdesc ,depasc ,depdesc ): lists of part-of-speech tags
and dependency relation types for the ascending and descending
subpaths linking source and target words
ascendingPath ← {wFrom} ;
w ← wFrom;
while dependencyHead(w) is not null do
w ← dependencyHead(w) ;
ascendingPath ← ascendingPath + w;
descendingPath ← {wTo};
w ← wTo;
while dependencyHead(w) is not null do
w ← dependencyHead(w) ;
descendingPath ← descendingPath + w;
reverse(descendingPath);
foreach word w from ascendingPath do
if w ∈ descendingPath then
sublist from the first element to w, inclusive:
ascendingPath ← headList(ascendingPath,w);
sublist from w to the last element, inclusive:
descendingPath ← tailList(descendingPath,w);
posasc ← part-of-speech tags of each word from ascendingPath;
posdesc ← part-of-speech tags of each word from descendingPath;
depasc ← dependency relation types of each word from
ascendingPath;
depdesc ← dependency relation types of each word from
descendingPath;
path ← (posasc ,posdesc ,depasc ,depdesc );
return path;
return null ;
Función extractPath
175
176
Capı́tulo 6. Metodologı́a para la generación de los recursos
6.10.2.
Influencia de las restricciones morfosintácticas
en los patrones de dependencias
Para medir la influencia de las restricciones morfosintácticas en la precisión y la cobertura de los patrones, hemos llevado a cabo experimentos a
partir del corpus de headphones. En cada uno de los experimentos, realizamos la inducción de los patrones utilizando un subconjunto del corpus, para
posteriormente aplicar los patrones obtenidos al resto del corpus, midiendo
con ello la precisión y la cobertura del conjunto de patrones obtenido. Hemos
llevado a cabo validación cruzada con 10 particiones, lo que significa que cada
experimento se ejecutó 10 veces sobre 10 particiones aleatorias distintas del
corpus. Los resultados finales se obtienen calculando la media de los valores
obtenidos en las 10 ejecuciones. Utilizamos siempre un 85 % del corpus para
inducir los patrones, y el 15 % restante para medir la precisión y cobertura
de los patrones obtenidos.
Hemos llevado a cabo los tres experimentos siguientes:
Sin restricciones morfosintácticas: los patrones extraı́dos no incluyen
restricciones.
Con restricciones morfosintácticas simples: los patrones extraı́dos incluyen restricciones basadas en la categorı́a morfosintáctica general de
los participantes. La categorı́a general viene codificada en la primera
letra de las etiquetas POS.
Con restricciones morfosintácticas completas: los patrones extraı́dos incluyen restricciones basadas en la categorı́a morfosintáctica completa
de los participantes. Utilizamos la etiqueta POS completa.
Los experimentos se realizaron induciendo sólo los patrones de tipo 2, y sin
restricciones basadas en caracterı́sticas. La tabla 6.13 contiene los resultados
obtenidos. Como puede apreciarse, a mayor nivel de restricción, el conjunto de
patrones inducidos consigue mayor precisión pero menor cobertura; a pesar
de la disminución de cobertura, parece preferible contemplar las restricciones
completas, dado que la ganancia en precisión supera ampliamente la bajada
en la cobertura. En el capı́tulo 8 estudiaremos la influencia final en el sistema
de extracción de la elección de uno u otro tipo de restricciones.
6.10.3.
Patrones de dependencias para headphones
En la tabla 6.14 aparecen los patrones más frecuentemente observados del
tipo 1 (conectando cualquier feature word con cualquier opinion word ), junto
6.10. Inducción de patrones
Experimento
Sin restricciones
Restricciones simples
Restricciones completas
177
Núm. patrones
138,3
283,1
404,6
Precision
0,368
0,475
0,575
Recall
0,834
0,773
0,726
F1
0,511
0,588
0,641
Cuadro 6.13: Resultados de los experimentos para medir la influencia de las
restricciones morfosintácticas en los patrones de dependencias para headphones
a algunos ejemplos extraı́dos del corpus siguiendo cada uno de los patrones.
Para que los ejemplos mostrados sean más generales, los patrones han sido
extraı́dos utilizando restricciones morfosintácticas simples.
Se observan algunos patrones que contienen a otros y los amplı́an; por
ejemplo, el sexto patrón de la tabla incluye al segundo. Estos patrones surgen a partir de opiniones en las que participan varias palabras de opinión o
varias palabras de caracterı́stica, y en las que el camino que conecta una de
las palabras de un tipo con una de las palabras del otro contiene al camino
que conecta a distintas palabras de uno de los tipos. En el ejemplo citado,
el camino J→(mod)→N→(subj)→J que conecta a las palabras sound y bad
contiene al camino N→(subj)→J que conecta a las palabras quality y bad ;
el trozo añadido corresponde al camino entre las palabras de caracterı́stica
sound y quality. Dado que nuestro sistema utilizará los patrones de dependencias para enlazar palabras de opinión a las feature words previamente
identificadas con ayuda de la taxonomı́a de caracterı́sticas, no parece necesario disponer de los dos patrones anteriores: únicamente con el primer patrón,
aplicándolo al núcleo de las palabras de caracterı́stica (quality) conseguimos
enlazar correctamente la palabra de opinión bad. En cuanto a las opiniones
en las que participen varias palabras de opinión, los patrones del tipo 1 se
pueden descomponer en patrones del tipo 2, que conectan el núcleo de las
palabras de caracterı́stica con el núcleo de las palabras de opinión, y patrones
del tipo 3, que conectan las palabras de opinión entre sı́. En la tabla 6.15
mostramos algunos patrones de los tipos 2 y 3, junto con algunos ejemplos.
En el capı́tulo 8 llevaremos a cabo experimentos utilizando bien patrones de
tipo 1 o bien patrones de tipo 2 y 3.
El último patrón mostrado en la tabla 6.14 se ha inducido a partir de
opiniones en las que participan negaciones. Se trata de un caso especial de
la situación anterior, puesto que las negaciones son palabras de opinión. Los
patrones del tipo 4 tratan de capturar este tipo de situaciones, capturando
las relaciones entre el núcleo de las palabras de opinión y las negaciones
participantes. De forma similar los patrones del tipo 5 tratan de capturar
las relaciones con las palabras de polaridad dominante. En la tabla 6.15
178
Capı́tulo 6. Metodologı́a para la generación de los recursos
Patrones tipo 1: feature word → opinion word
S
P
R
Ejemplos
835 0,78 0,31 . . . good wireless headphones . . .
(headphones←good)
N→(subj)→J
325 0,96 0,12
The sound quality is not bad.
(quality→bad)
N→(mod)→
144 0,69 0,05
. . . bad quality sound . . .
N←(mod)←J
(sound→quality←bad)
. . . great sound isolation . . .
(sound→isolation←great)
N→(nn)→
69 0,70 0,03
. . . excellent build quality . . .
N←(mod)←J
(build→quality←excellent)
. . . good battery life . . .
(battery→life←good)
N→(obj)→V
61 0,26 0,02
I love these headphones!
(headphones→love)
. . . fatiguing bass . . .
(bass→fatiguing)
J→(mod)→N→(subj)→J 51 0,98 0,02
The sound quality is not bad.
(sound→quality→bad)
The low end and mids are good.
(low→end→good)
N←(mod)←V
46 0,66 0,02
. . . best valued headphones . . .
(headphones←valued)
. . . coiled cord . . .
(cord←coiled)
N←(nn)←N
36 0,22 0,01
It comes with a leather pouch.
(pouch←leather)
N→(subj)→V
32 0,27 0,01
The bass response is
massively over-exaggerated.
(response→over-exaggerated)
...
N→(subj)→J→(pred)→
16 1,00 0,01
The sound quality is not bad.
V←(neg)←X
quality→bad→is←not
Patrón
N←(mod)←J
Cuadro 6.14: Algunos patrones del tipo 1 para headphones. Las columnas S,
P y R indican el número de apariciones, la precisión y la cobertura, respectivamente.
6.10. Inducción de patrones
179
Patrones tipo 2: núcleo de las feature words → núcleo de las opinion words
Patrón
S
P
R
Ejemplos
N←(mod)←J
808 0,77 0,34
. . . good wireless headphones . . .
(headphones←good)
N→(subj)→J
315 0,94 0,13
The sound quality is not bad.
(quality→bad)
N→(obj)→V
58 0,25 0,03
I love these headphones!
(headphones→love)
N←(mod)←V
45 0,64 0,02
. . . great sounding headphones . . .
(headphones←great)
Patrones tipo 3: núcleo de las opinion words → otras opinion words
N←(mod)←J
71 0,70 0,11 . . . These headphones do a good job! . . .
(job←good)
N←(desc)←J
48 0,98 0,08 . . . The bass sounds a little muffled. . . .
(sounds←muffled)
V←(desc)←R
28
0,5 0,05
. . . They fit well. . . .
(fit←well)
V←(obj)←N
13 0,14 0,02
These headphones do a good job!
(do←job)
Patrones tipo 4: núcleo de las opinion words → negation word
J→(pred)→
28 1,00 0,16
The sound quality is not bad.
V←(neg)←X
bad→bad→is←not
V←(aux)←
23 1,00 0,13
I would not recommend them.
V←(neg)←X
recommend←would←not
J←(mod)←X
18 1,00 0,10
. . . not portable . . .
portable←not
J←(mod)←
11 0,92 0,06
. . . not very comfortable . . .
R←(mod)←X
comfortable←very←not
Patrones tipo 5: núcleo de las opinion words → dominant polarity word
J←(mod)←R
54 0,10 0,51
. . . too big . . .
big←too
D←(lex-mod)←R
4
1,0 0,04
. . . too much bass . . .
much←too
R←(mod)←R
4
0,27 0,04
. . . breaks too easily . . .
easily←too
...
J←(pnmod)←R
1
0,33 0,01
. . . good enough for most users . . .
good←enough
Cuadro 6.15: Algunos patrones de tipo 2, 3, 4 y 5 para headphones. Las columnas S, P y R indican el número de apariciones, la precisión y la cobertura,
respectivamente.
180
Capı́tulo 6. Metodologı́a para la generación de los recursos
mostramos algunos patrones de estos tipos acompañados de algunos ejemplos
extraı́dos del corpus.
Ni el análisis de dependencias ni el etiquetado morfosintáctico en que se
basa el algoritmo de inducción de patrones están exentos de errores. Evidentemente, esto puede repercutir negativamente en el sistema. Sin embargo,
algunos de los errores de las herramientas de procesamiento lingüı́stico tienden a repetirse para las mismas situaciones; este tipo de errores conducirán
a patrones de dependencias que, si bien analı́ticamente parecen erróneos, al
ser aplicados a textos procesados por las mismas herramientas lingüı́sticas
anteriores (con los mismos errores en ciertas circunstancias) enlazan correctamente las palabras origen y destino. Un ejemplo de esto se observa en el
segundo patrón del tipo 3 en la tabla 6.15. El etiquetador que hemos utilizado tiende a errar al etiquetar el verbo sound, asignándole la categorı́a morfosintáctica nombre. Dado que este error se repite frecuentemente, el algoritmo
de inducción ha encontrado el patrón que se muestra, a partir del análisis
de dependencias que la herramienta utilizada obtiene para construcciones
como la mostrada (tomando como entrada las categorı́as morfosintácticas
asignadas anteriormente). Este patrón demuestra ser efectivo, con una precisión cercana al 100 %, a pesar de basarse en un resultado erróneo de las
herramientas de preprocesado.
A la vista de los experimentos, los patrones de dependencias parecen ser
una herramienta adecuada para conseguir enlazar las palabras de caracterı́stica y las palabras de opinión relacionadas con una alta precisión.
Parte IV
Un sistema de extracción de
opiniones
181
Capı́tulo 7
TOES:
Un Sistema Extractor de
Opiniones sobre Caracterı́sticas
Adaptable al Dominio
Resumen: En el presente capı́tulo, presentamos el sistema de extracción de opiniones sobre caracterı́sticas al que hemos denominado
TOES (Taxonomy-based Opinion Extraction System). La arquitectura modular que plantearemos permite la construcción de sistemas de
extracción basados en los recursos especı́ficos del dominio definidos
en el capı́tulo 5, ası́ como la de sistemas que no hagan uso de dichos
recursos. Se describirán los algoritmos empleados por cada uno de los
componentes concretos del sistema, ası́ como los distintos parámetros
de configuración disponibles. El sistema está completamente implementado y servirá de base al estudio experimental contenido en el
capı́tulo 8.
7.1.
Introducción
El objetivo del sistema es llevar a cabo la extracción de opiniones sobre
caracterı́sticas, según hemos definido la tarea en el capı́tulo 4. El sistema
permite realizar la tarea para un dominio determinado, apoyándose en los
recursos definidos en el capı́tulo 5. De manera alternativa, también contemplamos la posibilidad de llevar a cabo gran parte de la tarea de extracción
183
184
Capı́tulo 7. TOES: Un sistema extractor de opiniones
de opiniones sin hacer uso de los recursos (y por tanto, de manera independiente del dominio), posibilitando la construcción de sistemas de extracción
con un menor esfuerzo (aunque, previsiblemente, con una menor precisión y
cobertura).
La estructura del capı́tulo es la siguiente: en primer lugar, describimos
conceptualmente la arquitectura del sistema. A continuación, definimos una
serie de componentes abstractos participantes en el sistema, cada uno de los
cuáles tiene por objeto la resolución de una subtarea determinada. Para cada
una de estas subtareas, describimos los componentes concretos que hemos
implementado, algunos de los cuáles están basados en distintas técnicas de
la bibliografı́a, y otros se basan en técnicas propias que hacen uso de los
recursos del dominio. Para clarificar el funcionamiento de algunos de los
componentes concretos, puede consultarse el apéndice A, donde se muestran
algunos ejemplos concretos de la ejecución de los mismos.
En el capı́tulo 8 llevaremos a cabo un desarrollo experimental sobre un
dominio concreto, dirigido a evaluar cada uno de estos componentes individualmente, ası́ como el sistema completo de extracción de opiniones, a partir
de distintas combinaciones de los componentes concretos disponibles.
7.2.
Descripción de la arquitectura
del sistema
Hemos intentado afrontar la extracción de opiniones mediante la división
del problema en distintos subproblemas atacables de manera independiente.
Para cada uno de los subproblemas identificados, hemos definido un componente abstracto encargado de su solución. Posteriormente, hemos implementado uno o varios componentes concretos como instancias concretas de
los anteriores, algunos basados en recursos y otros no. Finalmente, la concatenación de varios componentes concretos, junto a una serie de valores de
configuración de los mismos, compondrán un sistema concreto de extracción
(ver figura 7.1). Este diseño modular nos permite una gran flexibilidad para configurar distintos escenarios de experimentación, además de posibilitar
futuras nuevas implementaciones de los componentes abstractos.
La entrada al sistema es un conjunto de documentos de opinión, previamente analizados mediante una serie de herramientas lingüı́sticas, y los
recursos del dominio en cuestión en caso de participar en el sistema algún
componente concreto que haga uso de los mismos. La salida es el conjunto de
evidencias de opinión extraı́das, con al menos los atributos feature y polarity
inicializados.
7.2. Descripción de la arquitectura del sistema
185
Figura 7.1: Arquitectura conceptual de TOES
El sistema no devuelve aquellas evidencias de opinión generadas en el
proceso cuya polaridad haya quedado sin definir.
7.2.1.
Entidades participantes
El sistema dispone de abstracciones que representan a todas las entidades
participantes en el problema, que tratan de ajustarse a las definiciones contenidas en el capı́tulo 4. Los documentos sobre los que se va a llevar a cabo
la extracción de opiniones son analizados mediante las mismas herramientas
lingüı́sticas utilizadas para la generación de los recursos (ver sección 6.2.3),
de manera que dicha información está disponible para su uso por parte de
cualquier componente. También se dispone de abstracciones de los propios
recursos, de forma que la información de los mismos también está disponible
para su uso.
Las evidencias de opinión son representadas mediante abstracciones que
disponen de los mismos atributos que hemos utilizado en su definición formal,
con la diferencia de que el atributo polarity no es un tipo enumerado, sino un
valor real. Si dicho valor real es positivo, se entiende que la polaridad de la
evidencia es positiva, y viceversa. Esto permite a los componentes trabajar
con valores reales de orientación semántica para las evidencias (por ejemplo,
186
Capı́tulo 7. TOES: Un sistema extractor de opiniones
para definir umbrales, aunque tras el proceso completo de extracción sólo
será relevante la polaridad de las mismas.
7.3.
Definición de componentes abstractos y
concretos
En la presente sección, vamos a definir cada uno de los componentes
abstractos que participan en el sistema, describiremos los subproblemas que
atacan y mostraremos algún ejemplo de lo esperado de su ejecución. Además,
para cada componente abstracto, repasaremos los distintos componentes concretos de los que se dispone, explicando el funcionamiento especı́fico de cada
uno.
Hemos identificado los siguientes componentes abstractos, cada uno relacionado con la solución de un subproblema distinto.
Anotador de palabras de caracterı́stica: se encarga de construir
nuevas evidencias de opinión tentativas a partir de la observación de
feature words en los documentos.
Anotador de caracterı́sticas implı́citas: detecta posibles evidencias
de opinión sobre caracterı́sticas implı́citas, a partir de la observación
de palabras de opinión relacionadas con la caracterı́stica.
Enlazador de palabras de opinión: partiendo de evidencias de opinión con alguna palabra de caracterı́stica o de opinión previamente anotada, este componente busca nuevas opinion words relacionadas con las
anteriores y las añade a las evidencias de opinión.
Separador de opiniones: divide en dos aquellas evidencias de opinión que representen a más de una opinión atómica sobre una misma
caracterı́stica.
Solucionador de opiniones superpuestas: resuelve conflictos entre
evidencias de opinión que comparten algunos de sus campos.
Clasificador de opiniones: decide la polaridad de las evidencias de
opinión.
Los componentes anteriores han sido enumerados según el orden lógico de
aplicación para la resolución completa del reconocimiento y clasificación de
opiniones. Por su importancia en dicha resolución, y también por su dificultad
intrı́nseca, los componentes más interesantes son el anotador de palabras
7.3. Definición de componentes
187
de caracterı́sticas, el anotador de caracterı́sticas implı́citas, el enlazador de
palabras de opinión y el clasificador de opiniones.
A continuación detallamos el objetivo de cada componente abstracto,
mostramos algunos ejemplos de los resultados esperados tras su aplicación y
repasamos los componentes concretos disponibles en cada caso.
7.3.1.
Anotador de palabras de caracterı́stica
Este componente localiza palabras en los documentos de entrada que
puedan hacer referencia a caracterı́sticas del dominio. La aparición de dichas
palabras señala la existencia de una posible opinión, por lo que una entidad
de tipo opinión será añadida a la oración correspondiente. Este componente
representa el punto de partida para la extracción de opiniones sobre caracterı́sticas explı́citas.
Entradas: documento procesado.
Salidas: evidencias de opinión con los atributos feature y feature words
inicializados.
Ejemplo de aplicación
Partiendo de la siguiente oración:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) : ( 5 ) they ( 6 ) have
( 7 ) c l e a n ( 8 ) and ( 9 ) w e l l −d e f i n e d ( 1 0 ) h i g h s ( 1 1 ) and ( 1 2 )
p o w e r f u l ( 1 3 ) low ( 1 4 ) f r e q u e n c i e s ( 1 5 ) .
, el anotador de palabras de caracterı́stica generarı́a las siguiente evidencias
de opinión:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2”/>
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=” 11 ”/>
<o p i n i o n f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ”/>
Nótese que el anotador de palabras de caracterı́stica debe anotar todas
las menciones a alguna caracterı́stica del producto realizadas en el texto,
independientemente de que dichas menciones correspondan realmente con
opiniones. Posiblemente algunas de las evidencias de opinión ası́ generadas
serán eliminadas por otros componentes del sistema si no se corresponden
realmente con una opinión.
188
Capı́tulo 7. TOES: Un sistema extractor de opiniones
Anotador de palabras de caracterı́stica basado en la taxonomı́a
Taxonomy-based feature word annotator
Este componente utiliza las palabras de caracterı́stica contenidas en la
taxonomı́a para anotar posibles evidencias de opinión. El funcionamiento es
simple: se recorren las palabras de cada oración del documento de entrada,
buscando ocurrencias de las palabras de caracterı́stica de la taxonomı́a. Si se
encuentra una secuencia de palabras que corresponde con una de las denominaciones contempladas para una caracterı́stica determinada en la taxonomı́a,
se añade a la oración una nueva evidencia de opinión, con los valores adecuados para los atributos feature y feature words. Por último, se eliminan aquellas
evidencias de opinión cuyas palabras de caracterı́stica sean un subconjunto
de las de otra evidencia de opinión de la misma oración.
El componente dispone de un par de parámetros (isPhraseBased y isNounBased ) que permiten restringir las apariciones de palabras de caracterı́stica que serán anotadas, exigiendo que las mismas formen parte de un
sintagma nominal, o bien que contengan algún nombre. Ambos parámetros
tienen como intención evitar la anotación de palabras cuyo morfema coincida con alguna de las palabras de caracterı́stica contenidas en la taxonomı́a,
pero que no se están utilizando en el texto para referenciar a la caracterı́stica
en cuestión. Por ejemplo, la palabra “sound” aparece en la taxonomı́a de
headphones asociada a la caracterı́stica sound quality (piénsese por ejemplo
en la oración “Great sound!”); sin embargo, “sound” también puede aparecer funcionando como verbo (“They sound great!”), en cuyo caso no se
trata de una palabra de caracterı́stica (en el ejemplo mostrado, se tratarı́a
de una palabra del término de opinión “sound great”). De esta forma, la
restricción establecida por el parámetro isPhraseBased consiste en buscar
exclusivamente palabras de caracterı́stica que formen parte de sintagmas nominales, y la establecida por el parámetro isNounBased, que obliga a que al
menos una de las palabras anotadas sea un nombre, van encaminadas a filtrar
ambigüedades como la mostrada. En último término, la solución a todas las
ambigüedades entre morfemas del texto y elementos de la taxonomı́a vendrı́a
dada por la correcta anotación de los significados concretos de las palabras
de caracterı́stica incluidas en la taxonomı́a, por ejemplo mediante el uso de
los synsets de WordNet. Pero esto nos obligarı́a a realizar desambigüación de
significados de las palabras de los documentos de entrada. Siendo ésta una
tarea aún por perfeccionar, hemos considerado más conveniente la solución
parcial planteada basada en la información morfosintáctica. Aún ası́, la información morfosintáctica que nos proporcionan los analizadores que utilizamos
no está exenta de fallos, por lo que será necesario comprobar la eficacia de
las restricciones planteadas (ver sección 8.3.1).
7.3. Definición de componentes
7.3.2.
189
Anotador de caracterı́sticas implı́citas
Este componente identifica la posible presencia de opiniones sobre caracterı́sticas implı́citas, a partir de la observación de palabras de opinión relacionadas con dichas caracterı́sticas. La aparición de estas palabras ocasionará la
creación de entidades de tipo opinión que serán añadidas a la oración correspondiente. Este componente representa el punto de partida para la extracción
de opiniones sobre caracterı́sticas implı́citas.
Entradas: documento procesado.
Salidas: evidencias de opinión con los atributos feature y opinion words
inicializados.
Ejemplo de aplicación
Partiendo de la siguiente oración:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) : ( 5 ) they ( 6 ) have
( 7 ) c l e a n ( 8 ) and ( 9 ) w e l l −d e f i n e d ( 1 0 ) h i g h s ( 1 1 ) and ( 1 2 )
p o w e r f u l ( 1 3 ) low ( 1 4 ) f r e q u e n c i e s ( 1 5 ) .
, el anotador de caracterı́sticas implı́citas generarı́a la siguiente evidencia de
opinión:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
Anotador de caracterı́sticas implı́citas basado en los indicadores
Cue-based implicit feature annotator
Este componente hace uso de los indicadores de caracterı́sticas implı́citas
para anotar posibles evidencias de opinión sobre caracterı́sticas implı́citas.
La definición de dicho recurso puede consultarse en la sección 5.6.1. El funcionamiento del componente es simple: se buscan apariciones de los términos
incluidos en el recurso, y se crean nuevas evidencias de opinión con dichas
apariciones etiquetadas como palabras de opinión. El componente dispone
de parámetros para establecer umbrales de probabilidad y de soporte, de
manera que no todos los términos incluidos en el recurso sean utilizados,
sino sólo aquellos cuyos valores de soporte y probabilidad cumplan con dichos umbrales mı́nimos establecidos. Dado que algunos términos del recurso
están asociados a más de una caracterı́stica, el componente escogerá aquella
caracterı́stica cuya probabilidad sea mayor. Por último, se eliminan aquellas
evidencias de opinión cuyas palabras de opinión sean un subconjunto de las
palabras de opinión de otras evidencias de opinión añadidas por este mismo
componente.
190
Capı́tulo 7. TOES: Un sistema extractor de opiniones
El componente también dispone de un parámetro que permite seleccionar
si se utilizan las probabilidades condicionadas o no condicionadas (aquellas
correspondientes a los atributos feature-based implicit feature probability y
feature-based implicit feature, not explicit, conditional probabily del recurso,
ver sección 5.6.1).
Anotador de caracterı́sticas implı́citas basado en PMI-IR
PMIIR-based implicit feature annotator
Este componente resuelve la anotación de evidencias de opinión sobre
caracterı́sticas implı́citas de manera no supervisada. Para ello, se utiliza el
algoritmo Pointwise Mutual Information - Information Retrieval, que mide
la dependencia estadı́stica de dos palabras o expresiones, estimando ciertas
probabilidades mediante el uso de búsquedas en un motor de recuperación
de información web. Esta medida es utilizada en (Turney, 2002b) y (Turney
& Littman, 2003b) para calcular la orientación semántica de expresiones de
manera no supervisada, calculando el valor de PMIR-IR entre un término
determinado y algunas palabras que actúan a modo de semillas positivas
y negativas (por ejemplo, “excellent” como semilla positiva y “poor” como
semilla negativa). Si un término obtiene, por ejemplo, un valor mucho mayor
de dependencia estadı́stica con las semillas positivas que con las negativas, es
probable que la palabra en cuestión posea una orientación semántica positiva.
El algoritmo está explicado en detalle en la sección 2.3.1.
El componente que nos ocupa utiliza la misma técnica de cálculo de dependencias estadı́sticas entre palabras para decidir si alguna de las palabras
que aparecen en una frase determinada está relacionada con alguno de los
elementos de la taxonomı́a de caracterı́sticas. Para cada uno de los adjetivos
encontrados en un documento de entrada, el componente calcula los valores
de P M IIR entre el adjetivo y el nombre de cada una de las caracterı́sticas
contenidas en la taxonomı́a. Si alguno de los valores obtenidos es lo suficientemente grande, se crea una nueva evidencia de opinión para la caracterı́stica
que obtuvo dicho valor y con dicho adjetivo como palabra de opinión. Se
dispone de un parámetro que permite indicar el valor mı́nimo de P M IIR
que debe obtenerse para que el componente añada una nueva evidencia de
opinión.
7.3.3.
Enlazador de palabras de opinión
A partir de una evidencia de opinión previamente creada, el enlazador
de palabras de opinión debe seleccionar aquellas palabras de la oración que
actúen como palabras de opinión en dicha evidencia. Para llevar a cabo es-
7.3. Definición de componentes
191
ta tarea, el componente puede basarse en las palabras de caracterı́stica o
de opinión previamente anotadas en la evidencia de opinión. Las palabras
de opinión añadidas pueden ocasionalmente formar parte de expresiones de
negación o de polaridad dominante.
Entradas: documento procesado, evidencias de opinión con el atributo
feature y al menos feature words o opinion words inicializados.
Salidas: evidencias de opinión anteriores, posiblemente con nuevas opinion words.
Ejemplo de aplicación
Partiendo de la siguiente oración:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) : ( 5 ) they ( 6 ) have
( 7 ) c l e a n ( 8 ) and ( 9 ) w e l l −d e f i n e d ( 1 0 ) h i g h s ( 1 1 ) and ( 1 2 )
p o w e r f u l ( 1 3 ) low ( 1 4 ) f r e q u e n c i e s ( 1 5 ) .
, y las siguientes evidencias de opinión:
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
f e a t u r e=” headphones ” featWords=”2”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ”/>
f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ”/>
f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
, la aplicación del enlazador de palabras de opinión deberı́a obtener las siguientes evidencias de opinión para la oración:
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
f e a t u r e=” headphones ” featWords=”2” opWords=” 3 , 4 ”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 8 , 1 0 ”/>
f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ” opWords=” 13 ”/>
f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
Enlazador de palabras de opinión basado en ventana
Window-based opinion word linker
Esta implementación del enlazador de palabras de opinión lleva a cabo
una aproximación simple al problema de seleccionar qué palabras del contexto
de las palabras de caracterı́stica pueden considerarse palabras de opinión
que afecten a las mismas, sin hacer uso de ningún recurso. A partir de una
evidencia de opinión previamente generada y cuyo atributo feature words no
esté vacı́o, se añadirán como palabras de opinión algunas de las palabras del
contexto de dichas palabras de caracterı́stica. Tanto el tamaño de la ventana
de contexto a utilizar, como las categorı́as morfosintácticas que serán tenidas
en cuenta como palabras de opinión, son configurables.
192
Capı́tulo 7. TOES: Un sistema extractor de opiniones
Figura 7.2: Árbol de dependencias de la oración de ejemplo
La simplicidad de este componente limita mucho su potencia. Si se utilizan
ventanas pequeñas, no se capturarán correctamente aquellas evidencias de
opinión en las que las palabras de caracterı́stica y las palabras de opinión
estén más alejadas. Si se utilizan ventanas grandes, es probable que se añadan
más palabras de opinión de las que realmente están modificando a las palabras
de caracterı́stica.
Enlazador de palabras de opinión basado en dependencias
Dependency-based opinion word linker
Para sobrepasar las limitaciones encontradas en la aproximación basada
en ventana anterior, se dispone de un enlazador de palabras de opinión que
utiliza la información proporcionada por un analizador de dependencias. A
partir de los patrones contenidos en el recurso de patrones de dependencias
(ver definición del recurso en la sección 5.7.1), el enlazador de palabras de
opinión basado en dependencias es capaz de añadir palabras de opinión con
independencia de la separación entre éstas y las palabras de caracterı́stica.
Ası́, por ejemplo, en la oración “The headphones that I bought in a small local
shop yesterday are excellent.”, cuyo árbol de dependencias se muestra en la
figura 7.2, el componente será capaz de enlazar la palabra de opinión “excellent” con la palabra de caracterı́stica “headphones” (que aparecen alejadas
en la oración pero estrechamente relacionadas en el árbol de dependencias),
siempre que el recurso de patrones de dependencias contenga el patrón adecuado.
7.3. Definición de componentes
193
El componente no sólo permite añadir palabras de opinión a evidencias
de opinión partiendo de las palabras de caracterı́stica previamente anotadas
(haciendo uso de los patrones de tipo 1 o tipo 2), sino también añadir palabras
de opinión relacionadas con otras palabras de opinión previamente anotadas
(haciendo uso de los patrones de tipo 3)1 . Este modo de funcionamiento
puede ser controlado mediante un parámetro de configuración.
Sea cual sea el tipo de patrón que se aplique, el componente buscará en
las evidencias de opinión previamente generadas palabras origen válidas, y a
partir de ellas buscará palabras destino dentro de la oración que se relacionen con las palabras origen de la manera expresada por el patrón utilizado
(es decir, con el mismo camino ascendente y descendente de relaciones de
dependencias y etiquetas morfosintácticas). Por ejemplo, si el componente
está configurado para funcionar con patrones de tipo 1, tratará de aplicar cada uno de los patrones de tipo 1 disponibles en el recurso partiendo de cada
una de las palabras de caracterı́stica previamente anotadas en las evidencias
de opinión disponibles. Aquellas palabras de la oración que estén conectadas
en el árbol de dependencias con alguna de esas palabras de caracterı́stica,
a través de un camino cuyas relaciones de dependencias y categorı́as morfosintácticas coincidan con las contenidas en alguno de los patrones utilizados,
serán añadidas como palabras de opinión.
En aquellos casos en que el patrón deba aplicarse a partir del núcleo de las
palabras de caracterı́stica o del núcleo de las palabras de opinión previamente
anotadas (patrones de tipo 2 y 3), el componente selecciona como núcleo
aquella palabra de la que dependen las demás. Si no se conocen relaciones de
dependencia entre las palabras implicadas (algo que puede ocurrir a causa de
las limitaciones de los analizadores de dependencias), se toma como núcleo
a la palabra más a la derecha en la oración.
Los patrones de dependencias son aplicados por el componente en el orden en que aparecen en el recurso, esto es, comenzando por los patrones
que obtuvieron una mayor precisión en la fase de generación del recurso. El
componente dejará de aplicar patrones cuando la precisión de los mismos sea
inferior a un umbral, o cuando se hayan seleccionado suficientes palabras de
opinión. Estas caracterı́sticas son también controladas mediante parámetros
de configuración.
1
Recordemos que los patrones de tipo 1 conectan cualquier palabra de caracterı́stica
con cualquier palabra de opinión, los de tipo 2 conectan el núcleo de las palabras de
caracterı́stica con el núcleo de las palabras de opinión, y los de tipo 3 conectan el núcleo
de las palabras de opinión con cualquier otra palabra de opinión.
194
Capı́tulo 7. TOES: Un sistema extractor de opiniones
Enlazador de expresiones especiales basado en ventana
Window-based special expression linker
Este componente concreto es una implementación del enlazador de palabras de opinión que, partiendo de evidencias de opinión con alguna palabra
de opinión previamente anotada, busca expresiones especiales (de negación
o de polaridad dominante) que afecten a dichas palabras de opinión, y las
añade como nuevas palabras de opinión a las evidencias. La intuición nos
dice que, en la mayorı́a de los casos, este tipo de expresiones aparecen en
un contexto muy cercano de las palabras de opinión a las que afectan. Esta
intuición, unida al bajo número de expresiones que consideramos, justifica la
utilización de una ventana de contexto alrededor de las palabras de opinión
para las que estemos buscando expresiones especiales relacionadas. Dentro de
dicha ventana, el componente busca la aparición de expresiones contenidas
en las listas de expresiones especiales. Se trata por tanto de un componente
basado en recurso, pero independiente del dominio (puesto que dichas listas
lo son).
Enlazador de expresiones especiales basado en dependencias
Dependency-based special expression linker
En un intento por superar las limitaciones del componente concreto anterior, el enlazador de expresiones especiales basado en dependencias se apoya
en el recurso de patrones de dependencias para realizar la tarea de seleccionar las expresiones especiales que afectan a ciertas palabras de opinión
previamente anotadas. La forma de operar del componente es similar a la
del enlazador de palabras de opinión basado en dependencias: partiendo del
núcleo de las palabras de opinión de la evidencia que se esté tratando, se
aplican de manera secuencial los patrones de tipo 4 (para las expresiones de
negación) o 5 (para las expresiones de polaridad dominante) del recurso de
patrones de dependencias, añadiendo las palabras ası́ extraı́das, mientras se
cumplan los valores umbrales de precisión y número máximo de palabras de
opinión establecidos en el componente.
Previamente a realizar su tarea, el componente busca expresiones de no
negación, marcándolas para impedir que las palabras participantes en las
mismas sean extraı́das por los patrones de dependencias.
7.3.4.
Separador de opiniones
Según el enfoque que seguimos en nuestro trabajo, cada opinión identificable sobre una caracterı́stica determinada debe ser representada y extraı́da
7.3. Definición de componentes
195
por el sistema de manera atómica, aunque se trate de opiniones contenidas en
una misma oración y sobre una misma caracterı́stica. El separador de opiniones tiene la finalidad de dividir en dos o más evidencias aquellas evidencias
de opinión que representen a más de una opinión atómica, basándose para
ello en las palabras de opinión previamente identificadas.
Entradas: documento procesado, evidencias de opinión con al menos
los atributos feature y opinion words inicializados.
Salidas: evidencias de opinión resultantes de la división.
Ejemplo de aplicación
Partiendo de la siguiente oración:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) : ( 5 ) they ( 6 ) have
( 7 ) c l e a n ( 8 ) and ( 9 ) w e l l −d e f i n e d ( 1 0 ) h i g h s ( 1 1 ) and ( 1 2 )
p o w e r f u l ( 1 3 ) low ( 1 4 ) f r e q u e n c i e s ( 1 5 ) .
, y las siguientes evidencias de opinión:
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
f e a t u r e=” headphones ” featWords=”2” opWords=” 3 , 4 ”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 8 , 1 0 ”/>
f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ” opWords=” 13 ”/>
f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
, la aplicación del separador de opiniones deberı́a obtener las siguientes evidencias de opinión para la oración:
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
f e a t u r e=” headphones ” featWords=”2” opWords=” 3 , 4 ”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=”8”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 10 ” />
f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ” opWords=” 13 ”/>
f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
Separador de opiniones basado en conjunciones
Conjunction-based opinion splitter
El sistema sólo posee una implementación concreta del componente abstracto que nos ocupa. En concreto, el componente divide aquellas evidencias
de opinión cuyas palabras de opinión estén separadas en la oración por una
conjunción. El procedimiento es sencillo: se recorren las secuencias de palabras de la oración contenidas entre cada dos palabras de opinión de cada
evidencia de opinión. Si entre las palabras de dicha secuencia se encuentran
determinadas conjunciones (el conjunto de estas palabras es configurable),
la evidencia de opinión es dividida en varias evidencias, conteniendo cada
una de ellas las palabras de opinión existentes en cada una de las partes
delimitadas por las conjunciones.
196
Capı́tulo 7. TOES: Un sistema extractor de opiniones
7.3.5.
Solucionador de opiniones superpuestas
En ocasiones, algunas de las evidencias de opinión generadas por el sistema comparten algunas palabras de opinión. En algunos casos, el solucionador
de opiniones superpuestas puede decidir eliminar algunas de las palabras de
opinión de alguna de las opiniones involucradas, para solucionar el conflicto.
En otros casos, el componente puede optar por dejar la situación tal como está, al considerar que las palabras de opinión involucradas participan
realmente en varias opiniones.
Entradas: documento procesado, evidencias de opinión con al menos
los atributos feature y opinion words inicializados.
Salidas: evidencias de opinión anteriores, posiblemente con algunas palabras de opinión menos en algunas de ellas.
Ejemplo de aplicación
Partiendo de la siguiente oración:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) : ( 5 ) they ( 6 ) have
( 7 ) c l e a n ( 8 ) and ( 9 ) w e l l −d e f i n e d ( 1 0 ) h i g h s ( 1 1 ) and ( 1 2 )
p o w e r f u l ( 1 3 ) low ( 1 4 ) f r e q u e n c i e s ( 1 5 ) .
, y las siguientes evidencias de opinión:
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
f e a t u r e=” headphones ” featWords=”2” opWords=” 3 , 4 ”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=”8”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 10 ” />
f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ” opWords=” 13 ”/>
f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
, la aplicación del solucionador de opiniones superpuestas deberı́a obtener las
siguientes evidencias de opinión para la oración:
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
f e a t u r e=” headphones ” featWords=”2” opWords=””/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=”8”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 10 ” />
f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ” opWords=” 13 ”/>
f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
Nótese que se han eliminado las palabras de opinión “sound great” asociadas a la caracterı́stica headphones en la primera evidencia de opinión, puesto
que las mismas palabras estaban asociadas a la caracterı́stica más especı́fica
sound quality. La evidencia de opinión en cuestión se queda sin palabras de
opinión; suponiendo que no se enlazaran nuevas palabras de opinión posteriormente, la evidencia serı́a descartada por el sistema al final del proceso, al
obtener un valor nulo de polaridad.
7.3. Definición de componentes
197
Solucionador de opiniones explı́citas superpuestas
Explicit overlapping opinion fixer
Este componente busca pares de evidencias de opinión sobre caracterı́sticas explı́citas con palabras de opinión en común, y elimina las palabras de
opinión en conflicto en aquella evidencia en la que las palabras de opinión
estén más distantes de las palabras de caracterı́stica. De esta manera, se pretende corregir posibles errores cometidos por algún componente enlazador de
palabras de opinión.
Existen sin embargo casos en los que es posible que varias evidencias de
opinión sobre caracterı́sticas explı́citas compartan una o varias palabras de
opinión. Esto ocurre en algunas oraciones en las que aparecen varias caracterı́sticas referidas a través de un solo sintagma nominal, en construcciones
conjuntivas. Por ejemplo, en la oración “The highs and mids are outstanding”, aparecen dos evidencias de opinión, una sobre la caracterı́stica highs y
otra sobre mids, actuando en ambas la palabra “outstanding” como palabra
de opinión. El solucionador de opiniones explı́citas superpuestas tratará de
detectar estos casos, de manera que si encuentra una construcción conjuntiva
entre las palabras de caracterı́stica de las evidencias de opinión involucradas
no se eliminarán palabras de opinión de ninguna de ellas.
Solucionador de opiniones implı́cita/explı́cita superpuestas
Implicit/Explicit overlapping opinion fixer
Este componente busca pares de evidencias de opinión, una sobre caracterı́stica explı́cita y otra sobre caracterı́stica implı́cita, que compartan una o
varias palabras de opinión. En función de la caracterı́stica de cada una de
las evidencias, decide de cuál de ellas debe eliminar la palabra o palabras de
opinión compartidas:
Si la caracterı́stica implı́cita es una especialización de la caracterı́stica
explı́cita (es decir, si aparece en la taxonomı́a dependiendo de la misma), las palabras de opinión en conflicto son eliminadas de la evidencia
de opinión sobre caracterı́stica explı́cita. Se entiende que en estos casos, la opinión implı́cita está concretando la caracterı́stica con mayor
precisión.
En otro caso, se eliminan las palabras de opinión de la evidencia sobre
caracterı́stica implı́cita.
Veamos un ejemplo de cada caso. En la oración “These headphones sound
great”, ante la existencia de dos evidencias de opinión, una explı́cita sobre la
198
Capı́tulo 7. TOES: Un sistema extractor de opiniones
caracterı́stica headphones y otra explı́cita sobre sound quality, ambas con las
palabras de opinión “sound quality”, el componente eliminarı́a las palabras
de opinión de la primera evidencia, al ser la caracterı́stica headphones un
nodo padre de sound quality en la taxonomı́a de caracterı́sticas del dominio.
Sin embargo, en la oración “The case is too big”, y ante la existencia de
dos evidencias de opinión, una explı́cita sobre la caracterı́stica case y otra
implı́cita sobre size, ambas con las palabras de opinión “too big”, el componente eliminarı́a las palabras de opinión de la segunda evidencia, al no ser
size una especialización de case en la taxonomı́a.
7.3.6.
Clasificador de opiniones
El clasificador de opiniones es el componente encargado de decidir la polaridad de las evidencias de opinión, a partir de la información previamente
anotada en la misma (generalmente, caracterı́stica y palabras de opinión,
incluyendo expresiones de negación y de polaridad dominante). En algunos
casos, el clasificador de opiniones puede no estar seguro de la polaridad de
una opinión (o incluso decidir que no se trata de una opinión), en cuyo caso
la dejará sin valor. Además, el clasificador comprobará previamente si la evidencia de opinión que se pretende clasificar ya posee un valor de orientación
semántica. Si es ası́, no procesará la evidencia. De esta forma se permite enlazar varios clasificadores de opiniones, de manera que un clasificador posterior
sólo clasificará aquellas evidencias de opinión que no hayan sido clasificadas
por los componentes anteriores.
Entradas: documento procesado, evidencias de opinión con al menos
los atributos feature y opinion words inicializados.
Salidas: evidencias de opinión anteriores, posiblemente con el atributo
polarity inicializado.
Ejemplo de aplicación
Partiendo de la siguiente oración:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) : ( 5 ) they ( 6 ) have
( 7 ) c l e a n ( 8 ) and ( 9 ) w e l l −d e f i n e d ( 1 0 ) h i g h s ( 1 1 ) and ( 1 2 )
p o w e r f u l ( 1 3 ) low ( 1 4 ) f r e q u e n c i e s ( 1 5 ) .
, y las siguientes evidencias de opinión:
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
f e a t u r e=” headphones ” featWords=”2” opWords=””/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=”8”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 10 ” />
f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ” opWords=” 13 ”/>
7.3. Definición de componentes
199
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
, la aplicación del clasificador de opiniones superpuestas deberı́a obtener las
siguientes evidencias de opinión para la oración:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2” opWords=””/>
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=”8”
p o l a r i t y=”+”/>
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 10 ”
p o l a r i t y=”+”/>
<o p i n i o n f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ” opWords=” 13 ”
p o l a r i t y=”+”/>
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” p o l a r i t y=”+” />
Clasificador de opiniones basado en el lexicón de opiniones
Lexicon-based opinion classifier
Este componente utiliza la información contenida en el lexicón de opiniones para decidir la polaridad de las evidencias de opinión previamente
generadas. Además de este recurso, también se utilizan las listas de expresiones especiales.
Dada una evidencia de opinión sobre una caracterı́stica determinada, el
funcionamiento es el siguiente:
1. Tras comprobar que la orientación semántica aún no ha sido calculada,
se buscan expresiones de no negación dentro de las palabras de opinión.
En caso de encontrarse, las palabras participantes no serán tenidas en
cuenta en el resto del proceso de clasificación.
2. Se buscan expresiones de negación. Si se encuentra un número impar,
la polaridad finalmente calculada será invertida. Las palabras participantes en las expresiones encontradas no serán tenidas en cuenta en el
resto del proceso de clasificación.
3. Se buscan expresiones de polaridad dominante. Si se encuentra alguna,
se decide la polaridad de la opinión en base a la polaridad de dicha
expresión, y el proceso acaba.
4. Si no se encontraron expresiones de polaridad dominante, se procede
a buscar en el lexicón de opiniones el término formado por todas las
palabras de opinión. Si se encuentra dicho término, y sus valores de probabilidad y orientación semántica en el lexicón para la caracterı́stica de
la evidencia son superiores a ciertos valores (estos umbrales son configurables mediante parámetros del componente), el componente decide
200
Capı́tulo 7. TOES: Un sistema extractor de opiniones
la polaridad de la evidencia de opinión en función del valor encontrado
en el recurso (y de las posibles expresiones de negación encontradas).
5. Si no se obtuvo una estimación de la polaridad a partir del paso anterior,
se procede a buscar en el lexicón los subtérminos formados por aquellas
palabras de opinión que aparezcan de manera contigua en la oración.
Si dicha búsqueda también es infructuosa (o los valores encontrados
no superan los umbrales configurados), se buscan en el lexicón cada
una de las palabras de opinión individualmente. En ambos casos, se
estima la orientación semántica del conjunto mediante la media de las
orientaciones semánticas de los términos contenidas en el lexicón para
la caracterı́stica de la evidencia . El componente decide la polaridad de
la evidencia a partir del valor obtenido (y de las posibles expresiones
de negación encontradas).
El componente permite la expansión semántica basada en WordNet de los
términos a buscar en el lexicón. De esta forma, si una palabra determinada
no se encuentra en el lexicón, pero sı́ algún sinónimo o antónimo de la misma, el componente puede utilizar los valores de probabilidad y orientación
semántica contenidos en el lexicón para esa otra palabra para estimar los
valores de probabilidad y orientación semántica de la palabra original. Este
comportamiento puede ser desactivado mediante un parámetro.
El componente dispone también de parámetros para ajustar los valores
mı́nimos de support, feature-based opinion word probability y feature-based
semantic orientation polarity exigibles para que las estimaciones contenidas
en el lexicón de opinión sean consideradas. Para clarificar el funcionamiento del componente, pueden consultarse ejemplos concretos de ejecución del
mismo en la sección A.9.
Clasificador de opiniones basado en PMI-IR
PMIIR-based opinion classifier
Este componente lleva a cabo la clasificación de opiniones de manera no
supervisada, utilizando el algoritmo Pointwise Mutual Information - Information Retrieval (Turney, 2002b) (Turney & Littman, 2003b) para realizar
estimaciones reales entre -1,0 y 1,0 de la orientación semántica de los términos
de opinión participantes en las evidencias de opinión a clasificar. El algoritmo
está explicado en la sección 2.3.1.
La forma de proceder del componente es similar a la del clasificador basado en el lexicón de opiniones, con dos diferencias fundamentales. En primer
lugar, en sustitución de los valores de orientación semántica del lexicón, se
utilizan las estimaciones generadas mediante la fórmula anterior, llevando
7.3. Definición de componentes
201
a cabo las búsquedas necesarias en AltaVista2 . Téngase en cuenta que las
orientaciones semánticas ası́ calculadas son independientes del dominio y de
la caracterı́stica. Además, no se dispone de los valores de probabilidad de que
un término funcione como término de opinión.
En segundo lugar, las estimaciones de orientación semántica se llevan a
cabo siempre para los términos obtenidos a partir de las palabras de opinión
que aparecen de manera contigua en la oración, a diferencia del clasificador anterior, que permitı́a también llevar a cabo estimaciones basadas en el
término formado por todas las palabras de opinión y por cada una de las palabras por separado. El resto del funcionamiento del componente es similar
al del clasificador anterior, incluido el tratamiento de las expresiones de no
negación, de negación y de polaridad dominante.
Clasificador de opiniones basado en WordNet
WordNet-based opinion classifier
El clasificador de opiniones basado en WordNet utiliza una medida de
similitud entre adjetivos basada en distancias en un grafo construido a partir de las relaciones de sinonimia de WordNet para estimar la orientación
semántica de las palabras de opinión. El método está basado en el utilizado
en (Kamps et al, 2004b). Para calcular la orientación semántica de una palabra, se calcula la distancia en el grafo anterior entre la palabra y dos semillas,
una representando la positividad (“good”) y otra la negatividad (“bad”). A
partir de dichas distancias, y de la distancia entre ambas semillas, se estima la orientación semántica de una palabra w según la siguiente función,
extraı́da de (Kamps et al, 2004b):
EV A(w) =
d(w, “bad”) − d(w, “good”)
d(“good”, “bad”)
Los valores ası́ obtenidos están contenidos en el intervalo [−1, 0; 1, 0]. En
nuestra implementación de esta función, hemos utilizado una versión modificada de la distancia definida en (Kamps et al, 2004b): además de las relaciones de sinonimia, hemos utilizado las relaciones de similitud entre adjetivos
disponibles en WordNet. De esta forma, la distancia entre dos palabras w1 y
w2 se calcula generando los conjuntos de sinónimos y adjetivos similares de
la primera palabra. Si el conjunto generado contiene a la segunda palabra,
la distancia es igual a 1. Si no, se genera un nuevo conjunto con todos los
sinónimos y adjetivos similares de cada una de las palabras del conjunto anterior. Si el nuevo conjunto contiene a w2 , la distancia es igual a 2. Si no, el
2
Hemos implementado una caché de búsquedas para minimizar en lo posible la dependencia con el buscador web.
202
Capı́tulo 7. TOES: Un sistema extractor de opiniones
proceso se repite nuevamente, las veces necesarias, siendo la distancia igual
al número de conjuntos generados hasta encontrar a w2 .
El componente utiliza esta función para estimar la orientación semántica de los adjetivos participantes como palabras de opinión en las evidencias
de opinión a clasificar, estimando la orientación semántica de las evidencias
como la media de las orientaciones semánticas no nulas de los adjetivos participantes (e invirtiendo el signo en caso de haberse encontrado un número
impar de expresiones de negación participando en las palabras de opinión).
Nótese que las orientaciones semánticas son calculadas a nivel de palabra, y
sólo para los adjetivos, por lo que la orientación semántica estimada para una
evidencia de opinión con las palabras de opinión “sound great” será igual a
la orientación semántica calculada mediante la función EV A(“great”). Esto
puede ser una limitación con respecto a los dos clasificadores anteriormente
descritos, en los que se estima la orientación semántica de grupos de palabras
de manera conjunta.
Se dispone de un parámetro para controlar el valor mı́nimo que debe obtenerse como estimación de la orientación semántica de un término para que
el resultado de la estimación sea tomado como válido. El componente lleva
a cabo un tratamiento de las expresiones especiales similar a los anteriores
clasificadores.
Clasificador de opiniones basado en SentiWordNet
SentiWordNet-based opinion classifier
Este clasificador de opiniones utiliza el recurso SentiWordNet 3.0 (Baccianella & Sebastiani, 2010). SentiWordNet es un recurso léxico, de generación semiautomática, en el que a cada synset de WordNet se le asignan tres
puntuaciones: una de positividad, otra de negatividad y una tercera de objetividad. El clasificador de opiniones basado en SentiWordNet utiliza las
puntuaciones de positividad y negatividad para estimar las orientaciones
semánticas de las evidencias de opinión. Para ello, busca cada una de las
palabras de opinión en el recurso; dado que nuestro sistema no incluye una
etapa de desambigüación de significados, se utiliza la información contenida
en SentiWordNet para todos los synsets a los que pertenezca la palabra (con
su correspondiente categorı́a morfosintáctica) cuya orientación semántica se
está estimando. Para cada synset, se estima la orientación semántica como la
diferencia entre las puntuaciones de positividad y negatividad. Cada palabra
de opinión recibe entonces como orientación semántica la media de las orientaciones semánticas ası́ calculadas para todos los synsets a los que pertenezca
la palabra con su correspondiente categorı́a morfosintáctica. Por último, la
orientación semántica final para la evidencia de opinión será la media de las
7.3. Definición de componentes
203
orientaciones semánticas de aquellas palabras encontradas en SentiWordNet.
El componente dispone de un parámetro que permite establecer el valor absoluto mı́nimo que debe obtenerse como estimación de la orientación
semántica de un término para que el resultado de la estimación sea tomado
como válido. El tratamiento de las expresiones especiales es similar al del
resto de clasificadores de opiniones.
Clasificador de opiniones basado en conjunciones
Conjunction-based opinion classifier
A diferencia del resto de clasificadores de opiniones, el clasificador basado
en conjunciones no permite clasificar las evidencias de opinión directamente
a partir de las palabras de opinión. Para llevar a cabo su tarea, otro clasificador o clasificadores de opiniones deben haber sido ejecutados previamente. La
tarea del componente concreto que nos ocupa es la de clasificar un pequeño
número de evidencias de opinión que no hayan conseguido ser clasificadas
previamente, basándose en la polaridad de otras evidencias de opinión de la
misma oración. Nos basamos para ello en el mismo principio que en el método de ampliación del lexicón de opiniones (ver sección 6.8), según el cual las
orientaciones semánticas de dos adjetivos relacionados mediante una conjunción “and” tienden a compartir polaridad. De forma similar, las orientaciones
semánticas de dos adjetivos relacionados mediante una conjunción “but” suelen tener polaridades contrarias (Hatzivassiloglou & McKeown, 1997).
Basándose en este principio, el funcionamiento del componente es simple. Para cada evidencia de opinión cuya polaridad sea nula, se buscan otras
evidencias de opinión en la misma oración con polaridad no nula, cuyas palabras de opinión estén situadas en la oración formando una construcción
conjuntiva con las palabras de opinión de la evidencia que se está intentando
clasificar. Si se encuentra alguna evidencia con dichas caracterı́sticas, se decide la polaridad en función de dicha evidencia y de la conjunción utilizada
en la expresión.
7.3.7.
Componentes simulados
Para llevar a cabo algunos de los experimentos que detallaremos en el
siguiente capı́tulo, algunos componentes concretos que hemos llamado simulados fueron implementados. Estos componentes llevan a cabo su tarea de
manera perfecta, utilizando para ellos las evidencias de opinión anotadas en
el corpus. Mediante la utilización de estos componentes en determinados pipelines experimentales, podremos medir la precisión del resto de componentes
concretos de manera individual.
204
Capı́tulo 7. TOES: Un sistema extractor de opiniones
Figura 7.3: Ejemplo de pipeline
Se dispone de componentes concretos simulados para los siguientes componentes abstractos (se muestra el nombre que recibe cada componente tramposo en el sistema):
Anotador de palabras de caracterı́stica (Fake feature word annotator )
Anotador de caracterı́sticas implı́citas (Fake implicit feature annotator )
Enlazador de palabras de opinión (Fake opinion word linker )
Clasificador de opiniones (Fake opinion classifier )
El anotador de palabras de caracterı́stica simulado, por ejemplo, generarı́a
una evidencia de opinión por cada evidencia sobre caracterı́stica explı́cita
anotada en el corpus, completando tan solo los campos feature y feature
words de las evidencias creadas. Usando este componente en lugar del anotador de palabras de caracterı́stica basado en la taxonomı́a de caracterı́sticas,
podrı́amos estudiar la precisión de otros componentes concretos, sabiendo
que los errores que se produzcan serán responsabilidad de esos otros componentes, y no del anotador de palabras de caracterı́stica.
7.3.8.
Pipelines de procesado
Para llevar a cabo el proceso completo de extracción de opiniones, debemos ejecutar una lista de componentes concretos en un orden determinado.
Dado que en algunos casos hemos implementado varios componentes concretos que resuelven un mismo subproblema desde acercamientos distintos, y
que además dichos componentes disponen de parámetros que permiten configurarlos para funcionar de maneras sensiblemente distintas, son muchas las
combinaciones posibles con las que abordar el problema. Llamamos pipeline
a cada lista de componentes concretos posible, con un orden determinado de
ejecución y un conjunto de valores para los parámetros de configuración de
cada uno de los componentes participantes.
El sistema permite definir un pipeline mediante un formato XML en el
que se describen los componentes en un orden determinado y los valores de
los parámetros. Por ejemplo, el pipeline mostrado en la figura 7.3 se describe
con el siguiente código:
7.3. Definición de componentes
205
<p i p e l i n e name=” e x p l i c i t , d e p e n d e n c i e s , l e x i c o n ”>
<component name=” E x p l i c i t ”
type=”Taxonomy−based FeatureWordAnnotator ”>
<param name=” i s P h r a s e B a s e d ” v a l u e=” f a l s e ”/>
<param name=” isNounBased ” v a l u e=” f a l s e ”/>
</ component>
<component name=” L i n k e r ”
type=” Dependency−based OpinionWordLinker ”>
<param name=” type ” v a l u e=” 1 ” />
<param name=” m i n P r e c i s i o n ” v a l u e=” 0 . 1 ”/>
<param name=” m i n A c c P r e c i s i o n ” v a l u e=” 0 . 7 ”/>
<param name=”maxOpWords” v a l u e=”2”/>
</ component>
<component name=” Negation ”
type=”Window−b a s e d S p e c i a l E x p r e s s i o n L i n k e r ”>
<param name=” type ” v a l u e=” 1 ” />
<param name=” windowSize ” v a l u e=” 2 ” />
</ component>
<component name=”Dominant”
type=”Window−b a s e d S p e c i a l E x p r e s s i o n L i n k e r ”>
<param name=” type ” v a l u e=” 2 ” />
<param name=” windowSize ” v a l u e=” 1 ” />
</ component>
<component name=” P o l a r i t y ”
type=” Lexicon−based OpinionWordLinker ”>
<param name=”useWordNetSynToExpand” v a l u e=” f a l s e ” />
<param name=”useWordNetAntToExpand” v a l u e=” f a l s e ”/>
<param name=” useCompletePhrase ” v a l u e=” t r u e ” />
<param name=” useContiguousWordsAsPhrase ” v a l u e=” t r u e ”/>
<param name=” useEachWordAsPhrase ” v a l u e=” t r u e ”/>
<param name=” useGlobalSO ” v a l u e=” f a l s e ” />
<param name=” f e a t u r e B a s e d P r o b a b i l i t i e s ” v a l u e=” t r u e ” />
<param name=” minSupport ” v a l u e=” 4 ” />
<param name=” minProb ” v a l u e=” 0 . 3 ”/>
<param name=”minAbsSO” v a l u e=” 1 ” />
</ component>
<component name=” P o l a r i t y F i x e r ”
type=” Conjunction −b a s e d O p i n i o n C l a s s i f i e r ”>
<param name=”andWords” v a l u e=”and , ” />
<param name=”butWords” v a l u e=” but ”/>
<param name=” allowHolesBetweenOpWords ” v a l u e=” f a l s e ” />
</ component>
</ p i p e l i n e>
Nótese que se permite la inclusión de varios componentes concretos para un mismo componente abstracto. En el código anterior, por ejemplo, se
incluyen dos implementaciones del clasificador de opiniones, una basada en
el lexicón de opiniones y otra en conjunciones. Esto también será frecuente
206
Capı́tulo 7. TOES: Un sistema extractor de opiniones
cuando se empleen patrones de distintos tipos para llevar a cabo el enlazado
de las palabras de opinión; en este caso, el pipeline en cuestión contendrá varias instancias del enlazador de palabras de opinión basados en dependencias,
cada una con su propia configuración de parámetros.
Capı́tulo 8
TOES: Evaluación y ajuste de
parámetros
Resumen: En el presente capı́tulo, llevamos a cabo una serie de experimentos con la intención de evaluar tanto los componentes concretos
individuales definidos en el capı́tulo 7 como el sistema completo TOES.
A partir de los resultados obtenidos en los distintos experimentos,
plantearemos algunas conclusiones sobre la tarea que hemos abordado
y sobre nuestro acercamiento, incluyendo una reflexión sobre la idoneidad del uso de una metodologı́a supervisada como la propuesta en
este trabajo y un ejemplo de aplicación de agregación y visualización
de las opiniones extraı́das por el sistema.
8.1.
Introducción
En las siguientes secciones llevaremos a cabo diversos experimentos de
cara a evaluar los distintos componentes concretos de manera independiente, ası́ como algunos pipelines determinados, construidos con la intención de
comparar acercamientos que hagan o no uso de los recursos especı́ficos del
dominio. Hemos empleado el mismo dominio que usamos en el capı́tulo 6
(headphones). Son tres los objetivos de la experimentación planteada. En
primer lugar, pretendemos decidir los valores más apropiados de los parámetros disponibles en los componentes del sistema. En segundo lugar, queremos
medir la efectividad de los distintos componentes concretos disponibles para cada una de las subtareas planteadas, de manera que podamos decidir
qué componentes son más apropiados para la constitución de un sistema que
resuelva la extracción de opiniones de la mejor manera posible. Por último,
207
208
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
los valores obtenidos en las distintas métricas de evaluación que utilizaremos
nos servirán para determinar la eficacia del sistema en su conjunto, y para
sacar algunas conclusiones a partir del análisis de dichos resultados. En el
capı́tulo 9 se muestran resultados obtenidos para un par de dominios más
(hotels y cars).
8.2.
Metodologı́a de las evaluaciones
En todas las evaluaciones utilizamos validación cruzada a partir de 10
particiones aleatorias del corpus anotado (10-fold cross validation); cada resultado mostrado se calcula como la media de diez repeticiones del experimento, empleando en cada repetición una de las particiones como corpus
de evaluación y las nueve particiones restantes para inducir los recursos y
ajustar los parámetros de los componentes.
Las métricas utilizadas serán las habituales en problemas de recuperación
y extracción de información, precisión (precision) y cobertura (recall ), que
se definen de la siguiente manera:
precision =
correct
correct + incorrect
recall =
correct
correct + missing
,
donde correct es el número de entidades correctamente reconocidas (aquellas que se corresponden con entidades existentes) , incorrect es el número de
entidades incorrectamente reconocidas (aquellas que no se corresponden con
ninguna entidad existente), y missing es el número de entidades reales no
reconocidas. Según la subtarea que estemos evaluando, una entidad será un
objeto distinto. Por ejemplo, cuando evaluemos los enlazadores de palabras
de opinión, las entidades serán las palabras a enlazar; cuando evaluemos el
sistema de extracción de opiniones, las entidades serán las opiniones.
A partir de la precisión y la cobertura, calcularemos la media armónica
de ambos valores, según la fórmula:
Fβ =
(1 + β 2 )precision · recall
β 2 · precision + recall
De esta manera, obtenemos un solo valor que facilita la comparación de los
resultados obtenidos en distintos experimentos. Si hacemos β = 1, damos la
misma importancia a la precisión y a la cobertura. En nuestros experimentos,
además de F1 , también calcularemos F 1 , que otorga a la precisión el doble
2
de importancia que a la cobertura1 .
1
Tal como expondremos más adelante, en algunas ocasiones puede ser más importante
8.2. Evaluación individual de los componentes
209
En los experimentos en que se lleve a cabo una clasificación binaria (evaluación de los clasificadores de opiniones y evaluación de la tarea opinion
classification), utilizaremos la medida de exactitud (accuracy), similar a la
precisión, que mide la proporción de entidades correctamente clasificadas.
En estas tareas no tiene sentido hablar de cobertura, ni por tanto de media
armónica.
8.3.
Evaluación individual de los
componentes
En esta sección, evaluaremos individualmente la eficacia de los componentes concretos a la hora de resolver la subtarea correspondiente. No se
evaluarán ni el separador de opiniones basado en conjunciones ni los solucionadores de opiniones superpuestas, puesto que las tareas que resuelven no
son evaluables de manera independiente.
En algunos casos, mostraremos gráficas que ilustran la influencia de algunos de los parámetros de los componentes en los resultados obtenidos por
los mismos.
8.3.1.
Evaluación del anotador de palabras de
caracterı́stica basado en la taxonomı́a
En la tabla 8.1 se muestran los resultados obtenidos por el anotador de
palabras de caracterı́stica basado en la taxonomı́a. Las palabras anotadas
por el mismo fueron comparadas con las palabras de caracterı́stica de las
evidencias de opinión del corpus anotado. La baja precisión obtenida por el
componente se debe a que muchas de las apariciones de las palabras de caracterı́stica contenidas en la taxonomı́a no se corresponden con la existencia
de opiniones en los documentos. En principio, esto no debe considerarse un
problema, puesto que la función del anotador de palabras de caracterı́stica es
detectar todas las posibles evidencias de opinión sobre caracterı́sticas explı́citas, lo cual parece conseguir (se obtiene una cobertura máxima de más del
99 %), siendo responsabilidad de otros componentes (enlazadores de palabras
de opinión y clasificadores de opiniones) decidir qué apariciones de palabras
de caracterı́stica corresponden realmente a evidencias de opinión. La alta cobertura conseguida corrobora la hipótesis inicial según la cual el conjunto de
la precisión del sistema que la cobertura. De ahı́ que, en dichas situaciones, sea interesante
tratar de optimizar el valor de F 12
210
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
términos utilizados por los usuarios para nombrar las caracterı́sticas de un
producto tiende a converger.
El empleo de restricciones morfosintácticas (aparición de algún nombre en
las palabras de caracterı́stica e inclusión de las mismas en un sintagma nominal) reduce considerablemente la cobertura en favor de pequeños aumentos
en la precisión. Aunque dichas restricciones deberı́an cumplirse teóricamente para todas las palabras de caracterı́stica, los errores cometidos por los
analizadores lingüı́sticos utilizados hacen que el anotador omita demasiadas
apariciones de palabras de caracterı́stica cuando se utilizan las restricciones morfosintácticas. No parece por tanto una buena opción emplear dichas
restricciones.
Restricciones
Ninguna
Incluyen nombre
Sólo sintagmas nominales
Ambas
p
0,2418
0,2585
0,2566
0,2622
r
0,9947
0,9466
0,9436
0,9214
F1
0,3891
0,4062
0,4035
0,4083
Cuadro 8.1: Evaluación individual del anotador de palabras de caracterı́stica
basado en la taxonomı́a para headphones.
8.3.2.
Evaluación del anotador de caracterı́sticas
implı́citas basado en PMI-IR
En la tabla 8.2 se muestran distintos resultados obtenidos por el anotador
de caracterı́sticas implı́citas basado en PMI-IR para headphones, correspondientes a los distintos valores del umbral de PMI para los que se consiguen
los mejores resultados de cada una de las métricas de evaluación empleadas. Para obtener los resultados mostrados, se compararon las evidencias de
opinión sobre caracterı́sticas implı́citas obtenidas por el componente con las
evidencias de opinión sobre caracterı́sticas implı́citas anotadas en el corpus.
Los resultados obtenidos son bastante modestos, con una precisión máxima del 0, 4359 y una cobertura máxima del 0, 551. Téngase en cuenta que
sólo se consideran correctas aquellas evidencias de opinión extraı́das cuya
caracterı́stica coincida con la de la evidencia correspondiente anotada en el
corpus (y la taxonomı́a de headphones contiene 31 caracterı́sticas distintas).
8.3. Evaluación individual de los componentes
Optimiza. . .
precision
recall
F1
p
0,4359
0,1183
0,4293
r
0,1595
0,551
0,1611
211
F1
0,2336
0,1947
0,2342
Umbral
PMI
6,0
0,0
5,6
Cuadro 8.2: Evaluación individual del anotador de caracterı́sticas implı́citas
basado en PMI-IR para headphones.
8.3.3.
Evaluación del anotador de caracterı́sticas
implı́citas basado en los indicadores
El anotador de caracterı́sticas implı́citas basado en los indicadores obtuvo resultados mucho mejores que el componente anterior, con una precisión
máxima de 0, 8887 y una cobertura máxima del 0, 9456 (tabla 8.3). Es previsible además que la precisión mejore en el sistema completo, puesto que
algunas de las evidencias de opinión extraı́das por el componente corresponden en realidad a opiniones sobre caracterı́sticas explı́citas, situación que
puede ser parcialmente corregida por el solucionador de opiniones implı́citaexplı́cita superpuestas (piénsese por ejemplo en la oración “The case is too
big”, en la que “big” parece un claro indicador de la caracterı́stica size, pero
que en realidad corresponde a una palabra de opinión participante en una
opinión sobre la caracterı́stica explı́cita “case”).
Optimiza. . .
precision
recall
F1
F1
p
r
F1
F1
Prob.
mı́nima
Soporte
mı́nimo
0,8887
0,1452
0,5224
0,6449
0,0435
0,9456
0,6117
0,4745
0,0829
0,2518
0,5635
0,5467
0,1819
0,1748
0,5381
0,6017
0,8
0
0,25
0,35
20
1
1
5
2
2
Cuadro 8.3: Evaluación individual del anotador de caracterı́sticas implı́citas
basado en los indicadores para headphones.
En la figura 8.1 puede observarse la influencia del umbral de probabilidad del componente. A medida que se aumenta dicho umbral, la precisión
del componente va creciendo (en detrimento de la cobertura) hasta cierto
valor del umbral (≈ 0, 75) a partir del cual se produce una caı́da repentina
de la precisión. La elección de distintos valores del umbral permite obtener
compromisos distintos entre la precisión y la cobertura para el componente:
valores en torno a 0, 25 conducen a un equilibrio entre precisión y cobertura;
212
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
Figura 8.1: Evaluación individual del anotador de caracterı́sticas implı́citas
basado en los indicadores para headphones: influencia del umbral de probabilidad
valores en torno a 0, 4 serı́an más adecuados para obtener una mejor precisión
sin sacrificar demasiada cobertura.
En la figura 8.2 se muestra la influencia del umbral de soporte mı́nimo
del componente. Dicho umbral parece tener menor influencia en los resultados obtenidos, con pequeñas mejoras en la precisión a medida que el valor
aumenta, a costa de mayores pérdidas en la cobertura. Parece adecuado por
tanto el empleo de valores bajos para dicho umbral.
8.3.4.
Evaluación del enlazador de palabras de opinión
y de expresiones especiales basados en ventana
La anotación de palabras de opinión mediante ventana de palabras obtiene
los mejores resultados cuando sólo se consideran como posibles palabras de
opinión los adjetivos, tal como puede verse en la tabla 8.4. Los experimentos
se realizaron partiendo de las palabras de caracterı́stica anotadas en el corpus,
y aplicando sobre las mismas el enlazador de palabras de opinión basado en
ventana. Se compararon entonces las palabras de opinión extraı́das con las
palabras de opinión anotadas en el corpus. La inclusión de otras categorı́as
morfosintácticas hace empeorar todas las métricas de evaluación consideradas
(excepto, claro está, la cobertura). El mejor resultado para la medida F1 se
8.3. Evaluación individual de los componentes
213
Figura 8.2: Evaluación individual del anotador de caracterı́sticas implı́citas
basado en los indicadores para headphones: influencia del umbral de soporte
obtiene utilizando ventanas pequeñas (en torno a 3 palabras a cada lado de
las palabras de caracterı́stica), como se observa en la figura 8.3. Empleando
una ventana pequeña, y restringiendo las palabras de opinión a enlazar a los
adjetivos incluidos en dicha ventana, el resultado obtenido es mejor de lo que
cabrı́a esperar, dado lo simple de la solución aportada por el componente, con
un resultado de 0, 6375 para la medida F1 . Esto indica que en una mayorı́a de
las evidencias de opinión sobre caracterı́stica explı́cita, las palabras de opinión
aparecen muy próximas a las palabras de caracterı́stica. No obstante, existe
aún un margen suficientemente grande de mejora tanto en la precisión como
en la cobertura, que justifica el uso de patrones de dependencias.
El empleo adicional de enlazadores de expresiones especiales también basados en ventana permite alcanzar un valor máximo para F1 de 0, 6479, lo
que representa una mejora de más de un punto porcentual (ver tabla 8.5).
8.3.5.
Evaluación del enlazador de palabras de opinión
y expresiones especiales basado en dependencias
Hemos evaluado la precisión y cobertura del enlazador de palabras de
opinión basado en dependencias, utilizando patrones de tipo 1, por un lado, o de tipos 2, 3, 4 y 5, por otro (en este último caso, aplicamos cuatro
enlazadores de palabras de opinión consecutivos, uno para cada tipo de pa-
214
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
Figura 8.3: Evaluación individual del enlazador de palabras de opinión basado
en ventana para headphones: influencia del tamaño de las ventanas y las restricciones morfosintácticas. La leyenda indica las categorı́as morfosintácticas
permitidas en cada caso (J: Adjetivos. N: Nombres. V: Verbos. R: Adverbios)
trones). Además, hemos considerado el empleo de patrones con restricciones
morfosintácticas (aquellos en los que se exigen determinadas categorı́as morfosintácticas a las palabras participantes en el patrón) y sin ellas (aquellos
basados tan sólo en las relaciones de dependencia). En cada caso, hemos
buscado los valores de los parámetros de los enlazadores que optimizan las
medidas F1 y F 1 . Los experimentos se realizaron partiendo de las palabras
2
de caracterı́stica anotadas en el corpus, y aplicando sobre las mismas el enlazador o enlazadores de palabras de opinión basados en dependencias. Se
compararon entonces las palabras de opinión extraı́das con las palabras de
Restricciones morfosintácticas
Adjetivos
Adjetivos/Nombres
Adjetivos/Nombres/Verbos
Adjetivos/Nombres/Verbos/Adverbios
p
r
F1
F1
0,7079
0,6394
0,492
0,4542
0,5798
0,5932
0,641
0,6729
0,6375
0,6154
0,5567
0,5423
0,678
0,6296
0,516
0,4857
2
Cuadro 8.4: Evaluación individual del enlazador de palabras de opinión basado en ventana para headphones.
8.3. Evaluación individual de los componentes
Restricciones morfosintácticas
Adjetivos
Adjetivos/Nombres
Adjetivos/Nombres/Verbos
Adjetivos/Nombres/Verbos/Adverbios
215
p
r
F1
F1
0,7034
0,6371
0,4991
0,4548
0,6005
0,6084
0,6775
0,6849
0,6479
0,6224
0,5747
0,5466
0,6801
0,6312
0,5268
0,4876
2
Cuadro 8.5: Evaluación individual del enlazador de palabras de opinión y el
enlazador de expresiones especiales basados en ventana para headphones.
opinión anotadas en el corpus. Los resultados, que mostramos en la tabla 8.6,
permiten concluir, en primer lugar, que es mejor utilizar cuatro enlazadores
de palabras de opinión basados en patrones de dependencia de tipo 2, 3, 4 y
5, en lugar de un solo enlazador basado en patrones de tipo 1. En segundo
lugar, se confirma que los patrones que incluyen restricciones morfosintácticas consiguen mejores resultados que los que no las incluyen. Esto último es
coherente con los resultados que obtuvimos en los experimentos de inducción
de patrones de dependencias en la sección 6.10.2.
Patrones tipo
Tipo 1
Tipos 2, 3, 4 y 5
Optimiza...
F1
F1
2
F1
F1
Sin restricciones
p
r
0,7330 0,7192
0,7781 0,6649
0,7448 0,7140
0,7739 0,6972
morfosintácticas
F1
F1
2
0,7261 0,7302
0,7171 0,7525
0,7291 0,7384
0,7336 0,7573
2
Patrones tipo
Tipo 1
Tipos 2, 3, 4 y 5
Optimiza...
F1
F1
2
F1
F1
Con restricciones morfosintácticas
p
r
F1
F1
2
0,7949 0,7239 0,7578
0,7796
0,8484 0,6721 0,7500
0,8061
0,8074 0,7262 0,7646 0,7897
0,8490 0,6952 0,7644 0,8130
2
Cuadro 8.6: Evaluación individual del enlazador de palabras de opinión basado en dependencias.
Como era de esperar, los resultados obtenidos superan ampliamente a
los conseguidos por el enlazador de palabras de opinión basado en ventana:
0, 7646 frente a 0, 6479 en la medida F1 , y 0, 8130 frente a 0, 6801 en la medida F 1 . En la figura 8.4 se representan los resultados de la aplicación de
2
los enlazadores de palabras de opinión basados en dependencias de tipos 2,
3, 4 y 5, variando el parámetro de los enlazadores encargado de controlar la
precisión mı́nima exigida a los patrones a utilizar. Variando dicho paráme-
216
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
Figura 8.4: Evaluación individual del enlazador de palabras de opinión basado
en patrones de dependencias de tipo 2, 3, 4 y 5 para headphones: influencia del
umbral de precisión mı́nima de los patrones utilizados. Las lı́neas continuas
representan la precisión y la cobertura obtenidas utilizando los patrones con
restricciones morfosintácticas; las lı́neas punteadas, utilizando los patrones
sin restricciones morfosintácticas.
tro, podemos aumentar progresivamente la precisión del componente, a la
par que disminuimos su cobertura. Es precisamente la cobertura máxima
del componente el punto más débil del mismo: en torno a 0, 92, conseguida
utilizando todos los patrones de dependencias disponibles en el recurso, sin
restricciones morfosintácticas. Este resultado nos indica que existen palabras
de opinión anotadas en el corpus que no son alcanzables utilizando ninguno
de los patrones contenidos en el recurso; esto puede ser debido a errores en
el analizador de dependencias, o a que aparezcan en construcciones sintácticas no observadas previamente en los documentos utilizados para inducir
el recurso. Es previsible que este problema sea menor cuanto mayor sea el
conjunto de documentos disponibles para la inducción de los patrones.
8.3.6.
Evaluación del clasificador de opiniones basado
en el lexicón
Para evaluar el clasificador de opiniones basado en lexicón (y también para
el resto de clasificadores de opiniones) partimos de las evidencias de opinión
8.3. Evaluación individual de los componentes
217
Experimento
Lexicón de opinión
Lexicón expandido (PolarityRank)
Expansión semántica (WordNet)
Lexicón expandido + expansión semántica
accuracy
0,8659
0,8717
0,8937
0,8966
Cuadro 8.7: Evaluación individual del clasificador de opiniones basado en el
lexicón para headphones. En cada caso, se han escogido los valores óptimos
de los parámetros para cada medida.
Clasificador
Basado en WordNet
Basado en SentiWordNet
Basado en PMI-IR
accuracy
0,5513
0,6247
0,6771
Cuadro 8.8: Evaluación comparativa de los clasificadores de opiniones basados en WordNet, SentiWordNet y PMI-IR para headphones.
del corpus anotado, comprobando en cada caso si la polaridad obtenida por
el clasificador concuerda o no con la polaridad anotada. De esta manera
medimos la exactitud (accuracy) del clasificador. En la tabla 8.7 se muestran
los resultados de cuatro experimentos que pretenden medir la conveniencia
o no de utilizar el lexicón ampliado mediante PolarityRank (ver sección 6.8)
y las expansiones semánticas basadas en WordNet (ver sección 7.3.6). El
mejor resultado se obtiene usando ambos, con un 89, 66 % de las opiniones
correctamente clasificadas.
8.3.7.
Evaluación de los clasificadores de opiniones basados en WordNet, SentiWordNet y PMI-IR
En la tabla 8.8 se muestran los resultados conseguidos por los clasificadores de opiniones basados en WordNet, SentiWordNet y PMI-IR . El mejor
resultado es conseguido por el basado en PMI-IR, seguido del basado en
SentiWordNet y el basado en WordNet. En todos los casos, los valores de accuracy obtenidos son muy inferiores al conseguido por el clasificador basado
en el lexicón (más de 20 puntos porcentuales).
218
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
Clasificador
Basado en WordNet
Basado en SentiWordNet
Basado en PMI-IR
Basado en lexicón
accuracy
0,5647
0,6296
0,6831
0,9009
Cuadro 8.9: Evaluación comparativa de los clasificadores de opiniones para headphones, al concatenar a cada clasificador un clasificador basado en
conjunciones.
8.3.8.
Evaluación del clasificador de opiniones basado
en conjunciones
El clasificador de opiniones basado en conjunciones tiene como objetivo
clasificar opiniones a partir de otras opiniones previamente clasificadas por
otro clasificador (ver sección 7.3.6). Por tanto, para evaluar la eficacia de este
componente, llevamos a cabo cuatro experimentos, en los que ejecutamos
el clasificador basado en conjunciones tras la ejecución de cada uno de los
cuatro clasificadores de opiniones de los que disponemos. Aunque modestas,
se consiguen mejoras en la exactitud de todos los clasificadores iniciales (ver
tabla 8.9).
8.3.9.
Evaluación de la combinación de clasificadores
de opiniones
En la tabla 8.10 se muestran los resultados obtenidos al utilizar un clasificador basado en lexicón combinado con los demás clasificadores. La idea
es utilizar en primer lugar el clasificador basado en lexicón, y para aquellas
opiniones para las que no se obtenga una predicción para la polaridad, utilizar otro clasificador basado en WordNet, SentiWordNet o PMI-IR. En todos
los casos, se aplica finalmente el clasificador basado en conjunciones. Se observa que la combinación del clasificador basado en lexicón y el basado en
PMI-IR obtiene los mejores resultados, con una exactitud de 0, 9248, lo que
significa una mejora de casi dos puntos y medio porcentuales con respecto a
la aplicación individual del clasificador basado en lexicón.
8.4.
Evaluación del sistema completo
Basándonos en los resultados obtenidos en las evaluaciones independientes
de los componentes, en esta sección vamos a proponer y evaluar algunos
8.4. Evaluación del sistema completo
Clasificador
Basado en lexicón más WordNet y conjunciones
Basado en lexicón más SentiWordNet y conjunciones
Basado en lexicón más PMI-IR y conjunciones
219
accuracy
0,9086
0,9168
0,9248
Cuadro 8.10: Evaluación comparativa de la combinación de un clasificador
basado en lexicón con cada uno de los demás clasificadores para headphones.
pipelines para resolver la tarea de reconocimiento y clasificación de opiniones.
Empezaremos construyendo pipelines con componentes independientes del
dominio, para posteriormente comparar los resultados con los obtenidos por
otros pipelines que incluyen componentes basados en recursos.
En todos los casos, mediremos la precisión y la cobertura de los pipelines
en la tarea de reconocimiento de opiniones (opinion recognition). Consideramos que una opinión extraı́da es correcta si se corresponde con una opinión
anotada en la misma oración y sobre la misma caracterı́stica2 . Para la tarea
de clasificación de opiniones (opinion classification), mediremos la exactitud
conseguida al clasificar las opiniones que hayan sido correctamente reconocidas
8.4.1.
Evaluación de pipelines ligeros de recursos
Comenzamos planteando tres pipelines cuyos componentes no hacen uso
de los recursos del dominio, salvo la taxonomı́a de caracterı́sticas (ver figura 8.5). Todos ellos son iguales, a excepción del clasificador de opiniones, que está basado en WordNet en el primer pipeline, en SentiWordNet
en el segundo y en PMI-IR en el tercero. Los componentes utilizados son,
por este orden: un anotador de caracterı́sticas implı́citas basado en PMIIR, un anotador de palabras de caracterı́stica, un enlazador de palabras de
opinión basado en ventana, un separador de opiniones basado en conjunciones, un solucionador de opiniones explı́citas superpuestas, un solucionador
de opiniones implı́citas/explı́citas superpuestas, un enlazador de expresiones especiales basado en ventana, un clasificador de opiniones basado en
WordNet/SentiWordNet/PMI-IR (según el pipeline), y finalmente un clasificador de opiniones basado en conjunciones.
Las tablas 8.11 y 8.12 muestran los resultados obtenidos por cada uno de
los pipelines, seleccionando los valores apropiados de los parámetros de los
2
En ambos casos, una opinión anotada en el corpus sólo puede ser utilizada para validar
una única opinión extraı́da. Ası́, por ejemplo, si se extraen dos opiniones acerca de una
caracterı́stica determinada, y en el corpus sólo aparece anotada una opinión sobre dicha
caracterı́stica, la segunda opinión extraı́da es considerada incorrecta
220
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
Figura 8.5: Pipelines ligeros de recursos
Pipeline
WN
SWN
PMI
Opinion
Opinion Recognition
Classification
p
r
F1
a
0,5404 0,5080 0,5237
0,7785
0,5366 0,5415 0,5390
0,7817
0,5858 0,4804 0,5279
0,8345
Cuadro 8.11: Resultados obtenidos por los pipelines ligeros de recursos (optimizados para F1 )
componentes para optimizar los valores de F1 y de F 1 , respectivamente. Los
2
mejores resultados los obtienen los pipelines basados en PMI-IR y en SentiWordNet. Los valores obtenidos son bastante modestos, lo que refuerza la
idea de la necesidad de los recursos para llevar a buen término la extracción
de opiniones. Aún ası́, un sistema basado en estos pipelines serı́a capaz de
extraer correctamente entre un 30 % y un 40 % de las opiniones de un documento, ahorrándonos el esfuerzo necesario para la generación de los recursos,
y a costa, eso sı́, de extraer entre un 40 % y un 50 % de opiniones erróneas.
Pipeline
WN
SWN
PMI
Opinion
Opinion Recognition
Classification
p
r
F1
a
2
0,6092 0,3039 0,5073
0,8706
0,6756 0,3002 0,5405
0,8940
0,6744 0,3643 0,5763
0,8688
Cuadro 8.12: Resultados obtenidos por los pipelines ligeros de recursos (optimizados para F 1 )
2
8.4. Evaluación del sistema completo
221
Figura 8.6: Pipelines basados en recursos
8.4.2.
Evaluación de pipelines basados en recursos
Hemos experimentado con pipelines formados por múltiples configuraciones de componentes basados en recursos, modificando el orden de los mismos,
utilizando uno o dos anotadores de caracterı́sticas implı́citas, distintas combinaciones de enlazadores de palabras de opinión, etcétera. De entre todos los
considerados, en la figura 8.6 se muestran los pipelines basados en recursos
que proponemos. El primero de ellos está formado por:
Un anotador de caracterı́sticas implı́citas basado en los indicadores de
caracterı́stica implı́cita.
Un anotador de palabras de caracterı́stica basado en la taxonomı́a de
caracterı́sticas.
Cuatro enlazadores de palabras de opinión basados en los patrones de
dependencias de tipo 2, 3, 4 y 5, respectivamente. En todos los casos,
se utilizan patrones con restricciones morfosintácticas.
Un separador de opiniones basado en conjunciones.
Dos solucionadores de opiniones superpuestas (explı́citas y explı́cita/implı́cita, respectivamente).
Un clasificador de opiniones basado en el lexicón de opiniones.
Un clasificador de opiniones basado en conjunciones.
El segundo de los pipelines mostrados añade un enlazador de expresiones
especiales basado en ventana, y un clasificador de opiniones basado en PMIIR (que según vimos en la sección 8.3.7, permite clasificar algunas de las
opiniones para las que el lexicón no contenga información).
En las tablas 8.13 y 8.14 se muestran los resultados obtenidos por los
pipelines, buscándose en el primer caso el mejor equilibrio posible entre la
222
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
Pipeline
Normal
Mixto
Opinion
Opinion Recognition
Classification
p
r
F1
a
0,7115 0,6617 0,6857
0,9345
0,7043 0,6748 0,6892
0,9423
Cuadro 8.13: Resultados obtenidos por los pipelines basados en recursos (optimizados para F1 )
Pipeline
Normal
Mixto
Opinion
Opinion Recognition
Classification
p
r
F1
a
2
0,7869 0,5662 0,7300
0,9503
0,7836 0,5736 0,7301
0,9572
Cuadro 8.14: Resultados obtenidos por los pipelines basados en recursos (optimizados para F 1 )
2
precisión y la cobertura (optimización de F1 ), y dándole mayor importancia
a la precisión en el segundo (optimización de F 1 ). Los mejores resultados son
2
obtenidos por el segundo pipeline, con un 0, 6892 de F1 (clasificando correctamente el 94,23 % de las opiniones extraı́das) y un 0, 7301 de F 1 (clasificando
2
correctamente el 95,72 % de las opiniones). En todos los casos, se obtienen
resultados sensiblemente mejores a los conseguidos por los pipelines ligeros
de recursos.
8.5.
Resumen y análisis de los resultados
En esta sección pretendemos resumir los resultados obtenidos en los experimentos anteriormente descritos. Además, expondremos algunas conclusiones y reflexiones extraı́das del análisis de los resultados. De forma abreviada,
las conclusiones que expondremos son las siguientes:
Los recursos especı́ficos del dominio constituyen un valioso mecanismo
para afrontar la extracción de opiniones.
El coste derivado de la anotación manual de los documentos del dominio
para la generación de los recursos está plenamente justificado a la vista
de la relación entre el esfuerzo y la mejora de los resultados.
No todas las opiniones presentan la misma dificultad, según sean implı́citas o explı́citas, o afecten a unas caracterı́sticas u otras.
8.5. Resumen y análisis de los resultados
Tarea
Anotación palabras de caract.
Anotación de caract. impl.
Enlazado palabras de opinión
Clasificación de opiniones
Sin recursos del dominio
p
r
F1
0,4293 0,1611 0,2342
0,7034 0,6005 0,6479
0,6831
-
223
Con recursos del
p
r
0,2622 0,9214
0,5224 0,6117
0,8074 0,7262
0,9248
-
dominio
F1
0,4083
0,5635
0,7646
-
Cuadro 8.15: Resumen comparativo de los mejores resultados conseguidos
para cada una de las subtareas en que hemos dividido la tarea de reconocimiento y clasificación de opiniones, utilizando o sin utilizar los recursos del
dominio.
Nuestro sistema permite primar la precisión o la cobertura de las opiniones extraı́das, mediante el ajuste de determinados parámetros.
Los valores obtenidos en las métricas de evaluación por nuestro sistema
son buenos, teniendo en cuenta la dificultad de la tarea.
Las opiniones extraı́das por el sistema tienen la calidad suficiente para
ser útiles para el cálculo de indicadores agregados.
A continuación desarrollamos cada uno de estos puntos.
8.5.1.
Importancia de los recursos especı́ficos del dominio
Los resultados obtenidos respaldan nuestra hipótesis inicial, según la cual
la disponibilidad de recursos especı́ficos del dominio permite afrontar la extracción de opiniones con mayor eficacia. En la tabla 8.15 se muestran los
mejores resultados obtenidos (haciendo uso de los recursos del dominio por
un lado, y sin usarlos, por el otro) en cada una de las subtareas3 llevadas a
cabo por nuestro sistema para completar el reconocimiento y la clasificación
de las opiniones. En todos los casos, se obtienen mejores valores de precisión
y cobertura mediante el uso de los recursos del dominio. En la figura 8.7 se
representan la precisión y la cobertura en la tarea de reconocimiento de opiniones y la exactitud en la tarea de clasificación de opiniones obtenidas por
los distintos pipelines propuestos. De nuevo, el uso de recursos del dominio
permite conseguir resultados sensiblemente mejores.
3
En el caso de la anotación de palabras de caracterı́stica no se muestran resultados sin
recursos puesto que dicha subtarea no se puede resolver sin la taxonomı́a de caracterı́sticas.
224
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
Figura 8.7: Resumen comparativo de resultados obtenidos por cada uno de
los pipelines: precisión y cobertura (tarea Opinion Recognition) y accuracy
(tarea Opinion Classification). Los nombres de los pipelines corresponden a
los utilizados en la sección 8.4.1. De cada uno, se muestran los resultados
obtenidos por las versiones que optimizan F1 y F 1 .
2
8.5. Resumen y análisis de los resultados
225
Figura 8.8: Evolución del rendimiento del sistema (pipeline mixto) a medida
que se aumenta el número de documentos anotados utilizados en la inducción
de los recursos.
Influencia del número de documentos anotados
Como ocurre en la aplicación de cualquier técnica de aprendizaje automático, a mayor número de documentos anotados, mejor calidad de los
recursos generados, y consecuentemente mejores resultados del sistema de
extracción. En la figura 8.8 se muestran los valores de F1 y accuracy obtenidos por el pipeline mixto, utilizando un número creciente de documentos
anotados en la etapa de inducción de los recursos. La curva obtenida parece sugerir que existe aún un margen de mejora para el sistema, a partir de
226
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
la incorporación de nuevos documentos anotados. Esto fue tenido en cuenta
cuando planificamos la generación de los recursos para un nuevo dominio (hoteles), tomando la decisión de anotar un mayor número de documentos. Los
resultados de la aplicación de la metodologı́a de generación de los recursos y
la evaluación del sistema de extracción de opiniones en este nuevo dominio
están documentados en el capı́tulo 9.
En las gráficas anteriores, hemos indicado los valores obtenidos por el
mejor pipeline ligero de recursos, poniéndose de manifiesto que, aún con
pocos documentos anotados, la utilización de los componentes basados en
los recursos supone una mejora considerable en los resultados.
8.5.2.
Estimación de coste de la anotación y relación
con la mejora del sistema
Los experimentos que hemos ido exponiendo a lo largo del capı́tulo demuestran que la utilización de los recursos especı́ficos del dominio suponen
una mejora considerable en los resultados obtenidos por el sistema. Sin embargo, la inducción de estos recursos sólo es posible si se dispone de un
conjunto de documentos del dominio anotados. Para medir hasta qué punto este esfuerzo manual es conveniente, hemos llevado a cabo una serie de
estimaciones del tiempo que requerirı́a la anotación de distintos conjuntos
de documentos, y hemos obtenido los resultados del sistema empleando los
recursos generados con esos conjuntos de documentos.
En la tabla 8.16 se muestran los resultados obtenidos por el pipeline mixto
usando un número creciente de documentos anotados para la inducción de
los recursos4 . Teniendo en cuenta que el tiempo empleado en anotar los 599
reviews del dominio headphones fue de aproximadamente 160 horas, hemos
llevado a cabo una estimación del tiempo requerido para anotar cada conjunto
de documentos. Creemos que el empleo de la metodologı́a propuesta en este
trabajo está plenamente justificada, dada la mejora en los resultados obtenida
por el sistema a partir de sólo unos cuantos documentos anotados: con algo
más de dos horas de trabajo, se sobrepasa ampliamente la precisión en la
clasificación de opiniones obtenida por cualquiera de los pipelines ligeros
de recursos; y dedicando algunas horas más se superan sensiblemente los
resultados en el reconocimiento de opiniones.
4
Dado que usamos validación cruzada a partir de 10 particiones, hacen falta al menos
diez documentos anotados para llevar a cabo los experimentos. La inducción de los recursos
se lleva a cabo en este caso sobre 9 documentos en cada experimento.
8.5. Resumen y análisis de los resultados
Documentos Tiempo estimado
anotados
de anotación
9
2,4 horas
18
4,8 horas
27
7,2 horas
36
9,6 horas
45
12 horas
(mejor pipeline sin recursos)
227
Opinion
Recognition
F1
0,48
0,5561
0,5916
0,6061
0,6162
0,5390
Opinion
Classification
Acc.
0,9348
0,9377
0,9249
0,9337
0,9345
0,7817
Cuadro 8.16: Estimación de coste temporal y resultados del sistema para
conjuntos de documentos anotados de distintos tamaños. Hemos señalado
en cursiva los primeros valores de F1 y accuracy que mejoran los del mejor
pipeline sin recursos.
Implı́citas
Explı́citas
Optimiza F1
p
r
F1
0,6961 0,5707 0,6272
0,7173 0,6999 0,7085
Optimiza F 1
2
p
r
F1
2
0,8173 0,4785 0,7159
0,7759 0,6079 0,7353
Cuadro 8.17: Desglose de resultados obtenidos por el pipeline mixto para
opiniones explı́citas e implı́citas (tarea Opinion Recognition)
8.5.3.
Dificultad de las opiniones implı́citas
Tal como puede observarse en la tabla 8.17, en la que se muestran los resultados de nuestro mejor pipeline en el reconocimiento de opiniones explı́citas e
implı́citas medidos por separado, nuestro sistema obtiene mejores resultados
en la extracción de opiniones explı́citas que en la de opiniones implı́citas.
Que la extracción de opiniones sobre caracterı́sticas implı́citas sea especialmente difı́cil no resulta sorprendente, si tenemos en cuenta que para reconocer la existencia de una opinión implı́cita debemos basarnos simplemente
en la aparición de determinadas palabras de opinión (al menos, si seguimos el
planteamiento léxico-sintáctico de nuestro sistema). Por ejemplo, la palabra
“big” es un buen indicador de la caracterı́stica implı́cita size, pero extraer
opiniones sobre dicha caracterı́stica cada vez que la observamos en un texto
conduce a un gran número de opiniones incorrectas y por tanto a una baja
precisión, puesto que “big” aparece en multitud de expresiones en las que no
se está expresando una opinión sobre el tamaño.
228
8.5.4.
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
Dificultad de determinadas caracterı́sticas
Los resultados obtenidos por el mejor pipeline en el reconocimiento y clasificación de opiniones de cada una de las caracterı́sticas de la taxonomı́a para
headphones por separado (ver figura 8.9) muestran grandes diferencias entre
caracterı́sticas. Ası́ por ejemplo, la extracción de opiniones sobre la caracterı́stica sound quality (la caracterı́stica que más aparece en las anotaciones,
ver figura 6.12) obtiene un resultado de 0, 7474 para F1 y de 0, 8152 para
F 1 , muy superiores a los resultados globales. Sin embargo, la extracción de
2
opiniones sobre la caracterı́stica size obtiene muy malos resultados. Creemos
que estas diferencias podrı́an estar relacionadas con el distinto número de
opiniones anotadas sobre las distintas caracterı́sticas en el corpus, lo que da
lugar a una distinta calidad de los recursos sobre según qué caracterı́sticas. La
mayor proporción de opiniones implı́citas en algunas caracterı́sticas también
puede estar relacionada con las diferencias observadas(size es un ejemplo de
caracterı́stica que suele aparecer de manera implı́cita).
Figura 8.9: Desglose de valores de F1 obtenidos por el pipeline mixto para
cada caracterı́stica de la taxonomı́a (tarea Opinion Recognition and Classification). Se resaltan aquellos resultados peores que el resultado global.
8.5. Resumen y análisis de los resultados
8.5.5.
229
Precisión vs. cobertura
La arquitectura modular de nuestro sistema y la disponibilidad de parámetros de ajuste del comportamiento de los distintos componentes del mismo,
permiten la construcción de sistemas de extracción de opiniones en los que
prime bien la precisión de las opiniones obtenidas, bien la cobertura, o quizás
un compromiso entre ambas (ver figura 8.7). Escoger una u otra opción
vendrá dado por los requisitos de la aplicación concreta que se desee darle a las opiniones extraı́das por el sistema: ¿se necesita una gran fiabilidad
de la corrección de las opiniones obtenidas, aún cuando el número de opiniones pasadas por alto sea grande?; ¿o quizás necesitamos obtener todas las
opiniones posibles, para hacer un tratamiento estadı́stico de las mismas, de
manera que la precisión individual de las opiniones sea menos importante?.
8.5.6.
Resultados finales y dificultad de la tarea
Creemos que los resultados obtenidos por el mejor pipeline (0, 6892 de F1 y
0, 7301 de F 1 en reconocimiento de opiniones, y 0, 9423 y 0, 9572 de accuracy
2
en la clasificación) son, cuando menos, aceptables, teniendo en cuenta la
dificultad de la tarea tal como la hemos definido (ver sección 4.2.4):
Una opinión extraı́da sólo es contabilizada como correcta cuando concuerda con una opinión anotada sobre la misma caracterı́stica (téngase
en cuenta el alto número de caracterı́sticas disponibles en la taxonomı́a,
y la posible ambigüedad entre algunas de ellas). Por ejemplo, si en el
texto “light headphones” ha sido anotada una opinión positiva sobre
la caracterı́stica weight, y nuestro sistema extrae una opinión sobre la
caracterı́stica headphones, esta última será contabilizada como una opinión errónea (aún cuando quizás no serı́a ası́ percibida por un usuario
del sistema).
Las opiniones han sido anotadas de manera atómica (ver sección 4.2.4);
por ejemplo, el texto “nice, long cord” contiene dos opiniones anotadas
sobre la misma caracterı́stica. Para que la precisión y la cobertura del
sistema sean iguales a 1, deben extraerse exactamente dos opiniones
correctas. Si sólo se extrae una (en la que constarı́an nice y long como
palabras de opinión, lo que es bastante probable), la cobertura sólo
serı́a del 50 %.
Muchas de las menciones a caracterı́sticas en los documentos no corresponden a opiniones, como puede verse en el valor de precisión obtenido
en la anotación de palabras de caracterı́stica (ver tabla 8.15).
230
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
Algunas de las opiniones contenidas en los documentos no hacen referencia al objeto que está siendo analizado (se pueden referir por ejemplo
a otro producto). Estas opiniones no han sido anotadas en nuestro corpus, aunque son en muchos casos extraı́das por nuestro sistema.
La calidad de los textos utilizados es bastante baja, al tratarse de textos
escritos por usuarios, lo que ocasiona un gran número de errores por
parte de las herramientas de análisis lingüı́stico en que se apoya nuestro
sistema (especialmente del analizador de dependencias).
Creemos que los resultados obtenidos son buenos teniendo en cuenta el
acercamiento léxico-sintáctico de nuestra propuesta : como ocurre en otras
tareas del procesamiento del lenguaje natural, la utilización de herramientas
lingüı́sticas de análisis exclusivamente léxico y sintáctico, excluyendo el uso
de analizadores semánticos, razonamiento basado en conocimiento del mundo
y otras tecnologı́as más avanzadas, establece una cota superior en los resultados alcanzables. No obstante, los resultados de precisión y cobertura son lo
suficientemente altos como para que el sistema sea utilizable en la práctica,
como mostramos a continuación.
8.5.7.
Utilidad práctica del sistema
Las métricas de precisión y cobertura utilizadas en nuestras evaluaciones
nos permiten comparar las distintas soluciones planteadas, y resumir en un
valor la eficacia del sistema (por ejemplo, mediante la medida F1 ). Pero, ante
la visión de este único valor, cabe preguntarse: ¿son los resultados obtenidos por el sistema lo suficientemente buenos como para que las opiniones
extraı́das tengan utilidad práctica? La contestación a esta pregunta depende
de la aplicación que vayamos a darle a la salida al sistema.
En la figura 8.10 se muestra una posible aplicación de las opiniones extraı́das por nuestro sistema. Se trata de representar gráficamente un resumen
de la opinión general de los usuarios de un determinado modelo de auriculares, desglosando las opiniones referidas a las distintas caracterı́sticas del producto, y mostrando no sólo el porcentaje de opiniones positivas y negativas
sino también las caracterı́sticas que han generado más o menos comentarios.
La gráfica de la figura ha sido construida contabilizando las opiniones positivas y negativas sobre cada caracterı́stica, haciendo uso de las relaciones de
especialización incluidas en la taxonomı́a; de esta forma, las opiniones sobre
la caracterı́stica bass son contabilizadas como opiniones sobre la caracterı́stica frequency response, que a su vez son contabilizadas como opiniones sobre
la caracterı́stica sound quality. Como resumen global de las opiniones verti-
8.5. Resumen y análisis de los resultados
231
das sobre el producto, se muestra el porcentaje total de opiniones positivas
y negativas.
Para responder a la pregunta sobre la utilidad práctica de nuestro sistema,
hemos construido las gráficas descritas utilizando por un lado las opiniones
anotadas en el corpus, y por otro las opiniones extraı́das por el sistema.
Aunque, evidentemente, existen diferencias, la mayor parte de ellas son irrelevantes: una persona que desee formarse una idea acerca de las bondades
y defectos del producto en cuestión, sacará conclusiones parecidas ante la
visión de ambas versiones del gráfico. Por ejemplo:
La mayor parte de las opiniones sobre el producto son positivas.
La calidad de sonido es lo más comentado por los usuarios, siendo en
general positivas las opiniones al respecto. Dentro de la misma, los
graves parecen ser el punto débil para algunos pocos usuarios, siendo
los tonos medios y agudos buenos para todos los usuarios que han
comentado acerca de ello.
A la mayorı́a de usuarios les gusta la apariencia del aparato.
El punto más débil parece ser la durabilidad o calidad de construcción: una mayorı́a de los usuarios tienen una mala opinión acerca de la
misma.
Podemos concluir que las opiniones extraı́das por el sistema son de indudable utilidad en la construcción de aplicaciones de agregación y visualización
de opiniones.
232
Capı́tulo 8. TOES: Evaluación y ajuste de parámetros
Figura 8.10: Ejemplo de agregación de opiniones para un modelo determinado de auriculares (Sony MDR-V700DJ). El gráfico de la izquierda se ha
construido en base a las opiniones anotadas en el corpus; el de la derecha, a
partir de las opiniones extraı́das por el sistema (pipeline mixto optimizado
para F1 ). Para cada caracterı́stica, se agregaron las opiniones sobre la misma o sobre alguna caracterı́stica derivada (por ejemplo, las opiniones sobre
feature response fueron utilizadas para representar la barra asociada a sound
quality). En la parte superior, se muestran el total de opiniones positivas
(en gris) y negativas (en negro) sobre el producto anotadas en el corpus y
extraı́das por el sistema.
Parte V
Casos de aplicación y
consideraciones finales
233
Capı́tulo 9
Casos de aplicación: hoteles y
coches
Resumen: En este capı́tulo resumimos los resultados obtenidos de la
aplicación de la metodologı́a de generación de recursos y el sistema de
extracción a dos nuevos dominios: hoteles y coches.
9.1.
Introducción
Si en el caso de headphones escogimos dicho dominio por tratarse de
un tipo de producto con una taxonomı́a de caracterı́sticas no demasiado
compleja y un nivel técnico de los documentos moderado, en la elección de los
dos nuevos dominios ha primado un criterio práctico: se trata de dos dominios
con gran potencial de aplicación, para los que existen cientos de miles de
documentos en Internet. En el caso concreto de los hoteles, la extracción de
opiniones se revela como una herramienta de un alto interés tanto por parte de
los clientes (que están cada vez más acostumbrados a consultar las opiniones
de otros usuarios antes de elegir un hotel) como por parte de las empresas
(los propios hoteles, las agencias de viajes y aquellas empresas especializadas
en agregar crı́ticas de hoteles de usuarios). Al mismo tiempo, se trata de
dos dominios más complejos que el empleado en los capı́tulos anteriores, por
lo que la adaptación y evaluación del sistema en dichos dominios puede ser
considerada una “prueba de fuego” sobre la capacidad de adaptación de la
metodologı́a y el sistema a nuevos dominios.
235
236
Capı́tulo 9. Casos de aplicación: hoteles y coches
9.2.
Generación de recursos
Hemos aplicado la metodologı́a explicada en el capı́tulo 6 para la generación de los recursos. Comenzamos recolectando y anotando un corpus de
documentos para cada uno de los dominios escogidos, junto con la definición
de las taxonomı́as de caracterı́sticas. Posteriormente inducimos el lexicón
de opiniones, los indicadores de caracterı́sticas implı́citas y los patrones de
dependencias.
9.2.1.
Corpus anotado y taxonomı́a de caracterı́sticas
Al igual que para el dominio headphones, la recuperación de los documentos se llevó a cabo a partir de los contenidos de Epinions.com, disponibles
a fecha de septiembre de 2008. Se seleccionaron 1000 documentos aleatoriamente para cada dominio, tratando de mantener una distribución uniforme
entre las puntuaciones de los reviews seleccionados (ver sección 6.2.2). Dichos
documentos fueron procesados usando las herramientas descritas en 6.2.3, y
las evidencias de opinión fueron anotadas siguiendo el esquema de anotación
y la herramienta de validación explicados en la sección 5.4. Con todo ello,
y tras eliminar los documentos pertinentes (ver sección 6.2.2) se obtuvieron
988 documentos anotados para hotels y 972 para cars. En la tabla 9.1 se
muestran algunas estadı́sticas relativas al corpus anotado obtenido.
Total de reviews
Reviews anotados
Palabras
Oraciones
Oraciones que contienen opiniones
Evidencias de opinión. . .
. . . con polaridad positiva/negativa
. . . con caracterı́stica implı́cita/explı́cita
Hotels
6171
988
631442
33853
7339
11054
69.41 %/30.59 %
13.24 %/86.76 %
Cars
23179
972
493459
26307
5989
8519
74.36 %/25.64 %
37.25 %/62.75 %
Cuadro 9.1: Estadı́sticas del corpus para los dominios hotels y cars
La construcción de las taxonomı́as de caracterı́sticas se realizó siguiendo
los pasos descritos en las secciones 6.3, 6.4 y 6.6. Las taxonomı́as obtenidas
(figuras 9.1 y 9.2) son considerablemente más complejas que la del dominio
headphones.
9.2. Generación de recursos
Figura 9.1: Taxonomı́a de caracterı́sticas del dominio hotels
237
238
Capı́tulo 9. Casos de aplicación: hoteles y coches
Figura 9.2: Taxonomı́a de caracterı́sticas del dominio cars
9.2. Generación de recursos
9.2.2.
239
Inducción de recursos
Una vez disponemos del corpus anotado para los nuevos dominios, aplicamos los algoritmos de inducción descritos en el capı́tulo 5 para obtener el
lexicón de opiniones, los indicadores de caracterı́stica implı́cita y los patrones
de dependencias. En las siguientes secciones mostramos algunos datos de los
recursos obtenidos a partir del conjunto total de documentos anotados disponibles; en la sección correspondiente a la evaluación del sistema, sin embargo,
los recursos serán generados a partir de un subconjunto de entrenamiento y
evaluados sobre el resto de documentos anotados, siguiendo el esquema de
evaluación cruzada explicado en la sección 8.2.
No tratamos en este capı́tulo de reproducir cada uno de los experimentos
llevados a cabo en el capı́tulo 5 referentes a las distintas opciones y parámetros de configuración de los algoritmos de inducción de los recursos. Más
bien, utilizamos los algoritmos de inducción a modo de cajas negras, tal como las utilizarı́a alguien interesado en aplicar nuestro sistema de la manera
más directa posible; el ajuste de parámetros y las decisiones acerca de las
distintas opciones planteadas en el capı́tulo 5 se encuentran reflejadas como
configuración permanente de estas herramientas.
Lexicón de opiniones
En las tablas 9.3 y 9.2 se muestran algunos datos de los lexicones inducidos para los dominios cars y hotels respectivamente, ası́ como de las versiones
expandidas mediante PolarityRank (ver sección 6.8). El número de términos
hace referencia a las distintas palabras y expresiones contenidas en el lexicón;
por su parte, el número de entradas se refiere a los pares (término, caracterı́stica), para cada uno de los cuales existe una estimación de orientación
semántica y de probabilidad de palabra de opinión.
El porcentaje de términos con orientación semántica ambigua1 es mucho
mayor en el dominio hotels que en el dominio cars. Esta diferencia intrı́nseca
en la ambigüedad de las palabras de opinión utilizadas en cada dominio se
verá reflejada en la precisión obtenida por los clasificadores de opiniones en
ambos dominios (a favor del dominio cars), como se puede ver en las tablas
de resultados del sistema de extracción que se muestran en la sección 9.3.2.
En cuanto al lexicón ampliado mediante PolarityRank, en ambos casos
se produce un incremento notable de la ambigüedad de las estimaciones de
1
Que han recibido una estimación distinta de −1,0 y 1,0, debido a que el término en
cuestión ha sido observado siendo usado con polaridades opuestas en distintas evidencias de
opinión, posiblemente para distintas caracterı́sticas; ver sección 5.5.1 para una explicación
más detallada.
240
Capı́tulo 9. Casos de aplicación: hoteles y coches
Número de términos . . .
. . . con orientación semántica ambigua
Número de entradas . . .
. . . con polaridad positiva/negativa
. . . con probabilidad igual a 1
Original
1186
1.18 %
4317
64.8 %/35.2 %
17.07 %
Expandido
1581 (+33.31 %)
25.99 %
35610 (+824.88 %)
69.14 %/30.86 %
2.07 %
Cuadro 9.2: Estadı́sticas del lexicón de opiniones para el dominio cars
Número de términos . . .
. . . con orientación semántica ambigua
Número de entradas . . .
. . . con polaridad positiva/negativa
. . . con probabilidad igual a 1
Original
1257
8.51 %
5042
61.78 %/38.22 %
14.48 %
Expandido
1386 (+10.26 %)
11.83 %
12065 (+139.29 %)
67.76 %/32.24 %
6.02 %
Cuadro 9.3: Estadı́sticas del lexicón de opiniones para el dominio hotels
orientación semántica; esto es lógico por la propia naturaleza del algoritmo
de ranking sobre grafos utilizado, ya que en la puntuación obtenida para cada
nodo se reflejan en mayor o menor medida las puntuaciones de todos y cada
uno de los nodos pertenecientes a la misma componente conexa del grafo.
Por tanto, incluso aquellos nodos que parten con un valor no ambiguo de
orientación semántica obtendrán con cierta probabilidad una estimación final
ligeramente distinta a −1,0 y 1,0. A pesar de este aumento de la ambigüedad,
la ampliación del lexicón permite aumentar enormemente la cobertura del
mismo en ambos dominios, especialmente en el dominio cars. Sin duda, este
mayor porcentaje de expansión se debe al mayor número de documentos no
anotados disponibles para dicho dominio (23179 frente a 6171 para el dominio
hotels).
Indicadores de opinión implı́cita
En las tablas 9.4 y 9.5 se muestran algunos de los indicadores de opinión implı́cita inducidos para los dominios hotels y cars respectivamente. En
concreto, se trata de aquellos indicadores que obtuvieron una estimación de
probabilidad igual a 1 (es decir, cuya aparición en el corpus de entrenamiento
siempre está ligada a una opinión implı́cita). El alto número de indicadores
del dominio cars está relacionado con una mayor proporción de opiniones
implı́citas. Es interesante el solapamiento existente en los indicadores para
la caracterı́stica price, común a ambos dominios. Esta observación da pie
9.2. Generación de recursos
241
a plantear la reutilización entre dominios de la información inducida para
determinadas caracterı́sticas comunes a diversos dominios.
Caracterı́stica
building
furnishings
hotel
lobby
place
price
rooms
service
staff
Indicadores de opinión implı́cita
well-designed
adequately furnished
badly decorated, cheerless, circulated, classy looking, cleanish, comfortably appointed, disrupting, efficiently run, graceful, hi-tech, ill-kempt, imperfect, over-rated, pet-friendly,
poorly staffed, puzzling, reccommend, skanky, terribly managed, timid, uncared, undermaintained, wonderfully appointed
descriptive, non descriptive
just-central-enough
affordably, affordably priced, high-priced, highly-priced, low
priced, mid-priced, moderately priced, over priced, priced
well, reasonable priced, relatively expensive, ripoff
spotlessly kept, weird smelling
badly serviced
short-staffed
Cuadro 9.4: Términos del recurso de indicadores de opinión implı́cita con
probabilidad igual a 1 para el dominio hotels
242
Caracterı́stica
acceleration
brakes
car
comfort
controls
design
drive
gas
handling
material
performance
price
reliability
response
ride quality
safety
speed
steering
turning radius
weight
Capı́tulo 9. Casos de aplicación: hoteles y coches
Indicadores de opinión implı́cita
accelerated easily, accelerates easily, accelerates masterfully, accelerates responsively, masterfully
brake easily, stops quickly, stops surely
behaved, behaves unexpectedly, cheaply built, cheaply constructed, controlable, darty, depreciate rapidly, depressing, disillusioned, dissappointed, doing horrible, easily controlable, enthralling,
fits nicely, incredibly disappointed, inefficient, lovable, luminous,
mind-boggled, obsolete, parks easy, poorly assembled, poorly
built, poorly constructed, ran fine, runs fine, runs nicely, runs
quietly, runs right, runs strong, sassy, solidly-constructed, strongly
built, sturdily, sturdily built, tightly constructed, trouble-prone,
under-contented, under-engineered, unfaithful, v6...fun, well assembled, well behaved, well liked, well-built, well-engineered, wellequipped, wiggly
ergonomically fails, ergonomically flawed, ergonomically friendly
operate easily
best-looking, blandly styled, butt-ugliest, clean looking, corners
flat, cute looking, designed bad, horrendous looking, impressive
looking, inadequately, inadequately designed, look awful, look dated, look muscular, look stunning, looked out-of-place, looks awful, looks beautiful, looks bland, looks sexy, looks stylish, looks
superb, looks updated, looks weak, nicest looking, odd-shaped,
plain looking, sharp looking, sophisticated looking, sportiest looking, tackiest, tackiest looking, tightly designed, worst-looking
tracked well
fuel-efficient, gas friendly
controllably, difficult to handle, handle poorly, handled beautifully, handled controllably, handled poorly, handled predictably,
handles awesome, handles beautifully, handles easily, handles excellently, handles flawlessly, handles lousy, handles poorly, handles
responsively, handles smoothly, handles terribly, maneuvers well
well textured
perform well, performed excellently, performed good, performed
strongly, performed well, performs admirably, underperforming
affordably, affordably priced, competitively, competitively priced,
competitively-priced, cost-effective, fairly priced, obtainable, outrageously, outrageously priced, pricy, reasonably-priced
all-reliable, ultra-reliable, undependable
extra-responsive, responds accurately, responds nicely, responds
quickly
drives decent, drives nicely, drove easily, lumpy, ride harshly, rides
nicely, rides safely, rides solidly, rode quietly, rode smoothly, rough
riding, undrivable
crash-safe, insecure
moves quick
hard to steer, steers, steers great
turns well
lightweight
Cuadro 9.5: Términos del recurso de indicadores de opinión implı́cita con
probabilidad igual a 1 para el dominio cars
9.2. Generación de recursos
243
Patrones de dependencias
En las tablas 9.6 y 9.7 se muestran el número de patrones de cada tipo2 ,
independientes de la caracterı́stica, inducidos para cada dominio, junto con
la precisión y cobertura acumuladas del conjunto total de patrones. Nótese la
alta cobertura obtenida en ambos casos, lo que nos garantiza que el sistema
podrá acceder a prácticamente todas las palabras de opinión existentes. Por
otro lado, la diferencia en el número de patrones entre ambos dominios para
los patrones de tipo 1, 2 y 3, nos informa de la mayor dificultad sintáctica
de las opiniones en el dominio hotels frente al dominio cars. Es posible que
esto se deba al carácter narrativo más acentuado en el dominio hotels, lo
que da pie a oraciones de más longitud y con más complejidad sintáctica.
Por otro lado, se observa un número similar de patrones de tipo 4 y 5 para
ambos dominios (los patrones relacionados con las expresiones de negación y
de polaridad dominante), lo que parece indicar que dichos patrones podrı́an
ser reutilizados entre los distintos dominios.
Tipo patrón
1
2
3
4
5
N patrones
1837
1337
137
62
25
Acc.Prec.
0.4732
0.4707
0.0724
0.8108
0.8051
Acc.Recall
1.0
1.0
0.9689
1.0
1.0
Cuadro 9.6: Estadı́sticas de los patrones de dependencias inducidos para el
dominio hotels
Tipo patrón
1
2
3
4
5
N patrones
1221
799
209
65
24
Acc.Prec.
0.4105
0.4188
0.1297
0.7758
0.7142
Acc.Recall
0.9996
0.9996
0.985
1.0
1.0
Cuadro 9.7: Estadı́sticas de los patrones de dependencias inducidos para el
dominio cars
2
Para una descripción de los cinco tipos de patrones inducidos, consultar la sección
5.7.1
244
9.3.
Capı́tulo 9. Casos de aplicación: hoteles y coches
Evaluación del sistema de extracción
En esta sección mostramos los resultados obtenidos por el sistema TOES
usando los pipelines definidos en la sección 8.4. Hemos utilizado las configuraciones de los componentes tal cual fueron fijadas para el dominio headphones.
9.3.1.
Evaluación de pipelines ligeros de recursos
En las tablas 9.8 y 9.9 se muestran los resultados obtenidos por los pipelines ligeros de recursos basados en WordNet, SentiWordNet y PMI (ver figura
8.5), en sus versiones optimizadas para F1 y F 1 , para los dominios hotels y
2
cars. Los resultados son similares a los obtenidos con los mismos pipelines
para el dominio headphones; es significativa la menor precisión obtenida en la
clasificación de las opiniones para el dominio hotels, claramente relacionada
con la mayor ambigüedad de los términos de opinión del dominio (ver tabla
9.3). En cuanto a la tarea de reconocimiento de opiniones, los resultados obtenidos para el dominio cars son peores que los de hotels, lo que nos indica
la mayor dificultad del dominio (entre otras cosas, por el mayor número de
caracterı́sticas de la taxonomı́a).
Hotels
Pipeline
WN
SWN
PMI
Opinion Recognition
p
r
F1
0,4811 0,6012 0,5347
0,5126 0,6137 0,5586
0,5136 0,5392 0,5261
Cars
Opinion
Classif.
a
0,743
0,7521
0,7922
Opinion Recognition
p
r
F1
0,4742 0,5433 0,5064
0,4854 0,5536 0,5173
0,4874 0,4919 0,4896
Opinion
Classif.
a
0,7717
0,7577
0,8233
Cuadro 9.8: Resultados obtenidos por los pipelines ligeros de recursos para
los dominios hotels y cars (optimizados para F1 )
Hotels
Pipeline
WN
SWN
PMI
Opinion Recognition
p
r
F 12
0,5854 0,2426 0,4565
0,7104 0,2853 0,5473
0,5923 0,4092 0,5437
Cars
Opinion
Classif.
a
0,8503
0,8731
0,8323
Opinion Recognition
p
r
F 12
0,6224 0,2395 0,4716
0,6709 0,2590 0,5090
0,5534 0,3800 0,5071
Opinion
Classif.
a
0,8853
0,8972
0,8611
Cuadro 9.9: Resultados obtenidos por los pipelines ligeros de recursos para
los dominios hotels y cars (optimizados para F 1 )
2
9.3. Evaluación del sistema de extracción
9.3.2.
245
Evaluación de pipelines basados en recursos
En las tablas 9.10 y 9.11 se muestran los resultados obtenidos por los pipelines basados en recursos. Al igual que ocurrió en el dominio headphones,
los resultados obtenidos son muy superiores a los obtenidos por los pipelines ligeros de recursos, lo que demuestra la significativa aportación de los
recursos especı́ficos del dominio en la solución de la tarea. Es especialmente
remarcable el hecho de que el dominio cars consigue los mejores resultados,
cuando a priori se trata de un dominio más complejo (nótese el mayor número de caracterı́sticas en la taxonomı́a, o los peores resultados obtenidos por
los pipelines ligeros de recursos). Sin duda influye en este hecho la disponibilidad de un mayor conjunto de documentos no anotados para dicho dominio,
utilizados por el algoritmo de ampliación del lexicón de opiniones.
La utilización del pipeline mixto, que añade un segundo clasificador de
opiniones basado en PMI (ver figura 8.6), no supone una ventaja demasiado
clara en los dominios estudiados, limitándose a ligeras mejoras en algunos
casos, e incluso empeorando también ligeramente en alguna ocasión.
Hotels
Pipeline
Normal
Mixto
Opinion Recognition
p
r
F1
0,6782 0,7389 0,7073
0,6763 0,7414 0,7073
Cars
Opinion
Classif.
a
0,9116
0,9122
Opinion Recognition
p
r
F1
0,7169 0,7296 0,7232
0,7162 0,7319 0,724
Opinion
Classif.
a
0,928
0,9283
Cuadro 9.10: Resultados obtenidos por los pipelines basados en recursos para
los dominios hotels y cars (optimizados para F1 )
Hotels
Pipeline
Normal
Mixto
Opinion Recognition
p
r
F 12
0,7673 0,584
0,722
0,7668 0,5803 0,7205
Cars
Opinion
Classif.
a
0,9366
0,9386
Opinion Recognition
p
r
F 12
0,7836 0,609
0,7411
0,7821 0,6124 0,7411
Opinion
Classif.
a
0,95
0,9505
Cuadro 9.11: Resultados obtenidos por los pipelines basados en recursos para
los dominios hotels y cars (optimizados para F 1 )
2
246
Capı́tulo 9. Casos de aplicación: hoteles y coches
9.4.
Resumen de resultados
A modo de resumen,en las tablas 9.12 y 9.13 se muestran los valores de
F1 y F 1 de la tarea de reconocimiento de opiniones y los valores de accuracy
2
de la tarea de clasificación de opiniones obtenidos para cada uno de los dominios con los que hemos trabajado: headphones, hotels y cars. Las principales
conclusiones que sacamos a la vista de los resultados son las siguientes:
La utilización de los recursos especı́ficos del dominio supone una ventaja clara en cualquiera de los dominios. A mayor complejidad de los
dominios, mayor es el aporte de los recursos.
La disponibilidad de un gran número de documentos sin anotar supone
una ventaja de cara a la aplicación del algoritmo de ampliación del
lexicón de opiniones.
Nuestro sistema permite el reconocimiento de opiniones con valores de
F1 en torno a 0,7 y de F 1 en torno a 0,73, y la correcta clasificación de
2
entre el 91 y el 96 por ciento de las opiniones extraı́das.
Pipeline
WN
SWN
PMI
Normal
Mixto
Headphones
F1
a.
0.5237
0.7785
0.5390
0.7817
0.5279
0.8345
0.6857
0.9345
0.6892 0.9423
Hotels
F1
a.
0.5347
0.7430
0.5586
0.7521
0.5261
0.7922
0.7073 0.9116
0.7073 0.9122
Cars
F1
a.
0.5064 0.7717
0.5173 0.7577
0.4896 0.8233
0.7232
0.928
0.724 0.9283
Cuadro 9.12: Resumen de resultados del sistema TOES en los distintos dominios(pipelines optimizados para F1 )
Pipeline
WN
SWN
PMI
Normal
Mixto
Headphones
F1
a.
2
0.5073
0.8706
0.5405
0.8940
0.5763
0.8688
0.7300
0.9503
0.7301 0.9572
Hotels
F1
a.
2
0.4565
0.8503
0.5473
0.8731
0.5437
0.8323
0.7220 0.9366
0.7205 0.9386
Cars
F1
a.
2
0.4716
0.8853
0.5090
0.8972
0.5071
0.8611
0.7411
0.95
0.7411 0.9505
Cuadro 9.13: Resumen de resultados del sistema TOES en los distintos dominios(pipelines optimizados para F 1 )
2
Capı́tulo 10
Conclusiones
El interés en las Tecnologı́as del Lenguaje y el Procesamiento del Lenguaje Natural se ha venido incrementando espectacularmente en los últimos
tiempos, en gran parte debido a las nuevas necesidades de tratamiento de la
información derivadas de la creciente implantación de Internet en la sociedad actual. Siendo el lenguaje escrito el principal vehı́culo de la información
contenida en este medio, tecnologı́as como la recuperación y la extracción
de información, el análisis y representación semántica, y otras técnicas encaminadas, en fin, al tratamiento de información no estructurada, cobran
especial protagonismo. En este contexto, y dado el carácter subjetivo de una
gran parte de los contenidos de la Web (especialmente, de aquellos generados por usuarios a través de los nuevos servicios de la Web 2.0), numerosos
investigadores han señalado la importancia del estudio de las opiniones, los
sentimientos y otros fenómenos subjetivos en los textos.
El Análisis del Sentimiento o Minerı́a de Opiniones es una nueva subdisciplina que se ocupa de este tipo de tareas. Algunos de los problemas
en cuestión vienen siendo estudiados desde hace bastante tiempo (por ejemplo, la caracterización del lenguaje subjetivo), aunque han experimentado
un creciente interés por parte de la comunidad en los últimos años. Muchos
otros problemas han sido definidos recientemente, tales como la clasificación
de documentos en base a la opinión expresada en los mismos, la clasificación de documentos según la tendencia polı́tica, la detección de emociones,
y la extracción de opiniones. Esta última tarea, consistente en la extracción de representaciones estructuradas de opiniones individuales, desde una
perspectiva cercana a la extracción de información, posee un gran potencial
práctico, puesto que permite el tratamiento estadı́stico de la ingente cantidad
de opiniones expresadas continuamente en diversas fuentes de Internet por
los usuarios, acerca de multitud de temáticas. Las implicaciones prácticas a
nivel polı́tico, económico y sociológico son evidentes.
247
248
Capı́tulo 10. Conclusiones
En este trabajo, hemos afrontado la construcción de un sistema de extracción de opiniones sobre caracterı́sticas. Esto es, para cada opinión, se
identifica no sólo la polaridad positiva o negativa de la misma, sino también
la caracterı́stica concreta del objeto analizado sobre la que se vuelca la opinión. Son dos las principales caracterı́sticas diferenciadoras con respecto a
otras propuestas de la bibliografı́a. En primer lugar, en la definición de la
tarea participa como pieza fundamental una representación semántica de las
caracterı́sticas del objeto, de manera que se pretende extraer opiniones sobre
las caracterı́sticas incluidas en una taxonomı́a, decidiendo adecuadamente a
qué elemento de la taxonomı́a debe asociarse cada opinión extraı́da. En otros
trabajos, la identificación de la caracterı́stica se hace a nivel léxico, indicando
simplemente las palabras del texto que identifican a la opinión (con los consiguientes problemas de ambigüedad y sinonimia, entre otros inconvenientes).
En segundo lugar, nos centramos en la construcción de sistemas de extracción
altamente adaptados a un dominio concreto, en lugar de en la construcción
de sistemas genéricos de extracción de opiniones.
Con estas premisas, las principales aportaciones expuestas en la presente
memoria son las siguientes:
1. La definición de un conjunto de recursos de apoyo a la tarea de extracción de opiniones sobre caracterı́sticas (ver capı́tulo 5). Estos recursos,
en su mayorı́a dependientes del dominio, incluyen la taxonomı́a de caracterı́sticas, los indicadores de caracterı́sticas implı́citas, el lexicón de
opiniones, los patrones de dependencias y las listas de expresiones especiales.
2. La definición de una metodologı́a para la generación de los recursos
anteriores, incluyendo un flujo de trabajo y un conjunto de herramientas y algoritmos que minimizan la participación manual en el proceso
(ver capı́tulo 6). Hemos propuesto un algoritmo semiautomático de
bootstrapping para la extracción de palabras de caracterı́stica, como
paso previo a la construcción de la taxonomı́a de caracterı́sticas, y algoritmos que permiten realizar la inducción de los recursos con una
mı́nima participación manual, a partir de un conjunto de documentos anotados. Hemos especificado el esquema de anotación necesario, y
hemos diseñado una herramienta de validación de las anotaciones que
permite maximizar la calidad de las mismas.
3. El diseño de un sistema de extracción sobre caracterı́sticas modular
y adaptable al dominio, al que hemos denominado TOES (Taxonomybased Opinion Extraction System, ver capı́tulo 7). El carácter genérico
249
del mismo y la definición de una serie de componentes abstractos, encargados cada uno de ellos de un subproblema determinado, permiten
la construcción bien de sistemas independientes del dominio, a partir
de componentes que implementan las principales técnicas utilizadas en
el estado del arte, o bien de sistemas adaptados al dominio, mediante
la utilización en este último caso de los recursos de apoyo anteriores.
Los componentes propuestos son parametrizables, de manera que su
funcionamiento puede ajustarse para conseguir distintos compromisos
entre la precisión y la cobertura del sistema.
Tanto el sistema de extracción como las herramientas descritas en la metodologı́a han sido implementadas y utilizadas en diversos experimentos encaminados a probar la validez de nuestras hipótesis iniciales. Algunas de las
conclusiones principales que hemos sacado de los resultados obtenidos son
las siguientes:
1. La consideración del dominio de aplicación en la tarea de extracción de
opiniones sobre caracterı́sticas permite obtener mejores resultados de
precisión y cobertura (ver sección 8.5.1). Ası́, el sistema construido a
partir de los componentes independientes del dominio obtiene en todos
los casos peores resultados que el sistema construido a partir de los
componentes basados en los recursos especı́ficos del dominio.
2. El esfuerzo manual necesario para la obtención de los recursos, que se
concentra principalmente en la anotación del conjunto de documentos de opinión, es lo suficientemente pequeño como para compensar el
incremento en la calidad de las salidas obtenidas por el sistema (ver
sección 8.5.2).
3. Las opiniones sobre caracterı́sticas vinculadas a la taxonomı́a obtenidas
por nuestro sistema son de una clara utilidad práctica en aplicaciones
de agregación y visualización de opiniones (ver sección 8.5.7).
Además de las aportaciones anteriormente expuestas, hemos obtenido algunos algoritmos y métodos que son aplicables en contextos distintos a la
extracción de opiniones, y en algún caso incluso en contextos distintos al
procesamiento del lenguaje natural:
El algoritmo PolarityRank, un algoritmo de ranking sobre grafos,
inspirado en PageRank, y con la particularidad de que trabaja sobre
grafos con aristas de pesos de negativos. Al igual que PageRank permite
asignar puntuaciones a los nodos de una red en función de las recomendaciones entre los mismos representadas por las aristas, PolarityRank
250
Capı́tulo 10. Conclusiones
permite además modelar recomendaciones negativas entre los nodos,
mediante aristas de pesos negativos. El algoritmo puede utilizarse en
aquellos problemas de propagación de información en los que se disponga de información acerca de algunas de las entidades participantes en
el problema, y se conozcan las similitudes y diferencias existentes entre
todas las entidades. En nuestro grupo de investigación, hemos aplicado
este algoritmo a tareas como la selección de instancias en minerı́a de
datos (Vallejo et al, 2010), el cálculo de la confianza y reputación en
redes sociales (Ortega et al, 2011) y la detección de spam (Ortega et al,
2010). La justificación algebraica y la demostración de la convergencia
del algoritmo se encuentran desarrolladas en el apéndice B.
Un método de expansión automática de lexicones de opinión, basado
en la representación en forma de grafo de los términos participantes en
construcciones conjuntivas, la utilización como semilla de los valores
de orientación semántica contenidos en un lexicón de opiniones que se
desea expandir, y la aplicación al grafo del algoritmo de PolarityRank
(ver sección 6.8). De manera independiente al trabajo aquı́ expuesto,
hemos llevado a cabo experimentos aplicando el método de expansión
a pequeños lexicones de opinión, inducidos a partir de una decena de
documentos anotados, consiguiendo incrementos de la cobertura de los
lexicones de entre 0, 28 y 0, 48, sin apenas perjuicio de la precisión (para
una descripción más detallada de los experimentos y los resultados, ver
(Cruz et al, 2011a)).
A partir del desarrollo de la investigación expuesta en esta memoria, hemos obtenido los siguientes resultados adicionales a las aportaciones teóricas:
Un corpus de reviews de productos, anotado a nivel de caracterı́sticas
según nuestro esquema de anotación. El corpus recoge documentos de
tres dominios distintos (headphones, hotels y cars), incluyendo para cada dominio la taxonomı́a de caracterı́sticas utilizada en las anotaciones.
El corpus está disponible para su utilización por parte de la comunidad
investigadora1 .
El sistema de extracción de opiniones sobre caracterı́sticas TOES. Actualmente disponemos de una implementación completa del mismo, y
estamos desarrollando una demo técnica vı́a web. Tenemos intención
de implementar y alojar un servicio web que pueda ser utilizado públicamente para extraer opiniones de las fuentes que se especifiquen.
1
http://www.lsi.us.es/~fermin/index.php/Datasets
251
Artı́culos en distintos congresos y publicaciones, algunos relacionados
con la propuesta central de este trabajo (Cruz et al, 2010, 2009c,
2011b,c,d), y otros con aportaciones relacionadas (Cruz et al, 2011a,
2009a,b, 2008; Ortega et al, 2011, 2010).
Bibliografı́a
Abbasi A (2007) Affect intensity analysis of dark web forums. In: Proceedings
of Intelligence and Security Informatics (ISI), pp 282–288
Adomavicius G, Tuzhilin A (2005) Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions.
IEEE Transactions on Knowledge and Data Engineering 17:734–749, DOI
http://doi.ieeecomputersociety.org/10.1109/TKDE.2005.99
Agrawal R, Srikant R (1994) Fast Algorithms for Mining Association Rules.
URL http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.
40.7506
Alm CO, Roth D, Sproat R (2005) Emotions from text: machine learning
for text-based emotion prediction. In: Proceedings of the Human Language Technology Conference and the Conference on Empirical Methods in
Natural Language Processing (HLT/EMNLP)
Amatriain X, Pujol J, Oliver N (2009) I Like It... I Like It Not: Evaluating User Ratings Noise in Recommender Systems. In: Houben GJ,
McCalla G, Pianesi F, Zancanaro M (eds) User Modeling, Adaptation,
and Personalization, vol 5535, Springer Berlin Heidelberg, Berlin, Heidelberg, chap 24, pp 247–258, DOI 10.1007/978-3-642-02247-0\ 24, URL
http://dx.doi.org/10.1007/978-3-642-02247-0\_24
Andreevskaia A, Bergler S (2006) Mining WordNet for a fuzzy sentiment:
Sentiment tag extraction from WordNet glosses. In: Proceedings of the European Chapter of the Association for Computational Linguistics (EACL)
Atserias J, Casas B, Comelles E, González M, Padró L, Padró M (2006)
Freeling 1.3: Syntactic and semantic services in an open-source nlp library. In: Proceedings of the fifth international conference on Language Resources and Evaluation (LREC 2006), ELRA, Genoa, Italy,
http://www.lsi.upc.edu/ nlp/freeling
253
254
BIBLIOGRAFÍA
Baccianella AES, Sebastiani F (2010) Sentiwordnet 3.0: An enhanced lexical
resource for sentiment analysis and opinion mining. In: Proceedings of the
Seventh conference on International Language Resources and Evaluation
(LREC’10), European Language Resources Association (ELRA), Valletta,
Malta, URL http://www.lrec-conf.org/proceedings/lrec2010/pdf/
769_Paper.pdf
Baccianella S, Esuli A, Sebastiani F (2010) Sentiwordnet 3.0: An enhanced
lexical resource for sentiment analysis and opinion mining. In: Proceedings
of the Seventh conference on International Language Resources and Evaluation (LREC’10), European Language Resources Association (ELRA),
Valletta, Malta
Balahur A, Montoyo A (2008a) A feature dependent method for opinion
mining and classification. In: Natural Language Processing and Knowledge
Engineering, 2008. NLP-KE ’08. International Conference on, pp 1 –7,
DOI 10.1109/NLPKE.2008.4906796
Balahur A, Montoyo A (2008b) Multilingual feature-driven opinion extraction and summarization from customer reviews. In: Proceedings of the
13th international conference on Natural Language and Information Systems: Applications of Natural Language to Information Systems, SpringerVerlag, Berlin, Heidelberg, NLDB ’08, pp 345–346, DOI http://dx.doi.
org/10.1007/978-3-540-69858-6 39, URL http://dx.doi.org/10.1007/
978-3-540-69858-6_39
Bansal M, Cardie C, Lee L (2008) The power of negative thinking: Exploiting
label disagreement in the min-cut classification framework. In: Proceedings
of the International Conference on Computational Linguistics (COLING),
poster paper
Battistella EL (1990) Markedness : the evaluative superstructure of language
/ Edwin L. Battistella. State University of New York Press, Albany :
Blair-Goldensohn S, Hannan K, McDonald R, Neylon T, Reis G, Reynar
J (2008) Building a sentiment summarizer for local service reviews. In:
NLPIX
Blei DM, Ng AY, Jordan MI (2003) Latent Dirichlet allocation. Journal of
Machine Learning Research 3:993–1022
Boldrini E, Balahur A, Martı́nez-Barco P, Montoyo A (2010) Emotiblog:
a finer-grained and more precise learning of subjectivity expression mo-
BIBLIOGRAFÍA
255
dels. In: Proceedings of the Fourth Linguistic Annotation Workshop, Association for Computational Linguistics, Stroudsburg, PA, USA, LAW IV
’10, pp 1–10, URL http://portal.acm.org/citation.cfm?id=1868720.
1868721
Brants T (2000) Tnt - a statistical part-of-speech tagger. In: Proceedings
of the Sixth Applied Natural Language Processing (ANLP-2000), Seattle,
WA
Brody S, Elhadad N (2010) An unsupervised aspect-sentiment model for online reviews. In: Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational
Linguistics, Association for Computational Linguistics, Stroudsburg, PA,
USA, HLT ’10, pp 804–812, URL http://portal.acm.org/citation.
cfm?id=1857999.1858121
Cardie C, Wiebe J, Wilson T, Litman D (2003) Combining low-level and
summary representations of opinions for multi-perspective question answering. In: Proceedings of the AAAI Spring Symposium on New Directions
in Question Answering, pp 20–27
Carenini G, Ng RT, Zwart E (2005) Extracting knowledge from evaluative
text. In: Proceedings of the 3rd international conference on Knowledge
capture, ACM, New York, NY, USA, K-CAP ’05, pp 11–18, DOI http:
//doi.acm.org/10.1145/1088622.1088626, URL http://doi.acm.org/10.
1145/1088622.1088626
Carenini G, Ng RT, Pauls A (2006) Interactive multimedia summaries of
evaluative text. In: Proceedings of Intelligent User Interfaces (IUI), ACM
Press, pp 124–131
Cerini S, Compagnoni V, Demontis A, Formentelli M, Gandini G (2007)
Language resources and linguistic theory: Typology, second language acquisition, English linguistics., Franco Angeli Editore, Milano, IT, chap
Micro-WNOp: A gold standard for the evaluation of automatically compiled lexical resources for opinion mining. URL http://www.unipv.it/
wnop/#CITECerini07
Church KW, Hanks P (1989) Word association norms, mutual information,
and lexicography
Cilibrasi R, Vitanyi PMB (2005) Automatic meaning discovery using google.
URL http://homepages.cwi.nl/~paulv/papers/amdug.pdf, v2
256
BIBLIOGRAFÍA
Cruz F, Troyano JA, Enrı́quez de Salamanca F, Ortega FJ (2008) Clasificación de documentos basada en la opinión: Experimentos con un corpus
de crı́ticas de cine en español. In: Boletin de la Sociedad Española para el
Procesamiento del Lenguaje Natural, vol 41, pp 73–80
Cruz F, Troyano JA, Ortega FJ, Enrı́quez de Salamanca F (2009a) The
italica system at tac 2008 opinion summarization task. In: Proceedings of
the Textual Analysis Conference
Cruz F, Troyano JA, Ortega FJ, Vallejo CG (2009b) Inducción de un lexicón
de opinión orientado al dominio. In: Boletin de la Sociedad Española para
el Procesamiento del Lenguaje Natural
Cruz FL, Troyano JA, Ortega FJ, Enrı́quez F (2009c) Hacia una metodologı́a
para la construcción de sistemas de extracción de opiniones orientados al
dominio. In: 1st Workshop on Opinion Mining And Sentiment Analysis
Cruz FL, Troyano JA, Ortega FJ, Vallejo CG (2009d) Inducción de un Lexicón de Opinión Orientado al Dominio. Boletı́n de la Sociedad Española
para el Procesamiento del Lenguaje Natural 43:5–12
Cruz FL, Troyano JA, Enrı́quez F, Ortega J, GVallejo C (2010) A knowledgerich approach to feature-based opinion extraction from product reviews.
In: Proceedings of the 2nd International Workshop on Search and Mining
User-Generated Contents, ACM, pp 13–20
Cruz FL, Troyano JA, Ortega FJ, Enrı́quez F (2011a) Automatic expansion
of feature-level opinion lexicons. In: Proceedings of the 2nd Workshop on
Computational Approaches to Subjectivity and Sentiment Analysis (WASSA 2.011), Association for Computational Linguistics, Portland, Oregon,
pp 125–131, URL http://www.aclweb.org/anthology/W11-1716
Cruz FL, Troyano JA, Ortega FJ, Enrı́quez F (2011b) Extracción de
opiniones sobre caracterısticas adaptable al dominio. IV Jornadas de
la Red Temática en Tratamiento de la Información Multilingüe y
Multimodal URL http://sinai.ujaen.es/timm/jornadas4/timm2011_
submission_6.pdf
Cruz FL, Troyano JA, Ortega FJ, Enrı́quez F (2011c) TOES: A taxonomybased opinion extraction system. In: Proceedings of the 16th Conference
on Applications of Natural Language to Information Systems, Springer
BIBLIOGRAFÍA
257
Cruz FL, Vallejo CG, Enrı́quez F, Troyano JA (2011d) Polarityrank: Finding
an equilibrium between followers and contraries in a network. Information
Processing & Management DOI 10.1016/j.ipm.2011.08.003
Das S, Chen M (2001) Yahoo! for Amazon: Extracting market sentiment
from stock message boards. In: Proceedings of the Asia Pacific Finance
Association Annual Conference (APFA)
Dave K, Lawrence S, Pennock DM (2003) Mining the peanut gallery: Opinion
extraction and semantic classification of product reviews. In: Proceedings
of WWW, pp 519–528
Ding X, Liu B, Yu PS (2008a) A holistic lexicon-based approach to opinion
mining. In: Proceedings of the Conference on Web Search and Web Data
Mining (WSDM)
Ding X, Liu B, Yu PS (2008b) A holistic lexicon-based approach to opinion
mining. In: WSDM ’08: Proceedings of the international conference on
Web search and web data mining, ACM, New York, NY, USA, pp 231–
240, DOI http://doi.acm.org/10.1145/1341531.1341561
Dini L, Mazzini G (2002) Opinion classification through information extraction. In: Proceedings of the Conference on Data Mining Methods and Databases for Engineering, Finance and Other Fields (Data Mining), pp 299–
310
Ekman P (1982) Emotion in the Human Face, 2nd edn. Cambridge University
Press
Esuli A, Sebastiani F (2005) Determining the semantic orientation of terms
through gloss analysis. In: Proceedings of the ACM SIGIR Conference on
Information and Knowledge Management (CIKM)
Esuli A, Sebastiani F (2006a) Determining term subjectivity and term orientation for opinion mining. In: Proceedings of the European Chapter of the
Association for Computational Linguistics (EACL)
Esuli A, Sebastiani F (2006b) SentiWordNet: A publicly available lexical
resource for opinion mining. In: Proceedings of Language Resources and
Evaluation (LREC)
Esuli A, Sebastiani F (2007) Pageranking wordnet synsets: An application to
opinion mining. In: Proceedings of ACL-07, the 45th Annual Meeting of
258
BIBLIOGRAFÍA
the Association of Computational Linguistics, Association for Computational Linguistics, pp 424–431, URL http://acl.ldc.upenn.edu/P/P07/
P07-1054.pdf
Etzioni O, Cafarella M, Downey D, Kok S, Popescu AM, Shaked T, Soderland
S, Weld DS, Yates A (2004) Web-scale information extraction in knowitall:
(preliminary results). In: Proceedings of the 13th international conference
on World Wide Web, ACM, New York, NY, USA, WWW ’04, pp 100–110,
DOI http://doi.acm.org/10.1145/988672.988687, URL http://doi.acm.
org/10.1145/988672.988687
Fagin R, Kumar R, Mahdian M, Sivakumar D, Vee E (2004) Comparing and aggregating rankings with ties. In: PODS ’04: Proceedings of
the twenty-third ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems, ACM, New York, NY, USA, pp 47–58, DOI
http://doi.acm.org/10.1145/1055558.1055568
Fellbaum C (ed) (1998) WordNet: An Electronic Lexical Database. MIT
Press
Gamon M, Aue A, Corston-Oliver S, Ringger E (2005) Pulse: Mining customer opinions from free text. In: Proceedings of the International Symposium on Intelligent Data Analysis (IDA), no. 3646 in Lecture Notes in
Computer Science, pp 121–132
Ganu G, Elhadad N, Marian A (2009) Beyond the stars: Improving rating
predictions using review text content. In: WebDB, URL http://dblp.
uni-trier.de/db/conf/webdb/webdb2009.html#GanuEM09
Golbeck J (2006) Generating Predictive Movie Recommendations from Trust
in Social Networks. In: Stølen K, Winsborough W, Martinelli F, Massacci
F (eds) Trust Management, Lecture Notes in Computer Science, vol 3986,
Springer Berlin / Heidelberg, Berlin, Heidelberg, chap 8, pp 93–104, DOI
10.1007/11755593\ 8, URL http://dx.doi.org/10.1007/11755593\_8
Goldberg AB, Zhu J (2006) Seeing stars when there aren’t many stars:
Graph-based semi-supervised learning for sentiment categorization. In:
TextGraphs: HLT/NAACL Workshop on Graph-based Algorithms for Natural Language Processing
Hall J (2006) MaltParser – An Architecture for Inductive Labeled Dependency Parsing
BIBLIOGRAFÍA
259
Hatzivassiloglou V, McKeown KR (1997) Predicting the semantic orientation of adjectives. In: Proceedings of the eighth conference on European chapter of the Association for Computational Linguistics, Association for Computational Linguistics, Morristown, NJ, USA, pp 174–181,
DOI http://dx.doi.org/10.3115/979617.979640
Hatzivassiloglou V, Wiebe J (2000) Effects of adjective orientation and gradability on sentence subjectivity. In: Proceedings of the International Conference on Computational Linguistics (COLING)
Havasi C, Speer R, Alonso J (2007) Conceptnet 3: a flexible, multilingual
semantic network for common sense knowledge. In: Recent Advances in
Natural Language Processing, Borovets, Bulgaria
del Hoyo R, Hupont I, Lacueva FJ, Abadı́a D (2009) Hybrid text affect
sensing system for emotional language analysis. In: Proceedings of the
International Workshop on Affective-Aware Virtual Agents and Social Robots, ACM, New York, NY, USA, AFFINE ’09, pp 3:1–3:4, DOI http:
//doi.acm.org/10.1145/1655260.1655263, URL http://doi.acm.org/10.
1145/1655260.1655263
Hu M, Liu B (2004a) Mining and summarizing customer reviews. In: Proceedings of the ACM SIGKDD Conference on Knowledge Discovery and
Data Mining (KDD), pp 168–177
Hu M, Liu B (2004b) Mining opinion features in customer reviews. In: Proceedings of AAAI, pp 755–760
Huettner A, Subasic P (2000) Fuzzy typing for document management. In:
ACL 2000 Companion Volume: Tutorial Abstracts and Demonstration Notes, pp 26–27
Hummel RA, Zucker SW (1983) On the foundations of relaxation labeling
processes. Pattern Analysis and Machine Intelligence, IEEE Transactions
on PAMI-5(3):267 –287, DOI 10.1109/TPAMI.1983.4767390
Jin X, Li Y, Mah T, Tong J (2007) Sensitive webpage classification for content
advertising. In: Proceedings of the International Workshop on Data Mining
and Audience Intelligence for Advertising
Jo Y, Oh AH (2011) Aspect and sentiment unification model for online review
analysis. In: Proceedings of the fourth ACM international conference on
Web search and data mining, ACM, New York, NY, USA, WSDM ’11, pp
260
BIBLIOGRAFÍA
815–824, DOI http://doi.acm.org/10.1145/1935826.1935932, URL http:
//doi.acm.org/10.1145/1935826.1935932
Kamps J, Marx M, Mokken RJ, De Rijke M (2004a) Using wordnet to
measure semantic orientation of adjectives. In: National Institute for,
vol 26, pp 1115–1118, URL http://citeseerx.ist.psu.edu/viewdoc/
summary?doi=10.1.1.6.2534
Kamps J, Marx M, Mokken RJ, de Rijke M (2004b) Using WordNet to
measure semantic orientation of adjectives. In: LREC
Kanayama H, Nasukawa T (2006) Fully automatic lexicon expansion for
domain-oriented sentiment analysis. In: Proceedings of the Conference on
Empirical Methods in Natural Language Processing (EMNLP), Association for Computational Linguistics, Sydney, Australia, pp 355–363
Kim SM, Hovy E (2004) Determining the sentiment of opinions. In: Proceedings of the International Conference on Computational Linguistics (COLING)
Kudo T, Matsumoto Y (2003) Fast methods for kernel-based text analysis.
In: ACL, pp 24–31
Lehrer Adrienne (1974) Semantic fields and lexical structure / A. Lehrer.
North-Holland ; American Elsevier, Amsterdam : New York :
Leung C, Chan S, Chung Fl, Ngai G (2011) A probabilistic rating inference framework for mining user preferences from reviews.
World Wide Web 14:187–215, URL http://dx.doi.org/10.1007/
s11280-011-0117-5, 10.1007/s11280-011-0117-5
Lin D (1998) Dependency-based evaluation of minipar. In: Proc. Workshop
on the Evaluation of Parsing Systems, Granada
Lin WH, Wilson T, Wiebe J, Hauptmann A (2006) Which side are you on?
identifying perspectives at the document and sentence levels. In: Proceedings of the Conference on Natural Language Learning (CoNLL)
Liscombe J, Riccardi G, Hakkani-Tür D (2005) Using context to improve
emotion detection in spoken dialog systems. In: Interspeech, pp 1845–1848
Liu B, Hu M, Cheng J (2005) Opinion observer: Analyzing and comparing
opinions on the web. In: Proceedings of WWW
BIBLIOGRAFÍA
261
Liu H, Lieberman H, Selker T (2003) A model of textual affect sensing using
real-world knowledge. In: Proceedings of Intelligent User Interfaces (IUI),
pp 125–132
Malouf R, Mullen T (2008) Taking sides: Graph-based user classification for
informal online political discourse. Internet Research 18(2), URL http:
//bulba.sdsu.edu/~malouf/papers/Takingsides.pdf
Marcus MP, Santorini B, Marcinkiewicz MA (1994) Building a large annotated corpus of english: The penn treebank. Computational Linguistics 19,
URL http://www.aclweb.org/anthology-new/J/J93/J93-2004.pdf
Mel’čuk I (1988) Dependency Syntax: Theory and Practice. State University
of New York Press
Merriam-Webster (2011) Merriam-webster online dictionary. URL http://
www.merriam-webster.com
Mihalcea R, Banea C, Wiebe J (2007) Learning multilingual subjective language via cross-lingual projections. In: Proceedings of the Association for
Computational Linguistics (ACL), Prague, Czech Republic, pp 976–983
Morinaga S, Yamanishi K, Tateishi K, Fukushima T (2002) Mining product
reputations on the web. In: Proceedings of the ACM SIGKDD Conference
on Knowledge Discovery and Data Mining (KDD), pp 341–349, industry
track
Mullen T, Malouf R (2006) A preliminary investigation into sentiment analysis of informal political discourse. In: AAAI Symposium on Computational
Approaches to Analysing Weblogs (AAAI-CAAW), pp 159–162
Mullen T, Malouf R (2008) Taking sides: User classification for informal
online political discourse. Internet Research 18:177–190
Nanni DL (1980) On the surface syntax of constructions with easy-type adjectives. Language 56(3):568–581
Nasukawa T, Yi J (2003) Sentiment analysis: Capturing favorability using
natural language processing. In: Proceedings of the Conference on Knowledge Capture (K-CAP)
Ortega FJ, Macdonald C, Troyano JA, Cruz F (2010) Spam detection with
a content-based random-walk algorithm. In: 2nd International Workshop
on Search and Mining User-generated Contents, at CIKM 2010
262
BIBLIOGRAFÍA
Ortega J, Troyano J, Cruz F, Enrı́quez de Salamanca F (2011) PolarityTrust:
measuring trust and reputation in social networks. In: Fourth International
Conference on Internet Technologies and Applications (ITA 11), Wrexham,
North Wales, United Kingdom
Ounis I, de Rijke M, Macdonald C, Mishne G, Soboroff I (2006) Overview
of the TREC-2006 Blog Track. In: Proceedings of the 15th Text REtrieval
Conference (TREC 2006)
Page L, Brin S, Motwani R, Winograd T (1998) The pagerank citation ranking: Bringing order to the web. Tech. rep., Stanford Digital Library Technologies Project, URL http://citeseer.ist.psu.edu/
page98pagerank.html
Pang B, Lee L (2004) A sentimental education: Sentiment analysis using
subjectivity summarization based on minimum cuts. In: Proceedings of
the Association for Computational Linguistics (ACL), pp 271–278
Pang B, Lee L (2005) Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales. In: Proceedings of the
Association for Computational Linguistics (ACL), pp 115–124
Pang B, Lee L (2008) Opinion mining and sentiment analysis. Foundations
and Trends in Information Retrieval 2(1-2):1–135
Pang B, Lee L, Vaithyanathan S (2002) Thumbs up? Sentiment classification
using machine learning techniques. In: Proceedings of the Conference on
Empirical Methods in Natural Language Processing (EMNLP), pp 79–86
Passonneau RJ, Nenkova A, Mckeown K, Sigelman S (2005) Applying the
pyramid method in duc 2005. In: In Proceedings of the 2005 DUC Workshop
Piao S, Ananiadou S, Tsuruoka Y, Sasaki Y, McNaught J (2007) Mining opinion polarity relations of citations. In: International Workshop on Computational Semantics (IWCS), pp 366–371, short paper
Popescu AM, Etzioni O (2005) Extracting product features and opinions from
reviews. In: Proceedings of the Human Language Technology Conference
and the Conference on Empirical Methods in Natural Language Processing
(HLT/EMNLP)
BIBLIOGRAFÍA
263
Popescu AM, Nguyen B, Etzioni O (2005) Opine: extracting product features
and opinions from reviews. In: Proceedings of HLT/EMNLP on Interactive Demonstrations, Association for Computational Linguistics, Stroudsburg, PA, USA, HLT-Demo ’05, pp 32–33, DOI http://dx.doi.org/10.3115/
1225733.1225750, URL http://dx.doi.org/10.3115/1225733.1225750
Qiu G, Liu B, Bu J, Chen C (2011) Opinion word expansion and target
extraction through double propagation. Computational Linguistics 37(1)
RAE (2001) Diccionario de la lengua española. Espasa
Sampson G (1992) The Susanne Corpus. School of Cognitive & Computing
Sciences, University of Sussex, 1st edn
Spertus E (1997) Smokey: Automatic recognition of hostile messages. In:
Proceedings of Innovative Applications of Artificial Intelligence (IAAI),
pp 1058–1065
Stone PJ (1966) The General Inquirer: A Computer Approach to Content
Analysis. The MIT Press
Subasic P, Huettner A (2001) Affect analysis of text using fuzzy semantic
typing. IEEE Transactions on Fuzzy Systems 9(4):483–496
Szomszor M, Cattuto C, Alani H, O?Hara K, Baldassarri A, Loreto V, Servedio VD (2007) Folksonomies, the semantic web, and movie recommendation. In: 4th European Semantic Web Conference, Bridging the Gap
between Semantic Web and Web 2.0, URL http://eprints.ecs.soton.
ac.uk/14007/
Taboada M, Gillies MA, McFetridge P (2006) Sentiment classification techniques for tracking literary reputation. In: LREC Workshop: Towards
Computational Models of Literary Analysis, pp 36–43
Takamura H, Inui T, Okumura M (2005) Extracting semantic orientation of
words using spin model. In: Proceedings of the Association for Computational Linguistics (ACL), pp 133–140
Tateishi K, Ishiguro Y, Fukushima T (2001) Opinion information retrieval
from the Internet. Information Processing Society of Japan (IPSJ) SIG
Notes 2001(69(20010716)):75–82, also cited as “A reputation search engine
that gathers people’s opinions from the Internet”, IPSJ Technical Report
NL-14411. In Japanese.
264
BIBLIOGRAFÍA
Thomas M, Pang B, Lee L (2006) Get out the vote: Determining support
or opposition from Congressional floor-debate transcripts. In: Proceedings
of the Conference on Empirical Methods in Natural Language Processing
(EMNLP), pp 327–335
Titov I, McDonald R (2008a) A joint model of text and aspect ratings for
sentiment summarization. In: Proceedings of ACL-08: HLT, Association
for Computational Linguistics, Columbus, Ohio, pp 308–316, URL http:
//www.aclweb.org/anthology/P/P08/P08-1036
Titov I, McDonald R (2008b) Modeling online reviews with multi-grain topic
models. In: Proceeding of the 17th international conference on World Wide
Web, ACM, New York, NY, USA, WWW ’08, pp 111–120, DOI http:
//doi.acm.org/10.1145/1367497.1367513, URL http://doi.acm.org/10.
1145/1367497.1367513
Tong RM (2001) An operational system for detecting and tracking opinions
in on-line discussion. In: Proceedings of the Workshop on Operational Text
Classification (OTC)
Tumasjan A, Sprenger TO, Sandner PG, Welpe IM (2010) Predicting elections with twitter: What 140 characters reveal about political sentiment.
In: ICWSM
Turney P (2002a) Thumbs up or thumbs down? Semantic orientation applied
to unsupervised classification of reviews. In: Proceedings of the Association
for Computational Linguistics (ACL), pp 417–424
Turney PD (2002b) Thumbs up or thumbs down? semantic orientation applied to unsupervised classification of reviews. In: In Proceedings of the
40th Annual Meeting of the Association for Computational Linguistics, pp
417–424
Turney PD, Littman ML (2003a) Measuring praise and criticism: Inference of
semantic orientation from association. ACM Transactions on Information
Systems (TOIS) 21(4):315–346
Turney PD, Littman ML (2003b) Measuring praise and criticism: Inference of
semantic orientation from association. ACM Transactions on Information
Systems 21:315–346
Vallejo CG, Troyano JA, Ortega FJ (2010) Instancerank: Bringing order
to datasets. Pattern Recognition Letters 31(2):133–142, URL http://dx.
doi.org/10.1016/j.patrec.2009.09.022
BIBLIOGRAFÍA
265
Wiebe J, Breck E, Buckley C, Cardie C, Davis P, Fraser B, Litman D, Pierce
D, Riloff E, Wilson T, Day D, Maybury M (2003) Recognizing and organizing opinions expressed in the world press. In: Proceedings of the AAAI
Spring Symposium on New Directions in Question Answering
Wiebe JM, Wilson T, Bruce R, Bell M, Martin M (2004) Learning subjective
language. Computational Linguistics 30(3):277–308
Wilson T, Wiebe J, Hwa R (2004) Just how mad are you? Finding strong
and weak opinion clauses. In: Proceedings of AAAI, pp 761–769, extended version in Computational Intelligence 22(2, Special Issue on Sentiment
Analysis):73–99, 2006
Wilson T, Wiebe J, Hoffmann P (2005) Recognizing contextual polarity in
phrase-level sentiment analysis. In: Proceedings of the Human Language Technology Conference and the Conference on Empirical Methods in
Natural Language Processing (HLT/EMNLP), pp 347–354
Yi J, Niblack W (2005) Sentiment mining in WebFountain. In: Proceedings
of the International Conference on Data Engineering (ICDE)
Yi J, Nasukawa T, Bunescu R, Niblack W (2003) Sentiment analyzer: Extracting sentiments about a given topic using natural language processing
techniques. In: Proceedings of the IEEE International Conference on Data
Mining (ICDM)
Yu H, Hatzivassiloglou V (2003) Towards answering opinion questions: Separating facts from opinions and identifying the polarity of opinion sentences.
In: Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP)
Zhai Z, Liu B, Xu H, Jia P (2010) Grouping product features using semisupervised learning with soft-constraints. In: Proceedings of the 23rd International Conference on Computational Linguistics (Coling 2010), Coling 2010 Organizing Committee, Beijing, China, pp 1272–1280, URL
http://www.aclweb.org/anthology/C10-1143
Zhao J, Liu K, Wang G (2008) Adding redundant features for crfs-based sentence sentiment classification. In: Proceedings of the Conference on Empirical Methods in Natural Language Processing, Association for Computational Linguistics, Stroudsburg, PA, USA, EMNLP ’08, pp 117–126, URL
http://portal.acm.org/citation.cfm?id=1613715.1613733
266
BIBLIOGRAFÍA
Zhao WX, Jiang J, Yan H, Li X (2010) Jointly modeling aspects and opinions with a maxent-lda hybrid. In: Proceedings of the 2010 Conference
on Empirical Methods in Natural Language Processing, Association for
Computational Linguistics, Stroudsburg, PA, USA, EMNLP ’10, pp 56–
65, URL http://portal.acm.org/citation.cfm?id=1870658.1870664
Zhu X, Ghahramani Z (2002) Learning from labeled and unlabeled data with
label propagation. Tech. rep.
Parte VI
Apéndices
267
Apéndice A
Ejemplos de entradas y salidas
de los componentes concretos
de TOES
Resumen: En el presente apéndice mostramos ejemplos de aplicación
de los componentes concretos del sistema definidos en el capı́tulo 7,
que permiten aclarar el funcionamiento de los mismos, haciendo hincapié en la influencia de los distintos parámetros de configuración de
los componentes.
A.1.
Anotador de palabras de caracterı́stica
basado en la taxonomı́a
Taxonomy-based feature word annotator
Sea la siguiente frase del documento de entrada:
[ These DT ( 1 ) headphones NNS ( 2 ) ] NP [ have VBP ( 3 ) ] VP [ a Z ( 4 )
g r e a t J J ( 5 ) sound NN ( 6 ) q uali t y NN ( 7 ) ] NP . Fp ( 8 )
, en la que hemos indicado la categorı́a morfosintáctica de cada palabra (utilizando las etiquetas del Penn Treebank), el número identificativo de cada
token y los sintagmas nominales (NP ) y verbales(VP ). Empleando la taxonomı́a para el dominio headphones mostrada en la figura 6.11, y con independencia de los valores de los parámetros del componente, se generarı́an las
siguientes evidencias de opinión:
269
270
Apéndice A. Ejemplos de entradas y salidas (TOES)
<o p i n i o n f e a t u r e=” headphones ” featWords=”2”/>
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 6 ” />
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 6 , 7 ” />
Dado que la segunda de las evidencias mostradas contiene como palabras
de caracterı́stica un subconjunto de las palabras de caracterı́stica de la tercera
evidencia de opinión, el componente la eliminará, quedando finalmente en la
oración las evidencias siguientes:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2”/>
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 6 , 7 ” />
Como puede observarse, no todas las apariciones de palabras de caracterı́stica se corresponderán finalmente con evidencias de opinión reales.
Será responsabilidad de otros componentes determinar cuáles de las evidencias de opinión tentativas corresponden a evidencias reales y cuáles no, como
veremos más adelante.
A.2.
Anotador de caracterı́sticas implı́citas
basado en los indicadores
Cue-based implicit feature annotator
Supongamos la siguiente oración:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) : ( 5 ) they ( 6 ) have
( 7 ) c l e a n ( 8 ) and ( 9 ) w e l l −d e f i n e d ( 1 0 ) h i g h s ( 1 1 ) and ( 1 2 )
p o w e r f u l ( 1 3 ) low ( 1 4 ) f r e q u e n c i e s ( 1 5 ) .
, y las siguientes entradas en el recurso de indicadores de caracterı́sticas
implı́citas:
<e n t r y term=” sound ” s u p p o r t=” 1496 ”>
<f b E n t r y f e a t u r e=” sound q u a l i t y ” prob=” 0 . 1 2 ”
condProb=” 0 . 1 2 ” />
</ e n t r y>
<e n t r y term=” sound g r e a t ” s u p p o r t=” 92 ”>
<f b E n t r y f e a t u r e=” sound q u a l i t y ” prob=” 0 . 2 9 ”
condProb=” 0 . 2 9 ” />
</ e n t r y>
<e n t r y term=” c l e a n ” s u p p o r t=” 33 ”>
<f b E n t r y f e a t u r e=” sound q u a l i t y ” opProb=” 0 . 0 6 ”
condProb=” 0 . 1 1 ” />
</ e n t r y>
<e n t r y term=” p o w e r f u l ” s u p p o r t=” 12 ”>
<f b E n t r y f e a t u r e=” volume ” opProb=” 0 . 1 7 ” condProb=” 0 . 1 7 ” />
</ e n t r y>
A.2. Cue-based implicit feature annotator
271
Suponemos que no existen entradas en el recurso para el resto de palabras de la oración anterior. La ejecución del componente con los siguientes
parámetros:
minProb=0.1, minSupport=3, useCondProbs=false
, darı́a lugar a las siguientes evidencias de opinión:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 3 ” />
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
<o p i n i o n f e a t u r e=” volume ” opWords=” 13 ”/>
Dado que las palabras de opinión de la primera evidencia están incluidas
en las palabras de opinión de la segunda evidencia, la primera serı́a eliminada,
quedando finalmente:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
<o p i n i o n f e a t u r e=” volume ” opWords=” 13 ”/>
Como puede observarse, la segunda de las evidencias anotadas serı́a incorrecta, puesto que “powerful” es en realidad una palabra de opinión asociada
a la caracterı́stica bass , referenciada por las palabras de caracterı́stica “low
frequencies” en la oración mostrada. Un valor mayor para el parámetro minProb (por ejemplo, 0.25) habrı́a sorteado dicho error.
Supongamos ahora que, antes de la ejecución del componente, han sido
anotadas las siguientes evidencias de opinión:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2” opWords=” 3 , 4 ”
p o l a r i t y=”+”/>
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=”8”
p o l a r i t y=”+”/>
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 10 ”
p o l a r i t y=”+”/>
<o p i n i o n f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ” opWords=” 13 ”
p o l a r i t y=”+”/>
, y que los valores de los parámetros del componente fueran los siguientes:
minProb=0.25, minSupport=3, useCondProbs=true
En este caso, no se añadirı́an nuevas evidencias de opinión, puesto que
el único término cuya probabilidad condicionada es mayor o igual a 0.25
(“sound great”) ya ha sido previamente utilizado como término de opinión
en una evidencia de opinión sobre caracterı́stica explı́cita.
272
Apéndice A. Ejemplos de entradas y salidas (TOES)
A.3.
Anotador de caracterı́sticas implı́citas
basado en PMI-IR
PMIIR-based implicit feature annotator
Supongamos la siguiente oración:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) : ( 5 ) they ( 6 ) have
( 7 ) c l e a n ( 8 ) and ( 9 ) w e l l −d e f i n e d ( 1 0 ) h i g h s ( 1 1 ) and ( 1 2 )
p o w e r f u l ( 1 3 ) low ( 1 4 ) f r e q u e n c i e s ( 1 5 ) .
Sólo se consideran como posibles indicadores los adjetivos de la oración.
para cada uno de estos, se estiman los valores de PMI-IR con cada una de las
caracterı́sticas de la taxonomı́a. Los mayores valores obtenidos para cada uno
y las caracterı́sticas correspondientes son los siguientes (los valores mostrados
han sido estimados realmente haciendo uso del componente):
“great”: 1,725 (sound quality)
“clean”: 1,547 (sound quality)
“well-defined ”: 1,195 (mids)
“powerful ”: 2,123 (sound quality)
Suponiendo que el valor del umbral minPMI del componente fuese 1, 5,
la ejecución del componente generarı́a las siguientes evidencias de opinión:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 4 ” />
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 8 ” />
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 13 ” />
A.4.
Enlazador de palabras de opinión
basado en ventana
Window-based opinion word linker
Sea la siguiente frase del documento de entrada:
These DT ( 1 ) headphones NNS ( 2 ) have VBP ( 3 ) a Z ( 4 ) g r e a t J J ( 5 )
sound NN ( 6 ) q uali ty NN ( 7 ) . Fp ( 8 )
, en la que hemos indicado la categorı́a morfosintáctica de cada palabra (utilizando las etiquetas del Penn Treebank) y el número identificativo de cada
token.
A.4. Window-based opinion word linker
273
Supongamos que previamente han sido generadas las siguientes evidencias
de opinión:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2”/>
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 6 , 7 ” />
La ejecución del enlazador de palabras de opinión basado en ventana con
los siguientes parámetros:
windowSize=1, validpos=“JN”
, añadirı́a a las evidencias anteriores como palabras de opinión aquellos adjetivos y nombres contenidos en una ventana de contexto de una palabra
alrededor de las palabras de caracterı́stica. El resultado serı́a el siguiente:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2”/>
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 6 , 7 ” opWords=” 5 ” />
Aunque en el ejemplo mostrado el resultado ha sido satisfactorio, la simplicidad de este componente limita mucho su potencia. Si se utilizan ventanas
pequeñas, no se capturarán correctamente aquellas evidencias de opinión en
las que las palabras de caracterı́stica y las palabras de opinión estén más
alejadas. Si se utilizan ventanas grandes, es probable que se añadan más palabras de opinión de las que realmente están modificando a las palabras de
caracterı́stica. Por ejemplo, en la siguiente oración:
The DT ( 1 ) headphones NNS ( 2 ) that WDT ( 3 ) I PRP ( 4 ) bought VBD
( 5 ) i n I N ( 6 ) a Z ( 7 ) s m a l l J J ( 8 ) l o c a l J J ( 9 ) shop NN ( 1 0 )
yesterday NN ( 1 1 ) are VBP ( 1 2 ) e x c e l l e n t J J ( 1 3 ) . Fp ( 1 4 )
Partiendo de la evidencia de opinión:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2”/>
, si se utiliza un tamaño de ventana pequeño, no se capturarı́a la palabra de
opinión “excellent”, que claramente afecta a “headphones”. Por el contrario,
si se utilizara una ventana lo suficientemente grande como para capturar
a “excellent”, otras palabras como “small” y “local” serı́an erróneamente
añadidas como palabras de opinión.
274
Apéndice A. Ejemplos de entradas y salidas (TOES)
A.5.
Enlazador de palabras de opinión
basado en dependencias
Dependency-based opinion word linker
Supongamos la siguiente oración:
The DT ( 1 ) headphones NNS ( 2 ) that WDT ( 3 ) I PRP ( 4 ) bought VBD
( 5 ) i n I N ( 6 ) a DT ( 7 ) s m a l l J J ( 8 ) l o c a l J J ( 9 ) shop NN ( 1 0 )
yesterday NN ( 1 1 ) are VBP ( 1 2 ) e x c e l l e n t J J ( 1 3 ) . Fp ( 1 4 )
, cuyo análisis de dependencias obtiene el siguiente resultado:
Supongamos que el recurso contiene entre otros el siguiente patrón de
tipo 1:
<p a t t e r n o r d e r=” 34 ” f e a t u r e=” ” destWord=” ” posAsc=”N, J”
posDesc=”J” depAsc=” n s u b j ” depDesc=” ” p=” 0 . 9 6 ” r=” 0 . 1 2 ”
pAcc=” 0 . 9 7 ” rAcc=” 0 . 1 8 ”/>
Partiendo de la siguiente evidencia de opinión, previamente generada:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2”/>
, ejecutamos el enlazador de palabras de opinión basado en dependencias con
estos parámetros:
type=1, maxOpWords=2, minPrecision=0.8
minAccPrecision=0.8, useFeatureBasedPatterns=false
A.5. Dependency-based opinion word linker
275
Siempre que con los patrones de tipo 1 anteriores al mostrado no se hayan
obtenido ya dos palabras de opinión, la ejecución del componente capturarı́a
correctamente la palabra de opinión asociada a la evidencia de opinión anterior:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2” opWords=” 13 ”/>
Nótese que, dado que el parámetro useFeatureBasedPatterns contiene el
valor false, los patrones utilizados serán aquellos sin restricciones de caracterı́stica (los que contienen un sı́mbolo * en el atributo feature).
Veamos un ejemplo en el que utilizaremos dos enlazadores de opiniones
basados en dependencias: uno utilizará patrones de tipo 2 y el otro de tipo
3. El primero de los enlazadores tratará de encontrar una única palabra de
opinión relacionada con las palabras de caracterı́stica, y posteriormente el
segundo buscará otras palabras de opinión relacionadas con la anterior. Esta
es la secuencia normal de aplicación (un enlazador de palabras de opinión
basado en patrones de tipo 2 seguido de un enlazador de palabras de opinión
basado en patrones de tipo 3), alternativa al uso de un solo enlazador basado
en patrones de tipo 1. Supongamos la siguiente frase de entrada:
The DT ( 1 ) mids NNS ( 2 ) e s p e c i a l l y R B ( 3 ) sound VBP ( 4 ) g r e a t J J
( 5 ) . Fp ( 6 )
Partimos de la siguiente evidencia de opinión:
<o p i n i o n f e a t u r e=” mids ” featWords=”2”/>
, con las relaciones de dependencias indicadas en el gráfico:
Supongamos que el recurso de patrones de dependencias contiene, entre
otros, el siguiente patrón de tipo 2:
<p a t t e r n o r d e r=” 114 ” f e a t u r e=” ” destWord=” ” posAsc=”N,V”
posDesc=”V” depAsc=” n s u b j ” depDesc=” ” p=” 0 . 3 3 ” r=” 0 . 0 1 ”
pAcc=” 0 . 7 8 ” rAcc=” 0 . 9 3 ”/>
y el siguiente patrón de tipo 3:
<p a t t e r n o r d e r=”1” f e a t u r e=” ” destWord=” ” posAsc=”V”
posDesc=”J ,V” depAsc=”” depDesc=”acomp” p=” 1 . 0 ” r=” 0 . 0 5 ”
pAcc=” 1 . 0 ” rAcc=” 0 . 0 5 ” />
276
Apéndice A. Ejemplos de entradas y salidas (TOES)
La aplicación de un enlazador de palabras de opinión basado en dependencias con los siguientes valores de sus parámetros:
type=2, maxOpWords=1, minPrecision=0.3
minAccPrecision=0.7, useFeatureBasedPatterns=false
, añadirı́a correctamente una palabra de opinión a la evidencia anterior:
<o p i n i o n f e a t u r e=” mids ” featWords=”2” opWords=”4”/>
Si ahora ejecutásemos un enlazador de palabras de opinión basado en
dependencias que utilice patrones de tipo 3:
type=3, maxOpWords=1, minPrecision=0.9
minAccPrecision=0.9, useFeatureBasedPatterns=false
, la evidencia de opinión quedarı́a tal como sigue:
<o p i n i o n f e a t u r e=” mids ” featWords=”2” opWords=” 4 , 5 ”/>
Como puede verse, hemos escogido valores adecuados de los parámetros
para permitir la ejecución de los patrones indicados. La elección de unos
valores adecuados para los parámetros es por tanto un aspecto crucial para
que este componente funcione adecuadamente. En el capı́tulo 8 se ajustan
los valores de los parámetros para optimizar las medidas F1 y F 1 del sistema
2
de extracción.
A.6.
Enlazador de expresiones especiales
basado en ventana
Window-based special expression linker
Sea la siguiente oración:
They PRP ( 1 ) are VBP ( 2 ) too RB ( 3 ) heavy JJ ( 4 ) . Fp ( 5 )
, y la siguiente evidencia de opinión previamente anotada:
<o p i n i o n f e a t u r e=” w e i g h t ” opWords=”4” />
A.6. Dependency-based special expression linker
277
La aplicación del enlazador de expresiones especiales con los siguientes
parámetros:
type=2, windowSize=1
, añadirı́a la palabra de opinión “too” a la evidencia de opinión anterior:
<o p i n i o n f e a t u r e=” w e i g h t ” opWords=”4”/>
No siempre las expresiones especiales aparecerán de forma contigua a las
palabras de opinión a las que afectan. Por ejemplo, en la siguiente oración:
They PRP ( 1 ) do VBP ( 2 ) not RB ( 3 ) seem VB ( 4 ) too RB ( 5 )
d u r a b l e J J ( 6 ) Fp ( 7 ) .
En esta oración, la palabra de opinión “durable” se ve afectada por las
expresiones especiales “too” y “not”. Para que el enlazador basado en ventana
pueda encontrar a esta última, el valor del parámetro windowSize deberı́a
ser, al menos, 3. Pero el uso de ventanas de contexto grandes puede inducir
a errores en otras oraciones. Por ejemplo, en la siguiente oración:
These headphones a r e c u t e and not e x p e n s i v e .
, la partı́cula “not”, que sólo afecta a “expensive”, serı́a incluida como palabra
de opinión junto con “cute”, si se mantiene el tamaño de ventana anterior.
Por tanto, en ciertas ocasiones este componente cometerá errores en la selección de las expresiones especiales que deben ser incluidas en determinadas
evidencias.
A.7.
Enlazador de expresiones especiales
basado en dependencias
Dependency-based special expression linker
Tomemos la siguiente oración como entrada:
These DT ( 1 ) headphones NNS ( 2 ) are VBP ( 3 ) c u t e J J ( 4 ) and CC
( 5 ) not RB ( 6 ) e x p e n s i v e J J ( 7 ) . Fp ( 8 )
, cuyo árbol de dependencias es el siguiente:
278
Apéndice A. Ejemplos de entradas y salidas (TOES)
Supongamos que el recurso contiene entre otros el siguiente patrón de
tipo 4:
<p a t t e r n o r d e r=”4” f e a t u r e=” ” destWord=” not ” posAsc=”R, J”
posDesc=”” depAsc=” neg ” depDesc=”” p=” 0 . 9 5 ” r=” 0 . 4 4 ”
pAcc=” 0 . 9 6 ” rAcc=” 0 . 7 4 ”/>
Partiendo de las siguientes evidencias de opinión, previamente generadas:
<o p i n i o n f e a t u r e=” a p p e a r a n c e ” opWords=”4 ” />
<o p i n i o n f e a t u r e=” p r i c e ” opWords=”7”/>
, ejecutamos el enlazador de expresiones especiales basado en dependencias
con estos parámetros:
type=4, maxOpWords=3, minPrecision=0.9
minAccPrecision=0.9, useFeatureBasedPatterns=false
La ejecución del componente asociarı́a correctamente la partı́cula “not”
a la segunda evidencia y no a la primera:
<o p i n i o n f e a t u r e=” a p p e a r a n c e ” opWords=”4 ” />
<o p i n i o n f e a t u r e=” p r i c e ” opWords=” 6 , 7 ”/>
A.8.
Separador de opiniones basado en
conjunciones
Conjunction-based opinion splitter
Supongamos la siguiente oración:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) : ( 5 ) they ( 6 ) have
( 7 ) c l e a n ( 8 ) and ( 9 ) w e l l −d e f i n e d ( 1 0 ) h i g h s ( 1 1 ) and ( 1 2 )
p o w e r f u l ( 1 3 ) low ( 1 4 ) f r e q u e n c i e s ( 1 5 ) .
, y las siguientes evidencias de opinión:
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
f e a t u r e=” headphones ” featWords=”2” opWords=” 3 , 4 ”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 8 , 1 0 ”/>
f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ” opWords=” 13 ”/>
f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
La aplicación de un separador de opiniones basado en conjunciones con
el siguiente valor para el parámetro de configuración:
splitterWords=“and but ,”
A.8. Lexicon-based opinion classifier
279
, ocasionarı́a la división de la evidencia de opinión anterior relativa a la
caracterı́stica treble, quedando el conjunto de evidencias de opinión como
sigue:
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
<o p i n i o n
A.9.
f e a t u r e=” headphones ” featWords=”2” opWords=” 3 , 4 ”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=”8”/>
f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 10 ”/>
f e a t u r e=” b a s s ” featWords=” 1 4 , 1 5 ” opWords=” 13 ”/>
f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
Clasificador de opiniones basado en el
lexicón de opiniones
Lexicon-based opinion classifier
Supongamos la siguiente oración de entrada:
At ( 1 ) f i r s t ( 2 ) t h e ( 3 ) headphones ( 4 ) were ( 5 ) not ( 6 ) c o m f o r t a b l e
( 7 ) , ( 8 ) but ( 9 ) s t a r t e d ( 1 0 ) t o ( 1 1 ) f i t ( 1 2 ) r i g h t ( 1 3 ) a f t e r
( 1 4 ) a ( 1 5 ) few ( 1 6 ) h ou r s ( 1 7 ) . ( 1 8 )
, y las siguientes evidencias de opinión previamente generadas:
<o p i n i o n f e a t u r e=” c o m f o r t ” opWords=” 1 , 2 , 6 , 7 ”/>
<o p i n i o n f e a t u r e=” c o m f o r t ” opWords=” 1 2 , 1 3 ” />
Apliquemos un clasificador de opiniones basado en el lexicón de opiniones,
con la siguiente configuración de parámetros:
useCompletePhrase=true, useContiguousWordsAsPhrase=true
useEachWordAsPhrase=true, featureBasedProbabilities=true
useGlobalSO=true, minSupport=4,minProb=0.75, minAbsSO=0.9
useWordNetSynToExpand=true, useWordNetAntToExpand =true
En primer lugar, el componente busca en las palabras de opinión apariciones de expresiones de no negación, no encontrando ninguna. Después busca
apariciones de expresiones de negación, encontrándose “not” en la primera
evidencia de opinión. El componente no considerará esta palabra en el resto
del proceso de clasificación, salvo para invertir la polaridad final de la evidencia de opinión. Dado que el parámetro useCompletePhrase es cierto, el
componente trata de localizar en el lexicón entradas para los términos “at
first comfortable” y “fit right”.
280
Apéndice A. Ejemplos de entradas y salidas (TOES)
Supongamos que no encuentra ninguna entrada para el primer término,
pero sı́ para el segundo:
<e n t r y term=” f i t r i g h t ” s u p p o r t=” 11 ”>
<f b E n t r y f e a t u r e=” c o m f o r t ” opProb=” 0 . 8 5 ” p o l a r i t y=” 1 . 0 ”/>
<f b E n t r y f e a t u r e=” headphones ” opProb=” 0 . 8 5 ” p o l a r i t y=” 1 . 0 ” />
</ e n t r y>
Dado que tanto el valor de support, como los de feature-based opinion word
probability y el valor absoluto de feature-based semantic orientation polarity
para la caracterı́stica comfort son superiores a los parámetros del componente
minSupport, minProb y minAbsSO respectivamente, la evidencia de opinión
es completada con el valor de la polaridad:
<o p i n i o n f e a t u r e=” c o m f o r t ” opWords=” 1 2 , 1 3 ” p o l a r i t y=” 1 . 0 ” />
Siguiendo con la otra evidencia de opinión, al no haber sido capaz de
estimar una orientación semántica para el término completo, y dado que el
parámetro useContiguousWordsAsPhrase es cierto, el componente buscará en
el lexicón los términos “at first” y “comfortable”. Para el primero no se
encuentra ninguna entrada, pero sı́ para el segundo:
<e n t r y term=” c o m f o r t a b l e ” s u p p o r t=” 363 ”>
<f b E n t r y f e a t u r e=” c o m f o r t ” opProb=” 0 . 7 0 ” p o l a r i t y=” 1 . 0 ”/>
<f b E n t r y f e a t u r e=” headphones ” opProb=” 0 . 7 5 ” p o l a r i t y=” 1 . 0 ” />
</ e n t r y>
Sólo mostramos las entradas correspondientes a las caracterı́sticas comfort y headphones, aunque es de suponer que existen entradas para el término
“comfortable” al ser usado para otras caracterı́sticas, tal como se desprende
de la diferencia de valores de la medida feature-based opinion word probability
en las entradas mostradas (ver definición de la medida en la sección 5.5.1).
Dado que el valor de la probabilidad para la caracterı́stica comfort es menor
al parámetro del componente minProb, la estimación inicial de orientación
semántica para “comfortable” será nula. Pero ya que el valor del parámetro
useGlobalSO es cierto, el componente pasará a utilizar los valores de la entrada correspondiente a la caracterı́stica headphones. En este caso, los valores
de la entrada son compatibles con la configuración del componente, por lo
que la orientación semántica del término se estima como 1.0. La orientación
semántica final asignada será -1.0, ya que las palabras de opinión contenı́an
una expresión de negación:
<o p i n i o n f e a t u r e=” c o m f o r t ” opWords=” 1 , 2 , 6 , 7 ”
p o l a r i t y=” −1.0 ”/>
A.9. Lexicon-based opinion classifier
281
Para ejemplificar el uso de las expansiones semánticas basadas en WordNet, supongamos la siguiente oración:
The ( 1 ) sound ( 2 ) q u a l i t y ( 3 ) i s ( 4 ) s u p e r b ( 5 )
, y la siguiente evidencia de opinión previamente generada:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 2 , 3 ”
opWords=” 5 ” />
Ejecutemos un clasificador de opinión basado en el lexicón de opiniones
con los siguientes parámetros de configuración:
useCompletePhrase=false, useContiguousWordsAsPhrase=false
useEachWordAsPhrase=true, featureBasedProbabilities=true
useGlobalSO=true, minSupport=4,minProb=0.75, minAbsSO=0.9
useWordNetSynToExpand=true, useWordNetAntToExpand =true
El componente buscará una entrada en el lexicón para el término “superb”. Supongamos que encuentra la siguiente entrada:
<e n t r y term=” s u p e r b ” s u p p o r t=” 14 ”>
<f b E n t r y f e a t u r e=” sound q u a l i t y ” opProb=” 0 . 6 4 ”
p o l a r i t y=” 1 . 0 ” />
<f b E n t r y f e a t u r e=” headphones ” opProb=” 0 . 7 1 ” p o l a r i t y=” 1 . 0 ” />
</ e n t r y>
Ni el valor de probabilidad correspondiente a la caracterı́stica sound quality ni el correspondiente a la caracterı́stica raı́z headphones cumplen con el
mı́nimo fijado por el parámetro minProb. Por tanto, la orientación semántica
estimada es nula. El componente procederá a realizar una expansión semántica, buscando en WordNet sinónimos y antónimos de “superb”. En el caso de
los sinónimos, se encuentra la palabra “brilliant”, y en el de los antónimos,
“inferior”. Supongamos las siguientes entradas en el lexicón:
<e n t r y term=” b r i l l i a n t ” s u p p o r t=”4 ”>
<f b E n t r y f e a t u r e=” sound q u a l i t y ” opProb=” 0 . 8 ”
p o l a r i t y=” 1 . 0 ” />
<f b E n t r y f e a t u r e=” headphones ” opProb=” 0 . 8 ” p o l a r i t y=” 1 . 0 ” />
</ e n t r y>
<e n t r y term=” i n f e r i o r ” s u p p o r t=” 10 ”>
<f b E n t r y f e a t u r e=” sound q u a l i t y ” opProb=” 0 . 1 2 ”
p o l a r i t y=” 1 . 0 ” />
<f b E n t r y f e a t u r e=” headphones ” opProb=” 0 . 2 3 ” p o l a r i t y=” 1 . 0 ” />
</ e n t r y>
282
Apéndice A. Ejemplos de entradas y salidas (TOES)
El componente realiza las estimaciones de orientación semántica de cada
uno de los términos, de manera similar a los ejemplos anteriores, resultado
en 1.0 para “brilliant” y nula para “inferior”. Finalmente, la orientación
semántica asignada a la evidencia de opinión será 1.0:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 2 , 3 ” opWords=” 5 ”
p o l a r i t y=” 1 . 0 ” />
A.10.
Clasificador de opiniones basado en
PMI-IR
PMIIR-based opinion classifier
Supongamos la siguiente oración:
The ( 1 ) sound ( 2 ) q u a l i t y ( 3 ) i s ( 4 ) su p e r b ( 5 )
, y la siguiente evidencia de opinión previamente generada:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 2 , 3 ” opWords=” 5 ” />
Ejecutemos un clasificador de opinión basado en PMI-IR con los siguientes parámetros de configuración:
minAbsSO=0.8, useDistanceAttenuation=true
El clasificador estimarı́a la orientación semántica del término superb mediante el algoritmo PMI-IR, mediante las siguientes búsquedas en AltaVista:
hits(“excellent”) = 17 ∗ 108
hits(“poor”) = 11,6 ∗ 108
hits(“superb” N EAR “excellent”) = 97,6 ∗ 105
hits(“superb” N EAR “poor”) = 11,9 ∗ 105
Con lo que la estimación final de la orientación semántica de “superb”
aplicando la fórmula anterior es:
SO(“superb”) = 5, 596
Dado que el valor obtenido es mayor que el valor del parámetro minAbsSO, el clasificador rellena el atributo polaridad de la evidencia de opinión
anterior con dicho valor, convenientemente ponderado por la inversa de la
distancia a las palabras de caracterı́stica:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 2 , 3 ” opWords=” 5 ”
p o l a r i t y=” 2 . 7 9 8 ” />
A.10. WordNet-based opinion classifier
A.11.
283
Clasificador de opiniones basado en
WordNet
WordNet-based opinion classifier
Supongamos que a partir de la siguiente oración:
These DT ( 1 ) headphones NNS ( 2 ) sound VBP ( 3 ) u n c l e a n J J ( 4 )
, se ha obtenido la siguiente evidencia de opinión:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
El componente calcula la función EV A para el único adjetivo participante
como palabra de opinión “unclean”, calculando las distancias participantes
en la misma:
d(“unclean”, “bad”) = 2
d(“unclean”, “good”) = 4
d(“good”, “bad”) = 3
Con estos valores, la orientación semántica estimada para el adjetivo, y
consecuentemente para la evidencia de opinión, es de -0.667 (siempre que el
valor del parámetro de configuración minAbsSO sea menor o igual a dicho
valor):
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ”
p o l a r i t y=” −0.667 ” />
A.12.
Clasificador de opiniones basado en
SentiWordNet
SentiWordNet-based opinion classifier
Partimos de la siguiente oración:
The DT ( 1 ) sound NN ( 2 ) q uali ty NN ( 3 ) is VBZ ( 4 ) s u p e r b J J ( 5 )
, y la siguiente evidencia de opinión previamente generada:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 2 , 3 ” opWords=” 5 ” />
Ejecutemos un clasificador de opinión basado en SentiWordNet, con minAbsSO=0.8. El componente, después de comprobar que no existen expresiones especiales entre las palabras de opinión, busca en WordNet todos los
synsets a los que pertenece la palabra “superb” funcionando como adjetivo.
284
Apéndice A. Ejemplos de entradas y salidas (TOES)
Encuentra dos synsets, para los cuales busca en SentiWordNet los valores de
positividad y negatividad asociados. Para ambos synsets, estos valores son
de 0.875 y 0, respectivamente. Por tanto, la orientación semántica de cada
synset es 0.875, y la orientación semántica de la palabra de opinión es igualmente 0.875. Finalmente, al ser ésta la única palabra de opinión, y siendo el
valor de orientación semántica obtenido superior al parámetro minAbsSO, la
evidencia de opinión es completada convenientemente:
<o p i n i o n f e a t u r e=” sound q u a l i t y ” featWords=” 2 , 3 ” opWords=” 5 ”
p o l a r i t y=” 0 . 8 7 5 ” />
A.13.
Clasificador de opiniones basado en
conjunciones
Conjunction-based opinion classifier
Utilicemos la misma oración de ejemplo que mostramos en el ejemplo de
aplicación del componente separador de opiniones basado en conjunciones:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) : ( 5 ) they ( 6 ) have
( 7 ) c l e a n ( 8 ) and ( 9 ) w e l l −d e f i n e d ( 1 0 ) h i g h s ( 1 1 ) and ( 1 2 )
p o w e r f u l ( 1 3 ) low ( 1 4 ) f r e q u e n c i e s ( 1 5 ) .
Entre otras, se han generado previamente las siguientes evidencias de
opinión (tras ejecutar entre otros el separador de opiniones):
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=”8”
p o l a r i t y=” 1 ” />
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 10 ”/>
Suponemos en este caso, como puede verse, que la ejecución previa de
algún clasificador de opiniones ha clasificado la primera de las evidencias de
opinión, pero no la segunda. Ejecutemos el clasificador basado en conjunciones con los siguientes valores de configuración:
andWords=“and ,”, butWords=“but”
allowHolesBetweenOpWords=false
En un intento por clasificar la segunda evidencia de opinión, el componente detecta otra evidencia con polaridad no nula y cuyas palabras de opinión
están coordinadas con las palabras de opinión de la evidencia a clasificar,
mediante el uso de la palabra “and”. Considerando que no hay ninguna palabra más a parte de la conjunción entre las palabras de opinión de una y
otra evidencia, y que la conjunción utilizada pertenece a la lista definida
A.13. Explicit overlapping opinion fixer
285
por el parámetro andWords, el componente propagará de manera directa la
polaridad a la evidencia que está siendo clasificada.
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=”8”
p o l a r i t y=” 1 ” />
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=” 11 ” opWords=” 10 ”
p o l a r i t y=” 1 ” />
Veamos una segunda oración de ejemplo:
The ( 1 ) c a b l e ( 2 ) i s ( 3 ) not ( 4 ) l o n g ( 5 ) but ( 6 ) r e a l l y ( 7 )
durable (8) .
, suponiendo las siguientes evidencias de opinión previamente generadas:
<o p i n i o n f e a t u r e=” c o r d ” featWords=”2” opWords=” 4 , 5 ”/>
<o p i n i o n f e a t u r e=” c o r d ” featWords=”2” opWords=”8”
p o l a r i t y=” 1 ” />
Si ejecutamos el componente con la misma configuración anterior, la primera evidencia de opinión no será clasificada, al no permitir dicha configuración la existencia de palabras distintas a la propia conjunción entre las
palabras de opinión de las evidencias participantes. Si el parámetro allowHolesBetweenOpWords fuese cierto, entonces la evidencia de opinión serı́a
clasificada de manera opuesta a la otra evidencia, puesto que la conjunción
utilizada forma parte de la lista de palabras del parámetro butWords. En este
caso, el resultado serı́a:
<o p i n i o n f e a t u r e=” c o r d ” featWords=”2” opWords=” 4 , 5 ”
p o l a r i t y=”−1” />
<o p i n i o n f e a t u r e=” c o r d ” featWords=”2” opWords=”8”
p o l a r i t y=” 1 ” />
Nótese que el clasificador no realiza ningún tratamiento con las expresiones especiales (en el ejemplo mostrado, aparece una expresión de negación),
y sólo se basa en la conjunción utilizada y la polaridad de la otra evidencia
participante de la expresión conjuntiva.
A.14.
Solucionador de opiniones explı́citas
superpuestas
Explicit overlapping opinion fixer
Supongamos la siguiente oración:
The ( 1 ) h i g h s ( 2 ) and ( 3 ) mids ( 4 ) a r e ( 5 ) o u t s t a n d i n g ( 6 ) . ( 7 )
, y las siguientes evidencias de opinión previamente generadas:
286
Apéndice A. Ejemplos de entradas y salidas (TOES)
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=”2” opWords=”6”/>
<o p i n i o n f e a t u r e=” mids ” featWords=”4” opWords=”6”/>
Dado que entre las palabras “treble” y “mids” hay una conjunción, el
componente no eliminará la palabra de opinión en común. Sin embargo, en
la siguiente oración:
The ( 1 ) h i g h s ( 2 ) a r e ( 3 ) o u t s t a n d i n g ( 4 ) and ( 5 ) t h e ( 6 ) mids ( 7 )
a r e ( 8 ) ok ( 9 ) . ( 1 0 )
, y ante las siguientes evidencias de opinión:
<o p i n i o n f e a t u r e=” t r e b l e ” featWords=”2” opWords=”4”/>
<o p i n i o n f e a t u r e=” mids ” featWords=”7” opWords=” 4 , 9 ”/>
, el componente eliminará la palabra de opinión “outstanding” de la segunda
evidencia de opinión (aquella en la que la palabra de opinión está más alejada
de la palabra de caracterı́stica).
A.15.
Solucionador de opiniones
implicita-explı́cita superpuestas
Implicit-Explicit overlapping opinion fixer
Supongamos la siguiente oración:
These ( 1 ) headphones ( 2 ) sound ( 3 ) g r e a t ( 4 ) . ( 5 )
Es posible que la ejecución de algunos de los componentes anteriores haya
generado las siguientes evidencias de opinión:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2”
opWords=” 3 , 4 ”/>
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
La aplicación del solucionador de opiniones implı́cita-explı́cita superpuestas eliminarı́a en este caso las palabras de opinión en conflicto (“sound great”)
de la evidencia de opinión sobre caracterı́stica explı́cita, al ser sound quality
una caracterı́stica hija de headphones en la taxonomı́a de caracterı́sticas de
headphones:
<o p i n i o n f e a t u r e=” headphones ” featWords=”2” opWords=””/>
<o p i n i o n f e a t u r e=” sound q u a l i t y ” opWords=” 3 , 4 ” />
Se entiende de esta manera que, en esta situación, la segunda evidencia
de opinión está afinando más a la hora de definir la caracterı́stica. Este tipo
de situaciones es muy común, puesto que la mayor parte de las opiniones
sobre caracterı́sticas implı́citas se representan mediante oraciones en las que
participa la caracterı́stica raı́z (por ejemplo, “expensive headphones” expresa
A.15. Implicit-Explicit overlapping opinion fixer
287
una opinión sobre la caracterı́stica “price”; “These headphones are too big”
expresa una opinión sobre la caracterı́stica “size”).
Supongamos ahora la siguiente oración:
The ( 1 ) c a s e ( 2 ) i s ( 3 ) t o o ( 4 ) b i g ( 5 ) . ( 6 )
, con las siguientes evidencias de opinión previamente generadas:
<o p i n i o n f e a t u r e=” c a s e ” featWords=” 2 ” opWords=” 4 , 5 ” />
<o p i n i o n f e a t u r e=” s i z e ” opWords=” 4 , 5 ”/>
En este caso, dado que la caracterı́stica “size” no depende de “case” en
la taxonomı́a de caracterı́sticas de headphones, el componente elimina las
palabras de opinión de la evidencia de opinión sobre caracterı́stica implı́cita,
quedando por tanto las evidencias como sigue:
<o p i n i o n f e a t u r e=” c a s e ” featWords=” 2 ” opWords=” 4 , 5 ” />
<o p i n i o n f e a t u r e=” s i z e ” opWords=””/>
Apéndice B
PolarityRank: justificación
algebraica y convergencia*
Resumen: En el presente apéndice se incluye la justificación algebraica y la demostración de la convergencia del algoritmo PolarityRank,
introducido en la sección 2.3.2 y empleado en la metodologı́a propuesta para la generación de los recursos para la extracción de opiniones,
en el paso de ampliación del lexicón de opiniones (ver sección 6.8).
Empezamos recordando la definición del algoritmo.
B.1.
Definición
Sea un grafo dirigido G = (V, E) donde V es un conjunto de nodos y E
un conjunto de aristas dirigidas entre dos nodos. Cada arista de E contiene
un valor real asociado o peso, distinto de cero, siendo pji el peso asociado a la
arista que va del nodo vj al vi . Se define la operación Out(vi ), que devuelve
el conjunto de ı́ndices j de los nodos para los que existe una arista saliente
desde vi . Se definen las operaciones In+ (vi ) y In− (vi ), que devuelven los
conjuntos de ı́ndices j de los nodos para los que existe una arista entrante
hacia vi cuyo peso sea positivo o negativo, respectivamente. Definimos el
PolarityRank positivo (P R+ ) y negativo (P R− ) de un nodo vi (fórmula 2.5),
donde los valores de e+ son mayores que cero para ciertos nodos que actúan
como semillas positivas y cero para el resto de nodos, y los valores de e− son
*
Las demostraciones incluidas en este apéndice fueron elaboradas por el prof. D. Carlos G. Vallejo, en el marco de la redacción de un artı́culo conjunto sobre el algoritmo
PolarityRank (Cruz et al, 2011d)
289
290
Apéndice B. PolarityRank
mayores que cero para ciertos nodos que actúan como semillas negativas y
cero para el resto de nodos.
P R+ (vi ) = (1 − d)e+
+
i
+d
j∈In+ (vi )
+
pji
k∈Out(vj ) |pjk |
−pji
k∈Out(vj )
j∈In− (vi )
|pjk |
P R+ (vj )+
P R− (vj )
(B.1)
d)e−
i +
−
P R (vi ) = (1 −
+d
j∈In+ (vi )
+
pji
k∈Out(vj ) |pjk |
−pji
k∈Out(vj )
j∈In− (vi )
|pjk |
P R− (vj )+
P R+ (vj )
La constante d es un factor de amortiguación, en todos los casos positivo
y menor que 1. La suma de los valores de e+ por un lado y de e− por otro
debe ser igual al número de nodos del grafo.
B.2.
Justificación algebraica
Vamos a estudiar a continuación la fundamentación algebraica del PolarityRank. Sea n = |V |, el número de nodos del grafo. Denotamos P a la
matriz de los (pij ). Llamemos pj = k∈Out(vj ) |pjk |, esto es, la suma de los pesos de las aristas
que comienzan en vj . En la matriz P , pj esla suma de los valores absolutos
de la fila j; pj puede escribirse como pj = nk=1 |pjk |
PolarityRank puede ahora ser expresado como
P R+ (vi ) = (1 − d)e+
i +
p
ji
P R+ (vj ) +
+d
p
j
+
j∈In (vi )
−
d)e−
i +
P R (vi ) = (1 −
+d
j∈In+ (vi )
pji
P R− (vj ) +
pj
j∈In− (vi )
j∈In− (vi )
−pji
P R− (vj )
pj
−pji
P R+ (vj )
pj
Definamos ahora la matriz Q = P , es decir, la traspuesta de P (sila matriz
P describe un grafo no dirigido entonces Q = P ). Llamemos qj = nk=1 |qkj |,
es decir, la suma de los elementos de la columna j de Q. Obviamente, pj = qj .
t
B.2. Justificación algebraica
291
Definamos ahora dos matrices Q+ = (qij+ ) y Q− = (qij− ) como
qij
if qij > 0
+
qij =
0
otherwise
if qij < 0
−qij
qij− =
0
otherwise
qj puede verse como la suma de los elementos de la columna j de la matriz
Q+ más la suma de los de la misma columna de la matriz Q− .
Ahora podemos expresar PolarityRank del siguiente modo:
n
n
qij+
qij−
+
−
P R+ (vi ) = (1 − d)e+
+
d
P
R
(v
)
+
P
R
(v
)
j
j
i
q
q
j=1 j
j=1 j
P R− (vi ) = (1 − d)e−
i +d
n
qij−
j=1
qj
P R+ (vj ) +
n
qij+
j=1
qj
P R− (vj )
+
+
Definimos a continuación la matriz A+ = (a+
ij ) como aij = qij /qj y la
−
−
−
−
matriz A = (aij ) como aij = qij /qj , entonces
n
n
+
−
+
−
+
d
a
P
R
(v
)
+
a
P
R
(v
)
P R+ (vi ) = (1 − d)e+
j
j
i
ij
ij
j=1
P R− (vi ) = (1 − d)e−
i +d
n
+
a−
ij P R (vj ) +
j=1
j=1
n
−
a+
ij P R (vj )
j=1
A continuación vamos a hacer algunas definiciones para simplificar la notación. Sea m = 2n. Definimos el vector x de m × 1 elementos como
⎡
⎤
P R+ (v1 )
..
⎢
⎥
.
⎢
⎥
⎢
⎥
⎢ P R+ (vn ) ⎥
x=⎢
⎥
⎢ P R− (v1 ) ⎥
⎢
⎥
..
⎣
⎦
.
−
P R (vn )
y el vector e de m × 1 elementos como
⎡
⎤
e+
1
⎢ .. ⎥
⎢ . ⎥
⎢ + ⎥
⎢ e ⎥
e = ⎢ n− ⎥
⎢ e1 ⎥
⎢ . ⎥
⎣ .. ⎦
e−
n
292
Apéndice B. PolarityRank
Finalmente, definimos la matriz A de m × m elementos
+
A−
A
A=
A− A+
Con los vectores y matrices auxiliares anteriores, podemos escribir las ecuaciones de PolarityRank (B.1) mucho más fácilmente como
x = (1 − d)e + dAx
(B.2)
A es una matriz estocástica: Todos los elementos de A están entre 0 y 1
(ambos incluidos):
a+
ij
qij+
n
= n
+
−
k=1 qkj +
k=1 qkj
y
a−
ij
qij−
n
= n
+
−
k=1 qkj +
k=1 qkj
y, obviamente, la suma de los elementos de cada columna
1.
n es
n
−
+
−
e+
y
e
se
han
elegido
de
manera
que
e
=
e
=
n y positivos.
i
i
i=1 i
i=1 i
Por tanto e1 = m.
Definamos ahora el vector de m × 1 elementos f = e/m (esto es, los
−
elementos de e+
i y ei divididos por m), y el vector u como el vector de m × 1
unos. Analicemos la matriz f ut :
⎤
⎡ +
⎤
⎡ +
e1 /m . . . e+
e1 /m
1 /m
.. ⎥
⎢ ..
⎢ .. ⎥
. ⎥
⎢ .
⎢ . ⎥
⎥
⎢
⎥
⎢ +
+
⎢ e+
/m
.
.
.
e
/m
⎥
⎢ en /m ⎥
t
n
n
fu = ⎢ −
⎥ 1 ... 1 = ⎢ −
⎥
/m
⎢ e1 /m . . . e−
⎥
⎢ e1 /m ⎥
1
⎢ .
⎥
⎢ . ⎥
.
.. ⎦
⎣ ..
⎣ .. ⎦
e−
n /m
e−
n /m
...
e−
n /m
Sus elementos están comprendidos entre 0 y 1, y la suma de los elementos de
cada columna es 1, por tanto f ut es una matriz estocástica.
Si x está normalizado, de modo que x1 = m entonces ut x = m, siempre
que los elementos de x sean positivos; pero si comenzamos dándole valores
no negativos, éstos siempre permanecerán siendo no negativos puesto que los
elementos de A también lo son.
La ecuación (B.2) se puede escribir entonces como:
x = (1 − d)e + dAx =
1
= (1 − d)e ut x + dAx =
m
= (1 − d)f ut x + dAx =
= ((1 − d)f ut + dA)x
B.3. Convergencia
293
Llamemos B = ((1−d)f ut +dA). La expresión que define el PolarityRank
(B.1) se puede escribir entonces como
x = Bx
(B.3)
B es la combinación convexa (combinación lineal donde los dos coeficientes
son positivos y suman 1) de dos matrices estocásticas, por tanto B es también
estocástica. De aquı́, y como resultado del teorema de Perron-Frobenius, la
ecuación (B.3) tiene el autovalor 1, y el resto de sus autovalores tienen módulo
menor que 1 (pueden ser complejos). El sistema anterior tiene una solución
que es precisamente el autovector correspondiente al autovalor 1.
B.3.
Convergencia
El cálculo de PolarityRank (el vector x) puede realizarse a partir de
la expresión (B.1) mediante un cálculo iterado que vamos a demostrar que
converge.
Como hemos visto, la expresión (B.1) equivale a la expresión (B.2): x =
(1 − d)e + dAx. Expresemos como xk el término k-ésimo del cálculo iterado
de PolarityRank. Es
xk+1 = (1 − d)e + dAxk
y
xk = (1 − d)e + dAxk−1
Por tanto
xk+1 − xk = dA(xk − xk−1 ) ≤ dA(xk − xk−1 )
para cualquier norma compatible con el vector y la matriz. Por ejemplo,
usando la norma 1,
m
x1 =
|xi |
i=1
y
A1 = máx
j=1...m
m
|aij |
i=1
Es A1 = 1 (recordemos que es estocástica), y d < 1, luego lı́mk→∞ xk+1 − xk → 0.
Por tanto la convergencia está asegurada.
Descargar