环境

  • python 3.8

  • better_profanity 0.6.1

前言

本篇介绍一个敏感词过滤的工具,better-profanity,它是基于 Ben Friedland 开发的 profanity,在其基础上,由原来的基于正则的方法改成了现在的字符串比对,速度上提升了不少,同时支持拼写上的一些修改,如 b*tchp0rn 等,不过可惜的是,目前这个库还不支持中文。

安装

使用 pip 安装,执行命令

pip install better_profanity==0.6.1

这里安装的是 0.6.1 版本,并非目前最新的 0.7.0,原因是在新版本中存在性能问题,具体的情况可以去 https://github.com/snguyenthanh/better_profanity/issues/19 了解

示例

来看个最简单的例子

from better_profanity import profanityif __name__ == "__main__":profanity.load_censor_words()text = "what a fcuk."censored_text = profanity.censor(text)print(censored_text)

代码执行后,输出

what a ****.

load_censor_words 会去导入一个文本文件 profanity_wordlist.txt,这是默认的敏感词,模块会根据这些基础敏感词,使用特定的算法(可以去读源码 better_profanity.py),衍生出一些常见的变种写法,所以在实际使用中,这个算法也需要一直保持更新

发现敏感词后,默认会将目标字符串用4个 * 号来代替,当然,这个也是可以更改的

from better_profanity import profanityif __name__ == "__main__":text = "You p1ec3 of sHit."censored_text = profanity.censor(text, '-')print(censored_text)

这样的话,就使用 - 来代替 *

如果是自己来维护一个敏感词文件,也是支持的,使用方法也是非常简单

from better_profanity import profanityif __name__ == "__main__":profanity.load_censor_words_from_file('/path/to/my/project/my_wordlist.txt')

如果想将某些词从敏感词中暂时剔除,可以使用白名单机制

from better_profanity import profanityif __name__ == "__main__":profanity.load_censor_words_from_file('/path/to/my/project/my_wordlist.txt', whitelist_words=['merry'])

更多详细资料可以参考官方文档 https://pypi.org/project/better-profanity/

Python实用模块专题

更多有用的 python 模块,请移步

https://xugaoxiang.com/category/python/modules/

使用 Python 进行敏感词过滤相关推荐

  1. python敏感词过滤代码简单_大型企业都在用,Python实现敏感词过滤

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

  2. Python实现敏感词过滤

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

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

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

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

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

  5. python敏感词过滤代码简单代码_Python实现敏感词过滤的4种方法

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

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

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

  7. dfa算法c语言,DFA跟trie字典树实现敏感词过滤(python和c语言)

    DFA和trie字典树实现敏感词过滤(python和c语言) 现在做的项目都是用python开发,需要用做关键词检查,过滤关键词,之前用c语言做过这样的事情,用字典树,蛮高效的,内存小,检查快. 到了 ...

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

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

  9. python敏感词过滤代码简单代码_Python 实现王者荣耀中的敏感词过滤示例

    Python 实现王者荣耀中的敏感词过滤示例 王者荣耀的火爆就不用说了,但是一局中总会有那么几个挂机的,总能看到有些人在骂人,我们发现,当你输入一些常见的辱骂性词汇时,系统会自动将该词变成" ...

最新文章

  1. linux发送email错误 501 Syntax: HELO hostname
  2. ArcEngine中实现对符号的预览图输出
  3. Oracle 11.2.0.4.0 Dataguard部署和日常维护(7) - Dataguard Flashback篇
  4. 【Python实例第28讲】核主成分
  5. C# 设定TextBox 只能输入正数/负数/小数 By KEYPRESS 事件
  6. matlab四元数傅里叶变换,四元数傅里叶变换
  7. ftp服务器上传大文件,关于大文件上传的FTP解决方案
  8. 常见电平转换电路设计参考
  9. WordPress死链自动收集方便提交到站长平台
  10. Java几种数据结构的先入先出和后入先出汇总
  11. 编程语言专题《开发篇,实参数组名与形参数组名》
  12. 豁然开朗篇:安卓开发中关于线程那些事(下篇)
  13. 阿里云盘正式公测!附下载地址及2T免费存储空间
  14. Ardupilot 串口代码学习
  15. 【ArcGIS微课1000例】0030:ArcGIS利用MXD doctor工具分析并修复mxd地图文档
  16. 36家互联网大厂真实薪资曝光!平均月薪 25k+
  17. 孝经白话:孝治章第八
  18. 企业为什么要去竞争?
  19. 模块式柔性自动环形生产线实验系统(工程型)
  20. 通过任务计划程序和Powershell脚本实现自动安装Windows补丁

热门文章

  1. Python脚本 - 自动合成PPT长图
  2. 诺基亚的移动互联网:手机变身移动PC
  3. cs1.5服务器fps不稳定,跪求高手:cs1.5的FPS怎样提高?重新 – 手机爱问
  4. 【oracle】ROWNUM用法总结
  5. 聊一聊程序员的认知偏见
  6. 微软发布用于Kafka生态系统的Azure Event Hub公开预览版
  7. 自然语言处理——word2vec项目实战—— NLP理论基础
  8. web 移动前端框架
  9. ubuntu软件中心和新立得软件包管理器下载路径
  10. NEON优化——OpenCV Resize双线性插值