6
pada akhir, seperti newsipb110111-002.txt yang berarti data berasal dari berita IPB dan diterbitkan pada tanggal 11 bulan Januari tahun 2011 urutan ke-2. Dokumen memiliki ukuran terkecil 1 KB dan terbesar 9 KB. Masingmasing dokumen uji berekstensi teks (*.txt) dengan struktur XML di dalamnya. Berikut adalah contoh struktur dokumen pengujian:
newsipb110111-002 <TITLE> President of the BEM-KM IPB Talk about Human Rights admin ipb January 11 2011 Commemorating Human Rights Day (HAM) on December 10, the RRI Dialog (14/12) presented the President of BEM-KM (Student Executive Body) IPB, Moh. Reza Pahlevi. We know that it is the students that most frequently and diligently call on human rights, especially after the death of a human rights defender, Munir. "Our demonstrations are of pure calls for the rights of the many people who want to benefit from the facilities provided by the government without having to distinguish between the rich and the poor. We've tweaked (criticized) the local government of West Java by growing catfish on Jalan Baru (a street’s name), so that the government would promptly fix the damaged road with holes on it," said Reza (mtd)
Pada tahap indexing, pemrosesan dokumen hanya diambil bagian yang diapit oleh tag <TITLE> dan
, sedangkan untuk pembentukan passages, yang digunakan hanya bagian dokumen yang diapit oleh tag . Gambar 4 menunjukkan ilustrasi bagian dokumen yang diproses.
Gambar 4 Ilustrasi bagian dokumen yang digunakan untuk pemrosesan.
Pemrosesan Dokumen Tahap pertama yang dilakukan pada pemrosesan dokumen adalah penamaan entitas (named entity) atau biasa dikenal dengan sebutan tagging. Proses tagging ini dilakukan secara manual untuk mendapatkan koleksi dokumen yang baik sehingga nantinya dapat dijadikan acuan untuk penelitian berikutnya. Aplikasi untuk melakukan tagging secara otomatis baik sistem yang komersial maupun yang open source untuk bahasa Inggris sebenarnya sudah banyak dikembangkan, misalnya LingPipe, BOEMIE, FreeLing, dan OpenEyes. Namun karena pertimbangan waktu penelitian, penggunaan aplikasi tersebut tidak dilakukan. Penamaan entitas ditujukan untuk proses perolehan kandidat jawaban sesuai dengan jenis pertanyaannya. Adapun named entity yang digunakan terdiri atas NAME, ORGANIZATION, NUMBER, CURRENCY, DATE, dan LOCATION. Semua dokumen hasil tagging kemudian disimpan dalam direktori korpus. Berikut adalah contoh hasil tagging untuk dokumen newsipb110111-002.txt. Commemorating Human Rights Day (HAM) on December 10 , the RRI Dialog (14/12) presented the President of BEMKM(Student Executive Body) IPB , Moh. Reza Pahlevi. We know that it is the students that most frequently and diligently call on human rights, especially after the death of a human rights defender, Munir. "Our demonstrations are of pure calls for the rights of the many people who want to benefit from the facilities provided by the government without having to distinguish between the rich and the poor. We've tweaked (criticized) the local government of West Java by growing catfish on Jalan Baru (a street’s name) , so that the government would promptly fix the damaged road with holes on it," said Reza
Tahap kedua melakukan pembacaan terhadap isi file yang ada pada direktori korpus. Proses ini dilakukan hanya pada isi dokumen dengan tag <TITLE> dan . Isi file tersebut kemudian dilakukan parsing dengan pemisah kata yang tersimpan dalam variabel $pemisahKata yang terdiri atas tanda baca dalam ekspresi regular “ /[\s\+\/%,.\"\];()\':=`?\[!@>]+/ ”. Semua hasil parsing disimpan kecuali kata-kata yang berada dalam daftar stopwords atau kata buangan yang merupakan daftar kata umum 6
7
yang mempunyai fungsi tapi tidak dapat dijadikan sebagai penciri dokumen. Daftar ini tersimpan dalam file stopwords-en.txt yang terdiri atas 570 kata yang dipisahkan dengan karakter enter. Contoh kata-kata tersebut, antara lain a,about,above dan lain-lain. Perhitungan tf-idf Tahap pertama pada proses perhitungan tfidf ialah memperoleh informasi term frequency (tf) dengan memanfaatkan hasil dari tahap sebelumnya yaitu pemrosesan dokumen. Term frequency merupakan pasangan dari dokumen dan hasil parsing (token-token) dari tiap-tiap file yang disimpan dalam suatu array pada variabel $tf. Variabel ini digunakan untuk menghitung nilai df, idf, dan tf-idf setiap kata. Tahap selanjutnya yaitu mendapatkan document frequency (df). Pada hasil tersebut, kemudian dilakukan perhitungan nilai invers document frequency (idf). Penelitian ini menggunakan kata dengan nilai idf yang lebih besar dan sama dengan “0.05” karena terdapat beberapa kata penting seperti “IPB” dan “Bogor” yang muncul hampir di semua dokumen. Oleh sebab itu, setelah dilakukan percobaan aka nilai “0.05” enjadi nilai yang ideal untuk penelitian ini. Hasilnya disimpan dalam fileGenerate/ipb/idf-en.txt dengan enggunakan tanda “>>” sebagai pemisah antara kata dan nilai idf-nya. Nilai idf kemudian dikalikan dengan tf untuk mendapatkan nilai tf-idf. Nilai hasil perhitungan tf-idf disimpan pada file fileGenerate/ipb/tfidf-en.txt dengan enggunakan tanda “>>” sebagai pe isah antara kata dan nilai tf-idf-nya. Pembentukan Passages Pembentukan kalimat untuk setiap dokumen didasarkan pada tanda pemisah antar kalimat yaitu [.?!]. Setiap passage dibentuk dari dua kalimat yang berurutan dan saling overlap. Hasilnya disimpan dalam satu file fileGenerate/ipb/passages-en.txt. Isi dari file tersebut adalah id passage, nama dokumen, dan passage. Masing-masing variabel dipisahkan dengan tanda “>>”. Pemrosesan Query Query yang digunakan berupa kalimat tanya yang diawali dengan kata tanya SIAPA, KAPAN, DI MANA, dan BERAPA. Pertama dilakukan proses parsing terhadap kalimat tanya dengan pemisah kata yang tersimpan dalam variabel $pemisahKata.
Query kemudian diterjemahkan ke dalam bahasa Inggris dengan menggunakan kamus Indonesia-Inggris. Semua kata dalam query diterjemahkan, kecuali kata tanya karena kata tanya hanya digunakan untuk menentukan kandidat jawaban. Proses penerjemahan ini dilakukan per dua kata yang saling overlap. Apabila tidak ditemukan terjemahannya maka akan diterjemahkan per satu kata saja. Kemudian, apabila satu kata juga tidak ditemukan terjemahannya, maka kata tersebut tetap akan digunakan tanpa diterjemahkan. Kata yang memiliki terjemahan lebih dari satu, akan dicari terjemahan kata yang memiliki idf tertingi. Proses case folding kemudian dilakukan terhadap query yaitu mengubah query menjadi huruf kecil. Setelah itu, dilakukan proses tokenisasi untuk mendapatkan kata-kata penyusun query berupa kata tanya dan kata kunci atau keyword. Variabel array $query akan menyimpan hasil tokenisasi tersebut sehingga nantinya dapat dilakukan proses identifikasi kata tanya dari query berupa array dengan indeks ke-0 atau query[0]. Tabel 2 menunjukkan daftar pasangan kata tanya dan named entity yang menjadi acuan dari jawaban yang akan dikembalikan. Tabel 2 Daftar pasangan kata tanya dan named entity Kata Tanya
Tag Entitas
Siapa
NAME, ORGANIZATION
Kapan
DATE
Di mana
LOCATION
Berapa
NUMBER, CURRENCY
Perolehan Dokumen Teratas Pembobotan cosine dilakukan untuk memperoleh 10 dokumen teratas. Dengan memanfaatkan nilai idf dan tf-idf dapat dilakukan perolehan norm dari query dan dokumen. Query dimasukkan secara manual, kemudian dilakukan perhitungan terhadap norm query, tf-idf query, dan norm untuk setiap dokumen. Nilai norm query kemudian dipasangkan dengan query setiap dokumen untuk menghasilkan nilai dot product dan cosine. Nilai cosine inilah yang kemudian diurutkan untuk memperoleh 10 dokumen teratas. Perolehan Top Passages Perolehan top passages pada kamus passage kemudian dilakukan berdasarkan 10 dokumen teratas yang ditemukembalikan. Hasilnya 7
8
disimpan dalam variabel $passagesDocTop untuk kemudian digunakan pada tahap perolehan top passages.
menambahkan nilai pada passages tersebut. Hasilnya disimpan dalam variabel $WordMatch.
Passages yang akan digunakan dalam proses pembobotan adalah passages yang mengandung tag named entity yang dibutuhkan, yang disebut arrayTag. ArrayTag merupakan hasil dari identifikasi kata tanya terhadap named entity.
2 Algoritme Rule. Penelitian ini membuat algoritme rule dengan melakukan beberapa modifikasi yang digunakan dalam pembobotan passages. Algoritme rules yang digunakan sebagai acuan dalam penelitian ini:
Passage
disimpan
pada
variabel
$passagesDocTop untuk kemudian disaring
1
guna mendapatkan passages yang memiliki tag sesuai dengan kata tanya. Pembobotan heuristic dan rule-based kemudian diterapkan pada passage tersebut. Pembobotan Heuristic Tahapan yang terdapat dalam jurnal Ballesteros dan Li (2007) serta penelitian Cidhy (2009) digunakan sebagai acuan dalam penelitian ini. Tahap pembobotan passages terdiri atas: 1 Pembobotan passages berdasarkan hasil dari proses wordmatch sesuai threshold. Hasilnya disimpan dalam variabel $count_match. 2 Pembobotan passages berdasarkan urutan nilai dari $arrayWordQuestion (katakata selain kata tanya pada query) dalam passages. Hasilnya bernilai boolean, disimpan dalam variabel $Ord. 3 Pembobotan passages berdasarkan nilai dari $arrayWordQuestion dalam passages. Hasilnya bernilai Boolean dan disimpan dalam variabel $Sm. 4 Pembobotan berdasarkan hasil dari proses wordmatch sesuai threshold berbanding ukuran passage (jumlah kata dalam satu passage). Nilai dari keempat variabel di atas kemudian dihitung skor heuristic setiap passage yaitu: heuristic_score = count_match + count_match/W + Sm*0.5 + Ord*0.5.
Pembobotan Rule based Rule yang terdapat pada penelitian Riloff dan Thelen (2000) serta penelitian Sanur (2011) digunakan sebagai acuan dalam penelitian ini. Tahap pembobotan passages terdiri atas: 1 Fungsi WordMatch. WordMatch adalah nilai perbandingan antara kalimat query dengan kalimat pada dokumen. Algoritme WordMatch dilakukan dengan cara membandingkan token-token pada setiap passages dengan token-token pada kalimat query. Setiap token yang sama akan
“SIAPA” Score(S) +=WordMatch (Q,S) If contains(Q,HUMAN) && (S,Human) then Score(S) += slam_dunk
Algoritme rule untuk query pertanyaan dengan kata tanya “SIAPA” mengikuti algoritme yang sudah diimplementasikan Sanur (2011). Perbedaannya ialah pada bahasa yang digunakan yaitu bahasa Inggris. Maksudnya aturan yang telah ada sebelumnya diterjemahkan ke dalam bahasa Inggris dan ditambahkan beberapa penyesuaian. 2
“KAPAN” Score(S) +=WordMatch (Q,S) If contains(S, {time, when, time, since, since, time, after, before, after, during, on, in, at}) and contains(S,TIME) then Score(S) += slam_dunk If contains(S,TIME) and contains(Q,TIME) then Score(S) += confident If contains(S, {time, when, time, since, since, time, after, before, after, during, on, in, at}) or contains(S,TIME) then Score(S) += good_clue
Algoritme rule untuk query pertanyaan dengan kata tanya “KAPAN” yang dibangun pada penelitian ini menikuti algoritme rule yang telah diimplementasikan oleh Sanur (2011) hanya berbeda pada bahasa yang digunakan yaitu bahasa Inggris dan ditambahkan beberapa penyesuaian. 3
“DI MANA” Score(S) +=WordMatch (Q,S) If contains(S, {in, on, from}) and contains(S,LOCATION) then Score(S) += slam_dunk If contains(S,LOCATION) then Score(S) += good_clue If contains(S, {in, on, from}) then Score(S) += clue
8
9
Algoritme rule yang digunakan sesuai dengan algoritme yang diimplementasikan oleh Sanur (2011) hanya berbeda pada bahasa yang digunakan yaitu bahasa Inggris dan ditambahkan beberapa penyesuaian. 4
“BERAPA”
Score(S) +=WordMatch (Q,S) If contains(Q,NUMBER) contains(S,NUMBER) then Score(S) += slam_dunk If contains(S,NUMBER) then Score(S) += confident
and
Algoritme rule yang digunakan sesuai dengan algoritme yang diterapkan oleh Sanur (2011) hanya berbeda pada bahasa yang digunakan yaitu bahasa Inggris dan ditambahkan beberapa penyesuaian. Fungsi dan notasi yang digunakan dalam rules tersebut adalah sebagai berikut : 1 Notasi S = sentence (kalimat dokumen). 2 Notasi Q = query (kalimat query). 3 Fungsi contains adalah fungsi untuk memeriksa kalimat dokumen dan kalimat query pertanyaan, apakah mengandung kata yang telah ditentukan. 4 Fungsi WordMatch adalah fungsi untuk memeriksa kesamaan kata. 5 Fungsi score adalah fungsi pemberian nilai pada kalimat dokumen. Setelah diperoleh nilai dari Wordmatch dan rule, dihitung skor setiap passage. Ekstraksi Jawaban Jawaban yang nantinya akan diekstrak berasal dari passage dengan nilai tertinggi pada pembobotan passages. Passages tersebuat kemudian akan menjadi top passage. Kata atau kalimat yang menjadi kandidat jawaban adalah yang memiliki entitas nama sesuai dengan kata tanya pada query pertanyaan. Perolehan entitas jawaban pada top passage dapat terdiri atas satu atau lebih passage dan setiap passage dapat memiliki satu atau lebih kandidat jawaban. Jawaban akhir setiap passage diperoleh dengan cara menghitung jarak antara kandidat jawaban pada setiap passage dengan masing-masing kata pada $arrayWordMatch dibagi jumlah $arrayWordMatch yang merupakan kumpulan kata hasil pencocokan antara keyword dengan kata-kata pada passage. Kandidat jawaban yang memiliki jarak terpendek yang kemudian akan dikembalikan sebagai jawaban dari query.
Hasil Percobaan Percobaan dilakukan dengan cara membandingkan hasil dari pembobotan passage heuristic dan rule based. Perbandingan dilakukan dengan melihat perolehan top passage dan ketepatan jawaban dari kedua jenis pembobotan passage tersebut. Jumlah koleksi dokumen yang digunakan pada penelitian ini ialah 151 dengan 40 query pertanyaan. Pasangan query dan jawaban dibuat sendiri oleh penulis. Proses evaluasi berdasarkan pada perolehan top passage dan ketepatan jawaban. Berdasarkan kesesuaian pasangan jawaban dan dokumen, penilaian dibedakan menjadi 4 jenis yaitu right, wrong, unsupported, dan null. 1 Perbandingan Hasil Percobaan Untuk Kata Tanya SIAPA Pada percobaan ini misalkan dari 10 query diambil 1 contoh pertanyaan Siapa kepala PPSHB IPB?. Pembobotan heuristic dan rule based mengembalikan top passage yang berbeda. Pembobotan heuristic mengembalikan passage berikut : As this study will end in October 2011 , he suggested further research with other funding schemes. In the discussion, Head of PPSHB IPB , Dr. Suharsono , proposed a specific funding scheme to complement the laboratory equipment in IPB , especially in PPSHB .
Passage tersebut diperoleh dari dokumen sedangkan rule based mengembalikan passage berikut : newsipb160311-001.txt,
The Women Study Program (PSW) of IPB is considered to have sufficiently long assistance to separate from the Center for Agricultural and Rural Development Studies (PSP3) Institute for Research and Community Service (LPPM) IPB . This assessment was delivered by the Head of LPPM IPB , Prof. Dr. Bambang Pramudya in the discussion on the formulation of Strategic Plan of PSW IPB , Friday (22/10) in Baranangsiang Campus of IPB .
Passage tersebut diperoleh dari dokumen newsipb011110-001.txt.
9
10
Jawaban yang diperoleh dengan pembobotan heuristic menghasilkan passage yang mengandung kandidat jawaban yang benar dengan nilai bobot 6.111 dan jawaban Suharsono, sedangkan pembobotan rule based mengembalikan passage dengan kandidat jawaban salah dengan nilai bobot 26 dan jawaban Bambang Pramudya. Pembobotan heuristic untuk kata tanya SIAPA menghasilkan persentase ketepatan jawaban untuk kriteria right sebesar 80%, unsupported 0%, wrong 20%, null 0%, sedangkan rule based menghasilkan kriteria right 70%, unsupproted 0%, wrong 30%, dan null 0%. Grafik hasil percobaan untuk kata tanya SIAPA dapat dilihat pada Gambar 5. Daftar query dan evaluasinya dapat dilihat pada Lampiran 2. 100
Heuristic RuleBased
80 60 % 40 20 0 right
unsupported
wrong
null
Kriteria jawaban
Gambar 5 Grafik hasil percobaan untuk kata tanya SIAPA. 2 Perbandingan Hasil Percobaan Untuk Kata Tanya KAPAN Pada kata tanya KAPAN misalkan diambil pertanyaan sebagai contoh Kapan Agrinex Expo 2011?. Pembobotan heuristic dan rule based juga mengembalikan top passage yang berbeda namun dari dokumen yang sama yaitu newsipb220311-002.txt. Metode heuristic mengembalikan passage sebagai berikut: The government should provide Integrated Plant Clinical Car to help farmers in the field in overcoming crop failure due to pests and diseases. This was stated by Coordinating Minister for Economic Affairs , Hatta Radjasa when he visited the Clinical Car for Integrated Plant of the Faculty of Agriculture Bogor Agricultural University , at the the University stand at the Agrinex Expo 2011 , Friday , 4 March 2011 , at the Jakarta Convention Center (JCC).
Sedangkan rule passage berikut :
based
mengembalikan
This was stated by Coordinating Minister for Economic Affairs , Hatta Radjasa when he visited the Clinical Car for Integrated Plant of the Faculty of Agriculture Bogor Agricultural University , at the the University stand at the Agrinex Expo 2011 , Friday , 4 March 2011 , at the Jakarta Convention Center (JCC). "Farmers experienced crop failure due to pests and diseases several times already, the existence of an integrated plant clinical car is expected to help farmers overcome contraints they encountered in the field," said Hatta.
Pembobotan heuristic menghasilkan passage yang mengandung kandidat jawaban yang benar dengan nilai bobot 5.048 sedangkan pembobotan rule based mengembalikan passage dengan kandidat jawaban yang juga benar dengan nilai bobot 8 yang keduanya menghasilkan jawaban yang sama Friday , 4 March 2011. Pembobotan heuristic dan rule based untuk kata tanya KAPAN menghasilkan persentase ketepatan jawaban yang sama untuk kriteria right sebesar 100%, unsupported 0%, wrong 0%, null 0%. Hasil percobaan untuk kata tanya KAPAN dapat dilihat pada Gambar 6. Daftar query dan evaluasinya dapat dilihat pada Lampiran 3. 100
Heuristic RuleBased
80 60 % 40 20 0 right
unsupported
wrong
null
Kriteria jawaban
Gambar 6 Grafik hasil percobaan untuk kata tanya KAPAN. 3 Perbandingan Hasil Percobaan Untuk Kata Tanya DI MANA Query Di mana seminar sagu IPB ? diambil sebagai contoh untuk kata tanya DI MANA. Pembobotan heuristic dan rule based mengembalikan passage sama sebagai top passage sebagai berikut:
10
11
We should now have enjoyed the development of sago; the satire tone was expressed by an agricultural industry scholar of Bogor Agricultural University (IPB) , Dr. Tajuddin Bantacut when speaking at the Seminar and Workshop on Sago held by IPB , (14-10) at IPB International Convention Center (IICC) . In the country, sago grows lot in various areas such as Papua , Maluku , North Maluku , Southeast Sulawesi , West Kalimantan and Riau Islands .
Passage tersebut diperoleh dari dokumen yang sama yaitu newsipb181010-001.txt. Pembobotan heuristic menghasilkan passage yang mengandung kandidat jawaban yang benar dengan nilai bobot 7.075 sedangkan pembobotan rule based mengembalikan passage dengan kandidat jawaban yang juga benar dengan nilai bobot 10 yang keduanya menghasilkan jawaban sama yang benar, yaitu IPB International Convention Center. Pembobotan heuristic dan rule based untuk kata tanya DI MANA menghasilkan persentase ketepatan jawaban yang sama untuk kriteria right sebesar 100%, unsupported 0%, wrong 0%, dan null 0%. Hasil percobaan untuk kata tanya DI MANA dapat dilihat pada Gambar 7. Daftar query dan evaluasinya dapat dilihat pada Lampiran 4. 100
Heuristic RuleBased
80
Director of Commercial and Business of Bank Mandiri Sunarso who is also a graduate of the Department of Agronomy and Horticulture IPB , said that this is an annual routine program of Bank Mandiri and now it is the 3 rd year held by Bank Mandiri . This program will be an effective media for Bank Mandiri to share their experiences with future leaders of our nation about the characteristics of leaders who are able to create success and the importance of creativity for a business entity in seizing market opportunities, he concluded.
Passage tersebut diperoleh dari dokumen newsipb251010-003.txt.
Jawaban yang diperoleh dengan pembobotan heuristic menghasilkan passage yang mengandung kandidat jawaban yang salah dengan nilai bobot 9.093 dan pembobotan rule based mengembalikan passage dengan kandidat jawaban yang juga salah dengan nilai bobot 13 dan keduanya juga menghasilkan jawaban yang sama yaitu 3. Pembobotan heuristic dan rule based untuk kata tanya BERAPA menghasilkan persentase ketepatan jawaban yang sama untuk kriteria right sebesar 90%, unsupported 0%, wrong 10%, dan null 0%. Hasil percobaan untuk kata tanya BERAPA dapat dilihat pada Gambar 8. Daftar query dan evaluasinya dapat dilihat pada Lampiran 5. 100
60
Heuristic RuleBased
80
% 40
60 %
20
40
0 right
unsupported
wrong
null
Kriteria jawaban
Gambar 7 Grafik hasil percobaan untuk kata tanya DI MANA. 4 Perbandingan Hasil Percobaan Untuk Kata Tanya BERAPA Query pertanyaan Berapa beasiswa Bank Mandiri pada mahasiswa IPB ? diambil sebagai contoh untuk kata tanya BERAPA. Pembobotan heuristic dan rule based mengembalikan top passage yang sama sebagai berikut:
20 0 right
unsupported
wrong
null
Kriteria jawaban
Gambar 8 Grafik hasil percobaan untuk kata tanya BERAPA. Perbandingan Hasil Percobaan untuk Semua Kata Tanya Persentase ketepatan jawaban pada pembobotan heuristic dan rule based secara keseluruhan untuk semua kata tanya dapat dilihat pada Gambar 9. Berdasarkan Gambar 9, pembobotan passage heuristic menghasilkan 11