¿Por qué se usan CNN para PNL?

Debemos tener cuidado cuando hablamos de modelado de PNL. En particular, los modelos de secuencia como los RNNs se aplicaron originalmente a la PNL como un modelo de lenguaje mejorado, lo que proporciona probabilidades de un token dado su contexto. Los RNN son adecuados para esto, por lo que mantenemos una noción de estado de contexto a medida que abordamos cada nuevo token. Puede ver cómo esto se generalizaría a otros modelos a nivel de token, como parte del etiquetado de voz.

Ahora, cuando adaptamos estos métodos para modelar cantidades individuales para una oración o documento completo, encontrará que las palabras hacia el final de la secuencia generalmente tienen un peso desproporcionadamente alto en cómo influyen en el modelo. Las CNN no tienen este problema.

Parte de la intuición detrás de las CNN para el modelado de oraciones / documentos es que se puede construir una estructura compositiva, que inicialmente representa una pequeña localidad y se combina con estructuras sintácticas más grandes, similares a los análisis gramaticales. Si bien la “correpondencia” entre el análisis gramatical (específicamente, la gramática de la circunscripción) es un poco complicada, se basa en la base de que las CNN generalmente pueden transmitir información “local” a estructuras más grandes y finalmente a un estado global.

Para ilustrar más el punto hecho por otras respuestas, puede consultar este documento: http://www.aclweb.org/anthology/

Incluye los resultados de las pruebas y el gráfico a continuación, un buen resumen de la configuración (crédito a los autores). Debe considerar la configuración completa de CNN, compartir + agrupación, no solo el núcleo.

Si tiene más de una hora sobre el tema, también puede ver la conferencia n. ° 13 del curso Stanford “PNL con aprendizaje profundo” (Chris Manning, Richard Socher). # 13 está completamente en CNN para PNL. Una motivación está en las primeras diapositivas. La versión pública está aquí: Conferencia 13: Redes neuronales convolucionales

El texto también tiene correlaciones espaciales localizadas. Las palabras que están una al lado de la otra, llevan alguna señal sobre su vecino. Entonces, si ve la palabra “Hillary”, sabe que la siguiente palabra tiene muchas posibilidades de ser “Clinton”. Del mismo modo, se podría argumentar que la unidad semántica en el texto son frases.

Además, hablando gramaticalmente, es probable que un adjetivo sea seguido por otro adjetivo o un sustantivo, un artículo también puede ser seguido por un sustantivo. Y del mismo modo para todas las otras etiquetas POS.

Entonces, ¿por qué querría usar CNN para problemas de PNL? Bueno, para modelar este tipo de relaciones, y también porque son mucho más rápidas y fáciles de entrenar que las LSTM. Especialmente si estás haciendo problemas de clasificación, diría que las CNN definitivamente valen la pena, especialmente si buscas velocidad. Como punto de partida, le sugiero que eche un vistazo a la arquitectura de Denny Britz, donde pasa convoluciones sobre las incrustaciones de word2vec.

dennybritz / cnn-texto-clasificación-tf

Una gran cantidad de aprendizaje profundo no necesariamente se entiende bien, por lo que dudo que tengamos una respuesta definitiva a su pregunta. Sin embargo, la premisa de su pregunta parece ser incorrecta. El texto también muestra información y localidad espacial. Por ejemplo, “el gato perezoso dormía a través del reloj del perro trabajador”, “gato” claramente tiene una relación semántica con palabras cercanas, como “perezoso”.

Los ConvNets también parecen aprender implícitamente alguna forma de mecanismo de atención, lo que explicaría en parte algunos de los éxitos recientes en la aplicación de ConvNets al territorio de los RNN.

Además, asegúrese de revisar la publicación del blog de Denny Britz: Comprender las redes neuronales convolucionales para PNL ahora está muy desactualizado, pero aún puede servir como una introducción útil.

También me molesta, pero debes tener en cuenta que representar frases con un promedio de vectores de palabras es lo último en tecnología. RNN y CNN deben estar usándolo en cierta medida y RNN podría no aprender la compleja estructura que queremos que aprenda.
RNN y CNN pueden aprender a promediar incrustaciones de palabras. Pero CNN puede aprender a usar incrustaciones de palabras bigram o trigram y está predispuesto a hacerlo. Y sabemos que la clasificación de tf-idf bigram funciona muy bien, por lo que CNN puede aprovechar dos enfoques poco profundos pero eficientes: agrupación de bigrams e incrustaciones

Por otro lado, creo que CNN es interesante por el momento, pero RNN tiene mucho más potencial para el texto. Las CNN actuales tienen limitaciones teóricas en la comprensión de oraciones.

Una vez usé CNN en la clasificación de sentimientos y obtuve resultados bastante buenos y estables incluso en comparación con RNN. Es muy similar en visión artificial cuando se usa CNN en PNL. Necesitamos matriz de incrustación de palabras y realizar convolución en la matriz. Creo que CNN también puede capturar una breve correlación en las oraciones y es por eso que puede usarse para PNL. Facebook ha publicado un artículo sobre el uso de CNN en el modelado de idiomas, que es fundamental en la PNL. Puede hacer referencia al siguiente enlace.

https://www.google.com/url?sa=t&…

Uno de los casos de uso es para el nivel de caracteres cnn, que ejecuta una convolución en los caracteres para extraer características de las oraciones.

[1509.01626] Redes convolucionales a nivel de caracteres para la clasificación de texto

More Interesting

Si pronostico grupos en un conjunto de trenes completo y los uso como características categóricas y realizo CV, ¿sería una fuga?

¿Qué campo es el mejor, big data o machine learning?

¿Qué significa la siguiente declaración: las redes neuronales son generalmente paramétricas y optimizadas para producir una estimación puntual?

¿Por qué decimos que la máquina de vectores de soporte y muchas otras técnicas de aprendizaje automático tienen un supuesto subyacente de iid?

¿Cómo funciona la detección de rostros?

Cómo usar el procesamiento del lenguaje natural (PNL) para resumir un documento en una serie de ideas principales

¿Existe algún conjunto de datos disponible públicamente para la clasificación étnica / nacionalidad de los nombres humanos?

Cómo usar un árbol de decisión para construir datos sintéticamente

¿Por qué una red neuronal no es propensa al sobreajuste a pesar de tener tantos parámetros?

¿Es esencial un Msc / PHD en Machine Learning para comenzar una carrera o hacer investigación? ¿Algún consejo?

Cómo predecir una variable de salida a partir de entradas dadas si la variable de salida y la variable de entrada se muestrean en diferentes intervalos de tiempo

¿Cuál crees que es la razón detrás de la asociación de Microsoft y Amazon en la tecnología de red neuronal llamada 'Gluon'?

¿Cuáles son los mejores clasificadores de código abierto para detectar spam, basura y blasfemias en el contenido generado por el usuario, como los tweets?

¿Qué sitio web ofrece 'filtrado colaborativo como servicio'?

¿Ha habido alguna investigación sobre cómo las pérdidas de capacitación en la convergencia de los algoritmos de aprendizaje profundo varían con el tamaño de los datos que ingresan?