CS 1573: Artificial Intelligence Application Development (Spring 2003) |
|||
Time: | Tu Th 2:30-3:45 | Place | 5129 Sennott Square |
Professor: | Diane Litman | Office Hours: | M 10-12 (741 LRDC), Tu Th 3:45-4:45 (5105 Sennott Square) |
Email: | litman@cs.pitt.edu | Phone: | 412-624-8838 (Sennott Square); 412-624-1261 (LRDC) |
TA: | Ali Alanjawi | Office Hours: | Tu Th 1-4:00 (5404 Sennott Square) and by appointment |
Email: | alanjawi@cs.pitt.edu | Phone: | 412-624-1185 |
This course will focus on the development of artificial intelligence applications. It will cover symbolic data structures, advanced control structures, and advanced prototyping and data exploration techniques. Multiple areas of artificial intelligence will be covered, with a focus on areas (e.g. natural language processing, reinforcement learning) and applications (e.g. expert systems, email filtering, the semantic web) that were not covered during CS 1571.
Prerequisites: CS 1571, or consent of the instructor
Learning Python (Help for Programmers), by Mark Lutz and David Ascher. This book is available from the bookstore, and is also apparently available online for free for Pitt students.
We will also be using online AI textbooks and toolkits, Python sites, and other resources.
Assignments and an email filtering project.
Grade Basis: assignments (65%), project (30%), class participation (5%)
Late Penalty: For assignments that may be accepted late, the penalty is 10% per day up to 5 days including Saturday, Sunday, and holidays. Assignments are due at the start of class.
CS 1573 grades
HW raw grades and normalized grades (final versions, please check!)
Class | Topic | Reading | Assignments | |
PART 1: BACKGROUND | ||||
1/7 | Course Overview and Administration | |||
1/9 | Introduction to Artificial Intelligence | Chapter 1, Artificial Intelligence: A Modern Approach, by Russell and Norvig | ||
1/9 | SELF-STUDY: Introduction to Python |
Lutz & Ascher 1-3 |
Assignment 1 (due 1/16) | |
1/14, 1/16 | Intelligent Agents | Handout Lutz & Ascher 4-6 |
||
Part 2: NATURAL LANGUAGE PROCESSING | ||||
1/16, 1/21 | Introduction to Natural Language Processing | Chapter 1,
Speech and
Language Processing, by Jurafsky and Martin
Remaining Lutz & Ascher, as needed |
Assignment 2: Agents (due 1/28) | |
1/23, 1/28 | The (Python) Natural Language Toolkit (NLTK) | NLTK Tutorials: Basics, Modelling Probablistic Systems, New Python Features | ||
1/30, 2/4, 2/6, 2/11 | Regular Expressions (also see these slides) | Handout
NLTK Tutorials: Regular Expressions |
Assignment 3: NLTK (due 2/13) | |
2/13, 2/18, 2/20, 2/25 | Tagging (also see these slides) | NLTK Tutorials: Tagging, Writing Classes | Assignment 4: Regular Expressions (due 3/11)
|
|
2/27 | Chunk Parsing | NLTK Tutorials: Chunk Parsing | ||
WINTER BREAK | ||||
PART 3: MACHINE LEARNING | ||||
3/11, 3/13 | Introduction to Machine Learning | Handout | Project (due 4/17 (NOTE CHANGE) and 4/23) | |
3/18, 3/20, 3/25, 3/27, 4/1 | Learning from Observations | Handout (through 18.2)
NLTK Tutorials: Text Classification (through Chapter 6) Handout (18.3) |
Assignment 5: Learning from Observations (due 4/8) | |
4/3, 4/8 | Reinforcement Learning | Chapter 1, Reinforcement Learning: An Introduction, by Sutton and Barto | ||
4/8, 4/10 | Evaluative Feedback | Chapter 2 (through 2.2), Reinforcement Learning: An Introduction, by Sutton and Barto | ||
4/10 | The Reinforcement Learning Problem | Chapter 3 (skip 3.4, 3.5, 3.9), Reinforcement Learning: An Introduction, by Sutton and Barto | ||
4/15 | Assignment 6 (Reinforcement Learning): to be done IN CLASS | Assignment 6 in class | ||
4/17 | CLASS CANCELLED DUE TO HOLIDAYS | Project (System) Due | ||
4/23 | PROJECT PRESENTATIONS 4-5:50 PM (in lieu of final exam) | Presentations (5-10 min) will be alphabetical | Project (Report) Due |
Python:
The Natural Language Toolkit (NLTK):
Artificial Intelligence:
Assignments must be your own individual work, unless explicitly stated otherwise. You must do the work without undue help from other people, and you must not present material from resources such as the Web, books, papers, code listings, and other people as your own. You may talk to each other about concepts and techniques, but you must not discuss specific solutions or approaches to solutions. Copying or paraphrasing someone's work, or permitting your own work to be copied or paraphrased, even in part, is not allowed and will result in an automatic grade of 0 for the assignment.