SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Quaderni1717 dicembre 2015
APPUNTI
DIGITALI
Le esigenze
Il mondo in cui viviamo e lavoriamo è una fonte infinita di dati. Molti di essi
sono ben catalogati e accessibili in archivi e “database” organizzati per facilitare
la ricerca, l’analisi e la sintesi in informazioni, essenziali per ragionare, fare
ipotesi e prendere decisioni. Per contro l’uso di internet e del web mette in
evidenza anche l’enorme quantità di dati e informazioni presenti in miliardi di
pagine e documenti disseminati in ogni parte del mondo. Inoltre anche
all’interno di ogni organizzazione, privata o pubblica, oltre agli archivi ben
organizzati dei sistemi ERP, CRM, PLM, ecc, esistono delle grandi moli di
documenti di varia natura che nascondono al loro interno un’ulteriore
vastissima quantità di informazioni le quali, se portate alla luce e rese accessibili
in modo strutturato, potrebbero letteralmente cambiare in molti casi la nostra
percezione e il valore delle nostre decisioni. Il “problema” è che tutto questo
infinito patrimonio informativo è contenuto in documenti e pagine scritte
generalmente sottoforma di testo libero, in lingue diverse, spesso con alfabeti
diversi e quindi in forme tutt’altro che strutturate ed atte a consentire una loro
identificazione, sintesi e catalogazione. L’uso dei motori di ricerca sul web o di
un sistema di gestione documentale evidenzia il limite accennato. Anche
l’impiego dei più sofisticati motori, come ad esempio Google, a fronte di una
ricerca che vada oltre all’individuazione di alcune parole chiave in combinazione
tra loro ma che esprima, attraverso una frase, un concetto obiettivo trova
numerosi ostacoli nel processo di estrazione. Il limite risiede nel fatto che
un’”espressione di ricerca“ non è solo da considerare come una serie di parole a
se stanti, ma come una frase con un suo significato (“semantica frasale)” che
deriva dall’insieme delle regole fonetiche, ortografiche, morfologiche, lessicali e
sintattiche di una lingua: la grammatica. Allo stesso modo, ai fini accennati, non
è sufficiente identificare le pagine o i documenti che possano attendibilmente
riferirsi a quanto espresso, come con un tradizionale motore di ricerca, ma è
1
t
h
sContenuti:
Le esigenze
Alcuni campi di applicazione
Cosa significa
Gli strumenti
Utilizzo della piattaforma GATE
L’approccio e il metodo
Natural Language Processing
(NLP) e Information Extraction
(IE)
ing. Roberto Gallerani
necessario reiterare su ciascun documento un processo di ricerca,
determinazione ed estrazione dei dati e delle informazioni ricercate sulla base di
uno scopo preciso, per evitare di lasciare di nuovo questo impossibile (per
ragione di tempo) compito all’essere umano, attraverso la lettura di ogni
documento identificato e la catalogazione manuale dei dati interessati.
Tutto ciò passa attraverso i processi di “Information Extraction” (IE) basati sul
Natural Language Processing (NLP) inteso come un insieme di tecniche e
strumenti dedicati all'analisi e all’elaborazione del linguaggio usato
comunemente dalle persone in forma scritta e orale.
Alcuni campi di applicazione
Relazioni di accompagnamento al bilancio
La relazione sulla gestione costituisce uno dei principali documenti allegati al
bilancio d’esercizio; il suo scopo è fornire, attraverso informazioni finanziarie e
non, una visione globale che consenta al lettore del bilancio di comprendere la
situazione della società e l’andamento della gestione, in chiave attuale e
previsionale. Andando oltre e più in dettaglio rispetto al bilancio stesso, in
generale, questo documento contiene, tra le altre, informazioni circa la posizione
della società nell’ambiente in cui opera, l’analisi della struttura patrimoniale e
finanziaria e dei risultati della gestione, la descrizione degli indicatori finanziari e
non finanziari e informazioni relative ai rischi e alle incertezze. E’ indubbio che i
contenuti informativi in esso presenti vanno spesso ben al di là dell’essere una
mera trasposizione discorsiva di dati provenienti dal “sistema gestionale”, ma
costituiscono una rielaborazione di analisi e sintesi effettuata da un esperto della
materia (“esperto di dominio”). Il documento, pur ricorrendo a rappresentazioni
sintetiche, come tabelle, grafici, ecc, riporta in genere molte delle sue principali
informazioni attraverso l’uso del linguaggio naturale proprio del “dominio”
amministrativo/finanziario. Di relazioni sulla gestione se ne possono
usualmente avere diverse per ogni esercizio annuale, su base trimestrale o
quadrimestrale, ed esse, di anno in anno, “accumulano” un qrande quantità di
informazioni e “concetti” sviluppati, di volta in volta, dagli “esperti di dominio”
(amministratori, revisori, ecc) e che rischiano di andare perduti o, quantomeno,
non completamente utilizzati.
Un “sistema” IT che analizzi questi documenti sulla base del loro contenuto in
linguaggio naturale alla ricerca di “concetti”, informazioni e dati da rendere
fruibili in forma strutturata e catalogata permette di estendere la conoscenza di
una organizzazione, facilitando inoltre il compito degli “esperti di dominio”,
lasciati liberi da compiti di rilettura e rianalisi completa dei precedenti
documenti, in ogni operazione di auditing e valutazione dell’organizzazione.
Consolidamento di anagrafiche di prodotto
In ogni impresa la proliferazione di nuove anagrafiche e di duplicati è causata
spesso dai limiti di gestione e dalla complessità dei processi dei sistemi
informativi utilizzati, nei quali dati e informazioni, oltre che su “database”
strutturati, sono contenuti anche in fonti discorsive di varia natura (pagine web,
cataloghi, relazioni e rapporti tecnici, documenti marketing e commerciali, ecc).
Inoltre nei sempre più frequenti processi di fusione, acquisizione, creazione di
reti di imprese risulta determinante la capacità di mettere a fattor comune, in un
complesso omogeneo e coerente, questa mole di informazioni in genere
2
ing. Roberto Gallerani
organizzate, catalogate, codificate e descritte secondo criteri e modalità
differenti.
Grazie alla tecnologia semantica è possibile analizzare e ricostruire
automaticamente il patrimonio di anagrafiche dell’organizzazione a partire da
tutte le sorgenti disponibili, strutturate e non, supportando e facilitando processi
di normalizzazione, razionalizzazione, ottimizzazione e riorganizzazione.
Gestione magazzino
La gestione di un inventario, attraverso l'uso del software, come noto, è ormai
ampiamente supportata dalle funzionalità del sistema informativo:
 avvio dell'inventario con selezione dei prodotti da inventariare.
 conta fisica dei prodotti selezionati per l'inventario.
 inserimento dei dati di esistenza dei prodotti inventariati nel programma di gestione.
 chiusura della procedura d'inventario per la valorizzazione finale.
La maggior parte dei documenti necessari, anche a fini fiscali, sono altresì
prodotti direttamente dalle procedure IT di supporto. Tuttavia in numerose
organizzazioni i documenti aggiuntivi del “ciclo del magazzino” possono essere
diversi e numerosi. Si pensi ad esempio a quelli relativi all’analisi ed al controllo
dei rischi, alla gestione della qualità del prodotto o a quelli che descrivono
modalità e aspetti legati al deperimento di merci e prodotti aventi effetto
diretto sui criteri di valorizzazione. Anche in questi casi il numero, la qualità ed il
valore delle informazioni contenute va molto al di la di quanto presente nel
sistema informativo tradizionale.
Un processo di “information extraction” basato sull’analisi e la comprensione di
documenti discorsivi in linguaggio naturale è in grado di estendere
l’identificazione, la raccolta e la catalogazione di dati e informazioni utili a
migliorare la gestione dell’organizzazione.
Verbali di inventario in ambito civilistico
Il processo verbale d’inventario contiene:
 la descrizione degli immobili, mediante l’indicazione della loro natura, della loro
situazione, dei loro confini e dei numeri del catasto e delle mappe censuarie;
 la descrizione e la stima dei mobili, con la specificazione del peso o del marchio
per gli oggetti d’oro e d’argento;
 l’indicazione della quantità e specie delle monete per il danaro contante;
 l’indicazione delle altre attività e passività;
 la descrizione delle carte, scritture e in fine dall’ufficiale procedente.
Documenti che, pur nascendo in forma non strutturata e secondo forme e
linguaggio proprio del “dominio” giuridico, riportano nel loro contenuto una
vasta e ricca quantità di informazioni che, se estratte e catalogate con un
processo di “information extraction”, possono concorrere ad arricchire i
“database” strutturati ed alimentare i processi di controllo e gestione, senza
obbligare a sistematici interventi di rilevazione e annotazione manuale da parte
di esperti umani.
3
ing. Roberto Gallerani
Documenti di supporto alle autorità investigative
Durante le attività delle forze dell’ordine vengono generati e utilizzati una gran
quantità di documenti, in gran parte discorsivi, nel linguaggio del relativo
“dominio” e non immediatamente riconducibili, nel loro contenuto, a
rappresentazioni strutturate tipiche di un “database” digitale. Si pensi ai verbali
di interrogatorio, alle sentenze, ecc.
In essi sono menzionate e circostanziate numerosissime informazioni:
 persone fisiche
 persone giuridiche
 organizzazioni prive di personalità giuridica
 organizzazioni criminali
 ecc.
e, per ciascuna di esse, dettagli informativi come nome, cognome, soprannome,
data/luogo di nascita, denominazione e tipologia dell’organizzazione, ecc.
Le informazioni, e le relazioni tra esse, se non indicate esplicitamente in forma
digitale al momento della redazione del documento, per essere identificate ed
estratte richiedono un successivo intervento da parte di un “esperto del
dominio” il quale, attraverso un processo di annotazione consapevole, evidenzi
cosa mettere in evidenza a fini di analisi, sintesi e successiva catalogazione
digitale. Anche in questo caso un’applicazione di “information extraction” basata
su tecniche di Natural Language Processing, predisposta sul dominio specifico, è
in grado di supportare e automatizzare in misura diversa l’identificazione e la
raccolta organizzata di dati e informazioni.
Cosa significa
Estrarre informazioni da una “sorgente” scritta in linguaggio naturale comporta
intuitivamente lo sviluppo di una capacità di interpretazione semantica legata
alla lingua utilizzata e, non meno importante, al contesto espressivo e
terminologico del campo a cui essa si riferisce (“dominio”).
Con il termine Natural Language Processing (NLP) s’intende un insieme di
tecniche e strumenti dedicati all'analisi e all’elaborazione del linguaggio usato
comunemente dalle persone in forma scritta, orale e, al limite, gestuale.
La comprensione del linguaggio naturale è spesso considerata un problema di
IA-completo poiché si ritiene che il riconoscimento del linguaggio richieda una
conoscenza estesa del mondo e una grande capacità di comprensione. Questo
processo è reso particolarmente difficile a causa delle caratteristiche intrinseche
di ambiguità del linguaggio umano e, per questo motivo, esso è suddiviso in fasi
diverse simili, per certi versi, a quelle che si riscontrano nel processo di
elaborazione di un tradizionale linguaggio di programmazione.
In particolare un processo completo di elaborazione richiede di effettuare:
 Analisi lessicale: scomposizione di un'espressione linguistica in elementi atomici detti
token; nel caso del linguaggio naturale scritto, essi sono rappresentati da parole, segni
di punteggiatura, cifre, ecc.
 Analisi grammaticale: associazione delle parti del discorso a ciascuna parola nel testo;
4
ing. Roberto Gallerani
 Analisi sintattica: arrangiamento dei token in una struttura sintattica (ad albero: parse
tree)
 Analisi semantica: assegnazione di un significato (semantica) alla struttura sintattica e,
di conseguenza, all'espressione linguistica. Nell'analisi semantica la procedura
automatica che attribuisce all'espressione linguistica un significato tra i diversi possibili
è detta disambiguazione.
Le moderne piattaforme di NLP usano un approccio machine learning, spesso di
tipo statistico. Questo paradigma è sostanzialmente diverso dai classici approcci
rule based, che costringono a scrivere un rilevante numero di regole per l’analisi
di un testo, e sembra essere più promettente in molti casi. Il settore di NLP che
fa uso di tecniche di machine learning è denominato Natural Language Learning
(NLL).
Le tecniche di apprendimento automatico consentono, infatti, di derivare un
insieme di regole attraverso l’analisi di un significativo numero di esempi di testi
(corpora), tratti dal dominio applicativo d’interesse. In questo contesto un corpus
è un insieme di documenti (a volte singole frasi) che sono stati annotati
manualmente indicando le informazioni corrette che devono essere apprese e
che portano a differenti risposte per i valori da rilevare, ciascuna caratterizzata da
un valore di probabilità.
Tuttavia, in funzione della complessità del processo di analisi e della vastità o
meno del dominio, le tecniche di apprendimento automatico possono essere
affiancate o, in alcuni casi anche sostituite, da quelle di tipo “rule-based”. In
diversi casi ben circostanziabili, l’individuazione di determinate forme espressive
o l’assegnazione di un significato ad una struttura sintattica, precedentemente
determinata, possono essere più agevolmente determinati attraverso la scrittura
di regole di interpretazione delle combinazioni morfologico-lesiccali-
grammaticali e di struttura mediate dall’impiego di opportuni glossari e
dizionari.
L’ Information Extraction (IE) ha come obiettivo l’estrazione automatica di
informazioni strutturate da documenti non strutturati o semi-strutturati. Esempio
tipico riguarda l’annotazione di documenti multimediali. Va detto che il
problema è intrinsecamente complesso e pertanto l’approccio produce risultati
accettabili solo per contesti che siano stati ben delineati.
In un processo di IE tre sono i livelli crescenti su cui intervenire:
 Named Entity Recognition: riconoscimento di nomi propri di entità (quali persone,
organizzazioni e luoghi), riconoscimento di espressioni temporali (es. date), di indirizzi,
e di altre particolari informazioni (es. importi, voci di bilancio, ecc.). Il compito più
semplice è denominato Named Entity Detection (NED) che si limita a identificare le
entità senza alcuna conoscenza circa gli specifici valori (istanze). Ad esempio, nella
frase “Mario Rossi è affiliato al clan dei Marsigliesi”, si è in grado di estrarre come
informazione che Mario Rossi è una persona ma senza avere necessariamente
conoscenza di chi sia o di chi potrebbe essere.
 Coreference Resolution: rilevamento di legami di coreferenza (ovvero l’insieme dei rinvii
allo stesso referente: es. “Gianni disse che egli sarebbe andato a casa”) e di anafora
(ovvero riferimenti tra porzioni di testo più o meno distanti fra loro: es. “alla riunione
arrivò anche Carlo ma nessuno lo notò”).
5
ing. Roberto Gallerani
 Relationship Extraction: riconoscimento di legami associativi tra entità, ad esempio
dalla frase “Mario Rossi risiede a Bologna” si può dedurre la relazione di residenza che
sussiste tra una persona (Mario Rossi) e una località (Bologna).
Nella pratica di un’applicazione di IE è però spesso necessario affrontare insieme
i tre aspetti precedenti. Un semplice esempio per tutti potrebbe essere la frase:
“Mario Rossi è nato a Milano il 22/07/1953 e risiede a Milano. Egli ha lavorato a
Roma presso il Ministero dell’economia. Il suo recapito telefonico è 329728321.”
Un corretto processo di IE dovrebbe riconoscere che sussiste una relazione tra il
soggetto MARIO ROSSI e la città di MILANO in quanto quest’ultima ne
rappresenta il luogo di nascita, e pertanto dovrebbe determinare come proprietà
della persona la data di nascita con valore “22/07/1953” e il luogo di nascita con
valore “MILANO”. Allo stesso modo tra il soggetto MARIO ROSSI e la città
MILANO sussiste una relazione “residenza a” che potrebbe determinare
l’attribuzione del valore MILANO ad una proprietà “residenza” della persona
fisica. Attraverso il riconoscimento della coreferenza espressa dal pronome “suo”
dovrebbe poi identificare come ulteriore attributo di ROSSI il recapito telefonico
con valore “329728321”. Mediante il riconoscimento della coreferenza espressa
da “egli” dovrebbe poi identificare un’ulteriore relazione di “impiego in” tra
MARIO ROSSI e l’organizzazione “MINISTERO DELL’ECONOMIA” la quale
potrebbe essere attribuita come valore ad una proprietà “lavora in” della
persona fisica.
Questo semplice esempio dimostra come l’applicazione di una tecnica di IE
orientata alla identificazione e ricostruzione di informazioni strutturate,
difficilmente possa prescindere da una equilibrata combinazione di tutti gli
aspetti: NER, COREFERENCE, RELATIONSHIP.
A complicare le cose, inoltre, sono le diverse forme e combinazioni espressive, a
volte anche non pienamente corrette dal punto di vista grammaticale, con cui
queste informazioni possono essere riportate.
Ad esempio
“Mario Rossi, amico di Carlo Verdi, è nato a Milano il 22/07/1953 dove risiede
attualmente dopo un periodo di attività nella capitale negli anni 1990-2010.
Lavorando presso il Ministero dell’economia ha maturato esperienze significative
per l’incarico. Il recapito telefonico a cui contattarlo è 32912345678.”
in cui la presenza, a diverso titolo, di un'altra persona fisica, e di espressioni
discorsive più estese e ricche di coreferenze, implicite ed esplicite, rendono la
comprensione semantica automatica assai complessa.
Gli strumenti
In un panorama globale esistono numerosi strumenti e piattaforme “open
source” di supporto alla progettazione e realizzazione di applicazioni di IE basate
su NLP. Essi si differenziano sotto vari aspetti, tra cui il tipo di licenza, i linguaggi
di sviluppo e gli ambienti supportati, l’interoperabilità con altri ambienti, la
copertura in termini di funzionalità offerte ovvero il livello di generalità delle
6
ing. Roberto Gallerani
soluzioni, la disponibilità di documentazione adeguata e il sostegno offerto agli
sviluppatori di applicazioni
Per un elenco dei principali tool e di alcune risorse linguistiche è possibile
consultare:
 http://en.wikipedia.org/wiki/Outline_of_natural_language_processing
 http://www-nlp.stanford.edu/links/statnlp.html
 https://www.assembla.com/spaces/extraction-of-cost-data/wiki/Gate-vs-UIMA-vs-
