CHALLENGE 1

HATE TEXT

Hate speech through text is  a big problem for public communicators as this type of hate speech can be  added to posts very quickly and it is often not possible to moderate it  effectively, as there is a predominance of haters. We are looking for a tool that would facilitate the moderation of hateful commentators and empower the author of the content on social networks and Internet forums.

YOUR OPTIONS: 

Before you start developing your idea, you should check developer guidelines and existing tools and resources.

GOAL

The real challenge is not only to detect hate speech effectively, but to develop a solution which would make moderation of online debate containing hate speech easier for public communicators. 

The goal of this hackathon is to have a functional prototype of the solution which will be ready or nearly ready for the testing phase. 

The solution can be add-on or plug-in for public communicators to easily moderate potentially harmful content on social media posts using existing hate speech detection datasets and open software to create an automated hate speech text detection software able to timely warn public communicators on potentially harmful comments online. 

 

The solution should avoid banning or deleting potentially harmful content. It should also avoid building software only usable in one language with a high barrier to language adaptation.

DEVELOPER GUIDELINES

FOR HATE SPEECH IN A TEXT FORM

The following principles stem from issues encountered during previous attempts to analyze and detect hate speech online. Successful solutions should focus on mitigating these issues.

 

  • Minimize false-positives - Keyword spotting is not enough. Users tend to obscure and obfuscate words or phrases that may trigger automated filters and lead to many false positives.

  • Plan for the future - Racial and minority insults should be continuously updated to reflect socio-cultural or political changes, stereotypes or slang.

  • Account for complexity - Abusive statements may cross sentence boundaries; although the meaning of individual sentences in a comment may not be offensive or hateful, its overall meaning may be.

  • Watch out for context - Detecting sarcasm requires knowledge of the context or even the individual emitters in an online context

  • Any text analysis can be exploited by simply putting hateful  comments in a blank image and posting it anyway. Therefore, it is important to check for hateful  text in images.

  • You can improve on the  solution that won the  previous Code against Hate Hackathon. Its goal was to detect hate speech during a message or comment composition and warn the users before submitting that they are writing  hate speech.

SELECTION OF TOOLS AND RESOURCES

You do not need to code to design a helpful and mature solution. Here is the list of widely-used development or machine learning tools and lexicons. The list is not exhaustive and serves as an inspiration. It was developed based on the Overview of Online Hate Speech Detection Solutions, document created by Open Code for Hate-free communication. The original resource can be found here.

Development tools and libraries

  1. Scrappy - framework for scrapping written in Python

  2. Apache Nutch - scalable open-source web crawler

  3. Kraken - turn-key OCR system

  4. Snorkel - programmatically build training data

Natural Language Processing (NLP) and Machine Learning (ML) tools

  1. spaCy - NLP library for Python

  2. BERT (Bidirectional Encoder Representations from Transformers)

  3. Fast-Bert - the deep learning library that allows developers to train and deploy BERT models for natural language

  4. Keras - text classification library

  5. FastText - library for text representation

  6. FIIT STU NLP toolbox - tools for slovak language processing

 

Sentiment analysis and lexicon tools

  1. SentiStrength - estimates positive or negative sentiment of sentence

  2. Stanford NLP Sentiment Treebank - deep learning model that computes the sentiment based on how words compose the meaning of longer phrases

  3. Conversation AI - API to score a comment impact on a conversation

  4. Hatebase, Hurtlex or Lexicon of abusive words lexicons

  5. other hate speech datasets