使用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))发布于 2019-08-25 21:16:01
作为一种“密集嵌入”,Doc2Vec (或Word2Vec)向量的各个维度没有清晰可描述的解释。
向量只是处于相对位置,这对训练任务很有效-幸运的是,对我们来说,这些相同的相对位置可以很好地与我们对单词相似性的感觉相关联,甚至与共同含义的“邻域”或“方向”相关联。
但有趣的语义概念,如著名的Word2Vec vec['king'] - vec['man'] + vec['woman'] ~close-to~ vec['queen']示例所捕获的“皇家领袖”或“性别”概念,并不与确切的维度/轴对齐。
因此,您看到的“行”只是单个向量的所有维度,而每个“列”是一个维度,该维度与任何其他维度相同,并且通常不能标记。
(如果您要合成一个包含几个不同单词的新的类似文档,它将得到一个不同的文档向量-但这种变化可能不会严格限制在任何几个维度上。)
https://stackoverflow.com/questions/57644159
复制相似问题