Hierarchical CVAE for Fine-Grained Hate Speech Classification

Existing work on automated hate speech detection typically focuses on binary classification or on differentiating among a small set of categories. In this paper, we propose a novel method on a fine-grained hate speech classification task, which focuses on differentiating among 40 hate groups of 13 different hate group categories. We first explore the Conditional Variational Autoencoder (CVAE) as a discriminative model and then extend it to a hierarchical architecture to utilize the additional hate category information for more accurate prediction. Experimentally, we show that incorporating the hate category information for training can significantly improve the classification performance and our proposed model outperforms commonly-used discriminative models.


Introduction
The impact of the vast quantities of user-generated web content can be both positive and negative. While it improves information accessibility, it also can facilitate the propagation of online harassment, such as hate speech. Recently, the Pew Research Center 1 reported that "roughly four-inten Americans have personally experienced online harassment, and 63% consider it a major problem. Beyond the personal experience, two-thirds of Americans reported having witnessed abusive or harassing behavior towards others online." In response to the growth in online hate, there has been a trend of developing automatic hate speech detection models to alleviate online harassment (Warner and Hirschberg, 2012;Waseem and Hovy, 2016). However, a common problem with these methods is that they focus on coarse-grained Figure 1: A portion of the hate group map published by the Southern Poverty Law Center (SPLC). Each marker represents a hate group. The markers with the same pattern indicate the corresponding hate groups share the same ideology. The white box shows an example of a hate group in Auburn, Alabama under the category of "White Nationalist". Due to the sensitivity of the data, we mask the name of the group. classifications with only a small set of categories. To the best of our knowledge, the existing work on hate speech detection formulates the task as a classification problem with no more than seven classes. Building a model for more fine-grained multiclass classification is more challenging since it requires the model to capture finer distinctions between each class.
Moreover, fine-grained classification is necessary for fine-grained hate speech analysis. Figure 1 is a portion of the hate group map published by the Southern Poverty Law Center (SPLC) 2 , where a hate group is defined as "an organization that based on its official statements or principles, the statements of its leaders, or its activities has beliefs or practices that attack or malign an entire class of people, typically for their immutable characteristics." The SPLC divides the 954 hate groups in the United States into 17 categories ac-cording to their ideologies (e.g. Racist Skinhead, Anti-Immigrant, and others). The SPLC monitors hate groups throughout the United States by a variety of methodologies to determine the activities of groups and individuals: reviewing hate group publications and reports by citizens, law enforcement, field sources and the news media, and conducting their own investigations. Therefore, building automatic classification models to differentiate between the social media posts from different hate groups is both challenging and of practical significance.
In this paper, we propose a fine-grained hate speech classification task that separates tweets posted by 40 hate groups of 13 different hate group categories. Although CVAE is commonly used as a generative model, we find it can achieve competitive results and tends to be more robust when the size of the training dataset decreases, compared to the commonly used discriminative neural network models. Based on this insight, we design a Hierarchical CVAE model (HCVAE) for this task, which leverages the additional hate group category (ideology) information for training. Our contributions are three-fold: • This is the first paper on fine-grained hate speech classification that attributes hate groups to individual tweets. • We propose a novel Hierarchical CVAE model for fine-grained tweet hate speech classification. • Our proposed model improves the Micro-F1 score of up to 10% over the baselines.
In the next section, we outline the related work on hate speech detection, fine-grained text classification, and Variational Autoencoder. In Section 3, we explore the CVAE as a discriminative model, and our proposed method is described in Section 4. Experimental results are presented and discussed in Section 5. Finally, we conclude in Section 6.
2 Related Work

Hate Speech Detection
An extensive body of work has been dedicated to automatic hate speech detection. Most of the work focuses on binary classification. Warner and Hirschberg (2012) differentiate between antisemitic or not. Gao et al. (2017), Zhong et al. (2016), and Nobata et al. (2016) differentiate between abusive or not. Waseem and Hovy (2016), Burnap and Williams (2016), and Davidson et al. (2017) focus on three-way classification. Waseem and Hovy (2016) classify each input tweet as racist hate speech, sexist hate speech, or neither. Burnap and Williams (2016) build classifiers for hate speech based on race, sexual orientation or disability, while Davidson et al. (2017) train a model to differentiate among three classes: containing hate speech, only offensive language, or neither. Badjatiya et al. (2017) use the dataset provided by Waseem and Hovy (2016) to do threeway classification. Our work is most closely related to (Van Hee et al., 2015), which focuses on fine-grained cyberbullying classification. However, this study only focuses on seven categories of cyberbullying while our dataset consists of 40 classes. Therefore, our classification task is much more fine-grained and challenging.

