use*_*983 21 nlp machine-learning neural-network gensim
word2vec是Google的一个开源工具:
对于每个单词,它提供了一个浮点值向量,它们究竟代表什么?
还有一篇关于段落向量的论文,任何人都可以解释他们如何使用word2vec来获得段落的固定长度向量.
Ced*_*ias 36
TLDR:Word2Vec 在N维的潜在空间中构建单词投影(嵌入),(N是获得的单词向量的大小).浮点值表示此N维空间中的单词的坐标.
潜在空间投影背后的主要思想是将对象放置在不同且连续的维度空间中,即对象将具有比基本对象具有更有趣的微积分特征的表示(向量).
对于单词来说,有用的是你有一个密集的向量空间来编码相似性(即树有一个更像木头的矢量而不是跳舞的矢量).这反对经典的稀疏单热或"袋子"编码,它将每个单词视为一个维度,使它们在设计上正交(即树木,木材和舞蹈在它们之间都具有相同的距离)
Word2Vec算法执行此操作:
想象一下,你有一句话:
狗必须去___在公园散步.
你显然想用"外面"这个词填空,但你也可以"外出".w2v算法的灵感来自于这个想法.你喜欢填补空白的所有单词,因为它们属于一起 - 这称为分布假设 - 因此"out"和"outside"之类的词会更加接近,而像"carrot"这样的词会更远.
这就是word2vec背后的"直觉".有关正在发生的事情的更理论解释,我建议阅读:
对于段落向量,该想法与w2v中的相同.每个段落都可以用它的词来表示.本文介绍了两种模型.
段落向量和单词向量被平均或连接以预测上下文中的下一个单词.[...]段落标记可以被认为是另一个词.它充当记忆,记住当前上下文中缺少的内容 - 或段落的主题
为了充分了解这些向量是如何构建的,您需要了解如何构建神经网络以及反向传播算法的工作原理.(我建议从这个视频和Andrew NG的Coursera课程开始)
注意: Softmax只是说分类的一种奇特方式,w2v算法中的每个单词都被认为是一个类.分层softmax /负采样是加速softmax和处理许多类的技巧.