3D Informatica, forte del rapporto più che decennali con importanti imprese nell'area spazio-difesa nazionali propone sofisticati sistemi di gestione documentale e workflow specifici per il settore. Tutti i software sono integrati e integrabili all’interno delle soluzioni preesistenti attraverso l’utilizzo di web services e possiedono strumenti avanzati di ricerca che si basano, oltre alle caratteristiche di Extraway information retrieval, anche su analisi spettrale dei documenti e algoritmi di term frequencies.

Di seguito una sintesi dei moduli coinvolti nelle soluzioni Spazio-Difesa.

ARCHITETTURA DEL SISTEMA

Il seguente Component Diagram, secondo la notazione UML, descrive l'architettura generale della soluzione tecnologica adottata.

Sono stati individuati i principali componenti che costituiscono il sistema e come interagiscono tra loro.

In colore rosso sono stati indicati i componenti per i quali è stato effettuato dello sviluppo software.

I componenti principali che costituiscono il sistema sono sostanzialmente due:

  • Extraway® Bridge: ha lo scopo di monitorare le fonti RSS/Atom, interpretarle, memorizzarne i relativi item/entry nel sistema documentale, ed esportarli verso altri sitemi.
  • Extraway Document Platform: ha lo scopo di gestire gli item/entry dei feed RSS/Atom importati fornendo un'interfaccia grafica per la loro consultazione. Sono stati previsti anche dei moduli per poter elaborare tali informazioni, ad esempio per la rimozioni di duplicati e per poter effettuare una classificazione automatica dei contenuti.

EXTRAWAY BRIDGE

Extraway® Bridge è un software che si pone come ponte tra sistemi che producono dati/documenti ed altri sistemi che sono stati individuati per memorizzare/gestire tali dati/documenti. E' un sistema modulare, basato sul concetto di connettori, che interagiscono tra di loro.

Il funzionamento di Extraway® Bridge può essere descritto come la sequenza di 3 distinte fasi:

  • Input: tramite i connettori di input si analizzano le fonti (sorgenti) dati/documenti.
  • Elaborazione: I dati/documenti individuati nelle sorgenti vengono elaborati.
  • Output: al termine dell'operazione di elaborazione i dati/documenti vengono passati alla fase di output che si occupa ---tramite appositi connettori--- di interagire con altri sistemi che dovranno memorizzare/gestire tali informazioni.

Extraway® Bridge è un applicativo web dotato di interfaccia grafica sia per la configurazione di sorgenti e destinazioni che per il monitoraggio delle operazioni.

Senza scendere nel dettaglio delle funzionalità offerte si vuole sottolineare la possibilità nativa di consultare le sorgenti per effettuare importazioni manuali, oppure --tramite la definizione di tipologie specifiche abbinate ad un agent temporizzato--- di effettuare importazioni automatiche.

RSS/ATOM CONNECTOR

Si tratta di un connettore di tipo sorgente (di input) per flussi RSS/Atom, che permette l'acquisizione dei feed RSS/Atom nei diversi formati previsti dagli standard.

Sono state valutate ed analizzate le principali librerie Java per la lettura di flussi RSS/Atom:

  • Informa (non supporta Atom e RSS 2.0 nella produzione in uscita di feed).
  • RSS4J (progetto praticamente non più supportato).
  • RSSLibJ (anche questo non sembra più supportato).
  • Rome (gestisce in input/output tutti i formati esistenti).

La scelta è ricaduta sulla libreria Rome, stato dell'arte nel mondo java.

L'utilizzo di una libreria esterna per la gestione corretta dei feed RSS/Atom è stato mandatorio. Nel tempo si sono susseguite fin troppe variazioni e standard differenti del formato, generando un vero e proprio caos. Rome gestisce correttamente: RSS 0.90, RSS 0.91 Netscape, RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, Atom 1.0.

Inoltre è modulare; uno di questi moduli gestisce lo standard GgeoRSS: gestione dei punti nei formati GeoRSS Simple format, W3CGeo and GeoRSS GML.