Fine-grained Text Classification
Our work is also related to text classification. Convolutional Neural Networks (CNN) have been successfully applied to the text classification task. Kim (2014) applies CNN at the word level while  apply CNN at the character level. Johnson and Zhang (2015) exploit the word order of text data with CNN for accurate text categorization. Socher et al. (2013) introduces the Recursive Neural Tensor Network for text classification. Recurrent Neural Networks (RNN) are also commonly used for text classification (Tai et al., 2015;Yogatama et al., 2017). Lai et al. (2015) and Zhou et al. (2015) further combine RNN with CNN. Tang et al. (2015) and Yang et al. (2016) exploit the hierarchical structure for document classification. Tang et al. (2015) generate from the sentence representation to the document representation while Yang et al. (2016) generate from the word-level attention to the sentence-level attention. However, the division of the hierarchies in our HCVAE is according to semantic levels, rather than according to document compositions. We generate from the category-level representations to the group-level representations. Moreover, the most commonly used datasets by these works (Yelp reviews, Yahoo answers, AGNews, IMDB reviews (Diao et al., 2014)) have no more than 10 classes.

Variational Autoencoder
Variational Autoencoder (VAE) (Kingma and Welling, 2013) has achieved competitive results in x is the embedded input text. y g is the ground truth hate group label. y g is the output prediction of the hate group. p is the posterior distribution of the latent variable z while p is the prior distribution of z. Note that this structure is used for training. During testing, the posterior network is replaced by the prior network to computeŷ g and thus y g is not available during testing. Refer to Section 3 for detailed explanation. many complicated generation tasks, such as handwritten digits (Kingma and Welling, 2013;Salimans et al., 2015), faces (Kingma and Welling, 2013;Rezende et al., 2014), and machine translation (Zhang et al., 2016). CVAE (Larsen et al., 2016;Sohn et al., 2015) is an extension of the original VAE framework that incorporates conditions during generation. In addition to image generation, CVAE has also been successfully applied to several NLP tasks, such as dialog generation (Zhao et al., 2017). Although so far CVAE has always been used as a generative model, we explore the performance of the CVAE as a discriminative model and further propose a hierarchical CVAE model, which exploits the hate group category (ideology) information for training.

CVAE Baseline
We formulate our classification task as the following equation: where x, y g are the tweet text and hate group label respectively, X is the dataset. Instead of directly parameterizing p(y g |x), it can be further written as the following equation: where z is the latent variable. Since the integration over z is intractable, we instead try to maximize the corresponding evidence lower bound (ELBO): where D KL is the KullbackLeibler (KL) divergence. p(y g |z, x) is the likelihood distribution, q(z|x, y g ) is the posterior distribution, and p(z|x) is the prior distribution. These three distributions are parameterized by p ϕ (y g |z, x), q α (z|x, y g ), and p β (z|x). Therefore, the training loss function is: The above loss function consists of two parts. The first part L REC is the reconstruction loss. Optimizing L REC can push the predictions made by the posterior network and the likelihood network closer to the ground truth labels. The second part L KL is the KL divergence loss. Optimizing it can push the output distribution of the prior network and that of the posterior network closer to each other, such that during testing, when the ground truth label y g is no longer available, the prior network can still output a reasonable probability distribution over z. Figure 2 illustrates the structure of the CVAE model during training (the structure used for testing is different). The likelihood network p ϕ (y g |z, x) is a Multilayer Perceptron (MLP). The structure of both the posterior network q α (z|x, y g ) and the prior network p β (z|x) is a bidirectional Long Short-Term Memory (Bi-LSTM) (Hochreiter and Schmidhuber, 1997) layer followed by an MLP. The Bi-LSTM is used to encode the tweet text. The only difference between the posterior and the prior network is that for the posterior network the input for the MLP is the encoded text concatenated with the group label while for the prior network only the encoded text is fed forward. During testing, the posterior network will be replaced by the prior network to generate the distribution over the latent variable (i.e. p will replace p). Thus during testing, the ground truth labels will not be used to make predictions.
We assume the latent variable z has a multivariate Gaussian distribution: p = N (µ, Σ) for the posterior network, and p = N (µ , Σ ) for the prior network. The detailed computation process is as follows: where f is the Bi-LSTM function and e is the output of the Bi-LSTM layer at the last time step. s is the function of the MLP in the posterior network and s is that of the MLP in the prior network. The notation ⊕ means concatenation. The latent variables z and z are randomly sampled from N (µ, Σ) and N (µ , Σ ), respectively. During training, the input for the likelihood network is z:ŷ where w is the function of the MLP in the likelihood network. During testing, the prior network will substitute for the posterior network. Thus for testing, the input for the likelihood is z instead of z:ŷ

