Lompat ke konten utama
←

Mengolah Teks dengan Python

Pelajaran 14 dari 16

TF-IDF, kemiripan, dan klasifikasi teks

Kemiripan kosinus: mencari dokumen yang mirip

Setelah pelajaran ini kamu bisa menghitung kemiripan kosinus dua vektor dan mencari dokumen paling mirip dengan kueri.

±14 menitDiperiksa 27 Sep 2026

Materi

Kemiripan kosinus mengukur seberapa searah dua vektor: hasil kali titik (dot product) keduanya dibagi hasil kali panjangnya. Untuk vektor hitungan kata, yang tidak pernah negatif, hasilnya berada di antara 0 dan 1: 1 berarti proporsi katanya sama persis, 0 berarti tidak ada satu kata pun yang sama. Karena yang diukur arah, bukan panjang, dokumen yang diulang dua kali tetap bernilai 1 terhadap aslinya.

import math

a = [2, 0, 1]
b = [1, 1, 0]
titik = sum(x * y for x, y in zip(a, b))
panjang = math.sqrt(sum(x * x for x in a)) * math.sqrt(sum(y * y for y in b))
print(round(titik / panjang, 4))   # 0.6325

sklearn.metrics.pairwise.cosine_similarity(X, Y) menghitung kemiripan setiap baris X dengan setiap baris Y sekaligus, dan menerima matriks jarang hasil vectorizer. Dokumentasinya mencatat bahwa pada data yang sudah dinormalkan L2, fungsi ini setara dengan linear_kernel, yaitu hasil kali titik biasa; keluaran TfidfVectorizer bawaan sudah dinormalkan seperti itu.

Pola pencarian dokumen mirip: vectorizer di-fit pada korpus, kueri diubah dengan transform (bukan fit_transform, supaya kosakata dan idf tetap berasal dari korpus), lalu cosine_similarity(kueri, X) memberi satu baris skor. argmax() pada baris itu menunjuk dokumen yang paling mirip.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Berapa kemiripan kosinus vektor [1, 1, 0, 1] dan [1, 1, 1, 0]? Bulatkan 2 desimal dan tulis dengan koma, misalnya 0,50.

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke