Carlo
Biagioli - Enrico Francesconi
NIREditor:
un editor specializzato
per la redazione di testi
normativi.
Guida all’uso.
1. Premessa
Negli anni ottanta realizzammo all'IDG Lexedit, un programma per la revisione di testi legislativi.[1] Il controllo riguardava aspetti formali, attraverso il riconoscimento automatico della struttura del testo, il cosiddetto articolato, e di altri aspetti dei testi rilevabili con criteri formali, mediante tecniche di linguistica computazionale (parser). Il profilo sostanziale dei testi veniva solo sfiorato attraverso la ricerca in essi di alcune espressioni (le cosiddette stringhe sospette), che permetteva di fare qualche limitato apprezzamento sullo stile linguistico dei testi stessi.
Già a quel tempo era evidente la necessità di pensare ad un programma che si occupasse anche e soprattutto della formulazione di testi nuovi.[2] Per la progettazione di efficaci sistemi informatici che operassero con qualunque finalità su dati legislativi, sarebbe stato infatti conveniente disporre di testi formulati razionalmente e questo sarebbe stato possibile intervenendo nella fase di formulazione, offrendo al redattore programmi di aiuto al drafting in grado di agevolare la stesura dei testi e soprattutto una loro razionale organizzazione. Si sarebbero potuti introdurre in quella sede anche discreti e opportuni elementi di modellazione, automaticamente estesi anche (e soprattutto) ai relativi documenti elettronici, che sarebbero risultati poi preziosi per il buon funzionamento di sistemi di ricerca delle informazioni operanti su dati legislativi. Sarebbe stata la soluzione più efficace ed economica, in grado di elevare il livello di qualità non solo della documentazione legislativa, ma in qualche misura anche della legislazione stessa.
Oggi tutto questo è scontato e l’adozione di standards comincia ad essere praticata grazie alle nuove tecniche disponibili (XML, metadati) e alle consapevolezze maturate negli ultimi venti anni.
Realizzai poi negli anni novanta un prototipo chiamato Lavagna, da qualcuno Lasagna, molto sperimentale, grezzo. Si trattava di uno studio su un possibile editore per la formulazione di nuovi testi legislativi, basato sulla modellazione degli aspetti sia formali (sintattici) che sostanziali (semantici) dei testi. Avrebbe dovuto consentire al redattore di concentrarsi sugli aspetti contenutistici, piuttosto che ortografici, già in fase di stesura dell’atto.
Incontrò però più scetticismi che incoraggiamenti. Perché? Per varie ragioni. A parte la scarsa predisposizione dei giuristi verso le novità, ritengo che ciò sia derivato da quanto quel programma implicava. Esso era composto da due parti: una descrittiva dei testi legislativi ed una operativa, di assistenza alla loro redazione. Quest’ultimo modulo agevolava la formulazione del testo e controllava che non differisse da quanto previsto nel modulo descrittivo, un pò come oggi operano gli editori XML. Il modulo descrittivo a sua volta conteneva una descrizione degli aspetti formali più generali (profilo superficiale (o sintattico) della struttura (articolato)) e una modellazione degli aspetti sostanziali rilevanti dei testi (profilo profondo (o semantico) della struttura (disposto)). Un vero e proprio standard ante litteram insomma.
Questo era senz’altro il punto critico del programma: infatti le caratteristiche dei testi sono in parte evidenti e ricavabili da quanto dice la tecnica legislativa, in parte inespresse e quindi da individuare e formulare con una attività di studio e modellazione di aspetti pragmatico-semantici rilevanti.
Questo era il punto che suscitava perplessità: i tempi non erano maturi per la proposta. Oggi, con l'avvento di internet, queste difficoltà sono fortemente ridimensionate grazie a XML ed al successo dei linguaggi di descrizione dei documenti e la conseguente diffusione della pratica di descrizione di essi, descrizione sempre più approfondita e sempre più rivolta agli aspetti sostanziali oltreché formali dei documenti, mediante lo strumento dei cd metadati.
Con l’adozione di XML la descrizione ufficiale del testo legislativo è stata autorevolmente realizzata, per iniziativa della PA italiana, dai gruppi nazionali di lavoro DTD, URN e Metadati ed è disponibile ai produttori di norme. Gli standard relativi ai riferimenti e alla descrizione e modellazione della struttura formale (o sintattica) e funzionale (o semantica) delle leggi sono già ufficialmente adottati e potranno essere usati sia per la descrizione dei documenti legislativi in rete, che, naturalmente e con maggior vantaggio, essere impiegati anche in fase di drafting legislativo. Quindi sia per descrivere che per scrivere leggi. Un programma per l’aiuto alla redazione di testi legge può (anzi deve) utilizzarli senza bisogno di riformularli.
Con una sola operazione si potranno predisporre testi e documenti legislativi: un solo redattore garantirà corrispondenza tra testo originale e sua descrizione e annotazione nel documento e soprattutto questi interventi saranno autentici. Il vantaggio di poter concentrare due operazioni così delicate in una sola fase operativa, per giunta fortemente assistita da un software che incorpora e mette a disposizione conoscenze tecnico legislative e dogmatiche, sia relative alla forma che alla sostanza dei testi, mi pare notevole ed evidente: si offrono concrete possibilità al legislatore di poter seguire l’intero processo di produzione e diffusione delle leggi.
Il successo di internet e la decisione recente della PA italiana di trasferirvi i documenti legislativi, ha reso indispensabile la definizione di standard documentali nel linguaggio della rete (XML) e la realizzazione di software per l’effettivo impiego degli standard stessi. Si è così realizzato NIREditor, che qui presentiamo.[3]
Si tratta del primo e basilare modulo di un più complesso software, mirante alla realizzazione di un completo Ambiente di Normazione, che dovrebbe offrire al legislatore il necessario per la redazione degli atti, considerati sia nei loro aspetti formali-sintattici che sostanziali-semantici, e per la ricerca analitica di norme negli atti archiviati.
C.
Biagioli
Alla fine del 2002, nell’ambito del progetto “Norme in Rete” l’ITTIG fu incaricato di realizzare un editor per la produzione di testi normativi secondo gli standard XML-NIR (DTD-NIR) e URN-NIR definiti dal progetto. Se da una parte le principali funzionalità che tale strumento avrebbe dovuto offrire al redattore erano state identificate e ampiamente analizzate in precedenti studi di tecnica legislativa[4], si è trattato in questa occasione di definire le specifiche di progetto e l’architettura software di tale strumento.
Il progetto, nella sua proposta originaria, prevedeva l’adattamento agli standard NIR di un editor XML general-purpose. Tuttavia, l’analisi dello scenario di riferimento nel quale l’editor avrebbe dovuto collocarsi, nonché i tempi che erano stati imposti per la sua realizzazione (11 mesi), hanno condotto ad una scelta diversa che consentisse di rendere disponibile al redattore un editor specializzato per l’implementazione sicura, rapida e amichevole degli standard NIR.
Tale scenario ha avuto come principale riferimento, oltre ai requisiti utente, le DTD-NIR che nella loro articolazione individuano un sottinsieme ampio e complesso di documenti. A causa di tali caratteristiche la redazione di nuovi documenti o la conversione in formato XML-NIR di documenti esistenti, può risultare un’attività assai complessa.
Gli editor XML hanno, per la loro genericità, molte limitazioni riguardo alle funzioni di editing, in particolare quelle specifiche della classe dei documenti normativi, relativamente alla gestione delle partizioni formali e delle URN, nonché all’implementazione delle principali regole di tecnica legislativa.
Tali editor infatti nascono per la gestione di qualunque tipologia di documenti in formato XML, perciò le funzionalità che essi supportano sono necessariamente generiche, prive di qualunque conoscenza dello standard specifico rispetto al quale dovranno operare. Qualunque modifica del documento che utilizzi funzioni generiche viene quindi validata (in senso XML) a posteriori, mediante un opportuno parser XML sulla base di una particolare DTD. La validazione a posteriori può risultare un forte aggravamento del lavoro di redazione, poiché spesso impone in fase di produzione continue revisioni e correzioni al documento, prima del raggiungimento della definitiva validità; tale caratteristica è evidentemente sgradita agli utenti finali.
Nella fase di analisi del progetto sono state prese in considerazione anche altre possibili soluzioni, come l’adattamento di Microsoft Word o di Open Office Writer per l’implementazione di uno specifico standard XML. Tuttavia anche queste soluzioni, soffrendo di limitazioni simili a quelle precedentemente discusse per gli editor XML, sono state abbandonate per ragioni analoghe. Gli utenti hanno senz’altro maggior familiarità con tali ambienti, tuttavia ne richiedono sostanziali adattamenti quando intendono utilizzarli per la produzione di documenti aderenti ad un particolare standard XML. Quanto più ampio e complesso è lo standard da implementare, come lo standard XML-NIR, tanto più ampio sarà l’adattamento che tali strumenti devono subire. Proprio per tali motivi l’utente finirà per utilizzare quasi esclusivamente le funzionalità specifiche che insistono su tale standard, poiché esse forniscono le facilitazioni maggiori alla produzione del documento (es: inserimento partizioni (articolo, comma, …)), inserimento riferimenti esterni e costruzione della corrispondente URN, inserimento riferimenti interni, rinumerazione e aggiornamento dei riferimenti interni, ecc.), mentre tenderanno a trascurare le altre funzionalità generiche, sebbene avanzate. Inoltre la genericità delle funzioni native introduce le limitazioni precedentemente descritte per gli editor XML, determinando la necessità di validazioni a posteriori del documento.
Per tali motivi si è ritenuto più opportuno mettere a disposizione del redattore un ambiente capace di produrre e gestire in maniera amichevole (possibilmente visuale) e sicura documenti XML-NIR nel loro formato nativo, in modo da garantire la validità del documento al termine di ogni operazione e ad ogni stadio della produzione, senza la necessità di alcuna validazione a posteriori. Questo è ovviamente possibile solo con la conoscenza del particolare standard XML cui l’editor sia dedicato.
Perciò NIREditor non è un editor XML, ma un editor visuale per una specifica classe di documenti (quelli identificati dalle DTD NIR). Così come esistono editor specializzati per la produzione di documenti in formato HTML, ovvero XHTML, secondo lo standard definito dalla DTD XHTML, allo stesso modo NIREditor è stato concepito come un editore specializzato per la produzione di documenti normativi secondo lo standard definito dalle DTD NIR.
La complessità e l’ampiezza dell’insieme di documenti descritti dallo standard XML-NIR, ha infine giustificato lo sforzo di realizzazione ex-novo di un editor specifico per la loro produzione.
In ambito europeo NIREditor si colloca sullo stesso piano di simili iniziative, come il progetto MetaLex[5]. Metalex è un sistema di knowledge management per il drafting legislativo che ha l’obiettivo di fornire supporto al redattore mediante un sistema di content management e di supporto alla decisione. Rispetto a Metalex, NIREditor è maggiormente orientato a fornire al redattore strumenti avanzati per il drafting legislativo.
Il progetto NIR (“Norme in Rete”) proposto dal CNIPA in collaborazione con il Ministero della Giustizia ha lo scopo di creare un unico punto di accesso sul Web per la ricerca e il recupero di documenti legislativi, così come un meccanismo che consenta l’inserimento di link stabili fra i documenti, capace di guidare l’utente verso i siti delle autorità che partecipano al progetto.
Per ottenere tali scopi il progetto NIR ha proposto l’utilizzo di XML come standard di rappresentazione dei documenti. In particolare nell’ambito del progetto due specifici gruppi di lavori hanno prodotto altrettanti standard ufficiali:
- uno standard di descrizione dei riferimenti normativi attraverso la tecnica dei nomi uniformi (URN): identificatore unico che consente di descrivere un riferimento normativo in modo stabile, indipendentemente dalla localizzazione sul Web del documento[6];
- uno standard per la descrizione dei testi di legge in XML attraverso 3 DTD (“Base”, “Flessibile”, “Completo”)[7] con vincoli crescenti nella descrizione delle partizioni (profilo formale) e dei metadati generali degli atti e specifici delle norme (profilo funzionale).
Al fine di rendere più agevole l’adozione di tali standard è stato realizzato NIREditor, un editor specializzato per la produzione di testi normativi conformi ai formati standard stabiliti dal progetto NIR, e tale inoltre da implementare le principali norme di tecnica legislativa e prassi di compilazione dei testi di legge.
È stato realizzato il software organico previsto dal progetto, consistente di un ambiente di recupero, formulazione e gestione di testi di legge, secondo gli standards NIR.
A differenza di quanto inizialmente previsto, è stato costruito un nuovo editore Xml, anziché personalizzarne uno preesistente in commercio. Tale decisione, pur onerosa, ha portato notevoli vantaggi in termini di affidabilità, adattamento alle esigenze dell’utenza, anche nel tempo, e qualità delle prestazioni.
Tale scelta ha inoltre consentito di implementare anche funzioni avanzate, esse pure non previste, quali ad esempio la qualificazione automatica delle disposizioni ed ha infine agevolato la soluzione gradita da NIR della esportabilità in ambienti diversi delle varie funzioni realizzate.
L’editore XML nativo, un sistema di redazione per la compilazione dei testi di legge in formato XML- NIR, è stato realizzato in Java ed è completamente integrato con un nucleo di funzioni Java esportabili e utilizzabili in altri editor commerciali che supportino un’interfaccia Java-DOM.
Altro software, col quale l’editore può interagire, è stato nel frattempo realizzato per agevolare il recupero del cosiddetto pregresso, trattandosi evidentemente di un punto cruciale per l’effettivo impiego degli standard.
Si tratta di quattro funzioni particolarmente complesse: due per il riconoscimento degli aspetti formali dei testi e due per gli aspetti sostanziali (semantica). Le funzioni per il riconoscimento formale, molto evolute rispetto alle loro prime versioni degli anni ottanta,[8] garantiscono un recupero veloce e sicuro dei testi, rendendo di fatto superato il problema del pregresso. I margini di errore sembrano trascurabili e sono stati predisposti agili strumenti di correzione.
Il parser di struttura effettua una analisi e un riconoscimento degli elementi strutturali dei testi, con individuazione e marcatura automatica della struttura formale e dell’articolato.
Il parser dei riferimenti effettua una individuazione automatica dei riferimenti esterni, la loro marcatura e l’inserimento della relativa URN.[9]
Poiché gli standard NIR riguardano sia la formulazione dei testi di legge, che la loro annotazione (metadati), varie funzioni sono dedicate, oltre che al semplice inserimento di metadati, al loro riconoscimento automatico nei testi esistenti, con tecniche particolarmente complesse ed innovative. La loro efficacia, comunque apprezzabile, potrà crescere con interventi migliorativi ed eviterà di trovarsi impreparati al diffondersi di tecniche simili nell’imminente semantic web.
Il classificatore delle disposizion[10]i effettua una analisi automatica del contenuto dei commi e una valutazione del loro significato in termini di tipi di disposizioni, in applicazione di quanto stabilito nei metadati analitici previsti dalla DTD NIR completa, a sua volta basata sul modello delle disposizioni sviluppato a partire dagli anni ottanta[11].
L’estrattore degli argomenti effettua un’individuazione ed estrazione automatiche degli argomenti previsti, limitatamente ad alcuni tipi di disposizioni.[12]
A completamento dell’ambiente per il drafting legislativo sono previsti equivalenti automatismi per la progettazione del progetto di legge. Seguirà quindi nel prossimo futuro una nuova componente dell’editore costituita da un software di “planning” del nuovo atto, che comprenderà quattro moduli. Uno per l’inserimento nell’ambiente di redazione dei termini rilevanti, che avranno rango di argomenti, il lessico significativo dell’atto nascente; oppure il loro prelievo da raccolte preesistenti (definizionari, dizionari strutturati, ontologie di dominio). Un secondo permetterà la progettazione grafica della struttura profonda (la c.d. struttura funzionale) del disposto, mediante la selezione dei tipi di disposizioni e la configurazione della loro struttura in forma grafica. Seguiranno la “generazione” guidata dei testi delle singole disposizioni, la loro strutturazione in articolato e la rubricazione o titolazione automatiche delle partizioni, partendo dai metadati analitici dedotti dalle precedenti operazioni di planning.[13]
L’ambiente di videoscrittura realizzato è quindi proprietario e specialistico; gestisce l’applicazione degli standard e anche delle principali regole di tecnica legislativa italiana; agisce con numerosi automatismi, ovunque ciò sia risultato possibile.
Il sistema di redazione realizzato appare confortevole e particolarmente efficace, in quanto specializzato sui testi legislativi. Le modalità di lavoro allestite sono due, come nei migliori ambienti di videoscrittura.
Una modalità di redazione da struttura a testo (top down), con numerosi comandi per inserimento e manipolazione di partizioni. Numerosi anche i comandi per l’inserimento e la gestione dei riferimenti, con vari automatismi come la creazione della URN, o la creazione automatica del rinvio interno mediante puntamento a partizione nell’articolato. La funzione per la numerazione aggiornata delle sequenze delle partizioni e dei rinvii interni automatizza totalmente tutte le operazioni previste ed esenta il redattore da ogni cura.
La modalità di redazione da testo a struttura (bottom up) permette la formulazione libera del testo (bozza) e la costruzione successiva della struttura (articolato), mediante aggregazione automatica dei frammenti di testo piatto in nuove partizioni, con selezione diretta (manuale) o indiretta (via metadati analitici) dei frammenti stessi. Dovrebbe rivelarsi utile nella preparazione dei progetti di legge.
Tra le altre funzioni dell’editore occorre ricordare quelle per l’inserimento diretto dei metadati previsti dalla DTD NIR, che affianca le funzioni di estrazione automatica di essi, e per varie visualizzazioni del testo.
4. Architettura software e specifiche tecniche
L’architettura software di NIREditor è rappresentata da un nucleo di funzioni Java specifiche per specifiche per NIR, integrate nell’ambiente per il drafting legislativo, anch’esso interamente sviluppato in Java. Tale libreria di funzioni può essere integrata in altri editor XML commerciali che supportino una Java API.

