【问题标题】:Doc2vec matrix representationDoc2vec 矩阵表示
【发布时间】:2019-08-25 07:42:15
【问题描述】:

使用 Doc2vec,我想看看生成的矩阵中每个单词的影响。

有没有办法查看矩阵的详细表示,即 矩阵的内容以及每行和每列主要代表什么?

例如这样我可以看到矩阵表示,但看不到列和行描述:

user_vector = model.infer_vector(doc_words=normalized_code, steps=500, alpha=0.025)
                print ('user_vector',user_vector)

('user_vector', array([ 0.24641024, -0.34768087,  0.02094658, -0.06164126,  0.13432615,
       -0.22375308, -0.16741623, -0.2827304 ,  0.04730519,  0.19883735,
       -0.27629316,  0.00847638,  0.03568176, -0.31764287, -0.38039216,
        0.08650897,  0.3766149 ,  0.09078006, -0.1676072 , -0.1324272 ],
      dtype=float32))

【问题讨论】:

    标签: python word-embedding doc2vec


    【解决方案1】:

    作为“密集嵌入”,Doc2Vec(或Word2Vec)向量的各个维度没有清晰可描述的解释。

    向量只是处于适合训练任务的相对位置——幸运的是,这些相同的相对位置可以很好地与我们对单词相似性的感觉,甚至是共同点的“邻域”或“方向”相关联-意义。

    但有趣的语义概念,如著名的 Word2Vec vec['king'] - vec['man'] + vec['woman'] ~close-to~ vec['queen'] 示例所捕获的“皇家领袖”或“性别”概念,并没有与精确的尺寸/轴对齐。

    因此,您看到的“行”只是单个向量的所有维度,每个“列”都是与其他任何维度相同的维度,并且通常不可标记。

    (如果你用几个不同的词合成一个新的、相似的文档,它会得到一个不同的 doc-vector - 但这种变化可能不会严格限制在任何几个维度上。)

    【讨论】:

    • 有没有办法查看每个维度的具体化概念?
    • 每个维度背后都没有“物化概念”。有趣的概念可能与空间区域或方向模糊相关 - 但这些涉及所有维度。如上所述,它们与任何一个维度都没有整齐地对齐,任何一个维度/轴都不能简单描述。 “密集”嵌入是这样的。
    • 好的,感谢您的帮助。
    猜你喜欢
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多