python 敏感词识别处理

news/2024/9/30 18:00:30

定义词库

1、敏感词库(black_word.txt)
2、jeiba 分词库(jieba_db_file.txt)
(我这简单的就用文本来记录了,可以将这些词库都通过数据库来存储,对企业来说通过可视化页面去增删改可能会更方便运营处理)
txt

代码示例

import os
import jiebablack_word_list = list()def load_word(file_path):# fixme: 有条件的通过数据库来缓存,将敏感词库加载到缓存数据库中,而不是内存缓存,这样能减少资源占用assert os.path.isfile(file_path), "load_word fail. [{}] file not exist!".format(file_path)with open(file_path, 'r', encoding='utf-8') as wf:_lines = wf.readlines()tmp_list = [w.strip() for w in _lines if w.strip() != '']return tmp_listdef set_jieba_db_cache(jieba_db_file):jieba.load_userdict(jieba_db_file)def algorithm_word_jieba_cut(content, replace_word="***"):"""敏感词识别算法结巴分词:param content:         原始文本:param replace_word:    敏感词替换的字符:return: (识别到的敏感词列表, 原始文本被处理后的内容)"""global black_word_listfilter_word_list = []content_word_list = jieba.cut(content)  # 将内容通过jieba库进行分词tmp_rnt_content = ''last_not_black = True  # 记录上一次是否敏感词for word in content_word_list:if word in black_word_list:  # 跟敏感词库进行比较print("black_word = {}".format(word))filter_word_list.append(word)if last_not_black:tmp_rnt_content += replace_wordlast_not_black = Falseelse:tmp_rnt_content += wordlast_not_black = Truereturn list(set(filter_word_list)), tmp_rnt_contentdef _init():global black_word_list# 设置jieba词库jieba_db_file = r"G:\info\jieba_db_file.txt"set_jieba_db_cache(jieba_db_file)# 加载敏感词库file_path = r"G:\info\black_word.txt"black_word_list = load_word(file_path)def main():_init()  # 初始化content_str = ""result = algorithm_word_jieba_cut(content_str, replace_word="***")if __name__ == '__main__':main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66587.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

刷题系统重构--添加vip功能

c端系统往往都具有vip功能作为主要盈利点,那咱们的刷题微服务系统肯定也该有,但是系统设计的时候就没有vip系统,今天构思了一下把原有代码重构了一下, 首先,根据原料的题目表建一张vip题目表,可以用来只存储vip题目,或者01区分vip题目,重构了一下新增题目,加了一项添加…

Windows 中的硬链接、目录联接(软链接)、符号链接、快捷方式

在Linux文件系统中经常提及硬链接(Hard Link)和符号链接(Symbolic Link),Windows中也可以创建链接,但由于丰富的图形界面操作,很少提及链接。Windows 的 NTFS 文件系统支持三种链接:硬链接(Hard Link)、符号链接(Symbolic Link)和目录链接(junction point),此外还有一个大…

ehviewer绿色版1.9.5.2最新2024ios苹果安卓

随着科技的不断发展,手机已经成为我们生活中不可或缺的一部分。在这个数字化时代,人们对于娱乐方式的需求也在逐渐改变。其中,漫画作为一种受欢迎的阅读形式,已经从传统的纸质书籍转变为数字版。而今天,我要为大家介绍的这款软件——ehviewer绿色版1.9.5.2,正是为了满足广…

建筑中的文化表达与地方特色:演绎地域之魂

在浩瀚的城市风貌中,每一座建筑都是文化的载体,无声地讲述着地域的故事与精神。建筑不仅需要满足功能需求,更应成为文化传承与创新的舞台。本文旨在深度剖析建筑设计如何在尊重与弘扬地方文化的基础上,巧妙融合现代元素,创造出既有时代感又不失根源性的建筑作品。 1. 深入…

确保 PbootCMS 网站能够正常运行,并且成功安装和授权模板

准备 PHP 环境确认 PHP 版本使用命令行或 SSH 登录服务器,运行以下命令检查 PHP 版本:shphp -v确认版本为 5.3+。上传 PbootCMS 文件使用 FTP 客户端使用 FTP 客户端(如 FileZilla、WinSCP 等)连接到服务器。 将 PbootCMS 的所有文件上传到服务器的根目录(通常是 public_h…

解决 PbootCMS 网站程序提示“执行 SQL 发生错误

步骤一:清理缓存文件打开 FTP 客户端使用常用的 FTP 客户端(如 FileZilla、WinSCP 等)连接到服务器。找到 runtime 文件夹在 FTP 客户端中找到 PbootCMS 的安装目录,通常是在 public_html 或 www 目录下。删除 runtime 文件夹中的内容进入 runtime 文件夹,删除其中的所有文…

有效地解决 PbootCMS 网站程序提示“执行 SQL 发生错误!错误:DISK I/O ERROR”的问题,并确保系统的稳定运行

打开 FTP 客户端使用 FTP 客户端连接到服务器。找到 runtime 文件夹在 FTP 客户端中找到 PbootCMS 的安装目录,例如: /var/www/html/pbootcms删除 runtime 文件夹中的内容进入 runtime 文件夹,删除其中的所有文件和子文件夹。升级程序备份现有数据使用 FTP 客户端备份整个网…

FME Desktop/Form for Linux快速安装

太长不看:FME Flexnet Server许可证管理器快速安装包,适用于FME Desktop/Form/Engine/Server:com.safe.fme-flexnet-bbs-20240923.zip小问题1:由于ArcGIS的一些函数库是Windows下专有的,所以ArcGIS的一些专有格式,FME for Linux是无法处理的。小问题2:FME for Linux没有…