stringtranslate.com

Guante

GloVe , acuñado a partir de Global Vectors, es un modelo para la representación distribuida de palabras. El modelo es un algoritmo de aprendizaje no supervisado para obtener representaciones vectoriales de palabras. Esto se logra al mapear palabras en un espacio significativo donde la distancia entre palabras está relacionada con la similitud semántica. [1] El entrenamiento se realiza en estadísticas globales agregadas de coocurrencia palabra-palabra de un corpus, y las representaciones resultantes muestran subestructuras lineales interesantes del espacio vectorial de palabras . Como modelo de regresión log-bilineal para el aprendizaje no supervisado de representaciones de palabras, combina las características de dos familias de modelos, a saber, la factorización matricial global y los métodos de ventana de contexto local.

Se desarrolló como un proyecto de código abierto en Stanford [2] y se lanzó en 2014. Fue diseñado como un competidor de word2vec , y el artículo original señaló múltiples mejoras de GloVe con respecto a word2vec. A partir de 2022 , ambos enfoques están obsoletos, y los modelos basados ​​en Transformer , como ELMo y BERT , que agregan múltiples capas de atención de redes neuronales sobre un modelo de incrustación de palabras similar a Word2vec, han llegado a considerarse el estado del arte en PNL. [3]

Definición

Reconocerás una palabra por la compañía que tiene (Firth, JR 1957:11) [4]

La idea de GloVe es construir, para cada palabra , dos vectores , de modo que las posiciones relativas de los vectores capturen parte de las regularidades estadísticas de la palabra . La regularidad estadística se define como las probabilidades de coocurrencia. Las palabras que se parecen entre sí en significado también deberían parecerse entre sí en probabilidades de coocurrencia.

Conteo de palabras

Sea el vocabulario , el conjunto de todas las palabras posibles (también conocidas como "tokens"). La puntuación se ignora o se trata como vocabulario, y lo mismo ocurre con la capitalización y otros detalles tipográficos. [1]

Si dos palabras aparecen cerca una de la otra, decimos que aparecen en el contexto de la otra. Por ejemplo, si la longitud del contexto es 3, decimos que en la siguiente oración

Guante 1 , acuñado 2 a partir de 3 Global 4 Vectores 5 , es 6 un 7 modelo 8 para 9 distribuido 10 palabra 11 representación 12

La palabra "modelo 8 " está en el contexto de "palabra 11 " pero no en el contexto de "representación 12 ".

Una palabra no está en el contexto de sí misma, por lo tanto, "modelo 8 " no está en el contexto de la palabra "modelo 8 ", aunque, si una palabra aparece nuevamente en el mismo contexto, entonces sí cuenta.

Sea la cantidad de veces que la palabra aparece en el contexto de la palabra en todo el corpus. Por ejemplo, si el corpus es simplemente "No creo que eso sea un problema", tenemos ya que el primer "eso" aparece en el contexto del segundo, y viceversa.

Sea el número de palabras en el contexto de todas las instancias de palabra . Al contar, tenemos (excepto las palabras que aparecen justo al principio y al final del corpus)

Modelado probabilístico

Sea la probabilidad de coocurrencia . Es decir, si se toma como muestra una ocurrencia aleatoria de la palabra en todo el documento y una palabra aleatoria dentro de su contexto, esa palabra tiene una probabilidad . Nótese que, en general. Por ejemplo, en un corpus típico de inglés moderno, es cercano a uno, pero es cercano a cero. Esto se debe a que la palabra "ado" casi solo se usa en el contexto de la frase arcaica " much ado about ", pero la palabra "much" aparece en todo tipo de contextos.

Por ejemplo, en un corpus de 6 mil millones de tokens, tenemos

Al inspeccionar la tabla, vemos que las palabras "hielo" y "vapor" son indistinguibles de "agua" (que a menudo coexiste con ambas) y "moda" (que rara vez coexiste con alguna de las dos), pero son distinguibles de "sólido" (que coexiste más con hielo) y "gas" (que coexiste más con "vapor").

La idea es aprender dos vectores para cada palabra , de modo que tengamos una regresión logística multinomial : y los términos son parámetros sin importancia.

Esto significa que si las palabras tienen probabilidades de coocurrencia similares , entonces sus vectores también deberían ser similares: .

