• 敏感词检测库ToolGood.Words中IllegalWordsSearch类使用简介


      C#开源敏感词检测库ToolGood.Words中的类IllegalWordsSearch为过滤非法词(敏感词)专用类,可设置跳字长度,支持全角转忽略大小、跳词、重复词、黑名单等功能,本文对照参考文献1,对该类的用法进行简要介绍。
      IllegalWordsSearch类中主要的属性、函数、事件如下表所示:

    序号名称类型说明
    1UseSkipWordFilter布尔型属性用于设置是否启用跳词,默认为true,跳词是指不参与文本检索的一组字符集合
    2SetSkipWords函数设置跳词字符串
    3UseDuplicateWordFilter布尔型属性用于设置是否启用重复词过滤,默认为true,需在调用SetKeywords函数前设置
    4UseDBCcaseConverter布尔型属性用于设置是否启用半角转化器,默认为true,需在调用SetKeywords函数前设置
    5UseIgnoreCase布尔型属性用于设置是否忽略大小写,默认为true,需在调用SetKeywords函数前设置
    6SkipWordFilterHandler代理 /事件自定义跳词处理函数,如果处理了该事件则优先使用事件处理函数返回结果判断是否需要跳词,如果没有设置事件处理函数,则使用 SetSkipWords 中设置的跳词字符串判断是否需要跳词
    7CharTranslate代理 /事件自定义字符转换处理函数,如果处理了该事件则优先使用自定义字符转换处理函数转换字符,没有的话则使用IllegalWordsSearch类自带的ToSenseWord函数转换字符
    8StringMatch代理 /事件自定义字符串匹配处理函数,如果处理了该事件,则获取敏感词检测结果后会调用该处理函数判断是否需要作为检测结果返回
    9SetKeywords函数设置搜索关键词
    10FindAll函数获取所有满足条件的检测结果,类型为IllegalWordsSearchResult的集合
    11FindFirst函数获取满足条件的首个检测结果,类型为IllegalWordsSearchResult
    12ContainsAny函数判断是否存在满足检测条件的关键词
    13Replace函数将满足检测条件的关键词替换为指定内容
    14SetBlacklist函数设置黑名单,这里设置的其实是每个关键词对应的黑名单类型(例如一般、重要、严重)的索引

      根据上述函数及属性定义,设计并开发了IllegalWordsSearch类的使用测试程序,主要代码及程序运行效果如下:

       IllegalWordsSearch ws = new IllegalWordsSearch();            
       ws.UseIgnoreCase = cbIngoreCase.Checked;
       ws.UseSkipWordFilter = cbSkip.Checked;
       ws.UseDuplicateWordFilter = cbCF.Checked;
       ws.SetKeywords(txtResearchWord.Text.Split(';', ';'));
       ws.SetSkipWords(txtSkipWords.Text);
       if(!string.IsNullOrEmpty(txtBlackList.Text))
       {
           m_blackList.AddRange(txtBlackList.Text.Split(';', ';'));
           List<int> blackListType = new List<int>();
           for(int i=0;i<m_blackList.Count;i++)
           {
               blackListType.Add(i);
           }
    
           ws.SetBlacklist(blackListType.ToArray());
       }
       
       List<IllegalWordsSearchResult> results = ws.FindAll(txtContent.Text);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在这里插入图片描述

    参考文献:
    [1]https://github.com/toolgood/ToolGood.Words

  • 相关阅读:
    DOM 文档对象模型(Document Object Model), W3C 组织推荐的处理可扩展标记语言的标准编程接口。
    js promise从入门到精通
    经典机器学习方法(4)—— 感知机
    linux运行jar
    一道桥牌明手题的思路与分析
    《痞子衡嵌入式半月刊》 第 63 期
    【LeetCode】图解算法数据结构+java代码实现(数据结构篇)
    Unity3D 检测鼠标位置的Sprite像素颜色
    [附源码]SSM计算机毕业设计新生入学计算机配号系统JAVA
    C++11 ——— 线程库
  • 原文地址:https://blog.csdn.net/gc_2299/article/details/127952548