当前位置: 首页 > news >正文

敏感词 v0.27.0 新特性之词库独立拆分

创作背景

大家好,我是老马。

敏感词初期在实现的时候,为了用户开箱即用将词库与核心算法库放在一起。

有一些用户希望只用自己的词库,于是内置了各种自定义的策略方法。

但是还是不够,比如有些 andriod 研发希望内置包的信息是干净的,不要有任何敏感信息。

为了保障开箱即用+支持将文件排除,我们在将敏感词库独立为另外一个项目。

系统内置词库及如何排除

内置词库文件说明

v0.27.0 将词库和当前项目拆分开,词库可以在 https://github.com/houbb/sensitive-word-data 项目查看。

对应的资源文件在 https://github.com/houbb/sensitive-word-data/tree/main/src/main/resources 目录下

文件说明默认加载类
sensitive_word_allow.txt内置自定义白名单词库WordAllowSystem
sensitive_word_deny.txt内置自定义黑名单词库WordDenySystem
sensitive_word_dict.txt内置黑名单词库WordDenySystem
sensitive_word_dict_en.txt内置黑名单英文词库WordDenySystem
sensitive_word_tags.txt内置敏感词标签词库WordTagSystem

如何排除

比如一些 android app 引入时不希望包中内置敏感的信息,希望对词库加解密或者是放在服务端初始化加载。

系统的内置词库通过下面的 maven 依赖导入

<dependency><groupId>com.github.houbb</groupId><artifactId>sensitive-word-data</artifactId><version>${sensitive-word-data.version}</version>
</dependency>

依赖排除

所以可以按照 maven 排除规范,如下将其排除

<dependency><groupId>com.github.houbb</groupId><artifactId>sensitive-word</artifactId><version>${sensitive-word.version}</version><exclusions><exclusion><groupId>com.github.houbb</groupId><artifactId>sensitive-word-data</artifactId></exclusion></exclusions>
</dependency>

排除后自定义

不希望使用内置词库,那就需要将原来内置的词库依赖改为自己的依赖

默认配置项:

SensitiveWordBs sensitiveWordBs = SensitiveWordBs.newInstance().wordAllow(WordAllows.defaults()).wordDeny(WordDenys.defaults()).wordTag(WordTags.defaults()).init();

你可以将用到的这3个配置,改为自己的实现。

可以通过加解密,或者加载远程服务的文件信息都可以。

开源项目

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

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

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

小结

希望本文对你有所帮助,如果喜欢,欢迎点赞收藏转发一波。

我是老马,期待与你的下次相遇。

敏感词系列

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 敏感词新特性之白名单支持单个编辑,修正白名单包含黑名单时的问题

v0.23.0 敏感词新特性之结果条件拓展,内置支持链式+单词标签

v0.24.0 新特性支持标签分类,内置实现多种策略

v0.25.0 新特性之 wordCheck 策略支持用户自定义

v0.25.1 新特性之返回匹配词,修正 tags 标签

v0.27.0 敏感词库独立拆分

http://www.xdnf.cn/news/1151209.html

相关文章:

  • 数字图像处理(三:图像如果当作矩阵,那加减乘除处理了矩阵,那图像咋变):从LED冬奥会、奥运会及春晚等等大屏,到手机小屏,快来挖一挖里面都有什么
  • 《计算机网络》实验报告二 IP协议分析
  • leetcode3_435 and 605
  • 【Linux服务器】-zabbix通过proxy进行分级监控
  • 子线程不能直接 new Handler(),而主线程可以
  • sql练习二
  • 打靶日记之xss-labs
  • OpenCV 官翻 4 - 相机标定与三维重建
  • 如何设计一个软件项目管理系统:架构设计合集(六)
  • 小明记账簿焕新记:从单色到多彩的主题进化之路
  • Java并发8--并发安全容器详解
  • Springboot项目的搭建方式5种
  • Tomcat 生产 40 条军规:容量规划、调优、故障演练与安全加固
  • day25 力扣90.子集II 力扣46.全排列 力扣47.全排列 II
  • LVS(Linux virual server)
  • windows内核研究(驱动开发-0环与3环的通信)
  • Kotlin泛型约束
  • 多表查询-8-练习总结
  • 数据库练习3
  • Flowable31动态表单-----------------------终章
  • 博图SCL语言中常用运算符使用详解及实战案例(下)
  • OpenCV 官翻 3 - 特征检测 Feature Detection
  • 【无标题】重点阅读——如何在信息层面区分和表征卷曲维度,解析黑洞内部的维度区分机制
  • 《命令行参数与环境变量:从使用到原理的全方位解析》
  • 搭建比分网服务器怎么选数据不会卡顿?
  • lvs原理及实战部署
  • 【I2C】01.I2C硬件连接I2C总线时序图讲解
  • Go语言pprof性能分析指南
  • Temperature 是在LLM中的每一层发挥作用,还是最后一层? LLM中的 Temperature 参数 是怎么计算的
  • 操作系统-分布式同步