By Beatrice Gamba

2 anni ago

Impara come usare la potenza dei dati nel tuo Knowledge Graph per sviluppare un chatbot scalabile, flessibile e dinamico.

Quando pensiamo ai bot, pensiamo a robot tipo Star-Wars o ad androidi umanoidi che comunicano con noi.

Cosa sono i chatbot? I chatbot sono programmi per computer costruiti per comunicare con gli esseri umani utilizzando il linguaggio naturale. Di solito, gestiscono compiti di assistenza al cliente, come rispondere alle domande e prenotare appuntamenti.

Lo scopo principale dei sistemi chatbot è quello di recuperare informazioni preziose e rilevanti da una o più basi di conoscenza utilizzando la comprensione del linguaggio naturale (NLU) e le tecnologie del web semantico

Il problema

Il web è pieno di informazioni tra le più disparate; è spesso difficile per gli esseri umani classificare e giudicare la qualità di una fonte a prima vista. Così, per risparmiare tempo, che è il nostro bene più prezioso, ci rivolgiamo alle macchine per fare la ricerca per noi.

Tecnicamente parlando

Molti sistemi chatbot sono progettati per richiedere un sacco di dati di formazione, che non sono disponibili e che quindi risultano costosi da creare. Recentemente, con lo sviluppo crescente dei linked data, si sono visti progressi crescenti sui chatbot nella ricerca e nell’industria. Tuttavia, devono affrontare molte sfide, tra cui la comprensione della query dell’utente, la classificazione dell’intento, l’aspetto multilingue, le basi di conoscenza multiple e l’interpretazione delle query analitiche.

I Knowledge Graph stanno diventando sempre più una tecnologia standard per le aziende, le persone e gli editori. Un bot basato su Knowledge Graph è scalabile, flessibile e dinamico.

Perché il Knowledge Graph

Un Knowledge Graph è una struttura che ritrae le informazioni come relazioni e concetti collegati tra loro. Google è stato il primo a menzionare i Knowledge Graphs e la tecnologia dietro di essi nel 2012. 

Puoi scoprire di più su perchè hai bisogno di un Knowledge Graph leggendo il nostro articolo.  

Torniamo a noi ora!

Quindi sappiamo che un chatbot ha bisogno di un modello di dominio per capire e rispondere alle domande degli utenti. Nel machine learning, genereremo un’enorme base di conoscenza di frasi e casi d’uso, perdendo tempo e risultando in un chatbot statico, di cui il web è già pieno.

Poiché un modello di dominio raccoglie informazioni su un particolare argomento o soggetto, possiamo usare un Knowledge Graph per memorizzare e recuperare facilmente le informazioni.

In questo modo, il nostro chatbot sarà dinamico e sempre aggiornato e non richiederà l’intervento manuale per aggiungere e modificare la base di conoscenza.

Vantaggi dei chatbot basati su Knowledge Graph

Un chatbot basato su un Knowledge Graph sa come interpretare le richieste degli utenti fornendo subito risposte significative. Inoltre, non ci sarà bisogno di una lunga formazione.

I Knowledge Graph possono essere aggiornati in modo più efficiente semplicemente aggiungendo i dati e le relazioni con altre entità.

Come sviluppare un chatbot basato sul Knowledge Graph

Prima di tutto, c’è il lavoro preparatorio per il Knowledge Graph, in cui ci dovrebbe essere una chiara struttura di concetti, entità e relazioni tra loro.

Poi, il chatbot deve “studiare” queste regole, entità e relazioni per rispondere alle domande.

Questi sono tre flussi principali che descrivono come sviluppare un’interfaccia di conversazione basata su un Knowledge Graph: 

  • Spingere i contenuti dal Knowledge Graph (KG) al sito web/backend (tramite interfaccia GraphQL) – i dati presenti nel KG sono resi disponibili tramite query mirate.
  • Ricerca semantica di contenuti su domande-risposte (tramite API di ricerca) – i contenuti delle FAQ vengono resi disponibili tramite query mirate che possono essere consultate eseguendo la ricerca semantica, che permette di gestire, se presente, l’intento associato a specifiche domande.
  • Comprensione del linguaggio naturale e gestione del dialogo (tramite NLU per la gestione dell’intento) – i dati del KG e le funzioni di ricerca semantica sono gestite da un’applicazione esterna di dialogue manager che intercetta l’intento dell’utente e recupera le risposte (accedendo ai contenuti sia nel KG che dalla ricerca semantica).

