Carga Precalculadas Vectores Gensim

Estoy usando el Gensim paquete de Python para aprender un neural modelo de lenguaje, y sé que usted puede proporcionar un corpus de entrenamiento para aprender el modelo. Sin embargo, ya existen muchos precalculadas palabra vectores disponible en formato de texto (por ejemplo,http://www-nlp.stanford.edu/projects/glove/). Hay alguna manera de inicializar un Gensim Word2Vec modelo que sólo se hace uso de algunas precalculadas vectores, en lugar de tener que aprender los vectores a partir de cero?

Gracias!

InformationsquelleAutor MEric | 2014-11-26

3 Kommentare

  1. 21

    Puede descargar pre-entrenados palabra vectores de aquí (obtener el archivo ‘GoogleNews-vectores-negative300.bin’):
    word2vec

    Extraer el archivo y, a continuación, usted puede cargar en python como:

    model = gensim.models.word2vec.Word2Vec.load_word2vec_format(os.path.join(os.path.dirname(__file__), 'GoogleNews-vectors-negative300.bin'), binary=True)
    
    model.most_similar('dog')

    EDICIÓN (Mayo de 2017):
    Como el código anterior está ahora en desuso, esta es la forma en que había de carga de los vectores de ahora:

    model = gensim.models.KeyedVectors.load_word2vec_format(os.path.join(os.path.dirname(__file__), 'GoogleNews-vectors-negative300.bin'), binary=True)
  2. 36

    El Guante de volcado de la universidad de Stanford sitio está en un formato que es poco diferente de la word2vec formato. Usted puede convertir el Guante de archivo en word2vec formato:

    python -m gensim.scripts.glove2word2vec --input  glove.840B.300d.txt --output glove.840B.300d.w2vformat.txt
    • Trabajó en MacOS 10.13
    • Como dijo @Chaitanya Shivade arriba loading.txt formato de formulario de guante conjunto de datos da el error en Gensim, por lo que podemos convertirlo en un formato requerido por gensim como w2vformat.txt o incluso guante.840B.300d.txt.word2vec
    • esta es la respuesta adecuada a la carga de guante pre-entrenados modelos
  3. 0

    Hasta donde yo sé, Gensim puede cargar dos formatos binarios, word2vec y fastText, y un genérico de formato de texto plano que puede ser creado por la mayoría de la palabra de la incrustación de herramientas. El genérico de texto sin formato se parece a esto (en este ejemplo 20000 es el tamaño del vocabulario y 100 es la longitud del vector)

    20000 100
    the 0.476841 -0.620207 -0.002157 0.359706 -0.591816 [98 more numbers...]
    and 0.223408  0.231993 -0.231131 -0.900311 -0.225111 [98 more numbers..]
    [19998 more lines...]

    Chaitanya Shivade ha explicado que en su respuesta aquí, cómo utilizar una secuencia de comandos proporcionada por Gensim para convertir el Guante (formato de cada línea: palabra + vector) en el formato genérico.

    La carga de los diferentes formatos es fácil, pero también es fácil confundirlas:

    import gensim
    model_file = path/to/model/file

    1) Carga de binario word2vec

    model = gensim.models.word2vec.Word2Vec.load_word2vec_format(model_file)

    2) Carga binario fastText

    model = gensim.models.fasttext.FastText.load_fasttext_format(model_file)

    3) Carga de los genéricos formato de texto sin formato (que ha sido introducida por word2vec)

    model = gensim.models.keyedvectors.Word2VecKeyedVectors.load_word2vec_format(model_file)

    Si usted sólo va a utilizar la palabra incrustaciones y no seguir a entrenar en Gensim, puede que desee utilizar la KeyedVector clase. Esto reducirá la cantidad de memoria que se necesita para cargar los vectores considerablemente (explicación detallada).

    El siguiente va a cargar el binario word2vec formato como keyedvectors:

    model = gensim.models.keyedvectors.Word2VecKeyedVectors.load_word2vec_format(model_file, binary=True)

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea