时间:2021-05-22
在我们生活中的一些场合经常会有一些不该出现的敏感词,我们通常会使用*去屏蔽它,例如:尼玛 -> **,一些骂人的敏感词和一些政治敏感词都不应该出现在一些公共场合中,这个时候我们就需要一定的手段去屏蔽这些敏感词。下面我来介绍一些简单版本的敏感词屏蔽的方法。
(我已经尽量把脏话做成图片的形式了,要不然文章发不出去)
方法一:replace过滤
replace就是最简单的字符串替换,当一串字符串中有可能会出现的敏感词时,我们直接使用相应的replace方法用*替换出敏感词即可。
缺点:
文本和敏感词少的时候还可以,多的时候效率就比较差了
import datetimenow = datetime.datetime.now()print(filter_sentence, " | ", now)如果是多个敏感词可以用列表进行逐一替换
for i in dirty: speak = speak.replace(i, '*')print(speak, " | ", now)方法二:正则表达式过滤
正则表达式算是一个不错的匹配方法了,日常的查询中,机会都会用到正则表达式,包括我们的爬虫,也都是经常会使用到正则表达式的,在这里我们主要是使用“|”来进行匹配,“|”的意思是从多个目标字符串中选择一个进行匹配。写个简单的例子:
import redef sentence_filter(keywords, text): return re.sub("|".join(keywords), "***", text)print(sentence_filter(dirty, speak))方法三:DFA过滤算法
DFA的算法,即Deterministic Finite Automaton算法,翻译成中文就是确定有穷自动机算法。它的基本思想是基于状态转移来检索敏感词,只需要扫描一次待检测文本,就能对所有敏感词进行检测。(实现见代码注释)
#!/usr/bin/env python# -*- coding:utf-8 -*-# @Time:2020/4/15 11:40# @Software:PyCharm# article_add: https:///qloog/sensitive_words以上就是Python实现敏感词过滤的4种方法的详细内容,更多关于python 敏感词过滤的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了PHP实现的敏感词过滤方法。分享给大家供大家参考,具体如下:1、敏感词过滤方法/***@todo敏感词过滤,返回结果*@paramarray$li
python字符串过滤性能比较5种方法比较总共比较5种方法。直接看代码:importrandomimporttimeimportosimportstringba
python记录程序运行时间的三种方法这里提供了python记录程序运行时间的三种方法,并附有实现代码,最后进行比较,大家参考下:方法1importdateti
使用filter函数,实现一个条件判断函数即可。比如想过滤掉字符串数组中某个敏感词,示范代码如下:#filteroutsomeunwantedtagsdefpa
本文实例讲述了laravel框架实现敏感词汇过滤功能。分享给大家供大家参考,具体如下:最近项目有需求,要对用户的签名,回复进行敏感词检测,然后搜到了一个好用的扩