• Non ci sono risultati.

COMPUTING FRAMEWORKS AND APPLICATIONS FOR TEXT PROCESSING ON BIG DATA

N/A
N/A
Protected

Academic year: 2021

Condividi "COMPUTING FRAMEWORKS AND APPLICATIONS FOR TEXT PROCESSING ON BIG DATA"

Copied!
4
0
0

Testo completo

(1)

Relazione dell’Allievo Tiziano FAGNI sull’insieme di attività di ricerca svolte

nell’ambito del Corso di Dottorato, ciclo XXIX

Classificazione automatica di siti Web per settori industriali

Classificare le aziende per settore industriale è un importante compito in finanza, in quanto consente agli investitori e agli analisti di ricerca di concentrarsi su specifici sotto-settori di interesse dei mercati locali e globali ai fini di un monitoraggio e una programmazione adeguata degli investimenti. Questo compito è sta-to tradizionalmente eseguito manualmente da specialisti dedicati, tuttavia la globalizzazione e la dinamici-tà dei mercati ha reso questo compito sempre più arduo e quindi è subentrata la necessità di introdurre si-stemi software automatici che affiancassero/sostituissero gli specialisti nello svolgimento di questa impor-tante attività. In questo lavoro di ricerca abbiamo costruito un sistema di classificazione automatica di siti Web basato su tecniche supervisionate di machine learning ed operante su tassonomie di codici custom definiti dagli utenti. Il software, prende in input dei training (un insieme di siti Web opportunamente etichet-tati manualmente), e da essi apprende un classificatore che è in grado di etichettare automaticamente nuo-vi siti Web. Il classificatore è costruito sulla base di certe caratteristiche dei dati di input. In particolare, il sistema estrae informazioni utili per il processo di apprendimento sia da sorgenti dati interne (ad esempio titolo, url, metainformazioni, numero di link uscenti, numero di paragrafi, ecc.) sia da sorgenti dati esterne (Alexa, Facebook e Twitter). Il sistema è inoltre in grado di fornire due modalità di classificazione. Una mo-dalità “hard” in cui il sistema classifica autonomamente i siti Web, un’altra “soft” in cui il sistema funziona come una tecnologia assistiva per gli utenti, ai quali è demandato il compito finale di scegliere l’etichetta più opportuna per un certo sito. Abbiamo sperimentato il sistema su un insieme di dati specifico per market research consistente su un training set contenente più di 20000 esempi di training e basato su una tasso-nomia gerarchica comprendente più di 200 codici. La sperimentazione ha permesso di verificare la bontà del sistema costruito, in particolare di evidenziare quali tipologie di informazioni sono più utili per costrui-re un software di questo tipo che garantisca sia un buona accuratezza dei risultati forniti sia una efficienza adeguata in termini di costo di classificazione di un sito Web. Classificazione automatica di applicazioni per dispositivi mobili in tassonomie custom

L'adozione di massa di dispositivi smartphone e tablet, insieme con il consolidamento delle piattaforme software correlate - iOS, Android, e più recentemente Windows Phone - hanno potenziato la crescita del mercato delle applicazioni mobili. Di fronte al numero enorme di applicazioni esistenti (presenti sia store ufficiali che su altri canali non ufficiali), gli utenti spesso hanno difficoltà nel trovare le app che meglio si adattano alle loro esigenze. Organizzare le applicazioni in opportuni schemi di classificazione certamente può aiutare un utente nella ricerca di una app specifica. Anche se gli store ufficiali dispongono ciascuno di tassonomie ad hoc, spesso risultano troppo generiche e talvolta le applicazioni al loro interno sono asse-gnate a categorie non idonee.

In questa attività di ricerca proponiamo di migliorare il processo di ricerca di applicazioni (app discovery) mediante l’adozione di un sistema automatico di classificazione/ranking delle app funzionante su tassono-mie definite dagli utenti e indipendenti a) dalle tassonomie degli store originali; b) dalla tipologia dei dispo-sitivi utlizzati.

Il sistema usa un approccio supervisionato di machine learning per apprendere classificatori automatici di app specifici per le tassonomie di interesse. Data una specifica applicazione di un certo store (in questo stu-dio ci siamo concentrati su Google Play Store e Apple App Store), il sistema

