Algoritmos Evolutivos en problemas de Procesamiento de Lenguaje Natural y Minería de Opinión

INFOTEC

Aguascalientes, México

INFOTEC

Centro de Investigación del Gobierno Federal, que contribuye a la Transformación Digital de México, a través de la investigación, la innovación, la formación académica y el desarrollo de productos y servicios TIC. Sus alcances abarcan al sector público y privado, habilitando caminos que conduzcan hacia un México moderno y de inclusión digital.

Introducción

Definiciones

Inteligencia Artificial (IA)

Conjunto de teorías, métodos y algoritmos para el desarrollo y estudio de sistemas que presentan un comportamiento que sería identificado como inteligente.

Aprendizaje Computacional

Subárea de IA que estudia el desarrollo e implementación de algoritmos capaces de aprender de datos de manera autónoma sin haber sido explícitamente programados.

Procesamiento de Lenguaje Natural

Conjunto de teorías, métodos y algoritmos para el desarrollo y estudio de sistemas que permitan el entendimiento, generación y manipulación del lenguaje humano.

Percepción de Inteligencia Artificial (IA)

Así la vemos

Así está

Minería de opinión

Minería de opinión Dave et al. (2003)

Definición Liu (2012)

Estudia las opiniones, valoraciones, actitudes y emociones de las personas hacia entidades, individuos, eventos y sus atributos.

Definición formal

  • \(e_i\) - Entidad
  • \(a_{ij}\) - Aspecto of \(e_i\)
  • \(o_{ijkl}\) - Orientación de la opinión
  • \(h_k\) - Fuente de la opinión
  • \(t_l\) - Tiempo

Entidad

Producto, servicio, persona, evento, organización o tópico.

Aspecto

Componente o atributo de la entidad

Tareas de la minería de opinión

Tareas

  • Identificación de la entidad
  • Identifación de los aspectos / considerando la entidad
  • Fuente de la opinión y tiempo
  • Orientación de la opinión

Aprendizaje computacional

Aprendizaje computacional

Tipos de aprendizaje computacional

  • Aprendizaje no supervisado
  • Aprendizaje supervisado
  • Aprendizaje por refuerzo

Aprendizaje no supervisado

Aprendizaje por refuerzo

  • Juegos
  • Actividades
  • Retroalimentación al final

Aprendizaje supervisado

Clasificador lineal

Algoritmos evolutivos

Definición

Algoritmos de búsqueda aleatoria inspirados en fenómenos naturales, como la supervivencia del más apto y la herencia, utilizados para resolver problemas de optimización.

Aplicaciones de Procesamiento de Lenguaje Natural

Aplicaciones de PLN (1/2)

Aplicaciones

  • Minería de opinión
    • positivo :) neutro :|negativo :(
  • Análisis de tópicos
  • Carga emotiva de un mensaje: enojo, anticipación, disgusto, miedo, gozo, tristeza, sorpresa, confianza.
  • Identificación de humor
  • Identificación de lenguaje de odio

Aplicaciones de PLN (2/2)

Aplicaciones

  • Predicción indicadores socio-demográficos de usuarios de redes, e.g., edad, sexo, lugar de procedencia, ocupación
  • Identificación de autoría: ¿quiénes escriben?, ¿cómo escriben?, ¿sobre qué escriben?
  • Entender como se comportan usuarios, ¿qué desean?, ¿por qué?
  • Medición de discurso de odio en redes sociales, e.g., xenofobia, racismo, misoginia, cyberbulling.
  • Identificación de posibles trastornos mentales, e.g., ansiedad, depresión, adicciones.
  • Aplicaciones a seguridad, salud, políticas públicas, economía y finanzas.

Algunos retos

Retos

  • Escritos informales: muchos errores, onomatopeya, importación de términos, variaciones regionales, emojis, entre muchos otros.
  • Contextos cortos, conocimiento del mundo.
  • Negación, sarcasmo, ironía, humor.
  • Semántica.
  • Recursos lingüísticos reducidos para lenguajes diferentes del inglés.
  • Multimedios.

Clasificación de Textos

Clasificación de Textos

Definición

El objetivo es la clasificación de documentos en un número fijo de categorías predefinidas.

Polaridad

El día de mañana no podré ir con ustedes a la librería

Negativa

Tareas de Clasificación de Textos

Polaridad

Positiva, Negativa, Neutral

Emoción (Multiclase)

  • Ira, Alegría, …
  • Intensidad de una emoción

Evento (Binaria)

  • Violento
  • Delito

Perfilado de autores

Género

Hombre, Mujer, No binario, …

Edad

Niño, Adolescente, Adulto

Variedad de Lenguaje

  • Español: España, Cuba, Argentina, México, …
  • Inglés: Estados Unidos, Inglaterra, …

Modelado medianate bolsa de palabras

Representación de Texto

Bolsa de palabras

  • Asociar cada palabra a un identificador.
    • de \(\rightarrow\) 1.
    • que \(\rightarrow\) 2.
    • buenos \(\rightarrow\) 216.
    • dias \(\rightarrow\) 101.

buenos días

\((216, 101)\)

La bolsa no tiene orden

\((101, 216)\)

Modelo lineal

\(y = \sigma( \sum_{i \in (100, 215)} w_i x_i + w_0)\)

Parámetros

\(x_i\) TFIDF / \(w_i\) valor estimado

Representación de Texto (2)

Bolsa de Palabras / Limitantes

  • No existe similitud entre palabras.
  • Se pierde el orden.
  • Vector disperso.

Embeddings estáticos

  • Hipótesis distribucional.
  • Similitud entre palabras.
  • Vector denso.

Embeddings estáticos / limitantes

  • Se pierde el orden.
  • Independientes del contexto.

Dialect Identification (DialectId)

Datos

Datos georeferenciados en español

¿Qué se puede hacer con los datos?

  • Muchos textos
  • Cada texto asociado a un pais

Problema

  • Clasificación de texto

DialectId

¿Qué es?

DialectId es un clasificador de texto basado en una representación de Bolsa de Palabras (BoW, por sus siglas en inglés, Bag of Words), utilizando SVM lineal como clasificador.

Procesamiento de normalización

  • Caracteres en minúsculas
  • Eliminar lo diacríticos
  • Remplazar nombres de usuario por “_usr”
  • Remplazar URLs por “_url”

Conjunto entrenamiento

Los tokens y sus pesos fueron estimados usando un conjunto de entrenamiento de cada idioma (medio millón por pais).

DialectId (1/2)

Modelado por bolsa de palabras

  • Cada texto es un vector en \(R^{v}\)
  • Modelo lineal
  • mexico = \(\textsf{sign}(\sum_i^v w_i x_i + w_0)\)
  • \(\mathbf w=(w_1, w_2, \ldots, w_v)\)

Dendograma

Similutud entre países hispanohablantes

Mapa

Conclusiones

Temas

Técnicas

  • Inteligencia artificial
  • Aprendizaje computacional
  • Procesamiento de lenguaje natural

Tareas

  • Clasificación de texto
  • Identificación de dialectos

DialectId

from dialectid import DialectId

detect = DialectId(lang='es')
detect.predict(['son pololos', 'pues vámonos'])
array(['cl', 'mx'], dtype='<U2')

¡Gracias!

Referencias

Dave, Kushal, Steve Lawrence, y David M Pennock. 2003. «Mining the peanut gallery: Opinion extraction and semantic classification of product reviews». Proceedings of the 12th international conference on World Wide Web, 519-28.
Liu, Bing. 2012. «Sentiment analysis and opinion mining». Morgan & Claypool Publishers 168.