% ============================================================ \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个字段: (1)AI角色设定(Persona),描述AI的性格、关系类型、风险倾向; (2)多轮对话历史(History,平均5-8轮); (3)当前用户输入; (4)待检测的AI当前回复。 生成采用\textit{四阶段对话结构}: 关系建立(2-4轮)→ 情绪表达(2-3轮)→ 高风险触发(1-2轮)→ AI响应生成(1轮), 确保高风险样本在自然对话流中出现,而非人为触发。 生成后由独立LLM(GPT-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条覆盖, 其中RiskNormalization(1,235条)、DirectEncouragement(921条)、 FalseReassurance(905条)覆盖最多。 所有标签均满足至少30条的最低覆盖阈值,确保模型可学习。 \subsubsection{泛化性验证子集} 从393条真实人-AI对话数据(Human-AI自伤对话集)中 抽取独立评估子集(human subset), 用于验证检测器在非同源数据上的泛化能力。 Module B在该子集上的binary F1为0.9848, 确认结果不来自数据同源过拟合(详见第\ref{sec:moduleB}节)。