Menggunakan NLTK untuk Pemrosesan Teks
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:
- Simplicity
Untuk menyediakan kerangka kerja intuitif bersama dengan blok bangunan yang substansial, memberikan pengetahuan praktis NLP yang mudah dimengerti oleh pengguna.
- Consistency
Untuk memberikan kerangka yang seragam dengan interface yang konsisten dan struktur data, dan nama method mudah diterka.
- Extensibility
Untuk memberikan struktur di mana modul software baru dapat dengan mudah ditampung, termasuk implementasi alternatif dan pendekatan lain untuk tugas yang sama.
- 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!