3 wordmatch
. Jika nilai count_match kurang dari threshold t, score = 0. Selain itu score
= count_match . Nilai threshold t,
didefinisikan dengan cara sebagai berikut: a.
Jika count_query kurang dari 4, t=count_query
. b.
Jika count_query antara 4 dan 8, t=count_query
2.0+1.0 c.
Jika lebih besar dari 8, t=count_query
3.0+2.0 Nilai threshold digunakan untuk mengambil
kata yang penting pada passages. Dengan kata lain, paragraf apapun yang tidak
mengandung kata-kata yang terdapat pada query
tidak diperhitungkan. 3. Kata yang berdekatan memiliki hubungan
keterkaitan informasi yang lebih tinggi. Jika seluruh kata yang cocok dengan query
terdapat pada satu passages Sm=1, selain itu Sm=
0. Maka, score = score + Sm0.5. 4. Seperti yang diketahui urutan kata dapat
mempengaruhi arti. Oleh karena itu, diberikan bobot yang lebih tinggi Ord=1
terhadap passage jika kata-kata yang cocok dengan query memiliki urutan yang sama
seperti pada pertanyaan asli. Selain itu Ord=
0. Dengan demikian, score = score + Ord0.5.
5. Score = score + count_matchW, dimana W
adalah jumlah kata dari passage dengan bobot tertinggi.
Pembobotan terakhir yaitu menghitung total perolehan nilai yang disimpan dalam variabel
heuristic_score yaitu count_match + 0.5Sm +
0.5Ord + count_matchW.
Pembobotan rule-based
Metode rule-based adalah metode yang dikembangkan oleh Riloff Thelen 2000.
Cara kerja metode rule-based adalah
menghitung nilai dari masing-masing passages pada dokumen dengan kueri yang diberikan.
Nilai yang diberikan berdasarkan pada jumlah nilai hasil perbandingan kata yang sama
antara kueri dengan kata yang ada pada passages
dan nilai pada masing-masing rule berdasarkan tipe pertanyaan. Suatu rule dapat
memberikan empat kemungkinan nilai, yaitu: clue
+3, good_clue +4, confident +6, dan slam_dunk
+20. Menurut Riloff dan Thelen 2000, nilai yang digunakan hanya berdasarkan
intuisi yang bertujuan untuk memperkirakan seberapa pentingnya rule yang digunakan dalam
menemukembalikan jawaban berdasarkan tipe pertanyaan kueri. Jawaban atas queri yang
diberikan adalah passages yang memiliki nilai tertinggi.
Algoritme rule telah dimodifikasi oleh Ikhsani 2006 dari rule yang dibuat oleh Riloff
dan Thelen 2000 karena melakukan penyesuaian terhadap kaidah bahasa Indonesia.
Adapun rule yang dibuat Sianturi 2008 sebagai berikut
:
1. “KAPAN”
ScoreS += WordMatchQ,S If containsS, WAKTU and contains
S,{saat, ketika, kala, semenjak,sejak, waktu, setelah,
sebelum}then ScoreS += slam_dunk
If containsS, WAKTU then ScoreS += good_clue
If containsS,{saat, ketika, kala, semenjak, sejak, waktu, setelah,
sebelum} then ScoreS +=clue
2. “DIMANA”
ScoreS += WordMatchQ,S If containsS,TEMPAT and contains
S,{dalam,dari, pada} then ScoreS += slam_dunk
If containsS,{dalam, dari, pada} then
ScoreS += clue If containsS, TEMPAT then
ScoreS += good_clue
3. “SIAPA”
ScoreS += WordMatchQ,S If ~containsQ,ORANG and contains
Q,ORANG then scoreS += slam_dunk
4. “APA”
ScoreS += WordMatchQ,S If containsQ,{tujuan,manfaat} and
contains S,{untuk,guna} then ScoreS += confident
Elseif containsQ,{maksud} and contains S,{adalah,ialah} then
ScoreS += slam_dunk
Keterangan: S = sentence passages Q = query kalimat kueri
P yaitu
dan
Pem
P prep
emb dilak
pass onli
1. P
Pad peng
doku stop
Kem IPB
2. I
Pros men
inde doku
3. P
T pass
kali dilak
dahu pada
entit mem
200 Citr
ORG NUM
MET
Penelitian ini u pemrosesan
evaluasi hasil
mrosesan Offli
Pemrosesan proses dokum
bentukan pa
kukan untuk sage
yang akan ine
.
Gambar 3 Preproses Dok
a tahap ini d ghilangan
st umen uji. Kol
pwords diamb
mbali Informas .
Indexing Doku
ses indexing nggunakan p
exing berupa n
umen. Pembentukan P
Tahap selanj sages
yang m mat yang sal
kukan pemb ulu dilakukan
a koleksi dok tas atau ta
manfaatkan ha 09. Entitas ya
raningputra
GANIZATION, MBER, dan CUR
ODE PENEL
dilakukan da n offline, pem
percobaan Ga
ine
offline terdir
men, indexing assages.
Pe mendapatkan
n digunakan p
3 Alur pemrose kumen
dilakukan pros topwords
terh leksi dokumen
bil dari Lab si Departemen
umen dokumen p
embobotan t nilai idf dan tf-
Passages utnya adalah
masing-masing ling berdampi
entukan pass n penamaan e
kumen penguj agging
dilak asil penelitian
ang dihasilkan 2009
y
DATE TIME RRENCY.
ITIAN
lam tiga tahap mrosesan onlin
ambar 3 dan 4 ri atas taha
dokumen, da mrosesan in
nilai tf-idf da ada pemrosesa
esan offline ses parsing da
rhadap kolek n uji dan daft
botarium Tem Ilmu Komput
pada tahap in tf-idf. Has
-idf dari seluru
h pembentuka terdiri atas du
ingan. Sebelum sages,
terlebi entitas entita
jian. Penamaa kukan denga
n Citraningputr pada penelitia
yaitu
NAME E, LOCATION
p, ne
, .
ap an
ni an
an
an ksi
ar mu
er
ni sil
uh
an ua
m ih
as an
an ra
an
E, N,
Pemro
Pem prepros
peroleh dan ek
Ga 1.
Pre Ku
dimasu penghi
kata ta tanya.
pada k
BERAP
2. Per
Sist dokum
cosine 3.
Per Kan
yang te 4.
Pem Pem
dengan dan gab
yang
osesan Online
mrosesan onl ses kueri, pero
han top passag straksi jawaban
ambar 4 Diagra eproses Kueri
eri berupa k ukkan penggun
ilangan stopw anya dan keyw
. Kata tanya kata :
SIAPA, PA
. rolehan 10 Dok
tem akan men teratas y
teratas. rolehan Passag
ndidat passag erletak pada se
mbobotan Pas mbobotan terh
n tiga metode y bungan heurist
mendapatkan line
terdiri olehan 10 doku
ges , pembobot
n.
am alur pemro kalimat perta
na, dilakukan words
untuk m word
kata-kata yang diguna
, KAPAN, DIM
kumen Teratas mengembalik
yang memilik ge
ge diperoleh d
puluh dokume ssage
hadap passag yaitu heuristi
tic dan rule-ba
n nilai tert
4 atas tahap
umen teratas, tan passages,
sesan online anyaan yang
parsing dan
mendapatkan a selain kata
akan dibatasi
MANA, DAN
an sepuluh ki kesamaan
dari passages en teratas.
ge dilakukan
c, rule-based
ased . Passage
tinggi akan
5 dikembalikan sebagai top passage dari kueri
pertanyaan yang diberikan. 5.
Ekstraksi Jawaban Top passages yang diperoleh dilakukan
perhitungan terhadap jarak kata. Entitas yang memiliki jarak terpendek dengan kata kunci
pada kalimat tanya kueri akan menjadi entitas jawaban.
Evaluasi Hasil Percobaan
Tahap evaluasi dilakukan secara objektif dari segi:
1. Pasangan jawaban dan dokumen
Responsiveness
2.
Ketepatan untuk setiap jawaban
.
Pemberian nilai dilakukan berdasarkan empat kriteria, yaitu:
1. Wrong W: jawaban tidak benar.
2. Unsupported U: jawaban benar tapi
dokumen tidak mendukung. 3.
Inexact X: jawaban dan dokumen benar tapi terlalu panjang.
4. Right R: jawaban dan dokumen benar
Lingkungan Pengembangan
Perangkat lunak yang digunakan untuk penelitian yaitu :
1. Windows 7 sebagai sistem operasi, 2.
Apache Xampp-win32-1.7.1 sebagai web server
, 3. Notepad ++ sebagai editor program.
Perangkat keras yang digunakan untuk penelitian yaitu :
1. Processor Intel Centrino 2.3 GHz, 2. RAM 4 GB,
3. Harddisk kapasitas 250 GB.
HASIL DAN PEMBAHASAN Koleksi Dokumen Pengujian
Dokumen uji yang digunakan adalah dokumen berbahasa Indonesia yang sudah
tersedia di Laboratorium Temu Kembali Informasi Departemen Ilmu Komputer IPB.
Sumber koleksi dokumen diambil dari media koran, majalah, dan jurnal penelitian. Dokumen
ini disimpan dalam satu direktori. Secara umum, nama dokumen diberi nama berdasarkan
sumber data dan tanggal data diterbitkan, misalnya suaramerdeka040104.txt yang berarti
data berasal dari majalah Suara Merdeka dan diterbitkan oleh Suara Merdeka pada tanggal 04
bulan Januari tahun 2004. Dokumen memiliki ukuran terkecil 1 KB dan terbesar 53 KB.
Masing-masing dokumen uji berekstensi teks .txt dan struktur XML di dalamnya. Gambar
5 menunjukkan contoh format strukur dokumen yang digunakan.
DOC DOCNO suaramerdeka040104 DOCNO
TITLE Ribuan Bibit untuk Lahan Kritis TITLE
AUTHOR AUTHOR DATE Minggu, 4 Januari 2004 DATE
TEXT NGALIYAN- Kecamatan Ngaliyan telah
mendistribusikan sekitar 30 ribu bibit berbagai jenis tanaman. Sebelumnya, wilayah
itu telah menerima bantuan 140.250 bibit tanaman dari Departemen Pertanian. Bibit
tanaman yang diberikan adalah petai, durian, rambutan, mangga, sukun, dan jati.
TEXT DOC
Gambar 5 Struktur dokumen pengujian.
Pemrosesan dokumen pada tahap indexing, hanya diambil bagian dokumen yang diapit oleh
tag TITLE dan TEXT, sedangkan untuk
pembentukan passages
, hanya digunakan bagian dokumen yang diapit oleh tag TEXT.
Gambar 6 menunjukkan ilustrasi bagian dokumen yang diproses.
DOC DOCNO DOCNO
TITLE ..................... TITLE AUTHOR AUTHOR
DATE DATE TEXT
.................................... TEXT
DOC
Gambar 6 Ilustrasi bagian dokumen yang digunakan untuk pemrosesan.
6
Pemrosesan Dokumen
Langkah pertama pada pemrosesan dokumen adalah penamaan entitas named entity yang
disebut tagging
pada dokumen dengan menggunakan hasil penelitian dari
Citrainingputra 2009. Penamaan entitas dilakukan untuk proses perolehan kandidat
jawaban sesuai dengan jenis pertanyaannya. Adapun named entity yang digunakan terdiri
dari NAME, ORGANIZATION, NUMBER, PERCENT, CURRENCY, DATE, TIME, dan
LOCATION. Pada tahap ini dilakukan dengan memasukkan satu per satu setiap bagian
dokumen yang diapit tag TEXT ke dalam sistem name entity tagging Citraningputra
2009. Gambar 7 menunjukkan hasil tagging untuk dokumen
suaramerdeka040104.txt
. Selanjutnya semua dokumen hasil tagging
kemudian disimpan dalam korpus.
NGALIYAN- LOCATION Kecamatan Ngaliyan LOCATION telah mendistribusikan sekitar
NUMBER30NUMBER ribu bibit berbagai jenis tanaman. Sebelumnya, wilayah itu
telah menerima bantuan NUMBER140.250NUMBER bibit tanaman
dari ORGANIZATION Departemen Pertanian ORGANIZATION. Bibit tanaman yang
diberikan adalah petai, durian, rambutan, mangga, sukun, dan jati.
Gambar 7 Contoh hasil tagging dokumen.
Langkah kedua adalah pembacaan terhadap isi file dari korpus. Pembacaan hanya berlaku
pada isi file yang berada pada tag TITLE dan TEXT. Kemudian pada isi file tersebut
dilakukan parsing dengan pemisah kata yang tersimpan dalam variabel pemisahKata
yang
terdiri atas tanda baca [+\,.\\];\:=`?\[]. Tidak
semua hasil parsing disimpan, karena hasil parsing
diseleksi kembali oleh stopwords yang merupakan kata buangan atau daftar kata
umum yang mempunyai fungsi tapi tidak mempunyai arti. File ini tersimpan dalam file
stopwords.txt yang terdiri atas 733 kata yang dipisahkan dengan karakter
enter
, contoh kata tersebut antara lain
acapkali, dalam, dan, dapat, sesaat, dari,
dan lain-lain.
Perhitungan tf-idf
Langkah pertama melakukan perhitungan tf- idf adalah mendapatkan informasi term
frequency, dengan memanfaatkan hasil pada
tahap pemrosesan dokumen
.
Term frequency diperoleh dari pasangan dokumen dan hasil
parsing token-token dari masing-masing file
disimpan dalam suatu array pada variabel
tf
. Variabel ini digunakan
untuk menghitung nilai df, idf, dan tf-idf setiap kata.
Langkah selanjutnya adalah mendapatkan document frequency
df. Document frequency adalah jumlah dokumen yang mengadung kata
tertentu. Kemudian dari hasil tersebut dapat dihitung nilai invers document frequency idf.
Tujuan dari idf adalah untuk menentukan kata- kata term yang merupakan penciri dari suatu
dokumen, oleh karena itu dalam penelitian ini hanya kata dengan nilai idf lebih besar sama
dengan 0.3 yang disimpan. Hal ini bertujuan untuk menghapus kata-kata yang tidak termasuk
dalam stopwords namun bukan penciri dari sebuah dokumen. Hasil idf disimpan dalam
fileGenerateidf.txt
dengan menggunakan tanda “” sebagai pemisah.
Melalui idf dapat diperoleh informasi untuk menghitung nilai tf-idf yang merupakan
perkalian antara nilai tf dan idf. Selanjutnya hasil tf-idf kata juga disimpan dalam satu file
fileGeneratetfidf.txt
dengan menggunakan tanda “” sebagai pemisah.
Pembentukan Passages
Tahap awal pembentukan passages adalah dilakukan pembentukan kalimat untuk setiap
dokumen dengan menggunakan tanda pemisah antar kalimat yaitu [.?]. Setiap passage
dibentuk dari dua kalimat yang berurutan sehingga passage yang posisinya berdekatan
saling overlap. Hasil pembentukan passages ini disimpan dalam satu file .
.
fileGeneratepassages.txt.
Nilai yang disimpan adalah id passage, nama dokumen,
dan passage.
Masing-masing variabel dipisahkan dengan tanda “”.
Pemrosesan Kueri
Kueri berupa kalimat Tanya yang diawali dengan kata tanya dan diakhiri dengan tanda
tanya ?. Kata tanya yang digunakan pada penelitian ini adalah SIAPA, KAPAN,
DIMANA, dan BERAPA.
Langkah pertama yang dilakukan pada pemrosesan kueri adalah parsing terhadap
kalimat tanya dengan pemisah kata yang tersimpan dalam variabel pemisahKata
yang terdiri atas tanda baca
[+\,.\\];\:=`?\[]. Kueri di-parsing terlebih dahulu, kemudian
dilakukan proses case folding yaitu pengubahan semua huruf menjadi huruf kecil. Selanjutnya
dilakukan tokenisasi untuk mendapatkan kata- kata penyusun kueri berupa kata tanya dan
keyword
kata-kata selain kata tanya. Hasil tokenisasi disimpan dalam array
query
. Melalui
query
, kita dapat melakukan
7 identifikasi dan menyimpan kata tanya dari
kueri pertanyaan berupa array dengan index ke- 0 atau
query[0]
. Tujuannya adalah menentukan tipe jawaban yang akan
dikembalikan oleh sistem. Tipe jawaban dicirikan dengan tag named entity yang terdapat
pada dokumen. Tabel 1 menunjukkan daftar pasangan jenis kata tanya dan named entity
yang menjadi acuan dari jawaban yang akan dikembalikan.
Tabel 1 Daftar pasangan kata tanya dan named entity
Kata Tanya Tag Entitas
Siapa NAME, ORGANIZATION
Kapan DATE, TIME
Dimana LOCATION Berapa NUMBER,
CURRENCY
Perolehan dokumen teratas
Dokumen yang digunakan untuk proses perolehan jawaban adalah 10 dokumen dengan
bobot kesamaan cosine tertinggi. Dengan memanfaatkan nilai idf dan tf-idf dapat
dilakukan perolehan norm dari kueri dan dokumen. Kueri dimasukkan secara manual
kemudian dilakukan perhitungan terhadap norm query,
tf-idf query, dan norm untuk setiap dokumen. Langkah selanjutnya adalah
memasangkan nilai norm query dengan query setiap dokumen untuk menghasilkan nilai
dotproduct dan cosine. Setelah diperoleh nilai
cosine , dilakukan pengurutan nilai cosine.
Dokumen yang diambil untuk memasuki langkah selanjutnya adalah 2 dan 10 dokumen
dengan nilai cosine tertinggi. Selanjutnya dilakukan pemilihan passages
pada kamus passage yang termasuk dalam 10 dokumen di atas. Hasil pemilihan passages ini
disimpan dalam variabel
passagesDocTop
untuk digunakan pada tahap perolehan top passages.
Perolehan Top Passages
Passages yang akan digunakan dalam proses
pembobotan adalah passages yang mengandung tag named entity
yang dibutuhkan, yang dalam pembahasan kali ini disebut arrayTag.
arrayTag merupakan hasil dari identifikasi kata
tanya. Misalnya ‘Siapa’ yang mengacu pada PERSON- ORGANIZATION, dan Kapan yang
mengacu pada DATE-TIME. Selanjutnya passage yang disimpan variabel
passagesDocTop
kemudian disaring untuk diambil passages yang memiliki TAG sesuai
kata tanya kueri pertanyaan. Selanjutnya dilakukan pembobotan passages menggunakan
pembobotan heuristic
dan pembobotan menggunakan metode rule-based.
Pembobotan Heuristic
Sesuai dengan tahapan yang terdapat dalam jurnal Ballesteros dan Xiaoyan-Li 2007 serta
penelitian Cidhy 2009 yang digunakan sebagai acuan dalam penelitian ini, 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
kata-kata selain kata tanya pada kueri dalam
passages. Hasilnya bernilai Boolean,
disimpan dalam variabel
Ord
. 3.
Pembobotan passages berdasarkan nilai dari
arrayWordQuestion
dalam passages. Hasilnya bernilai Boolean, disimpan dalam
variabel Sm. 4.
Pembobotan berdasarkan hasil dari proses wordmatch
sesuai threshold berbanding ukuran passage jumlah kata dalam satu
passage .
Setelah diperoleh nilai dari ke-empat variabel di atas kemudian dihitung skor
heuristic setiap passage yaitu:
heuristic _score = count_match +
count_matchW + Sm0.5 + Ord0.5.
Pembobotan Rule-based
Mengacu pada rule yang terdapat dalam Riloff dan Thelen 2000 serta penelitian
Sianturi 2008, yang digunakan sebagai acuan dalam penelitian ini pembobotan passages
terdiri atas:
1. Fungsi WordMatch. WordMatch adalah nilai
perbandingan antara kalimat kueri dengan kalimat pada dokumen. Algoritme
WordMatch dilakukan dengan cara
membandingkan token-token pada setiap passages
dengan token-token pada kalimat kueri. Setiap token yang sama akan
menambahkan nilai pada passages tersebut. Hasilnya disimpan dalam variabel
WordMatch.
2. Algoritme Rule. Penelitian ini membuat
algoritme rule dengan melakukan beberapa modifikasi yang digunakan dalam
pembobotan passages. Algoritme rules yang
8 digunakan sebagai acuan dalam penelitian
ini:
1. “SIAPA”