Fig. 1 Architettura software di NIREditor e le sue possibili connessioni con altri editor XML.
NIREditor può gestire:
- la struttura superficiale di un testo di legge (profilo formale);
- la struttura profonda di un testo di legge (profilo funzionale);
documenti preesistenti da trasformare secondo gli standard XML-NIR usando funzionalità manuali e automatiche.
NirEditor garantisce la validità del documento (in senso XML) al termine di ogni operazione di modifica della struttura e di editing, poiché esegue solo operazioni valide secondo le DTD NIR. Pertanto, a differenza degli editor XML commerciali, non è necessaria alcuna validazione a posteriori delle modifiche apportate al documento. Il modulo software che consente tale comportamento, inoltre, è stato progettato per essere più generale degli scopi cui è destinato nell’ambito della adesione alle regole definite dalle DTD NIR, poiché tali regole vengono lette e rese interrogabili direttamente dalla DTD utilizzata per la costruzione del documento corrente. Pertanto l’editor può essere facilmente adattato ad eventuali modifiche o estensioni delle attuali DTD, ovvero ad altre DTD che codifichino altri standard di descrizione documentale sui quali eventualmente implementare funzionalità specifiche del nuovo dominio.
Le funzionalità specifiche per lo standard NIR sono state implementate secondo gli attuali standard di accesso alle strutture XML: in particolare il loro sviluppo è basato su interfacce e parser DOM e SAX, nonché sull’utilizzo di XSL per la descrizione degli stili di visualizzazione.
NIREditor consiste di un ambiente di drafting legislativo e interagisce con 4 moduli esterni per la gestione della struttura (profilo formale) di documenti preesistenti, ovvero per la loro trasformazione nel formato XML-NIR (Parser della Struttura e Parser dei Riferimenti), e per la gestione della semantica dei documenti, ovvero per l’applicazione automatica dei metadati analitici (profilo funzionale) relativi a disposizioni e loro argomenti (Classificatore automatico delle disposizioni e Estrattore degli argomenti delle disposizioni). Nel paragrafo 5 sono descritte le principali caratteristiche di tali moduli, mentre nel paragrafo 6 sono illustrate le principali funzioni di drafting dell’ambiente di redazione.

