scieee Science in your language
[es] (orig)

Análisis Automatizado de sentimientos en YouTube: Un enfoque basado en Machine Learning

Abstract

El propósito fundamental de este Trabajo de Fin de Grado radica en examinar detenidamente los sentimientos de la población en torno a un tema polémico, haciendo uso de modelos y técnicas de machine learning con el fin de extraer información relevante y realizar un análisis exhaustivo de la opinión pública. Las redes sociales, como Twitter o YouTube, se presentan como fuentes de información excepcionalmente valiosas para captar la percepción sobre diversos temas, independientemente de su temática o naturaleza. Por lo tanto, los comentarios que conformarán nuestro corpus de análisis serán extraídos de una de estas dos plataformas, como detallaremos más adelante. Una vez obtenidos estos comentarios, se requerirá llevar a cabo un proceso de preprocesamiento que incluirá una limpieza de texto, eliminando elementos como emoticonos, marcas de tiempo y demás información no relevante. Posteriormente, se realizará un procesamiento de lenguaje natural con el objetivo de transformar los comentarios en datos que un modelo de aprendizaje automático pueda utilizar de manera efectiva. Una vez completado este preprocesamiento, se procederá a la selección de diversos modelos de aprendizaje y a su correspondiente entrenamiento. La elección de estos modelos es crucial, especialmente en el ámbito de análisis de sentimientos, donde algunos modelos son más apropiados para esta casuística que otros, como se detallará en los capítulos siguientes. En nuestro caso particular, hemos optado por emplear seis modelos distintos, los cuales analizaremos posteriormente. Esta cantidad nos proporciona una variedad suficiente para llevar a cabo un entrenamiento completo y contar con diversas opciones al momento de realizar nuestro análisis final. En la etapa final, llevaremos a cabo la evaluación de todos los modelos, comparando sus métricas y extrayendo atributos esenciales del conjunto de datos. Entre estos atributos se incluyen las palabras más relevantes para cada clase, el balance de clases en sí, así como métricas clave como precisión, exhaustividad y puntuación F1. Herramientas adicionales, como la matriz de confusión de cada modelo, servirán como referencia para seleccionar el modelo que mejor se ajuste a nuestro conjunto de datos, permitiéndonos realizar análisis de sentimientos futuros con un alto nivel de precisión.

Read accessible full text

Análisis Automatizado de sentimientos en YouTube: Un enfoque basado en Machine Learning

Author: Villacorta de Aza, Jorge; Tabernero Pérez, Alejandro; Mata Fernández de Valderrama, Alonso
Year: 2024
Source: https://docta.ucm.es/bitstreams/47519b25-76d2-44f6-9cd4-5c504668078d/download
Análisis Au oma izado de sen imien os en
YouTube: Un en oque basado en Machine
Lea ning
Au oma ed Sen imen Analysis on YouTube: A
Machine Lea ning App oach
T abajo de Fin de G ado
Cu so 2023–2024
Au o es
Jo ge Villaco a
Alejand o Tabe ne o
Alonso Ma a
Di ec o es
Me cedes Ga cía Me ayo
Manuel Méndez Hu ado
G ado en Ingenie ía In o má ica
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Análisis Au oma izado de sen imien os en
YouTube: Un en oque basado en Machine
Lea ning
Au oma ed Sen imen Analysis on
YouTube: A Machine Lea ning App oach
T abajo de Fin de G ado en Ingenie ía In o má ica
Au o es
Jo ge Villaco a
Alejand o Tabe ne o
Alonso Ma a
Di ec o es
Me cedes Ga cía Me ayo
Manuel Méndez Hu ado
Con oca o ia: Junio 2024
G ado en Ingenie ía In o má ica
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Dedica o ia
A nues a amilia, po su apoyo incondicional
y no pe de la e en noso os

Ag adecimien os
A Manuel y Me cedes po su guía y ayuda du an e odo el desa ollo del p o-
yec o, a nues os pad es po odo el apoyo emocional p opo cionado, a Nina po no
desespe a se con los pe iodos de es és, y a odos los que nos han ayudado a llega
has a aquí.
ii
Resumen
Análisis Au oma izado de sen imien os en YouTube:
Un en oque basado en Machine Lea ning
El p opósi o undamen al de es e T abajo de Fin de G ado adica en examina
de enidamen e los sen imien os de la población en o no a un ema polémico, hacien-
do uso de modelos y écnicas de machine lea ning con el in de ex ae in o mación
ele an e y ealiza un análisis exhaus i o de la opinión pública. Las edes sociales,
como Twi e o YouTube, se p esen an como uen es de in o mación excepcionalmen-
e aliosas pa a cap a la pe cepción sob e di e sos emas, independien emen e de su
emá ica o na u aleza. Po lo an o, los comen a ios que con o ma án nues o co pus
de análisis se án ex aídos de una de es as dos pla a o mas, como de alla emos más
adelan e. Una ez ob enidos es os comen a ios, se eque i á lle a a cabo un p oceso
de p ep ocesamien o que inclui á una limpieza de ex o, eliminando elemen os como
emo iconos, ma cas de iempo y demás in o mación no ele an e. Pos e io men e,
se ealiza á un p ocesamien o de lenguaje na u al con el obje i o de ans o ma
los comen a ios en da os que un modelo de ap endizaje au omá ico pueda u iliza
de mane a e ec i a. Una ez comple ado es e p ep ocesamien o, se p ocede á a la
selección de di e sos modelos de ap endizaje y a su co espondien e en enamien-
o. La elección de es os modelos es c ucial, especialmen e en el ámbi o de análisis
de sen imien os, donde algunos modelos son más ap opiados pa a es a casuís ica
que o os, como se de alla á en los capí ulos siguien es. En nues o caso pa icula ,
hemos op ado po emplea seis modelos dis in os, los cuales analiza emos pos e io -
men e. Es a can idad nos p opo ciona una a iedad su icien e pa a lle a a cabo
un en enamien o comple o y con a con di e sas opciones al momen o de ealiza
nues o análisis inal. En la e apa inal, lle a emos a cabo la e aluación de odos los
modelos, compa ando sus mé icas y ex ayendo a ibu os esenciales del conjun o de
da os. En e es os a ibu os se incluyen las palab as más ele an es pa a cada clase,
el balance de clases en sí, así como mé icas cla e como p ecisión, exhaus i idad
y pun uación F1. He amien as adicionales, como la ma iz de con usión de cada
modelo, se i án como e e encia pa a selecciona el modelo que mejo se ajus e a
nues o conjun o de da os, pe mi iéndonos ealiza análisis de sen imien os u u os
con un al o ni el de p ecisión.
ix

Índice de igu as
1.1. Diag amadeGan ............................ 3
3.1. sc ip P incipal.............................. 11
3.2. Ex acción de comen a ios . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3. Combinación de a chi os CSV . . . . . . . . . . . . . . . . . . . . . . 12
3.4. Fo ma eodeTex o ............................ 13
3.5. De eccióndeIdioma ........................... 14
3.6. Análisis de Sen imien o . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.7. Análisis de Sen imien o . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1. K-Nea es Neighbou s . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2. k=1 en eak=3 ........................... 21
4.3. k=5 en eak=7 ........................... 22
4.4. Ca ga de da os y ain- es spli . . . . . . . . . . . . . . . . . . . . . 23
4.5. Vec o ización K-Nea es Neighbou s . . . . . . . . . . . . . . . . . . . 23
4.6. G id sea ch y c eación del modelo . . . . . . . . . . . . . . . . . . . . 23
4.7. Código pa a c ea la ma iz de con usión del K-NN . . . . . . . . . . 23
4.8. Código pa a mos a los esul ados . . . . . . . . . . . . . . . . . . . 24
4.9. Código pa a ca ga los da os . . . . . . . . . . . . . . . . . . . . . . . 26
4.10. Código de la ec o ización . . . . . . . . . . . . . . . . . . . . . . . . 26
4.11. Código de la c eación, en enamien o y p edicciones . . . . . . . . . 26
4.12. Código ma iz de con usión . . . . . . . . . . . . . . . . . . . . . . . 26
4.13. Código Tabla de mé icas . . . . . . . . . . . . . . . . . . . . . . . . 26
4.14.RandomFo es .............................. 27
4.15. Código del modelo Random Fo es (En enamien o) . . . . . . . . . . 31
4.16. Código del modelo Random Fo es (Mé icas) . . . . . . . . . . . . . 31
4.17. Mé icas as ejecución con T -Id . . . . . . . . . . . . . . . . . . . . 31
4.18. Mé icas as ejecución del modelo con Coun Vec o ize . . . . . . . . 31
4.19.Funciónsigmoide............................. 32
4.20. Mé icas de la eg esión logís ica . . . . . . . . . . . . . . . . . . . . . 35
4.21. Código del modelo Reg esión Logís ica Mul iclase (En enamien o) . 36
4.22. Código del modelo Reg esión Logís ica Mul iclase (Mé icas) . . . . . 36
x ii
4.23. Tipos de Ke nel pa a SVM [1] . . . . . . . . . . . . . . . . . . . . . 37
4.24. Código pa a la ec o ización y p epa ación del da ase de los modelos
SVM.................................... 38
4.25. Código pa a la búsqueda de pa áme os con G idSea ch en el modelo
SVMconSVC............................... 40
4.26. Código del modelo SVM con SVC . . . . . . . . . . . . . . . . . . . . 40
4.27. Código pa a la isualización de los esul ados del modelo SVM con
SVC .................................... 40
4.28. Código de búsqueda de pa áme os con G idSea ch pa a el modelo
SVMconO R............................... 41
4.29. Código del modelo SVM con O R . . . . . . . . . . . . . . . . . . . . 41
4.30. Código pa a la isualización de los esul ados . . . . . . . . . . . . . 41
4.31. A qui ec u a y amaño de los modelos BERT [2] . . . . . . . . . . . . 42
4.32. A qui ec u a de los modelos BERT pa a a eas de clasi icación [3] . . 44
4.33. ConFigu a uso de GPU . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.34. Código pa a ca ga el modelo y okenizado de BERT-base . . . . . . 45
4.35. Código pa a ca ga los da os de commen s. x . . . . . . . . . . . . . 45
4.36. Código pa a p epa a los da os de en ada al modelo . . . . . . . . . 45
4.37. Código pa a di idi da ase de en enamien o y e aluación . . . . . . 46
4.38. Código pa a c ea el op imizado y el schedule pa a el en enamien o
ye aluaciónpo épocas ......................... 46
4.39. Código pa a di idi da ase de en enamien o y e aluación . . . . . . 46
4.40. Código pa a el en enamien o del modelo po lo es . . . . . . . . . . . 47
4.41. Código de el en enamien o y la e aluación po épocas . . . . . . . . 48
4.42. Código de la unción e alua eBes Model ................ 48
4.43. Código pa a di idi da ase de en enamien o y e aluación . . . . . . 48
5.1. Ma iz de con usión del KNN . . . . . . . . . . . . . . . . . . . . . . 53
5.2. Resul adosdelKNN ........................... 54
5.3. Ma iz de con usión del Mul inomial Nai e Bayes . . . . . . . . . . . 55
5.4. Ma iz de con usión del Random Fo es con Coun Vec o ize . . . . . 57
5.5. Ma iz de con usión de Random Fo es con T -Id . . . . . . . . . . . 58
5.6. Ma iz de con usión de la eg esión logís ica . . . . . . . . . . . . . . 59
5.7. In o me de mé icas del modelo SVM con SVC . . . . . . . . . . . . . 59
5.8. Ma iz de con usión del modelo SVM con SVC . . . . . . . . . . . . . 60
5.9. In o me de las mé icas pa a el modelo SVM con O R . . . . . . . . 61
5.10. Ma iz de con usión del Modelo SVM con O R . . . . . . . . . . . . . 61
5.11. In o me de las mé icas pa a el modelo BERT . . . . . . . . . . . . . 62
5.12. Ma iz de con usión del Modelo BERT . . . . . . . . . . . . . . . . . 64
6.1. Código inicial pa a la in e p e ación del modelo BERT con IG de
Cap um .................................. 66
6.2. Salida del código de la igu a 6.1 . . . . . . . . . . . . . . . . . . . . . 66
6.3. Función de o wa d de la igu a 6.1 adap ada . . . . . . . . . . . . . . 66
6.4. Salida del código con la unción o wa d de la igu a 6.3 adap ada . . 66
6.5. Llamada a la unción a ibu e adap ada pa a esol e el e o de la
igu a6.4 ................................. 66
6.6. Salida pa a la llamada a a ibu e de la igu a 6.5 . . . . . . . . . . . 67
6.7. Código pa a ob ene las palab as más impo an es po Sen imien o . 68
6.8. Palab as más impo an es po sen imien o . . . . . . . . . . . . . . . 68
6.9. Código pa a ob ene las palab as más impo an es exclusi as po Sen-
imien o .................................. 69
6.10. Palab as más impo an es pa a la clase nega i a . . . . . . . . . . . . 69
6.11. Palab as más impo an es pa a la clase neu al . . . . . . . . . . . . . 69
6.12. Palab as más impo an es pa a la clase posi i a . . . . . . . . . . . . 70
6.13. Dis ibución de sen imien o en e los comen a ios más popula es . . . 72
6.14. Palab as más usadas en los comen a ios más popula es . . . . . . . . 73
6.15. Código pa a mos a las palab as más impo an es de cada clase . . . 73
6.16. Código pa a mos a ins ancias inco ec as . . . . . . . . . . . . . . . 74
6.17. Palab as más impo an es pa a la clase nega i a . . . . . . . . . . . . 74
6.18. Palab as más impo an es pa a la clase posi i a . . . . . . . . . . . . 74
6.19. Palab as más impo an es pa a la clase neu al . . . . . . . . . . . . . 75
6.20. Palab as más impo an es pa a las clases nega i a, neu al y posi i a 75
6.21.Ins anciase óneas ............................ 75
6.22. Top 10 palab as en ex os mal clasi icados po sen imien o . . . . . . 76
6.23. Top 10 palab as en ex os mal clasi icados . . . . . . . . . . . . . . . 76
Índice de ablas
3.1. Módulos del sc ip p incipal....................... 10
3.2. Módulos del sc ip de ex acción de comen a ios con la API de YouTube 11
3.3. Módulos del sc ip de combinación de iche os .cs . . . . . . . . . . . 12
3.4. Módulos del sc ip de limpieza y o ma eo de los comen a ios . . . . . 13
3.5. Módulos del sc ip de de ección de idioma . . . . . . . . . . . . . . . 14
3.6. Módulos del sc ip de de ección de sen imien o . . . . . . . . . . . . . 15
3.7. Módulos del sc ip de okenización y lema ización . . . . . . . . . . . 18
4.1. Módulos u ilizados en la implemen ación del K-Nea es Neighbou s . 22
4.2. Módulos u ilizados en la implemen ación de Mul inomial Nai e Bayes 25
4.3. Módulos u ilizados en la implemen ación de Random Fo es . . . . . 30
4.4. Módulos u ilizados en la implemen ación de eg esión logís ica . . . . 34
4.5. Módulos u ilizados en la implemen ación del modelo SVM . . . . . . 39
4.6. Módulos u ilizados en la implemen ación del modelo BERT . . . . . . 49
5.1. Mé icas de clasi icación K Nea es Neighbou s . . . . . . . . . . . . . 54
5.2. Mé icas de clasi icación K-Nea es Neighbou s . . . . . . . . . . . . . 54
5.3. Mé icas de clasi icación Mul inomial Nai e Bayes . . . . . . . . . . . 55
5.4. P omedios de mé icas de clasi icación Mul inomial Nai e Bayes . . . 55
5.5. Mé icas de clasi icación Random Fo es con Coun Vec o ize . . . . . 56
5.6. Mé icas a e age de Random Fo es con Coun Vec o ize . . . . . . . 57
5.7. Mé icas de clasi icación Random Fo es con T -Id . . . . . . . . . . 57
5.8. Mé icas a e age pa a Random Fo es con T -Id . . . . . . . . . . . . 57
5.9. Mé icas de clasi icación Reg esión Logís ica . . . . . . . . . . . . . . 59
5.10. Mé icas a e age de Reg esión Logís ica . . . . . . . . . . . . . . . . . 59
5.11. Mé icas de clasi icación del modelo SVM con SVC . . . . . . . . . . 60
5.12. Mé icas globales del modelo SVM con SVC . . . . . . . . . . . . . . 60
5.13. Mé icas de clasi icación po clase . . . . . . . . . . . . . . . . . . . . 62
5.14.Mé icasp omedio ............................ 62
5.15. Mé icas de clasi icación po clase pa a el modelo BERT . . . . . . . 62
5.16. Mé icas p omedio pa a el modelo BERT . . . . . . . . . . . . . . . . 63
xxi

