Present-day computer systems work with human language in many different forms, whether as stored data in the form of text, typed queries to a database or search engine, or speech commands in a voice-driven computer system. We also increasingly expect computers to produce human language, such as user-friendly error messages and synthesized speech. Through selected readings, exercises, demonstrations and Python programming, this course will: a) survey a range of issues relating natural language to computers, covering real-world applications, b) provide practical experience about representation and use of natural language on computers, and c) illustrate key principles of natural language processing through programming. Emphasis will be put on basic natural language processing strategies and technologies using linguistic theory
Topics include text encoding, search technology, tools for writing support, machine translation, dialogue systems, computer-aided language learning, and the social context of language technology.
|or by appointment|
There will be various reading selections throughout the quarter, but most of the material will be introduced solely in the classroom. There will be approximately one exercise sheet, or homework, every two weeks. These assignments give you the opportunity to explore new aspects of the topics discussed in class, as well as to ensure that you are comprehending the material covered in class. These assignments will occasionally also give you the opportunity to practice your programming skills. Additionally, there will be in-class exercises which are included in your participation grade.
There is no textbook for this course, but there will be readings assigned periodically throughout the course, including portions from a textbook-in-progress.
For each unit, slides will be available from the webpage before class. These slides are meant to aid classroom discussion and cannot replace actually being in class.
Grades will be based on classroom discussion/participation, homeworks, a midterm exam, and a final examination. For 515, there will be an additional final project.
|MIDTERM||25%||Wednesday, October 13 @ 11:15am|
|FINAL||25%||Wednesday, December 15 @ 10:15am|
|MIDTERM||18%||Wednesday, October 13 @ 11:15am|
|FINAL||18%||Wednesday, December 15 @ 10:15am|
|FINAL PROJECT||19%||Thursday, December 16, by 5:00pm|
If you plan on missing either the midterm or final, you will have to provide extensive documentation for your excuse. See me immediately if this is the case.
For those enrolled at the 515 level, there is a final project requirement, the topics of which will be discussed individually with the instructor (beginning in October). The projects will generally be papers extending discussion of specific topics touched on in class, although they may also be implementations of a specific natural language processing algorithm (documented and evaluated) or evaluation of existing algorithms and software systems. The projects will be due on Thursday, December 16 at 5:00pm.
To assist you in learning how to think logically & algorithmically, you are going to be taught some fundamentals of programming, using the Python programming language. We will include this in various class sessions (not always listed on the syllabus). I expect that most of you have absolutely no experience in programming and might be a little (or a lot) scared of it, and so I want to be clear about a few points:
Academic misconduct is not allowed in this course. The Indiana University Code of Student Rights, Responsibilities, and Conduct (http://dsa.indiana.edu/Code/) defines academic misconduct as ``any activity that tends to undermine the academic integrity of the institution . . . Academic misconduct may involve human, hard-copy, or electronic resources . . . Academic misconduct includes, but is not limited to . . . cheating, fabrication, plagiarism, interference, violation of course rules, and facilitating academic misconduct'' (II. G.1-6).
Students who need an accommodation based on the impact of a disability should contact me to arrange an appointment as soon as possible to discuss the course format, to anticipate needs, and to explore potential accommodations.
I rely on Disability Services for Students for assistance in verifying the need for accommodations and developing accommodation strategies. Students who have not previously contacted Disability Services are encouraged to do so (812-855-7578; http://www.indiana.edu/~iubdss/).
This syllabus is subject to change. All important changes will be made in writing, with ample time for adjustment. (Midterm and final dates, however, will not change.)
Links to notes and homeworks will be posted on the course website.
|Aug.||30||Intro to class|
|Sep.||1||Text & speech encoding: text (.pdf, -2x3.pdf)|
|3||Text & speech encoding: speech|
|6||Programming basics (.pdf, -2x3.pdf)|
|8||Searching (.pdf, -2x3.pdf)|
|10||Searching: internals (Handouts: 1, 2)||HW1 due|
|13||Searching: regular expressions (handout)|
|15||More Python (.pdf, -2x3.pdf)|
|17||Corpus annotation (.pdf, -2x3.pdf)|
|20||Writers' aids: spelling correctors (.pdf, -2x3.pdf)||HW2 due|
|22||Writers' aids: grammar correctors (parsing) (handout)|
|24||Writers' aids: grammar correctors (ngrams) (handout)|
|27||More Python (.pdf, -2x3.pdf)|
|29||Writers' aids||HW3 due|
|4||Classifying documents (.pdf, -2x3.pdf)|
|8||Classifying documents (.pdf, -2x3.pdf)||HW4 due (code)|
|11||Midterm review (handout)|
|15||Special session on grammatical error detection (.pdf, -2x3.pdf)|
|18||Cryptography (.pdf, -2x3.pdf) (from Jason Baldridge)|
|22||More Python (.pdf, -2x3.pdf)||HW5 due|
|25||Machine Translation (MT) (.pdf, -2x3.pdf)|
|27||Machine Translation (MT)|
|29||Machine Translation (MT)|
|5||Statistical MT||HW6 due (code)|
|8||N-grams in Python|
|17||Dialogue systems: dialogue (.pdf, -2x3.pdf) (corpus)|
|19||Dialogue systems: chatterbots (slides - from Jason Baldridge)|
|22||N-grams in Python (.pdf, -2x3.pdf, files: furniture.txt, 1, 2, 3, 4, 5, 6, useful.py)||HW7 due|
|24||NO CLASS, THANKSGIVING BREAK|
|26||NO CLASS, THANKSGIVING BREAK|
|29||Dialogue systems: modern systems|
|Dec.||1||Computers and language learning (.pdf, -2x3.pdf)|
|3||Computers and language learning|
|6||Computers and language learning|
|8||Social context of language technology use||HW8 due|
|10||Final review (handout)|
|15||FINAL EXAM, 10:15am-12:15pm|
|16||FINAL PROJECT (L515) (details)||due by 5pm|