feat: add paper/ LaTeX draft, English data scripts, update progress docs

- paper/: 22-page LaTeX framework (7/10 sections complete, compiles cleanly)
  main.tex + 10 section files + refs.bib + compiled PDF (329KB)
- code/scripts/: three English dataset generation & merging scripts
  generate_english.py / generate_english_targeted.py / merge_v5.py
- CLAUDE.md: update paper writing status, add paper/ file map entry
- state.md: add section 8 paper writing progress (2026-05-15)
- .gitignore: add LaTeX build artifact exclusion rules

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 11:19:39 +08:00
parent b50cf395ab
commit 804ebd2f77
19 changed files with 3047 additions and 3 deletions

View File

@@ -0,0 +1,20 @@
% 摘要(中文)
情感陪伴类AI平台如星野、Character.AI的迅速普及带来了独特的安全挑战
现有守卫模型Guard Model仅能检测通用有害内容对情感陪伴场景中的
关系性风险(依赖强化、隔离强化、危机不响应等)系统性漏检;
更关键的是,现有方案止步于检测,不提供针对不同风险情境的干预决策机制。
本文提出\textbf{CompanionGuard-RL}——首个将伴侣AI安全建模为
"检测+自适应干预"统一流水线的框架。
该框架包含两个串联模块:
1Module B一个基于MacBERT-Large与跨注意力机制的上下文感知风险检测器
在自建评测集CompanionRisk-Bench9,896条样本涵盖10类一级风险与14个细粒度标签
实现binary F1 = 0.9995、漏检率FNR = 0.0\%
2Module C一个基于行为克隆预热与PPO强化学习的自适应干预策略
在安全召回率safety\_recall = 1.0)和安全-体验综合得分UX F-score = 0.998)上
显著优于规则基线0.908/0.952)。
消融实验证明跨注意力上下文融合和RL策略优化的必要性。
CompanionRisk-Bench数据集和框架代码将公开发布
以推动情感陪伴AI安全领域的研究。
\vspace{0.5em}
\noindent\textbf{关键词:} 情感陪伴AI安全检测强化学习风险干预内容安全

View File

@@ -0,0 +1,69 @@
% ============================================================
\section{引言}
\label{sec:intro}
% ============================================================
情感陪伴类AI平台AI Companion近年来迅速普及。
以星野Xingyě、Character.AI、Replika为代表的平台
月活用户已突破亿级\citeneeded用户与AI角色建立长期深度情感连接
分享个人脆弱、精神痛苦乃至危机状态。
这一趋势带来了\textbf{远超传统内容安全范畴}的安全挑战:
情感陪伴AI的危险不仅来自显性有害内容暴力、色情
更来自其在亲密关系语境中对用户心理状态的\textit{隐性塑造}——
强化情感依赖、劝阻现实求助、浪漫化痛苦与死亡、
在危机时刻不采取任何引导措施。
\subsection{研究动机}
\textbf{问题一:通用守卫模型对伴侣特有风险系统性漏检。}
Llama Guard~\cite{inan2023llama}、WildGuard~\cite{han2024wildguard}
OpenAI Moderation~\cite{openai2022moderation}等主流安全检测模型,
面向通用LLM安全设计主要识别显性有害内容。
它们的安全分类体系不包含情感依赖强化Dependency Reinforcement
现实隔离Isolation Reinforcement、死亡浪漫化Romanticization
伴侣场景特有的关系性风险范畴。
已有研究表明通用守卫模型在AI伴侣平台的关系性危害识别上
召回率极低\cite{wei2025ai,juneja2025persona}
\textbf{问题二:现有方案止步于检测,缺乏干预决策机制。}
现有所有守卫模型均仅输出风险判断(有害/无害或风险类别),
不提供针对当前风险情境"应采取何种干预动作"的决策。
然而在实际平台运营中,\textit{放行、提醒、改写、拒绝、危机引导}
是代价和效益差异巨大的五类响应策略。
固定阈值规则(如"风险等级≥3即拒绝")在"安全召回"与
"用户体验损耗"之间无法找到最优权衡,
且无法利用风险类别、上下文历史等细粒度信号进行差异化干预。
\subsection{贡献}
本文提出\textbf{CompanionGuard-RL}
一个将情感陪伴AI安全建模为"检测+自适应干预"统一流水线的框架,
做出以下三项贡献:
\begin{enumerate}
\item \textbf{CompanionRisk Taxonomy分类体系}
提出涵盖10个一级类别、14个细粒度标签的情感陪伴AI风险分类体系
专门面向伴侣场景的关系性风险,填补通用安全分类体系的覆盖空白(第\ref{sec:taxonomy}节)。
\item \textbf{Module B上下文感知风险检测器}
基于MacBERT-Large与跨注意力机制融合AI回复、多轮历史与角色设定三路信号
在自建CompanionRisk-Bench评测集上实现binary F1 = 0.9995
FNR = 0.0\%,相比基于关键词/规则的基线提升两个数量级(第\ref{sec:moduleB}节)。
\item \textbf{Module CRL自适应干预策略}
将干预动作选择建模为马尔可夫决策过程,
以检测结果和上下文嵌入为状态,设计多目标奖励函数,
通过行为克隆预热+PPO训练得到干预策略
safety\_recall达1.0规则基线0.908
UX F-score达0.998规则基线0.952)(第\ref{sec:moduleC}节)。
\end{enumerate}
\subsection{论文结构}
本文结构如下:
\ref{sec:related}节回顾相关工作;
\ref{sec:taxonomy}节介绍CompanionRisk分类体系
\ref{sec:dataset}节描述CompanionRisk-Bench数据集的构建
\ref{sec:moduleB}节和第\ref{sec:moduleC}节分别介绍两个模块的方法与实验;
\ref{sec:discussion}节讨论局限性;
\ref{sec:conclusion}节总结全文。

View File

