IBM CLOUD: Estrazione informazioni da repository di documenti con Watson Discovery

Questo articolo fa parte di una serie scritta in collaborazione con Raoul Alfredo Rocher e Massimo Loaldi. Come IT Solution Architect in ambito Cloud e Intelligenza artificiale vogliamo proporvi alcune brevi review per facilitare l'uso e l'adozione di tecnologie emergenti e innovative.

Come spiegato nell’articolo relativo ai moduli di intelligenza artificiale di IBM, Watson non è altro che un servizio di intelligenza artificiale, suddiviso in moduli. Ogni servizio di Watson è responsabile di un dominio specifico di intelligenza artificiale. Essi sono moduli componibili ed integrabili tra loro all’interno di soluzioni esistenti.

Requisito necessario per il proseguo della lettura e per la creazione delle risorse è essere in possesso dell’account IBM Cloud. Se non si disponesse dell’account seguire il tutorial per la creazione di un free account.

Nello specifico quest’oggi affronteremo l’argomento Watson discovery e come estrarre informazioni utili direttamente da documenti pdf, word, excel e Powerpoint. La ricerca tradizionale non riesce a comprendere completamente la struttura dei documenti aziendali complessi, perché includono contenuti specifici ed hanno diversi formati che, da un punto di vista visivo, sono difficili da interpretare per le ricerche tradizionali. A questo viene incontro l’inteligenza artificiale di watson che, grazie ad algoritmi di machine learning, è in grado di capire la struttura dati di un documento e di estrarre informazioni rilevanti ai nostri fini.

Come primo step è necessario creare il servizio direttamente dal catalogo IBM Cloud (cloud.ibm.com/catalog) come dall’immagine sottostante.

No alt text provided for this image

Cliccare sul servizio, selezionare il piano desiderato e creare l’istanza di Watson Discovery.

Dalla Dashboard IBM Cloud recarsi sul servizio appena creato e cliccare sul pulsante blu “Avvia Watson Discovery”.

No alt text provided for this image

Una volta atterrati sulla piattaforma Watson Discovery, è necessario collegare una base dati o data source.

Cliccando sul pulsante aggiungi un data source (Add Data sources) si aprirà la finestra sottostante:

No alt text provided for this image

Si potrà scegliere un connettore già preimpostato da IBM per connettere i propri dati, nello specifico:

- Connettori a servizi di terze parti: Inserendo i parametri come credenziali ed API Key è possibile accedere a basi dati che sono già esistenti e risiedono in. Provider di terze parti oppure in file storage in Cloud.

  • Web Crawler: Una particolarità di Watson Discovery è quella di reperire le informazioni direttamente dai siti web. Cliccando su web crawler è possibile aggiungere l’URL di un sito web, decidere ogni quanto scansionarlo (una volta al giorno, una a settimana,…). Facendo clic su add dell’URL è possibile inoltre personalizzare la ricerca inserendo un numero massimo di hops per il sito web (sottodomini di ricerca). Cliccare Save & Sync per iniziare il processo di download del sito web.
No alt text provided for this image

- Caricare il proprio documento: in questo caso sarà possibile, mediante un semplice drag and drop, trascinare un file PDF oppure un file Word dal nostro pc, direttamente sul Cloud di Watson Discovery.

Arrivati a questo punto abbiamo a disposizione una base dati sulla quale effettuare il training. Nel caso in cui si tratti di Web Crawling, Watson Discovery effettuerà un Auto-Labeling del testo HTML scaricato. Negli altri casi sarà possibile accedere alla funzionalità di SDU(Smart Document Understanding). Con SDU è possibile apporre etichette visive al testo contenuto nei documenti aziendali (da intestazioni e piè di pagina fino alle tabelle e così via), consentendo a Watson Discovery di individuare la risposta esatta da un corpo testuale o da una sezione. Grazie al machine learning, una volta addestrato SDU su alcune pagine, è possibile iniziare ad applicare quella comprensione a centinaia di documenti.

Nello specifico vediamo un esempio pratico:

