IBM Cloud: Classificazione di testo con Watson Natural Language Classifier

Questo articolo è l'ottavo 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.

IBM Cloud è la piattaforma cloud di IBM che aiuta gli sviluppatori a realizzare e ad eseguire applicazioni e servizi innovativi. Oggi approfondiremo l’area tecnologica del natural language understanding, nello specifico vedremo come utilizzare e muovere i primi passi con i servizi di intelligenza artificiale Watson NLC sulla piattaforma cloud di IBM. Anche Watson NLU è un servizio di AI che si occupa di text mining e sarà oggetto del prossimo articolo.

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.

Watson NLC è l’acronimo di Natural Language Classifier. Questo servizio può aiutare la tua applicazione a classificare brevi testi dividendoli in classi precedentemente definite. In altre parole, permette di convertire testo non strutturato come mail, surveys, ticket di supporto e documenti in classi predefinite. Sono supportate le seguenti lingue: Inglese, Arabo, Francese, Tedesco, Italiano, Giapponese, Coreano, Portoghese (Brasiliano) e Spagnolo.

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.

No alt text provided for this image

Successivamente recarsi nell’elenco risorse di IBM Cloud e selezionare il servizio appena creato. Come indicato nell’immagine sottostante premere il pulsante blu “Avvia con watson studio”. Da notare che è presente anche un supporto introduttivo per capire come il servizio viene richiamato tramite CURL.

No alt text provided for this image

A questo punto, nella pagina che si aprirà, è necessario creare un nuovo classificatore, tramite il pulsante “Create model” (Riquadro rosso).

No alt text provided for this image

Nominare il servizio e selezionare l’istanza di object storage, essa è necessaria per il funzionamento di NLC, è possibile creare un’istanza del COS (Cloud Object Storage), direttamente da questa pagina, oppure dal catalogo IBM Cloud.

Il funzionamento è molto simile al servizio Watson Visual Recognition (Spiegato nel dettaglio qui ) solamente che i dati non strutturati che si analizzano e con la quale si addestrano il modello di rete neurale non sono immagini ma sono frasi in forma testuale. Per esempio, ho creato un classificatore reviews, con le classi Reviews Positive e Reviews Negative. Per inserire degli esempi in ogni classe basterà cliccare sulla classe ed inserire manualmente il testo. In caso ci siano tanti esempi da inserire nella classe si può procedere ad un training tramite csv file.

No alt text provided for this image

Una volta aggiunti almeno 10 esempi per classe, è necessario trainare il modello con il pulsante in alto a destra (Train Model). L’informazione fondamentale da inserire è la lingua. (Selezionare ovviamente la lingua utilizzata per il training). Non è possibile configurare un classificatore multilingua. Per gestire due o più lingue è necessario creare due o più classificatori. Attendere una decina di minuti per far completare il training della rete neurale.

Se ci si reca nella sezione del classificatore appena creata, è possibile scaricare i dati di training (Riquadro Rosso) oppure testare il modello appena sviluppato cliccando nella tab “Test” (Riquadro Blu). Se il modello predice correttamente la classe del nostro testo, è possibile implementare delle chiamate API verso il servizio di NLC nelle nostre applicazioni, in questo caso recarsi nella tab implementation (Riquadro Arancione). Nel caso in cui l’accuratezza del modello non ci soddisfi, è possibile Ri-editare e Ri-addestrare il nostro modello, in questo caso premere il pulsante Edit and Retrain (Riquadro verde).

No alt text provided for this image

Il test è fondamentale per gestire il modello.

Nella tab di test è possibile inserire una frase di esempio, successivamente premere classify per classificare la frase rispetto al modello realizzato e trainato in precedenza.

No alt text provided for this image

Verrà restituito un risultato in percentuale, più alta è la percentuale, più, secondo il modello addestrato, la frase di esempio appartiene ad una classe.

Un overview ad alto livello del servizio Watson NLC è disponibile al link:

https://www.ibm.com/watson/services/natural-language-classifier/

La demo di riferimento di Watson NLC è disponibile all’indirizzo:

La documentazione tecnica IBM Watson NLC è disponibile al link:

https://cloud.ibm.com/docs/services/natural-language-classifier?topic=natural-language-classifier-natural-language-classifier

La documentazione API IBM Watson NLC è disponibile al link:

https://cloud.ibm.com/apidocs/natural-language-classifier

In alto a destra è possibile cliccare su more e cambiare il linguaggio di programmazione per poter generare gli snippet di codice nel linguaggio desiderato.

To view or add a comment, sign in

Explore topics