Un passo comune quando si costruisce un bot è la definizione degli "intenti".
Un intento potrebbe essere "reimpostare la password", "prenotare un volo" o "contattare l'assistenza". Lo sviluppatore del bot deve inserire nel software più frasi che abbiano tutte lo stesso significato dell'intento. Ad esempio, "Voglio volare a Parigi" sarebbe una di queste frasi per l'intento "prenota un volo".
In genere, le piattaforme di sviluppo dei bot chiedono agli utenti di inserire molte frasi per un determinato intento. Queste frasi costituiscono i dati di addestramento per l'algoritmo di elaborazione del linguaggio naturale (NLP).
L'algoritmo NLP è un algoritmo di apprendimento automatico che si addestra sui dati per essere in grado di riconoscere frasi con lo stesso significato ma con parole diverse (rispetto ai dati di addestramento).
L'algoritmo NLP utilizza i dati relativi all'intento forniti dallo sviluppatore del bot e un enorme corpus di dati relativi alla lingua (su cui è stato addestrato in precedenza) per calibrare il suo modello interno in modo da essere in grado di riconoscere nuove frasi.
Più esempi vengono forniti all'algoritmo NLP dallo sviluppatore del chatbot, più accuratamente sarà in grado di riconoscere lo stesso significato in altre frasi che hanno una formulazione diversa. Almeno questo è il messaggio dato agli sviluppatori di bot.
Il problema è che tutti i dati di formazione non sono uguali. La qualità dei dati conta quanto la loro quantità.
Ad esempio, immaginiamo di voler creare un intento chiamato "ripristina la mia password".
Un autore di bot potrebbe iniziare a creare le seguenti frasi:
Reimpostare la password
Ho dimenticato la mia password
La mia password non funziona
Nuova password per favore
Problema di password
ecc.
Il problema di quanto sopra è che tutte le frasi utilizzano la stessa parola "password". Ciò significa che quando l'algoritmo si addestra su questi dati, discerne la regola secondo cui se la parola "password" è presente nella frase, allora l'intento è "resettare la mia password". Questo, ovviamente, è sbagliato. Le persone possono dire molte altre frasi senza la parola "password" che hanno lo stesso significato di "reimpostare la mia password". Ci sono anche molte frasi con la parola "password" che non significano "reimpostare la password".
Nel mondo degli algoritmi, questo problema si chiama overfitting sui dati di addestramento. L'algoritmo si è adattato in modo eccessivo alla parola "password" e quindi "crede" che ogni frase contenente la parola "password" significhi "reimposta la mia password".
Esistono altri esempi per lo stesso scopo. Ad esempio, lo sviluppatore del bot potrebbe inserire le seguenti frasi:
Le mie credenziali non funzionano
Il mio login non funziona
La mia password non funziona
Il mio nome utente non funziona.
ecc.
Questo è, ovviamente, un esempio estremo del problema, ma lo schema è comune quando si creano i dati di addestramento. Anche in questo caso l'algoritmo si adatta in modo eccessivo ai dati, ma questa volta alla frase "non funziona".
Si spera che la soluzione sia ormai ovvia. Ogni frase dei dati di addestramento deve essere il più possibile diversa dalle altre frasi dell'insieme di dati. Per esempio:
Le mie credenziali non funzionano.
Ho bisogno di reimpostare la password.
Come posso risolvere il problema del login?
Chi può aiutarmi ad accedere al sistema?
ecc.
Naturalmente, la creazione di un insieme di dati come quello sopra descritto richiede uno sforzo maggiore. Può anche essere utile avere un tesauro aperto per trovare sinonimi allo scopo di stimolare idee per le frasi.
L'altro modo in cui gli sviluppatori di bot superano questo problema è quello di avere accesso ai dati delle chat del servizio clienti, che forniscono molti esempi di tutti i modi in cui un cliente reale porrebbe la stessa domanda. Questi dati possono essere estremamente preziosi.
Ci si chiede quando gli algoritmi di PNL saranno in grado di funzionare bene solo su un piccolo set di dati di addestramento. Sarebbe sicuramente meglio che il bot funzionasse perfettamente utilizzando solo un piccolo set di dati. Questo è sicuramente un aspetto su cui i ricercatori stanno lavorando, perché non solo ridurrebbe il tempo e lo sforzo necessario per creare chatbots, ma ne migliorerebbe notevolmente la qualità.
L'algoritmo NLP è una scatola nera per la maggior parte degli sviluppatori di bot. È tuttavia importante che comprendano le basi del funzionamento dell'algoritmo, in modo da sapere che tipo di dati di addestramento (dati di intento) devono fornire all'algoritmo per ottenere i migliori risultati.
Condividi questo articolo su:
Costruite gratuitamente il vostro chatbot AI personalizzato
Iniziate a costruire un bot GPT personalizzato con la nostra intuitiva interfaccia drag & drop.
Iniziare è gratis! 🤖Non è richiesta la carta di credito
Rimanete aggiornati sulle ultime novità in materia di IA chatbots