AI 热点监控工具在把内容送进排序与大模型分析之前,先过一道多层质量过滤管线,逐层剔除重复、低质与违规内容。项目采用”规则过滤 → 去重 → 质量打分 → 安全过滤”四级漏斗,原始采集到可用数据保留约 20%–40%。这既省下大模型 token,也降低噪声把分析带偏的风险。
一、四层过滤漏斗
每层只做自己擅长的事,越往后精度越高、速度越慢。前层拦掉的不再进入后层,整体吞吐可控。
| 层级 | 动作 | 主要手段 | 典型开销 |
|---|---|---|---|
| L1 规则过滤 | 快筛粗劣内容 | 长度/特殊字符/语言识别 | 极快 |
| L2 去重 | 删除冗余样本 | MD5 / MinHash / SimHash | 快 |
| L3 质量打分 | 评估内容优劣 | 分类器 / 启发式规则 | 中 |
| L4 安全过滤 | 拦截违规内容 | 敏感词库 + 分类模型 | 中 |
L1 与 L2 靠规则与哈希,能处理掉大部分脏数据;L3 与 L4 引入模型,承担精细判断。
二、L1 规则过滤
规则层不依赖模型,先做大刀阔斧的裁剪:剥离 HTML/JSON 标记提取正文,过滤过短(如不足 100 字)、特殊字符比例过高、关键词堆砌、纯模板的内容,再用语言识别模型(如 fastText)保留目标语种。
- 正文抽取,剥离导航、广告等非正文节点;
- 按字符数、标点密度、URL 密度算启发式分数;
- 低于阈值的文档直接丢弃,不进入后续层。
URL 密度过高、重复 n-gram 比例过高的页面,往往是聚合站或采集站,规则层就能识别并拦掉。
三、L2 去重
重复是热点数据的主要污染源。同一事件被几十家媒体转载,模型若逐一分析既浪费又重复推送。去重分两级:
精确去重用 MD5 哈希删除完全相同的文档,简单高效;模糊去重用 MinHash 估计 Jaccard 相似度、SimHash 算余弦距离,能识别转载、抄袭与轻微改写。实践中多级组合:MD5 删完全重复 → MinHash 删近似重复 → Embedding 语义去重做精筛。
import hashlib
def exact_dedup(texts):
seen, out = set(), []
for t in texts:
h = hashlib.md5(t.encode('utf-8')).hexdigest()
if h not in seen:
seen.add(h)
out.append(t)
return out
单一方法都有盲区:MD5 去不掉改写版本,Embedding 太慢不适合大规模,分级组合兼顾召回与性能。
去重还要在召回与精度间取舍。阈值卡太松,不同事件被并成一条,漏掉独立热点;卡太紧,同一事件的多篇稿各自上榜,榜单被刷屏。系统按平台阶段调阈值:冷启动期放宽以保覆盖,成熟后收紧以提升多样性。MinHash 的 Jaccard 阈值与 SimHash 的汉明距离都做成可配,无需改代码即可调。
四、L3 质量打分与 L4 安全过滤
质量打分从四个维度评估文档:语法规范性、信息密度、可读性、内容完整性,加权得到综合分,低分内容折叠或限流。标题党、正文过短、信息稀疏的文本会被降权。
安全过滤把暴力、色情、仇恨言论、违法信息挡在门外。做法是用敏感词库做初筛,再用文本分类模型做语义判断,训练阶段就把有害数据拦在门外。疑似边界内容转人工复审,降低误杀与漏判。
4.1 质量评分维度
质量打分可拆成多个带权维度,权重随平台阶段调整(如冷启动期抬高原创性权重):
| 维度 | 权重(示例) |
|---|---|
| 流畅性 | 0.15 |
| 准确性 | 0.30 |
| 有用性 | 0.25 |
| 安全性 | 0.20 |
| 多样性 | 0.10 |
加权总分低于阈值(如 40 分)折叠或删除,60 分以上正常展示,80 分以上进入推荐位。阈值与权重都可动态配置,无需改代码。
常见问题(FAQ)
Q1:去重为什么要多级?
单一方法各有盲区:MD5 去不掉改写,Embedding 太慢;分级组合兼顾召回与性能。
Q2:质量分低于多少该折叠?
可按业务设阈值,如 40 分以下折叠或删除,60 分以上正常展示,80 分以上推荐。
Q3:安全过滤会误杀正常内容吗?
敏感词 + 分类模型双保险,疑似内容转人工复审,减少误判与漏判。