Fall 2011

LING 4/783: Computational Linguistics

TR 11:00-12:15 PM

4066 Wescoe

Instructor: Clifton Pye <pyersqr (at) ku (dot) edu>

Office Hours: M 1:00-3:00 or by appointment

This course will introduce students to the art of programming computers to understand human language. Anyone who has ever searched the internet for information about a particular subject will be familiar with the shortcomings of language use on computers. Computers show little understanding of what information would be the most relevant to any given search. We will explore some of the reasons computers fail to understand the simplest questions by writing a series of computer programs that analyze written language and respond to questions. Students will learn how to create their own interactive web sites like this parser using the Perl programming language. The course will also introduce students to computer and web tools for linguistic analysis including transcription tools, wikis and analysis tools. No previous programming experience is required for this course, but students should have their own computer account (for email, etc.) before they take this class. Further information about student accounts is available at help

Course textbooks:

Pye. 2001. Perl Worlds: Natural Language Processing in Miniature Worlds.

Deitel et al. 2001. Perl: How to Program. Upper Saddle River, NJ: Prentice Hall.

Students can download software from the internet that will allow them to work on their own computers. My page on installing Perl will guide you through the process of installing Perl on your home computer. You should also download an html editor to create your own webpages. I recommend the HTML-Kit editor. You will also need a program to transfer files between your desktop computer and KU's server. I recommend FileZilla. Finally, you will need to request permission from KU computing to run perl scripts on your KU webpage. Send a request to Web Services at webservices@ku.edu to enable suexec for the cgi-bin directory in your account.

You can view the sample programs by clicking here. You can copy and paste the programs onto your own computer to run them with Perl.

There are also some good online references for HTML, UNIX and Perl.


A. There will be no regular final exam. Instead the grades will be based upon 10 weekly assignments and the course project. The assignments teach the basics of computer programming so it is essential to complete each assignment on time. Those of you without previous programming experience should reserve several hours each week for the exercises. Each assignment will be worth 7 points towards the final grade. Assignments are due at the beginning of class the week after the assignment. Two points will be taken off the term mark for each late assignment. Late assignments will be accepted up to one week after the due date. The project will be worth 20 percent of the course grade.

B. Classroom participation is expected and will be taken into consideration for the final grade. Class participation includes regular attendance and participation in class discussions. Your class grade may be adjusted up to 10 points in either direction on this basis. Regular attendance and class discussions is the best way to gain a full understanding of the reading and class assignments. The use of cell phones, etc. is not allowed in class.

The staff of Services for Students with Disabilities (SSD), 135 Strong, 785-864-2620 (v/tty), coordinates accomodations and services for KU courses. If you have a disability for which you may request accommodation in KU classes and have not contacted them, please do so ASAP. Please also see me privately in regard to this course.


Date Reading Assignment Written Assignment
Aug. 23 Introduction Hello, Hal Talk to a Computer
Aug. 25 Transciption and Analysis Tools Soundscriber, Elan, Toolbox, Excel
Sept. 6 Web Forms Chapters 24 & 25 Construct your own web survey, Examples
Sept. 13 Say hello to Perl Chapters 1 & 2 Exs 2.7, 2.8 and 2.12, pp. 58-59
Sept. 20 Control Chapter 3 Exs 3.10, 3.11 and 3.12, pp. 92-93, Web Resources
Sept. 27 Arrays and Hashes Chapter 4 Exs 4.5, 4.7 and 4.9, p. 134, Web Resources
Oct. 4 Text Analysis Chapters 5 and 9 Ex 5.8, p. 169 and Exercises, Web Resources
Oct. 13 Putting it Together Chapter 7 Exs 7.8 and 7.9, pp. 251
Oct. 18 Getting FunKy Chapter 6 Exs 6.5, 6.6 and 6.8, p. 215, Examples
Oct. 25 Regular Expressions Chapter 8 Exs 8.5, 8.6, p. 282 and email
Nov. 1 Parsing Chapter 10 Parse some sentences
Nov. 8 Ambiguity Chapter 11 Ambiguity exercises
Nov. 15 Feature checking Chapter 12 Feature Exercises
Nov. 29 Natural language production Chapter 13 Questions, questions, questions
Dec. 6 The semantics modules Chapter 14 Objects and Miniature Worlds
Dec. 8 Project Reports
Discourse representation Chapter 20 Pronouns and Data structures