¿Cuáles son las mejores técnicas para crear vectores de oraciones para el procesamiento del lenguaje natural?

¡Pregunta de mil millones de dólares!

Comencemos con los crudos y pasemos gradualmente a las diferentes técnicas disponibles. Diferente porque la investigación en este campo es rápida y cuando termine de escribir esta respuesta, podría tropezar con un nuevo enfoque. ¡Le dejaré su inteligencia y requisitos para elegir el mejor!

Codificación al calor

La forma más ingenua de formar un vector de oración sería una representación codificada en caliente binaria en la que cada oración se convertiría en un vector binario dimensional fijo con cada índice se refiere a una de las palabras en el corpus y el valor del índice igual a 1 corresponde a la presencia de una palabra particular y 0 denota su ausencia.

Representación de bolsa de palabras

La diferencia de esta representación con la codificación de un solo punto es que no solo dice si una palabra está presente o no en una oración, sino que menciona cuántas veces esa palabra está presente en la oración en consideración.

Representación Tf-Idf

La siguiente representación viene con el requisito de segregar palabras comunes en la oración (por ejemplo, ‘the’, ‘.’, ‘An’, etc.). Entonces, lo que hace la representación tf-idf es que también tiene en cuenta la frecuencia de la palabra en otras oraciones (frecuencia inversa) junto con su frecuencia en la oración actual (frecuencia de término). Por lo tanto, esta representación tiende a asignar mayor importancia a las palabras significativas que descartan palabras comunes.

Estas tres representaciones eran formas intercambiables más útiles para vectorizar las oraciones solo hasta que el concepto de espacio vectorial (sí, incrustación de palabras y aprendizaje profundo) entró y barrió el suelo.

¿Por qué necesitamos mejores representaciones?

Las representaciones tradicionales de oraciones tienen dos defectos simples:

  1. La dimensión del vector depende de la cantidad de tokens únicos en el corpus general y, por lo tanto, varía de unos pocos cientos a pocos miles de miles para conjuntos de datos grandes.
  2. Las representaciones no dicen mucho sobre la relación semántica de cualquiera de las dos oraciones y se dejó a los clasificadores (SVM, árboles de decisión, etc.) para aprender un hiperplano / caminos discriminativos. Aún así no obtenemos las representaciones de oración deseadas que podemos comparar intuitivamente.

Entonces, aquí llega una era de familia de vectores de oraciones o incrustaciones de oraciones derivadas a través de técnicas no supervisadas o supervisadas a través de redes neuronales (o aprendizaje profundo).

Representación de Word2Vec

Este es un enfoque muy simple para representar oraciones en forma de un vector de longitud fija tomando el promedio (y / o min, max en cada eje) de todas las incrustaciones de palabras. Aunque parezca ingenuo, ofrece una línea de base decente.

Vector de párrafo o Doc2Vec: un enfoque no supervisado (bastante popular)

Para abordar la debilidad del modelo de bolsa de palabras, se propuso este método que utiliza una arquitectura neuronal para predecir las palabras en una oración dado el contexto utilizando una matriz de párrafo adicional. La etapa de inferencia da el vector de párrafo para nuevas oraciones.

Vector de salto de pensamiento: otro enfoque no supervisado (bastante popular)

Esta técnica aprende una representación de oración usando la arquitectura codificador-decodificador para predecir (decodificar) expresiones adyacentes dado un texto (codificar). El codificador de este modelo es lo que está buscando: representación de oraciones.

(Denoising) Autoencoders: otro enfoque sin supervisión

Este método corruga la señal original (vector de entrada) solo para reconstruirla y aprende los factores de variación en la oración usando el modelo de traducción. El codificador entrenado a su vez proporciona la representación requerida.

Incrustaciones de Parámetros: Un Enfoque Supervisado (Muy popular)

Este método utiliza incrustaciones de palabras pre-entrenadas y las ajusta en tareas de similitud para entrenar modelos de incrustación de oraciones.

¡Hay muchos más enfoques supervisados!

Vector de oración: una nota general sobre enfoque supervisado

Cualquier enfoque supervisado toma la representación de cada token o personaje como entrada y los conecta a través de alguna arquitectura para crear incrustación de oraciones. En el caso de múltiples oraciones en una sola pieza de texto, se pueden combinar jerárquicamente (para que la información presente en diferentes oraciones no se pierda) y comenzaría a obtener el vector de oración y luego en el siguiente vector de documento de capas. ¡Extrae lo que quieras!

La salida de la última capa: Estado oculto en el caso de la capa LSTM / GRU, o la salida agrupada máxima en el caso de la capa CNN es la incrustación de la oración que está buscando.

Y, por último, siga leyendo documentos sobre similitud semántica, detección de parálisis textual y enredos , seguiría descubriendo nuevos métodos que hasta ahora han superado los límites de los mejores resultados. Todo porque, tan buena sería la arquitectura, como lo serían las representaciones de oraciones robustas.

More Interesting

En los algoritmos de aprendizaje automático, ¿por qué la función sigmoidea se usa principalmente y no funciones como tanh (x)? En tanhx por ej. parece dividir el eje y de manera uniforme y aplanarse rápidamente a medida que x se aproxima a +/- infinito. El rango es: sigmoide [0-1] y tanh (x) [-1,1].

¿Qué necesitan saber los desarrolladores de aplicaciones sobre Siri para interactuar con él?

¿Cómo asociaría un producto con una categoría y subcategoría basada en la descripción de texto del producto?

¿Cómo analizan los algoritmos de aprendizaje automático y los algoritmos basados ​​en léxico las palabras coloquiales en un análisis de sentimientos de Twitter?

¿ISRO utiliza una inteligencia artificial?

¿Cómo se puede determinar si un elemento no es apto para ninguna clasificación de acuerdo con el algoritmo Naive Bayes?

¿Cuál es una buena manera de clasificar los documentos de texto contra un modelo de tema arbitrario?

¿Qué aprendizaje automático usa Quora para extraer la entrada del usuario?

¿Qué tipo de antecedentes estadísticos debo tener para tomar el curso de Reconocimiento de patrones? Cual estadística Qué libro es útil para mi preparación?

¿Qué es el aprendizaje activo?

¿Qué debo hacer cuando tengo una cita con las características NULL?

¿Por qué las redes neuronales artificiales son "cajas negras"?

¿Por qué el aprendizaje profundo no tiene un mínimo local?

¿Cuáles son los documentos más importantes en el aprendizaje activo?

¿Es malo tener una gran cantidad de funciones en Machine Learning?