Java基于DFA算法,实现敏感词过滤,敏感词替换

Java实现DFA算法敏感词过滤 Java实现DFA算法敏感词过滤。 文章目录一. 应用场景二. 实现思路三. 源码实现 一. 应用场景 模拟非法词汇自动替换成*字符,且敏感词汇支持动态调整。 效果如下,若配置了敏感词:今天,则当用户在输入:今天,天气真不错。实际应该输出:** **,天气真不错 ** 二. 实现思路 使用MySQL作为敏感词库 使用DFA算法实现文字过滤 Q:什么是DFA? DFA全称为:Deterministic Finite Automaton,即确定有穷自动机。其特征为:有一个有限状态集合和一些从一个状态通向. 阅读详情

地址:https://www.iteye.com/blog/fanshuyao-2394157

网盘地址:https://pan.baidu.com/s/1bns494t-tI0NWm3ZdBk9zA

内有工具类,敏感词库。

高效敏感词过滤JAVA实现(DFA算法) 5000字2ms 高效敏感词过滤JAVA实现(DFA算法) 5000字2ms 节点 + 2进制标识(节省空间/提高查询效率) 附源码、注释,附带专业敏感词库(3396个敏感词) 看得上就拿去用,替换下一两处util方法、改个路径即可 不求什么,用得好的话,记得有那么一个人提供就够了。 如遇问题,欢迎交流。 QQ 463550192 普通PC测试结果: 2015-5-1 加载时间 : 41542826ns 加载时间 : 41ms 解析字数 : 5000 解析时间 : 2295131ns 解析时间 : 2ms 立即下载

相关推荐

java。dfa算法实现敏感词过滤

java。dfa算法实现敏感词过滤

Java使用DFA算法实现敏感词过滤

Java使用DFA算法实现敏感词过滤

吴名氏的博客 13万+

java使用DFA算法实现敏感词过滤

java使用dfa算法实现敏感词过滤,此算法效率最高,附带了一个敏感词库,轻松搞定论坛网站的敏感词过滤问题。

Java实现DFA算法进行敏感词过滤

一、敏感词过滤数据文件 https://github.com/jkiss/sensitive-words 代码图数据文件如下: 二、敏感词实现原理基于二叉树排序 首先:query 日 ---> {本}、query 本 --->{人、鬼子}、query 人 --->{null}、query 鬼 ---> {子}。形如下结构: 三、敏感词过滤代码 封装工...

liuyaokai1990的博客 1368

DFA算法敏感庞屏蔽java实现

DFA算法敏感庞屏蔽java实现DFA算法敏感庞屏蔽java实现

高效敏感词过滤JAVA实现(DFA算法) 5000字2ms - 含词库

高效敏感词过滤JAVA实现(DFA算法) 5000字2ms 节点 + 2进制标识(节省空间/提高查询效率) 附源码、注释,附带专业敏感词库(3396个敏感词) 看得上就拿去用,替换下一两处util方法、改个路径即可 不求什么,用得好的话,记得有那么一个人提供就够了。 如遇问题,欢迎交流。 QQ 463550192 普通PC测试结果: 2015-5-1 加载时间 : 41542826ns 加载时间 : 41ms 解析字数 : 5000 解析时间 : 2295131ns 解析时间 : 2ms

Java 敏感词过滤(DFA有穷自动机)

敏感词匹配

tjk12345的博客 762

java利用DFA算法实现敏感词过滤功能

在最近的开发中遇到了敏感词过滤,便去网上查阅了很多敏感词过滤的资料,在这里也和大家分享一下自己的理解。下面这篇文章主要给大家介绍了关于java利用DFA算法实现敏感词过滤功能的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。

java使用DFA算法实现敏感词过滤,替换(txt版)

最近在开发过程中遇到了需要添加敏感词的地方,我这个方法是扫描项目目录下的resources下的txt完成敏感词过滤。 该方法只能过滤两个字或者两个字以上的敏感词。 首先是pom.xml文件 <groupId>com.odianyun.util</groupId> <artifactId>sensitive-words</artifactId> <version>1.0.2</version> <build> &lt

whatevery的博客 1211

Revit二次开发——不启动Revit,做rvt文件数据导出

Revit二次开发——不启动Revit,做rvt文件数据导出Node.js部分调用C#端供外部调用的dllC#部分调用RevitNet.dll,做数据导出exe做外部调用dll总结功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 N

