gpt4 book ai didi

python - 词嵌入维度值实际上代表什么?

转载 作者:行者123 更新时间:2023-12-02 09:39:55 31 4
gpt4 key购买 nike

我对 word2vec 和词嵌入有疑问,我已经下载了 GloVe 预训练的词嵌入(形状 40,000 x 50)并使用此函数从中提取信息:

import numpy as np
def loadGloveModel(gloveFile):
print ("Loading Glove Model")
f = open(gloveFile,'r')
model = {}
for line in f:
splitLine = line.split()
word = splitLine[0]
embedding = np.array([float(val) for val in splitLine[1:]])
model[word] = embedding
print ("Done.",len(model)," words loaded!")
return model

现在,如果我将此函数称为单词“python”,如下所示:

print(loadGloveModel('glove.6B.100d.txt')['python'])

它给了我 1x50 形状向量,如下所示:

[ 0.24934    0.68318   -0.044711  -1.3842    -0.0073079  0.651
-0.33958 -0.19785 -0.33925 0.26691 -0.033062 0.15915
0.89547 0.53999 -0.55817 0.46245 0.36722 0.1889
0.83189 0.81421 -0.11835 -0.53463 0.24158 -0.038864
1.1907 0.79353 -0.12308 0.6642 -0.77619 -0.45713
-1.054 -0.20557 -0.13296 0.12239 0.88458 1.024
0.32288 0.82105 -0.069367 0.024211 -0.51418 0.8727
0.25759 0.91526 -0.64221 0.041159 -0.60208 0.54631
0.66076 0.19796 -1.1393 0.79514 0.45966 -0.18463
-0.64131 -0.24929 -0.40194 -0.50786 0.80579 0.53365
0.52732 0.39247 -0.29884 0.009585 0.99953 -0.061279
0.71936 0.32901 -0.052772 0.67135 -0.80251 -0.25789
0.49615 0.48081 -0.68403 -0.012239 0.048201 0.29461
0.20614 0.33556 -0.64167 -0.64708 0.13377 -0.12574
-0.46382 1.3878 0.95636 -0.067869 -0.0017411 0.52965
0.45668 0.61041 -0.11514 0.42627 0.17342 -0.7995
-0.24502 -0.60886 -0.38469 -0.4797 ]

我需要帮助来理解输出矩阵。这些值代表什么以及生成新词的意义

最佳答案

在通常的 word2vec/GLoVe 中,各个维度坐标没有具体含义。相反,训练过程迫使单词处于有值(value)/有趣的相对位置

所有含义均在于相对距离相对方向,而不是专门与精确坐标轴对齐。

考虑一个经典的说明性示例:词向量能够解决类似“男人国王,就像女人” - 通过在坐标空间中某个预期点附近找到工作皇后

词向量空间的邻域包含许多一种类型的相关词(manmenmale男孩等 - 或国王女王王子皇家等.)。此外,可能有一些方向与人类的类别和程度观念非常匹配(更女性化、更君主制、更高等级等)。但这些邻域和方向通常与空间的精确轴尺寸 1:1 相关。

此外,充满词向量的空间存在许多可能的近旋转/反射/变换,它们对于典型应用来说彼此一样好,但每个词的精确坐标完全不同。也就是说,所有预期的相对距离都是相似的——单词有“正确的”邻居,按正确的排名顺序——并且存在有用的方向模式。但每个单词中的各个单词没有全局“正确”或一致的位置 - 只是相对有用的位置。

即使在一组向量中似乎存在一些模糊的相关性 - 例如“21 维中的高值与‘男性’的概念相关 - 这很可能是该向量组的巧合,而不是可靠的关系。

(有一些替代技术试图强制将各个维度映射到更容易解释的概念 - 例如 NNSE - 但它们的使用似乎不太常见。)

关于python - 词嵌入维度值实际上代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49732976/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com