deep-learning - Word Embedding、LookupTable、Word Embedding 可视化

标签 deep-learning text-mining word2vec word-embedding

我需要问几个关于词嵌入的问题......可能是基本的。

  • 当我们转换一个词的 one-hot 向量时,例如 king [0 0 0 1 0]嵌入向量 E = [0.2, 0.4, 0.2, 0.2] ....结果词向量中的每个索引是否有任何重要性?例如 E[1]这是 0.2 .... 具体是什么 E[1]定义(虽然我知道它基本上是到另一个空间的转换)...或词向量共同定义上下文但不是单独定义...
  • 与原始 one-hot 向量相比,词向量的维度(减少或增加)如何重要?
  • 我们如何根据嵌入层定义查找表?
  • 查找表是一种随机生成的表,还是已经针对数据中的数据实例进行了单独训练,我们稍后仅在神经网络操作中使用它?
    5- 是否有任何方法可以在隐藏层可视化嵌入向量(就像我们在基于图像的神经网络处理中所做的那样)?

  • 提前致谢

    最佳答案

    1:嵌入向量中的每个元素(或一组元素)都有一定的意义,但大多数是人类不知道的。取决于您使用的算法,词嵌入向量可能具有不同的含义,但通常很有用。
    例如,Glove , 类似的词“ Frog ”、“蟾蜍”在向量空间中彼此靠近。 King - man 结果与 Queen 相似。

  • 把词汇变成索引。例如,您有一个词汇表:
    [狗、猫、老鼠、喂、玩、用]
    然后句子: Dog play with cat => 0, 4, 5, 1
    同时,您的嵌入矩阵如下

    [0.1, 0.1, 0] # 注释:这是狗
    [0.2, 0.5, 0.1] # 这是猫
    [...]
    [...]
    [...]
    [...]

  • 其中第一行是狗的嵌入向量,第二行是猫,依此类推
    然后,您在查找后使用索引 (0, 4, 5, 1) 将成为矩阵 [[0.1, 0.1, 0][...][...][0.2, 0.5, 0.1]]
  • 一个或两个
  • 您可以随机初始化嵌入向量并使用梯度下降对其进行训练
  • 您可以采用预训练的词向量并保持固定(即:只读,无变化)。
    您可以在模型中训练词向量并在另一个模型中使用它。我们您可以在线下载预训练词向量。常见爬网示例(840B token ,2.2M 词汇,大小写,300d 向量,2.03 GB 下载):glove.840B.300d.zip on Glove
  • 您可以使用预训练的词向量进行初始化,并通过梯度下降使用您的模型进行训练

  • 更新:
    一热向量不包含任何信息。您可以认为 one-hot 向量是该向量在词汇表中的索引。
    例如,狗 => [1, 0, 0, 0, 0, 0] 和猫 => [0, 1, 0, 0, 0, 0]。 one-hot 与 index 之间有一些不同:
  • 如果你输入一个索引列表:[0, 4, 5, 1] 到你的多层感知器,它不能学习任何东西(我试过......)但是如果你输入一个单热向量 [[. ..1][1...][...][...]],它学到了一些东西。但它在 RAM 和 CPU 方面成本很高。
  • One-hot 花费大量内存来存储零。因此,如果您没有嵌入矩阵,我建议随机初始化嵌入矩阵。将数据集存储为索引,并使用索引查找嵌入向量

  • "its mean that lookup table is just a matrix of embedded vectors (already been trained seperately via word2vec or...) for each word in the vocabulary. and while in the process of neural network either we can use an Embedding Layer or we can just refer to embedded vector in lookup table for that particular embedded vector against particular one-hot vector."



    使用“INDEX”在查找表中查找。将 dog 变为 0,cat 变为 1。 one-hot 向量和索引包含相同的信息,但 one-hot 需要更多的内存来存储。此外,许多深度学习框架都接受索引作为嵌入层的输入(其中,输出是表示该索引中单词的向量。)

    ". How we get this embedding vector..."



    => 阅读论文。这是关于 Word2vec 的论文和 Glove .向您的讲师询问更多详细信息,他们愿意为您提供帮助。

    关于deep-learning - Word Embedding、LookupTable、Word Embedding 可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44881999/

    相关文章:

    python - Keras:如何存储每个纪元后的历史记录?

    python - Nolearn 在运行分类时会引发索引错误,但在回归时不会引发索引错误

    r - 将TIFF的首页转换为ocr PDF并提取特定的文本位置

    python - word2vec 负采样 skip gram 模型的正确梯度

    python - 了解 Gensim 包中 Doc2Vec 的输出

    python - 循环每个元素并根据该元素打印 word2vec 向量

    python - 多尺度 CNN 网络 Python Keras

    deep-learning - 修改Theano.tensor.nnet.softmax中的perform函数

    r - 跳过或删除两个模式之间的行

    R 文本挖掘 - 处理复数