Fasttext 算法只使用词和子词?还是句子?

Isa*_*Sim 5 nlp vectorization word2vec word-embedding fasttext

如果有任何关于学习方法(或更可能的学习程序)的好例子,我也阅读了这篇论文并用谷歌搜索

对于word2vec,假设有语料句

我每天早上带着妈妈包的饭盒去上学

然后窗口大小为 2,它将尝试通过使用周围的词来获取 'school' 的向量

['去','去','一起','午餐']

现在,FastText 说它使用 subword 来获取向量,所以它肯定是使用 n gram subword,例如 n=3,

['sc', 'sch', 'cho', 'hoo', 'ool', 'school']

到这里,我明白了。但尚不清楚其他词是否用于“学校”的学习。我只能猜测周围的其他词也像 word2vec 一样被使用,因为论文中提到

=> 术语WcWt都用在函数中

其中 Wc 是上下文词,Wt 是序列 t 处的词。

但是,FastText 是如何学习词向量的还不清楚。

.

.

请清楚说明FastText学习过程是如何进行的?

.

.

更确切地说,我想知道,如果FastText也遵循相同的步骤,Word2Vec同时学习到正克表征子字。还是仅使用带有单词的 n-gram 特征子词?

它如何在初始时对子词进行矢量化?等等

goj*_*omo 6

任何上下文词的候选输入向量都由其全词标记和所有字符-n-gram 组合而成。因此,如果上下文词是“学校”,和你使用3-4个字符正克,在训练输入向量是全字向量的组合school并且全部为正克载体['sch', 'cho', 'hoo', 'ool', 'scho', 'choo', 'hool'])。

当通过训练调整该候选向量时,调整所有组成向量。(这是怎么样在word2vec CBOW,模式下,所有的一点点的话单平均上下文输入矢量的获得调节一起,当评价其预测单个目标输出字能力和改进。)

结果,那些恰好是许多相似单词中有意义的提示的 n-gram - 例如,常见的词根或前缀/后缀 - 被定位在它们赋予该含义的位置。(其他 n-gram 可能仍然主要是低幅度的噪声,因为它们出现的地方几乎没有有意义的模式。)

训练后,还通过组合全词向量和所有 n-gram 来构建单个词汇表的报告向量。

然后,当你也遇到一个词库外的词时,如果它与形态上相似的训练词共享一些或许多 n-gram,它将得到一个类似的计算向量——因此总比​​没有好,在猜测这个词的向量应该是什么。(并且在已知单词的小错别字或轻微变体的情况下,合成向量可能非常好。)