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

技巧1:快速读取数据

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

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

  • pandas读取时手动设置变量类型

  • 使用cudf代替pandas完成读取

  • 转为parquetfeather再进行读取

技巧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

 
 

88d7fa5e85bfcedec82331ffdbc2c636.jpeg

 
 
 
 
 
 
 
 
往期精彩回顾




适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑机器学习交流qq群955171419,加入微信群请扫码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值