当前位置:   article > 正文

sensitive-word 敏感词之 StopWord 停止词优化与特殊符号_sensitive-stop-words

sensitive-stop-words

拓展阅读

敏感词工具实现思路

DFA 算法讲解

敏感词库优化流程

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

各大平台连敏感词库都没有的吗?

v0.10.0-脏词分类标签初步支持

v0.11.0-敏感词新特性:忽略无意义的字符,词标签字典

v0.12.0-敏感词/脏词词标签能力进一步增强

开源地址

为了便于大家学习,项目开源地址如下,欢迎 fork+star 鼓励一下老马~

sensitive-word

背景

默认收集的敏感词字典,实际上有非常多的重复信息。

比如说:

兼职
兼!职
兼@职
兼#职
兼¥职
  • 1
  • 2
  • 3
  • 4
  • 5

这种最核心的内容其实只有一个,如果将全部的停止词进行穷尽的话,将会使得敏感词构建的 Map 变得非常大,而且也没办法穷尽。

这种全部存储的方式非常的不灵活。

目的

所以这一节将停止词作为单独的内容,进行相关的处理。

核心目的如下:

(1)为敏感词库瘦身

(2)为后期 stop-word 支持做好准备工作。

优化思路

统一使用半角(默认的格式)处理。

停顿词的获取

  1. 过滤出所有的中文。-zh

  2. 持久化所有的符号 zchars

  3. 所有搜狗输入法对应的常见符号

停顿词可以不放在文件中,特殊符号直接定义为常亮即可,中文可以放在 txt 中。

特殊符号列表截断后直接放入进去,然后整体去重。

可以根据搜狗输入法,获取所有对应的信息。(常用的标点符号等等)

中文与符号的区分

  • 中文

  • 符号

初期主要使用的是符号相关。

停顿词中的数字独立出来

数字需要特殊处理。

数字提供一个类,单独处理。 (重要)

public static String nums1 = "⓪0零º₀⓿○" +
        "123456789" +
        "一二三四五六七八九" +
        "壹贰叁肆伍陆柒捌玖" +
        "¹²³⁴⁵⁶⁷⁸⁹" +
        "₁₂₃₄₅₆₇₈₉" +
        "①②③④⑤⑥⑦⑧⑨" +
        "⑴⑵⑶⑷⑸⑹⑺⑻⑼" +
        "⒈⒉⒊⒋⒌⒍⒎⒏⒐" +
        "❶❷❸❹❺❻❼❽❾" +
        "➀➁➂➃➄➅➆➇➈" +
        "➊➋➌➍➎➏➐➑➒" +
        "㈠㈡㈢㈣㈤㈥㈦㈧㈨" +
        "⓵⓶⓷⓸⓹⓺⓻⓼⓽" +
        "㊀㊁㊂㊃㊄㊅㊆㊇㊈";

    public static String nums2 = "0000000"+
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789" +
        "123456789";
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

对于敏感词库的简化

  1. 清除所有停顿词(此处仅仅为特殊符号),第一次去重的结果

  2. 移除所有纯数字

  3. 移除所有纯网址

  4. 移除乱码文字(编码错乱导致)

停止词获取

你可以直接下载对应的信息,后面会简单介绍整体的数据获取流程。

全量停止词是很多地方都可以下载的,我主要想通过其获取自己想要的停止词。

希望通过细化,便于后期使用。

获取全量

直接在 stopword.txt

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/972987
推荐阅读
相关标签
  

闽ICP备14008679号