cara menghitung cosine similarity dengan python

Cara Menghitung Cosine Similarity dengan Python

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.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top