Anda di halaman 1dari 9

NATURAL LANGUAGE PROCESSING

Major Assignments 1
Tugas Besar 1

I certify that this report assignment is my own work, based on my team or personal study
and that I have acknowledged all material and sources used in its preparation, whether they
be books, articles, reports, lecture notes, and any other kind of document.

Saya menyatakan bahwa laporan tugas ini adalah pekerjaan saya sendiri, berdasarkan studi
saya atau tim secara pribadi dan saya telah menuliskan semua materi dan sumber yang
digunakan dalam laporan ini, baik itu buku, artikel, laporan, catatan kuliah, dan lainnya.

Ari Ariyanto – 41518310026


April – 2021
NATURAL LANGUAGE PROCESSING - MAJOR ASSIGNMENTS 1 - (DEADLINE WEEK-6)

BAGIAN A (MARKS PERCENTAGE 60%)

Jawablah pertanyaan berikut ini:


1. Apa yang dimaksud dengan NLP?
2. Selain segmentasi teks, apa tantangan pengolahan data atau riset di bidang NLP?
3. Sebutkan contoh penerapan NLP pada aplikasi perangkat lunak?
4. Apa kegunaan Library NLTK dan Sastrawi?
5. Apa tujuan case folding?
6. Apa definisi dari tokenizing?
7. Jelaskan tentang stopword dan berikan contohnya?
8. Apa algoritma yang dapat digunakan untuk stemming teks bahasa Indonesia? Jelaskan.
9. Apa tujuan dari word embeddings?
10. Sebutkan dan jelaskan model arsitektur dari word2vec?
11. Apa definisi dari Bag of Words?
12. Jelaskan mengendai metode atau algoritma FastText?
13. Apa yang dimaksud dengan N-Gram?
14. Jelaskan contoh penerapan N-Gram?
15. Jelaskn definisi dari smoothing?
16. Jelaskan mengenai Laplace Smoothing
17. Apa yang dimaksud dengan Backoff dan Interpolasi?
18. Jelaskan mengapa Kneser-Ney Smoothing memiliki kinerja yang baik?
19. Apa latar belakang munculnya metode Stupid Backoff?
20. Apa dasar pemikiran dari metode Good-Turing Smoothing?

BAGIAN B (MARKS PERCENTAGE 40%)

Buatlah Video Q&A penjelasan mengenai jawaban pada Bagian A. Pada awal video diharapkan
untuk memperkenalkan diri dengan video tampak muka. Video diharapkan dapat dipuload ke
Youtube. Judul video di Youtube: Nama – Q&A Konsep Natural Language Processing.
Jawaban dari soal ini berupa tautan video Youtube.
💡 Dokumen dikumpulkan dalam bentuk .doc dengan format nama dokumen
TB1_NAMA_NIM ke Kantong Digital Tugas Besar 1 yang sudah disediakan.
Harap menggunakan template ini untuk menyelesaikan Tugas Besar 1 ini.
Jawaban:

A. Bagian A
1. Apa yang dimaksud dengan NLP?
Jawab:
 Natural Language Processing (NLP) adalah penerapan ilmu komputer, khususnya
linguistik komputasional (computational linguistics), untuk mengkaji interaksi
antara komputer dengan bahasa (alami) manusia.

2. Selain segmentasi teks, apa tantangan pengolahan data atau riset di bidang NLP?
Jawab:
 Disambiguasi makna kata (word sense disambiguation).
 Ambiguitas sintaksis (syntactic ambiguity).
 Masukan yang tak sempurna atau tak teratur (imperfect or irregular input).
 Pertuturan (speech act).

3. Sebutkan contoh penerapan NLP pada aplikasi perangkat lunak?


Jawab:
 Pengenalan wicara (speech recognition). Pengubahan bahasa lisan menjadi
masukan yang dikenali oleh mesin, misalnya pada pendiktean bahasa lisan
kepada komputer untuk menghasilkan bahasa tulis atau pelaksanaan suatu
perintah oleh komputer berdasarkan bahasa lisan dari manusia.
 Pengenalan karakter optis (optical character recognition). Pengubahan tulisan
tangan atau teks tercetak (biasanya melalui pemindai) menjadi dokumen yang
dapat dikenali oleh mesin.
 Penerjemahan mesin (machine translation). Penerjemahan otomatis dari suatu
bahasa alami ke bahasa lain.

4. Apa kegunaan Library NLTK dan Sastrawi?


Jawab:
 Natural Language Toolkit atau disingkat NLTK, adalah library python untuk
bekerja dengan permodelan teks. NLTK menyediakan alat yang baik
mempersiapkan teks sebelum digunakan pada machine learning atau algoritma
deep learning.
 Python Sastrawi merupakan library sederhana yang dapat mengubah kata
