先介绍一下敏感词词库

:1.funNLP

敏感词库:
2.chat-censorship
与聊天客户端审查调查相关的数据,此存储库包含关键字黑名单以及其他内容的列表,例如用于触发在中国使用的应用程序中的审查制度的URL或图像(应用包括:微博,微信,Line,skype)

3.网上整理的敏感词库及Java实现的代码

请移步github

敏感词过滤的相关算法:

1.使用敏感词过滤系统。
信息审核工作都是在信息审核平台上进行的,网站的运营审核系统中会预先设定一批关键词库并对词组进行排列组合,这批词库又会根据敏感性进行分类。系统会阻止用户发布敏感词汇,或将用户发出来的含有敏感词的内容直接删除。 对于某些敏感性较低的词汇,发出来不会立即删除,需要经过审核人员过目进行二次审核。
AC自动机算法(原理)

#python实现,
# -*- coding:utf-8 -*-import time
time1=time.time()# AC自动机算法
class node(object):def __init__(self):self.next = {}self.fail = Noneself.isWord = Falseself.word = ""class ac_automation(object):def __init__(self):self.root = node()# 添加敏感词函数def addword(self, word):temp_root = self.rootfor char in word:if char not in temp_root.next:temp_root.next[char] = node()temp_root = temp_root.next[char]temp_root.isWord = Truetemp_root.word = word# 失败指针函数def make_fail(self):temp_que = []temp_que.append(self.root)while len(temp_que) != 0:temp = temp_que.pop(0)p = Nonefor key,value in temp.next.item():if temp == self.root:temp.next[key].fail = self.rootelse:p = temp.failwhile p is not None:if key in p.next:temp.next[key].fail = p.failbreakp = p.failif p is None:temp.next[key].fail = self.roottemp_que.append(temp.next[key])# 查找敏感词函数def search(self, content):p = self.rootresult = []currentposition = 0while currentposition < len(content):word = content[currentposition]while word in p.next == False and p != self.root:p = p.failif word in p.next:p = p.next[word]else:p = self.rootif p.isWord:result.append(p.word)p = self.rootcurrentposition += 1return result# 加载敏感词库函数def parse(self, path):with open(path,encoding='gbk') as f:for keyword in f:self.addword(str(keyword).strip())# 敏感词替换函数def words_replace(self, text):""":param ah: AC自动机:param text: 文本:return: 过滤敏感词之后的文本"""result = list(set(self.search(text)))for x in result:m = text.replace(x, '*' * len(x))text = mreturn textif __name__ == '__main__':ah = ac_automation()path='keywords.txt'ah.parse(path)text1=input('输入文字:')# text1="shabi操草草得到大大苏打"text2=ah.words_replace(text1)print(text2)time2 = time.time()print('总共耗时:' + str(time2 - time1) + 's')

DFA算法(原理)

#python实现
# -*- coding:utf-8 -*-
import time
time1=time.time()
# DFA算法
class DFAFilter():def __init__(self):self.keyword_chains = {}self.delimit = '\x00'def add(self, keyword):keyword = keyword.lower()chars = keyword.strip()if not chars:returnlevel = self.keyword_chainsfor i in range(len(chars)):if chars[i] in level:level = level[chars[i]]else:if not isinstance(level, dict):breakfor j in range(i, len(chars)):level[chars[j]] = {}last_level, last_char = level, chars[j]level = level[chars[j]]last_level[last_char] = {self.delimit: 0}breakif i == len(chars) - 1:level[self.delimit] = 0def parse(self, path):with open(path,encoding='gbk') as f:for keyword in f:self.add(str(keyword).strip())def filter(self, message, repl="*"):message = message.lower()ret = []start = 0while start < len(message):level = self.keyword_chainsstep_ins = 0for char in message[start:]:if char in level:step_ins += 1if self.delimit not in level[char]:level = level[char]else:ret.append(repl * step_ins)start += step_ins - 1breakelse:ret.append(message[start])breakelse:ret.append(message[start])start += 1return ''.join(ret)if __name__ == "__main__":gfw = DFAFilter()path="keywords.txt"gfw.parse(path)text=input("请输入文字:")# text="新疆骚乱苹果新品发布会雞八,操你妈逼的大傻逼你个哈哈哈胡爱思"result = gfw.filter(text)# print(text)print(result)time2 = time.time()print('总共耗时:' + str(time2 - time1) + 's')

3.TTMP网友自创算法(原理,code)

**

建立反垃圾信息(anti-spam)机制:**

我们经常会遇到一些垃圾信息,比如邮箱中收到的各种垃圾邮件、新浪微博的僵尸粉以及论坛中层出不穷的广告贴等等。有人会不停的去寻找网站的漏洞以及规则,使用机器发布这些垃圾广告从而达到营利目的。anti-spam主要是指通过技术手段对数据进行过滤和筛选,将我们认定为不合格的数据清理掉,将系统认为可疑的信息进行提示分类。anti-spam对审核工作也是一个相辅相成的内容。
先看看几个例子:

  • Facebook反垃圾实践
  • 知乎反作弊垃圾文本识别
  • 文本反垃圾在花椒直播中的应用概述
  • 【NLP文本分类】文本分类算法集锦,从入门到精通 ​

关于敏感词相关的github项目:

1.ToolGood.Words

2.text-antispam

3.textfilter

优质中文NLP资源集合:
包括语言检测、中外手机/电话归属地/运营商查询、名字推断性别、手机号抽取、身份证抽取、邮箱抽取,关于BERT的相关资源等等
https://github.com/fighting41love/funNLP

