阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

python轻松过滤处理脏话与特殊敏感词汇的方法

38次阅读
没有评论

共计 1436 个字符,预计需要花费 4 分钟才能阅读完成。

导读 我们开发的系统往往都离不开信息的处理, 这些信息有的内容非常敏感, 就需要过滤掉不容许出现

python 的其中一个强大之处就是它可以方便的集成很多的非标准库,今天在 GitHub 上溜达又发现了一个脏话处理神器,导入 better_profanity 库后,只需要几行代码就能搞定了,相当 nice!

使用 pip 的方式将 better_profanity 非标准库安装好,这个库好像在清华大学的镜像站中没有,其他镜像站不知道有没有,于是下载时没有使用镜像站,默认到官方去下载即可。

pip install better_profanity
# 将处理模块直接导入到代码块中
from better_profanity import profanity
1、默认脏话库 / 敏感词库处理

默认情况下就只能处理英文的脏话。

censored_text = profanity.censor("you are bitch")
print(censored_text)
# you are ****

可以看到其中 bitch 字符被认为是脏话已经处理成 **** 字符了。

当然,还可以将处理后的脏话字符换成别的字符代替,比如下面这样处理。

censored_text = profanity.censor("you are bitch",'-')
print(censored_text)
# you are ----

这样 **** 就被替换成了 —-。

2、自定义过滤信息处理
bad_words = ['Python', 'Java', 'Scala']  # 自定义过滤词汇
profanity.load_censor_words(bad_words)  # 加载自定义过滤词汇
censored_text = profanity.censor("Python is very Good !")  # 执行过滤
print(censored_text)
# **** is very Good !

可以发现,想要过滤的 python 字符已经成功过滤掉了。

3、contains_profanity 函数

contains_profanity 函数用来查看我们的语句中是否包含需要过滤的词汇,如果包含则会返回 True,否则返回 False。

bad_words = ['bitch', 'Java', 'Scala']  # 自定义过滤词汇
profanity.load_censor_words(bad_words)  # 加载自定义过滤词汇
censored_text = profanity.contains_profanity("you are bitch")
print(censored_text)
# True

结果为 True,表示包含需要过滤的词汇信息。

4、load_censor_words_from_file 函数

load_censor_words_from_file 函数用于加载需要过滤词汇的文件。

profanity.load_censor_words_from_file('/usr/load/bad_words.txt')

加载完词汇文件之后,按照之前的逻辑处理即可。

词汇文件的定义格式,按照每个词汇独占一行的形式进行定义,文件格式使用.txt 文本文档即可。

# bitch
# bitches
# bitchin
# bitching
# blowjob
# blowjobs
# blue waffle

到此这篇关于 python 轻松过滤处理脏话与特殊敏感词汇的文章就介绍到这了

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1436字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中