di Cristiano Cirillo, Partner & Tech Sales Director di 3rdPLACE
L’Artificial Intelligence è la capacità delle macchine computazionali di eseguire compiti caratteristici dell’intelligenza umana.
Il machine learning è una modalità di esecuzione dell’Intelligenza Artificiale. Più in particolare è l’apprendimento automatico tramite algoritmi da schemi individuati tra i dati, senza essere esplicitamente e preventivamente programmato. Si utilizzano algoritmi cosiddetti ripetitivi, ossia che con l’esperienza migliorano le loro prestazioni in modo “adattivo” mano a mano che gli “esempi” da cui apprendere aumentano. Il machine learning consente quindi di automatizzare la creazione di un modello analitico e predittivo.
Gli algoritmi di machine learning più diffusi vengono generalmente suddivisi in due famiglie: supervisionati e non-supervisionati.
L’approccio supervisionato implica una fase di training (allenamento) del modello utilizzando dei dati storici che permettono quindi di eseguire la calibrazione; ne segue che il risultato viene raffinato osservando gli errori di predizione sui campioni storici. Dei classici esempi di applicazione di questa famiglia di algoritmi sono la classificazione e la regressione. In questo contesto, 3rdPLACE ha realizzato un modello basato su Extreme Gradient Boosting, capace di combinare dati finanziari tradizionali (dati di bilancio) con segnali digitali provenienti dal web per stimare la probabilità di default di aziende non quotate. E’ interessante segnalare come la soluzione machine learning abbia apportato un miglioramento del 13% rispetto ad approcci econometrici tradizionali. Per approfondimenti su questo caso pratico leggi qui.
Sempre sfruttando approcci supervisionati, in questo caso la Random Forest, 3rdPLACE ha messo a punto un algoritmo per il calcolo della probabilità di conversione da parte di utenti web. Nello specifico, osservando il comportamento di navigazione di un nuovo utente, si è in grado di determinare se quest’ultimo convertirà o meno con un’accuratezza di circa l’84%. Per approfondimenti su questo caso pratico leggi qui.
La seconda categoria di algoritmi utilizzati nel machine learning si basa sul paradigma di apprendimento non supervisionato, ovvero per risalire a schemi o modelli nascosti, quando non si dispone di dati per l’allenamento. Queste soluzioni sono comunemente adottate ad esempio per affrontare problematiche di clusterizzazione e dimensionality reduction. 3rdPLACE ha recentemente consegnato una soluzione che permette di clusterizzare gli utenti di un sito Internet in base agli interessi dimostrati durante la navigazione; facendo leva su un algoritmo di tipo Spectral Clustering, è stato possibile identificare gruppi di utenti con alto grado di similarità. L’applicazione ha riscontrato notevole successo sia per clienti dell’editoria (ad esempio per generare raccomandazioni di contenuti più mirate ed efficienti) che e-commerce dove è stato possibile ottimizzare le raccomandazioni di prodotti correlati. Per approfondimenti su questo caso pratico leggi qui.
Il deep learning è un approccio di machine learning che utilizza algoritmi di apprendimento automatico supervisionato o non supervisionato basati su diversi livelli di rappresentazione, corrispondenti a gerarchie di caratteristiche di fattori o concetti, dove i concetti di alto livello sono definiti sulla base di quelli di basso.
Le reti neurali sono i principali algoritmi tramite i quali tali metodi vengono implementati.
In particolare, le reti neurali supervisionate sono stati usate con successo per risolvere problemi per i quali è possibile raccogliere un’elevata mole di dati per calibrarle, come ad esempio problemi di handwriting recognition, tag di immagini e traduzione di testi. In campo finanziario le reti neurali supervisionate sono usate prevalentemente per scoprire pattern nelle serie storiche di prezzi di securities campionati ad alta frequenza, a fini di trading algoritmico o market making.
Gli algoritmi e gli approcci di machine learning possono essere applicati anche all’area tematica NLP (Natural Language Processing), ossia al trattamento informatico del linguaggio naturale. Rendere una macchina capace di elaborare il linguaggio naturale è piuttosto complesso, a causa del fatto che ogni lingua è dotata di regole specifiche che variano l’una dall’altra; inoltre vengono spesso utilizzate convenzioni e forme idiomatiche i cui significati sono fortemente dipendenti dal contesto.
Moltissime metodologie nate in ambito machine learning vengono utilizzate per affrontare problemi tipici del NLP: ad esempio, algoritmi di classificazione sono usati per associare un sentimento ad un testo, oppure reti neurali vengono sfruttate per fornire un riassunto di un articolo. Esistono tuttavia approcci differenti basati su regole linguistiche, formulate e implementate da linguisti.
In FinScience raccogliamo ogni giorno circa 300.000 news: da queste estraiamo informazioni sul contenuto che possono essere sfruttate dagli analisti (vedi ad esempio il caso della finanza sostenibile o per prevedere l’andamento di mercati finanziari).
Attualmente, per analizzare quali sono i soggetti menzionati in una news utilizziamo un algoritmo fondato su una base di conoscenza molto ampia costruita su Wikipedia. Sono state codificate circa 4 milioni di entità attraverso un’unica ontologia che contiene una classificazione organizzata in gerarchie: questo ci permette di analizzare in modo piuttosto approfondito le informazioni contenute nel testo.
Un altro caso in cui il machine learning viene in aiuto all’NLP è nel caso di estrazione di keywords da un testo: un algoritmo molto popolare è il TextRank, nel quale le parole presenti nel testo sono rappresentate tramite i nodi di un network. Si cerca poi di misurare quale siano i nodi più importanti all’interno della rete (simile a quanto viene fatto nel celebre PageRank di Google).
A breve, anche informazioni sugli argomenti trattati verranno incluse nel software di analisi di FinScience: il topic modelling è, infatti, un modello matematico non supervisionato usato in machine learning che permette di identificare pattern ricorrenti di parole all’interno di un gruppo di testi. FinScience potrà quindi impiegare i risultati ottenuti per interrogare il database in modo più efficiente, ma anche per costruire portafogli tematici.