java敏感词过滤
提示:文章会写两种方法进行敏感词的过滤
前言
一、敏感词过滤的意义?
“敏感词过滤”是指对互联网发布的言论和文章中含有的敏感词进行过滤。敏感词经过在互联网的传播和扩散会影响社会的稳定和用户的使用。
二、数据库方式
1.创建数据库
DROP TABLE IF EXISTS `sensitive_words`;
CREATE TABLE `sensitive_words` (
`sw_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '敏感词id',
`sw_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '敏感词类型',
`sw_content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '敏感词内容',
`create_time` datetime(0) NOT NULL COMMENT '创建时间',
`create_by` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建者',
`update_time` datetime(0) NOT NULL COMMENT '更新时间',
`update_by` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '更新者',
`del_flag` tinyint(1) NOT NULL COMMENT '删除标志(0:正常,1:删除)',
PRIMARY KEY (`sw_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '敏感词库' ROW_FORMAT = Dynamic;
2.测试数据
INSERT INTO `sensitive_words` VALUES (1, '1', '共产党', '2021-04-06 11:52:11', '1', '2021-04-08 17:06:37', '', 0);
INSERT INTO `sensitive_words` VALUES (3, '3', '哈哈', '2021-04-07 13:45:43', '', '2021-04-07 14:19:23', '', 0);
INSERT INTO `sensitive_words` VALUES (8, '2', '艹', '2021-04-29 13:44:30', '1', '2021-04-19 11:08:50', '', 1);
INSERT INTO `sensitive_words` VALUES (18, '1', '国民党', '2021-04-27 09:17:05', '', '2021-04-27 09:17:05', '', 0);
)
3.sql
select * from sensitive_words a where '共产党国民党' regexp REPLACE(a.sw_content,',','|') ;
)
执行结果
三、数据库方式
1.敏感词文件以及帮助类
敏感词在 resources
帮助类自便
链接
:http://note.youdao.com/noteshare?id=2bc963b7d570b716db4c16aab90c5f92&sub=D4D74FCC3BF748E5BB7368A3A7584222
2.使用
KeyWordFilter.initPattern();
KeyWordFilter.doFilter(comment.getContent().toString());
在KeyWordFilter中,doFilter方法用来替换敏感词
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。