(2)

estrae un buon numero di meta-informazioni (ad esempio nome, descrizione, dimensione in byte, ecc.) che descrivono dettagliatamente l’applicazione e le sue caratteristiche, quindi molto utili ai fini dell’apprendimento del classificatore auto-matico. La sperimentazione è stata fatta su un dataset contenete poco meno di 6000 applicazioni preclassificate manualmente su una tassonomia custom di 50 codici. Il sistema è stato valutato in termini di accuratezza sia singolarmente sui vari tipi di metadati che sono stati individuati sia complessivamente facendo uso di tutte le informazioni disponibili. Inoltre è stato valutato anche l’impatto del processo di selezione delle feature ai fini di un miglioramento sia dell’efficacia sia dell’efficienza del sistema. Processfast: un framework per il calcolo concorrente/parallelo con approccio ibrido task-parallel/data-parallel per applicazioni di machine learning operanti in contesti BIG DATA Lo scopo di questa attività di ricerca è quello di fornire strumenti innovativi per la scrittura di appli-cazioni a forte grado di concorrenza/parallelismo e con esigenze di calcolo su grosse quantità di dati (BIG DATA) testuali. Gli scenari di calcolo su grandissime quantità di dati sono sempre più frequenti: dall’elaborazione di stream di dati in tempo reale dal Web, all’analisi dei grafi dei social network, con miliardi di nodi/archi, al modello del deep learning nella comprensione del testo, in cui reti neurali di grandi dimensioni sono allenate su decine di miliardi di esempi di training. Sul mercato esistono molti strumenti per fare data processing su BIG DATA ma sono disegnati per lavorare principalmente su infrastrutture di calcolo distribuite di grandi dimensioni (centinaia/migliaia di nodi). Non è chiaro se questi sistemi scalano bene in contesti applicativi “di laboratorio” in cui è necessario fare analisi su quantità di dati dell’ordine delle decine di gigabyte con un insieme di risorse di calcolo disponibili limitato. In questa attività è stato ideato e implementato ProcessFast, un nuovo framework di sviluppo in Java che fornisce funzionalità di alto livello sia task-parallel che data-parallel, con una particolare attenzione alla facilità di integrazione delle due componenti in una stessa applicazione. Il programmatore idealmente è in grado di scrivere l’applicazione di in-teresse una sola volta ed essere in grado di eseguirla su diverse piattaforme runtime, dotate di differenti peculiarità e caratteristiche (al momento esiste una implementazione multi-thread single-machine dell’ambiente di runtime, che simula appunto lo scenario applicativo in cui si ha a disposizione un setup “di laboratorio”). A livello tecnologico, il framework astrae, oltre al sistema runtime effettivamente in uso, an-che l’accesso allo storage su cui andare a memorizzare le informazioni persistenti, facilitando la memorizza-zione degli stessi su tecnologie tra loro molto diverse (DB classico, sistema NOSQL, ecc.). Sono stati eseguiti una serie di esperimenti per comparare le performance di ProcessFast con sistemi popolari quali Apache Hadoop e Apache Spark. I risultati sperimentali indicano che una soluzione ad hoc come ProcessFast risulta più performante di sistemi principalmente pensati per l’uso in data center. Dagli esperimenti è comunque emerso che alcuni software distribuiti, nello specifico Apache Spark, nelle sue versioni più recenti, sono in grado di ottenere performance molto interessanti in scenari applicativi con risorse limitate come quello studiato da ProcessFast, riducendo il gap con quest’ultimo software. I risultati ottenuti suggeriscono pertanto di adottare una soluzione all-in-one come Spark, adatta a tutti gli scenari applicativi, piuttosto che scriversi un proprio software ottimizzato ma solo per un caso specifico. JaTeCS (Java Text Categorization System), un sistema per la costruzione di sistemi automatici di classificazione testuale

