1- El número de características: en términos de modelo de red neuronal, representa el número de neuronas en la capa de proyección (oculta). Como la capa de proyección se basa en hipótesis de distribución, el vector numérico para cada palabra significa su relación con sus palabras de contexto.
La red neuronal aprende estas características ya que este es un método sin supervisión. Cada vector tiene varios conjuntos de características semánticas. Por ejemplo, tomemos el ejemplo clásico V(King) -V(man) + V(Women) ~ V(Queen)
y cada palabra representada por un vector de 300 d. V(King)
tendrá características semánticas de Royality, reino, masculinidad, humano en el vector en cierto orden. V(man)
tendrá masculinidad, humano, trabajo en un cierto orden. Por lo tanto, cuando V(King)-V(Man)
se hace, la masculinidad, las características humanas se anularán y cuando se agregue con las V(Women)
que tiene feminidad, se agregarán características humanas, lo que dará como resultado un vector muy similar aV(Queen)
. Lo interesante es que estas características están codificadas en el vector en un cierto orden para que los cálculos numéricos como la suma y la resta funcionen perfectamente. Esto se debe a la naturaleza del método de aprendizaje no supervisado en la red neuronal.
2- Hay dos algoritmos de aproximación. Hierarchical softmax
y negative sampling
. Cuando se proporciona el parámetro de muestra, se toma un muestreo negativo. En el caso de softmax jerárquico, para cada vector de palabra, sus palabras de contexto reciben resultados positivos y todas las demás palabras del vocabulario reciben resultados negativos. El problema de la complejidad del tiempo se resuelve mediante muestreo negativo. Al igual que en el muestreo negativo, en lugar de todo el vocabulario, solo una parte muestreada del vocabulario recibe resultados negativos y los vectores se entrenan, lo que es mucho más rápido que el método anterior.