标签: word2vec

使用TensorFlow变换有效地将标记转换为单词向量

我想在训练,验证和推理阶段使用TensorFlow Transform将标记转换为单词向量.

我按照这个StackOverflow帖子实现了从标记到向量的初始转换.转换按预期工作,我获取EMB_DIM每个令牌的向量.

import numpy as np
import tensorflow as tf

tf.reset_default_graph()
EMB_DIM = 10

def load_pretrained_glove():
    tokens = ["a", "cat", "plays", "piano"]
    return tokens, np.random.rand(len(tokens), EMB_DIM)

# sample string 
string_tensor = tf.constant(["plays", "piano", "unknown_token", "another_unknown_token"])


pretrained_vocab, pretrained_embs = load_pretrained_glove()

vocab_lookup = tf.contrib.lookup.index_table_from_tensor(
    mapping = tf.constant(pretrained_vocab),
    default_value = len(pretrained_vocab))
string_tensor = vocab_lookup.lookup(string_tensor)

# define the word embedding
pretrained_embs = tf.get_variable(
    name="embs_pretrained",
    initializer=tf.constant_initializer(np.asarray(pretrained_embs), dtype=tf.float32),
    shape=pretrained_embs.shape,
    trainable=False)

unk_embedding = tf.get_variable(
    name="unk_embedding",
    shape=[1, EMB_DIM],
    initializer=tf.random_uniform_initializer(-0.04, 0.04),
    trainable=False)

embeddings = …
Run Code Online (Sandbox Code Playgroud)

word2vec tensorflow apache-beam tensorflow-transform glove

13
推荐指数
1
解决办法
569
查看次数

为什么word2vec为每个单词使用2个表示?

我试图理解为什么word2vec的skipgram模型对每个单词(隐藏表示,即单词嵌入)和输出表示(也称为上下文单词嵌入)有2个表示.这只是为了普遍性,上下文可以是任何东西(不仅仅是单词),还是有更基本的原因

word2vec

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

如何判断Gensim Word2Vec是否正在使用C编译器?

我正在尝试使用Gensim的Word2Vec实现.Gensim警告说,如果你没有C编译器,训练速度会慢70%.有没有确认Gensim正确使用我安装的C编译器?

我在Windows 10上使用Anaconda Python 3.5.

python installation compilation gensim word2vec

12
推荐指数
1
解决办法
5315
查看次数

如何使用Word2Vec获取单词列表的向量?

我想创建一个本质上是字典的文本文件,每个单词通过word2vec与其矢量表示形成配对.我假设这个过程首先训练word2vec,然后从我的列表中查找每个单词并找到它的表示(然后将其保存在一个新的文本文件中)?

我是word2vec的新手,我不知道该怎么做.我已经阅读了几个主要网站,以及Stack上的一些问题,但还没有找到一个好的教程.

nlp artificial-intelligence machine-learning word2vec

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

Gensim Word2vec:语义相似度

我想知道gensim word2vec的两个相似性度量之间的区别:most_similar()和most_similar_cosmul().我知道第一个使用单词向量的余弦相似性,而另一个使用Omer Levy和Yoav Goldberg提出的乘法组合目标.我想知道它对结果有何影响?哪一个给出语义相似性?等.例如:

model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=4)
model.most_similar(positive=['woman', 'king'], negative=['man'])               
Run Code Online (Sandbox Code Playgroud)

结果:[('queen',0.50882536),...]

model.most_similar_cosmul(positive=['baghdad', 'england'], negative=['london'])
Run Code Online (Sandbox Code Playgroud)

结果:[(u'iraq',0.8488819003105164),...]

python similarity gensim word2vec semantics

11
推荐指数
1
解决办法
4654
查看次数

如何通过word2vec获取反义词?

我目前正在使用Python中的gensim开发word2vec模型,并希望编写一个函数来帮助我找到给定单词的反义词和同义词.例如:反义词("sad")="happy"同义词("upset")="enraged"

有没有办法在word2vec中这样做?

python gensim word2vec

11
推荐指数
1
解决办法
3493
查看次数

Doc2Vec和PySpark:关于DeepDist的Gensim Doc2vec

我在看的DeepDist(链接)模块和思维将其联合GensimDoc2VecAPI来训练上段载体PySpark.该链接实际上如何做以下干净的例子提供GensimWord2Vec模型:

from deepdist import DeepDist
from gensim.models.word2vec import Word2Vec
from pyspark import SparkContext

sc = SparkContext()
corpus = sc.textFile('enwiki').map(lambda s: s.split())

def gradient(model, sentences):  # executes on workers
    syn0, syn1 = model.syn0.copy(), model.syn1.copy()   # previous weights
    model.train(sentences)
    return {'syn0': model.syn0 - syn0, 'syn1': model.syn1 - syn1}

def descent(model, update):      # executes on master
    model.syn0 += update['syn0']
    model.syn1 += update['syn1']

with DeepDist(Word2Vec(corpus.collect()) as dd:
    dd.train(corpus, gradient, descent) …
Run Code Online (Sandbox Code Playgroud)

gensim apache-spark word2vec pyspark

11
推荐指数
1
解决办法
3091
查看次数

从gensim word2Vec获取权重矩阵

我在python中使用gensim word2vec包.我想检索WW'已跳过克学习期间学习权重矩阵.

在我看来,model.syn0给了我第一个,但我不知道我怎么能得到另一个.任何的想法?

我真的很想找到关于模型可访问属性的任何详尽文档,因为官方文档看起来并不精确(例如syn0没有被描述为属性)

python nlp machine-learning gensim word2vec

11
推荐指数
1
解决办法
3675
查看次数

为什么在gensim word2vec中创建了多个模型文件?

当我尝试创建一个word2vec模型(带负抽样的skipgram)时,我收到3个文件作为输出,如下所示.

word2vec (File)
word2vec.syn1nef.npy (NPY file)
word2vec.wv.syn0.npy (NPY file)
Run Code Online (Sandbox Code Playgroud)

我只是担心为什么会发生这种情况,因为我以前在word2vec中的测试示例我只收到一个模型(没有npy文件).

请帮我.

python gensim word2vec word-embedding

11
推荐指数
1
解决办法
2081
查看次数

在 python 中得到“__init__() 得到了一个意外的关键字参数‘document’”这个错误我正在使用 Word2Vec 和 gensim

我正在使用 Word2vec 和 gensim 进行项目,

model = gensim.models.Word2Vec(
    documents = 'userDataFile.txt',
    size=150,
    window=10,
    min_count=2,
    workers=10)
model = gensim.model.Word2Vec.load("word2vec.model")
model.train(documents, total_examples=len(documents), epochs=10)
model.save("word2vec.model")
Run Code Online (Sandbox Code Playgroud)

这是我目前拥有的部分代码,我在下面收到此错误

Traceback (most recent call last):
File "C:\Users\User\Desktop\InstaSubProject\templates\HashtagData.py", line

37, in <module>
workers=10)
TypeError: __init__() got an unexpected keyword argument 'documents'
Run Code Online (Sandbox Code Playgroud)

UserDataFile.txt 是我存储从网络抓取中获得的输出结果数据的文件。

我不太确定我需要在这里修复什么。

先感谢您 !

python gensim word2vec

11
推荐指数
3
解决办法
9086
查看次数