Pregunta

Estoy tratando de hacer análisis de sentimientos. Para convertir las palabras en vectores de palabras, estoy usando el modelo Word2Vec. Supongamos que tengo todas las oraciones en una lista llamada 'oraciones' y estoy pasando estas oraciones a Word2vec de la siguiente manera:

model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300,   window=5, sample=1e-3)

Como soy novato de los vectores de palabras, tengo dos dudas.
1- Establecer el número de características en 300 define las características de un vector de palabras. Pero, ¿qué significan estas características? Si cada palabra en este modelo está representada por una matriz Numpy 1x300, ¿qué significan estas 300 características para esa palabra?

2- ¿Qué hace el muestreo hacia abajo como lo representa el parámetro 'de muestra' en el modelo anterior en real?

Gracias por adelantado.

¿Fue útil?

Solución

1- El número de características: en términos del 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 la hipótesis de distribución, el vector numérico para cada palabra significa su relación con sus palabras de contexto.

Estas características son aprendidas por la red neuronal, ya que este es un método no supervisado. 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 300-D Vector. V(King) tendrá características semánticas de la realalidad, reino, masculinidad, humano en el vector en cierto orden. V(man) tendrá masculinidad, humano, trabajará en cierto orden. Así cuando V(King)-V(Man) se realiza, la masculinidad, las características humanas se anularán y cuando se agreguen con V(Women) que tienen feminidad, se agregarán características humanas, lo que resulta en un vector mucho similar a V(Queen). Lo interesante es que estas características están codificadas en el vector en un determinado orden para que los cálculos numéricos como la adición, la subtracción 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 da el parámetro de la muestra, se requiere muestreo negativo. En el caso de Softmax jerárquico, para cada vector de palabras, sus palabras de contexto se les dan resultados positivos y todas las demás palabras en el vocabulario reciben salidas negativas. El problema de la complejidad del tiempo se resuelve mediante un muestreo negativo. Como en el muestreo negativo, en lugar de todo el vocabulario, solo una parte muestreada del vocabulario recibe salidas negativas y los vectores están entrenados, lo cual es mucho más rápido que el método anterior.

Otros consejos

  1. Según la hipótesis de distribución, la dimensión individual en el vector de la palabra no significa mucho sobre la palabra en el mundo real. Debe preocuparse por las dimensiones individuales. Si su pregunta es, ¿cómo debo seleccionar la cantidad de dimesiones, se basa exclusivamente en el experimento para sus datos y puede pasar de 100 a 1000. Para muchos experimentos donde el entrenamiento se realiza en el texto wiki, la dimensión 300 le da lo mejor a resultado.
  2. La muestra de parámetro es el parámetro utilizado para podar las palabras que tienen alta frecuencia. Por ejemplo, "el" "es" "fue", estas palabras de parada no se consideran en la ventana mientras predicen la palabra interna y el valor predeterminado funciona bien para identificar estas palabras de parada cuya frecuencia es mayor.
Licenciado bajo: CC-BY-SA con atribución
scroll top