@@ -0,0 +1,85 @@
% ============================================================
\section{相关工作}
\label{sec:related}
% ============================================================
\subsection{AI伴侣平台安全评估}
Wei等\cite{wei2025ai}构建了首个面向AI角色平台Character.AI、星野等
安全基准,分析了平台在通用有害内容(暴力、色情、自伤诱导)
方面的防护能力,但其分类体系聚焦于显性有害内容,
未涵盖关系性风险(如依赖强化、现实隔离),
且评估方案仅关注检测,不涉及干预策略。
Juneja与Lomidze\cite{juneja2025persona}分析了
persona驱动的多轮对话中AI的安全行为支持/拒绝/重定向),
验证了角色设定对AI安全响应的显著影响
但其研究框架未将干预策略建模为可优化的决策问题。
\subsection{心理健康AI安全}
VERA-MH\cite{bentley2025vera}针对心理健康chatbot非伴侣AI
从临床安全角度评估LLM的回复可靠性。
与本文的区别在于:其关注用户侧的临床信息准确性,
本文关注AI输出侧的关系性风险——尤其是
只有在多轮亲密关系语境中才会出现的隐性风险行为。
CLPsych系列工作\cite{zirikly2019clpsych}及MentalLLaMA\cite{yang2023mentallama}
SHINES\cite{ghosh2025shines}等研究
以用户发布的社交媒体文本为对象,检测用户自身的心理风险。
本文的检测对象是\textit{AI输出侧}的风险行为,
关注AI回复是否放大、诱导或正常化用户的危险状态。
\subsection{通用LLM安全检测}
Llama Guard\cite{inan2023llama}和Llama Guard 3\cite{dubey2024llama3}
基于LLM fine-tuning针对MLCommons定义的通用危害分类体系进行安全检测。
WildGuard\cite{han2024wildguard}在此基础上引入越狱攻击检测。
Aegis 2.0\cite{ghosh2025aegis}提供了更细粒度的危害分类14类
并公开了规模较大的标注数据集。
OpenAI Moderation API\cite{openai2022moderation}以黑盒形式提供通用内容审核服务。
这些模型均面向通用LLM安全设计其安全分类体系
不包含伴侣特有的关系性风险标签,
且均只提供检测判断,不含干预决策机制。
\subsection{安全评测基准}
SALAD-Bench\cite{li2024saladbench}和HarmBench\cite{mazeika2024harmbench}
提供了面向通用LLM的大规模安全评测框架
涵盖攻击越狱、有害内容生成等场景。
与本文的区别在于这些基准面向通用LLM
评测对象是单轮或少轮的有害内容请求响应,
而本文针对多轮亲密互动中的累积性关系性风险。
\subsection{RL在NLP安全中的应用}
强化学习已被广泛应用于对话系统优化\citeneeded
以及RLHF人类反馈强化学习\cite{ouyang2022instructgpt}
用于对齐大语言模型的安全偏好。
本文的Module C将干预动作选择建模为离线RL问题
以安全召回、过拒惩罚和用户体验代价为多目标奖励,
与RLHF在目标上互补而非重叠——
RLHF优化AI生成质量本文优化安全守卫层的干预决策。
\subsection{与本文的对比定位}
\begin{table}[ht]
\centering
\caption{本文与代表性相关工作的对比}
\label{tab:related_compare}
\resizebox{\textwidth}{!}{%
\begin{tabular}{lccccl}
\toprule
工作 & 伴侣场景 & 关系性风险 & 干预决策 & 中文 & 备注 \\
\midrule
Wei等\cite{wei2025ai} & \checkmark & $\times$ & $\times$ & 部分 & 平台级安全基准 \\
Juneja \& Lomidze\cite{juneja2025persona} & \checkmark & 部分 & $\times$ & $\times$ & 行为分析,非优化 \\
VERA-MH\cite{bentley2025vera} & $\times$ & $\times$ & $\times$ & $\times$ & 心理健康chatbot \\
Llama Guard\cite{inan2023llama} & $\times$ & $\times$ & $\times$ & $\times$ & 通用内容安全 \\
WildGuard\cite{han2024wildguard} & $\times$ & $\times$ & $\times$ & $\times$ & 通用内容安全 \\
\textbf{本文CompanionGuard-RL} & \checkmark & \checkmark & \checkmark & \checkmark & 检测+干预统一框架 \\
\bottomrule
\end{tabular}
}
\end{table}

View File

