|
|
|
||
Last update: Mgr. David Lukeš, Ph.D. (09.01.2018)
mainly in Czech and therefore requires sufficient proficiency in order to attend. |
|
||
Last update: Mgr. Dominika Kováříková, M.A., Ph.D. (08.12.2019)
The course is taught mainly in Czech and therefore requires sufficient proficiency in order to attend. |
|
||
Last update: Mgr. David Lukeš, Ph.D. (16.08.2018)
Bird, S., Klein, E., & Loper, E. (2014). Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit. Retrieved from http://www.nltk.org/book/ Gries, P., Campbell, J., & Montojo, J. (2013). Practical Programming: An Introduction to Computer Science Using Python 3 (2nd ed.). Dallas, Texas: Pragmatic Bookshelf. Jurafsky, D., & Martin, J. H. (2019). Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition (3rd ed.). Retrieved from https://web.stanford.edu/~jurafsky/slp3/ Lukeš, D. (2016, January 27). How computers handle text: A gentle but thorough introduction to Unicode. Retrieved August 15, 2018, from https://dlukes.github.io/unicode.html Matthes, E. (2015). Python Crash Course: A Hands-On, Project-Based Introduction to Programming (1st ed.). San Francisco: No Starch Press. McEnery, T., & Hardie, A. (2011). Corpus Linguistics: Method, Theory and Practice. Cambridge University Press. Moran, S., & Cysouw, M. (2018). The Unicode cookbook for linguists: managing writing systems using orthography profiles. Berlin: Language Science Press. Retrieved from http://langsci-press.org/catalog/book/176 Skiena, S. S. (2008). The Algorithm Design Manual. London: Springer London. https://doi.org/10.1007/978-1-84800-070-4 Sweigart, A. (2018). Cracking Codes with Python: An Introduction to Building and Breaking Ciphers. San Francisco: No Starch Press. Vaughan, L. (2018). Impractical Python: Playful Programming Activities to Make You Smarter. San Francisco: No Starch Press. Zinoviev, D. (2016). Data Science Essentials in Python: Collect – Organize – Explore – Predict – Value (1st ed.). Raleigh, North Carolina: Pragmatic Bookshelf. |
|
||
Last update: Mgr. David Lukeš, Ph.D. (03.01.2021)
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 |