Machine Learning: Natural Language Processing

Machine Learning: Natural Language Processing

Catatan penting : Jika Anda benar-benar awam tentang apa itu Python, silakan klik artikel saya ini. Jika Anda awam tentang R, silakan klik artikel ini.

Natural Language Processing atau disingkat NLP adalah teknik Machine Learning (ML) yang mempelajari hubungan antara bahasa manusia (languages) dengan komputer. NLP digunakan untuk mengaplikasikan model ML ke dalam teks atau bahasa (suara).

Agar mendapatkan gambaran, maka NLP biasanya digunakan untuk menginterpretasikan suara manusia ke dalam tulisan, misalnya iPhone siri. Untuk aplikasi Android, maka kita bisa menggunakan Google Translate untuk merubah dari suara ke teks. Jika Anda familiar dengan Amazon, maka NLP juga digunakan untuk mengembangkan Amazon Alexa, seperti ilustrasi di bawah ini:

ilustrasi amazon alexa
Amazon Alexa yang bisa menerima perintah dari suara penggunanya

Berikut beberapa contoh aplikasi nyata dari teknik NLP:

  1. Prediksi genre dari sebuah buku, majalah, tabloid, dan lain sebagainya.
  2. Menjawab pertanyaan melalui suara.
  3. Analisis mood penulis atau sering disebut dengan sentiment analysis, sehingga kita bisa mengetahui mood dari tulisan yang ditulisnya di internet atau media lainnya.
  4. Mesin pendeteksi suara (speech recognition).
  5. Membuat kesimpulan sebuah dokumen berdasarkan tulisan-tulisan yang sudah direkam (di-scan).
  6. Membuat aplikasi tata bahasa (grammar correction). Misal aplikasi grammar bahasa inggris yang berada di pasaran.

Jadi pada dasarnya, NLP mengolah data informasi manusia baik berupa suara maupun tulisan. Dari pengolahan data tersebut, terserah kita sebagai pembuat program/aplikasi mau diimprovisasi menjadi apa. Misal, untuk membuat sistem keamanan ponsel kita, di mana ponsel hanya bisa dibuka jika dia mengenali suara kita.

Ada beberapa library yang bisa digunakan untuk teknik NLP, beberapa di antaranya adalah:

  • Spacy
  • Standford NLP
  • OpenNLP
  • Natural Language Toolkit (NLTK)

Yang akan kita gunakan untuk pembelajaran kali ini adalah NLTK, karena menurut saya ini yang paling lengkap dan paling handal. Tentu saja ini bersifat subjektif.

Salah satu pemakaian NLTK adalah bisa memecah kalimat ke dalam beberapa struktur, misalnya mana subjek, predikat, objek, keterangan, konjungsi, kata sifat dan lainnya. Ilustrasinya, misal kalimat “Pierre Vinken 61 years old will join the board as a nonexecutive director Nov. 29.”, maka jika dijabarkan adalah sebagai berikut:

Pembagian kalimat ke dalam strukturnya (sumber:
http://www.nltk.org)

Model NLP yang akan kita pelajari kali ini adalah Bag of Words. Model ini digunakan untuk mengekstraksi (extract) fitur dari sebuah teks atau dokumen. Fitur-fitur yang sudah diekstraksi ini bisa digunakan untuk melatih (training) algoritma ML. Hasil akhirnya adalah berupa vocabulary (kata-kata yang unik) yang muncul di semua dokumen/teks di training set. Tenang saja, akan lebih mudah jika praktek melalui contoh di halaman selanjutnya dengan menggunakan pendekatan Python maupun R.

Untuk melanjutkan membaca, silakan klik lanjut ke halaman selanjutnya di bawah ini.

Bagikan artikel ini:

Pages: 1 2 3 4

Subscribe
Notify of
guest
9 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Alexander
Alexander
10 months ago

Selamat pagi.
Gini mas, saya sedang mencoba menjalankan tutorial ini menggunakan jupyter notebook python. nah sekarag saya mau liat autput dari aplikasi ini apa yah? dan yg bahasa R itu gk kaitannya dgn source pytonnya? Terima kasih sebelumnya.

Denilson
Denilson
5 months ago

Selamat malam.
kalau mau menambahkan Pembobotan TF-IDF, seperti gimana ya? trimakasih

Denilson
Denilson
Reply to  MB Herlambang
5 months ago

jadi kalo saya mengganti line 57 dengan

“cv =TfidfVectorizer (analyzer=’word’,
ngram_range=(1, 1),
min_df=1,
max_df=0.95,
sublinear_tf=True,
use_idf=True)”

apakah itu sudah menggunakan tf-idf?

Nikky Rufiansya
Nikky Rufiansya
1 month ago

Permisi Pak, salam hangat dari saya boleh saya minta tolong jika berkenan di jelaskan mengenai NLP dalam teknologi Chatbot secara detail mulai dari konsep, teori dan studi kasusnya. soalnya saya masih belum memahami

terima kasih
sukses selalu

Rocky
Rocky
25 days ago

Halo Pak
 
Sebelumnya saya sedang mempelajari face detection menggunakan opencv di spyder, namun saya melihat byk contoh program yang menggunakan library argparse, kira-kira plus minus nya apa yah pak? saya coba jalankan program sederhana menggunakan argparse di spyder tapi hasil outputnya tidak ada? apakah ada alternatif lain pak?
 
Terima kasih
Salam