Clasificación y ubicación de diferentes formas de acoso sexual.
Classification and location of different forms of sexual harassment.
Introducción
¿Sabías que el hecho inevitable de la prevalencia del acoso sexual se debe a la baja tasa de denuncias? Si las víctimas no denuncian el acoso que han sufrido, ¿cómo podrían las autoridades guiar a las personas para evitar ser acosadas y cómo se produciría un cambio en el comportamiento del agresor? El estudio de caso de Asignación y Localización de Diversas Formas de Acoso Sexual ayuda a las víctimas a expresar su experiencia de manera anónima y ayuda a categorizar los diversos tipos de acoso sexual que han experimentado para que se pueda evaluar rápidamente la categoría para presentar testimonios y también ayuda a proporcionar precauciones de seguridad teniendo en cuenta el análisis de los foros ya presentados.
Estas precauciones de seguridad dan información a los individuos entregando lugares prevalentes con la mayoría de los tipos de acoso sexual presentados en esa región y el comportamiento de los agresores. En el futuro, a partir de las predicciones anteriores, los individuos se beneficiarán mucho ya que proporcionan información y crean conciencia sobre las circunstancias del evento.
Objetivos de aprendizaje
- Predicción de clasificación multietiqueta de diversas formas de acoso en la sociedad
- Utilización de técnicas de procesamiento de lenguaje natural en el conjunto de datos
- Iteración sobre algoritmos de aprendizaje automático tradicionales
- Implementación de redes neuronales convolucionales
- El blog discute la aplicación de estos métodos para abordar problemas relacionados con el acoso
Este artículo fue publicado como parte del Data Science Blogathon.
Problema de negocios
Aquí las historias de las víctimas se categorizan en tres tipos de acoso sexual, es decir, se convierten en una clasificación de múltiples etiquetas, ya que las víctimas pueden enfrentar uno o más tipos de acoso sexual al mismo tiempo.
- Búsqueda de similitud, Parte 2 Cuantización de productos
- Bootcamp LLM de Pila Completa Gratis
- Definir el interés público en nuevas tecnologías.
Restricciones de negocios
Como mi estudio de caso es una clasificación multietiqueta, una clasificación incorrecta ya no es un error o acierto absoluto. Una predicción que contiene un subconjunto de las clases reales debe considerarse mejor que una predicción que no contiene ninguna de ellas, es decir, predecir dos de las tres etiquetas correctamente es mejor que no predecir ninguna etiqueta en absoluto. No tenemos ninguna restricción de latencia estricta. La interpretabilidad es muy importante porque ayuda a encontrar por qué se clasifica la historia como uno de los tipos de acoso.
Descripción del conjunto de datos
Los datos se han recopilado del foro en línea safecity y de la encuesta de investigación de mercado y encuestas WIN World Survey (WWS) para recopilar datos de los países predominantes en acoso sexual. El conjunto de datos contiene dos características. La característica 1 – contiene historias de víctimas (Descripción), la característica 2 contiene la geolocalización (Ubicación) del evento.
Nuestra etiqueta de clase es una clasificación multietiqueta que contiene tres tipos de acoso sexual (Comentarios, Miradas y Manoseos) que la víctima ha experimentado.
Métricas de rendimiento
Para la clasificación multietiqueta, las predicciones para una instancia son un conjunto de etiquetas y, por lo tanto, nuestras predicciones pueden ser completamente correctas, parcialmente correctas o completamente incorrectas. Esto hace que la evaluación de un clasificador multietiqueta sea más desafiante que la evaluación de un clasificador de una sola etiqueta. Sin embargo, para la evaluación de la corrección parcial, podemos utilizar las siguientes métricas:
Precisión: aquí, la precisión para una instancia se calcula como la proporción de las etiquetas correctas predichas al número total (predicho y real) de etiquetas. La precisión general se puede obtener por el promedio en todas las instancias.
Estas métricas se pueden calcular en etiquetas de clase individuales y luego promediarse en todas las clases. Esto se denomina promedio macro. Alternativamente, podemos calcular estas métricas globalmente en todas las instancias y todas las etiquetas de clase. Esto se denomina promedio micro.
Usamos la puntuación F1 macro y la puntuación F1 micro como métrica para la clasificación multietiqueta.
Se utiliza la pérdida de Hamming como métrica para la clasificación multietiqueta, esta métrica calcula la proporción de etiquetas predichas incorrectamente al número total de etiquetas.
Preprocesamiento
Para obtener mejores conocimientos, nos dirigimos a la limpieza de nuestros datos (como la eliminación de símbolos, puntuaciones, caracteres especiales, etc.). Cuando se trata de datos de texto, la limpieza o el preprocesamiento son tan importantes como la construcción del modelo.
A continuación, se muestran los pasos de preprocesamiento que debemos realizar:
- Minúsculas
- Eliminación de dígitos
- Eliminación de puntuaciones
- Eliminación de caracteres especiales
- Eliminación de etiquetas HTML
- Eliminación de palabras vacías
- Expansión de contracciones
Análisis exploratorio de datos
Es importante asegurarse de que los datos estén listos para el trabajo de modelado. El Análisis Exploratorio de Datos (EDA) asegura la preparación de los datos para el Aprendizaje Automático. De hecho, el EDA asegura que los datos sean más utilizables. Sin un EDA adecuado, el trabajo de Aprendizaje Automático sufre de problemas de precisión y muchas veces, los algoritmos no funcionan. El EDA nos ayuda a entender los datos y obtener mejores conocimientos. Así que vamos al EDA.
Comprobación de valores nulos en el conjunto de datos
df.isnull().sum()
Añadimos una característica adicional al marco de datos que calcula el número de palabras de una historia de víctima. Graficando la distribución de conteo de palabras de nuestro marco de datos.
- A partir del gráfico anterior, podemos deducir que la mayoría de las víctimas prefieren compartir sus experiencias dentro de 100 palabras.
Gráfico geográfico
A partir de nuestro marco de datos, tomamos en consideración la columna de ubicación y luego calculamos el número de veces que las víctimas han experimentado acoso en una región particular. Para graficar el gráfico geográfico, construimos un marco de datos de países (región experimentada de acoso sexual) y el recuento de víctimas que han denunciado desde esa región en particular.
- A partir del gráfico anterior, podemos deducir que el mayor número de víctimas se experimentan en la región de México (región amarilla más brillante).
Gráfico de barras
Gráficos de barras para comprobar el número de historias de víctimas en cada categoría.
Estamos creando una columna ‘etiqueta’ de la siguiente manera:
- Etiquetamos 1 cuando la persona experimenta solo acoso de comentarios
- Etiquetamos 2 cuando la persona experimenta solo acoso visual
- Etiquetamos 3 cuando la persona experimenta solo acoso físico
- Etiquetamos 4 cuando la persona experimenta solo acoso de comentarios y visual
- Etiquetamos 5 cuando la persona experimenta solo acoso visual y físico
- Etiquetamos 6 cuando la persona experimenta solo acoso de comentarios y físico
- Etiquetamos 7 cuando la persona no experimenta ningún tipo de acoso
- Etiquetamos 8 cuando la persona experimenta tres tipos de acoso al mismo tiempo
A partir del gráfico de barras anterior, podemos observar que las mujeres de México han experimentado el mayor acoso sexual. También necesitamos obtener una intuición clara de las palabras que ocurren con frecuencia en cada categoría. A continuación se presentan los gráficos de barras de unigramas, bigramas y trigramas más comunes para cada categoría.
Categoría de comentarios
Categoría de Miradas
Categoría de Manoseo
TSNE
Realizando vectorización en nuestras historias de víctimas para llevar a cabo una reducción de la dimensionalidad para una fácil visualización de la categoría de acoso.
Como sabemos que TSNE es estocástico por naturaleza, por lo que para varias ejecuciones obtenemos diferentes visualizaciones, por lo que he ejecutado múltiples perplejidades e iteraciones para obtener la trama anterior, esta trama indica claramente que una clase puede ser segregada de las demás.
Nube de Palabras
También hemos implementado una nube de palabras para la visualización de datos frecuentes en cada categoría.
Categoría de Comentarios
- A partir de lo anterior, podemos deducir que para el tipo de acoso sexual de comentarios, la mayoría de los agresores eran chicos y este tipo de evento suele tener lugar en la universidad, la estación, el autobús y la escuela.
Categoría de Miradas
- A partir de lo anterior, podemos deducir que para el tipo de acoso sexual de miradas, la mayoría de los agresores eran chicos y este tipo de evento suele tener lugar en las calles mientras las víctimas caminaban, pasaban o iban a la universidad.
Categoría de Manoseo
- A partir de lo anterior, podemos deducir que para el tipo de acoso sexual de manoseo, la mayoría de los agresores eran hombres y este tipo de evento suele tener lugar en lugares públicos como el autobús, la estación mientras viajan donde la gente está abarrotada.
Texto de Dispersión
Usando Scatter Text para visualizar términos únicos y su frecuencia. La trama de Scatter Text funciona en datos categóricos como un clasificador binario, por lo que estamos creando columnas separadas para cada tipo de acoso con valores categóricos.
Trama de Scatter Text para la Categoría de Comentarios
A partir de la figura anterior, podemos deducir las principales palabras de comentarios y las palabras que no son de comentarios. La parte superior derecha del gráfico son los términos más compartidos y la parte inferior izquierda son los menos frecuentes de los términos más compartidos.
Diagrama de Texto de Dispersión para la Categoría de Miradas Insistentes
A partir de la figura anterior, podemos deducir las palabras principales de miradas insistentes y las palabras que no lo son. La parte superior derecha del gráfico son los términos más compartidos y la parte inferior izquierda son los menos frecuentes de los términos más compartidos.
Diagrama de Texto de Dispersión para la Categoría de Manoseo
A partir de la figura anterior, podemos deducir las palabras principales de manoseo y las palabras que no lo son. La parte superior derecha del gráfico son los términos más compartidos y la parte inferior izquierda son los menos frecuentes de los términos más compartidos.
Modelos de Aprendizaje Automático
Para entrenar el modelo, hicimos una división básica de entrenamiento y prueba y probamos varios modelos.
Hemos realizado varios modelos de aprendizaje automático utilizando BOW, TFIDF, GLOVE 300 dimensiones y hemos observado los siguientes valores para las métricas respectivas.
A partir de lo anterior, podemos deducir un alto puntaje Macro F1 de 0.63 de Linear SVC utilizando el vectorizador BOW, además el vectorizador BOW y TFIDF superan a los vectorizadores GLOVE en cada métrica.
También nos dirigimos a la implementación de modelos de aprendizaje profundo.
Modelos de Aprendizaje Profundo
Modelo CNN
Hemos construido una red neuronal convolucional pasando Glove 300 Dimensiones en la capa de incrustación.
Dado que estamos trabajando en una clasificación de múltiples etiquetas, pasamos nuestra última capa a la activación sigmoidea e implementamos la función de pérdida de entropía cruzada binaria.
Modelo CNN-LSTM
También hemos construido una red neuronal convolucional pasando Glove 300 Dimensiones en la capa de incrustación y luego agregamos una capa LSTM para el modelo CNN-LSTM.
Resumen de Ambos Modelos de Aprendizaje Profundo
A partir de las métricas anteriores, elegimos CNN como el mejor modelo.
Despliegue del Modelo
He creado una aplicación web utilizando Flask y he desplegado mi mejor modelo. A continuación, se muestra el video de las instancias en ejecución de mi modelo desplegado.
Conclusión
En conclusión, este blog arroja luz sobre el apremiante problema del acoso sexual y destaca la baja incidencia de denuncias como un factor que contribuye a su prevalencia. Destaca la importancia de que las víctimas informen sus experiencias para permitir que las autoridades guíen a las personas y promuevan un cambio en el comportamiento de los agresores.
Este blog también discute la implementación de técnicas de procesamiento del lenguaje natural, algoritmos tradicionales de aprendizaje automático y redes neuronales convolucionales, con el modelo CNN, mejorado por una capa LSTM, generando resultados superiores. A través de este trabajo, el objetivo es empoderar a las personas, proporcionar orientación y promover el cambio social en la lucha contra el problema omnipresente del acoso sexual.
Conclusiones Clave
- El modelo CNN superó a los algoritmos tradicionales de aprendizaje automático en la predicción de la clasificación de múltiples etiquetas de las formas de acoso.
- La capa LSTM utilizada en el modelo CNN resultó en una mejora significativa en las métricas de rendimiento.
- El artículo destaca la superioridad del modelo CNN y el impacto de la capa LSTM en su rendimiento.
Trabajo futuro
- Necesitamos recopilar más datos para mejorar los valores de nuestras métricas de rendimiento en el conjunto de datos de prueba.
- Podemos probar con incrustaciones de BERT y de palabras FastText.
- Podemos trabajar en nuestro modelo personalizado para obtener mejores valores en las métricas de rendimiento cambiando la arquitectura.
Puedes encontrar mi código completo aquí .
Preguntas frecuentes
Referencias
- https://aclanthology.org/D18-1303.pdf
- https://stackoverflow.com/questions/19790188/expanding-english-language-contractions-in-python/47091490#47091490
- https://www.kdnuggets.com/2020/09/geographical-plots-python.html
- https://analyticsindiamag.com/visualizing-sentiment-analysis-reports-using-scattertext-nlp-tool/
Los medios mostrados en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor.