SlideShare a Scribd company logo
Realizzazione di un Add-on per Google Docs
per estrazione interattiva di pattern sintattici
Relatore
Alberto Bartoli
Correlatore
Eric Medvet
Candidato
Lorenzo Gasparini
1 di 14
Descrizione del problema
• Dato un documento di testo si vogliono individuare ed estrarre
tutte le occorrenze di un determinato pattern sintattico
• Esempi: Indirizzi IP (XXX.XXX.XXX.XXX), Date (DD/MM/YYYY),
E-mail (alias@domain.ext)
2 di 14
Motivazione di base
Figura: RegEx (semplificata) per indirizzo IP
• Gli strumenti per specificare ed estrarre pattern da documenti
testuali esistono già (e.g. RegEx), perchè un nuovo approccio?
• La curva di apprendimento di tali strumenti è ripida, non sono alla
portata degli utenti comuni
• Idea: l’utente fornisce degli esempi di entità da estrarre e da non
estrarre, l’algoritmo deduce il pattern e lo estrae dal testo
3 di 14
Obiettivo della tesi
• Implementare un algoritmo di estrazione delle entità basato sulla
sintassi, sotto forma di Add-on per Google Docs
• L’algoritmo è stato sviluppato nel laboratorio di Machine Learning,
ed è risultato in media il migliore in un confronto con altri
algoritmi su 10 dataset
• L’algoritmo si basa sull’active learning: genera un estrattore sulla
base degli esempi forniti dall’utente; sceglie l’esempio che deve
aggiungere l’utente per migliorare l’estrattore
4 di 14
Google Docs
• Nasce nel 2006, è una piattaforma online di elaborazione testi
• Consente agli utenti di creare e modificare documenti direttamente
nel browser e di collaborare con altri utenti in tempo reale
5 di 14
Add-on per Google Docs
• Dal 2014 è possibile sviluppare componenti aggiuntivi che
permettono di ampliare le funzionalità della piattaforma
• Un Add-on è composto da un insieme di file
HTML/Javascript/CSS e di script Google Apps Script, il quale:
◦ È basato su Javascript
◦ Viene eseguito dai server di Google
6 di 14
Interfaccia Add-on
• Per aprire l’Add-on, si apre un documento di testo Google Docs e
si preme Start nella relativa voce del menù
7 di 14
Interfaccia Add-on
• L’aggiunta di nuovi esempi avviene mediante la selezione del testo
ed il click sul relativo pulsante Add
• Gli esempi vengono evidenziati con colori diversi per un’indicazione
visuale istantanea
8 di 14
Interfaccia Add-on
• Extract avvia la costruzione
dell’estrattore in base agli
esempi forniti
• Il comportamento
dell’estrattore è mostrato
dal sistema
• Viene formulata una query
allo scopo di ottenere un
nuovo esempio (active
learning)
9 di 14
Esportazione estrazioni
• Cliccando su Export è
possibile esportare le
attuali estrazioni
suggerite in un nuovo
documento
• Si aprirà una finestra
modale con un link al
nuovo documento
contenente le estrazioni
10 di 14
Dettagli implementativi
Nome file Righe Contenuto
EntityExtractor.gs 561 Motore dell’algoritmo
Main.gs 507 Gestione interazione utente
Set.gs 54 Struttura dati insieme
Sidebar.css.html 67 CSS Sidebar
Sidebar.html 61 HTML Sidebar
Sidebar.js.html 322 Javascript Sidebar
Store.gs 53 Gestore memorizzazione dati server
TextRange.gs 34 Struttura dati annotazione
11 di 14
Limiti della piattaforma e sviluppi futuri
• Google Docs è una piattaforma proprietaria che presenta dei limiti
intriseci:
◦ Le evidenziature sono permanenti, modificano la struttura del
documento
◦ Non è possibile gestire l’evento di chiusura dell’Add-on, impedendo
l’esecuzione di azioni di pulizia del documento
◦ Lo spazio di archiviazione lato server è ristretto, ciò rende difficile
implementare meccanismi di cache atti a diminuire il carico
computazionale dell’algoritmo
• Soluzione:
◦ Migrazione a piattaforma web standalone o GUI desktop
12 di 14
Demo
Dimostrazione
13 di 14
Fine
Grazie per l’attenzione.
14 di 14

More Related Content

Viewers also liked