打开之后就会发现你需要的宝藏!

敏感词过滤及反垃圾文本的相关知识(欢迎收藏)相关推荐

  1. python爬取整个网站的广告敏感词_Python实现敏感词过滤的4种方法

    在我们生活中的一些场合经常会有一些不该出现的敏感词,我们通常会使用*去屏蔽它,例如:尼玛 -> **,一些骂人的敏感词和一些政治敏感词都不应该出现在一些公共场合中,这个时候我们就需要一定的手段去 ...

  2. python敏感词过滤replace_Serverless 实战:3 分钟实现文本敏感词过滤

    敏感词过滤是随着互联网社区一起发展起来的一种阻止网络犯罪和网络暴力的技术手段,通过对可能存在犯罪或网络暴力的关键词进行有针对性的筛查和屏蔽,能够防患于未然,将后果严重的犯罪行为扼杀于萌芽之中. 随着各 ...

  3. 38个敏感词_Serverless 实战:3 分钟实现文本敏感词过滤

    敏感词过滤是随着互联网社区一起发展起来的一种阻止网络犯罪和网络暴力的技术手段,通过对可能存在犯罪或网络暴力的关键词进行有针对性的筛查和屏蔽,能够防患于未然,将后果严重的犯罪行为扼杀于萌芽之中. 随着各 ...

  4. 转:鏖战双十一-阿里直播平台面临的技术挑战(webSocket, 敏感词过滤等很不错)...

    转自:http://www.infoq.com/cn/articles/alibaba-broadcast-platform-technology-challenges 鏖战双十一-阿里直播平台面临的 ...

  5. 架构:安全架构——信息过滤与反垃圾、风险控制。

    信息过滤与反垃圾 我国的信息过滤技术是走在世界前列的,尽管如此,在各种社区网站和个人邮箱中,广告和垃圾信息仍然屡见不鲜.泛滥成灾. 常用的信息过滤与反垃圾手段有以下几种. 文本匹配 文本匹配主要解决敏 ...

  6. python 敏感词过滤

    https://github.com/toolgood/ToolGood.Words 名为DFA的算法,即Deterministic Finite Automaton算法,翻译成中文就是确定有穷自动机 ...

  7. 5分钟Serverless实践 | 构建无服务器的敏感词过滤后端系统

    前言 在上一篇"5分钟Serverless实践"系列文章中,我们介绍了什么是Serverless,以及如何构建一个无服务器的图片鉴黄Web应用,本文将延续这个话题,以敏感词过滤为例 ...

  8. Java实现敏感词过滤 - IKAnalyzer中文分词工具

    IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包. 官网: https://code.google.com/archive/p/ik-analyzer/ 本用例借助 I ...

  9. python中哪些词是敏感字词_python实现敏感词过滤的几种方法

    1.replace过滤 最简单也是最直接的就是直接循环敏感词,然后使用replace过滤关键词,文章和敏感词少的时候还可以,多的时候效率就真的很一般了. 2.使用正则过滤 有两个技术要点, 1.使用P ...

  10. python骂人的程序_Python实现敏感词过滤的4种方法

    在我们生活中的一些场合经常会有一些不该出现的敏感词,我们通常会使用*去屏蔽它,例如:尼玛 -> **,一些骂人的敏感词和一些政治敏感词都不应该出现在一些公共场合中,这个时候我们就需要一定的手段去 ...

最新文章

  1. js格式化json格式的日期
  2. 广东省计算机大赛设计什么时候,2017年广东省大学生计算机设计大赛
  3. 计算机网络学习笔记-1.2.2OSI参考模型(1)
  4. android 动态壁纸
  5. 微拍堂推出“正义联盟计划” 助力文玩行业高质量发展
  6. 思科修复NSA报告的Nexus 交换机DoS漏洞及其它
  7. 【毕设】jsp+基于JB的人事管理系统(源代码+论文)
  8. Java编程测试1M内存可用来缓存多少对象
  9. linux workon 命令,安装python虚拟运行环境,linux下配置workon切换虚拟环境
  10. 华为手机投屏电脑_手机投屏干货分享:华为如何投屏到电视机?
  11. TFS无法连接:TF31002
  12. 2015年计算机二级office,2015年计算机二级MSoffice考试资料汇总.doc
  13. 无缝衔接的人会遭报应吗_怎么看待分手后无缝衔接的人?
  14. 【问链财经-区块链基础知识系列】 第四十五课 一文读懂保理业务的操作流程
  15. 2020 年全球程序员收入报告出炉,字节跳动工程师收入中国最高
  16. ‘https://start.spring.io‘ 的初始化失败请检查 URL、网络和代理设置。
  17. trove 创建实例源码分析
  18. linux中C编译命令,linux下命令行下编译c程式
  19. 数析三剑客 numpy pandas matplotlib 基础操作
  20. [Erlang] XML处理方案

热门文章

  1. 今日骑行路线里程。。。
  2. mediawiki搭建使用
  3. 华为H3CNE认证题库、教材-热门下载帖汇总!
  4. LTE学习-信道均衡(ZF)
  5. 思科模拟器的常用命令
  6. VMware虚拟机共享主机无线网络联网的设置方法
  7. 存储容量与地址空间的计算
  8. 别让CDN的回源把你的服务器拖垮
  9. 独木舟贪心算法c语言,算法:(贪心算法)-独木舟问题
  10. 联想扬天ACPI\LBAI0100未知设备的处理方法 此驱动为电源管理