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).