fasttext

作者: dreampai | 来源:发表于2021-02-25 14:08 被阅读0次

    https://blog.csdn.net/yangfengling1023/article/details/86614797

    https://www.jianshu.com/p/b1468218caf6

    https://www.jiqizhixin.com/articles/2018-12-03-6

    : 一个句子的特征,初始值为随机生成(也可以采用预训练的词向量)
    词向量初始化

    一个句子的embedding为[iw1,iw2,....iwn,ow1,ow2,...ows]

    iwi:语料中出现的词,排在数组的前面

    owi:n-gram或n-char特征

    初始化为随机数, 如果提供预训练的词向量,对应的词采用预训练的词向量

    Fasttext采用了Hash桶的方式,把所有的n-gram都哈希到buckets个桶中,哈希到同一个桶的所有n-gram共享一个embedding vector。(CBOW的输入是目标单词的上下文并进行one-hot编码)

    trick :1. 为保留一定的次序信息,引入n-gram

    1. 层次softmax 的应用。思想实质上是将一个全局多分类的问题,转化成为了若干个二元分类问题,从而将计算复杂度从O(V)降到O(logV)
    1. 对于低频词生成的词向量效果会更好。因为它们的n-gram可以和其它词共享。

    2. 对于训练词库之外的单词,仍然可以构建它们的词向量。我们可以叠加它们的字符级n-gram向量。

    于是fastText的核心思想就是:将整篇文档的词及n-gram向量叠加平均得到文档向量,然后使用文档向量做softmax多分类。这中间涉及到两个技巧:字符级n-gram特征的引入以及分层Softmax分类。

    fastText作为诞生不久的词向量训练、文本分类工具,在达观得到了比较深入的应用。主要被用在以下两个系统:

    1. 同近义词挖掘。Facebook开源的fastText工具也实现了词向量的训练,达观基于各种垂直领域的语料,使用其挖掘出一批同近义词;

    2. 文本分类系统。在类标数、数据量都比较大时,达观会选择fastText 来做文本分类,以实现快速训练预测、节省内存的目的。

    相关文章

      网友评论

          本文标题:fasttext

          本文链接:https://www.haomeiwen.com/subject/mtgyfltx.html