Zivljenje po konferenci razvijalcev Google I/O_Marketing Magazin_jul-avg2016_...
Zivljenje po konferenci razvijalcev Google I/O_Marketing Magazin_jul-avg2016_...Zivljenje po konferenci razvijalcev Google I/O_Marketing Magazin_jul-avg2016_...
Zivljenje po konferenci razvijalcev Google I/O_Marketing Magazin_jul-avg2016_...
Urska Saletinger
 
E.e.s. n° 2
E.e.s. n° 2E.e.s. n° 2
Fitness Courses In India
Fitness Courses In IndiaFitness Courses In India
Fitness Courses In India
Fitness Matters
 
เอกสารวิเคราะห์รายไตรมาส Monitor East & South East Asia ครั้งที่ 2 ประจำเดือน...
เอกสารวิเคราะห์รายไตรมาส Monitor East & South East Asia ครั้งที่ 2 ประจำเดือน...เอกสารวิเคราะห์รายไตรมาส Monitor East & South East Asia ครั้งที่ 2 ประจำเดือน...
เอกสารวิเคราะห์รายไตรมาส Monitor East & South East Asia ครั้งที่ 2 ประจำเดือน...
Klangpanya
 
Swot vinasoy tường
Swot vinasoy   tườngSwot vinasoy   tường
Swot vinasoy tường
Huỳnh Việt
 
Biti's shooting board opt1
Biti's shooting board opt1Biti's shooting board opt1
Biti's shooting board opt1alphabeta_yen
 
Результати дослідження комп'ютерної грамотності мешканців
Результати дослідження комп'ютерної грамотності мешканцівРезультати дослідження комп'ютерної грамотності мешканців
Результати дослідження комп'ютерної грамотності мешканців
SmartLviv
 

Viewers also liked (8)

Zivljenje po konferenci razvijalcev Google I/O_Marketing Magazin_jul-avg2016_...
Zivljenje po konferenci razvijalcev Google I/O_Marketing Magazin_jul-avg2016_...Zivljenje po konferenci razvijalcev Google I/O_Marketing Magazin_jul-avg2016_...
Zivljenje po konferenci razvijalcev Google I/O_Marketing Magazin_jul-avg2016_...
 
E.e.s. n° 2
E.e.s. n° 2E.e.s. n° 2
E.e.s. n° 2
 
SYM press release
SYM press releaseSYM press release
SYM press release
 
Fitness Courses In India
Fitness Courses In IndiaFitness Courses In India
Fitness Courses In India
 
เอกสารวิเคราะห์รายไตรมาส Monitor East & South East Asia ครั้งที่ 2 ประจำเดือน...
เอกสารวิเคราะห์รายไตรมาส Monitor East & South East Asia ครั้งที่ 2 ประจำเดือน...เอกสารวิเคราะห์รายไตรมาส Monitor East & South East Asia ครั้งที่ 2 ประจำเดือน...
เอกสารวิเคราะห์รายไตรมาส Monitor East & South East Asia ครั้งที่ 2 ประจำเดือน...
 
Swot vinasoy tường
Swot vinasoy   tườngSwot vinasoy   tường
Swot vinasoy tường
 
Biti's shooting board opt1
Biti's shooting board opt1Biti's shooting board opt1
Biti's shooting board opt1
 
Результати дослідження комп'ютерної грамотності мешканців
Результати дослідження комп'ютерної грамотності мешканцівРезультати дослідження комп'ютерної грамотності мешканців
Результати дослідження комп'ютерної грамотності мешканців
 

Similar to Realizzazione di un Add-on per Google Docs per estrazione interattiva di pattern sintattici

Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Pieredoardo Gabutti
 
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Pieredoardo Gabutti
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Stefano Costanzo
 
Sviluppare moduli per il client web
Sviluppare moduli per il client webSviluppare moduli per il client web
Sviluppare moduli per il client web
Associazione Odoo Italia
 
PROGETTAZIONE E SVILUPPO DI UN FRAMEWORK DI SUPPORTO IN AMBIENTE AZIENDALE SU...
PROGETTAZIONE E SVILUPPO DI UN FRAMEWORK DI SUPPORTO IN AMBIENTE AZIENDALE SU...PROGETTAZIONE E SVILUPPO DI UN FRAMEWORK DI SUPPORTO IN AMBIENTE AZIENDALE SU...
PROGETTAZIONE E SVILUPPO DI UN FRAMEWORK DI SUPPORTO IN AMBIENTE AZIENDALE SU...
Alex Ronci
 
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Luca Bressan
 
