Design of NLTK
Self-paced learning
- NLTK is accessible to a broad range of students
- it covers knowledge and skills for many areas of Natural Language Processing (NLP)
- NLTK permits students to learn at their own pace and to test their knowledge as they go
- all modules are thoroughly described in the NLTK API Documentation
Learning Python
- Python is easy to learn and has good string-handling functionality
- Python is an interpreted language, which facilitates interactive exploration
- Python is object-oriented, which permits data and methods to be re-used easily
- Python has an extensive library including support for graphical and numerical processing
- the NLTK Book teaches Python programming with the aid of many linguistic examples
Accessing data
- NLTK comes with many annotated linguistic corpora
- corpora can be accessed efficiently using corpus readers [LINK]
- corpus readers provide a simple and consistent interface to corpora in dozens of formats
Reading the code
- we've been careful to ensure that NLTK code is as readable as
possible, so students can learn NLP algorithms by reading the code;
here is the n-gram tagger implementation
- simplicity and clarity are given higher priority than efficiency and clever programming tricks
- naming conventions are consistent and transparent
What NLTK Provides
Easy-to-install distributions
Tutorials and exercises
- The NLTK Book is written in an informal tutorial style
- It includes hundreds of exercises, graded for difficulty
- It includes many suggestions for further reading
Interactive demonstrations
- NLTK provides graphical tools that can be used to demonstrate NLP concepts and algorithms
- See the Getting Started page for instructions
Slides
- Presentation slides are in preparation; some are already available here (latex beamer format). Other slides may be available via the web pages of other courses using NLTK.
Courses
Many courses use NLTK; here is a list of the courses we are aware of.
|