Data Science

Lista de recursos gratuitos para aprender el procesamiento del lenguaje natural

Ankit Singh
August 26, 2018
mins read
Ready to get Started?
request A Demo

El procesamiento del lenguaje natural (PNL) es la capacidad de un sistema informático para comprender el lenguaje humano. El procesamiento del lenguaje natural es un subconjunto de la inteligencia artificial (IA). Hay varios recursos disponibles en línea que pueden ayudarlo a desarrollar su experiencia en el procesamiento del lenguaje natural.

En esta publicación de blog, enumeramos los recursos para los estudiantes de nivel principiante e intermedio.

Recursos de lenguaje natural para principiantes

natural language processing

Un principiante puede seguir dos métodos, es decir, el aprendizaje automático tradicional y el aprendizaje profundo para comenzar con el procesamiento del lenguaje natural. Estos dos métodos son muy diferentes entre sí. Para los curiosos, aquí está la diferencia entre estos dos.

Aprendizaje automático tradicional

Los algoritmos tradicionales de aprendizaje automático son complejos y, a menudo, no son fáciles de entender. Estos son algunos recursos que le ayudarán a empezar a aprender PNL mediante el aprendizaje automático:

  • Speech and Language Processing de Jurafsky y Martin es la biblia aclamada popularmente sobre el procesamiento tradicional del lenguaje natural. Puedes acceder a él aquí.
  • Para un enfoque más práctico, puede probar Kit de herramientas de lenguaje natural.

Aprendizaje profundo

El aprendizaje profundo es un subcampo del aprendizaje automático y es mucho mejor que el aprendizaje automático tradicional debido a la introducción de las redes neuronales artificiales. Los principiantes pueden empezar con los siguientes recursos:

  • CS 224n: Este es el mejor curso para empezar a usar el aprendizaje profundo para el procesamiento del lenguaje natural. Este curso está organizado por Stanford y se puede acceder a él aquí.
  • Los libros gratuitos y de pago de Yoav Golberg son excelentes recursos para comenzar con el aprendizaje profundo en el procesamiento del lenguaje natural. Se puede acceder a la versión gratuita aquí y la versión completa está disponible aquí.
  • Se puede encontrar una cobertura muy completa de todos los algoritmos en las notas de Jacob Einsenstein de la clase de PNL de GATECH, que trata de casi todos los métodos de PNL. Puedes acceder a las notas en GitHub aquí.

Recursos de lenguaje natural para profesionales

natural language processing

Si es un científico de datos en ejercicio, necesitará tres tipos de recursos:

  1. Guías de inicio rápido//Conozca lo que está de moda y lo nuevo
  2. Encuestas de métodos para problemas específicos
  3. Blogs para seguir con regularidad

Guías de inicio rápido//Conozca lo que está de moda y lo nuevo

  • Se puede empezar con la encuesta Deep Learning for Natural Language Processing de Otter et al. Puedes acceder a ella aquí.
  • Una encuesta de Young et al trata de resumir todo lo que está de moda en el procesamiento del lenguaje natural basado en el aprendizaje profundo, y se recomienda a los profesionales que comiencen con el procesamiento del lenguaje natural. Puede acceder al documento aquí.
  • Puede consultar esto artículo para comprender los conceptos básicos de los LSTM y RNN, que se utilizan mucho en el procesamiento del lenguaje natural. Otra encuesta mucho más citada (y de gran reputación) sobre los LSTM es aquí. Este es un artículo interesante para entender cómo funcionan los estados ocultos de los RNN. Es una lectura agradable y se puede acceder a él aquí. Siempre recomiendo las siguientes dos publicaciones de blog a cualquiera que no las haya leído:
  1. http://colah.github.io/posts/2015-08-Understanding-LSTMs
  2. https://distill.pub/2016/augmented-rnns/
  • Las redes neuronales convolucionales (convetos) se pueden utilizar para dar sentido al lenguaje natural. Puede visualizar cómo funcionan los Convnets en la PNL leyendo este artículo aquí.
  • La forma en que los conventos y los RNN se comparan entre sí se ha destacado en esto artículo de Bai et al.. Todo su código pytorch (he detenido o reducido, en gran medida, la lectura de código de aprendizaje profundo no escrito en pytorch;)) es de código abierto aquí y te da una idea de Godzilla contra King Kong o Ford Mustang contra Chevy Camaro (si te gustan (ed) ese tipo de cosas). ¡Quién ganará! .

