Azioni

Differenze tra le versioni di "Scheletro - Progettazione e realizzazione di un servizio web per il trattamento dei dati personali contenuti in documenti OOXML complessi"

Da Wikis.

m (Analisi linguistica e della struttura dei documenti)
Riga 30: Riga 30:
 
#Illustrazione di una soluzione ibrida che applica entrambe le strategie: vengono individuati i nominativi contenuti nel documento fornito in input, in seguito viene chiesto all'utente quali nominativi tra quelli individuati desidera trattare e se eventualmente vuole indicarne degli altri, infine il documento viene elaborato e i nominativi indicati anonimizzati o pseudonimizzati.  
 
#Illustrazione di una soluzione ibrida che applica entrambe le strategie: vengono individuati i nominativi contenuti nel documento fornito in input, in seguito viene chiesto all'utente quali nominativi tra quelli individuati desidera trattare e se eventualmente vuole indicarne degli altri, infine il documento viene elaborato e i nominativi indicati anonimizzati o pseudonimizzati.  
  
==Analisi linguistica e della struttura dei documenti==
+
==Analisi linguistica e strutturale dei documenti==
  
 
===Ambiguità linguistiche===
 
===Ambiguità linguistiche===
  
#Esemplificazione delle ambiguità linguistiche (omonimia totale o parziale dei nominativi, nomi/cognomi identificabili anche come lessico quotidiano, range di variabilita' con il quale un nominativo puo' comparire etc.), commenti sul come sia difficile trattare con un automa queste ambiguità (caso limite: antinomie)
+
#Esemplificazione delle ambiguità linguistiche (omonimia totale o parziale dei nominativi, nomi/cognomi identificabili anche come lessico comune, range di variabilità con il quale un nominativo può comparire etc.), commenti sul come sia difficile trattare con un automa queste ambiguità (caso limite: antinomie).
#Motivazione di adottare una soluzione pattern-based per il riconoscimento dei nominativi, con cenni su una possibile alternativa applicabile basata su tecniche di Text Analysis e relativi vantaggi e svantaggi
+
#Motivazione dell'adozione di un approccio ''pattern-based'' per il riconoscimento dei nominativi, con cenni ad una possibile alternativa basata su tecniche di Text Analysis e relativi vantaggi e svantaggi.
#Definizione dei pattern associati dei nominativi, sottolineando le differenze tra i pattern corrispondenti ai nominativi inseriti dall'utente e quelli individuati dal dizionario, con accurate valutazioni per il trattamento delle ambiguità.
+
#Definizione del rapporto fra i pattern corrispondenti ai nominativi inseriti dall'utente e quelli dedotti dal dizionario, con valutazioni per il trattamento delle ambiguità.
  
 
===Formattazione dei documenti===
 
===Formattazione dei documenti===
  
#Esemplificazioni di formattazioni possibili: grassetto, corsivo, tabelle, elenchi, titoli, note a pià pagina (etc.)
+
#Esempi di formattazioni possibili: grassetto, corsivo, tabelle, elenchi, titoli, note a pià pagina, etc.
#Definizione dei pattern dei nominativi sulla base degli elementi di formattazione del documento
+
#Definizione dei pattern corrispondenti ai nominativi sulla base degli elementi di formattazione del documento.
  
 
==Scelta dei formati da trattare==
 
==Scelta dei formati da trattare==

Versione delle 12:13, 9 set 2019

Introduzione

La problematica del trattamento dei dati personali

  1. Introduzione all'argomento, con riferimenti alle vigenti normative sulla privacy (GDPR).
  2. Esempi di organizzazioni coinvolte (pubbliche amministrazioni, scuole, studi legali, aziende, etc.) e dei documenti che necessitano di anonimizzazione o pseudonimizzazione.

Scenario di lavoro

  1. Breve cenno al confronto e alla collaborazione con l'azienda.
  2. La specifica di massima come espressa in fase iniziale: web tool, destinato all'uso delle organizzazioni prima citate, tramite il quale anonimizzare o pseudonimizzare documenti. L'oggetto del trattamento saranno i nominativi (nome e cognome) che compaiono nei documento e che devono essere anonimizzati o pseudononimizzati. Si sottolinea che la definizione con maggiore precisione delle specifiche costituisce oggetto della tesi.

Definizione delle specifiche

Analisi dell'usabilità

Elenco dei nominativi da trattare come dati espressi in input

  1. Vantaggi e svantaggi nel caso in cui i nominativi siano forniti in input dall'utente.

Elenco dei nominativi da trattare dedotti automaticamente da dizionari

  1. Vantaggi e svantaggi nel caso in cui il documento venga trattato con l'ausilio di un dizionario
    1. valutazione sulla possibile struttura del dizionari: se contenente nomi, cognomi o entrambi, se contenente nomi e cognomi stranieri etc.
    2. valutazione sui criteri di ricerca: conviene ricercare i termini del documento nel dizionario o viceversa? etc.
    3. in particolare si argomenterà la scelta di usare un singolo dizionario contente soltanto nomi (anche stranieri).