OpenNLP
Stanford CoreNLP
Il gruppo di ricerca di Stanford University mette a disposizione una serie di
strumenti di NLP (http://nlp.stanford.edu/software/corenlp.shtml ,
http://nlp.stanford.edu/publications.shtml) che sono complessivamente
denominati Stanford CoreNLP. Stanford CoreNLP è rilasciato con GNU General
Public License.
Stanford CoreNLP è un framework Java per la gestione di pipeline (sequenze di
processi di elaborazione) per l’annotazione di documenti che ha avuto negli
anni una rilevante espansione nell’architettura e nelle funzionalità registrando
una notevole diffusione in molti ambienti scientifici e industriali.
Il framework fornisce esclusivamente API Java e, sebbene preveda una gestione
multi-thread su singola macchina, non si occupa dello “scaling” su nodi di
calcolo. Questa scelta, soddisfacente per la maggior parte delle applicazioni e
per la semplicità della soluzione, consente di affrontare problematiche di NLP
minimizzando gli sforzi d’apprendimento e di personalizzazione sulla base delle
specifiche esigenze applicative, costituendo un vantaggio di CoreNLP rispetto ad
altri tool più sofisticati quali UIMA (Unstructured Information Management
Architecture) e GATE (General Architecture for Text Engineering). Lo sviluppatore
deve solo possedere conoscenze di Java.
7
ing. Roberto Gallerani
Da sottolineare che negli anni il core è stato reso disponibile anche per l’utilizzo
da altri linguaggi, quali C#, F#, PERL, Pyton, Ruby, Javascript.
Il framework è offerto con un’ampia scelta di modelli e risorse di annotazione
per la lingua inglese e, nel tempo, anche per altre lingue tra cui Francese,
Tedesco, Cinese e Arabo. Molto poco è invece attualmente disponibile per la
lingua italiana.
Nell’ambito della piattaforma di Stanford, di rilievo è anche Protégé per la
gestione di ontologie OWL nel dominio di interesse, come descrizione formale di
classi, proprietà e relazioni.
UIMA
UIMA (Unstructured
Information Management
Architecture) è l’unico
insieme di strumenti per
content analytics che è stato
riconosciuto come standard
OASIS (Organization for the
Advancement of Structured
Information Standards) nel
2009. UIMA è un’architettura
software per lo sviluppo di
strumenti per l’analisi multi-
modale di informazioni non
strutturate e la loro
integrazione con tecnologie
di ricerca realizzate da IBM.
Il codice sorgente per un’implementazione di riferimento del framework è stata
resa disponibile dapprima su SourceForge e, successivamente, nel sito web
8
ing. Roberto Gallerani
http://uima.apache.org/index.html di Apache Software Foundation. Un uso
specifico di UIMA è in ambito clinico, ad esempio il sistema CTAKES (Clinical Text
Analysis and Knowledge Extraction System) per l’estrazione di conoscenza da
cartelle cliniche di pazienti.
UIMA consente la decomposizione delle applicazioni in vari moduli, ad esempio:
 "language identification"
 "language specific segmentation"
 "sentence boundary detection"
 "entity detection (person/place names ...)".
Ogni componente implementa interfacce definite dal framework e provvede a
fornire metadati tramite descrittori XML. I componenti possono essere scritti in
Java o C++.
In aggiunta UIMA fornisce funzionalità per l’incapsulamento dei componenti
come servizi di rete, e può scalare verso volumi molto elevati replicando i
processi su un cluster di nodi in rete.
Apache UIMA è un’implementazione open source di UIMA sotto licenza Apache.
OpenNLP
OpenNLP (http://opennlp.apache.org/) è una libreria Apache per analisi di testi
che supporta vari tipi di azione:
 “tokenization”
 “sentence segmentation”
 “part-of-speech tagging”
 “named entity extraction”
 “chunking”
 “parsing”
 “coreference resolution”.
Fornisce anche la possibilità di eseguire machine learning e può essere utilizzato
anche in ambiente .NET.
GATE
GATE è un'infrastruttura open source per lo sviluppo di sistemi di IE proposta da
University of Sheffield.
La piattaforma comprende principalmente:
 GATE Developer: un ambiente integrato per lo sviluppo di componenti di
elaborazione del linguaggio (“language processing”) supportato da un’ampia gamma
di informazioni ed esempi ed arricchito da una vasta scelta di componenti aggiuntivi (“
plugins “) che ne estendono le potenzialità
 GATE Teamware un ambiente web collaborativo per la gestione in team dei processi
di annotazione di insiemi di documenti, basato sull’impiego del “workflow engine”
JBPM.
9
ing. Roberto Gallerani
 GATE Embedded: un framework e una libreria di componenti per l’integrazione e
l’utilizzo da un’applicazione esterna dei servizi e dei processi realizzati attraverso GATE
Developer
 Una soluzione “cloud” per l’elaborazione in “hosting” di processi di NLP/IE su larga
scala (GATE Cloud.net)
 GATE Mímir: (Multi-paradigm Information Management Index and Repository)
utilizzabile per l’indicizzazione e la ricerca di testi, annotazioni, schemi semantici
(ontologie) e valori delle istanze. Esso consente di effettuare ricerche composte
attraverso la combinazione libera di dati testuali, di struttura, linguisitci e semantici.
Nell’ambito di GATE Developer di rilievo è la presenza di un plugin in grado di
consentire la gestione di ontologie OWL nei formati RDF/XML, N3, NTriples and
Turtle, quindi compatibile con gli analoghi strumenti disponibili su altre
piattaforme. La definizione di un’ontologia, oltre a rappresentare la struttura
classi, proprietà e relazioni del dominio di interesse, permette di estendere,
nell’approccio “rule based”, le capacità di analisi attraverso il principio
dell’ereditarietà e la generazione di glossari e dizionari derivati dai valori delle
istanze associate alle diverse classi.
Lo sviluppo di una nuova applicazione basata sull'architettura di GATE prevede
una fase preliminare in cui l'utente sceglie quante e quali processing resources
utilizzare, definendo per ognuna di esse le language resources coinvolte.
Il formato per la rappresentazione dei dati in GATE è denominato annotation, e il
sistema fornisce il supporto per l'elaborazione di testi in formato:
 Plain Text
 HTML
 SGML
 XML
 RTF
 Email
 PDF (some documents)
 Microsoft Office (some formats)
 OpenOffice (some formats)
 UIMA CAS XML format
 CoNLL/IOB
La piattaforma si presta ottimamente per realizzazioni sia “rule-based” che
“machine learning”.
Un’interessante applicazione basata su GATE è ANNIE (A Nearly-New
Information Extraction system). ANNIE utilizza una serie di risorse per riconoscere
istanze di entità (persone, organizzazioni, luoghi, date, indirizzi, ecc.) all'interno
di un testo. ANNIE si basa su algoritmi a stati finiti e sul linguaggio JAPE (Java
Annotation Pattern Engine).
I vari tool ella piattaforma GATE sono “open source” rilasciati generalmente con
licenze GNU. L’Università di Sheffield prevede anche forme di consulenza e
sviluppo commissionato per la personalizzazione di GATE per specifiche
esigenze; alcuni servizi possono essere richiesti a Ontotex e Matrixware, partner
principali del progetto GATE.
10
ing. Roberto Gallerani
Utilizzo della piattaforma GATE
La piattaforma GATE, attraverso le funzionalità di base ed i numerosi plugin
disponibili, può essere agevolmente impiegata in processi di NLP e IE sia con
approccio “rule based” che “machine learning”.
Approccio “rule based”
Un esempio di sequenza di elaborazione (pipeline) “rule based” dedicata al NER
(Named Entity Recognition) è costituito dall’applicazione ANNIE, disponibile
come plugin insieme agli altri strumenti della piattaforma. ANNIE consente
l’”annotazione”, tra l’altro, delle entità: persone, organizzazioni, località, date,
ecc.
L’”annotazione” in GATE rappresenta una sequenza di parole oggetto del
riconoscimento, definita, nella sua ampiezza di copertura in funzione degli
obiettivi di identificazione ed estrazione; ha una denominazione (“annotation
type”) e delle proprietà (feature) atte a contenere valori derivati durante il
processo di IE. La denominazione degli “annotation type” e delle “feature” sono
determinati nell’ambito dell’applicazione in funzione del significato e delle
esigenze di rappresentazione formale.
Ad esempio per la semplice frase:
“Mario Rossi, nato a Milano il 22/07/1953, risiede a Monza dove lavora presso
la società VORTEX di Vimercate.
l’annotazione si può presentare come:
“Mario Rossi” rappresenta, attraverso nome e cognome, una “persona fisica” e
“VORTEX”, attraverso la sua denominazione, una “persona giuridica”.
Nell’esempio l’annotazione “Mario Rossi” potrebbe avere come “annotation type”
persona e come “feature” nome=Mario e cognome=Rossi
Un’annotazione viene riportata in un documento elaborato sottoforma di “tag
XML” utili anche ad una rappresentazione grafica interattiva in un’applicazione di
visualizzazione e navigazione delle annotazioni create. Mediante opportune
funzionalità del framework le annotazioni possono anche essere registrate
esternamente, ad esempio su DBMS relazionale, file CSV, ecc.
Le annotazioni, in quanto portatrici di informazioni (un nome e delle proprietà),
possono essere create attraverso fasi successive, incrementando il dettaglio della
rappresentazione venendo utilizzate nell’approccio “rule based” in un
affinamento successivo sino alla determinazione delle annotazioni finali di
interesse. Al termine del processo le annotazioni intermedie, di servizio, se non
più necessarie, potranno essere eliminate.
11
ing. Roberto Gallerani
Il corpo di elaborazione principale è costituito dalla pipeline, intesa come
sequenza di “process resource” (PR) ciascuna dedicata ad un compito
particolare in relazione alle esigenze di NLP e IE.
In ANNIE la tipica pipeline e schematizzabile come nella figura riportata sotto.
Ciascun PR, come modulo base, è essenzialmente costituito da un corpo di
elaborazione standard realizzato in JAVA che, dedicato ad un fine preciso,
genera o modifica sul documento le proprie “annotazioni di servizio” che
potranno essere agevolmente impiegate nei PR successivi.
In particolare:
PR Gazetteer  genera gli “annotation type”, denominati Lookup, finalizzati
alla rappresentazione di termini, singoli o in sequenza, che trovano un riscontro
nel sistema dei “gazetteer” (dizionari) dei valori tipici/notevoli.
PR NE Transducer  contiene le logiche di elaborazione per regole che
determinano, sulla base delle precedenti annotazioni di servizio, il
riconoscimento delle entità presenti nel documento. Una logica di elaborazione
viene espressa attraverso un linguaggio formale (JAPE) che suddivide il processo
analisi ed estrazione attraverso diverse fasi (file di estensione .jape) eseguite in
sequenza, ciascuna contenente all’interno una serie di regole eseguite secondo
una priorità specificata.
ANNIE, pur costituendo un esempio assai didattico, è pero costruito sulla lingua
inglese. Nel caso di altre lingue, anche mantenendo le medesime logiche di
12
ing. Roberto Gallerani
elaborazione del plugin base, sarebbero necessarie delle modifiche come
riassunto nella simbologia della figura seguente.
In particolare il “PR Tokenizer” potrebbe dover ad esempio essere adeguato nelle
regole che identificano particolari forme di punteggiatura o abbreviazione
tipiche dell’italiano. Il “PR Gazetteer” certamente dovrebbe essere
completatamente rivisitato nei valori riportati sui glossari aggiungendo o
sostituendo le traduzioni relative alla lingua italiana. Il PR “POS Tagger”
dovrebbe essere completamente sostituito per generare annotazioni di servizio
relative alla grammatica italiana.
Un esempio
A titolo di esempio didattico elementare, per riassumere, vediamo una
rivisitazione di ANNIE, tra le tante possibili.
Si consideri la pipeline ANNIE in cui i nomi dei PR sono del tutto arbitrari e, in
ogni caso, personalizzabili:
13
ing. Roberto Gallerani
Il PR “Tokeniser” non è stato modificato in quanto il processo di “tokenizzazione”
che riconosce e annota “word” (parole), “number” (numeri) e “punctuation”
(simboli di punteggiatura) viene considerato adeguato anche per le regole di
scrittura italiana.
Allo stesso modo il PR “Sentecnce splitter”, che annota separatamente le frasi,
non è stato modificato, in quanto le regole di identificazione di una frase,
attraverso la punteggiatura, sono considerate valide anche per l’italiano.
Il PR “GLOSSARY-GAZETTERR” deve essere invece rivisitato nei contenuti dei
relativi glossari di supporto. Parlando nella fattispecie di persone fisiche e
persone giuridiche (organizzazioni) potranno essere modificati o aggiunti una
serie di glossari relativi ad esempio ai nomi di persona maschili e femminili, ai
titoli di studio (dott., ing., ecc) o, separatamente, alle formule di riferimento a
persone fisiche o giuridiche (sig., sig.ra, srl, spa, ecc) ed altre informazioni utili
alle regole applicate successivamente dalle grammatiche JAPE del PR
“JAPEPLUS-NE-TRANSDUCER”.
Il PR “MORPH-IT-GAZETTEER” rappresenta invece un semplice esempio per
effettuare un “POS tagging” per l’annotazione delle caratteristiche morfologico-
lessicali di base, in sostituzione del PR “POS Tagger” standard di ANNIE. Senza
alcuna modifica nel codice JAVA di elaborazione standard del PR base di ANNIE,
si agisce introducendo un glossario contenente un dizionario morfologico-
lessicale valido per la lingua italiana.
Nel caso dell’esempio è utilizzato MORPH-IT di uso libero e sviluppato da Marco
Baroni and Eros Zanchetta. Il glossario riporta su campi distinti le diverse forme
e, per ciascuna, il “lemma” e le caratteristiche morfologiche
cameriere~lemma=cameriera~morfologia=NOUN-F:p
cameriere~lemma=cameriere~morfologia=NOUN-M:s
camerieri~lemma=cameriere~morfologia=NOUN-M:p
camerini~lemma=camerino~morfologia=NOUN-M:p
camerino~lemma=camerino~morfologia=NOUN-M:s
cameristica~lemma=cameristico~morfologia=ADJ:pos+f+s
cameristiche~lemma=cameristico~morfologia=ADJ:pos+f+p
cameristici~lemma=cameristico~morfologia=ADJ:pos+m+p
cameristicissima~lemma=cameristico~morfologia=ADJ:sup+f+s
cameristicissime~lemma=cameristico~morfologia=ADJ:sup+f+p
cameristicissimi~lemma=cameristico~morfologia=ADJ:sup+m+p
cameristicissimo~lemma=cameristico~morfologia=ADJ:sup+m+s
Il PR “JAPEPLUS-NE-TRANSDUCER” è invece una elaborazione completamente
diversa finalizzata al riconoscimento di persone fisiche e persone giuridiche
applicato alla lingua italiana, e nelle cui regole JAPE sono tenute in conto ed
utilizzate tutte le annotazioni di servizio diverse e aggiuntive, precedentemente
menzionate.
Effetto del PR “ANNIE Tokeniser”
Ciascun elemento (token) viene annotato con un “annotation type” denominato
“Token”.
La sua denominazione, come quella delle proprietà e dei valori relativi, si ricorda
qui senza ripeterlo oltre, che è arbitraria e personalizzabile.
14
ing. Roberto Gallerani
Ogni riga dell’elenco rappresenta un’annotazione, quindi di tipo “Token”, ed è
distinta dalle altre attraverso il suo identificatore “Id”; “Start” ed “End” indicano la
posizione del carattere di partenza e di fine dell’annotazione. Ogni annotazione,
riferita ad ogni specifico termine riconosciuto, riporta attraverso le proprietà
(feature) le relative informazioni di formato.
Effetto del PR “GLOSSARY-GAZETTEER”
Ciascun elemento (token o sequenza di token) riconosciuto in uno dei glossari
specificati viene annotato con un “annotation type” denominato
“LookupGlossary”.
Tra i vari si hanno:
 “Mario”
 “Milano”
 “Monza”
“Vimercate”
Ogni annotazione presenta nelle proprietà informazioni realtive alla lingua di
riferimento e di classificazione (“majorType” e “minorType”) legate al glossario
attraverso cui è stato effettuato il riconoscimento.
Effetto del PR “MORPH-IT-GAZETTEER”
Ciascun elemento (token) riportato come “forma” nel dizionario morfologico-
lessicale, viene annotato come “LookupMorph-it”.
15
ing. Roberto Gallerani
Per ciascun elemento annotato le proprietà riportano il “lemma” di riferimento e
le caratteristiche morfologiche (“morfologia”), qui indicate su di un’unica feature
ma che potrebbero essere a loro volta suddivise su proprietà diverse, allo scopo
di agevolare la stesura delle successive regole di riconoscimento delle entità.
Naturalmente l’esecuzione del “POS Tagging” attraverso l’impiego di un PR
Gazetteer non è l’unica tecnica e, in molti casi, nemmeno la più indicata. Esistono
in ambito di ricerca e come “open source” diversi strumenti di natura statistica i
quali, attraverso un processo di apprendimento curato da “esperti del dominio
linguistico” in esame, permettono di generare degli artefatti poi reimpiegabili
dalla piattaforma GATE per la generazione di annotazioni a questo scopo. A
titolo di puro esempio si menziona, tra i diversi, TREETAGGER disponibile anche
con un kit di artefatti già predisposto per un sottoinsieme della lingua italiana e
facilmente integrabile in una pipeline GATE ricorrendo alla documentazione
tecnica d’uso della piattaforma GATE.
Naturalmente in un ambito applicativo reale la determinazione del vocabolario
linguistico pertinente al “dominio” e l’esecuzione delle operazioni di training
costituiscono parte integrante ed essenziale per un buon risultato del “POS
tagging”. Questa attività richiede competenze di team di carattere linguistico,
l’esperienza del dominio di interesse e quelle IT relative alla piattaforma
tecnologica utilizzata.
Effetto del PR “JAPEPLUS-NE-TRANSDUCER”
L’esecuzione del processo, nella sequenza della pipeline, può pertanto utilizzare
le annotazioni di servizio prodotte sin qui. A questo tipo di processo è
associabile un complesso di grammatiche di regole in linguaggio JAPE, suddivise
in diversi file di estensione “.jape” e, a loro volta, eseguite in una sequenza
indicata in un apposito file di descrizione della “sequenza multifase”.
Poiché obiettivo dell’esempio è identificare in questo passo le entità relative a
persone fisiche e giuridiche, il risultato potrà essere del tipo:
16
ing. Roberto Gallerani
In cui ad esempio la grammatica riconosce la persona giuridica “VORTEX”
attraverso un “lemma” “società” attribuendo alla proprietà “denominazione” il
valore del testo ricoperto dalla corrispondente annotazione.
Nel caso della persona fisica:
La grammatica di esempio applicata, oltre a riconoscere ed annotare “Mario
Rossi” come persona fisica, si spinge oltre nel determinare alcune informazioni
derivanti dal riconoscimento di relazioni che si traducono nell’assegnazione del
valore delle proprietà “Data di nascita” e “Luogo di nascita”.
Nell’esempio didattico non vi è alcun livello di “analisi sintattica”. Le uniche
informazioni disponibili di carattere grammaticale sono quelle di tipo
morfologico e lessicale. Le regole orientate al NER (Named Entity Recognition)
del PR “JAPEPLUS-NE-TRANSDUCER” risulteranno quindi più limitate e “povere”
rispetto al caso in cui fosse stato precedentemente eseguito anche un PR di
“analisi sintattica” che abbia prodotto opportune annotazioni atte alla
rappresentazione a più alto livello della struttura delle frasi.
Considerazioni generali nell’approccio “ruled based”
E’ evidente che l’organizzazione di glossari e grammatiche di regole è
strettamente correlata, oltre che alla lingua e ai formati di codifica, anche al
contesto di applicazione (“dominio”), rispetto al quale particolari terminologie,
sigle, forme espressive e significati possono comportare rilevanti ed essenziali
specializzazioni nelle diverse fasi del processo di elaborazione.
L’utilizzo di glossari e grammatiche di regole non deve far pensare a GATE come
ad un mero “motore di pattern matching testuale”, in cui il riconoscimento sia
fondato sulla semplice rilevazione di sequenze di termini, in prossimità o meno
tra loro. Il valore è intrinsecamente espresso dalla capacità delle regole di saper
utilizzare propriamente tutte le informazioni disponibili (dei glossari,
morfologiche, lessicali, sintattiche) in modo da interpretare il linguaggio e le
informazioni contenute in espressioni altamente variabili da brano a brano e da
documento e documento.
Nel constatare quanto ciò sia ancora molto lontano da una reale comprensione
semantica delle parole e di una frase, tale approccio può comunque costituire un
enorme passo avanti in diversi campi di applicazione.
17
ing. Roberto Gallerani
Sviluppare una pipeline sulla piattaforma GATE, attraverso GATE Developer,
significa, in estrema sintesi, comporre in funzione degli obiettivi e del tipo di
elaborazione necessaria un insieme di PR selezionati tra quelli disponibili tra i
plugin, e revisionare o realizzare i contenuti specifici di ognuno di essi. In un
progetto applicativo reale potrà poi anche essere necessario, per esigenze
specifiche, realizzare in linguaggio JAVA anche dei propri template di processo,
seguendo gli standard e le indicazioni del framework GATE Embedded.
Tutte le annotazioni generate possono agevolmente essere registrate su DB o
file esterni per essere poi rielaborate e ogni generica pipeline può essere
eseguita da un’applicazione esterna JAVA attraverso l’applicazione del
framework GATE Embedded. Per l’impiego su altre piattaforme e linguaggi di
sviluppo, le classi JAVA generate dovrebbero prima essere incapsulate
attraverso dei “wrapper” per consentirne l’impiego nel diverso ambiente.
Aspetti di progettazione “rule-based”
La progettazione e la realizzazione di un sistema di grammatiche JAPE deve
prevedere un’organizzazione modulare e condizionale per l’impiego di glossari,
grammatiche e pipeline che sappia gestire:
 differenti livelli di profondità di IE;
 riuso di grammatiche elementari;
 utilizzo in diverse modalità dei glossari esistenti (in funzione del livello di profondità o
della tipologia dei documenti).
Una pipeline Pi è una sequenza di PR, {PR1, PR2, …, PRn} applicata a un set
(corpus) di documenti, al limite anche uno solo. Un PRi generico di una pipeline
può essere sempre eseguito in modo incondizionato oppure in modo
condizionato al verificarsi di una specifica condizione.
Un progetto applicativo potrà prevedere, in generale, la presenza di diverse
pipeline per diverse esigenze di IE. Tuttavia il progetto deve garantire che esse
possano comunque condividere, attraverso i relativi PR, parti in comune: glossari,
grammatiche jape, script groovy ecc. secondo logiche modulari.
Nel progetto si deve inoltre tener conto dei seguenti vincoli:
 la “condizionalità” di un PR di una pipeline è solo “binaria”: ESEGUI/NON ESEGUI;
 le regole di una grammatica jape determinano un’annotazione non solo sulla base
della loro priorità ma anche, e primariamente, sulla base dell’assunzione, nel caso di
regole che scattano su sequenze di token in intersezione tra loro, della scelta della
sequenza con la maggior ampiezza di copertura.
Per una generica pipeline Pi i PR che la compongono vengono pertanto definiti,
laddove necessario, attraverso la forma condizionale.
Per un generico tipo di PR la “condizionalità” consente di impostare una pipeline
basata su sequenze multiple di PR, dello stesso tipo e non, eseguibili nella
corretta sequenza attraverso l’impostazione di parametri di esecuzione,
valorizzabili manualmente in GATE Developer (durante la fase di realizzazione e
18
ing. Roberto Gallerani
test) oppure da un’applicazione JAVA attraverso le API del framework GATE
Embedded.
Ad esempio:
PR Tokeniser
Diversi PR per diversi insiemi di regole di identificazione e annotazione
dei token. Uno solo di essi alla volta potrà essere impiegato.
PR sentence splitter
Diversi PR per diversi insiemi di grammatiche jape e gazetteer associati.
Uno solo di essi alla volta potrà essere impiegato.
PR lookup glossary (ANNIE gazetteer, HASH Gazetteer, ONTO Gazetteer, ….)
Diversi PR corrispondenti a diversi insiemi di glossari, ciascuno di essi in
grado, in funzione degli scopi, di concorrere a integrare/estendere il
medesimo annotation type oppure per creare un distinto annotation
type di lookup.
PR Transducer (grammatiche JAPE)
Diversi PR per diverse sequenze multifase di grammatiche, ciascuna con
il proprio file main.jape di definizione della struttura multifase, per
generare annotation type definitivi o di servizio ad uso di eventuali PR
Transducer successivi.
PR GROOVY
Diversi PR per diverse esigenze di pre/post elaborazione dei sorgenti,
ciascuna con il proprio corpo di elaborazione .groovy.
A titolo esemplificativo, in un caso ipotetico in cui si dovessero solo trattare
istanze dell’entità ORGANIZZAZIONE (nell’esempio denominata SG) e
supponendo di voler gestire il salvataggio di file XML annotati e registrazione su
DB MySQL direttamente dalla pipeline:
APP-SG-SAMPLE
PR Groovy-SetFeatureForWorkflow (Run1=true/false)
PR Tokeniser-DefaultTokeniser (Run2=false/false)
PR Tokeniser-AlternateTokeniser (Run3=true/false)
PR Sentence splitter (Run4=true/false)
PR Glossary-Lookup-SG (Run5=true/false)
PR Glossary MORPH-IT (Run6=true/false)
PR Transducer-SGLIVELLO 1 (solo denominazioni) (Run7=true/false)
PR Transducer-SGLIVELLO 2 (solo tipologie attività per lemma notevoli)
(Run8=false/false)
PR Transducer-SGR (soluzioneAmbiguitaL1 (Run9=true/false)
PR Transducer-SGR (soluzioneAmbiguitaL2 (Run10=true/false)
PR Groovy-StoreXML (Run11=true/false)
PR Groovy-SaveAnnotationOnDB (Run12=true/false)
Nell’esecuzione da GATE Developer a LIVELLO 1 con generazione di XML e
senza registrazione su DB MySQL:
PR Groovy-SetFeatureForWorkflow (Run1=true valorizzato nei runtime
parameters del PR)
Pone a true : Run2, Run4, Run5, Run6, Run7, Run9, Run11
Pone a false : Run3, Run8, Run10, Run12
19
ing. Roberto Gallerani
Nell’esecuzione da APP JAVA a LIVELLO 1 con generazione di XML e senza
registrazione su DB MySQL:
Valorizzando i parametri “Run” direttamente come feature a livello documento:
Pone Run1=false (per non eseguire il setting contenuto nel PR groovy)
Pone a true : Run2, Run4, Run5, Run6, Run7, Run9, Run11
Pone a false : Run3, Run8, Run10, Run12
Approccio “machine learning”
Nella piattaforma GATE sono disponibili diversi plugin per affrontare aspetti di
NLP e IE attraverso l’approccio “machine learning”. Questa tecnica si bassa
essenzialmente su metodi di natura statistica secondo l’applicazione di diversi
algoritmi.
Schematicamente qualsiasi approccio “machine learning” è comunque basato sui
seguenti passi:
 annotazione manuale di un campione documentale relativo al dominio interessato,
sufficientemente numeroso e adeguatamente rappresentativo, su cui indicare gli
elementi di interesse da riconoscere
 configurazione dei criteri di analisi del campione documentale annotato in relazione
alle caratteristiche e alle proprietà degli elementi annotati e di quelli in prossimità
 ciclo di applicazione del campione documentale annotato e del file di configurazione
al “motore” di analisi in modalità evaluation, al fine di valutare l’attendibilità e la
qualità dei risultati statistici ottenibili, ripetendo le operazioni fino ad ottenere il
miglior risultato possibile
 applicazione del campione documentale annotato e del file di configurazione finali al
motore di analisi in modalità training
Il motore produrrà una serie di artefatti (essenzialmente matrici di
rappresentazione statistica delle condizioni e degli elementi informativi che
portano al risultato desiderato) che costituiscono il modello statistico desunto
dal motore dai dati di addestramento.
 Il modello statistico generato potrà essere applicato dal motore di analisi a documenti
diversi dal campione operando in modalità application
Poiché la complessità dell’argomento non consente, in poche pagine, una
trattazione adeguata nel seguito viene fornita una breve trattazione per esempi
basata sull’impiego del plugin “Batch Learning Plugin”, utilizzato secondo
l’applicazione degli algoritmi di SVM (Support Vector Machine).
A titolo didattico si supponga di voler approntare il processo di riconoscimento
NER (Named Entity Recognition) di persone fisiche mediante la tecnica in esame.
Annotazione manuale di un campione documentale
20
ing. Roberto Gallerani
Ciascuno dei documenti del campione dovrà essere opportunamente annotato
indicando le istanze di interesse, nel nostro caso indicate attraverso il nome di
entità “SoggettoFisico”.
Configurazione dei criteri di analisi del campione
Il file di configurazione del motore di analisi oltre a prevedere una serie di
parametri relativi a:
 algoritmo impiegato (nel nostro caso SVM)
 metodo especifiche opzioni tecniche di esecuzione dell’algoritmo
necessita dell’indicazione degli attributi che entrano in gioco nel processo di
elaborazione statistica.
Se ad esempio le annotazioni di riferimento si volessero considerare in relazione
alle caratteristiche ed alle proprietà dei token dell’annotazione e di quelli
immediatamente in prossimità si potrebbero specificare come attributi di analisi:
Tipo
annotazione
Caratteristiche
espresso dal valore
della feature
Intervallo di
prossimità
Token Orth:
l’essere maiuscolo
l’iniziale, interamente
maiuscolo, tutto
minuscolo
[-1,1]
Token Kind:
L’essere un numero, una
parola o un simbolo di
punteggiatura
[-2,2]
Token String:
Il valore della stringa del
token
[-3,3]
LookupGlossary majorType:
tipologia del glossario
[-3,3]
LookupGlossary minorType:
sottotipologia del
glossario
[-3,3]
LookupMorphIt Lemma:
Lemma della forma
relativa alla stringa del
token
[-3,3]
LookupMorphIt Morfologia: [-3,3]
21
ing. Roberto Gallerani
Morfologia della forma
relative alla stringa del
token
Attraverso la configurazione il motore di analisi calcolerà una distribuzione
statistica che metta in relazione, o meglio in separazione, gli elementi annotati
tenendo in considerazione le proprietà indicate nella tabella precedente per ogni
token coinvolto dall’analisi e con un livello di prossimità, tra i vari token e i
pattern di interesse, specificato per ogni attributo di analisi.
Il procedimento è alquanto complesso da descrivere in poche parole e per
l’approfondimento degli algoritmi alla base delle SVM si consiglia di effettuare
approfondimenti sulla numerosa documentazione scientifica disponibile sul web.
Analisi in modalità evaluation
Il campione documentale annotato e la configurazione sono applicati al motore
di analisi in modalità evaluation.
Tipicamente, ma è configurabile anche in modo diverso, il motore procede in N
passi (valore configurabile) suddividendo i documenti del campione in N
raggruppamenti distinti su ciascuno dei quali calcolare il modello statistico per
poi riapplicarlo ai restanti documenti al di fuori del raggruppamento corrente e
calcolare i valori di precisione e qualità riscontrati su ogni passo. Al termine le
misure rilevate ad ogni passo sono rielaborate per determinare la distribuzione
media dei risultati. Tutte le rilevazioni ed i risultati della fase di evaluation
vengono infine presentati all’utente perché possa procedere con gli eventuali
affinamenti.
Applicazione del modello ad un insieme diverso di documenti
Il modello statistico determinato viene applicato ad un insieme di documenti,
ovviamente diverso da quello campione, determinando come risultato
un’annotazione per ogni sequenza di token rispondente alla distribuzione. Ogni
riconoscimento è inoltre caratterizzato dall’indicazione una probabilità di buon
riconoscimento.
22
ing. Roberto Gallerani
Considerazioni generali nell’approccio “machine learning”
Con il “machine learning” prevale l’impegno di addestramento e verifica
finalizzato al training finale del motore di analisi.
Nel caso “rule based” l’impegno è quello di disegnare un insieme d glossari e
grammatiche di regole in grado di effettuare l’anali e i riconoscimenti richiesti.
In entrambi i casi è richiesto un team caratterizzato da un equilibrato mix di
competenze ed esperienze che spaziano dal campo linguistico, alla conoscenza
del dominio sino alla padronanza degli strumenti tecnologici.
Va infine osservato che gli approcci “rule based” e “machine learning” non sono
necessariamente da considerare mutuamente esclusivi. A seconda delle esigenze
e delle circostanze essi possono essere combinati determinando il miglior
risultato possibile.
L’approccio e il metodo
Come in ogni progetto IT è assolutamente necessario definire lo “scenario d’uso”
dell’applicazione.
[DSU] - Scenario d’uso
Destinatari
Esigenze
Aspettative (obiettivi)
Risultati (misura dei risultati  metriche di misura)
Funzionalità
Casi d’uso
Criteri e livelli di accessibilità e impiego in relazione alle diverse
esigenze dello scenario
Sorgenti documentali/informative non strutturate da trattare
(caratteristiche, formati, ubicazione, reperibilità, ecc)
A seconda dello scenario i diversi aspetti coinvolti potranno differire
ampiamente tra loro, variando gli scopi di impiego e, appunto, esigenze e
obiettivi che si riflettono sull’equilibrio realizzativo dei processi di “information
extraction”.
Le stesse sorgenti non strutturate da elaborare potrebbero essere anche
ampiamente diverse, arrivando, in taluni scenari, a coinvolgere oltre a documenti
anche mail, pagine web ecc., con rilevanti, o quantomeno differenti,
caratteristiche di espressione linguistica dei contenuti.
Delineato, analizzato e documentato lo scenario d’uso di interesse si perverrà
alla definizione:
 del contesto linguistico (italiano, inglese, ecc.)
 del dominio di applicazione recante terminologie, forme espressive e aspetti
semantici del contesto, da “dominare” pienamente attraverso le competenze
degli “esperti di dominio”.
23
ing. Roberto Gallerani
Importante è predefinire le metriche di misura dei risultati, in termini di
precisione e qualità del risultato dei processi di annotazione automatica dai quali
effettuare l’estrazione di informazioni, come ad esempio quelli già previsti sulla
piattaforma GATE.
Sulla base dello scenario d’uso individuato e descritto si potrà procedere con i
passi seguenti.
[ERP] - Individuazione entità, proprietà e relazioni
L’analisi deve portare alla costruzione e alla documentazione dell’ontologia
completa del dominio di interesse per lo scenario, articolata in classi, sottoclassi,
proprietà e relazioni e, infine, alla valorizzazione delle istanze principali in
relazione al contesto.
Non meno importante, in questa fase, la verifica di una corretta identificazione e
denominazione delle entità informative individuate in relazione al dominio ed
alle pratiche di impiego e di rappresentazione dei destinatari d’uso.
[PBD] - Progettazione della base di dati
Il disegno della base dati, prima concettuale e poi logico-fisico, determinerà, in
funzione delle esigenze funzionali e degli scopi della soluzione, le strutture dati
necessarie per il miglior utilizzo delle informazioni estraibili attraverso i processi
di IE.
In funzione dello scenario la base dati potrà essere di tipo relazionale, NoSQL o
mista, e ciò comporterà approcci e forme di rappresentazione differenti ma
sicuramente tutte ruotanti intorno al dominio di interesse espresso dalle
ontologie e in funzione delle esigenze tecnologiche IT impiegate per il
soddisfacimento dei requisiti dell’applicazione.
[PIE] - Progettazione della base di IE
Il punto di partenza è costituito dai seguenti elementi:
 Sorgenti non strutturate individuate in [DSU]
 Ontologie definite in [ERP]
 Base di dati disegnata in [PBD]
 Esigenze funzionali definite in [DSU]
 Gradualità dell’implementazione funzionale dell’applicazione sulla base di quanto
rilevato in [DSU] ed economicamente sostenibile
I principali compiti di questa fase sono riassumibili come:
 Analisi delle sorgenti non strutturate
o Formati di interesse, tipologie di documenti
24
ing. Roberto Gallerani
o Espressioni linguistiche di riferimento (operando in approccio “rule-based” ciò
risulta necessario per la determinazione e l’impiego di glossari, elementi
morfologico-lessicali e sintattici)
o Effetto dell’applicazione di eventuali diversi livelli di analisi e interpretazione delle
sorgenti in funzione della loro tipologia e/o del grado di dettaglio
richiesto/ottenibile
 Individuazione dell’impiego di eventuali forme di “machine learning” propedeutiche o
di supporto alle grammatiche “rule-based”.
 Progettazione delle modalità e delle sequenze di training per le eventuali parti di
“machine learning”.
 Progettazione delle pipeline (sequenze di processi) di IE per la generazione delle
annotazioni strutturate in relazione alle esigenze funzionali dell’applicazione
Data la generale complessità nell’affrontare e rappresentare i termini di interesse
per i processi IE, in sintonia con i criteri di gradualità di crescita nel tempo
dell’applicazione, potrebbero essere individuati attraverso l’ontologia una serie
di “sotto-domini” da affrontare successivamente nel tempo secondo una
roadmap di evoluzione dell’applicazione.
[PAPP] Progettazione dell’applicazione di impiego dei risultati di IE
Il punto di partenza è costituito dai seguenti elementi:
 Ontologie definite in [ERP]
 Risultati di [PIE]
 Base di dati disegnata in [PBD]
 Esigenze funzionali definite in [DSU]
 Gradualità dell’implementazione funzionale dell’applicazione sulla base di quanto
rilevato in [DSU] ed economicamente sostenibile
I principali compiti di questa fase sono riassumibili come:
 progettazione del sistema di schedulazione e gestione dell’elaborazione delle pipeline
di IE
 progettazione dell’integrazione dei risultati di IE alla base dati (relazionale e NoSql)
 progettazione delle funzioni applicative estese/aggiunte in relazione all’utilizzo dei
dati estratti da IE e disponibili sulla base dati
 progettazione della gestione (alimentazione, manutenzione, monitoraggio, controllo)
dei glossari/dizionari di supporto.
25
ing. Roberto Gallerani
Altri articoli o riferimenti dell’autore:
L'innovazione sostenibile (e-book)
http://www.gallerani.it/wordpress/wp-content/uploads/2011/01/E-book-
RGallerani-Innovazione-sostenibile.pdf
Fiducia e idee fanno impresa e creano rete, opportunità e
valore
http://www.gallerani.it/wordpress/?p=718
PMI: fare rete è una necessità non rinviabile
http://www.gallerani.it/wordpress/?p=694
I doveri (di fronte a se stesso) del Committente
http://www.gallerani.it/wordpress/?p=658
ICT e organizzazione: innovazione flessibile, graduale ed
economica
http://www.gallerani.it/wordpress/?p=611
Idea management, creatività, innovazione e invenzione
http://www.gallerani.it/wordpress/?p=562
Il futuro (prossimo): dai social media alla collaborazione
globale
http://www.gallerani.it/wordpress/?p=547
26
ing. Roberto Gallerani
Cloud computing: luci e ombre
http://www.gallerani.it/wordpress/?p=540
Social CRM: social networks e CRM
http://www.gallerani.it/wordpress/?p=473
“Collaboration Tools”: l’unione fa la forza
http://www.gallerani.it/wordpress/?p=330
Innovazione flessibile e graduale
http://www.gallerani.it/sito/innovare-si-ma-con-flessibilita-gradualita-ed-alle-
migliori-condizioni/
Idea Management & Project Management: connubio
dell’innovazione
http://www.gallerani.it/wordpress/?p=1390
27
ing. Roberto Gallerani
28
Quaderni 17 17 DICEMBRE 2015
Iscrizione all'Albo degli Ingegneri della provincia di Bologna, n. 4421-A
Email: roberto.gallerani@ordingbo.it - Mobile: +39 339 5003435 - http://www.gallerani.it
Via Berlinguer n. 1 - 40024 Castel San Pietro Terme - BO
ing. Roberto Gallerani
a partire dal 1984, nella PMI, ha maturato esperienze nella conduzione di attività nelle seguenti aree:
Esame delle esigenze, valutazione, selezione, avviamento di soluzioni:
 Applicazioni di “information extraction” basate sull’elaborazione del linguaggio naturale (NLP)
 Gestione elettronica dei documenti
 Fattura elettronica e conservazione sostitutiva
 Acquisizione dei documenti cartacei con riconoscimento del tipo di documento ed estrazione automatica delle
informazioni
 Enterprise 2.0: strumenti per la collaborazione, l' "Idea Management" e il “Project Management”
 BPM: Business Process Management (workflow e processi assistiti di trattamento dei documenti)
 CRM: Customer Relationship Management
 Integrazione di ERP e CRM con sistemi di gestione documentale
 CMS: Content Management Systems per la gestione di contenuti/portali aziendali
 Sistemi informativi tecnici CAD 2D/3D, PDM/PLM con integrazione ai componenti di produzione, nel settore
manifatturiero meccanico
Esame delle esigenze, valutazione e individuazione delle soluzioni hardware e software per l’ “adaptive enterprise“
e la “business continuity”:
 Architetture di elaborazione in cluster
 Virtualizzazione e consolidamento
 Storage Area Network, Network Attached Storage, Tape Libraries e backup
 Sistemi di monitoraggio di reti di comunicazione ed elaborazione
 Sicurezza e sistemi di sicurezza a livello di comunicazioni ed applicativi
 Collocazione in “data center” di sistemi ed Application Service Provisioning
 Analisi dei rischi legati alla stilazione del DPS
Studio, progettazione e direzione dello sviluppo di sistemi:
 Electronic Document Management
 Product Data Management / Product Lifecycle Management
 Gestione delle funzioni pre-vendita e post-vendita nel settore manifatturiero meccanico
 Database di sintesi per il supporto alle decisioni in area CRM
 Gestione dei processi di formazione aziendali
Progetti speciali
 Analisi e progettazione di sistemi di “information extraction” basati sull’elaborazione del linguaggio naturale (NLP):
ontologie, glossari e grammatiche in ambito “rule based”, pattern e sequenze di apprendimento per il “machine learning”,
metodi e tecniche per la valutazione dei risultati
 Gestione del progetto software di acquisizione e archiviazione dei dati di esercizio, l'analisi statistica ed il controllo di
macchine per il confezionamento di prodotti nel settore farmaceutico.
 Gestione del progetto software di sistemi di supporto alla progettazione ed alla documentazione di componenti per
l'edilizia (dimensionamento strutturale dei componenti, generazione automatica dei disegni esecutivi 2D e della relazione
per il Genio Civile)
 Analisi e progettazione del sistema di pianificazione della produzione di una primaria azienda manifatturiera del settore
tessile

Mais conteúdo relacionado

Semelhante a Natural Language Processing (NLP) e Information Extraction (IE)

Do it ourselves : Social Technologies for Information Retrieval
Do it ourselves : Social Technologies for Information RetrievalDo it ourselves : Social Technologies for Information Retrieval
Do it ourselves : Social Technologies for Information RetrievalBonaria Biancu
 
Indicizzare nel mondo digitale
Indicizzare nel mondo digitaleIndicizzare nel mondo digitale
Indicizzare nel mondo digitaleMichele Santoro
 
Strumenti di Business Intellingence 1: introduzione al data warehouse
Strumenti di Business Intellingence 1: introduzione al data warehouseStrumenti di Business Intellingence 1: introduzione al data warehouse
Strumenti di Business Intellingence 1: introduzione al data warehouseDatamaze
 
4a Data Mining e motori computazionali
4a Data Mining e motori computazionali4a Data Mining e motori computazionali
4a Data Mining e motori computazionaliMau-Messenger
 
MAEmento Premio PA Sostenibile e Resiliente 2020
MAEmento Premio PA Sostenibile e Resiliente 2020MAEmento Premio PA Sostenibile e Resiliente 2020
MAEmento Premio PA Sostenibile e Resiliente 2020Mario De Rosa
 
Dalla carta al digitale_Ministero dell'interno_forum pa challenge
Dalla carta al digitale_Ministero dell'interno_forum pa challengeDalla carta al digitale_Ministero dell'interno_forum pa challenge
Dalla carta al digitale_Ministero dell'interno_forum pa challengeFPA
 
13.02.19 psi come benecomune
13.02.19 psi come benecomune13.02.19 psi come benecomune
13.02.19 psi come benecomuneFrancesca Gleria
 
Accesso remoto, interfaccia ed architettura dell'informazione
Accesso remoto, interfaccia ed architettura dell'informazioneAccesso remoto, interfaccia ed architettura dell'informazione
Accesso remoto, interfaccia ed architettura dell'informazioneaccessoinformazione
 
Classificazione e fascicolazione dei documeti informatici
Classificazione e fascicolazione dei documeti informaticiClassificazione e fascicolazione dei documeti informatici
Classificazione e fascicolazione dei documeti informaticiCesare Ciabatti
 
Dati e informazioni nella pubblica amministrazione da strumento a bene comune
Dati e informazioni nella pubblica amministrazione da strumento a bene comuneDati e informazioni nella pubblica amministrazione da strumento a bene comune
Dati e informazioni nella pubblica amministrazione da strumento a bene comunedatitrentinoit
 
L’importanza dei metadati nella comunicazione tecnica e di prodotto e come ge...
L’importanza dei metadati nella comunicazione tecnica e di prodotto e come ge...L’importanza dei metadati nella comunicazione tecnica e di prodotto e come ge...
L’importanza dei metadati nella comunicazione tecnica e di prodotto e come ge...KEA s.r.l.
 
Come e perché integrare Digital Asset Management e Content Management
Come e perché integrare Digital Asset Management e Content ManagementCome e perché integrare Digital Asset Management e Content Management
Come e perché integrare Digital Asset Management e Content ManagementKEA s.r.l.
 
Presentazione dei dati
Presentazione dei dati Presentazione dei dati
Presentazione dei dati GiuliaFerro2
 
Progetto DiDOC 4.0 - ForumPA 2017
Progetto DiDOC 4.0 - ForumPA 2017 Progetto DiDOC 4.0 - ForumPA 2017
Progetto DiDOC 4.0 - ForumPA 2017 CRPuglia
 
Bisignano 8-la gestione documentale e il processo di conservazione dei docum...
Bisignano  8-la gestione documentale e il processo di conservazione dei docum...Bisignano  8-la gestione documentale e il processo di conservazione dei docum...
Bisignano 8-la gestione documentale e il processo di conservazione dei docum...iMaS s.r.l.
 
Creactives - Spending Analysis
Creactives - Spending Analysis Creactives - Spending Analysis
Creactives - Spending Analysis Maurizio Girometti
 
Linee guida web PA: formati, licenze, classificazione, open data
Linee guida web PA: formati, licenze, classificazione, open dataLinee guida web PA: formati, licenze, classificazione, open data
Linee guida web PA: formati, licenze, classificazione, open dataGianfranco Andriola
 

Semelhante a Natural Language Processing (NLP) e Information Extraction (IE) (20)

Lezione Feliciati ACS 2012
Lezione Feliciati ACS 2012Lezione Feliciati ACS 2012
Lezione Feliciati ACS 2012
 
Do it ourselves : Social Technologies for Information Retrieval
Do it ourselves : Social Technologies for Information RetrievalDo it ourselves : Social Technologies for Information Retrieval
Do it ourselves : Social Technologies for Information Retrieval
 
Indicizzare nel mondo digitale
Indicizzare nel mondo digitaleIndicizzare nel mondo digitale
Indicizzare nel mondo digitale
 
Strumenti di Business Intellingence 1: introduzione al data warehouse
Strumenti di Business Intellingence 1: introduzione al data warehouseStrumenti di Business Intellingence 1: introduzione al data warehouse
Strumenti di Business Intellingence 1: introduzione al data warehouse
 
4a Data Mining e motori computazionali
4a Data Mining e motori computazionali4a Data Mining e motori computazionali
4a Data Mining e motori computazionali
 
MAEmento Premio PA Sostenibile e Resiliente 2020
MAEmento Premio PA Sostenibile e Resiliente 2020MAEmento Premio PA Sostenibile e Resiliente 2020
MAEmento Premio PA Sostenibile e Resiliente 2020
 
Dalla carta al digitale_Ministero dell'interno_forum pa challenge
Dalla carta al digitale_Ministero dell'interno_forum pa challengeDalla carta al digitale_Ministero dell'interno_forum pa challenge
Dalla carta al digitale_Ministero dell'interno_forum pa challenge
 
13.02.19 psi come benecomune
13.02.19 psi come benecomune13.02.19 psi come benecomune
13.02.19 psi come benecomune
 
Accesso remoto, interfaccia ed architettura dell'informazione
Accesso remoto, interfaccia ed architettura dell'informazioneAccesso remoto, interfaccia ed architettura dell'informazione
Accesso remoto, interfaccia ed architettura dell'informazione
 
Classificazione e fascicolazione dei documeti informatici
Classificazione e fascicolazione dei documeti informaticiClassificazione e fascicolazione dei documeti informatici
Classificazione e fascicolazione dei documeti informatici
 
Dati e informazioni nella pubblica amministrazione da strumento a bene comune
Dati e informazioni nella pubblica amministrazione da strumento a bene comuneDati e informazioni nella pubblica amministrazione da strumento a bene comune
Dati e informazioni nella pubblica amministrazione da strumento a bene comune
 
L’importanza dei metadati nella comunicazione tecnica e di prodotto e come ge...
L’importanza dei metadati nella comunicazione tecnica e di prodotto e come ge...L’importanza dei metadati nella comunicazione tecnica e di prodotto e come ge...
L’importanza dei metadati nella comunicazione tecnica e di prodotto e come ge...
 
Come e perché integrare Digital Asset Management e Content Management
Come e perché integrare Digital Asset Management e Content ManagementCome e perché integrare Digital Asset Management e Content Management
Come e perché integrare Digital Asset Management e Content Management
 
Presentazione dei dati
Presentazione dei dati Presentazione dei dati
Presentazione dei dati
 
2 Gedoc Schermate
2   Gedoc Schermate2   Gedoc Schermate
2 Gedoc Schermate
 
Progetto DiDOC 4.0 - ForumPA 2017
Progetto DiDOC 4.0 - ForumPA 2017 Progetto DiDOC 4.0 - ForumPA 2017
Progetto DiDOC 4.0 - ForumPA 2017
 
Bisignano 8-la gestione documentale e il processo di conservazione dei docum...
Bisignano  8-la gestione documentale e il processo di conservazione dei docum...Bisignano  8-la gestione documentale e il processo di conservazione dei docum...
Bisignano 8-la gestione documentale e il processo di conservazione dei docum...
 
Intervento Avv. Andrea Lisi - ForumPA 2017
Intervento Avv. Andrea Lisi - ForumPA 2017Intervento Avv. Andrea Lisi - ForumPA 2017
Intervento Avv. Andrea Lisi - ForumPA 2017
 
Creactives - Spending Analysis
Creactives - Spending Analysis Creactives - Spending Analysis
Creactives - Spending Analysis
 
Linee guida web PA: formati, licenze, classificazione, open data
Linee guida web PA: formati, licenze, classificazione, open dataLinee guida web PA: formati, licenze, classificazione, open data
Linee guida web PA: formati, licenze, classificazione, open data
 

Mais de Roberto Gallerani

La rivoluzione nell_impresa_moderna
La rivoluzione nell_impresa_modernaLa rivoluzione nell_impresa_moderna
La rivoluzione nell_impresa_modernaRoberto Gallerani
 
L’insieme è maggiore della somma delle parti …
L’insieme è maggiore della somma delle parti …L’insieme è maggiore della somma delle parti …
L’insieme è maggiore della somma delle parti …Roberto Gallerani
 
Idea Management & Project Management: connubio dell’innovazione
Idea Management & Project  Management: connubio  dell’innovazione Idea Management & Project  Management: connubio  dell’innovazione
Idea Management & Project Management: connubio dell’innovazione Roberto Gallerani
 
L'innovazione sostenibile - La Ricerca & Sviluppo permanente di idee e proget...
L'innovazione sostenibile - La Ricerca & Sviluppo permanente di idee e proget...L'innovazione sostenibile - La Ricerca & Sviluppo permanente di idee e proget...
L'innovazione sostenibile - La Ricerca & Sviluppo permanente di idee e proget...Roberto Gallerani
 
La struttura organizzativa nelle PMI
La struttura organizzativa nelle PMILa struttura organizzativa nelle PMI
La struttura organizzativa nelle PMIRoberto Gallerani
 
Formazione continua finanziata
Formazione continua finanziataFormazione continua finanziata
Formazione continua finanziataRoberto Gallerani
 
Collaboration & idea management
Collaboration & idea managementCollaboration & idea management
Collaboration & idea managementRoberto Gallerani
 
Fiducia e idee fanno impresa, creano rete, opportunità e valore
Fiducia e idee fanno impresa, creano rete, opportunità e valoreFiducia e idee fanno impresa, creano rete, opportunità e valore
Fiducia e idee fanno impresa, creano rete, opportunità e valoreRoberto Gallerani
 
Collaboration tools: l'unione fa la forza
Collaboration tools: l'unione fa la forzaCollaboration tools: l'unione fa la forza
Collaboration tools: l'unione fa la forzaRoberto Gallerani
 
Social CRM, social networks e CRM
Social CRM,  social networks e CRMSocial CRM,  social networks e CRM
Social CRM, social networks e CRMRoberto Gallerani
 
CRM customer relationship management tra organizzazione e tecnologia
CRM customer relationship management tra organizzazione e tecnologiaCRM customer relationship management tra organizzazione e tecnologia
CRM customer relationship management tra organizzazione e tecnologiaRoberto Gallerani
 
Le sfide della gestione elettronica dei documenti
Le sfide della gestione elettronica dei documentiLe sfide della gestione elettronica dei documenti
Le sfide della gestione elettronica dei documentiRoberto Gallerani
 
Dematerializzazione e conservazione sostitutiva
Dematerializzazione e conservazione sostitutiva Dematerializzazione e conservazione sostitutiva
Dematerializzazione e conservazione sostitutiva Roberto Gallerani
 
La gestione elettronica dei documenti
La gestione elettronica dei documentiLa gestione elettronica dei documenti
La gestione elettronica dei documentiRoberto Gallerani
 
Documenti elettronici cifratura firma elettronica e marca temporale
Documenti elettronici cifratura firma elettronica e marca temporaleDocumenti elettronici cifratura firma elettronica e marca temporale
Documenti elettronici cifratura firma elettronica e marca temporaleRoberto Gallerani
 
Pec posta elettronica certificata
Pec posta elettronica certificataPec posta elettronica certificata
Pec posta elettronica certificataRoberto Gallerani
 
Cloud computing luci e ombre
Cloud computing luci e ombreCloud computing luci e ombre
Cloud computing luci e ombreRoberto Gallerani
 

Mais de Roberto Gallerani (18)

La rivoluzione nell_impresa_moderna
La rivoluzione nell_impresa_modernaLa rivoluzione nell_impresa_moderna
La rivoluzione nell_impresa_moderna
 
L’insieme è maggiore della somma delle parti …
L’insieme è maggiore della somma delle parti …L’insieme è maggiore della somma delle parti …
L’insieme è maggiore della somma delle parti …
 
Idea Management & Project Management: connubio dell’innovazione
Idea Management & Project  Management: connubio  dell’innovazione Idea Management & Project  Management: connubio  dell’innovazione
Idea Management & Project Management: connubio dell’innovazione
 
L'innovazione sostenibile - La Ricerca & Sviluppo permanente di idee e proget...
L'innovazione sostenibile - La Ricerca & Sviluppo permanente di idee e proget...L'innovazione sostenibile - La Ricerca & Sviluppo permanente di idee e proget...
L'innovazione sostenibile - La Ricerca & Sviluppo permanente di idee e proget...
 
La struttura organizzativa nelle PMI
La struttura organizzativa nelle PMILa struttura organizzativa nelle PMI
La struttura organizzativa nelle PMI
 
Formazione continua finanziata
Formazione continua finanziataFormazione continua finanziata
Formazione continua finanziata
 
Collaboration & idea management
Collaboration & idea managementCollaboration & idea management
Collaboration & idea management
 
Fiducia e idee fanno impresa, creano rete, opportunità e valore
Fiducia e idee fanno impresa, creano rete, opportunità e valoreFiducia e idee fanno impresa, creano rete, opportunità e valore
Fiducia e idee fanno impresa, creano rete, opportunità e valore
 
Collaboration tools: l'unione fa la forza
Collaboration tools: l'unione fa la forzaCollaboration tools: l'unione fa la forza
Collaboration tools: l'unione fa la forza
 
Social CRM, social networks e CRM
Social CRM,  social networks e CRMSocial CRM,  social networks e CRM
Social CRM, social networks e CRM
 
CRM customer relationship management tra organizzazione e tecnologia
CRM customer relationship management tra organizzazione e tecnologiaCRM customer relationship management tra organizzazione e tecnologia
CRM customer relationship management tra organizzazione e tecnologia
 
Le sfide della gestione elettronica dei documenti
Le sfide della gestione elettronica dei documentiLe sfide della gestione elettronica dei documenti
Le sfide della gestione elettronica dei documenti
 
Dematerializzazione e conservazione sostitutiva
Dematerializzazione e conservazione sostitutiva Dematerializzazione e conservazione sostitutiva
Dematerializzazione e conservazione sostitutiva
 
La gestione elettronica dei documenti
La gestione elettronica dei documentiLa gestione elettronica dei documenti
La gestione elettronica dei documenti
 
La fattura elettronica
La fattura elettronicaLa fattura elettronica
La fattura elettronica
 
Documenti elettronici cifratura firma elettronica e marca temporale
Documenti elettronici cifratura firma elettronica e marca temporaleDocumenti elettronici cifratura firma elettronica e marca temporale
Documenti elettronici cifratura firma elettronica e marca temporale
 
Pec posta elettronica certificata
Pec posta elettronica certificataPec posta elettronica certificata
Pec posta elettronica certificata
 
Cloud computing luci e ombre
Cloud computing luci e ombreCloud computing luci e ombre
Cloud computing luci e ombre
 

Natural Language Processing (NLP) e Information Extraction (IE)

  • 1. Quaderni1717 dicembre 2015 APPUNTI DIGITALI Le esigenze Il mondo in cui viviamo e lavoriamo è una fonte infinita di dati. Molti di essi sono ben catalogati e accessibili in archivi e “database” organizzati per facilitare la ricerca, l’analisi e la sintesi in informazioni, essenziali per ragionare, fare ipotesi e prendere decisioni. Per contro l’uso di internet e del web mette in evidenza anche l’enorme quantità di dati e informazioni presenti in miliardi di pagine e documenti disseminati in ogni parte del mondo. Inoltre anche all’interno di ogni organizzazione, privata o pubblica, oltre agli archivi ben organizzati dei sistemi ERP, CRM, PLM, ecc, esistono delle grandi moli di documenti di varia natura che nascondono al loro interno un’ulteriore vastissima quantità di informazioni le quali, se portate alla luce e rese accessibili in modo strutturato, potrebbero letteralmente cambiare in molti casi la nostra percezione e il valore delle nostre decisioni. Il “problema” è che tutto questo infinito patrimonio informativo è contenuto in documenti e pagine scritte generalmente sottoforma di testo libero, in lingue diverse, spesso con alfabeti diversi e quindi in forme tutt’altro che strutturate ed atte a consentire una loro identificazione, sintesi e catalogazione. L’uso dei motori di ricerca sul web o di un sistema di gestione documentale evidenzia il limite accennato. Anche l’impiego dei più sofisticati motori, come ad esempio Google, a fronte di una ricerca che vada oltre all’individuazione di alcune parole chiave in combinazione tra loro ma che esprima, attraverso una frase, un concetto obiettivo trova numerosi ostacoli nel processo di estrazione. Il limite risiede nel fatto che un’”espressione di ricerca“ non è solo da considerare come una serie di parole a se stanti, ma come una frase con un suo significato (“semantica frasale)” che deriva dall’insieme delle regole fonetiche, ortografiche, morfologiche, lessicali e sintattiche di una lingua: la grammatica. Allo stesso modo, ai fini accennati, non è sufficiente identificare le pagine o i documenti che possano attendibilmente riferirsi a quanto espresso, come con un tradizionale motore di ricerca, ma è 1 t h sContenuti: Le esigenze Alcuni campi di applicazione Cosa significa Gli strumenti Utilizzo della piattaforma GATE L’approccio e il metodo Natural Language Processing (NLP) e Information Extraction (IE)
  • 2. ing. Roberto Gallerani necessario reiterare su ciascun documento un processo di ricerca, determinazione ed estrazione dei dati e delle informazioni ricercate sulla base di uno scopo preciso, per evitare di lasciare di nuovo questo impossibile (per ragione di tempo) compito all’essere umano, attraverso la lettura di ogni documento identificato e la catalogazione manuale dei dati interessati. Tutto ciò passa attraverso i processi di “Information Extraction” (IE) basati sul Natural Language Processing (NLP) inteso come un insieme di tecniche e strumenti dedicati all'analisi e all’elaborazione del linguaggio usato comunemente dalle persone in forma scritta e orale. Alcuni campi di applicazione Relazioni di accompagnamento al bilancio La relazione sulla gestione costituisce uno dei principali documenti allegati al bilancio d’esercizio; il suo scopo è fornire, attraverso informazioni finanziarie e non, una visione globale che consenta al lettore del bilancio di comprendere la situazione della società e l’andamento della gestione, in chiave attuale e previsionale. Andando oltre e più in dettaglio rispetto al bilancio stesso, in generale, questo documento contiene, tra le altre, informazioni circa la posizione della società nell’ambiente in cui opera, l’analisi della struttura patrimoniale e finanziaria e dei risultati della gestione, la descrizione degli indicatori finanziari e non finanziari e informazioni relative ai rischi e alle incertezze. E’ indubbio che i contenuti informativi in esso presenti vanno spesso ben al di là dell’essere una mera trasposizione discorsiva di dati provenienti dal “sistema gestionale”, ma costituiscono una rielaborazione di analisi e sintesi effettuata da un esperto della materia (“esperto di dominio”). Il documento, pur ricorrendo a rappresentazioni sintetiche, come tabelle, grafici, ecc, riporta in genere molte delle sue principali informazioni attraverso l’uso del linguaggio naturale proprio del “dominio” amministrativo/finanziario. Di relazioni sulla gestione se ne possono usualmente avere diverse per ogni esercizio annuale, su base trimestrale o quadrimestrale, ed esse, di anno in anno, “accumulano” un qrande quantità di informazioni e “concetti” sviluppati, di volta in volta, dagli “esperti di dominio” (amministratori, revisori, ecc) e che rischiano di andare perduti o, quantomeno, non completamente utilizzati. Un “sistema” IT che analizzi questi documenti sulla base del loro contenuto in linguaggio naturale alla ricerca di “concetti”, informazioni e dati da rendere fruibili in forma strutturata e catalogata permette di estendere la conoscenza di una organizzazione, facilitando inoltre il compito degli “esperti di dominio”, lasciati liberi da compiti di rilettura e rianalisi completa dei precedenti documenti, in ogni operazione di auditing e valutazione dell’organizzazione. Consolidamento di anagrafiche di prodotto In ogni impresa la proliferazione di nuove anagrafiche e di duplicati è causata spesso dai limiti di gestione e dalla complessità dei processi dei sistemi informativi utilizzati, nei quali dati e informazioni, oltre che su “database” strutturati, sono contenuti anche in fonti discorsive di varia natura (pagine web, cataloghi, relazioni e rapporti tecnici, documenti marketing e commerciali, ecc). Inoltre nei sempre più frequenti processi di fusione, acquisizione, creazione di reti di imprese risulta determinante la capacità di mettere a fattor comune, in un complesso omogeneo e coerente, questa mole di informazioni in genere 2
  • 3. ing. Roberto Gallerani organizzate, catalogate, codificate e descritte secondo criteri e modalità differenti. Grazie alla tecnologia semantica è possibile analizzare e ricostruire automaticamente il patrimonio di anagrafiche dell’organizzazione a partire da tutte le sorgenti disponibili, strutturate e non, supportando e facilitando processi di normalizzazione, razionalizzazione, ottimizzazione e riorganizzazione. Gestione magazzino La gestione di un inventario, attraverso l'uso del software, come noto, è ormai ampiamente supportata dalle funzionalità del sistema informativo:  avvio dell'inventario con selezione dei prodotti da inventariare.  conta fisica dei prodotti selezionati per l'inventario.  inserimento dei dati di esistenza dei prodotti inventariati nel programma di gestione.  chiusura della procedura d'inventario per la valorizzazione finale. La maggior parte dei documenti necessari, anche a fini fiscali, sono altresì prodotti direttamente dalle procedure IT di supporto. Tuttavia in numerose organizzazioni i documenti aggiuntivi del “ciclo del magazzino” possono essere diversi e numerosi. Si pensi ad esempio a quelli relativi all’analisi ed al controllo dei rischi, alla gestione della qualità del prodotto o a quelli che descrivono modalità e aspetti legati al deperimento di merci e prodotti aventi effetto diretto sui criteri di valorizzazione. Anche in questi casi il numero, la qualità ed il valore delle informazioni contenute va molto al di la di quanto presente nel sistema informativo tradizionale. Un processo di “information extraction” basato sull’analisi e la comprensione di documenti discorsivi in linguaggio naturale è in grado di estendere l’identificazione, la raccolta e la catalogazione di dati e informazioni utili a migliorare la gestione dell’organizzazione. Verbali di inventario in ambito civilistico Il processo verbale d’inventario contiene:  la descrizione degli immobili, mediante l’indicazione della loro natura, della loro situazione, dei loro confini e dei numeri del catasto e delle mappe censuarie;  la descrizione e la stima dei mobili, con la specificazione del peso o del marchio per gli oggetti d’oro e d’argento;  l’indicazione della quantità e specie delle monete per il danaro contante;  l’indicazione delle altre attività e passività;  la descrizione delle carte, scritture e in fine dall’ufficiale procedente. Documenti che, pur nascendo in forma non strutturata e secondo forme e linguaggio proprio del “dominio” giuridico, riportano nel loro contenuto una vasta e ricca quantità di informazioni che, se estratte e catalogate con un processo di “information extraction”, possono concorrere ad arricchire i “database” strutturati ed alimentare i processi di controllo e gestione, senza obbligare a sistematici interventi di rilevazione e annotazione manuale da parte di esperti umani. 3
  • 4. ing. Roberto Gallerani Documenti di supporto alle autorità investigative Durante le attività delle forze dell’ordine vengono generati e utilizzati una gran quantità di documenti, in gran parte discorsivi, nel linguaggio del relativo “dominio” e non immediatamente riconducibili, nel loro contenuto, a rappresentazioni strutturate tipiche di un “database” digitale. Si pensi ai verbali di interrogatorio, alle sentenze, ecc. In essi sono menzionate e circostanziate numerosissime informazioni:  persone fisiche  persone giuridiche  organizzazioni prive di personalità giuridica  organizzazioni criminali  ecc. e, per ciascuna di esse, dettagli informativi come nome, cognome, soprannome, data/luogo di nascita, denominazione e tipologia dell’organizzazione, ecc. Le informazioni, e le relazioni tra esse, se non indicate esplicitamente in forma digitale al momento della redazione del documento, per essere identificate ed estratte richiedono un successivo intervento da parte di un “esperto del dominio” il quale, attraverso un processo di annotazione consapevole, evidenzi cosa mettere in evidenza a fini di analisi, sintesi e successiva catalogazione digitale. Anche in questo caso un’applicazione di “information extraction” basata su tecniche di Natural Language Processing, predisposta sul dominio specifico, è in grado di supportare e automatizzare in misura diversa l’identificazione e la raccolta organizzata di dati e informazioni. Cosa significa Estrarre informazioni da una “sorgente” scritta in linguaggio naturale comporta intuitivamente lo sviluppo di una capacità di interpretazione semantica legata alla lingua utilizzata e, non meno importante, al contesto espressivo e terminologico del campo a cui essa si riferisce (“dominio”). Con il termine Natural Language Processing (NLP) s’intende un insieme di tecniche e strumenti dedicati all'analisi e all’elaborazione del linguaggio usato comunemente dalle persone in forma scritta, orale e, al limite, gestuale. La comprensione del linguaggio naturale è spesso considerata un problema di IA-completo poiché si ritiene che il riconoscimento del linguaggio richieda una conoscenza estesa del mondo e una grande capacità di comprensione. Questo processo è reso particolarmente difficile a causa delle caratteristiche intrinseche di ambiguità del linguaggio umano e, per questo motivo, esso è suddiviso in fasi diverse simili, per certi versi, a quelle che si riscontrano nel processo di elaborazione di un tradizionale linguaggio di programmazione. In particolare un processo completo di elaborazione richiede di effettuare:  Analisi lessicale: scomposizione di un'espressione linguistica in elementi atomici detti token; nel caso del linguaggio naturale scritto, essi sono rappresentati da parole, segni di punteggiatura, cifre, ecc.  Analisi grammaticale: associazione delle parti del discorso a ciascuna parola nel testo; 4
  • 5. ing. Roberto Gallerani  Analisi sintattica: arrangiamento dei token in una struttura sintattica (ad albero: parse tree)  Analisi semantica: assegnazione di un significato (semantica) alla struttura sintattica e, di conseguenza, all'espressione linguistica. Nell'analisi semantica la procedura automatica che attribuisce all'espressione linguistica un significato tra i diversi possibili è detta disambiguazione. Le moderne piattaforme di NLP usano un approccio machine learning, spesso di tipo statistico. Questo paradigma è sostanzialmente diverso dai classici approcci rule based, che costringono a scrivere un rilevante numero di regole per l’analisi di un testo, e sembra essere più promettente in molti casi. Il settore di NLP che fa uso di tecniche di machine learning è denominato Natural Language Learning (NLL). Le tecniche di apprendimento automatico consentono, infatti, di derivare un insieme di regole attraverso l’analisi di un significativo numero di esempi di testi (corpora), tratti dal dominio applicativo d’interesse. In questo contesto un corpus è un insieme di documenti (a volte singole frasi) che sono stati annotati manualmente indicando le informazioni corrette che devono essere apprese e che portano a differenti risposte per i valori da rilevare, ciascuna caratterizzata da un valore di probabilità. Tuttavia, in funzione della complessità del processo di analisi e della vastità o meno del dominio, le tecniche di apprendimento automatico possono essere affiancate o, in alcuni casi anche sostituite, da quelle di tipo “rule-based”. In diversi casi ben circostanziabili, l’individuazione di determinate forme espressive o l’assegnazione di un significato ad una struttura sintattica, precedentemente determinata, possono essere più agevolmente determinati attraverso la scrittura di regole di interpretazione delle combinazioni morfologico-lesiccali- grammaticali e di struttura mediate dall’impiego di opportuni glossari e dizionari. L’ Information Extraction (IE) ha come obiettivo l’estrazione automatica di informazioni strutturate da documenti non strutturati o semi-strutturati. Esempio tipico riguarda l’annotazione di documenti multimediali. Va detto che il problema è intrinsecamente complesso e pertanto l’approccio produce risultati accettabili solo per contesti che siano stati ben delineati. In un processo di IE tre sono i livelli crescenti su cui intervenire:  Named Entity Recognition: riconoscimento di nomi propri di entità (quali persone, organizzazioni e luoghi), riconoscimento di espressioni temporali (es. date), di indirizzi, e di altre particolari informazioni (es. importi, voci di bilancio, ecc.). Il compito più semplice è denominato Named Entity Detection (NED) che si limita a identificare le entità senza alcuna conoscenza circa gli specifici valori (istanze). Ad esempio, nella frase “Mario Rossi è affiliato al clan dei Marsigliesi”, si è in grado di estrarre come informazione che Mario Rossi è una persona ma senza avere necessariamente conoscenza di chi sia o di chi potrebbe essere.  Coreference Resolution: rilevamento di legami di coreferenza (ovvero l’insieme dei rinvii allo stesso referente: es. “Gianni disse che egli sarebbe andato a casa”) e di anafora (ovvero riferimenti tra porzioni di testo più o meno distanti fra loro: es. “alla riunione arrivò anche Carlo ma nessuno lo notò”). 5
  • 6. ing. Roberto Gallerani  Relationship Extraction: riconoscimento di legami associativi tra entità, ad esempio dalla frase “Mario Rossi risiede a Bologna” si può dedurre la relazione di residenza che sussiste tra una persona (Mario Rossi) e una località (Bologna). Nella pratica di un’applicazione di IE è però spesso necessario affrontare insieme i tre aspetti precedenti. Un semplice esempio per tutti potrebbe essere la frase: “Mario Rossi è nato a Milano il 22/07/1953 e risiede a Milano. Egli ha lavorato a Roma presso il Ministero dell’economia. Il suo recapito telefonico è 329728321.” Un corretto processo di IE dovrebbe riconoscere che sussiste una relazione tra il soggetto MARIO ROSSI e la città di MILANO in quanto quest’ultima ne rappresenta il luogo di nascita, e pertanto dovrebbe determinare come proprietà della persona la data di nascita con valore “22/07/1953” e il luogo di nascita con valore “MILANO”. Allo stesso modo tra il soggetto MARIO ROSSI e la città MILANO sussiste una relazione “residenza a” che potrebbe determinare l’attribuzione del valore MILANO ad una proprietà “residenza” della persona fisica. Attraverso il riconoscimento della coreferenza espressa dal pronome “suo” dovrebbe poi identificare come ulteriore attributo di ROSSI il recapito telefonico con valore “329728321”. Mediante il riconoscimento della coreferenza espressa da “egli” dovrebbe poi identificare un’ulteriore relazione di “impiego in” tra MARIO ROSSI e l’organizzazione “MINISTERO DELL’ECONOMIA” la quale potrebbe essere attribuita come valore ad una proprietà “lavora in” della persona fisica. Questo semplice esempio dimostra come l’applicazione di una tecnica di IE orientata alla identificazione e ricostruzione di informazioni strutturate, difficilmente possa prescindere da una equilibrata combinazione di tutti gli aspetti: NER, COREFERENCE, RELATIONSHIP. A complicare le cose, inoltre, sono le diverse forme e combinazioni espressive, a volte anche non pienamente corrette dal punto di vista grammaticale, con cui queste informazioni possono essere riportate. Ad esempio “Mario Rossi, amico di Carlo Verdi, è nato a Milano il 22/07/1953 dove risiede attualmente dopo un periodo di attività nella capitale negli anni 1990-2010. Lavorando presso il Ministero dell’economia ha maturato esperienze significative per l’incarico. Il recapito telefonico a cui contattarlo è 32912345678.” in cui la presenza, a diverso titolo, di un'altra persona fisica, e di espressioni discorsive più estese e ricche di coreferenze, implicite ed esplicite, rendono la comprensione semantica automatica assai complessa. Gli strumenti In un panorama globale esistono numerosi strumenti e piattaforme “open source” di supporto alla progettazione e realizzazione di applicazioni di IE basate su NLP. Essi si differenziano sotto vari aspetti, tra cui il tipo di licenza, i linguaggi di sviluppo e gli ambienti supportati, l’interoperabilità con altri ambienti, la copertura in termini di funzionalità offerte ovvero il livello di generalità delle 6
  • 7. ing. Roberto Gallerani soluzioni, la disponibilità di documentazione adeguata e il sostegno offerto agli sviluppatori di applicazioni Per un elenco dei principali tool e di alcune risorse linguistiche è possibile consultare:  http://en.wikipedia.org/wiki/Outline_of_natural_language_processing  http://www-nlp.stanford.edu/links/statnlp.html  https://www.assembla.com/spaces/extraction-of-cost-data/wiki/Gate-vs-UIMA-vs- OpenNLP Stanford CoreNLP Il gruppo di ricerca di Stanford University mette a disposizione una serie di strumenti di NLP (http://nlp.stanford.edu/software/corenlp.shtml , http://nlp.stanford.edu/publications.shtml) che sono complessivamente denominati Stanford CoreNLP. Stanford CoreNLP è rilasciato con GNU General Public License. Stanford CoreNLP è un framework Java per la gestione di pipeline (sequenze di processi di elaborazione) per l’annotazione di documenti che ha avuto negli anni una rilevante espansione nell’architettura e nelle funzionalità registrando una notevole diffusione in molti ambienti scientifici e industriali. Il framework fornisce esclusivamente API Java e, sebbene preveda una gestione multi-thread su singola macchina, non si occupa dello “scaling” su nodi di calcolo. Questa scelta, soddisfacente per la maggior parte delle applicazioni e per la semplicità della soluzione, consente di affrontare problematiche di NLP minimizzando gli sforzi d’apprendimento e di personalizzazione sulla base delle specifiche esigenze applicative, costituendo un vantaggio di CoreNLP rispetto ad altri tool più sofisticati quali UIMA (Unstructured Information Management Architecture) e GATE (General Architecture for Text Engineering). Lo sviluppatore deve solo possedere conoscenze di Java. 7
  • 8. ing. Roberto Gallerani Da sottolineare che negli anni il core è stato reso disponibile anche per l’utilizzo da altri linguaggi, quali C#, F#, PERL, Pyton, Ruby, Javascript. Il framework è offerto con un’ampia scelta di modelli e risorse di annotazione per la lingua inglese e, nel tempo, anche per altre lingue tra cui Francese, Tedesco, Cinese e Arabo. Molto poco è invece attualmente disponibile per la lingua italiana. Nell’ambito della piattaforma di Stanford, di rilievo è anche Protégé per la gestione di ontologie OWL nel dominio di interesse, come descrizione formale di classi, proprietà e relazioni. UIMA UIMA (Unstructured Information Management Architecture) è l’unico insieme di strumenti per content analytics che è stato riconosciuto come standard OASIS (Organization for the Advancement of Structured Information Standards) nel 2009. UIMA è un’architettura software per lo sviluppo di strumenti per l’analisi multi- modale di informazioni non strutturate e la loro integrazione con tecnologie di ricerca realizzate da IBM. Il codice sorgente per un’implementazione di riferimento del framework è stata resa disponibile dapprima su SourceForge e, successivamente, nel sito web 8
  • 9. ing. Roberto Gallerani http://uima.apache.org/index.html di Apache Software Foundation. Un uso specifico di UIMA è in ambito clinico, ad esempio il sistema CTAKES (Clinical Text Analysis and Knowledge Extraction System) per l’estrazione di conoscenza da cartelle cliniche di pazienti. UIMA consente la decomposizione delle applicazioni in vari moduli, ad esempio:  "language identification"  "language specific segmentation"  "sentence boundary detection"  "entity detection (person/place names ...)". Ogni componente implementa interfacce definite dal framework e provvede a fornire metadati tramite descrittori XML. I componenti possono essere scritti in Java o C++. In aggiunta UIMA fornisce funzionalità per l’incapsulamento dei componenti come servizi di rete, e può scalare verso volumi molto elevati replicando i processi su un cluster di nodi in rete. Apache UIMA è un’implementazione open source di UIMA sotto licenza Apache. OpenNLP OpenNLP (http://opennlp.apache.org/) è una libreria Apache per analisi di testi che supporta vari tipi di azione:  “tokenization”  “sentence segmentation”  “part-of-speech tagging”  “named entity extraction”  “chunking”  “parsing”  “coreference resolution”. Fornisce anche la possibilità di eseguire machine learning e può essere utilizzato anche in ambiente .NET. GATE GATE è un'infrastruttura open source per lo sviluppo di sistemi di IE proposta da University of Sheffield. La piattaforma comprende principalmente:  GATE Developer: un ambiente integrato per lo sviluppo di componenti di elaborazione del linguaggio (“language processing”) supportato da un’ampia gamma di informazioni ed esempi ed arricchito da una vasta scelta di componenti aggiuntivi (“ plugins “) che ne estendono le potenzialità  GATE Teamware un ambiente web collaborativo per la gestione in team dei processi di annotazione di insiemi di documenti, basato sull’impiego del “workflow engine” JBPM. 9
  • 10. ing. Roberto Gallerani  GATE Embedded: un framework e una libreria di componenti per l’integrazione e l’utilizzo da un’applicazione esterna dei servizi e dei processi realizzati attraverso GATE Developer  Una soluzione “cloud” per l’elaborazione in “hosting” di processi di NLP/IE su larga scala (GATE Cloud.net)  GATE Mímir: (Multi-paradigm Information Management Index and Repository) utilizzabile per l’indicizzazione e la ricerca di testi, annotazioni, schemi semantici (ontologie) e valori delle istanze. Esso consente di effettuare ricerche composte attraverso la combinazione libera di dati testuali, di struttura, linguisitci e semantici. Nell’ambito di GATE Developer di rilievo è la presenza di un plugin in grado di consentire la gestione di ontologie OWL nei formati RDF/XML, N3, NTriples and Turtle, quindi compatibile con gli analoghi strumenti disponibili su altre piattaforme. La definizione di un’ontologia, oltre a rappresentare la struttura classi, proprietà e relazioni del dominio di interesse, permette di estendere, nell’approccio “rule based”, le capacità di analisi attraverso il principio dell’ereditarietà e la generazione di glossari e dizionari derivati dai valori delle istanze associate alle diverse classi. Lo sviluppo di una nuova applicazione basata sull'architettura di GATE prevede una fase preliminare in cui l'utente sceglie quante e quali processing resources utilizzare, definendo per ognuna di esse le language resources coinvolte. Il formato per la rappresentazione dei dati in GATE è denominato annotation, e il sistema fornisce il supporto per l'elaborazione di testi in formato:  Plain Text  HTML  SGML  XML  RTF  Email  PDF (some documents)  Microsoft Office (some formats)  OpenOffice (some formats)  UIMA CAS XML format  CoNLL/IOB La piattaforma si presta ottimamente per realizzazioni sia “rule-based” che “machine learning”. Un’interessante applicazione basata su GATE è ANNIE (A Nearly-New Information Extraction system). ANNIE utilizza una serie di risorse per riconoscere istanze di entità (persone, organizzazioni, luoghi, date, indirizzi, ecc.) all'interno di un testo. ANNIE si basa su algoritmi a stati finiti e sul linguaggio JAPE (Java Annotation Pattern Engine). I vari tool ella piattaforma GATE sono “open source” rilasciati generalmente con licenze GNU. L’Università di Sheffield prevede anche forme di consulenza e sviluppo commissionato per la personalizzazione di GATE per specifiche esigenze; alcuni servizi possono essere richiesti a Ontotex e Matrixware, partner principali del progetto GATE. 10
  • 11. ing. Roberto Gallerani Utilizzo della piattaforma GATE La piattaforma GATE, attraverso le funzionalità di base ed i numerosi plugin disponibili, può essere agevolmente impiegata in processi di NLP e IE sia con approccio “rule based” che “machine learning”. Approccio “rule based” Un esempio di sequenza di elaborazione (pipeline) “rule based” dedicata al NER (Named Entity Recognition) è costituito dall’applicazione ANNIE, disponibile come plugin insieme agli altri strumenti della piattaforma. ANNIE consente l’”annotazione”, tra l’altro, delle entità: persone, organizzazioni, località, date, ecc. L’”annotazione” in GATE rappresenta una sequenza di parole oggetto del riconoscimento, definita, nella sua ampiezza di copertura in funzione degli obiettivi di identificazione ed estrazione; ha una denominazione (“annotation type”) e delle proprietà (feature) atte a contenere valori derivati durante il processo di IE. La denominazione degli “annotation type” e delle “feature” sono determinati nell’ambito dell’applicazione in funzione del significato e delle esigenze di rappresentazione formale. Ad esempio per la semplice frase: “Mario Rossi, nato a Milano il 22/07/1953, risiede a Monza dove lavora presso la società VORTEX di Vimercate. l’annotazione si può presentare come: “Mario Rossi” rappresenta, attraverso nome e cognome, una “persona fisica” e “VORTEX”, attraverso la sua denominazione, una “persona giuridica”. Nell’esempio l’annotazione “Mario Rossi” potrebbe avere come “annotation type” persona e come “feature” nome=Mario e cognome=Rossi Un’annotazione viene riportata in un documento elaborato sottoforma di “tag XML” utili anche ad una rappresentazione grafica interattiva in un’applicazione di visualizzazione e navigazione delle annotazioni create. Mediante opportune funzionalità del framework le annotazioni possono anche essere registrate esternamente, ad esempio su DBMS relazionale, file CSV, ecc. Le annotazioni, in quanto portatrici di informazioni (un nome e delle proprietà), possono essere create attraverso fasi successive, incrementando il dettaglio della rappresentazione venendo utilizzate nell’approccio “rule based” in un affinamento successivo sino alla determinazione delle annotazioni finali di interesse. Al termine del processo le annotazioni intermedie, di servizio, se non più necessarie, potranno essere eliminate. 11
  • 12. ing. Roberto Gallerani Il corpo di elaborazione principale è costituito dalla pipeline, intesa come sequenza di “process resource” (PR) ciascuna dedicata ad un compito particolare in relazione alle esigenze di NLP e IE. In ANNIE la tipica pipeline e schematizzabile come nella figura riportata sotto. Ciascun PR, come modulo base, è essenzialmente costituito da un corpo di elaborazione standard realizzato in JAVA che, dedicato ad un fine preciso, genera o modifica sul documento le proprie “annotazioni di servizio” che potranno essere agevolmente impiegate nei PR successivi. In particolare: PR Gazetteer  genera gli “annotation type”, denominati Lookup, finalizzati alla rappresentazione di termini, singoli o in sequenza, che trovano un riscontro nel sistema dei “gazetteer” (dizionari) dei valori tipici/notevoli. PR NE Transducer  contiene le logiche di elaborazione per regole che determinano, sulla base delle precedenti annotazioni di servizio, il riconoscimento delle entità presenti nel documento. Una logica di elaborazione viene espressa attraverso un linguaggio formale (JAPE) che suddivide il processo analisi ed estrazione attraverso diverse fasi (file di estensione .jape) eseguite in sequenza, ciascuna contenente all’interno una serie di regole eseguite secondo una priorità specificata. ANNIE, pur costituendo un esempio assai didattico, è pero costruito sulla lingua inglese. Nel caso di altre lingue, anche mantenendo le medesime logiche di 12
  • 13. ing. Roberto Gallerani elaborazione del plugin base, sarebbero necessarie delle modifiche come riassunto nella simbologia della figura seguente. In particolare il “PR Tokenizer” potrebbe dover ad esempio essere adeguato nelle regole che identificano particolari forme di punteggiatura o abbreviazione tipiche dell’italiano. Il “PR Gazetteer” certamente dovrebbe essere completatamente rivisitato nei valori riportati sui glossari aggiungendo o sostituendo le traduzioni relative alla lingua italiana. Il PR “POS Tagger” dovrebbe essere completamente sostituito per generare annotazioni di servizio relative alla grammatica italiana. Un esempio A titolo di esempio didattico elementare, per riassumere, vediamo una rivisitazione di ANNIE, tra le tante possibili. Si consideri la pipeline ANNIE in cui i nomi dei PR sono del tutto arbitrari e, in ogni caso, personalizzabili: 13
  • 14. ing. Roberto Gallerani Il PR “Tokeniser” non è stato modificato in quanto il processo di “tokenizzazione” che riconosce e annota “word” (parole), “number” (numeri) e “punctuation” (simboli di punteggiatura) viene considerato adeguato anche per le regole di scrittura italiana. Allo stesso modo il PR “Sentecnce splitter”, che annota separatamente le frasi, non è stato modificato, in quanto le regole di identificazione di una frase, attraverso la punteggiatura, sono considerate valide anche per l’italiano. Il PR “GLOSSARY-GAZETTERR” deve essere invece rivisitato nei contenuti dei relativi glossari di supporto. Parlando nella fattispecie di persone fisiche e persone giuridiche (organizzazioni) potranno essere modificati o aggiunti una serie di glossari relativi ad esempio ai nomi di persona maschili e femminili, ai titoli di studio (dott., ing., ecc) o, separatamente, alle formule di riferimento a persone fisiche o giuridiche (sig., sig.ra, srl, spa, ecc) ed altre informazioni utili alle regole applicate successivamente dalle grammatiche JAPE del PR “JAPEPLUS-NE-TRANSDUCER”. Il PR “MORPH-IT-GAZETTEER” rappresenta invece un semplice esempio per effettuare un “POS tagging” per l’annotazione delle caratteristiche morfologico- lessicali di base, in sostituzione del PR “POS Tagger” standard di ANNIE. Senza alcuna modifica nel codice JAVA di elaborazione standard del PR base di ANNIE, si agisce introducendo un glossario contenente un dizionario morfologico- lessicale valido per la lingua italiana. Nel caso dell’esempio è utilizzato MORPH-IT di uso libero e sviluppato da Marco Baroni and Eros Zanchetta. Il glossario riporta su campi distinti le diverse forme e, per ciascuna, il “lemma” e le caratteristiche morfologiche cameriere~lemma=cameriera~morfologia=NOUN-F:p cameriere~lemma=cameriere~morfologia=NOUN-M:s camerieri~lemma=cameriere~morfologia=NOUN-M:p camerini~lemma=camerino~morfologia=NOUN-M:p camerino~lemma=camerino~morfologia=NOUN-M:s cameristica~lemma=cameristico~morfologia=ADJ:pos+f+s cameristiche~lemma=cameristico~morfologia=ADJ:pos+f+p cameristici~lemma=cameristico~morfologia=ADJ:pos+m+p cameristicissima~lemma=cameristico~morfologia=ADJ:sup+f+s cameristicissime~lemma=cameristico~morfologia=ADJ:sup+f+p cameristicissimi~lemma=cameristico~morfologia=ADJ:sup+m+p cameristicissimo~lemma=cameristico~morfologia=ADJ:sup+m+s Il PR “JAPEPLUS-NE-TRANSDUCER” è invece una elaborazione completamente diversa finalizzata al riconoscimento di persone fisiche e persone giuridiche applicato alla lingua italiana, e nelle cui regole JAPE sono tenute in conto ed utilizzate tutte le annotazioni di servizio diverse e aggiuntive, precedentemente menzionate. Effetto del PR “ANNIE Tokeniser” Ciascun elemento (token) viene annotato con un “annotation type” denominato “Token”. La sua denominazione, come quella delle proprietà e dei valori relativi, si ricorda qui senza ripeterlo oltre, che è arbitraria e personalizzabile. 14
  • 15. ing. Roberto Gallerani Ogni riga dell’elenco rappresenta un’annotazione, quindi di tipo “Token”, ed è distinta dalle altre attraverso il suo identificatore “Id”; “Start” ed “End” indicano la posizione del carattere di partenza e di fine dell’annotazione. Ogni annotazione, riferita ad ogni specifico termine riconosciuto, riporta attraverso le proprietà (feature) le relative informazioni di formato. Effetto del PR “GLOSSARY-GAZETTEER” Ciascun elemento (token o sequenza di token) riconosciuto in uno dei glossari specificati viene annotato con un “annotation type” denominato “LookupGlossary”. Tra i vari si hanno:  “Mario”  “Milano”  “Monza” “Vimercate” Ogni annotazione presenta nelle proprietà informazioni realtive alla lingua di riferimento e di classificazione (“majorType” e “minorType”) legate al glossario attraverso cui è stato effettuato il riconoscimento. Effetto del PR “MORPH-IT-GAZETTEER” Ciascun elemento (token) riportato come “forma” nel dizionario morfologico- lessicale, viene annotato come “LookupMorph-it”. 15
  • 16. ing. Roberto Gallerani Per ciascun elemento annotato le proprietà riportano il “lemma” di riferimento e le caratteristiche morfologiche (“morfologia”), qui indicate su di un’unica feature ma che potrebbero essere a loro volta suddivise su proprietà diverse, allo scopo di agevolare la stesura delle successive regole di riconoscimento delle entità. Naturalmente l’esecuzione del “POS Tagging” attraverso l’impiego di un PR Gazetteer non è l’unica tecnica e, in molti casi, nemmeno la più indicata. Esistono in ambito di ricerca e come “open source” diversi strumenti di natura statistica i quali, attraverso un processo di apprendimento curato da “esperti del dominio linguistico” in esame, permettono di generare degli artefatti poi reimpiegabili dalla piattaforma GATE per la generazione di annotazioni a questo scopo. A titolo di puro esempio si menziona, tra i diversi, TREETAGGER disponibile anche con un kit di artefatti già predisposto per un sottoinsieme della lingua italiana e facilmente integrabile in una pipeline GATE ricorrendo alla documentazione tecnica d’uso della piattaforma GATE. Naturalmente in un ambito applicativo reale la determinazione del vocabolario linguistico pertinente al “dominio” e l’esecuzione delle operazioni di training costituiscono parte integrante ed essenziale per un buon risultato del “POS tagging”. Questa attività richiede competenze di team di carattere linguistico, l’esperienza del dominio di interesse e quelle IT relative alla piattaforma tecnologica utilizzata. Effetto del PR “JAPEPLUS-NE-TRANSDUCER” L’esecuzione del processo, nella sequenza della pipeline, può pertanto utilizzare le annotazioni di servizio prodotte sin qui. A questo tipo di processo è associabile un complesso di grammatiche di regole in linguaggio JAPE, suddivise in diversi file di estensione “.jape” e, a loro volta, eseguite in una sequenza indicata in un apposito file di descrizione della “sequenza multifase”. Poiché obiettivo dell’esempio è identificare in questo passo le entità relative a persone fisiche e giuridiche, il risultato potrà essere del tipo: 16
  • 17. ing. Roberto Gallerani In cui ad esempio la grammatica riconosce la persona giuridica “VORTEX” attraverso un “lemma” “società” attribuendo alla proprietà “denominazione” il valore del testo ricoperto dalla corrispondente annotazione. Nel caso della persona fisica: La grammatica di esempio applicata, oltre a riconoscere ed annotare “Mario Rossi” come persona fisica, si spinge oltre nel determinare alcune informazioni derivanti dal riconoscimento di relazioni che si traducono nell’assegnazione del valore delle proprietà “Data di nascita” e “Luogo di nascita”. Nell’esempio didattico non vi è alcun livello di “analisi sintattica”. Le uniche informazioni disponibili di carattere grammaticale sono quelle di tipo morfologico e lessicale. Le regole orientate al NER (Named Entity Recognition) del PR “JAPEPLUS-NE-TRANSDUCER” risulteranno quindi più limitate e “povere” rispetto al caso in cui fosse stato precedentemente eseguito anche un PR di “analisi sintattica” che abbia prodotto opportune annotazioni atte alla rappresentazione a più alto livello della struttura delle frasi. Considerazioni generali nell’approccio “ruled based” E’ evidente che l’organizzazione di glossari e grammatiche di regole è strettamente correlata, oltre che alla lingua e ai formati di codifica, anche al contesto di applicazione (“dominio”), rispetto al quale particolari terminologie, sigle, forme espressive e significati possono comportare rilevanti ed essenziali specializzazioni nelle diverse fasi del processo di elaborazione. L’utilizzo di glossari e grammatiche di regole non deve far pensare a GATE come ad un mero “motore di pattern matching testuale”, in cui il riconoscimento sia fondato sulla semplice rilevazione di sequenze di termini, in prossimità o meno tra loro. Il valore è intrinsecamente espresso dalla capacità delle regole di saper utilizzare propriamente tutte le informazioni disponibili (dei glossari, morfologiche, lessicali, sintattiche) in modo da interpretare il linguaggio e le informazioni contenute in espressioni altamente variabili da brano a brano e da documento e documento. Nel constatare quanto ciò sia ancora molto lontano da una reale comprensione semantica delle parole e di una frase, tale approccio può comunque costituire un enorme passo avanti in diversi campi di applicazione. 17
  • 18. ing. Roberto Gallerani Sviluppare una pipeline sulla piattaforma GATE, attraverso GATE Developer, significa, in estrema sintesi, comporre in funzione degli obiettivi e del tipo di elaborazione necessaria un insieme di PR selezionati tra quelli disponibili tra i plugin, e revisionare o realizzare i contenuti specifici di ognuno di essi. In un progetto applicativo reale potrà poi anche essere necessario, per esigenze specifiche, realizzare in linguaggio JAVA anche dei propri template di processo, seguendo gli standard e le indicazioni del framework GATE Embedded. Tutte le annotazioni generate possono agevolmente essere registrate su DB o file esterni per essere poi rielaborate e ogni generica pipeline può essere eseguita da un’applicazione esterna JAVA attraverso l’applicazione del framework GATE Embedded. Per l’impiego su altre piattaforme e linguaggi di sviluppo, le classi JAVA generate dovrebbero prima essere incapsulate attraverso dei “wrapper” per consentirne l’impiego nel diverso ambiente. Aspetti di progettazione “rule-based” La progettazione e la realizzazione di un sistema di grammatiche JAPE deve prevedere un’organizzazione modulare e condizionale per l’impiego di glossari, grammatiche e pipeline che sappia gestire:  differenti livelli di profondità di IE;  riuso di grammatiche elementari;  utilizzo in diverse modalità dei glossari esistenti (in funzione del livello di profondità o della tipologia dei documenti). Una pipeline Pi è una sequenza di PR, {PR1, PR2, …, PRn} applicata a un set (corpus) di documenti, al limite anche uno solo. Un PRi generico di una pipeline può essere sempre eseguito in modo incondizionato oppure in modo condizionato al verificarsi di una specifica condizione. Un progetto applicativo potrà prevedere, in generale, la presenza di diverse pipeline per diverse esigenze di IE. Tuttavia il progetto deve garantire che esse possano comunque condividere, attraverso i relativi PR, parti in comune: glossari, grammatiche jape, script groovy ecc. secondo logiche modulari. Nel progetto si deve inoltre tener conto dei seguenti vincoli:  la “condizionalità” di un PR di una pipeline è solo “binaria”: ESEGUI/NON ESEGUI;  le regole di una grammatica jape determinano un’annotazione non solo sulla base della loro priorità ma anche, e primariamente, sulla base dell’assunzione, nel caso di regole che scattano su sequenze di token in intersezione tra loro, della scelta della sequenza con la maggior ampiezza di copertura. Per una generica pipeline Pi i PR che la compongono vengono pertanto definiti, laddove necessario, attraverso la forma condizionale. Per un generico tipo di PR la “condizionalità” consente di impostare una pipeline basata su sequenze multiple di PR, dello stesso tipo e non, eseguibili nella corretta sequenza attraverso l’impostazione di parametri di esecuzione, valorizzabili manualmente in GATE Developer (durante la fase di realizzazione e 18
  • 19. ing. Roberto Gallerani test) oppure da un’applicazione JAVA attraverso le API del framework GATE Embedded. Ad esempio: PR Tokeniser Diversi PR per diversi insiemi di regole di identificazione e annotazione dei token. Uno solo di essi alla volta potrà essere impiegato. PR sentence splitter Diversi PR per diversi insiemi di grammatiche jape e gazetteer associati. Uno solo di essi alla volta potrà essere impiegato. PR lookup glossary (ANNIE gazetteer, HASH Gazetteer, ONTO Gazetteer, ….) Diversi PR corrispondenti a diversi insiemi di glossari, ciascuno di essi in grado, in funzione degli scopi, di concorrere a integrare/estendere il medesimo annotation type oppure per creare un distinto annotation type di lookup. PR Transducer (grammatiche JAPE) Diversi PR per diverse sequenze multifase di grammatiche, ciascuna con il proprio file main.jape di definizione della struttura multifase, per generare annotation type definitivi o di servizio ad uso di eventuali PR Transducer successivi. PR GROOVY Diversi PR per diverse esigenze di pre/post elaborazione dei sorgenti, ciascuna con il proprio corpo di elaborazione .groovy. A titolo esemplificativo, in un caso ipotetico in cui si dovessero solo trattare istanze dell’entità ORGANIZZAZIONE (nell’esempio denominata SG) e supponendo di voler gestire il salvataggio di file XML annotati e registrazione su DB MySQL direttamente dalla pipeline: APP-SG-SAMPLE PR Groovy-SetFeatureForWorkflow (Run1=true/false) PR Tokeniser-DefaultTokeniser (Run2=false/false) PR Tokeniser-AlternateTokeniser (Run3=true/false) PR Sentence splitter (Run4=true/false) PR Glossary-Lookup-SG (Run5=true/false) PR Glossary MORPH-IT (Run6=true/false) PR Transducer-SGLIVELLO 1 (solo denominazioni) (Run7=true/false) PR Transducer-SGLIVELLO 2 (solo tipologie attività per lemma notevoli) (Run8=false/false) PR Transducer-SGR (soluzioneAmbiguitaL1 (Run9=true/false) PR Transducer-SGR (soluzioneAmbiguitaL2 (Run10=true/false) PR Groovy-StoreXML (Run11=true/false) PR Groovy-SaveAnnotationOnDB (Run12=true/false) Nell’esecuzione da GATE Developer a LIVELLO 1 con generazione di XML e senza registrazione su DB MySQL: PR Groovy-SetFeatureForWorkflow (Run1=true valorizzato nei runtime parameters del PR) Pone a true : Run2, Run4, Run5, Run6, Run7, Run9, Run11 Pone a false : Run3, Run8, Run10, Run12 19
  • 20. ing. Roberto Gallerani Nell’esecuzione da APP JAVA a LIVELLO 1 con generazione di XML e senza registrazione su DB MySQL: Valorizzando i parametri “Run” direttamente come feature a livello documento: Pone Run1=false (per non eseguire il setting contenuto nel PR groovy) Pone a true : Run2, Run4, Run5, Run6, Run7, Run9, Run11 Pone a false : Run3, Run8, Run10, Run12 Approccio “machine learning” Nella piattaforma GATE sono disponibili diversi plugin per affrontare aspetti di NLP e IE attraverso l’approccio “machine learning”. Questa tecnica si bassa essenzialmente su metodi di natura statistica secondo l’applicazione di diversi algoritmi. Schematicamente qualsiasi approccio “machine learning” è comunque basato sui seguenti passi:  annotazione manuale di un campione documentale relativo al dominio interessato, sufficientemente numeroso e adeguatamente rappresentativo, su cui indicare gli elementi di interesse da riconoscere  configurazione dei criteri di analisi del campione documentale annotato in relazione alle caratteristiche e alle proprietà degli elementi annotati e di quelli in prossimità  ciclo di applicazione del campione documentale annotato e del file di configurazione al “motore” di analisi in modalità evaluation, al fine di valutare l’attendibilità e la qualità dei risultati statistici ottenibili, ripetendo le operazioni fino ad ottenere il miglior risultato possibile  applicazione del campione documentale annotato e del file di configurazione finali al motore di analisi in modalità training Il motore produrrà una serie di artefatti (essenzialmente matrici di rappresentazione statistica delle condizioni e degli elementi informativi che portano al risultato desiderato) che costituiscono il modello statistico desunto dal motore dai dati di addestramento.  Il modello statistico generato potrà essere applicato dal motore di analisi a documenti diversi dal campione operando in modalità application Poiché la complessità dell’argomento non consente, in poche pagine, una trattazione adeguata nel seguito viene fornita una breve trattazione per esempi basata sull’impiego del plugin “Batch Learning Plugin”, utilizzato secondo l’applicazione degli algoritmi di SVM (Support Vector Machine). A titolo didattico si supponga di voler approntare il processo di riconoscimento NER (Named Entity Recognition) di persone fisiche mediante la tecnica in esame. Annotazione manuale di un campione documentale 20
  • 21. ing. Roberto Gallerani Ciascuno dei documenti del campione dovrà essere opportunamente annotato indicando le istanze di interesse, nel nostro caso indicate attraverso il nome di entità “SoggettoFisico”. Configurazione dei criteri di analisi del campione Il file di configurazione del motore di analisi oltre a prevedere una serie di parametri relativi a:  algoritmo impiegato (nel nostro caso SVM)  metodo especifiche opzioni tecniche di esecuzione dell’algoritmo necessita dell’indicazione degli attributi che entrano in gioco nel processo di elaborazione statistica. Se ad esempio le annotazioni di riferimento si volessero considerare in relazione alle caratteristiche ed alle proprietà dei token dell’annotazione e di quelli immediatamente in prossimità si potrebbero specificare come attributi di analisi: Tipo annotazione Caratteristiche espresso dal valore della feature Intervallo di prossimità Token Orth: l’essere maiuscolo l’iniziale, interamente maiuscolo, tutto minuscolo [-1,1] Token Kind: L’essere un numero, una parola o un simbolo di punteggiatura [-2,2] Token String: Il valore della stringa del token [-3,3] LookupGlossary majorType: tipologia del glossario [-3,3] LookupGlossary minorType: sottotipologia del glossario [-3,3] LookupMorphIt Lemma: Lemma della forma relativa alla stringa del token [-3,3] LookupMorphIt Morfologia: [-3,3] 21
  • 22. ing. Roberto Gallerani Morfologia della forma relative alla stringa del token Attraverso la configurazione il motore di analisi calcolerà una distribuzione statistica che metta in relazione, o meglio in separazione, gli elementi annotati tenendo in considerazione le proprietà indicate nella tabella precedente per ogni token coinvolto dall’analisi e con un livello di prossimità, tra i vari token e i pattern di interesse, specificato per ogni attributo di analisi. Il procedimento è alquanto complesso da descrivere in poche parole e per l’approfondimento degli algoritmi alla base delle SVM si consiglia di effettuare approfondimenti sulla numerosa documentazione scientifica disponibile sul web. Analisi in modalità evaluation Il campione documentale annotato e la configurazione sono applicati al motore di analisi in modalità evaluation. Tipicamente, ma è configurabile anche in modo diverso, il motore procede in N passi (valore configurabile) suddividendo i documenti del campione in N raggruppamenti distinti su ciascuno dei quali calcolare il modello statistico per poi riapplicarlo ai restanti documenti al di fuori del raggruppamento corrente e calcolare i valori di precisione e qualità riscontrati su ogni passo. Al termine le misure rilevate ad ogni passo sono rielaborate per determinare la distribuzione media dei risultati. Tutte le rilevazioni ed i risultati della fase di evaluation vengono infine presentati all’utente perché possa procedere con gli eventuali affinamenti. Applicazione del modello ad un insieme diverso di documenti Il modello statistico determinato viene applicato ad un insieme di documenti, ovviamente diverso da quello campione, determinando come risultato un’annotazione per ogni sequenza di token rispondente alla distribuzione. Ogni riconoscimento è inoltre caratterizzato dall’indicazione una probabilità di buon riconoscimento. 22
  • 23. ing. Roberto Gallerani Considerazioni generali nell’approccio “machine learning” Con il “machine learning” prevale l’impegno di addestramento e verifica finalizzato al training finale del motore di analisi. Nel caso “rule based” l’impegno è quello di disegnare un insieme d glossari e grammatiche di regole in grado di effettuare l’anali e i riconoscimenti richiesti. In entrambi i casi è richiesto un team caratterizzato da un equilibrato mix di competenze ed esperienze che spaziano dal campo linguistico, alla conoscenza del dominio sino alla padronanza degli strumenti tecnologici. Va infine osservato che gli approcci “rule based” e “machine learning” non sono necessariamente da considerare mutuamente esclusivi. A seconda delle esigenze e delle circostanze essi possono essere combinati determinando il miglior risultato possibile. L’approccio e il metodo Come in ogni progetto IT è assolutamente necessario definire lo “scenario d’uso” dell’applicazione. [DSU] - Scenario d’uso Destinatari Esigenze Aspettative (obiettivi) Risultati (misura dei risultati  metriche di misura) Funzionalità Casi d’uso Criteri e livelli di accessibilità e impiego in relazione alle diverse esigenze dello scenario Sorgenti documentali/informative non strutturate da trattare (caratteristiche, formati, ubicazione, reperibilità, ecc) A seconda dello scenario i diversi aspetti coinvolti potranno differire ampiamente tra loro, variando gli scopi di impiego e, appunto, esigenze e obiettivi che si riflettono sull’equilibrio realizzativo dei processi di “information extraction”. Le stesse sorgenti non strutturate da elaborare potrebbero essere anche ampiamente diverse, arrivando, in taluni scenari, a coinvolgere oltre a documenti anche mail, pagine web ecc., con rilevanti, o quantomeno differenti, caratteristiche di espressione linguistica dei contenuti. Delineato, analizzato e documentato lo scenario d’uso di interesse si perverrà alla definizione:  del contesto linguistico (italiano, inglese, ecc.)  del dominio di applicazione recante terminologie, forme espressive e aspetti semantici del contesto, da “dominare” pienamente attraverso le competenze degli “esperti di dominio”. 23
  • 24. ing. Roberto Gallerani Importante è predefinire le metriche di misura dei risultati, in termini di precisione e qualità del risultato dei processi di annotazione automatica dai quali effettuare l’estrazione di informazioni, come ad esempio quelli già previsti sulla piattaforma GATE. Sulla base dello scenario d’uso individuato e descritto si potrà procedere con i passi seguenti. [ERP] - Individuazione entità, proprietà e relazioni L’analisi deve portare alla costruzione e alla documentazione dell’ontologia completa del dominio di interesse per lo scenario, articolata in classi, sottoclassi, proprietà e relazioni e, infine, alla valorizzazione delle istanze principali in relazione al contesto. Non meno importante, in questa fase, la verifica di una corretta identificazione e denominazione delle entità informative individuate in relazione al dominio ed alle pratiche di impiego e di rappresentazione dei destinatari d’uso. [PBD] - Progettazione della base di dati Il disegno della base dati, prima concettuale e poi logico-fisico, determinerà, in funzione delle esigenze funzionali e degli scopi della soluzione, le strutture dati necessarie per il miglior utilizzo delle informazioni estraibili attraverso i processi di IE. In funzione dello scenario la base dati potrà essere di tipo relazionale, NoSQL o mista, e ciò comporterà approcci e forme di rappresentazione differenti ma sicuramente tutte ruotanti intorno al dominio di interesse espresso dalle ontologie e in funzione delle esigenze tecnologiche IT impiegate per il soddisfacimento dei requisiti dell’applicazione. [PIE] - Progettazione della base di IE Il punto di partenza è costituito dai seguenti elementi:  Sorgenti non strutturate individuate in [DSU]  Ontologie definite in [ERP]  Base di dati disegnata in [PBD]  Esigenze funzionali definite in [DSU]  Gradualità dell’implementazione funzionale dell’applicazione sulla base di quanto rilevato in [DSU] ed economicamente sostenibile I principali compiti di questa fase sono riassumibili come:  Analisi delle sorgenti non strutturate o Formati di interesse, tipologie di documenti 24
  • 25. ing. Roberto Gallerani o Espressioni linguistiche di riferimento (operando in approccio “rule-based” ciò risulta necessario per la determinazione e l’impiego di glossari, elementi morfologico-lessicali e sintattici) o Effetto dell’applicazione di eventuali diversi livelli di analisi e interpretazione delle sorgenti in funzione della loro tipologia e/o del grado di dettaglio richiesto/ottenibile  Individuazione dell’impiego di eventuali forme di “machine learning” propedeutiche o di supporto alle grammatiche “rule-based”.  Progettazione delle modalità e delle sequenze di training per le eventuali parti di “machine learning”.  Progettazione delle pipeline (sequenze di processi) di IE per la generazione delle annotazioni strutturate in relazione alle esigenze funzionali dell’applicazione Data la generale complessità nell’affrontare e rappresentare i termini di interesse per i processi IE, in sintonia con i criteri di gradualità di crescita nel tempo dell’applicazione, potrebbero essere individuati attraverso l’ontologia una serie di “sotto-domini” da affrontare successivamente nel tempo secondo una roadmap di evoluzione dell’applicazione. [PAPP] Progettazione dell’applicazione di impiego dei risultati di IE Il punto di partenza è costituito dai seguenti elementi:  Ontologie definite in [ERP]  Risultati di [PIE]  Base di dati disegnata in [PBD]  Esigenze funzionali definite in [DSU]  Gradualità dell’implementazione funzionale dell’applicazione sulla base di quanto rilevato in [DSU] ed economicamente sostenibile I principali compiti di questa fase sono riassumibili come:  progettazione del sistema di schedulazione e gestione dell’elaborazione delle pipeline di IE  progettazione dell’integrazione dei risultati di IE alla base dati (relazionale e NoSql)  progettazione delle funzioni applicative estese/aggiunte in relazione all’utilizzo dei dati estratti da IE e disponibili sulla base dati  progettazione della gestione (alimentazione, manutenzione, monitoraggio, controllo) dei glossari/dizionari di supporto. 25
  • 26. ing. Roberto Gallerani Altri articoli o riferimenti dell’autore: L'innovazione sostenibile (e-book) http://www.gallerani.it/wordpress/wp-content/uploads/2011/01/E-book- RGallerani-Innovazione-sostenibile.pdf Fiducia e idee fanno impresa e creano rete, opportunità e valore http://www.gallerani.it/wordpress/?p=718 PMI: fare rete è una necessità non rinviabile http://www.gallerani.it/wordpress/?p=694 I doveri (di fronte a se stesso) del Committente http://www.gallerani.it/wordpress/?p=658 ICT e organizzazione: innovazione flessibile, graduale ed economica http://www.gallerani.it/wordpress/?p=611 Idea management, creatività, innovazione e invenzione http://www.gallerani.it/wordpress/?p=562 Il futuro (prossimo): dai social media alla collaborazione globale http://www.gallerani.it/wordpress/?p=547 26
  • 27. ing. Roberto Gallerani Cloud computing: luci e ombre http://www.gallerani.it/wordpress/?p=540 Social CRM: social networks e CRM http://www.gallerani.it/wordpress/?p=473 “Collaboration Tools”: l’unione fa la forza http://www.gallerani.it/wordpress/?p=330 Innovazione flessibile e graduale http://www.gallerani.it/sito/innovare-si-ma-con-flessibilita-gradualita-ed-alle- migliori-condizioni/ Idea Management & Project Management: connubio dell’innovazione http://www.gallerani.it/wordpress/?p=1390 27
  • 28. ing. Roberto Gallerani 28 Quaderni 17 17 DICEMBRE 2015 Iscrizione all'Albo degli Ingegneri della provincia di Bologna, n. 4421-A Email: roberto.gallerani@ordingbo.it - Mobile: +39 339 5003435 - http://www.gallerani.it Via Berlinguer n. 1 - 40024 Castel San Pietro Terme - BO ing. Roberto Gallerani a partire dal 1984, nella PMI, ha maturato esperienze nella conduzione di attività nelle seguenti aree: Esame delle esigenze, valutazione, selezione, avviamento di soluzioni:  Applicazioni di “information extraction” basate sull’elaborazione del linguaggio naturale (NLP)  Gestione elettronica dei documenti  Fattura elettronica e conservazione sostitutiva  Acquisizione dei documenti cartacei con riconoscimento del tipo di documento ed estrazione automatica delle informazioni  Enterprise 2.0: strumenti per la collaborazione, l' "Idea Management" e il “Project Management”  BPM: Business Process Management (workflow e processi assistiti di trattamento dei documenti)  CRM: Customer Relationship Management  Integrazione di ERP e CRM con sistemi di gestione documentale  CMS: Content Management Systems per la gestione di contenuti/portali aziendali  Sistemi informativi tecnici CAD 2D/3D, PDM/PLM con integrazione ai componenti di produzione, nel settore manifatturiero meccanico Esame delle esigenze, valutazione e individuazione delle soluzioni hardware e software per l’ “adaptive enterprise“ e la “business continuity”:  Architetture di elaborazione in cluster  Virtualizzazione e consolidamento  Storage Area Network, Network Attached Storage, Tape Libraries e backup  Sistemi di monitoraggio di reti di comunicazione ed elaborazione  Sicurezza e sistemi di sicurezza a livello di comunicazioni ed applicativi  Collocazione in “data center” di sistemi ed Application Service Provisioning  Analisi dei rischi legati alla stilazione del DPS Studio, progettazione e direzione dello sviluppo di sistemi:  Electronic Document Management  Product Data Management / Product Lifecycle Management  Gestione delle funzioni pre-vendita e post-vendita nel settore manifatturiero meccanico  Database di sintesi per il supporto alle decisioni in area CRM  Gestione dei processi di formazione aziendali Progetti speciali  Analisi e progettazione di sistemi di “information extraction” basati sull’elaborazione del linguaggio naturale (NLP): ontologie, glossari e grammatiche in ambito “rule based”, pattern e sequenze di apprendimento per il “machine learning”, metodi e tecniche per la valutazione dei risultati  Gestione del progetto software di acquisizione e archiviazione dei dati di esercizio, l'analisi statistica ed il controllo di macchine per il confezionamento di prodotti nel settore farmaceutico.  Gestione del progetto software di sistemi di supporto alla progettazione ed alla documentazione di componenti per l'edilizia (dimensionamento strutturale dei componenti, generazione automatica dei disegni esecutivi 2D e della relazione per il Genio Civile)  Analisi e progettazione del sistema di pianificazione della produzione di una primaria azienda manifatturiera del settore tessile