Disamina funzioni Arianna (assistente virtuale centralino telefonico)

Incontro video tra Sabatino Vacchiano e Daniele De Falco
video inegrale

Video evento 20-21 gennaio 2023


In questo video Sabatino Vacchiano e Daniele De Falco discutono sui concetti base dell'intelligenza artificiale e delle varie tipologie della stessa. Descrivono anche la soluzione applicata al prodotto "Arianna" (assistente virtuale del centralino telefonico).

Testo preso dalla traccia audio del video tramite il nostro servizio TRANSCRIBER.

N) Sabatino parla con daniele de falco uno sviluppatore senior di beevoip sull'intelligenza artificiale, parlano di un'intelligenza definita forte o debole, sabatino chiede anche se queste tecnologie che loro utilizzano all'interno di beevoip si appoggiano su servizi esterni, daniele spiega come sarà il futuro delle centrali telefoniche con un servizio in via di sviluppo chiamato arianna.

S) Allora, Daniele De Falco, so che si è laureato in informatica, giusto? so che ti sei appassionato di IOT, e una cosa che mi ha colpito tantissimo di te è il fatto che tu faccia reverse engineering su alcuni software per capirne il funzionamento, a uso didattico ovviamente, e questo mi ha sconvolto perché addirittura riesci ad arrivare a dei livelli impressionanti, capisci il linguaggio macchina praticamente, mi sembra di capire?.
D) È complicato anche magari da spiegare perché effettivamente si, attraversao il reverse engineering, si riesce ad entrare nei dettagli di un codice che sarebbe magari incomprensibile altrimenti, magari noi sappiamo che tutti i codici che noi compiliamo e quelli che noi scriviamo si trasformano in linguaggio macchina e quindi per estensione in assembly ed è proprio lì il punto dove le persone o comunque programmatori meno esperti pensano si possa affermare un software quindi si ferma la comprensione del software stesso a livello di magari linguaggio C o quello che sia. In realtà si potrebbe scendere sotto e ad accumunare tutti i software sotto un unico grande linguaggio di programmazione quello dell'assembly che ci mette in diretto contatto proprio con il computer, ed è proprio analizzando l'assembly che noi riusciamo a trarre quelle che sono le informazioni che magari un software ci vuole dire. Facciamo un esempio banale: nell'analisi di un virus, ad esempio, come si può capire il comportamento malevolo di un software dei quali noi non abbiamo un codice, sostanzialmente si può comprendere mediante tecniche di diversi engineering che ci consentono per l'appunto di estrapolare quelli che sono le informazioni necessarie a capirne il meccanismo e funzionamento. Mettiamo caso un software cripta dei dati, noi sappiamo in che modo li cripta, magari non sapremo la chiave, però quantomeno l'algoritmo lo potremmo sapere e questo già è un ottimo punto di partenza nell'analisi di un software, in questo caso di un virus (sostanzialmente)

S) Quindi possiamo dire che tu sei un cracker buono si?.
D)Non lo so è un qualcosa di astratto secondo me perché alla fine tutti i programmatori appassionati magari di analisi di software potrebbero essere potenziali hacker o cracker ma in realtà dipende tutto anche da un'etica personale se così vogliamo dire, io parte mia sono più che altro molto motivato nello studio di tutti gli algoritmi di tutte le possibilità che si nascondono anche dietro al codice macchina e quindi per l'appunto ciò che faccio è a solo scopo diciamo di istruzione, magari ci può essere qualche malintenzionato che effettivamente utilizza tali codici magari estrapolati dall'assembly per realizzare effettivamente delle crack o comunque qualcosa che potrebbe danneggiare il software realizzato da un programmatore però essendo io stesso programmatore così come molti altri so che il lavoro soprattutto se ben fatto va pagato e quindi sono contro comunque l'utilizzo di questi strumenti, è giusto utilizzarli per imparare ma distribuire tutto il resto proprio non va contro l'etica mia e penso di molte altre persone che la pensano come me.

S) Ci sarebbero molte domande perchè il tema è molto affascinante ma non ci dilunghiamo più di tanto.
S)Veniamo alla domanda di oggi che abbiamo avuto modo già di ascoltare dal tuo collega Davide Cavezza e io ti faccio la stessa domanda che cos'è l'intelligenza artificiale ce ne vuoi parlare?
D) Questa è una gran bella domanda perché sostanzialmente abbiamo varie possibilità di interpretazione al livello della domanda stessa, cioè è talmente nuovo il concetto di intelligenza artificiale che effettivamente ad oggi lo stiamo scoprendo sotto varie forme e sotto vari aspetti però se volessimo generalizzare possiamo pensare all'intelligenza artificiale come quel ramo dell'informatica in grado di simulare mediante un computer quelli che sono i comportamenti della mente umana.
Abbiamo diversi esempi a tal proposito tra cui magari anche siri o amazon alexa sono tutti assistenti virtuali che fanno uso del natural language understanding o natural language processing e che ci danno la possibilità di interagire con un assistente virtuale comprendere le intenzioni che per l'appunto abbiamo e quindi farci restituire effettivamente un risultato attinente anche a quali sono le nostre richieste.

