返回列表

12th Place Short Summary

498. Foursquare - Location Matching | foursquare-location-matching

开始: 2022-04-14 结束: 2022-07-07 商品理解 数据算法赛
第12名简短总结

第12名简短总结

作者:Matt Motoki | 比赛排名:第12名

感谢 Kaggle 和 Foursquare 举办了这场比赛。这是一个有趣且充满挑战的比赛。我们的团队并不知道数据泄露的存在,但我们的解决方案很可能受到了它的影响。我们的最终方法是对 XGBoost、CatBoost 和一个基于语言模型的神经网络的加权平均。这是我们团队与其他参赛者分享的解决方案有所不同的一些事情的简要总结。

候选生成

Kosuke 的候选生成是我们解决方案的主要组成部分之一。最终,我们在每个 id 使用 25 个候选者的情况下达到了 0.97675 的最大 IoU。

  • 我们通过三种不同的方式提取候选者:
    1. 经纬度 top-k
    2. 名称 & 经纬度 嵌入 top-k
    3. 类别 & 经纬度 嵌入 top-k
  • 名称 & 经纬度 和 类别 & 经纬度 是它们嵌入的简单拼接。
    1. 我们使用 Universal Sentence Encoder 来创建嵌入。
    2. 世界上有很多同名数据,例如星巴克。拼接嵌入是为了提取距离较近的同名地点。这利用了经纬度 L2 距离的数量级远小于名称嵌入 L2 距离的数量级这一事实。
    3. 类别嵌入是每个类别的平均嵌入。
  • 我们选取了 15 个经纬度邻居,15 个名称 & 经纬度邻居,以及 10 个经纬度 & 类别邻居。然后我们在其中挑选距离最小的 top-k 样本。请注意,我们为每个 id 提取的候选者数量超过了预定义的最小数量。

后处理

后处理提升了我们在排行榜上的分数。我们从图中创建了一个软邻接矩阵,其中节点是地点,边是匹配概率。首先,我们使用预测概率大于 0.5 的边找到所有存在的 1 跳路径(这等同于大多数公开笔记本中使用的后处理方法)。然后,我们使用预测概率大于 0.9 的边找到所有存在的 2 跳路径。我们对 3、4 和 5 跳路径分别重复此操作,阈值分别为 0.95、0.998 和 0.999。最后,如果两个地点之间存在至少一条这样的 n 跳路径,我们就预测这两个地点是匹配的。

同比赛其他方案