Fig. 2 Moduli software di
NIREditor.
In questo paragrafo sono descritte le caratteristiche principali dei moduli esterni che possono essere integrati in NIREditor e che sono orientati alla conversione nel formato XML-NIR di testi preesistenti e alla qualificazione automatica dei testi secondo gli schemi di metadati stabiliti dal progetto.
6.1. Parser della struttura: riconoscimento automatico e marcatura della struttura formale
Per agevolare recupero e trattamento di testi preesistenti (legacy content), è stato predisposto un parser per il riconoscimento automatico della struttura formale. Il modulo contiene un ambiente di dialogo con l’utente che consente la scelta dei documenti non strutturati di cui riconoscere la struttura formale in accordo con le DTD dello standard NIR. Il parser è capace di convertire in formato XML-NIR testi di legge preesistenti in formato “plain text” (TXT) e HTML.
Alle partizioni individuate viene assegnato il corrispondente ruolo formale in termini dei marcatori XML e il testo viene reso disponibile all’interno dell’editore per ulteriori interventi come la correzione della pre-marcatura, utilizzando tutte le funzionalità di editing previste dall'ambiente di drafting.
6.2. Parser dei Riferimenti: riconoscimento automatico dei rinvii esterni
Tale funzionalità consente il riconoscimento, la descrizione e la marcatura dei riferimenti esterni secondo gli standard URN e DTD NIR, sia in documenti preesistenti, sia in documenti nuovi durante la fase di drafting. Sono possibili le seguenti modalità di utilizzo:
- parsing globale di un documento per l’individuazione e la marcatura di tutti i riferimenti singoli normativi esterni e il calcolo delle corrispondenti URN;
- selezione di una porzione di testo contenente (anche non strettamente) un riferimento singolo esterno per la sua marcatura e il calcolo della URN corrispondente.
6.3. Classificatore automatico delle disposizioni
Tale modulo consente la classificazione automatica di commi in “disposizioni” in accordo con lo schema dei metadati analitici (profilo funzionale) dello standard NIR. Il classificatore è stato realizzato mediante tecniche di apprendimento automatico, e fornisce il grado di appartenenza di un comma ad una tipologia di disposizione in termini di probabilità. Al comma sottoposto ad analisi viene assegnata la tipologia di disposizione che ha riportato la più alta probabilità fra quelle previste dallo standard NIR: il pronunciamento del classificatore può essere eventualmente sottoposto alla conferma o alla correzione da parte del redattore.[14]
6.4. Estrattore degli argomenti delle disposizioni
Tale modulo consente l’estrazione automatica degli argomenti delle disposizioni così come descritti dallo standard NIR. L’estrattore degli argomenti è stato realizzato in collaborazione con l’Istituto di Linguistica Computazionale (ILC-CNR) di Pisa ed utilizza tecniche di trattamento automatico del linguaggio naturale. Anche in questo caso il pronunciamento dell’estrattore po’ essere confermato o corretto dal redattore.
Gli argomenti complessi saranno sintetizzati in termini riassuntivi del significato e, come anche gli argomenti semplici, connessi a voci di liste esterne (definizionari e dizionari di dominio); questo permetterà di rintracciarli successivamente, in fase di searching delle norme, partendo da termini generali. Questa funzione dell’editore non è ancora operativa.[15]
L'ambiente di redazione di NIREditor è suddiviso in 4 aree principali:
1. Finestra principale di editing;
2. Finestra di visualizzazioni della struttura del documento XML;
3. Pannello degli attributi;
4. Pannello di appoggio.
Nella Fig. 3 è illustrato l’ambiente di redazione di NIREditor e le 4 aree principali di lavoro.
|
|
|
Fig. 3 Ambiente di redazione di NIREditor.
7.1. Finestra principale di editing
La finestra principale di editing consente di comporre un testo XML-NIR in modalità visuale: tutti marcatori XML e i loro attributi sono trasparenti all'utente.
L'inserimento dei marcatori XML e dei loro attributi può essere effettuato mediante le funzioni opportune della barra degli strumenti che attivano form per l'introduzione del testo, oppure, in funzione della posizione del cursore, utilizzando il tasto destro del mouse.
Se l'inserimento degli elementi XML viene effettuato senza inserimento di testo, all'interno della finestra principale di redazione appare un marcatore ([... TipoDato]) che riporta l'indicazione del tipo di dato da inserire nell'elemento XML relativo. In corrispondenza di tale posizione il redattore può inserire il testo associato all'elemento. Tale operazione cancella il marcatore.
Posizionando il cursore in un blocco di testo, ogni linea di testo corrispondente all'elemento XML relativo viene circondato da un rettangolo.
Sono possibili spostamenti di porzioni di testo o di elementi XML del documento in modalità “Drag and Drop” oppure utilizzando le funzionalità di editing previste dalle barre degli strumenti (“cut”, “paste”, “delete”). Tali funzioni avranno effetto solo se determinano una nuova struttura del documento valida (in senso XML) secondo lo standard NIR.
E’ inoltre possibile inserire gli elementi delle DTD NIR in funzione della posizione del cursore attraverso le voci di un menù contestuale attivabile con il tasto destro del mouse.
7.2. Finestra delle visualizzazioni della struttura di un documento XML
La struttura di un documento aperto può essere visualizzata nella finestra a sinistra di quella principale di editing. E' possibile visualizzare:
1. la struttura XML del documento NIR;
2. il sommario delle partizioni di un documento NIR.
Nel primo caso è possibile visualizzare l'intera struttura XML del documento NIR (ovvero l'albero DOM (Document Object Model)) che lo rappresenta, nonché gli attributi associati a ciascun elemento.
Nel secondo caso è possibile visualizzare il sommario di un documento NIR, nei termini dei suoi elementi XML, nonché gli attributi associati a ciascun elemento.
Il pannello degli attributi consente l'inserimento e la cancellazione guidata degli attributi degli elementi previsti dallo standard NIR.
Può essere utilizzato per i seguenti scopi:
1. come area di appoggio di porzioni di testo (“plain text”), da utilizzare:
- per riempire gli elementi XML contenenti testo;
- per correggere eventuali errori nella conversione di un documento solo testo in XML;
2. come area di gestione visuale di partizioni di un documento XML nella fase di composizione di un documento XML-NIR.
7.4.1. Pannello di appoggio come area di gestione del “plain text”
Il testo presente nel pannello di appoggio può essere copiato/tagliato e incollato nella finestra principale di editing per riempire gli elementi XML contenenti testo in fase di composizione di un testo nuovo o per correggere eventuali errori nella conversione automatica in XML-NIR di un documento solo testo, attraverso l'inserimento degli elementi XML mancanti con le funzioni di gestione delle partizioni formali della barra degli strumenti, e copiando le parti relative del testo dal pannello di appoggio.
Analogamente è possibile togliere porzioni di testo dalla finestra principale di editing e copiarle nel pannello di appoggio.
7.4.2 Pannello di appoggio come area di gestione di partizioni di un documento XML
E' possibile utilizzare il pannello di appoggio per gestire porzioni della struttura XML. In tale pannello possono essere incollate sotto-strutture XML, selezionate sul documento aperto nella finestra principale di editing.
E' possibile decidere se gestire tali selezioni come strutture XML o come testo:
- nel primo caso tali strutture vengono visualizzate nel pannello di appoggio in maniera analoga a quella presente nelle finestre di visualizzazione della struttura;
- nel secondo caso viene visualizzato il corrispondente codice nativo XML.
Le seguenti funzionalità possono essere utilizzate per decomporre e ricomporre un testo XML-NIR mediante strutture elementari componenti.
Per esempio: alcuni commi di un testo di legge possono essere temporaneamente tolti dal testo stesso e incollati nel pannello d’appoggio in modo tale che mantengano le proprietà strutturali (Fig. 1); in questo modo potranno successivamente essere reinseriti nel testo di legge conservando le proprie proprietà strutturali, come mattoni elementari per la costruzione di un testo. La rappresentazione della codifica XML (Fig. 2) può essere utilizzata come verifica del codice XML prodotto in porzioni limitate del testo.
|
Nel pannello di appoggio una porzione XML viene visualizzata graficamente come una struttura gerarchica (vedi Fig. 1). Per risultare autonoma e navigabile, la struttura è collegata alla radice di un documento NIR. |
|
|
|
Fig.1 |
|
|
|
|
Altrimenti della stessa struttura può essere rappresentata la sua codifica XML (vedi Fig. 2). |
<NIR><comma id = “…”> …</comma></NIR> |
|
|
Fig. 2 |
8. Funzionalità dell’ambiente di redazione
In questo paragrafo sono descritte le principali funzionalità di editing attivabili all’interno dell’ambiente di redazione di NIREditor.
8.1. Compilazione di testa e coda della legge
Al fine di semplificare la compilazione delle formule di testa e di coda di un testo legislativo il sistema prevede due funzionalità di aiuto a tale compilazione. Le funzionalità si attivano attraverso la selezione delle voci:
- Formula di testa;
- Formula di coda.
L’attivazione di ognuna delle formule consente l’apertura di una form nella quale il redattore può inserire le parti variabili di ciascuna delle formule (titolo, estremi dell’atto, preambolo, formula di chiusura). In particolare con la formula di testa possono essere determinate alcune informazioni che contribuiscono all’attribuzione di alcuni descrittori generali dell’intero documento (tipo di atto, autorità emanante, URN). In particolare la URN del documento sarà generata in maniera guidata e analogamente può essere modificata dall’utente.
8.2. Composizione top down del corpo del testo nella visione struttura formale (articolato)
Per profilo formale si intende la struttura fisica di un testo di legge, il cosiddetto articolato. Il profilo formale considera un testo di legge composto da partizioni, ovvero le suddivisioni formali, esplicitamente marcate in XML (es: articolo, comma, lettera, ecc.).
Oltre alle possibilità di inserire, mediante un menù contestuale, le partizioni XML previste dalla DTD scelta per descrivere un documento, in NIREditor è possibile utilizzare funzioni specifiche che permettono l'inserimento delle partizioni normative della struttura formale secondo le definizioni note in tecnica legislativa (“Capo”, “Articolo”, “Comma”, ecc.).
Tali funzioni infatti inseriscono in una sola soluzione gli elementi XML-NIR necessari a creare una partizione della struttura formale. Operano in relazione alla posizione del cursore, ma prescindono dai singoli elementi XML che compongono una partizione (es: <comma>, <num> e <corpo> per una partizione normativa “Comma”), mentre tengono conto delle dipendenze gerarchiche delle partizioni.
La struttura XML del documento può essere navigata dalla finestra delle visualizzazioni della struttura XML: è possibile posizionarsi su ciascuna delle partizioni individuate nonché visualizzare gli attributi di ciascun elemento.
Utilizzando tali funzioni vengono gestite automaticamente la numerazione delle partizioni e l’aggiornamento dei riferimenti interni.
Creata la struttura mediante l’inserimento delle partizioni formali, il redattore può inserire il testo nelle partizioni che possono contenerlo (commi, alinee, lettere e numeri); eventualmente la struttura può essere modificata mediante opportune funzioni di spostamento delle partizioni e del testo. E’ possibile infatti spostare una partizione ed il suo contenuto in qualunque posizione ammessa dalla DTD utilizzata per la redazione del documento corrente. In funzione delle DTD utilizzate una partizione formale può essere soggette a regole più o meno restrittive per il proprio posizionamento o spostamento: in NirEditor il tentativo di spostare una partizione in una posizione non ammessa non produrrà alcun effetto. E’ inoltre possibile riorganizzazione il testo dal punto di vista formale, selezionando manualmente le partizioni che si intendono aggregare diversamente da come fatto: la funzione corrispondente crea una nuova partizione di livello appropriato ed aggrega in essa le partizioni selezionate.
In questo modo si riesce ad attribuire una struttura formale articolata a frammenti di testo inseriti in tempi e modi diversi senza una precisa organizzazione gerarchica.
Sono possibili le seguenti modalità di selezione delle partizioni:
- Selezione di partizioni contigue nel pannello principale di editing;
- Selezione di partizioni contigue o non contigue sull'albero di visualizzazione della struttura XML.
8.3. Composizione bottom up del corpo del testo nella visione struttura formale (articolato)
La modalità di composizione bottom-up del testo, simmetrica alla precedente, consente di inserire frammenti compiuti di testo (commi per default) e di aggregare successivamente tali partizioni in partizioni di livello superiore. Tale aggregazione avviene mediante una prima operazione di selezione manuale, nel pannello principale di editing, di partizioni contigue di pari rango, oppure di partizioni contigue o meno utilizzando le visualizzazioni ad albero della struttura XML. Una seconda operazione comporta l’attivazione della funzione di aggregazione formale che estrae dal testo le partizioni selezionate per riunirle in una partizione opportuna nella zona del testo scelta dal redattore. Le funzioni di spostamento e rinumerazione automatica consentono di completare il lavoro di organizzazione del testo.
8.4. Composizione bottom up del corpo del testo nella visione struttura funzionale (disposto)
Per profilo funzionale si intende la struttura profonda del corpo di un testo di legge (“disposto”), nella prospettiva pragmatica delle funzioni regolative in esso contenute. Il profilo funzionale considera il disposto di un testo di legge come un insieme di disposizioni (frammenti regolativi compiuti), generalmente (ma non necessariamente) corrispondenti ai commi della struttura formale o a loro partizioni inferiori (lettere, numeri) nel caso di commi complessi.
In NIREditor è possibile comporre un testo normativo in strategia bottom-up sulla base del profilo illocutivo delle disposizioni (metadati analitici) per ottenere la miglior organizzazione funzionale del testo stesso. Tale composizione consente di inserire frammenti compiuti di testo, che nella visione funzionale assumono agli occhi del redattore il ruolo di disposizioni, mentre agli occhi dell’editore sono partizioni elementari (comma), di annotarli automaticamente (grazie alle selezioni effettuate) con i metadati analitici corrispondenti e, successivamente, di aggregarli in partizioni di livello superiore.
Le modalità di selezione delle disposizioni-partizioni da aggregare possono essere:
- manuale;
- mediante query.
La prima modalità è analoga alla corrispondente nella composizione formale: le disposizioni-partizioni vengono scelte contigue nel pannello principale di editing, oppure contigue o meno nelle visualizzazioni ad albero del documento.
Con la seconda modalità, che può essere pensata come meta-comando, la scelta delle disposizioni-partizioni avviene in maniera indiretta, interrogando i metadati analitici e selezionando le disposizioni che soddisfano alle condizioni richieste.
Esempio:
Il seguente criterio:
Disposizione '=' 'Dovere' 'soggetto' '=' 'Garante'
Disposizione '=' 'Diritto' 'oggetto' '=' 'Trattamento dati sensibili'
corrisponde alla selezione di tutte le disposizioni di tipo Dovere con soggetto destinatario Garante e di tipo Diritto con oggetto Trattamento dati sensibili.
In entrambi i casi le disposizioni, scelte verosimilmente in base alle loro affinità tematiche sulla base dei loro tipi e/o dei loro argomenti, saranno aggregate e organizzate in partizioni formali di livello superiore dalla corrispondente funzione di aggregazione.
8.5. Numerazione automatica delle partizioni e loro rinumerazione a seguito di mutamenti del testo
Tale funzionalità prevede l’attribuzione automatica della numerazione a tutte le partizioni dell’articolato: dal libro, all’articolo, al comma (comma semplice, comma alinea e sue sottoparti) in cui si sviluppa un testo di legge, eccetto gli elementi dell’articolato contenuti in elementi modificativi.
Tale funzione, come già discusso precedentemente, viene attivata automaticamente al momento dell’inserimento delle partizioni formali dell’articolato, ma può essere anche esplicitamente attivata in qualunque momento durante la fase di editing.
NIREditor consente due modalità di numerazione in funzione delle seguenti tipologie di testi:
- Testi nuovi, non ancora approvati;
- Testi già approvati.
Per i testi nuovi, non ancora approvati la funzione consente di assegnare, o mantenere aggiornati a seguito di spostamenti, la numerazione e gli attributi "id" delle partizioni, secondo le specifiche di corredo alle DTD-NIR, espresse nel documento “Note al DTD dei documenti di NormeInRete (NIR)” (http://www.nir.it/stdoc/dtd/note.html) (In questo caso l'inserimento di una partizione formale mantiene automaticamente aggiornata la numerazione). Analogamente tale funzione consente di mantenere aggiornati i riferimenti interni alle partizioni che hanno subito una rinumerazione.
Per i testi già approvati la funzione consente di assegnare gli attributi “id” delle partizioni, secondo le specifiche che di corredo alle DTD-NIR, espresse nel documento “Note al DTD dei documenti di NormeInRete (NIR)”, sulla base della numerazione delle partizioni, che deve rimanere immutata.
La scelta della modalità di numerazione può essere effettuata all’apertura di un documento ed eventualmente modificata in qualunque momento da una opzione di menù.
8.6. Costruzione dei rinvii esterni e interni
Tale gruppo di funzioni agevola la formulazione dei rinvii, interni ed esterni e rappresenta una guida alla corretta formulazione dei rinvii, permettendo la corretta marcatura dell’elemento.
La prassi della redazione di atti normativi distingue due diverse modalità di formulazione di rinvii esterni:
- la formulazione per esteso della citazione, nel caso in cui tale citazione compaia per la prima volta nel documento corrente;
- una formulazione semplificata di una citazione, nel caso in cui tale citazione sia già presente nel documento corrente.
La formulazione assistita di una citazione prevede entrambe le precedenti possibilità:
1) inserimento di una citazione già presente nel documento producendone una formulazione semplificata;
2) inserimento di una nuova citazione. In questo caso viene aperta una form nella quale l’utente sceglie il tipo di atto che si intende citare e, in funzione di tale tipo, le informazioni previste.
Nel caso di inserimento di una nuova citazione, il redattore può decidere di citare globalmente un atto, oppure di inserire una citazione di alcune sue parti (es: articolo 1, comma 1, lettera a), della legge …). Per tale funzione, la form di inserimento di una nuova citazione prevede la possibilità opzionale di comporre la formulazione della citazione delle parti di un atto, selezionando alcune voci corrispondenti alle partizioni (es: Sezione, Capo, Titolo, Articolo, Comma) e inserendo nella finestra di testo corrispondente il numero della partizione che si intende citare.
Tale funzione consente al redattore di comporre liberamente il testo della citazione e di passarlo al parser per il riconoscimento e la sua corretta marcatura secondo i tag XML-NIR e il calcolo della URN.
Si prevedono due modalità di intervento:
1) Selezione del testo contenente una citazione e attivazione del parser URN per l’attribuzione del riferimento;
2) Selezione di tutto il documento e individuazione di tutte le citazioni presenti nel testo mediante l’attivazione del parser URN.
Dal punto del testo in cui si intende inserire il riferimento, è possibile attivare la funzione di costruzione del riferimento interno (e del testo del riferimento (es: articolo 5, comma 3)). La partizione cui si intende far riferimento viene selezionata da una finestra che contiene una visualizzazione sintetica delle partizioni introdotte (struttura corrente dell’articolato). Selezionando la partizione che si vuol citare, viene generato automaticamente il testo della citazione e l’id corrispondente.
8.7. Inserimento degli “allegati”
NIREditor fornisce opportune funzioni per l’inserimento e la gestione degli allegati come documenti interni o esterni e l’assegnazione della URN corrispondente, secondo gli standard NIR.
L’eventuale numerazione di partizioni di un allegato interno ad un documento NIR è aggiornata opportunamente, ovvero in maniera autonoma rispetto al documento principale.
8.8. Visualizzazioni del testo mediante stili XSL ed esportazione in PDF
Dall’ambiente di redazione è possibile attivare visualizzazioni diverse del documento attraverso il browser utilizzando stili xsl.
Sono possibili le seguenti visualizzazioni:
- testo e metadati;
- indice e testo;
- indice;
- testo;
E’ prevista la realizzazione di un’ulteriore visualizzazione simultanea della struttura formale e funzionale (articolato e metadati disposizioni).
Utilizzando un opportuno stile xsl è possibile inoltre effettuare l’esportazione del documento in formato pdf in stile Gazzetta Ufficiale.
Le metainformazioni sono dati e specifiche extra-testuali che permettono di descrivere il documento ma non fanno parte del suo contenuto in senso stretto. Nel caso di documenti legislativi sono inserite, verosimilmente ma non necessariamente, dal redattore e/o marcatore, più che dal legislatore, anche se a tale categoria metatestuale appartengono anche i tradizionali titoli delle partizioni.
I DTD di NormeInRete forniscono due elementi attraverso i quali inserire metainformazioni su un documento di norme: meta ed inlinemeta.
1. meta: è posto all'inizio del documento e costituisce la posizione privilegiata per tutte le informazioni che riguardano il documento nella sua interezza. Qui sono poste, tra le altre, metainformazioni sulla pubblicazione del documento e sulle relazioni con altre norme, o la trascrizione dei testi dei lavori preparatori alla sua approvazione;
2. metainline: può essere posta, a discrezione del marcatore, vicino a tutti gli elementi strutturali del documento marcato. Attraverso metainline, dunque, è possibile specificare metainformazioni vicino al frammento di documento a cui la metainformazione fa riferimento.
I DTD di NormeInRete specificano una grande quantità di elementi attraverso i quali inserire metainformazioni sul documento.
NIREditor possiede funzionalità specifiche per l’inserimento e la modifica di ciascuna delle cinque seguenti categorie di metadati previste dallo standard NIR:
- elementi descrittori o generali: sono informazioni sul documento inteso nella sua globalità, soprattutto riferite alla o alle pubblicazioni, alla storia di vigenze e modifiche sul contenuto della norma, a parole chiave che possano aiutare nelle ricerche;
- lavori preparatori: informazioni relative alla descrizione testuale dei lavori di approvazione, presso l'organismo emanante, a cui il provvedimento è stato assoggettato;
- redazionali: informazioni, note del redattore, avvertenze a ogni altra informazione testuale, fatta per essere letta contestualmente alla norma, che il redattore vuole fornire e che non fa strettamente parte del contenuto del provvedimento;
- proprietario: informazioni la cui natura, significato ed organizzazione interna vengono decisi dal marcatore per i fini propri della banca dati di cui il provvedimento fa parte;
- disposizioni: specificano le disposizioni, ovvero le entità funzionali che costituiscono l’ossatura pragmatico-illocutiva del provvedimento; hanno scopo documentario, evidenziando le disposizioni che costituiscono il testo con descrittori utilizzabili nelle query per ricerche miranti alla individuazione di frammenti di norme. Tali metadati possono essere scelti da un menù che riporti le principali liste di metadati analitici. Possono essere attribuiti a tutte le partizioni, ma tendenzialmente riguardano solo i commi.[16]
|
|
Schema delle funzioni disponibili (modulo pregresso (1) + ambiente di
redazione (2,3,4,5)) |
|
|
|
|
1 |
Recupero di testi preesistenti: (pregresso) |
|
1.1 |
Aspetti formali |
|
1.1.1 |
riconoscimento automatico e marcatura della struttura formale; |
|
1.1.1.1 |
riconoscimento e marcatura delle componenti della testa; |
|
1.1.1.2 |
riconoscimento e marcatura delle partizioni dell’articolato; |
|
1.1.1.3 |
riconoscimento e marcatura delle componenti della coda; |
|
1.1.1.4 |
riconoscimento e marcatura allegati; |
|
1.2.1 |
riconoscimento automatico dei rinvii |
|
1.2.1.1 |
riconoscimento automatico e trasformazione in links dei rinvii esterni; |
|
1.2 |
Aspetti sostanziali (semantica) |
|
1.3 |
riconoscimento automatico dei tipi di disposizioni (classificatore) |
|
1.4 |
riconoscimento automatico ed estrazione degli argomenti delle disposizioni |
|
|
|
|
2. |
Composizione del testo: |
|
2.1 |
Compilazione di testa e coda della legge;
(contenitore) |
|
2.1.1 |
compilazione con forms delle componenti della testa; |
|
2.1.1.1 |
accesso a registri NIR per dati da inserire; |
|
2.1.1.1.1 |
estremi URN e URL atti normativi (es. citazione nel titolo) |
|
2.1.1.2 |
inserimento titolo; |
|
2.1.1.3 |
inserimento estremi atto; |
|
2.1.1.4 |
inserimento preambolo; |
|
2.1.2 |
compilazione con forms delle componenti della coda; |
|
2.2 |
Composizione top down del corpo del testo nella visione struttura formale: |
|
2.2.1 |
inserimento delle partizioni da menù; |
|
2.2.2 |
inserimento da combinazione di tasti; |
|
2.2.3 |
variatore del rango delle partizioni; |
|
2.2.4 |
spostamento delle partizioni; |
|
2.2.4 |
inserimento del testo nelle partizioni (comma, lettera, numero) |
|
2.3 |
Composizione bottom up del corpo del testo nella visione struttura formale: |
|
2.3.1 |
inserimento di frammenti compiuti di testo (commi default) |
|
2.3.2 |
aggregazione di frammenti-commi selezionati manualmente |
|
2.3.3 |
costruzione partizione appropriata (livello+1) corrispondente alla nuova aggregazione; |
|
2.3 |
Numerazione automatica aggiornata delle partizioni introdotte: |
|
2.3.1 |
inserimento numerazione appropriata delle partizioni; |
|
2.3.2 |
aggiornamento numerazione partizioni a seguito di mutamenti nel testo; |
|
2.3.3 |
aggiornamento numerazione rinvii interni a seguito di mutamenti nel testo; |
|
2.4. |
Composizione bottom up del corpo del testo nella visione struttura funzionale:
|
|
2.4.1 |
Aggregazione manuale |
|
2.4.1.1 |
inserimento di frammenti compiuti di testo (disposizioni)(commi default); |
|
2.4.1.3 |
aggregazione di frammenti-disposizioni selezionati manualmente; |
|
2.4.1.4 |
costruzione partizione appropriata (livello+1) corrispondente alla nuova aggregazione; |
|
2.4.2 |
Meta-Aggregazione |
|
|
inserimento di frammenti compiuti di testo (commi default); |
|
2.4.2.1 |
associazione dei metadati.disposizioni ai frammenti del testo |
|
2.4.2.2 |
gestione testo come data base in visualizzazione 5.3; |
|
2.4.2.3 |
selezione con query di frammenti per tipo disposizione (metadato); |
|
2.4.2.3.2 |
aggregazione disposizioni selezionate; |
|
2.4.2.3.3 |
costruzione partizione appropriata (livello+1) corrispondente alla nuova aggregazione; |
|
2.4.2.4 |
selezione con query di frammenti per tipo disposizione, argomento e contenuto argomento (metadato); |
|
2.4.2.4.2 |
aggregazione disposizioni selezionate; |
|
2.4.2.4.3 |
costruzione partizione appropriata (livello+1) corrispondente alla nuova aggregazione; |
|
2.5 |
Generazione automatica della struttura
formale (articolato) |
|
|
|
|
3. |
Costruzione dei rinvii esterni e interni
e loro trasformazione in links; (relazioni)
|
|
3.1 |
formulazione assistita rinvio esterno; |
|
3.1.1 |
inserimento nuovo rinvio; |
|
3.1.2 |
inserimento rinvio già citato; |
|
3.2 |
formulazione assistita rinvio interno; |
|
3.3 |
formulazione libera rinvio esterno e invio al parser; |
|
3.4 |
formulazione automatica mediante puntamento ad atto (da URL a URN a formula rinvio esterno); |
|
3.5 |
formulazione automatica mediante puntamento a partizione (da num. part. a formula rinvio interno); |
|
3.6 |
inserimento metadato funzione dei riferimenti esterni (modifica, integrazione, informazione); |
|
|
|
|
4. |
Inserimento di metainformazioni: |
|
4.1 |
Inserimento agevolato di metadati generali e analitici; |
|
4.1.1 |
finestre di dialogo e accesso a registri NIR; |
|
4.1.1.1. |
tipologia fonti |
|
4.1.1.2 |
autorità emittenti |
|
4.1.1.3 |
inserimento classificazione per materia; |
|
4.1.2 |
inserimento metadati redazionali; |
|
4.1.3 |
inserimento metadati lavori preparatori; |
|
4.1.4 |
inserimento tipo disposizione e argomenti per ogni comma; |
|
4.1.5 |
disambiguazione di argomenti con accesso a dizionari concettuali giuridici e ontologie di dominio; |
|
4.2 |
Inserimento di links a documenti accessori autentici (es. modulistica). |
|
|
|
|
5 |
Visualizzazioni del testo: |
|
5.1 |
struttura formale e titoli senza testo (sommario); |
|
5.2 |
struttura formale e titoli con testo (Gazzetta); |
|
5.3 |
struttura formale e funzionale (metadati analitici) senza testo (tabella riassuntiva); |
|
5.4 |
struttura formale e funzionale (metadati analitici) con testo (testo annotato); |
|
5.5 |
citazioni (tabella); |
|
5.6 |
definizioni (elenco). |
10.Conclusione
Con NIREditor si è realizzato lo strumento centrale ed indispensabile per la creazione di atti e documenti legislativi standardizzati e per la loro integrazione con annotazioni, esse pure standardizzate (metadati).
Il trattamento dei significati mediante modellazione e conseguenti metadati analitici (disposizioni), renderà possibili elaborazioni ora impensabili. Ne conseguiranno varie applicazioni specialistiche operanti sui dati legislativi. Alcune sono già in corso di realizzazione prototipale e ne diamo qui un cenno.
11.XML e Metadati: applicazioni specialistiche basate sul trattamento della semantica dei testi.
11.1. MetaEditor: verso un editore semantico.
NirEditor si basa su una doppia visione del testo legislativo: formale e funzionale (o sostanziale). Articoli, commi, ecc. sono entità che afferiscono al profilo formale, mentre entità funzionali sono disposizioni e loro argomenti, metadati analitici previsti dalla DTD Nir.
Tutte le funzioni di gestione formale del testo si basano appunto sulle sue entità formali (articolato), quelle di cui principalmente si occupa la tecnica legislativa. Le funzioni che si basano sulle entità funzionali, permettono di trattare aspetti sostanziali dei testi e più in generale permettono di guardare i testi da un punto di vista sostanziale (disposto). Il redattore può utilizzare ambedue le visioni, oppure limitarsi alla sola dimensione formale, quella tradizionale dei sistemi di videoscrittura non specialistici e non dotati di capacità di trattamento della semantica dei testi.
La nuova frontiera del semantic web sposterà la ricerca delle informazioni sempre più sugli aspetti sostanziali dei documenti e così richiederà la disponibilità di strumenti adeguati di editing, strumenti capaci di elaborare appunto i significati, oltre che le forme. Questa capacità di trattamento di aspetti significativi della semantica dei testi legislativi non poteva poi mancare in un editore basato su XML, dove i significati, individuati tramite appositi modelli, vengono efficacemente espressi tramite i cosiddetti metadati.
In NirEditor è possibile anche, data la sostanziale corrispondenza tra profilo formale e funzionale, operare su aspetti formali del testo agendo anche con criteri funzionali (sostanziali). Profilo formale e funzionale del testo sono in fondo due modi di vedere una unica entità (articolato/disposto): appunto questa unicità permette di mescolare i due profili, agendo su essi sia con i loro propri criteri, che con i criteri apparentemente estranei dell’altro profilo.
Un esempio è quello della creazione in un nuovo testo di nuove partizioni per aggregazione. Ad esempio possiamo riunire più commi in un nuovo articolo con un unico comando, dopo aver selezionato i commi da riunire. L’editore costruisce la nuova partizione e riorganizza il testo.
Questa stessa operazione può essere fatta anche con criteri funzionali: anziché selezionare entità formali (commi) direttamente, posso fare una richiesta “astratta” a NirEditor, indicando le caratteristiche contenutistiche che devono avere le disposizioni contenute nei commi che intendo aggregare in una nuova partizione di livello superiore.
La funzione di editing effettivamente attivata ed il risultato delle due operazioni saranno gli stessi. La differenza è che nel primo caso opero direttamente e manualmente, nel secondo fornisco all’editore i criteri e delego ad esso l’esecuzione. Non è un gioco: se devo ristrutturare un testo consistente, di centinaia di commi, l’azione manuale sarà ardua ed i risultati difficilmente controllabili.
Quindi NirEditor è un editore semantico in due sensi.
E’ un editore che grazie ad XML permette di evidenziare ed integrare la semantica dei testi attraverso i cosiddetti metadati, aggiungendo le relative descrizioni ai testi.
E’ anche un editore che accetta sia comandi di editing diretti, che comandi astratti, concettuali, basati sui metadati. In altre parole permette di elaborare i dati direttamente, oppure indirettamente attraverso i relativi metadati. Praticamente due livelli di intelligenza: uno esecutivo ed uno interpretativo-esecutivo.
11.2. MetaSearch: la ricerca per norme
Alla ricerca tradizionale dei documenti si affianca la ricerca delle meta-informazioni NIR (relativi a testo, disposizioni e termini). E’ in fase di realizzazione un interrogatore di metadati da affiancare alle funzioni tradizionali di ricerca dei documenti. In particolare si sta sperimentando un modulo per l’interrogazione dei matadati relativi alle disposizioni.[17] Qui l’unità documentaria diventa praticamente il singolo comma, mentre concettualmente è la singola disposizione.
Il searching su documenti con profilo semantico esplicitato potrà anche esso basarsi sia sugli aspetti formali dei testi, che sugli aspetti sostanziali. Ricerca di atti di legge per estremi o per parole, ma anche di singole disposizioni attraverso i metadati che ne descrivono i contenuti, cioè frammenti di norme che corrisponderanno generalmente a entità formali elementari quali i commi. Quindi risposte precise a richieste puntuali, piuttosto che documentazione estesa da analizzare.
Tale software opera a valle di un normale sistema di information retrieval, permettendo l’estrazione automatica di frammenti significativi (disposizioni), selezionati con queries semantiche, dai documenti legislativi individuati nella prima fase. In pratica ogni documento reperito viene trattato come un piccolo database di disposizioni, su cui l’utente agisce con richeste apposite per selezionare le norme di suo interesse. Di fatto si viene a disporre di un sistema informativo capace di operare sia sul documento legislativo tradizionale (l’atto), sia sul documento virtuale (la disposizione).
Inoltre su alcuni metadati si possono sviluppare ragionamenti con deduzioni che possono migliorare la qualità delle risposte. Nei casi in cui la modellazione alla base dei metadati lo preveda, saranno possibili deduzioni che arricchiranno di ulteriori significati le informazioni ricavabili da una query. In pratica una limitata capacità interpretativa delle norme sarà a disposizione dell’utente.
Si potranno cercare particolari disposizioni e chiedere la visualizzazione di esse, ma anche delle relative deroghe. Un altro caso è quello delle disposizioni “deontiche“; ma anche le coppie sanzioni e relativi obblighi, dove questi ultimi sono individuabili, “deducibili“ dai rinvii interni che li collegano, ma anche, ove questi manchino, da argomenti con contenuti comuni. Quindi ricerca tradizionale per atti, ricerca per disposizioni, ricerca per disposizioni caratterizzate contenutisticamente mediante i contenuti dei loro argomenti e infine ampliamento automatico-opzionale della risposta: dalla disposizione, ai gruppi di disposizioni correlate in vario mod (disposizioni + relative eccezioni, obblighi + relative sanzioni, obblighi espliciti + obblighi impliciti (pretese delle controparti) e così via).
Si sta insomma progettando un modulo ragionatore, in grado di dedurre informazioni ulteriori implicite in quelle estratte dal modulo di interrogazione tradizionale. Le risposte così integrate introdurranno una componente di risposta costituita da queste elementari e meccaniche interpretazioni, una aiuto alla consultazione dei testi, avvicinando così la risposta globale a quella di un “giurista condotto“ di lombardiana memoria.
11.3. Consolidamento dei testi
Una adeguata modellazione e conseguente descrizione delle disposizioni di modifica testuale contenute nelle leggi, permetterà l’esplicitazione mediante i metadati dei loro contenuti essenziali e ciò renderà possibili applicazioni specialistiche di sostegno al riordino delle varie versioni dei testi determinate nel tempo dagli interventi di modifica stessi.
Le variazioni all’ordinamento descritte (prescritte) nelle disposizioni di modifica, opportunamente descritte dai metadati analitici, specialmente riguardo all’argomento che individua le localizzazioni nei testi delle modifiche stesse, potranno essere automaticamente applicate o visualizzate a scopo simulativo. In altre parole le disposizioni di modifica saranno rese computabili attraverso i relativi metadati e potranno così essere “eseguite” come dei programmi informatici.
E’ lecito pensare che un tale strumento possa costituire un formidabile aiuto alle attività di riordino dell’ordinamento.
11.4. Monitoraggio delle attività amministrative
Parimenti una efficace modellazione delle disposizioni di delega che catturi argomenti essenziali come delegante e delegato, oggetto della delega (amministrativa) e soprattutto i termini temporali e la seguente descrizione delle deleghe effettivamente contenute nei testi legislativi, permetterà l’estrazione dall’ordinamento di informazioni puntuali sulle deleghe attivate, che unitamente a dati fattuali permetteranno in pratica il monitoraggio delle deleghe stesse. Anche questa applicazione è in fase di studio e dovrebbe agevolare le attività di controllo della PA.
[1] C. Biagioli, P. Mercatali, Lexedit. Prototipo sviluppato per i
redattori di testi legislativi. Documentazione di supporto al programma
sperimentale, Firenze, Cappelli, 1990.
[2] C. Biagioli, Ambiente di Normazione: verso un sistema di
aiuto alla generazione di testi normativi razionalizzati, in : atti del IV
Congresso della Corte di Cassazione "Informatica e regolamentazioni
giuridiche", Roma, 1988, pp. 1-20, Sess. I, n. 13.
[3]
L’Editore Legislativo
XML, ideato e proposto dal responsabile del progetto C. Biagioli, che ne ha
definito l’architettura funzionale, è stato prima promosso come prototipo dal
direttore dell’ITTIG N. Palazzolo e sperimentato come adattamento dell’editore
XMetal da A. Ficini. Proposto poi dal responsabile alla coordinatrice del
progetto Normeinrete C. Lupo, è stato sviluppato nel 2003 presso l’ITTIG come
prodotto operativo da E. Francesconi, che ne ha progettato la definitiva
architettura ingegneristica, costituendo e coordinando l’équipe di
tecnologi/informatici composta da T. Agnoloni, A. Ceroni, G. Giorgetti, A.
Passerini, L. Sarti, M. Taddei, e con i contributi di A. Marchetti (IAT-CNR) e
M. Papini. Una seconda versione è in corso di realizzazione presso il servizio
informatico dell’ITTIG, di cui è responsabile PL. Spinosa, con il coordinamento
tecnico di M. Taddei e di sviluppo di T. Agnoloni e con i cobtributi di C.
Mercatanti, M. Mollicone, M. Orlandi e della società OneTech.
[4] C. Biagioli, Law making
environment. Proceedings of the Workshop on Legal Knowledge and Legal Reasoning Systems, Tokyo, 1992.
[5] A. Boer, R. Winkels, R.
Hoekstra, and T. van Engers. “Knowledge
management for legislative drafting in an international setting”. In Proc. of JURIX 2003: Legal Knowledge and
Information System, pp. 91--100, 2003.
[6]
P. Spinosa, Assegnazione dei nomi uniformi ai documenti
giuridici, in Informatica e diritto, 2001, vol. XXVII, fasc. 1, pp.233-264.
[7] A. Marchetti, F. Megale, E. Seta, F. Vitali, Marcatura XML degli atti normativi italiani. I DTD di Norme in Rete, in Informatica e diritto, 1/2001, pp. 123-148.
[9] P. Spinosa, Mirco Taddei, UrnNirParser. Descrizione delle specifiche architetturali di un servizio centralizzato di analisi dei riferimenti normativi in testi giuridici, per il progetto "Norme in Rete", rapporto tecnico, p. 9, Firenze, Ittig-Cnr, 2002.
[10]
Enrico Francesconi,
Andrea Passerini, Classificazione
automatica di norme di legge, rapporto tecnico n. 1/2005, 19 pp.
Firenze, Ittig-Cnr, 2005
[12] C.Biagioli, E.Francesconi,
A.Passerini, S.Montemagni, C.Soria, "Automatic
semantics extraction in law documents", submitted to International
Conference on Artificial Intelligence and
Law, Bologna, 2005.
[13] C. Biagioli, Ambiente di normazione: un sistema per la
formulazione, ricerca e diagnosi delle leggi basato su modello, in P.
Mercatali, G. Soda, D. Tiscornia, Progetti
di intelligenza artificiale per la pubblica amministrazione, Angeli,
Milano, 1996. C.Biagioli, E.Francesconi, A
visual framework for planning a new bill, Workshop su Legislative XML, Amalfi, 6-8 Aprile 2005, in Quaderni CNIPA, 2005 (prossima pubblicazione).
[14] E. Francesconi, A.
Passerini, op. cit..
[15] C.Biagioli, E.Francesconi,
A.Passerini, S.Montemagni, C.Soria, "Automatic
semantics extraction in law documents",,, op. cit..
[16] Bibliografia relativa allo
sviluppo nel tempo del modello della
“Struttura Funzionale”, da cui sono derivati i metadati NIR sulle disposizioni:
C. Biagioli, G. Ferrari , Principles for
the formal representation of legislative statements, in: A.A. Martino, F.
Socci (eds.), Automated Analysis of Legal Texts, Atti del convegno “Logica,
informatica, diritto” (Firenze, 3-6 settembre 1985), Amsterdam, North-Holland,
1986, pp. 483-493. C. Biagioli, Elementi per la definizione di un linguaggio
per la rappresentazione di testi normativi giuridici, in: Informatica e
diritto, Firenze, XIV, 1988, 2, pp. 33-51.
C. Biagioli, Teorie giuridiche e
linguistiche per la rappresentazione della norma, in: P. Mariani, D.
Tiscornia (a cura di), Sistemi esperti giuridici, F. Angeli ed., Milano, 1989,
pp. 255-276. C. Biagioli, Definitional Elements of a Language for the
Representation of Statutory Texts, in: Rechtstheorie, Beiheft 11, Duncker
& Humblot, Berlin, 1991, pp. 317-336. C. Biagioli, Normative
texts and representation languages, in: ARSP (Archiv fur Rechts und
Sozialphilosophie), n. 39, Franz Steiner Verlag, Stuttgart, 1991, pp.131-135.
C. Biagioli, Micro-ontologia funzionale
della legge per il drafting e la cura degli ordinamenti, in Informatica e diritto, 1997, vol. XXIII,
fasc. 1, pp.101-131. C. Biagioli, Towards
a legal rules functional micro-ontology, in atti del convegno LEGONT'97,
Melbourne, Australia, luglio 1997. C.
Biagioli, Valorizzazione degli aspetti
pragmatici delle leggi e loro impiego nei sistemi informatici legislativi,
in Informatica e diritto, 1999, vol. XXV, fasc. 1, pp.23-45. C. Biagioli , Ipotesi di modello descrittivo del testo
legislativo per l’accesso in rete a
informazioni giuridiche, contributo allo Studio di fattibilità
per la realizzazione del progetto "Accesso alle norme in rete", in
Informatica e diritto, 31 gennaio 2000, vol. II, pp. 90. C. Biagioli, S.
Pietropaoli, Considerazioni sulle
tecniche di costruzione delle disposizioni normative nella prassi legislativa
italiana, Informatica e diritto, n. 1, 2004. Carlo Biagioli, Stefano
Pietropaoli, Verso testi legislativi
autoesplicativi, Workshop su Legislative XML, Amalfi, 6-8 Aprile 2005, in
Quaderni CNIPA, 2005 (prossima pubblicazione).
[17] C. Biagioli, F. Turchi, Model and ontology based conceptual searching in legislative XML collections, in atti ICAIL 2005, Bologna.