Sei sulla pagina 1di 28

17

APPUNTI
DIGITALI

17 dicembre 2015

Quaderni

Natural Language Processing


(NLP) e Information Extractiont
h
(IE)
Contenuti:
Le esigenze
Alcuni campi di applicazione
Cosa significa
Gli strumenti
Utilizzo della piattaforma GATE
Lapproccio e il metodo

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, lanalisi e la sintesi in informazioni, essenziali per ragionare, fare
ipotesi e prendere decisioni. Per contro luso di internet e del web mette in
evidenza anche lenorme quantit di dati e informazioni presenti in miliardi di
pagine e documenti disseminati in ogni parte del mondo. Inoltre anche
allinterno 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 unulteriore
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 tuttaltro che strutturate ed atte a consentire una loro
identificazione, sintesi e catalogazione. Luso dei motori di ricerca sul web o di
un sistema di gestione documentale evidenzia il limite accennato. Anche
limpiego dei pi sofisticati motori, come ad esempio Google, a fronte di una
ricerca che vada oltre allindividuazione 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
unespressione 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 dallinsieme 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

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 allessere 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 allelaborazione 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 desercizio; 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 landamento 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 nellambiente in cui opera, lanalisi 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 dellessere 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 luso 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 dellorganizzazione.

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 dellorganizzazione 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 allanalisi 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 sullanalisi e la comprensione di
documenti discorsivi in linguaggio naturale in grado di estendere
lidentificazione, la raccolta e la catalogazione di dati e informazioni utili a
migliorare la gestione dellorganizzazione.
Verbali di inventario in ambito civilistico
Il processo verbale dinventario contiene:

la descrizione degli immobili, mediante lindicazione della loro natura, della loro
situazione, dei loro conni e dei numeri del catasto e delle mappe censuarie;
la descrizione e la stima dei mobili, con la specicazione del peso o del marchio
per gli oggetti doro e dargento;
lindicazione della quantit e specie delle monete per il danaro contante;
lindicazione delle altre attivit e passivit;

la descrizione delle carte, scritture e in ne dallufficiale 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 dellordine 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 dellorganizzazione, 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 unapplicazione di information extraction basata
su tecniche di Natural Language Processing, predisposta sul dominio specifico,
in grado di supportare e automatizzare in misura diversa lidentificazione 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) sintende un insieme di
tecniche e strumenti dedicati all'analisi e allelaborazione 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;

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 lanalisi
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 lanalisi di un significativo numero di esempi di testi
(corpora), tratti dal dominio applicativo dinteresse. 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, lindividuazione di determinate forme espressive
o lassegnazione di un significato ad una struttura sintattica, precedentemente
determinata, possono essere pi agevolmente determinati attraverso la scrittura
di regole di interpretazione delle combinazioni morfologico-lesiccaligrammaticali e di struttura mediate dallimpiego di opportuni glossari e
dizionari.
L Information Extraction (IE) ha come obiettivo lestrazione automatica di
informazioni strutturate da documenti non strutturati o semi-strutturati. Esempio
tipico riguarda lannotazione di documenti multimediali. Va detto che il
problema intrinsecamente complesso e pertanto lapproccio 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 linsieme 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 unapplicazione 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 delleconomia. 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 questultima 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
lattribuzione 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 unulteriore relazione di impiego in tra
MARIO ROSSI e lorganizzazione MINISTERO DELLECONOMIA la quale
potrebbe essere attribuita come valore ad una propriet lavora in della
persona fisica.
Questo semplice esempio dimostra come lapplicazione 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 delleconomia ha maturato esperienze significative
per lincarico. 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, linteroperabilit 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-vsOpenNLP

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 lannotazione di documenti che ha avuto negli
anni una rilevante espansione nellarchitettura 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 dapprendimento 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 lutilizzo
da altri linguaggi, quali C#, F#, PERL, Pyton, Ruby, Javascript.
Il framework offerto con unampia 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.

Nellambito della piattaforma di Stanford, di rilievo anche Protg per la


gestione di ontologie OWL nel dominio di interesse, come descrizione formale di
classi, propriet e relazioni.

