Cosa faresti con l'Intelligenza Artificiale? Approfondimento settimanale con Officina Tecnologica, Startup di San Marino Innovation

WhatsApp+Image+2020-09-23+at+17.37.01.jpg

Segui l’approfondimento speciale settimanale sull’Intelligenza Artificiale dell’Impresa ad Alto Contenuto Tecnologico di San Marino Innovation Officina Tecnologica .

La NLP è ciò che proietta un chatbot verso il futuro, verso una vera automazione intelligente, insomma verso l’infinito e oltre!

Ma di preciso, che cos’è la NLP?

È l’acronimo di Natural Language Processing, ovvero l’elaborazione naturale del linguaggio intesa tra il rapporto uomo-macchina.

L’enorme differenza rispetto ad un chatbot tradizionale e uno a base NLP dunque, è la capacità di interpretazione del linguaggio e la relativa contestualizzazione del discorso tipica di una conversazione tra esseri umani.

L’utilizzo della Natural Language Processing in un chatbot è ciò che crea la distinzione tra un quest’ultimo e un assistente virtuale.

Se da un lato abbiamo delle automazioni che rispondono solo a dei pulsanti, dall’altra abbiamo una serie di automazioni (i famosi algoritmi che definiscono la machine learning) che interpretano qualsiasi tipo di conversazione e rispondono di conseguenza, anche attivamente.

Sembrerebbe tutto fantastico, non trovi?

Se non fosse che per costruire un assistente virtuale di questo tipo è necessario comprendere tutti i componenti, i meccanismi e le difficoltà che comporta l’addestramento di un bot “intelligente”

Forse dunque possiamo davvero utilizzare le tanto abusate parole “Intelligenza Artificiale”.

Espressioni, intenti ed entità

Queste tre parole identificano la composizione dell’Intelligenza Artificiale applicata agli assistenti virtuali, e sono al contempo gli elementi che compongono l’interazione conversazionale tra uomo e macchina.

Espressioni

Le espressioni (definite utterances in inglese), altro non sono che le richieste, le domande o appunto le espressioni che l’utente umano scrive o dice alla macchina, scatenando così l’avvio della conversazione.

Intenti

Gli intenti (definiti intents in inglese), sono i gruppi concettuali che la macchina utilizza per comprendere ed interpretare le sopracitate espressioni dell’utente umano.

La costruzione degli intenti avviene tramite l’identificazione da parte del chatbot specialist dei concetti che la macchina deve interpretare.

Ipotizzando di costruire un assistente virtuale per un ristorante, questi dovrà intuire e creare dei gruppi di frasi che appartengono ad intenzioni differenti, come per esempio Informazioni o Prenotazione, ed inserire all’interno di questi intenti delle frasi o domande che il bot dovrà comprendere e distinguerne il significato

“Siete aperti oggi?” oppure “Vorrei vedere un menù” sono frasi che andranno inserite all’interno dell’intento Informazioni, mentre frasi come “Vorrei prenotare un tavolo” oppure “Avete posto questa sera?” andranno invece inserite in Prenotazione.

Entità

Concettualmente simili alle keywords utilizzate nei chatbot tradizionali, le entità (definite entities in inglese), sono parti delle frasi che costituiscono gli intenti, e servono per identificare un valore all’interno della frase di un Intento e contestualizzare la conversazione.

A differenze delle keyword, le entità sono da intendere come dei custom fields che contestualizzano la conversazione dopo il riconoscimento di un Intento:

Vorrei una pizza
Vorrei una birra

In questo caso abbiamo due entità, ovvero Cibo per quanto riguarda l’intenzione di voler una pizza, e Bevande per quanto riguarda la birra.

Molte piattaforme utilizzano dunque il riconoscimento di queste entità diverse tra loro per contestualizzare l’espressione dell’utente umano e rispondere coerentemente.

Perchè le keyword non bastano?

Quando si parla di Natural Language Processing, può capitare di porsi la domanda “Ma perché non utilizzare le keywords dei chatbot tradizionali?“.

Le motivazioni sono legate al fatto che il solo riconoscimento di una keyword limita la contestualizzazione di un chatbot, impendendo quindi di creare risposte coerenti.

Ipotizzando la keyword “pizza”, il chatbot utilizzerà la stessa risposta per domande con significati diversi (indipendentemente dal settaggio del riconoscimento della keyword, quindi che sia un “if” o un “contains”):

Umano: Vorrei una pizza
Bot: Certamente! Come la vorresti?

Umano: Fate la pizza con i funghi?
Bot: Certamente! Come la vorresti?

Cos’è successo?

La keyword “pizza” è stata agganciata ad un flusso contenente una risposta standard, la quale non ha permesso al bot di intuire la differenza di significato tra le due espressioni dell’utente umano.

È proprio in questi casi che un assistente virtuale su base NLP si distingue da un chatbot, poiché come abbiamo visto, le due espressioni corrispondono a due intenti diversi (nella prima espressione si fa riferimento all’ordinazione/prenotazione, mentre nella seconda si fa un chiaro riferimento alle informazioni).

Contesti e falsi positivi

Spesso è la piattaforma di sviluppo a farla da padrona su questi due punti, con funzioni più o meno semplici da impostare, ma in qualsiasi caso è necessario determinare questi due aspetti prima di procedere poi con i tutorial delle varie piattaforme.

Per “Contesti” s’intende la capacità dell’assistente virtuale di mantenere il contesto dopo una seconda espressione che rientra nello stesso intento:

Umano: C’è la tv via cavo in ogni camera?
Bot (riconoscimento espressione tramite intento&entità): Si, certamente! Tutte le nostre camere ce l’hanno!
Umano: E il wifi?

In questo caso, se non impostato il riconoscimento del contesto (attivabile solo da funzioni della piattaforma), il bot invierà il messaggio d’errore (default reply).

Per “Falsi positivi” s’intende invece una situazione particolare, nella quale l’espressione non è chiara ma “tagliata a metà”, come in questo esempio:

Umano: Ho bisogno di collegare la stampante di rete
Bot: Certamente! Vorresti configurare la stampante sul tuo pc o collegarla in rete?

Un assistente virtuale dev’essere in grado di capire che si tratta di un falso positivo.

Quindi rintracciare un’espressione non chiara al 100%, e definire la vera intenzione dell’utente tramite l’interpretazione dell’intento unita alla percentuale di confidenza dell’intento stesso.

Più la Machine Learning riconosce l’espressione e più la confidenza è alta.

Per maggiori informazioni sugli assistenti virtuali che sfruttano l’elaborazione naturale del linguaggio, clicca qui!

NewsLinda ZavoliNews