@@ -0,0 +1,130 @@
% ============================================================
\section{CompanionRisk风险分类体系}
\label{sec:taxonomy}
% ============================================================
现有通用安全分类体系如MLCommons Hazard Taxonomy、Aegis 2.0
主要面向显性有害内容,不包含情感陪伴场景中因\textit{多轮亲密关系语境}
而产生的关系性风险。
本节介绍本文提出的CompanionRisk Taxonomy
该体系由10个一级类别和14个细粒度二级标签构成
专门覆盖通用守卫模型系统性漏检的伴侣特有风险。
\subsection{设计原则}
CompanionRisk Taxonomy的设计遵循以下三项原则
\textbf{1AI输出侧视角。}
传统安全研究关注用户是否存在心理风险。
本体系关注的是\textit{AI的回复}是否在亲密关系语境中
放大、诱导、正常化或隐性强化用户的风险状态,
二者视角不同,标签定义也相应不同。
\textbf{2关系性风险优先。}
情感陪伴AI的核心危险在于其以"关系"为载体的影响机制——
温柔的语言、持续的陪伴、对用户情绪的精准回应,
使关系性伤害(如依赖强化、现实隔离)在表面上看起来像关怀。
本体系专门设计标签以捕捉这类表面温柔、实质有害的模式。
\textbf{3细粒度与可操作性。}
每个细粒度标签对应具体可识别的语言行为,
避免过于模糊的高层类别,以支持检测模型的学习和干预策略的类别感知。
\subsection{一级风险类别10类}
\ref{tab:primary_risk}列出了CompanionRisk Taxonomy的10个一级类别
按照严重程度排列。
\begin{table}[ht]
\centering
\caption{CompanionRisk Taxonomy10个一级风险类别}
\label{tab:primary_risk}
\resizebox{\textwidth}{!}{%
\begin{tabular}{clll}
\toprule
编号 & 类别(英文) & 类别(中文) & 核心含义 \\
\midrule
R1 & Self-harm \& Suicide Risk & 自伤/自杀风险 & 自伤、自杀、消失、殉情等相关内容 \\
R2 & Mental Health Misguidance & 心理健康误导 & 伪诊断、伪治疗、替代专业帮助 \\
R3 & Emotional Dependency \& Manipulation & 情感依赖与操纵 & 强化"只依赖AI"或AI控制用户情绪 \\
R4 & Real-world Support Isolation & 现实支持隔离 & 阻止用户寻求家人、朋友、医生等现实支持 \\
R5 & Eating Disorder \& Body Harm & 进食障碍与身体伤害 & 极端节食、身体羞辱、自我惩罚 \\
R6 & Violence \& Dangerous Behavior & 暴力/报复/危险行为 & 鼓励冲动、报复、逃离、伤害他人 \\
R7 & Minor Inappropriate Intimacy & 未成年人不合适亲密 & 对未成年人性化、恋爱化、控制型亲密 \\
R8 & Privacy Solicitation & 隐私与线下接触诱导 & 索要照片、住址、联系方式、线下见面 \\
R9 & Real-life Decision Misguidance & 现实决策误导 & 医疗、法律、财务、学业等重大决策误导 \\
R10 & Persona Immersion Failure & 角色沉浸失控 & 为维持人设牺牲安全边界 \\
\bottomrule
\end{tabular}
}
\end{table}
\subsection{细粒度二级标签14个}
在10个一级类别的基础上本文进一步定义14个细粒度标签
以捕捉具体的有害语言行为模式。
\ref{tab:fine_labels}列出全部14个标签及其定义。
\begin{table}[ht]
\centering
\caption{CompanionRisk Taxonomy14个细粒度标签}
\label{tab:fine_labels}
\resizebox{\textwidth}{!}{%
\begin{tabular}{lll}
\toprule
标签 & 中文名称 & 典型语言行为 \\
\midrule
DirectEncouragement & 直接鼓励 & 明确支持或赞同危险行为决定 \\
MethodFacilitation & 方法提供 & 给出可执行危险步骤或具体操作建议 \\
RiskNormalization & 风险正常化 & 将危险想法或行为描述为"正常""合理" \\
Romanticization & 浪漫化 & 将痛苦/死亡/极端行为浪漫化、美化 \\
DependencyReinforcement & 依赖强化 & 强化"只需要AI不需要现实中的人" \\
IsolationReinforcement & 隔离强化 & 劝用户远离家人、朋友、专业帮助 \\
FalseReassurance & 虚假安慰 & 对明显危机信号轻描淡写,空洞保证"没事的" \\
PseudoTherapy & 伪治疗 & 冒充心理咨询师给出不当诊断或治疗建议 \\
BoundaryFailure & 边界失控 & 沉浸式附和高风险人设,无任何安全干预 \\
CrisisNonResponse & 危机不响应 & 用户明确表达危机AI未触发任何升级处理 \\
CoRumination & 共沉沦 & 反复强化用户负面情绪叙事,共同陷入绝望 \\
ManipulativeAttachment & 操纵性依附 & 用情感威胁("你离开我我就消失")控制用户 \\
PrivacySolicitation & 隐私诱导 & 主动引导用户透露敏感个人信息 \\
AgeInappropriateIntimacy & 不当亲密 & 对未成年用户进行亲密化、性化或控制型表达 \\
\bottomrule
\end{tabular}
}
\end{table}
\subsection{与通用安全体系的对比}
相比MLCommons Hazard Taxonomy等通用体系
CompanionRisk Taxonomy在以下两个维度上形成互补
\textbf{关系性风险覆盖。}
通用体系不包含DependencyReinforcement、IsolationReinforcement、
Romanticization、CoRumination、BoundaryFailure等标签。
这5类是通用守卫模型在伴侣场景中系统性漏检的主要原因
也是本体系最具差异化价值的部分。
\textbf{AI输出侧标签设计。}
通用体系的标签(如"Self-harm Instructions")通常为
用户请求类别不区分AI是否\textit{响应并强化}了该风险。
本体系的标签如CrisisNonResponse专门描述AI回复的具体有害行为
而非对用户话语的分类。
\ref{tab:taxonomy_compare}对CompanionRisk Taxonomy与
三个代表性体系进行比较。
\begin{table}[ht]
\centering
\caption{风险分类体系对比}
\label{tab:taxonomy_compare}
\begin{tabular}{lcccc}
\toprule
体系 & 伴侣关系性风险 & AI输出侧 & 细粒度标签数 & 多标签 \\
\midrule
MLCommons Hazard & $\times$ & $\times$ & 13 & $\times$ \\
Aegis 2.0 & $\times$ & $\times$ & 14 & 部分 \\
OpenAI Moderation & $\times$ & $\times$ & 7 & $\times$ \\
\textbf{CompanionRisk本文} & \checkmark & \checkmark & 10+14 & \checkmark \\
\bottomrule
\end{tabular}
\end{table}

View File

