The syllabus is based on a selection of modern statistical natural learning techniques and their practical use. The lectures introduce the main tasks and techniques, explain their operation and theoretical background. During practical sessions and seminars the gained knowledge is applied to language practical task using open source tools. Student investigate and solve assignments, based on real-world research and commercial problems form English and Slovene languages.

1.    Introduction to natural language processing: motivation, language understanding, Turing test, traditional and statistical approaches.
2.    Language resources: corpuses, dictionaries, thesauruses, networks and semantic data bases, overview of tools.
3.    Linguistics: phonology and morphology, syntactical analysis, formal grammars.
4.    Using automata and grammars: automata and algorithms for searching strings, syntax parsing, dependency parsing.
5.    Part-of-speech tagging: types of tags, lemmatization, ngrams, Hidden Markov model, rule-based tagging.
6.    Computational and lexical semantics: semantic representations, rule-to-rule approaches, semantic role labelling.
7.    Clustering words and text similarity measures: cosine distance, language networks and graphs, WordNet, vector representation, vector weighting, sematic correlation.
8.    Text mining: adaptation of classification methods to the specifics of text, support vector machines for language, feature selection.
9.    Deep networks for text: document representations for deep neural networks, autoencoders, recurrent neural networks.
10.    Text summarization: text representations, matrix factorization, multi-document summarization, extractive methods, query based methods.
11.    Machine translation: language model, translation model, alignment model, challenges in machine translation.
12.    Augmenting text with other data sources: heterogeneous networks, word2vec representation, heterogeneous ensembles of classifiers, link analysis.
13.    Methodology and evaluation in NLP.