Analyzing linguistic data, and programming for linguists

Spring 2022 | Instructor: Katrin Erk| TTH 11-12:30 | Hybrid: zoom, and WAG 208 | Canvas

Course Overview

Today, huge amounts of text are available in electronic form. We can poke these electronic text collections to answer questions about language -- and questions about the people who use it. For example, we can test whether passive constructions are increasingly falling out of favor in English, and we can trace how words change their meaning over time. We can also study a politician's word choices in political debates to find out more about their personality, or we can see how inaugural addresses have changed over time.

This course provides a hands-on introduction to working with text data. This includes an introduction to programming in Python, with a focus on text processing and data exploration, with a "cookbook" of programming examples that will enable you very quickly to analyze texts on your own. Most of the conclusions that we want to draw from text are "risky conclusions", they are trends rather than yes-or-no answers, so the course also includes an introduction to statistical techniques for data exploration and for making and assessing "risky conclusions". The course also includes a course project where you can test your text analysis skills on a question of your own choice.

Prerequisites: Upper-division standing.

Flags: Quantitatve, Independent Inquiry


P. R. Hinton (2004): Statistics Explained: A Guide for Social Science Students. Psychology Press; 3rd edition, 2014

Additional readings will be made available for download from the course website.

In Spring 2022, this course is hybrid. More information below!


Course information

Instructor Contact Information


  • Katrin Erk

  • Office hours: Tuesdays 2-4, Fridays 10-11, via zoom. Zoom link is on Canvas.

  • Office: RLP 4.734

  • Contact: email katrin dot erk at utexas dot edu, or through Canvas, or through Slack


  • Sydney Willett

  • Office hours: Mondays 1-3 and Wednesdays 11-12, via zoom. Zoom link is on Canvas.

  • Contact: email listed on the Canvas page, or through Canvas, or through Slack


Upper-division standing.

Syllabus and text

This page serves as the syllabus for this course.


P. R. Hinton: Statistics Explained: A Guide for Social Science Students. Psychology Press; 3rd edition.

Additional readings will be made available for download from the course website, in the course schedule.

Content overview

There are immense amounts of text data available in electronic form. And there are many questions that these texts could help us answer. Some of these questions are about people, how they feel, what opinions they express, what topics they talk about. Other questions are about language itself: how language is changing over time, how people use particular grammatical constructions, or what kinds of connotations words carry with them. The aim of this course is to give you the tools to automatically analyze texts to explore these kinds of questions.

By the end of this course, you will

  • know how to use simple word counts to answer many questions about people and about language, and know how to choose the right words for counting

  • know how to write programs in the Python programming language to access and analyze texts

  • know how to visualize and graph descriptive statistics about texts

  • be familiar with a toolkit of linguistic text preprocessing tools, and know how to use it

  • know what hypothesis testing is, and how to use it to distinguish actual findings from random variations in the data

  • be able to use machine learning tools to group data and chart the main topics being talked about in a collection of texts

A detailed schedule for the course, with topics for each lecture, is available in the Schedule section.


This course carries the Quantitative Reasoning flag. Quantitative Reasoning courses are designed to equip you with skills that are necessary for understanding the types of quantitative arguments you will regularly encounter in your adult and professional life. You should therefore expect a substantial portion of your grade to come from your use of quantitative skills to analyze real-world problems.

This course also carries the Independent Inquiry flag. Independent Inquiry courses are designed to engage you in the process of inquiry over the course of a semester, providing you with the opportunity for independent investigation of a question, problem, or project related to your major. You should therefore expect a substantial portion of your grade to come from the independent investigation and presentation of your own work.

Course requirements and grading policy

  • Assignments: 48% (4 assigments, 12% each)

  • "Food for thought" : 12% (4 mini-assigments, 3% each)

  • Course project:

    • Initial project description: 5%

    • Intermediate project report: 10%

    • Project presentation: 5%

    • Final report: 20%

Course projects should be done by teams of 2 students. Projects done by 1 or 3 students are only possible with prior approval of the instructor.

