Logotipo de Zephyrnet

Técnicas de incrustación de documentos

Fecha:

La incrustación de palabras, el mapeo de palabras en espacios vectoriales numéricos, ha demostrado ser un método increíblemente importante para las tareas de procesamiento del lenguaje natural (PNL) en los últimos años, permitiendo varios modelos de aprendizaje automático que se basan en la representación vectorial como entrada para disfrutar de representaciones más ricas de texto entrada. Estas representaciones conservan más información semántica y sintáctica sobre las palabras, lo que lleva a un rendimiento mejorado en casi todas las tareas de PNL imaginables.

Tanto la idea de la novela como su tremendo impacto han llevado a los investigadores a considerar el problema de cómo proporcionar esta bendición de representaciones vectoriales más ricas a unidades de texto más grandes, desde oraciones hasta libros. Este esfuerzo ha dado lugar a una serie de nuevos métodos para producir estas asignaciones, con varias soluciones innovadoras para el problema y algunos avances notables.

Esta publicación, escrita mientras me presentaba el tema (como parte de un proyecto en Panda grande, Donde Yo consulto ❤️🐼), está destinado a presentar las diferentes formas en que los profesionales han ideado para producir incrustaciones de documentos.

Nota:  Yo uso la palabra documento aquí para referirme cualquier secuencia de palabras, que van desde oraciones y párrafos a través de publicaciones en redes sociales hasta artículos, libros y documentos de texto de estructura más compleja (por ejemplo, formularios).

En esta publicación, abordaré no solo los enfoques que son extensiones directas de las técnicas de inclusión de palabras (por ejemplo, en el camino doc2vec Se extiende palabra2vec), pero también otras técnicas notables que producen, a veces entre otras salidas, un mapeo de documentos a vectores en ℝⁿ.

También intentaré proporcionar enlaces y referencias a los documentos originales y las implementaciones de código de los métodos revisados ​​siempre que sea posible.

Nota:  Este tema está algo relacionado, pero no es equivalente, con el problema del aprendizaje de las representaciones de texto estructurado (por ejemplo, [Liu & Lapata, 2018]).

¿Le resulta útil esta educación técnica en profundidad sobre las aplicaciones de PNL? Suscríbase a continuación para recibir actualizaciones cuando lancemos nuevo contenido relevante.  

Tabla de contenidos.

  1. Aplicaciones de incrustaciones de documentos
  2. Enfoques y tendencias prominentes
    – Enfoques de inclusión de documentos
    – Tendencias y desafíos
  3. Tecnicas clasicas
    – Bolsa de palabras
    – Asignación de Dirichlet Latente (LDA)
  4. Técnicas de incrustación de documentos sin supervisión
    – incrustaciones de n-gramas
    – Promedio de incrustaciones de palabras
    – Enviado2Vec
    – Vectores de párrafo (doc2vec)
    – Doc2VecC
    – Vectores de salto de pensamiento
    – Envío Rápido
    – Vectores de pensamiento rápido
    – Incorporación de Word Mover (WME)
    – Sentencia-BERT (SBERT)
  5. Técnicas supervisadas de incrustación de documentos
    – Aprendizaje de incrustaciones de documentos a partir de datos etiquetados
    – Incorporaciones de documentos supervisados ​​específicos de tareas
    - - - GPT
    - - - Modelo de similitud semántica profunda (DSSM)
    – Aprendizaje conjunto de representaciones de oraciones
    - - - Codificador de Sentencia Universal
    - - - gensen
  6. Cómo elegir qué técnica usar
  7. Palabras finales
  8. Referencias

Aplicaciones de incrustaciones de documentos

La capacidad de asignar documentos a representaciones vectoriales informativas tiene una amplia gama de aplicaciones. Lo que sigue es solo una lista parcial.

[Le y Mikolov, 2014] demostró las capacidades de su vectores de párrafo método en varias tareas de clasificación de texto y análisis de sentimientos, mientras que [Dai y otros, 2015] lo examinó en el contexto de tareas de similitud de documentos y [Lau y Baldwin, 2016] lo comparó con una tarea de duplicación de preguntas del foro y la tarea compartida SemEval de similitud textual semántica (STS).

[Kiros y otros, 2015] ha demostrado el uso de su salto de pensamiento vectores para la relación semántica, detección de paráfrasis, clasificación de imagen-oración, clasificación de tipo de pregunta y cuatro conjuntos de datos de sentimientos y subjetividad. [Broere, 2017] los utilizó para predecir etiquetas POS y relaciones de dependencia.

[Chen y otros, 2018] mostró BioSentVec, su conjunto de incrustaciones de oraciones formadas en textos biomédicos, para desempeñarse bien en tareas de similitud de pares de oraciones (implementación oficial de Python).

Finalmente, la  El modelo de similitud semántica profunda fue utilizado por varios autores para recuperación de información y clasificación de búsqueda web, selección / relevancia de anuncios, búsqueda de entidades contextuales y tareas de interés, respuesta a preguntas, inferencia de conocimiento, subtítulos de imágenes y tareas de traducción automática.

Enfoques y tendencias prominentes

Estoy escribiendo esta parte al final, después de haber dedicado mucho tiempo a pensar sobre cómo estructurar este artículo, cómo las diversas técnicas cubiertas en las siguientes secciones se pueden agrupar en enfoques prominentes y qué tendencias surgen al examinar cómo funcionan los diferentes en el campo se relacionan entre sí y la forma en que se siguen.

Sin embargo, tenga en cuenta que si bien el problema de la incrustación de documentos es antiguo, muchas de las soluciones actualmente influyentes son jóvenes, y este campo ha visto un resurgimiento muy recientemente (alrededor de 2014), directamente después del éxito de la palabra contemporánea basada en codificador-decodificador técnicas de incrustación, por lo que esto es aún muy temprano. Dicho esto, espero que esta parte pueda poner las siguientes secciones en un contexto más amplio y enmarcarlas de manera significativa.

Enfoques de inclusión de documentos

Una posible forma de mapear el campo es mediante los siguientes cuatro enfoques destacados:

  1. Resumiendo vectores de palabras
    Es las enfoque clásico Bolsa de palabras hace exactamente esto para los vectores de una sola palabra, y los diversos esquemas de pesaje que puede aplicar son variaciones de esta manera para resumir los vectores de palabras. Sin embargo, este enfoque también es válido cuando se usa con la mayoría de las representaciones de palabras de última generación (generalmente promediando en lugar de sumar), especialmente cuando las incrustaciones de palabras se optimizan con este uso en mente, y pueden resistir su posición contra cualquiera de Los métodos más sexys cubiertos aquí.
  2. Modelado de temas
    Si bien esta no suele ser la aplicación principal para las técnicas de modelado de temas como LDA y PLSI, generar inherentemente un espacio de inserción de documentos pretendía modelar y explicar la distribución de palabras en el corpus y donde las dimensiones pueden verse como estructuras semánticas latentes ocultas en los datos y, por lo tanto, son útiles en nuestro contexto. Realmente no cubro este enfoque en esta publicación (excepto una breve introducción a LDA), ya que creo que está bien representado por LDA y bien conocido en general.
  3. Modelos de codificador-decodificador
    Esta es la más reciente adición no supervisada a la escena, con personajes como doc2vec y omitir el pensamiento. Si bien este enfoque ha existido desde principios de la década de 2000, bajo el nombre de modelos de lenguaje neural probabilístico - ha adquirido nueva vida recientemente con su aplicación exitosa para la generación de incrustación de palabras, y la investigación actual se centra en cómo extender su uso para incrustar documentos. Este enfoque gana más que otros de la creciente disponibilidad de grandes corpus sin etiquetar.
  4. Aprendizaje de representación supervisada
    Este enfoque debe su vida al gran aumento (o resurgimiento) de los modelos de redes neuronales, y su capacidad para aprender representaciones ricas de datos de entrada utilizando varios operadores de capas múltiples no lineales, que puede aproximarse a una amplia gama de asignaciones. Simplemente ingresando el viejo saco de palabras en una red neuronal que aprende a resolver algún problema supervisado relacionado con el texto, obtienes un modelo donde las capas ocultas contienen representaciones ricas del texto de entrada, que es exactamente lo que buscamos.

Hay un par de enfoques no supervisados ​​que no se ajustan a ninguno de los grupos anteriores (específicamente, pensamiento rápido y Word Mover's Distance me viene a la mente), pero creo que la mayoría de las técnicas caen en una de estas cuatro amplias categorías.

Nota:  Si bien es tentador señalar que la técnica clásica de la bolsa de palabras sufre de una ausencia única de información de pedido, esta es en realidad la regla más que la excepción. La información principal obtenida por la mayoría de los métodos más nuevos revisados ​​aquí es extender la hipótesis de distribución a unidades de texto más grandes. Los modelos de secuencia basados ​​en redes neuronales son la excepción.

Existen varias tendencias generales que surgen al examinar la investigación y la aplicación de técnicas de inclusión de documentos en su conjunto, así como varios desafíos que uno podría identificar.

  1. Optimización de codificador-decodificador: Una parte notable de la investigación se centra en optimizar tanto la arquitectura exacta (por ejemplo, NN / CNN / RNN) como algunos componentes / hiperparámetros (por ejemplo, n-gramos, funciones de proyección, pesaje, etc.) del enfoque no codificado de codificador-decodificador para Aprendizaje de incrustaciones de documentos. Aunque parte del objetivo de este ajuste es mejorar las métricas de éxito en diversas tareas, la capacidad de entrenar modelos en grandes corporaciones o en un tiempo más corto también es un objetivo.
  2. Diseño objetivo de aprendizaje: El quid del aprendizaje de representación no supervisado (o autosupervisado) está en diseñar un objetivo de aprendizaje que explote las etiquetas que están disponibles libremente dentro de los datos de una manera que genere representaciones que demuestren ser útiles para las tareas posteriores. Esta es, para mí, la tendencia más emocionante, y creo que la que tiene el mayor potencial de impacto en las tareas de PNL que podría equiparar la palabra que tenían las técnicas de incrustación. En el momento yo
    contar solo pensamiento rápido y Word Mover's Distance como una alternativa al enfoque codificador-decodificador. Otro aspecto atractivo de esta tendencia es que las innovaciones aquí también podrían ser aplicables al problema de la incorporación de palabras.
  3. Benchmarking: Parte de una tendencia en todo el campo en la investigación del aprendizaje automático en general, la inclusión de documentos, quizás debido a que es un subcampo joven, demuestra bien el mayor enfoque de la investigación en el benchmarking de técnicas en una amplia gama y una gran cantidad de tareas (ver la tabla de clasificación de GLUE) Sin embargo, con casi todos los trabajos sobre el tema que declaran resultados comparables o superiores a las técnicas actuales de SOTA, esto aún no ha dado como resultado un líder claro emergente por delante del grupo.
  4. Código abierto: Nuevamente, parte de una tendencia más amplia, la liberación ferviente de técnicas de implementación de código fácilmente utilizables, y a menudo también experimentos, permite la reproducibilidad e impulsa tanto el compromiso con la comunidad más amplia de ciencia de datos fuera de la academia como el uso en problemas de palabras reales.
  5. Aplicabilidad de tareas cruzadas: Este es quizás el caso con el aprendizaje de inserción supervisado, aunque no todas las técnicas no supervisadas se compararon con el mismo nivel de exhaustividad. En cualquier caso, la amplia gama de tareas de PNL extremadamente variadas, que dependen de diferentes tipos de información en los datos de texto, hacen que este tema sea prominente. El aprendizaje conjunto de las incrustaciones de varias tareas es una forma interesante en la que los enfoques supervisados ​​pueden abordar este desafío.
  6. Cuerpos rotulados: La disponibilidad limitada de corpus rotulados muy grandes también es un problema para los enfoques supervisados ​​que avanzan. Esto podría representar la verdadera ventaja que tendrán los enfoques no supervisados ​​sobre el aprendizaje de representación supervisada en los próximos años.

Nota:  Si encontró esta parte un poco fuera de contexto, le sugiero que vuelva a visitarla después de pasar por una buena parte de las técnicas cubiertas en esta publicación.

Tecnicas clasicas

Esta sección cubre brevemente dos técnicas establecidas para incrustar documentos: bolsa de palabras y asignación de Dirichlet latenteSiéntase libre de saltearlo.

Bolsa de palabras

Presentado en [Harris, 1954], este método representa el texto como la bolsa (conjunto múltiple) de sus palabras (perdiendo gramática y ordenando información). Esto se hace al decidir sobre un conjunto de n palabras que formarán el vocabulario soportado por el mapeo, y asignando a cada palabra en el vocabulario un índice único. Luego, cada documento está representado por un vector de longitud n, En la que el i-la entrada contiene el número de ocurrencias de la palabra i en el documento.

incrustación de documentos

Figura 2: una representación de bolsa de palabras de una oración de ejemplo

Por ejemplo, la oración "perro come perro mundo, bebé!" (después de la puntuación de limpieza) puede estar representado por un vector de 550 longitudes v (suponiendo que se eligió un vocabulario de 550 palabras), que es cero en todas partes excepto en las siguientes entradas:

  • V₇₆ = 1, ya que la 76a palabra del vocabulario es mundo.
  • V₂₀₀ = 2, ya que la palabra número 200 del vocabulario es perro.
  • V₃₂₂ = 1, ya que la palabra 332 del vocabulario es comer.
  • La palabra bebé no fue seleccionado para la inclusión en el vocabulario, por lo que induce un valor de 1 en ninguna entrada del vector.

A pesar de su tremenda simplicidad, el hecho de que toda la información, además de la frecuencia de aparición de palabras, se pierde y la tendencia del tamaño de la representación a crecer rápidamente para admitir vocabularios ricos, esta técnica se usó casi exclusivamente y con gran éxito en una amplia gama de tareas de PNL durante décadas. . Incluso con el progreso significativo en la representación de vectores para el texto en los últimos años, todavía se usan ligeras variaciones comunes de este método, que se cubren a continuación, y no siempre como la primera línea de base que se supera rápidamente.

Bolsa de n-gramos

Para recuperar parte de la información de orden de palabras perdida por el enfoque de bolsa de palabras, la frecuencia de secuencias de palabras cortas (de longitud dos, tres, etc.) se puede usar (adicionalmente o en su lugar) para construir vectores de palabras. Naturalmente, la bolsa de palabras es un caso privado de este método, para n = 1.

Para la oración "¡el perro come el mundo del perro, bebé!", Los pares de palabras son "el perro come", "come el perro", "el mundo del perro" y "el mundo del bebé" (ya veces también perro "y" bebé ”), Y el vocabulario está compuesto (o mejorado con) todos los pares de palabras sucesivos en el corpus de entrada.

incrustación de documentos

Figura 3: representación de 2 gramos de la oración "La película es increíble"

Una desventaja importante de este enfoque es la dependencia no lineal del tamaño del vocabulario en el número de palabras únicas, que pueden ser muy grandes para grandes corpus. Las técnicas de filtrado se usan comúnmente para reducir el tamaño del vocabulario.

ponderación tf-idf

Una técnica final relacionada que vale la pena mencionar en el contexto de la bolsa de palabras es término frecuencia – frecuencia de documento inversa, comúnmente denotado como tf-idf. Este método vuelve a ponderar los vectores de frecuencia de la palabra anterior (o n-gramo) con el frecuencia de documento inversa (IDF) de cada palabra. El IDF de una palabra es simplemente el logaritmo del número de documentos en el corpus dividido por el número de documentos en los que aparece esa palabra.

incrustación de documentos

En resumen, el término TF crece a medida que la palabra aparece con más frecuencia, mientras que el término IDF aumenta con la rareza de la palabra. Esto está destinado a ajustar los puntajes de frecuencia por el hecho de que algunas palabras aparecen con mayor frecuencia (o menos) en general. Ver [Salton y Buckley, 1988] para una descripción completa de los enfoques de ponderación de términos.

Asignación de Dirichlet latente (LDA)

LDA es un modelo estadístico generativo que permite que conjuntos de observaciones sean explicados por grupos no observados que explican por qué algunas partes de los datos son similares. Por ejemplo, si las observaciones son palabras recopiladas en documentos, postula que cada documento es una mezcla de un pequeño número de temas y que la presencia de cada palabra es atribuible a uno de los temas del documento.

Para conectar esto de nuevo con la bolsa de palabras, el primer enfoque se puede considerar como un modelo probabilístico simplista de documentos como distribuciones sobre palabras. El vector de bolsa de palabras representa la mejor aproximación que tenemos para la distribución no normalizada de palabras en cada documento; pero el documento aquí es la unidad probabilística básica, cada una muestra única de su distribución única.

El quid de la cuestión, entonces, es pasar de este modelo probabilístico simple de documentos como distribuciones sobre palabras a uno más complejo agregando una capa intermedia latente (oculta) de K temas.

incrustación de documentos

Figura 4: El modelo probabilístico cambia de bolsa de palabras a LDA

Los temas ahora se caracterizan por distribuciones sobre palabras, mientras que los documentos son distribuciones sobre temas. Este modelo probabilístico de un documento corresponde a un modelo generativo de documentos; Para generar un conjunto de M documentos de longitud {Nᵢ}, suponiendo un número predeterminado de K temas, donde Dir () denota un Distribución de Dirichlet:

  1. Para cada tema v, muestra una distribución de palabras φᵥ ~Dir (β).
  2. Para cada documento i, muestra una distribución de tema (o mezcla) θᵢ ~Dir (α).
  3. Generar documento i de longitud No.para cada palabra j:
    3.1. Muestra un tema zᵢⱼ ~Multinomial (θᵢ) por palabra j.
    3.2. Palabra de muestra j~Multinomial (zᵢⱼ).

Dado este modelo y un corpus de documentos, el problema se convierte en uno de inferencia, y las aproximaciones de las diversas distribuciones mencionadas anteriormente se encuentran en el proceso de inferencia. Entre estos se encuentran θᵢ, la distribución de temas para cada documento i, vectores de dimensión K.

Entonces, en el proceso de inferir el modelo, un espacio vectorial de dimensión K fue inferido, uno que captura de alguna manera los temas o temas en nuestro corpus y la forma en que se comparten entre los documentos que contiene. Esto, por supuesto, puede tomarse como un espacio de incrustación para estos documentos y, dependiendo de la elección de K - puede tener una dimensión significativamente menor que las basadas en vocabulario.

De hecho, si bien un caso de uso principal para LDA es el descubrimiento no supervisado de tema / comunidad, otros casos incluyen el uso del espacio de tema latente resultante como un espacio de incrustación para el corpus de documentos. Además, tenga en cuenta que otras técnicas de modelado de temas, como factorización matricial no negativa (NMF) y indexación semántica latente probabilística (PLSI) - se puede usar de manera similar para aprender espacios de incrustación de documentos.

Nota:  Un problema principal que los profesionales tienen con los modelos de temas probabilísticos es con su estabilidad. Dado que entrenar un modelo de tema requiere un muestreo de distribuciones de probabilidad, se puede esperar que los modelos del mismo corpus difieran a medida que varían las semillas del generador de números aleatorios. Este problema se ve agravado por la sensibilidad de los modelos de temas a los cambios de corpus relativamente pequeños.

Técnicas de incrustación de documentos sin supervisión

Muchos de los métodos presentados en esta sección están inspirados en técnicas destacadas de incrustación de palabras, entre ellas la principal. palabra2vec, y a veces son incluso generalizaciones directas de estos métodos. Estas técnicas de incrustación de palabras también se denominan a veces Modelos de lenguaje neural probabilístico; estos no son términos idénticos, como lo es un modelo de lenguaje probabilístico una distribución de probabilidad sobre secuencias de palabras, pero como este enfoque se introdujo como una forma de aprender modelos de lenguaje en [Bengio, 2003], están estrechamente asociados.

Como tal, una comprensión básica de las técnicas de inclusión de palabras es esencial para comprender esta sección. Si no está familiarizado con el tema, el tutorial bien escrito de dos partes de palabra2vec por Chris McCormick es un excelente punto de partidaparte 2), como es el artículo de Scholarpedia sobre modelos de lenguaje de redes neuronales del Prof. Joshua Bengio (ver también La publicación de Hunter Heidenreich para una descripción más general y concisa de las incrustaciones de palabras en generalLa publicación de dos partes de Alex Minnar para una inmersión matemática más profunda). Sin embargo, para una comprensión profunda de los detalles, le insto a que lea los documentos fundamentales de [Bengio, 2003], [Mikolov y otros, 2013a] Y [Pennington y otros, 2014] sobre el tema, que en muchos aspectos dio forma a este subcampo.

Incluso asumiendo tu familiaridad con palabra2vec, Todavía deseo señalar una suposición importante que hace este modelo, y que es llevada adelante por quizás todos y cada uno de los modelos revisados ​​aquí: La hipótesis distributiva. Aquí hay una breve descripción de Wikipedia :

La hipótesis distribucional en lingüística se deriva de la teoría semántica del uso del lenguaje, es decir, las palabras que se usan y ocurren en los mismos contextos tienden a significar significados similares. La idea subyacente de que "una palabra se caracteriza por la compañía que mantiene" fue popularizada por Estuario. La hipótesis distributiva es la base de semántica estadística.

De hecho, es fácil ver que palabra2vec, y otros métodos auto supervisados ​​para aprender representaciones de palabras, dependen en gran medida de esta hipótesis; El quid del modelo, después de todo, es que las representaciones de palabras aprendidas al aprender a predecir el contexto de una palabra a partir de la palabra misma (o viceversa) representan un espacio vectorial que captura conceptos y fenómenos semánticos y sintácticos profundos. Es decir, aprender del contexto de una palabra puede enseñarnos tanto sobre su significado como sobre su papel sintáctico.

En esta sección, que cubre el aprendizaje de representación de documentos auto supervisados, verá que todos estos métodos mantienen este supuesto para las palabras y lo extienden de alguna manera a unidades de texto más grandes.

incrustaciones de n-gramas

[Mikolov y col., 2013b] extendido palabra2vecEl modelo de salto de gramo para manejar frases cortas mediante la identificación de una gran cantidad de frases cortas, los autores se centran en frases de dos y tres palabras, utilizando un enfoque basado en datos y luego tratando las frases como tokens individuales durante la capacitación de la palabra2vec modelo. Naturalmente, esto es menos adecuado para aprender frases más largas, ya que el tamaño del vocabulario explota al aumentar la longitud de la frase, y está obligado a no generalizar a frases invisibles así como los métodos que lo siguen.

Moshe Hazoom escribió Una maravillosa revisión práctica de este enfoque, utilizado por su empleador para un motor de búsqueda centrado en el dominio financiero.

Promedio de incrustaciones de palabras

Hay una forma muy intuitiva de construir incrustaciones de documentos a partir de incrustaciones de palabras significativas: dado un documento, realice algunas operaciones aritméticas de vectores en todos los vectores correspondientes a las palabras del documento para resumirlas en un solo vector en el mismo espacio de incrustación; dos de estos operadores de resumen comunes son promedio y suma.

Sobre la base de esto, tal vez ya pueda imaginar que extender la arquitectura codificador-decodificador de palabra2vec y sus parientes para aprender cómo combinar vectores de palabras en incrustaciones de documentos puede ser interesante; Los métodos que siguen a este se incluyen en esta categoría.

Una segunda posibilidad es usar un operador fijo (que no se puede aprender) para el resumen de vectores, por ejemplo, promediar, y aprender incrustaciones de palabras en una capa anterior, utilizando un objetivo de aprendizaje que tenga como objetivo producir incrustaciones de documentos enriquecidos; Un ejemplo común es usar una oración para predecir oraciones de contexto. Por lo tanto, la principal ventaja aquí es que las incrustaciones de palabras están optimizadas para promediar en representaciones de documentos.

incrustación de documentos

Figura 5: Arquitectura de red siamesa CBOW de [Kenter y otros, 2016] 

[Kenter y otros, 2016] hizo exactamente eso, utilizando una red neuronal simple sobre un promedio de vectores de palabras, aprendiendo las incrustaciones de palabras prediciendo, dada una representación de oración, sus oraciones circundantes. Comparan los resultados con ambos promediados palabra2vec vectores y para saltar pensamientos vectores (ver la subsección apropiada a continuación). [Colina et al, 2016] compara una gran cantidad de métodos, incluido el entrenamiento de incrustaciones de palabras CBOW y skip-gram mientras se optimiza para la representación de oraciones (aquí usando la adición de elementos de vectores de palabras). [Sinoara y otros, 2019] también proponen una composición sencilla de vectores de inclusión de palabras y otras fuentes de conocimiento (como vectores de sentido de palabras) en su centroide para representar documentos.

Finalmente, [Arora y otros, 2016] han demostrado además que este enfoque es una línea de base simple pero difícil de superar cuando se aumenta con dos pequeñas variaciones: (1) usar un esquema de ponderación de frecuencia inversa suave y (2) eliminar el componente del discurso común de los vectores de palabras; Este componente se encuentra utilizando PCA, y se utiliza como un término de corrección para el discurso más frecuente, presumiblemente relacionado con la sintaxis. Los autores proporcionan un Implementación de Python.

Nota:  Quizás se pueda encontrar otra demostración del poder de las "incrustaciones" de palabras promediadas correctamente al observar los modelos de traducción automática basados ​​en la atención. El decodificador unidireccional RNN obtiene la palabra traducida anteriormente como entrada, además de no solo la "incrustación" (es decir, las activaciones bidireccionales del codificador RNN) de la palabra actual para traducir, sino también las de las palabras que la rodean; estos se promedian de manera ponderada en un vector de contexto. Está enseñando que este promedio ponderado es capaz de mantener la composición compleja y la información dependiente del orden de las activaciones de la red del codificador (recuerde, estas no son incrustaciones aisladas como en nuestro caso; cada una está infundida con el contenido).
extensión de las palabras anteriores/siguientes).

Enviado2Vec

Presentado en [Pagliardini y otros, 2017] Y [Gupta y otros, 2019] (incluyendo una implementación oficial de Python basada en C ++), esta técnica es en gran medida una combinación de los dos enfoques anteriores: el modelo clásico CBOW de palabra2vec ambos se extienden para incluir palabras n-gramas y adaptado para optimizar las incrustaciones de palabras (y n-gramos) con el fin de promediarlas para producir vectores de documentos.

incrustación de documentos

Figura 6: sent2vec puede considerarse como una versión no supervisada de fastText

Además, se elimina el proceso de submuestreo de entrada, considerando en su lugar la oración completa como contexto. Esto significa tanto que (A) se descarta el uso de submuestreo frecuente de palabras, para no evitar la generación de funciones n-gramas, y (B) las ventanas de contexto dinámico utilizadas por palabra2vec se eliminan: la oración completa se considera como la ventana de contexto, en lugar de muestrear el tamaño de la ventana de contexto para cada palabra submuestreada uniformemente entre 1 y la longitud de la oración actual.

Otra forma de pensar enviado2vec es como una versión no supervisada de texto rápido (ver Figura 6), donde la oración completa es el contexto y las posibles etiquetas de clase son todas palabras de vocabulario. Casualmente, [Agibetov et al, 2018] compare el rendimiento de un perceptrón multicapa utilizando enviado2vec vectores como características de la de texto rápido, en contra de la tarea de clasificación biomédica de oraciones.

Vectores de párrafo (doc2vec)

Algunas veces referido como doc2vec, este método, presentado en [Le y Mikolov, 2014] es quizás el primer intento de generalizar palabra2vec para trabajar con secuencias de palabras. Los autores introducen dos variantes de la pvectores aragrafos modelo: Memoria distribuida y Bolsa de palabras distribuida.

