Multidisciplinary Instruction with the Natural Language Toolkit

The Natural Language Toolkit (NLTK) is widely used for teaching natural language processing to students majoring in linguistics or computer science. This paper describes the design of NLTK, and reports on how it has been used effectively in classes that involve different mixes of linguistics and computer science students. We focus on three key issues: getting started with a course, delivering interactive demonstrations in the classroom, and organizing assignments and projects. In each case, we report on practical experience and make recommendations on how to use NLTK to maximum effect.

[1]  Ewan Klein Computational Semantics in the Natural Language Toolkit , 2006, ALTA.

[2]  Ewan Klein,et al.  Natural Language Processing with Python , 2009 .

[3]  Steven Bird,et al.  NLTK-Lite: Efficient Scripting for Natural Language Processing , 2005 .

[4]  E. A. Unger,et al.  A predictor for success in an introductory programming class based upon abstract reasoning development , 1983, SIGCSE '83.

[5]  Steven Bird,et al.  Managing Fieldwork Data with Toolbox and the Natural Language Toolkit , 2007 .

[6]  Elizabeth D. Liddy,et al.  Hands-On NLP for an Interdisciplinary Audience , 2005, ACL 2005.

[7]  Nitin Madnani,et al.  Combining Open-Source with Research to Re-engineer a Hands-on Introductory NLP Course , 2008 .

[8]  Steven Bird,et al.  NLTK: The Natural Language Toolkit , 2002, ACL.

[9]  Steven Bird,et al.  Defining a Core Body of Knowledge for the Introductory Computational Linguistics Curriculum , 2008 .

[10]  Christine Shannon Another breadth-first approach to CS I using python , 2003, SIGCSE.

[11]  BennedsenJens,et al.  Mental models and programming aptitude , 2007 .

[12]  Edward Loper NLTK: Building a Pedagogical Toolkit in Python , 2004 .

[13]  C. Bonwell,et al.  Active learning : creating excitement in the classroom , 1991 .

[14]  Herbert Schildt Natural-language processing in C , 1987 .

[15]  Ian H. Witten,et al.  Data mining: practical machine learning tools and techniques, 3rd Edition , 1999 .

[16]  Jason Baldridge,et al.  Teaching Computational Linguistics to a Large, Diverse Student Body: Courses, Tools, and Interdepartmental Interaction , 2008 .

[17]  Marti A. Hearst Teaching Applied Natural Language Processing: Triumphs and Tribulations , 2005, ACL 2005.

[18]  Ian Witten,et al.  Data Mining , 2000 .

[19]  Nitin Madnani,et al.  Getting started on natural language processing with Python , 2007, CROS.

[20]  Kasper Green Larsen,et al.  Mental models and programming aptitude , 2007, ITiCSE '07.