Our Approach
One problem with the above CVAE method is that it utilizes the group label for training, but ignores the available hate group category (ideology) information of the hate speech. As mentioned in Section 1, hate groups can be divided into different categories in terms of ideologies. Each hate group belongs to a specific hate group category. Considering this hierarchical structure, the hate category information can potentially help the model to better capture the subtle differences between the hate speech from different hate groups. Therefore, we extend the baseline CVAE model to incorporate the category information. In this case, the objective function is as follows: where y c is the hate group category label and where z c and z g are latent variables. Therefore, the ELBO of our method is the sum of the ELBOs of log p(y c |x) and log p(y g |x, y c ): During testing, the prior networks will substitute the posterior networks and the ground truth labels y c and y g are not utilized. Hence the prior p(z g |x, y c ) in the above equation cannot be parametrized as a network that directly takes the ground truth label y c and x as inputs. Instead, we parameterize it as shown in the right part of Figure 3. We assume that u is trained to be a latent representation of y c , so we use u and x as inputs for this prior network. According to the ELBO above, the corresponding loss function L is the combination of the loss function for the category classification (L c ) and that for the group classification (L g ). Figure 3 shows the structure of our model for training. By assuming the latent variables z c and z g have multivariate Gaussian distributions, the actual outputs of the posterior and prior networks are the mean and variance: p c = N (µ c , Σ c ), p g = N (µ g , Σ g ) for the two posterior networks, and p c = N (µ c , Σ c ), p g = N (µ g , Σ g ) for the two prior networks. Note that in addition to these four distributions, there is another distribution p x = N (µ x , σ x ) as shown in Figure 3. This distribution is generated only with the input text x, so it provides the basic distribution (in order to avoid confusion, we call it the basic distribution instead x is the embedded input text. y c and y g are the ground truth hate category label and hate group label.ŷ c andŷ g are the output predictions of the hate category and hate group. z c , z g , and z c are latent variables. In the left dotted box are two posterior networks. In the right dotted box are two prior networks. Note that this structure is used for training. During testing, the posterior networks will be substituted by the posterior networks (i.e. the left dotted box will be substituted with the right one) to computeŷ c andŷ g . Thus y c and y g are not available during testing. Refer to Section 4 for detailed explanation.
of the prior distribution) for both two posterior networks and two prior networks. With this basic distribution, the two posterior networks only need to capture the additional signals learned from x and labels. Similarly, the prior networks only need to learn the additional signals learned by the posterior networks. The detailed computation process during training is shown as the following equations: where f is the Bi-LSTM function and e is the output of the Bi-LSTM layer at the last time step. s x , s c , s g , and s c are the functions of four different MLPs. f c is the Bi-LSTM function in the prior network p β (z c |x). The latent variables z x , z c , z g , and z c are randomly sampled from the Gaussian distributions N (µ x , Σ x ), N (µ c , Σ c ), N (µ g , Σ g ), and N (µ c , Σ c ) respectively. As mentioned above, sample z c = reparameterize(µ c , Σ c ); 33: u = zx + z c ; 34: compute µ g , Σ g ; 35: sample z g = reparameterize(µ g , Σ g ); 36: v = u + z g ; 37: computeŷc andŷg according to Eq. 26-28; 38: end for 39: end function p x is the basic distribution while p c , p g , p c , and p g are trained to capture the additional signals. Therefore, z x is added to z c and z c , then the results u and u are further added to z g and z g , respectively, as shown in the following equations: where f g is the Bi-LSTM function and s g is the function of the MLP in the prior network p γ (z g |x, u). + is element-wise addition. During training, u and v are fed into the likelihood networks:ŷ where w c and w g are the functions of the MLPs in two likelihood networks. During testing, the prior networks will substitute the posterior networks, so the latent variable z g is randomly sampled from the Gaussian distributions N (µ g , Σ g ), and the last four equations above (Equation 22 -25) will be replaced by the following ones: Algorithm 1 illustrates the complete training and testing process. BCE refers to the Binary Cross Entropy loss. Note that during training, the ground truth category labels and group labels are fed to the posterior network to generate latent variables. But during testing, the latent variables are generated by the prior network, which only utilizes the texts as inputs.  -2009, until 10-2017. Each instance in the dataset is a tuple of (tweet text, hate category label, hate group label). The complete dataset consists of approximately 3.5 million tweets. Note that due to the sensitive nature of the data, we anonymously reference the Twitter handles for each hate group by using IDs throughout this paper. The distribution of the data is illustrated in Figure 4.

