It's inspired by providing tool for simple scoring/filtering with just a PHP implementation (without the need to set multiple libs probably on C/Python, or importing db dumps etc).
composer require arthurkushman/detox
To get toxicity score on any text:
$text = new Text('Some text');
$words = new Words(new EnglishSet(), $text);
$words->processWords();
if ($words->getScore() >= 0.5) {
echo 'Toxic text detected';
}
to test an input string on asterisk pattern occurrences:
$words->processPatterns();
if ($words->getScore() >= 0.5) {
echo 'Toxic text detected';
}
Another option is to check for phrases:
$phrases = new Phrases(new EnglishSet(), $text);
$phrases->processPhrases();
if ($words->getScore() >= 0.5) {
echo 'Toxic text detected';
}
There are no constraints to use all options at once, so u can do the following:
// Phrases object extends Words - just use all inherited methods
$detox = new Phrases(new EnglishSet(), $text);
$detox->processWords();
// change string in Text object
$text->setString('Another text');
// inject Text object to Phrases
$detox->setText($text);
$detox->processPhrases();
$text->setString('Yet another text');
$detox->setText($text);
$detox->processPatterns();
if ($detox->getScore() >= 0.5) {
echo 'Toxic text detected';
}