暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

5招教你搞定Kaggle文本分类比赛

Coggle数据科学 2022-10-31
543

技巧1:快速读取数据

现在很多Kaggle比赛,数据集都比较大,大于3GB是非常常见的事情。在读取数据集时,可能会遇到一些困难。

你可以尝试以下的方法加速数据读取:

  • pandas
    读取时手动设置变量类型
  • 使用cudf
    代替pandas
    完成读取
  • 转为parquet
    feather
    再进行读取

技巧2:扩充数据集

当比赛数据集非常小时,外部数据集就非常关键了。此时可以寻找相似的外部数据集来完成预训练。

例如对于QA任务,可以选择以下的数据完成预训练。

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

当然也可以从伪标签
数据扩增
回译
来增加数据样本。

技巧3:深入文本数据

文本分析

EDA
有助于更好地理解数据。在开始开发机器学习模型之前,应该阅读/做大量的数据文本,这有助于特征工程和数据清洗。

  • 文本长度规律
  • 语种规律
  • 标点符号规律
  • 特殊字符规律

文本清洗

文本清理是NLP赛题中的重要组成部分。文本数据总是需要一些预处理和清理,然后我们才能用合适的形式表示它。

  • 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:文本表示

文本表示方法影响文本的表示形式,也决定了模型的精度。基础的词向量包括:

  • Pretrained Glove
    vectors
  • Pretrained fasttext
    vectors
  • Pretrained word2vec
    vectors
  • Pretrained Paragram
    vectors
  • Universal Sentence Encoder

也可以考虑组合上述词向量以减少OOV的情况,当然同一个单词也可以拼接或平均多种词向量。

也可以直接考虑直接使用高阶嵌入方法:

  • 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

 竞赛交流群 邀请函  #

△长按添加竞赛小助手
添加Coggle小助手微信领取代码(ID : coggle666)

每天Kaggle算法竞赛、干货资讯汇总

与 28000+来自竞赛爱好者一起交流~



文章转载自Coggle数据科学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论