8 Hasil dari perolehan n dokumen teratas
disimpan dalam arraytempcontent[data[attrs][docno]].Cu
plikan implementasi untuk mengambil 10 dokumen teratas dapat dilihat pada Gambar
8.Gambar 9 adalah contoh dari dokumen teratas dengan query, “Siapa saja pejabat
yang menjadi tersangka kasus ilegal logging?”
[suarakarya000000-016.txt] = Maraknya praktek illegal
logging penebangan liar di wilayah provinsi
[LOCATION]Kalimantan Tengah[LOCATION] yang terkenal
dengan emas hijau hingga kini terus berlangsung, bahkan
sampai merambah kawasan Taman Nasional [LOCATION]Tanjung
Puting[LOCATION] [LOCATION]TNTP[LOCATION]
yang merupakan pusat rehabilitasi orangutan.
………
Gambar 9 Dokumen teratas
5. Pembentukan Kalimat
Sepuluh dokumen teratas yang ditemukembalikan oleh SPHINX kemudian
diproses menjadi kalimat. Dalam wujud tulisan Latin, kalimat dimulai dengan huruf
kapital dan diakhiri dengan tanda ., tanda tanya?, atau tanda seru .
Kalimat disimpan dalam variabel arraykalimat.Cuplikan kalimat dapat dilihat
pada Gambar 11 sedangkan fungsi yang digunakan dalam pembentukan kalimat dapat
dilihat pada Gambar 10.
Function pemisahkalimat paragraf{
tempkalimat = preg_split [.?]+[\s]+,paragraf;
return tempkalimat;
}
Gambar 10 Fungsi pembentuk kalimat
Array [suarakarya.txt] =
Array [0] =Maraknya praktek illegal..
[1] = Kerusakan hutan yang semakin parah dan..
[2] = Bahkan tekanan untuk menyelamatkan hutan..
…………
Gambar 11 Hasil pembentukan kalimat
6. Pembentukan Passages
Pembentukan passages dilakukan
dengan cara menggabungkan dua kalimat dari masing-masing dokumen, yaitu kalimat pada
indeks sebelumnya dengan kalimat pada indeks sesudahnya. Dengan demikian, satu
kalimat akan terdapat pada dua passages hal ini tidak berlaku pada kalimat pertama dan
terakhir. Fungsi yang digunakan untuk membentuk passage dapat dilihat pada
Gambar 12.
function createpassage arraykalimat{
total= countarraykalimat; arrayhasil=array;
forindeks=0;indekstotal-1; indeks++{
arrayhasil[]=arraykalimat[ind eks]..
.arraykalimat[indeks+1]..;}
return arrayhasil;}
Gambar 12 Fungsi pembentuk passage Hasil pembentukan passages disimpan
dalam arrayarraypassagesdengan indeks asosiatif berupa nama dokumen. Ilustrasi
pembentukan passages ditunjukkan oleh Gambar 13.
Array [doc1] = Array
[0] = kalimat 1. kalimat 2 [1] = kalimat 2.kalimat 3
.
Gambar 13 Pembentukan passage
9
7. Pemrosesan Passages
Tidak semua passages dalam dokumen digunakan dalam proses pembobotan
passages, namun hanya passages yang mengandung tag name entity yang sesuai
dengan kata tanya. Tag yang sesuai tersebut disimpan dalam arrayarrayTag, misalkan
kata tanya “Siapa” maka tag yang disimpan didalam arrayTag adalah ORGANIZATION
dan PERSON.
Sebagai contoh dengan menggunakan query “Siapa saja pejabat yang menjadi
tersangka kasus ilegal logging?” dari 1 dokumen teratas diperoleh passagessebanyak
30. Kemudian dilakukan seleksi berdasarkan named entity sesuai kata tanya. Dalam
contoh queryini passages diseleksi dengan tag ORGANIZATON dan PERSON,
sehingga diperoleh passages
sebanyak 14passages.
8. Pembobotan Passages