Cap´
ı ulo 1
In oducción
“Nues a in eligencia es lo que nos hace humanos, y la IA es
una ex ensión de esa cualidad”
— Yann LeCun
Es amos en la que p obablemen e sea la época de mayo conexión in e pe sonal
de la his o ia de la humanidad, en e el siglo XX y XXI se han conseguido g andes
hi os cul u ales, la in ención de la adio, el ansis o , el mic op ocesado o In e ne .
Es e úl imo in en o ha condicionado el p esen e y u u o de nues a especie de una
o ma que nadie pudo imagina , po ejemplo, nadie se imagina ya un mundo en el
que no exis an aplicaciones como Google Maps pa a escoge al ins an e la mejo
u a en una ciudad en la que nunca habíamos es ado. Mucha gen e ni siquie a se
in o ma a a és de medios con encionales como la ele isión o el pe iódico, con-
siguen oda la in o mación a a és de medios digi ales o edes sociales. Hay edes
sociales en e amen e dedicadas a exp esa opiniones como po ejemplo Twi e , o in-
cluso You ube es habi áculo de medios de comunicación independien es, in luence s
y demás hablado es.
El ema elegido pa a ealiza el es udio es Open AI, buscamos comp ende cómo
la gen e pe cibe y eacciona an e la compañía y cómo sus emociones y sen imien os
e olucionan con el iempo. Pa a log a lo, ecopila emos una g an can idad de da os
u ilizando écnicas de web sc aping y los clasi ica emos en unción del sen imien o
que ansmi en. Pos e io men e, usa emos di e en es modelos de clasi icación pa a
p oba y alida nues o análisis con los da os ob enidos.
Aunque es e en oque se cen a especí icamen e en comen a ios de YouTube, c ee-
mos que p opo ciona á pe cepciones aliosas sob e los sen imien os en o no a Open
AI. Es amos segu os de que los da os ob enidos de es as uen es o ece án una com-
p ensión in eg al de la opinión pública.
En esumen, nues o es udio con ibui á al c ecien e cue po de in es igación so-
b e el análisis de sen imien os de da os en edes sociales y p opo ciona á in o mación
sob e las emociones y opiniones del público elacionadas con Open AI.
1
2Capí ulo 1. In oducción
1.1. Mo i ación
Open AI ha pasado del absolu o desconocimien o po pa e del g an público a
se uno de los emas más hablados en odo ipo de e ulias y deba es, an o a ni el
académico como en cí culos más ín imos. Las discusiones en o no a es a compañía
y sus p oduc os, siendo Cha GPT el más ele an e de odos, aba can desde el u u o
de la humanidad has a esis que p oponen ees uc u a los mé odos de ap endizaje
en odas las e apas del ciclo educa i o. Debido al in e és susci ado po Open AI
en odas las es e as de las sociedad, es un ema ideal pa a ealiza un es udio pa a
a a de encon a y analiza emociones y sen imien os exp esados po los usua ios
en comen a ios de ídeos de You ube elacionados con Open AI aplicando écnicas
so is icadas de p ocesamien o del lenguaje na u al.
1.2. Obje i os
El in p incipal de es a in es igación es e alua las emociones y pun os de is a
que los usua ios exp esan en YouTube sob e el impac o de las IAs en nues a socie-
dad, más conc e amen e que impac o iene la emp esa OpenAI, desa ollado a de la
IA más popula a día de hoy, Cha GPT. Median e es e análisis de allado, p e ende-
mos de e mina la opinión de la sociedad espec o a es e ema, además de ob ene
una isión más p o unda de las ca ac e ís icas de las di e en es opiniones y ayu-
da nos a comp ende en p o undidad como uncionan es os modelos y que en ajas
ienen en e ellos.
1.3. Plan de abajo
Es e p oyec o se ha di idido en cinco g andes e apas, las cuales e an dependien es
unas de o as. Es a dependencia ha p o ocado que se hayan ido ealizando de mane a
secuencial, a excepción del desa ollo de es a memo ia que se ealizó de mane a
concu en e al es o de e apas.
Es udio inicial: En es a e apa el equipo se amilia izó con el p oyec o, ha-
ciendo lec u as sob e análisis de sen imien os en edes sociales, di e en es ipos
de modelos que se pueden emplea e in es igando que emas nos podían se
de u ilidad. Es a úl ima pa e ue algo p oblemá ica más adelan e ya que se
cambió de ema debido a di icul ades pa a p ocesa y analiza ex os en espa-
ñol ya que la g an mayo ía de he amien as es án p epa adas pa a ex os en
inglés.
Selección de He amien as: T as el es udio inicial, el equipo se hizo una idea
de como en oca el p oyec o y en es a nue a ase se es udia on los di e en es
ipos de he amien as que se podían usa pa a lle a lo acabo. T as muchas
p uebas con di e en es ipos de he amien as pa a Twi e , desde Twin has a
Tweepy se desis ió, ya que con los cambios en la pla a o ma el acceso a la
API e a de pago y es e hecho es á en con a de los p incipios mo ales del
1.3. Plan de abajo 3
equipo. Se seleccionó You ube como ed social pa a ealiza el es udio debido
a la ape u a de su API y la acilidad pa a ex acción de da os. T as p oba
a ias he amien as como Oc opa se, nos decan amos po un acceso di ec o
a la API de You ube a a és de sc ip s de Py hon. Depués in es igamos
sob e he amien as como Tex Blob o S anza, pa a ealiza el análisis de los
sen imien os y e ique a los a ibu os, pe o inalmen e decidimos usa NLTK
debido a su sencillez y anspa encia.
P ep ocesamien o: Es a e apa, que inicialmen e no se conside ó que ue a
a se demasiado labo iosa, esul ó se una de las más complejas y la gas en el
iempo en é minos de desa ollo. P ime o ealizamos la selección de odos los
ídeos del ema o iginal en español, y una ez ob u imos odos los da os de
nues o da ase descub imos que la mayo ía de las he amien as de análisis de
sen imien os sólo uncionaban con ex o en inglés, lo que p o ocó que ealizá-
amos el cambio de ema a algo más in e nacional. T as es o la elabo ación de
los sc ip s equi ió de a eas de es udio de Py hon pa a pode elabo a los de
la mejo mane a posible.
En enamien o: En es a ase del p oyec o, hicimos uso de los da os p ep o-
cesados pa a en ena los modelos. T as el es udio inicial eníamos una idea de
los modelos más popula es empleados en el ámbi o del análisis de sen imien o,
pe o en es a ase se ealizó un es udio más en p o undidad de dichos modelos.
Se p oba on a ios modelos y se in en ó mejo a odo lo posible los esul ados
ob enidos, has a selecciona los más ele an es pa a es e abajo.
E aluación de los esul ados: T as en ena los modelos de la o ma más
óp ima posible, llegó el momen o de es udia los esul ados ob enidos pa a
saca las conclusiones del p oyec o. Se diseña on sc ip s pa a c ea g á icas
con da os que el equipo encon ó ele an es y ep esen a i as.
Documen ación: Es a e apa se co esponde con el desa ollo de la memo ia
del p oyec o. Se in en ó, den o de lo posible, que ue a a la pa con las a eas
de desa ollo del p oyec o.
En la igu a 1.1 podemos ap ecia de mane a g á ica el desa ollo del p oyec o.
Figu a 1.1: Diag ama de Gan
10 Capí ulo 3. Ex acción de los Da os
Modulo Lib e ía Desc ipción
os os Funcionalidades dependien es del sis ema ope a i o.
subp ocess subp ocess pe mi e lanza nue os p ocesos y conec a se a sus pipes
de en ada/salida/e o .
sys sys Funciones y a iables que in e ac úan con el sis ema
ope a i o.
Tabla 3.1: Módulos del sc ip p incipal
3.1. sc ip p incipal
El sc ip p incipal, que apa ece en la Figu a 3.1, se enca ga de adminis a un
a chi o CSV p opo cionado como a gumen o del sc ip , así como el a chi o de ex o
mencionado an e io men e. Es e sc ip lle a a cabo di e sas modi icaciones en el
a chi o CSV de des ino. En esumen, coo dina y ejecu a odas las ases de ex ac-
ción y p ep ocesado de los comen a ios. En una p ime a ase, se eliminan odos los
a chi os CSV exis en es p e iamen e, en caso de que no sea la p ime a ez que se
ejecu a el sc ip y se necesi e elimina a chi os no ele an es. Luego, en un bucle, se
ex aen los comen a ios de cada ídeo, los cuales se combinan pos e io men e en un
único a chi o CSV des ino, aquel que ha sido suminis ado como a gumen o. Una
ez ex aídos los comen a ios y combinados en nues o a chi o CSV de des ino, se
da po inalizada la ex acción y empieza la e apa pu amen e de p ep ocesado, con
pasos como la limpieza del ex o, de ección de sen imien o e idioma, okenización
y lema ización. Al inaliza la ejecución de es e sc ip , end emos nues o conjun o
de da os p epa ado pa a el en enamien o de nues os modelos de ap endizaje au o-
má ico. En la Tabla 3.1 se pueden obse a los módulos u ilizados un poco más de
allados, que son os [4], subp ocess [5], y sys.
3.2. Ex acción de comen a ios
Es e sc ip , ilus ado en la Figu a 3.2, oma como a gumen o el ID del ídeo
del cual se desean ex ae los comen a ios. Pos e io men e, p ocede a ex ae los
comen a ios usando la API y de YouTube y el modulo eques s de Py hon [6], ha-
ciendo sc oll en los comen a ios del ídeo pa a ob ene odos los comen a ios dis-
ponibles (sin con a las espues as a los comen a ios), g acias al sopo e HTML que
o ece eques s [7]. En e la in o mación ex aída, se incluye el nomb e del usua io
que esc ibió cada comen a io, el núme o de likes que iene dicho comen a io, y el
comen a io en sí. Es a in o mación se gua da en un a chi o CSV con el o ma o
ideoID_commen s.cs . El sc ip se ejecu a de mane a i e a i a según la can idad
de iden i icado es de ídeo p opo cionados en un a chi o de ex o especí ico. En la
Tabla 3.2 se pueden obse a los módulos u ilizados.

