sensitive-word 敏感词/脏词开源工具-v.0.10.0-脏词分类标签支持
sensitive-word
sensitive-word 基于 DFA 算法实现的高性能敏感词工具。
创作目的
实现一款好用敏感词工具。
基于 DFA 算法实现,目前敏感词库内容收录 6W+(源文件 18W+,经过一次删减)。
后期将进行持续优化和补充敏感词库,并进一步提升算法的性能。
希望可以细化敏感词的分类,感觉工作量比较大,暂时没有进行。
v0.10.0 先添加对应的脏词分类接口,后续有时间完善对应的实现和词典。
敏感词标签
说明
有时候我们希望对敏感词加一个分类标签:比如社情、暴/力等等。
这样后续可以按照标签等进行更多特性操作,比如只处理某一类的标签。
支持版本:v0.10.0
入门例子
接口
这里只是一个抽象的接口,用户可以自行定义实现。比如从数据库查询等。
public interface IWordTag {
/**
* 查询标签列表
* @param word 脏词
* @return 结果
*/
Set<String> 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());;
后续会考虑引入一个内置的标签文件策略。
拓展阅读
开源地址
其他很多特性以前介绍过,不再赘述。
感兴趣的话,前往开源地址:
sensitive-word 敏感词/脏词开源工具-v.0.10.0-脏词分类标签支持的更多相关文章
- arcconf工具操作手册V1.0
arcconf工具操作手册 1.1.1 arcconf工具初始化和去初始化硬盘 [命令功能] PMC阵列卡系统下初始化硬盘,可以将raw盘状态变成ready状态,以便进一步组建raid和设置热备盘: ...
- Excel催化剂开源第27波-Excel离线生成词云图
在数据分析领域,词云图已经成为在文本分析中装逼的首选图表,大家热烈地讨论如何在Python上做数据分析.做词云图. 数据分析从来都是Excel的主战场,能够让普通用户使用上的技术才是最有价值的技术,一 ...
- Atitit.atiInputMethod v2词库清理策略工具 q229
Atitit.atiInputMethod v2词库清理策略工具 q229 1.1. Foreigncode 外码清理1 1.2. 垃圾词澄清1 1.1. Foreigncode 外码清理 On ...
- NLTK学习笔记(八):文法--词关系研究的工具
[TOC] 对于一门语言来说,一句话有无限可能.问题是我们只能通过有限的程序来分析结构和含义.尝试将"语言"理解为:仅仅是所有合乎文法的句子的大集合.在这个思路的基础上,类似于 w ...
- 最新版本 Stable Diffusion 开源 AI 绘画工具之中文自动提词篇
目录 标签生成器 提示词自动补全 标签生成器 由于输入正向提示词 prompt 和反向提示词 negative prompt 都是使用英文,所以对学习母语的我们非常不友好 使用网址:https://t ...
- 词袋模型(BOW,bag of words)和词向量模型(Word Embedding)概念介绍
例句: Jane wants to go to Shenzhen. Bob wants to go to Shanghai. 一.词袋模型 将所有词语装进一个袋子里,不考虑其词法和语序的问题,即每个 ...
- 开发者和系统管理者最喜爱的开源工具Vim 起步学习的五个技巧
多年来,我一直想学 Vim.如今 Vim 是我最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具.我说的学习,指的是真正意义上的学习.想要精通确实很难,所以我只想要达到熟练的水平 ...
- GitHub 开源工具整理
技术站点 Hacker News:非常棒的针对编程的链接聚合网站 Programming reddit:同上 MSDN:微软相关的官方技术集中地,主要是文档类 infoq:企业级应用,关注软件开发领域 ...
- DevOps 开源工具
1. 开发工具 版本控制&协作开发 版本控制系统 Git Git 是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.开源中国 Git 代码托管平台:http:/ ...
- 60款与DevOps相关的开源工具
原文地址:https://elasticbox.com/blog/de ... ools/ 你喜欢免费的东西吗?获得开发者社区支持的自动化,开源的工具是大家梦寐以求的.这里列举了 60+ 款最棒的开源 ...
随机推荐
- spring-transaction源码分析(3)Transactional事务失效原因
问题概述 在Transactional方法中使用this方式调用另一个Transactional方法时,拦截器无法拦截到被调用方法,严重时会使事务失效. 类似以下代码: @Transactional ...
- [转帖]彻底搞明白 GB2312、GBK 和 GB18030
https://zhuanlan.zhihu.com/p/453675608 日常工作的过程中,关于字符编码的问题经常让人头疼不已,这篇文章就来捋一捋关于 GB2312.GBK.GB18030 相关的 ...
- [转帖]故障分析 | 让top命令直接显示Java线程名?-- 解析OpenJDK的一个bug修复
https://zhuanlan.zhihu.com/p/413136873 作者:阎虎青DBLE 开源项目负责人,负责分布式数据库中间件研发工作:持续专注于数据库方面的技术,始终在一线从事开发:对数 ...
- [转帖][MySQL 8.2.0] 从参数变化解读 MySQL 8.2.0 发版说明
https://www.mryunwei.com/482476.html 日前,MySQL 8.2.0 创新版本已正式上线,并提供安装包下载,但 docker 镜像尚未更新. 在 MySQL 8.1. ...
- CS231N Assigenment1 two_layer_net笔记
two_layer_net.ipynb 之前对 x.reshape(x.shape[0], -1)语句的输出结果理解一直有误: 1 x = [[1,4,7,2],[2,5,7,4]] 2 x = np ...
- Spring 应用合并之路(一):摸石头过河 | 京东云技术团队
公司在推进降本增效,在尝多种手段之后,发现应用太多,每个应用都做跨机房容灾部署,则最少需要 4 台机器(称为容器更合适).那么,将相近应用做一个合并,减少维护项目,提高机器利用率就是一个可选方案. 经 ...
- 华为云CCE Turbo:基于eBPF的用户自定义多粒度网络监控能力
本文分享自华为云社区<华为云CCE Turbo:基于eBPF的用户自定义多粒度网络监控能力>,作者: 云容器大未来. 基于eBPF的容器监控的兴起 容器具有极致弹性.标准运行时.易于部署等 ...
- 改变promise状态有三种resolve、reject、throw
let p = new Promise((resolve, reject) => { // 改变Promise的状态由三种 // resolve('第一种成功1'); // reject('第一 ...
- OpenIM Open Source Instant Messaging Project Docker Compose Deployment Guide
The deployment of OpenIM involves multiple components and supports various methods including source ...
- # github突破7k star 即时通讯(IM)开源项目OpenIM每周迭代版本发布
v2.0已经重构完毕,架构更清晰,代码更规范,邀请各位参与OpenIM社区建设有兴趣的同学可以加我私聊. 目前侧正在业务开发,已提供更多功能,包括群管理,阅后即焚,朋友圈,标签下发等. web端体验: ...