Course: Computational Linguistics

ECTS credits: 6

Language: Croatian

Duration: 1 semester (7. | 9.)

Status: compulsory for informatics; elective for other studies

Method of teaching: 2 hours of lectures and 2 seminar hours weekly

Prerequisite: none

Assessment: seminar paper and project report


Course description:

NooJ NLP environment will be used to demonstrate Finite-State Automata (FSA), Recursive Transition Networks (RTNs), Enhanced Recursive Transition Networks (ERTNs), Context-Free Grammars (CFGs) and Context-Sensitive Grammars (CSGs). Perl and NooJ Regular Expressions will be used for unstructured text querying. Local grammars will be built via graph and rule editors (inflectional, derivational, lexical, orthographical, morphological, terminological, syntactic, semantic and translation grammars). Lexical and Syntax analysis (chunkers and parsers) will be explained and demonstrated via grammars built by students. Disambiguation or results and building Concordances will be exemplified and Algorithms evaluated (precision, recall, f-measure). NLP in Big Data context will be discussed.

General and specific competencies:

After the successful completion of this course, student will know how to

  • define and recognize automata and finite state transducers;
  • define, explain and use grammars built with rules or graphs;
  • independently build, explain and use regular expressions in grammars and pattern recognition;
  • independently build simple and complex queries on text using regular expressions and syntactic grammars;
  • independently and/or in team build, explain and use grammar built with graphs,
  • independently and/or in team build a system for analysis of written text in any language,
  • evaluate existing or new system for the text analysis.

Quality check and success of the course:

Quality check and success of the course will be done by combining internal and external evaluation. Internal evaluation will be done by teachers and students using survey method at the end of semester. The external evaluation will be done by colleagues attending the course, by monitoring and assessment of the course.

Reading list:


  1. Jurafsky, D.; Martin, J.H.: Speech and language processing: an introduction to natural language processing, computational linguistics, and speech recognition, 2009. [check the library: 2000, 2009 (poglavlja 1-6; 12-16)]
  2. Silberztein, M.: Formalizing Natural Languages: The NooJ Approach, Wiley, 2016. [check the library]


  1. Bird, S.; Klein, E.; Loper, E.: Natural Language Processing with Python, O’Reilly Media, 2009.
  2. Clark, A.; Fox, C.; Lappin, S. (eds.): The handbook of computational linguistics and natural language processing, 2010. [check the library]
  3. Dovedan Han, Z.: FORMALNI JEZICI I PREVODIOCI  • prevođenje i primjene, Element,  Zagreb, 2013.
  4. Dovedan Han, Z.: FORMALNI JEZICI I PREVODIOCI  • regularni izrazi, gramatike, automati, Element,  Zagreb, 2012. [check the library]
  5. Dovedan Han, Z.: FORMALNI JEZICI I PREVODIOCI  • sintaksna analiza i primjene, Element,  Zagreb, 2012.
  6. Grishman, R.: Computational linguistics: an introduction, Cambridge University Press, 1986. [check the library]
  7. Harris, M.D.: Introduction to Natural Language Processing. Prentice Hall, 1985.
  8. Lawer, J.M.;  Dry, H.A. (eds.): Using computers in linguistics: a practical guide, 1998. [check the library]


  1. Proceedings of the 2007 International Nooj Conference
  2. Applications of finite-state language processing : selected papers from the 2008 International NooJ Conference
  3. Proceedings of the Nooj 2010 International Conference and Workshop
  4. Automatic processing of various levels of linguistic phenomena : selected papers from the NooJ 2011 International Conference
  5. Formalising natural languages with NooJ
  6. Formalising natural languages with NooJ 2013 : selected papers from the NooJ 2013 International Conference