SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   Login via CAS
Programming for corpus linguistics - ALINV356B
Title: Programování pro korpusovou lingvistiku
Guaranteed by: Institute of Linguistics (21-ULING)
Faculty: Faculty of Arts
Actual: from 2023
Semester: winter
Points: 0
E-Credits: 3
Examination process: winter s.:
Hours per week, examination: winter s.:0/2, C [HT]
Capacity: unknown / unknown (10)
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
Key competences:  
State of the course: not taught
Language: Czech
Teaching methods: full-time
Teaching methods: full-time
Level:  
Is provided by: AMLV00058
Explanation: Další informace lze najít po kliknutí na kód předmětu, který výuku zajišťuje.
Note: course can be enrolled in outside the study plan
enabled for web enrollment
Guarantor: Mgr. David Lukeš, Ph.D.
Schedule   Noticeboard   
Annotation -
Last update: Mgr. David Lukeš, Ph.D. (09.01.2018)
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.
Course completion requirements -
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.

Literature -
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.

Syllabus - Czech
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

 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html