首页 > 其他分享 >sensitive-word 敏感词/脏词开源工具-v.0.10.0-脏词分类标签支持

sensitive-word 敏感词/脏词开源工具-v.0.10.0-脏词分类标签支持

时间:2023-12-05 19:11:45浏览次数:47  
标签:10.0 脏词 word 标签 敏感 sensitive wordTag

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());;

后续会考虑引入一个内置的标签文件策略。

拓展阅读

敏感词工具实现思路

DFA 算法讲解

敏感词库优化流程

java 如何实现开箱即用的敏感词控台服务?

开源地址

其他很多特性以前介绍过,不再赘述。

感兴趣的话,前往开源地址:

https://github.com/houbb/sensitive-word

标签:10.0,脏词,word,标签,敏感,sensitive,wordTag
From: https://www.cnblogs.com/houbbBlogs/p/17877939.html

相关文章

  • python在word文件指定的文字下划线
    #coding:utf-8importosfromwin32com.clientimportDispatchdefget_string_index(substring,string):"""获取同一字符串中的多个相同字符串的起始索引:paramsubstring:需查找的字符串:paramstring:被查找的字符串:return:"""in......
  • 文字处理软件Word mac特点介绍
    MicrosoftWordmac是一款文字处理软件。它是Microsoft office 套件的一部分,已广泛用于创建、编辑和格式化文本文档。Wordmac软件特点改进的协作工具:使用MicrosoftWord2021,多个用户可以同时处理一个文档,从而更轻松地与同事或同学协作。增强的人工智能写作辅助:新版Word配备......
  • Python 实现Word转HTML
    将Word转换为HTML能将文档内容发布在网页上,这样,用户就可以通过浏览器直接查看或阅读文档而无需安装特定的软件。Word转HTML对于在线发布信息、创建在线文档库以及构建交互式网页应用程序都非常有用。以下是使用Python将Word转换为HTML网页的攻略,包含两个示例。使用Python将Word......
  • 安装mysql报错:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (
    @目录当前状态报错解决办法:当前状态目前已经启动好mysql服务:systemctlstartmysqldsystemctlstatusmysqld生成临时密码grep'temporarypassword'/var/log/mysqld.log报错出现了报错:ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpass......
  • python - 取消 Word 文档编辑限制
    1.安装Spire.DocforPythonpipinstallSpire.Doc2.实例目录内的所有Word文档移除编辑限制importosfromspire.docimport*fromspire.doc.commonimport*path='.\\test'forfilepath,dirnames,filenamesinos.walk(path):forfilenameinfilenames:......
  • NPOI word 文字背景色
    需求描述:当结论不合格时,文字的背景色需要为灰色,效果如下图核心代码,paragraph为XWPFParagraph段落。if(entity.Conclusion=="不合格"){XWPFRunrun=paragraph.Runs[0];CT_RPrctrpr=run.GetCTR().rPr;if(ctrpr==null){ctrpr=run.GetCTR()......
  • [LeetCode] 1160. Find Words That Can Be Formed by Characters
    Youaregivenanarrayofstringswordsandastringchars.Astringisgoodifitcanbeformedbycharactersfromchars(eachcharactercanonlybeusedonce).Returnthesumoflengthsofallgoodstringsinwords.Example1:Input:words=["cat&......
  • Add double quotes to surrounding a word/text
    InVIMforVScode,howtoaddapairofdoubleorsinglequotestosurroundanexistingword/text/numebr?I'vebeenwritingRcodeswithVScodeformanyyears(ThankstotheawesomeRpluginforVScode!).Sometimes,I'llcreateasetofcharacte......
  • vue 富文本编辑器 wangeditor 自定义上传图片 以及 解决 复制粘贴 word 没有图片的情
    本人比较喜欢用这一款编辑器,官方文档:(用于VueReact|wangEditor),很详细。我主要来说说怎么使用customPaste自定义粘贴的,怎么解决复制粘贴word,没有图片的情况。主要是关于wangeditor在vue2的使用效果图:先把完整代码放这里:<template><divclass="addpost_course"......
  • Navicat登陆Mysql8.0报“caching_sha_password”错误
    Navicat登陆Mysql8.0报“caching_sha_password”错误​​官方说明:​https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html解决方案:1.使用本地mysql命令行登录;2.修改登录验证方式--修改登录验证方式ALTERUSER'root'@'localhost'IDENTIF......