Repository: NewbieGameCoder/IllegalWordsDetection Branch: master Commit: 081659f9bb07 Files: 4 Total size: 22.7 KB Directory structure: gitextract_45odp52t/ ├── IllegalWordDetection.cs ├── Licence ├── MinGanCi.txt └── README.md ================================================ FILE CONTENTS ================================================ ================================================ FILE: IllegalWordDetection.cs ================================================ using System; using System.Collections; using System.Collections.Generic; /// /// 此算法思想来源于“http://www.cnblogs.com/sumtec/archive/2008/02/01/1061742.html”,经测试,检测"屄defg东正教dsa SofU ckd臺灣青年獨立聯盟daoiuq 样什么J& b玩意 日你先人"这个字符串并替换掉敏感词平均花费2.7ms /// public class IllegalWordDetection { /// /// 存了所有的长度大于1的敏感词汇 /// static HashSet wordsSet = new HashSet(); /// /// 存了某一个词在所有敏感词中的位置,(超出8个的截断为第8个位置) /// static byte[] fastCheck = new byte[char.MaxValue]; /// /// 存了所有敏感词的长度信息,“Key”值为所有敏感词的第一个词,敏感词的长度会截断为8 /// static byte[] fastLength = new byte[char.MaxValue]; /// /// 保有所有敏感词汇的第一个词的记录,可用来判断是否一个词是一个或者多个敏感词汇的“第一个词”,且可判断以某一个词作为第一个词的一系列的敏感词的最大的长度 /// static byte[] startCache = new byte[char.MaxValue]; static char[] dectectedBuffer = null; static string SkipList = " \t\r\n~!@#$%^&*()_+-=【】、{}|;':\",。、《》?αβγδεζηθικλμνξοπρστυφχψωΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ。,、;:?!…—·ˉ¨‘’“”々~‖∶"'`|〃〔〕〈〉《》「」『』.〖〗【】()[]{}ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩①②③④⑤⑥⑦⑧⑨⑩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇≈≡≠=≤≥<>≮≯∷±+-×÷/∫∮∝∞∧∨∑∏∪∩∈∵∴⊥∥∠⌒⊙≌∽√§№☆★○●◎◇◆□℃‰€■△▲※→←↑↓〓¤°#&@\︿_ ̄―♂♀┌┍┎┐┑┒┓─┄┈├┝┞┟┠┡┢┣│┆┊┬┭┮┯┰┱┲┳┼┽┾┿╀╁╂╃└┕┖┗┘┙┚┛━┅┉┤┥┦┧┨┩┪┫┃┇┋┴┵┶┷┸┹┺┻╋╊╉╈╇╆╅╄"; static BitArray SkipBitArray = new BitArray(char.MaxValue); /// /// 保有所有敏感词汇的最后一个词的记录,仅用来判断是否一个词是一个或者多个敏感词汇的“最后一个词” /// static BitArray endCache = new BitArray(char.MaxValue); unsafe public static void Init(string[] badwords) { if (badwords == null || badwords.Length == 0) return; int wordLength = 0; int maxWordLength = int.MinValue; for (int stringIndex = 0, len = badwords.Length; stringIndex < len; ++stringIndex) { if (string.IsNullOrEmpty(badwords[stringIndex])) continue; string strBadWord = OriginalToLower(badwords[stringIndex]); ///求得单个的敏感词汇的长度 wordLength = strBadWord.Length; maxWordLength = Math.Max(wordLength, maxWordLength); fixed (char* pWordStart = strBadWord) { for (int i = 0; i < wordLength; ++i) { ///准确记录8位以内的敏感词汇的某个词在词汇中的“位置” if (i < 7) fastCheck[*(pWordStart + i)] |= (byte)(1 << i); else///8位以外的敏感词汇的词直接限定在第8位 fastCheck[*(pWordStart + i)] |= 0x80;///0x80在内存中即为1000 0000,因为一个byte顶多标示8位,故超出8位的都位或上0x80,截断成第8位 } ///缓存敏感词汇的长度 int cachedWordslength = Math.Min(8, wordLength); char firstWord = *pWordStart; ///记录敏感词汇的“大致长度(超出8个字的敏感词汇会被截取成8的长度)”,“key”值为敏感词汇的第一个词 fastLength[firstWord] |= (byte)(1 << (cachedWordslength - 1)); ///缓存出当前以badWord第一个字开头的一系列的敏感词汇的最长的长度 if (startCache[firstWord] < cachedWordslength) startCache[firstWord] = (byte)(cachedWordslength); ///存好敏感词汇的最后一个词汇的“出现情况” endCache[*(pWordStart + wordLength - 1)] = true; ///将长度大于1的敏感词汇都压入到字典中 if (!wordsSet.Contains(strBadWord)) wordsSet.Add(strBadWord); } } /// 初始化好一个用来存检测到的字符串的buffer dectectedBuffer = new char[maxWordLength]; /// 记录应该跳过的不予检测的词 fixed (char* start = SkipList) { char* itor = start; char* end = start + SkipList.Length; while (itor < end) SkipBitArray[*itor++] = true; } } unsafe static string OriginalToLower(string text) { fixed (char* newText = text) { char* itor = newText; char* end = newText + text.Length; char c; while (itor < end) { c = *itor; if ('A' <= c && c <= 'Z') { *itor = (char)(c | 0x20); } ++itor; } } return text; } unsafe static bool EnsuranceLower(string text) { fixed (char* newText = text) { char* itor = newText; char* end = newText + text.Length; char c; while (itor < end) { c = *itor; if ('A' <= c && c <= 'Z') { return true; } ++itor; } } return false; } /// /// 过滤字符串,默认遇到敏感词汇就以'*'代替 /// /// /// /// unsafe public static string Filter(string text, string mask = "*") { Dictionary dic = DetectIllegalWords(text); ///如果没有敏感词汇,则直接返回出去 if (dic.Count == 0) return text; fixed (char* newText = text, cMask = mask) { var itor = newText; Dictionary.Enumerator enumerator = dic.GetEnumerator(); ///开始替换敏感词汇 while (enumerator.MoveNext()) { ///偏移到敏感词出现的位置 itor = newText + enumerator.Current.Key; for (int index = 0; index < enumerator.Current.Value; index++) { ///屏蔽掉敏感词汇 *itor++ = *cMask; } } enumerator.Dispose(); } return text; } ///// ///// 判断text是否有敏感词汇,如果有返回敏感的词汇的位置,利用指针操作来加快运算速度,暂时独立出一个函数出来,不考虑代码复用的情况 ///// ///// ///// //unsafe public static bool IllegalWordsExistJudgement(string text) //{ // if (string.IsNullOrEmpty(text)) // return false; // fixed (char* ptext = text, detectedStrStart = dectectedBuffer) // { // ///缓存字符串的初始位置 // char* itor = (fastCheck[*ptext] & 0x01) == 0 ? ptext + 1 : ptext; // ///缓存字符串的末尾位置 // char* end = ptext + text.Length; // while (itor < end) // { // ///如果text的第一个词不是敏感词汇或者当前遍历到了text第一个词的后面的词,则循环检测到text词汇的倒数第二个词,看看这一段子字符串中有没有敏感词汇 // if ((fastCheck[*itor] & 0x01) == 0) // { // while (itor < end - 1 && (fastCheck[*(++itor)] & 0x01) == 0) ; // } // ///如果有只有一个词的敏感词,且当前的字符串的“非第一个词”满足这个敏感词,则先加入已检测到的敏感词列表 // if (startCache[*itor] != 0 && (fastLength[*itor] & 0x01) > 0) // { // return true; // } // char* strItor = detectedStrStart; // *strItor++ = *itor; // int remainLength = (int)(end - itor - 1); // int skipCount = 0; // ///此时已经检测到一个敏感词的“首词”了,记录下第一个检测到的敏感词的位置 // ///从当前的位置检测到字符串末尾 // for (int i = 1; i <= remainLength; ++i) // { // char* subItor = itor + i; // /// 跳过一些过滤的字符,比如空格特殊符号之类的 // if (SkipBitArray[*subItor]) // { // ++skipCount; // continue; // } // ///如果检测到当前的词在所有敏感词中的位置信息中没有处在第i位的,则马上跳出遍历 // if ((fastCheck[*subItor] >> Math.Min(i - skipCount, 7)) == 0) // { // break; // } // *strItor++ = *subItor; // ///如果有检测到敏感词的最后一个词,并且此时的“检测到的敏感词汇”的长度也符合要求,则才进一步查看检测到的敏感词汇是否是真的敏感 // if ((fastLength[*itor] >> Math.Min(i - 1 - skipCount, 7)) > 0 && endCache[*subItor]) // { // ///如果此子字符串在敏感词字典中存在,则记录。做此判断是避免敏感词中夹杂了其他敏感词的单词,而上面的算法无法剔除,故先用hash数组来剔除 // ///上述算法是用于减少大部分的比较消耗 // if (wordsSet.Contains(new string(dectectedBuffer, 0, (int)(strItor - detectedStrStart)))) // { // return true; // } // } // else if (i - skipCount > startCache[*itor] && startCache[*itor] < 0x80)///如果超过了以该词为首的一系列的敏感词汇的最大的长度,则不继续判断(前提是该词对应的所有敏感词汇没有超过8个词的) // { // break; // } // } // ++itor; // } // } // return false; //} /// /// 判断text是否有敏感词汇,如果有返回敏感的词汇的位置,利用指针操作来加快运算速度 /// /// /// unsafe public static Dictionary DetectIllegalWords(string text) { var findResult = new Dictionary(); if (string.IsNullOrEmpty(text)) return findResult; if (EnsuranceLower(text)) text = text.ToLower(); var bufferLength = dectectedBuffer.Length; if (text.Length > bufferLength) dectectedBuffer = new char[bufferLength << 1]; fixed (char* ptext = text, detectedStrStart = dectectedBuffer) { ///缓存字符串的初始位置 char* itor = (fastCheck[*ptext] & 0x01) == 0 ? ptext + 1 : ptext; ///缓存字符串的末尾位置 char* end = ptext + text.Length; while (itor < end) { ///如果text的第一个词不是敏感词汇或者当前遍历到了text第一个词的后面的词,则循环检测到text词汇的倒数第二个词,看看这一段子字符串中有没有敏感词汇 if ((fastCheck[*itor] & 0x01) == 0) { while (itor < end - 1 && (fastCheck[*(++itor)] & 0x01) == 0) ; } ///如果有只有一个词的敏感词,且当前的字符串的“非第一个词”满足这个敏感词,则先加入已检测到的敏感词列表 if (startCache[*itor] != 0 && (fastLength[*itor] & 0x01) > 0) { ///返回敏感词在text中的位置,以及敏感词的长度,供过滤功能用 findResult.Add((int)(itor - ptext), 1); } char* strItor = detectedStrStart; *strItor++ = *itor; int remainLength = (int)(end - itor - 1); int skipCount = 0; ///此时已经检测到一个敏感词的“首词”了,记录下第一个检测到的敏感词的位置 ///从当前的位置检测到字符串末尾 for (int i = 1; i <= remainLength; ++i) { char* subItor = itor + i; /// 跳过一些过滤的字符,比如空格特殊符号之类的 if (SkipBitArray[*subItor]) { ++skipCount; continue; } ///如果检测到当前的词在所有敏感词中的位置信息中没有处在第i位的,则马上跳出遍历 if ((fastCheck[*subItor] >> Math.Min(i - skipCount, 7)) == 0) { break; } *strItor++ = *subItor; ///如果有检测到敏感词的最后一个词,并且此时的“检测到的敏感词汇”的长度也符合要求,则才进一步查看检测到的敏感词汇是否是真的敏感 if ((fastLength[*itor] >> Math.Min(i - 1 - skipCount, 7)) > 0 && endCache[*subItor]) { ///如果此子字符串在敏感词字典中存在,则记录。做此判断是避免敏感词中夹杂了其他敏感词的单词,而上面的算法无法剔除,故先用hash数组来剔除 ///上述算法是用于减少大部分的比较消耗 if (wordsSet.Contains(new string(dectectedBuffer, 0, (int)(strItor - detectedStrStart)))) { int curDectectedStartIndex = (int)(itor - ptext); findResult[curDectectedStartIndex] = i + 1; itor = subItor; break; } } else if (i - skipCount > startCache[*itor] && startCache[*itor] < 0x80)///如果超过了以该词为首的一系列的敏感词汇的最大的长度,则不继续判断(前提是该词对应的所有敏感词汇没有超过8个词的) { break; } } ++itor; } } return findResult; } } ================================================ FILE: Licence ================================================ MIT License Copyright (c) 2016 Jonson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: MinGanCi.txt ================================================ 刘伯承|陈毅|贺龙|聂荣臻|徐向前|罗荣桓|叶剑英|李大钊|陈独秀|孙中山|孙文|孙逸仙|邓小平|陈云|江泽民|李鹏|朱镕基|李瑞环|尉健行|李岚清|胡锦涛|罗干|温家宝|吴邦国|曾庆红|贾庆林|黄菊|吴官正|李长春|吴仪|回良玉|曾培炎|周永康|曹刚川|唐家璇|华建敏|陈至立|陈良宇|张德江|张立昌|俞正声|王乐泉|刘云山|王刚|王兆国|刘淇|贺国强|郭伯雄|胡耀邦|李登辉|连战|陈水扁|宋楚瑜|吕秀莲|郁慕明|蒋介石|蒋中正|蒋经国|马英九|习近平|李克强|吴帮国|无帮国|无邦国|无帮过|瘟家宝|假庆林|甲庆林|假青林|离长春|习远平|袭近平|李磕墙|贺过墙|和锅枪|粥永康|轴永康|肘永康|周健康|粥健康|周小康|布什|布莱尔|小泉|纯一郎|萨马兰奇|安南|阿拉法特|普京|默克尔|克林顿|里根|尼克松|林肯|杜鲁门|赫鲁晓夫|列宁|斯大林|马克思|恩格斯|金正日|金日成|萨达姆|胡志明|西哈努克|希拉克|撒切尔|阿罗约|曼德拉|卡斯特罗|富兰克林|华盛顿|艾森豪威尔|拿破仑|亚历山大|路易|拉姆斯菲尔德|劳拉|鲍威尔|奥巴马|本拉登|奥马尔|柴玲|达赖喇嘛|江青|张春桥|姚文元|王洪文|东条英机|希特勒|墨索里尼|冈村秀树|冈村宁次|高丽朴|赵紫阳|王丹|沃尔开西|李洪志|李大师|赖昌星|马加爵|班禅|额尔德尼|山本五十六|阿扁|阿扁万岁|热那亚|热比娅|一边一国|两国论|分裂中国|革命|茉莉花|突尼斯|国内动态详情|回回|六四|六四运动|美国之音|密宗|民国|民进党|民运|民主|民主潮|摩门教|纳粹|南华早报|南蛮|明慧网|起义|亲民党|瘸腿帮|人民报|法轮功|法轮大法|打倒共产党|台独万岁|圣战|示威|台独|台独分子|台联|台湾民国|台湾岛国|台湾国|台湾独立|太子党|天安门事件|屠杀|新党|新疆独立|新疆分裂|新疆国|疆独|西藏独立|西藏分裂|西藏国|藏独|藏青会|藏妇会|学潮|学运|一党专政|一中一台|两个中国|一贯道|游行|造反|真善忍|镇压|政变|政治|政治反对派|政治犯|中共|共产党|反党|反共|政府|民主党|中国之春|转法轮|自焚|共党|共匪|苏家屯|基地组织|塔利班|东亚病夫|支那|高治联|高自联|专政|专制|世界维吾尔大会|核工业基地|核武器|原子弹|氢弹|导弹|核潜艇|大参考|小参考|国内动态清样|释迦牟尼|阿弥陀佛|多维|河殇|穆罕默德|耶和华|耶稣|伊斯兰|真主安拉|白莲教|天主教|基督教|东正教|大法|法轮|真理教|走向圆满|黄大仙|跳大神|神汉|神婆|大卫教|阎王|黑白无常|牛头马面|高丽棒子|蒙古鞑子|老毛子|回民吃猪肉|k粉|古柯碱|谋杀|杀人|吸毒|贩毒|赌博|拐卖|走私|卖淫|强奸|轮奸|抢劫|先奸后杀|押大|押小|押注|下注|抽头|坐庄|赌马|赌球|筹码|老虎机|轮盘赌|安非他命|大麻|可卡因|海洛因|冰毒|摇头丸|杜冷丁|鸦片|罂粟|迷幻药|白粉|嗑药|冰粉|AIDS|aids|Aids|DICK|dick|Dick|penis|sex|SM|爱滋|淋病|梅毒|爱液|臭机八|臭鸡巴|吹喇叭|吹箫|催情药|肛交|肛门|龟头|黄色|机八|机巴|鸡八|鸡巴|机掰|鸡叭|鸡鸡|鸡掰|鸡奸|妓女|精液|精子|口交|滥交|乱交|屁眼|嫖娼|强奸犯|情色|肉棒|乳房|乳峰|乳交|乳头|乳晕|三陪|色情|射精|手淫|威而钢|威而柔|伟哥|性高潮|性交|性虐|性欲|颜射|阳物|一夜情|阴部|阴唇|阴道|阴蒂|阴核|阴户|阴茎|阴门|淫秽|淫乱|淫水|淫娃|淫液|淫汁|淫穴|淫洞|援交妹|做爱|梦遗|阳痿|早泄|奸淫|Bitch|bt|cao|FUCK|Fuck|fuck|kao|NMD|NND|sb|shit|SHIT|SUCK|Suck|tmd|TMD|tnnd|K他命|白痴|笨蛋|变态|婊子|操她妈|操妳妈|操你|操你妈|操他妈|草你|册那|侧那|测拿|蠢猪|荡妇|发骚|废物|干她妈|干妳|干妳娘|干你|干你妈|干你妈B|干你妈b|干你妈逼|干你娘|干他妈|狗娘养的|贱货|贱人|烂人|老母|老土|妈比|妈的|马的|妳老母的|妳娘的|你妈逼|破鞋|仆街|去她妈|去妳的|去妳妈|去你的|去你妈|去死|去他妈|日你|赛她娘|赛妳娘|赛你娘|赛他娘|骚货|傻B|傻比|傻子|上妳|上你|神经病|屎妳娘|屎你娘|他妈的|王八蛋|我操|我日|乡巴佬|猪猡|骑你|湿了|操他|操她|骑他|骑她|欠骑|欠人骑|来爽我|来插我|干他|干她|干死|干爆|干机|机叭|臭鸡|臭机|烂鸟|览叫|阳具|肉壶|奶子|摸咪咪|干鸡|干入|小穴|插你|爽你|干干|干X|他干|干它|干牠|干您|干汝|干林|操林|干尼|操尼|我咧干|干勒|干我|干到|干啦|干爽|欠干|狗干|我干|来干|轮干|轮流干|干一干|援交|奸暴|再奸|我奸|奸你|奸他|奸她|奸一奸|淫湿|鸡歪|臭西|遗精|烂逼|大血比|叼你妈|靠你妈|戳你|逼你老母|挨球|我日你|草拟妈|卖逼|狗操卖逼|日死|奶娘|他娘|她娘|骚B|你妈了妹|逼毛|插你妈|叼你|渣波波|嫩b|weelaa|缔顺|帝顺|蒂顺|系统消息|午夜|看下|草泥马|法克鱿|雅蠛蝶|潜烈蟹|菊花蚕|尾申鲸|吉跋猫|搞栗棒|吟稻雁|达菲鸡|ML|3P|群P|马勒戈壁|双飞|周恩來|碡 |朱駿 |朱狨基|朱容基|朱溶剂|朱熔基|猪操|猪聋畸|猪毛|猪毛1|專政|卓伯源|子宫|自民党|自慰|自已的故事|自由民主论坛|总理|作爱|作秀|阿扁萬歲|阿萊娜|啊無卵|埃裏克蘇特勤|埃斯萬|艾麗絲|愛滋|愛滋病|暗黑法師|奧克拉|奧拉德|奧利弗|奧魯奇|奧倫|奧特蘭|巴倫侍從|巴倫坦|白立樸|白夢|白皮書|班禪|寶石商人|保釣|鮑戈|鮑彤|鮑伊|暴風亡靈|暴亂|暴熱的戰士|暴躁的城塔野獸|暴躁的警衛兵靈魂|暴躁的馬杜克|北大三角地論壇|北韓|北京當局|北美自由論壇|貝尤爾|逼樣|比樣|婊子養的 |賓周|冰後|博訊|不滅帝王|不爽不要錢|布萊爾|布雷爾|蔡崇國|蔡啓芳|操鶏|操那嗎B|操那嗎逼|操那嗎比|操你媽|操你爺爺|曹長青|曹剛川|草你媽|草擬媽|册那娘餓比|插那嗎B|插那嗎逼|插那嗎比|插你媽|插你爺爺|長官沙塔特|常勁|朝鮮|車侖|車侖女幹|沉睡圖騰|陳炳基|陳博志|陳定南|陳建銘|陳景俊|陳菊|陳軍|陳良宇|陳蒙|陳破空|陳水扁|陳唐山|陳希同|陳小同|陳宣良|陳學聖|陳一諮|陳總統|程凱|程鐵軍|痴鳩|痴拈|遲鈍的圖騰|持不同政見 |赤色騎士|赤色戰士|處女膜|傳染性病|吹簫|春夏自由論壇|戳那嗎B|戳那嗎逼|戳那嗎比|錯B|錯逼|錯比|錯那嗎B|錯那嗎逼|錯那嗎比|達夫警衛兵|達夫侍從|達癩|打飛機|大參考|大東亞|大東亞共榮|大鶏巴|大紀元|大紀元新聞網|大紀園|大家論壇|大奶媽|大史記|大史紀|大衛教|大中國論壇|大中華論壇|大衆真人真事|戴維教|戴相龍|彈劾|蕩婦|導師|盜竊犯|德維爾|登輝|鄧笑貧|迪裏夏提|地下教會|帝國主義|電視流氓|叼你媽|釣魚島|丁關根|東北獨立|東部地下水路|東方紅時空|東方時空|東南西北論談|東社|東升|東條|東條英機|東突暴動|東突獨立|東土耳其斯坦|東西南北論壇|東亞|東院看守|動亂|鬥士哈夫拉蘇|鬥士霍克|獨裁|獨裁政治|獨夫|獨立臺灣會|俄國 |發楞|發掄|發掄功|發倫|發倫功|發輪|發論|發論公|發論功|發騷|發正念|法~倫|法~淪|法~綸|法~輪|法~論|法爾卡|法掄|法掄功|法侖|法淪|法綸|法輪大法|法輪功|法十輪十功|法謫|法謫功|反封鎖|反封鎖技術|反腐敗論壇|反人類|反社會|方勵之|防衛指揮官|放蕩|飛揚論壇|廢墟守護者|費鴻泰|費良勇|分隊長施蒂文|粉飾太平|糞便|豐饒的果實|風雨神州|風雨神州論壇|封從德|封殺|封印的靈魂騎士|馮東海|馮素英|嘸 |傅作義|幹bi|幹逼|幹比|幹的你|幹幹幹|幹她|幹你|幹你老比|幹你老母|幹你娘|幹全家|幹死|幹死你|幹他|幹一家|趕你娘|岡巒|剛比|剛比樣子|崗哨士兵|肛門|高麗棒子|高文謙|高薪養廉|高自聯|膏藥旗|戈瑞爾德|戈揚|鴿派|歌功頌德|格雷(關卡排名管理者)|格魯|格魯(城鎮移動)|工自聯|弓雖|共産|共産黨|共産主義|共黨|共軍|共榮圈|狗誠|狗狼養的|狗娘養的|狗養|狗雜種|古龍祭壇|骨獅|關卓中|貫通兩極法|廣聞|龜兒子|龜公|龜孫子|龜頭|龜投|滾那嗎|滾那嗎B|滾那嗎錯比|滾那嗎老比|滾那嗎瘟比|郭俊銘|郭羅基|郭岩華|國家安全|國家機密|國軍|國賊|哈爾羅尼|韓東方|韓聯潮|韓正|漢奸|河殤|賀國强|賀龍|黑社會|黑手黨|紅燈區|紅色恐怖|紅炎猛獸|洪傳|洪興|洪哲勝|胡緊掏|胡錦滔|胡錦淘|胡景濤|胡喬木|胡總書記|湖岸護衛兵|湖岸警衛兵|湖岸哨兵隊長|護法|華建敏|華通時事論壇|華夏文摘|華語世界論壇|華岳時事論壇|懷特|皇軍|黃伯源|黃慈萍|黃禍|黃劍輝|黃金幼龍|黃菊|黃片|黃翔|黃義交|黃仲生|回民暴動|毀滅步兵|毀滅騎士|毀滅射手|昏迷圖騰|混亂的圖騰|活動 |擊倒圖騰|擊傷的圖騰|鶏8|鶏八|鶏巴|鶏吧|鶏鶏|鶏奸|鶏毛信文匯|鶏女|鶏院|姬勝德|積克館|賈廷安|賈育台|監視塔|監視塔哨兵|監視塔哨兵隊長|簡肇棟|建國黨|賤B|賤bi|賤逼|賤比|賤貨|賤人|賤種|江八點|江羅|江綿恒|江戲子|江則民|江澤慧|江賊|江賊民|薑春雲|將則民|僵賊|僵賊民|講法|蔣介石|蔣中正|降低命中的圖騰|醬猪媳|狡猾的達夫|矯健的馬努爾|教養院|揭批書|她媽|届中央政治局委員|金槍不倒 |金堯如|金澤辰|錦濤|經文|經血|莖候佳陰|荊棘護衛兵 |靖國神社|舊斗篷哨兵|巨槌騎兵|巨鐵角哈克|鋸齒通道被遺弃的骷髏|鋸齒通道骷髏|絕望之地|軍妓|開苞|開放雜志|凱奧勒尼什|凱爾本|凱爾雷斯|凱特切爾|砍翻一條街|看中國|靠你媽|柯賜海|柯建銘|科萊爾|克萊恩|克萊特|克勞森|客戶服務|空氣精靈|空虛的伊坤|空虛之地|恐怖主義|鄺錦文|昆圖|拉姆斯菲爾德|拉皮條|萊特|賴士葆|蘭迪|爛B|爛逼|爛比|爛袋|爛貨|濫B|濫逼|濫比|濫貨|濫交|勞動教養所|勞改|勞教|雷尼亞|李紅痔|李洪寬|李繼耐|李蘭菊|李老師|李錄|李祿|李慶安|李慶華|李淑嫻|李鐵映|李旺陽|李小鵬|李月月鳥|李志綏|李總理|李總統|裏菲斯|連方瑀|連惠心|連勝德|連勝文|連戰|聯總|廉政大論壇|煉功|兩岸關係|兩岸三地論壇|兩個中國|兩會|兩會報道|兩會新聞|廖錫龍 |林保華|林長盛|林佳龍|林信義|林正勝|林重謨|淩鋒|劉賓深|劉賓雁|劉剛|劉國凱|劉華清|劉俊國|劉凱中|劉千石|劉青|劉山青|劉士賢|劉文勝|劉文雄|劉曉波|劉曉竹|劉永川|龍虎豹|龍火之心|盧卡|盧西德|陸委會|呂京花|呂秀蓮|亂交|亂倫|亂輪|掄功|倫功|輪大|輪功|輪奸|論壇管理員|羅福助|羅幹|羅禮詩|羅文嘉|羅志明|洛克菲爾特|媽B|媽比|媽的|媽批|馬大維|馬克思|馬良駿|馬三家|馬時敏|馬特斯|馬英九|馬永成|瑪麗亞|瑪雅|嗎的|嗎啡|麥克斯|賣逼|賣比|賣國|賣騷|賣淫|瞞報|毛厠洞|毛賊|毛賊東|美國|美國參考|美國佬|美國之音|蒙獨|蒙古達子|蒙古獨|蒙古獨立|綿恒|民國|民進黨|民聯|民意論壇|民陣|民主墻|摸你鶏巴|莫偉强|木子論壇|內褲|內衣|那嗎B|那嗎逼|那嗎錯比|那嗎老比|那嗎瘟比|那娘錯比|納粹|奶頭|南大自由論壇|南蠻子|鬧事|能樣|尼奧夫|倪育賢|你媽|你媽逼|你媽比|你媽的|你媽了妹|你說我說論壇|你爺 |娘餓比|捏你鶏巴|儂著岡巒|儂著卵拋|奴隸魔族士兵|女幹|女主人羅姬馬莉|諾姆|潘國平|蹣 |龐建國|泡沫經濟|噴你|皮條客|潑婦 |齊墨|齊諾|騎你|錢達|錢國梁|錢其琛|喬石|喬伊|橋侵襲兵|親美|親民黨|親日|欽本立|禽獸|輕舟快訊|情婦|情獸|慶紅|丘垂貞|去你媽的|全國兩會|全國人大|瘸腿幫|讓你操|熱比婭|熱站政論網|人民報|人民大會堂|人民內情真相|人民真實|人民之聲論壇|人權|日本帝國|日軍|日內瓦金融|日你媽|日你爺爺|日朱駿|乳頭|乳暈|瑞士金融大學|薩達姆|三K黨|三個代表|三級片|三去車侖工力|騷B|騷棒|騷包|騷逼|騷棍|騷貨|騷鶏|騷卵 |殺你全家|殺你一家|殺人犯|傻鳥|煞筆|山口組|善惡有報|上訪|上海幫|上海孤兒院|社會主義|射了還說要|神經病|生孩子沒屁眼|生命分流的圖騰|聖射手|聖戰|盛華仁|濕了還說不要|濕了還說要|石化圖騰|石拳戰鬥兵|時代論壇|時事論壇|史萊姆|史萊姆王|士兵管理員瓦爾臣|世界經濟導報|事實獨立|侍從貝赫爾特|侍從倫斯韋|數據中國|雙十節|氵去車侖工力|氵去車侖工力?|稅力|司馬晋|司馬璐|司徒華|私?服|私處|思科羅|斯諾|斯皮爾德|四川獨|四川獨立|四人幫|宋書元|蘇菲爾|蘇拉|蘇南成|蘇紹智|蘇特勒守護兵|蘇特勤|蘇特勤護衛兵|蘇特勤魔法師|蘇曉康|蘇盈貴|蘇貞昌|碎片製造商人馬克|碎片製造商人蘇克|孫大千|孫中山|他媽|他媽的|他嗎的|他母親|塔內|塔烏|臺盟|臺灣帝國|臺灣獨立|臺灣獨|臺灣共産黨|臺灣狗|臺灣建國運動組織|臺灣民國|臺灣青年獨立聯盟|臺灣政論區|臺灣自由聯盟|太監|泰奴橋警衛兵|泰奴橋掠奪者|湯光中|唐柏橋|天安門|天安門錄影帶|天安門事件|天安門屠殺|天安門一代|天閹|田紀雲|庭院警衛兵|統獨|統獨論壇|統戰|頭領奧馬|頭領墳墓管理員|圖書管理員卡特|屠殺|團長戈登|團員馬爾汀|外交論壇|外交與方略|晚年周恩來|萬里|萬潤南|萬維讀者論壇|萬曉東|王寶森|王超華|王輔臣|王剛|王涵萬|王滬寧|王軍濤|王樂泉|王潤生|王世堅|王世勛|王秀麗|王兆國|網禪|網特|猥褻|溫B|溫逼|溫比|溫家寶|溫元凱|無界瀏覽器|吳百益|吳敦義|吳方城|吳弘達|吳宏達|吳仁華|吳淑珍|吳學燦|吳學璨|吳育升|吳志芳|西藏獨|吸收的圖騰|吸血獸|洗腦|系統|系統公告|下賤|下體|鮮族|現金|現金交易|獻祭的圖騰|項懷誠|項小吉|小B樣|小比樣|小參考|小鶏鶏|小靈通|小泉純一郎|謝長廷|謝深山|謝選駿|謝中之|辛灝年|新觀察論壇|新華舉報|新華內情|新華通論壇|新疆獨|新生網|新手訓練營|新聞出版總署|新聞封鎖|新義安|新語絲|信用危機|邢錚|性愛|性無能|修煉|虛弱圖騰|虛無的飽食者|徐國舅|許財利|許家屯|許信良|薛偉|學潮|學聯|學運|學自聯|閹狗|嚴家其|嚴家祺|閻明複|顔清標|顔慶章|顔射|央視內部晚會|陽具|陽痿|陽物|楊懷安|楊建利|楊巍|楊月清|楊周|姚羅|姚月謙|搖頭丸|藥材商人蘇耐得|藥水|耶穌|野鶏|葉菊蘭|夜話紫禁城|一陀糞|伊莎貝爾|伊斯蘭|伊斯蘭亞格林尼斯|遺精|議長阿茵斯塔|議員斯格文德|异見人士|异型叛軍|异議人士|易丹軒|意志不堅的圖騰|陰部|陰唇|陰道|陰蒂|陰戶|陰莖|陰精|陰毛|陰門|陰囊|陰水|淫蕩|淫穢|淫貨|淫賤|尹慶民|引導|隱者之路|鷹眼派氏族|硬直圖騰|憂鬱的艾拉|尤比亞|由喜貴|游蕩的僵尸|游蕩的士兵|游蕩爪牙|游錫坤|游戲管理員|友好的魯德|幼齒|幼龍|于幼軍|余英時|漁夫菲斯曼|輿論|輿論反制|宇明網|元老蘭提(沃德)|圓滿|緣圈圈|遠志明|月經|雜種|造愛|則民|擇民|澤夫|澤民|賊民|扎卡維是英雄|張伯笠|張博雅|張鋼|張健|張林|張清芳|張偉國|張溫鷹|張昭富|張志清|章孝嚴|帳號|賬號|招鶏|趙海青|趙建銘|趙南|趙品潞|趙曉微|趙紫陽|貞操|鎮壓|爭鳴論壇|正見網|正義黨論壇|鄭寶清|鄭麗文|鄭義|鄭餘鎮|鄭源|鄭運鵬|政權|政治反對派|指點江山論壇|中毒的圖騰|中毒圖騰|中俄邊界|中國復興論壇|中國共産黨|中國孤兒院|中國和平|中國論壇|中國社會進步黨|中國社會論壇|中國威脅論|中國問題論壇|中國移動通信|中國真實內容|中國之春|中國猪|中華大地|中華大衆|中華講清|中華民國|中華人民實話實說|中華人民正邪|中華時事|中華養生益智功|中華真實報道|中央電視臺|鐘山風雨論壇|周鋒鎖|周守訓 |朱鳳芝|朱立倫|朱溶劑|猪聾畸|主攻指揮官|主義|助手威爾特|專制|轉化|資本主義|子宮|自民黨|自由民主論壇|總理|鯫 |作愛|做愛|新闻出版总署|新闻出版署|处女|房事|坐台|猥亵|猥琐|肉欲|肉体|排泄|卵子 这几个词游戏里也屏蔽下|胡总书记|大纪元|大纪元新闻网|燕玲论坛|urban|煞笔|urban-rivals|rivals|UR|ur|gongchangdang|她妈|牛逼|牛B|傻逼|装逼|装B|日你妈|不玩了|删号|卖号 |删 号|妈逼|草你妈|T.M.D|JB|jb|出售账号|出售此号|卖号|U/R|U-R|j8|吗的|8仙|狗日|出售神符|毛泽东|NPC|*法*轮*功*|*李*洪*志*阿扁|阿拉|安全局|澳洲光明网|八九|八九风波|办理文凭|办理证件|包皮|保钓|保监会|保密局|鲍岳桥|暴动|暴乱|暴徒|北京之春|贝肉|本?拉登|苯比|笨屄|笨逼|屄毛|逼样|比毛|宾周|波霸|博讯|薄一波|布雷尔|财政部|参事室|操GM|操Gm|操gM|操gm|操XX|操逼|操比|操蛋|操你妈屄|草的你妈|草妈|测绘局|插GM|插Gm|插gM|插gm|插妳|插深些|产权局|朝鲜|车臣|车仑|陈功|陈希同|陈晓宁|成人电影|成人片|吃大便|吃屎|迟浩田|赤匪|抽插|抽你丫的|臭化西|出售假币|出售枪支|出售手枪|春药|粗制吗啡|达赖|打炮|大B|大逼|大便|大波波|大麻树脂|大麻油|大师|戴维教|大学骚乱|大血B|呆卵|戴海静|戴红|戴晶|党主席|档案局|盗窃犯|道教|帝国主义|电监会|屌7|屌鸠|屌毛|屌妳|屌七|屌西|钓鱼台|丁关根|丁子霖|东北独立|东升|东突|东突暴动和独立|东突组织|董建华|董贱华|董文华|懂文华|独立|独立台湾会|二B|二屄|二逼|二乙基酰胺发抡|发抡功|发伦|发伦功|发轮|发论|发论公|发论功|法(轮)功|法*轮*功|法功|法愣|法仑|法西斯|法制办|反动|反革命|发票|反华|反恐委员会|反日|反政府|分裂祖国|佛教|佛展千手法|佛祖|斧头镰刀|阝月|傅鹏|傅作义|干GM|干Gm|干gM|干gm|干拎娘|干妳老母|干妳妈|干七八|干死你|港澳办|高俊|高校暴乱|高校群体事件|高校骚乱|睾丸|膏药旗|弓虽女干|公安|公安部|公安局|共产主义|共狗|狗b|狗操|狗卵|狗娘|狗屁|狗日的|狗屎|观世音|官逼民反|官商勾结|龟儿子|龟公|龟孙子|鬼村|国安局|国防部|国防科工委|国管局|国际法院|国家民委|国家主席|国家主要部委|国民党|国民党万岁|海洋局|何候华|黑社会|黑手党|红卫兵|洪兴|洪志|后庭|胡XX|胡紧涛|胡紧掏|胡紧套|胡锦淘|胡乔木|胡主席|花柳|华国锋|换妻|黄 菊|黄色电影|黄色小电影|回教|回民暴动|回族人吃猪肉|昏药|火棒|鸡芭|基督|激情电影|激情小电影|计牌软件|计生委|妓院|奸夫淫妇|贱逼|江Core|江八|江八点|江独裁|江核心|江戏子|江择民|江贼民|江折民|江猪|江猪媳|江主席|僵贼民|酱猪媳|交通部|姣西|叫床|叫鸡|叫小姐|教育部|她妈的金日成|禁书|经济社会理事会|经社理事会|警匪一家|敬国神社|靖国神社|静坐|纠察员|鸠屎|军长发威|军国主义|军妓|靠腰|可待因|可卡叶|恐怖份子|恐怖主义|寇晓伟|狂操|狂操你全家|拉登|懒教|烂B|烂屄|烂比|烂屌|烂货|劳+教+所|劳动保障部|老逼|黎阳评|李弘旨|李红志|李宏旨|李宏志|李鹏*|李山|李铁映|李先念|联大|联合国|联合国大会|联易|联易互动|粮食局|两腿之间|林彪|林业局|刘 淇|刘军|刘少奇|流氓|六.四|六。四|六?四|六合彩|六-四|六四事件|六四真相|龙新民|旅游局|轮功|罗 干|骡干|妈卖妈屁|妈批|妈祖|妈B|麻醉钢枪|麻醉枪|麻醉药|麻醉乙醚|马卖马屁|吗啡|吗啡碱|吗啡片|买财富|买卖枪支|麦角酸|卖.国|卖B|卖ID|卖QQ|卖比|卖财富|卖党求荣|卖国|卖国求荣|卖卡|卖软件|毛XX|毛厕洞|毛一鲜|毛贼东|毛主席|梅花网|美国|美国佬|美利坚|蒙尘药|蒙独|蒙古达子|蒙古独立|迷魂药|迷奸药|迷歼药|迷药|密洞|民航局|民政部|莫索里尼|穆斯林|妳妈的|妳马的|南联盟|南蛮子|嫩B|伱妈|你爸|你大爷|你二大爷|你老母|你老味|你姥|你姥姥的|你妈|你妈的|你娘|你爷爷的|鸟GM|鸟Gm|鸟gM|鸟gm|鸟你|牛比|农业部|虐待|拍肩神药|喷你|彭真|皮条|嫖客|苹果日报|破坏|气象局|钱其琛|枪决女犯|枪决现场|枪支弹药|强卫|强效失意药|强硬发言|乔石|侨办|切七|窃听器|窃听器材|青天白日|去你妈的|全国人大|人大|人大代表|人代会|人弹|人民|人民大会堂|人民广场|人民日报|人民银行|人体炸弹|日GM|日Gm|日gM|日gm|日X妈|日本RING|日本鬼子|日你娘|日他娘|肉壁|肉洞|肉缝|肉棍|肉棍子|肉穴|乳波臀浪|撒尿|塞白|塞你爸|塞你公|塞你老母|塞你老师|塞你母|塞你娘|三个呆婊|三个代婊|三级片|三民主义|三陪女|三去车仑|三唑仑|骚逼|色情电影|色情服务|色情小电影|杀人犯|傻屄|傻吊|傻卵|煞逼|商务部|社科院|身份生成器|神通加持法|生鸦片|圣女峰|十八摸|十年动乱石进|食捻屎|食屎|驶你爸|驶你公|驶你老母|驶你老师|驶你母|驶你娘|是鸡|受虐狂|售ID|售号|售软件|双峰微颤|氵去|水利部|水去车仑|税务总局|司法部|私服|私/服|私\\服|私-服|私—服|死gd|死GD|死gm|死GM|死全家|四川独立|四人帮|宋祖英|他爹|他妈|他马的|他母亲|他祖宗|台办|台湾党|台湾帝国|台湾共产党|台湾共和国|台湾狗|太监|天皇陛下|田纪云|舔西|投毒杀人|透视软件|推油|外 挂|外挂|外/挂|外\\挂|外_挂|外-挂|外—挂|外汇局|外交部|外专局|晚年周恩来|万税|王宝森|王昊|王岐山|王太华|王震|网管|卫生部|温加宝|温家保|温馨|温总理|文化部|文物局|倭国|倭寇|我操你|我妳老爸|无界浏览器|吴 仪|五星红旗|西藏天葬|希望之声|洗脑班|系统|系统公告|系统讯息|鲜族|想上你|小鸡鸡|小泉纯一郎|小日本|小肉粒|小乳头|邪教|兴奋剂|性爱|性虐待|性无能|徐光春|血逼|血腥图片|鸦片液|鸦片渣|烟草局|严方军|阳精|摇头玩|耶苏|夜情|一党专制|一国两制| 偷窥|伊拉克|伊朗|以茎至洞|抑制剂|阴毛|阴水|阴小撕大|淫荡|淫货|淫贱|淫叫|淫毛|淫靡|淫语连连|淫欲|英雄纪念碑|硬挺|邮政局|游戏发奖员|游戏宫理员|游戏管理员|舆论钳制|玉杵|欲火焚身|原子能机构|远程偷拍|曰GM|曰Gm|曰gM|曰gm|曰你|月经|月经不调|扎卡维是英雄|杂种|扎卡维|张朝阳|张潮阳|张磊|张小平|侦探设备|中国恐怖组织|中华民国|中南海|中宣部|周恩来|周总理|朱德|朱容鸡|朱总理|猪容基|主席|装屄|追查国际|子女任职名单|自杀手册|自杀指南|自制手枪|自治机关|宗教|总局|坐台的|操逼毛|u r|U R|taobao|webgame.com.cn|垃圾游戏|烂游戏|淘宝|c a o|h站|龙虎|虎门|龙 虎 门|WEB牌戰|WEB战牌|战牌|8 仙|UR|街头对抗|混 沌决| 李克强|新闻管制|党中央|马拉戈壁|薄熙来卖毒品恐怖组织温家饱|温假饱|胡惊涛钓鱼岛不属于中国|习仲勋|尖阁列岛|实际神|东方闪电|全能神|安倍晋三|金正恩|胡景涛|交媾|CAO|K粉|J8|小姐兼职|西藏314事件|新疆7.5事件| 乱伦|毛片|黄片|交配|群交|茉莉花革命|操你八辈祖宗|性奴 ================================================ FILE: README.md ================================================ # IllegalWordsDetection 提供高效率的较简单的Unity3d手游客户端的敏感词检测的算法,能应付大部分敏感词过滤需求
效果图: ![image](https://github.com/NewbieGameCoder/IllegalWordsDetection/raw/master/效果图.bmp)