I chatbot possono aiutarti a svolgere molte attività e aumentare la tua produttività. Ecco come costruire il tuo chatbot personale con Python.
Costruire un ChatBot con Python è più facile di quanto tu possa pensare inizialmente. I chatbot sono estremamente popolari in questo momento, poiché offrono molti vantaggi alle aziende in termini di esperienza utente.
In questa guida, vedremo come costruire il tuo chatbot personale con Python, passo dopo passo.
Prima di arrivare a ciò, però, impariamo un po’ riguardo ai chatbot e a come funzionano.
Cos’è un Chatbot?
Un chatbot è un pezzo di software basato sull’intelligenza artificiale progettato per comunicare con gli esseri umani. I chatbot possono essere sia auditivi che testuali, il che significa che possono comunicare tramite il linguaggio parlato o il testo.
I chatbot possono essere utilizzati in vari modi. In molti casi, vengono utilizzati per affiancare gli agenti umani nelle vendite o nell’assistenza, dove possono svolgere compiti come la pianificazione di appuntamenti, l’aiuto ai clienti nell’esecuzione di servizi autonomi o la cattura dei dettagli dei potenziali clienti.
Hanno anche altri utilizzi. Ad esempio, ChatGPT per Google Sheets può essere utilizzato per automatizzare processi e ottimizzare flussi di lavoro al fine di risparmiare tempo e risorse ai team di immissione dati.
Oltre il 30% delle persone considera i chatbot principalmente come un modo per ottenere risposte a domande, mentre altri utilizzi popolari includono il pagamento di una fattura, la risoluzione di un reclamo o l’acquisto di un articolo.
Ci sono due tipi principali di chatbot:
Chatbot basati su regole
I chatbot basati su regole interagiscono con gli utenti tramite un insieme di risposte predefinite, che vengono attivate alla rilevazione di parole chiave e frasi specifiche. I chatbot basati su regole non imparano dalle loro interazioni e potrebbero avere difficoltà con domande complesse.
Chatbot basati su intelligenza artificiale
I chatbot basati su intelligenza artificiale imparano dalle loro interazioni utilizzando l’intelligenza artificiale. Questo significa che migliorano nel tempo, diventando capaci di comprendere una maggiore varietà di richieste e fornire risposte più pertinenti.
I chatbot basati su intelligenza artificiale sono più adattivi rispetto a quelli basati su regole e possono quindi essere impiegati in situazioni più complesse.
Lettura consigliata: 7 plugin di ChatGPT per sviluppatori
Cos’è Python?
Non c’è dubbio: oggi, Python è uno dei linguaggi di programmazione informatica più ampiamente utilizzati.
Molti sviluppatori utilizzano Python e i suoi diversi framework e librerie per costruire siti web e software, ma può anche essere utilizzato per condurre analisi di dati, automatizzare compiti e creare una pipeline di dati in Python.
Lettura consigliata: Librerie Python per Data Science: una guida completa
ChatterBot
ChatterBot è una libreria Python progettata per rispondere agli input degli utenti con risposte automatizzate. Utilizza vari algoritmi di apprendimento automatico (ML) per generare una varietà di risposte, consentendo agli sviluppatori di costruire chatbot capaci di fornire risposte adeguate in una serie di scenari.
Poiché è costruito utilizzando algoritmi di ML, il chatbot sarà in grado di migliorare le proprie prestazioni man mano che impara nel tempo. ChatterBot offre anche l’indipendenza linguistica, il che significa che può essere utilizzato per addestrare chatbot in più linguaggi di programmazione.
Un chatbot costruito utilizzando ChatterBot funziona salvando gli input e le risposte con cui interagisce, utilizzando questi dati per generare risposte automatizzate pertinenti quando riceve un nuovo input. Confrontando il nuovo input con i dati storici, il chatbot può selezionare una risposta collegata all’input conosciuto più simile possibile.
Prima di iniziare, è importante considerare l’archiviazione e la scalabilità dei dati del tuo chatbot. Utilizzare soluzioni di archiviazione cloud può fornire flessibilità e garantire che il tuo chatbot possa gestire quantità crescenti di dati man mano che impara e interagisce con gli utenti.
È anche essenziale pianificare la crescita futura e prevedere i requisiti di archiviazione delle conversazioni e dei dati di addestramento del tuo chatbot. Sfruttando l’archiviazione cloud, puoi facilmente aumentare la capacità di archiviazione dei dati del tuo chatbot e garantire un accesso affidabile alle informazioni di cui ha bisogno.
Inoltre, più interazioni il chatbot intraprende nel tempo, più dati storici avrà a disposizione e più accurate saranno le sue risposte.
Lettura consigliata: Python e DataBricks: la giusta accoppiata per dominare i dati
Prerequisiti
Abbiamo cercato di rendere questa guida il più semplice possibile da seguire, quindi dovresti essere in grado di costruire il tuo chatbot in Python, indipendentemente dal fatto che tu sia uno sviluppatore esperto con una conoscenza pratica di strumenti di modellazione dei dati open source, o un principiante completo.
Tuttavia, ci sono alcuni concetti chiave su cui dovresti essere preparato prima di iniziare, tra cui:
- Funzioni generali di Python
- Verifica delle sottostringhe
- Sostituzioni delle sottostringhe
- Input/output dei file
- Liste e tuple
Prima di iniziare, dovresti importare i pacchetti di dati necessari e inizializzare le variabili che desideri utilizzare nel tuo progetto di chatbot. È anche importante eseguire la preelaborazione dei dati su qualsiasi testo che userai per progettare il modello di apprendimento automatico.
Creare i set di dati di test e di addestramento prima di iniziare ti aiuterà anche a risparmiare tempo in seguito.
Utilizzeremo la libreria ChatterBot per creare il nostro chatbot in Python, quindi assicurati di avere accesso a una versione di Python che funzioni con la tua versione scelta di ChatterBot.
Lettura consigliata: Come creare un Console Emulator in Python
Come sviluppare il tuo Chatbot con Python partendo da zero
Ora che siamo dotati di una certa conoscenza di base, è giunto il momento di costruire il nostro chatbot.
Preparare le dipendenze
Il primo passo è installare la libreria ChatterBot nel tuo sistema. È consigliabile utilizzare un nuovo ambiente virtuale Python per farlo.
Per farlo, scrivi ed esegui questo comando nel tuo terminale Python:
pip install chatterbot
pip install chatterbot_corpus
Se desideri aggiornare alla versione di sviluppo più recente di ChatterBot, esegui il comando:
Pip install - -upgrade chatterbot_corpus
Pip install - -upgrade chatterbot
Una volta completati questi passaggi, la tua configurazione sarà pronta e potremo iniziare a creare il chatbot in Python.
Importare le classi
Il passo successivo è importare le classi.
Le classi sono modelli di codice utilizzati per creare oggetti e le utilizzeremo per costruire il nostro chatbot.
Ci sono due classi che dovremo scaricare per fare ciò: ChatBot da chatterbot e ListTrainer da chatterbot.trainers.
Per scaricare queste, esegui questi comandi:
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
Code language: JavaScript (javascript)
Addestrare il chatbot
Il chatbot che stai costruendo sarà un’istanza appartenente alla classe ‘ChatBot’.
Crea una nuova istanza di ChatterBot e quindi puoi iniziare ad addestrare il chatbot.
L’addestramento del chatbot contribuirà a migliorarne le prestazioni, fornendogli la capacità di rispondere con una gamma più ampia di frasi più pertinenti.
Puoi iniziare eseguendo il seguente comando:
my_bot = ChatBot(name=’Chatty’, read_only=True,
logic_adapters=
[‘chatterbot.logic.MathematicalEvaluation’,’chatterbot.logic.BestMatch’])
Code language: PHP (php)
Scomponiamo questo comando per capire come stiamo addestrando il chatbot.
‘name=’ si riferisce al nome del tuo chatbot. L’abbiamo chiamato Chatty, ma sentiti libero di scegliere qualcosa di più originale!
Se stai pianificando di configurare un sito web per dare una casa al tuo chatbot, non dimenticare di verificare che il dominio desiderato sia disponibile con un servizio di verifica del dominio.
Ad esempio, se stai sviluppando un chatbot basato su intelligenza artificiale per un sito web di e-commerce, puoi addestrarlo a fornire raccomandazioni sui prodotti, rispondere alle domande dei clienti sugli ordini e sulla spedizione e assistere nel processo di checkout.
Il comando ‘read_only=True’ significa che la capacità del chatbot di imparare dopo questo addestramento è stata disabilitata. Questo è opzionale, a seconda dello scopo del chatbot.
Il comando ‘logic_adapters’ fornisce l’elenco delle risorse che saranno utilizzate per addestrare il chatbot.
Questo chatbot risolverà problemi matematici, quindi è incluso ‘chatterbot.logic.MathematicalEvaluation’. Questo adattatore logico verifica le dichiarazioni per le equazioni matematiche. Se ne è presente una, viene restituita una risposta contenente il risultato.
L’adattatore logico ‘chatterbot.logic.BestMatch’ viene utilizzato affinché il chatbot sia in grado di selezionare una risposta in base alla migliore corrispondenza con una qualsiasi dichiarazione data.
Affinché ciò funzioni, dovrai fornire al tuo chatbot un elenco di risposte.
Ecco alcune delle stringhe con cui puoi addestrare il tuo chatbot:
animals = [“aardvark”, “badger”, “cat”, “dog”, “elephant”]
Per chiarezza, puoi anche inserire ogni stringa su una riga separata:
small_talk = [“hi!”
“how\’re you?”
“what\’s up?”
“glad to hear that”
“i\’m chatty the chatbot. Do you have a maths question?”]
Code language: PHP (php)
Dovremo addestrarlo a riconoscere e risolvere problemi matematici se gliene verranno chiesti, ad esempio:
math_talk_1 = [‘pythagorean theorem’,
‘a squared plus b squared equals c squared.’]
Ora il tuo chatbot è pronto per intraprendere una comunicazione di base e risolvere alcuni problemi matematici.
Comunicare con il chatbot
Ora puoi iniziare a interagire con il tuo chatbot, comunicando con esso per vedere come risponde a varie richieste.
È importante ricordare che, in questa fase, l’addestramento del tuo chatbot è ancora relativamente limitato, quindi le sue risposte potrebbero essere un po’ deludenti.
Dovresti prendere nota di eventuali query particolari con cui il tuo chatbot ha difficoltà, in modo da sapere quali aree privilegiare quando si tratta di addestrare ulteriormente il tuo chatbot.
Addestrare ulteriormente il chatbot
Ora che hai un’idea di quali aree di conversazione il tuo chatbot deve migliorare, puoi addestrarlo ulteriormente utilizzando un corpus esistente di dati.
Un corpus è una raccolta di testi o audio autentici organizzati in set di dati. Ci sono numerose fonti di dati che possono essere utilizzate per creare un corpus, tra cui romanzi, giornali, programmi televisivi, trasmissioni radiofoniche e persino tweet.
ChatterBot fornisce alcuni corpora che possono essere utilizzati a questo scopo:
from chatterbot.trainers import ChatterBotCorpusTrainer
corpus_trainer = ChatterBotCorpusTrainer(my_bot)
corpus_trainer.train(‘chatterbot.corpus.english’)
Code language: JavaScript (javascript)
ChatterBot offre corpora in diverse lingue, il che significa che avrai facile accesso a materiali di addestramento, indipendentemente dallo scopo o dalla destinazione prevista del tuo chatbot.
Se lo desideri, puoi persino esportare una chat da una piattaforma di messaggistica come WhatsApp per addestrare il tuo chatbot. Non solo puoi addestrare il tuo chatbot su argomenti curati, ma hai accesso a esempi concreti di linguaggio naturale da cui il tuo chatbot può imparare.
Una volta che il tuo chatbot è addestrato secondo le tue aspettative, dovrebbe essere pronto per iniziare a chattare.
Non dimenticare di testare ulteriormente il tuo chatbot se vuoi essere sicuro della sua funzionalità (considera l’uso dell’automazione dei test software per accelerare il processo).
Congratulazioni: hai costruito un chatbot con Python
Il metodo che abbiamo delineato qui è solo uno dei modi in cui puoi creare un chatbot in Python. Ci sono vari altri metodi che puoi utilizzare, quindi perché non sperimentare un po’ e trovare un approccio che fa per te.
Il chatbot che abbiamo costruito è relativamente semplice, ma ci sono cose molto più complesse che puoi provare quando costruisci il tuo chatbot in Python. Se ti interessa, impara come funziona il deep learning. Puoi costruire un chatbot che può fornire risposte alle domande dei tuoi clienti, accettare pagamenti, consigliare prodotti o addirittura gestire chiamate in arrivo.
Continua a lavorarci e scopri cos’altro puoi realizzare.