Logo Studenta

Una imagen vale mas que mil palabras, o al reves? deteccion de hate speech en contextos multimodales

¡Este material tiene más páginas!

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

Continuar navegando