Salta al contenuto
artea.blog
  • artea.com
  • Articoli
  • artea.com
  • Articoli

Make or Buy: strategia e tattica per costruire il motore di ricerca aziendale

Dalla neonata startup alla multinazionale quotata, tutte le aziende a un certo punto si trovano davanti alla fatidica scelta del “make or buy”: che sia il nuovo sistema HR, un CRM, uno dei componenti che sostituiscono la proposizione aziendale, il manager si trova a decidere se il nuovo software è da costruire (“make”), o comprare (“buy”).

Mentre in alcuni casi questa decisione è piuttosto ovvia, nessuno si metterebbe mai a farsi un suo foglio di calcolo o un suo sistema operativo, in altri diventa il campo di battaglia fra chi farebbe sempre tutto da zero, e chi non viene mai sfiorato da questo pensiero.

Dietro a questa diatriba c’è effettivamente la difficoltà dietro a ogni scelta strategica: da una parte ci sono costi di licenza, costi di integrazione, il rischio dell’effetto vendor lock-in (i.e., sostituire un domani il venditore è talmente costoso che la scelta diventa insostituibile e il venditore ottiene una forte posizione di controllo), la complessità nel lavorare con tecnologie proprietarie, il maggior costo per le personalizzazioni.

Dall’altra parte invece seguire la filosifica del make costringe il manager a prendersi una responsabilità importante: cosa succede se il progetto fallisce? Cosa succede se il software costruito non fa quello che dovrebbe? Chi posso chiamare se qualcosa non va?

Quindi è meglio il make o il buy? Come ogni domanda mal posta, l’unica risposta possibile è: dipende.

Per aiutare a rispondere è però indispensabile approfondire meglio il concetto di “make”. Comunemente, il make lo si immagina come la volontà di re-inventare la ruota partendo da zero e andando a scrivere ogni componente e ogni funzione. In alcuni casi può essere vero, in altri è un’estremizzazione assolutamente poco ragionevole.

Per spiegarvi meglio questa complessità, permettetemi di prenderla alla lontana con un esempio.

Quasi tutte le aziende hanno un problema in comune, legato a una delle necessità primordiali dell’uomo, ossia come fare per gestire la conoscenza. Era un problema per i sumeri, che inventarono la scrittura cuneiforme per condividere la conoscenza sui confini dei campi dei diversi contadini. Era un problema durante il medioevo, dove i poemi medioevali avrebbero dovuto sopravvivere ai personaggi reali o di fantasia di cui narravano le gesta. Era un problema per il mondo pre dot-com revolution, dove un progetto nato in ambito militare era diventato il mezzo fisico per condividere la conoscenza. Era un problema parzialmente risolto subito dopo, dove quelli che sarebbero diventati le nuove super-potenze capirono che dietro alla complessità della strutturazione della conoscenza solo una ricerca testuale e poco vincolata avrebbe potuto governare questo nuovo mondo. E allora Yahoo, i fratelli Lycos, Google, tutti colossi nati negli anni 90, battezzarono la nascita di una nuova era.

Oggi nessuno si pone più il problema di chi abbia ragione su un dato argomento: ricordo ancora quando ero piccolo, quando a tavola una discussione diventava troppo animata, mia madre andava a prendere l’enciclopedia per sancire chi avesse ragione. Oggi basta “googlarlo” o cercarlo su wikipedia.

Quindi nel mondo comune l’idea di un singolo motore di ricerca che ci da accesso a tutta la conoscenza disponibile è talmente scontato che nessuno si immagina di vivere senza.

Ma perché non si può dare per scontato lo stesso servizio all’interno dei perimetri aziendali?

Immaginiamo un’azienda manifatturiera che vive della genialità e capacità dei suoi reparti di ingegneria e ricerca e sviluppo. Quanto sarebbe comodo per loro avere un motore di ricerca che contiene tutti i documenti progettuali, tutti i Cad o il codice sorgente, i capitolati, le presentazioni, i manuali, i ticket dei bug aperti, le distinte base, i dati sui fornitori, i dati sui clienti, le informazioni delle linee di produzione, la tracciabilità. E’ un desiderio utopico?

