大模型驱动的商品详情合规审校与违禁词治理落地

日期:2026-08-09

一、项目背景

客户运营一个开放式的电商平台,入驻商家一万三千多家,商家自主上架商品,日均新增和修改的商品详情在两万条上下。合规审核这块一直是他们的痛点。

平台配了二十六个人的审核团队,两班倒,每人每天要看八百到一千条。看到后面眼睛都是花的。即便这样,还是漏。他们给我看过一份监管部门的整改通知,抽查了两百个商品,有十一个存在极限词违规,三个涉及虚假宣传,还有两个是特殊类目缺资质就上架了。罚款不算多,但整改压力很大,平台的信用评级受影响。

原来的技术手段只有一层关键词过滤,词库里有三千多个词。这套东西的问题很明显。硬匹配容易误杀,商品名里有"最佳搭档"这种,"最"字直接触发,商家申诉说这是产品系列名。也容易漏,商家学会了绕,"第一"写成"苐一","最好"写成"最  好"中间加空格,或者干脆做进图片里,纯文本检测完全看不到。

审核团队的负责人跟我说过一句话,他们不是不认真,是这个活儿本身超出了人的处理能力。每天两万条,每条要对照几十条规则,还要区分类目差异,人做不到稳定。

二、落地场景

我们做的方案跑在客户的 AI 私有化底座上,和 XpShop 的商品中心打通,在商品提交审核的环节切进去。整体四块。

违禁词与语义级合规识别是核心。除了保留原有的词库匹配作为快速通道,主要靠大模型做语义理解。判断的不是"有没有出现某个词",而是"这段话在表达什么意思"。比如"效果超过市面上所有同类产品"这句话里一个违禁词都没有,但表达的是绝对化的比较,属于违规。

类目资质校验针对特殊商品。食品要 SC 编号,化妆品要备案号,医疗器械要注册证,进口商品要报关和检疫材料。系统按类目自动匹配所需资质清单,核验商家已提交的资质是否齐全、是否在有效期内、证件上的经营范围是否覆盖当前商品。

图文一致性检查解决图片绕过的问题。商品主图和详情图会走 OCR 提取文字,提取出的文字同样送进合规判断。同时会比对图片内容与文字描述是否一致,比如文字写"三件套"但图片只有两件。

审核结论可解释与申诉是配套机制。系统给出的每个违规判定都要说清楚违反了哪条规则、依据是原文的哪一段、建议怎么改。商家不认可可以申诉,申诉走人工复核,复核结果回流用于模型迭代。

三、关键技术挑战与解决思路

语义级违规识别的难点是规则本身很模糊。广告法里的"绝对化用语"这个概念,边界在哪儿?"行业领先"算不算?"销量第一"如果有第三方数据支撑算不算?这些问题连客户的法务团队内部都有分歧。

我们的做法是先把规则做实。跟客户法务一起,把每一条法规条款拆成可判定的细则,每条细则配上正例和反例各若干条。这个工作做了三周,最后整理出一百八十七条细则,配了两千三百多个例子。这批例子既用来写提示词,也用来做评测集。我个人觉得这三周是整个项目最有价值的部分,比后面调模型花的时间产生的效果大得多。

模型这一层用的是分级判定。先用一个轻量模型做粗筛,把明显没问题的(占大多数)快速放行;有嫌疑的送大模型做精判;精判结果置信度不高的进人工队列。这样算力消耗可控,实测下来只有百分之十七的商品需要走大模型。

误杀与漏杀的平衡是反复调的。这两个指标是跷跷板,压低漏杀必然抬高误杀。客户内部对哪个更重要有争论,运营站在商家体验角度不想误杀,法务站在合规角度不能漏杀。最后定的策略是按风险分级:高风险类目(食品、化妆品、医疗器械、母婴)从严,宁可误杀;低风险类目(服饰、家居、文具)从宽,减少对商家的打扰。同时在从严的类目里,误杀的商品走快速申诉通道,承诺两小时内人工复核完毕。

这个分级策略上线后还是出过一次事。有个食品类目的商家,商品描述里写了"我们家老爷子做了四十年,街坊都说好",被判定为"使用他人评价做宣传缺乏依据"给拒了。商家在申诉里写了很长一段话,说这就是他家的实情。这个案例被拿到评审会上讨论,最后的结论是规则细则里对"个人化叙述"和"营销性宣称"的区分不够清楚,我们补了这一条细则和相应的例子。这类边缘案例只能靠实际运行慢慢磨,没有捷径。

类目规则差异带来的工程复杂度不小。平台有六百多个末级类目,每个类目适用的规则子集不同。我们没有为每个类目单独配规则,而是做了规则标签和类目标签的映射,一条规则可以打多个适用标签,类目继承其父类目的标签并可以覆盖。这样维护的是规则和标签,不是六百套配置。

