问题标签 [word-embedding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - 如何获取新段落的段落向量?
我有一组用户及其内容(每个用户一个包含该用户推文的文档)。我计划为每个用户使用某个大小为 N 的分布式矢量表示。一种方法是在 twitter 数据上使用预先训练好的词向量,然后对它们进行平均以获得用户的分布式向量。我打算使用 doc2vec 来获得更好的结果。但我不太确定我是否理解Distributed Representations of Sentences and Documents 中给出的 DM 模型。
我知道我们为每个段落分配一个向量,在预测下一个单词时,我们正在使用它,然后反向传播错误以更新段落向量和词向量。如何使用它来预测新段落的段落向量?
编辑:任何用于 gensim 计算新文档段落向量的玩具代码将不胜感激。
neural-network - Keras:将预先训练的嵌入作为输入,而不是在嵌入层中加载权重
我正在使用 Keras 库进行序列标记。我已经在我的实验中使用预训练嵌入,使用这样的方法(https://blog.keras.io/using-pre-trained-word-embeddings-in-a-keras-model.html)
我的代码(内部保存的嵌入):
这工作得很好,我们只需要输入一个(X,max_sequence_size)形状的 nd 数组,它实际上是 X个max_sequence_size时间步长(单词索引)的填充序列。
在模型内部保存预训练嵌入完全扩展了模型的大小(每个模型 450MB)。如果有人想在他自己的系统上将这种架构用于多个模型,比如说 20 个模型,他需要大约 20 个模型。10GB 可保存所有型号!在这种情况下,瓶颈是每个模型都在内部保存了词嵌入权重,而它们总是相同的。
试图找到一种足够的方法来减小模型的大小,我认为最好在外部加载实际的特征向量(嵌入)。,这意味着加载一个(X,max_sequence_size, embeddings_size)形状的 nd 数组,它实际上是 实际嵌入的max_sequence_size时间步长的X个填充序列。
我找不到任何关于这个重要问题的讨论。在 Keras 文档中,嵌入似乎是 RNN 中唯一可用的选择,keras 社区似乎低估了这个内存问题。我试图找出解决方案。
解决方案(外部加载的嵌入):
上面的代码有效,但请考虑以下几点:
- 您可能需要从头开始微调!
- 您必须格外小心序列的 max_length。很少有异常值(巨大的序列)可能会产生问题。
我建议以下解决方案。
更好的解决方案(外部加载的嵌入 + 掩蔽):
随意评论和批评,非常欢迎您!
python - 如何在 Tensorflow 中使用预训练的 Word2Vec 模型
我有一个Word2Vec
接受过培训的模型Gensim
。我如何在Tensorflow
for中使用它Word Embeddings
。我不想在 Tensorflow 中从头开始训练嵌入。有人可以告诉我如何使用一些示例代码来做到这一点吗?
python - 将输出(上下文)嵌入保存在 word2vec(gensim 实现)中作为最终模型
我研究word2vec
了gensim中的实现,我知道输入向量在syn0
,输出向量在syn1
,syn1neg
如果是负采样。
我知道我可以像这样访问输入和输出嵌入之间的相似性:
我的问题是,是否可以将输出嵌入(来自syn1
或syn1neg
矩阵)保存为最终模型。例如, when model.save()
, 以便它输出输出嵌入(或者在word2vec.py
我可以访问和修改的代码中的确切位置)。我需要这个才能将这些输出嵌入用作分类器的输入。我以前用蛮力方法完成了它,所以我想轻松访问输出嵌入。
python - 如何对 tf.nn.embedding_lookup 做反向操作?
我有一个embedded_chars
数组,使用以下代码创建:
input_x
如果我只有embedded_chars
and ,我想得到数组W
。
我怎么才能得到它?
谢谢!
python - Python keras - 词嵌入
我有以下问题:
我正在使用anaconda
python
. 在 keras 的数据集中,有一个处理电影评论情感分类的数据集,或者imdb
。
根据文档,数据集现在可以使用了。基本上,这些词已被整数替换,这些整数表示数据集中每个词的有序频率。因此,每个修订版中的句子都由一系列整数组成。这是问题,我想知道一种将新数据集“转换”为 keras 输入模式的方法。
抱歉出现错误,我是 python 新手,我正在尝试学习 ml。
我尝试这样做,word2vec
但我不知道我是否走在正确的道路上:
该示例带有文本,但是我有一个体系结构,其中每个文件夹的名称都是标签,并且在每个文件夹中我都有 txt 文档。
我“得到”的另一种方法是使用sklearn
你有其他我可以使用的替代品吗?目前的做法真的是这样吗?但我仍然不知道如何将文本向量绑定到标签
欢迎任何帮助,谢谢。
tensorflow - TensorFlow 中 Word2Vec 的类比?
我在 Tensor Flow 中实现了字嵌入,与此处的代码类似,我能够获得最终嵌入(final_embeddings),但我想使用本练习的典型类比来评估嵌入。如何确定哪个术语对应于最终嵌入数组中的哪一行?或者,在 Tensor Flow 中是否有实现?任何帮助将不胜感激(细节和资源将是一个加号;))。谢谢!
python - 在 Keras 中实现字符卷积
我正在尝试在 Keras 中实现这个https://arxiv.org/abs/1603.01354,但是卷积层有问题。我不明白如何设置像 nb_filter ecc 这样的超参数,实际上真正的问题是将最大池输出与嵌入词层输出相匹配。
MAX_CHARACTER_LENGTH 61 MAX_SEQUENCE_LENGTH 124
输入数据
该模型
形状:初始(14041,7564),嵌入后(None,7564,30),reshape1后(None,30,7564),conv1d后(None,28,20),maxpool1d后(None,1,20)