Oggi, una quantità crescente di informazioni viene conservata in formati non strutturati e semistrutturati, come e-mail dei clienti, note dei call center, risposte aperte ai sondaggi, feed di notizie, moduli web, ecc. Questa abbondanza di informazioni pone un problema a molte organizzazioni che si chiedono: come possiamo raccogliere, esplorare e sfruttare queste informazioni?
Text Mining è il processo di analisi delle raccolte di materiali testuali al fine di catturare concetti chiave e temi e scoprire le relazioni nascoste e gli andamenti senza bisogno di conoscere le parole o i termini precisi utilizzati dagli autori per esprimere tali concetti. Anche se ci sono molte differenze, il Text Mining viene a volte confuso con il recupero delle informazioni. Mentre il recupero accurato e l'archiviazione delle informazioni è una sfida enorme, l'estrazione e la gestione di contenuti qualitativi, terminologia e relazioni contenute nelle informazioni sono processi fondamentali e critici.
Text Mining e Data Mining
Per ogni articolo del testo, il text mining basato sulla lingua restituisce un indice di concetti, oltre a informazioni relative a tali concetti. Queste informazioni distillate e strutturate possono essere combinate con altre origini dati per rispondere a domande come:
- Quale concetti si presentano insieme?
- A cosa altro sono collegati?
- Quali categorie di alto livello possono essere create dalle informazioni estratte?
- Cosa viene previsto dai concetti o dalle categorie?
- In che modo i concetti o le categorie prevedono il comportamento?
La combinazione di text mining e data mining offre una visione migliore rispetti ai semplici dati strutturati o non strutturati. Questo processo generalmente include i seguenti passi:
- Identificazione del testo da estrarre. Preparare il testo per il mining. Se il testo si trova in più file, salvare i file in un'ubicazione unica. Per i database, determinare il campo che contiene il testo.
- Eseguire il mining del testo ed estrarre i dati strutturati. Applicare gli algoritmi di text mining al testo di origine.
- Creare modelli concettuali e di categoria. Identificare i concetti chiave e/o creare le categorie. Il numero di concetti restituiti dai dati non strutturati è generalmente molto grande. Identificare i concetti e le categorie migliori per il calcolo del punteggio.
- Analizzare i dati strutturati. Utilizzare le tecniche di data mining tradizionali (clustering, classificazione e modellazione predittiva) per rilevare le relazioni tra i concetti. Unire i concetti estratti con altri dati strutturati per prevedere il comportamento futuro basato sui concetti.
Analisi del testo e categorizzazione
L'analisi del testo, una forma di analisi qualitativa, è l'estrazione di informazioni utili dal testo in modo che le idee o i concetti chiave contenuti all'interno di questo testo possano essere raggruppati in un numero adeguato di categorie. L'analisi del testo può essere eseguita su tutti i tipi e le lunghezze di testo, anche se l'approccio all'analisi può variare.
I record o i documenti più brevi vengono categorizzati più facilmente, poiché non sono complessi e di solito contengono meno parole e risposte ambigue. Ad esempio, se con domande di sondaggi aperti, si chiede alle persone di indicare le tre attività di tempo libero favorite, ci si potrebbe aspettare di vedere molte risposte brevi, ad esempio andare in spiaggia, visitare i parchi nazionali o non fare nulla. Risposte più lunghe, aperte, d'altra parte, possono essere abbastanza complesse e molto lunghe, soprattutto se gli intervistati sono istruiti, motivati e hanno tempo sufficiente per completare un questionario. Se si chiede a qualcuno di parlare delle proprie convinzioni politiche in un sondaggio o avere un feed di blog politico, ci si potrebbe aspettare dei commenti piuttosto lunghi su tutti i tipi di problematiche e posizioni.
La capacità di estrarre i concetti chiave e creare categorie adeguate da queste origini di testi più lunghi in un periodo di tempo breve è uno dei vantaggi chiave dell'utilizzo di Text Analytics. Questo vantaggio si ottiene dalla combinazione di tecniche linguistiche e statistiche, che produce risultati più affidabili per ciascuna fase del processo di analisi del testo.
Elaborazione linguistica e NLP
Il problema principale della gestione di tutti questi dati di testo non strutturati è che non esistono regole standard per la scrittura del testo che possano essere comprese da un computer. Il linguaggio, e di conseguenza il significato, varia per ogni documento e ogni parte di testo. L'unico modo per richiamare e organizzare correttamente tali dati non strutturati, è analizzare il linguaggio e quindi scoprirne il significato. Esistono diversi approcci automatizzati per l'estrazione di concetti da informazioni non strutturate. Tali approcci possono essere suddivisi in due tipi, linguistici e non linguistici.
Alcune organizzazioni hanno cercato di impiegare soluzioni non linguistiche automatizzate basate su statistiche e reti neurali. Utilizzando la tecnologia informatica, queste soluzioni possono eseguire la scansione e categorizzare i concetti chiave più rapidamente dei lettori umani. Purtroppo, la precisione di tali soluzioni è molto bassa. La maggior parte dei sistemi basati su statistiche conteggiano semplicemente il numero di volte in cui ricorrono le parole e calcolano la prossimità statistica ai concetti correlati. Essi producono molti risultati non pertinenti (disturbi) e ignorano risultati che dovrebbero invece trovare.
Per compensare la loro limitata precisione, alcune soluzioni incorporano regole non linguistiche complesse che consentono di distinguere tra risultati rilevanti e irrilevanti. Questo è indicato come text mining basato su regole.
Il text mining basato su linguistica, invece, applica i principi NLP (Natural Language Processing), l'analisi computerizzata del linguaggio umano, all'analisi di parole, frasi, sintassi (o struttura) del testo. Un sistema che incorpora la tecnologia NLP può estrarre in modo intelligente i concetti, incluse le frasi composte. Inoltre, la conoscenza del linguaggio sottostante consente la classificazione dei concetti in gruppi correlati, ad esempio prodotti, organizzazioni o persone, utilizzando il significato e il contesto.
Il text mining basato su linguistica trova il significato del testo in modo analogo alla mente umana, riconoscendo una varietà di forme di parole con significati simili e analizzando la struttura della frase per fornire un quadro per la comprensione del testo. Questo approccio offre la rapidità e l'efficienza dei sistemi basati sulle statistiche, ma offre un grado molto più elevato di precisione richiedendo un intervento umano molto minore.
Per illustrare la differenza tra approcci basati sulle statistiche e quelli basati sulla linguistica durante il processo di estrazione, considerare il modo in cui ciascuno risponderebbe a una query su reproduction of documents
. Sia le soluzioni basate sulle statistiche che quelle basate sulla linguistica dovrebbero espandere la parola reproduction
per includere sinonimi, come copy
e duplication
. In caso contrario, informazioni
rilevanti verranno trascurate. Ma se una soluzione basata sulle statistiche tenta di fare questo tipo di sinonimia - cercando altri termini con lo stesso significato - è probabile che includa anche il termine birth
, generando un certo numero di risultati irrilevanti. La comprensione
del linguaggio riduce l'ambiguità del testo, rendendo per definizione
il text mining basato sulla linguistica l'approccio più affidabile.
La comprensione del funzionamento del processo di estrazione può aiutare l'utente a prendere decisioni chiave durante l'ottimizzazione delle risorse linguistiche (librerie, tipi, sinonimi e altro). I passi del processo di estrazione includono:
- Conversione dei dati di origine in un formato standard
- Identificazione dei termini candidati
- Identificazione delle classi di equivalenza e integrazione dei sinonimi
- Assegnazione di un tipo
- Indicizzazione e, quando richiesto, corrispondenza di pattern con un analizzatore secondario
Passo 1. Conversione dei dati di origine in un formato standard
In questo primo passo, i dati importati vengono convertiti in un formato uniforme che può essere utilizzato per ulteriori analisi. Questa conversione viene eseguita internamente e non modifica i dati originali.
Passo 2. Identificazione dei termini candidati
È importante comprendere il ruolo delle risorse linguistiche nell'identificazione dei termini candidati durante l'estrazione linguistica. Le risorse linguistiche vengono utilizzate ogni volta che viene eseguita un'estrazione. Sono presenti sotto forma di modelli, librerie e risorse compilate. Le librerie includono elenchi di parole, relazioni e altre informazioni utilizzate per specificare o ottimizzare l'estrazione. Le risorse compilate non possono essere visualizzate o modificate. Tuttavia, le risorse rimanenti possono essere modificate nell'editor del modello o, se ci si trova in una sessione del workbench di Text Analytics, nell'editor delle risorse.
Le risorse compilate sono componenti interni centrali del motore di estrazione in Text Analytics. Queste risorse includono un dizionario generale contenente un elenco di moduli di base con un codice di parte del discorso (nome, verbo, aggettivo, ecc.).
Oltre a queste risorse compilate, con il prodotto sono fornite numerose librerie che possono essere utilizzate per completare le definizioni di tipi e concetti nelle risorse compilate, oltre che a proporre sinonimi. Queste librerie, e tutte quelle personalizzate create dagli utenti, sono costituite da più dizionari. Comprendono dizionari dei tipi, dizionari dei sinonimi e dizionari di esclusione.
Una volta importati e convertiti i dati, il motore di estrazione inizierà a identificare i termini candidati per l'estrazione. I termini candidati sono parole o gruppi di parole che vengono utilizzate per identificare i concetti nel testo. Durante l'elaborazione del testo, le parole singole (termini singoli) e le parole composte (termini multipli) vengono identificati utilizzando gli estrattori di pattern di parte del discorso. Quindi, le parole chiave delle opinioni candidate vengono identificate utilizzando la TLA (text link analysis) dell'opinione.
Passaggio 3. Identificazione delle classi di equivalenza e integrazione dei sinonimi
Dopo aver identificato i termini singoli e multipli candidati, il software utilizza un
dizionario di normalizzazione per identificare le classi di equivalenza. Una classe di equivalenza è una
forma di base di una frase o una singola forma di due varianti della stessa frase. Lo scopo dell'assegnazione
di frasi alle classi di equivalenza è garantire che, ad esempio, side effect
e 副作用
non vengano trattati come concetti separati. Per stabilire quale concetto utilizzare per la classe di equivalenza-ovvero, se side effect
o 副作用
viene utilizzato come termine guida - il motore di estrazione applica le seguenti regole nell'ordine elencato:
- La forma specificata dall'utente in una libreria.
- La forma più frequente, come definito dalle risorse precompilate.
Passaggio 4. Assegnazione del tipo
Successivamente, i tipi vengono assegnati ai concetti estratti. Un tipo è un raggruppamento semantico di concetti. Sia le risorse compilate che le librerie vengono utilizzate in questo passo. I tipi includono elementi quali concetti di livello superiore, parole positive e negative, nomi propri, luoghi, organizzazioni e altro.
I sistemi linguistici sono sensibili alla conoscenza: più informazioni sono contenute nei dizionari, maggiore è la qualità dei risultati. La modifica del contenuto del dizionario, ad esempio le definizioni dei sinonimi, può semplificare le informazioni risultanti. Questo è spesso un processo iterativo ed è necessario per un corretto richiamo dei concetti. NLP è un elemento centrale di Text Analytics.