Encuestas de métodos para problemas específicos

Otro tipo de recursos que necesitan los profesionales son las respuestas a preguntas del tipo: «Tengo que entrenar un algoritmo para hacer X, ¿qué es lo más interesante (y de fácil acceso) que puedo aplicar?».

Esto es lo que necesitará para ello:

Clasificación de textos

¿Cuál es el primer problema que resuelven las personas? Clasificación de textos, en su mayoría. La clasificación del texto puede consistir en la categorización del texto en diferentes categorías o en la detección de sentimientos o emociones dentro del texto.

Me gustaría destacar una lectura sencilla sobre las diferentes encuestas de análisis de sentimiento que se describen en este ParallelDots blog. Si bien la encuesta es para tecnologías de análisis de opiniones, se puede extender a la mayoría de los problemas de clasificación de textos.

Nuestras encuestas (ParallelDots) son un poco menos técnicas y su objetivo es dirigirlo a recursos interesantes para comprender un concepto. Los documentos de encuesta de Arxiv que les señalo serán muy técnicos y necesitarán que lea otros artículos importantes para comprender un tema en profundidad. La forma que sugerimos es utilizar nuestros enlaces para familiarizarnos y divertirnos con un tema, pero luego asegurarnos de leer las guías completas que mencionamos. (Del Dr. Oakley curso habla de fragmentación, donde primero intentas obtener pequeños pedacitos aquí y allá antes de saltar hondo). Recuerda que es genial divertirse, pero a menos que comprendas las técnicas en detalle, será difícil aplicar los conceptos en una situación nueva.

Otra encuesta sobre algoritmos de análisis de sentimientos (realizada por personas de Linked University y la UIUC) es aquí.

La revolución del aprendizaje por transferencia ya ha llegado al aprendizaje profundo. Al igual que ocurre con las imágenes en las que un modelo basado en la clasificación de ImageNet se puede ajustar para cualquier tarea de clasificación, los modelos de PNL entrenados para modelar lenguajes en Wikipedia ahora pueden transferir el aprendizaje de la clasificación de textos a una cantidad de datos relativamente menor. Estos son dos artículos de OpenAI y Ruder y Howard que tratan sobre estas técnicas.

  1. https://arxiv.org/abs/1801.06146
  2. https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf.

Si está transfiriendo el aprendizaje de dos tareas diferentes (no está transfiriendo desde la tarea de modelado del lenguaje de Wikipedia), se mencionan los trucos para usar Convnets aquí.

En mi humilde opinión, estos enfoques adoptarán lentamente todos los demás métodos de clasificación (simple extrapolación de lo que ha sucedido en la visión). También publicamos nuestro trabajo en Clasificación Zero Shot Text que obtienen una buena precisión sin ningún tipo de formación en un conjunto de datos y están trabajando en su próxima generación. Hemos creado nuestra API de clasificación de texto personalizada, comúnmente llamada Clasificador personalizado, en la que puedes definir tus propias categorías. Puedes echarle un vistazo a la versión gratuita aquí.

Etiquetado de secuencias

El etiquetado de secuencias es una tarea que etiqueta palabras con diferentes atributos. Estas incluyen el etiquetado de partes de la oración, el reconocimiento de entidades nombradas, el etiquetado de palabras clave, etc.

Escribimos una divertida reseña de métodos para tareas como estas aquí.

Un recurso excelente para estos problemas es el artículo de investigación de COLING de este año, que brinda pautas óptimas para entrenar los algoritmos de etiquetado de secuencias. Puedes acceder a él aquí.

Traducción automática

  • Uno de los mayores avances de la PNL en los últimos días ha sido el descubrimiento de algoritmos que pueden traducir texto de un idioma a otro. El sistema de Google es un increíble LSTM de 16 capas (que no es necesario abandonarlo porque contiene muchísimos datos con los que aprender) y ofrece resultados de traducción de última generación.

