Slide 1

Slide 1 text

Sansan x atmaCup #12 Solution概要 2021/11/04

Slide 2

Slide 2 text

たくさんの discussion ありがとうございました! コンペ終了後にたくさんのソリューションを共有い ただきました! ありがとうございます! こちらの内容をもとにどういう要素が決め手になっ ていたかを振り返っていきます。

Slide 3

Slide 3 text

問題のキーポイント 2つ 矩形自体+そのまわりの情報を使う必要があった ● 他にラベルXっぽい矩形があるから、この矩形はYかな?といったお気持ちを表現する必要がある 名刺ごとのラベル割当方法を工夫する必要があった ● 暗黙的な名刺ごとのラベルの制約条件を見定めなくてはならない ○ 名刺1枚に同じラベルが複数存在することはまれ ○ 名刺ごとに””うまく””ラベルを割り当てる必要がある ● trainに存在しないラベルを予測しなくてはならない ○ 指標 (macro-f1) の仕様上未知ラベルを無視する影響度が大きい ○ 見えないラベルを””うまく””予測する必要がある

Slide 4

Slide 4 text

矩形自体+そのまわりの情報 Transformer/GNNなど NN 系 ● 自然に扱えるため初手から性能が出ている人がお おい印象 LightGBM など GradientBoostedDecisionTree 系 ● 単に矩形+集約情報では弱い ● 同じ名刺の別の矩形への予測値を集約するなど 1-stage の予測値の集約をして初めてNNと同等 の性能になる ● 同一名刺内に同じラベルが存在しないことを捉え にくい? ● 初手LightGBMだと苦労が多かったかも? Label=X Label=X Label=X Label=X こっちもX これもX? ナイーブなラベル出力の例. 4つの矩形が同じラベ ルに割り当てられている、が本当? 他の矩形情報を取りこむ等工夫がないと、似た座標 にある矩形が同じラベルになりやすい。 きみもX??

Slide 5

Slide 5 text

暗黙的な名刺ごとのラベルの制約条件 tuboさんのdiscussionでの最適化を利用している人多数 ラベルの割当を組み合わせ最適化として定式化 ● 同一名刺内に同じラベルが出現しないようにしつつ ● 割り当てられたラベルの確率を最大化する

Slide 6

Slide 6 text

trainに存在しないラベルを予測しなくてはならない テストデータにしか無いラベルを割り当てる方法でさがついた ● 予測確率の最大値が小さいもの ● testデータに現れやすい矩形の場所を優先する方法 ● trainデータに未知ラベルっぽい矩形を混ぜ込んで学習させる 特に後者2つの[trainにはない場所や特性を持った矩形を割り当てる方法]が成果を出した 1stのお二人が詳しく話をしてくれるでしょう!

Slide 7

Slide 7 text

おまけ/上位陣のラベルごと正解率 上位陣のラベルごとスコ ア傾向 class_id=9がテストにし か存在しない未知ラベル 1st/2ndのチームは未知 ラベル対応に特に成功し ているチームだった. ラベルID