Sempre nell’ambito del disegno e realizzazione di strumenti per il ML su dati testuali, è stato sviluppata una libreria Java, JaTeCS, disegnata per la costruzione di sistemi automatici di classificazione di documenti testuali. La libreria supporta tutte le attività richieste da un tipico workflow sperimentale, passando dalla parte di caricamento dei dati testuali, al loro processing

(3)

linguistico, l’estrazione e la selezione delle features di interesse, alla costruzione di classificatori scegliendo tra molti algoritmi di machine learning, fino ad arrivare alla valutazione del modello di apprendimento costruito e dei risultati sperimentali ottenuti. JaTeCS combina quindi le funzionalità tipiche di un tools di NLP (e.g. nltk, openNLP, lingpipe) per il testo, con quel-le di tools di ML (mallet, mahout,scikit-learn), che solitamente considerano un input vettoriale, indipendente dal tipo di dato elaborato alla sorgente. JaTeCS utilizza una struttura dati dedicata per il testo per rappresentare i dati in input in ogni fase dell’elaborazione (le relazioni esistenti tra documenti, etichette e features), sfruttando le caratteristiche intrinseche del dato testuale (e.g., altissima dimensionalità, sparsità, distribuzione zipfiana). Gli algoritmi di ML implementati in JaTeCS utilizzano la stessa struttura dati, per-mettendo di ottimizzare l’elaborazione per il dato testuale. Il software supporta nativamente l’importazione dei più popolari dataset di text analytics quali Reuters21578, RCV1, Ohsumed, ecc., inoltre permette di leggere i dati da altri diffusi formati quali SvmLight, CSV. Il software supporta varie tecniche NLP per l’estrazione di feature dai documenti di input (BOWs, chars ngrams, POS tagging, ecc.) consentendo di selezionare le feature più utili attrarverso l’uso dei più noti metodi di filtering basati su TSR (Informa-tionGain, ChiSquare, ecc.) o distributional semantic models (LSI, Random Indexing, ecc.). Sono disponibili vari algoritmi di ML per classificazione, clustering e regressione: NaiveBayes, Rocchio, KNN, SVM, boosting, ecc. JaTeCS permette di risolvere vari problemi ricorrenti di text processing: classificazione binaria e multi-classe (sia single-label che multi-label), classificazione gerarchica, clustering, active learning, training data cleaning, e quantification.

NLP4Spark, un set di componenti di NLP costruiti sopra Apache Spark

Spark è uno dei sistemi più popolari di data processing presenti sul mercato ed offre di base una libreria di machine learning (MLib) che può essere usata per sviluppare propri modelli di apprendimento. Il supporto che MLib fornisce in termini di varietà di algoritmi è molto limitato, in particolare non è presente alcuna funzionalità specifica per NLP. Lo scopo di questa attività è di colmare queste lacune fornendo un insieme di componenti software interoperabili con MLib e specializzati per NLP (chiamato NLP4SparkML). L’idea è di sfruttare le tecnologie già esistenti su Spark/MLib e integrarle, ove si renda necessario, con tutte le funzionalità tipiche di un sistema di NLP in modo da realizzare alcune delle funzionalità presenti su JaTeCS ma in un ambiente runtime di tipo distribuito. E’ stata realizzata una libreria in Scala in grado di fornire al programmatore un API pulita ed espressiva con la quale scrivere velocemente applicazioni di tipo NLP in ambiente distribuito. La libreria sfrutta una struttura ad indice similare a quanto realizzato in JaTeCS per fornire un modo rapido e semplice al programmatore di leggere/manipolare i dati indicizzati a partire dalla sorgente dati iniziale. Il framework offre una serie di componenti pronti che permettono di operare sui dati testuali in vario modo e secondo le più popolari tecniche di processamento del testo attualmente utilizzate (es. BoW o chars n-grams per l’estrazione di feature, tf-idf o bm25 per la pesatura delle feature, ecc.). Text2Vis, un sistema per fare ricerche testuali all’interno di un DB di immagini raw senza descrizione In questa attività di ricerca abbiamo affrontato il problema di creare un sistema per ricerca cross-media, nel quale sia possibile effettuare una ricerca in una collezione di immagini partendo da una breve testo che de-scrive il contenuto delle immagini di interesse. Il processo di ricerca è stato realizzato imparando a proietta-re, tramite un algoritmo di deep learning, la spazio metrico delle feature testuali all’interno dello spazio vi-suale di rappresentazione delle immagini. Il sistema è costituito da una rete neurale in grado di apprendere, a partire dal testo descrittivo,

