Lungo la strada dell’intelligenza

Lungo la strada dell’intelligenza

Sviluppata da una branca dell’intelligenza artificiale, la disciplina nota con il termine “apprendimento automatico” in Eurosystem è al centro di ricerche finalizzate a migliorare l’esperienza utente nell’utilizzo di un software gestionale, rendendo il sistema in grado suggerire automaticamente le risposte cercate dall’utente, massimizzandone la soddisfazione e minimizzandone i tempi nello svolgimento del lavoro.

Migliorare l’esperienza utente nei software gestionali
Come nella miglior tradizione dei meeting aziendali creativi e propulsivi, ci siamo lasciati nello scorso numero con un interrogativo aperto sulla possibilità o meno di sfruttare le tecniche di apprendimento automatico per migliorare l’esperienza utente nell’utilizzo di software gestionali come Freeway® Skyline, dove con apprendimento automatico si intende una famiglia di tecniche che automaticamente ricavano informazioni interessanti (in gergo “pattern”) da dati in un qualsiasi formato elettronico contenuti in un pc o un server. Ebbene, perché l’interrogativo non rimanga lettera morta, ma si traduca in esperienza viva, Eurosystem in questi due anni ha sviluppato e testato diversi prototipi per validare la bontà di alcune tecniche di apprendimento automatico nell’ambito di diversi campi di gestione.

Il piano di codifica nelle aziende di produzione
Generalmente all’interno di un’azienda di produzione in buona salute, che pianifica e avvia ogni giorno centinaia di ordini di produzione, diventa prioritario per l’ufficio tecnico realizzare un piano di codifica attento e completo, che spesso costa tempo e fatica, e che serve ad identificare con degli opportuni codici una serie di elementi necessari all’esecuzione di tutto il processo produttivo: progettazione, codifiche prodotti, strutture di distinte, regole e varianti di configurazione di prodotto, di listino prezzi, di composizione dei colli. Il piano deve essere poi trasmesso a tutte le persone che hanno la necessità di lavorare con questo complesso di informazioni, costituito da collezioni di dati molto estese che vengono visualizzate e utilizzate migliaia di volte al giorno. All’interno dell’ufficio tecnico, infatti, ogni utente si ritrova a dover inserire quotidianamente centinaia di variabili per creare le distinte di produzione necessarie a mandare avanti i processi produttivi. La complessità di lavoro è tale che se il piano di codifica non è abbastanza chiaro e corretto, può essere alto il tasso di errore legato ad una codifica e quindi la possibilità di compromettere l’intero flusso di lavoro. Una problematica simile può insorgere anche quando l’ideatore della codifica lascia l’azienda senza che sia stato documentato come funziona lo schema. L’obiettivo di un’azienda come Eurosystem, che realizza un software di gestione dei processi aziendali, è arrivare a sviluppare un sistema che, grazie a tecniche di apprendimento automatico, faciliti l’utente nell’accesso, nella consultazione e nell’utilizzo di una numerosità di dati enorme richiedendogli di effettuare solo poche operazioni per creare, visitare o ispezionare oggetti complessi. A questo si aggiunge la necessità di creare un ambiente unico e integrato nel sistema gestionale, all’interno del quale l’utente possa gestire tutte queste operazioni senza dover ricorrere all’apertura di diversi moduli applicativi oppure di altri software, magari di carattere dipartimentale.

Apprendimento automatico e piano di codifica
Le tecniche di apprendimento automatico, una volta introdotte in Freeway® Skyline, possono rendere il sistema in grado di facilitare la realizzazione di un piano di codifica corretto mediante l’inserimento di pochi esemplari rappresentativi. Questo significa che in fase di ricerca l’utente, immettendo nel sistema poche indicazioni relative allo schema di prodotto, distinta, listino o collo, trova immediatamente l’informazione o l’oggetto cercato. La capacità selettiva del sistema – detto per questo motivo “intelligente” – restringe notevolmente la numerosità delle informazioni visualizzate e gli consente di trovare facilmente le informazioni desiderate. L’utente si trova così nella condizione di poter svolgere efficientemente i compiti che si è preposto. Questo agevola il suo lavoro considerando che l’abilità del sistema visivo umano è abbastanza limitata ed è probabile che un utente, trovando all’interno di un’unica pagina web gruppi di oggetti sostanzialmente identici non riesca ad identificare l’oggetto della sua ricerca a causa delle numerose informazioni. In particolare, la soluzione studiata da Eurosystem è quella di raggruppare automaticamente i codici articolo e le strutture delle distinte del piano di codifica all’interno del sistema, che assimila automaticamente il piano e quindi permette di arrivare alla distinta base o all’informazione cercata con pochi click. Inoltre, il sistema, che è addestrato a proporre nuove codifiche in base a caratteristiche immesse, con i codici datigli in pasto potrebbe essere esso stesso il motore di un piano di codifica per le nuove anagrafiche. Il beneficio di tale soluzione è triplice: (1) offrire un modo alternativo per navigare efficientemente il piano di codifica che può esser particolarmente utile agli utenti che non lo conoscono o lo conoscono poco; (2) offrire un metodo guidato di costruzione del piano di codifica; (3) minimizzare la probabilità di errore nella ricerca o nell’inserimento di nuove codifiche, sgravando quindi l’utente dal peso di dover sempre ricordarne la struttura.