3.3. Combinación de a chi os CSV 11
Figu a 3.1: sc ip P incipal
Modulo Lib e ía Desc ipción
pandas pandas Manipulación y análisis de da os de mane a e icien e y á-
cil.
eques s eques s Facili a el en ío de solici udes HTTP y la ges ión de apli-
caciones web.
sys sys Funciones y a iables que in e ac úan con el sis ema ope-
a i o.
Tabla 3.2: Módulos del sc ip de ex acción de comen a ios con la API de YouTube
3.3. Combinación de a chi os CSV
Es e sc ip sencillo, como se puede ap ecia en la Figu a 3.3, iene la unción de
combina odos los a chi os CSV gene ados po el sc ip an e io , co espondien es
a cada ídeo. Los usiona en un solo a chi o CSV, cuyo nomb e se p opo ciona como
a gumen o. La impo ancia de es e sc ip adica en su capacidad pa a simpli ica
el abajo, pe mi iéndonos maneja odos nues os da os de mane a e icien e en un
solo a chi o. A pa i de es e paso, odas las ases de p ep ocesado se ejecu a án en
es e a chi o obje i o. En la Tabla 3.3 se pueden obse a los módulos u ilizados.
3.4. Fo ma eo de Tex o
Después de ex ae y consolida odos los da os en un único a chi o, p ocedemos
con la limpieza de es a in o mación. Dado que nues o en oque se cen a exclusi-
12 Capí ulo 3. Ex acción de los Da os
Figu a 3.2: Ex acción de comen a ios
Modulo Lib e ía Desc ipción
os os Funcionalidades dependien es del sis ema ope a i o.
pandas pandas Manipulación y análisis de da os de mane a e icien e y á-
cil.
sys sys Funciones y a iables que in e ac úan con el sis ema ope-
a i o.
Tabla 3.3: Módulos del sc ip de combinación de iche os .cs
Figu a 3.3: Combinación de a chi os CSV
3.5. De ección de Idioma 13
Modulo Lib e ía Desc ipción
h ml h ml U ilidades pa a modi ica HTML.
pandas pandas Manipulación y análisis de da os.
e e Ope aciones de coincidencia de exp esiones egula es [9]
sys sys Funciones y a iables que in e ac úan con el sis ema ope-
a i o.
Tabla 3.4: Módulos del sc ip de limpieza y o ma eo de los comen a ios
amen e en los comen a ios, la limpieza se ealiza únicamen e en la columna que
con iene es os comen a ios. Es a e apa se dedica p incipalmen e a elimina in o ma-
ción no necesa ia, como emo iconos, ma cas HTML, imes amps y cualquie o o
con enido del comen a io que no sea una palab a álida pa a el u u o en enamien-
o. Es o p incipalmen e se puede ealiza u ilizando exp esiones egula es [8]. Como
esul ado de es a ope ación, la columna de comen a ios expe imen a una modi ica-
ción, almacenando aho a únicamen e el ex o plano del comen a io. En la Figu a 3.4
se ilus a el sc ip empleado pa a es e p oceso. En la Tabla 3.4 se pueden obse a
los módulos u ilizados.
Figu a 3.4: Fo ma eo de Tex o
3.5. De ección de Idioma
Al abaja con comen a ios de YouTube, nos en en amos a la posibilidad de
que es os comen a ios es én edac ados en di e sos idiomas, lo que pod ía complica
el p ep ocesado del ex o. La p esencia de a ios idiomas en el conjun o de da os
pod ía aumen a conside ablemen e la complejidad compu acional de odo el sc ip .
Po es a azón, hemos omado la decisión de uni ica odos los comen a ios en un
único idioma empleando el sc ip ep esen ado en la Figu a 3.5, g acias al modulo
14 Capí ulo 3. Ex acción de los Da os
Modulo Lib e ía Desc ipción
langde ec langde ec De ección de idioma
os os Funcionalidades dependien es del sis ema ope a i o.
pandas pandas Manipulación y análisis de da os.
sys sys Funciones y a iables que in e ac úan con el sis ema
ope a i o.
Tabla 3.5: Módulos del sc ip de de ección de idioma
lang-de ec [10]. Dado que la emá ica y la mayo ía de los ídeos se encuen an
en inglés, hemos op ado po que odos los comen a ios en nues o co pus es én
en es e idioma. Los comen a ios que no es én en inglés son eliminados del co pus.
Aunque es a decisión pod ía esul a en la pé dida de in o mación, el po cen aje
de comen a ios en o os idiomas es muy pequeño, lo que no ep esen a un iesgo
o incon enien e signi ica i o pa a el u u o en enamien o de da os. O a en aja
de ealiza el en enamien o en ingles, es que exis en muchas más he amien as
ac ualizadas en ingles que en español o en o o idioma, con lo cual disponemos de
más posibilidades pa a ealiza un en enamien o ealmen e pe sonalizado. En la
Tabla 3.5 podemos obse a los módulos u ilizados en es e sc ip .
Figu a 3.5: De ección de Idioma
3.6. Análisis de Sen imien o
Después de es anda iza el idioma del co pus, a anza emos con el análisis de
sen imien o con el p opósi o de ob ene una a iable obje i o que sea ú il pa a el
pos e io en enamien o de los da os. Es a a iable obje i o se ep esen a median e
una columna de clases mul inominales, lo que implica que un comen a io puede se
3.6. Análisis de Sen imien o 15
Modulo Lib e ía Desc ipción
nl k nl k Conjun o de biblio ecas y p og amas pa a el p ocesamien o
del lenguaje na u al.
pandas pandas Manipulación y análisis de da os.
sys sys Funciones y a iables que in e ac úan con el sis ema ope-
a i o.
Tabla 3.6: Módulos del sc ip de de ección de sen imien o
clasi icado en más de dos ca ego ías. En es e con ex o, un comen a io puede se
e ique ado como “Posi i o”, “Nega i o” o “Neu al”. Es e sc ip esul a undamen al,
ya que los comen a ios en sí no poseen un a ibu o que indique su sen imien o,
po lo que es necesa io ag ega lo pa a que los modelos de ap endizaje au omá ico
dispongan de una a iable/a ibu o obje i o en el que basa se.
El análisis de sen imien o es c ucial en la mine ía de ex o, ya que pe mi e
ex ae in o mación aliosa sob e la ac i ud de los usua ios hacia de e minados e-
mas o p oduc os. Con la inco po ación de es a a iable obje i o, nues os da os
es án p epa ados pa a se u ilizados en el en enamien o y e aluación de modelos de
ap endizaje au omá ico, los cuales pod án ap ende pa ones y elaciones en e el
ex o de los comen a ios y sus espec i os sen imien os, mejo ando así su capacidad
de p edicción en u u as ins ancias.
Pa a el análisis de sen imien o, hemos u ilizado NLTK (Na u al Language Tool-
ki ), una biblio eca de p ocesamien o de lenguaje na u al en Py hon [11]. NLTK
p opo ciona he amien as y ecu sos pa a abaja con ex o, incluyendo unciona-
lidades especí icas pa a el análisis de sen imien o [12]. Al emplea es a biblio eca,
hemos lle ado a cabo a eas como okenización, lema ización e incluso ec o ización,
aunque es a ul ima la dejamos a ca go de cada modelo. Todo el p oceso se ealiza en
el sc ip ilus ado en la Figu a 3.6. En la Tabla 3.6 podemos obse a los módulos
u ilizados en es e sc ip .
Figu a 3.6: Análisis de Sen imien o

16 Capí ulo 3. Ex acción de los Da os
3.7. Tokenización y lema ización
Una ez de e minado el sen imien o de cada comen a io, que quizás sea el paso
más ele an e en odo el p oceso de ex acción de da os, ya que sin el sen imien o
nues os modelos no ienen una a iable obje i o sob e la que en ena , ealiza emos
la okenización y lema ización de cada comen a io, haciendo uso del sc ip ep esen-
ado en la Figu a 3.7, en el que el modulo p incipal que se u iliza es S anza, que es
una colección de he amien as p ecisas y e icien es pa a el análisis lingüís ico. [13].
Es os pasos nos ayuda án a p esen a la in o mación de mane a simple y desglosada,
pe mi iendo que nues os modelos la in e p e en más ápidamen e y de una o ma
mucho más cla a.
La okenización, especí icamen e, consis e en subdi idi el ex o en unidades más
pequeñas llamadas okens, acili ando así su análisis y comp ensión po pa e de los
algo i mos. Básicamen e, okeniza es di idi el comen a io en palab as. Pe o una
ez enemos el comen a io okenizado en palab as, necesi amos educi esas palab as
a su o ma básica, ya sean e bos, sus an i os, adje i os, e c. Es aquí donde en a
la lema ización.
S emming s lema ización
Ambas son écnicas usadas en el p ocesado de lenguaje na u al que educe las
palab as de en ada a su aíz o o ma base, lo que acili a la in e p e ación y compa-
ación de di e en es o mas g ama icales de una misma palab a. Es e paso con ibuye
a simpli ica el conjun o de da os y a mejo a la e icacia de los modelos en el análisis
de pa ones lingüís icos, pe o ienen una se ie de di e encias [14].
El s emming [15] elimina los a ijos de las palab as (su ijos, p e ijos), dejando sólo
la aíz o s em. El p oblema de es e mé odo es que puede esul a en palab as no
álidas, po ejemplo, al aplica el s emming a las palab as “pensando”, ”pensado”
y “pensamien o” la aiz esul an e se ía “pensa” lo cual no es una palab a exis en e
en cas ellano. Es po es o que op amos po la lema ización, que aun siendo más
compleja nos o ece mejo es esul ados.
La lema ización [16] es el p oceso de educi las palab as a su o ma base o
lema, siendo es e una palab a con signi icado. Es un p oceso más complejo que
el s emming ya que no si e con elimina los a ijos, sino que hay que analiza la
palab a mo ológicamen e, sin ác icamen e y con ex ualmen e. Además es común
que se haga uso de una base de da os pa a consegui es os obje i os.
Po ejemplo, conside emos las palab as co iendo yco e. Aplicando la lema-
ización, ambas se educi ían al lema co e . Del mismo modo, las o mas e bales
hablo yhablas se lema iza ían ambas como habla . Es e p oceso pe mi e que los
modelos se cen en en el signi icado de las palab as o okens, igno ando las a iacio-
nes g ama icales [17]. En la Tabla 3.7 podemos obse a los módulos u ilizados en
es e sc ip .
Una ez inalizado es e paso, ya pod íamos empeza a ealiza el en enamien o
de los modelos. En un p incipio pensamos en inclui la ec o ización en el p ep oce-
sado, pe o nos dimos cuen a que pa a dis in os modelos de ap endizaje au omá ico,
podemos encon a di e en es ec o izaciones que se ajus en a es os y uncionen
3.7. Tokenización y lema ización 17
Figu a 3.7: Análisis de Sen imien o
mejo , como e emos en el siguien e capí ulo.
18 Capí ulo 3. Ex acción de los Da os
Modulo Lib e ía Desc ipción
nl k nl k Conjun o de biblio ecas y p og amas pa a el p ocesa-
mien o del lenguaje na u al.
pandas pandas Manipulación y análisis de da os.
s anza s anza S anza es una colección de he amien as p ecisas y e i-
cien es pa a el análisis lingüís ico.
sys sys Funciones y a iables que in e ac úan con el sis ema ope-
a i o.
nl k.co pus nl k NLTK co pus nos da acceso di ec o a a ias colecciones
de ex os.
Tabla 3.7: Módulos del sc ip de okenización y lema ización
Cap´
ı ulo 4
Modelos
En el p esen e capí ulo abo da emos la implemen ación de modelos de clasi ica-
ción au omá ica de sen imien os aplicados a comen a ios de la pla a o ma YouTube,
como pa e del campo de es udio del P ocesamien o de Lenguaje Na u al (NLP).
La na u aleza ex ual y la iqueza exp esi a de los comen a ios hacen de es a uen-
e un co pus de es udio ideal pa a el en enamien o y la e aluación de modelos de
ap endizaje au omá ico.
Den o del ap endizaje au omá ico, se dis inguen dos ca ego ías p incipales: el
ap endizaje supe isado y el no supe isado. El p ime o se basa en conjun os de
da os donde cada en ada es á asociada a una e ique a o clase especí ica, acili ando
la a ea de p edeci la clasi icación de nue os da os. El segundo, po o o lado,
in en a in e i la es uc u a de los da os sin e ique as p e ias, iden i icando pa ones
y ag upaciones in ínsecas.
Pa a el p opósi o de es a esis, hemos decidido emplea el ap endizaje supe i-
sado pues o que abajamos con un conjun o de da os ya e ique ados como imos
en el capí ulo in e io . Aunque es os e ique ados no han sido co obo ados manual-
men e, c eemos que ep esen an un pun o de pa ida álido pa a el desa ollo de los
modelos, dado el olumen y la a iabilidad de los da os con los que se abaja.
A a és de un p oceso i e a i o de en enamien o, alidación y ajus e de hipe -
pa áme os, busca emos op imiza la p ecisión y e ec i idad de nues os modelos,
con el in de log a un análisis de sen imien os lo más cohe en e y con iable posible.
En las siguien es secciones se p ocede á a de alla los modelos de clasi icación y
eg esión seleccionados, des acando su adecuación al análisis de ex o y su capaci-
dad pa a maneja las dimensiones del conjun o de da os en cues ión. Se explica á
cómo dichos modelos son en enados pa a econoce pa ones en los comen a ios y
clasi ica los según su sen imien o.
Sin emba go, an es de pode en ena los da os necesi amos ec o iza los, ya
que nues os modelos de ap endizaje no pueden en ena con ex o como al, si no
que abajan con da os numé icos, es po eso que necesi amos con e i nues as
palab as lema izadas p e iamen e a ec o es numé icos. No ealizamos la ec o iza-
ción du an e el p ep ocesado ya que conside amos que podíamos u iliza dis in as
ec o izaciones según el modelo, dándonos mas opciones a la ho a de op imiza nues-
os modelos. En la siguien e sección se p o undiza más en la ec o ización y en las
19
26 Capí ulo 4. Modelos
es necesa io que se ealice una sepa ación de los da os en dos subconjun os, uno
de en enamien o y o o pa a es ea los esul ados [24]. El p oceso desc i o has a
aho a se puede ap ecia en la Figu a 4.9.
Figu a 4.9: Código pa a ca ga los da os
Una ez se han sepa ado los da os, se p ocede con la ec o ización que podemos
ap ecia en la Figu a 4.10.
Figu a 4.10: Código de la ec o ización
T as la ec o ización, llega el momen o de c ea el modelo, en ena lo haciendo
uso del subconjun o de da os de en enamien o y inalmen e se hacen p edicciones
sob e el subconjun o de es . Toda es a sección se puede ap ecia en la Figu a 4.11.
Figu a 4.11: Código de la c eación, en enamien o y p edicciones
Una ez se han hecho las p edicciones, es momen o de isualiza los esul ados.
Pa a ello, se ha op ado po emplea una ma iz de con usión y una Tabla con di e-
en es mé icas. El código empleado pa a compu a es as ep esen aciones se puede
ap ecia en la Figu a 4.12 y la Figu a 4.13.
Figu a 4.12: Código ma iz de con usión
Figu a 4.13: Código Tabla de mé icas

