我一直在阅读很多关于NLP的论文,并且遇到了很多模型.我得到了SVD模型并用2-D表示它,但我仍然没有得到如何通过给word2vec/skip-gram模型提供语料库来创建单词向量?它是每个单词的共生矩阵表示吗?你可以通过一个示例语料库来解释它:
Hello, my name is John.
John works in Google.
Google has the best search engine.
Run Code Online (Sandbox Code Playgroud)
基本上,跳转克如何转换John
为向量?
通过使用神经网络进行自动编码的示例,可以很容易地理解主要概念.您训练神经网络通过较小的中间层将信息从输入层传递到输出层.
在传统的自动编码器中,您有一个大小为N的输入向量,一个长度为M <N的中间层,以及一个大小为N的输出层.您只需要在输入层中打开一个单元并且您训练网络在输出层复制与输入层中打开的相同单元.
在训练成功完成之后,您将看到神经网络将信息从输入层传输到输出层,使其自身适应,使得每个输入单元在中间层具有相应的矢量表示.
简化一点,在word2vec的上下文中,您的输入和输出向量或多或少地以相同的方式工作,除了在提交到网络的示例中,在输入层中打开的单元与转换的单元不同在输出层中.
实际上,您可以训练网络从网络中选择附近(不一定是相邻)单词并将其提交到网络.
输入和输出向量的大小等于您向网络提供的词汇量的大小.
您的输入向量只有一个单元打开(一个对应于所选对的第一个单词),输出向量有一个单元打开(一个单元对应于所选对的第二个单词).