In questa percorso all’interno del Text Mining ho voluto stravolgere il modello espositivo canonico che prevede prima una descrizione e un’esposizione teorica dell’argomento e poi un’esposizione delle possibili applicazioni, allo scopo di andare incontro all’esigenza del lettore di delinearsi delle applicazioni esemplificative e poi rispondere all’eventuale esigenza di approfondimento.
Nella seconda parte, quindi, si parlerà della teoria che sta dietro al Text Mining e di come è possibile estendere la conoscenza di un’azienda per abbracciare tutte quell’abbondanza di informazioni all’interno di testi e documenti che normalmente vengono ignorate.
Il Text Mining per la Business Intelligence
Sebbene i data warehouse siano ormai uno strumento consolidato nelle aziende, molti di essi non hanno le caratteristiche per trattare documenti testuali: l’obiettivo primario è stato fino ad oggi sviluppare warehouse per gestire dati numerici, e i ritorni sono stati considerevoli. Le metodologie e gli strumenti sono ormai maturi e vengono accompagnati da best practice elaborate nel corso degli ultimi 5-6 anni.
È giunto il momento per focalizzarsi sul valore contenuto nei documenti e le tecnologie di Text Mining ci consentono di gestire nuove fonti di Business Intelligence.
Quali sono I motivi per cui diventa necessario inserire il trattamento delle informazioni all’interno della Business Intelligence?
Innanzitutto, ci sono moltissime informazioni critiche all’interno dei documenti che rimangono non accessibili: i sistemi di BI che poggiano sui data warehouse forniscono dati fattuali (che rispondono alla domanda che cosa è successo), ma solitamente non riescono a comprenderne i motivi. Ad esempio, supponiamo di scoprire che i margini sulle vendite di un prodotto sono diminuiti del 20% negli ultimi tre mesi, ma di non conoscerne le cause. Forse un concorrente ha lanciato sul mercato un prodotto alternativo a minor prezzo o di qualità superiore? Forse una politica di cross-selling ha comportato una limitazione dei margini? Che ci sia un altro distributore dello stesso prodotto e quindi un nuovo concorrente?
Non è semplice avere una risposta chiara a queste domande, soprattutto perché è necessario ricercarla in una plethora di documenti che va dalle e-mail, alle notizie, dai comunicati stampa alle campagne marketing, dai bilanci alle analisi di mercato.
Inoltre, gli attuali strumenti di gestione dei documenti non sono adeguati per incontrare esigenze della BI, poiché sono dedicati a insiemi di documenti omogenei, non all’eterogeneità dei testi che ogni giorno abbiamo a disposizione.
Anche i motori di ricerca non consentono di raggiungere un’alta precisione e un alta percentuale di recall (per precisione definiamo una misura di quanti documenti risultano da una ricerca che soddisfano il criterio di ricerca, mentre per recall si intende una misura percentuale di quanti documenti sono stati individuati su quanti invece avrebbero dovuto essere individuati).
Infine, i documenti sono distribuiti in una serie di piattaforme eterogenee, in diversi formati e linguaggi, solitamente senza un associazione con metadati che consentono di comprenderne il contenuto.
Davvero i testi non sono strutturati?
Una delle caratteristiche degli strumenti di BI è di consentire una visione integrata dell’organizzazione senza che l’utilizzatore si preoccupi della fonte originale dei dati
Sebbene sia semplice con strumenti di ETL (extraction-trasformation-loading) accedere alle fonti informative strutturate, così non è per i testi non strutturati.
Qui però è opportuno fare un’osservazione: il testo è spesso descritto come non strutturato, ma questo non è un attributo del tutto corretto. Il linguaggio è estremamente strutturato su molteplici livelli, come ben affermano i linguisti: i principi strutturali sono identificati nella formazione delle parole (morfologia), nella creazione di frasi grammaticali (sintassi) e nella rappresentazione del significato (semantica).
Più alti livelli di struttura possono essere identificati in discorsi, conversazioni, trattati, etc.
Analizzando la struttura del linguaggio è possibile quindi estrarre le informazioni contenute nel testo e dopo decenni di lavoro nel campo della linguistica computazionale, questa è diventata un’attività a cui possono accedere sempre più utilizzatori.
Le basi del Text Mining
Definito come studio e attività di estrazione di informazioni da testi utilizzando la linguistica computazionale, il Text Mining è costituito da un insieme di metodologie e tecnologie che consentono di:
- Estrarre dati e entità (features) un testo
- Effettuare un’indicizzazione tematica
- Raggruppare documenti dello stesso argomento (Clustering)
- Riassumere un testo
Queste quattro tecniche sono essenziali perchè consentono di risolvere due problemi chiave dell’utilizzo dei testi nella Business Intelligence: rendono l’informazione testuale accessibile e riducono il volume di testi che devono essere letti e analizzati dagli utenti finali alla ricerca di informazioni.
L’estrazione di features consente di individuare particolari informazioni all’interno di un testo: un’applicazione può determinare che l’azienda A fa parte del gruppo di aziende B e che l’amministratore delegato di D è il signor K.
Oppure, in un’analisi di merge & acquisitions, si possono determinare le aziende coinvolte, i costi, i meccanismi di finanziamento etc. O ancora che la società E ha, tra i suoi shareholders, una quota consistente appartenente alla società F che a sua volta è partecipata o di proprietà dell’azienda G.
L’indicizzazione tematica utilizza la conoscenza del significato dei termini di un testo per identificare gli argomenti trattati in un documento: ad esempio, documenti che parlano di aspirina o ibuprofene possono essere classificati sotto la categoria analgesici.
Spesso l’indicizzazione è implementata utilizzando tassonomie multidimensionali: una tassonomia è uno schema gerarchico di rappresentazione della conoscenza, ed è spesso definita anche con il termine di ontologia. A differenza delle tassonomie implementate da Yahoo o da dmoz, che consentono una navigazione ad albero all’interno delle categorie, le tassonomie consentono di ricercare un documento per argomento anziché per parole chiave.
Il Clustering è una tecnica utilizzata per raggruppare documenti simili dipendentemente dalle caratteristiche dominanti: per descrivere un documento, infatti, viene utilizzato un vettore contenente una lista degli argomenti principali o delle parole chiave con un peso numerico indicante l’importanza di ogni argomento o termine.
I documenti sono descritti con un piccolo insieme di termini o argomenti scelti da migliaia di potenziali dimensioni.
Non esiste un’unico modo per gestire il clustering, ma a tutt’oggi vengono applicati tre approcci: il clustering gerarchico, quello binario e le mappe auto-organizzate.
Il primo tipo di clustering utilizza un approccio basato su un set: il vertice della gerarchia è un set di tutti i documenti appartenente a una collezione, e le foglie dell’albero sono set con documenti individuali, mentre i livelli intermedi contengono insiemi di documenti via via meno popolosi.
I cluster binari sono simili ai cluster k-NN del data mining: ogni documento è contenuto in uno e un solo cluster, ed essi sono creati per massimizzare la similarità tra documenti in un cluster e minimizzarla tra documenti in cluster differenti.
Le mappe auto organizzate utilizzano le reti neurali per mappare documenti da spazi multi-dimensionali in mappe bidimensionali: documenti simili tendono verso la medesima posizione in una griglia a due dimensioni.
Riassunto di un testo (summarization): lo scopo della summarization è la descrizione del contenuto di un documento e la riduzione del testo da leggere. Gli argomenti principali di molti documenti possono essere descritti con solo il 20% del testo originale, senza perderne il senso.
Come nel clustering, esistono diversi approcci e algoritmi alla summarization: alcuni usano l’analisi morfologica dei termini per identificare le parole più utilizzate eliminando le parole poco significative. Altri algoritmi pesano maggiormente i termini usati nell’apertura o nella chiusura delle frasi, mentre altri approcci cercano frasi chiave che identificano frasi importanti come ad esempio “in conclusione” e “il concetto fondamentale” etc
Il Text Warehouse
Per estendere il Data Warehouse con una componente in grado di gestire testi sono necessarie nuove strutture dati e nuovi strumenti.
Introdurre testi in un DB non è un problema, in quanto ogni RDBMS supporta i BLOB (Binary Large Objects); per quanto riguarda i metadati, sarà necessario supportare informazioni inerenti il documento originale, la sua analisi, il contenuto, i collegamenti.
I metadati di analisi descrivono il tipo di processo di Text Mining applicato ai documenti, mentre i dati di contenuto includono gli attributi delineati dal Dublin Core, uno standard per metadati dedicato alle risorse Internet che include titolo, autore, soggetto, descrizione, data di pubblicazione, formato e collegamenti con altri documenti. I metadati sul contenuto includeranno anche informazioni estratte dal Text Mining, come le features e le relazioni di business menzionate nel testo.