Linguistic annotation is a important process for creating language resources used in the fields of Computational Linguistics and Natural Language Processing. After analyzing different schemes of linguistic annotation, and in particular Best-Worst Scaling (BWS), which is an alternative method that takes advantage of the comparative approach in performing the annotations, Litescale is presented, a standalone software written in Python which allows users to perform the annotation process through the BWS scheme. The topic of the report is to extend this application so as to make it multi-user and accessible online. To this purpose, database was designed to guarantee the permanent storage of data, starting from conceptual design, the glossary, the definition of the requirements and Entity-Relationship scheme, up to the logical design consisting of the restructuring of the ER schema and the construction of a relational schema with its integrity constraints. The initial function library was described, and then expanded, to support new multi-user management capabilities and a module for database interaction was implemented. To use the functions of the library, a RESTful API was implemented to provide remote access and thus the ability to reuse it for future development of other tools, such as a mobile application. The choice for the framework fell on Flask, after analyzing the main available Web frameworks for Python. The implementation of the API provided the definition and programming of the various necessary resources and the management of all aspects that concern the security and authentication of users. In addition, a testing process was performed on the implementation of the API. The resources offered have been used for the development of a web application that implements an easy to use interface; an example of workflow using the developed tool was then shown. The application was finally distributed online and made publicly accessible.

L'annotazione linguistica è un processo fondamentale per la creazione di risorse linguistiche utilizzate nel campo della Linguistica Computazionale e della Elaborazione del Linguaggio Naturale. Dopo aver analizzato diversi schemi di annotazione linguistica, ed in particolar modo il Best-Worst Scaling, ovvero un metodo alternativo che sfrutta l'approccio comparativo nell'eseguire le annotazioni, è stato presentato Litescale, un software stand-alone scritto in Python che permette di eseguire il processo di annotazione proprio tramite quest'ultimo schema. L'obiettivo, oggetto della relazione, è stato quello di estendere tale applicativo in modo da renderlo multiutente ed accessibile online. A tale scopo, è stato progettato da zero un database che garantisse la memorizzazione permanente dei dati, a partire dalla progettazione concettuale, quindi definizione del glossario, dei requisiti e dello schema Entity-Relationship, fino alla progettazione logica consistente nella ristrutturazione dello schema ER e nella costruzione di uno schema relazionale, con i relativi vincoli di integrità. Successivamente, è stata descritta, e poi ampliata, la libreria di funzioni iniziale, in modo da supportare le nuove funzionalità di gestione multi-utente ed è stato implementato un modulo per l'interazione con il database. Per utilizzare le funzioni della libreria programmata, è stata implementata da zero una API RESTful in modo da fornire l'accesso da remoto e quindi la possibilità di riutilizzarla per lo sviluppo futuro di altri strumenti, come ad esempio un'applicazione mobile. La scelta del framework utilizzato è ricaduta su Flask, dopo aver analizzato i principali web framework per python disponibili. L'implementazione della API ha previsto la definizione e programmazione delle varie risorse necessarie e la gestione di tutti gli aspetti che riguardano la sicurezza e l'autenticazione degli utenti. Inoltre, è stato eseguito un processo di testing sull'implementazione dell'API. Le risorse offerte da quest'ultima sono state utilizzate per lo sviluppo di un'applicazione web che implementa un'interfaccia utente di facile utilizzo; è stato dimostrato, poi, un esempio di flusso di lavoro nell'utilizzo del tool sviluppato. L'applicativo è stato, infine, distribuito online e reso accessibile a tutti.

Litescale: una API RestFul e un’interfaccia web per l’annotazione linguistica tramite Best-Worst Scaling

CAGNAZZO, CHRISTIAN DAMIANO
2020/2021

Abstract

L'annotazione linguistica è un processo fondamentale per la creazione di risorse linguistiche utilizzate nel campo della Linguistica Computazionale e della Elaborazione del Linguaggio Naturale. Dopo aver analizzato diversi schemi di annotazione linguistica, ed in particolar modo il Best-Worst Scaling, ovvero un metodo alternativo che sfrutta l'approccio comparativo nell'eseguire le annotazioni, è stato presentato Litescale, un software stand-alone scritto in Python che permette di eseguire il processo di annotazione proprio tramite quest'ultimo schema. L'obiettivo, oggetto della relazione, è stato quello di estendere tale applicativo in modo da renderlo multiutente ed accessibile online. A tale scopo, è stato progettato da zero un database che garantisse la memorizzazione permanente dei dati, a partire dalla progettazione concettuale, quindi definizione del glossario, dei requisiti e dello schema Entity-Relationship, fino alla progettazione logica consistente nella ristrutturazione dello schema ER e nella costruzione di uno schema relazionale, con i relativi vincoli di integrità. Successivamente, è stata descritta, e poi ampliata, la libreria di funzioni iniziale, in modo da supportare le nuove funzionalità di gestione multi-utente ed è stato implementato un modulo per l'interazione con il database. Per utilizzare le funzioni della libreria programmata, è stata implementata da zero una API RESTful in modo da fornire l'accesso da remoto e quindi la possibilità di riutilizzarla per lo sviluppo futuro di altri strumenti, come ad esempio un'applicazione mobile. La scelta del framework utilizzato è ricaduta su Flask, dopo aver analizzato i principali web framework per python disponibili. L'implementazione della API ha previsto la definizione e programmazione delle varie risorse necessarie e la gestione di tutti gli aspetti che riguardano la sicurezza e l'autenticazione degli utenti. Inoltre, è stato eseguito un processo di testing sull'implementazione dell'API. Le risorse offerte da quest'ultima sono state utilizzate per lo sviluppo di un'applicazione web che implementa un'interfaccia utente di facile utilizzo; è stato dimostrato, poi, un esempio di flusso di lavoro nell'utilizzo del tool sviluppato. L'applicativo è stato, infine, distribuito online e reso accessibile a tutti.
ITA
Linguistic annotation is a important process for creating language resources used in the fields of Computational Linguistics and Natural Language Processing. After analyzing different schemes of linguistic annotation, and in particular Best-Worst Scaling (BWS), which is an alternative method that takes advantage of the comparative approach in performing the annotations, Litescale is presented, a standalone software written in Python which allows users to perform the annotation process through the BWS scheme. The topic of the report is to extend this application so as to make it multi-user and accessible online. To this purpose, database was designed to guarantee the permanent storage of data, starting from conceptual design, the glossary, the definition of the requirements and Entity-Relationship scheme, up to the logical design consisting of the restructuring of the ER schema and the construction of a relational schema with its integrity constraints. The initial function library was described, and then expanded, to support new multi-user management capabilities and a module for database interaction was implemented. To use the functions of the library, a RESTful API was implemented to provide remote access and thus the ability to reuse it for future development of other tools, such as a mobile application. The choice for the framework fell on Flask, after analyzing the main available Web frameworks for Python. The implementation of the API provided the definition and programming of the various necessary resources and the management of all aspects that concern the security and authentication of users. In addition, a testing process was performed on the implementation of the API. The resources offered have been used for the development of a web application that implements an easy to use interface; an example of workflow using the developed tool was then shown. The application was finally distributed online and made publicly accessible.
IMPORT DA TESIONLINE
File in questo prodotto:
File Dimensione Formato  
883100_tesifinale.pdf

non disponibili

Tipologia: Altro materiale allegato
Dimensione 1.27 MB
Formato Adobe PDF
1.27 MB Adobe PDF

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14240/32112