Vdcnn daniele meetup_27_june
Vdcnn daniele meetup_27_juneVdcnn daniele meetup_27_june
Vdcnn daniele meetup_27_june
Deep Learning Italia
 
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
DavideFegez
 
Corso introduttivo di Design Pattern in Java per Elis - 1
Corso introduttivo di Design Pattern in Java per Elis - 1Corso introduttivo di Design Pattern in Java per Elis - 1
Corso introduttivo di Design Pattern in Java per Elis - 1
Antonio Musarra
 
5 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/185 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/18
Giuseppe Vizzari
 
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
Commit University
 
Smart api
Smart apiSmart api
Smart api
Simone Romano
 
Tesi3
Tesi3Tesi3
Tesi3
tryyrt
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
Giuseppe Vizzari
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptSinergia Totale
 
Sperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
Sperimentazione di Tecnologie di Deep Learning su Sistemi EmbeddedSperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
Sperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
MathiasPoloPerucchin
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)
Giuseppe Vizzari
 
Migrazione di un sito web mediante tecnica di estrazione dati automatizzata
Migrazione di un sito web mediante tecnica di estrazione dati automatizzataMigrazione di un sito web mediante tecnica di estrazione dati automatizzata
Migrazione di un sito web mediante tecnica di estrazione dati automatizzata
GiulioZorzoli
 
Presentazione Sviluppo di un prototipo di interfaccia
Presentazione Sviluppo di un prototipo di interfacciaPresentazione Sviluppo di un prototipo di interfaccia
Presentazione Sviluppo di un prototipo di interfacciaLeD87
 

Similar to Realizzazione di un Add-on per Google Docs per estrazione interattiva di pattern sintattici (20)

Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
 
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
 
Sviluppare moduli per il client web
Sviluppare moduli per il client webSviluppare moduli per il client web
Sviluppare moduli per il client web
 
Design patterns
Design patternsDesign patterns
Design patterns
 
PROGETTAZIONE E SVILUPPO DI UN FRAMEWORK DI SUPPORTO IN AMBIENTE AZIENDALE SU...
PROGETTAZIONE E SVILUPPO DI UN FRAMEWORK DI SUPPORTO IN AMBIENTE AZIENDALE SU...PROGETTAZIONE E SVILUPPO DI UN FRAMEWORK DI SUPPORTO IN AMBIENTE AZIENDALE SU...
PROGETTAZIONE E SVILUPPO DI UN FRAMEWORK DI SUPPORTO IN AMBIENTE AZIENDALE SU...
 
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
 
Vdcnn daniele meetup_27_june
Vdcnn daniele meetup_27_juneVdcnn daniele meetup_27_june
Vdcnn daniele meetup_27_june
 
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
 
Corso introduttivo di Design Pattern in Java per Elis - 1
Corso introduttivo di Design Pattern in Java per Elis - 1Corso introduttivo di Design Pattern in Java per Elis - 1
Corso introduttivo di Design Pattern in Java per Elis - 1
 
5 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/185 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/18
 
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
 
Smart api
Smart apiSmart api
Smart api
 
Tesi3
Tesi3Tesi3
Tesi3
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScript
 
Sperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
Sperimentazione di Tecnologie di Deep Learning su Sistemi EmbeddedSperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
Sperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)
 
Migrazione di un sito web mediante tecnica di estrazione dati automatizzata
Migrazione di un sito web mediante tecnica di estrazione dati automatizzataMigrazione di un sito web mediante tecnica di estrazione dati automatizzata
Migrazione di un sito web mediante tecnica di estrazione dati automatizzata
 
Presentazione Sviluppo di un prototipo di interfaccia
Presentazione Sviluppo di un prototipo di interfacciaPresentazione Sviluppo di un prototipo di interfaccia
Presentazione Sviluppo di un prototipo di interfaccia
 

Recently uploaded

onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simoneonvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI MarcoConvegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA AlessioConvegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO YuriConvegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI AlfredoConvegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO LuigiaConvegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO TizianoConvegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI AndreaConvegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA FrancescoConvegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA BiancaConvegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Servizi a rete
 

Recently uploaded (10)

onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simoneonvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI MarcoConvegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA AlessioConvegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO YuriConvegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI AlfredoConvegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO LuigiaConvegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO TizianoConvegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI AndreaConvegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA FrancescoConvegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA BiancaConvegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
 

Realizzazione di un Add-on per Google Docs per estrazione interattiva di pattern sintattici

  • 1. Realizzazione di un Add-on per Google Docs per estrazione interattiva di pattern sintattici Relatore Alberto Bartoli Correlatore Eric Medvet Candidato Lorenzo Gasparini 1 di 14
  • 2. Descrizione del problema • Dato un documento di testo si vogliono individuare ed estrarre tutte le occorrenze di un determinato pattern sintattico • Esempi: Indirizzi IP (XXX.XXX.XXX.XXX), Date (DD/MM/YYYY), E-mail (alias@domain.ext) 2 di 14
  • 3. Motivazione di base Figura: RegEx (semplificata) per indirizzo IP • Gli strumenti per specificare ed estrarre pattern da documenti testuali esistono già (e.g. RegEx), perchè un nuovo approccio? • La curva di apprendimento di tali strumenti è ripida, non sono alla portata degli utenti comuni • Idea: l’utente fornisce degli esempi di entità da estrarre e da non estrarre, l’algoritmo deduce il pattern e lo estrae dal testo 3 di 14
  • 4. Obiettivo della tesi • Implementare un algoritmo di estrazione delle entità basato sulla sintassi, sotto forma di Add-on per Google Docs • L’algoritmo è stato sviluppato nel laboratorio di Machine Learning, ed è risultato in media il migliore in un confronto con altri algoritmi su 10 dataset • L’algoritmo si basa sull’active learning: genera un estrattore sulla base degli esempi forniti dall’utente; sceglie l’esempio che deve aggiungere l’utente per migliorare l’estrattore 4 di 14
  • 5. Google Docs • Nasce nel 2006, è una piattaforma online di elaborazione testi • Consente agli utenti di creare e modificare documenti direttamente nel browser e di collaborare con altri utenti in tempo reale 5 di 14
  • 6. Add-on per Google Docs • Dal 2014 è possibile sviluppare componenti aggiuntivi che permettono di ampliare le funzionalità della piattaforma • Un Add-on è composto da un insieme di file HTML/Javascript/CSS e di script Google Apps Script, il quale: ◦ È basato su Javascript ◦ Viene eseguito dai server di Google 6 di 14
  • 7. Interfaccia Add-on • Per aprire l’Add-on, si apre un documento di testo Google Docs e si preme Start nella relativa voce del menù 7 di 14
  • 8. Interfaccia Add-on • L’aggiunta di nuovi esempi avviene mediante la selezione del testo ed il click sul relativo pulsante Add • Gli esempi vengono evidenziati con colori diversi per un’indicazione visuale istantanea 8 di 14
  • 9. Interfaccia Add-on • Extract avvia la costruzione dell’estrattore in base agli esempi forniti • Il comportamento dell’estrattore è mostrato dal sistema • Viene formulata una query allo scopo di ottenere un nuovo esempio (active learning) 9 di 14
  • 10. Esportazione estrazioni • Cliccando su Export è possibile esportare le attuali estrazioni suggerite in un nuovo documento • Si aprirà una finestra modale con un link al nuovo documento contenente le estrazioni 10 di 14
  • 11. Dettagli implementativi Nome file Righe Contenuto EntityExtractor.gs 561 Motore dell’algoritmo Main.gs 507 Gestione interazione utente Set.gs 54 Struttura dati insieme Sidebar.css.html 67 CSS Sidebar Sidebar.html 61 HTML Sidebar Sidebar.js.html 322 Javascript Sidebar Store.gs 53 Gestore memorizzazione dati server TextRange.gs 34 Struttura dati annotazione 11 di 14
  • 12. Limiti della piattaforma e sviluppi futuri • Google Docs è una piattaforma proprietaria che presenta dei limiti intriseci: ◦ Le evidenziature sono permanenti, modificano la struttura del documento ◦ Non è possibile gestire l’evento di chiusura dell’Add-on, impedendo l’esecuzione di azioni di pulizia del documento ◦ Lo spazio di archiviazione lato server è ristretto, ciò rende difficile implementare meccanismi di cache atti a diminuire il carico computazionale dell’algoritmo • Soluzione: ◦ Migrazione a piattaforma web standalone o GUI desktop 12 di 14