我正在使用 GloVe 方法研究预训练的词向量。数据包含维基百科数据的向量。嵌入数据时出现错误,指出无法将字符串转换为浮点数:'ng'
我尝试浏览数据,但找不到符号“ng”
# load embedding as a dict
def load_embedding(filename):
# load embedding into memory, skip first line
file = open(filename,'r', errors = 'ignore')
# create a map of words to vectors
embedding = dict()
for line in file:
parts = line.split()
# key is string word, value is numpy array for vector
embedding[parts[0]] = np.array(parts[1:], dtype='float32')
file.close()
return embedding
这是错误报告。请进一步指导我。
runfile('C:/Users/AKSHAY/Desktop/NLP/Pre-trained GloVe.py', wdir='C:/Users/AKSHAY/Desktop/NLP')
C:\Users\AKSHAY\AppData\Local\conda\conda\envs\py355\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
from ._conv import register_converters as _register_converters
Using TensorFlow backend.
Traceback (most recent call last):
File "<ipython-input-1-d91aa5ebf9f8>", line 1, in <module>
runfile('C:/Users/AKSHAY/Desktop/NLP/Pre-trained GloVe.py', wdir='C:/Users/AKSHAY/Desktop/NLP')
File "C:\Users\AKSHAY\AppData\Local\conda\conda\envs\py355\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)
File "C:\Users\AKSHAY\AppData\Local\conda\conda\envs\py355\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/AKSHAY/Desktop/NLP/Pre-trained GloVe.py", line 123, in <module>
raw_embedding = load_embedding('glove.6B.50d.txt')
File "C:/Users/AKSHAY/Desktop/NLP/Pre-trained GloVe.py", line 67, in load_embedding
embedding[parts[0]] = np.array(parts[1:], dtype='float32')
ValueError: could not convert string to float: 'ng'