UTFPR at S em E val 2020 Task 12: Identifying Offensive Tweets with Lightweight Ensembles (2020)

Abstract: Offensive language is a common issue on social media platforms nowadays. In an effort to address this issue, the SemEval 2020 event held the OffensEval 2020 shared task where the participants were challenged to develop systems that identify and classify offensive language in tweets. In this paper, we present a system that uses an Ensemble model stacking a BOW model and a CNN model that led us to place 29th in the ranking for English sub-task A.

## introduction social media websites are widespread on the internet and they are used to facilitate the communication between people. their usage is growing more and more @xcite . people use these means of communication to express their opinions, to share something they like, to keep in touch with their friends and relatives, and also to get to know someone new. however, some people use social media to commit attacks against others, consequently sharing offensive content on theses platforms @xcite . in an effort to help identify offensive language on social media posts, we rely on natural language processing (nlp) techniques, since this is an area of computer science and linguists that cares about the interaction of computers and humans through natural language. and this kind of task in nlp is called binary text classification, where, based on textual features, a system estimates whether or not a sentence has offensive language. there are many types of approaches to solving a text classification problem, such as statistical models (e.g., naive bayes, svm), machine learning models (e.g., gradient boosted decision trees), deep learning models (e.g., lstm, rnn, cnn, bert), and other methods as well. last year, offenseval 2019 shared task participants created many approaches to solve the issue of offensive language identification, where 70% of them used deep learning models as a solution to this task. analyzing only the methods used by the top-10 teams, seven of them used bert to solve the task @xcite . although bert has managed to achieve state-of-the-art results in many nlp tasks @xcite , it is very computationally expensive to train compared to most machine learning models @xcite . due to its complexity and robustness, the bert model requires many gpus for its training and this model is not very suitable for low resource languages. in an attempt to solve this problem, we developed a more lightweight approach using an ensemble model stacking a bag-of-words (bow) model and a convolutional neural network (cnn). the bow model can be easily applied to even low resource languages and the cnn model is considerably less costly to train than the bert model. we claim that's a lightweight model due to a runtime of 11 hours in a freely available virtual machine (1-core/2-threads xeon cpu + tesla k80 gpu + 25gb of ram), which is way less costly than the models mentioned before. in the following sections, we describe the task (section 2), our system (section 3), and its performance on the shared task (section 4). ## task summary the offenseval shared task is part of the semeval 2020 workshop @xcite and consists of developing a classification system for each of the sub-tasks described below: to help the participants create a solution for the shared task, datasets in five different languages were provided (arabic @xcite , danish (sigurbergsson and derczynski, 2020), english @xcite , greek @xcite , and turkish (c ¸öltekin, 2020)). however, only the english dataset ran all three sub-tasks, the other languages ran only sub-task a. our team focused on the english dataset, so only this dataset will be described ahead. for sub-task a, the organizers provided a dataset containing 9,087,118 instances; for sub-task b, a dataset containing 188,973 instances; and for sub-task c, a dataset containing 188,973 instances. our team focused on developing a system based on the english dataset but only for solving the sub-task a. for this sub-task, a total of 9,087,118 instances were released to be used as training and development set and 3,887 instances as test set. analyzing the training/dev sets, we found they are tabular datasets separated into 4 columns: the first one is the id, the second one is the sentence, the third one is the average, and the last one is the standard deviation (see