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
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)
vous devez écrire le chemin complet.
utilisez ce chemin:
https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz
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