Ana içeriğe geç

Anlamsal Arama

İngilizcesi
Semantic Search
Türkçe karşılığı
semantik arama
Okunuşu
simentik sörç

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/semantic-search

Kısaca

Anlamsal arama, sonuçları birebir anahtar kelimelere değil anlama göre, genellikle sorgu ve belge embedding'lerini karşılaştırarak bulan arama tekniğidir.

Anlamsal arama (semantic search) nedir?

Anlamsal arama, bir sorgunun yalnızca içerdiği sözcüklerle değil, ne anlama geldiğiyle eşleşen sonuçlar döndürür. 'Planımı nasıl iptal ederim' araması, ikisi arasında önemli bir ortak sözcük olmasa bile 'Aboneliğinizi sonlandırma' başlıklı bir makaleyi bulabilir. Bunu, hem sorguları hem belgeleri anlamı yakalayan sayı listeleri olan embedding'ler olarak temsil edip, embedding'leri sorgununkine en yakın belgeleri arayarak yapar.

Tipik bir kurulumun iki aşaması vardır. Önceden belgeler parçalara bölünür, her parça bir embedding modeliyle embedding'e dönüştürülür ve vektörler bir vektör veritabanında ya da sıradan bir veritabanının içindeki vektör indeksinde saklanır. Sorgu anında sorgu aynı modelle embedding'e çevrilir, en yakın vektörler çoğunlukla kosinüs benzerliğiyle bulunur ve ilk sonuçlar, reranker adı verilen daha yavaş ama daha kesin bir modelle yeniden sıralanabilir.

Fark, bir şeyi kitabın arkasındaki dizinde aramakla bilgili bir kütüphaneciye sormak arasındaki fark gibidir. Dizin yalnızca yazarın kullandığı tam sözcüğü biliyorsanız işe yarar; kütüphaneci ise neyin peşinde olduğunuzu anlar ve sizi doğru bölüme yönlendirir. Anlamsal arama; site ve yardım merkezi aramasına, ürün ve kod aramasına, yinelenen kayıt tespitine, öneri sistemlerine ve RAG sistemlerinin getirme adımına güç verir.

Anlamsal arama çoğu zaman tam metin aramasıyla karşılaştırılır. Tam metin araması, ters indeks kullanarak anahtar kelimeleri eşleştirir ve ürün kodları, hata mesajları ve isimler gibi kesin terimler için mükemmeldir; anlamsal arama ise başka sözcüklerle ifade edilmiş cümleleri ve doğal soruları daha iyi ele alır ama kesin tanımlayıcıları kaçırabilir; bu yüzden birçok sistem ikisini hibrit aramada birleştirir. Anlamsal arama vektör veritabanıyla da aynı şey değildir: veritabanı bir depolama ve indeksleme aracıdır, anlamsal arama ise onu kullanan tekniktir.

Önemli noktalar

  • Anlamsal arama anlama göre eşleştirir; bu yüzden farklı ifadeler de doğru sonucu bulabilir.
  • Sorgular ve belgeler embedding olarak, genellikle kosinüs benzerliğiyle karşılaştırılır.
  • Sorguları ve belgeleri her zaman aynı modelle embedding'e çevirin.
  • Kesin terimler için anahtar kelime araması daha iyidir; hibrit arama ikisini birleştirir.
  • RAG sistemlerindeki olağan getirme adımıdır.

Örnek

Belgeleri anlama göre sıralamakpython
# embed() and cosine_similarity() are placeholders for an embedding model and a vector helper
docs = [
    "Ending your subscription",
    "Changing your profile picture",
    "Refund policy for annual plans",
]
doc_vectors = [embed(d) for d in docs]  # computed once and stored

query_vector = embed("how to cancel my plan")
scores = [cosine_similarity(query_vector, v) for v in doc_vectors]

# Rank documents by meaning, not by shared keywords
ranked = sorted(zip(scores, docs), reverse=True)
print(ranked[0][1])  # Ending your subscription

Sık sorulan sorular

Anlamsal arama ile anahtar kelime araması arasındaki fark nedir?

Anahtar kelime araması sorgunun sözcüklerini içeren belgeleri bulur; anlamsal arama ise farklı sözcükler kullansalar bile benzer anlama sahip belgeleri bulur. Anahtar kelime araması kesin isimler ve kodlar için daha iyidir; anlamsal arama doğal dildeki sorular için daha iyidir.

Hibrit arama nedir?

Hibrit arama, anahtar kelime aramasını ve anlamsal aramayı birlikte çalıştırır ve sonuçlarını tek bir sıralamada birleştirir. Birebir eşleşmenin kesinliğini, anlama göre eşleşmenin esnekliğiyle bir araya getirir.

Anlamsal arama için vektör veritabanına ihtiyacım var mı?

Her zaman değil. Küçük koleksiyonlar vektörleri doğrudan bellekte karşılaştırarak aranabilir ve birçok sıradan veritabanı vektör sütunlarını ve indekslerini destekler. Özel bir vektör veritabanı esas olarak çok büyük koleksiyonlarda veya katı gecikme gereksinimlerinde yardımcı olur.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar