P5360. 客服质检终审分数与复核优先级预测
场次:2026年9月5日 · 类型:AI Coding · 来源:CodeFun2000 P5360
本题为 AI Coding 类型:没有传统输入输出与样例,交付物在 AICoder Gym 工作区按指标或契约评测。入口:AICoder Gym。
题目需求
-
先明确任务本质和信息边界。 需要为一批“首审已经完成、但二审和仲裁尚未发生”的客服质检会话,同时预测最终终审分数和复核优先级。当前
--input批次在预测时不能读取未来才会产生的二审、仲裁或终审结果;历史train.csv、valid.csv中已经成熟的adjudicated_score,以及reviewer_anchors.csv中预测时点之前已经完成仲裁的anchor_adjudicated_score可以合法使用。核心要求是严格区分“历史可用标签”和“当前批次未来标签”,避免任何终审信息泄漏。 -
按照
data/SCHEMA.md正确理解和使用字段。train.csv和valid.csv每行代表一条已经完成首审的客服质检会话,包含reviewer_id、rubric_id、review_week、业务类别、风险特征、自动质检信号、primary_review_score等字段;历史数据额外带有成熟的adjudicated_score。正式--input与训练数据的首审阶段字段结构一致,但不包含adjudicated_score。case_id只是用于样本识别和最终输出对齐,不应作为具有业务顺序含义的普通数值特征使用。 -
充分利用历史锚点对审核员评分偏差进行校准。
reviewer_anchors.csv中每条记录都是当前预测批次之前已经完成仲裁的历史锚点,包含reviewer_id、rubric_id、anchor_primary_score、anchor_adjudicated_score、anchor_recorded_week等信息。可以利用估计审核员长期偏高、偏低或在不同 rubric 下的系统性误差。最好考虑
reviewer_id × rubric_id、审核员整体偏差、rubric 整体偏差以及全局偏差之间的分层回退,不能假设验证或测试时所有审核员都一定在训练或锚点中出现。 -
训练一个能够预测最终终审分数的模型。 目标字段是历史数据中的
adjudicated_score,正式输出对应adjusted_score。模型既可以使用primary_review_score,也可以结合automation_quality_score、clarity_signal、resolution_signal、compliance_signal、empathy_signal、issue_complexity、policy_risk_score、customer_sentiment、渠道、队列、rubric、审核员校准特征等信息。题目重点不是盲目堆复杂模型,而是预测结果真正反映“预计终审分”,尤其要纠正审核员可能存在的系统性首审偏差。最终必须满足且不能出现 NaN 或 Inf。
-
利用公开验证集进行离线回测和方案选择。
data/train.csv可以用于构建预测模型,data/valid.csv带有成熟的adjudicated_score,可以用于公开回测、分组分析和调参。应重点检查整体预测误差,以及不同rubric_id、不同审核员、不同时间段、新审核员或锚点稀疏情况下的表现。不能因为公开验证集有终审标签,就把其中的真实adjudicated_score直接加入预测特征或设计只适用于当前验证数据的规则。 -
为每条会话构造真正有业务意义的
review_priority。 系统在每个预测批次中会按照review_priority从高到低,只选择固定比例、约 8% 的会话进行二审,因此这个字段本质上代表“有限复核资源优先投向谁”。它不应该依赖输入行顺序,也不应简单复制adjusted_score。合理的优先级可以综合预计首审纠偏幅度,例如再结合模型不确定性、审核员历史稳定性、rubric、风险和质量信号等信息。最终必须保证
且值越大表示越应该优先复核;相同优先级时系统会按
case_id稳定排序。 -
严格实现命令行输入输出契约。 程序必须从
work/根目录运行,并支持:python3 main.py \
--input <batch.csv> \
--anchors <reviewer_anchors.csv> \
--output <predictions.csv>--input指向当前待预测批次,--anchors指向预测时点前已经完成仲裁的锚点文件,--output指定输出路径。程序需要能够创建必要的父目录,并创建或覆盖输出文件。不能假设测试时一定使用题目目录中的固定文件名。 -
输出文件必须严格满足 schema 和样本覆盖要求。 输出必须是 UTF-8 CSV,并且只能包含以下三列,列名和顺序严格一致:
case_id,adjusted_score,review_priority输出必须恰好覆盖
--input中的全部case_id,不能新增、遗漏、重复或输出空 ID。评测会根据case_id进行对齐,而不是依赖 CSV 原始行顺序,因此算法不能利用“第几行”作为预测或优先级依据。所有数值都必须是合法有限值,并满足规定区间。 -
保证方案能处理未知审核员、锚点变化和不同数据 seed。 公开验证集可能出现训练集中没有见过的
reviewer_id,正式评测时锚点数量、审核员组成和数据分布也可能变化,因此不能把当前数据中的审核员、case ID、具体分数或固定排序硬编码进程序。对于没有 reviewer-specific anchors 的样本,应能够自动退化到 rubric 级、全局级或模型本身的预测。整个逻辑必须依赖字段和统计规律,而不是依赖当前这份数据中的某几个特殊值。 -
满足资源约束、可复现性要求并完成最终自检。 程序只能读取候选人可见的
data/文件以及命令行传入的输入和锚点文件,不能访问题目目录外的数据、网络或在线模型。如果模型训练、采样或初始化涉及随机过程,必须固定整数随机种子,确保相同输入得到稳定输出。完成后应至少自行检查:正式批次是否完全没有读取adjudicated_score;anchors 是否全部属于预测时点前已经完成的历史资料;输出case_id是否与输入一一对应;adjusted_score是否全部位于[0,100];review_priority是否全部位于[0,1];是否存在 NaN/Inf;新审核员是否能正常预测;优先级是否真正反映潜在复核价值而不是输入顺序;连续运行两次是否得到完全稳定的结果;更换数据生成 seed 后程序是否仍能正常运行。