Knowledge Graph e GraphQL

Il Knowledge Graph viene alimentato con flussi di contenuti dal CMS e attraverso l’end-point NLP, che analizza i contenuti non strutturati e li organizza semanticamente usando il vocabolario dell’azienda contenente i concetti chiave (entità).

Il grafo può contenere diversi tipi di contenuto: FAQpages, NewsArticles, Articoli, Offerte… tutti utili per sostenere un flusso di conversazione che include diverse sfumature sullo stesso argomento, come un utente potrebbe voler conoscere la definizione di un termine o articoli relativi a questo termine.

GraphQL è un linguaggio di query e un motore di esecuzione progettato per implementare soluzioni basate su API che accedono alle informazioni nel Knowledge Graph.

Noi usiamo GraphQL come servizio di query, e le sue funzioni sono disponibili solo per la consultazione dei dati. La lettura avviene attraverso un altro end-point.

GraphQL viene utilizzato quando gli utenti vogliono vedere tutti gli articoli relativi a un argomento.

Le richieste verso GraphQL sono eseguite nel Knowledge Graph tramite autenticazione.

Ricerca semantica

Questo modulo integra l’API per la ricerca semantica nella base di conoscenza. Un primo scenario di utilizzo si basa sui contenuti delle FAQ presenti oggi sul sito.

In seguito, sarà possibile estendere l’ambito di utilizzo di questa funzionalità a tutti i contenuti web del KG attraverso l’uso di modelli di risposta alle domande a dominio aperto (ODQA).

La ricerca di risposte (/ ask)

Le risposte alle domande degli utenti vengono estratte attraverso un sistema di ricerca semantica dei contenuti.

In questo modo, possiamo attivare un algoritmo di classificazione che utilizza una rete neurale basata su trasformatori per classificare le domande in base a quanto sono “significative” in relazione alla query dell’utente.

Il caso d’uso si basa sul seguente flusso applicativo:

  • Il gestore del dialogo (NLU) identifica un intento che può essere soddisfatto dal contenuto delle FAQ;
  • La domanda dell’utente viene consegnata all’API di ricerca;
  • L’API di ricerca identifica la domanda-risposta più vicina;
  • Il risultato viene inviato al gestore del dialogo (NLU);
  • Il gestore del dialogo tramite ECSS invia la risposta all’utente finale.

Utilizziamo un’architettura scalabile: i due componenti principali sono la comprensione del linguaggio naturale (NLU – Natural Language Understanding) e una piattaforma di gestione del dialogo.

NLU si occupa di gestire la classificazione delle intenzioni, l’estrazione delle entità e il recupero delle risposte. Nel diagramma, è rappresentato come una pipeline NLU perché elabora le espressioni dell’utente utilizzando un modello NLU generato dalla pipeline addestrata.

Il componente di gestione del dialogo determina le seguenti azioni in una conversazione in base al contesto (le Dialogue Policies indicate nel diagramma).

Conclusioni

I Knowledge Graphs sono database molto potenti, e quando si tratta di costruire un’interfaccia conversazionale, si distinguono da altre tecnologie in termini di:

  • Velocità
  • Potenti interrelazioni tra i concetti 
  • Flessibilità 
  • Possibilità di aggiornare facilmente il grafico
  • Inclusione di una conoscenza potenzialmente illimitata 

L’obiettivo di qualsiasi bot è quello di fornire informazioni preziose e pertinenti agli utenti, adattandosi ad ogni contesto e richiesta. Ed è quello che fanno i Knowledge Graphs: si muovono e si adattano.

In un mondo di informazioni infinite, sii il bot potenziato da KG!

Da non perdere

L’Automazione SEO nel 2021
Migliora la SEO del tuo sito con l’Intelligenza Artificiale

Video SEO: 3 semplici mosse per raddoppiare la visibilità organica
Usa i video per aumentare il traffico del tuo sito web

Il potere del Product Knowledge Graph abbinato all’E-commerce
Scopri come sfruttare i dati nell’e-commerce

Schema Markup su WooCommerce: una Guida per Principianti
Come sfruttare appieno il potere della SEO

Are you ready for the next SEO?
Try WordLift today!