烟台建设集团招聘信息网站,青岛百度公司总部,wordpress 乐趣公园,网页制作工具按其制作方式分 可以分为忽略字符
说明
我们的敏感词一般都是比较连续的#xff0c;比如 傻帽
那就有大聪明发现#xff0c;可以在中间加一些字符#xff0c;比如【傻!#$帽】跳过检测#xff0c;但是骂人等攻击力不减。
那么#xff0c;如何应对这些类似的场景呢#xff1f;
我们可以指定特…忽略字符
说明
我们的敏感词一般都是比较连续的比如 傻帽
那就有大聪明发现可以在中间加一些字符比如【傻!#$帽】跳过检测但是骂人等攻击力不减。
那么如何应对这些类似的场景呢
我们可以指定特殊字符的跳过集合忽略掉这些无意义的字符即可。
v0.11.0 开始支持
例子
其中 charIgnore 对应的字符策略用户可以自行灵活定义。
final String text 傻冒狗东西;//默认因为有特殊字符分割无法识别
ListString wordList SensitiveWordBs.newInstance().init().findAll(text);
Assert.assertEquals([], wordList.toString());// 指定忽略的字符策略可自行实现。
ListString wordList2 SensitiveWordBs.newInstance().charIgnore(SensitiveWordCharIgnores.specialChars()).init().findAll(text);Assert.assertEquals([傻冒, 狗东西], wordList2.toString());敏感词标签
说明
有时候我们希望对敏感词加一个分类标签比如社情、暴/力等等。
这样后续可以按照标签等进行更多特性操作比如只处理某一类的标签。
支持版本v0.10.0
入门例子
接口
这里只是一个抽象的接口用户可以自行定义实现。比如从数据库查询等。
public interface IWordTag {/*** 查询标签列表* param word 脏词* return 结果*/SetString getTag(String word);}配置文件
我们可以自定义 dict 标签文件通过 WordTags.file() 创建一个 WordTag 实现。
dict_tag_test.txt
五星红旗 政-治,国家格式如下
敏感词 tag1,tag2实现
具体的效果如下在引导类设置一下即可。
默认的 wordTag 是空的。
String filePath dict_tag_test.txt;
IWordTag wordTag WordTags.file(filePath);SensitiveWordBs sensitiveWordBs SensitiveWordBs.newInstance().wordTag(wordTag).init();Assert.assertEquals([政-治, 国家], sensitiveWordBs.tags(五星红旗).toString());;后续会考虑引入一个内置的标签文件策略。
更多资料
敏感词控台
有时候敏感词有一个控台配置起来会更加灵活方便。 java 如何实现开箱即用的敏感词控台服务 敏感词标签文件
梳理了大量的敏感词标签文件可以让我们的敏感词更加方便。
这两个资料阅读可在下方文章获取 v0.11.0-敏感词新特性 拓展阅读
敏感词工具实现思路
DFA 算法讲解
敏感词库优化流程
java 如何实现开箱即用的敏感词控台服务
各大平台连敏感词库都没有的吗
sensitive-word 敏感词/脏词开源工具-v.0.10.0-脏词分类标签支持
开源框架 sensitive-word