Los expertos en medios exageraron el bombo publicitario con informes exagerados que afirmaban que «Facebook tuvo que cerrar la IA, que inventó su propio idioma». Estas son algunas de ellas.

  1. https://gadgets.ndtv.com/social-networking/news/facebook-shuts-ai-system-after-bots-create-own-language-1731309
  2. https://www.forbes.com/sites/tonybradley/2017/07/31/facebook-ai-creates-its-own-language-in-creepy-preview-of-our-potential-future/#1d1ca041292c
  • Para ver un tutorial extenso sobre traducción automática, consulte el artículo de investigación de Philip Koehn aquí. Una revisión específica sobre el uso del aprendizaje profundo para la traducción automática (que denominamos NMT o traducción automática neuronal) es aquí.

Un par de mis periódicos favoritos están aquí -

Respuesta a la pregunta

En mi humilde opinión, esta será la próxima «traducción automática». Hay muchos tipos diferentes de tareas de respuesta a preguntas. Puedes elegir entre diferentes opciones, seleccionar respuestas de un párrafo o de un gráfico de conocimientos y responder a las preguntas basándose en una imagen (lo que también se conoce como respuesta visual a las preguntas) y hay diferentes conjuntos de datos para conocer el método más avanzado.

  • Conjunto de datos SquAD es un conjunto de datos de respuesta a preguntas que evalúa la capacidad de un algoritmo para leer comprensiones y responder preguntas. Microsoft publicó un artículo a principios de este año en el que afirmaba que habían alcanzado una precisión similar a la humana para tarea. Otro algoritmo importante (que creo que es el más guay) es el de Allen AI BIDAF y sus mejoras.
  • Otro conjunto importante de algoritmos es la respuesta visual a preguntas, que responde a preguntas sobre imágenes. Teney y otros artículo El desafío de VQA 2017 es un excelente recurso para empezar. También puedes encontrar sus implementaciones en Github aquí.
  • La respuesta extractiva a preguntas en documentos grandes (como la forma en que Google Highlights responde a tus consultas en los primeros resultados) en la vida real se puede realizar mediante Transfer Learning (por lo tanto, con pocas anotaciones), como se muestra en este artículo de ETH aquí. Un muy buen artículo que critica la «comprensión» de los algoritmos de respuesta a preguntas es aquí. Debe leerlo si trabaja en este campo.

Paráfrasis, similitud de oraciones o inferencia

La tarea de comparar oraciones. Para ello, la PNL tiene tres tareas diferentes: la similitud de oraciones, la detección de paráfrasis y la inferencia del lenguaje natural (NLI), cada una de las cuales requiere más comprensión semántica que la anterior. MultinLI y su subconjunto Stanford NLI son los conjuntos de datos de referencia más conocidos para la NLI y últimamente se han convertido en el centro de la investigación. También hay MS Paraphrase Corpus y Quora Corpus para la detección de paráfrasis, y un conjunto de datos SemEval para STS (Semantic Text Similarity). Se puede encontrar una buena encuesta sobre modelos avanzados en este dominio aquí. La NLI aplicada en el ámbito clínico es muy importante. (Infórmese sobre los procedimientos médicos correctos, los efectos secundarios y cruzados de los medicamentos, etc.). Este tutorial de la NLI aplicada en el ámbito médico es una buena lectura si quieres aplicar la tecnología en un dominio específico.

Aquí hay una lista de mis artículos favoritos en este dominio

  • Inferencia del lenguaje natural sobre el espacio de interacción: destaca un enfoque muy inteligente para colocar una DenseNet (red neuronal convolucional en las representaciones de oraciones). ¡El hecho de que este fuera el resultado de un proyecto de pasantías lo hace aún más genial! ¡Puedes leer el artículo aquí.
  • Este artículo de investigación del grupo de Omar Levy muestra que incluso los algoritmos más simples pueden realizar la tarea. Esto se debe a que los algoritmos aún no aprenden a hacer «inferencias».
  • BimPM es un modelo genial para predecir paráfrasis y se puede acceder a él aquí.
  • También tenemos un nuevo trabajo para la detección de paráfrasis que aplica las redes de relaciones además de las representaciones de las oraciones y ha sido aceptado en la conferencia de la AINL de este año. Puedes leerlo aquí.

