iimran commited on
Commit
dd2abf1
·
verified ·
1 Parent(s): caf28b3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -783
app.py CHANGED
@@ -15,6 +15,7 @@ class ONNXInferencePipeline:
15
 
16
  # Load banned keywords list
17
  self.banned_keywords = self.load_banned_keywords()
 
18
 
19
  # Download files from Hugging Face Hub using the token
20
  self.onnx_path = hf_hub_download(repo_id=repo_id, filename="model.onnx", use_auth_token=hf_token)
@@ -37,792 +38,26 @@ class ONNXInferencePipeline:
37
  self.session.set_providers(self.providers)
38
 
39
  def load_banned_keywords(self):
40
- # Load your comprehensive list of banned keywords
41
- # In a production environment, this would be your full list of 500+ keywords
42
  return [
43
- # Original banned keywords
44
- "fuck", "shit", "bitch", "cunt", "asshole", "faggot", "nigger", "bastard", "damn", "crap",
45
- "arse", "bollocks", "cock", "dick", "piss", "wanker", "whore", "slut", "motherfucker", "son of a bitch",
46
- "chink", "gook", "kike", "spic", "wog", "coon", "negro", "tar baby", "bimbo", "skank", "hoe", "twat",
47
- "pagal", "mad", "bloody", "blood", "tranny", "dyke", "queer", "fudge packer", "muff diver",
48
- "retard", "cripple", "spaz", "mongoloid", "idiot", "rocket", "killing", "pistol",
49
- "infidel", "heathen", "blasphemy", "heretic", "islam", "religion", "relegious", "ak47",
50
- "kill yourself", "go to hell", "rape", "murder", "terrorist", "terror",
51
- "pedo", "nazi", "devil", "shithead", "asswipe", "blast", "islamist",
52
- "bomb", "poison", "stab", "shoot", "assassinate", "strangle", "torture", "harm", "injure",
53
- "terrorism", "extremist", "radical", "suicide", "explosion", "grenade", "weapon", "gun", "rifle",
54
- "ammunition", "bombing", "massacre", "genocide",
55
- "threaten", "intimidate", "destroy", "obliterate", "exterminate", "eliminate", "annihilate", "violence",
56
- "attack", "raid", "ambush", "hostage", "kidnap",
57
- "war", "bloodshed", "slaughter", "brutality", "carnage", "vengeance", "revenge", "punish", "execute",
58
- "decapitate", "maim", "hell", "poo", "turd",
59
- "douche", "dumbass", "jerk", "prick", "scumbag", "screw", "sodomize",
60
- "beaner", "camel jockey", "gypsy", "haji", "jap", "paki", "raghead", "sambo", "wetback", "yid",
61
- "gold digger", "hooker", "milf", "porn", "prostitute", "sex worker", "thot",
62
- "gender bender", "hermaphrodite", "ladyboy", "she-male", "sissy",
63
- "blind", "deaf", "dumb", "lame", "psycho", "schizo", "stupid", "buddha fart", "jesus h christ", "pastafarian",
64
- "abuse", "behead", "choke", "crucify", "dismember", "electrocute", "gaslight",
65
- "hang", "lynch", "smother", "strangle", "taser",
66
- "al qaeda", "isis", "taliban", "chemical weapon", "biological weapon", "nuclear bomb", "dirty bomb",
67
- "suicide vest", "car bomb", "drone strike",
68
- "burn", "castrate", "cutthroat", "gang bang", "gangster", "hitman", "mafia", "mob", "noose",
69
- "poison gas", "sniper", "vengeful",
70
- "anarchy", "apocalypse", "chaos", "doom", "evil", "hate", "insanity", "madness", "plague", "riot",
71
- "slaughterhouse", "zombie", "bund", "gand", "gandu", "chod", "behenchod", "behen chod", "lora", "lund", "loda",
72
- # Additional banned keywords from the new list
73
- "2g1c", "2 girls 1 cup", "acrotomophilia", "alabama hot pocket", "alaskan pipeline", "anal", "anilingus", "anus",
74
- "arsehole", "ass", "assmunch", "auto erotic", "autoerotic", "babeland", "baby batter", "baby juice",
75
- "ball gag", "ball gravy", "ball kicking", "ball licking", "ball sack", "ball sucking", "bangbros",
76
- "bareback", "barely legal", "barenaked", "bastardo", "bastinado", "bbw", "bdsm", "beaver cleaver", "beaver lips",
77
- "bestiality", "bi curious", "big black", "big breasts", "big knockers", "big tits", "bimbos", "birdlock",
78
- "black cock", "blonde action", "blonde on blonde action", "blowjob", "blow job", "blow your load",
79
- "blue waffle", "blumpkin", "bondage", "boner", "boob", "boobs", "booty call", "brown showers",
80
- "brunette action", "bukkake", "bulldyke", "bullet vibe", "bung hole", "bunghole", "busty", "butt",
81
- "buttcheeks", "butthole", "camel toe", "camgirl", "camslut", "camwhore", "carpet muncher", "carpetmuncher",
82
- "chocolate rosebuds", "circlejerk", "cleveland steamer", "clit", "clitoris", "clover clamps", "clusterfuck",
83
- "cocks", "coprolagnia", "coprophilia", "cornhole", "creampie", "cum", "cumming", "cunnilingus",
84
- "cunt", "darkie", "date rape", "daterape", "deep throat", "deepthroat", "dendrophilia", "dick", "dildo",
85
- "dirty pillows", "dirty sanchez", "doggie style", "doggiestyle", "doggy style", "doggystyle", "dog style",
86
- "dolcett", "domination", "dominatrix", "dommes", "donkey punch", "double dong", "double penetration",
87
- "dp action", "dry hump", "dvda", "eat my ass", "ecchi", "ejaculation", "erotic", "erotism", "escort",
88
- "ethical slut", "eunuch", "faggot", "fecal", "felch", "fellatio", "feltch", "female squirting", "femdom",
89
- "figging", "fingerbang", "fingering", "fisting", "foot fetish", "footjob", "frotting", "fuck buttons",
90
- "fudge packer", "fudgepacker", "futanari", "gay sex", "genitals", "giant cock", "girl on", "girl on top",
91
- "girls gone wild", "goatcx", "goatse", "gokkun", "gold digger", "golden shower", "goo girl", "goodpoop",
92
- "gook", "goregasm", "grenade", "grope", "group sex", "gun", "guro", "gypsy", "hand job", "handjob",
93
- "hard core", "hardcore", "hentai", "homoerotic", "honkey", "hooker", "hostage", "hot carl",
94
- "hot chick", "how to kill", "how to murder", "huge fat", "humping", "jack off", "jail bait", "jailbait",
95
- "jap", "jelly donut", "jerk", "jerk off", "jesus h christ", "jigaboo", "jiggaboo", "jiggerboo", "jizz",
96
- "juggs", "kidnap", "kike", "kill yourself", "killing", "kinbaku", "kinkster", "kinky", "knobbing",
97
- "ladyboy", "leather restraint", "leather straight jacket", "lemon party", "lolita", "lora", "lovemaking",
98
- "make me come", "male squirting", "massacre", "masturbate", "menage a trois", "milf", "mob", "motherfucker",
99
- "mound of venus", "mr hands", "muff diver", "muffdiving", "murder", "nambla", "nawashi", "nazi", "negro",
100
- "nigger", "nimphomania", "nipple", "noose", "nuclear bomb", "obliterate", "pagal", "paki",
101
- "pastafarian", "pedo", "piss", "pistol", "plague", "poison", "poison gas", "poo", "porn", "prick",
102
- "prostitute", "psycho", "punish", "queer", "radical", "raghead", "raid", "rape", "relegious", "religion",
103
- "retard", "revenge", "rifle", "riot", "rocket", "sambo", "schizo", "screw", "scumbag", "sex worker",
104
- "she-male", "shit", "shithead", "shoot", "sissy", "skank", "slaughter", "slaughterhouse", "slut",
105
- "smother", "sniper", "sodomize", "son of a bitch", "spaz", "spic", "stab", "strangle", "stupid",
106
- "suicide", "suicide vest", "taliban", "tar baby", "taser", "terror", "terrorism", "terrorist", "thot",
107
- "threaten", "torture", "tranny", "turd", "twat", "vengeance", "vengeful", "violence", "wanker",
108
- "war", "weapon", "wetback", "whore", "wog", "yid", "zombie",
109
- # Additional variations for "stupid"
110
- "stupid", "sstupid", "stupidd", "stuupid", "stuppidd", "sttupid", "stupiid", "sttuppid",
111
- # Additional variations for "idiot"
112
- "idiot", "idiott", "idioot", "idit", "id0t",
113
- # Additional variations for "fuck"
114
- "fuck", "f*ck", "f**ck", "fck", "fukk", "fucc", "f u c k",
115
- # Additional variations for "shit"
116
- "shit", "sh1t", "sh!t", "sht", "shiit",
117
- # Additional variations for "bitch"
118
- "bitch", "btch", "b1tch", "biatch", "b*tch",
119
- # Additional variations for "asshole"
120
- "asshole", "ashole", "asshol", "a$$hole", "a**hole",
121
- # Additional variations for "dumb"
122
- "dumb", "dumm", "dum", "dumbass", "dumass",
123
- # Additional variations for "faggot"
124
- "faggot", "fag", "fagg0t", "faaggot",
125
- # Additional variations for "nigger"
126
- "nigger", "nigga", "niggar", "niggah", "n*gger",
127
- # Additional variations for "cunt"
128
- "cunt", "c*nt", "c0nt",
129
- # Additional variations for "whore"
130
- "whore", "wh0re", "w*h*re", "whoore",
131
- # Additional variations for "slut"
132
- "slut", "sluut", "sllut", "slutty", "slu*t",
133
- # Additional variations for "bastard"
134
- "bastard", "basturd", "bastrd", "bastar",
135
- # Additional variations for "dick"
136
- "dick", "d1ck", "d!ck", "dicc", "d!k",
137
- # Additional variations for "cock"
138
- "cock", "c0ck", "c*ck",
139
- # Additional variations for "ass"
140
- "ass", "a$$", "azz", "a s s", "a$$s", "a55",
141
- # Additional banned keywords from extended lists
142
- "wop", "dago", "cracker", "mick", "libtard",
143
- "asshat", "dickhead", "fuckhead", "fuckwit", "shithead", "dumbfuck", "jackass",
144
- "assclown", "dickwad", "scumbucket", "prickface", "cocknose", "pissflap",
145
- "cocksucker", "cum dumpster", "cum guzzler", "cum slut", "suck my dick", "suck my cock",
146
- "pussy-whipped", "whorebag", "snowflake", "chav", "Karen", "fascist", "chod", "fukr", "idiott",
147
- # New keywords from the additional list
148
- "16+", "18+", "a$$", "alcohol", "amerifag",
149
- "assault", "b!tch", "bstard", "burn yourself", "c!nt", "christfucker", "cnt", "cocaine",
150
- "cracker", "creep", "cut yourself", "d!ck", "die in a hole", "die now", "dipshit", "drink bleach",
151
- "drop dead", "dumbfuck", "dyke", "explosion", "fag", "fck", "fuck off", "fucker", "fucking idiot",
152
- "fuk", "genocide", "get drunk", "go hang yourself", "gook", "gypsy", "handjob", "heroin",
153
- "ho", "hymie", "i will ban you", "i will bomb the place", "i will fuck you", "i will kill you",
154
- "jew", "jewboy", "kike", "kill", "kill yourself", "loser", "marijuana", "massacre", "meth",
155
- "molest", "moslemfucker", "murder", "naked", "obongo", "orgy", "overdose", "p0rn", "penis",
156
- "perv", "pervert", "rape", "rape you", "rat poison", "retard", "s3x", "sandnigger",
157
- "screw you", "scumbag", "secks", "self-harm", "sex offender", "sexual predator", "sx",
158
- "take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
159
- "you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
160
- "you're hallucinating", "you're such a cunt", "you're worthless",
161
- # New Sexually Explicit keywords and variations
162
- "p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
163
- "har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
164
- "a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
165
- "s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
166
- "(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
167
- "fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
168
- "orgy", "or9y", "0rgy", "3scort", "escor7", "e$cort", "es(ort", "esc0rt", "e5cort", "escort",
169
- "#ookup", "h00kup", "hookup", "8dsm", "bd5m", "bd$m", "bdsm", "b|)sm", "masturbat3", "m@sturb@te",
170
- "ma$turbate", "m4sturb4te", "ma5turbate", "mas7urba7e", "mastur8ate",
171
- "inc3st", "|ncest", "in(est", "ince$t", "ince5t", "!ncest", "inces7", "1ncest",
172
- "ta8oo", "tab00", "t@boo", "taboo", "t4boo", "7aboo",
173
- "blowjob", "bl0wj0b", "8lowjo8", "b|owjob", "b1owjob", "cumsh0t", "cums#ot", "cum5hot",
174
- "cumshot", "cum$hot", "(umshot", "cumsho7", "deepthr0at", "deept#roat", "d33pthroat",
175
- "deepthro@t", "deepthro4t", "|)eepthroat", "deep7hroa7",
176
- # New Sexual Harassment keywords and variations
177
- "perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
178
- "mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
179
- "harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11",
180
- "catca||", "c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or",
181
- "pr3dator", "predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker",
182
- "s7alker", "5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist",
183
- "m|sogyn|st", "m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t",
184
- "exp0se", "expose", "3xpos3", "expo$e", "expo5e",
185
- # New Dangerous Content keywords and variations
186
- "b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
187
- "@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
188
- "s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
189
- "explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
190
- "exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
191
- "assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3",
192
- "massa(re", "ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide",
193
- "suicide", "su1c1de", "suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de",
194
- "#omicide", "hom!c!de", "hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide",
195
- "homici|)e", "hom1c1de", "7or7ure", "torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l",
196
- "rad1cal", "radica1", "radica|", "rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l",
197
- "beheadin9", "8eheading", "behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng",
198
- "be#eading", "behe4ding", "behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist",
199
- "extremi$t", "ex7remis7", "extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7",
200
- "r!ot", "ri0t", "traff|ck|ng", "tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking",
201
- "tr4fficking", "traffi(king", "trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p",
202
- "kidn4p", "k!dnap", "k1dnap", "arson", "ar5on", "ar$on", "4rson", "ars0n",
203
- # New Harmful Content keywords and variations
204
- "s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
205
- "se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
206
- "cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning",
207
- "pa!n", "p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5tarvation",
208
- "st4rv4tion", "starvat1on", "starvat!on", "starvation", "starvat|on", "starvati0n",
209
- "$tarvation", "st@rv@tion", "overdose", "0verd0se", "ov3rdos3", "over|)ose", "overdo5e",
210
- "overdo$e", "|)epresse|)", "d3pr3ss3d", "depre55ed", "depressed", "depre$$ed", "d|e",
211
- "die", "d!e", "di3", "|)ie", "d1e", "jump", "hang", "#ang", "h4ng", "han9", "h@ng",
212
- "poison", "po!son", "p0is0n", "poi5on", "poi$on", "po1son", "po|son", "(hloroform", "chloroform",
213
- "ch|oroform", "ch1oroform", "c#loroform", "chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse",
214
- "|)rug abuse", "drug abu$e", "drug 4buse", "drug abus3", "drug @buse", "drug a8use", "@ddict",
215
- "4ddict", "add!ct", "addict", "a|)|)ict", "addic7", "add1ct", "add|ct", "addi(t", "opioid",
216
- "0pi0id", "op1o1d", "op|o|d", "opioi|)", "op!o!d", "fentanyl", "f3ntanyl", "fentany|",
217
- "fen7anyl", "fent@nyl", "fent4nyl", "fentany1", "meth", "met#", "m3th", "me7h", "coca1ne",
218
- "cocain3", "cocaine", "coc4ine", "(o(aine", "coc@ine", "coca!ne", "coca|ne", "c0caine",
219
- "h3roin", "her0in", "heroin", "#eroin", "hero|n", "hero!n", "hero1n",
220
- # New Hate Speech keywords and variations
221
- "n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
222
- "suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
223
- "genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
224
- "bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
225
- "homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
226
- "xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
227
- # New Slang Abuses & Offensive Insults
228
- "bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
229
- "ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
230
- "a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
231
- "dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
232
- "d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t",
233
- "j@ck@ss", "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d",
234
- "shith3ad", "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
235
- # New General Abuses
236
- "|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
237
- "|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
238
- "worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
239
- # New additional keywords from your latest list
240
- "16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
241
- "christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
242
- "drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "genocide",
243
- "get drunk", "go hang yourself", "gook", "hymie", "i will ban you", "i will bomb the place",
244
- "i will fuck you", "i will kill you", "jew", "jewboy", "kike", "kill", "kill yourself",
245
- "loser", "marijuana", "massacre", "meth", "molest", "moslemfucker", "murder", "naked", "obongo",
246
- "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x", "sandnigger",
247
- "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx", "take pills",
248
- "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
249
- "you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
250
- "you're hallucinating", "you're such a cunt", "you're worthless",
251
- # New Sexually Explicit keywords and variations
252
- "p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
253
- "har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
254
- "a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
255
- "s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
256
- "(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
257
- "fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
258
- # New Sexual Harassment keywords and variations
259
- "perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
260
- "mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
261
- "harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11",
262
- "catca||", "c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or",
263
- "pr3dator", "predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker",
264
- "s7alker", "5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
265
- "m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t",
266
- "exp0se", "expose", "3xpos3", "expo$e", "expo5e",
267
- # New Dangerous Content keywords and variations
268
- "b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
269
- "@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
270
- "s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
271
- "explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
272
- "exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
273
- "assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3",
274
- "massa(re", "ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide",
275
- "su1c1de", "suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide",
276
- "hom!c!de", "hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de",
277
- "7or7ure", "torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1",
278
- "radica|", "rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9",
279
- "8eheading", "behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng",
280
- "be#eading", "behe4ding", "behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist",
281
- "extremi$t", "ex7remis7", "extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7",
282
- "r!ot", "ri0t", "traff|ck|ng", "tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking",
283
- "tr4fficking", "traffi(king", "trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p",
284
- "kidn4p", "k!dnap", "k1dnap", "arson", "ar5on", "ar$on", "4rson", "ars0n",
285
- # New Harmful Content keywords and variations
286
- "s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
287
- "se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
288
- "cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning",
289
- "pa!n", "p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5tarvation",
290
- "st4rv4tion", "starvat1on", "starvat!on", "starvation", "starvat|on", "starvati0n",
291
- "$tarvation", "st@rv@tion", "overdose", "0verd0se", "ov3rdos3", "over|)ose", "overdo5e",
292
- "overdo$e", "|)epresse|)", "d3pr3ss3d", "depre55ed", "depressed", "depre$$ed", "d|e",
293
- "die", "d!e", "di3", "|)ie", "d1e", "jump", "hang", "#ang", "h4ng", "han9", "h@ng",
294
- "poison", "po!son", "p0is0n", "poi5on", "poi$on", "po1son", "po|son", "(hloroform", "chloroform",
295
- "ch|oroform", "ch1oroform", "c#loroform", "chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse",
296
- "|)rug abuse", "drug abu$e", "drug 4buse", "drug abus3", "drug @buse", "drug a8use", "@ddict",
297
- "4ddict", "add!ct", "addict", "a|)|)ict", "addic7", "add1ct", "add|ct", "addi(t", "opioid",
298
- "0pi0id", "op1o1d", "op|o|d", "opioi|)", "op!o!d", "fentanyl", "f3ntanyl", "fentany|",
299
- "fen7anyl", "fent@nyl", "fent4nyl", "fentany1", "meth", "met#", "m3th", "me7h", "coca1ne",
300
- "cocain3", "cocaine", "coc4ine", "(o(aine", "coc@ine", "coca!ne", "coca|ne", "c0caine",
301
- "h3roin", "her0in", "heroin", "#eroin", "hero|n", "hero!n", "hero1n",
302
- # New Hate Speech keywords and variations
303
- "n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
304
- "suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
305
- "genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
306
- "bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
307
- "homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
308
- "xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
309
- # New Slang Abuses & Offensive Insults
310
- "bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
311
- "ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
312
- "a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
313
- "dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
314
- "d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t",
315
- "j@ck@ss", "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d",
316
- "shith3ad", "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
317
- # New General Abuses
318
- "|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
319
- "|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
320
- "worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
321
- # Additional new keywords from the latest list
322
- "16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
323
- "christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
324
- "drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
325
- "go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
326
- "i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "meth", "molest", "naked",
327
- "obongo", "overdose", "perv", "pervert", "rape you", "rat poison", "screw you", "secks",
328
- "self-harm", "sex offender", "sexual predator", "sx", "take pills", "terrorist", "tits", "twat",
329
- "vag", "vodka", "x", "you will get raped", "you're a piece of shit", "you're banned forever",
330
- "you're crazy", "you're hallucinating", "you're such a cunt", "you're worthless",
331
- # New Sexually Explicit keywords and variations (second block)
332
- "p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
333
- "har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
334
- "a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
335
- "s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
336
- "(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
337
- "fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
338
- # New Sexual Harassment keywords and variations (second block)
339
- "perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
340
- "mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
341
- "harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
342
- "c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
343
- "predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
344
- "5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
345
- "m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
346
- "3xpos3", "expo$e", "expo5e",
347
- # New Dangerous Content keywords and variations (second block)
348
- "b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
349
- "@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
350
- "s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
351
- "explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
352
- "exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
353
- "assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
354
- "ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
355
- "suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
356
- "hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
357
- "torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
358
- "rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
359
- "behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
360
- "behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
361
- "extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
362
- "tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
363
- "trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
364
- "arson", "ar5on", "ar$on", "4rson", "ars0n",
365
- # New Harmful Content keywords and variations (second block)
366
- "s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
367
- "se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
368
- "cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
369
- "p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5tarvation", "st4rv4tion", "starvat1on",
370
- "starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
371
- "0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
372
- "depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
373
- "hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
374
- "po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
375
- "chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
376
- "drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
377
- "addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
378
- "op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
379
- "meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
380
- "coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
381
- "hero!n", "hero1n",
382
- # New Hate Speech keywords and variations (second block)
383
- "n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
384
- "suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
385
- "genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de",
386
- "big0t", "bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
387
- "homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
388
- "xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
389
- # New Slang Abuses & Offensive Insults (second block)
390
- "bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
391
- "ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3",
392
- "4sshole", "a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55",
393
- "dumb4ss", "dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd",
394
- "|)ipshit", "d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit",
395
- "d1psh1t", "j@ck@ss", "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head",
396
- "shithe@d", "shith3ad", "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d",
397
- "$hithead",
398
- # New General Abuses (second block)
399
- "|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
400
- "|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
401
- "worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
402
- # Additional new keywords from the latest list
403
- "16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
404
- "christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
405
- "drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
406
- "go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
407
- "i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
408
- "naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
409
- "sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
410
- "take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
411
- "you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
412
- "you're hallucinating", "you're such a cunt", "you're worthless",
413
- # New Sexually Explicit keywords and variations (second block)
414
- "p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
415
- "har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
416
- "a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
417
- "s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
418
- "(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
419
- "fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
420
- # New Sexual Harassment keywords and variations (second block)
421
- "perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
422
- "mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
423
- "harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
424
- "c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
425
- "predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
426
- "5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
427
- "m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
428
- "3xpos3", "expo$e", "expo5e",
429
- # New Dangerous Content keywords and variations (second block)
430
- "b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
431
- "@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
432
- "s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
433
- "explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
434
- "exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
435
- "assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
436
- "ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
437
- "suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
438
- "hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
439
- "torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
440
- "rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
441
- "behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
442
- "behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
443
- "extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
444
- "tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
445
- "trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
446
- "arson", "ar5on", "ar$on", "4rson", "ars0n",
447
- # New Harmful Content keywords and variations (second block)
448
- "s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
449
- "se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
450
- "cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
451
- "p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5tarvation", "st4rv4tion", "starvat1on",
452
- "starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
453
- "0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
454
- "depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
455
- "hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
456
- "po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
457
- "chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
458
- "drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
459
- "addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
460
- "op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
461
- "meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
462
- "coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
463
- "hero!n", "hero1n",
464
- # New Hate Speech keywords and variations (second block)
465
- "n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
466
- "suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
467
- "genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
468
- "bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
469
- "homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
470
- "xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
471
- # New Slang Abuses & Offensive Insults (second block)
472
- "bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
473
- "ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
474
- "a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
475
- "dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
476
- "d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t", "j@ck@ss",
477
- "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d", "shith3ad",
478
- "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
479
- # New General Abuses (second block)
480
- "|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
481
- "|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
482
- "worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
483
- # Additional new keywords from the latest list
484
- "16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
485
- "christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
486
- "drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
487
- "go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
488
- "i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
489
- "naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
490
- "sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
491
- "take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
492
- "you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
493
- "you're hallucinating", "you're such a cunt", "you're worthless",
494
- # New Sexually Explicit keywords and variations (second block)
495
- "p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
496
- "har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
497
- "a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
498
- "s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
499
- "(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
500
- "fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
501
- # New Sexual Harassment keywords and variations (second block)
502
- "perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
503
- "mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
504
- "harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
505
- "c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
506
- "predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
507
- "5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
508
- "m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
509
- "3xpos3", "expo$e", "expo5e",
510
- # New Dangerous Content keywords and variations (second block)
511
- "b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
512
- "@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
513
- "s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
514
- "explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
515
- "exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
516
- "assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
517
- "ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
518
- "suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
519
- "hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
520
- "torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
521
- "rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
522
- "behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
523
- "behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
524
- "extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
525
- "tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
526
- "trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
527
- "arson", "ar5on", "ar$on", "4rson", "ars0n",
528
- # New Harmful Content keywords and variations (third block)
529
- "s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
530
- "se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
531
- "cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
532
- "p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5tarvation", "st4rv4tion", "starvat1on",
533
- "starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
534
- "0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
535
- "depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
536
- "hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
537
- "po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
538
- "chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
539
- "drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
540
- "addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
541
- "op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
542
- "meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
543
- "coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
544
- "hero!n", "hero1n",
545
- # New Hate Speech keywords and variations (third block)
546
- "n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
547
- "suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
548
- "genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
549
- "bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
550
- "homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
551
- "xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
552
- # New Slang Abuses & Offensive Insults (third block)
553
- "bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
554
- "ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
555
- "a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
556
- "dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
557
- "d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t", "j@ck@ss",
558
- "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d", "shith3ad",
559
- "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
560
- # New General Abuses (third block)
561
- "|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
562
- "|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
563
- "worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
564
- # Additional new keywords from the latest list (General Abusive Language)
565
- "16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
566
- "christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
567
- "drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
568
- "go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
569
- "i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
570
- "naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
571
- "sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
572
- "take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
573
- "you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
574
- "you're hallucinating", "you're such a cunt", "you're worthless",
575
- # New Sexually Explicit keywords and variations (third block)
576
- "p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
577
- "har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
578
- "a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
579
- "s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
580
- "(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
581
- "fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
582
- # New Sexual Harassment keywords and variations (third block)
583
- "perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
584
- "mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
585
- "harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
586
- "c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
587
- "predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
588
- "5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
589
- "m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
590
- "3xpos3", "expo$e", "expo5e",
591
- # New Dangerous Content keywords and variations (third block)
592
- "b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
593
- "@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
594
- "s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
595
- "explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
596
- "exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
597
- "assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
598
- "ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
599
- "suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
600
- "hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
601
- "torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
602
- "rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
603
- "behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
604
- "behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
605
- "extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
606
- "tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
607
- "trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
608
- "arson", "ar5on", "ar$on", "4rson", "ars0n",
609
- # New Harmful Content keywords and variations (fourth block)
610
- "s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
611
- "se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
612
- "cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
613
- "p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5starvation", "st4rv4tion", "starvat1on",
614
- "starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
615
- "0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
616
- "depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
617
- "hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
618
- "po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
619
- "chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
620
- "drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
621
- "addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
622
- "op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
623
- "meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
624
- "coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
625
- "hero!n", "hero1n",
626
- # New Hate Speech keywords and variations (fourth block)
627
- "n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
628
- "suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
629
- "genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
630
- "bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
631
- "homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
632
- "xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
633
- # New Slang Abuses & Offensive Insults (fourth block)
634
- "bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
635
- "ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
636
- "a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
637
- "dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
638
- "d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t", "j@ck@ss",
639
- "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d", "shith3ad",
640
- "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
641
- # New General Abuses (fourth block)
642
- "|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
643
- "|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
644
- "worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
645
- # Additional new keywords from the latest list (General Abusive Language)
646
- "16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
647
- "christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
648
- "drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
649
- "go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
650
- "i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
651
- "naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
652
- "sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
653
- "take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
654
- "you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
655
- "you're hallucinating", "you're such a cunt", "you're worthless",
656
- # New Sexually Explicit keywords and variations (fourth block)
657
- "p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
658
- "har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
659
- "a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
660
- "s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
661
- "(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
662
- "fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
663
- # New Sexual Harassment keywords and variations (fourth block)
664
- "perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
665
- "mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
666
- "harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
667
- "c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
668
- "predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
669
- "5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
670
- "m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
671
- "3xpos3", "expo$e", "expo5e",
672
- # New Dangerous Content keywords and variations (fourth block)
673
- "b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
674
- "@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
675
- "s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
676
- "explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
677
- "exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
678
- "assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
679
- "ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
680
- "suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
681
- "hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
682
- "torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
683
- "rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
684
- "behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
685
- "behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
686
- "extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
687
- "tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
688
- "trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
689
- "arson", "ar5on", "ar$on", "4rson", "ars0n",
690
- # New Harmful Content keywords and variations (fifth block)
691
- "s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
692
- "se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
693
- "cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
694
- "p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5starvation", "st4rv4tion", "starvat1on",
695
- "starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
696
- "0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
697
- "depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
698
- "hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
699
- "po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
700
- "chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
701
- "drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
702
- "addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
703
- "op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
704
- "meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
705
- "coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
706
- "hero!n", "hero1n",
707
- # New Hate Speech keywords and variations (fifth block)
708
- "n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
709
- "suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
710
- "genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
711
- "bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
712
- "homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
713
- "xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
714
- # New Slang Abuses & Offensive Insults (fifth block)
715
- "bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
716
- "ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
717
- "a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
718
- "dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
719
- "d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t", "j@ck@ss",
720
- "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d", "shith3ad",
721
- "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
722
- # New General Abuses (fifth block)
723
- "|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
724
- "|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
725
- "worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
726
- # Additional new keywords from the latest list (General Abusive Language)
727
- "16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
728
- "christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
729
- "drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
730
- "go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
731
- "i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
732
- "naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
733
- "sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
734
- "take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
735
- "you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
736
- "you're hallucinating", "you're such a cunt", "you're worthless",
737
- # New Sexually Explicit keywords and variations (fifth block)
738
- "p0rn", "nu|)e", "nud3", "5ex", "$ex", "s3x", "xxx", "hardc0re", "h@rdcore", "hardcor3", "#ardcore",
739
- "har|)core", "hard(ore", "h4rdcore", "adu1t", "adul7", "adu|t", "@dult", "adult", "4dult",
740
- "a|)ult", "erot1c", "erot|c", "erot!c", "ero7ic", "eroti(", "er0tic", "3rotic", "str!p",
741
- "s7rip", "str1p", "$trip", "strip", "str|p", "5trip", "c@mgirl", "camg|rl", "camg1rl",
742
- "(amgirl", "cam9irl", "c4mgirl", "camgir1", "camgir|", "camg!rl", "feti$h", "fet1sh", "feti5h",
743
- "fetis#", "f3tish", "fe7ish", "fetish", "fet!sh", "fet|sh",
744
- # New Sexual Harassment keywords and variations (fifth block)
745
- "perv", "p3rv", "(reep", "creep", "cr33p", "mo1est", "molest", "mole$t", "m0lest",
746
- "mo|est", "mol3st", "moles7", "mole5t", "gr0pe", "9rope", "grop3", "grope", "h@r@ss",
747
- "harass", "hara55", "h4r4ss", "#arass", "hara$$", "c4tc4ll", "ca7call", "catca11", "catca||",
748
- "c@tc@ll", "(at(all", "catcall", "pre|)ator", "pred4tor", "pred@tor", "preda7or", "pr3dator",
749
- "predat0r", "predator", "sta1ker", "st@lker", "stalk3r", "$talker", "st4lker", "s7alker",
750
- "5talker", "stalker", "sta|ker", "m1sogyn1st", "misogynis7", "misogynist", "m|sogyn|st",
751
- "m!sogyn!st", "mi$ogyni$t", "miso9ynist", "mis0gynist", "mi5ogyni5t", "exp0se", "expose",
752
- "3xpos3", "expo$e", "expo5e",
753
- # New Dangerous Content keywords and variations (fifth block)
754
- "b0mb", "8om8", "k!ll", "k1ll", "ki||", "ki11", "k|ll", "kill", "atta(k", "a77ack",
755
- "@tt@ck", "4tt4ck", "terr0r", "t3rror", "7error", "shoo7", "sh00t", "$hoot", "5hoot",
756
- "s#oot", "$tab", "st4b", "st@b", "5tab", "sta8", "s7ab", "exp|osive", "expl0sive",
757
- "explosive", "3xplosiv3", "explos!ve", "explos1ve", "explo5ive", "explos|ve", "explo$ive",
758
- "exp1osive", "assass|nate", "assassinat3", "assass!nate", "assass1nate", "a55a55inate",
759
- "assassina7e", "assassinate", "@ss@ssin@te", "4ss4ssin4te", "a$$a$$inate", "massacr3", "massa(re",
760
- "ma$$acre", "m4ss4cre", "m@ss@cre", "ma55acre", "massacre", "$uicide", "suicide", "su1c1de",
761
- "suicid3", "su|c|de", "sui(ide", "suici|)e", "5uicide", "su!c!de", "#omicide", "hom!c!de",
762
- "hom|c|de", "homicid3", "homicide", "h0micide", "homi(ide", "homici|)e", "hom1c1de", "7or7ure",
763
- "torture", "tortur3", "t0rture", "ra|)ical", "r4dic4l", "rad1cal", "radica1", "radica|",
764
- "rad!cal", "rad|cal", "radical", "radi(al", "r@dic@l", "beheadin9", "8eheading",
765
- "behea|)ing", "b3h3ading", "behead|ng", "beheading", "behead!ng", "be#eading", "behe4ding",
766
- "behe@ding", "behead1ng", "extrem|st", "extrem!st", "3xtr3mist", "extremi$t", "ex7remis7",
767
- "extremist", "extrem1st", "extremi5t", "r|ot", "r1ot", "rio7", "r!ot", "ri0t", "traff|ck|ng",
768
- "tr@fficking", "traff!ck!ng", "traff1ck1ng", "7rafficking", "tr4fficking", "traffi(king",
769
- "trafficking", "traffickin9", "k|dnap", "ki|)nap", "kidn@p", "kidn4p", "k!dnap", "k1dnap",
770
- "arson", "ar5on", "ar$on", "4rson", "ars0n",
771
- # New Harmful Content keywords and variations (sixth block)
772
- "s3lf-harm", "se|f-harm", "self-h4rm", "self-h@rm", "5elf-harm", "self-#arm", "$elf-harm",
773
- "se1f-harm", "self-harm", "cutting", "cuttin9", "cutt!ng", "(utting", "cutt1ng", "cu77ing",
774
- "cutt|ng", "burn1ng", "burnin9", "burn!ng", "8urning", "burn|ng", "burning", "pa!n",
775
- "p4in", "p@in", "pain", "pa1n", "pa|n", "s7arva7ion", "5starvation", "st4rv4tion", "starvat1on",
776
- "starvat!on", "starvation", "starvat|on", "starvati0n", "$tarvation", "st@rv@tion", "overdose",
777
- "0verd0se", "ov3rdos3", "over|)ose", "overdo5e", "overdo$e", "|)epresse|)", "d3pr3ss3d",
778
- "depre55ed", "depressed", "depre$$ed", "d|e", "die", "d!e", "di3", "|)ie", "d1e", "jump",
779
- "hang", "#ang", "h4ng", "han9", "h@ng", "poison", "po!son", "p0is0n", "poi5on", "poi$on",
780
- "po1son", "po|son", "(hloroform", "chloroform", "ch|oroform", "ch1oroform", "c#loroform",
781
- "chl0r0f0rm", "drug abu5e", "dru9 abuse", "drug abuse", "|)rug abuse", "drug abu$e", "drug 4buse",
782
- "drug abus3", "drug @buse", "drug a8use", "@ddict", "4ddict", "add!ct", "addict", "a|)|)ict",
783
- "addic7", "add1ct", "add|ct", "addi(t", "opioid", "0pi0id", "op1o1d", "op|o|d", "opioi|)",
784
- "op!o!d", "fentanyl", "f3ntanyl", "fentany|", "fen7anyl", "fent@nyl", "fent4nyl", "fentany1",
785
- "meth", "met#", "m3th", "me7h", "coca1ne", "cocain3", "cocaine", "coc4ine", "(o(aine",
786
- "coc@ine", "coca!ne", "coca|ne", "c0caine", "h3roin", "her0in", "heroin", "#eroin", "hero|n",
787
- "hero!n", "hero1n",
788
- # New Hate Speech keywords and variations (sixth block)
789
- "n@zi", "naz1", "naz!", "nazi", "na2i", "naz|", "n4zi", "kkk", "suprema(y", "$upremacy",
790
- "suprem4cy", "suprem@cy", "supr3macy", "5upremacy", "supremacy", "gen0cide", "genoc1de",
791
- "genoci|)e", "genocide", "genoc|de", "geno(ide", "9enocide", "g3nocid3", "genoc!de", "big0t",
792
- "bigot", "b|got", "bi9ot", "bigo7", "b!got", "8igot", "b1got", "#omop#obe", "homophobe",
793
- "homophob3", "homopho8e", "h0m0ph0be", "xenophobe", "xenopho8e", "xenop#obe", "x3nophob3",
794
- "xen0ph0be", "antifa", "bootlicker", "tankie", "baiter", "griefer", "kek", "pepe", "zoomer",
795
- # New Slang Abuses & Offensive Insults (sixth block)
796
- "bit(h", "8itch", "b|tch", "b1tch", "bi7ch", "bastar|", "b@st@rd", "ba5tard", "bas7ard",
797
- "ba$tard", "b4st4rd", "8astard", "assho1e", "assho|e", "a$$hole", "ass#ole", "asshol3", "4sshole",
798
- "a55hole", "assh0le", "pr1ck", "pr|ck", "pr!ck", "prick", "|)umbass", "dumba55", "dumb4ss",
799
- "dumba$$", "dum8ass", "dumb@ss", "retar|", "r3tard", "re7ard", "ret@rd", "ret4rd", "|)ipshit",
800
- "d|psh|t", "dipshi7", "dip5hit", "dips#it", "d!psh!t", "dipshit", "dip$hit", "d1psh1t", "j@ck@ss",
801
- "wank3r", "w@nker", "w4nker", "tw4t", "tw@t", "7wa7", "shi7head", "shithe@d", "shith3ad",
802
- "5hithead", "s#it#ead", "sh!thead", "sh1thead", "shithea|", "shithe4d", "$hithead",
803
- # New General Abuses (sixth block)
804
- "|d|ot", "idi0t", "1d1ot", "idio7", "idiot", "i|)iot", "!d!ot", "m0r0n", "moron", "lo5er",
805
- "|oser", "1oser", "loser", "l0ser", "los3r", "5cum", "s(um", "$cum", "worthl3ss", "wort#less",
806
- "worth|ess", "worthle$$", "wor7hless", "worthless", "worthle55", "worth1ess", "w0rthless",
807
- # Additional new keywords from the latest list (General Abusive Language)
808
- "16+", "18+", "alcohol", "amerifag", "assault", "b!tch", "bstard", "burn yourself", "c!nt",
809
- "christfucker", "cnt", "cocaine", "creep", "cut yourself", "die in a hole", "die now", "dipshit",
810
- "drink bleach", "drop dead", "dumbfuck", "fuck off", "fucker", "fucking idiot", "fuk", "get drunk",
811
- "go hang yourself", "hymie", "i will ban you", "i will bomb the place", "i will fuck you",
812
- "i will kill you", "jew", "jewboy", "moslemfucker", "marijuana", "massacre", "meth", "molest",
813
- "naked", "obongo", "overdose", "penis", "perv", "pervert", "rape you", "rat poison", "s3x",
814
- "sandnigger", "screw you", "secks", "self-harm", "sex offender", "sexual predator", "sx",
815
- "take pills", "terrorist", "tits", "tranny", "twat", "vag", "vagina", "vodka", "x", "xxx",
816
- "you will get raped", "you're a piece of shit", "you're banned forever", "you're crazy",
817
- "you're hallucinating", "you're such a cunt", "you're worthless"
818
- ]
819
 
