#Paper Reading# Bag of Tricks for Efficient Text Classification

论文题目:Bag of Tricks for Efficient Text Classification

论文地址:https://arxiv.org/pdf/1607.01759v2.pdf

Github代码:https://github.com/facebookresearch/fastText


论文大体内容:
这是Word2Vec的作者Mikolov在文本分类上的新作,作者提出了fastText的文本分类器,主要特点就是fast(快好几个数量级),而且与使用深度学习跑好久所训练出的模型的效果不相上下。

1、作者提出的fastText重点体现在fast,用10亿个词训练model仅需10分钟,对50万个句子分类仅需半分钟。效率惊人。

2、一般对大量语料进行分类,都会采用分解到低维度进行处理(比如使用topic model降维),或者使用多层神经网络。但两种方法各有优劣,比如topic model,一般有LDA,NMF等方式,但也存在分解后准确率等问题。而如果使用多层神经网络,则随着隐藏层数量的增加,模型训练跟测试的时间也大幅提高。

3、作者使用类Word2Vec的cbow模型,根据输入词的序列产生概率分布模型,并使用随机梯度下降+后向传播方法进行训练。然后还有两种优化,包括:
①层次softmax(树结构),将O(Kd)的复杂度降为O(log(K)d)(K是数量,d是维度)。然后预测的时候根据到达子结点的概率肯定比到达父结点的概率低,进行剪枝,优化效率。
②增加N-gram特征,后面实验说到N越大,准确率能够慢慢提升。后面的实验使用了N=5。
但paper中并没有对使用的方法说得太明白,具体要等作者开源fastText的代码才能具体知道。

4、实验部分,作者做了两种实验,包括:
①情感分析:作者对比了两篇paper[1][2],并按照相应的dataset以及评测标准进行对比,发现fastText的效果与他们的差不多,但是效率却有了15000倍提升!
②tag预测:作者使用YFCC100M的图片dataset(包含100M张带有title,tag,caption的图片),对比两种baseline:frequency-based baseline,Tagspace,发现效果不但有比较大的提升,而且效率有600倍的提升。

5、作者提出,尽管深度神经网络会比普通的model具有更好的表现力,但是在简单的文本分类问题,比如情感分析,深度神经网络所花费的大量训练时间,并不一定值得。

6、思考:
现在Deep Learning在各个领域不断渗透、颠覆,尤其是在图像、语音方面有着极为出色的表现。但在文本方面却一直没什么特别突出的成就。记得曾经问过MSRA的研究员,他们对Deep Learning在文本方面仍保持谨慎态度,因为语言、文本是经过很多人、很多年沉积下来的,是存在一定的规则性、关联性的,跟图像、语音有比较大的区别。现在很多时候,Deep Learning的应用,能够使得原有的评价标准有1%的提高,尽管在学术上有促进,毕竟量的积累才能有质的突破,但其实很多商业公司,依旧使用simple,效率高的方法、模型。正如奥卡姆剃刀说的:Simple is better。


参考资料:
[1]、http://papers.nips.cc/paper/5782-character-level-convolutional-networks-for-text-classification.pdf
[2]、http://www.aclweb.org/old_anthology/D/D15/D15-1167.pdf


以上均为个人见解,因本人水平有限,如发现有所错漏,敬请指出,谢谢!

你可能感兴趣的:(paper,reading,fastText,Paper,Reading,fastText)