共计 936 个字符,预计需要花费 3 分钟才能阅读完成。
Doc2Vec 是一种无监督算法,可从可变长度的文本片段(例如句子、段落和文档)中学习嵌入。它最后呈现在 Distributed Representations of Sentences and Documents 一文中。
Word2Vec
让咱们先回顾一下 Word2Vec,因为它为 Doc2Vec 算法提供了灵感。
Word2Vec 的间断词袋架构。图片来自论文 Distributed Representations of Sentences and Documents。
Word2Vec 通过应用上下文中的其余单词预测句子中的单词来学习单词向量。在这个框架中,每个词都映射到一个惟一的向量,由矩阵 W 中的一列示意。向量的串联或总和被用作预测句子中下一个词的特色。
应用随机梯度降落训练词向量。训练收敛后,将意思相近的词映射到向量空间中相近的地位。
所出现的架构称为间断词袋 (CBOW) Word2Vec。还有一种称为 Skip-gram Word2Vec 的架构,其中通过从单个单词预测上下文来学习单词向量。
Doc2Vec
来自论文 Distributed Representations of Sentences and Documents 的 Doc2Vec 的分布式内存模型。
咱们当初将看到如何学习段落的嵌入,但同样的办法也可用于学习整个文档的嵌入。
在 Doc2Vec 中,训练集中的每个段落都映射到一个惟一的向量,用矩阵 D 中的一列示意,每个词也映射到一个惟一的向量,用矩阵 W 中的一列示意。段落向量和词向量别离为均匀或连贯以预测上下文中的下一个单词。
段落向量在从同一段落生成的所有上下文中共享,但不会跨段落共享。词向量矩阵 W 是跨段落共享的。
段落标记能够被认为是另一个词。它充当记忆,记住以后上下文中短少的内容。所以这个模型被称为分布式内存 (DM) Doc2Vec。还有第二种架构称为分布式词袋 (DBOW) Doc2Vec,其灵感来自 Skip-gram Word2Vec。
段落向量和词向量应用随机梯度降落进行训练。
在预测时,须要通过梯度降落取得新段落的段落向量,放弃模型其余部分的参数固定。
阐明:最近在加入 kaggle 的 NLP 较量,然而 NLP 的教训还不多,所以筹备了这一系列作为常识的补充,如果你想一起较量或者还有什么好的倡议,请间接分割咱们。