Vectores de párrafo: memoria distribuida (PV-DM)
El modelo PV-DM aumenta el modelo estándar de codificador-decodificador al agregar un vector de memoria, destinado a capturar el tema del párrafo o el contexto de la entrada. La tarea de entrenamiento aquí es bastante similar a la de bolsa continua de palabras; una sola palabra se debe predecir a partir de su contexto. En este caso, las palabras de contexto son las palabras precedentes, no las palabras circundantes, como es el párrafo.

incrustación de documentos

Figura 7: El modelo de memoria distribuida de vectores de párrafo (PV-DM)

Para lograr esto, cada párrafo se asigna a un vector único, representado por una columna en una matriz (denotada por D), como cada palabra en el vocabulario. Los contextos son de longitud fija y se muestrean desde una ventana deslizante sobre el párrafo. El vector de párrafo se comparte en todos los contextos generados a partir del mismo párrafo, pero no en todos los párrafos. Naturalmente, las incrustaciones de palabras son globales, y se pueden usar incrustaciones de palabras previamente capacitadas (ver implementaciones y mejoras abajo).

Como en palabra2vec, los vectores deben resumirse de alguna manera en un solo vector; pero a diferencia palabra2vec, los autores usan la concatenación en sus experimentos. Tenga en cuenta que esto conserva la información del pedido. Similar a palabra2vec, se utiliza un clasificador softmax simple (en este caso, softmax jerárquico) sobre esta representación vectorial resumida para predecir el resultado de la tarea. El entrenamiento se realiza de la manera estándar, usando el descenso de gradiente estocástico y obteniendo el gradiente a través de la propagación hacia atrás.

Observe que solo los párrafos del corpus de entrenamiento tienen un vector de columna de D asociado con ellos. En el momento de la predicción, es necesario realizar un paso de inferencia para calcular el vector de párrafo para un nuevo párrafo: el vector de documento se inicializa aleatoriamente. Luego, repetidamente, se selecciona una palabra aleatoria del nuevo documento, y el descenso de gradiente se usa para ajustar los pesos de entrada a capa oculta de modo que la probabilidad de softmax se maximice para la palabra seleccionada, mientras que los pesos de salida oculta a softmax son fijo. Esto da como resultado una representación del nuevo documento como una mezcla de vectores de documentos del corpus de capacitación (es decir, columnas de D), que reside naturalmente en el espacio de incrustación de documentos.

Vectores de párrafo: Bolsa de palabras distribuida (PV-DBOW)
La segunda variante de vectores de párrafo, a pesar de su nombre, es quizás el paralelo de palabra2vecsaltear gramo arquitectura; la tarea de clasificación es predecir una sola palabra de contexto usando solo el vector de párrafo. En cada iteración de descenso de gradiente estocástico, se muestrea una ventana de texto, luego se muestrea una sola palabra aleatoria desde esa ventana, formando la siguiente tarea de clasificación.

incrustación de documentos

Figura 8: El modelo de bolsa distribuida de palabras de vectores de párrafo (PV-DBOW)

Por lo demás, el entrenamiento es similar, excepto por el hecho de que los vectores de palabras no se aprenden conjuntamente con los vectores de párrafos. Esto hace
tanto la memoria como el rendimiento del tiempo de ejecución de la variante PV-DBOW son mucho mejores.

Nota:  In su implementación Gensim, PV-DBOW utiliza incrustaciones de palabras inicializadas aleatoriamente de forma predeterminada; si dbow_words se establece en 1, se ejecuta un solo paso de skip-gram para actualizar las incorporaciones de palabras antes de ejecutar dbow. [Lau y Baldwin, 2016] argumentan que aunque dbow puede en teoría trabajar con incrustaciones de palabras aleatorias, esto degrada el rendimiento severamente en las tareas que han examinado.

Se puede rastrear una explicación intuitiva hasta la función objetivo del modelo, que es maximizar el producto de punto entre la inserción de documentos y sus incorporaciones de palabras constitutivas: si las incorporaciones de palabras se distribuyen aleatoriamente, se hace más difícil optimizar la inserción de documentos para estar cerca de Sus palabras de contenido más crítico.

Aplicaciones, implementaciones y mejoras.
[Le & Mikolov, 2014] demostró el uso de vectores de párrafo en varias tareas de clasificación de texto y análisis de sentimientos, mientras que [Dai et al, 2015] lo examinó en el contexto de tareas de similitud de documentos y [Lau & Baldwin, 2016] lo comparó con una tarea de duplicación de preguntas del foro y el SemEval de similitud textual semántica (STS) Tarea compartida. Ambos documentos posteriores presentan una evaluación extendida del método (el primero se centra en la variante PV-DBOW), comparándolo con varios otros métodos y también brindando consejos prácticos (el último código incluido).

El método tiene una implementación de Python, como parte del paquete gensimuna implementación PyTorch. De nuevo, [Lau y Baldwin, 2016] además proporcionó el código utilizado para su examen.

Finalmente, se han propuesto varias mejoras al método. Por ejemplo, [Li y otros, 2016] extienden el método para incorporar también características de n-gramas, mientras que [Thongtan & Phienthrakul, 2019] sugieren usar la similitud de coseno en lugar del producto punto al calcular la proyección de incrustación (también proporciona una implementación de Java).

Doc2VecC

[Chen, 2017] presentó un enfoque interesante inspirado tanto en el modelo de memoria distribuida del enfoque de vectores de párrafo (PV-DM) como en los enfoques que incorporan palabras promedio para representar documentos.

incrustación de documentos

Figura 9: La arquitectura del modelo Doc2VecC

Similar a vectores de párrafoDoc2VecC (un acrónimo de vector de documento a través de la corrupción) consta de una capa de entrada, una capa de proyección y una capa de salida para predecir la palabra objetivo ("ceremonia" en el ejemplo anterior). Las incrustaciones de palabras vecinas (por ejemplo, "apertura", "para", "el") proporcionan un contexto local, mientras que la representación vectorial de todo el documento (que se muestra en gris) sirve como contexto global. En contraste con vectores de párrafo, que aprende directamente un vector único para cada documento, Doc2VecC representa cada documento como un promedio de las incrustaciones de palabras muestreadas al azar del documento (por ejemplo, "rendimiento" en la posición p, "Alabado" en la posición qy "brasil" en la posición r).

Además, los autores eligen corromper el documento original eliminando al azar una parte significativa de las palabras, representando el documento promediando solo las incrustaciones de las palabras restantes. Este mecanismo de corrupción permite una aceleración durante el entrenamiento, ya que reduce significativamente el número de parámetros para actualizar en la propagación hacia atrás. Los autores también muestran cómo introduce una forma especial de regularización, que creen que da como resultado la mejora observada del rendimiento, comparada en una tarea de análisis de sentimientos, una tarea de clasificación de documentos y una tarea de relación semántica frente a una gran cantidad de tecnología de punta. Técnicas de inclusión de documentos.

Se puede encontrar una implementación de código abierto basada en C del método y el código para reproducir los experimentos en el documento en un repositorio público de Github.

La idea general de corromper o agregar ruido al proceso de aprendizaje de inclusión de documentos para producir un espacio de inclusión más sólido también ha sido aplicada por [Colina et al, 2016] al salto de pensamiento modelo (consulte la siguiente subsección) para crear su modelo de autoencoder secuencial de eliminación de ruido (SDAE).

Vectores de salto de pensamiento

Presentado en [Kiros y otros, 2015], este es otro intento temprano de generalizar palabra2vecy se publicó con una implementación oficial de Python puro (y recientemente también cuenta con implementaciones para PyTorch y TensorFlow).

Esto, sin embargo, se extiende palabra2vec - específicamente el saltear gramo arquitectura - de otra manera intuitiva: la unidad base ahora es oraciones, y una oración codificada se usa para predecir las oraciones a su alrededor. Las representaciones vectoriales se aprenden usando un modelo codificador-decodificador capacitado en la tarea anterior; los autores usan un codificador RNN con activaciones GRU y decodificadores RNN con un GRU condicional. Dos decodificadores diferentes están entrenados para las oraciones anteriores y siguientes.

incrustación de documentos

Figura 10: El modelo de omisión de pensamientos. Dada una tupla de oraciones contiguas, la oración sᵢ está codificada e intenta reconstruir la oración anterior sᵢ₋₁ y la siguiente oración sᵢ₊₁

Expansión de vocabulario en skip-thought

La salto de pensamiento El codificador utiliza una capa de incrustación de palabras que convierte cada palabra en la oración de entrada en su incrustación de palabras correspondiente, convirtiendo efectivamente la oración de entrada en una secuencia de incrustaciones de palabras. Esta capa de incrustación también se comparte con ambos decodificadores.

incrustación de documentos

Figura 11: En el modelo de omisión de pensamientos, la oración sᵢ está codificada por el codificador; los dos decodificadores condicionan la representación oculta de la salida del codificador hᵢ para predecir sᵢ₋₁ y sᵢ₊₁ [desde Mensaje de Ammar Zaher]

Sin embargo, los autores solo usan un pequeño vocabulario de 20,000 palabras, y como resultado se pueden encontrar muchas palabras invisibles durante el uso en varias tareas. Para superar esto, se aprende un mapeo de un espacio de inclusión de palabras entrenado en un vocabulario mucho más amplio (p. Ej. palabra2vec) al espacio de incrustación de palabras del saltar pensamientos modelo, resolviendo un problema no regularizado L2 pérdida de regresión lineal para la matriz W parametrizando este mapeo.

