scieee Open visual document viewer

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

Villacorta de Aza, Jorge; Tabernero Pérez, Alejandro; Mata Fernández de Valderrama, Alonso

Abstract

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

Full text

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