4.4. Random Fo es 27
4.4. Random Fo es
Random Fo es es un algo i mo de ap endizaje au omá ico basado en el uso de
a boles de decisión, con di e en es conjun os de en enamien o, ex aídos no mal-
men e del mismo da ase , solo que a iando la composición de los conjun os. Una
ez cons uido cada á bol indi idual, se jun an odos los esul ados de cada á bol y
median e un p oceso de o ación, se calcula el esul ado más ap o pa a dicho modelo
[25]. En la Figu a 4.14 se puede ap ecia un esquema simpli icado del uncionamien o
del modelo [26]. La cons ucción de es e algo i mo sigue los pasos que se desc iben
a con inuación.
Figu a 4.14: Random Fo es
4.4.1. Hipe pa áme os del modelo
En es e modelo hemos u ilizado 200 es imado es, los cuales ep esen an 200 á -
boles de decisión indi iduales. Es impo an e des aca que hemos con igu ado el
núme o mínimo de mues as eque idas pa a di idi un nodo in e no del á bol en
2. Además, hemos es ablecido que el núme o mínimo de mues as en una hoja del
á bol debe se 1. La ob ención de es os pa áme os se ealizó u ilizando G idSea ch.
4.4.2. Pasos en Random Fo es
En es a sección se de allan en p o undidad los dis in os pasos que se ealizan
du an e el en enamien o de es e modelo, desde la selección de los da os de en e-
namien o has a la o ación de los dis in os á boles gene ados.
Mues eo con eemplazo
Se oman múl iples mues as alea o ias con eemplazo del conjun o de da os de
en enamien o. Es o implica selecciona alea o iamen e ins ancias del conjun o de
28 Capí ulo 4. Modelos
da os o iginal, pe mi iendo que una misma ins ancia apa ezca a ias eces o que
algunas no apa ezcan en absolu o en una mues a especí ica.
A boles de decisión
Pa a cada una de es as mues as, se cons uye un á bol de decisión. Cada á bol
se desa olla conside ando solo un subconjun o alea o io de las ca ac e ís icas dis-
ponibles en cada di isión. Es o ayuda a di e si ica los á boles y e i a que odos
dependan demasiado de las mismas ca ac e ís icas.
Vo ación
Una ez que odos los á boles se han cons uido, pa a p oblemas de clasi icación
se ealiza una o ación en e ellos pa a de e mina la clase inal, mien as que en p o-
blemas de eg esión se p omedian sus p edicciones. Pa a p oblemas de clasi icación
enemos dos opciones:
Vo ación Ponde ada: Cada á bol emi e una p edicción de la clase pa a una
ins ancia dada. La p edicción inal se de e mina median e una o ación pon-
de ada, donde se asigna un peso a cada á bol según su p ecisión en el conjun o
de en enamien o. Los á boles más p ecisos ienen un mayo peso en la decisión
inal.
Clase Mayo i a ia: O a opción común es simplemen e oma la clase que es
p edicha po la mayo ía de los á boles. En es e en oque, cada á bol iene el
mismo peso en la o ación, independien emen e de su p ecisión indi idual.
4.4.3. Validación c uzada
La alidación c uzada es una écnica esencial pa a e alua el endimien o de un
modelo de ap endizaje au omá ico de mane a más obus a y con iable. En nues o
caso, la alidación c uzada nos ayuda a es ima cómo se gene aliza el endimien o
del modelo a nue os da os [27]. Pa a ealiza la alidación c uzada hemos ealizado
10 olds o pliegues, es deci , 10 subconjun os den o de nues o conjun o gene al
de da os. Pa a ealiza la alidación c uzada ealizamos 10 i e aciones (una po
pliegue), en la que se usa un pliegue como conjun o de es y el es o de pliegues
como conjun o de en enamien o [28]. Po cada i e ación se a cambiando el pliegue
de es y se calcula la mé ica que que emos e alua , en el caso de es e modelo la
pun uación F1. Una ez se calculan odas las pun aciones F1 se calcula la media,
y esa se á nues a mé ica “gene alizada”, lo cual nos indica la obus ez de nues o
modelo y como unciona á con la in oducción de da os nue os.
4.4.4. Implemen ación
En es a sección explica emos la implemen ación del modelo Random Fo es con
Py hon y la ex acción de los esul ados, así como la ec o ización y los módulos
u ilizados. Cabe des aca que la e sión Coun Vec o ize y la e sión TF-IDF son
4.4. Random Fo es 29
iguales, lo único que cambia es que en el pipeline [29] se incluye una ec o ización u
o a.
Modulos/lib e ias u ilizadas
El la Tabla 4.3 se mues an odas las lib e ías y módulos u ilizados pa a el
en enamien o de es e modelo, con una pequeña desc ipción.
Vec o ización u ilizada
En es e modelo, hemos empleado un Coun Vec o ize y T id Vec o ize con un
lími e máximo de 200 ca ac e ís icas y un ango de n-g amas que aba ca desde 1
has a 2 (monog amas y big amas pueden se u ilizados).
En el apa ado de esul ados compa a emos que ec o ización unciona mejo
pa a nues o conjun o de da os y la elegi emos a la ho a de compa a odos nues os
modelos en e sí.
Código
Una ez explicados los pasos y he amien as que con o man nues o modelo Ran-
dom Fo es , podemos explica un poco po encima nues o código en Py hon en e-
nando el modelos. En la Figu a 4.15 podemos obse a la p ime a pa e del código,
en la que se en ena el modelo en si, en el que se an ealizando los siguien es pasos
(en o den):
En p ime luga ex aemos el conjun o de da os desde nues o a chi o .CSV y
lo almacenamos en un da a ame.
C eamos un pipeline en el que incluimos el ec o izado (Coun Veco i ze o
TF-IDF según el caso) y nues o modelo con los hipe pa áme os. El pipeline
simplemen e encadena la ec o ización y el en enamien o del modelo en un
solo paso.
Di idimos nues o conjun o de da os en da os de en enamien o y da os de
alidación usando ain_ es _spli (80 % en enamien o - 20 % es ) [30].
U ilizamos nues o pipeline pa a en ena nues o modelo con alidación c u-
zada (10 olds) [28].
Obse amos en la Figu a 4.16 que ob enemos las pun uaciones de la alidación
c uzada y la pun ación media de es a. Cabe eco da que pa a la alidación
c uzada es amos usando la pun uación F1 como mé ica obje i o.
Una ez en enado el modelo, p obamos con nues o conjun o de da os el
endimien o de nues o Random Fo es . U ilizamos un Classi ica ion Repo
y una ma iz de con usión pa a pode analiza los esul ados [31]. Podemos
obse a el esul ado de los epo es de clasi icación pa a ambos modelos en
las Figu as 4.18 y 4.17.
30 Capí ulo 4. Modelos
Modulo Lib e ia Desc ipción
pandas pandas Manipulación y aná-
lisis de da os de ma-
ne a e icien e y ácil.
sys sys Funciones y a iables
que in e ac úan con
el sis ema ope a i o.
Coun Vec o ize sklea n. ea u e_ex ac ion. ex Pe mi e u iliza
Coun Vec o ize en
Py hon.
T id Vec o ize sklea n. ea u e_ex ac ion. ex Pe mi e u iliza
T -Id Vec o ize en
Py hon.
RandomFo es Classi ie sklea n.ensemble Incluye el es imado
Random Fo es pa a
Py hon.
c oss_ al_sco e sklea n.model_selec ion E alúa una mé ica
median e alidación
c uzada.
ain_ es _spli sklea n.model_selec ion Di ide da ase s en
subconjun os de en-
enamien o y p ue-
ba.
Pipeline sklea n.pipelines Conjun o de ans-
o maciones con un
es imado inal.
classi ica ion_ epo sklea n.me ics Cons uye un in o -
me que mues a las
p incipales mé icas
de clasi icación.
ma plo lib.pyplo ma plo lib Des inado pa a g á i-
cos in e ac i os.
sciki plo sciki plo Funciones de isuali-
zación ú iles pa a en-
ende el endimien o
de los modelos.
Tabla 4.3: Módulos u ilizados en la implemen ación de Random Fo es
4.5. Reg esión Logís ica Mul inomial 31
Figu a 4.15: Código del modelo Random Fo es (En enamien o)
Figu a 4.16: Código del modelo Random Fo es (Mé icas)
Figu a 4.17: Mé icas as ejecución con T -Id
Figu a 4.18: Mé icas as ejecución del modelo con Coun Vec o ize
4.5. Reg esión Logís ica Mul inomial
La Reg esión Logís ica Mul inomial es una ex ensión de la Reg esión Logís ica
binomial cuando se a a de p oblemas de clasi icación con más de dos ca ego ías [32].
Mien as que la Reg esión Logís ica binomial se u iliza pa a p edeci la p obabilidad
de pe enencia a una de dos ca ego ías, la Reg esión Logís ica Mul inomial maneja
si uaciones donde hay más de dos ca ego ías mu uamen e excluyen es.

32 Capí ulo 4. Modelos
4.5.1. Reg esión Logís ica Bina ia
La eg esión logís ica es un mé odo es adís ico u ilizado pa a modela la p oba-
bilidad de que un e en o bina io ocu a como una unción de una o más a iables
p edic o as. Es pa icula men e ú il cuando la a iable dependien e es ca egó ica y
iene dos ca ego ías, como sí o no,éxi o o acaso,posi i o o nega i o, como es nues-
o caso. Pe o como noso os añadimos un clase neu a pa a añadi mas p o undidad
al en enamien o de los da os, necesi a emos usa una eg esión mul iclase.
En la eg esión logís ica, el modelo ma emá ico u iliza la unción logís ica ( am-
bién conocida como unción sigmoide, ilus ada en la Figu a 4.19.) pa a ans o ma
una combinación lineal de las a iables p edic o as en una a iable con enida en e
0 y 1, que de e mina la p oximidad de la in o mación a una clase u o a. Como
enemos 3 clases, end emos que hace algo di e en e, ya que pa a más de dos cla-
ses es mejo u iliza una unción so max, que es una gene alización de la unción
sigmoide, como se explica á más adelan e.
Figu a 4.19: Función sigmoide
4.5.2. Pasos de la eg esión logís ica mul inomial
A con inuación se desc iben los dis in os pasos que se ealizan pa a comple a el
en enamien o de nues os da os con eg esión logís ica.
De inición del P oblema
Es e mé odo se u iliza cuando se iene una a iable dependien e ca egó ica con
es o más ca ego ías. Po ejemplo, puede se u ilizado pa a p edeci la ca ego ía
de un p oduc o en e bajo, medio o al o basándose en di e sas ca ac e ís icas. En
nues o caso enemos 3 clases que de inen el sen imien o del comen a io: Posi i o,
Nega i o, y Neu o.
4.5. Reg esión Logís ica Mul inomial 33
Función So max
La unción so max se de ine pa a cada clase ide la siguien e mane a [33]:
P(y=i|x) = ewi·x
PK
j=1 ewj·x
Donde:
P(y=i|x)es la p obabilidad de que la obse ación xpe enezca a la clase i.
Kes el núme o o al de clases.
wies el ec o de pesos asociados a la clase i.
En es e con ex o, wi·x ep esen a la combinación lineal de las ca ac e ís icas de
la obse ación xponde adas po los pesos asociados a la clase i. La unción so max
no maliza es as combinaciones lineales ele ando y di idiendo po la suma de las
exponenciales pa a ob ene p obabilidades que suman 1.
La p edicción inal pa a una obse ación xse á la clase con la p obabilidad más
al a según la unción so max.
En é minos más sencillos, la unción so max asigna p obabilidades a cada clase
y pe mi e la clasi icación de ins ancias en una de las clases.
Es imación de Pa áme os
En eg esión logís ica, la es imación de pa áme os implica encon a los coe i-
cien es que maximizan la unción de e osimili ud, la cual mide la p obabilidad de
obse a los da os dados los pa áme os. Se u iliza un algo i mo de op imización,
como el descenso de g adien e, pa a ajus a los coe icien es i e a i amen e.
En es e caso los pa áme os del modelo que nos in e esan son el nume o de
i e aciones y el sol e . En nues o caso ealizamos 500 i e aciones y usamos el sol e
lb gs (Limi ed-memo y B oyden-Fle che -Gold a b-Shanno).
El pa áme o max i e (núme o máximo de i e aciones) se e ie e al lími e má-
ximo de i e aciones pe mi ido pa a que el algo i mo de op imización con e ja y
encuen e los pa áme os óp imos del modelo.
El sol e se e ie e al algo i mo u ilizado pa a op imiza los pa áme os del mo-
delo du an e el p oceso de en enamien o. Di e en es sol e s implemen an di e en es
algo i mos de op imización.
En el con ex o de eg esión logís ica y o os modelos lineales gene alizados, el
sol e lb gs se u iliza pa a encon a los coe icien es del modelo que maximizan la
unción de e osimili ud. En o as palab as, se u iliza pa a encon a los pa áme os
que hacen que los da os obse ados sean más p obables bajo el modelo logís ico.
4.5.3. Implemen ación
A con inuación explicamos la implemen ación ealizada con Reg esión Logís ica,
así como la ec o ización u ilizada y sus pa áme os más ele an es.
34 Capí ulo 4. Modelos
Módulos/lib e ías u ilizadas
El la Tabla 4.4 se mues an odas las lib e ías y módulos u ilizados pa a el
en enamien o de es e modelo, con una pequeña desc ipción.
Módulo Lib e ía Desc ipción
pandas pandas Manipulación y análisis
de da os de mane a e i-
cien e y ácil.
sys sys Funciones y a iables
que in e ac úan con el
sis ema ope a i o.
Coun Vec o ize sklea n. ea u e_ex ac ion. ex Pe mi e u iliza Coun
Vec o ize en Py hon.
Logis icReg ession sklea n.linea _model Incluye el modelo de
eg esión logís ica pa a
Py hon.
c oss_ al_sco e sklea n.model_selec ion E alúa una mé ica me-
dian e alidación c uza-
da.
ain_ es _spli sklea n.model_selec ion Di ide da ase s en sub-
conjun os de en ena-
mien o y p ueba.
Pipeline skelea n.pipelines Conjun o de ans o -
maciones con un es ima-
do inal.
classi ica ion_ epo sklea n.me ics Cons uye un in o me
que mues a las p inci-
pales mé icas de clasi-
icación.
accu acy_sco e sklea n.me ics Pun uación de exac i-
ud.
ma plo lib.pyplo ma plo lib Des inado pa a g á icos
in e ac i os.
sciki plo sciki plo Funciones de isualiza-
ción que son ú iles pa a
en ende el endimien o
de los modelos.
Tabla 4.4: Módulos u ilizados en la implemen ación de eg esión logís ica
4.5. Reg esión Logís ica Mul inomial 35
Vec o ización u ilizada
En es e modelo ambién hemos usado Coun Vec o ize , con 2000 como el nume o
máximo de a ibu os y un ango de n-g amas en e 1 y 2.
Código
La implemen ación de es e modelo es p ác icamen e igual que la implemen a-
ción del Random Fo es , ya que al usa un pipeline es mucho más ácil abs ae el
uncionamien o gene al del en enamien o, cambiando solo el modelo a en ena en
nues o pipeline. Es o lo podemos obse a en la Figu a 4.21, iendo que la imple-
men ación es, en e ec o, igual que con Random Fo es . Aunque si bien es cie o que
el en enamien o es muy simila , con la eg esión logís ica podemos hace más cosas
a la ho a de hace un análisis más exhaus i o de los esul ados. Esa pa e del código
no la incluimos en es a sección ya que p o undiza emos mas sob e es e en la sección
de análisis de esul ados. A con inuación un esumen de los pasos ealizados:
P ime o ex aemos el a chi o .cs a a és de los a gumen os del sc ip y
gua damos el conjun o de da os en un da a ame.
C eamos un pipeline con nues o ec o izado (Coun Vec o ize ) y el modelo
con los pa áme os. Es os pa áme os ue on op imizados usando G idSea ch,
pe o en nues o código inal no apa ece po el al o consumo de iempo en
calcula los.
Di idimos nues o conjun o de da os en da os de en enamien o y da os de
alidación usando ain_ es _spli (80 % en enamien o - 20 % es ).
U ilizamos nues o pipeline pa a en ena nues o modelo con alidación c u-
zada (10 pliegues) [28].
Una ez en enado el modelo, ob end emos las mé icas que e lejan el endi-
mien o del modelo con un conjun o de alidación. Es a in o mación se e leja
en el Classi ica ion Repo (Figu a 4.22) y en la ma iz de con usión [31].
Figu a 4.20: Mé icas de la eg esión logís ica
42 Capí ulo 4. Modelos
Figu a 4.31: A qui ec u a y amaño de los modelos BERT [2]
4.7.1. A qui ec u a T ans o me
BERT se undamen a en la a qui ec u a T ans o me . Los T ans o me s son mo-
delos que se basan en mecanismos de a ención pa a cap u a con ex os globales de
las palab as en una o ación. La en aja más des acable de es a a qui ec u a pa a
nues o caso es su mecanismo de a ención, el cual pe mi e al modelo ponde a po
pa es la secuencia de en ada lo cual esul a en un mejo manejo de las dependen-
cias de la go alcance. Es e en oque pe mi e al modelo conside a cada palab a en
elación con odas las o as palab as de la o ación, p opo cionando un en endimien-
o más p o undo del con ex o y la semán ica del ex o. La a qui ec u a o iginal de
T ans o me u iliza un codi icado pa a p ocesa la en ada al modelo y un decodi-
icado que gene a la salida. Sin emba go, BERT p escinde del decode y solo hace
uso de encode s ya que el in p incipal de BERT es la comp ensión del lenguaje, no
la gene ación del mismo.
4.7.2. En enamien o Bidi eccional
A di e encia de los modelos an e io es de NLP que p ocesaban el ex o de mane a
unidi eccional, BERT analiza los ex os de mane a bidi eccional, lo que signi ica que
el modelo conside a an o el con ex o an e io de una palab a como el pos e io .
Es e en oque bidi eccional pe mi e a BERT hace un en endimien o más ma izado
y comple o del ex o.
4.7.3. P een enamien o y A inamien o (Fine-Tuning)
El p oceso de en enamien o de BERT se di ide en dos ases. Inicialmen e, el
modelo se p een ena en un as o co pus de ex o con dos a eas p incipales: el Mo-
delado de Lenguaje Enmasca ado (MLM) y la P edicción de la Siguien e O ación
(NSP). En la a ea MLM, al modelo se le p esen an o aciones con algunas palab as
ocul as, y debe p edeci es as palab as basándose en el con ex o. La a ea NSP im-
plica p edeci si una o ación es la con inuación lógica de o a. Una ez p een enado,
BERT puede se a inado con da os especí icos pa a a eas conc e as, como el análi-
sis de sen imien os. Es a ase de a inamien o ajus a los pa áme os de BERT a las
peculia idades del conjun o de da os obje i o, lo que mejo a signi ica i amen e su

