Anda di halaman 1dari 7

OON WIRA YUDA

1910031802102
TI4 B
Artificial Intelligency

Natural Language Processing

Secara mendasar, komunikasi adalah salah satu hal paling penting yang dibutuhkan
manusia sebagai makhluk sosial. Ada lebih dari trilyunan halaman berisi informasi pada
Website, dimana kebanyakan diantaranya menggunakan bahasa natural. Isu yang sering
muncul dalam pengolahan bahasa adalah ambiguitas, dan bahasa yang berantakan/tidak
formal .

Natural Language Processing merupakan salah satu cabang ilmu AI yang berfokus pada
pengolahan bahasa natural. Bahasa natural adalah bahasa yang secara umum digunakan
oleh manusia dalam berkomunikasi satu sama lain.  Bahasa yang diterima oleh komputer
butuh untuk diproses dan dipahami terlebih dahulu supaya maksud dari user bisa dipahami
dengan baik oleh komputer.
Ada berbagai terapan aplikasi dari NLP. Diantaranya adalah Chatbot , Stemming atau
Lemmatization , Summarization , Translation Tools dan aplikasi-aplikasi lain yang
memungkinkan komputer mampu memahami instruksi bahasa yang diinputkan oleh user.

Perkembangan NLP menghasilkan kemungkinan dari interface bahasa natural menjadi


knowledge base dan penterjemahan bahasa natural.
Contoh kalimat di bawah ini akan membantu untuk memahami perbedaan diantara ketiga
aspek tersebut di atas.

Contohnya apabila terdapat kalimat

Syntactic analysis harus menggunakan hasil dari morphological analysis untuk membangun
sebuah deskripsi yang terstruktur dari kalimat. Hasil akhir dari proses ini adalah yang sering
disebut sebagai parsing. Parsing adalah mengkonversikan daftar kata yang berbentuk
kalimat ke dalam bentuk struktur yang mendefinisikan unit yang diwakili oleh daftar tadi.
Cara yang paling umum digunakan untuk merepresentasikan grammar adalah dengan
sekumpulan production rule. Rule yang paling pertama bisa diterjemahkan sebagai “Sebuah
Sentence terdiri dari sebuah Noun Phrase, diikuti oleh Verb Phrase”, garis vertical adalah
OR, sedangkan mewakili string kosong.

Maka Parse Tree untuk kalimat “John ate the apple” akan menjadi

Stemming merupakan sebuah proses yang bertujuan untuk mereduksi jumlah variasi dalam
representasi dari sebuah kata . Resiko dari proses stemming adalah hilangnya informasi dari
kata yang di-stem. Hal ini menghasilkan menurunnya akurasi atau presisi. Sedangkan untuk
keuntungannya adalah, proses stemming bisa meningkatkan kemampuan untuk melakukan
recall. Tujuan dari stemming sebenarnya adalah untuk meningkatkan performace dan
mengurangi penggunakan resource dari sistem dengan mengurangi jumlah unique word
yang harus diakomodasikan oleh sistem. Jadi, secara umum, algoritma stemming
mengerjakan transformasi dari sebuah kata menjadi sebuah standar representasi morfologi .
Ingason dkk. mengemukakan bahwa lemmatization adalah sebuah proses untuk
menemukan bentuk dasar dari sebuah kata. Nirenburg mendukung teori ini dengan
kalimatnya yang menjelaskan bahwa lemmatization adalah proses yang bertujuan untuk
melakukan normalisasi pada teks/kata dengan berdasarkan pada bentuk dasar yang
merupakan bentuk lemma-nya. Normalisasi disini adalah dalam artian mengidentifikasikan
dan menghapus prefiks serta suffiks dari sebuah kata. Lemma adalah bentuk dasar dari
sebuah kata yang memiliki arti tertentu berdasar pada kamus.

Aplikasi NLP yang lainnya adalah seperti penerjemah bahasa, chatting dengan


komputer, meringkas satu bacaan yang panjang, pengecekan grammar dan lain
sebagainya.

INFORMATION RETRIEVAL

( METODE VSM dan Pembobotan Kata atau Term Weighting TF-IDF )

