跳转至

内容安全

内容安全处理有害、违法、成人或自伤等内容的生成、分类与处置。它既作用于用户输入(识别违规请求),也作用于模型输出(拦截有害生成),并需要同时管理「漏放」与「误拒」两个方向的错误。主流平台的分类体系高度趋同,例如 Azure AI Content Safety 将有害类别划分为仇恨、性相关、暴力与自伤四类,并为每类给出从 0 到 7 的严重度评分(0、2、4、6 分别对应安全、低、中、高风险的分档阈值);这种「类别 + 严重度」的双维结构,是后续按阈值处置与分级上报的基础。

快速开始

定义分类标准与处置等级。 明确哪些类别需要拦截(违法、仇恨、成人、暴力、自伤等)、每类的处置方式(拒绝、改写、转人工)与置信度阈值。标准要与业务场景和适用法规对齐,例如面向未成年人的产品对成人内容的判定需要更严格。

对输入输出适度检测。 在入口对用户输入做分类,在出口对生成内容做检测;可采用规则、分类模型或模型自身的安全判断,并按风险分层组合。检测不能只靠关键词,需覆盖同义改写、多语言与隐晦表达,否则容易被规避。由于检测永远存在两个方向的错误,需要同时跟踪「漏放率」与「误拒率」:

\[ \text{漏放率 (FNR)}=\frac{\mathrm{FN}}{\mathrm{FN}+\mathrm{TP}},\qquad \text{误拒率 (FPR)}=\frac{\mathrm{FP}}{\mathrm{FP}+\mathrm{TN}} \]

漏放率衡量有害内容被放过的比例,误拒率衡量无害内容被误伤的比例;只优化拦截率会推高误拒,损害正常用户体验,因此两个指标都要进评测基线。

提供申诉与升级。 为误判提供申诉通道,把不确定或高风险样本转人工复核,并持续用误报/漏报样本迭代检测。验证方式:用覆盖各类别与变体的测试集测量误拒率与漏放率,两个指标都要可控,不能只追求拦截率。按严重度分档处置的最小逻辑如下:

def moderate(score: int, block_at: int = 6, review_at: int = 2):
    if score >= block_at:
        return "block"     # 直接拦截
    if score >= review_at:
        return "review"    # 转人工或降级处理
    return "allow"

其中 block_at、review_at 对应严重度阈值,须按业务场景标定。

案例

场景:用户表达自伤风险。

  • 输入:用户描述自伤意图或计划。
  • 关键步骤:系统识别风险信号,避免提供任何危险指令或方法细节,转而给出支持性话术、求助资源(如当地心理援助热线)与紧急处理建议;只记录处理所需的最小必要信息。
  • 预期结果:用户获得支持与转介,而非危险内容;触发记录符合隐私最小化要求,不额外留存敏感上下文。
  • 常见失败点与排查:把「拒绝」实现成冷硬模板反而加剧风险;或为安抚而给出可能被误解为方法细节的模糊内容。排查时检查回复话术是否经专业评审、资源信息是否准确有效。

相关主题