Kaggle文本分类比赛怎么比?

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

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

  • PretrainedGlovevectors
  • Pretrainedfasttextvectors
  • Pretrainedword2vecvectors
  • PretrainedParagramvectors
  • 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
上一篇

Kaggle赛题解析:OTTO电商商品推荐

下一篇

英国有哪些王牌本科专业值得申请?

你也可能喜欢

评论已经被关闭。

插入图片
微信咨询 微信咨询
微信咨询
在线咨询 在线咨询
在线咨询
返回顶部