Abuse-Detection / app.py
iimran's picture
Update app.py
caf28b3 verified
raw
history blame
73.6 kB
import os
import json
import numpy as np
from tokenizers import Tokenizer
import onnxruntime as ort
from huggingface_hub import hf_hub_download
import gradio as gr
class ONNXInferencePipeline:
def __init__(self, repo_id):
# Retrieve the Hugging Face token from the environment variable
hf_token = os.getenv("HF_TOKEN")
if hf_token is None:
raise ValueError("HF_TOKEN environment variable is not set.")
# Load banned keywords list
self.banned_keywords = self.load_banned_keywords()
# Download files from Hugging Face Hub using the token
self.onnx_path = hf_hub_download(repo_id=repo_id, filename="model.onnx", use_auth_token=hf_token)
self.tokenizer_path = hf_hub_download(repo_id=repo_id, filename="train_bpe_tokenizer.json", use_auth_token=hf_token)
self.config_path = hf_hub_download(repo_id=repo_id, filename="hyperparameters.json", use_auth_token=hf_token)
# Load configuration
with open(self.config_path) as f:
self.config = json.load(f)
# Initialize tokenizer
self.tokenizer = Tokenizer.from_file(self.tokenizer_path)
self.max_len = 256
# Initialize ONNX runtime session
self.session = ort.InferenceSession(self.onnx_path)
self.providers = ['CPUExecutionProvider'] # Use CUDA if available
if 'CUDAExecutionProvider' in ort.get_available_providers():
self.providers = ['CUDAExecutionProvider']
self.session.set_providers(self.providers)
def load_banned_keywords(self):
# Load your comprehensive list of banned keywords
# In a production environment, this would be your full list of 500+ keywords
return [
# Original banned keywords
"fuck", "shit", "bitch", "cunt", "asshole", "faggot", "nigger", "bastard", "damn", "crap",
"arse", "bollocks", "cock", "dick", "piss", "wanker", "whore", "slut", "motherfucker", "son of a bitch",
"chink", "gook", "kike", "spic", "wog", "coon", "negro", "tar baby", "bimbo", "skank", "hoe", "twat",
"pagal", "mad", "bloody", "blood", "tranny", "dyke", "queer", "fudge packer", "muff diver",
"retard", "cripple", "spaz", "mongoloid", "idiot", "rocket", "killing", "pistol",
"infidel", "heathen", "blasphemy", "heretic", "islam", "religion", "relegious", "ak47",
"kill yourself", "go to hell", "rape", "murder", "terrorist", "terror",
"pedo", "nazi", "devil", "shithead", "asswipe", "blast", "islamist",
"bomb", "poison", "stab", "shoot", "assassinate", "strangle", "torture", "harm", "injure",
"terrorism", "extremist", "radical", "suicide", "explosion", "grenade", "weapon", "gun", "rifle",
"ammunition", "bombing", "massacre", "genocide",
"threaten", "intimidate", "destroy", "obliterate", "exterminate", "eliminate", "annihilate", "violence",
"attack", "raid", "ambush", "hostage", "kidnap",
"war", "bloodshed", "slaughter", "brutality", "carnage", "vengeance", "revenge", "punish", "execute",
"decapitate", "maim", "hell", "poo", "turd",
"douche", "dumbass", "jerk", "prick", "scumbag", "screw", "sodomize",
"beaner", "camel jockey", "gypsy", "haji", "jap", "paki", "raghead", "sambo", "wetback", "yid",
"gold digger", "hooker", "milf", "porn", "prostitute", "sex worker", "thot",
"gender bender", "hermaphrodite", "ladyboy", "she-male", "sissy",
"blind", "deaf", "dumb", "lame", "psycho", "schizo", "stupid", "buddha fart", "jesus h christ", "pastafarian",
"abuse", "behead", "choke", "crucify", "dismember", "electrocute", "gaslight",
"hang", "lynch", "smother", "strangle", "taser",
"al qaeda", "isis", "taliban", "chemical weapon", "biological weapon", "nuclear bomb", "dirty bomb",
"suicide vest", "car bomb", "drone strike",
"burn", "castrate", "cutthroat", "gang bang", "gangster", "hitman", "mafia", "mob", "noose",
"poison gas", "sniper", "vengeful",
"anarchy", "apocalypse", "chaos", "doom", "evil", "hate", "insanity", "madness", "plague", "riot",
"slaughterhouse", "zombie", "bund", "gand", "gandu", "chod", "behenchod", "behen chod", "lora", "lund", "loda",
# Additional banned keywords from the new list
"2g1c", "2 girls 1 cup", "acrotomophilia", "alabama hot pocket", "alaskan pipeline", "anal", "anilingus", "anus",
"arsehole", "ass", "assmunch", "auto erotic", "autoerotic", "babeland", "baby batter", "baby juice",
"ball gag", "ball gravy", "ball kicking", "ball licking", "ball sack", "ball sucking", "bangbros",
"bareback", "barely legal", "barenaked", "bastardo", "bastinado", "bbw", "bdsm", "beaver cleaver", "beaver lips",
"bestiality", "bi curious", "big black", "big breasts", "big knockers", "big tits", "bimbos", "birdlock",
"black cock", "blonde action", "blonde on blonde action", "blowjob", "blow job", "blow your load",
"blue waffle", "blumpkin", "bondage", "boner", "boob", "boobs", "booty call", "brown showers",
"brunette action", "bukkake", "bulldyke", "bullet vibe", "bung hole", "bunghole", "busty", "butt",
"buttcheeks", "butthole", "camel toe", "camgirl", "camslut", "camwhore", "carpet muncher", "carpetmuncher",
"chocolate rosebuds", "circlejerk", "cleveland steamer", "clit", "clitoris", "clover clamps", "clusterfuck",
"cocks", "coprolagnia", "coprophilia", "cornhole", "creampie", "cum", "cumming", "cunnilingus",
"cunt", "darkie", "date rape", "daterape", "deep throat", "deepthroat", "dendrophilia", "dick", "dildo",
"dirty pillows", "dirty sanchez", "doggie style", "doggiestyle", "doggy style", "doggystyle", "dog style",
"dolcett", "domination", "dominatrix", "dommes", "donkey punch", "double dong", "double penetration",
"dp action", "dry hump", "dvda", "eat my ass", "ecchi", "ejaculation", "erotic", "erotism", "escort",
"ethical slut", "eunuch", "faggot", "fecal", "felch", "fellatio", "feltch", "female squirting", "femdom",
"figging", "fingerbang", "fingering", "fisting", "foot fetish", "footjob", "frotting", "fuck buttons",
"fudge packer", "fudgepacker", "futanari", "gay sex", "genitals", "giant cock", "girl on", "girl on top",
"girls gone wild", "goatcx", "goatse", "gokkun", "gold digger", "golden shower", "goo girl", "goodpoop",
"gook", "goregasm", "grenade", "grope", "group sex", "gun", "guro", "gypsy", "hand job", "handjob",
"hard core", "hardcore", "hentai", "homoerotic", "honkey", "hooker", "hostage", "hot carl",
"hot chick", "how to kill", "how to murder", "huge fat", "humping", "jack off", "jail bait", "jailbait",
"jap", "jelly donut", "jerk", "jerk off", "jesus h christ", "jigaboo", "jiggaboo", "jiggerboo", "jizz",
"juggs", "kidnap", "kike", "kill yourself", "killing", "kinbaku", "kinkster", "kinky", "knobbing",
"ladyboy", "leather restraint", "leather straight jacket", "lemon party", "lolita", "lora", "lovemaking",
"make me come", "male squirting", "massacre", "masturbate", "menage a trois", "milf", "mob", "motherfucker",
"mound of venus", "mr hands", "muff diver", "muffdiving", "murder", "nambla", "nawashi", "nazi", "negro",
"nigger", "nimphomania", "nipple", "noose", "nuclear bomb", "obliterate", "pagal", "paki",
"pastafarian", "pedo", "piss", "pistol", "plague", "poison", "poison gas", "poo", "porn", "prick",
"prostitute", "psycho", "punish", "queer", "radical", "raghead", "raid", "rape", "relegious", "religion",
"retard", "revenge", "rifle", "riot", "rocket", "sambo", "schizo", "screw", "scumbag", "sex worker",
"she-male", "shit", "shithead", "shoot", "sissy", "skank", "slaughter", "slaughterhouse", "slut",
"smother", "sniper", "sodomize", "son of a bitch", "spaz", "spic", "stab", "strangle", "stupid",
"suicide", "suicide vest", "taliban", "tar baby", "taser", "terror", "terrorism", "terrorist", "thot",
"threaten", "torture", "tranny", "turd", "twat", "vengeance", "vengeful", "violence", "wanker",
"war", "weapon", "wetback", "whore", "wog", "yid", "zombie",
# Additional variations for "stupid"
"stupid", "sstupid", "stupidd", "stuupid", "stuppidd", "sttupid", "stupiid", "sttuppid",
# Additional variations for "idiot"
"idiot", "idiott", "idioot", "idit", "id0t",
# Additional variations for "fuck"
"fuck", "f*ck", "f**ck", "fck", "fukk", "fucc", "f u c k",
# Additional variations for "shit"
"shit", "sh1t", "sh!t", "sht", "shiit",
# Additional variations for "bitch"
"bitch", "btch", "b1tch", "biatch", "b*tch",
# Additional variations for "asshole"
"asshole", "ashole", "asshol", "a$$hole", "a**hole",
# Additional variations for "dumb"
"dumb", "dumm", "dum", "dumbass", "dumass",
# Additional variations for "faggot"
"faggot", "fag", "fagg0t", "faaggot",
# Additional variations for "nigger"
"nigger", "nigga", "niggar", "niggah", "n*gger",
# Additional variations for "cunt"
"cunt", "c*nt", "c0nt",
# Additional variations for "whore"
"whore", "wh0re", "w*h*re", "whoore",
# Additional variations for "slut"
"slut", "sluut", "sllut", "slutty", "slu*t",
# Additional variations for "bastard"
"bastard", "basturd", "bastrd", "bastar",
# Additional variations for "dick"
"dick", "d1ck", "d!ck", "dicc", "d!k",
# Additional variations for "cock"
"cock", "c0ck", "c*ck",
# Additional variations for "ass"
"ass", "a$$", "azz", "a s s", "a$$s", "a55",
# Additional banned keywords from extended lists
"wop", "dago", "cracker", "mick", "libtard",
"asshat", "dickhead", "fuckhead", "fuckwit", "shithead", "dumbfuck", "jackass",
"assclown", "dickwad", "scumbucket", "prickface", "cocknose", "pissflap",
"cocksucker", "cum dumpster", "cum guzzler", "cum slut", "suck my dick", "suck my cock",
"pussy-whipped", "whorebag", "snowflake", "chav", "Karen", "fascist", "chod", "fukr", "idiott",
# New keywords from the additional list
"16+", "18+", "a$$", "alcohol", "amerifag",
"assault", "b!tch", "bstard", "burn yourself", "c!nt", "christfucker", "cnt", "cocaine",
"cracker", "creep", "cut yourself", "d!ck", "die in a hole", "die now", "dipshit", "drink bleach",
"drop dead", "dumbfuck", "dyke", "explosion", "fag", "fck", "fuck off", "fucker", "fucking idiot",
"fuk", "genocide", "get drunk", "go hang yourself", "gook", "gypsy", "handjob", "heroin",
"ho", "hymie", "i will ban you", "i will bomb the place", "i will fuck you", "i will kill you",
"jew", "jewboy", "kike", "kill", "kill yourself", "loser", "marijuana", "massacre", "meth",
"molest", "moslemfucker", "murder", "naked", "obongo", "orgy", "overdose", "p0rn", "penis",
"perv", "pervert", "rape", "rape you", "rat poison", "retard", "s3x", "sandnigger",
"screw you", "scumbag", "secks", "self-harm", "sex offender", "sexual predator", "sx",
"take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
"you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
"you're hallucinating", "you're such a cunt", "you're worthless",
# New Sexually Explicit keywords and variations
"p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
"har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
"a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
"s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
"(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
"fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
"orgy", "or9y", "0rgy", "3scort", "escor7", "e$cort", "es(ort", "esc0rt", "e5cort", "escort",
"#ookup", "h00kup", "hookup", "8dsm", "bd5m", "bd$m", "bdsm", "b|)sm", "masturbat3", "m@sturb@te",
"ma$turbate", "m4sturb4te", "ma5turbate", "mas7urba7e", "mastur8ate",
"inc3st", "|ncest", "in(est", "ince$t", "ince5t", "!ncest", "inces7", "1ncest",
"ta8oo", "tab00", "t@boo", "taboo", "t4boo", "7aboo",
"blowjob", "bl0wj0b", "8lowjo8", "b|owjob", "b1owjob", "cumsh0t", "cums#ot", "cum5hot",
"cumshot", "cum$hot", "(umshot", "cumsho7", "deepthr0at", "deept#roat", "d33pthroat",
"deepthro@t", "deepthro4t", "|)eepthroat", "deep7hroa7",
# New Sexual Harassment keywords and variations
"perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
"mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
"harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11",
"catca||", "c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or",
"pr3dator", "predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker",
"s7alker", "5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist",
"m|sogyn|st", "m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t",
"exp0se", "expose", "3xpos3", "expo$e", "expo5e",
# New Dangerous Content keywords and variations
"b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
"@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
"s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
"explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
"exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
"assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3",
"massa(re", "ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide",
"suicide", "su1c1de", "suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de",
"#omicide", "hom!c!de", "hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide",
"homici|)e", "hom1c1de", "7or7ure", "torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l",
"rad1cal", "radica1", "radica|", "rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l",
"beheadin9", "8eheading", "behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng",
"be#eading", "behe4ding", "behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist",
"extremi$t", "ex7remis7", "extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7",
"r!ot", "ri0t", "traff|ck|ng", "tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking",
"tr4fficking", "traffi(king", "trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p",
"kidn4p", "k!dnap", "k1dnap", "arson", "ar5on", "ar$on", "4rson", "ars0n",
# New Harmful Content keywords and variations
"s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
"se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
"cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning",
"pa!n", "p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5tarvation",
"st4rv4tion", "starvat1on", "starvat!on", "starvation", "starvat|on", "starvati0n",
"$tarvation", "st@rv@tion", "overdose", "0verd0se", "ov3rdos3", "over|)ose", "overdo5e",
"overdo$e", "|)epresse|)", "d3pr3ss3d", "depre55ed", "depressed", "depre$$ed", "d|e",
"die", "d!e", "di3", "|)ie", "d1e", "jump", "hang", "#ang", "h4ng", "han9", "h@ng",
"poison", "po!son", "p0is0n", "poi5on", "poi$on", "po1son", "po|son", "(hloroform", "chloroform",
"ch|oroform", "ch1oroform", "c#loroform", "chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse",
"|)rug abuse", "drug abu$e", "drug 4buse", "drug abus3", "drug @buse", "drug a8use", "@ddict",
"4ddict", "add!ct", "addict", "a|)|)ict", "addic7", "add1ct", "add|ct", "addi(t", "opioid",
"0pi0id", "op1o1d", "op|o|d", "opioi|)", "op!o!d", "fentanyl", "f3ntanyl", "fentany|",
"fen7anyl", "fent@nyl", "fent4nyl", "fentany1", "meth", "met#", "m3th", "me7h", "coca1ne",
"cocain3", "cocaine", "coc4ine", "(o(aine", "coc@ine", "coca!ne", "coca|ne", "c0caine",
"h3roin", "her0in", "heroin", "#eroin", "hero|n", "hero!n", "hero1n",
# New Hate Speech keywords and variations
"n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
"suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
"genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
"bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
"homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
"xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
# New Slang Abuses & Offensive Insults
"bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
"ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
"a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
"dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
"d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t",
"j@ck@ss", "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d",
"shith3ad", "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
# New General Abuses
"|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
"|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
"worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
# New additional keywords from your latest list
"16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
"christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
"drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "genocide",
"get drunk", "go hang yourself", "gook", "hymie", "i will ban you", "i will bomb the place",
"i will fuck you", "i will kill you", "jew", "jewboy", "kike", "kill", "kill yourself",
"loser", "marijuana", "massacre", "meth", "molest", "moslemfucker", "murder", "naked", "obongo",
"overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x", "sandnigger",
"screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx", "take pills",
"terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
"you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
"you're hallucinating", "you're such a cunt", "you're worthless",
# New Sexually Explicit keywords and variations
"p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
"har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
"a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
"s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
"(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
"fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
# New Sexual Harassment keywords and variations
"perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
"mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
"harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11",
"catca||", "c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or",
"pr3dator", "predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker",
"s7alker", "5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
"m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t",
"exp0se", "expose", "3xpos3", "expo$e", "expo5e",
# New Dangerous Content keywords and variations
"b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
"@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
"s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
"explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
"exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
"assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3",
"massa(re", "ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide",
"su1c1de", "suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide",
"hom!c!de", "hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de",
"7or7ure", "torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1",
"radica|", "rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9",
"8eheading", "behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng",
"be#eading", "behe4ding", "behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist",
"extremi$t", "ex7remis7", "extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7",
"r!ot", "ri0t", "traff|ck|ng", "tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking",
"tr4fficking", "traffi(king", "trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p",
"kidn4p", "k!dnap", "k1dnap", "arson", "ar5on", "ar$on", "4rson", "ars0n",
# New Harmful Content keywords and variations
"s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
"se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
"cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning",
"pa!n", "p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5tarvation",
"st4rv4tion", "starvat1on", "starvat!on", "starvation", "starvat|on", "starvati0n",
"$tarvation", "st@rv@tion", "overdose", "0verd0se", "ov3rdos3", "over|)ose", "overdo5e",
"overdo$e", "|)epresse|)", "d3pr3ss3d", "depre55ed", "depressed", "depre$$ed", "d|e",
"die", "d!e", "di3", "|)ie", "d1e", "jump", "hang", "#ang", "h4ng", "han9", "h@ng",
"poison", "po!son", "p0is0n", "poi5on", "poi$on", "po1son", "po|son", "(hloroform", "chloroform",
"ch|oroform", "ch1oroform", "c#loroform", "chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse",
"|)rug abuse", "drug abu$e", "drug 4buse", "drug abus3", "drug @buse", "drug a8use", "@ddict",
"4ddict", "add!ct", "addict", "a|)|)ict", "addic7", "add1ct", "add|ct", "addi(t", "opioid",
"0pi0id", "op1o1d", "op|o|d", "opioi|)", "op!o!d", "fentanyl", "f3ntanyl", "fentany|",
"fen7anyl", "fent@nyl", "fent4nyl", "fentany1", "meth", "met#", "m3th", "me7h", "coca1ne",
"cocain3", "cocaine", "coc4ine", "(o(aine", "coc@ine", "coca!ne", "coca|ne", "c0caine",
"h3roin", "her0in", "heroin", "#eroin", "hero|n", "hero!n", "hero1n",
# New Hate Speech keywords and variations
"n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
"suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
"genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
"bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
"homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
"xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
# New Slang Abuses & Offensive Insults
"bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
"ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
"a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
"dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
"d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t",
"j@ck@ss", "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d",
"shith3ad", "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
# New General Abuses
"|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
"|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
"worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
# Additional new keywords from the latest list
"16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
"christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
"drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
"go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
"i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "meth", "molest", "naked",
"obongo", "overdose", "perv", "pervert", "rape you", "rat poison", "screw you", "secks",
"self-harm", "sex offender", "sexual predator", "sx", "take pills", "terrorist", "tits", "twat",
"vag", "vodka", "x", "you will get raped", "you're a piece of shit", "you're banned forever",
"you're crazy", "you're hallucinating", "you're such a cunt", "you're worthless",
# New Sexually Explicit keywords and variations (second block)
"p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
"har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
"a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
"s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
"(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
"fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
# New Sexual Harassment keywords and variations (second block)
"perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
"mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
"harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
"c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
"predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
"5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
"m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
"3xpos3", "expo$e", "expo5e",
# New Dangerous Content keywords and variations (second block)
"b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
"@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
"s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
"explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
"exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
"assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
"ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
"suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
"hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
"torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
"rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
"behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
"behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
"extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
"tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
"trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
"arson", "ar5on", "ar$on", "4rson", "ars0n",
# New Harmful Content keywords and variations (second block)
"s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
"se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
"cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
"p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5tarvation", "st4rv4tion", "starvat1on",
"starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
"0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
"depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
"hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
"po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
"chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
"drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
"addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
"op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
"meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
"coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
"hero!n", "hero1n",
# New Hate Speech keywords and variations (second block)
"n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
"suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
"genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de",
"big0t", "bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
"homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
"xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
# New Slang Abuses & Offensive Insults (second block)
"bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
"ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3",
"4sshole", "a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55",
"dumb4ss", "dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd",
"|)ipshit", "d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit",
"d1psh1t", "j@ck@ss", "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head",
"shithe@d", "shith3ad", "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d",
"$hithead",
# New General Abuses (second block)
"|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
"|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
"worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
# Additional new keywords from the latest list
"16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
"christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
"drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
"go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
"i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
"naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
"sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
"take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
"you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
"you're hallucinating", "you're such a cunt", "you're worthless",
# New Sexually Explicit keywords and variations (second block)
"p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
"har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
"a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
"s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
"(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
"fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
# New Sexual Harassment keywords and variations (second block)
"perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
"mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
"harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
"c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
"predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
"5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
"m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
"3xpos3", "expo$e", "expo5e",
# New Dangerous Content keywords and variations (second block)
"b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
"@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
"s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
"explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
"exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
"assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
"ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
"suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
"hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
"torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
"rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
"behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
"behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
"extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
"tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
"trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
"arson", "ar5on", "ar$on", "4rson", "ars0n",
# New Harmful Content keywords and variations (second block)
"s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
"se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
"cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
"p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5tarvation", "st4rv4tion", "starvat1on",
"starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
"0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
"depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
"hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
"po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
"chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
"drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
"addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
"op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
"meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
"coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
"hero!n", "hero1n",
# New Hate Speech keywords and variations (second block)
"n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
"suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
"genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
"bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
"homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
"xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
# New Slang Abuses & Offensive Insults (second block)
"bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
"ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
"a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
"dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
"d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t", "j@ck@ss",
"wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d", "shith3ad",
"5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
# New General Abuses (second block)
"|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
"|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
"worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
# Additional new keywords from the latest list
"16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
"christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
"drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
"go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
"i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
"naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
"sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
"take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
"you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
"you're hallucinating", "you're such a cunt", "you're worthless",
# New Sexually Explicit keywords and variations (second block)
"p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
"har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
"a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
"s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
"(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
"fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
# New Sexual Harassment keywords and variations (second block)
"perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
"mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
"harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
"c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
"predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
"5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
"m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
"3xpos3", "expo$e", "expo5e",
# New Dangerous Content keywords and variations (second block)
"b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
"@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
"s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
"explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
"exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
"assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
"ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
"suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
"hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
"torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
"rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
"behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
"behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
"extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
"tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
"trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
"arson", "ar5on", "ar$on", "4rson", "ars0n",
# New Harmful Content keywords and variations (third block)
"s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
"se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
"cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
"p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5tarvation", "st4rv4tion", "starvat1on",
"starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
"0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
"depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
"hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
"po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
"chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
"drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
"addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
"op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
"meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
"coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
"hero!n", "hero1n",
# New Hate Speech keywords and variations (third block)
"n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
"suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
"genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
"bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
"homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
"xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
# New Slang Abuses & Offensive Insults (third block)
"bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
"ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
"a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
"dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
"d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t", "j@ck@ss",
"wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d", "shith3ad",
"5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
# New General Abuses (third block)
"|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
"|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
"worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
# Additional new keywords from the latest list (General Abusive Language)
"16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
"christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
"drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
"go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
"i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
"naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
"sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
"take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
"you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
"you're hallucinating", "you're such a cunt", "you're worthless",
# New Sexually Explicit keywords and variations (third block)
"p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
"har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
"a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
"s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
"(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
"fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
# New Sexual Harassment keywords and variations (third block)
"perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
"mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
"harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
"c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
"predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
"5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
"m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
"3xpos3", "expo$e", "expo5e",
# New Dangerous Content keywords and variations (third block)
"b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
"@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
"s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
"explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
"exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
"assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
"ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
"suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
"hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
"torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
"rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
"behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
"behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
"extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
"tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
"trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
"arson", "ar5on", "ar$on", "4rson", "ars0n",
# New Harmful Content keywords and variations (fourth block)
"s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
"se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
"cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
"p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5starvation", "st4rv4tion", "starvat1on",
"starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
"0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
"depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
"hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
"po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
"chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
"drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
"addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
"op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
"meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
"coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
"hero!n", "hero1n",
# New Hate Speech keywords and variations (fourth block)
"n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
"suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
"genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
"bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
"homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
"xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
# New Slang Abuses & Offensive Insults (fourth block)
"bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
"ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
"a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
"dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
"d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t", "j@ck@ss",
"wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d", "shith3ad",
"5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
# New General Abuses (fourth block)
"|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
"|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
"worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
# Additional new keywords from the latest list (General Abusive Language)
"16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
"christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
"drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
"go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
"i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
"naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
"sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
"take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
"you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
"you're hallucinating", "you're such a cunt", "you're worthless",
# New Sexually Explicit keywords and variations (fourth block)
"p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
"har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
"a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
"s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
"(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
"fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
# New Sexual Harassment keywords and variations (fourth block)
"perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
"mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
"harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
"c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
"predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
"5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
"m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
"3xpos3", "expo$e", "expo5e",
# New Dangerous Content keywords and variations (fourth block)
"b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
"@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
"s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
"explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
"exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
"assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
"ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
"suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
"hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
"torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
"rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
"behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
"behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
"extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
"tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
"trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
"arson", "ar5on", "ar$on", "4rson", "ars0n",
# New Harmful Content keywords and variations (fifth block)
"s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
"se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
"cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
"p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5starvation", "st4rv4tion", "starvat1on",
"starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
"0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
"depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
"hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
"po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
"chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
"drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
"addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
"op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
"meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
"coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
"hero!n", "hero1n",
# New Hate Speech keywords and variations (fifth block)
"n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
"suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
"genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
"bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
"homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
"xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
# New Slang Abuses & Offensive Insults (fifth block)
"bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
"ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
"a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
"dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
"d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t", "j@ck@ss",
"wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d", "shith3ad",
"5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
# New General Abuses (fifth block)
"|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
"|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
"worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
# Additional new keywords from the latest list (General Abusive Language)
"16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
"christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
"drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
"go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
"i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
"naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
"sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
"take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
"you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
"you're hallucinating", "you're such a cunt", "you're worthless",
# New Sexually Explicit keywords and variations (fifth block)
"p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
"har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
"a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
"s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
"(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
"fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
# New Sexual Harassment keywords and variations (fifth block)
"perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
"mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
"harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
"c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
"predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
"5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
"m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
"3xpos3", "expo$e", "expo5e",
# New Dangerous Content keywords and variations (fifth block)
"b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
"@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
"s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
"explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
"exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
"assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
"ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
"suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
"hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
"torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
"rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
"behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
"behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
"extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
"tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
"trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
"arson", "ar5on", "ar$on", "4rson", "ars0n",
# New Harmful Content keywords and variations (sixth block)
"s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
"se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
"cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
"p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5starvation", "st4rv4tion", "starvat1on",
"starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
"0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
"depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
"hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
"po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
"chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
"drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
"addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
"op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
"meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
"coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
"hero!n", "hero1n",
# New Hate Speech keywords and variations (sixth block)
"n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
"suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
"genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
"bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
"homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
"xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
# New Slang Abuses & Offensive Insults (sixth block)
"bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
"ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
"a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
"dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
"d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t", "j@ck@ss",
"wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d", "shith3ad",
"5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
# New General Abuses (sixth block)
"|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
"|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
"worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
# Additional new keywords from the latest list (General Abusive Language)
"16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
"christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
"drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
"go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
"i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
"naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
"sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
"take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
"you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
"you're hallucinating", "you're such a cunt", "you're worthless"
]
def contains_banned_keyword(self, text):
"""Check if the input text contains any banned keywords."""
text_lower = text.lower()
for keyword in self.banned_keywords:
if keyword in text_lower:
return True
return False
def preprocess(self, text):
encoding = self.tokenizer.encode(text)
ids = encoding.ids[:self.max_len]
padding = [0] * (self.max_len - len(ids))
return np.array(ids + padding, dtype=np.int64).reshape(1, -1)
def predict(self, text):
# First check if the text contains any banned keywords
if self.contains_banned_keyword(text):
return {
'label': 'Inappropriate Content',
'probabilities': [1.0, 0.0] # Assuming [inappropriate, appropriate]
}
# If no banned keywords, proceed with model prediction
# Preprocess
input_array = self.preprocess(text)
# Run inference
results = self.session.run(
None,
{'input': input_array}
)
# Post-process
logits = results[0]
probabilities = np.exp(logits) / np.sum(np.exp(logits), axis=1, keepdims=True)
predicted_class = int(np.argmax(probabilities))
# Map to labels
class_labels = ['Inappropriate Content', 'Appropriate']
return {
'label': class_labels[predicted_class],
'probabilities': probabilities[0].tolist()
}
# Example usage
if __name__ == "__main__":
# Initialize the pipeline with the Hugging Face repository ID
pipeline = ONNXInferencePipeline(repo_id="iimran/abuse-detector")
# Example texts for testing
example_texts = [
"You're a worthless piece of garbage who should die"
]
for text in example_texts:
result = pipeline.predict(text)
print(f"Input: {text}")
print(f"Prediction: {result['label']} ")
#print(f"Probabilities: Inappropriate={result['probabilities'][0]:.2%}, Not Inappropriate={result['probabilities'][1]:.2%}")
print("-" * 80)
# Define a function for Gradio to use
def gradio_predict(text):
result = pipeline.predict(text)
return (
f"Prediction: {result['label']} \n"
#f"Probabilities: Inappropriate={result['probabilities'][0]:.2%}, Not Inappropriate={result['probabilities'][1]:.2%}"
)
# Create a Gradio interface
iface = gr.Interface(
fn=gradio_predict,
inputs=gr.Textbox(lines=7, placeholder="Enter text here..."),
outputs="text",
title="Abuse Detector - Offensive Language Detector",
description=(
"Abuse detector is designed to identify inappropriate content in text. "
"It analyzes input for Australian Slang language and abuses. "
"While it's trained on a compact dataset and may not catch highly nuanced or sophisticated language, "
"it effectively detects day-to-day offensive language commonly used in conversations."
),
examples=[
# Explicitly offensive examples
"Congrats, you fuckbrain arsehole, you've outdone yourself in stupidity. A real cock-up of a human—should we clap for your bollocks-faced greatness or just pity you?",
"You're a mad bastard, but I'd still grab a beer with you! Fuck around all you like, you cockheaded legend—your arsehole antics are bloody brilliant.",
"Your mother should have done better raising such a useless idiot.",
# Neutral or appropriate examples
"Hello HR, I hope this message finds you well. I'm writing to express my gratitude for the opportunity to interview for the Financial Analyst position last week. It was a pleasure to meet you and learn more about the role and your team.",
"Thank you for your time and consideration. Please don't hesitate to reach out if you need additional information—I'd be happy to discuss further. Looking forward to hearing from you soon!",
"The weather today is lovely, and I'm looking forward to a productive day at work.",
# Mixed examples (some offensive, some neutral)
"I appreciate your help, but honestly, you're such a clueless idiot sometimes. Still, thanks for trying."
]
)
# Launch the Gradio app
iface.launch()