fasttext简介
fasttext的基础理论 前言简介 fasttext是NLP里,一个非常高效的,基于词向量化的,用于文本分类的模型。虽然其原理比较简单,但是其中涉及到了不少的用于提速和准确率的小技巧。 这篇文章主要从理论的层面(一直想有时间去扒源码来看看来着)介绍这些小技巧,而对于和word2vec部分中类似的地方会简单提到,但是不会展开说明(这个作者先提出的word2vec,后来提出的fasttext,二者有不少相似之处)Word2vec的相关内容参考peghoty所写的 word2vector中的数学原理详解.pdf [1]。 当然本文做的介绍不可能面面俱到,而且很多地方也可能理解不准确,希望大家不吝赐教。 正文 fasttext和word2vec中的CBOW非常类似,对于每一个文本而言,第一步是将所有单词向量化后作为输入;第二步是将输入的所有向量在隐藏层进行平均化处理得到新的向量;第三步输出预测值。接下来我们分别对这三部进行具体的解释。 第一步:输入 在word2vec中,它的输入就是单纯的把词袋向量化。但是在fasttext还加入了n-grams的思想。举个例子“我 喜欢 她“,如果只用这几个词的组合来反映这个句子,就是(”我”,”喜欢”,”她”),问题来了,句子“她 喜欢 我”的词的组合也是(”我”,”喜欢”,”她”),但这两个句子的意思完全不同