UIMA
UIMA (Unstructured
Information Management
Architecture) lunico
insieme di strumenti per
content analytics che stato
riconosciuto come standard
OASIS (Organization for the
Advancement of Structured
Information Standards) nel
2009. UIMA unarchitettura
software per lo sviluppo di
strumenti per lanalisi multimodale di informazioni non
strutturate e la loro
integrazione con tecnologie
di ricerca realizzate da IBM.

Il codice sorgente per unimplementazione 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 lestrazione 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 lincapsulamento 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 unimplementazione 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 unampia 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 sullimpiego del workflow engine
JBPM.

9
ing. Roberto Gallerani

GATE Embedded: un framework e una libreria di componenti per lintegrazione e


lutilizzo da unapplicazione esterna dei servizi e dei processi realizzati attraverso GATE
Developer
Una soluzione cloud per lelaborazione in hosting di processi di NLP/IE su larga
scala (GATE Cloud.net)
GATE Mmir: (Multi-paradigm Information Management Index and Repository)
utilizzabile per lindicizzazione 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.

Nellambito 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 unontologia, oltre a rappresentare la struttura
classi, propriet e relazioni del dominio di interesse, permette di estendere,
nellapproccio rule based, le capacit di analisi attraverso il principio
dellereditariet 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 Oce (some formats)

OpenOce (some formats)


UIMA CAS XML format
CoNLL/IOB

La piattaforma si presta ottimamente per realizzazioni sia rule-based che


machine learning.
Uninteressante 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. LUniversit 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 dallapplicazione ANNIE, disponibile
come plugin insieme agli altri strumenti della piattaforma. ANNIE consente
lannotazione, tra laltro, delle entit: persone, organizzazioni, localit, date,
ecc.
Lannotazione 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 nellambito dellapplicazione 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.
lannotazione si pu presentare come:

Mario Rossi rappresenta, attraverso nome e cognome, una persona fisica e


VORTEX, attraverso la sua denominazione, una persona giuridica.
Nellesempio lannotazione Mario Rossi potrebbe avere come annotation type
persona e come feature nome=Mario e cognome=Rossi
Unannotazione viene riportata in un documento elaborato sottoforma di tag
XML utili anche ad una rappresentazione grafica interattiva in unapplicazione 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 nellapproccio 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 allinterno 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 dellitaliano. 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 litaliano.
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 lannotazione delle caratteristiche morfologicolessicali 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 morfologicolessicale valido per la lingua italiana.
Nel caso dellesempio 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 dellelenco rappresenta unannotazione, 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 dellannotazione. 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 morfologicolessicale, 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 ununica 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 lesecuzione del POS Tagging attraverso limpiego di un PR
Gazetteer non lunica 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 duso della piattaforma GATE.
Naturalmente in un ambito applicativo reale la determinazione del vocabolario
linguistico pertinente al dominio e lesecuzione 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,
lesperienza del dominio di interesse e quelle IT relative alla piattaforma
tecnologica utilizzata.

Effetto del PR JAPEPLUS-NE-TRANSDUCER


Lesecuzione 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 dellesempio 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 nellassegnazione del
valore delle propriet Data di nascita e Luogo di nascita.
Nellesempio 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 nellapproccio ruled based


E evidente che lorganizzazione 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.
Lutilizzo 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 unapplicazione esterna JAVA attraverso lapplicazione del
framework GATE Embedded. Per limpiego su altre piattaforme e linguaggi di
sviluppo, le classi JAVA generate dovrebbero prima essere incapsulate
attraverso dei wrapper per consentirne limpiego nel diverso ambiente.

Aspetti di progettazione rule-based


La progettazione e la realizzazione di un sistema di grammatiche JAPE deve
prevedere unorganizzazione modulare e condizionale per limpiego 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 unannotazione non solo sulla base
della loro priorit ma anche, e primariamente, sulla base dellassunzione, 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 limpostazione di parametri di esecuzione,
valorizzabili manualmente in GATE Developer (durante la fase di realizzazione e

18
ing. Roberto Gallerani

test) oppure da unapplicazione 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 dellentit ORGANIZZAZIONE (nellesempio 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)
Nellesecuzione 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

Nellesecuzione 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 lapproccio machine learning. Questa tecnica si bassa
essenzialmente su metodi di natura statistica secondo lapplicazione 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 lattendibilit 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 dellargomento non consente, in poche pagine, una


trattazione adeguata nel seguito viene fornita una breve trattazione per esempi
basata sullimpiego del plugin Batch Learning Plugin, utilizzato secondo
lapplicazione 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 dellalgoritmo

necessita dellindicazione 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 dellannotazione e di quelli
immediatamente in prossimit si potrebbero specificare come attributi di analisi:
Tipo
annotazione
Token

Token

Token

LookupGlossary
LookupGlossary

LookupMorphIt

LookupMorphIt

Caratteristiche
espresso dal valore
della feature
Orth:
lessere maiuscolo
liniziale, interamente
maiuscolo, tutto
minuscolo
Kind:
Lessere un numero, una
parola o un simbolo di
punteggiatura
String:
Il valore della stringa del
token
majorType:
tipologia del glossario
minorType:
sottotipologia del
glossario
Lemma:
Lemma della forma
relativa alla stringa del
token
Morfologia:

Intervallo di
prossimit
[-1,1]

[-2,2]

[-3,3]

[-3,3]
[-3,3]

[-3,3]

[-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 dallanalisi 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
lapprofondimento 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 allutente 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
unannotazione per ogni sequenza di token rispondente alla distribuzione. Ogni
riconoscimento inoltre caratterizzato dallindicazione una probabilit di buon
riconoscimento.

22
ing. Roberto Gallerani

Considerazioni generali nellapproccio machine learning


Con il machine learning prevale limpegno di addestramento e verifica
finalizzato al training finale del motore di analisi.
Nel caso rule based limpegno quello di disegnare un insieme d glossari e
grammatiche di regole in grado di effettuare lanali 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.

Lapproccio e il metodo
Come in ogni progetto IT assolutamente necessario definire lo scenario duso
dellapplicazione.

[DSU] - Scenario duso


Destinatari
Esigenze
Aspettative (obiettivi)
Risultati (misura dei risultati metriche di misura)
Funzionalit
Casi duso
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 sullequilibrio 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 duso 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 lestrazione di informazioni, come ad esempio quelli gi previsti sulla
piattaforma GATE.
Sulla base dello scenario duso individuato e descritto si potr procedere con i
passi seguenti.

[ERP] - Individuazione entit, propriet e relazioni


Lanalisi deve portare alla costruzione e alla documentazione dellontologia
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 duso.

[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 dellapplicazione.

[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 dellimplementazione funzionale dellapplicazione 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

Espressioni linguistiche di riferimento (operando in approccio rule-based ci


risulta necessario per la determinazione e limpiego di glossari, elementi
morfologico-lessicali e sintattici)

Effetto dellapplicazione di eventuali diversi livelli di analisi e interpretazione delle


sorgenti in funzione della loro tipologia e/o del grado di dettaglio
richiesto/ottenibile

Individuazione dellimpiego 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 dellapplicazione

Data la generale complessit nellaffrontare e rappresentare i termini di interesse


per i processi IE, in sintonia con i criteri di gradualit di crescita nel tempo
dellapplicazione, potrebbero essere individuati attraverso lontologia una serie
di sotto-domini da affrontare successivamente nel tempo secondo una
roadmap di evoluzione dellapplicazione.

[PAPP] Progettazione dellapplicazione 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 dellimplementazione funzionale dellapplicazione 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 dellelaborazione delle pipeline


di IE

progettazione dellintegrazione dei risultati di IE alla base dati (relazionale e NoSql)

progettazione delle funzioni applicative estese/aggiunte in relazione allutilizzo 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 dellautore:


L'innovazione sostenibile (e-book)
http://www.gallerani.it/wordpress/wp-content/uploads/2011/01/E-bookRGallerani-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: lunione 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-allemigliori-condizioni/

Idea Management & Project Management: connubio


dellinnovazione
http://www.gallerani.it/wordpress/?p=1390

27
ing. Roberto Gallerani

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 sullelaborazione 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

Quaderni 17

Analisi e progettazione di sistemi di information extraction basati sullelaborazione 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

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

28
ing. Roberto Gallerani