Slide 1

Slide 1 text

問題設定/データの説明 Sansan株式会社 技術本部 DSOC Automationグループ 研究員 内⽥ 奏 ヤンチャなベースラインも添えて

Slide 2

Slide 2 text

問題設定について

Slide 3

Slide 3 text

Data Strategy and Operation Center 項⽬ラベルを予測せよ! 概要 • ⽂字列検出矩形の位置情報から項⽬ラベル(⽒名・E-mail等)を推定 出題の背景・意図 • 名刺⼊⼒では,⽂字列検出→項⽬ラベル推定→項⽬⼊⼒の順に処理 > 項⽬ラベルを間違えると後段処理に悪影響があり,⾼い精度が求められる • 画像特徴を⽤いない軽量なモデルを構築したい > パフォーマンス・移植性の観点から 名刺取り込み ⽂字列検出 セキュリティー項⽬細分割、項⽬⼊⼒ 項⽬ラベル推定

Slide 4

Slide 4 text

Data Strategy and Operation Center データ説明 3 train.csv / test.csv • 名刺ID, 矩形の位置情報, クラスID(予測対象)で構成 • test.csv はクラスIDを含まない cards.csv • 名刺IDごとの画像サイズ categories.csv • クラスIDとクラス名のマッピング bcid left top right bottom class_id 000612e… 68 487 721 517 4 000612e… 191 552 375 577 5 000612e… 192 586 376 610 6 000612e… 222 105 893 179 2 … … … … … … train.csv bcid width height 000612e… 1080 645 … … … cards.csv class_id class_name 0 full_name … … categories.csv ※Sansan, Eightの名刺データ化の過程で⽣成されたデータ. 個⼈情報を含まない統計情報として利⽤規約の範囲内で提供.

Slide 5

Slide 5 text

Data Strategy and Operation Center (余談) 出題の経緯 4 社内で開催していた集合勉強会での案を流⽤ • 集合: 順序に意味を持たないデータ構造 e.g., 1, 2 = {2, 1} • モデルの⼊出⼒によって下記の性質を持つ > Permutation Invariant: ⼊⼒順序を⼊れ替えても出⼒が変化しないこと > Permutation Equivariant: ⼊⼒順序を⼊れ替えると順序のみ⼊れ替わった出⼒が得られること 𝑓 😃, 😃, 😡 = 0, 0,1 𝑓 😡, 😃, 😃 = 1,0, 0 𝑓 1, 2, 3 = 6 𝑓 3, 2, 1 = 6 Invariant なモデルの例 (加算) Equivariant なモデルの例 (異常検知)

Slide 6

Slide 6 text

Data Strategy and Operation Center (余談) 取り組み概要 5 集合モデルをパッケージ化 論⽂の再現実装 (上: MNIST※画像の加算, 下: 異常検知) ※THE MNIST DATABASE of handwritten digits - http://yann.lecun.com/exdb/mnist/

Slide 7

Slide 7 text

ヤンチャなベースラインについて 😈

Slide 8

Slide 8 text

Data Strategy and Operation Center ヤンチャなベースライン v1 モデル: • Transformer Encoder (6 layers) • 参考は Set Transformer [J. Lee+ NeurIPS2019] > Encoder-decoder で構成された Permutation Invariant なモデル > Encoder だけ⾒ると Positional Encoding を加えない Transformer Encoder 前処理 • [0, 1] 正規化のみ Public score • 0.7486 [J. Lee+ NeurIPS2019] J. Lee, et. al, “Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks,” in NeurIPS, 2019, vol. 97, pp. 3744–3753.

Slide 9

Slide 9 text

Data Strategy and Operation Center モデルのコード 8 これだけ!!! 標準モジュール便利!!!

Slide 10

Slide 10 text

Data Strategy and Operation Center ヤンチャなベースライン v2 9 Unseenクラスへの対応 1. testの⽅が1枚あたりのピース数が多いことを確認 2. Unseen クラスはどこかのクラスに多く混同されてると仮定し, 出現回数の増加が著しいクラスを⾒てみる (今回は class_id=3) 3. なんとなく傾向が⾒えたので,trainより端にある矩形を class_id=9 とみなす train test 閾値調整で⼤体10sub消費?

Slide 11

Slide 11 text

Data Strategy and Operation Center ヤンチャなベースライン v2 10 モデル • Transformer Encoder (12 layers) > (6 layers のまま出そうとしたが, colum2131 さんに負けてたのが悔しかった) > (出すタイミングを伺っていたら1位を取り損ねた) Public score • 0.8147

Slide 12

Slide 12 text

Data Strategy and Operation Center まとめ 11 問題設定/データの説明 • 項⽬ラベルを予測せよ!!! • 矩形情報のみから構成されたシンプルなデータを提供 • 出題背景のご紹介 ベースライン • シンプルな Transformer によるベースライン • 簡単な後処理の紹介 v3はここにおりました