Explorando NLP – Iniciando NLP (Paso #4)

Explorando NLP - Iniciando NLP (Paso #4)

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

Explorando y dominando NLP: Un viaje a través de las profundidades

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

VoAGI.com

¡Bienvenido de nuevo! Continuando con la serie, compartiré algunas de mis notas sobre (principalmente) etiquetado POS. Me gustaría agradecer especialmente al Sr. Sachin Kumar S de CEN, Amrita Coimbatore, por impartir este curso para mí este semestre, y parte de la información e imágenes recopiladas aquí provienen de los recursos y materiales proporcionados o creados por él.

Etiquetado POS (Partes del Habla):

Es el nivel más bajo del análisis sintáctico. Es la tarea de asignar etiquetas de Parte del Habla a las palabras.

Este tipo de etiquetado de secuencia también se puede observar en el etiquetado de secuencias genéticas en el análisis del genoma.

Dada una oración, digamos, “Parece chocolate”, las etiquetas POS serían las siguientes:

PRP es pronombre personal, VB significa verbo, IN significa preposición o conjunción subordinante y N significa sustantivo, etc.

Clases abiertas y cerradas:

Las clases abiertas son clases a las que se agregan palabras nuevas con frecuencia. Ejemplo: sustantivos, verbos, etc. En cambio, en las clases cerradas, tienen un conjunto predefinido de palabras que pertenecen a esas clases, como, por ejemplo, artículos.

En el etiquetado POS, hay un problema de ambigüedad, ya que las palabras a menudo tienen más de una etiqueta POS. Por ejemplo, “like” puede asignarse tanto las etiquetas IN como VB.

Los tipos de etiquetas pueden ser de dos tipos: de granulado grueso y de granulado fino.

  1. Los tipos de etiquetas de granulado grueso incluyen sustantivos, verbos, adjetivos, etc.

2. Los de granulado fino incluyen nombre-propio-singular, verbo-pasado, adjetivo-simple, etc.

Formas de encontrar etiquetas POS:

  1. Predicción punto a punto: predecir cada etiqueta de token individualmente utilizando un clasificador
  2. Modelo de secuencia generativo – utilizando HMM (Modelo Oculto de Markov)
  3. Modelos de secuencia discriminativos – CRF (Campo Aleatorio Condicional), predicción estructurada, etc.

HMM para el etiquetado POS:

Estados observables: palabras en la secuencia/oración dada

Estados ocultos/no observados: etiquetas POS

Para calcular la probabilidad asociada con una secuencia particular de etiquetas, en HMM se utilizan las probabilidades de transición y emisión.

  1. Una transición ocurre de un estado oculto a otro o los estados ocultos tienen una transición de un estado al siguiente estado oculto. Se asocia cierta probabilidad al moverse de un estado a otro, lo cual se conoce como probabilidad de transición.
  2. La emisión corresponde a generar un token a partir de un estado oculto. Se asocia cierta probabilidad a un estado oculto dado para generar un token

Supuestos realizados en HMM:

Fuerza bruta:

Etiquetemos la oración con etiquetas de POS aleatorias, por ejemplo, “It/PRP looks/N like/PRP chocolate/VB”. Ahora calculemos la probabilidad de la secuencia.

Etiquetemos la oración con las etiquetas correctas de POS, por ejemplo, “It/PRP looks/VB like/IN chocolate/N”. Ahora calculemos la probabilidad de la secuencia.

Algoritmo de Viterbi:

El algoritmo de Viterbi es un método de programación dinámica para encontrar la secuencia más probable de etiquetas o estados ocultos. Es una forma de optimizar HMM para encontrar los estados ocultos más probables.

En la oración dada, “It looks like Chocolate”, el token “like” tiene dos etiquetas de POS, VB e IN. Se elimina el camino con la probabilidad más baja y el pase hacia atrás da el camino o la secuencia.

En este ejemplo, la probabilidad de la secuencia <S> PRP VB VB N <E> se convierte en 0.

Aquí hay un fragmento del código que había escrito para Viterbi. Publicaré el código aquí pronto.

Referencias:

  1. https://universaldependencies.org/docsv1/en/pos/all.html#al-en-pos/ADJ
  2. https://universaldependencies.org/u/pos/
  3. https://youtu.be/IqXdjdOgXPM
  4. https://www.freecodecamp.org/news/an-introduction-to-part-of-speech-tagging-and-the-hidden-markov-model-953d45338f24/
  5. https://www.mygreatlearning.com/blog/pos-tagging/
  6. Speech and Language, Jurafsky

Partes anteriores de esta serie:

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

Parte #2: https://medium.com/@deepthi.sudharsan/exploring-nlp-kickstarting-nlp-step-2-157a6c0b308b

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