820
  def contains_banned_keyword(self, text):
821
  """Check if the input text contains any banned keywords."""
822
  text_lower = text.lower()
823
  for keyword in self.banned_keywords:
824
  if keyword in text_lower:
 
 
825
  return True
 
 
826
  return False
827
 
828
  def preprocess(self, text):
@@ -832,14 +67,19 @@ class ONNXInferencePipeline:
832
  return np.array(ids + padding, dtype=np.int64).reshape(1, -1)
833
 
834
  def predict(self, text):
 
 
835
  # First check if the text contains any banned keywords
836
  if self.contains_banned_keyword(text):
 
837
  return {
838
  'label': 'Inappropriate Content',
839
  'probabilities': [1.0, 0.0] # Assuming [inappropriate, appropriate]
840
  }
841
 
842
- # If no banned keywords, proceed with model prediction
 
 
843
  # Preprocess
844
  input_array = self.preprocess(text)
845
 
@@ -856,6 +96,10 @@ class ONNXInferencePipeline:
856
 
857
  # Map to labels
858
  class_labels = ['Inappropriate Content', 'Appropriate']
 
 
 
 
859
  return {
860
  'label': class_labels[predicted_class],
861
  'probabilities': probabilities[0].tolist()
@@ -864,18 +108,20 @@ class ONNXInferencePipeline:
864
  # Example usage
865
  if __name__ == "__main__":
866
  # Initialize the pipeline with the Hugging Face repository ID
 
867
  pipeline = ONNXInferencePipeline(repo_id="iimran/abuse-detector")
 
868
 
869
  # Example texts for testing
870
  example_texts = [
871
- "You're a worthless piece of garbage who should die"
 
872
  ]
873
 
874
  for text in example_texts:
875
  result = pipeline.predict(text)
876
- print(f"Input: {text}")
877
  print(f"Prediction: {result['label']} ")
878
- #print(f"Probabilities: Inappropriate={result['probabilities'][0]:.2%}, Not Inappropriate={result['probabilities'][1]:.2%}")
879
  print("-" * 80)
880
 
881
  # Define a function for Gradio to use
@@ -883,7 +129,6 @@ if __name__ == "__main__":
883
  result = pipeline.predict(text)
884
  return (
885
  f"Prediction: {result['label']} \n"
886
- #f"Probabilities: Inappropriate={result['probabilities'][0]:.2%}, Not Inappropriate={result['probabilities'][1]:.2%}"
887
  )
888
 
889
  # Create a Gradio interface
@@ -915,4 +160,5 @@ if __name__ == "__main__":
915
  )
