SlideShare a Scribd company logo
1 of 14
Download to read offline
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

Biti's shooting board opt1
Biti's shooting board opt1Biti's shooting board opt1
Biti's shooting board opt1
alphabeta_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
 
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
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScript
Sinergia 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
 
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
LeD87
 

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
 
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
 
Catalogo corsi Emerasoft 2013 - 2014
Catalogo corsi Emerasoft 2013 - 2014Catalogo corsi Emerasoft 2013 - 2014
Catalogo corsi Emerasoft 2013 - 2014
 

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