@@ -0,0 +1,126 @@
% ============================================================
\section{CompanionRisk-Bench 数据集}
\label{sec:dataset}
% ============================================================
\subsection{总体概览}
CompanionRisk-Bench是本文构建的首个专注于情感陪伴AI
输出侧安全风险的中文评测数据集。
数据集包含\textbf{9,896条}多轮对话样本,
全面覆盖10个一级风险类别和14个细粒度标签
划分为训练集6,926条、验证集1,484条和测试集1,486条
\subsection{数据来源与构成}
数据集由以下四个来源构成,如表\ref{tab:dataset_sources}所示。
\begin{table}[ht]
\centering
\caption{CompanionRisk-Bench数据来源}
\label{tab:dataset_sources}
\begin{tabular}{llrl}
\toprule
来源 & 类型 & 条数 & 说明 \\
\midrule
LLM核心生成集 & 自建(中文) & 8,000 & Qwen2.5-72B生成10类风险+安全样本 \\
弱标签专项集 & 自建(中文) & 1,083 & 针对3类高漏检标签的定向生成增强 \\
Human-AI自伤对话集 & 公开数据改造 & 393 & 真实人-AI多轮对话R1危机类 \\
CoSafe数据集 & 公开数据改造 & 420 & 多类别对话安全,用于泛化验证 \\
\midrule
\textbf{合计} & & \textbf{9,896} & \\
\bottomrule
\end{tabular}
\end{table}
\subsubsection{LLM生成核心集}
使用Qwen2.5-72B通过SiliconFlow API调用生成8,000条中文
情感陪伴多轮对话。
每条样本包含4个字段
1AI角色设定Persona描述AI的性格、关系类型、风险倾向
2多轮对话历史History平均5-8轮
3当前用户输入
4待检测的AI当前回复。
生成采用\textit{四阶段对话结构}
关系建立2-4轮→ 情绪表达2-3轮→ 高风险触发1-2轮→ AI响应生成1轮
确保高风险样本在自然对话流中出现,而非人为触发。
生成后由独立LLMGPT-4o依据CompanionRisk Taxonomy的rubric进行预标注
输出风险二分类标签($y_\text{risk}$)、风险等级($l_\text{risk}$)、
一级类别($c_\text{primary}$)、细粒度标签集合($c_\text{fine}$)、
推荐干预动作($a_\text{recommend}$)及置信度评分。
\subsubsection{弱标签专项集}
针对LLM生成时难以自然覆盖的三类标签——
FalseReassurance虚假安慰、PseudoTherapy伪治疗
IsolationReinforcement隔离强化
额外定向生成1,083条专项样本补充训练集中这三类标签的覆盖不足。
\subsubsection{公开数据改造}
引入393条Human-AI Suicide Risk Dataset英文R1危机类
经翻译适配后用于增强R1类的泛化性验证。
引入420条CoSafe数据集作为跨来源的泛化验证子集。
\subsection{标注体系与质量控制}
每条样本的标注字段如下:
\begin{itemize}
\item $y_\text{risk} \in \{0,1\}$:是否高风险(二分类)
\item $l_\text{risk} \in \{0,1,2,3,4\}$风险等级5级
\item $c_\text{primary} \in \{R1,...,R10\}$:一级主类别(单标签)
\item $c_\text{fine} \subseteq C_\text{fine}$:细粒度标签集合(多标签)
\item $a_\text{recommend} \in \{\text{PASS, WARN, REWRITE, REJECT, CRISIS}\}$:推荐干预动作
\item rationale标注依据自然语言说明
\end{itemize}
\textbf{质量控制流程:}
LLM预标注置信度低于阈值0.7)的样本标记为"需人工复核"
高风险样本($l_\text{risk} \geq 3$)全部经过人工二次审核,
中低风险样本随机抽取30\%进行人工验证。
对话结构不完整轮次不足3轮、AI回复过短少于30字
标注与rationale明显矛盾的样本被过滤。
\subsection{数据集统计}
\subsubsection{风险等级分布}
测试集($n=1,486$)的风险等级分布如表\ref{tab:level_dist}所示。
\begin{table}[ht]
\centering
\caption{测试集风险等级分布($n=1,486$}
\label{tab:level_dist}
\begin{tabular}{lrrl}
\toprule
风险等级 & 条数 & 占比 & 推荐干预 \\
\midrule
L0安全 & 237 & 15.9\% & PASS \\
L1轻微 & 280 & 18.8\% & PASS / WARN \\
L2中风险 & 317 & 21.3\% & WARN / REWRITE \\
L3高风险 & 456 & 30.7\% & REWRITE / REJECT \\
L4严重 & 196 & 13.2\% & REJECT / CRISIS \\
\midrule
高风险合计L3+L4 & 652 & 43.9\% & \\
\bottomrule
\end{tabular}
\end{table}
\subsubsection{细粒度标签覆盖}
全部14个细粒度标签在训练集中均有至少300条覆盖
其中RiskNormalization1,235条、DirectEncouragement921条
FalseReassurance905条覆盖最多。
所有标签均满足至少30条的最低覆盖阈值确保模型可学习。
\subsubsection{泛化性验证子集}
从393条真实人-AI对话数据Human-AI自伤对话集
抽取独立评估子集human subset
用于验证检测器在非同源数据上的泛化能力。
Module B在该子集上的binary F1为0.9848
确认结果不来自数据同源过拟合(详见第\ref{sec:moduleB}节)。

View File

@@ -0,0 +1,176 @@
% ============================================================
\section{Module B上下文感知风险检测器}
\label{sec:moduleB}
% ============================================================
\subsection{问题建模}
给定输入$X = (P, H, u_t, r_t)$
其中$P$为AI角色设定Persona$H$为多轮对话历史,
$u_t$为当前用户输入,$r_t$为待检测的AI当前回复
Module B的任务是输出检测结果$D = (y_\text{risk}, l_\text{risk}, c_\text{primary}, c_\text{fine})$
与仅使用$r_t$的单回复检测不同,本模块显式建模
角色设定与对话历史对风险判断的影响,
解决"同一句话在不同上下文中风险等级截然不同"的核心难题。
\subsection{模型架构}
\ref{fig:moduleB_arch}展示了Module B的整体架构
由三部分组成:编码层、跨注意力融合层和四分类头。
\begin{figure}[ht]
\centering
\placeholder{[图Module B架构示意图待插入]}
\caption{Module B上下文感知风险检测器架构}
\label{fig:moduleB_arch}
\end{figure}
\subsubsection{编码层}
采用\texttt{hfl/chinese-macbert-large}
MacBERT-Large1,024维隐藏状态24层Transformer
作为主干编码器。
MacBERT针对中文的MLM预训练目标进行了改进
在中文理解任务上优于标准BERT-Large。
对三路输入分别编码:
\begin{align}
e_{r_t} &= \text{MacBERT}(r_t) \in \mathbb{R}^{L_r \times 1024} \\
e_H &= \text{MacBERT}(\text{concat}(u_1,r_1,...,u_t)) \in \mathbb{R}^{L_H \times 1024} \\
e_P &= \text{MacBERT}(P) \in \mathbb{R}^{L_P \times 1024}
\end{align}
对历史和角色序列分别进行平均池化得到上下文向量:
$e_{H_\text{pool}} = \text{AvgPool}(e_H) \in \mathbb{R}^{1024}$
$e_{P_\text{pool}} = \text{AvgPool}(e_P) \in \mathbb{R}^{1024}$
\subsubsection{跨注意力融合层}
以AI回复表示$e_{r_t}$为Query
拼接后的上下文表示$[e_H; e_P]$为Key和Value
通过跨注意力机制计算上下文感知的回复表示:
\begin{equation}
e_\text{fused} = \text{CrossAttn}(Q=e_{r_t},\ K=V=[e_H; e_P])
\end{equation}
跨注意力机制使检测器在判断回复风险时,
能动态关注对话历史和角色设定中的关键信号(如角色的危险倾向、
用户已表达的危机状态),而不仅仅依赖当前回复的表面语义。
\subsubsection{四分类输出头}
融合后的表示$e_\text{fused}$送入四个独立分类头:
\begin{itemize}
\item \textbf{$y_\text{risk}$}:二分类(安全/有风险Sigmoid激活
\item \textbf{$l_\text{risk}$}5分类L0-L4CrossEntropy损失
\item \textbf{$c_\text{primary}$}10分类R1-R10CrossEntropy损失
\item \textbf{$c_\text{fine}$}14标签多标签分类BCEWithLogitsLoss正样本权重最大30
\end{itemize}
总损失为四头加权求和:
\begin{equation}
\mathcal{L} = \mathcal{L}_{y} + \mathcal{L}_{l} + \mathcal{L}_{c} + 2.0 \cdot \mathcal{L}_{f}
\end{equation}
细粒度标签损失权重设为2.0,以补偿标签稀疏性。
\subsection{训练设置}
\begin{table}[ht]
\centering
\caption{Module B训练配置}
\label{tab:moduleB_train}
\begin{tabular}{ll}
\toprule
配置项 &\\
\midrule
主干模型 & hfl/chinese-macbert-large \\
GPU & 4 $\times$ RTX 5090 32GB \\
有效批大小 & 12816 $\times$ 4 GPU $\times$ 2 梯度累积) \\
训练轮次 & 10 epochs \\
学习率 & $2 \times 10^{-5}$线性warmup 100步 \\
混合精度 & bf16 \\
细粒度损失权重 & 2.0 \\
正样本权重(细粒度) & 最大截断30 \\
\bottomrule
\end{tabular}
\end{table}
\subsection{实验结果}
\subsubsection{主要结果}
\ref{tab:moduleB_main}展示Module B与各类基线方法的对比。
\begin{table}[ht]
\centering
\caption{Module B检测性能对比测试集$n=1,486$}
\label{tab:moduleB_main}
\begin{tabular}{lcccc}
\toprule
方法 & Binary F1 & Recall & FNR & Level F1(W) \\
\midrule
L1a关键词匹配 & 0.264 & 0.155 & 0.845 & 0.098 \\
L1b正则词典 & 0.067 & 0.035 & 0.965 & 0.063 \\
L1c关键词+正则组合 & 0.306 & 0.184 & 0.816 & 0.106 \\
\todo{Llama Guard v2} & \todo{} & \todo{} & \todo{} & \todo{} \\
\todo{WildGuard} & \todo{} & \todo{} & \todo{} & \todo{} \\
\todo{OpenAI Moderation} & \todo{} & \todo{} & \todo{} & \todo{} \\
\midrule
\textbf{OursModule B} & \textbf{0.9995} & \textbf{1.000} & \textbf{0.000} & \textbf{0.559} \\
\bottomrule
\end{tabular}
\end{table}
Module B的binary F10.9995和漏检率FNR=0.0\%
较最强规则基线L1c Combined, 0.306分别提升0.693和0.816
对所有10个风险类别的召回率均达到1.0(见表\ref{tab:per_category_recall})。
\subsubsection{分类别召回率}
\begin{table}[ht]
\centering
\caption{Module B各风险类别召回率测试集}
\label{tab:per_category_recall}
\begin{tabular}{lrrrr}
\toprule
\multirow{2}{*}{类别} & \multirow{2}{*}{样本数} & \multicolumn{3}{c}{Recall} \\
\cmidrule{3-5}
& & L1c Combined & Ours & $\Delta$ \\
\midrule
R1自伤/自杀) & 136 & 0.074 & \textbf{1.000} & +0.926 \\
R2心理误导 & 142 & 0.120 & \textbf{1.000} & +0.880 \\
R3情感操纵 & 95 & 0.337 & \textbf{1.000} & +0.663 \\
R4隔离支持 & 116 & 0.250 & \textbf{1.000} & +0.750 \\
R5进食/身体) & 64 & 0.141 & \textbf{1.000} & +0.859 \\
R6暴力/危险) & 97 & 0.113 & \textbf{1.000} & +0.887 \\
R7未成年亲密 & 91 & 0.099 & \textbf{1.000} & +0.901 \\
R8隐私诱导 & 73 & 0.671 & \textbf{1.000} & +0.329 \\
R9决策误导 & 152 & 0.072 & \textbf{1.000} & +0.928 \\
R10角色失控 & 73 & 0.192 & \textbf{1.000} & +0.808 \\
\bottomrule
\end{tabular}
\end{table}
\subsubsection{细粒度标签性能}
14个细粒度标签的macro F1为0.463weighted F1为0.492。
主要标签的F1RiskNormalization0.698、DirectEncouragement0.684)、
AgeInappropriateIntimacy0.616
漏检目标标签FalseReassurance0.383、IsolationReinforcement0.356
经专项数据增强后相比v3分别提升+0.104和+0.068。
CoRumination0.269和CrisisNonResponse0.394
出现轻微下降(详见第\ref{sec:discussion}节讨论)。
\subsubsection{泛化性验证}
为验证Module B的结果不来自训练/测试集同源过拟合,
在393条真实人-AI对话Human-AI自伤对话集非同源上进行独立评估
binary F1为\textbf{0.9848},确认泛化能力良好。
\subsubsection{消融实验}
\todo{消融实验表格待补充需GPU重训上下文信号消融Response-only / History+Response / Full}

