Cosine similarity adalah metode yang digunakan untuk mengukur sejauh mana dua vektor serupa dalam ruang vektor. Ini adalah salah satu metode yang umum digunakan dalam pemrosesan bahasa alami, analisis teks, dan sistem rekomendasi. Dalam artikel ini, kita akan menjelaskan apa itu cosine similarity dan bagaimana menghitungnya dengan Python.
Apa Itu Cosine Similarity?
Cosine similarity adalah ukuran yang digunakan untuk mengukur sejauh mana dua vektor serupa dalam ruang vektor. Semakin besar nilai metode ini, semakin serupa dua vektor tersebut. Ini dihitung dengan mengukur sudut antara dua vektor dalam ruang vektor. Semakin kecil sudut antara vektor-vektor tersebut, semakin besar nilai metode ini.
Dalam konteks pemrosesan bahasa alami, metode ini sering digunakan untuk mengukur sejauh mana dua dokumen teks serupa. Semakin serupa konten dua dokumen, semakin besar nilai metode ini antara vektor representasi dokumen tersebut.
Bagaimana Menghitung Cosine Similarity
Kita dapat menghitung metode ini antara dua dokumen atau teks menggunakan Python dengan bantuan pustaka seperti NumPy. Berikut adalah langkah-langkah untuk melakukannya:
Representasi Vektor
Pertama, kita perlu membuat representasi vektor untuk dokumen-dokumen yang akan dibandingkan. Ini dapat dilakukan dengan menghitung frekuensi kata dalam setiap dokumen atau menggunakan metode seperti TF-IDF (Term Frequency-Inverse Document Frequency) untuk memberikan bobot kepada kata-kata.
Rumus
Setelah kita memiliki vektor representasi untuk kedua dokumen, kita dapat menghitung cosine similarity dengan menggunakan rumus berikut:
Rumus (A, B) = (A . B) / (||A|| * ||B||)
Di sini, A dan B adalah vektor representasi dua dokumen, dan ||A|| serta ||B|| adalah panjang vektor A dan B masing-masing. “.” menunjukkan produk titik antara dua vektor.
Menghitung Cosine Similarity dengan Python
Untuk menghitung metode ini antara dua vektor menggunakan Python, kita perlu melakukan beberapa langkah. Mari kita lihat langkah-langkahnya:
Langkah 1: Persiapan Data
Pertama, kita perlu mempersiapkan data kita. Misalnya, kita memiliki dua dokumen teks yang ingin kita bandingkan. Kita perlu mengonversi dokumen-dokumen tersebut menjadi vektor representasi.
from sklearn.feature_extraction.text import TfidfVectorizer # Dokumen-dokumen yang akan dibandingkan document1 = "Cosine similarity is a measure of similarity between two non-zero vectors in an inner product space." document2 = "It is often used in natural language processing, text analysis, and recommendation systems." # Inisialisasi TF-IDF Vectorizer tfidf_vectorizer = TfidfVectorizer() # Mengonversi dokumen ke vektor TF-IDF tfidf_matrix = tfidf_vectorizer.fit_transform([document1, document2]) # Mendapatkan vektor representasi vector1 = tfidf_matrix[0].toarray() vector2 = tfidf_matrix[1].toarray()
Langkah 2: Menghitung Cosine Similarity
Selanjutnya, kita perlu menghitung metode ini antara dua vektor representasi. Kita dapat menggunakan library scikit-learn
untuk ini.
from sklearn.metrics.pairwise import cosine_similarity # Menghitung cosine similarity cosine_sim = cosine_similarity(vector1, vector2) print(f"Cosine Similarity: {cosine_sim[0][0]}")
Hasilnya akan memberi kita nilai dari metode cosine antara dua dokumen. Semakin mendekati 1, semakin serupa dokumen-dokumen tersebut.
Kesimpulan
Cosine similarity adalah metode yang berguna untuk mengukur sejauh mana dua vektor serupa dalam ruang vektor. Ini digunakan dalam berbagai aplikasi, termasuk pemrosesan bahasa alami, analisis teks, dan sistem rekomendasi.
Dengan menggunakan Python dan library seperti scikit-learn
, kita dapat dengan mudah menghitung metode ini antara dua vektor representasi. Semoga artikel ini membantu Anda memahami konsep dan cara menghitung cosine similarity.