Post on 23-Dec-2020
Mejora de la interpretabilidad de
mensajes de Twitter
Luis Buades Perez
1 de Febrero de 2018
Autor: Luis Buades Perez
Tutor: Joaquın Ordieres Mere
Agradecimientos
A todas las personas que me han apoyado a lo largo de estos anos.
Resumen
La sociedad en la que vivimos cada vez esta mas digitalizada. Ha llegado a tal extremo
que a dıa de hoy, no se concibe un mundo sin la tecnologıa. Esta tecnologıa abarca desde
maquinas roboticas hasta plataformas de microblogging como puede ser Twitter, en la que
cada vez mas personas expresan sus opiniones y sentimientos. Es por eso, que estas ultimas,
cada vez tienen una mayor relevancia tanto a nivel personal como empresarial.
Tanto es ası, que actualmente, tanto las grandes como las medianas y pequenas empresas
tienen una gran dependencia de las redes sociales, ya sea para promocionarse, para vender
o para extraer informacion acerca de los gustos y opiniones de los usuarios.
Este Trabajo Final de Grado se centra en el analisis e interpretacion de los mensajes a
traves de la plataforma Twitter, tanto de los procedimientos ya existentes como en el diseno
de una nueva propuesta aplicando distintas tecnicas aprendidas, ası como proponiendo una
serie de mejoras complementarias (las cuales permitan mejorar el modelo) hasta ahora no
desarrolladas, como son:
Interpretacion de imagenes
Interpretacion de mensajes ironicos
Interpretacion de mensajes en otro idioma cooficial del territorio espanol.
A la hora de analizar un tweet de forma exhaustiva se deben seguir dos procedimientos,
los cuales, a su vez estan subdivididos en uno y dos subprocesos respectivamente:
5
6
1. Preproceso:
a) Interpretabilidad de los mensajes
2. Analisis de sentimiento:
a) Clasificacion de los mensajes
b) Carga emocional de los mensajes
Para que sea mas facil su entendimiento, se consideraran a la par los tres procedimientos,
los cuales se detallaran de forma breve y concisa (interpretabilidad, clasificacion y carga
emocional).
Interpretabilidad de los mensajes
Para poder clasificar y analizar un mensaje es esencial que este sea entendible y coherente,
es decir, que sea interpretable. En numerosas ocasiones, los usuarios de las plataformas tipo
Twitter expresan su opinion mediante expresiones gramaticalmente incorrectas, es por eso
que surge este procedimiento, el cual consiste en la adaptacion de las expresiones lexicas
incorrectas del mensaje a unas normalizadas y por tanto entendibles. Las tecnicas aquı
utilizadas se basan especialmente en dos procesos secuenciales:
1. Diferenciacion de la expresiones lexicas IV (In vocabulary, formas lexicas correctamente
escritas) de las OOV (Out Of Vocabulary, expresiones lexicas mal escritas).
2. Correccion de las expresiones OOV.
Clasificacion de los mensajes
Una vez corregido el mensaje y antes de pasar a analizar su carga emocional, este sue-
le clasificarse en funcion de una categorıa, ya bien sea porque solo interesa analizar esa,
7
descartar alguna o simplemente por el hecho de realizar distintos analisis en funcion de su
categorıa.
Las tecnicas empleadas en este procedimiento se basan en un clasificador binario, cuya
funcion es analizar si el mensaje pertenece a un topico o por si al contrario, se debe descartar
esa categorıa.
Carga emocional del mensaje
La finalidad de este proceso es la de asignarle una carga emocional a cada mensaje
en funcion del sentimiento que este transmite. A pesar de que muchas veces este analisis
se diferencia en polaridad, intensidad y emocion, en este trabajo se ha decidido realizar un
analisis combinado de estas tecnicas al cual se le ha denominado simplemente como polaridad.
Esta polaridad se determina en seis niveles:
N: Polaridad negativa de baja intensidad
N+: Polaridad negativa de alta intensidad
P: Polaridad positiva de baja intensidad
P+: Polaridad positiva de intensidad
NEU: Polaridad neutra
NONE: Ausencia de polaridad
A la hora de analizar diferentes modelos que permitan obtener esta informacion de forma
fiable se han analizado dos tecnicas distintas:
Aprendizaje automatico: Sistema automatico que busca entre los datos para de-
tectar patrones, con la finalidad de ajustar las acciones de un programa establecido
previamente.
8
Enfoque basado en lexicos - Diccionarios: Sistema cuya finalidad es la de dotar
a las expresiones de una polaridad previamente preestablecida comparandolas con un
listado de terminos.
Indice general
Indice general 9
Indice de figuras 13
Indice de tablas 15
1. INTRODUCCION 19
1.1. Importancia de las redes sociales . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2. Tipos de redes sociales y explicacion de Twitter . . . . . . . . . . . . . . . . 21
1.3. Encuestas en Twitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2. OBJETIVOS 25
3. METODOLOGIA 27
4. ESTADO DEL ARTE 31
4.1. Preproceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9
10 INDICE GENERAL
4.1.1. Interpretabilidad del mensajes . . . . . . . . . . . . . . . . . . . . . 33
Experimento 1 de interpretabilidad de mensajes . . . . . . . . 34
Experimento 2 de interpretabilidad de mensajes . . . . . . . . 38
Experimento 3 de interpretabilidad de mensajes . . . . . . . . 45
4.2. Analisis de sentimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.1. Clasificacion del mensaje . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.2. Carga emocional del mensaje . . . . . . . . . . . . . . . . . . . . . . 53
4.2.2.1. Aprendizaje automatico . . . . . . . . . . . . . . . . . . . . 55
Experimento 1 de aprendizaje automatico . . . . . . . . . . . . 56
Experimento 2 de aprendizaje automatico . . . . . . . . . . . . 58
Experimento 3 de aprendizaje automatico . . . . . . . . . . . . 60
4.2.2.2. Enfoque basado en el lexico- Diccionarios . . . . . . . . . . 61
5. RESULTADOS Y DISCUSION 69
5.1. Preproceso final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.1.1. Interpretabilidad del mensaje final . . . . . . . . . . . . . . . . . . . 70
5.1.1.1. Propuesta Interpretabilidad del mensaje . . . . . . . . . . . 71
5.2. Analisis de sentimiento final . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2.1. Clasificacion del mensaje final . . . . . . . . . . . . . . . . . . . . . . 79
5.2.1.1. Propuesta Clasificacion del mensaje . . . . . . . . . . . . . . 80
INDICE GENERAL 11
5.2.2. Carga emocional del mensajes final . . . . . . . . . . . . . . . . . . . 81
5.2.2.1. Propuesta Carga emocional del mensaje . . . . . . . . . . . 82
5.3. Fiabilidad del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4. Discusion de otras propuestas de mejora . . . . . . . . . . . . . . . . . . . . 88
5.4.1. Interpretacion de imagenes . . . . . . . . . . . . . . . . . . . . . . . . 88
5.4.2. Interpretacion de mensajes ironicos . . . . . . . . . . . . . . . . . . . 89
5.4.3. Interpretacion de mensajes en otro idioma cooficial del territorio espanol 91
6. CONCLUSION 93
7. LINEAS FUTURAS 95
8. PLANIFICACION TEMPORAL Y PRESUPUESTO 99
Bibliografıa 103
Indice de figuras
1.1. Porcentaje de uso de las redes sociales en el mundo. Fuente: TreceBits [1] . . 20
1.2. Crecimiento redes sociales en los ultimos anos. Fuente: Revista Redes Sociales [2] 20
1.3. Numero de usuarios de las redes sociales mas importantes. Fuente: Statista [3] 22
4.1. Secuencia que de debe seguir para analizar un mensaje. Fuente: Elaboracon
propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2. Grafica comparativa entre divergencia KL y precision. Fuente: Spanish Text
Normalisation [4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3. Clasificador binario del experimento 1 de Clasificacion. Fuente: Elaboracion
propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4. Tipos de tecnicas de Analisis de Sentimiento. Fuente: Tecnhiques for sentiment
analysis in Twitter: Supervised Learning and SentiStrength [5] . . . . . . . . 54
5.1. Ejemplo de imagen de un iPhone extraıda de Internet. Fuente: Amazon [6] . 89
5.2. Mapa con lenguas oficiales de cada territorio espanol. Fuente: Slide Player [7] 91
8.1. Diagrama de Gantt del presente proyecto. Fuente: Elaboracion propia . . . . 100
13
Indice de tablas
4.1. Cambios de caracteres utilizados para la lectura de lexico en espanol mediante
Double Metaphone. Fuente: GitHub [8] . . . . . . . . . . . . . . . . . . . . . 40
4.2. Ejemplo de expresiones mal escritas. Fuente: Elaboracion propia . . . . . . . 42
4.3. Divergencia KL para los cinco principales candidatos para las palabras callen-
do y guau. Fuente: Spanish Text Normalisation [4] . . . . . . . . . . . . . . . 43
4.4. Porcentaje de cada uno de los tipos de error obtenidos en la normalizacion.
Fuente: Spanish Text Normalisation [4] . . . . . . . . . . . . . . . . . . . . . 45
4.5. Topicos utilizados en Experimento 1 de Clasificacion. Fuente: Elaboracion
propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.6. Ejemplo de palabras clave relacionadas con Santander. Fuente: Elaboracion
propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.7. Ejemplo de clasificacion por polaridad. Fuente: Elaboracion propia . . . . . 53
4.8. Resultados del experimento 1 de carga emocional (polaridad). Fuente: ELiRF-
UPV en TASS-2013 Analisis de Sentimientos en Twitter [9] . . . . . . . . . 58
4.9. Resultados del experimento 3 de carga emocional (polaridad). Fuente: Analisis
de sentimientos a nivel de aspecto usando ontologıas y aprendizaje automatico
[10] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
15
16 INDICE DE TABLAS
4.10. Comparacion de enfoque entre Bing Liu’s Opinion Lexicon y SentiWordNet.
Fuente: Elaboracion propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.1. Porcentaje de acierto de cada experimento de Interpretabilidad. Fuente: Ela-
boracion propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.2. Lista propuesta de expresiones gramaticales incorrectas mas frecuentes, Parte
1. Fuente: Elaboracion propia . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3. Lista propuesta de expresiones gramaticales incorrectas mas frecuentes, Parte
2. Fuente: Elaboracion propia . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.4. Lista propuesta de expresiones gramaticales incorrectas mas frecuentes, Parte
3. Fuente: Elaboracion propia . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.5. Lista propuesta de expresiones gramaticales incorrectas mas frecuentes, Parte
4. Fuente: Elaboracion propia . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.6. Lista propuesta de expresiones gramaticales incorrectas mas frecuentes, Parte 5 78
5.7. Porcentaje de acierto de cada experimento de Clasificacion. Fuente: Elabora-
cion propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.8. Porcentaje de acierto de cada experimento de Carga emocional. Fuente: Ela-
boracion propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.9. Adecuacion de la nomenclatura segun la intensidad de la polaridad. Fuente:
Elaboracion propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.10. Resultados posibles obtenidos a la hora de dotar de una carga emocional a un
mensaje. Fuente: Elaboracion propia . . . . . . . . . . . . . . . . . . . . . . 86
5.11. Probabilidad de acierto de cada uno de los metodos de forma independiente.
Fuente: Elaboracion propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
INDICE DE TABLAS 17
5.12. Probabilidad de acierto en funcion de los procedimientos que se quieran im-
plementar. Fuente: Elaboracion propia . . . . . . . . . . . . . . . . . . . . . 87
5.13. Ejemplo de expresion ironica. Fuente: Elaboracion propia . . . . . . . . . . . 90
8.1. Lista de plazos y dedicacion de las tareas relativas al presente TFG. Fuente:
Elaboracion propia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.2. Costes del trabajo realizado por el alumno. Fuente: Elaboracion propia . . . 101
8.3. Costes del material utilizado. Fuente: Elaboracion propia . . . . . . . . . . . 101
8.4. Costes totales del proyecto. Fuente: Elaboracion propia . . . . . . . . . . . . 102
Capıtulo 1
INTRODUCCION
1.1. Importancia de las redes sociales
La redes sociales se definen como canales de comunicacion en lınea dedicados a la entrada,
la interaccion, el intercambio de contenido y la colaboracion hacia la comunidad.
Hoy en dıa las redes sociales son una parte muy importante de nuestras vidas, hasta
tal punto que podrıan llegar a considerarse como algo imprescindible. Para darse cuenta
del poder y la influencia que este medio tiene sobre los habitantes (no solo en Espana, sino
que tambien a nivel mundial), basta con fijarse en la Figura 1.1 que aparece en la siguiente
pagina, la cual muestra en porcentaje, la cantidad de gente que las utiliza.
En esta, se puede comprobar que en las zonas mas desarrolladas, el porcentaje de pobla-
cion que utiliza las redes sociales ronda el 50 %.
La redes sociales existen desde hace relativamente poco tiempo, pero desde que se crea-
ron, el nivel de conexion a estas ha crecido de forma exponencial hasta alcanzar lımites
inimaginables. Tanto es ası, que han conseguido ser uno de los principales motores de la
economıa mundial, ası como una excelente fuente de informacion.
19
20 1.1. Importancia de las redes sociales
Figura 1.1: Porcentaje de uso de las redes sociales en el mundo. Fuente: TreceBits [1]
Figura 1.2: Crecimiento redes sociales en los ultimos anos. Fuente: Revista Redes Sociales [2]
1. INTRODUCCION 21
Este rapido crecimiento de las redes sociales, a causado que la mayorıa de las empresas
empezasen a interesarse en el funcionamiento de este medio y que se dieran cuenta de la
importancia que estas conllevan a la hora de realizar campanas publicitarias, encuestas...
Ademas, la publicidad a traves de este tipo de plataformas es muy economica en comparacion
con los costos incurridos por la impresion, television u otros medios tradicionales.
1.2. Tipos de redes sociales y explicacion de Twitter
Cabe destacar que dentro de las redes sociales existen numerosas plataformas. Tales como:
Google+
Cada una de las cuales son independientes y no todas van destinadas al mismo grupo de
poblacion. En nuestro caso vamos a analizar a fondo la red social Twitter, que es sobre la
que se va a trabajar en este proyecto.
Twitter fue fundado el 21 de marzo de 2006 por la companıa Odeo y consiste en un
servicio gratuito de microblogging (el microblogging es un sistema que permite a los usuarios
enviar y publicar mensajes breves) que permite a los usuarios registrados difundir mensajes
cortos (como maximo de 140 caracteres) llamados tweets. Lo bueno que tiene esta red social,
es que sus miembros a parte de transmitir sus tweets, pueden seguir los de otros usuarios
mediante multiples plataformas y dispositivos (ordenador, movil...). La aplicacion te permite
22 1.2. Tipos de redes sociales y explicacion de Twitter
seguir a quien quieras, ya sea un amigo, una persona famosa,una empresa... ası como todas
sus publicaciones.
Gracias a estas caracterısticas es por lo que Twitter es una de las redes sociales mas
utilizadas a nivel internacional.
A continuacion se muestra una foto figura: 1.3 en la que aparece una tabla con las redes
sociales mas utilizadas actualmente. Tal y como se puede observar, Twitter aparece en la
octava posicion con un total de 330 millones de usuarios.
Figura 1.3: Numero de usuarios de las redes sociales mas importantes. Fuente: Statista [3]
A causa de todo esto es por lo que actualmente es una herramienta esencial para las
empresas, tanto para realizar campanas publicitarias como para analizar la opinion y gustos
de los distintos usuarios.
1. INTRODUCCION 23
1.3. Encuestas en Twitter
Tal y como se ha comentado en los apartados anteriores, Twitter es una plataforma
esencial para extraer conocimiento desde opiniones a tiempo real (sobre productos, personas,
ideas, sentimiento...), frente a las encuestas directas.
Esto no solo es favorable para las empresas, sino que es interesante para otros tipos de
organizaciones, Gobiernos o incluso a la hora de realizar experimentos.
Es a partir de esto donde surgen una serie de problemas e inconvenientes a la hora de
recopilar e interpretar la informacion mas relevante. Esto es debido a:
Interpretabilidad de los mensajes: Los tweets escritos por los usuarios en numero-
sas ocasiones no siguen las expresiones gramaticales formales, lo cual supone una severa
cortapisa para la comprension de lo que la opinion expresada esta diciendo (ironıas con
emoticonos, errores sintacticos, abreviaturas...).
Analisis de sentimiento: No siempre es facil saber interpretar de forma automatica
la opinion de los usuarios, ya sea por el problema anteriormente nombrado, por la
ambiguedad de las palabras o bien por lo difıcil de extraer la informacion mas relevante.
Este trabajo tratara de buscar la mejor solucion para resolver cada uno de los problemas
que surgen a partir de los puntos enumerados anteriormente, de tal forma que esta interpre-
tabilidad tenga la menor tasa de error posible y ası poder extraer la maxima informacion
posible.
Capıtulo 2
OBJETIVOS
Hoy en dıa conseguir extraer conocimiento a partir de las opiniones es algo esencial
para las organizaciones. Una buenas forma para obtener estas opiniones es a traves de las
plataformas de microblogging (servicios en los que se envıan mensajes breves, por ejemplo:
Twitter, Facebook, Google+...). El principal inconveniente que surge a las hora de sacar
conclusiones a partir de estos es que en numerosas ocasiones no se siguen las expresiones
gramaticales formales y ello supone una severa cortapisa para su comprension, ası como
muchas veces es muy complejo analizarlos sentimentalmente.
El objetivo principal de este Trabajo de Fin de Grado ha sido el de realizar una inves-
tigacion exhaustiva acerca de la eficacia y eficiencia de los actuales metodos que existen
de interpretabilidad y analisis de mensajes de Twitter en espanol (aunque tambien podrıa
ser aplicable a otros sistemas basados en el microblogging), tanto en la parte de preproceso
(intrepretabilidad) como en el analisis de sentimiento (clasificacion en funcion de un
topico o empresa y carga emocional).
Todo esto se ha realizado con el finalidad de obtener las soluciones existentes mas efectivas
para cada posible caso, realizando una guıa en la que se explica con un amplio nivel de detalle
que metodo aplicar en funcion del caso que se tenga.
25
Capıtulo 3
METODOLOGIA
Se ha realizado un estudio completo de los metodos existentes en la actualidad para
obtener informacion a traves de los mensajes de Twitter en espanol (tanto de metodos
realizados directamente para el espanol como tratando de adaptar a este idioma algunos
disenados para el ingles). Esto ha permitido agrupar los mejores procesos que existen para
cada caso concreto y ası conseguir un mejor rendimiento (en cuanto a fiabilidad) a la hora
de realizar un estudio sobre la opinion de un conjunto de personas de interes para una
organizacion...
Toda esta informacion ha sido extraıda a traves de distintos artıculos (tanto en espanol
como en ingles), paginas web o trabajos de otras personas, verificando siempre que la infor-
macion es correcta, ya sea comparandolo con otras fuentes fiables o comprobandolo perso-
nalmente.
La metodologıa que se ha empleado para realizar este trabajo final de grado se puede
dividir en los siguientes pasos:
1. Busqueda de artıculos y trabajos relacionados con la interpretabilidad de
mensajes de plataformas de microblogging. Esta busqueda se ha realizado prin-
cipalmente a traves del buscador Google scholar, en el se han obtenido un gran numero
de artıculos tecnicos acerca de este tema. Todos estos artıculos estan especificados en
27
28
la bibliografıa que aparece al final del trabajo.
2. Lectura de toda esta informacion, en la que aparecen numerosos metodos distintos
para esta interpretabilidad y analisis. Se ha realizado una lectura en profundidad de
todos los artıculos y trabajos antes descargados.
3. Asimilacion, analisis, verificacion y comparacion de todos estos metodos. En
esta parte del trabajo, se ha extraıdo la informacion mas relevante de cada documento.
4. Seleccion de los mejores metodos existentes para cada caso, teniendo en cuenta
tanto los desarrollados especıficamente para el espanol como los realizados para el ingles
que se ha creıdo que adaptandolos al espanol pudieran tener un mejor rendimiento.
5. Explicacion de todos los metodos seleccionados, separandolos en funcion de la
parte del proceso al que corresponden. Todos estos metodos han sido desarrollados con
un amplio nivel de detalle, de tal forma que unicamente con lo expuesto en el trabajo
se pueda aplicar sin dificultades cada metodo. El proceso se ha separado en estas 2
fases con sus respectivos procesos:
a) Preproceso:
1) Interpretabilidad de los mensajes
b) Analisis de sentimiento:
1) Clasificacion del mensaje
2) Carga emocional del mensaje
6. Comparacion en cada ambito de cada uno de estos metodos. Todas estas
comparaciones se han realizado a partir de los distintos Experimentos desarrollados en
las (subsecciones 4.1.1, 4.2.1 y 4.2.2).
7. Seleccion y desarrollo del mejor sistema posible con toda la informacion dispo-
nible. Dentro de alguno de los procesos a la hora de encontrar la mejor solucion se ha
combinado mas de un metodo distinto.
8. Redaccion de la memoria, o lo que es lo mismo, del trabajo completo. Cumplien-
do siempre la normativa de la UPM en cuanto a redaccion de un Trabajo Final de
3. METODOLOGIA 29
Grado, con estructura y demas procedimientos exigidos. Dentro de este apartado, la
metodologıa seguida (orden de redaccion de la memoria) ha sido la siguiente:
a) Introduccion
b) Estado del arte
c) Objetivos
d) Resultados y discusion
e) Conclusion
f ) Lıneas futuras
g) Planificacion temporal y presupuesto
h) Resumen
i) Bibliografıa
Capıtulo 4
ESTADO DEL ARTE
El estado del arte es una compilacion de resultados de otras investigaciones que se han
realizado sobre el tema de investigacion escogido. Se trata de establecer que se ha hecho
recientemente sobre el tema seleccionado.
En este capıtulo se van a analizar los modelos tanto para la interpretabilidad de los
mensajes, incluido dentro del procedimiento que a partir de ahora se va a llamar preproce-
so (seccion 4.1) como para el analisis de sentimiento (seccion 4.2) para Twitter existentes
actualmente. A partir de todo esto se extraeran las mejores soluciones existentes para cada
caso y se creara el modelo mas fiable con cada una de las tecnicas mas efectivas. Es posible
que algunos modelos tengan ciertas ventajas sobre otros en unos aspectos pero que sean sig-
nificativamente peores en otros, por lo que a la hora de disenar el modelo final, se extraera
informacion de mas de un modelo en un mism o proceso.
A la hora de analizar un tweet es imprescindible tener claro cual es el orden de los
procedimientos nombrados en el parrafor anterior que se debe seguir (Figura 4.1), ya que a
la hora de realizar un analisis exhaustivo estos suelen ser complementarios.
31
32
Figura 4.1: Secuencia que de debe seguir para analizar un mensaje. Fuente: Elaboracon propia
Cada uno de los procesos nombrados en la (Figura 4.1) trata un aspecto diferente a la
hora de este analisis, explicacion que se adjunta a continuacion:
1. Preproceso: Es una parte esencial que se debe realizar previamente antes del analisis
del tweet. Consiste en adaptar las expresiones lexicas incorrectas del mensaje a unas
normalizadas. Este proceso consta unicamente de un procedimiento: Interpretabili-
dad de los mensajes.
2. Analisis de sentimiento: Este apartado es el del analisis del mensaje propiamente di-
cho. Consiste en la obtencion de informacion relacionandolo con un topico en concreto.
En este proceso se pueden distinguir dos procedimientos:
a) Clasificacion del mensaje: Procedimiento donde a cada tweet se le asigna una
categorıa para posteriormente relacionar la informacion extraıda con esta.
b) Carga emocional del mensaje: A cada tweet se le dota de una carga emocional
en funcion del sentimiento que transmite, analizando tres aspectos:
Polaridad.
Intensidad.
Emocion.
Todos estos procesos se detallan en los posteriores apartados, ası como a cada uno de
ellos se les adjunta el porcentaje de acierto que tienen.
4. ESTADO DEL ARTE 33
4.1. Preproceso
4.1.1. Interpretabilidad del mensajes
Para poder clasificar y analizar los mensajes es esencial que estos sean entendibles y
coherentes, es decir, que se puedan interpretar. Esto no siempre es algo trivial, ya que
actualmente la mayorıa de usuarios no suelen seguir las expresiones gramaticales formales a
la hora de manifestar su opinion en un tweet. Este problema es especialmente significativo
para el espanol.
Actualmente, para solucionar este problema de interpretabilidad existen diferentes metodos:
Aplicar metodos con herramientas utilizadas en ingles unicamente adaptandolos al
espanol [4] .
Disenar nuevos metodos con aplicacion directa para el espanol [11] [9] [12].
Aunque como se acaba de afirmar existen diferentes metodos para realizar este proceso,
todos ellos tienen algunas cosas en comun como son la de realizar una primera clasificacion
separando dos grupos: formas lexicas correctamente escritas a las que se les suelen llamar
IV (In Vocabulary) y otro con las expresiones mal escritas, tambien conocidas como OOV
(Out Of Vocabulary).
Otro dato que se deberıa adelantar es que en la actualidad para este tipo de tarea en ingles
se estan obteniendo unos porcentajes de acierto (PorcentajeAcierto = DecisionesCorrectasTotalPalabrasOOV
) cer-
canos al 80 %, y como ejemplo y para hacerse una primera idea de como se puede realizar un
modelo que resuelva este tipo de problemas en ingles con un acierto del 75 % a continuacion
se presentan resumidos los 3 pasos que se siguen en el modelo realizado por Han y Baldwin
(2011) [4]:
1. Generar del conjunto de confusion, donde para cada OOV se generan distintos candi-
datos.
34 4.1. Preproceso
2. Identificar las palabras a normalizar mediante un clasificador (donde se deben distinguir
las que deben modificarse y las que no).
3. Seleccion de los candidatos.
Para tratar de encontrar la mejor solucion disponible actualmente con la tecnologıa y
sistemas existentes se han decidido analizar distintos metodos considerados a priori pro-
vechosos, con la finalidad de obtener las mejores soluciones disponibles para cada caso en
especıfico.
Experimento 1 de interpretabilidad de mensajes
La Sociedad Espanola para el Procesamiento del Lenguaje Natural (SEPLN) organizo
un taller de Normalizacion Linguıstica en el ano 2013, sobre al cual se va a realizar este
experimento con la informacion recopilada por Alegria, Aranberri, Fresno, Gamallo, Padro,
San Vicente, Turmo y Zubiaga, 2013 [11].
Para realizar este taller se han obtenido un conjunto de 227.855 tweets, de los cuales se
han repartido de forma aleatoria dos conjuntos de 6.000 a cada equipo (el primero constituye
el conjunto de entrenamiento mientras que el segundo es el definitivo).
Primeramente se deben diferenciar las expresiones lexicas IV de las OOV dentro de
cada tweet para lo cual se utiliza el analizador morfologico de la librerıa FreeLing (Padro
y Stanilovsky, 2012 [13]). Esta parte del proceso en la que se utiliza esta librerıa se debe
realizar en tres pasos distintos:
1. Se extraen todas las cadenas de caracteres de tipo @usuario, #etiqueta, e-mail, URLs
y emoticonos y se descartan como OOV.
2. Se analiza cada una de las palabras de todos los tweets con los modulos basicos (dic-
cionarios, detector de numeros, fechas, sufijos...) y en el caso de que alguna palabra no
sea reconocida pasa a considerarse OOV.
4. ESTADO DEL ARTE 35
3. Se aplica un analizador morfologico basico con los modulos por defecto (a excepcion de
los reconocedores de multipalabras, entidades con nombre y de probabilidades lexicas)
y en el caso de que alguna palabra no sea reconocida se considera OOV.
Una vez finalizada esta primera clasificacion, se debe pasar a la parte del proceso que
se conoce como Proceso de anotacion. En esta parte se empieza anotando cada OOV
obtenida anteriormente. Una vez terminadas esta anotacion cada una de las OOV se etiqueta
(existen tres probabilidades) y posteriormente en funcion de la etiqueta que se le ha dado se
realiza un procedimiento u otro. El tipo de etiquetas que existe, ası como el procedimiento
que se debe realizar en funcion de estas se presenta en los siguientes puntos:
Correcta: no se debe modificar.
Variante: se le asigna su forma normalizada.
NoEs (otro idioma): no se debe modificar.
En esta parte del proceso, a la hora de la anotacion se deben seguir los siguientes criterios
en funcion del tipo de palabra:
Palabra incluida en la RAE
La palabra se anotara directamente como Correcta.
Nombre propio no incluido en la RAE
Existen dos opciones:
Si es un acronimo originalmente compuesto, todo en mayuscula o con alguna letra en
minuscula (p.e: CoNLL, I.B.M, IBM) se clasifica directamente como Correcta.
36 4.1. Preproceso
Si no es acronimo, existen dos opciones:
• Si lleva las letras requeridas, inicial en mayuscula y los acentos requeridos (p.e:
Luis, Castellon), entonces se clasifica como Correcta.
• Si tiene alguna falta de ortografıa o le falta algo del punto anterior (p.e: Madriz,
sevilla), entonces se clasificara como Variante y se especificara su forma correcta
(Madrid, Sevilla).
Palabra no incluida en la RAE sin ser nombre propio
En este caso existen siete opciones:
Si es un neologismo o extranjerismo compuesto correctamente y cumple las reglas (p.e:
retuitear, parking), se clasificara como Correcta.
Diminutivo o Superlativo escrito correctamente (p.e: grandısimo, supergrande), se cla-
sificara como Correcta.
Si existe alguna falta de ortografıa (repeticion, permutacion de letras, eliminacion...)
(p.e: cllaro, comia), se clasificara como Variante y se especificara su forma correcta
(claro, comıa).
Acortamiento o abreviatura (p.e: Mr, result), se clasificara como Variante y se especi-
ficara su forma correcta (Mıster, resultado).
Onomatopeya con alguna alteracion, dependiendo del caso se etiquetara de una forma
u otra:
• Si se simplifica y existe segun la RAE (p.e: jejejejeje→ je), entonces se clasificara
como Variante y se especificara su forma correcta.
• Si una vez simplificado se comprueba que no existe en la RAE (p.e: tssssssssss →ts), entonces se clasifica como Correcta.
4. ESTADO DEL ARTE 37
Concatenacion de palabras, se clasificara como Variante y se especificara su forma
correcta.
Expresion lexica proveniente de otro idioma, se clasificara como NoEs.
Emoticono, se clasificara como NoEs.
A pesar de que toda esta teorıa es simple de entender, a la hora de implementarla es
cuando realmente surgen los problemas, puesto que por ejemplo el lımite entre palabras
extranjeras y terminos ya aceptados en espanol no siempre esta tan claro, a veces el contexto
del tweet no es suficiente para descifrar una abreviatura o acortamiento o que en numerosas
ocasiones no esta clara cual es la intencion de una determinada onomatopeya.
El equipo que diseno un mejor modelo fue el de la RAE (Porta y Sancho, 2013 [14]),
el cual obtuvo un porcentaje de acierto del 78 %, lo cual es un resultado similar al que
se tiene actualmente en el ingles y por tanto se podrıa considerar como un metodo fiable.
Este resultado se obtuvo mediante un sistema basado en transductores de estados finitos
(consiste en automatas finitos (modelos computacionales que realizan computos de forma
automatica sobre una entrada para producir una salida con pesos estipulados en funcion de
la composicion (variantes, posibles variantes y modelo del lenguaje), o explicado con otras
palabras, se debe definir un dominio para cada uno de los estados y configurarlo de tal
forma que si no se cumple ese dominio, el modelo no debe pasar al siguiente estado y ası
sucesivamente). Implementando las reglas explicadas anteriormente generan transductores
para los fenomenos descritos en el siguiente parrafo ası como un modelo de lenguaje basado
en trigramas de palabras. Para analizar las palabras utiliza el siguiente lexicon:
Diccionario RAE [15].
Las 100.000 palabras mas frecuentes del BNC [16].
Un corpues de paginas web (Wacky) [17].
Para obtener estos resultados, aparte de realizar todo lo descrito en el anterior parrafo,
38 4.1. Preproceso
se han tenido en cuenta una serie de fenomenos (o errores) habituales. Estos fenomenos son
los que se muestran a continuacion:
Errores ortograficos habituales (h → ∅).
Omision de tildes (e → e).
Cambios fonologicos habituales (k → c, que).
Abreviaturas o acortamientos (p.e: admin → administracion).
Omision de letras (p.e: amargao → amargado).
Repeticion de caracteres (p.e: graaaacias → gracias).
Union de palabras que en teorıa van separadas (p.e: esque → es que).
Onomatopeyas (p.e: jajajajaja → ja).
Otros equipos que tambien obtuvieron unos buenos resultados fueron Citius-Imaxin (Ga-
mallo, Garcıa y Pichel, 2013 [18]) y UPC (Ageno et al., 2013 [19]) con un porcentaje de
acierto de 66,3 % y 65,3 % respectivamente. Aunque tal y como se puede comprobar la dife-
rencia entre estos y el equipo ganador (RAE [14]) fue muy significativa (existe una diferencia
de mas de 10 puntos), por lo que se ha decidido no analizar esos modelos, ya que al tratarse
del mismo concurso (con las mismas pautas), estos no aportaran nada nuevo. Otro hecho que
se deberıa resaltar, es que el modelo RAE fue realizado mediante la herramienta Freeling, la
cual se entreno hasta conseguir alcanzar esta fiabilidad [14].
Experimento 2 de interpretabilidad de mensajes
A la hora de comenzar a disenar el modelo, para realizar una primera aproximacion se
ha tratado de comparar este problema con el existente para el ingles, ya que a dıa de hoy es
en el que se ha investigado mas sobre este tema. Para esto se ha utilizado una normalizacion
basada en el lexico realizada por Han, Cook y Baldwin (2012) [4].
4. ESTADO DEL ARTE 39
Primeramente, para confeccionar este experimento se ha tratado de identificar una serie
de factores clave:
Ortografıa: El espanol posee muchos mas caracteres que el ingles. Algunos de estos
pueden cambiar totalmente el significado de una palabra. Un ejemplo de uno de estos
caracteres es el del acento (una palabara puede variar su significado unicamente con
anadir o suprimir un acento), este es por ejemplo, el caso de la palabra mas, ya que
sin acento (mas) en ingles es but, mientras que si se le anade el acento (mas) esta se
traduce como more. El metodo de Han, Cook y Baldwin (2012) [4] utiliza la distan-
cia de Levenshtein (o distancia entre palabras, es el numero mınimo de operaciones
requeridas para transformar una cadena de caracteres en otra) para medir la similitud
de las cadenas. Esto se realiza convirtiendo cada uno de los caracteres en puntos de
Unicode (estandar de codificacion de caracteres disenado para facilitar el tratamiento
informatico, transmision y visualizacion de textos de multiples lenguajes y disciplinas
tecnicas), tratando las letras con y sin acento (por ejemplo, a o a) como caracteres
diferentes y finalmente se calcula la distancia de Levenshtein sobre estas formas.
Segmentacion de palabras: En espanol y en ingles se utiliza de forma similar la
segmentacion mediante un espacio en blanco de palabras compuestas, por lo que se
pueden aplicar tecnicas de tokenizacion similares.
Morfofonemica: Consiste en un modelado fonetico de palabras. Es un metodo mode-
lados por Han, Cook y Baldwin (2012) [4], pero existe una implementacion estandar en
espanol disponible de Double Metaphone (https://github.com/amsqr/Spanish-Metaphone).
Este ha sido traducido directamente del ingles, aunque hay que destacar que ademas
se han implementado una serie de modificaciones, las cuales se pueden apreciar en la
Tabla 4.1.
Recursos lexicos: Ya existen diccionarios de lexico para espanol. Cabe recalcar que
en este tipo de modelo se suelen ignorar las letras mayusculas.
40 4.1. Preproceso
Caracteres afectados Original Cambio
a a a
ch ch x
c c s
e e e
i ı i
o o o
u u u
u u
n n ny
gu gu w
b b v
z z s
ll ll y
c cc x
ci, ce z
si nada k
g ge, gi j
h si nada g
es muda ∅
si no muda h
q qu q
si nada k
s es es
si nada s
x s
ex
x
Tabla 4.1: Cambios de caracteres utilizados para la lectura de lexico en espanol mediante Double Metaphone.
Fuente: GitHub [8]
4. ESTADO DEL ARTE 41
A grandes rasgos, la funcion primera del modelo debe ser la de separar cada cadena de
caracteres en dos grupos diferenciados, dependiendo si estan correctamente escritas o si no:
IV: In Vocabulary
OOV: Out Of Vocabulary
Una vez agrupadas en IV las palabras correctas y en OOV las que no, en el siguiente
procedimiento se deben mantener las palabras IV mientras que las OV se deben modificar,
este proceso consta de dos pasos:
1. Descifrar todos los OOV y normalizarlos basandose en un lexico de normalizacion que
combina los lexicos existentes y lo aprendido de forma automatica de un corpus de
Twitter (lo cual se explicara con un amplio nivel de detalle en los siguientes subapar-
tados).
2. Restauracion de las palabras normalizadas.
A continuacion, se explica con un amplio nivel de detalle cada uno de estos procedimientos
nombrados en la anterior enumeracion:
Recursos
Existen algunas listas con recopilaciones de frases y palabras que se suelen escribir de
forma incorrecta con sus respectivas formas correctas. Algun ejemplo de estos diccionarios es
el diccionario Freeling 3.0 (Padro y Stanilovsky, 2012 [13]), el cual contiene mas de 600.000
palabras ası como una serie de expresiones y abreviaturas utilizadas asiduamente en Internet,
por ultimo tambien aparece una lista de 277 nombres comunes en espanol con sus respectivas
abreviaturas. A continuacion, en laTabla 4.2 se muestra un ejemplo de distintas expresiones
incorrectas que se suelen utilizar a la hora de expresarse mediante Twitter, recopiladas de
dicha plataforma de forma manual.
42 4.1. Preproceso
Original Significado Traduccion ingles
100pre siempre always
a10 adios goodbye
a2 adios goodbye
ac hace (form of hacer)
aki aquı here
amr amor love
aora ahora now
Tabla 4.2: Ejemplo de expresiones mal escritas. Fuente: Elaboracion propia
Lexico derivado del corpus
El problema que tiene idea propuesta en el subapartado anterior (Recursos) de generar
una lista manual con las expresiones incorrectas mas utilizadas con sus respectivos signifi-
cados es poco representativo comparandolo con el total de las expresiones no estandar que
se utilizan. Para complementar esto, una opcion es la de adaptar el metodo de Han, Cook y
Baldwin (2012) [4] explicado anteriormente al espanol.
Para realizar este experimento, se han recolectado 283 millones de tweets en espanol, los
cuales han sido tokenizados mediante un tokenizador de Twitter en ingles (O’Connor, Krieger
y Ahn, 2010 [20]). Para llegar a esto, inicialmente se decidieron realizar dos aproximaciones:
Las repeticiones seguidas excesivas de caracteres (≥3) en una palabra se acortan a un
unico caracter.
Solo los OOV con ≥4 caracteres se han consideraron para la normalizacion.
Para cada uno de los OOV obtenidos se define su conjunto de confusion para ası conse-
guir que todo sean palabras de IV con una distancia de Levenshtein ≤ 2 para terminos de
4. ESTADO DEL ARTE 43
caracteres y ≤ 1 para terminos de codigo de Double Metaphone. Para su posterior clasifica-
cion (y por tanto, para la obtencion de su significado real) se utiliza un metodo similar al de
Han, Cook y Baldwin (2012), donde el contexto es representado por bigramas de posicion-
ındices mediante una ventana de tamano de ±2 tokens, donde la similitud se mide usando
la divergencia KL (Kullback-Leibler, consiste en una medida no simetrica de la semejanza o
diferencia entre dos funciones de distribucion P y Q, es decir, mide el numero esperado de
extra bits requeridos en muestras de codigo de P cuando se usa un codigo basado en Q, en
lugar de un codigo basado en P).
Para tratar de analizar de forma concisa y clara los resultados que se obtienen utilizando el
metodo basado en la divergencia KL anteriormente explicado se ha decidido adjuntar tanto
la Tabla 4.3 como la Figura 4.2 que se muestran seguidamente, cabe resaltar que ambas
han sido resultados obtenidos por Han, Cook y Baldwin, 2012. En la Tabla 4.3, analizando
los terminos callendo y guau se observa que a partir de los datos de desarrollo, cuando se
identifica una correcta normalizacion entonces aparece una gran diferencia en la divergencia
KL entre el IV del primer y segundo termino del ranking, mientras que si la divergencia KL
entre el primer y el segundo termino son similares, la normalizacion suele ser menos fiable.
Al observarse esto, se ha decidido realizar un grafico en el cual se quiso comparar la relacion
del valor de la distribucion KL entre los dos primeros terminos y la precision de acierto en
cuanto a acertar la IV correcta. Tal y como se muestra en la Figura 4.2 se puede concluir
que la mejor precision es de 94 % y que se obtiene cuando esta relacion es de 1,9.
Ranking callendo guau
1 cayendo 0.713 y 1.756
2 saliendo 3.896 que 1.873
3 fallando 4.303 la 2.488
4 rallando 6.761 a 2.649
5 valiendo 6.878 no 3.206
Tabla 4.3: Divergencia KL para los cinco principales candidatos para las palabras callendo y guau. Fuente:
Spanish Text Normalisation [4]
44 4.1. Preproceso
Figura 4.2: Grafica comparativa entre divergencia KL y precision. Fuente: Spanish Text Normalisation [4]
La precision ha sido calculada como: Precision = NormalizacionescorrectasNormalizaciones
Restauracion de normalizaciones
Se han establecido todos los tokens que se normalizaron tal y como se ha explicado en los
subapartados anteriores ası como se ha decidido normalizar todos los tokens que aparecen
al comienzo de un tweet o despues de un punto o signo de interrogacion.
Resultados
Finalmente, despues de realizar el experimento se ha llegado a alcanzar un porcentaje de
acierto del 54 %, aun muy lejos del nivel de acierto que actualmente se alcanza en el ingles
(80 %) y del que se podrıa considerar como fiable.
Del 46 % de OOVs que no se han corregido bien, en la Tabla 4.4 se puede comprobar
como se han dividido en porcentaje cada uno de los tipos de los errores.
4. ESTADO DEL ARTE 45
Tipo Error Porcentaje ( %)
Forma lexica 37
No disponible 32
Acentos 17
Caso erroneo 8
Otros 6
Tabla 4.4: Porcentaje de cada uno de los tipos de error obtenidos en la normalizacion. Fuente: Spanish Text
Normalisation [4]
En la tabla se puede observar que la mayor parte de los errores han sido debidos a
causa un error en la forma lexica (37 %), cosa que es difıcil de predecir, ya que muchas
veces los usuarios se equivocan marcando las caracteres intercalando letras que no son y eso
puedo conllevar a la confusion como podrıa ser el caso por ejemplo de elgerooo el cual fue
normalizado como algero cuando realmente querıa referirse a alegra. Otro tipo de error que
tambien ha aparecido en numerosas ocasiones ha sido el de que la forma lexica correcta no
apareciera como solucion (32 %).
Experimento 3 de interpretabilidad de mensajes
ELIRF-UPV (Group of Natural Language Engineering and Pattern Recognition de la
Universidad Politecnica de Valencia) [9] es un equipo que participo en el concurso del TASS
(Taller de Analisis de Sentimientos), el cual consiste en la realizacion de un analisis de
sentimiento por lo que el resultado final de este se comentara posteriormente.
Para la realizacion de esta parte de interpretabilidad este equipo se decidio por utili-
zar y adaptar herramientas disponibles en la red para la tokenizacion, la lematizacion y el
etiquetado morfosintactico (POS tagging).
Primeramente, al igual que en los otros experimentos se comienza con la clasificacion
de las expresiones lexicas en IV o OOV en funcion de si estas estan normalizadas o no
46 4.1. Preproceso
respectivamente. Y una vez conseguida esta clasificacion ya se ha pasado a la correccion
automatica de las palabras OOV.
Todo esto se ha realizado mediante los tokenizadores Tweetmotif (O’Connor, Kriegger
y Ahn, 2010 [20]) y Freeling (Padro y Stanilovsky, 2012 [13]), este ultimo sobretodo se ha
utilizado para agrupar ciertos grupos de palabras de interes. Ademas de como tokenizador,
la herramienta Freeling se ha utilizado tanto como lematizador (para sacar la raız de las
palabras, por ejemplo: perrito→perro, leera→leer) como etiquetador morfosintactico. Para
poder utilizar de forma fiable estas herramientas para el espanol se deben realizar una serie
de modificaciones. Estas modificaciones realizadas para cada uno de los tokenizadores se
presentan a continuacion:
Tweetmotif
Reescribir algunas expresiones regulares con el fin de contemplar el uso de acentos,
dieresis y letras especıficas en espanol como la n.
Crear una funcion para clasificar los emoticonos en cinco categorıas: happy (en espanol,
contento), sad (triste), tongue (lengua), wink (guino) y other (otro).
Crear una funcion con para normalizar ciertas palabras y abreviaciones usuales en
Twitter, como por ejemplo: d→de, q→que, pq→porque, dl→del.
Freeling
Su funcionamiento detallado viene especificado en el Experimento 1 de Interpretabilidad
de mensajes y los cambios aquı propuestos han sido los siguientes:
Modificacion de ficheros de configuracion para que se mantuviera la tokenizacion pro-
ducida por Tweetmotif, como pueden ser las menciones de usuarios (user), hashtags
(#temas), emoticonos, www, http, signos de puntuacion.
4. ESTADO DEL ARTE 47
Crear una funcion para permitir algunas agrupaciones, como pudieran ser:
• Palabras: (p.e: sin embargo)
• Nombres propios: Luis Buades
• Lugares: Palma de Mallorca
• Fechas: 1 de Febrero de 1994
Ademas de todo esto, se ha decidido modificar los diccionarios para que a ciertos tokens
se les asigne una categorıa fija, como por ejemplo, #tema, usuario, emoticonos, www, http,
signos de puntuacion.
Por ultimo, con todo esto se debe realizar una tokenizacion y lematizacion de los tweets.
Para simplificar esto, tambien se han desarrollado una serie de funciones que permiten unifi-
car ciertos tokens, como por ejemplo agrupar todos los hashtags en un unico token, agrupar
todas las direcciones www y url en una o bien considerar los numeros, signos de puntuacion
o fechas como un unico token.
Mediante este metodo se ha obtenido un porcentaje de acierto aproximado del 70 %,
por lo que a pesar de ser un valor bastante elevado no puede llegar a considerarse como
un metodo fiable, ya que dista significativamente de los 76 % que se necesitan para poder
considerarse ası.
4.2. Analisis de sentimiento
Hoy en dıa poder analizar y procesar la informacion de las redes sociales a tiempo real es
extremadamente util. Para esto, estos ultimos anos se han desarrollado distintas herramientas
de monitorizacion que permiten realizar un analisis de sentimiento. Dicho esto, este tipo de
analisis consiste primeramente en asignar el mensaje una categorıa especıfica (subseccion
4.2.1) (empresa, ONG, polıtica, deporte...) y posteriormente en asignarle una carga emocional
a cada mensaje (subseccion 4.2.2), de tal forma que despues de analizar suficientes mensajes
48 4.2. Analisis de sentimiento
se pueda sacar una conclusion acerca de la opinion de los usuarios sobre una empresa,
producto, Gobierno...
4.2.1. Clasificacion del mensaje
Una vez corregido el tweet y antes de pasar a analizar su carga emocional, este mensaje
suele ser clasificado en funcion de su categorıa (paso no siempre necesario a la hora de
analizar un conjuntos de tweets).
Esta categorıa puede ser muy variable, ya que bien puede referirse a una activad (o
topico) o a un conjunto de actividades o bien a una empresa o departamento en concreto u
otro tipo de categorıa, dependiendo de lo que se quiera analizar.
En este apartado se analizaran con un amplio nivel de detalle las mejores soluciones exis-
tentes actualmente para realizar esta clasificacion, ası como posteriormente se especificaran
algunos de los problemas que surgen a la hora de realizar esto y sus posibles soluciones. Tal
y como se ha comentado en el parrafo anterior, en funcion del tipo de clasificacion que se
quiera realizar, se van a diferenciar dos categorıas (las dos mas comunes):
En funcion de un topico.
En funcion de una empresa.
En ambos casos, el modelo es practicamente el mismo, ya que lo unico que varia es
especificar al principio las categorıas deseadas ası como seleccionar sus palabras claves o bien
en que consistira su aprendizaje automatico o semiautomatico. A continuacion se detalla uno
de los metodos mas efectivos a la hora de realizar este tipo de clasificacion con un ejemplo
concreto.
El equipo ELiRF-UPV durante el Taller de Analisis de Sentimientos (TASS) [12], deta-
llado anteriormente, diseno un modelo que permitıa clasificar cada tweet en funcion de un
4. ESTADO DEL ARTE 49
campo (o topico). Para la realizacion de este modelo propuesto. Primeramente, se deben es-
pecificar cada uno de los topicos. Para este experimento se han establecido los que aparecen
en la Tabla 4.5 (poniendo un ejemplo de cada).
Topico Ejemplo
Cine Ayer fuimos a ver Saw VIII
Deportes Me encanto la competicion de natacion de ayer
Entretenimiento Lucıa siempre juega al monopoli
Economıa El PIB de Espana es de 1,232 billones de euros
Literatura Os recomiendo que os leais el libro La sombra del viento
Futbol El mejor jugador del mundo es Cristiano Ronaldo
Musica Nos gusto mucho el concierto de Maluma
Polıtica No entiendo como la gente puede votar a Podemos
Tecnologıa El nuevo Iphone es una pasada
Otros Estoy cansado
Tabla 4.5: Topicos utilizados en Experimento 1 de Clasificacion. Fuente: Elaboracion propia
Para esta clasificacion se ha utilizado la herramienta WEKA [21] [22] (Waikato Envi-
ronment for Knowledge Analysis, entorno para analisis del conocimiento de la Universidad
de Waikato en espanol), la cual consiste en una plataforma de software para el aprendizaje
automatico y la minerıa de datos escrito en Java, a su vez el metodo empleado es el SMO
. Este modelo se ha realizado mediante un clasificador binario, el cual funciona tal y como
se puede observar en la Figura 4.3, es decir, el modelo lo que hace es analizar primero si
pertenece al primer topico, si es ası, este se clasifica como Topico 1 y deja de analizar el
mensaje, en cambio si no lo es se clasifica como No Topico 1 y pasa a analizar si pertenece
al topico 2 y ası sucesivamente.
50 4.2. Analisis de sentimiento
Figura 4.3: Clasificador binario del experimento 1 de Clasificacion. Fuente: Elaboracion propia
El principal inconveniente de este metodo (SMO) es que es posible que a veces a algun
mensaje no se le llegue a asignar ningun topico, ya que este, unicamente asigna 1 si pertenece
a un topico o 0 si no. Una alternativa para tratar de resolver este problema es la de utilizar
la librerıa libSVM, la cual en vez de fijar 1 o 0 si es o no es correcta respectivamente, asigna
una probabilidad a todas las clases, por lo que si a un tweet no se le asigna ninguna clase
mediante el metodo SMO, este mensaje se clasifica en la clase mas probable proporcionada
por los clasificadores obtenidos con libSVM.
Para analizar estos mensajes para su posterior clasificacion se utilizan los lemas de los
tweets cuya frecuencia en un conjunto representativo de entrenamiento sea mayor o igual a
1 (f≥1) y cuya categorıa gramatical sea verbo o nombre.
Mediante este metodo se ha obtenido un porcentaje de acierto del 75,6 %. Este porcentaje
es muy variable ya que depende mucho del tipo de categorıas en las que se quieran clasificar
los mensajes, ya bien sea por la cantidad de categorıas o por lo especıficas que sean estas.
De todas formas con este metodo se estan obteniendo aciertos entre un 72 % y un 85 %, con
los cual, se puede afirmar que son bastante fiables.
A pesar de que el modelo esta claro, hay veces que al aplicarlo surgen problemas. El
problema mas comun y que afecta directamente a la hora de realizar esta clasificacion es
el caso en que el nombre de una empresa (u otro tipo de organizacion) tiene un significado
ambiguo, es decir, que la propia palabra no siempre se refiere a la empresa. La forma de
resolver este problema se explica a continuacion:
4. ESTADO DEL ARTE 51
Nombre con significado ambiguo
Actualmente, controlar la reputacion de una empresa a traves de Internet es algo esen-
cial. A la hora de realizar este control uno de los problemas mas comunes es el nombrado
anteriormente, nombres de empresas con significados ambiguos. Este es por ejemplo el caso
de Santander, puede referirse al banco o a la ciudad.
Este problema es especialmente difıcil de resolver en microblogging (servicios en los que se
envıan mensajes breves como por ejemplo la plataforma Twitter), ya que existe un contexto
demasiado corto, lo cual muchas veces es un problema a la hora de desambiguar ese nombre.
La mejor solucion para resolver este problema es la propuesta por Spina, Amigo y Gonzalo
(2012) [23], la cual consiste basicamente en seleccionar todos los tweets en los que aparece
el nombre de la empresa y posteriormente elaborar una clasificacion binaria de relacionados
(+) y no relacionados (-). En la practica, esto podrıa ser un componente de filtrado para
servicios como SocialMention.com, donde si por ejemplo consultas Santander aparecen cifras
de:
Fuerza: (Strenght-72 %)
Sentimiento: (Sentiment-6,2 %)
Pasion: (Passion-47 %)
Alcance: (Reach-43 %)
Esta observacion se basa en otras dos observaciones intuitivas:
1. Filtro de palabras clave: Consiste en recolectar las palabras clave, las cuales pueden
ser positivas (+) o negativas (-), con la finalidad de aislar informacion. Un ejemplo
podrıa ser el que aparece en la Tabla 4.6
52 4.2. Analisis de sentimiento
Nombre empresa Palabra clave Relacion
Financiacion +
Santander
Jardines -
Tabla 4.6: Ejemplo de palabras clave relacionadas con Santander. Fuente: Elaboracion propia
2. Clase mayoritaria: La relacion entre + y - no sigue una distribucion normal (es
muy variable), sino que sigue una distribucion sesgada (por lo menos si se considera a
corto plazo), normalmente, bien la mayorıa de los tweets son sobre la empresa o bien
la mayorıa de estos no tienen relacion alguna con ella. Predecir cual es cada una de
estas situaciones puede ser una entrada valiosa para buscar soluciones algorıtmicas al
problema.
El objetivo del modelo es proporcionar una evidencia cuantitativa que respalde (o rechace)
las intuiciones. Para esto se utiliza el WePS-3 (primer conjunto de datos construido para
abordar este problema) y una especie de tecnica de representacion de huella dactilar, que
consiste en la visualizacion de los resultados del sistema que son utiles para comprender el
comportamiento del sistema (sesgos variables).
Aplicando todo esto, el sistema final realizado por LSIR obtuvo un porcentaje de acierto
del 83 %. Esto se ha conseguido seleccionando previamente un conjunto clave de palabras
para cada empresa objeto de estudio, y tal y como se ha explicado previamente en funcion de
si aparecen esas palabras o no, se manifiesta si el mensaje esta relacionado con el tema o si
por el contrario no lo esta. Todo esto realizado con un clasificador SVM (su funcionamiento
se explica en la seccion 4.2.2)
Otro buen sistema es el desarrollado por ITC-UT (75 %), el cual se basa en una clasifi-
cacion de dos etapas:
1. Predice la clase de cada empresa de acuerdo con la proporcion de tweets relacionados
con nombre de empresa.
4. ESTADO DEL ARTE 53
2. Aplicar una heurıstica por cada clase, basandose principalmente en el etiquetado PoS
y la etiqueta de la entidad nombrada del nombre de la empresa.
Este ultimo modelo se ha decidido no desarrollarlo en profundidad a causa de que su
fiabilidad es perceptiblemente inferior al modelo anteriormente analizado.
4.2.2. Carga emocional del mensaje
Consiste en asignarle una carga emocional a cada mensaje en funcion del sentimiento que
este transmite. Esta carga emocional se suele analizar diferenciando tres tipos de sentimientos
(De Bravo-Marquez et al., 2014 [24]):
Polaridad: Indica si el mensaje tiene una connotacion negativa, positiva o neutra.
Intensidad: Cuantifica la intensidad de ese sentimiento.
Emocion: Indica el tipo de emocion: tristeza, ira, alegrıa...
Aunque de todas estas, la que mas relevancia tiene y la que mas se usa es la de determinar
la polaridad. A continuacion, en la Tabla 4.7 se muestra un ejemplo de esto:
Sentimiento Frase
Negativa El libro que he leido es muy aburrido
Positiva Los Audi tienen un buen rendimiento
Neutra Voy a ir a comprar
Tabla 4.7: Ejemplo de clasificacion por polaridad. Fuente: Elaboracion propia
Muchas veces, para no tener que implementar tantas tecnicas, la polaridad en vez de
clasificarse en tres tipos, se determina en seis niveles, en la que se incluye tanto las emociones
como la intensidad:
N: Polaridad negativa de baja intensidad
54 4.2. Analisis de sentimiento
N+: Polaridad negativa de alta intensidad
P: Polaridad positiva de baja intensidad
P+: Polaridad positiva de intensidad
NEU: Polaridad neutra
NONE: Ausencia de polaridad
Estas tecnicas de monitorizacion estan mucho mas desarrolladas para el ingles que para
el espanol, esto es ası debido a que para el castellano no se ha investigado esto tanto como
para el ingles y porque para este ultimo no existe tanta gramatica y por tanto no es algo tan
complejo. Es por esto que a continuacion se comentaran las mejores tecnicas para el analisis
de sentimiento en espanol existentes actualmente y se compararan entre si.
Para abordar este problema existen diversas tecnicas, las cuales se pueden observar en la
Figura 4.4 que aparece a continuacion:
Figura 4.4: Tipos de tecnicas de Analisis de Sentimiento. Fuente: Tecnhiques for sentiment analysis in
Twitter: Supervised Learning and SentiStrength [5]
De todas estas tecnicas, actualmente para el analisis en espanol hay dos que estan mas
desarrolladas que el resto y que en un principio se supone que tienen una tasa de error menor
4. ESTADO DEL ARTE 55
y son las que se encuentran mas proximas al valor mınimo de fiabilidad establecido que es
de un 80 %. Estas son:
Aprendizaje automatico
Enfoque basado en el lexico- Diccionarios
A continuacion se analizaran con un amplio nivel de detalle cada una de estas tecnicas.
4.2.2.1. Aprendizaje automatico
El aprendizaje automatico es un sistema que busca entre los datos para detectar patrones
con la finalidad de ajustar las acciones de un programa establecido anteriormente. Dentro
de este, destacan dos tipos distintos:
Aprendizaje automatico supervisado: Los algoritmos de aprendizaje automatico
supervisado permiten aplicar lo que se aprendio en el pasado a nuevos datos.
Aprendizaje automatico no supervisado: Los Los algoritmos de aprendizaje au-
tomatico no supervisado permiten extraer inferencias de un conjunto de datos.
A priori, el mas utilizado de estos y el que actualmente esta mas desarrollado es el
aprendizaje automatico supervisado y es por tanto sobre el que mayoritariamente se hablara
en este apartado.
Para analizar este tipo de tecnicas se han analizado distintos casos para ası obtener el
mejor posible mediante aprendizaje automatico. Estas tecnicas se describen en los experi-
mentos explicados a continuacion. La mayorıa de estos experimentos han sido los trabajos
desarrollados por distintas organizaciones en un Taller de Analisis de Sentimiento (TAS) que
organiza la SEPLN (que tal como define su pagina web oficial, es una asociacion cientıfica
que tiene el objetivo de difundir la ensenanza, investigacion y desarrollo del procesamiento
del lenguaje natural) anualmente desde el ano 2013, en este taller se investigaba tanto el
56 4.2. Analisis de sentimiento
poder cuantificar la carga emocional como en la clasificacion de los mensajes, pero en este
subapartado unicamente se analizara lo relacionado con la carga emocional.
Experimento 1 de aprendizaje automatico
Este primer experimento fue desarrollado en el ano 2013 por el equipo ELiRF durante el
concurso que organiza el SEPLN mencionado anteriormente [9].
Para entender como se ha elaborado este analisis de sentimiento hay que tener en cuenta
que anteriormente se ha realizado un preproceso, el cual ha consistido en una adecuada
tokenizacion (interpretabilidad de los mensajes), analizado en la seccion ??
Tal y como se ha comentado anteriormente, la tarea consiste en determinar la polaridad
de los mensajes, distinguiendolos en 6: N, N+, P, P+, NEU, NONE. Para realizar este
experimento se han analizado un conjunto de 60.798 tweets, aunque previamente se han
necesitado 7219 mas como entrenamiento para el algoritmo.
Esta tarea se ha realizado mediante una herramienta llamada WEKA (incluye una serie
de algoritmos de aprendizaje automatico) donde se ha implementado el algoritmo SVM
(o maquina de vector de soporte, consiste en un conjunto de algoritmos de aprendizaje
supervisado) mediante la librerıa externa LibSVM (facil integracion con WEKA y software
muy eficiente para SVM).
Se ha utilizado una aproximacion conocida como bag of words : representa cada tweet como
un vector de caracterısticas que contiene las frecuencias de las caracterısticas seleccionadas.
Para la realizacion de este ejercicio, inicialmente se consideraron un gran numero de carac-
terısticas, de las cuales se han descartado unas cuantas ya que no mejoraban los resultados.
Por lo que finalmente solo se han tenido en cuenta nueve caracterısticas:
1. Considerar unicamente unigramas (un unigrama equivale a una palabra del mensaje
del tweet) de lemas obtenidos en el preproceso de los tweets con una mınima frecuencia
establecidad anteriormente (f).
4. ESTADO DEL ARTE 57
2. Considerar los hashtags (#tag) como una caracterıstica.
3. Considerar las menciones a usuarios (@user) como una caracterıstica.
4. Unificar el conjunto de los numeros como una caracterıstica.
5. Unificar todas las fechas como una caracterısticas.
6. Unificar los signos de puntuacion como una caracterıstica.
7. Sustituir cada emoticono por su categorıa previamente establecida (happy, sad, tongue,
wink y other, en espanol, contento, triste, lengua, guino y otro respectivamente).
8. Considerar solo como caracterıstica los tokens de cierta categorıa morfosintactica prees-
tablecida (selPOS ).
9. Utilizar como recurso externo, lexicos de polaridad de lemas y palabras (DIC ).
Para todo esto hubo que realizar una serie de ajustes. Entre estos cabe destacar que uno
de los lexicos utilizados estaba inicialmente en ingles (Wilson et al., 2005) por lo que se tuvo
que traducir al espanol.
Teniendo en cuenta todo esto, se han realizado distintos experimentos, tanto para una
frecuencia de uno como para una de dos, y los mejores resultados para cada una de estas
han sido los siguientes:
Para f=1: f=1+DIC
Para f=2: f=2+selPOS+DIC
En ambos casos se han obtenido unos resultados que no llegan al 60 % de acierto. Esto es
ası porque a veces es muy complicado diferenciar la intensidad de cada una de las polaridades.
Por lo que posteriormente se ha decidido realizar este mismo experimento teniendo en cuenta
unicamente el tipo de polaridad (sin considerar si tiene mas o menos intensidad), es decir,
58 4.2. Analisis de sentimiento
considerando solo N, P, NEU. Los resultados obtenidos para cada uno de estos casos aparecen
representados en la Tabla 4.8.
Caracterısticas Porcentaje ( %)
5 niveles, f=1+DIC 57,30
5 niveles, f=2+selPOS+DIC 57,60
3 niveles, f=1+DIC 67,40
5 niveles, f=2+selPOS+DIC 67,40
Tabla 4.8: Resultados del experimento 1 de carga emocional (polaridad). Fuente: ELiRF-UPV en TASS-
2013 Analisis de Sentimientos en Twitter [9]
Tal y como se puede comprobar, el mejor resultado obtenido es de un 67,40 % de acierto,
muy lejos del 80 % (valor mınimo de fiabilidad) necesario para que pueda considerarse un
metodo fiable.
Experimento 2 de aprendizaje automatico
Este trabajo ha sido desarrollado por el mismo equipo del Experimento 1 (ELiRF (Hur-
tado, Pla y Buscaldi, 2015) [25]) pero durante el ano 2015. En este caso se ha analizado el
trabajo de este equipo, porque a pesar de que han quedado terceros (muy cerca de los dos
equipos vencedores), los dos primeros decidieron no presentar el informe y este sı.
El TASS 2015 encargo distintas tareas de analisis de sentimiento (Garcıa Cumbreras,
Martınez Camara, Villena Roman y Garcıa Morera, 2015 [26]), aunque como se ha mencio-
nado anteriormente, en este subapartado unicamente se analizara la clasificacion segun la
polaridad de sentimiento.
Para esta tarea, el corpus se ha dividido en uno de aprendizaje (90 %) y uno de prueba
(10 %), en el primero han aparecido los mensajes con las etiquetas de polaridad ya estable-
cidas (P+, P, NEU, N, N+ o NONE) para ası poder desarrollar el algoritmo de aprendizaje
supervisado y entrenarlo, mientras que el segundo han sido los que se deben resolver.
4. ESTADO DEL ARTE 59
Hay que recalcar que la clasificacion de polaridad de esta tarea se ha restringido a solo
cuatro categorıas: P, N, NEU y NONE.
Primeramente se ha realizado un preproceso de los mensajes, el cual como se ha mencio-
nado anteriormente se ha explicado con un amplio nivel de detalle en la subseccion 4.1.1.
Posteriormente, se han seleccionado el conjunto de caracterısticas a tener en cuenta a la
hora de analizar el modelo, las cuales se enumeran a continuacion:
1. Considerar unicamente unigramas de lemas obtenidos en el preproceso de los tweets
con una mınima frecuencia establecidad anteriormente (f).
2. Los hashtag, menciones de usuarios, fechas y signos de puntuacion se unificaron en una
sola caracterıstica.
3. Sustituir cada emoticono por su categorıa previamente establecida (happy, sad, tongue,
wink y other).
4. Excluir terminos pertenecientes a ciertas categorıas morfosintacticas poco significativas
para el analisis de sentimiento.
5. Utilizacion como recurso externo varios diccionarios de polaridad.
Finalmente, se ha aplicado el algoritmo de aprendizaje automatico supervisado, que en
este caso ha sido el SVM (maquina de vectores de soporte) tipo lineal (Hurtado et al.,
2015 [25]).
Con todo esto, se han obtenido unos resultados de un 72,1 % de acierto (por un 72,6 %
y 72,5 % del primero y segundo respectivamente). A pesar de que la capacidad de prediccion
es superior a la del Experimento 1, aun no llega a al 80 % a partir del cual se considera un
modelo fiable.
60 4.2. Analisis de sentimiento
Experimento 3 de aprendizaje automatico
Este experimento (Carlos Hernandez, Ferran Pla, Lluıs-F. y Jaime Guzman, 2017 [27]), al
igual que el resto, ha sido realizado previo preprocesamiento (o interpretabilidad del mensaje)
y extraccion de aspectos (o clasificacion del mensaje). Este ha sido validado utilizando el
corpus de la tarea 5 de la edicion de 2016 de SemEval (International Workshop on Semantic
Evaluation).
En esta tarea, para detectar la polaridad, se propone una aproximacion que consiste en
determinar el contexto de cada palabra a traves de una ventana fija definida a la izquierda
y derecha del aspecto (Pla y Hurtado, 2014 [28]). La longitud de esta ventana ha sido
determinada experimentalmente mediante una validacion cruzada, y se ha concluido con que
su valor maximo debe ser de 3 palabras tanto a la izquierda como a la derecha.
Para entrenar el sistema, se han determinado los segmentos para cada aspecto y se ha
entrenado el clasificador. Como clasificador se han utilizado Maquinas de Soporte Vectorial,
concretamente las librerıas LibSVM y LibLinear. El software ha sido desarrollado en Python
y se ha utilizado el toolkit scikit-learn para acceder a las librerıas de SVM. Para la determi-
nacion de los parametros de los clasificadores se ha utilizado una validacion cruzada de 10
iteracciones.
Aplicando todo lo mencionado hasta ahora se ha obtenido un resultado de un 83,21 %
de acierto. A pesar de que este resultado es notablemente mejor que el de los experimentos
previos analizados, se ha decidido mejorar el modelo mediante una serie de propuestas, estas
han sido las que aparecen a continuacion:
Utilizar el diccionario ELHUYAR (Saralegi y San Vicente, 2013 [29]) lematizado.
Utilizar los lexicones SOL e iSOL (Molina-Gonzalez et al., 2013 [30]).
Utilizar como caracterısticas secuencias de hasta 7 caracteres, a las que se les ha anadido
como nuevas caracterısticas el numero de palabras positivas y negativas contenidas en
los lexicones mencionados en el anterior punto.
4. ESTADO DEL ARTE 61
A continuacion, en la Tabla 4.8 se muestran los resultados obtenidos antes y despues de
la utilizacion de estos lexicones.
Sistema Porcentaje ( %)
Sin lexicones 83,21
Con lexicones 84,79
Tabla 4.9: Resultados del experimento 3 de carga emocional (polaridad). Fuente: Analisis de sentimientos
a nivel de aspecto usando ontologıas y aprendizaje automatico [10]
Tal y como se puede comprobar, el uso de estos lexicones consigue que el porcentaje de
acierto aumente hasta alcanzar un 84,79 % de acierto, lo cual mejora considerablemente el
modelo. Por lo que ademas de ser el mejor modelo de los tres analizados y desarrollados
hasta ahora, se puede afirmar que es un sistema fiable, ya que supera con creces el 80 %
estipulado como el mınimo para que ası lo sea.
4.2.2.2. Enfoque basado en el lexico- Diccionarios
Para analizar la carga emocional de los mensajes, otro metodo distinto al de aprendizaje
automatico consiste en el basado en diccionarios de palabras o lexicos y el uso de tecnicas
linguısticas basadas en conocimiento existente acerca del lenguaje y su estructura. En este
contexto, un diccionario consiste en un listado de terminos (bien pueden ser palabras o bien
multipalabras), los cuales ya van dotados de una determinada polaridad, intensidad y/o tipo
de emocion.
Este procedimiento requiere unos algoritmos algo mas sencillos que los utilizados en el
metodo de aprendizaje automatico. A pesar de esto, en la actualidad, se tiene el inconveniente
de que, al contrario que para el ingles, para el espanol existen pocos recursos de este tipo.
A nivel internacional existen una serie de diccionarios (o lexicones) muy desarrollados
con los que se puede obtener informacion. Alguno de estos diccionarios son los siguientes:
62 4.2. Analisis de sentimiento
Bing Liu’s Opinion Lexicon (Hu y Liu, 2004 [31]; Liu, Hu y Cheng, 2005 [32]):
Diccionario basado en el aprendizaje semiautomatico a partir de un entrenamiento
a traves de las distintas paginas web, disponible en formato digital y desarrollado
principalmente para el ingles.
SentiWordNet (Esuli y Sebastianini, 2006; Baccianella [33], Esuli y Sebastianini,
2010 [34]): Ampliamente utilizado disponible de forma publica para su uso en formato
digital. Desarrollado principalmente para el ingles, a pesar de que cada vez tiene mas
peso en otros idiomas como es el castellano.
Corpus de expresiones subjetivas Multi-perspective Question Answering
(MPQA)(Wilson, Wiebe y Hoffmann, 2005 [35]): Corpus realizado manualmente en
el que se incluyen 15.991 expresiones con sus respectivas polaridades obtenidas me-
diante experimentos de validacion cruzada, disponible en formato digital y unicamente
desarrollado para el ingles.
LIWC (Pennebaker, Mehl y Niederhoffer, 2003 [36]): El diccionario calcula el porcen-
taje de palabras dentro de un texto de acuerdo a varias docenas de categorıas en base a
un gran corpus. Desarrollado principalmente para el ingles y disponible para el publico
en su version completa por un precio aproximado de 75e.
General Inquirer (Stone, Dunphy, y Smith, 1966 [37]): Diccionario mas importante
en ingles desarrollado en los anos sesenta. Actualmente se encuentra obsoleto.
De todos los diccionarios, los dos mas utilizados actualmente son los dos primeros, Bing
Liu’s Opinion Lexicon y SentiWordNet. El enfoque de ambos, tal y como se muestra en la
Tabla 4.10 es radicalmente distinto.
4. ESTADO DEL ARTE 63
Bing Liu’s Opinion Lexicon SentiWordNet
Formado por unos 6800 terminos: Construido sobre WordNet
incluyendo palabras con faltas (Felbaum, 1998), un recurso
Vocabulario de ortografıa y expresiones lexico en el que las unidades
informales utilizadas con basicas aglutinan distintas
frecuencia en internet. que comparten un mismo significado.
Por un metodo automatico Asigna valores entre 0 y 1 de
(pero listado de polaridad de positividad y negatividad a
Constitucion las palabras es actualizado cada unidad basica. Los valores
periodicamente de forma manual). han sido calculados con un sistema
automatico a partir de un conjunto
de semillas (cada unidad basica).
Tabla 4.10: Comparacion de enfoque entre Bing Liu’s Opinion Lexicon y SentiWordNet. Fuente: Elaboracion
propia
Volviendo al conjunto de los diccionarios anteriormente enumerados, conviene recalcar
que estos se pueden separar en dos grandes grupos:
Lexicones a nivel de palabras o lemas: Estan formados por terminos con am-
biguedad semantica, esto es debido a que existe un gran numero de palabras que varıan
de significado en funcion del contexto (polisemia). De los diccionarios nombrados an-
teriormente, los que se podrıan clasificar en este tipo son: General Inquirer, MPQA y
Bing Liu’s Opinion Lexicon.
Lexicones a nivel de synsets(o unidades basicas): En este caso, cada unidad
presenta un unico significado, por lo que para resolver el problema de la polisemia se
utilizan unas herramientas de desambiguacion de significados, las cuales actualmente
tienen una precision relativamente baja. De este tipo de diccionario, el que mas destaca
es el SentiWordNet. Una gran parte de los trabajos que utilizan este tipo de diccionario
optan por calcular valores agregados de polaridad a nivel de palabras o lemas, a partir
64 4.2. Analisis de sentimiento
de todos sus posibles synsets (Taboada et al., 2011 [38]; Denecke, 2008 [39]; Martın-
Valdivia et al., 2012 [40]; Agrawal y others [41], 2009; Saggion y Funk, 2010 [42]; Kang,
Yoo, y Han, 2012 [43]; Desmet y Hoste, 2013 [44]).
Todos los diccionarios sobre los que se ha hablado hasta ahora, a pesar de que disponen de
un alto nivel de elaboracion y que proporcionan informacion muy refinada sobre la orientacion
del sentimiento de los terminos listados, tienen el inconveniente de que solo estan para
el ingles. En cambio, los diccionarios en castellano no estan tan avanzados y suelen estar
orientados hacia la polarizacion de la palabra. Por ejemplo, los diccionarios CRiSOL (Molina
Gonzalez, Martınez Camara y Martın Valdivia, 2015 [26]) y Elhuyar (Saralegi y San Vicente,
2013 [29]) unicamente clasifican los terminos segun su polaridad negativa o positiva.
Otras opciones que existen a la hora de obtener diccionarios en espanol son por ejemplo
la que se propone en Brooke, Tofiloski, y Taboada, 2009 [45], que consiste en la utilizacion
de dos recursos: un diccionario bilingue (en este caso spanishdict) y Google Traslator con
los que a partir de un lexicon en ingles se obtienen dos en espanol. Una tecnica similar a
esta es una planteada en Molina-Gonzalez et. al., 2013 [30], en la que se traduce de forma
automatica del ingles al espanol del diccionario Bing Liu’s Opinion Lexicon, ası como la
tecnica propuesta por Perez-Rosas, Banea y Mihalcea, 2012 [46], la cual es la misma que la
de Molina-Gonzalez et. al., 2013 [30], con la unica diferencia que en este caso parte de los
lexicones en ingles MPQA Subjectivity Lexicon y SentiWordNet. El principal inconveniente
de este tipo de tecnicas es que al traducir directamente las palabras del ingles al espanol
aparecen ciertos errores (ya sean de interpretacion o de ambiguedad) que se deben corregir
manualmente.
A la hora de analizar el sentimiento de una frase, este no radica exclusivamente en el
analisis semantico de cada termino por separado, sino que hay que tener en cuenta que
existen negaciones que pueden invertir la orientacion de estos, ası como se debe considerar
que existe la posibilidad de que en una misma frase coexistan terminos negativos y positivos.
Para solucionar estos problemas de los metodos basados en diccionarios, existen algunas
herramientas, entre las que destaca SentiStrength (Thelwall, Buckley y Paltoglou y Cai,
4. ESTADO DEL ARTE 65
2010 [47]; Thelwall, Buckley, Paltoglou, 2012 [48]), la cual tiene en cuenta algunas reglas
gramaticales y proporciona una doble orientacion del presente sentimiento del texto.
SentiStrength, por cada texto analizado proporciona dos valores:
1. Mide la intensidad del sentimiento positivo.
2. Mide la intensidad del sentimiento negativo.
Ambos ındices varıan de 1 a 5. Estas medidas vienen dadas en funcion de la presencia
de emociones diferentes combinadas en una unica expresion, lo cual viene propuesto por
distintos estudios empıricos psicologicos (Berrios, Totterdell y Kellett, 2015 [49]).
Ademas de la manera anteriormente mencionada de proporcionar los resultados (ındices
del 1 al 5), existen otros tres formatos:
Binario (positivo/negativo).
Trinario (positivo/negativo/neutral).
Escala simple (de -4 a 4).
Esta herramienta tiene como base de trabajo y en formato de diccionarios una serie de
archivos:
EmotionLookUpTable.txt: Listado de palabras donde cada una de ella va dotada
de un valor numerico que corresponde con el nivel de intensidad de sentimiento (valor
entre -5 y 5, donde los valores negativos corresponden a terminos con un sentimiento
negativo y los positivos con un sentimiento positivo).
EmoticonLookUpTable.txt: Listado de emoticonos donde a cada uno de ellos se le
da un valor de intensidad de sentimiento entre -5 y 5.
66 4.2. Analisis de sentimiento
NegatingWordList.txt: Listado de palabras de negacion, es decir, de terminos que
se utilizan para invertir el sentimiento de la siguiente palabra. Por ejemplo: No, nadie...
IdiomLookUpTable.txt: Listado de expresiones idiomaticas con su apendice de sen-
timiento. Por ejemplo: a duras penas...
SlangLookUpTable.txt: Listado de traducciones de expresiones coloquiales o vulga-
res. Por ejemplo: q equivale a que.
BoosterWordList.txt: Listado de modificadores de la intensidad del sentimiento.
Por ejemplo: estremadamente, muy...
Inicialmente, con la herramienta SentiStrength se consiguio una prediccion con una exac-
titud de un 60 % para sentimiento positivo y del 72 % para el negativo (Thelwall et al.,
2010 [47]). Pero gracias a un programa de mejora continua que se implemento, esta herra-
mienta cada vez esta siendo mas utilizada para analizar el sentimiento en los mensajes de
Twitter (Bhattacharya, Srinivasan y Polgreen, 2014 [50]; Ferrara y Yang, 2015 [51]; Pfitzner,
Garas y Schweitzer, 2012 [52]).
Esta mejora progresiva es debida en parte gracias a que todos los diccionarios que utiliza
son editables por cualquier usuario (sin la necesidad de tener conocimientos de programa-
cion), ası como que estos usuarios tienen la posibilidad de ajustar los pesos de cada uno
de los terminos. Algo que se deberıa recalcar sobre SentiStrength es que al tratarse de una
herramienta tan flexible, tiene la posibilidad de aplicarse para otros idiomas.
Para reflejar cual es le estado actual de la herramienta SentiStrength a continuacion se
explicara un estudio realizado por (Vilares, Thelwall y Alonso, 2015 [53]). Primeramente se
partio de un diccionario basico nutrido fundamentalmente del LIWC, al cual anadieron una
serie de adjetivos, nombres, verbos y adverbios provenientes de (Brooke et al., 2009 [45]).
Con todo esto, mediante este metodo al no realizarse un procesamiento del lenguaje natural,
hubo que anadir todas las formas asociadas a los nuevos terminos, es decir, incluir a los
sustantivos y adjetivos el masculino, femenino, singular y plural y para el caso de los verbos,
desarrollar las formas verbales. El tamano de este diccionario fue de 26.752 terminos.
4. ESTADO DEL ARTE 67
Con todo esto y con un corpus de 1.600 tweets, con un margen de precision de +/-1 se
obtuvieron los siguientes resultados:
Indices de sentimiento positivo: 79,9 %.
Indices de sentimiento negativo: 86,2 %.
Resultando una precision total del 82,1 %, ya que la probabilidad de tweets con un
sentimiento positivo y los de sentimiento negativo fue aproximadamente de un 65 % y 35 %
respectivamente.
Capıtulo 5
RESULTADOS Y DISCUSION
Al comienzo de este trabajo, se buscaba obtener informacion acerca de los mejores
metodos actuales de extraccion de informacion a traves de sistemas de microblogging, en
especıfico para la plataforma Twitter (todo esto para el idioma espanol).
Para conseguir obtener informacion fiable acerca de la opinion de los usuarios sobre un
topico u organizacion es necesario dividir el proceso en dos con sus respectivas subpartes tal
y como se explica en las secciones 4.1 y 4.2:
1. Preproceso: Consiste en adaptar las expresiones lexicas incorrectas del mensaje a
unas normalizadas. Este consta unicamente de un procedimiento:
a) Interpretabilidad de los mensajes
2. Analisis de sentimiento: Consiste en la obtencion de informacion acerca de un tema
en concreto o mas general.
a) Clasificacion del mensaje: Procedimiento donde a cada tweet se le asigna una
categorıa para posteriormente relacionar la informacion extraıda con esta.
b) Carga emocional del mensaje: A cada tweet se le dota de una carga emocional
en funcion del sentimiento que transmite analizando tres aspectos:
69
70 5.1. Preproceso final
Polaridad
Intensidad
Emocion
En este apartado del trabajo (Resultados y discusion) se explicara cual es actualmente el
modelo mas fiable (a partir de ahora, en el trabajo se le nombrara como modelo final) para
el analisis completo de esta interpretabilidad, separando los distintos procedimientos para
cada fase.
5.1. Preproceso final
5.1.1. Interpretabilidad del mensaje final
Para realizar este proceso se han valorado tres experimentos distintos (los que se han con-
siderado mas eficaces dentro de los metodos similares), cada uno con una fiabilidad distinta,
la cual viene representada en la Tabla 5.1.
EXPERIMENTO % ACIERTO
Experimento 1 de interpretabilidad de mensajes 78
Experimento 2 de interpretabilidad de mensajes 54
Experimento 3 de interpretabilidad de mensajes 70
Tabla 5.1: Porcentaje de acierto de cada experimento de Interpretabilidad. Fuente: Elaboracion propia
Tal y como se puede observar en la Tabla 5.1, el modelo mas fiable es el del experimento
1 ya que posee un porcentaje de acierto del 78 %, bastante superior al de los otros dos
experimentos.
A pesar de que aparentemente este es el mejor modelo existente, la propuesta que se
propone para realizar esta parte de interpretabilidad es una mezcla de los 3 modelos.
5. RESULTADOS Y DISCUSION 71
5.1.1.1. Propuesta Interpretabilidad del mensaje
Primeramente se deben diferenciar las expresiones lexicas IV (In Vocabulary, formas
lexicas correctamente escritas) de las OOV (Out Of Vocabulary, expresiones lexicas mal
escritas) dentro de cada tweet utilizando el analizador morfologico de la librerıa Freeling
(Padro y Stanilovsky, 2012 [13]). Este proceso debe realizarse en tres pasos:
1. Se extraen todas las cadenas de caracteres de tipo @usuario, #etiqueta, e-mail, URLs
y emoticonos y se descartan como OOV.
2. Se analiza cada una de las palabras de todos los tweets con los modulos basicos (dic-
cionarios, detector de numeros, fechas, sufijos...) y en el caso de que alguna palabra no
sea reconocida esta pasa a considerarse OOV. Para esto se deben utilizar los siguientes
lexicones (o diccionarios):
Diccionario RAE.
Lista con las 100.000 palabras mas frecuentes del BNC.
Un corpus de paginas web (Wacky).
3. Se aplican los analizadores basicos Freeling (nombrado anteriormente, tambien se uti-
liza como lematizador) y Tweetmotif (Connor, Kriegger y Ahn, 2010), y en el caso de
que alguna palabra no sea reconocida se considera OOV. Estos tokenizadores a parte
de lograr lo nombrado en los anteriores putos, tambien se utilizan para conseguir lo
siguiente:
Tweetmotif:
• Reescribir algunas expresiones regulares con el fin de contemplar el uso de
acentos, dieresis y letras especıficas en espanol como por ejemplo la letra n.
Freeling:
• Crear una funcion para permitir algunas agrupaciones, como por ejemplo:
◦ Palabras: p.e: sin embargo
72 5.1. Preproceso final
◦ Nombres propios: Luis Buades
◦ Lugares: Palma de Mallorca
◦ Fechas: 1 de Febrero de 1994
Una vez finalizada esta primera clasificacion (en la cual ya han sido corregidas algunas
expresiones), se debe pasar a la parte del proceso que se conoce como Proceso de ano-
tacion. En esta parte se empieza anotando cada OOV obtenida anteriormente. Una vez
terminada esta anotacion, cada una de las OOV se etiquetan (existen tres posibilidades)
y posteriormente en funcion de la etiqueta que se le ha dado, se realiza un procedimiento
u otro. El tipo de etiquetas que existe, ası como el procedimiento que se debe realizar en
funcion de estas se presenta en los siguientes puntos:
Correcta: no se debe modificar.
Variante: se le asigna su forma normalizada.
NoEs (otro idioma): no se debe modificar.
En esta parte del proceso, a la hora de la anotacion se deben seguir los siguientes criterios
en funcion del tipo de palabra:
Palabra incluida en la RAE
La palabra se anotara directamente como Correcta.
Nombre propio no incluido en la RAE
Existen dos opciones:
Si es un acronimo originalmente compuesto, todo en mayuscula o con alguna letra en
minuscula (p.e: CoNLL, I.B.M, IBM) se clasificara directamente como Correcta.
5. RESULTADOS Y DISCUSION 73
Si no es acronimo, existen dos opciones:
• Si lleva las letras requeridas, inicial en mayuscula y los acentos requeridos (p.e:
Luis, Castellon), entonces se clasificara como Correcta.
• Si tiene alguna falta de ortografıa o le falta algo del punto anterior (p.e: Madriz,
sevilla), entonces se clasificara como Variante y se especificara su forma correcta
(Madrid, Sevilla).
Palabra no incluida en la RAE sin ser nombre propio
En este caso existen siete opciones:
Neologismo o extranjerismo compuesto correctamente y cumple las reglas (p.e: retui-
tear, parking), se clasificara como Correcta.
Diminutivo o Superlativo escrito correctamente (p.e: grandısimo, supergrande), se cla-
sificara como Correcta.
Si existe alguna falta de ortografıa (repeticion, permutacion de letras, eliminacion...)
(p.e: cllaro, comia), se clasificara como Variante y se especificara su forma correcta
(claro, comıa).
Acortamiento o abreviatura (p.e: Mr, result), se clasificara como Variante y se especi-
ficara su forma correcta (Mıster, resultado).
Onomatopeya con alguna alteracion, dependiendo del caso se etiquetara de una forma
u otra:
• Si se simplifica y existe segun la RAE (p.e: jejejejeje→ je), entonces se clasificara
como Variante y se especificara su forma correcta.
• Si una vez simplificado se comprueba que no existe en la RAE (p.e: tssssssssss →ts), entonces se clasificara como Correcta.
74 5.1. Preproceso final
Concatenacion de palabras, se clasificara como Variante y se especificara su forma
correcta.
Expresion lexica proveniente de otro idioma, se clasificara como NoEs.
Emoticono, se clasificara como NoEs.
Este proceso se debe realizar mediante transductores de estados finitos (consiste en
automatas finitos (modelos computacionales que realizan computos de forma automatica
sobre una entrada para producir una salida)con dos cintas, una entrada y una salida) con
pesos estipulados en funcion de la composicion (variantes, posibles variantes y modelo del
lenguaje) en los cuales se deben aplicar estas reglas, utilizando para ello los diccionarios nom-
brados anteriormente (diccionario RAE [15], lista con las 100.000 palabras mas frecuentes
del BNC [16] y un corpus de paginas web (Wacky) [17]).
A continuacion, las palabras que aun no hayan sido corregidas y esten mal escritas deben
compararse mediante el tokenizador Tweetmotif, al cual se le debe dotar de un diccionario
manual en el que aparezca una lista con las expresiones gramaticalmente incorrectas mas
frecuentes, como por ejemplo la que se propone en las Tablas 5.2, 5.3, 5.4, 5.5 y 5.6.
Original Significado Traduccion ingles
100pre siempre always
a10 adios goodbye
a2 adios goodbye
ac hace (form of hacer)
aki aquı here
amr amor love
aora ahora now
asdc al salir de clase after class
Tabla 5.2: Lista propuesta de expresiones gramaticales incorrectas mas frecuentes, Parte 1. Fuente: Elabo-
racion propia
5. RESULTADOS Y DISCUSION 75
Original Significado Traduccion ingles
asias gracias thanks
b bien well, good
bb bebe baby
bbr beber to drink
bs, bss besos kisses
bye adios goodbye
b7s besitos kisses
c se, se I know (reflexive pronoun)
cam camara camera
cdo cuando when
chao, chau adios goodbye
d de from, of
d2 dedos fingers
dl del of the
dcr decir to say
dew, dw adios goodbye
dfcl difıcil difficult
dim dime tell me
dnd donde where
ems hemos we have
ers eres you are, are you
ers2 eres tu you are, are you
exo hecho fact
eys ellos they
finde fin de semana weekend
fsta fiesta party
grrr enfadado angry
Tabla 5.3: Lista propuesta de expresiones gramaticales incorrectas mas frecuentes, Parte 2. Fuente: Elabo-
racion propia
76 5.1. Preproceso final
Original Significado Traduccion ingles
hl hasta luego see you later
hla hola hello
iwal igual equal
k que, que that, what
kbeza cabeza head
kls clase class
km como as, like
kntm cuentame tell me
KO estoy muerto I’m in big trouble
kyat callate shut up
m1ml mandame un mensaje luego send me a message later
mim mision imposible mission impossible
msj mensaje message
mxo mucho a lot
nph no puedo hablar I can’t talk now
npi ni puta idea no fucking idea
npn no pasa nada nothing’s happening
pa para, padre for, father
pco poco a little
pdt pierdete get lost
pf por favor please
pls por favor please
pq porque, porque because, why
q que that, what
q acs? ¿Que haces? What are you doing?
qand, qando cuando, cuando when
qdms quedamos we’re staying
Tabla 5.4: Lista propuesta de expresiones gramaticales incorrectas mas frecuentes, Parte 3. Fuente: Elabo-
racion propia
5. RESULTADOS Y DISCUSION 77
Original Significado Traduccion ingles
q plomo! hasta luego see you later
q qrs? hola hello
q risa! igual equal
q sea que, que that, what
q tal? cabeza head
salu2 clase class
sbs? como as, like
sms cuentame tell me
spro estoy muerto I’m in big trouble
t callate shut up
tas OK? ¿Estas bien? Are you OK?
tb tambien also
tq te quiero I love you
tqi tengo que irme I have to leave
uni universidad university, college
vns? ¿Vienes? Are you coming?
vos vosotros you (plural)
wpa guapa beautiful
xdon perdon sorry
xfa por favor please
xo pero but
xq porque, porque because, why
ymam, ymm llamame call me
zzz dormir sleeping
+ mas more
:) feliz, alegre happy
:( triste sad
Tabla 5.5: Lista propuesta de expresiones gramaticales incorrectas mas frecuentes, Parte 4. Fuente: Elabo-
racion propia
78 5.1. Preproceso final
Original Significado Traduccion ingles
+o- mas o menos more or less
- menos less
:p sacar lengua tongue sticking out
;) guino wink
Tabla 5.6: Lista propuesta de expresiones gramaticales incorrectas mas frecuentes, Parte 5
Una buena opcion serıa colgar un diccionario tipo este en la plataforma Twitter, y despues
de que cada usuario escribiera un tweet, se le diera la opcion de escribir el significado de
cada expresion gramatical no normalizada que hubiera redactado.
Finalmente, para las expresiones aun no corregidas (aun siguen clasificadas como OOV)
se debe utilizar la distancia de Levenshtein (o distancia entre palabras, es el numero mınimo
de operaciones requeridas para transformar una cadena de caracteres en otra) para medir la
similitud de las cadenas. Esto se debe realizar convirtiendo cada caracter en un punto Unicode
(estandar de codificacion de caracteres disenado para facilitar el tratamiento informatico,
transmision y visualizacion de textos de multiples lenguajes y disciplinas tecnicas). Para
aplicar esto, primero se deben aplicar dos aproximaciones:
Solo los OOV con ≥4 caracteres se deben considerar para la normalizacion.
Las repeticiones seguidas excesivas de caracteres (≥3) en una palabra se deben acortar
a un unico caracter.
Para cada una de las palabras seleccionadas, se define su conjunto de confusion, para ası
conseguir que todo sean palabras de IV con una distancia de Levenshtein ≤ 2 para terminos
de caracteres y ≤ 1 para terminos de codigo de Double Metaphone, el cual consiste en un
modelado fonetico de palabras en el que se han traducido las expresiones directamente del
ingles, implementando a su vez una serie de modificaciones nombradas en el Experimento
2 de la subseccion 4.1.1 (Tabla 4.1 de Interpretabilidad de los mensajes). Para su posterior
5. RESULTADOS Y DISCUSION 79
clasificacion (y por tanto, para la obtencion de su significado real) se utiliza un metodo similar
al de Han, Cook y Baldwin (2012) [4], donde el contexto es representado por bigramas de
posicion-ındices mediante una ventana de tamano de ±2 tokens, donde la similitud se mide
usando la divergencia KL (Kullback-Leibler, consiste en una medida no simetrica de la
semejanza o diferencia entre dos funciones de distribucion P y Q, es decir, mide el numero
esperado de extra bits requeridos en muestras de codigo de P cuando se usa un codigo basado
en Q, en lugar de un codigo basado en P).
Aplicando este metodo se generan una serie de candidatos (cada uno con distintas proba-
bilidades de que sean correctas) para suplir a esa expresion OOV. Cuando se identifica una
correcta normalizacion suele aparecer una gran diferencia en la divergencia KL entre los dos
primeros terminos y la precision de acierto en cuanto a acertar la IV correcta (por estudios
experimentales, se sabe que la mejor precision es del 94 % y se obtiene cuando la diferencia
es de 1,9).
Aplicando todo esto se ha estimado que el porcentaje de acierto rondara entre el 80 % y
el 94 %, por lo que se concluye que se obtiene un porcentaje de acierto aproximado del 87 %.
5.2. Analisis de sentimiento final
5.2.1. Clasificacion del mensaje final
Para la realizacion de este proceso, a pesar de que se han encontrado numerosas solu-
ciones, en el trabajo unicamente se ha analizado una, junto a la cual se ha desarrollado un
modelo complementario, obteniendo las fiabilidades que se muestran en la Tabla 5.7, esto
es ası puesto que existe una diferencia abismal en cuanto a porcentaje de acierto entre este
metodo y el resto existentes para el espanol. Por tanto, se ha decido implementar este mismo
anadiendo unicamente una serie de mejoras para esta parte del modelo final.
80 5.2. Analisis de sentimiento final
EXPERIMENTO % ACIERTO
Experimento de Clasificacion de mensajes 75,6
Experimento + Complementario 83
Tabla 5.7: Porcentaje de acierto de cada experimento de Clasificacion. Fuente: Elaboracion propia
5.2.1.1. Propuesta Clasificacion del mensaje
Para iniciar este proceso lo primero que se debe hacer es seleccionar la actividad (o topico)
o el conjunto de actividades, bien sea una organizacion o departamento en concreto o bien
otro tipo de categorıa, dependiendo de lo que se quiera analizar.
Independientemente del caso, el modelo sera practicamente igual, ya que lo unico que
variara es el hecho de tener que especificar al principio las categorıas deseadas, ası como o
bien, seleccionar sus palabras clave o bien las direcciones que se le quieren dar al modelo si
se desea aplicar un aprendizaje automatico o semiautomatico.
Una vez seleccionados cada uno de los topicos en los que se desea que se clasifique cada
mensaje, se pasa a utilizar la herramienta WEKA (Waikato Environment for Knowledge
Analysis, entorno para analisis del conocimiento de la Universidad de Waikato en espanol),
la cual consiste en una plataforma de software para el aprendizaje automatico y la minerıa
de datos escrito en Java, a su vez el metodo que se debe emplear es el SMO mediante la
librerıa libSVM. Este modelo consiste en un clasificador que funciona de la siguiente forma:
lo que hace es analizar cada mensaje, extrayendo la probabilidad de que pertenezca a cada
uno de los topicos, por lo que finalmente el mensaje se clasifica en funcion de la clase mas
probable (porcentaje mas elevado) proporcionada por estos clasificadores.
Para analizar estos mensajes que posteriormente se van a clasificar se deben utilizar los
lemas de los tweets cuya frecuencia en un conjunto representativo de entrenamiento sea
mayor o igual a 1 (f≥1) y cuya categorıa gramatical sea verbo o nombre.
Uno de los principales problemas que surgen es el caso en que el nombre de una organi-
5. RESULTADOS Y DISCUSION 81
zacion tenga un significado ambiguo, es decir, que la propia palabra no siempre se refiera a
la empresa. Para resolver este problema se debe aplicar WePS-3, el cual consiste en la vi-
sualizacion de los resultados del sistema que son utiles para comprender el comportamiento
del sistema (sesgos variables).
Para esto, previamente se deben seleccionar un conjunto clave de palabras para cada
organizacion o topico objeto de estudio, ası como se debe implementar un clasificador SVM
(o maquina de vector de soporte, consiste en un conjunto de algoritmos de aprendizaje
supervisado).
Aplicando todo esto, se alcanza un ındice de fiabilidad de aproximadamente un 88 %.
5.2.2. Carga emocional del mensajes final
Para la realizacion de este proceso del modelo se han valorado distintos experimentos,
estos experimentos seleccionados han sido los mas eficaces realizados con las dos tipos de
tecnicas mas desarrolladas actualmente:
Aprendizaje automatico
Enfoque basado en el lexico - Diccionarios
A continuacion, en la Tabla 5.8 se muestran la fiabilidad de cada uno de estos experi-
mentos.
TIPO TECNICA EXPERIMENTO % ACIERTO
Experimento 1 de aprendizaje automatico 67
Aprendizaje automatico Experimento 2 de aprendizaje automatico 72
Experimento 3 de aprendizaje automatico 85
Lexico - Diccionarios Experimento de enfoque basado en el lexico 82
Tabla 5.8: Porcentaje de acierto de cada experimento de Carga emocional. Fuente: Elaboracion propia
82 5.2. Analisis de sentimiento final
Tal y como se puede observar en la Tabla 5.8, el modelo mas fiable es el del Experimento 3
de aprendizaje automatico, el cual posee un porcentaje de acierto del 85 %, significativamente
superior al de los otros dos experimentos de aprendizaje automatico y ligeramente mejor que
el experimento de enfoque basado en el lexico.
A pesar de que cada unos de estos metodos funcionan de forma diferente, en todos ellos
trata de analizarse la polaridad de cada uno de los mensajes, la cual se suele dividir en 6 en
funcion del sentimiento que estos transmitan:
N: Polaridad negativa de baja intensidad
N+: Polaridad negativa de alta intensidad
P: Polaridad positiva de baja intensidad
P+: Polaridad positiva de intensidad
NEU: Polaridad neutra
NONE: Ausencia de polaridad
La propuesta que se sugiere es una mezcla de las tecnicas utilizada en el modelo 3 de
aprendizaje automatico y de las usadas en el experimento de enfoque basado en el lexico.
5.2.2.1. Propuesta Carga emocional del mensaje
La finalidad principal de este metodo es la mencionada anteriormente, clasificar los men-
sajes en funcion del sentimiento (o polaridad) que transmiten (N, N+, P, P+, NEU, NO-
NE).Para llegar a esto, se deben utilizar las herramientas WEKA y scikit-leran (incluyen
una serie de algoritmos de aprendizaje automatico y ambas se complementan) con el algo-
ritmo SVM (consiste en un conjunto de algoritmos de aprendizaje supervisado) tipo lineal
(Hurtado et al., 2015 [25]) a traves de las librerıas y clasificadores LibSVM y LibLinear, cuyo
software a sido desarrollado en Python. A la hora de implementar esto, inicialmente se debe
5. RESULTADOS Y DISCUSION 83
utilizar la aproximacion bag of words (representa cada uno de los mensajes como un vector
de caracterısticas que contiene las frecuencias de las propiedades seleccionadas) ası como se
deben tener en cuenta las siguientes caracterısticas:
1. Considerar unicamente unigramas (un unigrama equivale a una palabra del mensaje
del tweet) de lemas obtenidos en el preproceso de los tweets con una mınima frecuencia
establecida anteriormente (f).
2. Considerar los hashtags (#tag) como una caracterıstica.
3. Considerar las menciones a usuarios (@user) como una caracterıstica.
4. Unificar el conjunto de los numeros como una caracterıstica.
5. Unificar todas las fechas como una caracterısticas.
6. Unificar los signos de puntuacion como una caracterıstica.
7. Sustituir cada emoticono por su categorıa previamente establecida (happy, sad, tongue,
wink y other, en espanol, contento, triste, lengua, guino y otro respectivamente).
8. Considerar solo como caracterıstica los tokens de cierta categorıa morfosintactica prees-
tablecida (selPOS ).
9. Utilizar como recurso externo, lexicos de polaridad de lemas y palabras (DIC ).
10. Excluir terminos pertenecientes a ciertas categorıas morfosintacticas poco significativas
para el analisis de sentimiento.
Una vez esto claro, lo primero que se debe hacer es determinar el contexto de cada aspecto
a traves de una ventana fija definida, de longitud 3 palabras tanto a la derecha como a la
izquierda del aspecto que se quiere analizar (Pla y Hurtado, 2014 [28]).
Este sistema propuesto necesita un entrenamiento previo del clasificador, aunque lo mas
eficiente es utilizar el realizado por Carlos Hernandez, Ferran Pla, Lluıs-F. y Jaime Guzman,
2017 [27].
84 5.2. Analisis de sentimiento final
Una vez realizado este procedimiento, se ha pensado que lo mejor es comparar los resul-
tados obtenidos con los que se van a obtener mediante un enfoque basado en el lexico, es
decir con diccionarios.
Para analizar la carga emocional a partir de estos diccionarios, se propone la herramien-
ta SentiStrength (Thelwall, Buckley, Paltoglou y Cai, 2010 [47] ; Thelwall, Buckley y
Paltoglou, 2012 [48]), la cual utiliza los siguientes lexicones:
SentiWordNet (Esuli y Sebastianini, 2006 [33]; Baccianella, Esuli y Sebastianini, 2010
[34]).
Corpus de expresiones subjetivas Multi-perspective Question Answering (MPQA)(Wilson,
Wiebe y Hoffmann, 2005 [35]).
Esta herramienta dota cada mensaje de un ındice que variara de 1 a 5 tanto para pola-
ridades positivas como para negativas (en este caso el ındice sera negativo). Por lo que para
compararlo con la nomenclatura propuesta en el metodo de aprendizaje automatico se ha
decidido equiparar cada tipo de polaridad tal y como se detalla en la Tabla 5.9
Indice de polaridad (-5 a 5) Equiparacion polaridad
-5 y -4 N+
-3 y -2 N
-1 y 1 NEU
2 y 3 P
4 y 5 P+
No se sabe NONE
Tabla 5.9: Adecuacion de la nomenclatura segun la intensidad de la polaridad. Fuente: Elaboracion propia
A la hora de ejecutar esta herramienta se debe verificar que se ejecutan el conjunto de
archivos que se presentan a continuacion:
5. RESULTADOS Y DISCUSION 85
EmotionLookUpTable.txt: Listado de palabras donde cada una de ella va dotada
de un valor numerico que corresponde con el nivel de intensidad de sentimiento (valor
entre -5 y 5, donde los valores negativos corresponden a terminos con un sentimiento
negativo y los positivos con un sentimiento positivo).
EmoticonLookUpTable.txt: Listado de emoticonos donde a cada uno de ellos se le
da un valor de intensidad de sentimiento entre -5 y 5.
NegatingWordList.txt: Listado de palabras de negacion, es decir, de terminos que
se utilizan para invertir el sentimiento de la siguiente palabra. Por ejemplo: No, nadie...
IdiomLookUpTable.txt: Listado de expresiones idiomaticas con su apendice de sen-
timiento. Por ejemplo: a duras penas...
SlangLookUpTable.txt: Listado de traducciones de expresiones coloquiales o vulga-
res. Por ejemplo: q equivale a que.
BoosterWordList.txt: Listado de modificadores de la intensidad del sentimiento.
Por ejemplo: estremadamente, muy...
Una de las principales ventajas de los diccionarios que utiliza esta herramienta es que son
facilmente editables por cualquier usuario (sin necesidad de conocimiento de programacion),
ası como estos tienen la posibilidad de ajustar los pesos de cada uno de los terminos.
Una vez finalizado este segundo experimento, se deben contrastar los dos metodos em-
pleados y en funcion de los resultados que se obtengan en esta comparacion, al tweet se
le va a asignar definitivamente una polaridad u otra. A continuacion, en la Tabla 5.10 se
muestran las posibles comparativas ası como su asignacion final, donde las polaridades X e
Y se refieren a cualquiera de las nombradas anteriormente (N, P, NEU, NONE).
86 5.3. Fiabilidad del modelo
Aprendizaje automatico Lexico Clasificacion final
Polaridad X Polaridad X Polaridad obtenida
Polaridad X Polaridad Y Polaridad X (posterior revision manual)
No encontrado Polaridad Y Polaridad Y
Polaridad X No encontrado Polaridad X
Tabla 5.10: Resultados posibles obtenidos a la hora de dotar de una carga emocional a un mensaje. Fuente:
Elaboracion propia
Lo mas destacable que se puede observar en esta Tabla 5.10 es que en caso de que las
polaridades obtenidas sean distintas, se ha decidido decantarse por la obtenida mediante el
aprendizaje automatico, esto es ası, debido a que actualmente este metodo posee una mayor
fiabilidad. A pesar de esto, en un futuro es posible que esto cambie debido a que cada vez
hay mas usuarios que van anadiendo nuevas palabras con sus respectivos pesos de polaridad
en los diccionarios utilizados por la herramienta SentiStrength, por lo que puede ser que este
metodo llegue a superar en cuanto a fiabilidad al de aprendizaje automatico (aunque este
tambien evoluciona constantemente).
Aplicando este metodo se ha calcula que el porcentaje de acierto sera de aproximadamente
de un 90 %.
El principal problema que tienen los metodos propuestos es que al ser cada uno de
ellos una mezcla de diferentes procedimientos, los recursos que se deberan destintar seran
significativamente mas elevados.
5.3. Fiabilidad del modelo
La fiabilidad que se puede obtener para cada uno de los metodos propuestos (Interpre-
tabilidad del mensaje, Clasificacion del mensaje y Carga emocional del mensaje) de forma
independiente se puede apreciar en la Tabla 5.11.
5. RESULTADOS Y DISCUSION 87
Procedimiento Porcentaje acierto ( %)
Interpretabilidad 87
Clasificacion 88
Carga emocional 90
Tabla 5.11: Probabilidad de acierto de cada uno de los metodos de forma independiente. Fuente: Elaboracion
propia
A pesar de que cada modelo ha sido analizado de forma independientemente, a la hora
de la extraccion de informacion de los mensajes es muy frecuente analizar mas de un aspecto
conjuntamente. Por lo que aplicando cada uno de los metodos explicados, en funcion del tipo
de analisis que se desee realizar se tendra una fiabilidad u otra, la cual depende directamente
del porcentaje de acierto obtenido de cada uno por separado. En la Tabla 5.12 se puede
observar cual sera esta fiabilidad en funcion del tipo de analisis que se desee realizar (X
significa que se quiere realizar ese procedimiento mientras que ∅ es que no).
Interpretabilidad Clasificacion Carga emocional Probabilidad acierto ( %)
X X X 68,90
X X ∅ 76,56
X ∅ X 78,30
X ∅ ∅ 87
∅ X X 79,2
∅ X ∅ 88
∅ ∅ X 90
Tabla 5.12: Probabilidad de acierto en funcion de los procedimientos que se quieran implementar. Fuente:
Elaboracion propia
Como es logico, cuanto mas exhaustivo sea el analisis que se quiera realizar, menor sera la
probabilidad de obtener conclusiones correctas, mientras que si unicamente se desea realizar
un procedimiento la fiabilidad sera mucho mayor.
88 5.4. Discusion de otras propuestas de mejora
5.4. Discusion de otras propuestas de mejora
Para obtener una mayor probabilidad de acierto en cada uno de estos procesos se propo-
nen una serie de implementaciones no tratadas hasta ahora. Estas se desarrollan brevemente
en un apartado independiente, ya que son aspectos apenas estudiados y de muy comple-
ja solucion. Todas estas propuestas, no son unicamente aplicables a Twitter, sino que son
extrapolables a distintas plataformas de microblogging.
5.4.1. Interpretacion de imagenes
En numerosas ocasiones, en este tipo de plataformas, los mensajes van acompanados de
imagenes. Estas imagenes bien pueden aportar informacion sobre la polaridad del mensaje
o bien pueden ayudar en la clasificacion, aunque es para este segundo caso para el que se
cree que mas pueden repercutir. Es por eso que para analizar estas imagenes se proponen
distintos metodos en funcion del caso:
Imagen extraıda de Internet
Se debe rastrear el origen de la web de donde ha sido extraıda la imagen a partir del
enlace de esta. Con ello se obtendrıa el tema de la imagen, el cual podrıa ser ya el topico
que se desee analizar o bien un tema clave para conseguir llegar a ese topico.
Un ejemplo podrıa ser la imagen que se observa en la Figura 5.1. El modelo, primero
deberıa rastrear el origen de esta imagen, en este caso es Amazon compra de iPhone [6], y
posteriormente, mediante la informacion disponible se deberıa relacionar con su topico. En
el caso de lo que se quiera analizar es iPhone, se deberıa relacionar directamente, en cambio,
si se desea analizar la imagen corporativa de la empresa Apple, iPhone serıa una palabra
clave que servirıa como puente para llegar a esta clasificacion.
5. RESULTADOS Y DISCUSION 89
Figura 5.1: Ejemplo de imagen de un iPhone extraıda de Internet. Fuente: Amazon [6]
Imagen propia
En este caso, el extraer informacion de la imagen es algo mas complejo, puesto que al no
poder rastrearse su origen, no se pueden encontrar palabras clave que ayuden a clasificarla,
por lo que la mejor opcion serıa utilizar algun tipo de programa de identificacion y compa-
racion de imagenes, el cual permita relacionar esa imagen con el ambito, ya bien sea con la
palabra exacta o con alguna palabra clave en esa clasificacion.
5.4.2. Interpretacion de mensajes ironicos
A la hora de analizar la carga emocional de un mensaje, uno de los errores mas frecuentes
es el debido a las expresiones ironicas por parte de alguno de los usuarios. Ya que en ocasiones,
a pesar de que aparentemente parezca que se esta expresando una opinion concreta, en
realidad se esta expresando justo lo contrario. Vease el ejemplo de expresion ironica de la
Tabla 5.13.
90 5.4. Discusion de otras propuestas de mejora
Expresion Como me gusta que no este la aplicacion para ios
Significado Descontento porque no esta la aplicacion para ios
Polaridad N
Tabla 5.13: Ejemplo de expresion ironica. Fuente: Elaboracion propia
Conseguir acertar cuando un mensaje denota ironıa no es algo trivial, ya que esta no
siempre sigue una estructura clara y muchas veces el contexto puede resultar un tanto am-
biguo. Es por todo esto, que para tratar de descifrar cuando un mensaje es o no es ironico
de forma automatica se plantea la siguiente propuesta:
Una vez realizado el proceso de asignacion de carga emocional, el modelo debe analizar
distintos aspectos relacionados con el usuario y el mensaje en cuestion:
Analisis del usuario en cuestion: para ası obtener una idea acerca de sus preferen-
cias y gustos y ver si el tema del mensaje se asemeja a estos o si por lo contrario, el
tema es contradictorio. Para este analisis se deben investigar distintos aspectos:
• Usuarios a los que sigue.
• Mensajes anteriores del propio usuario.
Respuestas de otros usuarios a ese mensaje: ası se puede obtener una idea clara
y concisa acerca de cual es realmente la opinion que se tiene acerca de eso. El principal
inconveniente de este aspecto es que en numerosas ocasiones, los mensajes en Twitter
no tienen respuestas.
Una vez realizado esto, si se comprueba que tanto el usuario no es afın a ese producto
o servicio en concreto y/o que las respuestas expresan una opinion contraria a la que se ha
dotado inicialmente al mensaje, el modelo debe modificar su polaridad.
Realizar este proceso para cada uno de los mensajes cuando se quieren analizar un gran
numero de ellos no es factible, ya que requiere destinar muchos recursos y el tiempo de
5. RESULTADOS Y DISCUSION 91
analisis sera muy superior a si no se hiciera, ası como la mejora que se consigue en el modelo
no es muy significativa. Por tanto, a no ser que se desee obtener un ındice de fiabilidad muy
alto independientemente de lo recursos destinados no merece la pena implementarlo.
5.4.3. Interpretacion de mensajes en otro idioma cooficial del te-
rritorio espanol
Otro problema que surge es a la hora de analizar ciertos mensajes de usuarios perte-
necientes a territorios espanoles donde el idioma espanol comparte cooficialidad con otra
lengua (catalan, euskera o gallego), esto es debido a que en numerosas ocasiones, el mensaje
es escrito mezclando los dos idiomas o bien unicamente utilizando la otra lengua.
Figura 5.2: Mapa con lenguas oficiales de cada territorio espanol. Fuente: Slide Player [7]
La resolucion de este problema es algo muy complejo, puesto que que al tratarse de
idiomas con expresiones y normas gramaticales distintas, no se puede emplear el modelo
hasta ahora propuesto.
92 5.4. Discusion de otras propuestas de mejora
Para resolver esta cortapisa que genera esta mezcla de idiomas, la medida propuesta es la
de tratar de desarrollar un diccionario de interpretabilidad conjunto, en el que se abarquen
terminos y expresiones de cada una de las lenguas anteriormente nombradas. Esta solucion
no es factible a corto plazo, por lo que podrıa proponerse para ser realizada en un futuro.
Capıtulo 6
CONCLUSION
Las conclusiones principales de este trabajo, vienen determinadas del analisis exhaustivo
realizado de los distintos metodos existentes en la actualidad de intepretabilidad y analisis
de mensajes.
De los primeros metodos analizados en el Estado del arte (capıtulo 2), los modelos mas
fiables tenıan las siguientes probabilidades de acierto:
1. Preproceso:
a) Interpretabilidad del mensaje: 78 %
2. Analisis de sentimiento:
a) Clasificacion del mensaje: 83 %
b) Carga emocional del mensaje: 85 %
Una vez analizados y desarrollados estos en profundidad, junto con los otros explicados
en ese mismo capıtulo (Estado del arte). Implementando los mejores procedimientos de cada
uno de ellos, ası como introduciendo algunas innovaciones, se han disenado y explicado
unos modelos con unas probabilidades de acierto significativamente superiores, las cuales se
muestran a continuacion:
93
94
1. Preproceso:
a) Interpretabilidad del mensaje final: 87 %
2. Analisis de sentimiento:
a) Clasificacion del mensaje final: 88 %
b) Carga emocional del mensaje final: 90 %
En definitiva, esta fiabilidad es muy similar a la existente actualmente para los metodos
de analisis de mensajes en ingles (los mas desarrollados a dıa de hoy), con lo cual, podemos
concluir que, los metodos propuestos en este trabajo, tanto para la interpreta-
bilidad como para la clasificacion y carga emocional se pueden considerar como
fiables.
Por tanto, tal y como se ha explicado en la seccion 5.3 (Fiabilidad del modelo), estos
metodos suelen ser complementarios a la hora de realizar un estudio a partir de mensajes
en twitter, obteniendo distintos porcentajes de acierto en funcion del analisis que se quiera
realizar, esta fiabilidad variable se muestra en la Tabla 5.11 de ese mismo apartado.
Capıtulo 7
LINEAS FUTURAS
El desarrollo tecnologico es algo que esta a la orden del dıa, ası como existe un aumento
exponencial anual de la utilizacion de las redes sociales.
A pesar de que estos metodos de analisis de mensajes actualmente son bastante eficaces
(no 100 % fiable), se espera que en los proximos anos se perfeccionen los metodos actuales
existentes para la resolucion de este problema de fiabilidad, ası como el desarrollo de otros
nuevos para cada uno de los procedimientos necesarios para este analisis.
A continuacion se comenta brevemente las mejoras que se esperan desarrollar en un futuro
cercano para cada uno de los procedimientos necesarios para la interpretabilidad y analisis
de sentimiento de mensajes en Twitter.
Interpretabilidad de los mensajes
Faltarıan unos diccionarios con errores gramaticales comunes mas extenso, ası como
metodos mas efectivos para la correccion de palabras mal redactadas poco comunes, co-
mo podrıa ser a traves de un diccionario basado en el aprendizaje automatico, algo cada vez
mas utilizado en otros campos y de lo que se espera un gran desarrollo a medio plazo.
95
96
Clasificacion de los mensajes
Creacion de un diccionario extenso escrito de forma manual o bien mediante aprendizaje
automatico con las palabras clave de cada uno de los topicos ası como la correlacion entre
estas palabras, por si estas aparecen de forma conjunta en un mismo texto. Esto permitira
aumentar notablemente la fiabilidad de este procedimiento.
Carga emocional de los mensajes
AL igual que en los otros procedimientos, en un futuro se espera que se aumenten los
terminos incluidos en los diccionarios, ası como una gran mejora de la eficacia y eficiencia
del aprendizaje automatico, llegando a minimizar los errores que se producen actualmente
al aplicar este tipo de tecnicas.
Por ende, se espera que en un futuro se lleguen a minimizar tanto los errores actualmente
producidos, que se llegue a alcanzar practicamente el 100 % de fiabilidad a la hora de extraer
informacion de los mensajes de plataformas de microblogging como es el Twitter.
Otras mejoras
Otras mejoras y/o avances que se deben realizar para complementar los apartados expli-
cados anteriormente son los detallados en la subseccion 5.3 (Discusion de otras propuestas
de mejora). Estas mejoras son las que se enumeran a continuacion, acompanados de una
breve explicacion:
Diseno de un modelo mas efectivo para la interpretacion de imagenes, tanto para
rastrear imagenes procedentes de la propia red como para analizar fotografıas propias
subidas por los usuarios.
Diseno de un modelo mas efectivo para el analisis e interpretacion de mensajes ironicos,
ya bien sea mediante sistemas de aprendizaje automatico o a traves de analisis mas
eficientes de los distintos usuarios.
Diseno de un modelo que permita complementar las expresiones y formas gramatica-
les procedentes de lenguas cooficiales de todo el territorio espanol (catalan, eusker y
7. LINEAS FUTURAS 97
gallego) con los mensajes de usuarios de esas zonas en cuestion.
En definitiva, cualquier idea o mejora que permita alcanzar un modelo mas efectivo y/o
eficiente en cuanto a fiabilidad se refiere sera algo positivo para acercarse a un modelo 100 %
fiable.
Capıtulo 8
PLANIFICACION TEMPORAL Y
PRESUPUESTO
A continuacion, se procede a analizar cuanto tiempo se ha empleado en la realizacion de
este proyecto y cual es su presupuesto.
En la Tabla 8.1 se observa de forma desglosada cuales han sido las tareas llevadas a cabo,
ası como el numero de horas dedicadas a cada una de ellas. Posteriormente, a partir de esta,
se ha realizado un diagrama de Gantt, el cual se muestra en la Figura 8.1.
ACTIVIDAD INICIO FIN HORAS
Busqueda de artıculos y trabajos 15/07/2017 30/09/2017 35
Lectura de toda esta informacion 20/09/2017 30/10/2017 90
Analisis, verificacion y comparacion de los metodos 30/10/2017 10/11/2017 20
Seleccion de los mejores metodos para cada caso 10/11/2017 17/11/2017 10
Seleccion del mejor sistema posible 05/12/2017 10/12/2017 5
Memoria 20/10/2017 31/01/2018 140
TOTAL 15/07/2017 31/01/2018 300
Tabla 8.1: Lista de plazos y dedicacion de las tareas relativas al presente TFG. Fuente: Elaboracion propia
99
100
Figura 8.1: Diagrama de Gantt del presente proyecto. Fuente: Elaboracion propia
8. PLANIFICACION TEMPORAL Y PRESUPUESTO 101
En cuanto al coste del proyecto, ya que no se han consumido recursos bibliograficos de
pago, los recursos que computan en el mismo son la dedicacion del alumno y la utilizacion
de otros como pueden ser las distintas licencias necesarias, la matriculacion... Estos costes
se pueden contemplar a continuacion en las Tablas 8.2, 8.3.
RECURSO HORAS e/HORA COSTE
Alumno 300 12 3.600 e
TOTAL 3.600 e
Tabla 8.2: Costes del trabajo realizado por el alumno. Fuente: Elaboracion propia
RECURSO COSTE
Licencia anual Office 100 e
Matricula TFG 350 e
Impresion 55 e
Otros gastos 100 e
TOTAL 605 e
Tabla 8.3: Costes del material utilizado. Fuente: Elaboracion propia
Por tanto, los gastos totales, uniendo tanto los de recursos humanos como los de material
utilizado, ası como incluyendo los gastos generales, los atribuidos al beneficio industrial y
aplicando el IVA del 21 % correspondiente, son de 6.128,21e, tal y como se muestra en la
Tabla 8.4.
102
RECURSO COSTE
Costes humanos 3.600 e
Costes materiales 605 e
Gastos generales 400 e
Beneficio Industrial 460 e
Iva (21 %) 1.063,21 e
TOTAL 6.128,21 e
Tabla 8.4: Costes totales del proyecto. Fuente: Elaboracion propia
Bibliografıa
[1] Manuel Moreno, “www.trecebits.com,” 1 de Enero de 2017.
[2] Cristina Rıos, “www.redes-sociales.com,” 5 de Marzo del 2014.
[3] Guadalupe Moreno, “www.statista.com,” 27 de Abril de 2017.
[4] B. Han, P. Cook, and T. Baldwin, “unimelb: Spanish text normalisation,” CEUR Works-
hop Proceedings, vol. 1086, pp. 32–36, 2013.
[5] T. Baviera, “Tecnhiques for sentiment analysis in twitter : Supervised learning and
sentistrength,” Dıgitos, pp. 33–50, 2016.
[6] Amazon, “www.amazon.com,” Enero de 2018.
[7] Slide player, “www.slideplayer.es,” Enero de 2013.
[8] Git Hub, “www.github.com,” 4 de Marzo de 2013.
[9] F. Pla and L. F. Hurtado, “Elirf-upv en tass-2013 analisis de sentimientos en twitter,”
TASS, pp. 220–227, 2013.
[10] C. Henr and D. Vera, “Analisis de sentimientos a nivel de aspecto usando ontologıas y
aprendizaje automatico aspect-based sentiment analysis using ontologies and machine
learning,” Procesamiento del Lenguaje Natural, vol. 59, pp. 49–56, 2017.
[11] I. Alegria, N. Aranberri, V. Fresno, P. Gamallo, L. Padro, I. S. Vicente, J. Turmo, and
A. Zubiaga, “Introduccion a la tarea compartida tweet-norm 2013: Normalizacion lexica
de tuits en espanol,” CEUR Workshop Proceedings, vol. 1086, pp. 1–9, 2013.
103
104 BIBLIOGRAFIA
[12] L. Hurtado and F. Pla, “Elirf-upv en tass 2016: Analisis de sentimientos en twitter,”
CEUR Workshop Proceedings, vol. 1702, pp. 47–51, 2016.
[13] L. Padro and E. Stanilovsky, “Towards wider multilinguality,” Proceeings of the Lan-
guage Resources and Evaluation Conference, vol. LREC 2012, 2012.
[14] J. Porta and J. L. Sancho, “Word normalization in twitter using finite-state transduc-
tors,” Process of the Tweet Normalization Workshop at SEPLN 2013, vol. IV Congreso
Espanol de Informatica, 2013.
[15] RAE, Diccionario de la lengua espanola. Espana, 22th ed., 2001.
[16] BNC, The Bitish National Corpus, www.natcorp.ox.ac.uk. Oxford University Com-
puting Services on behalf of the BNC Consotium, 2 ed., 2001.
[17] M. Baroni, S. Bernardini, A. Ferraresi, and E. Zanchetta, “The wacky wide web: A
collection of very large linguistically processed,” Kluwer Academic Publishers, pp. 1–22,
2009.
[18] P. Gamallo, M. Garcıa, and J. R. Pichel, “A method to lexical normalisation of tweets,”
Process of the Tweet Normalization Workshop at SEPLN 2103, vol. IV Congreso Es-
panol de Informatica, 2013.
[19] A. Ageno, P. R. Comas, L. Padro, and J. Turmo, “The talp-upc approach to tweet-norm
2013,” Process of the Tweet Normalization Workshop at SEPLN 2103, vol. IV Congreso
Espanol de Informatica, 2013.
[20] O’Connor, Brenda, M. Kriegger, and D. Ahn, “Tweetmotif: Exploratory search and
topic summarization fot twitter,” Proceeding of Fourth International AAAI Conference
on Weblogs and Social Media, pp. 384–385, 2010.
[21] I. H. Witten, E. Frank, L. Trigg, M. Hall, G. Holmes, and S. J. Cunningham, “Weka:
Practical machine learning tools and techniques with java implementations,” 1999.
[22] E. Frank, M. Hall, G. Holmes, R. Kirby, B. Pfahringer, and H. Ian, “Weka-a machine
learning workbench for data mining,” Springer Science+Business Media, pp. 1269–1271,
2010.
BIBLIOGRAFIA 105
[23] D. Spina, E. Amigo, and J. Gonzalo, “Filter keywords and majority class strategies for
company name disambiguation in twitter,” Lecture Notes in Computer Science, vol. 6941
LNCS, pp. 50–61, 2011.
[24] F. Bravo-Marquez, M. Mendoza, and B. Poblete, “Meta-level sentiment models for big
social data analysis,” Knowledge-Based Systems, vol. 69, pp. 86–99, 2014.
[25] L. Hurtado, F. Pla, and D. Buscaldi, “Elirrf-upv at tass 2015: Sentiment analysis in
twitter,” TASS 2015, pp. 75–79, 2015.
[26] E. Martınez-Camara, J. Villena-Roman, J. Garcıa-Morera, M. A. Garcıa-Cumbreras,
M. T. Martın-Valdivia, and L. A. Urna-Lopez, “Overview of tass 2015,” 2015.
[27] C. Henrıquez, F. Pla, L. Hurtado, and J. Guzman, “Aspect-based sentiment analysis
using ontologies and machine learning,” Procesamiento del Lenguaje Natural, vol. 59,
pp. 49–56, 2017.
[28] F. Pla and L. F. Hurtado, “Political tendency identification in twitter using sentiment
analysis techniques,” Proceedings of COLING 2014, the 25th International Conference
on Computational Linguistics: Technical Papers, pp. 183–192, 2014.
[29] X. Saralegi and I. S. Vicente, “Elhuyar at tass 2013,” Proceedings of the TASS workshop
at SEPLN 2013, vol. IV Congreso Espanol de Informatica, pp. 143–150, 2013.
[30] M. D. Molina-Gonzalez, E. Martınez-Camara, M. M. Valdivia, and J. M. Perea-Ortega,
“Semantic orientation for polarity classi
cation in spanish reviews,” Expert Systems with Applications, vol. 40, pp. 7250–7257,
2013.
[31] M. Hu and B. Liu, “Mining and summarizing customer reviews,” KDD ’04: Proceedings
of the tenth ACM SIGKDD, pp. 168–177, 2004.
[32] B. Liu, M. Hu, and J. Cheng, “Opinion observer: Analyzing and comparing opinions on
the web,” Proceedings of WWW, 2005.
106 BIBLIOGRAFIA
[33] A. Esuli and F. Sebastianini, “Fabrizio sebastiani. 2006. sentiwordnet: A publicly avai-
lable lexical resource for opinion mining,” Proceedings of Language Resources and Eva-
luation (LREC), 2006.
[34] S. Baccianella, A. Esuli, and F. Sebastianini, “Sentiwordnet 3.0: An enhanced lexical
resource for sentiment analysis and opinion mining,” Proceedings of the Seventh confe-
rence on International Language Resources and Evaluation. ELRA, 2010.
[35] T. Wilson, J. Wiebe, and P. Hoffmann, “Recognizing contextual polarity in phrase-level
sentiment analysis,” Proceedings of the HLT/EMNLP, pp. 347–354, 2005.
[36] J. W. Pennebaker, M. R. Mehl, and K. G. Niederhoffer, “Psychological aspects of natural
language use: Our words, our selves,” Annual Review of Psychology, vol. 54, pp. 547–577,
2003.
[37] Stone, J. Philip, D. C. Dunphy, and M. S. Smith, “The general inquirer: A computer
approach to content analysis,” 1966.
[38] M. Taboada, J. Brooke, M. Tofiloski, K. Voll, and M. Stede, “Lexicon-based methods
for sentiment analysis,” Computational linguistics, vol. 37, pp. 267–307, 2011.
[39] Denecke and Kerstin, “Using sentiwordnet for multilingual sentiment analysis,” Data
Engineering Workshop, 2008. ICDEW 2008, pp. 507–512, 2008.
[40] M. Valdivia, M. Teresa, E. Martınez, J. M. Perea, and L. A. Urena, “Sentiment pola-
rity detection in spanish reviews combining supervised and unsupervised approaches,”
Expert Systems with Applications, 2012.
[41] S. Agrawal, “Using syntactic and contextual information for sentiment polarity analy-
sis,” Proceedings of the 2nd International Conference on Interaction Sciences: Informa-
tion Technology, Culture and Human, pp. 620–623, 2009.
[42] H. Saggion and A. Funk, “Interpreting sentiwordnet for opinion classi
cation,” Proceedings of the Seventh conference on International Language Resources and
Evaluation LREC10, 2010.
BIBLIOGRAFIA 107
[43] Kang, Hanhoon, S. J. Yoo, and D. Han, “Senti-lexicon and improved naive bayes algo-
rithms for sentiment analysis of restaurant reviews,” Expert Sys-tems with Applications,
vol. 39, pp. 6000–6010, 2012.
[44] B. Desmet and V. Hoste, “Emotion detection in suicide notes,” Expert Sys-tems with
Applications, 2013.
[45] J. Brooke, M. Tofiloski, and M. Taboada, “Cross-linguistic sentiment analysis: From
english to spanish,” Proceedings of the 7th International Conference on Recent Advances
in Natural Language Processing, Borovets, pp. 50–54, 2009.
[46] V. Perez-Rosas, C. Banea, and R. Mihalcea, “Learning sentiment lexicons in spanish,”
LREC, pp. 3077–3081, 2012.
[47] M. Thelwall, K. Buckley, and G. Paltoglou, “Sentiment strength detection for the social
web,” Journal of the American Society for Information Science and Technology, vol. 63,
pp. 163–173, 2012.
[48] M. Thelwall, K. Buckley, and G. Paltoglou, “Sentiment strength detection for the social
web,” Journal of the American Society for Information Science and Technology, vol. 63,
p. 163–173, 2012.
[49] R. Berrios, P. Totterdell, and S. Kellett, “Eliciting mixed emotions: a meta-analysis
comparing models, types, and measures,” Frontiers in Psychology, vol. 6, 2015.
[50] S. Bhattacharya, P. Srinivasan, and P. Polgreen, “Engagement with health agencies on
twitter,” PLoS ONE, vol. 9, 2014.
[51] E. Ferrara and Z. Yang, “Measuring emotional contagion in social media,” PLoS ONE,
vol. 10, 2015.
[52] R. Pfitzner, A. Garas, and F. Schweitzer, “Emotional divergence influences information
spreading in twitter,” Conference on Weblogs and Social Media, 2012.
[53] D. Vilares, M. Thelwall, and M. A. Alonso, “The megaphone of the people? spanish
sentistrength for real-time analysis of political tweets,” Journal of Information Science,
vol. 41, p. 799–813, 2015.