Learn AI with Python · Pelajaran

Kemiripan Semantik dan Embedding Kalimat

Sentence-BERT, kemiripan kosinus untuk pencarian semantik, pengelompokan embedding.

Pelajaran 4 dari 413 langkah

Kemiripan Semantik dan Embedding Kalimat adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Kalimat, Bukan Sekadar Kata

Embedding kata merepresentasikan kata, tetapi kita sering perlu membandingkan seluruh kalimat atau dokumen. Merata-ratakan vektor kata menghilangkan nuansa; kita menginginkan satu vektor yang menangkap makna secara utuh.

Apa Itu Embedding Kalimat

Embedding kalimat memetakan seluruh kalimat menjadi satu vektor padat sehingga kalimat dengan makna serupa memiliki vektor yang berdekatan, yang memungkinkan pencarian semantik dan pengelompokan.

Pustaka sentence-transformers

Pustaka sentence-transformers memudahkan hal ini. Pustaka tersebut membungkus model transformer yang telah disesuaikan dan menghasilkan vektor kalimat berkualitas tinggi secara langsung.

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("all-MiniLM-L6-v2")

Mengapa all-MiniLM-L6-v2

all-MiniLM-L6-v2 merupakan pilihan bawaan yang populer: berukuran kecil, cepat, dan akurat, serta menghasilkan vektor berdimensi 384. Model ini menyeimbangkan kecepatan dan kualitas dengan baik untuk sebagian besar aplikasi.

Menyandikan Kalimat

model.encode mengubah daftar kalimat menjadi matriks embedding, dengan satu baris untuk setiap kalimat.

sentences = [
    "The cat sits on the mat.",
    "A feline rests on the rug.",
    "I am learning machine learning.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)   # (3, 384)

Mengukur Kemiripan

Kemiripan kosinus mengukur sudut antara dua vektor tanpa memperhitungkan besarannya. Nilai yang mendekati 1 berarti maknanya sangat mirip, sedangkan nilai yang mendekati 0 berarti tidak berkaitan.

from sentence_transformers import util

sim = util.cos_sim(embeddings[0], embeddings[1])
print(sim.item())   # high, both about a cat resting

Menggunakan sklearn cosine_similarity

Anda juga dapat langsung menggunakan scikit-learn pada matriks embedding untuk memperoleh matriks kemiripan lengkap bagi setiap pasangan.

from sklearn.metrics.pairwise import cosine_similarity

matrix = cosine_similarity(embeddings)
print(matrix)   # (3, 3) pairwise similarities

Gagasan Pencarian Semantik

Pencarian semantik menemukan dokumen berdasarkan makna, bukan kata kunci. Sandikan kueri dan semua dokumen, lalu urutkan dokumen berdasarkan kemiripan kosinusnya dengan vektor kueri.

Contoh Pencarian Semantik

Sandikan korpus sekali, lalu untuk setiap kueri hitung kemiripannya dan kembalikan kecocokan teratas.

from sentence_transformers import util

corpus = ["How to reset my password", "Refund policy details", "Track my order"]
corpus_emb = model.encode(corpus)

query_emb = model.encode("I forgot my login")
hits = util.semantic_search(query_emb, corpus_emb, top_k=2)
print(hits)

Penerapan di Dunia Nyata

Embedding kalimat mendukung pencocokan FAQ, pendeteksian duplikat, pengelompokan, rekomendasi, serta tahap pengambilan dalam sistem RAG yang memasok konteks relevan ke model bahasa besar.

Kiat Mendapatkan Hasil yang Baik

Pilih model yang dilatih untuk tugas Anda (pencarian semantik atau parafrasa). Normalisasi embedding jika metrik kemiripan Anda memerlukannya, dan untuk korpus besar gunakan basis data vektor agar pencarian tetangga terdekat berlangsung cepat.

Uji Singkat

Uji pengetahuan Anda tentang embedding kalimat.

Ringkasan

Ringkasan: Embedding kalimat menyandikan seluruh kalimat menjadi vektor. Gunakan SentenceTransformer("all-MiniLM-L6-v2") dan model.encode(sentences), lalu bandingkan dengan kemiripan kosinus. Inilah yang mendukung pencarian semantik: sandikan kueri dan korpus, lalu urutkan berdasarkan kemiripan. Hal ini penting untuk pencocokan FAQ, pengelompokan, dan pengambilan RAG.

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
53
Pelajaran
225

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Kemiripan Semantik dan Embedding Kalimat” gratis?

Ya — teks lengkap “Kemiripan Semantik dan Embedding Kalimat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Kemiripan Semantik dan Embedding Kalimat”?

Sentence-BERT, kemiripan kosinus untuk pencarian semantik, pengelompokan embedding. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Kemiripan Semantik dan Embedding Kalimat” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Word2Vec: Skip-gram dan CBOW
  2. Embedding GloVe dan FastText
  3. Klasifikasi Teks dengan BERT
  4. Kemiripan Semantik dan Embedding Kalimat
← Kembali ke Learn AI with Python