Help us understand the problem. What is going on with this article?

[Survey] Kaggle - Quora 1位解法まとめ

More than 3 years have passed since last update.

Kaggle - Quora Question Pairs1の1位解法2の調査記事です.

Author: Maximilien@DAMI
Title: Quora Question Pairs
Discussion URL: https://www.kaggle.com/c/quora-question-pairs/discussion/34355


特徴量

分散表現

  • 単語単位: Word2Vec
  • 文単位: Doc2Vec, Sent2Vec
    • 文の分散表現は単語単位に比べて上手くいかなかったとのこと.
  • SNLI3で学習済みのESIM4

古典手法

  • LDAやLSIでの類似度
  • bag of character N-gram(TFIDFとそのままの両方)での類似度(N=1〜8)
  • Abhishek氏5とowl6氏が提案した特徴量
  • レーベンシュタイン距離
  • 共通トークンの割合
  • 質問長,質問の長さの差
  • 大文字の数,クエスチョンマーク
  • 質問1と2が"Are", "Can", "How"などで始まっているかどうか
  • 様々な距離

データ生成時の構造

前提知識

サンプルデータの作り方に偏りがあって,質問IDをノード,質問1と2を辺としたグラフから得られる特徴量が性能改善につながっていた.


モデル

  • 学習済みGloVeでのSiamese LSTM7 8
  • 学習済みfastTextでのDecomposable Attention9
  • 学習済みfastTextでのESIM(単一モデルで最良の性能)

備考

  • 学習済みのfastTextやGloVeの重みを調整しても改善は見られなかった

サンプルごとの重みの調整

前提知識

  • 訓練データと検証データの正例と負例の比率が異なっている
  • そのため,訓練時には検証時に性能がもっとも発揮されるよう正例と負例の重みの割合を変えてあげる必要がある.

分割方法

  • さらに最適化するためのグラフ構造によって下記3パターンに細分化し調整

https://www.kaggle.com/c/quora-question-pairs/discussion/31179

下記の3パターンに分けた

  • qid1_count = qid2_count = 1
  • min_qid_count = 1 かつ max_qid_count > 1
  • min_qid_count > 1

Model Stacking

  • Layer 1: 300のモデル, PaulとLamのニューラルネット,XGBoost, LightGBM, Scikit Learnの関数(ET, RF, KNNなど)
  • Layer 2: 150のモデル, すべての入力,Layer1の予測値,ESIM
  • Layer 3: L1とL2のLassoでリッジ回帰
  • Layer 4: 2つの提出物を55:45の比率でブレンドして作成

References

namakemono
MNES Engineer Kaggle Expert
https://www.mnes.org/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした