“ Todo oculta un patrón que es parte del universo. Tiene simetría, elegancia y belleza , cualidades que, en primer lugar, son captadas por todos los verdaderos artistas que capturan el mundo. Este patrón puede verse en el cambio de estaciones, en cómo fluye la arena a lo largo de la pendiente, en las ramas enredadas de un arbusto de creosota, en el patrón de su hoja.
Estamos tratando de copiar este patrón en nuestra vida y en nuestra sociedad y, por lo tanto, amamos el ritmo, la canción, el baile, diversas formas que nos hacen felices y nos consuelan. Sin embargo, también se puede discernir el peligro que acecha en la búsqueda de la perfección absoluta, ya que es obvio que el patrón perfecto no cambia. Y, acercándose a la perfección, todas las cosas mueren "- Dune (1965)
Creo que el concepto de incrustaciones es una de las ideas más notables en el aprendizaje automático. Si alguna vez ha utilizado Siri, Google Assistant, Alexa, Google Translate o incluso un teclado de teléfono inteligente con la predicción de la siguiente palabra, entonces ya ha trabajado con el modelo de procesamiento de lenguaje natural basado en archivos adjuntos. Durante las últimas décadas, este concepto ha experimentado un desarrollo significativo para los modelos neuronales (los desarrollos recientes incluyen la inserción de palabras contextualizadas en modelos avanzados como
BERT y GPT2).
Word2vec es un método efectivo de creación de inversiones desarrollado en 2013. Además de trabajar con palabras, algunos de sus conceptos fueron efectivos para desarrollar mecanismos de recomendación y dar significado a los datos incluso en tareas comerciales y no lingüísticas. Esta tecnología ha sido utilizada por compañías como
Airbnb ,
Alibaba ,
Spotify y
Anghami en sus motores de recomendación.
En este artículo, veremos el concepto y la mecánica de generar archivos adjuntos usando word2vec. Comencemos con un ejemplo para familiarizarse con la forma de representar objetos en forma vectorial. ¿Sabes cuánto puede decir una lista de cinco números (vector) sobre tu personalidad?
Personalización: ¿qué eres?
“Te doy el camaleón del desierto; su habilidad para fusionarse con la arena le dirá todo lo que necesita saber sobre las raíces de la ecología y las razones para preservar su personalidad ". - Niños de la duna
En una escala de 0 a 100, ¿tiene un tipo de personalidad introvertida o extrovertida (donde 0 es el tipo más introvertido y 100 es el tipo más extrovertido)? ¿Alguna vez ha pasado una prueba de personalidad: por ejemplo, MBTI, o mejor aún
, los Cinco Grandes ? Se le da una lista de preguntas y luego se evalúa en varios ejes, incluida la introversión / extroversión.
Ejemplo de los resultados de la prueba Big Five. Realmente dice mucho sobre la personalidad y es capaz de predecir el éxito académico , personal y profesional . Por ejemplo, aquí puedes verlo.Supongamos que obtuve 38 de 100 para evaluar introversión / extraversión. Esto se puede representar de la siguiente manera:
O en una escala de −1 a +1:
¿Qué tan bien reconocemos a una persona solo de esta evaluación? En realidad no Los humanos son criaturas complejas. Por lo tanto, agregamos una dimensión más: una característica más de la prueba.
Puede imaginar estas dos dimensiones como un punto en el gráfico o, mejor aún, como un vector desde el origen hasta este punto. Hay excelentes herramientas vectoriales que serán útiles muy pronto.No muestro qué rasgos de personalidad ponemos en la tabla para que no te apegues a rasgos específicos, sino que entiendas de inmediato la representación vectorial de la personalidad de una persona como un todo.
Ahora podemos decir que este vector refleja parcialmente mi personalidad. Esta es una descripción útil al comparar diferentes personas. Supongamos que me atropelló un autobús rojo y necesita reemplazarme con una persona similar. ¿Cuál de las dos personas en el siguiente cuadro se parece más a mí?
Cuando se trabaja con vectores, la similitud generalmente se calcula mediante
el coeficiente de Otiai (coeficiente geométrico):
La Persona No. 1 se parece más a mí en carácter. Los vectores en una dirección (la longitud también es importante) dan un coeficiente de Otiai mayorNuevamente, dos dimensiones no son suficientes para evaluar a las personas. Décadas de desarrollo de la ciencia psicológica han llevado a la creación de una prueba para cinco características básicas de la personalidad (con muchas más). Entonces, usemos las cinco dimensiones:
El problema con las cinco dimensiones es que ya no será posible dibujar flechas ordenadas en 2D. Este es un problema común en el aprendizaje automático, donde a menudo tiene que trabajar en un espacio multidimensional. Es bueno que el coeficiente geométrico funcione con cualquier cantidad de mediciones:
El coeficiente geométrico funciona para cualquier cantidad de mediciones. En cinco dimensiones, el resultado es mucho más preciso.Al final de este capítulo quiero repetir dos ideas principales:
- Las personas (y otros objetos) se pueden representar como vectores numéricos (¡lo cual es genial para los automóviles!).
- Podemos calcular fácilmente qué tan similares son los vectores.
Incrustación de palabras
"El don de las palabras es el don del engaño y la ilusión". - Niños de la duna
Con esta comprensión, pasaremos a las representaciones vectoriales de las palabras obtenidas como resultado del entrenamiento (también se denominan adjuntos) y veremos sus interesantes propiedades.
Aquí está el archivo adjunto para la palabra "rey" (vector GloVe, entrenado en Wikipedia):
[ 0.50451 , 0.68607 , -0.59517 , -0.022801, 0.60046 , -0.13498 , -0.08813 , 0.47377 , -0.61798 , -0.31012 , -0.076666, 1.493 , -0.034189, -0.98173 , 0.68229 , 0.81722 , -0.51874 , -0.31503 , -0.55809 , 0.66421 , 0.1961 , -0.13495 , -0.11476 , -0.30344 , 0.41177 , -2.223 , -1.0756 , -1.0783 , -0.34354 , 0.33505 , 1.9927 , -0.04234 , -0.64319 , 0.71125 , 0.49159 , 0.16754 , 0.34344 , -0.25663 , -0.8523 , 0.1661 , 0.40102 , 1.1685 , -1.0137 , -0.21585 , -0.15155 , 0.78321 , -0.91241 , -1.6106 , -0.64426 , -0.51042 ]
Vemos una lista de 50 números, pero es difícil decir algo. Vamos a visualizarlos para compararlos con otros vectores. Pon los números en una fila:
Colorea las celdas por sus valores (rojo para cerca de 2, blanco para cerca de 0, azul para cerca de −2):
Ahora olvídate de los números, y solo por colores contrastamos el "rey" con otras palabras:
¿Ves que "hombre" y "mujer" están mucho más cerca uno del otro que del "rey"? Dice algo. Las representaciones vectoriales capturan mucha información / significado / asociaciones de estas palabras.
Aquí hay otra lista de ejemplos (compare columnas con colores similares):
Hay varias cosas para notar:
- A través de todas las palabras pasa una columna roja. Es decir, estas palabras son similares en esta dimensión particular (y no sabemos lo que está codificado en ella).
- Puedes ver que "mujer" y "niña" son muy similares. Lo mismo con "hombre" y "niño".
- "Niño" y "niña" también son similares en algunas dimensiones, pero difieren de "mujer" y "hombre". ¿Podría ser una idea vaga codificada de la juventud? Probablemente
- Todo, excepto la última palabra, son ideas de la gente. Agregué un objeto (agua) para mostrar las diferencias entre las categorías. Por ejemplo, puede ver cómo la columna azul baja y se detiene frente al vector de agua.
- Hay dimensiones claras donde el "rey" y la "reina" son similares entre sí y diferentes de los demás. ¿Quizás se codifica un concepto vago de realeza allí?
Analogías
“Las palabras soportan cualquier carga que deseamos. Todo lo que se requiere es un acuerdo sobre la tradición, según el cual construimos conceptos ". - Dios el emperador de la duna
Ejemplos famosos que muestran las increíbles propiedades de las inversiones son el concepto de analogías. Podemos sumar y restar vectores de palabras, obteniendo resultados interesantes. El ejemplo más famoso es la fórmula "rey - hombre + mujer":
Usando la biblioteca Gensim en python, podemos sumar y restar vectores de palabras, y la biblioteca encontrará las palabras más cercanas al vector resultante. La imagen muestra una lista de las palabras más similares, cada una con un coeficiente de similitud geométrica.Visualizamos esta analogía como antes:
El vector resultante del cálculo "rey - hombre + mujer" no es exactamente igual a la "reina", pero este es el resultado más cercano de 400,000 palabras adjuntas en el conjunto de datosDespués de considerar el apego de las palabras, aprendamos cómo se lleva a cabo el aprendizaje. Pero antes de pasar a word2vec, debe echar un vistazo al antepasado conceptual de la inclusión de palabras: un modelo de lenguaje neuronal.
Modelo de idioma
“El profeta no está sujeto a las ilusiones del pasado, presente o futuro. La fijeza de las formas lingüísticas determina tales diferencias lineales. Los profetas están sosteniendo la llave de la cerradura de la lengua. Para ellos, la imagen física sigue siendo solo una imagen física y nada más.
Su universo no tiene las propiedades de un universo mecánico. El observador asume una secuencia lineal de eventos. Causa y efecto? Es un asunto completamente diferente. El Profeta pronuncia palabras fatídicas. Ve un vistazo de un evento que debería suceder "de acuerdo con la lógica de las cosas". Pero el profeta libera instantáneamente la energía del infinito poder milagroso. El universo está experimentando un cambio espiritual ". - Dios el emperador de la duna
Un ejemplo de PNL (procesamiento del lenguaje natural) es la función de predicción de la siguiente palabra en el teclado de un teléfono inteligente. Miles de millones de personas lo usan cientos de veces al día.
Predecir la siguiente palabra es una tarea adecuada para
un modelo de lenguaje . Puede tomar una lista de palabras (digamos, dos palabras) e intentar predecir lo siguiente.
En la captura de pantalla anterior, el modelo tomó estas dos palabras verdes (
thou shalt
) y devolvió una lista de opciones (muy probablemente para la palabra
not
):
Podemos imaginar el modelo como una caja negra:
Pero en la práctica, el modelo produce más de una palabra. Deriva una estimación de la probabilidad de prácticamente todas las palabras conocidas (el "diccionario" del modelo varía de varios miles a más de un millón de palabras). La aplicación de teclado luego encuentra las palabras con las puntuaciones más altas y se las muestra al usuario.
Un modelo de lenguaje neuronal da la probabilidad de todas las palabras conocidas. Indicamos la probabilidad como un porcentaje, pero en el vector resultante el 40% se representará como 0.4Después del entrenamiento, los primeros modelos neurales (
Bengio 2003 ) calcularon el pronóstico en tres etapas:
El primer paso para nosotros es el más relevante, ya que hablamos de inversiones. Como resultado de la capacitación, se crea una matriz con los archivos adjuntos de todas las palabras en nuestro diccionario. Para obtener el resultado, simplemente buscamos las incrustaciones de las palabras de entrada y ejecutamos la predicción:
Ahora veamos el proceso de aprendizaje y descubramos cómo se crea esta matriz de inversiones.
Entrenamiento de modelo de lenguaje
“El proceso no se puede entender al terminarlo. La comprensión debe avanzar junto con el proceso, fusionarse con su flujo y fluir con él "- Dune
Los modelos de lenguaje tienen una gran ventaja sobre la mayoría de los otros modelos de aprendizaje automático: pueden ser entrenados en textos que tenemos en abundancia. Piense en todos los libros, artículos, materiales de Wikipedia y otras formas de datos textuales que tenemos. Compare con otros modelos de aprendizaje automático que necesitan mano de obra y datos especialmente recopilados.
"Debes aprender la palabra por su compañía" - J. R. Furs
Los archivos adjuntos para palabras se calculan de acuerdo con las palabras circundantes, que con mayor frecuencia aparecen cerca. La mecánica es la siguiente:
- Obtenemos muchos datos de texto (por ejemplo, todos los artículos de Wikipedia)
- Establezca una ventana (por ejemplo, de tres palabras) que se deslice por todo el texto.
- Una ventana deslizante genera patrones para entrenar nuestro modelo.
Cuando esta ventana se desliza sobre el texto, nosotros (en realidad) generamos un conjunto de datos, que luego usamos para entrenar el modelo. Para comprender, veamos cómo una ventana deslizante maneja esta frase:
"Que no puedas construir una máquina dotada de la semejanza de la mente humana" - Dune
Cuando comenzamos, la ventana se encuentra en las primeras tres palabras de la oración:
Tomamos las dos primeras palabras para signos, y la tercera palabra para la etiqueta:
Generamos la primera muestra en un conjunto de datos que luego puede usarse para enseñar un modelo de lenguajeLuego movemos la ventana a la siguiente posición y creamos una segunda muestra:
Y muy pronto, estamos acumulando un conjunto de datos más grande:
En la práctica, los modelos generalmente se entrenan directamente en el proceso de mover una ventana deslizante. Pero lógicamente, la fase de "generación de conjunto de datos" es independiente de la fase de capacitación. Además de los enfoques de redes neuronales, el método de N-gram a menudo se usaba antes para enseñar modelos de lenguaje (vea el tercer capítulo del libro
"Procesamiento del habla y lenguaje" ). Para ver la diferencia al cambiar de N-gramos a modelos neuronales en productos reales,
aquí hay una publicación de 2015 en el blog Swiftkey , el desarrollador de mi teclado Android favorito, que presenta su modelo de lenguaje neuronal y lo compara con el modelo N-gram anterior. Me gusta este ejemplo porque muestra cómo se pueden describir las propiedades algorítmicas de las inversiones en un lenguaje de marketing.
Miramos a ambos lados
“Una paradoja es una señal de que deberíamos tratar de considerar lo que hay detrás. Si la paradoja te preocupa, significa que estás luchando por lo absoluto. Los relativistas ven la paradoja simplemente como un pensamiento interesante, quizás divertido, a veces aterrador, pero un pensamiento muy instructivo ". Dios emperador de la duna
Con base en lo anterior, complete el vacío:
Como contexto, hay cinco palabras anteriores (y una referencia anterior a "bus"). Estoy seguro de que la mayoría de ustedes han adivinado que debería haber un "autobús". Pero si te doy otra palabra después del espacio, ¿cambiará esto tu respuesta?
Esto cambia completamente la situación: ahora la palabra que falta es muy probablemente "roja". Obviamente, las palabras tienen valor informativo antes y después de un espacio. Resulta que la contabilidad en ambas direcciones (izquierda y derecha) le permite calcular mejores inversiones. Veamos cómo configurar el entrenamiento modelo en tal situación.
Saltar gramo
"Cuando se desconoce una elección absolutamente inconfundible, el intelecto tiene la oportunidad de trabajar con datos limitados en la arena, donde los errores no solo son posibles sino también necesarios". - Capitul Dunes
Además de dos palabras antes del objetivo, puede tener en cuenta dos palabras más después de él.
Entonces el conjunto de datos para la capacitación modelo se verá así:
Esto se llama arquitectura CBOW (Continuous Bag of Words) y se describe en
uno de los documentos word2vec [pdf]. Hay otra arquitectura, que también muestra excelentes resultados, pero está organizada de manera un poco diferente: trata de adivinar las palabras vecinas por la palabra actual. Una ventana deslizante se ve así:
En la ranura verde está la palabra de entrada, y cada campo rosa representa una posible salidaLos rectángulos rosados tienen diferentes tonos porque esta ventana deslizante en realidad crea cuatro patrones separados en nuestro conjunto de datos de entrenamiento:
Este método se llama arquitectura
skip-gram . Puede visualizar una ventana deslizante de la siguiente manera:
Los siguientes cuatro ejemplos se agregan al conjunto de datos de entrenamiento:
Luego movemos la ventana a la siguiente posición:
Lo que genera cuatro ejemplos más:
Pronto tendremos muchas más muestras:
Revisión de aprendizaje
“Muad'Dib aprendió rápido porque principalmente le enseñaron a aprender. Pero la primera lección fue la asimilación de la creencia de que él puede aprender, y esa es la base de todo. Es sorprendente cuántas personas no creen que puedan aprender y aprender, y cuántas personas más piensan que aprender es muy difícil ". - duna
Ahora que tenemos el conjunto de omisión de gramo, lo usamos para entrenar el modelo neuronal básico del lenguaje que predice una palabra vecina.
Comencemos con la primera muestra de nuestro conjunto de datos. Tomamos el letrero y lo enviamos al modelo no capacitado con la solicitud de predecir la siguiente palabra.
El modelo pasa por tres pasos y muestra un vector de predicción (con probabilidad para cada palabra en el diccionario). Como el modelo no está entrenado, en esta etapa su pronóstico probablemente sea incorrecto. Pero eso no es nada. Sabemos qué palabra predice: esta es la celda resultante en la fila que actualmente utilizamos para entrenar el modelo:
Un "vector objetivo" es aquel en el que la palabra objetivo tiene una probabilidad de 1, y todas las demás palabras tienen una probabilidad de 0¿Qué tan equivocado estaba el modelo? Reste el vector de pronóstico del objetivo y obtenga el vector de error:
Este vector de error ahora se puede usar para actualizar el modelo, por lo que la próxima vez es más probable que dé un resultado preciso en los mismos datos de entrada.
Aquí termina la primera etapa del entrenamiento. Continuamos haciendo lo mismo con la siguiente muestra en el conjunto de datos, y luego con la siguiente, hasta que examinemos todas las muestras. Este es el final de la primera era de aprendizaje. Repetimos todo una y otra vez durante varias eras, y como resultado obtenemos un modelo entrenado: de él puede extraer la matriz de inversión y usarla en cualquier aplicación.
Aunque aprendimos mucho, pero para comprender completamente cómo Word2vec realmente aprende, faltan un par de ideas clave.
Selección negativa
“Intentar comprender a Muad'Dib sin comprender a sus enemigos mortales, el Harkonnenov, es lo mismo que tratar de comprender la Verdad sin comprender qué es la Falsedad. Este es un intento de conocer la Luz sin conocer la Oscuridad. Esto es imposible ". - duna
Recuerde los tres pasos de cómo un modelo neuronal calcula un pronóstico:
El tercer paso es muy costoso desde el punto de vista computacional, especialmente si lo hace para cada muestra en el conjunto de datos (decenas de millones de veces). Es necesario aumentar de alguna manera la productividad.
Una forma es dividir el objetivo en dos etapas:
- Cree archivos adjuntos de palabras de alta calidad (sin predecir la siguiente palabra).
- Utilice estas inversiones de alta calidad para enseñar el modelo de lenguaje (para pronosticar).
Este artículo se centrará en el primer paso. Para aumentar la productividad, puede alejarse de predecir una palabra vecina ...
... y cambie a un modelo que tome palabras de entrada y salida y calcule la probabilidad de su proximidad (de 0 a 1).
Una transición tan simple reemplaza la red neuronal con un modelo de regresión logística, por lo que los cálculos se vuelven mucho más simples y rápidos.
Al mismo tiempo, necesitamos refinar la estructura de nuestro conjunto de datos: la etiqueta ahora es una nueva columna con valores 0 o 1. En nuestra tabla, las unidades están en todas partes, porque agregamos vecinos allí.
Tal modelo se calcula a una velocidad increíble: millones de muestras en minutos. Pero necesitas cerrar una escapatoria. Si todos nuestros ejemplos son positivos (objetivo: 1), se puede formar un modelo complicado que siempre devuelve 1, demostrando una precisión del 100%, pero no aprende nada y genera inversiones basura.
Para resolver este problema, debe ingresar
patrones negativos en el conjunto de datos, palabras que definitivamente no son vecinas. Para ellos, el modelo debe devolver 0. Ahora el modelo tendrá que trabajar duro, pero los cálculos aún van a gran velocidad.
Para cada muestra en el conjunto de datos, agregue ejemplos negativos etiquetados 0Pero, ¿qué presentar como palabras de salida? Elige las palabras arbitrariamente:
Esta idea nació bajo la influencia del método de
comparación de
ruido [pdf]. Hacemos coincidir la señal real (ejemplos positivos de palabras vecinas) con ruido (palabras seleccionadas al azar que no son vecinas). Esto proporciona un excelente compromiso entre el rendimiento y el rendimiento estadístico.
Muestra negativa de salto de gramo (SGNS)
Observamos dos conceptos centrales de word2vec: juntos se denominan "skip-gram con muestreo negativo".
Aprendiendo word2vec
“Una máquina no puede prever todos los problemas que son importantes para una persona viva. Hay una gran diferencia entre el espacio discreto y el continuo continuo. Vivimos en un espacio y las máquinas existen en otro ". - Dios el emperador de la duna
Habiendo examinado las ideas básicas de skip-gram y muestreo negativo, podemos proceder a una mirada más cercana al proceso de aprendizaje de word2vec.
Primero, preprocesamos el texto en el que entrenamos el modelo. Defina el tamaño del diccionario (lo llamaremos
vocab_size
), digamos, en 10,000 archivos adjuntos y los parámetros de las palabras en el diccionario.
Al comienzo de la capacitación, creamos dos matrices:
Embedding
y
Context
. Los
vocab_size
adjuntos para cada palabra se almacenan en estas matrices en nuestro diccionario (por
vocab_size
tanto,
vocab_size
es uno de sus parámetros). El segundo parámetro es la dimensión del archivo adjunto (generalmente
embedding_size
establece en 300, pero anteriormente vimos un ejemplo con 50 dimensiones).
Primero, inicializamos estas matrices con valores aleatorios. Luego comenzamos el proceso de aprendizaje. En cada etapa, tomamos un ejemplo positivo y los negativos asociados con él. Aquí está nuestro primer grupo:
Ahora tenemos cuatro palabras: la palabra de entrada
not
y las palabras de salida / contextuales
thou
(vecino real),
aaron
y
taco
(ejemplos negativos). Comenzamos la búsqueda de sus archivos adjuntos en las matrices
Embedding
(para la palabra de entrada) y
Context
(para las palabras de contexto), aunque ambas matrices contienen archivos adjuntos para todas las palabras de nuestro diccionario.
Luego calculamos el producto escalar del adjunto de entrada con cada uno de los adjuntos contextuales. En cada caso, se obtiene un número que indica la similitud de los datos de entrada y los archivos adjuntos contextuales.
Ahora necesitamos una forma de convertir estas estimaciones en un tipo de probabilidad: todas deben ser números positivos entre 0 y 1. Esta es una excelente tarea para las ecuaciones logísticas
sigmoideas .
El resultado del cálculo sigmoide se puede considerar como la salida del modelo para estas muestras. Como puede ver, el
taco
el puntaje más alto, mientras que
aaron
todavía tiene el puntaje más bajo, tanto antes como después de sigmoide.
Cuando el modelo no entrenado hizo un pronóstico y tiene una marca de objetivo real para la comparación, calculemos cuántos errores hay en el pronóstico del modelo. Para hacer esto, simplemente reste la puntuación sigmoidea de las etiquetas de destino.
error
= target
- sigmoid_scores
Aquí es donde comienza la fase de "aprendizaje" del término "aprendizaje automático". Ahora podemos usar esta estimación de error para ajustar las inversiones
not
,
thou
,
aaron
y
taco
, de modo que la próxima vez que el resultado esté más cerca de las estimaciones objetivo.
Esto completa una etapa de entrenamiento. Mejoramos un poco el apego de algunas palabras (
not
,
thou
,
aaron
y
taco
). Ahora pasamos a la siguiente etapa (la siguiente muestra positiva y las negativas asociadas a ella) y repetimos el proceso.
Los archivos adjuntos continúan mejorando a medida que avanzamos por el conjunto de datos completo varias veces. Luego puede detener el proceso, dejar a un lado la matriz de
Context
y usar la matriz de
Embeddings
capacitada para la siguiente tarea.
Tamaño de ventana y número de muestras negativas
En el proceso de aprendizaje de word2vec, dos hiperparámetros clave son el tamaño de la ventana y el número de muestras negativas.
Diferentes tamaños de ventana son adecuados para diferentes tareas.
Se ha observado que los tamaños de ventana más pequeños (2-15) generan archivos adjuntos
intercambiables con índices similares (tenga en cuenta que los antónimos a menudo son intercambiables cuando se miran las palabras circundantes: por ejemplo, las palabras "bueno" y "malo" a menudo se mencionan en contextos similares). Los tamaños de ventana más grandes (15–50 o incluso más) generan archivos adjuntos
relacionados con índices similares. En la práctica, a menudo tiene que proporcionar
anotaciones para similitudes semánticas útiles en su tarea. En Gensim, el tamaño de ventana predeterminado es 5 (dos palabras izquierda y derecha, además de la palabra de entrada en sí).
El número de muestras negativas es otro factor en el proceso de aprendizaje. El documento original recomienda 5–20. También dice que 2-5 muestras parecen ser suficientes cuando tiene un conjunto de datos suficientemente grande. En Gensim, el valor predeterminado es 5 patrones negativos.Conclusión
"Si tu comportamiento cae más allá de tus estándares, entonces eres una persona viva, no un autómata" - Dios-Emperador de Dune
Espero que ahora entiendas la incorporación de palabras y la esencia del algoritmo word2vec. También espero que ahora comprenda mejor los artículos que mencionan el concepto de "skip-gram con muestreo negativo" (SGNS), como en los sistemas de recomendación mencionados anteriormente.Referencias y lecturas adicionales