我最近研究并理解word2vec
如何工作,它负责将单词转换为数字形式,因此当我们绘制它们或将它们放入世界空间时,它们将被传播并揭示每个单词与另一个单词之间的关系。
我的问题在这里,我发现RNNs
突然间我变得困惑。 word2vec
是RNNs
的替代品还是我可以使用word2vec
将单词转换为数字形式然后在RNNs
上使用它们?
我的意思是他们都预测下一个词,所以我想知道他们是不是同一个问题的不同方法,或者我可以一起使用它们?
注意:我完成了计算机视觉并开始使用NLP,所以请不要判断我刚开始的问题,提前谢谢。
你没有清楚地理解word2vec
的含义。 word2vec
是多维空间中的单词的表示,而RNN
是像Linear Regression
或random forest
或logistic regression
这样的算法。 word2vec
不会预测下一个词。以下是word2vec
的一个小解释:
用三个词:apple
,orange
和car
。假设它们在word2vec
中表示为:
apple = [0.01, 0.04 ...]
orange = [0.02, 0.06 ...]
car = [0.03, 0.09 ...]
现在你知道apple
和orange
彼此相似,而car
不是。因此,如果你将采取apple
和orange
的点积,结果值将接近1
,说它是0.85
,但如果你采取apple
和car
的点积,结果将远离1
说它是0.25
。这是word2vec
的概念。它为您提供了数字形式的单词的向量表示,使得相似的单词在图中保持彼此靠近。
现在对于RNN
,正如我所说,这是一种算法。你将向它提供一些数值数据,它会给你一些输出。您需要从一些在线教程中详细了解RNN
。
为了回答关于如何一起使用它们的问题,RNN
采用数字输入。它不能直接采用英语单词。所以我们需要将所有单词转换成某种数字形式。这是word2vec
进入画面的地方。你拿出每个单词,从word2vec
得到它的数字表示(就像我上面展示的apple
,orange
和car
),然后把它喂给RNN
。
这只是一个简单的概述,这里无法解释所有内容。如果你真的想了解更多,那么我强烈建议你参加this课程。从word2vec
到RNN
的一切都在那里得到了很好的解释。如果你在那里完成整个专业而不是仅完成这门课程会更好。