根据Gensim Word2Vec,我可以使用gensim包中的word2vec模型来计算2个单词之间的相似度.
例如
trained_model.similarity('woman', 'man')
0.73723527
Run Code Online (Sandbox Code Playgroud)
但是,word2vec模型无法预测句子相似性.我发现在gensim中具有句子相似性的LSI模型,但是,似乎不能与word2vec模型结合.我所拥有的每个句子的语料库长度不是很长(短于10个单词).那么,有没有简单的方法来实现目标?
我使用word2vec从大型文档生成了一个标记列表的向量.给定一个句子,是否可以从句子中的标记向量中获取句子的向量.
从word2vec网站我可以下载GoogleNews-vectors-negative300.bin.gz..bin文件(大约3.4GB)是一种对我没用的二进制格式.Tomas Mikolov 向我们保证:"将二进制格式转换为文本格式应该相当简单(尽管这需要更多的磁盘空间).检查距离工具中的代码,读取二进制文件相当简单." 不幸的是,我不太了解C http://word2vec.googlecode.com/svn/trunk/distance.c.
据说gensim也可以做到这一点,但我发现的所有教程似乎都是关于从文本转换而不是其他方式.
有人可以建议修改C代码或gensim发出文本的说明吗?
如何使用Doc2vec获取两个文本文档的文档向量?我是新手,所以如果有人能指出我正确的方向/帮助我一些教程会很有帮助
我正在使用gensim.
doc1=["This is a sentence","This is another sentence"]
documents1=[doc.strip().split(" ") for doc in doc1 ]
model = doc2vec.Doc2Vec(documents1, size = 100, window = 300, min_count = 10, workers=4)
Run Code Online (Sandbox Code Playgroud)
我明白了
AttributeError:'list'对象没有属性'words'
每当我跑这个.
我们有用于将单词转换为向量的模型(例如word2vec模型).是否存在将句子/文档转换为向量的类似模型,可能使用为单个单词学习的向量?
我最近遇到了Gensim的doc2vec.如何使用doc2vec预训练的单词向量(例如在word2vec原始网站中找到)?
或者是doc2vec从用于段落矢量训练的相同句子中获取单词向量?
谢谢.
Word2vec是一个开源工具,用于计算Google提供的单词距离.它可以通过输入单词并根据相似性输出排序的单词列表来使用.例如
输入:
france
Run Code Online (Sandbox Code Playgroud)
输出:
Word Cosine distance
spain 0.678515
belgium 0.665923
netherlands 0.652428
italy 0.633130
switzerland 0.622323
luxembourg 0.610033
portugal 0.577154
russia 0.571507
germany 0.563291
catalonia 0.534176
Run Code Online (Sandbox Code Playgroud)
但是,我需要做的是通过给出2个单词来计算相似距离.如果我给'法国'和'西班牙',我怎么能得到分数0.678515而不通过给'法国'阅读整个单词列表.
我目前正在尝试理解word2vec神经网络学习算法背后的架构,用于根据其上下文将单词表示为向量.
在阅读了Tomas Mikolov论文后,我发现了他定义为投影层的内容.虽然这个术语在提到word2vec时被广泛使用,但我无法找到它在神经网络环境中的实际定义的精确定义.
我的问题是,在神经网络环境中,什么是投影层?它是隐藏图层的名称,它与以前节点的链接共享相同的权重吗?它的单位实际上是否具有某种激活功能?
在这个页面中,据说:
[...] skip-gram反转上下文和目标,并尝试从其目标词中预测每个上下文单词[...]
然而,看看它产生的训练数据集,X和Y对的内容似乎是可互换的,因为那两对(X,Y):
(quick, brown), (brown, quick)
那么,为什么在上下文和目标之间区分那么多,如果最终是同一个东西呢?
另外,在word2vec上进行Udacity的深度学习课程练习,我想知道为什么他们似乎在这个问题上做了很多差异:
skip-gram的另一种选择是另一种名为CBOW(连续词袋)的Word2Vec模型.在CBOW模型中,您不是从单词向量预测上下文单词,而是从其上下文中所有单词向量的总和预测单词.实施和评估在text8数据集上训练的CBOW模型.
这会产生相同的结果吗?