美文网首页
敏感词 v0.19.0 新特性之敏感词单个编辑,不必重复初始化

敏感词 v0.19.0 新特性之敏感词单个编辑,不必重复初始化

作者: 老马啸西风2020 | 来源:发表于2024-09-18 09:36 被阅读0次

敏感词系列

sensitive-word-admin 敏感词控台 v1.2.0 版本开源

sensitive-word-admin v1.3.0 发布 如何支持分布式部署?

01-开源敏感词工具入门使用

02-如何实现一个敏感词工具?违禁词实现思路梳理

03-敏感词之 StopWord 停止词优化与特殊符号

04-敏感词之字典瘦身

05-敏感词之 DFA 算法(Trie Tree 算法)详解

06-敏感词(脏词) 如何忽略无意义的字符?达到更好的过滤效果

v0.10.0-脏词分类标签初步支持

v0.11.0-敏感词新特性:忽略无意义的字符,词标签字典

v0.12.0-敏感词/脏词词标签能力进一步增强

v0.13.0-敏感词特性版本发布 支持英文单词全词匹配

v0.16.1-敏感词新特性之字典内存资源释放

v0.19.0-敏感词新特性之敏感词单个编辑,不必重复初始化

v0.20.0 敏感词新特性之数字全部匹配,而不是部分匹配

v0.21.0 敏感词新特性之白名单支持单个编辑,修正白名单包含黑名单时的问题

view

业务背景

[功能]建议增加敏感词的单个增删改,避免重复初始化,提升效率。

针对单个黑名单词的新增/删除,无需全量初始化

使用场景:在初始化之后,我们希望针对单个词的新增/删除,而不是完全重新初始化。这个特性就是为此准备的。

支持版本:v0.19.0

方法说明

SensitiveWordBs 引导类新增如下 2 个方法:

addWord(word) 新增敏感词,支持单个词/集合

removeWord(word) 删除敏感词,支持单个词/集合

实例代码:

maven 引入

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>sensitive-word</artifactId>
    <version>0.19.0</version>
</dependency>

测试代码

final String text = "测试一下新增敏感词,验证一下删除和新增对不对";

SensitiveWordBs sensitiveWordBs =
SensitiveWordBs.newInstance()
        .wordAllow(WordAllows.empty())
        .wordDeny(WordDenys.empty())
        .init();

// 当前
Assert.assertEquals("[]", sensitiveWordBs.findAll(text).toString());

// 新增单个
sensitiveWordBs.addWord("测试");
sensitiveWordBs.addWord("新增");
Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());

// 删除单个
sensitiveWordBs.removeWord("新增");
Assert.assertEquals("[测试]", sensitiveWordBs.findAll(text).toString());
sensitiveWordBs.removeWord("测试");
Assert.assertEquals("[]", sensitiveWordBs.findAll(text).toString());

// 新增集合
sensitiveWordBs.addWord(Arrays.asList("新增", "测试"));
Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());
// 删除集合
sensitiveWordBs.removeWord(Arrays.asList("新增", "测试"));
Assert.assertEquals("[]", sensitiveWordBs.findAll(text).toString());

// 新增数组
sensitiveWordBs.addWord("新增", "测试");
Assert.assertEquals("[测试, 新增, 新增]", sensitiveWordBs.findAll(text).toString());
// 删除集合
sensitiveWordBs.removeWord("新增", "测试");
Assert.assertEquals("[]", sensitiveWordBs.findAll(text).toString());

小结

单个敏感词的调整可以大幅度提升性能,降低使用成本。

开源代码

敏感词 https://github.com/houbb/sensitive-word

敏感词 https://github.com/houbb/sensitive-word-admin

相关文章

  • 啥是敏感词?

    敏感词 敏感词 敏感词 敏感词 敏感词 敏感词 敏感词 敏感词 ** **对不起,您搜索的内容已被屏蔽…… 大部分...

  • 敏感词

    在QQ兴趣部落里点评时写了“小事应让步,对父母、子女的态度要讲原则”,居然出现系统的提示:内容中有敏感词,不允许发...

  • 敏感词

    现在的网络特别发达,言论自由也大了,但是网络关键词有时也让人无可奈何。 上次我在空间里发了个关键词“吹箫”。结果被...

  • 敏感词

    假作真时真亦假, 真为假处假成真。 皆言生变归"计划", 又叹妖顽是"元根"。 "才厚"数典轻法义, "俊山"为利...

  • 敏感词

    一个时代有一个时代的语言特色,一个地方有一个地方的敏感词。网络上既有大众追捧的热词,也有小众的忌讳。婚丧嫁娶不...

  • 敏感词

    一个词,是一个娃 本无高低贵贱 有些娃 被穿上“敏感”的外衣 推下深渊 求救声在山谷里回荡 2019.4.19.

  • 敏感词

    好几次遇到敏感词的问题,不知道哪些是敏感词呢?瑜伽老师说某炎,卖东西说某宝,课件中文章中出现什么词是敏感词呢?

  • 信息过滤与反垃圾

    手段: 1.文本匹配 进行敏感词过滤,维护一个敏感词列表,用户发表的信息中含有敏感词,则进行消毒处理(将敏感词转换...

  • iOS 敏感词过滤 (OC与Swift版本都有)

    iOS 敏感词过滤:用*代替敏感词 实现效果举例: 敏感词为 : 123 “哈哈123456哈哈123呵呵” 被转...

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

    Java实现DFA算法进行敏感词过滤 封装工具类如下: 使用前需对敏感词库进行初始化: SensitiveWord...

网友评论

      本文标题:敏感词 v0.19.0 新特性之敏感词单个编辑,不必重复初始化

      本文链接:https://www.haomeiwen.com/subject/utdnljtx.html