数据科学竞赛-自然语言处理赛流程

自然语言处理赛流程

数据科学竞赛-自然语言处理赛流程_第1张图片

在NLP赛中,如今很多思路和CV赛是类似的,甚至Pipeline思路也是一致的。

简介

随着CV(计算机视觉)大量研究人员的涌入,相对而言,计算机视觉的发展进入了一个饱和时期,而自然语言处理的路还有很长,很多NLP科学家认为未来十年是NLP黄金的十年。

过去几年我们也看到了NLP领域很多突破性的成果,BERT、XLNet等模型的出现为NLP带来一些新的可能性,这些模型也被广泛使用在比赛中。

NLP主要有一些任务如文本分类、文本相似度、序列标注、阅读理解、机器翻译、信息抽取等,目前很多数据科学竞赛平台都举办了NLP比赛,并且最近有愈演愈烈之势。

赛前准备

参加NLP比赛必须要对赛题有充分的理解,也就是对赛题的背景知识有充足的了解。此外,可以查阅是否有过类似的任务,看看前人的解决方案,或者在其他人的baseline基础上修改(注意,从头开始码一个赛题的源码是很累且没有必要的,有很多人会开放他们的baseline源码,在这些baseline基础上修改会事半功倍。这点在Kaggle上尤为明显,Kaggle是一个非常优秀的比赛平台。

到了比赛后期,如果已经没有什么突破了,就到了组队的时机,一般选择排名差不多的组队,融合多人的结果会取得更好的效果。(前期不建议组队是因为一个队伍是有提交限制的,分开是为了更好的在一起。)

工具选择

NLP是个复杂的任务,要想取得不错的效果需要使用各种库,下面推荐几个常用的工具包。

  • Gensim
  • NLTK
  • TextBlob
  • CoreNLP
  • TensorFlow

数据探索

在NLP比赛中一般不使用EDA(探索性数据分析)来称呼自然语言任务中的数据探索,这是因为其数据大多格式统一(文本文件配以一个说明性表格文件)没必要进行过多的探索,达不到分析的地步(只需要示例性地探索说明文件和文本文件即可)。

  • 数据集存储信息

    通过shell脚本或者Python脚本了解数据集中数据的基本信息,如文本格式,标注方式(文件夹名称标注一批文本或者csv文件逐一标注每个文本,前者更加常用,适用于分布式存储和分类回归等多种任务)等。使用Python脚本更加灵活且保证整个项目的流程化。

  • 文本格式

    抽样显示文本及其标签或者标注,确认是否需要对文本进行进一步处理,如文本分类中每个文本是给的是否为分词后的结果。

作为比赛参与者,一般关系下面的信息即可。

  • 文本长度
  • 字频、词频
  • 标签的分布

数据预处理

数据决定了模型的上限,算法只是逼近这个上限,所以数据预处理很重要。这一部分主要介绍数据预处理的一些思路,分为中文和英文两种思路。

中文

  • 非文本内容删除(正则表达式)
  • 处理中文编码问题(转为UTF8)
  • 中文分词(Jiaba分词、pkuseg等)
  • 引入停用词(哈工大停用词表,停用词取出后的效果不一定很好,特别对于RNN这种序列模型)
  • 特征工程

英文

  • 非文本内容删除
  • 拼写检查及更正
  • 词干提取及词形还原(NLTK工具包)
  • 大小写转化
  • 特征工程

Pipeline制定

目前对NLP比赛,分为两种方法,为传统方法和深度方法。不过近年来,深度方法取得了更好的效果,所以比赛中较好的表现大多都采用了深度方法,尤其是一些新模型。

文本特征构建及建模

文本特征的构建核心的思路就是为每个文本(一句或者一段或者一篇文章)生成一个结构化的特征,方便分类器的训练。

如何生成这种文本的结构化特征,目前主要有两种整体思路,分别为传统方法(机器学习方法)和深度学习方法。

  • 传统方法

    主要有LDA主题模型、LSI主题模型、TFIDF(词频逆文档频率)等文本特征提取的方法。一般采用传统方法进行特征提取,也会使用传统的机器学习模型进行建模处理,常用的机器学习模型有逻辑回归(LR)、支持向量机(SVM)、LightGBM等。

  • 深度方法
    主要采用深度网络进行特征提取,是一种自动进行特征编码的机器学习模型,主要有CNN、RNN、Transformer等。使用深度方法进行特征提取则一般构建端到端的系统,所以不会采用其他的传统分类器或者回归器,会在特征的输出层结一个全连接层作为分类或者回归模型。这一步也会有很多网络结构的设计方法,但是我们一般采用前人发明的很不错的结构基础上进行修改,如BERT等。

模型应用

企业提出比赛当然是希望能在业界使用,过于冗余的模型就算metric刷得好看也是不会受到青睐的。

补充说明

本文较为简略的说明了自然语言处理类比赛的主要流程及方法,由于篇幅限制没有过细展开,具体的相关问题可以查看我的其他博客。博客同步至我的个人博客网站,欢迎查看。如有错误,欢迎指正。

你可能感兴趣的:(数据科学竞赛)