berimbuhan bahasa Indonesia menjadi bentuk dasarnya.

5. Apa tujuan case folding?


Jawab:
 Tujuan dari case folding untuk mengubah semua huruf dalam dokumen menjadi
huruf kecil. Hanya huruf ‘a’ sampai ‘z’ yang diterima. Karakter selain huruf
dihilangkan dan dianggap delimiter.

6. Apa definisi dari tokenizing?


Jawab:
 Tokenizing adalah proses pemisahan teks menjadi potongan-potongan yang
disebut sebagai token untuk kemudian di analisa. Kata, angka, simbol, tanda baca
dan entitas penting lainnya dapat dianggap sebagai token.

7. Jelaskan tentang stopword dan berikan contohnya?


Jawab:
 Stopword adalah kata umum yang biasanya muncul dalam jumlah besar dan
dianggap tidak memiliki makna. Contoh stopword dalam bahasa Indonesia adalah
“yang”, “dan”, “di”, “dari”, dll. Makna di balik penggunaan stopword yaitu
dengan menghapus kata-kata yang memiliki informasi rendah dari sebuah teks,
kita dapat fokus pada kata-kata penting sebagai gantinya.

8. Apa algoritma yang dapat digunakan untuk stemming teks bahasa Indonesia? Jelaskan.
Jawab:
 Untuk melakukan stemming bahasa Indonesia kita dapat menggunakan library
Python Sastrawi yang sudah kita siapkan di awal. Library Sastrawi menerapkan
Algoritma Nazief dan Adriani dalam melakukan stemming bahasa Indonesia.
 Algortima Nazief & Adriani merupakan algoritma untuk mengubah kata yang
memiliki sufiks, prefix dan atau konfiks menjadi bentuk kata dasar. Algoritma ini
menggunakan kamus kata dasar dan mendukung recoding, yakni penyusunan
kembali kata-kata yang mengalami proses stemming berlebih.
9. Apa tujuan dari word embeddings?
Jawab:
 Word embeddings adalah proses konversi kata yang berupa karakter
alphanumeric kedalam bentuk vector. Setiap kata adalah vector yang
merepresentasikan sebuah titik pada space dengan dimensi tertentu. Dengan word
embedding, kata-kata yang memiliki properti tertentu, misalnya berada pada
konteks yang sama, atau memiliki semantic meaning yang sama berada tidak jauh
satu sama lain pada space tersebut.

10. Sebutkan dan jelaskan model arsitektur dari word2vec?


Jawab:
 Terdapat dua model arsitektur yang dapat digunakan pada word2vec,
yaituCBOW dan SkipGram.
 Pada model CBOW, word2vec menggunakan kata-kata yang ada di sebelah kiri
dan kanan kata target dan dibatasi dengan window untuk memprediksi kata target
tersebut. Sedangkan Skip-Gram menggunakan sebuah kata untuk memprediksi
kata-kata yang ada di sebelah kiri dan kanan kata tersebut yang dibatasi oleh
window. Masing-masing kata yang digunakan sebagai input di-encode ke dalam
one-hot vector. Perbedaan dari kedua model tersebut adalah model prediksi kata.

11. Apa definisi dari Bag of Words?


Jawab:
 Bag of Words terdiri dari term frequencies (TF), term frequency-inverse
document frequency (TF-IDF), hingga n-grams. Bag of Words merepresentasikan
teks ke dalam sekumpulan kata yang dapat diwakili oleh frekuensi
kemunculannya dalam sebuah dokumen.

12. Jelaskan mengendai metode atau algoritma FastText?


Jawab:
 Metode ini mempelajari representasi kata dengan mempertimbangkan informasi
subword. Setiap kata direpresentasikan sebagai sekumpulan karakter ngram.
Dengan demikian dapat membantu menangkap arti kata-kata yang lebih pendek
dan memungkinkan embedding untuk memahami sufiks dan prefiks dari kata.
13. Apa yang dimaksud dengan N-Gram?
Jawab:
 N-gram adalah suatu metode pengolahan dokumen yang biasanya digunakan
dalam spelling correction, word prediction dan pengolahan lainnya.
 N-gram cukup esensial pada banyak hal dimana kata perlu diartikan dengan lebih
tepat mengingat terkadang ada input yang ambigu maupun gangguan (noise).
Misalnya pada speech recognition, seringkali pembicaraan terdengar sangat
membingungkan dan banyak kata terdengar sangat mirip sehingga sulit
dibedakan.

14. Jelaskan contoh penerapan N-Gram?


Jawab:
 Teknik prediksi kata berbasis model N-grams dan corpora telah banyak
