标签: word2vec

Word2Vec 给出的单词相似度图

我想在一个简单的向量空间图中绘制不同单词之间的相似性。我已经使用 gensim 给出的模型计算了它们word2vec,但我在文献中找不到任何图形示例。我的代码如下:

## Libraries to download
from nltk.tokenize import RegexpTokenizer
from nltk.corpus import stopwords
from nltk.stem.porter import PorterStemmer
from gensim import corpora, models
import gensim

import json
import nltk
import re
import pandas


appended_data = []


#for i in range(20014,2016):
#    df0 = pandas.DataFrame([json.loads(l) for l in open('SDM_%d.json' % i)])
#    appended_data.append(df0)

for i in range(2005,2016):
    if i > 2013:
        df0 = pandas.DataFrame([json.loads(l) for l in open('SDM_%d.json' % i)])
        appended_data.append(df0)
    df1 = pandas.DataFrame([json.loads(l) for l in open('Scot_%d.json' …
Run Code Online (Sandbox Code Playgroud)

python graph gensim word2vec deep-learning

2
推荐指数
1
解决办法
4187
查看次数

Tensorboard Embeddings:“解析元数据”挂起

我正在尝试使用张量板可视化嵌入,但嵌入选项卡似乎挂在“解析元数据”上。

我检查了代码、元数据 tsv 文件以及张量板projector_config.ptxt嵌入可视化教程;一切似乎都是正确的,张量板没有在终端中给我任何消息。

我用来生成嵌入和可视化的代码可以在这里找到。

我正在运行带有 GPU 支持的 python 2.7 的tensorflow 1.2.1。

python word2vec tensorflow tensorboard

2
推荐指数
1
解决办法
832
查看次数

跨多种语言的语义相似度

我正在使用词嵌入来查找两个句子之间的相似性。使用 word2vec,如果一个句子是英语,另一个句子是荷兰语,我还可以获得相似性度量(尽管不是很好)。

所以我开始想知道是否有可能计算两种不同语言的两个句子之间的相似度(没有明确的翻译),特别是如果这些语言有一些相似之处(英语/荷兰语)?

nlp nltk gensim word2vec

2
推荐指数
1
解决办法
3002
查看次数

为什么skipgram模型比CBOW花费更多的时间

为什么skipgram模型比CBOW模型花费更多的时间。我用相同的参数(向量大小和窗口大小)训练模型。

word2vec word-embedding

2
推荐指数
1
解决办法
880
查看次数

无法加载glove.6B.300d.txt

我正在尝试使用以下代码加载手套向量

en_model = gensim.models.KeyedVectors.load_word2vec_format(model_path, binary=False)
Run Code Online (Sandbox Code Playgroud)

我意外收到以下错误。

 File "/home/k/Desktop/Work/Vector explorer/word2vec-explorer/vec_test_loader.py", line 55, in make_model
en_model = KeyedVectors.load_word2vec_format(model_path, binary=is_bin)
 File "/home/k/.local/lib/python3.5/site-packages/gensim/models/keyedvectors.py", line 1119, in load_word2vec_format
limit=limit, datatype=datatype)
 File "/home/k/.local/lib/python3.5/site-packages/gensim/models/utils_any2vec.py", line 175, in _load_word2vec_format
vocab_size, vector_size = (int(x) for x in header.split())  # throws for invalid file format
 File "/home/k/.local/lib/python3.5/site-packages/gensim/models/utils_any2vec.py", line 175, in <genexpr>
vocab_size, vector_size = (int(x) for x in header.split())  # throws for invalid file format

ValueError: invalid literal for int() with base 10: 'the'
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

word2vec

2
推荐指数
1
解决办法
3448
查看次数

在使用 gensim 库进行训练期间,Skip-gram word2vec 和 CBOW w2v 之间有什么区别?

对于 Skip-gram word2vec 训练样本获取如下:

Sentence: The fox was running across the maple forest
Run Code Online (Sandbox Code Playgroud)

这个词fox给下对训练:

fox-run, fox-across, fox-maple, fox-forest
Run Code Online (Sandbox Code Playgroud)

等等对于每个单词。CBOW w2v 使用反向方法:

run-fox, across-fox, maple-fox, forest-fox
Run Code Online (Sandbox Code Playgroud)

或者forest一句话:

fox-forest, run-forest, across-forest, maple-forest
Run Code Online (Sandbox Code Playgroud)

所以我们得到了所有的对。如果我们在 CBOW 模式下训练时不指定目标词,那么在使用 gensim 库进行训练时,Skip-gram word2vec 和 CBOW w2v 有什么区别?在这两种情况下,是否都使用了所有单词对?

python nlp machine-learning gensim word2vec

2
推荐指数
1
解决办法
1643
查看次数

类型错误:序列项 0:预期是一个类似字节的对象,已找到 str

我正在尝试使用 Python 3 中的 word2vec-gensim 从文本文件中的 wiki 标题转储中提取印度尼西亚标题。 wiki 转储还包含其他语言的标题和一些符号。下面是我的代码:

    if len(sys.argv) != 3: 
    namaFileInput = "idwiki-latest-pages-articles.xml.bz2"
    namaFileOutput = "wiki.id.case.text"
    sys.exit(1)
inp, outp = sys.argv[1:3]
space = " "
i = 0

output = open(namaFileOutput, 'w')

# lower=False: huruf kecil dan besar dibedakan
wiki = WikiCorpus(namaFileInput, lemmatize=False, dictionary={}, lower=False)
for text in wiki.get_texts():
    if six.PY3:
        output.write(b' '.join(text).encode('utf-8') + '\n')
    else:
        output.write(space.join(text) + "\n")
    i = i + 1
    if i % 10000 == 0:
        logger.info("Saved " + str(i) + " …
Run Code Online (Sandbox Code Playgroud)

gensim word2vec python-3.7

2
推荐指数
1
解决办法
8357
查看次数

Wor2vec 微调

我需要微调我的 word2vec 模型。我有两个数据集,data1data2.

到目前为止我所做的是:

model = gensim.models.Word2Vec(
        data1,
        size=size_v,
        window=size_w,
        min_count=min_c,
        workers=work)
model.train(data1, total_examples=len(data1), epochs=epochs)

model.train(data2, total_examples=len(data2), epochs=epochs)
Run Code Online (Sandbox Code Playgroud)

这样对吗?我需要将学习的权重存储在某个地方吗?

我检查这个答案这一个,但我不明白它是如何做。

有人可以向我解释要遵循的步骤吗?

python machine-learning word2vec data-science

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

MemoryError:在python中使用word2vec时无法分配形状和数据类型为float32的数组

我正在尝试从维基百科文本数据训练 word2vec 模型,为此我使用以下代码。

import logging
import os.path
import sys
import multiprocessing

from gensim.corpora import  WikiCorpus
from gensim.models import Word2Vec
from gensim.models.word2vec import LineSentence


if __name__ == '__main__':
    program = os.path.basename(sys.argv[0])
    logger = logging.getLogger(program)

    logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s')
    logging.root.setLevel(level=logging.INFO)
    logger.info("running %s" % ' '.join(sys.argv))

    # check and process input arguments

    if len(sys.argv) < 3:
        print (globals()['__doc__'])
        sys.exit(1)
    inp, outp = sys.argv[1:3]

    model = Word2Vec(LineSentence(inp), size=400, window=5, min_count=5, workers=multiprocessing.cpu_count())

    # trim unneeded model memory = use (much) less RAM
    model.init_sims(replace=True)

    model.save(outp) …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing gensim word2vec python-multiprocessing

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

Gensim Word2vec 模型参数调优

我正在研究 Word2Vec 模型。有什么方法可以获得其参数之一的理想值,即iter. 就像我们在 K-Means(Elbo 曲线图)中使用的方式来获取 K 值。或者有没有其他方法可以对这个模型进行参数调整。

gensim word2vec

2
推荐指数
1
解决办法
2474
查看次数