Parsing Proses Ektraksi Kalimat

Public void getCandidatePhrasedocument For each word in a document If isNounTypeword[i] || isVerbTypeword[i] isNounTypeword[i+1] || isNounTypeword[i+1] then _temp = word[i] + “ ” + word[i+1] If notExistPhrase_temp addToList_temp, 1 else _sumPhrase = getFromList_temp updateList_temp, _sumPhrase End if End if Next word

4.2. Parsing

Proses parser atau pemisahan dari elemen-elemen pembentuk dokumen ke dalam satuan terkecil, yaitu kata, ditambahkan analisis pengenalan kata ganti kepunyaan. Kata ganti kepunyaan yang dipisahkan dalam penelitian ini adalah “nya” dan “mu”, dimana kata ganti “nya” akan diganti menjadi kata “dia”, dan kata ganti “mu” akan diganti menjadi kata “kamu”. Terdapat beberapa pengecualian pemisahan kata ganti tersebut karena akhiran “nya” dan “mu” tersebut muncul di kata dasar sebagai bukan akhiran. Kata-kata dasar yang memiliki akhiran “nya” menurut Kamus Besar Bahasa Indonesia KBBI adalah “bahwasanya”, “empunya”, “hanya”, “hanyasanya”, “kenya”, “nyanya”, “nyonya”, “punya”, “sanya”, “segianya”, “sekiranya”, “seyogjanya”, dan “tanya. Kata-kata dasar yang memiliki akhiran “mu” diwakili oleh “ilmu”, “jamu”, “jejamu”, “jemu”, “kamu”, “kemu”, “kemumu”, “ketemu”, “mertamu”, “mu”, “ramu”, “selumu”, “semu”, “tamu”, “temu”, “tetamu”, “timutimu”, “tumu”. Penggantian kata ganti kepunyaan ini memiliki tujuan mencoba memunculkan subjek atau objek yang hilang dari sebuah kalimat karena tersirat dalam kata ganti tersebut. Pada proses tagging pemotongan kata, kata pengganti ini akan dikenali sebagai kata benda, sehingga akan membantu analisis kausalitas menemukan pasangan subjek atau objeknya. Tidak semua akhiran “nya” memiliki makna kata ganti kepunyaan selain kata-kata pengecualian yang telah disebutkan di atas, namun ada yang mempunyai arti penegasan terhadap suatu kata. Sebagai contoh pada kata “hilangnya”, “hancurnya”, atau “rusaknya”. Algoritme pada penelitian ini tidak mampu menangani untuk kasus akhiran “nya” yang memiliki makna selain kepunyaan.

4.3. Proses Ektraksi Kalimat

