У меня есть список слов вроде ['like','Python']
, и я хочу загрузить предварительно обученные векторы слов Glove этих слов, но файл Glove слишком велик, есть ли быстрый способ сделать это?
Что я пробовал
Я перебрал каждую строку файла, чтобы посмотреть, есть ли слово в списке, и добавил его в слово, если True. Но этот метод немного медленный.
def readWordEmbeddingVector(Wrd):
f = open('glove.twitter.27B/glove.twitter.27B.200d.txt','r')
words = []
a = f.readline()
while a!= '':
vector = a.split()
if vector[0] in Wrd:
words.append(vector)
Wrd.remove(vector[0])
a = f.readline()
f.close()
words_vector = pd.DataFrame(words).set_index(0).astype('float')
return words_vector
Я тоже попробовал ниже, но он загрузил весь файл вместо нужных мне векторов
gensim.models.keyedvectors.KeyedVectors.load_word2vec_format('word2vec.twitter.27B.200d.txt')
Что я хочу
Метод похож на gensim.models.keyedvectors.KeyedVectors.load_word2vec_format
, но я могу установить список слов для загрузки.