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

目录
  • 1、默认脏话库/敏感词库处理
  • 2、自定义过滤信息处理
  • 3、contains_profanity函数
  • 4、load_censor_words_from_file函数

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轻松过滤处理脏话与特殊敏感词汇的文章就介绍到这了,更多相关python脏话处理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Python各大聊天系统的屏蔽脏话功能原理

    突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写看,结果还真玩出了点效果,思路是首先你得有一个脏话存放的仓库好到时候检测,那么个人还是喜欢用列表,因为列表灵活使用扩展都很方便,有了脏话库我们在来想核心怎么屏蔽脏话,你要记得玩家输入的弹幕数据类型是什么首档其次是字符串如果没有特殊要求就它了,万变不离其中总是这几个数据结构嘛,有了字符串替换*号什么的都轻松许多了对吧,今天所聊的是完整的一套结构,为了让大家更清晰学会,我会拆分代码然后在组装起来讲,这样大家就会有

  • 浅谈Python 敏感词过滤的实现

    一个简单的实现 class NaiveFilter(): '''Filter Messages from keywords very simple filter implementation >>> f = NaiveFilter() >>> f.add("sexy") >>> f.filter("hello sexy baby") hello **** baby ''' def __init__(self):

  • python实现过滤敏感词

    简述: 关于敏感词过滤可以看成是一种文本反垃圾算法,例如  题目:敏感词文本文件 filtered_words.txt,当用户输入敏感词语,则用 星号 * 替换,例如当用户输入「北京是个好城市」,则变成「**是个好城市」  代码: #coding=utf-8 def filterwords(x): with open(x,'r') as f: text=f.read() print text.split('\n') userinput=raw_input('myinput:') for i in

  • 利用Python正则表达式过滤敏感词的方法

    问题描述:很多网站会对用户发帖内容进行一定的检查,并自动把敏感词修改为特定的字符. 技术要点: 1)Python正则表达式模块re的sub()函数: 2)在正则表达式语法中,竖线"|"表示二选一或多选一. 参考代码: 以上这篇利用Python正则表达式过滤敏感词的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python 实现敏感词过滤的方法

    如下所示: #!/usr/bin/python2.6 # -*- coding: utf-8 -*- import time class Node(object): def __init__(self): self.children = None # The encode of word is UTF-8 def add_word(root,word): node = root for i in range(len(word)): if node.children == None: node.c

  • Python 实现王者荣耀中的敏感词过滤示例

    王者荣耀的火爆就不用说了,但是一局中总会有那么几个挂机的,总能看到有些人在骂人,我们发现,当你输入一些常见的辱骂性词汇时,系统会自动将该词变成"*",作为python初学者,就想用python来实现这一功能. 步骤很简单所以就用交互式演示 首先我们要知道王者荣耀有哪些敏感词汇,然后放到一个元组, 第二步用户接收输入的消息 第三步处理敏感词汇 最后输出处理后的消息. >>> words=('金币', '挂', '傻逼', '猪', '你妈') #创建一个敏感词汇库 &g

  • Python实现敏感词过滤的4种方法

    在我们生活中的一些场合经常会有一些不该出现的敏感词,我们通常会使用*去屏蔽它,例如:尼玛 -> **,一些骂人的敏感词和一些政治敏感词都不应该出现在一些公共场合中,这个时候我们就需要一定的手段去屏蔽这些敏感词.下面我来介绍一些简单版本的敏感词屏蔽的方法. (我已经尽量把脏话做成图片的形式了,要不然文章发不出去) 方法一:replace过滤 replace就是最简单的字符串替换,当一串字符串中有可能会出现的敏感词时,我们直接使用相应的replace方法用*替换出敏感词即可. 缺点: 文本和敏感词少

  • python用类实现文章敏感词的过滤方法示例

    过滤一遍并将敏感词替换之后剩余字符串中新组成了敏感词语,这种情况就要用递归来解决,直到过滤替换之后的结果和过滤之前一样时才算结束 第一步:建立一个敏感词库(.txt文本) 第二步:编写代码在文章中过滤敏感词(递归实现) # -*- coding: utf-8 -*- # author 代序春秋 import os import chardet # 获取文件目录和绝对路径 curr_dir = os.path.dirname(os.path.abspath(__file__)) # os.path

  • Python 敏感词过滤的实现示例

    目录 一个简单的实现 使用BSF(宽度优先搜索)进行实现 使用DFA(Deterministic Finite Automaton)进行实现 一个简单的实现 主要是通过循环和replace的方式进行敏感词的替换 class NaiveFilter(): '''Filter Messages from keywords very simple filter implementation >>> f = NaiveFilter() >>> f.parse("fil

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

    目录 1.默认脏话库/敏感词库处理 2.自定义过滤信息处理 3.contains_profanity函数 4.load_censor_words_from_file函数 python的其中一个强大之处就是它可以方便的集成很多的非标准库,今天在GitHub上溜达又发现了一个脏话处理神器,导入better_profanity库后,只需要几行代码就能搞定了,相当nice! 使用pip的方式将better_profanity非标准库安装好,这个库好像在清华大学的镜像站中没有,其他镜像站不知道有没有,于是

  • python字符串过滤性能比较5种方法

    python字符串过滤性能比较5种方法比较 总共比较5种方法.直接看代码: import random import time import os import string base = string.digits+string.punctuation total = 100000 def loop(ss): """循环""" rt = '' for c in ss: if c in '0123456789': rt = rt + c retu

  • python数组过滤实现方法

    本文实例讲述了python数组过滤实现方法.分享给大家供大家参考.具体如下: 这段代码可以按照指定的条件过滤数组内的元素,返回过滤后的数组 li = ["a", "mpilgrim", "foo", "b", "c", "b", "d", "d"] print [elem for elem in li if len(elem) > 1] pr

  • Java使用DFA算法实现过滤多家公司自定义敏感字功能详解

    本文实例讲述了Java使用DFA算法实现过滤多家公司自定义敏感字功能.分享给大家供大家参考,具体如下: 背景 因为最近有通讯有个需求,说需要让多家客户公司可以自定义敏感词过滤掉他们自定义的规则,选择了DFA算法来做,不过和以前传统了DFA写法不太一样了 模式图 直接上代码 public class KeywordFilter { // private static ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); public

  • 简单的python协同过滤程序实例代码

    本文研究的主要是python协同过滤程序的相关内容,具体介绍如下. 关于协同过滤的一个最经典的例子就是看电影,有时候不知道哪一部电影是我们喜欢的或者评分比较高的,那么通常的做法就是问问周围的朋友,看看最近有什么好的电影推荐.在问的时候,都习惯于问跟自己口味差不多的朋友,这就是协同过滤的核心思想. 这个程序完全是为了应付大数据分析与计算的课程作业所写的一个小程序,先上程序,一共55行.不在意细节的话,55行的程序已经表现出了协同过滤的特性了.就是对每一个用户找4个最接近的用户,然后进行推荐,在选择

  • 在Python中过滤Windows文件名中的非法字符方法

    网上有三种写法: 第一种(所有非法字符都不转义): def setFileTitle(self,title): fileName = re.sub('[\/:*?"<>|]','-',title)#去掉非法字符 self.file = open(fileName + ".txt","w+") \非法字符必须转义,否则\/被解释为/ 第二种(所有非法字符都转义): def validateTitle(title): rstr = r"[

  • python高效过滤出文件夹下指定文件名结尾的文件实例

    如下所示: import os def anyTrue(predicate, sequence): return True in map(predicate, sequence) def filterFiles(folder, exts): for fileName in os.listdir(folder): if os.path.isdir(folder + '/' + fileName): filterFiles(folder + '/' + fileName, exts) elif an

  • Python简单过滤字母和数字的方法小结

    本文实例讲述了Python简单过滤字母和数字的方法.分享给大家供大家参考,具体如下: 实例1 crazystring = 'dade142.!0142f[., ]ad' # 只保留数字 new_crazy = filter(str.isdigit, crazystring) print(''.join(list(new_crazy))) #输出:1420142 # 只保留字母 new_crazy = filter(str.isalpha, crazystring) print(''.join(l

随机推荐