
大数据文摘出品
来历:medium
编译:LYLM、胡笳
自2010年兴办以来,Kaggle作为闻名的数据科学比赛渠道,一向都是机器学习范畴开展的新趋势的风向标,许多重大突破都在该渠道发作,数以千计的从业人员参加其间,每天在Kaggle论坛上都有着很多的评论。
各种类型的应战赛(核算机视觉、语音、表格处理等等)都会在这个在线渠道发布,而自然言语处理(NLP)问题最近亦备受重视。固然,曩昔几个月里,咱们现已见证这一范畴有好几项振奋人心的立异,而现在盛行的的则是transformers和预练习言语模型。
Medium上一位从事NLP的博主就经过Kaggle比赛梳理了一遍自然言语处理的开展前史,看看NLP这些年都是怎样一路走来的。
左面:动物没有过马路,由于它太累。右边:动物没有过马路,由于它太宽。根据语境,语句的最终一词“它”在这可指“动物”或是“马路”,摘自谷歌transformers词条。
2016曾经:词袋(bag of words)模型和TF-IDF算法盛行
在2016年之前,处理(或者说赢得)Kaggle自然言语处理应战的规范办法是采用词袋模型(即核算文章中各个单词呈现的次数)来树立特征输入机器学习分类器,典型的有朴素贝叶斯算法。略微完善些的则有TF-IDF算法。
这种办法被应用在如StumbleUpon Evergreen分类应战。
StumbleUpon是一个引荐引擎,依照每个用户的爱好向其引荐相关的网页。网页分为两种,一种是暂时的,在短期内有价值的网页,另一种是长时间的,一向都有作用的网页,该应战的意图便是对这两种页面进行二元分类。
数据集链接:
https:///c/stumbleupon
这儿趁便提一句,在2013年处理该难题的冠军是Fran ois Chollet——便是两年后编写出Keras的那个人。
Fran ois Chollet
2016-2019:词嵌入模型+Keras以及TensorFlow 的鼓起
在2015年,开端呈现稠密词表征(dense word representations)库,如Gensim库(包含Word2Vec和GloVe)。其他预练习嵌入模型也连续呈现,像Facebook的FastTest或是Paragram。
一起,具有很多用户、简略可用的神经网络结构的首发版别也开端盛行,即上文说到的Keras和TensorFlow。它们不再仅使词袋模型,开端运用词序模型捕获句意。
然而要运转深度神经网络,还有最终一项难题亟待处理:需求高处理功能。本钱越来越低的GPU处理了这个难题。Kaggle渠道在2019年3月被谷歌收买后,渠道(经过协作式的Notebooks内核)能够向用户免费供给GPU运用。
从那时起,词嵌入和神经网络(RNN,LSTM,GRU等等,以及根据此的改善,如attention)这些可行计划就成了处理Kaggle中自然言语处理难题的规范办法
这时候就不得不说一句:永别了,TF_IDF!
运用RNN编码单词序列
2018-2019:PyTorch杀出重围
近几个月,一个新的神经网络结构PyTorch在数据科学界越来越受重视。
在此不评论TensorFlow和PyTorch的好坏,但能够必定的是,在Kaggle上渐渐的变多的人开端运用PyTorch了。渠道上常常有PyTorch的在线笔记和教程发布。
2019年:transformers和预练习言语模型诞生
如上所述,直至现在为止,词嵌入模型(在很多的无标示数据上进行预练习)仍是处理自然言语处理难题的规范办法,运用此模型初始化神经网络的第一层,然后在特定使命(可能是文本分类,问答或自然言语揣度等等)的数据上练习其他层。
但假如细心想想,这种方法其实并非最优。事实上,每逢需处理一项新问题时,你根本需求从零开端学起。经过词嵌入进行初始化的模型需求从零开端学习怎么从单词序列中提取意义——哪怕那是言语了解的最中心部分。
transformers呈现后,这是2018年发作的要害范式改变:从仅初始化模型的第一层到运用阶梯式表达对整个模型进行预练习。这也产生了新的练习形式:将信息从预练习言语模型转移到下流使命(也称为搬迁学习)。
实际上,运用预练习言语模型的最好方法是运用Hugging Face(由法国企业家创建,现在总部在美国,和咱们相同结业于Station F微软AI工厂的校友)开发的transformers库。现在它与PyTorch和TensorFlow兼容。
假如你想用它更上层的封装来完结一些比如文本分类的简略使命,能够看看 simple-transformer 库。

