Sensitive-word:基于 DFA 算法的高性能 Java 敏感词过滤工具

在内容审核、用户生成内容(UGC)平台或企业内部系统中,你是否曾为如何高效、准确地过滤敏感词而头疼?手动维护词库不仅繁琐,性能也难以保证。Sensitive-word 的出现,旨在彻底解决这个问题。它是一个基于 DFA(确定有限状态自动机)算法实现的 Java 敏感词过滤库,内置超过 6W+ 词库,性能高达 14W+ QPS,帮助开发者轻松实现文本内容的合规与安全过滤。本文将带你全面了解这个潜力新星。

截至收录:
Sensitive-word项目stars数:5638
Sensitive-word项目forks数:764

Sensitive-word项目目录截图

Sensitive-word项目核心亮点

  • 🚀 极致性能:基于高效的 DFA 算法实现,查询性能可达每秒 14 万次以上,对应用性能影响微乎其微。
  • 📦 开箱即用:提供优雅的 Fluent API,无需复杂配置,几行代码即可完成敏感词检测、替换、查找等核心操作。
  • 🔧 高度灵活与可扩展:支持用户自定义敏感词/白名单(支持动态更新)、自定义替换策略、丰富的文本格式转换(如繁简体、全半角)以及强大的插件化检测策略(邮箱、URL、IPv4等)。
  • 🏷️ 精细化管理:支持为敏感词打上分类标签(如政治、广告、色情),便于按场景进行差异化处理和统计分析。

Sensitive-word项目快速开始

只需几步,你就能在项目中集成并使用 sensitive-word
1. 安装
在你的 Maven 项目的 pom.xml 中添加依赖:
xml
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>sensitive-word</artifactId>
<version>0.29.4</version>
</dependency>

2. 运行你的第一个检测
“`java
import com.github.houbb.sensitive.word.core.SensitiveWordHelper;

public class Demo {
    public static void main(String[] args) {
        String text = "这是一段包含敏感词的测试文本。";
        // 判断是否包含敏感词
        boolean hasSensitiveWord = SensitiveWordHelper.contains(text);
        System.out.println("包含敏感词: " + hasSensitiveWord);
        // 替换敏感词为*
        String safeText = SensitiveWordHelper.replace(text);
        System.out.println("脱敏后: " + safeText);
    }
}
```
  1. 查看高级配置
    对于更复杂的场景,可以使用引导类进行精细化配置:
    java
    SensitiveWordBs wordBs = SensitiveWordBs.newInstance()
    .ignoreCase(true) // 忽略大小写
    .ignoreWidth(true) // 忽略全角半角
    .enableEmailCheck(true) // 启用邮箱检测
    .wordTag(WordTags.system()) // 使用系统内置标签
    .init();
    List<String> words = wordBs.findAll("你的文本");

Sensitive-word项目应用场景

  • 社交与社区平台:自动过滤用户发布的评论、帖子、私聊内容中的违规信息,营造清朗网络空间。
  • 游戏聊天系统:实时过滤游戏内公共频道、队伍聊天中的辱骂、广告等不良信息,提升玩家体验。
  • 电商与内容平台:对商品描述、用户评价、文章内容进行合规性检查,避免出现违禁推广或不良信息。
  • 企业办公与审计:在企业内部通讯、文档管理中过滤敏感信息,满足数据安全与合规审计要求。
  • 用户案例:该工具以其高性能和易用性,已被众多中小型互联网公司及个人开发者采纳,用于构建其内容安全防线。

Sensitive-word项目链接

houbb / sensitive-word项目地址:https://github.com/houbb/sensitive-word

本文地址:https://www.tgoos.com/33516

声明:本站资源均整理自互联网,版权归原作者所有,仅供学习交流使用,请勿直接商用,若需商用请购买正版授权。因违规使用产生的版权及法律责任由使用者自负。部分资源可能包含水印或引流信息,请自行甄别。若链接失效可联系站长尝试补链。若侵犯您的权益,请邮件(将 # 替换为 @)至 feedback#tgoos.com,我们将及时处理删除。转载请保留原文链接,感谢支持原创。