Search for contacts, projects,
courses and publications

Machine Learning for Software Engineering

People

Tonella P.

Course director

Description

This course deals with the problem of extracting information and knowledge from data, using unsupervised/supervised learning, as well as natural language processing algorithms, and how to use such knowledge to address various software engineering tasks. The course will cover the following topics:

  • Data pre-processing
  • Unsupervised learning
    • Hierarchical clustering, k-means, feature maps, graph-based clustering, density based clustering, anomaly detection
  • Supervised learning
    • Classifiers (e.g., nearest neighbour, decision trees, naive Bayes, SVM), regression models, deep neural networks
  • Evaluation methods and metrics, statistical tests
  • Latent semantic indexing and latent Dirichlet allocation
  • Text embedding for text search
  • Part of speech tagging
  • Constituency and dependency parsing
  • Semantic role labelling
  • Text summarization
  • Sentiment analysis
  • Language models

Teaching mode

In presence