Dalam bidang penelitian information retrieval (sistem temu kembali) terdapat salah satu
metode perangkingan sederhana namun memberikan hasil yang sudah mencukupi untuk
sebuah sistem pencarian terhadap dokumen. Information Retrieval memiliki beberapa
metode dalam mengambil data dan informasi antara lain inverted index, Boolean retrieval,
tokenization, stemming and lemmatization, dictionaries, wildcard queries, dan vector space
model.

A.Vector Space Model (VSM).

Vector space model (VSM) adalah teknik dasar dalam perolehan informasi yang dapat
digunakan untuk penilaian relevansi dokumen terhadap kata kunci pencarian (query) pada
mesin pencari, klasifikasi dokumen, dan pengelompokan dokumen (Adriani, M., Asian, J.,
Nazief, B., & et al.,2007). Vector space model merupakan representasi kumpulan dokumen
sebagai vektor dalam sebuah ruang vector (Akerkar, R., 2005). Dalam Vector Space Model,
koleksi dokumen direpresentasikan sebagai sebuah matrik term-document (matrik term-
frequency). Setiap sel dalam matrik bersesuaian dengan bobot yang diberikan dari suatu
term dalam dokmen yang ditentukan. Nilai nol berarti bahwa term tersebut tidak hadir dalam
dokumen .
Melalui vector space model dan TF weighting maka akan didapatkan representasi nilai
numerik dokummen sehingga kemudian dapat dihitung kedekatan antar dokumen. Semakin
dekat dua vektor di dalam suatu VSM, maka semakin mirip dua dokumen yang diwakili
vektor tersebut. Fungsi untuk mengukur kemiripan (similarity measure) yang dapat
digunakan untuk model ini terdiri dari :

1.cosine distance / cosine similarity

2.Inner similarity

3.Dice similarity

4.Jaccard similarity

Salah satu ukuran kemiripan teks yang popular adalah cosine similarity. Ukuran ini
menghitung nilai cosinus sudut antara dua vektor. Jika terdapat dua vektor dokumen d dan
query q, serta t term diekstrak dari koleksi dokumen maka nilai cosinus antara d dan q
didefinisikan sebagai berikut :

Pada prinsipnya metode perangkingan pencarian dokumen ini didasarkan pada perhitungan
jarak kemiripan dengan cosinus antara vektor dokumen dengan vektor query.

Ketika sebuah dokumen dimasukkan dalam suatu ruang vektor, maka kita dapat
membayangkan sebuah ruang vektor yang memiliki dimensi luar biasa besar dan ditentukan
oleh banyaknya term/kata yang terbentuk saat proses pengindeksan dokumen.
Pengindeksan terhadap kumpulan dokumen yang dapat dicari merupakan sebuah proses
tersendiri. Konsep umum yang diterapkan untuk pembuatan struktur indeks adalah
menggunakan model inverted index. Dalam inverted index, kita mengenal ada sebuah daftar
kamus (dictionary) yang berisi kata atau term hasil dari pemrosesan setiap dokumen. Dari
setiap kata yang ada dalam dictionary, lalu terbentuk sebuah linked list yang berisi urutan
dokumen yang mengandung term tersebut. (Lihat gambaran struktur tersebut dari
Christopher D. Manning.)
Inverted Index

Sebelum dilakukan perhitungan rangking antara dokumen dan query, maka terlebih dahulu
harus dihitung bobot setiap kata yang dimiliki tiap dokumen. Perhitungan bobot tiap kata
dapat menggunakan pendekatan TF-IDF. Untuk contoh, digunakan tiga buah dokumen
sebagai berikut :

D1 = Manajemen Sistem Informasi


D2 = Sistem Sumber Daya Manusia
D3 = Manajemen Informasi Penggajian

Langkah 1: Terhadap 3 dokumen tersebut, maka kita dapat membentuk sebuah matrik term
frequency sebagai berikut :

Langkah 2: Dengan terbentukanya matrik term frequency tersebut, maka sekarang dengan


mudah kita dapat membentuk vektor query yang diberikan ke dalam sistem. Contoh query
adalah “informasi daya manusia“. Sekarang vektor query yang dapat kita bentuk adalah :