Otros campos

Estos son algunos de los documentos de encuesta más detallados para obtener información sobre la investigación para otras tareas que podría encontrar al crear un sistema de PNL.

  • Modelado del lenguaje (LM) - El modelado del lenguaje es la tarea de aprender una representación no supervisada de un idioma. Esto se hace prediciendo la (n+1) palabra de una oración dadas las N primeras palabras. Estos modelos tienen dos usos importantes en el mundo real: completar automáticamente y actuar como modelo base para el aprendizaje por transferencia para la clasificación de textos, como se mencionó anteriormente. Una encuesta detallada es aquí. Si está interesado en aprender cómo completar automáticamente los LSTM en teléfonos móviles o motores de búsqueda funcionan según el historial de búsqueda, aquí es un artículo genial que deberías leer.
  • Extracción de relaciones - La extracción de relaciones es la tarea de extraer las relaciones entre las entidades presentes en una oración. Una oración dada «A está relacionada como r con B», da como resultado el triplete (A, r, B). Un resumen de los trabajos de investigación en este campo es aquí. Aquí es un trabajo de investigación que me pareció muy interesante. Utiliza BidAFS para extraer relaciones desde cero (es decir, puede reconocer relaciones que ni siquiera ha sido entrenado para reconocer).
  • Sistemas de diálogo - Con el inicio de la revolución de los chatbots, los sistemas de diálogo están de moda. Muchas personas (incluidos nosotros) crean sistemas de diálogo como una combinación de modelos como la detección de intenciones, la detección de palabras clave, la respuesta a preguntas, etc., mientras que otros intentan modelarlos de principio a fin. Un estudio detallado sobre los modelos de sistemas de diálogo realizado por el equipo de JD.com es aquí. También me gustaría mencionar Parl.ai, un marco de Facebook AI para este propósito.
  • Resumen de texto - El resumen de texto se usa para obtener un texto condensado de un documento (párrafo/artículo de noticias, etc.). Hay dos maneras de hacerlo: resumiendo de forma extractiva y abstracta. Mientras que el resumen extractivo muestra las frases del artículo con el mayor contenido de información (y lo que ha estado disponible durante décadas), el resumen abstracto tiene como objetivo escribir un resumen tal como lo haría un humano. Esto muestra de Einstein AI incorporó el resumen abstracto a la investigación convencional. Hay un extenso estudio de técnicas aquí.
  • Generación de lenguaje natural (NLG) - La generación del lenguaje natural es la investigación en la que la computadora tiene como objetivo escribir como lo haría un humano. Podrían tratarse de historias, poesías, leyendas de imágenes, etc. De todas ellas, las investigaciones actuales han dado muy buenos resultados en el campo de los subtítulos de imágenes, ya que la combinación de los LSTM y el mecanismo de atención ha dado como resultado resultados utilizables en la vida real. Hay disponible un estudio de las técnicas aquí.

Blogs a seguir

Esta es una lista de blogs que recomendamos encarecidamente a cualquier persona interesada en mantenerse al tanto de las novedades en la investigación de la PNL.

Inteligencia artificial de Einstein - https://einstein.ai/research

Blog de IA de Google - https://ai.googleblog.com/

WildML - http://www.wildml.com/

DestillPub - https://distill.pub/ (distillpub es único, tanto el blog como la publicación)

Sebastián Ruder - http://ruder.io/

Si te ha gustado este artículo, debes seguir nuestro blog. Aquí creamos listas de recursos con bastante frecuencia.

¡Eso es todo amigos! Disfruta haciendo que las redes neuronales entiendan el lenguaje. También puedes probar las API de análisis de texto basadas en el procesamiento del lenguaje natural aquí.

También puede leer sobre los algoritmos de aprendizaje automático que debe conocer para convertirse en científico de datos aquí.

Esperamos que os haya gustado el artículo. Por favor Inscríbase para obtener una cuenta Komprehend gratuita para comenzar su viaje con la IA. También puedes ver demostraciones gratuitas de las API de IA de Komprehend aquí.

