[en] The so-called "social networks" built-up by platforms such as Facebook™, Twitter™ that operate on the Internet underpin the social media that facilitate quick and mass exchange and discussion of information, experiences and opinions between individuals. The explosion of social media has had consequences that have been valued both positively and negatively for society. Among the effects considered as negative, social media have made 'visible' some attitudes of certain social groups that result in attacks on individuals or groups because of their affiliation to certain groups defined, by characteristics of nationality, sexual preferences, race, religion..., which in many countries have been classified as hate crimes That is why it is necessary to develop a system to detect if a message in a social network contains hate speech. This is a very difficult task because most of the messages in social networks do not contain hate speech; this problem can be compare to find a needle in a haystack. This project will focus on Twitter and the small messages generated in this social network, also known as, tweets. In order, to develop this hate tweets detection system, first we build a predictive model that thereafter will be wrapped in a classifier easy to use by a final user. During this process, huge amounts of tweets were downloaded using Twitter's API. After download, these tweets had to be cleaned to reduce the noise contained in them such as character repetitions and weird symbols like emojis. Furthermore, natural language processing (NLP) techniques have been used, specifically noteworthy, a morphological analyzer (POS-tagger) has been trained in Spanish to extract class of words, which contain most of the meaning a tweet (verbs, nouns and adjectives). After tweet cleaning, a filter has been applied in order to balance the number of tweets in both classes (hate and non-hate). As a result, the two class ratios changed from 1:1000 to 270:1000. On that oversampled tweets set, supervised classification techniques belonging to the machine learning have been used in the problem. A deep neural network has been selected as the most appropriate classifier to cope with this problem. Finally, a classifier has been created, which is based in the developed model, that allow the user to detect on the fly the tweets that contain hate speech.

[es] Las llamadas redes sociales constituidas por plataformas tales como Facebook™, Twitter™ constituyen el soporte de los medios (de comunicación) sociales que facilitan el intercambio y la discusión de información, experiencias y opiniones entre individuos de manera rápida y masiva. La explosión de los medios sociales ha tenido consecuencias que han sido valoradas tanto positiva como negativamente para el conjunto de la sociedad. Entre los efectos negativos, los medios sociales han hecho 'visibles' algunas actitudes de ciertos grupos sociales que se traducen en ataques a personas o colectivos en razón de su pertenencia a unos determinados grupos definidos por características de nacionalidad, preferencias sexuales, raza, religión, … que, en muchos países, han sido catalogados como delitos de odio (1) Así pues, nace la necesidad de desarrollar un sistema que permita determinar si el autor de un mensaje es perpetrador de delitos de odio o no en una determinada red social, tarea nada sencilla de realizar puesto que la inmensa mayoría de los mensajes en las redes sociales no son de odio, lo que hace este problema muy similar al de buscar una aguja en un pajar. Este proyecto toma como referencia la red social Twitter y los distintos tuits (microblogs) generados en la misma. Para crear un sistema de detección de tuits de odio en primer lugar será necesario desarrollar un modelo predictivo y posteriormente encapsularlo en un clasificador para que pueda utilizarse por el usuario final. Durante el desarrollo del modelo ha sido necesaria la descarga de una gran cantidad de tuits haciendo uso de la API de Twitter y la posterior limpieza de estos, reduciendo la cantidad de ruido existente en los propios mensajes como repetición de caracteres y uso de símbolos extraños tales como los emojis. Además, se ha hecho uso de técnicas de procesamiento de lenguaje natural (NLP) que han permitido extraer información de los tuits previamente procesados. Entre otras herramientas, ha sido necesario entrenar un analizador morfológico (POS-Tagger) para extraer clases de palabras que concentren la mayor parte de la semántica del mensaje (verbos, nombres y adjetivos). Tras el tratamiento de los tuits, se ha desarrollado un filtro que permite equilibrar la cardinalidad de ambas clases de mensajes (odio y no odio) pasando de una proporción de 1:1000 a 270:1000. Una vez realizado el sobremuestreo de tuits con contenido de odio, se procede a la aplicación de técnicas de clasificación supervisada basadas en aprendizaje máquina, siendo las redes neuronales profundas el mejor clasificador para enfrentar este enmarañado problema. Finalmente, tras la validación, se ha creado un clasificador, basado en el modelo desarrollado, que permite al usuario detectar al vuelo los tuits de odio.