敏感词处理工具优化:白名单支持单词增删
创作时间:
2025-01-21 18:53:26
作者:
@小白创作中心
敏感词处理工具优化:白名单支持单词增删
敏感词处理是内容安全领域的重要技术之一,广泛应用于社交媒体、论坛等平台的文本过滤。本文介绍了一个开源敏感词处理工具的最新版本更新,重点介绍了白名单支持单个编辑的新特性。
敏感词系列工具简介
sensitive-word-admin敏感词控制台 v1.2.0 版本开源sensitive-word-adminv1.3.0 发布,支持分布式部署- 开源敏感词工具入门使用
- 如何实现一个敏感词工具?违禁词实现思路梳理
- 敏感词之 StopWord 停止词优化与特殊符号
- 敏感词之字典瘦身
- 敏感词之 DFA 算法(Trie Tree 算法)详解
- 敏感词过滤如何忽略无意义的字符以达到更好的过滤效果
- v0.10.0-脏词分类标签初步支持
- v0.11.0-敏感词新特性:忽略无意义的字符,词标签字典
- v0.12.0-敏感词/脏词词标签能力进一步增强
- v0.13.0-敏感词特性版本发布 支持英文单词全词匹配
- v0.16.1-敏感词新特性之字典内存资源释放
- v0.19.0-敏感词新特性之敏感词单个编辑,不必重复初始化
- v0.20.0 敏感词新特性之数字全部匹配,而不是部分匹配
- v0.21.0 敏感词新特性之白名单支持单个编辑,修正白名单包含黑名单时的问题
版本特性
- 优化白名单的匹配策略,避免长白名单时匹配到短的黑名单,不符合预期
- 白名单支持单个编辑
针对单个白名单词的新增/删除,无需全量初始化。这个特性在初始化之后,允许针对单个词的新增/删除,而不是完全重新初始化。支持版本为v0.21.0。
方法说明
addWordAllow(word):新增白名单,支持单个词/集合removeWordAllow(word):删除白名单,支持单个词/集合
使用例子
final String text = "测试一下新增敏感词白名单,验证一下删除和新增对不对";
SensitiveWordBs sensitiveWordBs =
SensitiveWordBs.newInstance()
.wordAllow(WordAllows.empty())
.wordDeny(new IWordDeny() {
@Override
public List<String> deny() {
return Arrays.asList("测试", "新增");
}
})
.init();
// 当前
Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());
// 新增单个
sensitiveWordBs.addWordAllow("测试");
sensitiveWordBs.addWordAllow("新增");
Assert.assertEquals("[]", sensitiveWordBs.findAll(text).toString());
// 删除单个
sensitiveWordBs.removeWordAllow("测试");
Assert.assertEquals("[测试]", sensitiveWordBs.findAll(text).toString());
sensitiveWordBs.removeWordAllow("新增");
Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());
// 新增集合
sensitiveWordBs.addWordAllow(Arrays.asList("新增", "测试"));
Assert.assertEquals("[]", sensitiveWordBs.findAll(text).toString());
// 删除集合
sensitiveWordBs.removeWordAllow(Arrays.asList("新增", "测试"));
Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());
// 新增数组
sensitiveWordBs.addWordAllow("新增", "测试");
Assert.assertEquals("[]", sensitiveWordBs.findAll(text).toString());
// 删除集合
sensitiveWordBs.removeWordAllow("新增", "测试");
Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());
小结
和黑名单的单个编辑类似,白名单的单个编辑功能可以避免重复初始化的问题,提升用户使用体验。
开源代码
热门推荐
如何了解棉花的市场价格?棉花价格的波动受哪些因素影响?
更新性别定义|当代女性处境
跪坐:一种古老的养生智慧
不锈钢密度大全:不同种类不锈钢密度数据及计算方法
2025年社会保险费申报指南:流程、要求与注意事项
如何改善围术期营养状况以促进患者术后早期恢复
PECVD文献研究进展:技术创新与应用领域探索
如何制定高效的采购计划表?
老年淋巴瘤诊疗现状与对策
负债率解析:如何正确理解和计算企业与个人的负债率?
AI工具助力简历制作:提升时间效率与专业性,打造更具吸引力的求职简历
港大团队整合医管局大数据,以机械学习预判精神科药物效果
新能源汽车国际品牌形象提升策略研究-基于比亚迪新能源汽车的实证研究
侧睡时肩膀痛,除了更换枕头,床垫更重要!|习惯侧睡的人如何选择床垫
AI技术突破,开启智慧社区
天然止咳:缓解呼吸道不适、促进健康的有效草药
七大罪是指哪七大罪?深入解讀與分析
如何做好会展项目管理
揭秘真正护眼手机选择指南:PWM高频调光vsDC调光深度解析
地动山摇:中国地震排名
探寻黑枸杞的神秘故乡(原产地、生长环境与药用价值)
食物里的“胆固醇清洁工”!抗动脉粥样硬化,保护心脑血管
四川国资委批准,蜀道集团拟再入主一家上市公司
84消毒液怎么用才安全?洗刷刷防疫指南发你了!
门店进销存管理:采购、销售与库存的完美协同
西芹炒肉丝——润肠通便补血益气
郭继承谈李逵:解析《水浒传》中的英雄形象与价值观
如何在期货交易中运用技术分析指标?这些指标的准确性如何评估?
鬼谷八荒绝影剑攻略分享
出现尿蛋白≠肾脏出问题,这4种情况不用吃药