Latent Semantic Analysis (LSA)
merupakan teknik matematika/statistika untuk mengekstraksi dan menyimpulkan
hubungan kontekstual arti kata yang diaplikasikan pada bagian teks yang
dibutuhkan (Landauer, Foltz and Laham, 1998) . Pada LSA, dilakukan
preprocessing yang salah satunya
berfungsi sebagai penentu kumpulan term
untuk direpresentasikan dalam sebuah matriks semantik dan kemudian diolah
secara matematis menggunakan teknik aljabar linier Singular Value Decomposition (SVD), sehingga dalam hal ini, query dapat dibandingkan dengan hasil
SVD untuk menghitung similaritas antara query-document (Baker, 2005) . Selain itu,
juga dilakukan representasi ke dalam bentuk matriks, sehingga dari hasil
dekomposisi SVD, terdapat tiga jenis operasi perbandingan yang dapat dilakukan
yaitu:
- Membandingkan dua kata (terms)
- Membandingkan dua dokumen (documents)
- Membandingkan kata (terms) dengan dokumen (documents)
Berbeda dari dua
operasi sebelumnya yang memerlukan penghitungan
cosine similarity, untuk membandingkan kata i dengan dokumen j dapat
diketahui dari nilai cell(i, j) dari matriks aproksimasi kata-dokumen
yang didapat dari perhitungan SVD.
Gambar 1 - Representasi geometri 2 dimensi dari term dan dokumen pada analisis SVD
Pada gambar di atas, kumpulan
term yang ada dipetakan keberadaannya ke tiap dokumen, sehingga didapatkan
nilai keberadaan tiap term pada dokumen-dokumen yang ada, sehingga isu yang muncul
adalah “seberapa dekat hubungan antara
term i dengan dokumen j?”. Melalui standar informasi pendekatan sistem temu
balik, untuk membandingkan dua baris, kolom, atau menguji cell digunakan matriks X, yang terdiri dari term pada dokumen (Deerwester et al., 1990) . Namun kita
menggunakan X^ yang merepresentasikan pola dari X dan nilainya mendekati X yang
sebenarnya. Karena X^ = TSD’ (Deerwester et al., 1990) , maka dapat
digambarkan sebagai berikut.
T : mendeskripsikan baris asli
sebagai vektor turunan nilai faktor ortogonal
S : adalah matriks diagonal yang memuat nilai skala jika ketiga komponen matriks dikalikan
D : mendeskripsikan kolom seperti matriks T
t : adalah jumlah baris pada X
d : adalah jumlah kolom pada X
m : adalah rank pada X (≤min(t,d))
S : adalah matriks diagonal yang memuat nilai skala jika ketiga komponen matriks dikalikan
D : mendeskripsikan kolom seperti matriks T
t : adalah jumlah baris pada X
d : adalah jumlah kolom pada X
m : adalah rank pada X (≤min(t,d))
Berikut merupakan
contoh pengimplementasian rumus di atas.
Misal, X =
Dengan,
T (9 dimensi vektor singular kiri untuk 12 term)
S (matriks diagonal dari 9 nilai singular)
D (9 dimensi vektor singular kanan untuk 9 dokumen)
T (9 dimensi vektor singular kiri untuk 12 term)
S (matriks diagonal dari 9 nilai singular)
D (9 dimensi vektor singular kanan untuk 9 dokumen)
Maka untuk mencari X^ (agar mengetahui keterhubungan antara
term dan dokumen lebih detil), maka perlu untuk mencari matriks T, S, dan DT
untuk kemudian dihitung ke dalam rumus yang telah disebutkan di atas.
Untuk mencari T, dilakukan:
- Mencari hasil dari XXT
- Mencari eigenvalue dan eigenvector dari XXT. Eigenvector adalah vektor tak nol yang memenuhi persamaan. Dimana A adalah matriks segiempat, λ bernilai skalar, dan v adalah eigenvector / vektor karakteristik. λ adalah eigenvalue / akar karakteristik nya.
- Konversi matriks vektor ke matriks ortogonal menggunakan proses Gram-Schmidt orthonormalization
Gambar 2 - Hasil matriks T
Untuk mencari D, dilakukan:
- Mencari hasil dari XTX
- Mencari eigenvalue dan eigenvector dari XTX
- Konversi matriks vektor ke matriks ortogonal menggunakan proses Gram-Schmidt orthonormalization
- Didapatkan D, namun yang dibutuhkan adalah DT, maka dilakukan transpose terhadap D
Gambar 3 - Hasil matriks D transpose
Untuk mendapatkan S, hanya perlu
mengakarkan nilai eigenvalue yang sudah didapatkan dan merangkaikan dalam
matriks secara diagonal.
Gambar 4 - Hasil matriks S
Lalu dimasukkan ke dalam rumus perkalian matriks berikut,
Sehingga didapatkan hasil berikut,
Dari hasil tersebut, ditemukan
dokumen yang paling mewakili makna dari kumpulan term yang ada. Sehingga dapat
diberikan rekomendasi dokumen sesuai dengan nilai yang dihasilkan.
kk, maaf mau bertanya, step by step perhitungan manual untuk hasil metrik T,D,S itu sperti apa ya?? saya belum memahami step by step hitungan manual secara mendetail. makasih kk, mohon pencerahanya :)
ReplyDeleteMaaf lama ya balasnya.
DeleteTerkait perhitungan untuk mendapatkan matriks T, S, D, sebenarnya saya pun agak kesulitan saat melakukannya secara manual. Karena pada prakteknya saya biarkan mesin laptop saya yang bekerja (saya pakai bahasa Java, engine nya netbeans, pakai library SingularValueDecomposition), jadi tinggal panggil fungsi seperti getU, getS, getV (misal matriks2nya jadi S,V,D - nama tak masalah).
Namun untuk referensi utamanya, insyaAllah saya akan upload dan sertakan link nya di sini (tapi maaf, datanya sekarang tidak saya pegang).
Tapi untuk wawasan bisa kunjungi http://www.miislita.com/information-retrieval-tutorial/svd-lsi-tutorial-4-lsi-how-to-calculations.html. Bahkan di situs ini untuk mendapatkan U,S,V digunakan Bluebit Matrix Calculator (agar dapat langsung di-generate matriks2nya).
Semoga membantu ^^.
http://www.cob.unt.edu/itds/faculty/evangelopoulos/dsci5910/LSA_Deerwester1990.pdf
Deleteini referensi utamanya untuk LSA,monggo dibaca...
Tapi kalo cuma ingin memahami kalkulasi SVD, buka link yang di atas saja.
mba bisa minta alamat email untuk tanya2, kebetulan tugas akhir saya ttg LSA
Deletefungsi proses SVD untuk pencarian apa ya?
ReplyDeletelink yg pertama kug eror ya,,, butuh buat memahami kalkulasi SVDnya,,,
ReplyDeletepermisi saya bisa minta jurnal tentang LSA dan Perhitungan SVD
ReplyDeleteArtikel y bagus kebetulan saya lagi TA boleh minta referensi yah bak ,mksih
ReplyDeleteAzwar.kreatif@gmail.com
In the ever-evolving realm of SEO, embracing innovations like Latent Semantic Indexing is crucial for achieving sustainable success. By understanding the power of LSI keywords and incorporating them intelligently into your content, you not only enhance your search engine visibility but also provide users with valuable and contextually relevant information.
ReplyDeleteIn the intricate dance between websites and search engines, dynamic ways of SEO emerges as the orchestrator of success. From content optimization to technical intricacies, embracing these dynamic ways allows your website to not only survive but thrive in the competitive digital sphere.
Embracing Semantic SEO is a strategic move towards future-proofing your digital presence. By transitioning from a keyword-centric to a context-driven approach, you signal to search engines that your content is not only relevant but also aligned with user intent.