Experimental Settings
In addition to the discriminative CVAE model described in Section 3, we implement for other baseline methods and an upper bound model as follows.

Support Vector Machine (SVM):
We implement an SVM model with linear kernels. We use L2 regularization and the coefficient is 1. The input features are the Term Frequency Inverse Document Frequency (TF-IDF) values of up to 2-grams. Logistic Regression (LR): We implement the Logistic Regression model with L2 regularization.
The penalty parameter C is set to 1. Similar to the SVM model, we use TF-IDF values of up to 2-grams as features.
Character-level Convolutional Neural Network (Char-CNN): We implement the character-level CNN model for text classification as described in . It is 9 layers deep with 6 convolutional layers and 3 fully-connected layers. The configurations of the convolutional layers are kept the same as those in .
Bi-LSTM: The model consists of a bidirectional LSTM layer followed by a linear layer. The embedded tweet text x is fed into the LSTM layer and the output at the last time step is then fed into the linear layer to predictŷ g . Upper Bound: The upper bound model also consists of a bidirectional LSTM layer followed by a linear layer. The difference between this model and Bi-LSTM is that it takes the tweet text x along with the ground truth category label y c as input during both training and testing. The LSTM layer is used to encode x. The encoding result is concatenated with the ground truth category label and then fed into the linear layer to give the prediction of the hate groupŷ g . Since it utilizes y c for prediction during testing, this model sets an upper bound performance for our method.
For the baseline CVAE, Bi-LSTM, the upper bound model, and the HCVAE, we use randomly initialized word embeddings with size 200. All the neural network models are optimized by the Adam optimizer with learning rate 1e-4. The batch size is 20. The hidden size of all the LSTM layers in these models is 64 and all the MLPs are threelayered with non-linear activation function Tanh. For the CVAE and the HCVAE, the size of the latent variables is set to 256.
All the baseline models and our model are evaluated on two datasets. We first use the complete dataset for training and testing. 90% of the instances are used for training and the rest for testing. In order to evaluate the robustness of the baseline models and our model, we also randomly selected a subset (10%) of the original dataset for training while the testing dataset is fixed. Since the upper bound model is used to set an upper bound on performance, we do not evaluate it on the smaller training dataset. We use Macro-F1, Micro-F1, and Weighted-F1 to evaluate the classification results. As shown in Figure 4, the dataset is highly imbalanced, which causes problems for training the above models. In order to alleviate this problem, we use a weighted random sampler to sample instances from the training data. However, the testing dataset is not sampled, so the distribution of the testing dataset remains the same as that of the original dataset. This allows us to evaluate the models' performance on the data with a realistic distribution.

