敏感词处理工具优化:白名单支持单词增删
创作时间:
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());
小结
和黑名单的单个编辑类似,白名单的单个编辑功能可以避免重复初始化的问题,提升用户使用体验。
开源代码
热门推荐
《哪吒2》票房破114亿,成31省份影史冠军!奥斯卡评委力挺角逐奥斯卡
美丽的月见草,隐藏在路边的高颜值仙草
高考语文作文多少分 评分标准是怎样的
全国爱耳日科普|分泌性中耳炎与新生儿听力筛查
全面解析:如何正确食用燕窝以发挥更佳保健效果
薪酬福利系统中的福利部分应该如何设计才能最大化员工满意度?
书的版次不同内容一样吗
租赁公司租赁合同:法律要点与实践分析
月入3万,在大城市很难体面
早餐吃多少,吃什么,可以决定寿命长短?用哈佛大学的研究告诉你
稻盛和夫的“阿米巴经营”:全员参与的经营哲学
STM32 添加shell(命令解释器)及shell指令
3-羟基丙酸(3-HP)应用前景广阔 生物基3-羟基丙酸市场占比将不断提升
2025年IPO实务手册:从准备到上市全流程指南
2025年宁波房价能否逆势上涨?
年末结转的方法如何掌握?这种掌握方法有什么实际意义?
别再瞎充了!专家教你手机电池的最佳充电“黄金点”
答疑解惑 | 咖啡不只是“咖啡因兑水”
名下银行卡的查询法律要求有哪些
煤炭洗选加工过程中的粒度控制难点与对策
大气对太阳辐射的散射:揭秘天空色彩背后的光学原理
补钙会给血管“添堵”?补钙和血管钙化有关吗?
普通话证书有效期:长期有效,但这些情况需留意
老鴉柿养殖方法与管理
宁波:积极探索智慧警务建设的新路子,把无限“智”力作为破解治理难题的“金钥匙”
好喜欢你日语怎么说:深入解析表达爱意的日语用法
沃尔顿·沃克:美国陆军将领,曾参加过第二次世界大战
物业公司享有的权利和义务有哪些
如何判断牙齿矫正是否成功
非遗焕新 生生不息丨画笔一点 窑火千年 跟着青花瓷与世界相遇