图文一致性这块,OCR 的质量是瓶颈。商家的详情图五花八门,艺术字、渐变背景、文字压在图案上,通用 OCR 的识别率在百分之七十出头。我们没有去训专门的 OCR 模型,成本太高,而是做了两件事:一是对识别置信度低的区域做多次不同预处理后重识别取交集;二是把 OCR 结果和商品标题、属性做交叉验证,用已知信息去校正识别结果。这两招把有效识别率提到了百分之八十九,够用了。

申诉复核闭环的设计上,我们要求人工复核必须给出结构化的结论,不能只填"通过"或"驳回",要选择具体原因分类。这些结论每周汇总,命中率异常的规则会被拉出来审视。上线以来因为这个机制修订了三十一条细则,删掉了四条一直误判的。

案例片段(已脱敏):一条细则的定义与判定输出。

```json {  "rule_id": "AD-ABS-007",  "name": "绝对化比较用语",  "law_ref": "广告法第九条第三项",  "applies_to_tags": ["ALL"],  "severity": "HIGH",  "positive_examples": [    "效果超过市面上所有同类产品",    "无人能及的持久度",    "全网独一份的配方"  ],  "negative_examples": [    "本店销量领先(附第三方榜单截图)",    "相比我们上一代产品提升明显",    "最小规格 50ml"  ],  "note": "含'最/第一/唯一'等字面但用于客观描述规格、型号、时间的不判违规" }


判定输出示例: {  "item_id": "SP20**7731",  "verdict": "REJECT",  "hits": [{    "rule_id": "AD-ABS-007",    "evidence": "本品吸收速度是市面上所有同类产品都比不了的",    "location": "detail_text#para3",    "confidence": 0.94,    "suggestion": "改为可验证的客观描述,如'实验室条件下吸收时间约X秒'"  }],  "reviewed_by": "MODEL",  "appeal_channel": "FAST_TRACK" } ```

案例片段(已脱敏):图文一致性检查拦下的一例。

item=SP20**4419  category=食品/坚果炒货 text_check: PASS (文本无违禁表述) ocr_extract:  main_img:   "买二送一 限时抢购"           -> PASS  detail_03:  "国宴指定 央视上榜品牌"       -> HIT AD-AUTH-012  detail_07:  "三天见效 改善睡眠"           -> HIT FOOD-FUNC-003 qualification: SC编号有效期至 2027-XX,覆盖当前类目  -> PASS verdict: REJECT (2 hits, 均来自图片文字) note: 该商家近30天内第3次以图片承载违规表述,触发商家画像降级

四、效果数据

系统上线运行六个月,覆盖平台全量商品提交,数据如下。

漏审率从人工审核时期的百分之六点八降到百分之零点九。这个口径是按平台自查抽检加监管抽查的结果合并计算的。监管部门最近一次抽查两百个商品,发现一个问题,比上一次的十六个好了很多。

误杀率百分之二点三。这个数字比客户最初设定的目标(百分之三以内)略好。误杀集中在高风险类目,符合预期的分级策略。误杀商品的平均申诉处理时长一小时四十分钟,在承诺的两小时以内。

人工复核量从每天两万条降到二千八百条左右,降幅百分之八十六。审核团队从二十六人调整到九人,其余转岗到商家运营和申诉处理。

商品上架时长从平均四小时十二分钟缩短到十一分钟,商家满意度调研里"审核速度"这一项从三点一分涨到四点五分。

图片承载违规每月检出一千七百多条,这块原来完全是盲区。资质校验检出缺失或过期的商品四千三百多个,其中过期资质占六成。规则细则从一百八十七条迭代到二百一十四条,评测集扩到四千一百多例。

以上数据为脱敏后的平台复盘口径。

五、可复用经验总结

合规类的 AI 项目,规则梳理的价值远大于模型调优。我们花三周和法务一起拆细则、配例子,这批资产后来既是提示词的来源,又是评测集,又是人工复核的培训材料。如果跳过这一步直接让模型"按广告法审核",出来的结果一定是模糊且不可控的。

误杀和漏杀不存在最优解,只有符合业务取舍的解。按类目风险分级是个务实的办法,把有限的严格度用在真正高风险的地方。做这个决策要让业务、法务、运营都在场,技术团队不该也不能替他们做主。

边缘案例只能在运行中积累。那个"老爷子做了四十年"的案例,任何前期设计都想不到。重要的是有一个把边缘案例转化成规则改进的机制,我们的做法是申诉必须结构化归因,每周复盘。上线半年修订三十一条细则,这个迭代速度是靠机制撑住的,不是靠某个人特别上心。

图片是最容易被忽视的通道。商家很快会发现文本查得严而图片查得松,然后把违规内容全搬进图片。OCR 不需要完美,配合已知信息交叉校正,八九成的识别率就够。

审核结论一定要可解释。给商家一个"审核不通过"只会引发申诉。给出违反了哪条、原文在哪、怎么改,商家自己就改了。带修改建议的驳回,商家二次提交通过率百分之八十一,不带建议的只有百分之四十三。

平台侧想做的下一步是把审核前置到商家编辑商品时,边写边提示。技术上没难度,主要是控制打扰程度,写一个字弹一次提示商家会疯,交互还在跟产品团队讨论。