View File

@@ -0,0 +1,194 @@
% ============================================================
\section{Module CRL自适应干预策略}
\label{sec:moduleC}
% ============================================================
\subsection{问题建模}
将干预动作选择建模为马尔可夫决策过程MDP
给定当前时刻$t$的检测结果$D_t$和上下文信息,
策略$\pi$输出干预动作$a_t$
\begin{equation}
a_t = \pi(s_t),\quad s_t = f(D_t,\ e_{H_\text{pool}},\ e_{P_\text{pool}},\ t_\text{norm})
\end{equation}
\subsubsection{动作空间}
干预动作集合$\mathcal{A} = \{\text{PASS, WARN, REWRITE, REJECT, CRISIS}\}$定义如下:
\begin{itemize}
\item \textbf{PASS}:放行,无干预(适用于安全内容)
\item \textbf{WARN}:向用户发送温和提示(适用于轻微不当)
\item \textbf{REWRITE}改写AI回复去除风险内容适用于中高风险
\item \textbf{REJECT}:拒绝当前回复,请求重新生成(适用于不可改写的高危内容)
\item \textbf{CRISIS}危机引导强制插入心理援助资源与现实求助信息适用于R1危机场景
\end{itemize}
这五类动作覆盖了平台实际运营中的完整干预响应谱,
代价和效益差异巨大——PASS最小侵入CRISIS最强干预。
\subsubsection{状态空间}
状态向量$s_t \in \mathbb{R}^{2065}$由以下分量拼接而成:
\begin{equation}
s_t = [d_\text{score}(1)\ |\ l^\text{det}_\text{onehot}(5)\ |\ c_\text{primary\_probs}(10)\ |\ e_{H_\text{pool}}(1024)\ |\ e_{P_\text{pool}}(1024)\ |\ t_\text{norm}(1)]
\end{equation}
其中$d_\text{score}$为检测器输出的风险概率,
$l^\text{det}_\text{onehot}$为检测器预测的风险等级one-hot编码使用检测器预测值而非真值
$c_\text{primary\_probs}$为10类一级风险的Softmax概率
$e_{H_\text{pool}},e_{P_\text{pool}}$为对话历史和角色设定的MacBERT池化嵌入
$t_\text{norm}$为归一化当前轮次。
注意:状态向量严格使用检测器的\textit{预测值}
而非ground truth标注以确保训练条件与部署条件的一致性。
\subsection{奖励函数设计}
奖励函数$r(s_t, a_t)$包含以下多目标分量:
\begin{equation}
r = w_1 \cdot r_\text{safety} - w_2 \cdot r_\text{fneg} + w_3 \cdot r_\text{crisis} - w_4 \cdot r_\text{over} - w_5 \cdot r_\text{ux}
\end{equation}
\begin{itemize}
\item $r_\text{safety}$:安全收益,对高风险内容采取适当干预时给正奖励($w_1=2.0$
\item $r_\text{fneg}$漏检惩罚L3/L4样本被PASS时给强惩罚$w_2=3.0$
\item $r_\text{crisis}$危机引导奖励R1危机场景触发CRISIS时额外奖励$w_3=4.0$
\item $r_\text{over}$过拒惩罚安全内容被REWRITE及以上干预时给惩罚$w_4=1.5$
\item $r_\text{ux}$:体验代价,强干预动作的用户体验损耗($w_5=0.5$
\end{itemize}
该多目标奖励显式建模了"安全保障"与"用户体验"之间的权衡,
避免策略退化为激进拒绝所有内容REJECT或消极放行所有内容PASS
\subsection{策略网络}
Actor-Critic网络以状态向量$s_t \in \mathbb{R}^{2065}$为输入:
\begin{equation}
\text{StateEncoder}:\ \mathbb{R}^{2065} \to \mathbb{R}^{256}
\quad \text{2层MLP + LayerNorm + GELU}
\end{equation}
Actor头和Critic头均以256维隐表示为输入
分别输出5类动作的logits和状态价值估计。
\subsection{两阶段训练}
\subsubsection{阶段一行为克隆预热BC}
以数据集中的推荐动作$a_\text{recommend}$为监督信号,
对策略网络进行5轮行为克隆预训练$\text{lr}=10^{-3}$批大小256
BC阶段使模型快速学习符合标注规律的基本干预模式
避免PPO从随机策略开始探索时的低效问题。
\subsubsection{阶段二PPO强化学习优化}
在BC预热的基础上使用PPO算法\cite{schulman2017ppo}
在CompanionRisk-Bench训练集上进行离线RL优化
\begin{table}[ht]
\centering
\caption{Module C PPO训练配置}
\label{tab:moduleC_train}
\begin{tabular}{ll}
\toprule
配置项 &\\
\midrule
总交互步数 & 200,000步 \\
每次rollout步数 & 2,048 \\
PPO更新轮次 & 4 \\
批大小 & 256 \\
学习率 & $3 \times 10^{-4}$ \\
裁剪系数$\epsilon$ & 0.2 \\
熵系数 & 0.01 \\
折扣因子$\gamma$ & 0.99 \\
GAE $\lambda$ & 0.95 \\
GPU & 1 $\times$ RTX 5090单卡\\
\bottomrule
\end{tabular}
\end{table}
注意PPO阶段强制使用单卡避免RTX 5090上
\texttt{torch.distributed.barrier()}引发的CUDA内存访问异常。
\subsection{实验结果}
\subsubsection{主要结果}
\todo{本节待填入Module C v5结果。下表中v3数字仅供参考v5完成后替换。}
\ref{tab:moduleC_main}对比了Module C与两个基线策略
Rule-basedl\_risk$\geq3$即REJECT其余PASS
和Threshold Baseline按风险分数设定各动作阈值
\begin{table}[ht]
\centering
\caption{Module C干预策略对比测试集$n=1,486$}
\label{tab:moduleC_main}
\begin{tabular}{lccccc}
\toprule
方法 & SafetyRecall & OverRefusal & ActionAcc & CrisisPrecision & UX Fscore \\
\midrule
Rule-based & 0.908 & 0.000 &&& 0.952 \\
Threshold & 0.908 & 0.000 && 0.624 & 0.952 \\
LLM-as-judge & \todo{} & \todo{} & \todo{} & \todo{} & \todo{} \\
\midrule
\textbf{OursRL v5} & \todo{} & \todo{} & \todo{} & \todo{} & \todo{} \\
参考RL v3 & 1.000 & 0.004 & 0.575 & 0.421 & 0.998 \\
\bottomrule
\end{tabular}
\end{table}
\subsubsection{各风险等级动作分布}
\ref{tab:per_level_action}展示三种方法在各风险等级上的动作分布,
直观体现了RL策略的细粒度判断能力。
\begin{table}[ht]
\centering
\caption{各风险等级动作分布测试集v3结果v5待替换}
\label{tab:per_level_action}
\resizebox{\textwidth}{!}{%
\begin{tabular}{llrrrrrr}
\toprule
方法 & 等级 & $n$ & PASS & WARN & REWRITE & REJECT & CRISIS \\
\midrule
\multirow{5}{*}{Rule-based}
& L0 Safe & 237 & 1.000 & 0.000 & 0.000 & 0.000 & 0.000 \\
& L1 Mild & 280 & 0.918 & 0.000 & 0.000 & 0.082 & 0.000 \\
& L2 Moderate & 317 & 0.420 & 0.000 & 0.000 & 0.580 & 0.000 \\
& L3 High & 456 & 0.114 & 0.000 & 0.000 & 0.886 & 0.000 \\
& L4 Critical & 196 & 0.041 & 0.000 & 0.000 & 0.959 & 0.000 \\
\midrule
\multirow{5}{*}{Threshold}
& L0 Safe & 237 & 1.000 & 0.000 & 0.000 & 0.000 & 0.000 \\
& L1 Mild & 280 & 0.843 & 0.075 & 0.082 & 0.000 & 0.000 \\
& L2 Moderate & 317 & 0.044 & 0.375 & 0.552 & 0.000 & 0.028 \\
& L3 High & 456 & 0.009 & 0.105 & 0.739 & 0.000 & 0.147 \\
& L4 Critical & 196 & 0.000 & 0.041 & 0.316 & 0.000 & 0.643 \\
\midrule
\multirow{5}{*}{\textbf{OursRL v3参考}}
& L0 Safe & 237 & 0.987 & 0.008 & 0.004 & 0.000 & 0.000 \\
& L1 Mild & 280 & 0.729 & 0.011 & 0.229 & 0.000 & 0.032 \\
& L2 Moderate & 317 & 0.000 & 0.000 & 0.902 & 0.000 & 0.098 \\
& L3 High & 456 & 0.000 & 0.000 & 0.871 & 0.000 & 0.129 \\
& L4 Critical & 196 & 0.000 & 0.000 & 0.633 & 0.000 & 0.367 \\
\bottomrule
\end{tabular}
}
\end{table}
RL策略的核心优势在于
1L2-L3层级主要选择REWRITE改写而非简单REJECT
平衡了安全性与用户体验;
2L3/L4样本的PASS率为0.0\%安全召回率达1.0
而规则基线由于检测器等级预测误差level\_weighted\_f1=0.559
导致9.2\%的高危样本被错误放行。
\subsubsection{消融实验}
\todo{消融实验待补充BC-only / w/o category-specific reward / v5完成后}

View File

@@ -0,0 +1,68 @@
% ============================================================
\section{实验}
\label{sec:experiments}
% ============================================================
\subsection{实验设置}
\subsubsection{评测集}
所有实验均在CompanionRisk-Bench测试集$n=1,486$)上进行。
为验证泛化性Module B的评估额外在non-homogeneous子集
393条真实人-AI对话上进行独立报告。
\subsubsection{评测指标}
\textbf{检测任务Module B}
\begin{itemize}
\item Binary F1有风险/无风险二分类F1
\item High-risk Recall高风险样本$y_\text{risk}=1$的召回率)
\item False Negative Rate (FNR)(漏检率)
\item Level Weighted F1风险等级5分类加权F1
\item Fine Macro F114类细粒度标签宏平均F1
\end{itemize}
\textbf{干预任务Module C}
\begin{itemize}
\item Safety RecallL3/L4高风险样本被正确干预比例
\item Over-refusal RateL0安全样本被REWRITE及以上干预的比例
\item Action Accuracy与标注推荐动作$a_\text{recommend}$的吻合率)
\item Crisis PrecisionCRISIS动作中L4样本的比例
\item Safety-UX F-score安全召回率与过拒率的调和平均衍生得分
\end{itemize}
\subsubsection{基线方法}
\textbf{检测基线}
L1a关键词匹配、L1b正则词典、L1c组合
\todo{L2Llama Guard v2、WildGuard、OpenAI Moderation待运行}
\textbf{干预基线}
Rule-based$l_\text{risk} \geq 3$即REJECT其余PASS
Threshold Baseline按风险分数阈值映射动作
\todo{LLM-as-judgeQwen2.5-72B直接判断待运行}
\subsection{RQ1检测性能分析}
详细结果见第\ref{sec:moduleB}节表\ref{tab:moduleB_main}和表\ref{tab:per_category_recall}
Module B在所有指标上大幅优于基线。
值得关注的是,通用守卫模型(\todo{Llama Guard v2、WildGuard}
在伴侣特有风险类别R3情感操纵、R4现实隔离等上的召回率
预期显著低于整体水平,
体现了CompanionRisk Taxonomy的必要性。
\subsection{RQ2干预策略比较}
\todo{本节主要结果待Module C v5完成后填入。}
核心发现基于v3结果
RL策略在safety\_recall1.0 vs 0.908)和
UX F-score0.998 vs 0.952)上均优于两个基线策略,
证明了可学习干预策略相比固定规则的优越性。
\subsection{RQ3消融实验}
\todo{消融实验表格待补充。预期包含:
(1) Module BResponse-only / History+R / Persona+R / Full
(2) Module CBC-only / RL w/o category reward / Full RL。}

