540. Learning Equality - Curriculum Recommendations | learning-equality-curriculum-recommendations
我之前在 Kaggle 上休息了很长一段时间,因为我认为这次比赛与我正在开发的应用程序 Epicurus 非常相关,所以我回来参加了这次比赛。这次休息让我怀念起 Kaggle,并在这个比赛中保持了动力。
我的正式方案和效率方案非常相似。所以我将同时描述它们。我希望很快能重构我的代码并分享到 Github 上。
候选选择(检索方法) -> 特征工程 -> Lightgbm -> 后处理
在比赛结束时,我的验证分数为 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.'
为每种语言创建字符 4-gram TFIDF 稀疏向量,并使用 sparse_dot_topn 进行匹配,这是我合著的一个包 (https://github.com/ing-bank/sparse_dot_topn)。它运行速度非常快且内存效率高。对于每个主题,检索余弦相似度高于 1% 的前 20 个匹配项。
我在效率赛道使用了 paraphrase-multilingual-MiniLM-L12-v2,在正式比赛中使用了 bert-base-multilingual-uncased、paraphrase-multilingual-mpnet-base-v2(实际上是 xlm-roberta-base)和 xlm-roberta-large 的集成。
编辑:模型在最后使用全部数据重新训练以进行提交。
检索同一语言内容中的前 20 个匹配项。
此外,对于每个主题,找到其最接近的训练集主题,并将其内容匹配项作为二阶匹配检索。
对于每个主题,找到具有相同标题的训练集主题,并检索它们匹配的内容。
对于每个主题,找到具有相同表示文本的训练集主题,并检索它们匹配的内容。
对于每个主题,找到具有相同父主题的训练集主题,并检索它们匹配的内容。
所有检索到的主题-内容对进行外连接。