3.4. Proximity Processing
Seperti yang telah dijelaskan pada bagian 2.8 tentang proses dalam menjalankan proximity processing
yaitu dengan menambahkan 2 vektor tambahan yaitu offset_vector
dan offset_marker pada CSR. Tahapan dari proximity processing ditunjukkan pada gambar 3.5.
Membuat tabel Tf Term Frequency + kolom Offset
Membuat tabel Df Document Frequency dan Idf Inverse document Frequency
Membuat Sparse Matrix Membentuk Format CSR + Offset_vector +
Offset_marker Membentuk query , v1 dan v2
Proximity Processing Hasil Relvenasi dari Proximity Processing + hasil
dari CSR SpMV untuk setiap dokumen Kumpulan term setiap dokumen
Gambar 3.5 Alur tahapan proximity processing
Untuk memperjelas penjelasan tentang metode proximity processing, penulis akan menjabarkan dalam bentuk contoh yang merupakan sambungan dari contoh pada
bagian 3.3 yang memiliki masalah dalam keakuratan menampilkan hasil. Kumpulan dokumen yang ada pada tabel 3.8 akan dibuat kembali tabel frekuensi dengan
dilengkapi offset.Tujuan utama melampirkan offset, untuk mengetahui posisi dari term pada setiap dokumen.
Tabel 3.8
Term frequency untuk proximy processing
Dokumen Term
Tf Offset
D0 system
2 0,1
recommendation 2
2,3 D1
system 2
0,2 recommendation
2 1,3
D2 news
2 0,3
system 2
1,2 recommendation
2 2,5
Universitas sumatera utara
Tabel 3.8
Term frequency untuk proximity processing lanjutan
Dokumen Term
Tf Offset
D3 news
1 retrieval
1 1
Dari tabel 3.8 akan dibentuk sparse matrix yang sama seperti pada tabel 3.5, khusus unutk proximity processing yang akan berbeda hanya pada saat dibentuk
format CSR Compressed Sparse Row. Pada gambar 3.6 ditunjukkan format CSR yang dilengkapi dengan offset posisi term dalam dokumen.
Gambar 3.6 CSR untuk proximity processing
Query untuk proximity processing yang berbeda dengan query pada gambar
3.4 yang ditambahkan 1 baris query lagi untuk menyimpan posisi dari term query pada kolom sparse matrix.
Gambar 3.7 Modifikasi query untuk proximity processing
Berdasarkan gambar 3.7, v1 menyatakan query seperti yang telah dijelaskan pada bagian 3.4, sedangkan v2 merupakan posisi kata pada query terhadap kolom
term . Karena dalam contoh ini menggunakan query
“system recommendation”, kata “system” berada pada kolom 0 dan posisi urutan dari query juga berada pada posisi 0,
untuk “recommendation” berada pada kolom 1 dan posisi urutan dari query juga
berada pada poisisi 1. Mengikuti hasil dari bagian 3.3 selanjutnya untuk mendapatkan hasil yang akurat maka akan dilakukan algoritma proximity processing yang telah
ditunjukkan pada gambar 2.4. Tujuan utama dari algoritma pada gambar 2.4 untuk mendapatkan posisi term
pada masing – masing dokumen yang didapatkan berdasarkan query, lalu setiap posisi
tersebut dihitung jaraknya, jika hasilnya sama dengan 1, maka untuk dokumen akan ditambahkan nilai relevansinya 1 Goharian, et al. 2001. Untuk lebih jelasnya penulis
jabarkan pada tabel 3.9.
Non_zero_vector = 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0.6, 0.3, 0.6 Col_vector = 0, 1, 0, 1, 0, 1, 2, 2, 3
Row_vector = 0, 2, 4, 7, 9 Offset_vector = 0, 1, 2, 3, 0, 2, 1, 3, 1, 4, 2, 5, 0, 3, 0, 1
Offter_marker = 0, 2, 4, 6, 8, 10, 12, 14, 15, 16
Q : v1 = 0.12 0.12 0 0 v2 = 0 1 0 0
Universitas sumatera utara
Tabel 3.9 Hasil dari menjalankan algoritma proximty processing
D0 : 0,2 = 2-0 = 2 0,3 = 3-0 = 3
1,2 = 2-1 = 1 1,3 = 3-1 = 2
D1 : 0,1 = 1 – 0 = 1
0,3 = 3 – 0 = 3
2,1 = 1 – 2 = -1
2,3 = 3 – 2 = 1
D2 : 1,2 = 2 - 1 = 1 1,5 = 5 - 1 = 4
4,2 = 2 - 4 = -2 4,5 = 5 - 4 = 1
toleransi jarak = 1 yang menghasilkan 1
hanya ada 1 dari 1,2 tolerenasi jarak = 1
yang menghasilkan 1 ada 2 dari 0,1 dan 2,3
toleransi jarak = 1 yang menhasilkan 1 ada
2 dari 1,2 dan 4,5
D0 tingkat relevansinya lebih kecil dari pada D1
D1 menjadi lebih tinggi tingkat relevansi dari
pada D0 D1 dan D2 menjadi
lebih tinggi tingkat relevansi dari pada D0
Setelah proximity processing dijalankan maka setiap dokumen yang memiliki term
seperti yang ada pada query yang jaraknya 1, maka akan memiliki nilai baru pada dokumen tersebut. Tabel 3.10 memperlihatkan hasil nilai sebelumnya yang
didapatkan dari CSR SpMV dan nilai sekarang adalah nilai yang ditambahkan berdasarkan hasil dari proximity processing.
Tabel 3.10 Nilai untuk rekomendasi setelah diterapkan proximity processing
Dokumen Nilai Sebelumnya
Nilai Sekarang
D0 0.0576
0.0576 + 1 = 1.0576 D1
0.0576 0.0576 + 2 = 2.0576
D2 0.0576
0.0576 + 2 = 2.0576 D3
0.00 0.00
Tabel 3.10 sudah memperlihatkan hasil rekomendasi setelah melewati dua proses, namun hasil yang didapatkan belum memberikan rekomendasi yang secara
personal. Tabel 3.2 menunjukkan bahwa ada berita yang pernah diakses dengan term “news recommendation” yang artinya bisa menjadi pertimbangan untuk melakukan
rekomendasi supaya lebih personal.
3.5. Bayesian Framework for User Interest