S) Ho sentito più volte parlare di intelligenza artificiale forte e debole che ci puoi dire al riguardo?
D) Sostanzialmente ad oggi noi possiamo conoscere due tipologie di intelligenza artificiale per l'appunto come dicevi tu l'intelligenza artificiale forte e quella debole, ciò che differisce sostanzialmente l'intelligenza artificiale debole o weack AI è un tipo di intelligenza delle quali oggi si conosce diciamo abbastanza per così dire e dell'intelligenza alla base proprio dei meccanismi di comunicazione che hanno amazon alexa o vari assistenti che troviamo in commercio ma anche ad esempio le macchine con telecamere particolari in grado di comprendere i segnali stradali o comunque qualsiasi intelligenza di questo di questo genere.
E' un tipo di intelligenza che sostanzialmente è in grado di focalizzarsi su poche cose per volta e non è in grado di auto apprendere da quelle che sono le esperienze e quindi è molto limitativo però è comunque tra quelle che utilizziamo quotidianamente. Un'intelligenza artificiale un po' utopica è proprio la strong AI che invece sarebbe in grado sostanzialmente di rappresentare il funzionamento del cervello umano quindi di apprendere ma anche di imparare dai propri errori e quindi formarsi sempre di più fino a diventare praticamente come un essere umano, però ad oggi questi sistemi sono prettamente diciamo ottimizzati anzi si può dire che non esistono in realtà sono sotto studio sto fase di studio quindi diciamo che si vuole propendere verso quella direzione ma non si sa effettivamente se ci si potrà arrivare almeno nel breve periodo.

S) Tu prima hai accennato una cosa, hai detto natural language processing lo usate in azienda lo state utilizzando se sì su quale prodotto?
D) si sostanzialmente abbiamo diversi prodotti che fanno uso di questo genere di intelligenza.
Due prodotti che mi sento proprio di esporre sono proprio doctorin e transcriber che però non fanno utilizzo nettamente proprio del NLP natural language processing ma di una sorta di macchina statica che ne simula il comportamento prendendo delle decisioni sulla base di qualcosa che l'utente ha esposto e per i quali magari vuole una certa risposta quindi è una sorta di macchina definita e non molto espandibile magari all'autoapprendimento.
Però sostanzialmente superstiti prodotti c'è possibilità comunque di espansione.
C'è un terzo prodotto invece molto interessante che è ancora in fase di sviluppo che diciamo è un assistente virtuale fatto appositamente per i centralini e che ci consente di utilizzare proprio la tecnologia del natural language processing in grado di comprendere e interpretare quindi cio che l'utente chiede all'assistente e di farci restituire delle intenzioni in grado appunto di fornire poi all'utente stesso una risposta congrua è pertinente a quelle che sono le sue esigenze sostanzialmente.
S) Quindi una sorta di jarvis di Iron Man
D) Si se se vogliamo dirla sotto questi termini si, immaginiamo per l'appunto così come Iron Man effettivamente parla nel casco con il suo assistente virtuale questo comprende le parole che questo dice grosso modo anche la nostra assistente fa la stessa cosa, cioè sulla base di un training set abbastanza amplio riesce a fornire delle soluzioni a delle domande e perplessità o comunque dialoghi che l'utente intrattiene proprio con l'assistente virtuale.

S) Bene e dimmi una cosa voi vi appoggiate a servizi esterni per fare queste cose o avete delle tecnologie vostre interne.
D) Questa e una grande domanda perché anche il nostro punto di forza in realtà, il fatto di non voler utilizzare servizi esterni ci dà la possibilità di gestire meglio e in maniera totalmente diversa magari i meccanismi che di norma invece sarebbero molto più complessi da utilizzare poiché magari accediamo a delle API pubbliche di amazon o di qualsiasi servizio per accedere a quel servizio e quindi avere lo stesso risultato però questo porta degli svantaggi abbastanza evidenti magari date anche dal costo dalla quasi impossibilità di modificare quello che il codice preesistente per quanto riguarda il natural language processing e così via. Avendo delle tecnologie scritte direttamente in casa ci dà la possibilità proprio di addestrarle di utilizzarle e di modificarle sulla base di quelle che sono le nostre esigenze anche le esigenze del cliente quindi sostanzialmente mai come in questo caso secondo me avere tecnologie proprietarie da parte nostra ci consente di essere molto più flessibili soprattutto con i clienti.