(4)

rappresentazioni di immagini in termini feature fc6-fc7 imparate su ImageNet. Il metodo ottimizza due funzioni di loss, una per la parte testuale e una per la visuale, attraverso un processo stocastico in modo da minimizzare l’overfit sui dati di training.

Elenco delle pubblicazioni eseguite

International Journals • Fabio Carrara, Andrea Esuli, Tiziano Fagni, Fabrizio Falchi, Alejandro Moreo Fernández: "Picture It In Your Mind: Generating High Level Visual Representations From Textual Descriptions". Extended version of Neu-IR '16 SIGIR work (see below), published on "Information Retrieval Journal", Springer, October 2017, DOI: 10.1007/s10791-017-9318-6. • Marco Avvenuti, Stefano Cresci, Fabio Del Vigna, Tiziano Fagni, Maurizio Tesconi: "CrisMap: A Big Data Crisis Mapping System based on Damage Detection and Geoparsing". Currently in status "accepted with major revision" for publication on "Information Systems Frontiers" journal, Springer. International Conferences/Workshops with Peer Review • Giacomo Berardi, Andrea Esuli, Tiziano Fagni, Fabrizio Sebastiani: "Multi-store metadata-based supervised mobile app classification". Proceedings of the 30th Annual ACM Symposium on Applied Computing, Salamanca, Spain, April 13-17, 2015. • Giacomo Berardi, Andrea Esuli, Tiziano Fagni, Fabrizio Sebastiani: ''Classifying websites by industry sector: a study in feature design.''. Proceedings of the 30th Annual ACM Symposium on Applied Computing, Salamanca, Spain, April 13-17, 2015. • Andrea Esuli, Tiziano Fagni: ''Processfast, a java framework for development of concurrent and distributed applications''. Proceedings of the 6th Italian Information Retrieval Workshop, Cagliari, Italy, May 25-26, 2015. • Fabio Carrara, Andrea Esuli, Tiziano Fagni, Fabrizio Falchi, Alejandro Moreo Fernández: ''Picture It In Your Mind: Generating High Level Visual Representations From Textual Descriptions''. Neu-IR '16 SIGIR Workshop on Neural Information Retrieval, July 21, 2016, Pisa, Italy. Others publications • Andrea Esuli, Tiziano Fagni: "SparkBOOST, an Apache Spark-based boosting library". Technical report ISTI-CNR, cnr.isti/2016-TR-016, March 2016. • Andrea Esuli, Tiziano Fagni, Alejandro Moreo Fernandez: "JaTeCS, an open-source JAva TExt Categorization System". ArXiv e-prints:1706.06802, June 2017. 03/01/2018, Pisa In fede Dr. Tiziano Fagni

Riferimenti

Documenti correlati

a suite of distributed tools for processing HT sequencing data based on a proven technology: the Hadoop MapReduce framework used in production at the CRS4 Sequencing Center.

Store the identifiers (CarIDs) of the selected cars, and the associated number of failures in year 2018, in the output HDFS folder. Each output line contains one

Each output line contains one pair Brand\tMID, one line per selected brand (the separator is the tab symbol). For instance, suppose that the brand Motorola produces only one

The format of the output line is YearOfBirth youngest female user\tNumber of female users associated with that year of birth (the separator is the tab symbol). Suppose

Pay attention that the output folder must contain also one line for each production plant with a maximum number of failures per robot equal to 0 (i.e., the

Each edition of a course is characterized by a starting date, an ending date, a duration, a venue, a set of teachers (one or more), and a set of attendees (employees of the

• Each film is characterized by the title, the year during which it has been released, the production country, the producer, the film maker, the actors, and the actresses.. The set

La materia, per moltissimo tempo regolata dal diritto internazionale consuetudinario, è oggi disciplinata anche dalla Convenzione di Vienna sulle relazioni diplomatiche del 1961;