4.7. BERT 43
endimien o en a eas especí icas.
4.7.4. Tokens [CLS] y [SEP] en BERT
Los modelos BERT u ilizan okens especiales, [CLS] y [SEP], que esul an c u-
ciales en la comp ensión y es uc u ación de los da os de en ada.
El oken de clasi icación ([CLS]), se coloca al inicio de cada en ada y si e como
un ag egado ep esen a i o de oda la secuencia pa a a eas de clasi icación como la
nues a.
El oken de sepa ación ([SEP]) se u iliza pa a di e encia segmen os dis in os
den o de la misma en ada. Es o es pa icula men e impo an e pa a a eas que
in oluc an múl iples en adas, como la a ea de P edicción de la Siguien e O ación
(NSP) du an e el p een enamien o de BERT.
La Figu a 4.32 ilus a cómo se inco po an los okens [CLS] y [SEP] den o de
la es uc u a de en ada de BERT. Cada oken es sumado con su co espondien e
inc us ación posicional y de segmen o,las cuales si en pa a en ende la posición del
oken en la o ación y la pe enencia a un segmen o de la en ada espec i amen e,
an es de se p ocesado po las capas del codi icado de BERT. La salida del úl imo
codi icado co espondien e al oken [CLS] se á la u ilizada pa a las a eas de clasi-
icación pues o que ep esen a la secuencia de en ada comple a y con ex ualizada.
4.7.5. So max
Se a a de una unción de ac i ación que ob iene una dis ibución de p obabili-
dades a pa i de un ec o numé ico dado. Es a unción es no malmen e u ilizada
como capa de clasi icación al inal de una ed neu onal, especialmen e en p oblemas
mul iclase.
Como emos en la Figu a 4.32, la unción so max ecoge un ec o que ep esen e
los alo es de salida de la ed neu onal denominados logi s y lo con ie e en una
p obabilidad pa a cada elemen o del ec o . Logi es un ec o de amaño [Nºde
mues as][Nºde clases] que ep esen a la pun uación dada a cada clase pa a cada
comen a io en es udio. En nues o caso el ec o de logi s se á una ep esen ación de
la salida co espondien e al oken [CLS]. So max oma esas pun uaciones y ec ea
una dis ibución no malizada de las pun uaciones pa a pode in e p e a los alo es
pa a cada e ique a como una p obabilidad.
4.7.6. AdamW
AdamW es un op imizado basado en Adam (Adap a i e Momen Es ima ion)
al amen e econocido dado su manejo e icien e de g adien es en el en enamien o
de una ed neu onal. La unción p incipal del op imizado es el uso de decaimien o
de peso pa a e i a la equi ocación en el en enamien o de un modelo debido al
sob e-ajus e de clases en las mues as. La di e encia que iene AdamW sob e su
e sión o iginal eside en la mane a en la que se aplica el decaimien o de peso.
AdamW, a di e encia de Adam, sepa a el p oceso de op imización de g adien es
44 Capí ulo 4. Modelos
en el en enamien o de la egula ización de los pesos aplicando di ec amen e la
egula ización a los pesos del modelo sin a ec a a la ac ualización de g adien es.
En gene al, AdamW, nos p opo ciona á una o ma consis en e y e ec i a de apli-
ca la egula ización du an e el en enamien o de nues o modelo.
Figu a 4.32: A qui ec u a de los modelos BERT pa a a eas de clasi icación [3]
4.7.7. Implemen ación
En es a sección e emos la implemen ación del modelo BERT en de alle.
Módulos/lib e ías u ilizadas
El la Tabla 4.6 se mues an odas las lib e ías y módulos u ilizados pa a el
en enamien o de es e modelo, con una pequeña desc ipción.
Vec o ización
En el caso de modelos BERT no es necesa io u iliza ec o ización adicional
p e ia ya que es os modelos son capaces de p ocesa el signi icado y con ex o de
las palab as po su cuen a y de mane a más e icaz y p ecisa que la ec o ización
adicional. A di e encia de mé odos como Coun Vec o ize oTF-IDF en los que se
le asigna una ep esen ación ija a cada oken o palab a en modelos BERT u iliza
inc us aciones (embeddings) dinámicas pa a e leja el con ex o de la palab a en cada
caso de uso dis in o.
Código
A con inuación p ocedemos a mos a el código u ilizado pa a analiza los sen i-
mien os de nues os da ase con un modelo BERT-base [39].
Pa a mejo a el endimien o de la ejecución de nues o código y ap o echa el uso
de enso es en modelos BERT u iliza emos CUDA [40]. Comenzamos con igu ando
py o ch pa a que u ilice la GPU del disposi i o en el que se ejecu e en caso de
es a disponible (Figu a 4.33). Además u ilizamos la op imización de CUDNN [41]
4.7. BERT 45
Figu a 4.33: ConFigu a uso de GPU
especialmen e desa ollada pa a la acele ación de edes neu onales p o undas, cuya
guía de ins alación se puede encon a en [42].
Figu a 4.34: Código pa a ca ga el modelo y okenizado de BERT-base
La Figu a 4.34 e leja la ca ga del modelo con el núme o de clases y el okenizado
de BERT-base en las a iables model y okenize pa a después ca ga el modelo en
el disposi i o de py o ch.
Figu a 4.35: Código pa a ca ga los da os de commen s. x
Con inuamos ca gando nues o da ase y las columnas que con ienen los comen-
a ios okenizados y las e ique as del sen imien o p edicho mapeadas numé icamen e
en sus espec i as a iables como se ep esen a en la Figu a 4.35.
Figu a 4.36: Código pa a p epa a los da os de en ada al modelo
P ocedemos p epa ando los da os de en ada del modelo (Figu a 4.36). P ime o
ajus amos el amaño del lo e y el amaño máximo de la secuencia de en ada.
A con inuación, ob enemos los ids de los oken de nues os comen a ios ajus a-
dos a la longi ud máxima de e minada po la a iable max_leng h en el ocabula io
del okenizado así como la másca a de a ención de nues os okens como enso es.
La másca a de a ención es especialmen e impo an e en casos en los que el núme o
de oken de un comen a io es meno que max_leng h dado que se añaden okens de
elleno pa a comple a el enso de en ada pues o que BERT espe a un amaño uni-
o me en las secuencias de en ada y es os okens de elleno deben se a ados como
al. Po úl imo ob enemos en o ma de enso las e ique as pa a los sen imien os
p e iamen e mapeadas a alo es numé icos.
La Figu a 4.37 mues a como c eamos un Tenso Da ase con los enso es de
los ids, las másca as de a ención y las e ique as ob enidos an e io men e. Después
46 Capí ulo 4. Modelos
Figu a 4.37: Código pa a di idi da ase de en enamien o y e aluación
di idimos alea o iamen e es e da ase en un conjun o de en enamien o y o o de
alidación con una p opo ción de 80 −20 % y c eamos los Da aLoade s del enso
de en enamien o y alidación pa a ob ene los da os en lo es de mane a i e a i a
en ambas ases. Es o nos pe mi e ealiza un en enamien o mucho más e icien e.
Figu a 4.38: Código pa a c ea el op imizado y el schedule pa a el en enamien o
y e aluación po épocas
Pa a el cálculo de pesos y la ac ualización de los mismos du an e el en ena-
mien o c eamos el op imizado AdamW. Después, elegimos el núme o de épocas que
que emos pa a la mejo a del modelo y c eamos un schedule con el op imizado
pa a adap a la asa de ap endizaje en unción de como e olucione el modelo en el
en enamien o. El código pa a es e paso se halla en la Figu a 4.38.
Figu a 4.39: Código pa a di idi da ase de en enamien o y e aluación
Pa a pode e alua el modelo con BERT c eamos la unción que apa ece en la Fi-
gu a 4.39, e alua e(model, al_loade ) . El uncionamien o p incipal de es a unción
consis e en calcula , i e ando po lo es, la mayo p obabilidad de cada comen a io
de pe enece a una clase pa a un modelo y un Tenso Da ase de alidación dados.
No maliza los logi s esul an es de la e aluación del modelo a a és de la unción
so max y oma el alo máximo pa a cada caso. A su ez calcula la unción de
pé dida de cada lo e y la añade a la a iable o al_e al_loss pa a después calcula
la media de la unción de pé dida pa a el modelo e aluado.
A la ho a de en ena el modelo decidimos implemen a el en enamien o po lo es
del Tenso Da ase de en enamien o ain_loade . En cada paso desglosamos el lo e
4.7. BERT 47
en las en adas que alimen a emos al modelo y ese eamos los g adien es. Después
calculamos la unción de pé dida loss y sus g adien es u ilizando backp opaga ion con
la llamada loss.backwa d() que se an u ilizados po el op imizado . A con inuación,
no malizamos los alo es de los g adien es pa a no ene el p oblema de explosión
de g adien es y p e eni la ines abilidad numé ica que puede aca ea . Po úl imo,
ac ualizamos el op imizado pa a mejo a los alo es de los pa áme os del modelo
según los g adien es de pé dida y ac ualizamos el schedule pa a ajus a la asa de
ap endizaje del op imizado . El código u ilizado pa a es e p oceso se mues a en la
Figu a 4.40.
Pa a mejo a el esul ado del modelo decidimos implemen a el en enamien o
del modelo po épocas de mane a que se en ena y e alúa un modelo con nues os
Tenso Da ase de en enamien o y alidación comple os pa a cada época. Es a im-
plemen ación pe mi e que el modelo se en ene a pa i de un modelo ya en enado
con nues o Tenso Da ase pa a ob ene una mejo a inc emen al en el endimien o.
Además, pa a e i a eco e el núme o de épocas comple o en caso de no se ne-
cesa io, implemen amos lógica de pa ada emp ana. Es a lógica nos pe mi e pa a
la i e ación cuando no ha habido una mejo a del modelo en un núme o de épocas
de e minado a olun ad.
Figu a 4.40: Código pa a el en enamien o del modelo po lo es
T as adap a la unción e alua e pa a que de uel a ambién las p edicciones
y las e ique as pod emos mos a los esul ados del mejo modelo adecuadamen
(Figu a 4.42). Es a nue a unción es u ilizada en el código de la Figu a 4.43 con el
cual mos amos que el mejo modelo se ha ca gado co ec amen e e imp imimos su
pé dida y exac i ud de alidación así como su Ma iz de Con usión pa a comp oba
que e ec i amen e es el modelo co ec o. Después mos amos los esul ados ob enidos
de la nue a unción e alua eBes Model en o ma de in o me de mé icas y ma iz de
con usión que e emos en el siguien e capí ulo.

48 Capí ulo 4. Modelos
Figu a 4.41: Código de el en enamien o y la e aluación po épocas
Figu a 4.42: Código de la unción e alua eBes Model
Figu a 4.43: Código pa a di idi da ase de en enamien o y e aluación
4.7. BERT 49
Módulo Lib e ía Desc ipción
o ch o ch P opo ciona enso es
mul idimensionales y
ope aciones de álgeb a
lineal, op imización, e c.
Da aLoade , Tenso Da-
ase , andom_spli
o ch.u ils.da a Facili a la ca ga de da os
y su manejo en PyTo ch.
AdamW o ch.op im Implemen ación del op-
imizado Adam con co-
ección de decaimien o
del peso.
Be Fo Sequence-
Classi ica ion,
Be Tokenize
ans o me s Facili a el uso de mode-
los BERT pa a clasi ica-
ción de secuencias y oke-
nización.
ge _linea _schedule_-
wi h_wa mup
ans o me s Tasa de ap endizaje con
un pe iodo de calen a-
mien o lineal.
accu acy_sco e, classi-
ica ion_ epo , con u-
sion_ma ix
sklea n.me ics Mé icas pa a e alua el
endimien o del modelo.
so max scipy.special P opo ciona la unción
so max.
ma plo lib.pyplo ma plo lib U ilizado pa a c ea g á i-
cos es á icos, animados e
in e ac i os.
seabo n seabo n Basado en ma plo lib,
o ece una in e az de al-
o ni el pa a dibuja g á-
icos es adís icos a ac i-
os y in o ma i os.
pandas pandas P opo ciona es uc u as
de da os y he amien as
pa a la manipulación y
análisis e icien es de da-
os.
numpy numpy Lib e ía undamen al pa-
a la compu ación cien í-
ica en Py hon.
copy copy U ilizado pa a ealiza
copias supe iciales y p o-
undas de obje os.
Tabla 4.6: Módulos u ilizados en la implemen ación del modelo BERT
Cap´
ı ulo 5
Resul ados
5.1. Mé icas pa a el Análisis
En es a sección amos a desc ibi las dis in as mé icas que hemos u ilizado pa a
e alua los modelos, así como su signi icado y su u ilidad conc e a pa a nues o caso
[43].
5.1.1. In oducción
La alidación de los modelos es un p oceso c í ico que ga an iza la e aluación
de la calidad y la iabilidad de los mismos. Las mé icas de e aluación son, po lo
an o, he amien as esenciales que cuan i ican el endimien o del modelo bajo cie os
c i e ios es adís icos.
El p opósi o de es a sección es o ece una isión cla a de las mé icas de e a-
luación más ele an es que u iliza emos como conjun o de he amien as pa a juzga
obje i amen e la e icacia de cada modelo desa ollado. Es c ucial conside a múl i-
ples mé icas pa a ob ene una pe spec i a in eg al del compo amien o del modelo,
e i ando posibles in e p e aciones sesgadas que pueden su gi del uso de una sola
mé ica de endimien o. En con ex os donde las clasi icaciones son no bina ias, es o
es, in oluc an múl iples clases - en nues o caso, posi i o, nega i o y neu o - la ma-
iz de con usión se ex iende a más de dos dimensiones pa a cap u a la complejidad
del p oblema. Es a ma iz sigue siendo undamen al pa a diagnos ica el compo a-
mien o del modelo de clasi icación, pe o aho a se analizan es ipos de esul ados
co ec os e inco ec os pa a cada clase:
5.1.2. Ma iz de Con usión (Con usion Ma ix)
La ma iz de con usión es una he amien a aliosa pa a en ende el compo a-
mien o de un modelo en é minos de sus acie os y e o es. Rep esen a las clasi-
icaciones co ec as e inco ec as de mane a abula , di e enciando en e las clases
posi i as y nega i as, así como las p edicciones del modelo. Los elemen os de es a
ma iz se de inen como:
51
58 Capí ulo 5. Resul ados
Figu a 5.5: Ma iz de con usión de Random Fo es con T -Id
Mé icas de Reg esión Logís ica
Una ez en enado el modelo podemos e las mé icas elacionadas con su en-
dimien o. Si mi amos la Tabla 5.9, obse amos que el endimien o del modelo con la
clase nega i a (63 % pun uación F1) es lige amen e in e io que pa a la clase neu al
(69 % pun uación F1) y signi ica i amen e meno que pa a la clase posi i a, lo cual
iene sen ido po que la mayo ía de los comen a ios de nues o da ase son posi i-
os (dando luga a un conjun o poco balanceado). Es po es o po lo que nues os
modelos an a ap ende mucho mejo de la clase posi i a que del es o de clases.
Podemos obse a que el uncionamien o del modelo pa a es a clase es bas an e
no able, eniendo una pun uación F1 del 82 %, que es bas an e buena. Podemos ob-
se a ambién en la Tabla 5.10 que las mé icas p omedio son bas an e buenas, con
0,75 pa a el p omedio ponde ado de la pun uación F1.
En la Figu a 5.6 obse a que se han clasi icado 925 comen a ios posi i os eales
como posi i os, mien as que 109 han sido clasi icados como nega i os y 84 como
neu ales. De odos los comen a ios clasi icados como posi i os, ealmen e 925 e an
ealmen e posi i os, mien as que 73 ealmen e e an neu ales y 129 e an nega i os.
Pa a las clases neu ales y nega i a enemos un endimien o mas o menos simila
eniendo 321 comen a ios neu os como ealmen e neu os y 318 clasi icados como
nega i os siendo nega i os.
Podemos conclui que es e modelo unciona sa is ac o iamen e, con una p ecisión
gene al del 75 %. Si que emos mejo a el endimien o en las clases neu al y nega i o,
end íamos que acili a a los modelos conjun os de da os más equilib ados, pe o
nues os da os han sido ex aídos de un conjun o de da os eal, con lo cual ambién
que íamos e leja el sen imien o gene al de los comen a ios ex aídos.
5.6. SVM
A con inuación se e lejan los esul ados p opo cionados po el clasi icado con
SVM.

