Abstract
In recent years, the increasing propagation of hate speech on social media and the urgent need for effective counter-measures have drawn significant investment from governments, companies, and researchers. A large number of methods have been developed for automated hate speech detection online. This aims to classify textual content into non-hate or hate speech, in which case the method may also identify the targeting characteristics (i.e., types of hate, such as race, and religion) in the hate speech. However, we notice significant difference between the performance of the two (i.e., non-hate vs. hate). In this work, we argue for a focus on the latter problem for practical reasons. We show that it is a much more challenging task, as our analysis of the language in the typical datasets shows that hate speech lacks unique, discriminative features and therefore is found in the ‘long tail’ in a dataset that is difficult to discover. We then propose Deep Neural Network structures serving as feature extractors that are particularly effective for capturing the semantics of hate speech. Our methods are evaluated on the largest collection of hate speech datasets based on Twitter, and are shown to be able to outperform the best performing method by up to 5 percentage points in macro-average F1, or 8 percentage points in the more challenging case of identifying hateful content.
Keywords
Introduction
The exponential growth of social media such as Twitter and community forums has revolutionised communication and content publishing, but is also increasingly exploited for the propagation of hate speech and the organisation of hate-based activities [1,2]. The anonymity and mobility afforded by such media has made the breeding and spread of hate speech – eventually leading to hate crime – effortless in a virtual landscape beyond the realms of traditional law enforcement.
The term ‘hate speech’ was formally defined as ‘any communication that disparages a person or a group on the basis of some characteristics (to be referred to as
Building effective counter measures for online hate speech requires as the first step, identifying and tracking hate speech online. For years, social media companies such as Twitter, Facebook, and YouTube have been investing hundreds of millions of euros every year on this task [15,19,23], but are still being criticised for not doing enough. This is largely because such efforts are primarily based on manual moderation to identify and delete offensive materials. The process is labour intensive, time consuming, and not sustainable or scalable in reality [5,15,40].
A large number of research has been conducted in recent years to develop automatic methods for hate speech detection in the social media domain. These typically employ semantic content analysis techniques built on Natural Language Processing (NLP) and Machine Learning (ML) methods, both of which are core pillars of the Semantic Web research. The task typically involves classifying textual content into non-hate or hateful, in which case it may also identify the types of the hate speech. Although current methods have reported promising results, we notice that their evaluations are largely biased towards detecting content that is non-hate, as opposed to detecting and classifying real hateful content. A limited number of studies [2,32] have shown that, for example, state of the art methods that detect sexism messages can only obtain an F1 of between 15 and 60 percentage points lower than detecting non-hate messages. These results suggest that it is much harder to detect hateful content and their types than non-hate.1 Even in a binary setting of the task (i.e., either a message is hate or not), the high accuracy obtainable on detecting non-hate does not automatically translate to high accuracy of the other task due to the highly imbalanced nature in such datasets, as we shall show later.
Motivated by these observations, our work makes two major contributions to the research of online hate speech detection.
Evaluated on the largest collection of English Twitter datasets, we show that our proposed methods can outperform state of the art methods by up to 5 percentage points in macro-average F1, or 8 percentage points in the more challenging task of detecting and classifying hateful content. Our thorough evaluation on all currently available public Twitter datasets sets a new benchmark for future research in this area. And our findings encourage future work to take a renewed perspective, i.e., to consider the challenging case of long tail.
The remainder of this paper is structured as follows. Section 2 reviews related work on hate speech detection and other relevant fields; Section 3 describes our data analysis to understand the challenges of hate speech detection on Twitter; Section 4 introduces our methods; Section 5 presents experiments and results; and finally Section 6 concludes this work and discusses future work.
Terminology and scope
Recent years have seen an increasing number of research on hate speech detection as well as other related areas. As a result, the term ‘hate speech’ is often seen to co-exist or become mixed with other terms such as ‘offensive’, ‘profane’, and ‘abusive languages’, and ‘cyberbullying’. To distinguish them, we identify that hate speech
targets individual or groups on the basis of their characteristics;
demonstrates a clear intention to incite harm, or to promote hatred;
may or may not use offensive or profane words. For example:
In contrast,
In the following, we cover state of the art in all these areas with a focus on hate speech.2 We will indicate explicitly where works address a related problem rather than hate speech.
Existing methods primarily cast the problem as a supervised document classification task [37]. These can be divided into two categories: one relies on manual feature engineering that are then consumed by algorithms such as SVM, Naive Bayes, and Logistic Regression [2,9,12,17,21,25,38–42] (
Schmidt et al. [37] summarised several types of features used in the state of the art.
In terms of classifiers, existing methods are predominantly supervised. Among these, Support Vector Machines (SVM) is the most popular algorithm [2,5,9,17,25,38,41,42], while other algorithms such as Naive Bayes [5,9,21,25,42], Logistic Regression [9,12,25,39,40], and Random Forest [9,41] are also used.
To the best of our knowledge, methods of this category include [1,10,15,32,43], all of which used simple word and/or character based one-hot encoding as input features to their models, while Vigna et al. [10] also used word polarity. The most popular network architectures are Convolutional Neural Network (CNN) and Recurrent Neural Network (RNN), typically Long Short-Term Memory network (LSTM). In the literature, CNN is well known as an effective network to act as ‘feature extractors’, whereas RNN is good for modelling orderly sequence learning problems [31]. In the context of hate speech classification, intuitively, CNN extracts word or character combinations [1,15,32] (e.g., phrases, n-grams), RNN learns word or character dependencies (orderly information) in tweets [1,10].
In our previous work [43], we showed benefits of combining both structures in such tasks by using a hybrid CNN and GRU (Gated Recurrent Unit) structure. This work largely extends it in several ways. First, we adapt the model to multiple CNN layers; second, we propose a new DNN architecture based on the idea of extracting skip-gram like features for this task; third, we conduct data analysis to understand the challenges in hate speech detection due to the linguistic characteristics in the data; and finally, we perform an extended evaluation of our methods, particularly their capability on addressing these challenges.
Evaluation of hate speech detection methods
Evaluation of the performance of hate speech (and also other related content) detection typically adopts the classic Precision, Recall and F1 metrics. Precision measures the percentage of true positives among the set of hate speech messages identified by a system; Recall measures the percentage of true positives among the set of real hate speech messages we expect the system to capture (also called ‘
Existing studies on hate speech detection have primarily reported their results using micro-average Precision, Recall and F1 [1,15,32,39,40,43]. The problem with this is that in an unbalanced dataset where instances of one class (to be called the ‘dominant class’) significantly out-number others (to be called ‘minority classes’), micro-averaging can mask the real performance on minority classes. Thus a significantly lower or higher F1 score on a minority class (when compared to the majority class) is unlikely to cause significant change in micro-F1 on the entire dataset. As we will show in Section 3, hate speech detection is a typical task dealing with extremely unbalanced datasets, where real hateful content only accounts for a very small percentage of the entire dataset, while the large majority is non-hate but exhibits similar linguistic characteristics to hateful content. As argued before, practical applications often need to focus on detecting hateful content and identifying their types. In this case, reporting micro F1 on the entire dataset will not properly reflect a system’s ability to deal with hateful content as opposed to non-hate. Unfortunately, only a very limited number of work has reported performance on a per-class basis [3,32]. As an example, when compared to the micro F1 scores obtained on the entire dataset, the highest F1 score reported for detecting sexism messages is 47 percentage points lower in [3] while 11 points lower in [32]. This has largely motivated our study to understand what causes hate speech to be so difficult to classify from a linguistic point of view, and to evaluate hate speech detection methods by giving more focus on their capability of classifying real hateful content.
Dataset analysis – the case of long tail
We first start with an analysis of typical datasets used in the studies of hate speech detection on Twitter. From this we show the very unbalanced nature of such data, and compare the linguistic characteristics of hate speech against non-hate to discuss the challenge of detecting and classifying hateful content.
Public Twitter datasets
We use the collection of publicly available English Twitter datasets previously compiled in our work [43]. To our knowledge, this is the largest set (in terms of tweets) of Twitter based dataset used in hate speech detection. This includes seven datasets published in previous research. And all of these were collected based on the principle of keyword or hashtag filtering from the public Twitter stream.
Statistics of datasets used in the experiment
Statistics of datasets used in the experiment
As shown in Table 1, all datasets are significantly biased towards non-hate, as hate tweets account between only 5.8% (DT) and 31.6% (WZ). When we inspect specific types of hate, some can be even more scarce, such as ‘racism’ and as mentioned before, the extreme case of ‘both’. This has two implications. First, an evaluation measure such as the micro F1 that looks at a system’s performance on the entire dataset regardless of class difference can be biased to the system’s ability of detecting ‘non-hate’. In other words, a hypothetical system that achieves almost perfect F1 in identifying ‘racism’ tweets can still be overshadowed by its poor F1 in identifying ‘non-hate’, and vice versa. Second, compared to non-hate, the training data for hate tweets are very scarce. This may not be an issue that is easy to address as it seems, since the datasets are collected from Twitter and reflect the real nature of data imbalance in this domain. Thus to annotate more training data for hateful content we will almost certainly have to spend significantly more effort annotating non-hate. Also, as we shall show in the following, this problem may not be easily mitigated by conventional methods of over- or under-sampling. Because the real challenge is the lack of unique, discriminative linguistic characteristics in hate tweets compared to non-hate.
As a proxy to quantify and compare the linguistic characteristics of hate and non-hate tweets, we propose to study the ‘uniqueness’ of the vocabulary for each class. We argue that this can be a reasonable reflection of the features used for classifying each class. On the one hand, most types of features are derived from words; on the other hand, our previous work already showed that the most effective features in such tasks are based on words [36].
Specifically, we start with applying a state of the art tweet normalisation tool3
Next, given a tweet
We then compute this score for every tweet in a dataset, and compare the number of tweets with different uniqueness scores within each class. To better visualise this distribution, we bin the scores into 11 ranges as
the distribution of tweets over these ranges regardless of their class (as indicated by the length of the dark horizontal bar, measured against the
the distribution of tweets belong to each class (as indicated by the call-out boxes). For simplicity, we label each range using its higher bound on the

Distribution of tweets in each dataset over the 11 ranges of the uniqueness scores. The
Using the WZ-S.amt dataset as an example, the figure shows that almost 30% of tweets (the bottom horizontal bars in the figure) in this dataset have a uniqueness score of 0. In other words, these tweets contain no class-unique words. This can cause difficulty in extracting class-unique features from these tweets, making them very difficult to classify. The call-out box for this part of data shows that it contains 52% of sexism and 48% of racism tweets. In fact, on this dataset, 76% of sexism and 81% of racism tweets (adding up figures from the call-out boxes for the bottom three horizontal bars) only have a uniqueness score of 0.2 or lower. On those tweets that have a uniqueness score of 0.4 or higher (the top six horizontal bars), i.e., those that may be deemed as relatively ‘easier’ to classify, we find only 2% of sexism and 3% of racism tweets. In contrast, it is 17% for non-hate tweets.
We can notice very similar patterns on all the datasets in this analysis. Overall, it shows that the majority of hate tweets potentially lack discriminative features and as a result, they ‘sit in the long tail’ of the dataset as ranked by the uniqueness of tweets. Note also that comparing the larger datasets WZ.pj and WZ against the smaller ones (i.e., the WZ-S ones), although both the absolute number and the percentage of the racism and sexism tweets are increased significantly in the two larger datasets (see Table 1), this does not improve the long tail situation. Indeed, one can hate or not using the same words. And as a result, increasing the dataset size and improving class balance may not always guarantee a solution.
In this section, we describe our DNN based methods that implement the intuition of extracting dependency between words or phrases as features from tweets. To illustrate this idea, consider the example tweet
We propose two DNN structures that may capture such features. Our previous work [43] combines traditional a CNN with a GRU layer [43] and for the sake of completeness, we also include its details below. Our other method combines traditional CNN with some modified CNN layers serving as skip-gram extractors – to be called ‘skipped CNN’. Both structures modify a common, base CNN model (Section 4.1) that acts as the n-gram feature extractor, while the added GRU (Section 4.1.1) and the skipped CNN (Section 4.1.2) components are expected to extract the dependent sequences of such n-grams, as illustrated above.
The base CNN model
The Base CNN model is illustrated in Fig. 2. Given a tweet, we firstly apply the pre-processing described in Section 3.2 to normalise and transform the tweet into a sequence of words. This sequence is then passed to a word embedding layer, which maps the sequence into a real vector domain (word embeddings). Specifically, each word is mapped onto a fixed dimensional real valued vector, where each element is the weight for that dimension for that word. Word embeddings are often trained on very large unlabelled corpus, and comparatively, the datasets used in this study are much smaller. Therefore in this work, we use pre-trained word embeddings that are publicly available (to be detailed in Section x). One potential issue with pre-trained embeddings is Out-Of-Vocabulary (OOV) words, particularly on Twitter data due to its colloquial nature. Thus the pre-processing also helps to reduce the noise in the language and hence the scale of OOV. For example, by hashtag segmentation we transform an OOV ‘#BanIslam’ into ‘Ban’ and ‘Islam’ that are more likely to be included in the pre-trained embedding models.

The base CNN model uses three different window sizes to extract features. This diagram is best viewed in colour.
The embedding layer passes an input feature space with a shape of
One of the recent trends in text processing tasks on Twitter is the use of character based n-grams and embeddings instead of word based, such as in [25,32]. The main reason for this is to cope with the noisy and informal nature of the language in tweets. We do not use character based models, mainly because the literatures that compared word based and character based models are rather inconclusive. Although Mehdad et al. [25] obtained better results using character based models, Park et al. [32] and Gamback et al. [15] reported the opposite. Further, our pre-processing already reduces the noise in the language to some extent. Although the state of the art tool we used is non-perfect and still made mistakes such as parsing ‘#YouTube’ to ‘You’ and ‘Tube’, overall it significantly reduced OOVs by the embedding models. Using the DT dataset for example, this improved hashtag coverage from as low as less than 1% to up to 80% depending on the embedding models used (see the Appendix for details). Also word-based models also better fit our intuitions explained before.
With this model, we extend the Base CNN model by adding a GRU layer that takes input from the max pooling layer. This treats the features as timesteps and outputs 100 hidden units per timestep. Compared to LSTM, which is a popular type of RNN, the key difference in a GRU is that it has two gates (reset and update gates) whereas an LSTM has three gates (namely input, output and forget gates). Thus GRU is a simpler structure with fewer parameters to train. In theory, this makes it faster to train and generalise better on small data; while empirically it is shown to achieve comparable results to LSTM [7]. Next, a global max pooling layer ‘flattens’ the output space by taking the highest value in each timestep dimension, producing a feature vector that is finally fed into the softmax layer. The intuition is to pick the highest scoring features to represent a tweet, which empirically works better than the normal configuration. The structure of this model is shown in Fig. 3.

The CNN + GRU architecture. This diagram is best viewed in colour.
The GRU layer captures sequence orders that can be useful for this task. In an analogy, it learns dependency relationships between n-grams extracted by the CNN layer before. And as a result, it may capture co-occurring word n-grams as useful patterns for classification, such as the pairs of words and phrases illustrated before.
With this model, we propose to extend the Base CNN model by adding CNNs that use ‘gapped window’ to extract features from its input, and we call these CNN layers ‘skipped CNNs’. A gapped window is one where inputs at certain (consecutive) positions of the window are ignored, such as those shown in Fig. 4. We say that these positions within the window are ‘deactivated’ while other positions are ‘activated’. Specifically, given a window of size

Example of a 2 gapped size 4 window and a one gapped size 3 window. The ‘X’ indicates that input for the corresponding position in the window is ignored.

Creation of
As an example, applying a 1-gap to a size 4 window will produce two shapes: [O, X, O, O], [O, O, X, O], where ‘O’ indicates an activated position and ‘X’ indicates a deactivated position in the window; while applying a 2-gap to a size 4 window will produce a single shape of [O, X, X, O].
To extend the Base CNN model, we add CNNs using 1-gapped size 3 windows, 1-gapped size 4 windows and 2-gapped size 4 windows. Then each added CNN is followed by a max pooling layer of the same configuration as described before. The remaining parts of the structure remain the same. This results in a model illustrated in Fig. 5.

The CNN + sCNN model concatenates features extracted by the normal CNN layers with window sizes of 2, 3, and 4, with features extracted by the four skipped CNN layers. This diagram is best viewed in colour.
Intuitively, the skipped CNNs can be considered as extractors of ‘skip-gram’ like features. In an analogy, we expect it to extract useful features such as ‘muslim refugees ? troublemakers’, ‘muslim ? ? troublemakers’, ‘refugees ? troublemakers’, and ‘they ? ? deported’ from the example sentence before, where ‘?’ is a wildcard representing any word token in a sequence.
To the best of our knowledge, the work by Nguyen et al. [27] is the only one that uses DNN models to extract skip-gram features that are used directly in NLP tasks. However, our method is different in two ways. First, Nguyen et al. addressed a task of mention detection from sentences, i.e., classifying word tokens in a sentence into sequences of particular entities or not. Our work deals with sentence classification. This means that our modelling of the task input and their features are essentially different. Second, the authors used skip-gram features only, while our method adds skip-grams to conventional n-grams, as we concatenate the output from the skipped CNNs and the conventional CNNs. The concept of skip-grams has been widely quoted in training word embeddings with neural network models since Mikolov et al. [26]. This is however, different from directly using skip-gram as features for NLP. Work such as [34] used skip-grams in detecting irony in language. But these are extracted as features in a separate process, while our method relies on the DNN structure to learn such complex features. A similar concept of atrous (or ‘dilated’) convolution has been used in image processing [4]. In comparison, given a window size of
For both CNN + GRU and CNN + sCNN, the input to the each convolutional layer is also regularised by a dropout layer with a ratio of 0.2.
We use the categorical cross entropy loss function and the Adam optimiser to train the models, as the first is empirically found to be more effective on classification tasks than other commonly used loss functions including classification error and mean squared error [24], and the second is designed to improve the classic stochastic gradient descent (SGD) optimiser and in theory combines the advantages of two other common extensions of SGD (AdaGrad and RMSProp) [20].
Our choice of parameters described above are largely based on empirical findings reported previously, default values or anecdotal evidence. Arguably, these may not be the best settings for optimal results, which are always data-dependent. However, we show later in experiments that the models already obtain promising results even without extensive data-driven parameter tuning.
Experiment
In this section, we present our experiments for evaluation and discuss the results. We compare our CNN + GRU and CNN + sCNN methods against three re-implemented state of the art methods (Section 5.1), and discuss the results in Section 5.2. This is followed by an analysis to show how our methods have managed to effectively capture hate tweets in the long tail (Section 5.3), and to discover the typical errors made by all methods compared (Section 5.4).
‘Set1’ in [22]. Based on results in Table 7 in the Appendix, on a per-class basis, Gamback et al. method obtained the highest F1 with Word2Vec embeddings on 11 out of 19 cases, with the other 8 cases obtained with either GloVe or the Twitter embeddings. For Park et al. the figure is 12 out of 19.
Code available at
We re-implemented three state of the art methods covering both the classic and deep learning based methods.
Surface features: word unigram, bigram and trigram each weighted by Term Frequency Inverse Document Frequency (TF-IDF); number of mentions, and hashtags;11 Extracted from the original tweet before pre-processing.
Linguistic features: Part-of-Speech (PoS)12 The NLTK library is used.
Sentiment features: sentiment polarity scores of the tweet, calculated using a public API.13
Our In fact both papers did not detail their hyper-parameter settings, which is another reason for us to use consistent configurations as our methods.
Our experiments could not identify a best performing candidate among the three state of the art methods on all datasets, by all measures. Therefore, in the following discussion, unless otherwise stated, we compare our methods against
Micro vs. macro F1 results of different methods (using the Word2Vec embeddings). The best results on each row are highlighted in bold . Numbers within (brackets) indicate the improvement in F1 compared to the best result by any of the three state of the art methods
Micro vs. macro F1 results of different methods (using the Word2Vec embeddings). The best results on each row are highlighted in
However, notice that both the overall and hate speech-only macro F1 scores are significantly lower than micro F1, for any methods, on any datasets. This further supports our earlier data analysis findings that classifying hate tweets is a much harder task than non-hate, and micro F1 scores will overshadow a method’s true performance on a per-class basis, due to the imbalanced nature of such data.
F1 results of different models for each class (using the Word2Vec embeddings). The best results on each row are highlighted in
Note that the best improvement obtained by our methods were found on the racism class in the three WZ-S datasets. As shown in Table 1, these are minority classes representing a very small population in the dataset (between 1 and 6%). This suggests that our proposed methods can be potentially very effective when there is a lack of training data.
It is also worth to highlight that here we discuss only results based on the Word2Vec embeddings. In fact, our methods obtained even more significant improvement when using the Twitter or GloVe embeddings. We discuss this further in the following sections.
Both models however, obtained much more significant improvement over the three state of the art methods when using the Twitter or GloVe embeddings instead of Word2Vec. For example, on the three WZ-S datasets with the smallest class ‘racism’, CNN + sCNN outperformed the best results by the three state of the art by between 20 and 22 percentage points in F1 using the Twitter embeddings, or between 21 and 33 percent using the GloVe embeddings. For CNN + GRU, the situation is similar: between 9 and 18 percent using the Twitter embeddings, or between 11 and 20 percent using the GloVe embeddings. However, this is largely because the GB and PK models under-performed significantly when using these embeddings instead of Word2Vec. In contrast, the CNN + sCNN and CNN + GRU models can be seen to be less sensitive to the choice of embeddings, which can be a desirable feature.
As noted in [43], we had to re-download tweets using previously published tweet IDs in the shared datasets. But some tweets have become no longer available. The details of the pre-processing, network structures and many hyper-parameter settings are not reported in nearly all of the previous work. For comparability, as mentioned before, we kept the same configurations for our methods as well as the re-implemented state of the art methods.
Table 4 shows that both our methods have achieved the best results on all datasets, outperforming state of the art on six and in some cases, quite significantly. Note that on the WZ.pj dataset where our methods did not obtain further improvement, the best reported state of the art result was obtained using a hybrid character-and-word embeddings CNN model [32]. Our methods in fact, outperformed both the word-only and character-only embeddings models in that same work.
While the results so far have shown that our proposed methods can obtain better performance in the task, it is unclear whether they are particularly effective on classifying tweets in the long tail of such datasets as we have shown before in Fig. 1. To understand this, we undertake a further analysis below.
On each dataset, we compare the output from our proposed methods against that from Gamback et al. as a reference. We identify the additional tweets that were correctly classified by either of our CNN + sCNN or CNN + GRU methods. We refer to these tweets as
compute the uniqueness score of each tweet (Equation (1)) as indicator of the fraction of class-unique words in each of them;
bin the scores into 11 ranges; and
show the distribution of additional true positives found on each dataset by our methods over these ranges in Fig. 6 (i.e., each column in the figure corresponds to a method-dataset pair). Again for simplicity, we label each range using its higher bound on the

(Best viewed in colour) Distribution of additional true positives (compared against Gamback et al.) identified by CNN + sCNN (sCNN for shorthand) and CNN + GRU (GRU) over different ranges of uniqueness scores (Equation (1)) when using the Word2Vec embeddings. Each row in the heatmap corresponds to a uniqueness score range. Each column corresponds to a method-dataset pair. The numbers in each column sum up to 100% while the colour scale within each cell is determined by the number in that cell.
The figure shows that in general, the vast majority of additional true positives have low uniqueness scores. The pattern is particularly strong on WZ and WZ.pj datasets, where the majority of additional true positives have very low uniqueness scores and in a very large number of cases, a substantial fraction of them (between 50 and 60%) have
To understand further the challenges of the task, we manually analysed a sample of 200 tweets covering all classes to identify ones that are incorrectly classified by all methods. We generally split these errors into four categories.
There is also a large group of tweets that require interpretation of
Finally, we also identify a fair amount of
Taking into all such examples into consideration, we see that completely detecting hateful tweets purely based on their linguistic content still remains extremely challenging, if not impossible.
Conclusion and future work
The propagation of hate speech on social media has been increasing significantly in recent years, both due to the anonymity and mobility of such platforms, as well as the changing political climate from many places in the world. Despite substantial effort from law enforcement departments, legislative bodies as well as millions of investment from social media companies, it is widely recognised that effective counter-measures rely on automated semantic analysis of such content. A crucial task in this direction is the detection and classification of hate speech based on its targeting characteristics.
This work makes several contributions to state of the art in this research area. Firstly, we undertook a thorough data analysis to understand the extremely unbalanced nature and the lack of discriminative features of hateful content in the typical datasets one has to deal with in such tasks. Secondly, we proposed new DNN based methods for such tasks, particularly designed to capture implicit features that are potentially useful for classification. Finally, our methods were thoroughly evaluated on the largest collection of Twitter datasets for hate speech, to show that they can be particularly effective on detecting and classifying hateful content (as opposed to non-hate), which we have shown to be more challenging and arguably more important in practice. Our results set a new benchmarking reference in this area of research.
Appendix: Full results
Our full results obtained with different word embeddings are shown in Table 7 for the three re-implemented state of the art methods, and Table 8 for the proposed CNN + sCNNN and CNN + GRU methods.
Percentage of hashtags covered in embedding models before and after applying the Twitter normalisation tool. B – before applying normalisation; A – after applying normalisation
Percentage of OOV in each pre-trained embedding model across all datasets
From the results, we cannot identify any word embeddings that consistently outperform others on all tasks and datasets, and there is also no strong correlation between the percentage of OOV in each word embeddings model and the obtained F1 with that model. Using the Gamback et al. baseline as an example (Table 7), despite being the least complete embeddings model, e.w2v still obtained the best F1 when classifying racism tweets on 5 datasets. On the contrary, despite being the most complete embedding model, e.twt only obtained the best F1 when classifying sexism tweets on 3 datasets.
Although counter-intuitive, this may not be very much a surprise, considering previous findings from [6]. The authors showed that the performance of word embeddings on intrinsic evaluation tasks (e.g., word similarity) does not always correlate to that on extrinsic, or downstream tasks. In details, they showed that the context window size used to train word embeddings can affect the trade-off between capturing the domain relevance and functions of words. A large context window not only reduces sparsity by introducing more contexts for each word, it also better captures the topics of words. A small window on the other hand, captures word function. In sequence labelling tasks, they showed that word embeddings trained using a context window of just 1 performed the best.
Arguably in our task, the topical relevance of words may be more important for the classification of hate speech. Although the Twitter based embeddings model has the best coverage, it may have suffered from insufficient context during training, since tweets are often very short compared to other corpora used to train Word2Vec and GloVe embeddings. As a result, the topical relevance of words captured by these embeddings may have lower quality than we expect, and therefore empirically, they do not lead to consistently better performance than Word2Vec or GloVe embeddings that are trained on very large, context rich, general purpose corpus.
Full results obtained by all baseline models
Full results obtained by the CNN + GRU and CNN + sCNN models

(Best viewed in colour) Distribution of additional true positives (compared against Gamback et al.) identified by CNN + sCNN (sCNN for shorthand) and CNN + GRU (GRU) over different ranges of uniqueness scores (see Equation (1)) on each dataset. Each row in a heatmap corresponds to a uniqueness score range. The numbers in each column sum up to 100% while the colour scale within each cell is determined by the number label for that cell.