Regresión logística

De manera ingenua, se puede ejecutar una regresión logística minimizando la pérdida al cuadrado: Sin embargo, esto sería ruidoso para coocurrencias raras. Para solucionar el problema, se pondera la pérdida al cuadrado de modo que la pérdida aumente lentamente a medida que aumenta el número absoluto de coocurrencias: donde y son hiperparámetros . En el artículo original, los autores descubrieron que esto parece funcionar bien en la práctica.

Usar

Una vez que se entrena un modelo, tenemos 4 parámetros entrenados para cada palabra: . Los parámetros son irrelevantes y solo son relevantes.

Los autores recomendaron utilizar como vector de representación final para la palabra , porque empíricamente funcionó mejor que o solo.

Aplicaciones

GloVe se puede utilizar para encontrar relaciones entre palabras como sinónimos, relaciones empresa-producto, códigos postales y ciudades, etc. Sin embargo, el algoritmo de aprendizaje no supervisado no es eficaz para identificar homógrafos, es decir, palabras con la misma ortografía y diferentes significados. Esto se debe a que el algoritmo de aprendizaje no supervisado calcula un único conjunto de vectores para palabras con la misma estructura morfológica. [5] La biblioteca SpaCy también utiliza el algoritmo para crear características de incrustación de palabras semánticas, al tiempo que calcula las palabras de la lista superior que coinciden con medidas de distancia como la similitud del coseno y el enfoque de la distancia euclidiana . [6] GloVe también se utilizó como marco de representación de palabras para los sistemas en línea y fuera de línea diseñados para detectar la angustia psicológica en las entrevistas a pacientes. [7]

Véase también

Referencias

  1. ^ abc Pennington, Jeffrey; Socher, Richard; Manning, Christopher (octubre de 2014). Moschitti, Alessandro; Pang, Bo; Daelemans, Walter (eds.). "GloVe: Vectores globales para la representación de palabras". Actas de la Conferencia de 2014 sobre métodos empíricos en el procesamiento del lenguaje natural (EMNLP) . Doha, Qatar: Asociación de Lingüística Computacional: 1532–1543. doi :10.3115/v1/D14-1162.
  2. ^ GloVe: Vectores globales para la representación de palabras (pdf) Archivado el 3 de septiembre de 2020 en Wayback Machine. "Usamos nuestros conocimientos para construir un nuevo modelo para la representación de palabras al que llamamos GloVe, por Global Vectors (Vectores globales), porque las estadísticas del corpus global son capturadas directamente por el modelo".
  3. ^ Von der Mosel, Julian; Trautsch, Alexander; Herbold, Steffen (2022). "Sobre la validez de los transformadores preentrenados para el procesamiento del lenguaje natural en el dominio de la ingeniería de software". IEEE Transactions on Software Engineering . 49 (4): 1487–1507. arXiv : 2109.04738 . doi :10.1109/TSE.2022.3178469. ISSN  1939-3520. S2CID  237485425.
  4. ^ Firth, JR (1957). Estudios de análisis lingüístico (PDF) . Wiley-Blackwell.
  5. ^ Wenig, Phillip (2019). "Creación de incrustaciones de oraciones basadas en representaciones de palabras temáticas: un enfoque hacia la comprensión universal del lenguaje". Towards Data Science .
  6. ^ Singh, Mayank; Gupta, PK; Tyagi, Vipin; Flusser, Jan; Ören, Tuncer I. (2018). Avances en informática y ciencias de datos: segunda conferencia internacional, ICACDS 2018, Dehradun, India, 20 y 21 de abril de 2018, Documentos seleccionados revisados . Singapur: Springer. pág. 171. ISBN 9789811318122.
  7. ^ Abad, Alberto; Ortega, Alfonso; Teixeira, Antonio; Mateo, Carmen; Hinarejos, Carlos; Perdigão, Fernando; Batista, Fernando; Mamede, Nuño (2016). Avances en tecnologías del habla y el lenguaje para lenguas ibéricas: Tercera Conferencia Internacional, IberSPEECH 2016, Lisboa, Portugal, 23 al 25 de noviembre de 2016, Actas . Cham: Springer. pag. 165.ISBN 9783319491691.

Enlaces externos