# High-Quality Data from Crowdsourcing towards the Creation of a Mexican Anti-Immigrant Speech Corpus
## 4 Results and Discussion
### Result 3: Any Model Will Learn  
To answer RQ3, we designed an experiment to prove that after using the proposed methodology, we obtained good-quality labeled data ready for machine learning algorithms. For the experiment, we used a set of 5272 manually labeled tweets, through the platform described in Section 3.4, half of which were positive (_anti-immigrant_) and half were negative (_non-anti-immigrant_). The texts were transformed into vectors so that they could function as input for three different types of models, so that we could answer RQ3. The vectorizationconsisted of using a previously trained convolutional neural network (described in a previous work [26]) as if it were an encoder. In other words, we use the text of the tweets as input and obtained their 250-dimensional vector representation from the Keras API Embedding layer. In the end, we generated a matrix of word embeddings \(X_{[527,250]}\), used throughout the experiment. To verify the learning process, we used two different instances of the labels: labels obtained via our methodology, correct ones (\(y\)), and randomly generated labels (\(y_{rand}\)). The main idea was to verify that the data collected contained the necessary patterns to distinguish the two classes and that, because of these patterns, we could train any classifier to be used in large-scale production. We used three different types of machine learning models: decision tree, support vector machine, and neural networks. The default configurations for each type of model from the scikit-learn library were used. The training parameters were the same for all model types: {input: \(X\); amount of training examples used to generate the learning curves: (10.0%, 32.5%, 55.0%, 77.5%, 100.0% relative to \(X\)); number of shuffle splits for cross-validation: 20; score type: accuracy; test size: 10.0%). Each training session was performed twice for each type of model; in the first training session, we used the labels obtained with our methodology (\(y\)), while, in the second, we used the randomly generated labels (\(y_{rand}\)).  
In Figures 10-12, we show the learning curves obtained for both the models trained with correct (\(y\)) and random (\(y_{rand}\)) labels for the three different types of machine learning models: decision tree, support vector machine, and neural networks. In all plots, the x-axis corresponds to the number of samples, the y-axis corresponds to the accuracy value, the blue line refers to the training data, the orange line refers to the test data, and the translucent shade of the curves corresponds to the standard deviation. In the figures, it can be seen that when the platform labels \(y\) were used, the three types of models obtained a high accuracy score for the test data (above 0.8 in all cases). In contrast, for \(y_{rand}\) labels, the accuracy was always below 0.5. It is also very noticeable in the learning curves that in the case of \(y\) labels, there was an increasing accuracy trend for the training data, while, for the \(y_{rand}\), the trend was static or decreasing.  
We conclude that the data obtained from the platform are far from being simply noisy data. On the contrary, exploring different machine learning algorithms revealed good-quality data ready to be used for any learning technique (RQ3), thanks to the proposed methodology to control the annotation. It is important to note that, in this stage of the research, it is not our intention to obtain the best classifier but to ensure that the proposed control for data collection guarantees class separability. In the following sections, we will reaffirm this claim by exploring other qualities of the obtained data.