返回列表

1st Place Solution

540. Learning Equality - Curriculum Recommendations | learning-equality-curriculum-recommendations

开始: 2022-12-15 结束: 2023-03-14 个性化学习 数据算法赛
第1名解决方案

第1名解决方案

作者:Ahmet Erdem (Grandmaster)
比赛:Learning Equality - Curriculum Recommendations

我之前在 Kaggle 上休息了很长一段时间,因为我认为这次比赛与我正在开发的应用程序 Epicurus 非常相关,所以我回来参加了这次比赛。这次休息让我怀念起 Kaggle,并在这个比赛中保持了动力。

我的正式方案和效率方案非常相似。所以我将同时描述它们。我希望很快能重构我的代码并分享到 Github 上。

流程

候选选择(检索方法) -> 特征工程 -> Lightgbm -> 后处理

验证方案

  • 单折验证(1 fold validation)
  • 选择所有源主题和其他主题中随机 67% 的主题作为训练集。其余作为验证主题。
  • 仅与验证主题匹配的内容从训练集中排除。
    为了评估,验证主题与所有内容匹配,并计算比赛指标。
  • 在候选集上训练 lightgbm 模型时,在验证集上使用了基于 topic_id 的 group4fold。评估随后在整个验证集上进行。

在比赛结束时,我的验证分数为 0.764,LB(Public Leaderboard)为 0.727。虽然差距很大,但验证分数的提高几乎总是与 LB 相关。而且我得到了与验证分数相同的 Private LB 分数,这是我没想到的。

编辑:效率模型的验证分数为 0.718,Public LB 为 0.688,Private LB 为 0.740,CPU 运行时间约为 20 分钟。

主题/内容表示

每个主题使用其标题、描述及其在树中向上 3 级父节点的标题表示为文本。例如:

'Triangles and polygons @ Space, shape and measurement @ Form 1 @ Malawi Mathematics Syllabus | Learning outcomes: students must be able to solve problems involving angles, triangles and polygons including: types of triangles, calculate the interior and exterior angles of a triangle, different types of polygons, interior angles and sides of a convex polygon, the size and exterior angle of any convex polygon.'

每个内容使用其标题、类型和描述(如果没有描述则使用其文本)表示为文本。例如:

'Compare multi-digit numbers | exercise | Use your place value skills to practice comparing whole numbers.'

候选选择

TFIDF

为每种语言创建字符 4-gram TFIDF 稀疏向量,并使用 sparse_dot_topn 进行匹配,这是我合著的一个包 (https://github.com/ing-bank/sparse_dot_topn)。它运行速度非常快且内存效率高。对于每个主题,检索余弦相似度高于 1% 的前 20 个匹配项。

Transformer 模型

我在效率赛道使用了 paraphrase-multilingual-MiniLM-L12-v2,在正式比赛中使用了 bert-base-multilingual-uncased、paraphrase-multilingual-mpnet-base-v2(实际上是 xlm-roberta-base)和 xlm-roberta-large 的集成。

  • 序列长度:64。但只有输出的前一半用于表示向量的平均池化。后一半仅作为上下文输入。这对我来说效果最好。
  • Arcface 训练:训练内容被用作类别。因此主题具有多个类别和 l1 归一化的目标向量。边距从 0.1 开始,在 22 个 epoch 结束时线性增加到 0.5。前 2 个和后 2 个 epoch 的学习率明显较低。Arcface 类中心使用从预训练模型提取的内容向量进行初始化。
  • 集成方法:l2 归一化后的拼接

编辑:模型在最后使用全部数据重新训练以进行提交。

检索同一语言内容中的前 20 个匹配项。

此外,对于每个主题,找到其最接近的训练集主题,并将其内容匹配项作为二阶匹配检索。

来自相同标题主题的匹配

对于每个主题,找到具有相同标题的训练集主题,并检索它们匹配的内容。

来自相同表示文本主题的匹配

对于每个主题,找到具有相同表示文本的训练集主题,并检索它们匹配的内容。

来自相同父主题的匹配

对于每个主题,找到具有相同父主题的训练集主题,并检索它们匹配的内容。

所有检索到的主题-内容对进行外连接。

特征工程

  • tfidf 匹配分数
  • 按主题 id 的最大 tfidf 匹配分数
  • 按主题 id 的最小 tfidf 匹配分数
  • 向量余弦距离
  • 按主题 id 的最大向量余弦距离
  • 按主题 id 的最小向量余弦距离
同比赛其他方案