E’ in questo contesto specifico che la scelta make or buy diventa ancora più sottile: esistono sistemi “off-the-shelf” con connettori per collegarsi ai più comuni software di mercato e con tantissime features mirabolanti, dalla ricerca nelle immagini, alla similarità fra documenti, alla ricerca testuale. Ma poi “il sistema di PLM (product lifecycle management) ha una serie di customizzazioni”, “quelle altre informazioni le teniamo su un excel”, “per avere questo devi prendere le mail”, “ci sono poi dei documenti pdf da elaborare per estrarre il cartiglio”, “attenzione, il nome del prodotto è il nome del file”, … spesso seguendo pedissequamente l’idea del buy per “evitarsi grane” ci si porta solo a casa una complessità e inefficienza molto grande. Quindi vediamo sistemi che sono veramente avanzati e completi, come Cadenas, portarsi a casa tantissime funzionalità pronte per l’uso, ma faticare a portarsi a casa quell’ecosistema complesso di software, soluzioni, regole, abitudini sedimentate che spesse volte rappresentano le vere sfide nelle grosse realtà industriali.

“Allora no, voglio fare tutto io” potrebbe balenare nella testa del manager: “costruisco l’indice”, “costruisco il mio OCR“ (software per riconoscere il carattere nelle immagini), “costruisco il mio connettore a Teamcenter” (uno dei prodotti più diffusi nel mondo della PLM). Sarebbe molto bello, ma quanto costa? Quanto tempo ci vuole? Chi mi garantisce che sarà compliant con tematiche normative come quelle legate ai dati e alla GDPR? Quale strategia scegliere? La scelta migliore è probabilmente il make and buy, ottenibile con un approccio molto semplice:

  • Disegno l’architettura e la soluzione
  • Identifico i componenti logici utili per realizzare la soluzione
  • Componente per componente
    • Valuto quanto mi costi farlo
    • Valuto quanto mi costerà mantenerlo
    • Valuto quanta personalizzazione mi servirà

Tornando al nostro problema, la gestione della conoscenza, servirebbe:

  • Un componente per estrarre i testi da qualsiasi tipo di file (immagine, cad, pdf, excel, documento, …)
  • Una serie di connettori per estrarre i file dai vari sistemi legacy
  • Un contenitore che ospiti il processo e faccia si che l’estrazione sia incrementale (ogni giorno voglio solo i file nuovi, non tutti i file ogni volta)
  • Un engine che permetta di indicizzare questi testi
  • Un’applicazione web che permetta di interrogare questo engine con un’esperienza utente il più vicina a quella che è abituata ad avere (text-box di google ad esempio)

Connettori e logiche probabilmente trovandoci davanti a sistemi custom ha molto senso costruirseli, così come una semplice applicazione web. Engine di indicizzazione molto meno, esiste uno standard de facto open source di nome Lucene, disponibile vanilla o attraverso varie distribuzioni (come Azure Search).

L’estrazione dei testi, che sembra quasi la parte meno importante, diventa vitale: la sola idea di coprire qualsiasi casistica di formato scoreggerebbe anche il più accanito sostenitore del make. Che soluzioni esistono sul mercato per questa “nicchia”? In realtà non moltissime. Sicuramente Aspose è un sicuro candidato per questo ruolo (soluzione che alla fine abbiamo adottato in ogni nostro progetto/prodotto), per via sia della copertura notevolissima dei possibili formati, che per la possibilità di utilizzare qualsiasi tipologia di linguaggio di programmazione. Di fatto è l’unica soluzione che copre sia la parte puramente “office” che formati più complessi come i vari CAD. Anche se a prima vista potrebbe non sembrare un prodotto “economico”, andando a vedere la quantità effettiva di feature offerte, nel momento in cui c’è la possibilità di ri-utilizzarlo su più progetti e quindi ripartire il suo costo, la scelta diventa veramente semplice da fare. In questo momento ci sta permettendo, oltre all’estrazione del testo da qualsiasi formato file (e parliamo anche di cose assolutamente esoteriche come i QAF, formati mai sentito prima di incontrarlo in un progetto), di fare in maniera semplice e intuitiva le thumbnail di preview del documento (feature molto apprezzata dagli utenti che utilizzano il motore di ricerca tailor made sulle loro esigenze).

Quindi… scegliere tra make or buy non è mai una scelta banale e scontata, che viene resa più semplice trovando prodotti “primi della classe” (best of breed) come Aspose, in grado di accelerare progetti complessi e far si che sia possibile fare focus sulle parti applicative delegando una grossa complessità alle sue librerie.

Ti interessa scoprire come applicare potenti e innovativi modelli predittivi per calcolare il rischio?