5.6. SVM 59
Clase P ecisión Exhaus i idad Pun . F1 Exac i ud Suppo
Nega i o 0,69 0,58 0,63
0.75
547
Neu al 0,64 0,75 0,69 429
Posi i o 0,82 0,83 0,82 1118
Tabla 5.9: Mé icas de clasi icación Reg esión Logís ica
Mé ica a e age P ecisión Exhaus i idad Pun uación F1
Mac o A g. 0,71 0,72 0,71
Weigh ed A g. 0,75 0,75 0,75
Tabla 5.10: Mé icas a e age de Reg esión Logís ica
Figu a 5.6: Ma iz de con usión de la eg esión logís ica
5.6.1. SVC
La Figu a 5.7 mues a el in o me de los alo es ob enidos pa a nues as mé icas
de análisis y p omedios en el caso del código pa a el Modelo SVM con la es a egia
O O.
Figu a 5.7: In o me de mé icas del modelo SVM con SVC
Los esul ados ob enidos pa a las mé icas de análisis se ecogen en la Tabla
5.11. Podemos e que el modelo SVC iene una exac i ud media del 75 % con un
60 Capí ulo 5. Resul ados
alo de F1 máximo pe enecien e a los comen a ios posi i os 83 % y el mínimo
que se co esponde a los nega i os 63 % aunque muy ce cano al de los comen a ios
e ique ados como neu os: 64 %. Sin emba go, hay una di e encia de un 16 % en e
la p ecisión y la sensibilidad, a a o de la p ime a, en la clasi icación de comen a ios
nega i os y de un 9 % pa a los comen a ios neu os. Es o indica que el modelo es
algo conse ado a la ho a de p edeci los comen a ios nega i os, ya que, aunque
la mayo ía de p edicciones son co ec as, un núme o conside able de obse aciones
nega i as no se clasi ican co ec amen e.
Clase P ecisión Exhaus i idad Pun . F1 Exac i ud Suppo
Nega i e 0,71 0,57 0,63
0.75
811
Neu al 0,69 0,60 0,64 633
Posi i e 0,77 0,89 0,83 1696
Tabla 5.11: Mé icas de clasi icación del modelo SVM con SVC
En cuan o a los p omedios de las mé icas se deno a que el alo del p omedio sin
conside a pesos se e a ec ado po el peo endimien o del modelo en la clasi icación
de las clases mino i a ias como e leja la Tabla 5.12
Mé ica a e age P ecisión Exhaus i idad Pun uación F1
Mac o A g. 0,73 0,69 0,70
Weigh ed A g. 0,74 0,75 0,74
Tabla 5.12: Mé icas globales del modelo SVM con SVC
Figu a 5.8: Ma iz de con usión del modelo SVM con SVC
La ma iz de con usión de la Figu a 5.8 mues a una al a densidad en los casos
VP pa a la clase posi i a y una densidad meno pa a los VP del es o de clases
aunque ambién se ap ecie una densidad mayo de es as espec o al es o de casos.
5.6. SVM 61
No obs an e la densidad de casos p edichos como posi i os que esul an se ealmen e
nega i os es conside ablemen e al a espec o al es o de casos de FP.
5.6.2. O R
La Figu a 5.9 mues a el in o me de los alo es ob enidos pa a nues as mé icas
de análisis en el caso del Modelo SVM con la es a egia O R.
Figu a 5.9: In o me de las mé icas pa a el modelo SVM con O R
Figu a 5.10: Ma iz de con usión del Modelo SVM con O R
Los esul ados que o ece el modelo SVM con en oque O R, ecogidos en la Tabla
5.13, son muy pa ecidos a los del modelo SVC con una exac i ud del 76 %, an solo un
1 % mayo . No obs an e, podemos deno a que los alo es del ecall son un 4 % y7 %
mayo es pa a los casos nega i os (61 %) y neu os (67 %) espec i amen e pe o un
3 % meno pa a los casos posi i os (83 %). En gene al se consiguen unos esul ados
más balanceados y se puede conclui que el modelo es mejo pa a iden i ica cada
caso como al pese a que la exac i ud o al no se e a ec ada no ablemen e.
Los esul ados de los p omedios de las mé icas de análisis pa a el modelo SVM
con en oque O R dados en la Tabla 5.14 que mues a un esul ado pa ecido al
an e io modelo SVM pe o con meno di e encia en e ambos dada la mejo a en las
mé icas de clasi icación de las clases mino i a ias.
La ma iz de con usión e lejada en la Figu a 5.10 mues a una lige a mejo a en
la densidad de los casos VP pa a la clase neu al y una meno densidad espec o al
modelo SVC pa a los casos p edichos como posi i os siendo nega i os ealmen e. En
gene al obse amos una lige a mejo a al implemen a el en oque OneVsRes pa a
62 Capí ulo 5. Resul ados
Clase P ecisión Exhaus i idad Pun . F1 Exac i ud Suppo
Nega i o 0,70 0,61 0,65
0.76
811
Neu al 0,70 0,67 0,68 633
Posi i o 0,80 0,86 0,83 1696
Tabla 5.13: Mé icas de clasi icación po clase
Mé ica a e age P ecisión Exhaus i idad Pun uación F1
Mac o A g. 0,73 0,72 0,72
Weigh ed A g. 0,76 0,76 0,76
Tabla 5.14: Mé icas p omedio
el modelo SVC sob e odo en las mé icas ep esen a i as de las clases mino i a ias
(Nega i o yNeu al)
5.7. BERT
Pa a el análisis de esul ados de BERT omamos el in o me de las mé icas y la
ma iz de con usión del mejo es ado del modelo como mues an las Figu as 5.11 y
5.12 espec i amen e.
Figu a 5.11: In o me de las mé icas pa a el modelo BERT
Los esul ados del in o me se ecogen en las Tablas 5.15 y 5.16.
Clase P ecisión Exhaus i idad Pun . F1 Exac i ud Suppo
Nega i o 0,79 0,84 0,82
0.86
563
Neu al 0,89 0,78 0,83 444
Posi i o 0,89 0,90 0,89 1087
Tabla 5.15: Mé icas de clasi icación po clase pa a el modelo BERT
Como podemos obse a en la Tabla 5.15 el modelo iene un exac i ud del 86 %,
bas an e óp ima. También ap eciamos un desni el en e los alo es del ecall pa a
5.7. BERT 63
las dis in as clases. La clase posi i a iene un ecall del 90 % mien as que pa a la
neu al y nega i a es del 78 % y84 %. Es o sugie e que el modelo es especialmen e
e icaz iden i icando los comen a ios posi i os. La di e encia en e el alo de los
comen a ios posi i os en e al es o puede debe se al meno olumen de mues as
de comen a ios nega i os y neu os, lo que implica una mayo di icul ad pa a el
modelo a la ho a de iden i ica es as clases.
En cuan o a la p ecisión podemos e unos alo es del 89 % pa a comen a ios
p edichos posi i os, 89 % pa a neu os y 79 % pa a nega i os. La mayo di e encia
en e el alo de p ecisión y exhaus i idad la hallamos en la clase neu al. Es o sig-
ni ica que el modelo suele ace a cuando clasi ica un comen a io en la clase nega i a
pe o ambién hay un núme o conside able de casos que pe enecen ealmen e a es a
clase y el modelo no los clasi ica como al. Es deci , el modelo es más conse ado
a la ho a de clasi ica un comen a io como neu o. Po o a pa e, obse amos que
el compo amien o con a io con la clase nega i a ya que dada su baja p ecisión
y su ele ada exhaus i idad espec o a la clase neu al indica que el modelo ien-
de a clasi ica comen a ios en es e clase pese a que no lo son pa a asegu a se de
iden i ica co ec amen e la mayo can idad de comen a ios de es a clase aunque
ambién clasi ique comen a ios de o as clases como nega i os. Es o puede debe se
a que en nues o conjun o de da os no hay una ca ac e ización lingüís ica ma cada
cla amen e pa a es a clase.
No obs an e, si obse amos la pun uación F1 e emos que se ni elan los alo es,
un 83 % y82 % pa a las clases neu al y nega i a. Es o indica que el endimien o
pa a de ec a es a clases es decen e pe o dado el es udio hecho de la di e encia en e
la p ecisión y la exhaus i idad pa a es as clases sabemos que en cada caso iene un
compo amien o especi ico más ma cado. Al inal se puede conclui que el modelo es
muy p eciso al iden i ica casos neu ales solo en caso de se lo y los casos nega i os
aunque es más p obable que clasi ique un comen a io que no co esponde a es a
clase como al en es e úl imo caso. No obs an e, el modelo des aca con c eces en la
clasi icación de comen a ios posi i os dados los ele ados alo es de sus mé icas y el
equilib io en e es as.
Mé ica a e age P ecisión Exhaus i idad Pun uación F1
Mac o A g. 0,86 0,84 0,85
Weigh ed A g. 0,86 0,86 0,86
Tabla 5.16: Mé icas p omedio pa a el modelo BERT
En cuan o a los esul ados de los p omedios de las mé icas mos ados en la abla
5.16, hay una di e encia de un 2 % o meno a a o del p omedio pesos. Resul a
una di e encia mínima y desp eciable dado que la clase posi i a que es la que mejo
clasi ica el modelo es ambién la clase con mayo núme o de mues as u ilizadas pa a
el en enamien o y clasi icación. Po an o, podemos a i ma que nues o modelo
iene buena p ecisión pa a clasi ica odas las clases.
Si obse amos la ma iz de con usión en la Figu a 5.12 emos que los ecuad os
con mayo densidad son los casos de VP pa a cada clase. Con un b e e análisis de