Aplicaciones, mejoras y lecturas adicionales.
Los autores demuestran el uso de salto de pensamiento vectores para la relación semántica, detección de paráfrasis, clasificación de imagen-oración, clasificación de tipo de pregunta y cuatro conjuntos de datos de sentimientos y subjetividad. [Broere, 2017] investiga más a fondo las propiedades sintácticas de salto de pensamiento representaciones de oraciones al entrenar la regresión logística en ellas para predecir etiquetas POS y relaciones de dependencia.

[Tang y otros, 2017a] proponer un enfoque vecinal para salto de pensamiento, soltando información de pedido y prediciendo tanto la oración anterior como la siguiente usando un solo decodificador. [Tang y otros, 2017b] amplíe este examen para proponer tres mejoras al modelo que afirman que proporcionan un rendimiento comparable utilizando un modelo más rápido y más liviano: (1) solo aprendiendo a decodificar la siguiente oración, (2) agregando un avg + max capa de conexión entre el codificador y el decodificador (como una forma de permitir la ingeniería de características no paramétricas no lineales), y (3) realizando una buena inicialización de incrustación de palabras. Finalmente, [Gan y otros, 2016] aplique el mismo enfoque utilizando un codificador jerárquico basado en CNN-LSTM en lugar de uno solo RNN, en una amplia gama de aplicaciones.

Otra variación, presentada en [Lee y Park, 2018], aprende las incrustaciones de oraciones eligiendo, para cada oración objetivo, oraciones influyentes en todo el documento basadas en la estructura del documento, identificando así las estructuras de dependencia de oraciones usando metadatos o estilos de texto. Adicionalmente, [Colina et al, 2016] sugerir el autoencoder secuencial de eliminación de ruido (SDAE) modelo, una variante de salto de pensamiento donde los datos de entrada están dañados de acuerdo con alguna función de ruido, y el modelo está entrenado para recuperar los datos originales de los datos dañados.

Para más lecturas no académicas sobre salto de pensamiento modelo, Sanyam Agarwa ofrece una excelente descripción detallada del método en su blog.Ammar Zaher demuestra su uso para construir un espacio de incrustación para cocinar recetas.

Envío Rápido

[Colina et al, 2016] proponer una variación significativamente más simple en el saltar pensamientos modelo; Envío Rápido es un modelo de oración aditivo simple (log-bilineal) diseñado para explotar la misma señal, pero a un costo computacional mucho menor. Dada una representación BOW de alguna oración de contexto, el modelo simplemente predice oraciones adyacentes (también representadas como BOW). Más formalmente, Envío Rápido aprende una incrustación de fuente uᵂ y vᵂ de destino para cada palabra w en el vocabulario modelo. Para el ejemplo de entrenamiento Sᵢ₋₁, Sᵢ, Sᵢ₊₁ de oraciones consecutivas, Sᵢ se representa como la suma de sus incorporaciones de origen sᵢ=uᵂ Más de w∈Sᵢ. El costo del ejemplo es simplemente  𝜙 (sᵢ,vᵂ) sobre w∈Sᵢ₋₁∪Sᵢ₊₁, donde 𝜙 es la función softmax. El papel va acompañado de una implementación oficial de Python.

Vectores de pensamiento rápido

[Logeswaran y Lee, 2018] reformular la tarea de incrustación de documentos, el problema de predecir el contexto en el que aparece una oración, como un problema de clasificación supervisada (ver Figura 12b) en lugar de la tarea de predicción de enfoques anteriores (ver Figura 12a).

incrustación de documentos

Figura 12: La formulación del problema Quick-Thought (b) contrasta con el enfoque Skip-Thought (a)

Lo esencial es usar el significado de la oración actual para predecir el significado de las oraciones adyacentes, donde el significado se representa mediante la incorporación de la oración calculada a partir de una función de codificación; Observe que aquí se aprenden dos codificadores: f para la oración de entrada y g para candidatos Dada una oración de entrada, está codificada por un codificador (RNN, en este caso), pero en lugar de generar la oración objetivo, el modelo elige la oración objetivo correcta de un conjunto de oraciones candidatas; el conjunto candidato se construye a partir de oraciones de contexto válidas (verdad básica) y muchas otras oraciones no contextuales. Finalmente, el objetivo de entrenamiento construido maximiza la probabilidad de identificar las oraciones de contexto correctas para cada oración en los datos de entrenamiento. Al ver la formulación anterior de predicción de oraciones como la elección de una oración de todas las oraciones posibles, este nuevo enfoque puede verse como una aproximación discriminativa al problema de predicción.

Los autores evalúan su enfoque en varias tareas de clasificación de texto, identificación de paráfrasis y relación semántica, y también proporcionan una implementación oficial de Python.

Incorporación de Word Mover (WME)

Un método muy reciente, que surge de la investigación de IBM, es Incrustación de Word Mover (WME), presentado en [Wu y otros, 2018b]. Se proporciona una implementación oficial basada en C, envuelta en Python.

[Kushner y otros, 2015] presentó WDistancia del motor ord (WMD); esto mide la diferencia entre dos documentos de texto como la cantidad mínima de distancia que las palabras incrustadas de un documento deben "viajar" en el espacio de incrustación para llegar a las palabras incrustadas de otro documento (ver Figura 13a). Adicionalmente, [Wu y otros, 2018a] propuso D2KE (distancias a núcleos e incorporaciones), una metodología general para la derivación de un núcleo definido positivo a partir de una función de distancia dada.

incrustación de documentos

Figura 13: Contrastar ADM con WME. (a) WMD mide la distancia entre dos documentos x e y, mientras que (b) WME se aproxima a un núcleo derivado de WMD con un conjunto de documentos aleatorios 𝜔.

WME se basa en tres componentes para aprender representaciones vectoriales continuas para textos de diferentes longitudes:

  1. La capacidad de aprender incrustación de palabras de alta calidad de manera no supervisada (por ejemplo, usando palabra2vec).
  2. La capacidad de construir una medida de distancia para documentos basados ​​en dichas incorporaciones usando WDistancia del motor ord (ADM).
  3. La capacidad de derivar kernel definido positivo de una función de distancia dada usando D2KE.

Usando estos tres componentes, se aplica el siguiente enfoque:

  1. Construir un definitivo positivo Kernel de Word Mover (WMK) a través de un mapa de características de dimensiones infinitas dado por el La distancia de Word Mover (WMD) a documentos aleatorios 𝜔 de una distribución dada, usando D2KE. Debido a su uso de las ADM, el mapa de características tiene en cuenta las alineaciones de palabras individuales entre los documentos en el espacio semántico dado por las incrustaciones de palabras pre-entrenadas (ver Figura 13b).
  2. En base a este núcleo, obtenga un documento incrustado mediante una aproximación aleatoria de características del núcleo, cuyos productos internos se aproximan a los cálculos exactos del núcleo.

Este marco es extensible, ya que sus dos bloques de construcción, palabra2vec y WMD, pueden ser reemplazados por otras técnicas como Guante (para incrustaciones de palabras) o S-WMD (para la traducción del espacio de incrustación de palabras en una métrica de distancia de documento).

Los autores evalúan WME en 9 tareas de clasificación de texto del mundo real y 22 tareas de similitud textual, y demuestran que coincide consistentemente, y a veces incluso supera, a otras técnicas de vanguardia.

Sentencia-BERT (SBERT)

El 2018 en PNL estuvo marcado por el surgimiento de los transformadores (ver Figura 14), modelos de lenguaje neuronal de última generación inspirados en el modelo de transformador presentado en [Vaswani y otros 2017] - un modelo de secuencia que prescinde tanto de convoluciones como de recurrencia y utiliza la atención para incorporar información secuencial en la representación de secuencia. Esta familia en auge incluye BERT (y sus extensiones), GPT (1 y 2) y los transformadores con sabor XL.

incrustación de documentos

Figura 14: Ascenso de los transformadores.

Estos modelos generan incrustaciones contextuales de tokens de entrada (comúnmente unidades de subpalabras), cada una con información de su vecindario, pero no están destinadas a generar un rico espacio de incrustación para secuencias de entrada. BERT incluso tiene un token especial [CLS] cuya incorporación de salida se utiliza para tareas de clasificación, pero sigue siendo una incorporación deficiente de la secuencia de entrada para otras tareas. [Reimers y Gurevych, 2019]

Sentencia-BERT, presentado en [Reimers y Gurevych, 2019] y acompañado de una implementación de Python, tiene como objetivo adaptar la arquitectura BERT mediante el uso de estructuras de red siamesas y triples para derivar incrustaciones de oraciones semánticamente significativas que se puedan comparar usando la similitud de coseno (ver Figura 15).

incrustación de documentos

Figura 15: La arquitectura SBERT en el entrenamiento sobre un objetivo de clasificación (izquierda) e inferencia (derecha)

Técnicas supervisadas de incrustación de documentos

Los métodos no supervisados ​​cubiertos en la sección anterior nos permitieron aprender representaciones útiles de grandes corpus no etiquetados. No es exclusivo del procesamiento del lenguaje natural, este enfoque se centra en las representaciones de aprendizaje mediante el diseño de objetivos de aprendizaje que explotan las etiquetas que están disponibles gratuitamente en los datos. La fuerza y ​​robustez de estos métodos, por lo tanto, dependen en gran medida no solo del marco de aprendizaje, sino también de cuán bien el objetivo de aprendizaje diseñado artificialmente requiere o produce el aprendizaje de características o conocimientos significativos que resultarían útiles en diversas tareas posteriores. Por ejemplo, esperamos que tanto la información semántica como la sintáctica se capturen bien mediante espacios de incrustación de documentos y palabras.

