La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Cómo obtiene word2vec la palabra vector?

¿Cómo obtiene word2vec la palabra vector?

Word2vec es una herramienta que convierte palabras en forma vectorial. El procesamiento del contenido del texto se puede simplificar a operaciones vectoriales en el espacio vectorial, y la similitud semántica del texto se expresa calculando la similitud en el espacio vectorial.

Primero, un repaso teórico:

1. ¿Qué es la palabra vector? Si desea transformar el problema de la comprensión del lenguaje natural en un problema de aprendizaje automático, el primer paso debe ser encontrar una manera de matematizar estos símbolos. El método de representación de palabras más intuitivo y comúnmente utilizado en PNL es la representación de una tecla, que representa cada palabra como un vector largo. La dimensión de este vector es el vocabulario, la mayoría de sus elementos son 0 y solo una dimensión tiene el valor 1, que representa la palabra actual.

Por ejemplo:

"Micrófono" se refiere a [0001000000000...]

"Mike" se refiere a [00000001000000...]

Cada palabra es un 1 en un vasto océano de ceros. Esta representación única sería muy concisa si se almacenara de manera dispersa: es decir, a cada palabra se le asigna una identificación numérica. Por ejemplo, en el ejemplo de ahora, el micrófono se registra como 3 y el micrófono se registra como 8 (suponiendo que comience desde 0). Si desea implementarlo mediante programación, basta con utilizar una tabla hash para asignar un número a cada palabra. Un método de representación tan conciso, combinado con algoritmos como máxima entropía, SVM y CRF, ha completado con éxito varias tareas principales en el campo de la PNL. Por supuesto, hay un problema importante con esta representación, y es el fenómeno de la "brecha léxica": dos palabras cualesquiera están aisladas. A partir de estos dos vectores, no podemos ver si las dos palabras están relacionadas, incluso sinónimos como micrófono y micrófono no son inmunes. ¿No es la palabra vector comúnmente utilizada en el aprendizaje profundo el mismo uso que se acaba de mencionar? La representación con un clic representa un vector de palabras muy largo, pero ¿usar? Representación distribuida (no sé cómo traducir esto, porque también hay un vector real de baja dimensión representado por "representación distribuida" (similar al método de representación de vectores de palabras con temas en LDA). Este vector generalmente se ve así : [ 0.792, ?0.107, ?0.542, ...]. ¿Cuál es la dimensión 50? ¿Cuál es el origen de la representación distribuida? En su artículo de 1986 "Aprendiendo la representación distribuida de conceptos", aunque este artículo no decía que el texto necesita representación distribuida, al menos esta idea avanzada encendió el fuego en los corazones de las personas en ese momento y comenzó a tomarse cada vez más en serio. después de 2010.

3. Entrenamiento de vectores de palabras: para presentar cómo se entrenan los vectores de palabras, debo mencionar todos los métodos de entrenamiento que he aprendido hasta ahora: entrenar el modelo de lenguaje y obtener la palabra. vector Esto también es fácil de entender. Aprender de un texto natural sin marcar no es más que contar la frecuencia de las palabras, contar la aparición de palabras y contar las combinaciones de palabras, es sin duda la tarea más precisa (no descarta que alguien. creará un método mejor y más útil en el futuro). Dado que la tarea de construir un modelo de lenguaje es tan ardua, inevitablemente se necesitan estadísticas y análisis más detallados del lenguaje, así como mejores métodos y más datos para respaldar. Los mejores vectores de palabras actualmente provienen de esto, por lo que no es difícil entender que existen tres trabajos clásicos en el entrenamiento de vectores de palabras, C ampW 2008, M ampH 2008 y Miklov 2010. Por supuesto, antes de hablar de estos. trabajos, tengo que presentar los trabajos clásicos de Bengio en esta serie

4. Evaluación de vectores de palabras: en términos generales, la evaluación de vectores de palabras se puede dividir en dos tipos. vectores de palabras en sistemas existentes para ver cómo mejora el rendimiento del sistema; el segundo método consiste en analizar directamente los vectores de palabras desde una perspectiva lingüística, como similitud, desviación semántica, etc.