Il modulo GeoRSS è stato adattato in quanto non gestiva il tag "georss:elev".

Nonostante l'utilizzo della libreria Rome, sia in fase si sviluppo che in fase di test sono state affrontate alcune problematiche legate alla disponibilità e qualità dei dati in ingresso, gli standard infatti non prevedono obbligatorietà su alcuni dati principali degli item, gli standard sul formato delle date spesso non vengono rispettati e spesso si utilizzando scorrettamente i timestamp publishedDate degli item e dei feed; questo ha portato a dover gestire casistiche specifiche.

RSS/ATOM NORMALIZER

Una volta che i feed vengono processati e vengono individuati gli item/entry che li compongono, questi vengono passati a un piccolo modulo, l'RSS/Atom Normalizer.

Il modulo normalizzatore permette la conversione dei diversi formati di input, sia RSS che Atom in un unico formato, effettuando una vera e propria normalizzazione.

Questo viene fatto tramite la produzione runtime di un feed virtuale ed estraendo l'xml dei singolo item/entry, in maniera da poterli memorizzare nel sistema documentale come entità atomiche. Quindi l'xml del singolo/item entry entra nel sistema documentale (XML nativo) AS IS e diventa porzione xml del record xml associato.

In questo modo potenzialmente ogni dato dell'xml dell'item del feed diventa un elemento ricercabile e gestibile direttamente dal sistema documentale.

La fase di normalizzazione mantiene i tag non standard che sono stati eventualmente inseriti negli item/entry e mantiene i tag GeoRSS.

DOCWAY CONNECTOR

DocWay Connetor è un connettore in uscita per Extraway® Bridge che ha appunto lo scopo di memorizzare nel sistema documentale gli item/entry dei flussi RSS/Atom in ingresso.

Ogni item/entry dei feed esaminati entra nel sistema documentale come record autonomo, atomico, integro ed autoconsistente.

Per ogni item viene registrato il seguente set di informazioni:

  • data di pubblicazione
  • titolo
  • descrizione
  • link
  • fonte (url del feed)
  • xml normalizzato (questo garantisce anche il mantenimento dei tag GeoRSS)
  • prima categorizzazione automatica della notizia in base alla sorgente

