NLP利器—Fasttext

1. FastText

FastText是facebook开源的一款集word2vec、文本分类等一体的机器学习训练工具。在之前的论文中,作者用fasttext和char-CNN,deepCNN等主流的深度学习框架,在同样的公开文本数据集上进行对比测试,在保证准确率稳定的情况下,FastText在训练时间上,有着惊人的表现,近百倍的速度提升。

2. 文本语义

在NLP任务中,经常会涉及到文本词的分布式表示——即将词表示成连续的多维计算机可以处理的float型向量。包括DNN网络中的Embedding层的初始化,之前笔者都是用的gensim的Word2vec做词向量的预训练,其实都是出自Miklov大神之手。word2vec是纯无监督的词向量方法,没有用到标签信息。
fasttext不仅能够实现Word2vec的词向量训练功能,同时可以考虑标签的信息作为loss计算,并支持ngram,可谓是很贴心了,基于C++的编译,在Unix下运行的效率很高。

3. 文本分类

fasttext作文本分类,可以称得上是利器。跑个很高的baseline,非常方便,只需要将每条语料按行整理,分好词之后以空格隔开。fasttext怎么标识label信息呢?默认前缀为”label”的即为当前文本对应的label。
值得一提的是,训练完成时,除了一个bin格式的model文件,还会有一个vec格式的词向量副产物。

总结

之前确实是自己眼界太小,把自己局限于word2vec。关于fasttext的具体使用教程,可以详细参考github的readme。

你可能感兴趣的:(NLP利器—Fasttext)