fasttext算法原理及使用

1.  FastText原理

fastText是一种简单高效的文本表征方法,性能与深度学习比肩。fastText的核心思想就是:将整篇文档的词及n-gram向量叠加平均得到文档向量,然后使用文档向量做softmax多分类。这中间涉及到两个技巧:字符级n-gram特征的引入以及分层Softmax分类。主要功能在于:

  • 文本分类:有监督学习
  • 词向量表征:无监督学习

1.1 模型框架(Model architecture)

fastText的结构与word2vec的CBOW模型架构相似(fastText的开源工具不仅可以文本分类,还可以训练词向量,与word2vec相似)。word2vec有两种模型:skip-gram 模型和CBOW模型。两者的区别概括区别是:skip-gram,用当前词来预测上下文;CBOW,用上下文来预测当前词。

CBOW及fastText的模型框架对比如下: 

CBOW模型框架

  • 输入层:由目标词汇y的上下文单词\left \{ x_{1} ,...,x_{c}\right \}组成,x_{i}是被onehot编码过的V维向量,V是词汇量大小;输入层通过V\ast N维的权重矩阵W连接到隐含层;
  • 隐含层:N维向量h,隐含层通过N\ast V维的权重矩阵W^{'}连接到输出层;
  • 输出层:是被onehot编码过的目标词y(中间词);为提高计算效率,CBOW输出层采用分层softmax;

fastText模型框架

  • 输入层:embedding后多个单词及其n-gram特征,这些特征用来表示单个文档;
  • 隐含层:对多个词向量的叠加平均
  • 输出层:是文档对应的类别标签;采用分层softmax;

1.2 层次softmax(Hierarchical softmax)

1.2.1 标准softmax函数

softmax函数又称为归一化指数函数,常在神经网络输出层充当激活函数,它是二分类函数sigmoid在多分类上的推广,目的是将多

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值