64 Capí ulo 5. Resul ados
Figu a 5.12: Ma iz de con usión del Modelo BERT
los esul ados se puede a i ma que el modelo es bas an e e icaz en la clasi icación de
los comen a ios en su espec i a clase aunque, como el es o, es á lige amen e mejo
en ocado en la clasi icación de comen a ios posi i os.
Cap´
ı ulo 6
Análisis de Resul ados
En es e capí ulo ealiza emos un análisis más p o undo de los esul ados ob eni-
dos y de la pe inencia con nues o ema de es udio. Pa a ello oma emos el modelo
con mejo endimien o obse ado en el capi ulo an e io .
6.1. Análisis de los esul ados del modelo BERT
Una ez is os los endimien os de los dis in os modelos en enados op amos po
ealiza un análisis p o undo de los esul ados ob enidos con el modelo BERT dado
que es e ha sido sin duda el que mejo esul ados nos ha dado. Pa a analiza cómo ha
clasi icado el modelo los comen a ios empeza emos ex ayendo las palab as que más
ha enido en cuen a en el p oceso de clasi icación. Es a a ea no es i ial cuando se
abaja con modelos BERT y a día de hoy la in e p e ación de esul ados de modelos
BERT sigue siendo un á ea de in es igación ac i a. No obs an e, exis en écnicas
pa a ealiza es a a ea de in e p e ación como In eg a ed G adien s [48; 49] (IG)
de Cap um [50]. A con inuación explica emos en que consis e es a écnica.
6.1.1. In eg a ed G adien s
El obje i o p incipal de la écnica de explicación In eg a ed G adien s es la in-
e p e ación de la oma de decisiones de modelos como BERT. IG unciona cuan i-
icando la impo ancia ela i a de los oken de en ada en el p oceso de clasi icación
del modelo en un alo conocido como a ibución. El cálculo de es a alo se ealiza
a pa i del cálculo de la in eg al de los g adien es desde un pun o de e e encia o
baseline(comen a io neu al de ejemplo sob e el ema gene al del da ase ) has a la
en ada de in e és (comen a io a in e p e a ). Calcula los g adien es de la salida del
modelo espec o a la en ada y se in eg an a lo la go de la dis ancia en el espacio
de en ada en e el pun o de e e encia y la en ada de in e és. El alo ob enido en
es a in eg ación e leja á la impo ancia de cada oken de en ada en la p edicción
ealizada po el modelo.
Pa a implemen a es a écnica u iliza emos la biblio eca In eg a ed G adien s
de Cap um. P ime o p epa amos una pequeña mues a de nues o da ase con la
que abaja . Decla amos la unción o wa d_ unc que alimen a á las salidas del
65
66 Capí ulo 6. Análisis de Resul ados
modelo a la unción In eg a edG adien s. Después p ocesamos la mues a po lo es
y p epa amos el baseline con la ase “El ema es OpenAI” pa a pasá sela a la unción
a ibu e de IG como se mues a en la igu a 6.1. Du an e la implemen ación nos
opamos con a ios e o es de di ícil esolución. El mayo p oblema ue conoce la
mane a en la que Cap um in e ac úa con BERT en el manejo de los da os como
se puede e en la igu a 6.2. Pa a esol e es e p oblema adap amos la unción
o wa d_ unc pa a asegu a nos de que el ipo de los da os que de uel e son Tenso es
[51] de ipo Long como e leja la igu a 6.3.
Figu a 6.1: Código inicial pa a la in e p e ación del modelo BERT con IG de Cap um
Figu a 6.2: Salida del código de la igu a 6.1
Figu a 6.3: Función de o wa d de la igu a 6.1 adap ada
Figu a 6.4: Salida del código con la unción o wa d de la igu a 6.3 adap ada
Figu a 6.5: Llamada a la unción a ibu e adap ada pa a esol e el e o de la
igu a 6.4
6.1. Análisis de los esul ados del modelo BERT 67
Figu a 6.6: Salida pa a la llamada a a ibu e de la igu a 6.5
T as esol e el p oblema an e io nos imos ence ados en un pun o mue o
como mues an las Figu as 6.4, 6.5 y 6.6 del que no uimos capaces de sali .
Dada la escasez de documen ación y de abajos publicados en es e á ea a pa e
de la al a di icul ad de la na u aleza de la a ea a desa olla nos imos obligados a
busca una solución al e na i a.
6.1.2. Mecanismo de A ención
El mecanismo de a ención en modelos como BERT es la écnica que pe mi e a
es os modelos ponde a la impo ancia de las elaciones en e las palab as de una
secuencia de ex o. Es a unción calcula una pun uación de a ención pa a cada pa
de palab as la cual e leja la impo ancia de la palab a pun uada espec o al es o
de palab as de la secuencia de en ada.
Pues o que no log amos u iliza co ec amen e In eg a ed G adien s p obamos
a ob ene las palab as más impo an es según el alo de la a ención de nues o
modelo. Ob end emos un dicciona io con cada oken jun o a su a ención pa a cada
clase impo an _wo ds como se mues a en la Figu a 6.7. Pa a mos a los esul ados
i e amos po el dicciona io mos ando las 10 palab as con mayo ecuen o pa a cada
clase y el p opio ecuen o como mues a la Figu a 6.8.
Al ob ene el dicciona io de palab as impo an es obse amos que hay muchas
palab as que coinciden en e clases ya que el mecanismo de a ención no mide la im-
po ancia del oken en la clasi icación si no que mide que palab as ienen más peso
en cuan o al signi icado del comen a io y la impo ancia ela i a en su con ex o. Po
an o, es as palab as esul an cla e pa a que el modelo comp enda el con ex o y el e-
ma p incipal de los comen a ios como se puede ap ecia po las palab as mos adas.
Dado que las palab as ob enidas se en ienden como con ex uales y no an ca ac e-
ís icas de la decisión pa a los dis in os comen a ios decidimos ob ene las palab as
más impo an es exclusi as de cada clase, es deci , aquellas que no apa ecen en el
es o de clases, con la in ención de ob ene una isión más ealis a de las palab as
que pueden ene más impo ancia en é minos gene ales a la ho a de clasi ica un
comen a io en cada clase en conc e o. La unción ge _exclusi e_impo an _wo ds
mos ada en la Figu a 6.9 ealiza la ex acción de las palab as exclusi as po sen i-
mien o del dicciona io impo an _wo ds.
U ilizamos la biblio eca Seabo n [52] pa a ep esen a g á icamen e las 10 pala-
b as que más apa ecen exclusi as a cada clase.
Pa a la clase nega i o obse amos en la Figu a 6.10 palab as in e esan es como
e o is ,des oye ,acciden ,ou law,nigh ma e ypain ully que pueden en ende se
como palab as con un sen imien o ca ac e ís ico de es a clase que se en iende que
pe enecen a comen a ios que es án en con a del ema p incipal. Sin emba go po-
demos e o as palab as como alice o ial que no ienen una azón apa en e pa a
pe enece a es a clase.
74 Capí ulo 6. Análisis de Resul ados
6.2.2. Ins ancias E óneas
En la Figu a 6.16 podemos obse a el código que gene a las di e en es ins ancias
e óneas y a con inuación se de alla como es a elabo ado:
Figu a 6.16: Código pa a mos a ins ancias inco ec as
C eamos una másca a booleana que indica dónde las p edicciones del modelo
no coinciden con el sen imien o eal de las palab as. Una ez enemos es a
masca a, la usamos pa a ob ene odas las ins ancias donde la p edicción es
inco ec a, así como la ins ancia obje i o eal.
Visualizamos cada ins ancia con su clase p edicha y su clase eal. Es as ins-
ancias ep esen an los comen a ios, aunque las palab as que apa ecen es án
lema izadas. En nues o caso isualiza emos 10 comen a ios clasi icados e ó-
neamen e, pa a pode hace un pequeño análisis de es os e o es.
6.2.3. Resul ados y análisis
Una ez hemos desa ollado y explicado nues as he amien as de análisis, po-
demos ejecu a las con nues o clasi icado de eg esión logís ica. A con inuación se
mues an los esul ados.
En las Figu as 6.17, 6.18 y 6.19, podemos obse a las lis as de palab as mas
ele an es asi como su pola idad y subje i idad p opo cionadas po Tex Blob. La
pola idad es cuan posi i o o nega i o es un comen a io, siendo nega i o -1 y posi i o
1. La subje i idad indica cuan obje i a u obje i a es la palab a, siendo 0 o almen e
obje i a y 1 o almen e subje i a.
Figu a 6.17: Palab as más impo an es pa a la clase nega i a
Figu a 6.18: Palab as más impo an es pa a la clase posi i a

6.2. Análisis de los esul ados del modelo con Reg esión Logís ica 75
Figu a 6.19: Palab as más impo an es pa a la clase neu al
Figu a 6.20: Palab as más impo an es pa a las clases nega i a, neu al y posi i a
Figu a 6.21: Ins ancias e óneas
Podemos obse a que en e ec o, nues o modelo clasi ica co ec amen e los sen-
imien os, pudiendo obse a que las palab as de la clase posi i a co esponden a
sen imien os posi i os, como po ejemplo las palab as lo e (amo ), nice (bueno), o
hanks (g acias). Lo mismo podemos deci de la clase nega i a, con palab as como
hell (in ie no), chaos (caos), o scam (es a a). La clase neu a ambién es a aco de,
p esen ando palab as más neu as como c i icism (c i icismo), ca ee (ca e a) o
in e ace (in e az).
En la Figu a 6.20 podemos obse a los Wo dCloud de cada sen imien o, p o-
po cionándonos una isualización de las palab as más sencilla y llama i a.
Los allos de clasi icación nos ayuda a iden i ica palab as o exp esiones con los
que el modelo e aluado iene p oblemas, como po ejemplo el habla coloquial, je ga
de in e ne o a go . También analiza las p edicciones allidas nos ayuda a de ec a
posibles sesgos que exis an en nues o modelo que a p io i no hemos de ec ado.
Toda es a in o mación es de inc eíble alo a la ho a de mejo a los esul ados de un
modelo en u u as i e aciones. En la Figu a 6.21 enemos las di e en es Ins ancias
de allos de p edicción en ex o plano.
A pa i de es as ins ancias hemos ex aído las palab as que con más ecuencia
se encuen an en ex os mal clasi icados, con es a in o mación se puede en un u u-
o in en a mejo a los esul ados ealizando un es udio más exhaus i o sob e es as
palab as. En la Figu a 6.22 podemos ap ecia es as palab as di ididas po sen imien-
o, y analizando las g á icas nos damos cuen a que hay una se ie de palab as que se
epi en en las es g á icas, como pe son (pe sona), hink (pensa ), be (se /es a ).
A la is a de es os esul ados, nos pa eció ú il saca una única g á ica que mues a
76 Capí ulo 6. Análisis de Resul ados
Figu a 6.22: Top 10 palab as en ex os mal clasi icados po sen imien o
Figu a 6.23: Top 10 palab as en ex os mal clasi icados
las palab as que más se epi en en comen a ios mal clasi icados que se puede e en
la Figu a 6.23. Analizando la g á ica emos que la mayo ía de las palab as son de
ca ác e más neu o, lo cual e a de espe a , como be ohuman, sin emba go hay
o as palab as que son más in e esan es. Po ejemplo, la palab a sam p obablemen e
es é ligada con el nomb e del CEO de Open AI, Sam Al man, ya que en el momen o
del análisis había cie o e uelo con su despido y pos e io eadmisión en la emp esa.
O a palab a que esul a in e esan e es good (bueno/bien), es a palab a ob iamen e
iene un signi icado posi i o, pe o es posible que pa a clasi ica la co ec amen e se
necesi e de un modelo con una mayo capacidad de analiza el con ex o de las
palab as.
Cap´
ı ulo 7
Conclusiones y T abajo Fu u o
En es e capi ulo inal p ocedemos a da nues as conclusiones sob e el abajo,
hablando an o de odo el p oceso de desa ollo del p oyec o, como del uso de los
dis in os clasi icado es y los esul ados que es os nos han p opo cionado. También
habla emos sob e el abajo u u o en o no a es e p oyec o.
En p ime luga , odo el p oceso p e io al en enamien o de los modelos ue
ampliamen e in e esan e, ya que la can idad de opciones disponibles a la ho a de
plan ea el desa ollo del abajo es muy ex ensa, desde el en o no de abajo a la
ex acción/ob ención de da os. Conside amos que nues o en oque del p ep ocesa-
do le añade un alo ex a a odo el p oceso, ya que no hemos hemos ob enido un
da ase ya c eado y adap ado pa a una si uación de ap endizaje au omá ico, si no
que decidimos elabo a nues o p opio da ase desde ce o, pe mi iéndonos comp en-
de cada paso del p ep ocesado de una o ma más p o unda, desde la ex acción de
los p opios comen a ios a a és de una API, pasando po el o ma eo y limpieza
del ex o, has a la okenización y lema ización de nues o conjun o de da os. Es a
he amien a iene po encial de con e i se en una mucho más compleja, pudiendo
ealiza a eas más a anzadas, como po ejemplo selecciona que campos se quie en
ex ae de los comen a ios de YouTube (ubicación, echa de publicación) o il a po
idioma que comen a ios se quie en ex ae , o incluso pode selecciona un ipo de
okenización y lema ización dis in a, odo es o acompañado de una pequeña in e az
isual pa a hace la he amien a más use iendly. Sin duda segui emos abajando
en es a pequeña he amien a en el u u o.
Dado que el da ase en es udio ecoge odos los comen a ios de los ídeos seleccio-
nados, no enemos un pode eal sob e la dis ibución de comen a ios en e las clases
de sen imien o. Además, no es has a después de en ena y e alua los modelos NLP
u ilizados que se puede ap ecia cla amen e un sob emues eo de casos posi i os en
nues o da ase . No obs an e, pese a que hay un mejo endimien o no able pa a la
clase sob epoblada en odos los modelos u ilizados ambién se ob enemos unos e-
sul ados conside ablemen e al os pa a las mé icas de análisis de la dos clases menos
ep esen adas. Pese a que p obablemen e se pod ía mejo a el en enamien o pa a
ob ene unos esul ados más equilib ados mejo ando la p opo ción de las mues as
de las clases, en odos los modelos hemos u ilizado écnicas pa a educi o mi iga el
desni el de en enamien o hacia la clase posi i a debido a la desp opo ción a o able
77
78 Capí ulo 7. Conclusiones y T abajo Fu u o
de mues as pa a es a clase.
En es e pun o, ya eníamos una idea g osso modo de la opinión gene al de la
gen e hacia el ema en es udio debido a la p opo ción de olumen de casos de
cada clase. Pa a comp ende bien es e compo amien o e in en a undamen a las
posibles causas de los esul ados ob enidos con inuamos con un análisis p o undo que
nos pe mi ie a expandi el conocimien o sob e nues o caso de es udio en conc e o.
Dados los esul ados de en enamien o ob enidos pa a los modelos elegidos ue
ácil dec e a con qué modelo ealiza el análisis p o undo dada la no able di e encia
de endimien o en e es e modelo y el es o. Sin emba go, esul ó se una opción
in iable dada la complejidad de la a ea pues o que la in e p e ación de modelos
BERT pa a en ende la oma de decisiones es á en desa ollo en la ac ualidad y
el uso de las he amien as disponibles ac ualmen e que ayudan a implemen a la
in e p e ación de modelos pe sonalizados equie e un conocimien o muy ele ado en
la in e p e ación de modelos que esul an cajas neg as, el manejo de da os que hace
la he amien a y la in e acción eal con el modelo a analiza . Dado que no pudimos
ob ene la a ibución de impo ancia a los okens analizados po el modelo con
In eg a ed G adien s conseguimos hace nos una idea de la clasi icación ealizada po
BERT g acias al es udio de las palab as con mayo pun uación de a ención. Es e paso
nos pe mi ió en ende la impo ancia del con ex o en BERT dado que las palab as
más impo an es según la a ención pa a cada clase e an p incipalmen e palab as
que ec ean la na u aleza del ema a a a como human, hink,pe son,open,sam
y palab as pa a comp ende el con ex o de uso de las palab as más simbólicas de
cada comen a io como like,no owould. Pese a que nos ayudó a comp ende de
una mane a más isual y ealis a del uncionamien o de nues o modelo BERT no
ob u imos una isión de ejemplo de palab as que con ibuyesen di ec amen e a la
clasi icación de un comen a io en una clase. Po ello decidimos ob ene las palab as
exclusi as de cada clase donde si pudimos obse a un ca ác e más cla o del sen ido
de las palab as en elación a su clase o o gada pe o conscien es de las limi aciones
de es a implemen ación op amos po u iliza Reg esión Logís ica.
T as analiza los esul ados de la Reg esión logís ica hemos podido comp oba
que el sen imien o gene al de los usua ios de You ube hacia Open AI es gene al-
men e posi i o, haciendo un análisis plano de los esul ados, simplemen e eniendo
en cuen a el global de comen a ios, y haciendo un análisis de los comen a ios más
popula es nos han mos ado unos esul ados que en su amplia mayo ía ambién son
posi i os. Es cie o que analizando las ins ancias e óneas esul an es al aplica es-
e modelo, hemos de ec ado que algunas de las palab as con lic i as e an palab as
apa en emen e de un sen imien o con a io pe o debido al con ex o en el que se u i-
lizan cambia su signi icado. Es a al a de con ex o es una de las des en ajas de es e
modelo en e al BERT.
A lo la go de la ealización de es e p oyec o hemos adqui ido una g an a ie-
dad de conocimien os y habilidades elacionadas con el web-sc apping, p ocesado
de ex os, concep os p obabilís icos y análisis de edes sociales. A pesa de las di-
e en es p oblemá icas que han ido su giendo, hemos sido capaces de econduci la
in es igación pa a consegui unos esul ados escla ecedo es que dan luz a la opinión
del público gene al sob e Open AI. T as el es udio, hemos obse ado que la opinión
gene al sob e Open AI es ab umado amen e posi i a, a pesa de ob ene los comen-
79
a ios de ídeos de di e en es c eado es de con enido pa a educi el posible sesgo,
las opiniones suelen se simila es en cuan o a dis ibución del sen imien o.
Pese a la sa is acción con el p oceso gene al del p oyec o exis en cie os aspec os
que pod ían se omados en cuen a pa a a a de mejo a el esul ado de los modelos
en enados y la in e p e ación del más e icien e. Uno de es os aspec os pod ía se
amplia el con enido de nues o da ase con a iables empo ales o geog á icas pa a
pode obse a la e olución de la opinión pública a lo la go de un pe íodo de iempo
y dis inguido po zonas geológicas. También se pod ía ealiza una in es igación más
p o unda con más iempo de es udio sob e écnicas de in e p e ación de esul ados
de modelos NLP como BERT, ya que es e modelo o ecía muy buenos esul ados y
supone una mejo a en á eas en las que los o os modelos allaban más como clasi ica
co ec amen e palab as según su con ex o.