El procesamiento del lenguaje natural (PNL) es la capacidad de un sistema informático para comprender el lenguaje humano. El procesamiento del lenguaje natural es un subconjunto de la inteligencia artificial (IA). Hay varios recursos disponibles en línea que pueden ayudarlo a desarrollar su experiencia en el procesamiento del lenguaje natural.

En esta publicación de blog, enumeramos los recursos para los estudiantes de nivel principiante e intermedio.

Recursos de lenguaje natural para principiantes

natural language processing

Un principiante puede seguir dos métodos, es decir, el aprendizaje automático tradicional y el aprendizaje profundo para comenzar con el procesamiento del lenguaje natural. Estos dos métodos son muy diferentes entre sí. Para los curiosos, aquí está la diferencia entre estos dos.

Aprendizaje automático tradicional

Los algoritmos tradicionales de aprendizaje automático son complejos y, a menudo, no son fáciles de entender. Estos son algunos recursos que le ayudarán a empezar a aprender PNL mediante el aprendizaje automático:

  • Speech and Language Processing de Jurafsky y Martin es la biblia aclamada popularmente sobre el procesamiento tradicional del lenguaje natural. Puedes acceder a él aquí.
  • Para un enfoque más práctico, puede probar Kit de herramientas de lenguaje natural.

Aprendizaje profundo

El aprendizaje profundo es un subcampo del aprendizaje automático y es mucho mejor que el aprendizaje automático tradicional debido a la introducción de las redes neuronales artificiales. Los principiantes pueden empezar con los siguientes recursos:

  • CS 224n: Este es el mejor curso para empezar a usar el aprendizaje profundo para el procesamiento del lenguaje natural. Este curso está organizado por Stanford y se puede acceder a él aquí.
  • Los libros gratuitos y de pago de Yoav Golberg son excelentes recursos para comenzar con el aprendizaje profundo en el procesamiento del lenguaje natural. Se puede acceder a la versión gratuita aquí y la versión completa está disponible aquí.
  • Se puede encontrar una cobertura muy completa de todos los algoritmos en las notas de Jacob Einsenstein de la clase de PNL de GATECH, que trata de casi todos los métodos de PNL. Puedes acceder a las notas en GitHub aquí.

Recursos de lenguaje natural para profesionales

natural language processing

Si es un científico de datos en ejercicio, necesitará tres tipos de recursos:

  1. Guías de inicio rápido//Conozca lo que está de moda y lo nuevo
  2. Encuestas de métodos para problemas específicos
  3. Blogs para seguir con regularidad

Guías de inicio rápido//Conozca lo que está de moda y lo nuevo

  • Se puede empezar con la encuesta Deep Learning for Natural Language Processing de Otter et al. Puedes acceder a ella aquí.
  • Una encuesta de Young et al trata de resumir todo lo que está de moda en el procesamiento del lenguaje natural basado en el aprendizaje profundo, y se recomienda a los profesionales que comiencen con el procesamiento del lenguaje natural. Puede acceder al documento aquí.
  • Puede consultar esto artículo para comprender los conceptos básicos de los LSTM y RNN, que se utilizan mucho en el procesamiento del lenguaje natural. Otra encuesta mucho más citada (y de gran reputación) sobre los LSTM es aquí. Este es un artículo interesante para entender cómo funcionan los estados ocultos de los RNN. Es una lectura agradable y se puede acceder a él aquí. Siempre recomiendo las siguientes dos publicaciones de blog a cualquiera que no las haya leído:
  1. http://colah.github.io/posts/2015-08-Understanding-LSTMs
  2. https://distill.pub/2016/augmented-rnns/
  • Las redes neuronales convolucionales (convetos) se pueden utilizar para dar sentido al lenguaje natural. Puede visualizar cómo funcionan los Convnets en la PNL leyendo este artículo aquí.
  • La forma en que los conventos y los RNN se comparan entre sí se ha destacado en esto artículo de Bai et al.. Todo su código pytorch (he detenido o reducido, en gran medida, la lectura de código de aprendizaje profundo no escrito en pytorch;)) es de código abierto aquí y te da una idea de Godzilla contra King Kong o Ford Mustang contra Chevy Camaro (si te gustan (ed) ese tipo de cosas). ¡Quién ganará! .