Il sistema è in grado di capire automaticamente, in fase di importazione, se deve effettuare un nuovo inserimento oppure se deve effettuare un aggiornamento degli item/entry già memorizzati (questo anche nel caso di feed per i quali la versione dello standard utilizzata non presuppone l'aggiornamento degli item).

Allo stato pratico sono state individuate casistiche limite di questa natura:

  • stessa notizia cambia il timestamp della data di pubblicazione.
  • stezza notizia cambia la descrizione.
  • feed privi della data di pubblicazione.
  • entry di feed Atom prive della data di pubblicazione ma con data aggiornamento valorizzata.

EXPORT CONNECTOR

L'Export Connector (connettore in uscita per Extraway® Bridge) permette di riversare gli item/entry dei feed memorizzati in output, in formato xml in una cartella maniera che possano essere prelevati da un sistema esterno.

Ad esempio questo canale può essere sfruttato per esportare i feed al motore di geotag, per il geotagging nel caso di item/entry privi delle informazioni di localizzazione.

EXTRAWAY DOCUMENT PLATFORM

Il sistema documentale è costituito da tre differenti moduli:

  • 3diws: Web Service SOAP per l'interoperabilità con l'esterno
  • DocWay4: web application per la gestione dei documenti
  • eXtraWay Server: database XML nativo. Si occupa della gestione dei dati

3DIWS

Si tratta dei web service esposti nativamente dalla piattaforma documentale.

DOCWAY4

DocWay4 consente tramite un'interfaccia web di consultare le notizie importate.

E' stato sviluppato un apposito modulo che implementa un pool di feed RSS/Atom per consentire di rendere disponibili all'esterno in formato standard le notizie importate.

La presenza di differenti feed consente la pubblicazione di notizie che hanno esigenze temporali di aggiornamento differenti.

Si sottolinea il fatto che il ritardo introdotto tra la fase di importazione degli item/entry e la relativa pubblicazione nei feed implementati nel sistema è estremamente ridotto, stimato in pochi minuti.

EXTRAWAY SERVER

Si tratta di un database XML nativo con funzionalità avanzate di Information Retrieval e di gestione di record elettronici in conformità allo standard europeo MoReq.

E' stata sviluppata un'estensione di eXtraWay Server per permettere la classificazione automatica dei contenuti. Essendo un componente particolarmente interessate e ad elevato contenuto tecnologico gli è stata dedicata un'intera sezione.

CLASSIFICATORE AUTOMATICO

INTRODUZIONE

Quando si ha a che fare con una mole particolarmente vasta di contenuti documentali il fatto di poterli classificare per renderne più coerente l'organizzazione e semplificarne reperimento e fruibilità muta la propria natura da “possibilità” a “necessità”.

Se, inoltre, il valore informativo di questi contenuti documentali è tanto maggiore quanto più tempestiva è la loro categorizzazione, l'uso di strumenti automatici diviene fondamentale.

L'obiettivo è ovvio, identificare rapidamente e con un basso grado d'errore la classificazione da assegnare ad un record sulla base dei suoi contenuti.

COME CLASSIFICARE

Come avviene la classificazione? Identificando internamente alla componente testuale significativa del record quei termini, quei concetti, che rendono il record “affine” ad una particolare voce di classificazione.

Per ottenere quanto detto esistono due modalità, due scuole di pensiero: quella ad approccio semantico e quella ad approccio linguistico/statistico.

Come risulta intuitivo, l'approccio semantico è quello che ha, almeno sulla carta, le capacità per produrre i risultati migliori ma soffre di alcune criticità:

  • Gli algoritmi di interpretazione semantica mettono sul piatto un duplice comportamento: quando riescono ad identificare in modo appropriato i significati che si celano in un testo i risultati sono solitamente molto validi, ma quando questo non avviene il “rumore” prodotto può essere tale da vanificare tutto il procedimento.
  • Quanto detto è tanto più vero quando i testi da elaborare sono brevi o espressi in un linguaggio sintetico.
  • I sistemi ad approccio semantico necessitano di tempi di elaborazione piuttosto estesi, offrendo risultati che potrebbero essere “tardivi” rispetto alle esigenze.

L'approccio linguistico/statistico è decisamente più semplice. Tutti i termini dei testi vengono elaborati secondo la forma normalizzata del lemma (ad esempio, riportando tutte le forme verbali alla forma infinita) e ciascuno viene valutato in funzione della propria rilevanza.

Nota sulla Rilevanza: in breve un termine è tanto più rilevante quando maggiore è la sua presenza in un sottoinsieme noto in rispetto alla sua distribuzione al di fuori di esso. Quando un termine è presente con una data frequenza nel sottoinsieme ma risulta altrettanto frequente al di fuori di esso il termine non si considera rilevante.

La rilevanza viene calcolata con processi basati sulla funzione Tf-Idf così da scremare tutti i termini che sono palesemente non rappresentativi ed i termini così ottenuti vengono “incrociati” con quelli identificati per ciascuna voce di classificazione. Al termine di questa valutazione si avrà un elenco di classificazione, in ordine di “peso”, che si reputa essere rispondente al record indicato.

Secondo la nostra esperienza, raccolta in un recente passato in collaborazione con partner esperti, il solo sistema semantico non può dirsi efficace ed efficiente. I due aspetti sono inversamente proporzionali e non è infrequente che i migliori risultati che esso può offrire sono offuscati dall'ampio “rumore” prodotto in molteplici occasioni e dal tempo di elaborazione richiesto.

In sintesi, la soluzione migliore sarebbe una soluzione “mista”, in cui ciascun metodo di valutazione possa apportare il proprio contributo all'identificazione della classificazione più appropriata. Con un tuning oculato sarebbe possibile ottenere “il migliore dei risultati possibili”. Non di meno questo approccio comporterebbe una crescita esponenziale della complessità dell'architettura e con ulteriore aggravamento in termini prestazionali.

Inoltre rimarrebbe il problema di abbattere “l'effetto rumore” prodotto dall'approccio semantico, operazione che si può ottenere riconoscendo maggior credito ai rilevamenti linguistici. Questo al contempo svilisce l'azione semantica in quanto fa correre il rischio che per togliere molti “falsi positivi” si vada poi a perdere un “positivo reale” che solo il sistema semantico ha saputo far emergere.

L'uso di sistemi misti trova applicazione in scenari moderati dall'essere umano, il quale prende visione dei risultati, li “modera” o comunque compie scelte di merito in funzione anche e soprattutto della propria esperienza.

Per queste ragioni la scelta di 3D Informatica, in particolare per il progetto in esame, è quella di optare per il solo approccio linguistico/statistico.

BREVE DESCRIZIONE DEL PROCESSO

Iniziamo col dire che il processo deve inizialmente “imparare”.

Per farlo si devono sottoporre al sistema degli insiemi di record dei quali si conosce già la natura, quindi record che sono già tutti classificati (o classificabili) secondo una delle voci di classificazione stabilite.

Il classificatore automatico, in modalità “apprendimento”, stabilisce quali siano i termini maggiormente rappresentativi di questo subset di record, sfruttando processi basati sulla funzione Tf-Idf. In questo modo crea un accoppiamento tra tali termini (ed il loro “peso” calcolato) e la voce di classificazione relativa. Viene quindi creato quello che si definisce un target con tutti i termini identificati e con una valutazione sull'importanza assunta da ciascun termine entro il subset di record rappresentato da questo target. Il target può essere arricchito da ulteriori termini imputati direttamente da personale esperto che conoscendo l'argomento può arricchire in questo modo il bacino dei termini significativi.

Questo processo va ovviamente svolto per tutte le voci di classificazione così da creare tanti target quante sono le voci eleggibili.

Un processo analogo interessa l'azione di classificazione di nuovi record. Il contenuto testuale del record che si intende classificare viene elaborato sempre sulla base della funzione Tf-Idf identificando i termini di maggior rilevanza.

Una volta identificati questi termini, essi vengono confrontati con quelli appartenenti ai diversi target, con rispetto del peso in ciascuno di essi e viene redatto un elenco di target eleggibili.

Qui gli scenari si diversificano molto, in particolare a seconda delle soluzioni applicative. Alcune prevedono ed ammettono una ed una sola classificazione e su queste va fatta grande attenzione specialmente quando la differenza di peso tra i target considerati pertinenti è ridotta.Altre consentono l'utilizzo di più voci di classificazione per un singolo record e questo rende più semplice compiere un'assegnazione appropriata specialmente quando più voci risultano tutte pertinenti con un peso simile.

Nei sistemi interattivi all'operatore viene data la possibilità di “accettare” o meno la classificazione proposta. Lo strumento viene utilizzato come guida più che come strumento autonomo. Non di meno è possibile, una volta “rodato” il sistema, stabilire quali siano le soglie di peso oltre le quali la classificazione viene accolta automaticamente.

I sistemi del tutto automatici devono scegliere la (o le) classificazioni migliori, specialmente se il punteggio ottenuto è elevato scartando tutte quelle con un punteggio basso o comunque inferiore ad una soglia configurata. L'indice di affidabilità di questa scelta sarà tanto maggiore quanto maggiore sarà stato il peso calcolato.

CONFIGURAZIONE, TUNNING ED AUTOAPRENDIMENTO

Concludiamo parlando degli aspetti di configurazione e tuning.

Come abbiamo visto sono diversi i parametri che vanno impostati, quali soglie di peso minimo e massimo, numero massimo di classificazioni assegnabili ad un singolo record, coefficienti di accrescimento del peso di termini considerati di maggior importanza, black list dei termini da ignorare e così via.

Ricordiamoci che tutto questo sistema si basa sui processi di apprendimento. Dar vita al sistema con l'apprendimento iniziale e poi non compiere una costante “manutenzione” in tal senso renderà lo strumento poco utile nel medio se non nel breve periodo. E' per questo che si deve prendere in esame “l'auto apprendimento” e le sue modalità in quanto è evidente che dopo una fase iniziale in cui il sistema va educato a riconoscere i record e le loro classificazioni esso deve continuare a “crescere” man mano che nuovi record affluiscono nel sistema stesso.

Di seguito alcuni esempi di come questo procedimento può avvenire:

  • Una tantum, ad intervalli di tempo stabiliti. Si esegue ex-novo la valutazione di tutti i terget effettuando nuovamente le valutazioni sulla rilevanza sui record che hanno fatto parte del subset iniziale più tutti quelli che si sono andati ad aggiungere nel tempo (tenendo eventualmente conto di quelli di maggior peso).
  • Man mano che i record afferiscono al data base, una volta classificati, essi contribuiscono immediatamente al ricalcolo dei valori di rilevanza di ciascun target. Eventuale restringimento di questo comportamento ai soli record il cui peso supera una soglia configurata.

Scegliere tra questi sistemi non è triviale in quanto molto dipende dai contenuti dei record stessi.

Diciamo in generale che il primo approccio è quello che offre un risultato più corretto ma pone sull'altro piatto della bilancia il fatto che ogni nuovo contribuito non entrerà immediatamente a far parte del sistema e quindi ad arricchirlo.

Il secondo approccio è decisamente più immediato e consente, con un onere computazionale più contenuto, di procedere modellando i singoli target man mano che il data base si popola. D'altro canto, però, ogni nuovo documento influenza, sia positivamente che negativamente, anche tutti gli altri target senza che questo venga rilevato.

Per portare un esempio: Su un database di ampie dimensioni si aggiunge, nel tempo, un numero di record pari ad un 10% del contenuto originario.Con il secondo approccio le classificazioni più utilizzate “correggono” man mano le proprie impostazioni a discapito di quelle meno utilizzate che potrebbero vedere propri termini crescere di rilevanza rifacendo la valutazione. In pratica si rischia che le classificazioni meno frequenti divengano sempre meno frequenti. D'altro canto, il primo approccio richiede un onere computazionale decisamente superiore e non è ragionevole applicarlo ad ogni nuovo record introdotto nel data base, specialmente se la frequenza di popolamento dell'archivio è elevata.

Ancora una volta la scelta migliore da compiere è probabilmente quella intermedia: applicare un ricalcolo delle rilevanze di un target quando il record eletto ha ottenuto un punteggio molto significativo, ed in seguito compiere un ricalcolo complessivo per tutti i target ad intervalli di tempo non troppo estesi.

Nel ricalcolo del peso di ciascun target si può inoltre compiere una valutazione di ordine cronologico. Sappiamo bene che il linguaggio si evolve e che informazioni vecchie di 10 anni potrebbero essere scarsamente significative oggi e quindi contribuire a falsare le valutazioni statistiche compiute dal classificatore. Indipendentemente dalla composizione del subset che corrisponde ad un target è possibile stabilire, ad esempio, che solo i record degli ultimi 12 mesi vengano presi in esame per la valutazione del peso.

CONCLUSIONE

Un sistema di classificazione automatica è in qualche modo assimilabile ad un organismo, un albero. Esso si alimenta, cresce, e man mano che questa crescita ha luogo può essere necessario verificarla: il fusto dev'essere dritto, non devono esserci rami e foglie che diano segno di non ricevere nutrimento e l'intera pianta dev'essere armonica e non sbilanciata.

L'albero non può essere lasciato a se stesso. Esso va controllato e, se necessario, accudito così che dia sempre buoni frutti.