Análisis de Sentimientos con MindsDB y OpenAI usando SQL
Introducción
En este artículo, exploraremos cómo crear modelos de OpenAI dentro de MindsDB para realizar análisis de sentimientos. Utilizaremos datos de una base de datos MySQL de muestra para inferir las emociones detrás de un texto.
Requisitos Previos
Para seguir este tutorial, asegúrate de tener MindsDB instalado localmente a través de Docker o Docker Desktop.
Tutorial Paso a Paso
1. Conectar a la Base de Datos
Primero, conectemos MindsDB a nuestra base de datos:
CREATE DATABASE mysql_demo_db WITH ENGINE = 'mysql', PARAMETERS = { "user": "user", "password": "MindsDBUser123!", "host": "samples.mindsdb.com", "port": "3306", "database": "public" };
2. Consultar Datos
Ahora que hemos conectado nuestra base de datos, consultemos algunos datos:
SELECT * FROM mysql_demo_db.amazon_reviews LIMIT 3;
Salida:
product_name | review |
---|---|
All-New Fire HD 8 Tablet | Regalo tardío para mi nieto. Está muy feliz con él. Fácil para él (9 años). |
All-New Fire HD 8 Tablet | No estoy muy emocionado con el sistema operativo propietario, pero funciona bien. |
All-New Fire HD 8 Tablet | Compré este Kindle Fire HD 8 para mis nietos de 5 y 8 años. Básicamente... |
3. Crear un Modelo de Sentimiento
Ahora, vamos a crear un modelo para identificar el sentimiento de todas las reseñas:
CREATE ML_ENGINE openai_engine FROM openai USING openai_api_key = 'tu-clave-api-openai';
CREATE MODEL sentiment_classifier_model PREDICT sentiment USING engine = 'openai_engine', prompt_template = 'describe el sentimiento de las reseñas estrictamente como "positivo", "neutral" o "negativo". "Me encanta el producto":positivo "Es una estafa":negativo "{{review}}.":';
4. Consultar el Estado del Modelo
Para verificar el estado de creación del modelo:
DESCRIBE sentiment_classifier_model;
5. Realizar Predicciones
Una vez que el modelo esté listo, puedes realizar predicciones:
SELECT review, sentiment FROM sentiment_classifier_model WHERE review = 'Está bien.';
Salida:
review | sentiment |
---|---|
Está bien. | neutral |
O para predicciones por lotes:
SELECT input.review, output.sentiment FROM mysql_demo_db.amazon_reviews AS input JOIN sentiment_classifier_model AS output LIMIT 3;
Salida:
review | sentiment |
---|---|
Regalo tardío para mi nieto. Está muy feliz con él. | positivo |
No estoy muy emocionado con el sistema operativo propietario. | positivo |
Compré este Kindle Fire HD 8 para mis nietos. | positivo |
Conclusión
Integrando bases de datos y OpenAI a través de MindsDB, los desarrolladores pueden extraer fácilmente información de datos textuales con solo unos pocos comandos SQL. MindsDB permite a los desarrolladores aprovechar el poder de OpenAI de manera eficiente, ahorrando tiempo y recursos en comparación con los métodos tradicionales de desarrollo de ML.
¡Prueba MindsDB!
Si te emociona la visión de MindsDB para democratizar el ML, únete a nuestra comunidad en Slack para obtener ayuda y compartir ideas. ¡Diviértete experimentando con los modelos de OpenAI dentro de MindsDB y desbloquea la capacidad de ML sobre tus datos en minutos!