Dopo aver caricato un documento Word, nell’interfaccia di Watson Discovery cliccare in alto a destra il pulsante Configure Data.

No alt text provided for this image

L’interfaccia di SDU che si paleserà davanti è molto user friendly, difatti nella parte centrale della finestra sarà presente un print del documento, nella parte destra sarà presente un elenco di campi. Cliccando su uno specifico campo è possibile selezionare delle porzioni di documento, all’interno del nostro documento caricato, per poterlo usare come training del modello di Machine Learning.

Più il testo ha una struttura ben definita, più sarà facile per Watson estrarre le informazioni rilevanti.


Un consiglio è quello di inserire un titolo che descrive il documento e selezionarlo con il campo Title. Successivamente strutturare il documento word con un titolo che indica l’argomento o la domanda, e del testo che indichi la risposta dove pescare la domanda. Questa divisione in paragrafi va eseguita, all’interno dello stesso documento, per ogni domanda alla quale si vuole rispondere.Successivamente, grazie al tool di SDU, selezionare rispettivamente i campi Question i titoli della domanda e i campi Answer per il paragrafo della risposta.

Un esempio pratico è il seguente:

No alt text provided for this image

Un titolo iniziale selezionato con il campo Title (violetto).

Un elenco di domande con le relative risposte. (Domande con il campo Question e risposte con il campo Answer oppure con il campo text).

Dopo aver concluso il training bisognerà recarsi nell’icona con la lente di ingrandimento (in alto a sinistra) per poter effetuare le query in linguaggio naturale.

Si potrà utilizzare il linguaggio naturale e vedere le risposte ottenute. Se la risposta ottenuta non è di nostro gradimento si può procedere a caricare altri documenti ed eseguire un nuovo training oppure ritrainare il documento caricato precedentemente.

Per utilizzare il servizio in produzione è possibile utilizzare le Chiamate API per interrogare Watson. In alternativa è molto utile collegare un altro servizio della suite Watson chiamato Watson Assistant. Tale servizio è stato oggetto di un articolo specifico reperibile al link. (Il consiglio è quello di creare il proprio servizio Watson Assistant per poter eseguire l’esempio descritto nei prossimi paragrafi).

Watson Assistant permette di creare chatbot intelligenti per risposdere alle domande degli utenti su uno specifico dominio. Collegando Watson Discovery, nello specifico Search Skill, è possibile reperire le informazioni non solo testualmente dalla chatbot, ma direttamente dai documenti pdf dove le risposte risiedono.

Direttamente dalla dashboard di watson assistant aggiungere al Workspace la search skills, come nell’immagine seguente:

No alt text provided for this image

Selezionare add search skill e assegnargli l’istanza e il workspace di Watson Discovery creata precedentemente durante questo tutorial. Successivamente è necessario Inserire i parametri che la risposta di Watson discovery dovrà avere, nello specifico:

  • Titolo della risposta.
  • Corpo della risposta.
  • Eventuale Url.
  • Messaggio in caso di risposta non trovata oppure di problemi di connettività.
No alt text provided for this image

Il servizio di Watson Discovery è ora configurato correttamente e collegato in modo impeccabile a Watson Assistant. Per poter avere la risposta alle domande del chatbot sarà necessario creare un intento (identificazione dell’intenzione dell’utente) che triggera l’utilizzo della search skills. Esempio, se i documenti della repository dei file sono inerenti alla privacy, l’intento dovrà riferirsi proprio a tutte quelle domande che l’utente farà inerente alla privacy. Recarsi nel dialogo, impostare la condizione if/else con l’intento appena creato e selezionare come risposta search skill. Qui è possibile anche definire una query specifica in linguaggio naturale.

Se si volessero seguire ulteriori approfondimenti tecnici recarsi alla documentazione IBM ufficiale al link: https://cloud.ibm.com/docs/discovery-data?topic=discovery-data-getting-started

Oppure alla documentazione API:

https://cloud.ibm.com/apidocs/discovery-data

To view or add a comment, sign in

Explore topics