Kaggle文本分類比賽怎麽比?

技巧1:快速讀取數據

現在很多Kaggle比賽,數據集都比較大,大於(yu) 3GB是非常常見的事情。在讀取數據集時,可能會(hui) 遇到一些困難。

你可以嚐試以下的方法加速數據讀取:

  • 在pandas讀取時手動設置變量類型
  • 使用cudf代替pandas完成讀取
  • 轉為parquet或feather再進行讀取

技巧2:擴充數據集

當比賽數據集非常小時,外部數據集就非常關(guan) 鍵了。此時可以尋找相似的外部數據集來完成預訓練。

例如對於(yu) QA任務,可以選擇以下的數據完成預訓練。

  • https://rajpurkar.github.io/SQuAD-explorer/
  • https://nlpprogress.com/english/question_answering.html

當然也可以從(cong) 偽(wei) 標簽和數據擴增和回譯來增加數據樣本。

技巧3:深入文本數據

文本分析

EDA有助於(yu) 更好地理解數據。在開始開發機器學習(xi) 模型之前,應該閱讀/做大量的數據文本,這有助於(yu) 特征工程和數據清洗。

  • 文本長度規律
  • 語種規律
  • 標點符號規律
  • 特殊字符規律

文本清洗

文本清理是NLP賽題中的重要組成部分。文本數據總是需要一些預處理和清理,然後我們(men) 才能用合適的形式表示它。

  • Remove HTML tags
  • Remove extra whitespaces
  • Convert accented characters to ASCII characters
  • Expand contractions
  • Remove special characters
  • Lowercase all texts
  • Convert number words to numeric form
  • Remove numbers
  • Remove stopwords
  • Lemmatization

技巧4:文本表示

文本表示方法影響文本的表示形式,也決(jue) 定了模型的精度。基礎的詞向量包括:

  • PretrainedGlovevectors
  • Pretrainedfasttextvectors
  • Pretrainedword2vecvectors
  • PretrainedParagramvectors
  • Universal Sentence Encoder

也可以考慮組合上述詞向量以減少OOV的情況,當然同一個(ge) 單詞也可以拚接或平均多種詞向量。

也可以直接考慮直接使用高階嵌入方法:

  • Bert
  • Roberta Bert
  • XLNET

技巧5:模型構建

損失函數

  • 二分類Binary cross-entropy
  • 多分類Categorical cross-entropy
  • 二分類Focal loss
  • 多分類Weighted focal loss
  • 多分類Weighted kappa

優化器

  • SGD
  • RMSprop
  • Adagrad
  • Adam
  • Adam with warmup

Callback

  • Model checkpoint
  • Learning rate scheduler
  • Early Stopping

【競賽報名/項目谘詢+微信:mollywei007】

上一篇

Kaggle賽題解析:OTTO電商商品推薦

下一篇

英國有哪些王牌本科專業值得申請?

你也可能喜歡

  • 暫無相關文章!

評論已經被關(guan) 閉。

插入圖片
返回頂部