manoelhortaribeiro / HatefulUsersTwitter

Code for the paper "Characterizing and Detecting Hateful Users on Twitter"
MIT License
73 stars 11 forks source link
abuse-detection hate-speech twitter

Hateful Users on Twitter

This folder contains the data and the analysis done in the paper:

@inproceedings{ribeiro2018characterizing,
title={Characterizing and Detecting Hateful Users on Twitter},
author={Horta Ribeiro, Manoel and Calais, Pedro and 
        Santos, Yuri and Almeida, Virg{\'\i}lio and Meira Jr, Wagner},
booktitle={Proceedings of the International AAAI Conference on Web and Social Media},
year={2018}
}

The experiments with the GraphSage algorithm are in another repository.

The dataset can be downloaded here on Kaggle.

Data and Reproducibility

This dataset contains a network of 100k users, out of which ~5k were annotated as hateful or not. For each user, several content-related, network-related and activity related features were provided. Some of the files used are not shared because sharing them violates Twitter's guidelines.

You can download the following files here:

And the following files on Kaggle:

Attributes description

  hate :("hateful"|"normal"|"other")
  if user was annotated as hateful, normal, or not annotated.

  (is_50|is_50_2) :bool
  whether user was deleted up to 12/12/17 or 14/01/18. 

  (is_63|is_63_2) :bool
  whether user was suspended up to 12/12/17 or 14/01/18. 

  (hate|normal)_neigh :bool
  is the user on the neighborhood of a (hateful|normal) user? 

  [c_] (statuses|follower|followees|favorites)_count :int
  number of (tweets|follower|followees|favorites) a user has.

  [c_] listed_count:int
  number of lists a user is in.

  [c_] (betweenness|eigenvector|in_degree|outdegree) :float
  centrality measurements for each user in the retweet graph.

  [c_] *_empath :float
  occurrences of empath categories in the users latest 200 tweets.

  [c_] *_glove :float          
  glove vector calculated for users latest 200 tweets.

  [c_] (sentiment|subjectivity) :float
  average sentiment and subjectivity of users tweets.

  [c_] (time_diff|time_diff_median) :float
  average and median time difference between tweets.

  [c_] (tweet|retweet|quote) number :float
  percentage of direct tweets, retweets and quotes of an user.

  [c_] (number urls|number hashtags|baddies|mentions) :float
  number of bad words|mentions|urls|hashtags per tweet in average.

  [c_] status length :float
  average status length.

  hashtags :string
  all hashtags employed by the user separated by spaces.

Folder Structure

These are the main folders, reproducible with the dataset downloaded from Kaggle:

These folders are not reproducible, but they are present just in for completeness:

Auxiliary folders: