返回列表

20th place solution

574. CommonLit - Evaluate Student Summaries | commonlit-evaluate-student-summaries

开始: 2023-07-12 结束: 2023-10-11 智能评测 数据算法赛
第20名解决方案 - CommonLit评估学生摘要竞赛
解决方案作者:Moro (Kaggle Master)
竞赛排名:第20名
发布时间:2023年10月13日

感谢组织者举办这次有趣的竞赛,也感谢所有参与者的共同努力。以下分享我的解决方案。

解决方案概要

  • 添加prompt_text特征后,本地验证分数显著提升。实验发现测试集中的prompt_text非常长(超过4000字符),因此将最大长度设置为5000,这是本方案的关键点
  • 采用加权集成策略:deberta-v3-large + LightGBM = 7:3

解决方案架构图

1. 验证策略

  • 采用GroupKFold 4折交叉验证(groups=prompt_id)

2. deberta-v3-large 模型

  • 输入处理:
    • 输入格式:answer: 摘要文本 [SEP] title: 标题 | question: 问题 | text: 完整文本
    • 分词器最大长度:5000
    • 未进行文本清洗
  • 模型配置:
    • 预训练模型:microsoft/deberta-v3-large
    • 冻结前18层参数
    • 使用CLS token作为输出头
    • 位置编码最大长度扩展至5000
  • 训练参数:
    • 损失函数:SmoothL1Loss
    • 优化器:Adam
    • 批大小:2
    • 训练轮数:10
    • 学习率调度:余弦退火
  • 预测配置:
    • 最大token数:5000
    • 批大小:1
    • 仅使用2折(4折会导致超时)

3. LightGBM 模型

  • 特征维度:141个(包括词数、段落数、句数、空格数等统计特征)
  • 训练两个独立模型(分别预测内容分和表达分)

4. 模型集成

  • 采用加权平均法(权重通过训练集OOF调优确定)
  • 最终权重分配:deberta-v3-large : LightGBM = 7:3
ID 模型 本地CV 公开榜 私有榜
1 Deberta-v3-large (4折) 0.4964 超时 超时
2 Deberta-v3-large (2折) 0.5007 0.461 0.476
3 LightGBM 0.5532 0.495 0.516
4 集成模型(2+3) 0.4822 0.455 0.461

其他尝试

  • 池化层:效果基本相同
  • 隐藏层数量:无明显差异
  • LSTM/1D卷积层:效果不佳
  • 分层设置学习率:未带来提升
  • Longformer模型:无效
  • 使用Llama2摘要prompt_text:无效

添加prompt_text特征显著提升了本地验证分数,处理测试数据的长文本能力同样关键。虽然该提交未达奖牌线,但因本地分数可靠而被选为最终提交,对此决定感到满意。遗憾之处在于仅在竞赛结束前两天意识到文本长度问题,未能及时尝试4折模型。

感谢您的阅读。

同比赛其他方案