COMPUTATIONAL LINGUISTICS: DIGITAL TEXT ANALYSIS
- Academic year
- 2022/2023 Syllabus of previous years
- Official course title
- COMPUTATIONAL LINGUISTICS: DIGITAL TEXT ANALYSIS
- Course code
- LM5870 (AF:356176 AR:209420)
- Modality
- On campus classes
- ECTS credits
- 6
- Degree level
- Master's Degree Programme (DM270)
- Educational sector code
- L-LIN/01
- Period
- 2nd Semester
- Course year
- 2
- Moodle
- Go to Moodle page
Contribution of the course to the overall degree programme goals
The main goals of this course are:
- to provide students with the basic technical tools for the computational treatment of textual data
- to introduce students to the fundamental automated knowledge extraction techniques
- to introduce the student to the Python programming language and to some of its modules, among which stanza and gensim
- to stimulate critical thinking and the ability to think out of the box
Expected learning outcomes
- familiarity with the Python programming language and with some of its NLP/text mining packages (stanza, gensim)
- familiarity with the most commonly used techniques of (morphosyntactic) linguistic annotation
- learning of the basic techniques for the extraction of linguistic knowledge from corpora
- knowledge of the principal levels of linguistic annotation
- familiarity with the most commonly used techniques for the representation of structured information extracted from text
2. Applying knowledge and understanding
- knowledge of the features and limitations of the most common computational linguistics tools and approaches, so as to be able to pick the most appropriate solution for a given linguistic research issue
- use of Python for the implementation of scripts for the quantitative and computational analysis of text
- ability to advance and test original and sounded hypotheses
3. Making judgements
- ability to implement self-development strategies to improve technical skills
- awareness of the technical and deontological issues connected to the automatic treatment of language
- ability to compare competing hypotheses
4. Communication skills
- ability to write a report to describe the process, progress and result of an original scientific research
- ability to interact with researchers with a different scientific background
- ability to interact with the other students and the professor
5. Learning skills
- ability to learn novel scripting languages (among which, R, PERL, Matlab, Javascript, SQL)
- ability to acquire technical knowledge pertaining to issues only indirectly linked to the automatic treatment of language (e.g. the statistical analysis, the creation of web pages, the management of a database)
- ability to learn novel technical tools for the automatic treatment of language (e.g. annotation tools, corpora management and query tools)
Pre-requirements
Basic familiarity with computers, but no special experience with programming or software is expected
Contents
2. Python programming basics
3. Variable Types
4. Text manipulation in Python
5. Writing structured programs
6. The automatic annotation of a corpus
7. Descriptive statistics for corpus linguistics / the Zipf's law
8. Collocations and association measures
9. Mapping for digital humanities
10. Vector Semantics
11. Topic modeling
Referral texts
REFERENCE READINGS:
- M. Hammond (2020) Python for Linguists. Cambridge University Press
- D. Hovy (2021) Text Analysis in Python for Social Scientists. Cambridge University Press
SUPPLEMENTARY READINGS:
- M. Baroni (2009) Distributions in text. In A. Lüdeling and M. Kytö (eds.), Corpus linguistics: An international handbook, Vol. 2, Mouton de Gruyter: 803-821. Available online at: http://sslmit.unibo.it/~baroni/publications/hsk_39_dist_rev2.pdf
- M. Davies (2015) Corpora: An introduction. In D. Biber and R. Reppen (eds.), The Cambridge Handbook of English Corpus Linguistics, Cambridge University Press: 11-31.
- S. Evert (2009) Corpora and collocations. In A. Lüdeling and M. Kytö (eds.), Corpus linguistics: An international handbook, Vol. 2, Mouton de Gruyter: 1212-1248 (sections 1-4). Available online at: http://www.stefan-evert.de/PUB/Evert2007HSK_extended_manuscript.pdf
- S.T. Gries and A. L. Berez (2017) Linguistic Annotation in/for Corpus Linguistics. In N. Ide and J. Pustejovsky (eds.), Handbook of Linguistic Annotation, Springer: 379-409. Available online at: http://www.stgries.info/research/2017_STG-ALB_LingAnnotCorpLing_HbOfLingAnnot.pdf
- A. Lenci (2018) Distributional Models of Word Meaning, Annual Review of Linguistics, 4: 151-171. Available online at: http://colinglab.humnet.unipi.it/wp-content/uploads/2012/12/annurev-linguistics-030514-125254.pdf
Assessment methods
PROGRAMMING EXERCISES (ATTENDING STUDENTS)
Students attending at least 70% of the classes qualify as "attending" students. Their learning is assessed through three sets of exercises, assigned one every 4/5 weeks. Each assignment should be submitted electronically by due date.
The partial grade is calculated as follows:
- first assignment: 20% of the partial grade
- second assignment: 40% of the partial grade
- third assignment: 30% of the partial grade
- in class participation: before each laboratory session, students will be required to perform short programming exercises as homework, which will then be briefly discussed in class during the lab session. Students must submit the exercises before the beginning of each lab session. Students should try to solve at least 50% of the exercises, or they will get a grade penalty of 1% of the partial grade for each notebook that is either insufficient or that hasn't been submitted on time (up to a maximum of 10% of the partial grade).
PROGRAMMING EXERCISES (NON-ATTENDING STUDENTS)
Non-attending students will be evaluated through a single set of programming exercises published on the university e-learning platform. Students are required to submit their solutions electronically by due date.
Teaching methods
- overview of the session key concepts and principles
- work on the programming exercises in the relevant Jupyter notebook available on the university e-learning platform