Entonces, ¿le gusta nuestra marca de medios Neural? Debieras únete a nuestra pista de eventos neuronales en TNW2020, donde escuchará cómo la inteligencia artificial está transformando industrias y empresas.
Según muchos informes, la lingüística es una de las funciones más complicadas de la mente humana. Asimismo, el procesamiento del lenguaje natural (PNL) es uno de los subcampos más complicados de la inteligencia artificial. La mayoría de los libros sobre IA, incluidos los educativos sobre aprendizaje automático, proporciona una introducción al procesamiento del lenguaje natural. Pero el campo de la PNL es tan vasto que cubrir todos sus aspectos requeriría varios libros separados.
Cuando recogí Procesamiento práctico del lenguaje natural: una guía completa para crear sistemas de PNL del mundo real, lo que esperaba era un libro que cubriera en profundidad el aprendizaje automático de Python para PNL. Aunque el libro no resultó ser exactamente lo que yo tenía en mente, proporcionó el tipo exacto de cobertura que el campo pierde en la locura y el bombo que rodea aprendizaje profundo hoy.
La mejor manera de describir Procesamiento práctico del lenguaje natural es una vista ampliada del panorama de la PNL, un primer plano del proceso de la PNL y muchos consejos prácticos y pautas para evitar cometer errores en uno de los campos más importantes de la IA.
Dos tipos de audiencia
De lo que te quitas Procesamiento práctico del lenguaje natural depende de dos cosas: su experiencia previa en matemáticas y aprendizaje automático de Python, y su participación en el campo. Recomiendo este libro a dos tipos de lectores:
- Expertos experimentados en aprendizaje automático de Python: las personas que ya tienen experiencia en la codificación con bibliotecas de aprendizaje automático y aprendizaje profundo en Python encontrarán muchas nuevas direcciones a seguir en este libro.
- Tomadores de decisiones que desean aprender más sobre la mecánica de los sistemas de PNL: los ejecutivos y gerentes de producto que están creando soluciones que utilizan interfaces conversacionales y otras características del lenguaje (búsqueda, análisis de sentimientos, etc.) deben comprender el panorama y la canalización de PNL. Las percepciones Procesamiento práctico del lenguaje natural proporciona ayudará a orientar las decisiones tecnológicas al crear nuevos productos y realizar actualizaciones de soluciones antiguas.
Irónicamente, estas dos audiencias se encuentran en dos extremos del espectro de la PNL. Por un lado, tiene codificadores de aprendizaje automático de Python incondicionales, mientras que, por el otro, tiene personas cuya rutina diaria no implica codificación.

