Archivo de la etiqueta: algoritmos

ANÁLISIS NLP de discursos presidenciales en eua: biden vs trump – datlas investigación

La semana pasada el protagonismo para la audiencia en Estados Unidos de América y la mayoría de países del mundo fue el cambio en el liderazgo presidencial del país. Después de unas controversiales votaciones, Joe Biden del partido Democrático ganó y paso a ser el nuevo presidente de los Estado Unidos por un período de 4 años.

Dejando atrás la controversia electoral, en esta columna nos enfocamos a desarrollar un análisis de NLP (Natural Language procesing o procesamiento de lenguaje natural) de los discursos presidenciales. Por un lado el de salida desarrollado por Donald Trump y por otro lado el de entrada, ejecutado por Joe Biden.

Te pudiera interesar los análisis que hemos hecho para los discursos de AMLO, el presidente de México, en el 2018 y 2019.

¿Qué es el procesamiento de Lenguaje natural o NLP?

Es un campo de la inteligencia artificial que estudia las interacciones entre computadoras y el lenguaje humano. Son utilizados en el estudio de discursos escritos o hablados. En este caso, por ejemplo, de un discurso presidencial.

El discurso de salida de Donald TRUMP

El discurso de salida de la presidencia de Trump estuvo cargado de agradecimientos y mensajes que algunos consideran de “venganza” o dejando claro que “regresará” de alguna u otra manera al escenario político de Estados Unidos. Si quieres leer el discurso completo te recomendamos ver la siguiente liga.

Como primer paso, pre-procesamos el discurso y lo dividimos en distintos enunciados más pequeños para que pueda ser procesado correctamente. Usando la librería ” library(SentimentAnalysis) ” en R contamos la cantidad de palabras por cada uno de los enunciados.

Posteriormente, y tomando en cuenta un diccionario de palabras que asocia cada término con un puntaje que representa 3 niveles de connotación en cada palabra: negativa, neutral o positiva, se analiza el nivel de cada uno de los enunciados.

Es posible obtener el nivel generalizado de cada uno de los enunciados su nivel. En ese sentido encontramos que para el discurso de trump 20 de los 23 enunciados desarrollados fueron con una mayor carga positiva

Respecto a las palabras, podemos realizar un conteo de las más usadas y así construir una “nube de palabras” que nos ayudará a entender un poco más el tipo de lingüística preferido por el presidente en este discurso

En concreto, este discurso tiene una carga de agradecimiento como es de entender de alguien que deja su cargo. Muy enfocado a las personas y elaborando comentarios sobre los temas problemáticos con los que se despide su gobierno. Muy al estilo Trump, algunas palabras denotan extremos, pero generarán empatía con su seguidores y partido.

El discurso de entrada de JOE BIDEN

Corriendo un proceso similar, tan sencillo como replicar el código, pre-procesamos el discurso de BIDEN que puedes encontrarlo aqui.

Respecto a la carga de mensajes, 45 de los 53 mensajes tuvieron una carga positiva. En proporción, menos que los de TRUMP, y mayormente porque algunas emociones que provocaría BIDEN en su discurso serían para provocar preocupación de la situación “caótica” en la que le “entregan” al gobierno.

Cuando revisamos las palabras más frecuentes del discurso encontramos terminología clásica en discursos presidenciales. Tales como “América”, “Nación”, “Democracia”, “Presidente” y “personas”. Con estas palabras invoca mensajes a una audiencia específica, al pueblo de los Estados Unidos.

Aqui una imagen generada con esta información

¿Para qué nos puede servir el análisis de NLP?

  • Analizar tickets de clientes
  • Clasificar prioridad de dudas o mensajes
  • Entender el contexto y campos de texto en variables
  • Generar predicciones
  • Entre otros…

Los mejores usos a este tipo de métodos se les da en aplicativos usando datos de redes sociales. Como es el caso de Twitter. Por ejemplo, aqui se analizan los datos de los últimos 250 tweets al corte de @JoeBiden

Hasta aqui la columna de hoy, cuéntanos en nuestras redes sociales @DatlasMX qué otro tipo de aplicaciones existen para NLP. Comparte y suscríbete a nuestras cuentas.

Equipo Datlas

– Keep it weird-

Asi detectas unas cheves con tensorflow – Datlas research

“Alexa, pasame una Heineken”. Una instrucción sencilla para una persona, una tarea compleja para una computadora. Esta tarea puede dividirse en subtareas, siendo una de ellas la detección de objetos. Esta es una tecnología relacionada con la visión artificial que busca identificar los objetos semánticos en una imagen. En esta columna compartiremos el proceso que pasamos al realizar un sistema de identificación de cervezas.

En nuestro proyecto de identificación de cervezas contamos con aproximadamente 2500 fotos de cervezas, pudiendo ser un refrigerador lleno o una sola cerveza en la foto. En estas fotos, tuvimos que seleccionar las zonas en las que había una cerveza y asignarle un nombre (el nombre de la cerveza y si era lata, botella o caguama) para poder clasificarlos. Esto se llevó a cabo con LabelImg, cuyo output era un XML con las posiciones y el nombre.

Posterior a esto, seleccionamos el modelo a implementar. Decidimos utlizar Tensorflow con el modelo desarrollado por Nick Bourdakos, Custom-Object-Detection. El primer paso para hacer funcionar este modelo fue generar el TFRecord, el archivo con el que se entrena el modelo. Para esto, los XML no nos servían, ya que requiere un archivo CSV. Usamos la librería de Python Pandas para hacer esta conversión. Luego definimos el label map para que cada nombre tuviera un número que lo identificara. Todo esto lo pasamos por el script para generar los TFRecords, y nuestros datos estaban listos para entrenar el modelo.

Datlas_barra_suscribir

Comenzamos a entrenar el modelo, y nos dimos cuenta que era muy lento, ya que lo estabamos entrenando con nuestras laptops. Para optimizar esto cambiamos a entrenar en Google Colab. Aquí puedes entrenar tu modelo utilizando tarjetas gráficas, aprovechando su capacidad de procesamiento al máximo. Pero encontramos un problema, los archivos eran muy pesados para estar descargandolos cada vez. La solución: subir los archivos a Google Drive, e instalar una biblioteca en Colab para poder traer los archivos de Drive.

Aquí comenzamos la etapa de pruebas con el modelo. Esperábamos un happy path, pero no fue el caso, Encontramos problemas como que la letra era muy pequeña y no se podía leer, o que detectaba un rollo de papel como una cerveza. Este último se debía a que redujimos la confianza para tomar una predicción al 30%. Ambos fueron obstáculos superados.

Para finalizar, se desarrolló el cliente con el cual el usuario podría emplear esto. Se creó una REST API en Django, una aplicación en React Native, y se hicieron llamadas para que la foto tomada por el celular regresara con la respuesta. En este punto sólo se llevó a cabo un cambio, el poner números en las clasificaciones para que no se amontonaran, y presentar el nombre y el porcentaje de confianza de la predicción.

Aqui cierra el blog de hoy. La presencia de esta tecnología puede crear un cambio en el cómo funcionan las cosas. Futuras implementaciones de este tipo de acciones en tiendas serán de utilidad para hacer conteos, inventarios, identificar repisas vacías y/o recibir notificaciones cuando se acabe un producto. Si te gustó la columna te pedimos la compartas y nos dejes tus comentarios

Saludos

(Esta columna fue desarrollada por Jose Luis alias “Ali,” participante en nuestro programa de interns de verano)

Equipo Datlas

-Keep it weird-