Clase 03: Procesamiento del Lenguaje Natural (PDF)
Document Details
Uploaded by SupportingAspen
Tags
Summary
Esta clase proporciona una introducción al procesamiento del lenguaje natural (NLP). Se centra en los fundamentos, los modelos lingüísticos como GPT-3, y sus aplicaciones. Explora los desafíos y limitaciones actuales del procesamiento del lenguaje natural.
Full Transcript
UNIDAD 2: Del procesamiento de datos al procesamiento de conocimientos Procesamiento del Lenguaje Natural Esta semana nos sumergiremos en la (conocida como) hottest área de la IA y el ML: el Procesamiento del Lenguaje Natural (NLP por sus siglas en inglés). Ya vimos que la opinión convencional en t...
UNIDAD 2: Del procesamiento de datos al procesamiento de conocimientos Procesamiento del Lenguaje Natural Esta semana nos sumergiremos en la (conocida como) hottest área de la IA y el ML: el Procesamiento del Lenguaje Natural (NLP por sus siglas en inglés). Ya vimos que la opinión convencional en torno a la IA ha sido que, si bien las computadoras tienen la ventaja sobre los humanos cuando se trata de la toma de decisiones basada en datos, no pueden competir en tareas más complejas. Sin embargo, es claro cómo eso está cambiando y nosotros somos testigos. Las herramientas de procesamiento del lenguaje natural avanzaron rápidamente y ahora pueden ayudar con la escritura, la codificación y el razonamiento específico de una disciplina. No podemos comenzar esta clase sin mencionar a la más conocida: GPT-3, de OpenAI, que utiliza la IA y las estadísticas para predecir la siguiente palabra de una oración en función de las palabras anteriores. Los profesionales del NLP llaman a estas herramientas modelos lingüísticos y se pueden utilizar para tareas de análisis sencillas, como clasificar documentos y analizar la opinión en bloques de texto, así como para tareas más avanzadas, como responder preguntas y resumir informes. Los modelos lingüísticos ya están reformulando el análisis de texto tradicional, pero GPT-3 fue un modelo lingüístico fundamental porque, 10 veces más grande que cualquier modelo anterior en el momento del lanzamiento, fue el primer modelo lingüístico grande, lo que le permitió realizar tareas aún más avanzadas, como la programación y resolver problemas de matemáticas a nivel de lo enseñado en las escuelas. La última versión, llamada InstructGPT, fue perfeccionada por los humanos para generar respuestas que se ajusten mucho mejor a los valores humanos y las intenciones de los usuarios, y el último modelo de Google muestra más avances impresionantes en el lenguaje y el razonamiento. Entonces, para las empresas, GPT-3 resultó muy prometedor. OpenAI, el creador del GPT-3 financiado por Microsoft, ha desarrollado un modelo lingüístico basado en GPT-3 destinado a actuar como asistente de los programadores generando código a partir de la entrada en lenguaje natural. Esta herramienta, Codex, ya impulsa productos como Copilot para la filial GitHub de Microsoft y es capaz de crear un videojuego básico simplemente escribiendo las instrucciones. Los modelos siguen mejorando y, tanto que lo último del laboratorio de IA DeepMind de Google, por ejemplo, demuestra las habilidades de pensamiento crítico y lógica necesarias para superar a la mayoría de los humanos en competiciones de programación. Los modelos como el GPT-3 se consideran modelos de fundación, un área de investigación emergente en IA. Los modelos básicos incluso se pueden entrenar en múltiples formas de datos al mismo tiempo, como los de OpenAI DALL·E 2, que es entrenado en idioma e imágenes para generar renderizados en alta resolución de escenas u objetos imaginarios simplemente a partir de indicaciones de texto. Debido a su potencial para transformar la naturaleza del trabajo cognitivo, los economistas esperan que los modelos de base puede afectar a todos los sectores de la economía y podría conducir a aumentos del crecimiento económico similares a los de la revolución industrial. ¡Ahora sí! Con esta introducción, vamos por la teoría. Procesamiento del Lenguaje Natural Es la disciplina de construir máquinas que pueden manipular el lenguaje humano, o datos que se asemejan al lenguaje humano, en la forma en que se escribe, habla y organiza. Evolucionó a partir de la lingüística computacional, que utiliza la informática para comprender los principios del lenguaje, pero en lugar de desarrollar marcos teóricos, NLP es una disciplina de ingeniería que busca construir tecnología para realizar tareas útiles. Podemos dividirlo en dos subcampos superpuestos: 1 Comprensión del lenguaje natural (NLU), que se centra en el análisis semántico o la determinación del significado de un texto, y; 2 Generación de lenguaje natural (NLG), que se centra en la generación de texto por una máquina. NLP está separada del reconocimiento de voz (pero a menudo se usa junto con él), que busca analizar el lenguaje hablado en palabras, convirtiendo el sonido en texto y viceversa. Sin embargo, a pesar de contar con métodos cada vez más sofisticados, queda mucho por hacer. Los sistemas actuales son propensos al sesgo y la incoherencia, y ocasionalmente se comportan de manera errática. ¿Para qué se utiliza? Podemos hablar de la amplia variedad de tareas relacionadas con el lenguaje con la que trabaja NLP pero, te dejo veamos algunas: Análisis de sentimientos es el proceso de clasificar la intención emocional del texto. Generalmente, la entrada a un modelo de clasificación de sentimientos es un fragmento de texto, y la salida es la probabilidad de que el sentimiento expresado sea positivo, negativo o neutral. Se utiliza para clasificar las opiniones de los clientes en varias plataformas en línea, así como para aplicaciones de nicho. La clasificación de toxicidad es una rama del análisis de sentimientos donde el objetivo no es solo clasificar la intención hostil, sino también clasificar categorías particulares como amenazas, insultos, obscenidades y odio hacia ciertas identidades. Estos modelos se pueden utilizar para moderar y mejorar las conversaciones en línea silenciando comentarios ofensivos, detectando discursos de odio o escaneando documentos en busca de difamación. La traducción automática automatiza la traducción entre diferentes idiomas. La entrada a dicho modelo es texto en un idioma de origen especificado, y la salida es el texto en un idioma de destino. Google Translate es quizás la aplicación principal más famosa. Estos modelos se utilizan para mejorar la comunicación entre las personas en plataformas como Facebook o Skype. El reconocimiento de entidades con nombre tiene como objetivo extraer entidades en un fragmento de texto en categorías predefinidas, como nombres personales, organizaciones, ubicaciones y cantidades. La entrada a dicho modelo es generalmente texto, y la salida son las diversas entidades nombradas junto con sus posiciones inicial y final. El reconocimiento de entidades nombradas es útil en aplicaciones como las encargadas de resumir artículos de noticias. Por ejemplo, esto es lo que podría proporcionar un modelo de reconocimiento de entidades con nombre: La detección de spam es un problema de clasificación binaria frecuente en NLP, donde el propósito es clasificar los correos electrónicos como spam o no. Los detectores de spam toman como entrada un texto de correo electrónico junto con varios otros subtextos como el título y el nombre del remitente. Su objetivo es generar la probabilidad de que el correo sea spam. Los proveedores de correo electrónico como Gmail utilizan estos modelos para proporcionar una mejor experiencia de usuario al detectar correos electrónicos no solicitados y no deseados y moverlos a una carpeta de correo no deseado designada. Los modelos de corrección de errores codifican reglas gramaticales para corregir la gramática dentro del texto. Esto se ve principalmente como una tarea de secuencia a secuencia, donde un modelo se entrena en una oración como entrada y una oración correcta como salida. Los correctores gramaticales en línea como Grammarly y los sistemas de procesamiento de textos como Microsoft Word utilizan dichos sistemas para proporcionar una mejor experiencia de escritura a sus clientes. El modelado de temas es una tarea de minería de texto no supervisada que toma un corpus de documentos y descubre temas abstractos dentro de ese corpus. La asignación latente de Dirichlet (LDA), una de las técnicas de modelado de temas más populares, intenta ver un documento como una colección de temas y un tema como una colección de palabras. El modelado de temas se está utilizando comercialmente para ayudar a los abogados a encontrar evidencia en documentos legales. La generación de texto, más formalmente conocida como generación de lenguaje natural (NLG), produce texto que es similar al texto escrito por humanos. Dichos modelos se pueden ajustar para producir texto en diferentes géneros y formatos, incluidos tweets, blogs. Es particularmente útil para autocompletar y chatbots. - Al autocompletar predecimos qué palabra viene después, y los sistemas que lo hacen y son de complejidad variable se utilizan en aplicaciones de chat como WhatsApp. Google utiliza la función de autocompletar para predecir las consultas de búsqueda. Uno de los modelos más famosos para autocompletar es GPT-2, que se ha utilizado para escribir artículos, letras de canciones y mucho más. - Los chatbots automatizan un lado de una conversación, mientras que un humano generalmente suministra el otro lado. Se pueden dividir en las siguientes dos categorías: o Consulta de base de datos. Tenemos una base de datos de preguntas y respuestas, y nos gustaría que el usuario la consultara utilizando lenguaje natural. o Generación de conversaciones. Estos chatbots pueden simular el diálogo con un humano. Algunos son capaces de participar en conversaciones de gran alcance. Un ejemplo de alto perfil es LaMDA de Google. La recuperación de información encuentra los documentos que son más relevantes para una consulta. Este es un problema que enfrenta todo sistema de búsqueda y recomendación. El objetivo no es responder a una consulta en particular, sino recuperar, de una colección de documentos que pueden contarse por millones, un conjunto que sea más relevante para la consulta. Los sistemas de recuperación de documentos ejecutan principalmente dos procesos: indexación y coincidencia. El resumen es la tarea de acortar el texto para resaltar la información más relevante. Lo podemos dividir en en dos clases de método: - Resumen extractivo. Se centra en extraer las oraciones más importantes de un texto largo y combinarlas para formar un resumen. Normalmente, el resumen extractivo puntúa cada oración en un texto de entrada y luego selecciona varias oraciones para formarlo. - Resumen abstracto. Produce un resumen con la técnica de parafraseo. Esto es similar a escribir el resumen que incluye palabras y oraciones que no están presentes en el texto original. La respuesta a preguntas se ocupa de responder preguntas planteadas por humanos en un lenguaje natural. Uno de los ejemplos más notables de respuesta a preguntas fue Watson, que en 2011 jugó el programa de televisión Jeopardy contra campeones humanos y ganó por márgenes sustanciales. En general, las tareas de preguntas y respuestas vienen en dos formas: - Opción múltiple. Se compone de una pregunta y un conjunto de respuestas posibles. La tarea de aprendizaje es elegir la respuesta correcta. - Dominio abierto. El modelo proporciona respuestas a preguntas en lenguaje natural sin ninguna opción proporcionada. ¿Cómo funciona? Los modelos lo hacen al encontrar relaciones entre las partes constituyentes del lenguaje, por ejemplo, las letras, palabras y oraciones que se encuentran en un conjunto de datos de texto. Las arquitecturas NLP utilizan varios métodos para el preprocesamiento de datos, la extracción de características y el modelado. Algunos de estos procesos son: 1 Preprocesamiento de datos. Antes de que un modelo procese texto para una tarea específica, el texto a menudo debe procesarse previamente para mejorar el rendimiento del modelo o para convertir palabras y caracteres en un formato que el modelo pueda entender. Podemos utilizar varias técnicas: -> Stemming y lematización. Stemming es un proceso informal de convertir palabras a sus formas base utilizando reglas heurísticas. Por ejemplo, "universidad", "universidades" y "universidad" podrían asignarse a universo como base. Una limitación en este enfoque es que "universo" también puede asignarse al Universo, aunque el universo y la universidad no tienen una relación semántica cercana. La lematización es una forma más formal de encontrar raíces mediante el análisis de la morfología de una palabra utilizando el vocabulario de un diccionario. Stemming y lemmatización son proporcionados por bibliotecas como spaCy y NLTK. -> Segmentación de oraciones. Divide gran parte del texto en unidades de oración lingüísticamente significativas. La eliminación de palabras tiene como objetivo eliminar las palabras más comunes que no agregan mucha información al texto. Por ejemplo, "el", "un", "unos"; La tokenización divide el texto en palabras individuales y fragmentos de palabras. El resultado generalmente consiste en un índice de palabras y texto tokenizado en el que las palabras pueden representarse como tokens numéricos para su uso en varios métodos de aprendizaje profundo. Extracción de características. La mayoría de las técnicas convencionales de aprendizaje automático se basan en las características, generalmente números que describen un documento en relación con el corpus que lo contiene, creadas por Bag-of-Words, TF-IDF o ingeniería de características genéricas, como la longitud del documento, la polaridad de las palabras y los metadatos (por ejemplo, si el texto tiene etiquetas o puntuaciones asociadas). Las técnicas más recientes incluyen Word2Vec, GloVe y el aprendizaje de las características durante el proceso de entrenamiento de una red neuronal. Bolsa de palabras (Bag-of-Words). Cuenta el número de veces que cada palabra o n-grama (combinación de n palabras) aparece en un documento. Por ejemplo, a continuación, el modelo Bag-of- Words crea una representación numérica del conjunto de datos basada en cuántas de cada palabra del word_index aparecen en el documento. TF-IDF. En Bag-of-Words, contamos la ocurrencia de cada palabra o n-grama en un documento. En contraste, con TF-IDF, ponderamos cada palabra por su importancia. Para evaluar el significado de una palabra, consideramos dos cosas: - Frecuencia del término: ¿Qué importancia tiene la palabra en el documento? TF (palabra en un documento) = Número de apariciones de esa palabra en el documento / Número de palabras en el documento - Frecuencia inversa del documento: ¿Qué tan importante es el término en todo el corpus? IDF (palabra en un corpus) = log(número de documentos en el corpus / número de documentos que incluyen la palabra) Una palabra es importante si aparece muchas veces en un documento. Pero eso crea un problema: Palabras como "un" y "el" aparecen a menudo y, como tal, su puntaje TF siempre será alto. Resolvemos este problema mediante la frecuencia inversa del documento, que es alta si la palabra es rara y baja si la palabra es común en todo el corpus. La puntuación TF-IDF de un término es el producto de TF e IDF. Word2Vec. Introducido en 2013, utiliza una red neuronal para aprender incrustaciones de palabras de alta dimensión, a partir de texto sin procesar. Viene en dos variaciones: - Skip-Gram, en el que tratamos de predecir las palabras circundantes dada una palabra objetivo, y; - Continuous Bag-of-Words (CBOW), que intenta predecir la palabra objetivo a partir de las palabras circundantes. Después de descartar la capa final después del entrenamiento, estos modelos toman una palabra como entrada y generan una incrustación de palabras que se puede usar como entrada para muchas tareas de NLP. Las incrustaciones de Word2Vec capturan el contexto. Si palabras particulares aparecen en contextos similares, sus incrustaciones serán similares. GloVe es similar a Word2Vec, ya que también aprende incrustaciones de palabras, pero lo hace mediante el uso de técnicas de factorización de matrices en lugar de aprendizaje neuronal. El modelo GloVe crea una matriz basada en los recuentos globales de concurrencia palabra a palabra. Modelado. Después de que los datos se procesan previamente, se introducen en una arquitectura NLP que modela los datos para realizar una variedad de tareas. Las características numéricas extraídas por las técnicas dichas anteriormente se pueden alimentar en varios modelos dependiendo de la tarea en cuestión. Las redes neuronales profundas generalmente funcionan sin usar características extraídas, aunque aún podemos usar las características TF-IDF o Bag-of-Words como entrada. Modelos de lenguaje. En términos muy básicos, el objetivo de un modelo de lenguaje es predecir la siguiente palabra cuando se le da un flujo de palabras de entrada. El aprendizaje profundo se utiliza para crear tales modelos de lenguaje. Los modelos de DL toman como entrada una incrustación de palabras y, en cada ciclo, devuelven la distribución de probabilidad de la siguiente palabra como la probabilidad de cada palabra en el diccionario. Los modelos de lenguaje preentrenados aprenden la estructura de un idioma en particular mediante el procesamiento de un gran corpus. Luego se pueden ajustar para una tarea en particular. Principales técnicas de NLP La mayoría de las tareas de NLP discutidas anteriormente pueden ser modeladas por una docena de técnicas generales. Es útil pensar en estas técnicas en dos categorías: métodos tradicionales de aprendizaje automático y métodos de aprendizaje profundo. Técnicas tradicionales de ML 1 La regresión logística es un algoritmo de clasificación supervisado que tiene como objetivo predecir la probabilidad de que ocurra un evento en función de alguna entrada. En NLP, los modelos de regresión logística se pueden aplicar para resolver problemas como el análisis de sentimientos, la detección de spam y la clasificación de toxicidad. 2 Naive Bayes es un algoritmo de clasificación supervisado que encuentra la distribución de probabilidad condicional y predice en función de qué distribución conjunta tiene la mayor probabilidad. La suposición en este modelo es que las palabras individuales son independientes. En NLP, tales métodos estadísticos se pueden aplicar para resolver problemas como la detección de spam o la búsqueda de errores en el código de software. 3 Los árboles de decisión son una clase de modelos de clasificación supervisados que dividen el conjunto de datos en función de diferentes características para maximizar la ganancia de información en esas divisiones. 1 La Asignación Latente de Dirichlet (LDA), como mencionamos antes, se utiliza para el modelado de temas. LDA intenta ver un documento como una colección de temas y un tema como una colección de palabras. LDA es un enfoque estadístico, la idea detrás de esto es que podemos describir cualquier tema usando solo un conjunto de palabras del corpus. 2 Los modelos ocultos de Markov son modelos probabilísticos que deciden el siguiente estado de un sistema en función del estado actual. Por ejemplo, en NLP, podríamos sugerir la siguiente palabra basada en la palabra anterior. Podemos modelar esto como un modelo de Markov donde podríamos encontrar las probabilidades de transición de pasar de palabra1 a palabra2. Entonces podemos usar un producto de estas probabilidades de transición para encontrar la probabilidad de una oración. Técnicas de NLP de DL 1 Red Neuronal Convolucional (CNN). La idea de usar una CNN para clasificar texto se presentó por primera vez en el artículo "Redes neuronales convolucionales para la clasificación de oraciones" de Yoon Kim. La intuición central es ver un documento como una imagen. Sin embargo, en lugar de píxeles, la entrada son oraciones o documentos representados como una matriz de palabras. 2 Red Neuronal Recurrente (RNN). Muchas técnicas para la clasificación de texto que utilizan palabras del proceso de DL en estrecha proximidad utilizando n-gramas o una ventana (CNN). Por ejemplo, el modelo puede ver "Nueva York" como una sola instancia. Sin embargo, no puede capturar el contexto proporcionado por una secuencia de texto en particular. No aprenden la estructura secuencial de los datos, donde cada palabra depende de la palabra anterior o de una palabra de la oración anterior. Las RNN recuerdan información anterior utilizando estados ocultos y la conectan a la tarea actual. Estas fueron utilizadas para generar pruebas matemáticas y traducir pensamientos humanos en palabras. 3 Los codificadores automáticos son codificadores-decodificadores de DL que se aproximan a una asignación de X a X, es decir, entrada = salida. Primero comprimen las características de entrada en una representación de dimensión inferior (a veces llamada código latente, vector latente o representación latente) y aprenden a reconstruir la entrada. El vector de representación se puede utilizar como entrada para un modelo separado, por lo que esta técnica se puede utilizar para la reducción de la dimensionalidad. Entre los especialistas en muchos otros campos, los genetistas han aplicado autocodificadores para detectar mutaciones asociadas con enfermedades en secuencias de aminoácidos. 4 La arquitectura seq2seq es una adaptación a autoencoders especializados para traducción, resumen y tareas similares. El codificador encapsula la información de un texto en un vector codificado. A diferencia de un autocodificador, en lugar de reconstruir la entrada a partir del vector codificado, la tarea del decodificador es generar una salida deseada diferente, como una traducción o un resumen. 5 El transformador es una arquitectura modelo descrita por primera vez en el artículo de 2017 "La atención es todo lo que necesitas" (Vaswani, Shazeer, Parmar, et al.), renuncia a la recurrencia y, en cambio, se basa completamente en un mecanismo de autoatención para establecer dependencias globales entre la entrada y la salida. Dado que este mecanismo procesa todas las palabras a la vez (en lugar de una a la vez), eso disminuye la velocidad de entrenamiento y el costo de inferencia en comparación con las RNN, especialmente porque es paralelizable. La arquitectura del transformador ha revolucionado la PNL en los últimos años, dando lugar a modelos como BLOOM, Jurassic-X y Turing-NLG. También fue aplicada con éxito a una variedad de tareas de visión diferentes, incluida la creación de imágenes en 3D. 6 modelos importantes de NLP -> Eliza fue desarrollado a mediados de la década de 1960 para tratar de resolver el Test de Turing; es decir, engañar a las personas para que piensen que están conversando con otro ser humano en lugar de una máquina. Eliza utilizó la coincidencia de patrones y una serie de reglas sin codificar el contexto del lenguaje. -> Tay fue un chatbot que Microsoft lanzó en 2016. Se suponía que debía tuitear como un adolescente y aprender de las conversaciones con usuarios reales en Twitter. El bot adoptó frases de usuarios que tuiteaban comentarios sexistas y racistas, y Microsoft lo desactivó poco después. Tay ilustra algunos puntos planteados por el artículo "Loros estocásticos", particularmente el peligro de no sesgar los datos. -> BERT y sus amigos Muppets. Muchos modelos de aprendizaje profundo para PNL llevan el nombre de personajes Muppets, incluidos ELMo, BERT, Big BIRD, ERNIE, Kermit, Grover, RoBERTa y Rosita. La mayoría de estos modelos son buenos para proporcionar incrustaciones contextuales y una mejor representación del conocimiento. -> Generative Pre-Trained Transformer 3 (GPT-3) es un modelo de 175 mil millones de parámetros que puede escribir prosa original con una fluidez equivalente a la humana en respuesta a un mensaje de entrada. El modelo se basa en la arquitectura del transformador. -> Language Model for Dialogue Applications (LaMDA) es un chatbot conversacional desarrollado por Google. LaMDA es un modelo basado en transformadores entrenado en el diálogo en lugar del texto web habitual. El sistema tiene como objetivo proporcionar respuestas sensatas y específicas a las conversaciones. El desarrollador de Google, Blake Lemoine, llegó a creer que La MDA es sintiente inclusive, Lemoine tuvo conversaciones detalladas con AI sobre sus derechos y personalidad. -> Mezcla de expertos (MoE). Mientras que la mayoría de los modelos de aprendizaje profundo utilizan el mismo conjunto de parámetros para procesar cada entrada, los modelos MoE tienen como objetivo proporcionar diferentes parámetros para diferentes entradas basadas en algoritmos de enrutamiento eficientes para lograr un mayor rendimiento. Switch Transformer es un ejemplo del enfoque MoE que tiene como objetivo reducir los costos de comunicación y computación. Lenguajes de programación, librerías y frameworks para NLP Muchos idiomas y bibliotecas admiten NLP. Estos son algunos de los más útiles: Python es el lenguaje de programación más utilizado. La mayoría de las bibliotecas y marcos para el aprendizaje profundo están escritos para Python como: - Natural Language Toolkit (NLTK) es una de las primeras bibliotecas NLP escritas en Python. Proporciona interfaces fáciles de usar para corpus y recursos léxicos como WordNet. También proporciona un conjunto de bibliotecas de procesamiento de texto para clasificación, etiquetado, derivación, análisis y razonamiento semántico. - spaCy es una de las bibliotecas de código abierto más versátiles. Soporta más de 66 idiomas. spaCy también proporciona vectores de palabras previamente entrenados e implementa muchos modelos populares como BERT. Se la puede utilizar para crear sistemas listos para producción para el reconocimiento de entidades con nombre, etiquetado de parte del habla, análisis de dependencias, segmentación de oraciones, clasificación de texto, lematización, análisis morfológico, vinculación de entidades, entre otras opciones. - Librerías de DP. Estas incluyen TensorFlow y PyTorch, que facilitan la creación de modelos con características como la diferenciación automática. Estas librerías son las herramientas más comunes para desarrollar modelos NLP. - Hugging Face ofrece implementaciones de código abierto y más de 135 modelos de última generación. El repositorio permite una fácil personalización y entrenamiento de los modelos. - Gensim proporciona modelado de espacios vectoriales y algoritmos de modelado de temas. R. Muchos de los primeros modelos de PNL fueron escritos en R, y todavía es ampliamente utilizado por científicos de datos y estadísticos. Las bibliotecas en R para NLP incluyen TidyText, Weka, Word2Vec, SpaCyR, TensorFlow y PyTorch. Muchos otros lenguajes, incluidos JavaScript, Java y Julia, tienen bibliotecas que implementan métodos NLP. Sobre las limitaciones y retos del NLP Nos encontramos en el centro de una serie de controversias. Algunas se enfocan directamente en los modelos y sus resultados, otros en preocupaciones de segundo orden, como quién tiene acceso a estos sistemas y cómo su capacitación afecta al mundo natural. Loros estocásticos: Un artículo de 2021 titulado "Sobre los peligros de los loros estocásticos: ¿pueden los modelos de lenguaje ser demasiado grandes?" por Emily Bender, Timnit Gebru, Angelina McMillan-Major y Margaret Mitchell examina cómo los modelos de lenguaje pueden repetir y amplificar los sesgos encontrados en sus datos de entrenamiento. Los autores señalan que los enormes conjuntos de datos no seleccionados extraídos de la web están obligados a incluir sesgos sociales y otra información indeseable, y los modelos que se entrenan en ellos absorberán estos defectos. Abogan por un mayor cuidado en la conservación y documentación de conjuntos de datos, la evaluación del impacto potencial de un modelo antes del desarrollo y el fomento de la investigación en direcciones distintas al diseño de arquitecturas cada vez más grandes para ingerir conjuntos de datos en escala. Recientemente, un ingeniero de Google encargado de evaluar el modelo de lenguaje LaMDA quedó tan impresionado por la calidad de su salida de chat que creyó que era sensible. La falacia de atribuir inteligencia similar a la humana a la IA se remonta a algunos de los primeros experimentos de NLP. Impacto ambiental. Los modelos de lenguaje grandes requieren mucha energía tanto durante el entrenamiento como durante la inferencia. Un estudio estimó que el entrenamiento de un solo modelo de lenguaje grande puede emitir cinco veces más dióxido de carbono que un solo automóvil durante su vida útil. Otro estudio encontró que los modelos consumen aún más energía durante la inferencia que el entrenamiento. En cuanto a las soluciones, los investigadores han propuesto utilizar servidores en la nube ubicados en países con mucha energía renovable como una forma de compensar este impacto. El alto costo deja fuera a los investigadores no corporativos. Los requisitos computacionales necesarios para entrenar o implementar grandes modelos de lenguaje son demasiado caros para muchas pequeñas empresas. A algunos expertos les preocupa que esto pueda impedir que muchos ingenieros capaces contribuyan a la innovación en IA. Es una caja negra. Cuando un modelo de aprendizaje profundo representa una salida, es difícil o imposible saber por qué generó ese resultado en particular. Mientras que los modelos tradicionales como la regresión logística permiten a los ingenieros examinar el impacto en la salida de características individuales, los métodos de redes neuronales en el procesamiento del lenguaje natural son esencialmente cajas negras. Se dice que tales sistemas "no son explicables", ya que no podemos explicar cómo llegaron a su producción. Un enfoque efectivo para lograr la explicabilidad es especialmente importante en áreas donde los reguladores quieren confirmar que un sistema de procesamiento del lenguaje natural no discrimina a algunos grupos de personas, y la aplicación de la ley, donde los modelos entrenados en datos históricos pueden perpetuar sesgos históricos contra estos grupos. Tonterías sobre zancos. El escritor Gary Marcus ha criticado el NLP basada en el aprendizaje profundo por generar un lenguaje sofisticado que induce a los usuarios a creer que los algoritmos de lenguaje natural entienden lo que están diciendo y asumen erróneamente que son capaces de un razonamiento más sofisticado de lo que es posible actualmente. Desafíos en la comprensión del lenguaje natural Hasta el día de hoy, también el problema de la comprensión del lenguaje natural sigue siendo el más crítico para dar sentido y procesar el texto. Las cuestiones aún no resueltas incluyen encontrar el significado de una palabra o un sentido de palabra, determinar los alcances de los cuantificadores, encontrar referentes de la anáfora, la relación de los modificadores con los sustantivos e identificar el significado de los tiempos verbales con los objetos temporales. Representar e inferir el conocimiento mundial, y el conocimiento común en particular, también es difícil. Además, sigue habiendo desafíos en la pragmática: una sola frase puede usarse para informar, para engañar sobre un hecho o la creencia del hablante al respecto, para llamar la atención, recordar, mandar. La interpretación pragmática parece ser abierta, y difícil de ser comprendida por las máquinas. Ambigüedad El principal desafío de la NLP es la comprensión y el modelado de elementos dentro de un contexto variable. En un lenguaje natural, las palabras son únicas, pero pueden tener diferentes significados dependiendo del contexto, lo que resulta en ambigüedad en los niveles léxico, sintáctico y semántico. Para resolver este problema, ofrece varios métodos, como evaluar el contexto o introducir el etiquetado POS, sin embargo, comprender el significado semántico de las palabras en una frase sigue siendo una tarea abierta. Sinonimia Otro fenómeno clave de las lenguas naturales es el hecho de que podemos expresar la misma idea con diferentes términos que también dependen del contexto específico. En las tareas de PNL, es necesario incorporar el conocimiento de sinónimos y diferentes formas de nombrar el mismo objeto o fenómeno, especialmente cuando se trata de tareas de alto nivel que imitan el diálogo humano. Correferencia El proceso de encontrar todas las expresiones que se refieren a la misma entidad en un texto se denomina resolución de correferencia. Es un paso importante para muchas tareas de NLP de nivel superior que implican la comprensión del lenguaje natural, como el resumen de documentos, la respuesta a preguntas y la extracción de información. Personalidad, intención, emociones y estilo Dependiendo de la personalidad del autor o del orador, su intención y emociones, también pueden usar diferentes estilos para expresar la misma idea. Algunos de ellos (como la ironía o el sarcasmo) pueden transmitir un significado que es opuesto al literal. A pesar de que el análisis de sentimiento fue objeto de un gran progreso en los últimos años, la comprensión correcta de la pragmática del texto sigue siendo una tarea abierta. Después de completar esta clase, deberías ser capaz de: - Entender cómo funciona el NLP; - Describir para qué se utiliza y sus diferentes aplicaciones; - Mencionar sus principales técnicas; - Conocer los modelos más famosos; - Nombrar qué lenguajes, librerías y frameworks se utilizan, y; - Debatir sobre las limitaciones y sus desafíos. Como pudiste leer a lo largo del documento, esta clase sobre Procesamiento del Lenguaje Natural (NLP) abordó los fundamentos del NLP, sus aplicaciones, técnicas y modelos principales. Aprendimos sus conceptos y enfoques, así como diferentes aplicaciones en la vida real. Pudimos ver las principales técnicas utilizadas con los lenguajes, librerías y frameworks utilizados y conocer algunos de los modelos más famosos. Además, pusimos en la mesa las limitaciones y desafíos del NLP, lo que nos permite comprender mejor las complejidades de procesar el lenguaje natural y ser capaces de debatir sobre los problemas actuales y futuros en este campo. La próxima clase nos encontraremos con la resolución de problemas generales, que es un aspecto fundamental de la IA. Exploraremos qué son y cómo se abordan, incluyendo técnicas como la búsqueda heurística, algoritmos de optimización y algoritmos de aprendizaje automático. Veremos ejemplos de aplicación en diversos contextos, como la planificación de rutas, la toma de decisiones en entornos complejos y la optimización de recursos en industrias como la logística y la producción. Además, como siempre, discutiremos las limitaciones y retos de la resolución de problemas generales, como la complejidad computacional, la incertidumbre y la falta de datos precisos. Referencias -> Natural Language Processing (NLP) [A Complete Guide] | deeplearning.ai -> Biggest Open Problems in Natural Language Processing | Medium -> The Power of Natural Language Processing | Harvard Business Review