Most current abuse filters rely on a combination of blacklisted terms, common expressions and syntax clues to catch hate speech online, but the Yahoo team went a step further and applied machine learning to their massive repository of flagged comments. Using a technique called "word embedding," which processes words as vectors rather than either simply positive or negative, the Yahoo system can recognize an offensive string of words, even if the individual words are inoffensive on their own. According to the their findings, the system was able to correctly identify abusive language from the same data set about 90 percent of the time. While that figure is impressive, the ever-changing nature of hate speech means no system -- not even a human one -- will ever truly be able to know what's offensive 100 percent of the time.

As Alex Krasodomski-Jones, an online abuse researcher with the UK's Centre for Analysis of Social Media, told Technology Review, "Given 10 tweets, a group of humans will rarely all agree on which ones should be classed as abusive, so you can imagine how difficult it would be for a computer."