Seminar Sistem Informasi Indonesia (SESINDO2010) – ITS, Surabaya 4 Desember 2010 PEMBENTUKAN GRAF UNTUK PELABELAN MAKNA KATA BERDASARKAN SYNSET, RELASI SYNSET DAN GLOSS Jeany Harmoejanto Teknik Informatika, Teknologi Informasi, Institut Teknologi Sepuluh Nopember 1 Kampus ITS Sukolilo, Surabaya, 60111 Telp : (031) 5992526, 5994251-55 Teknik Informatika, Teknik Informatika, Sekolah Tinggi Teknik Surabaya 2 Ngagel jaya Tengah 73-77, Surabaya, 60001 Telp : (031) 5027920, Fax : (031) 5041509 E-mail : [email protected] HU U Abstract Word Sense disambiguation (WSD), is one of the important topics in Natural Language Processing (NLP), aims to determine the meaning of a word, especially a word that has more than one meaning. WSD is widely used to support such applications as machine translators, information/news extractor, question and answer engine, opinion summary engine. In this study, shows a concept that can be applied for labeling words in an English sentence that fits to the context of a sentence. The first step is to break sentences into words, then make a graph based on the synset of each word, form a weighted graph based on the description of the gloss and synset relations between words. The final step is to reconstruct the labeled word back into a sentence by selecting the biggest weight. During the weighting process, there are stages to find the relationship between synsets using Breath First Search algorithm to create the hidden graph. Other algorithms that being used are Lesk algorithm and PageRank, to count the graph’s weight. Data sources required are 2 (two) types, data to perform labeling (WordNet) and data to test the results of labeling (manual data). The main purpose of this study is to show how the algortihms able to form weighted graph efficiently and label all words given in a sentence correcly. Keyword : Word Sense Disambiguity, Gloss, Synset, BFS, Lesk, PageRank. Abstrak Word Sense Disambiguation (WSD) merupakan salah satu topik yang cukup penting dalam Natural Language Processing (NLP), di mana bertujuan untuk menentukan makna dari suatu kata, terutama untuk kata yang memiliki lebih dari satu arti. WSD banyak digunakan untuk mendukung aplikasi seperti mesin penterjemah, pengektraksi informasi/berita, mesin tanya jawab, perangkuman opini. Dalam penelitian ini, dikemukakan konsep yang diterapkan untuk pelabelan kata dalam kalimat berbahasa inggris sehingga dapat diketahui makna kata yang paling sesuai dengan konteks kalimat yang diberikan. Langkah-langkah yang dilakukan adalah dengan memecah kalimat menjadi kata terlebih dahulu, kemudian melakukan pembentukan graf berdasarkan synset dari masing-masing kata, melakukan pembobotan graf berdasarkan deskripsi kata (gloss) dan relasi synset antar kata yang ada. Langkah terakhir adalah menyusun kembali kata yang telah berlabel (ditentukan maknanya) ke dalam bentuk kalimat dengan cara memilih makna, untuk kata tersebut, yang memiliki bobot terkecil. Selama proses pembobotan graf tersebut terdapat tahapan untuk mencari hubungan antara synset kata yang satu dengan kata yang lain dengan algoritma Breath First Search semakin dalam pencarian relasi dilakukan maka semakin besar bobot yang dihasilkan, demikian pula sebaliknya. Algoritma yang digunakan untuk menghitung bobot adalah algoritma Lesk, kedalaman proses BFS dan PageRank. Sumber data yang diperlukan ada 2 (dua) macam yakni sumber data untuk melakukan pelabelan (wordnet) dan sumber data untuk melakukan uji coba hasil pelabelan (data manual). Konsep yang dikemukakan belum berfokus pada peningkatan Precision dan Recall namun lebih kepada efisiensi pembentukan dalam penentuan makna setiap kata, dengan bantuan gloss kata dan synset pencarian. Keyword : Word Sense Disambiguity, Gloss, Synset, BFS, Lesk, PageRank. 1. PENDAHULUAN Word Sense Disambiguation (WSD) merupakan salah satu topik yang penting dalam Natural Language Processing (NLP), di mana bertujuan untuk menentukan makna suatu kata. WSD banyak digunakan pada aplikasi seperti mesin 0B penterjemah, pengektraks informasi/berita, mesin tanya jawab, perangkuman opini. Berkaitan dengan makna dari suatu kata, apabila kita mempelajari salah satu bahasa, maka akan kita temukan bahwa sebuah kata dapat mempunyai banyak makna seperti contoh dalam bahasa Seminar Sistem Informasi Indonesia (SESINDO2010) – ITS, Surabaya 4 Desember 2010 inggris, kata call dapat berarti command to come, dapat juga berarti a telephone connection, bahkan dalam online wordnet 3.0 ditemukan ±30 arti call, di sinilah peranan WSD untuk memilih dari 30 arti call, tentunya setelah kata tersebut dimasukkan dalam kalimat. Berbagai pendekatan WSD dikembangkan, salah satu metode WSD yakni dengan pendekatan graf, seperti yang dilakukan pada penelitian ini. Pelabelan makna kata dalam suatu kalimat dengan menggunakan pendekatan berbasis graf, yang dilakukan dalam penelitian ini, mengambil ide dari hasil penelitian yang pernah dilakukan oleh Rada Mihalcea (2005) dan Roberto Navigli bersama dengan Mirella Lapata (2010). Di mana Mihalcea melakukan penghitungan graf berbobot dengan bantuan gloss/deskripsi kata sedangkan Navigli menggunakan relasi synset seperti hipernim, hyponim, antonim. 2. KAJIAN PUSTAKA Sebelum membahas mengenai konsep pelabelan kata, bab ini akan memaparkan terlebih dahulu mengenai kata dan kalimat, Word Sense Disambuguity dan Graf berbobot (Weighted Graph). 1B 2.1 Kata dan Kalimat Secara sederhana hubungan antara kata dan kalimat dalam bahasa Inggris dapat dijabarkan sebagai berikut, yakni sebuah kata dapat berupa kata dasar (contoh: the, plane, took, off), kata turunan (contoh: took merupakan bentukan dari kata take) dan frase (contoh: took off), sedangkan kalimat adalah kumpulan dari kata yang mengisi jabatan minimal subjek (S) dan predikat (P) (contoh: the plane (S) took off (P)). Kata dasar merupakan bentuk terkecil dari tatanan bahasa, istilah lain yang digunakan yakni akar kata/kata asal. Sebuah kata dasar dapat dikategorikan dalam jenis kata (Part of Speech) antara lain (Haspelmath, 2001): 1. Kata benda (Noun), contoh: book, storm 2. Kata kerja (Verb), contoh: push, sit, know 3. Kata sifat (Adjective), contoh: good, blue, Polish 4. Kata keterangan (Adverb), contoh: quickly, fortunately 5. Kata ganti (Pronoun), contoh: you, this, nobody 6. Kata depan (Preposition/adposition), contoh: on, for, because of 7. Kata penghubung (Conjunction), contoh: and, if, while 8. Kata bilangan (Numeral), contoh: one, twice, third 9. Kata partikel (Article), contoh: the, a 10. Kata seru (Interjection), contoh: ouch, tsk Di mana sebuah kata dapat masuk pada lebih dari 1 (satu) jenis kata, contoh: bells dapat masuk kategori kata benda, yang berarti lonceng dan kata kerja yang berarti membunyikan. Jenis kata biasanya ditentukan melalui konteks kalimat di mana kata itu digunakan. Kata turunan dalam bahasa inggris merupakan kata dasar yang mendapat imbuhan (affix) (Brown, 1927), seperti: - penambahan <kata> + -ing, contoh: take + ing = taking - penambahan <kata> + -ed, contoh: bake + -ed = baked - penambahan kata + -s / -es , dalam present tense, contoh: take Æ takes - penambahan im- + <kata>, contoh: im- + possible = impossible - perubahan bentuk dari verb 1 Æ verb 2, contoh: take Æ took - perubahan bentuk saat ada penambahan –ed, contoh: carry + -ed Æ carried UmumnyaBiasanya, kata turunan yang terbentuk tidak mengubah makna asal dari kata, karena kata turunan tersebut terbentuk oleh adanya grammar Kalimat merupakan kumpulan kata yang minimal terdiri dari subjek dan predikat, di mana subjek biasanya berupa klausa. Jenis-jenis kalimat dapat dijabarkan sebagai berikut: (Frank, 1986) 1. Kalimat sederhana (Simple Sentence) Contoh: He lives in New York Bentuk kalimat sederhana ada 4 (empat): - Pernyataan, contoh: He is a student - Pertanyaan, contoh: How old are you? - Perintah, contoh: Please close the door - Seruah, contoh: What a terrible temper she has! 2. Kalimat majemuk setara (Compound Sentence) Contoh: The weather was very bad; all classes were canceled 3. Kalimat majemuk bertingkat (Complex Sentence) Contoh: Children were told to go home because the classes were canceled 4. Kalimat majemuk setara bertingkat (Compound-Complex Sentence) Contoh: The weather was very bad; all classes were canceled and Children were told to go home 2.1 Word Sense Disambiguation Word Sense Disambiguation (WSD) merupakan salah satu topik dalam Natural Language Processing (NLP) yang terdiri dari beberapa proses untuk mengidentifikasi sense/makna/arti Seminar Sistem Informasi Indonesia (SESINDO2010) – ITS, Surabaya 4 Desember 2010 yang tepat untuk sebuah kata dalam suatu kalimat. WSD diperlukan dalam hal ini karena terdapat banyak kata yang memiliki lebih dari satu arti. Penentuan arti yang tepat dalam sebuah kata biasanya berkaitan dengan arti kata tersebut dalam sebuah kalimat. Terdapat 4 metode dalam pendekatan WSD, (Allen, 1994), yaitu: 1. Metode berbasis pengetahuan dan kamus. Metode yang nantinya akan digunakan dalam penelitian sistem pelabelan ini. 2. Metode supervised Metode yang berasumsi bahwa sebuah konteks dapat menyediakan cukup bahan atau data bagi dirinya untuk melakukan proses WSD. Metode ini sangat bergantung pada algoritma machine learning yang diterapkan karena sifatnya yang mengolah data-data yang sudah ada 3. Metode semi-supervised atau minimallysupervised Metode semi-supervised dipakai karena kurangnya training data yang ada saat ini sehingga data yang telah diberi label dan belum diberi label dapat dipakai. 4. Metode unsupervised Metode ini mengambil asumsi bahwa sense yang sama berlaku untuk konteks atau topik yang sama juga. Oleh karena itu, sense dapat diambil menggunakan clustering pada kemunculan kata dengan memakai pengukuran kesamaan konteks atau topik. 2. Untuk setiap synset dari K1, dilakukan penelusuran terhadap relasi synset K1 sampai menemukan K2 3. Menghitung kedalaman relasi antara K1 dan K2, ang selanjutnya disebut bobot DFS = 1 / jumlah kedalaman relasi K1-K2 Gambar 1. Hasil DFS untuk K1 (Drink) dan K2 (Milk) (Navigli et.al., 2010) 2.3.3 Algoritma PageRank PageRank merupakan sebuah algoritma link analysis, yang dipakai oleh mesin pencari Google di Internet dengan memberikan sebuah bobot nilai pada tiap elemen dari dokumen yang memiliki set hyperlink, seperti World Wide Web (Altman, 2005). Tujuan algoritma ini adalah mengukur tingkat pentingnya suatu dokumen dengan set hyperlink tersebut. Bobot numerik yang diberikan pada sebuah elemen E dapat disebut juga sebagai PageRank dari E dan dapat dianotasikan dengan PR(E) (Mihalcea, 2004) Penghitungan PageRank tersebut menggunakan bobot Lesk dan bobot DFS. 2.3 Pembentukan Graf Berbobot (Weighted Graph) Algoritma yang sangat berkaitan dalam pembentukan graf berbobot pada penelitian ini, yaitu Algoritma Lesk, Breath First Search dan PageRank. 2.3.1 Algoritma Lesk Algoritma ini digunakan untuk mnghitung bobot verteks yang menghubungkan edge 1 (K1) dan edge 2 (K2), di mana memiliki langkah-langkah sebagai berikut: (Mihalchea, 2005) 1. Menentukan pasangan kata yang saling berdekatan (K1 dan K2) 2. Mengambil gloss/deskripsi dari K1 dan K2 tersebut dari sebuah sumber 3. Menghitung jumlah kata sama yang terkandung di dalam gloss/deskripsi K1 dan K2 yang selanjutnya disebut dengan istilah bobot Lesk. Common word tidak ikut dihitung. 4. Apabila bernilai 0, maka verteks untuk edge 1 dan edge 2 tidak perlu digambar 2.3.2 Algoritma Breath First Search Pada algortima BFS dilakukan pencarian derajat relasi antara K1 dan K2, langkah-langkah yang dilakukan (Navigli et al., 2010) yakni: 1. Menentukan pasangan kata yang saling berdekatan (K1 dan K2) 3. PEMODELAN SISTEM PELABELAN 1B 3.1 Input dan Output 7B Salah satu tujuan dari sistem pelabelan ini yakni melakukan pelabelan kata dalam kalimat berbahasa inggris sehingga dapat diketahui makna kata yang sesuai dengan konteks kalimat yang diberikan. Input sistem berupa sebuah kalimat dalam bahasa inggris, contoh: The school bells sound so loud on my ears. Sedangkan Output yang dihasilkan yakni kalimat yang tiap katanya diberi pelabelan makna, contoh: The school#1 bells#3 sound#3 so loud#1 on my ears#4. Apabila mencari kata bells pada wordnet, akan ditemukan 3 (tiga) macam arti antara lain (1). a hollow device made of metal that makes a ringing sound when struck, (2). a push button at an outer door that gives a ringing or buzzingsignal when pushed, (3). the sound of a bell Maka arti label #3 pada kata bells, menunjukkan bahwa arti kata tersebut dalam kalimat adalah “the sound of a bell”. Pada contoh output, terdapat kata yang tidak dilabelkan, seperti the, so, on, my, hal tersebut dikarenakan pelabelan hanya akan dilakukan pada kata dalam kategori noun, verb, adverb dan adjective. Seminar Sistem Informasi Indonesia (SESINDO2010) – ITS, Surabaya 4 Desember 2010 3.2 Arsitektur Sistem 8B Untuk memudahkan pemaparan sistem pelabelan, gambaran arsitektur sistem dapat dilihat pada Gambar 2. Seperti terlihat pada Gambar 2, sistem pelabelan dibagi menjadi 4 (empat) proses besar yakni (P1) pemecahan kalimat menjadi kata, dalam topik NLP sering dikenal dengan istilah Tokenization, kemudian dilanjutkan dengan (P2) proses pembentukan Graf akan menghasilkan verteks dari Graf (Unconnected Graph) yang selanjutnya masingmasing verteks akan dihubungkan dan diberi bobot pada (P3) proses pemberian bobot Graf. Langkah terakhir adalah (P4) pembentukan kalimat berlabel berdasarkan bobot pada graf yang dihasilkan dari proses P3. 4. IMPLEMENTASI SISTEM PELABELAN 4.1 Pemecahan Kalimat menjadi Kata Input yang diperlukan adalah kalimat dalam bahasa inggris. Kalimat tersebut dapat mengandung kata dasar (contoh: take), kata bentukan (contoh: taking) Proses pemecahan kalimat menjadi kata, sering dikenal sebagai tokenization dan dalam penelitian ini bertugas: 1. Menghilangkan common word (contoh: of, from, to). 2. Menjadikan kata dasar untuk kata bentukan yang ditemukan Output dari proses ini adalah kata dasar. Sebagai contoh, the school bells sound so loud in my ears, maka output yang dihasilkan school, bells, sound, loud, ears. 4.2 Pembentukan Graf Gambar 2. Arsitektur Sistem Pelabelan Makna Kat 3.3 Sumber Data Input yang telah dikemukakan pada subbab 3.1, merupakan kategori input utama yang diberikan oleh user dari sistem pelabelan, namun agar pelabelan tersebut dapat menghasilkan output yang diharapkan, diperlukan input tambahan. Input tambahan tersebut yang selanjutnya akan disebutkan sebagai sumber data. Sistem pelabelan melibatkan kata, kalimat dan makna kata, yang tidak lepas dari penggunaan bahasa. Oleh karena itu sumber data yang sangat penting adalah sebuah kamus bahasa. Kamus bahasa yang akan digunakan sebagai dasar untuk melakukan pelabelan adalah wordnet. Pada proses apa penggunaan wordnet diperlukan, dapat dilihat pada Gambar 2. Input dari proses pembentukan graf adalah kumpulan kata dasar. Langkah yang dilakukan oleh bagian ini adalah: 1. Mencari semua synset yang berisi gloss/deskripsi dari kata yang ada Contoh: K1. school, mempunyai 5 macam sysnset dan deskripsi, yakni: S11 : (an educational institution) "the school was founded in 1900" S12 : schoolhouse (a building where young people receive education) "the school was built in 1932"; "he walked to school every morning" S13 : (the process of being formally educated at a school) "what will you do when you finish school?" S14 : (a body of creative artists or writers or thinkers linked by a similar style or by similar teachers) "the Venetian school of painting" S15 : (a large group of fish) "a school of small glittering fish swam by" K2. bell S21: (a hollow device made of metal that makes a ringing sound when struck) S22: (a push button at an outer door that gives a ringing or buzzing signal when pushed) S23: (the sound of a bell being struck) "saved by the bell"; "she heard the distant toll of church bells" S24: ((nautical) each of the eight half-hour units of nautical time signaled by strokes of a ship's bell; eight bells signals 4:00, 8:00, or 12:00 o'clock, either a.m. or p.m.) 2. Membentuk verteks dari kata dan synset yang ditemukan Seminar Sistem Informasi Indonesia (SESINDO2010) – ITS, Surabaya 4 Desember 2010 Pada contoh kalimat the school bells sound so loud in my ears, akan terbentuk sebanyak 16 verteks untuk kata school bell yang terdiri dari: - 6 verteks untuk mewakili kata school (1 verteks kata school & 5 verteks untuk masing-masing gloss dari kata school) - 5 verteks untuk mewakili kata bell (verteks kata bell & 4 verteks untuk masing-masing gloss dari kata bell) Output dari proses ini berupa edge yang mewakili masing-masing synset kata dan kumpulan gloss dari tiap synset kata. tentu saja ada paramater untuk menentukan kedalaman subset yang hendak diakses untuk membatasi pencarian. Lebih jelasnya dapat dilihat pada Gambar 4. Pembobotan dihitung dengan bobot Lesk, bobot BFS dan bobot PageRank. Graf subset tersebut untuk selanjutnya akan disebut sebagai hidden graph. Gambar 4. Pencarian Hidden Graph antara S11 & K2, untuk menentukan bobot dari edge S11 Æ K2 Gambar 3. Kombinasi Arsitektur edge untuk gloss S11, dengan jarak maksimum 2 4.3 Pembobotan Graf Input dari proses pembobotan graf adalah verteks yang mewakili masing-masing kata dan synset kata yang berisi gloss dari tiap synset. Tujuan dari pembobotan graf adalah mencari bobot dari kata dan synset kata. Langkah yang dilakukan proses pembobotan graf adalah: 1. Menentukan semua kombinasi edge yang menghubungkan 2 (dua) verteks. Verteks yang dimaksud adalah: - Verteks 1. Verteks dari untuk kata/synset yang hendak dicari bobotnya - Verteks 2. Verteks dari kata/synset yang terletak setelah verteks 1. Untuk membatasi jumlah kombinasi edge, terdapat sebuah parameter “jarak maksimum”, di mana untuk Gambar 3 ditentukan bernilai 2, sehingga kombinasi untuk S11 adalah S11-K2 dan S11-K3, sedangkan kombinasi untuk S12 adalah S12-K2 dan S12-K3, kombinasi untuk S21 adalah S21-K3. Apabila jarak maksimum yang ditentukan bernilai 1 maka cukup hubungkan S11 dengan bagian A yaitu S11-K2 saja. 2. Menentukan bobot untuk masing-masing kombinasi edge Contoh pada Gambar 3 untuk mencari bobot edge S11 Æ K2 (e1), dilakukan dengan menentukan graf subset (hiponim, hipernim), beserta gloss untuk subsetnya, dari S11 sampai ditemukan terhubung dengan K2, dalam hal ini 3. Menentukan bobot verteks Pada Gambar 3, bobot S11 diperoleh dari nilai maksimum dari (bobot BFS e1, bobot BFS e2, bobot Lesk S11-K2, bobot Lesk S11-K3, Pagerank(S11)). Output dari proses ini berupa graf yang masing-masing edge synsetnya memiliki bobot. Hal yang perlu diperhatikan untuk mengurangi iterasi pencarian bobot yakni: 1. bobot edge yang terlalu kecil, (sesuai dengan parameter kedalaman subset) akan diabaikan, karena dianggap tidak ditemukan hubungan katanya. 2. Apabila telah ditemukan bobot dengan nilai maksimal 1, akan menghentikan iterasi selanjutnya, karena dianggap sudah ditemukan langsung kata yang memiliki hubungan dengan kata yang dicari pada kedalaman pertama. . 5. KESIMPULAN Melalui implementasi tersebut, dapat diambil kesimpulan yakni, - penghitungan bobot Lesk tidak terlalu signifikan karena hanya mencari kata yang sama dalam gloss oleh karena itu dibantu dengan bobot BFS. - Pencarian BFS yang disertai nilai threshold dilakukan dengan tujuan memperlebar kemungkinan terlebih dahulu, karena jika ditelusuri dengan DFS dapat menimbulkan infinite loop. - Berdasarkan percobaan, nilai threshod yang cukup baik adalah 4, karena rata-rata relasi ditemukan pada kedalaman 3-4 - Precision dan Recall yang dihasilkan dengan ujicoba 50 contoh kalimat secara manual, cukup baik yakni 60-70% Pembahasan mengenai pelabelan kata masih memiliki cakupan yang cukup luas untuk pengembangan lebih lanjut. Saran untuk pengembangan berikutnya adalah: Seminar Sistem Informasi Indonesia (SESINDO2010) – ITS, Surabaya 4 Desember 2010 - - Penanganan adanya frase kata, contoh kata take off, saat dipisahkan take dengan off, kata take akan mempunyai makna yang berbeda dengan frase take off Penanganan jenis kata (PoS Tagging), dapat membantu mengurangi jumlah verteks graf sehingga iterasi pencarian bobot dapat dikurangi lagi. 7. PUSTAKA Allen, James, (1994), Natural Language Understanding, The Benjamin/Cumming Publishing Company, Inc, Redwood City. Altman, Alon; Moshe Tennenholtz (2005). "Ranking Systems: The PageRank Axioms" (PDF). Proceedings of the 6th ACM conference on Electronic commerce (EC-05). Vancouver, BC. http://stanford .edu/~epsalon/pagerank.pdf. Brown, Roland W., (1927), “Materials for wordstudy: A manual of roots, prefixes, suffixes and derivatives in the English language”, New Haven, CT: Van Dyck & Co Frank, Marcella, (1986), “Modern English Exercises for Non-Native Speakers Part II: Sentences abd Complex Structures”, Prentice Hall. Haspelmath, Martin, (2001), "Word Classes and Parts of Speech”, International Encyclopedia of the Social and Behavioral Sciences, Amsterdam: Pergamon, 16538-16545. Mihalcea, R, Tarau, P., dan Figa, E., (2004), “PageRank on semantic networks, with application to word sense disambiguation”. In Proceedings of the 20st International Conference on Computational Linguistics. Mihalcea, R. (2005), “Unsupervised LargeVocabulary Word Sense Disambiguation with Graph-based Algorithms for Sequence Data Labeling”, Proceedings of Human Language Technology Conference and Conference on Empirical Methods in Natural Language Processing (HLT/EMNLP). Vancouver,. halaman 411–418. Navigli, Roberto dan Lapata, Mirella, (2010), “An Experimental Study of Graph Connectivity for Unsupervised Word Sense Disambiguation”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 32, No 4, halaman 678-692. 6B RIWAYAT PENULIS Jeany Harmoejanto lahir di kota Surabaya pada 17 Januari 1983. Penulis menamatkan pendidikan S1 di Sekolah Tinggi Teknik Surabaya dalam bidang Teknik Informatika pada tahun 2005. Saat ini sedang menyelesaikan pendidikan S2 di Institut Teknologi Sepuluh Nopember dalam bidang Teknik Informatika dan bekerja sebagai Kepala BAA sekaligus pengajar di Sekolah Tinggi Teknik Surabaya.