From af2803ef1f0aae19c2133350f94aa3536d44bdbc Mon Sep 17 00:00:00 2001 From: richjohnrambo Date: Mon, 7 Sep 2026 21:43:26 +0800 Subject: [PATCH] =?UTF-8?q?data:=20=E5=A2=9E=E5=8A=A0=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E6=95=8F=E6=84=9F=E8=AF=8D=E6=B5=8B=E8=AF=95=E8=AF=8D=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/generate/im_sensitive_word_seed.sql | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 server/storage/data/generate/im_sensitive_word_seed.sql diff --git a/server/storage/data/generate/im_sensitive_word_seed.sql b/server/storage/data/generate/im_sensitive_word_seed.sql new file mode 100644 index 0000000..c895f1d --- /dev/null +++ b/server/storage/data/generate/im_sensitive_word_seed.sql @@ -0,0 +1,112 @@ +-- Seed a compact, high-confidence Chinese moderation lexicon for tenant 1. +-- Category references: +-- https://github.com/konsheng/Sensitive-lexicon +-- https://github.com/fwwdn/sensitive-stop-words +-- This script is idempotent and restores matching soft-deleted seed rows. + +SET NAMES utf8mb4; +SET @tenantId := 1; +SET @now := NOW(3); + +INSERT INTO `im_sensitive_word_groups` + (`tenant_id`, `group_code`, `group_name`, `priority`, `status`, `remark`, `created_at`, `created_by`, `updated_at`, `updated_by`, `deleted_at`, `deleted_by`) +VALUES + (@tenantId, 'fraud', '诈骗风险', 100, 1, '诈骗、黑产引流和资金风险测试词', @now, 0, @now, 0, NULL, NULL), + (@tenantId, 'gambling', '赌博风险', 95, 1, '博彩、下注和赌资交易测试词', @now, 0, @now, 0, NULL, NULL), + (@tenantId, 'drugs', '涉毒风险', 90, 1, '毒品交易和吸食引流测试词', @now, 0, @now, 0, NULL, NULL), + (@tenantId, 'adult_trade', '色情交易', 85, 1, '色情交易和成人服务测试词', @now, 0, @now, 0, NULL, NULL), + (@tenantId, 'abuse', '辱骂攻击', 70, 1, '常见辱骂和人身攻击测试词', @now, 0, @now, 0, NULL, NULL), + (@tenantId, 'spam', '广告导流', 50, 1, '站外导流和垃圾广告测试词', @now, 0, @now, 0, NULL, NULL) +ON DUPLICATE KEY UPDATE + `group_name` = VALUES(`group_name`), + `priority` = VALUES(`priority`), + `status` = VALUES(`status`), + `remark` = VALUES(`remark`), + `updated_at` = VALUES(`updated_at`), + `deleted_at` = NULL, + `deleted_by` = NULL; + +INSERT INTO `im_sensitive_words` + (`tenant_id`, `group_id`, `word`, `word_hash`, `match_type`, `scene_json`, `action`, `replacement`, `risk_level`, `priority`, `status`, `remark`, `created_at`, `created_by`, `updated_at`, `updated_by`, `deleted_at`, `deleted_by`) +SELECT + @tenantId, + g.`id`, + seed.`word`, + SHA2(LOWER(TRIM(seed.`word`)), 256), + 'contains', + CAST(seed.`scenes` AS JSON), + seed.`action`, + seed.`replacement`, + seed.`risk_level`, + seed.`priority`, + 1, + '公开词库筛选的内容审核测试词', + @now, + 0, + @now, + 0, + NULL, + NULL +FROM ( + SELECT 'fraud' group_code, '刷单返利' word, '["private_message","group_message","user_profile","feedback"]' scenes, 'manual_review' action, '' replacement, 'high' risk_level, 100 priority + UNION ALL SELECT 'fraud', '兼职刷单', '["private_message","group_message","user_profile"]', 'manual_review', '', 'high', 100 + UNION ALL SELECT 'fraud', '冒充客服退款', '["private_message","group_message"]', 'block', '', 'high', 100 + UNION ALL SELECT 'fraud', '转账保证金', '["private_message","group_message"]', 'manual_review', '', 'high', 95 + UNION ALL SELECT 'fraud', '征信修复', '["private_message","group_message","user_profile"]', 'manual_review', '', 'high', 95 + UNION ALL SELECT 'fraud', '内幕荐股', '["private_message","group_message","user_profile"]', 'manual_review', '', 'high', 95 + UNION ALL SELECT 'fraud', '杀猪盘', '["private_message","group_message","feedback","report"]', 'manual_review', '', 'high', 90 + UNION ALL SELECT 'fraud', '裸聊敲诈', '["private_message","group_message","feedback","report"]', 'block', '', 'high', 90 + + UNION ALL SELECT 'gambling', '网络赌场', '["private_message","group_message","user_profile","group_profile"]', 'block', '', 'high', 100 + UNION ALL SELECT 'gambling', '博彩平台', '["private_message","group_message","user_profile","group_profile"]', 'block', '', 'high', 100 + UNION ALL SELECT 'gambling', '私彩平台', '["private_message","group_message","user_profile"]', 'block', '', 'high', 95 + UNION ALL SELECT 'gambling', '在线下注', '["private_message","group_message","user_profile"]', 'block', '', 'high', 95 + UNION ALL SELECT 'gambling', '赌资代充', '["private_message","group_message"]', 'block', '', 'high', 95 + UNION ALL SELECT 'gambling', '真人百家乐', '["private_message","group_message","user_profile"]', 'block', '', 'high', 90 + UNION ALL SELECT 'gambling', '老虎机赢钱', '["private_message","group_message","user_profile"]', 'block', '', 'high', 90 + UNION ALL SELECT 'gambling', '跑分洗钱', '["private_message","group_message","feedback","report"]', 'block', '', 'high', 100 + + UNION ALL SELECT 'drugs', '冰毒出售', '["private_message","group_message","user_profile"]', 'block', '', 'high', 100 + UNION ALL SELECT 'drugs', '海洛因出售', '["private_message","group_message","user_profile"]', 'block', '', 'high', 100 + UNION ALL SELECT 'drugs', '麻古出售', '["private_message","group_message","user_profile"]', 'block', '', 'high', 100 + UNION ALL SELECT 'drugs', '毒品交易', '["private_message","group_message","feedback","report"]', 'block', '', 'high', 100 + UNION ALL SELECT 'drugs', '上门送毒', '["private_message","group_message"]', 'block', '', 'high', 95 + + UNION ALL SELECT 'adult_trade', '招嫖', '["private_message","group_message","user_profile","report"]', 'block', '', 'high', 100 + UNION ALL SELECT 'adult_trade', '上门性服务', '["private_message","group_message","user_profile"]', 'block', '', 'high', 100 + UNION ALL SELECT 'adult_trade', '裸聊服务', '["private_message","group_message","user_profile"]', 'manual_review', '', 'high', 95 + UNION ALL SELECT 'adult_trade', '色情直播', '["private_message","group_message","user_profile","group_profile"]', 'manual_review', '', 'high', 95 + UNION ALL SELECT 'adult_trade', '成人视频', '["private_message","group_message","user_profile","group_profile"]', 'manual_review', '', 'high', 90 + UNION ALL SELECT 'adult_trade', '无码资源', '["private_message","group_message","user_profile"]', 'manual_review', '', 'high', 90 + + UNION ALL SELECT 'abuse', '操你妈', '["private_message","group_message","feedback"]', 'replace', '***', 'medium', 75 + UNION ALL SELECT 'abuse', '傻逼', '["private_message","group_message","feedback"]', 'replace', '***', 'medium', 75 + UNION ALL SELECT 'abuse', '狗娘养的', '["private_message","group_message","feedback"]', 'replace', '***', 'medium', 70 + UNION ALL SELECT 'abuse', '去死吧', '["private_message","group_message","feedback"]', 'manual_review', '', 'medium', 70 + UNION ALL SELECT 'abuse', '废物东西', '["private_message","group_message","feedback"]', 'replace', '***', 'medium', 65 + UNION ALL SELECT 'abuse', '脑残玩意', '["private_message","group_message","feedback"]', 'replace', '***', 'medium', 65 + + UNION ALL SELECT 'spam', '加微信返现', '["private_message","group_message","user_profile"]', 'audit_only', '', 'low', 50 + UNION ALL SELECT 'spam', '私聊加微信', '["private_message","group_message","user_profile"]', 'audit_only', '', 'low', 50 + UNION ALL SELECT 'spam', '扫码领红包', '["private_message","group_message","user_profile"]', 'audit_only', '', 'low', 45 + UNION ALL SELECT 'spam', '代理加盟', '["private_message","group_message","user_profile"]', 'audit_only', '', 'low', 45 + UNION ALL SELECT 'spam', '日赚千元', '["private_message","group_message","user_profile"]', 'manual_review', '', 'medium', 50 + UNION ALL SELECT 'spam', '低息套现', '["private_message","group_message","user_profile"]', 'manual_review', '', 'medium', 55 +) seed +JOIN `im_sensitive_word_groups` g + ON g.`tenant_id` = @tenantId + AND g.`group_code` = seed.`group_code` + AND g.`deleted_at` IS NULL +ON DUPLICATE KEY UPDATE + `word` = VALUES(`word`), + `match_type` = VALUES(`match_type`), + `scene_json` = VALUES(`scene_json`), + `action` = VALUES(`action`), + `replacement` = VALUES(`replacement`), + `risk_level` = VALUES(`risk_level`), + `priority` = VALUES(`priority`), + `status` = VALUES(`status`), + `remark` = VALUES(`remark`), + `updated_at` = VALUES(`updated_at`), + `deleted_at` = NULL, + `deleted_by` = NULL;