Project presentations will be in the final week of classes, in the order given on the schedule page (which will be generated via Python's random.shuffle()). If possible, all members of a project team should get some time to speak.

Assignments will be updated on Canvas. A tentative schedule for the entire semester is posted in the Schedule section. Readings may change up one week in advance of their due dates.

This course does not have a midterm or final exam.

Options for course projects, and more details on the project requirements are listed in the Project section.

The course will use plus-minus grading, using the following scale (showing Grade and Percentage):

  • A >= 93%

  • A- >= 90%

  • B+ >= 87%

  • B >= 83%

  • B- >= 80%

  • C+ >= 77%

  • C >= 73%

  • C- >= 70%

  • D+ >= 67%

  • D >= 63%

  • D- >= 60%

Attendance is not required. However, given that we will do a lot of hands-on exercises in class, and the homework assignments and the project address the material covered in class, good attendance is essential for doing well in this class.

Extension Policy

If you turn in your assignment late and we have not agreed on an extension beforehand, expect points to be deducted. Extensions will be considered on a case-by-case basis. I urge you to let me know if you are in need of an extension, such that we can make sure that you get the time necessary to complete the assignments.

If an extension has not been agreed on beforehand, then for assignments, by default, 5 points (out of 100) will be deducted for lateness, plus an additional 1 point for every 24-hour period beyond 2 that the assignment is late.

Note that there are always some points to be had, even if you turn in your assignment late. The last day in the semester on which the class meets is the last day to turn in late assignments for grading. Homework assignment submitted after that date will not be graded.

Classroom safety and Covid-19

To help preserve our in person learning environment, the university recommends the following.

Academic Dishonesty Policy

You are encouraged to discuss assignments with classmates. But all written work must be your own. Students caught cheating will automatically fail the course. If in doubt, ask the instructor.

Notice about students with disabilities

The University of Texas at Austin provides upon request appropriate academic accommodations for qualified students with disabilities. Please contact the Division of Diversity and Community Engagement, Services for Students with Disabilities, 471-6259.

Notice about missed work due to religious holy days

A student who misses an examination, work assignment, or other project due to the observance of a religious holy day will be given an opportunity to complete the work missed within a reasonable time after the absence, provided that he or she has properly notified the instructor. It is the policy of the University of Texas at Austin that the student must notify the instructor at least fourteen days prior to the classes scheduled on dates he or she will be absent to observe a religious holy day. For religious holy days that fall within the first two weeks of the semester, the notice should be given on the first day of the semester. The student will not be penalized for these excused absences, but the instructor may appropriately respond if the student fails to complete satisfactorily the missed assignment or examination within a reasonable time after the excused absence.

Emergency Evacuation Policy

Occupants of buildings on The University of Texas at Austin campus are required to evacuate buildings when a fire alarm is activated. Alarm activation or announcement requires exiting and assembling outside. Familiarize yourself with all exit doors of each classroom and building you may occupy. Remember that the nearest exit door may not be the one you used when entering the building. Students requiring assistance in evacuation shall inform their instructor in writing during the first week of class. In the event of an evacuation, follow the instruction of faculty or class instructors. Do not re-enter a building unless given instructions by the following: Austin Fire Department, The University of Texas at Austin Police Department, or Fire Prevention Services office. Information regarding emergency evacuation routes and emergency procedures can be found at

Senate Bill 212 and Title IX Reporting Requirements

Under Senate Bill 212 (SB 212), the professor and TAs for this course are required to report for further investigation any information concerning incidents of sexual harassment, sexual assault, dating violence, and stalking committed by or against a UT student or employee. Federal law and university policy also requires reporting incidents of sex- and gender-based discrimination and sexual misconduct (collectively known as Title IX incidents). This means we cannot keep confidential information about any such incidents that you share with us. If you need to talk with someone who can maintain confidentiality, please contact University Health Services (512-471-4955 or 512-475-6877) or the UT Counseling and Mental Health Center (512-471-3515 or 512-471-2255). We strongly urge you make use of these services for any needed support and that you report any Title IX incidents to the Title IX Office.

Adapting the class format to deal with the ongoing pandemic

  • The first two weeks of class will be fully online.

  • After that, we move to the originally planned hybrid format, where some class sessions will be fully online, and others will be offered in person (though see next bullet point).
    The schedule will list clearly which days are offered in person and which are fully online.

  • All classes will be streamed on zoom, and students who prefer to take the class fully online will be enabled to do so.


This schedule is subject to change.

Assignments are due at the end of the day on their due date. Please submit assignments online on Canvas unless the assignment tells you otherwise.

Readings can be done either before or after class (unless noted otherwise); they are chosen to support the material covered in class.

Week 1: Jan 18, 20: Introduction this week completely online

Week 2: Jan 25, 27: Exploring and visualizing data This week completely online

Week 3: Feb 1, 3: Python basics .Tuesday session this week in person

  • Tuesday: Python programming basics: conditions, lists, and loops

  • Thursday: No class, inclement weather

    • Food for Though 1 due

Week 4: Feb 8, 10: Python basics. Both sessions this week in person.

Week 5: Feb 15, 17: Word counting Both sessions this week in person.

Week 6: Feb 22, 24: Tools for text processing

Week 7: Mar 1, 3: More text processing, and Advanced analysis methods

Week 8: Mar 8, 10: Descriptive statistics

Week 9: Spring Break

Week 10: Mar 22, 24: Hypothesis testing

Week 11: Mar 29, 31: Hypothesis testing

Week 12: Apr 5, 7: More programming

Week 13: Apr 12, 14: Correlation and regression

Week 14: Apr 19, 21: Correlation and regression

  • Tuesday: Logistic regressionThis session available as Panopto recording.

    • Code for download: logistic regression

    • Code for download: model comparison

    • Panopto recordings on Canvas; linear regression part 4 (there is no part 3, I miscounted); logistic regression parts 1 and 2

  • Thursday: Practicing regression

    • Food for Though 4 due

Week 15: Apr 26, 28: Practicing regression

Week 16: May 3, 5: Project presentations

  • Tuesday: project presentations

    • 11:00 Madison Verhalen

    • 11:10 Dylan Moses and Nile Stewart and Will Sheffield

    • 11:20 Andrea Cervantes and Mia Vargas

    • 11:30 Alexandra Brown and Nick Umbrewicz

    • 11:40 Miriam Montes and Chi Pham

    • 11:50 Jaiden Nutt

  • Thursday: project presentations

    • 11:00 Emily Luedke and Matthew Micyk

    • 11:10 Nara Hafiz

    • 11:20 Marquita Walker and Yating Wu

    • 11:30 Paul Cho

    • 11:40 Alexandra Fierro Morel and Sophie Brenner and Payton Wages

Final report due: May 11, end of day.

Course project information

Course project links

Here are links related to the course project ideas that you mentioned in class:

  • How words arise, change meaning, and get popularized on the internet: Here is a study on words in soccer fora on reddit: Del Tredici and Fernandez 2017.
    The same authors then analyzed what made new coinages successful: Del Tredici and Fernandez 2018

  • Syntactic annotation across languages: the Universal Dependencies project, with tons of downloadable data

  • How do people with different political affiliations talk about the same topic, do they use different words? Here is a recent paper that looked at this by studying different terms for the same concept: Pavlick et al 2020. Warning: This paper goes into advanced computational methods, so for now focus just on the data they're looking at.

  • Author identification, characterizing authors' styles: For out-of-copyright books, the Project Gutenberg is an excellent source.

  • Studying dialects via geographic information on Twitter: Eisenstein 2015.
    Here is a dataset with geotagged tweets: The UMass Global English on Twitter dataset

  • Language and ratings, for example: what words are used in reviews for expensive versus cheap wines? I'll dig up my old code and data, and will make those available if needed

Course project requirements

Course projects should be done by teams of 2 students. Project groups consisting of 1 or 3 students are possible only with prior approval of the instructor.

Initial project description

This is a 1-2 page document (single-spaced, single column) that describes what your project will be about. It needs to contain the following information:

  • Research questions: What are the main questions that you want to answer, the main language phenomena you want to address, or the main ideas you want to explore?

  • Method: What are the relevant words, multi-word expressions, or constructions you need to analyze? What descriptive data analyses do you plan to do? Do you plan to do statistical significance tests, and do you know already which ones will be the right ones? (Yes, I know you will not have worked out every detail at this point, but strive to work out as many as you can.)

  • Data: It is vital that you figure out as early as possible what data you can use. Is there enough data? Is it freely available? Do you have to contact someone to get it?

Intermediate report

This is a 1-2 page document (single-spaced, single column) that describes what the status of your project is at this point. This is a revised version of your initial project description. It needs to contain the following information:

  • Research questions: any changes?

  • Method: any changes?

  • Status:

    • Describe the data that was obtained: source, size, anything else that is relevant

    • Describe at least two (smaller, and preliminary) concrete results that you have at this point

You also need to take into account the feedback that you got on the Initial project description.

Short presentation

This is a short presentation to the class. You should discuss:

  • Research questions/linguistic phenomena/main questions you are addressing

  • Why is this relevant? (Spend a lot of time on the research questions and their relevance. Describing the big picture is important!)

  • Data: source, size (say how many words overall you have)

  • Results

You will need to prepare slides for this, which you submit to the instructor ahead of time.

It is okay if you don't have all results in place at this point. This does not lead to points being taken away for the presentation.

Final report

This is a 5-6 page document (single-spaced, single column) that describes the results of your project. This is a revised version of your intermediate project description. It needs to contain the following information:

  • Research questions/linguistic phenomena covered/main ideas pursued

  • Data: source, size, other relevant statistics

  • Method

  • Findings

If you build on previous work, you need to discuss it, and give references. Published papers (at conferences, in journals) go into the references list at the end of the paper. Links to blog posts and the like go in a footnote. Also, links to websites containing data go in a footnote, not in the references list.

You need to take into account the feedback that you got on the Initial project description and Intermediate report.

Course project ideas

Ideally, you pick a topic of your own that you are curious about. But to give you an idea of possible topics, here are a few pointers:

Please discuss your topic with the instructor to make sure that it is both substantial and feasible.

For your course project, you will need to apply statistical analyses yourself. Google books n-gram charts, while pretty, do not count.

Links and additional readings

List of software we will use in the class

Python and Python packages:

To test your Python installation, use this Jupyter notebook.


We are using Slack for in-class discussions. Please see Canvas for the link to the class Slack space.

Tips and tricks:

Learning Python:

Jupyter notebooks:

Fun with statistics

  • Language Log: a language and linguistics blog written by Mark Liberman and others

  • Bad science: Ben Goldacre's blog with lots of illustrations of what not to do in statistics

  • xkcd: A webcomic of romance, sarcasm, math, and language.