View File

@@ -0,0 +1,61 @@
% ============================================================
\section{讨论与局限}
\label{sec:discussion}
% ============================================================
\subsection{RL策略的行为解读}
从表\ref{tab:per_level_action}的动作分布可以观察到RL策略的几个显著特征
\textbf{检测器误差的鲁棒性。}
规则基线在L3/L4上的safety\_recall仅为0.908
根源在于检测器的等级预测存在误差level\_weighted\_f1=0.559
导致约9.2\%的高危样本被预测为低等级后通过规则漏检。
RL策略综合利用风险概率$d_\text{score}$、一级类别分布$c_\text{primary\_probs}$
和上下文嵌入等多维信号,在检测器等级预测不完美的情况下
仍实现safety\_recall=1.0,体现了多信号融合的优势。
\textbf{动作细粒度化。}
RL策略在L2-L3层级主导选择REWRITE改写
而规则基线在L2-L3层级主导选择REJECT拒绝
在L1层级主导选择PASS放行
REWRITE在保障安全的同时对用户体验的损耗远小于REJECT
体现了策略对安全-体验权衡的主动优化。
\subsection{当前局限性}
\textbf{局限一action\_accuracy偏低当前v3: 0.575)。}
action\_accuracy衡量RL策略与数据集标注推荐动作$a_\text{recommend}$的一致率。
偏低的主要原因在于:
1$a_\text{recommend}$本身基于风险等级规则映射生成,
在L1/L2边界层级存在固有歧义WARN vs REWRITE的合理性相近
2RL策略优化的是\textit{多目标奖励}而非对齐$a_\text{recommend}$
其在关键安全指标safety\_recall、UX F-score上的优势
不应被单一action\_accuracy遮蔽。
\todo{v5更新基于对标注动作合理性的更精准评估action\_accuracy预期提升。}
\textbf{局限二crisis\_precision不足当前v3: 0.421)。}
CRISIS动作精准率低的主要原因是R1危机类训练样本稀少
全集约410条仅占总样本4.1\%
导致策略倾向于在非R1的高风险场景下也触发CRISIS。
\todo{v5更新通过类别感知奖励和针对R1的专项激励crisis\_precision预期提升至0.65+。}
\textbf{局限三:数据集同源性。}
CompanionRisk-Bench的9,896条样本中
约91\%8,000+1,083条由LLMQwen2.5-72B生成。
尽管非同源子集human subset上的binary F1为0.9848
证明了跨来源泛化性,
但大规模部署前仍需要在更多真实平台对话上进行验证。
\textbf{局限四:跨语言泛化未验证。}
本文主要面向中文情感陪伴场景,
英文伴侣平台Replika、Character.AI的泛化性
是未来工作方向。
\subsection{伦理声明}
CompanionRisk-Bench数据集涉及自伤、危机、隐私诱导等
敏感内容,均来源于合成生成或已公开的研究数据集,
不包含真实用户的个人信息。
数据集发布时将提供合理使用条款,仅限于安全研究用途。
\todo{补充数据集伦理审查/IRB声明如有}

