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

公司做网站的流程总部在深圳的互联网公司

公司做网站的流程,总部在深圳的互联网公司,百度西安分公司地址,怎么把svg做网站背景开源项目 敏感词核心 https://github.com/houbb/sensitive-word 敏感词控台 https://github.com/houbb/sensitive-word-admin 版本特性 大家好,我是老马。 敏感词以前在实现的时候,没有返回底层实际匹配的词,有时候问题排查非常耗费时间。 …

开源项目

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

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

版本特性

大家好,我是老马。

敏感词以前在实现的时候,没有返回底层实际匹配的词,有时候问题排查非常耗费时间。

同时如果使用了一些字符的转换+跳过等,得到了一个匹配词,和定义的匹配词之间不同可能会比较奇怪。

所以 v0.25.1,

问题场景

issues/105

 final String text = "你好敏#!@感$!@词";List<WordTagsDto> wordList = wordBs.findAll(text, WordResultHandlers.wordTags());
[WordTagsDto{word='敏#!@感$!@词', tags=null}]final String text = "你好敏感词";List<WordTagsDto> wordList = wordBs.findAll(text, WordResultHandlers.wordTags());
[WordTagsDto{word='敏感词', tags=[0]}]

PR 111

当然,有小伙伴提交 PR 来解决这个问题

pull/111

但是实际上考虑的场景还是缺失了。

根本原因是什么

最根本的原因在于我们命中了一个词,但是以前只返回命中的文本,比如【敏#!@感$!@词】,但是我们只给【敏感词】定义标签。

如果想穷尽各种匹配后的枚举值,显然是不合理的。

所以我们需要知道匹配的黑名单词到底是什么。

解决方案

黑名单命中词

知道了这个述求,我们在原来的黑名单词处理时,额外返回对应的底层命中词。

内置 tags 调整

public class WordResultHandlerWordTags extends AbstractWordResultHandler<WordTagsDto> {@Overrideprotected WordTagsDto doHandle(IWordResult wordResult, IWordContext wordContext, String originalText) {WordTagsDto dto = new WordTagsDto();// 截取String word = InnerWordCharUtils.getString(originalText.toCharArray(), wordResult);// 获取 tags (使用清理后的单词查找标签)Set<String> wordTags = InnerWordTagUtils.tags(word, wordContext);// 如果为空,则尝试使用命中的敏感词匹配 v0.25.1 bug105if(CollectionUtil.isEmpty(wordTags)) {wordTags = InnerWordTagUtils.tags(wordResult.word(), wordContext);}dto.setWord(word);dto.setTags(wordTags);return dto;}}

为了让结果更加符合直觉,我们最初依然使用匹配的 word 去查看 tags。

如果没有,再用底层命中的黑名单去查询。

测试效果

敏感词 为底层实际的黑名单。

敏---感---词 为忽略字符后命中的返回文本。

@Test
public void testNoiseCharacterInTaggedWords() {Map<String, Set<String>> newHashMap = new HashMap<>();newHashMap.put("敏感词", new HashSet<>(Arrays.asList("政治", "领导人")));// 配置同时启用字符忽略和标签的实例SensitiveWordBs ignoreAndTagWordBs = SensitiveWordBs.newInstance().charIgnore(SensitiveWordCharIgnores.specialChars()) // 启用字符忽略.wordTag(WordTags.map(newHashMap)).init();// 包含噪音字符的敏感词文本final String noisyText = "你好敏---感---词";// 测试同时启用字符忽略和标签的实例(修复前会失败)List<WordTagsDto> fixedWord = ignoreAndTagWordBs.findAll(noisyText, WordResultHandlers.wordTags());Assert.assertEquals(1, fixedWord.size());Assert.assertEquals("敏---感---词", fixedWord.get(0).getWord());Assert.assertNotNull("标签不应为空", fixedWord.get(0).getTags());Assert.assertTrue("应包含'政治'标签", fixedWord.get(0).getTags().contains("政治"));Assert.assertTrue("应包含'领导人'标签", fixedWord.get(0).getTags().contains("领导人"));
}

小结

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

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

敏感词系列

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 新特性支持标签分类,内置实现多种策略

http://www.dtcms.com/wzjs/787728.html

相关文章:

  • 咸宁网站建设多少钱毕业设计代做网站都有哪些
  • 青岛网站建设推广服务郑州燚空间网络科技有限公司
  • 站长工具源码太原不错的互联网公司
  • 网站建设需要什么呢做网站怎样连数据库
  • 陕西做网站的公司电话怎么搭建小程序平台
  • 没有域名 有公网ip 建网站可以久久项目咨询有限公司
  • 网站优化建议书app推广的网站
  • 威海千淼网站建设不用编程做APP和响应式网站
  • 常州网站建设推荐免费源码大全无用下载
  • 做的新网站做百度推广怎么弄深圳公司排名前50
  • 网站开发维护需要哪些岗位开发投资集团
  • 台州建设公司网站种养殖 不得涉及
  • 十大免费网页制作平台提升网页优化排名
  • 网站设计制作软件不想用原来的网站模板了就用小偷工具采集了一个可是怎么替换
  • 汤阴有没有做网站的公司网站建设专家价格
  • 临沂网站seo网站开发工作 岗位怎么称呼
  • 海南建设网站公司云服务器哪家便宜
  • 制作一个网站都需要学什么阿里云网站建设素材
  • 深圳哪个招聘网站好wordpress关注作者
  • 汕头做网站公司哪家好怎么自创网页
  • 龙岗网站设计案例做科普网站
  • 网站权重的重要性河北廊坊建筑模板厂家
  • 东莞市建设企业网站企业目前还能去北京吗
  • 网站开发技术路线图视频做网站背景
  • 网页设计做网站wordpress 分类下的文章
  • 登录全球最大的域名注册商网站阿里云虚拟主机做企业网站
  • wordpress修改地址后网站打不开学校网站建设企业
  • 西安软件培训wordpress seo 模板
  • 四川省建设工程造价信息网站电商网站的建设与维护
  • 昆山建设局网站首页网站制作器手机版下载