Una revisión de algoritmos de clasificación de textos basados en redes neuronales (actualizaciones continuas)
Este artículo presenta un modelo de vector de palabras, que no es un modelo de clasificación de texto, pero se puede decir que es la base de fasttext. Así que menciónelo brevemente.
El autor cree que cbow, skipgram y la mayoría de los modelos de vectores de palabras no consideran el polimorfismo de una palabra, sino que simplemente consideran las múltiples formas de una palabra como palabras independientes. Por ejemplo, las diferentes formas de like son like, like, like, like, like, like. Los significados de estas palabras son en realidad los mismos, pero el modelo cbow/skipgram considera que estas palabras son independientes y no considera su diversidad morfológica. .
Con este fin, el autor propuso un modelo de vector de palabras de n-gramas que puede utilizar eficazmente información a nivel de caracteres de palabras e implementó el modelo en modo skipgram. Por ejemplo, el n-grama de la palabra donde se expresa como
En términos de pérdida, este artículo adopta la estrategia de muestreo negativo + regresión logística binaria. Es decir, se predice que cada palabra objetivo será positiva y negativa.
Este artículo propone un modelo de clasificación de texto basado en redes neuronales, que se basa en cbow y es muy similar a cbow.
Al igual que CBOW, el modelo fastText tiene solo tres capas: capa de entrada, capa oculta y capa de salida (Softmax jerárquica). La entrada es una cantidad de palabras representadas por vectores y la salida es un objetivo específico. La capa oculta es la superposición y el promedio de múltiples vectores de palabras. La diferencia es que la entrada de CBOW es el contexto de la palabra de destino, mientras que la entrada de fastText es la representación incrustada de varias palabras y sus características de n-gramas, que se utilizan para representar un solo documento. Las palabras de entrada de CBOW están codificadas por onehot y la función de entrada de fastText está incrustada. La salida de CBOW es el vocabulario de destino y la salida de fastText es la etiqueta de categoría correspondiente al documento. La implementación de la capa de salida también utiliza softmax jerárquico. Por supuesto, si lo implementa usted mismo, puede usar softmax directamente para tareas con una pequeña cantidad de categorías.
Finalmente, publique una versión simplificada del texto rápido del modelo Keras.
Basado en la representación vectorial de palabras, se propone utilizar una red neuronal convolucional para clasificar texto. El algoritmo se muestra en la figura anterior:
En este artículo, el autor probó una variedad de modos de vector de palabras diferentes:
En el artículo anterior, la entrada de la red CNN era generalmente pre-entrenados Buenos vectores de palabras, pero en este artículo, el autor propone un método modelo que combina directamente el entrenamiento de incrustación con tareas de clasificación y puede extraer / retener de manera efectiva información del orden de las palabras, es decir, entrenar efectivamente n-gramas, que también se pueden entendido como un método de incrustación de CNN.
Además, otro problema es el cambio de la longitud de la secuencia de entrada (¿resuelto mediante relleno en el artículo anterior textCNN?). El autor de este artículo propone utilizar una capa de agrupación dinámicamente variable para resolver este problema. para que la capa convolucional El tamaño de salida sea el mismo. De hecho, la agrupación de variables es similar a la agrupación de pirámide espacial en el reconocimiento de imágenes.
Este artículo tiene la sensación de combinar fastText y TextCNN, combinar tareas de clasificación e incrustación de n-gramas para capacitación e incrustación a través de CNN.
Clasificación de texto mediante incrustación de regiones》
En este artículo, el autor propone una incrustación de televisión (es decir, incrustación de dos vistas), que también pertenece a la incrustación de regiones (también puede entenderse como incrustación de ngramas). Este enfoque es similar a la representación de Bow-CNN anterior. Utilice un arco (bolsa de palabras) para representar palabras y frases en un área y luego prediga las áreas antes y después (palabras o frases en los vecindarios izquierdo y derecho), es decir, el área de entrada es vista1 y el área de destino es vista2 . La incrustación de TV se entrena por separado y se combina con la incrustación en CNN cuando se usa (¿para formar múltiples canales?). El autor cree que los vectores de incrustación preentrenados por el método word2vec son universales, y la incrustación de TV obtenida al entrenar el conjunto de datos de una tarea específica tiene cierta información relacionada con la tarea, lo que es más propicio para mejorar el efecto de nuestro modelo. .
No entiendo muy bien este artículo, tal vez mi inglés sea demasiado pobre. No hay ningún diagrama de red en el artículo del autor que sea claro de un vistazo, como el diagrama de textCNN, que es muy claro de un vistazo. Sólo echa un vistazo y sabrás cómo hacerlo.
Se propone un modelo de clasificación de textos basado en LSTM, que utiliza aprendizaje supervisado y preentrenamiento semisupervisado. El autor del artículo es el mismo que el anterior, por lo que se puede decir que muchas de las técnicas utilizadas son las mismas que las anteriores. Hablemos brevemente sobre algunas ideas sobre este artículo.
El autor cree que el método existente de usar LSTM directamente como modelo de clasificación de texto y usar directamente el último resultado de LSTM como un clasificador completamente conectado posterior enfrenta dos problemas: (1) Este método generalmente integra la incrustación de Word. (Es decir, la entrada de onehot pasa a través de una capa de incrustación y luego ingresa a LSTM), pero el entrenamiento de incrustación es inestable y difícil de entrenar (2) Es inexacto utilizar directamente la última salida de LSTM para representar el documento completo; En términos generales, las palabras detrás de la entrada de LSTM tendrán un gran peso en el resultado final, pero esto no siempre es cierto para la representación de artículos. Por lo tanto, el autor mejoró estos dos puntos:
De hecho, este artículo puede considerarse como la fusión del entrenamiento semisupervisado de incorporación de TV anterior del autor y RCNN. Hay una operación que es tan feroz como una. tigre, y puede ser 0-5 a primera vista (porque los resultados experimentales del autor en realidad no son mucho en comparación con la CNN general).
El autor de este artículo es también el autor de los dos primeros artículos que utilizan CNN para la clasificación de texto. Por lo tanto, este artículo combina algunos de los métodos propuestos en los dos artículos anteriores utilizando redes neuronales convolucionales profundas. Los detalles específicos incluyen:
Para obtener detalles más detallados sobre DPCNN, consulte el modelo de clasificación de texto profundo a nivel de palabra de DPCNN.
Propuso un modelo de clasificación de texto basado en la atención CNN+. El autor cree que la mayoría de los modelos de clasificación de texto basados en CNN existentes utilizan núcleos de convolución de tamaño fijo, por lo que la representación aprendida también es una representación gramática de N-gramas fija, y esta N está relacionada con el tamaño del filtro CNN. En la representación semántica de oraciones, las palabras ngram que juegan un papel importante en diferentes oraciones a menudo son diferentes, es decir, cambian. Por lo tanto, es muy importante que el modelo seleccione de forma adaptativa el mejor n-grama para cada oración para mejorar la capacidad de representación semántica del modelo. Con base en esta idea, este artículo propone un modelo adaptativo que selecciona diferentes representaciones de n-gramas.
El modelo de este artículo hace referencia a DenseNet en CV en la estructura del tema y extrae una rica representación de características gramaticales de n-gramas a través de conexiones densas en DenseNet. Por ejemplo, no solo podemos aprender f (x1, x2, x3), sino también aprender f (x1 (x2, x3)), que es una característica más rica y de múltiples niveles. La estructura de la red incluye principalmente tres partes: la red principal DenseCNN, el módulo de atención y la red final de clasificación de capas completamente conectada. La siguiente es una breve descripción de estas tres partes:
Este artículo utiliza conexión densa + atención para obtener automáticamente las características de n-gramas que son más importantes para la semántica del texto, y el efecto es muy bueno. Sin embargo, la desventaja es que esta red es más adecuada para textos breves. En este artículo, el texto de entrada está rellenado y la longitud máxima es 50, 100 para diferentes conjuntos de datos, pero para texto largo, esto obviamente no es suficiente. Por lo tanto, para textos más largos, es mejor tomar prestado Han para no limitar la longitud de entrada.
Se propone un método de clasificación de texto que combina una red neuronal recurrente (RNN) y una red neuronal convolucional. Su estructura se muestra en la figura anterior y la red se puede dividir en tres partes:
Aunque es una combinación de RNN y CNN, en realidad solo usa agrupación en CNN, lo cual es un pequeño truco. También se mencionó la razón por la que RCNN es mejor que CNN, es decir, por qué RCNN puede capturar información contextual mejor que CNN: CNN utiliza una ventana de tamaño fijo (es decir, el tamaño del kernel) para extraer información contextual, que en realidad es un n-grama. . Por lo tanto, el rendimiento de CNN se ve muy afectado por el tamaño de la ventana. Si es demasiado pequeño, se perderá información de largo alcance. Si es demasiado grande, provocará escasez y aumentará la cantidad de cálculo.
En muchas tareas de procesamiento del lenguaje natural, un problema muy destacado es la falta de datos de entrenamiento y la dificultad de etiquetar. Con este fin, este artículo propone un marco de modelo RNN multitarea, que utiliza múltiples conjuntos de datos de tareas diferentes para entrenar los parámetros del mismo modelo y realiza la función de expansión del conjunto de datos.
El autor de este artículo propone tres modelos, como se muestra en la figura anterior:
Los métodos de entrenamiento de los tres modos son los mismos:
Este artículo propone un modelo jerárquico de atención LSTM +. El autor cree que aunque un artículo consta de varias frases, algunas de ellas realmente pueden jugar un papel clave, por lo que se aplica un mecanismo de atención a cada frase para que las frases que más aportan a la semántica del artículo ocupen un mayor peso. De manera similar, hay muchas palabras que componen una oración, pero solo unas pocas pueden desempeñar un papel importante, por lo que utilizar el mecanismo de atención para hacer que las palabras importantes desempeñen un papel más importante es la idea central de este artículo. Toda la red se puede dividir en tres capas, dos capas LSTM se utilizan para la codificación de palabras y oraciones respectivamente, y la capa superior es una capa de clasificación completamente conectada. Si agrega dos capas de atención, puede pensar en la red como cinco capas. Hablemos brevemente sobre la estructura de la red de cinco capas:
En general, este artículo parece muy interesante y está en línea con el hábito de la gente de leer artículos. Cuando escribimos artículos, también tenemos palabras y oraciones centrales. Sin embargo, se desconoce si esta estructura jerárquica conducirá a una velocidad de entrenamiento lenta o a un efecto de entrenamiento deficiente. Finalmente, el artículo también propone ordenar primero los artículos por longitud e ingresarlos en lotes de longitud similar, lo que acelera el entrenamiento 3 veces.
Se propone un método de clasificación de texto basado en redes neuronales gráficas. La idea principal de este método es colocar todos los artículos y su vocabulario en una red de gráficos. Hay dos tipos de nodos en la red de gráficos: nodos de texto y nodos de artículo. Entre ellos, el peso del borde que conecta el nodo de palabras y el nodo de artículo está representado por TF-IDF, y el peso del borde entre palabras está representado por Point Mutual Information (PMI). La información mutua puntual es muy similar al método de cálculo de probabilidad condicional en los modelos de lenguaje tradicionales. PMI utiliza el método de ventana deslizante y las probabilidades condicionales se cuentan directamente en todos los corpus. Puede considerarse como una ventana grande, y luego es lo mismo que PMI.
a representa la matriz de adyacencia de la red de gráficos, de la siguiente manera:
GCN también puede contener múltiples capas ocultas y el método de cálculo de cada capa es el siguiente:
donde a ' es la matriz de adyacencia simétrica normalizada, w0 ∈ r (m× k) es la matriz de peso y ρ es la función de activación, como ReLU ρ(x) = max(0, x). Como se mencionó anteriormente, la información de vecindad de alto orden se puede fusionar apilando múltiples capas de GCN:
donde j representa el número de capas.
La función de pérdida se define como el error de entropía cruzada en todos los documentos etiquetados:
Text GCN funciona bien por dos razones:
Pero también tiene algunas Desventajas:
En general, la idea del artículo es bastante interesante y el efecto no es malo. Cuando vea GCN por primera vez, puede que todavía le resulte un poco difícil de entender. Puede consultar la siguiente información para futuras investigaciones:
Algoritmo de clasificación de texto basado en una red convolucional de gráficos
¿Cómo entender la red de gráficos involuntarios (GCN)?