Kurz částečně vychází z knížky Natural Language Processing with Python (viz http://www.nltk.org/book/), která je pozvolným, souběžným úvodem do Pythonu i Natural Language Toolkit, určeným pro humanitně zaměřené studenty. Psát programy v jazyce Python (viz https://www.python.org/) lze mnoha různými způsoby, my budeme primárně používat prostředí Jupyter (viz https://try.jupyter.org/), které umožňuje bezprostřední interakci a je tak přívětivé k začátečníkům. Navíc běží v prohlížeči, takže odpadají starosti s instalací. Zkušenějším kolegyním a kolegům ovšem nebude nijak bráněno v tom, aby používali prostředí jiné, jsou-li na ně zvyklí. Hlavní okruhy (zde pro přehlednost tematicky sdružené, ale pořadí v rámci semestru se částečně liší, abychom vyvážili přísun nových informací s praktickým procvičováním):
1. ochutnávka, abychom věděli, k jakému cíli směřujeme · jak vypadají složitější programy v Pythonu · čeho lze s jejich pomocí dosáhnout
2. úvod do programovacího jazyka Python · interaktivní programování jako konverzace s počítačem o objektech v jeho paměti · různé typy kolekcí: textové řetězce, seznamy, slovníky, množiny, n-tice · řídicí struktury: for-cyklus, podmínky · tvorba vlastních funkcí (funkce = uložený postup, recept, který lze kdykoliv spustit)
3. základy kvantitativní analýzy jazykových dat · abstraktní druh jazykové jednotky (typ) vs. její konkrétní výskyt v textu (token) · frekvence a disperze jevů jako základní kvantifikační postupy · práce s předpřipravenými jazykovými daty v NLTK · vizualizace (wordcloud, dispersion plot)
4. zpracování surových textových dat · formát "čistého textu", tzv. plain text · kódování, zejm. Unicode a UTF-8 · regulární výrazy
5. algoritmizace, aneb jak poskládat jednoduché dílčí úkony, které nám Python dává k dispozici, tak, aby dohromady tvořily postup, který řeší nějaký netriviální úkol
6. práce s větším množstvím dat · správa korpusů pomocí NLTK · orientace ve strukturovaných plaintextových datech: zpracování korpusu ve formátu tzv. vertikály
7. využití lingvistické anotace při analýze jazykových dat · lemmatizace, morfologické a syntaktické značkování
8. pokročilejší Python
Introduction to programming in Python for linguists, part I. The course is taught mainly in Czech and therefore requires sufficient proficiency in order to attend.