Encuestas de métodos para problemas específicos

Otro tipo de recursos que necesitan los profesionales son las respuestas a preguntas del tipo: «Tengo que entrenar un algoritmo para hacer X, ¿qué es lo más interesante (y de fácil acceso) que puedo aplicar?».

Esto es lo que necesitará para ello:

Clasificación de textos

¿Cuál es el primer problema que resuelven las personas? Clasificación de textos, en su mayoría. La clasificación del texto puede consistir en la categorización del texto en diferentes categorías o en la detección de sentimientos o emociones dentro del texto.

Me gustaría destacar una lectura sencilla sobre las diferentes encuestas de análisis de sentimiento que se describen en este ParallelDots blog. Si bien la encuesta es para tecnologías de análisis de opiniones, se puede extender a la mayoría de los problemas de clasificación de textos.

Nuestras encuestas (ParallelDots) son un poco menos técnicas y su objetivo es dirigirlo a recursos interesantes para comprender un concepto. Los documentos de encuesta de Arxiv que les señalo serán muy técnicos y necesitarán que lea otros artículos importantes para comprender un tema en profundidad. La forma que sugerimos es utilizar nuestros enlaces para familiarizarnos y divertirnos con un tema, pero luego asegurarnos de leer las guías completas que mencionamos. (Del Dr. Oakley curso habla de fragmentación, donde primero intentas obtener pequeños pedacitos aquí y allá antes de saltar hondo). Recuerda que es genial divertirse, pero a menos que comprendas las técnicas en detalle, será difícil aplicar los conceptos en una situación nueva.

Otra encuesta sobre algoritmos de análisis de sentimientos (realizada por personas de Linked University y la UIUC) es aquí.

La revolución del aprendizaje por transferencia ya ha llegado al aprendizaje profundo. Al igual que ocurre con las imágenes en las que un modelo basado en la clasificación de ImageNet se puede ajustar para cualquier tarea de clasificación, los modelos de PNL entrenados para modelar lenguajes en Wikipedia ahora pueden transferir el aprendizaje de la clasificación de textos a una cantidad de datos relativamente menor. Estos son dos artículos de OpenAI y Ruder y Howard que tratan sobre estas técnicas.

  1. https://arxiv.org/abs/1801.06146
  2. https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf.

Si está transfiriendo el aprendizaje de dos tareas diferentes (no está transfiriendo desde la tarea de modelado del lenguaje de Wikipedia), se mencionan los trucos para usar Convnets aquí.

En mi humilde opinión, estos enfoques adoptarán lentamente todos los demás métodos de clasificación (simple extrapolación de lo que ha sucedido en la visión). También publicamos nuestro trabajo en Clasificación Zero Shot Text que obtienen una buena precisión sin ningún tipo de formación en un conjunto de datos y están trabajando en su próxima generación. Hemos creado nuestra API de clasificación de texto personalizada, comúnmente llamada Clasificador personalizado, en la que puedes definir tus propias categorías. Puedes echarle un vistazo a la versión gratuita aquí.

Etiquetado de secuencias

El etiquetado de secuencias es una tarea que etiqueta palabras con diferentes atributos. Estas incluyen el etiquetado de partes de la oración, el reconocimiento de entidades nombradas, el etiquetado de palabras clave, etc.

Escribimos una divertida reseña de métodos para tareas como estas aquí.

Un recurso excelente para estos problemas es el artículo de investigación de COLING de este año, que brinda pautas óptimas para entrenar los algoritmos de etiquetado de secuencias. Puedes acceder a él aquí.

Traducción automática

  • Uno de los mayores avances de la PNL en los últimos días ha sido el descubrimiento de algoritmos que pueden traducir texto de un idioma a otro. El sistema de Google es un increíble LSTM de 16 capas (que no es necesario abandonarlo porque contiene muchísimos datos con los que aprender) y ofrece resultados de traducción de última generación.

