"""通用「AI 味」病症词典。 两级: AI_SMELL 阻断项 —— 命中即应改写,目标压到接近 0。 REVIEW_ONLY 复核项 —— 只作人工判断候选,不能作为自动删除或发布失败条件。 词条可以是普通字符串(按子串匹配)或正则(`re` 语法)。扫描器统一用 `re.search` 处理,普通字符串里的正则元字符需要自行转义。 扩充规则:每次评审被挑出的新 AI 味用词,回填到这里;只与单个项目/站点 相关的规则不要放这里,放 project_rules/ 下的项目词典。 """ # --------------------------------------------------------------------------- # 阻断项 # --------------------------------------------------------------------------- AI_SMELL = { "套路连接词": [ # "不仅/而且" 单列误报率过高,收敛成句式匹配(原清单的精确化) r"不仅.{0,40}(而且|并且|还|也)", "更是", "无疑", "毫无疑问", "值得注意的是", "需要指出的是", "总而言之", "综上所述", "总的来说", "换言之", "众所周知", "一言以蔽之", ], "对照模板": [ r"不是.{0,40}而是", r"并非.{0,40}而是", "而不是", r"不先.{0,30}先", r"下一步是.{0,40}而不是", ], "问答式标题": [ r"回答了?[一二三四五六七八九十0-9]+个.{0,20}问题", r"以下[一二三四五六七八九十0-9]+[点项个]", r"[一二三四五六七八九十0-9]+个具体问题", r"结果说明了什么", r"需要关注的几个问题", ], "实施口号": [ r"先把.{0,30}接入", "从单一场景切入", "从一个场景开始", ], "英文对照模板": [ r"\bnot\b.{0,60}\bbut\b", r"\brather than\b", r"\binstead of\b", ], "英文元话语": [ r"answers? (three|four|[0-9]+)", "three specific questions", "three findings from", ], "空心形容词": [ "强大的", "卓越的", "高效的", "全方位", "一站式", "赋能", "助力", "打造", "深耕", "护航", "保驾护航", "量身定制", "极致", "无缝", ], "宏大开头": [ r"随着.{0,30}(的)?(快速)?发展", "在当今", "在数字化", "近年来", "大背景下", ], "空洞升华": [ "携手", "美好未来", "贡献力量", "必将", "奠定坚实基础", "开创", ], "客服尾巴": [ "希望能对您有所帮助", "如有需要", "欢迎随时", "感谢您的", ], "绕弯结构": [ r"进行了.{0,15}的?(操作|处理|优化|改造|分析)", r"做出了.{0,15}的?决定", r"起到了.{0,15}的?作用", r"具有.{0,20}的特点", r"实现了.{0,20}的功能", ], "过度对冲": [ "在某种程度上", "总体而言", "一般来说", ], "格式痕迹": [ "——", "✅", "❌", "🚀", "💡", "🎯", "✨", "🔥", "📌", "⚡", ], } # --------------------------------------------------------------------------- # 复核项:结合页面类型与专业语境判断,不机械清零 # --------------------------------------------------------------------------- REVIEW_ONLY = { "内部审校话语": [ "当前基线", "当前证据", "已知缺口", "成熟度等级", "页面所述", ], "抽象术语": [ "闭环", "底座", "形成衔接", "共同约束", ], "教程式CTA": [ "说明当前流程", "从第一步开始", "按清单准备材料", ], "标题口令": [ r"^\s*#{1,6}\s*(把|让|先|再)", r"^\s*#{1,6}\s*(Bring|Start|Let|First)\b", ], "否定句堆叠": [ "不代表", "不包含", "尚未", "不能", ], } # --------------------------------------------------------------------------- # 结构类近似检测:正则给候选,最终要人读 # --------------------------------------------------------------------------- STRUCTURE_CHECKS = { # 短句里塞了 4 个以上顿号/逗号,多半是三段式排比或名词堆叠 "疑似排比堆叠": { "pattern": r"[,、]", "min_count": 4, "max_line_len": 60, }, }