tugas

Tugas 3: Komputasi Cosine Similarity Menggunakan Python dan Vector Space Model

Tugas 3: Komputasi Vektor Ruang Dokumen dan Cosine Similarity Berbasis Python

Implementasi program Python dari nol untuk membangun representasi ruang vektor (Vector Space Model / VSM) dari korpus teks serta mengukur tingkat relevansi antara dokumen dengan kueri pencarian menggunakan metrik jarak sudut Cosine Similarity.

1. Formulasi Matematika Vektor Ruang dan Cosine Similarity

Setiap dokumen djd_j dan kueri qq direpresentasikan sebagai vektor berdimensi VV (ukuran kosakata):

dj=(w1j,w2j,,wVj),q=(w1q,w2q,,wVq)\vec{d}_j = (w_{1j}, w_{2j}, \dots, w_{Vj}), \quad \vec{q} = (w_{1q}, w_{2q}, \dots, w_{Vq})

Kedekatan atau kemiripan semantik antara kueri dan dokumen dihitung sebagai kosinus sudut antara kedua vektor tersebut:

Cosine Similarity(dj,q)=djqdjq=i=1Vwijwiqi=1Vwij2i=1Vwiq2\text{Cosine Similarity}(\vec{d}_j, \vec{q}) = \frac{\vec{d}_j \cdot \vec{q}}{\|\vec{d}_j\| \|\vec{q}\|} = \frac{\sum_{i=1}^V w_{ij} \cdot w_{iq}}{\sqrt{\sum_{i=1}^V w_{ij}^2} \cdot \sqrt{\sum_{i=1}^V w_{iq}^2}}

2. Normalisasi Panjang Dokumen dan Pemeringkatan

Metrik kosinus secara otomatis menormalisasi panjang dokumen (document length normalization), sehingga dokumen yang panjang tidak serta-merta mendapatkan skor bias lebih tinggi dibandingkan dokumen pendek yang padat relevansi. Hasil komputasi diurutkan secara menurun untuk menyajikan peringkat dokumen paling relevan.

3. Berkas Tugas Terlampir

  • Laporan analisis eksperimen bagian 1: cosim-240411100085-1.pdf yang menjabarkan algoritma komputasi vektor, penanganan sparsity matriks, dan visualisasi distribusi bobot.
  • Laporan analisis bagian 2: cosim-240411100085-2.pdf yang menguji sensitivitas variasi bobot istilah terhadap peringkat dokumen.

Attachments