In oduc ion
We a e in wha is p obably he e a o g ea es in e pe sonal connec ion in he
his o y o mankind, be ween he wen ie h and wen y- i s cen u y g ea cul u al
miles ones ha e been achie ed, he in en ion o he adio, he ansis o , he mic o-
p ocesso o he In e ne . This las in en ion has condi ioned he p esen and u u e
o ou species in a way ha no one could ha e imagined, o example, no one can
imagine a wo ld in which he e a e no applica ions like Google Maps o ins an ly
choose he bes ou e in a ci y we ha e ne e been o be o e. Many people do no
e en ge in o ma ion h ough con en ional media such as ele ision o newspape s,
hey ge all he in o ma ion h ough digi al media o social ne wo ks. The e a e
social ne wo ks en i ely dedica ed o exp essing opinions, such as Twi e , o e en
You ube is he habi a o independen media, in luence s and o he alke s.
The opic chosen o he s udy is Open AI, we seek o unde s and how people
pe cei e and eac o he company and how hei emo ions and eelings e ol e o e
ime. To achie e his, we will collec a la ge amoun o da a using web sc aping
echniques and classi y hem acco ding o he sen imen hey con ey. Subsequen ly,
we will use di e en classi ica ion models o es and alida e ou analysis wi h he
ob ained da a.
While his app oach ocuses speci ically on YouTube commen s, we belie e i
will p o ide aluable insigh s in o sen imen a ound Open AI. We a e con iden ha
he da a ob ained om hese sou ces will p o ide a comp ehensi e unde s anding o
public opinion.
In summa y, ou s udy will con ibu e o he g owing body o esea ch on sen i-
men analysis o social ne wo k da a and p o ide insigh s in o public emo ions and
opinions ela ed o Open AI.
7.1. Mo i a ion
Open AI has gone om being comple ely unknown by he gene al public o being
one o he mos alked abou opics in all kinds o discussions and deba es, bo h
a an academic le el and in mo e in ima e ci cles. Discussions abou his company
and i s p oduc s, Cha GPT being he mos ele an o all, ange om he u u e o
humani y o heses ha p opose es uc u ing lea ning me hods a all s ages o he
educa ional cycle. Due o he in e es a oused by Open AI in all sphe es o socie y,
81
82 Capí ulo 7. Conclusiones y T abajo Fu u o
i is an ideal opic o a s udy applying sophis ica ed na u al language p ocessing
echniques o y o ind and analyze emo ions and eelings exp essed by use s in
commen s on YouTube ideos ela ed o Open AI.
7.2. Obje i es
The main pu pose o his esea ch is o e alua e he emo ions and iews ha use s
exp ess on YouTube abou he impac o AIs in ou socie y, mo e speci ically he
impac o he company OpenAI, de elope o he mos popula AI oday, Cha GPT.
Th ough his de ailed analysis, we in end o de e mine he opinion o socie y on his
opic, as well as o gain deepe insigh in o he cha ac e is ics o he di e en opinions
and o help us unde s and in dep h how hese models wo k and wha ad an ages
hey ha e o e each o he .
Conclusions and Fu u e Wo k
In his inal chap e , we p oceed o p esen ou conclusions abou he wo k,
discussing bo h he en i e p ocess o p ojec de elopmen and he use o a ious
classi ie s and he esul s hey ha e p o ided. We will also discuss u u e wo k
ela ed o his p ojec .
Fi s ly, he en i e p ocess leading up o model aining was widely in e es ing, as
he ange o op ions a ailable when planning he p ojec de elopmen is ex ensi e,
om he wo king en i onmen o da a ex ac ion/ e ie al. We belie e ha ou
p ep ocessing app oach adds ex a alue o he en i e p ocess. Ins ead o using a
p e-exis ing and adap ed da ase o machine lea ning, we decided o c ea e ou own
da ase om sc a ch. This allowed us o unde s and each s ep o p ep ocessing mo e
p o oundly, om ex ac ing commen s h ough an API and o ma ing/cleaning he
ex o okenizing and lemma izing ou da ase . This ool has he po en ial o
become much mo e complex, pe o ming ad anced asks such as selec ing speci ic
ields o ex ac om YouTube commen s (loca ion, publica ion da e) o il e ing
commen s by language. I could e en allow selec ing di e en okeniza ion and
lemma iza ion me hods, all accompanied by a use - iendly isual in e ace. We will
undoub edly con inue wo king on his ool in he u u e.
Since he da ase unde s udy collec s all commen s om selec ed ideos, we
ha e no eal con ol o e he dis ibu ion o commen s among sen imen classes.
Addi ionally, i is only a e aining and e alua ing he NLP models used ha a clea
o e sampling o posi i e cases in ou da ase becomes appa en . Howe e , despi e
he no able pe o mance ad an age o he o e popula ed class in all models used, we
also ob ain conside ably high esul s o me ics analyzing he wo less ep esen ed
classes. While aining could likely be imp o ed o achie e mo e balanced esul s
by adjus ing he sample p opo ions, we used echniques in all models o educe
o mi iga e he aining imbalance owa d he posi i e class due o he a o able
sample disp opo ion o his class.
A his poin , we al eady had a gene al idea o people’s opinions on he s udy
opic based on he olume p opo ion o cases in each class. To u he unde s and
his beha io and y o subs an ia e he possible causes o he esul s ob ained, we
con inued wi h a deep analysis o expand knowledge abou ou speci ic case s udy.
Gi en he aining esul s ob ained o he chosen models, i was easy o de e -
mine which model o use o he deep analysis, gi en he signi ican pe o mance
di e ence be ween his model and he o he s. Howe e , i u ned ou o be an
83
90 BIBLIOGRAFÍA
[12] Wikipedia, Nl k, h ps://es.wikipedia.o g/wiki/NLTK, [Online; 15-
No embe -2023] (2023).
[13] S. N. G oup, S anza – a py hon nlp package o many human languages, h ps:
//s an o dnlp.gi hub.io/s anza/, [Online; 15-No embe -2023] (2020).
[14] C. U. P ess, S emming and lemma iza ion, h ps://nlp.s an o d.edu/
IR-book/h ml/h mledi ion/s emming-and-lemma iza ion-1.h ml, [Onli-
ne; accessed 7-Decembe -2023] (2008).
[15] Ma hWo ks, S emming, h ps://la.ma hwo ks.com/disco e y/s emming.
h ml, [Online; accessed 4-Decembe -2023] (1994).
[16] S. S inidhi, Lemma iza ion in na u al language p ocessing, h ps://buil in.
com/machine-lea ning/lemma iza ion, [Online; accessed 6-Decembe -2023]
(2023).
[17] A. S. Gillis, lemma iza ion, h ps://www. ech a ge .com/
sea chen e p iseai/de ini ion/lemma iza ion, [Online; accessed 6-
Decembe -2023] (2023).
[18] P. Jain, Basics o coun ec o ize , h ps:// owa dsda ascience.com/
basics-o -coun ec o ize -e26677900 9c, [Online; accessed 19-Decembe -
2023] (2021).
[19] sciki lea n, sklea n. ea u eex ac ion. ex . id ec o ize , h ps:
//sciki -lea n.o g/s able/modules/gene a ed/sklea n. ea u e_
ex ac ion. ex .T id Vec o ize .h ml, [Online; accessed 19-Decembe -
2023] (2021).
[20] D. L. Yse, K-nea es neighbo (knn) explained, h ps://www.pinecone.io/
lea n/k-nea es -neighbo /, [Online; accessed 8-Decembe -2023] (2023).
[21] T. S i as a a, A comple e guide o k-nea es neigh-
bo s, h ps://www.analy ics idhya.com/blog/2018/03/
in oduc ion-k-neighbou s-algo i hm-clus e ing/, [Online; acces-
sed 8-Decembe -2023] (2023).
[22] ibm, K-nea es neighbo s algo i hm, h ps://www.ibm.com/ opics/knn, [On-
line; accessed 8-Decembe -2023] (2023).
[23] E. Gomede, Unde s anding mul inomial nai e ba-
yes classi ie , h ps://medium.com/@e e ongomede/
unde s anding-mul inomial-nai e-bayes-classi ie - dbd41b405b ,
[Online; accessed 8-Decembe -2023] (2023).
[24] sciki lea n, Mul inomial nai e bayes, h ps://sciki -lea n.o g/s able/
modules/nai e_bayes.h ml#mul inomial-nai e-bayes, [Online; accessed 8-
Decembe -2023] (2023).

BIBLIOGRAFÍA 91
[25] Wikipedia, Random o es , h ps://en.wikipedia.o g/wiki/Random_
o es , [Online; accessed 1-Decembe -2023] (2023).
[26] sciki lea n, sklea n.ensemble. andom o es classi ie , h ps://
sciki -lea n.o g/s able/modules/gene a ed/sklea n.ensemble.
RandomFo es Classi ie .h ml, [Online; accessed 1-Decembe -2023] (2023).
[27] Wikipedia, Validación c uzada, h ps://es.wikipedia.o g/wiki/Validaci%
C3%B3n_c uzada, [Online; accessed 3-Janua y-2023] (2023).
[28] sciki lea n, C oss- alida ion: e alua ing es ima o pe o mance, h ps://
sciki -lea n.o g/s able/modules/c oss_ alida ion.h ml, [Online; ac-
cessed 3-Janua y-2023] (2023).
[29] sciki lea n, sklea n.pipeline.pipeline, h ps://sciki -lea n.o g/s able/
modules/gene a ed/sklea n.pipeline.Pipeline.h ml, [Online; accessed
19-Decembe -2023] (2021).
[30] sciki lea n, sklea n.model-selec ion. ain- es -spli , h ps://sciki -lea n.
o g/s able/modules/gene a ed/sklea n.model_selec ion. ain_ es _
spli .h ml, [Online; accessed 21-Decembe -2023] (2023).
[31] sciki lea n, sklea n.me ics.classi ica ion epo , h ps://sciki -lea n.o g/
s able/modules/gene a ed/sklea n.me ics.classi ica ion epo .
h ml#sklea n.me ics.classi ica ion epo , [Online; accessed 15-
Decembe -2023] (2015).
[32] sciki lea n, sklea n.linea .model.logis ic eg ession, h ps://
sciki -lea n.o g/s able/modules/gene a ed/sklea n.linea _model.
Logis icReg ession.h ml, [Online; accessed 21-Decembe -2023] (2023).
[33] Wikipedia, Función so max, h ps://es.wikipedia.o g/wiki/Funci%C3%
B3n_So Max, [Online; accessed 3-Janua y-2024] (2022).
[34] E. J.Ca mona, Tu o ial sob e máquinas de ec o es sopo e (s m),
h p://www.ia.uned.es/~ejca mona/publicaciones/%5B2013-Ca mona%
5D%20SVM.pd , [Online; accessed 27-No embe -2023] (2014).
[35] sciki lea n, sklea n.s m.s c, h ps://sciki -lea n.o g/s able/modules/
gene a ed/sklea n.s m.SVC.h ml#sklea n.s m.SVC, [Online; accessed 10-
Decembe -2023] (2023).
[36] V. Reddy, Sen imen analysis using s m, h ps://medium.com/sc apehe o/
sen imen -analysis-using-s m-338d418e3 1, [Online; accessed 10-
Decembe -2023] (2018).
[37] sciki lea n, sklea n.mul iclass.one s es classi ie , h ps://
sciki -lea n.o g/s able/modules/gene a ed/sklea n.mul iclass.
OneVsRes Classi ie .h ml, [Online; accessed 10-Decembe -2023] (2024).
92 BIBLIOGRAFÍA
[38] HuggingFace, Py o ch- ans o me s, h ps://py o ch.o g/hub/
hugging ace_py o ch- ans o me s/, [Online; accessed 15-Decembe -
2023] (2022).
[39] Tenso Flow, Clasi ica ex o con be , h ps://www. enso low.o g/ ex /
u o ials/classi y_ ex _wi h_be ?hl=es-419, [Online; accessed 15-
Decembe -2023] (2022).
[40] N idiaDe elope , Cuda oolki 11.1.0, h ps://de elope .n idia.com/
cuda-11.1.0-download-a chi e?, [Online; accessed 19-Decembe -2023]
(N/A).
[41] N idiaDe elope , cudnn a chi e, h ps://de elope .n idia.com/ dp/
cudnn-a chi e, [Online; accessed 19-Decembe -2023] (N/A).
[42] N idiaDocsHub, Ins alla ion guide, h ps://docs.n idia.com/
deeplea ning/cudnn/ins all-guide/index.h ml, [Online; accessed 19-
Decembe -2023] (2023).
[43] sciki lea n, Me ics and sco ing: quan i ying he quali y o p e-
dic ions, h ps://sciki -lea n.o g/s able/modules/model_e alua ion.
h ml, [Online; accessed 15-Decembe -2023] (2015).
[44] sciki lea n, sklea n.me ics.accu acy-sco e, h ps://sciki -lea n.o g/
s able/modules/gene a ed/sklea n.me ics.accu acy_sco e.h ml, [On-
line; accessed 21-Decembe -2023] (2023).
[45] sciki lea n, sklea n.me ics.p ecision- ecall- sco e-suppo , h ps:
//sciki -lea n.o g/s able/modules/gene a ed/sklea n.me ics.
p ecision_ ecall_ sco e_suppo .h ml#sklea n.me ics.p ecision_
ecall_ sco e_suppo , [Online; accessed 15-Decembe -2023] (2015).
[46] S. Salih, Cu se o dimensionali y: An in ui i-
e explo a ion, h ps:// owa dsda ascience.com/
cu se-o -dimensionali y-an-in ui i e-explo a ion-1 b 155e1411,
[Online; accessed 1-Janua y-2024] (2023).
[47] G. E. Nikolaos Koui oukidis, The e ec s o dimensionali y cu se in high dimen-
sional knn sea ch, h ps://ieeexplo e.ieee.o g/documen /6065061, [Onli-
ne; accessed 1-Janua y-2024] (2011).
[48] S. S. Nalla, Explainable ai: In e p e ing be model, h ps://medium.com/
@sn7d4/explainable-ai-in e p e ing-be -model-534094e0e015, [Onli-
ne; accessed 27-Decembe -2023] (2022).
[49] M. Ancona, E. Ceolini, C. Öz i eli, M. G oss, Towa ds be -
e unde s anding o g adien -based a ibu ion me hods o
deep neu al ne wo ks, h ps:// owa dsda ascience.com/
using-a-da aloade -in-hugging- ace-52388 552259, [Online; acces-
sed 27-Decembe -2023] (2018).
BIBLIOGRAFÍA 93
[50] Cap um, In eg a ed g adien s, h ps://cap um.ai/docs/ex ension/
in eg a ed_g adien s, [Online; accessed 27-Decembe -2023] (2024).
[51] N. Ka z, Using a da aloade in hugging ace, h ps:// owa dsda ascience.
com/using-a-da aloade -in-hugging- ace-52388 552259, [Online; acces-
sed 27-Decembe -2023] (2021).
[52] Seabo n, seabo n, s a is ical da a isualiza ion, h ps://seabo n.pyda a.
o g/index.h ml, [Online; accessed 27-Decembe -2023] (2023).