K-INFO
HU
EN
Belépés

Bevezetés a Python és nyelvtechnológia világába

Introduction to Python and Natural Language Technologies
A tantárgyleírás hatályossága
Hatályosság kezdete:
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Bevezetés a Python és nyelvtechnológia világába
Introduction to Python and Natural Language Technologies
Tantárgykód BMEVIAUAV35
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 2 0 2
jelleg (kapcsolt/önálló) kapcsolt
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 4
Tantárgyfelelős
Dr. Gulyás Gábor György
elérhetőség: gulyas@aut.bme.hu
Tantárgyat gondozó oktatási szervezeti egység
Kar
Tantárgy weboldala
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

 

Lecture Topic

Lab Topic

1

Introduction: what is natural language processing, typical applications, history, major areas of NLP/CL, relationship to computer science and linguistics

Setting up - using the provided VMs, git repository, basic NLP tools

2

Introduction to Python, basic syntax, built-in types, operators, functions, file manipulation

Using Jupyter. Writing simple functions. Handling text files.

3

Built-in types in detail (list, set, dict), immutability. Advanced string manipulation, encodings, Regular expressions.

Typical string manipulation exercises. Writing a simple parser with regular expressions.

4

Object-oriented Python, properties, static methods, class methods, magic methods, operator overloading. Iterators, generators. Context managers.

Complex OOP exercise. Writing our own iterator and context manager.

5

Decorators. Functional programming in Python. Writing command line applications in Python. Using Linux command line applications for text processing. IO redirection, pipelines.

Writing a simple command line application. Using it in the terminal, interacting with built-in Linux commands via pipes.

6

Scientific Python. Numpy, scipy. Basic matrix operations. Sparse matrices.

Matrix manipulation. Working with large sparce matrices.

7

Data science. Handling text data. Basic shell commands. Pandas.

Handling text data exercises. Data cleaning. Pandas exercises.

8

Deep learning for NLP. Feed forward neural networks, recurrent neural networks. LSTM, GRU.

PyTorch basics. Defining neural networks, training and evaluation loops

9

Textual sequence modeling: sequence labeling and classification, sequence-to-sequence models. Attention.

Sequence modeling in PyTorch.

10

Language modeling. Word vectors. Contextualized language models. Transformers. BERT.

Exploring pretrained models: word2vec, GloVe, fastText, BERT, ELMo

11

Dependency parsing. Universal dependencies.

Working with Universal Dependencies. Multilingual models and problems.

12

NLP applications I.: neural machine translation, sentiment analysis, question answering, summarization, dialogue.

NLP in practice. Using pretrained models for machine translation, question answering etc.

13

NLP applications II.: knowledge bases.

NLP in practice II. Homework consultation.

14

Practical session

Practical session

The aim of this course is to provide students with an overview of the theory and practice of current natural language processing (NLP) technologies, while also allowing them to gain hands-on experience in a popular, high-level programming language. Students shall not only get acquainted with all major fields of NLP, they will also be expected to implement simple solutions for each level of language processing.

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

Lecture (2x45 min. / week) and Laboratory (2x45 min. / week)

Tanulástámogató anyagok

Nincs megadva.

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Basics of Object-Oriented Programming, basics of software development
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Basics of Object-Oriented Programming, basics of software development
Általános szabályok

Nincs megadva általános szabály.

Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak
None
A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.