Estrazione intelligente dei dati in base alla semantica del - k-tree
Transcript
Estrazione intelligente dei dati in base alla semantica del - k-tree
Estrazione intelligente dei dati in base alla semantica del contesto K-Tree S.r.l. Via Noto, 6, 20141 Milano - Italy Tel. 02 56810063 -02 36580660 Fax +39 02 57303797 Introduzione Il crescente ruolo strategico svolto, nell’era dell’economia della conoscenza e genericamente postindustriale, da processi di generazione, acquisizione ed interpretazione dati legati alla proliferazione informazionale che caratterizza i contemporanei media digitali, ha comportato negli ultimi anni una moltiplicazione di studi ed analisi incentrati sulle tematiche della rappresentazione della conoscenza e sul ruolo sempre più rilevante svolto da queste ultime nel campo della cosiddetta knowledge extraction. L’innesco di queste traiettorie di sviluppo e ricerca si radica evidentemente all’interno degli scenari di business connessi alle più recenti opportunità di mercato promosse dallo sfruttamento dell’informazione come fattore competitivo, ovvero allo sviluppo di tecnologie in grado di 1) processare grandi quantità di dati provenienti da fonti eterogenee di informazioni nativamente povere di struttura 2) permettere il riconoscimento di pattern e ricorrenze tra dette entità informazionali 3) arricchirne il contenuto con meta-informazioni 4) abilitare funzionalità di interrogazione dati e recupero di informazioni che siano sensibili ai vari contesti di significato in cui tali dati ed informazioni alloggiano. Il nuovo orientamento concettuale subito dal Document Management indotto da questi nuovi scenari commerciali, diviene così evidente quando questo intenda offrire ad una azienda uno strumento informatico capace non solo di ordinare e rendere accessibili le informazioni (evitare ripetizioni, possibili ridondanze, impossibilità di accesso, incoerenza, perdita di dati, ecc.), quanto piuttosto una suite che supporti 1) l’analisi e la catalogazione di dati eterogenei e delle basi di conoscenza implicitamente presenti nella massa documentale, gravitante attorno ad un’impresa (dai documenti proprietari a documentazione distribuite nell’infosfera), 2) l’acquisizione e la rappresentazione sistematica e formale di questa conoscenza, 3) l’attivazione di processi computazionali efficaci anche in fase manutentiva ed evolutiva e, naturalmente 4) modalità molteplici di condivisione e trasferimento della stessa. 1 In quest’ottica, ciò che si chiede ad un Document Management System è inoltre che sia in grado di aggredire il livello propriamente conoscitivo delle informazioni, ovvero che sia capace di riconoscere automaticamente il significato delle informazioni processate/catalogate in funzione degli interessi specifici dell’utente che vi accede. Riassumendo un sistema che, sensibile al contesto semantico delle parole, offra servizi di classificazione, analisi ed interrogazioni su corpora informazionali che sono non solo distribuiti ed eterogenei, ma anche fortemente destrutturati (come nel caso dei documenti web). Obiettivo del contributo è precisamente quello di illustrare, attraverso la descrizione di un reale caso aziendale, le linee metodologiche per lo sviluppo di una classe di sistemi di Information Retrieval basati esattamente sul trattamento semantico di informazioni contestuali. A questo scopo nel seguito, viene presentata l’esperienza condotta da K-Tree s.r.l. nel campo della progettazione e sviluppo di un sistema di Context-Based Intelligent Data Capturing realizzato con tecniche di rappresentazione della conoscenza e applicato al riconoscimento e classificazione automatica di grandi flussi documentali dematerializzati. Dati, Contesto e Semantica Applicata: il caso K-Capture In linea generale K-Capture nasce come sistema di Context-Based Intelligent Data Capturing mirante ad escludere - o comunque portare a livelli minimi - l’intervento umano nel processo di riconoscimento/interpretazione di significati testuali. Nello specifico K-Capture è stato sviluppato come applicazione che, eventualmente collocata a valle di sistemi Optical Character Recognition (OCR), consente di estendere le potenzialità di lettura di questi ultimi arricchendone il processo di interpretazione con moduli Knowledge Based. Portando quindi a convergenza l’approccio basato sulla visione artificiale e quello testuale/semantico, K-Capture rappresenta ad oggi una soluzione di Document Management e Knowledge Extraction che, coordinando vari moduli applicativi esterni (ICR/OCR, motore inferenziale, Knowledge Base, Document Management System) permette di automatizzare la gestione di flussi documentali e spostare il focus dei tradizionali approcci documentali al riconoscimento ottico di caratteri dalla semplice digitalizzazione dei flussi documentali in ingresso (fatture passive, cartelle cliniche, email, ecc.), ad un livello più evoluto capace di affrontare il livello semantico dell’informazione disponibile nel testo scritto. L’evoluzione a cui qui si allude si riferisce essenzialmente ai colli di bottiglia di cui i tradizionali sistemi OCR soffrono, i quali, senza scendere in analisi di dettaglio fuori dagli scopi del presente contributo, derivano 2 essenzialmente dalle ambiguità semantiche di cui soffre la lettura OCR. Sul piano strettamente tecnologico dei sistemi OCR il razionale da cui dette ambiguità traggano origine, trova spiegazione in tre distinte considerazioni: – Nel fatto che la scelta basata su algoritmi puramente grafici può essere in sé ingannevole; – Nel fatto che la filtrazione basata su dizionari non è sufficiente a dirimere casi di ambiguità semantica; – Nel fatto che la costruzione manuale di insiemi di regole per la classificazione documentale e la data extraction è particolarmente costosa e onerosa. Sul piano invece delle performance e dunque delle effettive prestazioni offerte in specifici casi applicativi, queste ultime sono strettamente dipendenti dal grado di ‘regolarità’ strutturale posseduto dai documenti de materializzati. Nei documenti strutturati infatti (ad esempio format o tabelle valorizzate univocamente generate da una singola applicazione, ad esempio un DBMS) la forma del testo offre relativamente ai termini e alle asserzioni che in quella struttura sono organizzate, un contesto per ridurne le eventuali ambiguità di significato, nei documenti non strutturati ,invece (ad esempio testi in campo libero) il significato del testo non può essere supportato da alcun tipo di analisi strutturale mirante all’individuazione dei contesti semantici. Tra queste due opzioni – che di fatto esprimono le aree del Document Object Modelling e quello del Natural Language Processing - trova spazio il caso ‘ibrido’ di documenti semi-strutturati, ovvero testi in cui la semantica dello scritto può essere solo intuita dalla struttura poiché il significato dei termini che vi occorrono è solo parzialmente deducibile dalla struttura in cui i termini sono organizzati (esempi di questo tipo rappresentati in Tabella 1). Il caso di studio K-Capture qui descritto è precisamente riferito al trattamento computazionale di quest’ultima tipologia di documenti. Come estrarre quindi, in modo intelligente, i dati in base al contesto? In linea generale la strategia risolutiva per supportare un processo di interpretazione automatica di testi semi-strutturati consiste di fatto, nell’individuazione di euristiche per minimizzare l’ambiguità del significato, ovvero nel definire procedure computazionali in grado di utilizzare il riconoscimento automatico del contesto offerto dalla semi-struttura per arricchire semanticamente i segni linguistici che vi occorrono. Dalla linea generale al punto applicativo il passo non è banale. L’esperienza di ricerca e sviluppo maturata su questo tema attraverso K-Capture, ha permesso di impostare una via originale sul piano metodologico ed innovativa sul piano computazionale per la realizzazione del suddetto obiettivo. In breve – ma a fronte di un lavoro estremamente lungo - l’euristica per il trattamento del contesto semantico è stata individuata negli indicatori tipografici e topologici presenti nel testo da interpretare automaticamente. 3 Detto altrimenti, attraverso una interpretazione posizionale dei tipi e sottotipi grafici(derivata da una teoria sui comportamenti grafici dello scrivente) si è riconosciuto come la disposizione assoluta e relativa dei tipi grafici potesse essere una sentinella utile per il riconoscimento del significato degli elementi semantici occorrenti in detta disposizione (si pensi al caso – realmente accaduto nel caso della interpretazione di fatture – del riconoscimento automatico di tabelle irriducibili ad una singola struttura e presenti in documenti dalla struttura altrettanto variabile). Il significato di detto simbolo semantico è stato così rappresentato sulla base di un modello a due facce: per un verso il significato puntuale del termine, per l’altro il contesto tipografico in cui il simbolo si presenta. Il trattamento coordinato di queste due sorgenti di informazione (una esplicita legata al singolo termine, l’altra implicita legata alla sua disposizione nello spazio del testo) ha permesso di progettare, sviluppare ed ingegnerizzare un sistema basato sulla conoscenza ( Knowledge Base System - KBS) a supporto della interpretazione dei risultati della piattaforme di lettura (non necessariamente solo OCR). Tale implementazione comporta la realizzazione di tre moduli, tra loro integrati: – Un sistema di rappresentazione dello spazio dei simboli, per il trattamento dei contesti semantici su base topologica e posizionale; – Un sistema di rappresentazione del significato lessicale dei termini, ovvero una ontologia e un dizionario controllato; – Un sistema di apprendimento meccanico per l’aggiornamento semi-automatico delle basi di conoscenza. Nel complesso l’architettura del sistema appare come da Figura 1. 4 Figura 1 - Rappresentazione del flusso concettuale K-Capture-motore di lettura. Due distinte interfacce permettono l’accesso al sistema. L’interfaccia utente consente di eseguire 1) le funzionalità di analisi ed interpretazione erogate dal Knowledge Based System oltre che 2) i servizi di supervisione dipendenti dalla valutazione dell’utente rispetto agli output del sistema. L’interfaccia di servizio consente invece ai manutentori/tecnici informatici/ingegneri della conoscenza, di configurare e manutenere i moduli del KBS verticalizzando in funzione dei casi d’uso la configurazione del sistema. La componente ‘Machine Learner’ opera invece direttamente sulle regole implementate nei modelli di conoscenza correggendole in senso statistico. Gli archi rappresentano il flusso informativo motore di lettura-K-Capture orchestrato dal gestore del Sistema. La versione in ambito web è la seguente: 5 Aspetto rilevante dell’architettura riguarda precisamente l’ibridazione tra un approccio modellistico basato su tecniche simboliche di rappresentazione della conoscenza (ontologie, reasoners, sistemi a regole) ed un approccio sub-simbolico volte a calibrare i modelli di conoscenza attraverso correzioni di tipo statistico. A fronte di un opportuno addestramento del sistema e di sue specifiche verticalizzazioni, in funzione dei distinti domini applicativi (la componete “KBS” di Figura 1) ed a fronte inoltre dell’implementazione di distinte interfacce per il sistema di supervisione accedute direttamente dall’utente finale del sistema (la componente “Supervisione” in Figura 1) e volte a favorire la manutenzione dei modelli, sono stati raggiunti risultati – sia su casi di studio che su clienti reali - estremamente significativi rispetto a quelli espressi dai sistemi in commercio, arrivando a performance di estrazione di dati significativi non inferiori al 75% (nel caso OCR) su tipologie di documenti che spaziano tra le classi di documenti segnalati in tabella1. 6 Tabella 1- Domini Applicativi K-Capture Conclusioni L’esperienza maturata attraverso K-Capture come esempio di trattamento semantico dell’informazione applicato a documentazione dematerializzata, costituisce un caso aziendale significativo di profonda sinergia tra l’approntamento e definizione di metodologie di sviluppo Knowledge Based tipiche della ricerca di base e lo sviluppo di applicativi in grado di rispondere alle richieste gestionali indotte dalla proliferazione informazionale che caratterizza larga parte degli attuali scenari di mercato in ambito ICT-documentale. In questo senso il caso qui descritto intende mostrare l’alleanza K-Capture-motore di lettura solo come uno tra i molteplici scenari applicativi del più generale approccio metodologico al trattamento semantico e contestuale di corpi informazionali (information retrieval) di cui K-Capture costituisce, per l’appunto, una tra le possibili istanze. 7