Explorando el Procesamiento del Lenguaje Natural – Inicio de NLP (Paso #2)

Inicio de NLP (Paso #2)

Si eres nuevo en mi serie “Explorando NLP”, por favor revisa mi artículo introductorio aquí.

Explorando y Dominando NLP — Un viaje por las profundidades

Hola, soy Deepthi Sudharsan, una estudiante de tercer año que cursa B.Tech en Inteligencia Artificial. Dado que ya estoy…

VoAGI.com

Recientemente, como parte de un proceso de entrevista, se me pidió explorar dos preguntas y en el camino, aprendí algunos conceptos nuevos. Aquí está mi descripción para las dos preguntas.

PREGUNTA 1:

Foto de Claudio Schwarz en Unsplash

Tenemos algunos datos etiquetados en Hindi e Inglés. Quiero saber cómo obtener etiquetas para contenido en otros idiomas. Veamos un ejemplo.

Observa los temas presentados en Hindi e Inglés. Hay categorías como “Entretenimiento”, “Gobierno”, “Salud”, etc. Muchos de estos están clasificados (algunos manualmente y otros mediante Clasificadores Neuronales Profundos). Entonces, dado que tenemos datos etiquetados en Inglés, ¿puedo usarlos como entrenamiento para encontrar, por ejemplo, contenido relacionado con el entretenimiento en Tamil o Kannada? ¿Los modelos multilingües ayudarán de alguna manera?

Por ejemplo, digamos que tengo muchos datos en Hindi e Inglés, ¿qué puedo hacer con los datos para que de alguna manera ayuden a entender cuáles son las etiquetas en otros idiomas, como Tamil, Kannada, Telugu, etc.? Digamos que tomo datos etiquetados en Hindi/Inglés y los traduzco al Tamil. La etiqueta original en Inglés en Koo dice “Entretenimiento”, y la traduzco al Tamil. Y digamos que nadie ha escrito este contenido en la plataforma, pero ¿hay contenido similar escrito en la plataforma? ¿Ayudará si tomo la versión traducida de Koo, de Inglés a Tamil? No hay contenido en esta etiqueta en Tamil, pero ¿hay contenido similar que pueda estar relacionado? ¿Es eso posible?

MIS APRENDIZAJES E INVESTIGACIÓN:

Es posible tomar contenido relacionado con, por ejemplo, la categoría “பொழுதுபோக்கு” que es “entretenimiento” en Tamil (y dado que no hay contenido en la categoría de entretenimiento aún).

Podemos utilizar modelos multilingües como BERT. Incluso podemos realizar traducción automática y etiquetar los datos, y utilizar técnicas como aprendizaje sin ejemplos (Si no tenemos datos de entrenamiento, es posible etiquetar los datos utilizando esto. Es la tecnología utilizada por Google Translate para traducir una frase de un idioma a otro). Supongamos que quieres traducir una frase en Tamil a un idioma africano. Nunca encontrarás un conjunto de datos que contenga frases en Tamil y las correspondientes traducciones en ese idioma africano. Sin embargo, con la técnica de aprendizaje sin ejemplos, Google Translate puede hacer la traducción. Por lo tanto, si tenemos un modelo multilingüe, es posible etiquetar datos de otro idioma utilizando técnicas como aprendizaje sin ejemplos, etc.

Para encontrar contenido “relacionado”, podemos utilizar embeddings de palabras (Por ejemplo, el enfoque distribucional, Word2vec que puede aprender asociaciones de palabras de un corpus grande, GloVe, etc.). Para encontrar embeddings de palabras para corpora de lenguajes indios, se pueden utilizar embeddings de palabras pre-entrenados como fastText, iNLTK, indicBERT, etc. Podemos utilizar modelos de embeddings de palabras pre-entrenados de bibliotecas como HuggingFace. BERT es un ejemplo que se puede utilizar, ya que utiliza el concepto de similitud basado en contexto. Con esto, podemos encontrar categorías y contenido relacionados.

PREGUNTA 2:

Cortesía: https://www.techslang.com/definition/what-is-named-entity-recognition-ner/

Imaginemos que tomamos contenido en hindi y lo traducimos al inglés y luego ejecutamos un reconocedor de entidades nombradas en esto. Pero, al igual que iNLTK, necesitamos desarrollar nuestros propios reconocedores de entidades nombradas para los idiomas indios. Identificar nombres de personas, lugares y otras entidades utilizando reconocedores de entidades nombradas para idiomas indios. Tomemos la clasificación y el reconocimiento de entidades nombradas (NER) para el tamil como ejemplo.

MIS APRENDIZAJES E INVESTIGACIÓN:

Los NER se utilizan para identificar sustantivos propios en un texto y clasificarlos en categorías apropiadas según el dominio (General, Ciberseguridad, etc.). No todos los nombres propios necesariamente son sustantivos propios, ya que existen entidades como entidades colectivas, cantidades, fechas, etc. Identificar “sustantivos propios” utilizando NER tiene algunas desventajas que deben abordarse durante el diseño y desarrollo de NER.

El número de sustantivos propios por oración es muy limitado. Por lo tanto, si tomamos un conjunto de datos grande, el número de sustantivos propios será mucho menor, lo que significa que las palabras que caen en la categoría “otro” serán más que los sustantivos propios, lo que genera un desequilibrio de datos enorme. El desequilibrio se puede abordar utilizando aprendizaje con costos sensibles, etc. (No es viable el sobremuestreo para el corpus extremadamente grande).

El siguiente problema es el de la ambigüedad. Washington podría ser un lugar o el nombre de una persona. Pero esto también se puede manejar comprendiendo el contexto. Para este propósito, podemos usar RNR bidireccionales, LSTMs, HMM, campos aleatorios condicionales, etc. También se pueden usar transformadores como BERT, que pueden capturar contexto/información bidireccional. Para el preprocesamiento, podemos usar etiquetadores POS y luego pasar a la clasificación una vez que se haya realizado el preprocesamiento.

Al abordar el problema de desarrollar NER para idiomas indios (los idiomas dravídicos, por ejemplo), el problema que dificulta el proceso es la falta de datos estándar de oro o plata para los idiomas dravídicos. El vocabulario de los idiomas dravídicos es más amplio que el inglés y los idiomas son morfológicamente ricos. Debido a la complejidad del idioma, es difícil desarrollar NER precisos, lo que hace que su desarrollo sea un proceso continuo.

Aún podemos convertir el texto en el otro idioma al inglés y pasarlo a través de un NER, aunque esto solo sería viable si la traducción es lo suficientemente precisa. Entidades como los nombres serán los mismos independientemente del idioma. “Curry” es “curry” tanto en tamil como en inglés. Por lo tanto, necesitamos traducir el texto en tamil de manera precisa al inglés para pasarlo a través de un NER. Podemos usar modelos de traducción de texto multilingüe pre-entrenados para este proceso, aunque no se garantizan resultados precisos para idiomas con corpus de tamaño escaso. Así que podremos desarrollar eficientemente un NER para idiomas indios si podemos recopilar datos de estándar de oro y podemos traducir eficientemente y comprender con precisión el uso de las palabras polisémicas.

Partes anteriores de esta serie:

Parte #1: https://medium.com/@deepthi.sudharsan/exploring-nlp-kickstarting-nlp-step-1-e4ad0029694f

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

ChatGPT tiende hacia el liberalismo

Investigaciones realizadas por científicos de la Universidad de East Anglia en el Reino Unido sugieren que el ChatGPT...

Inteligencia Artificial

Alibaba libera el modelo de IA de código abierto para competir con Meta y potenciar a los desarrolladores

En un desarrollo significativo, Alibaba, el gigante chino del comercio electrónico, ha decidido abrir su potente mode...

Inteligencia Artificial

Comprendiendo el Lado Oscuro de los Modelos de Lenguaje Grandes Una Guía Completa sobre Amenazas de Seguridad y Vulnerabilidades

Los LLM se han vuelto cada vez más populares en la comunidad de procesamiento de lenguaje natural (NLP, por sus sigla...

Inteligencia Artificial

Investigadores de UCSD y Microsoft presentan ColDeco una herramienta de inspección sin código para columnas calculadas.

En el artículo “COLDECO: una herramienta de inspección de hojas de cálculo para código generado por IA” u...