Al fine di raggiungere questi benefici la soluzione elaborata daEurosystem è stata l’implementazione di un algoritmo di addestramento non supervisionato noto in letteratura come dual k-means [1], il cui compito è quello di confrontare i codici e di raggrupparli in un insieme gerarchico di cluster (o segmenti). All’interno dello stesso cluster si trovano distinte simili tra loro. Il risultato si può pprezzare, ad esempio, in quei casi in cui, a partire da un insieme di distinte, si ottiene una segmentazione il cui onere (opzionale) per l’utente è quello di assegnare un nome intuitivo a ciascun cluster per facilitare ulteriormente la navigazione. Per evitare casi limite, per i quali una distinta base può appartenere a più di un cluster, si è deciso di includere la stessa nei primi due cluster più rappresentavi. Un esempio di caso limite è quello della produzione di un “divano-letto” per il quale è ragionevole sia l’appartenenza della distinta al cluster elle distinte per i “divani”, sia a quelle dei “letti”.

Apprendimento automatico e portale
Un altro caso di applicazione di tecniche di apprendimento automatico è quello di dare soluzione al problema della proposizione dei contenuti per un portale. In questo caso, si vuole dare al software la capacità di adattarsi alle abilità e all’esperienza dell’utente nello svolgere i compiti di ogni giorno mostrandogli solo ciò che è per lui rilevante e utile a svolgere efficacemente il suo lavoro. L’idea alla base di questa soluzione è la costruzione di un motore di supporto alla visualizzazione dei contenuti, il quale tenga conto dell’utilizzo o dei feedback da parte dell’utente per suggerire ciò che è probabilmente rilevante e scartare ciò che il sistema ha dedotto non esserlo. Posto in tali termini il problema può esser definito come roblema di apprendimento supervisionato. Il motore potrebbe essere in grado di proporre funzionalità o scorciatoie per svolgere i task più efficientemente. Ciò vale nell’ipotesi ci siano possibilità di completare un certo compito in modo più efficiente rispetto a quello utilizzato dall’utente. In tal caso il portale si riconfigura per rendere visibile il modo più efficiente. Analogamente il motore cerca di aiutare l’utente nel caso in cui si perda, suggerendo il modo di arrivare comunque a svolgere il task desiderato. Questa funzionalità è sicuramente utile per gli utenti alle prime armi la cui probabilità di smarrirsi tra le pagine del portale è abbastanza elevata. Di conseguenza la soluzione proposta diminuisce i tempi di addestramento dell’utente all’utilizzo del prodotto adattandolo alle sue abilità. Da una prospettiva opposta, il motore aiuta gli utenti esperti a svolgere task ripetitivi, come l’immissione o compilazione di dati richiesti, sfruttando l’esperienza che il sistema ha già acquisito. Deve poter far ciò utilizzando sorgenti dati eterogenee: statistiche di utilizzo del software, dati presenti nell’ ERP/MRP o nel repository documentale, ecc… Le funzionalità più avanzate del motore possono offrire la possibilità di automatizzare le decisioni gestionali non strategiche (di livello intermedio) al fine di sgravare l’utente dal tipo di lavoro che generalmente ne peggiora l’esperienza e massimizza la probabilità di errore, ottimizzando invece i tempi.

Per realizzare le funzionalità descritte è necessario combinare svariate tecniche di apprendimento automatico. La famiglia di tecniche che meglio servono agli scopi di visualizzazione, filtraggio e proposizione dell’informazione discusse sopra sono note come modelli generativi. Oggi, istanze di tali modelli sono efficacemente utilizzate da applicazioni come Google news, Bing o Zite. Particolarmente degno di nota è un metodo conosciuto come Restricted Boltzmann Machine [2], evoluzione delle ormai storiche reti neurali, che nel campo della proposizione automatica dei contenuti si presenta come una
vera e propria rivoluzione in termini di esperienza utente.

I due esempi di applicazioni mostrano come sia possibile lavorare nella direzione del miglioramento dell’esperienza utente, senza intervenire esplicitamente sull’interfaccia e affrontando esplicitamente le tematiche tipiche dell’interazione uomo-macchina. Proseguendo per questo percorso, Eurosystem svilupperà alcune delle soluzioni che diventeranno parte integrante del nuovo rilascio di prodotto Freeway® Skyline 3.0.

[1] Shawe-Taylor, J., & Cristianini, N. (2004). Kernel Methods for Pattern Analysis. doi:10.1017/CBO978051180968
[2] Murphy, Kevin P. Machine learning: a probabilistic perspective, pg. 996. The MIT Press, 2012.