dimplementasikan. Cardiology Next Word Predictor merupakan salah satu
aplikasinya. Proses inti dari aplikasi ini dibangun menggunakan bahasa
pemrograman R, sedangkan corpora yang dijadikan basis pelatihan dari model
adalah PubMed (khusus domain kesehatan). Aplikasi ini diharapkan mampu
menyarankan kata di bidang kesehatan, terutama Cardiology, saat pengguna
mencari artikel yang terkait dengan bidang kesehatan.

15. Jelaskn definisi dari smoothing?


Jawab:
 Teknik smoothing di NLP digunakan untuk mengatasi skenario yang terkait
dengan penentuan estimasi probabilitas / kemungkinan dari urutan kata
(katakanlah, kalimat) yang terjadi bersamaan ketika satu atau lebih kata secara
individual (unigram) atau N-gram seperti bigram atau trigram pada himpunan
yang diberikan tidak pernah terjadi sebelumnya.

16. Jelaskan mengenai Laplace Smoothing


Jawab:
 Lapache Smoothing merupakan teknik smoothing paling sederhana, yaitu dengan
menambahkan nilai satu ke setiap frekuensi kehadiran bigram sebelum dilakukan
normalisasi untuk memperoleh probabilitas. Lapache smoothing tidak cukup baik
saat digunakan dalam model N-grams modern tetapi menjadi konsep dasar (juga
sebagai baseline) bagi banyak algoritma smoothing yang hadir kemudian.

17. Apa yang dimaksud dengan Backoff dan Interpolasi?


Jawab:
 Pada backoff, kita menggunakan trigram jika fakta tersedia, jika tidak kita
menggunakan bigram, jika tidak ada fakta juga maka memanfaatkan unigram.
Kita hanya melakukan backoff ke N-gram orde lebih rendah jika ditemukan
frekuensi nol pada N-gram orde lebih tinggi. Agar model backoff memberikan
distribusi probabilitas yang tepat maka harus diterapkan diskon terhadap N-grams
orde lebih tinggi. Kumpulan diskon tersebut dialihkan ke N-grams orde lebih 14
rendah. Pendekatan backoff dengan diskon ini dinamakan Katz backoff
 Pendekatan interpolasi sangat berbeda. Kita harus menggabungkan probabilitas
dari semua Ngram, memberikan bobot dan mengkombinasikan frekuensi trigram,
bigram dan unigram.

18. Jelaskan mengapa Kneser-Ney Smoothing memiliki kinerja yang baik?


Jawab:
 Kneser-Ney memanfaatkan discounting absolute dengan cara yang lebih canggih
untuk menangani distribusi unigram orde lebih rendah.
 Versi Kneser-Ney smoothing berkinerja terbaik dinamakan modified Kneser-Net
smoothing yang diajukan oleh (Chen dan Goodman, 1998). Pada pendekatan ini
tidak digunakan diskon tunggal d, tetapi menggunakan 3 tingkatan diskon: d1, d2
dan d3+. Diskon d1 berlaku untuk Ngrams dengan frekuensi 1, d2 untuk N-grams
berfrekuensi 2 dan d3+ untuk N-grams yang frekuensinya sama atau lebih dari 3.

19. Apa latar belakang munculnya metode Stupid Backoff?


Jawab:
 Google pada tahun 2006 telah merilis himpunan N-grams sangat besar (1 s.d 5-
grams) dari semua deretan lima-kata yang hadir setiaknya 40 kali dari 1 triliun
lebih kata dari running text di web; termasuk sekitar 1,2 milyar rangkaian lima-
kata menggunakan lebih 13 juta tipe kata.
 Data raksasa tersebut sangat mungkin untuk membangun model bahasa skala web
menggunakan Kneser-Ney smoothing secara penuh. (Brants dkk., 2007)
memperlihatkan bahwa algoritma yang jauh lebih sederhana sudah cukup untuk
menangani model bahasa yang sangat besar. Algoritma bernama stupid backoff
ini memunculkan ide percobaan untuk membuat model bahasa suatu distribusi
probabilitas murni. Tidak ada diskon terhadap probabilitas ber-orde lebih tinggi.
Jika N-gram orde lebih tinggi mempunyai frekuensi nol maka dilakukan backoff
ke N-grams ber-orde lebih rendah, dibobot dengan suatu bobot tetap (tidak
tergantung pada konteks).

20. Apa dasar pemikiran dari metode Good-Turing Smoothing?


Jawab:
 Menurut Cao, Pemikiran dasar dari Good-Turing Smoothing adalah
memanfaatkan count atau frekuensi sesuatu yang telah dilihat sekali untuk
membantu mengestimasi frekuensi dari sesuatu yang belum pernah terlihat.

B. Bagian B
Link youtube: https://youtu.be/FKPsTMLMbL8

Anda mungkin juga menyukai