コンペティション
トピック
ランキング
新規登録
ログイン
スパムメール判別
スパムメールフィルターの開発にチャレンジ!
賞金:
100,000
円
参加ユーザー数: 262
4年弱前に終了
参加する
基本情報
トピック
リーダーボード
基本情報
トピック
リーダーボード
ksar
thumb_up
3
folder_special
0
PyTorch
BERT
Solution
6th Place Solution
6th Place Solution
pre-process
メール内の一番最初の改行コードを[SEP]に置換
メールのタイトルと本文をBERTに区別して入力
文頭の"Subject: "は除去しなかった
modeling
Stratified 5-Fold
models
BERT
RoBERTa
Electra
上記3つの出力の平均をとってアンサンブル
各層の[CLS]のhidden stateの重み付き平均を出力
重みが合計1になるように制約をかけて,訓練可能なパラメータとした
Google QUEST Q&A Labeling 1st place より
https://www.kaggle.com/c/google-quest-challenge/discussion/129840
各層ごとにlearning rateを設定
出力から遠い層ほど小さくなるように設定
How to Fine-Tune BERT for Text Classification? より
https://arxiv.org/abs/1905.05583
multi-sample dropout
Multi-Sample Dropout for Accelerated Training and Better Generalization より
https://arxiv.org/abs/1905.09788
cosine_schedul_with_warmup
post-process
出力結果が7838:17000になるように最適化
SIGNATE Sutudent Cup 2020 より
https://signate.jp/competitions/281/discussions/20200816040343-8180
タイトル,本文ともにnullであるメール('Subject: \r\n')を0と予測
what did not work
本文中に多く登場した'enron', 'ect', 'hou'をtokenizerの辞書に追加
XLNet
もっとしっかりチューニングをすれば効果的だったかもしれない
反省
前処理を蔑ろにしすぎました.せめてBeautiful Soupくらいは試すべきでした.
preprocess用の関数は作っていましたが,どこからも呼び出されていないことに終盤で気づきました.
他の方の解法を見て気づきましたが,今回のようなスコアが高くなりやすいコンペではpseudo labelingを試すべきでした.
テストデータのラベルの割合は使用して良いのか迷いましたが,ルール上大丈夫そうかなと判断しました.
実運用を考えると絶対に使えない手法なのであまり褒められた手法ではないですが…
謝辞
ProbSpaceの運営の皆様,本コンペの運営お疲れ様でした.ありがとうございました.次のコンペも楽しみにしています.
code
https://github.com/tealgreen0503/probspace-spam-mail-competition
new user
コメントするには
新規登録
もしくは
ログイン
が必要です。