S) Ti volevo fare una domanda perché io ho avuto modo già di rapportarmi con assistenti virtuali però a mio avviso sono un po' antipatici perché devo comunque sentire tutta la frase prima di poter parlare, è il vostro è uguale, si comporta allo stesso modo o c'è qualche innovazione?
D)Noi stiamo sotto questo punto analizzando quelle che potrebbero essere le criticità di prodotti già esistenti magari anche sulla base dei feedback degli utenti magari feedback personali di persone che conosciamo qualcuno che ci ha dato la riprova che magari gli assistenti che esistono oggi non sono poi tanto diciamo user-friendly per così dire cioè si comportano in maniera ancora robotizzata nonostante abbiano dietro meccanismi di intelligenza artificiale magari. Quindi un nostro grande vantaggio ed è anche il nostro scopo sostanzialmente è quello di realizzare un assistente che è assolutamente collegato a quelle che sono le esigenze e le aspettative di un possibile cliente quindi se il cliente ci dice "guarda quando per l'appunto l'assistente ha compreso quanto meno a percepito quelle che sono le intenzioni farlo bloccare non c'è bisogno di continuare dammi direttamente la risposta rendiamolo assistente il più umano possibile invece che una macchina che continua a parlare"
S) Quindi mi stai dicendo che mentre sta parlando io parlo lei si stacca e mi capisce.
D) E' proprio quello che succede
S) Questo è fantastico, un risultato veramente eccezionale.
D) Infatti come ho detto prima noi ci spingiamo affinché ciò che realizziamo per l'appunto sia unico rispetto ad altri prodotti magari ad altri assistenti o qualsiasi altra cosa

S) E quindi potenzialmente mi stai dicendo che il vostro sistema può funzionare stand alone anche senza connessione internet perché se sono vostre le tecnologie se sono utilizzate internamente posso immaginarmi che potrei installare e configurare il tutto in un azienda senza che l'azienda abbia connessione e tutto funzionerebbe, e così?
D) Esattamente ed è uno dei vantaggi che ho detto prima dell'avere tecnologie scritte completamente in casa cioè basandoci su una rete neurale senza necessità di collegarci ad internet possiamo tranquillamente installare questo assistente su una macchina addestrarlo sulla macchina stessa e utilizzarlo stand-alone senza collegarsi a nessun servizio esterno senza collegarsi ad internet insomma l'utente prende esattamente quel software lo installa sul suo computer lo addestra e funzionerà sempre.

S) È avete dato un nome a questo sistema?
D) Sì diciamo che abbiamo cambiato diversi nomi in realtà però quello che più ci è piaciuto e che rispecchia proprio la definizione di questo assistente è Arianna, abbiamo dato all'assistente questo nome ma in realtà è un nome non tanto definibile come un nome di persona quando il nome di un intero sistema che sarà poi in grado di gestirsi e di addestrarsi magari anche autonomamente durante alcune ore del giorno sulla base delle intenzioni che l'utente esprime sulla base dei possibili risultati che questo vuol ottenere da quelle intenzioni quindi sì è un sistema piuttosto complesso ma che nella sua complessità deve dare risultati concreti ma soprattutto essere funzionale per i clienti.
S) Va bene allora attendo con ansia questo sistema lo voglio provare quanto prima, più o meno ci puoi dire i tempi?
D) Attualmente è in fase di test anche da parte nostra, cioè l'architetto principale del software è stato completato sostanzialmente. Stiamo addestrando la rete su i nostri servizi i nostri sistemi così da rispecchiare quelle che sono le esigenze che noi vogliamo sulle quali la rete deve essere addestrata anche sulla base delle esigenze dei nostri clienti magari se ci chiamano per una consulenza tecnica o amministrativo o commerciale, noi abbiamo definito dei comportamenti proprio sulla base di queste intenzioni tecnico commerciale o quello che sia. E quindi siamo i n primis che l'addestramento sulla base di quello che ci chiede l'utente proprio e cercheremo proprio di farlo dialogare con l'assistente nella maniera più naturale possibile. Magari se possibile senza addirittura essere trasferita all'operatore, quindi un dialogo che riesca ad arrivare ad una fine e a risolvere i problemi per la quale la persona ha chiamato.
S) Benissimo daniele sei stato molto esaustivo e non vedo l'ora di provare Arianna grazie.


NOTA: ricordiamo che i prodotti Transcriber, Doctorin e "Arianna" (assistente virtuale del centralino telefonico) di BEEVOIP si basano su intelligenza artificiale.