标签: word2vec

在gensim python中使用google word2vec .bin文件

我试图通过将来自google word2vec网站(freebase-vectors-skipgram1000.bin.gz)的预训练.bin文件加载到word2vec的gensim实现中来开始.模型加载很好,

用...

model = word2vec.Word2Vec.load_word2vec_format('...../free....-en.bin', binary= True)
Run Code Online (Sandbox Code Playgroud)

并创造一个

>>> print model
<gensim.models.word2vec.Word2Vec object at 0x105d87f50>
Run Code Online (Sandbox Code Playgroud)

但是当我运行最相似的功能时.它无法找到词汇中的单词.我的错误代码如下.

我出错的任何想法?

>>> model.most_similar(['girl', 'father'], ['boy'], topn=3)
2013-10-11 10:22:00,562 : WARNING : word ‘girl’ not in vocabulary; ignoring it
2013-10-11 10:22:00,562 : WARNING : word ‘father’ not in vocabulary; ignoring it
2013-10-11 10:22:00,563 : WARNING : word ‘boy’ not in vocabulary; ignoring it
Traceback (most recent call last):
File “”, line 1, in
File “/....../anaconda/python.app/Contents/lib/python2.7/site-packages/gensim-0.8.7/py2.7.egg/gensim/models/word2vec.py”, line 312, in most_similar
raise ValueError(“cannot compute similarity with …
Run Code Online (Sandbox Code Playgroud)

python gensim word2vec

8
推荐指数
1
解决办法
2734
查看次数

python word2vec没有安装

我一直在尝试使用我的Python2.7解释器在我的Windows 7机器上安装word2vec:https://github.com/danielfrg/word2vec

我已经尝试setup.py从解压缩的目录下载zip并运行python install并运行pip install.但是在这两种情况下都会返回以下错误:

Downloading/unpacking word2vec
  Downloading word2vec-0.5.1.tar.gz
  Running setup.py egg_info for package word2vec
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "c:\users\georgioa\appdata\local\temp\pip_build_georgioa\word2vec\setup.py", line 17, in <module>
        subprocess.call(['make', '-C', 'word2vec-c'])
      File "C:\Python27\lib\subprocess.py", line 524, in call
        return Popen(*popenargs, **kwargs).wait()
      File "C:\Python27\lib\subprocess.py", line 711, in __init__
        errread, errwrite)
      File "C:\Python27\lib\subprocess.py", line 948, in _execute_child
        startupinfo)
    WindowsError: [Error 2] The system cannot find the file specified
    Complete output from command …
Run Code Online (Sandbox Code Playgroud)

python pip gnuwin32 word2vec

8
推荐指数
1
解决办法
1万
查看次数

gensim LabeledSentence和TaggedDocument之间有什么区别?

请帮助我了解如何之差TaggedDocumentLabeledSentencegensim作品.我的最终目标是使用Doc2Vec模型和任何分类器进行文本分类.我关注这个博客!

class MyLabeledSentences(object):
    def __init__(self, dirname, dataDct={}, sentList=[]):
        self.dirname = dirname
        self.dataDct = {}
        self.sentList = []
    def ToArray(self):       
        for fname in os.listdir(self.dirname):            
            with open(os.path.join(self.dirname, fname)) as fin:
                for item_no, sentence in enumerate(fin):
                    self.sentList.append(LabeledSentence([w for w in sentence.lower().split() if w in stopwords.words('english')], [fname.split('.')[0].strip() + '_%s' % item_no]))
        return sentList


class MyTaggedDocument(object):
    def __init__(self, dirname, dataDct={}, sentList=[]):
        self.dirname = dirname
        self.dataDct = {}
        self.sentList = []
    def ToArray(self):       
        for fname in …
Run Code Online (Sandbox Code Playgroud)

gensim text-classification word2vec doc2vec

8
推荐指数
1
解决办法
3108
查看次数

使用Gensim减少Google的Word2Vec模型

Google加载完整的预训练word2vec模型是耗时且繁琐的,因此我想知道是否有机会删除低于特定频率的单词以将vocab计数降低到例如200k字.

我在gensim包中找到了Word2Vec方法来确定单词频率并再次重新保存模型,但我不确定如何在再次保存之前从预先训练的模型中进行pop/ remove词汇.我找不到在任何暗示KeyedVector classWord2Vec class这样的操作?

