Naziv
Osnove programiranja za filološka istraživanja
Organizacijska jedinica
Odsjek za informacijske i komunikacijske znanosti
ECTS
30
Šifra
225475
Semestri
zimski
Nastavnici
Satnica
Predavanja
15
Vježbe u praktikumu
15

Cilj
Cilj je studente upoznati s osnovnim metodama statističke obrade tekstnih podataka te s osnovama programiranja u programskom jeziku koji se primjenjuje u akademskoj zajednici i industriji. Studente će usvojiti osnovne koncepte iz područja statističke obrade teksta. Studente će se osposobiti za samostalni razvoj jednostavnih statističkih alata za obradu teksta te za vrednovanje takvih alata. Kolegij je namijenjen svim studentima ne-matičnog preddiplomskog studija informacijskih i komunikacijsih znanosti, pogotovo studentima filoloških studija bez prethodnog iskustva u programiranju.
Sadržaj
  1. Osnovni koncepti obrade prirodnog jezika - 1. dio. Upoznavanje s programskim jezikom Python.
  2. Osnovni koncepti obrade prirodnog jezika - 2. dio. Osnovni koncepti iz programiranja.
  3. Teorijski okvir obrade prirodnog jezika. Osnovni tipovi podataka u Pythonu.
  4. Osnove kodiranja teksta. Rad s nizovima znakova.
  5. Povijest kodnih stranica. Indeksiranje i konkatenacija.
  6. Problemi kodiranja teksta. Funkcije i metode nad nizovima znakova.
  7. Unicode i oblici kodiranja Unicode standarda. Rad s listama.
  8. Selekcija i iteracija. Funkcije i metode nad listama.
  9. Rad s tekstnim datotekama. Upravljanje kodiranjem.
  10. Čestotna razdioba tekstnih podataka. Rad s rječnicima.
  11. Regularni izrazi i njihova implementacija u Pythonu.
  12. Uvod u izgradnju jednostavnog klasifikatora jezika ili teme. Izgradnja korpusa. Pisanje vlastitih funkcija.
  13. Teorija vjerojatnosti. Implementacija vjerojatnosti sekvence.
  14. Metodologija evaluacije klasifikacije. Implementacija evaluacije klasifikacije.
  15. Izgradnja jednostavnog klasifikatora.

Ishodi učenja
  1. Objasniti osnovne koncepte iz područja statističke obrade prirodnog jezika.
  2. Objasniti osnovne koncepte iz programiranja.
  3. Primijeniti znanja iz programiranja nad tekstnim podacima koristeći programski jezik primijenjen u akademskoj zajednici i industriji.
  4. Dizajnirati te implementirati i testirati jednostavnije programe i pronalaziti greške.
  5. Primijeniti osnovne principe oblikovanja alata za analizu korpusa.
Metode podučavanja
Predavanja, vježbe na računalima, sustav učenja na daljinu.
Metode ocjenjivanja
Kratki međuispiti. Bodovi iz vježbi. Usmeni ispit.

Obavezna literatura
  1. Hammond, Michael. (2020). Python for Linguists. Cambridge: Cambridge University Press. doi:10.1017/9781108642408
  2. Python documentation. https://www.python.org/doc/
  3. Jurafsky, Daniel; Martin, James H. Speech and Language Processing (2nd Edition). Harlow : Pearson Education, 2014.
  4. Tadić, Marko. Jezične tehnologije i hrvatski jezik. Zagreb: Ex libris, 2003.
  5. Rehm, Georg, and Hans Uszkoreit. "META-NET White Paper Series: Europe’s Languages in the digital age." Heidelberg et al.: Springer, http://www. meta-net. eu/whitepapers, last accessed on 1 (2012): 05-20.
Dopunska literatura
  1. Bird, Steven; Klein, Ewan, Loper, Edward. Natural Language Processing with Python. O'Reilly Media, 1999.
  2. Manning, Christopher D.; Schuetze, Hinrich. Foundations of Statistical Natural Language Processing. The MIT Press, 2002.
  3. Sarkar, Dipanjan. Text analytics with Python: a practitioner's guide to natural language processing. Apress, 2019.

Izborni predmet na studijima
  1. Informacijske znanosti, sveučilišni diplomski jednopredmetni studij
  2. Informacijske znanosti, sveučilišni diplomski dvopredmetni studij
Fakultetska ponuda
  • Diplomski studij: Zimski semestar