CN109446529A - 一种基于确定有穷自动机的敏感词检测方法和系统 - Google Patents
一种基于确定有穷自动机的敏感词检测方法和系统 Download PDFInfo
- Publication number
- CN109446529A CN109446529A CN201811307089.0A CN201811307089A CN109446529A CN 109446529 A CN109446529 A CN 109446529A CN 201811307089 A CN201811307089 A CN 201811307089A CN 109446529 A CN109446529 A CN 109446529A
- Authority
- CN
- China
- Prior art keywords
- sensitive
- sensitive word
- text
- finite automaton
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 14
- 238000001914 filtration Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000000746 purification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种基于确定有穷自动机的敏感词检测方法和系统,所述方法包括:构建敏感词库树;匹配敏感词。与现有技术相比,本申请的技术方案采用对比正则检查方式,其时间效率随着待检文本长度和敏感词库的敏感词数量的增加而大大降低。通过使用确定有穷自动机减少了运算量,大大提高敏感词过滤的效率。
Description
技术领域
一种敏感词检测方法和系统,特别涉及一种基于确定有穷自动机的敏感词检测方法和系统。
背景技术
随着互联网时代的到来,自由、共享、创新的互联网精神深深地影响着人们的生活和工作。互联网用户在网络上可以自由地获取知识、传播思想,而这一过程中最主要的方式是通过文字(互联网上亦称为文本)进行交流。相对于传统信息沟通交流方式(如信件、短信等),由于网络文本服务具有内容丰富、互动性强、实时性强的特点,被越来越多的网络用户使用。
基于文本的网络服务如即时通讯工具、社区论坛、电子商务、博客微博等网络服务已经渗透到社会的各个领域。然而,网民有意或无意会发布一些未经核实或者包含不良内容的信息,这些内容不但违反相关地区国家的法律法规,也极大的损害了公众利益,破坏了互联网环境。为了遵守法律法规和维护净化互联网环境,越来越多的网络服务或应用集成了关键词/敏感词过滤功能,其在网络文本服务中发挥着不可替代的作用。要保证网络文本服务的质量,提高用户的体验,希望网络文本服务平台在提供服务时具有较快的请求响应速度。因此,设计一个高效、准确度高的过滤检查方式是非常重要且必要的。
常见的敏感词检查过滤有以下两种方式。第一种是字典检查方式,这种方式主要将敏感词库的敏感词与待测文本进行逐一匹配,直到匹配完成为止。第二种方式是正则检查方式,这种方式是将敏感词库的所有词组构造成一个正则表达式,然后将正则表达式作用到文本消息,进而进行匹配检查。
字典检查方式需要反复将敏感词库中的敏感词与文本或者文本中可能出现的词组进行对比匹配,这种重复多次执行词库查找匹配大大地增加了时间消耗。对于正则检查方式,其时间效率随着待检文本长度和敏感词库的敏感词数量的增加而大大降低。
发明内容
本申请的目的在于克服上述问题或者至少部分地解决或缓解上述问题。
根据本申请的一个方面,提供了一种基于确定有穷自动机的敏感词检测方法,包括如下步骤:S2:构建敏感词库树;S4:匹配敏感词。
可选地,所述步骤4包括:S41:提取待检测文本中的待检测字符;S42:判断待检测字符是否为干扰词汇,当判断结果为是时,转为步骤下一步,否则返回false;S43:判断该字符在敏感词树中是否还有子节点,当判断结果为是时,转为下一步,否则返回true;S44:提取待检测文本中与待检测字符相邻的下一个字符作为待检测字符,并转为步骤S42。
可选地,所述步骤S2为:读取敏感词库,将敏感词构建成多个树结构;通过确定有穷自动机减少运算,提高敏感词过滤的效率。
可选地,所述步骤S4为:读取需要过滤的文本进行匹配,判断文本中是否存在敏感词。
根据本申请另一方面,提供了一种基于确定有穷自动机的敏感词检测系统,包括:敏感词库树构建装置,用于读取敏感词库,将敏感词构建成多个树结构;通过确定有穷自动机减少运算,提高敏感词过滤的效率;敏感词匹配装置,读取需要过滤的文本进行匹配,判断文本中是否存在敏感词。
根据本申请另一方面,提供了一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
根据本申请另一方面,提供了一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现上述任一项所述的方法。
根据本申请另一方面,提供了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。
与现有技术相比,本申请的技术方案采用对比正则检查方式,其时间效率随着待检文本长度和敏感词库的敏感词数量的增加而大大降低。通过使用确定有穷自动机减少了运算量,大大提高敏感词过滤的效率。
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是本申请一实施例中基于确定有穷自动机的敏感词检测方法的原理图;
图2是本申请一实施例中匹配敏感词的流程图;
图3是本申请一实施例中的二叉树构造示意图;
图4是本申请一实施例中的hash表构造图;
图5是本申请一实施例中计算机设备的示意图;
图6是本申请一实施例中计算机可读存储介质的示意图。
具体实施方式
请参照图1,本申请一实施例中,一种基于确定有穷自动机的敏感词检测方法,包括如下步骤:S2:构建敏感词库树;S4:匹配敏感词。
这里没有状态转换,没有动作,有的只是Query(查找)。我们可以认为,通过Squery U、V,通过U query V、P,通过V query U P。通过这样的转变我们可以将状态的转换转变为使用Java集合的查找。
请参照图2,在本申请一实施例中,所述步骤4包括:S41:提取待检测文本中的待检测字符;S42:判断待检测字符是否为干扰词汇,当判断结果为是时,转为步骤下一步,否则返回false;S43:判断该字符在敏感词树中是否还有子节点,当判断结果为是时,转为下一步,否则返回true;S44:提取待检测文本中与待检测字符相邻的下一个字符作为待检测字符,并转为步骤S42。
请参照图3,以王八蛋和王八羔子两个敏感词来进行描述,这两个词的二叉树构造如图所示。首先构建敏感词库,该词库名称为SensitiveMap,
请参照图4,为hash表构。
我们以“王八蛋”为文本,进行敏感词过滤。
1).在hashMap中查询“王”看其是否在hashMap中存在,如果不存在,则证明已“王”开头的敏感词还不存在。如果存在,跳至3。
2)如果在hashMap中查找到了,表明存在以“王”开头的敏感词,设置hashMap=hashMap.get("日"),跳至1,依次匹配“本”、“人”。
3)判断该字是否为该词中的最后一个字。若是表示敏感词结束,设置标志位isEnd=1,否则设置标志位isEnd=0;
通过使用确定有穷自动机减少运算,大大提高敏感词过滤的效率。
请参照图5,本申请还提供一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述的方法。
请参照图6,本申请还提供一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,其特征在于,所述计算机程序在由处理器执行时实现上述任一项所述的方法。
本申请还提供一种计算机程序产品,包括计算机可读代码,其特征在于,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。
与现有技术相比,本申请的技术方案采用对比正则检查方式,其时间效率随着待检文本长度和敏感词库的敏感词数量的增加而大大降低。通过使用确定有穷自动机减少了运算量,大大提高敏感词过滤的效率。
本申请中的方法的步骤虽然是按照数字顺序编号,但并不意味着各个步骤的执行顺序一定要按照数字的顺序进行。有些步骤之间可以是并列执行的关系,甚至可以颠倒顺序执行,都属于本申请所要求的保护的范围内。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种基于确定有穷自动机的敏感词检测方法,其特征在于,包括如下步骤:
S2:构建敏感词库树;
S4:匹配敏感词。
2.根据权利要求1所述的基于确定有穷自动机的敏感词检测方法,其特征在于,所述步骤4包括:
S41:提取待检测文本中的待检测字符;
S42:判断待检测字符是否为干扰词汇,当判断结果为是时,转为步骤下一步,否则返回false;
S43:判断该字符在敏感词树中是否还有子节点,当判断结果为是时,转为下一步,否则返回true;
S44:提取待检测文本中与待检测字符相邻的下一个字符作为待检测字符,并转为步骤S42。
3.根据权利要求2所述的基于确定有穷自动机的敏感词检测方法,其特征在于,所述步骤S2为:读取敏感词库,将敏感词构建成多个树结构;通过确定有穷自动机减少运算,提高敏感词过滤的效率。
4.根据权利要求3所述的基于确定有穷自动机的敏感词检测方法,其特征在于,所述步骤S4为:读取需要过滤的文本进行匹配,判断文本中是否存在敏感词。
5.一种基于确定有穷自动机的敏感词检测系统,其特征在于,包括:
敏感词库树构建装置,用于读取敏感词库,将敏感词构建成多个树结构;通过确定有穷自动机减少运算,提高敏感词过滤的效率;
敏感词匹配装置,读取需要过滤的文本进行匹配,判断文本中是否存在敏感词。
6.一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述的方法。
7.一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,其特征在于,所述计算机程序在由处理器执行时实现如权利要求1-4中任一项所述的方法。
8.一种计算机程序产品,包括计算机可读代码,其特征在于,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811307089.0A CN109446529A (zh) | 2018-11-05 | 2018-11-05 | 一种基于确定有穷自动机的敏感词检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811307089.0A CN109446529A (zh) | 2018-11-05 | 2018-11-05 | 一种基于确定有穷自动机的敏感词检测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109446529A true CN109446529A (zh) | 2019-03-08 |
Family
ID=65550848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811307089.0A Pending CN109446529A (zh) | 2018-11-05 | 2018-11-05 | 一种基于确定有穷自动机的敏感词检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109446529A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241389A (zh) * | 2019-12-30 | 2020-06-05 | 陕西数字基地出版传媒集团有限公司 | 基于矩阵的敏感词过滤方法、装置、电子设备、存储介质 |
CN111859093A (zh) * | 2020-07-30 | 2020-10-30 | 中国联合网络通信集团有限公司 | 敏感词处理方法、装置及可读存储介质 |
CN111914057A (zh) * | 2020-06-01 | 2020-11-10 | 杭州城市大数据运营有限公司 | 客服系统敏感词检测过滤方法和装置 |
CN112580344A (zh) * | 2020-12-22 | 2021-03-30 | 京东数字科技控股股份有限公司 | 信息监督方法、装置、设备、存储介质及程序产品 |
CN112861526A (zh) * | 2019-11-27 | 2021-05-28 | 上海鱼泡泡信息科技有限公司 | 一种敏感词匹配方法、装置、计算机设备和存储介质 |
CN113157904A (zh) * | 2021-03-30 | 2021-07-23 | 北京优医达智慧健康科技有限公司 | 基于dfa算法的敏感词过滤方法及系统 |
CN113407658A (zh) * | 2021-07-06 | 2021-09-17 | 北京容联七陌科技有限公司 | 在线客服场景下的文本内容敏感词过滤替换的方法及系统 |
CN115391524A (zh) * | 2022-08-05 | 2022-11-25 | 昆仑数智科技有限责任公司 | 敏感词检测方法、装置、计算机设备、存储介质及产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260357A (zh) * | 2015-10-14 | 2016-01-20 | 北京京东尚科信息技术有限公司 | 基于哈希有向图的敏感词检查方法和设备 |
US20170147682A1 (en) * | 2015-11-19 | 2017-05-25 | King Abdulaziz City For Science And Technology | Automated text-evaluation of user generated text |
CN107463666A (zh) * | 2017-08-02 | 2017-12-12 | 成都德尔塔信息科技有限公司 | 一种基于文本内容的敏感词过滤方法 |
CN107633062A (zh) * | 2017-09-20 | 2018-01-26 | 广州四三九九信息科技有限公司 | 敏感词查找方法、装置及电子设备 |
-
2018
- 2018-11-05 CN CN201811307089.0A patent/CN109446529A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260357A (zh) * | 2015-10-14 | 2016-01-20 | 北京京东尚科信息技术有限公司 | 基于哈希有向图的敏感词检查方法和设备 |
US20170147682A1 (en) * | 2015-11-19 | 2017-05-25 | King Abdulaziz City For Science And Technology | Automated text-evaluation of user generated text |
CN107463666A (zh) * | 2017-08-02 | 2017-12-12 | 成都德尔塔信息科技有限公司 | 一种基于文本内容的敏感词过滤方法 |
CN107633062A (zh) * | 2017-09-20 | 2018-01-26 | 广州四三九九信息科技有限公司 | 敏感词查找方法、装置及电子设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861526A (zh) * | 2019-11-27 | 2021-05-28 | 上海鱼泡泡信息科技有限公司 | 一种敏感词匹配方法、装置、计算机设备和存储介质 |
CN111241389A (zh) * | 2019-12-30 | 2020-06-05 | 陕西数字基地出版传媒集团有限公司 | 基于矩阵的敏感词过滤方法、装置、电子设备、存储介质 |
CN111241389B (zh) * | 2019-12-30 | 2024-03-22 | 西安鼎辉物联智能科技有限公司 | 一种基于矩阵的敏感词过滤方法、装置、电子设备、存储介质 |
CN111914057A (zh) * | 2020-06-01 | 2020-11-10 | 杭州城市大数据运营有限公司 | 客服系统敏感词检测过滤方法和装置 |
CN111859093A (zh) * | 2020-07-30 | 2020-10-30 | 中国联合网络通信集团有限公司 | 敏感词处理方法、装置及可读存储介质 |
CN112580344A (zh) * | 2020-12-22 | 2021-03-30 | 京东数字科技控股股份有限公司 | 信息监督方法、装置、设备、存储介质及程序产品 |
CN113157904A (zh) * | 2021-03-30 | 2021-07-23 | 北京优医达智慧健康科技有限公司 | 基于dfa算法的敏感词过滤方法及系统 |
CN113157904B (zh) * | 2021-03-30 | 2024-02-09 | 北京优医达智慧健康科技有限公司 | 基于dfa算法的敏感词过滤方法及系统 |
CN113407658A (zh) * | 2021-07-06 | 2021-09-17 | 北京容联七陌科技有限公司 | 在线客服场景下的文本内容敏感词过滤替换的方法及系统 |
CN115391524A (zh) * | 2022-08-05 | 2022-11-25 | 昆仑数智科技有限责任公司 | 敏感词检测方法、装置、计算机设备、存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109446529A (zh) | 一种基于确定有穷自动机的敏感词检测方法和系统 | |
US10679008B2 (en) | Knowledge base for analysis of text | |
US10354009B2 (en) | Characteristic-pattern analysis of text | |
CN110020422B (zh) | 特征词的确定方法、装置和服务器 | |
US10311050B2 (en) | Crowdsourced discovery of paths in a knowledge graph | |
CN109697367A (zh) | 显示区块链数据的方法、区块链浏览器、用户节点和介质 | |
US9164980B2 (en) | Name identification rule generating apparatus and name identification rule generating method | |
US9892191B2 (en) | Complex query handling | |
US10558687B2 (en) | Returning search results utilizing topical user click data when search queries are dissimilar | |
CN112784591B (zh) | 数据的处理方法、装置、电子设备和存储介质 | |
CN110008462B (zh) | 一种命令序列检测方法及命令序列处理方法 | |
CN112989235A (zh) | 基于知识库的内链构建方法、装置、设备和存储介质 | |
CN114491232B (zh) | 信息查询方法、装置、电子设备和存储介质 | |
CN110059480A (zh) | 网络攻击行为监控方法、装置、计算机设备及存储介质 | |
CN115470489A (zh) | 检测模型训练方法、检测方法、设备以及计算机可读介质 | |
CN114443802A (zh) | 一种接口文档处理方法、装置、电子设备和存储介质 | |
US10592568B2 (en) | Returning search results utilizing topical user click data when search queries are dissimilar | |
US20180293315A1 (en) | Device for multiple condition search based on knowledge points | |
US11694030B1 (en) | System and method for automatic theming of a plurality of thought objects | |
CN114579573B (zh) | 信息检索方法、装置、电子设备以及存储介质 | |
CN114584616B (zh) | 一种消息推送方法、装置、电子设备及存储介质 | |
US20230004989A1 (en) | Customer recognition system | |
CN118573403A (zh) | 风险网址检测方法及装置、电子设备和介质 | |
KR20230165010A (ko) | 닉네임 간 유사도를 이용하여 다중 접속계정을 탐지하기 위한 방법 및 장치 | |
CN114416678A (zh) | 一种资源处理方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190308 |
|
RJ01 | Rejection of invention patent application after publication |