Machine learning detects and reduces offensive language in software communities
Taming the Online Software Engineering Tongue: Detecting and Reducing Offensive Language in Software Communities
Software Engineering
Summary
Online communities where programmers talk, like Stack Overflow and GitHub, can sometimes have rude or offensive comments that make people feel unwelcome. The authors studied lots of comments from these sites and built computer models to find and classify offensive language. They also created a system that not only detects bad language but explains why it's offensive and suggests friendlier ways to say the same thing. This system was tested with real users who found it helpful and easy to use. The authors suggest exploring advanced language models to improve this kind of tool in the future.
What this means in practice
- •For online community managers: Automatically identify and moderate offensive comments to maintain respectful discussion environments in software development forums.
- •For chat platform developers: Integrate offensive language detection and polite rephrasing suggestions to improve communication in developer collaboration tools.
Authors
Jithin Cheriyan, Bastin Tony Roy Savarimuthu, Stephen Cranefield
Abstract
Online Software Engineering (SE) communities such as Stack Overflow have become unwelcoming and hostile spaces, as evidenced by the presence of rude and offensive comments that are detrimental to the emotional wellbeing of participants. The main objective of this work is to investigate the prevalence and nature of offensive language in online SE communities, and develop approaches to classify them with the ultimate goal of reducing offensive language by proposing an Offensive Language Reduction System (OLRSSE) that has the ability to detect, classify, and explain to the poster why a comment is offensive and also propose non-offensive alternative suggestions. Using data from 130,000 user comments on discussions held in four prominent SE platforms: Stack Overflow, GitHub, Gitter and Slack, we developed six sets of twelve (72 in total) different machine learning models (both traditional and deep learning). The F1-Score of the best performing models in the system ranges from 0.56 to 0.94, with an average F1-Score of 0.85, predominantly using BERT as the primary model for various classification tasks. Also, two language-based models were developed for paraphrasing offensive to non-offensive comments. The overall utility of the OLRS-SE was evaluated using user studies with 30 participants, which showed that the developed system is easy to use and also effective in reducing offensive language. Investigating the capabilities of different large language models for offensive language reduction is a promising avenue for future research.