Los expertos en medios exageraron el bombo publicitario con informes exagerados que afirmaban que «Facebook tuvo que cerrar la IA, que inventó su propio idioma». Estas son algunas de ellas.

  1. https://gadgets.ndtv.com/social-networking/news/facebook-shuts-ai-system-after-bots-create-own-language-1731309
  2. https://www.forbes.com/sites/tonybradley/2017/07/31/facebook-ai-creates-its-own-language-in-creepy-preview-of-our-potential-future/#1d1ca041292c
  • Para ver un tutorial extenso sobre traducción automática, consulte el artículo de investigación de Philip Koehn aquí. Una revisión específica sobre el uso del aprendizaje profundo para la traducción automática (que denominamos NMT o traducción automática neuronal) es aquí.

Un par de mis periódicos favoritos están aquí -

Respuesta a la pregunta

En mi humilde opinión, esta será la próxima «traducción automática». Hay muchos tipos diferentes de tareas de respuesta a preguntas. Puedes elegir entre diferentes opciones, seleccionar respuestas de un párrafo o de un gráfico de conocimientos y responder a las preguntas basándose en una imagen (lo que también se conoce como respuesta visual a las preguntas) y hay diferentes conjuntos de datos para conocer el método más avanzado.

  • Conjunto de datos SquAD es un conjunto de datos de respuesta a preguntas que evalúa la capacidad de un algoritmo para leer comprensiones y responder preguntas. Microsoft publicó un artículo a principios de este año en el que afirmaba que habían alcanzado una precisión similar a la humana para tarea. Otro algoritmo importante (que creo que es el más guay) es el de Allen AI BIDAF y sus mejoras.
  • Otro conjunto importante de algoritmos es la respuesta visual a preguntas, que responde a preguntas sobre imágenes. Teney y otros artículo El desafío de VQA 2017 es un excelente recurso para empezar. También puedes encontrar sus implementaciones en Github aquí.
  • La respuesta extractiva a preguntas en documentos grandes (como la forma en que Google Highlights responde a tus consultas en los primeros resultados) en la vida real se puede realizar mediante Transfer Learning (por lo tanto, con pocas anotaciones), como se muestra en este artículo de ETH aquí. Un muy buen artículo que critica la «comprensión» de los algoritmos de respuesta a preguntas es aquí. Debe leerlo si trabaja en este campo.

Paráfrasis, similitud de oraciones o inferencia

La tarea de comparar oraciones. Para ello, la PNL tiene tres tareas diferentes: la similitud de oraciones, la detección de paráfrasis y la inferencia del lenguaje natural (NLI), cada una de las cuales requiere más comprensión semántica que la anterior. MultinLI y su subconjunto Stanford NLI son los conjuntos de datos de referencia más conocidos para la NLI y últimamente se han convertido en el centro de la investigación. También hay MS Paraphrase Corpus y Quora Corpus para la detección de paráfrasis, y un conjunto de datos SemEval para STS (Semantic Text Similarity). Se puede encontrar una buena encuesta sobre modelos avanzados en este dominio aquí. La NLI aplicada en el ámbito clínico es muy importante. (Infórmese sobre los procedimientos médicos correctos, los efectos secundarios y cruzados de los medicamentos, etc.). Este tutorial de la NLI aplicada en el ámbito médico es una buena lectura si quieres aplicar la tecnología en un dominio específico.

Aquí hay una lista de mis artículos favoritos en este dominio

  • Inferencia del lenguaje natural sobre el espacio de interacción: destaca un enfoque muy inteligente para colocar una DenseNet (red neuronal convolucional en las representaciones de oraciones). ¡El hecho de que este fuera el resultado de un proyecto de pasantías lo hace aún más genial! ¡Puedes leer el artículo aquí.
  • Este artículo de investigación del grupo de Omar Levy muestra que incluso los algoritmos más simples pueden realizar la tarea. Esto se debe a que los algoritmos aún no aprenden a hacer «inferencias».
  • BimPM es un modelo genial para predecir paráfrasis y se puede acceder a él aquí.
  • También tenemos un nuevo trabajo para la detección de paráfrasis que aplica las redes de relaciones además de las representaciones de las oraciones y ha sido aceptado en la conferencia de la AINL de este año. Puedes leerlo aquí.

