Algoritmo de detección de odio en español (Algorithm for detection of hate speech in Spanish)
- Said-Hung, Elias
- Montero-Diaz, julio
- De Gregorio Vicente, Oscar
- Ruiz-Iniesta, Almudena
- Blanco Valencia, Xiomara
- José Cubillas, Juan
- Pérez Palau, Daniel
Résumé
Algoritmo de la detección de expresiones de odio 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.Algoritmo desarrollado en el marco del proyecto Hatemedia (PID2020-114584GB-I00), financiado por MCIN/ AEI /10.13039/501100011033La estructura de carpetas con la documentación de Github es la presentada a continuación:02 Documentación Github└── 00_Odio y no odio├── DOCUMENTACIÓN GITHUB.docx├── ejemplo (1).py├── Modelo_binario_ (1) (1).ipynb├── obtener_caracteristicas (1).py└── Recursos-20231027T110710Z-001 (1).zip<br>Se 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.Modelo_binario_(1) (1).ipnyb:Notebook con el código utilizado para el entrenamiento de los distintos modelos.Obtener_caracteristicas (1).py: Script Python con las funciones de preprocesado utilizadas previamente al uso de los modelos para predecir las entradas de un dataframe.Recursos-20231027T110710Z-001 (1).zip:La carpeta recursos contiene 3 .csv utilizados en la extracción de características.El dataset que se ha utilizado para el entrenamiento de los modelos es dataset_completo_caracteristicas_ampliadas_todas_combinaciones_v1_textoProcesado.csv(https://acortar.link/diSV7o)El Algoritmo se desarrolló, a partir de las pruebas de modelos aplicados que se muestran a continuación:MODELOS├── 70-30│ ├── CART_binario_70-30.joblib│ ├── GB_binario_70-30.joblib│ ├── MLP_binario_70-30.joblib│ ├── NB_binario_70-30.joblib│ ├── RF_binario_70-30.joblib│ └── SVM_binario_70-30.joblib├── 80-20│ ├── CART_binario_80-20.joblib│ ├── GB_binario_80-20.joblib│ ├── MLP_binario_80-20.joblib│ ├── NB_binario_80-20.joblib│ ├── RF_binario_80-20.joblib│ └── SVM_binario_80-20.joblib└── 90-10├── CART_binario_90-10.joblib├── GB_binario_90-10.joblib├── MLP_binario_90-10.joblib├── NB_binario_90-10.joblib├── RF_binario_90-10.joblib└── SVM_binario_90-10.joblibEn las carpetas 70-30, 80-20 y 90-10 podemos encontrar los distintos modelos ya entrenados con los respectivos porcentajes de train y test.Se comparte resultados y comparativas generados durante el proceso de entrenamiento y validación de modelo final usado para el desarrollo del algoritmo, la carpeta MODELOS (subido en Github), y en documento Comparativa_V2.xlsx (subido en github).El procedimiento seguido para realizar el entrenamiento de los modelos queda reflejado en el Informe técnico desarrollo de algoritmo de clasificación de odio/no odio en medios informativos digitales españoles en X (Twitter), Facebook y portales web (https://doi.org/10.6084/m9.figshare.26085688.v1).Autores:Elias Said-HungJulio Montero-DíazOscar De Gregorio- Almudena RuizXiomara BlancoJuan José CubillasDaniel Pérez PalauFinanciado por:Agencia Estatal de Investigación – Ministerio de Ciencia e InnovaciónCon el apoyo de:- POSSIBLE S.L.Como citar: Said-Hung, E., Montero-Diaz, J., De Gregorio Vicente, O., Ruiz-Iniesta, A., Blanco Valencia, X., José Cubillas, J., and Pérez Palau, D. (2023), “Algorithm for classifying hate expressions in Spanish”, figshare. https://doi.org/10.6084/m9.figshare.24574906.Más información:- https://www.hatemedia.es/ o contactar con: elias.said@unir.net----Algorithm for detection of hate expressions 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.Algorithm developed within the framework of the Hatemedia project (PID2020-114584GB-I00), funded by MCIN/ AEI /10.13039/501100011033The folder structure with the GitHub documentation is presented below:02 Documentación Github└── 00_Odio y no odio├── DOCUMENTACIÓN GITHUB.docx├── ejemplo (1).py├── Modelo_binario_ (1) (1).ipynb├── obtener_caracteristicas (1).py└── Recursos-20231027T110710Z-001 (1).zipThe 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.Modelo_binario_(1) (1).ipnyb: This is a notebook with the code used to train the different models.Obtener_caracteristicas (1).py: Python script with the preprocessing functions used before using the models to predict the inputs of a data frame.Recursos-20231027T110710Z-001 (1).zip: The resources folder contains 3 .csv used in feature extraction.The dataset that has been used for training the models is dataset_completo_caracteristicas_ampliadas_todos_combinaciones_v1_textoProcesado.csv (https://acortar.link/diSV7o)The Algorithm was developed from the tests of applied models shown below:MODELS├── 70-30│ ├── CART_binario_70-30.joblib│ ├── GB_binario_70-30.joblib│ ├── MLP_binario_70-30.joblib│ ├── NB_binario_70-30.joblib│ ├── RF_binario_70-30.joblib│ └── SVM_binario_70-30.joblib├── 80-20│ ├── CART_binario_80-20.joblib│ ├── GB_binario_80-20.joblib│ ├── MLP_binario_80-20.joblib│ ├── NB_binario_80-20.joblib│ ├── RF_binario_80-20.joblib│ └── SVM_binario_80-20.joblib└── 90-10├── CART_binario_90-10.joblib├── GB_binario_90-10.joblib├── MLP_binario_90-10.joblib├── NB_binario_90-10.joblib├── RF_binario_90-10.joblib└── SVM_binario_90-10.joblibIn folders 70-30, 80-20 and 90-10, we can find the different models already trained with the respective percentages of train and test.Results and comparisons generated during the training and validation process of the final model used for the algorithm's development are shared in the MODELS folder (uploaded on Github) and in the document Comparativa_V2.xlsx (uploaded on GitHub).The procedure for training the models is reflected in the Technical report development of hate/non-hate classification algorithm in Spanish digital news media on X (Twitter), Facebook and web portals (https://doi.org/10.6084/m9.figshare.26085688.v1).The dataset used for training is dataset_completo_caracteristicas_ampliadas_todas_combinaciones_v1_textoProcesado.csv (https://acortar.link/diSV7o)As documentation, in the folder "02 Documentación Github/00_Odio y no odio", the report "DOCUMENTACIÓN GITHUB.docx" explains the use of the different training models for making predictions.Authors:Elias Said-HungJulio Montero-DíazOscar De GregorioAlmudena Ruiz- Xiomara BlancoJuan José CubillasDaniel Pérez PalauFunded by: State Research Agency – Ministry of Science and InnovationWith the support of:- POSSIBLE S.L.How to cites: Said-Hung, E., Montero-Diaz, J., De Gregorio Vicente, O., Ruiz-Iniesta, A., Blanco Valencia, X., José Cubillas, J., and Pérez Palau, D. (2023), “Algorithm for classifying hate expressions in Spanish”, figshare. https://doi.org/10.6084/m9.figshare.24574906.More information:- https://www.hatemedia.es/ or contact: elias.said@unir.net