- eval_sota_baselines_v2.py: optimized eval for WildGuard & ShieldGemma-2B
* ChineseTranslator: Helsinki-NLP/opus-mt-zh-en (local, no API)
* ShieldGemma: +4 companion-specific safety policies (crisis non-response,
dependency reinforcement, isolation reinforcement, minor intimacy)
* WildGuard: companion context injected into prompt + extended keyword parsing
* Default threshold lowered 0.5 → 0.3 for better recall
* Translation cache saved to experiments/translation_cache.json (reusable)
- tools/run_sota_v2.sh: one-command runner for both models on server
- paper/05_moduleB.tex: add †-adapted rows to SOTA table + updated discussion
explaining root causes (language barrier + taxonomy gap) and adaptation results
- paper/07_experiments.tex: update baseline description to include v2 adapted variants
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
96 lines
5.0 KiB
TeX
96 lines
5.0 KiB
TeX
% ============================================================
|
||
\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 F1(14类细粒度标签宏平均F1)
|
||
\end{itemize}
|
||
|
||
\textbf{干预任务(Module C)}:
|
||
\begin{itemize}
|
||
\item Safety Recall(L3/L4高风险样本被正确干预比例)
|
||
\item Over-refusal Rate(L0安全样本被REWRITE及以上干预的比例)
|
||
\item Action Accuracy(与标注推荐动作$a_\text{recommend}$的吻合率)
|
||
\item Crisis Precision(CRISIS动作中L4样本的比例)
|
||
\item Safety-UX F-score(安全召回率与过拒率的调和平均衍生得分)
|
||
\end{itemize}
|
||
|
||
\subsubsection{基线方法}
|
||
|
||
\textbf{检测基线}:
|
||
L1a(关键词匹配)、L1b(正则词典)、L1c(组合);
|
||
L2a(ShieldGemma-2B,binary F1=0.027,FNR=0.987)、L2b(WildGuard,binary F1=0.038,FNR=0.981);
|
||
L2a$^\dagger$(ShieldGemma-2B适配版,\todo{填v2结果})、L2b$^\dagger$(WildGuard适配版,\todo{填v2结果})
|
||
(适配策略:中文→英文翻译 + 伴侣专属策略注入 + 阈值=0.3)
|
||
|
||
\textbf{干预基线}:
|
||
Rule-based($l_\text{risk} \geq 3$即REJECT,其余PASS)、
|
||
Threshold Baseline(按风险分数阈值映射动作)、
|
||
LLM-as-judge(Qwen/Qwen2.5-72B-Instruct零样本直接判断干预动作,temperature=0)
|
||
|
||
\subsection{RQ1:检测性能分析}
|
||
|
||
详细结果见第\ref{sec:moduleB}节表\ref{tab:moduleB_main}和表\ref{tab:per_category_recall}。
|
||
|
||
Module B在所有指标上大幅优于基线。
|
||
值得关注的是,两款通用守卫模型均严重失效:
|
||
ShieldGemma-2B(FNR=0.987)与WildGuard(FNR=0.981)
|
||
在R3情感操纵、R4现实隔离、R10越界亲密等伴侣特有类别上召回率为0.0\%,
|
||
整体漏检率甚至高于简单关键词规则基线(L1c FNR=0.816)。
|
||
这一结果表明,通用安全分类体系与中文伴侣场景之间存在系统性偏差,
|
||
而本文Module B(FNR=0.000)通过专属分类体系和上下文感知架构有效弥补了这一差距。
|
||
|
||
\subsection{RQ2:干预策略比较}
|
||
|
||
RL策略(safety\_recall=0.953,UX F-score=0.976)
|
||
显著优于所有基线。
|
||
LLM-as-judge(Qwen2.5-72B零样本)表现最差(safety\_recall=0.397,over\_refusal=0.211,UX F-score=0.528):
|
||
逐级动作分布分析显示,该模型对L3/L4高风险内容倾向输出WARN而非REWRITE(L3高风险中PASS+WARN占63.6\%),
|
||
同时对11.0\%的安全样本误判为CRISIS,表明在伴侣场景专属五动作空间下,
|
||
零样本LLM在安全与体验的双向校准上存在系统性困难;
|
||
这进一步说明了针对该任务进行专项强化学习训练的必要性。
|
||
Rule-based(0.908 / 0.952)和Threshold(0.908 / 0.952)基线虽简单,其safety\_recall反而高于零样本LLM。
|
||
RL策略在action\_accuracy(0.706)上较纯行为克隆BC-only(0.696)提升1.4pp,
|
||
验证了PPO阶段对细粒度动作学习的必要性。
|
||
BC-only虽可达到较高safety\_recall(0.940),
|
||
但其action\_accuracy和crisis\_precision均低于完整RL策略,
|
||
说明强化学习阶段有效改善了动作精度。
|
||
|
||
\subsection{RQ3:消融实验}
|
||
|
||
消融实验结果详见第\ref{sec:moduleB}节表\ref{tab:moduleB_ablation}
|
||
和第\ref{sec:moduleC}节表\ref{tab:moduleC_ablation}。
|
||
|
||
\textbf{Module B输入信号消融(表\ref{tab:moduleB_ablation})。}
|
||
三个变体(Response-only、History+Response、Full P+H+R)的Binary F1
|
||
均达到0.9995,FNR均为0.0\%,表明AI回复文本本身已携带充分的二元风险信号。
|
||
Level Weighted F1和Fine Macro F1在三个变体间差异$\leq$0.025,
|
||
处于训练方差范围内,不构成系统性趋势。
|
||
完整模型通过CrossAttention融合Persona、History、Response三路输入,
|
||
保留了对R3情感操纵、R4现实隔离、R10越界亲密等
|
||
伴侣特有场景的上下文理解能力,为更大规模、更复杂场景的泛化提供了结构基础。
|
||
|
||
\textbf{Module C训练阶段消融(表\ref{tab:moduleC_ablation})。}
|
||
PPO阶段将safety\_recall从BC-only的0.940提升至0.953($+$1.3pp),
|
||
验证了强化学习对安全召回的正向贡献。
|
||
类别特定奖励使crisis\_precision从0.486提升至0.571($+$8.5pp),
|
||
代价是ActionAcc轻微下降(0.712$\to$0.706,$-$0.6pp):
|
||
这一下降源于奖励驱使策略将部分$a_\text{recommend}$标注为REWRITE的R1样本
|
||
合理升级为CRISIS,属于安全优先的设计取舍,而非性能退化。
|