gpt4 book ai didi

python - 斯坦福手套 : Dimension anomaly in glove. twitter.27B.200d

转载 作者:行者123 更新时间:2023-11-28 19:14:55 30 4
gpt4 key购买 nike

我从 http://nlp.stanford.edu/data/glove.twitter.27B.zip 下载了 Glove-twitter 预训练向量

当我在内存中加载向量(使用 glove.twitter.27B.200d.txt)时,我发现 900 个词,其向量为 199 维,而对于其余所有词,其向量为 200 维。 根据我的理解 - 此文件中的每个矢量都应该恰好是 200 维。没有?

我正在使用以下 python 代码得出我的结论

import pickle
import numpy as np

glove_model_path = './glove.twitter.27B.200d.txt'

f = open(glove_model_path,'r')

model = {}
counter = 0

vary_length = 0
anamolies = []

for line in f:
counter += 1
items = line.replace('\r','').replace('\n','').split(' ')
word = items[0]
vect = np.array([float(i) for i in items[1:] if len(i) > 1])
if (len(vect) != 200):
vary_length += 1
anamolies.append(word)

f.close()

print vary_length

Output is : 900

最佳答案

正确,每个向量应该有 200 个元素。

详细来说,我怀疑问题出在您的代码中,具体而言:
items = line.replace('\r','').replace('\n','').split(' ')

你为什么不打印这 900 行中的任何一行,看看它们是什么样子的。根据标记化的完成方式,您可能会遇到\r 或\n 被视为单词的情况,因此您要删除一些元素。不过我觉得很奇怪,默认情况下不会将空格合并在一起。

此外,您可能想检查 API 是否读取这些向量而不是自己滚动。您的代码做出了一些可能不正确的格式假设。

关于python - 斯坦福手套 : Dimension anomaly in glove. twitter.27B.200d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34695225/

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