Proses ekstraksi kalimat dilakukan dengan menggunakan metode kombinasi linear dengan variabel-variabel yang digunakan adalah jenis kata kata dasar atau frase, jenis kata buang stop list indeks kata dalam satu dokumen yang sama, dan indeks kata dalam satu paragraf yang sama. Proses ektraksi kalimat dilakukan untuk menyaring kalimat-kalimat inti dari suatu dokumen dengan tujuan proses analisis kausalitas yang akan dilakukan setelah proses ini benar-benar hanya kalimat pokok saja. Sesuai dengan tujuan awal yaitu untuk melakukan peringkasan teks, maka diusahakan sekecil mungkin kalimat-kalimat yang bukan kalimat inti memberikan hasil identifikasi kausalitas. Variabel jenis kata dalam metode kombinasi linear ini digunakan untuk mencari nilai indeks terbesar yang akan mengakumulasi nilai indeks kalimat. Pencarian nilai indeks terbesar memiliki tujuan kata-kata yang paling relevan sebisa mungkin memiliki pengaruh besar terhadap nilai indeks kalimat. Algoritme dari penghitungan nilai indeks suatu kalimat dapat dilihat pada uraian di bawah ini. Public void getIndexSentencedocument For each sentence in document For each word in sentence _tempWord = getCandidateWordword[i], word[i+1] _IdxValue+= TFsentence,_tempWord _tempWord==stoplist ? 0.5 : 1IDF_tempWord Next word Next sentence _IdxSentValue = _IdxSentValue _totalWordInAdocument Public string getCandidateWordword1, word2 mencari bobot dari kata dasarnya _weight1 = getWeightWordword1 mencari bobot dari kemungkinan frase _weight2 = getWeightWordword1 + “ “ + word2 maxValue = _weight1 _CandWord = word1 If maxValue = _weight2 then maxValue = _weight2 _CandWord = word1 + “ “ + word2 End if Return _CandWord Public double TF_sentenceID, _word Return _CountWordInAdoc _AllWordInAdoc _CountWordInApargf _AllWordInAdoc Penggunaan nilai maksimum untuk setiap jenis kata yang akan dicari indeksnya dikarenakan hasil yang lebih optimal daripada pemberian bobot di setiap variabel jenis katanya lalu dijumlahkan. Pemberian bobot tersebut dapat dilihat pada rumus di bawah ini. BobotKata = 1 _BaseWord + 0.5 _Phrase Pemberian bobot kata terbesar diberikan kepada kata dasar dikarenakan kemunculan kata dasar dalam setiap dokumen lebih besar daripada variabel lainnya. Namun metode pemberian bobot ini menghasilkan akurasi yang lebih lemah karena adanya kemungkinan satu kata teridentifikasi oleh 2 variabel, sementara salah satu variabel tersebut merupakan kata yang benar-benar mencirikan isi dokumen dan bobot yang teridentifikasi untuk kata tersebut tidak bernilai 1. Kata dasar memiliki bobot terbesar yang menyebabkan suatu bobot kata lebih didominasi oleh kata dasar, padahal beberapa frase memiliki makna yang lebih memerjelas arti dari sebuah kalimat. Operasi maksimum yang digunakan memungkinkan lebih mencirikan kepentingan kata. Kemungkinan kata yang memiliki bobot lebih besar diasumsikan merupakan kata pembentuk pokok pikiran utama dari dokumen tersebut karena memiliki tingkat kemunculan lebih besar. Variabel kemunculan suatu kata dalam dokumen dan dalam paragraf yang sama memiliki tingkat kepentingan yang sama besarnya. Oleh karena itu, untuk mendapatkan nilai term frequency tf dari satu kata, akan dikalikan antara kemunculan dalam satu dokumen dan dalam paragraf yang sama. Untuk mendapatkan nilai inverse document frequency idf, tidak ada proses yang berbeda dengan perhitungan standarnya. Kemunculan kata buang membuat bobot sebuah kalimat menjadi signifikan besar dikarenakan nilai idf dari kata buang tersebut lebih tinggi daripada kata yang memiliki kemunculan normal dalam koleksi indeks. Kata buang tidak terdapat dalam koleksi indeks karena telah dibuang terlebih dahulu ketika melakukan pre-pemrosesan dokumen. Nilai idf menjadi lebih besar dikarenakan nilai dalam lognya adalah dua kali jumlah dokumen dalam koleksi. Jika sebuah kata tidak ditemukan dalam koleksi, maka akan ditambahkan 0.5, seperti pada rumus di bawah ini. Idf = Log 5 . + Nt N Nilai Nt akan bernilai 0 karena tidak ditemukan kata buang tersebut dalam koleksi, sehingga rumus dalam lognya akan menjadi 5 . N atau 2N. Semakin tinggi nilai idf mengartikan bahwa kata tersebut dianngap penting oleh koleksi karena kemunculannya yang tidak banyak, padahal kata buang tidak memiliki nilai kepentingan terhadap dokumen. Oleh karena itu, jika ditemukan sebuah kata buang dalam kalimat, bobot kata yang didapat akan dikalikan 0.5, selainnya akan dikalikan 1. Pemberian bobot 0.5 untuk kata buang memungkinkan kalimat yang memiliki banyak kata buang mengalami penurunan nilai, sehingga dapat disimpulkan bahwa semakin banyak kemunculan kata buang dalam sebuah kalimat, maka kalimat tersebut menjadi tidak penting karena strukturnya yang tidak baku. Nilai 0.5 tersebut juga diberikan dengan tujuan analisis kausalitas yang akan dilakukan setelah proses ini. Analisis kausalitas membutuhkan kata penghubung dan kata bersifat pemberian definisi untuk mengidentifikasi aturan yang relevan untuk sebuah kalimat. Pembahasan lebih lanjut akan didefinisikan pada sub bab analisis kausalitas. Proses stemming tidak dilakukan pada tahap ini, baik dalam penghitungan bobot maupun taggingnya. Hal ini dikarenakan kata kerja sangat diperlukan untuk keperluan analisis kausalitas pada tahap setelah ekstraksi kalimat ini. Tidak digunakannya proses stemming ini juga memiliki dampak terhadap besarnya bobot kata tersebut karena dalam koleksi tidak ditemukan kata tersebut pre- pemrosesan dokumen menggunakan stemming, yang tentu saja akan menaikkan bobot kalimat tersebut. Semakin banyak kata berimbuhan di dalam sebuah kalimat memiliki peluang semakin besar juga bobot kalimat tersebut. Hal ini tidak menjadi masalah karena tujuan dari penelitian ini adalah untuk menganalisis relasi kausalitas dalam sebuah kalimat. Semakin banyak variasi kalimat yang akan dicobakan terhadap analisis kausalitas automatis ini, akan semakin banyak pula ditemukan kekurangan dan kasus-kasus dari relasi kausalitas tersebut. Pada pre- pemrosesan dokumen, proses stemming diperlukan karena proses tersebut bersifat umum digunakan oleh semua jenis sistem temu-kembali informasi. Setelah bobot suatu kata didapat, bobot suatu kalimat merupakan penjumlahan dari setiap bobot kata dalam sebuah kalimat, dan kemudian dibagi jumlah kata yang terdapat pada kalimat tersebut. Setelah nilai indeks dari setiap kalimat didapat, ditentukan nilai threshold untuk memilih kalimat mana saja yang dianggap pokok pikiran utama dari suatu dokumen. Nilai threshold yang digunakan dan dianggap optimal dalam penelitian kali ini adalah 2,0. Dengan nilai 2,0 ini, kalimat-kalimat yang merupakan kalimat penyambung dari kalimat utama semakin sedikit terekstraksi. Nilai 2.0 ini didapat dari melakukan eksperimen terhadap 5 dokumen bagus dokumen dari buku terbitan. Kalimat-kalimat yang memiliki bobot besar tidak selamanya mengartikan pentingnya kalimat tersebut. Sub judul juga memiliki bobot yang besar karena elemennya terdiri atas beberapa kata saja, sementara beberapa kata tersebut biasanya merupakan kata-kata yang memiliki tingkat kepentingan tinggi terhadap dokumen, sehingga bobot per katanya juga tinggi. Sub judul teridentifikasi sebagai kalimat dalam suatu paragraf karena diakhiri oleh tanda titik . atau diikuti oleh karakter carriage return dan line feed. Parameter sebuah kalimat dalam penelitian ini dikenali jika ditemukan tanda titik ., sementara paragraf dikenali jika ditemukan karakter carriage return line feed ascii 10 dan 13. Sub judul teridentifikasi sebagai 1 kalimat dalam 1 paragraf yang sama juga menyebabkan tingginya bobot dari kalimat ini karena nilainya dua kali dari bobotnya semula penelitian ini melakukan perkalian terhadap nilai tf untuk paragraf. Contoh sub judul yang terekstraksi dalam sistem dapat dilihat pada Gambar 3 di bawah ini. Gambar 3 Sub Judul yang Terekstraksi Sebagai Kalimat Inti Bobot kalimat yang besar juga terjadi untuk kasus penjabaran poin-poin. Penggunaan penomoran, karakter alfabet, atau simbol-simbol tertentu membuat kalimat menjadi tidak baku di awal kalimatnya. Selain itu, kalimat juga terlihat lebih sederhana namun memiliki bobot yang tinggi karena biasanya banyak terdapat kata-kata penting dalam dokumen tersebut, karena poin-poin ini biasanya berisi rangkuman dari apa yang sudah dijelaskan sebelumnya. Tabel 1 Nilai Kebenaran Hasil Ekstraksi Teks Nama Dokumen Nilai dokumen1 0.25 dokumen2 0.285714286 dokumen3 0.333333333 dokumen4 0.333333333 dokumen6 0.333333333 281 0.375 agusartikel20071228.txt 0.666666667 bustafin01202008.txt 0.2 bustafin01212008.txt 0.5 bustafin01282008.txt 0.5 bustafin02212008.txt 0.5 bustafin02282009.txt 0.333333333 bustafin03242008.txt 0.25 bustafin03312008.txt 0.333333333 bustafin04282008.txt Rata-rata 0.346269841 Pengujian ekstraksi teks ini dilakukan dengan bantuan pihak ke-3 untuk melakukan pemilihan kalimat-kalimat yang dianggap penting atau layak untuk terekstraksi. Kemudian hasil ekstraksi kalimat tersebut akan dilakukan pengecekan dengan yang dilakukan sistem. Prosentase jumlah yang benar dari sistem berikan dengan total ekstraksi yang dilakukan manual merupakan nilai kebenaran dari hasil ektraksi tersebut. Rata-rata nilai kebenaran ekstraksi teks yang dihasilkan penelitian ini adalah 34. Tabel 1 menunjukkan nilai kebenaran untuk tiap-tiap dokumen pengujian dan rata-rata nilai kebenarannya.

4.4. Analisis Kausalitas