Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
El procesamiento del lenguaje natural (NLP) es un campo en la intersección de la informática, la inteligencia artificial y la lingüística. Se refiere a la construcción de sistemas capaces de procesar y comprender el lenguaje humano. Desde su creación en los años 50 y hasta hace muy poco, la PNL ha sido principalmente el dominio del mundo académico y de los laboratorios de investigación, lo que requería una larga educación y formación formales. Los avances de la última década han hecho que la PNL se utilice cada vez más en ámbitos tan diversos como el comercio minorista, la sanidad, las finanzas, el derecho, el marketing, los recursos humanos y muchos más. Hay una serie de fuerzas impulsoras de estos avances:
- Las herramientas, técnicas y API de PNL, ampliamente disponibles y fáciles de usar, son ahora omnipresentes en la industria. Nunca ha habido un momento mejor para crear soluciones rápidas de PNL.
- El desarrollo de enfoques más interpretables y generalizados ha mejorado el rendimiento de referencia incluso para tareas de PNL complejas, como las tareas conversacionales de dominio abierto y la respuesta a preguntas, que antes no eran factibles en la práctica.
- Cada vez más organizaciones, como Google, Microsoft y Amazon, están invirtiendo mucho en productos de consumo más interactivos, en los que el lenguaje se utiliza como principal medio de comunicación.
- La mayor disponibilidad de conjuntos de datos útiles de código abierto, junto con referencias estándar sobre ellos, ha actuado como catalizador de esta revolución, en lugar de verse obstaculizada por conjuntos de datos patentados sólo disponibles para organizaciones e individuos limitados .
- La viabilidad de la PNL ha ido más allá del inglés o de otras lenguas principales. También se están creando conjuntos de datos y modelos específicos para las lenguas menos digitalizadas. Un producto fructífero que surgió de este esfuerzo fue una herramienta de traducción automática casi perfecta disponible para todas las personas con un smartphone.
Con este uso en rápida expansión, una proporción cada vez mayor de la mano de obra que construye estos sistemas de PNL está lidiando con una experiencia y unos conocimientos teóricos limitados sobre el tema. Este libro aborda esta necesidad desde una perspectiva aplicada. Nuestro libro pretende guiar a los lectores en la construcción, iteración y ampliación de sistemas de PNL en un entorno empresarial, y adaptarlos a diversos sectores verticales de la industria.
Por qué escribimos este libro
Existen muchos libros populares sobre PNL. Mientras que algunos de ellos sirven como libros de texto, centrándose en aspectos teóricos, otros pretenden introducir conceptos de PNL a través de muchos ejemplos de código. Hay otros pocos que se centran en bibliotecas específicas de PNL o de aprendizaje automático y proporcionan guías sobre cómo resolver distintos problemas de PNL utilizando las bibliotecas. Entonces, ¿por qué necesitamos otro libro sobre PNL?
Llevamos más de una década creando y ampliando soluciones de PNL en las principales universidades y empresas tecnológicas. Mientras asesorábamos a colegas y a otros ingenieros, nos dimos cuenta de que existía una brecha entre la práctica de la PNL en la industria y el conjunto de habilidades de PNL de los nuevos ingenieros y de los que acaban de empezar con la PNL en particular. Empezamos a comprender aún mejor estas lagunas durante los talleres de PNL que dirigíamos para profesionales de la industria, donde nos dimos cuenta de que los líderes empresariales y de ingeniería también tienen estas lagunas.
La mayoría de los cursos y libros en línea abordan los problemas de la PNL utilizando casos de uso de juguete y conjuntos de datos populares (a menudo grandes, limpios y bien definidos). Aunque esto imparte los métodos generales de la PNL, creemos que no proporciona una base suficiente para abordar nuevos problemas y desarrollar soluciones específicas en el mundo real. Por lo que sabemos, los recursos existentes no se ocupan de los problemas más comunes que surgen al crear aplicaciones del mundo real, como la recopilación de datos, el trabajo con datos y señales ruidosos, el desarrollo incremental de soluciones y las cuestiones relacionadas con el despliegue de las soluciones como parte de una aplicación mayor. También vimos que faltaban buenas prácticas para desarrollar sistemas de PLN en la mayoría de los escenarios. Creímos que hacía falta un libro que llenara este vacío, ¡y así es como nació este libro!
La Filosofía
Queremos ofrecer una perspectiva holística y práctica que permita al lector construir con éxito soluciones de PNL del mundo real integradas en configuraciones de productos más amplias. Por ello, la mayoría de los capítulos van acompañados de guías de código en el repositorio Git asociado. El libro también se complementa con amplias referencias para los lectores que deseen profundizar. A lo largo del libro, empezamos con una solución sencilla y vamos construyendo soluciones más complejas adoptando un enfoque de producto mínimo viable (MVP), como se suele encontrar en la práctica del sector . También damos consejos basados en nuestra experiencia y aprendizajes. Siempre que es posible, cada capítulo va acompañado de un debate sobre el estado de la técnica en ese tema. La mayoría de los capítulos concluyen con un estudio de casos de uso en el mundo real.
Considera la tarea de construir un chatbot o un sistema de clasificación de textos en tu organización. Al principio puede que haya pocos o ningún dato con el que trabajar. En este punto, será adecuada una solución básica que utilice sistemas basados en reglas o aprendizaje automático tradicional. A medida que acumules más datos, se podrán utilizar técnicas de PNL más sofisticadas (que suelen requerir muchos datos), incluido el aprendizaje profundo. En cada paso de este viaje hay docenas de enfoques alternativos que se pueden adoptar. Este libro te ayudará a navegar por este laberinto de opciones.
Alcance
Este libro ofrece una visión completa de la creación de aplicaciones de PNL en el mundo real. Cubriremos el ciclo de vida completo de un proyecto típico de PNL, desde la recogida de datos hasta la implementación y el monitoreo del modelo. Algunos de estos pasos son aplicables a cualquier canal de ML, mientras que otros son muy específicos de la PNL. También presentamos estudios de casos específicos de tareas y guías específicas de dominio para construir un sistema de PNL desde cero. Cubrimos específicamente una gama de tareas que van desde la clasificación de textos a la respuesta a preguntas, pasando por la extracción de información y los sistemas de diálogo. Del mismo modo, proporcionamos recetas para aplicar estas tareas en dominios que van desde el comercio electrónico a la sanidad, los medios sociales y las finanzas. Debido a la profundidad y amplitud de los temas y escenarios que cubrimos, no iremos paso a paso explicando el código y todos los conceptos. Para los detalles de la implementación, hemos proporcionado cuadernos de código fuente detallados. Los fragmentos de código de este libro cubren la lógica central y a menudo omiten pasos introductorios como la configuración de una biblioteca o la importación de un paquete, ya que se tratan en los cuadernos asociados. Para cubrir la amplia gama de conceptos, hemos proporcionado más de 450 referencias extensas para profundizar en estos temas. Este libro será un recetario cotidiano que te dará una visión pragmática mientras construyes cualquier sistema de PNL, además de ser un trampolín para ampliar la aplicación de la PNL en tu dominio.
Quién debería leer este libro
Este libro está dirigido a cualquier persona implicada en la creación de aplicaciones de PNL para casos de uso del mundo real. Esto incluye a desarrolladores y probadores de software, ingenieros de aprendizaje automático, ingenieros de datos, ingenieros de MLOps, ingenieros de PNL, científicos de datos, jefes de producto, jefes de personal, vicepresidentes, directores generales y fundadores de startups. También incluye a quienes participan en los procesos de creación y anotación de datos; en resumen, a todos los que intervienen de algún modo en la creación de sistemas de PNL en la industria. Aunque no todos los capítulos son útiles para personas con todas las funciones, hemos intentado dar explicaciones lúcidas utilizando menos jerga técnica y una comprensión más intuitiva siempre que ha sido posible. Creemos que hay algo en cada capítulo para todos los lectores potenciales interesados en obtener una perspectiva holística sobre la construcción de aplicaciones de PNL.
Algunos capítulos o secciones pueden entenderse sin mucha experiencia en codificación y pueden omitirse fragmentos de código según sea necesario. Por ejemplo, las dos primeras secciones del Capítulo 1 y del Capítulo 9, o las secciones "El proceso de la ciencia de datos" y "Cómo hacer que la IA tenga éxito en tu organización" del Capítulo 11 pueden ser comprendidas sin ninguna experiencia de codificación por todos los grupos de lectores. A medida que avances en el libro, encontrarás más secciones de este tipo en todos los capítulos. Sin embargo, para sacar el máximo provecho de este libro, sus cuadernos y referencias, esperamos que el lector tenga los siguientes conocimientos previos:
- Conocimientos intermedios de programación en Python. Por ejemplo, comprender características de Python como la comprensión de listas, escribir funciones y clases, y utilizar las bibliotecas existentes.
- Familiaridad con diversos aspectos del ciclo de vida de desarrollo de software (SDLC), como diseño, desarrollo, pruebas, DevOps, etc.
- Conceptos básicos de aprendizaje automático, incluida la familiaridad con algoritmos de aprendizaje automático de uso común, como la regresión logística y los árboles de decisión, y la capacidad de utilizarlos en Python con bibliotecas existentes como scikit-learn.
- Los conocimientos básicos de PNL son útiles, pero no obligatorios. También es útil tener una idea de tareas como la clasificación de textos y el reconocimiento de entidades con nombre.
Lo que aprenderás
Nuestro público principal está formado por ingenieros y científicos implicados en la construcción de sistemas de PNL del mundo real para diferentes verticales. Algunos de los puestos de trabajo más comunes son: Ingeniero de Software, Ingeniero de PNL, Ingeniero de ML y Científico de Datos. El libro también puede ser útil para jefes de producto y líderes de ingeniería. Sin embargo, puede no ser tan útil para quienes se dedican a la investigación de perímetro en PNL, porque no cubrimos en profundidad los detalles teóricos y técnicos relacionados con los conceptos de la PNL. Con este libro, podrás:
- Comprender el amplio espectro de planteamientos de problemas, tareas y enfoques de solución dentro de la PNL.
- Adquiere experiencia en la implementación y evaluación de diferentes aplicaciones de PNL y en la aplicación de métodos de aprendizaje automático y aprendizaje profundo para este proceso.
- Afina una solución de PNL en función del problema empresarial y del sector vertical.
- Evalúa varios algoritmos y enfoques para la tarea, el conjunto de datos y la fase del producto PLN dados.
- Planifica el ciclo de vida del producto de PNL y produce soluciones de software siguiendo las buenas prácticas en materia de lanzamiento, implementación y DevOps para sistemas de PNL.
- Comprender las buenas prácticas, las oportunidades y la hoja de ruta de la PNL desde la perspectiva de un líder empresarial y de producto.
También aprenderás a adaptar tus soluciones a distintos sectores verticales, como la sanidad, las finanzas y el comercio minorista. Además, conocerás las advertencias específicas que encontrarás en cada uno de ellos.
Estructura del Libro
El libro está dividido en cuatro secciones. La Figura P-1 ilustra la organización de los capítulos. Los capítulos aislados que no están directamente conectados con otros capítulos son los más fáciles de saltar mientras se avanza.
La Parte I, Fundamentos, sirve de base para el resto del libro, ya que ofrece una visión general de la PNL(Capítulo 1), habla del procesamiento de datos típico y de las líneas de modelado utilizadas en la creación de sistemas de PNL(Capítulo 2), e introduce distintas formas de representar datos textuales en la PNL(Capítulo 3).
La Parte II, Aspectos Esenciales, se centra en las aplicaciones más comunes de la PNL, haciendo hincapié en los casos de uso del mundo real. Siempre que es posible, mostramos múltiples soluciones al problema en cuestión para demostrar cómo elegir entre distintas opciones. Algunas aplicaciones son la clasificación de textos(Capítulo 4), la extracción de información(Capítulo 5) y la construcción de bots de chat(Capítulo 6). También presentamos otras aplicaciones, como la búsqueda, el modelado de temas, el resumen de textos y la traducción automática, junto con una discusión sobre casos prácticos de uso(Capítulo 7).
La Parte III, Aplicada (Capítulos 8-10) se centra específicamente en tres sectores verticales de la industria en los que se utiliza mucho la PNL, con un análisis detallado de los problemas específicos de esos sectores y de la utilidad de la PNL para resolverlos.
Por último, la Parte IV(Capítulo 11) reúne todo lo aprendido al tratar las cuestiones relacionadas con la implementación integral de los sistemas de PNL en la práctica.
Cómo leer este libro
La forma de leer el libro depende de la función y el objetivo de cada uno. Para un científico de datos o un ingeniero que se adentre en la PNL, recomendamos leer los Capítulos 1-6 y después centrarse en el dominio o subproblema concreto de interés. Para alguien que desempeñe un papel de liderazgo, recomendamos centrarse en los Capítulos 1, 2 y 11. Es posible que quieran prestar más atención a los casos prácticos de los Capítulos 3-7, que proporcionan más ideas sobre el proceso de creación de aplicaciones de PNL desde cero. Un líder de producto podría querer profundizar en las referencias proporcionadas para los capítulos relevantes, así como en el Capítulo 11.
Las aplicaciones de la PNL en diversos ámbitos pueden ser diferentes de los problemas generales tratados en los capítulos 3-7. Por eso nos hemos centrado más en determinados dominios, como el comercio electrónico, las redes sociales, la sanidad, las finanzas y el derecho. Si tu interés o tu trabajo te llevan a estos ámbitos, puedes profundizar en esos capítulos y en las referencias correspondientes.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width bold
-
Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento indica una advertencia o precaución.
Utilizar ejemplos de código
El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en https://oreil.ly/PracticalNLP.
Si tienes una pregunta técnica o un problema al utilizar los ejemplos de código, envía un correo electrónico a bookquestions@oreilly.com.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos la atribución, pero en general no la exigimos. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Procesamiento Práctico del Lenguaje Natural " de Sowmya Vajjala, Bodhisattwa Majumder, Anuj Gupta y Harshit Surana (O'Reilly). Copyright 2020 Anuj Gupta, Bodhisattwa Prasad Majumder, Sowmya Vajjala y Harshit Surana, 978-1-492-05405-4".
Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Aprendizaje en línea O'Reilly
Nota
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita http://oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-998-9938 (en Estados Unidos o Canadá)
- 707-829-0515 (internacional o local)
- 707-829-0104 (fax)
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/PNLP.
Envía un correo electrónico a bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este libro.
Para noticias e información sobre nuestros libros y cursos, visita http://oreilly.com.
Encuéntranos en Facebook: http://facebook.com/oreilly
Síguenos en Twitter: http://twitter.com/oreillymedia
Míranos en YouTube: http://youtube.com/oreillymedia
Más información
En el repositorio de GitHub encontrarás cuadernos que explican varios conceptos tratados en el libro. Los cuadernos se han organizado por capítulos. También proporcionamos cuadernos adicionales, no necesariamente tratados en el libro.
Página web del libro: http://www.practicalnlp.ai
El mundo de la PNL siempre está evolucionando. Para estar al día de cómo encajan los conceptos mencionados en el libro en el contexto más amplio dentro de uno, dos y cinco años, sigue nuestro blog. Lo mantenemos actualizado con escritos y artículos relevantes, y etiquetamos cada entrada con el título del capítulo correspondiente del libro.
Ponte en contacto con los autores:
- Correo electrónico: authors@practicalnlp.ai
- Linkedin: https://linkedin.com/company/practical-nlp
- Twitter: https://twitter.com/PracticalNLProc
- Facebook: https://oreil.ly/facebookPNLP
Agradecimientos
Un libro como éste es un compendio de conocimientos; por tanto, no puede existir de forma aislada. Mientras escribíamos este libro, nos inspiramos y obtuvimos mucha información de varios libros, trabajos de investigación, proyectos de software y otros muchos recursos de Internet. Agradecemos a la comunidad de PNL y Aprendizaje Automático todos sus esfuerzos. Nosotros sólo nos hemos subido a los hombros de estos gigantes. También damos las gracias a varias personas que asistieron a algunas de las charlas y talleres de los autores y participaron en debates que condujeron a la idea de escribir este libro y a dar forma a su premisa. Este libro es el resultado de un largo esfuerzo de colaboración y varias personas nos apoyaron de distintas formas en nuestro empeño.
Agradecemos a los revisores de O'Reilly Will Scott, Darren Cook, Ramya Balasubramaniam, Priyanka Raghavan y Siddharth Narayanan sus meticulosos, inestimables y detallados comentarios, que nos ayudaron a mejorar borradores anteriores. Los comentarios detallados de Siddharth Sharma, Sumod Mohan, Vinayak Hegde, Aasish Pappu, Taranjeet Singh, Kartikay Bagla y Varun Purushotham fueron decisivos para mejorar la calidad del contenido.
También estamos muy agradecidos a Rui Shu, Shreyans Dhankhar, Jitin Kapila, Kumarjit Pathak, Ernest Kirubakaran Selvaraj, Robin Singh, Ayush Datta, Vishal Gupta y Nachiketh por ayudarnos a preparar las primeras versiones de los cuadernos de código. Queremos dar las gracias especialmente a Varun Purushotham, que pasó varias semanas leyendo y releyendo nuestros borradores y preparando y cotejando los cuadernos de código. Este libro no sería el mismo sin su contribución.
Nos gustaría dar las gracias al equipo de O'Reilly Media, sin el cual esto no habría sido posible: Jonathan Hassell, por darnos esta oportunidad; Melissa Potter, por hacernos un seguimiento regular a lo largo de este viaje y responder pacientemente a todas nuestras preguntas. Beth Kelly y Holly Forsyth, por toda la ayuda y el apoyo para darle forma de libro a partir de los borradores de los capítulos.
Por último, las siguientes son notas de agradecimiento personales de cada autor:
Sowmya: Mi primer y mayor agradecimiento es para mi hija, Sahasra Malathi, cuyo nacimiento y primer año de vida coincidieron con la escritura de este libro. No es fácil escribir un libro, y no es nada fácil escribirlo con un recién nacido. Y, sin embargo, aquí estamos. ¡Gracias, Sahasra! Mi madre, Geethamani, y mi marido, Sriram, apoyaron mi escritura ocupándose del cuidado del bebé y de las tareas domésticas en distintas fases de la escritura. Mis amigas, Purnima y Visala, siempre estaban disponibles para escuchar mis entusiasmadas actualizaciones, así como mis desvaríos sobre el libro. Mi jefe, Cyril Goutte, me animó y controló mis progresos en la escritura durante todo el proceso. Las conversaciones con mis antiguos colegas, Chris Cardinal y Eric Le Fort, me enseñaron mucho sobre el desarrollo de soluciones de PNL para problemas de la industria, sin las cuales quizá nunca habría pensado en participar en este tipo de libro. Agradezco a todos ellos su apoyo.
Bodhisattwa: Me gustaría aprovechar esta oportunidad para agradecer a mis padres su incuestionable sacrificio y el constante estímulo que me han convertido en la persona que soy hoy. Sus esfuerzos me han inculcado el amor y la dedicación al aprendizaje en mi vida. Estoy eternamente agradecida a mis asesores, los profesores Animesh Mukherjee y Pawan Goyal, que me introdujeron en este mundo de la PNL; y al profesor Julian McAuley, que es nada menos que fundamental para mi desarrollo técnico, académico y personal en mi carrera de doctorado. Los cursos de mis otros profesores -Taylor Berg-Kirkpatrick, Lawrence Saul, David Kriegman, Debasis Sengupta, Sudeshna Sarkar y Sourav Sen Gupta- han conformado de forma significativa mi aprendizaje sobre el tema. En los primeros días del libro, mis colegas de Walmart Labs -especialmente Subhasish Misra, Arunita Das, Smaranya Dey, Sumanth Prabhu y Rajesh Bhat- me dieron la motivación para esta loca idea. A mis mentores de Google AI, Microsoft Research, Amazon Alexa y a mis compañeros de laboratorio del Grupo de PNL de la UCSD, gracias por apoyarme y ayudarme en todo este viaje. También merecen una mención especial mis amigos Sanchaita Hazra, Sujoy Paul y Digbalay Bose, que estuvieron a mi lado en las buenas y en las malas en este gigantesco proyecto. Por último, ¡nada de esto habría sido posible sin mis coautores, que creyeron en este proyecto y permanecieron juntos hasta el último momento!
Anuj: Ante todo, quiero expresar mi sincera gratitud a mi mujer, Anu, y a mi hijo, Nirvaan. Sin su apoyo inquebrantable, no habría podido dedicar los últimos tres años a este empeño. ¡Muchísimas gracias! También quiero dar las gracias a mis padres y a mi familia por sus ánimos. Un gran agradecimiento a Saurabh Arora, por introducirme en el mundo de la PNL. Muchas gracias a mis amigos, el difunto Vivek Jain y Mayur Hemani; siempre me han animado a seguir adelante, especialmente en los momentos difíciles. También me gustaría dar las gracias a todas las increíbles personas implicadas en las comunidades de aprendizaje automático de Bangalore; especialmente: Sumod Mohan, Vijay Gabale, Nishant Sinha, Ashwin Kumar, Mukundhan Srinivasan, Zainab Bawa y Naresh Jain por todas las maravillosas discusiones que me han hecho reflexionar. Me gustaría dar las gracias a mis colegas -antiguos y actuales- de CSTAR, Airwoot, FreshWorks, Huawei Research, Intuit y Vahan, Inc. por todo lo que me han enseñado. A mis profesores, Kannan Srinathan, P.R.K Rao y B. Yegnanarayana, cuyas enseñanzas han tenido un profundo impacto en mí.
Harshit: Quiero dar las gracias a mis padres, que me han apoyado y animado a perseguir todas las ideas locas que he tenido. No puedo agradecer lo suficiente a mis queridos amigos Preeti Shrimal y Dev Chandan. Han estado conmigo durante todo el viaje del libro. A mis cofundadores, Abhimanyu Vyas y Aviral Mathur, gracias por ajustar nuestro empeño de startup para ayudarme a completar el libro. Quiero dar las gracias a todos mis antiguos colegas de Quipio y Notify.io que me ayudaron a cristalizar mi pensamiento, especialmente a Zubin Wadia, Amit Kumar y Naveen Koorakula. Nada de esto habría sido posible sin mis profesores y todo lo que me enseñaron: gracias, Prof. Luis von Ahn, Anil Kumar Singh, Alan W Black, William Cohen, Lori Levin y Carlos Guestrin. También quiero dar las gracias a Kaustuv DeBiswas, Siddharth Narayanan, Siddharth Sharma, Alok Parlikar, Nathan Schneider, Aasish Pappu, Manish Jawa, Sumit Pandey y Mohit Ranka, que me han apoyado en varios momentos de este viaje.
Get Procesamiento práctico del lenguaje natural now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.