Compila il form in basso per richiedermi una consulenza gratuita.







    AccettoNon accetto


    AcconsentoNon acconsento


    • 7 Lug, 2020
    • (0) Commenti
    • By Florindo Palladino
    • Big Data, Finanza e Credito, Intelligenza Artificiale, Machine learning, News, Opportunità

    Intelligenza Artificiale e Mondo del Credito

    Ecco come nasceranno dei Super-Analisti.

    Il mondo del credito sta iniziando il suo lungo viaggio nell’universo dell’Intelligenza Artificiale ma fatica ancora a coglierne tutti i vantaggi.

    Perché?

    Le sfide proposte sono molto complesse e affascinanti: dall’ottimizzazione della gestione del rischio di credito, al supporto agli analisti attraverso nuovi KPI e insight.

    In sintesi, ciò che tutti gli istituti di credito vorrebbero è la possibilità di contare su:

    strumenti facilmente utilizzabili e basati su potenti modelli di predizione in grado di imparare dinamicamente dagli errori fatti in passato.

     

    Ma c’è un “ma”!

    Fra le peculiarità di questa industria, non si può dimenticare quanto ogni processo e strumento sia fortemente regolamentato, sia a livello europeo che italiano.

    Questo ci porta a “scontrarci” con un limite.

    Ogni qualvolta che si rifiuta una richiesta di prestito, occorre motivare questa scelta e non si può semplicemente dire:

    “non ti concediamo il prestito perché ce lo ha detto un algoritmo!”

     

    Dove nasce il problema?

    Fra i tanti modi che esistono per descrivere gli algoritmi, ne esiste uno che li categorizza come algoritmi espliciti e impliciti (o latenti).

    Questa suddivisione, che è perpendicolare a qualsiasi altra tassonomia tu voglia usare, permette di distinguere queste due classi di algoritmi:

    • gli algoritmi espliciti sono quelli nei quali è semplice capire quale parte dell’input (informazioni iniziali) abbia generato l’output (risultato);
    • gli algoritmi impliciti sono, invece, quelli in cui il collegamento di causalità non è così evidente e, di conseguenza, non permettono di dire con certezza quali informazioni hanno portato a una determinata conclusione.

    I secondi algoritmi, quelli impliciti, sono molto più performanti dei primi ma sono inutilizzabili tutte le volte che è necessario spiegare a posteriori la motivazione del risultato.

    E nel mondo della concessione del credito è un punto talmente importante da essere addirittura regolamentato.

    Un esempio molto comune di algoritmo esplicito (il cui risultato è semplice da spiegare) nel mondo del credito sono le regressioni logistiche che vengono utilizzate da anni per calcolare la probabilità che concedere un prestito a un soggetto sia la scelta corretta.

    Gli istituti di credito che devono fare questo tipo di valutazione potrebbero contare su score molto più precisi con l’utilizzo di modelli non lineari come le reti neurali artificiali (con algoritmi impliciti), in grado di considerare moltissime variabili contemporaneamente.

    Fino ad oggi, però, questo non è stato possibile perché, se una persona a cui una banca ha deciso di non concedere il credito chiedesse spiegazioni e il responsabile rispondesse “Non lo so, me l’ha detto un algoritmo!”, si alzerebbe un putiferio.

    Immagino già le prime pagine dei giornali o i salotti televisivi dove perfetti qualunquisti farebbero echeggiare questa notizia per mesi e mesi.

     

    Reti neurali: la nuova frontiera del calcolo del rischio nel mondo del credito

    È possibile spiegare il risultato fornito da una rete neurale artificiale (algoritmo implicito) che, di fatto, fornisce risultati estremamente più precisi e affidabili di quelli offerti dai modelli utilizzati attualmente dagli istituti di credito?

    Un modo c’è!

    Partiamo dal principio: cosa è una rete neurale artificiale?

    Una rete neurale artificiale non è nient’altro che il tentativo dell’Intelligenza Artificiale di “scimmiottare” il funzionamento della conduzione nervosa nel nostro cervello.

    Abbiamo quindi dei neuroni artificiali, nodi iperconnessi e in grado di “sparare” un segnale fisso in output (risultati) se in input (informazioni iniziali) viene superata una certa soglia.

    Questi neuroni artificiali sono divisi in strati (layer): ogni neurone di uno layer è iperconnesso con i neuroni dei due layer contigui, tramite percorsi in grado di attenuare la propagazione del segnale attraverso due paramenti:

    • il peso, che mima la “distanza” fra i due neuroni;
    • il bias, che rappresenta un “circuito facilitato” in cui la differenza di potenziale d’azione, tra interno ed esterno del neurone, necessaria per “sparare” i risultati è minore.

    Sotto trovi un semplice esempio di una rete a 3 layer che gestisce 4 variabili in input e restituisce due variabili in output.

    Le 4 variabili in input potrebbero essere:

    • fatturato anno precedente;
    • numero di dipendenti;
    • anni di attività;
    • valore del denaro chiesto in prestito.

    Le due variabili dell’output potrebbero essere:

    • concedo il prestito;
    • non concedo il prestito.

    La complessità nasce dal fatto che ciascun input è collegato con i primi 4 neuroni (16 collegamenti che corrispondo a 16 pesi e 16 bias). Ogni neurone del layer di input è a sua volta collegato con ogni neurone del layer interno e così via.

    Stiamo quindi parlando di 112 variabili per una rete veramente semplice (immagina per un caso reale con 150 variabili di input, una rete a 2-3 layer della stessa dimensione e 3 variabili di output e prova a calcolare l’enorme numero di parametri presenti).

    Come lavorano oggi le aziende di credito?

    Tante aziende che lavorano nel mondo del credito utilizzano una serie di regole “semplici”, spesso binarie, per descrivere ogni richiesta di prestito e delle super-regole che fungono da condizione necessaria e che, di fatto, possono ribaltare o confermare l’esito delle regole “semplici”.

    In questo modo, viene creato un modello con algoritmi espliciti dove lo studio della motivazione dell’output è direttamente collegato alla logica della super-regola.

    Per cercare di ottimizzare il sistema utilizzato, spesso, le aziende si appoggiano a gruppi di analisti con il compito di analizzare le richieste “borderline”, in modo da poter accettare la maggior parte delle stesse (anche quelle inizialmente respinte dagli algoritmi utilizzati) ma limitando la quantità di futuri cattivi pagatori.

    È qui viene il bello:

    richiedere l’opinione degli analisti, inconsciamente, porta all’utilizzo di modelli più complessi (non sempre gestibili con certezza da un essere umano).

    Facciamo un esempio per spiegare il lavoro degli analisti quando li si interpella per rianalizzare una richiesta di credito “borderline” (inizialmente non approvata dalla super-regola).

    Estendiamo il caso preso prima in analisi aggiungendo, alle 4 variabili (fatturato anno precedente, numero di dipendenti, anni di attività, valore del denaro chiesto in prestito), una quinta variabile che rappresenta la quantità di capitale prestato e restituito da quel cliente alla banca stessa.

    Immaginiamo anche che la super-regola dica che vada respinta ogni richiesta quando la cifra richiesta in prestito è superiore al 10% del fatturato, a prescindere dall’esito delle 5 variabili (regole “semplici”).

    In questa situazione, un cliente ottimo pagatore della banca ma che richiede un prestito superiore al 10% del proprio fatturato vedrebbe automaticamente respinta ogni sua richiesta, perché la sua super-regola non verrebbe rispettata.

    Ciò porterebbe a una decisione “sbagliata” ma, per fortuna, interviene un analista che decide di derogare la regola e concedere il prestito, dopo aver analizzato la pratica e visto che quel cliente, negli ultimi dieci anni è sempre stato un ottimo pagatore.

    Questo è un esempio di una regola più complessa utilizzata con successo dagli analisti.

    Ma cosa accade se a un analista viene chiesto di “correggere” la decisione di una super-regola quando le regole “semplici” sono molto di più, magari centinaia?

    Chiaramente, la sua analisi diventerebbe molto (troppo) complessa e il grado di efficacia della sua decisione scendere considerevolmente.

     

    Cosa può, oggi, fare l’Intelligenza Artificiale per le banche?

    Si possono, finalmente, leggere tutte le pratiche derogate del passato e imparare nuove regole, attraverso una rete neurale che, a suon di esempi concreti, impara a mimare il comportamento di super-analisti capaci di prendere in considerazione tantissime variabili.

    E qui viene il bello!

    Certo, il rischio rimane sempre lo stesso: creare un modello black-box molto efficace ma, per certi versi, inutilizzabile, perché il suo “funzionamento” non può essere facilmente spiegabile (descrivibile).

    Ma, se ben ci pensiamo, anche la deroga dell’analista è una black-box; smette di esserlo solo nel momento in cui l’analista commenta la sua deroga e spiega il perché della sua scelta.

    Ciò ci porta a considerare che:

    se è possibile creare un sistema capace di mimare le scelte di un analista, è possibile anche creare un sistema capace di fornire spiegazioni “plausibili” e, eventualmente, anche suggerimenti per i clienti ai quali non vengono concessi prestiti.

    Come è possibile realizzare queste due tipologie di modelli e i relativi algoritmi?

    Le strade sono diverse e dipendono dai dati che sia hanno a disposizione.

    Ad esempio, si può:

    • utilizzare un approccio basato su reti generative (Generative Adversarial Network) per imparare a generare delle giustificazioni identiche a quelle generate dagli analisti;
    • “spegnere” un neurone artificiale di ingresso alla volta per capire quale sia la reale motivazione dietro alla scelta.

    Questa seconda strada non può essere fatta in maniera “brute force”, perché le combinazioni possibili donano al problema complessità fattoriale (con 10 input, ne provo a spegnere 1 e faccio 10 prove, poi ne provo a spegnere 2 e faccio 90 prove, quindi provo a spegnerne 3 e faccio 810 prove, …).

     

    Funziona già in altri settori!

    Esistono dei “mondi” dove questi sistemi di Intelligenza Artificiale vengono utilizzati da vent’anni, al punto di essere entrati tra i principali asset strategici delle aziende che vi ci operano.

    Di che settore stiamo parlando?

    Del mondo delle raccomandazioni.

    Una delle storie più divertenti del mondo dei sistemi di raccomandazione nasce da un articolo del Wall Street Journal “If TiVo Thinks You Are Gay, Here’s How to Set It Straight”.

    TiVO è uno dei primi servizi di Video On Demand nati, basato su una formula particolare che sfruttava un qualcosa concesso dal diritto d’autore – registrare e vedere un film entro una settimana dalla sua messa in onda in chiaro – per permettere una sorta di Netflix con contenuti che duravano pochi giorni.

    Questa storia racconta dell’epopea di un utente che, dopo aver visto due film d’amore omosessuale, comincia a ricevere esclusivamente consigli legati al mondo omosessuale.

    Allora, per dimostrare a TiVO che non era omosessuale, inizia a guardare film sulla guerra. Dopo qualche giorno, TiVO capisce che non è omosessuale ma probabilmente nazista, e inizia a proporre solo film sul terzo reich.

    Insomma, il sistema di classificazione utilizzato da TiVO non garantiva un sufficiente grado di certezza degli output generati.

    Ecco perché le aziende che, come Netflix, sono in grado di capire perfettamente i gusti degli utenti riescono a ottenere un grande vantaggio competitivo, al punto di focalizzare il loro core business su questa capacità: riescono a prevedere il comportamento dei loro clienti.

     

    Qual è il loro trucco?

    Il segreto sta tutto in quelle 3-4 parole che vengono messe da aziende come Netflix sopra ogni finestra orizzontale che creano per l’utente.

    Mi riferisco a quelle 3-4 parole che rappresentano il motivo per il quale vengono raccomandati certi contenuti. Ad esempio, “Perché hai visto Pulp Fiction”, “Film più guardati della giornata”, “Film d’animazione fantasy” e via dicendo.

    Quindi la domanda risulta spontanea:

    se altri mondi riescono (brillantemente) a prevedere il comportamento di una persona, perché il mondo del credito non ha ancora colto questa opportunità?

    Una cosa è certa: è già tutto possibile!

    Le aziende che nel prossimo futuro potranno vantare enormi vantaggi competitivi sono quelle che riusciranno, prima dei loro competitor, a entrare nella nuova era dell’Intelligenza Artificiale applicata al mondo del credito.

    Ti interessa scoprire come applicare potenti e innovativi modelli predittivi per calcolare il rischio?

    Compila il form in basso per richiedermi una consulenza gratuita.







      AccettoNon accetto


      AcconsentoNon acconsento


      • 14 Mag, 2020
      • (0) Commenti
      • By Lo Scienziato
      • Big Data, Finanza e Credito, Intelligenza Artificiale, Machine learning, News
      Sfoglia le pagine

      La nostra azienda
      Termini e Condizioni
      Politica sulla riservatezza
      Politica sui cookie

      Mettiti in contatto

      artea.com s.r.l.

      Via Matteo Bandello, 5
      20123 – Milano -Italy
      P.IVA 10477590961

      Tel:(+39) 02 365 995 59
      info@artea.com

      Iscriviti alla newsletter

      Rimani aggiornato per nuove uscite. Inserisci la tua email e iscriviti alla nostra newsletter.

      Sottoscrivi

      Sottoscrizione alla newsletter




        AccettoNon accetto


        AcconsentoNon acconsento


        © artea.com All right reserved