如何创建单词向量?我使用了一个热键来创建词向量,但它非常庞大,并且不适用于类似的语义单词。因此,我听说过使用神经网络来查找单词相似度和单词向量的单词向量。所以我想知道如何生成这个向量(算法)或开始创建单词向量的好材料?
发布于 2014-12-24 19:54:37
到目前为止,词向量或所谓的分布式表示已经有了很长的历史,可能是从S.Bengio ( Bengio,Y.,Ducharme,R.,& Vincent,P. (2001).A神经概率语言模型)的工作开始的。NIPS。)在那里他获得了词向量作为训练神经网络语言模型的副产品。
大量研究表明,这些向量确实捕获了单词之间的语义关系(例如,参见http://research.microsoft.com/pubs/206777/338_Paper.pdf)。此外,Collobert等人的这篇重要论文(http://arxiv.org/abs/1103.0398)是理解词向量及其获取和使用方式的一个很好的起点。
除了word2vec之外,还有很多方法可以获得它们。示例包括Collobert et al (http://ronan.collobert.com/senna/)的塞纳嵌入,T.Mikolov的可以使用RNNToolkit (http://www.fit.vutbr.cz/~imikolov/rnnlm/)计算的RNN嵌入等等。对于英文,可以从这些网站下载现成的嵌入。word2vec实际上使用的是跳过语法模型(而不是神经网络模型)。另一个用于计算单词表示的快速代码是GloVe (http://www-nlp.stanford.edu/projects/glove/)。无论深度神经网络对于获得良好的嵌入是否至关重要,这都是一个悬而未决的问题。
根据您的应用程序,您可能更喜欢使用不同类型的单词向量,因此尝试几种流行的算法并看看哪种算法更适合您是一个好主意。
发布于 2014-12-19 19:05:09
我想你指的是Word2Vec (https://code.google.com/p/word2vec/)。它基于给定的语料库训练文档的N维词向量。因此,在我对word2vec的理解中,神经网络只是用来聚合文档向量的维度,并捕获单词之间的一些关系。但值得一提的是,这并不是真正的语义相关,它只是反映了训练机构中的结构关系。
如果您想捕获语义相关性,请查看基于WordNet的度量,例如,实现的是这些库:
https://code.google.com/p/ws4j/
:
要开始使用word2vec,您可以使用它们的预训练向量。您可以在https://code.google.com/p/word2vec/上找到有关这方面的所有信息。
当你寻找java实现的时候。这是一个很好的起点:http://deeplearning4j.org/word2vec.html
我希望这能帮到你
谨致问候
https://stackoverflow.com/questions/27561971
复制相似问题