Dalam situs resminya (http://nltk.org/) dipaparkan bahwa NLTK diciptakan pada tahun 2001 sebagai bagian dari program komputasi linguistik di Departemen Ilmu Komputer dan Informasi di University of Pennsylvania. Sejak saat itu, NLTK telah dikembangkan dan diperluas dengan bantuan puluhan kontributor. Saat ini, NLTK telah diadopsi dalam program di puluhan perguruan tinggi, dan berfungsi sebagai dasar dari banyak proyek-proyek penelitian. NLTK mendefinisikan infrastruktur yang dapat digunakan untuk membangun program NLP menggunakan Python. NLTK menyediakan kelas dasar untuk mewakili data yang relevan dengan Natural Language Processing (NLP); interface standar untuk melakukan tugas-tugas seperti penandaan part-of-speech, parsing sintaksis, dan klasifikasi teks; dan implementasi standar untuk setiap tugas yang dapat dikombinasikan untuk memecahkan masalah yang kompleks. NLTK juga dilengkapi dengan dokumentasi yang ekstensif.

Berikut ini daftar modul NLTK paling penting, tugas pengolahan bahasa dan modul NLTK sesuai dengan contoh fungsionalitas, yaitu:

Tabel 1. Modul NLTK

Language Processing Task NLTK Modules Functionality
Accessing corpora nltk.corpus Standardized interfaces to corpora and lexicons
String processing nltk.tokenize, nltk.stem Tokenizers, sentence tokenizers, stemmers
Collocation discovery nltk.collocations t-test, chi-squared, point-wise mutual information
Part-of-speech tagging nltk.tag n-gram, backoff, Brill, HMM, TnT
Classification nltk.classify, nltk.cluster Decision tree, maximum entropy, naive Bayes, EM, k-means
Chunking nltk.chunk Regular expression, n-gram, named entity
Parsing nltk.parse Chart, feature-based, unification, probabilistic, dependency
Semantic interpretation nltk.sem, nltk.inference Lambda calculus, first-order logic, model checking
Evaluation metrics nltk.metrics Precision, recall, agreement coefficients
Probability and estimation nltk.probability Frequency distributions, smoothed probability distributions
Applications nltk.app, nltk.chat Graphical concordancer, parsers, WordNet browser, chatbots
Linguistic fieldwork nltk.toolbox Manipulate data in SIL Toolbox format

NLTK dirancang dengan 4 (empat) tujuan utama, diantaranya:

  1. Simplicity
    Untuk menyediakan kerangka kerja intuitif bersama dengan blok bangunan yang substansial, memberikan pengetahuan praktis NLP yang mudah dimengerti oleh pengguna.
  1. Consistency
    Untuk memberikan kerangka yang seragam dengan interface yang konsisten dan struktur data, dan nama method mudah diterka.
  1. Extensibility
    Untuk memberikan struktur di mana modul software baru dapat dengan mudah ditampung, termasuk implementasi alternatif dan pendekatan lain untuk tugas yang sama.
  1. Modularity
    Untuk menyediakan komponen yang dapat digunakan secara terpisah tanpa perlu memahami sisa toolkit.

NLTK direkomendasikan sebagai toolkit apabila Anda hendak mencoba untuk memulai dalam melakukan manipulasi teks. Untuk tahapan selanjutnya, Anda dapat bereksplorasi dengan menggunakan berbagai jenis toolkit ataupun library dari sumber-sumber yang disediakan pada paper-paper internasional yang sudah dipublikasikan secara online.

Selamat belajar dan mencoba!