Pero los autores de Procesamiento práctico del lenguaje natural, que cuentan con una amplia experiencia implementando la PNL en diferentes campos, han logrado escribir un libro que aportará valor a ambos públicos. Los programadores veteranos pueden leer todo el libro, los cuadernos de Jupyter que lo acompañan y las numerosas referencias que proporcionan los autores. Los ejecutivos, por otro lado, pueden omitir el código y leer la descripción general de alto nivel que proporciona cada capítulo antes de profundizar en la codificación técnica de Python.
No recomendaría este libro a los codificadores principiantes de aprendizaje automático de Python. Si no tiene experiencia con las bibliotecas numpy, pandas, matplotlib, scikit-learn, tensorflow y keras, entonces este libro probablemente no sea para usted. Le sugiero que lea un libro o un curso sobre Ciencia de los datos y otro en Aprendizaje automático de Python antes de recoger Procesamiento práctico del lenguaje natural.
El oleoducto de PNL
Cualquiera que haya realizado aprendizaje automático sabe que el ciclo de desarrollo de las aplicaciones de aprendizaje automático es diferente del clásico, software basado en reglas ciclo de vida del desarrollo. Pero mucha gente piensa erróneamente que el proceso de desarrollo de la PNL es idéntico al ciclo de recopilación, modelado y prueba de datos de cualquier aplicación de aprendizaje automático. Hay algunas similitudes, pero también hay muchos matices que son específicos de la PNL.
Algunas de las partes más valiosas de Procesamiento práctico del lenguaje natural son la descripción general del proceso de desarrollo de PNL para diferentes aplicaciones. El libro ofrece de manera brillante una vista de alto nivel del procesamiento del lenguaje natural que está separada del aprendizaje automático y el aprendizaje profundo.
Conocerá muchos de los desafíos involucrados en la recopilación, limpieza y preparación de datos para aplicaciones de PNL. También aprenderá sobre disciplinas importantes de la PNL, como la extracción de información, el reconocimiento de entidades de nombre, la extracción de información temporal y más.
Uno de los desafíos clave de la PNL es que los datos tienden a ser muy específicos de la aplicación. Los avances recientes en el aprendizaje profundo han permitido el desarrollo de modelos de lenguaje muy grandes que puede adaptarse a diferentes tareas sin más ajustes. Pero en muchas aplicaciones y entornos, el uso de costosos modelos de lenguaje de aprendizaje profundo aún no es factible.
Procesamiento práctico del lenguaje natural muestra cómo puede comenzar con aplicaciones de PNL pequeñas y simples y escalarlas gradualmente y hacer la transición a modelos de IA más complejos y automatizados a medida que recopila más datos en el dominio de su problema.
A medida que profundice en el libro, conocerá el ciclo de desarrollo específico para diferentes aplicaciones de PNL, como chatbots, motores de búsqueda, resumen de texto, sistemas de recomendación, traducción automática, comercio electrónico y más.
Al final del libro, obtendrá una revisión del proceso de PNL de un extremo a otro y algunas de las preguntas clave que pueden determinar qué camino y tecnología elegir al iniciar una nueva aplicación. También existen pautas importantes sobre el almacenamiento y la implementación de modelos y problemas que deberá resolver en aplicaciones de PNL del mundo real, como la reproducción de resultados, que es un gran desafío en el aprendizaje automático en general.
Estas discusiones de alto nivel hacen Procesamiento práctico del lenguaje natural una lectura valiosa para desarrolladores, líderes de equipo y ejecutivos de empresas de tecnología.
Pero el libro también contiene muchos ejemplos de codificación, a los que llegaré a continuación.
No necesitas aprendizaje automático para todo
Aunque una gran parte de Procesamiento práctico del lenguaje natural trata sobre el uso de bibliotecas de aprendizaje automático de Python para tareas de lenguaje, el libro tiene mucho más que ofrecer. Curiosamente, la conclusión más importante es que no necesita el aprendizaje automático para cada tarea. De hecho, los grandes modelos de lenguaje basados en el aprendizaje profundo deberían ser su último recurso en la mayoría de los casos. Este es un tema recurrente en todo el libro y, en mi opinión, muy importante, dada toda la emoción que rodea al uso de Redes neuronales cada vez más grandes para tareas de PNL.
Como le mostrarán los autores, en muchos casos, las soluciones simples como las expresiones regulares proporcionarán mejores resultados. Por lo menos, lo más simple sistemas basados en reglas será proporcionarle una solución provisional para recopilar los datos necesarios para los modelos de IA más complejos.
Con eso fuera del camino, el libro profundiza en el aprendizaje automático de Python y el aprendizaje profundo para el procesamiento del lenguaje natural. Procesamiento práctico del lenguaje natural proporciona una cobertura en profundidad de muchos conceptos críticos, como incrustaciones de palabras, bolsa de palabras, ngrams y TF-IDF.
Además de las populares bibliotecas de aprendizaje automático y NLP, el libro también presenta y explora las bibliotecas de Python NLP que los libros básicos de aprendizaje automático no cubren, como el espacio y el genismo. También hay una buena oferta sobre el uso de otras herramientas de Python para evaluar mejor el rendimiento de los modelos de lenguaje, como t-SNE para visualizar incrustaciones y LIME para tratar Problemas de explicabilidad de la IA.
A medida que profundiza en los detalles de cada técnica y sus bibliotecas asociadas, los autores continúan brindando algunos consejos clave, como cómo decidir entre incrustaciones de uso general y características hechas a mano.
El libro también le presenta el BERT de Google (pero debe traer sus propias habilidades de pytorch).
Tenía sentimientos encontrados sobre las muestras de código y cómo se presentan en el libro. Por un lado, hay mucho material valioso en los cuadernos de Jupyter. Sin embargo, el código tiende a tener algunos errores debido a direcciones de archivo incorrectas en algunos de los portátiles. (También necesita dedicar mucho tiempo a descargar incrustaciones y modelos de otras fuentes, lo cual es inevitable de todos modos).
En el libro, los fragmentos se presentan muy escasamente con solo las partes muy importantes resaltadas. Pero en muchos casos, esas partes se han seleccionado de la mitad de una secuencia, lo que significa que no le dará sentido a menos que también abra el archivo de código original y lea lo que ha venido antes (para su crédito, los autores han tomado mucho cuidado de comentar el código de forma exhaustiva).
También hay muchos agujeros de «lo dejamos como un ejercicio para el lector», que brindan excelentes direcciones para la investigación personal, pero no serían atractivos para desarrolladores menos experimentados.
No reinventes la rueda
Otra gran cosa sobre Procesamiento práctico del lenguaje natural es la introducción de una lista de herramientas e interfaces de programación de aplicaciones (API) que le permiten comenzar con tareas de lenguaje sin mucha codificación.
La cuestión es que no es necesario que reinvente la rueda y es probable que ya exista una herramienta que pueda impulsar sus esfuerzos iniciales para integrar la PNL en sus aplicaciones.
A lo largo del libro, podrá utilizar herramientas como DialogFlow, Elasticsearch y Semantic3 para diferentes aplicaciones de PNL. También verá cómo las API como Bing pueden abstraer tareas de lenguaje (si tiene los medios económicos para alquilarlas).
También obtendrá una idea de cómo estas diferentes piezas pueden integrarse en otras aplicaciones de PNL o pasar gradualmente a sus propios modelos de lenguaje personalizados.
La familiaridad con estas herramientas también será muy útil para los gerentes de producto que deben decidir qué dirección tomar con el desarrollo de sus aplicaciones dadas sus limitaciones de tiempo, presupuesto y talento.
Veredicto final
Procesamiento práctico del lenguaje natural es una lectura obligada para cualquiera que quiera involucrarse seriamente en la PNL. Ya sea que sea un ejecutivo de nivel C o un codificador práctico, este libro es para usted.
Sin embargo, no lea este libro si solo desea aprender los conceptos básicos de la PNL. Hay mucho buen aprendizaje automático de Python libros y cursos que le presentará los conceptos básicos. Una vez que se sienta cómodo con el aprendizaje automático de Python y los conceptos básicos del procesamiento del lenguaje natural, este será su libro de referencia para dar el siguiente paso.
Este artículo fue publicado originalmente por Ben Dickson en TechTalks, una publicación que examina las tendencias en tecnología, cómo afectan la forma en que vivimos y hacemos negocios, y los problemas que resuelven. Pero también discutimos el lado malo de la tecnología, las implicaciones más oscuras de las nuevas tecnologías y lo que debemos tener en cuenta. Puedes leer el artículo original aquí.