Ключові слова:

Computational linguistics, language industry, programming for linguists, teaching programming, basic structures in Python.


The article shows why it is worth introducing the basics of computational linguistics in general and programming as a method of the natural language processing in particular to the linguistics students. Computational linguistics has become the basis for solving many practical tasks in the language industry. Providing the linguistics students with the basics and the methods of the computational linguistics we widen their views on linguistics and show a perspective field of their possible future engagement to them. To get acquainted with computational linguistics, students have to learn how to work with corpora and acquire the basics of programming. This article demonstrates why Python is a good choice for linguists to start learning to programme. It also suggests an approach to teaching the fundamentals of the programming in Python for such students and gives step by step the main structures which can be used for processing texts or corpora. To such structures belong strings, variables, lists, loops, print-function, split-method, incrementation, and control structure. Combining these elements one can, for instance, split text into sentences or words, count words or sentences in text or count only some concrete elements in the text which satisfy a special condition. The article also outlines how to start working with input files. The further structures of Python are named, which can be introduced to the students next so that they become able to do more operations with texts. It is stressed that teaching programming is impossible without trying out every structure, so it is important to encourage the students to write their own code experimenting with each new element of Python and offer them enough practical tasks. Some examples of such tasks are illustrated in the article.


Downey, A., Elkner, J., & Meyers, Ch. (2002). Think Python: How to Think Like a Computer Scientist Learning with Python. Wellesley, Massachusetts: Green Tea Press.

Gorozhanov, A. (2014). PyQt 5 dlia lingvistov: professional’no orientirovannoie programmirovaniie. Elektronnoe uchebnoe posobiie dlia studentov lingvisticheskih vuzov i fakul’tetov (bakalavriat i magistratura) [PyQt 5 for linguists: professionally oriented programming. Electronical textbook for students of linguistics (bachelors and masters)]. Retrieved from http://pyqtforlinguists.appspot.com/book.pdf [in Russian]

Grishman, R. (1999). Computational Linguistics: An Introduction. Cambridge University Press.

Hovy, D. (2012). Programming in Python for Linguists. A Gentle Introduction. Retrieved from http://www.dirkhovy.com/portfolio/papers/download/pfl_handout.pdf

Johnson, M. (2011). How relevant is linguistics to computational linguistics? Linguistic Issues in Language Technology, 6(7), 1–23.

List, J.-M. (2011). Python für Linguisten. Retrieved 22 Feb.2019 from http://lingulist.de/documents/lectures/list-2011-lecture-ss-python-for-linguists.pdf [in German]

Mitkov, R. (2009). The Oxford Handbook of Computational Linguistics. Oxford: Oxford University Press.

Panggabean, H., & Tobing, A. (2015). Computational Linguistics Application Using Python Programming. IOSR Journal of Humanities and Social Science (IOSR-JHSS), 20(7), 18-30.

Schubert, L. (2014). Computational Linguistics. In E. N. Zalta (Ed.), The Stanford encyclopedia of philosophy. Stanford, CA: Stanford University Press. Retrieved from https://plato.stanford.edu/entries/computational-linguistics/