sensitive-word 敏感词/脏词开源工具-v.0.10.0-脏词分类标签支持

sensitive-word

sensitive-word 基于 DFA 算法实现的高性能敏感词工具。

创作目的

实现一款好用敏感词工具。

基于 DFA 算法实现,目前敏感词库内容收录 6W+(源文件 18W+,经过一次删减)。

后期将进行持续优化和补充敏感词库,并进一步提升算法的性能。

希望可以细化敏感词的分类,感觉工作量比较大,暂时没有进行。

v0.10.0 先添加对应的脏词分类接口,后续有时间完善对应的实现和词典。

敏感词标签

说明

有时候我们希望对敏感词加一个分类标签:比如社情、暴/力等等。

这样后续可以按照标签等进行更多特性操作,比如只处理某一类的标签。

支持版本:v0.10.0

入门例子

接口

这里只是一个抽象的接口,用户可以自行定义实现。比如从数据库查询等。

java 复制代码
public interface IWordTag {

    /**
     * 查询标签列表
     * @param word 脏词
     * @return 结果
     */
    Set<String> getTag(String word);

}

配置文件

我们可以自定义 dict 标签文件,通过 WordTags.file() 创建一个 WordTag 实现。

  • dict_tag_test.txt

    五星红旗 政治,国家

格式如下:

复制代码
敏感词 tag1,tag2

实现

具体的效果如下,在引导类设置一下即可。

默认的 wordTag 是空的。

java 复制代码
String filePath = "dict_tag_test.txt";
IWordTag wordTag = WordTags.file(filePath);

SensitiveWordBs sensitiveWordBs = SensitiveWordBs.newInstance()
        .wordTag(wordTag)
        .init();

Assert.assertEquals("[政治, 国家]", sensitiveWordBs.tags("五星红旗").toString());;

后续会考虑引入一个内置的标签文件策略。

拓展阅读

敏感词工具实现思路

DFA 算法讲解

敏感词库优化流程

java 如何实现开箱即用的敏感词控台服务?

开源地址

其他很多特性以前介绍过,不再赘述。

感兴趣的话,前往开源地址:

github.com/houbb/sensi...

相关推荐
CoderJia程序员甲4 小时前
GitHub 热榜项目 - 日榜(2026-1-12)
ai·开源·大模型·github·ai教程
蝎蟹居9 小时前
GBT 4706.1-2024逐句解读系列(26) 第7.6条款:正确使用符号标识
人工智能·单片机·嵌入式硬件·物联网·安全
GISer_Jing9 小时前
AI Agent 智能体的“深度思考”与“安全防线”
人工智能·学习·安全·aigc
DBA小马哥9 小时前
金仓数据库引领国产化替代新范式:构建高效、安全的文档型数据库迁移解决方案
数据库·安全·mongodb·dba·迁移学习
企业对冲系统官10 小时前
基差风险管理系统日志分析功能的架构与实现
大数据·网络·数据库·算法·github·动态规划
卓豪终端管理10 小时前
BYOD时代的安全革命:工作空间隔离如何重塑企业移动管理
安全
duyinbi751712 小时前
改进YOLO13模型:C3k2与PPA优化在油田工人安全装备检测与行为识别中的应用
人工智能·安全·目标跟踪
企业对冲系统官13 小时前
基差风险管理系统集成说明与接口规范
大数据·运维·python·算法·区块链·github
凯丨14 小时前
使用 frp 实现内网穿透:让本地服务器安全暴露到公网
运维·服务器·安全
企业对冲系统官14 小时前
大宗商品风险对冲系统统计分析功能的技术实现
运维·python·算法·区块链·github·pygame