Experimental Results
The experimental results are shown in Table 1. The testing dataset keeps the imbalanced distribution of the original data, so the Macro-F1 score of each method is significantly lower than the Micro-F1 score and the Weighted-F1 score. Comparing the performance of the Bi-LSTM model and that of the baseline CVAE model shows that although CVAE is traditionally used as a generative model, it can also achieve competitive performance as a discriminative model. All the methods achieve lower F1 scores when using the smaller training dataset. Due to the imbalanced distribution of our dataset, half of the 40 groups has less than 1k tweets in the smaller training dataset, which leads to the sharp decline in the Macro-F1 scores of all the methods. However, the performance of both CVAE-based models degrades less than that of the other two neural network models (the Bi-LSTM model and the Char-CNN model) according to the Micro-F1 Weighted-F1 scores. These two CVAE-based models tend to be more robust when the size of the training dataset is smaller. The difference between the CVAE-based models and the other two models is that both the Bi-LSTM model and the Char-CNN model directly compress the input text into a fixed-length latent Figure 5: This figure compares a subset (17 hate groups of 6 categories) of the predictions made by the baseline CVAE and the HCVAE. The X and Y axes are the index of each hate group. The hate groups of the same category are grouped together as shown in the dashed squares. The color of the grid (i, j) is mapped from r hcvae (i, j)−r cvae (i, j), where r(i, j) is the fraction of the group i's instances among the instances predicted as the group j. A higher difference value corresponds to a lighter color. A grid darker than the background is mapped from a negative value while a grid lighter than the background is mapped from a positive one.
variable while the CVAE model explicitly models the posterior and likelihood distributions over the latent variable. The result is that, during testing, the inference strategy of the Bi-LSTM model and the Char-CNN model is actually comparing the compressed text to the compressed instances in the training dataset while the strategy of the CVAE-based models is to compare the prior distributions over the latent variable. Compared with the compressed text, prior distributions may capture higher level semantic information and thus enable better generalization.
By further utilizing the hate category label for training, the HCVAE outperforms the baseline CVAE on all three metrics. Figure 5 illustrates the difference between the predictions made by the HCVAE and the CVAE. As shown in the figure, most of the lighter girds are in the dashed squares while most of the darker girds are outside. This indicates that the HCVAE model tends to correct the prediction of the CVAE's misclassified instances to be closer to the ground truth. In most cases, the misclassified instances can be directly corrected to the ground truth (the diago- Figure 6: The F1 score achieved by our method on each hate group. The Y-axis is the F1 score. The X-axis is the hate group sorted by the number of instances in the dataset from larger to smaller. The dashed line shows the F1 scores and the solid line is the corresponding trendline. nal). In other cases, they are not corrected to the ground truth but are corrected to the hate groups of the same categories as the ground truth (the dashed squares). This shows that additional ideology information is useful for the model to better capture the subtle differences among tweets posted by different hate groups.
Although our method outperforms the baseline methods, there is still a gap between its performance and the upper bound performance. We analyze this in the following section.

Error Analysis
As mentioned above, in some cases our model misclassified the tweet as a group under the same category as the ground truth. Take, for instance, the tweet from Group1: The only good #muslim is a #dead #muslim. Our HCVAE model predicts it as from Group2. But both Group1 and Group2 are under the category "neo nazi". One possible reason for this kind of error is that the imbalance of the dataset adversely affects the performance of our method. Figure 6 shows the F1 scores achieved by the HCVAE on each group. The performance of the model tends to be much lower when the number of the group's training instances decreases. Although we use the weighted random sampler to alleviate the problem of the imbalanced dataset, repeating the very limited data instances (less than 3k) of a group during training cannot really help the posterior and prior networks to give a reasonable distribution that can generalize well on unseen inputs. Therefore, when the model comes into the instances in the testing dataset, the performance can be less satisfactory. This is a common problem for all the methods, which is the cause of the significantly lower Macro-F1 scores.
Another type of error is caused by the noisy dataset. Take, for instance, the tweet from Group3 under the category "ku klux klan": we must secure the existence of our people and future for the White Children !! Our model classifies it as from Group4 under the category "neo nazi", which makes sense but is an error.

Conclusion
In this paper, we explore the CVAE as a discriminative model and find that it can achieve competitive results. In addition, the performance of the CVAE-based models tend to be more stable than that of the others when the dataset gets smaller. We further propose an extension of the basic discriminative CVAE model to incorporate the hate group category (ideology) information for training. Our proposed model has a hierarchical structure that mirrors the hierarchical structure of the hate groups and the ideologies. We apply the HC-VAE to the task of fine-grained hate speech classification, but this Hierarchical CVAE framework can be easily applied to other tasks where the hierarchical structure of the data can be utilized.