Otros campos

Estos son algunos de los documentos de encuesta más detallados para obtener información sobre la investigación para otras tareas que podría encontrar al crear un sistema de PNL.

  • Modelado del lenguaje (LM) - El modelado del lenguaje es la tarea de aprender una representación no supervisada de un idioma. Esto se hace prediciendo la (n+1) palabra de una oración dadas las N primeras palabras. Estos modelos tienen dos usos importantes en el mundo real: completar automáticamente y actuar como modelo base para el aprendizaje por transferencia para la clasificación de textos, como se mencionó anteriormente. Una encuesta detallada es aquí. Si está interesado en aprender cómo completar automáticamente los LSTM en teléfonos móviles o motores de búsqueda funcionan según el historial de búsqueda, aquí es un artículo genial que deberías leer.
  • Extracción de relaciones - La extracción de relaciones es la tarea de extraer las relaciones entre las entidades presentes en una oración. Una oración dada «A está relacionada como r con B», da como resultado el triplete (A, r, B). Un resumen de los trabajos de investigación en este campo es aquí. Aquí es un trabajo de investigación que me pareció muy interesante. Utiliza BidAFS para extraer relaciones desde cero (es decir, puede reconocer relaciones que ni siquiera ha sido entrenado para reconocer).
  • Sistemas de diálogo - Con el inicio de la revolución de los chatbots, los sistemas de diálogo están de moda. Muchas personas (incluidos nosotros) crean sistemas de diálogo como una combinación de modelos como la detección de intenciones, la detección de palabras clave, la respuesta a preguntas, etc., mientras que otros intentan modelarlos de principio a fin. Un estudio detallado sobre los modelos de sistemas de diálogo realizado por el equipo de JD.com es aquí. También me gustaría mencionar Parl.ai, un marco de Facebook AI para este propósito.
  • Resumen de texto - El resumen de texto se usa para obtener un texto condensado de un documento (párrafo/artículo de noticias, etc.). Hay dos maneras de hacerlo: resumiendo de forma extractiva y abstracta. Mientras que el resumen extractivo muestra las frases del artículo con el mayor contenido de información (y lo que ha estado disponible durante décadas), el resumen abstracto tiene como objetivo escribir un resumen tal como lo haría un humano. Esto muestra de Einstein AI incorporó el resumen abstracto a la investigación convencional. Hay un extenso estudio de técnicas aquí.
  • Generación de lenguaje natural (NLG) - La generación del lenguaje natural es la investigación en la que la computadora tiene como objetivo escribir como lo haría un humano. Podrían tratarse de historias, poesías, leyendas de imágenes, etc. De todas ellas, las investigaciones actuales han dado muy buenos resultados en el campo de los subtítulos de imágenes, ya que la combinación de los LSTM y el mecanismo de atención ha dado como resultado resultados utilizables en la vida real. Hay disponible un estudio de las técnicas aquí.

Blogs a seguir

Esta es una lista de blogs que recomendamos encarecidamente a cualquier persona interesada en mantenerse al tanto de las novedades en la investigación de la PNL.

Inteligencia artificial de Einstein - https://einstein.ai/research

Blog de IA de Google - https://ai.googleblog.com/

WildML - http://www.wildml.com/

DestillPub - https://distill.pub/ (distillpub es único, tanto el blog como la publicación)

Sebastián Ruder - http://ruder.io/

Si te ha gustado este artículo, debes seguir nuestro blog. Aquí creamos listas de recursos con bastante frecuencia.

¡Eso es todo amigos! Disfruta haciendo que las redes neuronales entiendan el lenguaje. También puedes probar las API de análisis de texto basadas en el procesamiento del lenguaje natural aquí.

También puede leer sobre los algoritmos de aprendizaje automático que debe conocer para convertirse en científico de datos aquí.

Esperamos que os haya gustado el artículo. Por favor Inscríbase para obtener una cuenta Komprehend gratuita para comenzar su viaje con la IA. También puedes ver demostraciones gratuitas de las API de IA de Komprehend aquí.