Reply ti permette di entrare a far parte di una realtà formata da persone da tutto il mondo con la passione per la tecnologia, la capacità di immaginare ed esplorare nuove soluzioni, la voglia di innovare e sfidare lo status quo.Vuoi unirti alla squadra?
Recommendation System, Recommendation System ovunque. Stiamo parlando di quei sistemi che suggeriscono agli utenti di un portale/applicativo contenuti personalizzati e pertinenti tra le migliaia/milioni di item a catalogo. Amazon, Netflix, Spotify sono solo alcuni esempi di grandi company a livello mondiale che, sfruttando algoritmi di recommendation, cercano di favorire la nostra navigazione e l’esplorazione di tutto il catalogo. Gli obiettivi sono molto semplici e variegati: cross-selling, up-selling, miglioramento della loyalty degli utenti, favorendo nel contempo la fruizione di diversi contenuti e andandone a stuzzicare la curiosità. Si stima che circa il 30% delle page-views su Amazon sia dovuta agli effetti del sistema di recommendation adottato; per Netflix addirittura l’80% dei film visti è frutto di raccomandazioni. I tradizionali algoritmi collaborativi non sono magici, bensì provano a proporre contenuti simili a quanto abbiamo appena visualizzato o già scoperto da altri utenti con gusti equiparabili ai nostri. Tali approcci hanno portato a grandi risultati a partire dal nuovo millennio, ma possiamo spingerci oltre mediante metodi di Deep Learning e Knowledge Graph che sfruttano dati contestuali e non strutturati.
Viviamo nell’era dell’intelligenza artificiale e sempre più insistentemente si sente parlare di Deep Learning, ossia una modalità di apprendimento che replica in forma algoritmica il ragionamento umano mediante reti neurali artificiali profonde. Deep Learning non è il futuro, è il presente: se fino a qualche anno fa infatti sembrava applicabile solo in ambito accademico e di ricerca, nell’ultimo anno si è assistito alla transizione del Deep Learning al suo stato attuale di commodity, con tool e librerie specializzate come Theano, Caffe, Lasagne e TensorFlow. La rivoluzione apportata dal Deep Learning è evidente su molteplici fronti, tanto che a partire dal 2015 algoritmi che sfruttano reti neurali profonde hanno superato le capacità dell’uomo in semplici task come il riconoscimento di immagini e la trascrizione di audio in testo. I meriti del Deep Learning vanno ricercati nella capacità di ottenere risultati sempre migliori aumentando la complessità della rete neurale o aggiungendo dati in input al modello. Dal punto di vista delle performance, la possibilità di sfruttare GPU per computazioni massive ha inoltre favorito l’introduzione di algoritmi più complicati in ambienti di produzione. E, anche qualora non si possiedano competenze tecniche di Data Science e capacità computazionali per fare training di reti neurali su nuovi dataset, esistono modelli già pre-addestrati che offrono accuratezza molto elevata su molteplici fronti.
In ottica Robotics for Customers, gli algoritmi di Deep Learning permettono di inglobare dati non strutturati e dal contenuto informativo elevato all’interno del modello di recommendation, a differenza di approcci tradizionali che, come detto, sfruttano solamente dati di interazione user-item. Proviamo ad immaginare un recommendation system che deve consigliare una nuova canzone all’interno di una playlist: tramite RNN (Recurrent Neural Networks) e CNN (Convolutional Neural Networks) siamo ora in grado di aggiungere l’audio di ogni singola traccia in input ai nostri modelli di recommendation. Parlando invece di film o libri, i video ed i testi vengono direttamente utilizzati come input dell’algoritmo. In molti sistemi online, le interazioni tra user e sistema sono organizzate in sessioni, sequenze di interazioni che avvengono in un determinato arco temporale e con un preciso ordine. Recommendation System tradizionali generano i loro output prendendo in considerazione solamente l’ultimo istante di interazione dell’utente, senza tener conto del suo percorso di navigazione, del tempo e dell’ordine con cui i contenuti vengono fruiti. Le Recurrent Neural Network (RNN), data la loro capacità di “memorizzare” gli stati passati, aprono le porte a una nuova frontiera nel campo dei sistemi di recommendation. Si parla delle cosiddette “session-based recommendations” che, a partire dalla sequenza di item consultati durante una sessione, tramite reti LSTM (Long Short Term Memory) consentono di proporre l’item successivo più appropriato per soddisfare i gusti dell’utente (next best item problem).
In ottica data-driven l’unità fondamentale è ovviamente il dato, fonte da cui estrarre informazione utile per ricavare valore in ambito business. Quando i dati a disposizione non portano sufficiente contenuto informativo, l’unica alternativa è cercare di ampliare la conoscenza a disposizione guardando altrove, al mondo degli Open Data: Word-Net e DBpedia sono due esempi di ontologie (ossia formalizzazioni di tipi, attributi e relazioni tra entità appartenenti ad uno stesso dominio) sfruttate per la fase di data enrichment fondamentale per fornire recommendation accurate anticipando i gusti dei customer. Nel contesto delle Customer Recommendation informazioni aggiuntive sono organizzate quindi secondo Knowledge Graph, collezioni di entità aventi tipo e proprietà definite, collegate tra loro mediante relazioni in una tipica struttura a grafo. Approcci Knowledge Graph sono utili per migliorare le performance di tecniche tradizionali, sfruttando informazioni contestuali, spesso riguardanti gli item a catalogo (film, libri, canzoni, …) e che favoriscono l’apprendimento della correlazione tra diverse coppie user-item.
Knowledge Graph sono spesso utilizzati congiuntamente a metodi di Deep Learning (2vec models) al fine di rappresentare ogni singola relazione del grafo in uno spazio bidimensionale, in cui si possa facilmente applicare un modello collaborativo.
Le innovazioni presentate sono il frutto degli ultimi due anni di ricerca nel mondo dei Recommendation System, il cui hype è avvenuto solamente nel 2017. È evidente che la rivoluzione targata Deep Learning e Knoweldge Graph sia solo all’inizio, ma Reply grazie alle competenze consolidate durante la realizzazione di numerosi PoCs con tecnologie Big Data open source, può considerarsi all’avanguardia su questi temi che segneranno inevitabilmente il futuro più prossimo dei sistemi di recommendation sia dal punto di vista algoritmico che architetturale. A questo proposito, Reply ha definito il framework Robotics for Customers , che riassume gli approcci delle differenti company Reply e permette di integrare soluzioni rapide di Recommendation su ogni piattaforma. L’ottica è totalmente data-driven e customer-oriented, secondo una metodologia agile: la fase progettuale segue cicli iterativi di prototipazione e validazione online dei risultati con A/B testing, integrando quindi direttamente gli utenti finali nel loop di validazione degli algoritmi. Il tuning continuativo permette di testare differenti modelli favorendo l’implementazione di tecniche innovative come Deep Learning e Knowledge Graph nel ciclo di vita del progetto mediante approcci sistematici e riducendo al minimo il time-to-market.