Y.Jerome的专栏 4110

使用兮克 2.5G 交换机将北京联通 EPON 改为 ODI 猫棒接入

最近入手了兮克2.5G交换机(兮克SKS1200-8GPY1XF),有 8 个 2.5G 电口和 1 个 10G SFP+ 光口;支持多种组网模式,其中一种是支持使用猫棒接入,由路由器拨号后再回接到交换机,这样就可以替换掉光猫了。

啦啦啦啦 la 1万+

java使用DFA算法实现敏感词过滤,替换(数据库版)

最近在开发过程中遇到了需要添加敏感词的地方,我这个方法是扫描数据库的数据完成敏感词过滤。 我的文章中也有关于txt敏感词过滤的方法。 该方法只能过滤两个字或者两个字以上的敏感词。 首先,你可以去网上找一些关于敏感词的内容,放到数据库中,可以用个字段来进行判断这个敏感词是黑名单还是白名单内的。 黑名单中盛放的就是你所要用的敏感词,白名单就是对黑名单中的词的释放,如果你黑名单中有这个敏感词,你在白名单中也添加了这个词,这个词会被释放,不会当做敏感词进行过滤。 其次是pom.xml文件 <groupId&g

whatevery的博客 1145

深入MIPI DSI显示技术栈 (三) DSI vs CSI-2:孪生协议的本质差异

MIPI协议中的DSI与CSI-2存在本质差异:DSI为输出导向协议(Host→Display),用于屏幕控制和画面传输;CSI-2为输入导向协议(Sensor→Host),专攻图像采集。二者在包结构、同步机制、物理层优化等方面均有显著区别:DSI支持命令包和BLLP包,CSI-2具备嵌入式数据包;DSI时钟模式以Burst为主,CSI-2支持Continuous模式。典型场景中,二者协同工作(如手机相机预览),需注意时序同步和延迟控制。设计混合系统时,需合理规划虚拟通道和物理层资源,充分发挥这对&quot

GateWorld的博客 2105

java实现特殊词过滤功能-----------DFA算法

实现过程: 先自己准备要一个敏感词词库.txt文件,放到resource根目录下 工具类: package com.msis.micro.gp.business.app.mgr.utils; import java.util.*; /** * @Author Amy Tang * @Description: TODO * @Date 2020/5/28 上午 11:22 */ public class SensitivewordFilter { private Map&lt

*** 棋了个怪_Rachel *** 475

统信UOS服务器上,达梦DM8数据库安装避坑全记录(附大小写敏感设置)

本文详细介绍了在统信UOS服务器版上部署达梦DM8数据库的全过程,包括环境准备、安装流程、数据库实例初始化及关键参数配置,特别是大小写敏感设置的注意事项。提供了从系统配置到性能优化的完整指南,帮助用户避免常见问题,确保数据库稳定运行。

weixin_30647423的博客 331

基于STM32设计的遥控小车(手机APP+GPS+温湿度+ESP8266)

一、环境介绍 小车主控MCU: STM32F103ZET6 STM32程序开发IDE: keil5 STM32程序风格: 采用寄存器方式开发,注释齐全,执行效率高,方便移植 手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解) 硬件包含: 淘宝购买的完整一套4轮遥控小车(采用STM32F103ZET6作为主控板)、DHT11温湿度传感器、中科微GPS模块、ESP8266 ...

6万+

dfa算法 java_java实现敏感词过滤(DFA算法)

小Alan在最近的开发中遇到了敏感词过滤,便去网上查阅了很多敏感词过滤的资料,在这里也和大家分享一下自己的理解。在写之前,小Alan给大家推荐一篇来自http://cmsblogs.com/?p=1031的博文,也会参考部分内容来描述博文。敏感词过滤应该是不用给大家过多的解释吧?讲白了就是你在项目中输入某些字(比如输入xxoo相关的文字时)时要能检测出来,很多项目中都会有一个敏感词管理模块,在敏感...

weixin_30696571的博客 1022

【原创教程】西门子1500与施耐德伺服的通讯以及调试

该函数块主要描述伺服的手动,左边的引脚Forward是指伺服手动正转,Backward是指伺服手动反转,Fast是指手动的某个方向为快速运行,TipPos手册上描述为固定值,WaitTIme是指伺服手动的相应时间,VeloSlow指伺服手动正常慢速运动的速度,VeloFast指伺服手动快速运动的速度,Acceleration是指伺服手动的加速度,Decelertion是指伺服手动的减速度。该函数块用于伺服停止,左边的引脚Execute为伺服停止执行,Deceleration含义为减速,Axis为轴。

