web-dev-qa-db-fra.com

Importez GoogleNews-vectors-negative300.bin

Je travaille sur le code en utilisant le gensim et j'ai du mal à dépanner une ValueError dans mon code. J'ai finalement pu compresser le fichier GoogleNews-vectors-negative300.bin.gz afin de pouvoir l'implémenter dans mon modèle. J'ai également essayé gzip dont les résultats ont échoué. L'erreur dans le code se produit dans la dernière ligne. Je voudrais savoir ce qui peut être fait pour corriger l'erreur. Existe-t-il des solutions de contournement? Enfin, existe-t-il un site Web auquel je pourrais faire référence?

Merci respectueusement pour votre aide!

import gensim
from keras import backend
from keras.layers import Dense, Input, Lambda, LSTM, TimeDistributed
from keras.layers.merge import concatenate
from keras.layers.embeddings import Embedding
from keras.models import Mode

pretrained_embeddings_path = "GoogleNews-vectors-negative300.bin"
Word2vec = 
gensim.models.KeyedVectors.load_Word2vec_format(pretrained_embeddings_path, 
binary=True)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-23bd96c1d6ab> in <module>()
  1 pretrained_embeddings_path = "GoogleNews-vectors-negative300.bin"
----> 2 Word2vec = 
gensim.models.KeyedVectors.load_Word2vec_format(pretrained_embeddings_path, 
binary=True)

C:\Users\green\Anaconda3\envs\py35\lib\site-
packages\gensim\models\keyedvectors.py in load_Word2vec_format(cls, fname, 
fvocab, binary, encoding, unicode_errors, limit, datatype)
244                             Word.append(ch)
245                     Word = utils.to_unicode(b''.join(Word), 
encoding=encoding, errors=unicode_errors)
--> 246                     weights = fromstring(fin.read(binary_len), 
dtype=REAL)
247                     add_Word(word, weights)
248             else:

ValueError: string size must be a multiple of element size
6
Hello World

Les commandes ci-dessous fonctionnent.

brew install wget

wget -c "https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz"

Vous pouvez ensuite utiliser la commande ci-dessous pour obtenir wordVector.

from gensim import models

w = models.KeyedVectors.load_Word2vec_format(
    '../GoogleNews-vectors-negative300.bin', binary=True)
11
ohsoifelse

vous devez écrire le chemin complet.

utilisez ce chemin:

https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz

10
user8403237

essaye ça -

import gensim.downloader as api

wv = api.load('Word2vec-google-news-300')

vec_king = wv['king']

visitez également ce lien: https://radimrehurek.com/gensim/auto_examples/tutorials/run_Word2vec.html#sphx-glr-auto-examples-tutorials-run-Word2vec-py

0
hansraj