当前位置:   article > 正文

NLP paper精读(六)——Bag of Tricks for Efficient Text Classification_bag of tricks for nlp

bag of tricks for nlp

Abstract

本文提出了一种简单高效的文本分类基线方法——fastText。实验表明效果与神经网络分类器相同的情况下,fastText的耗时显著降低。

Introduction

最近的文本分类方法都采用基于神经网络的模型,虽然这些模型在实际的表现上非常好,但是他们在训练和测试阶段都非常慢,这就限制了,其应用在超大语料上的可能性。

在文本分类的任务中,线性分类器可以认为是一个强大的基线模型。

在本文的工作中,针对上下文文本分类,我们探寻了将这些基线方法扩展到大语料库和高位输出空间中的方法。

评测方法在命名标签预测和情感分析两种任务上进行。

Model architecture

一种简单的文本分类方法是BoW+线性分类器。然而线性分类器并不能共享特征与类别的参数,所以泛化性很差。

本文提出的模型图如下:
在这里插入图片描述
整个FastText的模型类似于Word2Vec的CBOW模型,但不同点在于embedding的内容有所区别,还有整个任务是在做一个文本分类的任务。

损失函数为:
在这里插入图片描述
其中y为类别标签,x为特征向量,AB均为参数矩阵。A为embedding-table,B为hidden layer 到output layer的参数。

Hierarchical softmax

利用哈夫曼树,加速训练过程。

N-gram features

由于普通词袋模型会忽略词汇与词汇之间的语序信息。所以引入了N-gram的特征。这里只是一个思想,并不确定到底是如何使用哪些特征。

其中N-gram可以是:(我、喜欢、中国)

  1. word-level:我喜欢、喜欢中国
  2. char-level:<我、我>、<喜、喜欢、欢>、<中、中国、国>

Experiment

从以下的实验结果可以看出,在达到深度神经网络的效果下,FastText速度更快,耗时更少。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Discussion and conclusion

本文,提出了一种简单的文本分类的方法FastText。在许多任务中,在取得与神经网络相同效果的情况下,训练速度提升了很多数量级。

一点思考

fastText和word2vec的区别与联系

相似之处:
1.模型架构类似,都采用了embedding表达。
2.采用了同样的优化方法,层序softmax

不同之处:
1.输出:word2vec输出层对应于每一个词,计算某个词的概率最大。而fasttext输出层对应的是分类标签。
2.输入:word2vec是context window中的词,而fasttext会将整个sentence 或者 documents作为输入,同时还会构造n-gram特征。

Reference

[1] https://www.cnblogs.com/huangyc/p/9768872.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/350918
推荐阅读
相关标签
  

闽ICP备14008679号