https://github.com/RaRe-Technologies/gensim/blob/develop/gensim/models/word2vec.py https://github.com/RaRe-Technologies/gensim/blob/develop/gensim/models/keyedvectors.py

如何选择预训练word2vec模型的词汇子集?

nlp gensim word2vec

8
推荐指数
1
解决办法
2952
查看次数

使用在维基百科上预先训练的Word2Vec模型

我需要使用gensim来获取单词的向量表示,并且我认为使用的最好的东西是在英语维基百科语料库上预训练的word2vec模块.有谁知道在哪里下载,如何安装,以及如何使用gensim创建向量?

wikipedia gensim word2vec

8
推荐指数
2
解决办法
8831
查看次数

word2vec,总和或平均字嵌入?

我使用word2vec来表示一个小短语(3到4个单词)作为一个独特的向量,通过添加每个单独的嵌入或通过计算单词嵌入的平均值.

从我做过的实验中,我总是得到相同的余弦相似度.我怀疑它与训练后word2vec生成的单词长度(单位长度(Euclidean norm))有关吗?或者我在代码中有BUG,或者我遗漏了一些东西.

这是代码:

import numpy as np
from nltk import PunktWordTokenizer
from gensim.models import Word2Vec
from numpy.linalg import norm
from scipy.spatial.distance import cosine

def pattern2vector(tokens, word2vec, AVG=False):
    pattern_vector = np.zeros(word2vec.layer1_size)
    n_words = 0
    if len(tokens) > 1:
        for t in tokens:
            try:
                vector = word2vec[t.strip()]
                pattern_vector = np.add(pattern_vector,vector)
                n_words += 1
            except KeyError, e:
                continue
        if AVG is True:
            pattern_vector = np.divide(pattern_vector,n_words)
    elif len(tokens) == 1:
        try:
            pattern_vector = word2vec[tokens[0].strip()]
        except KeyError:
            pass
    return pattern_vector


def main():
    print "Loading …
Run Code Online (Sandbox Code Playgroud)

cosine-similarity word2vec sentence-similarity

7
推荐指数
1
解决办法
3842
查看次数

Gensim FastText 计算训练损失

我正在fastText使用gensim.models.fasttext. 但是,我似乎找不到一种方法来计算迭代损失以进行记录。如果我查看gensim.models.word2vec,它具有get_latest_training_loss允许您打印训练损失的方法。有没有其他选择,或者根本不可能?

python nlp gensim word2vec fasttext

7
推荐指数
0
解决办法
704
查看次数

如何评估 Word2Vec 模型

嗨,有我自己的语料库,我在上面训练了几个 Word2Vec 模型。对他们进行相互评估并选择最好的一种的最佳方法是什么?(显然不是手动 - 我正在寻找各种措施)。

值得注意的是,嵌入是针对项目而不是单词,因此我不能使用任何现有的基准。

谢谢!

python nlp embedding word2vec word-embedding

7
推荐指数
2
解决办法
5009
查看次数

当 Word2Vec 使用点积相似度训练时,为什么要在 Word2Vec 中使用余弦相似度

根据我在 stackoverflow 上找到的几篇文章(例如,为什么 word2Vec 使用余弦相似度?),通常的做法是在我们训练好 word2vec(CBOW 或 Skip-gram)模型后计算两个词向量之间的余弦相似度。然而,这对我来说似乎有点奇怪,因为该模型实际上是用点积作为相似性分数进行训练的。一个证据是我们训练后得到的词向量的范数实际上是有意义的。那么为什么人们在计算两个词之间的相似度时仍然使用余弦相似度而不是点积呢?

nlp dot-product cosine-similarity word2vec word-embedding

7
推荐指数
1
解决办法
1442
查看次数

在哪里可以下载预训练的 word2vec 地图?

我一直在学习 NLP 模型并遇到了词嵌入,并看到了可以通过计算词的点积等来查看词之间的关系的示例。

我正在寻找的只是一本字典,将单词映射到它们的代表向量,这样我就可以使用它。我知道我可以构建一个模型并训练它并创建我自己的地图,但我只想将已经训练好的地图作为 python 变量。

python nlp word2vec word-embedding

7
推荐指数
1
解决办法
9163
查看次数