再看FastText

What is fastText

Posted by Nova on 2018-11-12

再次整理下fastText的原理~

word2vec以及CBOW和Skip-gram

先看看word2vec以及CBOW和skip-gram.Word2vec

是一群用来产生词向量的相关模型.一款用于训练词向量的软件工具.Word2vec 可以根据给定的语料库,通过优化后的训练模型快速有效地将一个词语表达成向量形式,为自然语言处理领域的应用研究提供了新的工具。

Word2vec依赖skip-grams或连续词袋(CBOW)来建立神经词嵌入。

skip-grams

n元模型中,因为窗口大小的限制,导致超出窗口范围的词语与当前词之间的关系不能被正确地反映到模型之中,如果单纯扩大窗口大小又会增加训练的复杂度。

Skip-gram 模型的提出很好地解决了这些问题。

1
顾名思义,Skip-gram 就是“跳过某些符号”,例如,句子“中国足球踢得真是太烂了”有43元词组,分别是“中国足球踢得”、“足球踢得真是”、“踢得真是太烂”、“真是太烂了”,可是我们发现,这个句子的本意就是“中国足球太烂”可是上述 43元词组并不能反映出这个信息。Skip-gram 模型却允许某些词被跳过,因此可以组成“中国足球太烂”这个3元词组。 如果允许跳过2个词,即 2-Skip-gram

CBOW

连续词袋。

词袋模型(Bag-of-words model)是个在自然语言处理和信息检索(IR)下被简化的表达模型。

用一个袋子装着这些词的方式表现,这种表现方式不考虑文法以及词的顺序。

word2vec的功能导致相似文本拥有相似的嵌入(用余弦相似性计算)并且和约翰·鲁伯特·弗斯的分布假说有关。

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。词嵌入的方法包括人工神经网络、对词语同现矩阵降维、概率模型以及单词所在上下文的显式表示等。