q = {(tf-query-informasi/max-tf-query)*idf-informasi, (tf-query-daya/max-tf-query)*idf-daya, (tf-
query-manusia/max-tf-query)*idf-manusia}

sehingga kita dapat memiliki vektor query sebagai berikut :

q = {(1/1)*0.176091, (1/1)* 0.477121 , (1/1)* 0.477121 }

Langkah 3: Sedangkan untuk tiap dokumen, kita dapat membentuk vektor sesuai dengan
term yang dicari sebagai berikut :
 d1 = {0.176091, 0, 0}
 d2 = {0,  0.477121,  0.477121}
 d3 = {0.176091, 0, 0}

Langkah 4: berikutnya kita hitung panjang vektor untuk d1, d2, d3, dan q.

 d1 = sqrt(3*(0.18^2)) = 0.304999007
 d2 = sqrt(0.18^2 + 3*(0.48^2)) = 0.844951008
 d3 = sqrt(2*(0.18^2) + 0.48^2) = 0.538201593
 q = sqrt(0.18^2 + 2*(0.48^2)) = 0.697350353

Langkah 5: Menghitung koefisien kemiripan antara d1, d2, d3 dengan vektor query
menggunakan koefisien kemiripan cosinus.

 cosSim(d1, Q) = (0.176091 *  0.176091)/(0.304999*0.697350)


 cosSim(d2, Q) = (0.477121* 0.477121+ 0.477121* 0.477121)/(0.84495*0.69735)
 cosSim(d3, Q) = (0.176091* 0.176091)/(0.5382*0.69735)

Dengan perhitungan tersebut, maka kita mendapati bahwa urutan bobot kemiripan dokumen
dengan query adalah d2, d1, dan d3.

Contoh query: gold silver truck. Sehingga didapatkan query terms (Q):


– gold
– silver
– truck
Untuk koleksi dokumen nya terdapat:
dokumen 1 (d1) = Shipment of gold damaged in a fire
dokumen 2 (d2) = Delivery of silver arrived in a silver truck
dokumen 3 (d3) = Shipment of gold arrived in a truck
 

Jadi total jumlah dokumen dalah koleksi dokumen (D) = 3


Untuk setiap query dan dokumen dalam koleksi, dilakukan pemotongan string berdasarkan
tiap kata yang menyusunnya, menghilangkan tanda baca, angka dan stopword.

Setelah melalui proses ini, maka kata “of”, “in”, dan “a” pada ketiga dokumen dihapus lalu di-
stemming sehingga didapatkan term-term (documents terms) sebagai berikut:
– ship – gold – damage – fire – deliver – silver – arrive – truck
 

Tahapan proses keseluruhan diatas dinamakan preprocessing text.


Pada tahap selanjutnya tiap dokumen diwujudkan sebagai sebuah vektor dengan elemen
sebanyak term query yang terdapat dalam tiap dokumen yang berhasil dikenali dari tahap
ekstraksi dokumen sebelumnya. Vektor tersebut beranggotakan bobot dari setiap term query
yang dihitung berdasarkan metode Term Weighting TF-IDF
Fungsi metode ini adalah untuk mencari representasi nilai dari tiap dokumen dalam koleksi.
Dari sini akan dibentuk suatu vektor antara dokumen dan query yang ditentukan oleh nilai
bobot term query dalam dokumen.

Semakin besar nilai perhitungan bobot yang diperoleh maka semakin tinggi tingkat
similaritas dokumen terhadap query. Contohnya untuk perhitungan bobot (w) term query
silver dalam dokumen2 (d2) = Delivery of silver arrived in a silver truck, yaitu: jumlah
kemunculan term silver dalam dokumen 2 (d2) adalah sebanyak dua kali (tf = 2), total
dokumen yang ada di koleksi sebanyak tiga dokumen (D)=3, dari ketiga dokumen dalam
koleksi, term silver muncul pada dokumen 2 (d2) saja, sehingga total dokumen yang
mengandung term silver adalah satu dokumen (df)=1, sehingga dapat diperoleh nilai bobot
term silver pada dokumen 2 (d2)

Dengan demikian dapat diperoleh nilai bobot (w) untuk setiap term pada query dalam
masing-masing dokumen:

Anda mungkin juga menyukai