Kemiripan Semantik dan Embedding Kalimat
Sentence-BERT, kemiripan kosinus untuk pencarian semantik, pengelompokan embedding.
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 restingMenggunakan 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 similaritiesGagasan 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.
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
- Word2Vec: Skip-gram dan CBOW
- Embedding GloVe dan FastText
- Klasifikasi Teks dengan BERT
- Kemiripan Semantik dan Embedding Kalimat