Chatbot Tecnologia

La tecnologia di riconoscimento del linguaggio in Userbot

6 dicembre 2016

author:

La tecnologia di riconoscimento del linguaggio in Userbot

I sistemi NLP (Natural Language Processing), realizzati da varie università nel mondo e da importanti player come IBM e Google, sono arrivati ad una buona percentuale di comprensione delle frasi in linguaggio naturale, all’estrazione dell’argomento predominante, alla comprensione del “sentiment” dell’interlocutore. Studiando un po’, è relativamente facile implementarne uno proprio e addestrarlo in modo da raggiungere i risultati delle versioni accademiche, ma al momento di introdurre tutto ciò in un’applicazione reale ci si deve necessariamente scontrare sulla realtà del sempre temuto “utente medio”, vediamo alcuni punti:

  • L’utente medio usa tonnellate di abbreviazioni da chat tipo, c6? xkè etc.
  • Un utente medio italiano su due è un analfabeta funzionale.
  • La grammatica e la sintassi non sono tra i punti forti dell’utenza.
  • L’utente medio tende a spezzare le frasi andando a capo arbitrariamente.
  • Oltre alla domanda tecnica l’utente medio spesso divaga con domande non inerenti il supporto tecnico.
  • L’utente non capisce la spiegazione fornita e fa ulteriori domande.

 

In Userbot abbiamo cercato di ovviare a tutti questi problemi con varie tecniche e trucchi:

  • Il vocabolario delle abbreviazioni e del correttore ortografico include e trasforma le abbreviazioni di chat più frequenti, l’amministratore del sistema esperto può aggiungere abbreviazioni.
  • Nel sistema di tagging POS (Part of Speech) il sistema controlla anche la possibilità che la frase contenga errori comuni come ho senza l’acca, mancanza di accenti, usi errati di verbi e congiunzioni etc.
  • Nel caso una frase non risponda ad alcuna domanda ma ne venga digitata una seguente subito, il sistema le accorpa e cerca di trovare una risposta.
  • Un sistema a “due cervelli” riconosce le domande non tecniche e cerca di rispondere utilizzando un diverso dizionario di conversazione, evitando di ripetersi, scegliendo le frasi più pertinenti ma anche più gradite sulla base dell’addestramento di una rete neurale. Questo emisfero destro cerca di cavarsela in ogni situazione al contrario dell’emisfero sinistro, tecnico, che se non ha una risposta contatta un agente umano per ottenerla.
  • Il sistema memorizza l’argomento della domanda precedente e cerca di integrarlo in caso l’utente aggiunga informazioni in frasi successive, accorpando le domande in modo da ottenere più tag.
  • Il “sentiment” nell’emisfero sinistro è basato su una votazione del tipo “la mia risposta è stata soddisfacente?” ed è quindi inserito direttamente dall’utente, mentre per l’emisfero destro viene calcolato in base alle parole usate e alla eventuale presenza di smile.

Comments

comments

Ricardo is the A.I. and Backend Developer at Userbot. He loves to build incredible technologies and he's very good at it!