Algoritmo de clasificación de expresiones de odio por tipos en español (Algorithm for classifying hate expressions by type in Spanish)
- Pérez Palau, Daniel
- Ruiz-Iniesta, Almudena
- Blanco Valencia, Xiomara
- De Gregorio Vicente, Oscar
- José Cubillas, Juan
- Said-Hung, Elias
- Montero-Diaz, julio
Resum
Algoritmo de clasificación de expresiones de odio por tipos en español. Este algoritmo fue desarrollado en el marco del proyecto Hatemedia (PID2020-114584GB-I00), financiado por MCIN/AEI /10.13039/501100011033, con la colaboración de Possible Inc.Por favor lea el documento README IN SPANISH, en el que se expone todos los pasos a seguir para el uso del algoritmo.El algoritmo permite la clasificación de expresiones de odio, de acuerdo a 5 tipos de odio:Odio general o indiferenciado: Expresiones de odio, sin un claro dominio de uno de los tipos específicos considerados en este monitor.Odio político: Expresiones contra individuos o colectivos por motivos de orientación política.Odio Sexual: Expresiones dirigidas contra personas o colectivos por su orientación sexual.Odio misógino: Expresiones dirgidas contra mujeres o rasgos asociados a ellas.Odio xenófobo. Expresiones dirigidas contra personas o colectivos, por motivo de origen (e.j. extranjero e inmigrante)La estructura de carpetas con la documentación de Github es la presentada a continuación:02 Documentación Github└── 02_Tipos├── hate_type_model│ ├── config.json│ └── pytorch_mode.bin (https://acortar.link/rbCxiy)├── DOCUMENTACIÓN GITHUB.docx└── ejemplo.pySe detalla a continuación el contenido de cada fichero:DOCUMENTACIÓN GITHUB.docx: Informe en el que se presenta el uso de los scripts ejemplo (1).py y obtener_caracteristicas (1).py para emplear los modelos.ejemplo (1).py: Script Python que muestra el uso de los modelos para realizar predicciones.hate_type_model: En esta carpeta encontramos los archivos necesarios para la construcción del modelo:config.json: Archivo JSON con la configuración del modelo entrenado.pytorch_model.bin: Este archivo contiene los pesos de la red neuronal del modelo en formato binario compatible con PyTorch. Este archivo debe descargarse desde https://acortar.link/rbCxiy y pegarse en la carpeta hate_type_model.El dataset que se ha utilizado para el entrenamiento de los modelos el el resultado de la concatenación del dataset dataset_DL_tipos.csv: https://acortar.link/pCuKtJ, con los distintos datasets generados mediante backtranslation, disponibles en la carpeta "03 Tipos de odio/Back translation": https://acortar.link/PceTsrEl Algoritmo fue desarrollado a partir de las pruebas de los modelos aplicados que se muestran en la carpeta MODELOS (https://acortar.link/d8WQ0P). En esta carpeta se encuentran todos los resultados de los modelos utilizados durante el proceso de desarrollo de este algoritmo, con los respectivos porcentajes de entrenamiento y prueba.El procedimiento seguido para entrenar los modelos queda reflejado en el Informe técnico Desarrollo del algoritmo de clasificación del odio por tipos en medios digitales españoles en X (Twitter), Facebook y portales web (https://doi.org/10.6084/m9.figshare.26314360.v1).Autores:Daniel Pérez PalauXiomara BlancoAlmudena RuizOscar De GregorioJuan José CubillasElias Said-HungJulio Montero-DíazFinanciado por:Agencia Estatal de Investigación – Ministerio de Ciencia e InnovaciónCon el apoyo de:POSSIBLE S.L.Como citar: Pérez Palau, D., Blanco Valencia, X., Ruiz-Iniesta, A., De Gregorio Vicente, O., José Cubillas, J., Said-Hung, E. y Montero-Diaz, J. (2023). Algoritmo de clasificación de expresiones de odio por tipos en español [Algorithm for classifying hate expressions by type in Spanish]. https://doi.org/10.6084/m9.figshare.25892815.v1.Más información:https://www.hatemedia.es/ o contactar con: elias.said@unir.netEste algoritmo está relacionado con el algoritmo de clasificación de odio/no odio, desarrollado también por los autores: https://github.com/esaidh266/Algorithm-for-detection-of-hate-speech-in-SpanishEste algoritmo está relacionado con el algoritmo de clasificación de expresiones de odio por intensidades en español, desarrollado también por los autores: https://github.com/esaidh266/Algorithm-for-classifying-hate-expressions-by-intensities-in-Spanish---Algorithm for classifying hate expressions by types in Spanish. This algorithm was developed within the framework of the Hatemedia project (PID2020-114584GB-I00), funded by MCIN/AEI/10.13039/501100011033, with the collaboration of Possible Inc.Please read README IN SPANISH, which outlines all the steps to use the algorithm developed.The algorithm allows the classification of hate expressions according to 5 types of hate:General or undifferentiated hatred: Expressions of hate without a clear predominance of any specific types considered in this monitor.Political hatred: Expressions against people or groups for political orientation.Sexual Hate: Expressions directed against people or groups because of their sexual orientation.Misogynistic hatred: Expressions directed against women or traits associated with them.Xenophobic Hate. Expressions directed against people or groups due to their origin (e.g. foreigners and immigrants)The folder structure with the GitHub documentation is presented below:02 Documentación Github└── 02_Tipos├── hate_type_model│ ├── config.json│ └── pytorch_mode.bin (https://acortar.link/rbCxiy)├── DOCUMENTACIÓN GITHUB.docx└── ejemplo.pyThe content of each file is detailed below:DOCUMENTACIÓN GITHUB.docx: Report that presents the example of the script (1).py and get_characteristics (1).py to use the models.ejemplo (1).py: Python script showing the use of models to make predictions.hate_type_model: In this folder, we find the files necessary to build the model:config.json: JSON file with the configuration of the trained model.pytorch_model.bin: This file contains the model's neural network weights in PyTorch-compatible binary format. This file should be downloaded from https://acortar.link/rbCxiy and pasted into the hate_type_model folder.The dataset that has been used for training the models is the result of the concatenation of the dataset dataset_DL_tipos.csv: https://acortar.link/pCuKtJ, with the different datasets generated through back translation, available in the folder "03 Types of hatred/Back translation": https://acortar.link/PceTsrResults and comparisons generated during the training and validation process of the final model used for the development of the algorithm are shared in the MODELOS folder (https://acortar.link/d8WQ0P) and technical report (In press)The procedure followed to train the models is reflected in the Technical report on the development of a hate classification algorithm by intensities in Spanish digital news media on X (Twitter), Facebook, and web portals (https://doi.org/10.6084 /m9.figshare.25884262.v1).The Algorithm was developed from the tests of the applied models shown in the MODELOS folder (https://acortar.link/d8WQ0P). This folder contains all the results of the models used during the algorithm's development process, with the respective training and testing.The procedure followed to train the models is reflected in the technical report: The development of the hate classification algorithm by type in Spanish digital media in X (Twitter), Facebook, and web portals (https://doi.org/10.6084/m9.figshare.26314360.v1).Authors:Daniel Pérez PalauXiomara BlancoAlmudena RuizOscar De GregorioJuan José CubillasElias Said-HungJulio Montero-DíazFunded by:State Research Agency – Ministry of Science and InnovationWith the support of:POSSIBLE S.L.How to cites: Pérez Palau, D., Blanco Valencia, X., Ruiz-Iniesta, A., De Gregorio Vicente, O., José Cubillas, J., Said-Hung, E. and Montero-Diaz, J. (2023). Algoritmo de clasificación de expresiones de odio por tipos en español [Algorithm for classifying hate expressions by types in Spanish]. https://doi.org/10.6084/m9.figshare.25892815.v1.More information:https://www.hatemedia.es/ or contact: elias.said@unir.netThis algorithm is related to the hate/non-hate classification algorithm, also developed by the authors: https://github.com/esaidh266/Algorithm-for-detection-of-hate-speech-in-SpanishThis algorithm is related to the algorithm for classifying hate expressions by intensities in Spanish, also developed by the authors: https://github.com/esaidh266/Algorithm-for-classifying-hate-expressions-by-intensities-in-Spanish