go-away icon indicating copy to clipboard operation
go-away copied to clipboard

Support profanity levels

Open TwiN opened this issue 6 years ago • 1 comments

Add support for multiple level of profanity detection.

e.g.

func IdProfane(s string, level int) bool {
    // ...
}

func IsProfane(s string) bool {
    return IsProfane(s, 1)
}

Where

level description example
1 low filter fuck, bitch
2 moderate filter boobs, ass
3 strict filter adult, blood, period

* Level 2 inherits from level 1 and level 3 inherits from level 2

Note that the strict filter would have a lot of false positive, but its goal would be to prevent as much bad things from getting by as possible, even at the cost of those false positives.

The point here is that by default, the level 1 filter should be used, but if you don't trust where the strings are coming from at all, then you can scale the filter's strictness based on the level of trust.

TwiN avatar Nov 11 '18 18:11 TwiN

You could even let users censor based on the kind of profanity: hateful speech, simple vulgarity, etc. like https://github.com/finnbear/rustrict/blob/master/src/profanity.csv does.

quackduck avatar Apr 21 '22 04:04 quackduck