敏感词检测

后面办法对很多关键词仍有较好的效率。

首先,关键词大多是2字到5字。
后面说法均以这个为基础,如果有更多字另算。
2字、3字、4字、5字各生成一个敏感词哈希表。
后面分开写了,合成一个数组也可以。
var ban2:Object = {某马:true,屏蔽:true,啦啦:true};
var ban3:Object = {某个马:true,三个字:true,啦啦啦:true,小广告:true};
var ban4:Object = {某个坏银:true,四个字符:true,哈哈哈哈:true,就爱凤姐:true};
var ban5:Object = {某个大法好:true,五个敏感字:true};

根据上面4组敏感词,自动生成以下索引
生成规则为,索引名是敏感词第一个字,值是一个int
该int的规则为,第i位为1表示上面4表存在长度为i的敏感词,否则不存在长度为i的敏感词
var index:Object = {二:0x04,三:0x08,四:0x10,五:0x20,某:0x3c,啦:0x0c,哈:0x10,小:0x08,就:0x10};

有一段如下文字,检验其是否包含敏感词:
“我就打小广告,气死版主”
规则如下:
1,逐字检验,是否该字在index索引表中。
2,如果不在表中,继续检验
3,如果在表中,根据索引表该键的值,取此字以及此字后的若干字检验详细表。
4,所谓“检测”某关键词str是否在索引表index的方法是,if(index[str]){}

检验例子
——检测“我”
  |-不在索引表
——检测“就”
  |-在索引表
  |-“就”的索引值是0x10,表示有4字以“就”开头的敏感词
  |-取“就”和后面的字共4个,组成“就打小广”
  |-查4字敏感词表,没有这项,继续
——检测“打”
  |-不在索引表
——检测“小”
  |-在索引表
  |-索引值是0x08,表示有3字长度的敏感词
  |-取“小”和“小”后面的字,共3个字组成一个词“小广告”
  |-“小广告”在3字敏感词中,此帖包含敏感词,禁止发布
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值