Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Universidad Nacional del Centro de la Provincia de Buenos Aires FACULTAD DE CIENCIAS EXACTAS Ingeniería de Sistemas Trabajo Final Una imagen vale más que mil palabras, ¿o al revés? Detección de hate speech en contextos multimodales Alumnos: Sofía Barceló Magalí Boulanger Directores: Antonela Tommasel Juan Manuel Rodriguez Agradecimientos A mi familia por ser siempre soporte y guía, a Juan por el apoyo incondicional. A mis amigas y compañeros por recorrer juntos este camino y darnos aliento, y sobre todo a Maga con la que compartimos desde el primer trabajo hasta este. A todos los que me dieron fuerzas cuando fue necesario, no hubiese podido llegar hasta acá sola. Sofía A mi familia por su apoyo incondicional. A Joshua por su compañía en este “último tirón”. A mis amigos de la vida por estar presentes a su manera en cada momento importante. A mis “facuamigos” por hacer más divertidas las jornadas de estudio, no hubiese sido lo mismo sin ellos. A todos los que han sido parte de esta hermosa etapa. Magalí A la UNICEN y toda su gente, que trabajan día a día para formar profesionales. A nuestros directores, por brindarnos su conocimiento y guía con total predisposición. A todos y cada uno, gracias. 1 Índice Agradecimientos 1 Índice 2 Índice de Figuras 3 Índice de Tablas 5 Índice de Ecuaciones 6 Índice de Algoritmos 6 Capítulo 1. Introducción 7 1.1 Motivación 7 1.2 Objetivo 11 1.3 Organización del documento 11 Capítulo 2. Marco teórico y trabajos relacionados 12 2.1 Marco teórico 12 2.2 Trabajos relacionados 14 2.2.1 Enfoque unimodal en texto 14 2.2.2 Enfoque unimodal en imágenes 16 2.2.3 Enfoque multimodal 19 Capítulo 3. Propuesta 26 3.1 Procesamiento de features 27 3.1.1 Extracción de texto en la imagen 27 3.1.2 Extracción de features de las imágenes 28 3.1.3 Extracción de features del texto 29 3.1.4 Concatenación y normalización 30 3.2 Clustering 30 3.3 Clasificación y determinación de Hate Speech 37 3.4 Análisis completo para un meme 40 Capítulo 4. Evaluación experimental 42 4.1 Descripción del dataset 42 2 4.2 Métricas de evaluación 47 4.3 Baseline 48 4.3.1 Resultados unimodales 48 4.3.2 Enfoque inicial 50 4.3.3 Trabajos en la literatura 52 4.4 Implementación 53 4.5 Resultados 53 4.5.1 Resultados con threshold arbitrario (0,01) 54 4.5.2 Resultados calculando optimal threshold en cada caso 56 4.5.3 Resultados sin utilizar información de clustering 58 4.5.4 Análisis y comparación de resultados 58 4.5.5 Generalización 59 4.5.5.1 Preprocesamiento de los datos 60 4.5.5.2 Resultados unimodales 61 4.5.5.3 Resultados sobre el modelo multimodal 61 Capítulo 5. Conclusiones 66 Referencias 67 3 Índice de Figuras Figura 1. Esquema del enfoque propuesto. 26 Figura 2. Memes con gran cantidad de texto. 27 Figura 3. Ejemplo de la remoción de texto en una imagen utilizando keras OCR y CV2. 28 Figura 4. Ejemplo del resultado de la remoción de texto utilizando kerasOCR y CV2. 28 Figura 5. Gráfico de salida del método del codo. 33 Figura 6. Gráfico de salida del método de la silueta. Dataset original. 34 Figura 7. Gráfico de salida del método de la silueta. Imágenes sin texto. 35 Figura 8. Método de la silueta considerando 50 clusters como máximo. 35 Figura 9. Distribución de las imágenes en clusters. 36 Figura 10, Modelo de clasificación. 38 Figura 11. Meme para el análisis. 40 Figura 12. Imagen sin texto. 40 Figura 13. Bening text confounders. 44 Figura 14. Bening image confounder. 46 Figura 15. Modelo de Clasificación de texto. 49 Figura 16. Enfoque inicial. 50 Figura 17. Método de la Silueta para las features de texto. 51 Figura 18. Gráfico de distribución de features de texto. 52 Figura 19. Gráfico de comparación de resultados 59 . 4 Índice de Tablas Tabla 1. Resultados de [37]. 22 Tabla 2. Resultados enfoque inicial 51 Tabla 3. Resultados con Bisecting KMeans y bert-base-uncased. 54 Tabla 4. Resultados con Kmeans y all-MiniLM-L6-v2. 54 Tabla 5. Resultados con Bisecting Kmeans y all-MiniLM-L6-v2. 55 Tabla 6. Resultados con Kmeans y bert-base-uncased. 55 Tabla 7. Resultados con Bisecting Kmeans y bert-base-uncased. 56 Tabla 8. Resultados con Bisecting Kmeans y all-MiniLM-L6-v2. 56 Tabla 9. Resultados con Kmeans y all-MiniLM-L6-v2. 57 Tabla 10, Resultados con Kmeans y bert-base-uncased. 57 Tabla 11. Resultados sin utilizar información de clustering. 58 Tabla 12. Resultados MMHS150K con Bisecting KMeans y bert-base-uncased. 61 Tabla 13. Resultados MMHS150K con Kmeans y all-MiniLM-L6-v2. 61 Tabla 14. Resultados MMHS150K con Bisecting Kmeans y all-MiniLM-L6-v2. 62 Tabla 15. Resultados MMHS150K con Kmeans y bert-base-uncased. 62 Tabla 16. Resultados MMHS150K con Bisecting Kmeans y bert-base-uncased. 63 Tabla 17. Resultados MMHS150K con Bisecting Kmeans y all-MiniLM-L6-v2. 63 Tabla 18. Resultados MMHS150K con Kmeans y all-MiniLM-L6-v2. 64 Tabla 19. Resultados MMHS150K con Kmeans y bert-base-uncased. 64 Tabla 20, Resultados MMHS150K con Kmeans y bert-base-uncased. 64 5 Capítulo 1. Introducción 1.1 Motivación La libertad de expresión es un derecho fundamental de las personas que nos otorga la capacidad de opinar, expresar, obtener y difundir pensamiento e ideas sin perjuicio alguno. Con el uso de las redes para su difusión, el alcance de nuestros pensamientos e ideas ha crecido exponencialmente, y así como esta hipercomunicación puede resultar beneficiosa en numerosos aspectos, su cara negativa es un arma peligrosa. Es importante comprender de qué se trata el hate speech. En este sentido, existen diversas definiciones en la literatura. Una de las primeras fue la propuesta por Nockleby [1], quien sostuvo que “cualquier comunicación que desprestigie a una persona o grupo basándose en características como raza, color, etnia, género, orientación sexual, nacionalidad o religión entre otras” constituye un ejemplo de hate speech [2]. Por otra parte, han definido hate speech como “[cualquier expresión del] lenguaje que ataca o disminuye, que incita a la violencia o al odio contra grupos, con base en características específicas como apariencia física, religión, ascendencia, origen nacional o étnico, orientación sexual, identidad de género u otras, y puede ocurrir con diferentes estilos lingüísticos, incluso en formas sutiles o cuando se usa el humor" [2]. En los últimos años, las redes sociales12 debieron hacer frente al fenómeno de hate speech, proponiendo sus propias definiciones. Por ejemplo, de acuerdo con Facebook, el hate speech representa “un ataque directo a las personas basado en características protegidas: raza, etnia, origen nacional, afiliación religiosa, orientación sexual, casta, sexo, género, identidad de género y enfermedad o discapacidad grave. También se incluyen algunas protecciones para el estado migratorio. Un ataque se constituye como discurso violento o deshumanizante, declaraciones de inferioridad o llamados a la exclusión o segregación” [3]. Twitter, por su parte, define al hate speech como actividades o conductas que pueden "promover la violencia, atacar o amenazar directamente a otras personas por motivos de raza, origen étnico, nacionalidad, orientación sexual, género, identidad de género, afiliación religiosa, edad, discapacidad o enfermedad grave" [3]. No solo las redes sociales y el ámbito académico se han expedido respecto al hate speech, sino que hay antecedentes de instituciones gubernamentales que han abordado la 2 https://transparency.fb.com/es-la/policies/community-standards/hate-speech/?from=https%3A%2F%2Fm.facebo ok.com%2Fcommunitystandards%2Fhate_speech%2F&refsrc=deprecated 1 https://www.aljazeera.com/news/2020/12/3/twitter-expands-hate-speech-rules-to-include-race-ethnicity 6 https://transparency.fb.com/es-la/policies/community-standards/hate-speech/?from=https%3A%2F%2Fm.facebook.com%2Fcommunitystandards%2Fhate_speech%2F&refsrc=deprecated https://transparency.fb.com/es-la/policies/community-standards/hate-speech/?from=https%3A%2F%2Fm.facebook.com%2Fcommunitystandards%2Fhate_speech%2F&refsrc=deprecatedhttps://www.aljazeera.com/news/2020/12/3/twitter-expands-hate-speech-rules-to-include-race-ethnicity problemática. En este contexto, de acuerdo con el Tribunal Europeo de Derechos Humanos hate speech incluye "todas las formas de expresión que difunden, incitan, promueven o justifican el odio racial, la xenofobia, el antisemitismo u otras formas de odio basadas en la intolerancia, incluida la intolerancia expresada por un nacionalismo agresivo y etnocentrismo, discriminación y hostilidad hacia las minorías, los migrantes y las personas de origen inmigrante” [4]. El gobierno del Reino Unido3, por su parte, además de definir la problemática, también propuso planes de acción para lograr un acceso seguro a los medios sociales. En nuestro país, el INADI (Instituto Nacional contra la Discriminación, la Xenofobia y el Racismo) caracteriza el hate speech utilizando un enfoque interdisciplinario y entendiendo que no existe un concenso conceptual sobre el término sino caracteristicas que permiten entenderlo en un primer acercamiento. Desde la perspectiva de la teoría social, lo describe como [16] “articulaciones discursivas que intentan impedir en el otro el ejercicio del derecho a la libertad y a la igualdad”. Asimismo, consideran que dichos discursos “articulan temores históricamente constituidos, prejuicios socialmente sostenidos y organizan una voluntad política de unificación sobre la eliminación de todo aquello que no se corresponda con cierta forma de entender y habitar el mundo”. Los diferentes tipos de discursos de odio utilizan una serie de mecanismos discursivos que sirven para construir una imagen simplificada, exagerada y distorsionada del grupo que es objeto de odio: - La construcción del otro como diferente. En este sentido, se identifica a un grupo determinado (“ellos”) como diferente a un supuesto “nosotros”. - La generalización. Elimina las diferencias individuales del grupo y lo asocia a características negativas. - Los chivos expiatorios. Señala a este grupo como responsable de los males sociales (el desempleo, la inseguridad, etc.) - La deshumanización. Pretende bloquear la tendencia natural a la empatía, negando la humanidad de las personas pertenecientes al grupo afectado a través del uso de insultos y de un lenguaje desagradable. Finalmente, contribuye a justificar la discriminación y la violencia contra este grupo. Asimismo, el INADI también ofrece una serie de recomendaciones para su control tanto para el usuario como para las plataformas. A los usuarios se les recomienda denunciar toda acción, bloquear a estos usuarios e ignorarlos. Cuanto mayor sea el número de usuarios y usuarias que denuncien, son mayores las posibilidades de que la plataforma cierre la cuenta del “hater” o el “troll”. Ante una noticia que circula por redes sociales y se duda de su 3 https://www.gov.uk/government/consultations/online-harms-white-paper/online-harms-white-paper 7 https://www.gov.uk/government/consultations/online-harms-white-paper/online-harms-white-paper procedencia, se les recomienda chequearla en otros medios y no compartirla si no se confirma su origen o veracidad. A las plataformas se les pide mejora en los mecanismos de denuncia, dar respuesta a denuncias de los usuarios frente a comportamientos abusivos, generar normas de uso claras y transparentes con la participación de las comunidades de usuarios. Además provee la plataforma Empatiz.Ar4 que permite informar sucesos relacionados con el hate speech conectando a los usuarios con la institución como una forma de mejorar la comunicación. Cabe destacar que no es un sitio para hacer denuncias sino para exponer, crear conciencia y avanzar en el diseño de políticas que apunten a disminuir esta problemática. Luego de las definiciones previamente expuestas, identificar instancias de hate speech escritas parece, a priori, una tarea simple, sin embargo, las palabras o expresiones no siempre manifiestan su cualidad de hate speech de forma directa o explícita, sino que en muchas ocasiones, “adquieren” su agresividad de acuerdo al contexto en el que son utilizadas. Por ejemplo, a partir del uso de recursos como el sarcasmo o la ironía [5]. En los casos donde se combina el texto con otros medios, como en los memes los cuales se constituyen como una combinación de texto e imágenes, el análisis se torna aún más complicado, dado que no basta con analizar la imagen y/o el texto por separado, sino que hay que analizar el meme como un conjunto, lo que plantea la necesidad de un análisis multimodal. Asimismo, en redes sociales, como Twitter, algunos estudios (por ejemplo, [6]) han demostrado que no solo debe tenerse en cuenta la imagen y el texto de los memes, sino también el texto propio de los tweets. Sin embargo, no todos los estudios coinciden respecto a los beneficios del análisis multimodal [7][8], lo que plantea la necesidad de continuar estudiando la problemática y las posibles soluciones a ella. El discurso de odio se respalda tras el derecho a la libre expresión ya que permite atacar verbalmente a grupos étnicos o religiosos, entre otros, sin el temor a ser penalizado. Esto genera controversias respecto a cómo gestionar dichos ataques ya que, basándose en el derecho de igualdad ante la ley, debería restringirse el hate speech relacionado con género, raza, color de piel o preferencia religiosa. Esta falta de regulación al respecto deja en estado de vulnerabilidad de ciertos grupos e incrementa la preocupación al respecto dado que, al no tener legislación sobre la cual respaldarse, se llega a situaciones donde los atacados buscan defenderse por sus propios medios, incrementando la violencia en ambos sentidos. Es importante detectar y eliminar el hate speech de las redes sociales ya que no solo hiere y falta el respeto a las personas o grupos de personas sobre las cuales se ejerce, sino que aumenta el riesgo de otros ataques más graves organizados en su contra. En este 4 https://www.argentina.gob.ar/inadi/observatorios/internet/empatizar 8 https://www.argentina.gob.ar/inadi/observatorios/internet/empatizar sentido, se han encontrado relaciones entre las experiencias de discurso de odio y otras variantes de ataques, y resultados negativos como la disminución de rendimiento escolar, el abandono y el comportamiento violento, en combinación con efectos psicológicos devastadores como la depresión, la baja autoestima e incluso el suicidio [10]. Asimismo, en los últimos años, ha habido varios casos de alto perfil que involucran a adolescentes que se quitaron la vida, en parte por haber sido acosados y maltratados a través de Internet. Si bien estos incidentes aún son aislados y no representan la norma, su gravedad exige una comprensión más profunda [11]. Además, estos ataques también hacen que sus objetivos se sientan desmoralizados y frustrados, actuando así como una barrera para la participación y socialización. Este impacto puede llegar a muy grandes escalas como se ha plasmado en [17] donde se analiza la relación entre hate speech y misinformation. Se llama misinformation o desinformación a la información falsa o engañosa que, a sabiendas de esto, se difunde y utiliza para engañar o manipular a un público. Se ha demostrado que este fenómeno está estrechamente relacionado con el hate speech y contribuye a su propagación. En marzo de 2020 el presidente de los Estados Unidos, Donald Trump, publicó un tweet donde llamaba al virus Covid-19 el “Virus Chino”, vinculando así a la población china con el mismo y viralizando esta creencia. A partir de esto se realizó un trabajo en el cual se utilizó el dataset COVID-HATE que, con 30 millones de tweets entre enero y abril del 2020, es el dataset más extenso sobre odio anti-asiático limitándose a la población estadounidense. Sobre este se analizaron mediante el uso de word embeddings los tweets antes y después del tweet de Donald Trump y se encontró que hubo un fuerte aumento en el número de tweets que mencionaban frasescomo "virus chino" inmediatamente después del tweet de Trump. Curiosamente, este cambio fue impulsado por un aumento no sólo del discurso de odio, sino también del contra-discurso de odio. Por otra parte, también se examinó el cambio de contexto alrededor de la frase en los tweets anteriores y posteriores al de Trump encontrando que antes de este suceso los usuarios que estaban en contra de los asiáticos atacaban a cadenas televisivas liberales y propagandas del gobierno chino y luego del tweet la tendencia se volvió más agresiva utilizando hashtags como #chinaledpeopledied o #chinesebioterrorism. A su vez, el tweet de Trump empeoró la tensión entre los usuarios que publicaban o compartían hate speech contra los que se oponían a él, llamándose unos a otros racistas y xenófobos o simpatizantes del gobierno chino. En conclusión, la desinformación va de la mano con el hate speech y lo empeora, de forma tal que cualquier solución que apunte a eliminar uno debiera atacar ambos. 9 1.2 Objetivo El objetivo de este trabajo es proponer una técnica de detección de hate speech multimodal, que tenga en cuenta no solo el texto, sino también el contexto que brinda la imagen que acompaña el texto. Para esto, se tomarán como base técnicas existentes y se realizará un análisis de las mismas comparando sus resultados. Para alcanzar este objetivo, se definen tres etapas de trabajo: 1. Definir la representación textual de las instancias. 2. Definir la representación de las imágenes en las instancias. 3. Estudiar y definir una estrategia de fusión de las representaciones textuales y visuales. Para dar soporte a este trabajo, se realizarán evaluaciones utilizando colecciones de datos disponibles en la literatura. 1.3 Organización del documento Este informe se encuentra estructurado en 5 capítulos. El Capítulo 2 presenta el marco teórico del trabajo, incluyendo la definición de meme y su relación con el hate speech. Asimismo, se presentan trabajos relacionados de la literatura, sus resultados, ventajas y desventajas. Luego, en el Capítulo 3, se abordará en detalle la propuesta del presente trabajo, para luego en el Capítulo 4 analizar los resultados obtenidos en cada prueba. Finalmente se dará cierre al trabajo en el Capítulo 5 con las conclusiones y trabajos futuros. Debido a la naturaleza de este trabajo, en las siguientes secciones se podrán encontrar figuras con términos potencialmente ofensivos (por ejemplo, insultos racistas, sexistas y homofóbicos). Decidimos no eliminar ni censurar estos términos dado que resultan características importantes del conjunto de datos. 10 Capítulo 2. Marco teórico y trabajos relacionados 2.1 Marco teórico En el capítulo anterior, se brindaron diferentes definiciones de hate speech según diversas organizaciones de distinta índole. Se tomará como referencia principalmente la proporcionada por el Tribunal Europeo de Derechos Humanos, dado que resulta la más clara y abarcativa. Esto último, lleva a dejar en claro cuál será el ámbito de estudio y detección del hate speech. Como se mencionó anteriormente, se trabajará con imágenes y texto en conjunto realizando un análisis multimodal. Estas imágenes con texto son conocidas como “meme”, y a continuación se mencionan algunas de las definiciones del término. Según la RAE5, un meme es una “Imagen, vídeo o texto, por lo general distorsionado con fines caricaturescos, que se difunde principalmente a través de internet”. La primera definición de meme fue escrita por Dawkins [12], basándose en la teoría Darwiniana. De hecho, la palabra meme nace buscando un término que suene parecido a gen (gene en inglés). “En este sentido, es posible proponer una primera caracterización del concepto de meme como una unidad de transmisión que puede replicarse a sí misma por medio de la imitación y que posee tres características que la hacen exitosa: longevidad, fecundidad y fidelidad de copia. Es sensible a las presiones ambientales, incluidas las causadas por sus pares, y no es teleológica” [12]. Además, es posible decir que el comportamiento de los memes es técnicamente, y no metafóricamente, similar al de las estructuras vivas [12]. Otros autores se basaron en esta teoría que representa al meme como una unidad viva que se transmite mente a mente a través de copias. Sin embargo, la idea de meme fue mutando. Sperber [13] agregó un punto de vista comparable con epidemias. “Una representación puede transmitirse lentamente durante generaciones y son comparables con las endémicas; otras representaciones se extienden rápidamente por toda una población y tienen una vida corta, siendo comparables con epidemia”. Además, agregó que los memes, por ser una representación, se pueden propagar tanto de manera vertical (generación a generación) como horizontal (entre distintas poblaciones de la misma generación). 5 https://dle.rae.es/meme 11 https://dle.rae.es/meme Otros autores como Dennet [15], descartan la teoría Darwiniana ya que “Específicamente, la evolución darwiniana depende más de una alta fidelidad de copia, mientras que el meme se basa más en una alta tasa de replicación por medio de una herramienta. Esta herramienta no solo copia el meme, sino que los transforma, inventa, interpola, censura y mezcla, produciendo resultados diferentes cada vez.” Por su parte, Olesen [14] abre paso a la noción de meme como un fenómeno cultural. “cualquier forma de fenómeno cultural que se puede copiar de una mente a otra”. A raíz de esto, el mismo Dawkins [12] cambia su definición pasando de la analogía de meme como a gen a la de meme como virus de computadora. Un meme se reproduce de manera “epidémica” y su objetivo es propagarse y replicarse. Un virus, contrario a un gen, no puede propagarse y replicarse por sí mismo, necesita un agente o anfitrión para hacerlo. Una definición moderna de meme es presentada en [15]: “Un meme de internet es una unidad de información (idea, concepto o creencia), que se replica a través de Internet (correo electrónico, chat, foro, redes sociales, etc.) en forma de hipervínculo, vídeo, imagen, o frase. Puede transmitirse como una copia exacta o puede cambiar y evolucionar. La mutación en la replicación puede ser por sentido, manteniendo la estructura del meme o viceversa. La mutación se produce por casualidad, adición o parodia, y su forma no es relevante. Un meme de internet depende tanto de un transportista como de un contexto social donde el transportista actúa como filtro y decide qué se puede transmitir. Se propaga horizontalmente como un virus a una velocidad rápida y acelerada. Puede ser interactivo (como un juego), y algunas personas los relacionan con la creatividad. Su movilidad, almacenamiento y alcance están basados en web (Discos duros, celulares, servidores, nube, etc.). Pueden fabricarse (como en el caso del marketing viral) o emerger (como un evento offline llevado online). Su objetivo es ser lo suficientemente conocidos como para replicarse dentro de un grupo.” La definición de meme considerado hate speech que usaremos para la clasificación en nuestro trabajo es entonces una conjunción de las definiciones de cada término por separado. Una unidad de información, creencia o idea replicada a través de Internet en forma de hipervínculo, video, imagen o frase (en el caso de este trabajo, imagenes y frases) que atacan, excluyen, deshumanizan o incitan a la violencia contra uno o más individuos basados en características como etnia, raza, género, identidad de género, color de piel, religión, condición migratoria, preferencia sexual, enfermedad o discapacidad. 12 2.2 Trabajos relacionados Previo a trabajos multimodales, como el enfoque que se presenta en este trabajo, la detección de hate speech ha sido principalmente unimodal, es decir, los trabajos existentes se enfocaron en analizar únicamente el texto o la imagen, aunque estos últimos trabajos no son tan comunes de encontrar. 2.2.1 Enfoque unimodal en texto Para la detecciónde hate speech unimodal basado en texto, existen variados trabajos como el de Gaydhani [32] que han propuesto un enfoque basado en N-grams y TF-IDF (Term Frequency-Inverse Document Frequency). Su modelo, partía de textos extraídos de redes sociales, a los cuales pre-procesaron para unificar todo en minúsculas y eliminar elementos propios de las redes sociales como las menciones a usuarios, los símbolos de retweet y las URLs. A continuación, definieron una representación tipo bag-of-words, para lo cual representaron las features como n-grams, a las cuales les ajustaron los pesos según sus valores de TF-IDF. La evaluación experimental se basó en tres conjuntos de datos utilizados en trabajos previos, como, por ejemplo, [33]. El primero y el segundo etiquetan los datos como Hateful, Offensive y Clean; mientras que el tercero, los etiqueta como Sexism, Racism y Neither. Luego de juntar las tres colecciones de datos, separaron los tweets de forma random en train (70%) y test (30%). Para el modelo consideraron tres algoritmos utilizados para clasificación de texto: Logistic Regression (LR), Naive Bayes (NB) y Support Vector Machines (SVM). Luego de realizar pruebas con diferentes hiperparametros obtuvieron finalmente que Logistic Regression era el que mejor se desempeñaba, con el rango óptimo de n-gram de 1 a 3 y con la normalización L2, obteniendo un 0,956 de accuracy, 0,96 de recall y 0,96 de precision. Considerando que la división en train y test fue realizada de forma random, los resultados podrían haberse visto afectados por una distribución desbalanceada de los datos. Rajput et al. [18] examinaron el texto de tweets para cuantificar el impacto de embeddings basados en BERT. Para la detección de hate speech, combinaron DNN (redes neuronales profundas, del inglés deep neural networks) con embeddings BERT para construir una representación contextual de los tweets. Inicialmente se creó una matriz de embeddings a partir de un gran conjunto de datos representando el embedding para cada palabra y luego esta matriz fue procesada mediante clasificadores DNN (por ejemplo, Long Short-Term Memory + fastText + GloVe, Long Short-Term Memory + static BERT embeddings, Bidirectional LSTM + static BERT embeddings) para identificar la presencia de hate speech. Como BERT utiliza el contexto para generar los embeddings, la misma palabra tuvo más de una entrada en la matriz, dependiendo del contexto de uso. Luego, se calculó 13 la media de las diferentes representaciones contextuales de la misma palabra para generar así la representación estática para esa entrada. Como resultados obtuvieron que los embeddings estáticos de BERT tienden a dar una mejor representación en comparación con técnicas de embedding no contextuales, como fastText o GloVe. La evaluación experimental fue realizada utilizando la colección de datos ETHOS [26], la cual cuenta con una distribución de clases balanceada. Los mejores resultados en todas las métricas que consideraron (accuracy, recall, precision, specificity) los consiguieron con la combinación de Bidirectional LSTM y BERT que aumentó la specificity hasta en un 8,72%. Por su parte, Niam et al. [19] utilizaron la técnica LSA (Análisis de la Semántica Latente, o del inglés, Latent Semantic Analysis) para analizar el texto extraído de memes compartidos en Twitter con OCR (Optical Character Recognition). LSA es un modelo computacional que aprovecha un fenómeno que se suele cumplir en el lenguaje natural: las palabras semánticamente relacionadas suelen aparecer juntas o en similares contextos. Luego, en base a las representaciones obtenidas, calcularon la similitud del coseno y consideraron el valor promedio de las distancias entre ellas para determinar si el texto era o no una instancia de hate speech. La evaluación de la técnica propuesta se basó en 1223 tweets escritos en Indonesio de cuentas difusoras de hate speech verificadas por la Oficina del Centro de Idiomas de la Provincia de Java Occidental en Indonesia. La técnica presentada alcanzó una precision media de 0,67, recall de 0,7684 y accuracy del 0,579. Si bien el trabajo resulta interesante por considerar un idioma usualmente poco representado, la falta de comparación de la técnica con otras técnicas de la literatura, en combinación con el hecho de que los resultados alcanzados son menores a los usualmente observados para otros idiomas, hace difícil determinar la real utilidad de la técnica presentada. Roy et al. [20] propusieron una solución basada en redes neuronales convolucionales. Este trabajo abordó la detección de hate speech en Twitter utilizando una red neuronal convolucional profunda. El modelo propuesto fue un Deep Convolutional Neural Network (DCNN) compuesto por varias capas. Inicialmente, normalizaron la cantidad de palabras de los tweets para usarlos como entrada en la primera capa. La misma utilizó un embedding vector GloVe pre-entrenado para generar un vector numérico a partir del texto. Estos vectores se concatenaron obteniendo una matriz de dimensión , donde era la𝑇 𝑘 × 𝑑 𝑘 cantidad de palabras del tweet y la dimensión del embedding pre-entrenado. La matriz𝑑 𝑇 fue usada como entrada para el proceso de convolución. En el ciclo de convolución, el filtro n-gram tuvo una dimensión , donde era el número de palabras del tweet en las𝑓 𝑛 × 𝑑 𝑛 que se realizó la convolución, y la misma que en la matriz . El filtro n-gram extrajo un𝑑 𝑇 total de features. La siguiente capa, la capa de pooling, redujo la dimensión{(𝑘 − 𝑛) + 1} 14 de las features mediante el algoritmo de max-pooling. Las features extraídas de la capa de pooling fueron la entrada de una capa densa completamente conectada que predecía las probabilidades de hate y no hate que alimentaron la capa de salida, donde la mayor probabilidad determinaba la clase de la muestra. La evaluación experimental estuvo basada en una colección de más de 30 mil tweets en inglés, con una distribución desbalanceada. Como baseline para comparar su técnica utilizaron diferentes representaciones basadas en n-grams ponderados utilizando TF-IDF, que luego fueron clasificadas utilizando técnicas tradicionales como Logistic Regression (LR), Random Forest (RF), Naive Bayes (NB), Logistic Regression Support Vector Machine (SVM), Decision Tree (DT), Gradient Boosting (GB), y K-nearest neighbour (KNN). Los mejores resultados alcanzaron una precision y recall de 0,8 y 0,4 respectivamente, utilizando una representación basada en (2,3)-grams clasificada con SVM. En lo que respecta a los modelos basados en redes neuronales, los resultados alcanzaron una precision y recall de 0,67 y 0,53, respectivamente. Estos resultados fueron obtenidos utilizando una partición de los datos en training-test. Considerando que los autores no realizan comentarios respecto a si trataron o no el desbalanceo de los datos, esta puede ser la causa de los bajos resultados obtenidos. De forma complementaria, los autores reportan resultados realizando una evaluación con 10-folds. De acuerdo a lo reportado, dicha división de datos permitió mejorar notablemente los resultados para ambas clases. Sin embargo, considerando los valores obtenidos, es probable que la diferencia entre los mismos se deba a alguna cuestión procedimental respecto a ambas alternativas y no a una diferencia atribuible a los datos en sí. 2.2.2 Enfoque unimodal en imágenes En lo que respecta al análisis unimodal de hate speech en imágenes, el número de trabajos encontrados en la literatura es menor que para el análisis sólo considerando texto. En este sentido, se extendió la búsqueda a tareas relacionadas como la detección de cyberbullying, sexist memes o trolls. Vishwamitra et al. [22] se enfocaron en la detección de ciberbullying mediante cinco factores visuales contextuales de alto nivel: postura corporal, emoción facial, objeto, gesto y factores sociales. Con esta información, compararon diferentes clasificadores. El modelo base consistió enuna CNN que analizaba la información obtenida de las imágenes. El segundo fue un perceptrón multicapa cuyas entradas fueron únicamente los factores mencionados anteriormente. Otra prueba realizada fue utilizando un VGG 16 pre-entrenado para el dataset Imagenet6 para detección de objetos, el cual ajustaron entrenando nuevamente sus capas lineales con la información de las imágenes del dataset. El último 6 https://www.image-net.org/ 15 https://www.image-net.org/ modelo comparado fue un modelo que combinaba la información extraída de las imágenes con los factores visuales definidos. Los datos fueron recolectados de redes sociales y foros públicos y anotados utilizando MTurk, solicitando anotadores con un alto índice de aprobación. Se obtuvieron 4.719 imágenes consideradas como cyberbullying y 14.581 como non-cyberbullying. Los mejores resultados fueron obtenidos con el modelo combinado alcanzando un 0,93 de accuracy, un 0,94 de precision y 0,96 de recall. Si bien la tarea es similar a la detección de hate speech, las imágenes que utilizaron para el entrenamiento y validación del modelo resultan diferentes a los memes ya que carecen de texto, y además, no contaban con factores que pudieran “confundir” al clasificador, ya que no se consideraba la posibilidad de contar con imágenes irónicas, donde el cyberbullying estuviera dado por el contexto y no por los gestos o posturas. Entre otros trabajos similares sobre imágenes cabe mencionar el realizado por Montefalcon et al. [27], en el cual analizaron expresiones faciales en videos de TikTok para determinar si los mismos eran ofensivos o no. Crearon su propio dataset a partir de imágenes extraídas de dichos videos, luego eliminaron el ruido de las imágenes y utilizaron Haar Cascade, un algoritmo de detección de rostros de la biblioteca OpenCV, para detectar y recortar automáticamente las regiones faciales de la imagen. Finalmente, convirtieron las imágenes a escala de grises para disminuir su complejidad. En el procesamiento, utilizaron dos enfoques, en el primero, al cual llamaron “convencional”, se utilizaron cinco modelos de machine learning (SVM, Naive Bayes, Adaboost Classifier y Random Forest); mientras que para el segundo enfoque crearon una red neuronal convolucional profunda basada en la arquitectura ResNet50 para desarrollar un modelo de Facial Expression Recognition que pudiera clasificar si una imagen representaba hate o no hate. Encontraron que el modelo entrenado con Random Forest superó a otros clasificadores en el enfoque convencional y también fue mejor que el enfoque basado en la arquitectura CNN Resnet 50, con una precision de 0,81. Fersini, Gasparini y Corchs [28] realizaron un trabajo sobre memes sexistas, centrándose en los siguientes tipos principales de sexismo contra las mujeres: Avergonzamiento (relacionados con la apariencia física, es decir el body shaming), Estereotipo (de rol en la sociedad, o su personalidad o comportamientos domésticos - estereotipo de género), Objetivación (verla como un objeto), Violencia (física o verbal en un contenido textual o visual). La evaluación fue realizada considerando 800 memes obtenidos de redes sociales y sitios web dedicados a la creación y recolección de memes. Realizaron pruebas con clasificadores unimodales y multimodales. En lo que respecta a la clasificación unimodal, la representación del texto se realizó utilizando el modelo bag-of-words y los mejores resultados para la información textual fueron obtenidos combinados con un SVM. Por su 16 parte, para la información visual, se generaron las representaciones de forma manual considerando características de bajo y de alto nivel como el contraste, la rugosidad, la varianza de croma, la entropía, la complejidad de la imagen y el grado de enfoque entre otros parámetros. Los mejores resultados para el análisis unimodal visual fueron obtenidos utilizando las características definidas para entrenar un modelo 1-NN (1-Nearest Neighbors). El análisis unimodal textual identificó bien tanto las sexistas (precision: 0,739, recall: 0,7) como las no sexistas (precision: 0,779, recall: 0,81), y en el caso del análisis unimodal visual, clasificó bien las no sexistas (precision: 0,845, recall: 0,838) pero mal las sexistas (precision: 0,391, recall: 0,402). Luego, como parte del análisis multimodal, consideraron dos enfoques de fusión: early (o temprano) y late (o tardío), los cuales se diferenciaron por el momento en el cual fusionaban las features. Finalmente concluyeron que el enfoque multimodal late obtiene mejores resultados con una precision de 0,76 y recall de 0,72 y demostraron que las predicciones erróneas que se encontraban mediante la información visual pueden ser compensadas por la contribución de la información textual. Finalmente y como se mencionó al comienzo de esta sección, otra tarea similar considerada es la detección de trolls. En Internet, un troll es una persona que molesta o inicia un odio hacia las personas o la comunidad. El trolling es la actividad de publicar un mensaje a través de las redes sociales con la intención de ser ofensivo, provocador o amenazante para distraer, que a menudo tiene un contenido digresivo o fuera de tema con la intención de provocar a la audiencia. En este contexto, Suryawanshi et al. [29] presentaron un modelo de clasificación de trolling basado en imágenes para el idioma Hindú. El contenido de los memes hindúes podía estar escrito en inglés, en un idioma nativo (escritura nativa o extranjera) o en una mezcla de idiomas y escrituras. El conjunto de datos contaba con 2.969 memes obtenidos de contribuyentes que los enviaron voluntariamente, de este total, 1.951 fueron anotados como trolls. Existían imágenes repetidas en el conjunto de datos pero asociadas a diferentes textos. Realizaron dos experimentos con cuatro variaciones de cada uno utilizando ResNet y MobileNet como baseline para cada uno de ellos. La primera variación introducida fue la utilización de Imagenet donde el modelo previo utilizaba los pesos de ImageNet pre-entrenados en el conjunto de datos. Luego, para solucionar el desequilibrio de clases, introdujeron 1.000 imágenes del conjunto de datos Flickr30k al conjunto de entrenamiento (Flickr1k), consiguiendo así en esta variación 3.969 imágenes (1.951 trolls y 2.018 no trolls). En la última variación, añadieron 30.000 imágenes no trolls del conjunto de datos Flickr30k. Como resultado de todas estas pruebas, obtuvieron que el modelo no funcionaba bien para clasificar los memes dentro de la categoría trolls dado que el mejor resultado para la precision fue de 0,37 para la primera variación utilizando ResNet. Atribuyeron estos resultados, por un lado al desequilibrio de 17 clases en el conjunto de datos, y por otro a la esencia de los memes, dado que se combina imagen y texto y los clasificadores que propusieron analizaban solo imágenes. 2.2.3 Enfoque multimodal Sabat, Canton Ferrer y Giro-i-Nieto [9] fueron de los primeros autores en abordar la detección multimodal del hate speech. En su trabajo extrajeron los textos de las imágenes con OCR y los codificaron con BERT. Utilizaron la anteúltima capa del modelo VGG-16 para codificar las imágenes como vectores. Luego, los vectores obtenidos para el texto y la imagen fueron concatenados y utilizados como entrada en un perceptrón multicapa con dos capas con función de activación ReLU y una capa final para calcular el puntaje correspondiente. El conjunto de datos utilizado fue creado para este trabajo descargando imágenes de Google Images consiguiendo un total de 5.020 memes, 1.695 de los cuales fueron etiquetados como hate. Los datos non-hate fueron obtenidos de Reddit asumiendo que los mismos no transmiten mensajes de odio dado que la fuente de la cual provienen no suele contener ese tipo de memes. El modelo multimodal propuesto alcanzó una precision promedio de 0,81, seguido por el modelo que consideraba sólo el contenido visual. De acuerdo a losautores, el modelo solo visual obtuvo mejores resultados que el modelo solo textual debido a que las imágenes comprenden una representación de mayor tamaño que la textual, lo que puede traducirse en una mayor capacidad para codificar información. Sin embargo, teniendo en cuenta la magnitud de la diferencia entre el modelo multimodal y el solo visual, y el costo de aplicar OCR a las imágenes para la extracción de texto, es necesario analizar si dicho incremento de la complejidad computacional es justificado. En 2020, Facebook AI7 lanzó una competencia de detección de hate speech en memes. El objetivo de Facebook AI era promover la creación de diferentes soluciones por parte de investigadores y desarrolladores interesados. Para esto proporcionaron una nueva colección de datos balanceada incluyendo 10 mil memes creados artificialmente, con el objetivo de “confundir” a las técnicas unimodales y promover así la búsqueda de soluciones multimodales. Como resultado de esta competencia, surgieron numerosos trabajos abordando la temática. Das, Wahi y Li [23] evaluaron el uso de Image Captioning y Sentiment Analysis. Su primer enfoque consistió en utilizar Image Captioning para obtener la descripción de las imágenes en forma de texto, la cual procesaron con un embedding BERT. Luego, concatenaron los vectores de salida con los que obtuvieron del procesamiento de texto y los usaron como entrada para un clasificador. Hallaron que este método es beneficioso en el 7 https://ai.facebook.com/blog/hateful-memes-challenge-and-data-set/ 18 https://ai.facebook.com/blog/hateful-memes-challenge-and-data-set/ caso de que el texto sea parecido a la descripción de la imagen ya que considera la semejanza entre ellos. La evaluación experimental mostró que este modelo obtuvo los mejores resultados, alcanzando un AUCROC de 0,74 y accuracy de 0,68. Su segunda propuesta fue utilizar Sentiment Analysis tanto sobre la imagen como el texto y concatenarlo a la representación multimodal para luego utilizar un clasificador. Observaron que ayudó a detectar la ironía cuando los sentimientos de una modalidad y la otra fueron contrarios y a detectar mejor la clase non hateful. Si bien utilizaron las salidas obtenidas con ambas técnicas combinadas, los resultados no mejoraron sobre los obtenidos en las pruebas de cada una por separado. Probablemente se deba a la forma de combinarlas o a la presencia de características redundantes en ambos modelos. La técnica de Image Captioning también fue utilizada en el trabajo de Aggarwal et al. [24]. Los autores analizaron dos enfoques: secuencial y multimodal. En el primero, utilizaron Image Captioning con el modelo encoder-decoder. En el encoder se obtuvo un vector tomando la última capa como vector de salida y se pasó por una capa lineal. En el decoder se predecía la primera palabra (resultado del Image Captioning que describe la imagen) y esta era usada para predecir la segunda y así sucesivamente. Luego realizaron un procesamiento de imágenes básico con la API Tesseract de Google para extraer el texto embebido en la imagen cuyo resultado fue concatenado con el generado anteriormente. Luego dichos vectores pasaron por un modelo de análisis de sentimiento basado en redes neuronales que consistía en capas de convolución, capas de agrupación máxima, una capa de agrupación máxima global, una capa totalmente conectada y una capa sigmoidea. Para el segundo enfoque la imagen fue procesada por un modelo ResNet-152 pre-entrenado donde se tomaba la última capa como vector de salida. Por lo tanto, agregaron una capa lineal cuyas dimensiones de entrada fueron las mismas que en ResNet-152. Para el texto han utilizado fastText para extraer las características deseadas, agregando una capa adicional cuyo embedding fue mantenido fijo por simplicidad. La salida pasó por una capa lineal entrenable como forma de ajustar el vector de características. Finalmente, se combinaron los resultados en otro vector y se pasaron por una capa completamente conectada para la clasificación. En ninguno de los dos enfoques el accuracy fue mayor a 0,65. Como parte de la competencia, Kirk et al. [37] plantean también su trabajo partiendo del interrogante de qué tan generalizable es el dataset propuesto por Facebook AI. Para esto, crearon un dataset con memes de Pinterest8. La recopilación de datos se realizó utilizando palabras clave para la búsqueda, etiquetas representativas de cada clase para saber si las 8 https://pinterest.com/ 19 https://ar.pinterest.com/ imágenes devueltas son hate o no. Para los hateful utilizaron por un lado sinónimos de hate y conceptos dirigidos a algunos grupos específicos (por ejemplo "memes ofensivos" o "memes sexistas"), y por otro se buscaron palabras clave que describen estos tipos de odio. Para los non-hateful, buscaron por un lado palabras de sentimiento positivo (por ejemplo: "divertido", "sano" o "bonito") y luego buscaron memes relacionados con conceptos fuera de la definición de hate speech (por ejemplo: "comida" o "matemáticas"). El total de elementos en este conjunto de datos fue de 2.840 imágenes, de las cuales el 37% pertenecen a la categoría hate. En primer lugar, compararon los memes con otros provenientes de Pinterest e identificaron diferencias en 3 aspectos, el primero fue nombrado como OCR y hace referencia a que el dataset de la competencia ya presenta el texto en la imagen por separado, normalmente eso no ocurre en los memes en internet. El segundo se encuentra relacionado con el contenido del texto, para esto, entrenaron un clasificador para comparar la diferencia en la modalidad. El último aspecto en el que detectaron diferencias fue el contenido y estilo de la imagen, evaluaron los tipos de memes (memes tradicionales memes, texto, capturas de pantalla) y los atributos contenidos en los memes (número de caras y características demográficas estimadas). Encontraron que los memes de Pinterest eran más diversos que los de la competencia que son en su mayoría memes tradicionales. A su vez, los de Pinterest incluían menos rostros. Luego de identificar estas diferencias evaluaron clasificadores unimodales, multimodales y modelos CLIP9 entrenados en el dataset de Facebook y probado en ambos para conocer la capacidad de generalización. Sobre el dataset de Facebook realizaron dos pruebas diferentes, una considerando el texto proporcionado y otra extrayendo el texto de las imágenes utilizando OCR. En la Tabla 1 podemos observar los mejores resultados obtenidos para cada modalidad, siendo superiores los alcanzados un modelo CLIP logrando 0,556 de F1-score. Los autores concluyeron que existen diferencias entre los memes “sintéticos” y los que se encuentran “en la naturaleza” en los tres puntos mencionados anteriormente, y que, a su vez, la necesidad del OCR para analizar el texto en los memes en internet introduce una diferencia más a la hora de analizar qué tanto se puede generalizar a partir de un modelo entrando sobre el dataset de la competencia. Si se observan los resultados sobre el dataset de Facebook utilizando los textos proporcionados por la competencia, los resultados son superiores en todos los casos, por lo que el uso de OCR en otros memes provoca siempre una imprecisión que modifica la efectividad del modelo. 9 https://openai.com/blog/clip/ 20 https://openai.com/blog/clip/ Facebook dataset Pinterest dataset Texto original OCR OCR Unimodal texto (BERT) 0,408 0,320 0,327 Unimodal imagen (Image-Grid) 0,226 0,226 0,351 Multimodal (Late fusion) 0,499 0,471 0,377 CLIP (Linear probe) 0,556 0,556 0,569 Tabla 1. Resultados de [37]. El ganador de la competencia, Zhu [31], ha planteado su resolución considerando cuatro Visual - Language (VL) transformers diferentes: VL-BERT10, UNITER11, VILLA12, y ERNIE-Vil13. En primer lugar realizó un pre-procesamiento de los datos, en el cual utilizó Web Entity Detection para obtener información del contexto de la imagen y el clasificador FairFacepara obtener etiquetas de raza y género sobre las imágenes, ya que como se mencionó en la competencia, el hate speech relacionado con la raza o etnia es el tipo de hateful meme más destacado o frecuente. Luego, extendió VL-BERT representando las etiquetas externas como un tipo especial de token de texto y asociando esta información a porciones determinadas de la imagen, logrando así relacionar imágenes similares mediante los tokens de etiquetas. Con respecto a UNITER, utilizó el modelo pre-entrenado en las tareas ITM (Image Text Matching) y WRA (Word Region Alignment). Luego, intercambió los pesos de las clases 0 del clasificador con la clase 1, quedando así la clase image-text-match como benign y image-text-not-match como hateful. Notó que en general, cuando la descripción o el texto del meme coincidía con el contenido de la imagen este era probablemente benigno, pero no era necesariamente hateful cuando no coincidían, sino que podía ser que la imagen y el texto sean irreconocibles o difíciles de entender para el modelo, o bien se tratara de un caso hateful. Finalmente concluyó que añadir etiquetas mejora el rendimiento de VL-BERT y ERNIE-Vil pero no lo hace sobre los otros modelos, esto pudo deberse a la menor calidad de la representación lingüística de ellos o la falta de un mecanismo de fusión Visual-Lingüística explícito. La idea más importante que este 13 https://arxiv.org/abs/2006.16934 12 https://arxiv.org/abs/2006.06195 11 https://arxiv.org/abs/1909.11740 10 https://arxiv.org/abs/1908.08530 21 https://arxiv.org/abs/2006.16934 https://arxiv.org/pdf/2006.06195.pdf https://arxiv.org/abs/1909.11740 https://arxiv.org/abs/1908.08530 trabajo introdujo en comparación a los demás es la de incluir información extra al dataset, buscando darle contexto y conocimiento implícito al modelo, lo que resulta un desafío dado que el contexto cambia y se actualiza rápidamente. Teniendo en cuenta estas consideraciones y las modificaciones en las entradas, se logró un AUROC de 0,845, una gran mejora sobre 0,71 AUROC que es el valor obtenido con los modelos multimodales sin modificaciones. Si bien los memes pueden aparecer de forma aislada e independiente de otras publicaciones, las diferentes mecánicas propuestas para realizar publicaciones en las redes sociales pueden aportar más información al análisis. En este sentido, Gomez et al. [7] analizaron la presencia de hate speech en memes extraídos de Twitter incluyendo en el análisis el texto presente en los tweets. Para ello, extrajeron las características de las imágenes utilizando Imagenet (Google Inception v3), y las del texto del tweet entrenando una LSTM de una sola capa. El texto del tweet fue pre-procesado para generar representaciones especiales correspondientes a símbolos específicos de Twitter como las menciones a usuarios (@usuario) o los hashtags (#hashtag). Para la evaluación, recolectaron 150.000 memes de Twitter. Como dicho conjunto no resultó lo suficientemente grande como para entrenar un modelo de embeddings propio, para la representación textual utilizaron el modelo pre-entrenado de GloVe basado también en tweets, con el objetivo de asegurar que el modelo podrá producir embeddings para términos y expresiones que son comúnmente utilizados en Twitter. Este mismo procedimiento fue aplicado para el texto presente en los memes, una vez extraído utilizando el módulo de Google Vision API Text Detection. Al considerar el texto del tweet y el texto de la imagen por separado en los modelos multimodales, se esperaba que estos puedan aprender diferentes relaciones entre ellos, y entre ellos y la imagen. Las tres representaciones generadas (las dos textuales y la de imagen) fueron utilizadas de entrada en 3 modelos CNN+RNN. El primero de ellos fue Feature Concatenation Model (FCM), el cual consistió en una arquitectura Inception v3 para el procesamiento de las imágenes y una red LSTM para el procesamiento de los textos (tanto del tweet como el incluido en la imagen). En el procesamiento, los vectores resultantes de ambas arquitecturas fueron concatenados en uno para ser luego procesado por tres capas totalmente conectadas de dimensionalidad decreciente ( , , )2348 1024 512 con las correspondientes capas de normalización por lotes y ReLu hasta que las dimensiones se redujeron a dos (el número de clases) en la última capa de clasificación. El segundo modelo utilizado fue Spatial Concatenation Model (SCM), este en lugar de utilizar el último vector de características antes de la clasificación de la Inception v3 como la representación visual, usaba el mapa de características de después del8 × 8 × 2048 último módulo de Inception. Luego las representaciones de los textos fueron concatenadas 22 en cada ubicación espacial de ese mapa de características y este mapa fue procesado por dos bloques Inception-E. A partir de aquí el procesamiento fue igual al de FCM pasando por tres capas totalmente conectadas hasta llegar a la de clasificación. El último modelo utilizado fue Textual Kernels Model (TKM), este pretendía combinar las mejores características de los dos anteriores. Al igual que SCM utilizó el mapa de características como entrada, pero a partir del vector de texto aprendió Kt kernels dependientes del texto utilizando capas independientes totalmente conectadas que se entrenaron junto con el resto del modelo. Los núcleos resultantes tuvieron una dimensionalidad de , estos1 × 1 × 2048 se concatenaron con el mapa al igual que en SCM y el resto del procesamiento también se realizó del mismo modo que en SCM. Más allá de los esfuerzos realizados por encontrar una solución multimodal al problema, estas propuestas no superaron los resultados de los trabajos descritos anteriormente. Existen numerosos trabajos abordando la detección de hate speech en lenguajes con recursos lingüísticos con un alto grado de desarrollo como el Inglés. Sin embargo, cada idioma incluye sus propios modismos y características especiales, lo que hace que los recursos disponibles y los modelos entrenados sean fácilmente utilizables para contenido en otros idiomas. Por este motivo, resulta importante el desarrollo de técnicas en idiomas diferentes al Inglés. En este contexto, Vlad et al. [30] lograron resultados que superaron a los unimodales con un accuracy de 0,87, sobre una colección de datos en italiano. Para esto utilizaron una Vocabulary Graph Convolutional Network (VGCN) combinada con embeddings BERT para el análisis de texto, siguiendo una técnica MultiTask Learning (MTL) basándose en dos componentes principales de redes neuronales: uno para el texto y otro para el análisis de imágenes. Las salidas de estos dos elementos se concatenaron y se usaron para alimentar una capa densa. Finalmente, Karim et al. [25], enfocaron su análisis sobre memes en bengalí, para lo cual extendieron el dataset existente Bengali Hate Speech Dataset con 4.500 memes. Su propuesta consistió en crear un modelo multimodal combinando un enfoque unimodal para texto y otro para imágenes. Para esto presentaron dos enfoques, Latent Representation Concatenation LRC y fusión tardía usando Deep Orthogonal Fusion DOF. La evaluación experimental consistió en probar varias soluciones unimodales para cada modalidad, obteniendo los mejores resultados con precision y recall 0,82 y 0,82 usando XML-RoBERTa y 0,79, 0,79 usando DenseNet-161, para texto e imagen respectivamente. Finalmente combinaron los modelos probados en las soluciones multimodales para evaluar si los mejores resultados unimodales derivaban en una mejor combinación multimodal. Obtuvieron precision y recall de 0,82 combinando mBERT-uncased con EfficientNet-B1. Este trabajo resulta interesante ya que demuestra el 23 impacto de la extracción de features sobre las capacidades de aprendizaje de los modelos DNN. En resumen, varias de las propuesta multimodales logran muy buenos resultados teniendo en cuenta que el accuracy humano es de alrededor del 80%, según Facebook14.Sin embargo, todos buscan una solución planteando un esquema multimodal de clasificación. En este trabajo se propone cambiar este enfoque para buscar una solución basada en la recuperación de información, usando redes neuronales para extraer las features de los memes y aplicando técnicas de clustering y métricas de semejanza para determinar la presencia o ausencia de hate speech. Cabe destacar que la mayoría de los trabajos mencionados no contemplan la posibilidad de ironía en las dimensiones analizadas ni cuentan con ejemplos donde sea fácil confundirse. En este trabajo en cambio, estas situaciones están reflejadas en el dataset utilizado y serán afrontadas, lo que agrega complejidad a la problemática. 14 https://ai.facebook.com/blog/hateful-memes-challenge-and-data-set/ 24 https://ai.facebook.com/blog/hateful-memes-challenge-and-data-set/ Capítulo 3. Propuesta Como se ha mencionado anteriormente, el objetivo de este trabajo es proponer una técnica de detección de hate speech multimodal, que tenga en cuenta no solo el texto, sino también el contexto que brinda la imagen que lo acompaña. De esta manera y utilizando técnicas estadísticas y modelos pre-entrenados, se propone el siguiente enfoque esquematizado en la Figura 1. Figura 1. Esquema del enfoque propuesto. Dado un meme (u otra combinación de texto e imagen) , el enfoque propuesto intenta𝑚 𝑖 aprender una función donde indica que es 𝐹❨𝑡𝑒𝑥𝑡𝑜❨𝑚 𝑖 ❩, 𝑖𝑚𝑎𝑔𝑒𝑛❨𝑚 𝑖 ❩❩→{1, 0} 1 𝑚 𝑖 considerado una instancia de hate speech y lo contrario.0 25 3.1 Procesamiento de features Mediante la utilización de técnicas estadísticas y modelos pre-entrenados se logra obtener una representación vectorial de las imágenes y textos conservando sus características distintivas. Este procedimiento facilita la aplicación de las técnicas utilizadas, estandarizando la representación de las entradas, combinando y reduciendo la dimensionalidad de sus variables de manera que todas tengan el mismo formato. 3.1.1 Extracción de texto en la imagen Generalmente, los memes se conforman de una imagen con texto superpuesto. Un problema frecuente en la clasificación de memes es la interferencia del texto en el análisis de la imagen quitando el foco del contexto provisto por la misma. Por ejemplo, una gran cantidad de texto presente en un meme puede prácticamente invisibilizar la imagen de fondo. Ejemplos de imágenes utilizadas con una gran cantidad de texto se pueden observar en la Figura 2. Figura 2. Memes con gran cantidad de texto. 26 Ron [31] abordó esta problemática utilizando mmediting15 en el pre-procesamiento de los datos, para remover el texto y permitir analizar únicamente la imagen por separado. En este trabajo, se decidió remover el texto en las imágenes utilizando una combinación de Keras OCR con CV2. Optical Character Recognition (OCR) es una técnica popular para extraer texto presente en imágenes. Una vez detectado y obtenido dicho texto, en primer lugar, se conservaron las coordenadas del cuadro delimitador en el cual se encontraba el. Luego, se aplicó una máscara sobre estos cuadros, indicando que esas son las zonas a repintar y, finalmente, utilizando CV2 se empleó un algoritmo de restauración (inpainting) sobre las zonas enmascaradas (Fig. 3). En las secciones siguientes se desarrollará el impacto de la introducción de este proceso. Figura 3. Ejemplo de la remoción de texto en una imagen utilizando keras OCR y CV2. Figura 4. Ejemplo del resultado de la remoción de texto utilizando kerasOCR y CV2. 3.1.2 Extracción de features de las imágenes Una vez removido el texto y obtenida una imagen limpia, se procedió a extraer información de las mismas. Debido a la gran cantidad de desarrollos existentes basados en la clasificación de imágenes y a la presencia de modelos pre-entrenados en grandes volúmenes de datos genéricos, se utilizó transfer learning. Esta práctica es muy utilizada en el ámbito del deep learning ya que permite aprovechar el tiempo de entrenamiento de los modelos existentes para resolver problemas específicos. En particular, esta técnica consiste 15 https://github.com/HimariO/mmediting-meme 27 https://github.com/HimariO/mmediting-meme en utilizar un modelo existente pre-entrenado en una problemática similar o en datos similares a los que se va a utilizar y adaptarlo al problema que se va a abordar. Puede usarse el modelo como extractor de features, como se realizó en este trabajo, o ajustarlo cambiando sus hiperparámetros o re-entrenando capas. En trabajos como [27], [29] y [24] utilizaron modelos basados en Residual Networks (ResNet) debido a su capacidad demostrada para evitar el problema de Vanishing Gradient incluso en redes con muchas capas y su rendimiento superior comparado con otros modelos tales como AlexNet, GoogleNet y VGG. En este trabajo se utilizó como base el modelo ResNet15216 pre-entrenado sobre el dataset Imagenet que consta de 1000 categorías y 1,2 millones de imágenes. Seleccionando la anteúltima capa del mismo se obtuvieron vectores de dimensión 2048 con las features correspondientes a las imágenes. 3.1.3 Extracción de features del texto Para las features de los textos se realizaron pruebas con diferentes modelos pre-entrenados del framework sentence-transformers. En primer lugar se utilizó bert-base-uncased17, este modelo en idioma inglés ha sido pre-entrenado con una gran cantidad de datos extraídos del dataset Book Corpus, consistente de 11.038 libros sin publicar, y de Wikipedia en Inglés18 de manera auto supervisada, es decir, sin etiquetar previamente los datos en clases. Este modelo es utilizado en una gran cantidad de trabajos de la literatura, como puede verse en [18] y [30], y por esta razón que se seleccionó para este trabajo. BERT codifica de manera bidireccional y es por esto que logra tener un mayor conocimiento del contexto de cada palabra, esta fue otra razón por la cual se tuvo en cuenta este modelo. Luego se repitieron las mismas pruebas utilizando allMiniLM-L6-V2 19. Este modelo logra representar oraciones y párrafos en un espacio vectorial denso de dimensión 384 y es comúnmente utilizado para tareas como clustering o búsqueda semántica. Este modelo se seleccionó en primera instancia dado que permite conocer la similitud entre textos, lo cual era un requerimiento en la propuesta inicial de este trabajo, la cual será descrita más adelante, y además porque resulta más rápido que BERT-base. allMiniLM-L6-V2 pretende ser utilizado como codificador de oraciones o párrafos cortos, es por esto que si el texto de entrada está compuesto por más de 256 palabras, este se trunca. Fue creado para la 19 https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2 18 https://en.wikipedia.org/wiki/English_Wikipedia 17 https://huggingface.co/bert-base-uncased 16 https://pytorch.org/hub/pytorch_vision_resnet/ 28 https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2 https://en.wikipedia.org/wiki/English_Wikipedia https://huggingface.co/bert-base-uncased https://pytorch.org/hub/pytorch_vision_resnet/ Community week using JAX/Flax for NLP & CV 20 organizado por Hugging Face, y dentro del proyecto Train the Best Sentence Embedding Model Ever with 1B Training Pairs 21. Para esto partieron del modelo pre-entrenado MiniLM-L6-H384-uncased 22 y lo entrenaron a partir de la concatenación de múltiples datasets como Reddit Comments23 y Wiki Answers24 que suman un total de más de un billón de datos. 3.1.4 Concatenación y normalización Una vez obtenidos los vectores, tanto del texto como de la imagen, estos se combinaron para utilizarse como entrada del modelo multimodal. Se concatenaron para generar una representación unificada, dejando en primer lugar la representación de la imagen y luego la del texto. Luego, se operó con este vector para normalizarlo y estandarizarlo, reduciendo así el rango de valores que los datos pueden adoptar para facilitar el aprendizaje de la red. El valor de la normalización paracada dato es la resta del promedio total delγ χ 𝑚𝑒𝑎𝑛 vector de concatenaciones y luego la división por la desviación estándar del mismo,𝑠𝑡𝑑 ilustrada en la siguiente fórmula . γ = (χ − 𝑚𝑒𝑎𝑛)/ 𝑠𝑡𝑑 3.2 Clustering Previo a la concatenación de vectores, las features de las imágenes se utilizaron como entrada para el algoritmo de clustering. El clustering o agrupamiento es un mecanismo para particionar un conjunto de datos que comparten información o patrones en subclases. Dichas clases no se conocen previamente sino que se descubren dentro del dataset y pueden variar de acuerdo a los parámetros definidos y la técnica utilizada. Su objetivo es lograr una buena definición de zonas para que los elementos del mismo cluster sean altamente similares entre sí y disímiles a elementos en otros grupos. Usando este proceso de aprendizaje no supervisado, se pretendió crear el contexto del caso a determinar, limitando el dominio sobre el cual se evaluó la clasificación de un ítem, es decir, clasificar un elemento en base a lo aprendido del grupo de elementos más similares (el cluster al que pertenece). Los algoritmos puestos a prueba para llevar a cabo el clustering sobre las imágenes fueron KMeans y Bisecting KMeans. 24 https://doi.org/10,1145/2623330,2623677 23 https://arxiv.org/abs/1904.06472 22 https://huggingface.co/nreimers/MiniLM-L6-H384-uncased 21 https://discuss.huggingface.co/t/train-the-best-sentence-embedding-model-ever-with-1b-training-pairs/ 20 https://discuss.huggingface.co/t/open-to-the-community-community-week-using-jax-flax-for-nlp-cv/ 29 https://doi.org/10.1145/2623330.2623677 https://arxiv.org/abs/1904.06472 https://huggingface.co/nreimers/MiniLM-L6-H384-uncased https://discuss.huggingface.co/t/train-the-best-sentence-embedding-model-ever-with-1b-training-pairs/ https://discuss.huggingface.co/t/open-to-the-community-community-week-using-jax-flax-for-nlp-cv/7104/1 KMeans25 es el algoritmo de aprendizaje no supervisado más utilizado. Recibe un número específico de clusters, el cual resulta una aproximación para ordenar una determinada colección de datos. Agrupa los elementos teniendo en cuenta los centroides, es decir, aquellos puntos considerados como centro de los clusters, los cuales se calculan como el promedio de las ubicaciones de los elementos de cada grupo. Luego, cada objeto o instancia pertenece al grupo correspondiente al centroide más cercano. El algoritmo de KMeans puede resumirse en los siguientes pasos: 1. Se colocan k objetos aleatoriamente en el espacio que se va a agrupar (centroides iniciales de cada grupo). 2. Se asigna cada objeto al cluster que tiene el centroide más cercano. 3. Se actualiza la posición del centroide de cada cluster, tomando como nuevo centroide el promedio de las ubicaciones de los elementos en cada uno de ellos. 4. Se repiten los pasos 2 y 3 hasta que los valores de los centroides no cambien en una nueva iteración. Bisecting KMeans26 por su parte, toma características del clustering jerárquico y KMeans. Los algoritmos de clustering jerárquicos pueden ser aglomerativos o disociativos. Los aglomerativos agrupan clusters para formar uno nuevo mientras que los disociativos buscan separar clusters ya existentes dando origen a otros dos. Ambos calculan los clusters de manera que se minimicen las distancias entre ellos o se maximicen las medidas de similitud entre los elementos de un mismo cluster. El algoritmo de Bisecting KMeans utiliza el concepto de algoritmo disociativo, comenzando con un único gran grupo y dividiéndolo en subgrupos utilizando el algoritmo de KMeans sucesivas veces. El Algoritmo puede resumirse en los siguientes pasos: 1. Se colocan todos los elementos en un sólo grupo. 2. Se toma el grupo más grande para dividirlo. 3. Se divide el grupo en 2 subgrupos usando el algoritmo KMeans. 4. Se repite el paso 3 (paso de bisección) 5 veces y se toma la división que lleve a una mayor similitud. 5. Se repiten los pasos 2, 3 y 4 hasta alcanzar el número de grupos deseado. 26 https://scikit-learn.org/stable/modules/generated/sklearn.cluster.BisectingKMeans.html 25 https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html 30 https://scikit-learn.org/stable/modules/generated/sklearn.cluster.BisectingKMeans.html https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html Los cálculos del algoritmo de KMeans se realizan utilizando cada dato del conjunto y los k centroides, mientras que Bisecting KMeans considera sólo dos centroides y un cluster por operación, reduciendo el tiempo de cálculo. Esto indica que Bisecting KMeans sería una mejor alternativa cuando se tiene un valor de grande y que decidir cuál algoritmo es más𝑘 conveniente requiere analizar el número de clusters óptimo para el dataset utilizado. Para conocer el número óptimo de clusters a crear se consideraron dos métodos diferentes: Método del Codo [34] y Método de la Silueta [35]. El primero utiliza la distancia media de los objetos al centroide de su cluster, la distancia intra-cluster. Un cluster con menor distancia intra-cluster será un cluster más compacto, por lo tanto más representativo. En este contexto, se busca el valor k que satisfaga que un incremento de , no mejore𝑘 sustancialmente la distancia media intra-cluster. Para encontrar el óptimo, se grafica la𝑘 suma de las distancias al cuadrado en cada número de clusters, y luego se busca un cambio de pendiente en el gráfico, donde pase de pronunciada a poco pronunciada, es decir, donde se genere un “codo”. En la Figura 5 se puede observar la salida de este método para el dataset considerado, la cual no reflejó resultados claros, dado que el cambio de pendiente no es pronunciado. 31 Figura 5. Gráfico de salida del método del codo. Por otra parte, el Método de la Silueta mide la calidad del agrupamiento o clustering calculando la separación entre los clusters. Esta medida de distancia, el coeficiente de la silueta, se encuentra en el rango y se calcula como siendo la[− 1, 1] 𝑆 = 𝑏 − 𝑎𝑚𝑎𝑥(𝑎,𝑏) 𝑎 distancia media intra-cluster y la distancia media al cluster más cercano. Los coeficientes𝑏 de silueta cercanos a indican que un objeto se encuentra lejos de los clusters vecinos.+ 1 Un valor del coeficiente de indica que la observación está muy cerca o en la frontera de0 decisión entre dos clusters. Por el contrario, valores negativos indican que ese elemento quizás esté asignado al cluster erróneo. El método calcula la media de los coeficientes de silueta de todos los elementos para diferentes valores de k. El número óptimo de clusters k será aquel que maximice la media de los coeficientes de silueta para un rango de valores de k. Para encontrar el número de clusters óptimo, se busca un máximo en el gráfico de los valores para cada . La Figura 6 es un ejemplo de un gráfico obtenido con el método, se𝑘 puede ver que considerando de 2 a 10 clusters, los máximos se encontraron en 2, 5 y 4, siendo estos valores en ese orden los que este método sugiere como óptimos. 32 Figura 6. Gráfico de salida del método de la silueta. Dataset original. Si bien el Método de la Silueta puede resultar más costoso computacionalmente ya que calcula el coeficiente para cada caso, fue el método seleccionado para la búsqueda del número óptimo de clusters dado que resultó más exacto y claro de leer. El Método del Codo resultó ambiguo para el dataset. Las Figuras 5 y 6 muestran el análisis del número de clusters óptimo sobre el dataset original, es decir, sobre los memes sin procesar. Al modificar el conjunto de imágenes removiendo el texto, se volvió a ejecutar el método seleccionado y se obtuvo el resultado mostrado en la Figura 7, donde la cantidad óptima de clusters se vio modificada. Este cambio era esperable dado que trabajando sobre el dataset original se observó una interferencia del texto en la generación de los clusters. Por ejemplo, se detectó una tendencia a dejar un cluster para imágenes conmucho texto en ellas. Este resultado no aportaba información relevante al contexto del meme y por lo tanto interfería con el análisis. 33 Figura 7. Gráfico de salida del método de la silueta. Imágenes sin texto. Para conocer si existen otros posibles valores óptimos en números mayores se repitió el cálculo del coeficiente de la silueta con un valor máximo de igual a 50 (Figura 8). Quedó𝑘 demostrado que no se detectaron otros máximos sino que el coeficiente descendió, por lo que se decidió conservar algunos de los máximos entre 0 y 20 clusters como 5, 8, 11, 13, 14 y 16. Figura 8. Método de la silueta considerando 50 clusters como máximo. 34 Se ha descartado el primer máximo, 2, coincidente en todos los análisis dado que la agrupación sugerida no proporcionaría información relevante, ya que los clusters generados serían demasiado generales, lo que sería similar a omitir el paso de clustering. Los resultados se basaron en ejecuciones obtenidas a partir de 8 clusters en cuyos subconjuntos podrían identificarse similitudes. Figura 9. Distribución de las imágenes en clusters. 35 En la Figura 9 se pueden ver los elementos pertenecientes a los clusters número 0, 1, 4 y 6. En ella se puede observar como las imágenes en el cluster 0 son en su mayoría figuras compuestas por más de una imagen, en el cluster 1 se muestran multitudes, mientras que en el 4 se observan una o dos personas en un plano de su rostro y en el 6, se distinguen diferentes animales. Como se mencionó al principio de este apartado, Bisecting KMeans sería una mejor alternativa cuando se tiene un valor de grande. Sin embargo, debido a que el número𝑘 óptimo de clusters obtenido no fue determinante en qué método de clustering emplear, se han realizado pruebas tanto con KMeans como con Bisecting KMeans, cuyo resultado se ha plasmado en secciones siguientes. 3.3 Clasificación y determinación de Hate Speech La última etapa fue la clasificación y determinación de hate speech, en la cuál se asignó el valor de la clase para cada elemento en el conjunto de pruebas. Para ello, se definió un modelo de 3 capas lineales que tomó como entrada las features concatenadas. La primera capa de dimensiones de entrada y salida respectivamente con una función de(2432, 100) activación LeakyReLu. La segunda está formada por un número de capas correspondiente con el número de clusters utilizado, sus dimensiones son y utiliza la misma(100, 10) función de activación que la capa anterior. La capa utilizada en esta etapa depende del número de clusters seleccionado para la muestra a evaluar. Esto genera dos tipos de aprendizaje, el obtenido del entrenamiento con todos los elementos en la primera capa, y el obtenido como resultado del entrenamiento sobre el cluster correspondiente en la capa 2. Por último una última capa con función de activación Sigmoidal que reduce la salida a 1 determinando la clasificación final (Figura 10). 36 Figura 10, Modelo de clasificación. La predicción obtenida con el modelo indica la probabilidad de que la muestra evaluada pertenezca a la clase hate speech. Para esto, se debe definir un umbral o threshold, es decir un valor límite para las predicciones que indique cuándo se consideran hate speech o no. Este valor, el cual influye en el rendimiento del modelo, puede ser aleatorio o calcularse mediante alguna técnica. Inicialmente, se eligió el valor aleatorio notando que para0, 01 ejecuciones sucesivas con los mismos parámetros los resultados sobre las métricas analizadas fueron muy dispares. Para intentar estabilizarlos se probaron dos enfoques: promedio y selección basada en el área bajo la curva27. Para el promedio, simplemente se entrenaron 10 modelos y se promediaron los resultados obtenidos para cada ejecución. El área bajo la curva es una métrica para modelos de clasificación que indica la capacidad de un modelo para clasificar bien una muestra. Un área bajo la curva de indicaría que el0, 8 de las muestras evaluadas es clasificada correctamente. Calculando este área se80% obtuvieron los valores de falsos positivos y verdaderos positivos para cada punto de la curva o posible threshold, con los cuales se buscó el valor que maximice el Índice de Youden [36]. Este es un índice entre 0 y 1 que informa el rendimiento de una decisión, donde un resultado igual a 1 refiere al clasificador perfecto, que no obtiene falsos negativos ni falsos positivos. El threshold elegido es entonces aquel que maximice esta métrica. Esta fue la técnica seleccionada para obtener el threshold ya que se encontró que fue la que más estabilizó la salida del clasificador y lo hizo menos dependiente al azar del entrenamiento. Los resultados con la incorporación de cada técnica serán presentados en el siguiente Capítulo. 27 https://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html 37 https://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html La función utilizada para entrenar y predecir con el modelo propuesto es la presentada en el Fragmento 1. Dicha función recibe los parámetros que representa el meme a evaluar𝑥 o sobre el cual se está entrenando, el número del cluster al que pertenece y𝑐𝑙𝑢𝑠𝑡𝑒𝑟 𝑥 un valor verdadero o falso que indica si se está utilizando la capa que indica el𝑟𝑜𝑢𝑡𝑒𝑑 número de cluster. def forward(self, x, cluster, routed=True): x = self.l1(x) x = nn.functional.leaky_relu(x) all_x = [] for m in self.l2: x1 = m(x) x1 = nn.functional.leaky_relu(x1) x1 = torch.unsqueeze(x1, dim=1) all_x.append(x1) all_x = torch.concat(all_x, dim=1) if routed: x = all_x[torch.arange(x.shape[0]).to(device), cluster,:] else: x = torch.mean(all_x, dim=1) x = self.l3(x) return torch.sigmoid(x)[:, 0] Algoritmo 1. Función de entrenamiento o evaluación del modelo. La variable permite decidir si se utilizará la información provista por cluster para𝑟𝑜𝑢𝑡𝑒𝑑 el entrenamiento. En el caso de que su valor sea True, se entrena al modelo pasando x por la primera capa lineal definida en self.l1 y aplicando la función de activación LeakyRelu. Luego, por cada capa lineal en self.l2, se aplica la misma función de activación y se guardan los resultados en el vector all_x. Posteriormente, si la variable routed está en True, se conserva el resultado correspondiente al número de cluster de x, en caso contrario el resultado es el promedio de la aplicación de todos los módulos en la capa 2, es decir no se utiliza información correspondiente al clustering. Por último, se procesa x en la tercera capa lineal self.l3. La influencia del ruteo en el entrenamiento se analizará en la sección de resultados. 38 3.4 Análisis completo para un meme A continuación se analiza el proceso completo para clasificar el siguiente meme etiquetado como hate speech. Figura 11. Meme para el análisis. En primera instancia se remueve el texto de la imagen obteniendo como resultado la imagen en la Figura 12. Por otro lado, se generan los clusters para el subconjunto de train y se entrena el modelo sobre dicho conjunto. Figura 12. Imagen sin texto. Con el modelo entrenado, se realiza la predicción para el meme de prueba obteniendo primero los vectores de features para texto e imagen, concatenándolos y normalizándolos según lo desarrollado anteriormente en este capítulo. Finalmente se predice con el modelo, usando como dato su número de cluster que es 1. En la primera capa, se tiene en cuenta 39 lo aprendido del conjunto completo de entrenamiento y luego en la segunda solo lo aprendido del cluster 1. La salida de dicho proceso indica que la clasificación predicha para el meme en evaluación es 0,2335, y dado que el threshold utilizado es 0,01, es considerado hate speech. 40 Capítulo 4. Evaluación experimental Para lograr la propuesta final descrita en el Capítulo anterior, debieron realizarse numerosas evaluaciones experimentales y utilizar sus resultados como medida de mejora. En este Capítulo se detallarán los procesos realizados, las
Compartir