**Tesi di Laurea @ ARA / LACAM** *************************** * .-. * * | S | * * .------|--. * * | M | | L | * * '--|------' * * | W | * * '-' * *************************** # Argomenti Sono disponibili tesi di laurea (triennale / magistrale) sulle seguenti tematiche: + __Ingegneria della Conoscenza__ - [Knowledge Graph](https://arxiv.org/abs/2002.00388v1): Applicazioni ML - Trattamento dell'incertezza con i modelli dei dati per il Semantic Web: [[URW3-XG](http://www.w3.org/2005/Incubator/urw3/XGR-urw3-20080331/)] [[URSW](http://c4i.gmu.edu/ursw/2017)] - Concetti/Relazioni Rough in DL per il ragionamento approssimato - [Ontologie]("http://it.wikipedia.org/wiki/Ontologia_(informatica)"): costruzione, raffinamento, allineamento, mapping, ecc. - Misure di _distanza_ / _similarità semantiche_ e metodi correlati: [[blog](http://www.similarity-blog.de/)] - _Retrieval_, _matchmaking_, _ranking_ di risorse annotate semanticamente: [Semantic search](http://en.wikipedia.org/wiki/Semantic_search) - Semantic Web | [Ontology](http://lacam.di.uniba.it/~nico/research/ontologymining.html) _Mining_ - [Ontology matching](http://www.ontologymatching.org/), [Instance matching](http://www.instancematching.org/) - Metodi per [Linked Data](http://linkeddata.org/) - Problematiche relative ai DB NoSQL, specificatamente i _modelli a grafo_ e _triple store_ - Classificazione multi-label (usando [MEKA](http://waikato.github.io/meka/)) - [Stream Reasoning](http://streamreasoning.org/): interrogazione, ragionamento, induzione, tenendo conto del fattore *temporale* + __Machine Learning__ e __Data Mining__ Multi-relazionali - Approcci simbolico-logici e relazionali - Approcci statistici: es. [Kernel Methods](http://www.kernel-machines.org/) e SVM - Approcci evolutivi ed ottimizzazione mediante ricerca locale - Integrazione di tecniche multi-strategiche - Combinazione di classificatori / Ensemble Methods + Boosting, Bagging (e.g. Foreste di DT), Stacking - _Clustering_ concettuale,... - [Representation Learning](https://en.wikipedia.org/wiki/Feature_learning) su _Knowledge Graph_ - [Active Learning]("https://en.wikipedia.org/wiki/Active_learning_(machine_learning)") - Modelli per _link prediction_ # Applicazioni + Implementazione e test di algoritmi su piattaforme per la computazione distribuita [Apache Spark]("https://spark.apache.org/") + [Re-]Ingegnerizzazione di prototipi dei sistemi che implementano tecniche di machine learning / data mining per Linked Data + Gestione di basi di conoscenza con risorse annotate semanticamente + Apprendimento automatico di wrapper per la costruzioni di endpoint [SPARQL]("http://www.w3.org/TR/rdf-sparql-query/"), uso di [SPARQL-ML]("http://www.ifi.uzh.ch/ddis/research/completed-projects/semweb/sparql-ml/") per l'ontology mining ... + Operatori di aggregazione risultati nell'interrogazione di basi di conoscenza ([SPARQL]("http://www.w3.org/TR/rdf-sparql-query/")) + Gestione di [Servizi Web Semantici]("http://www.w3.org/standards/webofservices/") + Ricerca/scoperta di SWS + Semantica e [Microservizi](https://en.wikipedia.org/wiki/Microservices) in alternativa a SOA + Applicazioni di approcci di [deep learning]("https://en.wikipedia.org/wiki/Deep_learning" target="_blank" lang="en") alle rappresentazioni complesse (del Web Semantico) + Ad es. riusando piattaforme, API e/o librerie dedicate come [DeepLearning4J]("https://deeplearning4j.org") + Deep Learning per l'[ontology reasoning](https://arxiv.org/pdf/1705.10342.pdf) + Costruzione di dataset per il benchmarking di algoritmi ML (come quello di [Uni-Mannheim](https://dws.informatik.uni-mannheim.de/en/research/a-collection-of-benchmark-datasets-for-ml)) + Active learning per l'etichettatura di grandi dataset del [Web dei Dati](https://www.w3.org/blog/category/web-of-data/) ## Proposte (da richiedere) 1. Progettazione sperimentale e test di sistemi predittivi basati su embedding applicati a KG 2. Re-ingegnerizzazione (porting) di sistemi predittivi per l'uso di piattaforme standard È altresì possibile avanzare _proposte spontanee_ di argomenti/applicazioni di proprio interesse negli ambiti sopra citati. A tal fine può essere utile trarre _spunto_ da articoli scientifici presentati in edizioni recenti delle maggiori conferenze dei settori interessati: + __Web__ [WWW](https://dblp.org/db/conf/www), [ISWC](https://dblp.org/db/conf/semweb), [ESWC](https://dblp.org/db/conf/esws/), [WI](https://dblp.org/db/conf/webi), [ACM-SAC-SWA](https://dblp.org/db/conf/sac) + __Machine Learning & Data Mining__ [ICML](https://dblp.org/db/conf/icml/), [ECML](https://dblp.org/db/conf/ecml/), [ICLR](https://iclr.cc/), [ICDM](https://dblp.org/db/conf/icdm), [ILP](https://dblp.org/db/conf/ilp) + __Knowledge Engineering & Management__ [EKAW](https://dblp.org/db/conf/ekaw), [CIKM](https://dblp.org/db/conf/cikm) + __Artificial Intelligence__ [ECAI](https://dblp.org/db/conf/ecai), [IJCAI](https://dblp.org/db/conf/ijcai), [AAAI](https://dblp.org/db/conf/aaai) ### Librerie ML riusabili Java : [WEKA](http://www.cs.waikato.ac.nz/ml/weka/), [MEKA](http://meka.sourceforge.net/), [ADAMS](https://adams.cms.waikato.ac.nz/), [Encog](https://www.heatonresearch.com/encog/), [DatumBox](http://www.datumbox.com/), Apache [Mahout](http://mahout.apache.org/), [Rapid Miner](https://rapidminer.com/educational-program/), [Oryx 2](http://oryx.io/), [H20](https://github.com/h2oai/h2o-3), Apache Spark [MLlib](http://spark.apache.org/mllib/), [RankLib](https://sourceforge.net/p/lemur/wiki/RankLib/), Apache [Samoa](http://samoa.incubator.apache.org/), [Moa](https://moa.cms.waikato.ac.nz/) Python : [scikit-learn](https://scikit-learn.org/) (con [Pandas](https://pandas.pydata.org/), [Numpy](https://numpy.org/) e [SciPy](https://www.scipy.org/)), [Tensorflow](https://www.tensorflow.org/) (+[Keras](https://keras.io/)), [Owlready2](https://pypi.org/project/Owlready2/), [RDFlib](https://rdflib.dev/) ## Prerequisiti + _Pochi_ (≤2) esami da sostenere + Serietà, _autonomia_, _interesse_ per gli argomenti scelti ### Requisiti opzionali + Esami in curriculum attinenti agli argomenti di interesse come, ad es., _Ingegneria della Conoscenza_ (_Rappresentazione_, _Gestione_, _Scoperta di Conoscenza_), _Apprendimento Automatico_/_Machine Learning_, Intelligenza Artificiale, _Basi di Dati Avanzate_ o basate su _Modelli di Nuova Generazione_ + Conoscenza di linguaggi di programmazione ad oggetti / dichiarativi e in ambienti distribuiti (Web) # Organizzazione del Lavoro Le tesi prevedono: + lo studio preliminare dello stato dell'arte e della pratica delle soluzioni del problema considerato + l'ideazione di una soluzione basata sulle tecniche studiate + la _progettazione_, e _realizzazione_ e il _test_ sperimentale di __prototipi__ che implementino le tecniche studiate. + template (facoltativi): [LaTeX](https://www.overleaf.com/gallery/tagged/thesis) o [Markdeep](https://github.com/doersino/markdeep-thesis) ### Tempistica La tempistica dipende dal n.ro crediti previsti sul Regolamento Didattico del proprio corso di studi e dai risultati ottenuti. Indicativamente: | | | |-----------------:|:------------| |Laurea Triennale | circa 4 mesi| |Laurea Magistrale[^phd] | circa 6 mesi| comprensivi del periodo di tirocinio (cfr. sezione sottostante) e del successivo lavoro di tesi. **NB** È consigliabile contattare il potenziale relatore dopo aver sostenuto l'esame dell'insegnamento nell'ambito del quale si intende svolgere il lavoro finale ## Tirocinio / Stage ![→ [LACAM]("/")]("http://lacam.di.uniba.it/immagini/logo3.gif") + L'attività da svolgere durante il tirocinio, preliminare rispetto a quella per il lavoro finale, va concordata con il docente - Una breve descrizione del lavoro da svolgere va inserita nell'apposito modulo da richiedere in Segreteria Studenti del Dipartimento (cfr. [pagina]("https://www.uniba.it/ricerca/dipartimenti/informatica/didattica/tirocini/tirocini-informatica") con regolamento e modulistica) + È possibile discutere la possibilità di stage presso aziende già convenzionate con il Dipartimento: anche in tal caso andranno preventivamente concordati temi e piano di lavoro. + È prevista, altresì, la possibilità di stage all'estero per periodi limitati, nell'ambito di programmi specifici, convenzioni (o progetti) di collaborazione in atto con centri di ricerca esteri. - ad es. Erasmus+ Traineeship TUCEPS **NB** il tirocinio prevede un dato numero di crediti secondo il Regolamento in vigore da acquisire prima di dedicarsi al lavoro finale che prevede cfu distinti, pur potendosi configurare come continuazione e approfondimento di studi precedenti ### Informazioni e Modulistica Si veda la pagina dedicata della segreteria didattica del Dipartimento. --- [^phd]: I laureati magistrali possono concorrere a bandi per contratti e/o assegni di ricerca. Previo superamento prova d'accesso (annuale), possono anche intraprendere, sotto la supervisione del docente, un percorso formativo di _dottorato di ricerca_ di durata triennale (massimo titolo di studio) sulle tematiche menzionate che si conclude con una dissertazione finale.