Machine Learning con QualiWare

Dalla versione 2020.00 QualiWare mette a disposizione funzionalità avanzate per l’utilizzo di tecnologie di Intelligenza Artificiale (Artificial Intelligence – AI) e Machine Learning (ML). Esse sono state integrate in modo da consentirne una fruizione semplice per risolvere problemi di inferenza come, ad es., i seguenti, tipici della Qualità:

  • previsione di un livello di criticità di un reclamo o di un ticket di assistenza in arrivo;
  • previsione di un livello di rischio Non Conformità su un nuovo prodotto;
  • previsione di un livello di rischio su una fornitura in arrivo.

In tutti e 3 questi casi, l’avere una previsione può portare ad importanti risparmi di tempo e risorse. Ad esempio, per quanto riguarda il secondo e terzo caso, si potrebbe modulare opportunamente il livello di Controllo Qualità, rafforzandolo laddove il rischio è alto, e diminuendolo dove il rischio è basso.

Esistono sul mercato piattaforme AI/ML complesse, che richiedono giornate di analisi, sviluppo ed integrazione per la soluzione di un problema specifico. L’integrazione di queste in QualiWare avrebbe rappresentato una modalità d’approccio non coerente con la filosofia di QualiWare, quella di mettere a disposizione soluzioni semplici, altamente configurabili, utilizzabili rapidamente e dal costo limitato.

Per questo motivo è stato realizzato il Machine Learning Model Designer (MLMD), un modulo che consente di creare con pochi click un modello dei dati dai quali si vogliono ricavare stime e previsioni. Si tratta di un’operazione normalmente molto complessa e che deve essere effettuata da un esperto in Data Science, il quale, partendo dalla conoscenza delle decine di algoritmi disponibili in letteratura, sceglie quello più adeguato e ne determina i cosiddetti “iperparametri”. Tutto questo in QualiWare non è necessario, in quanto il MLMD seleziona automaticamente l’algoritmo migliore e ne determina, sempre automaticamente, i parametri, rendendolo poi disponibile per l’effettuazione di stime che potranno essere fatte in qualsiasi script (evento Form Designer, task, ecc.) attraverso un’apposita funzione primitiva.

Ciò consente di applicare il Machine Learning in una grande quantità di situazioni che si riscontrano normalmente in azienda, verificandone l’usabilità in tempi rapidissimi e senza necessariamente possedere conoscenze specifiche nel settore dell’Intelligenza Artificiale.

Per l’utente è necessario comprendere solo una cosa, molto semplice ma non banale. A cosa serve l’Intelligenza Artificiale e, in particolare, il Machine Learning

L’abbiamo già detto, principalmente serve ad effettuare stime e previsioni, partendo dalla conoscenza di dati precedentemente acquisiti, che vengono elaborati dagli algoritmi di ML per determinare il modello che trasforma le variabili di ingresso (predittori) nella variabile d’uscita (stima). Il tutto senza che un programmatore debba scrivere un algoritmo specifico nella modalità tradizionale, fatto di formule, if-then-else, ecc.

Facciamo un esempio pratico: volendo prevedere il livello di non conformità atteso su un nuovo prodotto, si può supporre che questo dipenda dai componenti in esso contenuti, dal tempo impiegato per la realizzazione (che è un’indicatore della complessità) e dal terzista che realizzerà il prodotto stesso. Avendo a disposizione questi dati per il passato e per tutti i prodotti e le relative non conformità rilevate, si potrebbe costruire un algoritmo che, con una serie di “if” e/o delle formule appropriate, stimasse il livello di non conformità atteso. Ciò ovviamente richiederebbe un’analisi approfondita dei dati stessi, per determinare i coefficienti delle formule o le condizioni da utilizzare. Andrebbe poi scritto il programma e provato. Inoltre, se cambiassero le condizioni (es. nuovi prodotti, aggiunta di nuovi tipi di componenti, ecc.), l’intera operazione andrebbe ripetuta.

Con la tecnologia del Machine Learning tutto questo non è necessario: tramite una query si organizzano i dati passati in una serie di colonne che costituiranno i predittori (es. il codice del fornitore, i codici dei componenti contenuti nella distinta base, il tempo di produzione), e nell’ultima colonna si inserirà il livello di non conformità, che può essere suddiviso in categorie in base alla percentuale. I risultati di questa query verranno utilizzati dal MLMD per “imparare” (il cosiddetto “training“), che, all’atto pratico, significa stimare il modello che determina la variabile d’uscita da quelle di ingresso. In realtà, non tutti i dati in uscita verranno utilizzati per imparare: una parte di essi verrà utilizzata per verificare ciò che si è imparato, e quindi stimare l’affidabilità del modello. Questo perchè la scelta del modello migliore è fatta in base ad una metrica, che rappresenta un’indicazione dell’errore medio di previsione. Il modello e i parametri che daranno la metrica migliore saranno quelli prescelti.

L’utente non vedrà nè il modello nè i parametri determinati, e non dovrà conoscerne la struttura: essi verranno memorizzati e utilizzati da QualiWare il quale, fornendo i dati in ingresso, potrà ricavare il valore stimato per la variabile in uscita. Non solo: sarà periodicamente possibile eseguire nuovamente, e in automatico tramite QualiWare Server Daemon, l’operazione di “learning” per determinare nuovamente il modello, e, quindi, adattarlo ad eventuali cambiamenti. Il tutto con pochi click e senza scrivere una riga di programma o una singola formula.

Ricapitolando, il grande beneficio offerto dal MLMD è che può determinare automaticamente il modello migliore partendo da una serie di algoritmi disponibili, e, quindi, togliere all’utente anche l’incombenza di capire quale tipo di tecnica di ML può essere più adeguata ai dati che ha a disposizione e dai quali vuole ricavare le stime.