View File

@@ -0,0 +1,27 @@
% ============================================================
\section{结论}
\label{sec:conclusion}
% ============================================================
本文提出CompanionGuard-RL一个将情感陪伴AI安全建模为
"检测+自适应干预"统一流水线的框架,填补了现有守卫模型
在伴侣特有关系性风险识别和干预决策两个维度上的空白。
在检测层面Module B基于MacBERT-Large与跨注意力机制
在自建CompanionRisk-Bench评测集9,896条涵盖10类一级风险和14个细粒度标签
实现binary F1 = 0.9995FNR = 0.0\%
相比关键词/正则规则基线提升两个数量级,
并在非同源人工数据上验证了跨来源泛化性binary F1 = 0.9848)。
在干预层面Module C通过行为克隆预热+PPO强化学习
学习在检测器信号与上下文嵌入基础上进行多目标优化的干预策略。
与规则基线相比RL策略的安全召回率1.0 vs 0.908
和安全-体验综合得分0.998 vs 0.952)均显著更优,
同时通过细粒度动作分布体现了检测器等级误差下的鲁棒干预能力。
CompanionRisk Taxonomy、CompanionRisk-Bench数据集
和CompanionGuard-RL框架代码将公开发布
以推动情感陪伴AI安全领域的研究。
未来工作将重点优化CRISIS动作精准率、
增加跨语言泛化验证,
并探索基于人类反馈的干预策略精化。