916
 
917
  # Launch the Gradio app
 
918
  iface.launch()
 
15
 
16
  # Load banned keywords list
17
  self.banned_keywords = self.load_banned_keywords()
18
+ print(f"Loaded {len(self.banned_keywords)} banned keywords")
19
 
20
  # Download files from Hugging Face Hub using the token
21
  self.onnx_path = hf_hub_download(repo_id=repo_id, filename="model.onnx", use_auth_token=hf_token)
 
38
  self.session.set_providers(self.providers)
39
 
40
  def load_banned_keywords(self):
41
+ # For testing purposes, using a small list
42
+ # In production, load your full list
43
  return [
44
+ "fuck", "shit", "bitch", "cunt", "asshole", "faggot", "nigger",
45
+ "bastard", "damn", "crap", "ass", "dick", "piss", "wanker",
46
+ "whore", "slut", "motherfucker", "son of a bitch", "kill yourself",
47
+ "twat", "idiot", "stupid", "retard", "dumb"
48
+ # Add more keywords or load from your full list
49
+ ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
 
51
  def contains_banned_keyword(self, text):
52
  """Check if the input text contains any banned keywords."""
53
  text_lower = text.lower()
54
  for keyword in self.banned_keywords:
55
  if keyword in text_lower:
56
+ # Print which keyword was found (for debugging)
57
+ print(f"Keyword detected: '{keyword}'")
58
  return True
59
+
60
+ print("Keywords Passed - No inappropriate keywords found")
61
  return False
62
 
63
  def preprocess(self, text):
 
67
  return np.array(ids + padding, dtype=np.int64).reshape(1, -1)
68
 
69
  def predict(self, text):
70
+ print(f"\nProcessing input: '{text[:50]}...' ({len(text)} characters)")
71
+
72
  # First check if the text contains any banned keywords
73
  if self.contains_banned_keyword(text):
74
+ print("Input rejected by keyword filter")
75
  return {
76
  'label': 'Inappropriate Content',
77
  'probabilities': [1.0, 0.0] # Assuming [inappropriate, appropriate]
78
  }
79
 
80
+ # If no banned keywords found, proceed with model prediction
81
+ print("Running ML model for classification...")
82
+
83
  # Preprocess
84
  input_array = self.preprocess(text)
85
 
 
96
 
97
  # Map to labels
98
  class_labels = ['Inappropriate Content', 'Appropriate']
99
+
100
+ # Log model result
101
+ print(f"Model Passed - Result: {class_labels[predicted_class]} (Confidence: {probabilities[0][predicted_class]:.2%})")
102
+
103
  return {
104
  'label': class_labels[predicted_class],
105
  'probabilities': probabilities[0].tolist()
 
108
  # Example usage
109
  if __name__ == "__main__":
110
  # Initialize the pipeline with the Hugging Face repository ID
111
+ print("Initializing content filter pipeline...")
112
  pipeline = ONNXInferencePipeline(repo_id="iimran/abuse-detector")
113
+ print("Pipeline initialized successfully")
114
 
115
  # Example texts for testing
116
  example_texts = [
117
+ "You're a worthless piece of garbage who should die",
118
+ "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."
119
  ]
120
 
121
  for text in example_texts:
122
  result = pipeline.predict(text)
123
+ print(f"Input: {text[:50]}...")
124
  print(f"Prediction: {result['label']} ")
 
125
  print("-" * 80)
126
 
127
  # Define a function for Gradio to use
 
129
  result = pipeline.predict(text)
130
  return (
131
  f"Prediction: {result['label']} \n"
 
132
  )
133
 
134
  # Create a Gradio interface
 
160
  )
161
 
162
  # Launch the Gradio app
163
+ print("Launching Gradio interface...")
164
  iface.launch()