fastext
fastext可以用于文本分类。
fasttext其实是在word2vec的基础上,修改了底层的特征表示。引入了ngram以及BPE。
fasttext使用x1,x2…xn表示一个ngram向量,原本使用一个向量可以表示一个词,这里需要使用多个向量来表示一个词;然后再使用全部的ngram去预测指定的类别。
引入了层级softmax,在做对很多个类别的分类预测时,由于频率更高的类别,具有更浅的深度,所以时间复杂度更低。
几个概念
BPE(byte pair encoder)字节对编码,可以解决oov的问题。主要实现方法是在英文中,通过把语料中的单词,按照character拆分成单个,统计词频,将出现高于一定词频的subword补充入词典。
ngram,在fasttext总使用的ngram,是subword。
层级softmax,将对所有类别坐归一化变为对哈夫曼树的节点做归一化,复杂度从N降低到了logN。
参考: https://blog.csdn.net/feilong_csdn/article/details/88655927