Analisi del Sentiment con MindsDB e OpenAI usando SQL
Introduzione
In questo post del blog, ti mostriamo come creare modelli OpenAI all'interno di MindsDB. In questo esempio, ci concentreremo sull'analisi del sentiment, dove andiamo a capire le emozioni dietro un testo. I dati di input provengono dal nostro campione di database MySQL.
Prerequisiti
Per seguire il tutorial, installa MindsDB localmente tramite Docker o Docker Desktop.
Tutorial
In questo tutorial, creiamo un modello predittivo per inferire le emozioni dietro un testo, un compito noto come analisi del sentiment. Utilizziamo una tabella dal nostro database pubblico MySQL, quindi iniziamo collegando MindsDB a esso:
CREATE DATABASE mysql_demo_db WITH ENGINE = 'mysql', PARAMETERS = { "user": "user", "password": "MindsDBUser123!", "host": "samples.mindsdb.com", "port": "3306", "database": "public" };
Ora che abbiamo collegato il nostro database a MindsDB, andiamo a interrogare i dati che utilizzeremo nell'esempio:
SELECT * FROM mysql_demo_db.amazon_reviews LIMIT 3;
Output
Ecco il risultato:
product_name | review |
---|---|
All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi, 16 GB - Includes Special Offers, Magenta | Regalo in ritardo per mio nipote. È super felice! Facile da usare per lui (9 anni). |
All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi, 16 GB - Includes Special Offers, Magenta | Non sono proprio entusiasta del sistema operativo proprietario, ma funziona bene e fa il suo dovere. |
All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi, 16 GB - Includes Special Offers, Magenta | Ho preso questo Kindle Fire HD 8 per i miei nipoti di 5 e 8 anni. Loro lo adorano! |
Adesso creiamo una tabella modello per identificare il sentiment di tutte le recensioni:
Prima di creare un modello OpenAI, devi creare un motore, fornendo la tua chiave API di OpenAI:
CREATE ML_ENGINE openai_engine FROM openai USING openai_api_key = 'your-openai-api-key';
CREATE MODEL sentiment_classifier_model PREDICT sentiment USING engine = 'openai_engine', prompt_template = 'descrivi il sentiment delle recensioni come "positivo", "neutro" o "negativo". "Adoro il prodotto":positivo "È una truffa":negativo "{{review}}.":';
In pratica, la dichiarazione CREATE MODEL
fa sì che MindsDB generi una tabella AI chiamata sentiment_classifier_model
che utilizza l'integrazione con OpenAI per prevedere una colonna chiamata sentiment. Il modello vive all'interno del progetto predefinito di MindsDB. In MindsDB, i progetti sono un modo naturale per tenere separati gli artefatti, come modelli o viste, a seconda del compito predittivo che risolvono.
La clausola USING
specifica i parametri richiesti da questo gestore. Il parametro engine definisce che utilizziamo il motore OpenAI. Il parametro prompt_template
comunica la struttura di un messaggio che deve essere completato con testo aggiuntivo generato dal modello.
Segui queste istruzioni per impostare l'integrazione di OpenAI in MindsDB. Una volta che la dichiarazione CREATE MODEL
ha iniziato l'esecuzione, possiamo controllare lo stato del processo di creazione con la seguente query:
DESCRIBE sentiment_classifier_model;
Potrebbe richiedere un po' di tempo per registrarsi come completato, a seconda della connessione internet. Una volta completata la creazione, il comportamento è lo stesso di qualsiasi altra tabella AI – puoi interrogarla specificando dati sintetici nella query:
SELECT review, sentiment FROM sentiment_classifier_model WHERE review = 'Va bene.';
Output Data
Ecco i dati di output:
review | sentiment |
---|---|
Va bene. | neutro |
Oppure unendo con un'altra tabella per previsioni in batch:
SELECT input.review, output.sentiment FROM mysql_demo_db.amazon_reviews AS input JOIN sentiment_classifier_model AS output LIMIT 3;
Output Data
Ecco i dati di output:
| review | sentiment | |------------------------------------------------------------------------------------------------------+-----------| | Regalo in ritardo per mio nipote. È super felice! Facile da usare per lui (9 anni). | positivo | | Non sono proprio entusiasta del sistema operativo proprietario, ma funziona bene e fa il suo dovere. | positivo | | Ho preso questo Kindle Fire HD 8 per i miei nipoti di 5 e 8 anni. Loro lo adorano! | positivo |
La tabella amazon_reviews
viene utilizzata per fare previsioni in batch. Unendo il modello sentiment_classifier_model
con la tabella amazon_reviews
, il modello utilizza tutti i valori dalla colonna delle recensioni.
Sfrutta le Capacità NLP con MindsDB
Integrando database e OpenAI tramite MindsDB, gli sviluppatori possono facilmente estrarre intuizioni dai dati testuali con solo alcune query SQL. Questi potenti modelli di elaborazione del linguaggio naturale (NLP) sono in grado di rispondere a domande con o senza contesto e completare richieste generali. Inoltre, questi modelli sono alimentati da grandi modelli di linguaggio pre-addestrati di OpenAI, quindi non c'è bisogno di lavoro di sviluppo manuale. In definitiva, questo offre agli sviluppatori un modo semplice per incorporare potenti capacità NLP nelle loro applicazioni, risparmiando tempo e risorse rispetto ai tradizionali pipeline e metodi di sviluppo ML.
In sintesi, MindsDB consente agli sviluppatori di sfruttare il potere di OpenAI in modo efficiente! MindsDB è ora la piattaforma di machine learning applicato open-source in più rapida crescita al mondo. La sua comunità continua a contribuire a oltre 70 integrazioni di fonti di dati e framework ML. Rimanete sintonizzati per le prossime funzionalità - incluso un maggiore controllo sui parametri dell'interfaccia e la possibilità di affinare i modelli direttamente da MindsDB!
Conclusione
Sperimenta con i modelli OpenAI all'interno di MindsDB e sblocca la capacità di ML sui tuoi dati in pochi minuti. Infine, se la visione di MindsDB di democratizzare il ML ti sembra interessante, unisciti al nostro Slack comunitario, dove puoi ricevere aiuto e trovare persone con cui chiacchierare sull'uso di altre fonti di dati disponibili, framework ML o scrivere un gestore per portare il tuo!
Segui la nostra introduzione all'integrazione di OpenAI di MindsDB qui. Inoltre, abbiamo una varietà di tutorial che utilizzano MySQL e MongoDB:
- Risposta a Domande in MySQL
- Riepilogo di Testi in MySQL
- Analisi del Sentiment in MongoDB
- Risposta a Domande in MongoDB
- Riepilogo di Testi in MongoDB
Cosa c'è dopo?
Divertiti a provarlo tu stesso! Aggiungi ai segnalibri il repository di MindsDB su GitHub. Interagisci con la comunità di MindsDB su Slack o GitHub per fare domande e condividere idee e pensieri. Se questo tutorial ti è stato utile, per favore lasciaci una stella su GitHub.