Qinmingyue13的博客 1374

ssm实现敏感词过滤

首先引入工具类:SensitiveWordsUtil 该工具类采用DFA算法,速度还是蛮快的,比我手写的快多了。 package com.kz.utils; import java.io.IOException; import java.util.*; public class SensitiveWordsUtil { /** * 最小匹配规则,如:敏感词库["中国","中...

qq_38023862的博客 2593

华为海思:大小海思的双轮驱动战略分析

大海思的定位清晰明确,即专注于为华为内部提供高性能、高集成度的芯片解决方案,以支持华为终端、服务器等业务的快速发展。小海思的产品线广泛,涵盖了广域物联、短距物联、手机穿戴、显示交互、智慧视觉、智慧媒体、MCU、模拟以及光模块等多个领域。通过提供多样化的芯片解决方案,小海思旨在满足外部客户的不同需求,拓展华为海思在芯片市场的份额和影响力。大海思的产品布局主要围绕华为的内部需求展开。在智能手机应用处理器方面,大海思的麒麟系列芯片已经成为华为手机的标志性产品,以其出色的性能和能效比赢得了市场的广泛认可。

dream it possible 2922

从统一入口到运营中枢:全面看懂 SAP for Me 的能力边界、使用方式与项目价值

SAP for Me 是 SAP 推出的统一工作平台,旨在整合原本分散在多个系统中的关键信息与操作。它将许可证管理、系统状态、支持工单、维护合同、产品路线图等核心功能集中到一个界面,为不同角色提供定制化视图。平台包含多个功能模块:Home 作为个性化工作台展示待办事项与风险;Calendar 整合各类维护事件与关键时间节点;Reporting 提供跨域分析与趋势洞察;Finance & Legal 管理订单、发票与合规事项;Portfolio & Products 则展示产品全景与路线图。该

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 119

Java实现敏感词过滤 - DFA算法

Java实现DFA算法进行敏感词过滤 封装工具类如下: 使用前需对敏感词库进行初始化: SensitiveWordUtil.init(sensitiveWordSet); package cn.swfilter.util; import java.util.*; /** * 敏感词处理工具 - DFA算法实现 * * @author sam * @since 2017/9...

CAD201213的博客 237

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

C#过滤敏感词DFA算法

今天游戏正好用到需要过滤敏感词将出现的敏感词替换成*,在网上找了许久找了一片可用的java版本的DFA算法,最后费了一番功夫将其思路用C#实现,里面的注释甚至都没改动的,这里直接上代码,这里不借助任何第三方工具,复制粘贴就是用 当然想看原博客的点击这里 using UnityEngine; using System.Collections.Generic; public class Tes...

qq_32169479的博客 1248

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java Map实现敏感词过滤 DFA算法

java Map实现敏感词过滤 DFA算法 首先,DFA算法是啥 我的理解是,我们现在所接触的网络空间,难免鱼龙混杂,一些特殊意义,或满是芬芳气息的词汇在大多数地方都会屏蔽掉,或者用无意义的符号替换。 举个例子就是王者荣耀聊天系统,你如果打字出现芬芳气息的词汇,就会给你的词汇替换成*,今天要实现的就是这样的功能。 一、你可以自己去网上找找敏感词的词库,把它拿来作为测试的对象。这里我是直接自己加多个敏感词作为测试使用,当然了下面我也提供一个词库。 ...

云先生呀 573

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

JAVA 关键字、敏感字 屏蔽过滤功能实现

/ BufferedReader是包装类,先把字符读到缓存里,到缓存满了,再读入内存,提高了读的效率。* 民 = {isEnd = 1}// 将敏感词库加入到HashMap中//确定有穷自动机DFA。// 如果为最后一个匹配规则,结束循环,返回匹配标识数。* 人 = {isEnd = 0。// 敏感词结束标识位:用于敏感词只有1位的情况。如果存在,则返回敏感词字符的长度,不存在返回0。// 读取文件,将文件内容放入到set中。

2501_90243484的博客 1037
上一篇: git 撤销刚提交的 commint
下一篇: Java 实现多图上传,返回图片地址字符串
听风动
博客等级 码龄8年 63粉丝 90原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听风动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值