data: 增加中文敏感词测试词库

This commit is contained in:
richjohnrambo
2026-09-07 21:43:26 +08:00
parent fdc86ea6bf
commit af2803ef1f
@@ -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;