FastText

Facebook 2016发表的论文Bag of Tricks for Efficient Text Classification中提出了FastText模型,结构与word2vec中的CBOW十分相似,如下:

FastText_第1张图片

将文本中的词语向量求平均得到文本的整体表示(隐藏层hidden),然后输入到一个线性分类器(文中用的是softmax)中进行分类。文中还提出了两个技巧,

1、在隐藏层加入ngram特征来引入局部的词序信息,这当然是有效的,但是没有找到具体实现方式,在隐藏层进行拼接或者求ngram的词向量?待解决

2、进行多分类时,计算量太大速度慢,参考word2vec引入hierarchical softmax,以类别数量为权重来构建哈夫曼树,将复杂度从降为,k是类别数量,h是词向量维度。这点倒是启发了我,将逻辑回归扩展为softmax回归来进行多分类时,应该也可以引入hierarchical softmax来提速。还有,如果类别间相关,fasttext是不是可以参考逻辑回归来训练多个分类器,最后再进行选择?效果有待检验。

论文中给出了官方实现https://github.com/facebookresearch/fastText

Tensorflow实现https://github.com/brightmart/text_classification

你可能感兴趣的:(自然语言处理)