El enfoque contrastante para aprender representaciones significativas de datos, en nuestro caso secuencias de palabras, es utilizar etiquetas explícitas (casi siempre generadas por anotadores humanos de alguna manera). Aquí, la relevancia de varias tareas depende de cuán cercanas estén las tareas explícitas y las etiquetas utilizadas a la aplicación final, y nuevamente, qué tan bien esta tarea conlleva el aprendizaje de características y conocimientos generalizables.

Veremos que los enfoques supervisados ​​van desde aquellos que utilizan directamente una tarea etiquetada específica para aprender representaciones, hasta aquellos que reestructuran tareas o extraen nuevas tareas etiquetadas para obtener mejores representaciones.

Aprendizaje de incrustaciones de documentos a partir de datos etiquetados

Ha habido varios intentos de usar datos etiquetados o estructurados para aprender representaciones de oraciones. Específicamente, [Cho y otros, 2014a] Y [Sutskever et al., 2014] son ​​quizás los primeros intentos de aplicar el enfoque codificador-decodificador para aprender explícitamente incrustaciones de frases / frases con datos etiquetados; el primero usando usando Europarl, un corpus paralelo de frases para la traducción automática estadística, el segundo usando la tarea de traducción del inglés al francés del conjunto de datos WMT-14. Otro intento tan notable se presenta en [Wieting y otros, 2015] y [Wieting & Gimpel, 2017], donde tanto las incrustaciones de palabras como su mapeo en las incrustaciones de documentos se aprenden conjuntamente para minimizar la similitud de coseno entre pares de paráfrasis (de el conjunto de datos PPDB). ElColina et al, 2015] modelos de lenguaje neuronal entrenados para mapear definiciones de diccionario a incrustaciones de palabras pre-entrenadas de las palabras definidas por esas definiciones. Finalmente, [Conneau y otros, 2017] entrenó codificadores NN de varias arquitecturas en la tarea de inferencia de lenguaje natural de Stanford (ver Figura 16).

incrustación de documentos

Figura 16: esquema de entrenamiento genérico de NLI

Incorporaciones contextuales para similitud de documentos

Un caso específico del enfoque anterior es uno impulsado por la similitud del documento. [Das et al, 2016] muestra las incrustaciones de documentos aprendidas para maximizar la similitud entre dos documentos a través de una red siamesa para la comunidad Q / A. (ver Figura 17)

incrustación de documentos

Figura 17: La red SCQA consta de convolución repetitiva, agrupación máxima y capas ReLU y una capa totalmente conectada. Los pesos W1 a W5 se comparten entre las subredes.

Similar, [Nicosia y Moschitti, 2017] usan redes siamesas para producir representaciones de palabras mientras aprenden similitudes de texto binario, considerando ejemplos en la misma categoría que similares. (ver Figura 18)

incrustación de documentos

Figura 18: La arquitectura de la red siamesa de [Nicosia y Moschitti, 2017] Las incrustaciones de palabras de cada oración son consumidas por una pila de 3 GRU bidireccionales. Ambas ramas de la red comparten pesos de parámetros.

Translingüístico reducido
-regresión de cresta de rango (Cr5)
[Josifoski et al, 2019] introducen un método para incrustar documentos escritos en cualquier idioma en un único espacio vectorial independiente del idioma. Esto se realiza mediante la capacitación de un clasificador basado en regresión de crestas que utiliza características de bolsa de palabras específicas del idioma para predecir el concepto del que trata un documento determinado. Al restringir la matriz de peso aprendida para que sea de bajo rango, los autores muestran que se puede factorizar para obtener las asignaciones deseadas de bolsas de palabras específicas del idioma a incrustaciones independientes del idioma. Una implementación oficial de Python está provisto.

Incorporaciones de documentos supervisados ​​específicos de tareas

Un método supervisado común para producir incrustaciones de documentos utiliza varias arquitecturas de redes neuronales, aprendiendo operadores de composición que asignan vectores de palabras a vectores de documentos; estos se pasan a una tarea supervisada y dependen de una etiqueta de clase para propagarse a través de los pesos de composición (ver Figura 19).

Por lo tanto, se puede considerar que casi todas las capas ocultas de la red producen una incrustación vectorial de un documento de entrada, siendo el prefijo de la red hasta esa capa la asignación aprendida de los vectores de palabras al espacio de incrustación. Se puede encontrar un examen riguroso de las diferentes formas de aprender vectores de oraciones basados ​​en vectores de palabras y una tarea de aprendizaje supervisada en [Wieting y otros, 2015].

incrustación de documentos

Figura 19: Las redes neuronales aprenden implícitamente a mapear secuencias de incrustación de palabras para documentar incrustaciones

Tenga en cuenta que si bien las incrustaciones de palabras utilizadas pueden generarse previamente y ser independientes de la tarea (al menos hasta cierto punto), el mapeo aprendido de ellas para incrustar documentos es específico de la tarea. Si bien estos pueden ser útiles para tareas relacionadas, este método será menos robusto y generalizado que los no supervisados, al menos en teoría. [Kiros y otros, 2015]

Los usos notables incluyen la clasificación de sentimientos usando RNN [Socher et al, 2013], varias tareas de clasificación de texto usando CNN [Kalchbrenner et al, 2014] [Kim, 2014] y las tareas de traducción automática y clasificación de texto usando redes neuronales recursivas convolucionales [Cho et al, 2014a, 2014b] [Zhao et al, 2015].