Soluzione ibrida adottata

  1. Illustrazione di una soluzione ibrida che applica entrambe le strategie: vengono individuati i nominativi contenuti nel documento fornito in input, in seguito viene chiesto all'utente quali nominativi tra quelli individuati desidera trattare e se eventualmente vuole indicarne degli altri, infine il documento viene elaborato e i nominativi indicati anonimizzati o pseudonimizzati.

Analisi linguistica e strutturale dei documenti

Ambiguità linguistiche

  1. Esemplificazione delle ambiguità linguistiche (omonimia totale o parziale dei nominativi, nomi/cognomi identificabili anche come lessico comune, range di variabilità con il quale un nominativo può comparire etc.), commenti sul come sia difficile trattare con un automa queste ambiguità (caso limite: antinomie).
  2. Motivazione dell'adozione di un approccio pattern-based per il riconoscimento dei nominativi, con cenni ad una possibile alternativa basata su tecniche di Text Analysis e relativi vantaggi e svantaggi.
  3. Definizione del rapporto fra i pattern corrispondenti ai nominativi inseriti dall'utente e quelli dedotti dal dizionario, con valutazioni per il trattamento delle ambiguità.

Formattazione dei documenti

  1. Esempi di formattazioni possibili: grassetto, corsivo, tabelle, elenchi, titoli, note a pià pagina, etc.
  2. Definizione dei pattern corrispondenti ai nominativi sulla base degli elementi di formattazione del documento.

Scelta dei formati da trattare

  1. Introduzione: è buona prassi che il documento sia pseudonimizzato il prima possibile, per evitare che i dati in chiaro circolino in rete, quindi le persone alle quali è rivolto il servizio sono le stesse che si occupano di redigere il documento: esse possono quindi decidere il formato del documento. Risulta quindi ragionevole quindi lavorare su un unico formato
  2. Confronto formati di testo con approfondita argomentazione e scelta del formato OOXML Document (DOCX)

Privacy by design

  1. Illustrazione di come il principio influenzi l'architettura dell'applicazione, con commenti su scenari critici (interruzione della comunicazione, blackout etc.), gestione dei file temporanei e delle schermate di interazione con l'utente (ad esempio, per iniziare una nuova anonimizzazione viene aperta una nuova scheda del browser, nel momento in cui l'utente chiude la scheda il file da lui caricato e ogni dato connesso vengono rimossi. In questo modo, informando l'utente di tale procedura, esso potrà avere pieno controllo sui propri documenti)

Architettura LAMP

I componenti software

  1. Linux, Apache, MySql, Php e possibili varianti (ad es. Phyton, Perl etc.), confronti con tecnologie java per web

Single responsability principle

  1. Suddivisione delle responsabilità: il programma java dovrà occuparsi della logica applicativa (logica di business) e della gestione dei dati, lo script php dovrà curare l'interazione con l'utente
  2. Vantaggio: libera realizzazione di nuove interfaccie indipendenti dalla logica di business (la quale fornisce delle API ben precise (?))
  3. Problematiche di rilievo: invocazioni concorrenti (nomi dei file) [vedere server apache quante script php lancia, modello di esecuzione]

Approfondimenti tecnologici

Ottimizzazione del dizionario

  1. Studio di un semplice algoritmo di machine learning per ottimizzazioni sulla base di criteri di frequenza e ultima apparizione rilevata dei nominativi e per l'apprendimento di nuovi nominativi.
  2. Valutazione sulle implicazioni relative agli accessi concorrenti in scrittura al dizionario e contromisure necessarie (ad es. semafori)
  3. Valutazioni sulle conseguenze portate dall'inserimento di nominativi errati [si può controllare che il documento lo contenga effettivamente] o di input malevoli

Analisi della struttura dei formati W3C OOXML

  1. Descrizione preliminare dei punti salienti del formato
  2. Ideazione di una navigazione ed elaborazione bottom-up del file xml principale del docx, valutazione e analisi della complessità introdotta dai vari nodi xml e traduzione dell'analisi svolta in nuove specifiche

La libreria in ambiente java open source Docx4j

  1. Potenzialità e astrazione della libreria
  2. Riferimenti allo standard W3C XPath e alcune altre osservazioni rilevanti su Docx4j

Curiosità

  1. Illustrazione di alcuni accorgimenti interessanti fatti durante lo sviluppo della tesi: wikis come piattaforma di revisione e documentazione, funzionalità meno note ai più di Github, semplici tool a riga di comando in ambiente linux per la velocizzazione dello sviluppo realizzati da me

Sviluppi futuri

Ulteriore ottimizzazione dei dizionari

  1. Valutazione sulla necessità di ottimizzazione del dizionario sulla base di caratteristiche dei documenti trattati (es. lunghezza, se contengono solo tabelle o solo testo o entrambe etc.) o sulla loro tipologia (elenchi di studenti, atti di tribunale etc.)

Valuazione di altri pattern

  1. Il rischio della re-identificazione, con valutazione di risultati scentifici sperimentali, ulteriore argomentazione a supporto di un dizionario di soli nomi (maggiore privacy)
  2. Altri dati personali trattabili: date e luoghi di nascita, indirizzi, email, numeri di telefono, sesso etc.
  3. introdurre funzionalità per la pseudonimizzazione dei documenti (es. Amorosa Lorenzo -> Amorosa L.)