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.

Vsebina predmeta temelji na izboru sodobnih statističnih tehnik obdelave naravnega jezika podkrepljenih s praktično rabo. V predavanjih predstavimo glavne pristope in pojasnimo delovanje posameznih metod in njihovo teoretično ozadje. V okviru laboratorijskih vaj znanje povežemo s praktično rabo in ga utrdimo z uporabo odprtokodnih sistemov za obdelavo naravnega jezika. Študenti rešujejo naloge, ki temeljijo na realnih raziskovalnih in praktičnih problemih, pretežno v slovenskem in angleškem jeziku.

1.    Uvod: motivacija, razumevanje jezika, Turingov test, tradicionalni in statističen pristop.
2.    Jezikovni viri: korpusi, slovarji, tezavri, omrežja in semantične baze, pregled orodij.
3.    Lingvistika: fonologija in morfologija, sintaktična analiza, formalne gramatike.
4.    Uporaba avtomatov in gramatik: avtomati in algoritmi za iskanje nizov, prepoznavanje sintakse,  gramatično razčlenjevanje.
5.    Oblikoslovno označevanje besedil: vrste oznak, lematizacija, ngrami, skriti markovski model, označevanje s pravili.
6.     Računska in leksikalna semantika: predstavitve pomena, metode s pravili, leksikalna semantika.
7.    Razvrščanje besedil in mere podobnosti: kosinusna razdalja, jezikovna omrežja in grafi, WordNet, vektorska predstavitev, uteževanje vektorjev, semantična korelacija.
8.    Tekstovno rudarjenje: prilagojene klasifikacijske metode, metoda podpornih vektorjev na dokumentih, izbira atributov.
9.    Globoka omrežja in besedila: predstavitev besedil za uporabo v globokih nevronskih mrežah, avtoenkoderji, rekurzivne nevronske mreže.
10.    Povzemanje: predstavitve besedil, matrična faktorizacija, ekstrakcijske metode, povpraševane metode.
11.    Strojno prevajanje: jezikovni model, prevajalni model, poravnava jezikov, parametri modelov, izzivi v prevajanju.
12.    Dopolnjevanje besedil z drugimi viri informacij: heterogena omrežja, predstavitev word2vec, heterogeni ansambli klasifikatorjev, analiza povezav.
13.    Metodologija in evalvacija pri obdelavi naravnega jezika.