2017-2018 / INFO2049-1

Web and Text Analytics

Duration

30h Th

Number of credits

 Master in data science (120 ECTS)5 crédits 
 Master of science in computer science and engineering (120 ECTS)5 crédits 
 Master in data science and engineering (120 ECTS)5 crédits 
 Master in computer science (120 ECTS)5 crédits 
 Master in management (120 ECTS)5 crédits 
 Master in business engineering (120 ECTS)5 crédits 
 Master in linguistics (120 ECTS)5 crédits 

Lecturer

Ashwin Ittoo

Language(s) of instruction

English language

Organisation and examination

Teaching in the first semester, review in January

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

Objective
This course covers basic algorithms and techniques in natural language processing (NLP) and text mining/analytics.
The algorithms covered will have a machine learning underpinning.
The topics will include those dealing with general machine learning (e.g. decision trees, Bayesian learning, Markov Chains, neural networks) as well as those specific to NLP (e.g. language modelling, neural language models)
We will cover general algorithms /techniques (e.g. decision trees) as well as those specifically suited for NLP applications.
If time permits, deep learning techniques for NLP will also be covered.
This course has both a strong theoretical and practical components. The practicals will be done mostly using R and scikit-learn (Python). Participants can use other languages with which they feel more comfortable (e.g. C, C++, C#, Java) 

Course Structure

1. Introduction

  • Introduction to machine learning
  • Decision tree classifiers
 
2. Vector Space Model and Information Retrieval 
  • Representing words as vectors
  • Measuring text similarity (Levenshtein distance, Cosine Similarity)
 
3. Feature Selection 
  • Tf-idf (Term Frequency-Inverse Document Frequency) 
  • Chi-squared measure
  • Mutual information 
 
4. Naïve-Bayes for  Text Classification 
  • Bayesian theory revision
  • Multinomial vs. Bernoulli Naïve-Bayes
  • Parameter estimation
 
5. Evaluating Models
  • Bootstrapping, cross-validation
  • Metrics: precision, recall, F-score
  • Metrics (Machine Translation): BLEU
  • Spearmann Rank correlation, Wilcoxon test (if time permits)
 
6. Language Models
  • Markov models
  • n-gram (tri-gram) models
  • Parameter estimation
  • Perplexity metric
  • Discounting methods and Katz Back-off 
 
7. Introduction to Artificial Neural Networks (ANN)
  • ANN architecture
  • Activation functions
  • Stochastic Gradient Descent 
 
8. Neural Network Language Models (Neural language models)
  • Distributational semantics and distributed word representation
  • Word2Vec (see Distributed Word Representation, Mikolov et al., 2013)
9. Deep Learning for NLP (if time permits)
  • Convolutional Networks, Recurrent Networks for NLP
  Practial Sessions Course participants are expect to work on a practical project, which will count for ~30-40% of the final grade. These projects will be comprehensive in the sense that they will encompass many of the different aspects taught in the lectures/practicals. Sample project topics include text classification or opinion mining. Projects will be executed in groups of 3 students.
Sample codes will be provided by the professor. 

Learning outcomes of the learning unit

  • Understand the underlying principles and algebraic formulations of machine learning models
  • Ability to apply these models to the task of information extraction from text and text classification
  • Synthesize various principles and algorithms introduced in the course and to develop a full-fledge text analytics application (as part of the course project)
  • Implement text analytics solutions to support an organization's business intelligence activities
  • Formulate a strategy based on the acquired text analytics skills to optimize the value of an organization
  • Ability to perform research on and understand advanced topics in the field and to be informed on recent developments to adapt easily to changing requirements 
  • Appreciate how the algorithms studied could solve real-life managerial issues
  • Communicate appropriately about text analytics projects/applications to various stakeholders

Prerequisite knowledge and skills

It is very important for course participants to have a good background in:

  • Calculus (e.g. partial derivatives, chain rule)
  • Vector/matrix algebra
  • Statistical methods (e.g. probabilities, regressions)
  • Programming
  • Some knowledge of mathematical optimization
Note that the above are essential for you to succeed in this course. We will assume that you are already well-versed in these topics. 
Support will be offered to students
  • Lecture notes
  • Sample programs
  • Online references

Planned learning activities and teaching methods

The course carries 5 credits and therefore requires 150 hours of work (1 credit = 30 hours).
Theory lectures = 18-22 hours

  • Self-study for exam = approx. 70 hours
  • Practical lectures = 9-12 hours
  • Working on practical exercises and projects = approx. 80 hours
  • Total = 150 hours (5 credits)

Mode of delivery (face-to-face ; distance-learning)

  • Lectures 
  • Practical  (during lectures and as homework)

Recommended or required readings

Topics covered in the course will come from different textbooks
Deep Learning Textbook (2016) by Goodfellow, Bengio, Courville (Softcopy here.)
Speech and Language Processing (2017) by Jurafsky and Martin (Softcopy here)
Neural Network Methods for Natural Language Processing (2017) by Goldberg (Softcopy here)

Assessment methods and criteria

Final written exam: 70%
Final practical project: 30%
(May be adjusted during the course)
 

Work placement(s)

Organizational remarks

Contacts

Ashwin Ittoo
ashwin.ittoo@ulg.ac.be

Items online

Lecture Notes
Lecture Notes