GPT
[Radford y otros, 2018presentó el pre-entrenamiento generativo Enfoque (GPT) (acompañado de una implementación de Python), combinando el aprendizaje de representación supervisado y no supervisado, utilizando el modelo de transformador presentado en [Vaswani y otros 2017] para aprender un modelo de lenguaje no supervisado en corpus sin etiquetar, y luego ajustar su uso para cada tarea por separado utilizando datos supervisados. Luego presentaron GPT-2 en [Radford y otros, 2019], centrándose en reforzar la parte de aprendizaje no supervisada de su trabajo, una vez más lanzamiento de una implementación oficial de Python.

Modelo de similitud semántica profunda (DSSM)
Un proyecto de investigación de Microsoft, DSSM es una técnica de modelado de redes neuronales profundas para representar cadenas de texto en un espacio semántico continuo y modelar similitudes semánticas entre dos cadenas de texto (ver Figura 20).

incrustación de documentos

Figura 20: La arquitectura de una red neuronal DSSM

DSSM se utilizó, entre otras aplicaciones, para desarrollar modelos semánticos latentes que proyectan entidades de diferentes tipos (p. Ej., Consultas y documentos) en un espacio semántico común de baja dimensión para una variedad de tareas de aprendizaje automático, tales como clasificación y clasificación. Por ejemplo, [Huang y otros, 2013] utilícelo para proyectar consultas y documentos en un espacio común de baja dimensión donde la relevancia de una consulta dada por un documento se calcula como la distancia entre ellos.

Las implementaciones incluyen TensorFlowKeras y dos PyTorch variaciones.

Aprendizaje conjunto de representaciones de oraciones

[Ahmad y otros, 2018] sugieren que aprender conjuntamente representaciones de oraciones a partir de múltiples tareas de clasificación de texto y combinarlas con codificadores de nivel de palabras y oraciones previamente capacitados da como resultado representaciones de oraciones sólidas que son útiles para el aprendizaje de transferencia

incrustación de documentos

Figura 21: Aprendizaje conjunto de incrustaciones de oraciones utilizando tareas auxiliares

[Yu y Jiang, 2016] de manera similar muestra que el uso de dos tareas auxiliares para ayudar a inducir una incrustación de oraciones supuestamente funciona bien en todos los dominios para la clasificación de sentimientos, aprendiendo conjuntamente esta incrustación de oraciones junto con el clasificador de sentimientos (Figura 21).

Codificador de Sentencia Universal
Presentado en [Cer et al, 2018a] Y [Cer et al, 2018b], y acompañado de una implementación de TensorFlow, este método en realidad incluye dos modelos posibles para el aprendizaje de representación de oraciones: transformador modelo y el Red de promedio profundo (DAN) modelo (ver Figura 22). Ambos están diseñados para permitir el aprendizaje de tareas múltiples, con tareas compatibles que incluyen (1) comopensamiento kip como tarea para el aprendizaje no supervisado; (2) una tarea conversacional de entrada-respuesta para la inclusión de datos conversacionales analizados; y (3) tareas de clasificación para capacitación sobre datos supervisados ​​(ver la subsección anterior). Los autores se centran en experimentos con tareas de aprendizaje de transferencia y comparan sus modelos frente a líneas de base simples CNN y DAN. El método fue más tarde. extendido para abordar configuraciones multilingües.

La transformador El modelo se basa directamente en el modelo de transformador presentado en [Vaswani y otros 2017], el primer modelo de transducción de secuencia basado completamente en la atención, reemplazando las capas recurrentes más comúnmente utilizadas en arquitecturas codificador-decodificador con auto-atención de múltiples cabezas (ver Figura 22a).

El modelo construye incrustaciones de oraciones usando el sub-gráfico de codificación de la arquitectura del transformador. El codificador utiliza la atención para calcular las representaciones de las palabras en función del contexto en una oración que tienen en cuenta tanto el orden como la identidad de otras palabras. Las representaciones de palabras conscientes del contexto se promedian juntas para obtener una incrustación a nivel de oración.

incrustación de documentos

Figura 22: Los dos modelos de Universal Sentence Encoder: (a) Transformer y (b) DAN

Por el contrario, en el modelo DAN, presentado en [Iyyer y otros, 2015], las incrustaciones de entrada para palabras y bi-gramos se promedian primero juntas y luego se pasan a través de una red neuronal profunda (DNN) para producir incrustaciones de oraciones (ver Figura 22b).

gensen
Al igual que el Universal Sentence Encoder, el enfoque GenSen, presentado en [Subramanian et al, 2018] Juntos con una implementación oficial de Pythoncombina múltiples tareas de aprendizaje supervisadas y no supervisadas para entrenar un modelo de codificador-decodificador basado en RNN w / GRU del cual se extrae la incrustación. Las cuatro tareas compatibles son: (1) Saltar pensamiento vectores, (2) traducción automática neural, (3) análisis de la circunscripción y (4) inferencia del lenguaje natural (un problema de clasificación de 3 vías; dada una premisa y una oración de hipótesis, el objetivo es clasificar su relación como implicación, contradicción o neutral). Se publicó una implementación oficial de Python.

Cómo elegir qué técnica usar

No tengo respuestas fáciles aquí, pero aquí hay algunas posibles conclusiones:

  1. Promediar vectores de palabras es una base sólida, por lo que una buena idea es comenzar su búsqueda de buenas incorporaciones de documentos enfocándose en generar vectores de palabras muy buenos y simplemente promediarlos al principio. Sin lugar a dudas, gran parte del poder de las incrustaciones de documentos proviene de los vectores de palabras sobre los que se construyen, y creo que es seguro decir que hay una gran cantidad de información para optimizar en esa capa antes de avanzar. Puede probar diferentes incorporaciones de palabras pre-entrenadas, explorando qué dominios de origen y qué métodos (por ejemplo, word2vec vs GloVe vs BERT vs ELMo) capturan el tipo de información que necesita de una mejor manera. Luego, extienda esto ligeramente probando diferentes operadores de resumen u otros trucos (como los de [Arora y otros, 2016]) podría ser suficiente.
  2. El rendimiento puede ser una consideración clave, especialmente sin un líder claro entre los métodos. En ese caso, ambos promediar vectores de palabrasy algunos métodos lean como enviado2vec y Envío Rápido, son buenos candidatos. En contraste, la inferencia de representación vectorial en tiempo real requerida para cada oración cuando se usa doc2vec podría resultar costoso dadas las restricciones de la aplicación. SentEval, un kit de herramientas de evaluación para representaciones de oraciones presentado en [Conneau y Kiela, 2018], es una herramienta que vale la pena mencionar en este contexto.
  3. Considere la validez del objetivo de aprendizaje para su tarea. Las diferentes técnicas de supervisión propia cubiertas anteriormente ampliaron la hipótesis distributiva de diferentes maneras, con salto de pensamiento y pensamiento rápido modelar una fuerte relación entre oraciones/párrafos en función de su distancia en un documento. este tal vez
    aps se aplica trivialmente a libros, artículos y publicaciones en redes sociales, pero es posible que no se aplique con tanta fuerza a otras secuencias de textos, especialmente los estructurados, y por lo tanto podría proyectar sus documentos en un espacio incrustado que no se aplica a ellos. Del mismo modo, el enfoque de alineación de palabras en el que se basa WME podría no aplicarse a todos los escenarios.
  4. Las implementaciones de código abierto son abundantes, por lo que la evaluación comparativa de diferentes enfoques contra su tarea podría ser factible.
  5. No hay líderes claros para tareas específicas. Los documentos a menudo comparan diferentes métodos contra tareas de clasificación, parafraseo y relación semántica. Sin embargo, la conclusión anterior surge tanto al considerar la totalidad de la literatura sobre el tema, como específicamente al considerar los resultados de los dos puntos de referencia más recientes de 2018, el primero realizado por [Logeswaran y Lee, 2018] al presentar su pensamiento rápido método, y el segundo por [Wu y otros, 2018b] como parte de su documento sobre Incrustación de Word Mover.

Palabras finales

¡Eso es! Como siempre, estoy seguro de que las publicaciones que escribo no están completas, así que siéntase libre de sugerir correcciones y adiciones a la descripción general anterior, ya sea comentando aquí o contactandome directamente.

También quiero agradecer a ambos adán bali y Ori cohen, que han proporcionado comentarios muy valiosos. ¡Ve a leer sus publicaciones!

Finalmente, me pareció que valía la pena mencionar que Papeles Con Código tiene una tarea dedicada a la incrustación de documentos, y que Facebook Research tiene código abierto SentEval, un kit de herramientas de evaluación para representaciones de oraciones presentado en [Conneau y Kiela, 2018].

Ahora siéntate y deja que las referencias te abrumen.

Referencias

Agibetov, A., Blagec, K., Xu, H. y Samwald, M. (2018). Modelos de inclusión neuronal rápidos y escalables para la clasificación de oraciones biomédicasBMC bioinformática19(1), 541.

Ahmad, WU, Bai, X., Peng, N. y Chang, KW (2018). Aprender representaciones de oraciones robustas y transferibles para la clasificación de textopreimpresión arXiv arXiv: 1810.00681.

Arora, S., Liang, Y. y Ma, T. (2016). Una línea de base simple pero difícil de superar para incrustar oraciones. [implementación no oficial]

Bengio, Y., Ducharme, R., Vincent, P. y Jauvin, C. (2003). Un modelo de lenguaje neural probabilísticoRevista de investigación de aprendizaje automático3(Febrero), 1137-1155.

B. Broere, (2017). Propiedades sintácticas de los vectores de pensamiento omitidoTesis de maestría, Universidad de Tilburg.

Cer, D., Yang, Y., Kong, SY, Hua, N., Limtiaco, N., John, RS,… y Sung, YH (2018). Codificador universal de oracionespreimpresión arXiv arXiv: 1803.11175.

Cer, D., Yang, Y., Kong, SY, Hua, N., Limtiaco, N., John, RS,… y Strope, B. (2018, noviembre). Codificador universal de oraciones para inglés. En Actas de la Conferencia de 2018 sobre métodos empíricos en el procesamiento del lenguaje natural: demostraciones del sistema (págs. 169–174).

Chen, M. (2017). Representación vectorial eficiente para documentos a través de la corrupción.preimpresión arXiv arXiv: 1707.02377.

Chen, Q., Peng, Y. y Lu, Z. (2018). BioSentVec: creando incrustaciones de oraciones para textos biomédicos. preimpresión arXiv arXiv: 1810.09302.

Cho, K., Van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H. y Bengio, Y. (2014). Aprendizaje de representaciones de frases usando codificador-decodificador RNN para traducción automática estadísticapreimpresión arXiv arXiv: 1406.1078.

Cho, K., Van Merriënboer, B., Bahdanau, D. y Bengio, Y. (2014). Sobre las propiedades de la traducción automática neuronal: enfoques de codificador-decodificadorpreimpresión arXiv arXiv: 1409.1259.

Conneau, A., Kiela, D., Schwenk, H., Barrault, L. y Bordes, A. (2017). Aprendizaje supervisado de representaciones universales de oraciones a partir de datos de inferencia del lenguaje natural.preimpresión arXiv arXiv: 1705.02364.

Conneau, A. y Kiela, D. (2018). Senteval: un kit de herramientas de evaluación para representaciones de oraciones universalespreimpresión arXiv arXiv: 1803.05449.

Dai, AM, Olah, C. y Le, QV (2015). Incorporación de documentos con vectores de párrafopreimpresión arXiv arXiv: 1507.07998.

Das, A., Yenala, H., Chinnakotla, M. y Shrivastava, M. (2016, agosto). Juntos estamos: redes siamesas para la recuperación de preguntas similares. En Actas de la 54ª Reunión Anual de la Asociación de Lingüística Computacional (Volumen 1: Documentos largos) (págs. 378–387).

Gan, Z., Pu, Y., Henao, R., Li, C., He, X. y Carin, L. (2016). Aprendizaje no supervisado de representaciones de oraciones utilizando redes neuronales convolucionales. preimpresión arXiv arXiv: 1611.07897.

Gan, Z., Pu, Y., Henao, R., Li, C., He, X. y Carin, L. (2016). Aprender representaciones genéricas de oraciones utilizando redes neuronales convolucionalespreimpresión arXiv arXiv: 1611.07897.

Gupta, P., Pagliardini, M. y Jaggi, M. (2019). mejor palabra
Incrustaciones al desentrañar información contextual de n-gramas
preimpresión arXiv arXiv: 1904.05033.

Harris, ZS (1954). Estructura distributiva. Word, 10 (2–3), 146–162.

Hill, F., Cho, K., Korhonen, A. y Bengio, Y. (2015). Aprendiendo a entender frases incrustando el diccionarioTransacciones de la Asociación de Lingüística Computacional4, 17-30.

Hill, F., Cho, K. y Korhonen, A. (2016). Aprendizaje de representaciones distribuidas de oraciones a partir de datos no etiquetadospreimpresión arXiv arXiv: 1602.03483.

Huang, PS, He, X., Gao, J., Deng, L., Acero, A. y Heck, L. (2013, octubre). Aprender modelos semánticos estructurados profundos para la búsqueda web utilizando datos de clic. En Actas de la 22a conferencia internacional ACM sobre gestión de la información y el conocimiento (págs. 2333–2338). ACM

Iyyer, M., Manjunatha, V., Boyd-Graber, J. y Daumé III, H. (2015). La composición desordenada profunda rivaliza con los métodos sintácticos para la clasificación de texto. En Actas de la 53ª Reunión Anual de la Asociación de Lingüística Computacional y la 7ª Conferencia Internacional Conjunta sobre Procesamiento del Lenguaje Natural (Volumen 1: Documentos largos) (Vol. 1, págs. 1681–1691).

Josifoski, M., Paskov, IS, Paskov, HS, Jaggi, M. y West, R. (2019, enero). Incorporación de documentos crosslingual como regresión de cresta de rango reducido. En Actas de la Duodécima Conferencia Internacional de ACM sobre Búsqueda Web y Minería de Datos (págs. 744–752). ACM

Kalchbrenner, N., Grefenstette, E. y Blunsom, P. (2014). Una red neuronal convolucional para modelar oraciones. preimpresión arXiv arXiv: 1404.2188.

Kenter, T., Borisov, A. y De Rijke, M. (2016). Arco siamés: optimización de incrustaciones de palabras para representaciones de oracionespreimpresión arXiv arXiv: 1606.04640.

Kim, Yoon. "Redes neuronales convolucionales para la clasificación de oraciones". preimpresión arXiv arXiv: 1408.5882 (2014).

Kiros, R., Zhu, Y., Salakhutdinov, RR, Zemel, R., Urtasun, R., Torralba, A. y Fidler, S. (2015). Vectores de salto de pensamiento. En Avances en los sistemas de procesamiento de información neuronal. (págs. 3294–3302).

Kusner, M., Sun, Y., Kolkin, N. y Weinberger, K. (2015, junio). Desde incrustaciones de palabras hasta distancias documentadas. En Conferencia internacional sobre aprendizaje automático (págs. 957–966).

Lau, JH y Baldwin, T. (2016). Una evaluación empírica de doc2vec con información práctica sobre la generación de incrustación de documentospreimpresión arXiv arXiv: 1607.05368. [código]

Le, Q. y Mikolov, T. (2014, enero). Representaciones distribuidas de oraciones y documentos.. En Conferencia internacional sobre aprendizaje automático (págs. 1188–1196).

Lee, T. y Park, Y. (2018). CONCURSO DE SENTENCIA NO SUPERVISADA MEDIANTE EL CONTEXTO BASADO EN LA ESTRUCTURA DEL DOCUMENTO.

Logeswaran, L. y Lee, H. (2018). Un marco eficiente para aprender representaciones de oraciones. preimpresión arXiv arXiv: 1803.02893.

Li, B., Liu, T., Du, X., Zhang, D. y Zhao, Z. (2015). Aprendizaje de incrustaciones de documentos mediante la predicción de n-gramos para la clasificación de sentimientos de críticas de películas largaspreimpresión arXiv arXiv: 1512.08183.

Liu, Y. y Lapata, M. (2018). Aprendizaje de representaciones de texto estructurado. Transactions of the Association for Computational Linguistics, 6, 63–75.

Mikolov, T., Chen, K., Corrado, G. y Dean, J. (2013). Estimación eficiente de representaciones de palabras en el espacio vectorial.. preimpresión arXiv arXiv: 1301.3781.

Mikolov, T., Sutskever, I., Chen, K., Corrado, GS y Dean, J. (2013). Representaciones distribuidas de palabras y frases y su composición.. En Avances en los sistemas de procesamiento de información neuronal. (págs. 3111–3119).

Nicosia, M. y Moschitti, A. (2017, agosto). Aprendizaje de incrustaciones contextuales para similitud semántica estructural utilizando información categórica. En Actas de la 21ª Conferencia sobre aprendizaje computacional del lenguaje natural (CoNLL 2017)(págs. 260–270).

Pagliardini, M., Gupta, P. y Jaggi, M. (2017). Aprendizaje no supervisado de incrustaciones de oraciones utilizando características de n-gramas compositivaspreimpresión arXiv arXiv: 1703.02507.

Pennington, J., Socher, R. y Manning, C. (2014, octubre). Guante: vectores globales para la representación de palabras. En Actas de la conferencia de 2014 sobre métodos empíricos en el procesamiento del lenguaje natural (EMNLP) (págs. 1532–1543).

Radford, A., Narasimhan, K., Salimans, T. y Sutskever, I. (2018). Mejora de la comprensión del lenguaje con el aprendizaje no supervisado. Informe técnico, OpenAI.

Radford, A., Wu, J., Child, R., Luan, D., Amodei, D. y Sutskever, I. (2019). Los modelos de lenguaje son estudiantes multitarea sin supervisiónBlog de OpenAI1(8).

Reimers, N. y Gurevych, I. (2019). Sentence-BERT: incrustaciones de oraciones utilizando redes siamesas BERTpreimpresión arXiv arXiv: 1908.10084.

Rudolph, M., Ruiz, F., Athey, S. y Blei, D. (2017). Modelos de incrustación estructurados para datos agrupados. En Avances en los sistemas de procesamiento de información neuronal. (págs. 251–261).

Salton, G. y Buckley, C. (1988). Enfoques de ponderación de términos en la recuperación automática de textoTratamiento y gestión de información24(5), 513-523.

Sinoara, RA, Camacho-Collados, J., Rossi, RG, Navigli, R. y Rezende, SO (2019). Incorporaciones de documentos mejoradas para la clasificación de textos.Sistemas Basados ​​en Conocimiento163, 955-971.

Socher, R., Perelygin, A., Wu, J., Chuang, J., Manning, CD, Ng, A. y Potts, C. (2013, octubre). Modelos profundos recursivos para la composicidad semántica sobre un banco de árboles de sentimientos. En Actas de la conferencia de 2013 sobre métodos empíricos en el procesamiento del lenguaje natural. (págs. 1631–1642).

Subramanian, S., Trischler, A., Bengio, Y. y Pal, CJ (2018). Aprendizaje de representaciones de oraciones distribuidas de propósito general a través del aprendizaje multitarea a gran escalapreimpresión arXiv arXiv: 1804.00079.

Sutskever, I., Vinyals, O. y Le, QV (2014). Secuencia para secuenciar el aprendizaje con redes neuronales. En Avances en los sistemas de procesamiento de información neuronal. (págs. 3104–3112).

Tang, S., Jin, H., Fang, C., Wang, Z. y de Sa, VR (2017). Repensar el pensamiento omitido: un enfoque basado en el vecindariopreimpresión arXiv arXiv: 1706.03146.

Tang, S., Jin, H., Fang, C., Wang, Z. y de Sa, VR (2017). Recortar y mejorar vectores de pensamiento omitidopreimpresión arXiv arXiv: 1706.03148.

Thongtan, T. y Phienthrakul, T. (julio de 2019). Clasificación de sentimientos mediante incrustaciones de documentos entrenadas con Cosine Similarity. En Actas de la 57ª Conferencia de la Asociación de Lingüística Computacional: Taller de Investigación de Estudiantes (págs. 407–414).

Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, AN,… y Polosukhin, I. (2017). La atención es todo lo que necesitasEn avances en sistemas de procesamiento de información neuronal (págs. 5998–6008).

Wieting, J., Bansal, M., Gimpel, K. y Livescu, K. (2015). Hacia la incorporación de oraciones parafrásticas universales. preimpresión arXiv arXiv: 1511.08198.

Wieting, J. y Gimpel, K. (2017). Revisando redes recurrentes para incrustaciones de oraciones parafrásticas. preimpresión arXiv arXiv: 1705.00364.

Wu, L., Yen, IEH, Xu, F., Ravikumar, P. y Witbrock, M. (2018). D2ke: desde la distancia hasta el núcleo y la incrustaciónpreimpresión arXiv arXiv: 1802.04956.

Wu, L., Yen, IE, Xu, K., Xu, F., Balakrishnan, A., Chen, PY,… y Witbrock, MJ (2018). Incrustación de Word Mover: de Word2Vec a la incrustación de documentospreimpresión arXiv arXiv: 1811.01713.

Yu, J. y Jiang, J. (noviembre de 2016). Aprendizaje de incrustaciones de oraciones con tareas auxiliares para la clasificación de sentimientos entre dominios. En Actas de la conferencia de 2016 sobre métodos empíricos en el procesamiento del lenguaje natural. (págs. 236–246).

Zhang, Y., Chen, Q., Yang, Z., Lin, H. y Lu, Z. (2019). BioWordVec, mejora la inserción de palabras biomédicas con información de subpalabras y MeSH. Datos cientificos6(1), 52.

Zhao, H., Lu, Z. y Poupart, P. (junio de 2015). Modelo de oración jerárquica autoadaptativa. En Vigésima Cuarta Conferencia Internacional Conjunta sobre Inteligencia Artificial.

Este artículo se publicó originalmente el Hacia la ciencia de datos y re-publicado a TOPBOTS con permiso del autor.

¿Disfrutas este artículo? Regístrese para obtener más actualizaciones de AI y PNL.

Le informaremos cuando publiquemos una educación técnica más profunda.

Fuente: https://www.topbots.com/document-embedding-techniques/?utm_source=rss&utm_medium=rss&utm_campaign=document-embedding-techniques

punto_img

Información más reciente

punto_img