Cómo crear una incrustación a partir de una lista de oraciones en inglés

Como Crear Una Incrustacion A Partir De Una Lista De Oraciones En Ingles



¿Alguna vez has pensado cuando nos comunicamos con nuestras máquinas (computadoras) y les damos instrucciones para realizar una tarea específica para nosotros, como realizar una búsqueda específica o traducir de un idioma a otro, cómo una computadora entiende y procesa esto? Todo esto se hace a través del subcampo de Inteligencia Artificial del Procesamiento del Lenguaje Natural. La computadora entiende los valores numéricos y la técnica de NLP de 'incrustación de palabras' convierte la palabra y los textos que damos como entrada a las computadoras en ese vector numérico para que la computadora pueda reconocerlo. Varios otros procesos de PNL ocurren más allá de esta interacción humano-computadora a través de modelos de lenguaje, pero cubriremos la palabra incrustación en detalle en esta guía.

Sintaxis:

Diferentes funciones caen bajo el procesamiento del lenguaje natural para la inserción de palabras en el texto. Este artículo cubre la función “word2vec” para este propósito. Para que quede más claro, la incrustación de palabras convierte nuestras entradas de texto en la representación vectorial donde aquellas palabras que tienen más o menos los mismos significados contextuales han dado la misma representación.

El algoritmo 'word2vec' es un modelo de red neuronal que se entrena de tal manera que aprende la incrustación de las palabras al predecir primero el contexto de la palabra en el que aparece. Este modelo toma el texto como su entrada. Luego, para cada palabra del texto, se crea la representación vectorial para esa palabra. Este modelo se basa en la idea de que las palabras que parecen tener el mismo contexto tienen los mismos significados. La sintaxis de 'word2vec' es la siguiente:







$ Word2Vec(frases, min_count)

Este algoritmo tiene dos parámetros que son 'frases' y 'recuento_mínimo'. La oración es la variable donde se almacena la lista de oraciones o el texto en forma de oraciones y el recuento mínimo habla sobre el valor de conteo de 1, lo que significa que cualquier palabra en el texto que haya aparecido menos de una debe ser ignorada. .



Ejemplo 1:

En este ejemplo, creamos incrustaciones de palabras para las palabras que existen en la lista de oraciones en inglés. Para crear la palabra 'incrustación', necesitamos usar el modelo 'word2vec'. Este modelo es un paquete de la biblioteca 'gensim' de Python. Necesitamos tener Gensim instalado en nuestros repositorios de la biblioteca de Python para trabajar con 'word2vec'.



Para implementar este ejemplo, trabajaremos en el compilador de Python en línea 'google colab'. Para instalar gensim, use el comando 'pip install gensim'. Esto comienza a descargar esta biblioteca con todos sus paquetes asociados. Una vez instalado, importamos el paquete “word2vector” desde el gensim.





Para entrenar este modelo 'word2vec', necesitamos crear un conjunto de datos de entrenamiento. Para eso, creamos una lista de oraciones que contiene de cuatro a cinco oraciones en inglés. Guardamos esta lista en la variable “training_data”.

Nuestro próximo paso después de crear el conjunto de datos de entrenamiento es entrenar el modelo 'word2vec' en estos datos. Entonces, llamamos al modelo. Damos los datos de entrenamiento en los parámetros de entrada de este modelo que guardamos en la variable 'entrada'. Luego, especificamos el segundo parámetro que es el “recuento_mínimo”. Fijamos su valor igual a “1”. El resultado de este modelo de entrenamiento se guarda en la variable 'trained_model'.



Una vez que hayamos terminado de entrenar el modelo, simplemente podemos acceder al modelo con el prefijo 'wv', que es la palabra modelo vectorial. También podemos acceder al vocabulario del token de nuestras palabras y podemos imprimirlas con el método de la siguiente manera:

vocabof_tokens = lista (modelo.wv.vocab)

El modelo representa el modelo entrenado en nuestro caso. Ahora, accedemos a la representación vectorial de la única palabra en la lista de la oración que, en nuestro caso, es 'manzana'. Hacemos esto simplemente llamando al modelo entrenado. Pasamos la palabra cuya representación vectorial queremos imprimir como “modelo. wv [‘apple’]” a su argumento de entrada. Luego, imprimimos los resultados con la función “imprimir”.

de como una nación modelos importar Word2Vec

datos de entrenamiento = [ [ 'manzana' , 'es' , 'el' , 'dulce' , 'manzana' , 'para' , 'palabra2vec' ] ,
[ 'este' , 'es' , 'el' , 'segundo' , 'manzana' ] ,
[ 'aquí' , 'otro' , 'manzana' ] ,
[ 'uno' , 'dulce' , 'manzana' ] ,
[ 'y' , 'más' , 'dulce' , 'manzana' ] ]

modelo = Word2Vec ( datos de entrenamiento , min_count = 1 )
imprimir ( modelo )
fichas_vocabof = lista ( modelo. Virginia Occidental . index_to_key )
imprimir ( fichas_vocabof )
imprimir ( modelo. Virginia Occidental [ 'manzana' ] )

 

A partir de la salida y el código mencionados anteriormente, se muestra la palabra incrustada para la palabra 'manzana'. En el ejemplo, primero creamos un conjunto de datos de entrenamiento. Luego, entrenamos un modelo en él y lo resumimos. Luego, utilizando el modelo, obtuvimos acceso al vocabulario simbólico de las palabras. Después de eso, mostramos la palabra incrustación para la palabra 'manzana'.

Ejemplo 2:

Usando la biblioteca gensim, creemos otra lista de oraciones. Entrena nuestro modelo para cada palabra en la oración para crear la incrustación de palabras usando el modelo 'word2vec'. Primero, desde el paquete de la biblioteca gensim, se importa el modelo 'word2vec'. Luego, creamos otro conjunto de datos que será la lista que contiene las dos oraciones. Cada oración en la lista tiene cuatro palabras.

Ahora, guardamos esta lista en la variable 'datos'. Luego, llamamos al modelo 'word2vec ()' y alimentamos los datos a los argumentos de este modelo con el valor de recuento mínimo que es igual a '1'. Así entrenamos a nuestro modelo. Ahora, es capaz y puede aprender la incrustación de palabras de las palabras que existen en las oraciones que están presentes en la lista al predecir el contexto en el que existen. Para probar los resultados de nuestro modelo, simplemente pasamos una palabra como 'perro' en nuestros datos al modelo. Luego, imprimimos los resultados usando la función “imprimir()”.

de como una nación modelos importar Word2Vec
datos = [ [ 'conejo' , 'tiene' , 'dientes' ] , [ 'perro' , 'tiene' , 'orejas' ] ]
modelo = Word2Vec ( datos , min_count = 1 )
imprimir ( modelo. Virginia Occidental [ 'perro' ] )

Podemos observar la representación vectorial de la palabra que alimentamos al modelo como su entrada del fragmento anterior de la salida.

Conclusión

Esta guía demuestra el método para crear la incrustación de palabras para las palabras que existen en la lista de oraciones en inglés. Aprendimos sobre la biblioteca 'gensim' de Python que proporciona el modelo 'word2vec' para crear la incrustación de palabras. Además, aprendimos sobre los parámetros de entrada, cómo entrenar el modelo 'word2vec' en los datos de entrenamiento y cómo presentar la palabra en una representación del vector.